From 8f62e0f952347900cc7bb18f9c532d9de353fbfa Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 8 Jul 2024 14:49:10 +0000 Subject: [PATCH 01/36] updated translation base --- .../InvenTree/locale/bg/LC_MESSAGES/django.po | 3592 ++++++++-------- .../InvenTree/locale/cs/LC_MESSAGES/django.po | 3684 ++++++++-------- .../InvenTree/locale/da/LC_MESSAGES/django.po | 3620 ++++++++-------- .../InvenTree/locale/de/LC_MESSAGES/django.po | 3712 ++++++++-------- .../InvenTree/locale/el/LC_MESSAGES/django.po | 3632 ++++++++-------- .../InvenTree/locale/en/LC_MESSAGES/django.po | 3589 ++++++++-------- .../InvenTree/locale/es/LC_MESSAGES/django.po | 3590 ++++++++-------- .../locale/es_MX/LC_MESSAGES/django.po | 3589 ++++++++-------- .../InvenTree/locale/fa/LC_MESSAGES/django.po | 3602 ++++++++-------- .../InvenTree/locale/fi/LC_MESSAGES/django.po | 3618 ++++++++-------- .../InvenTree/locale/fr/LC_MESSAGES/django.po | 3676 ++++++++-------- .../InvenTree/locale/he/LC_MESSAGES/django.po | 3602 ++++++++-------- .../InvenTree/locale/hi/LC_MESSAGES/django.po | 3590 ++++++++-------- .../InvenTree/locale/hu/LC_MESSAGES/django.po | 3715 +++++++++-------- .../InvenTree/locale/id/LC_MESSAGES/django.po | 3626 ++++++++-------- .../InvenTree/locale/it/LC_MESSAGES/django.po | 3684 ++++++++-------- .../InvenTree/locale/ja/LC_MESSAGES/django.po | 3632 ++++++++-------- .../InvenTree/locale/ko/LC_MESSAGES/django.po | 3590 ++++++++-------- .../InvenTree/locale/lv/LC_MESSAGES/django.po | 3590 ++++++++-------- .../InvenTree/locale/nl/LC_MESSAGES/django.po | 3670 ++++++++-------- .../InvenTree/locale/no/LC_MESSAGES/django.po | 3690 ++++++++-------- .../InvenTree/locale/pl/LC_MESSAGES/django.po | 3674 ++++++++-------- .../InvenTree/locale/pt/LC_MESSAGES/django.po | 3590 ++++++++-------- .../InvenTree/locale/ro/LC_MESSAGES/django.po | 3590 ++++++++-------- .../InvenTree/locale/ru/LC_MESSAGES/django.po | 3686 ++++++++-------- .../InvenTree/locale/sk/LC_MESSAGES/django.po | 3590 ++++++++-------- .../InvenTree/locale/sl/LC_MESSAGES/django.po | 3608 ++++++++-------- .../InvenTree/locale/sr/LC_MESSAGES/django.po | 3606 ++++++++-------- .../InvenTree/locale/sv/LC_MESSAGES/django.po | 3638 ++++++++-------- .../InvenTree/locale/th/LC_MESSAGES/django.po | 3596 ++++++++-------- .../InvenTree/locale/tr/LC_MESSAGES/django.po | 3658 ++++++++-------- .../InvenTree/locale/uk/LC_MESSAGES/django.po | 3590 ++++++++-------- .../InvenTree/locale/vi/LC_MESSAGES/django.po | 3696 ++++++++-------- .../InvenTree/locale/zh/LC_MESSAGES/django.po | 3590 ++++++++-------- .../locale/zh_Hans/LC_MESSAGES/django.po | 3625 +++++++++------- src/frontend/src/locales/bg/messages.po | 909 ++-- src/frontend/src/locales/cs/messages.po | 909 ++-- src/frontend/src/locales/da/messages.po | 909 ++-- src/frontend/src/locales/de/messages.po | 909 ++-- src/frontend/src/locales/el/messages.po | 909 ++-- src/frontend/src/locales/en/messages.po | 908 ++-- src/frontend/src/locales/es-mx/messages.po | 908 ++-- src/frontend/src/locales/es/messages.po | 909 ++-- src/frontend/src/locales/fa/messages.po | 909 ++-- src/frontend/src/locales/fi/messages.po | 909 ++-- src/frontend/src/locales/fr/messages.po | 909 ++-- src/frontend/src/locales/he/messages.po | 909 ++-- src/frontend/src/locales/hi/messages.po | 909 ++-- src/frontend/src/locales/hu/messages.po | 909 ++-- src/frontend/src/locales/it/messages.po | 909 ++-- src/frontend/src/locales/ja/messages.po | 909 ++-- src/frontend/src/locales/ko/messages.po | 909 ++-- src/frontend/src/locales/lv/messages.po | 909 ++-- src/frontend/src/locales/nl/messages.po | 909 ++-- src/frontend/src/locales/no/messages.po | 909 ++-- src/frontend/src/locales/pl/messages.po | 909 ++-- .../src/locales/pseudo-LOCALE/messages.po | 908 ++-- src/frontend/src/locales/pt-br/messages.po | 908 ++-- src/frontend/src/locales/pt/messages.po | 909 ++-- src/frontend/src/locales/ro/messages.po | 909 ++-- src/frontend/src/locales/ru/messages.po | 909 ++-- src/frontend/src/locales/sk/messages.po | 909 ++-- src/frontend/src/locales/sl/messages.po | 909 ++-- src/frontend/src/locales/sr/messages.po | 909 ++-- src/frontend/src/locales/sv/messages.po | 909 ++-- src/frontend/src/locales/th/messages.po | 909 ++-- src/frontend/src/locales/tr/messages.po | 909 ++-- src/frontend/src/locales/uk/messages.po | 909 ++-- src/frontend/src/locales/vi/messages.po | 909 ++-- src/frontend/src/locales/zh-hans/messages.po | 908 ++-- src/frontend/src/locales/zh-hant/messages.po | 908 ++-- 71 files changed, 89279 insertions(+), 70469 deletions(-) diff --git a/src/backend/InvenTree/locale/bg/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/bg/LC_MESSAGES/django.po index 1e7e30fb71e1..4e16cebc6743 100644 --- a/src/backend/InvenTree/locale/bg/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/bg/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-07-05 02:47+0000\n" +"POT-Creation-Date: 2024-07-08 14:46+0000\n" "PO-Revision-Date: 2024-07-05 14:57\n" "Last-Translator: \n" "Language-Team: Bulgarian\n" @@ -21,7 +21,7 @@ msgstr "" msgid "API endpoint not found" msgstr "Не е намерена крайна точка на API" -#: InvenTree/api.py:520 +#: InvenTree/api.py:505 msgid "User does not have permission to view this model" msgstr "Потребителя няма нужното разрешение, за да вижда този модел" @@ -56,21 +56,21 @@ msgstr "Подробности за грешката могат да се нам msgid "Enter date" msgstr "Въведи дата" -#: InvenTree/fields.py:205 InvenTree/models.py:918 build/serializers.py:452 -#: build/serializers.py:530 build/templates/build/sidebar.html:21 -#: company/models.py:817 company/templates/company/sidebar.html:37 +#: InvenTree/fields.py:205 InvenTree/models.py:921 build/serializers.py:456 +#: build/serializers.py:534 build/templates/build/sidebar.html:21 +#: company/models.py:824 company/templates/company/sidebar.html:37 #: order/models.py:1296 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:3183 part/templates/part/part_sidebar.html:63 +#: part/models.py:3193 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:230 stock/models.py:2344 stock/models.py:2466 -#: stock/serializers.py:632 stock/serializers.py:790 stock/serializers.py:886 -#: stock/serializers.py:936 stock/serializers.py:1239 stock/serializers.py:1328 -#: stock/serializers.py:1493 stock/templates/stock/stock_sidebar.html:25 +#: stock/admin.py:230 stock/models.py:2349 stock/models.py:2476 +#: stock/serializers.py:690 stock/serializers.py:848 stock/serializers.py:944 +#: stock/serializers.py:994 stock/serializers.py:1305 stock/serializers.py:1394 +#: stock/serializers.py:1559 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:1081 +#: templates/js/translated/part.js:1084 #: templates/js/translated/purchase_order.js:2200 #: templates/js/translated/return_order.js:775 #: templates/js/translated/sales_order.js:1103 @@ -371,41 +371,41 @@ msgstr "" msgid "JSON metadata field, for use by external plugins" msgstr "" -#: InvenTree/models.py:408 +#: InvenTree/models.py:411 msgid "Improperly formatted pattern" msgstr "" -#: InvenTree/models.py:415 +#: InvenTree/models.py:418 msgid "Unknown format key specified" msgstr "" -#: InvenTree/models.py:421 +#: InvenTree/models.py:424 msgid "Missing required format key" msgstr "" -#: InvenTree/models.py:432 +#: InvenTree/models.py:435 msgid "Reference field cannot be empty" msgstr "" -#: InvenTree/models.py:440 +#: InvenTree/models.py:443 msgid "Reference must match required pattern" msgstr "" -#: InvenTree/models.py:471 +#: InvenTree/models.py:474 msgid "Reference number is too large" msgstr "" -#: InvenTree/models.py:719 +#: InvenTree/models.py:722 msgid "Duplicate names cannot exist under the same parent" msgstr "" -#: InvenTree/models.py:736 +#: InvenTree/models.py:739 msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:766 common/models.py:2678 common/models.py:3103 -#: common/serializers.py:408 company/models.py:580 machine/models.py:24 -#: part/models.py:891 part/models.py:3639 plugin/models.py:51 +#: InvenTree/models.py:769 common/models.py:2659 common/models.py:3089 +#: common/serializers.py:412 company/models.py:587 machine/models.py:24 +#: part/models.py:895 part/models.py:3660 plugin/models.py:51 #: report/models.py:150 stock/models.py:74 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -417,20 +417,20 @@ msgstr "" #: templates/js/translated/company.js:724 #: templates/js/translated/company.js:913 #: templates/js/translated/company.js:1165 -#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1187 -#: templates/js/translated/part.js:1475 templates/js/translated/part.js:1611 -#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2716 +#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1190 +#: templates/js/translated/part.js:1478 templates/js/translated/part.js:1614 +#: templates/js/translated/part.js:2752 templates/js/translated/stock.js:2716 msgid "Name" msgstr "" -#: InvenTree/models.py:772 build/models.py:235 -#: build/templates/build/detail.html:24 common/models.py:138 -#: company/models.py:509 company/models.py:808 +#: InvenTree/models.py:775 build/models.py:242 +#: build/templates/build/detail.html:24 common/models.py:143 +#: company/models.py:515 company/models.py:815 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 -#: order/models.py:1329 part/admin.py:305 part/admin.py:408 part/models.py:914 -#: part/models.py:3654 part/templates/part/category.html:82 +#: order/models.py:1329 part/admin.py:305 part/admin.py:408 part/models.py:918 +#: part/models.py:3675 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:156 #: report/models.py:510 report/models.py:536 @@ -444,10 +444,10 @@ msgstr "" #: templates/js/translated/build.js:2139 templates/js/translated/company.js:519 #: templates/js/translated/company.js:1330 #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 -#: templates/js/translated/order.js:298 templates/js/translated/part.js:1239 -#: templates/js/translated/part.js:1484 templates/js/translated/part.js:1622 -#: templates/js/translated/part.js:1959 templates/js/translated/part.js:2355 -#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2897 +#: templates/js/translated/order.js:298 templates/js/translated/part.js:1242 +#: templates/js/translated/part.js:1487 templates/js/translated/part.js:1625 +#: templates/js/translated/part.js:1962 templates/js/translated/part.js:2358 +#: templates/js/translated/part.js:2788 templates/js/translated/part.js:2900 #: templates/js/translated/plugin.js:80 #: templates/js/translated/purchase_order.js:1706 #: templates/js/translated/purchase_order.js:1849 @@ -460,53 +460,53 @@ msgstr "" msgid "Description" msgstr "" -#: InvenTree/models.py:773 stock/models.py:81 +#: InvenTree/models.py:776 stock/models.py:81 msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:788 templates/js/translated/part.js:2794 +#: InvenTree/models.py:791 templates/js/translated/part.js:2797 #: templates/js/translated/stock.js:2757 msgid "Path" msgstr "" -#: InvenTree/models.py:918 +#: InvenTree/models.py:921 msgid "Markdown notes (optional)" msgstr "" -#: InvenTree/models.py:947 +#: InvenTree/models.py:950 msgid "Barcode Data" msgstr "" -#: InvenTree/models.py:948 +#: InvenTree/models.py:951 msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:954 +#: InvenTree/models.py:957 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:955 +#: InvenTree/models.py:958 msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:1008 +#: InvenTree/models.py:1011 msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:1051 +#: InvenTree/models.py:1054 msgid "Server Error" msgstr "" -#: InvenTree/models.py:1052 +#: InvenTree/models.py:1055 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:63 part/models.py:4192 +#: InvenTree/serializers.py:63 part/models.py:4277 msgid "Must be a valid number" msgstr "" #: InvenTree/serializers.py:100 company/models.py:186 -#: company/templates/company/company_base.html:112 part/models.py:3001 +#: company/templates/company/company_base.html:112 part/models.py:3011 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -556,16 +556,16 @@ msgstr "" msgid "Is this user a superuser" msgstr "" -#: InvenTree/serializers.py:445 common/models.py:2683 company/models.py:163 -#: company/models.py:782 machine/models.py:39 part/admin.py:88 -#: part/models.py:1081 plugin/models.py:66 +#: InvenTree/serializers.py:445 common/models.py:2664 company/models.py:163 +#: company/models.py:789 machine/models.py:39 part/admin.py:88 +#: part/models.py:1085 plugin/models.py:66 #: 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 #: templates/js/translated/table_filters.js:520 #: templates/js/translated/table_filters.js:716 -#: templates/js/translated/table_filters.js:796 users/models.py:182 +#: templates/js/translated/table_filters.js:801 users/models.py:182 msgid "Active" msgstr "" @@ -597,7 +597,7 @@ msgstr "" msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:581 +#: InvenTree/serializers.py:581 importer/models.py:60 msgid "Data File" msgstr "" @@ -651,7 +651,7 @@ msgstr "" msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/status.py:66 part/serializers.py:1174 +#: InvenTree/status.py:66 part/serializers.py:1202 msgid "Background worker check failed" msgstr "" @@ -711,47 +711,48 @@ msgstr "" msgid "About InvenTree" msgstr "" -#: build/api.py:255 +#: build/api.py:248 msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:299 part/models.py:4070 templates/js/translated/bom.js:997 -#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 +#: build/api.py:292 build/serializers.py:1190 part/models.py:4155 +#: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 +#: templates/js/translated/build.js:2521 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:300 part/models.py:4064 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 +#: build/api.py:293 build/serializers.py:1191 part/models.py:4149 +#: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 +#: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2530 #: templates/js/translated/table_filters.js:186 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:587 msgid "Optional" msgstr "" -#: build/api.py:301 templates/js/translated/table_filters.js:408 +#: build/api.py:294 templates/js/translated/table_filters.js:408 #: templates/js/translated/table_filters.js:579 msgid "Tracked" msgstr "" -#: build/api.py:303 part/admin.py:144 templates/js/translated/build.js:1744 -#: templates/js/translated/build.js:2629 +#: build/api.py:296 part/admin.py:144 templates/js/translated/build.js:1744 +#: templates/js/translated/build.js:2630 #: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:571 msgid "Allocated" msgstr "" -#: build/api.py:311 company/models.py:872 company/serializers.py:359 +#: build/api.py:304 company/models.py:879 company/serializers.py:386 #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2561 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2562 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:234 -#: templates/js/translated/part.js:693 templates/js/translated/part.js:695 -#: templates/js/translated/part.js:700 +#: 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 #: templates/js/translated/table_filters.js:575 msgid "Available" @@ -760,7 +761,7 @@ msgstr "" #: build/models.py:85 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 -#: stock/serializers.py:82 templates/email/build_order_completed.html:16 +#: stock/serializers.py:84 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:2892 msgid "Build Order" @@ -781,35 +782,39 @@ msgstr "" msgid "Assembly BOM has not been validated" msgstr "" -#: build/models.py:134 part/templates/part/part_base.html:145 -msgid "Part is not active" +#: build/models.py:134 +msgid "Build order cannot be created for an inactive part" +msgstr "" + +#: build/models.py:141 +msgid "Build order cannot be created for an unlocked part" msgstr "" -#: build/models.py:148 +#: build/models.py:155 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:159 order/models.py:240 +#: build/models.py:166 order/models.py:240 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:165 +#: build/models.py:172 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:226 +#: build/models.py:233 msgid "Build Order Reference" msgstr "" -#: build/models.py:227 order/models.py:463 order/models.py:926 -#: order/models.py:1289 order/models.py:2020 part/admin.py:411 -#: part/models.py:4085 part/templates/part/upload_bom.html:54 +#: build/models.py:234 build/serializers.py:1189 order/models.py:463 +#: order/models.py:926 order/models.py:1289 order/models.py:2046 +#: part/admin.py:411 part/models.py:4170 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: 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/build.js:2513 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2065 #: templates/js/translated/return_order.js:728 @@ -817,27 +822,28 @@ msgstr "" msgid "Reference" msgstr "" -#: build/models.py:238 +#: build/models.py:245 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:246 build/templates/build/build_base.html:183 +#: build/models.py:253 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/models.py:247 +#: build/models.py:254 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:252 build/templates/build/build_base.html:97 -#: build/templates/build/detail.html:29 company/models.py:1026 order/api.py:805 -#: order/models.py:1414 order/models.py:1559 order/models.py:1560 -#: part/api.py:1494 part/api.py:1788 part/models.py:395 part/models.py:3012 -#: part/models.py:3156 part/models.py:3303 part/models.py:3324 -#: part/models.py:3346 part/models.py:3477 part/models.py:3787 -#: part/models.py:3943 part/models.py:4036 part/models.py:4395 -#: part/serializers.py:1120 part/serializers.py:1726 +#: build/models.py:259 build/serializers.py:1184 +#: build/templates/build/build_base.html:97 +#: build/templates/build/detail.html:29 company/models.py:1034 order/api.py:759 +#: order/models.py:1419 order/models.py:1574 order/models.py:1575 +#: part/api.py:1480 part/api.py:1776 part/models.py:396 part/models.py:3022 +#: part/models.py:3166 part/models.py:3314 part/models.py:3335 +#: part/models.py:3357 part/models.py:3493 part/models.py:3827 +#: part/models.py:3990 part/models.py:4121 part/models.py:4480 +#: part/serializers.py:1148 part/serializers.py:1758 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -848,8 +854,8 @@ msgstr "" #: 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:109 stock/serializers.py:157 stock/serializers.py:423 -#: stock/serializers.py:820 templates/InvenTree/search.html:82 +#: stock/serializers.py:111 stock/serializers.py:159 stock/serializers.py:443 +#: stock/serializers.py:878 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 @@ -862,8 +868,8 @@ msgstr "" #: templates/js/translated/company.js:1116 #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 -#: templates/js/translated/part.js:1944 templates/js/translated/part.js:2016 -#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:1947 templates/js/translated/part.js:2019 +#: templates/js/translated/part.js:2327 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:1848 @@ -881,107 +887,107 @@ msgstr "" msgid "Part" msgstr "Част" -#: build/models.py:260 +#: build/models.py:267 msgid "Select part to build" msgstr "" -#: build/models.py:265 +#: build/models.py:272 msgid "Sales Order Reference" msgstr "" -#: build/models.py:269 +#: build/models.py:276 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:274 build/serializers.py:999 +#: build/models.py:281 build/serializers.py:1003 #: templates/js/translated/build.js:1731 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "" -#: build/models.py:278 +#: build/models.py:285 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:283 +#: build/models.py:290 msgid "Destination Location" msgstr "" -#: build/models.py:287 +#: build/models.py:294 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:291 +#: build/models.py:298 msgid "Build Quantity" msgstr "" -#: build/models.py:294 +#: build/models.py:301 msgid "Number of stock items to build" msgstr "" -#: build/models.py:298 +#: build/models.py:305 msgid "Completed items" msgstr "" -#: build/models.py:300 +#: build/models.py:307 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:304 +#: build/models.py:311 msgid "Build Status" msgstr "" -#: build/models.py:308 +#: build/models.py:315 msgid "Build status code" msgstr "" -#: build/models.py:317 build/serializers.py:286 order/serializers.py:580 -#: stock/models.py:839 stock/serializers.py:74 stock/serializers.py:1458 +#: build/models.py:324 build/serializers.py:290 order/serializers.py:629 +#: stock/models.py:839 stock/serializers.py:76 stock/serializers.py:1524 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "" -#: build/models.py:321 build/serializers.py:287 +#: build/models.py:328 build/serializers.py:291 msgid "Batch code for this build output" msgstr "" -#: build/models.py:324 order/models.py:316 order/serializers.py:119 -#: part/models.py:1115 part/templates/part/part_base.html:310 +#: build/models.py:331 order/models.py:316 order/serializers.py:127 +#: part/models.py:1125 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:328 +#: build/models.py:335 msgid "Target completion date" msgstr "" -#: build/models.py:329 +#: build/models.py:336 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:332 order/models.py:521 order/models.py:2065 +#: build/models.py:339 order/models.py:521 order/models.py:2091 #: templates/js/translated/build.js:2247 msgid "Completion Date" msgstr "" -#: build/models.py:338 +#: build/models.py:345 msgid "completed by" msgstr "" -#: build/models.py:346 templates/js/translated/build.js:2207 +#: build/models.py:353 templates/js/translated/build.js:2207 msgid "Issued by" msgstr "" -#: build/models.py:347 +#: build/models.py:354 msgid "User who issued this build order" msgstr "" -#: build/models.py:355 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 common/models.py:147 +#: build/models.py:362 build/templates/build/build_base.html:204 +#: build/templates/build/detail.html:122 common/models.py:152 #: order/models.py:334 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:232 part/models.py:1132 +#: order/templates/order/sales_order_base.html:232 part/models.py:1142 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 @@ -992,11 +998,11 @@ msgstr "" msgid "Responsible" msgstr "" -#: build/models.py:356 +#: build/models.py:363 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:361 build/templates/build/detail.html:108 +#: build/models.py:368 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 @@ -1008,21 +1014,22 @@ msgstr "" msgid "External Link" msgstr "" -#: build/models.py:362 common/models.py:3244 part/models.py:956 +#: build/models.py:369 common/models.py:3230 part/models.py:960 #: stock/models.py:835 msgid "Link to external URL" msgstr "" -#: build/models.py:366 +#: build/models.py:373 msgid "Build Priority" msgstr "" -#: build/models.py:369 +#: build/models.py:376 msgid "Priority of this build order" msgstr "" -#: build/models.py:376 common/models.py:131 order/admin.py:18 -#: order/models.py:298 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:383 common/models.py:122 common/models.py:136 +#: order/admin.py:18 order/models.py:298 order/serializers.py:108 +#: templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 #: templates/js/translated/purchase_order.js:1710 #: templates/js/translated/return_order.js:317 @@ -1032,65 +1039,66 @@ msgstr "" msgid "Project Code" msgstr "" -#: build/models.py:377 +#: build/models.py:384 msgid "Project code for this build order" msgstr "" -#: build/models.py:610 build/models.py:675 +#: build/models.py:617 build/models.py:682 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:632 +#: build/models.py:639 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:638 +#: build/models.py:645 msgid "A build order has been completed" msgstr "" -#: build/models.py:864 build/models.py:949 +#: build/models.py:871 build/models.py:956 msgid "No build output specified" msgstr "" -#: build/models.py:867 +#: build/models.py:874 msgid "Build output is already completed" msgstr "" -#: build/models.py:870 +#: build/models.py:877 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:953 build/serializers.py:219 build/serializers.py:268 -#: build/serializers.py:866 order/models.py:559 order/serializers.py:432 -#: order/serializers.py:575 part/serializers.py:1484 part/serializers.py:1884 -#: stock/models.py:678 stock/models.py:1496 stock/serializers.py:603 +#: build/models.py:960 build/serializers.py:223 build/serializers.py:272 +#: build/serializers.py:870 order/models.py:559 order/serializers.py:461 +#: order/serializers.py:624 part/serializers.py:1515 part/serializers.py:1921 +#: stock/models.py:678 stock/models.py:1496 stock/serializers.py:661 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:958 build/serializers.py:224 +#: build/models.py:965 build/serializers.py:228 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1018 build/serializers.py:547 +#: build/models.py:1025 build/serializers.py:551 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1359 +#: build/models.py:1366 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1384 +#: build/models.py:1391 msgid "Build object" msgstr "" -#: build/models.py:1398 build/models.py:1654 build/serializers.py:206 -#: build/serializers.py:253 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2563 -#: order/models.py:1272 order/models.py:1931 order/serializers.py:1327 +#: build/models.py:1405 build/models.py:1661 build/serializers.py:210 +#: build/serializers.py:257 build/serializers.py:1194 +#: build/templates/build/build_base.html:102 +#: build/templates/build/detail.html:34 common/models.py:2544 +#: order/models.py:1272 order/models.py:1957 order/serializers.py:1383 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:410 -#: part/forms.py:48 part/models.py:3170 part/models.py:4058 +#: part/forms.py:48 part/models.py:3180 part/models.py:4143 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1100,7 +1108,7 @@ msgstr "" #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:169 stock/admin.py:159 -#: stock/serializers.py:125 stock/serializers.py:165 stock/serializers.py:594 +#: stock/serializers.py:127 stock/serializers.py:167 stock/serializers.py:652 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 @@ -1111,8 +1119,8 @@ msgstr "" #: templates/js/translated/build.js:1746 templates/js/translated/build.js:2357 #: templates/js/translated/company.js:1818 #: templates/js/translated/model_renderers.js:236 -#: templates/js/translated/order.js:304 templates/js/translated/part.js:962 -#: templates/js/translated/part.js:1812 templates/js/translated/part.js:3342 +#: templates/js/translated/order.js:304 templates/js/translated/part.js:965 +#: templates/js/translated/part.js:1815 templates/js/translated/part.js:3345 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 @@ -1132,38 +1140,38 @@ msgstr "" msgid "Quantity" msgstr "" -#: build/models.py:1399 +#: build/models.py:1406 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1479 +#: build/models.py:1486 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1488 +#: build/models.py:1495 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1498 order/models.py:1882 +#: build/models.py:1505 order/models.py:1908 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1504 order/models.py:1885 +#: build/models.py:1511 order/models.py:1911 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1510 +#: build/models.py:1517 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1569 +#: build/models.py:1576 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1641 build/serializers.py:846 order/serializers.py:1171 -#: order/serializers.py:1192 stock/models.py:359 stock/serializers.py:91 -#: stock/serializers.py:697 stock/serializers.py:1177 stock/serializers.py:1289 +#: build/models.py:1648 build/serializers.py:850 order/serializers.py:1227 +#: order/serializers.py:1248 stock/models.py:359 stock/serializers.py:93 +#: stock/serializers.py:755 stock/serializers.py:1243 stock/serializers.py:1355 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 @@ -1179,70 +1187,76 @@ msgstr "" msgid "Stock Item" msgstr "" -#: build/models.py:1642 +#: build/models.py:1649 msgid "Source stock item" msgstr "" -#: build/models.py:1655 +#: build/models.py:1662 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1663 +#: build/models.py:1670 msgid "Install into" msgstr "" -#: build/models.py:1664 +#: build/models.py:1671 msgid "Destination stock item" msgstr "" -#: build/serializers.py:156 build/serializers.py:875 +#: build/serializers.py:89 build/serializers.py:1185 part/admin.py:41 +#: part/admin.py:405 part/models.py:3992 part/stocktake.py:220 +#: stock/admin.py:156 +msgid "Part Name" +msgstr "" + +#: build/serializers.py:160 build/serializers.py:879 #: templates/js/translated/build.js:1322 msgid "Build Output" msgstr "" -#: build/serializers.py:168 +#: build/serializers.py:172 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:172 +#: build/serializers.py:176 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:176 +#: build/serializers.py:180 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:187 +#: build/serializers.py:191 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:207 build/serializers.py:254 +#: build/serializers.py:211 build/serializers.py:258 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:275 +#: build/serializers.py:279 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:278 +#: build/serializers.py:282 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:293 order/serializers.py:588 order/serializers.py:1331 -#: stock/serializers.py:614 templates/js/translated/purchase_order.js:1153 +#: build/serializers.py:297 order/serializers.py:637 order/serializers.py:1387 +#: stock/serializers.py:672 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:294 +#: build/serializers.py:298 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:299 build/serializers.py:440 build/serializers.py:512 -#: order/serializers.py:564 order/serializers.py:672 order/serializers.py:1656 -#: part/serializers.py:1140 stock/serializers.py:100 stock/serializers.py:625 -#: stock/serializers.py:785 stock/serializers.py:881 stock/serializers.py:1321 -#: stock/serializers.py:1577 stock/templates/stock/item_base.html:394 +#: build/serializers.py:303 build/serializers.py:444 build/serializers.py:516 +#: order/serializers.py:613 order/serializers.py:721 order/serializers.py:1714 +#: part/serializers.py:1168 stock/serializers.py:102 stock/serializers.py:683 +#: stock/serializers.py:843 stock/serializers.py:939 stock/serializers.py:1387 +#: stock/serializers.py:1643 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 @@ -1258,54 +1272,54 @@ msgstr "" msgid "Location" msgstr "" -#: build/serializers.py:300 +#: build/serializers.py:304 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:314 +#: build/serializers.py:318 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:315 +#: build/serializers.py:319 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:330 +#: build/serializers.py:334 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:355 stock/api.py:1041 +#: build/serializers.py:359 stock/api.py:1033 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:402 build/serializers.py:464 build/serializers.py:553 +#: build/serializers.py:406 build/serializers.py:468 build/serializers.py:557 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:441 +#: build/serializers.py:445 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:447 +#: build/serializers.py:451 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:448 +#: build/serializers.py:452 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:453 +#: build/serializers.py:457 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:513 +#: build/serializers.py:517 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:519 build/templates/build/build_base.html:151 +#: build/serializers.py:523 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:950 -#: order/models.py:2044 order/serializers.py:596 stock/admin.py:164 -#: stock/serializers.py:932 stock/serializers.py:1465 +#: order/models.py:2070 order/serializers.py:645 stock/admin.py:164 +#: stock/serializers.py:990 stock/serializers.py:1531 #: 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 @@ -1317,193 +1331,243 @@ msgstr "" msgid "Status" msgstr "" -#: build/serializers.py:525 +#: build/serializers.py:529 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:526 +#: build/serializers.py:530 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:611 +#: build/serializers.py:615 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:612 +#: build/serializers.py:616 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:618 +#: build/serializers.py:622 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:619 +#: build/serializers.py:623 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:646 +#: build/serializers.py:650 msgid "Not permitted" msgstr "" -#: build/serializers.py:647 +#: build/serializers.py:651 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:648 +#: build/serializers.py:652 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:678 +#: build/serializers.py:682 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:680 +#: build/serializers.py:684 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:690 +#: build/serializers.py:694 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:695 +#: build/serializers.py:699 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:696 +#: build/serializers.py:700 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:706 templates/js/translated/build.js:315 +#: build/serializers.py:710 templates/js/translated/build.js:315 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:711 order/serializers.py:300 order/serializers.py:1234 +#: build/serializers.py:715 order/serializers.py:319 order/serializers.py:1290 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:712 +#: build/serializers.py:716 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:722 templates/js/translated/build.js:319 +#: build/serializers.py:726 templates/js/translated/build.js:319 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:731 templates/js/translated/build.js:303 +#: build/serializers.py:735 templates/js/translated/build.js:303 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:769 +#: build/serializers.py:773 msgid "Build Line" msgstr "" -#: build/serializers.py:779 +#: build/serializers.py:783 msgid "Build output" msgstr "" -#: build/serializers.py:787 +#: build/serializers.py:791 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:823 +#: build/serializers.py:827 msgid "Build Line Item" msgstr "" -#: build/serializers.py:837 +#: build/serializers.py:841 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:852 stock/serializers.py:1190 +#: build/serializers.py:856 stock/serializers.py:1256 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:900 order/serializers.py:1225 +#: build/serializers.py:904 order/serializers.py:1281 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:906 +#: build/serializers.py:910 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:913 +#: build/serializers.py:917 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:937 order/serializers.py:1477 +#: build/serializers.py:941 order/serializers.py:1533 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:1000 +#: build/serializers.py:1004 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:1008 +#: build/serializers.py:1012 msgid "Exclude Location" msgstr "" -#: build/serializers.py:1009 +#: build/serializers.py:1013 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:1014 +#: build/serializers.py:1018 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:1015 +#: build/serializers.py:1019 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:1020 +#: build/serializers.py:1024 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:1021 +#: build/serializers.py:1025 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:1026 +#: build/serializers.py:1030 msgid "Optional Items" msgstr "" -#: build/serializers.py:1027 +#: build/serializers.py:1031 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1049 +#: build/serializers.py:1053 msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1139 part/models.py:3953 part/models.py:4387 -#: stock/api.py:804 +#: build/serializers.py:1095 +msgid "Supplier Part Number" +msgstr "" + +#: build/serializers.py:1096 company/models.py:500 +msgid "Manufacturer Part Number" +msgstr "" + +#: build/serializers.py:1097 stock/admin.py:53 stock/admin.py:175 +#: stock/serializers.py:454 +msgid "Location Name" +msgstr "" + +#: build/serializers.py:1098 +msgid "Build Reference" +msgstr "" + +#: build/serializers.py:1099 +msgid "BOM Reference" +msgstr "" + +#: build/serializers.py:1186 part/admin.py:402 part/models.py:3993 +msgid "Part IPN" +msgstr "" + +#: build/serializers.py:1192 common/models.py:1488 part/admin.py:113 +#: part/models.py:1068 templates/js/translated/table_filters.js:147 +#: templates/js/translated/table_filters.js:223 +#: templates/js/translated/table_filters.js:776 +msgid "Trackable" +msgstr "" + +#: build/serializers.py:1196 part/models.py:4000 part/models.py:4472 +#: stock/api.py:796 msgid "BOM Item" msgstr "" -#: build/serializers.py:1148 templates/js/translated/index.js:130 +#: build/serializers.py:1205 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1153 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:828 part/serializers.py:1502 +#: build/serializers.py:1210 part/admin.py:132 part/bom.py:173 +#: part/serializers.py:856 part/serializers.py:1533 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2613 templates/js/translated/part.js:710 -#: templates/js/translated/part.js:2149 +#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709 +#: templates/js/translated/part.js:2152 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "" -#: build/serializers.py:1158 part/serializers.py:1504 -#: templates/js/translated/build.js:2617 +#: build/serializers.py:1215 part/serializers.py:1535 +#: templates/js/translated/build.js:2618 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1163 part/bom.py:172 part/serializers.py:1527 +#: build/serializers.py:1220 part/bom.py:172 part/serializers.py:1558 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" msgstr "" +#: build/serializers.py:1224 +msgid "Available Substitute Stock" +msgstr "" + +#: build/serializers.py:1225 +msgid "Available Variant Stock" +msgstr "" + +#: build/serializers.py:1226 +#, fuzzy +#| msgid "Total Stock" +msgid "Total Available Stock" +msgstr "Цялостна наличност" + +#: build/serializers.py:1227 part/serializers.py:862 +msgid "External Stock" +msgstr "" + #: build/status_codes.py:11 generic/states/tests.py:17 order/status_codes.py:12 #: order/status_codes.py:37 order/status_codes.py:64 order/status_codes.py:82 #: templates/js/translated/table_filters.js:598 @@ -1519,7 +1583,8 @@ msgstr "" msgid "Cancelled" msgstr "" -#: build/status_codes.py:14 generic/states/tests.py:19 order/status_codes.py:14 +#: build/status_codes.py:14 generic/states/tests.py:19 importer/models.py:468 +#: importer/status_codes.py:19 order/status_codes.py:14 #: order/status_codes.py:44 order/status_codes.py:69 #: order/templates/order/order_base.html:158 #: order/templates/order/sales_order_base.html:165 report/models.py:444 @@ -1652,11 +1717,12 @@ msgstr "" #: build/templates/build/build_base.html:160 #: build/templates/build/detail.html:138 order/models.py:309 -#: order/models.py:1307 order/templates/order/order_base.html:186 +#: order/models.py:1307 order/serializers.py:174 +#: order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: 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:1831 +#: templates/js/translated/build.js:2239 templates/js/translated/part.js:1834 #: templates/js/translated/purchase_order.js:1739 #: templates/js/translated/purchase_order.js:2147 #: templates/js/translated/return_order.js:346 @@ -1689,8 +1755,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1463 order/models.py:845 -#: order/models.py:1551 order/models.py:1665 order/models.py:1819 +#: build/templates/build/detail.html:101 order/api.py:1384 order/models.py:845 +#: order/models.py:1566 order/models.py:1681 order/models.py:1840 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 @@ -1740,7 +1806,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1443 +#: build/templates/build/detail.html:49 order/models.py:1448 #: templates/js/translated/purchase_order.js:2189 msgid "Destination" msgstr "" @@ -1892,31 +1958,31 @@ msgstr "" msgid "Incomplete Outputs" msgstr "" -#: common/api.py:689 +#: common/api.py:690 msgid "Is Link" msgstr "" -#: common/api.py:697 +#: common/api.py:698 msgid "Is File" msgstr "" -#: common/api.py:739 +#: common/api.py:740 msgid "User does not have permission to delete this attachment" msgstr "" -#: common/currency.py:130 +#: common/currency.py:132 msgid "Invalid currency code" msgstr "" -#: common/currency.py:132 +#: common/currency.py:134 msgid "Duplicate currency code" msgstr "" -#: common/currency.py:137 +#: common/currency.py:139 msgid "No valid currency codes provided" msgstr "" -#: common/currency.py:154 +#: common/currency.py:156 msgid "No plugin" msgstr "" @@ -1970,1635 +2036,1604 @@ msgstr "" msgid "Site URL is locked by configuration" msgstr "" -#: common/models.py:132 +#: common/models.py:137 msgid "Unique project code" msgstr "" -#: common/models.py:139 +#: common/models.py:144 msgid "Project description" msgstr "" -#: common/models.py:148 +#: common/models.py:153 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:765 +#: common/models.py:770 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:769 +#: common/models.py:774 msgid "Settings value" msgstr "" -#: common/models.py:821 +#: common/models.py:826 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:837 +#: common/models.py:842 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:845 +#: common/models.py:850 msgid "Value must be an integer value" msgstr "" -#: common/models.py:882 +#: common/models.py:887 msgid "Key string must be unique" msgstr "" -#: common/models.py:1114 +#: common/models.py:1119 msgid "No group" msgstr "" -#: common/models.py:1213 +#: common/models.py:1218 msgid "Restart required" msgstr "" -#: common/models.py:1215 +#: common/models.py:1220 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:1222 +#: common/models.py:1227 msgid "Pending migrations" msgstr "" -#: common/models.py:1223 +#: common/models.py:1228 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1228 +#: common/models.py:1233 msgid "Server Instance Name" msgstr "" -#: common/models.py:1230 +#: common/models.py:1235 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1234 +#: common/models.py:1239 msgid "Use instance name" msgstr "" -#: common/models.py:1235 +#: common/models.py:1240 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1240 +#: common/models.py:1245 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1241 +#: common/models.py:1246 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1246 company/models.py:111 company/models.py:112 +#: common/models.py:1251 company/models.py:111 company/models.py:112 msgid "Company name" msgstr "" -#: common/models.py:1247 +#: common/models.py:1252 msgid "Internal company name" msgstr "" -#: common/models.py:1251 +#: common/models.py:1256 msgid "Base URL" msgstr "" -#: common/models.py:1252 +#: common/models.py:1257 msgid "Base URL for server instance" msgstr "" -#: common/models.py:1258 +#: common/models.py:1263 msgid "Default Currency" msgstr "" -#: common/models.py:1259 +#: common/models.py:1264 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1265 +#: common/models.py:1270 msgid "Supported Currencies" msgstr "" -#: common/models.py:1266 +#: common/models.py:1271 msgid "List of supported currency codes" msgstr "" -#: common/models.py:1272 +#: common/models.py:1277 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1274 +#: common/models.py:1279 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1277 common/models.py:1333 common/models.py:1346 -#: common/models.py:1354 common/models.py:1363 common/models.py:1372 -#: common/models.py:1596 common/models.py:1618 common/models.py:1733 -#: common/models.py:2100 +#: common/models.py:1282 common/models.py:1338 common/models.py:1351 +#: common/models.py:1359 common/models.py:1368 common/models.py:1377 +#: common/models.py:1601 common/models.py:1623 common/models.py:1738 +#: common/models.py:2111 msgid "days" msgstr "" -#: common/models.py:1281 +#: common/models.py:1286 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1282 +#: common/models.py:1287 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1287 +#: common/models.py:1292 msgid "Download from URL" msgstr "" -#: common/models.py:1289 +#: common/models.py:1294 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:1295 +#: common/models.py:1300 msgid "Download Size Limit" msgstr "" -#: common/models.py:1296 +#: common/models.py:1301 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1302 +#: common/models.py:1307 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1304 +#: common/models.py:1309 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/models.py:1309 +#: common/models.py:1314 msgid "Strict URL Validation" msgstr "" -#: common/models.py:1310 +#: common/models.py:1315 msgid "Require schema specification when validating URLs" msgstr "" -#: common/models.py:1315 +#: common/models.py:1320 msgid "Require confirm" msgstr "" -#: common/models.py:1316 +#: common/models.py:1321 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:1321 +#: common/models.py:1326 msgid "Tree Depth" msgstr "" -#: common/models.py:1323 +#: common/models.py:1328 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1329 +#: common/models.py:1334 msgid "Update Check Interval" msgstr "" -#: common/models.py:1330 +#: common/models.py:1335 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:1336 +#: common/models.py:1341 msgid "Automatic Backup" msgstr "" -#: common/models.py:1337 +#: common/models.py:1342 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:1342 +#: common/models.py:1347 msgid "Auto Backup Interval" msgstr "" -#: common/models.py:1343 +#: common/models.py:1348 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1349 +#: common/models.py:1354 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1351 +#: common/models.py:1356 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1358 +#: common/models.py:1363 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1360 +#: common/models.py:1365 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1367 +#: common/models.py:1372 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1369 +#: common/models.py:1374 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1376 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1381 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "" -#: common/models.py:1377 +#: common/models.py:1382 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1382 +#: common/models.py:1387 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1383 +#: common/models.py:1388 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1389 +#: common/models.py:1394 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1390 +#: common/models.py:1395 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1395 +#: common/models.py:1400 msgid "Barcode Show Data" msgstr "" -#: common/models.py:1396 +#: common/models.py:1401 msgid "Display barcode data in browser as text" msgstr "" -#: common/models.py:1401 +#: common/models.py:1406 msgid "Part Revisions" msgstr "" -#: common/models.py:1402 +#: common/models.py:1407 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1407 +#: common/models.py:1412 msgid "Allow Deletion from Assembly" msgstr "" -#: common/models.py:1408 +#: common/models.py:1413 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/models.py:1413 +#: common/models.py:1418 msgid "IPN Regex" msgstr "" -#: common/models.py:1414 +#: common/models.py:1419 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1417 +#: common/models.py:1422 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1418 +#: common/models.py:1423 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1423 +#: common/models.py:1428 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1424 +#: common/models.py:1429 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1429 +#: common/models.py:1434 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1430 +#: common/models.py:1435 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1435 +#: common/models.py:1440 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1436 +#: common/models.py:1441 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1441 +#: common/models.py:1446 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1442 +#: common/models.py:1447 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1447 +#: common/models.py:1452 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1448 +#: common/models.py:1453 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1453 part/admin.py:108 part/models.py:3795 +#: common/models.py:1458 part/admin.py:108 part/models.py:3835 #: report/models.py:294 report/models.py:361 report/serializers.py:90 -#: report/serializers.py:131 stock/serializers.py:227 +#: report/serializers.py:131 stock/serializers.py:232 #: templates/js/translated/table_filters.js:139 -#: templates/js/translated/table_filters.js:767 +#: templates/js/translated/table_filters.js:772 msgid "Template" msgstr "" -#: common/models.py:1454 +#: common/models.py:1459 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1459 part/admin.py:91 part/admin.py:425 part/models.py:1052 +#: common/models.py:1464 part/admin.py:91 part/admin.py:425 part/models.py:1056 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 -#: templates/js/translated/table_filters.js:721 +#: templates/js/translated/table_filters.js:726 msgid "Assembly" msgstr "" -#: common/models.py:1460 +#: common/models.py:1465 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1465 part/admin.py:95 part/models.py:1058 -#: templates/js/translated/table_filters.js:729 +#: common/models.py:1470 part/admin.py:95 part/models.py:1062 +#: templates/js/translated/table_filters.js:734 msgid "Component" msgstr "" -#: common/models.py:1466 +#: common/models.py:1471 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1471 part/admin.py:100 part/models.py:1070 +#: common/models.py:1476 part/admin.py:100 part/models.py:1074 msgid "Purchaseable" msgstr "" -#: common/models.py:1472 +#: common/models.py:1477 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1477 part/admin.py:104 part/models.py:1076 -#: templates/js/translated/table_filters.js:755 +#: common/models.py:1482 part/admin.py:104 part/models.py:1080 +#: templates/js/translated/table_filters.js:760 msgid "Salable" msgstr "" -#: common/models.py:1478 +#: common/models.py:1483 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1483 part/admin.py:113 part/models.py:1064 -#: 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:1484 +#: common/models.py:1489 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1489 part/admin.py:117 part/models.py:1086 +#: common/models.py:1494 part/admin.py:117 part/models.py:1096 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 -#: templates/js/translated/table_filters.js:775 +#: templates/js/translated/table_filters.js:780 msgid "Virtual" msgstr "" -#: common/models.py:1490 +#: common/models.py:1495 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1495 +#: common/models.py:1500 msgid "Show Import in Views" msgstr "" -#: common/models.py:1496 +#: common/models.py:1501 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1501 +#: common/models.py:1506 msgid "Show related parts" msgstr "" -#: common/models.py:1502 +#: common/models.py:1507 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1507 +#: common/models.py:1512 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1508 +#: common/models.py:1513 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1513 templates/js/translated/part.js:107 +#: common/models.py:1518 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1515 +#: common/models.py:1520 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1521 +#: common/models.py:1526 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1522 +#: common/models.py:1527 msgid "Format to display the part name" msgstr "" -#: common/models.py:1528 +#: common/models.py:1533 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1529 +#: common/models.py:1534 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1533 +#: common/models.py:1538 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1535 +#: common/models.py:1540 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1541 +#: common/models.py:1546 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1543 +#: common/models.py:1548 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1554 +#: common/models.py:1559 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1556 +#: common/models.py:1561 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1567 +#: common/models.py:1572 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1569 +#: common/models.py:1574 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1575 +#: common/models.py:1580 msgid "Purchase History Override" msgstr "" -#: common/models.py:1577 +#: common/models.py:1582 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1583 +#: common/models.py:1588 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1585 +#: common/models.py:1590 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1591 +#: common/models.py:1596 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1593 +#: common/models.py:1598 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1600 +#: common/models.py:1605 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1601 +#: common/models.py:1606 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1606 +#: common/models.py:1611 msgid "Active Variants Only" msgstr "" -#: common/models.py:1608 +#: common/models.py:1613 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1614 +#: common/models.py:1619 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1616 +#: common/models.py:1621 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1623 +#: common/models.py:1628 msgid "Internal Prices" msgstr "" -#: common/models.py:1624 +#: common/models.py:1629 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1629 +#: common/models.py:1634 msgid "Internal Price Override" msgstr "" -#: common/models.py:1631 +#: common/models.py:1636 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1637 +#: common/models.py:1642 msgid "Enable label printing" msgstr "" -#: common/models.py:1638 +#: common/models.py:1643 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1643 +#: common/models.py:1648 msgid "Label Image DPI" msgstr "" -#: common/models.py:1645 +#: common/models.py:1650 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1651 +#: common/models.py:1656 msgid "Enable Reports" msgstr "" -#: common/models.py:1652 +#: common/models.py:1657 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1657 templates/stats.html:25 +#: common/models.py:1662 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1658 +#: common/models.py:1663 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1663 +#: common/models.py:1668 msgid "Log Report Errors" msgstr "" -#: common/models.py:1664 +#: common/models.py:1669 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1669 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1674 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:302 msgid "Page Size" msgstr "" -#: common/models.py:1670 +#: common/models.py:1675 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1675 +#: common/models.py:1680 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1676 +#: common/models.py:1681 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1681 +#: common/models.py:1686 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1683 +#: common/models.py:1688 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1689 +#: common/models.py:1694 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1690 +#: common/models.py:1695 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1695 +#: common/models.py:1700 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1696 +#: common/models.py:1701 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1701 +#: common/models.py:1706 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1703 +#: common/models.py:1708 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1709 +#: common/models.py:1714 msgid "Batch Code Template" msgstr "" -#: common/models.py:1711 +#: common/models.py:1716 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1716 +#: common/models.py:1721 msgid "Stock Expiry" msgstr "" -#: common/models.py:1717 +#: common/models.py:1722 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1722 +#: common/models.py:1727 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1723 +#: common/models.py:1728 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1728 +#: common/models.py:1733 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1730 +#: common/models.py:1735 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1737 +#: common/models.py:1742 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1738 +#: common/models.py:1743 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1743 +#: common/models.py:1748 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1744 +#: common/models.py:1749 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1749 +#: common/models.py:1754 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1750 +#: common/models.py:1755 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1754 +#: common/models.py:1759 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1755 +#: common/models.py:1760 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1760 +#: common/models.py:1765 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1762 +#: common/models.py:1767 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1768 +#: common/models.py:1773 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1770 +#: common/models.py:1775 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1776 +#: common/models.py:1781 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1778 +#: common/models.py:1783 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1784 common/models.py:1826 common/models.py:1848 -#: common/models.py:1884 +#: common/models.py:1789 common/models.py:1837 common/models.py:1859 +#: common/models.py:1895 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1785 common/models.py:1827 common/models.py:1849 -#: common/models.py:1885 +#: common/models.py:1790 common/models.py:1838 common/models.py:1860 +#: common/models.py:1896 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1790 +#: common/models.py:1795 msgid "Require Active Part" msgstr "" -#: common/models.py:1791 +#: common/models.py:1796 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/models.py:1796 +#: common/models.py:1801 +msgid "Require Locked Part" +msgstr "" + +#: common/models.py:1802 +msgid "Prevent build order creation for unlocked parts" +msgstr "" + +#: common/models.py:1807 msgid "Require Valid BOM" msgstr "" -#: common/models.py:1798 +#: common/models.py:1809 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/models.py:1804 +#: common/models.py:1815 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1806 +#: common/models.py:1817 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1812 +#: common/models.py:1823 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1813 +#: common/models.py:1824 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1818 +#: common/models.py:1829 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1820 +#: common/models.py:1831 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1832 +#: common/models.py:1843 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1834 +#: common/models.py:1845 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1840 +#: common/models.py:1851 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1842 +#: common/models.py:1853 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1854 +#: common/models.py:1865 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1855 +#: common/models.py:1866 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1860 +#: common/models.py:1871 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1862 +#: common/models.py:1873 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1868 +#: common/models.py:1879 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1870 +#: common/models.py:1881 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1876 +#: common/models.py:1887 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1878 +#: common/models.py:1889 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1890 +#: common/models.py:1901 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1892 +#: common/models.py:1903 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1898 +#: common/models.py:1909 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1900 +#: common/models.py:1911 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1907 +#: common/models.py:1918 msgid "Enable password forgot" msgstr "" -#: common/models.py:1908 +#: common/models.py:1919 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1913 +#: common/models.py:1924 msgid "Enable registration" msgstr "" -#: common/models.py:1914 +#: common/models.py:1925 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1919 +#: common/models.py:1930 msgid "Enable SSO" msgstr "" -#: common/models.py:1920 +#: common/models.py:1931 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1925 +#: common/models.py:1936 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1927 +#: common/models.py:1938 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1933 +#: common/models.py:1944 msgid "Enable SSO group sync" msgstr "" -#: common/models.py:1935 +#: common/models.py:1946 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/models.py:1941 +#: common/models.py:1952 msgid "SSO group key" msgstr "" -#: common/models.py:1943 +#: common/models.py:1954 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/models.py:1949 +#: common/models.py:1960 msgid "SSO group map" msgstr "" -#: common/models.py:1951 +#: common/models.py:1962 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/models.py:1957 +#: common/models.py:1968 msgid "Remove groups outside of SSO" msgstr "" -#: common/models.py:1959 +#: common/models.py:1970 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/models.py:1965 +#: common/models.py:1976 msgid "Email required" msgstr "" -#: common/models.py:1966 +#: common/models.py:1977 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1971 +#: common/models.py:1982 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1973 +#: common/models.py:1984 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1979 +#: common/models.py:1990 msgid "Mail twice" msgstr "" -#: common/models.py:1980 +#: common/models.py:1991 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1985 +#: common/models.py:1996 msgid "Password twice" msgstr "" -#: common/models.py:1986 +#: common/models.py:1997 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1991 +#: common/models.py:2002 msgid "Allowed domains" msgstr "" -#: common/models.py:1993 +#: common/models.py:2004 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1999 +#: common/models.py:2010 msgid "Group on signup" msgstr "" -#: common/models.py:2001 +#: common/models.py:2012 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/models.py:2007 +#: common/models.py:2018 msgid "Enforce MFA" msgstr "" -#: common/models.py:2008 +#: common/models.py:2019 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:2013 +#: common/models.py:2024 msgid "Check plugins on startup" msgstr "" -#: common/models.py:2015 +#: common/models.py:2026 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:2023 +#: common/models.py:2034 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2024 +#: common/models.py:2035 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2030 +#: common/models.py:2041 msgid "Enable URL integration" msgstr "" -#: common/models.py:2031 +#: common/models.py:2042 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:2037 +#: common/models.py:2048 msgid "Enable navigation integration" msgstr "" -#: common/models.py:2038 +#: common/models.py:2049 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2044 +#: common/models.py:2055 msgid "Enable app integration" msgstr "" -#: common/models.py:2045 +#: common/models.py:2056 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2051 +#: common/models.py:2062 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2052 +#: common/models.py:2063 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2058 +#: common/models.py:2069 msgid "Enable event integration" msgstr "" -#: common/models.py:2059 +#: common/models.py:2070 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2065 +#: common/models.py:2076 msgid "Enable project codes" msgstr "" -#: common/models.py:2066 +#: common/models.py:2077 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2071 +#: common/models.py:2082 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2073 +#: common/models.py:2084 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2079 +#: common/models.py:2090 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2081 +#: common/models.py:2092 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2087 +#: common/models.py:2098 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2089 +#: common/models.py:2100 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2095 +#: common/models.py:2106 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2097 +#: common/models.py:2108 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2104 +#: common/models.py:2115 msgid "Display Users full names" msgstr "" -#: common/models.py:2105 +#: common/models.py:2116 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2110 +#: common/models.py:2121 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2111 +#: common/models.py:2122 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2123 common/models.py:2533 +#: common/models.py:2134 common/models.py:2514 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2166 +#: common/models.py:2177 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2168 +#: common/models.py:2179 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2174 +#: common/models.py:2185 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2175 +#: common/models.py:2186 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2180 +#: common/models.py:2191 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2181 +#: common/models.py:2192 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2186 +#: common/models.py:2197 msgid "Show latest parts" msgstr "" -#: common/models.py:2187 +#: common/models.py:2198 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2192 +#: common/models.py:2203 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2193 +#: common/models.py:2204 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2198 +#: common/models.py:2209 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2199 +#: common/models.py:2210 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2204 +#: common/models.py:2215 msgid "Show low stock" msgstr "" -#: common/models.py:2205 +#: common/models.py:2216 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2210 +#: common/models.py:2221 msgid "Show depleted stock" msgstr "" -#: common/models.py:2211 +#: common/models.py:2222 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2216 +#: common/models.py:2227 msgid "Show needed stock" msgstr "" -#: common/models.py:2217 +#: common/models.py:2228 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2222 +#: common/models.py:2233 msgid "Show expired stock" msgstr "" -#: common/models.py:2223 +#: common/models.py:2234 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2228 +#: common/models.py:2239 msgid "Show stale stock" msgstr "" -#: common/models.py:2229 +#: common/models.py:2240 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2234 +#: common/models.py:2245 msgid "Show pending builds" msgstr "" -#: common/models.py:2235 +#: common/models.py:2246 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2240 +#: common/models.py:2251 msgid "Show overdue builds" msgstr "" -#: common/models.py:2241 +#: common/models.py:2252 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2246 +#: common/models.py:2257 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2247 +#: common/models.py:2258 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2252 +#: common/models.py:2263 msgid "Show overdue POs" msgstr "" -#: common/models.py:2253 +#: common/models.py:2264 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2258 +#: common/models.py:2269 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2259 +#: common/models.py:2270 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2264 +#: common/models.py:2275 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2265 +#: common/models.py:2276 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2270 +#: common/models.py:2281 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2271 +#: common/models.py:2282 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2276 +#: common/models.py:2287 msgid "Show News" msgstr "" -#: common/models.py:2277 +#: common/models.py:2288 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2282 +#: common/models.py:2293 msgid "Inline label display" msgstr "" -#: common/models.py:2284 +#: common/models.py:2295 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2290 +#: common/models.py:2301 msgid "Default label printer" msgstr "" -#: common/models.py:2292 +#: common/models.py:2303 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2298 +#: common/models.py:2309 msgid "Inline report display" msgstr "" -#: common/models.py:2300 +#: common/models.py:2311 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2306 +#: common/models.py:2317 msgid "Search Parts" msgstr "" -#: common/models.py:2307 +#: common/models.py:2318 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2312 +#: common/models.py:2323 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2313 +#: common/models.py:2324 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2318 +#: common/models.py:2329 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2319 +#: common/models.py:2330 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2324 +#: common/models.py:2335 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2325 +#: common/models.py:2336 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2330 +#: common/models.py:2341 msgid "Search Categories" msgstr "" -#: common/models.py:2331 +#: common/models.py:2342 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2336 +#: common/models.py:2347 msgid "Search Stock" msgstr "" -#: common/models.py:2337 +#: common/models.py:2348 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2342 +#: common/models.py:2353 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2344 +#: common/models.py:2355 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2350 +#: common/models.py:2361 msgid "Search Locations" msgstr "" -#: common/models.py:2351 +#: common/models.py:2362 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2356 +#: common/models.py:2367 msgid "Search Companies" msgstr "" -#: common/models.py:2357 +#: common/models.py:2368 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2362 +#: common/models.py:2373 msgid "Search Build Orders" msgstr "" -#: common/models.py:2363 +#: common/models.py:2374 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2368 +#: common/models.py:2379 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2369 +#: common/models.py:2380 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2374 +#: common/models.py:2385 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2376 +#: common/models.py:2387 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2382 +#: common/models.py:2393 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2383 +#: common/models.py:2394 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2388 +#: common/models.py:2399 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2390 +#: common/models.py:2401 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2396 +#: common/models.py:2407 msgid "Search Return Orders" msgstr "" -#: common/models.py:2397 +#: common/models.py:2408 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2402 +#: common/models.py:2413 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2404 +#: common/models.py:2415 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2410 +#: common/models.py:2421 msgid "Search Preview Results" msgstr "" -#: common/models.py:2412 +#: common/models.py:2423 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2418 +#: common/models.py:2429 msgid "Regex Search" msgstr "" -#: common/models.py:2419 +#: common/models.py:2430 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2424 +#: common/models.py:2435 msgid "Whole Word Search" msgstr "" -#: common/models.py:2425 +#: common/models.py:2436 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2430 +#: common/models.py:2441 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2431 +#: common/models.py:2442 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2436 +#: common/models.py:2447 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2437 +#: common/models.py:2448 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2442 +#: common/models.py:2453 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2443 +#: common/models.py:2454 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2448 +#: common/models.py:2459 msgid "Date Format" msgstr "" -#: common/models.py:2449 +#: common/models.py:2460 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2462 part/templates/part/detail.html:41 +#: common/models.py:2473 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2463 +#: common/models.py:2474 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2468 part/templates/part/detail.html:62 +#: common/models.py:2479 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2470 +#: common/models.py:2481 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2476 +#: common/models.py:2487 msgid "Table String Length" msgstr "" -#: common/models.py:2478 +#: common/models.py:2489 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2484 -msgid "Default part label template" -msgstr "" - -#: common/models.py:2485 -msgid "The part label template to be automatically selected" -msgstr "" - -#: common/models.py:2490 -msgid "Default stock item template" -msgstr "" - -#: common/models.py:2492 -msgid "The stock item label template to be automatically selected" -msgstr "" - -#: common/models.py:2498 -msgid "Default stock location label template" -msgstr "" - -#: common/models.py:2500 -msgid "The stock location label template to be automatically selected" -msgstr "" - -#: common/models.py:2506 -msgid "Default build line label template" -msgstr "" - -#: common/models.py:2508 -msgid "The build line label template to be automatically selected" -msgstr "" - -#: common/models.py:2514 +#: common/models.py:2495 msgid "Receive error reports" msgstr "" -#: common/models.py:2515 +#: common/models.py:2496 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2520 +#: common/models.py:2501 msgid "Last used printing machines" msgstr "" -#: common/models.py:2521 +#: common/models.py:2502 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2541 common/models.py:2542 common/models.py:2691 -#: common/models.py:2692 common/models.py:2937 common/models.py:2938 -#: common/models.py:3259 common/models.py:3260 part/models.py:3193 -#: part/models.py:3280 part/models.py:3353 part/models.py:3381 -#: plugin/models.py:274 plugin/models.py:275 +#: common/models.py:2522 common/models.py:2523 common/models.py:2672 +#: common/models.py:2673 common/models.py:2918 common/models.py:2919 +#: common/models.py:3245 common/models.py:3246 importer/models.py:85 +#: part/models.py:3203 part/models.py:3290 part/models.py:3364 +#: part/models.py:3392 plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 msgid "User" msgstr "Потребител" -#: common/models.py:2564 +#: common/models.py:2545 msgid "Price break quantity" msgstr "" -#: common/models.py:2571 company/serializers.py:472 order/admin.py:42 -#: order/models.py:1346 order/models.py:2265 -#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1886 +#: common/models.py:2552 company/serializers.py:502 order/admin.py:42 +#: order/models.py:1346 order/models.py:2292 +#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1889 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:740 msgid "Price" msgstr "" -#: common/models.py:2572 +#: common/models.py:2553 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2668 common/models.py:2853 +#: common/models.py:2649 common/models.py:2834 msgid "Endpoint" msgstr "" -#: common/models.py:2669 +#: common/models.py:2650 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2679 +#: common/models.py:2660 msgid "Name for this webhook" msgstr "" -#: common/models.py:2683 +#: common/models.py:2664 msgid "Is this webhook active" msgstr "" -#: common/models.py:2699 users/models.py:159 +#: common/models.py:2680 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2700 +#: common/models.py:2681 msgid "Token for access" msgstr "" -#: common/models.py:2708 +#: common/models.py:2689 msgid "Secret" msgstr "" -#: common/models.py:2709 +#: common/models.py:2690 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2817 +#: common/models.py:2798 msgid "Message ID" msgstr "" -#: common/models.py:2818 +#: common/models.py:2799 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2826 +#: common/models.py:2807 msgid "Host" msgstr "" -#: common/models.py:2827 +#: common/models.py:2808 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2835 +#: common/models.py:2816 msgid "Header" msgstr "" -#: common/models.py:2836 +#: common/models.py:2817 msgid "Header of this message" msgstr "" -#: common/models.py:2843 +#: common/models.py:2824 msgid "Body" msgstr "" -#: common/models.py:2844 +#: common/models.py:2825 msgid "Body of this message" msgstr "" -#: common/models.py:2854 +#: common/models.py:2835 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2859 +#: common/models.py:2840 msgid "Worked on" msgstr "" -#: common/models.py:2860 +#: common/models.py:2841 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2986 +#: common/models.py:2967 msgid "Id" msgstr "" -#: common/models.py:2988 templates/js/translated/company.js:965 +#: common/models.py:2969 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2990 common/models.py:3243 company/models.py:149 -#: company/models.py:440 company/models.py:500 company/models.py:799 -#: order/models.py:303 order/models.py:1301 order/models.py:1717 -#: part/admin.py:55 part/models.py:955 +#: common/models.py:2971 common/models.py:3229 company/models.py:149 +#: company/models.py:446 company/models.py:506 company/models.py:806 +#: order/models.py:303 order/models.py:1301 order/models.py:1733 +#: part/admin.py:55 part/models.py:959 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:229 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/part.js:2459 #: templates/js/translated/purchase_order.js:2040 #: templates/js/translated/purchase_order.js:2204 #: templates/js/translated/return_order.js:779 @@ -3607,28 +3642,28 @@ msgstr "" msgid "Link" msgstr "" -#: common/models.py:2992 templates/js/translated/news.js:60 +#: common/models.py:2973 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2994 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2975 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:2996 templates/js/translated/news.js:52 +#: common/models.py:2977 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2999 +#: common/models.py:2980 msgid "Read" msgstr "" -#: common/models.py:2999 +#: common/models.py:2980 msgid "Was this news item read?" msgstr "" -#: common/models.py:3016 company/models.py:159 part/models.py:965 +#: common/models.py:2997 company/models.py:159 part/models.py:969 #: 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.html:35 @@ -3638,90 +3673,94 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:3016 +#: common/models.py:2997 msgid "Image file" msgstr "" -#: common/models.py:3028 common/models.py:3227 +#: common/models.py:3009 common/models.py:3213 msgid "Target model type for this image" msgstr "" -#: common/models.py:3032 +#: common/models.py:3013 msgid "Target model ID for this image" msgstr "" -#: common/models.py:3070 +#: common/models.py:3035 +msgid "Custom Unit" +msgstr "" + +#: common/models.py:3056 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:3085 +#: common/models.py:3071 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3104 +#: common/models.py:3090 msgid "Unit name" msgstr "" -#: common/models.py:3111 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3097 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3112 +#: common/models.py:3098 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3118 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3104 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3119 +#: common/models.py:3105 msgid "Unit definition" msgstr "" -#: common/models.py:3177 common/models.py:3234 stock/models.py:2461 +#: common/models.py:3163 common/models.py:3220 stock/models.py:2471 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" msgstr "" -#: common/models.py:3189 +#: common/models.py:3175 msgid "Missing file" msgstr "" -#: common/models.py:3190 +#: common/models.py:3176 msgid "Missing external link" msgstr "" -#: common/models.py:3235 +#: common/models.py:3221 msgid "Select file to attach" msgstr "" -#: common/models.py:3250 templates/js/translated/attachment.js:120 +#: common/models.py:3236 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" msgstr "" -#: common/models.py:3251 +#: common/models.py:3237 msgid "Attachment comment" msgstr "" -#: common/models.py:3267 +#: common/models.py:3253 msgid "Upload date" msgstr "" -#: common/models.py:3268 +#: common/models.py:3254 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:3272 +#: common/models.py:3258 msgid "File size" msgstr "" -#: common/models.py:3272 +#: common/models.py:3258 msgid "File size in bytes" msgstr "" -#: common/models.py:3310 common/serializers.py:553 +#: common/models.py:3296 common/serializers.py:557 msgid "Invalid model type specified for attachment" msgstr "" @@ -3743,7 +3782,7 @@ msgstr "" msgid "A order that is assigned to you was canceled" msgstr "" -#: common/notifications.py:330 common/notifications.py:337 order/api.py:472 +#: common/notifications.py:330 common/notifications.py:337 order/api.py:454 msgid "Items Received" msgstr "" @@ -3759,75 +3798,75 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:371 +#: common/serializers.py:375 msgid "Is Running" msgstr "" -#: common/serializers.py:377 +#: common/serializers.py:381 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:383 +#: common/serializers.py:387 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:389 +#: common/serializers.py:393 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:404 +#: common/serializers.py:408 msgid "Task ID" msgstr "" -#: common/serializers.py:404 +#: common/serializers.py:408 msgid "Unique task ID" msgstr "" -#: common/serializers.py:406 +#: common/serializers.py:410 msgid "Lock" msgstr "" -#: common/serializers.py:406 +#: common/serializers.py:410 msgid "Lock time" msgstr "" -#: common/serializers.py:408 +#: common/serializers.py:412 msgid "Task name" msgstr "" -#: common/serializers.py:410 +#: common/serializers.py:414 msgid "Function" msgstr "" -#: common/serializers.py:410 +#: common/serializers.py:414 msgid "Function name" msgstr "" -#: common/serializers.py:412 +#: common/serializers.py:416 msgid "Arguments" msgstr "" -#: common/serializers.py:412 +#: common/serializers.py:416 msgid "Task arguments" msgstr "" -#: common/serializers.py:415 +#: common/serializers.py:419 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:415 +#: common/serializers.py:419 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:525 +#: common/serializers.py:529 msgid "Filename" msgstr "" -#: common/serializers.py:532 report/api.py:100 report/serializers.py:53 +#: common/serializers.py:536 report/api.py:100 report/serializers.py:53 msgid "Model Type" msgstr "" -#: common/serializers.py:559 +#: common/serializers.py:563 msgid "User does not have permission to create or edit attachments for this model" msgstr "" @@ -3894,29 +3933,29 @@ msgstr "" msgid "Previous Step" msgstr "" -#: company/api.py:144 +#: company/api.py:141 msgid "Part is Active" msgstr "" -#: company/api.py:148 +#: company/api.py:145 msgid "Manufacturer is Active" msgstr "" -#: company/api.py:281 +#: company/api.py:278 msgid "Supplier Part is Active" msgstr "" -#: company/api.py:285 +#: company/api.py:282 msgid "Internal Part is Active" msgstr "" -#: company/api.py:289 +#: company/api.py:286 msgid "Supplier is Active" msgstr "" -#: company/models.py:100 company/models.py:365 +#: company/models.py:100 company/models.py:371 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:822 +#: company/templates/company/company_base.html:12 stock/api.py:814 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "" @@ -3956,8 +3995,9 @@ msgstr "" msgid "Contact email address" msgstr "" -#: company/models.py:142 company/templates/company/company_base.html:145 -#: order/models.py:343 order/templates/order/order_base.html:203 +#: company/models.py:142 company/models.py:275 +#: company/templates/company/company_base.html:145 order/models.py:343 +#: order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 #: order/templates/order/sales_order_base.html:218 msgid "Contact" @@ -3976,7 +4016,7 @@ msgid "Is this company active?" msgstr "" #: company/models.py:168 -msgid "is customer" +msgid "Is customer" msgstr "" #: company/models.py:169 @@ -3984,7 +4024,7 @@ msgid "Do you sell items to this company?" msgstr "" #: company/models.py:174 -msgid "is supplier" +msgid "Is supplier" msgstr "" #: company/models.py:175 @@ -3992,7 +4032,7 @@ msgid "Do you purchase items from this company?" msgstr "" #: company/models.py:180 -msgid "is manufacturer" +msgid "Is manufacturer" msgstr "" #: company/models.py:181 @@ -4003,178 +4043,189 @@ msgstr "" msgid "Default currency used for this company" msgstr "" -#: company/models.py:366 +#: company/models.py:314 company/templates/company/company_base.html:124 +#: order/models.py:353 order/templates/order/order_base.html:210 +#: order/templates/order/return_order_base.html:181 +#: order/templates/order/sales_order_base.html:225 +msgid "Address" +msgstr "" + +#: company/models.py:315 company/templates/company/sidebar.html:35 +msgid "Addresses" +msgstr "" + +#: company/models.py:372 msgid "Select company" msgstr "" -#: company/models.py:371 +#: company/models.py:377 msgid "Address title" msgstr "" -#: company/models.py:372 +#: company/models.py:378 msgid "Title describing the address entry" msgstr "" -#: company/models.py:378 +#: company/models.py:384 msgid "Primary address" msgstr "" -#: company/models.py:379 +#: company/models.py:385 msgid "Set as primary address" msgstr "" -#: company/models.py:384 templates/js/translated/company.js:914 +#: company/models.py:390 templates/js/translated/company.js:914 #: templates/js/translated/company.js:971 msgid "Line 1" msgstr "" -#: company/models.py:385 +#: company/models.py:391 msgid "Address line 1" msgstr "" -#: company/models.py:391 templates/js/translated/company.js:915 +#: company/models.py:397 templates/js/translated/company.js:915 #: templates/js/translated/company.js:977 msgid "Line 2" msgstr "" -#: company/models.py:392 +#: company/models.py:398 msgid "Address line 2" msgstr "" -#: company/models.py:398 company/models.py:399 +#: company/models.py:404 company/models.py:405 #: templates/js/translated/company.js:983 msgid "Postal code" msgstr "" -#: company/models.py:405 +#: company/models.py:411 msgid "City/Region" msgstr "" -#: company/models.py:406 +#: company/models.py:412 msgid "Postal code city/region" msgstr "" -#: company/models.py:412 +#: company/models.py:418 msgid "State/Province" msgstr "" -#: company/models.py:413 +#: company/models.py:419 msgid "State or province" msgstr "" -#: company/models.py:419 templates/js/translated/company.js:1001 +#: company/models.py:425 templates/js/translated/company.js:1001 msgid "Country" msgstr "" -#: company/models.py:420 +#: company/models.py:426 msgid "Address country" msgstr "" -#: company/models.py:426 +#: company/models.py:432 msgid "Courier shipping notes" msgstr "" -#: company/models.py:427 +#: company/models.py:433 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:433 +#: company/models.py:439 msgid "Internal shipping notes" msgstr "" -#: company/models.py:434 +#: company/models.py:440 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:441 +#: company/models.py:447 msgid "Link to address information (external)" msgstr "" -#: company/models.py:463 company/models.py:574 company/models.py:792 +#: company/models.py:469 company/models.py:581 company/models.py:799 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:217 msgid "Manufacturer Part" msgstr "" -#: company/models.py:475 company/models.py:760 stock/models.py:767 -#: stock/serializers.py:422 stock/templates/stock/item_base.html:142 +#: company/models.py:481 company/models.py:767 stock/models.py:767 +#: stock/serializers.py:442 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" -#: company/models.py:477 company/models.py:762 +#: company/models.py:483 company/models.py:769 msgid "Select part" msgstr "" -#: company/models.py:486 company/templates/company/company_base.html:82 +#: company/models.py:492 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:525 +#: company/templates/company/supplier_part.html:145 part/serializers.py:543 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 #: templates/js/translated/company.js:1296 #: templates/js/translated/company.js:1611 -#: templates/js/translated/table_filters.js:800 +#: templates/js/translated/table_filters.js:805 msgid "Manufacturer" msgstr "" -#: company/models.py:487 +#: company/models.py:493 msgid "Select manufacturer" msgstr "" -#: company/models.py:493 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:535 -#: templates/js/translated/company.js:351 +#: company/models.py:499 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:153 order/serializers.py:518 +#: part/serializers.py:553 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:1801 +#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1804 #: templates/js/translated/purchase_order.js:1851 #: templates/js/translated/purchase_order.js:2053 msgid "MPN" msgstr "" -#: company/models.py:494 -msgid "Manufacturer Part Number" -msgstr "" - -#: company/models.py:501 +#: company/models.py:507 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:510 +#: company/models.py:516 msgid "Manufacturer part description" msgstr "" -#: company/models.py:581 +#: company/models.py:569 +msgid "Manufacturer Part Parameter" +msgstr "" + +#: company/models.py:588 msgid "Parameter name" msgstr "" -#: company/models.py:587 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2453 templates/js/translated/company.js:1166 -#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1493 +#: company/models.py:594 report/templates/report/inventree_test_report.html:104 +#: stock/models.py:2463 templates/js/translated/company.js:1166 +#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1496 #: templates/js/translated/stock.js:1522 msgid "Value" msgstr "" -#: company/models.py:588 +#: company/models.py:595 msgid "Parameter value" msgstr "" -#: company/models.py:595 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1045 part/models.py:3646 +#: company/models.py:602 company/templates/company/supplier_part.html:168 +#: part/admin.py:57 part/models.py:1049 part/models.py:3667 #: part/templates/part/part_base.html:284 -#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1512 -#: templates/js/translated/part.js:1616 templates/js/translated/part.js:2370 +#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1515 +#: templates/js/translated/part.js:1619 templates/js/translated/part.js:2373 msgid "Units" msgstr "" -#: company/models.py:596 +#: company/models.py:603 msgid "Parameter units" msgstr "" -#: company/models.py:648 company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 order/api.py:452 +#: company/models.py:655 company/templates/company/supplier_part.html:7 +#: company/templates/company/supplier_part.html:24 order/api.py:434 #: stock/models.py:778 stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 @@ -4182,91 +4233,91 @@ msgstr "" msgid "Supplier Part" msgstr "" -#: company/models.py:700 +#: company/models.py:707 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:707 +#: company/models.py:714 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:721 +#: company/models.py:728 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:770 company/templates/company/company_base.html:87 +#: company/models.py:777 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:509 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:527 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 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:511 -#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1769 +#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1772 #: templates/js/translated/pricing.js:498 #: templates/js/translated/purchase_order.js:1689 -#: templates/js/translated/table_filters.js:804 +#: templates/js/translated/table_filters.js:809 msgid "Supplier" msgstr "" -#: company/models.py:771 +#: company/models.py:778 msgid "Select supplier" msgstr "" -#: company/models.py:777 part/serializers.py:520 +#: company/models.py:784 part/serializers.py:538 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:783 +#: company/models.py:790 msgid "Is this supplier part active?" msgstr "" -#: company/models.py:793 +#: company/models.py:800 msgid "Select manufacturer part" msgstr "" -#: company/models.py:800 +#: company/models.py:807 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:809 +#: company/models.py:816 msgid "Supplier part description" msgstr "" -#: company/models.py:816 company/templates/company/supplier_part.html:187 -#: part/admin.py:412 part/models.py:4093 part/templates/part/upload_bom.html:59 +#: company/models.py:823 company/templates/company/supplier_part.html:187 +#: part/admin.py:412 part/models.py:4178 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: 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:710 +#: stock/serializers.py:768 msgid "Note" msgstr "" -#: company/models.py:825 part/models.py:2003 +#: company/models.py:832 part/models.py:2013 msgid "base cost" msgstr "" -#: company/models.py:826 part/models.py:2004 +#: company/models.py:833 part/models.py:2014 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:833 company/templates/company/supplier_part.html:160 -#: stock/admin.py:228 stock/models.py:798 stock/serializers.py:1475 +#: company/models.py:840 company/templates/company/supplier_part.html:160 +#: stock/admin.py:228 stock/models.py:798 stock/serializers.py:1541 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 msgid "Packaging" msgstr "" -#: company/models.py:834 +#: company/models.py:841 msgid "Part packaging" msgstr "" -#: company/models.py:839 templates/js/translated/company.js:1651 -#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 +#: company/models.py:846 templates/js/translated/company.js:1651 +#: templates/js/translated/part.js:1825 templates/js/translated/part.js:1881 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 #: templates/js/translated/purchase_order.js:1103 @@ -4275,35 +4326,43 @@ msgstr "" msgid "Pack Quantity" msgstr "" -#: company/models.py:841 +#: company/models.py:848 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:860 part/models.py:2010 +#: company/models.py:867 part/models.py:2020 msgid "multiple" msgstr "" -#: company/models.py:861 +#: company/models.py:868 msgid "Order multiple" msgstr "" -#: company/models.py:873 +#: company/models.py:880 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:879 +#: company/models.py:886 msgid "Availability Updated" msgstr "" -#: company/models.py:880 +#: company/models.py:887 msgid "Date of last update of availability data" msgstr "" -#: company/serializers.py:161 +#: company/models.py:1015 +msgid "Supplier Price Break" +msgstr "" + +#: company/serializers.py:174 msgid "Default currency used for this supplier" msgstr "" -#: company/serializers.py:357 part/admin.py:126 +#: company/serializers.py:210 +msgid "Company Name" +msgstr "" + +#: company/serializers.py:384 part/admin.py:126 part/serializers.py:855 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:355 @@ -4315,7 +4374,7 @@ msgstr "" #: templates/js/translated/company.js:1287 #: templates/js/translated/company.js:1575 #: templates/js/translated/model_renderers.js:312 -#: templates/js/translated/part.js:815 templates/js/translated/part.js:1219 +#: templates/js/translated/part.js:814 templates/js/translated/part.js:1222 msgid "Inactive" msgstr "" @@ -4374,16 +4433,16 @@ msgid "Delete image" msgstr "" #: company/templates/company/company_base.html:92 order/models.py:938 -#: order/models.py:2032 order/templates/order/return_order_base.html:131 +#: order/models.py:2058 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:148 stock/models.py:820 -#: stock/models.py:821 stock/serializers.py:1225 +#: stock/models.py:821 stock/serializers.py:1291 #: 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:295 #: templates/js/translated/sales_order.js:820 #: templates/js/translated/stock.js:2959 -#: templates/js/translated/table_filters.js:808 +#: templates/js/translated/table_filters.js:813 msgid "Customer" msgstr "" @@ -4391,13 +4450,6 @@ msgstr "" msgid "Uses default currency" msgstr "" -#: company/templates/company/company_base.html:124 order/models.py:353 -#: order/templates/order/order_base.html:210 -#: order/templates/order/return_order_base.html:181 -#: order/templates/order/sales_order_base.html:225 -msgid "Address" -msgstr "" - #: company/templates/company/company_base.html:131 msgid "Phone" msgstr "" @@ -4577,7 +4629,8 @@ msgid "Delete manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:65 -#: company/templates/company/supplier_part.html:97 order/api.py:458 +#: company/templates/company/supplier_part.html:97 order/api.py:440 +#: order/serializers.py:526 msgid "Internal Part" msgstr "" @@ -4587,7 +4640,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:832 +#: part/admin.py:122 part/serializers.py:860 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4608,7 +4661,7 @@ msgid "New Parameter" msgstr "" #: company/templates/company/manufacturer_part.html:196 -#: templates/js/translated/part.js:1423 +#: templates/js/translated/part.js:1426 msgid "Add Parameter" msgstr "" @@ -4632,10 +4685,6 @@ msgstr "" msgid "Contacts" msgstr "" -#: company/templates/company/sidebar.html:35 -msgid "Addresses" -msgstr "" - #: company/templates/company/supplier_part.html:50 #: templates/js/translated/company.js:1526 msgid "Supplier part actions" @@ -4653,122 +4702,284 @@ msgstr "" msgid "Update Availability" msgstr "" -#: company/templates/company/supplier_part.html:63 -#: company/templates/company/supplier_part.html:64 -#: templates/js/translated/company.js:294 -msgid "Edit Supplier Part" +#: company/templates/company/supplier_part.html:63 +#: company/templates/company/supplier_part.html:64 +#: templates/js/translated/company.js:294 +msgid "Edit Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:68 +#: company/templates/company/supplier_part.html:69 +#: templates/js/translated/company.js:269 +msgid "Duplicate Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:73 +msgid "Delete Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:74 +msgid "Delete Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:133 +msgid "No supplier information available" +msgstr "" + +#: company/templates/company/supplier_part.html:139 order/serializers.py:515 +#: part/bom.py:279 part/bom.py:311 part/serializers.py:537 +#: templates/js/translated/company.js:349 templates/js/translated/part.js:1790 +#: templates/js/translated/pricing.js:510 +#: templates/js/translated/purchase_order.js:1850 +#: templates/js/translated/purchase_order.js:2028 +msgid "SKU" +msgstr "" + +#: company/templates/company/supplier_part.html:206 +msgid "Supplier Part Stock" +msgstr "" + +#: company/templates/company/supplier_part.html:209 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:207 +msgid "Create new stock item" +msgstr "" + +#: company/templates/company/supplier_part.html:210 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:208 +#: templates/js/translated/stock.js:537 +msgid "New Stock Item" +msgstr "" + +#: company/templates/company/supplier_part.html:223 +msgid "Supplier Part Orders" +msgstr "" + +#: company/templates/company/supplier_part.html:246 +msgid "Pricing Information" +msgstr "" + +#: company/templates/company/supplier_part.html:251 +#: templates/js/translated/company.js:398 +#: templates/js/translated/pricing.js:684 +msgid "Add Price Break" +msgstr "" + +#: company/templates/company/supplier_part.html:276 +msgid "Supplier Part QR Code" +msgstr "" + +#: company/templates/company/supplier_part.html:287 +msgid "Link Barcode to Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:359 +msgid "Update Part Availability" +msgstr "" + +#: company/templates/company/supplier_part_sidebar.html:5 +#: part/serializers.py:859 part/stocktake.py:224 +#: part/templates/part/category.html:183 +#: part/templates/part/category_sidebar.html:17 stock/admin.py:68 +#: stock/serializers.py:976 stock/serializers.py:1154 +#: stock/templates/stock/location.html:170 +#: 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:1064 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 +#: users/models.py:206 +msgid "Stock Items" +msgstr "" + +#: company/templates/company/supplier_part_sidebar.html:9 +msgid "Supplier Part Pricing" +msgstr "" + +#: company/views.py:32 +msgid "New Supplier" +msgstr "" + +#: company/views.py:38 +msgid "New Manufacturer" +msgstr "" + +#: company/views.py:43 templates/InvenTree/search.html:210 +#: templates/navbar.html:60 +msgid "Customers" +msgstr "" + +#: company/views.py:44 +msgid "New Customer" +msgstr "" + +#: company/views.py:52 +msgid "New Company" +msgstr "" + +#: generic/states/tests.py:18 order/status_codes.py:13 +msgid "Placed" +msgstr "" + +#: importer/mixins.py:263 +msgid "Invalid export format" +msgstr "" + +#: importer/models.py:56 +msgid "Timestamp" +msgstr "" + +#: importer/models.py:61 +msgid "Data file to import" +msgstr "" + +#: importer/models.py:70 templates/js/translated/tables.js:558 +msgid "Columns" +msgstr "" + +#: importer/models.py:81 +msgid "Import status" +msgstr "" + +#: importer/models.py:91 +msgid "Field Defaults" +msgstr "" + +#: importer/models.py:201 +msgid "Some required fields have not been mapped" +msgstr "" + +#: importer/models.py:346 +msgid "Column is already mapped to a database field" +msgstr "" + +#: importer/models.py:351 +msgid "Field is already mapped to a data column" +msgstr "" + +#: importer/models.py:360 +msgid "Column mapping must be linked to a valid import session" +msgstr "" + +#: importer/models.py:365 +msgid "Column does not exist in the data file" +msgstr "" + +#: importer/models.py:372 +#, fuzzy +#| msgid "User does not have permission to view this model" +msgid "Field does not exist in the target model" +msgstr "Потребителя няма нужното разрешение, за да вижда този модел" + +#: importer/models.py:376 +msgid "Selected field is read-only" +msgstr "" + +#: importer/models.py:381 importer/models.py:452 +msgid "Import Session" msgstr "" -#: company/templates/company/supplier_part.html:68 -#: company/templates/company/supplier_part.html:69 -#: templates/js/translated/company.js:269 -msgid "Duplicate Supplier Part" +#: importer/models.py:385 +msgid "Field" msgstr "" -#: company/templates/company/supplier_part.html:73 -msgid "Delete Supplier Part" +#: importer/models.py:387 +msgid "Column" msgstr "" -#: company/templates/company/supplier_part.html:74 -msgid "Delete Supplier Part" +#: importer/models.py:456 +msgid "Row Index" msgstr "" -#: company/templates/company/supplier_part.html:133 -msgid "No supplier information available" +#: importer/models.py:459 +msgid "Original row data" msgstr "" -#: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:519 -#: templates/js/translated/company.js:349 templates/js/translated/part.js:1787 -#: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1850 -#: templates/js/translated/purchase_order.js:2028 -msgid "SKU" +#: importer/models.py:462 part/models.py:3841 +msgid "Data" msgstr "" -#: company/templates/company/supplier_part.html:206 -msgid "Supplier Part Stock" +#: importer/models.py:464 machine/models.py:110 +msgid "Errors" msgstr "" -#: company/templates/company/supplier_part.html:209 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:207 -msgid "Create new stock item" +#: importer/models.py:466 part/api.py:874 +msgid "Valid" msgstr "" -#: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:208 -#: templates/js/translated/stock.js:537 -msgid "New Stock Item" +#: importer/operations.py:28 importer/operations.py:49 +msgid "Unsupported data file format" msgstr "" -#: company/templates/company/supplier_part.html:223 -msgid "Supplier Part Orders" +#: importer/operations.py:40 +msgid "Failed to open data file" msgstr "" -#: company/templates/company/supplier_part.html:246 -msgid "Pricing Information" +#: importer/operations.py:51 +msgid "Invalid data file dimensions" msgstr "" -#: company/templates/company/supplier_part.html:251 -#: templates/js/translated/company.js:398 -#: templates/js/translated/pricing.js:684 -msgid "Add Price Break" +#: importer/serializers.py:135 +msgid "Rows" msgstr "" -#: company/templates/company/supplier_part.html:276 -msgid "Supplier Part QR Code" +#: importer/serializers.py:136 +msgid "List of row IDs to accept" msgstr "" -#: company/templates/company/supplier_part.html:287 -msgid "Link Barcode to Supplier Part" +#: importer/serializers.py:149 +#, fuzzy +#| msgid "No value provided" +msgid "No rows provided" +msgstr "Не е зададена стойност" + +#: importer/serializers.py:153 +msgid "Row does not belong to this session" msgstr "" -#: company/templates/company/supplier_part.html:359 -msgid "Update Part Availability" +#: importer/serializers.py:156 +msgid "Row contains invalid data" msgstr "" -#: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:831 part/stocktake.py:224 -#: part/templates/part/category.html:183 -#: part/templates/part/category_sidebar.html:17 stock/admin.py:68 -#: stock/serializers.py:918 stock/serializers.py:1091 -#: stock/templates/stock/location.html:170 -#: 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:1061 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 -#: users/models.py:206 -msgid "Stock Items" +#: importer/serializers.py:159 +msgid "Row has already been completed" msgstr "" -#: company/templates/company/supplier_part_sidebar.html:9 -msgid "Supplier Part Pricing" +#: importer/status_codes.py:11 +msgid "Initializing" msgstr "" -#: company/views.py:32 -msgid "New Supplier" +#: importer/status_codes.py:12 +msgid "Mapping Columns" msgstr "" -#: company/views.py:38 -msgid "New Manufacturer" +#: importer/status_codes.py:13 +msgid "Importing Data" msgstr "" -#: company/views.py:43 templates/InvenTree/search.html:210 -#: templates/navbar.html:60 -msgid "Customers" +#: importer/status_codes.py:16 +msgid "Processing Data" msgstr "" -#: company/views.py:44 -msgid "New Customer" +#: importer/validators.py:21 +#, fuzzy +#| msgid "Image download exceeded maximum size" +msgid "Data file exceeds maximum size limit" +msgstr "Сваляното на изображение превиши максималния размер" + +#: importer/validators.py:26 +msgid "Data file contains no headers" msgstr "" -#: company/views.py:52 -msgid "New Company" +#: importer/validators.py:29 +msgid "Data file contains too many columns" msgstr "" -#: generic/states/tests.py:18 order/status_codes.py:13 -msgid "Placed" +#: importer/validators.py:32 +msgid "Data file contains too many rows" +msgstr "" + +#: importer/validators.py:49 +msgid "Value must be a valid dictionary object" msgstr "" #: machine/machine_types/label_printer.py:212 @@ -4783,7 +4994,7 @@ msgstr "" msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:229 order/api.py:1467 +#: machine/machine_types/label_printer.py:229 order/api.py:1388 #: templates/js/translated/sales_order.js:1078 msgid "Unknown" msgstr "" @@ -4852,10 +5063,6 @@ msgstr "" msgid "Initialized" msgstr "" -#: machine/models.py:110 -msgid "Errors" -msgstr "" - #: machine/models.py:117 msgid "Machine status" msgstr "" @@ -4881,44 +5088,44 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:157 order/serializers.py:90 +#: order/api.py:149 order/serializers.py:94 #: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:113 #: order/templates/order/sales_order_base.html:122 msgid "Order Status" msgstr "" -#: order/api.py:161 templates/js/translated/table_filters.js:194 -#: templates/js/translated/table_filters.js:779 +#: order/api.py:153 templates/js/translated/table_filters.js:194 +#: templates/js/translated/table_filters.js:784 msgid "Has Pricing" msgstr "" -#: order/api.py:236 +#: order/api.py:228 msgid "No matching purchase order found" msgstr "" -#: order/api.py:435 order/api.py:801 order/models.py:1395 order/models.py:1504 -#: order/models.py:1550 order/models.py:1664 order/models.py:1818 -#: order/models.py:2231 order/models.py:2282 +#: order/api.py:417 order/api.py:755 order/models.py:1400 order/models.py:1514 +#: order/models.py:1565 order/models.py:1680 order/models.py:1839 +#: order/models.py:2258 order/models.py:2314 #: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "" -#: order/api.py:439 order/api.py:822 +#: order/api.py:421 order/api.py:776 msgid "Order Complete" msgstr "" -#: order/api.py:462 +#: order/api.py:444 msgid "Order Pending" msgstr "" -#: order/api.py:1461 order/models.py:380 order/models.py:1396 -#: order/models.py:1505 order/templates/order/order_base.html:9 +#: order/api.py:1382 order/models.py:380 order/models.py:1401 +#: order/models.py:1515 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 -#: stock/serializers.py:118 stock/templates/stock/item_base.html:176 +#: stock/serializers.py:120 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/part.js:1746 templates/js/translated/pricing.js:804 +#: templates/js/translated/part.js:1749 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:1673 @@ -4926,8 +5133,8 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1465 order/models.py:1981 order/models.py:2232 -#: order/models.py:2283 order/templates/order/return_order_base.html:9 +#: order/api.py:1386 order/models.py:2007 order/models.py:2259 +#: order/models.py:2315 order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report.html:13 #: templates/js/translated/return_order.js:280 @@ -4939,11 +5146,11 @@ msgstr "" msgid "Total price for this order" msgstr "" -#: order/models.py:96 order/serializers.py:70 +#: order/models.py:96 order/serializers.py:72 msgid "Order Currency" msgstr "" -#: order/models.py:99 order/serializers.py:71 +#: order/models.py:99 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" @@ -4959,7 +5166,7 @@ msgstr "" msgid "Select project code for this order" msgstr "" -#: order/models.py:303 order/models.py:1301 order/models.py:1717 +#: order/models.py:303 order/models.py:1301 order/models.py:1733 msgid "Link to external page" msgstr "" @@ -5008,15 +5215,15 @@ msgstr "" msgid "received by" msgstr "" -#: order/models.py:514 order/models.py:2058 +#: order/models.py:514 order/models.py:2084 msgid "Issue Date" msgstr "" -#: order/models.py:515 order/models.py:2059 +#: order/models.py:515 order/models.py:2085 msgid "Date order was issued" msgstr "" -#: order/models.py:522 order/models.py:2066 +#: order/models.py:522 order/models.py:2092 msgid "Date order was completed" msgstr "" @@ -5032,15 +5239,15 @@ msgstr "" msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:962 order/models.py:2051 +#: order/models.py:962 order/models.py:2077 msgid "Customer Reference " msgstr "" -#: order/models.py:963 order/models.py:2052 +#: order/models.py:963 order/models.py:2078 msgid "Customer order reference code" msgstr "" -#: order/models.py:967 order/models.py:1671 +#: order/models.py:967 order/models.py:1687 #: templates/js/translated/sales_order.js:879 #: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" @@ -5102,20 +5309,24 @@ msgstr "" msgid "Unit price" msgstr "" -#: order/models.py:1380 +#: order/models.py:1361 +msgid "Purchase Order Line Item" +msgstr "" + +#: order/models.py:1385 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1387 +#: order/models.py:1392 msgid "deleted" msgstr "" -#: order/models.py:1415 +#: order/models.py:1420 msgid "Supplier part" msgstr "" -#: order/models.py:1422 order/templates/order/order_base.html:196 -#: templates/js/translated/part.js:1870 templates/js/translated/part.js:1902 +#: order/models.py:1427 order/templates/order/order_base.html:196 +#: templates/js/translated/part.js:1873 templates/js/translated/part.js:1905 #: templates/js/translated/purchase_order.js:1306 #: templates/js/translated/purchase_order.js:2169 #: templates/js/translated/return_order.js:763 @@ -5124,196 +5335,224 @@ msgstr "" msgid "Received" msgstr "" -#: order/models.py:1423 +#: order/models.py:1428 msgid "Number of items received" msgstr "" -#: order/models.py:1431 stock/models.py:939 stock/serializers.py:556 +#: order/models.py:1436 stock/models.py:939 stock/serializers.py:602 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2311 msgid "Purchase Price" msgstr "" -#: order/models.py:1432 +#: order/models.py:1437 msgid "Unit purchase price" msgstr "" -#: order/models.py:1447 +#: order/models.py:1452 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1538 +#: order/models.py:1503 +msgid "Purchase Order Extra Line" +msgstr "" + +#: order/models.py:1532 +msgid "Sales Order Line Item" +msgstr "" + +#: order/models.py:1553 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1543 +#: order/models.py:1558 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1569 part/templates/part/part_pricing.html:107 +#: order/models.py:1584 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:1570 +#: order/models.py:1585 msgid "Unit sale price" msgstr "" -#: order/models.py:1579 order/status_codes.py:43 +#: order/models.py:1594 order/status_codes.py:43 #: templates/js/translated/sales_order.js:1559 #: templates/js/translated/sales_order.js:1680 #: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "Изпратено" -#: order/models.py:1580 +#: order/models.py:1595 msgid "Shipped quantity" msgstr "" -#: order/models.py:1672 +#: order/models.py:1667 +msgid "Sales Order Shipment" +msgstr "" + +#: order/models.py:1688 msgid "Date of shipment" msgstr "" -#: order/models.py:1678 templates/js/translated/sales_order.js:1072 +#: order/models.py:1694 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "" -#: order/models.py:1679 +#: order/models.py:1695 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1687 +#: order/models.py:1703 msgid "Checked By" msgstr "" -#: order/models.py:1688 +#: order/models.py:1704 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1695 order/models.py:1908 order/serializers.py:1342 -#: order/serializers.py:1452 templates/js/translated/model_renderers.js:454 +#: order/models.py:1711 order/models.py:1934 order/serializers.py:1398 +#: order/serializers.py:1508 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "" -#: order/models.py:1696 +#: order/models.py:1712 msgid "Shipment number" msgstr "" -#: order/models.py:1704 +#: order/models.py:1720 msgid "Tracking Number" msgstr "" -#: order/models.py:1705 +#: order/models.py:1721 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1712 +#: order/models.py:1728 msgid "Invoice Number" msgstr "" -#: order/models.py:1713 +#: order/models.py:1729 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1733 +#: order/models.py:1749 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1736 +#: order/models.py:1752 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1854 order/models.py:1856 +#: order/models.py:1828 +msgid "Sales Order Extra Line" +msgstr "" + +#: order/models.py:1857 +msgid "Sales Order Allocation" +msgstr "" + +#: order/models.py:1880 order/models.py:1882 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1863 +#: order/models.py:1889 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1866 +#: order/models.py:1892 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1869 +#: order/models.py:1895 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1888 order/serializers.py:1219 +#: order/models.py:1914 order/serializers.py:1275 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1891 +#: order/models.py:1917 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1892 plugin/base/barcodes/api.py:481 +#: order/models.py:1918 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1900 +#: order/models.py:1926 msgid "Line" msgstr "" -#: order/models.py:1909 +#: order/models.py:1935 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1922 order/models.py:2239 +#: order/models.py:1948 order/models.py:2266 #: templates/js/translated/return_order.js:721 msgid "Item" msgstr "" -#: order/models.py:1923 +#: order/models.py:1949 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1932 +#: order/models.py:1958 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2021 +#: order/models.py:2047 msgid "Return Order reference" msgstr "" -#: order/models.py:2033 +#: order/models.py:2059 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2045 +#: order/models.py:2071 msgid "Return order status" msgstr "" -#: order/models.py:2224 +#: order/models.py:2237 +msgid "Return Order Line Item" +msgstr "" + +#: order/models.py:2251 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2240 +#: order/models.py:2267 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2246 +#: order/models.py:2273 msgid "Received Date" msgstr "" -#: order/models.py:2247 +#: order/models.py:2274 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2258 templates/js/translated/return_order.js:732 +#: order/models.py:2285 templates/js/translated/return_order.js:732 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2259 +#: order/models.py:2286 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2266 +#: order/models.py:2293 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:79 order/templates/order/po_sidebar.html:5 +#: order/models.py:2303 +msgid "Return Order Extra Line" +msgstr "" + +#: order/serializers.py:83 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_purchase_order_report.html:22 @@ -5322,163 +5561,171 @@ msgstr "" msgid "Line Items" msgstr "" -#: order/serializers.py:83 +#: order/serializers.py:87 msgid "Completed Lines" msgstr "" -#: order/serializers.py:286 +#: order/serializers.py:305 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:301 order/serializers.py:1235 +#: order/serializers.py:320 order/serializers.py:1291 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:311 order/serializers.py:1245 +#: order/serializers.py:330 order/serializers.py:1301 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:439 +#: order/serializers.py:468 msgid "Order is not open" msgstr "" -#: order/serializers.py:460 +#: order/serializers.py:489 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:462 +#: order/serializers.py:491 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:472 +#: order/serializers.py:501 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:478 +#: order/serializers.py:507 msgid "Merge Items" msgstr "" -#: order/serializers.py:480 +#: order/serializers.py:509 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:498 +#: order/serializers.py:522 part/models.py:945 +msgid "Internal Part Number" +msgstr "" + +#: order/serializers.py:530 +msgid "Internal Part Name" +msgstr "" + +#: order/serializers.py:546 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:501 +#: order/serializers.py:549 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:509 +#: order/serializers.py:557 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:510 +#: order/serializers.py:558 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:549 order/serializers.py:1313 +#: order/serializers.py:598 order/serializers.py:1369 msgid "Line Item" msgstr "" -#: order/serializers.py:555 +#: order/serializers.py:604 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:565 order/serializers.py:673 order/serializers.py:1657 +#: order/serializers.py:614 order/serializers.py:722 order/serializers.py:1715 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:581 templates/js/translated/purchase_order.js:1130 +#: order/serializers.py:630 templates/js/translated/purchase_order.js:1130 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:589 templates/js/translated/purchase_order.js:1154 +#: order/serializers.py:638 templates/js/translated/purchase_order.js:1154 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:600 templates/js/translated/barcode.js:52 +#: order/serializers.py:649 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:601 +#: order/serializers.py:650 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:617 +#: order/serializers.py:666 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:641 +#: order/serializers.py:690 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:689 order/serializers.py:1673 +#: order/serializers.py:738 order/serializers.py:1731 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:705 +#: order/serializers.py:754 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:716 +#: order/serializers.py:765 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1062 +#: order/serializers.py:1117 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1122 +#: order/serializers.py:1178 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1183 order/serializers.py:1322 +#: order/serializers.py:1239 order/serializers.py:1378 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1202 +#: order/serializers.py:1258 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1332 +#: order/serializers.py:1388 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1354 order/serializers.py:1460 +#: order/serializers.py:1410 order/serializers.py:1516 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1357 order/serializers.py:1463 +#: order/serializers.py:1413 order/serializers.py:1519 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1404 +#: order/serializers.py:1460 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1411 +#: order/serializers.py:1467 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1627 +#: order/serializers.py:1685 msgid "Return order line item" msgstr "" -#: order/serializers.py:1633 +#: order/serializers.py:1691 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1636 +#: order/serializers.py:1694 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1665 +#: order/serializers.py:1723 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1743 +#: order/serializers.py:1806 msgid "Line price currency" msgstr "" @@ -5808,7 +6055,7 @@ msgstr "" #: 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:1073 +#: templates/js/translated/part.js:1076 #: templates/js/translated/purchase_order.js:1752 #: templates/js/translated/return_order.js:380 #: templates/js/translated/sales_order.js:891 @@ -5904,34 +6151,29 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:398 part/models.py:3944 part/stocktake.py:219 +#: part/admin.py:39 part/admin.py:398 part/models.py:3991 part/stocktake.py:219 #: stock/admin.py:152 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:405 part/models.py:3945 part/stocktake.py:220 -#: stock/admin.py:156 -msgid "Part Name" -msgstr "" - #: part/admin.py:45 part/stocktake.py:221 msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:940 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:944 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 -#: templates/js/translated/part.js:1227 templates/js/translated/part.js:2341 +#: templates/js/translated/part.js:1230 templates/js/translated/part.js:2344 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:949 part/templates/part/part_base.html:277 -#: report/models.py:162 templates/js/translated/part.js:1232 -#: templates/js/translated/part.js:2347 +#: part/admin.py:50 part/models.py:953 part/templates/part/part_base.html:277 +#: report/models.py:162 templates/js/translated/part.js:1235 +#: templates/js/translated/part.js:2350 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:319 part/models.py:922 +#: part/admin.py:53 part/admin.py:319 part/models.py:926 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5944,7 +6186,8 @@ msgstr "" msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:304 part/stocktake.py:223 +#: part/admin.py:67 part/admin.py:304 part/serializers.py:837 +#: part/stocktake.py:223 msgid "Category Name" msgstr "" @@ -5956,11 +6199,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:908 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:912 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1036 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1040 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5968,18 +6211,19 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:150 part/templates/part/part_base.html:241 stock/admin.py:235 -#: templates/js/translated/part.js:715 templates/js/translated/part.js:2153 +#: part/admin.py:150 part/serializers.py:854 +#: part/templates/part/part_base.html:241 stock/admin.py:235 +#: templates/js/translated/part.js:714 templates/js/translated/part.js:2156 msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3088 part/models.py:3102 -#: templates/js/translated/part.js:970 +#: part/admin.py:155 part/models.py:3098 part/models.py:3112 +#: templates/js/translated/part.js:973 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3095 part/models.py:3109 -#: templates/js/translated/part.js:980 +#: part/admin.py:158 part/models.py:3105 part/models.py:3119 +#: templates/js/translated/part.js:983 msgid "Maximum Cost" msgstr "" @@ -5996,14 +6240,14 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:396 part/serializers.py:124 -#: part/serializers.py:267 part/serializers.py:386 +#: part/admin.py:325 part/models.py:397 part/serializers.py:130 +#: part/serializers.py:282 part/serializers.py:404 #: 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:2807 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:203 msgid "Parts" msgstr "" @@ -6020,125 +6264,117 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:402 part/models.py:3946 -msgid "Part IPN" -msgstr "" - -#: part/admin.py:415 part/serializers.py:1274 +#: part/admin.py:415 part/serializers.py:1302 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:420 part/serializers.py:1289 +#: part/admin.py:420 part/serializers.py:1317 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "" -#: part/api.py:104 +#: part/api.py:105 msgid "Starred" msgstr "" -#: part/api.py:106 +#: part/api.py:107 msgid "Filter by starred categories" msgstr "" -#: part/api.py:123 stock/api.py:312 +#: part/api.py:124 stock/api.py:312 msgid "Depth" msgstr "" -#: part/api.py:123 +#: part/api.py:124 msgid "Filter by category depth" msgstr "" -#: part/api.py:141 stock/api.py:330 +#: part/api.py:142 stock/api.py:330 msgid "Top Level" msgstr "" -#: part/api.py:143 +#: part/api.py:144 msgid "Filter by top-level categories" msgstr "" -#: part/api.py:156 stock/api.py:345 +#: part/api.py:157 stock/api.py:345 msgid "Cascade" msgstr "" -#: part/api.py:158 +#: part/api.py:159 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:179 templates/js/translated/part.js:308 +#: part/api.py:180 templates/js/translated/part.js:307 msgid "Parent" msgstr "" -#: part/api.py:181 +#: part/api.py:182 msgid "Filter by parent category" msgstr "" -#: part/api.py:214 +#: part/api.py:215 msgid "Exclude Tree" msgstr "" -#: part/api.py:216 +#: part/api.py:217 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:449 +#: part/api.py:442 msgid "Has Results" msgstr "" -#: part/api.py:616 +#: part/api.py:609 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:634 +#: part/api.py:627 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:650 +#: part/api.py:643 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:734 +#: part/api.py:727 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:881 -msgid "Valid" -msgstr "" - -#: part/api.py:882 +#: part/api.py:875 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:888 +#: part/api.py:881 msgid "This option must be selected" msgstr "" -#: part/api.py:1105 +#: part/api.py:1098 msgid "BOM Valid" msgstr "" -#: part/api.py:1508 part/models.py:932 part/models.py:3374 part/models.py:3889 -#: part/serializers.py:401 part/serializers.py:1130 -#: part/templates/part/part_base.html:260 stock/api.py:791 +#: part/api.py:1494 part/models.py:936 part/models.py:3385 part/models.py:3936 +#: part/serializers.py:419 part/serializers.py:1158 +#: part/templates/part/part_base.html:260 stock/api.py:783 #: 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:2380 msgid "Category" msgstr "" -#: part/api.py:1796 +#: part/api.py:1784 msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:104 part/models.py:975 +#: part/bom.py:170 part/models.py:104 part/models.py:979 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:833 +#: part/bom.py:171 part/serializers.py:861 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "Цялостна наличност" @@ -6147,7 +6383,7 @@ msgstr "Цялостна наличност" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:85 part/models.py:3890 part/templates/part/category.html:16 +#: part/models.py:85 part/models.py:3937 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -6162,7 +6398,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:110 stock/models.py:175 templates/js/translated/part.js:2810 +#: part/models.py:110 stock/models.py:175 templates/js/translated/part.js:2813 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 @@ -6194,1002 +6430,1035 @@ msgstr "" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:485 +#: part/models.py:486 +msgid "Cannot delete this part as it is locked" +msgstr "" + +#: part/models.py:489 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:490 +#: part/models.py:494 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:528 +#: part/models.py:532 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:576 part/models.py:583 +#: part/models.py:580 part/models.py:587 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:595 +#: part/models.py:599 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:658 +#: part/models.py:662 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:736 +#: part/models.py:740 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:837 +#: part/models.py:841 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:847 +#: part/models.py:851 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:862 +#: part/models.py:866 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:891 part/models.py:3945 +#: part/models.py:895 part/models.py:3992 msgid "Part name" msgstr "" -#: part/models.py:896 +#: part/models.py:900 msgid "Is Template" msgstr "" -#: part/models.py:897 +#: part/models.py:901 msgid "Is this part a template part?" msgstr "" -#: part/models.py:907 +#: part/models.py:911 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:915 +#: part/models.py:919 msgid "Part description (optional)" msgstr "" -#: part/models.py:923 +#: part/models.py:927 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:933 +#: part/models.py:937 msgid "Part category" msgstr "" -#: part/models.py:941 -msgid "Internal Part Number" -msgstr "" - -#: part/models.py:948 +#: part/models.py:952 msgid "Part revision or version number" msgstr "" -#: part/models.py:973 +#: part/models.py:977 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1019 part/templates/part/part_base.html:376 +#: part/models.py:1023 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:1020 +#: part/models.py:1024 msgid "Default supplier part" msgstr "" -#: part/models.py:1027 +#: part/models.py:1031 msgid "Default Expiry" msgstr "" -#: part/models.py:1028 +#: part/models.py:1032 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1037 +#: part/models.py:1041 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1046 +#: part/models.py:1050 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1053 +#: part/models.py:1057 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1059 +#: part/models.py:1063 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1065 +#: part/models.py:1069 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1071 +#: part/models.py:1075 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1077 +#: part/models.py:1081 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1081 +#: part/models.py:1085 msgid "Is this part active?" msgstr "" -#: part/models.py:1087 +#: part/models.py:1090 templates/js/translated/part.js:818 +#: templates/js/translated/table_filters.js:721 +msgid "Locked" +msgstr "" + +#: part/models.py:1091 +msgid "Locked parts cannot be edited" +msgstr "" + +#: part/models.py:1097 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1093 +#: part/models.py:1103 msgid "BOM checksum" msgstr "" -#: part/models.py:1094 +#: part/models.py:1104 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1102 +#: part/models.py:1112 msgid "BOM checked by" msgstr "" -#: part/models.py:1107 +#: part/models.py:1117 msgid "BOM checked date" msgstr "" -#: part/models.py:1123 +#: part/models.py:1133 msgid "Creation User" msgstr "" -#: part/models.py:1133 +#: part/models.py:1143 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1138 part/templates/part/part_base.html:339 +#: part/models.py:1148 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:2474 msgid "Last Stocktake" msgstr "" -#: part/models.py:2011 +#: part/models.py:2021 msgid "Sell multiple" msgstr "" -#: part/models.py:3002 +#: part/models.py:3012 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3018 +#: part/models.py:3028 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3019 +#: part/models.py:3029 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3025 +#: part/models.py:3035 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3026 +#: part/models.py:3036 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3032 +#: part/models.py:3042 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3033 +#: part/models.py:3043 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3039 +#: part/models.py:3049 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3040 +#: part/models.py:3050 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3046 +#: part/models.py:3056 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3047 +#: part/models.py:3057 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3053 +#: part/models.py:3063 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3054 +#: part/models.py:3064 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3060 +#: part/models.py:3070 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3061 +#: part/models.py:3071 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3067 +#: part/models.py:3077 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3068 +#: part/models.py:3078 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3074 +#: part/models.py:3084 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3075 +#: part/models.py:3085 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3081 +#: part/models.py:3091 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3082 +#: part/models.py:3092 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3089 +#: part/models.py:3099 msgid "Override minimum cost" msgstr "" -#: part/models.py:3096 +#: part/models.py:3106 msgid "Override maximum cost" msgstr "" -#: part/models.py:3103 +#: part/models.py:3113 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3110 +#: part/models.py:3120 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3116 +#: part/models.py:3126 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3117 +#: part/models.py:3127 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3123 +#: part/models.py:3133 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3124 +#: part/models.py:3134 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3130 +#: part/models.py:3140 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3131 +#: part/models.py:3141 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3137 +#: part/models.py:3147 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3138 +#: part/models.py:3148 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3157 +#: part/models.py:3167 msgid "Part for stocktake" msgstr "" -#: part/models.py:3162 +#: part/models.py:3172 msgid "Item Count" msgstr "" -#: part/models.py:3163 +#: part/models.py:3173 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3171 +#: part/models.py:3181 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3175 part/models.py:3258 +#: part/models.py:3185 part/models.py:3268 #: part/templates/part/part_scheduling.html:13 #: 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:1086 templates/js/translated/pricing.js:826 +#: templates/js/translated/part.js:1089 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 #: templates/js/translated/purchase_order.js:1731 #: templates/js/translated/stock.js:2821 msgid "Date" msgstr "" -#: part/models.py:3176 +#: part/models.py:3186 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3184 +#: part/models.py:3194 msgid "Additional notes" msgstr "" -#: part/models.py:3194 +#: part/models.py:3204 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3200 +#: part/models.py:3210 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3201 +#: part/models.py:3211 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3207 +#: part/models.py:3217 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3208 +#: part/models.py:3218 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3264 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3274 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3265 +#: part/models.py:3275 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3270 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3280 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3271 +#: part/models.py:3281 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3281 +#: part/models.py:3291 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3423 +#: part/models.py:3301 +msgid "Part Sale Price Break" +msgstr "" + +#: part/models.py:3413 +msgid "Part Test Template" +msgstr "" + +#: part/models.py:3439 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3444 part/models.py:3608 +#: part/models.py:3460 part/models.py:3629 msgid "Choices must be unique" msgstr "" -#: part/models.py:3455 +#: part/models.py:3471 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3466 +#: part/models.py:3482 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3483 templates/js/translated/part.js:2880 +#: part/models.py:3499 templates/js/translated/part.js:2883 msgid "Test Name" msgstr "" -#: part/models.py:3484 +#: part/models.py:3500 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3490 +#: part/models.py:3506 msgid "Test Key" msgstr "" -#: part/models.py:3491 +#: part/models.py:3507 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3498 +#: part/models.py:3514 msgid "Test Description" msgstr "" -#: part/models.py:3499 +#: part/models.py:3515 msgid "Enter description for this test" msgstr "" -#: part/models.py:3503 report/models.py:209 -#: templates/js/translated/part.js:2901 +#: part/models.py:3519 report/models.py:209 +#: templates/js/translated/part.js:2904 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "" -#: part/models.py:3503 +#: part/models.py:3519 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3508 templates/js/translated/part.js:2909 +#: part/models.py:3524 templates/js/translated/part.js:2912 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3509 +#: part/models.py:3525 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3514 templates/js/translated/part.js:2917 +#: part/models.py:3530 templates/js/translated/part.js:2920 msgid "Requires Value" msgstr "" -#: part/models.py:3515 +#: part/models.py:3531 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3520 templates/js/translated/part.js:2924 +#: part/models.py:3536 templates/js/translated/part.js:2927 msgid "Requires Attachment" msgstr "" -#: part/models.py:3522 +#: part/models.py:3538 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3528 part/models.py:3667 templates/js/translated/part.js:1637 +#: part/models.py:3544 part/models.py:3688 templates/js/translated/part.js:1640 msgid "Choices" msgstr "" -#: part/models.py:3529 +#: part/models.py:3545 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3583 +#: part/models.py:3577 +msgid "Part Parameter Template" +msgstr "" + +#: part/models.py:3604 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3588 +#: part/models.py:3609 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3625 +#: part/models.py:3646 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3640 +#: part/models.py:3661 msgid "Parameter Name" msgstr "" -#: part/models.py:3647 +#: part/models.py:3668 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3655 +#: part/models.py:3676 msgid "Parameter description" msgstr "" -#: part/models.py:3661 templates/js/translated/part.js:1628 -#: templates/js/translated/table_filters.js:825 +#: part/models.py:3682 templates/js/translated/part.js:1631 +#: templates/js/translated/table_filters.js:830 msgid "Checkbox" msgstr "" -#: part/models.py:3662 +#: part/models.py:3683 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3668 +#: part/models.py:3689 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3745 +#: part/models.py:3723 +msgid "Part Parameter" +msgstr "" + +#: part/models.py:3749 +msgid "Parameter cannot be modified - part is locked" +msgstr "" + +#: part/models.py:3785 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3788 +#: part/models.py:3828 msgid "Parent Part" msgstr "" -#: part/models.py:3796 part/models.py:3897 part/models.py:3898 +#: part/models.py:3836 part/models.py:3944 part/models.py:3945 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3801 -msgid "Data" +#: part/models.py:3842 +msgid "Parameter Value" msgstr "" -#: part/models.py:3802 -msgid "Parameter Value" +#: part/models.py:3892 +msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:3904 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3951 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3905 +#: part/models.py:3952 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3943 +#: part/models.py:3990 msgid "Part ID or part name" msgstr "" -#: part/models.py:3944 +#: part/models.py:3991 msgid "Unique part ID value" msgstr "" -#: part/models.py:3946 +#: part/models.py:3993 msgid "Part IPN value" msgstr "" -#: part/models.py:3947 +#: part/models.py:3994 msgid "Level" msgstr "" -#: part/models.py:3947 +#: part/models.py:3994 msgid "BOM level" msgstr "" -#: part/models.py:4037 +#: part/models.py:4105 +msgid "BOM item cannot be modified - assembly is locked" +msgstr "" + +#: part/models.py:4112 +msgid "BOM item cannot be modified - variant assembly is locked" +msgstr "" + +#: part/models.py:4122 msgid "Select parent part" msgstr "" -#: part/models.py:4047 +#: part/models.py:4132 msgid "Sub part" msgstr "" -#: part/models.py:4048 +#: part/models.py:4133 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4059 +#: part/models.py:4144 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4065 +#: part/models.py:4150 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4071 +#: part/models.py:4156 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4078 part/templates/part/upload_bom.html:55 +#: part/models.py:4163 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4079 +#: part/models.py:4164 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4086 +#: part/models.py:4171 msgid "BOM item reference" msgstr "" -#: part/models.py:4094 +#: part/models.py:4179 msgid "BOM item notes" msgstr "" -#: part/models.py:4100 +#: part/models.py:4185 msgid "Checksum" msgstr "" -#: part/models.py:4101 +#: part/models.py:4186 msgid "BOM line checksum" msgstr "" -#: part/models.py:4106 templates/js/translated/table_filters.js:174 +#: part/models.py:4191 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4107 +#: part/models.py:4192 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4112 part/templates/part/upload_bom.html:57 +#: part/models.py:4197 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:4113 +#: part/models.py:4198 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4118 part/templates/part/upload_bom.html:56 +#: part/models.py:4203 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4119 +#: part/models.py:4204 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4204 stock/models.py:663 +#: part/models.py:4289 stock/models.py:663 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4214 part/models.py:4216 +#: part/models.py:4299 part/models.py:4301 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4354 +#: part/models.py:4439 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4375 +#: part/models.py:4460 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4388 +#: part/models.py:4473 msgid "Parent BOM item" msgstr "" -#: part/models.py:4396 +#: part/models.py:4481 msgid "Substitute part" msgstr "" -#: part/models.py:4412 +#: part/models.py:4497 msgid "Part 1" msgstr "" -#: part/models.py:4420 +#: part/models.py:4505 msgid "Part 2" msgstr "" -#: part/models.py:4421 +#: part/models.py:4506 msgid "Select Related Part" msgstr "" -#: part/models.py:4440 +#: part/models.py:4525 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4445 +#: part/models.py:4530 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:118 +#: part/serializers.py:124 msgid "Parent Category" msgstr "" -#: part/serializers.py:119 templates/js/translated/part.js:309 +#: part/serializers.py:125 templates/js/translated/part.js:308 msgid "Parent part category" msgstr "" -#: part/serializers.py:126 part/serializers.py:148 +#: part/serializers.py:132 part/serializers.py:154 #: part/templates/part/category.html:122 part/templates/part/category.html:207 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" -#: part/serializers.py:180 +#: part/serializers.py:189 msgid "Results" msgstr "" -#: part/serializers.py:181 +#: part/serializers.py:190 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:205 part/serializers.py:223 stock/serializers.py:562 +#: part/serializers.py:217 part/serializers.py:235 stock/serializers.py:608 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:268 +#: part/serializers.py:283 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:392 +#: part/serializers.py:410 msgid "No parts selected" msgstr "" -#: part/serializers.py:402 +#: part/serializers.py:420 msgid "Select category" msgstr "" -#: part/serializers.py:437 +#: part/serializers.py:455 msgid "Original Part" msgstr "" -#: part/serializers.py:438 +#: part/serializers.py:456 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:461 msgid "Copy Image" msgstr "" -#: part/serializers.py:444 +#: part/serializers.py:462 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:450 part/templates/part/detail.html:277 +#: part/serializers.py:468 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:451 +#: part/serializers.py:469 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:457 +#: part/serializers.py:475 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:458 +#: part/serializers.py:476 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:464 +#: part/serializers.py:482 msgid "Copy Notes" msgstr "" -#: part/serializers.py:465 +#: part/serializers.py:483 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:483 +#: part/serializers.py:501 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:485 +#: part/serializers.py:503 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:492 +#: part/serializers.py:510 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:493 +#: part/serializers.py:511 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:510 +#: part/serializers.py:528 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:526 +#: part/serializers.py:544 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:536 +#: part/serializers.py:554 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:543 +#: part/serializers.py:561 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:552 +#: part/serializers.py:570 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:563 +#: part/serializers.py:581 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:570 +#: part/serializers.py:588 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:834 -msgid "External Stock" -msgstr "" - -#: part/serializers.py:836 +#: part/serializers.py:864 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:839 +#: part/serializers.py:867 msgid "Variant Stock" msgstr "" -#: part/serializers.py:869 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:472 +#: part/serializers.py:897 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:870 +#: part/serializers.py:898 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:876 templates/js/translated/part.js:102 +#: part/serializers.py:904 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:877 +#: part/serializers.py:905 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:883 +#: part/serializers.py:911 msgid "Supplier Information" msgstr "" -#: part/serializers.py:884 +#: part/serializers.py:912 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:892 +#: part/serializers.py:920 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:893 +#: part/serializers.py:921 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:898 +#: part/serializers.py:926 msgid "Existing Image" msgstr "" -#: part/serializers.py:899 +#: part/serializers.py:927 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:916 +#: part/serializers.py:944 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1122 +#: part/serializers.py:1150 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1132 +#: part/serializers.py:1160 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1142 +#: part/serializers.py:1170 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1148 +#: part/serializers.py:1176 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1149 +#: part/serializers.py:1177 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1154 +#: part/serializers.py:1182 msgid "Generate Report" msgstr "" -#: part/serializers.py:1155 +#: part/serializers.py:1183 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1160 +#: part/serializers.py:1188 msgid "Update Parts" msgstr "" -#: part/serializers.py:1161 +#: part/serializers.py:1189 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1169 +#: part/serializers.py:1197 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1275 +#: part/serializers.py:1303 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1282 +#: part/serializers.py:1310 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1290 +#: part/serializers.py:1318 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1297 +#: part/serializers.py:1325 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1326 +#: part/serializers.py:1354 msgid "Update" msgstr "" -#: part/serializers.py:1327 +#: part/serializers.py:1355 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1350 +#: part/serializers.py:1378 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1357 +#: part/serializers.py:1385 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1360 +#: part/serializers.py:1388 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1727 +#: part/serializers.py:1759 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1735 +#: part/serializers.py:1767 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1736 +#: part/serializers.py:1768 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1741 +#: part/serializers.py:1773 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1742 +#: part/serializers.py:1774 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1747 +#: part/serializers.py:1779 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1748 +#: part/serializers.py:1780 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1753 +#: part/serializers.py:1785 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1754 +#: part/serializers.py:1786 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1788 +#: part/serializers.py:1823 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1789 +#: part/serializers.py:1824 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1819 +#: part/serializers.py:1856 msgid "No part column specified" msgstr "" -#: part/serializers.py:1863 +#: part/serializers.py:1900 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1866 +#: part/serializers.py:1903 msgid "No matching part found" msgstr "" -#: part/serializers.py:1869 +#: part/serializers.py:1906 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1878 +#: part/serializers.py:1915 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1886 +#: part/serializers.py:1923 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1907 +#: part/serializers.py:1946 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:225 templates/js/translated/part.js:1067 -#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 +#: part/stocktake.py:225 templates/js/translated/part.js:1070 +#: templates/js/translated/part.js:1825 templates/js/translated/part.js:1881 #: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "" @@ -7507,7 +7776,7 @@ msgstr "" #: part/templates/part/part_base.html:52 #: stock/templates/stock/item_base.html:62 -#: stock/templates/stock/location.html:74 templates/js/translated/label.js:143 +#: stock/templates/stock/location.html:74 templates/js/translated/label.js:136 msgid "Print Label" msgstr "" @@ -7529,7 +7798,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:2296 msgid "Part actions" msgstr "" @@ -7569,6 +7838,10 @@ msgstr "" msgid "Part can be sold to customers" msgstr "" +#: part/templates/part/part_base.html:145 +msgid "Part is not active" +msgstr "" + #: part/templates/part/part_base.html:153 msgid "Part is virtual (not a physical part)" msgstr "" @@ -7597,7 +7870,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:322 templates/js/translated/bom.js:1071 -#: templates/js/translated/part.js:1265 templates/js/translated/part.js:2444 +#: templates/js/translated/part.js:1268 templates/js/translated/part.js:2447 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" @@ -7690,8 +7963,8 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/part.js:1243 templates/js/translated/part.js:2146 -#: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 +#: templates/js/translated/part.js:1246 templates/js/translated/part.js:2149 +#: templates/js/translated/part.js:2395 templates/js/translated/stock.js:1059 #: templates/js/translated/stock.js:2070 templates/navbar.html:31 msgid "Stock" msgstr "Наличност" @@ -7811,8 +8084,8 @@ msgstr "" #: part/templates/part/stock_count.html:7 #: templates/js/translated/model_renderers.js:227 -#: templates/js/translated/part.js:705 templates/js/translated/part.js:2141 -#: templates/js/translated/part.js:2143 +#: templates/js/translated/part.js:704 templates/js/translated/part.js:2144 +#: templates/js/translated/part.js:2146 msgid "No Stock" msgstr "Няма наличност" @@ -7956,7 +8229,7 @@ msgstr "" msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2589 +#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2590 #: templates/js/translated/sales_order.js:1953 msgid "Insufficient stock available" msgstr "" @@ -8051,7 +8324,7 @@ msgstr "" msgid "Quantity to allocate" msgstr "" -#: plugin/base/label/label.py:39 templates/js/translated/label.js:155 +#: plugin/base/label/label.py:39 templates/js/translated/label.js:148 msgid "Label printing failed" msgstr "" @@ -8748,7 +9021,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report.html:25 #: report/templates/report/inventree_test_report.html:88 stock/models.py:825 -#: stock/serializers.py:149 stock/templates/stock/item_base.html:311 +#: stock/serializers.py:151 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:230 @@ -8778,7 +9051,7 @@ msgstr "" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2447 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2457 msgid "Result" msgstr "" @@ -8799,7 +9072,7 @@ msgid "No result" msgstr "" #: report/templates/report/inventree_test_report.html:153 -#: stock/templates/stock/stock_sidebar.html:16 +#: stock/serializers.py:591 stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" @@ -8829,10 +9102,6 @@ msgstr "" msgid "Location ID" msgstr "" -#: stock/admin.py:53 stock/admin.py:175 -msgid "Location Name" -msgstr "" - #: stock/admin.py:63 stock/templates/stock/location.html:131 #: stock/templates/stock/location.html:137 msgid "Location Path" @@ -8909,7 +9178,7 @@ msgstr "" msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:369 stock/serializers.py:1085 +#: stock/api.py:369 stock/serializers.py:1148 msgid "Parent Location" msgstr "" @@ -8917,44 +9186,45 @@ msgstr "" msgid "Filter by parent location" msgstr "" -#: stock/api.py:625 templates/js/translated/table_filters.js:427 +#: stock/api.py:617 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:813 +#: stock/api.py:805 msgid "Part Tree" msgstr "" -#: stock/api.py:843 +#: stock/api.py:835 msgid "Expiry date before" msgstr "" -#: stock/api.py:847 +#: stock/api.py:839 msgid "Expiry date after" msgstr "" -#: stock/api.py:850 stock/templates/stock/item_base.html:439 +#: stock/api.py:842 stock/serializers.py:596 +#: stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "" -#: stock/api.py:937 +#: stock/api.py:929 msgid "Quantity is required" msgstr "" -#: stock/api.py:943 +#: stock/api.py:935 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:974 +#: stock/api.py:966 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:984 +#: stock/api.py:976 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1015 +#: stock/api.py:1007 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -9021,7 +9291,7 @@ msgstr "" msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:669 stock/serializers.py:446 +#: stock/models.py:669 stock/serializers.py:477 msgid "Stock item cannot be created for virtual parts" msgstr "" @@ -9066,7 +9336,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:799 stock/serializers.py:1476 +#: stock/models.py:799 stock/serializers.py:1542 msgid "Packaging this stock item is stored in" msgstr "" @@ -9078,7 +9348,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:843 stock/serializers.py:1459 +#: stock/models.py:843 stock/serializers.py:1525 msgid "Batch code for this stock item" msgstr "" @@ -9155,7 +9425,7 @@ msgstr "" msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1520 stock/serializers.py:660 +#: stock/models.py:1520 stock/serializers.py:718 msgid "Serial numbers already exist" msgstr "" @@ -9187,7 +9457,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1658 stock/serializers.py:1365 +#: stock/models.py:1658 stock/serializers.py:1431 msgid "Duplicate stock items" msgstr "" @@ -9207,288 +9477,330 @@ msgstr "" msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2345 +#: stock/models.py:2317 +msgid "Stock Item Tracking" +msgstr "" + +#: stock/models.py:2350 msgid "Entry notes" msgstr "" -#: stock/models.py:2413 +#: stock/models.py:2390 +msgid "Stock Item Test Result" +msgstr "" + +#: stock/models.py:2423 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2418 +#: stock/models.py:2428 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2423 +#: stock/models.py:2433 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2447 +#: stock/models.py:2457 msgid "Test result" msgstr "" -#: stock/models.py:2454 +#: stock/models.py:2464 msgid "Test output value" msgstr "" -#: stock/models.py:2462 +#: stock/models.py:2472 msgid "Test result attachment" msgstr "" -#: stock/models.py:2466 +#: stock/models.py:2476 msgid "Test notes" msgstr "" -#: stock/models.py:2474 templates/js/translated/stock.js:1548 +#: stock/models.py:2484 templates/js/translated/stock.js:1548 msgid "Test station" msgstr "" -#: stock/models.py:2475 +#: stock/models.py:2485 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2481 +#: stock/models.py:2491 msgid "Started" msgstr "" -#: stock/models.py:2482 +#: stock/models.py:2492 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2488 +#: stock/models.py:2498 msgid "Finished" msgstr "" -#: stock/models.py:2489 +#: stock/models.py:2499 msgid "The timestamp of the test finish" msgstr "" -#: stock/serializers.py:74 +#: stock/serializers.py:76 msgid "Generated batch code" msgstr "" -#: stock/serializers.py:83 +#: stock/serializers.py:85 msgid "Select build order" msgstr "" -#: stock/serializers.py:92 +#: stock/serializers.py:94 msgid "Select stock item to generate batch code for" msgstr "" -#: stock/serializers.py:101 +#: stock/serializers.py:103 msgid "Select location to generate batch code for" msgstr "" -#: stock/serializers.py:110 +#: stock/serializers.py:112 msgid "Select part to generate batch code for" msgstr "" -#: stock/serializers.py:119 +#: stock/serializers.py:121 msgid "Select purchase order" msgstr "" -#: stock/serializers.py:126 +#: stock/serializers.py:128 msgid "Enter quantity for batch code" msgstr "" -#: stock/serializers.py:149 +#: stock/serializers.py:151 msgid "Generated serial number" msgstr "" -#: stock/serializers.py:158 +#: stock/serializers.py:160 msgid "Select part to generate serial number for" msgstr "" -#: stock/serializers.py:166 +#: stock/serializers.py:168 msgid "Quantity of serial numbers to generate" msgstr "" -#: stock/serializers.py:228 +#: stock/serializers.py:233 msgid "Test template for this result" msgstr "" -#: stock/serializers.py:247 +#: stock/serializers.py:252 msgid "Template ID or test name must be provided" msgstr "" -#: stock/serializers.py:279 +#: stock/serializers.py:284 msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:315 +#: stock/serializers.py:320 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:438 +#: stock/serializers.py:449 stock/templates/stock/item_base.html:193 +msgid "Parent Item" +msgstr "" + +#: stock/serializers.py:450 +msgid "Parent stock item" +msgstr "" + +#: stock/serializers.py:469 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:558 +#: stock/serializers.py:585 templates/js/translated/build.js:991 +#: templates/js/translated/build.js:2344 +msgid "Allocated Quantity" +msgstr "" + +#: stock/serializers.py:588 stock/templates/stock/item_base.html:437 +#: templates/js/translated/table_filters.js:435 users/models.py:174 +msgid "Expired" +msgstr "" + +#: stock/serializers.py:594 stock/templates/stock/stock_sidebar.html:20 +msgid "Child Items" +msgstr "" + +#: stock/serializers.py:598 +msgid "Tracking Items" +msgstr "" + +#: stock/serializers.py:604 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:595 +#: stock/serializers.py:623 +msgid "Minimum Pricing" +msgstr "" + +#: stock/serializers.py:629 +msgid "Maximum Pricing" +msgstr "" + +#: stock/serializers.py:653 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:608 +#: stock/serializers.py:666 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:615 +#: stock/serializers.py:673 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:626 stock/serializers.py:1322 stock/serializers.py:1578 +#: stock/serializers.py:684 stock/serializers.py:1388 stock/serializers.py:1644 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:633 +#: stock/serializers.py:691 msgid "Optional note field" msgstr "" -#: stock/serializers.py:643 +#: stock/serializers.py:701 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:698 +#: stock/serializers.py:756 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:705 +#: stock/serializers.py:763 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:706 +#: stock/serializers.py:764 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:711 stock/serializers.py:791 stock/serializers.py:887 -#: stock/serializers.py:937 +#: stock/serializers.py:769 stock/serializers.py:849 stock/serializers.py:945 +#: stock/serializers.py:995 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:719 +#: stock/serializers.py:777 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:727 +#: stock/serializers.py:785 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:738 +#: stock/serializers.py:796 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:751 +#: stock/serializers.py:809 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:786 +#: stock/serializers.py:844 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:821 +#: stock/serializers.py:879 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:834 +#: stock/serializers.py:892 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:851 +#: stock/serializers.py:909 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:882 +#: stock/serializers.py:940 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:919 +#: stock/serializers.py:977 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:925 +#: stock/serializers.py:983 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1021 stock/serializers.py:1093 +#: stock/serializers.py:1079 stock/serializers.py:1156 #: stock/templates/stock/location.html:165 #: stock/templates/stock/location.html:222 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1086 templates/js/translated/stock.js:152 +#: stock/serializers.py:1149 templates/js/translated/stock.js:152 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1194 +#: stock/serializers.py:1260 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1198 +#: stock/serializers.py:1264 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1202 +#: stock/serializers.py:1268 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1226 +#: stock/serializers.py:1292 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1232 +#: stock/serializers.py:1298 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1240 +#: stock/serializers.py:1306 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1250 stock/serializers.py:1504 +#: stock/serializers.py:1316 stock/serializers.py:1570 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1329 +#: stock/serializers.py:1395 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1334 +#: stock/serializers.py:1400 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1335 +#: stock/serializers.py:1401 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1340 +#: stock/serializers.py:1406 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1341 +#: stock/serializers.py:1407 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1351 +#: stock/serializers.py:1417 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1418 +#: stock/serializers.py:1484 msgid "No Change" msgstr "" -#: stock/serializers.py:1447 +#: stock/serializers.py:1513 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1466 +#: stock/serializers.py:1532 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1494 +#: stock/serializers.py:1560 msgid "Stock transaction notes" msgstr "" @@ -9757,10 +10069,6 @@ msgstr "" msgid "Build" msgstr "" -#: stock/templates/stock/item_base.html:193 -msgid "Parent Item" -msgstr "" - #: stock/templates/stock/item_base.html:211 msgid "No manufacturer set" msgstr "" @@ -9836,11 +10144,6 @@ msgstr "" msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:437 -#: templates/js/translated/table_filters.js:435 users/models.py:174 -msgid "Expired" -msgstr "" - #: stock/templates/stock/item_base.html:439 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" @@ -9988,10 +10291,6 @@ msgstr "" msgid "Allocations" msgstr "" -#: stock/templates/stock/stock_sidebar.html:20 -msgid "Child Items" -msgstr "" - #: templates/403.html:6 templates/403.html:12 templates/403_csrf.html:7 msgid "Permission Denied" msgstr "" @@ -10466,8 +10765,8 @@ 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:393 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:245 users/models.py:402 +#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 +#: templates/js/translated/stock.js:245 users/models.py:406 msgid "Delete" msgstr "" @@ -10507,12 +10806,12 @@ msgid "No category parameter templates found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:308 -#: templates/js/translated/part.js:1646 +#: templates/js/translated/part.js:1649 msgid "Edit Template" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:309 -#: templates/js/translated/part.js:1647 +#: templates/js/translated/part.js:1650 msgid "Delete Template" msgstr "" @@ -11145,7 +11444,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2556 +#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2557 msgid "Required Quantity" msgstr "" @@ -11159,7 +11458,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3219 +#: templates/js/translated/part.js:3222 msgid "Minimum Quantity" msgstr "" @@ -11514,7 +11813,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2500 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2501 msgid "Variant stock allowed" msgstr "" @@ -11534,30 +11833,30 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2621 +#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2622 msgid "External stock" msgstr "" -#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2595 +#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2596 #: templates/js/translated/sales_order.js:1946 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2599 +#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2600 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2601 -#: templates/js/translated/part.js:1257 +#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2602 +#: templates/js/translated/part.js:1260 #: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2603 +#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2604 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2586 +#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2587 msgid "Consumable item" msgstr "" @@ -11589,7 +11888,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2485 +#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2486 msgid "Required Part" msgstr "" @@ -11758,10 +12057,6 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:991 templates/js/translated/build.js:2344 -msgid "Allocated Quantity" -msgstr "" - #: templates/js/translated/build.js:1005 msgid "Location not specified" msgstr "" @@ -11873,9 +12168,9 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2117 templates/js/translated/build.js:2479 +#: templates/js/translated/build.js:2117 templates/js/translated/build.js:2480 #: templates/js/translated/forms.js:2163 templates/js/translated/forms.js:2179 -#: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 +#: templates/js/translated/part.js:2319 templates/js/translated/part.js:2745 #: templates/js/translated/stock.js:1983 templates/js/translated/stock.js:2710 msgid "Select" msgstr "" @@ -11906,59 +12201,59 @@ msgstr "" msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2455 +#: templates/js/translated/build.js:2456 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2456 +#: templates/js/translated/build.js:2457 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2474 +#: templates/js/translated/build.js:2475 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2504 templates/js/translated/part.js:791 -#: templates/js/translated/part.js:1203 +#: templates/js/translated/build.js:2505 templates/js/translated/part.js:790 +#: templates/js/translated/part.js:1206 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2539 +#: templates/js/translated/build.js:2540 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2591 +#: templates/js/translated/build.js:2592 #: templates/js/translated/sales_order.js:1951 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2646 +#: templates/js/translated/build.js:2647 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2653 +#: templates/js/translated/build.js:2654 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2654 +#: templates/js/translated/build.js:2655 msgid "Allocate tracked items against individual build outputs" msgstr "" -#: templates/js/translated/build.js:2662 +#: templates/js/translated/build.js:2663 #: templates/js/translated/sales_order.js:2052 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2667 templates/js/translated/stock.js:1868 +#: templates/js/translated/build.js:2668 templates/js/translated/stock.js:1868 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2671 +#: templates/js/translated/build.js:2672 #: templates/js/translated/sales_order.js:2046 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2675 +#: templates/js/translated/build.js:2676 msgid "Remove stock allocation" msgstr "" @@ -12105,7 +12400,7 @@ msgid "Delete Parameters" msgstr "" #: templates/js/translated/company.js:1191 -#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2245 +#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2248 msgid "Order parts" msgstr "" @@ -12122,34 +12417,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:1279 -#: templates/js/translated/company.js:1567 templates/js/translated/part.js:799 -#: templates/js/translated/part.js:1211 +#: templates/js/translated/company.js:1567 templates/js/translated/part.js:798 +#: templates/js/translated/part.js:1214 msgid "Template part" msgstr "" #: templates/js/translated/company.js:1283 -#: templates/js/translated/company.js:1571 templates/js/translated/part.js:803 -#: templates/js/translated/part.js:1215 +#: templates/js/translated/company.js:1571 templates/js/translated/part.js:802 +#: templates/js/translated/part.js:1218 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1465 +#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1468 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1528 +#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1531 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1529 +#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1532 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1434 +#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1437 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1550 +#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1553 msgid "Delete Parameter" msgstr "" @@ -12323,15 +12618,15 @@ msgstr "" msgid "No parts required for builds" msgstr "" -#: templates/js/translated/label.js:55 templates/js/translated/report.js:38 +#: templates/js/translated/label.js:48 templates/js/translated/report.js:38 msgid "Select Items" msgstr "" -#: templates/js/translated/label.js:56 templates/js/translated/report.js:39 +#: templates/js/translated/label.js:49 templates/js/translated/report.js:39 msgid "No items selected for printing" msgstr "" -#: templates/js/translated/label.js:150 +#: templates/js/translated/label.js:143 msgid "Labels sent to printer" msgstr "" @@ -12400,7 +12695,7 @@ msgstr "" #: templates/js/translated/news.js:38 #: templates/js/translated/notification.js:46 -#: templates/js/translated/part.js:1605 +#: templates/js/translated/part.js:1608 msgid "ID" msgstr "" @@ -12481,343 +12776,343 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:333 templates/js/translated/stock.js:175 +#: templates/js/translated/part.js:332 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:353 +#: templates/js/translated/part.js:352 msgid "Create Part Category" msgstr "" -#: templates/js/translated/part.js:356 +#: templates/js/translated/part.js:355 msgid "Create new category after this one" msgstr "" -#: templates/js/translated/part.js:357 +#: templates/js/translated/part.js:356 msgid "Part category created" msgstr "" -#: templates/js/translated/part.js:371 +#: templates/js/translated/part.js:370 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:384 +#: templates/js/translated/part.js:383 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:389 +#: templates/js/translated/part.js:388 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:398 +#: templates/js/translated/part.js:397 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:402 +#: templates/js/translated/part.js:401 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:407 +#: templates/js/translated/part.js:406 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:431 +#: templates/js/translated/part.js:430 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:433 +#: templates/js/translated/part.js:432 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:434 +#: templates/js/translated/part.js:433 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:462 +#: templates/js/translated/part.js:461 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:464 +#: templates/js/translated/part.js:463 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:475 +#: templates/js/translated/part.js:474 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:532 +#: templates/js/translated/part.js:531 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:533 +#: templates/js/translated/part.js:532 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:547 +#: templates/js/translated/part.js:546 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:549 +#: templates/js/translated/part.js:548 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:550 +#: templates/js/translated/part.js:549 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:551 +#: templates/js/translated/part.js:550 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:558 +#: templates/js/translated/part.js:557 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:594 +#: templates/js/translated/part.js:593 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:596 +#: templates/js/translated/part.js:595 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:601 +#: templates/js/translated/part.js:600 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:603 +#: templates/js/translated/part.js:602 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:620 +#: templates/js/translated/part.js:619 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:630 +#: templates/js/translated/part.js:629 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:633 +#: templates/js/translated/part.js:632 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:658 +#: templates/js/translated/part.js:657 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:686 -#: templates/js/translated/table_filters.js:747 +#: templates/js/translated/part.js:685 +#: templates/js/translated/table_filters.js:752 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:689 +#: templates/js/translated/part.js:688 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:749 +#: templates/js/translated/part.js:748 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:772 +#: templates/js/translated/part.js:771 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:795 templates/js/translated/part.js:1207 +#: templates/js/translated/part.js:794 templates/js/translated/part.js:1210 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:807 +#: templates/js/translated/part.js:806 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:811 +#: templates/js/translated/part.js:810 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:890 +#: templates/js/translated/part.js:893 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:890 +#: templates/js/translated/part.js:893 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:898 +#: templates/js/translated/part.js:901 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:902 +#: templates/js/translated/part.js:905 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:1051 +#: templates/js/translated/part.js:1054 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1109 templates/js/translated/part.js:1145 +#: templates/js/translated/part.js:1112 templates/js/translated/part.js:1148 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1113 templates/js/translated/part.js:1155 +#: templates/js/translated/part.js:1116 templates/js/translated/part.js:1158 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1282 +#: templates/js/translated/part.js:1285 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1600 +#: templates/js/translated/part.js:1603 msgid "No part parameter templates found" msgstr "" -#: templates/js/translated/part.js:1663 +#: templates/js/translated/part.js:1666 msgid "Edit Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1675 +#: templates/js/translated/part.js:1678 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/js/translated/part.js:1683 +#: templates/js/translated/part.js:1686 msgid "Delete Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1717 +#: templates/js/translated/part.js:1720 #: templates/js/translated/purchase_order.js:1654 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/part.js:1861 +#: templates/js/translated/part.js:1864 #: 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:1907 +#: templates/js/translated/part.js:1910 #: templates/js/translated/purchase_order.js:2220 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1970 +#: templates/js/translated/part.js:1973 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1992 +#: templates/js/translated/part.js:1995 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2080 templates/js/translated/part.js:2506 +#: templates/js/translated/part.js:2083 templates/js/translated/part.js:2509 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:2201 +#: templates/js/translated/part.js:2204 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2206 +#: templates/js/translated/part.js:2209 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2236 +#: templates/js/translated/part.js:2239 msgid "Set category" msgstr "" -#: templates/js/translated/part.js:2287 +#: templates/js/translated/part.js:2290 msgid "part" msgstr "" -#: templates/js/translated/part.js:2288 +#: templates/js/translated/part.js:2291 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2384 +#: templates/js/translated/part.js:2387 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 +#: templates/js/translated/part.js:2534 templates/js/translated/part.js:2664 #: templates/js/translated/stock.js:2669 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2547 +#: templates/js/translated/part.js:2550 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2645 +#: templates/js/translated/part.js:2648 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2689 +#: templates/js/translated/part.js:2684 templates/js/translated/stock.js:2689 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2761 +#: templates/js/translated/part.js:2764 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2777 +#: templates/js/translated/part.js:2780 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2865 +#: templates/js/translated/part.js:2868 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2887 templates/js/translated/search.js:342 +#: templates/js/translated/part.js:2890 templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/part.js:2937 templates/js/translated/stock.js:1456 +#: templates/js/translated/part.js:2940 templates/js/translated/stock.js:1456 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2938 templates/js/translated/stock.js:1457 +#: templates/js/translated/part.js:2941 templates/js/translated/stock.js:1457 #: templates/js/translated/stock.js:1731 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2942 +#: templates/js/translated/part.js:2945 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2958 +#: templates/js/translated/part.js:2961 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2972 +#: templates/js/translated/part.js:2975 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3051 templates/js/translated/part.js:3052 +#: templates/js/translated/part.js:3054 templates/js/translated/part.js:3055 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3054 +#: templates/js/translated/part.js:3057 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3060 +#: templates/js/translated/part.js:3063 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3110 +#: templates/js/translated/part.js:3113 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3116 +#: templates/js/translated/part.js:3119 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3212 +#: templates/js/translated/part.js:3215 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3228 +#: templates/js/translated/part.js:3231 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3273 +#: templates/js/translated/part.js:3276 msgid "Minimum Stock Level" msgstr "" @@ -13593,7 +13888,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1042 users/models.py:392 +#: templates/js/translated/stock.js:1042 users/models.py:396 msgid "Add" msgstr "" @@ -13947,7 +14242,7 @@ msgid "Include subcategories" msgstr "" #: templates/js/translated/table_filters.js:287 -#: templates/js/translated/table_filters.js:759 +#: templates/js/translated/table_filters.js:764 msgid "Subscribed" msgstr "" @@ -14102,40 +14397,44 @@ msgstr "" msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:725 +#: templates/js/translated/table_filters.js:722 +msgid "Show locked parts" +msgstr "" + +#: templates/js/translated/table_filters.js:730 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:733 -#: templates/js/translated/table_filters.js:833 +#: templates/js/translated/table_filters.js:738 +#: templates/js/translated/table_filters.js:838 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:734 +#: templates/js/translated/table_filters.js:739 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:738 +#: templates/js/translated/table_filters.js:743 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:739 +#: templates/js/translated/table_filters.js:744 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:743 +#: templates/js/translated/table_filters.js:748 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:751 +#: templates/js/translated/table_filters.js:756 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:763 +#: templates/js/translated/table_filters.js:768 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:829 +#: templates/js/translated/table_filters.js:834 msgid "Has Choices" msgstr "" @@ -14207,10 +14506,6 @@ msgstr "" msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:558 -msgid "Columns" -msgstr "" - #: templates/js/translated/tables.js:561 msgid "All" msgstr "" @@ -14484,35 +14779,34 @@ msgstr "" msgid "Revoked" msgstr "" -#: users/models.py:375 +#: users/models.py:379 msgid "Permission set" msgstr "" -#: users/models.py:384 +#: users/models.py:388 msgid "Group" msgstr "" -#: users/models.py:388 +#: users/models.py:392 msgid "View" msgstr "" -#: users/models.py:388 +#: users/models.py:392 msgid "Permission to view items" msgstr "" -#: users/models.py:392 +#: users/models.py:396 msgid "Permission to add items" msgstr "" -#: users/models.py:396 +#: users/models.py:400 msgid "Change" msgstr "" -#: users/models.py:398 +#: users/models.py:402 msgid "Permissions to edit items" msgstr "" -#: users/models.py:404 +#: users/models.py:408 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 102453494354..d8c0bbb0955b 100644 --- a/src/backend/InvenTree/locale/cs/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/cs/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-07-05 02:47+0000\n" +"POT-Creation-Date: 2024-07-08 14:46+0000\n" "PO-Revision-Date: 2024-07-05 14:57\n" "Last-Translator: \n" "Language-Team: Czech\n" @@ -21,7 +21,7 @@ msgstr "" msgid "API endpoint not found" msgstr "API endpoint nebyl nalezen" -#: InvenTree/api.py:520 +#: InvenTree/api.py:505 msgid "User does not have permission to view this model" msgstr "Uživatel nemá právo zobrazit tento model" @@ -56,21 +56,21 @@ msgstr "Podrobnosti o chybě lze nalézt v panelu administrace" msgid "Enter date" msgstr "Zadejte datum" -#: InvenTree/fields.py:205 InvenTree/models.py:918 build/serializers.py:452 -#: build/serializers.py:530 build/templates/build/sidebar.html:21 -#: company/models.py:817 company/templates/company/sidebar.html:37 +#: InvenTree/fields.py:205 InvenTree/models.py:921 build/serializers.py:456 +#: build/serializers.py:534 build/templates/build/sidebar.html:21 +#: company/models.py:824 company/templates/company/sidebar.html:37 #: order/models.py:1296 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:3183 part/templates/part/part_sidebar.html:63 +#: part/models.py:3193 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:230 stock/models.py:2344 stock/models.py:2466 -#: stock/serializers.py:632 stock/serializers.py:790 stock/serializers.py:886 -#: stock/serializers.py:936 stock/serializers.py:1239 stock/serializers.py:1328 -#: stock/serializers.py:1493 stock/templates/stock/stock_sidebar.html:25 +#: stock/admin.py:230 stock/models.py:2349 stock/models.py:2476 +#: stock/serializers.py:690 stock/serializers.py:848 stock/serializers.py:944 +#: stock/serializers.py:994 stock/serializers.py:1305 stock/serializers.py:1394 +#: stock/serializers.py:1559 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:1081 +#: templates/js/translated/part.js:1084 #: templates/js/translated/purchase_order.js:2200 #: templates/js/translated/return_order.js:775 #: templates/js/translated/sales_order.js:1103 @@ -371,41 +371,41 @@ msgstr "Metadata pluginu" msgid "JSON metadata field, for use by external plugins" msgstr "Pole metadat JSON pro použití externími pluginy" -#: InvenTree/models.py:408 +#: InvenTree/models.py:411 msgid "Improperly formatted pattern" msgstr "Nesprávně naformátovaný vzor" -#: InvenTree/models.py:415 +#: InvenTree/models.py:418 msgid "Unknown format key specified" msgstr "Neznámý formát klíče" -#: InvenTree/models.py:421 +#: InvenTree/models.py:424 msgid "Missing required format key" msgstr "Chybí požadovaný klíč" -#: InvenTree/models.py:432 +#: InvenTree/models.py:435 msgid "Reference field cannot be empty" msgstr "Referenční pole nemůže být prázdné" -#: InvenTree/models.py:440 +#: InvenTree/models.py:443 msgid "Reference must match required pattern" msgstr "Referenční číslo musí odpovídat požadovanému vzoru" -#: InvenTree/models.py:471 +#: InvenTree/models.py:474 msgid "Reference number is too large" msgstr "Referenční číslo je příliš velké" -#: InvenTree/models.py:719 +#: InvenTree/models.py:722 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:736 +#: InvenTree/models.py:739 msgid "Invalid choice" msgstr "Neplatný výběr" -#: InvenTree/models.py:766 common/models.py:2678 common/models.py:3103 -#: common/serializers.py:408 company/models.py:580 machine/models.py:24 -#: part/models.py:891 part/models.py:3639 plugin/models.py:51 +#: InvenTree/models.py:769 common/models.py:2659 common/models.py:3089 +#: common/serializers.py:412 company/models.py:587 machine/models.py:24 +#: part/models.py:895 part/models.py:3660 plugin/models.py:51 #: report/models.py:150 stock/models.py:74 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -417,20 +417,20 @@ msgstr "Neplatný výběr" #: templates/js/translated/company.js:724 #: templates/js/translated/company.js:913 #: templates/js/translated/company.js:1165 -#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1187 -#: templates/js/translated/part.js:1475 templates/js/translated/part.js:1611 -#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2716 +#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1190 +#: templates/js/translated/part.js:1478 templates/js/translated/part.js:1614 +#: templates/js/translated/part.js:2752 templates/js/translated/stock.js:2716 msgid "Name" msgstr "Název" -#: InvenTree/models.py:772 build/models.py:235 -#: build/templates/build/detail.html:24 common/models.py:138 -#: company/models.py:509 company/models.py:808 +#: InvenTree/models.py:775 build/models.py:242 +#: build/templates/build/detail.html:24 common/models.py:143 +#: company/models.py:515 company/models.py:815 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 -#: order/models.py:1329 part/admin.py:305 part/admin.py:408 part/models.py:914 -#: part/models.py:3654 part/templates/part/category.html:82 +#: order/models.py:1329 part/admin.py:305 part/admin.py:408 part/models.py:918 +#: part/models.py:3675 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:156 #: report/models.py:510 report/models.py:536 @@ -444,10 +444,10 @@ msgstr "Název" #: templates/js/translated/build.js:2139 templates/js/translated/company.js:519 #: templates/js/translated/company.js:1330 #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 -#: templates/js/translated/order.js:298 templates/js/translated/part.js:1239 -#: templates/js/translated/part.js:1484 templates/js/translated/part.js:1622 -#: templates/js/translated/part.js:1959 templates/js/translated/part.js:2355 -#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2897 +#: templates/js/translated/order.js:298 templates/js/translated/part.js:1242 +#: templates/js/translated/part.js:1487 templates/js/translated/part.js:1625 +#: templates/js/translated/part.js:1962 templates/js/translated/part.js:2358 +#: templates/js/translated/part.js:2788 templates/js/translated/part.js:2900 #: templates/js/translated/plugin.js:80 #: templates/js/translated/purchase_order.js:1706 #: templates/js/translated/purchase_order.js:1849 @@ -460,53 +460,53 @@ msgstr "Název" msgid "Description" msgstr "Popis" -#: InvenTree/models.py:773 stock/models.py:81 +#: InvenTree/models.py:776 stock/models.py:81 msgid "Description (optional)" msgstr "Popis (volitelně)" -#: InvenTree/models.py:788 templates/js/translated/part.js:2794 +#: InvenTree/models.py:791 templates/js/translated/part.js:2797 #: templates/js/translated/stock.js:2757 msgid "Path" msgstr "Cesta" -#: InvenTree/models.py:918 +#: InvenTree/models.py:921 msgid "Markdown notes (optional)" msgstr "Poznámky (volitelné)" -#: InvenTree/models.py:947 +#: InvenTree/models.py:950 msgid "Barcode Data" msgstr "Data čárového kódu" -#: InvenTree/models.py:948 +#: InvenTree/models.py:951 msgid "Third party barcode data" msgstr "Data čárového kódu třetí strany" -#: InvenTree/models.py:954 +#: InvenTree/models.py:957 msgid "Barcode Hash" msgstr "Hash čárového kódu" -#: InvenTree/models.py:955 +#: InvenTree/models.py:958 msgid "Unique hash of barcode data" msgstr "Jedinečný hash dat čárového kódu" -#: InvenTree/models.py:1008 +#: InvenTree/models.py:1011 msgid "Existing barcode found" msgstr "Nalezen existující čárový kód" -#: InvenTree/models.py:1051 +#: InvenTree/models.py:1054 msgid "Server Error" msgstr "Chyba serveru" -#: InvenTree/models.py:1052 +#: InvenTree/models.py:1055 msgid "An error has been logged by the server." msgstr "Server zaznamenal chybu." -#: InvenTree/serializers.py:63 part/models.py:4192 +#: InvenTree/serializers.py:63 part/models.py:4277 msgid "Must be a valid number" msgstr "Musí být platné číslo" #: InvenTree/serializers.py:100 company/models.py:186 -#: company/templates/company/company_base.html:112 part/models.py:3001 +#: company/templates/company/company_base.html:112 part/models.py:3011 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -556,16 +556,16 @@ msgstr "Super-uživatel" msgid "Is this user a superuser" msgstr "Je tento uživatel superuživatel" -#: InvenTree/serializers.py:445 common/models.py:2683 company/models.py:163 -#: company/models.py:782 machine/models.py:39 part/admin.py:88 -#: part/models.py:1081 plugin/models.py:66 +#: InvenTree/serializers.py:445 common/models.py:2664 company/models.py:163 +#: company/models.py:789 machine/models.py:39 part/admin.py:88 +#: part/models.py:1085 plugin/models.py:66 #: 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 #: templates/js/translated/table_filters.js:520 #: templates/js/translated/table_filters.js:716 -#: templates/js/translated/table_filters.js:796 users/models.py:182 +#: templates/js/translated/table_filters.js:801 users/models.py:182 msgid "Active" msgstr "Aktivní" @@ -597,7 +597,7 @@ msgstr "Vítejte v InvenTree" msgid "Invalid value" msgstr "Neplatná hodnota" -#: InvenTree/serializers.py:581 +#: InvenTree/serializers.py:581 importer/models.py:60 msgid "Data File" msgstr "Datový soubor" @@ -651,7 +651,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:1174 +#: InvenTree/status.py:66 part/serializers.py:1202 msgid "Background worker check failed" msgstr "Kontrola procesů na pozadí se nezdařila" @@ -711,47 +711,48 @@ msgstr "Informace o systému" msgid "About InvenTree" msgstr "O InvenTree" -#: build/api.py:255 +#: build/api.py:248 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:4070 templates/js/translated/bom.js:997 -#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 +#: build/api.py:292 build/serializers.py:1190 part/models.py:4155 +#: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 +#: templates/js/translated/build.js:2521 #: 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:4064 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 +#: build/api.py:293 build/serializers.py:1191 part/models.py:4149 +#: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 +#: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2530 #: templates/js/translated/table_filters.js:186 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:587 msgid "Optional" msgstr "Volitelné" -#: build/api.py:301 templates/js/translated/table_filters.js:408 +#: build/api.py:294 templates/js/translated/table_filters.js:408 #: templates/js/translated/table_filters.js:579 msgid "Tracked" msgstr "Sledováno" -#: build/api.py:303 part/admin.py:144 templates/js/translated/build.js:1744 -#: templates/js/translated/build.js:2629 +#: build/api.py:296 part/admin.py:144 templates/js/translated/build.js:1744 +#: templates/js/translated/build.js:2630 #: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:571 msgid "Allocated" msgstr "Přiděleno" -#: build/api.py:311 company/models.py:872 company/serializers.py:359 +#: build/api.py:304 company/models.py:879 company/serializers.py:386 #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2561 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2562 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:234 -#: templates/js/translated/part.js:693 templates/js/translated/part.js:695 -#: templates/js/translated/part.js:700 +#: 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 #: templates/js/translated/table_filters.js:575 msgid "Available" @@ -760,7 +761,7 @@ msgstr "Dostupné" #: build/models.py:85 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 -#: stock/serializers.py:82 templates/email/build_order_completed.html:16 +#: stock/serializers.py:84 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:2892 msgid "Build Order" @@ -781,35 +782,43 @@ msgstr "Vytvořené objednávky" msgid "Assembly BOM has not been validated" msgstr "" -#: build/models.py:134 part/templates/part/part_base.html:145 -msgid "Part is not active" -msgstr "" +#: build/models.py:134 +#, fuzzy +#| msgid "Build output cannot be specified for allocation of untracked parts" +msgid "Build order cannot be created for an inactive part" +msgstr "Výstup sestavy nelze zadat pro přidělení nesledovaných dílů" -#: build/models.py:148 +#: build/models.py:141 +#, fuzzy +#| msgid "Build output cannot be specified for allocation of untracked parts" +msgid "Build order cannot be created for an unlocked part" +msgstr "Výstup sestavy nelze zadat pro přidělení nesledovaných dílů" + +#: build/models.py:155 msgid "Invalid choice for parent build" msgstr "Neplatná volba nadřazeného sestavení" -#: build/models.py:159 order/models.py:240 +#: build/models.py:166 order/models.py:240 msgid "Responsible user or group must be specified" msgstr "Musí být specifikován odpovědný uživatel nebo skupina" -#: build/models.py:165 +#: build/models.py:172 msgid "Build order part cannot be changed" msgstr "Díly obědnávky sestavení nemohou být změněny" -#: build/models.py:226 +#: build/models.py:233 msgid "Build Order Reference" msgstr "Referenční číslo objednávky" -#: build/models.py:227 order/models.py:463 order/models.py:926 -#: order/models.py:1289 order/models.py:2020 part/admin.py:411 -#: part/models.py:4085 part/templates/part/upload_bom.html:54 +#: build/models.py:234 build/serializers.py:1189 order/models.py:463 +#: order/models.py:926 order/models.py:1289 order/models.py:2046 +#: part/admin.py:411 part/models.py:4170 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: 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/build.js:2513 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2065 #: templates/js/translated/return_order.js:728 @@ -817,27 +826,28 @@ msgstr "Referenční číslo objednávky" msgid "Reference" msgstr "Reference" -#: build/models.py:238 +#: build/models.py:245 msgid "Brief description of the build (optional)" msgstr "Stručný popis sestavení (nepovinné)" -#: build/models.py:246 build/templates/build/build_base.html:183 +#: build/models.py:253 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Nadřazená sestava" -#: build/models.py:247 +#: build/models.py:254 msgid "BuildOrder to which this build is allocated" msgstr "Příkaz sestavení pro který je toto sestavení přiděleno" -#: build/models.py:252 build/templates/build/build_base.html:97 -#: build/templates/build/detail.html:29 company/models.py:1026 order/api.py:805 -#: order/models.py:1414 order/models.py:1559 order/models.py:1560 -#: part/api.py:1494 part/api.py:1788 part/models.py:395 part/models.py:3012 -#: part/models.py:3156 part/models.py:3303 part/models.py:3324 -#: part/models.py:3346 part/models.py:3477 part/models.py:3787 -#: part/models.py:3943 part/models.py:4036 part/models.py:4395 -#: part/serializers.py:1120 part/serializers.py:1726 +#: build/models.py:259 build/serializers.py:1184 +#: build/templates/build/build_base.html:97 +#: build/templates/build/detail.html:29 company/models.py:1034 order/api.py:759 +#: order/models.py:1419 order/models.py:1574 order/models.py:1575 +#: part/api.py:1480 part/api.py:1776 part/models.py:396 part/models.py:3022 +#: part/models.py:3166 part/models.py:3314 part/models.py:3335 +#: part/models.py:3357 part/models.py:3493 part/models.py:3827 +#: part/models.py:3990 part/models.py:4121 part/models.py:4480 +#: part/serializers.py:1148 part/serializers.py:1758 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -848,8 +858,8 @@ msgstr "Příkaz sestavení pro který je toto sestavení přiděleno" #: 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:109 stock/serializers.py:157 stock/serializers.py:423 -#: stock/serializers.py:820 templates/InvenTree/search.html:82 +#: stock/serializers.py:111 stock/serializers.py:159 stock/serializers.py:443 +#: stock/serializers.py:878 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 @@ -862,8 +872,8 @@ msgstr "Příkaz sestavení pro který je toto sestavení přiděleno" #: templates/js/translated/company.js:1116 #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 -#: templates/js/translated/part.js:1944 templates/js/translated/part.js:2016 -#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:1947 templates/js/translated/part.js:2019 +#: templates/js/translated/part.js:2327 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:1848 @@ -881,107 +891,107 @@ msgstr "Příkaz sestavení pro který je toto sestavení přiděleno" msgid "Part" msgstr "Díl" -#: build/models.py:260 +#: build/models.py:267 msgid "Select part to build" msgstr "Vyber téma, které chceš stavět" -#: build/models.py:265 +#: build/models.py:272 msgid "Sales Order Reference" msgstr "Referenční číslo prodejní objednávky" -#: build/models.py:269 +#: build/models.py:276 msgid "SalesOrder to which this build is allocated" msgstr "Prodejní příkaz, kterému je tato verze přidělena" -#: build/models.py:274 build/serializers.py:999 +#: build/models.py:281 build/serializers.py:1003 #: templates/js/translated/build.js:1731 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "Umístění lokace" -#: build/models.py:278 +#: build/models.py:285 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:283 +#: build/models.py:290 msgid "Destination Location" msgstr "Cílová lokace" -#: build/models.py:287 +#: build/models.py:294 msgid "Select location where the completed items will be stored" msgstr "Vyberte lokaci, kde budou dokončené položky uloženy" -#: build/models.py:291 +#: build/models.py:298 msgid "Build Quantity" msgstr "Množství sestav" -#: build/models.py:294 +#: build/models.py:301 msgid "Number of stock items to build" msgstr "Počet skladových položek k sestavení" -#: build/models.py:298 +#: build/models.py:305 msgid "Completed items" msgstr "Dokončené položky" -#: build/models.py:300 +#: build/models.py:307 msgid "Number of stock items which have been completed" msgstr "Počet skladových položek, které byly dokončeny" -#: build/models.py:304 +#: build/models.py:311 msgid "Build Status" msgstr "Stav sestavení" -#: build/models.py:308 +#: build/models.py:315 msgid "Build status code" msgstr "Stavový kód sestavení" -#: build/models.py:317 build/serializers.py:286 order/serializers.py:580 -#: stock/models.py:839 stock/serializers.py:74 stock/serializers.py:1458 +#: build/models.py:324 build/serializers.py:290 order/serializers.py:629 +#: stock/models.py:839 stock/serializers.py:76 stock/serializers.py:1524 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "Kód dávky" -#: build/models.py:321 build/serializers.py:287 +#: build/models.py:328 build/serializers.py:291 msgid "Batch code for this build output" msgstr "Dávkový kód pro tento výstup sestavení" -#: build/models.py:324 order/models.py:316 order/serializers.py:119 -#: part/models.py:1115 part/templates/part/part_base.html:310 +#: build/models.py:331 order/models.py:316 order/serializers.py:127 +#: part/models.py:1125 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:328 +#: build/models.py:335 msgid "Target completion date" msgstr "Cílové datum dokončení" -#: build/models.py:329 +#: build/models.py:336 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:332 order/models.py:521 order/models.py:2065 +#: build/models.py:339 order/models.py:521 order/models.py:2091 #: templates/js/translated/build.js:2247 msgid "Completion Date" msgstr "Datum dokončení" -#: build/models.py:338 +#: build/models.py:345 msgid "completed by" msgstr "dokončil" -#: build/models.py:346 templates/js/translated/build.js:2207 +#: build/models.py:353 templates/js/translated/build.js:2207 msgid "Issued by" msgstr "Vystavil" -#: build/models.py:347 +#: build/models.py:354 msgid "User who issued this build order" msgstr "Uživatel, který vydal tento příkaz k sestavení" -#: build/models.py:355 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 common/models.py:147 +#: build/models.py:362 build/templates/build/build_base.html:204 +#: build/templates/build/detail.html:122 common/models.py:152 #: order/models.py:334 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:232 part/models.py:1132 +#: order/templates/order/sales_order_base.html:232 part/models.py:1142 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 @@ -992,11 +1002,11 @@ msgstr "Uživatel, který vydal tento příkaz k sestavení" msgid "Responsible" msgstr "Odpovědný" -#: build/models.py:356 +#: build/models.py:363 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:361 build/templates/build/detail.html:108 +#: build/models.py:368 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 @@ -1008,21 +1018,22 @@ msgstr "Uživatel nebo skupina odpovědná za tento příkaz k sestavení" msgid "External Link" msgstr "Externí odkaz" -#: build/models.py:362 common/models.py:3244 part/models.py:956 +#: build/models.py:369 common/models.py:3230 part/models.py:960 #: stock/models.py:835 msgid "Link to external URL" msgstr "Odkaz na externí URL" -#: build/models.py:366 +#: build/models.py:373 msgid "Build Priority" msgstr "Priorita sestavení" -#: build/models.py:369 +#: build/models.py:376 msgid "Priority of this build order" msgstr "Priorita tohoto příkazu k sestavení" -#: build/models.py:376 common/models.py:131 order/admin.py:18 -#: order/models.py:298 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:383 common/models.py:122 common/models.py:136 +#: order/admin.py:18 order/models.py:298 order/serializers.py:108 +#: templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 #: templates/js/translated/purchase_order.js:1710 #: templates/js/translated/return_order.js:317 @@ -1032,65 +1043,66 @@ msgstr "Priorita tohoto příkazu k sestavení" msgid "Project Code" msgstr "Kód projektu" -#: build/models.py:377 +#: build/models.py:384 msgid "Project code for this build order" msgstr "Kód projektu pro objednávku sestavení" -#: build/models.py:610 build/models.py:675 +#: build/models.py:617 build/models.py:682 msgid "Failed to offload task to complete build allocations" msgstr "Nepodařilo se uvolnit úlohu pro dokončení přidělení sestavy" -#: build/models.py:632 +#: build/models.py:639 #, python-brace-format msgid "Build order {build} has been completed" msgstr "Příkaz k sestavení {build} byl dokončen" -#: build/models.py:638 +#: build/models.py:645 msgid "A build order has been completed" msgstr "Příkaz k sestavení byl dokončen" -#: build/models.py:864 build/models.py:949 +#: build/models.py:871 build/models.py:956 msgid "No build output specified" msgstr "Nebyl specifikováno žádný výstup sestavení" -#: build/models.py:867 +#: build/models.py:874 msgid "Build output is already completed" msgstr "Výstup sestavení je již dokončen" -#: build/models.py:870 +#: build/models.py:877 msgid "Build output does not match Build Order" msgstr "Výstup sestavení neodpovídá příkazu sestavení" -#: build/models.py:953 build/serializers.py:219 build/serializers.py:268 -#: build/serializers.py:866 order/models.py:559 order/serializers.py:432 -#: order/serializers.py:575 part/serializers.py:1484 part/serializers.py:1884 -#: stock/models.py:678 stock/models.py:1496 stock/serializers.py:603 +#: build/models.py:960 build/serializers.py:223 build/serializers.py:272 +#: build/serializers.py:870 order/models.py:559 order/serializers.py:461 +#: order/serializers.py:624 part/serializers.py:1515 part/serializers.py:1921 +#: stock/models.py:678 stock/models.py:1496 stock/serializers.py:661 msgid "Quantity must be greater than zero" msgstr "Množství musí být vyšší než nula" -#: build/models.py:958 build/serializers.py:224 +#: build/models.py:965 build/serializers.py:228 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:1018 build/serializers.py:547 +#: build/models.py:1025 build/serializers.py:551 #, 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:1359 +#: build/models.py:1366 msgid "Build Order Line Item" msgstr "Vytvořit položku řádku objednávky" -#: build/models.py:1384 +#: build/models.py:1391 msgid "Build object" msgstr "Vytvořit objekt" -#: build/models.py:1398 build/models.py:1654 build/serializers.py:206 -#: build/serializers.py:253 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2563 -#: order/models.py:1272 order/models.py:1931 order/serializers.py:1327 +#: build/models.py:1405 build/models.py:1661 build/serializers.py:210 +#: build/serializers.py:257 build/serializers.py:1194 +#: build/templates/build/build_base.html:102 +#: build/templates/build/detail.html:34 common/models.py:2544 +#: order/models.py:1272 order/models.py:1957 order/serializers.py:1383 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:410 -#: part/forms.py:48 part/models.py:3170 part/models.py:4058 +#: part/forms.py:48 part/models.py:3180 part/models.py:4143 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1100,7 +1112,7 @@ msgstr "Vytvořit objekt" #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:169 stock/admin.py:159 -#: stock/serializers.py:125 stock/serializers.py:165 stock/serializers.py:594 +#: stock/serializers.py:127 stock/serializers.py:167 stock/serializers.py:652 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 @@ -1111,8 +1123,8 @@ msgstr "Vytvořit objekt" #: templates/js/translated/build.js:1746 templates/js/translated/build.js:2357 #: templates/js/translated/company.js:1818 #: templates/js/translated/model_renderers.js:236 -#: templates/js/translated/order.js:304 templates/js/translated/part.js:962 -#: templates/js/translated/part.js:1812 templates/js/translated/part.js:3342 +#: templates/js/translated/order.js:304 templates/js/translated/part.js:965 +#: templates/js/translated/part.js:1815 templates/js/translated/part.js:3345 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 @@ -1132,38 +1144,38 @@ msgstr "Vytvořit objekt" msgid "Quantity" msgstr "Množství" -#: build/models.py:1399 +#: build/models.py:1406 msgid "Required quantity for build order" msgstr "Vyžadované množství pro objednávku" -#: build/models.py:1479 +#: build/models.py:1486 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:1488 +#: build/models.py:1495 #, 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:1498 order/models.py:1882 +#: build/models.py:1505 order/models.py:1908 msgid "Stock item is over-allocated" msgstr "Skladová položka je nadměrně zabrána" -#: build/models.py:1504 order/models.py:1885 +#: build/models.py:1511 order/models.py:1911 msgid "Allocation quantity must be greater than zero" msgstr "Zabrané množství musí být větší než nula" -#: build/models.py:1510 +#: build/models.py:1517 msgid "Quantity must be 1 for serialized stock" msgstr "Množství musí být 1 pro zřetězený sklad" -#: build/models.py:1569 +#: build/models.py:1576 msgid "Selected stock item does not match BOM line" msgstr "Vybraná položka zásob neodpovídá řádku BOM" -#: build/models.py:1641 build/serializers.py:846 order/serializers.py:1171 -#: order/serializers.py:1192 stock/models.py:359 stock/serializers.py:91 -#: stock/serializers.py:697 stock/serializers.py:1177 stock/serializers.py:1289 +#: build/models.py:1648 build/serializers.py:850 order/serializers.py:1227 +#: order/serializers.py:1248 stock/models.py:359 stock/serializers.py:93 +#: stock/serializers.py:755 stock/serializers.py:1243 stock/serializers.py:1355 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 @@ -1179,70 +1191,76 @@ msgstr "Vybraná položka zásob neodpovídá řádku BOM" msgid "Stock Item" msgstr "Skladové položky" -#: build/models.py:1642 +#: build/models.py:1649 msgid "Source stock item" msgstr "Zdrojová skladová položka" -#: build/models.py:1655 +#: build/models.py:1662 msgid "Stock quantity to allocate to build" msgstr "Skladové množství pro sestavení" -#: build/models.py:1663 +#: build/models.py:1670 msgid "Install into" msgstr "Instalovat do" -#: build/models.py:1664 +#: build/models.py:1671 msgid "Destination stock item" msgstr "Cílová skladová položka" -#: build/serializers.py:156 build/serializers.py:875 +#: build/serializers.py:89 build/serializers.py:1185 part/admin.py:41 +#: part/admin.py:405 part/models.py:3992 part/stocktake.py:220 +#: stock/admin.py:156 +msgid "Part Name" +msgstr "Název dílu" + +#: build/serializers.py:160 build/serializers.py:879 #: templates/js/translated/build.js:1322 msgid "Build Output" msgstr "Vytvořit výstup" -#: build/serializers.py:168 +#: build/serializers.py:172 msgid "Build output does not match the parent build" msgstr "Vytvořený výstup neodpovídá nadřazenému sestavení" -#: build/serializers.py:172 +#: build/serializers.py:176 msgid "Output part does not match BuildOrder part" msgstr "Výstupní část se neshoduje s částí příkazu sestavení" -#: build/serializers.py:176 +#: build/serializers.py:180 msgid "This build output has already been completed" msgstr "Výstup sestavení je již dokončen" -#: build/serializers.py:187 +#: build/serializers.py:191 msgid "This build output is not fully allocated" msgstr "Tento stavební výstup není plně přiřazen" -#: build/serializers.py:207 build/serializers.py:254 +#: build/serializers.py:211 build/serializers.py:258 msgid "Enter quantity for build output" msgstr "Zadejte množství pro výstup sestavení" -#: build/serializers.py:275 +#: build/serializers.py:279 msgid "Integer quantity required for trackable parts" msgstr "Celé množství požadované pro sledovatelné díly" -#: build/serializers.py:278 +#: build/serializers.py:282 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:293 order/serializers.py:588 order/serializers.py:1331 -#: stock/serializers.py:614 templates/js/translated/purchase_order.js:1153 +#: build/serializers.py:297 order/serializers.py:637 order/serializers.py:1387 +#: stock/serializers.py:672 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:294 +#: build/serializers.py:298 msgid "Enter serial numbers for build outputs" msgstr "Zadejte sériová čísla pro sestavení výstupů" -#: build/serializers.py:299 build/serializers.py:440 build/serializers.py:512 -#: order/serializers.py:564 order/serializers.py:672 order/serializers.py:1656 -#: part/serializers.py:1140 stock/serializers.py:100 stock/serializers.py:625 -#: stock/serializers.py:785 stock/serializers.py:881 stock/serializers.py:1321 -#: stock/serializers.py:1577 stock/templates/stock/item_base.html:394 +#: build/serializers.py:303 build/serializers.py:444 build/serializers.py:516 +#: order/serializers.py:613 order/serializers.py:721 order/serializers.py:1714 +#: part/serializers.py:1168 stock/serializers.py:102 stock/serializers.py:683 +#: stock/serializers.py:843 stock/serializers.py:939 stock/serializers.py:1387 +#: stock/serializers.py:1643 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 @@ -1258,54 +1276,54 @@ msgstr "Zadejte sériová čísla pro sestavení výstupů" msgid "Location" msgstr "Lokace" -#: build/serializers.py:300 +#: build/serializers.py:304 msgid "Stock location for build output" msgstr "Skladové umístění pro výstup sestavy" -#: build/serializers.py:314 +#: build/serializers.py:318 msgid "Auto Allocate Serial Numbers" msgstr "Automaticky zvolit sériová čísla" -#: build/serializers.py:315 +#: build/serializers.py:319 msgid "Automatically allocate required items with matching serial numbers" msgstr "Automaticky přidělit požadované položky s odpovídajícími sériovými čísly" -#: build/serializers.py:330 +#: build/serializers.py:334 msgid "Serial numbers must be provided for trackable parts" msgstr "U sledovatelných dílů musí být uvedena sériová čísla" -#: build/serializers.py:355 stock/api.py:1041 +#: build/serializers.py:359 stock/api.py:1033 msgid "The following serial numbers already exist or are invalid" msgstr "Následující sériová čísla již existují nebo jsou neplatná" -#: build/serializers.py:402 build/serializers.py:464 build/serializers.py:553 +#: build/serializers.py:406 build/serializers.py:468 build/serializers.py:557 msgid "A list of build outputs must be provided" msgstr "Musí být uveden seznam výstupů sestavy" -#: build/serializers.py:441 +#: build/serializers.py:445 msgid "Stock location for scrapped outputs" msgstr "Umístění zásob pro seškrábnuté výstupy" -#: build/serializers.py:447 +#: build/serializers.py:451 msgid "Discard Allocations" msgstr "Zahodit alokace" -#: build/serializers.py:448 +#: build/serializers.py:452 msgid "Discard any stock allocations for scrapped outputs" msgstr "Vyřadit všechny přidělené zásoby pro vyřazené výstupy" -#: build/serializers.py:453 +#: build/serializers.py:457 msgid "Reason for scrapping build output(s)" msgstr "Důvod vyřazení výstupu(ů) sestavy" -#: build/serializers.py:513 +#: build/serializers.py:517 msgid "Location for completed build outputs" msgstr "Umístění dokončených výstupů sestavy" -#: build/serializers.py:519 build/templates/build/build_base.html:151 +#: build/serializers.py:523 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:950 -#: order/models.py:2044 order/serializers.py:596 stock/admin.py:164 -#: stock/serializers.py:932 stock/serializers.py:1465 +#: order/models.py:2070 order/serializers.py:645 stock/admin.py:164 +#: stock/serializers.py:990 stock/serializers.py:1531 #: 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 @@ -1317,193 +1335,253 @@ msgstr "Umístění dokončených výstupů sestavy" msgid "Status" msgstr "Stav" -#: build/serializers.py:525 +#: build/serializers.py:529 msgid "Accept Incomplete Allocation" msgstr "Přijmout neúplné přidělení" -#: build/serializers.py:526 +#: build/serializers.py:530 msgid "Complete outputs if stock has not been fully allocated" msgstr "Dokončit výstupy pokud zásoby nebyly plně přiděleny" -#: build/serializers.py:611 +#: build/serializers.py:615 msgid "Consume Allocated Stock" msgstr "Spotřebovat přidělené zásoby" -#: build/serializers.py:612 +#: build/serializers.py:616 msgid "Consume any stock which has already been allocated to this build" msgstr "Spotřebovat všechny zásoby, které již byly přiděleny této sestavě" -#: build/serializers.py:618 +#: build/serializers.py:622 msgid "Remove Incomplete Outputs" msgstr "Odstranit neúplné výstupy" -#: build/serializers.py:619 +#: build/serializers.py:623 msgid "Delete any build outputs which have not been completed" msgstr "Odstranit všechny výstupy sestavy, které nebyly dokončeny" -#: build/serializers.py:646 +#: build/serializers.py:650 msgid "Not permitted" msgstr "Není povoleno" -#: build/serializers.py:647 +#: build/serializers.py:651 msgid "Accept as consumed by this build order" msgstr "Přijmout jako spotřebované touto objednávkou sestavy" -#: build/serializers.py:648 +#: build/serializers.py:652 msgid "Deallocate before completing this build order" msgstr "Uvolnit před dokončením této objednávky sestavy" -#: build/serializers.py:678 +#: build/serializers.py:682 msgid "Overallocated Stock" msgstr "Nadměrně přidělené zásoby" -#: build/serializers.py:680 +#: build/serializers.py:684 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "Jak chcete zacházet s extra skladovými položkami přiřazenými k objednávce na sestavu" -#: build/serializers.py:690 +#: build/serializers.py:694 msgid "Some stock items have been overallocated" msgstr "Některé skladové položky byly nadměrně přiděleny" -#: build/serializers.py:695 +#: build/serializers.py:699 msgid "Accept Unallocated" msgstr "Přijmout nepřidělené" -#: build/serializers.py:696 +#: build/serializers.py:700 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "Přijmout, že skladové položky nebyly plně přiřazeny k této objednávce sestavy" -#: build/serializers.py:706 templates/js/translated/build.js:315 +#: build/serializers.py:710 templates/js/translated/build.js:315 msgid "Required stock has not been fully allocated" msgstr "Požadované zásoby nebyly plně přiděleny" -#: build/serializers.py:711 order/serializers.py:300 order/serializers.py:1234 +#: build/serializers.py:715 order/serializers.py:319 order/serializers.py:1290 msgid "Accept Incomplete" msgstr "Přijmout neúplné" -#: build/serializers.py:712 +#: build/serializers.py:716 msgid "Accept that the required number of build outputs have not been completed" msgstr "Přijmout, že nebyl dokončen požadovaný počet výstupů sestavy" -#: build/serializers.py:722 templates/js/translated/build.js:319 +#: build/serializers.py:726 templates/js/translated/build.js:319 msgid "Required build quantity has not been completed" msgstr "Požadované množství sestavy nebylo dokončeno" -#: build/serializers.py:731 templates/js/translated/build.js:303 +#: build/serializers.py:735 templates/js/translated/build.js:303 msgid "Build order has incomplete outputs" msgstr "Objednávka sestavy má neúplné výstupy" -#: build/serializers.py:769 +#: build/serializers.py:773 msgid "Build Line" msgstr "Linka sestavy" -#: build/serializers.py:779 +#: build/serializers.py:783 msgid "Build output" msgstr "Výstup sestavy" -#: build/serializers.py:787 +#: build/serializers.py:791 msgid "Build output must point to the same build" msgstr "Výstup sestavy musí odkazovat na stejnou sestavu" -#: build/serializers.py:823 +#: build/serializers.py:827 msgid "Build Line Item" msgstr "Řádková položka sestavy" -#: build/serializers.py:837 +#: build/serializers.py:841 msgid "bom_item.part must point to the same part as the build order" msgstr "bom_item.part musí ukazovat na stejný díl jako objednávka sestavy" -#: build/serializers.py:852 stock/serializers.py:1190 +#: build/serializers.py:856 stock/serializers.py:1256 msgid "Item must be in stock" msgstr "Položka musí být skladem" -#: build/serializers.py:900 order/serializers.py:1225 +#: build/serializers.py:904 order/serializers.py:1281 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Dostupné množství ({q}) překročeno" -#: build/serializers.py:906 +#: build/serializers.py:910 msgid "Build output must be specified for allocation of tracked parts" msgstr "Pro přidělení sledovaných dílů musí být zadán výstup sestavy" -#: build/serializers.py:913 +#: build/serializers.py:917 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "Výstup sestavy nelze zadat pro přidělení nesledovaných dílů" -#: build/serializers.py:937 order/serializers.py:1477 +#: build/serializers.py:941 order/serializers.py:1533 msgid "Allocation items must be provided" msgstr "Položky přidělení musí být poskytnuty" -#: build/serializers.py:1000 +#: build/serializers.py:1004 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "Skladové místo, odkud se mají díly odebírat (ponechte prázdné, pokud chcete odebírat z libovolného místa)" -#: build/serializers.py:1008 +#: build/serializers.py:1012 msgid "Exclude Location" msgstr "Vynechat lokace" -#: build/serializers.py:1009 +#: build/serializers.py:1013 msgid "Exclude stock items from this selected location" msgstr "Vyloučit skladové položky z tohoto vybraného umístění" -#: build/serializers.py:1014 +#: build/serializers.py:1018 msgid "Interchangeable Stock" msgstr "Zaměnitelné zásoby" -#: build/serializers.py:1015 +#: build/serializers.py:1019 msgid "Stock items in multiple locations can be used interchangeably" msgstr "Skladové položky na více místech lze používat zaměnitelně" -#: build/serializers.py:1020 +#: build/serializers.py:1024 msgid "Substitute Stock" msgstr "Náhradní zásoby" -#: build/serializers.py:1021 +#: build/serializers.py:1025 msgid "Allow allocation of substitute parts" msgstr "Povolit přidělování náhradních dílů" -#: build/serializers.py:1026 +#: build/serializers.py:1030 msgid "Optional Items" msgstr "Volitelné položky" -#: build/serializers.py:1027 +#: build/serializers.py:1031 msgid "Allocate optional BOM items to build order" msgstr "Přiřazení volitelných BOM položek k objednávce sestavy" -#: build/serializers.py:1049 +#: build/serializers.py:1053 msgid "Failed to start auto-allocation task" msgstr "Nepodařilo se spustit úlohu automatického přidělování" -#: build/serializers.py:1139 part/models.py:3953 part/models.py:4387 -#: stock/api.py:804 +#: build/serializers.py:1095 +#, fuzzy +#| msgid "Supplier Part Orders" +msgid "Supplier Part Number" +msgstr "Objednávky dílu dodavatele" + +#: build/serializers.py:1096 company/models.py:500 +msgid "Manufacturer Part Number" +msgstr "Číslo dílu výrobce" + +#: build/serializers.py:1097 stock/admin.py:53 stock/admin.py:175 +#: stock/serializers.py:454 +msgid "Location Name" +msgstr "" + +#: build/serializers.py:1098 +#, fuzzy +#| msgid "Build Order Reference" +msgid "Build Reference" +msgstr "Referenční číslo objednávky" + +#: build/serializers.py:1099 +#, fuzzy +#| msgid "Reference" +msgid "BOM Reference" +msgstr "Reference" + +#: build/serializers.py:1186 part/admin.py:402 part/models.py:3993 +msgid "Part IPN" +msgstr "IPN dílu" + +#: build/serializers.py:1192 common/models.py:1488 part/admin.py:113 +#: part/models.py:1068 templates/js/translated/table_filters.js:147 +#: templates/js/translated/table_filters.js:223 +#: templates/js/translated/table_filters.js:776 +msgid "Trackable" +msgstr "Sledovatelné" + +#: build/serializers.py:1196 part/models.py:4000 part/models.py:4472 +#: stock/api.py:796 msgid "BOM Item" msgstr "BOM Položka" -#: build/serializers.py:1148 templates/js/translated/index.js:130 +#: build/serializers.py:1205 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "Přidělené zásoby" -#: build/serializers.py:1153 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:828 part/serializers.py:1502 +#: build/serializers.py:1210 part/admin.py:132 part/bom.py:173 +#: part/serializers.py:856 part/serializers.py:1533 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2613 templates/js/translated/part.js:710 -#: templates/js/translated/part.js:2149 +#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709 +#: templates/js/translated/part.js:2152 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "Na objednávku" -#: build/serializers.py:1158 part/serializers.py:1504 -#: templates/js/translated/build.js:2617 +#: build/serializers.py:1215 part/serializers.py:1535 +#: templates/js/translated/build.js:2618 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "Ve výrobě" -#: build/serializers.py:1163 part/bom.py:172 part/serializers.py:1527 +#: build/serializers.py:1220 part/bom.py:172 part/serializers.py:1558 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" msgstr "Dostupné zásoby" +#: build/serializers.py:1224 +#, fuzzy +#| msgid "Substitute Stock" +msgid "Available Substitute Stock" +msgstr "Náhradní zásoby" + +#: build/serializers.py:1225 +#, fuzzy +#| msgid "Available Stock" +msgid "Available Variant Stock" +msgstr "Dostupné zásoby" + +#: build/serializers.py:1226 +#, fuzzy +#| msgid "Available Stock" +msgid "Total Available Stock" +msgstr "Dostupné zásoby" + +#: build/serializers.py:1227 part/serializers.py:862 +msgid "External Stock" +msgstr "" + #: build/status_codes.py:11 generic/states/tests.py:17 order/status_codes.py:12 #: order/status_codes.py:37 order/status_codes.py:64 order/status_codes.py:82 #: templates/js/translated/table_filters.js:598 @@ -1519,7 +1597,8 @@ msgstr "Výroba" msgid "Cancelled" msgstr "Zrušeno" -#: build/status_codes.py:14 generic/states/tests.py:19 order/status_codes.py:14 +#: build/status_codes.py:14 generic/states/tests.py:19 importer/models.py:468 +#: importer/status_codes.py:19 order/status_codes.py:14 #: order/status_codes.py:44 order/status_codes.py:69 #: order/templates/order/order_base.html:158 #: order/templates/order/sales_order_base.html:165 report/models.py:444 @@ -1652,11 +1731,12 @@ msgstr "Zásoby nebyly plně přiřazeny k této objednávce na sestavu" #: build/templates/build/build_base.html:160 #: build/templates/build/detail.html:138 order/models.py:309 -#: order/models.py:1307 order/templates/order/order_base.html:186 +#: order/models.py:1307 order/serializers.py:174 +#: order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: 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:1831 +#: templates/js/translated/build.js:2239 templates/js/translated/part.js:1834 #: templates/js/translated/purchase_order.js:1739 #: templates/js/translated/purchase_order.js:2147 #: templates/js/translated/return_order.js:346 @@ -1689,8 +1769,8 @@ msgid "Completed Outputs" msgstr "Dokončené výstupy" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1463 order/models.py:845 -#: order/models.py:1551 order/models.py:1665 order/models.py:1819 +#: build/templates/build/detail.html:101 order/api.py:1384 order/models.py:845 +#: order/models.py:1566 order/models.py:1681 order/models.py:1840 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 @@ -1740,7 +1820,7 @@ msgstr "Zdroj zásob" msgid "Stock can be taken from any available location." msgstr "Zásoby lze odebírat z jakéhokoli dostupného umístění." -#: build/templates/build/detail.html:49 order/models.py:1443 +#: build/templates/build/detail.html:49 order/models.py:1448 #: templates/js/translated/purchase_order.js:2189 msgid "Destination" msgstr "Místo určení" @@ -1892,31 +1972,31 @@ msgstr "Podrobnosti o objednávce sestavy" msgid "Incomplete Outputs" msgstr "Neúplné výstupy" -#: common/api.py:689 +#: common/api.py:690 msgid "Is Link" msgstr "Je odkaz" -#: common/api.py:697 +#: common/api.py:698 msgid "Is File" msgstr "Je soubor" -#: common/api.py:739 +#: common/api.py:740 msgid "User does not have permission to delete this attachment" msgstr "Uživatel nemá oprávnění k odstranění této přílohy" -#: common/currency.py:130 +#: common/currency.py:132 msgid "Invalid currency code" msgstr "Neplatný kód měny" -#: common/currency.py:132 +#: common/currency.py:134 msgid "Duplicate currency code" msgstr "Duplicitní kód měny" -#: common/currency.py:137 +#: common/currency.py:139 msgid "No valid currency codes provided" msgstr "Nejsou uvedeny žádné platné kódy měn" -#: common/currency.py:154 +#: common/currency.py:156 msgid "No plugin" msgstr "Žádný plugin" @@ -1970,1635 +2050,1606 @@ msgstr "Časové razítko poslední aktualizace" msgid "Site URL is locked by configuration" msgstr "Adresa URL webu je uzamčena konfigurací" -#: common/models.py:132 +#: common/models.py:137 msgid "Unique project code" msgstr "Jedinečný kód projektu" -#: common/models.py:139 +#: common/models.py:144 msgid "Project description" msgstr "Popis projektu" -#: common/models.py:148 +#: common/models.py:153 msgid "User or group responsible for this project" msgstr "Uživatel nebo skupina odpovědná za tento projekt" -#: common/models.py:765 +#: common/models.py:770 msgid "Settings key (must be unique - case insensitive)" msgstr "Klíč nastavení (musí být unikátní - rozlišuje malá a velká písmena)" -#: common/models.py:769 +#: common/models.py:774 msgid "Settings value" msgstr "Hodnota nastavení" -#: common/models.py:821 +#: common/models.py:826 msgid "Chosen value is not a valid option" msgstr "Zvolená hodnota není platnou možností" -#: common/models.py:837 +#: common/models.py:842 msgid "Value must be a boolean value" msgstr "Hodnota musí být logická hodnota" -#: common/models.py:845 +#: common/models.py:850 msgid "Value must be an integer value" msgstr "Hodnota musí být celé číslo" -#: common/models.py:882 +#: common/models.py:887 msgid "Key string must be unique" msgstr "Klíčový text musí být jedinečný" -#: common/models.py:1114 +#: common/models.py:1119 msgid "No group" msgstr "Žádná skupina" -#: common/models.py:1213 +#: common/models.py:1218 msgid "Restart required" msgstr "Je vyžadován restart" -#: common/models.py:1215 +#: common/models.py:1220 msgid "A setting has been changed which requires a server restart" msgstr "Bylo změněno nastavení, které vyžaduje restart serveru" -#: common/models.py:1222 +#: common/models.py:1227 msgid "Pending migrations" msgstr "Nevyřízené migrace" -#: common/models.py:1223 +#: common/models.py:1228 msgid "Number of pending database migrations" msgstr "Počet nevyřízených migrací databáze" -#: common/models.py:1228 +#: common/models.py:1233 msgid "Server Instance Name" msgstr "Název instance serveru" -#: common/models.py:1230 +#: common/models.py:1235 msgid "String descriptor for the server instance" msgstr "Textový popisovač pro instanci serveru" -#: common/models.py:1234 +#: common/models.py:1239 msgid "Use instance name" msgstr "Použít název instance" -#: common/models.py:1235 +#: common/models.py:1240 msgid "Use the instance name in the title-bar" msgstr "Použít název instance v liště" -#: common/models.py:1240 +#: common/models.py:1245 msgid "Restrict showing `about`" msgstr "Omezit zobrazování `o aplikaci`" -#: common/models.py:1241 +#: common/models.py:1246 msgid "Show the `about` modal only to superusers" msgstr "Zobrazovat okno `o aplikaci` pouze superuživatelům" -#: common/models.py:1246 company/models.py:111 company/models.py:112 +#: common/models.py:1251 company/models.py:111 company/models.py:112 msgid "Company name" msgstr "Jméno společnosti" -#: common/models.py:1247 +#: common/models.py:1252 msgid "Internal company name" msgstr "Interní název společnosti" -#: common/models.py:1251 +#: common/models.py:1256 msgid "Base URL" msgstr "Základní URL" -#: common/models.py:1252 +#: common/models.py:1257 msgid "Base URL for server instance" msgstr "Základní URL pro instanci serveru" -#: common/models.py:1258 +#: common/models.py:1263 msgid "Default Currency" msgstr "Výchozí měna" -#: common/models.py:1259 +#: common/models.py:1264 msgid "Select base currency for pricing calculations" msgstr "Vyberte základní měnu pro cenové kalkulace" -#: common/models.py:1265 +#: common/models.py:1270 msgid "Supported Currencies" msgstr "Podporované měny" -#: common/models.py:1266 +#: common/models.py:1271 msgid "List of supported currency codes" msgstr "Seznam podporovaných kódů měn" -#: common/models.py:1272 +#: common/models.py:1277 msgid "Currency Update Interval" msgstr "Interval aktualizace měny" -#: common/models.py:1274 +#: common/models.py:1279 msgid "How often to update exchange rates (set to zero to disable)" msgstr "Jak často aktualizovat směnné kurzy (pro vypnutí nastavte na nulu)" -#: common/models.py:1277 common/models.py:1333 common/models.py:1346 -#: common/models.py:1354 common/models.py:1363 common/models.py:1372 -#: common/models.py:1596 common/models.py:1618 common/models.py:1733 -#: common/models.py:2100 +#: common/models.py:1282 common/models.py:1338 common/models.py:1351 +#: common/models.py:1359 common/models.py:1368 common/models.py:1377 +#: common/models.py:1601 common/models.py:1623 common/models.py:1738 +#: common/models.py:2111 msgid "days" msgstr "dny" -#: common/models.py:1281 +#: common/models.py:1286 msgid "Currency Update Plugin" msgstr "Plugin aktualizace měny" -#: common/models.py:1282 +#: common/models.py:1287 msgid "Currency update plugin to use" msgstr "Plugin pro aktualizaci měn k použití" -#: common/models.py:1287 +#: common/models.py:1292 msgid "Download from URL" msgstr "Stáhnout z URL" -#: common/models.py:1289 +#: common/models.py:1294 msgid "Allow download of remote images and files from external URL" msgstr "Povolit stahování vzdálených obrázků a souborů z externích URL" -#: common/models.py:1295 +#: common/models.py:1300 msgid "Download Size Limit" msgstr "Limit velikosti stahování" -#: common/models.py:1296 +#: common/models.py:1301 msgid "Maximum allowable download size for remote image" msgstr "Maximální povolená velikost stahování vzdáleného obrázku" -#: common/models.py:1302 +#: common/models.py:1307 msgid "User-agent used to download from URL" msgstr "User-agent použitý ke stažení z adresy URL" -#: common/models.py:1304 +#: common/models.py:1309 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "Povolit přepsání user-agenta používaného ke stahování obrázků a souborů z externí adresy URL (ponechte prázdné pro výchozí)" -#: common/models.py:1309 +#: common/models.py:1314 msgid "Strict URL Validation" msgstr "Přísná validace URL" -#: common/models.py:1310 +#: common/models.py:1315 msgid "Require schema specification when validating URLs" msgstr "Vyžadovat specifikaci schématu při ověřování adres URL" -#: common/models.py:1315 +#: common/models.py:1320 msgid "Require confirm" msgstr "Vyžadovat potvrzení" -#: common/models.py:1316 +#: common/models.py:1321 msgid "Require explicit user confirmation for certain action." msgstr "Vyžadovat výslovné potvrzení uživatele pro určitou akci." -#: common/models.py:1321 +#: common/models.py:1326 msgid "Tree Depth" msgstr "Hloubka stromu" -#: common/models.py:1323 +#: common/models.py:1328 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "Výchozí hloubka stromu pro zobrazení stromu. Hlubší úrovně lze načítat líně podle potřeby." -#: common/models.py:1329 +#: common/models.py:1334 msgid "Update Check Interval" msgstr "Interval kontroly aktualizací" -#: common/models.py:1330 +#: common/models.py:1335 msgid "How often to check for updates (set to zero to disable)" msgstr "Jak často kontrolovat aktualizace (nastavte na nulu pro vypnutí)" -#: common/models.py:1336 +#: common/models.py:1341 msgid "Automatic Backup" msgstr "Automatické Zálohování" -#: common/models.py:1337 +#: common/models.py:1342 msgid "Enable automatic backup of database and media files" msgstr "Povolit automatické zálohování databáze a mediálních souborů" -#: common/models.py:1342 +#: common/models.py:1347 msgid "Auto Backup Interval" msgstr "Interval automatického zálohování" -#: common/models.py:1343 +#: common/models.py:1348 msgid "Specify number of days between automated backup events" msgstr "Zadejte počet dní mezi automatickými zálohovými událostmi" -#: common/models.py:1349 +#: common/models.py:1354 msgid "Task Deletion Interval" msgstr "Interval mazání úloh" -#: common/models.py:1351 +#: common/models.py:1356 msgid "Background task results will be deleted after specified number of days" msgstr "Výsledky úloh na pozadí budou odstraněny po zadaném počtu dní" -#: common/models.py:1358 +#: common/models.py:1363 msgid "Error Log Deletion Interval" msgstr "Interval odstranění protokolu chyb" -#: common/models.py:1360 +#: common/models.py:1365 msgid "Error logs will be deleted after specified number of days" msgstr "Záznamy chyb budou odstraněny po zadaném počtu dní" -#: common/models.py:1367 +#: common/models.py:1372 msgid "Notification Deletion Interval" msgstr "Interval pro odstranění oznámení" -#: common/models.py:1369 +#: common/models.py:1374 msgid "User notifications will be deleted after specified number of days" msgstr "Uživatelská oznámení budou smazána po zadaném počtu dní" -#: common/models.py:1376 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1381 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "Podpora čárových kódů" -#: common/models.py:1377 +#: common/models.py:1382 msgid "Enable barcode scanner support in the web interface" msgstr "Povolit podporu pro skenování čárových kódů ve webovém rozhraní" -#: common/models.py:1382 +#: common/models.py:1387 msgid "Barcode Input Delay" msgstr "Zpoždění vstupu čárového kódu" -#: common/models.py:1383 +#: common/models.py:1388 msgid "Barcode input processing delay time" msgstr "Doba zpoždění zpracování vstupu čárového kódu" -#: common/models.py:1389 +#: common/models.py:1394 msgid "Barcode Webcam Support" msgstr "Podpora webové kamery pro čárové kódy" -#: common/models.py:1390 +#: common/models.py:1395 msgid "Allow barcode scanning via webcam in browser" msgstr "Povolit skenování čárových kódů přes webovou kameru v prohlížeči" -#: common/models.py:1395 +#: common/models.py:1400 msgid "Barcode Show Data" msgstr "" -#: common/models.py:1396 +#: common/models.py:1401 msgid "Display barcode data in browser as text" msgstr "" -#: common/models.py:1401 +#: common/models.py:1406 msgid "Part Revisions" msgstr "Revize dílu" -#: common/models.py:1402 +#: common/models.py:1407 msgid "Enable revision field for Part" msgstr "Povolit pole revize pro díl" -#: common/models.py:1407 +#: common/models.py:1412 msgid "Allow Deletion from Assembly" msgstr "Povolit odstranění ze sestavy" -#: common/models.py:1408 +#: common/models.py:1413 msgid "Allow deletion of parts which are used in an assembly" msgstr "Povolit odstranění dílů, které jsou použity v sestavě" -#: common/models.py:1413 +#: common/models.py:1418 msgid "IPN Regex" msgstr "IPN Regex" -#: common/models.py:1414 +#: common/models.py:1419 msgid "Regular expression pattern for matching Part IPN" msgstr "Regulární vzorec výrazu pro odpovídající IPN dílu" -#: common/models.py:1417 +#: common/models.py:1422 msgid "Allow Duplicate IPN" msgstr "Povolit duplicitní IPN" -#: common/models.py:1418 +#: common/models.py:1423 msgid "Allow multiple parts to share the same IPN" msgstr "Povolit více dílům sdílet stejný IPN" -#: common/models.py:1423 +#: common/models.py:1428 msgid "Allow Editing IPN" msgstr "Povolit editaci IPN" -#: common/models.py:1424 +#: common/models.py:1429 msgid "Allow changing the IPN value while editing a part" msgstr "Povolit změnu IPN při úpravách dílu" -#: common/models.py:1429 +#: common/models.py:1434 msgid "Copy Part BOM Data" msgstr "Kopírovat data BOM dílu" -#: common/models.py:1430 +#: common/models.py:1435 msgid "Copy BOM data by default when duplicating a part" msgstr "Kopírovat data BOM ve výchozím nastavení při duplikování dílu" -#: common/models.py:1435 +#: common/models.py:1440 msgid "Copy Part Parameter Data" msgstr "Kopírovat data parametrů dílu" -#: common/models.py:1436 +#: common/models.py:1441 msgid "Copy parameter data by default when duplicating a part" msgstr "Kopírovat data parametrů ve výchozím nastavení při duplikování dílu" -#: common/models.py:1441 +#: common/models.py:1446 msgid "Copy Part Test Data" msgstr "Kopírovat zkušební data dílu" -#: common/models.py:1442 +#: common/models.py:1447 msgid "Copy test data by default when duplicating a part" msgstr "Kopírovat testovací data ve výchozím nastavení při duplikování dílu" -#: common/models.py:1447 +#: common/models.py:1452 msgid "Copy Category Parameter Templates" msgstr "Kopírovat šablony parametrů kategorie" -#: common/models.py:1448 +#: common/models.py:1453 msgid "Copy category parameter templates when creating a part" msgstr "Kopírování šablon parametrů kategorie při vytváření dílu" -#: common/models.py:1453 part/admin.py:108 part/models.py:3795 +#: common/models.py:1458 part/admin.py:108 part/models.py:3835 #: report/models.py:294 report/models.py:361 report/serializers.py:90 -#: report/serializers.py:131 stock/serializers.py:227 +#: report/serializers.py:131 stock/serializers.py:232 #: templates/js/translated/table_filters.js:139 -#: templates/js/translated/table_filters.js:767 +#: templates/js/translated/table_filters.js:772 msgid "Template" msgstr "Šablona" -#: common/models.py:1454 +#: common/models.py:1459 msgid "Parts are templates by default" msgstr "Díly jsou ve výchozím nastavení šablony" -#: common/models.py:1459 part/admin.py:91 part/admin.py:425 part/models.py:1052 +#: common/models.py:1464 part/admin.py:91 part/admin.py:425 part/models.py:1056 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 -#: templates/js/translated/table_filters.js:721 +#: templates/js/translated/table_filters.js:726 msgid "Assembly" msgstr "Sestava" -#: common/models.py:1460 +#: common/models.py:1465 msgid "Parts can be assembled from other components by default" msgstr "Díly lze ve výchozím nastavení sestavit z jiných komponentů" -#: common/models.py:1465 part/admin.py:95 part/models.py:1058 -#: templates/js/translated/table_filters.js:729 +#: common/models.py:1470 part/admin.py:95 part/models.py:1062 +#: templates/js/translated/table_filters.js:734 msgid "Component" msgstr "Komponent" -#: common/models.py:1466 +#: common/models.py:1471 msgid "Parts can be used as sub-components by default" msgstr "Díly lze ve výchozím nastavení použít jako dílčí komponenty" -#: common/models.py:1471 part/admin.py:100 part/models.py:1070 +#: common/models.py:1476 part/admin.py:100 part/models.py:1074 msgid "Purchaseable" msgstr "Možné zakoupit" -#: common/models.py:1472 +#: common/models.py:1477 msgid "Parts are purchaseable by default" msgstr "Díly jsou zakoupitelné ve výchozím nastavení" -#: common/models.py:1477 part/admin.py:104 part/models.py:1076 -#: templates/js/translated/table_filters.js:755 +#: common/models.py:1482 part/admin.py:104 part/models.py:1080 +#: templates/js/translated/table_filters.js:760 msgid "Salable" msgstr "Prodejné" -#: common/models.py:1478 +#: common/models.py:1483 msgid "Parts are salable by default" msgstr "Díly jsou prodejné ve výchozím nastavení" -#: common/models.py:1483 part/admin.py:113 part/models.py:1064 -#: 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:1484 +#: common/models.py:1489 msgid "Parts are trackable by default" msgstr "Díly jsou sledovatelné ve výchozím nastavení" -#: common/models.py:1489 part/admin.py:117 part/models.py:1086 +#: common/models.py:1494 part/admin.py:117 part/models.py:1096 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 -#: templates/js/translated/table_filters.js:775 +#: templates/js/translated/table_filters.js:780 msgid "Virtual" msgstr "Nehmotné (virtuální)" -#: common/models.py:1490 +#: common/models.py:1495 msgid "Parts are virtual by default" msgstr "Díly jsou nehmotné (virtuální) ve výchozím nastavení" -#: common/models.py:1495 +#: common/models.py:1500 msgid "Show Import in Views" msgstr "Zobrazit Import v zobrazeních" -#: common/models.py:1496 +#: common/models.py:1501 msgid "Display the import wizard in some part views" msgstr "Zobrazit průvodce importem v některých zobrazeních dílu" -#: common/models.py:1501 +#: common/models.py:1506 msgid "Show related parts" msgstr "Zobrazit související díly" -#: common/models.py:1502 +#: common/models.py:1507 msgid "Display related parts for a part" msgstr "Zobrazit související díly pro díl" -#: common/models.py:1507 +#: common/models.py:1512 msgid "Initial Stock Data" msgstr "Počáteční údaje zásob" -#: common/models.py:1508 +#: common/models.py:1513 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:1513 templates/js/translated/part.js:107 +#: common/models.py:1518 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "Počáteční údaje dodavatele" -#: common/models.py:1515 +#: common/models.py:1520 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:1521 +#: common/models.py:1526 msgid "Part Name Display Format" msgstr "Formát zobrazení jména dílu" -#: common/models.py:1522 +#: common/models.py:1527 msgid "Format to display the part name" msgstr "Formát pro zobrazení názvu dílu" -#: common/models.py:1528 +#: common/models.py:1533 msgid "Part Category Default Icon" msgstr "Výchozí ikona kategorie dílu" -#: common/models.py:1529 +#: common/models.py:1534 msgid "Part category default icon (empty means no icon)" msgstr "Výchozí ikona kategorie dílu (prázdné znamená bez ikony)" -#: common/models.py:1533 +#: common/models.py:1538 msgid "Enforce Parameter Units" msgstr "Vynutit jednotky parametru" -#: common/models.py:1535 +#: common/models.py:1540 msgid "If units are provided, parameter values must match the specified units" msgstr "Pokud jsou uvedeny jednotky, musí hodnoty parametrů odpovídat zadaným jednotkám" -#: common/models.py:1541 +#: common/models.py:1546 msgid "Minimum Pricing Decimal Places" msgstr "Minimální počet desetinných míst u cen" -#: common/models.py:1543 +#: common/models.py:1548 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:1554 +#: common/models.py:1559 msgid "Maximum Pricing Decimal Places" msgstr "Maximální počet desetinných míst u cen" -#: common/models.py:1556 +#: common/models.py:1561 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:1567 +#: common/models.py:1572 msgid "Use Supplier Pricing" msgstr "Použít ceny dodavatele" -#: common/models.py:1569 +#: common/models.py:1574 msgid "Include supplier price breaks in overall pricing calculations" msgstr "Zahrnout cenová zvýhodnění dodavatelů do celkových cenových kalkulací" -#: common/models.py:1575 +#: common/models.py:1580 msgid "Purchase History Override" msgstr "Přepsání historie nákupu" -#: common/models.py:1577 +#: common/models.py:1582 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "Historické ceny nákupních objednávek mají přednost před cenovými zvýhodněními dodavatele" -#: common/models.py:1583 +#: common/models.py:1588 msgid "Use Stock Item Pricing" msgstr "Použít ceny skladových položek" -#: common/models.py:1585 +#: common/models.py:1590 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "Použít ceny z ručně zadaných skladových údajů pro cenové kalkulace" -#: common/models.py:1591 +#: common/models.py:1596 msgid "Stock Item Pricing Age" msgstr "Stáří cen skladových položek" -#: common/models.py:1593 +#: common/models.py:1598 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "Vyloučit skladové položky starší než tento počet dní z cenových kalkulací" -#: common/models.py:1600 +#: common/models.py:1605 msgid "Use Variant Pricing" msgstr "Použít cenu varianty" -#: common/models.py:1601 +#: common/models.py:1606 msgid "Include variant pricing in overall pricing calculations" msgstr "Zahrnutí cen variant do celkových cenových kalkulací" -#: common/models.py:1606 +#: common/models.py:1611 msgid "Active Variants Only" msgstr "Pouze aktivní varianty" -#: common/models.py:1608 +#: common/models.py:1613 msgid "Only use active variant parts for calculating variant pricing" msgstr "Pro výpočet ceny varianty použijte pouze aktivní díly varianty" -#: common/models.py:1614 +#: common/models.py:1619 msgid "Pricing Rebuild Interval" msgstr "Interval přestavby cen" -#: common/models.py:1616 +#: common/models.py:1621 msgid "Number of days before part pricing is automatically updated" msgstr "Počet dní před automatickou aktualizací cen dílů" -#: common/models.py:1623 +#: common/models.py:1628 msgid "Internal Prices" msgstr "Interní ceny" -#: common/models.py:1624 +#: common/models.py:1629 msgid "Enable internal prices for parts" msgstr "Povolit interní ceny pro díly" -#: common/models.py:1629 +#: common/models.py:1634 msgid "Internal Price Override" msgstr "Přepis interní ceny" -#: common/models.py:1631 +#: common/models.py:1636 msgid "If available, internal prices override price range calculations" msgstr "Pokud jsou k dispozici, interní ceny mají přednost před výpočty cenového rozpětí" -#: common/models.py:1637 +#: common/models.py:1642 msgid "Enable label printing" msgstr "Povolit tisk štítků" -#: common/models.py:1638 +#: common/models.py:1643 msgid "Enable label printing from the web interface" msgstr "Povolit tisk štítků z webového rozhraní" -#: common/models.py:1643 +#: common/models.py:1648 msgid "Label Image DPI" msgstr "DPI rozlišení štítků" -#: common/models.py:1645 +#: common/models.py:1650 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "Rozlišení DPI při generování obrazových souborů, které se dodávají do zásuvných modulů pro tisk štítků" -#: common/models.py:1651 +#: common/models.py:1656 msgid "Enable Reports" msgstr "Povolit reporty" -#: common/models.py:1652 +#: common/models.py:1657 msgid "Enable generation of reports" msgstr "Povolit generování reportů" -#: common/models.py:1657 templates/stats.html:25 +#: common/models.py:1662 templates/stats.html:25 msgid "Debug Mode" msgstr "Režim ladění chyb" -#: common/models.py:1658 +#: common/models.py:1663 msgid "Generate reports in debug mode (HTML output)" msgstr "Generovat reporty v režimu ladění (HTML výstup)" -#: common/models.py:1663 +#: common/models.py:1668 msgid "Log Report Errors" msgstr "Zaznamenávat chyby reportů" -#: common/models.py:1664 +#: common/models.py:1669 msgid "Log errors which occur when generating reports" msgstr "Zaznamenávat chyby, které se vyskytnou při vytváření reportů" -#: common/models.py:1669 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1674 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:302 msgid "Page Size" msgstr "Velikost stránky" -#: common/models.py:1670 +#: common/models.py:1675 msgid "Default page size for PDF reports" msgstr "Výchozí velikost stránky pro PDF reporty" -#: common/models.py:1675 +#: common/models.py:1680 msgid "Enable Test Reports" msgstr "Povolit testovací reporty" -#: common/models.py:1676 +#: common/models.py:1681 msgid "Enable generation of test reports" msgstr "Povolit generování zkušebních reportů" -#: common/models.py:1681 +#: common/models.py:1686 msgid "Attach Test Reports" msgstr "Připojit testovací reporty" -#: common/models.py:1683 +#: common/models.py:1688 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:1689 +#: common/models.py:1694 msgid "Globally Unique Serials" msgstr "Globálně unikátní sériová čísla" -#: common/models.py:1690 +#: common/models.py:1695 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:1695 +#: common/models.py:1700 msgid "Autofill Serial Numbers" msgstr "Automaticky vyplnit sériová čísla" -#: common/models.py:1696 +#: common/models.py:1701 msgid "Autofill serial numbers in forms" msgstr "Automaticky vyplnit sériová čísla ve formulářích" -#: common/models.py:1701 +#: common/models.py:1706 msgid "Delete Depleted Stock" msgstr "Odstranit vyčerpané zásoby" -#: common/models.py:1703 +#: common/models.py:1708 msgid "Determines default behavior when a stock item is depleted" msgstr "Určuje výchozí chování při vyčerpání zásoby položky" -#: common/models.py:1709 +#: common/models.py:1714 msgid "Batch Code Template" msgstr "Šablona kódu dávky" -#: common/models.py:1711 +#: common/models.py:1716 msgid "Template for generating default batch codes for stock items" msgstr "Šablona pro generování výchozích kódů dávky pro skladové položky" -#: common/models.py:1716 +#: common/models.py:1721 msgid "Stock Expiry" msgstr "Expirace zásob" -#: common/models.py:1717 +#: common/models.py:1722 msgid "Enable stock expiry functionality" msgstr "Povolit funkci expirace zásob" -#: common/models.py:1722 +#: common/models.py:1727 msgid "Sell Expired Stock" msgstr "Prodat prošlé zásoby" -#: common/models.py:1723 +#: common/models.py:1728 msgid "Allow sale of expired stock" msgstr "Povolit prodej prošlých zásob" -#: common/models.py:1728 +#: common/models.py:1733 msgid "Stock Stale Time" msgstr "Čas stáří zásob" -#: common/models.py:1730 +#: common/models.py:1735 msgid "Number of days stock items are considered stale before expiring" msgstr "Počet dnů, po které jsou skladové položky považovány za nevyužité před uplynutím doby expirace" -#: common/models.py:1737 +#: common/models.py:1742 msgid "Build Expired Stock" msgstr "Sestavit prošlé zásoby" -#: common/models.py:1738 +#: common/models.py:1743 msgid "Allow building with expired stock" msgstr "Povolit sestavování s prošlými zásobami" -#: common/models.py:1743 +#: common/models.py:1748 msgid "Stock Ownership Control" msgstr "Kontrola vlastnictví zásob" -#: common/models.py:1744 +#: common/models.py:1749 msgid "Enable ownership control over stock locations and items" msgstr "Umožnit kontrolu vlastnictví nad skladovými místy a položkami" -#: common/models.py:1749 +#: common/models.py:1754 msgid "Stock Location Default Icon" msgstr "Výchozí ikona umístění zásob" -#: common/models.py:1750 +#: common/models.py:1755 msgid "Stock location default icon (empty means no icon)" msgstr "Výchozí ikona umístění zásob (prázdné znamená bez ikony)" -#: common/models.py:1754 +#: common/models.py:1759 msgid "Show Installed Stock Items" msgstr "Zobrazit nainstalované skladové položky" -#: common/models.py:1755 +#: common/models.py:1760 msgid "Display installed stock items in stock tables" msgstr "Zobrazit nainstalované skladové položky ve skladových tabulkách" -#: common/models.py:1760 +#: common/models.py:1765 msgid "Check BOM when installing items" msgstr "Zkontrolovat BOM při instalaci položek" -#: common/models.py:1762 +#: common/models.py:1767 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "Nainstalované skladové položky musí existovat v BOM pro nadřazený díl" -#: common/models.py:1768 +#: common/models.py:1773 msgid "Allow Out of Stock Transfer" msgstr "Povolit převod mimo sklad" -#: common/models.py:1770 +#: common/models.py:1775 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "Umožnit přesun skladových položek, které nejsou na skladě, mezi skladovými místy" -#: common/models.py:1776 +#: common/models.py:1781 msgid "Build Order Reference Pattern" msgstr "Referenční vzor objednávky sestavy" -#: common/models.py:1778 +#: common/models.py:1783 msgid "Required pattern for generating Build Order reference field" msgstr "Požadovaný vzor pro generování referenčního pole Objednávka sestavy" -#: common/models.py:1784 common/models.py:1826 common/models.py:1848 -#: common/models.py:1884 +#: common/models.py:1789 common/models.py:1837 common/models.py:1859 +#: common/models.py:1895 msgid "Require Responsible Owner" msgstr "Vyžadovat odpovědného vlastníka" -#: common/models.py:1785 common/models.py:1827 common/models.py:1849 -#: common/models.py:1885 +#: common/models.py:1790 common/models.py:1838 common/models.py:1860 +#: common/models.py:1896 msgid "A responsible owner must be assigned to each order" msgstr "Ke každé objednávce musí být přiřazen odpovědný vlastník" -#: common/models.py:1790 +#: common/models.py:1795 msgid "Require Active Part" msgstr "" -#: common/models.py:1791 +#: common/models.py:1796 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/models.py:1796 +#: common/models.py:1801 +msgid "Require Locked Part" +msgstr "" + +#: common/models.py:1802 +#, fuzzy +#| msgid "Print build order report" +msgid "Prevent build order creation for unlocked parts" +msgstr "Tisk reportu o objednávce sestavy" + +#: common/models.py:1807 msgid "Require Valid BOM" msgstr "" -#: common/models.py:1798 +#: common/models.py:1809 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/models.py:1804 +#: common/models.py:1815 msgid "Block Until Tests Pass" msgstr "Blokovat, dokud testy neprojdou" -#: common/models.py:1806 +#: common/models.py:1817 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "Zabránit dokončení výstupů sestavy, dokud neprojdou všechny požadované testy" -#: common/models.py:1812 +#: common/models.py:1823 msgid "Enable Return Orders" msgstr "Povolit vracení objednávek" -#: common/models.py:1813 +#: common/models.py:1824 msgid "Enable return order functionality in the user interface" msgstr "Povolit funkci vrácení objednávky v uživatelském rozhraní" -#: common/models.py:1818 +#: common/models.py:1829 msgid "Return Order Reference Pattern" msgstr "Referenční vzor návratové objednávky" -#: common/models.py:1820 +#: common/models.py:1831 msgid "Required pattern for generating Return Order reference field" msgstr "Požadovaný vzor pro vygenerování referenčního pole Návratová objednávka" -#: common/models.py:1832 +#: common/models.py:1843 msgid "Edit Completed Return Orders" msgstr "Úprava dokončených návratových objednávek" -#: common/models.py:1834 +#: common/models.py:1845 msgid "Allow editing of return orders after they have been completed" msgstr "Umožnit úpravu návratových objednávek po jejich dokončení" -#: common/models.py:1840 +#: common/models.py:1851 msgid "Sales Order Reference Pattern" msgstr "Referenční vzor prodejní objednávky" -#: common/models.py:1842 +#: common/models.py:1853 msgid "Required pattern for generating Sales Order reference field" msgstr "Požadovaný vzor pro generování referenčního pole prodejní objednávky" -#: common/models.py:1854 +#: common/models.py:1865 msgid "Sales Order Default Shipment" msgstr "Výchozí přeprava prodejní objednávky" -#: common/models.py:1855 +#: common/models.py:1866 msgid "Enable creation of default shipment with sales orders" msgstr "Povolit vytvoření výchozí přepravy s prodejními objednávkami" -#: common/models.py:1860 +#: common/models.py:1871 msgid "Edit Completed Sales Orders" msgstr "Úprava dokončených prodejních objednávek" -#: common/models.py:1862 +#: common/models.py:1873 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "Umožnit úpravy prodejních objednávek po jejich odeslání nebo dokončení" -#: common/models.py:1868 +#: common/models.py:1879 msgid "Mark Shipped Orders as Complete" msgstr "Označit odeslané objednávky jako dokončené" -#: common/models.py:1870 +#: common/models.py:1881 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "Prodejní objednávky označené jako odeslané se automaticky dokončí a obejdou stav „odesláno“" -#: common/models.py:1876 +#: common/models.py:1887 msgid "Purchase Order Reference Pattern" msgstr "Referenční vzor nákupní objednávky" -#: common/models.py:1878 +#: common/models.py:1889 msgid "Required pattern for generating Purchase Order reference field" msgstr "Požadovaný vzor pro generování referenčního pole nákupní objednávky" -#: common/models.py:1890 +#: common/models.py:1901 msgid "Edit Completed Purchase Orders" msgstr "Úprava dokončených nákupních objednávek" -#: common/models.py:1892 +#: common/models.py:1903 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "Umožnit úpravy nákupních objednávek po jejich odeslání nebo dokončení" -#: common/models.py:1898 +#: common/models.py:1909 msgid "Auto Complete Purchase Orders" msgstr "Automatické dokončování nákupních objednávek" -#: common/models.py:1900 +#: common/models.py:1911 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "Automaticky označit nákupní objednávky jako kompletní, jakmile jsou přijaty všechny řádkové položky" -#: common/models.py:1907 +#: common/models.py:1918 msgid "Enable password forgot" msgstr "Povolit pole zapomenutého hesla" -#: common/models.py:1908 +#: common/models.py:1919 msgid "Enable password forgot function on the login pages" msgstr "Povolení funkce zapomenutého hesla na přihlašovacích stránkách" -#: common/models.py:1913 +#: common/models.py:1924 msgid "Enable registration" msgstr "Povolit registrace" -#: common/models.py:1914 +#: common/models.py:1925 msgid "Enable self-registration for users on the login pages" msgstr "Povolit samoregistraci uživatelů na přihlašovacích stránkách" -#: common/models.py:1919 +#: common/models.py:1930 msgid "Enable SSO" msgstr "Povolit SSO" -#: common/models.py:1920 +#: common/models.py:1931 msgid "Enable SSO on the login pages" msgstr "Povolit SSO na přihlašovacích stránkách" -#: common/models.py:1925 +#: common/models.py:1936 msgid "Enable SSO registration" msgstr "Povolit SSO registraci" -#: common/models.py:1927 +#: common/models.py:1938 msgid "Enable self-registration via SSO for users on the login pages" msgstr "Povolit samoregistraci uživatelů prostřednictvím SSO na přihlašovacích stránkách" -#: common/models.py:1933 +#: common/models.py:1944 msgid "Enable SSO group sync" msgstr "" -#: common/models.py:1935 +#: common/models.py:1946 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/models.py:1941 +#: common/models.py:1952 msgid "SSO group key" msgstr "" -#: common/models.py:1943 +#: common/models.py:1954 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/models.py:1949 +#: common/models.py:1960 msgid "SSO group map" msgstr "" -#: common/models.py:1951 +#: common/models.py:1962 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/models.py:1957 +#: common/models.py:1968 msgid "Remove groups outside of SSO" msgstr "" -#: common/models.py:1959 +#: common/models.py:1970 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/models.py:1965 +#: common/models.py:1976 msgid "Email required" msgstr "Vyžadován e-mail" -#: common/models.py:1966 +#: common/models.py:1977 msgid "Require user to supply mail on signup" msgstr "Požadovat, aby uživatel při registraci zadal e-mail" -#: common/models.py:1971 +#: common/models.py:1982 msgid "Auto-fill SSO users" msgstr "Automaticky vyplnit SSO uživatele" -#: common/models.py:1973 +#: common/models.py:1984 msgid "Automatically fill out user-details from SSO account-data" msgstr "Automaticky vyplnit údaje o uživateli z údajů o účtu SSO" -#: common/models.py:1979 +#: common/models.py:1990 msgid "Mail twice" msgstr "Mail dvakrát" -#: common/models.py:1980 +#: common/models.py:1991 msgid "On signup ask users twice for their mail" msgstr "Při registraci dvakrát požádat uživatele o zadání e-mailu" -#: common/models.py:1985 +#: common/models.py:1996 msgid "Password twice" msgstr "Heslo dvakrát" -#: common/models.py:1986 +#: common/models.py:1997 msgid "On signup ask users twice for their password" msgstr "Při registraci dvakrát požádat uživatele o heslo" -#: common/models.py:1991 +#: common/models.py:2002 msgid "Allowed domains" msgstr "Povolené domény" -#: common/models.py:1993 +#: common/models.py:2004 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "Omezit registraci na určité domény (oddělené čárkou a začínající @)" -#: common/models.py:1999 +#: common/models.py:2010 msgid "Group on signup" msgstr "Skupina při registraci" -#: common/models.py:2001 +#: common/models.py:2012 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/models.py:2007 +#: common/models.py:2018 msgid "Enforce MFA" msgstr "Vynutit MFA" -#: common/models.py:2008 +#: common/models.py:2019 msgid "Users must use multifactor security." msgstr "Uživatelé musí používat vícefaktorové zabezpečení." -#: common/models.py:2013 +#: common/models.py:2024 msgid "Check plugins on startup" msgstr "Zkontrolovat pluginy při spuštění" -#: common/models.py:2015 +#: common/models.py:2026 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "Zkontrolujte, zda jsou při spuštění nainstalovány všechny pluginy - povolit v kontejnerových prostředích" -#: common/models.py:2023 +#: common/models.py:2034 msgid "Check for plugin updates" msgstr "Zkontrolovat aktualizace pluginů" -#: common/models.py:2024 +#: common/models.py:2035 msgid "Enable periodic checks for updates to installed plugins" msgstr "Povolit pravidelné kontroly aktualizací nainstalovaných pluginů" -#: common/models.py:2030 +#: common/models.py:2041 msgid "Enable URL integration" msgstr "Povolit integraci URL" -#: common/models.py:2031 +#: common/models.py:2042 msgid "Enable plugins to add URL routes" msgstr "Povolit plug-inům přidávat trasy URL" -#: common/models.py:2037 +#: common/models.py:2048 msgid "Enable navigation integration" msgstr "Povolit integraci navigace" -#: common/models.py:2038 +#: common/models.py:2049 msgid "Enable plugins to integrate into navigation" msgstr "Povolit integrování pluginů do navigace" -#: common/models.py:2044 +#: common/models.py:2055 msgid "Enable app integration" msgstr "Povolit integraci aplikací" -#: common/models.py:2045 +#: common/models.py:2056 msgid "Enable plugins to add apps" msgstr "Povolit pluginům přidávát aplikace" -#: common/models.py:2051 +#: common/models.py:2062 msgid "Enable schedule integration" msgstr "Povolit integraci plánu" -#: common/models.py:2052 +#: common/models.py:2063 msgid "Enable plugins to run scheduled tasks" msgstr "Povolit pluginům spouštění naplánovaných úloh" -#: common/models.py:2058 +#: common/models.py:2069 msgid "Enable event integration" msgstr "Povolit integraci událostí" -#: common/models.py:2059 +#: common/models.py:2070 msgid "Enable plugins to respond to internal events" msgstr "Povolit pluginům reagovat na interní události" -#: common/models.py:2065 +#: common/models.py:2076 msgid "Enable project codes" msgstr "Povolit kódy projektů" -#: common/models.py:2066 +#: common/models.py:2077 msgid "Enable project codes for tracking projects" msgstr "Povolit kódy projektů pro sledování projektů" -#: common/models.py:2071 +#: common/models.py:2082 msgid "Stocktake Functionality" msgstr "Funkce inventury" -#: common/models.py:2073 +#: common/models.py:2084 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "Povolit funkci inventury pro evidenci stavu zásob a výpočet hodnoty zásob" -#: common/models.py:2079 +#: common/models.py:2090 msgid "Exclude External Locations" msgstr "Vyloučit externí umístění" -#: common/models.py:2081 +#: common/models.py:2092 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "Vyloučit skladové položky na externích místech z výpočtů inventury" -#: common/models.py:2087 +#: common/models.py:2098 msgid "Automatic Stocktake Period" msgstr "Perioda automatické inventury" -#: common/models.py:2089 +#: common/models.py:2100 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "Počet dní mezi automatickým záznamem inventury (pro vypnutí nastavte nulu)" -#: common/models.py:2095 +#: common/models.py:2106 msgid "Report Deletion Interval" msgstr "Interval mazání reportů" -#: common/models.py:2097 +#: common/models.py:2108 msgid "Stocktake reports will be deleted after specified number of days" msgstr "Reporty o inventuře se po určitém počtu dní vymažou" -#: common/models.py:2104 +#: common/models.py:2115 msgid "Display Users full names" msgstr "Zobrazit celá jména uživatelů" -#: common/models.py:2105 +#: common/models.py:2116 msgid "Display Users full names instead of usernames" msgstr "Zobrazit plná jména uživatelů namísto uživatelských jmen" -#: common/models.py:2110 +#: common/models.py:2121 msgid "Enable Test Station Data" msgstr "Povolit data zkušební stanice" -#: common/models.py:2111 +#: common/models.py:2122 msgid "Enable test station data collection for test results" msgstr "Povolit sběr dat ze zkušební stanice pro výsledky testů" -#: common/models.py:2123 common/models.py:2533 +#: common/models.py:2134 common/models.py:2514 msgid "Settings key (must be unique - case insensitive" msgstr "Klíč nastavení (musí být unikátní - rozlišuje malá a velká písmena" -#: common/models.py:2166 +#: common/models.py:2177 msgid "Hide inactive parts" msgstr "Skrýt neaktivní díly" -#: common/models.py:2168 +#: common/models.py:2179 msgid "Hide inactive parts in results displayed on the homepage" msgstr "Skrýt neaktivní díly ve výsledcích zobrazených na domovské stránce" -#: common/models.py:2174 +#: common/models.py:2185 msgid "Show subscribed parts" msgstr "Zobrazit odebírané díly" -#: common/models.py:2175 +#: common/models.py:2186 msgid "Show subscribed parts on the homepage" msgstr "Zobrazit odebírané díly na domovské stránce" -#: common/models.py:2180 +#: common/models.py:2191 msgid "Show subscribed categories" msgstr "Zobrazit odebírané kategorie" -#: common/models.py:2181 +#: common/models.py:2192 msgid "Show subscribed part categories on the homepage" msgstr "Zobrazit kategorie odebíraných dílů na hlavní stránce" -#: common/models.py:2186 +#: common/models.py:2197 msgid "Show latest parts" msgstr "Zobrazit nejnovější díly" -#: common/models.py:2187 +#: common/models.py:2198 msgid "Show latest parts on the homepage" msgstr "Zobrazit nejnovější díly na domovské stránce" -#: common/models.py:2192 +#: common/models.py:2203 msgid "Show invalid BOMs" msgstr "Zobrazit neplatné kusovníky (BOMy)" -#: common/models.py:2193 +#: common/models.py:2204 msgid "Show BOMs that await validation on the homepage" msgstr "Zobrazit kusovníky (BOMy), které čekají na ověření, na domovské stránce" -#: common/models.py:2198 +#: common/models.py:2209 msgid "Show recent stock changes" msgstr "Zobrazit nedávné změny zásob" -#: common/models.py:2199 +#: common/models.py:2210 msgid "Show recently changed stock items on the homepage" msgstr "Zobrazit nedávno změněné skladové položky na domovské stránce" -#: common/models.py:2204 +#: common/models.py:2215 msgid "Show low stock" msgstr "Zobrazit nízký stav zásob" -#: common/models.py:2205 +#: common/models.py:2216 msgid "Show low stock items on the homepage" msgstr "Zobrazit na domovské stránce položky s nízkou skladovou zásobou" -#: common/models.py:2210 +#: common/models.py:2221 msgid "Show depleted stock" msgstr "Zobrazit vyčerpané zásoby" -#: common/models.py:2211 +#: common/models.py:2222 msgid "Show depleted stock items on the homepage" msgstr "Zobrazit vyčerpané položky na domovské stránce" -#: common/models.py:2216 +#: common/models.py:2227 msgid "Show needed stock" msgstr "Zobrazit potřebné zásoby" -#: common/models.py:2217 +#: common/models.py:2228 msgid "Show stock items needed for builds on the homepage" msgstr "Zobrazit skladové položky potřebné pro sestavy na domovské stránce" -#: common/models.py:2222 +#: common/models.py:2233 msgid "Show expired stock" msgstr "Zobrazit expirované zásoby" -#: common/models.py:2223 +#: common/models.py:2234 msgid "Show expired stock items on the homepage" msgstr "Zobrazit expirované skladové položky na domovské stránce" -#: common/models.py:2228 +#: common/models.py:2239 msgid "Show stale stock" msgstr "Zobrazit neaktuální zásoby" -#: common/models.py:2229 +#: common/models.py:2240 msgid "Show stale stock items on the homepage" msgstr "Zobrazit neaktuální skladové položky na domovské stránce" -#: common/models.py:2234 +#: common/models.py:2245 msgid "Show pending builds" msgstr "Zobrazit nevyřízené sestavy" -#: common/models.py:2235 +#: common/models.py:2246 msgid "Show pending builds on the homepage" msgstr "Zobrazit nevyřízené sestavy na domovské stránce" -#: common/models.py:2240 +#: common/models.py:2251 msgid "Show overdue builds" msgstr "Zobrazit sestavy po splatnosti" -#: common/models.py:2241 +#: common/models.py:2252 msgid "Show overdue builds on the homepage" msgstr "Zobrazit sestavy po splatnosti na domovské stránce" -#: common/models.py:2246 +#: common/models.py:2257 msgid "Show outstanding POs" msgstr "Zobrazit nevyřízené PO" -#: common/models.py:2247 +#: common/models.py:2258 msgid "Show outstanding POs on the homepage" msgstr "Zobrazit nevyřízené PO na domovské stránce" -#: common/models.py:2252 +#: common/models.py:2263 msgid "Show overdue POs" msgstr "Zobrazit PO po splatnosti" -#: common/models.py:2253 +#: common/models.py:2264 msgid "Show overdue POs on the homepage" msgstr "Zobrazit PO po splatnosti na domovské stránce" -#: common/models.py:2258 +#: common/models.py:2269 msgid "Show outstanding SOs" msgstr "Zobrazit nevyřízené SO" -#: common/models.py:2259 +#: common/models.py:2270 msgid "Show outstanding SOs on the homepage" msgstr "Zobrazit nevyřízené SO na domovské stránce" -#: common/models.py:2264 +#: common/models.py:2275 msgid "Show overdue SOs" msgstr "Zobrazit SO po splatnosti" -#: common/models.py:2265 +#: common/models.py:2276 msgid "Show overdue SOs on the homepage" msgstr "Zobrazit SO po splatnosti na domovské stránce" -#: common/models.py:2270 +#: common/models.py:2281 msgid "Show pending SO shipments" msgstr "Zobrazit čekající zásilky SO" -#: common/models.py:2271 +#: common/models.py:2282 msgid "Show pending SO shipments on the homepage" msgstr "Zobrazit čekající zásilky SO na domovské stránce" -#: common/models.py:2276 +#: common/models.py:2287 msgid "Show News" msgstr "Zobrazit novinky" -#: common/models.py:2277 +#: common/models.py:2288 msgid "Show news on the homepage" msgstr "Zobrazit novinky na domovské stránce" -#: common/models.py:2282 +#: common/models.py:2293 msgid "Inline label display" msgstr "Zobrazení štítků na řádku" -#: common/models.py:2284 +#: common/models.py:2295 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "Zobrazit štítky PDF v prohlížeči namísto stahování jako soubor" -#: common/models.py:2290 +#: common/models.py:2301 msgid "Default label printer" msgstr "Výchozí tiskárna štítků" -#: common/models.py:2292 +#: common/models.py:2303 msgid "Configure which label printer should be selected by default" msgstr "Konfigurovat tiskárnu štítků, která má být vybrána jako výchozí" -#: common/models.py:2298 +#: common/models.py:2309 msgid "Inline report display" msgstr "Zobrazení reportů na řádku" -#: common/models.py:2300 +#: common/models.py:2311 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "Zobrazit reporty PDF v prohlížeči namísto stahování jako soubor" -#: common/models.py:2306 +#: common/models.py:2317 msgid "Search Parts" msgstr "Hledat díly" -#: common/models.py:2307 +#: common/models.py:2318 msgid "Display parts in search preview window" msgstr "Zobrazit díly v náhledu hledání" -#: common/models.py:2312 +#: common/models.py:2323 msgid "Search Supplier Parts" msgstr "Hledat díly dodavatele" -#: common/models.py:2313 +#: common/models.py:2324 msgid "Display supplier parts in search preview window" msgstr "Zobrazit díly dodavatele v náhledu hledání" -#: common/models.py:2318 +#: common/models.py:2329 msgid "Search Manufacturer Parts" msgstr "Vyhledávání dílů výrobce" -#: common/models.py:2319 +#: common/models.py:2330 msgid "Display manufacturer parts in search preview window" msgstr "Zobrazit díly výrobce v náhledu hledání" -#: common/models.py:2324 +#: common/models.py:2335 msgid "Hide Inactive Parts" msgstr "Skrýt neaktivní díly" -#: common/models.py:2325 +#: common/models.py:2336 msgid "Excluded inactive parts from search preview window" msgstr "Vyloučené neaktivní části z okna náhledu vyhledávání" -#: common/models.py:2330 +#: common/models.py:2341 msgid "Search Categories" msgstr "Hledat kategorie" -#: common/models.py:2331 +#: common/models.py:2342 msgid "Display part categories in search preview window" msgstr "Zobrazit kategorie dílů v náhledu hledání" -#: common/models.py:2336 +#: common/models.py:2347 msgid "Search Stock" msgstr "Hledat zásoby" -#: common/models.py:2337 +#: common/models.py:2348 msgid "Display stock items in search preview window" msgstr "Zobrazit skladové položky v náhledu hledání" -#: common/models.py:2342 +#: common/models.py:2353 msgid "Hide Unavailable Stock Items" msgstr "Skrýt nedostupné skladové položky" -#: common/models.py:2344 +#: common/models.py:2355 msgid "Exclude stock items which are not available from the search preview window" msgstr "Vyloučit skladové položky, které nejsou dostupné z okna náhledu hledání" -#: common/models.py:2350 +#: common/models.py:2361 msgid "Search Locations" msgstr "Hledat umístění" -#: common/models.py:2351 +#: common/models.py:2362 msgid "Display stock locations in search preview window" msgstr "Zobrazit skladová umístění v náhledu hledání" -#: common/models.py:2356 +#: common/models.py:2367 msgid "Search Companies" msgstr "Hledat společnosti" -#: common/models.py:2357 +#: common/models.py:2368 msgid "Display companies in search preview window" msgstr "Zobrazit společnosti v náhledu hledání" -#: common/models.py:2362 +#: common/models.py:2373 msgid "Search Build Orders" msgstr "Hledat objednávky sestav" -#: common/models.py:2363 +#: common/models.py:2374 msgid "Display build orders in search preview window" msgstr "Zobrazit objednávky sestav v náhledu hledání" -#: common/models.py:2368 +#: common/models.py:2379 msgid "Search Purchase Orders" msgstr "Hledat nákupní objednávky" -#: common/models.py:2369 +#: common/models.py:2380 msgid "Display purchase orders in search preview window" msgstr "Zobrazit nákupní objednávky v náhledu hledání" -#: common/models.py:2374 +#: common/models.py:2385 msgid "Exclude Inactive Purchase Orders" msgstr "Vyloučit neaktivní nákupní objednávky" -#: common/models.py:2376 +#: common/models.py:2387 msgid "Exclude inactive purchase orders from search preview window" msgstr "Vyloučit neaktivní nákupní objednávky z okna náhledu vyhledávání" -#: common/models.py:2382 +#: common/models.py:2393 msgid "Search Sales Orders" msgstr "Hledat prodejní objednávky" -#: common/models.py:2383 +#: common/models.py:2394 msgid "Display sales orders in search preview window" msgstr "Zobrazit prodejní objednávky v náhledu hledání" -#: common/models.py:2388 +#: common/models.py:2399 msgid "Exclude Inactive Sales Orders" msgstr "Vyloučit neaktivní prodejní objednávky" -#: common/models.py:2390 +#: common/models.py:2401 msgid "Exclude inactive sales orders from search preview window" msgstr "Vyloučit neaktivní prodejní objednávky z okna náhledu vyhledávání" -#: common/models.py:2396 +#: common/models.py:2407 msgid "Search Return Orders" msgstr "Vyhledávání vrácených objednávek" -#: common/models.py:2397 +#: common/models.py:2408 msgid "Display return orders in search preview window" msgstr "Zobrazit vrácené objednávky v okně náhledu vyhledávání" -#: common/models.py:2402 +#: common/models.py:2413 msgid "Exclude Inactive Return Orders" msgstr "Vyloučit neaktivní vrácené objednávky" -#: common/models.py:2404 +#: common/models.py:2415 msgid "Exclude inactive return orders from search preview window" msgstr "Vyloučit neaktivní vrácené objednávky z okna náhledu vyhledávání" -#: common/models.py:2410 +#: common/models.py:2421 msgid "Search Preview Results" msgstr "Náhled výsledků vyhledávání" -#: common/models.py:2412 +#: common/models.py:2423 msgid "Number of results to show in each section of the search preview window" msgstr "Počet výsledků, které se mají zobrazit v každé části okna náhledu vyhledávání" -#: common/models.py:2418 +#: common/models.py:2429 msgid "Regex Search" msgstr "Regex hledání" -#: common/models.py:2419 +#: common/models.py:2430 msgid "Enable regular expressions in search queries" msgstr "Povolit regulární výrazy ve vyhledávacích dotazech" -#: common/models.py:2424 +#: common/models.py:2435 msgid "Whole Word Search" msgstr "Vyhledávání celého slova" -#: common/models.py:2425 +#: common/models.py:2436 msgid "Search queries return results for whole word matches" msgstr "Vyhledávací dotazy vracejí výsledky pro shody celých slov" -#: common/models.py:2430 +#: common/models.py:2441 msgid "Show Quantity in Forms" msgstr "Zobrazit množství ve formulářích" -#: common/models.py:2431 +#: common/models.py:2442 msgid "Display available part quantity in some forms" msgstr "Zobrazit dostupné množství dílů v některých formulářích" -#: common/models.py:2436 +#: common/models.py:2447 msgid "Escape Key Closes Forms" msgstr "Klávesa Escape zavře formuláře" -#: common/models.py:2437 +#: common/models.py:2448 msgid "Use the escape key to close modal forms" msgstr "Zavřít modální formuláře pomocí klávesy escape" -#: common/models.py:2442 +#: common/models.py:2453 msgid "Fixed Navbar" msgstr "Pevná navigační lišta" -#: common/models.py:2443 +#: common/models.py:2454 msgid "The navbar position is fixed to the top of the screen" msgstr "Pozice navigační lišty je pevně nastavena na horní okraj obrazovky" -#: common/models.py:2448 +#: common/models.py:2459 msgid "Date Format" msgstr "Formát data" -#: common/models.py:2449 +#: common/models.py:2460 msgid "Preferred format for displaying dates" msgstr "Preferovaný formát pro zobrazení datumů" -#: common/models.py:2462 part/templates/part/detail.html:41 +#: common/models.py:2473 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Plánování dílů" -#: common/models.py:2463 +#: common/models.py:2474 msgid "Display part scheduling information" msgstr "Zobrazit informace o plánování dílů" -#: common/models.py:2468 part/templates/part/detail.html:62 +#: common/models.py:2479 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "Inventura dílu" -#: common/models.py:2470 +#: common/models.py:2481 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "Zobrazit informace o skladových zásobách dílů (pokud je povolena funkce inventury)" -#: common/models.py:2476 +#: common/models.py:2487 msgid "Table String Length" msgstr "Délka textu v tabulce" -#: common/models.py:2478 +#: common/models.py:2489 msgid "Maximum length limit for strings displayed in table views" msgstr "Maximální délka textu v zobrazeních tabulek" -#: common/models.py:2484 -msgid "Default part label template" -msgstr "Výchozí šablona štítku dílu" - -#: common/models.py:2485 -msgid "The part label template to be automatically selected" -msgstr "Automaticky vybraná šablona štítku dílu" - -#: common/models.py:2490 -msgid "Default stock item template" -msgstr "Výchozí šablona skladové položky" - -#: common/models.py:2492 -msgid "The stock item label template to be automatically selected" -msgstr "Automaticky vybraná šablona štítku skladové položky" - -#: common/models.py:2498 -msgid "Default stock location label template" -msgstr "Výchozí šablona štítku umístění zásob" - -#: common/models.py:2500 -msgid "The stock location label template to be automatically selected" -msgstr "Automaticky vybraná šablona štítku skladového umístění" - -#: common/models.py:2506 -msgid "Default build line label template" -msgstr "Výchozí šablona štítku řádku sestavy" - -#: common/models.py:2508 -msgid "The build line label template to be automatically selected" -msgstr "Automaticky vybraná šablona štítku řádku sestavy" - -#: common/models.py:2514 +#: common/models.py:2495 msgid "Receive error reports" msgstr "Přijímat zprávy o chybách" -#: common/models.py:2515 +#: common/models.py:2496 msgid "Receive notifications for system errors" msgstr "Dostávat oznámení o systémových chybách" -#: common/models.py:2520 +#: common/models.py:2501 msgid "Last used printing machines" msgstr "Poslední použité tiskárny" -#: common/models.py:2521 +#: common/models.py:2502 msgid "Save the last used printing machines for a user" msgstr "Uložte poslední použité tiskárny pro uživatele" -#: common/models.py:2541 common/models.py:2542 common/models.py:2691 -#: common/models.py:2692 common/models.py:2937 common/models.py:2938 -#: common/models.py:3259 common/models.py:3260 part/models.py:3193 -#: part/models.py:3280 part/models.py:3353 part/models.py:3381 -#: plugin/models.py:274 plugin/models.py:275 +#: common/models.py:2522 common/models.py:2523 common/models.py:2672 +#: common/models.py:2673 common/models.py:2918 common/models.py:2919 +#: common/models.py:3245 common/models.py:3246 importer/models.py:85 +#: part/models.py:3203 part/models.py:3290 part/models.py:3364 +#: part/models.py:3392 plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 msgid "User" msgstr "Uživatel" -#: common/models.py:2564 +#: common/models.py:2545 msgid "Price break quantity" msgstr "Množství cenové slevy" -#: common/models.py:2571 company/serializers.py:472 order/admin.py:42 -#: order/models.py:1346 order/models.py:2265 -#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1886 +#: common/models.py:2552 company/serializers.py:502 order/admin.py:42 +#: order/models.py:1346 order/models.py:2292 +#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1889 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:740 msgid "Price" msgstr "Cena" -#: common/models.py:2572 +#: common/models.py:2553 msgid "Unit price at specified quantity" msgstr "Jednotková cena při stanoveném množství" -#: common/models.py:2668 common/models.py:2853 +#: common/models.py:2649 common/models.py:2834 msgid "Endpoint" msgstr "Koncový bod" -#: common/models.py:2669 +#: common/models.py:2650 msgid "Endpoint at which this webhook is received" msgstr "Koncový bod, ve kterém je tento webhook přijímán" -#: common/models.py:2679 +#: common/models.py:2660 msgid "Name for this webhook" msgstr "Název tohoto webhooku" -#: common/models.py:2683 +#: common/models.py:2664 msgid "Is this webhook active" msgstr "Je tento webhook aktivní" -#: common/models.py:2699 users/models.py:159 +#: common/models.py:2680 users/models.py:159 msgid "Token" msgstr "Token" -#: common/models.py:2700 +#: common/models.py:2681 msgid "Token for access" msgstr "Token pro přístup" -#: common/models.py:2708 +#: common/models.py:2689 msgid "Secret" msgstr "Tajný klíč" -#: common/models.py:2709 +#: common/models.py:2690 msgid "Shared secret for HMAC" msgstr "Sdílený tajný klíč pro HMAC" -#: common/models.py:2817 +#: common/models.py:2798 msgid "Message ID" msgstr "ID zprávy" -#: common/models.py:2818 +#: common/models.py:2799 msgid "Unique identifier for this message" msgstr "Unikátní identifikátor pro tuto zprávu" -#: common/models.py:2826 +#: common/models.py:2807 msgid "Host" msgstr "Hostitel" -#: common/models.py:2827 +#: common/models.py:2808 msgid "Host from which this message was received" msgstr "Hostitel, od kterého byla tato zpráva přijata" -#: common/models.py:2835 +#: common/models.py:2816 msgid "Header" msgstr "Záhlaví" -#: common/models.py:2836 +#: common/models.py:2817 msgid "Header of this message" msgstr "Záhlaví této zprávy" -#: common/models.py:2843 +#: common/models.py:2824 msgid "Body" msgstr "Tělo" -#: common/models.py:2844 +#: common/models.py:2825 msgid "Body of this message" msgstr "Tělo zprávy" -#: common/models.py:2854 +#: common/models.py:2835 msgid "Endpoint on which this message was received" msgstr "Koncový bod, na kterém byla zpráva přijata" -#: common/models.py:2859 +#: common/models.py:2840 msgid "Worked on" msgstr "Pracoval na" -#: common/models.py:2860 +#: common/models.py:2841 msgid "Was the work on this message finished?" msgstr "Byla práce na této zprávě dokončena?" -#: common/models.py:2986 +#: common/models.py:2967 msgid "Id" msgstr "ID" -#: common/models.py:2988 templates/js/translated/company.js:965 +#: common/models.py:2969 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "Název" -#: common/models.py:2990 common/models.py:3243 company/models.py:149 -#: company/models.py:440 company/models.py:500 company/models.py:799 -#: order/models.py:303 order/models.py:1301 order/models.py:1717 -#: part/admin.py:55 part/models.py:955 +#: common/models.py:2971 common/models.py:3229 company/models.py:149 +#: company/models.py:446 company/models.py:506 company/models.py:806 +#: order/models.py:303 order/models.py:1301 order/models.py:1733 +#: part/admin.py:55 part/models.py:959 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:229 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/part.js:2459 #: templates/js/translated/purchase_order.js:2040 #: templates/js/translated/purchase_order.js:2204 #: templates/js/translated/return_order.js:779 @@ -3607,28 +3658,28 @@ msgstr "Název" msgid "Link" msgstr "Odkaz" -#: common/models.py:2992 templates/js/translated/news.js:60 +#: common/models.py:2973 templates/js/translated/news.js:60 msgid "Published" msgstr "Zveřejněno" -#: common/models.py:2994 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2975 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:2996 templates/js/translated/news.js:52 +#: common/models.py:2977 templates/js/translated/news.js:52 msgid "Summary" msgstr "Souhrn" -#: common/models.py:2999 +#: common/models.py:2980 msgid "Read" msgstr "Přečteno" -#: common/models.py:2999 +#: common/models.py:2980 msgid "Was this news item read?" msgstr "Byla tato novinka přečtena?" -#: common/models.py:3016 company/models.py:159 part/models.py:965 +#: common/models.py:2997 company/models.py:159 part/models.py:969 #: 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.html:35 @@ -3638,90 +3689,96 @@ msgstr "Byla tato novinka přečtena?" msgid "Image" msgstr "Obrazek" -#: common/models.py:3016 +#: common/models.py:2997 msgid "Image file" msgstr "Soubor obrázku" -#: common/models.py:3028 common/models.py:3227 +#: common/models.py:3009 common/models.py:3213 msgid "Target model type for this image" msgstr "Cílový typ modelu pro tento obrázek" -#: common/models.py:3032 +#: common/models.py:3013 msgid "Target model ID for this image" msgstr "Cílové ID modelu pro tento obrázek" -#: common/models.py:3070 +#: common/models.py:3035 +#, fuzzy +#| msgid "Customer" +msgid "Custom Unit" +msgstr "Zákazník" + +#: common/models.py:3056 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:3085 +#: common/models.py:3071 msgid "Unit name must be a valid identifier" msgstr "Název jednotky musí být platný identifikátor" -#: common/models.py:3104 +#: common/models.py:3090 msgid "Unit name" msgstr "Název jednotky" -#: common/models.py:3111 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3097 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "Symbol" -#: common/models.py:3112 +#: common/models.py:3098 msgid "Optional unit symbol" msgstr "Volitelný symbol jednotky" -#: common/models.py:3118 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3104 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "Definice" -#: common/models.py:3119 +#: common/models.py:3105 msgid "Unit definition" msgstr "Definice jednotky" -#: common/models.py:3177 common/models.py:3234 stock/models.py:2461 +#: common/models.py:3163 common/models.py:3220 stock/models.py:2471 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" msgstr "Příloha" -#: common/models.py:3189 +#: common/models.py:3175 msgid "Missing file" msgstr "Chybějící soubor" -#: common/models.py:3190 +#: common/models.py:3176 msgid "Missing external link" msgstr "Chybějící externí odkaz" -#: common/models.py:3235 +#: common/models.py:3221 msgid "Select file to attach" msgstr "Vyberte soubor k přiložení" -#: common/models.py:3250 templates/js/translated/attachment.js:120 +#: common/models.py:3236 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" msgstr "Komentář" -#: common/models.py:3251 +#: common/models.py:3237 msgid "Attachment comment" msgstr "Komentář přílohy" -#: common/models.py:3267 +#: common/models.py:3253 msgid "Upload date" msgstr "Datum nahrání" -#: common/models.py:3268 +#: common/models.py:3254 msgid "Date the file was uploaded" msgstr "Datum, kdy byl soubor nahrán" -#: common/models.py:3272 +#: common/models.py:3258 msgid "File size" msgstr "Velikost souboru" -#: common/models.py:3272 +#: common/models.py:3258 msgid "File size in bytes" msgstr "Velikost souboru v bytech" -#: common/models.py:3310 common/serializers.py:553 +#: common/models.py:3296 common/serializers.py:557 msgid "Invalid model type specified for attachment" msgstr "Uveden neplatný typ modelu pro přílohu" @@ -3743,7 +3800,7 @@ msgstr "{verbose_name} zrušeno" msgid "A order that is assigned to you was canceled" msgstr "Objednávka, která je vám přidělena, byla zrušena" -#: common/notifications.py:330 common/notifications.py:337 order/api.py:472 +#: common/notifications.py:330 common/notifications.py:337 order/api.py:454 msgid "Items Received" msgstr "" @@ -3759,75 +3816,75 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:371 +#: common/serializers.py:375 msgid "Is Running" msgstr "" -#: common/serializers.py:377 +#: common/serializers.py:381 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:383 +#: common/serializers.py:387 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:389 +#: common/serializers.py:393 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:404 +#: common/serializers.py:408 msgid "Task ID" msgstr "" -#: common/serializers.py:404 +#: common/serializers.py:408 msgid "Unique task ID" msgstr "" -#: common/serializers.py:406 +#: common/serializers.py:410 msgid "Lock" msgstr "" -#: common/serializers.py:406 +#: common/serializers.py:410 msgid "Lock time" msgstr "Čas uzamčení" -#: common/serializers.py:408 +#: common/serializers.py:412 msgid "Task name" msgstr "Jméno úkolu" -#: common/serializers.py:410 +#: common/serializers.py:414 msgid "Function" msgstr "Funkce" -#: common/serializers.py:410 +#: common/serializers.py:414 msgid "Function name" msgstr "Název funkce" -#: common/serializers.py:412 +#: common/serializers.py:416 msgid "Arguments" msgstr "Argumenty" -#: common/serializers.py:412 +#: common/serializers.py:416 msgid "Task arguments" msgstr "Argumenty úlohy" -#: common/serializers.py:415 +#: common/serializers.py:419 msgid "Keyword Arguments" msgstr "Argumenty klíčových slov" -#: common/serializers.py:415 +#: common/serializers.py:419 msgid "Task keyword arguments" msgstr "Argumenty klíčových slov úlohy" -#: common/serializers.py:525 +#: common/serializers.py:529 msgid "Filename" msgstr "Název souboru" -#: common/serializers.py:532 report/api.py:100 report/serializers.py:53 +#: common/serializers.py:536 report/api.py:100 report/serializers.py:53 msgid "Model Type" msgstr "Typ modelu" -#: common/serializers.py:559 +#: common/serializers.py:563 msgid "User does not have permission to create or edit attachments for this model" msgstr "Uživatel nemá oprávnění k vytváření nebo úpravám příloh pro tento model" @@ -3894,29 +3951,29 @@ msgstr "Importované díly" msgid "Previous Step" msgstr "Předchozí krok" -#: company/api.py:144 +#: company/api.py:141 msgid "Part is Active" msgstr "Díl je aktivní" -#: company/api.py:148 +#: company/api.py:145 msgid "Manufacturer is Active" msgstr "Výrobce je aktivní" -#: company/api.py:281 +#: company/api.py:278 msgid "Supplier Part is Active" msgstr "Díl dodavatele je aktivní" -#: company/api.py:285 +#: company/api.py:282 msgid "Internal Part is Active" msgstr "Interní díl je aktivní" -#: company/api.py:289 +#: company/api.py:286 msgid "Supplier is Active" msgstr "Dodavatel je aktivní" -#: company/models.py:100 company/models.py:365 +#: company/models.py:100 company/models.py:371 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:822 +#: company/templates/company/company_base.html:12 stock/api.py:814 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "Společnost" @@ -3956,8 +4013,9 @@ msgstr "Kontaktní telefonní číslo" msgid "Contact email address" msgstr "Kontaktní e-mailová adresa" -#: company/models.py:142 company/templates/company/company_base.html:145 -#: order/models.py:343 order/templates/order/order_base.html:203 +#: company/models.py:142 company/models.py:275 +#: company/templates/company/company_base.html:145 order/models.py:343 +#: order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 #: order/templates/order/sales_order_base.html:218 msgid "Contact" @@ -3976,7 +4034,9 @@ msgid "Is this company active?" msgstr "Je tato společnost aktivní?" #: company/models.py:168 -msgid "is customer" +#, fuzzy +#| msgid "is customer" +msgid "Is customer" msgstr "je zákazník" #: company/models.py:169 @@ -3984,7 +4044,9 @@ msgid "Do you sell items to this company?" msgstr "Prodáváte zboží této společnosti?" #: company/models.py:174 -msgid "is supplier" +#, fuzzy +#| msgid "is supplier" +msgid "Is supplier" msgstr "je dodavatel" #: company/models.py:175 @@ -3992,7 +4054,9 @@ msgid "Do you purchase items from this company?" msgstr "Zakupujete zboží od této společnosti?" #: company/models.py:180 -msgid "is manufacturer" +#, fuzzy +#| msgid "is manufacturer" +msgid "Is manufacturer" msgstr "je výrobce" #: company/models.py:181 @@ -4003,178 +4067,191 @@ msgstr "Vyrábí tato společnost díly?" msgid "Default currency used for this company" msgstr "Výchozí měna používaná pro tuto společnost" -#: company/models.py:366 +#: company/models.py:314 company/templates/company/company_base.html:124 +#: order/models.py:353 order/templates/order/order_base.html:210 +#: order/templates/order/return_order_base.html:181 +#: order/templates/order/sales_order_base.html:225 +msgid "Address" +msgstr "Adresa" + +#: company/models.py:315 company/templates/company/sidebar.html:35 +msgid "Addresses" +msgstr "Adresy" + +#: company/models.py:372 msgid "Select company" msgstr "Vyberte společnost" -#: company/models.py:371 +#: company/models.py:377 msgid "Address title" msgstr "Název adresy" -#: company/models.py:372 +#: company/models.py:378 msgid "Title describing the address entry" msgstr "Název popisující záznam adresy" -#: company/models.py:378 +#: company/models.py:384 msgid "Primary address" msgstr "Primární adresa" -#: company/models.py:379 +#: company/models.py:385 msgid "Set as primary address" msgstr "Nastavit jako primární adresu" -#: company/models.py:384 templates/js/translated/company.js:914 +#: company/models.py:390 templates/js/translated/company.js:914 #: templates/js/translated/company.js:971 msgid "Line 1" msgstr "Řádek 1" -#: company/models.py:385 +#: company/models.py:391 msgid "Address line 1" msgstr "1. řádek adresy" -#: company/models.py:391 templates/js/translated/company.js:915 +#: company/models.py:397 templates/js/translated/company.js:915 #: templates/js/translated/company.js:977 msgid "Line 2" msgstr "Řádek 2" -#: company/models.py:392 +#: company/models.py:398 msgid "Address line 2" msgstr "2. řádek adresy" -#: company/models.py:398 company/models.py:399 +#: company/models.py:404 company/models.py:405 #: templates/js/translated/company.js:983 msgid "Postal code" msgstr "PSČ" -#: company/models.py:405 +#: company/models.py:411 msgid "City/Region" msgstr "Město/Region" -#: company/models.py:406 +#: company/models.py:412 msgid "Postal code city/region" msgstr "PSČ město/region" -#: company/models.py:412 +#: company/models.py:418 msgid "State/Province" msgstr "Stát/kraj" -#: company/models.py:413 +#: company/models.py:419 msgid "State or province" msgstr "Stát nebo provincie" -#: company/models.py:419 templates/js/translated/company.js:1001 +#: company/models.py:425 templates/js/translated/company.js:1001 msgid "Country" msgstr "Země" -#: company/models.py:420 +#: company/models.py:426 msgid "Address country" msgstr "Adresovaná země" -#: company/models.py:426 +#: company/models.py:432 msgid "Courier shipping notes" msgstr "Doručovací poznámky pro kurýra" -#: company/models.py:427 +#: company/models.py:433 msgid "Notes for shipping courier" msgstr "Poznámky pro kurýra" -#: company/models.py:433 +#: company/models.py:439 msgid "Internal shipping notes" msgstr "Interní přepravní poznámky" -#: company/models.py:434 +#: company/models.py:440 msgid "Shipping notes for internal use" msgstr "Doručovací poznámky pro interní použití" -#: company/models.py:441 +#: company/models.py:447 msgid "Link to address information (external)" msgstr "Odkaz na informace o adrese (externí)" -#: company/models.py:463 company/models.py:574 company/models.py:792 +#: company/models.py:469 company/models.py:581 company/models.py:799 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:217 msgid "Manufacturer Part" msgstr "Výrobce dílu" -#: company/models.py:475 company/models.py:760 stock/models.py:767 -#: stock/serializers.py:422 stock/templates/stock/item_base.html:142 +#: company/models.py:481 company/models.py:767 stock/models.py:767 +#: stock/serializers.py:442 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "Základní díl" -#: company/models.py:477 company/models.py:762 +#: company/models.py:483 company/models.py:769 msgid "Select part" msgstr "Zvolte díl" -#: company/models.py:486 company/templates/company/company_base.html:82 +#: company/models.py:492 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:525 +#: company/templates/company/supplier_part.html:145 part/serializers.py:543 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 #: templates/js/translated/company.js:1296 #: templates/js/translated/company.js:1611 -#: templates/js/translated/table_filters.js:800 +#: templates/js/translated/table_filters.js:805 msgid "Manufacturer" msgstr "Výrobce" -#: company/models.py:487 +#: company/models.py:493 msgid "Select manufacturer" msgstr "Vyberte výrobce" -#: company/models.py:493 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:535 -#: templates/js/translated/company.js:351 +#: company/models.py:499 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:153 order/serializers.py:518 +#: part/serializers.py:553 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:1801 +#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1804 #: templates/js/translated/purchase_order.js:1851 #: templates/js/translated/purchase_order.js:2053 msgid "MPN" msgstr "MPN" -#: company/models.py:494 -msgid "Manufacturer Part Number" -msgstr "Číslo dílu výrobce" - -#: company/models.py:501 +#: company/models.py:507 msgid "URL for external manufacturer part link" msgstr "URL pro odkaz na díl externího výrobce" -#: company/models.py:510 +#: company/models.py:516 msgid "Manufacturer part description" msgstr "Popis dílu výrobce" -#: company/models.py:581 +#: company/models.py:569 +#, fuzzy +#| msgid "Manufacturer Part Number" +msgid "Manufacturer Part Parameter" +msgstr "Číslo dílu výrobce" + +#: company/models.py:588 msgid "Parameter name" msgstr "Název parametru" -#: company/models.py:587 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2453 templates/js/translated/company.js:1166 -#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1493 +#: company/models.py:594 report/templates/report/inventree_test_report.html:104 +#: stock/models.py:2463 templates/js/translated/company.js:1166 +#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1496 #: templates/js/translated/stock.js:1522 msgid "Value" msgstr "Hodnota" -#: company/models.py:588 +#: company/models.py:595 msgid "Parameter value" msgstr "Hodnota parametru" -#: company/models.py:595 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1045 part/models.py:3646 +#: company/models.py:602 company/templates/company/supplier_part.html:168 +#: part/admin.py:57 part/models.py:1049 part/models.py:3667 #: part/templates/part/part_base.html:284 -#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1512 -#: templates/js/translated/part.js:1616 templates/js/translated/part.js:2370 +#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1515 +#: templates/js/translated/part.js:1619 templates/js/translated/part.js:2373 msgid "Units" msgstr "Jednotky" -#: company/models.py:596 +#: company/models.py:603 msgid "Parameter units" msgstr "Jednotky parametru" -#: company/models.py:648 company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 order/api.py:452 +#: company/models.py:655 company/templates/company/supplier_part.html:7 +#: company/templates/company/supplier_part.html:24 order/api.py:434 #: stock/models.py:778 stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 @@ -4182,91 +4259,91 @@ msgstr "Jednotky parametru" msgid "Supplier Part" msgstr "Díl dodavatele" -#: company/models.py:700 +#: company/models.py:707 msgid "Pack units must be compatible with the base part units" msgstr "Jednotky balení musí být kompatibilní s jednotkami základních dílů" -#: company/models.py:707 +#: company/models.py:714 msgid "Pack units must be greater than zero" msgstr "Jednotky balení musí být větší než nula" -#: company/models.py:721 +#: company/models.py:728 msgid "Linked manufacturer part must reference the same base part" msgstr "Odkazovaný díl výrobce musí odkazovat na stejný základní díl" -#: company/models.py:770 company/templates/company/company_base.html:87 +#: company/models.py:777 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:509 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:527 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 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:511 -#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1769 +#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1772 #: templates/js/translated/pricing.js:498 #: templates/js/translated/purchase_order.js:1689 -#: templates/js/translated/table_filters.js:804 +#: templates/js/translated/table_filters.js:809 msgid "Supplier" msgstr "Dodavatel" -#: company/models.py:771 +#: company/models.py:778 msgid "Select supplier" msgstr "Vyberte dodavatele" -#: company/models.py:777 part/serializers.py:520 +#: company/models.py:784 part/serializers.py:538 msgid "Supplier stock keeping unit" msgstr "Skladová evidence dodavatele" -#: company/models.py:783 +#: company/models.py:790 msgid "Is this supplier part active?" msgstr "Je tento díl dodavatele aktivní?" -#: company/models.py:793 +#: company/models.py:800 msgid "Select manufacturer part" msgstr "Vyberte díl výrobce" -#: company/models.py:800 +#: company/models.py:807 msgid "URL for external supplier part link" msgstr "Adresa URL pro odkaz na externí díl dodavatele" -#: company/models.py:809 +#: company/models.py:816 msgid "Supplier part description" msgstr "Popis dílu dodavatele" -#: company/models.py:816 company/templates/company/supplier_part.html:187 -#: part/admin.py:412 part/models.py:4093 part/templates/part/upload_bom.html:59 +#: company/models.py:823 company/templates/company/supplier_part.html:187 +#: part/admin.py:412 part/models.py:4178 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: 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:710 +#: stock/serializers.py:768 msgid "Note" msgstr "Poznámka" -#: company/models.py:825 part/models.py:2003 +#: company/models.py:832 part/models.py:2013 msgid "base cost" msgstr "základní cena" -#: company/models.py:826 part/models.py:2004 +#: company/models.py:833 part/models.py:2014 msgid "Minimum charge (e.g. stocking fee)" msgstr "Minimální poplatek (např. poplatek za skladování)" -#: company/models.py:833 company/templates/company/supplier_part.html:160 -#: stock/admin.py:228 stock/models.py:798 stock/serializers.py:1475 +#: company/models.py:840 company/templates/company/supplier_part.html:160 +#: stock/admin.py:228 stock/models.py:798 stock/serializers.py:1541 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 msgid "Packaging" msgstr "Balení" -#: company/models.py:834 +#: company/models.py:841 msgid "Part packaging" msgstr "Balení dílu" -#: company/models.py:839 templates/js/translated/company.js:1651 -#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 +#: company/models.py:846 templates/js/translated/company.js:1651 +#: templates/js/translated/part.js:1825 templates/js/translated/part.js:1881 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 #: templates/js/translated/purchase_order.js:1103 @@ -4275,35 +4352,47 @@ msgstr "Balení dílu" msgid "Pack Quantity" msgstr "Počet kusů v balení" -#: company/models.py:841 +#: company/models.py:848 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "Celkové množství dodávané v jednom balení. Pro jednotlivé položky ponechte prázdné." -#: company/models.py:860 part/models.py:2010 +#: company/models.py:867 part/models.py:2020 msgid "multiple" msgstr "více" -#: company/models.py:861 +#: company/models.py:868 msgid "Order multiple" msgstr "Objednat více" -#: company/models.py:873 +#: company/models.py:880 msgid "Quantity available from supplier" msgstr "Množství dostupné od dodavatele" -#: company/models.py:879 +#: company/models.py:886 msgid "Availability Updated" msgstr "Dostupnost aktualizována" -#: company/models.py:880 +#: company/models.py:887 msgid "Date of last update of availability data" msgstr "Datum poslední aktualizace údajů o dostupnosti" -#: company/serializers.py:161 +#: company/models.py:1015 +#, fuzzy +#| msgid "Supplier Part Orders" +msgid "Supplier Price Break" +msgstr "Objednávky dílu dodavatele" + +#: company/serializers.py:174 msgid "Default currency used for this supplier" msgstr "Výchozí měna používaná pro tohoto dodavatele" -#: company/serializers.py:357 part/admin.py:126 +#: company/serializers.py:210 +#, fuzzy +#| msgid "Company name" +msgid "Company Name" +msgstr "Jméno společnosti" + +#: company/serializers.py:384 part/admin.py:126 part/serializers.py:855 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:355 @@ -4315,7 +4404,7 @@ msgstr "Skladem" #: templates/js/translated/company.js:1287 #: templates/js/translated/company.js:1575 #: templates/js/translated/model_renderers.js:312 -#: templates/js/translated/part.js:815 templates/js/translated/part.js:1219 +#: templates/js/translated/part.js:814 templates/js/translated/part.js:1222 msgid "Inactive" msgstr "Neaktivní" @@ -4374,16 +4463,16 @@ msgid "Delete image" msgstr "Smazat obrázek" #: company/templates/company/company_base.html:92 order/models.py:938 -#: order/models.py:2032 order/templates/order/return_order_base.html:131 +#: order/models.py:2058 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:148 stock/models.py:820 -#: stock/models.py:821 stock/serializers.py:1225 +#: stock/models.py:821 stock/serializers.py:1291 #: 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:295 #: templates/js/translated/sales_order.js:820 #: templates/js/translated/stock.js:2959 -#: templates/js/translated/table_filters.js:808 +#: templates/js/translated/table_filters.js:813 msgid "Customer" msgstr "Zákazník" @@ -4391,13 +4480,6 @@ msgstr "Zákazník" msgid "Uses default currency" msgstr "Použít výchozí měnu" -#: company/templates/company/company_base.html:124 order/models.py:353 -#: order/templates/order/order_base.html:210 -#: order/templates/order/return_order_base.html:181 -#: order/templates/order/sales_order_base.html:225 -msgid "Address" -msgstr "Adresa" - #: company/templates/company/company_base.html:131 msgid "Phone" msgstr "Telefon" @@ -4577,7 +4659,8 @@ msgid "Delete manufacturer part" msgstr "Odstranit díl výrobce" #: company/templates/company/manufacturer_part.html:65 -#: company/templates/company/supplier_part.html:97 order/api.py:458 +#: company/templates/company/supplier_part.html:97 order/api.py:440 +#: order/serializers.py:526 msgid "Internal Part" msgstr "Interní díl" @@ -4587,7 +4670,7 @@ msgstr "Nejsou k dispozici žádné informace o výrobci" #: 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:832 +#: part/admin.py:122 part/serializers.py:860 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4608,7 +4691,7 @@ msgid "New Parameter" msgstr "Nový parametr" #: company/templates/company/manufacturer_part.html:196 -#: templates/js/translated/part.js:1423 +#: templates/js/translated/part.js:1426 msgid "Add Parameter" msgstr "Přidat parametr" @@ -4632,10 +4715,6 @@ msgstr "Přiřazené skladové položky" msgid "Contacts" msgstr "Kontakty" -#: company/templates/company/sidebar.html:35 -msgid "Addresses" -msgstr "Adresy" - #: company/templates/company/supplier_part.html:50 #: templates/js/translated/company.js:1526 msgid "Supplier part actions" @@ -4677,9 +4756,9 @@ msgstr "Vymazat dodavatele dílu" msgid "No supplier information available" msgstr "Nejsou k dispozici žádné informace o dodavateli" -#: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:519 -#: templates/js/translated/company.js:349 templates/js/translated/part.js:1787 +#: company/templates/company/supplier_part.html:139 order/serializers.py:515 +#: part/bom.py:279 part/bom.py:311 part/serializers.py:537 +#: templates/js/translated/company.js:349 templates/js/translated/part.js:1790 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1850 #: templates/js/translated/purchase_order.js:2028 @@ -4701,75 +4780,253 @@ msgstr "Vytvořit novou položku skladu" msgid "New Stock Item" msgstr "Nová skladová položka" -#: company/templates/company/supplier_part.html:223 -msgid "Supplier Part Orders" -msgstr "Objednávky dílu dodavatele" +#: company/templates/company/supplier_part.html:223 +msgid "Supplier Part Orders" +msgstr "Objednávky dílu dodavatele" + +#: company/templates/company/supplier_part.html:246 +msgid "Pricing Information" +msgstr "Informace o cenách" + +#: company/templates/company/supplier_part.html:251 +#: templates/js/translated/company.js:398 +#: templates/js/translated/pricing.js:684 +msgid "Add Price Break" +msgstr "Přidat cenovou slevu" + +#: company/templates/company/supplier_part.html:276 +msgid "Supplier Part QR Code" +msgstr "QR kód dílu dodavatele" + +#: company/templates/company/supplier_part.html:287 +msgid "Link Barcode to Supplier Part" +msgstr "Propojit čárový kód s dílem dodavatele" + +#: company/templates/company/supplier_part.html:359 +msgid "Update Part Availability" +msgstr "Aktualizovat dostupnost dílu" + +#: company/templates/company/supplier_part_sidebar.html:5 +#: part/serializers.py:859 part/stocktake.py:224 +#: part/templates/part/category.html:183 +#: part/templates/part/category_sidebar.html:17 stock/admin.py:68 +#: stock/serializers.py:976 stock/serializers.py:1154 +#: stock/templates/stock/location.html:170 +#: 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:1064 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 +#: users/models.py:206 +msgid "Stock Items" +msgstr "Skladové položky" + +#: company/templates/company/supplier_part_sidebar.html:9 +msgid "Supplier Part Pricing" +msgstr "Ceny dílu dodavatele" + +#: company/views.py:32 +msgid "New Supplier" +msgstr "Nový dodavatel" + +#: company/views.py:38 +msgid "New Manufacturer" +msgstr "Nový výrobce" + +#: company/views.py:43 templates/InvenTree/search.html:210 +#: templates/navbar.html:60 +msgid "Customers" +msgstr "Zákazníci" + +#: company/views.py:44 +msgid "New Customer" +msgstr "Nový zákazník" + +#: company/views.py:52 +msgid "New Company" +msgstr "Nová společnost" + +#: generic/states/tests.py:18 order/status_codes.py:13 +msgid "Placed" +msgstr "Umístěno" + +#: importer/mixins.py:263 +#, fuzzy +#| msgid "Invalid value for overage" +msgid "Invalid export format" +msgstr "Neplatná hodnota překročení" + +#: importer/models.py:56 +msgid "Timestamp" +msgstr "" + +#: importer/models.py:61 +#, fuzzy +#| msgid "Select file to upload" +msgid "Data file to import" +msgstr "Vybrat soubor k nahrání" + +#: importer/models.py:70 templates/js/translated/tables.js:558 +msgid "Columns" +msgstr "" + +#: importer/models.py:81 +msgid "Import status" +msgstr "" + +#: importer/models.py:91 +#, fuzzy +#| msgid "Build Details" +msgid "Field Defaults" +msgstr "Detaily sestavy" + +#: importer/models.py:201 +#, fuzzy +#| msgid "Required build quantity has not been completed" +msgid "Some required fields have not been mapped" +msgstr "Požadované množství sestavy nebylo dokončeno" + +#: importer/models.py:346 +msgid "Column is already mapped to a database field" +msgstr "" + +#: importer/models.py:351 +msgid "Field is already mapped to a data column" +msgstr "" + +#: importer/models.py:360 +msgid "Column mapping must be linked to a valid import session" +msgstr "" + +#: importer/models.py:365 +msgid "Column does not exist in the data file" +msgstr "" + +#: importer/models.py:372 +#, fuzzy +#| msgid "User does not have permission to view this model" +msgid "Field does not exist in the target model" +msgstr "Uživatel nemá právo zobrazit tento model" + +#: importer/models.py:376 +msgid "Selected field is read-only" +msgstr "" + +#: importer/models.py:381 importer/models.py:452 +msgid "Import Session" +msgstr "" + +#: importer/models.py:385 +msgid "Field" +msgstr "" + +#: importer/models.py:387 +msgid "Column" +msgstr "" + +#: importer/models.py:456 +msgid "Row Index" +msgstr "" + +#: importer/models.py:459 +msgid "Original row data" +msgstr "" + +#: importer/models.py:462 part/models.py:3841 +msgid "Data" +msgstr "" + +#: importer/models.py:464 machine/models.py:110 +msgid "Errors" +msgstr "" + +#: importer/models.py:466 part/api.py:874 +msgid "Valid" +msgstr "" + +#: importer/operations.py:28 importer/operations.py:49 +#, fuzzy +#| msgid "Unsupported file format: {fmt}" +msgid "Unsupported data file format" +msgstr "Nepodporovaný formát souboru: {fmt}" + +#: importer/operations.py:40 +msgid "Failed to open data file" +msgstr "" + +#: importer/operations.py:51 +msgid "Invalid data file dimensions" +msgstr "" + +#: importer/serializers.py:135 +msgid "Rows" +msgstr "" + +#: importer/serializers.py:136 +msgid "List of row IDs to accept" +msgstr "" -#: company/templates/company/supplier_part.html:246 -msgid "Pricing Information" -msgstr "Informace o cenách" +#: importer/serializers.py:149 +#, fuzzy +#| msgid "No data rows provided" +msgid "No rows provided" +msgstr "Nebyly zadány žádné řádky s daty" -#: company/templates/company/supplier_part.html:251 -#: templates/js/translated/company.js:398 -#: templates/js/translated/pricing.js:684 -msgid "Add Price Break" -msgstr "Přidat cenovou slevu" +#: importer/serializers.py:153 +msgid "Row does not belong to this session" +msgstr "" -#: company/templates/company/supplier_part.html:276 -msgid "Supplier Part QR Code" -msgstr "QR kód dílu dodavatele" +#: importer/serializers.py:156 +msgid "Row contains invalid data" +msgstr "" -#: company/templates/company/supplier_part.html:287 -msgid "Link Barcode to Supplier Part" -msgstr "Propojit čárový kód s dílem dodavatele" +#: importer/serializers.py:159 +#, fuzzy +#| msgid "This build output has already been completed" +msgid "Row has already been completed" +msgstr "Výstup sestavení je již dokončen" -#: company/templates/company/supplier_part.html:359 -msgid "Update Part Availability" -msgstr "Aktualizovat dostupnost dílu" +#: importer/status_codes.py:11 +msgid "Initializing" +msgstr "" -#: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:831 part/stocktake.py:224 -#: part/templates/part/category.html:183 -#: part/templates/part/category_sidebar.html:17 stock/admin.py:68 -#: stock/serializers.py:918 stock/serializers.py:1091 -#: stock/templates/stock/location.html:170 -#: 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:1061 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 -#: users/models.py:206 -msgid "Stock Items" -msgstr "Skladové položky" +#: importer/status_codes.py:12 +msgid "Mapping Columns" +msgstr "" -#: company/templates/company/supplier_part_sidebar.html:9 -msgid "Supplier Part Pricing" -msgstr "Ceny dílu dodavatele" +#: importer/status_codes.py:13 +#, fuzzy +#| msgid "Completion Date" +msgid "Importing Data" +msgstr "Datum dokončení" -#: company/views.py:32 -msgid "New Supplier" -msgstr "Nový dodavatel" +#: importer/status_codes.py:16 +msgid "Processing Data" +msgstr "" -#: company/views.py:38 -msgid "New Manufacturer" -msgstr "Nový výrobce" +#: importer/validators.py:21 +#, fuzzy +#| msgid "Image download exceeded maximum size" +msgid "Data file exceeds maximum size limit" +msgstr "Stahování obrázku překročilo maximální velikost" -#: company/views.py:43 templates/InvenTree/search.html:210 -#: templates/navbar.html:60 -msgid "Customers" -msgstr "Zákazníci" +#: importer/validators.py:26 +msgid "Data file contains no headers" +msgstr "" -#: company/views.py:44 -msgid "New Customer" -msgstr "Nový zákazník" +#: importer/validators.py:29 +msgid "Data file contains too many columns" +msgstr "" -#: company/views.py:52 -msgid "New Company" -msgstr "Nová společnost" +#: importer/validators.py:32 +msgid "Data file contains too many rows" +msgstr "" -#: generic/states/tests.py:18 order/status_codes.py:13 -msgid "Placed" -msgstr "Umístěno" +#: importer/validators.py:49 +#, fuzzy +#| msgid "Metadata must be a python dict object" +msgid "Value must be a valid dictionary object" +msgstr "Metadata musí být objekt python dict" #: machine/machine_types/label_printer.py:212 msgid "Copies" @@ -4783,7 +5040,7 @@ msgstr "Počet kopií, které se mají tisknout pro každý štítek" msgid "Connected" msgstr "Připojeno" -#: machine/machine_types/label_printer.py:229 order/api.py:1467 +#: machine/machine_types/label_printer.py:229 order/api.py:1388 #: templates/js/translated/sales_order.js:1078 msgid "Unknown" msgstr "Neznámý" @@ -4852,10 +5109,6 @@ msgstr "" msgid "Initialized" msgstr "" -#: machine/models.py:110 -msgid "Errors" -msgstr "" - #: machine/models.py:117 msgid "Machine status" msgstr "" @@ -4881,44 +5134,44 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:157 order/serializers.py:90 +#: order/api.py:149 order/serializers.py:94 #: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:113 #: order/templates/order/sales_order_base.html:122 msgid "Order Status" msgstr "" -#: order/api.py:161 templates/js/translated/table_filters.js:194 -#: templates/js/translated/table_filters.js:779 +#: order/api.py:153 templates/js/translated/table_filters.js:194 +#: templates/js/translated/table_filters.js:784 msgid "Has Pricing" msgstr "" -#: order/api.py:236 +#: order/api.py:228 msgid "No matching purchase order found" msgstr "" -#: order/api.py:435 order/api.py:801 order/models.py:1395 order/models.py:1504 -#: order/models.py:1550 order/models.py:1664 order/models.py:1818 -#: order/models.py:2231 order/models.py:2282 +#: order/api.py:417 order/api.py:755 order/models.py:1400 order/models.py:1514 +#: order/models.py:1565 order/models.py:1680 order/models.py:1839 +#: order/models.py:2258 order/models.py:2314 #: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "" -#: order/api.py:439 order/api.py:822 +#: order/api.py:421 order/api.py:776 msgid "Order Complete" msgstr "" -#: order/api.py:462 +#: order/api.py:444 msgid "Order Pending" msgstr "" -#: order/api.py:1461 order/models.py:380 order/models.py:1396 -#: order/models.py:1505 order/templates/order/order_base.html:9 +#: order/api.py:1382 order/models.py:380 order/models.py:1401 +#: order/models.py:1515 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 -#: stock/serializers.py:118 stock/templates/stock/item_base.html:176 +#: stock/serializers.py:120 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/part.js:1746 templates/js/translated/pricing.js:804 +#: templates/js/translated/part.js:1749 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:1673 @@ -4926,8 +5179,8 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1465 order/models.py:1981 order/models.py:2232 -#: order/models.py:2283 order/templates/order/return_order_base.html:9 +#: order/api.py:1386 order/models.py:2007 order/models.py:2259 +#: order/models.py:2315 order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report.html:13 #: templates/js/translated/return_order.js:280 @@ -4939,11 +5192,11 @@ msgstr "" msgid "Total price for this order" msgstr "" -#: order/models.py:96 order/serializers.py:70 +#: order/models.py:96 order/serializers.py:72 msgid "Order Currency" msgstr "" -#: order/models.py:99 order/serializers.py:71 +#: order/models.py:99 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" @@ -4959,7 +5212,7 @@ msgstr "" msgid "Select project code for this order" msgstr "" -#: order/models.py:303 order/models.py:1301 order/models.py:1717 +#: order/models.py:303 order/models.py:1301 order/models.py:1733 msgid "Link to external page" msgstr "" @@ -5008,15 +5261,15 @@ msgstr "Referenční kód objednávky dodavatele" msgid "received by" msgstr "přijal" -#: order/models.py:514 order/models.py:2058 +#: order/models.py:514 order/models.py:2084 msgid "Issue Date" msgstr "Datum vystavení" -#: order/models.py:515 order/models.py:2059 +#: order/models.py:515 order/models.py:2085 msgid "Date order was issued" msgstr "Datum vystavení objednávky" -#: order/models.py:522 order/models.py:2066 +#: order/models.py:522 order/models.py:2092 msgid "Date order was completed" msgstr "Datum dokončení objednávky" @@ -5032,15 +5285,15 @@ msgstr "Množství musí být kladné" msgid "Company to which the items are being sold" msgstr "Společnost, jíž se položky prodávají" -#: order/models.py:962 order/models.py:2051 +#: order/models.py:962 order/models.py:2077 msgid "Customer Reference " msgstr "Reference zákazníka " -#: order/models.py:963 order/models.py:2052 +#: order/models.py:963 order/models.py:2078 msgid "Customer order reference code" msgstr "Referenční kód objednávky zákazníka" -#: order/models.py:967 order/models.py:1671 +#: order/models.py:967 order/models.py:1687 #: templates/js/translated/sales_order.js:879 #: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" @@ -5102,20 +5355,26 @@ msgstr "Dodatečný kontext pro tento řádek" msgid "Unit price" msgstr "Cena za jednotku" -#: order/models.py:1380 +#: order/models.py:1361 +#, fuzzy +#| msgid "Purchase Order Items" +msgid "Purchase Order Line Item" +msgstr "Položky nákupní objednávky" + +#: order/models.py:1385 msgid "Supplier part must match supplier" msgstr "Dodavatelský díl musí odpovídat dodavateli" -#: order/models.py:1387 +#: order/models.py:1392 msgid "deleted" msgstr "smazáno" -#: order/models.py:1415 +#: order/models.py:1420 msgid "Supplier part" msgstr "Díl dodavatele" -#: order/models.py:1422 order/templates/order/order_base.html:196 -#: templates/js/translated/part.js:1870 templates/js/translated/part.js:1902 +#: order/models.py:1427 order/templates/order/order_base.html:196 +#: templates/js/translated/part.js:1873 templates/js/translated/part.js:1905 #: templates/js/translated/purchase_order.js:1306 #: templates/js/translated/purchase_order.js:2169 #: templates/js/translated/return_order.js:763 @@ -5124,196 +5383,238 @@ msgstr "Díl dodavatele" msgid "Received" msgstr "Doručeno" -#: order/models.py:1423 +#: order/models.py:1428 msgid "Number of items received" msgstr "Počet přijatých položek" -#: order/models.py:1431 stock/models.py:939 stock/serializers.py:556 +#: order/models.py:1436 stock/models.py:939 stock/serializers.py:602 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2311 msgid "Purchase Price" msgstr "Nákupní cena" -#: order/models.py:1432 +#: order/models.py:1437 msgid "Unit purchase price" msgstr "Jednotková nákupní cena" -#: order/models.py:1447 +#: order/models.py:1452 msgid "Where does the Purchaser want this item to be stored?" msgstr "Kde si kupující přeje, aby byla tato položka uložena?" -#: order/models.py:1538 +#: order/models.py:1503 +#, fuzzy +#| msgid "Purchase Order Items" +msgid "Purchase Order Extra Line" +msgstr "Položky nákupní objednávky" + +#: order/models.py:1532 +#, fuzzy +#| msgid "Build Order Line Item" +msgid "Sales Order Line Item" +msgstr "Vytvořit položku řádku objednávky" + +#: order/models.py:1553 msgid "Virtual part cannot be assigned to a sales order" msgstr "Virtuální díl nelze přiřadit k prodejní objednávce" -#: order/models.py:1543 +#: order/models.py:1558 msgid "Only salable parts can be assigned to a sales order" msgstr "K prodejní objednávce lze přiřadit pouze prodejné díly" -#: order/models.py:1569 part/templates/part/part_pricing.html:107 +#: order/models.py:1584 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "Prodejní cena" -#: order/models.py:1570 +#: order/models.py:1585 msgid "Unit sale price" msgstr "Jednotková prodejní cena" -#: order/models.py:1579 order/status_codes.py:43 +#: order/models.py:1594 order/status_codes.py:43 #: 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" -#: order/models.py:1580 +#: order/models.py:1595 msgid "Shipped quantity" msgstr "Odeslané množství" -#: order/models.py:1672 +#: order/models.py:1667 +#, fuzzy +#| msgid "Sales Order Default Shipment" +msgid "Sales Order Shipment" +msgstr "Výchozí přeprava prodejní objednávky" + +#: order/models.py:1688 msgid "Date of shipment" msgstr "Datum odeslání" -#: order/models.py:1678 templates/js/translated/sales_order.js:1072 +#: order/models.py:1694 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "Datum doručení" -#: order/models.py:1679 +#: order/models.py:1695 msgid "Date of delivery of shipment" msgstr "Datum doručení zásilky" -#: order/models.py:1687 +#: order/models.py:1703 msgid "Checked By" msgstr "Kontroloval(a)" -#: order/models.py:1688 +#: order/models.py:1704 msgid "User who checked this shipment" msgstr "Uživatel, který zkontroloval tuto zásilku" -#: order/models.py:1695 order/models.py:1908 order/serializers.py:1342 -#: order/serializers.py:1452 templates/js/translated/model_renderers.js:454 +#: order/models.py:1711 order/models.py:1934 order/serializers.py:1398 +#: order/serializers.py:1508 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "Doprava" -#: order/models.py:1696 +#: order/models.py:1712 msgid "Shipment number" msgstr "Číslo zásilky" -#: order/models.py:1704 +#: order/models.py:1720 msgid "Tracking Number" msgstr "Sledovací číslo" -#: order/models.py:1705 +#: order/models.py:1721 msgid "Shipment tracking information" msgstr "Informace o sledování zásilky" -#: order/models.py:1712 +#: order/models.py:1728 msgid "Invoice Number" msgstr "Číslo faktury" -#: order/models.py:1713 +#: order/models.py:1729 msgid "Reference number for associated invoice" msgstr "Referenční číslo přiřazené faktury" -#: order/models.py:1733 +#: order/models.py:1749 msgid "Shipment has already been sent" msgstr "Zásilka již byla odeslána" -#: order/models.py:1736 +#: order/models.py:1752 msgid "Shipment has no allocated stock items" msgstr "Zásilka nemá žádné přidělené skladové položky" -#: order/models.py:1854 order/models.py:1856 +#: order/models.py:1828 +#, fuzzy +#| msgid "Sales Order Reference" +msgid "Sales Order Extra Line" +msgstr "Referenční číslo prodejní objednávky" + +#: order/models.py:1857 +#, fuzzy +#| msgid "Discard Allocations" +msgid "Sales Order Allocation" +msgstr "Zahodit alokace" + +#: order/models.py:1880 order/models.py:1882 msgid "Stock item has not been assigned" msgstr "Zásobní položka nebyla přiřazena" -#: order/models.py:1863 +#: order/models.py:1889 msgid "Cannot allocate stock item to a line with a different part" msgstr "Nelze přidělit skladovou položku na řádek s jiným dílem" -#: order/models.py:1866 +#: order/models.py:1892 msgid "Cannot allocate stock to a line without a part" msgstr "Nelze přidělit skladovou položku na řádek bez dílu" -#: order/models.py:1869 +#: order/models.py:1895 msgid "Allocation quantity cannot exceed stock quantity" msgstr "Přidělené množství nesmí překročit množství zásob" -#: order/models.py:1888 order/serializers.py:1219 +#: order/models.py:1914 order/serializers.py:1275 msgid "Quantity must be 1 for serialized stock item" msgstr "Množství musí být 1 pro serializovanou skladovou položku" -#: order/models.py:1891 +#: order/models.py:1917 msgid "Sales order does not match shipment" msgstr "Prodejní objednávka neodpovídá zásilce" -#: order/models.py:1892 plugin/base/barcodes/api.py:481 +#: order/models.py:1918 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "Zásilka neodpovídá prodejní objednávce" -#: order/models.py:1900 +#: order/models.py:1926 msgid "Line" msgstr "Řádek" -#: order/models.py:1909 +#: order/models.py:1935 msgid "Sales order shipment reference" msgstr "Odkaz na zásilku z prodejní objednávky" -#: order/models.py:1922 order/models.py:2239 +#: order/models.py:1948 order/models.py:2266 #: templates/js/translated/return_order.js:721 msgid "Item" msgstr "Položka" -#: order/models.py:1923 +#: order/models.py:1949 msgid "Select stock item to allocate" msgstr "Vyberte skladovou položku pro přidělení" -#: order/models.py:1932 +#: order/models.py:1958 msgid "Enter stock allocation quantity" msgstr "Zadejte množství pro přidělení zásob" -#: order/models.py:2021 +#: order/models.py:2047 msgid "Return Order reference" msgstr "Reference návratové objednávky" -#: order/models.py:2033 +#: order/models.py:2059 msgid "Company from which items are being returned" msgstr "Společnost, od které se vrací položky" -#: order/models.py:2045 +#: order/models.py:2071 msgid "Return order status" msgstr "Stav návratové objednávky" -#: order/models.py:2224 +#: order/models.py:2237 +#, fuzzy +#| msgid "Build Order Line Item" +msgid "Return Order Line Item" +msgstr "Vytvořit položku řádku objednávky" + +#: order/models.py:2251 msgid "Only serialized items can be assigned to a Return Order" msgstr "K návratové objednávce lze přiřadit pouze serializované položky" -#: order/models.py:2240 +#: order/models.py:2267 msgid "Select item to return from customer" msgstr "Vyberte položku pro vrácení od zákazníka" -#: order/models.py:2246 +#: order/models.py:2273 msgid "Received Date" msgstr "Datum přijetí" -#: order/models.py:2247 +#: order/models.py:2274 msgid "The date this this return item was received" msgstr "Datum přijetí této vrácené položky" -#: order/models.py:2258 templates/js/translated/return_order.js:732 +#: order/models.py:2285 templates/js/translated/return_order.js:732 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "Výsledek" -#: order/models.py:2259 +#: order/models.py:2286 msgid "Outcome for this line item" msgstr "Výsledky pro tuto položku" -#: order/models.py:2266 +#: order/models.py:2293 msgid "Cost associated with return or repair for this line item" msgstr "Náklady spojené s návratem nebo opravou této položky" -#: order/serializers.py:79 order/templates/order/po_sidebar.html:5 +#: order/models.py:2303 +#, fuzzy +#| msgid "Return Order reference" +msgid "Return Order Extra Line" +msgstr "Reference návratové objednávky" + +#: order/serializers.py:83 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_purchase_order_report.html:22 @@ -5322,163 +5623,173 @@ msgstr "Náklady spojené s návratem nebo opravou této položky" msgid "Line Items" msgstr "Řádkové položky" -#: order/serializers.py:83 +#: order/serializers.py:87 msgid "Completed Lines" msgstr "Dokončené řádky" -#: order/serializers.py:286 +#: order/serializers.py:305 msgid "Order cannot be cancelled" msgstr "Objednávku nelze zrušit" -#: order/serializers.py:301 order/serializers.py:1235 +#: order/serializers.py:320 order/serializers.py:1291 msgid "Allow order to be closed with incomplete line items" msgstr "Povolit uzavření objednávky s neúplnými řádkovými položkami" -#: order/serializers.py:311 order/serializers.py:1245 +#: order/serializers.py:330 order/serializers.py:1301 msgid "Order has incomplete line items" msgstr "Objednávka má nedokončené řádkové položky" -#: order/serializers.py:439 +#: order/serializers.py:468 msgid "Order is not open" msgstr "Objednávka není otevřena" -#: order/serializers.py:460 +#: order/serializers.py:489 msgid "Auto Pricing" msgstr "Automatická cena" -#: order/serializers.py:462 +#: order/serializers.py:491 msgid "Automatically calculate purchase price based on supplier part data" msgstr "Automaticky vypočítat nákupní cenu na základě údajů o dílech dodavatele" -#: order/serializers.py:472 +#: order/serializers.py:501 msgid "Purchase price currency" msgstr "Měna nákupní ceny" -#: order/serializers.py:478 +#: order/serializers.py:507 msgid "Merge Items" msgstr "Sloučit položky" -#: order/serializers.py:480 +#: order/serializers.py:509 msgid "Merge items with the same part, destination and target date into one line item" msgstr "Sloučit položky se stejným dílem, místem určení a cílovým datem do jedné řádkové položky" -#: order/serializers.py:498 +#: order/serializers.py:522 part/models.py:945 +msgid "Internal Part Number" +msgstr "Interní číslo dílu" + +#: order/serializers.py:530 +#, fuzzy +#| msgid "Internal Part Number" +msgid "Internal Part Name" +msgstr "Interní číslo dílu" + +#: order/serializers.py:546 msgid "Supplier part must be specified" msgstr "Musí být uveden díl dodavatele" -#: order/serializers.py:501 +#: order/serializers.py:549 msgid "Purchase order must be specified" msgstr "Objednávka musí být zadána" -#: order/serializers.py:509 +#: order/serializers.py:557 msgid "Supplier must match purchase order" msgstr "Dodavatel musí odpovídat objednávce" -#: order/serializers.py:510 +#: order/serializers.py:558 msgid "Purchase order must match supplier" msgstr "Objednávka musí odpovídat dodavateli" -#: order/serializers.py:549 order/serializers.py:1313 +#: order/serializers.py:598 order/serializers.py:1369 msgid "Line Item" msgstr "Řádková položka" -#: order/serializers.py:555 +#: order/serializers.py:604 msgid "Line item does not match purchase order" msgstr "Řádková položka neodpovídá nákupní objednávce" -#: order/serializers.py:565 order/serializers.py:673 order/serializers.py:1657 +#: order/serializers.py:614 order/serializers.py:722 order/serializers.py:1715 msgid "Select destination location for received items" msgstr "Vyberte cílové umístění pro přijaté položky" -#: order/serializers.py:581 templates/js/translated/purchase_order.js:1130 +#: order/serializers.py:630 templates/js/translated/purchase_order.js:1130 msgid "Enter batch code for incoming stock items" msgstr "Zadat kód dávky pro příchozí položky skladu" -#: order/serializers.py:589 templates/js/translated/purchase_order.js:1154 +#: order/serializers.py:638 templates/js/translated/purchase_order.js:1154 msgid "Enter serial numbers for incoming stock items" msgstr "Zadat sériová čísla pro příchozí skladové položky" -#: order/serializers.py:600 templates/js/translated/barcode.js:52 +#: order/serializers.py:649 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "Čárový kód" -#: order/serializers.py:601 +#: order/serializers.py:650 msgid "Scanned barcode" msgstr "Naskenovaný čárový kód" -#: order/serializers.py:617 +#: order/serializers.py:666 msgid "Barcode is already in use" msgstr "Tento čárový kód se již používá" -#: order/serializers.py:641 +#: order/serializers.py:690 msgid "An integer quantity must be provided for trackable parts" msgstr "U sledovatelných dílů musí být uvedeno celočíselné množství" -#: order/serializers.py:689 order/serializers.py:1673 +#: order/serializers.py:738 order/serializers.py:1731 msgid "Line items must be provided" msgstr "Musí být uvedeny řádkové položky" -#: order/serializers.py:705 +#: order/serializers.py:754 msgid "Destination location must be specified" msgstr "Místo určení musí být specifikováno" -#: order/serializers.py:716 +#: order/serializers.py:765 msgid "Supplied barcode values must be unique" msgstr "Hodnoty dodaných čárových kódů musí být unikátní" -#: order/serializers.py:1062 +#: order/serializers.py:1117 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1122 +#: order/serializers.py:1178 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1183 order/serializers.py:1322 +#: order/serializers.py:1239 order/serializers.py:1378 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1202 +#: order/serializers.py:1258 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1332 +#: order/serializers.py:1388 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1354 order/serializers.py:1460 +#: order/serializers.py:1410 order/serializers.py:1516 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1357 order/serializers.py:1463 +#: order/serializers.py:1413 order/serializers.py:1519 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1404 +#: order/serializers.py:1460 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1411 +#: order/serializers.py:1467 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1627 +#: order/serializers.py:1685 msgid "Return order line item" msgstr "" -#: order/serializers.py:1633 +#: order/serializers.py:1691 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1636 +#: order/serializers.py:1694 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1665 +#: order/serializers.py:1723 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1743 +#: order/serializers.py:1806 msgid "Line price currency" msgstr "" @@ -5808,7 +6119,7 @@ msgstr "" #: 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:1073 +#: templates/js/translated/part.js:1076 #: templates/js/translated/purchase_order.js:1752 #: templates/js/translated/return_order.js:380 #: templates/js/translated/sales_order.js:891 @@ -5904,34 +6215,29 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:398 part/models.py:3944 part/stocktake.py:219 +#: part/admin.py:39 part/admin.py:398 part/models.py:3991 part/stocktake.py:219 #: stock/admin.py:152 msgid "Part ID" msgstr "ID dílu" -#: part/admin.py:41 part/admin.py:405 part/models.py:3945 part/stocktake.py:220 -#: stock/admin.py:156 -msgid "Part Name" -msgstr "Název dílu" - #: part/admin.py:45 part/stocktake.py:221 msgid "Part Description" msgstr "Popis dílu" -#: part/admin.py:48 part/models.py:940 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:944 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 -#: templates/js/translated/part.js:1227 templates/js/translated/part.js:2341 +#: templates/js/translated/part.js:1230 templates/js/translated/part.js:2344 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:949 part/templates/part/part_base.html:277 -#: report/models.py:162 templates/js/translated/part.js:1232 -#: templates/js/translated/part.js:2347 +#: part/admin.py:50 part/models.py:953 part/templates/part/part_base.html:277 +#: report/models.py:162 templates/js/translated/part.js:1235 +#: templates/js/translated/part.js:2350 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:319 part/models.py:922 +#: part/admin.py:53 part/admin.py:319 part/models.py:926 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5944,7 +6250,8 @@ msgstr "" msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:304 part/stocktake.py:223 +#: part/admin.py:67 part/admin.py:304 part/serializers.py:837 +#: part/stocktake.py:223 msgid "Category Name" msgstr "" @@ -5956,11 +6263,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:908 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:912 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1036 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1040 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5968,18 +6275,19 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:150 part/templates/part/part_base.html:241 stock/admin.py:235 -#: templates/js/translated/part.js:715 templates/js/translated/part.js:2153 +#: part/admin.py:150 part/serializers.py:854 +#: part/templates/part/part_base.html:241 stock/admin.py:235 +#: templates/js/translated/part.js:714 templates/js/translated/part.js:2156 msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3088 part/models.py:3102 -#: templates/js/translated/part.js:970 +#: part/admin.py:155 part/models.py:3098 part/models.py:3112 +#: templates/js/translated/part.js:973 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3095 part/models.py:3109 -#: templates/js/translated/part.js:980 +#: part/admin.py:158 part/models.py:3105 part/models.py:3119 +#: templates/js/translated/part.js:983 msgid "Maximum Cost" msgstr "" @@ -5996,14 +6304,14 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:396 part/serializers.py:124 -#: part/serializers.py:267 part/serializers.py:386 +#: part/admin.py:325 part/models.py:397 part/serializers.py:130 +#: part/serializers.py:282 part/serializers.py:404 #: 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:2807 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:203 msgid "Parts" msgstr "Díly" @@ -6020,125 +6328,117 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:402 part/models.py:3946 -msgid "Part IPN" -msgstr "IPN dílu" - -#: part/admin.py:415 part/serializers.py:1274 +#: part/admin.py:415 part/serializers.py:1302 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:420 part/serializers.py:1289 +#: part/admin.py:420 part/serializers.py:1317 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "" -#: part/api.py:104 +#: part/api.py:105 msgid "Starred" msgstr "" -#: part/api.py:106 +#: part/api.py:107 msgid "Filter by starred categories" msgstr "" -#: part/api.py:123 stock/api.py:312 +#: part/api.py:124 stock/api.py:312 msgid "Depth" msgstr "" -#: part/api.py:123 +#: part/api.py:124 msgid "Filter by category depth" msgstr "" -#: part/api.py:141 stock/api.py:330 +#: part/api.py:142 stock/api.py:330 msgid "Top Level" msgstr "" -#: part/api.py:143 +#: part/api.py:144 msgid "Filter by top-level categories" msgstr "" -#: part/api.py:156 stock/api.py:345 +#: part/api.py:157 stock/api.py:345 msgid "Cascade" msgstr "" -#: part/api.py:158 +#: part/api.py:159 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:179 templates/js/translated/part.js:308 +#: part/api.py:180 templates/js/translated/part.js:307 msgid "Parent" msgstr "" -#: part/api.py:181 +#: part/api.py:182 msgid "Filter by parent category" msgstr "" -#: part/api.py:214 +#: part/api.py:215 msgid "Exclude Tree" msgstr "" -#: part/api.py:216 +#: part/api.py:217 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:449 +#: part/api.py:442 msgid "Has Results" msgstr "" -#: part/api.py:616 +#: part/api.py:609 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:634 +#: part/api.py:627 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:650 +#: part/api.py:643 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:734 +#: part/api.py:727 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:881 -msgid "Valid" -msgstr "" - -#: part/api.py:882 +#: part/api.py:875 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:888 +#: part/api.py:881 msgid "This option must be selected" msgstr "" -#: part/api.py:1105 +#: part/api.py:1098 msgid "BOM Valid" msgstr "" -#: part/api.py:1508 part/models.py:932 part/models.py:3374 part/models.py:3889 -#: part/serializers.py:401 part/serializers.py:1130 -#: part/templates/part/part_base.html:260 stock/api.py:791 +#: part/api.py:1494 part/models.py:936 part/models.py:3385 part/models.py:3936 +#: part/serializers.py:419 part/serializers.py:1158 +#: part/templates/part/part_base.html:260 stock/api.py:783 #: 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:2380 msgid "Category" msgstr "" -#: part/api.py:1796 +#: part/api.py:1784 msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:104 part/models.py:975 +#: part/bom.py:170 part/models.py:104 part/models.py:979 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:833 +#: part/bom.py:171 part/serializers.py:861 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6147,7 +6447,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:85 part/models.py:3890 part/templates/part/category.html:16 +#: part/models.py:85 part/models.py:3937 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Kategorie dílu" @@ -6162,7 +6462,7 @@ msgstr "Kategorie dílů" msgid "Default location for parts in this category" msgstr "Výchozí umístění dílů v této kategorii" -#: part/models.py:110 stock/models.py:175 templates/js/translated/part.js:2810 +#: part/models.py:110 stock/models.py:175 templates/js/translated/part.js:2813 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 @@ -6194,1002 +6494,1049 @@ msgstr "" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:485 +#: part/models.py:486 +msgid "Cannot delete this part as it is locked" +msgstr "" + +#: part/models.py:489 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:490 +#: part/models.py:494 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:528 +#: part/models.py:532 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:576 part/models.py:583 +#: part/models.py:580 part/models.py:587 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:595 +#: part/models.py:599 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:658 +#: part/models.py:662 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:736 +#: part/models.py:740 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:837 +#: part/models.py:841 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:847 +#: part/models.py:851 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:862 +#: part/models.py:866 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:891 part/models.py:3945 +#: part/models.py:895 part/models.py:3992 msgid "Part name" msgstr "Název dílu" -#: part/models.py:896 +#: part/models.py:900 msgid "Is Template" msgstr "" -#: part/models.py:897 +#: part/models.py:901 msgid "Is this part a template part?" msgstr "" -#: part/models.py:907 +#: part/models.py:911 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:915 +#: part/models.py:919 msgid "Part description (optional)" msgstr "" -#: part/models.py:923 +#: part/models.py:927 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:933 +#: part/models.py:937 msgid "Part category" msgstr "Kategorie dílu" -#: part/models.py:941 -msgid "Internal Part Number" -msgstr "Interní číslo dílu" - -#: part/models.py:948 +#: part/models.py:952 msgid "Part revision or version number" msgstr "" -#: part/models.py:973 +#: part/models.py:977 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1019 part/templates/part/part_base.html:376 +#: part/models.py:1023 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:1020 +#: part/models.py:1024 msgid "Default supplier part" msgstr "" -#: part/models.py:1027 +#: part/models.py:1031 msgid "Default Expiry" msgstr "" -#: part/models.py:1028 +#: part/models.py:1032 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1037 +#: part/models.py:1041 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1046 +#: part/models.py:1050 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1053 +#: part/models.py:1057 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1059 +#: part/models.py:1063 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1065 +#: part/models.py:1069 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1071 +#: part/models.py:1075 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1077 +#: part/models.py:1081 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1081 +#: part/models.py:1085 msgid "Is this part active?" msgstr "" -#: part/models.py:1087 +#: part/models.py:1090 templates/js/translated/part.js:818 +#: templates/js/translated/table_filters.js:721 +#, fuzzy +#| msgid "Lock time" +msgid "Locked" +msgstr "Čas uzamčení" + +#: part/models.py:1091 +#, fuzzy +#| msgid "Build order part cannot be changed" +msgid "Locked parts cannot be edited" +msgstr "Díly obědnávky sestavení nemohou být změněny" + +#: part/models.py:1097 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1093 +#: part/models.py:1103 msgid "BOM checksum" msgstr "" -#: part/models.py:1094 +#: part/models.py:1104 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1102 +#: part/models.py:1112 msgid "BOM checked by" msgstr "" -#: part/models.py:1107 +#: part/models.py:1117 msgid "BOM checked date" msgstr "" -#: part/models.py:1123 +#: part/models.py:1133 msgid "Creation User" msgstr "" -#: part/models.py:1133 +#: part/models.py:1143 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1138 part/templates/part/part_base.html:339 +#: part/models.py:1148 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:2474 msgid "Last Stocktake" msgstr "" -#: part/models.py:2011 +#: part/models.py:2021 msgid "Sell multiple" msgstr "" -#: part/models.py:3002 +#: part/models.py:3012 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3018 +#: part/models.py:3028 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3019 +#: part/models.py:3029 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3025 +#: part/models.py:3035 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3026 +#: part/models.py:3036 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3032 +#: part/models.py:3042 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3033 +#: part/models.py:3043 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3039 +#: part/models.py:3049 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3040 +#: part/models.py:3050 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3046 +#: part/models.py:3056 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3047 +#: part/models.py:3057 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3053 +#: part/models.py:3063 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3054 +#: part/models.py:3064 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3060 +#: part/models.py:3070 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3061 +#: part/models.py:3071 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3067 +#: part/models.py:3077 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3068 +#: part/models.py:3078 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3074 +#: part/models.py:3084 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3075 +#: part/models.py:3085 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3081 +#: part/models.py:3091 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3082 +#: part/models.py:3092 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3089 +#: part/models.py:3099 msgid "Override minimum cost" msgstr "" -#: part/models.py:3096 +#: part/models.py:3106 msgid "Override maximum cost" msgstr "" -#: part/models.py:3103 +#: part/models.py:3113 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3110 +#: part/models.py:3120 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3116 +#: part/models.py:3126 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3117 +#: part/models.py:3127 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3123 +#: part/models.py:3133 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3124 +#: part/models.py:3134 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3130 +#: part/models.py:3140 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3131 +#: part/models.py:3141 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3137 +#: part/models.py:3147 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3138 +#: part/models.py:3148 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3157 +#: part/models.py:3167 msgid "Part for stocktake" msgstr "" -#: part/models.py:3162 +#: part/models.py:3172 msgid "Item Count" msgstr "" -#: part/models.py:3163 +#: part/models.py:3173 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3171 +#: part/models.py:3181 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3175 part/models.py:3258 +#: part/models.py:3185 part/models.py:3268 #: part/templates/part/part_scheduling.html:13 #: 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:1086 templates/js/translated/pricing.js:826 +#: templates/js/translated/part.js:1089 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 #: templates/js/translated/purchase_order.js:1731 #: templates/js/translated/stock.js:2821 msgid "Date" msgstr "" -#: part/models.py:3176 +#: part/models.py:3186 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3184 +#: part/models.py:3194 msgid "Additional notes" msgstr "" -#: part/models.py:3194 +#: part/models.py:3204 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3200 +#: part/models.py:3210 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3201 +#: part/models.py:3211 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3207 +#: part/models.py:3217 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3208 +#: part/models.py:3218 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3264 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3274 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3265 +#: part/models.py:3275 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3270 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3280 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3271 +#: part/models.py:3281 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3281 +#: part/models.py:3291 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3423 +#: part/models.py:3301 +#, fuzzy +#| msgid "Add Price Break" +msgid "Part Sale Price Break" +msgstr "Přidat cenovou slevu" + +#: part/models.py:3413 +#, fuzzy +#| msgid "Batch Code Template" +msgid "Part Test Template" +msgstr "Šablona kódu dávky" + +#: part/models.py:3439 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3444 part/models.py:3608 +#: part/models.py:3460 part/models.py:3629 msgid "Choices must be unique" msgstr "" -#: part/models.py:3455 +#: part/models.py:3471 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3466 +#: part/models.py:3482 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3483 templates/js/translated/part.js:2880 +#: part/models.py:3499 templates/js/translated/part.js:2883 msgid "Test Name" msgstr "" -#: part/models.py:3484 +#: part/models.py:3500 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3490 +#: part/models.py:3506 msgid "Test Key" msgstr "" -#: part/models.py:3491 +#: part/models.py:3507 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3498 +#: part/models.py:3514 msgid "Test Description" msgstr "" -#: part/models.py:3499 +#: part/models.py:3515 msgid "Enter description for this test" msgstr "" -#: part/models.py:3503 report/models.py:209 -#: templates/js/translated/part.js:2901 +#: part/models.py:3519 report/models.py:209 +#: templates/js/translated/part.js:2904 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "" -#: part/models.py:3503 +#: part/models.py:3519 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3508 templates/js/translated/part.js:2909 +#: part/models.py:3524 templates/js/translated/part.js:2912 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3509 +#: part/models.py:3525 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3514 templates/js/translated/part.js:2917 +#: part/models.py:3530 templates/js/translated/part.js:2920 msgid "Requires Value" msgstr "" -#: part/models.py:3515 +#: part/models.py:3531 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3520 templates/js/translated/part.js:2924 +#: part/models.py:3536 templates/js/translated/part.js:2927 msgid "Requires Attachment" msgstr "" -#: part/models.py:3522 +#: part/models.py:3538 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3528 part/models.py:3667 templates/js/translated/part.js:1637 +#: part/models.py:3544 part/models.py:3688 templates/js/translated/part.js:1640 msgid "Choices" msgstr "" -#: part/models.py:3529 +#: part/models.py:3545 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3583 +#: part/models.py:3577 +#, fuzzy +#| msgid "Copy Category Parameter Templates" +msgid "Part Parameter Template" +msgstr "Kopírovat šablony parametrů kategorie" + +#: part/models.py:3604 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3588 +#: part/models.py:3609 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3625 +#: part/models.py:3646 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3640 +#: part/models.py:3661 msgid "Parameter Name" msgstr "" -#: part/models.py:3647 +#: part/models.py:3668 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3655 +#: part/models.py:3676 msgid "Parameter description" msgstr "" -#: part/models.py:3661 templates/js/translated/part.js:1628 -#: templates/js/translated/table_filters.js:825 +#: part/models.py:3682 templates/js/translated/part.js:1631 +#: templates/js/translated/table_filters.js:830 msgid "Checkbox" msgstr "" -#: part/models.py:3662 +#: part/models.py:3683 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3668 +#: part/models.py:3689 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3745 +#: part/models.py:3723 +#, fuzzy +#| msgid "Parameters" +msgid "Part Parameter" +msgstr "Parametry" + +#: part/models.py:3749 +msgid "Parameter cannot be modified - part is locked" +msgstr "" + +#: part/models.py:3785 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3788 +#: part/models.py:3828 msgid "Parent Part" msgstr "" -#: part/models.py:3796 part/models.py:3897 part/models.py:3898 +#: part/models.py:3836 part/models.py:3944 part/models.py:3945 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3801 -msgid "Data" -msgstr "" - -#: part/models.py:3802 +#: part/models.py:3842 msgid "Parameter Value" msgstr "" -#: part/models.py:3904 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3892 +#, fuzzy +#| msgid "Copy Category Parameter Templates" +msgid "Part Category Parameter Template" +msgstr "Kopírovat šablony parametrů kategorie" + +#: part/models.py:3951 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3905 +#: part/models.py:3952 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3943 +#: part/models.py:3990 msgid "Part ID or part name" msgstr "ID dílu nebo název dílu" -#: part/models.py:3944 +#: part/models.py:3991 msgid "Unique part ID value" msgstr "Jedinečná hodnota ID dílu" -#: part/models.py:3946 +#: part/models.py:3993 msgid "Part IPN value" msgstr "Hodnota IPN dílu" -#: part/models.py:3947 +#: part/models.py:3994 msgid "Level" msgstr "" -#: part/models.py:3947 +#: part/models.py:3994 msgid "BOM level" msgstr "" -#: part/models.py:4037 +#: part/models.py:4105 +msgid "BOM item cannot be modified - assembly is locked" +msgstr "" + +#: part/models.py:4112 +msgid "BOM item cannot be modified - variant assembly is locked" +msgstr "" + +#: part/models.py:4122 msgid "Select parent part" msgstr "Vyberte nadřazený díl" -#: part/models.py:4047 +#: part/models.py:4132 msgid "Sub part" msgstr "" -#: part/models.py:4048 +#: part/models.py:4133 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4059 +#: part/models.py:4144 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4065 +#: part/models.py:4150 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4071 +#: part/models.py:4156 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4078 part/templates/part/upload_bom.html:55 +#: part/models.py:4163 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4079 +#: part/models.py:4164 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4086 +#: part/models.py:4171 msgid "BOM item reference" msgstr "" -#: part/models.py:4094 +#: part/models.py:4179 msgid "BOM item notes" msgstr "" -#: part/models.py:4100 +#: part/models.py:4185 msgid "Checksum" msgstr "" -#: part/models.py:4101 +#: part/models.py:4186 msgid "BOM line checksum" msgstr "" -#: part/models.py:4106 templates/js/translated/table_filters.js:174 +#: part/models.py:4191 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4107 +#: part/models.py:4192 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4112 part/templates/part/upload_bom.html:57 +#: part/models.py:4197 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:4113 +#: part/models.py:4198 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4118 part/templates/part/upload_bom.html:56 +#: part/models.py:4203 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4119 +#: part/models.py:4204 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4204 stock/models.py:663 +#: part/models.py:4289 stock/models.py:663 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4214 part/models.py:4216 +#: part/models.py:4299 part/models.py:4301 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4354 +#: part/models.py:4439 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4375 +#: part/models.py:4460 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4388 +#: part/models.py:4473 msgid "Parent BOM item" msgstr "" -#: part/models.py:4396 +#: part/models.py:4481 msgid "Substitute part" msgstr "" -#: part/models.py:4412 +#: part/models.py:4497 msgid "Part 1" msgstr "" -#: part/models.py:4420 +#: part/models.py:4505 msgid "Part 2" msgstr "" -#: part/models.py:4421 +#: part/models.py:4506 msgid "Select Related Part" msgstr "" -#: part/models.py:4440 +#: part/models.py:4525 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4445 +#: part/models.py:4530 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:118 +#: part/serializers.py:124 msgid "Parent Category" msgstr "" -#: part/serializers.py:119 templates/js/translated/part.js:309 +#: part/serializers.py:125 templates/js/translated/part.js:308 msgid "Parent part category" msgstr "" -#: part/serializers.py:126 part/serializers.py:148 +#: part/serializers.py:132 part/serializers.py:154 #: part/templates/part/category.html:122 part/templates/part/category.html:207 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" -#: part/serializers.py:180 +#: part/serializers.py:189 msgid "Results" msgstr "" -#: part/serializers.py:181 +#: part/serializers.py:190 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:205 part/serializers.py:223 stock/serializers.py:562 +#: part/serializers.py:217 part/serializers.py:235 stock/serializers.py:608 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:268 +#: part/serializers.py:283 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:392 +#: part/serializers.py:410 msgid "No parts selected" msgstr "" -#: part/serializers.py:402 +#: part/serializers.py:420 msgid "Select category" msgstr "" -#: part/serializers.py:437 +#: part/serializers.py:455 msgid "Original Part" msgstr "" -#: part/serializers.py:438 +#: part/serializers.py:456 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:461 msgid "Copy Image" msgstr "" -#: part/serializers.py:444 +#: part/serializers.py:462 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:450 part/templates/part/detail.html:277 +#: part/serializers.py:468 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:451 +#: part/serializers.py:469 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:457 +#: part/serializers.py:475 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:458 +#: part/serializers.py:476 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:464 +#: part/serializers.py:482 msgid "Copy Notes" msgstr "" -#: part/serializers.py:465 +#: part/serializers.py:483 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:483 +#: part/serializers.py:501 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:485 +#: part/serializers.py:503 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:492 +#: part/serializers.py:510 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:493 +#: part/serializers.py:511 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:510 +#: part/serializers.py:528 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:526 +#: part/serializers.py:544 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:536 +#: part/serializers.py:554 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:543 +#: part/serializers.py:561 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:552 +#: part/serializers.py:570 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:563 +#: part/serializers.py:581 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:570 +#: part/serializers.py:588 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:834 -msgid "External Stock" -msgstr "" - -#: part/serializers.py:836 +#: part/serializers.py:864 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:839 +#: part/serializers.py:867 msgid "Variant Stock" msgstr "" -#: part/serializers.py:869 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:472 +#: part/serializers.py:897 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:870 +#: part/serializers.py:898 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:876 templates/js/translated/part.js:102 +#: part/serializers.py:904 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:877 +#: part/serializers.py:905 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:883 +#: part/serializers.py:911 msgid "Supplier Information" msgstr "" -#: part/serializers.py:884 +#: part/serializers.py:912 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:892 +#: part/serializers.py:920 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:893 +#: part/serializers.py:921 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:898 +#: part/serializers.py:926 msgid "Existing Image" msgstr "" -#: part/serializers.py:899 +#: part/serializers.py:927 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:916 +#: part/serializers.py:944 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1122 +#: part/serializers.py:1150 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1132 +#: part/serializers.py:1160 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1142 +#: part/serializers.py:1170 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1148 +#: part/serializers.py:1176 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1149 +#: part/serializers.py:1177 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1154 +#: part/serializers.py:1182 msgid "Generate Report" msgstr "" -#: part/serializers.py:1155 +#: part/serializers.py:1183 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1160 +#: part/serializers.py:1188 msgid "Update Parts" msgstr "Aktualizovat díly" -#: part/serializers.py:1161 +#: part/serializers.py:1189 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1169 +#: part/serializers.py:1197 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1275 +#: part/serializers.py:1303 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1282 +#: part/serializers.py:1310 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1290 +#: part/serializers.py:1318 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1297 +#: part/serializers.py:1325 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1326 +#: part/serializers.py:1354 msgid "Update" msgstr "" -#: part/serializers.py:1327 +#: part/serializers.py:1355 msgid "Update pricing for this part" msgstr "Aktualizovat cenu pro díl" -#: part/serializers.py:1350 +#: part/serializers.py:1378 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1357 +#: part/serializers.py:1385 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1360 +#: part/serializers.py:1388 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1727 +#: part/serializers.py:1759 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1735 +#: part/serializers.py:1767 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1736 +#: part/serializers.py:1768 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1741 +#: part/serializers.py:1773 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1742 +#: part/serializers.py:1774 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1747 +#: part/serializers.py:1779 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1748 +#: part/serializers.py:1780 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1753 +#: part/serializers.py:1785 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1754 +#: part/serializers.py:1786 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1788 +#: part/serializers.py:1823 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1789 +#: part/serializers.py:1824 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1819 +#: part/serializers.py:1856 msgid "No part column specified" msgstr "" -#: part/serializers.py:1863 +#: part/serializers.py:1900 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1866 +#: part/serializers.py:1903 msgid "No matching part found" msgstr "" -#: part/serializers.py:1869 +#: part/serializers.py:1906 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1878 +#: part/serializers.py:1915 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1886 +#: part/serializers.py:1923 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1907 +#: part/serializers.py:1946 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:225 templates/js/translated/part.js:1067 -#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 +#: part/stocktake.py:225 templates/js/translated/part.js:1070 +#: templates/js/translated/part.js:1825 templates/js/translated/part.js:1881 #: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "" @@ -7507,7 +7854,7 @@ msgstr "" #: part/templates/part/part_base.html:52 #: stock/templates/stock/item_base.html:62 -#: stock/templates/stock/location.html:74 templates/js/translated/label.js:143 +#: stock/templates/stock/location.html:74 templates/js/translated/label.js:136 msgid "Print Label" msgstr "" @@ -7529,7 +7876,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:2296 msgid "Part actions" msgstr "" @@ -7569,6 +7916,10 @@ msgstr "" msgid "Part can be sold to customers" msgstr "" +#: part/templates/part/part_base.html:145 +msgid "Part is not active" +msgstr "" + #: part/templates/part/part_base.html:153 msgid "Part is virtual (not a physical part)" msgstr "" @@ -7597,7 +7948,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:322 templates/js/translated/bom.js:1071 -#: templates/js/translated/part.js:1265 templates/js/translated/part.js:2444 +#: templates/js/translated/part.js:1268 templates/js/translated/part.js:2447 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" @@ -7690,8 +8041,8 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/part.js:1243 templates/js/translated/part.js:2146 -#: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 +#: templates/js/translated/part.js:1246 templates/js/translated/part.js:2149 +#: templates/js/translated/part.js:2395 templates/js/translated/stock.js:1059 #: templates/js/translated/stock.js:2070 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -7811,8 +8162,8 @@ msgstr "" #: part/templates/part/stock_count.html:7 #: templates/js/translated/model_renderers.js:227 -#: templates/js/translated/part.js:705 templates/js/translated/part.js:2141 -#: templates/js/translated/part.js:2143 +#: templates/js/translated/part.js:704 templates/js/translated/part.js:2144 +#: templates/js/translated/part.js:2146 msgid "No Stock" msgstr "" @@ -7956,7 +8307,7 @@ msgstr "" msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2589 +#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2590 #: templates/js/translated/sales_order.js:1953 msgid "Insufficient stock available" msgstr "" @@ -8051,7 +8402,7 @@ msgstr "" msgid "Quantity to allocate" msgstr "" -#: plugin/base/label/label.py:39 templates/js/translated/label.js:155 +#: plugin/base/label/label.py:39 templates/js/translated/label.js:148 msgid "Label printing failed" msgstr "" @@ -8748,7 +9099,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report.html:25 #: report/templates/report/inventree_test_report.html:88 stock/models.py:825 -#: stock/serializers.py:149 stock/templates/stock/item_base.html:311 +#: stock/serializers.py:151 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:230 @@ -8778,7 +9129,7 @@ msgstr "" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2447 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2457 msgid "Result" msgstr "" @@ -8799,7 +9150,7 @@ msgid "No result" msgstr "" #: report/templates/report/inventree_test_report.html:153 -#: stock/templates/stock/stock_sidebar.html:16 +#: stock/serializers.py:591 stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" @@ -8829,10 +9180,6 @@ msgstr "" msgid "Location ID" msgstr "" -#: stock/admin.py:53 stock/admin.py:175 -msgid "Location Name" -msgstr "" - #: stock/admin.py:63 stock/templates/stock/location.html:131 #: stock/templates/stock/location.html:137 msgid "Location Path" @@ -8909,7 +9256,7 @@ msgstr "" msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:369 stock/serializers.py:1085 +#: stock/api.py:369 stock/serializers.py:1148 msgid "Parent Location" msgstr "" @@ -8917,44 +9264,45 @@ msgstr "" msgid "Filter by parent location" msgstr "" -#: stock/api.py:625 templates/js/translated/table_filters.js:427 +#: stock/api.py:617 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:813 +#: stock/api.py:805 msgid "Part Tree" msgstr "" -#: stock/api.py:843 +#: stock/api.py:835 msgid "Expiry date before" msgstr "" -#: stock/api.py:847 +#: stock/api.py:839 msgid "Expiry date after" msgstr "" -#: stock/api.py:850 stock/templates/stock/item_base.html:439 +#: stock/api.py:842 stock/serializers.py:596 +#: stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "" -#: stock/api.py:937 +#: stock/api.py:929 msgid "Quantity is required" msgstr "" -#: stock/api.py:943 +#: stock/api.py:935 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:974 +#: stock/api.py:966 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:984 +#: stock/api.py:976 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1015 +#: stock/api.py:1007 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -9021,7 +9369,7 @@ msgstr "" msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:669 stock/serializers.py:446 +#: stock/models.py:669 stock/serializers.py:477 msgid "Stock item cannot be created for virtual parts" msgstr "" @@ -9066,7 +9414,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:799 stock/serializers.py:1476 +#: stock/models.py:799 stock/serializers.py:1542 msgid "Packaging this stock item is stored in" msgstr "" @@ -9078,7 +9426,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:843 stock/serializers.py:1459 +#: stock/models.py:843 stock/serializers.py:1525 msgid "Batch code for this stock item" msgstr "" @@ -9155,7 +9503,7 @@ msgstr "" msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1520 stock/serializers.py:660 +#: stock/models.py:1520 stock/serializers.py:718 msgid "Serial numbers already exist" msgstr "" @@ -9187,7 +9535,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1658 stock/serializers.py:1365 +#: stock/models.py:1658 stock/serializers.py:1431 msgid "Duplicate stock items" msgstr "" @@ -9207,288 +9555,342 @@ msgstr "" msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2345 +#: stock/models.py:2317 +#, fuzzy +#| msgid "Use Stock Item Pricing" +msgid "Stock Item Tracking" +msgstr "Použít ceny skladových položek" + +#: stock/models.py:2350 msgid "Entry notes" msgstr "" -#: stock/models.py:2413 +#: stock/models.py:2390 +#, fuzzy +#| msgid "Stock Items" +msgid "Stock Item Test Result" +msgstr "Skladové položky" + +#: stock/models.py:2423 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2418 +#: stock/models.py:2428 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2423 +#: stock/models.py:2433 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2447 +#: stock/models.py:2457 msgid "Test result" msgstr "" -#: stock/models.py:2454 +#: stock/models.py:2464 msgid "Test output value" msgstr "" -#: stock/models.py:2462 +#: stock/models.py:2472 msgid "Test result attachment" msgstr "" -#: stock/models.py:2466 +#: stock/models.py:2476 msgid "Test notes" msgstr "" -#: stock/models.py:2474 templates/js/translated/stock.js:1548 +#: stock/models.py:2484 templates/js/translated/stock.js:1548 msgid "Test station" msgstr "" -#: stock/models.py:2475 +#: stock/models.py:2485 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2481 +#: stock/models.py:2491 msgid "Started" msgstr "" -#: stock/models.py:2482 +#: stock/models.py:2492 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2488 +#: stock/models.py:2498 msgid "Finished" msgstr "" -#: stock/models.py:2489 +#: stock/models.py:2499 msgid "The timestamp of the test finish" msgstr "" -#: stock/serializers.py:74 +#: stock/serializers.py:76 msgid "Generated batch code" msgstr "" -#: stock/serializers.py:83 +#: stock/serializers.py:85 msgid "Select build order" msgstr "" -#: stock/serializers.py:92 +#: stock/serializers.py:94 msgid "Select stock item to generate batch code for" msgstr "" -#: stock/serializers.py:101 +#: stock/serializers.py:103 msgid "Select location to generate batch code for" msgstr "" -#: stock/serializers.py:110 +#: stock/serializers.py:112 msgid "Select part to generate batch code for" msgstr "" -#: stock/serializers.py:119 +#: stock/serializers.py:121 msgid "Select purchase order" msgstr "" -#: stock/serializers.py:126 +#: stock/serializers.py:128 msgid "Enter quantity for batch code" msgstr "" -#: stock/serializers.py:149 +#: stock/serializers.py:151 msgid "Generated serial number" msgstr "" -#: stock/serializers.py:158 +#: stock/serializers.py:160 msgid "Select part to generate serial number for" msgstr "" -#: stock/serializers.py:166 +#: stock/serializers.py:168 msgid "Quantity of serial numbers to generate" msgstr "" -#: stock/serializers.py:228 +#: stock/serializers.py:233 msgid "Test template for this result" msgstr "" -#: stock/serializers.py:247 +#: stock/serializers.py:252 msgid "Template ID or test name must be provided" msgstr "" -#: stock/serializers.py:279 +#: stock/serializers.py:284 msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:315 +#: stock/serializers.py:320 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:438 +#: stock/serializers.py:449 stock/templates/stock/item_base.html:193 +msgid "Parent Item" +msgstr "" + +#: stock/serializers.py:450 +#, fuzzy +#| msgid "Source stock item" +msgid "Parent stock item" +msgstr "Zdrojová skladová položka" + +#: stock/serializers.py:469 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:558 +#: stock/serializers.py:585 templates/js/translated/build.js:991 +#: templates/js/translated/build.js:2344 +msgid "Allocated Quantity" +msgstr "" + +#: stock/serializers.py:588 stock/templates/stock/item_base.html:437 +#: templates/js/translated/table_filters.js:435 users/models.py:174 +msgid "Expired" +msgstr "" + +#: stock/serializers.py:594 stock/templates/stock/stock_sidebar.html:20 +msgid "Child Items" +msgstr "" + +#: stock/serializers.py:598 +#, fuzzy +#| msgid "Tracking Number" +msgid "Tracking Items" +msgstr "Sledovací číslo" + +#: stock/serializers.py:604 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:595 +#: stock/serializers.py:623 +#, fuzzy +#| msgid "Minimum Pricing Decimal Places" +msgid "Minimum Pricing" +msgstr "Minimální počet desetinných míst u cen" + +#: stock/serializers.py:629 +#, fuzzy +#| msgid "Maximum Pricing Decimal Places" +msgid "Maximum Pricing" +msgstr "Maximální počet desetinných míst u cen" + +#: stock/serializers.py:653 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:608 +#: stock/serializers.py:666 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:615 +#: stock/serializers.py:673 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:626 stock/serializers.py:1322 stock/serializers.py:1578 +#: stock/serializers.py:684 stock/serializers.py:1388 stock/serializers.py:1644 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:633 +#: stock/serializers.py:691 msgid "Optional note field" msgstr "" -#: stock/serializers.py:643 +#: stock/serializers.py:701 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:698 +#: stock/serializers.py:756 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:705 +#: stock/serializers.py:763 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:706 +#: stock/serializers.py:764 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:711 stock/serializers.py:791 stock/serializers.py:887 -#: stock/serializers.py:937 +#: stock/serializers.py:769 stock/serializers.py:849 stock/serializers.py:945 +#: stock/serializers.py:995 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:719 +#: stock/serializers.py:777 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:727 +#: stock/serializers.py:785 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:738 +#: stock/serializers.py:796 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:751 +#: stock/serializers.py:809 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:786 +#: stock/serializers.py:844 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:821 +#: stock/serializers.py:879 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:834 +#: stock/serializers.py:892 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:851 +#: stock/serializers.py:909 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:882 +#: stock/serializers.py:940 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:919 +#: stock/serializers.py:977 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:925 +#: stock/serializers.py:983 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1021 stock/serializers.py:1093 +#: stock/serializers.py:1079 stock/serializers.py:1156 #: stock/templates/stock/location.html:165 #: stock/templates/stock/location.html:222 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1086 templates/js/translated/stock.js:152 +#: stock/serializers.py:1149 templates/js/translated/stock.js:152 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1194 +#: stock/serializers.py:1260 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1198 +#: stock/serializers.py:1264 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1202 +#: stock/serializers.py:1268 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1226 +#: stock/serializers.py:1292 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1232 +#: stock/serializers.py:1298 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1240 +#: stock/serializers.py:1306 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1250 stock/serializers.py:1504 +#: stock/serializers.py:1316 stock/serializers.py:1570 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1329 +#: stock/serializers.py:1395 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1334 +#: stock/serializers.py:1400 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1335 +#: stock/serializers.py:1401 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1340 +#: stock/serializers.py:1406 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1341 +#: stock/serializers.py:1407 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1351 +#: stock/serializers.py:1417 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1418 +#: stock/serializers.py:1484 msgid "No Change" msgstr "" -#: stock/serializers.py:1447 +#: stock/serializers.py:1513 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1466 +#: stock/serializers.py:1532 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1494 +#: stock/serializers.py:1560 msgid "Stock transaction notes" msgstr "" @@ -9757,10 +10159,6 @@ msgstr "" msgid "Build" msgstr "Sestavení" -#: stock/templates/stock/item_base.html:193 -msgid "Parent Item" -msgstr "" - #: stock/templates/stock/item_base.html:211 msgid "No manufacturer set" msgstr "" @@ -9836,11 +10234,6 @@ msgstr "" msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:437 -#: templates/js/translated/table_filters.js:435 users/models.py:174 -msgid "Expired" -msgstr "" - #: stock/templates/stock/item_base.html:439 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" @@ -9988,10 +10381,6 @@ msgstr "" msgid "Allocations" msgstr "" -#: stock/templates/stock/stock_sidebar.html:20 -msgid "Child Items" -msgstr "" - #: templates/403.html:6 templates/403.html:12 templates/403_csrf.html:7 msgid "Permission Denied" msgstr "" @@ -10466,8 +10855,8 @@ 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:393 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:245 users/models.py:402 +#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 +#: templates/js/translated/stock.js:245 users/models.py:406 msgid "Delete" msgstr "Odstranit" @@ -10507,12 +10896,12 @@ msgid "No category parameter templates found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:308 -#: templates/js/translated/part.js:1646 +#: templates/js/translated/part.js:1649 msgid "Edit Template" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:309 -#: templates/js/translated/part.js:1647 +#: templates/js/translated/part.js:1650 msgid "Delete Template" msgstr "" @@ -11145,7 +11534,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2556 +#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2557 msgid "Required Quantity" msgstr "" @@ -11159,7 +11548,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3219 +#: templates/js/translated/part.js:3222 msgid "Minimum Quantity" msgstr "" @@ -11514,7 +11903,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2500 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2501 msgid "Variant stock allowed" msgstr "" @@ -11534,30 +11923,30 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2621 +#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2622 msgid "External stock" msgstr "" -#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2595 +#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2596 #: templates/js/translated/sales_order.js:1946 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2599 +#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2600 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2601 -#: templates/js/translated/part.js:1257 +#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2602 +#: templates/js/translated/part.js:1260 #: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2603 +#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2604 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2586 +#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2587 msgid "Consumable item" msgstr "" @@ -11589,7 +11978,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2485 +#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2486 msgid "Required Part" msgstr "" @@ -11758,10 +12147,6 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:991 templates/js/translated/build.js:2344 -msgid "Allocated Quantity" -msgstr "" - #: templates/js/translated/build.js:1005 msgid "Location not specified" msgstr "" @@ -11873,9 +12258,9 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2117 templates/js/translated/build.js:2479 +#: templates/js/translated/build.js:2117 templates/js/translated/build.js:2480 #: templates/js/translated/forms.js:2163 templates/js/translated/forms.js:2179 -#: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 +#: templates/js/translated/part.js:2319 templates/js/translated/part.js:2745 #: templates/js/translated/stock.js:1983 templates/js/translated/stock.js:2710 msgid "Select" msgstr "" @@ -11906,59 +12291,59 @@ msgstr "" msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2455 +#: templates/js/translated/build.js:2456 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2456 +#: templates/js/translated/build.js:2457 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2474 +#: templates/js/translated/build.js:2475 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2504 templates/js/translated/part.js:791 -#: templates/js/translated/part.js:1203 +#: templates/js/translated/build.js:2505 templates/js/translated/part.js:790 +#: templates/js/translated/part.js:1206 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2539 +#: templates/js/translated/build.js:2540 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2591 +#: templates/js/translated/build.js:2592 #: templates/js/translated/sales_order.js:1951 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2646 +#: templates/js/translated/build.js:2647 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2653 +#: templates/js/translated/build.js:2654 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2654 +#: templates/js/translated/build.js:2655 msgid "Allocate tracked items against individual build outputs" msgstr "" -#: templates/js/translated/build.js:2662 +#: templates/js/translated/build.js:2663 #: templates/js/translated/sales_order.js:2052 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2667 templates/js/translated/stock.js:1868 +#: templates/js/translated/build.js:2668 templates/js/translated/stock.js:1868 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2671 +#: templates/js/translated/build.js:2672 #: templates/js/translated/sales_order.js:2046 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2675 +#: templates/js/translated/build.js:2676 msgid "Remove stock allocation" msgstr "" @@ -12105,7 +12490,7 @@ msgid "Delete Parameters" msgstr "" #: templates/js/translated/company.js:1191 -#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2245 +#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2248 msgid "Order parts" msgstr "" @@ -12122,34 +12507,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:1279 -#: templates/js/translated/company.js:1567 templates/js/translated/part.js:799 -#: templates/js/translated/part.js:1211 +#: templates/js/translated/company.js:1567 templates/js/translated/part.js:798 +#: templates/js/translated/part.js:1214 msgid "Template part" msgstr "" #: templates/js/translated/company.js:1283 -#: templates/js/translated/company.js:1571 templates/js/translated/part.js:803 -#: templates/js/translated/part.js:1215 +#: templates/js/translated/company.js:1571 templates/js/translated/part.js:802 +#: templates/js/translated/part.js:1218 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1465 +#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1468 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1528 +#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1531 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1529 +#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1532 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1434 +#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1437 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1550 +#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1553 msgid "Delete Parameter" msgstr "" @@ -12323,15 +12708,15 @@ msgstr "" msgid "No parts required for builds" msgstr "" -#: templates/js/translated/label.js:55 templates/js/translated/report.js:38 +#: templates/js/translated/label.js:48 templates/js/translated/report.js:38 msgid "Select Items" msgstr "" -#: templates/js/translated/label.js:56 templates/js/translated/report.js:39 +#: templates/js/translated/label.js:49 templates/js/translated/report.js:39 msgid "No items selected for printing" msgstr "" -#: templates/js/translated/label.js:150 +#: templates/js/translated/label.js:143 msgid "Labels sent to printer" msgstr "" @@ -12400,7 +12785,7 @@ msgstr "" #: templates/js/translated/news.js:38 #: templates/js/translated/notification.js:46 -#: templates/js/translated/part.js:1605 +#: templates/js/translated/part.js:1608 msgid "ID" msgstr "" @@ -12481,343 +12866,343 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:333 templates/js/translated/stock.js:175 +#: templates/js/translated/part.js:332 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:353 +#: templates/js/translated/part.js:352 msgid "Create Part Category" msgstr "" -#: templates/js/translated/part.js:356 +#: templates/js/translated/part.js:355 msgid "Create new category after this one" msgstr "" -#: templates/js/translated/part.js:357 +#: templates/js/translated/part.js:356 msgid "Part category created" msgstr "" -#: templates/js/translated/part.js:371 +#: templates/js/translated/part.js:370 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:384 +#: templates/js/translated/part.js:383 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:389 +#: templates/js/translated/part.js:388 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:398 +#: templates/js/translated/part.js:397 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:402 +#: templates/js/translated/part.js:401 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:407 +#: templates/js/translated/part.js:406 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:431 +#: templates/js/translated/part.js:430 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:433 +#: templates/js/translated/part.js:432 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:434 +#: templates/js/translated/part.js:433 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:462 +#: templates/js/translated/part.js:461 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:464 +#: templates/js/translated/part.js:463 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:475 +#: templates/js/translated/part.js:474 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:532 +#: templates/js/translated/part.js:531 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:533 +#: templates/js/translated/part.js:532 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:547 +#: templates/js/translated/part.js:546 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:549 +#: templates/js/translated/part.js:548 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:550 +#: templates/js/translated/part.js:549 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:551 +#: templates/js/translated/part.js:550 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:558 +#: templates/js/translated/part.js:557 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:594 +#: templates/js/translated/part.js:593 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:596 +#: templates/js/translated/part.js:595 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:601 +#: templates/js/translated/part.js:600 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:603 +#: templates/js/translated/part.js:602 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:620 +#: templates/js/translated/part.js:619 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:630 +#: templates/js/translated/part.js:629 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:633 +#: templates/js/translated/part.js:632 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:658 +#: templates/js/translated/part.js:657 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:686 -#: templates/js/translated/table_filters.js:747 +#: templates/js/translated/part.js:685 +#: templates/js/translated/table_filters.js:752 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:689 +#: templates/js/translated/part.js:688 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:749 +#: templates/js/translated/part.js:748 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:772 +#: templates/js/translated/part.js:771 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:795 templates/js/translated/part.js:1207 +#: templates/js/translated/part.js:794 templates/js/translated/part.js:1210 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:807 +#: templates/js/translated/part.js:806 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:811 +#: templates/js/translated/part.js:810 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:890 +#: templates/js/translated/part.js:893 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:890 +#: templates/js/translated/part.js:893 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:898 +#: templates/js/translated/part.js:901 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:902 +#: templates/js/translated/part.js:905 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:1051 +#: templates/js/translated/part.js:1054 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1109 templates/js/translated/part.js:1145 +#: templates/js/translated/part.js:1112 templates/js/translated/part.js:1148 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1113 templates/js/translated/part.js:1155 +#: templates/js/translated/part.js:1116 templates/js/translated/part.js:1158 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1282 +#: templates/js/translated/part.js:1285 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1600 +#: templates/js/translated/part.js:1603 msgid "No part parameter templates found" msgstr "" -#: templates/js/translated/part.js:1663 +#: templates/js/translated/part.js:1666 msgid "Edit Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1675 +#: templates/js/translated/part.js:1678 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/js/translated/part.js:1683 +#: templates/js/translated/part.js:1686 msgid "Delete Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1717 +#: templates/js/translated/part.js:1720 #: templates/js/translated/purchase_order.js:1654 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/part.js:1861 +#: templates/js/translated/part.js:1864 #: 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:1907 +#: templates/js/translated/part.js:1910 #: templates/js/translated/purchase_order.js:2220 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1970 +#: templates/js/translated/part.js:1973 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1992 +#: templates/js/translated/part.js:1995 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2080 templates/js/translated/part.js:2506 +#: templates/js/translated/part.js:2083 templates/js/translated/part.js:2509 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:2201 +#: templates/js/translated/part.js:2204 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2206 +#: templates/js/translated/part.js:2209 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2236 +#: templates/js/translated/part.js:2239 msgid "Set category" msgstr "" -#: templates/js/translated/part.js:2287 +#: templates/js/translated/part.js:2290 msgid "part" msgstr "" -#: templates/js/translated/part.js:2288 +#: templates/js/translated/part.js:2291 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2384 +#: templates/js/translated/part.js:2387 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 +#: templates/js/translated/part.js:2534 templates/js/translated/part.js:2664 #: templates/js/translated/stock.js:2669 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2547 +#: templates/js/translated/part.js:2550 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2645 +#: templates/js/translated/part.js:2648 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2689 +#: templates/js/translated/part.js:2684 templates/js/translated/stock.js:2689 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2761 +#: templates/js/translated/part.js:2764 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2777 +#: templates/js/translated/part.js:2780 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2865 +#: templates/js/translated/part.js:2868 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2887 templates/js/translated/search.js:342 +#: templates/js/translated/part.js:2890 templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/part.js:2937 templates/js/translated/stock.js:1456 +#: templates/js/translated/part.js:2940 templates/js/translated/stock.js:1456 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2938 templates/js/translated/stock.js:1457 +#: templates/js/translated/part.js:2941 templates/js/translated/stock.js:1457 #: templates/js/translated/stock.js:1731 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2942 +#: templates/js/translated/part.js:2945 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2958 +#: templates/js/translated/part.js:2961 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2972 +#: templates/js/translated/part.js:2975 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3051 templates/js/translated/part.js:3052 +#: templates/js/translated/part.js:3054 templates/js/translated/part.js:3055 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3054 +#: templates/js/translated/part.js:3057 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3060 +#: templates/js/translated/part.js:3063 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3110 +#: templates/js/translated/part.js:3113 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3116 +#: templates/js/translated/part.js:3119 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3212 +#: templates/js/translated/part.js:3215 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3228 +#: templates/js/translated/part.js:3231 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3273 +#: templates/js/translated/part.js:3276 msgid "Minimum Stock Level" msgstr "" @@ -13593,7 +13978,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1042 users/models.py:392 +#: templates/js/translated/stock.js:1042 users/models.py:396 msgid "Add" msgstr "" @@ -13947,7 +14332,7 @@ msgid "Include subcategories" msgstr "" #: templates/js/translated/table_filters.js:287 -#: templates/js/translated/table_filters.js:759 +#: templates/js/translated/table_filters.js:764 msgid "Subscribed" msgstr "" @@ -14102,40 +14487,46 @@ msgstr "" msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:725 +#: templates/js/translated/table_filters.js:722 +#, fuzzy +#| msgid "Show related parts" +msgid "Show locked parts" +msgstr "Zobrazit související díly" + +#: templates/js/translated/table_filters.js:730 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:733 -#: templates/js/translated/table_filters.js:833 +#: templates/js/translated/table_filters.js:738 +#: templates/js/translated/table_filters.js:838 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:734 +#: templates/js/translated/table_filters.js:739 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:738 +#: templates/js/translated/table_filters.js:743 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:739 +#: templates/js/translated/table_filters.js:744 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:743 +#: templates/js/translated/table_filters.js:748 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:751 +#: templates/js/translated/table_filters.js:756 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:763 +#: templates/js/translated/table_filters.js:768 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:829 +#: templates/js/translated/table_filters.js:834 msgid "Has Choices" msgstr "" @@ -14207,10 +14598,6 @@ msgstr "" msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:558 -msgid "Columns" -msgstr "" - #: templates/js/translated/tables.js:561 msgid "All" msgstr "" @@ -14484,35 +14871,58 @@ msgstr "" msgid "Revoked" msgstr "" -#: users/models.py:375 +#: users/models.py:379 msgid "Permission set" msgstr "Nastavení oprávnění" -#: users/models.py:384 +#: users/models.py:388 msgid "Group" msgstr "Skupina" -#: users/models.py:388 +#: users/models.py:392 msgid "View" msgstr "Zobrazit" -#: users/models.py:388 +#: users/models.py:392 msgid "Permission to view items" msgstr "Oprávnění k zobrazení položek" -#: users/models.py:392 +#: users/models.py:396 msgid "Permission to add items" msgstr "Oprávnění přidat položky" -#: users/models.py:396 +#: users/models.py:400 msgid "Change" msgstr "Změnit" -#: users/models.py:398 +#: users/models.py:402 msgid "Permissions to edit items" msgstr "Oprávnění k úpravě položek" -#: users/models.py:404 +#: users/models.py:408 msgid "Permission to delete items" msgstr "Oprávnění k odstranění položek" +#~ msgid "Default part label template" +#~ msgstr "Výchozí šablona štítku dílu" + +#~ msgid "The part label template to be automatically selected" +#~ msgstr "Automaticky vybraná šablona štítku dílu" + +#~ msgid "Default stock item template" +#~ msgstr "Výchozí šablona skladové položky" + +#~ msgid "The stock item label template to be automatically selected" +#~ msgstr "Automaticky vybraná šablona štítku skladové položky" + +#~ msgid "Default stock location label template" +#~ msgstr "Výchozí šablona štítku umístění zásob" + +#~ msgid "The stock location label template to be automatically selected" +#~ msgstr "Automaticky vybraná šablona štítku skladového umístění" + +#~ msgid "Default build line label template" +#~ msgstr "Výchozí šablona štítku řádku sestavy" + +#~ msgid "The build line label template to be automatically selected" +#~ msgstr "Automaticky vybraná šablona štítku řádku sestavy" diff --git a/src/backend/InvenTree/locale/da/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/da/LC_MESSAGES/django.po index 5ba203fa7ccf..a36355d8dc16 100644 --- a/src/backend/InvenTree/locale/da/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/da/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-07-05 02:47+0000\n" +"POT-Creation-Date: 2024-07-08 14:46+0000\n" "PO-Revision-Date: 2024-07-05 14:57\n" "Last-Translator: \n" "Language-Team: Danish\n" @@ -21,7 +21,7 @@ msgstr "" msgid "API endpoint not found" msgstr "API endpoint ikke fundet" -#: InvenTree/api.py:520 +#: InvenTree/api.py:505 msgid "User does not have permission to view this model" msgstr "Bruger har ikke tilladelse til at se denne model" @@ -56,21 +56,21 @@ msgstr "Fejloplysninger kan findes i admin panelet" msgid "Enter date" msgstr "Angiv dato" -#: InvenTree/fields.py:205 InvenTree/models.py:918 build/serializers.py:452 -#: build/serializers.py:530 build/templates/build/sidebar.html:21 -#: company/models.py:817 company/templates/company/sidebar.html:37 +#: InvenTree/fields.py:205 InvenTree/models.py:921 build/serializers.py:456 +#: build/serializers.py:534 build/templates/build/sidebar.html:21 +#: company/models.py:824 company/templates/company/sidebar.html:37 #: order/models.py:1296 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:3183 part/templates/part/part_sidebar.html:63 +#: part/models.py:3193 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:230 stock/models.py:2344 stock/models.py:2466 -#: stock/serializers.py:632 stock/serializers.py:790 stock/serializers.py:886 -#: stock/serializers.py:936 stock/serializers.py:1239 stock/serializers.py:1328 -#: stock/serializers.py:1493 stock/templates/stock/stock_sidebar.html:25 +#: stock/admin.py:230 stock/models.py:2349 stock/models.py:2476 +#: stock/serializers.py:690 stock/serializers.py:848 stock/serializers.py:944 +#: stock/serializers.py:994 stock/serializers.py:1305 stock/serializers.py:1394 +#: stock/serializers.py:1559 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:1081 +#: templates/js/translated/part.js:1084 #: templates/js/translated/purchase_order.js:2200 #: templates/js/translated/return_order.js:775 #: templates/js/translated/sales_order.js:1103 @@ -371,41 +371,41 @@ msgstr "" msgid "JSON metadata field, for use by external plugins" msgstr "JSON metadata felt, til brug af eksterne plugins" -#: InvenTree/models.py:408 +#: InvenTree/models.py:411 msgid "Improperly formatted pattern" msgstr "Forkert formateret mønster" -#: InvenTree/models.py:415 +#: InvenTree/models.py:418 msgid "Unknown format key specified" msgstr "Ukendt formatnøgle angivet" -#: InvenTree/models.py:421 +#: InvenTree/models.py:424 msgid "Missing required format key" msgstr "Mangler nødvendig formatnøgle" -#: InvenTree/models.py:432 +#: InvenTree/models.py:435 msgid "Reference field cannot be empty" msgstr "Referencefelt må ikke være tomt" -#: InvenTree/models.py:440 +#: InvenTree/models.py:443 msgid "Reference must match required pattern" msgstr "Reference skal matche det påkrævede mønster" -#: InvenTree/models.py:471 +#: InvenTree/models.py:474 msgid "Reference number is too large" msgstr "Referencenummer er for stort" -#: InvenTree/models.py:719 +#: InvenTree/models.py:722 msgid "Duplicate names cannot exist under the same parent" msgstr "" -#: InvenTree/models.py:736 +#: InvenTree/models.py:739 msgid "Invalid choice" msgstr "Ugyldigt valg" -#: InvenTree/models.py:766 common/models.py:2678 common/models.py:3103 -#: common/serializers.py:408 company/models.py:580 machine/models.py:24 -#: part/models.py:891 part/models.py:3639 plugin/models.py:51 +#: InvenTree/models.py:769 common/models.py:2659 common/models.py:3089 +#: common/serializers.py:412 company/models.py:587 machine/models.py:24 +#: part/models.py:895 part/models.py:3660 plugin/models.py:51 #: report/models.py:150 stock/models.py:74 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -417,20 +417,20 @@ msgstr "Ugyldigt valg" #: templates/js/translated/company.js:724 #: templates/js/translated/company.js:913 #: templates/js/translated/company.js:1165 -#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1187 -#: templates/js/translated/part.js:1475 templates/js/translated/part.js:1611 -#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2716 +#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1190 +#: templates/js/translated/part.js:1478 templates/js/translated/part.js:1614 +#: templates/js/translated/part.js:2752 templates/js/translated/stock.js:2716 msgid "Name" msgstr "Navn" -#: InvenTree/models.py:772 build/models.py:235 -#: build/templates/build/detail.html:24 common/models.py:138 -#: company/models.py:509 company/models.py:808 +#: InvenTree/models.py:775 build/models.py:242 +#: build/templates/build/detail.html:24 common/models.py:143 +#: company/models.py:515 company/models.py:815 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 -#: order/models.py:1329 part/admin.py:305 part/admin.py:408 part/models.py:914 -#: part/models.py:3654 part/templates/part/category.html:82 +#: order/models.py:1329 part/admin.py:305 part/admin.py:408 part/models.py:918 +#: part/models.py:3675 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:156 #: report/models.py:510 report/models.py:536 @@ -444,10 +444,10 @@ msgstr "Navn" #: templates/js/translated/build.js:2139 templates/js/translated/company.js:519 #: templates/js/translated/company.js:1330 #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 -#: templates/js/translated/order.js:298 templates/js/translated/part.js:1239 -#: templates/js/translated/part.js:1484 templates/js/translated/part.js:1622 -#: templates/js/translated/part.js:1959 templates/js/translated/part.js:2355 -#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2897 +#: templates/js/translated/order.js:298 templates/js/translated/part.js:1242 +#: templates/js/translated/part.js:1487 templates/js/translated/part.js:1625 +#: templates/js/translated/part.js:1962 templates/js/translated/part.js:2358 +#: templates/js/translated/part.js:2788 templates/js/translated/part.js:2900 #: templates/js/translated/plugin.js:80 #: templates/js/translated/purchase_order.js:1706 #: templates/js/translated/purchase_order.js:1849 @@ -460,53 +460,53 @@ msgstr "Navn" msgid "Description" msgstr "Beskrivelse" -#: InvenTree/models.py:773 stock/models.py:81 +#: InvenTree/models.py:776 stock/models.py:81 msgid "Description (optional)" msgstr "Beskrivelse (valgfri)" -#: InvenTree/models.py:788 templates/js/translated/part.js:2794 +#: InvenTree/models.py:791 templates/js/translated/part.js:2797 #: templates/js/translated/stock.js:2757 msgid "Path" msgstr "Sti" -#: InvenTree/models.py:918 +#: InvenTree/models.py:921 msgid "Markdown notes (optional)" msgstr "Markdown noter (valgfri)" -#: InvenTree/models.py:947 +#: InvenTree/models.py:950 msgid "Barcode Data" msgstr "Stregkode Data" -#: InvenTree/models.py:948 +#: InvenTree/models.py:951 msgid "Third party barcode data" msgstr "Tredjeparts stregkode data" -#: InvenTree/models.py:954 +#: InvenTree/models.py:957 msgid "Barcode Hash" msgstr "Stregkode Hash" -#: InvenTree/models.py:955 +#: InvenTree/models.py:958 msgid "Unique hash of barcode data" msgstr "Unik hash af stregkode data" -#: InvenTree/models.py:1008 +#: InvenTree/models.py:1011 msgid "Existing barcode found" msgstr "Eksisterende stregkode fundet" -#: InvenTree/models.py:1051 +#: InvenTree/models.py:1054 msgid "Server Error" msgstr "Serverfejl" -#: InvenTree/models.py:1052 +#: InvenTree/models.py:1055 msgid "An error has been logged by the server." msgstr "En fejl blev logget af serveren." -#: InvenTree/serializers.py:63 part/models.py:4192 +#: InvenTree/serializers.py:63 part/models.py:4277 msgid "Must be a valid number" msgstr "Skal være et gyldigt tal" #: InvenTree/serializers.py:100 company/models.py:186 -#: company/templates/company/company_base.html:112 part/models.py:3001 +#: company/templates/company/company_base.html:112 part/models.py:3011 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -556,16 +556,16 @@ msgstr "" msgid "Is this user a superuser" msgstr "" -#: InvenTree/serializers.py:445 common/models.py:2683 company/models.py:163 -#: company/models.py:782 machine/models.py:39 part/admin.py:88 -#: part/models.py:1081 plugin/models.py:66 +#: InvenTree/serializers.py:445 common/models.py:2664 company/models.py:163 +#: company/models.py:789 machine/models.py:39 part/admin.py:88 +#: part/models.py:1085 plugin/models.py:66 #: 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 #: templates/js/translated/table_filters.js:520 #: templates/js/translated/table_filters.js:716 -#: templates/js/translated/table_filters.js:796 users/models.py:182 +#: templates/js/translated/table_filters.js:801 users/models.py:182 msgid "Active" msgstr "" @@ -597,7 +597,7 @@ msgstr "" msgid "Invalid value" msgstr "Ugyldig værdi" -#: InvenTree/serializers.py:581 +#: InvenTree/serializers.py:581 importer/models.py:60 msgid "Data File" msgstr "Datafil" @@ -651,7 +651,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:1174 +#: InvenTree/status.py:66 part/serializers.py:1202 msgid "Background worker check failed" msgstr "Kontrol af baggrundstjeneste mislykkedes" @@ -711,47 +711,48 @@ msgstr "Systemoplysninger" msgid "About InvenTree" msgstr "Om InvenTree" -#: build/api.py:255 +#: build/api.py:248 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:4070 templates/js/translated/bom.js:997 -#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 +#: build/api.py:292 build/serializers.py:1190 part/models.py:4155 +#: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 +#: templates/js/translated/build.js:2521 #: 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:4064 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 +#: build/api.py:293 build/serializers.py:1191 part/models.py:4149 +#: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 +#: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2530 #: templates/js/translated/table_filters.js:186 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:587 msgid "Optional" msgstr "Valgfri" -#: build/api.py:301 templates/js/translated/table_filters.js:408 +#: build/api.py:294 templates/js/translated/table_filters.js:408 #: templates/js/translated/table_filters.js:579 msgid "Tracked" msgstr "Sporet" -#: build/api.py:303 part/admin.py:144 templates/js/translated/build.js:1744 -#: templates/js/translated/build.js:2629 +#: build/api.py:296 part/admin.py:144 templates/js/translated/build.js:1744 +#: templates/js/translated/build.js:2630 #: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:571 msgid "Allocated" msgstr "Allokeret" -#: build/api.py:311 company/models.py:872 company/serializers.py:359 +#: build/api.py:304 company/models.py:879 company/serializers.py:386 #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2561 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2562 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:234 -#: templates/js/translated/part.js:693 templates/js/translated/part.js:695 -#: templates/js/translated/part.js:700 +#: 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 #: templates/js/translated/table_filters.js:575 msgid "Available" @@ -760,7 +761,7 @@ msgstr "Tilgængelig" #: build/models.py:85 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 -#: stock/serializers.py:82 templates/email/build_order_completed.html:16 +#: stock/serializers.py:84 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:2892 msgid "Build Order" @@ -781,35 +782,43 @@ msgstr "Produktionsordrer" msgid "Assembly BOM has not been validated" msgstr "" -#: build/models.py:134 part/templates/part/part_base.html:145 -msgid "Part is not active" -msgstr "" +#: build/models.py:134 +#, fuzzy +#| msgid "Build order part cannot be changed" +msgid "Build order cannot be created for an inactive part" +msgstr "Byggeordre enhed kan ikke ændres" -#: build/models.py:148 +#: build/models.py:141 +#, fuzzy +#| msgid "Build order part cannot be changed" +msgid "Build order cannot be created for an unlocked part" +msgstr "Byggeordre enhed kan ikke ændres" + +#: build/models.py:155 msgid "Invalid choice for parent build" msgstr "Ugyldigt valg for overordnet produktion" -#: build/models.py:159 order/models.py:240 +#: build/models.py:166 order/models.py:240 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:165 +#: build/models.py:172 msgid "Build order part cannot be changed" msgstr "Byggeordre enhed kan ikke ændres" -#: build/models.py:226 +#: build/models.py:233 msgid "Build Order Reference" msgstr "Produktionsordre reference" -#: build/models.py:227 order/models.py:463 order/models.py:926 -#: order/models.py:1289 order/models.py:2020 part/admin.py:411 -#: part/models.py:4085 part/templates/part/upload_bom.html:54 +#: build/models.py:234 build/serializers.py:1189 order/models.py:463 +#: order/models.py:926 order/models.py:1289 order/models.py:2046 +#: part/admin.py:411 part/models.py:4170 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: 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/build.js:2513 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2065 #: templates/js/translated/return_order.js:728 @@ -817,27 +826,28 @@ msgstr "Produktionsordre reference" msgid "Reference" msgstr "" -#: build/models.py:238 +#: build/models.py:245 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:246 build/templates/build/build_base.html:183 +#: build/models.py:253 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Overordnet produktion" -#: build/models.py:247 +#: build/models.py:254 msgid "BuildOrder to which this build is allocated" msgstr "Produktionsordre som er tildelt denne produktion" -#: build/models.py:252 build/templates/build/build_base.html:97 -#: build/templates/build/detail.html:29 company/models.py:1026 order/api.py:805 -#: order/models.py:1414 order/models.py:1559 order/models.py:1560 -#: part/api.py:1494 part/api.py:1788 part/models.py:395 part/models.py:3012 -#: part/models.py:3156 part/models.py:3303 part/models.py:3324 -#: part/models.py:3346 part/models.py:3477 part/models.py:3787 -#: part/models.py:3943 part/models.py:4036 part/models.py:4395 -#: part/serializers.py:1120 part/serializers.py:1726 +#: build/models.py:259 build/serializers.py:1184 +#: build/templates/build/build_base.html:97 +#: build/templates/build/detail.html:29 company/models.py:1034 order/api.py:759 +#: order/models.py:1419 order/models.py:1574 order/models.py:1575 +#: part/api.py:1480 part/api.py:1776 part/models.py:396 part/models.py:3022 +#: part/models.py:3166 part/models.py:3314 part/models.py:3335 +#: part/models.py:3357 part/models.py:3493 part/models.py:3827 +#: part/models.py:3990 part/models.py:4121 part/models.py:4480 +#: part/serializers.py:1148 part/serializers.py:1758 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -848,8 +858,8 @@ msgstr "Produktionsordre som er tildelt denne produktion" #: 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:109 stock/serializers.py:157 stock/serializers.py:423 -#: stock/serializers.py:820 templates/InvenTree/search.html:82 +#: stock/serializers.py:111 stock/serializers.py:159 stock/serializers.py:443 +#: stock/serializers.py:878 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 @@ -862,8 +872,8 @@ msgstr "Produktionsordre som er tildelt denne produktion" #: templates/js/translated/company.js:1116 #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 -#: templates/js/translated/part.js:1944 templates/js/translated/part.js:2016 -#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:1947 templates/js/translated/part.js:2019 +#: templates/js/translated/part.js:2327 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:1848 @@ -881,107 +891,107 @@ msgstr "Produktionsordre som er tildelt denne produktion" msgid "Part" msgstr "Del" -#: build/models.py:260 +#: build/models.py:267 msgid "Select part to build" msgstr "Vælg dele til produktion" -#: build/models.py:265 +#: build/models.py:272 msgid "Sales Order Reference" msgstr "Salgsordrereference" -#: build/models.py:269 +#: build/models.py:276 msgid "SalesOrder to which this build is allocated" msgstr "Salgsordre, som er tildelt denne produktion" -#: build/models.py:274 build/serializers.py:999 +#: build/models.py:281 build/serializers.py:1003 #: templates/js/translated/build.js:1731 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "Kilde Lokation" -#: build/models.py:278 +#: build/models.py:285 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:283 +#: build/models.py:290 msgid "Destination Location" msgstr "Destinations Placering" -#: build/models.py:287 +#: build/models.py:294 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:291 +#: build/models.py:298 msgid "Build Quantity" msgstr "Produktions antal" -#: build/models.py:294 +#: build/models.py:301 msgid "Number of stock items to build" msgstr "Antal lagervarer som skal produceres" -#: build/models.py:298 +#: build/models.py:305 msgid "Completed items" msgstr "Afsluttede elementer" -#: build/models.py:300 +#: build/models.py:307 msgid "Number of stock items which have been completed" msgstr "Antal lagervarer som er færdiggjort" -#: build/models.py:304 +#: build/models.py:311 msgid "Build Status" msgstr "Produktions Status" -#: build/models.py:308 +#: build/models.py:315 msgid "Build status code" msgstr "Produktions statuskode" -#: build/models.py:317 build/serializers.py:286 order/serializers.py:580 -#: stock/models.py:839 stock/serializers.py:74 stock/serializers.py:1458 +#: build/models.py:324 build/serializers.py:290 order/serializers.py:629 +#: stock/models.py:839 stock/serializers.py:76 stock/serializers.py:1524 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "Batch Kode" -#: build/models.py:321 build/serializers.py:287 +#: build/models.py:328 build/serializers.py:291 msgid "Batch code for this build output" msgstr "Batch kode til dette produktions output" -#: build/models.py:324 order/models.py:316 order/serializers.py:119 -#: part/models.py:1115 part/templates/part/part_base.html:310 +#: build/models.py:331 order/models.py:316 order/serializers.py:127 +#: part/models.py:1125 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:328 +#: build/models.py:335 msgid "Target completion date" msgstr "Projekteret afslutningsdato" -#: build/models.py:329 +#: build/models.py:336 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:332 order/models.py:521 order/models.py:2065 +#: build/models.py:339 order/models.py:521 order/models.py:2091 #: templates/js/translated/build.js:2247 msgid "Completion Date" msgstr "Dato for afslutning" -#: build/models.py:338 +#: build/models.py:345 msgid "completed by" msgstr "udført af" -#: build/models.py:346 templates/js/translated/build.js:2207 +#: build/models.py:353 templates/js/translated/build.js:2207 msgid "Issued by" msgstr "Udstedt af" -#: build/models.py:347 +#: build/models.py:354 msgid "User who issued this build order" msgstr "Bruger som udstedte denne byggeordre" -#: build/models.py:355 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 common/models.py:147 +#: build/models.py:362 build/templates/build/build_base.html:204 +#: build/templates/build/detail.html:122 common/models.py:152 #: order/models.py:334 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:232 part/models.py:1132 +#: order/templates/order/sales_order_base.html:232 part/models.py:1142 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 @@ -992,11 +1002,11 @@ msgstr "Bruger som udstedte denne byggeordre" msgid "Responsible" msgstr "Ansvarlig" -#: build/models.py:356 +#: build/models.py:363 msgid "User or group responsible for this build order" msgstr "Bruger eller gruppe ansvarlig for denne byggeordre" -#: build/models.py:361 build/templates/build/detail.html:108 +#: build/models.py:368 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 @@ -1008,21 +1018,22 @@ msgstr "Bruger eller gruppe ansvarlig for denne byggeordre" msgid "External Link" msgstr "Ekstern link" -#: build/models.py:362 common/models.py:3244 part/models.py:956 +#: build/models.py:369 common/models.py:3230 part/models.py:960 #: stock/models.py:835 msgid "Link to external URL" msgstr "Link til ekstern URL" -#: build/models.py:366 +#: build/models.py:373 msgid "Build Priority" msgstr "Bygge Prioritet" -#: build/models.py:369 +#: build/models.py:376 msgid "Priority of this build order" msgstr "Prioritet af denne byggeordre" -#: build/models.py:376 common/models.py:131 order/admin.py:18 -#: order/models.py:298 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:383 common/models.py:122 common/models.py:136 +#: order/admin.py:18 order/models.py:298 order/serializers.py:108 +#: templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 #: templates/js/translated/purchase_order.js:1710 #: templates/js/translated/return_order.js:317 @@ -1032,65 +1043,66 @@ msgstr "Prioritet af denne byggeordre" msgid "Project Code" msgstr "" -#: build/models.py:377 +#: build/models.py:384 msgid "Project code for this build order" msgstr "" -#: build/models.py:610 build/models.py:675 +#: build/models.py:617 build/models.py:682 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:632 +#: build/models.py:639 #, python-brace-format msgid "Build order {build} has been completed" msgstr "Bygningsordre {build} er fuldført" -#: build/models.py:638 +#: build/models.py:645 msgid "A build order has been completed" msgstr "En byggeordre er fuldført" -#: build/models.py:864 build/models.py:949 +#: build/models.py:871 build/models.py:956 msgid "No build output specified" msgstr "" -#: build/models.py:867 +#: build/models.py:874 msgid "Build output is already completed" msgstr "" -#: build/models.py:870 +#: build/models.py:877 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:953 build/serializers.py:219 build/serializers.py:268 -#: build/serializers.py:866 order/models.py:559 order/serializers.py:432 -#: order/serializers.py:575 part/serializers.py:1484 part/serializers.py:1884 -#: stock/models.py:678 stock/models.py:1496 stock/serializers.py:603 +#: build/models.py:960 build/serializers.py:223 build/serializers.py:272 +#: build/serializers.py:870 order/models.py:559 order/serializers.py:461 +#: order/serializers.py:624 part/serializers.py:1515 part/serializers.py:1921 +#: stock/models.py:678 stock/models.py:1496 stock/serializers.py:661 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:958 build/serializers.py:224 +#: build/models.py:965 build/serializers.py:228 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1018 build/serializers.py:547 +#: build/models.py:1025 build/serializers.py:551 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1359 +#: build/models.py:1366 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1384 +#: build/models.py:1391 msgid "Build object" msgstr "" -#: build/models.py:1398 build/models.py:1654 build/serializers.py:206 -#: build/serializers.py:253 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2563 -#: order/models.py:1272 order/models.py:1931 order/serializers.py:1327 +#: build/models.py:1405 build/models.py:1661 build/serializers.py:210 +#: build/serializers.py:257 build/serializers.py:1194 +#: build/templates/build/build_base.html:102 +#: build/templates/build/detail.html:34 common/models.py:2544 +#: order/models.py:1272 order/models.py:1957 order/serializers.py:1383 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:410 -#: part/forms.py:48 part/models.py:3170 part/models.py:4058 +#: part/forms.py:48 part/models.py:3180 part/models.py:4143 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1100,7 +1112,7 @@ msgstr "" #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:169 stock/admin.py:159 -#: stock/serializers.py:125 stock/serializers.py:165 stock/serializers.py:594 +#: stock/serializers.py:127 stock/serializers.py:167 stock/serializers.py:652 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 @@ -1111,8 +1123,8 @@ msgstr "" #: templates/js/translated/build.js:1746 templates/js/translated/build.js:2357 #: templates/js/translated/company.js:1818 #: templates/js/translated/model_renderers.js:236 -#: templates/js/translated/order.js:304 templates/js/translated/part.js:962 -#: templates/js/translated/part.js:1812 templates/js/translated/part.js:3342 +#: templates/js/translated/order.js:304 templates/js/translated/part.js:965 +#: templates/js/translated/part.js:1815 templates/js/translated/part.js:3345 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 @@ -1132,38 +1144,38 @@ msgstr "" msgid "Quantity" msgstr "" -#: build/models.py:1399 +#: build/models.py:1406 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1479 +#: build/models.py:1486 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1488 +#: build/models.py:1495 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1498 order/models.py:1882 +#: build/models.py:1505 order/models.py:1908 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1504 order/models.py:1885 +#: build/models.py:1511 order/models.py:1911 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1510 +#: build/models.py:1517 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1569 +#: build/models.py:1576 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1641 build/serializers.py:846 order/serializers.py:1171 -#: order/serializers.py:1192 stock/models.py:359 stock/serializers.py:91 -#: stock/serializers.py:697 stock/serializers.py:1177 stock/serializers.py:1289 +#: build/models.py:1648 build/serializers.py:850 order/serializers.py:1227 +#: order/serializers.py:1248 stock/models.py:359 stock/serializers.py:93 +#: stock/serializers.py:755 stock/serializers.py:1243 stock/serializers.py:1355 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 @@ -1179,70 +1191,76 @@ msgstr "" msgid "Stock Item" msgstr "" -#: build/models.py:1642 +#: build/models.py:1649 msgid "Source stock item" msgstr "" -#: build/models.py:1655 +#: build/models.py:1662 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1663 +#: build/models.py:1670 msgid "Install into" msgstr "" -#: build/models.py:1664 +#: build/models.py:1671 msgid "Destination stock item" msgstr "" -#: build/serializers.py:156 build/serializers.py:875 +#: build/serializers.py:89 build/serializers.py:1185 part/admin.py:41 +#: part/admin.py:405 part/models.py:3992 part/stocktake.py:220 +#: stock/admin.py:156 +msgid "Part Name" +msgstr "" + +#: build/serializers.py:160 build/serializers.py:879 #: templates/js/translated/build.js:1322 msgid "Build Output" msgstr "" -#: build/serializers.py:168 +#: build/serializers.py:172 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:172 +#: build/serializers.py:176 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:176 +#: build/serializers.py:180 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:187 +#: build/serializers.py:191 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:207 build/serializers.py:254 +#: build/serializers.py:211 build/serializers.py:258 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:275 +#: build/serializers.py:279 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:278 +#: build/serializers.py:282 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:293 order/serializers.py:588 order/serializers.py:1331 -#: stock/serializers.py:614 templates/js/translated/purchase_order.js:1153 +#: build/serializers.py:297 order/serializers.py:637 order/serializers.py:1387 +#: stock/serializers.py:672 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:294 +#: build/serializers.py:298 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:299 build/serializers.py:440 build/serializers.py:512 -#: order/serializers.py:564 order/serializers.py:672 order/serializers.py:1656 -#: part/serializers.py:1140 stock/serializers.py:100 stock/serializers.py:625 -#: stock/serializers.py:785 stock/serializers.py:881 stock/serializers.py:1321 -#: stock/serializers.py:1577 stock/templates/stock/item_base.html:394 +#: build/serializers.py:303 build/serializers.py:444 build/serializers.py:516 +#: order/serializers.py:613 order/serializers.py:721 order/serializers.py:1714 +#: part/serializers.py:1168 stock/serializers.py:102 stock/serializers.py:683 +#: stock/serializers.py:843 stock/serializers.py:939 stock/serializers.py:1387 +#: stock/serializers.py:1643 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 @@ -1258,54 +1276,54 @@ msgstr "" msgid "Location" msgstr "" -#: build/serializers.py:300 +#: build/serializers.py:304 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:314 +#: build/serializers.py:318 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:315 +#: build/serializers.py:319 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:330 +#: build/serializers.py:334 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:355 stock/api.py:1041 +#: build/serializers.py:359 stock/api.py:1033 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:402 build/serializers.py:464 build/serializers.py:553 +#: build/serializers.py:406 build/serializers.py:468 build/serializers.py:557 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:441 +#: build/serializers.py:445 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:447 +#: build/serializers.py:451 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:448 +#: build/serializers.py:452 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:453 +#: build/serializers.py:457 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:513 +#: build/serializers.py:517 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:519 build/templates/build/build_base.html:151 +#: build/serializers.py:523 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:950 -#: order/models.py:2044 order/serializers.py:596 stock/admin.py:164 -#: stock/serializers.py:932 stock/serializers.py:1465 +#: order/models.py:2070 order/serializers.py:645 stock/admin.py:164 +#: stock/serializers.py:990 stock/serializers.py:1531 #: 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 @@ -1317,193 +1335,247 @@ msgstr "" msgid "Status" msgstr "" -#: build/serializers.py:525 +#: build/serializers.py:529 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:526 +#: build/serializers.py:530 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:611 +#: build/serializers.py:615 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:612 +#: build/serializers.py:616 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:618 +#: build/serializers.py:622 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:619 +#: build/serializers.py:623 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:646 +#: build/serializers.py:650 msgid "Not permitted" msgstr "Ikke tilladt" -#: build/serializers.py:647 +#: build/serializers.py:651 msgid "Accept as consumed by this build order" msgstr "Accepter som forbrugt af denne byggeordre" -#: build/serializers.py:648 +#: build/serializers.py:652 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:678 +#: build/serializers.py:682 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:680 +#: build/serializers.py:684 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:690 +#: build/serializers.py:694 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:695 +#: build/serializers.py:699 msgid "Accept Unallocated" msgstr "Accepter Ikke tildelt" -#: build/serializers.py:696 +#: build/serializers.py:700 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:706 templates/js/translated/build.js:315 +#: build/serializers.py:710 templates/js/translated/build.js:315 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:711 order/serializers.py:300 order/serializers.py:1234 +#: build/serializers.py:715 order/serializers.py:319 order/serializers.py:1290 msgid "Accept Incomplete" msgstr "Accepter ufuldført" -#: build/serializers.py:712 +#: build/serializers.py:716 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:722 templates/js/translated/build.js:319 +#: build/serializers.py:726 templates/js/translated/build.js:319 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:731 templates/js/translated/build.js:303 +#: build/serializers.py:735 templates/js/translated/build.js:303 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:769 +#: build/serializers.py:773 msgid "Build Line" msgstr "Bygge linje" -#: build/serializers.py:779 +#: build/serializers.py:783 msgid "Build output" msgstr "" -#: build/serializers.py:787 +#: build/serializers.py:791 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:823 +#: build/serializers.py:827 msgid "Build Line Item" msgstr "" -#: build/serializers.py:837 +#: build/serializers.py:841 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:852 stock/serializers.py:1190 +#: build/serializers.py:856 stock/serializers.py:1256 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:900 order/serializers.py:1225 +#: build/serializers.py:904 order/serializers.py:1281 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:906 +#: build/serializers.py:910 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:913 +#: build/serializers.py:917 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:937 order/serializers.py:1477 +#: build/serializers.py:941 order/serializers.py:1533 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:1000 +#: build/serializers.py:1004 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:1008 +#: build/serializers.py:1012 msgid "Exclude Location" msgstr "" -#: build/serializers.py:1009 +#: build/serializers.py:1013 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:1014 +#: build/serializers.py:1018 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:1015 +#: build/serializers.py:1019 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:1020 +#: build/serializers.py:1024 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:1021 +#: build/serializers.py:1025 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:1026 +#: build/serializers.py:1030 msgid "Optional Items" msgstr "" -#: build/serializers.py:1027 +#: build/serializers.py:1031 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1049 +#: build/serializers.py:1053 msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1139 part/models.py:3953 part/models.py:4387 -#: stock/api.py:804 +#: build/serializers.py:1095 +msgid "Supplier Part Number" +msgstr "" + +#: build/serializers.py:1096 company/models.py:500 +msgid "Manufacturer Part Number" +msgstr "" + +#: build/serializers.py:1097 stock/admin.py:53 stock/admin.py:175 +#: stock/serializers.py:454 +msgid "Location Name" +msgstr "" + +#: build/serializers.py:1098 +#, fuzzy +#| msgid "Build Order Reference" +msgid "Build Reference" +msgstr "Produktionsordre reference" + +#: build/serializers.py:1099 +#, fuzzy +#| msgid "Build Order Reference" +msgid "BOM Reference" +msgstr "Produktionsordre reference" + +#: build/serializers.py:1186 part/admin.py:402 part/models.py:3993 +msgid "Part IPN" +msgstr "" + +#: build/serializers.py:1192 common/models.py:1488 part/admin.py:113 +#: part/models.py:1068 templates/js/translated/table_filters.js:147 +#: templates/js/translated/table_filters.js:223 +#: templates/js/translated/table_filters.js:776 +msgid "Trackable" +msgstr "" + +#: build/serializers.py:1196 part/models.py:4000 part/models.py:4472 +#: stock/api.py:796 msgid "BOM Item" msgstr "" -#: build/serializers.py:1148 templates/js/translated/index.js:130 +#: build/serializers.py:1205 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1153 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:828 part/serializers.py:1502 +#: build/serializers.py:1210 part/admin.py:132 part/bom.py:173 +#: part/serializers.py:856 part/serializers.py:1533 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2613 templates/js/translated/part.js:710 -#: templates/js/translated/part.js:2149 +#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709 +#: templates/js/translated/part.js:2152 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "" -#: build/serializers.py:1158 part/serializers.py:1504 -#: templates/js/translated/build.js:2617 +#: build/serializers.py:1215 part/serializers.py:1535 +#: templates/js/translated/build.js:2618 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1163 part/bom.py:172 part/serializers.py:1527 +#: build/serializers.py:1220 part/bom.py:172 part/serializers.py:1558 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" msgstr "" +#: build/serializers.py:1224 +msgid "Available Substitute Stock" +msgstr "" + +#: build/serializers.py:1225 +msgid "Available Variant Stock" +msgstr "" + +#: build/serializers.py:1226 +#, fuzzy +#| msgid "Available" +msgid "Total Available Stock" +msgstr "Tilgængelig" + +#: build/serializers.py:1227 part/serializers.py:862 +msgid "External Stock" +msgstr "" + #: build/status_codes.py:11 generic/states/tests.py:17 order/status_codes.py:12 #: order/status_codes.py:37 order/status_codes.py:64 order/status_codes.py:82 #: templates/js/translated/table_filters.js:598 @@ -1519,7 +1591,8 @@ msgstr "Produktion" msgid "Cancelled" msgstr "Annulleret" -#: build/status_codes.py:14 generic/states/tests.py:19 order/status_codes.py:14 +#: build/status_codes.py:14 generic/states/tests.py:19 importer/models.py:468 +#: importer/status_codes.py:19 order/status_codes.py:14 #: order/status_codes.py:44 order/status_codes.py:69 #: order/templates/order/order_base.html:158 #: order/templates/order/sales_order_base.html:165 report/models.py:444 @@ -1652,11 +1725,12 @@ msgstr "" #: build/templates/build/build_base.html:160 #: build/templates/build/detail.html:138 order/models.py:309 -#: order/models.py:1307 order/templates/order/order_base.html:186 +#: order/models.py:1307 order/serializers.py:174 +#: order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: 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:1831 +#: templates/js/translated/build.js:2239 templates/js/translated/part.js:1834 #: templates/js/translated/purchase_order.js:1739 #: templates/js/translated/purchase_order.js:2147 #: templates/js/translated/return_order.js:346 @@ -1689,8 +1763,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1463 order/models.py:845 -#: order/models.py:1551 order/models.py:1665 order/models.py:1819 +#: build/templates/build/detail.html:101 order/api.py:1384 order/models.py:845 +#: order/models.py:1566 order/models.py:1681 order/models.py:1840 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 @@ -1740,7 +1814,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1443 +#: build/templates/build/detail.html:49 order/models.py:1448 #: templates/js/translated/purchase_order.js:2189 msgid "Destination" msgstr "" @@ -1892,31 +1966,31 @@ msgstr "" msgid "Incomplete Outputs" msgstr "" -#: common/api.py:689 +#: common/api.py:690 msgid "Is Link" msgstr "" -#: common/api.py:697 +#: common/api.py:698 msgid "Is File" msgstr "" -#: common/api.py:739 +#: common/api.py:740 msgid "User does not have permission to delete this attachment" msgstr "" -#: common/currency.py:130 +#: common/currency.py:132 msgid "Invalid currency code" msgstr "" -#: common/currency.py:132 +#: common/currency.py:134 msgid "Duplicate currency code" msgstr "" -#: common/currency.py:137 +#: common/currency.py:139 msgid "No valid currency codes provided" msgstr "" -#: common/currency.py:154 +#: common/currency.py:156 msgid "No plugin" msgstr "" @@ -1970,1635 +2044,1604 @@ msgstr "" msgid "Site URL is locked by configuration" msgstr "" -#: common/models.py:132 +#: common/models.py:137 msgid "Unique project code" msgstr "" -#: common/models.py:139 +#: common/models.py:144 msgid "Project description" msgstr "" -#: common/models.py:148 +#: common/models.py:153 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:765 +#: common/models.py:770 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:769 +#: common/models.py:774 msgid "Settings value" msgstr "" -#: common/models.py:821 +#: common/models.py:826 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:837 +#: common/models.py:842 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:845 +#: common/models.py:850 msgid "Value must be an integer value" msgstr "" -#: common/models.py:882 +#: common/models.py:887 msgid "Key string must be unique" msgstr "" -#: common/models.py:1114 +#: common/models.py:1119 msgid "No group" msgstr "" -#: common/models.py:1213 +#: common/models.py:1218 msgid "Restart required" msgstr "" -#: common/models.py:1215 +#: common/models.py:1220 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:1222 +#: common/models.py:1227 msgid "Pending migrations" msgstr "" -#: common/models.py:1223 +#: common/models.py:1228 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1228 +#: common/models.py:1233 msgid "Server Instance Name" msgstr "" -#: common/models.py:1230 +#: common/models.py:1235 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1234 +#: common/models.py:1239 msgid "Use instance name" msgstr "" -#: common/models.py:1235 +#: common/models.py:1240 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1240 +#: common/models.py:1245 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1241 +#: common/models.py:1246 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1246 company/models.py:111 company/models.py:112 +#: common/models.py:1251 company/models.py:111 company/models.py:112 msgid "Company name" msgstr "" -#: common/models.py:1247 +#: common/models.py:1252 msgid "Internal company name" msgstr "" -#: common/models.py:1251 +#: common/models.py:1256 msgid "Base URL" msgstr "" -#: common/models.py:1252 +#: common/models.py:1257 msgid "Base URL for server instance" msgstr "" -#: common/models.py:1258 +#: common/models.py:1263 msgid "Default Currency" msgstr "" -#: common/models.py:1259 +#: common/models.py:1264 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1265 +#: common/models.py:1270 msgid "Supported Currencies" msgstr "" -#: common/models.py:1266 +#: common/models.py:1271 msgid "List of supported currency codes" msgstr "" -#: common/models.py:1272 +#: common/models.py:1277 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1274 +#: common/models.py:1279 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1277 common/models.py:1333 common/models.py:1346 -#: common/models.py:1354 common/models.py:1363 common/models.py:1372 -#: common/models.py:1596 common/models.py:1618 common/models.py:1733 -#: common/models.py:2100 +#: common/models.py:1282 common/models.py:1338 common/models.py:1351 +#: common/models.py:1359 common/models.py:1368 common/models.py:1377 +#: common/models.py:1601 common/models.py:1623 common/models.py:1738 +#: common/models.py:2111 msgid "days" msgstr "" -#: common/models.py:1281 +#: common/models.py:1286 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1282 +#: common/models.py:1287 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1287 +#: common/models.py:1292 msgid "Download from URL" msgstr "" -#: common/models.py:1289 +#: common/models.py:1294 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:1295 +#: common/models.py:1300 msgid "Download Size Limit" msgstr "" -#: common/models.py:1296 +#: common/models.py:1301 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1302 +#: common/models.py:1307 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1304 +#: common/models.py:1309 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/models.py:1309 +#: common/models.py:1314 msgid "Strict URL Validation" msgstr "" -#: common/models.py:1310 +#: common/models.py:1315 msgid "Require schema specification when validating URLs" msgstr "" -#: common/models.py:1315 +#: common/models.py:1320 msgid "Require confirm" msgstr "" -#: common/models.py:1316 +#: common/models.py:1321 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:1321 +#: common/models.py:1326 msgid "Tree Depth" msgstr "" -#: common/models.py:1323 +#: common/models.py:1328 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1329 +#: common/models.py:1334 msgid "Update Check Interval" msgstr "" -#: common/models.py:1330 +#: common/models.py:1335 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:1336 +#: common/models.py:1341 msgid "Automatic Backup" msgstr "" -#: common/models.py:1337 +#: common/models.py:1342 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:1342 +#: common/models.py:1347 msgid "Auto Backup Interval" msgstr "" -#: common/models.py:1343 +#: common/models.py:1348 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1349 +#: common/models.py:1354 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1351 +#: common/models.py:1356 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1358 +#: common/models.py:1363 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1360 +#: common/models.py:1365 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1367 +#: common/models.py:1372 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1369 +#: common/models.py:1374 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1376 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1381 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "" -#: common/models.py:1377 +#: common/models.py:1382 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1382 +#: common/models.py:1387 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1383 +#: common/models.py:1388 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1389 +#: common/models.py:1394 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1390 +#: common/models.py:1395 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1395 +#: common/models.py:1400 msgid "Barcode Show Data" msgstr "" -#: common/models.py:1396 +#: common/models.py:1401 msgid "Display barcode data in browser as text" msgstr "" -#: common/models.py:1401 +#: common/models.py:1406 msgid "Part Revisions" msgstr "" -#: common/models.py:1402 +#: common/models.py:1407 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1407 +#: common/models.py:1412 msgid "Allow Deletion from Assembly" msgstr "" -#: common/models.py:1408 +#: common/models.py:1413 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/models.py:1413 +#: common/models.py:1418 msgid "IPN Regex" msgstr "" -#: common/models.py:1414 +#: common/models.py:1419 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1417 +#: common/models.py:1422 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1418 +#: common/models.py:1423 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1423 +#: common/models.py:1428 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1424 +#: common/models.py:1429 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1429 +#: common/models.py:1434 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1430 +#: common/models.py:1435 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1435 +#: common/models.py:1440 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1436 +#: common/models.py:1441 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1441 +#: common/models.py:1446 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1442 +#: common/models.py:1447 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1447 +#: common/models.py:1452 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1448 +#: common/models.py:1453 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1453 part/admin.py:108 part/models.py:3795 +#: common/models.py:1458 part/admin.py:108 part/models.py:3835 #: report/models.py:294 report/models.py:361 report/serializers.py:90 -#: report/serializers.py:131 stock/serializers.py:227 +#: report/serializers.py:131 stock/serializers.py:232 #: templates/js/translated/table_filters.js:139 -#: templates/js/translated/table_filters.js:767 +#: templates/js/translated/table_filters.js:772 msgid "Template" msgstr "" -#: common/models.py:1454 +#: common/models.py:1459 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1459 part/admin.py:91 part/admin.py:425 part/models.py:1052 +#: common/models.py:1464 part/admin.py:91 part/admin.py:425 part/models.py:1056 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 -#: templates/js/translated/table_filters.js:721 +#: templates/js/translated/table_filters.js:726 msgid "Assembly" msgstr "" -#: common/models.py:1460 +#: common/models.py:1465 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1465 part/admin.py:95 part/models.py:1058 -#: templates/js/translated/table_filters.js:729 +#: common/models.py:1470 part/admin.py:95 part/models.py:1062 +#: templates/js/translated/table_filters.js:734 msgid "Component" msgstr "" -#: common/models.py:1466 +#: common/models.py:1471 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1471 part/admin.py:100 part/models.py:1070 +#: common/models.py:1476 part/admin.py:100 part/models.py:1074 msgid "Purchaseable" msgstr "" -#: common/models.py:1472 +#: common/models.py:1477 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1477 part/admin.py:104 part/models.py:1076 -#: templates/js/translated/table_filters.js:755 +#: common/models.py:1482 part/admin.py:104 part/models.py:1080 +#: templates/js/translated/table_filters.js:760 msgid "Salable" msgstr "" -#: common/models.py:1478 +#: common/models.py:1483 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1483 part/admin.py:113 part/models.py:1064 -#: 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:1484 +#: common/models.py:1489 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1489 part/admin.py:117 part/models.py:1086 +#: common/models.py:1494 part/admin.py:117 part/models.py:1096 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 -#: templates/js/translated/table_filters.js:775 +#: templates/js/translated/table_filters.js:780 msgid "Virtual" msgstr "" -#: common/models.py:1490 +#: common/models.py:1495 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1495 +#: common/models.py:1500 msgid "Show Import in Views" msgstr "" -#: common/models.py:1496 +#: common/models.py:1501 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1501 +#: common/models.py:1506 msgid "Show related parts" msgstr "" -#: common/models.py:1502 +#: common/models.py:1507 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1507 +#: common/models.py:1512 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1508 +#: common/models.py:1513 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1513 templates/js/translated/part.js:107 +#: common/models.py:1518 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1515 +#: common/models.py:1520 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1521 +#: common/models.py:1526 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1522 +#: common/models.py:1527 msgid "Format to display the part name" msgstr "" -#: common/models.py:1528 +#: common/models.py:1533 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1529 +#: common/models.py:1534 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1533 +#: common/models.py:1538 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1535 +#: common/models.py:1540 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1541 +#: common/models.py:1546 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1543 +#: common/models.py:1548 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1554 +#: common/models.py:1559 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1556 +#: common/models.py:1561 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1567 +#: common/models.py:1572 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1569 +#: common/models.py:1574 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1575 +#: common/models.py:1580 msgid "Purchase History Override" msgstr "" -#: common/models.py:1577 +#: common/models.py:1582 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1583 +#: common/models.py:1588 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1585 +#: common/models.py:1590 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1591 +#: common/models.py:1596 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1593 +#: common/models.py:1598 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1600 +#: common/models.py:1605 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1601 +#: common/models.py:1606 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1606 +#: common/models.py:1611 msgid "Active Variants Only" msgstr "" -#: common/models.py:1608 +#: common/models.py:1613 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1614 +#: common/models.py:1619 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1616 +#: common/models.py:1621 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1623 +#: common/models.py:1628 msgid "Internal Prices" msgstr "" -#: common/models.py:1624 +#: common/models.py:1629 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1629 +#: common/models.py:1634 msgid "Internal Price Override" msgstr "" -#: common/models.py:1631 +#: common/models.py:1636 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1637 +#: common/models.py:1642 msgid "Enable label printing" msgstr "" -#: common/models.py:1638 +#: common/models.py:1643 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1643 +#: common/models.py:1648 msgid "Label Image DPI" msgstr "" -#: common/models.py:1645 +#: common/models.py:1650 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1651 +#: common/models.py:1656 msgid "Enable Reports" msgstr "" -#: common/models.py:1652 +#: common/models.py:1657 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1657 templates/stats.html:25 +#: common/models.py:1662 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1658 +#: common/models.py:1663 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1663 +#: common/models.py:1668 msgid "Log Report Errors" msgstr "" -#: common/models.py:1664 +#: common/models.py:1669 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1669 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1674 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:302 msgid "Page Size" msgstr "" -#: common/models.py:1670 +#: common/models.py:1675 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1675 +#: common/models.py:1680 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1676 +#: common/models.py:1681 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1681 +#: common/models.py:1686 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1683 +#: common/models.py:1688 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1689 +#: common/models.py:1694 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1690 +#: common/models.py:1695 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1695 +#: common/models.py:1700 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1696 +#: common/models.py:1701 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1701 +#: common/models.py:1706 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1703 +#: common/models.py:1708 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1709 +#: common/models.py:1714 msgid "Batch Code Template" msgstr "" -#: common/models.py:1711 +#: common/models.py:1716 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1716 +#: common/models.py:1721 msgid "Stock Expiry" msgstr "" -#: common/models.py:1717 +#: common/models.py:1722 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1722 +#: common/models.py:1727 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1723 +#: common/models.py:1728 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1728 +#: common/models.py:1733 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1730 +#: common/models.py:1735 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1737 +#: common/models.py:1742 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1738 +#: common/models.py:1743 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1743 +#: common/models.py:1748 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1744 +#: common/models.py:1749 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1749 +#: common/models.py:1754 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1750 +#: common/models.py:1755 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1754 +#: common/models.py:1759 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1755 +#: common/models.py:1760 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1760 +#: common/models.py:1765 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1762 +#: common/models.py:1767 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1768 +#: common/models.py:1773 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1770 +#: common/models.py:1775 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1776 +#: common/models.py:1781 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1778 +#: common/models.py:1783 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1784 common/models.py:1826 common/models.py:1848 -#: common/models.py:1884 +#: common/models.py:1789 common/models.py:1837 common/models.py:1859 +#: common/models.py:1895 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1785 common/models.py:1827 common/models.py:1849 -#: common/models.py:1885 +#: common/models.py:1790 common/models.py:1838 common/models.py:1860 +#: common/models.py:1896 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1790 +#: common/models.py:1795 msgid "Require Active Part" msgstr "" -#: common/models.py:1791 +#: common/models.py:1796 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/models.py:1796 +#: common/models.py:1801 +msgid "Require Locked Part" +msgstr "" + +#: common/models.py:1802 +msgid "Prevent build order creation for unlocked parts" +msgstr "" + +#: common/models.py:1807 msgid "Require Valid BOM" msgstr "" -#: common/models.py:1798 +#: common/models.py:1809 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/models.py:1804 +#: common/models.py:1815 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1806 +#: common/models.py:1817 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1812 +#: common/models.py:1823 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1813 +#: common/models.py:1824 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1818 +#: common/models.py:1829 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1820 +#: common/models.py:1831 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1832 +#: common/models.py:1843 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1834 +#: common/models.py:1845 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1840 +#: common/models.py:1851 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1842 +#: common/models.py:1853 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1854 +#: common/models.py:1865 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1855 +#: common/models.py:1866 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1860 +#: common/models.py:1871 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1862 +#: common/models.py:1873 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1868 +#: common/models.py:1879 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1870 +#: common/models.py:1881 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1876 +#: common/models.py:1887 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1878 +#: common/models.py:1889 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1890 +#: common/models.py:1901 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1892 +#: common/models.py:1903 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1898 +#: common/models.py:1909 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1900 +#: common/models.py:1911 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1907 +#: common/models.py:1918 msgid "Enable password forgot" msgstr "" -#: common/models.py:1908 +#: common/models.py:1919 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1913 +#: common/models.py:1924 msgid "Enable registration" msgstr "" -#: common/models.py:1914 +#: common/models.py:1925 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1919 +#: common/models.py:1930 msgid "Enable SSO" msgstr "" -#: common/models.py:1920 +#: common/models.py:1931 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1925 +#: common/models.py:1936 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1927 +#: common/models.py:1938 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1933 +#: common/models.py:1944 msgid "Enable SSO group sync" msgstr "" -#: common/models.py:1935 +#: common/models.py:1946 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/models.py:1941 +#: common/models.py:1952 msgid "SSO group key" msgstr "" -#: common/models.py:1943 +#: common/models.py:1954 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/models.py:1949 +#: common/models.py:1960 msgid "SSO group map" msgstr "" -#: common/models.py:1951 +#: common/models.py:1962 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/models.py:1957 +#: common/models.py:1968 msgid "Remove groups outside of SSO" msgstr "" -#: common/models.py:1959 +#: common/models.py:1970 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/models.py:1965 +#: common/models.py:1976 msgid "Email required" msgstr "" -#: common/models.py:1966 +#: common/models.py:1977 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1971 +#: common/models.py:1982 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1973 +#: common/models.py:1984 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1979 +#: common/models.py:1990 msgid "Mail twice" msgstr "" -#: common/models.py:1980 +#: common/models.py:1991 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1985 +#: common/models.py:1996 msgid "Password twice" msgstr "" -#: common/models.py:1986 +#: common/models.py:1997 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1991 +#: common/models.py:2002 msgid "Allowed domains" msgstr "" -#: common/models.py:1993 +#: common/models.py:2004 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1999 +#: common/models.py:2010 msgid "Group on signup" msgstr "" -#: common/models.py:2001 +#: common/models.py:2012 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/models.py:2007 +#: common/models.py:2018 msgid "Enforce MFA" msgstr "" -#: common/models.py:2008 +#: common/models.py:2019 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:2013 +#: common/models.py:2024 msgid "Check plugins on startup" msgstr "" -#: common/models.py:2015 +#: common/models.py:2026 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:2023 +#: common/models.py:2034 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2024 +#: common/models.py:2035 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2030 +#: common/models.py:2041 msgid "Enable URL integration" msgstr "" -#: common/models.py:2031 +#: common/models.py:2042 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:2037 +#: common/models.py:2048 msgid "Enable navigation integration" msgstr "" -#: common/models.py:2038 +#: common/models.py:2049 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2044 +#: common/models.py:2055 msgid "Enable app integration" msgstr "" -#: common/models.py:2045 +#: common/models.py:2056 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2051 +#: common/models.py:2062 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2052 +#: common/models.py:2063 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2058 +#: common/models.py:2069 msgid "Enable event integration" msgstr "" -#: common/models.py:2059 +#: common/models.py:2070 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2065 +#: common/models.py:2076 msgid "Enable project codes" msgstr "" -#: common/models.py:2066 +#: common/models.py:2077 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2071 +#: common/models.py:2082 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2073 +#: common/models.py:2084 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2079 +#: common/models.py:2090 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2081 +#: common/models.py:2092 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2087 +#: common/models.py:2098 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2089 +#: common/models.py:2100 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2095 +#: common/models.py:2106 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2097 +#: common/models.py:2108 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2104 +#: common/models.py:2115 msgid "Display Users full names" msgstr "" -#: common/models.py:2105 +#: common/models.py:2116 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2110 +#: common/models.py:2121 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2111 +#: common/models.py:2122 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2123 common/models.py:2533 +#: common/models.py:2134 common/models.py:2514 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2166 +#: common/models.py:2177 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2168 +#: common/models.py:2179 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2174 +#: common/models.py:2185 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2175 +#: common/models.py:2186 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2180 +#: common/models.py:2191 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2181 +#: common/models.py:2192 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2186 +#: common/models.py:2197 msgid "Show latest parts" msgstr "" -#: common/models.py:2187 +#: common/models.py:2198 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2192 +#: common/models.py:2203 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2193 +#: common/models.py:2204 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2198 +#: common/models.py:2209 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2199 +#: common/models.py:2210 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2204 +#: common/models.py:2215 msgid "Show low stock" msgstr "" -#: common/models.py:2205 +#: common/models.py:2216 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2210 +#: common/models.py:2221 msgid "Show depleted stock" msgstr "" -#: common/models.py:2211 +#: common/models.py:2222 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2216 +#: common/models.py:2227 msgid "Show needed stock" msgstr "" -#: common/models.py:2217 +#: common/models.py:2228 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2222 +#: common/models.py:2233 msgid "Show expired stock" msgstr "" -#: common/models.py:2223 +#: common/models.py:2234 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2228 +#: common/models.py:2239 msgid "Show stale stock" msgstr "" -#: common/models.py:2229 +#: common/models.py:2240 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2234 +#: common/models.py:2245 msgid "Show pending builds" msgstr "" -#: common/models.py:2235 +#: common/models.py:2246 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2240 +#: common/models.py:2251 msgid "Show overdue builds" msgstr "" -#: common/models.py:2241 +#: common/models.py:2252 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2246 +#: common/models.py:2257 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2247 +#: common/models.py:2258 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2252 +#: common/models.py:2263 msgid "Show overdue POs" msgstr "" -#: common/models.py:2253 +#: common/models.py:2264 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2258 +#: common/models.py:2269 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2259 +#: common/models.py:2270 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2264 +#: common/models.py:2275 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2265 +#: common/models.py:2276 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2270 +#: common/models.py:2281 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2271 +#: common/models.py:2282 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2276 +#: common/models.py:2287 msgid "Show News" msgstr "" -#: common/models.py:2277 +#: common/models.py:2288 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2282 +#: common/models.py:2293 msgid "Inline label display" msgstr "" -#: common/models.py:2284 +#: common/models.py:2295 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2290 +#: common/models.py:2301 msgid "Default label printer" msgstr "" -#: common/models.py:2292 +#: common/models.py:2303 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2298 +#: common/models.py:2309 msgid "Inline report display" msgstr "" -#: common/models.py:2300 +#: common/models.py:2311 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2306 +#: common/models.py:2317 msgid "Search Parts" msgstr "" -#: common/models.py:2307 +#: common/models.py:2318 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2312 +#: common/models.py:2323 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2313 +#: common/models.py:2324 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2318 +#: common/models.py:2329 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2319 +#: common/models.py:2330 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2324 +#: common/models.py:2335 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2325 +#: common/models.py:2336 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2330 +#: common/models.py:2341 msgid "Search Categories" msgstr "" -#: common/models.py:2331 +#: common/models.py:2342 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2336 +#: common/models.py:2347 msgid "Search Stock" msgstr "" -#: common/models.py:2337 +#: common/models.py:2348 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2342 +#: common/models.py:2353 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2344 +#: common/models.py:2355 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2350 +#: common/models.py:2361 msgid "Search Locations" msgstr "" -#: common/models.py:2351 +#: common/models.py:2362 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2356 +#: common/models.py:2367 msgid "Search Companies" msgstr "" -#: common/models.py:2357 +#: common/models.py:2368 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2362 +#: common/models.py:2373 msgid "Search Build Orders" msgstr "" -#: common/models.py:2363 +#: common/models.py:2374 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2368 +#: common/models.py:2379 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2369 +#: common/models.py:2380 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2374 +#: common/models.py:2385 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2376 +#: common/models.py:2387 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2382 +#: common/models.py:2393 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2383 +#: common/models.py:2394 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2388 +#: common/models.py:2399 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2390 +#: common/models.py:2401 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2396 +#: common/models.py:2407 msgid "Search Return Orders" msgstr "" -#: common/models.py:2397 +#: common/models.py:2408 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2402 +#: common/models.py:2413 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2404 +#: common/models.py:2415 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2410 +#: common/models.py:2421 msgid "Search Preview Results" msgstr "" -#: common/models.py:2412 +#: common/models.py:2423 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2418 +#: common/models.py:2429 msgid "Regex Search" msgstr "" -#: common/models.py:2419 +#: common/models.py:2430 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2424 +#: common/models.py:2435 msgid "Whole Word Search" msgstr "" -#: common/models.py:2425 +#: common/models.py:2436 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2430 +#: common/models.py:2441 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2431 +#: common/models.py:2442 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2436 +#: common/models.py:2447 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2437 +#: common/models.py:2448 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2442 +#: common/models.py:2453 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2443 +#: common/models.py:2454 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2448 +#: common/models.py:2459 msgid "Date Format" msgstr "" -#: common/models.py:2449 +#: common/models.py:2460 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2462 part/templates/part/detail.html:41 +#: common/models.py:2473 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2463 +#: common/models.py:2474 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2468 part/templates/part/detail.html:62 +#: common/models.py:2479 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2470 +#: common/models.py:2481 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2476 +#: common/models.py:2487 msgid "Table String Length" msgstr "" -#: common/models.py:2478 +#: common/models.py:2489 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2484 -msgid "Default part label template" -msgstr "" - -#: common/models.py:2485 -msgid "The part label template to be automatically selected" -msgstr "" - -#: common/models.py:2490 -msgid "Default stock item template" -msgstr "" - -#: common/models.py:2492 -msgid "The stock item label template to be automatically selected" -msgstr "" - -#: common/models.py:2498 -msgid "Default stock location label template" -msgstr "" - -#: common/models.py:2500 -msgid "The stock location label template to be automatically selected" -msgstr "" - -#: common/models.py:2506 -msgid "Default build line label template" -msgstr "" - -#: common/models.py:2508 -msgid "The build line label template to be automatically selected" -msgstr "" - -#: common/models.py:2514 +#: common/models.py:2495 msgid "Receive error reports" msgstr "" -#: common/models.py:2515 +#: common/models.py:2496 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2520 +#: common/models.py:2501 msgid "Last used printing machines" msgstr "" -#: common/models.py:2521 +#: common/models.py:2502 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2541 common/models.py:2542 common/models.py:2691 -#: common/models.py:2692 common/models.py:2937 common/models.py:2938 -#: common/models.py:3259 common/models.py:3260 part/models.py:3193 -#: part/models.py:3280 part/models.py:3353 part/models.py:3381 -#: plugin/models.py:274 plugin/models.py:275 +#: common/models.py:2522 common/models.py:2523 common/models.py:2672 +#: common/models.py:2673 common/models.py:2918 common/models.py:2919 +#: common/models.py:3245 common/models.py:3246 importer/models.py:85 +#: part/models.py:3203 part/models.py:3290 part/models.py:3364 +#: part/models.py:3392 plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 msgid "User" msgstr "Bruger" -#: common/models.py:2564 +#: common/models.py:2545 msgid "Price break quantity" msgstr "" -#: common/models.py:2571 company/serializers.py:472 order/admin.py:42 -#: order/models.py:1346 order/models.py:2265 -#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1886 +#: common/models.py:2552 company/serializers.py:502 order/admin.py:42 +#: order/models.py:1346 order/models.py:2292 +#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1889 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:740 msgid "Price" msgstr "" -#: common/models.py:2572 +#: common/models.py:2553 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2668 common/models.py:2853 +#: common/models.py:2649 common/models.py:2834 msgid "Endpoint" msgstr "" -#: common/models.py:2669 +#: common/models.py:2650 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2679 +#: common/models.py:2660 msgid "Name for this webhook" msgstr "" -#: common/models.py:2683 +#: common/models.py:2664 msgid "Is this webhook active" msgstr "" -#: common/models.py:2699 users/models.py:159 +#: common/models.py:2680 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2700 +#: common/models.py:2681 msgid "Token for access" msgstr "" -#: common/models.py:2708 +#: common/models.py:2689 msgid "Secret" msgstr "" -#: common/models.py:2709 +#: common/models.py:2690 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2817 +#: common/models.py:2798 msgid "Message ID" msgstr "" -#: common/models.py:2818 +#: common/models.py:2799 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2826 +#: common/models.py:2807 msgid "Host" msgstr "" -#: common/models.py:2827 +#: common/models.py:2808 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2835 +#: common/models.py:2816 msgid "Header" msgstr "" -#: common/models.py:2836 +#: common/models.py:2817 msgid "Header of this message" msgstr "" -#: common/models.py:2843 +#: common/models.py:2824 msgid "Body" msgstr "" -#: common/models.py:2844 +#: common/models.py:2825 msgid "Body of this message" msgstr "" -#: common/models.py:2854 +#: common/models.py:2835 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2859 +#: common/models.py:2840 msgid "Worked on" msgstr "" -#: common/models.py:2860 +#: common/models.py:2841 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2986 +#: common/models.py:2967 msgid "Id" msgstr "" -#: common/models.py:2988 templates/js/translated/company.js:965 +#: common/models.py:2969 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2990 common/models.py:3243 company/models.py:149 -#: company/models.py:440 company/models.py:500 company/models.py:799 -#: order/models.py:303 order/models.py:1301 order/models.py:1717 -#: part/admin.py:55 part/models.py:955 +#: common/models.py:2971 common/models.py:3229 company/models.py:149 +#: company/models.py:446 company/models.py:506 company/models.py:806 +#: order/models.py:303 order/models.py:1301 order/models.py:1733 +#: part/admin.py:55 part/models.py:959 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:229 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/part.js:2459 #: templates/js/translated/purchase_order.js:2040 #: templates/js/translated/purchase_order.js:2204 #: templates/js/translated/return_order.js:779 @@ -3607,28 +3650,28 @@ msgstr "" msgid "Link" msgstr "" -#: common/models.py:2992 templates/js/translated/news.js:60 +#: common/models.py:2973 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2994 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2975 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:2996 templates/js/translated/news.js:52 +#: common/models.py:2977 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2999 +#: common/models.py:2980 msgid "Read" msgstr "" -#: common/models.py:2999 +#: common/models.py:2980 msgid "Was this news item read?" msgstr "" -#: common/models.py:3016 company/models.py:159 part/models.py:965 +#: common/models.py:2997 company/models.py:159 part/models.py:969 #: 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.html:35 @@ -3638,90 +3681,94 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:3016 +#: common/models.py:2997 msgid "Image file" msgstr "" -#: common/models.py:3028 common/models.py:3227 +#: common/models.py:3009 common/models.py:3213 msgid "Target model type for this image" msgstr "" -#: common/models.py:3032 +#: common/models.py:3013 msgid "Target model ID for this image" msgstr "" -#: common/models.py:3070 +#: common/models.py:3035 +msgid "Custom Unit" +msgstr "" + +#: common/models.py:3056 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:3085 +#: common/models.py:3071 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3104 +#: common/models.py:3090 msgid "Unit name" msgstr "" -#: common/models.py:3111 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3097 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3112 +#: common/models.py:3098 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3118 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3104 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3119 +#: common/models.py:3105 msgid "Unit definition" msgstr "" -#: common/models.py:3177 common/models.py:3234 stock/models.py:2461 +#: common/models.py:3163 common/models.py:3220 stock/models.py:2471 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" msgstr "Vedhæftning" -#: common/models.py:3189 +#: common/models.py:3175 msgid "Missing file" msgstr "Manglende fil" -#: common/models.py:3190 +#: common/models.py:3176 msgid "Missing external link" msgstr "Manglende eksternt link" -#: common/models.py:3235 +#: common/models.py:3221 msgid "Select file to attach" msgstr "Vælg fil, der skal vedhæftes" -#: common/models.py:3250 templates/js/translated/attachment.js:120 +#: common/models.py:3236 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" msgstr "Kommentar" -#: common/models.py:3251 +#: common/models.py:3237 msgid "Attachment comment" msgstr "" -#: common/models.py:3267 +#: common/models.py:3253 msgid "Upload date" msgstr "" -#: common/models.py:3268 +#: common/models.py:3254 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:3272 +#: common/models.py:3258 msgid "File size" msgstr "" -#: common/models.py:3272 +#: common/models.py:3258 msgid "File size in bytes" msgstr "" -#: common/models.py:3310 common/serializers.py:553 +#: common/models.py:3296 common/serializers.py:557 msgid "Invalid model type specified for attachment" msgstr "" @@ -3743,7 +3790,7 @@ msgstr "" msgid "A order that is assigned to you was canceled" msgstr "" -#: common/notifications.py:330 common/notifications.py:337 order/api.py:472 +#: common/notifications.py:330 common/notifications.py:337 order/api.py:454 msgid "Items Received" msgstr "" @@ -3759,75 +3806,75 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:371 +#: common/serializers.py:375 msgid "Is Running" msgstr "" -#: common/serializers.py:377 +#: common/serializers.py:381 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:383 +#: common/serializers.py:387 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:389 +#: common/serializers.py:393 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:404 +#: common/serializers.py:408 msgid "Task ID" msgstr "" -#: common/serializers.py:404 +#: common/serializers.py:408 msgid "Unique task ID" msgstr "" -#: common/serializers.py:406 +#: common/serializers.py:410 msgid "Lock" msgstr "" -#: common/serializers.py:406 +#: common/serializers.py:410 msgid "Lock time" msgstr "" -#: common/serializers.py:408 +#: common/serializers.py:412 msgid "Task name" msgstr "" -#: common/serializers.py:410 +#: common/serializers.py:414 msgid "Function" msgstr "" -#: common/serializers.py:410 +#: common/serializers.py:414 msgid "Function name" msgstr "" -#: common/serializers.py:412 +#: common/serializers.py:416 msgid "Arguments" msgstr "" -#: common/serializers.py:412 +#: common/serializers.py:416 msgid "Task arguments" msgstr "" -#: common/serializers.py:415 +#: common/serializers.py:419 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:415 +#: common/serializers.py:419 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:525 +#: common/serializers.py:529 msgid "Filename" msgstr "Filnavn" -#: common/serializers.py:532 report/api.py:100 report/serializers.py:53 +#: common/serializers.py:536 report/api.py:100 report/serializers.py:53 msgid "Model Type" msgstr "" -#: common/serializers.py:559 +#: common/serializers.py:563 msgid "User does not have permission to create or edit attachments for this model" msgstr "" @@ -3894,29 +3941,29 @@ msgstr "" msgid "Previous Step" msgstr "" -#: company/api.py:144 +#: company/api.py:141 msgid "Part is Active" msgstr "" -#: company/api.py:148 +#: company/api.py:145 msgid "Manufacturer is Active" msgstr "" -#: company/api.py:281 +#: company/api.py:278 msgid "Supplier Part is Active" msgstr "" -#: company/api.py:285 +#: company/api.py:282 msgid "Internal Part is Active" msgstr "" -#: company/api.py:289 +#: company/api.py:286 msgid "Supplier is Active" msgstr "" -#: company/models.py:100 company/models.py:365 +#: company/models.py:100 company/models.py:371 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:822 +#: company/templates/company/company_base.html:12 stock/api.py:814 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "" @@ -3956,8 +4003,9 @@ msgstr "" msgid "Contact email address" msgstr "" -#: company/models.py:142 company/templates/company/company_base.html:145 -#: order/models.py:343 order/templates/order/order_base.html:203 +#: company/models.py:142 company/models.py:275 +#: company/templates/company/company_base.html:145 order/models.py:343 +#: order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 #: order/templates/order/sales_order_base.html:218 msgid "Contact" @@ -3976,15 +4024,17 @@ msgid "Is this company active?" msgstr "" #: company/models.py:168 -msgid "is customer" -msgstr "" +#, fuzzy +#| msgid "Sent to customer" +msgid "Is customer" +msgstr "Sendt til kunde" #: company/models.py:169 msgid "Do you sell items to this company?" msgstr "" #: company/models.py:174 -msgid "is supplier" +msgid "Is supplier" msgstr "" #: company/models.py:175 @@ -3992,7 +4042,7 @@ msgid "Do you purchase items from this company?" msgstr "" #: company/models.py:180 -msgid "is manufacturer" +msgid "Is manufacturer" msgstr "" #: company/models.py:181 @@ -4003,178 +4053,189 @@ msgstr "" msgid "Default currency used for this company" msgstr "" -#: company/models.py:366 +#: company/models.py:314 company/templates/company/company_base.html:124 +#: order/models.py:353 order/templates/order/order_base.html:210 +#: order/templates/order/return_order_base.html:181 +#: order/templates/order/sales_order_base.html:225 +msgid "Address" +msgstr "" + +#: company/models.py:315 company/templates/company/sidebar.html:35 +msgid "Addresses" +msgstr "" + +#: company/models.py:372 msgid "Select company" msgstr "" -#: company/models.py:371 +#: company/models.py:377 msgid "Address title" msgstr "" -#: company/models.py:372 +#: company/models.py:378 msgid "Title describing the address entry" msgstr "" -#: company/models.py:378 +#: company/models.py:384 msgid "Primary address" msgstr "" -#: company/models.py:379 +#: company/models.py:385 msgid "Set as primary address" msgstr "" -#: company/models.py:384 templates/js/translated/company.js:914 +#: company/models.py:390 templates/js/translated/company.js:914 #: templates/js/translated/company.js:971 msgid "Line 1" msgstr "" -#: company/models.py:385 +#: company/models.py:391 msgid "Address line 1" msgstr "" -#: company/models.py:391 templates/js/translated/company.js:915 +#: company/models.py:397 templates/js/translated/company.js:915 #: templates/js/translated/company.js:977 msgid "Line 2" msgstr "" -#: company/models.py:392 +#: company/models.py:398 msgid "Address line 2" msgstr "" -#: company/models.py:398 company/models.py:399 +#: company/models.py:404 company/models.py:405 #: templates/js/translated/company.js:983 msgid "Postal code" msgstr "" -#: company/models.py:405 +#: company/models.py:411 msgid "City/Region" msgstr "" -#: company/models.py:406 +#: company/models.py:412 msgid "Postal code city/region" msgstr "" -#: company/models.py:412 +#: company/models.py:418 msgid "State/Province" msgstr "" -#: company/models.py:413 +#: company/models.py:419 msgid "State or province" msgstr "" -#: company/models.py:419 templates/js/translated/company.js:1001 +#: company/models.py:425 templates/js/translated/company.js:1001 msgid "Country" msgstr "" -#: company/models.py:420 +#: company/models.py:426 msgid "Address country" msgstr "" -#: company/models.py:426 +#: company/models.py:432 msgid "Courier shipping notes" msgstr "" -#: company/models.py:427 +#: company/models.py:433 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:433 +#: company/models.py:439 msgid "Internal shipping notes" msgstr "" -#: company/models.py:434 +#: company/models.py:440 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:441 +#: company/models.py:447 msgid "Link to address information (external)" msgstr "" -#: company/models.py:463 company/models.py:574 company/models.py:792 +#: company/models.py:469 company/models.py:581 company/models.py:799 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:217 msgid "Manufacturer Part" msgstr "" -#: company/models.py:475 company/models.py:760 stock/models.py:767 -#: stock/serializers.py:422 stock/templates/stock/item_base.html:142 +#: company/models.py:481 company/models.py:767 stock/models.py:767 +#: stock/serializers.py:442 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" -#: company/models.py:477 company/models.py:762 +#: company/models.py:483 company/models.py:769 msgid "Select part" msgstr "" -#: company/models.py:486 company/templates/company/company_base.html:82 +#: company/models.py:492 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:525 +#: company/templates/company/supplier_part.html:145 part/serializers.py:543 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 #: templates/js/translated/company.js:1296 #: templates/js/translated/company.js:1611 -#: templates/js/translated/table_filters.js:800 +#: templates/js/translated/table_filters.js:805 msgid "Manufacturer" msgstr "" -#: company/models.py:487 +#: company/models.py:493 msgid "Select manufacturer" msgstr "" -#: company/models.py:493 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:535 -#: templates/js/translated/company.js:351 +#: company/models.py:499 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:153 order/serializers.py:518 +#: part/serializers.py:553 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:1801 +#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1804 #: templates/js/translated/purchase_order.js:1851 #: templates/js/translated/purchase_order.js:2053 msgid "MPN" msgstr "" -#: company/models.py:494 -msgid "Manufacturer Part Number" -msgstr "" - -#: company/models.py:501 +#: company/models.py:507 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:510 +#: company/models.py:516 msgid "Manufacturer part description" msgstr "" -#: company/models.py:581 +#: company/models.py:569 +msgid "Manufacturer Part Parameter" +msgstr "" + +#: company/models.py:588 msgid "Parameter name" msgstr "" -#: company/models.py:587 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2453 templates/js/translated/company.js:1166 -#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1493 +#: company/models.py:594 report/templates/report/inventree_test_report.html:104 +#: stock/models.py:2463 templates/js/translated/company.js:1166 +#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1496 #: templates/js/translated/stock.js:1522 msgid "Value" msgstr "" -#: company/models.py:588 +#: company/models.py:595 msgid "Parameter value" msgstr "" -#: company/models.py:595 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1045 part/models.py:3646 +#: company/models.py:602 company/templates/company/supplier_part.html:168 +#: part/admin.py:57 part/models.py:1049 part/models.py:3667 #: part/templates/part/part_base.html:284 -#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1512 -#: templates/js/translated/part.js:1616 templates/js/translated/part.js:2370 +#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1515 +#: templates/js/translated/part.js:1619 templates/js/translated/part.js:2373 msgid "Units" msgstr "" -#: company/models.py:596 +#: company/models.py:603 msgid "Parameter units" msgstr "" -#: company/models.py:648 company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 order/api.py:452 +#: company/models.py:655 company/templates/company/supplier_part.html:7 +#: company/templates/company/supplier_part.html:24 order/api.py:434 #: stock/models.py:778 stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 @@ -4182,91 +4243,91 @@ msgstr "" msgid "Supplier Part" msgstr "" -#: company/models.py:700 +#: company/models.py:707 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:707 +#: company/models.py:714 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:721 +#: company/models.py:728 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:770 company/templates/company/company_base.html:87 +#: company/models.py:777 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:509 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:527 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 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:511 -#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1769 +#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1772 #: templates/js/translated/pricing.js:498 #: templates/js/translated/purchase_order.js:1689 -#: templates/js/translated/table_filters.js:804 +#: templates/js/translated/table_filters.js:809 msgid "Supplier" msgstr "" -#: company/models.py:771 +#: company/models.py:778 msgid "Select supplier" msgstr "" -#: company/models.py:777 part/serializers.py:520 +#: company/models.py:784 part/serializers.py:538 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:783 +#: company/models.py:790 msgid "Is this supplier part active?" msgstr "" -#: company/models.py:793 +#: company/models.py:800 msgid "Select manufacturer part" msgstr "" -#: company/models.py:800 +#: company/models.py:807 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:809 +#: company/models.py:816 msgid "Supplier part description" msgstr "" -#: company/models.py:816 company/templates/company/supplier_part.html:187 -#: part/admin.py:412 part/models.py:4093 part/templates/part/upload_bom.html:59 +#: company/models.py:823 company/templates/company/supplier_part.html:187 +#: part/admin.py:412 part/models.py:4178 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: 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:710 +#: stock/serializers.py:768 msgid "Note" msgstr "" -#: company/models.py:825 part/models.py:2003 +#: company/models.py:832 part/models.py:2013 msgid "base cost" msgstr "" -#: company/models.py:826 part/models.py:2004 +#: company/models.py:833 part/models.py:2014 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:833 company/templates/company/supplier_part.html:160 -#: stock/admin.py:228 stock/models.py:798 stock/serializers.py:1475 +#: company/models.py:840 company/templates/company/supplier_part.html:160 +#: stock/admin.py:228 stock/models.py:798 stock/serializers.py:1541 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 msgid "Packaging" msgstr "" -#: company/models.py:834 +#: company/models.py:841 msgid "Part packaging" msgstr "" -#: company/models.py:839 templates/js/translated/company.js:1651 -#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 +#: company/models.py:846 templates/js/translated/company.js:1651 +#: templates/js/translated/part.js:1825 templates/js/translated/part.js:1881 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 #: templates/js/translated/purchase_order.js:1103 @@ -4275,35 +4336,43 @@ msgstr "" msgid "Pack Quantity" msgstr "" -#: company/models.py:841 +#: company/models.py:848 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:860 part/models.py:2010 +#: company/models.py:867 part/models.py:2020 msgid "multiple" msgstr "" -#: company/models.py:861 +#: company/models.py:868 msgid "Order multiple" msgstr "" -#: company/models.py:873 +#: company/models.py:880 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:879 +#: company/models.py:886 msgid "Availability Updated" msgstr "" -#: company/models.py:880 +#: company/models.py:887 msgid "Date of last update of availability data" msgstr "" -#: company/serializers.py:161 +#: company/models.py:1015 +msgid "Supplier Price Break" +msgstr "" + +#: company/serializers.py:174 msgid "Default currency used for this supplier" msgstr "" -#: company/serializers.py:357 part/admin.py:126 +#: company/serializers.py:210 +msgid "Company Name" +msgstr "" + +#: company/serializers.py:384 part/admin.py:126 part/serializers.py:855 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:355 @@ -4315,7 +4384,7 @@ msgstr "" #: templates/js/translated/company.js:1287 #: templates/js/translated/company.js:1575 #: templates/js/translated/model_renderers.js:312 -#: templates/js/translated/part.js:815 templates/js/translated/part.js:1219 +#: templates/js/translated/part.js:814 templates/js/translated/part.js:1222 msgid "Inactive" msgstr "" @@ -4374,16 +4443,16 @@ msgid "Delete image" msgstr "" #: company/templates/company/company_base.html:92 order/models.py:938 -#: order/models.py:2032 order/templates/order/return_order_base.html:131 +#: order/models.py:2058 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:148 stock/models.py:820 -#: stock/models.py:821 stock/serializers.py:1225 +#: stock/models.py:821 stock/serializers.py:1291 #: 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:295 #: templates/js/translated/sales_order.js:820 #: templates/js/translated/stock.js:2959 -#: templates/js/translated/table_filters.js:808 +#: templates/js/translated/table_filters.js:813 msgid "Customer" msgstr "" @@ -4391,13 +4460,6 @@ msgstr "" msgid "Uses default currency" msgstr "" -#: company/templates/company/company_base.html:124 order/models.py:353 -#: order/templates/order/order_base.html:210 -#: order/templates/order/return_order_base.html:181 -#: order/templates/order/sales_order_base.html:225 -msgid "Address" -msgstr "" - #: company/templates/company/company_base.html:131 msgid "Phone" msgstr "" @@ -4577,7 +4639,8 @@ msgid "Delete manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:65 -#: company/templates/company/supplier_part.html:97 order/api.py:458 +#: company/templates/company/supplier_part.html:97 order/api.py:440 +#: order/serializers.py:526 msgid "Internal Part" msgstr "" @@ -4587,7 +4650,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:832 +#: part/admin.py:122 part/serializers.py:860 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4608,7 +4671,7 @@ msgid "New Parameter" msgstr "" #: company/templates/company/manufacturer_part.html:196 -#: templates/js/translated/part.js:1423 +#: templates/js/translated/part.js:1426 msgid "Add Parameter" msgstr "" @@ -4632,10 +4695,6 @@ msgstr "" msgid "Contacts" msgstr "" -#: company/templates/company/sidebar.html:35 -msgid "Addresses" -msgstr "" - #: company/templates/company/supplier_part.html:50 #: templates/js/translated/company.js:1526 msgid "Supplier part actions" @@ -4665,111 +4724,283 @@ msgstr "" msgid "Duplicate Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:73 -msgid "Delete Supplier Part" +#: company/templates/company/supplier_part.html:73 +msgid "Delete Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:74 +msgid "Delete Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:133 +msgid "No supplier information available" +msgstr "" + +#: company/templates/company/supplier_part.html:139 order/serializers.py:515 +#: part/bom.py:279 part/bom.py:311 part/serializers.py:537 +#: templates/js/translated/company.js:349 templates/js/translated/part.js:1790 +#: templates/js/translated/pricing.js:510 +#: templates/js/translated/purchase_order.js:1850 +#: templates/js/translated/purchase_order.js:2028 +msgid "SKU" +msgstr "" + +#: company/templates/company/supplier_part.html:206 +msgid "Supplier Part Stock" +msgstr "" + +#: company/templates/company/supplier_part.html:209 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:207 +msgid "Create new stock item" +msgstr "" + +#: company/templates/company/supplier_part.html:210 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:208 +#: templates/js/translated/stock.js:537 +msgid "New Stock Item" +msgstr "" + +#: company/templates/company/supplier_part.html:223 +msgid "Supplier Part Orders" +msgstr "" + +#: company/templates/company/supplier_part.html:246 +msgid "Pricing Information" +msgstr "" + +#: company/templates/company/supplier_part.html:251 +#: templates/js/translated/company.js:398 +#: templates/js/translated/pricing.js:684 +msgid "Add Price Break" +msgstr "" + +#: company/templates/company/supplier_part.html:276 +msgid "Supplier Part QR Code" +msgstr "" + +#: company/templates/company/supplier_part.html:287 +msgid "Link Barcode to Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:359 +msgid "Update Part Availability" +msgstr "" + +#: company/templates/company/supplier_part_sidebar.html:5 +#: part/serializers.py:859 part/stocktake.py:224 +#: part/templates/part/category.html:183 +#: part/templates/part/category_sidebar.html:17 stock/admin.py:68 +#: stock/serializers.py:976 stock/serializers.py:1154 +#: stock/templates/stock/location.html:170 +#: 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:1064 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 +#: users/models.py:206 +msgid "Stock Items" +msgstr "" + +#: company/templates/company/supplier_part_sidebar.html:9 +msgid "Supplier Part Pricing" +msgstr "" + +#: company/views.py:32 +msgid "New Supplier" +msgstr "" + +#: company/views.py:38 +msgid "New Manufacturer" +msgstr "" + +#: company/views.py:43 templates/InvenTree/search.html:210 +#: templates/navbar.html:60 +msgid "Customers" +msgstr "" + +#: company/views.py:44 +msgid "New Customer" +msgstr "" + +#: company/views.py:52 +msgid "New Company" +msgstr "" + +#: generic/states/tests.py:18 order/status_codes.py:13 +msgid "Placed" +msgstr "Placeret" + +#: importer/mixins.py:263 +#, fuzzy +#| msgid "Invalid value for overage" +msgid "Invalid export format" +msgstr "Ugyldig værdi for overskud" + +#: importer/models.py:56 +msgid "Timestamp" +msgstr "" + +#: importer/models.py:61 +msgid "Data file to import" +msgstr "" + +#: importer/models.py:70 templates/js/translated/tables.js:558 +msgid "Columns" +msgstr "" + +#: importer/models.py:81 +msgid "Import status" +msgstr "" + +#: importer/models.py:91 +msgid "Field Defaults" +msgstr "" + +#: importer/models.py:201 +msgid "Some required fields have not been mapped" +msgstr "" + +#: importer/models.py:346 +msgid "Column is already mapped to a database field" +msgstr "" + +#: importer/models.py:351 +msgid "Field is already mapped to a data column" +msgstr "" + +#: importer/models.py:360 +msgid "Column mapping must be linked to a valid import session" +msgstr "" + +#: importer/models.py:365 +msgid "Column does not exist in the data file" +msgstr "" + +#: importer/models.py:372 +#, fuzzy +#| msgid "User does not have permission to view this model" +msgid "Field does not exist in the target model" +msgstr "Bruger har ikke tilladelse til at se denne model" + +#: importer/models.py:376 +msgid "Selected field is read-only" +msgstr "" + +#: importer/models.py:381 importer/models.py:452 +msgid "Import Session" msgstr "" -#: company/templates/company/supplier_part.html:74 -msgid "Delete Supplier Part" +#: importer/models.py:385 +msgid "Field" msgstr "" -#: company/templates/company/supplier_part.html:133 -msgid "No supplier information available" +#: importer/models.py:387 +msgid "Column" msgstr "" -#: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:519 -#: templates/js/translated/company.js:349 templates/js/translated/part.js:1787 -#: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1850 -#: templates/js/translated/purchase_order.js:2028 -msgid "SKU" +#: importer/models.py:456 +msgid "Row Index" msgstr "" -#: company/templates/company/supplier_part.html:206 -msgid "Supplier Part Stock" +#: importer/models.py:459 +msgid "Original row data" msgstr "" -#: company/templates/company/supplier_part.html:209 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:207 -msgid "Create new stock item" +#: importer/models.py:462 part/models.py:3841 +msgid "Data" msgstr "" -#: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:208 -#: templates/js/translated/stock.js:537 -msgid "New Stock Item" +#: importer/models.py:464 machine/models.py:110 +msgid "Errors" msgstr "" -#: company/templates/company/supplier_part.html:223 -msgid "Supplier Part Orders" +#: importer/models.py:466 part/api.py:874 +msgid "Valid" msgstr "" -#: company/templates/company/supplier_part.html:246 -msgid "Pricing Information" +#: importer/operations.py:28 importer/operations.py:49 +#, fuzzy +#| msgid "Unsupported file type" +msgid "Unsupported data file format" +msgstr "Filtype ikke understøttet" + +#: importer/operations.py:40 +msgid "Failed to open data file" msgstr "" -#: company/templates/company/supplier_part.html:251 -#: templates/js/translated/company.js:398 -#: templates/js/translated/pricing.js:684 -msgid "Add Price Break" +#: importer/operations.py:51 +msgid "Invalid data file dimensions" msgstr "" -#: company/templates/company/supplier_part.html:276 -msgid "Supplier Part QR Code" +#: importer/serializers.py:135 +msgid "Rows" msgstr "" -#: company/templates/company/supplier_part.html:287 -msgid "Link Barcode to Supplier Part" +#: importer/serializers.py:136 +msgid "List of row IDs to accept" msgstr "" -#: company/templates/company/supplier_part.html:359 -msgid "Update Part Availability" +#: importer/serializers.py:149 +#, fuzzy +#| msgid "No data rows provided" +msgid "No rows provided" +msgstr "Ingen data-rækker angivet" + +#: importer/serializers.py:153 +msgid "Row does not belong to this session" msgstr "" -#: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:831 part/stocktake.py:224 -#: part/templates/part/category.html:183 -#: part/templates/part/category_sidebar.html:17 stock/admin.py:68 -#: stock/serializers.py:918 stock/serializers.py:1091 -#: stock/templates/stock/location.html:170 -#: 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:1061 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 -#: users/models.py:206 -msgid "Stock Items" +#: importer/serializers.py:156 +msgid "Row contains invalid data" msgstr "" -#: company/templates/company/supplier_part_sidebar.html:9 -msgid "Supplier Part Pricing" +#: importer/serializers.py:159 +#, fuzzy +#| msgid "A build order has been completed" +msgid "Row has already been completed" +msgstr "En byggeordre er fuldført" + +#: importer/status_codes.py:11 +msgid "Initializing" msgstr "" -#: company/views.py:32 -msgid "New Supplier" +#: importer/status_codes.py:12 +msgid "Mapping Columns" msgstr "" -#: company/views.py:38 -msgid "New Manufacturer" +#: importer/status_codes.py:13 +#, fuzzy +#| msgid "Completion Date" +msgid "Importing Data" +msgstr "Dato for afslutning" + +#: importer/status_codes.py:16 +msgid "Processing Data" msgstr "" -#: company/views.py:43 templates/InvenTree/search.html:210 -#: templates/navbar.html:60 -msgid "Customers" +#: importer/validators.py:21 +#, fuzzy +#| msgid "Image download exceeded maximum size" +msgid "Data file exceeds maximum size limit" +msgstr "Billeddownload overskred maksimumstørrelsen" + +#: importer/validators.py:26 +msgid "Data file contains no headers" msgstr "" -#: company/views.py:44 -msgid "New Customer" +#: importer/validators.py:29 +msgid "Data file contains too many columns" msgstr "" -#: company/views.py:52 -msgid "New Company" +#: importer/validators.py:32 +msgid "Data file contains too many rows" msgstr "" -#: generic/states/tests.py:18 order/status_codes.py:13 -msgid "Placed" -msgstr "Placeret" +#: importer/validators.py:49 +#, fuzzy +#| msgid "Metadata must be a python dict object" +msgid "Value must be a valid dictionary object" +msgstr "Metadata skal være et python dict objekt" #: machine/machine_types/label_printer.py:212 msgid "Copies" @@ -4783,7 +5014,7 @@ msgstr "" msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:229 order/api.py:1467 +#: machine/machine_types/label_printer.py:229 order/api.py:1388 #: templates/js/translated/sales_order.js:1078 msgid "Unknown" msgstr "" @@ -4852,10 +5083,6 @@ msgstr "" msgid "Initialized" msgstr "" -#: machine/models.py:110 -msgid "Errors" -msgstr "" - #: machine/models.py:117 msgid "Machine status" msgstr "" @@ -4881,44 +5108,44 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:157 order/serializers.py:90 +#: order/api.py:149 order/serializers.py:94 #: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:113 #: order/templates/order/sales_order_base.html:122 msgid "Order Status" msgstr "" -#: order/api.py:161 templates/js/translated/table_filters.js:194 -#: templates/js/translated/table_filters.js:779 +#: order/api.py:153 templates/js/translated/table_filters.js:194 +#: templates/js/translated/table_filters.js:784 msgid "Has Pricing" msgstr "" -#: order/api.py:236 +#: order/api.py:228 msgid "No matching purchase order found" msgstr "" -#: order/api.py:435 order/api.py:801 order/models.py:1395 order/models.py:1504 -#: order/models.py:1550 order/models.py:1664 order/models.py:1818 -#: order/models.py:2231 order/models.py:2282 +#: order/api.py:417 order/api.py:755 order/models.py:1400 order/models.py:1514 +#: order/models.py:1565 order/models.py:1680 order/models.py:1839 +#: order/models.py:2258 order/models.py:2314 #: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "" -#: order/api.py:439 order/api.py:822 +#: order/api.py:421 order/api.py:776 msgid "Order Complete" msgstr "" -#: order/api.py:462 +#: order/api.py:444 msgid "Order Pending" msgstr "" -#: order/api.py:1461 order/models.py:380 order/models.py:1396 -#: order/models.py:1505 order/templates/order/order_base.html:9 +#: order/api.py:1382 order/models.py:380 order/models.py:1401 +#: order/models.py:1515 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 -#: stock/serializers.py:118 stock/templates/stock/item_base.html:176 +#: stock/serializers.py:120 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/part.js:1746 templates/js/translated/pricing.js:804 +#: templates/js/translated/part.js:1749 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:1673 @@ -4926,8 +5153,8 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1465 order/models.py:1981 order/models.py:2232 -#: order/models.py:2283 order/templates/order/return_order_base.html:9 +#: order/api.py:1386 order/models.py:2007 order/models.py:2259 +#: order/models.py:2315 order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report.html:13 #: templates/js/translated/return_order.js:280 @@ -4939,11 +5166,11 @@ msgstr "" msgid "Total price for this order" msgstr "" -#: order/models.py:96 order/serializers.py:70 +#: order/models.py:96 order/serializers.py:72 msgid "Order Currency" msgstr "" -#: order/models.py:99 order/serializers.py:71 +#: order/models.py:99 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" @@ -4959,7 +5186,7 @@ msgstr "" msgid "Select project code for this order" msgstr "" -#: order/models.py:303 order/models.py:1301 order/models.py:1717 +#: order/models.py:303 order/models.py:1301 order/models.py:1733 msgid "Link to external page" msgstr "" @@ -5008,15 +5235,15 @@ msgstr "" msgid "received by" msgstr "" -#: order/models.py:514 order/models.py:2058 +#: order/models.py:514 order/models.py:2084 msgid "Issue Date" msgstr "" -#: order/models.py:515 order/models.py:2059 +#: order/models.py:515 order/models.py:2085 msgid "Date order was issued" msgstr "" -#: order/models.py:522 order/models.py:2066 +#: order/models.py:522 order/models.py:2092 msgid "Date order was completed" msgstr "" @@ -5032,15 +5259,15 @@ msgstr "" msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:962 order/models.py:2051 +#: order/models.py:962 order/models.py:2077 msgid "Customer Reference " msgstr "" -#: order/models.py:963 order/models.py:2052 +#: order/models.py:963 order/models.py:2078 msgid "Customer order reference code" msgstr "" -#: order/models.py:967 order/models.py:1671 +#: order/models.py:967 order/models.py:1687 #: templates/js/translated/sales_order.js:879 #: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" @@ -5102,20 +5329,24 @@ msgstr "" msgid "Unit price" msgstr "" -#: order/models.py:1380 +#: order/models.py:1361 +msgid "Purchase Order Line Item" +msgstr "" + +#: order/models.py:1385 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1387 +#: order/models.py:1392 msgid "deleted" msgstr "" -#: order/models.py:1415 +#: order/models.py:1420 msgid "Supplier part" msgstr "" -#: order/models.py:1422 order/templates/order/order_base.html:196 -#: templates/js/translated/part.js:1870 templates/js/translated/part.js:1902 +#: order/models.py:1427 order/templates/order/order_base.html:196 +#: templates/js/translated/part.js:1873 templates/js/translated/part.js:1905 #: templates/js/translated/purchase_order.js:1306 #: templates/js/translated/purchase_order.js:2169 #: templates/js/translated/return_order.js:763 @@ -5124,196 +5355,232 @@ msgstr "" msgid "Received" msgstr "" -#: order/models.py:1423 +#: order/models.py:1428 msgid "Number of items received" msgstr "" -#: order/models.py:1431 stock/models.py:939 stock/serializers.py:556 +#: order/models.py:1436 stock/models.py:939 stock/serializers.py:602 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2311 msgid "Purchase Price" msgstr "" -#: order/models.py:1432 +#: order/models.py:1437 msgid "Unit purchase price" msgstr "" -#: order/models.py:1447 +#: order/models.py:1452 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1538 +#: order/models.py:1503 +msgid "Purchase Order Extra Line" +msgstr "" + +#: order/models.py:1532 +#, fuzzy +#| msgid "Sales Order Reference" +msgid "Sales Order Line Item" +msgstr "Salgsordrereference" + +#: order/models.py:1553 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1543 +#: order/models.py:1558 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1569 part/templates/part/part_pricing.html:107 +#: order/models.py:1584 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:1570 +#: order/models.py:1585 msgid "Unit sale price" msgstr "" -#: order/models.py:1579 order/status_codes.py:43 +#: order/models.py:1594 order/status_codes.py:43 #: 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" -#: order/models.py:1580 +#: order/models.py:1595 msgid "Shipped quantity" msgstr "" -#: order/models.py:1672 +#: order/models.py:1667 +#, fuzzy +#| msgid "Sales Order Reference" +msgid "Sales Order Shipment" +msgstr "Salgsordrereference" + +#: order/models.py:1688 msgid "Date of shipment" msgstr "" -#: order/models.py:1678 templates/js/translated/sales_order.js:1072 +#: order/models.py:1694 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "" -#: order/models.py:1679 +#: order/models.py:1695 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1687 +#: order/models.py:1703 msgid "Checked By" msgstr "" -#: order/models.py:1688 +#: order/models.py:1704 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1695 order/models.py:1908 order/serializers.py:1342 -#: order/serializers.py:1452 templates/js/translated/model_renderers.js:454 +#: order/models.py:1711 order/models.py:1934 order/serializers.py:1398 +#: order/serializers.py:1508 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "" -#: order/models.py:1696 +#: order/models.py:1712 msgid "Shipment number" msgstr "" -#: order/models.py:1704 +#: order/models.py:1720 msgid "Tracking Number" msgstr "" -#: order/models.py:1705 +#: order/models.py:1721 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1712 +#: order/models.py:1728 msgid "Invoice Number" msgstr "" -#: order/models.py:1713 +#: order/models.py:1729 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1733 +#: order/models.py:1749 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1736 +#: order/models.py:1752 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1854 order/models.py:1856 +#: order/models.py:1828 +#, fuzzy +#| msgid "Sales Order Reference" +msgid "Sales Order Extra Line" +msgstr "Salgsordrereference" + +#: order/models.py:1857 +#, fuzzy +#| msgid "Sales Order Reference" +msgid "Sales Order Allocation" +msgstr "Salgsordrereference" + +#: order/models.py:1880 order/models.py:1882 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1863 +#: order/models.py:1889 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1866 +#: order/models.py:1892 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1869 +#: order/models.py:1895 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1888 order/serializers.py:1219 +#: order/models.py:1914 order/serializers.py:1275 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1891 +#: order/models.py:1917 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1892 plugin/base/barcodes/api.py:481 +#: order/models.py:1918 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1900 +#: order/models.py:1926 msgid "Line" msgstr "" -#: order/models.py:1909 +#: order/models.py:1935 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1922 order/models.py:2239 +#: order/models.py:1948 order/models.py:2266 #: templates/js/translated/return_order.js:721 msgid "Item" msgstr "" -#: order/models.py:1923 +#: order/models.py:1949 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1932 +#: order/models.py:1958 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2021 +#: order/models.py:2047 msgid "Return Order reference" msgstr "" -#: order/models.py:2033 +#: order/models.py:2059 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2045 +#: order/models.py:2071 msgid "Return order status" msgstr "" -#: order/models.py:2224 +#: order/models.py:2237 +msgid "Return Order Line Item" +msgstr "" + +#: order/models.py:2251 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2240 +#: order/models.py:2267 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2246 +#: order/models.py:2273 msgid "Received Date" msgstr "" -#: order/models.py:2247 +#: order/models.py:2274 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2258 templates/js/translated/return_order.js:732 +#: order/models.py:2285 templates/js/translated/return_order.js:732 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2259 +#: order/models.py:2286 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2266 +#: order/models.py:2293 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:79 order/templates/order/po_sidebar.html:5 +#: order/models.py:2303 +msgid "Return Order Extra Line" +msgstr "" + +#: order/serializers.py:83 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_purchase_order_report.html:22 @@ -5322,163 +5589,171 @@ msgstr "" msgid "Line Items" msgstr "" -#: order/serializers.py:83 +#: order/serializers.py:87 msgid "Completed Lines" msgstr "" -#: order/serializers.py:286 +#: order/serializers.py:305 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:301 order/serializers.py:1235 +#: order/serializers.py:320 order/serializers.py:1291 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:311 order/serializers.py:1245 +#: order/serializers.py:330 order/serializers.py:1301 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:439 +#: order/serializers.py:468 msgid "Order is not open" msgstr "" -#: order/serializers.py:460 +#: order/serializers.py:489 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:462 +#: order/serializers.py:491 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:472 +#: order/serializers.py:501 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:478 +#: order/serializers.py:507 msgid "Merge Items" msgstr "" -#: order/serializers.py:480 +#: order/serializers.py:509 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:498 +#: order/serializers.py:522 part/models.py:945 +msgid "Internal Part Number" +msgstr "" + +#: order/serializers.py:530 +msgid "Internal Part Name" +msgstr "" + +#: order/serializers.py:546 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:501 +#: order/serializers.py:549 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:509 +#: order/serializers.py:557 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:510 +#: order/serializers.py:558 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:549 order/serializers.py:1313 +#: order/serializers.py:598 order/serializers.py:1369 msgid "Line Item" msgstr "" -#: order/serializers.py:555 +#: order/serializers.py:604 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:565 order/serializers.py:673 order/serializers.py:1657 +#: order/serializers.py:614 order/serializers.py:722 order/serializers.py:1715 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:581 templates/js/translated/purchase_order.js:1130 +#: order/serializers.py:630 templates/js/translated/purchase_order.js:1130 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:589 templates/js/translated/purchase_order.js:1154 +#: order/serializers.py:638 templates/js/translated/purchase_order.js:1154 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:600 templates/js/translated/barcode.js:52 +#: order/serializers.py:649 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:601 +#: order/serializers.py:650 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:617 +#: order/serializers.py:666 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:641 +#: order/serializers.py:690 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:689 order/serializers.py:1673 +#: order/serializers.py:738 order/serializers.py:1731 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:705 +#: order/serializers.py:754 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:716 +#: order/serializers.py:765 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1062 +#: order/serializers.py:1117 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1122 +#: order/serializers.py:1178 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1183 order/serializers.py:1322 +#: order/serializers.py:1239 order/serializers.py:1378 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1202 +#: order/serializers.py:1258 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1332 +#: order/serializers.py:1388 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1354 order/serializers.py:1460 +#: order/serializers.py:1410 order/serializers.py:1516 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1357 order/serializers.py:1463 +#: order/serializers.py:1413 order/serializers.py:1519 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1404 +#: order/serializers.py:1460 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1411 +#: order/serializers.py:1467 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1627 +#: order/serializers.py:1685 msgid "Return order line item" msgstr "" -#: order/serializers.py:1633 +#: order/serializers.py:1691 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1636 +#: order/serializers.py:1694 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1665 +#: order/serializers.py:1723 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1743 +#: order/serializers.py:1806 msgid "Line price currency" msgstr "" @@ -5808,7 +6083,7 @@ msgstr "" #: 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:1073 +#: templates/js/translated/part.js:1076 #: templates/js/translated/purchase_order.js:1752 #: templates/js/translated/return_order.js:380 #: templates/js/translated/sales_order.js:891 @@ -5904,34 +6179,29 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:398 part/models.py:3944 part/stocktake.py:219 +#: part/admin.py:39 part/admin.py:398 part/models.py:3991 part/stocktake.py:219 #: stock/admin.py:152 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:405 part/models.py:3945 part/stocktake.py:220 -#: stock/admin.py:156 -msgid "Part Name" -msgstr "" - #: part/admin.py:45 part/stocktake.py:221 msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:940 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:944 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 -#: templates/js/translated/part.js:1227 templates/js/translated/part.js:2341 +#: templates/js/translated/part.js:1230 templates/js/translated/part.js:2344 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:949 part/templates/part/part_base.html:277 -#: report/models.py:162 templates/js/translated/part.js:1232 -#: templates/js/translated/part.js:2347 +#: part/admin.py:50 part/models.py:953 part/templates/part/part_base.html:277 +#: report/models.py:162 templates/js/translated/part.js:1235 +#: templates/js/translated/part.js:2350 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:319 part/models.py:922 +#: part/admin.py:53 part/admin.py:319 part/models.py:926 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5944,7 +6214,8 @@ msgstr "" msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:304 part/stocktake.py:223 +#: part/admin.py:67 part/admin.py:304 part/serializers.py:837 +#: part/stocktake.py:223 msgid "Category Name" msgstr "" @@ -5956,11 +6227,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:908 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:912 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1036 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1040 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5968,18 +6239,19 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:150 part/templates/part/part_base.html:241 stock/admin.py:235 -#: templates/js/translated/part.js:715 templates/js/translated/part.js:2153 +#: part/admin.py:150 part/serializers.py:854 +#: part/templates/part/part_base.html:241 stock/admin.py:235 +#: templates/js/translated/part.js:714 templates/js/translated/part.js:2156 msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3088 part/models.py:3102 -#: templates/js/translated/part.js:970 +#: part/admin.py:155 part/models.py:3098 part/models.py:3112 +#: templates/js/translated/part.js:973 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3095 part/models.py:3109 -#: templates/js/translated/part.js:980 +#: part/admin.py:158 part/models.py:3105 part/models.py:3119 +#: templates/js/translated/part.js:983 msgid "Maximum Cost" msgstr "" @@ -5996,14 +6268,14 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:396 part/serializers.py:124 -#: part/serializers.py:267 part/serializers.py:386 +#: part/admin.py:325 part/models.py:397 part/serializers.py:130 +#: part/serializers.py:282 part/serializers.py:404 #: 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:2807 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:203 msgid "Parts" msgstr "" @@ -6020,125 +6292,117 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:402 part/models.py:3946 -msgid "Part IPN" -msgstr "" - -#: part/admin.py:415 part/serializers.py:1274 +#: part/admin.py:415 part/serializers.py:1302 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:420 part/serializers.py:1289 +#: part/admin.py:420 part/serializers.py:1317 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "" -#: part/api.py:104 +#: part/api.py:105 msgid "Starred" msgstr "" -#: part/api.py:106 +#: part/api.py:107 msgid "Filter by starred categories" msgstr "" -#: part/api.py:123 stock/api.py:312 +#: part/api.py:124 stock/api.py:312 msgid "Depth" msgstr "" -#: part/api.py:123 +#: part/api.py:124 msgid "Filter by category depth" msgstr "" -#: part/api.py:141 stock/api.py:330 +#: part/api.py:142 stock/api.py:330 msgid "Top Level" msgstr "" -#: part/api.py:143 +#: part/api.py:144 msgid "Filter by top-level categories" msgstr "" -#: part/api.py:156 stock/api.py:345 +#: part/api.py:157 stock/api.py:345 msgid "Cascade" msgstr "" -#: part/api.py:158 +#: part/api.py:159 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:179 templates/js/translated/part.js:308 +#: part/api.py:180 templates/js/translated/part.js:307 msgid "Parent" msgstr "" -#: part/api.py:181 +#: part/api.py:182 msgid "Filter by parent category" msgstr "" -#: part/api.py:214 +#: part/api.py:215 msgid "Exclude Tree" msgstr "" -#: part/api.py:216 +#: part/api.py:217 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:449 +#: part/api.py:442 msgid "Has Results" msgstr "" -#: part/api.py:616 +#: part/api.py:609 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:634 +#: part/api.py:627 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:650 +#: part/api.py:643 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:734 +#: part/api.py:727 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:881 -msgid "Valid" -msgstr "" - -#: part/api.py:882 +#: part/api.py:875 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:888 +#: part/api.py:881 msgid "This option must be selected" msgstr "" -#: part/api.py:1105 +#: part/api.py:1098 msgid "BOM Valid" msgstr "" -#: part/api.py:1508 part/models.py:932 part/models.py:3374 part/models.py:3889 -#: part/serializers.py:401 part/serializers.py:1130 -#: part/templates/part/part_base.html:260 stock/api.py:791 +#: part/api.py:1494 part/models.py:936 part/models.py:3385 part/models.py:3936 +#: part/serializers.py:419 part/serializers.py:1158 +#: part/templates/part/part_base.html:260 stock/api.py:783 #: 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:2380 msgid "Category" msgstr "" -#: part/api.py:1796 +#: part/api.py:1784 msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:104 part/models.py:975 +#: part/bom.py:170 part/models.py:104 part/models.py:979 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:833 +#: part/bom.py:171 part/serializers.py:861 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6147,7 +6411,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:85 part/models.py:3890 part/templates/part/category.html:16 +#: part/models.py:85 part/models.py:3937 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -6162,7 +6426,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:110 stock/models.py:175 templates/js/translated/part.js:2810 +#: part/models.py:110 stock/models.py:175 templates/js/translated/part.js:2813 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 @@ -6194,1002 +6458,1039 @@ msgstr "" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:485 +#: part/models.py:486 +msgid "Cannot delete this part as it is locked" +msgstr "" + +#: part/models.py:489 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:490 +#: part/models.py:494 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:528 +#: part/models.py:532 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:576 part/models.py:583 +#: part/models.py:580 part/models.py:587 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:595 +#: part/models.py:599 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:658 +#: part/models.py:662 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:736 +#: part/models.py:740 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:837 +#: part/models.py:841 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:847 +#: part/models.py:851 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:862 +#: part/models.py:866 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:891 part/models.py:3945 +#: part/models.py:895 part/models.py:3992 msgid "Part name" msgstr "" -#: part/models.py:896 +#: part/models.py:900 msgid "Is Template" msgstr "" -#: part/models.py:897 +#: part/models.py:901 msgid "Is this part a template part?" msgstr "" -#: part/models.py:907 +#: part/models.py:911 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:915 +#: part/models.py:919 msgid "Part description (optional)" msgstr "" -#: part/models.py:923 +#: part/models.py:927 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:933 +#: part/models.py:937 msgid "Part category" msgstr "" -#: part/models.py:941 -msgid "Internal Part Number" -msgstr "" - -#: part/models.py:948 +#: part/models.py:952 msgid "Part revision or version number" msgstr "" -#: part/models.py:973 +#: part/models.py:977 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1019 part/templates/part/part_base.html:376 +#: part/models.py:1023 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:1020 +#: part/models.py:1024 msgid "Default supplier part" msgstr "" -#: part/models.py:1027 +#: part/models.py:1031 msgid "Default Expiry" msgstr "" -#: part/models.py:1028 +#: part/models.py:1032 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1037 +#: part/models.py:1041 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1046 +#: part/models.py:1050 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1053 +#: part/models.py:1057 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1059 +#: part/models.py:1063 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1065 +#: part/models.py:1069 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1071 +#: part/models.py:1075 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1077 +#: part/models.py:1081 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1081 +#: part/models.py:1085 msgid "Is this part active?" msgstr "" -#: part/models.py:1087 +#: part/models.py:1090 templates/js/translated/part.js:818 +#: templates/js/translated/table_filters.js:721 +#, fuzzy +#| msgid "Tracked" +msgid "Locked" +msgstr "Sporet" + +#: part/models.py:1091 +#, fuzzy +#| msgid "Build order part cannot be changed" +msgid "Locked parts cannot be edited" +msgstr "Byggeordre enhed kan ikke ændres" + +#: part/models.py:1097 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1093 +#: part/models.py:1103 msgid "BOM checksum" msgstr "" -#: part/models.py:1094 +#: part/models.py:1104 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1102 +#: part/models.py:1112 msgid "BOM checked by" msgstr "" -#: part/models.py:1107 +#: part/models.py:1117 msgid "BOM checked date" msgstr "" -#: part/models.py:1123 +#: part/models.py:1133 msgid "Creation User" msgstr "" -#: part/models.py:1133 +#: part/models.py:1143 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1138 part/templates/part/part_base.html:339 +#: part/models.py:1148 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:2474 msgid "Last Stocktake" msgstr "" -#: part/models.py:2011 +#: part/models.py:2021 msgid "Sell multiple" msgstr "" -#: part/models.py:3002 +#: part/models.py:3012 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3018 +#: part/models.py:3028 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3019 +#: part/models.py:3029 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3025 +#: part/models.py:3035 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3026 +#: part/models.py:3036 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3032 +#: part/models.py:3042 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3033 +#: part/models.py:3043 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3039 +#: part/models.py:3049 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3040 +#: part/models.py:3050 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3046 +#: part/models.py:3056 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3047 +#: part/models.py:3057 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3053 +#: part/models.py:3063 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3054 +#: part/models.py:3064 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3060 +#: part/models.py:3070 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3061 +#: part/models.py:3071 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3067 +#: part/models.py:3077 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3068 +#: part/models.py:3078 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3074 +#: part/models.py:3084 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3075 +#: part/models.py:3085 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3081 +#: part/models.py:3091 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3082 +#: part/models.py:3092 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3089 +#: part/models.py:3099 msgid "Override minimum cost" msgstr "" -#: part/models.py:3096 +#: part/models.py:3106 msgid "Override maximum cost" msgstr "" -#: part/models.py:3103 +#: part/models.py:3113 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3110 +#: part/models.py:3120 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3116 +#: part/models.py:3126 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3117 +#: part/models.py:3127 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3123 +#: part/models.py:3133 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3124 +#: part/models.py:3134 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3130 +#: part/models.py:3140 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3131 +#: part/models.py:3141 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3137 +#: part/models.py:3147 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3138 +#: part/models.py:3148 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3157 +#: part/models.py:3167 msgid "Part for stocktake" msgstr "" -#: part/models.py:3162 +#: part/models.py:3172 msgid "Item Count" msgstr "" -#: part/models.py:3163 +#: part/models.py:3173 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3171 +#: part/models.py:3181 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3175 part/models.py:3258 +#: part/models.py:3185 part/models.py:3268 #: part/templates/part/part_scheduling.html:13 #: 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:1086 templates/js/translated/pricing.js:826 +#: templates/js/translated/part.js:1089 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 #: templates/js/translated/purchase_order.js:1731 #: templates/js/translated/stock.js:2821 msgid "Date" msgstr "" -#: part/models.py:3176 +#: part/models.py:3186 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3184 +#: part/models.py:3194 msgid "Additional notes" msgstr "" -#: part/models.py:3194 +#: part/models.py:3204 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3200 +#: part/models.py:3210 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3201 +#: part/models.py:3211 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3207 +#: part/models.py:3217 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3208 +#: part/models.py:3218 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3264 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3274 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3265 +#: part/models.py:3275 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3270 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3280 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3271 +#: part/models.py:3281 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3281 +#: part/models.py:3291 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3423 +#: part/models.py:3301 +msgid "Part Sale Price Break" +msgstr "" + +#: part/models.py:3413 +msgid "Part Test Template" +msgstr "" + +#: part/models.py:3439 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3444 part/models.py:3608 +#: part/models.py:3460 part/models.py:3629 msgid "Choices must be unique" msgstr "" -#: part/models.py:3455 +#: part/models.py:3471 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3466 +#: part/models.py:3482 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3483 templates/js/translated/part.js:2880 +#: part/models.py:3499 templates/js/translated/part.js:2883 msgid "Test Name" msgstr "" -#: part/models.py:3484 +#: part/models.py:3500 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3490 +#: part/models.py:3506 msgid "Test Key" msgstr "" -#: part/models.py:3491 +#: part/models.py:3507 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3498 +#: part/models.py:3514 msgid "Test Description" msgstr "" -#: part/models.py:3499 +#: part/models.py:3515 msgid "Enter description for this test" msgstr "" -#: part/models.py:3503 report/models.py:209 -#: templates/js/translated/part.js:2901 +#: part/models.py:3519 report/models.py:209 +#: templates/js/translated/part.js:2904 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "" -#: part/models.py:3503 +#: part/models.py:3519 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3508 templates/js/translated/part.js:2909 +#: part/models.py:3524 templates/js/translated/part.js:2912 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3509 +#: part/models.py:3525 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3514 templates/js/translated/part.js:2917 +#: part/models.py:3530 templates/js/translated/part.js:2920 msgid "Requires Value" msgstr "" -#: part/models.py:3515 +#: part/models.py:3531 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3520 templates/js/translated/part.js:2924 +#: part/models.py:3536 templates/js/translated/part.js:2927 msgid "Requires Attachment" msgstr "" -#: part/models.py:3522 +#: part/models.py:3538 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3528 part/models.py:3667 templates/js/translated/part.js:1637 +#: part/models.py:3544 part/models.py:3688 templates/js/translated/part.js:1640 msgid "Choices" msgstr "" -#: part/models.py:3529 +#: part/models.py:3545 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3583 +#: part/models.py:3577 +msgid "Part Parameter Template" +msgstr "" + +#: part/models.py:3604 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3588 +#: part/models.py:3609 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3625 +#: part/models.py:3646 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3640 +#: part/models.py:3661 msgid "Parameter Name" msgstr "" -#: part/models.py:3647 +#: part/models.py:3668 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3655 +#: part/models.py:3676 msgid "Parameter description" msgstr "" -#: part/models.py:3661 templates/js/translated/part.js:1628 -#: templates/js/translated/table_filters.js:825 +#: part/models.py:3682 templates/js/translated/part.js:1631 +#: templates/js/translated/table_filters.js:830 msgid "Checkbox" msgstr "" -#: part/models.py:3662 +#: part/models.py:3683 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3668 +#: part/models.py:3689 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3745 +#: part/models.py:3723 +msgid "Part Parameter" +msgstr "" + +#: part/models.py:3749 +msgid "Parameter cannot be modified - part is locked" +msgstr "" + +#: part/models.py:3785 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3788 +#: part/models.py:3828 msgid "Parent Part" msgstr "" -#: part/models.py:3796 part/models.py:3897 part/models.py:3898 +#: part/models.py:3836 part/models.py:3944 part/models.py:3945 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3801 -msgid "Data" +#: part/models.py:3842 +msgid "Parameter Value" msgstr "" -#: part/models.py:3802 -msgid "Parameter Value" +#: part/models.py:3892 +msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:3904 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3951 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3905 +#: part/models.py:3952 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3943 +#: part/models.py:3990 msgid "Part ID or part name" msgstr "" -#: part/models.py:3944 +#: part/models.py:3991 msgid "Unique part ID value" msgstr "" -#: part/models.py:3946 +#: part/models.py:3993 msgid "Part IPN value" msgstr "" -#: part/models.py:3947 +#: part/models.py:3994 msgid "Level" msgstr "" -#: part/models.py:3947 +#: part/models.py:3994 msgid "BOM level" msgstr "" -#: part/models.py:4037 +#: part/models.py:4105 +msgid "BOM item cannot be modified - assembly is locked" +msgstr "" + +#: part/models.py:4112 +msgid "BOM item cannot be modified - variant assembly is locked" +msgstr "" + +#: part/models.py:4122 msgid "Select parent part" msgstr "" -#: part/models.py:4047 +#: part/models.py:4132 msgid "Sub part" msgstr "" -#: part/models.py:4048 +#: part/models.py:4133 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4059 +#: part/models.py:4144 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4065 +#: part/models.py:4150 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4071 +#: part/models.py:4156 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4078 part/templates/part/upload_bom.html:55 +#: part/models.py:4163 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4079 +#: part/models.py:4164 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4086 +#: part/models.py:4171 msgid "BOM item reference" msgstr "" -#: part/models.py:4094 +#: part/models.py:4179 msgid "BOM item notes" msgstr "" -#: part/models.py:4100 +#: part/models.py:4185 msgid "Checksum" msgstr "" -#: part/models.py:4101 +#: part/models.py:4186 msgid "BOM line checksum" msgstr "" -#: part/models.py:4106 templates/js/translated/table_filters.js:174 +#: part/models.py:4191 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4107 +#: part/models.py:4192 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4112 part/templates/part/upload_bom.html:57 +#: part/models.py:4197 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:4113 +#: part/models.py:4198 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4118 part/templates/part/upload_bom.html:56 +#: part/models.py:4203 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4119 +#: part/models.py:4204 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4204 stock/models.py:663 +#: part/models.py:4289 stock/models.py:663 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4214 part/models.py:4216 +#: part/models.py:4299 part/models.py:4301 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4354 +#: part/models.py:4439 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4375 +#: part/models.py:4460 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4388 +#: part/models.py:4473 msgid "Parent BOM item" msgstr "" -#: part/models.py:4396 +#: part/models.py:4481 msgid "Substitute part" msgstr "" -#: part/models.py:4412 +#: part/models.py:4497 msgid "Part 1" msgstr "" -#: part/models.py:4420 +#: part/models.py:4505 msgid "Part 2" msgstr "" -#: part/models.py:4421 +#: part/models.py:4506 msgid "Select Related Part" msgstr "" -#: part/models.py:4440 +#: part/models.py:4525 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4445 +#: part/models.py:4530 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:118 +#: part/serializers.py:124 msgid "Parent Category" msgstr "" -#: part/serializers.py:119 templates/js/translated/part.js:309 +#: part/serializers.py:125 templates/js/translated/part.js:308 msgid "Parent part category" msgstr "" -#: part/serializers.py:126 part/serializers.py:148 +#: part/serializers.py:132 part/serializers.py:154 #: part/templates/part/category.html:122 part/templates/part/category.html:207 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" -#: part/serializers.py:180 +#: part/serializers.py:189 msgid "Results" msgstr "" -#: part/serializers.py:181 +#: part/serializers.py:190 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:205 part/serializers.py:223 stock/serializers.py:562 +#: part/serializers.py:217 part/serializers.py:235 stock/serializers.py:608 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:268 +#: part/serializers.py:283 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:392 +#: part/serializers.py:410 msgid "No parts selected" msgstr "" -#: part/serializers.py:402 +#: part/serializers.py:420 msgid "Select category" msgstr "" -#: part/serializers.py:437 +#: part/serializers.py:455 msgid "Original Part" msgstr "" -#: part/serializers.py:438 +#: part/serializers.py:456 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:461 msgid "Copy Image" msgstr "" -#: part/serializers.py:444 +#: part/serializers.py:462 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:450 part/templates/part/detail.html:277 +#: part/serializers.py:468 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:451 +#: part/serializers.py:469 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:457 +#: part/serializers.py:475 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:458 +#: part/serializers.py:476 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:464 +#: part/serializers.py:482 msgid "Copy Notes" msgstr "" -#: part/serializers.py:465 +#: part/serializers.py:483 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:483 +#: part/serializers.py:501 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:485 +#: part/serializers.py:503 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:492 +#: part/serializers.py:510 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:493 +#: part/serializers.py:511 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:510 +#: part/serializers.py:528 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:526 +#: part/serializers.py:544 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:536 +#: part/serializers.py:554 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:543 +#: part/serializers.py:561 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:552 +#: part/serializers.py:570 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:563 +#: part/serializers.py:581 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:570 +#: part/serializers.py:588 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:834 -msgid "External Stock" -msgstr "" - -#: part/serializers.py:836 +#: part/serializers.py:864 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:839 +#: part/serializers.py:867 msgid "Variant Stock" msgstr "" -#: part/serializers.py:869 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:472 +#: part/serializers.py:897 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:870 +#: part/serializers.py:898 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:876 templates/js/translated/part.js:102 +#: part/serializers.py:904 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:877 +#: part/serializers.py:905 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:883 +#: part/serializers.py:911 msgid "Supplier Information" msgstr "" -#: part/serializers.py:884 +#: part/serializers.py:912 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:892 +#: part/serializers.py:920 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:893 +#: part/serializers.py:921 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:898 +#: part/serializers.py:926 msgid "Existing Image" msgstr "" -#: part/serializers.py:899 +#: part/serializers.py:927 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:916 +#: part/serializers.py:944 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1122 +#: part/serializers.py:1150 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1132 +#: part/serializers.py:1160 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1142 +#: part/serializers.py:1170 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1148 +#: part/serializers.py:1176 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1149 +#: part/serializers.py:1177 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1154 +#: part/serializers.py:1182 msgid "Generate Report" msgstr "" -#: part/serializers.py:1155 +#: part/serializers.py:1183 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1160 +#: part/serializers.py:1188 msgid "Update Parts" msgstr "" -#: part/serializers.py:1161 +#: part/serializers.py:1189 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1169 +#: part/serializers.py:1197 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1275 +#: part/serializers.py:1303 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1282 +#: part/serializers.py:1310 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1290 +#: part/serializers.py:1318 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1297 +#: part/serializers.py:1325 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1326 +#: part/serializers.py:1354 msgid "Update" msgstr "" -#: part/serializers.py:1327 +#: part/serializers.py:1355 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1350 +#: part/serializers.py:1378 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1357 +#: part/serializers.py:1385 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1360 +#: part/serializers.py:1388 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1727 +#: part/serializers.py:1759 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1735 +#: part/serializers.py:1767 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1736 +#: part/serializers.py:1768 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1741 +#: part/serializers.py:1773 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1742 +#: part/serializers.py:1774 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1747 +#: part/serializers.py:1779 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1748 +#: part/serializers.py:1780 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1753 +#: part/serializers.py:1785 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1754 +#: part/serializers.py:1786 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1788 +#: part/serializers.py:1823 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1789 +#: part/serializers.py:1824 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1819 +#: part/serializers.py:1856 msgid "No part column specified" msgstr "" -#: part/serializers.py:1863 +#: part/serializers.py:1900 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1866 +#: part/serializers.py:1903 msgid "No matching part found" msgstr "" -#: part/serializers.py:1869 +#: part/serializers.py:1906 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1878 +#: part/serializers.py:1915 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1886 +#: part/serializers.py:1923 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1907 +#: part/serializers.py:1946 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:225 templates/js/translated/part.js:1067 -#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 +#: part/stocktake.py:225 templates/js/translated/part.js:1070 +#: templates/js/translated/part.js:1825 templates/js/translated/part.js:1881 #: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "" @@ -7507,7 +7808,7 @@ msgstr "" #: part/templates/part/part_base.html:52 #: stock/templates/stock/item_base.html:62 -#: stock/templates/stock/location.html:74 templates/js/translated/label.js:143 +#: stock/templates/stock/location.html:74 templates/js/translated/label.js:136 msgid "Print Label" msgstr "" @@ -7529,7 +7830,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:2296 msgid "Part actions" msgstr "" @@ -7569,6 +7870,10 @@ msgstr "" msgid "Part can be sold to customers" msgstr "" +#: part/templates/part/part_base.html:145 +msgid "Part is not active" +msgstr "" + #: part/templates/part/part_base.html:153 msgid "Part is virtual (not a physical part)" msgstr "" @@ -7597,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:1265 templates/js/translated/part.js:2444 +#: templates/js/translated/part.js:1268 templates/js/translated/part.js:2447 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" @@ -7690,8 +7995,8 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/part.js:1243 templates/js/translated/part.js:2146 -#: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 +#: templates/js/translated/part.js:1246 templates/js/translated/part.js:2149 +#: templates/js/translated/part.js:2395 templates/js/translated/stock.js:1059 #: templates/js/translated/stock.js:2070 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -7811,8 +8116,8 @@ msgstr "" #: part/templates/part/stock_count.html:7 #: templates/js/translated/model_renderers.js:227 -#: templates/js/translated/part.js:705 templates/js/translated/part.js:2141 -#: templates/js/translated/part.js:2143 +#: templates/js/translated/part.js:704 templates/js/translated/part.js:2144 +#: templates/js/translated/part.js:2146 msgid "No Stock" msgstr "" @@ -7956,7 +8261,7 @@ msgstr "" msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2589 +#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2590 #: templates/js/translated/sales_order.js:1953 msgid "Insufficient stock available" msgstr "" @@ -8051,7 +8356,7 @@ msgstr "" msgid "Quantity to allocate" msgstr "" -#: plugin/base/label/label.py:39 templates/js/translated/label.js:155 +#: plugin/base/label/label.py:39 templates/js/translated/label.js:148 msgid "Label printing failed" msgstr "" @@ -8748,7 +9053,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report.html:25 #: report/templates/report/inventree_test_report.html:88 stock/models.py:825 -#: stock/serializers.py:149 stock/templates/stock/item_base.html:311 +#: stock/serializers.py:151 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:230 @@ -8778,7 +9083,7 @@ msgstr "" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2447 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2457 msgid "Result" msgstr "" @@ -8799,7 +9104,7 @@ msgid "No result" msgstr "" #: report/templates/report/inventree_test_report.html:153 -#: stock/templates/stock/stock_sidebar.html:16 +#: stock/serializers.py:591 stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" @@ -8829,10 +9134,6 @@ msgstr "" msgid "Location ID" msgstr "" -#: stock/admin.py:53 stock/admin.py:175 -msgid "Location Name" -msgstr "" - #: stock/admin.py:63 stock/templates/stock/location.html:131 #: stock/templates/stock/location.html:137 msgid "Location Path" @@ -8909,7 +9210,7 @@ msgstr "" msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:369 stock/serializers.py:1085 +#: stock/api.py:369 stock/serializers.py:1148 msgid "Parent Location" msgstr "" @@ -8917,44 +9218,45 @@ msgstr "" msgid "Filter by parent location" msgstr "" -#: stock/api.py:625 templates/js/translated/table_filters.js:427 +#: stock/api.py:617 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:813 +#: stock/api.py:805 msgid "Part Tree" msgstr "" -#: stock/api.py:843 +#: stock/api.py:835 msgid "Expiry date before" msgstr "" -#: stock/api.py:847 +#: stock/api.py:839 msgid "Expiry date after" msgstr "" -#: stock/api.py:850 stock/templates/stock/item_base.html:439 +#: stock/api.py:842 stock/serializers.py:596 +#: stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "" -#: stock/api.py:937 +#: stock/api.py:929 msgid "Quantity is required" msgstr "" -#: stock/api.py:943 +#: stock/api.py:935 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:974 +#: stock/api.py:966 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:984 +#: stock/api.py:976 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1015 +#: stock/api.py:1007 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -9021,7 +9323,7 @@ msgstr "" msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:669 stock/serializers.py:446 +#: stock/models.py:669 stock/serializers.py:477 msgid "Stock item cannot be created for virtual parts" msgstr "" @@ -9066,7 +9368,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:799 stock/serializers.py:1476 +#: stock/models.py:799 stock/serializers.py:1542 msgid "Packaging this stock item is stored in" msgstr "" @@ -9078,7 +9380,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:843 stock/serializers.py:1459 +#: stock/models.py:843 stock/serializers.py:1525 msgid "Batch code for this stock item" msgstr "" @@ -9155,7 +9457,7 @@ msgstr "" msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1520 stock/serializers.py:660 +#: stock/models.py:1520 stock/serializers.py:718 msgid "Serial numbers already exist" msgstr "" @@ -9187,7 +9489,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1658 stock/serializers.py:1365 +#: stock/models.py:1658 stock/serializers.py:1431 msgid "Duplicate stock items" msgstr "" @@ -9207,288 +9509,336 @@ msgstr "" msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2345 +#: stock/models.py:2317 +#, fuzzy +#| msgid "Stock item created" +msgid "Stock Item Tracking" +msgstr "Lager-element oprettet" + +#: stock/models.py:2350 msgid "Entry notes" msgstr "" -#: stock/models.py:2413 +#: stock/models.py:2390 +#, fuzzy +#| msgid "Stock item created" +msgid "Stock Item Test Result" +msgstr "Lager-element oprettet" + +#: stock/models.py:2423 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2418 +#: stock/models.py:2428 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2423 +#: stock/models.py:2433 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2447 +#: stock/models.py:2457 msgid "Test result" msgstr "" -#: stock/models.py:2454 +#: stock/models.py:2464 msgid "Test output value" msgstr "" -#: stock/models.py:2462 +#: stock/models.py:2472 msgid "Test result attachment" msgstr "" -#: stock/models.py:2466 +#: stock/models.py:2476 msgid "Test notes" msgstr "" -#: stock/models.py:2474 templates/js/translated/stock.js:1548 +#: stock/models.py:2484 templates/js/translated/stock.js:1548 msgid "Test station" msgstr "" -#: stock/models.py:2475 +#: stock/models.py:2485 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2481 +#: stock/models.py:2491 msgid "Started" msgstr "" -#: stock/models.py:2482 +#: stock/models.py:2492 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2488 +#: stock/models.py:2498 msgid "Finished" msgstr "" -#: stock/models.py:2489 +#: stock/models.py:2499 msgid "The timestamp of the test finish" msgstr "" -#: stock/serializers.py:74 +#: stock/serializers.py:76 msgid "Generated batch code" msgstr "" -#: stock/serializers.py:83 +#: stock/serializers.py:85 msgid "Select build order" msgstr "" -#: stock/serializers.py:92 +#: stock/serializers.py:94 msgid "Select stock item to generate batch code for" msgstr "" -#: stock/serializers.py:101 +#: stock/serializers.py:103 msgid "Select location to generate batch code for" msgstr "" -#: stock/serializers.py:110 +#: stock/serializers.py:112 msgid "Select part to generate batch code for" msgstr "" -#: stock/serializers.py:119 +#: stock/serializers.py:121 msgid "Select purchase order" msgstr "" -#: stock/serializers.py:126 +#: stock/serializers.py:128 msgid "Enter quantity for batch code" msgstr "" -#: stock/serializers.py:149 +#: stock/serializers.py:151 msgid "Generated serial number" msgstr "" -#: stock/serializers.py:158 +#: stock/serializers.py:160 msgid "Select part to generate serial number for" msgstr "" -#: stock/serializers.py:166 +#: stock/serializers.py:168 msgid "Quantity of serial numbers to generate" msgstr "" -#: stock/serializers.py:228 +#: stock/serializers.py:233 msgid "Test template for this result" msgstr "" -#: stock/serializers.py:247 +#: stock/serializers.py:252 msgid "Template ID or test name must be provided" msgstr "" -#: stock/serializers.py:279 +#: stock/serializers.py:284 msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:315 +#: stock/serializers.py:320 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:438 +#: stock/serializers.py:449 stock/templates/stock/item_base.html:193 +msgid "Parent Item" +msgstr "" + +#: stock/serializers.py:450 +#, fuzzy +#| msgid "Merged stock items" +msgid "Parent stock item" +msgstr "Flettede lagervarer" + +#: stock/serializers.py:469 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:558 +#: stock/serializers.py:585 templates/js/translated/build.js:991 +#: templates/js/translated/build.js:2344 +msgid "Allocated Quantity" +msgstr "" + +#: stock/serializers.py:588 stock/templates/stock/item_base.html:437 +#: templates/js/translated/table_filters.js:435 users/models.py:174 +msgid "Expired" +msgstr "" + +#: stock/serializers.py:594 stock/templates/stock/stock_sidebar.html:20 +msgid "Child Items" +msgstr "" + +#: stock/serializers.py:598 +msgid "Tracking Items" +msgstr "" + +#: stock/serializers.py:604 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:595 +#: stock/serializers.py:623 +msgid "Minimum Pricing" +msgstr "" + +#: stock/serializers.py:629 +msgid "Maximum Pricing" +msgstr "" + +#: stock/serializers.py:653 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:608 +#: stock/serializers.py:666 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:615 +#: stock/serializers.py:673 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:626 stock/serializers.py:1322 stock/serializers.py:1578 +#: stock/serializers.py:684 stock/serializers.py:1388 stock/serializers.py:1644 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:633 +#: stock/serializers.py:691 msgid "Optional note field" msgstr "" -#: stock/serializers.py:643 +#: stock/serializers.py:701 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:698 +#: stock/serializers.py:756 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:705 +#: stock/serializers.py:763 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:706 +#: stock/serializers.py:764 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:711 stock/serializers.py:791 stock/serializers.py:887 -#: stock/serializers.py:937 +#: stock/serializers.py:769 stock/serializers.py:849 stock/serializers.py:945 +#: stock/serializers.py:995 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:719 +#: stock/serializers.py:777 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:727 +#: stock/serializers.py:785 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:738 +#: stock/serializers.py:796 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:751 +#: stock/serializers.py:809 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:786 +#: stock/serializers.py:844 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:821 +#: stock/serializers.py:879 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:834 +#: stock/serializers.py:892 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:851 +#: stock/serializers.py:909 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:882 +#: stock/serializers.py:940 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:919 +#: stock/serializers.py:977 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:925 +#: stock/serializers.py:983 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1021 stock/serializers.py:1093 +#: stock/serializers.py:1079 stock/serializers.py:1156 #: stock/templates/stock/location.html:165 #: stock/templates/stock/location.html:222 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1086 templates/js/translated/stock.js:152 +#: stock/serializers.py:1149 templates/js/translated/stock.js:152 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1194 +#: stock/serializers.py:1260 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1198 +#: stock/serializers.py:1264 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1202 +#: stock/serializers.py:1268 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1226 +#: stock/serializers.py:1292 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1232 +#: stock/serializers.py:1298 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1240 +#: stock/serializers.py:1306 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1250 stock/serializers.py:1504 +#: stock/serializers.py:1316 stock/serializers.py:1570 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1329 +#: stock/serializers.py:1395 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1334 +#: stock/serializers.py:1400 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1335 +#: stock/serializers.py:1401 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1340 +#: stock/serializers.py:1406 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1341 +#: stock/serializers.py:1407 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1351 +#: stock/serializers.py:1417 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1418 +#: stock/serializers.py:1484 msgid "No Change" msgstr "" -#: stock/serializers.py:1447 +#: stock/serializers.py:1513 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1466 +#: stock/serializers.py:1532 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1494 +#: stock/serializers.py:1560 msgid "Stock transaction notes" msgstr "" @@ -9757,10 +10107,6 @@ msgstr "" msgid "Build" msgstr "" -#: stock/templates/stock/item_base.html:193 -msgid "Parent Item" -msgstr "" - #: stock/templates/stock/item_base.html:211 msgid "No manufacturer set" msgstr "" @@ -9836,11 +10182,6 @@ msgstr "" msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:437 -#: templates/js/translated/table_filters.js:435 users/models.py:174 -msgid "Expired" -msgstr "" - #: stock/templates/stock/item_base.html:439 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" @@ -9988,10 +10329,6 @@ msgstr "" msgid "Allocations" msgstr "" -#: stock/templates/stock/stock_sidebar.html:20 -msgid "Child Items" -msgstr "" - #: templates/403.html:6 templates/403.html:12 templates/403_csrf.html:7 msgid "Permission Denied" msgstr "" @@ -10466,8 +10803,8 @@ 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:393 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:245 users/models.py:402 +#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 +#: templates/js/translated/stock.js:245 users/models.py:406 msgid "Delete" msgstr "" @@ -10507,12 +10844,12 @@ msgid "No category parameter templates found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:308 -#: templates/js/translated/part.js:1646 +#: templates/js/translated/part.js:1649 msgid "Edit Template" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:309 -#: templates/js/translated/part.js:1647 +#: templates/js/translated/part.js:1650 msgid "Delete Template" msgstr "" @@ -11145,7 +11482,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2556 +#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2557 msgid "Required Quantity" msgstr "" @@ -11159,7 +11496,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3219 +#: templates/js/translated/part.js:3222 msgid "Minimum Quantity" msgstr "" @@ -11514,7 +11851,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2500 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2501 msgid "Variant stock allowed" msgstr "" @@ -11534,30 +11871,30 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2621 +#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2622 msgid "External stock" msgstr "" -#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2595 +#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2596 #: templates/js/translated/sales_order.js:1946 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2599 +#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2600 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2601 -#: templates/js/translated/part.js:1257 +#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2602 +#: templates/js/translated/part.js:1260 #: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2603 +#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2604 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2586 +#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2587 msgid "Consumable item" msgstr "" @@ -11589,7 +11926,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2485 +#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2486 msgid "Required Part" msgstr "" @@ -11758,10 +12095,6 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:991 templates/js/translated/build.js:2344 -msgid "Allocated Quantity" -msgstr "" - #: templates/js/translated/build.js:1005 msgid "Location not specified" msgstr "" @@ -11873,9 +12206,9 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2117 templates/js/translated/build.js:2479 +#: templates/js/translated/build.js:2117 templates/js/translated/build.js:2480 #: templates/js/translated/forms.js:2163 templates/js/translated/forms.js:2179 -#: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 +#: templates/js/translated/part.js:2319 templates/js/translated/part.js:2745 #: templates/js/translated/stock.js:1983 templates/js/translated/stock.js:2710 msgid "Select" msgstr "" @@ -11906,59 +12239,59 @@ msgstr "" msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2455 +#: templates/js/translated/build.js:2456 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2456 +#: templates/js/translated/build.js:2457 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2474 +#: templates/js/translated/build.js:2475 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2504 templates/js/translated/part.js:791 -#: templates/js/translated/part.js:1203 +#: templates/js/translated/build.js:2505 templates/js/translated/part.js:790 +#: templates/js/translated/part.js:1206 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2539 +#: templates/js/translated/build.js:2540 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2591 +#: templates/js/translated/build.js:2592 #: templates/js/translated/sales_order.js:1951 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2646 +#: templates/js/translated/build.js:2647 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2653 +#: templates/js/translated/build.js:2654 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2654 +#: templates/js/translated/build.js:2655 msgid "Allocate tracked items against individual build outputs" msgstr "" -#: templates/js/translated/build.js:2662 +#: templates/js/translated/build.js:2663 #: templates/js/translated/sales_order.js:2052 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2667 templates/js/translated/stock.js:1868 +#: templates/js/translated/build.js:2668 templates/js/translated/stock.js:1868 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2671 +#: templates/js/translated/build.js:2672 #: templates/js/translated/sales_order.js:2046 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2675 +#: templates/js/translated/build.js:2676 msgid "Remove stock allocation" msgstr "" @@ -12105,7 +12438,7 @@ msgid "Delete Parameters" msgstr "" #: templates/js/translated/company.js:1191 -#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2245 +#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2248 msgid "Order parts" msgstr "" @@ -12122,34 +12455,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:1279 -#: templates/js/translated/company.js:1567 templates/js/translated/part.js:799 -#: templates/js/translated/part.js:1211 +#: templates/js/translated/company.js:1567 templates/js/translated/part.js:798 +#: templates/js/translated/part.js:1214 msgid "Template part" msgstr "" #: templates/js/translated/company.js:1283 -#: templates/js/translated/company.js:1571 templates/js/translated/part.js:803 -#: templates/js/translated/part.js:1215 +#: templates/js/translated/company.js:1571 templates/js/translated/part.js:802 +#: templates/js/translated/part.js:1218 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1465 +#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1468 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1528 +#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1531 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1529 +#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1532 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1434 +#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1437 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1550 +#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1553 msgid "Delete Parameter" msgstr "" @@ -12323,15 +12656,15 @@ msgstr "" msgid "No parts required for builds" msgstr "" -#: templates/js/translated/label.js:55 templates/js/translated/report.js:38 +#: templates/js/translated/label.js:48 templates/js/translated/report.js:38 msgid "Select Items" msgstr "" -#: templates/js/translated/label.js:56 templates/js/translated/report.js:39 +#: templates/js/translated/label.js:49 templates/js/translated/report.js:39 msgid "No items selected for printing" msgstr "" -#: templates/js/translated/label.js:150 +#: templates/js/translated/label.js:143 msgid "Labels sent to printer" msgstr "" @@ -12400,7 +12733,7 @@ msgstr "" #: templates/js/translated/news.js:38 #: templates/js/translated/notification.js:46 -#: templates/js/translated/part.js:1605 +#: templates/js/translated/part.js:1608 msgid "ID" msgstr "" @@ -12481,343 +12814,343 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:333 templates/js/translated/stock.js:175 +#: templates/js/translated/part.js:332 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:353 +#: templates/js/translated/part.js:352 msgid "Create Part Category" msgstr "" -#: templates/js/translated/part.js:356 +#: templates/js/translated/part.js:355 msgid "Create new category after this one" msgstr "" -#: templates/js/translated/part.js:357 +#: templates/js/translated/part.js:356 msgid "Part category created" msgstr "" -#: templates/js/translated/part.js:371 +#: templates/js/translated/part.js:370 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:384 +#: templates/js/translated/part.js:383 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:389 +#: templates/js/translated/part.js:388 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:398 +#: templates/js/translated/part.js:397 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:402 +#: templates/js/translated/part.js:401 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:407 +#: templates/js/translated/part.js:406 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:431 +#: templates/js/translated/part.js:430 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:433 +#: templates/js/translated/part.js:432 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:434 +#: templates/js/translated/part.js:433 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:462 +#: templates/js/translated/part.js:461 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:464 +#: templates/js/translated/part.js:463 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:475 +#: templates/js/translated/part.js:474 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:532 +#: templates/js/translated/part.js:531 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:533 +#: templates/js/translated/part.js:532 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:547 +#: templates/js/translated/part.js:546 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:549 +#: templates/js/translated/part.js:548 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:550 +#: templates/js/translated/part.js:549 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:551 +#: templates/js/translated/part.js:550 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:558 +#: templates/js/translated/part.js:557 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:594 +#: templates/js/translated/part.js:593 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:596 +#: templates/js/translated/part.js:595 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:601 +#: templates/js/translated/part.js:600 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:603 +#: templates/js/translated/part.js:602 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:620 +#: templates/js/translated/part.js:619 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:630 +#: templates/js/translated/part.js:629 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:633 +#: templates/js/translated/part.js:632 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:658 +#: templates/js/translated/part.js:657 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:686 -#: templates/js/translated/table_filters.js:747 +#: templates/js/translated/part.js:685 +#: templates/js/translated/table_filters.js:752 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:689 +#: templates/js/translated/part.js:688 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:749 +#: templates/js/translated/part.js:748 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:772 +#: templates/js/translated/part.js:771 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:795 templates/js/translated/part.js:1207 +#: templates/js/translated/part.js:794 templates/js/translated/part.js:1210 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:807 +#: templates/js/translated/part.js:806 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:811 +#: templates/js/translated/part.js:810 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:890 +#: templates/js/translated/part.js:893 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:890 +#: templates/js/translated/part.js:893 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:898 +#: templates/js/translated/part.js:901 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:902 +#: templates/js/translated/part.js:905 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:1051 +#: templates/js/translated/part.js:1054 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1109 templates/js/translated/part.js:1145 +#: templates/js/translated/part.js:1112 templates/js/translated/part.js:1148 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1113 templates/js/translated/part.js:1155 +#: templates/js/translated/part.js:1116 templates/js/translated/part.js:1158 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1282 +#: templates/js/translated/part.js:1285 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1600 +#: templates/js/translated/part.js:1603 msgid "No part parameter templates found" msgstr "" -#: templates/js/translated/part.js:1663 +#: templates/js/translated/part.js:1666 msgid "Edit Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1675 +#: templates/js/translated/part.js:1678 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/js/translated/part.js:1683 +#: templates/js/translated/part.js:1686 msgid "Delete Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1717 +#: templates/js/translated/part.js:1720 #: templates/js/translated/purchase_order.js:1654 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/part.js:1861 +#: templates/js/translated/part.js:1864 #: 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:1907 +#: templates/js/translated/part.js:1910 #: templates/js/translated/purchase_order.js:2220 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1970 +#: templates/js/translated/part.js:1973 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1992 +#: templates/js/translated/part.js:1995 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2080 templates/js/translated/part.js:2506 +#: templates/js/translated/part.js:2083 templates/js/translated/part.js:2509 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:2201 +#: templates/js/translated/part.js:2204 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2206 +#: templates/js/translated/part.js:2209 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2236 +#: templates/js/translated/part.js:2239 msgid "Set category" msgstr "" -#: templates/js/translated/part.js:2287 +#: templates/js/translated/part.js:2290 msgid "part" msgstr "" -#: templates/js/translated/part.js:2288 +#: templates/js/translated/part.js:2291 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2384 +#: templates/js/translated/part.js:2387 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 +#: templates/js/translated/part.js:2534 templates/js/translated/part.js:2664 #: templates/js/translated/stock.js:2669 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2547 +#: templates/js/translated/part.js:2550 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2645 +#: templates/js/translated/part.js:2648 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2689 +#: templates/js/translated/part.js:2684 templates/js/translated/stock.js:2689 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2761 +#: templates/js/translated/part.js:2764 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2777 +#: templates/js/translated/part.js:2780 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2865 +#: templates/js/translated/part.js:2868 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2887 templates/js/translated/search.js:342 +#: templates/js/translated/part.js:2890 templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/part.js:2937 templates/js/translated/stock.js:1456 +#: templates/js/translated/part.js:2940 templates/js/translated/stock.js:1456 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2938 templates/js/translated/stock.js:1457 +#: templates/js/translated/part.js:2941 templates/js/translated/stock.js:1457 #: templates/js/translated/stock.js:1731 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2942 +#: templates/js/translated/part.js:2945 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2958 +#: templates/js/translated/part.js:2961 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2972 +#: templates/js/translated/part.js:2975 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3051 templates/js/translated/part.js:3052 +#: templates/js/translated/part.js:3054 templates/js/translated/part.js:3055 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3054 +#: templates/js/translated/part.js:3057 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3060 +#: templates/js/translated/part.js:3063 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3110 +#: templates/js/translated/part.js:3113 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3116 +#: templates/js/translated/part.js:3119 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3212 +#: templates/js/translated/part.js:3215 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3228 +#: templates/js/translated/part.js:3231 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3273 +#: templates/js/translated/part.js:3276 msgid "Minimum Stock Level" msgstr "" @@ -13593,7 +13926,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1042 users/models.py:392 +#: templates/js/translated/stock.js:1042 users/models.py:396 msgid "Add" msgstr "" @@ -13947,7 +14280,7 @@ msgid "Include subcategories" msgstr "" #: templates/js/translated/table_filters.js:287 -#: templates/js/translated/table_filters.js:759 +#: templates/js/translated/table_filters.js:764 msgid "Subscribed" msgstr "" @@ -14102,40 +14435,44 @@ msgstr "" msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:725 +#: templates/js/translated/table_filters.js:722 +msgid "Show locked parts" +msgstr "" + +#: templates/js/translated/table_filters.js:730 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:733 -#: templates/js/translated/table_filters.js:833 +#: templates/js/translated/table_filters.js:738 +#: templates/js/translated/table_filters.js:838 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:734 +#: templates/js/translated/table_filters.js:739 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:738 +#: templates/js/translated/table_filters.js:743 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:739 +#: templates/js/translated/table_filters.js:744 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:743 +#: templates/js/translated/table_filters.js:748 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:751 +#: templates/js/translated/table_filters.js:756 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:763 +#: templates/js/translated/table_filters.js:768 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:829 +#: templates/js/translated/table_filters.js:834 msgid "Has Choices" msgstr "" @@ -14207,10 +14544,6 @@ msgstr "" msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:558 -msgid "Columns" -msgstr "" - #: templates/js/translated/tables.js:561 msgid "All" msgstr "" @@ -14484,35 +14817,34 @@ msgstr "" msgid "Revoked" msgstr "" -#: users/models.py:375 +#: users/models.py:379 msgid "Permission set" msgstr "" -#: users/models.py:384 +#: users/models.py:388 msgid "Group" msgstr "" -#: users/models.py:388 +#: users/models.py:392 msgid "View" msgstr "" -#: users/models.py:388 +#: users/models.py:392 msgid "Permission to view items" msgstr "" -#: users/models.py:392 +#: users/models.py:396 msgid "Permission to add items" msgstr "" -#: users/models.py:396 +#: users/models.py:400 msgid "Change" msgstr "" -#: users/models.py:398 +#: users/models.py:402 msgid "Permissions to edit items" msgstr "" -#: users/models.py:404 +#: users/models.py:408 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 6286dc698c09..890a24eb784f 100644 --- a/src/backend/InvenTree/locale/de/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/de/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-07-05 02:47+0000\n" +"POT-Creation-Date: 2024-07-08 14:46+0000\n" "PO-Revision-Date: 2024-07-05 14:57\n" "Last-Translator: \n" "Language-Team: German\n" @@ -21,7 +21,7 @@ msgstr "" msgid "API endpoint not found" msgstr "API-Endpunkt nicht gefunden" -#: InvenTree/api.py:520 +#: InvenTree/api.py:505 msgid "User does not have permission to view this model" msgstr "Benutzer hat keine Berechtigung, dieses Modell anzuzeigen" @@ -56,21 +56,21 @@ msgstr "Fehlerdetails finden Sie im Admin-Panel" msgid "Enter date" msgstr "Datum eingeben" -#: InvenTree/fields.py:205 InvenTree/models.py:918 build/serializers.py:452 -#: build/serializers.py:530 build/templates/build/sidebar.html:21 -#: company/models.py:817 company/templates/company/sidebar.html:37 +#: InvenTree/fields.py:205 InvenTree/models.py:921 build/serializers.py:456 +#: build/serializers.py:534 build/templates/build/sidebar.html:21 +#: company/models.py:824 company/templates/company/sidebar.html:37 #: order/models.py:1296 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:3183 part/templates/part/part_sidebar.html:63 +#: part/models.py:3193 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:230 stock/models.py:2344 stock/models.py:2466 -#: stock/serializers.py:632 stock/serializers.py:790 stock/serializers.py:886 -#: stock/serializers.py:936 stock/serializers.py:1239 stock/serializers.py:1328 -#: stock/serializers.py:1493 stock/templates/stock/stock_sidebar.html:25 +#: stock/admin.py:230 stock/models.py:2349 stock/models.py:2476 +#: stock/serializers.py:690 stock/serializers.py:848 stock/serializers.py:944 +#: stock/serializers.py:994 stock/serializers.py:1305 stock/serializers.py:1394 +#: stock/serializers.py:1559 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:1081 +#: templates/js/translated/part.js:1084 #: templates/js/translated/purchase_order.js:2200 #: templates/js/translated/return_order.js:775 #: templates/js/translated/sales_order.js:1103 @@ -371,41 +371,41 @@ msgstr "Plugin Metadaten" msgid "JSON metadata field, for use by external plugins" msgstr "JSON-Metadatenfeld, für die Verwendung durch externe Plugins" -#: InvenTree/models.py:408 +#: InvenTree/models.py:411 msgid "Improperly formatted pattern" msgstr "Falsch formatiertes Muster" -#: InvenTree/models.py:415 +#: InvenTree/models.py:418 msgid "Unknown format key specified" msgstr "Unbekannter Formatschlüssel angegeben" -#: InvenTree/models.py:421 +#: InvenTree/models.py:424 msgid "Missing required format key" msgstr "Erforderlicher Formatschlüssel fehlt" -#: InvenTree/models.py:432 +#: InvenTree/models.py:435 msgid "Reference field cannot be empty" msgstr "Referenz-Feld darf nicht leer sein" -#: InvenTree/models.py:440 +#: InvenTree/models.py:443 msgid "Reference must match required pattern" msgstr "Referenz muss erforderlichem Muster entsprechen" -#: InvenTree/models.py:471 +#: InvenTree/models.py:474 msgid "Reference number is too large" msgstr "Referenznummer ist zu groß" -#: InvenTree/models.py:719 +#: InvenTree/models.py:722 msgid "Duplicate names cannot exist under the same parent" msgstr "Doppelte Namen können nicht unter dem selben Elternteil existieren" -#: InvenTree/models.py:736 +#: InvenTree/models.py:739 msgid "Invalid choice" msgstr "Ungültige Auswahl" -#: InvenTree/models.py:766 common/models.py:2678 common/models.py:3103 -#: common/serializers.py:408 company/models.py:580 machine/models.py:24 -#: part/models.py:891 part/models.py:3639 plugin/models.py:51 +#: InvenTree/models.py:769 common/models.py:2659 common/models.py:3089 +#: common/serializers.py:412 company/models.py:587 machine/models.py:24 +#: part/models.py:895 part/models.py:3660 plugin/models.py:51 #: report/models.py:150 stock/models.py:74 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -417,20 +417,20 @@ msgstr "Ungültige Auswahl" #: templates/js/translated/company.js:724 #: templates/js/translated/company.js:913 #: templates/js/translated/company.js:1165 -#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1187 -#: templates/js/translated/part.js:1475 templates/js/translated/part.js:1611 -#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2716 +#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1190 +#: templates/js/translated/part.js:1478 templates/js/translated/part.js:1614 +#: templates/js/translated/part.js:2752 templates/js/translated/stock.js:2716 msgid "Name" msgstr "Name" -#: InvenTree/models.py:772 build/models.py:235 -#: build/templates/build/detail.html:24 common/models.py:138 -#: company/models.py:509 company/models.py:808 +#: InvenTree/models.py:775 build/models.py:242 +#: build/templates/build/detail.html:24 common/models.py:143 +#: company/models.py:515 company/models.py:815 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 -#: order/models.py:1329 part/admin.py:305 part/admin.py:408 part/models.py:914 -#: part/models.py:3654 part/templates/part/category.html:82 +#: order/models.py:1329 part/admin.py:305 part/admin.py:408 part/models.py:918 +#: part/models.py:3675 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:156 #: report/models.py:510 report/models.py:536 @@ -444,10 +444,10 @@ msgstr "Name" #: templates/js/translated/build.js:2139 templates/js/translated/company.js:519 #: templates/js/translated/company.js:1330 #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 -#: templates/js/translated/order.js:298 templates/js/translated/part.js:1239 -#: templates/js/translated/part.js:1484 templates/js/translated/part.js:1622 -#: templates/js/translated/part.js:1959 templates/js/translated/part.js:2355 -#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2897 +#: templates/js/translated/order.js:298 templates/js/translated/part.js:1242 +#: templates/js/translated/part.js:1487 templates/js/translated/part.js:1625 +#: templates/js/translated/part.js:1962 templates/js/translated/part.js:2358 +#: templates/js/translated/part.js:2788 templates/js/translated/part.js:2900 #: templates/js/translated/plugin.js:80 #: templates/js/translated/purchase_order.js:1706 #: templates/js/translated/purchase_order.js:1849 @@ -460,53 +460,53 @@ msgstr "Name" msgid "Description" msgstr "Beschreibung" -#: InvenTree/models.py:773 stock/models.py:81 +#: InvenTree/models.py:776 stock/models.py:81 msgid "Description (optional)" msgstr "Beschreibung (optional)" -#: InvenTree/models.py:788 templates/js/translated/part.js:2794 +#: InvenTree/models.py:791 templates/js/translated/part.js:2797 #: templates/js/translated/stock.js:2757 msgid "Path" msgstr "Pfad" -#: InvenTree/models.py:918 +#: InvenTree/models.py:921 msgid "Markdown notes (optional)" msgstr "Markdown Notizen (optional)" -#: InvenTree/models.py:947 +#: InvenTree/models.py:950 msgid "Barcode Data" msgstr "Barcode-Daten" -#: InvenTree/models.py:948 +#: InvenTree/models.py:951 msgid "Third party barcode data" msgstr "Drittanbieter-Barcode-Daten" -#: InvenTree/models.py:954 +#: InvenTree/models.py:957 msgid "Barcode Hash" msgstr "Barcode-Hash" -#: InvenTree/models.py:955 +#: InvenTree/models.py:958 msgid "Unique hash of barcode data" msgstr "Eindeutiger Hash der Barcode-Daten" -#: InvenTree/models.py:1008 +#: InvenTree/models.py:1011 msgid "Existing barcode found" msgstr "Bestehender Barcode gefunden" -#: InvenTree/models.py:1051 +#: InvenTree/models.py:1054 msgid "Server Error" msgstr "Serverfehler" -#: InvenTree/models.py:1052 +#: InvenTree/models.py:1055 msgid "An error has been logged by the server." msgstr "Ein Fehler wurde vom Server protokolliert." -#: InvenTree/serializers.py:63 part/models.py:4192 +#: InvenTree/serializers.py:63 part/models.py:4277 msgid "Must be a valid number" msgstr "Muss eine gültige Nummer sein" #: InvenTree/serializers.py:100 company/models.py:186 -#: company/templates/company/company_base.html:112 part/models.py:3001 +#: company/templates/company/company_base.html:112 part/models.py:3011 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -556,16 +556,16 @@ msgstr "Administrator" msgid "Is this user a superuser" msgstr "Ist dieser Benutzer ein Adminstrator" -#: InvenTree/serializers.py:445 common/models.py:2683 company/models.py:163 -#: company/models.py:782 machine/models.py:39 part/admin.py:88 -#: part/models.py:1081 plugin/models.py:66 +#: InvenTree/serializers.py:445 common/models.py:2664 company/models.py:163 +#: company/models.py:789 machine/models.py:39 part/admin.py:88 +#: part/models.py:1085 plugin/models.py:66 #: 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 #: templates/js/translated/table_filters.js:520 #: templates/js/translated/table_filters.js:716 -#: templates/js/translated/table_filters.js:796 users/models.py:182 +#: templates/js/translated/table_filters.js:801 users/models.py:182 msgid "Active" msgstr "Aktiv" @@ -597,7 +597,7 @@ msgstr "Willkommen bei InvenTree" msgid "Invalid value" msgstr "Ungültiger Wert" -#: InvenTree/serializers.py:581 +#: InvenTree/serializers.py:581 importer/models.py:60 msgid "Data File" msgstr "Datendatei" @@ -651,7 +651,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:1174 +#: InvenTree/status.py:66 part/serializers.py:1202 msgid "Background worker check failed" msgstr "Hintergrund-Prozess-Kontrolle fehlgeschlagen" @@ -711,47 +711,48 @@ msgstr "Systeminformationen" msgid "About InvenTree" msgstr "Über InvenTree" -#: build/api.py:255 +#: build/api.py:248 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:4070 templates/js/translated/bom.js:997 -#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 +#: build/api.py:292 build/serializers.py:1190 part/models.py:4155 +#: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 +#: templates/js/translated/build.js:2521 #: 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:4064 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 +#: build/api.py:293 build/serializers.py:1191 part/models.py:4149 +#: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 +#: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2530 #: templates/js/translated/table_filters.js:186 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:587 msgid "Optional" msgstr "Optional" -#: build/api.py:301 templates/js/translated/table_filters.js:408 +#: build/api.py:294 templates/js/translated/table_filters.js:408 #: templates/js/translated/table_filters.js:579 msgid "Tracked" msgstr "Nachverfolgt" -#: build/api.py:303 part/admin.py:144 templates/js/translated/build.js:1744 -#: templates/js/translated/build.js:2629 +#: build/api.py:296 part/admin.py:144 templates/js/translated/build.js:1744 +#: templates/js/translated/build.js:2630 #: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:571 msgid "Allocated" msgstr "Zugeordnet" -#: build/api.py:311 company/models.py:872 company/serializers.py:359 +#: build/api.py:304 company/models.py:879 company/serializers.py:386 #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2561 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2562 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:234 -#: templates/js/translated/part.js:693 templates/js/translated/part.js:695 -#: templates/js/translated/part.js:700 +#: 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 #: templates/js/translated/table_filters.js:575 msgid "Available" @@ -760,7 +761,7 @@ msgstr "Verfügbar" #: build/models.py:85 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 -#: stock/serializers.py:82 templates/email/build_order_completed.html:16 +#: stock/serializers.py:84 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:2892 msgid "Build Order" @@ -781,35 +782,43 @@ msgstr "Bauaufträge" msgid "Assembly BOM has not been validated" msgstr "" -#: build/models.py:134 part/templates/part/part_base.html:145 -msgid "Part is not active" -msgstr "Teil ist nicht aktiv" +#: build/models.py:134 +#, fuzzy +#| msgid "Stock item cannot be created for virtual parts" +msgid "Build order cannot be created for an inactive part" +msgstr "Für virtuelle Teile können keine Lagerartikel erstellt werden" -#: build/models.py:148 +#: build/models.py:141 +#, fuzzy +#| msgid "Build output cannot be specified for allocation of untracked parts" +msgid "Build order cannot be created for an unlocked part" +msgstr "Endprodukt kann bei Zuweisung nicht-verfolgter Teile nicht angegeben werden" + +#: build/models.py:155 msgid "Invalid choice for parent build" msgstr "Ungültige Wahl für übergeordneten Bauauftrag" -#: build/models.py:159 order/models.py:240 +#: build/models.py:166 order/models.py:240 msgid "Responsible user or group must be specified" msgstr "Verantwortlicher Benutzer oder Gruppe muss angegeben werden" -#: build/models.py:165 +#: build/models.py:172 msgid "Build order part cannot be changed" msgstr "Teil in Bauauftrag kann nicht geändert werden" -#: build/models.py:226 +#: build/models.py:233 msgid "Build Order Reference" msgstr "Bauauftragsreferenz" -#: build/models.py:227 order/models.py:463 order/models.py:926 -#: order/models.py:1289 order/models.py:2020 part/admin.py:411 -#: part/models.py:4085 part/templates/part/upload_bom.html:54 +#: build/models.py:234 build/serializers.py:1189 order/models.py:463 +#: order/models.py:926 order/models.py:1289 order/models.py:2046 +#: part/admin.py:411 part/models.py:4170 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: 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/build.js:2513 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2065 #: templates/js/translated/return_order.js:728 @@ -817,27 +826,28 @@ msgstr "Bauauftragsreferenz" msgid "Reference" msgstr "Referenz" -#: build/models.py:238 +#: build/models.py:245 msgid "Brief description of the build (optional)" msgstr "Kurze Beschreibung des Baus (optional)" -#: build/models.py:246 build/templates/build/build_base.html:183 +#: build/models.py:253 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Eltern-Bauauftrag" -#: build/models.py:247 +#: build/models.py:254 msgid "BuildOrder to which this build is allocated" msgstr "Bauauftrag, zu dem dieser Bauauftrag zugwiesen ist" -#: build/models.py:252 build/templates/build/build_base.html:97 -#: build/templates/build/detail.html:29 company/models.py:1026 order/api.py:805 -#: order/models.py:1414 order/models.py:1559 order/models.py:1560 -#: part/api.py:1494 part/api.py:1788 part/models.py:395 part/models.py:3012 -#: part/models.py:3156 part/models.py:3303 part/models.py:3324 -#: part/models.py:3346 part/models.py:3477 part/models.py:3787 -#: part/models.py:3943 part/models.py:4036 part/models.py:4395 -#: part/serializers.py:1120 part/serializers.py:1726 +#: build/models.py:259 build/serializers.py:1184 +#: build/templates/build/build_base.html:97 +#: build/templates/build/detail.html:29 company/models.py:1034 order/api.py:759 +#: order/models.py:1419 order/models.py:1574 order/models.py:1575 +#: part/api.py:1480 part/api.py:1776 part/models.py:396 part/models.py:3022 +#: part/models.py:3166 part/models.py:3314 part/models.py:3335 +#: part/models.py:3357 part/models.py:3493 part/models.py:3827 +#: part/models.py:3990 part/models.py:4121 part/models.py:4480 +#: part/serializers.py:1148 part/serializers.py:1758 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -848,8 +858,8 @@ msgstr "Bauauftrag, zu dem dieser Bauauftrag zugwiesen ist" #: 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:109 stock/serializers.py:157 stock/serializers.py:423 -#: stock/serializers.py:820 templates/InvenTree/search.html:82 +#: stock/serializers.py:111 stock/serializers.py:159 stock/serializers.py:443 +#: stock/serializers.py:878 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 @@ -862,8 +872,8 @@ msgstr "Bauauftrag, zu dem dieser Bauauftrag zugwiesen ist" #: templates/js/translated/company.js:1116 #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 -#: templates/js/translated/part.js:1944 templates/js/translated/part.js:2016 -#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:1947 templates/js/translated/part.js:2019 +#: templates/js/translated/part.js:2327 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:1848 @@ -881,107 +891,107 @@ msgstr "Bauauftrag, zu dem dieser Bauauftrag zugwiesen ist" msgid "Part" msgstr "Teil" -#: build/models.py:260 +#: build/models.py:267 msgid "Select part to build" msgstr "Teil für den Bauauftrag wählen" -#: build/models.py:265 +#: build/models.py:272 msgid "Sales Order Reference" msgstr "Auftrag Referenz" -#: build/models.py:269 +#: build/models.py:276 msgid "SalesOrder to which this build is allocated" msgstr "Bestellung, die diesem Bauauftrag zugewiesen ist" -#: build/models.py:274 build/serializers.py:999 +#: build/models.py:281 build/serializers.py:1003 #: templates/js/translated/build.js:1731 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "Quell-Lagerort" -#: build/models.py:278 +#: build/models.py:285 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:283 +#: build/models.py:290 msgid "Destination Location" msgstr "Ziel-Lagerort" -#: build/models.py:287 +#: build/models.py:294 msgid "Select location where the completed items will be stored" msgstr "Lagerort an dem fertige Objekte gelagert werden auswählen" -#: build/models.py:291 +#: build/models.py:298 msgid "Build Quantity" msgstr "Bau-Anzahl" -#: build/models.py:294 +#: build/models.py:301 msgid "Number of stock items to build" msgstr "Anzahl der zu bauenden Lagerartikel" -#: build/models.py:298 +#: build/models.py:305 msgid "Completed items" msgstr "Fertiggestellte Teile" -#: build/models.py:300 +#: build/models.py:307 msgid "Number of stock items which have been completed" msgstr "Anzahl der fertigen Lagerartikel" -#: build/models.py:304 +#: build/models.py:311 msgid "Build Status" msgstr "Bauauftrags-Status" -#: build/models.py:308 +#: build/models.py:315 msgid "Build status code" msgstr "Bau-Statuscode" -#: build/models.py:317 build/serializers.py:286 order/serializers.py:580 -#: stock/models.py:839 stock/serializers.py:74 stock/serializers.py:1458 +#: build/models.py:324 build/serializers.py:290 order/serializers.py:629 +#: stock/models.py:839 stock/serializers.py:76 stock/serializers.py:1524 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "Losnummer" -#: build/models.py:321 build/serializers.py:287 +#: build/models.py:328 build/serializers.py:291 msgid "Batch code for this build output" msgstr "Losnummer für dieses Endprodukt" -#: build/models.py:324 order/models.py:316 order/serializers.py:119 -#: part/models.py:1115 part/templates/part/part_base.html:310 +#: build/models.py:331 order/models.py:316 order/serializers.py:127 +#: part/models.py:1125 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:328 +#: build/models.py:335 msgid "Target completion date" msgstr "geplantes Fertigstellungsdatum" -#: build/models.py:329 +#: build/models.py:336 msgid "Target date for build completion. Build will be overdue after this date." msgstr "Zieldatum für Bauauftrag-Fertigstellung." -#: build/models.py:332 order/models.py:521 order/models.py:2065 +#: build/models.py:339 order/models.py:521 order/models.py:2091 #: templates/js/translated/build.js:2247 msgid "Completion Date" msgstr "Fertigstellungsdatum" -#: build/models.py:338 +#: build/models.py:345 msgid "completed by" msgstr "Fertiggestellt von" -#: build/models.py:346 templates/js/translated/build.js:2207 +#: build/models.py:353 templates/js/translated/build.js:2207 msgid "Issued by" msgstr "Aufgegeben von" -#: build/models.py:347 +#: build/models.py:354 msgid "User who issued this build order" msgstr "Nutzer der diesen Bauauftrag erstellt hat" -#: build/models.py:355 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 common/models.py:147 +#: build/models.py:362 build/templates/build/build_base.html:204 +#: build/templates/build/detail.html:122 common/models.py:152 #: order/models.py:334 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:232 part/models.py:1132 +#: order/templates/order/sales_order_base.html:232 part/models.py:1142 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 @@ -992,11 +1002,11 @@ msgstr "Nutzer der diesen Bauauftrag erstellt hat" msgid "Responsible" msgstr "Verantwortlicher Benutzer" -#: build/models.py:356 +#: build/models.py:363 msgid "User or group responsible for this build order" msgstr "Benutzer oder Gruppe verantwortlich für diesen Bauauftrag" -#: build/models.py:361 build/templates/build/detail.html:108 +#: build/models.py:368 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 @@ -1008,21 +1018,22 @@ msgstr "Benutzer oder Gruppe verantwortlich für diesen Bauauftrag" msgid "External Link" msgstr "Externer Link" -#: build/models.py:362 common/models.py:3244 part/models.py:956 +#: build/models.py:369 common/models.py:3230 part/models.py:960 #: stock/models.py:835 msgid "Link to external URL" msgstr "Link zu einer externen URL" -#: build/models.py:366 +#: build/models.py:373 msgid "Build Priority" msgstr "Bauauftrags-Priorität" -#: build/models.py:369 +#: build/models.py:376 msgid "Priority of this build order" msgstr "Priorität dieses Bauauftrags" -#: build/models.py:376 common/models.py:131 order/admin.py:18 -#: order/models.py:298 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:383 common/models.py:122 common/models.py:136 +#: order/admin.py:18 order/models.py:298 order/serializers.py:108 +#: templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 #: templates/js/translated/purchase_order.js:1710 #: templates/js/translated/return_order.js:317 @@ -1032,65 +1043,66 @@ msgstr "Priorität dieses Bauauftrags" msgid "Project Code" msgstr "Projektcode" -#: build/models.py:377 +#: build/models.py:384 msgid "Project code for this build order" msgstr "Projektcode für diesen Auftrag" -#: build/models.py:610 build/models.py:675 +#: build/models.py:617 build/models.py:682 msgid "Failed to offload task to complete build allocations" msgstr "Fehler beim Abladen der Aufgabe, um die Build-Allokation abzuschließen" -#: build/models.py:632 +#: build/models.py:639 #, python-brace-format msgid "Build order {build} has been completed" msgstr "Bauauftrag {build} wurde fertiggestellt" -#: build/models.py:638 +#: build/models.py:645 msgid "A build order has been completed" msgstr "Ein Bauauftrag wurde fertiggestellt" -#: build/models.py:864 build/models.py:949 +#: build/models.py:871 build/models.py:956 msgid "No build output specified" msgstr "kein Endprodukt angegeben" -#: build/models.py:867 +#: build/models.py:874 msgid "Build output is already completed" msgstr "Endprodukt bereits hergstellt" -#: build/models.py:870 +#: build/models.py:877 msgid "Build output does not match Build Order" msgstr "Endprodukt stimmt nicht mit dem Bauauftrag überein" -#: build/models.py:953 build/serializers.py:219 build/serializers.py:268 -#: build/serializers.py:866 order/models.py:559 order/serializers.py:432 -#: order/serializers.py:575 part/serializers.py:1484 part/serializers.py:1884 -#: stock/models.py:678 stock/models.py:1496 stock/serializers.py:603 +#: build/models.py:960 build/serializers.py:223 build/serializers.py:272 +#: build/serializers.py:870 order/models.py:559 order/serializers.py:461 +#: order/serializers.py:624 part/serializers.py:1515 part/serializers.py:1921 +#: stock/models.py:678 stock/models.py:1496 stock/serializers.py:661 msgid "Quantity must be greater than zero" msgstr "Anzahl muss größer Null sein" -#: build/models.py:958 build/serializers.py:224 +#: build/models.py:965 build/serializers.py:228 msgid "Quantity cannot be greater than the output quantity" msgstr "Menge kann nicht größer als die Ausgangsmenge sein" -#: build/models.py:1018 build/serializers.py:547 +#: build/models.py:1025 build/serializers.py:551 #, 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:1359 +#: build/models.py:1366 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1384 +#: build/models.py:1391 msgid "Build object" msgstr "Objekt bauen" -#: build/models.py:1398 build/models.py:1654 build/serializers.py:206 -#: build/serializers.py:253 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2563 -#: order/models.py:1272 order/models.py:1931 order/serializers.py:1327 +#: build/models.py:1405 build/models.py:1661 build/serializers.py:210 +#: build/serializers.py:257 build/serializers.py:1194 +#: build/templates/build/build_base.html:102 +#: build/templates/build/detail.html:34 common/models.py:2544 +#: order/models.py:1272 order/models.py:1957 order/serializers.py:1383 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:410 -#: part/forms.py:48 part/models.py:3170 part/models.py:4058 +#: part/forms.py:48 part/models.py:3180 part/models.py:4143 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1100,7 +1112,7 @@ msgstr "Objekt bauen" #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:169 stock/admin.py:159 -#: stock/serializers.py:125 stock/serializers.py:165 stock/serializers.py:594 +#: stock/serializers.py:127 stock/serializers.py:167 stock/serializers.py:652 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 @@ -1111,8 +1123,8 @@ msgstr "Objekt bauen" #: templates/js/translated/build.js:1746 templates/js/translated/build.js:2357 #: templates/js/translated/company.js:1818 #: templates/js/translated/model_renderers.js:236 -#: templates/js/translated/order.js:304 templates/js/translated/part.js:962 -#: templates/js/translated/part.js:1812 templates/js/translated/part.js:3342 +#: templates/js/translated/order.js:304 templates/js/translated/part.js:965 +#: templates/js/translated/part.js:1815 templates/js/translated/part.js:3345 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 @@ -1132,38 +1144,38 @@ msgstr "Objekt bauen" msgid "Quantity" msgstr "Anzahl" -#: build/models.py:1399 +#: build/models.py:1406 msgid "Required quantity for build order" msgstr "Erforderliche Menge für Auftrag" -#: build/models.py:1479 +#: build/models.py:1486 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:1488 +#: build/models.py:1495 #, 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:1498 order/models.py:1882 +#: build/models.py:1505 order/models.py:1908 msgid "Stock item is over-allocated" msgstr "BestandObjekt ist zu oft zugewiesen" -#: build/models.py:1504 order/models.py:1885 +#: build/models.py:1511 order/models.py:1911 msgid "Allocation quantity must be greater than zero" msgstr "Reserviermenge muss größer null sein" -#: build/models.py:1510 +#: build/models.py:1517 msgid "Quantity must be 1 for serialized stock" msgstr "Anzahl muss 1 für Objekte mit Seriennummer sein" -#: build/models.py:1569 +#: build/models.py:1576 msgid "Selected stock item does not match BOM line" msgstr "Ausgewählter Lagerbestand stimmt nicht mit BOM-Linie überein" -#: build/models.py:1641 build/serializers.py:846 order/serializers.py:1171 -#: order/serializers.py:1192 stock/models.py:359 stock/serializers.py:91 -#: stock/serializers.py:697 stock/serializers.py:1177 stock/serializers.py:1289 +#: build/models.py:1648 build/serializers.py:850 order/serializers.py:1227 +#: order/serializers.py:1248 stock/models.py:359 stock/serializers.py:93 +#: stock/serializers.py:755 stock/serializers.py:1243 stock/serializers.py:1355 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 @@ -1179,70 +1191,76 @@ msgstr "Ausgewählter Lagerbestand stimmt nicht mit BOM-Linie überein" msgid "Stock Item" msgstr "Lagerartikel" -#: build/models.py:1642 +#: build/models.py:1649 msgid "Source stock item" msgstr "Quell-Lagerartikel" -#: build/models.py:1655 +#: build/models.py:1662 msgid "Stock quantity to allocate to build" msgstr "Anzahl an Lagerartikel dem Bauauftrag zuweisen" -#: build/models.py:1663 +#: build/models.py:1670 msgid "Install into" msgstr "Installiere in" -#: build/models.py:1664 +#: build/models.py:1671 msgid "Destination stock item" msgstr "Ziel-Lagerartikel" -#: build/serializers.py:156 build/serializers.py:875 +#: build/serializers.py:89 build/serializers.py:1185 part/admin.py:41 +#: part/admin.py:405 part/models.py:3992 part/stocktake.py:220 +#: stock/admin.py:156 +msgid "Part Name" +msgstr "Name des Teils" + +#: build/serializers.py:160 build/serializers.py:879 #: templates/js/translated/build.js:1322 msgid "Build Output" msgstr "Endprodukt" -#: build/serializers.py:168 +#: build/serializers.py:172 msgid "Build output does not match the parent build" msgstr "Endprodukt stimmt nicht mit übergeordnetem Bauauftrag überein" -#: build/serializers.py:172 +#: build/serializers.py:176 msgid "Output part does not match BuildOrder part" msgstr "Endprodukt entspricht nicht dem Teil des Bauauftrags" -#: build/serializers.py:176 +#: build/serializers.py:180 msgid "This build output has already been completed" msgstr "Dieses Endprodukt wurde bereits fertiggestellt" -#: build/serializers.py:187 +#: build/serializers.py:191 msgid "This build output is not fully allocated" msgstr "Dieses Endprodukt ist nicht vollständig zugewiesen" -#: build/serializers.py:207 build/serializers.py:254 +#: build/serializers.py:211 build/serializers.py:258 msgid "Enter quantity for build output" msgstr "Menge der Endprodukte angeben" -#: build/serializers.py:275 +#: build/serializers.py:279 msgid "Integer quantity required for trackable parts" msgstr "Ganzzahl für verfolgbare Teile erforderlich" -#: build/serializers.py:278 +#: build/serializers.py:282 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:293 order/serializers.py:588 order/serializers.py:1331 -#: stock/serializers.py:614 templates/js/translated/purchase_order.js:1153 +#: build/serializers.py:297 order/serializers.py:637 order/serializers.py:1387 +#: stock/serializers.py:672 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:294 +#: build/serializers.py:298 msgid "Enter serial numbers for build outputs" msgstr "Seriennummer für dieses Endprodukt eingeben" -#: build/serializers.py:299 build/serializers.py:440 build/serializers.py:512 -#: order/serializers.py:564 order/serializers.py:672 order/serializers.py:1656 -#: part/serializers.py:1140 stock/serializers.py:100 stock/serializers.py:625 -#: stock/serializers.py:785 stock/serializers.py:881 stock/serializers.py:1321 -#: stock/serializers.py:1577 stock/templates/stock/item_base.html:394 +#: build/serializers.py:303 build/serializers.py:444 build/serializers.py:516 +#: order/serializers.py:613 order/serializers.py:721 order/serializers.py:1714 +#: part/serializers.py:1168 stock/serializers.py:102 stock/serializers.py:683 +#: stock/serializers.py:843 stock/serializers.py:939 stock/serializers.py:1387 +#: stock/serializers.py:1643 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 @@ -1258,54 +1276,54 @@ msgstr "Seriennummer für dieses Endprodukt eingeben" msgid "Location" msgstr "Lagerort" -#: build/serializers.py:300 +#: build/serializers.py:304 msgid "Stock location for build output" msgstr "Lagerort für Bauprodukt" -#: build/serializers.py:314 +#: build/serializers.py:318 msgid "Auto Allocate Serial Numbers" msgstr "Seriennummern automatisch zuweisen" -#: build/serializers.py:315 +#: build/serializers.py:319 msgid "Automatically allocate required items with matching serial numbers" msgstr "Benötigte Lagerartikel automatisch mit passenden Seriennummern zuweisen" -#: build/serializers.py:330 +#: build/serializers.py:334 msgid "Serial numbers must be provided for trackable parts" msgstr "Seriennummern müssen für nachverfolgbare Teile angegeben werden" -#: build/serializers.py:355 stock/api.py:1041 +#: build/serializers.py:359 stock/api.py:1033 msgid "The following serial numbers already exist or are invalid" msgstr "Die folgenden Seriennummern existieren bereits oder sind ungültig" -#: build/serializers.py:402 build/serializers.py:464 build/serializers.py:553 +#: build/serializers.py:406 build/serializers.py:468 build/serializers.py:557 msgid "A list of build outputs must be provided" msgstr "Eine Liste von Endprodukten muss angegeben werden" -#: build/serializers.py:441 +#: build/serializers.py:445 msgid "Stock location for scrapped outputs" msgstr "Lagerort für ausgemusterte Ausgänge" -#: build/serializers.py:447 +#: build/serializers.py:451 msgid "Discard Allocations" msgstr "Zuteilungen verwerfen" -#: build/serializers.py:448 +#: build/serializers.py:452 msgid "Discard any stock allocations for scrapped outputs" msgstr "Bestandszuteilung für ausgemusterte Endprodukte verwerfen" -#: build/serializers.py:453 +#: build/serializers.py:457 msgid "Reason for scrapping build output(s)" msgstr "Grund für das Verwerfen des Bauauftrages/der Bauaufträge" -#: build/serializers.py:513 +#: build/serializers.py:517 msgid "Location for completed build outputs" msgstr "Lagerort für fertige Endprodukte" -#: build/serializers.py:519 build/templates/build/build_base.html:151 +#: build/serializers.py:523 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:950 -#: order/models.py:2044 order/serializers.py:596 stock/admin.py:164 -#: stock/serializers.py:932 stock/serializers.py:1465 +#: order/models.py:2070 order/serializers.py:645 stock/admin.py:164 +#: stock/serializers.py:990 stock/serializers.py:1531 #: 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 @@ -1317,193 +1335,253 @@ msgstr "Lagerort für fertige Endprodukte" msgid "Status" msgstr "Status" -#: build/serializers.py:525 +#: build/serializers.py:529 msgid "Accept Incomplete Allocation" msgstr "Unvollständige Zuweisung akzeptieren" -#: build/serializers.py:526 +#: build/serializers.py:530 msgid "Complete outputs if stock has not been fully allocated" msgstr "Endprodukte fertigstellen, auch wenn Bestand nicht fertig zugewiesen wurde" -#: build/serializers.py:611 +#: build/serializers.py:615 msgid "Consume Allocated Stock" msgstr "Zugewiesen Bestand verbrauchen" -#: build/serializers.py:612 +#: build/serializers.py:616 msgid "Consume any stock which has already been allocated to this build" msgstr "Verbrauche alle Bestände, die diesem Bauauftrag bereits zugewiesen wurden" -#: build/serializers.py:618 +#: build/serializers.py:622 msgid "Remove Incomplete Outputs" msgstr "Unfertige Endprodukte entfernen" -#: build/serializers.py:619 +#: build/serializers.py:623 msgid "Delete any build outputs which have not been completed" msgstr "Lösche alle noch nicht abgeschlossenen Endprodukte" -#: build/serializers.py:646 +#: build/serializers.py:650 msgid "Not permitted" msgstr "Nicht erlaubt" -#: build/serializers.py:647 +#: build/serializers.py:651 msgid "Accept as consumed by this build order" msgstr "Als von diesem Bauauftrag verbraucht setzen" -#: build/serializers.py:648 +#: build/serializers.py:652 msgid "Deallocate before completing this build order" msgstr "Bestandszuordnung vor dem Abschluss dieses Bauauftrags freigeben" -#: build/serializers.py:678 +#: build/serializers.py:682 msgid "Overallocated Stock" msgstr "Überbelegter Lagerbestand" -#: build/serializers.py:680 +#: build/serializers.py:684 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:690 +#: build/serializers.py:694 msgid "Some stock items have been overallocated" msgstr "Der Bestand einiger Lagerartikel ist überbelegt" -#: build/serializers.py:695 +#: build/serializers.py:699 msgid "Accept Unallocated" msgstr "Nicht zugewiesene akzeptieren" -#: build/serializers.py:696 +#: build/serializers.py:700 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:706 templates/js/translated/build.js:315 +#: build/serializers.py:710 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:711 order/serializers.py:300 order/serializers.py:1234 +#: build/serializers.py:715 order/serializers.py:319 order/serializers.py:1290 msgid "Accept Incomplete" msgstr "Unvollständig Zuweisung akzeptieren" -#: build/serializers.py:712 +#: build/serializers.py:716 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:722 templates/js/translated/build.js:319 +#: build/serializers.py:726 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:731 templates/js/translated/build.js:303 +#: build/serializers.py:735 templates/js/translated/build.js:303 msgid "Build order has incomplete outputs" msgstr "Bauauftrag hat unvollständige Aufbauten" -#: build/serializers.py:769 +#: build/serializers.py:773 msgid "Build Line" msgstr "Bauauftragsposition" -#: build/serializers.py:779 +#: build/serializers.py:783 msgid "Build output" msgstr "Endprodukt" -#: build/serializers.py:787 +#: build/serializers.py:791 msgid "Build output must point to the same build" msgstr "Endprodukt muss auf den gleichen Bauauftrag verweisen" -#: build/serializers.py:823 +#: build/serializers.py:827 msgid "Build Line Item" msgstr "Bauauftragspositionsartikel" -#: build/serializers.py:837 +#: build/serializers.py:841 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:852 stock/serializers.py:1190 +#: build/serializers.py:856 stock/serializers.py:1256 msgid "Item must be in stock" msgstr "Teil muss auf Lager sein" -#: build/serializers.py:900 order/serializers.py:1225 +#: build/serializers.py:904 order/serializers.py:1281 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Verfügbare Menge ({q}) überschritten" -#: build/serializers.py:906 +#: build/serializers.py:910 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:913 +#: build/serializers.py:917 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:937 order/serializers.py:1477 +#: build/serializers.py:941 order/serializers.py:1533 msgid "Allocation items must be provided" msgstr "Zuweisungen müssen angegeben werden" -#: build/serializers.py:1000 +#: build/serializers.py:1004 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:1008 +#: build/serializers.py:1012 msgid "Exclude Location" msgstr "Lagerort ausschließen" -#: build/serializers.py:1009 +#: build/serializers.py:1013 msgid "Exclude stock items from this selected location" msgstr "Lagerartikel vom ausgewählten Ort ausschließen" -#: build/serializers.py:1014 +#: build/serializers.py:1018 msgid "Interchangeable Stock" msgstr "Wechselbares Lagerbestand" -#: build/serializers.py:1015 +#: build/serializers.py:1019 msgid "Stock items in multiple locations can be used interchangeably" msgstr "Lagerartikel an mehreren Standorten können austauschbar verwendet werden" -#: build/serializers.py:1020 +#: build/serializers.py:1024 msgid "Substitute Stock" msgstr "Ersatzbestand" -#: build/serializers.py:1021 +#: build/serializers.py:1025 msgid "Allow allocation of substitute parts" msgstr "Zuordnung von Ersatzteilen erlauben" -#: build/serializers.py:1026 +#: build/serializers.py:1030 msgid "Optional Items" msgstr "Optionale Positionen" -#: build/serializers.py:1027 +#: build/serializers.py:1031 msgid "Allocate optional BOM items to build order" msgstr "Optionale Stücklisten-Positionen dem Bauauftrag hinzufügen" -#: build/serializers.py:1049 +#: build/serializers.py:1053 msgid "Failed to start auto-allocation task" msgstr "Fehler beim Starten der automatischen Zuweisung" -#: build/serializers.py:1139 part/models.py:3953 part/models.py:4387 -#: stock/api.py:804 +#: build/serializers.py:1095 +#, fuzzy +#| msgid "Supplier Part Orders" +msgid "Supplier Part Number" +msgstr "Zulieferer-Bestellungen" + +#: build/serializers.py:1096 company/models.py:500 +msgid "Manufacturer Part Number" +msgstr "Hersteller-Teilenummer" + +#: build/serializers.py:1097 stock/admin.py:53 stock/admin.py:175 +#: stock/serializers.py:454 +msgid "Location Name" +msgstr "Ortsname" + +#: build/serializers.py:1098 +#, fuzzy +#| msgid "Build Order Reference" +msgid "Build Reference" +msgstr "Bauauftragsreferenz" + +#: build/serializers.py:1099 +#, fuzzy +#| msgid "Reference" +msgid "BOM Reference" +msgstr "Referenz" + +#: build/serializers.py:1186 part/admin.py:402 part/models.py:3993 +msgid "Part IPN" +msgstr "Teil IPN" + +#: build/serializers.py:1192 common/models.py:1488 part/admin.py:113 +#: part/models.py:1068 templates/js/translated/table_filters.js:147 +#: templates/js/translated/table_filters.js:223 +#: templates/js/translated/table_filters.js:776 +msgid "Trackable" +msgstr "Nachverfolgbar" + +#: build/serializers.py:1196 part/models.py:4000 part/models.py:4472 +#: stock/api.py:796 msgid "BOM Item" msgstr "Stücklisten-Position" -#: build/serializers.py:1148 templates/js/translated/index.js:130 +#: build/serializers.py:1205 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "Zugewiesener Bestand" -#: build/serializers.py:1153 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:828 part/serializers.py:1502 +#: build/serializers.py:1210 part/admin.py:132 part/bom.py:173 +#: part/serializers.py:856 part/serializers.py:1533 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2613 templates/js/translated/part.js:710 -#: templates/js/translated/part.js:2149 +#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709 +#: templates/js/translated/part.js:2152 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "Bestellt" -#: build/serializers.py:1158 part/serializers.py:1504 -#: templates/js/translated/build.js:2617 +#: build/serializers.py:1215 part/serializers.py:1535 +#: templates/js/translated/build.js:2618 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "In Produktion" -#: build/serializers.py:1163 part/bom.py:172 part/serializers.py:1527 +#: build/serializers.py:1220 part/bom.py:172 part/serializers.py:1558 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" msgstr "Verfügbarer Bestand" +#: build/serializers.py:1224 +#, fuzzy +#| msgid "Substitute Stock" +msgid "Available Substitute Stock" +msgstr "Ersatzbestand" + +#: build/serializers.py:1225 +#, fuzzy +#| msgid "Allow Variant Stock" +msgid "Available Variant Stock" +msgstr "Erlaube alternatives Lager" + +#: build/serializers.py:1226 +#, fuzzy +#| msgid "Has Available Stock" +msgid "Total Available Stock" +msgstr "Hat verfügbaren Bestand" + +#: build/serializers.py:1227 part/serializers.py:862 +msgid "External Stock" +msgstr "Externes Lager" + #: build/status_codes.py:11 generic/states/tests.py:17 order/status_codes.py:12 #: order/status_codes.py:37 order/status_codes.py:64 order/status_codes.py:82 #: templates/js/translated/table_filters.js:598 @@ -1519,7 +1597,8 @@ msgstr "in Arbeit" msgid "Cancelled" msgstr "Storniert" -#: build/status_codes.py:14 generic/states/tests.py:19 order/status_codes.py:14 +#: build/status_codes.py:14 generic/states/tests.py:19 importer/models.py:468 +#: importer/status_codes.py:19 order/status_codes.py:14 #: order/status_codes.py:44 order/status_codes.py:69 #: order/templates/order/order_base.html:158 #: order/templates/order/sales_order_base.html:165 report/models.py:444 @@ -1652,11 +1731,12 @@ 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:309 -#: order/models.py:1307 order/templates/order/order_base.html:186 +#: order/models.py:1307 order/serializers.py:174 +#: order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: 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:1831 +#: templates/js/translated/build.js:2239 templates/js/translated/part.js:1834 #: templates/js/translated/purchase_order.js:1739 #: templates/js/translated/purchase_order.js:2147 #: templates/js/translated/return_order.js:346 @@ -1689,8 +1769,8 @@ msgid "Completed Outputs" msgstr "Fertiggestellte Endprodukte" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1463 order/models.py:845 -#: order/models.py:1551 order/models.py:1665 order/models.py:1819 +#: build/templates/build/detail.html:101 order/api.py:1384 order/models.py:845 +#: order/models.py:1566 order/models.py:1681 order/models.py:1840 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 @@ -1740,7 +1820,7 @@ msgstr "Ausgangs-Lager" msgid "Stock can be taken from any available location." msgstr "Bestand kann jedem verfügbaren Lagerort entnommen werden." -#: build/templates/build/detail.html:49 order/models.py:1443 +#: build/templates/build/detail.html:49 order/models.py:1448 #: templates/js/translated/purchase_order.js:2189 msgid "Destination" msgstr "Ziel-Lager" @@ -1892,31 +1972,31 @@ msgstr "Bauauftragdetails" msgid "Incomplete Outputs" msgstr "Unfertige Endprodukte" -#: common/api.py:689 +#: common/api.py:690 msgid "Is Link" msgstr "Link" -#: common/api.py:697 +#: common/api.py:698 msgid "Is File" msgstr "Datei" -#: common/api.py:739 +#: common/api.py:740 msgid "User does not have permission to delete this attachment" msgstr "Benutzer hat keine Berechtigung zum Löschen des Anhangs" -#: common/currency.py:130 +#: common/currency.py:132 msgid "Invalid currency code" msgstr "Ungültiges Währungskürzel" -#: common/currency.py:132 +#: common/currency.py:134 msgid "Duplicate currency code" msgstr "Doppeltes Währungskürzel" -#: common/currency.py:137 +#: common/currency.py:139 msgid "No valid currency codes provided" msgstr "" -#: common/currency.py:154 +#: common/currency.py:156 msgid "No plugin" msgstr "Kein Plugin" @@ -1970,1635 +2050,1608 @@ msgstr "Zeitstempel der letzten Aktualisierung" msgid "Site URL is locked by configuration" msgstr "Seiten-URL ist durch die Konfiguration gesperrt" -#: common/models.py:132 +#: common/models.py:137 msgid "Unique project code" msgstr "Eindeutiger Projektcode" -#: common/models.py:139 +#: common/models.py:144 msgid "Project description" msgstr "Projektbeschreibung" -#: common/models.py:148 +#: common/models.py:153 msgid "User or group responsible for this project" msgstr "Benutzer oder Gruppe verantwortlich für dieses Projekt" -#: common/models.py:765 +#: common/models.py:770 msgid "Settings key (must be unique - case insensitive)" msgstr "Einstellungs-Schlüssel (muss einzigartig sein, Groß-/ Kleinschreibung wird nicht beachtet)" -#: common/models.py:769 +#: common/models.py:774 msgid "Settings value" msgstr "Einstellungs-Wert" -#: common/models.py:821 +#: common/models.py:826 msgid "Chosen value is not a valid option" msgstr "Wert ist keine gültige Option" -#: common/models.py:837 +#: common/models.py:842 msgid "Value must be a boolean value" msgstr "Wahrheitswert erforderlich" -#: common/models.py:845 +#: common/models.py:850 msgid "Value must be an integer value" msgstr "Nur Ganzzahl eingeben" -#: common/models.py:882 +#: common/models.py:887 msgid "Key string must be unique" msgstr "Schlüsseltext muss eindeutig sein" -#: common/models.py:1114 +#: common/models.py:1119 msgid "No group" msgstr "Keine Gruppe" -#: common/models.py:1213 +#: common/models.py:1218 msgid "Restart required" msgstr "Neustart erforderlich" -#: common/models.py:1215 +#: common/models.py:1220 msgid "A setting has been changed which requires a server restart" msgstr "Eine Einstellung wurde geändert, die einen Neustart des Servers erfordert" -#: common/models.py:1222 +#: common/models.py:1227 msgid "Pending migrations" msgstr "Ausstehende Migrationen" -#: common/models.py:1223 +#: common/models.py:1228 msgid "Number of pending database migrations" msgstr "Anzahl der ausstehenden Datenbankmigrationen" -#: common/models.py:1228 +#: common/models.py:1233 msgid "Server Instance Name" msgstr "Name der Serverinstanz" -#: common/models.py:1230 +#: common/models.py:1235 msgid "String descriptor for the server instance" msgstr "Kurze Beschreibung der Instanz" -#: common/models.py:1234 +#: common/models.py:1239 msgid "Use instance name" msgstr "Name der Instanz verwenden" -#: common/models.py:1235 +#: common/models.py:1240 msgid "Use the instance name in the title-bar" msgstr "Den Namen der Instanz in der Titelleiste verwenden" -#: common/models.py:1240 +#: common/models.py:1245 msgid "Restrict showing `about`" msgstr "Anzeige von `Über` einschränken" -#: common/models.py:1241 +#: common/models.py:1246 msgid "Show the `about` modal only to superusers" msgstr "Zeige das `Über` Fenster nur Administratoren" -#: common/models.py:1246 company/models.py:111 company/models.py:112 +#: common/models.py:1251 company/models.py:111 company/models.py:112 msgid "Company name" msgstr "Firmenname" -#: common/models.py:1247 +#: common/models.py:1252 msgid "Internal company name" msgstr "interner Firmenname" -#: common/models.py:1251 +#: common/models.py:1256 msgid "Base URL" msgstr "Basis-URL" -#: common/models.py:1252 +#: common/models.py:1257 msgid "Base URL for server instance" msgstr "Basis-URL für dieses Instanz" -#: common/models.py:1258 +#: common/models.py:1263 msgid "Default Currency" msgstr "Standardwährung" -#: common/models.py:1259 +#: common/models.py:1264 msgid "Select base currency for pricing calculations" msgstr "Wählen Sie die Basiswährung für Preisberechnungen aus" -#: common/models.py:1265 +#: common/models.py:1270 msgid "Supported Currencies" msgstr "Verfügbare Währungen" -#: common/models.py:1266 +#: common/models.py:1271 msgid "List of supported currency codes" msgstr "Liste der unterstützten Währungskürzel" -#: common/models.py:1272 +#: common/models.py:1277 msgid "Currency Update Interval" msgstr "Währungsaktualisierungsintervall" -#: common/models.py:1274 +#: common/models.py:1279 msgid "How often to update exchange rates (set to zero to disable)" msgstr "Wie oft Wechselkurse aktualisiert werden sollen (auf Null zum Deaktivieren setzen)" -#: common/models.py:1277 common/models.py:1333 common/models.py:1346 -#: common/models.py:1354 common/models.py:1363 common/models.py:1372 -#: common/models.py:1596 common/models.py:1618 common/models.py:1733 -#: common/models.py:2100 +#: common/models.py:1282 common/models.py:1338 common/models.py:1351 +#: common/models.py:1359 common/models.py:1368 common/models.py:1377 +#: common/models.py:1601 common/models.py:1623 common/models.py:1738 +#: common/models.py:2111 msgid "days" msgstr "Tage" -#: common/models.py:1281 +#: common/models.py:1286 msgid "Currency Update Plugin" msgstr "Währungs-Aktualisierungs-Plugin" -#: common/models.py:1282 +#: common/models.py:1287 msgid "Currency update plugin to use" msgstr "Zu verwendendes Währungs-Aktualisierungs-Plugin" -#: common/models.py:1287 +#: common/models.py:1292 msgid "Download from URL" msgstr "Von URL herunterladen" -#: common/models.py:1289 +#: common/models.py:1294 msgid "Allow download of remote images and files from external URL" msgstr "Herunterladen von externen Bildern und Dateien von URLs erlaubt" -#: common/models.py:1295 +#: common/models.py:1300 msgid "Download Size Limit" msgstr "Download-Größenlimit" -#: common/models.py:1296 +#: common/models.py:1301 msgid "Maximum allowable download size for remote image" msgstr "Maximal zulässige Größe für heruntergeladene Bilder" -#: common/models.py:1302 +#: common/models.py:1307 msgid "User-agent used to download from URL" msgstr "Benutzer-Agent zum Herunterladen von Daten" -#: common/models.py:1304 +#: common/models.py:1309 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "Überschreiben des Benutzer-Agenten, der verwendet wird, um Bilder und Dateien von externer Servern herunterzuladen (leer für die Standardeinstellung)" -#: common/models.py:1309 +#: common/models.py:1314 msgid "Strict URL Validation" msgstr "Strenge URL-Prüfung" -#: common/models.py:1310 +#: common/models.py:1315 msgid "Require schema specification when validating URLs" msgstr "Erfordert die Schema-Spezifikation bei der Validierung von URLs" -#: common/models.py:1315 +#: common/models.py:1320 msgid "Require confirm" msgstr "Bestätigung verpflichtend" -#: common/models.py:1316 +#: common/models.py:1321 msgid "Require explicit user confirmation for certain action." msgstr "Eine ausdrückliche Benutzerbestätigung für bestimmte Aktionen erfordern." -#: common/models.py:1321 +#: common/models.py:1326 msgid "Tree Depth" msgstr "Baumtiefe" -#: common/models.py:1323 +#: common/models.py:1328 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "Standard Ebene für Baumansicht. Tiefere Ebenen können bei Bedarf nachgeladen werden." -#: common/models.py:1329 +#: common/models.py:1334 msgid "Update Check Interval" msgstr "Prüfungsintervall aktualisieren" -#: common/models.py:1330 +#: common/models.py:1335 msgid "How often to check for updates (set to zero to disable)" msgstr "Wie oft soll nach Updates gesucht werden? (auf 0 setzen zum Deaktivieren)" -#: common/models.py:1336 +#: common/models.py:1341 msgid "Automatic Backup" msgstr "Automatische Sicherung" -#: common/models.py:1337 +#: common/models.py:1342 msgid "Enable automatic backup of database and media files" msgstr "Automatische Sicherung der Datenbank- und Mediendateien aktivieren" -#: common/models.py:1342 +#: common/models.py:1347 msgid "Auto Backup Interval" msgstr "Intervall für automatische Sicherung" -#: common/models.py:1343 +#: common/models.py:1348 msgid "Specify number of days between automated backup events" msgstr "Anzahl der Tage zwischen automatischen Sicherungen" -#: common/models.py:1349 +#: common/models.py:1354 msgid "Task Deletion Interval" msgstr "Aufgabenlöschinterval" -#: common/models.py:1351 +#: common/models.py:1356 msgid "Background task results will be deleted after specified number of days" msgstr "Ergebnisse der Hintergrundaufgabe werden nach der angegebenen Anzahl von Tagen gelöscht" -#: common/models.py:1358 +#: common/models.py:1363 msgid "Error Log Deletion Interval" msgstr "Löschintervall für Fehlerprotokolle" -#: common/models.py:1360 +#: common/models.py:1365 msgid "Error logs will be deleted after specified number of days" msgstr "Fehlerprotokolle werden nach der angegebenen Anzahl von Tagen gelöscht" -#: common/models.py:1367 +#: common/models.py:1372 msgid "Notification Deletion Interval" msgstr "Löschintervall für Benachrichtigungen" -#: common/models.py:1369 +#: common/models.py:1374 msgid "User notifications will be deleted after specified number of days" msgstr "Benutzerbenachrichtigungen werden nach der angegebenen Anzahl von Tagen gelöscht" -#: common/models.py:1376 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1381 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "Bacode-Feature verwenden" -#: common/models.py:1377 +#: common/models.py:1382 msgid "Enable barcode scanner support in the web interface" msgstr "Barcode-Scanner Unterstützung im Webinterface aktivieren" -#: common/models.py:1382 +#: common/models.py:1387 msgid "Barcode Input Delay" msgstr "Barcode-Eingabeverzögerung" -#: common/models.py:1383 +#: common/models.py:1388 msgid "Barcode input processing delay time" msgstr "Verzögerungszeit bei Barcode-Eingabe" -#: common/models.py:1389 +#: common/models.py:1394 msgid "Barcode Webcam Support" msgstr "Barcode Webcam-Unterstützung" -#: common/models.py:1390 +#: common/models.py:1395 msgid "Allow barcode scanning via webcam in browser" msgstr "Barcode-Scannen über Webcam im Browser erlauben" -#: common/models.py:1395 +#: common/models.py:1400 msgid "Barcode Show Data" msgstr "" -#: common/models.py:1396 +#: common/models.py:1401 msgid "Display barcode data in browser as text" msgstr "" -#: common/models.py:1401 +#: common/models.py:1406 msgid "Part Revisions" msgstr "Artikelrevisionen" -#: common/models.py:1402 +#: common/models.py:1407 msgid "Enable revision field for Part" msgstr "Revisions-Feld für Artikel aktivieren" -#: common/models.py:1407 +#: common/models.py:1412 msgid "Allow Deletion from Assembly" msgstr "Löschen aus Baugruppe erlauben" -#: common/models.py:1408 +#: common/models.py:1413 msgid "Allow deletion of parts which are used in an assembly" msgstr "Erlaube das Löschen von Teilen, die in einer Baugruppe verwendet werden" -#: common/models.py:1413 +#: common/models.py:1418 msgid "IPN Regex" msgstr "IPN Regex" -#: common/models.py:1414 +#: common/models.py:1419 msgid "Regular expression pattern for matching Part IPN" msgstr "RegEx Muster für die Zuordnung von Teil-IPN" -#: common/models.py:1417 +#: common/models.py:1422 msgid "Allow Duplicate IPN" msgstr "Mehrere Artikel mit gleicher IPN erlaubt" -#: common/models.py:1418 +#: common/models.py:1423 msgid "Allow multiple parts to share the same IPN" msgstr "Mehrere Artikel mit gleicher IPN erlaubt" -#: common/models.py:1423 +#: common/models.py:1428 msgid "Allow Editing IPN" msgstr "Ändern von IPN erlaubt" -#: common/models.py:1424 +#: common/models.py:1429 msgid "Allow changing the IPN value while editing a part" msgstr "Ändern der IPN während des Bearbeiten eines Teils erlaubt" -#: common/models.py:1429 +#: common/models.py:1434 msgid "Copy Part BOM Data" msgstr "Teil-Stückliste kopieren" -#: common/models.py:1430 +#: common/models.py:1435 msgid "Copy BOM data by default when duplicating a part" msgstr "Stückliste von Teil kopieren wenn das Teil dupliziert wird " -#: common/models.py:1435 +#: common/models.py:1440 msgid "Copy Part Parameter Data" msgstr "Teil-Parameter kopieren" -#: common/models.py:1436 +#: common/models.py:1441 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:1441 +#: common/models.py:1446 msgid "Copy Part Test Data" msgstr "Teil-Testdaten kopieren" -#: common/models.py:1442 +#: common/models.py:1447 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:1447 +#: common/models.py:1452 msgid "Copy Category Parameter Templates" msgstr "Kategorie-Parametervorlage kopieren" -#: common/models.py:1448 +#: common/models.py:1453 msgid "Copy category parameter templates when creating a part" msgstr "Kategorie-Parameter Vorlagen kopieren wenn ein Teil angelegt wird" -#: common/models.py:1453 part/admin.py:108 part/models.py:3795 +#: common/models.py:1458 part/admin.py:108 part/models.py:3835 #: report/models.py:294 report/models.py:361 report/serializers.py:90 -#: report/serializers.py:131 stock/serializers.py:227 +#: report/serializers.py:131 stock/serializers.py:232 #: templates/js/translated/table_filters.js:139 -#: templates/js/translated/table_filters.js:767 +#: templates/js/translated/table_filters.js:772 msgid "Template" msgstr "Vorlage" -#: common/models.py:1454 +#: common/models.py:1459 msgid "Parts are templates by default" msgstr "Teile sind standardmäßig Vorlagen" -#: common/models.py:1459 part/admin.py:91 part/admin.py:425 part/models.py:1052 +#: common/models.py:1464 part/admin.py:91 part/admin.py:425 part/models.py:1056 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 -#: templates/js/translated/table_filters.js:721 +#: templates/js/translated/table_filters.js:726 msgid "Assembly" msgstr "Baugruppe" -#: common/models.py:1460 +#: common/models.py:1465 msgid "Parts can be assembled from other components by default" msgstr "Teile können standardmäßig aus anderen Teilen angefertigt werden" -#: common/models.py:1465 part/admin.py:95 part/models.py:1058 -#: templates/js/translated/table_filters.js:729 +#: common/models.py:1470 part/admin.py:95 part/models.py:1062 +#: templates/js/translated/table_filters.js:734 msgid "Component" msgstr "Komponente" -#: common/models.py:1466 +#: common/models.py:1471 msgid "Parts can be used as sub-components by default" msgstr "Teile können standardmäßig in Baugruppen benutzt werden" -#: common/models.py:1471 part/admin.py:100 part/models.py:1070 +#: common/models.py:1476 part/admin.py:100 part/models.py:1074 msgid "Purchaseable" msgstr "Kaufbar" -#: common/models.py:1472 +#: common/models.py:1477 msgid "Parts are purchaseable by default" msgstr "Artikel sind grundsätzlich kaufbar" -#: common/models.py:1477 part/admin.py:104 part/models.py:1076 -#: templates/js/translated/table_filters.js:755 +#: common/models.py:1482 part/admin.py:104 part/models.py:1080 +#: templates/js/translated/table_filters.js:760 msgid "Salable" msgstr "Verkäuflich" -#: common/models.py:1478 +#: common/models.py:1483 msgid "Parts are salable by default" msgstr "Artikel sind grundsätzlich verkaufbar" -#: common/models.py:1483 part/admin.py:113 part/models.py:1064 -#: 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:1484 +#: common/models.py:1489 msgid "Parts are trackable by default" msgstr "Artikel sind grundsätzlich verfolgbar" -#: common/models.py:1489 part/admin.py:117 part/models.py:1086 +#: common/models.py:1494 part/admin.py:117 part/models.py:1096 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 -#: templates/js/translated/table_filters.js:775 +#: templates/js/translated/table_filters.js:780 msgid "Virtual" msgstr "Virtuell" -#: common/models.py:1490 +#: common/models.py:1495 msgid "Parts are virtual by default" msgstr "Teile sind grundsätzlich virtuell" -#: common/models.py:1495 +#: common/models.py:1500 msgid "Show Import in Views" msgstr "Import in Ansichten anzeigen" -#: common/models.py:1496 +#: common/models.py:1501 msgid "Display the import wizard in some part views" msgstr "Importassistent in einigen Teil-Ansichten anzeigen" -#: common/models.py:1501 +#: common/models.py:1506 msgid "Show related parts" msgstr "Verwandte Teile anzeigen" -#: common/models.py:1502 +#: common/models.py:1507 msgid "Display related parts for a part" msgstr "Verwandte Teile eines Teils anzeigen" -#: common/models.py:1507 +#: common/models.py:1512 msgid "Initial Stock Data" msgstr "Initialer Lagerbestand" -#: common/models.py:1508 +#: common/models.py:1513 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:1513 templates/js/translated/part.js:107 +#: common/models.py:1518 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "Initiale Lieferantendaten" -#: common/models.py:1515 +#: common/models.py:1520 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:1521 +#: common/models.py:1526 msgid "Part Name Display Format" msgstr "Anzeigeformat für Teilenamen" -#: common/models.py:1522 +#: common/models.py:1527 msgid "Format to display the part name" msgstr "Format für den Namen eines Teiles" -#: common/models.py:1528 +#: common/models.py:1533 msgid "Part Category Default Icon" msgstr "Standardsymbol der Teilkategorie" -#: common/models.py:1529 +#: common/models.py:1534 msgid "Part category default icon (empty means no icon)" msgstr "Standardsymbol der Teilkategorie (leer bedeutet kein Symbol)" -#: common/models.py:1533 +#: common/models.py:1538 msgid "Enforce Parameter Units" msgstr "Parameter Einheiten durchsetzen" -#: common/models.py:1535 +#: common/models.py:1540 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:1541 +#: common/models.py:1546 msgid "Minimum Pricing Decimal Places" msgstr "Dezimalstellen für minimalen Preis" -#: common/models.py:1543 +#: common/models.py:1548 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "Mindestanzahl der Dezimalstellen bei der Darstellung der Preisdaten" -#: common/models.py:1554 +#: common/models.py:1559 msgid "Maximum Pricing Decimal Places" msgstr "Dezimalstellen für maximalen Preis" -#: common/models.py:1556 +#: common/models.py:1561 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:1567 +#: common/models.py:1572 msgid "Use Supplier Pricing" msgstr "Zulieferer-Preise verwenden" -#: common/models.py:1569 +#: common/models.py:1574 msgid "Include supplier price breaks in overall pricing calculations" msgstr "Lieferanten-Staffelpreise in die Gesamt-Preisberechnungen einbeziehen" -#: common/models.py:1575 +#: common/models.py:1580 msgid "Purchase History Override" msgstr "Kaufverlauf überschreiben" -#: common/models.py:1577 +#: common/models.py:1582 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "Historische Bestellungspreise überschreiben die Lieferanten-Staffelpreise" -#: common/models.py:1583 +#: common/models.py:1588 msgid "Use Stock Item Pricing" msgstr "Lagerartikel-Preis verwenden" -#: common/models.py:1585 +#: common/models.py:1590 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "Preise aus manuell eingegebenen Lagerdaten für Preisberechnungen verwenden" -#: common/models.py:1591 +#: common/models.py:1596 msgid "Stock Item Pricing Age" msgstr "Lagerartikelpreis Alter" -#: common/models.py:1593 +#: common/models.py:1598 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:1600 +#: common/models.py:1605 msgid "Use Variant Pricing" msgstr "Variantenpreise verwenden" -#: common/models.py:1601 +#: common/models.py:1606 msgid "Include variant pricing in overall pricing calculations" msgstr "Variantenpreise in die Gesamt-Preisberechnungen einbeziehen" -#: common/models.py:1606 +#: common/models.py:1611 msgid "Active Variants Only" msgstr "Nur aktive Varianten" -#: common/models.py:1608 +#: common/models.py:1613 msgid "Only use active variant parts for calculating variant pricing" msgstr "Nur aktive Variantenteile zur Berechnung der Variantenbepreisung verwenden" -#: common/models.py:1614 +#: common/models.py:1619 msgid "Pricing Rebuild Interval" msgstr "Intervall für Neuberechnung von Preisen" -#: common/models.py:1616 +#: common/models.py:1621 msgid "Number of days before part pricing is automatically updated" msgstr "Anzahl der Tage bis die Teile-Preisberechnungen automatisch aktualisiert werden" -#: common/models.py:1623 +#: common/models.py:1628 msgid "Internal Prices" msgstr "Interne Preise" -#: common/models.py:1624 +#: common/models.py:1629 msgid "Enable internal prices for parts" msgstr "Interne Preise für Teile aktivieren" -#: common/models.py:1629 +#: common/models.py:1634 msgid "Internal Price Override" msgstr "Interne Preisüberschreibung" -#: common/models.py:1631 +#: common/models.py:1636 msgid "If available, internal prices override price range calculations" msgstr "Falls verfügbar, überschreiben interne Preise Preispannenberechnungen" -#: common/models.py:1637 +#: common/models.py:1642 msgid "Enable label printing" msgstr "Labeldruck aktivieren" -#: common/models.py:1638 +#: common/models.py:1643 msgid "Enable label printing from the web interface" msgstr "Labeldruck über die Website aktivieren" -#: common/models.py:1643 +#: common/models.py:1648 msgid "Label Image DPI" msgstr "Label Bild DPI" -#: common/models.py:1645 +#: common/models.py:1650 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:1651 +#: common/models.py:1656 msgid "Enable Reports" msgstr "Berichte aktivieren" -#: common/models.py:1652 +#: common/models.py:1657 msgid "Enable generation of reports" msgstr "Berichterstellung aktivieren" -#: common/models.py:1657 templates/stats.html:25 +#: common/models.py:1662 templates/stats.html:25 msgid "Debug Mode" msgstr "Entwickler-Modus" -#: common/models.py:1658 +#: common/models.py:1663 msgid "Generate reports in debug mode (HTML output)" msgstr "Berichte im Entwickler-Modus generieren (als HTML)" -#: common/models.py:1663 +#: common/models.py:1668 msgid "Log Report Errors" msgstr "Berichtsfehler protokollieren" -#: common/models.py:1664 +#: common/models.py:1669 msgid "Log errors which occur when generating reports" msgstr "Fehler, die beim Erstellen von Berichten auftreten, protokollieren" -#: common/models.py:1669 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1674 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:302 msgid "Page Size" msgstr "Seitengröße" -#: common/models.py:1670 +#: common/models.py:1675 msgid "Default page size for PDF reports" msgstr "Standardseitenformat für PDF-Bericht" -#: common/models.py:1675 +#: common/models.py:1680 msgid "Enable Test Reports" msgstr "Testberichte aktivieren" -#: common/models.py:1676 +#: common/models.py:1681 msgid "Enable generation of test reports" msgstr "Erstellung von Test-Berichten aktivieren" -#: common/models.py:1681 +#: common/models.py:1686 msgid "Attach Test Reports" msgstr "Testberichte anhängen" -#: common/models.py:1683 +#: common/models.py:1688 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:1689 +#: common/models.py:1694 msgid "Globally Unique Serials" msgstr "Global einzigartige Seriennummern" -#: common/models.py:1690 +#: common/models.py:1695 msgid "Serial numbers for stock items must be globally unique" msgstr "Seriennummern für Lagerartikel müssen global eindeutig sein" -#: common/models.py:1695 +#: common/models.py:1700 msgid "Autofill Serial Numbers" msgstr "Seriennummern automatisch ausfüllen" -#: common/models.py:1696 +#: common/models.py:1701 msgid "Autofill serial numbers in forms" msgstr "Seriennummern in Formularen automatisch ausfüllen" -#: common/models.py:1701 +#: common/models.py:1706 msgid "Delete Depleted Stock" msgstr "Erschöpften Lagerartikel löschen" -#: common/models.py:1703 +#: common/models.py:1708 msgid "Determines default behavior when a stock item is depleted" msgstr "Legt das Standardverhalten fest, wenn ein Lagerartikel aufgebraucht ist" -#: common/models.py:1709 +#: common/models.py:1714 msgid "Batch Code Template" msgstr "Losnummer Vorlage" -#: common/models.py:1711 +#: common/models.py:1716 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:1716 +#: common/models.py:1721 msgid "Stock Expiry" msgstr "Bestands-Ablauf" -#: common/models.py:1717 +#: common/models.py:1722 msgid "Enable stock expiry functionality" msgstr "Ablaufen von Bestand ermöglichen" -#: common/models.py:1722 +#: common/models.py:1727 msgid "Sell Expired Stock" msgstr "Abgelaufenen Bestand verkaufen" -#: common/models.py:1723 +#: common/models.py:1728 msgid "Allow sale of expired stock" msgstr "Verkauf von abgelaufenem Bestand erlaubt" -#: common/models.py:1728 +#: common/models.py:1733 msgid "Stock Stale Time" msgstr "Bestands-Stehzeit" -#: common/models.py:1730 +#: common/models.py:1735 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:1737 +#: common/models.py:1742 msgid "Build Expired Stock" msgstr "Abgelaufenen Bestand verbauen" -#: common/models.py:1738 +#: common/models.py:1743 msgid "Allow building with expired stock" msgstr "Verbauen von abgelaufenen Bestand erlaubt" -#: common/models.py:1743 +#: common/models.py:1748 msgid "Stock Ownership Control" msgstr "Bestands-Eigentümerkontrolle" -#: common/models.py:1744 +#: common/models.py:1749 msgid "Enable ownership control over stock locations and items" msgstr "Eigentümerkontrolle für Lagerorte und Teile aktivieren" -#: common/models.py:1749 +#: common/models.py:1754 msgid "Stock Location Default Icon" msgstr "Standardsymbol für Lagerort" -#: common/models.py:1750 +#: common/models.py:1755 msgid "Stock location default icon (empty means no icon)" msgstr "Standardsymbol für Lagerstandort (leer bedeutet kein Symbol)" -#: common/models.py:1754 +#: common/models.py:1759 msgid "Show Installed Stock Items" msgstr "Zeige installierte Lagerartikel" -#: common/models.py:1755 +#: common/models.py:1760 msgid "Display installed stock items in stock tables" msgstr "Anzeige der installierten Lagerartikel in Bestandstabellen" -#: common/models.py:1760 +#: common/models.py:1765 msgid "Check BOM when installing items" msgstr "Prüfe BOM bei der Installation von Elementen" -#: common/models.py:1762 +#: common/models.py:1767 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:1768 +#: common/models.py:1773 msgid "Allow Out of Stock Transfer" msgstr "Erlaube Verschieben von \"nicht auf Lager\" Bestand" -#: common/models.py:1770 +#: common/models.py:1775 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:1776 +#: common/models.py:1781 msgid "Build Order Reference Pattern" msgstr "Bauauftragsreferenz-Muster" -#: common/models.py:1778 +#: common/models.py:1783 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:1784 common/models.py:1826 common/models.py:1848 -#: common/models.py:1884 +#: common/models.py:1789 common/models.py:1837 common/models.py:1859 +#: common/models.py:1895 msgid "Require Responsible Owner" msgstr "Verantwortlicher Besitzer erforderlich" -#: common/models.py:1785 common/models.py:1827 common/models.py:1849 -#: common/models.py:1885 +#: common/models.py:1790 common/models.py:1838 common/models.py:1860 +#: common/models.py:1896 msgid "A responsible owner must be assigned to each order" msgstr "Jeder Bestellung muss ein verantwortlicher Besitzer zugewiesen werden" -#: common/models.py:1790 +#: common/models.py:1795 msgid "Require Active Part" msgstr "" -#: common/models.py:1791 +#: common/models.py:1796 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/models.py:1796 +#: common/models.py:1801 +#, fuzzy +#| msgid "Required Part" +msgid "Require Locked Part" +msgstr "Benötigtes Teil" + +#: common/models.py:1802 +#, fuzzy +#| msgid "No build order allocations found" +msgid "Prevent build order creation for unlocked parts" +msgstr "Keine Allokationen für Bauauftrag gefunden" + +#: common/models.py:1807 msgid "Require Valid BOM" msgstr "" -#: common/models.py:1798 +#: common/models.py:1809 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/models.py:1804 +#: common/models.py:1815 msgid "Block Until Tests Pass" msgstr "Blockieren bis Test bestanden" -#: common/models.py:1806 +#: common/models.py:1817 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:1812 +#: common/models.py:1823 msgid "Enable Return Orders" msgstr "Rücksendungen aktivieren" -#: common/models.py:1813 +#: common/models.py:1824 msgid "Enable return order functionality in the user interface" msgstr "Aktivieren der Rücksendung-Funktion in der Benutzeroberfläche" -#: common/models.py:1818 +#: common/models.py:1829 msgid "Return Order Reference Pattern" msgstr "Referenz Muster für Rücksendungen" -#: common/models.py:1820 +#: common/models.py:1831 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:1832 +#: common/models.py:1843 msgid "Edit Completed Return Orders" msgstr "Abgeschlossene Rücksendungen bearbeiten" -#: common/models.py:1834 +#: common/models.py:1845 msgid "Allow editing of return orders after they have been completed" msgstr "Bearbeitung von Rücksendungen nach Abschluss erlauben" -#: common/models.py:1840 +#: common/models.py:1851 msgid "Sales Order Reference Pattern" msgstr "Auftragsreferenz-Muster" -#: common/models.py:1842 +#: common/models.py:1853 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:1854 +#: common/models.py:1865 msgid "Sales Order Default Shipment" msgstr "Auftrag Standardsendung" -#: common/models.py:1855 +#: common/models.py:1866 msgid "Enable creation of default shipment with sales orders" msgstr "Erstelle eine Standardsendung für Aufträge" -#: common/models.py:1860 +#: common/models.py:1871 msgid "Edit Completed Sales Orders" msgstr "Abgeschlossene Aufträge bearbeiten" -#: common/models.py:1862 +#: common/models.py:1873 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:1868 +#: common/models.py:1879 msgid "Mark Shipped Orders as Complete" msgstr "Versendete Bestellungen als abgeschlossen markieren" -#: common/models.py:1870 +#: common/models.py:1881 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "Als versendet markierte Aufträge werden automatisch abgeschlossen und überspringen den Status \"Versandt\"" -#: common/models.py:1876 +#: common/models.py:1887 msgid "Purchase Order Reference Pattern" msgstr "Bestellungsreferenz-Muster" -#: common/models.py:1878 +#: common/models.py:1889 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:1890 +#: common/models.py:1901 msgid "Edit Completed Purchase Orders" msgstr "Abgeschlossene Einkaufsaufträge bearbeiten" -#: common/models.py:1892 +#: common/models.py:1903 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:1898 +#: common/models.py:1909 msgid "Auto Complete Purchase Orders" msgstr "Bestellungen automatisch abschließen" -#: common/models.py:1900 +#: common/models.py:1911 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:1907 +#: common/models.py:1918 msgid "Enable password forgot" msgstr "Passwort vergessen aktivieren" -#: common/models.py:1908 +#: common/models.py:1919 msgid "Enable password forgot function on the login pages" msgstr "Passwort-vergessen-Funktion auf den Anmeldeseiten aktivieren" -#: common/models.py:1913 +#: common/models.py:1924 msgid "Enable registration" msgstr "Registrierung erlauben" -#: common/models.py:1914 +#: common/models.py:1925 msgid "Enable self-registration for users on the login pages" msgstr "Selbstregistrierung für Benutzer auf den Anmeldeseiten aktivieren" -#: common/models.py:1919 +#: common/models.py:1930 msgid "Enable SSO" msgstr "SSO aktivieren" -#: common/models.py:1920 +#: common/models.py:1931 msgid "Enable SSO on the login pages" msgstr "SSO auf den Anmeldeseiten aktivieren" -#: common/models.py:1925 +#: common/models.py:1936 msgid "Enable SSO registration" msgstr "SSO Selbstregistrierung aktivieren" -#: common/models.py:1927 +#: common/models.py:1938 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:1933 +#: common/models.py:1944 msgid "Enable SSO group sync" msgstr "SSO Gruppensynchronisation aktivieren" -#: common/models.py:1935 +#: common/models.py:1946 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/models.py:1941 +#: common/models.py:1952 msgid "SSO group key" msgstr "SSO Gruppenschlüssel" -#: common/models.py:1943 +#: common/models.py:1954 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/models.py:1949 +#: common/models.py:1960 msgid "SSO group map" msgstr "" -#: common/models.py:1951 +#: common/models.py:1962 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/models.py:1957 +#: common/models.py:1968 msgid "Remove groups outside of SSO" msgstr "" -#: common/models.py:1959 +#: common/models.py:1970 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/models.py:1965 +#: common/models.py:1976 msgid "Email required" msgstr "Email-Adresse erforderlich" -#: common/models.py:1966 +#: common/models.py:1977 msgid "Require user to supply mail on signup" msgstr "Benutzer müssen bei der Registrierung eine E-Mail angeben" -#: common/models.py:1971 +#: common/models.py:1982 msgid "Auto-fill SSO users" msgstr "SSO-Benutzer automatisch ausfüllen" -#: common/models.py:1973 +#: common/models.py:1984 msgid "Automatically fill out user-details from SSO account-data" msgstr "Benutzer-Details automatisch aus SSO-Konto ausfüllen" -#: common/models.py:1979 +#: common/models.py:1990 msgid "Mail twice" msgstr "E-Mail zweimal" -#: common/models.py:1980 +#: common/models.py:1991 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:1985 +#: common/models.py:1996 msgid "Password twice" msgstr "Passwort zweimal" -#: common/models.py:1986 +#: common/models.py:1997 msgid "On signup ask users twice for their password" msgstr "Bei der Registrierung den Benutzer zweimal nach dem Passwort fragen" -#: common/models.py:1991 +#: common/models.py:2002 msgid "Allowed domains" msgstr "Erlaubte Domains" -#: common/models.py:1993 +#: common/models.py:2004 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "Anmeldung auf bestimmte Domänen beschränken (kommagetrennt, beginnend mit @)" -#: common/models.py:1999 +#: common/models.py:2010 msgid "Group on signup" msgstr "Gruppe bei Registrierung" -#: common/models.py:2001 +#: common/models.py:2012 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/models.py:2007 +#: common/models.py:2018 msgid "Enforce MFA" msgstr "MFA erzwingen" -#: common/models.py:2008 +#: common/models.py:2019 msgid "Users must use multifactor security." msgstr "Benutzer müssen Multifaktor-Authentifizierung verwenden." -#: common/models.py:2013 +#: common/models.py:2024 msgid "Check plugins on startup" msgstr "Plugins beim Start prüfen" -#: common/models.py:2015 +#: common/models.py:2026 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:2023 +#: common/models.py:2034 msgid "Check for plugin updates" msgstr "Nach Plugin-Aktualisierungen suchen" -#: common/models.py:2024 +#: common/models.py:2035 msgid "Enable periodic checks for updates to installed plugins" msgstr "Periodische Überprüfungen auf Updates für installierte Plugins aktivieren" -#: common/models.py:2030 +#: common/models.py:2041 msgid "Enable URL integration" msgstr "URL-Integration aktivieren" -#: common/models.py:2031 +#: common/models.py:2042 msgid "Enable plugins to add URL routes" msgstr "Plugins zum Hinzufügen von URLs aktivieren" -#: common/models.py:2037 +#: common/models.py:2048 msgid "Enable navigation integration" msgstr "Navigations-Integration aktivieren" -#: common/models.py:2038 +#: common/models.py:2049 msgid "Enable plugins to integrate into navigation" msgstr "Plugins zur Integration in die Navigation aktivieren" -#: common/models.py:2044 +#: common/models.py:2055 msgid "Enable app integration" msgstr "App-Integration aktivieren" -#: common/models.py:2045 +#: common/models.py:2056 msgid "Enable plugins to add apps" msgstr "Plugins zum Hinzufügen von Apps aktivieren" -#: common/models.py:2051 +#: common/models.py:2062 msgid "Enable schedule integration" msgstr "Terminplan-Integration aktivieren" -#: common/models.py:2052 +#: common/models.py:2063 msgid "Enable plugins to run scheduled tasks" msgstr "Geplante Aufgaben aktivieren" -#: common/models.py:2058 +#: common/models.py:2069 msgid "Enable event integration" msgstr "Ereignis-Integration aktivieren" -#: common/models.py:2059 +#: common/models.py:2070 msgid "Enable plugins to respond to internal events" msgstr "Plugins ermöglichen auf interne Ereignisse zu reagieren" -#: common/models.py:2065 +#: common/models.py:2076 msgid "Enable project codes" msgstr "Projektcodes aktivieren" -#: common/models.py:2066 +#: common/models.py:2077 msgid "Enable project codes for tracking projects" msgstr "Aktiviere Projektcodes für die Verfolgung von Projekten" -#: common/models.py:2071 +#: common/models.py:2082 msgid "Stocktake Functionality" msgstr "Inventurfunktionen" -#: common/models.py:2073 +#: common/models.py:2084 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:2079 +#: common/models.py:2090 msgid "Exclude External Locations" msgstr "Externe Standorte ausschließen" -#: common/models.py:2081 +#: common/models.py:2092 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:2087 +#: common/models.py:2098 msgid "Automatic Stocktake Period" msgstr "Automatische Inventur-Periode" -#: common/models.py:2089 +#: common/models.py:2100 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:2095 +#: common/models.py:2106 msgid "Report Deletion Interval" msgstr "Löschintervall für Berichte" -#: common/models.py:2097 +#: common/models.py:2108 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:2104 +#: common/models.py:2115 msgid "Display Users full names" msgstr "Vollständige Namen von Benutzern anzeigen" -#: common/models.py:2105 +#: common/models.py:2116 msgid "Display Users full names instead of usernames" msgstr "Vollständigen Namen von Benutzern anstatt Benutzername anzeigen" -#: common/models.py:2110 +#: common/models.py:2121 msgid "Enable Test Station Data" msgstr "Teststation-Daten aktivieren" -#: common/models.py:2111 +#: common/models.py:2122 msgid "Enable test station data collection for test results" msgstr "Teststation-Datenerfassung für Testergebnisse aktivieren" -#: common/models.py:2123 common/models.py:2533 +#: common/models.py:2134 common/models.py:2514 msgid "Settings key (must be unique - case insensitive" msgstr "Einstellungs-Schlüssel (muss einzigartig sein, Groß-/ Kleinschreibung wird nicht beachtet)" -#: common/models.py:2166 +#: common/models.py:2177 msgid "Hide inactive parts" msgstr "Inaktive Teile ausblenden" -#: common/models.py:2168 +#: common/models.py:2179 msgid "Hide inactive parts in results displayed on the homepage" msgstr "Ausblenden inaktiver Teile in den auf der Startseite angezeigten Ergebnissen" -#: common/models.py:2174 +#: common/models.py:2185 msgid "Show subscribed parts" msgstr "Abonnierte Teile anzeigen" -#: common/models.py:2175 +#: common/models.py:2186 msgid "Show subscribed parts on the homepage" msgstr "Zeige abonnierte Teile auf der Startseite" -#: common/models.py:2180 +#: common/models.py:2191 msgid "Show subscribed categories" msgstr "Abonnierte Kategorien anzeigen" -#: common/models.py:2181 +#: common/models.py:2192 msgid "Show subscribed part categories on the homepage" msgstr "Zeige abonnierte Teilkategorien auf der Startseite" -#: common/models.py:2186 +#: common/models.py:2197 msgid "Show latest parts" msgstr "Neueste Teile anzeigen" -#: common/models.py:2187 +#: common/models.py:2198 msgid "Show latest parts on the homepage" msgstr "Zeige neueste Teile auf der Startseite" -#: common/models.py:2192 +#: common/models.py:2203 msgid "Show invalid BOMs" msgstr "Zeige ungültige Stücklisten" -#: common/models.py:2193 +#: common/models.py:2204 msgid "Show BOMs that await validation on the homepage" msgstr "Zeige Stücklisten, die noch nicht validiert sind, auf der Startseite" -#: common/models.py:2198 +#: common/models.py:2209 msgid "Show recent stock changes" msgstr "Neueste Bestandänderungen anzeigen" -#: common/models.py:2199 +#: common/models.py:2210 msgid "Show recently changed stock items on the homepage" msgstr "Zeige zuletzt geänderte Lagerbestände auf der Startseite" -#: common/models.py:2204 +#: common/models.py:2215 msgid "Show low stock" msgstr "Niedrigen Bestand anzeigen" -#: common/models.py:2205 +#: common/models.py:2216 msgid "Show low stock items on the homepage" msgstr "Zeige geringen Bestand auf der Startseite" -#: common/models.py:2210 +#: common/models.py:2221 msgid "Show depleted stock" msgstr "Lerren Bestand anzeigen" -#: common/models.py:2211 +#: common/models.py:2222 msgid "Show depleted stock items on the homepage" msgstr "Zeige aufgebrauchte Lagerartikel auf der Startseite" -#: common/models.py:2216 +#: common/models.py:2227 msgid "Show needed stock" msgstr "Benötigten Bestand anzeigen" -#: common/models.py:2217 +#: common/models.py:2228 msgid "Show stock items needed for builds on the homepage" msgstr "Zeige Bestand für Bauaufträge auf der Startseite" -#: common/models.py:2222 +#: common/models.py:2233 msgid "Show expired stock" msgstr "Abgelaufenen Bestand anzeigen" -#: common/models.py:2223 +#: common/models.py:2234 msgid "Show expired stock items on the homepage" msgstr "Zeige abgelaufene Lagerbestände auf der Startseite" -#: common/models.py:2228 +#: common/models.py:2239 msgid "Show stale stock" msgstr "Alten Bestand anzeigen" -#: common/models.py:2229 +#: common/models.py:2240 msgid "Show stale stock items on the homepage" msgstr "Zeige überfällige Lagerartikel auf der Startseite" -#: common/models.py:2234 +#: common/models.py:2245 msgid "Show pending builds" msgstr "Ausstehende Bauaufträge anzeigen" -#: common/models.py:2235 +#: common/models.py:2246 msgid "Show pending builds on the homepage" msgstr "Zeige ausstehende Bauaufträge auf der Startseite" -#: common/models.py:2240 +#: common/models.py:2251 msgid "Show overdue builds" msgstr "Zeige überfällige Bauaufträge" -#: common/models.py:2241 +#: common/models.py:2252 msgid "Show overdue builds on the homepage" msgstr "Zeige überfällige Bauaufträge auf der Startseite" -#: common/models.py:2246 +#: common/models.py:2257 msgid "Show outstanding POs" msgstr "Ausstehende POs anzeigen" -#: common/models.py:2247 +#: common/models.py:2258 msgid "Show outstanding POs on the homepage" msgstr "Zeige ausstehende POs auf der Startseite" -#: common/models.py:2252 +#: common/models.py:2263 msgid "Show overdue POs" msgstr "Überfällige POs anzeigen" -#: common/models.py:2253 +#: common/models.py:2264 msgid "Show overdue POs on the homepage" msgstr "Zeige überfällige POs auf der Startseite" -#: common/models.py:2258 +#: common/models.py:2269 msgid "Show outstanding SOs" msgstr "Ausstehende SOs anzeigen" -#: common/models.py:2259 +#: common/models.py:2270 msgid "Show outstanding SOs on the homepage" msgstr "Zeige ausstehende SOs auf der Startseite" -#: common/models.py:2264 +#: common/models.py:2275 msgid "Show overdue SOs" msgstr "Überfällige SOs anzeigen" -#: common/models.py:2265 +#: common/models.py:2276 msgid "Show overdue SOs on the homepage" msgstr "Zeige überfällige SOs auf der Startseite" -#: common/models.py:2270 +#: common/models.py:2281 msgid "Show pending SO shipments" msgstr "Ausstehende Versandaufträge anzeigen" -#: common/models.py:2271 +#: common/models.py:2282 msgid "Show pending SO shipments on the homepage" msgstr "Ausstehende Versandaufträge auf der Startseite anzeigen" -#: common/models.py:2276 +#: common/models.py:2287 msgid "Show News" msgstr "Zeige Neuigkeiten" -#: common/models.py:2277 +#: common/models.py:2288 msgid "Show news on the homepage" msgstr "Neuigkeiten auf der Startseite anzeigen" -#: common/models.py:2282 +#: common/models.py:2293 msgid "Inline label display" msgstr "Label inline anzeigen" -#: common/models.py:2284 +#: common/models.py:2295 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:2290 +#: common/models.py:2301 msgid "Default label printer" msgstr "Standard-Etikettendrucker" -#: common/models.py:2292 +#: common/models.py:2303 msgid "Configure which label printer should be selected by default" msgstr "Einen standardmäßig ausgewählten Etikettendrucker konfigurieren" -#: common/models.py:2298 +#: common/models.py:2309 msgid "Inline report display" msgstr "Berichte inline anzeigen" -#: common/models.py:2300 +#: common/models.py:2311 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:2306 +#: common/models.py:2317 msgid "Search Parts" msgstr "Teile suchen" -#: common/models.py:2307 +#: common/models.py:2318 msgid "Display parts in search preview window" msgstr "Teile in der Suchvorschau anzeigen" -#: common/models.py:2312 +#: common/models.py:2323 msgid "Search Supplier Parts" msgstr "Zulieferteile durchsuchen" -#: common/models.py:2313 +#: common/models.py:2324 msgid "Display supplier parts in search preview window" msgstr "Zuliefererteile in der Suchvorschau anzeigen" -#: common/models.py:2318 +#: common/models.py:2329 msgid "Search Manufacturer Parts" msgstr "Herstellerteile durchsuchen" -#: common/models.py:2319 +#: common/models.py:2330 msgid "Display manufacturer parts in search preview window" msgstr "Herstellerteile in der Suchvorschau anzeigen" -#: common/models.py:2324 +#: common/models.py:2335 msgid "Hide Inactive Parts" msgstr "Inaktive Teile ausblenden" -#: common/models.py:2325 +#: common/models.py:2336 msgid "Excluded inactive parts from search preview window" msgstr "Inaktive Teile in der Suchvorschau ausblenden" -#: common/models.py:2330 +#: common/models.py:2341 msgid "Search Categories" msgstr "Kategorien durchsuchen" -#: common/models.py:2331 +#: common/models.py:2342 msgid "Display part categories in search preview window" msgstr "Teilekategorien in der Suchvorschau anzeigen" -#: common/models.py:2336 +#: common/models.py:2347 msgid "Search Stock" msgstr "Bestand durchsuchen" -#: common/models.py:2337 +#: common/models.py:2348 msgid "Display stock items in search preview window" msgstr "Lagerartikel in Suchvorschau anzeigen" -#: common/models.py:2342 +#: common/models.py:2353 msgid "Hide Unavailable Stock Items" msgstr "Nicht verfügbare Artikel ausblenden" -#: common/models.py:2344 +#: common/models.py:2355 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:2350 +#: common/models.py:2361 msgid "Search Locations" msgstr "Lagerorte durchsuchen" -#: common/models.py:2351 +#: common/models.py:2362 msgid "Display stock locations in search preview window" msgstr "Lagerorte in Suchvorschau anzeigen" -#: common/models.py:2356 +#: common/models.py:2367 msgid "Search Companies" msgstr "Firmen durchsuchen" -#: common/models.py:2357 +#: common/models.py:2368 msgid "Display companies in search preview window" msgstr "Firmen in der Suchvorschau anzeigen" -#: common/models.py:2362 +#: common/models.py:2373 msgid "Search Build Orders" msgstr "Bauaufträge durchsuchen" -#: common/models.py:2363 +#: common/models.py:2374 msgid "Display build orders in search preview window" msgstr "Bauaufträge in der Suchvorschau anzeigen" -#: common/models.py:2368 +#: common/models.py:2379 msgid "Search Purchase Orders" msgstr "Bestellungen durchsuchen" -#: common/models.py:2369 +#: common/models.py:2380 msgid "Display purchase orders in search preview window" msgstr "Bestellungen in der Suchvorschau anzeigen" -#: common/models.py:2374 +#: common/models.py:2385 msgid "Exclude Inactive Purchase Orders" msgstr "Inaktive Bestellungen ausblenden" -#: common/models.py:2376 +#: common/models.py:2387 msgid "Exclude inactive purchase orders from search preview window" msgstr "Inaktive Bestellungen in der Suchvorschau ausblenden" -#: common/models.py:2382 +#: common/models.py:2393 msgid "Search Sales Orders" msgstr "Aufträge durchsuchen" -#: common/models.py:2383 +#: common/models.py:2394 msgid "Display sales orders in search preview window" msgstr "Aufträge in der Suchvorschau anzeigen" -#: common/models.py:2388 +#: common/models.py:2399 msgid "Exclude Inactive Sales Orders" msgstr "Inaktive Aufträge ausblenden" -#: common/models.py:2390 +#: common/models.py:2401 msgid "Exclude inactive sales orders from search preview window" msgstr "Inaktive Aufträge in der Suchvorschau ausblenden" -#: common/models.py:2396 +#: common/models.py:2407 msgid "Search Return Orders" msgstr "Suche nach Rücksendungen" -#: common/models.py:2397 +#: common/models.py:2408 msgid "Display return orders in search preview window" msgstr "Rücksendungen in der Suchvorschau anzeigen" -#: common/models.py:2402 +#: common/models.py:2413 msgid "Exclude Inactive Return Orders" msgstr "Inaktive Rücksendungen ausblenden" -#: common/models.py:2404 +#: common/models.py:2415 msgid "Exclude inactive return orders from search preview window" msgstr "Inaktive Rücksendungen in der Suchvorschau ausblenden" -#: common/models.py:2410 +#: common/models.py:2421 msgid "Search Preview Results" msgstr "Anzahl Suchergebnisse" -#: common/models.py:2412 +#: common/models.py:2423 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:2418 +#: common/models.py:2429 msgid "Regex Search" msgstr "Regex Suche" -#: common/models.py:2419 +#: common/models.py:2430 msgid "Enable regular expressions in search queries" msgstr "Reguläre Ausdrücke in Suchabfragen aktivieren" -#: common/models.py:2424 +#: common/models.py:2435 msgid "Whole Word Search" msgstr "Ganzes Wort suchen" -#: common/models.py:2425 +#: common/models.py:2436 msgid "Search queries return results for whole word matches" msgstr "Suchabfragen liefern Ergebnisse für ganze Wortkombinationen" -#: common/models.py:2430 +#: common/models.py:2441 msgid "Show Quantity in Forms" msgstr "zeige Bestand in Eingabemasken" -#: common/models.py:2431 +#: common/models.py:2442 msgid "Display available part quantity in some forms" msgstr "Zeige den verfügbaren Bestand in einigen Eingabemasken" -#: common/models.py:2436 +#: common/models.py:2447 msgid "Escape Key Closes Forms" msgstr "Esc-Taste schließt Formulare" -#: common/models.py:2437 +#: common/models.py:2448 msgid "Use the escape key to close modal forms" msgstr "Benutze die Esc-Taste, um Formulare zu schließen" -#: common/models.py:2442 +#: common/models.py:2453 msgid "Fixed Navbar" msgstr "Fixierter Navigationsleiste" -#: common/models.py:2443 +#: common/models.py:2454 msgid "The navbar position is fixed to the top of the screen" msgstr "Position der Navigationsleiste am oberen Bildschirmrand fixieren" -#: common/models.py:2448 +#: common/models.py:2459 msgid "Date Format" msgstr "Datumsformat" -#: common/models.py:2449 +#: common/models.py:2460 msgid "Preferred format for displaying dates" msgstr "Bevorzugtes Format für die Anzeige von Daten" -#: common/models.py:2462 part/templates/part/detail.html:41 +#: common/models.py:2473 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Teilzeitplanung" -#: common/models.py:2463 +#: common/models.py:2474 msgid "Display part scheduling information" msgstr "Zeige Zeitplanung für Teile" -#: common/models.py:2468 part/templates/part/detail.html:62 +#: common/models.py:2479 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "Inventur" -#: common/models.py:2470 +#: common/models.py:2481 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "Zeigt Inventur-Informationen an (falls die Inventurfunktion aktiviert ist)" -#: common/models.py:2476 +#: common/models.py:2487 msgid "Table String Length" msgstr "Zeichenkettenlänge in Tabellen" -#: common/models.py:2478 +#: common/models.py:2489 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:2484 -msgid "Default part label template" -msgstr "Standardvorlage für Teilebeschriftung" - -#: common/models.py:2485 -msgid "The part label template to be automatically selected" -msgstr "Die Teil-Etikettenvorlage, die automatisch ausgewählt werden soll" - -#: common/models.py:2490 -msgid "Default stock item template" -msgstr "Lagerartikel-Standardvorlage" - -#: common/models.py:2492 -msgid "The stock item label template to be automatically selected" -msgstr "Die Lagerartikel-Etikettenvorlage soll automatisch ausgewählt werden" - -#: common/models.py:2498 -msgid "Default stock location label template" -msgstr "Standardetikettenvorlage für Lagerstandort" - -#: common/models.py:2500 -msgid "The stock location label template to be automatically selected" -msgstr "Die Lagerstandort-Etikettenvorlage, die automatisch ausgewählt werden soll" - -#: common/models.py:2506 -msgid "Default build line label template" -msgstr "Standardetikettenvorlage für Bauauftragspositionen" - -#: common/models.py:2508 -msgid "The build line label template to be automatically selected" -msgstr "Die Bauauftragspositionsetikettenvorlage welche automatisch ausgewählt werden soll" - -#: common/models.py:2514 +#: common/models.py:2495 msgid "Receive error reports" msgstr "Fehlerberichte empfangen" -#: common/models.py:2515 +#: common/models.py:2496 msgid "Receive notifications for system errors" msgstr "Benachrichtigungen bei Systemfehlern erhalten" -#: common/models.py:2520 +#: common/models.py:2501 msgid "Last used printing machines" msgstr "Zuletzt verwendete Druckmaschinen" -#: common/models.py:2521 +#: common/models.py:2502 msgid "Save the last used printing machines for a user" msgstr "Die zuletzt benutzten Druckmaschinen für einen Benutzer speichern" -#: common/models.py:2541 common/models.py:2542 common/models.py:2691 -#: common/models.py:2692 common/models.py:2937 common/models.py:2938 -#: common/models.py:3259 common/models.py:3260 part/models.py:3193 -#: part/models.py:3280 part/models.py:3353 part/models.py:3381 -#: plugin/models.py:274 plugin/models.py:275 +#: common/models.py:2522 common/models.py:2523 common/models.py:2672 +#: common/models.py:2673 common/models.py:2918 common/models.py:2919 +#: common/models.py:3245 common/models.py:3246 importer/models.py:85 +#: part/models.py:3203 part/models.py:3290 part/models.py:3364 +#: part/models.py:3392 plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 msgid "User" msgstr "Benutzer" -#: common/models.py:2564 +#: common/models.py:2545 msgid "Price break quantity" msgstr "Preisstaffelungs Anzahl" -#: common/models.py:2571 company/serializers.py:472 order/admin.py:42 -#: order/models.py:1346 order/models.py:2265 -#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1886 +#: common/models.py:2552 company/serializers.py:502 order/admin.py:42 +#: order/models.py:1346 order/models.py:2292 +#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1889 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:740 msgid "Price" msgstr "Preis" -#: common/models.py:2572 +#: common/models.py:2553 msgid "Unit price at specified quantity" msgstr "Stückpreis für die angegebene Anzahl" -#: common/models.py:2668 common/models.py:2853 +#: common/models.py:2649 common/models.py:2834 msgid "Endpoint" msgstr "Endpunkt" -#: common/models.py:2669 +#: common/models.py:2650 msgid "Endpoint at which this webhook is received" msgstr "Endpunkt, an dem dieser Webhook empfangen wird" -#: common/models.py:2679 +#: common/models.py:2660 msgid "Name for this webhook" msgstr "Name für diesen Webhook" -#: common/models.py:2683 +#: common/models.py:2664 msgid "Is this webhook active" msgstr "Ist dieser Webhook aktiv" -#: common/models.py:2699 users/models.py:159 +#: common/models.py:2680 users/models.py:159 msgid "Token" msgstr "Token" -#: common/models.py:2700 +#: common/models.py:2681 msgid "Token for access" msgstr "Token für Zugang" -#: common/models.py:2708 +#: common/models.py:2689 msgid "Secret" msgstr "Geheimnis" -#: common/models.py:2709 +#: common/models.py:2690 msgid "Shared secret for HMAC" msgstr "Shared Secret für HMAC" -#: common/models.py:2817 +#: common/models.py:2798 msgid "Message ID" msgstr "Nachrichten-ID" -#: common/models.py:2818 +#: common/models.py:2799 msgid "Unique identifier for this message" msgstr "Eindeutige Kennung für diese Nachricht" -#: common/models.py:2826 +#: common/models.py:2807 msgid "Host" msgstr "Host" -#: common/models.py:2827 +#: common/models.py:2808 msgid "Host from which this message was received" msgstr "Host von dem diese Nachricht empfangen wurde" -#: common/models.py:2835 +#: common/models.py:2816 msgid "Header" msgstr "Kopfzeile" -#: common/models.py:2836 +#: common/models.py:2817 msgid "Header of this message" msgstr "Header dieser Nachricht" -#: common/models.py:2843 +#: common/models.py:2824 msgid "Body" msgstr "Body" -#: common/models.py:2844 +#: common/models.py:2825 msgid "Body of this message" msgstr "Body dieser Nachricht" -#: common/models.py:2854 +#: common/models.py:2835 msgid "Endpoint on which this message was received" msgstr "Endpunkt, über den diese Nachricht empfangen wurde" -#: common/models.py:2859 +#: common/models.py:2840 msgid "Worked on" msgstr "Bearbeitet" -#: common/models.py:2860 +#: common/models.py:2841 msgid "Was the work on this message finished?" msgstr "Wurde die Arbeit an dieser Nachricht abgeschlossen?" -#: common/models.py:2986 +#: common/models.py:2967 msgid "Id" msgstr "ID" -#: common/models.py:2988 templates/js/translated/company.js:965 +#: common/models.py:2969 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "Titel" -#: common/models.py:2990 common/models.py:3243 company/models.py:149 -#: company/models.py:440 company/models.py:500 company/models.py:799 -#: order/models.py:303 order/models.py:1301 order/models.py:1717 -#: part/admin.py:55 part/models.py:955 +#: common/models.py:2971 common/models.py:3229 company/models.py:149 +#: company/models.py:446 company/models.py:506 company/models.py:806 +#: order/models.py:303 order/models.py:1301 order/models.py:1733 +#: part/admin.py:55 part/models.py:959 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:229 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/part.js:2459 #: templates/js/translated/purchase_order.js:2040 #: templates/js/translated/purchase_order.js:2204 #: templates/js/translated/return_order.js:779 @@ -3607,28 +3660,28 @@ msgstr "Titel" msgid "Link" msgstr "Link" -#: common/models.py:2992 templates/js/translated/news.js:60 +#: common/models.py:2973 templates/js/translated/news.js:60 msgid "Published" msgstr "Veröffentlicht" -#: common/models.py:2994 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2975 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:2996 templates/js/translated/news.js:52 +#: common/models.py:2977 templates/js/translated/news.js:52 msgid "Summary" msgstr "Zusammenfassung" -#: common/models.py:2999 +#: common/models.py:2980 msgid "Read" msgstr "Gelesen" -#: common/models.py:2999 +#: common/models.py:2980 msgid "Was this news item read?" msgstr "Wurde diese Nachricht gelesen?" -#: common/models.py:3016 company/models.py:159 part/models.py:965 +#: common/models.py:2997 company/models.py:159 part/models.py:969 #: 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.html:35 @@ -3638,90 +3691,96 @@ msgstr "Wurde diese Nachricht gelesen?" msgid "Image" msgstr "Bild" -#: common/models.py:3016 +#: common/models.py:2997 msgid "Image file" msgstr "Bilddatei" -#: common/models.py:3028 common/models.py:3227 +#: common/models.py:3009 common/models.py:3213 msgid "Target model type for this image" msgstr "" -#: common/models.py:3032 +#: common/models.py:3013 msgid "Target model ID for this image" msgstr "" -#: common/models.py:3070 +#: common/models.py:3035 +#, fuzzy +#| msgid "New Custom Unit" +msgid "Custom Unit" +msgstr "Neue benutzerdefinierte Einheit" + +#: common/models.py:3056 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:3085 +#: common/models.py:3071 msgid "Unit name must be a valid identifier" msgstr "Einheitsname muss eine gültige Kennung sein" -#: common/models.py:3104 +#: common/models.py:3090 msgid "Unit name" msgstr "Einheitsname" -#: common/models.py:3111 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3097 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "Symbol" -#: common/models.py:3112 +#: common/models.py:3098 msgid "Optional unit symbol" msgstr "Optionales Einheitssymbol" -#: common/models.py:3118 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3104 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "Definition" -#: common/models.py:3119 +#: common/models.py:3105 msgid "Unit definition" msgstr "Einheitsdefinition" -#: common/models.py:3177 common/models.py:3234 stock/models.py:2461 +#: common/models.py:3163 common/models.py:3220 stock/models.py:2471 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" msgstr "Anhang" -#: common/models.py:3189 +#: common/models.py:3175 msgid "Missing file" msgstr "Fehlende Datei" -#: common/models.py:3190 +#: common/models.py:3176 msgid "Missing external link" msgstr "Fehlender externer Link" -#: common/models.py:3235 +#: common/models.py:3221 msgid "Select file to attach" msgstr "Datei zum Anhängen auswählen" -#: common/models.py:3250 templates/js/translated/attachment.js:120 +#: common/models.py:3236 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" msgstr "Kommentar" -#: common/models.py:3251 +#: common/models.py:3237 msgid "Attachment comment" msgstr "" -#: common/models.py:3267 +#: common/models.py:3253 msgid "Upload date" msgstr "Upload Datum" -#: common/models.py:3268 +#: common/models.py:3254 msgid "Date the file was uploaded" msgstr "Datum der hochgeladenen Datei" -#: common/models.py:3272 +#: common/models.py:3258 msgid "File size" msgstr "Dateigröße" -#: common/models.py:3272 +#: common/models.py:3258 msgid "File size in bytes" msgstr "Dateigröße in Bytes" -#: common/models.py:3310 common/serializers.py:553 +#: common/models.py:3296 common/serializers.py:557 msgid "Invalid model type specified for attachment" msgstr "Ungültiger Modelltyp für Anhang angegeben" @@ -3743,7 +3802,7 @@ msgstr "{verbose_name} storniert" msgid "A order that is assigned to you was canceled" msgstr "Eine Bestellung, die Ihnen zugewiesen war, wurde storniert" -#: common/notifications.py:330 common/notifications.py:337 order/api.py:472 +#: common/notifications.py:330 common/notifications.py:337 order/api.py:454 msgid "Items Received" msgstr "Artikel erhalten" @@ -3759,75 +3818,75 @@ msgstr "Artikel wurden aus einer Rücksendung erhalten" msgid "Error raised by plugin" msgstr "Fehler in Plugin aufgetreten" -#: common/serializers.py:371 +#: common/serializers.py:375 msgid "Is Running" msgstr "Wird ausgeführt" -#: common/serializers.py:377 +#: common/serializers.py:381 msgid "Pending Tasks" msgstr "Anstehende Aufgaben" -#: common/serializers.py:383 +#: common/serializers.py:387 msgid "Scheduled Tasks" msgstr "Geplante Aufgaben" -#: common/serializers.py:389 +#: common/serializers.py:393 msgid "Failed Tasks" msgstr "Fehlgeschlagene Aufgaben" -#: common/serializers.py:404 +#: common/serializers.py:408 msgid "Task ID" msgstr "Aufgabe-ID" -#: common/serializers.py:404 +#: common/serializers.py:408 msgid "Unique task ID" msgstr "Eindeutige Aufgaben-ID" -#: common/serializers.py:406 +#: common/serializers.py:410 msgid "Lock" msgstr "Sperren" -#: common/serializers.py:406 +#: common/serializers.py:410 msgid "Lock time" msgstr "Sperrzeit" -#: common/serializers.py:408 +#: common/serializers.py:412 msgid "Task name" msgstr "Aufgabenname" -#: common/serializers.py:410 +#: common/serializers.py:414 msgid "Function" msgstr "Funktion" -#: common/serializers.py:410 +#: common/serializers.py:414 msgid "Function name" msgstr "Funktionsname" -#: common/serializers.py:412 +#: common/serializers.py:416 msgid "Arguments" msgstr "Parameter" -#: common/serializers.py:412 +#: common/serializers.py:416 msgid "Task arguments" msgstr "Aufgaben-Parameter" -#: common/serializers.py:415 +#: common/serializers.py:419 msgid "Keyword Arguments" msgstr "Schlüsselwort Parameter" -#: common/serializers.py:415 +#: common/serializers.py:419 msgid "Task keyword arguments" msgstr "Schlüsselwort Parameter für Aufgaben" -#: common/serializers.py:525 +#: common/serializers.py:529 msgid "Filename" msgstr "Dateiname" -#: common/serializers.py:532 report/api.py:100 report/serializers.py:53 +#: common/serializers.py:536 report/api.py:100 report/serializers.py:53 msgid "Model Type" msgstr "Modelltyp" -#: common/serializers.py:559 +#: common/serializers.py:563 msgid "User does not have permission to create or edit attachments for this model" msgstr "Benutzer hat keine Berechtigung, Anhänge für dieses Modell zu erstellen oder zu bearbeiten" @@ -3894,29 +3953,29 @@ msgstr "Teile importiert" msgid "Previous Step" msgstr "Vorheriger Schritt" -#: company/api.py:144 +#: company/api.py:141 msgid "Part is Active" msgstr "Teil ist aktiv" -#: company/api.py:148 +#: company/api.py:145 msgid "Manufacturer is Active" msgstr "Hersteller ist aktiv" -#: company/api.py:281 +#: company/api.py:278 msgid "Supplier Part is Active" msgstr "Lieferantenteil ist aktiv" -#: company/api.py:285 +#: company/api.py:282 msgid "Internal Part is Active" msgstr "Internes Teil ist aktiv" -#: company/api.py:289 +#: company/api.py:286 msgid "Supplier is Active" msgstr "Lieferant ist aktiv" -#: company/models.py:100 company/models.py:365 +#: company/models.py:100 company/models.py:371 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:822 +#: company/templates/company/company_base.html:12 stock/api.py:814 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "Firma" @@ -3956,8 +4015,9 @@ msgstr "Kontakt-Telefon" msgid "Contact email address" msgstr "Kontakt-Email" -#: company/models.py:142 company/templates/company/company_base.html:145 -#: order/models.py:343 order/templates/order/order_base.html:203 +#: company/models.py:142 company/models.py:275 +#: company/templates/company/company_base.html:145 order/models.py:343 +#: order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 #: order/templates/order/sales_order_base.html:218 msgid "Contact" @@ -3976,7 +4036,9 @@ msgid "Is this company active?" msgstr "Ist dieses Unternehmen aktiv?" #: company/models.py:168 -msgid "is customer" +#, fuzzy +#| msgid "is customer" +msgid "Is customer" msgstr "ist Kunde" #: company/models.py:169 @@ -3984,7 +4046,9 @@ msgid "Do you sell items to this company?" msgstr "Verkaufen Sie Teile an diese Firma?" #: company/models.py:174 -msgid "is supplier" +#, fuzzy +#| msgid "is supplier" +msgid "Is supplier" msgstr "ist Zulieferer" #: company/models.py:175 @@ -3992,7 +4056,9 @@ msgid "Do you purchase items from this company?" msgstr "Kaufen Sie Teile von dieser Firma?" #: company/models.py:180 -msgid "is manufacturer" +#, fuzzy +#| msgid "is manufacturer" +msgid "Is manufacturer" msgstr "ist Hersteller" #: company/models.py:181 @@ -4003,178 +4069,191 @@ msgstr "Produziert diese Firma Teile?" msgid "Default currency used for this company" msgstr "Standard-Währung für diese Firma" -#: company/models.py:366 +#: company/models.py:314 company/templates/company/company_base.html:124 +#: order/models.py:353 order/templates/order/order_base.html:210 +#: order/templates/order/return_order_base.html:181 +#: order/templates/order/sales_order_base.html:225 +msgid "Address" +msgstr "Adresse" + +#: company/models.py:315 company/templates/company/sidebar.html:35 +msgid "Addresses" +msgstr "Adressen" + +#: company/models.py:372 msgid "Select company" msgstr "Firma auswählen" -#: company/models.py:371 +#: company/models.py:377 msgid "Address title" msgstr "Adresstitel" -#: company/models.py:372 +#: company/models.py:378 msgid "Title describing the address entry" msgstr "Titel zur Beschreibung des Adresseintrages" -#: company/models.py:378 +#: company/models.py:384 msgid "Primary address" msgstr "Primäre Adresse" -#: company/models.py:379 +#: company/models.py:385 msgid "Set as primary address" msgstr "Als primäre Adresse festlegen" -#: company/models.py:384 templates/js/translated/company.js:914 +#: company/models.py:390 templates/js/translated/company.js:914 #: templates/js/translated/company.js:971 msgid "Line 1" msgstr "Linie 1" -#: company/models.py:385 +#: company/models.py:391 msgid "Address line 1" msgstr "Adresszeile 1" -#: company/models.py:391 templates/js/translated/company.js:915 +#: company/models.py:397 templates/js/translated/company.js:915 #: templates/js/translated/company.js:977 msgid "Line 2" msgstr "Linie 2" -#: company/models.py:392 +#: company/models.py:398 msgid "Address line 2" msgstr "Adresszeile 2" -#: company/models.py:398 company/models.py:399 +#: company/models.py:404 company/models.py:405 #: templates/js/translated/company.js:983 msgid "Postal code" msgstr "Postleitzahl" -#: company/models.py:405 +#: company/models.py:411 msgid "City/Region" msgstr "Stadt/Region" -#: company/models.py:406 +#: company/models.py:412 msgid "Postal code city/region" msgstr "Postleitzahl Stadt/Region" -#: company/models.py:412 +#: company/models.py:418 msgid "State/Province" msgstr "Staat/Provinz" -#: company/models.py:413 +#: company/models.py:419 msgid "State or province" msgstr "Bundesland" -#: company/models.py:419 templates/js/translated/company.js:1001 +#: company/models.py:425 templates/js/translated/company.js:1001 msgid "Country" msgstr "Land" -#: company/models.py:420 +#: company/models.py:426 msgid "Address country" msgstr "Adresse Land" -#: company/models.py:426 +#: company/models.py:432 msgid "Courier shipping notes" msgstr "Versandnotizen" -#: company/models.py:427 +#: company/models.py:433 msgid "Notes for shipping courier" msgstr "Notizen für Versandkurier" -#: company/models.py:433 +#: company/models.py:439 msgid "Internal shipping notes" msgstr "Interne Versandnotizen" -#: company/models.py:434 +#: company/models.py:440 msgid "Shipping notes for internal use" msgstr "Versandnotizen für interne Verwendung" -#: company/models.py:441 +#: company/models.py:447 msgid "Link to address information (external)" msgstr "Link zu Adressinformationen (extern)" -#: company/models.py:463 company/models.py:574 company/models.py:792 +#: company/models.py:469 company/models.py:581 company/models.py:799 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:217 msgid "Manufacturer Part" msgstr "Herstellerteil" -#: company/models.py:475 company/models.py:760 stock/models.py:767 -#: stock/serializers.py:422 stock/templates/stock/item_base.html:142 +#: company/models.py:481 company/models.py:767 stock/models.py:767 +#: stock/serializers.py:442 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "Basisteil" -#: company/models.py:477 company/models.py:762 +#: company/models.py:483 company/models.py:769 msgid "Select part" msgstr "Teil auswählen" -#: company/models.py:486 company/templates/company/company_base.html:82 +#: company/models.py:492 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:525 +#: company/templates/company/supplier_part.html:145 part/serializers.py:543 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 #: templates/js/translated/company.js:1296 #: templates/js/translated/company.js:1611 -#: templates/js/translated/table_filters.js:800 +#: templates/js/translated/table_filters.js:805 msgid "Manufacturer" msgstr "Hersteller" -#: company/models.py:487 +#: company/models.py:493 msgid "Select manufacturer" msgstr "Hersteller auswählen" -#: company/models.py:493 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:535 -#: templates/js/translated/company.js:351 +#: company/models.py:499 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:153 order/serializers.py:518 +#: part/serializers.py:553 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:1801 +#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1804 #: templates/js/translated/purchase_order.js:1851 #: templates/js/translated/purchase_order.js:2053 msgid "MPN" msgstr "MPN" -#: company/models.py:494 -msgid "Manufacturer Part Number" -msgstr "Hersteller-Teilenummer" - -#: company/models.py:501 +#: company/models.py:507 msgid "URL for external manufacturer part link" msgstr "Externe URL für das Herstellerteil" -#: company/models.py:510 +#: company/models.py:516 msgid "Manufacturer part description" msgstr "Teilbeschreibung des Herstellers" -#: company/models.py:581 +#: company/models.py:569 +#, fuzzy +#| msgid "Manufacturer Part Number" +msgid "Manufacturer Part Parameter" +msgstr "Hersteller-Teilenummer" + +#: company/models.py:588 msgid "Parameter name" msgstr "Parametername" -#: company/models.py:587 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2453 templates/js/translated/company.js:1166 -#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1493 +#: company/models.py:594 report/templates/report/inventree_test_report.html:104 +#: stock/models.py:2463 templates/js/translated/company.js:1166 +#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1496 #: templates/js/translated/stock.js:1522 msgid "Value" msgstr "Wert" -#: company/models.py:588 +#: company/models.py:595 msgid "Parameter value" msgstr "Parameterwert" -#: company/models.py:595 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1045 part/models.py:3646 +#: company/models.py:602 company/templates/company/supplier_part.html:168 +#: part/admin.py:57 part/models.py:1049 part/models.py:3667 #: part/templates/part/part_base.html:284 -#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1512 -#: templates/js/translated/part.js:1616 templates/js/translated/part.js:2370 +#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1515 +#: templates/js/translated/part.js:1619 templates/js/translated/part.js:2373 msgid "Units" msgstr "Einheiten" -#: company/models.py:596 +#: company/models.py:603 msgid "Parameter units" msgstr "Parametereinheit" -#: company/models.py:648 company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 order/api.py:452 +#: company/models.py:655 company/templates/company/supplier_part.html:7 +#: company/templates/company/supplier_part.html:24 order/api.py:434 #: stock/models.py:778 stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 @@ -4182,91 +4261,91 @@ msgstr "Parametereinheit" msgid "Supplier Part" msgstr "Zuliefererteil" -#: company/models.py:700 +#: company/models.py:707 msgid "Pack units must be compatible with the base part units" msgstr "Packeinheiten müssen mit den Basisteileinheiten kompatibel sein" -#: company/models.py:707 +#: company/models.py:714 msgid "Pack units must be greater than zero" msgstr "Packeinheiten müssen größer als Null sein" -#: company/models.py:721 +#: company/models.py:728 msgid "Linked manufacturer part must reference the same base part" msgstr "Verlinktes Herstellerteil muss dasselbe Basisteil referenzieren" -#: company/models.py:770 company/templates/company/company_base.html:87 +#: company/models.py:777 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:509 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:527 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 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:511 -#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1769 +#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1772 #: templates/js/translated/pricing.js:498 #: templates/js/translated/purchase_order.js:1689 -#: templates/js/translated/table_filters.js:804 +#: templates/js/translated/table_filters.js:809 msgid "Supplier" msgstr "Zulieferer" -#: company/models.py:771 +#: company/models.py:778 msgid "Select supplier" msgstr "Zulieferer auswählen" -#: company/models.py:777 part/serializers.py:520 +#: company/models.py:784 part/serializers.py:538 msgid "Supplier stock keeping unit" msgstr "Lagerbestandseinheit (SKU) des Zulieferers" -#: company/models.py:783 +#: company/models.py:790 msgid "Is this supplier part active?" msgstr "Ist dieser Lieferantenteil aktiv?" -#: company/models.py:793 +#: company/models.py:800 msgid "Select manufacturer part" msgstr "Herstellerteil auswählen" -#: company/models.py:800 +#: company/models.py:807 msgid "URL for external supplier part link" msgstr "Teil-URL des Zulieferers" -#: company/models.py:809 +#: company/models.py:816 msgid "Supplier part description" msgstr "Zuliefererbeschreibung des Teils" -#: company/models.py:816 company/templates/company/supplier_part.html:187 -#: part/admin.py:412 part/models.py:4093 part/templates/part/upload_bom.html:59 +#: company/models.py:823 company/templates/company/supplier_part.html:187 +#: part/admin.py:412 part/models.py:4178 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: 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:710 +#: stock/serializers.py:768 msgid "Note" msgstr "Notiz" -#: company/models.py:825 part/models.py:2003 +#: company/models.py:832 part/models.py:2013 msgid "base cost" msgstr "Basiskosten" -#: company/models.py:826 part/models.py:2004 +#: company/models.py:833 part/models.py:2014 msgid "Minimum charge (e.g. stocking fee)" msgstr "Mindestpreis" -#: company/models.py:833 company/templates/company/supplier_part.html:160 -#: stock/admin.py:228 stock/models.py:798 stock/serializers.py:1475 +#: company/models.py:840 company/templates/company/supplier_part.html:160 +#: stock/admin.py:228 stock/models.py:798 stock/serializers.py:1541 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 msgid "Packaging" msgstr "Verpackungen" -#: company/models.py:834 +#: company/models.py:841 msgid "Part packaging" msgstr "Teile-Verpackungen" -#: company/models.py:839 templates/js/translated/company.js:1651 -#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 +#: company/models.py:846 templates/js/translated/company.js:1651 +#: templates/js/translated/part.js:1825 templates/js/translated/part.js:1881 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 #: templates/js/translated/purchase_order.js:1103 @@ -4275,35 +4354,47 @@ msgstr "Teile-Verpackungen" msgid "Pack Quantity" msgstr "Packmenge" -#: company/models.py:841 +#: company/models.py:848 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:860 part/models.py:2010 +#: company/models.py:867 part/models.py:2020 msgid "multiple" msgstr "Vielfache" -#: company/models.py:861 +#: company/models.py:868 msgid "Order multiple" msgstr "Mehrere bestellen" -#: company/models.py:873 +#: company/models.py:880 msgid "Quantity available from supplier" msgstr "Verfügbare Menge von Lieferanten" -#: company/models.py:879 +#: company/models.py:886 msgid "Availability Updated" msgstr "Verfügbarkeit aktualisiert" -#: company/models.py:880 +#: company/models.py:887 msgid "Date of last update of availability data" msgstr "Datum des letzten Updates der Verfügbarkeitsdaten" -#: company/serializers.py:161 +#: company/models.py:1015 +#, fuzzy +#| msgid "Delete Price Break" +msgid "Supplier Price Break" +msgstr "Staffelpreis löschen" + +#: company/serializers.py:174 msgid "Default currency used for this supplier" msgstr "Standard-Währung für diesen Zulieferer" -#: company/serializers.py:357 part/admin.py:126 +#: company/serializers.py:210 +#, fuzzy +#| msgid "Company name" +msgid "Company Name" +msgstr "Firmenname" + +#: company/serializers.py:384 part/admin.py:126 part/serializers.py:855 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:355 @@ -4315,7 +4406,7 @@ msgstr "Auf Lager" #: templates/js/translated/company.js:1287 #: templates/js/translated/company.js:1575 #: templates/js/translated/model_renderers.js:312 -#: templates/js/translated/part.js:815 templates/js/translated/part.js:1219 +#: templates/js/translated/part.js:814 templates/js/translated/part.js:1222 msgid "Inactive" msgstr "Inaktiv" @@ -4374,16 +4465,16 @@ msgid "Delete image" msgstr "Bild löschen" #: company/templates/company/company_base.html:92 order/models.py:938 -#: order/models.py:2032 order/templates/order/return_order_base.html:131 +#: order/models.py:2058 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:148 stock/models.py:820 -#: stock/models.py:821 stock/serializers.py:1225 +#: stock/models.py:821 stock/serializers.py:1291 #: 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:295 #: templates/js/translated/sales_order.js:820 #: templates/js/translated/stock.js:2959 -#: templates/js/translated/table_filters.js:808 +#: templates/js/translated/table_filters.js:813 msgid "Customer" msgstr "Kunde" @@ -4391,13 +4482,6 @@ msgstr "Kunde" msgid "Uses default currency" msgstr "verwendet Standard-Währung" -#: company/templates/company/company_base.html:124 order/models.py:353 -#: order/templates/order/order_base.html:210 -#: order/templates/order/return_order_base.html:181 -#: order/templates/order/sales_order_base.html:225 -msgid "Address" -msgstr "Adresse" - #: company/templates/company/company_base.html:131 msgid "Phone" msgstr "Telefon" @@ -4577,7 +4661,8 @@ msgid "Delete manufacturer part" msgstr "Herstellerteil löschen" #: company/templates/company/manufacturer_part.html:65 -#: company/templates/company/supplier_part.html:97 order/api.py:458 +#: company/templates/company/supplier_part.html:97 order/api.py:440 +#: order/serializers.py:526 msgid "Internal Part" msgstr "Internes Teil" @@ -4587,7 +4672,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:832 +#: part/admin.py:122 part/serializers.py:860 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4608,7 +4693,7 @@ msgid "New Parameter" msgstr "Neuer Parameter" #: company/templates/company/manufacturer_part.html:196 -#: templates/js/translated/part.js:1423 +#: templates/js/translated/part.js:1426 msgid "Add Parameter" msgstr "Parameter hinzufügen" @@ -4632,10 +4717,6 @@ msgstr "Zugewiesene Lagerartikel" msgid "Contacts" msgstr "Kontakte" -#: company/templates/company/sidebar.html:35 -msgid "Addresses" -msgstr "Adressen" - #: company/templates/company/supplier_part.html:50 #: templates/js/translated/company.js:1526 msgid "Supplier part actions" @@ -4677,9 +4758,9 @@ msgstr "Zuliefererteil entfernen" 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:519 -#: templates/js/translated/company.js:349 templates/js/translated/part.js:1787 +#: company/templates/company/supplier_part.html:139 order/serializers.py:515 +#: part/bom.py:279 part/bom.py:311 part/serializers.py:537 +#: templates/js/translated/company.js:349 templates/js/translated/part.js:1790 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1850 #: templates/js/translated/purchase_order.js:2028 @@ -4701,75 +4782,275 @@ msgstr "Neuen Lagerartikel hinzufügen" msgid "New Stock Item" msgstr "Neuer Lagerartikel" -#: company/templates/company/supplier_part.html:223 -msgid "Supplier Part Orders" -msgstr "Zulieferer-Bestellungen" +#: company/templates/company/supplier_part.html:223 +msgid "Supplier Part Orders" +msgstr "Zulieferer-Bestellungen" + +#: company/templates/company/supplier_part.html:246 +msgid "Pricing Information" +msgstr "Preisinformationen ansehen" + +#: company/templates/company/supplier_part.html:251 +#: templates/js/translated/company.js:398 +#: templates/js/translated/pricing.js:684 +msgid "Add Price Break" +msgstr "Preisstaffel hinzufügen" + +#: company/templates/company/supplier_part.html:276 +msgid "Supplier Part QR Code" +msgstr "Zulieferteil QR-Code" + +#: company/templates/company/supplier_part.html:287 +msgid "Link Barcode to Supplier Part" +msgstr "Barcode mit Zulieferteil verknüpfen" + +#: company/templates/company/supplier_part.html:359 +msgid "Update Part Availability" +msgstr "Verfügbarkeit der Teile aktualisieren" + +#: company/templates/company/supplier_part_sidebar.html:5 +#: part/serializers.py:859 part/stocktake.py:224 +#: part/templates/part/category.html:183 +#: part/templates/part/category_sidebar.html:17 stock/admin.py:68 +#: stock/serializers.py:976 stock/serializers.py:1154 +#: stock/templates/stock/location.html:170 +#: 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:1064 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 +#: users/models.py:206 +msgid "Stock Items" +msgstr "Lagerartikel" + +#: company/templates/company/supplier_part_sidebar.html:9 +msgid "Supplier Part Pricing" +msgstr "Zuliefererteil Bepreisung" + +#: company/views.py:32 +msgid "New Supplier" +msgstr "Neuer Zulieferer" + +#: company/views.py:38 +msgid "New Manufacturer" +msgstr "Neuer Hersteller" + +#: company/views.py:43 templates/InvenTree/search.html:210 +#: templates/navbar.html:60 +msgid "Customers" +msgstr "Kunden" + +#: company/views.py:44 +msgid "New Customer" +msgstr "Neuer Kunde" + +#: company/views.py:52 +msgid "New Company" +msgstr "Neue Firma" + +#: generic/states/tests.py:18 order/status_codes.py:13 +msgid "Placed" +msgstr "Platziert" + +#: importer/mixins.py:263 +#, fuzzy +#| msgid "Invalid value for overage" +msgid "Invalid export format" +msgstr "Ungültiger Wert für Ausschuss" + +#: importer/models.py:56 +msgid "Timestamp" +msgstr "" + +#: importer/models.py:61 +#, fuzzy +#| msgid "Select file to upload" +msgid "Data file to import" +msgstr "Datei zum Hochladen auswählen" + +#: importer/models.py:70 templates/js/translated/tables.js:558 +msgid "Columns" +msgstr "Spalten" + +#: importer/models.py:81 +#, fuzzy +#| msgid "Import Parts" +msgid "Import status" +msgstr "Teile importieren" + +#: importer/models.py:91 +#, fuzzy +#| msgid "Build Details" +msgid "Field Defaults" +msgstr "Bau-Status" + +#: importer/models.py:201 +#, fuzzy +#| msgid "Required build quantity has not been completed" +msgid "Some required fields have not been mapped" +msgstr "Benötigte Teil-Anzahl wurde noch nicht fertiggestellt" + +#: importer/models.py:346 +msgid "Column is already mapped to a database field" +msgstr "" + +#: importer/models.py:351 +msgid "Field is already mapped to a data column" +msgstr "" + +#: importer/models.py:360 +msgid "Column mapping must be linked to a valid import session" +msgstr "" + +#: importer/models.py:365 +msgid "Column does not exist in the data file" +msgstr "" + +#: importer/models.py:372 +#, fuzzy +#| msgid "User does not have permission to view this model" +msgid "Field does not exist in the target model" +msgstr "Benutzer hat keine Berechtigung, dieses Modell anzuzeigen" + +#: importer/models.py:376 +msgid "Selected field is read-only" +msgstr "" + +#: importer/models.py:381 importer/models.py:452 +#, fuzzy +#| msgid "Active Sessions" +msgid "Import Session" +msgstr "Aktive Sitzungen" + +#: importer/models.py:385 +#, fuzzy +#| msgid "Field Name" +msgid "Field" +msgstr "Feldname" + +#: importer/models.py:387 +#, fuzzy +#| msgid "Columns" +msgid "Column" +msgstr "Spalten" + +#: importer/models.py:456 +#, fuzzy +#| msgid "Index" +msgid "Row Index" +msgstr "Index" + +#: importer/models.py:459 +#, fuzzy +#| msgid "Original Part" +msgid "Original row data" +msgstr "Originalteil" + +#: importer/models.py:462 part/models.py:3841 +msgid "Data" +msgstr "Wert" + +#: importer/models.py:464 machine/models.py:110 +msgid "Errors" +msgstr "Fehler" + +#: importer/models.py:466 part/api.py:874 +msgid "Valid" +msgstr "Gültig" + +#: importer/operations.py:28 importer/operations.py:49 +#, fuzzy +#| msgid "Unsupported file format: {fmt}" +msgid "Unsupported data file format" +msgstr "Nicht unterstütztes Dateiformat: {fmt}" + +#: importer/operations.py:40 +msgid "Failed to open data file" +msgstr "" + +#: importer/operations.py:51 +msgid "Invalid data file dimensions" +msgstr "" + +#: importer/serializers.py:135 +msgid "Rows" +msgstr "" + +#: importer/serializers.py:136 +msgid "List of row IDs to accept" +msgstr "" -#: company/templates/company/supplier_part.html:246 -msgid "Pricing Information" -msgstr "Preisinformationen ansehen" +#: importer/serializers.py:149 +#, fuzzy +#| msgid "No data rows provided" +msgid "No rows provided" +msgstr "Keine Zeilen ausgewählt" -#: company/templates/company/supplier_part.html:251 -#: templates/js/translated/company.js:398 -#: templates/js/translated/pricing.js:684 -msgid "Add Price Break" -msgstr "Preisstaffel hinzufügen" +#: importer/serializers.py:153 +#, fuzzy +#| msgid "Item cannot belong to itself" +msgid "Row does not belong to this session" +msgstr "Teil kann nicht zu sich selbst gehören" -#: company/templates/company/supplier_part.html:276 -msgid "Supplier Part QR Code" -msgstr "Zulieferteil QR-Code" +#: importer/serializers.py:156 +msgid "Row contains invalid data" +msgstr "" -#: company/templates/company/supplier_part.html:287 -msgid "Link Barcode to Supplier Part" -msgstr "Barcode mit Zulieferteil verknüpfen" +#: importer/serializers.py:159 +#, fuzzy +#| msgid "This build output has already been completed" +msgid "Row has already been completed" +msgstr "Dieses Endprodukt wurde bereits fertiggestellt" -#: company/templates/company/supplier_part.html:359 -msgid "Update Part Availability" -msgstr "Verfügbarkeit der Teile aktualisieren" +#: importer/status_codes.py:11 +#, fuzzy +#| msgid "Initialized" +msgid "Initializing" +msgstr "Initialisiert" -#: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:831 part/stocktake.py:224 -#: part/templates/part/category.html:183 -#: part/templates/part/category_sidebar.html:17 stock/admin.py:68 -#: stock/serializers.py:918 stock/serializers.py:1091 -#: stock/templates/stock/location.html:170 -#: 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:1061 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 -#: users/models.py:206 -msgid "Stock Items" -msgstr "Lagerartikel" +#: importer/status_codes.py:12 +#, fuzzy +#| msgid "Columns" +msgid "Mapping Columns" +msgstr "Spalten" -#: company/templates/company/supplier_part_sidebar.html:9 -msgid "Supplier Part Pricing" -msgstr "Zuliefererteil Bepreisung" +#: importer/status_codes.py:13 +#, fuzzy +#| msgid "Import Part" +msgid "Importing Data" +msgstr "Teil importieren" -#: company/views.py:32 -msgid "New Supplier" -msgstr "Neuer Zulieferer" +#: importer/status_codes.py:16 +#, fuzzy +#| msgid "Loading Data" +msgid "Processing Data" +msgstr "Lade Daten" -#: company/views.py:38 -msgid "New Manufacturer" -msgstr "Neuer Hersteller" +#: importer/validators.py:21 +#, fuzzy +#| msgid "Image download exceeded maximum size" +msgid "Data file exceeds maximum size limit" +msgstr "Bilddownload überschreitet maximale Größe" -#: company/views.py:43 templates/InvenTree/search.html:210 -#: templates/navbar.html:60 -msgid "Customers" -msgstr "Kunden" +#: importer/validators.py:26 +#, fuzzy +#| msgid "Stock item contains other items" +msgid "Data file contains no headers" +msgstr "Lagerartikel enthält andere Artikel" -#: company/views.py:44 -msgid "New Customer" -msgstr "Neuer Kunde" +#: importer/validators.py:29 +msgid "Data file contains too many columns" +msgstr "" -#: company/views.py:52 -msgid "New Company" -msgstr "Neue Firma" +#: importer/validators.py:32 +msgid "Data file contains too many rows" +msgstr "" -#: generic/states/tests.py:18 order/status_codes.py:13 -msgid "Placed" -msgstr "Platziert" +#: importer/validators.py:49 +#, fuzzy +#| msgid "Metadata must be a python dict object" +msgid "Value must be a valid dictionary object" +msgstr "Metadaten müssen ein Python-Dict Objekt sein" #: machine/machine_types/label_printer.py:212 msgid "Copies" @@ -4783,7 +5064,7 @@ msgstr "Anzahl der zu druckenden Kopien für jedes Label" msgid "Connected" msgstr "Verbunden" -#: machine/machine_types/label_printer.py:229 order/api.py:1467 +#: machine/machine_types/label_printer.py:229 order/api.py:1388 #: templates/js/translated/sales_order.js:1078 msgid "Unknown" msgstr "Unbekannt" @@ -4852,10 +5133,6 @@ msgstr "Keine Fehler" msgid "Initialized" msgstr "Initialisiert" -#: machine/models.py:110 -msgid "Errors" -msgstr "Fehler" - #: machine/models.py:117 msgid "Machine status" msgstr "Status der Maschine" @@ -4881,44 +5158,44 @@ msgstr "Konfigurationstyp" msgid "Total Price" msgstr "Gesamtpreis" -#: order/api.py:157 order/serializers.py:90 +#: order/api.py:149 order/serializers.py:94 #: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:113 #: order/templates/order/sales_order_base.html:122 msgid "Order Status" msgstr "Bestellstatus" -#: order/api.py:161 templates/js/translated/table_filters.js:194 -#: templates/js/translated/table_filters.js:779 +#: order/api.py:153 templates/js/translated/table_filters.js:194 +#: templates/js/translated/table_filters.js:784 msgid "Has Pricing" msgstr "Hat Preise" -#: order/api.py:236 +#: order/api.py:228 msgid "No matching purchase order found" msgstr "Keine passende Bestellung gefunden" -#: order/api.py:435 order/api.py:801 order/models.py:1395 order/models.py:1504 -#: order/models.py:1550 order/models.py:1664 order/models.py:1818 -#: order/models.py:2231 order/models.py:2282 +#: order/api.py:417 order/api.py:755 order/models.py:1400 order/models.py:1514 +#: order/models.py:1565 order/models.py:1680 order/models.py:1839 +#: order/models.py:2258 order/models.py:2314 #: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "Bestellung" -#: order/api.py:439 order/api.py:822 +#: order/api.py:421 order/api.py:776 msgid "Order Complete" msgstr "Bestellung abgeschlossen" -#: order/api.py:462 +#: order/api.py:444 msgid "Order Pending" msgstr "Bestellung ausstehend" -#: order/api.py:1461 order/models.py:380 order/models.py:1396 -#: order/models.py:1505 order/templates/order/order_base.html:9 +#: order/api.py:1382 order/models.py:380 order/models.py:1401 +#: order/models.py:1515 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 -#: stock/serializers.py:118 stock/templates/stock/item_base.html:176 +#: stock/serializers.py:120 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/part.js:1746 templates/js/translated/pricing.js:804 +#: templates/js/translated/part.js:1749 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:1673 @@ -4926,8 +5203,8 @@ msgstr "Bestellung ausstehend" msgid "Purchase Order" msgstr "Bestellung" -#: order/api.py:1465 order/models.py:1981 order/models.py:2232 -#: order/models.py:2283 order/templates/order/return_order_base.html:9 +#: order/api.py:1386 order/models.py:2007 order/models.py:2259 +#: order/models.py:2315 order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report.html:13 #: templates/js/translated/return_order.js:280 @@ -4939,11 +5216,11 @@ msgstr "Rücksendeauftrag" msgid "Total price for this order" msgstr "Gesamtpreis für diese Bestellung" -#: order/models.py:96 order/serializers.py:70 +#: order/models.py:96 order/serializers.py:72 msgid "Order Currency" msgstr "Auftragswährung" -#: order/models.py:99 order/serializers.py:71 +#: order/models.py:99 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "Währung für diesen Auftrag (leer lassen, um Firmenstandard zu verwenden)" @@ -4959,7 +5236,7 @@ msgstr "Auftragsbeschreibung (optional)" msgid "Select project code for this order" msgstr "Projektcode für diesen Auftrag auswählen" -#: order/models.py:303 order/models.py:1301 order/models.py:1717 +#: order/models.py:303 order/models.py:1301 order/models.py:1733 msgid "Link to external page" msgstr "Link auf externe Seite" @@ -5008,15 +5285,15 @@ msgstr "Zulieferer Bestellreferenz" msgid "received by" msgstr "Empfangen von" -#: order/models.py:514 order/models.py:2058 +#: order/models.py:514 order/models.py:2084 msgid "Issue Date" msgstr "Aufgabedatum" -#: order/models.py:515 order/models.py:2059 +#: order/models.py:515 order/models.py:2085 msgid "Date order was issued" msgstr "Datum an dem die Bestellung aufgegeben wurde" -#: order/models.py:522 order/models.py:2066 +#: order/models.py:522 order/models.py:2092 msgid "Date order was completed" msgstr "Datum an dem der Auftrag fertigstellt wurde" @@ -5032,15 +5309,15 @@ msgstr "Anzahl muss eine positive Zahl sein" msgid "Company to which the items are being sold" msgstr "Firma an die die Teile verkauft werden" -#: order/models.py:962 order/models.py:2051 +#: order/models.py:962 order/models.py:2077 msgid "Customer Reference " msgstr "Kundenreferenz" -#: order/models.py:963 order/models.py:2052 +#: order/models.py:963 order/models.py:2078 msgid "Customer order reference code" msgstr "Bestellreferenz" -#: order/models.py:967 order/models.py:1671 +#: order/models.py:967 order/models.py:1687 #: templates/js/translated/sales_order.js:879 #: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" @@ -5102,20 +5379,26 @@ msgstr "Zusätzlicher Kontext für diese Zeile" msgid "Unit price" msgstr "Stückpreis" -#: order/models.py:1380 +#: order/models.py:1361 +#, fuzzy +#| msgid "Purchase Order Items" +msgid "Purchase Order Line Item" +msgstr "Bestellungs-Positionen" + +#: order/models.py:1385 msgid "Supplier part must match supplier" msgstr "Lieferantenteil muss mit Lieferant übereinstimmen" -#: order/models.py:1387 +#: order/models.py:1392 msgid "deleted" msgstr "gelöscht" -#: order/models.py:1415 +#: order/models.py:1420 msgid "Supplier part" msgstr "Zuliefererteil" -#: order/models.py:1422 order/templates/order/order_base.html:196 -#: templates/js/translated/part.js:1870 templates/js/translated/part.js:1902 +#: order/models.py:1427 order/templates/order/order_base.html:196 +#: templates/js/translated/part.js:1873 templates/js/translated/part.js:1905 #: templates/js/translated/purchase_order.js:1306 #: templates/js/translated/purchase_order.js:2169 #: templates/js/translated/return_order.js:763 @@ -5124,196 +5407,238 @@ msgstr "Zuliefererteil" msgid "Received" msgstr "Empfangen" -#: order/models.py:1423 +#: order/models.py:1428 msgid "Number of items received" msgstr "Empfangene Objekt-Anzahl" -#: order/models.py:1431 stock/models.py:939 stock/serializers.py:556 +#: order/models.py:1436 stock/models.py:939 stock/serializers.py:602 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2311 msgid "Purchase Price" msgstr "Preis" -#: order/models.py:1432 +#: order/models.py:1437 msgid "Unit purchase price" msgstr "Preis pro Einheit" -#: order/models.py:1447 +#: order/models.py:1452 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:1538 +#: order/models.py:1503 +#, fuzzy +#| msgid "Purchase Order Items" +msgid "Purchase Order Extra Line" +msgstr "Bestellungs-Positionen" + +#: order/models.py:1532 +#, fuzzy +#| msgid "Sales Order Items" +msgid "Sales Order Line Item" +msgstr "Auftrags-Positionen" + +#: order/models.py:1553 msgid "Virtual part cannot be assigned to a sales order" msgstr "Ein virtuelles Teil kann nicht einem Auftrag zugeordnet werden" -#: order/models.py:1543 +#: order/models.py:1558 msgid "Only salable parts can be assigned to a sales order" msgstr "Nur verkaufbare Teile können einem Auftrag zugewiesen werden" -#: order/models.py:1569 part/templates/part/part_pricing.html:107 +#: order/models.py:1584 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:1570 +#: order/models.py:1585 msgid "Unit sale price" msgstr "Stückverkaufspreis" -#: order/models.py:1579 order/status_codes.py:43 +#: order/models.py:1594 order/status_codes.py:43 #: 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" -#: order/models.py:1580 +#: order/models.py:1595 msgid "Shipped quantity" msgstr "Versendete Menge" -#: order/models.py:1672 +#: order/models.py:1667 +#, fuzzy +#| msgid "Sales Order Default Shipment" +msgid "Sales Order Shipment" +msgstr "Auftrag Standardsendung" + +#: order/models.py:1688 msgid "Date of shipment" msgstr "Versanddatum" -#: order/models.py:1678 templates/js/translated/sales_order.js:1072 +#: order/models.py:1694 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "Lieferdatum" -#: order/models.py:1679 +#: order/models.py:1695 msgid "Date of delivery of shipment" msgstr "Versanddatum" -#: order/models.py:1687 +#: order/models.py:1703 msgid "Checked By" msgstr "Kontrolliert von" -#: order/models.py:1688 +#: order/models.py:1704 msgid "User who checked this shipment" msgstr "Benutzer, der diese Sendung kontrolliert hat" -#: order/models.py:1695 order/models.py:1908 order/serializers.py:1342 -#: order/serializers.py:1452 templates/js/translated/model_renderers.js:454 +#: order/models.py:1711 order/models.py:1934 order/serializers.py:1398 +#: order/serializers.py:1508 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "Sendung" -#: order/models.py:1696 +#: order/models.py:1712 msgid "Shipment number" msgstr "Sendungsnummer" -#: order/models.py:1704 +#: order/models.py:1720 msgid "Tracking Number" msgstr "Sendungsverfolgungsnummer" -#: order/models.py:1705 +#: order/models.py:1721 msgid "Shipment tracking information" msgstr "Informationen zur Sendungsverfolgung" -#: order/models.py:1712 +#: order/models.py:1728 msgid "Invoice Number" msgstr "Rechnungsnummer" -#: order/models.py:1713 +#: order/models.py:1729 msgid "Reference number for associated invoice" msgstr "Referenznummer für zugehörige Rechnung" -#: order/models.py:1733 +#: order/models.py:1749 msgid "Shipment has already been sent" msgstr "Sendung wurde bereits versandt" -#: order/models.py:1736 +#: order/models.py:1752 msgid "Shipment has no allocated stock items" msgstr "Sendung hat keine zugewiesene Lagerartikel" -#: order/models.py:1854 order/models.py:1856 +#: order/models.py:1828 +#, fuzzy +#| msgid "Sales Order Items" +msgid "Sales Order Extra Line" +msgstr "Auftrags-Positionen" + +#: order/models.py:1857 +#, fuzzy +#| msgid "Sales Order Allocations" +msgid "Sales Order Allocation" +msgstr "Verkaufsauftragszuweisungen" + +#: order/models.py:1880 order/models.py:1882 msgid "Stock item has not been assigned" msgstr "Lagerartikel wurde nicht zugewiesen" -#: order/models.py:1863 +#: order/models.py:1889 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:1866 +#: order/models.py:1892 msgid "Cannot allocate stock to a line without a part" msgstr "Kann Lagerartikel keiner Zeile ohne Teil hinzufügen" -#: order/models.py:1869 +#: order/models.py:1895 msgid "Allocation quantity cannot exceed stock quantity" msgstr "Die zugeordnete Anzahl darf nicht die verfügbare Anzahl überschreiten" -#: order/models.py:1888 order/serializers.py:1219 +#: order/models.py:1914 order/serializers.py:1275 msgid "Quantity must be 1 for serialized stock item" msgstr "Anzahl für serialisierte Lagerartikel muss 1 sein" -#: order/models.py:1891 +#: order/models.py:1917 msgid "Sales order does not match shipment" msgstr "Auftrag gehört nicht zu Sendung" -#: order/models.py:1892 plugin/base/barcodes/api.py:481 +#: order/models.py:1918 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "Sendung gehört nicht zu Auftrag" -#: order/models.py:1900 +#: order/models.py:1926 msgid "Line" msgstr "Position" -#: order/models.py:1909 +#: order/models.py:1935 msgid "Sales order shipment reference" msgstr "Sendungsnummer-Referenz" -#: order/models.py:1922 order/models.py:2239 +#: order/models.py:1948 order/models.py:2266 #: templates/js/translated/return_order.js:721 msgid "Item" msgstr "Position" -#: order/models.py:1923 +#: order/models.py:1949 msgid "Select stock item to allocate" msgstr "Lagerartikel für Zuordnung auswählen" -#: order/models.py:1932 +#: order/models.py:1958 msgid "Enter stock allocation quantity" msgstr "Anzahl für Bestandszuordnung eingeben" -#: order/models.py:2021 +#: order/models.py:2047 msgid "Return Order reference" msgstr "Rücksendungsreferenz" -#: order/models.py:2033 +#: order/models.py:2059 msgid "Company from which items are being returned" msgstr "Firma von der die Artikel zurückgeschickt werden" -#: order/models.py:2045 +#: order/models.py:2071 msgid "Return order status" msgstr "Status der Rücksendung" -#: order/models.py:2224 +#: order/models.py:2237 +#, fuzzy +#| msgid "Return order line item" +msgid "Return Order Line Item" +msgstr "Artikel der Bestellzeile zurücksenden" + +#: 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:2240 +#: order/models.py:2267 msgid "Select item to return from customer" msgstr "Artikel zur Rücksendung auswählen" -#: order/models.py:2246 +#: order/models.py:2273 msgid "Received Date" msgstr "Empfangsdatum" -#: order/models.py:2247 +#: order/models.py:2274 msgid "The date this this return item was received" msgstr "Das Datum des Empfangs dieses Rücksendeartikels" -#: order/models.py:2258 templates/js/translated/return_order.js:732 +#: 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:2259 +#: order/models.py:2286 msgid "Outcome for this line item" msgstr "Ergebnis für dieses Zeilenelement" -#: order/models.py:2266 +#: 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:79 order/templates/order/po_sidebar.html:5 +#: order/models.py:2303 +#, fuzzy +#| msgid "Return Order Settings" +msgid "Return Order Extra Line" +msgstr "Retourenbestellung Einstellungen" + +#: order/serializers.py:83 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_purchase_order_report.html:22 @@ -5322,163 +5647,173 @@ msgstr "Kosten für die Rückgabe oder Reparatur dieses Objektes" msgid "Line Items" msgstr "Positionen" -#: order/serializers.py:83 +#: order/serializers.py:87 msgid "Completed Lines" msgstr "Abgeschlossene Positionen" -#: order/serializers.py:286 +#: order/serializers.py:305 msgid "Order cannot be cancelled" msgstr "Bestellung kann nicht verworfen werden" -#: order/serializers.py:301 order/serializers.py:1235 +#: order/serializers.py:320 order/serializers.py:1291 msgid "Allow order to be closed with incomplete line items" msgstr "Erlaube das Schließen des Auftrags mit unvollständigen Positionen" -#: order/serializers.py:311 order/serializers.py:1245 +#: order/serializers.py:330 order/serializers.py:1301 msgid "Order has incomplete line items" msgstr "Auftrag hat unvollständige Positionen" -#: order/serializers.py:439 +#: order/serializers.py:468 msgid "Order is not open" msgstr "Der Auftrag ist nicht offen" -#: order/serializers.py:460 +#: order/serializers.py:489 msgid "Auto Pricing" msgstr "Automatische Preisgestaltung" -#: order/serializers.py:462 +#: order/serializers.py:491 msgid "Automatically calculate purchase price based on supplier part data" msgstr "Kaufpreis automatisch basierend auf Lieferantenbestandsdaten berechnen" -#: order/serializers.py:472 +#: order/serializers.py:501 msgid "Purchase price currency" msgstr "Kaufpreiswährung" -#: order/serializers.py:478 +#: order/serializers.py:507 msgid "Merge Items" msgstr "Elemente zusammenfügen" -#: order/serializers.py:480 +#: order/serializers.py:509 msgid "Merge items with the same part, destination and target date into one line item" msgstr "Zusammenführen von Elementen mit dem gleichen Teil, Ziel- und Zieldatum zu einem Zeilenelement" -#: order/serializers.py:498 +#: order/serializers.py:522 part/models.py:945 +msgid "Internal Part Number" +msgstr "Interne Teilenummer" + +#: order/serializers.py:530 +#, fuzzy +#| msgid "Internal Part Number" +msgid "Internal Part Name" +msgstr "Interne Teilenummer" + +#: order/serializers.py:546 msgid "Supplier part must be specified" msgstr "Zuliefererteil muss ausgewählt werden" -#: order/serializers.py:501 +#: order/serializers.py:549 msgid "Purchase order must be specified" msgstr "Bestellung muss angegeben sein" -#: order/serializers.py:509 +#: order/serializers.py:557 msgid "Supplier must match purchase order" msgstr "Lieferant muss mit der Bestellung übereinstimmen" -#: order/serializers.py:510 +#: order/serializers.py:558 msgid "Purchase order must match supplier" msgstr "Die Bestellung muss mit dem Lieferant übereinstimmen" -#: order/serializers.py:549 order/serializers.py:1313 +#: order/serializers.py:598 order/serializers.py:1369 msgid "Line Item" msgstr "Position" -#: order/serializers.py:555 +#: order/serializers.py:604 msgid "Line item does not match purchase order" msgstr "Position stimmt nicht mit Kaufauftrag überein" -#: order/serializers.py:565 order/serializers.py:673 order/serializers.py:1657 +#: order/serializers.py:614 order/serializers.py:722 order/serializers.py:1715 msgid "Select destination location for received items" msgstr "Zielort für empfangene Teile auswählen" -#: order/serializers.py:581 templates/js/translated/purchase_order.js:1130 +#: order/serializers.py:630 templates/js/translated/purchase_order.js:1130 msgid "Enter batch code for incoming stock items" msgstr "Losnummer für eingehende Lagerartikel" -#: order/serializers.py:589 templates/js/translated/purchase_order.js:1154 +#: order/serializers.py:638 templates/js/translated/purchase_order.js:1154 msgid "Enter serial numbers for incoming stock items" msgstr "Seriennummern für eingehende Lagerartikel" -#: order/serializers.py:600 templates/js/translated/barcode.js:52 +#: order/serializers.py:649 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "Barcode" -#: order/serializers.py:601 +#: order/serializers.py:650 msgid "Scanned barcode" msgstr "Gescannter Barcode" -#: order/serializers.py:617 +#: order/serializers.py:666 msgid "Barcode is already in use" msgstr "Barcode ist bereits in Verwendung" -#: order/serializers.py:641 +#: order/serializers.py:690 msgid "An integer quantity must be provided for trackable parts" msgstr "Ganzzahl für verfolgbare Teile erforderlich" -#: order/serializers.py:689 order/serializers.py:1673 +#: order/serializers.py:738 order/serializers.py:1731 msgid "Line items must be provided" msgstr "Positionen müssen angegeben werden" -#: order/serializers.py:705 +#: order/serializers.py:754 msgid "Destination location must be specified" msgstr "Ziel-Lagerort muss angegeben werden" -#: order/serializers.py:716 +#: order/serializers.py:765 msgid "Supplied barcode values must be unique" msgstr "Barcode muss eindeutig sein" -#: order/serializers.py:1062 +#: order/serializers.py:1117 msgid "Sale price currency" msgstr "Verkaufspreis-Währung" -#: order/serializers.py:1122 +#: order/serializers.py:1178 msgid "No shipment details provided" msgstr "Keine Sendungsdetails angegeben" -#: order/serializers.py:1183 order/serializers.py:1322 +#: order/serializers.py:1239 order/serializers.py:1378 msgid "Line item is not associated with this order" msgstr "Position ist nicht diesem Auftrag zugeordnet" -#: order/serializers.py:1202 +#: order/serializers.py:1258 msgid "Quantity must be positive" msgstr "Anzahl muss positiv sein" -#: order/serializers.py:1332 +#: order/serializers.py:1388 msgid "Enter serial numbers to allocate" msgstr "Seriennummern zum Zuweisen eingeben" -#: order/serializers.py:1354 order/serializers.py:1460 +#: order/serializers.py:1410 order/serializers.py:1516 msgid "Shipment has already been shipped" msgstr "Sendung wurde bereits versandt" -#: order/serializers.py:1357 order/serializers.py:1463 +#: order/serializers.py:1413 order/serializers.py:1519 msgid "Shipment is not associated with this order" msgstr "Sendung ist nicht diesem Auftrag zugeordnet" -#: order/serializers.py:1404 +#: order/serializers.py:1460 msgid "No match found for the following serial numbers" msgstr "Folgende Serienummern konnten nicht gefunden werden" -#: order/serializers.py:1411 +#: order/serializers.py:1467 msgid "The following serial numbers are already allocated" msgstr "Folgende Seriennummern sind bereits zugewiesen" -#: order/serializers.py:1627 +#: order/serializers.py:1685 msgid "Return order line item" msgstr "Artikel der Bestellzeile zurücksenden" -#: order/serializers.py:1633 +#: order/serializers.py:1691 msgid "Line item does not match return order" msgstr "Artikel entspricht nicht der Rücksendeschrift" -#: order/serializers.py:1636 +#: order/serializers.py:1694 msgid "Line item has already been received" msgstr "Artikel wurde bereits erhalten" -#: order/serializers.py:1665 +#: order/serializers.py:1723 msgid "Items can only be received against orders which are in progress" msgstr "Artikel können nur bei laufenden Bestellungen empfangen werden" -#: order/serializers.py:1743 +#: order/serializers.py:1806 msgid "Line price currency" msgstr "Verkaufspreis-Währung" @@ -5808,7 +6143,7 @@ msgstr "Kundenreferenz" #: 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:1073 +#: templates/js/translated/part.js:1076 #: templates/js/translated/purchase_order.js:1752 #: templates/js/translated/return_order.js:380 #: templates/js/translated/sales_order.js:891 @@ -5904,34 +6239,29 @@ msgstr "Stückpreis für {part} auf {price} aktualisiert" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "{part} Stückpreis auf {price} und Menge auf {qty} aktualisiert" -#: part/admin.py:39 part/admin.py:398 part/models.py:3944 part/stocktake.py:219 +#: part/admin.py:39 part/admin.py:398 part/models.py:3991 part/stocktake.py:219 #: stock/admin.py:152 msgid "Part ID" msgstr "Teil-ID" -#: part/admin.py:41 part/admin.py:405 part/models.py:3945 part/stocktake.py:220 -#: stock/admin.py:156 -msgid "Part Name" -msgstr "Name des Teils" - #: part/admin.py:45 part/stocktake.py:221 msgid "Part Description" msgstr "Beschreibung des Teils" -#: part/admin.py:48 part/models.py:940 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:944 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 -#: templates/js/translated/part.js:1227 templates/js/translated/part.js:2341 +#: templates/js/translated/part.js:1230 templates/js/translated/part.js:2344 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "IPN (Interne Produktnummer)" -#: part/admin.py:50 part/models.py:949 part/templates/part/part_base.html:277 -#: report/models.py:162 templates/js/translated/part.js:1232 -#: templates/js/translated/part.js:2347 +#: part/admin.py:50 part/models.py:953 part/templates/part/part_base.html:277 +#: report/models.py:162 templates/js/translated/part.js:1235 +#: templates/js/translated/part.js:2350 msgid "Revision" msgstr "Version" -#: part/admin.py:53 part/admin.py:319 part/models.py:922 +#: part/admin.py:53 part/admin.py:319 part/models.py:926 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "Schlüsselwörter" @@ -5944,7 +6274,8 @@ msgstr "Artikelbild" msgid "Category ID" msgstr "Kategorie-ID" -#: part/admin.py:67 part/admin.py:304 part/stocktake.py:223 +#: part/admin.py:67 part/admin.py:304 part/serializers.py:837 +#: part/stocktake.py:223 msgid "Category Name" msgstr "Kategoriename" @@ -5956,11 +6287,11 @@ msgstr "Standard-Standortnummer" msgid "Default Supplier ID" msgstr "Standard-Lieferantennummer" -#: part/admin.py:81 part/models.py:908 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:912 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "Variante von" -#: part/admin.py:84 part/models.py:1036 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1040 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "Minimaler Bestand" @@ -5968,18 +6299,19 @@ msgstr "Minimaler Bestand" msgid "Used In" msgstr "Benutzt in" -#: part/admin.py:150 part/templates/part/part_base.html:241 stock/admin.py:235 -#: templates/js/translated/part.js:715 templates/js/translated/part.js:2153 +#: part/admin.py:150 part/serializers.py:854 +#: part/templates/part/part_base.html:241 stock/admin.py:235 +#: templates/js/translated/part.js:714 templates/js/translated/part.js:2156 msgid "Building" msgstr "Im Bau" -#: part/admin.py:155 part/models.py:3088 part/models.py:3102 -#: templates/js/translated/part.js:970 +#: part/admin.py:155 part/models.py:3098 part/models.py:3112 +#: templates/js/translated/part.js:973 msgid "Minimum Cost" msgstr "Minimale Kosten" -#: part/admin.py:158 part/models.py:3095 part/models.py:3109 -#: templates/js/translated/part.js:980 +#: part/admin.py:158 part/models.py:3105 part/models.py:3119 +#: templates/js/translated/part.js:983 msgid "Maximum Cost" msgstr "Maximale Kosten" @@ -5996,14 +6328,14 @@ msgstr "Name des übergeordneten Teils" msgid "Category Path" msgstr "Pfad zur Kategorie" -#: part/admin.py:325 part/models.py:396 part/serializers.py:124 -#: part/serializers.py:267 part/serializers.py:386 +#: part/admin.py:325 part/models.py:397 part/serializers.py:130 +#: part/serializers.py:282 part/serializers.py:404 #: 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:2807 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:203 msgid "Parts" msgstr "Teile" @@ -6020,125 +6352,117 @@ msgstr "Stücklisten-Position ID" msgid "Parent IPN" msgstr "Übergeordnete IPN" -#: part/admin.py:402 part/models.py:3946 -msgid "Part IPN" -msgstr "Teil IPN" - -#: part/admin.py:415 part/serializers.py:1274 +#: part/admin.py:415 part/serializers.py:1302 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "Niedrigster Preis" -#: part/admin.py:420 part/serializers.py:1289 +#: part/admin.py:420 part/serializers.py:1317 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "Höchster Preis" -#: part/api.py:104 +#: part/api.py:105 msgid "Starred" msgstr "Markiert" -#: part/api.py:106 +#: part/api.py:107 msgid "Filter by starred categories" msgstr "Nach markierten Kategorien filtern" -#: part/api.py:123 stock/api.py:312 +#: part/api.py:124 stock/api.py:312 msgid "Depth" msgstr "Ebenen" -#: part/api.py:123 +#: part/api.py:124 msgid "Filter by category depth" msgstr "Filter nach Kategorietiefe" -#: part/api.py:141 stock/api.py:330 +#: part/api.py:142 stock/api.py:330 msgid "Top Level" msgstr "Oberste Ebene" -#: part/api.py:143 +#: part/api.py:144 msgid "Filter by top-level categories" msgstr "" -#: part/api.py:156 stock/api.py:345 +#: part/api.py:157 stock/api.py:345 msgid "Cascade" msgstr "Mehrstufig" -#: part/api.py:158 +#: part/api.py:159 msgid "Include sub-categories in filtered results" msgstr "Unterkategorien in gefilterte Ergebnisse einbeziehen" -#: part/api.py:179 templates/js/translated/part.js:308 +#: part/api.py:180 templates/js/translated/part.js:307 msgid "Parent" msgstr "Übergeordnetes" -#: part/api.py:181 +#: part/api.py:182 msgid "Filter by parent category" msgstr "Nach übergeordneter Kategorie filtern" -#: part/api.py:214 +#: part/api.py:215 msgid "Exclude Tree" msgstr "Baum ausschließen" -#: part/api.py:216 +#: part/api.py:217 msgid "Exclude sub-categories under the specified category" msgstr "Unterkategorien in der angegebenen Kategorie ausschließen" -#: part/api.py:449 +#: part/api.py:442 msgid "Has Results" msgstr "Ergebnisse" -#: part/api.py:616 +#: part/api.py:609 msgid "Incoming Purchase Order" msgstr "Eingehende Bestellung" -#: part/api.py:634 +#: part/api.py:627 msgid "Outgoing Sales Order" msgstr "Ausgehender Auftrag" -#: part/api.py:650 +#: part/api.py:643 msgid "Stock produced by Build Order" msgstr "Lagerartikel produziert von Bauauftrag" -#: part/api.py:734 +#: part/api.py:727 msgid "Stock required for Build Order" msgstr "Lagerartikel für Bauauftrag benötigt" -#: part/api.py:881 -msgid "Valid" -msgstr "Gültig" - -#: part/api.py:882 +#: part/api.py:875 msgid "Validate entire Bill of Materials" msgstr "Gesamte Stückliste validieren" -#: part/api.py:888 +#: part/api.py:881 msgid "This option must be selected" msgstr "Diese Option muss ausgewählt werden" -#: part/api.py:1105 +#: part/api.py:1098 msgid "BOM Valid" msgstr "" -#: part/api.py:1508 part/models.py:932 part/models.py:3374 part/models.py:3889 -#: part/serializers.py:401 part/serializers.py:1130 -#: part/templates/part/part_base.html:260 stock/api.py:791 +#: part/api.py:1494 part/models.py:936 part/models.py:3385 part/models.py:3936 +#: part/serializers.py:419 part/serializers.py:1158 +#: part/templates/part/part_base.html:260 stock/api.py:783 #: 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:2380 msgid "Category" msgstr "Kategorie" -#: part/api.py:1796 +#: part/api.py:1784 msgid "Uses" msgstr "Verwendet" -#: part/bom.py:170 part/models.py:104 part/models.py:975 +#: part/bom.py:170 part/models.py:104 part/models.py:979 #: 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:833 +#: part/bom.py:171 part/serializers.py:861 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "Gesamtbestand" @@ -6147,7 +6471,7 @@ msgstr "Gesamtbestand" msgid "Input quantity for price calculation" msgstr "Menge für die Preisberechnung" -#: part/models.py:85 part/models.py:3890 part/templates/part/category.html:16 +#: part/models.py:85 part/models.py:3937 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Teil-Kategorie" @@ -6162,7 +6486,7 @@ msgstr "Teil-Kategorien" msgid "Default location for parts in this category" msgstr "Standard-Lagerort für Teile dieser Kategorie" -#: part/models.py:110 stock/models.py:175 templates/js/translated/part.js:2810 +#: part/models.py:110 stock/models.py:175 templates/js/translated/part.js:2813 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 @@ -6194,1002 +6518,1053 @@ msgstr "Symbol (optional)" 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:485 +#: part/models.py:486 +#, fuzzy +#| msgid "Cannot delete this part as it is still active" +msgid "Cannot delete this part as it is locked" +msgstr "Dieses Teil kann nicht gelöscht werden, da es noch aktiv ist" + +#: part/models.py:489 msgid "Cannot delete this part as it is still active" msgstr "Dieses Teil kann nicht gelöscht werden, da es noch aktiv ist" -#: part/models.py:490 +#: part/models.py:494 msgid "Cannot delete this part as it is used in an assembly" msgstr "Dieses Teil kann nicht gelöscht werden, da es in einem Bauauftrag verwendet wird" -#: part/models.py:528 +#: part/models.py:532 msgid "Invalid choice for parent part" msgstr "Ungültige Auswahl für übergeordnetes Teil" -#: part/models.py:576 part/models.py:583 +#: part/models.py:580 part/models.py:587 #, 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:595 +#: part/models.py:599 #, 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:658 +#: part/models.py:662 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "IPN muss mit Regex-Muster {pattern} übereinstimmen" -#: part/models.py:736 +#: part/models.py:740 msgid "Stock item with this serial number already exists" msgstr "Ein Lagerartikel mit dieser Seriennummer existiert bereits" -#: part/models.py:837 +#: part/models.py:841 msgid "Duplicate IPN not allowed in part settings" msgstr "Doppelte IPN in den Teil-Einstellungen nicht erlaubt" -#: part/models.py:847 +#: part/models.py:851 msgid "Part with this Name, IPN and Revision already exists." msgstr "Teil mit diesem Namen, IPN und Revision existiert bereits." -#: part/models.py:862 +#: part/models.py:866 msgid "Parts cannot be assigned to structural part categories!" msgstr "Strukturellen Teilekategorien können keine Teile zugewiesen werden!" -#: part/models.py:891 part/models.py:3945 +#: part/models.py:895 part/models.py:3992 msgid "Part name" msgstr "Name des Teils" -#: part/models.py:896 +#: part/models.py:900 msgid "Is Template" msgstr "Ist eine Vorlage" -#: part/models.py:897 +#: part/models.py:901 msgid "Is this part a template part?" msgstr "Ist dieses Teil eine Vorlage?" -#: part/models.py:907 +#: part/models.py:911 msgid "Is this part a variant of another part?" msgstr "Ist dieses Teil eine Variante eines anderen Teils?" -#: part/models.py:915 +#: part/models.py:919 msgid "Part description (optional)" msgstr "Artikelbeschreibung (optional)" -#: part/models.py:923 +#: part/models.py:927 msgid "Part keywords to improve visibility in search results" msgstr "Schlüsselworte um die Sichtbarkeit in Suchergebnissen zu verbessern" -#: part/models.py:933 +#: part/models.py:937 msgid "Part category" msgstr "Teile-Kategorie" -#: part/models.py:941 -msgid "Internal Part Number" -msgstr "Interne Teilenummer" - -#: part/models.py:948 +#: part/models.py:952 msgid "Part revision or version number" msgstr "Revisions- oder Versionsnummer" -#: part/models.py:973 +#: part/models.py:977 msgid "Where is this item normally stored?" msgstr "Wo wird dieses Teil normalerweise gelagert?" -#: part/models.py:1019 part/templates/part/part_base.html:376 +#: part/models.py:1023 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "Standard Zulieferer" -#: part/models.py:1020 +#: part/models.py:1024 msgid "Default supplier part" msgstr "Standard Zuliefererteil" -#: part/models.py:1027 +#: part/models.py:1031 msgid "Default Expiry" msgstr "Standard Ablaufzeit" -#: part/models.py:1028 +#: part/models.py:1032 msgid "Expiry time (in days) for stock items of this part" msgstr "Ablauf-Zeit (in Tagen) für Bestand dieses Teils" -#: part/models.py:1037 +#: part/models.py:1041 msgid "Minimum allowed stock level" msgstr "Minimal zulässiger Bestand" -#: part/models.py:1046 +#: part/models.py:1050 msgid "Units of measure for this part" msgstr "Maßeinheit für diesen Teil" -#: part/models.py:1053 +#: part/models.py:1057 msgid "Can this part be built from other parts?" msgstr "Kann dieses Teil aus anderen Teilen angefertigt werden?" -#: part/models.py:1059 +#: part/models.py:1063 msgid "Can this part be used to build other parts?" msgstr "Kann dieses Teil zum Bauauftrag von anderen genutzt werden?" -#: part/models.py:1065 +#: part/models.py:1069 msgid "Does this part have tracking for unique items?" msgstr "Hat dieses Teil Tracking für einzelne Objekte?" -#: part/models.py:1071 +#: part/models.py:1075 msgid "Can this part be purchased from external suppliers?" msgstr "Kann dieses Teil von externen Zulieferern gekauft werden?" -#: part/models.py:1077 +#: part/models.py:1081 msgid "Can this part be sold to customers?" msgstr "Kann dieses Teil an Kunden verkauft werden?" -#: part/models.py:1081 +#: part/models.py:1085 msgid "Is this part active?" msgstr "Ist dieses Teil aktiv?" -#: part/models.py:1087 +#: part/models.py:1090 templates/js/translated/part.js:818 +#: templates/js/translated/table_filters.js:721 +#, fuzzy +#| msgid "Lock" +msgid "Locked" +msgstr "Sperren" + +#: part/models.py:1091 +#, fuzzy +#| msgid "This part cannot be serialized" +msgid "Locked parts cannot be edited" +msgstr "Dieser Teil kann nicht serialisiert werden" + +#: part/models.py:1097 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:1093 +#: part/models.py:1103 msgid "BOM checksum" msgstr "Prüfsumme der Stückliste" -#: part/models.py:1094 +#: part/models.py:1104 msgid "Stored BOM checksum" msgstr "Prüfsumme der Stückliste gespeichert" -#: part/models.py:1102 +#: part/models.py:1112 msgid "BOM checked by" msgstr "Stückliste kontrolliert von" -#: part/models.py:1107 +#: part/models.py:1117 msgid "BOM checked date" msgstr "BOM Kontrolldatum" -#: part/models.py:1123 +#: part/models.py:1133 msgid "Creation User" msgstr "Erstellungs-Nutzer" -#: part/models.py:1133 +#: part/models.py:1143 msgid "Owner responsible for this part" msgstr "Verantwortlicher Besitzer für dieses Teil" -#: part/models.py:1138 part/templates/part/part_base.html:339 +#: part/models.py:1148 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:2474 msgid "Last Stocktake" msgstr "Letzte Inventur" -#: part/models.py:2011 +#: part/models.py:2021 msgid "Sell multiple" msgstr "Mehrere verkaufen" -#: part/models.py:3002 +#: part/models.py:3012 msgid "Currency used to cache pricing calculations" msgstr "Währung für die Berechnung der Preise im Cache" -#: part/models.py:3018 +#: part/models.py:3028 msgid "Minimum BOM Cost" msgstr "Minimale Stücklisten Kosten" -#: part/models.py:3019 +#: part/models.py:3029 msgid "Minimum cost of component parts" msgstr "Minimale Kosten für Teile" -#: part/models.py:3025 +#: part/models.py:3035 msgid "Maximum BOM Cost" msgstr "Maximale Stücklisten Kosten" -#: part/models.py:3026 +#: part/models.py:3036 msgid "Maximum cost of component parts" msgstr "Maximale Kosten für Teile" -#: part/models.py:3032 +#: part/models.py:3042 msgid "Minimum Purchase Cost" msgstr "Minimale Einkaufskosten" -#: part/models.py:3033 +#: part/models.py:3043 msgid "Minimum historical purchase cost" msgstr "Minimale historische Kaufkosten" -#: part/models.py:3039 +#: part/models.py:3049 msgid "Maximum Purchase Cost" msgstr "Maximale Einkaufskosten" -#: part/models.py:3040 +#: part/models.py:3050 msgid "Maximum historical purchase cost" msgstr "Maximale historische Einkaufskosten" -#: part/models.py:3046 +#: part/models.py:3056 msgid "Minimum Internal Price" msgstr "Minimaler interner Preis" -#: part/models.py:3047 +#: part/models.py:3057 msgid "Minimum cost based on internal price breaks" msgstr "Minimale Kosten basierend auf den internen Staffelpreisen" -#: part/models.py:3053 +#: part/models.py:3063 msgid "Maximum Internal Price" msgstr "Maximaler interner Preis" -#: part/models.py:3054 +#: part/models.py:3064 msgid "Maximum cost based on internal price breaks" msgstr "Maximale Kosten basierend auf internen Preisstaffeln" -#: part/models.py:3060 +#: part/models.py:3070 msgid "Minimum Supplier Price" msgstr "Minimaler Lieferantenpreis" -#: part/models.py:3061 +#: part/models.py:3071 msgid "Minimum price of part from external suppliers" msgstr "Mindestpreis für Teil von externen Lieferanten" -#: part/models.py:3067 +#: part/models.py:3077 msgid "Maximum Supplier Price" msgstr "Maximaler Lieferantenpreis" -#: part/models.py:3068 +#: part/models.py:3078 msgid "Maximum price of part from external suppliers" msgstr "Maximaler Preis für Teil von externen Lieferanten" -#: part/models.py:3074 +#: part/models.py:3084 msgid "Minimum Variant Cost" msgstr "Minimale Variantenkosten" -#: part/models.py:3075 +#: part/models.py:3085 msgid "Calculated minimum cost of variant parts" msgstr "Berechnete minimale Kosten für Variantenteile" -#: part/models.py:3081 +#: part/models.py:3091 msgid "Maximum Variant Cost" msgstr "Maximale Variantenkosten" -#: part/models.py:3082 +#: part/models.py:3092 msgid "Calculated maximum cost of variant parts" msgstr "Berechnete maximale Kosten für Variantenteile" -#: part/models.py:3089 +#: part/models.py:3099 msgid "Override minimum cost" msgstr "Mindestkosten überschreiben" -#: part/models.py:3096 +#: part/models.py:3106 msgid "Override maximum cost" msgstr "Maximale Kosten überschreiben" -#: part/models.py:3103 +#: part/models.py:3113 msgid "Calculated overall minimum cost" msgstr "Berechnete Mindestkosten" -#: part/models.py:3110 +#: part/models.py:3120 msgid "Calculated overall maximum cost" msgstr "Berechnete Maximalkosten" -#: part/models.py:3116 +#: part/models.py:3126 msgid "Minimum Sale Price" msgstr "Mindestverkaufspreis" -#: part/models.py:3117 +#: part/models.py:3127 msgid "Minimum sale price based on price breaks" msgstr "Mindestverkaufspreis basierend auf Staffelpreisen" -#: part/models.py:3123 +#: part/models.py:3133 msgid "Maximum Sale Price" msgstr "Maximaler Verkaufspreis" -#: part/models.py:3124 +#: part/models.py:3134 msgid "Maximum sale price based on price breaks" msgstr "Maximalverkaufspreis basierend auf Staffelpreisen" -#: part/models.py:3130 +#: part/models.py:3140 msgid "Minimum Sale Cost" msgstr "Mindestverkaufskosten" -#: part/models.py:3131 +#: part/models.py:3141 msgid "Minimum historical sale price" msgstr "Minimaler historischer Verkaufspreis" -#: part/models.py:3137 +#: part/models.py:3147 msgid "Maximum Sale Cost" msgstr "Maximale Verkaufskosten" -#: part/models.py:3138 +#: part/models.py:3148 msgid "Maximum historical sale price" msgstr "Maximaler historischer Verkaufspreis" -#: part/models.py:3157 +#: part/models.py:3167 msgid "Part for stocktake" msgstr "Teil für die Inventur" -#: part/models.py:3162 +#: part/models.py:3172 msgid "Item Count" msgstr "Stückzahl" -#: part/models.py:3163 +#: part/models.py:3173 msgid "Number of individual stock entries at time of stocktake" msgstr "Anzahl einzelner Bestandseinträge zum Zeitpunkt der Inventur" -#: part/models.py:3171 +#: part/models.py:3181 msgid "Total available stock at time of stocktake" msgstr "Insgesamt verfügbarer Lagerbestand zum Zeitpunkt der Inventur" -#: part/models.py:3175 part/models.py:3258 +#: part/models.py:3185 part/models.py:3268 #: part/templates/part/part_scheduling.html:13 #: 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:1086 templates/js/translated/pricing.js:826 +#: templates/js/translated/part.js:1089 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 #: templates/js/translated/purchase_order.js:1731 #: templates/js/translated/stock.js:2821 msgid "Date" msgstr "Datum" -#: part/models.py:3176 +#: part/models.py:3186 msgid "Date stocktake was performed" msgstr "Datum der Inventur" -#: part/models.py:3184 +#: part/models.py:3194 msgid "Additional notes" msgstr "Zusätzliche Notizen" -#: part/models.py:3194 +#: part/models.py:3204 msgid "User who performed this stocktake" msgstr "Benutzer, der diese Inventur durchgeführt hat" -#: part/models.py:3200 +#: part/models.py:3210 msgid "Minimum Stock Cost" msgstr "Mindestbestandswert" -#: part/models.py:3201 +#: part/models.py:3211 msgid "Estimated minimum cost of stock on hand" msgstr "Geschätzter Mindestwert des vorhandenen Bestands" -#: part/models.py:3207 +#: part/models.py:3217 msgid "Maximum Stock Cost" msgstr "Maximaler Bestandswert" -#: part/models.py:3208 +#: part/models.py:3218 msgid "Estimated maximum cost of stock on hand" msgstr "Geschätzter Maximalwert des vorhandenen Bestands" -#: part/models.py:3264 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3274 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "Bericht" -#: part/models.py:3265 +#: part/models.py:3275 msgid "Stocktake report file (generated internally)" msgstr "Inventur-Berichtsdatei (intern generiert)" -#: part/models.py:3270 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3280 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "Anzahl der Teile" -#: part/models.py:3271 +#: part/models.py:3281 msgid "Number of parts covered by stocktake" msgstr "Anzahl der Teile, die von der Inventur abgedeckt werden" -#: part/models.py:3281 +#: part/models.py:3291 msgid "User who requested this stocktake report" msgstr "Benutzer, der diesen Inventurbericht angefordert hat" -#: part/models.py:3423 +#: part/models.py:3301 +#, fuzzy +#| msgid "Add Sell Price Break" +msgid "Part Sale Price Break" +msgstr "Verkaufspreisstaffel hinzufügen" + +#: part/models.py:3413 +#, fuzzy +#| msgid "Part Test Templates" +msgid "Part Test Template" +msgstr "Teil Test-Vorlagen" + +#: part/models.py:3439 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:3444 part/models.py:3608 +#: part/models.py:3460 part/models.py:3629 msgid "Choices must be unique" msgstr "Auswahl muss einzigartig sein" -#: part/models.py:3455 +#: part/models.py:3471 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:3466 +#: part/models.py:3482 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:3483 templates/js/translated/part.js:2880 +#: part/models.py:3499 templates/js/translated/part.js:2883 msgid "Test Name" msgstr "Test-Name" -#: part/models.py:3484 +#: part/models.py:3500 msgid "Enter a name for the test" msgstr "Namen für diesen Test eingeben" -#: part/models.py:3490 +#: part/models.py:3506 msgid "Test Key" msgstr "Testschlüssel" -#: part/models.py:3491 +#: part/models.py:3507 msgid "Simplified key for the test" msgstr "Vereinfachter Schlüssel zum Test" -#: part/models.py:3498 +#: part/models.py:3514 msgid "Test Description" msgstr "Test-Beschreibung" -#: part/models.py:3499 +#: part/models.py:3515 msgid "Enter description for this test" msgstr "Beschreibung für diesen Test eingeben" -#: part/models.py:3503 report/models.py:209 -#: templates/js/translated/part.js:2901 +#: part/models.py:3519 report/models.py:209 +#: templates/js/translated/part.js:2904 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "Aktiviert" -#: part/models.py:3503 +#: part/models.py:3519 msgid "Is this test enabled?" msgstr "Ist dieser Test aktiviert?" -#: part/models.py:3508 templates/js/translated/part.js:2909 +#: part/models.py:3524 templates/js/translated/part.js:2912 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "Benötigt" -#: part/models.py:3509 +#: part/models.py:3525 msgid "Is this test required to pass?" msgstr "Muss dieser Test erfolgreich sein?" -#: part/models.py:3514 templates/js/translated/part.js:2917 +#: part/models.py:3530 templates/js/translated/part.js:2920 msgid "Requires Value" msgstr "Erfordert Wert" -#: part/models.py:3515 +#: part/models.py:3531 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:3520 templates/js/translated/part.js:2924 +#: part/models.py:3536 templates/js/translated/part.js:2927 msgid "Requires Attachment" msgstr "Anhang muss eingegeben werden" -#: part/models.py:3522 +#: part/models.py:3538 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:3528 part/models.py:3667 templates/js/translated/part.js:1637 +#: part/models.py:3544 part/models.py:3688 templates/js/translated/part.js:1640 msgid "Choices" msgstr "Auswahlmöglichkeiten" -#: part/models.py:3529 +#: part/models.py:3545 msgid "Valid choices for this test (comma-separated)" msgstr "Gültige Optionen für diesen Test (durch Komma getrennt)" -#: part/models.py:3583 +#: part/models.py:3577 +#, fuzzy +#| msgid "Part Parameter Templates" +msgid "Part Parameter Template" +msgstr "Teil-Parametervorlage" + +#: part/models.py:3604 msgid "Checkbox parameters cannot have units" msgstr "Checkbox-Parameter können keine Einheiten haben" -#: part/models.py:3588 +#: part/models.py:3609 msgid "Checkbox parameters cannot have choices" msgstr "Checkbox-Parameter können keine Auswahl haben" -#: part/models.py:3625 +#: part/models.py:3646 msgid "Parameter template name must be unique" msgstr "Vorlagen-Name des Parameters muss eindeutig sein" -#: part/models.py:3640 +#: part/models.py:3661 msgid "Parameter Name" msgstr "Name des Parameters" -#: part/models.py:3647 +#: part/models.py:3668 msgid "Physical units for this parameter" msgstr "Physikalische Einheiten für diesen Parameter" -#: part/models.py:3655 +#: part/models.py:3676 msgid "Parameter description" msgstr "Parameter-Beschreibung" -#: part/models.py:3661 templates/js/translated/part.js:1628 -#: templates/js/translated/table_filters.js:825 +#: part/models.py:3682 templates/js/translated/part.js:1631 +#: templates/js/translated/table_filters.js:830 msgid "Checkbox" msgstr "Checkbox" -#: part/models.py:3662 +#: part/models.py:3683 msgid "Is this parameter a checkbox?" msgstr "Ist dieser Parameter eine Checkbox?" -#: part/models.py:3668 +#: part/models.py:3689 msgid "Valid choices for this parameter (comma-separated)" msgstr "Gültige Optionen für diesen Parameter (durch Kommas getrennt)" -#: part/models.py:3745 +#: part/models.py:3723 +#, fuzzy +#| msgid "Part Parameters" +msgid "Part Parameter" +msgstr "Teilparameter" + +#: part/models.py:3749 +#, fuzzy +#| msgid "Part cannot be deleted as it is currently active" +msgid "Parameter cannot be modified - part is locked" +msgstr "Teil kann nicht gelöscht werden, da es derzeit aktiv ist" + +#: part/models.py:3785 msgid "Invalid choice for parameter value" msgstr "Ungültige Auswahl für Parameterwert" -#: part/models.py:3788 +#: part/models.py:3828 msgid "Parent Part" msgstr "Ausgangsteil" -#: part/models.py:3796 part/models.py:3897 part/models.py:3898 +#: part/models.py:3836 part/models.py:3944 part/models.py:3945 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "Parameter Vorlage" -#: part/models.py:3801 -msgid "Data" -msgstr "Wert" - -#: part/models.py:3802 +#: part/models.py:3842 msgid "Parameter Value" msgstr "Parameter Wert" -#: part/models.py:3904 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3892 +#, fuzzy +#| msgid "Create Category Parameter Template" +msgid "Part Category Parameter Template" +msgstr "Kategorieparameter Vorlage erstellen" + +#: part/models.py:3951 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "Standard-Wert" -#: part/models.py:3905 +#: part/models.py:3952 msgid "Default Parameter Value" msgstr "Standard Parameter Wert" -#: part/models.py:3943 +#: part/models.py:3990 msgid "Part ID or part name" msgstr "Teilnummer oder Teilname" -#: part/models.py:3944 +#: part/models.py:3991 msgid "Unique part ID value" msgstr "Eindeutige Teil-ID" -#: part/models.py:3946 +#: part/models.py:3993 msgid "Part IPN value" msgstr "IPN-Wert des Teils" -#: part/models.py:3947 +#: part/models.py:3994 msgid "Level" msgstr "Stufe" -#: part/models.py:3947 +#: part/models.py:3994 msgid "BOM level" msgstr "Stücklistenebene" -#: part/models.py:4037 +#: part/models.py:4105 +msgid "BOM item cannot be modified - assembly is locked" +msgstr "" + +#: part/models.py:4112 +msgid "BOM item cannot be modified - variant assembly is locked" +msgstr "" + +#: part/models.py:4122 msgid "Select parent part" msgstr "Ausgangsteil auswählen" -#: part/models.py:4047 +#: part/models.py:4132 msgid "Sub part" msgstr "Untergeordnetes Teil" -#: part/models.py:4048 +#: part/models.py:4133 msgid "Select part to be used in BOM" msgstr "Teil für die Nutzung in der Stückliste auswählen" -#: part/models.py:4059 +#: part/models.py:4144 msgid "BOM quantity for this BOM item" msgstr "Stücklisten-Anzahl für dieses Stücklisten-Teil" -#: part/models.py:4065 +#: part/models.py:4150 msgid "This BOM item is optional" msgstr "Diese Stücklisten-Position ist optional" -#: part/models.py:4071 +#: part/models.py:4156 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:4078 part/templates/part/upload_bom.html:55 +#: part/models.py:4163 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Überschuss" -#: part/models.py:4079 +#: part/models.py:4164 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Geschätzter Ausschuss (absolut oder prozentual)" -#: part/models.py:4086 +#: part/models.py:4171 msgid "BOM item reference" msgstr "Referenz der Postion auf der Stückliste" -#: part/models.py:4094 +#: part/models.py:4179 msgid "BOM item notes" msgstr "Notizen zur Stücklisten-Position" -#: part/models.py:4100 +#: part/models.py:4185 msgid "Checksum" msgstr "Prüfsumme" -#: part/models.py:4101 +#: part/models.py:4186 msgid "BOM line checksum" msgstr "Prüfsumme der Stückliste" -#: part/models.py:4106 templates/js/translated/table_filters.js:174 +#: part/models.py:4191 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "überprüft" -#: part/models.py:4107 +#: part/models.py:4192 msgid "This BOM item has been validated" msgstr "Diese Stücklistenposition wurde validiert" -#: part/models.py:4112 part/templates/part/upload_bom.html:57 +#: part/models.py:4197 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:4113 +#: part/models.py:4198 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:4118 part/templates/part/upload_bom.html:56 +#: part/models.py:4203 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "Varianten zulassen" -#: part/models.py:4119 +#: part/models.py:4204 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:4204 stock/models.py:663 +#: part/models.py:4289 stock/models.py:663 msgid "Quantity must be integer value for trackable parts" msgstr "Menge muss eine Ganzzahl sein" -#: part/models.py:4214 part/models.py:4216 +#: part/models.py:4299 part/models.py:4301 msgid "Sub part must be specified" msgstr "Zuliefererteil muss festgelegt sein" -#: part/models.py:4354 +#: part/models.py:4439 msgid "BOM Item Substitute" msgstr "Stücklisten Ersatzteile" -#: part/models.py:4375 +#: part/models.py:4460 msgid "Substitute part cannot be the same as the master part" msgstr "Ersatzteil kann nicht identisch mit dem Hauptteil sein" -#: part/models.py:4388 +#: part/models.py:4473 msgid "Parent BOM item" msgstr "Übergeordnete Stücklisten Position" -#: part/models.py:4396 +#: part/models.py:4481 msgid "Substitute part" msgstr "Ersatzteil" -#: part/models.py:4412 +#: part/models.py:4497 msgid "Part 1" msgstr "Teil 1" -#: part/models.py:4420 +#: part/models.py:4505 msgid "Part 2" msgstr "Teil 2" -#: part/models.py:4421 +#: part/models.py:4506 msgid "Select Related Part" msgstr "verknüpftes Teil auswählen" -#: part/models.py:4440 +#: part/models.py:4525 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:4445 +#: part/models.py:4530 msgid "Duplicate relationship already exists" msgstr "Doppelte Beziehung existiert bereits" -#: part/serializers.py:118 +#: part/serializers.py:124 msgid "Parent Category" msgstr "Übergeordnete Kategorie" -#: part/serializers.py:119 templates/js/translated/part.js:309 +#: part/serializers.py:125 templates/js/translated/part.js:308 msgid "Parent part category" msgstr "Übergeordnete Teilkategorie" -#: part/serializers.py:126 part/serializers.py:148 +#: part/serializers.py:132 part/serializers.py:154 #: part/templates/part/category.html:122 part/templates/part/category.html:207 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "Unter-Kategorien" -#: part/serializers.py:180 +#: part/serializers.py:189 msgid "Results" msgstr "Ergebnisse" -#: part/serializers.py:181 +#: part/serializers.py:190 msgid "Number of results recorded against this template" msgstr "Anzahl der Ergebnisse, die in dieser Vorlage aufgezeichnet wurden" -#: part/serializers.py:205 part/serializers.py:223 stock/serializers.py:562 +#: part/serializers.py:217 part/serializers.py:235 stock/serializers.py:608 msgid "Purchase currency of this stock item" msgstr "Kaufwährung dieses Lagerartikels" -#: part/serializers.py:268 +#: part/serializers.py:283 msgid "Number of parts using this template" msgstr "Anzahl der Teile, die diese Vorlage verwenden" -#: part/serializers.py:392 +#: part/serializers.py:410 msgid "No parts selected" msgstr "Keine Teile ausgewählt" -#: part/serializers.py:402 +#: part/serializers.py:420 msgid "Select category" msgstr "Kategorie auswählen" -#: part/serializers.py:437 +#: part/serializers.py:455 msgid "Original Part" msgstr "Originalteil" -#: part/serializers.py:438 +#: part/serializers.py:456 msgid "Select original part to duplicate" msgstr "Originalteil zum Duplizieren auswählen" -#: part/serializers.py:443 +#: part/serializers.py:461 msgid "Copy Image" msgstr "Bild kopieren" -#: part/serializers.py:444 +#: part/serializers.py:462 msgid "Copy image from original part" msgstr "Bild vom Originalteil kopieren" -#: part/serializers.py:450 part/templates/part/detail.html:277 +#: part/serializers.py:468 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "Stückliste kopieren" -#: part/serializers.py:451 +#: part/serializers.py:469 msgid "Copy bill of materials from original part" msgstr "Stückliste vom Originalteil kopieren" -#: part/serializers.py:457 +#: part/serializers.py:475 msgid "Copy Parameters" msgstr "Parameter kopieren" -#: part/serializers.py:458 +#: part/serializers.py:476 msgid "Copy parameter data from original part" msgstr "Parameterdaten vom Originalteil kopieren" -#: part/serializers.py:464 +#: part/serializers.py:482 msgid "Copy Notes" msgstr "Anmerkungen kopieren" -#: part/serializers.py:465 +#: part/serializers.py:483 msgid "Copy notes from original part" msgstr "Notizen aus Originalteil kopieren" -#: part/serializers.py:483 +#: part/serializers.py:501 msgid "Initial Stock Quantity" msgstr "Start-Bestandsmenge" -#: part/serializers.py:485 +#: part/serializers.py:503 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:492 +#: part/serializers.py:510 msgid "Initial Stock Location" msgstr "Initialer Lagerort" -#: part/serializers.py:493 +#: part/serializers.py:511 msgid "Specify initial stock location for this Part" msgstr "Lagerstandort für dieses Teil angeben" -#: part/serializers.py:510 +#: part/serializers.py:528 msgid "Select supplier (or leave blank to skip)" msgstr "Lieferant auswählen (oder leer lassen, um zu überspringen)" -#: part/serializers.py:526 +#: part/serializers.py:544 msgid "Select manufacturer (or leave blank to skip)" msgstr "Hersteller auswählen (oder leer lassen, um zu überspringen)" -#: part/serializers.py:536 +#: part/serializers.py:554 msgid "Manufacturer part number" msgstr "Hersteller-Teilenummer" -#: part/serializers.py:543 +#: part/serializers.py:561 msgid "Selected company is not a valid supplier" msgstr "Ausgewählte Firma ist kein gültiger Lieferant" -#: part/serializers.py:552 +#: part/serializers.py:570 msgid "Selected company is not a valid manufacturer" msgstr "Ausgewählte Firma ist kein gültiger Hersteller" -#: part/serializers.py:563 +#: part/serializers.py:581 msgid "Manufacturer part matching this MPN already exists" msgstr "Herstellerteil mit dieser MPN existiert bereits" -#: part/serializers.py:570 +#: part/serializers.py:588 msgid "Supplier part matching this SKU already exists" msgstr "Lieferantenteil mit dieser SKU existiert bereits" -#: part/serializers.py:834 -msgid "External Stock" -msgstr "Externes Lager" - -#: part/serializers.py:836 +#: part/serializers.py:864 msgid "Unallocated Stock" msgstr "Nicht zugewiesenes Lager" -#: part/serializers.py:839 +#: part/serializers.py:867 msgid "Variant Stock" msgstr "Alternatives Lager" -#: part/serializers.py:869 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:472 +#: part/serializers.py:897 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "Teil duplizieren" -#: part/serializers.py:870 +#: part/serializers.py:898 msgid "Copy initial data from another Part" msgstr "Initiale Daten von anderem Teil kopieren" -#: part/serializers.py:876 templates/js/translated/part.js:102 +#: part/serializers.py:904 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "Initialer Lagerbestand" -#: part/serializers.py:877 +#: part/serializers.py:905 msgid "Create Part with initial stock quantity" msgstr "Erstelle Teil mit Ausgangsbestand" -#: part/serializers.py:883 +#: part/serializers.py:911 msgid "Supplier Information" msgstr "Lieferanteninformationen" -#: part/serializers.py:884 +#: part/serializers.py:912 msgid "Add initial supplier information for this part" msgstr "Lieferanteninformationen zu diesem Teil hinzufügen" -#: part/serializers.py:892 +#: part/serializers.py:920 msgid "Copy Category Parameters" msgstr "Kategorieparameter kopieren" -#: part/serializers.py:893 +#: part/serializers.py:921 msgid "Copy parameter templates from selected part category" msgstr "Parametervorlagen aus der ausgewählten Teilkategorie kopieren" -#: part/serializers.py:898 +#: part/serializers.py:926 msgid "Existing Image" msgstr "Vorhandenes Bild" -#: part/serializers.py:899 +#: part/serializers.py:927 msgid "Filename of an existing part image" msgstr "Dateiname eines vorhandenen Teilbildes" -#: part/serializers.py:916 +#: part/serializers.py:944 msgid "Image file does not exist" msgstr "Bilddatei existiert nicht" -#: part/serializers.py:1122 +#: part/serializers.py:1150 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:1132 +#: part/serializers.py:1160 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:1142 +#: part/serializers.py:1170 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:1148 +#: part/serializers.py:1176 msgid "Exclude External Stock" msgstr "Externen Bestand ausschließen" -#: part/serializers.py:1149 +#: part/serializers.py:1177 msgid "Exclude stock items in external locations" msgstr "Lagerartikel an externen Orten ausschließen" -#: part/serializers.py:1154 +#: part/serializers.py:1182 msgid "Generate Report" msgstr "Bericht generieren" -#: part/serializers.py:1155 +#: part/serializers.py:1183 msgid "Generate report file containing calculated stocktake data" msgstr "Erstelle Berichtsdatei mit berechneten Inventurdaten" -#: part/serializers.py:1160 +#: part/serializers.py:1188 msgid "Update Parts" msgstr "Teile aktualisieren" -#: part/serializers.py:1161 +#: part/serializers.py:1189 msgid "Update specified parts with calculated stocktake data" msgstr "Angegebene Teile mit berechneten Inventurdaten aktualisieren" -#: part/serializers.py:1169 +#: part/serializers.py:1197 msgid "Stocktake functionality is not enabled" msgstr "Inventur-Funktionalität ist nicht aktiviert" -#: part/serializers.py:1275 +#: part/serializers.py:1303 msgid "Override calculated value for minimum price" msgstr "Berechneten Wert für Mindestpreis überschreiben" -#: part/serializers.py:1282 +#: part/serializers.py:1310 msgid "Minimum price currency" msgstr "Mindestpreis Währung" -#: part/serializers.py:1290 +#: part/serializers.py:1318 msgid "Override calculated value for maximum price" msgstr "Berechneten Wert für maximalen Preis überschreiben" -#: part/serializers.py:1297 +#: part/serializers.py:1325 msgid "Maximum price currency" msgstr "Maximalpreis Währung" -#: part/serializers.py:1326 +#: part/serializers.py:1354 msgid "Update" msgstr "Aktualisieren" -#: part/serializers.py:1327 +#: part/serializers.py:1355 msgid "Update pricing for this part" msgstr "Preis für dieses Teil aktualisieren" -#: part/serializers.py:1350 +#: part/serializers.py:1378 #, 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:1357 +#: part/serializers.py:1385 msgid "Minimum price must not be greater than maximum price" msgstr "Mindestpreis darf nicht größer als der Maximalpreis sein" -#: part/serializers.py:1360 +#: part/serializers.py:1388 msgid "Maximum price must not be less than minimum price" msgstr "Der Maximalpreis darf nicht kleiner als der Mindestpreis sein" -#: part/serializers.py:1727 +#: part/serializers.py:1759 msgid "Select part to copy BOM from" msgstr "Teil auswählen, von dem Stückliste kopiert wird" -#: part/serializers.py:1735 +#: part/serializers.py:1767 msgid "Remove Existing Data" msgstr "Bestehende Daten entfernen" -#: part/serializers.py:1736 +#: part/serializers.py:1768 msgid "Remove existing BOM items before copying" msgstr "Bestehende Stücklisten-Positionen vor dem Kopieren entfernen" -#: part/serializers.py:1741 +#: part/serializers.py:1773 msgid "Include Inherited" msgstr "Vererbtes einschließen" -#: part/serializers.py:1742 +#: part/serializers.py:1774 msgid "Include BOM items which are inherited from templated parts" msgstr "Stücklisten-Positionen einbeziehen, die von Vorlage-Teilen geerbt werden" -#: part/serializers.py:1747 +#: part/serializers.py:1779 msgid "Skip Invalid Rows" msgstr "Ungültige Zeilen überspringen" -#: part/serializers.py:1748 +#: part/serializers.py:1780 msgid "Enable this option to skip invalid rows" msgstr "Aktiviere diese Option, um ungültige Zeilen zu überspringen" -#: part/serializers.py:1753 +#: part/serializers.py:1785 msgid "Copy Substitute Parts" msgstr "Ersatzteile kopieren" -#: part/serializers.py:1754 +#: part/serializers.py:1786 msgid "Copy substitute parts when duplicate BOM items" msgstr "Ersatzteile beim Duplizieren von Stücklisten-Positionen kopieren" -#: part/serializers.py:1788 +#: part/serializers.py:1823 msgid "Clear Existing BOM" msgstr "Bestehende Stückliste löschen" -#: part/serializers.py:1789 +#: part/serializers.py:1824 msgid "Delete existing BOM items before uploading" msgstr "Bestehende Stücklisten-Positionen vor dem Importieren entfernen" -#: part/serializers.py:1819 +#: part/serializers.py:1856 msgid "No part column specified" msgstr "Keine Teilspalte angegeben" -#: part/serializers.py:1863 +#: part/serializers.py:1900 msgid "Multiple matching parts found" msgstr "Mehrere übereinstimmende Teile gefunden" -#: part/serializers.py:1866 +#: part/serializers.py:1903 msgid "No matching part found" msgstr "Keine passenden Teile gefunden" -#: part/serializers.py:1869 +#: part/serializers.py:1906 msgid "Part is not designated as a component" msgstr "Teil ist nicht als Komponente angelegt" -#: part/serializers.py:1878 +#: part/serializers.py:1915 msgid "Quantity not provided" msgstr "Menge nicht angegeben" -#: part/serializers.py:1886 +#: part/serializers.py:1923 msgid "Invalid quantity" msgstr "Ungültige Menge" -#: part/serializers.py:1907 +#: part/serializers.py:1946 msgid "At least one BOM item is required" msgstr "Mindestens eine Stückliste-Position ist erforderlich" -#: part/stocktake.py:225 templates/js/translated/part.js:1067 -#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 +#: part/stocktake.py:225 templates/js/translated/part.js:1070 +#: templates/js/translated/part.js:1825 templates/js/translated/part.js:1881 #: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "Gesamtstückzahl" @@ -7507,7 +7882,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 templates/js/translated/label.js:143 +#: stock/templates/stock/location.html:74 templates/js/translated/label.js:136 msgid "Print Label" msgstr "Label drucken" @@ -7529,7 +7904,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:2296 msgid "Part actions" msgstr "Teile Aktionen" @@ -7569,6 +7944,10 @@ msgstr "Teil kann von externen Zulieferern gekauft werden" msgid "Part can be sold to customers" msgstr "Teil kann an Kunden verkauft werden" +#: part/templates/part/part_base.html:145 +msgid "Part is not active" +msgstr "Teil ist nicht aktiv" + #: part/templates/part/part_base.html:153 msgid "Part is virtual (not a physical part)" msgstr "Teil ist virtuell (kein physisches Teil)" @@ -7597,7 +7976,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:1265 templates/js/translated/part.js:2444 +#: templates/js/translated/part.js:1268 templates/js/translated/part.js:2447 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" @@ -7690,8 +8069,8 @@ msgstr "Varianten" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/part.js:1243 templates/js/translated/part.js:2146 -#: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 +#: templates/js/translated/part.js:1246 templates/js/translated/part.js:2149 +#: templates/js/translated/part.js:2395 templates/js/translated/stock.js:1059 #: templates/js/translated/stock.js:2070 templates/navbar.html:31 msgid "Stock" msgstr "Bestand" @@ -7811,8 +8190,8 @@ msgstr "Preise aktualisieren" #: part/templates/part/stock_count.html:7 #: templates/js/translated/model_renderers.js:227 -#: templates/js/translated/part.js:705 templates/js/translated/part.js:2141 -#: templates/js/translated/part.js:2143 +#: templates/js/translated/part.js:704 templates/js/translated/part.js:2144 +#: templates/js/translated/part.js:2146 msgid "No Stock" msgstr "Kein Bestand" @@ -7956,7 +8335,7 @@ msgstr "Barcode stimmt nicht mit einem vorhandenen Lagerartikel überein" 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 +#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2590 #: templates/js/translated/sales_order.js:1953 msgid "Insufficient stock available" msgstr "Unzureichender Bestand verfügbar" @@ -8051,7 +8430,7 @@ msgstr "Sendung wurde bereits geliefert" msgid "Quantity to allocate" msgstr "Zugewiesene Menge" -#: plugin/base/label/label.py:39 templates/js/translated/label.js:155 +#: plugin/base/label/label.py:39 templates/js/translated/label.js:148 msgid "Label printing failed" msgstr "Labeldruck fehlgeschlagen" @@ -8748,7 +9127,7 @@ msgstr "Summe" #: report/templates/report/inventree_return_order_report.html:25 #: report/templates/report/inventree_test_report.html:88 stock/models.py:825 -#: stock/serializers.py:149 stock/templates/stock/item_base.html:311 +#: stock/serializers.py:151 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:230 @@ -8778,7 +9157,7 @@ msgstr "Testergebnisse" msgid "Test" msgstr "Test" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2447 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2457 msgid "Result" msgstr "Ergebnis" @@ -8799,7 +9178,7 @@ msgid "No result" msgstr "Kein Ergebnis" #: report/templates/report/inventree_test_report.html:153 -#: stock/templates/stock/stock_sidebar.html:16 +#: stock/serializers.py:591 stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "Verbaute Objekte" @@ -8829,10 +9208,6 @@ msgstr "company_image tag erfordert eine Firmeninstanz" msgid "Location ID" msgstr "Standort-ID" -#: stock/admin.py:53 stock/admin.py:175 -msgid "Location Name" -msgstr "Ortsname" - #: stock/admin.py:63 stock/templates/stock/location.html:131 #: stock/templates/stock/location.html:137 msgid "Location Path" @@ -8909,7 +9284,7 @@ msgstr "" msgid "Include sub-locations in filtered results" msgstr "Unterorte in gefilterte Ergebnisse einbeziehen" -#: stock/api.py:369 stock/serializers.py:1085 +#: stock/api.py:369 stock/serializers.py:1148 msgid "Parent Location" msgstr "Übergeordneter Ort" @@ -8917,44 +9292,45 @@ msgstr "Übergeordneter Ort" msgid "Filter by parent location" msgstr "Filtern nach übergeordnetem Ort" -#: stock/api.py:625 templates/js/translated/table_filters.js:427 +#: stock/api.py:617 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "Externer Standort" -#: stock/api.py:813 +#: stock/api.py:805 msgid "Part Tree" msgstr "Teile-Baum" -#: stock/api.py:843 +#: stock/api.py:835 msgid "Expiry date before" msgstr "Gültigkeitsdauer vor" -#: stock/api.py:847 +#: stock/api.py:839 msgid "Expiry date after" msgstr "Gültigkeitsdauer nach" -#: stock/api.py:850 stock/templates/stock/item_base.html:439 +#: stock/api.py:842 stock/serializers.py:596 +#: stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "überfällig" -#: stock/api.py:937 +#: stock/api.py:929 msgid "Quantity is required" msgstr "Menge ist erforderlich" -#: stock/api.py:943 +#: stock/api.py:935 msgid "Valid part must be supplied" msgstr "Gültiges Teil muss angegeben werden" -#: stock/api.py:974 +#: stock/api.py:966 msgid "The given supplier part does not exist" msgstr "Der angegebene Lieferantenartikel existiert nicht" -#: stock/api.py:984 +#: stock/api.py:976 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:1015 +#: stock/api.py:1007 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "Seriennummern können für nicht verfolgbare Teile nicht angegeben werden" @@ -9021,7 +9397,7 @@ msgstr "Sie können diesen Lagerort nicht als strukturell markieren, da sich ber msgid "Stock items cannot be located into structural stock locations!" msgstr "Lagerartikel können nicht in strukturelle Lagerorte abgelegt werden!" -#: stock/models.py:669 stock/serializers.py:446 +#: stock/models.py:669 stock/serializers.py:477 msgid "Stock item cannot be created for virtual parts" msgstr "Für virtuelle Teile können keine Lagerartikel erstellt werden" @@ -9066,7 +9442,7 @@ msgstr "Passendes Zuliefererteil für diesen Lagerartikel auswählen" msgid "Where is this stock item located?" msgstr "Wo wird dieses Teil normalerweise gelagert?" -#: stock/models.py:799 stock/serializers.py:1476 +#: stock/models.py:799 stock/serializers.py:1542 msgid "Packaging this stock item is stored in" msgstr "Verpackung, in der dieser Lagerartikel gelagert ist" @@ -9078,7 +9454,7 @@ msgstr "Ist dieses Teil in einem anderen verbaut?" msgid "Serial number for this item" msgstr "Seriennummer für dieses Teil" -#: stock/models.py:843 stock/serializers.py:1459 +#: stock/models.py:843 stock/serializers.py:1525 msgid "Batch code for this stock item" msgstr "Losnummer für diesen Lagerartikel" @@ -9155,7 +9531,7 @@ msgstr "Seriennummern muss eine Liste von Ganzzahlen sein" msgid "Quantity does not match serial numbers" msgstr "Anzahl stimmt nicht mit den Seriennummern überein" -#: stock/models.py:1520 stock/serializers.py:660 +#: stock/models.py:1520 stock/serializers.py:718 msgid "Serial numbers already exist" msgstr "Seriennummern existieren bereits" @@ -9187,7 +9563,7 @@ msgstr "Lagerartikel wird aktuell produziert" msgid "Serialized stock cannot be merged" msgstr "Nachverfolgbare Lagerartikel können nicht zusammengeführt werden" -#: stock/models.py:1658 stock/serializers.py:1365 +#: stock/models.py:1658 stock/serializers.py:1431 msgid "Duplicate stock items" msgstr "Artikel duplizeren" @@ -9207,288 +9583,342 @@ msgstr "Status-Codes müssen zusammenpassen" 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:2317 +#, fuzzy +#| msgid "Stock Tracking" +msgid "Stock Item Tracking" +msgstr "Lagerartikel-Verfolgung" + +#: stock/models.py:2350 msgid "Entry notes" msgstr "Eintrags-Notizen" -#: stock/models.py:2413 +#: stock/models.py:2390 +#, fuzzy +#| msgid "Stock Item Test Report" +msgid "Stock Item Test Result" +msgstr "Lagerartikel Test-Bericht" + +#: stock/models.py:2423 msgid "Value must be provided for this test" msgstr "Wert muss für diesen Test angegeben werden" -#: stock/models.py:2418 +#: stock/models.py:2428 msgid "Attachment must be uploaded for this test" msgstr "Anhang muss für diesen Test hochgeladen werden" -#: stock/models.py:2423 +#: stock/models.py:2433 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2447 +#: stock/models.py:2457 msgid "Test result" msgstr "Testergebnis" -#: stock/models.py:2454 +#: stock/models.py:2464 msgid "Test output value" msgstr "Test Ausgabe Wert" -#: stock/models.py:2462 +#: stock/models.py:2472 msgid "Test result attachment" msgstr "Test Ergebnis Anhang" -#: stock/models.py:2466 +#: stock/models.py:2476 msgid "Test notes" msgstr "Test Notizen" -#: stock/models.py:2474 templates/js/translated/stock.js:1548 +#: stock/models.py:2484 templates/js/translated/stock.js:1548 msgid "Test station" msgstr "Teststation" -#: stock/models.py:2475 +#: stock/models.py:2485 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:2481 +#: stock/models.py:2491 msgid "Started" msgstr "Gestartet" -#: stock/models.py:2482 +#: stock/models.py:2492 msgid "The timestamp of the test start" msgstr "Der Zeitstempel des Teststarts" -#: stock/models.py:2488 +#: stock/models.py:2498 msgid "Finished" msgstr "Fertiggestellt" -#: stock/models.py:2489 +#: stock/models.py:2499 msgid "The timestamp of the test finish" msgstr "Der Zeitstempel der Test-Beendigung" -#: stock/serializers.py:74 +#: stock/serializers.py:76 msgid "Generated batch code" msgstr "" -#: stock/serializers.py:83 +#: stock/serializers.py:85 msgid "Select build order" msgstr "" -#: stock/serializers.py:92 +#: stock/serializers.py:94 msgid "Select stock item to generate batch code for" msgstr "" -#: stock/serializers.py:101 +#: stock/serializers.py:103 msgid "Select location to generate batch code for" msgstr "" -#: stock/serializers.py:110 +#: stock/serializers.py:112 msgid "Select part to generate batch code for" msgstr "" -#: stock/serializers.py:119 +#: stock/serializers.py:121 msgid "Select purchase order" msgstr "" -#: stock/serializers.py:126 +#: stock/serializers.py:128 msgid "Enter quantity for batch code" msgstr "" -#: stock/serializers.py:149 +#: stock/serializers.py:151 msgid "Generated serial number" msgstr "" -#: stock/serializers.py:158 +#: stock/serializers.py:160 msgid "Select part to generate serial number for" msgstr "" -#: stock/serializers.py:166 +#: stock/serializers.py:168 msgid "Quantity of serial numbers to generate" msgstr "" -#: stock/serializers.py:228 +#: stock/serializers.py:233 msgid "Test template for this result" msgstr "Testvorlage für dieses Ergebnis" -#: stock/serializers.py:247 +#: stock/serializers.py:252 msgid "Template ID or test name must be provided" msgstr "Vorlagen-ID oder Testname muss angegeben werden" -#: stock/serializers.py:279 +#: stock/serializers.py:284 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:315 +#: stock/serializers.py:320 msgid "Serial number is too large" msgstr "Seriennummer ist zu lang" -#: stock/serializers.py:438 +#: stock/serializers.py:449 stock/templates/stock/item_base.html:193 +msgid "Parent Item" +msgstr "Elternposition" + +#: stock/serializers.py:450 +#, fuzzy +#| msgid "Parent Stock Item" +msgid "Parent stock item" +msgstr "Eltern-Lagerartikel" + +#: stock/serializers.py:469 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:558 +#: stock/serializers.py:585 templates/js/translated/build.js:991 +#: templates/js/translated/build.js:2344 +msgid "Allocated Quantity" +msgstr "Zugewiesene Menge" + +#: stock/serializers.py:588 stock/templates/stock/item_base.html:437 +#: templates/js/translated/table_filters.js:435 users/models.py:174 +msgid "Expired" +msgstr "abgelaufen" + +#: stock/serializers.py:594 stock/templates/stock/stock_sidebar.html:20 +msgid "Child Items" +msgstr "Untergeordnete Objekte" + +#: stock/serializers.py:598 +#, fuzzy +#| msgid "Tracking" +msgid "Tracking Items" +msgstr "Nachverfolgen" + +#: stock/serializers.py:604 msgid "Purchase price of this stock item, per unit or pack" msgstr "Einkaufspreis dieses Lagerartikels, pro Einheit oder Verpackungseinheit" -#: stock/serializers.py:595 +#: stock/serializers.py:623 +#, fuzzy +#| msgid "Minimum Price" +msgid "Minimum Pricing" +msgstr "Niedrigster Preis" + +#: stock/serializers.py:629 +#, fuzzy +#| msgid "Maximum Price" +msgid "Maximum Pricing" +msgstr "Höchster Preis" + +#: stock/serializers.py:653 msgid "Enter number of stock items to serialize" msgstr "Anzahl der zu serialisierenden Lagerartikel eingeben" -#: stock/serializers.py:608 +#: stock/serializers.py:666 #, 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:615 +#: stock/serializers.py:673 msgid "Enter serial numbers for new items" msgstr "Seriennummern für neue Teile eingeben" -#: stock/serializers.py:626 stock/serializers.py:1322 stock/serializers.py:1578 +#: stock/serializers.py:684 stock/serializers.py:1388 stock/serializers.py:1644 msgid "Destination stock location" msgstr "Ziel-Bestand" -#: stock/serializers.py:633 +#: stock/serializers.py:691 msgid "Optional note field" msgstr "Optionales Notizfeld" -#: stock/serializers.py:643 +#: stock/serializers.py:701 msgid "Serial numbers cannot be assigned to this part" msgstr "Seriennummern können diesem Teil nicht zugewiesen werden" -#: stock/serializers.py:698 +#: stock/serializers.py:756 msgid "Select stock item to install" msgstr "Lagerartikel für Installation auswählen" -#: stock/serializers.py:705 +#: stock/serializers.py:763 msgid "Quantity to Install" msgstr "Zu installierende Menge" -#: stock/serializers.py:706 +#: stock/serializers.py:764 msgid "Enter the quantity of items to install" msgstr "Anzahl der zu verwendenden Artikel eingeben" -#: stock/serializers.py:711 stock/serializers.py:791 stock/serializers.py:887 -#: stock/serializers.py:937 +#: stock/serializers.py:769 stock/serializers.py:849 stock/serializers.py:945 +#: stock/serializers.py:995 msgid "Add transaction note (optional)" msgstr " Transaktionsnotizen hinzufügen (optional)" -#: stock/serializers.py:719 +#: stock/serializers.py:777 msgid "Quantity to install must be at least 1" msgstr "Die zu verwendende Menge muss mindestens 1 sein" -#: stock/serializers.py:727 +#: stock/serializers.py:785 msgid "Stock item is unavailable" msgstr "Lagerartikel ist nicht verfügbar" -#: stock/serializers.py:738 +#: stock/serializers.py:796 msgid "Selected part is not in the Bill of Materials" msgstr "Ausgewähltes Teil ist nicht in der Stückliste" -#: stock/serializers.py:751 +#: stock/serializers.py:809 msgid "Quantity to install must not exceed available quantity" msgstr "Die zu verwendende Menge darf die verfügbare Menge nicht überschreiten" -#: stock/serializers.py:786 +#: stock/serializers.py:844 msgid "Destination location for uninstalled item" msgstr "Ziel Lagerort für unverbautes Objekt" -#: stock/serializers.py:821 +#: stock/serializers.py:879 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:834 +#: stock/serializers.py:892 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:851 +#: stock/serializers.py:909 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "Lagerartikel konnte nicht mit Zulieferteil zugewiesen werden" -#: stock/serializers.py:882 +#: stock/serializers.py:940 msgid "Destination location for returned item" msgstr "Ziel Lagerort für zurückgegebene Artikel" -#: stock/serializers.py:919 +#: stock/serializers.py:977 msgid "Select stock items to change status" msgstr "Lagerartikel auswählen, um den Status zu ändern" -#: stock/serializers.py:925 +#: stock/serializers.py:983 msgid "No stock items selected" msgstr "Keine Lagerartikel ausgewählt" -#: stock/serializers.py:1021 stock/serializers.py:1093 +#: stock/serializers.py:1079 stock/serializers.py:1156 #: stock/templates/stock/location.html:165 #: stock/templates/stock/location.html:222 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "Unter-Lagerorte" -#: stock/serializers.py:1086 templates/js/translated/stock.js:152 +#: stock/serializers.py:1149 templates/js/translated/stock.js:152 msgid "Parent stock location" msgstr "Übergeordneter Lagerort" -#: stock/serializers.py:1194 +#: stock/serializers.py:1260 msgid "Part must be salable" msgstr "Teil muss verkaufbar sein" -#: stock/serializers.py:1198 +#: stock/serializers.py:1264 msgid "Item is allocated to a sales order" msgstr "Artikel ist einem Kundenauftrag zugeordnet" -#: stock/serializers.py:1202 +#: stock/serializers.py:1268 msgid "Item is allocated to a build order" msgstr "Artikel ist einem Fertigungsauftrag zugeordnet" -#: stock/serializers.py:1226 +#: stock/serializers.py:1292 msgid "Customer to assign stock items" msgstr "Kunde zum Zuweisen von Lagerartikel" -#: stock/serializers.py:1232 +#: stock/serializers.py:1298 msgid "Selected company is not a customer" msgstr "Ausgewählte Firma ist kein Kunde" -#: stock/serializers.py:1240 +#: stock/serializers.py:1306 msgid "Stock assignment notes" msgstr "Notizen zur Lagerzuordnung" -#: stock/serializers.py:1250 stock/serializers.py:1504 +#: stock/serializers.py:1316 stock/serializers.py:1570 msgid "A list of stock items must be provided" msgstr "Eine Liste der Lagerbestände muss angegeben werden" -#: stock/serializers.py:1329 +#: stock/serializers.py:1395 msgid "Stock merging notes" msgstr "Notizen zur Lagerartikelzusammenführung" -#: stock/serializers.py:1334 +#: stock/serializers.py:1400 msgid "Allow mismatched suppliers" msgstr "Unterschiedliche Lieferanten erlauben" -#: stock/serializers.py:1335 +#: stock/serializers.py:1401 msgid "Allow stock items with different supplier parts to be merged" msgstr "Zusammenführen von Lagerartikeln mit unterschiedlichen Lieferanten erlauben" -#: stock/serializers.py:1340 +#: stock/serializers.py:1406 msgid "Allow mismatched status" msgstr "Unterschiedliche Status erlauben" -#: stock/serializers.py:1341 +#: stock/serializers.py:1407 msgid "Allow stock items with different status codes to be merged" msgstr "Zusammenführen von Lagerartikeln mit unterschiedlichen Status-Codes erlauben" -#: stock/serializers.py:1351 +#: stock/serializers.py:1417 msgid "At least two stock items must be provided" msgstr "Mindestens zwei Lagerartikel müssen angegeben werden" -#: stock/serializers.py:1418 +#: stock/serializers.py:1484 msgid "No Change" msgstr "Keine Änderung" -#: stock/serializers.py:1447 +#: stock/serializers.py:1513 msgid "StockItem primary key value" msgstr "Primärschlüssel Lagerelement" -#: stock/serializers.py:1466 +#: stock/serializers.py:1532 msgid "Stock item status code" msgstr "Lagerartikel Status-Code" -#: stock/serializers.py:1494 +#: stock/serializers.py:1560 msgid "Stock transaction notes" msgstr "Bestandsbewegungsnotizen" @@ -9757,10 +10187,6 @@ msgstr "Lagerartikel löschen" msgid "Build" msgstr "Bauauftrag" -#: stock/templates/stock/item_base.html:193 -msgid "Parent Item" -msgstr "Elternposition" - #: stock/templates/stock/item_base.html:211 msgid "No manufacturer set" msgstr "Kein Hersteller ausgewählt" @@ -9836,11 +10262,6 @@ msgstr "Dieser Lagerartikel hat nicht alle Tests bestanden" msgid "This StockItem expired on %(item.expiry_date)s" msgstr "Dieser Lagerartikel lief am %(item.expiry_date)s ab" -#: stock/templates/stock/item_base.html:437 -#: templates/js/translated/table_filters.js:435 users/models.py:174 -msgid "Expired" -msgstr "abgelaufen" - #: stock/templates/stock/item_base.html:439 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" @@ -9988,10 +10409,6 @@ msgstr "Lagerartikel-Verfolgung" msgid "Allocations" msgstr "Zuweisungen" -#: stock/templates/stock/stock_sidebar.html:20 -msgid "Child Items" -msgstr "Untergeordnete Objekte" - #: templates/403.html:6 templates/403.html:12 templates/403_csrf.html:7 msgid "Permission Denied" msgstr "Zugriff verweigert" @@ -10466,8 +10883,8 @@ msgstr "Bewerten" #: 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:393 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:245 users/models.py:402 +#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 +#: templates/js/translated/stock.js:245 users/models.py:406 msgid "Delete" msgstr "Löschen" @@ -10507,12 +10924,12 @@ msgid "No category parameter templates found" msgstr "Keine Kategorieparameter Vorlage gefunden" #: templates/InvenTree/settings/settings_staff_js.html:308 -#: templates/js/translated/part.js:1646 +#: templates/js/translated/part.js:1649 msgid "Edit Template" msgstr "Vorlage bearbeiten" #: templates/InvenTree/settings/settings_staff_js.html:309 -#: templates/js/translated/part.js:1647 +#: templates/js/translated/part.js:1650 msgid "Delete Template" msgstr "Vorlage löschen" @@ -11145,7 +11562,7 @@ msgid "The following parts are low on required stock" msgstr "Bei den folgenden Teilen gibt es wenige Lagerartikel" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2556 +#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2557 msgid "Required Quantity" msgstr "Benötigte Menge" @@ -11159,7 +11576,7 @@ msgid "Click on the following link to view this part" msgstr "Klicken Sie auf den folgenden Link, um diesen Teil anzuzeigen" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3219 +#: templates/js/translated/part.js:3222 msgid "Minimum Quantity" msgstr "Mindestmenge" @@ -11514,7 +11931,7 @@ msgstr "Stückliste für Bauteile laden" msgid "Substitutes Available" msgstr "Ersatzteile verfügbar" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2500 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2501 msgid "Variant stock allowed" msgstr "Alternatives Lager erlaubt" @@ -11534,30 +11951,30 @@ msgstr "Stücklistenpreise sind vollständig" msgid "No pricing available" msgstr "Keine Preisinformation verfügbar" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2621 +#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2622 msgid "External stock" msgstr "Externes Lager" -#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2595 +#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2596 #: templates/js/translated/sales_order.js:1946 msgid "No Stock Available" msgstr "Kein Lagerbestand verfügbar" -#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2599 +#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2600 msgid "Includes variant and substitute stock" msgstr "Alternatives Lager und Ersatzteillager einschließen" -#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2601 -#: templates/js/translated/part.js:1257 +#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2602 +#: templates/js/translated/part.js:1260 #: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "Alternatives Lager einschließen" -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2603 +#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2604 msgid "Includes substitute stock" msgstr "Ersatzteillager einschließen" -#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2586 +#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2587 msgid "Consumable item" msgstr "Verbrauchsartikel" @@ -11589,7 +12006,7 @@ msgstr "Stückliste anzeigen" msgid "No BOM items found" msgstr "Keine Stücklisten-Position(en) gefunden" -#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2485 +#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2486 msgid "Required Part" msgstr "Benötigtes Teil" @@ -11758,10 +12175,6 @@ msgstr "Endprodukte entfernen" msgid "No build order allocations found" msgstr "Keine Allokationen für Bauauftrag gefunden" -#: templates/js/translated/build.js:991 templates/js/translated/build.js:2344 -msgid "Allocated Quantity" -msgstr "Zugewiesene Menge" - #: templates/js/translated/build.js:1005 msgid "Location not specified" msgstr "Standort nicht angegeben" @@ -11873,9 +12286,9 @@ msgstr "Lagerartikel zuordnen" msgid "No builds matching query" msgstr "Keine Bauaufträge zur Suchanfrage" -#: templates/js/translated/build.js:2117 templates/js/translated/build.js:2479 +#: templates/js/translated/build.js:2117 templates/js/translated/build.js:2480 #: templates/js/translated/forms.js:2163 templates/js/translated/forms.js:2179 -#: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 +#: templates/js/translated/part.js:2319 templates/js/translated/part.js:2745 #: templates/js/translated/stock.js:1983 templates/js/translated/stock.js:2710 msgid "Select" msgstr "Auswählen" @@ -11906,59 +12319,59 @@ msgstr "Zuordnung bearbeiten" msgid "Remove Allocation" msgstr "Zuordnung entfernen" -#: templates/js/translated/build.js:2455 +#: templates/js/translated/build.js:2456 msgid "build line" msgstr "Bauauftragsposition" -#: templates/js/translated/build.js:2456 +#: templates/js/translated/build.js:2457 msgid "build lines" msgstr "Bauauftragspositionen" -#: templates/js/translated/build.js:2474 +#: templates/js/translated/build.js:2475 msgid "No build lines found" msgstr "Keine Bauauftragspositionen gefunden" -#: templates/js/translated/build.js:2504 templates/js/translated/part.js:791 -#: templates/js/translated/part.js:1203 +#: templates/js/translated/build.js:2505 templates/js/translated/part.js:790 +#: templates/js/translated/part.js:1206 msgid "Trackable part" msgstr "Nachverfolgbares Teil" -#: templates/js/translated/build.js:2539 +#: templates/js/translated/build.js:2540 msgid "Unit Quantity" msgstr "Menge" -#: templates/js/translated/build.js:2591 +#: templates/js/translated/build.js:2592 #: templates/js/translated/sales_order.js:1951 msgid "Sufficient stock available" msgstr "Ausreichender Bestand vorhanden" -#: templates/js/translated/build.js:2646 +#: templates/js/translated/build.js:2647 msgid "Consumable Item" msgstr "Verbrauchsartikel" -#: templates/js/translated/build.js:2653 +#: templates/js/translated/build.js:2654 msgid "Tracked item" msgstr "Verfolgtes Objekt" -#: templates/js/translated/build.js:2654 +#: templates/js/translated/build.js:2655 msgid "Allocate tracked items against individual build outputs" msgstr "Zuweisung von nachverfolgbaren Artikeln zu einzelnen Bauprodukten" -#: templates/js/translated/build.js:2662 +#: templates/js/translated/build.js:2663 #: templates/js/translated/sales_order.js:2052 msgid "Build stock" msgstr "Bestand bauen" -#: templates/js/translated/build.js:2667 templates/js/translated/stock.js:1868 +#: templates/js/translated/build.js:2668 templates/js/translated/stock.js:1868 msgid "Order stock" msgstr "Bestand bestellen" -#: templates/js/translated/build.js:2671 +#: templates/js/translated/build.js:2672 #: templates/js/translated/sales_order.js:2046 msgid "Allocate stock" msgstr "Bestand zuweisen" -#: templates/js/translated/build.js:2675 +#: templates/js/translated/build.js:2676 msgid "Remove stock allocation" msgstr "Bestands-Zuordnung löschen" @@ -12105,7 +12518,7 @@ msgid "Delete Parameters" msgstr "Parameter löschen" #: templates/js/translated/company.js:1191 -#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2245 +#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2248 msgid "Order parts" msgstr "Teile bestellen" @@ -12122,34 +12535,34 @@ msgid "No manufacturer parts found" msgstr "Keine Herstellerteile gefunden" #: templates/js/translated/company.js:1279 -#: templates/js/translated/company.js:1567 templates/js/translated/part.js:799 -#: templates/js/translated/part.js:1211 +#: templates/js/translated/company.js:1567 templates/js/translated/part.js:798 +#: templates/js/translated/part.js:1214 msgid "Template part" msgstr "Vorlagenteil" #: templates/js/translated/company.js:1283 -#: templates/js/translated/company.js:1571 templates/js/translated/part.js:803 -#: templates/js/translated/part.js:1215 +#: templates/js/translated/company.js:1571 templates/js/translated/part.js:802 +#: templates/js/translated/part.js:1218 msgid "Assembled part" msgstr "Baugruppe" -#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1465 +#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1468 msgid "No parameters found" msgstr "Keine Parameter gefunden" -#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1528 +#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1531 msgid "Edit parameter" msgstr "Parameter bearbeiten" -#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1529 +#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1532 msgid "Delete parameter" msgstr "Parameter löschen" -#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1434 +#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1437 msgid "Edit Parameter" msgstr "Parameter bearbeiten" -#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1550 +#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1553 msgid "Delete Parameter" msgstr "Parameter löschen" @@ -12323,15 +12736,15 @@ msgstr "Falsch" msgid "No parts required for builds" msgstr "Keine Ersatzteile für Montage erforderlich" -#: templates/js/translated/label.js:55 templates/js/translated/report.js:38 +#: templates/js/translated/label.js:48 templates/js/translated/report.js:38 msgid "Select Items" msgstr "Elemente auswählen" -#: templates/js/translated/label.js:56 templates/js/translated/report.js:39 +#: templates/js/translated/label.js:49 templates/js/translated/report.js:39 msgid "No items selected for printing" msgstr "Keine Elemente zum Drucken ausgewählt" -#: templates/js/translated/label.js:150 +#: templates/js/translated/label.js:143 msgid "Labels sent to printer" msgstr "Etiketten an den Drucker senden" @@ -12400,7 +12813,7 @@ msgstr "Keine Nachrichten gefunden" #: templates/js/translated/news.js:38 #: templates/js/translated/notification.js:46 -#: templates/js/translated/part.js:1605 +#: templates/js/translated/part.js:1608 msgid "ID" msgstr "ID" @@ -12481,343 +12894,343 @@ msgstr "Duplizierungsoptionen für Teile" msgid "Add Part Category" msgstr "Teil-Kategorie hinzufügen" -#: templates/js/translated/part.js:333 templates/js/translated/stock.js:175 +#: templates/js/translated/part.js:332 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" msgstr "Icon (optional) - alle verfügbaren Icons einsehbar auf" -#: templates/js/translated/part.js:353 +#: templates/js/translated/part.js:352 msgid "Create Part Category" msgstr "Teil-Kategorie hinzufügen" -#: templates/js/translated/part.js:356 +#: templates/js/translated/part.js:355 msgid "Create new category after this one" msgstr "Neue Kategorie nach dieser Kategorie erstellen" -#: templates/js/translated/part.js:357 +#: templates/js/translated/part.js:356 msgid "Part category created" msgstr "Artikelkategorie erstellt" -#: templates/js/translated/part.js:371 +#: templates/js/translated/part.js:370 msgid "Edit Part Category" msgstr "Teilekategorie bearbeiten" -#: templates/js/translated/part.js:384 +#: templates/js/translated/part.js:383 msgid "Are you sure you want to delete this part category?" msgstr "Möchten Sie diese Artikel-Kategorie wirklich löschen?" -#: templates/js/translated/part.js:389 +#: templates/js/translated/part.js:388 msgid "Move to parent category" msgstr "In übergeordnete Kategorie verschieben" -#: templates/js/translated/part.js:398 +#: templates/js/translated/part.js:397 msgid "Delete Part Category" msgstr "Teil-Kategorie löschen" -#: templates/js/translated/part.js:402 +#: templates/js/translated/part.js:401 msgid "Action for parts in this category" msgstr "Aktion für Teile in dieser Kategorie" -#: templates/js/translated/part.js:407 +#: templates/js/translated/part.js:406 msgid "Action for child categories" msgstr "Aktion für Unterkategorien" -#: templates/js/translated/part.js:431 +#: templates/js/translated/part.js:430 msgid "Create Part" msgstr "Teil erstellen" -#: templates/js/translated/part.js:433 +#: templates/js/translated/part.js:432 msgid "Create another part after this one" msgstr "Weiteres Teil nach diesem erstellen" -#: templates/js/translated/part.js:434 +#: templates/js/translated/part.js:433 msgid "Part created successfully" msgstr "Teil erfolgreich angelegt" -#: templates/js/translated/part.js:462 +#: templates/js/translated/part.js:461 msgid "Edit Part" msgstr "Teil bearbeiten" -#: templates/js/translated/part.js:464 +#: templates/js/translated/part.js:463 msgid "Part edited" msgstr "Teil bearbeitet" -#: templates/js/translated/part.js:475 +#: templates/js/translated/part.js:474 msgid "Create Part Variant" msgstr "Teil-Variante anlegen" -#: templates/js/translated/part.js:532 +#: templates/js/translated/part.js:531 msgid "Active Part" msgstr "Aktives Teil" -#: templates/js/translated/part.js:533 +#: templates/js/translated/part.js:532 msgid "Part cannot be deleted as it is currently active" msgstr "Teil kann nicht gelöscht werden, da es derzeit aktiv ist" -#: templates/js/translated/part.js:547 +#: templates/js/translated/part.js:546 msgid "Deleting this part cannot be reversed" msgstr "Das Löschen dieses Teils kann nicht rückgängig gemacht werden" -#: templates/js/translated/part.js:549 +#: templates/js/translated/part.js:548 msgid "Any stock items for this part will be deleted" msgstr "Alle Lagerartikel für dieses Teil werden gelöscht" -#: templates/js/translated/part.js:550 +#: templates/js/translated/part.js:549 msgid "This part will be removed from any Bills of Material" msgstr "Dieses Teil wird von allen Stücklisten entfernt" -#: templates/js/translated/part.js:551 +#: templates/js/translated/part.js:550 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "Alle Hersteller- und Lieferanteninformationen für dieses Teil werden gelöscht" -#: templates/js/translated/part.js:558 +#: templates/js/translated/part.js:557 msgid "Delete Part" msgstr "Teil löschen" -#: templates/js/translated/part.js:594 +#: templates/js/translated/part.js:593 msgid "You are subscribed to notifications for this item" msgstr "Du hast Benachrichtigungen zu diesem Artikel abonniert" -#: templates/js/translated/part.js:596 +#: templates/js/translated/part.js:595 msgid "You have subscribed to notifications for this item" msgstr "Du hast Benachrichtigungen zu diesem Artikel abonniert" -#: templates/js/translated/part.js:601 +#: templates/js/translated/part.js:600 msgid "Subscribe to notifications for this item" msgstr "Benachrichtigungen zu diesem Artikel abonnieren" -#: templates/js/translated/part.js:603 +#: templates/js/translated/part.js:602 msgid "You have unsubscribed to notifications for this item" msgstr "Du erhältst keine Benachrichtigungen zu diesem Artikel mehr" -#: templates/js/translated/part.js:620 +#: templates/js/translated/part.js:619 msgid "Validating the BOM will mark each line item as valid" msgstr "Die Stückliste zu validieren markiert jede Position als gültig" -#: templates/js/translated/part.js:630 +#: templates/js/translated/part.js:629 msgid "Validate Bill of Materials" msgstr "Stückliste prüfen" -#: templates/js/translated/part.js:633 +#: templates/js/translated/part.js:632 msgid "Validated Bill of Materials" msgstr "Überprüfte Stückliste" -#: templates/js/translated/part.js:658 +#: templates/js/translated/part.js:657 msgid "Copy Bill of Materials" msgstr "Stückliste kopieren" -#: templates/js/translated/part.js:686 -#: templates/js/translated/table_filters.js:747 +#: templates/js/translated/part.js:685 +#: templates/js/translated/table_filters.js:752 msgid "Low stock" msgstr "Bestand niedrig" -#: templates/js/translated/part.js:689 +#: templates/js/translated/part.js:688 msgid "No stock available" msgstr "Kein Lagerbestand verfügbar" -#: templates/js/translated/part.js:749 +#: templates/js/translated/part.js:748 msgid "Demand" msgstr "Bedarf" -#: templates/js/translated/part.js:772 +#: templates/js/translated/part.js:771 msgid "Unit" msgstr "Einheit" -#: templates/js/translated/part.js:795 templates/js/translated/part.js:1207 +#: templates/js/translated/part.js:794 templates/js/translated/part.js:1210 msgid "Virtual part" msgstr "Virtuelles Teil" -#: templates/js/translated/part.js:807 +#: templates/js/translated/part.js:806 msgid "Subscribed part" msgstr "Abonniertes Teil" -#: templates/js/translated/part.js:811 +#: templates/js/translated/part.js:810 msgid "Salable part" msgstr "Verkäufliches Teil" -#: templates/js/translated/part.js:890 +#: templates/js/translated/part.js:893 msgid "Schedule generation of a new stocktake report." msgstr "Erstellung eines neuen Inventurberichts planen." -#: templates/js/translated/part.js:890 +#: templates/js/translated/part.js:893 msgid "Once complete, the stocktake report will be available for download." msgstr "Nach Fertigstellung steht der Inventurbericht zum Download zur Verfügung." -#: templates/js/translated/part.js:898 +#: templates/js/translated/part.js:901 msgid "Generate Stocktake Report" msgstr "Inventurbericht erstellen" -#: templates/js/translated/part.js:902 +#: templates/js/translated/part.js:905 msgid "Stocktake report scheduled" msgstr "Inventurbericht geplant" -#: templates/js/translated/part.js:1051 +#: templates/js/translated/part.js:1054 msgid "No stocktake information available" msgstr "Keine Inventurinformationen verfügbar" -#: templates/js/translated/part.js:1109 templates/js/translated/part.js:1145 +#: templates/js/translated/part.js:1112 templates/js/translated/part.js:1148 msgid "Edit Stocktake Entry" msgstr "Inventureintrag bearbeiten" -#: templates/js/translated/part.js:1113 templates/js/translated/part.js:1155 +#: templates/js/translated/part.js:1116 templates/js/translated/part.js:1158 msgid "Delete Stocktake Entry" msgstr "Inventureintrag löschen" -#: templates/js/translated/part.js:1282 +#: templates/js/translated/part.js:1285 msgid "No variants found" msgstr "Keine Varianten gefunden" -#: templates/js/translated/part.js:1600 +#: templates/js/translated/part.js:1603 msgid "No part parameter templates found" msgstr "Keine Teileparametervorlagen gefunden" -#: templates/js/translated/part.js:1663 +#: templates/js/translated/part.js:1666 msgid "Edit Part Parameter Template" msgstr "Teileparametervorlage bearbeiten" -#: templates/js/translated/part.js:1675 +#: templates/js/translated/part.js:1678 msgid "Any parameters which reference this template will also be deleted" msgstr "Alle Parameter mit Verweis auf diese Vorlage werden ebenfalls gelöscht" -#: templates/js/translated/part.js:1683 +#: templates/js/translated/part.js:1686 msgid "Delete Part Parameter Template" msgstr "Teileparametervorlage löschen" -#: templates/js/translated/part.js:1717 +#: templates/js/translated/part.js:1720 #: templates/js/translated/purchase_order.js:1654 msgid "No purchase orders found" msgstr "Keine Bestellungen gefunden" -#: templates/js/translated/part.js:1861 +#: templates/js/translated/part.js:1864 #: 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 "Diese Position ist überfällig" -#: templates/js/translated/part.js:1907 +#: templates/js/translated/part.js:1910 #: templates/js/translated/purchase_order.js:2220 msgid "Receive line item" msgstr "Position empfangen" -#: templates/js/translated/part.js:1970 +#: templates/js/translated/part.js:1973 msgid "Delete part relationship" msgstr "Teilebeziehung löschen" -#: templates/js/translated/part.js:1992 +#: templates/js/translated/part.js:1995 msgid "Delete Part Relationship" msgstr "Teilebeziehung löschen" -#: templates/js/translated/part.js:2080 templates/js/translated/part.js:2506 +#: templates/js/translated/part.js:2083 templates/js/translated/part.js:2509 msgid "No parts found" msgstr "Keine Teile gefunden" -#: templates/js/translated/part.js:2201 +#: templates/js/translated/part.js:2204 msgid "Set the part category for the selected parts" msgstr "Wähle die Kategorie für die ausgewählten Teile" -#: templates/js/translated/part.js:2206 +#: templates/js/translated/part.js:2209 msgid "Set Part Category" msgstr "Teilekategorie auswählen" -#: templates/js/translated/part.js:2236 +#: templates/js/translated/part.js:2239 msgid "Set category" msgstr "Kategorie wählen" -#: templates/js/translated/part.js:2287 +#: templates/js/translated/part.js:2290 msgid "part" msgstr "Teil" -#: templates/js/translated/part.js:2288 +#: templates/js/translated/part.js:2291 msgid "parts" msgstr "Teile" -#: templates/js/translated/part.js:2384 +#: templates/js/translated/part.js:2387 msgid "No category" msgstr "Keine Kategorien" -#: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 +#: templates/js/translated/part.js:2534 templates/js/translated/part.js:2664 #: templates/js/translated/stock.js:2669 msgid "Display as list" msgstr "Als Liste anzeigen" -#: templates/js/translated/part.js:2547 +#: templates/js/translated/part.js:2550 msgid "Display as grid" msgstr "Als Raster anzeigen" -#: templates/js/translated/part.js:2645 +#: templates/js/translated/part.js:2648 msgid "No subcategories found" msgstr "Keine Unterkategorien gefunden" -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2689 +#: templates/js/translated/part.js:2684 templates/js/translated/stock.js:2689 msgid "Display as tree" msgstr "Als Baum anzeigen" -#: templates/js/translated/part.js:2761 +#: templates/js/translated/part.js:2764 msgid "Load Subcategories" msgstr "Unterkategorien laden" -#: templates/js/translated/part.js:2777 +#: templates/js/translated/part.js:2780 msgid "Subscribed category" msgstr "Abonnierte Kategorie" -#: templates/js/translated/part.js:2865 +#: templates/js/translated/part.js:2868 msgid "No test templates matching query" msgstr "Keine passenden Testvorlagen gefunden" -#: templates/js/translated/part.js:2887 templates/js/translated/search.js:342 +#: templates/js/translated/part.js:2890 templates/js/translated/search.js:342 msgid "results" msgstr "Ergebnisse" -#: templates/js/translated/part.js:2937 templates/js/translated/stock.js:1456 +#: templates/js/translated/part.js:2940 templates/js/translated/stock.js:1456 msgid "Edit test result" msgstr "Testergebnis bearbeiten" -#: templates/js/translated/part.js:2938 templates/js/translated/stock.js:1457 +#: templates/js/translated/part.js:2941 templates/js/translated/stock.js:1457 #: templates/js/translated/stock.js:1731 msgid "Delete test result" msgstr "Testergebnis löschen" -#: templates/js/translated/part.js:2942 +#: templates/js/translated/part.js:2945 msgid "This test is defined for a parent part" msgstr "Dieser Test ist für ein übergeordnetes Teil definiert" -#: templates/js/translated/part.js:2958 +#: templates/js/translated/part.js:2961 msgid "Edit Test Result Template" msgstr "Vorlage für Testergebnis bearbeiten" -#: templates/js/translated/part.js:2972 +#: templates/js/translated/part.js:2975 msgid "Delete Test Result Template" msgstr "Vorlage für Testergebnis löschen" -#: templates/js/translated/part.js:3051 templates/js/translated/part.js:3052 +#: templates/js/translated/part.js:3054 templates/js/translated/part.js:3055 msgid "No date specified" msgstr "Kein Datum angegeben" -#: templates/js/translated/part.js:3054 +#: templates/js/translated/part.js:3057 msgid "Specified date is in the past" msgstr "Das angegebene Datum liegt in der Vergangenheit" -#: templates/js/translated/part.js:3060 +#: templates/js/translated/part.js:3063 msgid "Speculative" msgstr "Spekulativ" -#: templates/js/translated/part.js:3110 +#: templates/js/translated/part.js:3113 msgid "No scheduling information available for this part" msgstr "Keine Zeitplanung für dieses Teil vorhanden" -#: templates/js/translated/part.js:3116 +#: templates/js/translated/part.js:3119 msgid "Error fetching scheduling information for this part" msgstr "Fehler beim Abrufen der Zeitplanungsinformationen für dieses Teil" -#: templates/js/translated/part.js:3212 +#: templates/js/translated/part.js:3215 msgid "Scheduled Stock Quantities" msgstr "Geplante Lagermengen" -#: templates/js/translated/part.js:3228 +#: templates/js/translated/part.js:3231 msgid "Maximum Quantity" msgstr "Maximale Menge" -#: templates/js/translated/part.js:3273 +#: templates/js/translated/part.js:3276 msgid "Minimum Stock Level" msgstr "Minimaler Lagerbestand" @@ -13593,7 +14006,7 @@ msgstr "Entnehmen" msgid "Add Stock" msgstr "Bestand hinzufügen" -#: templates/js/translated/stock.js:1042 users/models.py:392 +#: templates/js/translated/stock.js:1042 users/models.py:396 msgid "Add" msgstr "Hinzufügen" @@ -13947,7 +14360,7 @@ msgid "Include subcategories" msgstr "Unterkategorien einschließen" #: templates/js/translated/table_filters.js:287 -#: templates/js/translated/table_filters.js:759 +#: templates/js/translated/table_filters.js:764 msgid "Subscribed" msgstr "Abonniert" @@ -14102,40 +14515,46 @@ msgstr "Teile in Unterkategorien einschließen" msgid "Show active parts" msgstr "Aktive Teile anzeigen" -#: templates/js/translated/table_filters.js:725 +#: templates/js/translated/table_filters.js:722 +#, fuzzy +#| msgid "Show related parts" +msgid "Show locked parts" +msgstr "Verwandte Teile anzeigen" + +#: templates/js/translated/table_filters.js:730 msgid "Available stock" msgstr "Verfügbarer Lagerbestand" -#: templates/js/translated/table_filters.js:733 -#: templates/js/translated/table_filters.js:833 +#: templates/js/translated/table_filters.js:738 +#: templates/js/translated/table_filters.js:838 msgid "Has Units" msgstr "Hat Einheiten" -#: templates/js/translated/table_filters.js:734 +#: templates/js/translated/table_filters.js:739 msgid "Part has defined units" msgstr "Teil hat definierte Einheiten" -#: templates/js/translated/table_filters.js:738 +#: templates/js/translated/table_filters.js:743 msgid "Has IPN" msgstr "Hat IPN" -#: templates/js/translated/table_filters.js:739 +#: templates/js/translated/table_filters.js:744 msgid "Part has internal part number" msgstr "Teil hat Interne Teilenummer" -#: templates/js/translated/table_filters.js:743 +#: templates/js/translated/table_filters.js:748 msgid "In stock" msgstr "Auf Lager" -#: templates/js/translated/table_filters.js:751 +#: templates/js/translated/table_filters.js:756 msgid "Purchasable" msgstr "Kaufbar" -#: templates/js/translated/table_filters.js:763 +#: templates/js/translated/table_filters.js:768 msgid "Has stocktake entries" msgstr "Hat Inventureinträge" -#: templates/js/translated/table_filters.js:829 +#: templates/js/translated/table_filters.js:834 msgid "Has Choices" msgstr "Hat Auswahlen" @@ -14207,10 +14626,6 @@ msgstr "Seitennavigation verstecken/anzeigen" msgid "Toggle" msgstr "Umschalten" -#: templates/js/translated/tables.js:558 -msgid "Columns" -msgstr "Spalten" - #: templates/js/translated/tables.js:561 msgid "All" msgstr "Alle" @@ -14484,35 +14899,58 @@ msgstr "Das letzte Mal, wo das Token verwendet wurde" msgid "Revoked" msgstr "Widerrufen" -#: users/models.py:375 +#: users/models.py:379 msgid "Permission set" msgstr "Berechtigung geändert" -#: users/models.py:384 +#: users/models.py:388 msgid "Group" msgstr "Gruppe" -#: users/models.py:388 +#: users/models.py:392 msgid "View" msgstr "Ansicht" -#: users/models.py:388 +#: users/models.py:392 msgid "Permission to view items" msgstr "Berechtigung Einträge anzuzeigen" -#: users/models.py:392 +#: users/models.py:396 msgid "Permission to add items" msgstr "Berechtigung Einträge zu erstellen" -#: users/models.py:396 +#: users/models.py:400 msgid "Change" msgstr "Ändern" -#: users/models.py:398 +#: users/models.py:402 msgid "Permissions to edit items" msgstr "Berechtigungen Einträge zu ändern" -#: users/models.py:404 +#: users/models.py:408 msgid "Permission to delete items" msgstr "Berechtigung Einträge zu löschen" +#~ msgid "Default part label template" +#~ msgstr "Standardvorlage für Teilebeschriftung" + +#~ msgid "The part label template to be automatically selected" +#~ msgstr "Die Teil-Etikettenvorlage, die automatisch ausgewählt werden soll" + +#~ msgid "Default stock item template" +#~ msgstr "Lagerartikel-Standardvorlage" + +#~ msgid "The stock item label template to be automatically selected" +#~ msgstr "Die Lagerartikel-Etikettenvorlage soll automatisch ausgewählt werden" + +#~ msgid "Default stock location label template" +#~ msgstr "Standardetikettenvorlage für Lagerstandort" + +#~ msgid "The stock location label template to be automatically selected" +#~ msgstr "Die Lagerstandort-Etikettenvorlage, die automatisch ausgewählt werden soll" + +#~ msgid "Default build line label template" +#~ msgstr "Standardetikettenvorlage für Bauauftragspositionen" + +#~ msgid "The build line label template to be automatically selected" +#~ msgstr "Die Bauauftragspositionsetikettenvorlage welche automatisch ausgewählt werden soll" diff --git a/src/backend/InvenTree/locale/el/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/el/LC_MESSAGES/django.po index 8fd98a173752..7c6dd61c0acf 100644 --- a/src/backend/InvenTree/locale/el/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/el/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-07-05 02:47+0000\n" +"POT-Creation-Date: 2024-07-08 14:46+0000\n" "PO-Revision-Date: 2024-07-05 14:57\n" "Last-Translator: \n" "Language-Team: Greek\n" @@ -21,7 +21,7 @@ msgstr "" msgid "API endpoint not found" msgstr "Το API endpoint δε βρέθηκε" -#: InvenTree/api.py:520 +#: InvenTree/api.py:505 msgid "User does not have permission to view this model" msgstr "Δεν έχετε δικαιώματα να το δείτε αυτό" @@ -56,21 +56,21 @@ msgstr "Μπορείτε να βρείτε λεπτομέρειες σφάλμα msgid "Enter date" msgstr "Εισάγετε ημερομηνία" -#: InvenTree/fields.py:205 InvenTree/models.py:918 build/serializers.py:452 -#: build/serializers.py:530 build/templates/build/sidebar.html:21 -#: company/models.py:817 company/templates/company/sidebar.html:37 +#: InvenTree/fields.py:205 InvenTree/models.py:921 build/serializers.py:456 +#: build/serializers.py:534 build/templates/build/sidebar.html:21 +#: company/models.py:824 company/templates/company/sidebar.html:37 #: order/models.py:1296 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:3183 part/templates/part/part_sidebar.html:63 +#: part/models.py:3193 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:230 stock/models.py:2344 stock/models.py:2466 -#: stock/serializers.py:632 stock/serializers.py:790 stock/serializers.py:886 -#: stock/serializers.py:936 stock/serializers.py:1239 stock/serializers.py:1328 -#: stock/serializers.py:1493 stock/templates/stock/stock_sidebar.html:25 +#: stock/admin.py:230 stock/models.py:2349 stock/models.py:2476 +#: stock/serializers.py:690 stock/serializers.py:848 stock/serializers.py:944 +#: stock/serializers.py:994 stock/serializers.py:1305 stock/serializers.py:1394 +#: stock/serializers.py:1559 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:1081 +#: templates/js/translated/part.js:1084 #: templates/js/translated/purchase_order.js:2200 #: templates/js/translated/return_order.js:775 #: templates/js/translated/sales_order.js:1103 @@ -371,41 +371,41 @@ msgstr "Μεταδεδομένα Πρόσθετου" msgid "JSON metadata field, for use by external plugins" msgstr "JSON πεδίο μεταδεδομένων, για χρήση από εξωτερικά πρόσθετα" -#: InvenTree/models.py:408 +#: InvenTree/models.py:411 msgid "Improperly formatted pattern" msgstr "Λανθασμένο μοτίβο" -#: InvenTree/models.py:415 +#: InvenTree/models.py:418 msgid "Unknown format key specified" msgstr "Δώσατε λάθος μορφή κλειδιού" -#: InvenTree/models.py:421 +#: InvenTree/models.py:424 msgid "Missing required format key" msgstr "Λείπει το απαραίτητο κλειδί" -#: InvenTree/models.py:432 +#: InvenTree/models.py:435 msgid "Reference field cannot be empty" msgstr "Το πεδίο δεν μπορεί να είναι άδειο" -#: InvenTree/models.py:440 +#: InvenTree/models.py:443 msgid "Reference must match required pattern" msgstr "Η αναφορά πρέπει να ταιριάζει με το απαιτούμενο μοτίβο" -#: InvenTree/models.py:471 +#: InvenTree/models.py:474 msgid "Reference number is too large" msgstr "Ο αριθμός αναφοράς είναι πολύ μεγάλος" -#: InvenTree/models.py:719 +#: InvenTree/models.py:722 msgid "Duplicate names cannot exist under the same parent" msgstr "Διπλότυπα ονόματα δεν μπορούν να υπάρχουν στον ίδιο γονέα" -#: InvenTree/models.py:736 +#: InvenTree/models.py:739 msgid "Invalid choice" msgstr "Μη έγκυρη επιλογή" -#: InvenTree/models.py:766 common/models.py:2678 common/models.py:3103 -#: common/serializers.py:408 company/models.py:580 machine/models.py:24 -#: part/models.py:891 part/models.py:3639 plugin/models.py:51 +#: InvenTree/models.py:769 common/models.py:2659 common/models.py:3089 +#: common/serializers.py:412 company/models.py:587 machine/models.py:24 +#: part/models.py:895 part/models.py:3660 plugin/models.py:51 #: report/models.py:150 stock/models.py:74 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -417,20 +417,20 @@ msgstr "Μη έγκυρη επιλογή" #: templates/js/translated/company.js:724 #: templates/js/translated/company.js:913 #: templates/js/translated/company.js:1165 -#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1187 -#: templates/js/translated/part.js:1475 templates/js/translated/part.js:1611 -#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2716 +#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1190 +#: templates/js/translated/part.js:1478 templates/js/translated/part.js:1614 +#: templates/js/translated/part.js:2752 templates/js/translated/stock.js:2716 msgid "Name" msgstr "Όνομα" -#: InvenTree/models.py:772 build/models.py:235 -#: build/templates/build/detail.html:24 common/models.py:138 -#: company/models.py:509 company/models.py:808 +#: InvenTree/models.py:775 build/models.py:242 +#: build/templates/build/detail.html:24 common/models.py:143 +#: company/models.py:515 company/models.py:815 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 -#: order/models.py:1329 part/admin.py:305 part/admin.py:408 part/models.py:914 -#: part/models.py:3654 part/templates/part/category.html:82 +#: order/models.py:1329 part/admin.py:305 part/admin.py:408 part/models.py:918 +#: part/models.py:3675 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:156 #: report/models.py:510 report/models.py:536 @@ -444,10 +444,10 @@ msgstr "Όνομα" #: templates/js/translated/build.js:2139 templates/js/translated/company.js:519 #: templates/js/translated/company.js:1330 #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 -#: templates/js/translated/order.js:298 templates/js/translated/part.js:1239 -#: templates/js/translated/part.js:1484 templates/js/translated/part.js:1622 -#: templates/js/translated/part.js:1959 templates/js/translated/part.js:2355 -#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2897 +#: templates/js/translated/order.js:298 templates/js/translated/part.js:1242 +#: templates/js/translated/part.js:1487 templates/js/translated/part.js:1625 +#: templates/js/translated/part.js:1962 templates/js/translated/part.js:2358 +#: templates/js/translated/part.js:2788 templates/js/translated/part.js:2900 #: templates/js/translated/plugin.js:80 #: templates/js/translated/purchase_order.js:1706 #: templates/js/translated/purchase_order.js:1849 @@ -460,53 +460,53 @@ msgstr "Όνομα" msgid "Description" msgstr "Περιγραφή" -#: InvenTree/models.py:773 stock/models.py:81 +#: InvenTree/models.py:776 stock/models.py:81 msgid "Description (optional)" msgstr "Περιγραφή (προαιρετική)" -#: InvenTree/models.py:788 templates/js/translated/part.js:2794 +#: InvenTree/models.py:791 templates/js/translated/part.js:2797 #: templates/js/translated/stock.js:2757 msgid "Path" msgstr "Μονοπάτι" -#: InvenTree/models.py:918 +#: InvenTree/models.py:921 msgid "Markdown notes (optional)" msgstr "Σημειώσεις Markdown (προαιρετικό)" -#: InvenTree/models.py:947 +#: InvenTree/models.py:950 msgid "Barcode Data" msgstr "Στοιχεία Barcode" -#: InvenTree/models.py:948 +#: InvenTree/models.py:951 msgid "Third party barcode data" msgstr "Δεδομένα barcode τρίτων" -#: InvenTree/models.py:954 +#: InvenTree/models.py:957 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:955 +#: InvenTree/models.py:958 msgid "Unique hash of barcode data" msgstr "Μοναδικό hash δεδομένων barcode" -#: InvenTree/models.py:1008 +#: InvenTree/models.py:1011 msgid "Existing barcode found" msgstr "Βρέθηκε υπάρχων barcode" -#: InvenTree/models.py:1051 +#: InvenTree/models.py:1054 msgid "Server Error" msgstr "Σφάλμα διακομιστή" -#: InvenTree/models.py:1052 +#: InvenTree/models.py:1055 msgid "An error has been logged by the server." msgstr "Ένα σφάλμα έχει καταγραφεί από το διακομιστή." -#: InvenTree/serializers.py:63 part/models.py:4192 +#: InvenTree/serializers.py:63 part/models.py:4277 msgid "Must be a valid number" msgstr "Πρέπει να είναι αριθμός" #: InvenTree/serializers.py:100 company/models.py:186 -#: company/templates/company/company_base.html:112 part/models.py:3001 +#: company/templates/company/company_base.html:112 part/models.py:3011 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -556,16 +556,16 @@ msgstr "" msgid "Is this user a superuser" msgstr "" -#: InvenTree/serializers.py:445 common/models.py:2683 company/models.py:163 -#: company/models.py:782 machine/models.py:39 part/admin.py:88 -#: part/models.py:1081 plugin/models.py:66 +#: InvenTree/serializers.py:445 common/models.py:2664 company/models.py:163 +#: company/models.py:789 machine/models.py:39 part/admin.py:88 +#: part/models.py:1085 plugin/models.py:66 #: 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 #: templates/js/translated/table_filters.js:520 #: templates/js/translated/table_filters.js:716 -#: templates/js/translated/table_filters.js:796 users/models.py:182 +#: templates/js/translated/table_filters.js:801 users/models.py:182 msgid "Active" msgstr "" @@ -597,7 +597,7 @@ msgstr "Καλώς ήρθατε στο InvenTree" msgid "Invalid value" msgstr "Μη έγκυρη τιμή" -#: InvenTree/serializers.py:581 +#: InvenTree/serializers.py:581 importer/models.py:60 msgid "Data File" msgstr "Αρχείο Δεδομένων" @@ -651,7 +651,7 @@ msgstr "Διεύθυνση URL του αρχείου απομακρυσμένη msgid "Downloading images from remote URL is not enabled" msgstr "Η λήψη εικόνων από απομακρυσμένο URL δεν είναι ενεργοποιημένη" -#: InvenTree/status.py:66 part/serializers.py:1174 +#: InvenTree/status.py:66 part/serializers.py:1202 msgid "Background worker check failed" msgstr "Ο έλεγχος εργασίας στο παρασκήνιο απέτυχε" @@ -711,47 +711,48 @@ msgstr "Πληροφορίες συστήματος" msgid "About InvenTree" msgstr "Σχετικά με το InvenTree" -#: build/api.py:255 +#: build/api.py:248 msgid "Build must be cancelled before it can be deleted" msgstr "Η έκδοση πρέπει να ακυρωθεί πριν διαγραφεί" -#: build/api.py:299 part/models.py:4070 templates/js/translated/bom.js:997 -#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 +#: build/api.py:292 build/serializers.py:1190 part/models.py:4155 +#: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 +#: templates/js/translated/build.js:2521 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "Αναλώσιμο" -#: build/api.py:300 part/models.py:4064 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 +#: build/api.py:293 build/serializers.py:1191 part/models.py:4149 +#: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 +#: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2530 #: templates/js/translated/table_filters.js:186 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:587 msgid "Optional" msgstr "Προαιρετικό" -#: build/api.py:301 templates/js/translated/table_filters.js:408 +#: build/api.py:294 templates/js/translated/table_filters.js:408 #: templates/js/translated/table_filters.js:579 msgid "Tracked" msgstr "Υπό παρακολούθηση" -#: build/api.py:303 part/admin.py:144 templates/js/translated/build.js:1744 -#: templates/js/translated/build.js:2629 +#: build/api.py:296 part/admin.py:144 templates/js/translated/build.js:1744 +#: templates/js/translated/build.js:2630 #: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:571 msgid "Allocated" msgstr "Κατανεμημένο" -#: build/api.py:311 company/models.py:872 company/serializers.py:359 +#: build/api.py:304 company/models.py:879 company/serializers.py:386 #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2561 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2562 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:234 -#: templates/js/translated/part.js:693 templates/js/translated/part.js:695 -#: templates/js/translated/part.js:700 +#: 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 #: templates/js/translated/table_filters.js:575 msgid "Available" @@ -760,7 +761,7 @@ msgstr "Διαθέσιμο" #: build/models.py:85 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 -#: stock/serializers.py:82 templates/email/build_order_completed.html:16 +#: stock/serializers.py:84 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:2892 msgid "Build Order" @@ -781,35 +782,43 @@ msgstr "Δημιουργία Παραγγελιών" msgid "Assembly BOM has not been validated" msgstr "" -#: build/models.py:134 part/templates/part/part_base.html:145 -msgid "Part is not active" -msgstr "" +#: build/models.py:134 +#, fuzzy +#| msgid "Build Order cannot be completed as outstanding outputs remain" +msgid "Build order cannot be created for an inactive part" +msgstr "Η Εντολή Κατασκευής δεν μπορεί να ολοκληρωθεί καθώς υπάρχουν εκκρεμή προϊόντα" -#: build/models.py:148 +#: build/models.py:141 +#, fuzzy +#| msgid "Build order part cannot be changed" +msgid "Build order cannot be created for an unlocked part" +msgstr "Εξάρτημα από εντολή κατασκευής δεν μπορεί να αλλάξει" + +#: build/models.py:155 msgid "Invalid choice for parent build" msgstr "Μη έγκυρη επιλογή για γονική κατασκευή" -#: build/models.py:159 order/models.py:240 +#: build/models.py:166 order/models.py:240 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:165 +#: build/models.py:172 msgid "Build order part cannot be changed" msgstr "Εξάρτημα από εντολή κατασκευής δεν μπορεί να αλλάξει" -#: build/models.py:226 +#: build/models.py:233 msgid "Build Order Reference" msgstr "Αναφορά Παραγγελίας Κατασκευής" -#: build/models.py:227 order/models.py:463 order/models.py:926 -#: order/models.py:1289 order/models.py:2020 part/admin.py:411 -#: part/models.py:4085 part/templates/part/upload_bom.html:54 +#: build/models.py:234 build/serializers.py:1189 order/models.py:463 +#: order/models.py:926 order/models.py:1289 order/models.py:2046 +#: part/admin.py:411 part/models.py:4170 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: 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/build.js:2513 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2065 #: templates/js/translated/return_order.js:728 @@ -817,27 +826,28 @@ msgstr "Αναφορά Παραγγελίας Κατασκευής" msgid "Reference" msgstr "Αναφορά" -#: build/models.py:238 +#: build/models.py:245 msgid "Brief description of the build (optional)" msgstr "Σύντομη περιγραφή της κατασκευής (προαιρετικό)" -#: build/models.py:246 build/templates/build/build_base.html:183 +#: build/models.py:253 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Γονική Κατασκευή" -#: build/models.py:247 +#: build/models.py:254 msgid "BuildOrder to which this build is allocated" msgstr "BuildOrder στην οποία έχει δοθεί αυτή η κατασκευή" -#: build/models.py:252 build/templates/build/build_base.html:97 -#: build/templates/build/detail.html:29 company/models.py:1026 order/api.py:805 -#: order/models.py:1414 order/models.py:1559 order/models.py:1560 -#: part/api.py:1494 part/api.py:1788 part/models.py:395 part/models.py:3012 -#: part/models.py:3156 part/models.py:3303 part/models.py:3324 -#: part/models.py:3346 part/models.py:3477 part/models.py:3787 -#: part/models.py:3943 part/models.py:4036 part/models.py:4395 -#: part/serializers.py:1120 part/serializers.py:1726 +#: build/models.py:259 build/serializers.py:1184 +#: build/templates/build/build_base.html:97 +#: build/templates/build/detail.html:29 company/models.py:1034 order/api.py:759 +#: order/models.py:1419 order/models.py:1574 order/models.py:1575 +#: part/api.py:1480 part/api.py:1776 part/models.py:396 part/models.py:3022 +#: part/models.py:3166 part/models.py:3314 part/models.py:3335 +#: part/models.py:3357 part/models.py:3493 part/models.py:3827 +#: part/models.py:3990 part/models.py:4121 part/models.py:4480 +#: part/serializers.py:1148 part/serializers.py:1758 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -848,8 +858,8 @@ msgstr "BuildOrder στην οποία έχει δοθεί αυτή η κατα #: 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:109 stock/serializers.py:157 stock/serializers.py:423 -#: stock/serializers.py:820 templates/InvenTree/search.html:82 +#: stock/serializers.py:111 stock/serializers.py:159 stock/serializers.py:443 +#: stock/serializers.py:878 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 @@ -862,8 +872,8 @@ msgstr "BuildOrder στην οποία έχει δοθεί αυτή η κατα #: templates/js/translated/company.js:1116 #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 -#: templates/js/translated/part.js:1944 templates/js/translated/part.js:2016 -#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:1947 templates/js/translated/part.js:2019 +#: templates/js/translated/part.js:2327 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:1848 @@ -881,107 +891,107 @@ msgstr "BuildOrder στην οποία έχει δοθεί αυτή η κατα msgid "Part" msgstr "Εξάρτημα" -#: build/models.py:260 +#: build/models.py:267 msgid "Select part to build" msgstr "Επιλέξτε τμήμα για κατασκευή" -#: build/models.py:265 +#: build/models.py:272 msgid "Sales Order Reference" msgstr "Κωδικός Παραγγελίας Πωλήσεων" -#: build/models.py:269 +#: build/models.py:276 msgid "SalesOrder to which this build is allocated" msgstr "SalesOrder στην οποία έχει διατεθεί αυτό το build" -#: build/models.py:274 build/serializers.py:999 +#: build/models.py:281 build/serializers.py:1003 #: templates/js/translated/build.js:1731 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "Τοποθεσία Προέλευσης" -#: build/models.py:278 +#: build/models.py:285 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Επιλέξτε τοποθεσία από την οποία θα γίνει απόθεμα, για αυτή την κατασκευή (αφήστε κενό για να πάρετε από οποιαδήποτε θέση αποθήκευσης)" -#: build/models.py:283 +#: build/models.py:290 msgid "Destination Location" msgstr "Τοποθεσία Προορισμού" -#: build/models.py:287 +#: build/models.py:294 msgid "Select location where the completed items will be stored" msgstr "Επιλέξτε την τοποθεσία όπου θα αποθηκευτούν τα ολοκληρωμένα στοιχεία" -#: build/models.py:291 +#: build/models.py:298 msgid "Build Quantity" msgstr "Ποσότητα Κατασκευής" -#: build/models.py:294 +#: build/models.py:301 msgid "Number of stock items to build" msgstr "Αριθμός αντικειμένων για κατασκευή" -#: build/models.py:298 +#: build/models.py:305 msgid "Completed items" msgstr "Ολοκληρωμένα αντικείμενα" -#: build/models.py:300 +#: build/models.py:307 msgid "Number of stock items which have been completed" msgstr "Αριθμός αντικειμένων αποθέματος που έχουν ολοκληρωθεί" -#: build/models.py:304 +#: build/models.py:311 msgid "Build Status" msgstr "Κατάσταση Κατασκευής" -#: build/models.py:308 +#: build/models.py:315 msgid "Build status code" msgstr "Κωδικός κατάστασης κατασκευής" -#: build/models.py:317 build/serializers.py:286 order/serializers.py:580 -#: stock/models.py:839 stock/serializers.py:74 stock/serializers.py:1458 +#: build/models.py:324 build/serializers.py:290 order/serializers.py:629 +#: stock/models.py:839 stock/serializers.py:76 stock/serializers.py:1524 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "Κωδικός Παρτίδας" -#: build/models.py:321 build/serializers.py:287 +#: build/models.py:328 build/serializers.py:291 msgid "Batch code for this build output" msgstr "Κωδικός παρτίδας για αυτήν την κατασκευή" -#: build/models.py:324 order/models.py:316 order/serializers.py:119 -#: part/models.py:1115 part/templates/part/part_base.html:310 +#: build/models.py:331 order/models.py:316 order/serializers.py:127 +#: part/models.py:1125 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:328 +#: build/models.py:335 msgid "Target completion date" msgstr "Ημερομηνία ολοκλήρωσης στόχου" -#: build/models.py:329 +#: build/models.py:336 msgid "Target date for build completion. Build will be overdue after this date." msgstr "Ημερομηνία ολοκλήρωσης της κατασκευής. Η κατασκευή θα καθυστερήσει μετά από αυτή την ημερομηνία." -#: build/models.py:332 order/models.py:521 order/models.py:2065 +#: build/models.py:339 order/models.py:521 order/models.py:2091 #: templates/js/translated/build.js:2247 msgid "Completion Date" msgstr "Ημερομηνία ολοκλήρωσης" -#: build/models.py:338 +#: build/models.py:345 msgid "completed by" msgstr "ολοκληρώθηκε από" -#: build/models.py:346 templates/js/translated/build.js:2207 +#: build/models.py:353 templates/js/translated/build.js:2207 msgid "Issued by" msgstr "Εκδόθηκε από" -#: build/models.py:347 +#: build/models.py:354 msgid "User who issued this build order" msgstr "Χρήστης που εξέδωσε αυτήν την παραγγελία κατασκευής" -#: build/models.py:355 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 common/models.py:147 +#: build/models.py:362 build/templates/build/build_base.html:204 +#: build/templates/build/detail.html:122 common/models.py:152 #: order/models.py:334 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:232 part/models.py:1132 +#: order/templates/order/sales_order_base.html:232 part/models.py:1142 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 @@ -992,11 +1002,11 @@ msgstr "Χρήστης που εξέδωσε αυτήν την παραγγελ msgid "Responsible" msgstr "Υπεύθυνος" -#: build/models.py:356 +#: build/models.py:363 msgid "User or group responsible for this build order" msgstr "Χρήστης ή ομάδα υπεύθυνη για αυτή την εντολή κατασκευής" -#: build/models.py:361 build/templates/build/detail.html:108 +#: build/models.py:368 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 @@ -1008,21 +1018,22 @@ msgstr "Χρήστης ή ομάδα υπεύθυνη για αυτή την ε msgid "External Link" msgstr "Εξωτερικοί σύνδεσμοι" -#: build/models.py:362 common/models.py:3244 part/models.py:956 +#: build/models.py:369 common/models.py:3230 part/models.py:960 #: stock/models.py:835 msgid "Link to external URL" msgstr "Σύνδεσμος προς εξωτερική διεύθυνση URL" -#: build/models.py:366 +#: build/models.py:373 msgid "Build Priority" msgstr "Προτεραιότητα Κατασκευής" -#: build/models.py:369 +#: build/models.py:376 msgid "Priority of this build order" msgstr "Προτεραιότητα αυτής της εντολής κατασκευής" -#: build/models.py:376 common/models.py:131 order/admin.py:18 -#: order/models.py:298 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:383 common/models.py:122 common/models.py:136 +#: order/admin.py:18 order/models.py:298 order/serializers.py:108 +#: templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 #: templates/js/translated/purchase_order.js:1710 #: templates/js/translated/return_order.js:317 @@ -1032,65 +1043,66 @@ msgstr "Προτεραιότητα αυτής της εντολής κατασκ msgid "Project Code" msgstr "Κωδικός Έργου" -#: build/models.py:377 +#: build/models.py:384 msgid "Project code for this build order" msgstr "Κωδικός έργου για αυτήν την εντολή κατασκευής" -#: build/models.py:610 build/models.py:675 +#: build/models.py:617 build/models.py:682 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:632 +#: build/models.py:639 #, python-brace-format msgid "Build order {build} has been completed" msgstr "Η παραγγελία κατασκευής {build} έχει ολοκληρωθεί" -#: build/models.py:638 +#: build/models.py:645 msgid "A build order has been completed" msgstr "Η παραγγελία κατασκευής έχει ολοκληρωθεί" -#: build/models.py:864 build/models.py:949 +#: build/models.py:871 build/models.py:956 msgid "No build output specified" msgstr "Δεν καθορίστηκε έξοδος κατασκευής" -#: build/models.py:867 +#: build/models.py:874 msgid "Build output is already completed" msgstr "Η παραγγελία κατασκευής έχει ολοκληρωθεί" -#: build/models.py:870 +#: build/models.py:877 msgid "Build output does not match Build Order" msgstr "Η έξοδος κατασκευής δεν ταιριάζει με την παραγγελία κατασκευής" -#: build/models.py:953 build/serializers.py:219 build/serializers.py:268 -#: build/serializers.py:866 order/models.py:559 order/serializers.py:432 -#: order/serializers.py:575 part/serializers.py:1484 part/serializers.py:1884 -#: stock/models.py:678 stock/models.py:1496 stock/serializers.py:603 +#: build/models.py:960 build/serializers.py:223 build/serializers.py:272 +#: build/serializers.py:870 order/models.py:559 order/serializers.py:461 +#: order/serializers.py:624 part/serializers.py:1515 part/serializers.py:1921 +#: stock/models.py:678 stock/models.py:1496 stock/serializers.py:661 msgid "Quantity must be greater than zero" msgstr "Η ποσότητα πρέπει να είναι μεγαλύτερη από 0" -#: build/models.py:958 build/serializers.py:224 +#: build/models.py:965 build/serializers.py:228 msgid "Quantity cannot be greater than the output quantity" msgstr "Η ποσότητα δεν μπορεί να είναι μεγαλύτερη από την παραγόμενη ποσότητα" -#: build/models.py:1018 build/serializers.py:547 +#: build/models.py:1025 build/serializers.py:551 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "Το προϊόν κατασκευής {serial} δεν έχει περάσει όλες τις απαιτούμενες δοκιμές" -#: build/models.py:1359 +#: build/models.py:1366 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1384 +#: build/models.py:1391 msgid "Build object" msgstr "Αντικείμενο κατασκευής" -#: build/models.py:1398 build/models.py:1654 build/serializers.py:206 -#: build/serializers.py:253 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2563 -#: order/models.py:1272 order/models.py:1931 order/serializers.py:1327 +#: build/models.py:1405 build/models.py:1661 build/serializers.py:210 +#: build/serializers.py:257 build/serializers.py:1194 +#: build/templates/build/build_base.html:102 +#: build/templates/build/detail.html:34 common/models.py:2544 +#: order/models.py:1272 order/models.py:1957 order/serializers.py:1383 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:410 -#: part/forms.py:48 part/models.py:3170 part/models.py:4058 +#: part/forms.py:48 part/models.py:3180 part/models.py:4143 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1100,7 +1112,7 @@ msgstr "Αντικείμενο κατασκευής" #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:169 stock/admin.py:159 -#: stock/serializers.py:125 stock/serializers.py:165 stock/serializers.py:594 +#: stock/serializers.py:127 stock/serializers.py:167 stock/serializers.py:652 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 @@ -1111,8 +1123,8 @@ msgstr "Αντικείμενο κατασκευής" #: templates/js/translated/build.js:1746 templates/js/translated/build.js:2357 #: templates/js/translated/company.js:1818 #: templates/js/translated/model_renderers.js:236 -#: templates/js/translated/order.js:304 templates/js/translated/part.js:962 -#: templates/js/translated/part.js:1812 templates/js/translated/part.js:3342 +#: templates/js/translated/order.js:304 templates/js/translated/part.js:965 +#: templates/js/translated/part.js:1815 templates/js/translated/part.js:3345 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 @@ -1132,38 +1144,38 @@ msgstr "Αντικείμενο κατασκευής" msgid "Quantity" msgstr "Ποσότητα" -#: build/models.py:1399 +#: build/models.py:1406 msgid "Required quantity for build order" msgstr "Απαιτούμενη ποσότητα για την εντολή κατασκευής" -#: build/models.py:1479 +#: build/models.py:1486 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "Το στοιχείο κατασκευής πρέπει να ορίζει μια έξοδο κατασκευής, καθώς το κύριο τμήμα επισημαίνεται ως ανιχνεύσιμο" -#: build/models.py:1488 +#: build/models.py:1495 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Η καταχωρημένη ποσότητα ({q}) δεν πρέπει να υπερβαίνει τη διαθέσιμη ποσότητα αποθέματος ({a})" -#: build/models.py:1498 order/models.py:1882 +#: build/models.py:1505 order/models.py:1908 msgid "Stock item is over-allocated" msgstr "Στοιχείο αποθέματος είναι υπερ-κατανεμημένο" -#: build/models.py:1504 order/models.py:1885 +#: build/models.py:1511 order/models.py:1911 msgid "Allocation quantity must be greater than zero" msgstr "Η ποσότητα πρέπει να είναι μεγαλύτερη από 0" -#: build/models.py:1510 +#: build/models.py:1517 msgid "Quantity must be 1 for serialized stock" msgstr "Η ποσότητα πρέπει να είναι 1 για σειριακό απόθεμα" -#: build/models.py:1569 +#: build/models.py:1576 msgid "Selected stock item does not match BOM line" msgstr "Το επιλεγμένο στοιχείο αποθέματος δεν ταιριάζει με τη γραμμή ΤΥ" -#: build/models.py:1641 build/serializers.py:846 order/serializers.py:1171 -#: order/serializers.py:1192 stock/models.py:359 stock/serializers.py:91 -#: stock/serializers.py:697 stock/serializers.py:1177 stock/serializers.py:1289 +#: build/models.py:1648 build/serializers.py:850 order/serializers.py:1227 +#: order/serializers.py:1248 stock/models.py:359 stock/serializers.py:93 +#: stock/serializers.py:755 stock/serializers.py:1243 stock/serializers.py:1355 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 @@ -1179,70 +1191,76 @@ msgstr "Το επιλεγμένο στοιχείο αποθέματος δεν msgid "Stock Item" msgstr "Στοιχείο Αποθέματος" -#: build/models.py:1642 +#: build/models.py:1649 msgid "Source stock item" msgstr "Στοιχείο πηγαίου αποθέματος" -#: build/models.py:1655 +#: build/models.py:1662 msgid "Stock quantity to allocate to build" msgstr "Ποσότητα αποθέματος για διάθεση για κατασκευή" -#: build/models.py:1663 +#: build/models.py:1670 msgid "Install into" msgstr "Εγκατάσταση σε" -#: build/models.py:1664 +#: build/models.py:1671 msgid "Destination stock item" msgstr "Αποθήκη προορισμού" -#: build/serializers.py:156 build/serializers.py:875 +#: build/serializers.py:89 build/serializers.py:1185 part/admin.py:41 +#: part/admin.py:405 part/models.py:3992 part/stocktake.py:220 +#: stock/admin.py:156 +msgid "Part Name" +msgstr "" + +#: build/serializers.py:160 build/serializers.py:879 #: templates/js/translated/build.js:1322 msgid "Build Output" msgstr "Κατασκευή Εξόδου" -#: build/serializers.py:168 +#: build/serializers.py:172 msgid "Build output does not match the parent build" msgstr "Η έξοδος κατασκευής δεν ταιριάζει με την παραγγελία κατασκευής" -#: build/serializers.py:172 +#: build/serializers.py:176 msgid "Output part does not match BuildOrder part" msgstr "Το εξερχόμενο μέρος δεν ταιριάζει με το μέρος BuildOrder" -#: build/serializers.py:176 +#: build/serializers.py:180 msgid "This build output has already been completed" msgstr "Η παραγγελία κατασκευής έχει ολοκληρωθεί" -#: build/serializers.py:187 +#: build/serializers.py:191 msgid "This build output is not fully allocated" msgstr "Αυτή η έξοδος κατασκευής δεν έχει εκχωρηθεί πλήρως" -#: build/serializers.py:207 build/serializers.py:254 +#: build/serializers.py:211 build/serializers.py:258 msgid "Enter quantity for build output" msgstr "Εισάγετε ποσότητα για την έξοδο κατασκευής" -#: build/serializers.py:275 +#: build/serializers.py:279 msgid "Integer quantity required for trackable parts" msgstr "Ακέραιη ποσότητα που απαιτείται για ανιχνεύσιμα μέρη" -#: build/serializers.py:278 +#: build/serializers.py:282 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "Ακέραιη ποσότητα που απαιτείται, καθώς ο λογαριασμός των υλικών περιέχει ανιχνεύσιμα μέρη" -#: build/serializers.py:293 order/serializers.py:588 order/serializers.py:1331 -#: stock/serializers.py:614 templates/js/translated/purchase_order.js:1153 +#: build/serializers.py:297 order/serializers.py:637 order/serializers.py:1387 +#: stock/serializers.py:672 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:294 +#: build/serializers.py:298 msgid "Enter serial numbers for build outputs" msgstr "Εισάγετε ποσότητα για την έξοδο κατασκευής" -#: build/serializers.py:299 build/serializers.py:440 build/serializers.py:512 -#: order/serializers.py:564 order/serializers.py:672 order/serializers.py:1656 -#: part/serializers.py:1140 stock/serializers.py:100 stock/serializers.py:625 -#: stock/serializers.py:785 stock/serializers.py:881 stock/serializers.py:1321 -#: stock/serializers.py:1577 stock/templates/stock/item_base.html:394 +#: build/serializers.py:303 build/serializers.py:444 build/serializers.py:516 +#: order/serializers.py:613 order/serializers.py:721 order/serializers.py:1714 +#: part/serializers.py:1168 stock/serializers.py:102 stock/serializers.py:683 +#: stock/serializers.py:843 stock/serializers.py:939 stock/serializers.py:1387 +#: stock/serializers.py:1643 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 @@ -1258,54 +1276,54 @@ msgstr "Εισάγετε ποσότητα για την έξοδο κατασκ msgid "Location" msgstr "Τοποθεσία" -#: build/serializers.py:300 +#: build/serializers.py:304 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:314 +#: build/serializers.py:318 msgid "Auto Allocate Serial Numbers" msgstr "Αυτόματη Κατανομή Σειριακών Αριθμών" -#: build/serializers.py:315 +#: build/serializers.py:319 msgid "Automatically allocate required items with matching serial numbers" msgstr "Αυτόματη κατανομή των απαιτούμενων στοιχείων με τους αντίστοιχους σειριακούς αριθμούς" -#: build/serializers.py:330 +#: build/serializers.py:334 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:355 stock/api.py:1041 +#: build/serializers.py:359 stock/api.py:1033 msgid "The following serial numbers already exist or are invalid" msgstr "Οι παρακάτω σειριακοί αριθμοί υπάρχουν ήδη ή δεν είναι έγκυροι" -#: build/serializers.py:402 build/serializers.py:464 build/serializers.py:553 +#: build/serializers.py:406 build/serializers.py:468 build/serializers.py:557 msgid "A list of build outputs must be provided" msgstr "Πρέπει να παρέχεται μια λίστα με τα αποτελέσματα κατασκευής" -#: build/serializers.py:441 +#: build/serializers.py:445 msgid "Stock location for scrapped outputs" msgstr "Θέση αποθέματος για απορριφθείσες παραγωγές" -#: build/serializers.py:447 +#: build/serializers.py:451 msgid "Discard Allocations" msgstr "Απόρριψη Κατανομών" -#: build/serializers.py:448 +#: build/serializers.py:452 msgid "Discard any stock allocations for scrapped outputs" msgstr "Απορρίψτε τυχόν κατανομές αποθέματος για παραγωγές που έχουν απορριφθεί" -#: build/serializers.py:453 +#: build/serializers.py:457 msgid "Reason for scrapping build output(s)" msgstr "Αιτία απόρριψης προϊόντων κατασκευής" -#: build/serializers.py:513 +#: build/serializers.py:517 msgid "Location for completed build outputs" msgstr "Τοποθεσία για ολοκληρωμένα προϊόντα κατασκευής" -#: build/serializers.py:519 build/templates/build/build_base.html:151 +#: build/serializers.py:523 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:950 -#: order/models.py:2044 order/serializers.py:596 stock/admin.py:164 -#: stock/serializers.py:932 stock/serializers.py:1465 +#: order/models.py:2070 order/serializers.py:645 stock/admin.py:164 +#: stock/serializers.py:990 stock/serializers.py:1531 #: 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 @@ -1317,193 +1335,249 @@ msgstr "Τοποθεσία για ολοκληρωμένα προϊόντα κα msgid "Status" msgstr "Κατάσταση" -#: build/serializers.py:525 +#: build/serializers.py:529 msgid "Accept Incomplete Allocation" msgstr "Αποδοχή Ελλιπούς Δέσμευσης" -#: build/serializers.py:526 +#: build/serializers.py:530 msgid "Complete outputs if stock has not been fully allocated" msgstr "Ολοκλήρωσε τα προϊόντα εάν το απόθεμα δεν έχει δεσμευτεί πλήρως" -#: build/serializers.py:611 +#: build/serializers.py:615 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:612 +#: build/serializers.py:616 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:618 +#: build/serializers.py:622 msgid "Remove Incomplete Outputs" msgstr "Αφαίρεση Ατελείωτων Προϊόντων" -#: build/serializers.py:619 +#: build/serializers.py:623 msgid "Delete any build outputs which have not been completed" msgstr "Διαγράψτε τυχόν προϊόντα κατασκευής που δεν έχουν ολοκληρωθεί" -#: build/serializers.py:646 +#: build/serializers.py:650 msgid "Not permitted" msgstr "Δεν επιτρέπεται" -#: build/serializers.py:647 +#: build/serializers.py:651 msgid "Accept as consumed by this build order" msgstr "Αποδοχή ως κατανάλωση για αυτή την παραγγελία κατασκευής" -#: build/serializers.py:648 +#: build/serializers.py:652 msgid "Deallocate before completing this build order" msgstr "Αποδέσμευση πριν από την ολοκλήρωση αυτής της παραγγελίας κατασκευής" -#: build/serializers.py:678 +#: build/serializers.py:682 msgid "Overallocated Stock" msgstr "Υπερ-δεσμευμένο Απόθεμα" -#: build/serializers.py:680 +#: build/serializers.py:684 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "Πώς θέλετε να χειριστείτε το επιπλέον απόθεμα που έχει δεσμευτεί στην παραγγελία κατασκευής" -#: build/serializers.py:690 +#: build/serializers.py:694 msgid "Some stock items have been overallocated" msgstr "Μερικά στοιχεία αποθέματος έχουν υπερ-δεσμευτεί" -#: build/serializers.py:695 +#: build/serializers.py:699 msgid "Accept Unallocated" msgstr "Αποδοχή Μη Δεσμευμένων" -#: build/serializers.py:696 +#: build/serializers.py:700 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "Αποδεχτείτε ότι αντικείμενα αποθέματος δεν έχουν δεσμευτεί πλήρως σε αυτή την παραγγελία κατασκευής" -#: build/serializers.py:706 templates/js/translated/build.js:315 +#: build/serializers.py:710 templates/js/translated/build.js:315 msgid "Required stock has not been fully allocated" msgstr "Το απαιτούμενο απόθεμα δεν έχει δεσμευτεί πλήρως" -#: build/serializers.py:711 order/serializers.py:300 order/serializers.py:1234 +#: build/serializers.py:715 order/serializers.py:319 order/serializers.py:1290 msgid "Accept Incomplete" msgstr "Αποδοχή Μη Ολοκληρωμένων" -#: build/serializers.py:712 +#: build/serializers.py:716 msgid "Accept that the required number of build outputs have not been completed" msgstr "Αποδεχτείτε ότι ο απαιτούμενος αριθμός προϊόντων κατασκευής δεν έχει ολοκληρωθεί" -#: build/serializers.py:722 templates/js/translated/build.js:319 +#: build/serializers.py:726 templates/js/translated/build.js:319 msgid "Required build quantity has not been completed" msgstr "Ο απαιτούμενος αριθμός προϊόντων δεν έχει ολοκληρωθεί" -#: build/serializers.py:731 templates/js/translated/build.js:303 +#: build/serializers.py:735 templates/js/translated/build.js:303 msgid "Build order has incomplete outputs" msgstr "Η παραγγελία κατασκευής έχει ελλιπή προϊόντα" -#: build/serializers.py:769 +#: build/serializers.py:773 msgid "Build Line" msgstr "Γραμμή Κατασκευής" -#: build/serializers.py:779 +#: build/serializers.py:783 msgid "Build output" msgstr "Προϊόν Κατασκευής" -#: build/serializers.py:787 +#: build/serializers.py:791 msgid "Build output must point to the same build" msgstr "Το προϊόν κατασκευής πρέπει να δείχνει στην ίδια κατασκευή" -#: build/serializers.py:823 +#: build/serializers.py:827 msgid "Build Line Item" msgstr "Αντικείμενο Γραμμής Κατασκευής" -#: build/serializers.py:837 +#: build/serializers.py:841 msgid "bom_item.part must point to the same part as the build order" msgstr "bom_item.part πρέπει να δείχνει στο ίδιο εξάρτημα με τη εντολή κατασκευής" -#: build/serializers.py:852 stock/serializers.py:1190 +#: build/serializers.py:856 stock/serializers.py:1256 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:900 order/serializers.py:1225 +#: build/serializers.py:904 order/serializers.py:1281 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:906 +#: build/serializers.py:910 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:913 +#: build/serializers.py:917 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:937 order/serializers.py:1477 +#: build/serializers.py:941 order/serializers.py:1533 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:1000 +#: build/serializers.py:1004 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:1008 +#: build/serializers.py:1012 msgid "Exclude Location" msgstr "" -#: build/serializers.py:1009 +#: build/serializers.py:1013 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:1014 +#: build/serializers.py:1018 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:1015 +#: build/serializers.py:1019 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:1020 +#: build/serializers.py:1024 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:1021 +#: build/serializers.py:1025 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:1026 +#: build/serializers.py:1030 msgid "Optional Items" msgstr "" -#: build/serializers.py:1027 +#: build/serializers.py:1031 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1049 +#: build/serializers.py:1053 msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1139 part/models.py:3953 part/models.py:4387 -#: stock/api.py:804 +#: build/serializers.py:1095 +#, fuzzy +#| msgid "Serial Numbers" +msgid "Supplier Part Number" +msgstr "Σειριακοί αριθμοί" + +#: build/serializers.py:1096 company/models.py:500 +msgid "Manufacturer Part Number" +msgstr "" + +#: build/serializers.py:1097 stock/admin.py:53 stock/admin.py:175 +#: stock/serializers.py:454 +msgid "Location Name" +msgstr "" + +#: build/serializers.py:1098 +#, fuzzy +#| msgid "Build Order Reference" +msgid "Build Reference" +msgstr "Αναφορά Παραγγελίας Κατασκευής" + +#: build/serializers.py:1099 +#, fuzzy +#| msgid "Reference" +msgid "BOM Reference" +msgstr "Αναφορά" + +#: build/serializers.py:1186 part/admin.py:402 part/models.py:3993 +msgid "Part IPN" +msgstr "" + +#: build/serializers.py:1192 common/models.py:1488 part/admin.py:113 +#: part/models.py:1068 templates/js/translated/table_filters.js:147 +#: templates/js/translated/table_filters.js:223 +#: templates/js/translated/table_filters.js:776 +msgid "Trackable" +msgstr "" + +#: build/serializers.py:1196 part/models.py:4000 part/models.py:4472 +#: stock/api.py:796 msgid "BOM Item" msgstr "" -#: build/serializers.py:1148 templates/js/translated/index.js:130 +#: build/serializers.py:1205 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1153 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:828 part/serializers.py:1502 +#: build/serializers.py:1210 part/admin.py:132 part/bom.py:173 +#: part/serializers.py:856 part/serializers.py:1533 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2613 templates/js/translated/part.js:710 -#: templates/js/translated/part.js:2149 +#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709 +#: templates/js/translated/part.js:2152 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "" -#: build/serializers.py:1158 part/serializers.py:1504 -#: templates/js/translated/build.js:2617 +#: build/serializers.py:1215 part/serializers.py:1535 +#: templates/js/translated/build.js:2618 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1163 part/bom.py:172 part/serializers.py:1527 +#: build/serializers.py:1220 part/bom.py:172 part/serializers.py:1558 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" msgstr "" +#: build/serializers.py:1224 +msgid "Available Substitute Stock" +msgstr "" + +#: build/serializers.py:1225 +msgid "Available Variant Stock" +msgstr "" + +#: build/serializers.py:1226 +#, fuzzy +#| msgid "Available" +msgid "Total Available Stock" +msgstr "Διαθέσιμο" + +#: build/serializers.py:1227 part/serializers.py:862 +msgid "External Stock" +msgstr "" + #: build/status_codes.py:11 generic/states/tests.py:17 order/status_codes.py:12 #: order/status_codes.py:37 order/status_codes.py:64 order/status_codes.py:82 #: templates/js/translated/table_filters.js:598 @@ -1519,7 +1593,8 @@ msgstr "Παραγωγή" msgid "Cancelled" msgstr "Ακυρώθηκε" -#: build/status_codes.py:14 generic/states/tests.py:19 order/status_codes.py:14 +#: build/status_codes.py:14 generic/states/tests.py:19 importer/models.py:468 +#: importer/status_codes.py:19 order/status_codes.py:14 #: order/status_codes.py:44 order/status_codes.py:69 #: order/templates/order/order_base.html:158 #: order/templates/order/sales_order_base.html:165 report/models.py:444 @@ -1652,11 +1727,12 @@ msgstr "Το Απόθεμα δεν έχει κατανεμηθεί πλήρως #: build/templates/build/build_base.html:160 #: build/templates/build/detail.html:138 order/models.py:309 -#: order/models.py:1307 order/templates/order/order_base.html:186 +#: order/models.py:1307 order/serializers.py:174 +#: order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: 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:1831 +#: templates/js/translated/build.js:2239 templates/js/translated/part.js:1834 #: templates/js/translated/purchase_order.js:1739 #: templates/js/translated/purchase_order.js:2147 #: templates/js/translated/return_order.js:346 @@ -1689,8 +1765,8 @@ msgid "Completed Outputs" msgstr "Ολοκληρωμένα Προϊόντα" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1463 order/models.py:845 -#: order/models.py:1551 order/models.py:1665 order/models.py:1819 +#: build/templates/build/detail.html:101 order/api.py:1384 order/models.py:845 +#: order/models.py:1566 order/models.py:1681 order/models.py:1840 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 @@ -1740,7 +1816,7 @@ msgstr "Προέλευση Αποθέματος" msgid "Stock can be taken from any available location." msgstr "Το απόθεμα μπορεί να ληφθεί από οποιαδήποτε διαθέσιμη τοποθεσία." -#: build/templates/build/detail.html:49 order/models.py:1443 +#: build/templates/build/detail.html:49 order/models.py:1448 #: templates/js/translated/purchase_order.js:2189 msgid "Destination" msgstr "Προορισμός" @@ -1892,31 +1968,31 @@ msgstr "" msgid "Incomplete Outputs" msgstr "" -#: common/api.py:689 +#: common/api.py:690 msgid "Is Link" msgstr "" -#: common/api.py:697 +#: common/api.py:698 msgid "Is File" msgstr "" -#: common/api.py:739 +#: common/api.py:740 msgid "User does not have permission to delete this attachment" msgstr "" -#: common/currency.py:130 +#: common/currency.py:132 msgid "Invalid currency code" msgstr "" -#: common/currency.py:132 +#: common/currency.py:134 msgid "Duplicate currency code" msgstr "" -#: common/currency.py:137 +#: common/currency.py:139 msgid "No valid currency codes provided" msgstr "" -#: common/currency.py:154 +#: common/currency.py:156 msgid "No plugin" msgstr "" @@ -1970,1635 +2046,1606 @@ msgstr "" msgid "Site URL is locked by configuration" msgstr "" -#: common/models.py:132 +#: common/models.py:137 msgid "Unique project code" msgstr "" -#: common/models.py:139 +#: common/models.py:144 msgid "Project description" msgstr "" -#: common/models.py:148 +#: common/models.py:153 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:765 +#: common/models.py:770 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:769 +#: common/models.py:774 msgid "Settings value" msgstr "" -#: common/models.py:821 +#: common/models.py:826 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:837 +#: common/models.py:842 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:845 +#: common/models.py:850 msgid "Value must be an integer value" msgstr "" -#: common/models.py:882 +#: common/models.py:887 msgid "Key string must be unique" msgstr "" -#: common/models.py:1114 +#: common/models.py:1119 msgid "No group" msgstr "" -#: common/models.py:1213 +#: common/models.py:1218 msgid "Restart required" msgstr "" -#: common/models.py:1215 +#: common/models.py:1220 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:1222 +#: common/models.py:1227 msgid "Pending migrations" msgstr "" -#: common/models.py:1223 +#: common/models.py:1228 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1228 +#: common/models.py:1233 msgid "Server Instance Name" msgstr "" -#: common/models.py:1230 +#: common/models.py:1235 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1234 +#: common/models.py:1239 msgid "Use instance name" msgstr "" -#: common/models.py:1235 +#: common/models.py:1240 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1240 +#: common/models.py:1245 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1241 +#: common/models.py:1246 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1246 company/models.py:111 company/models.py:112 +#: common/models.py:1251 company/models.py:111 company/models.py:112 msgid "Company name" msgstr "" -#: common/models.py:1247 +#: common/models.py:1252 msgid "Internal company name" msgstr "" -#: common/models.py:1251 +#: common/models.py:1256 msgid "Base URL" msgstr "" -#: common/models.py:1252 +#: common/models.py:1257 msgid "Base URL for server instance" msgstr "" -#: common/models.py:1258 +#: common/models.py:1263 msgid "Default Currency" msgstr "" -#: common/models.py:1259 +#: common/models.py:1264 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1265 +#: common/models.py:1270 msgid "Supported Currencies" msgstr "" -#: common/models.py:1266 +#: common/models.py:1271 msgid "List of supported currency codes" msgstr "" -#: common/models.py:1272 +#: common/models.py:1277 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1274 +#: common/models.py:1279 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1277 common/models.py:1333 common/models.py:1346 -#: common/models.py:1354 common/models.py:1363 common/models.py:1372 -#: common/models.py:1596 common/models.py:1618 common/models.py:1733 -#: common/models.py:2100 +#: common/models.py:1282 common/models.py:1338 common/models.py:1351 +#: common/models.py:1359 common/models.py:1368 common/models.py:1377 +#: common/models.py:1601 common/models.py:1623 common/models.py:1738 +#: common/models.py:2111 msgid "days" msgstr "" -#: common/models.py:1281 +#: common/models.py:1286 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1282 +#: common/models.py:1287 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1287 +#: common/models.py:1292 msgid "Download from URL" msgstr "" -#: common/models.py:1289 +#: common/models.py:1294 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:1295 +#: common/models.py:1300 msgid "Download Size Limit" msgstr "" -#: common/models.py:1296 +#: common/models.py:1301 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1302 +#: common/models.py:1307 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1304 +#: common/models.py:1309 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/models.py:1309 +#: common/models.py:1314 msgid "Strict URL Validation" msgstr "" -#: common/models.py:1310 +#: common/models.py:1315 msgid "Require schema specification when validating URLs" msgstr "" -#: common/models.py:1315 +#: common/models.py:1320 msgid "Require confirm" msgstr "" -#: common/models.py:1316 +#: common/models.py:1321 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:1321 +#: common/models.py:1326 msgid "Tree Depth" msgstr "" -#: common/models.py:1323 +#: common/models.py:1328 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1329 +#: common/models.py:1334 msgid "Update Check Interval" msgstr "" -#: common/models.py:1330 +#: common/models.py:1335 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:1336 +#: common/models.py:1341 msgid "Automatic Backup" msgstr "" -#: common/models.py:1337 +#: common/models.py:1342 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:1342 +#: common/models.py:1347 msgid "Auto Backup Interval" msgstr "" -#: common/models.py:1343 +#: common/models.py:1348 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1349 +#: common/models.py:1354 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1351 +#: common/models.py:1356 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1358 +#: common/models.py:1363 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1360 +#: common/models.py:1365 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1367 +#: common/models.py:1372 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1369 +#: common/models.py:1374 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1376 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1381 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "" -#: common/models.py:1377 +#: common/models.py:1382 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1382 +#: common/models.py:1387 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1383 +#: common/models.py:1388 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1389 +#: common/models.py:1394 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1390 +#: common/models.py:1395 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1395 +#: common/models.py:1400 msgid "Barcode Show Data" msgstr "" -#: common/models.py:1396 +#: common/models.py:1401 msgid "Display barcode data in browser as text" msgstr "" -#: common/models.py:1401 +#: common/models.py:1406 msgid "Part Revisions" msgstr "" -#: common/models.py:1402 +#: common/models.py:1407 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1407 +#: common/models.py:1412 msgid "Allow Deletion from Assembly" msgstr "" -#: common/models.py:1408 +#: common/models.py:1413 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/models.py:1413 +#: common/models.py:1418 msgid "IPN Regex" msgstr "" -#: common/models.py:1414 +#: common/models.py:1419 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1417 +#: common/models.py:1422 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1418 +#: common/models.py:1423 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1423 +#: common/models.py:1428 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1424 +#: common/models.py:1429 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1429 +#: common/models.py:1434 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1430 +#: common/models.py:1435 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1435 +#: common/models.py:1440 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1436 +#: common/models.py:1441 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1441 +#: common/models.py:1446 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1442 +#: common/models.py:1447 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1447 +#: common/models.py:1452 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1448 +#: common/models.py:1453 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1453 part/admin.py:108 part/models.py:3795 +#: common/models.py:1458 part/admin.py:108 part/models.py:3835 #: report/models.py:294 report/models.py:361 report/serializers.py:90 -#: report/serializers.py:131 stock/serializers.py:227 +#: report/serializers.py:131 stock/serializers.py:232 #: templates/js/translated/table_filters.js:139 -#: templates/js/translated/table_filters.js:767 +#: templates/js/translated/table_filters.js:772 msgid "Template" msgstr "" -#: common/models.py:1454 +#: common/models.py:1459 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1459 part/admin.py:91 part/admin.py:425 part/models.py:1052 +#: common/models.py:1464 part/admin.py:91 part/admin.py:425 part/models.py:1056 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 -#: templates/js/translated/table_filters.js:721 +#: templates/js/translated/table_filters.js:726 msgid "Assembly" msgstr "" -#: common/models.py:1460 +#: common/models.py:1465 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1465 part/admin.py:95 part/models.py:1058 -#: templates/js/translated/table_filters.js:729 +#: common/models.py:1470 part/admin.py:95 part/models.py:1062 +#: templates/js/translated/table_filters.js:734 msgid "Component" msgstr "" -#: common/models.py:1466 +#: common/models.py:1471 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1471 part/admin.py:100 part/models.py:1070 +#: common/models.py:1476 part/admin.py:100 part/models.py:1074 msgid "Purchaseable" msgstr "" -#: common/models.py:1472 +#: common/models.py:1477 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1477 part/admin.py:104 part/models.py:1076 -#: templates/js/translated/table_filters.js:755 +#: common/models.py:1482 part/admin.py:104 part/models.py:1080 +#: templates/js/translated/table_filters.js:760 msgid "Salable" msgstr "" -#: common/models.py:1478 +#: common/models.py:1483 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1483 part/admin.py:113 part/models.py:1064 -#: 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:1484 +#: common/models.py:1489 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1489 part/admin.py:117 part/models.py:1086 +#: common/models.py:1494 part/admin.py:117 part/models.py:1096 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 -#: templates/js/translated/table_filters.js:775 +#: templates/js/translated/table_filters.js:780 msgid "Virtual" msgstr "" -#: common/models.py:1490 +#: common/models.py:1495 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1495 +#: common/models.py:1500 msgid "Show Import in Views" msgstr "" -#: common/models.py:1496 +#: common/models.py:1501 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1501 +#: common/models.py:1506 msgid "Show related parts" msgstr "" -#: common/models.py:1502 +#: common/models.py:1507 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1507 +#: common/models.py:1512 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1508 +#: common/models.py:1513 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1513 templates/js/translated/part.js:107 +#: common/models.py:1518 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1515 +#: common/models.py:1520 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1521 +#: common/models.py:1526 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1522 +#: common/models.py:1527 msgid "Format to display the part name" msgstr "" -#: common/models.py:1528 +#: common/models.py:1533 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1529 +#: common/models.py:1534 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1533 +#: common/models.py:1538 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1535 +#: common/models.py:1540 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1541 +#: common/models.py:1546 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1543 +#: common/models.py:1548 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1554 +#: common/models.py:1559 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1556 +#: common/models.py:1561 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1567 +#: common/models.py:1572 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1569 +#: common/models.py:1574 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1575 +#: common/models.py:1580 msgid "Purchase History Override" msgstr "" -#: common/models.py:1577 +#: common/models.py:1582 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1583 +#: common/models.py:1588 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1585 +#: common/models.py:1590 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1591 +#: common/models.py:1596 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1593 +#: common/models.py:1598 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1600 +#: common/models.py:1605 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1601 +#: common/models.py:1606 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1606 +#: common/models.py:1611 msgid "Active Variants Only" msgstr "" -#: common/models.py:1608 +#: common/models.py:1613 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1614 +#: common/models.py:1619 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1616 +#: common/models.py:1621 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1623 +#: common/models.py:1628 msgid "Internal Prices" msgstr "" -#: common/models.py:1624 +#: common/models.py:1629 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1629 +#: common/models.py:1634 msgid "Internal Price Override" msgstr "" -#: common/models.py:1631 +#: common/models.py:1636 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1637 +#: common/models.py:1642 msgid "Enable label printing" msgstr "" -#: common/models.py:1638 +#: common/models.py:1643 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1643 +#: common/models.py:1648 msgid "Label Image DPI" msgstr "" -#: common/models.py:1645 +#: common/models.py:1650 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1651 +#: common/models.py:1656 msgid "Enable Reports" msgstr "" -#: common/models.py:1652 +#: common/models.py:1657 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1657 templates/stats.html:25 +#: common/models.py:1662 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1658 +#: common/models.py:1663 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1663 +#: common/models.py:1668 msgid "Log Report Errors" msgstr "" -#: common/models.py:1664 +#: common/models.py:1669 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1669 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1674 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:302 msgid "Page Size" msgstr "" -#: common/models.py:1670 +#: common/models.py:1675 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1675 +#: common/models.py:1680 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1676 +#: common/models.py:1681 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1681 +#: common/models.py:1686 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1683 +#: common/models.py:1688 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1689 +#: common/models.py:1694 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1690 +#: common/models.py:1695 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1695 +#: common/models.py:1700 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1696 +#: common/models.py:1701 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1701 +#: common/models.py:1706 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1703 +#: common/models.py:1708 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1709 +#: common/models.py:1714 msgid "Batch Code Template" msgstr "" -#: common/models.py:1711 +#: common/models.py:1716 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1716 +#: common/models.py:1721 msgid "Stock Expiry" msgstr "" -#: common/models.py:1717 +#: common/models.py:1722 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1722 +#: common/models.py:1727 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1723 +#: common/models.py:1728 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1728 +#: common/models.py:1733 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1730 +#: common/models.py:1735 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1737 +#: common/models.py:1742 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1738 +#: common/models.py:1743 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1743 +#: common/models.py:1748 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1744 +#: common/models.py:1749 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1749 +#: common/models.py:1754 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1750 +#: common/models.py:1755 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1754 +#: common/models.py:1759 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1755 +#: common/models.py:1760 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1760 +#: common/models.py:1765 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1762 +#: common/models.py:1767 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1768 +#: common/models.py:1773 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1770 +#: common/models.py:1775 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1776 +#: common/models.py:1781 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1778 +#: common/models.py:1783 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1784 common/models.py:1826 common/models.py:1848 -#: common/models.py:1884 +#: common/models.py:1789 common/models.py:1837 common/models.py:1859 +#: common/models.py:1895 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1785 common/models.py:1827 common/models.py:1849 -#: common/models.py:1885 +#: common/models.py:1790 common/models.py:1838 common/models.py:1860 +#: common/models.py:1896 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1790 +#: common/models.py:1795 msgid "Require Active Part" msgstr "" -#: common/models.py:1791 +#: common/models.py:1796 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/models.py:1796 +#: common/models.py:1801 +msgid "Require Locked Part" +msgstr "" + +#: common/models.py:1802 +#, fuzzy +#| msgid "Print build order report" +msgid "Prevent build order creation for unlocked parts" +msgstr "Εκτύπωση αναφοράς εντολών κατασκευής" + +#: common/models.py:1807 msgid "Require Valid BOM" msgstr "" -#: common/models.py:1798 +#: common/models.py:1809 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/models.py:1804 +#: common/models.py:1815 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1806 +#: common/models.py:1817 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1812 +#: common/models.py:1823 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1813 +#: common/models.py:1824 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1818 +#: common/models.py:1829 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1820 +#: common/models.py:1831 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1832 +#: common/models.py:1843 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1834 +#: common/models.py:1845 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1840 +#: common/models.py:1851 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1842 +#: common/models.py:1853 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1854 +#: common/models.py:1865 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1855 +#: common/models.py:1866 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1860 +#: common/models.py:1871 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1862 +#: common/models.py:1873 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1868 +#: common/models.py:1879 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1870 +#: common/models.py:1881 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1876 +#: common/models.py:1887 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1878 +#: common/models.py:1889 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1890 +#: common/models.py:1901 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1892 +#: common/models.py:1903 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1898 +#: common/models.py:1909 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1900 +#: common/models.py:1911 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1907 +#: common/models.py:1918 msgid "Enable password forgot" msgstr "" -#: common/models.py:1908 +#: common/models.py:1919 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1913 +#: common/models.py:1924 msgid "Enable registration" msgstr "" -#: common/models.py:1914 +#: common/models.py:1925 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1919 +#: common/models.py:1930 msgid "Enable SSO" msgstr "" -#: common/models.py:1920 +#: common/models.py:1931 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1925 +#: common/models.py:1936 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1927 +#: common/models.py:1938 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1933 +#: common/models.py:1944 msgid "Enable SSO group sync" msgstr "" -#: common/models.py:1935 +#: common/models.py:1946 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/models.py:1941 +#: common/models.py:1952 msgid "SSO group key" msgstr "" -#: common/models.py:1943 +#: common/models.py:1954 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/models.py:1949 +#: common/models.py:1960 msgid "SSO group map" msgstr "" -#: common/models.py:1951 +#: common/models.py:1962 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/models.py:1957 +#: common/models.py:1968 msgid "Remove groups outside of SSO" msgstr "" -#: common/models.py:1959 +#: common/models.py:1970 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/models.py:1965 +#: common/models.py:1976 msgid "Email required" msgstr "" -#: common/models.py:1966 +#: common/models.py:1977 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1971 +#: common/models.py:1982 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1973 +#: common/models.py:1984 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1979 +#: common/models.py:1990 msgid "Mail twice" msgstr "" -#: common/models.py:1980 +#: common/models.py:1991 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1985 +#: common/models.py:1996 msgid "Password twice" msgstr "" -#: common/models.py:1986 +#: common/models.py:1997 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1991 +#: common/models.py:2002 msgid "Allowed domains" msgstr "" -#: common/models.py:1993 +#: common/models.py:2004 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1999 +#: common/models.py:2010 msgid "Group on signup" msgstr "" -#: common/models.py:2001 +#: common/models.py:2012 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/models.py:2007 +#: common/models.py:2018 msgid "Enforce MFA" msgstr "" -#: common/models.py:2008 +#: common/models.py:2019 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:2013 +#: common/models.py:2024 msgid "Check plugins on startup" msgstr "" -#: common/models.py:2015 +#: common/models.py:2026 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:2023 +#: common/models.py:2034 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2024 +#: common/models.py:2035 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2030 +#: common/models.py:2041 msgid "Enable URL integration" msgstr "" -#: common/models.py:2031 +#: common/models.py:2042 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:2037 +#: common/models.py:2048 msgid "Enable navigation integration" msgstr "" -#: common/models.py:2038 +#: common/models.py:2049 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2044 +#: common/models.py:2055 msgid "Enable app integration" msgstr "" -#: common/models.py:2045 +#: common/models.py:2056 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2051 +#: common/models.py:2062 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2052 +#: common/models.py:2063 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2058 +#: common/models.py:2069 msgid "Enable event integration" msgstr "" -#: common/models.py:2059 +#: common/models.py:2070 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2065 +#: common/models.py:2076 msgid "Enable project codes" msgstr "" -#: common/models.py:2066 +#: common/models.py:2077 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2071 +#: common/models.py:2082 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2073 +#: common/models.py:2084 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2079 +#: common/models.py:2090 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2081 +#: common/models.py:2092 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2087 +#: common/models.py:2098 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2089 +#: common/models.py:2100 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2095 +#: common/models.py:2106 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2097 +#: common/models.py:2108 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2104 +#: common/models.py:2115 msgid "Display Users full names" msgstr "" -#: common/models.py:2105 +#: common/models.py:2116 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2110 +#: common/models.py:2121 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2111 +#: common/models.py:2122 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2123 common/models.py:2533 +#: common/models.py:2134 common/models.py:2514 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2166 +#: common/models.py:2177 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2168 +#: common/models.py:2179 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2174 +#: common/models.py:2185 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2175 +#: common/models.py:2186 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2180 +#: common/models.py:2191 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2181 +#: common/models.py:2192 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2186 +#: common/models.py:2197 msgid "Show latest parts" msgstr "" -#: common/models.py:2187 +#: common/models.py:2198 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2192 +#: common/models.py:2203 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2193 +#: common/models.py:2204 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2198 +#: common/models.py:2209 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2199 +#: common/models.py:2210 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2204 +#: common/models.py:2215 msgid "Show low stock" msgstr "" -#: common/models.py:2205 +#: common/models.py:2216 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2210 +#: common/models.py:2221 msgid "Show depleted stock" msgstr "" -#: common/models.py:2211 +#: common/models.py:2222 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2216 +#: common/models.py:2227 msgid "Show needed stock" msgstr "" -#: common/models.py:2217 +#: common/models.py:2228 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2222 +#: common/models.py:2233 msgid "Show expired stock" msgstr "" -#: common/models.py:2223 +#: common/models.py:2234 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2228 +#: common/models.py:2239 msgid "Show stale stock" msgstr "" -#: common/models.py:2229 +#: common/models.py:2240 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2234 +#: common/models.py:2245 msgid "Show pending builds" msgstr "" -#: common/models.py:2235 +#: common/models.py:2246 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2240 +#: common/models.py:2251 msgid "Show overdue builds" msgstr "" -#: common/models.py:2241 +#: common/models.py:2252 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2246 +#: common/models.py:2257 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2247 +#: common/models.py:2258 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2252 +#: common/models.py:2263 msgid "Show overdue POs" msgstr "" -#: common/models.py:2253 +#: common/models.py:2264 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2258 +#: common/models.py:2269 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2259 +#: common/models.py:2270 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2264 +#: common/models.py:2275 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2265 +#: common/models.py:2276 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2270 +#: common/models.py:2281 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2271 +#: common/models.py:2282 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2276 +#: common/models.py:2287 msgid "Show News" msgstr "" -#: common/models.py:2277 +#: common/models.py:2288 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2282 +#: common/models.py:2293 msgid "Inline label display" msgstr "" -#: common/models.py:2284 +#: common/models.py:2295 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2290 +#: common/models.py:2301 msgid "Default label printer" msgstr "" -#: common/models.py:2292 +#: common/models.py:2303 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2298 +#: common/models.py:2309 msgid "Inline report display" msgstr "" -#: common/models.py:2300 +#: common/models.py:2311 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2306 +#: common/models.py:2317 msgid "Search Parts" msgstr "" -#: common/models.py:2307 +#: common/models.py:2318 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2312 +#: common/models.py:2323 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2313 +#: common/models.py:2324 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2318 +#: common/models.py:2329 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2319 +#: common/models.py:2330 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2324 +#: common/models.py:2335 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2325 +#: common/models.py:2336 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2330 +#: common/models.py:2341 msgid "Search Categories" msgstr "" -#: common/models.py:2331 +#: common/models.py:2342 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2336 +#: common/models.py:2347 msgid "Search Stock" msgstr "" -#: common/models.py:2337 +#: common/models.py:2348 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2342 +#: common/models.py:2353 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2344 +#: common/models.py:2355 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2350 +#: common/models.py:2361 msgid "Search Locations" msgstr "" -#: common/models.py:2351 +#: common/models.py:2362 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2356 +#: common/models.py:2367 msgid "Search Companies" msgstr "" -#: common/models.py:2357 +#: common/models.py:2368 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2362 +#: common/models.py:2373 msgid "Search Build Orders" msgstr "" -#: common/models.py:2363 +#: common/models.py:2374 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2368 +#: common/models.py:2379 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2369 +#: common/models.py:2380 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2374 +#: common/models.py:2385 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2376 +#: common/models.py:2387 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2382 +#: common/models.py:2393 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2383 +#: common/models.py:2394 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2388 +#: common/models.py:2399 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2390 +#: common/models.py:2401 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2396 +#: common/models.py:2407 msgid "Search Return Orders" msgstr "" -#: common/models.py:2397 +#: common/models.py:2408 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2402 +#: common/models.py:2413 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2404 +#: common/models.py:2415 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2410 +#: common/models.py:2421 msgid "Search Preview Results" msgstr "" -#: common/models.py:2412 +#: common/models.py:2423 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2418 +#: common/models.py:2429 msgid "Regex Search" msgstr "" -#: common/models.py:2419 +#: common/models.py:2430 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2424 +#: common/models.py:2435 msgid "Whole Word Search" msgstr "" -#: common/models.py:2425 +#: common/models.py:2436 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2430 +#: common/models.py:2441 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2431 +#: common/models.py:2442 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2436 +#: common/models.py:2447 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2437 +#: common/models.py:2448 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2442 +#: common/models.py:2453 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2443 +#: common/models.py:2454 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2448 +#: common/models.py:2459 msgid "Date Format" msgstr "" -#: common/models.py:2449 +#: common/models.py:2460 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2462 part/templates/part/detail.html:41 +#: common/models.py:2473 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2463 +#: common/models.py:2474 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2468 part/templates/part/detail.html:62 +#: common/models.py:2479 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2470 +#: common/models.py:2481 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2476 +#: common/models.py:2487 msgid "Table String Length" msgstr "" -#: common/models.py:2478 +#: common/models.py:2489 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2484 -msgid "Default part label template" -msgstr "" - -#: common/models.py:2485 -msgid "The part label template to be automatically selected" -msgstr "" - -#: common/models.py:2490 -msgid "Default stock item template" -msgstr "" - -#: common/models.py:2492 -msgid "The stock item label template to be automatically selected" -msgstr "" - -#: common/models.py:2498 -msgid "Default stock location label template" -msgstr "" - -#: common/models.py:2500 -msgid "The stock location label template to be automatically selected" -msgstr "" - -#: common/models.py:2506 -msgid "Default build line label template" -msgstr "" - -#: common/models.py:2508 -msgid "The build line label template to be automatically selected" -msgstr "" - -#: common/models.py:2514 +#: common/models.py:2495 msgid "Receive error reports" msgstr "" -#: common/models.py:2515 +#: common/models.py:2496 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2520 +#: common/models.py:2501 msgid "Last used printing machines" msgstr "" -#: common/models.py:2521 +#: common/models.py:2502 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2541 common/models.py:2542 common/models.py:2691 -#: common/models.py:2692 common/models.py:2937 common/models.py:2938 -#: common/models.py:3259 common/models.py:3260 part/models.py:3193 -#: part/models.py:3280 part/models.py:3353 part/models.py:3381 -#: plugin/models.py:274 plugin/models.py:275 +#: common/models.py:2522 common/models.py:2523 common/models.py:2672 +#: common/models.py:2673 common/models.py:2918 common/models.py:2919 +#: common/models.py:3245 common/models.py:3246 importer/models.py:85 +#: part/models.py:3203 part/models.py:3290 part/models.py:3364 +#: part/models.py:3392 plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 msgid "User" msgstr "Χρήστης" -#: common/models.py:2564 +#: common/models.py:2545 msgid "Price break quantity" msgstr "" -#: common/models.py:2571 company/serializers.py:472 order/admin.py:42 -#: order/models.py:1346 order/models.py:2265 -#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1886 +#: common/models.py:2552 company/serializers.py:502 order/admin.py:42 +#: order/models.py:1346 order/models.py:2292 +#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1889 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:740 msgid "Price" msgstr "" -#: common/models.py:2572 +#: common/models.py:2553 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2668 common/models.py:2853 +#: common/models.py:2649 common/models.py:2834 msgid "Endpoint" msgstr "" -#: common/models.py:2669 +#: common/models.py:2650 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2679 +#: common/models.py:2660 msgid "Name for this webhook" msgstr "" -#: common/models.py:2683 +#: common/models.py:2664 msgid "Is this webhook active" msgstr "" -#: common/models.py:2699 users/models.py:159 +#: common/models.py:2680 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2700 +#: common/models.py:2681 msgid "Token for access" msgstr "" -#: common/models.py:2708 +#: common/models.py:2689 msgid "Secret" msgstr "" -#: common/models.py:2709 +#: common/models.py:2690 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2817 +#: common/models.py:2798 msgid "Message ID" msgstr "" -#: common/models.py:2818 +#: common/models.py:2799 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2826 +#: common/models.py:2807 msgid "Host" msgstr "" -#: common/models.py:2827 +#: common/models.py:2808 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2835 +#: common/models.py:2816 msgid "Header" msgstr "" -#: common/models.py:2836 +#: common/models.py:2817 msgid "Header of this message" msgstr "" -#: common/models.py:2843 +#: common/models.py:2824 msgid "Body" msgstr "" -#: common/models.py:2844 +#: common/models.py:2825 msgid "Body of this message" msgstr "" -#: common/models.py:2854 +#: common/models.py:2835 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2859 +#: common/models.py:2840 msgid "Worked on" msgstr "" -#: common/models.py:2860 +#: common/models.py:2841 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2986 +#: common/models.py:2967 msgid "Id" msgstr "" -#: common/models.py:2988 templates/js/translated/company.js:965 +#: common/models.py:2969 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2990 common/models.py:3243 company/models.py:149 -#: company/models.py:440 company/models.py:500 company/models.py:799 -#: order/models.py:303 order/models.py:1301 order/models.py:1717 -#: part/admin.py:55 part/models.py:955 +#: common/models.py:2971 common/models.py:3229 company/models.py:149 +#: company/models.py:446 company/models.py:506 company/models.py:806 +#: order/models.py:303 order/models.py:1301 order/models.py:1733 +#: part/admin.py:55 part/models.py:959 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:229 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/part.js:2459 #: templates/js/translated/purchase_order.js:2040 #: templates/js/translated/purchase_order.js:2204 #: templates/js/translated/return_order.js:779 @@ -3607,28 +3654,28 @@ msgstr "" msgid "Link" msgstr "Σύνδεσμος" -#: common/models.py:2992 templates/js/translated/news.js:60 +#: common/models.py:2973 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2994 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2975 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:2996 templates/js/translated/news.js:52 +#: common/models.py:2977 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2999 +#: common/models.py:2980 msgid "Read" msgstr "" -#: common/models.py:2999 +#: common/models.py:2980 msgid "Was this news item read?" msgstr "" -#: common/models.py:3016 company/models.py:159 part/models.py:965 +#: common/models.py:2997 company/models.py:159 part/models.py:969 #: 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.html:35 @@ -3638,90 +3685,94 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:3016 +#: common/models.py:2997 msgid "Image file" msgstr "" -#: common/models.py:3028 common/models.py:3227 +#: common/models.py:3009 common/models.py:3213 msgid "Target model type for this image" msgstr "" -#: common/models.py:3032 +#: common/models.py:3013 msgid "Target model ID for this image" msgstr "" -#: common/models.py:3070 +#: common/models.py:3035 +msgid "Custom Unit" +msgstr "" + +#: common/models.py:3056 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:3085 +#: common/models.py:3071 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3104 +#: common/models.py:3090 msgid "Unit name" msgstr "" -#: common/models.py:3111 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3097 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3112 +#: common/models.py:3098 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3118 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3104 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3119 +#: common/models.py:3105 msgid "Unit definition" msgstr "" -#: common/models.py:3177 common/models.py:3234 stock/models.py:2461 +#: common/models.py:3163 common/models.py:3220 stock/models.py:2471 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" msgstr "Συνημμένο" -#: common/models.py:3189 +#: common/models.py:3175 msgid "Missing file" msgstr "Το αρχείο λείπει" -#: common/models.py:3190 +#: common/models.py:3176 msgid "Missing external link" msgstr "Λείπει ο εξωτερικός σύνδεσμος" -#: common/models.py:3235 +#: common/models.py:3221 msgid "Select file to attach" msgstr "Επιλέξτε αρχείο για επισύναψη" -#: common/models.py:3250 templates/js/translated/attachment.js:120 +#: common/models.py:3236 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" msgstr "Σχόλιο" -#: common/models.py:3251 +#: common/models.py:3237 msgid "Attachment comment" msgstr "" -#: common/models.py:3267 +#: common/models.py:3253 msgid "Upload date" msgstr "" -#: common/models.py:3268 +#: common/models.py:3254 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:3272 +#: common/models.py:3258 msgid "File size" msgstr "" -#: common/models.py:3272 +#: common/models.py:3258 msgid "File size in bytes" msgstr "" -#: common/models.py:3310 common/serializers.py:553 +#: common/models.py:3296 common/serializers.py:557 msgid "Invalid model type specified for attachment" msgstr "" @@ -3743,7 +3794,7 @@ msgstr "" msgid "A order that is assigned to you was canceled" msgstr "" -#: common/notifications.py:330 common/notifications.py:337 order/api.py:472 +#: common/notifications.py:330 common/notifications.py:337 order/api.py:454 msgid "Items Received" msgstr "" @@ -3759,75 +3810,75 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:371 +#: common/serializers.py:375 msgid "Is Running" msgstr "" -#: common/serializers.py:377 +#: common/serializers.py:381 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:383 +#: common/serializers.py:387 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:389 +#: common/serializers.py:393 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:404 +#: common/serializers.py:408 msgid "Task ID" msgstr "" -#: common/serializers.py:404 +#: common/serializers.py:408 msgid "Unique task ID" msgstr "" -#: common/serializers.py:406 +#: common/serializers.py:410 msgid "Lock" msgstr "" -#: common/serializers.py:406 +#: common/serializers.py:410 msgid "Lock time" msgstr "" -#: common/serializers.py:408 +#: common/serializers.py:412 msgid "Task name" msgstr "" -#: common/serializers.py:410 +#: common/serializers.py:414 msgid "Function" msgstr "" -#: common/serializers.py:410 +#: common/serializers.py:414 msgid "Function name" msgstr "" -#: common/serializers.py:412 +#: common/serializers.py:416 msgid "Arguments" msgstr "" -#: common/serializers.py:412 +#: common/serializers.py:416 msgid "Task arguments" msgstr "" -#: common/serializers.py:415 +#: common/serializers.py:419 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:415 +#: common/serializers.py:419 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:525 +#: common/serializers.py:529 msgid "Filename" msgstr "Όνομα αρχείου" -#: common/serializers.py:532 report/api.py:100 report/serializers.py:53 +#: common/serializers.py:536 report/api.py:100 report/serializers.py:53 msgid "Model Type" msgstr "" -#: common/serializers.py:559 +#: common/serializers.py:563 msgid "User does not have permission to create or edit attachments for this model" msgstr "" @@ -3894,29 +3945,29 @@ msgstr "" msgid "Previous Step" msgstr "" -#: company/api.py:144 +#: company/api.py:141 msgid "Part is Active" msgstr "" -#: company/api.py:148 +#: company/api.py:145 msgid "Manufacturer is Active" msgstr "" -#: company/api.py:281 +#: company/api.py:278 msgid "Supplier Part is Active" msgstr "" -#: company/api.py:285 +#: company/api.py:282 msgid "Internal Part is Active" msgstr "" -#: company/api.py:289 +#: company/api.py:286 msgid "Supplier is Active" msgstr "" -#: company/models.py:100 company/models.py:365 +#: company/models.py:100 company/models.py:371 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:822 +#: company/templates/company/company_base.html:12 stock/api.py:814 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "" @@ -3956,8 +4007,9 @@ msgstr "" msgid "Contact email address" msgstr "" -#: company/models.py:142 company/templates/company/company_base.html:145 -#: order/models.py:343 order/templates/order/order_base.html:203 +#: company/models.py:142 company/models.py:275 +#: company/templates/company/company_base.html:145 order/models.py:343 +#: order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 #: order/templates/order/sales_order_base.html:218 msgid "Contact" @@ -3976,15 +4028,17 @@ msgid "Is this company active?" msgstr "" #: company/models.py:168 -msgid "is customer" -msgstr "" +#, fuzzy +#| msgid "Sent to customer" +msgid "Is customer" +msgstr "Απεστάλη στον πελάτη" #: company/models.py:169 msgid "Do you sell items to this company?" msgstr "" #: company/models.py:174 -msgid "is supplier" +msgid "Is supplier" msgstr "" #: company/models.py:175 @@ -3992,7 +4046,7 @@ msgid "Do you purchase items from this company?" msgstr "" #: company/models.py:180 -msgid "is manufacturer" +msgid "Is manufacturer" msgstr "" #: company/models.py:181 @@ -4003,178 +4057,189 @@ msgstr "" msgid "Default currency used for this company" msgstr "" -#: company/models.py:366 +#: company/models.py:314 company/templates/company/company_base.html:124 +#: order/models.py:353 order/templates/order/order_base.html:210 +#: order/templates/order/return_order_base.html:181 +#: order/templates/order/sales_order_base.html:225 +msgid "Address" +msgstr "" + +#: company/models.py:315 company/templates/company/sidebar.html:35 +msgid "Addresses" +msgstr "" + +#: company/models.py:372 msgid "Select company" msgstr "" -#: company/models.py:371 +#: company/models.py:377 msgid "Address title" msgstr "" -#: company/models.py:372 +#: company/models.py:378 msgid "Title describing the address entry" msgstr "" -#: company/models.py:378 +#: company/models.py:384 msgid "Primary address" msgstr "" -#: company/models.py:379 +#: company/models.py:385 msgid "Set as primary address" msgstr "" -#: company/models.py:384 templates/js/translated/company.js:914 +#: company/models.py:390 templates/js/translated/company.js:914 #: templates/js/translated/company.js:971 msgid "Line 1" msgstr "" -#: company/models.py:385 +#: company/models.py:391 msgid "Address line 1" msgstr "" -#: company/models.py:391 templates/js/translated/company.js:915 +#: company/models.py:397 templates/js/translated/company.js:915 #: templates/js/translated/company.js:977 msgid "Line 2" msgstr "" -#: company/models.py:392 +#: company/models.py:398 msgid "Address line 2" msgstr "" -#: company/models.py:398 company/models.py:399 +#: company/models.py:404 company/models.py:405 #: templates/js/translated/company.js:983 msgid "Postal code" msgstr "" -#: company/models.py:405 +#: company/models.py:411 msgid "City/Region" msgstr "" -#: company/models.py:406 +#: company/models.py:412 msgid "Postal code city/region" msgstr "" -#: company/models.py:412 +#: company/models.py:418 msgid "State/Province" msgstr "" -#: company/models.py:413 +#: company/models.py:419 msgid "State or province" msgstr "" -#: company/models.py:419 templates/js/translated/company.js:1001 +#: company/models.py:425 templates/js/translated/company.js:1001 msgid "Country" msgstr "" -#: company/models.py:420 +#: company/models.py:426 msgid "Address country" msgstr "" -#: company/models.py:426 +#: company/models.py:432 msgid "Courier shipping notes" msgstr "" -#: company/models.py:427 +#: company/models.py:433 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:433 +#: company/models.py:439 msgid "Internal shipping notes" msgstr "" -#: company/models.py:434 +#: company/models.py:440 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:441 +#: company/models.py:447 msgid "Link to address information (external)" msgstr "" -#: company/models.py:463 company/models.py:574 company/models.py:792 +#: company/models.py:469 company/models.py:581 company/models.py:799 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:217 msgid "Manufacturer Part" msgstr "" -#: company/models.py:475 company/models.py:760 stock/models.py:767 -#: stock/serializers.py:422 stock/templates/stock/item_base.html:142 +#: company/models.py:481 company/models.py:767 stock/models.py:767 +#: stock/serializers.py:442 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" -#: company/models.py:477 company/models.py:762 +#: company/models.py:483 company/models.py:769 msgid "Select part" msgstr "" -#: company/models.py:486 company/templates/company/company_base.html:82 +#: company/models.py:492 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:525 +#: company/templates/company/supplier_part.html:145 part/serializers.py:543 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 #: templates/js/translated/company.js:1296 #: templates/js/translated/company.js:1611 -#: templates/js/translated/table_filters.js:800 +#: templates/js/translated/table_filters.js:805 msgid "Manufacturer" msgstr "" -#: company/models.py:487 +#: company/models.py:493 msgid "Select manufacturer" msgstr "" -#: company/models.py:493 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:535 -#: templates/js/translated/company.js:351 +#: company/models.py:499 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:153 order/serializers.py:518 +#: part/serializers.py:553 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:1801 +#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1804 #: templates/js/translated/purchase_order.js:1851 #: templates/js/translated/purchase_order.js:2053 msgid "MPN" msgstr "" -#: company/models.py:494 -msgid "Manufacturer Part Number" -msgstr "" - -#: company/models.py:501 +#: company/models.py:507 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:510 +#: company/models.py:516 msgid "Manufacturer part description" msgstr "" -#: company/models.py:581 +#: company/models.py:569 +msgid "Manufacturer Part Parameter" +msgstr "" + +#: company/models.py:588 msgid "Parameter name" msgstr "" -#: company/models.py:587 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2453 templates/js/translated/company.js:1166 -#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1493 +#: company/models.py:594 report/templates/report/inventree_test_report.html:104 +#: stock/models.py:2463 templates/js/translated/company.js:1166 +#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1496 #: templates/js/translated/stock.js:1522 msgid "Value" msgstr "" -#: company/models.py:588 +#: company/models.py:595 msgid "Parameter value" msgstr "" -#: company/models.py:595 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1045 part/models.py:3646 +#: company/models.py:602 company/templates/company/supplier_part.html:168 +#: part/admin.py:57 part/models.py:1049 part/models.py:3667 #: part/templates/part/part_base.html:284 -#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1512 -#: templates/js/translated/part.js:1616 templates/js/translated/part.js:2370 +#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1515 +#: templates/js/translated/part.js:1619 templates/js/translated/part.js:2373 msgid "Units" msgstr "" -#: company/models.py:596 +#: company/models.py:603 msgid "Parameter units" msgstr "" -#: company/models.py:648 company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 order/api.py:452 +#: company/models.py:655 company/templates/company/supplier_part.html:7 +#: company/templates/company/supplier_part.html:24 order/api.py:434 #: stock/models.py:778 stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 @@ -4182,91 +4247,91 @@ msgstr "" msgid "Supplier Part" msgstr "" -#: company/models.py:700 +#: company/models.py:707 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:707 +#: company/models.py:714 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:721 +#: company/models.py:728 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:770 company/templates/company/company_base.html:87 +#: company/models.py:777 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:509 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:527 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 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:511 -#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1769 +#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1772 #: templates/js/translated/pricing.js:498 #: templates/js/translated/purchase_order.js:1689 -#: templates/js/translated/table_filters.js:804 +#: templates/js/translated/table_filters.js:809 msgid "Supplier" msgstr "" -#: company/models.py:771 +#: company/models.py:778 msgid "Select supplier" msgstr "" -#: company/models.py:777 part/serializers.py:520 +#: company/models.py:784 part/serializers.py:538 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:783 +#: company/models.py:790 msgid "Is this supplier part active?" msgstr "" -#: company/models.py:793 +#: company/models.py:800 msgid "Select manufacturer part" msgstr "" -#: company/models.py:800 +#: company/models.py:807 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:809 +#: company/models.py:816 msgid "Supplier part description" msgstr "" -#: company/models.py:816 company/templates/company/supplier_part.html:187 -#: part/admin.py:412 part/models.py:4093 part/templates/part/upload_bom.html:59 +#: company/models.py:823 company/templates/company/supplier_part.html:187 +#: part/admin.py:412 part/models.py:4178 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: 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:710 +#: stock/serializers.py:768 msgid "Note" msgstr "" -#: company/models.py:825 part/models.py:2003 +#: company/models.py:832 part/models.py:2013 msgid "base cost" msgstr "" -#: company/models.py:826 part/models.py:2004 +#: company/models.py:833 part/models.py:2014 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:833 company/templates/company/supplier_part.html:160 -#: stock/admin.py:228 stock/models.py:798 stock/serializers.py:1475 +#: company/models.py:840 company/templates/company/supplier_part.html:160 +#: stock/admin.py:228 stock/models.py:798 stock/serializers.py:1541 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 msgid "Packaging" msgstr "" -#: company/models.py:834 +#: company/models.py:841 msgid "Part packaging" msgstr "" -#: company/models.py:839 templates/js/translated/company.js:1651 -#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 +#: company/models.py:846 templates/js/translated/company.js:1651 +#: templates/js/translated/part.js:1825 templates/js/translated/part.js:1881 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 #: templates/js/translated/purchase_order.js:1103 @@ -4275,35 +4340,43 @@ msgstr "" msgid "Pack Quantity" msgstr "" -#: company/models.py:841 +#: company/models.py:848 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:860 part/models.py:2010 +#: company/models.py:867 part/models.py:2020 msgid "multiple" msgstr "" -#: company/models.py:861 +#: company/models.py:868 msgid "Order multiple" msgstr "" -#: company/models.py:873 +#: company/models.py:880 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:879 +#: company/models.py:886 msgid "Availability Updated" msgstr "" -#: company/models.py:880 +#: company/models.py:887 msgid "Date of last update of availability data" msgstr "" -#: company/serializers.py:161 +#: company/models.py:1015 +msgid "Supplier Price Break" +msgstr "" + +#: company/serializers.py:174 msgid "Default currency used for this supplier" msgstr "" -#: company/serializers.py:357 part/admin.py:126 +#: company/serializers.py:210 +msgid "Company Name" +msgstr "" + +#: company/serializers.py:384 part/admin.py:126 part/serializers.py:855 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:355 @@ -4315,7 +4388,7 @@ msgstr "" #: templates/js/translated/company.js:1287 #: templates/js/translated/company.js:1575 #: templates/js/translated/model_renderers.js:312 -#: templates/js/translated/part.js:815 templates/js/translated/part.js:1219 +#: templates/js/translated/part.js:814 templates/js/translated/part.js:1222 msgid "Inactive" msgstr "" @@ -4374,16 +4447,16 @@ msgid "Delete image" msgstr "" #: company/templates/company/company_base.html:92 order/models.py:938 -#: order/models.py:2032 order/templates/order/return_order_base.html:131 +#: order/models.py:2058 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:148 stock/models.py:820 -#: stock/models.py:821 stock/serializers.py:1225 +#: stock/models.py:821 stock/serializers.py:1291 #: 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:295 #: templates/js/translated/sales_order.js:820 #: templates/js/translated/stock.js:2959 -#: templates/js/translated/table_filters.js:808 +#: templates/js/translated/table_filters.js:813 msgid "Customer" msgstr "" @@ -4391,13 +4464,6 @@ msgstr "" msgid "Uses default currency" msgstr "" -#: company/templates/company/company_base.html:124 order/models.py:353 -#: order/templates/order/order_base.html:210 -#: order/templates/order/return_order_base.html:181 -#: order/templates/order/sales_order_base.html:225 -msgid "Address" -msgstr "" - #: company/templates/company/company_base.html:131 msgid "Phone" msgstr "" @@ -4577,7 +4643,8 @@ msgid "Delete manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:65 -#: company/templates/company/supplier_part.html:97 order/api.py:458 +#: company/templates/company/supplier_part.html:97 order/api.py:440 +#: order/serializers.py:526 msgid "Internal Part" msgstr "" @@ -4587,7 +4654,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:832 +#: part/admin.py:122 part/serializers.py:860 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4608,7 +4675,7 @@ msgid "New Parameter" msgstr "" #: company/templates/company/manufacturer_part.html:196 -#: templates/js/translated/part.js:1423 +#: templates/js/translated/part.js:1426 msgid "Add Parameter" msgstr "" @@ -4632,10 +4699,6 @@ msgstr "" msgid "Contacts" msgstr "" -#: company/templates/company/sidebar.html:35 -msgid "Addresses" -msgstr "" - #: company/templates/company/supplier_part.html:50 #: templates/js/translated/company.js:1526 msgid "Supplier part actions" @@ -4665,111 +4728,287 @@ msgstr "" msgid "Duplicate Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:73 -msgid "Delete Supplier Part" +#: company/templates/company/supplier_part.html:73 +msgid "Delete Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:74 +msgid "Delete Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:133 +msgid "No supplier information available" +msgstr "" + +#: company/templates/company/supplier_part.html:139 order/serializers.py:515 +#: part/bom.py:279 part/bom.py:311 part/serializers.py:537 +#: templates/js/translated/company.js:349 templates/js/translated/part.js:1790 +#: templates/js/translated/pricing.js:510 +#: templates/js/translated/purchase_order.js:1850 +#: templates/js/translated/purchase_order.js:2028 +msgid "SKU" +msgstr "" + +#: company/templates/company/supplier_part.html:206 +msgid "Supplier Part Stock" +msgstr "" + +#: company/templates/company/supplier_part.html:209 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:207 +msgid "Create new stock item" +msgstr "" + +#: company/templates/company/supplier_part.html:210 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:208 +#: templates/js/translated/stock.js:537 +msgid "New Stock Item" +msgstr "" + +#: company/templates/company/supplier_part.html:223 +msgid "Supplier Part Orders" +msgstr "" + +#: company/templates/company/supplier_part.html:246 +msgid "Pricing Information" +msgstr "" + +#: company/templates/company/supplier_part.html:251 +#: templates/js/translated/company.js:398 +#: templates/js/translated/pricing.js:684 +msgid "Add Price Break" +msgstr "" + +#: company/templates/company/supplier_part.html:276 +msgid "Supplier Part QR Code" +msgstr "" + +#: company/templates/company/supplier_part.html:287 +msgid "Link Barcode to Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:359 +msgid "Update Part Availability" +msgstr "" + +#: company/templates/company/supplier_part_sidebar.html:5 +#: part/serializers.py:859 part/stocktake.py:224 +#: part/templates/part/category.html:183 +#: part/templates/part/category_sidebar.html:17 stock/admin.py:68 +#: stock/serializers.py:976 stock/serializers.py:1154 +#: stock/templates/stock/location.html:170 +#: 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:1064 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 +#: users/models.py:206 +msgid "Stock Items" +msgstr "" + +#: company/templates/company/supplier_part_sidebar.html:9 +msgid "Supplier Part Pricing" +msgstr "" + +#: company/views.py:32 +msgid "New Supplier" +msgstr "" + +#: company/views.py:38 +msgid "New Manufacturer" +msgstr "" + +#: company/views.py:43 templates/InvenTree/search.html:210 +#: templates/navbar.html:60 +msgid "Customers" +msgstr "" + +#: company/views.py:44 +msgid "New Customer" +msgstr "" + +#: company/views.py:52 +msgid "New Company" +msgstr "" + +#: generic/states/tests.py:18 order/status_codes.py:13 +msgid "Placed" +msgstr "Τοποθετήθηκε" + +#: importer/mixins.py:263 +#, fuzzy +#| msgid "Invalid value for overage" +msgid "Invalid export format" +msgstr "Μη έγκυρη τιμή για υπέρβαση" + +#: importer/models.py:56 +msgid "Timestamp" +msgstr "" + +#: importer/models.py:61 +msgid "Data file to import" +msgstr "" + +#: importer/models.py:70 templates/js/translated/tables.js:558 +msgid "Columns" +msgstr "" + +#: importer/models.py:81 +msgid "Import status" +msgstr "" + +#: importer/models.py:91 +#, fuzzy +#| msgid "Build Details" +msgid "Field Defaults" +msgstr "Λεπτομέρειες Κατασκευής" + +#: importer/models.py:201 +#, fuzzy +#| msgid "Required build quantity has not been completed" +msgid "Some required fields have not been mapped" +msgstr "Ο απαιτούμενος αριθμός προϊόντων δεν έχει ολοκληρωθεί" + +#: importer/models.py:346 +msgid "Column is already mapped to a database field" +msgstr "" + +#: importer/models.py:351 +msgid "Field is already mapped to a data column" +msgstr "" + +#: importer/models.py:360 +msgid "Column mapping must be linked to a valid import session" +msgstr "" + +#: importer/models.py:365 +msgid "Column does not exist in the data file" +msgstr "" + +#: importer/models.py:372 +#, fuzzy +#| msgid "User does not have permission to view this model" +msgid "Field does not exist in the target model" +msgstr "Δεν έχετε δικαιώματα να το δείτε αυτό" + +#: importer/models.py:376 +msgid "Selected field is read-only" +msgstr "" + +#: importer/models.py:381 importer/models.py:452 +msgid "Import Session" msgstr "" -#: company/templates/company/supplier_part.html:74 -msgid "Delete Supplier Part" +#: importer/models.py:385 +msgid "Field" msgstr "" -#: company/templates/company/supplier_part.html:133 -msgid "No supplier information available" +#: importer/models.py:387 +msgid "Column" msgstr "" -#: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:519 -#: templates/js/translated/company.js:349 templates/js/translated/part.js:1787 -#: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1850 -#: templates/js/translated/purchase_order.js:2028 -msgid "SKU" +#: importer/models.py:456 +msgid "Row Index" msgstr "" -#: company/templates/company/supplier_part.html:206 -msgid "Supplier Part Stock" +#: importer/models.py:459 +msgid "Original row data" msgstr "" -#: company/templates/company/supplier_part.html:209 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:207 -msgid "Create new stock item" +#: importer/models.py:462 part/models.py:3841 +msgid "Data" msgstr "" -#: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:208 -#: templates/js/translated/stock.js:537 -msgid "New Stock Item" +#: importer/models.py:464 machine/models.py:110 +msgid "Errors" msgstr "" -#: company/templates/company/supplier_part.html:223 -msgid "Supplier Part Orders" +#: importer/models.py:466 part/api.py:874 +msgid "Valid" msgstr "" -#: company/templates/company/supplier_part.html:246 -msgid "Pricing Information" +#: importer/operations.py:28 importer/operations.py:49 +#, fuzzy +#| msgid "Unsupported file type" +msgid "Unsupported data file format" +msgstr "Μη υποστηριζόμενος τύπος αρχείου" + +#: importer/operations.py:40 +msgid "Failed to open data file" msgstr "" -#: company/templates/company/supplier_part.html:251 -#: templates/js/translated/company.js:398 -#: templates/js/translated/pricing.js:684 -msgid "Add Price Break" +#: importer/operations.py:51 +msgid "Invalid data file dimensions" msgstr "" -#: company/templates/company/supplier_part.html:276 -msgid "Supplier Part QR Code" +#: importer/serializers.py:135 +msgid "Rows" msgstr "" -#: company/templates/company/supplier_part.html:287 -msgid "Link Barcode to Supplier Part" +#: importer/serializers.py:136 +msgid "List of row IDs to accept" msgstr "" -#: company/templates/company/supplier_part.html:359 -msgid "Update Part Availability" +#: importer/serializers.py:149 +#, fuzzy +#| msgid "No data rows provided" +msgid "No rows provided" +msgstr "Δεν παρασχέθηκαν σειρές δεδομένων" + +#: importer/serializers.py:153 +msgid "Row does not belong to this session" msgstr "" -#: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:831 part/stocktake.py:224 -#: part/templates/part/category.html:183 -#: part/templates/part/category_sidebar.html:17 stock/admin.py:68 -#: stock/serializers.py:918 stock/serializers.py:1091 -#: stock/templates/stock/location.html:170 -#: 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:1061 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 -#: users/models.py:206 -msgid "Stock Items" +#: importer/serializers.py:156 +msgid "Row contains invalid data" msgstr "" -#: company/templates/company/supplier_part_sidebar.html:9 -msgid "Supplier Part Pricing" +#: importer/serializers.py:159 +#, fuzzy +#| msgid "This build output has already been completed" +msgid "Row has already been completed" +msgstr "Η παραγγελία κατασκευής έχει ολοκληρωθεί" + +#: importer/status_codes.py:11 +msgid "Initializing" msgstr "" -#: company/views.py:32 -msgid "New Supplier" +#: importer/status_codes.py:12 +msgid "Mapping Columns" msgstr "" -#: company/views.py:38 -msgid "New Manufacturer" +#: importer/status_codes.py:13 +#, fuzzy +#| msgid "Completion Date" +msgid "Importing Data" +msgstr "Ημερομηνία ολοκλήρωσης" + +#: importer/status_codes.py:16 +msgid "Processing Data" msgstr "" -#: company/views.py:43 templates/InvenTree/search.html:210 -#: templates/navbar.html:60 -msgid "Customers" +#: importer/validators.py:21 +#, fuzzy +#| msgid "Image download exceeded maximum size" +msgid "Data file exceeds maximum size limit" +msgstr "Η λήψη εικόνας ξεπέρασε το μέγιστο μέγεθος" + +#: importer/validators.py:26 +msgid "Data file contains no headers" msgstr "" -#: company/views.py:44 -msgid "New Customer" +#: importer/validators.py:29 +msgid "Data file contains too many columns" msgstr "" -#: company/views.py:52 -msgid "New Company" +#: importer/validators.py:32 +msgid "Data file contains too many rows" msgstr "" -#: generic/states/tests.py:18 order/status_codes.py:13 -msgid "Placed" -msgstr "Τοποθετήθηκε" +#: importer/validators.py:49 +#, fuzzy +#| msgid "Metadata must be a python dict object" +msgid "Value must be a valid dictionary object" +msgstr "Τα μεταδεδομένα πρέπει να είναι ένα αντικείμενο dict python" #: machine/machine_types/label_printer.py:212 msgid "Copies" @@ -4783,7 +5022,7 @@ msgstr "" msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:229 order/api.py:1467 +#: machine/machine_types/label_printer.py:229 order/api.py:1388 #: templates/js/translated/sales_order.js:1078 msgid "Unknown" msgstr "" @@ -4852,10 +5091,6 @@ msgstr "" msgid "Initialized" msgstr "" -#: machine/models.py:110 -msgid "Errors" -msgstr "" - #: machine/models.py:117 msgid "Machine status" msgstr "" @@ -4881,44 +5116,44 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:157 order/serializers.py:90 +#: order/api.py:149 order/serializers.py:94 #: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:113 #: order/templates/order/sales_order_base.html:122 msgid "Order Status" msgstr "" -#: order/api.py:161 templates/js/translated/table_filters.js:194 -#: templates/js/translated/table_filters.js:779 +#: order/api.py:153 templates/js/translated/table_filters.js:194 +#: templates/js/translated/table_filters.js:784 msgid "Has Pricing" msgstr "" -#: order/api.py:236 +#: order/api.py:228 msgid "No matching purchase order found" msgstr "" -#: order/api.py:435 order/api.py:801 order/models.py:1395 order/models.py:1504 -#: order/models.py:1550 order/models.py:1664 order/models.py:1818 -#: order/models.py:2231 order/models.py:2282 +#: order/api.py:417 order/api.py:755 order/models.py:1400 order/models.py:1514 +#: order/models.py:1565 order/models.py:1680 order/models.py:1839 +#: order/models.py:2258 order/models.py:2314 #: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "" -#: order/api.py:439 order/api.py:822 +#: order/api.py:421 order/api.py:776 msgid "Order Complete" msgstr "" -#: order/api.py:462 +#: order/api.py:444 msgid "Order Pending" msgstr "" -#: order/api.py:1461 order/models.py:380 order/models.py:1396 -#: order/models.py:1505 order/templates/order/order_base.html:9 +#: order/api.py:1382 order/models.py:380 order/models.py:1401 +#: order/models.py:1515 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 -#: stock/serializers.py:118 stock/templates/stock/item_base.html:176 +#: stock/serializers.py:120 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/part.js:1746 templates/js/translated/pricing.js:804 +#: templates/js/translated/part.js:1749 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:1673 @@ -4926,8 +5161,8 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1465 order/models.py:1981 order/models.py:2232 -#: order/models.py:2283 order/templates/order/return_order_base.html:9 +#: order/api.py:1386 order/models.py:2007 order/models.py:2259 +#: order/models.py:2315 order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report.html:13 #: templates/js/translated/return_order.js:280 @@ -4939,11 +5174,11 @@ msgstr "" msgid "Total price for this order" msgstr "" -#: order/models.py:96 order/serializers.py:70 +#: order/models.py:96 order/serializers.py:72 msgid "Order Currency" msgstr "" -#: order/models.py:99 order/serializers.py:71 +#: order/models.py:99 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" @@ -4959,7 +5194,7 @@ msgstr "" msgid "Select project code for this order" msgstr "" -#: order/models.py:303 order/models.py:1301 order/models.py:1717 +#: order/models.py:303 order/models.py:1301 order/models.py:1733 msgid "Link to external page" msgstr "" @@ -5008,15 +5243,15 @@ msgstr "" msgid "received by" msgstr "" -#: order/models.py:514 order/models.py:2058 +#: order/models.py:514 order/models.py:2084 msgid "Issue Date" msgstr "" -#: order/models.py:515 order/models.py:2059 +#: order/models.py:515 order/models.py:2085 msgid "Date order was issued" msgstr "" -#: order/models.py:522 order/models.py:2066 +#: order/models.py:522 order/models.py:2092 msgid "Date order was completed" msgstr "" @@ -5032,15 +5267,15 @@ msgstr "" msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:962 order/models.py:2051 +#: order/models.py:962 order/models.py:2077 msgid "Customer Reference " msgstr "" -#: order/models.py:963 order/models.py:2052 +#: order/models.py:963 order/models.py:2078 msgid "Customer order reference code" msgstr "" -#: order/models.py:967 order/models.py:1671 +#: order/models.py:967 order/models.py:1687 #: templates/js/translated/sales_order.js:879 #: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" @@ -5102,20 +5337,26 @@ msgstr "" msgid "Unit price" msgstr "" -#: order/models.py:1380 +#: order/models.py:1361 +#, fuzzy +#| msgid "Build Line Item" +msgid "Purchase Order Line Item" +msgstr "Αντικείμενο Γραμμής Κατασκευής" + +#: order/models.py:1385 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1387 +#: order/models.py:1392 msgid "deleted" msgstr "" -#: order/models.py:1415 +#: order/models.py:1420 msgid "Supplier part" msgstr "" -#: order/models.py:1422 order/templates/order/order_base.html:196 -#: templates/js/translated/part.js:1870 templates/js/translated/part.js:1902 +#: order/models.py:1427 order/templates/order/order_base.html:196 +#: templates/js/translated/part.js:1873 templates/js/translated/part.js:1905 #: templates/js/translated/purchase_order.js:1306 #: templates/js/translated/purchase_order.js:2169 #: templates/js/translated/return_order.js:763 @@ -5124,196 +5365,234 @@ msgstr "" msgid "Received" msgstr "" -#: order/models.py:1423 +#: order/models.py:1428 msgid "Number of items received" msgstr "" -#: order/models.py:1431 stock/models.py:939 stock/serializers.py:556 +#: order/models.py:1436 stock/models.py:939 stock/serializers.py:602 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2311 msgid "Purchase Price" msgstr "" -#: order/models.py:1432 +#: order/models.py:1437 msgid "Unit purchase price" msgstr "" -#: order/models.py:1447 +#: order/models.py:1452 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1538 +#: order/models.py:1503 +msgid "Purchase Order Extra Line" +msgstr "" + +#: order/models.py:1532 +#, fuzzy +#| msgid "Sales Order" +msgid "Sales Order Line Item" +msgstr "Εντολές Πώλησης" + +#: order/models.py:1553 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1543 +#: order/models.py:1558 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1569 part/templates/part/part_pricing.html:107 +#: order/models.py:1584 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:1570 +#: order/models.py:1585 msgid "Unit sale price" msgstr "" -#: order/models.py:1579 order/status_codes.py:43 +#: order/models.py:1594 order/status_codes.py:43 #: templates/js/translated/sales_order.js:1559 #: templates/js/translated/sales_order.js:1680 #: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "Αποστάλθηκε" -#: order/models.py:1580 +#: order/models.py:1595 msgid "Shipped quantity" msgstr "" -#: order/models.py:1672 +#: order/models.py:1667 +#, fuzzy +#| msgid "Sales Order" +msgid "Sales Order Shipment" +msgstr "Εντολές Πώλησης" + +#: order/models.py:1688 msgid "Date of shipment" msgstr "" -#: order/models.py:1678 templates/js/translated/sales_order.js:1072 +#: order/models.py:1694 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "" -#: order/models.py:1679 +#: order/models.py:1695 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1687 +#: order/models.py:1703 msgid "Checked By" msgstr "" -#: order/models.py:1688 +#: order/models.py:1704 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1695 order/models.py:1908 order/serializers.py:1342 -#: order/serializers.py:1452 templates/js/translated/model_renderers.js:454 +#: order/models.py:1711 order/models.py:1934 order/serializers.py:1398 +#: order/serializers.py:1508 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "" -#: order/models.py:1696 +#: order/models.py:1712 msgid "Shipment number" msgstr "" -#: order/models.py:1704 +#: order/models.py:1720 msgid "Tracking Number" msgstr "" -#: order/models.py:1705 +#: order/models.py:1721 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1712 +#: order/models.py:1728 msgid "Invoice Number" msgstr "" -#: order/models.py:1713 +#: order/models.py:1729 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1733 +#: order/models.py:1749 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1736 +#: order/models.py:1752 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1854 order/models.py:1856 +#: order/models.py:1828 +#, fuzzy +#| msgid "Sales Order Reference" +msgid "Sales Order Extra Line" +msgstr "Κωδικός Παραγγελίας Πωλήσεων" + +#: order/models.py:1857 +#, fuzzy +#| msgid "Discard Allocations" +msgid "Sales Order Allocation" +msgstr "Απόρριψη Κατανομών" + +#: order/models.py:1880 order/models.py:1882 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1863 +#: order/models.py:1889 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1866 +#: order/models.py:1892 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1869 +#: order/models.py:1895 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1888 order/serializers.py:1219 +#: order/models.py:1914 order/serializers.py:1275 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1891 +#: order/models.py:1917 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1892 plugin/base/barcodes/api.py:481 +#: order/models.py:1918 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1900 +#: order/models.py:1926 msgid "Line" msgstr "" -#: order/models.py:1909 +#: order/models.py:1935 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1922 order/models.py:2239 +#: order/models.py:1948 order/models.py:2266 #: templates/js/translated/return_order.js:721 msgid "Item" msgstr "" -#: order/models.py:1923 +#: order/models.py:1949 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1932 +#: order/models.py:1958 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2021 +#: order/models.py:2047 msgid "Return Order reference" msgstr "" -#: order/models.py:2033 +#: order/models.py:2059 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2045 +#: order/models.py:2071 msgid "Return order status" msgstr "" -#: order/models.py:2224 +#: order/models.py:2237 +#, fuzzy +#| msgid "Build Line Item" +msgid "Return Order Line Item" +msgstr "Αντικείμενο Γραμμής Κατασκευής" + +#: order/models.py:2251 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2240 +#: order/models.py:2267 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2246 +#: order/models.py:2273 msgid "Received Date" msgstr "" -#: order/models.py:2247 +#: order/models.py:2274 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2258 templates/js/translated/return_order.js:732 +#: order/models.py:2285 templates/js/translated/return_order.js:732 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2259 +#: order/models.py:2286 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2266 +#: order/models.py:2293 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:79 order/templates/order/po_sidebar.html:5 +#: order/models.py:2303 +msgid "Return Order Extra Line" +msgstr "" + +#: order/serializers.py:83 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_purchase_order_report.html:22 @@ -5322,163 +5601,171 @@ msgstr "" msgid "Line Items" msgstr "" -#: order/serializers.py:83 +#: order/serializers.py:87 msgid "Completed Lines" msgstr "" -#: order/serializers.py:286 +#: order/serializers.py:305 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:301 order/serializers.py:1235 +#: order/serializers.py:320 order/serializers.py:1291 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:311 order/serializers.py:1245 +#: order/serializers.py:330 order/serializers.py:1301 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:439 +#: order/serializers.py:468 msgid "Order is not open" msgstr "" -#: order/serializers.py:460 +#: order/serializers.py:489 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:462 +#: order/serializers.py:491 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:472 +#: order/serializers.py:501 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:478 +#: order/serializers.py:507 msgid "Merge Items" msgstr "" -#: order/serializers.py:480 +#: order/serializers.py:509 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:498 +#: order/serializers.py:522 part/models.py:945 +msgid "Internal Part Number" +msgstr "" + +#: order/serializers.py:530 +msgid "Internal Part Name" +msgstr "" + +#: order/serializers.py:546 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:501 +#: order/serializers.py:549 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:509 +#: order/serializers.py:557 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:510 +#: order/serializers.py:558 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:549 order/serializers.py:1313 +#: order/serializers.py:598 order/serializers.py:1369 msgid "Line Item" msgstr "" -#: order/serializers.py:555 +#: order/serializers.py:604 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:565 order/serializers.py:673 order/serializers.py:1657 +#: order/serializers.py:614 order/serializers.py:722 order/serializers.py:1715 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:581 templates/js/translated/purchase_order.js:1130 +#: order/serializers.py:630 templates/js/translated/purchase_order.js:1130 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:589 templates/js/translated/purchase_order.js:1154 +#: order/serializers.py:638 templates/js/translated/purchase_order.js:1154 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:600 templates/js/translated/barcode.js:52 +#: order/serializers.py:649 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:601 +#: order/serializers.py:650 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:617 +#: order/serializers.py:666 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:641 +#: order/serializers.py:690 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:689 order/serializers.py:1673 +#: order/serializers.py:738 order/serializers.py:1731 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:705 +#: order/serializers.py:754 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:716 +#: order/serializers.py:765 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1062 +#: order/serializers.py:1117 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1122 +#: order/serializers.py:1178 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1183 order/serializers.py:1322 +#: order/serializers.py:1239 order/serializers.py:1378 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1202 +#: order/serializers.py:1258 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1332 +#: order/serializers.py:1388 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1354 order/serializers.py:1460 +#: order/serializers.py:1410 order/serializers.py:1516 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1357 order/serializers.py:1463 +#: order/serializers.py:1413 order/serializers.py:1519 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1404 +#: order/serializers.py:1460 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1411 +#: order/serializers.py:1467 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1627 +#: order/serializers.py:1685 msgid "Return order line item" msgstr "" -#: order/serializers.py:1633 +#: order/serializers.py:1691 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1636 +#: order/serializers.py:1694 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1665 +#: order/serializers.py:1723 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1743 +#: order/serializers.py:1806 msgid "Line price currency" msgstr "" @@ -5808,7 +6095,7 @@ msgstr "" #: 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:1073 +#: templates/js/translated/part.js:1076 #: templates/js/translated/purchase_order.js:1752 #: templates/js/translated/return_order.js:380 #: templates/js/translated/sales_order.js:891 @@ -5904,34 +6191,29 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:398 part/models.py:3944 part/stocktake.py:219 +#: part/admin.py:39 part/admin.py:398 part/models.py:3991 part/stocktake.py:219 #: stock/admin.py:152 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:405 part/models.py:3945 part/stocktake.py:220 -#: stock/admin.py:156 -msgid "Part Name" -msgstr "" - #: part/admin.py:45 part/stocktake.py:221 msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:940 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:944 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 -#: templates/js/translated/part.js:1227 templates/js/translated/part.js:2341 +#: templates/js/translated/part.js:1230 templates/js/translated/part.js:2344 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:949 part/templates/part/part_base.html:277 -#: report/models.py:162 templates/js/translated/part.js:1232 -#: templates/js/translated/part.js:2347 +#: part/admin.py:50 part/models.py:953 part/templates/part/part_base.html:277 +#: report/models.py:162 templates/js/translated/part.js:1235 +#: templates/js/translated/part.js:2350 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:319 part/models.py:922 +#: part/admin.py:53 part/admin.py:319 part/models.py:926 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5944,7 +6226,8 @@ msgstr "" msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:304 part/stocktake.py:223 +#: part/admin.py:67 part/admin.py:304 part/serializers.py:837 +#: part/stocktake.py:223 msgid "Category Name" msgstr "" @@ -5956,11 +6239,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:908 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:912 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1036 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1040 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5968,18 +6251,19 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:150 part/templates/part/part_base.html:241 stock/admin.py:235 -#: templates/js/translated/part.js:715 templates/js/translated/part.js:2153 +#: part/admin.py:150 part/serializers.py:854 +#: part/templates/part/part_base.html:241 stock/admin.py:235 +#: templates/js/translated/part.js:714 templates/js/translated/part.js:2156 msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3088 part/models.py:3102 -#: templates/js/translated/part.js:970 +#: part/admin.py:155 part/models.py:3098 part/models.py:3112 +#: templates/js/translated/part.js:973 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3095 part/models.py:3109 -#: templates/js/translated/part.js:980 +#: part/admin.py:158 part/models.py:3105 part/models.py:3119 +#: templates/js/translated/part.js:983 msgid "Maximum Cost" msgstr "" @@ -5996,14 +6280,14 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:396 part/serializers.py:124 -#: part/serializers.py:267 part/serializers.py:386 +#: part/admin.py:325 part/models.py:397 part/serializers.py:130 +#: part/serializers.py:282 part/serializers.py:404 #: 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:2807 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:203 msgid "Parts" msgstr "" @@ -6020,125 +6304,117 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:402 part/models.py:3946 -msgid "Part IPN" -msgstr "" - -#: part/admin.py:415 part/serializers.py:1274 +#: part/admin.py:415 part/serializers.py:1302 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:420 part/serializers.py:1289 +#: part/admin.py:420 part/serializers.py:1317 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "" -#: part/api.py:104 +#: part/api.py:105 msgid "Starred" msgstr "" -#: part/api.py:106 +#: part/api.py:107 msgid "Filter by starred categories" msgstr "" -#: part/api.py:123 stock/api.py:312 +#: part/api.py:124 stock/api.py:312 msgid "Depth" msgstr "" -#: part/api.py:123 +#: part/api.py:124 msgid "Filter by category depth" msgstr "" -#: part/api.py:141 stock/api.py:330 +#: part/api.py:142 stock/api.py:330 msgid "Top Level" msgstr "" -#: part/api.py:143 +#: part/api.py:144 msgid "Filter by top-level categories" msgstr "" -#: part/api.py:156 stock/api.py:345 +#: part/api.py:157 stock/api.py:345 msgid "Cascade" msgstr "" -#: part/api.py:158 +#: part/api.py:159 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:179 templates/js/translated/part.js:308 +#: part/api.py:180 templates/js/translated/part.js:307 msgid "Parent" msgstr "" -#: part/api.py:181 +#: part/api.py:182 msgid "Filter by parent category" msgstr "" -#: part/api.py:214 +#: part/api.py:215 msgid "Exclude Tree" msgstr "" -#: part/api.py:216 +#: part/api.py:217 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:449 +#: part/api.py:442 msgid "Has Results" msgstr "" -#: part/api.py:616 +#: part/api.py:609 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:634 +#: part/api.py:627 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:650 +#: part/api.py:643 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:734 +#: part/api.py:727 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:881 -msgid "Valid" -msgstr "" - -#: part/api.py:882 +#: part/api.py:875 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:888 +#: part/api.py:881 msgid "This option must be selected" msgstr "" -#: part/api.py:1105 +#: part/api.py:1098 msgid "BOM Valid" msgstr "" -#: part/api.py:1508 part/models.py:932 part/models.py:3374 part/models.py:3889 -#: part/serializers.py:401 part/serializers.py:1130 -#: part/templates/part/part_base.html:260 stock/api.py:791 +#: part/api.py:1494 part/models.py:936 part/models.py:3385 part/models.py:3936 +#: part/serializers.py:419 part/serializers.py:1158 +#: part/templates/part/part_base.html:260 stock/api.py:783 #: 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:2380 msgid "Category" msgstr "" -#: part/api.py:1796 +#: part/api.py:1784 msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:104 part/models.py:975 +#: part/bom.py:170 part/models.py:104 part/models.py:979 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:833 +#: part/bom.py:171 part/serializers.py:861 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6147,7 +6423,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:85 part/models.py:3890 part/templates/part/category.html:16 +#: part/models.py:85 part/models.py:3937 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -6162,7 +6438,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:110 stock/models.py:175 templates/js/translated/part.js:2810 +#: part/models.py:110 stock/models.py:175 templates/js/translated/part.js:2813 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 @@ -6194,1002 +6470,1039 @@ msgstr "" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:485 +#: part/models.py:486 +msgid "Cannot delete this part as it is locked" +msgstr "" + +#: part/models.py:489 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:490 +#: part/models.py:494 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:528 +#: part/models.py:532 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:576 part/models.py:583 +#: part/models.py:580 part/models.py:587 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:595 +#: part/models.py:599 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:658 +#: part/models.py:662 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:736 +#: part/models.py:740 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:837 +#: part/models.py:841 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:847 +#: part/models.py:851 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:862 +#: part/models.py:866 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:891 part/models.py:3945 +#: part/models.py:895 part/models.py:3992 msgid "Part name" msgstr "" -#: part/models.py:896 +#: part/models.py:900 msgid "Is Template" msgstr "" -#: part/models.py:897 +#: part/models.py:901 msgid "Is this part a template part?" msgstr "" -#: part/models.py:907 +#: part/models.py:911 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:915 +#: part/models.py:919 msgid "Part description (optional)" msgstr "" -#: part/models.py:923 +#: part/models.py:927 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:933 +#: part/models.py:937 msgid "Part category" msgstr "" -#: part/models.py:941 -msgid "Internal Part Number" -msgstr "" - -#: part/models.py:948 +#: part/models.py:952 msgid "Part revision or version number" msgstr "" -#: part/models.py:973 +#: part/models.py:977 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1019 part/templates/part/part_base.html:376 +#: part/models.py:1023 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:1020 +#: part/models.py:1024 msgid "Default supplier part" msgstr "" -#: part/models.py:1027 +#: part/models.py:1031 msgid "Default Expiry" msgstr "" -#: part/models.py:1028 +#: part/models.py:1032 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1037 +#: part/models.py:1041 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1046 +#: part/models.py:1050 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1053 +#: part/models.py:1057 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1059 +#: part/models.py:1063 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1065 +#: part/models.py:1069 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1071 +#: part/models.py:1075 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1077 +#: part/models.py:1081 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1081 +#: part/models.py:1085 msgid "Is this part active?" msgstr "" -#: part/models.py:1087 +#: part/models.py:1090 templates/js/translated/part.js:818 +#: templates/js/translated/table_filters.js:721 +#, fuzzy +#| msgid "Tracked" +msgid "Locked" +msgstr "Υπό παρακολούθηση" + +#: part/models.py:1091 +#, fuzzy +#| msgid "Build order part cannot be changed" +msgid "Locked parts cannot be edited" +msgstr "Εξάρτημα από εντολή κατασκευής δεν μπορεί να αλλάξει" + +#: part/models.py:1097 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1093 +#: part/models.py:1103 msgid "BOM checksum" msgstr "" -#: part/models.py:1094 +#: part/models.py:1104 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1102 +#: part/models.py:1112 msgid "BOM checked by" msgstr "" -#: part/models.py:1107 +#: part/models.py:1117 msgid "BOM checked date" msgstr "" -#: part/models.py:1123 +#: part/models.py:1133 msgid "Creation User" msgstr "" -#: part/models.py:1133 +#: part/models.py:1143 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1138 part/templates/part/part_base.html:339 +#: part/models.py:1148 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:2474 msgid "Last Stocktake" msgstr "" -#: part/models.py:2011 +#: part/models.py:2021 msgid "Sell multiple" msgstr "" -#: part/models.py:3002 +#: part/models.py:3012 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3018 +#: part/models.py:3028 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3019 +#: part/models.py:3029 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3025 +#: part/models.py:3035 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3026 +#: part/models.py:3036 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3032 +#: part/models.py:3042 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3033 +#: part/models.py:3043 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3039 +#: part/models.py:3049 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3040 +#: part/models.py:3050 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3046 +#: part/models.py:3056 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3047 +#: part/models.py:3057 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3053 +#: part/models.py:3063 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3054 +#: part/models.py:3064 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3060 +#: part/models.py:3070 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3061 +#: part/models.py:3071 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3067 +#: part/models.py:3077 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3068 +#: part/models.py:3078 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3074 +#: part/models.py:3084 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3075 +#: part/models.py:3085 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3081 +#: part/models.py:3091 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3082 +#: part/models.py:3092 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3089 +#: part/models.py:3099 msgid "Override minimum cost" msgstr "" -#: part/models.py:3096 +#: part/models.py:3106 msgid "Override maximum cost" msgstr "" -#: part/models.py:3103 +#: part/models.py:3113 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3110 +#: part/models.py:3120 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3116 +#: part/models.py:3126 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3117 +#: part/models.py:3127 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3123 +#: part/models.py:3133 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3124 +#: part/models.py:3134 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3130 +#: part/models.py:3140 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3131 +#: part/models.py:3141 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3137 +#: part/models.py:3147 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3138 +#: part/models.py:3148 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3157 +#: part/models.py:3167 msgid "Part for stocktake" msgstr "" -#: part/models.py:3162 +#: part/models.py:3172 msgid "Item Count" msgstr "" -#: part/models.py:3163 +#: part/models.py:3173 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3171 +#: part/models.py:3181 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3175 part/models.py:3258 +#: part/models.py:3185 part/models.py:3268 #: part/templates/part/part_scheduling.html:13 #: 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:1086 templates/js/translated/pricing.js:826 +#: templates/js/translated/part.js:1089 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 #: templates/js/translated/purchase_order.js:1731 #: templates/js/translated/stock.js:2821 msgid "Date" msgstr "" -#: part/models.py:3176 +#: part/models.py:3186 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3184 +#: part/models.py:3194 msgid "Additional notes" msgstr "" -#: part/models.py:3194 +#: part/models.py:3204 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3200 +#: part/models.py:3210 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3201 +#: part/models.py:3211 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3207 +#: part/models.py:3217 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3208 +#: part/models.py:3218 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3264 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3274 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3265 +#: part/models.py:3275 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3270 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3280 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3271 +#: part/models.py:3281 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3281 +#: part/models.py:3291 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3423 +#: part/models.py:3301 +msgid "Part Sale Price Break" +msgstr "" + +#: part/models.py:3413 +msgid "Part Test Template" +msgstr "" + +#: part/models.py:3439 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3444 part/models.py:3608 +#: part/models.py:3460 part/models.py:3629 msgid "Choices must be unique" msgstr "" -#: part/models.py:3455 +#: part/models.py:3471 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3466 +#: part/models.py:3482 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3483 templates/js/translated/part.js:2880 +#: part/models.py:3499 templates/js/translated/part.js:2883 msgid "Test Name" msgstr "" -#: part/models.py:3484 +#: part/models.py:3500 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3490 +#: part/models.py:3506 msgid "Test Key" msgstr "" -#: part/models.py:3491 +#: part/models.py:3507 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3498 +#: part/models.py:3514 msgid "Test Description" msgstr "" -#: part/models.py:3499 +#: part/models.py:3515 msgid "Enter description for this test" msgstr "" -#: part/models.py:3503 report/models.py:209 -#: templates/js/translated/part.js:2901 +#: part/models.py:3519 report/models.py:209 +#: templates/js/translated/part.js:2904 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "" -#: part/models.py:3503 +#: part/models.py:3519 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3508 templates/js/translated/part.js:2909 +#: part/models.py:3524 templates/js/translated/part.js:2912 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3509 +#: part/models.py:3525 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3514 templates/js/translated/part.js:2917 +#: part/models.py:3530 templates/js/translated/part.js:2920 msgid "Requires Value" msgstr "" -#: part/models.py:3515 +#: part/models.py:3531 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3520 templates/js/translated/part.js:2924 +#: part/models.py:3536 templates/js/translated/part.js:2927 msgid "Requires Attachment" msgstr "" -#: part/models.py:3522 +#: part/models.py:3538 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3528 part/models.py:3667 templates/js/translated/part.js:1637 +#: part/models.py:3544 part/models.py:3688 templates/js/translated/part.js:1640 msgid "Choices" msgstr "" -#: part/models.py:3529 +#: part/models.py:3545 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3583 +#: part/models.py:3577 +msgid "Part Parameter Template" +msgstr "" + +#: part/models.py:3604 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3588 +#: part/models.py:3609 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3625 +#: part/models.py:3646 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3640 +#: part/models.py:3661 msgid "Parameter Name" msgstr "" -#: part/models.py:3647 +#: part/models.py:3668 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3655 +#: part/models.py:3676 msgid "Parameter description" msgstr "" -#: part/models.py:3661 templates/js/translated/part.js:1628 -#: templates/js/translated/table_filters.js:825 +#: part/models.py:3682 templates/js/translated/part.js:1631 +#: templates/js/translated/table_filters.js:830 msgid "Checkbox" msgstr "" -#: part/models.py:3662 +#: part/models.py:3683 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3668 +#: part/models.py:3689 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3745 +#: part/models.py:3723 +msgid "Part Parameter" +msgstr "" + +#: part/models.py:3749 +msgid "Parameter cannot be modified - part is locked" +msgstr "" + +#: part/models.py:3785 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3788 +#: part/models.py:3828 msgid "Parent Part" msgstr "" -#: part/models.py:3796 part/models.py:3897 part/models.py:3898 +#: part/models.py:3836 part/models.py:3944 part/models.py:3945 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3801 -msgid "Data" +#: part/models.py:3842 +msgid "Parameter Value" msgstr "" -#: part/models.py:3802 -msgid "Parameter Value" +#: part/models.py:3892 +msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:3904 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3951 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3905 +#: part/models.py:3952 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3943 +#: part/models.py:3990 msgid "Part ID or part name" msgstr "" -#: part/models.py:3944 +#: part/models.py:3991 msgid "Unique part ID value" msgstr "" -#: part/models.py:3946 +#: part/models.py:3993 msgid "Part IPN value" msgstr "" -#: part/models.py:3947 +#: part/models.py:3994 msgid "Level" msgstr "" -#: part/models.py:3947 +#: part/models.py:3994 msgid "BOM level" msgstr "" -#: part/models.py:4037 +#: part/models.py:4105 +msgid "BOM item cannot be modified - assembly is locked" +msgstr "" + +#: part/models.py:4112 +msgid "BOM item cannot be modified - variant assembly is locked" +msgstr "" + +#: part/models.py:4122 msgid "Select parent part" msgstr "" -#: part/models.py:4047 +#: part/models.py:4132 msgid "Sub part" msgstr "" -#: part/models.py:4048 +#: part/models.py:4133 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4059 +#: part/models.py:4144 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4065 +#: part/models.py:4150 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4071 +#: part/models.py:4156 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4078 part/templates/part/upload_bom.html:55 +#: part/models.py:4163 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4079 +#: part/models.py:4164 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4086 +#: part/models.py:4171 msgid "BOM item reference" msgstr "" -#: part/models.py:4094 +#: part/models.py:4179 msgid "BOM item notes" msgstr "" -#: part/models.py:4100 +#: part/models.py:4185 msgid "Checksum" msgstr "" -#: part/models.py:4101 +#: part/models.py:4186 msgid "BOM line checksum" msgstr "" -#: part/models.py:4106 templates/js/translated/table_filters.js:174 +#: part/models.py:4191 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4107 +#: part/models.py:4192 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4112 part/templates/part/upload_bom.html:57 +#: part/models.py:4197 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:4113 +#: part/models.py:4198 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4118 part/templates/part/upload_bom.html:56 +#: part/models.py:4203 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4119 +#: part/models.py:4204 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4204 stock/models.py:663 +#: part/models.py:4289 stock/models.py:663 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4214 part/models.py:4216 +#: part/models.py:4299 part/models.py:4301 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4354 +#: part/models.py:4439 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4375 +#: part/models.py:4460 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4388 +#: part/models.py:4473 msgid "Parent BOM item" msgstr "" -#: part/models.py:4396 +#: part/models.py:4481 msgid "Substitute part" msgstr "" -#: part/models.py:4412 +#: part/models.py:4497 msgid "Part 1" msgstr "" -#: part/models.py:4420 +#: part/models.py:4505 msgid "Part 2" msgstr "" -#: part/models.py:4421 +#: part/models.py:4506 msgid "Select Related Part" msgstr "" -#: part/models.py:4440 +#: part/models.py:4525 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4445 +#: part/models.py:4530 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:118 +#: part/serializers.py:124 msgid "Parent Category" msgstr "" -#: part/serializers.py:119 templates/js/translated/part.js:309 +#: part/serializers.py:125 templates/js/translated/part.js:308 msgid "Parent part category" msgstr "" -#: part/serializers.py:126 part/serializers.py:148 +#: part/serializers.py:132 part/serializers.py:154 #: part/templates/part/category.html:122 part/templates/part/category.html:207 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" -#: part/serializers.py:180 +#: part/serializers.py:189 msgid "Results" msgstr "" -#: part/serializers.py:181 +#: part/serializers.py:190 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:205 part/serializers.py:223 stock/serializers.py:562 +#: part/serializers.py:217 part/serializers.py:235 stock/serializers.py:608 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:268 +#: part/serializers.py:283 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:392 +#: part/serializers.py:410 msgid "No parts selected" msgstr "" -#: part/serializers.py:402 +#: part/serializers.py:420 msgid "Select category" msgstr "" -#: part/serializers.py:437 +#: part/serializers.py:455 msgid "Original Part" msgstr "" -#: part/serializers.py:438 +#: part/serializers.py:456 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:461 msgid "Copy Image" msgstr "" -#: part/serializers.py:444 +#: part/serializers.py:462 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:450 part/templates/part/detail.html:277 +#: part/serializers.py:468 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:451 +#: part/serializers.py:469 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:457 +#: part/serializers.py:475 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:458 +#: part/serializers.py:476 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:464 +#: part/serializers.py:482 msgid "Copy Notes" msgstr "" -#: part/serializers.py:465 +#: part/serializers.py:483 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:483 +#: part/serializers.py:501 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:485 +#: part/serializers.py:503 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:492 +#: part/serializers.py:510 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:493 +#: part/serializers.py:511 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:510 +#: part/serializers.py:528 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:526 +#: part/serializers.py:544 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:536 +#: part/serializers.py:554 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:543 +#: part/serializers.py:561 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:552 +#: part/serializers.py:570 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:563 +#: part/serializers.py:581 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:570 +#: part/serializers.py:588 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:834 -msgid "External Stock" -msgstr "" - -#: part/serializers.py:836 +#: part/serializers.py:864 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:839 +#: part/serializers.py:867 msgid "Variant Stock" msgstr "" -#: part/serializers.py:869 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:472 +#: part/serializers.py:897 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:870 +#: part/serializers.py:898 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:876 templates/js/translated/part.js:102 +#: part/serializers.py:904 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:877 +#: part/serializers.py:905 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:883 +#: part/serializers.py:911 msgid "Supplier Information" msgstr "" -#: part/serializers.py:884 +#: part/serializers.py:912 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:892 +#: part/serializers.py:920 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:893 +#: part/serializers.py:921 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:898 +#: part/serializers.py:926 msgid "Existing Image" msgstr "" -#: part/serializers.py:899 +#: part/serializers.py:927 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:916 +#: part/serializers.py:944 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1122 +#: part/serializers.py:1150 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1132 +#: part/serializers.py:1160 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1142 +#: part/serializers.py:1170 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1148 +#: part/serializers.py:1176 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1149 +#: part/serializers.py:1177 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1154 +#: part/serializers.py:1182 msgid "Generate Report" msgstr "" -#: part/serializers.py:1155 +#: part/serializers.py:1183 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1160 +#: part/serializers.py:1188 msgid "Update Parts" msgstr "" -#: part/serializers.py:1161 +#: part/serializers.py:1189 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1169 +#: part/serializers.py:1197 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1275 +#: part/serializers.py:1303 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1282 +#: part/serializers.py:1310 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1290 +#: part/serializers.py:1318 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1297 +#: part/serializers.py:1325 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1326 +#: part/serializers.py:1354 msgid "Update" msgstr "" -#: part/serializers.py:1327 +#: part/serializers.py:1355 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1350 +#: part/serializers.py:1378 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1357 +#: part/serializers.py:1385 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1360 +#: part/serializers.py:1388 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1727 +#: part/serializers.py:1759 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1735 +#: part/serializers.py:1767 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1736 +#: part/serializers.py:1768 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1741 +#: part/serializers.py:1773 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1742 +#: part/serializers.py:1774 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1747 +#: part/serializers.py:1779 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1748 +#: part/serializers.py:1780 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1753 +#: part/serializers.py:1785 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1754 +#: part/serializers.py:1786 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1788 +#: part/serializers.py:1823 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1789 +#: part/serializers.py:1824 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1819 +#: part/serializers.py:1856 msgid "No part column specified" msgstr "" -#: part/serializers.py:1863 +#: part/serializers.py:1900 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1866 +#: part/serializers.py:1903 msgid "No matching part found" msgstr "" -#: part/serializers.py:1869 +#: part/serializers.py:1906 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1878 +#: part/serializers.py:1915 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1886 +#: part/serializers.py:1923 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1907 +#: part/serializers.py:1946 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:225 templates/js/translated/part.js:1067 -#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 +#: part/stocktake.py:225 templates/js/translated/part.js:1070 +#: templates/js/translated/part.js:1825 templates/js/translated/part.js:1881 #: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "" @@ -7507,7 +7820,7 @@ msgstr "" #: part/templates/part/part_base.html:52 #: stock/templates/stock/item_base.html:62 -#: stock/templates/stock/location.html:74 templates/js/translated/label.js:143 +#: stock/templates/stock/location.html:74 templates/js/translated/label.js:136 msgid "Print Label" msgstr "" @@ -7529,7 +7842,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:2296 msgid "Part actions" msgstr "" @@ -7569,6 +7882,10 @@ msgstr "" msgid "Part can be sold to customers" msgstr "" +#: part/templates/part/part_base.html:145 +msgid "Part is not active" +msgstr "" + #: part/templates/part/part_base.html:153 msgid "Part is virtual (not a physical part)" msgstr "" @@ -7597,7 +7914,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:322 templates/js/translated/bom.js:1071 -#: templates/js/translated/part.js:1265 templates/js/translated/part.js:2444 +#: templates/js/translated/part.js:1268 templates/js/translated/part.js:2447 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" @@ -7690,8 +8007,8 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/part.js:1243 templates/js/translated/part.js:2146 -#: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 +#: templates/js/translated/part.js:1246 templates/js/translated/part.js:2149 +#: templates/js/translated/part.js:2395 templates/js/translated/stock.js:1059 #: templates/js/translated/stock.js:2070 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -7811,8 +8128,8 @@ msgstr "" #: part/templates/part/stock_count.html:7 #: templates/js/translated/model_renderers.js:227 -#: templates/js/translated/part.js:705 templates/js/translated/part.js:2141 -#: templates/js/translated/part.js:2143 +#: templates/js/translated/part.js:704 templates/js/translated/part.js:2144 +#: templates/js/translated/part.js:2146 msgid "No Stock" msgstr "" @@ -7956,7 +8273,7 @@ msgstr "" msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2589 +#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2590 #: templates/js/translated/sales_order.js:1953 msgid "Insufficient stock available" msgstr "" @@ -8051,7 +8368,7 @@ msgstr "" msgid "Quantity to allocate" msgstr "" -#: plugin/base/label/label.py:39 templates/js/translated/label.js:155 +#: plugin/base/label/label.py:39 templates/js/translated/label.js:148 msgid "Label printing failed" msgstr "" @@ -8748,7 +9065,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report.html:25 #: report/templates/report/inventree_test_report.html:88 stock/models.py:825 -#: stock/serializers.py:149 stock/templates/stock/item_base.html:311 +#: stock/serializers.py:151 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:230 @@ -8778,7 +9095,7 @@ msgstr "" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2447 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2457 msgid "Result" msgstr "" @@ -8799,7 +9116,7 @@ msgid "No result" msgstr "" #: report/templates/report/inventree_test_report.html:153 -#: stock/templates/stock/stock_sidebar.html:16 +#: stock/serializers.py:591 stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" @@ -8829,10 +9146,6 @@ msgstr "" msgid "Location ID" msgstr "" -#: stock/admin.py:53 stock/admin.py:175 -msgid "Location Name" -msgstr "" - #: stock/admin.py:63 stock/templates/stock/location.html:131 #: stock/templates/stock/location.html:137 msgid "Location Path" @@ -8909,7 +9222,7 @@ msgstr "" msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:369 stock/serializers.py:1085 +#: stock/api.py:369 stock/serializers.py:1148 msgid "Parent Location" msgstr "" @@ -8917,44 +9230,45 @@ msgstr "" msgid "Filter by parent location" msgstr "" -#: stock/api.py:625 templates/js/translated/table_filters.js:427 +#: stock/api.py:617 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:813 +#: stock/api.py:805 msgid "Part Tree" msgstr "" -#: stock/api.py:843 +#: stock/api.py:835 msgid "Expiry date before" msgstr "" -#: stock/api.py:847 +#: stock/api.py:839 msgid "Expiry date after" msgstr "" -#: stock/api.py:850 stock/templates/stock/item_base.html:439 +#: stock/api.py:842 stock/serializers.py:596 +#: stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "" -#: stock/api.py:937 +#: stock/api.py:929 msgid "Quantity is required" msgstr "" -#: stock/api.py:943 +#: stock/api.py:935 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:974 +#: stock/api.py:966 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:984 +#: stock/api.py:976 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1015 +#: stock/api.py:1007 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -9021,7 +9335,7 @@ msgstr "" msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:669 stock/serializers.py:446 +#: stock/models.py:669 stock/serializers.py:477 msgid "Stock item cannot be created for virtual parts" msgstr "" @@ -9066,7 +9380,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:799 stock/serializers.py:1476 +#: stock/models.py:799 stock/serializers.py:1542 msgid "Packaging this stock item is stored in" msgstr "" @@ -9078,7 +9392,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:843 stock/serializers.py:1459 +#: stock/models.py:843 stock/serializers.py:1525 msgid "Batch code for this stock item" msgstr "" @@ -9155,7 +9469,7 @@ msgstr "" msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1520 stock/serializers.py:660 +#: stock/models.py:1520 stock/serializers.py:718 msgid "Serial numbers already exist" msgstr "" @@ -9187,7 +9501,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1658 stock/serializers.py:1365 +#: stock/models.py:1658 stock/serializers.py:1431 msgid "Duplicate stock items" msgstr "" @@ -9207,288 +9521,336 @@ msgstr "" msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2345 +#: stock/models.py:2317 +#, fuzzy +#| msgid "Stock Item" +msgid "Stock Item Tracking" +msgstr "Στοιχείο Αποθέματος" + +#: stock/models.py:2350 msgid "Entry notes" msgstr "" -#: stock/models.py:2413 +#: stock/models.py:2390 +#, fuzzy +#| msgid "Stock item created" +msgid "Stock Item Test Result" +msgstr "Το αντικείμενο αποθεμάτων δημιουργήθηκε" + +#: stock/models.py:2423 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2418 +#: stock/models.py:2428 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2423 +#: stock/models.py:2433 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2447 +#: stock/models.py:2457 msgid "Test result" msgstr "" -#: stock/models.py:2454 +#: stock/models.py:2464 msgid "Test output value" msgstr "" -#: stock/models.py:2462 +#: stock/models.py:2472 msgid "Test result attachment" msgstr "" -#: stock/models.py:2466 +#: stock/models.py:2476 msgid "Test notes" msgstr "" -#: stock/models.py:2474 templates/js/translated/stock.js:1548 +#: stock/models.py:2484 templates/js/translated/stock.js:1548 msgid "Test station" msgstr "" -#: stock/models.py:2475 +#: stock/models.py:2485 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2481 +#: stock/models.py:2491 msgid "Started" msgstr "" -#: stock/models.py:2482 +#: stock/models.py:2492 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2488 +#: stock/models.py:2498 msgid "Finished" msgstr "" -#: stock/models.py:2489 +#: stock/models.py:2499 msgid "The timestamp of the test finish" msgstr "" -#: stock/serializers.py:74 +#: stock/serializers.py:76 msgid "Generated batch code" msgstr "" -#: stock/serializers.py:83 +#: stock/serializers.py:85 msgid "Select build order" msgstr "" -#: stock/serializers.py:92 +#: stock/serializers.py:94 msgid "Select stock item to generate batch code for" msgstr "" -#: stock/serializers.py:101 +#: stock/serializers.py:103 msgid "Select location to generate batch code for" msgstr "" -#: stock/serializers.py:110 +#: stock/serializers.py:112 msgid "Select part to generate batch code for" msgstr "" -#: stock/serializers.py:119 +#: stock/serializers.py:121 msgid "Select purchase order" msgstr "" -#: stock/serializers.py:126 +#: stock/serializers.py:128 msgid "Enter quantity for batch code" msgstr "" -#: stock/serializers.py:149 +#: stock/serializers.py:151 msgid "Generated serial number" msgstr "" -#: stock/serializers.py:158 +#: stock/serializers.py:160 msgid "Select part to generate serial number for" msgstr "" -#: stock/serializers.py:166 +#: stock/serializers.py:168 msgid "Quantity of serial numbers to generate" msgstr "" -#: stock/serializers.py:228 +#: stock/serializers.py:233 msgid "Test template for this result" msgstr "" -#: stock/serializers.py:247 +#: stock/serializers.py:252 msgid "Template ID or test name must be provided" msgstr "" -#: stock/serializers.py:279 +#: stock/serializers.py:284 msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:315 +#: stock/serializers.py:320 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:438 +#: stock/serializers.py:449 stock/templates/stock/item_base.html:193 +msgid "Parent Item" +msgstr "" + +#: stock/serializers.py:450 +#, fuzzy +#| msgid "Source stock item" +msgid "Parent stock item" +msgstr "Στοιχείο πηγαίου αποθέματος" + +#: stock/serializers.py:469 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:558 +#: stock/serializers.py:585 templates/js/translated/build.js:991 +#: templates/js/translated/build.js:2344 +msgid "Allocated Quantity" +msgstr "" + +#: stock/serializers.py:588 stock/templates/stock/item_base.html:437 +#: templates/js/translated/table_filters.js:435 users/models.py:174 +msgid "Expired" +msgstr "" + +#: stock/serializers.py:594 stock/templates/stock/stock_sidebar.html:20 +msgid "Child Items" +msgstr "" + +#: stock/serializers.py:598 +msgid "Tracking Items" +msgstr "" + +#: stock/serializers.py:604 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:595 +#: stock/serializers.py:623 +msgid "Minimum Pricing" +msgstr "" + +#: stock/serializers.py:629 +msgid "Maximum Pricing" +msgstr "" + +#: stock/serializers.py:653 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:608 +#: stock/serializers.py:666 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:615 +#: stock/serializers.py:673 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:626 stock/serializers.py:1322 stock/serializers.py:1578 +#: stock/serializers.py:684 stock/serializers.py:1388 stock/serializers.py:1644 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:633 +#: stock/serializers.py:691 msgid "Optional note field" msgstr "" -#: stock/serializers.py:643 +#: stock/serializers.py:701 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:698 +#: stock/serializers.py:756 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:705 +#: stock/serializers.py:763 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:706 +#: stock/serializers.py:764 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:711 stock/serializers.py:791 stock/serializers.py:887 -#: stock/serializers.py:937 +#: stock/serializers.py:769 stock/serializers.py:849 stock/serializers.py:945 +#: stock/serializers.py:995 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:719 +#: stock/serializers.py:777 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:727 +#: stock/serializers.py:785 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:738 +#: stock/serializers.py:796 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:751 +#: stock/serializers.py:809 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:786 +#: stock/serializers.py:844 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:821 +#: stock/serializers.py:879 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:834 +#: stock/serializers.py:892 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:851 +#: stock/serializers.py:909 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:882 +#: stock/serializers.py:940 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:919 +#: stock/serializers.py:977 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:925 +#: stock/serializers.py:983 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1021 stock/serializers.py:1093 +#: stock/serializers.py:1079 stock/serializers.py:1156 #: stock/templates/stock/location.html:165 #: stock/templates/stock/location.html:222 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1086 templates/js/translated/stock.js:152 +#: stock/serializers.py:1149 templates/js/translated/stock.js:152 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1194 +#: stock/serializers.py:1260 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1198 +#: stock/serializers.py:1264 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1202 +#: stock/serializers.py:1268 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1226 +#: stock/serializers.py:1292 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1232 +#: stock/serializers.py:1298 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1240 +#: stock/serializers.py:1306 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1250 stock/serializers.py:1504 +#: stock/serializers.py:1316 stock/serializers.py:1570 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1329 +#: stock/serializers.py:1395 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1334 +#: stock/serializers.py:1400 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1335 +#: stock/serializers.py:1401 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1340 +#: stock/serializers.py:1406 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1341 +#: stock/serializers.py:1407 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1351 +#: stock/serializers.py:1417 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1418 +#: stock/serializers.py:1484 msgid "No Change" msgstr "" -#: stock/serializers.py:1447 +#: stock/serializers.py:1513 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1466 +#: stock/serializers.py:1532 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1494 +#: stock/serializers.py:1560 msgid "Stock transaction notes" msgstr "" @@ -9757,10 +10119,6 @@ msgstr "" msgid "Build" msgstr "Κατασκευή" -#: stock/templates/stock/item_base.html:193 -msgid "Parent Item" -msgstr "" - #: stock/templates/stock/item_base.html:211 msgid "No manufacturer set" msgstr "" @@ -9836,11 +10194,6 @@ msgstr "" msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:437 -#: templates/js/translated/table_filters.js:435 users/models.py:174 -msgid "Expired" -msgstr "" - #: stock/templates/stock/item_base.html:439 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" @@ -9988,10 +10341,6 @@ msgstr "" msgid "Allocations" msgstr "" -#: stock/templates/stock/stock_sidebar.html:20 -msgid "Child Items" -msgstr "" - #: templates/403.html:6 templates/403.html:12 templates/403_csrf.html:7 msgid "Permission Denied" msgstr "" @@ -10466,8 +10815,8 @@ 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:393 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:245 users/models.py:402 +#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 +#: templates/js/translated/stock.js:245 users/models.py:406 msgid "Delete" msgstr "" @@ -10507,12 +10856,12 @@ msgid "No category parameter templates found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:308 -#: templates/js/translated/part.js:1646 +#: templates/js/translated/part.js:1649 msgid "Edit Template" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:309 -#: templates/js/translated/part.js:1647 +#: templates/js/translated/part.js:1650 msgid "Delete Template" msgstr "" @@ -11145,7 +11494,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2556 +#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2557 msgid "Required Quantity" msgstr "" @@ -11159,7 +11508,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3219 +#: templates/js/translated/part.js:3222 msgid "Minimum Quantity" msgstr "" @@ -11514,7 +11863,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2500 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2501 msgid "Variant stock allowed" msgstr "" @@ -11534,30 +11883,30 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2621 +#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2622 msgid "External stock" msgstr "" -#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2595 +#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2596 #: templates/js/translated/sales_order.js:1946 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2599 +#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2600 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2601 -#: templates/js/translated/part.js:1257 +#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2602 +#: templates/js/translated/part.js:1260 #: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2603 +#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2604 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2586 +#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2587 msgid "Consumable item" msgstr "" @@ -11589,7 +11938,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2485 +#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2486 msgid "Required Part" msgstr "" @@ -11758,10 +12107,6 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:991 templates/js/translated/build.js:2344 -msgid "Allocated Quantity" -msgstr "" - #: templates/js/translated/build.js:1005 msgid "Location not specified" msgstr "" @@ -11873,9 +12218,9 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2117 templates/js/translated/build.js:2479 +#: templates/js/translated/build.js:2117 templates/js/translated/build.js:2480 #: templates/js/translated/forms.js:2163 templates/js/translated/forms.js:2179 -#: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 +#: templates/js/translated/part.js:2319 templates/js/translated/part.js:2745 #: templates/js/translated/stock.js:1983 templates/js/translated/stock.js:2710 msgid "Select" msgstr "" @@ -11906,59 +12251,59 @@ msgstr "" msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2455 +#: templates/js/translated/build.js:2456 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2456 +#: templates/js/translated/build.js:2457 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2474 +#: templates/js/translated/build.js:2475 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2504 templates/js/translated/part.js:791 -#: templates/js/translated/part.js:1203 +#: templates/js/translated/build.js:2505 templates/js/translated/part.js:790 +#: templates/js/translated/part.js:1206 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2539 +#: templates/js/translated/build.js:2540 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2591 +#: templates/js/translated/build.js:2592 #: templates/js/translated/sales_order.js:1951 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2646 +#: templates/js/translated/build.js:2647 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2653 +#: templates/js/translated/build.js:2654 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2654 +#: templates/js/translated/build.js:2655 msgid "Allocate tracked items against individual build outputs" msgstr "" -#: templates/js/translated/build.js:2662 +#: templates/js/translated/build.js:2663 #: templates/js/translated/sales_order.js:2052 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2667 templates/js/translated/stock.js:1868 +#: templates/js/translated/build.js:2668 templates/js/translated/stock.js:1868 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2671 +#: templates/js/translated/build.js:2672 #: templates/js/translated/sales_order.js:2046 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2675 +#: templates/js/translated/build.js:2676 msgid "Remove stock allocation" msgstr "" @@ -12105,7 +12450,7 @@ msgid "Delete Parameters" msgstr "" #: templates/js/translated/company.js:1191 -#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2245 +#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2248 msgid "Order parts" msgstr "" @@ -12122,34 +12467,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:1279 -#: templates/js/translated/company.js:1567 templates/js/translated/part.js:799 -#: templates/js/translated/part.js:1211 +#: templates/js/translated/company.js:1567 templates/js/translated/part.js:798 +#: templates/js/translated/part.js:1214 msgid "Template part" msgstr "" #: templates/js/translated/company.js:1283 -#: templates/js/translated/company.js:1571 templates/js/translated/part.js:803 -#: templates/js/translated/part.js:1215 +#: templates/js/translated/company.js:1571 templates/js/translated/part.js:802 +#: templates/js/translated/part.js:1218 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1465 +#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1468 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1528 +#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1531 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1529 +#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1532 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1434 +#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1437 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1550 +#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1553 msgid "Delete Parameter" msgstr "" @@ -12323,15 +12668,15 @@ msgstr "" msgid "No parts required for builds" msgstr "" -#: templates/js/translated/label.js:55 templates/js/translated/report.js:38 +#: templates/js/translated/label.js:48 templates/js/translated/report.js:38 msgid "Select Items" msgstr "" -#: templates/js/translated/label.js:56 templates/js/translated/report.js:39 +#: templates/js/translated/label.js:49 templates/js/translated/report.js:39 msgid "No items selected for printing" msgstr "" -#: templates/js/translated/label.js:150 +#: templates/js/translated/label.js:143 msgid "Labels sent to printer" msgstr "" @@ -12400,7 +12745,7 @@ msgstr "" #: templates/js/translated/news.js:38 #: templates/js/translated/notification.js:46 -#: templates/js/translated/part.js:1605 +#: templates/js/translated/part.js:1608 msgid "ID" msgstr "" @@ -12481,343 +12826,343 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:333 templates/js/translated/stock.js:175 +#: templates/js/translated/part.js:332 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:353 +#: templates/js/translated/part.js:352 msgid "Create Part Category" msgstr "" -#: templates/js/translated/part.js:356 +#: templates/js/translated/part.js:355 msgid "Create new category after this one" msgstr "" -#: templates/js/translated/part.js:357 +#: templates/js/translated/part.js:356 msgid "Part category created" msgstr "" -#: templates/js/translated/part.js:371 +#: templates/js/translated/part.js:370 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:384 +#: templates/js/translated/part.js:383 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:389 +#: templates/js/translated/part.js:388 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:398 +#: templates/js/translated/part.js:397 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:402 +#: templates/js/translated/part.js:401 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:407 +#: templates/js/translated/part.js:406 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:431 +#: templates/js/translated/part.js:430 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:433 +#: templates/js/translated/part.js:432 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:434 +#: templates/js/translated/part.js:433 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:462 +#: templates/js/translated/part.js:461 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:464 +#: templates/js/translated/part.js:463 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:475 +#: templates/js/translated/part.js:474 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:532 +#: templates/js/translated/part.js:531 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:533 +#: templates/js/translated/part.js:532 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:547 +#: templates/js/translated/part.js:546 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:549 +#: templates/js/translated/part.js:548 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:550 +#: templates/js/translated/part.js:549 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:551 +#: templates/js/translated/part.js:550 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:558 +#: templates/js/translated/part.js:557 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:594 +#: templates/js/translated/part.js:593 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:596 +#: templates/js/translated/part.js:595 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:601 +#: templates/js/translated/part.js:600 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:603 +#: templates/js/translated/part.js:602 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:620 +#: templates/js/translated/part.js:619 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:630 +#: templates/js/translated/part.js:629 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:633 +#: templates/js/translated/part.js:632 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:658 +#: templates/js/translated/part.js:657 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:686 -#: templates/js/translated/table_filters.js:747 +#: templates/js/translated/part.js:685 +#: templates/js/translated/table_filters.js:752 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:689 +#: templates/js/translated/part.js:688 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:749 +#: templates/js/translated/part.js:748 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:772 +#: templates/js/translated/part.js:771 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:795 templates/js/translated/part.js:1207 +#: templates/js/translated/part.js:794 templates/js/translated/part.js:1210 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:807 +#: templates/js/translated/part.js:806 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:811 +#: templates/js/translated/part.js:810 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:890 +#: templates/js/translated/part.js:893 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:890 +#: templates/js/translated/part.js:893 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:898 +#: templates/js/translated/part.js:901 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:902 +#: templates/js/translated/part.js:905 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:1051 +#: templates/js/translated/part.js:1054 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1109 templates/js/translated/part.js:1145 +#: templates/js/translated/part.js:1112 templates/js/translated/part.js:1148 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1113 templates/js/translated/part.js:1155 +#: templates/js/translated/part.js:1116 templates/js/translated/part.js:1158 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1282 +#: templates/js/translated/part.js:1285 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1600 +#: templates/js/translated/part.js:1603 msgid "No part parameter templates found" msgstr "" -#: templates/js/translated/part.js:1663 +#: templates/js/translated/part.js:1666 msgid "Edit Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1675 +#: templates/js/translated/part.js:1678 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/js/translated/part.js:1683 +#: templates/js/translated/part.js:1686 msgid "Delete Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1717 +#: templates/js/translated/part.js:1720 #: templates/js/translated/purchase_order.js:1654 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/part.js:1861 +#: templates/js/translated/part.js:1864 #: 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:1907 +#: templates/js/translated/part.js:1910 #: templates/js/translated/purchase_order.js:2220 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1970 +#: templates/js/translated/part.js:1973 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1992 +#: templates/js/translated/part.js:1995 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2080 templates/js/translated/part.js:2506 +#: templates/js/translated/part.js:2083 templates/js/translated/part.js:2509 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:2201 +#: templates/js/translated/part.js:2204 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2206 +#: templates/js/translated/part.js:2209 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2236 +#: templates/js/translated/part.js:2239 msgid "Set category" msgstr "" -#: templates/js/translated/part.js:2287 +#: templates/js/translated/part.js:2290 msgid "part" msgstr "" -#: templates/js/translated/part.js:2288 +#: templates/js/translated/part.js:2291 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2384 +#: templates/js/translated/part.js:2387 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 +#: templates/js/translated/part.js:2534 templates/js/translated/part.js:2664 #: templates/js/translated/stock.js:2669 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2547 +#: templates/js/translated/part.js:2550 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2645 +#: templates/js/translated/part.js:2648 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2689 +#: templates/js/translated/part.js:2684 templates/js/translated/stock.js:2689 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2761 +#: templates/js/translated/part.js:2764 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2777 +#: templates/js/translated/part.js:2780 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2865 +#: templates/js/translated/part.js:2868 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2887 templates/js/translated/search.js:342 +#: templates/js/translated/part.js:2890 templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/part.js:2937 templates/js/translated/stock.js:1456 +#: templates/js/translated/part.js:2940 templates/js/translated/stock.js:1456 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2938 templates/js/translated/stock.js:1457 +#: templates/js/translated/part.js:2941 templates/js/translated/stock.js:1457 #: templates/js/translated/stock.js:1731 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2942 +#: templates/js/translated/part.js:2945 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2958 +#: templates/js/translated/part.js:2961 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2972 +#: templates/js/translated/part.js:2975 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3051 templates/js/translated/part.js:3052 +#: templates/js/translated/part.js:3054 templates/js/translated/part.js:3055 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3054 +#: templates/js/translated/part.js:3057 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3060 +#: templates/js/translated/part.js:3063 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3110 +#: templates/js/translated/part.js:3113 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3116 +#: templates/js/translated/part.js:3119 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3212 +#: templates/js/translated/part.js:3215 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3228 +#: templates/js/translated/part.js:3231 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3273 +#: templates/js/translated/part.js:3276 msgid "Minimum Stock Level" msgstr "" @@ -13593,7 +13938,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1042 users/models.py:392 +#: templates/js/translated/stock.js:1042 users/models.py:396 msgid "Add" msgstr "" @@ -13947,7 +14292,7 @@ msgid "Include subcategories" msgstr "" #: templates/js/translated/table_filters.js:287 -#: templates/js/translated/table_filters.js:759 +#: templates/js/translated/table_filters.js:764 msgid "Subscribed" msgstr "" @@ -14102,40 +14447,44 @@ msgstr "" msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:725 +#: templates/js/translated/table_filters.js:722 +msgid "Show locked parts" +msgstr "" + +#: templates/js/translated/table_filters.js:730 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:733 -#: templates/js/translated/table_filters.js:833 +#: templates/js/translated/table_filters.js:738 +#: templates/js/translated/table_filters.js:838 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:734 +#: templates/js/translated/table_filters.js:739 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:738 +#: templates/js/translated/table_filters.js:743 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:739 +#: templates/js/translated/table_filters.js:744 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:743 +#: templates/js/translated/table_filters.js:748 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:751 +#: templates/js/translated/table_filters.js:756 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:763 +#: templates/js/translated/table_filters.js:768 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:829 +#: templates/js/translated/table_filters.js:834 msgid "Has Choices" msgstr "" @@ -14207,10 +14556,6 @@ msgstr "" msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:558 -msgid "Columns" -msgstr "" - #: templates/js/translated/tables.js:561 msgid "All" msgstr "" @@ -14484,35 +14829,34 @@ msgstr "" msgid "Revoked" msgstr "" -#: users/models.py:375 +#: users/models.py:379 msgid "Permission set" msgstr "" -#: users/models.py:384 +#: users/models.py:388 msgid "Group" msgstr "" -#: users/models.py:388 +#: users/models.py:392 msgid "View" msgstr "" -#: users/models.py:388 +#: users/models.py:392 msgid "Permission to view items" msgstr "" -#: users/models.py:392 +#: users/models.py:396 msgid "Permission to add items" msgstr "" -#: users/models.py:396 +#: users/models.py:400 msgid "Change" msgstr "" -#: users/models.py:398 +#: users/models.py:402 msgid "Permissions to edit items" msgstr "" -#: users/models.py:404 +#: users/models.py:408 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 75fcf0b5761a..1c2cf37e88aa 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-07-05 06:40+0000\n" +"POT-Creation-Date: 2024-07-08 14:46+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -22,7 +22,7 @@ msgstr "" msgid "API endpoint not found" msgstr "" -#: InvenTree/api.py:520 +#: InvenTree/api.py:505 msgid "User does not have permission to view this model" msgstr "" @@ -57,21 +57,21 @@ msgstr "" msgid "Enter date" msgstr "" -#: InvenTree/fields.py:205 InvenTree/models.py:918 build/serializers.py:452 -#: build/serializers.py:530 build/templates/build/sidebar.html:21 -#: company/models.py:817 company/templates/company/sidebar.html:37 +#: InvenTree/fields.py:205 InvenTree/models.py:921 build/serializers.py:456 +#: build/serializers.py:534 build/templates/build/sidebar.html:21 +#: company/models.py:824 company/templates/company/sidebar.html:37 #: order/models.py:1296 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:3183 part/templates/part/part_sidebar.html:63 +#: part/models.py:3193 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:230 stock/models.py:2344 stock/models.py:2466 -#: stock/serializers.py:632 stock/serializers.py:790 stock/serializers.py:886 -#: stock/serializers.py:936 stock/serializers.py:1239 stock/serializers.py:1328 -#: stock/serializers.py:1493 stock/templates/stock/stock_sidebar.html:25 +#: stock/admin.py:230 stock/models.py:2349 stock/models.py:2476 +#: stock/serializers.py:690 stock/serializers.py:848 stock/serializers.py:944 +#: stock/serializers.py:994 stock/serializers.py:1305 stock/serializers.py:1394 +#: stock/serializers.py:1559 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:1081 +#: templates/js/translated/part.js:1084 #: templates/js/translated/purchase_order.js:2200 #: templates/js/translated/return_order.js:775 #: templates/js/translated/sales_order.js:1103 @@ -372,41 +372,41 @@ msgstr "" msgid "JSON metadata field, for use by external plugins" msgstr "" -#: InvenTree/models.py:408 +#: InvenTree/models.py:411 msgid "Improperly formatted pattern" msgstr "" -#: InvenTree/models.py:415 +#: InvenTree/models.py:418 msgid "Unknown format key specified" msgstr "" -#: InvenTree/models.py:421 +#: InvenTree/models.py:424 msgid "Missing required format key" msgstr "" -#: InvenTree/models.py:432 +#: InvenTree/models.py:435 msgid "Reference field cannot be empty" msgstr "" -#: InvenTree/models.py:440 +#: InvenTree/models.py:443 msgid "Reference must match required pattern" msgstr "" -#: InvenTree/models.py:471 +#: InvenTree/models.py:474 msgid "Reference number is too large" msgstr "" -#: InvenTree/models.py:719 +#: InvenTree/models.py:722 msgid "Duplicate names cannot exist under the same parent" msgstr "" -#: InvenTree/models.py:736 +#: InvenTree/models.py:739 msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:766 common/models.py:2678 common/models.py:3103 -#: common/serializers.py:408 company/models.py:580 machine/models.py:24 -#: part/models.py:891 part/models.py:3639 plugin/models.py:51 +#: InvenTree/models.py:769 common/models.py:2659 common/models.py:3089 +#: common/serializers.py:412 company/models.py:587 machine/models.py:24 +#: part/models.py:895 part/models.py:3660 plugin/models.py:51 #: report/models.py:150 stock/models.py:74 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -418,20 +418,20 @@ msgstr "" #: templates/js/translated/company.js:724 #: templates/js/translated/company.js:913 #: templates/js/translated/company.js:1165 -#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1187 -#: templates/js/translated/part.js:1475 templates/js/translated/part.js:1611 -#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2716 +#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1190 +#: templates/js/translated/part.js:1478 templates/js/translated/part.js:1614 +#: templates/js/translated/part.js:2752 templates/js/translated/stock.js:2716 msgid "Name" msgstr "" -#: InvenTree/models.py:772 build/models.py:235 -#: build/templates/build/detail.html:24 common/models.py:138 -#: company/models.py:509 company/models.py:808 +#: InvenTree/models.py:775 build/models.py:242 +#: build/templates/build/detail.html:24 common/models.py:143 +#: company/models.py:515 company/models.py:815 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 -#: order/models.py:1329 part/admin.py:305 part/admin.py:408 part/models.py:914 -#: part/models.py:3654 part/templates/part/category.html:82 +#: order/models.py:1329 part/admin.py:305 part/admin.py:408 part/models.py:918 +#: part/models.py:3675 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:156 #: report/models.py:510 report/models.py:536 @@ -445,10 +445,10 @@ msgstr "" #: templates/js/translated/build.js:2139 templates/js/translated/company.js:519 #: templates/js/translated/company.js:1330 #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 -#: templates/js/translated/order.js:298 templates/js/translated/part.js:1239 -#: templates/js/translated/part.js:1484 templates/js/translated/part.js:1622 -#: templates/js/translated/part.js:1959 templates/js/translated/part.js:2355 -#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2897 +#: templates/js/translated/order.js:298 templates/js/translated/part.js:1242 +#: templates/js/translated/part.js:1487 templates/js/translated/part.js:1625 +#: templates/js/translated/part.js:1962 templates/js/translated/part.js:2358 +#: templates/js/translated/part.js:2788 templates/js/translated/part.js:2900 #: templates/js/translated/plugin.js:80 #: templates/js/translated/purchase_order.js:1706 #: templates/js/translated/purchase_order.js:1849 @@ -461,53 +461,53 @@ msgstr "" msgid "Description" msgstr "" -#: InvenTree/models.py:773 stock/models.py:81 +#: InvenTree/models.py:776 stock/models.py:81 msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:788 templates/js/translated/part.js:2794 +#: InvenTree/models.py:791 templates/js/translated/part.js:2797 #: templates/js/translated/stock.js:2757 msgid "Path" msgstr "" -#: InvenTree/models.py:918 +#: InvenTree/models.py:921 msgid "Markdown notes (optional)" msgstr "" -#: InvenTree/models.py:947 +#: InvenTree/models.py:950 msgid "Barcode Data" msgstr "" -#: InvenTree/models.py:948 +#: InvenTree/models.py:951 msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:954 +#: InvenTree/models.py:957 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:955 +#: InvenTree/models.py:958 msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:1008 +#: InvenTree/models.py:1011 msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:1051 +#: InvenTree/models.py:1054 msgid "Server Error" msgstr "" -#: InvenTree/models.py:1052 +#: InvenTree/models.py:1055 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:63 part/models.py:4192 +#: InvenTree/serializers.py:63 part/models.py:4277 msgid "Must be a valid number" msgstr "" #: InvenTree/serializers.py:100 company/models.py:186 -#: company/templates/company/company_base.html:112 part/models.py:3001 +#: company/templates/company/company_base.html:112 part/models.py:3011 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -557,16 +557,16 @@ msgstr "" msgid "Is this user a superuser" msgstr "" -#: InvenTree/serializers.py:445 common/models.py:2683 company/models.py:163 -#: company/models.py:782 machine/models.py:39 part/admin.py:88 -#: part/models.py:1081 plugin/models.py:66 +#: InvenTree/serializers.py:445 common/models.py:2664 company/models.py:163 +#: company/models.py:789 machine/models.py:39 part/admin.py:88 +#: part/models.py:1085 plugin/models.py:66 #: 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 #: templates/js/translated/table_filters.js:520 #: templates/js/translated/table_filters.js:716 -#: templates/js/translated/table_filters.js:796 users/models.py:182 +#: templates/js/translated/table_filters.js:801 users/models.py:182 msgid "Active" msgstr "" @@ -598,7 +598,7 @@ msgstr "" msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:581 +#: InvenTree/serializers.py:581 importer/models.py:60 msgid "Data File" msgstr "" @@ -652,7 +652,7 @@ msgstr "" msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/status.py:66 part/serializers.py:1174 +#: InvenTree/status.py:66 part/serializers.py:1202 msgid "Background worker check failed" msgstr "" @@ -712,47 +712,48 @@ msgstr "" msgid "About InvenTree" msgstr "" -#: build/api.py:255 +#: build/api.py:248 msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:299 part/models.py:4070 templates/js/translated/bom.js:997 -#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 +#: build/api.py:292 build/serializers.py:1190 part/models.py:4155 +#: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 +#: templates/js/translated/build.js:2521 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:300 part/models.py:4064 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 +#: build/api.py:293 build/serializers.py:1191 part/models.py:4149 +#: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 +#: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2530 #: templates/js/translated/table_filters.js:186 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:587 msgid "Optional" msgstr "" -#: build/api.py:301 templates/js/translated/table_filters.js:408 +#: build/api.py:294 templates/js/translated/table_filters.js:408 #: templates/js/translated/table_filters.js:579 msgid "Tracked" msgstr "" -#: build/api.py:303 part/admin.py:144 templates/js/translated/build.js:1744 -#: templates/js/translated/build.js:2629 +#: build/api.py:296 part/admin.py:144 templates/js/translated/build.js:1744 +#: templates/js/translated/build.js:2630 #: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:571 msgid "Allocated" msgstr "" -#: build/api.py:311 company/models.py:872 company/serializers.py:359 +#: build/api.py:304 company/models.py:879 company/serializers.py:386 #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2561 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2562 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:234 -#: templates/js/translated/part.js:693 templates/js/translated/part.js:695 -#: templates/js/translated/part.js:700 +#: 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 #: templates/js/translated/table_filters.js:575 msgid "Available" @@ -761,7 +762,7 @@ msgstr "" #: build/models.py:85 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 -#: stock/serializers.py:82 templates/email/build_order_completed.html:16 +#: stock/serializers.py:84 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:2892 msgid "Build Order" @@ -782,35 +783,39 @@ msgstr "" msgid "Assembly BOM has not been validated" msgstr "" -#: build/models.py:134 part/templates/part/part_base.html:145 -msgid "Part is not active" +#: build/models.py:134 +msgid "Build order cannot be created for an inactive part" +msgstr "" + +#: build/models.py:141 +msgid "Build order cannot be created for an unlocked part" msgstr "" -#: build/models.py:148 +#: build/models.py:155 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:159 order/models.py:240 +#: build/models.py:166 order/models.py:240 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:165 +#: build/models.py:172 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:226 +#: build/models.py:233 msgid "Build Order Reference" msgstr "" -#: build/models.py:227 order/models.py:463 order/models.py:926 -#: order/models.py:1289 order/models.py:2020 part/admin.py:411 -#: part/models.py:4085 part/templates/part/upload_bom.html:54 +#: build/models.py:234 build/serializers.py:1189 order/models.py:463 +#: order/models.py:926 order/models.py:1289 order/models.py:2046 +#: part/admin.py:411 part/models.py:4170 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: 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/build.js:2513 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2065 #: templates/js/translated/return_order.js:728 @@ -818,27 +823,28 @@ msgstr "" msgid "Reference" msgstr "" -#: build/models.py:238 +#: build/models.py:245 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:246 build/templates/build/build_base.html:183 +#: build/models.py:253 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/models.py:247 +#: build/models.py:254 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:252 build/templates/build/build_base.html:97 -#: build/templates/build/detail.html:29 company/models.py:1026 order/api.py:805 -#: order/models.py:1414 order/models.py:1559 order/models.py:1560 -#: part/api.py:1494 part/api.py:1788 part/models.py:395 part/models.py:3012 -#: part/models.py:3156 part/models.py:3303 part/models.py:3324 -#: part/models.py:3346 part/models.py:3477 part/models.py:3787 -#: part/models.py:3943 part/models.py:4036 part/models.py:4395 -#: part/serializers.py:1120 part/serializers.py:1726 +#: build/models.py:259 build/serializers.py:1184 +#: build/templates/build/build_base.html:97 +#: build/templates/build/detail.html:29 company/models.py:1034 order/api.py:759 +#: order/models.py:1419 order/models.py:1574 order/models.py:1575 +#: part/api.py:1480 part/api.py:1776 part/models.py:396 part/models.py:3022 +#: part/models.py:3166 part/models.py:3314 part/models.py:3335 +#: part/models.py:3357 part/models.py:3493 part/models.py:3827 +#: part/models.py:3990 part/models.py:4121 part/models.py:4480 +#: part/serializers.py:1148 part/serializers.py:1758 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -849,8 +855,8 @@ msgstr "" #: 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:109 stock/serializers.py:157 stock/serializers.py:423 -#: stock/serializers.py:820 templates/InvenTree/search.html:82 +#: stock/serializers.py:111 stock/serializers.py:159 stock/serializers.py:443 +#: stock/serializers.py:878 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 @@ -863,8 +869,8 @@ msgstr "" #: templates/js/translated/company.js:1116 #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 -#: templates/js/translated/part.js:1944 templates/js/translated/part.js:2016 -#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:1947 templates/js/translated/part.js:2019 +#: templates/js/translated/part.js:2327 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:1848 @@ -882,107 +888,107 @@ msgstr "" msgid "Part" msgstr "" -#: build/models.py:260 +#: build/models.py:267 msgid "Select part to build" msgstr "" -#: build/models.py:265 +#: build/models.py:272 msgid "Sales Order Reference" msgstr "" -#: build/models.py:269 +#: build/models.py:276 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:274 build/serializers.py:999 +#: build/models.py:281 build/serializers.py:1003 #: templates/js/translated/build.js:1731 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "" -#: build/models.py:278 +#: build/models.py:285 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:283 +#: build/models.py:290 msgid "Destination Location" msgstr "" -#: build/models.py:287 +#: build/models.py:294 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:291 +#: build/models.py:298 msgid "Build Quantity" msgstr "" -#: build/models.py:294 +#: build/models.py:301 msgid "Number of stock items to build" msgstr "" -#: build/models.py:298 +#: build/models.py:305 msgid "Completed items" msgstr "" -#: build/models.py:300 +#: build/models.py:307 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:304 +#: build/models.py:311 msgid "Build Status" msgstr "" -#: build/models.py:308 +#: build/models.py:315 msgid "Build status code" msgstr "" -#: build/models.py:317 build/serializers.py:286 order/serializers.py:580 -#: stock/models.py:839 stock/serializers.py:74 stock/serializers.py:1458 +#: build/models.py:324 build/serializers.py:290 order/serializers.py:629 +#: stock/models.py:839 stock/serializers.py:76 stock/serializers.py:1524 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "" -#: build/models.py:321 build/serializers.py:287 +#: build/models.py:328 build/serializers.py:291 msgid "Batch code for this build output" msgstr "" -#: build/models.py:324 order/models.py:316 order/serializers.py:119 -#: part/models.py:1115 part/templates/part/part_base.html:310 +#: build/models.py:331 order/models.py:316 order/serializers.py:127 +#: part/models.py:1125 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:328 +#: build/models.py:335 msgid "Target completion date" msgstr "" -#: build/models.py:329 +#: build/models.py:336 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:332 order/models.py:521 order/models.py:2065 +#: build/models.py:339 order/models.py:521 order/models.py:2091 #: templates/js/translated/build.js:2247 msgid "Completion Date" msgstr "" -#: build/models.py:338 +#: build/models.py:345 msgid "completed by" msgstr "" -#: build/models.py:346 templates/js/translated/build.js:2207 +#: build/models.py:353 templates/js/translated/build.js:2207 msgid "Issued by" msgstr "" -#: build/models.py:347 +#: build/models.py:354 msgid "User who issued this build order" msgstr "" -#: build/models.py:355 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 common/models.py:147 +#: build/models.py:362 build/templates/build/build_base.html:204 +#: build/templates/build/detail.html:122 common/models.py:152 #: order/models.py:334 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:232 part/models.py:1132 +#: order/templates/order/sales_order_base.html:232 part/models.py:1142 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 @@ -993,11 +999,11 @@ msgstr "" msgid "Responsible" msgstr "" -#: build/models.py:356 +#: build/models.py:363 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:361 build/templates/build/detail.html:108 +#: build/models.py:368 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 @@ -1009,21 +1015,22 @@ msgstr "" msgid "External Link" msgstr "" -#: build/models.py:362 common/models.py:3244 part/models.py:956 +#: build/models.py:369 common/models.py:3230 part/models.py:960 #: stock/models.py:835 msgid "Link to external URL" msgstr "" -#: build/models.py:366 +#: build/models.py:373 msgid "Build Priority" msgstr "" -#: build/models.py:369 +#: build/models.py:376 msgid "Priority of this build order" msgstr "" -#: build/models.py:376 common/models.py:131 order/admin.py:18 -#: order/models.py:298 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:383 common/models.py:122 common/models.py:136 +#: order/admin.py:18 order/models.py:298 order/serializers.py:108 +#: templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 #: templates/js/translated/purchase_order.js:1710 #: templates/js/translated/return_order.js:317 @@ -1033,65 +1040,66 @@ msgstr "" msgid "Project Code" msgstr "" -#: build/models.py:377 +#: build/models.py:384 msgid "Project code for this build order" msgstr "" -#: build/models.py:610 build/models.py:675 +#: build/models.py:617 build/models.py:682 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:632 +#: build/models.py:639 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:638 +#: build/models.py:645 msgid "A build order has been completed" msgstr "" -#: build/models.py:864 build/models.py:949 +#: build/models.py:871 build/models.py:956 msgid "No build output specified" msgstr "" -#: build/models.py:867 +#: build/models.py:874 msgid "Build output is already completed" msgstr "" -#: build/models.py:870 +#: build/models.py:877 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:953 build/serializers.py:219 build/serializers.py:268 -#: build/serializers.py:866 order/models.py:559 order/serializers.py:432 -#: order/serializers.py:575 part/serializers.py:1484 part/serializers.py:1884 -#: stock/models.py:678 stock/models.py:1496 stock/serializers.py:603 +#: build/models.py:960 build/serializers.py:223 build/serializers.py:272 +#: build/serializers.py:870 order/models.py:559 order/serializers.py:461 +#: order/serializers.py:624 part/serializers.py:1515 part/serializers.py:1921 +#: stock/models.py:678 stock/models.py:1496 stock/serializers.py:661 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:958 build/serializers.py:224 +#: build/models.py:965 build/serializers.py:228 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1018 build/serializers.py:547 +#: build/models.py:1025 build/serializers.py:551 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1359 +#: build/models.py:1366 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1384 +#: build/models.py:1391 msgid "Build object" msgstr "" -#: build/models.py:1398 build/models.py:1654 build/serializers.py:206 -#: build/serializers.py:253 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2563 -#: order/models.py:1272 order/models.py:1931 order/serializers.py:1327 +#: build/models.py:1405 build/models.py:1661 build/serializers.py:210 +#: build/serializers.py:257 build/serializers.py:1194 +#: build/templates/build/build_base.html:102 +#: build/templates/build/detail.html:34 common/models.py:2544 +#: order/models.py:1272 order/models.py:1957 order/serializers.py:1383 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:410 -#: part/forms.py:48 part/models.py:3170 part/models.py:4058 +#: part/forms.py:48 part/models.py:3180 part/models.py:4143 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1101,7 +1109,7 @@ msgstr "" #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:169 stock/admin.py:159 -#: stock/serializers.py:125 stock/serializers.py:165 stock/serializers.py:594 +#: stock/serializers.py:127 stock/serializers.py:167 stock/serializers.py:652 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 @@ -1112,8 +1120,8 @@ msgstr "" #: templates/js/translated/build.js:1746 templates/js/translated/build.js:2357 #: templates/js/translated/company.js:1818 #: templates/js/translated/model_renderers.js:236 -#: templates/js/translated/order.js:304 templates/js/translated/part.js:962 -#: templates/js/translated/part.js:1812 templates/js/translated/part.js:3342 +#: templates/js/translated/order.js:304 templates/js/translated/part.js:965 +#: templates/js/translated/part.js:1815 templates/js/translated/part.js:3345 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 @@ -1133,38 +1141,38 @@ msgstr "" msgid "Quantity" msgstr "" -#: build/models.py:1399 +#: build/models.py:1406 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1479 +#: build/models.py:1486 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1488 +#: build/models.py:1495 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1498 order/models.py:1882 +#: build/models.py:1505 order/models.py:1908 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1504 order/models.py:1885 +#: build/models.py:1511 order/models.py:1911 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1510 +#: build/models.py:1517 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1569 +#: build/models.py:1576 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1641 build/serializers.py:846 order/serializers.py:1171 -#: order/serializers.py:1192 stock/models.py:359 stock/serializers.py:91 -#: stock/serializers.py:697 stock/serializers.py:1177 stock/serializers.py:1289 +#: build/models.py:1648 build/serializers.py:850 order/serializers.py:1227 +#: order/serializers.py:1248 stock/models.py:359 stock/serializers.py:93 +#: stock/serializers.py:755 stock/serializers.py:1243 stock/serializers.py:1355 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 @@ -1180,70 +1188,76 @@ msgstr "" msgid "Stock Item" msgstr "" -#: build/models.py:1642 +#: build/models.py:1649 msgid "Source stock item" msgstr "" -#: build/models.py:1655 +#: build/models.py:1662 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1663 +#: build/models.py:1670 msgid "Install into" msgstr "" -#: build/models.py:1664 +#: build/models.py:1671 msgid "Destination stock item" msgstr "" -#: build/serializers.py:156 build/serializers.py:875 +#: build/serializers.py:89 build/serializers.py:1185 part/admin.py:41 +#: part/admin.py:405 part/models.py:3992 part/stocktake.py:220 +#: stock/admin.py:156 +msgid "Part Name" +msgstr "" + +#: build/serializers.py:160 build/serializers.py:879 #: templates/js/translated/build.js:1322 msgid "Build Output" msgstr "" -#: build/serializers.py:168 +#: build/serializers.py:172 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:172 +#: build/serializers.py:176 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:176 +#: build/serializers.py:180 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:187 +#: build/serializers.py:191 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:207 build/serializers.py:254 +#: build/serializers.py:211 build/serializers.py:258 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:275 +#: build/serializers.py:279 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:278 +#: build/serializers.py:282 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:293 order/serializers.py:588 order/serializers.py:1331 -#: stock/serializers.py:614 templates/js/translated/purchase_order.js:1153 +#: build/serializers.py:297 order/serializers.py:637 order/serializers.py:1387 +#: stock/serializers.py:672 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:294 +#: build/serializers.py:298 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:299 build/serializers.py:440 build/serializers.py:512 -#: order/serializers.py:564 order/serializers.py:672 order/serializers.py:1656 -#: part/serializers.py:1140 stock/serializers.py:100 stock/serializers.py:625 -#: stock/serializers.py:785 stock/serializers.py:881 stock/serializers.py:1321 -#: stock/serializers.py:1577 stock/templates/stock/item_base.html:394 +#: build/serializers.py:303 build/serializers.py:444 build/serializers.py:516 +#: order/serializers.py:613 order/serializers.py:721 order/serializers.py:1714 +#: part/serializers.py:1168 stock/serializers.py:102 stock/serializers.py:683 +#: stock/serializers.py:843 stock/serializers.py:939 stock/serializers.py:1387 +#: stock/serializers.py:1643 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 @@ -1259,54 +1273,54 @@ msgstr "" msgid "Location" msgstr "" -#: build/serializers.py:300 +#: build/serializers.py:304 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:314 +#: build/serializers.py:318 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:315 +#: build/serializers.py:319 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:330 +#: build/serializers.py:334 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:355 stock/api.py:1041 +#: build/serializers.py:359 stock/api.py:1033 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:402 build/serializers.py:464 build/serializers.py:553 +#: build/serializers.py:406 build/serializers.py:468 build/serializers.py:557 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:441 +#: build/serializers.py:445 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:447 +#: build/serializers.py:451 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:448 +#: build/serializers.py:452 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:453 +#: build/serializers.py:457 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:513 +#: build/serializers.py:517 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:519 build/templates/build/build_base.html:151 +#: build/serializers.py:523 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:950 -#: order/models.py:2044 order/serializers.py:596 stock/admin.py:164 -#: stock/serializers.py:932 stock/serializers.py:1465 +#: order/models.py:2070 order/serializers.py:645 stock/admin.py:164 +#: stock/serializers.py:990 stock/serializers.py:1531 #: 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 @@ -1318,193 +1332,241 @@ msgstr "" msgid "Status" msgstr "" -#: build/serializers.py:525 +#: build/serializers.py:529 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:526 +#: build/serializers.py:530 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:611 +#: build/serializers.py:615 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:612 +#: build/serializers.py:616 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:618 +#: build/serializers.py:622 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:619 +#: build/serializers.py:623 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:646 +#: build/serializers.py:650 msgid "Not permitted" msgstr "" -#: build/serializers.py:647 +#: build/serializers.py:651 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:648 +#: build/serializers.py:652 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:678 +#: build/serializers.py:682 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:680 +#: build/serializers.py:684 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:690 +#: build/serializers.py:694 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:695 +#: build/serializers.py:699 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:696 +#: build/serializers.py:700 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:706 templates/js/translated/build.js:315 +#: build/serializers.py:710 templates/js/translated/build.js:315 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:711 order/serializers.py:300 order/serializers.py:1234 +#: build/serializers.py:715 order/serializers.py:319 order/serializers.py:1290 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:712 +#: build/serializers.py:716 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:722 templates/js/translated/build.js:319 +#: build/serializers.py:726 templates/js/translated/build.js:319 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:731 templates/js/translated/build.js:303 +#: build/serializers.py:735 templates/js/translated/build.js:303 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:769 +#: build/serializers.py:773 msgid "Build Line" msgstr "" -#: build/serializers.py:779 +#: build/serializers.py:783 msgid "Build output" msgstr "" -#: build/serializers.py:787 +#: build/serializers.py:791 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:823 +#: build/serializers.py:827 msgid "Build Line Item" msgstr "" -#: build/serializers.py:837 +#: build/serializers.py:841 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:852 stock/serializers.py:1190 +#: build/serializers.py:856 stock/serializers.py:1256 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:900 order/serializers.py:1225 +#: build/serializers.py:904 order/serializers.py:1281 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:906 +#: build/serializers.py:910 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:913 +#: build/serializers.py:917 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:937 order/serializers.py:1477 +#: build/serializers.py:941 order/serializers.py:1533 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:1000 +#: build/serializers.py:1004 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:1008 +#: build/serializers.py:1012 msgid "Exclude Location" msgstr "" -#: build/serializers.py:1009 +#: build/serializers.py:1013 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:1014 +#: build/serializers.py:1018 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:1015 +#: build/serializers.py:1019 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:1020 +#: build/serializers.py:1024 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:1021 +#: build/serializers.py:1025 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:1026 +#: build/serializers.py:1030 msgid "Optional Items" msgstr "" -#: build/serializers.py:1027 +#: build/serializers.py:1031 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1049 +#: build/serializers.py:1053 msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1139 part/models.py:3953 part/models.py:4387 -#: stock/api.py:804 +#: build/serializers.py:1095 +msgid "Supplier Part Number" +msgstr "" + +#: build/serializers.py:1096 company/models.py:500 +msgid "Manufacturer Part Number" +msgstr "" + +#: build/serializers.py:1097 stock/admin.py:53 stock/admin.py:175 +#: stock/serializers.py:454 +msgid "Location Name" +msgstr "" + +#: build/serializers.py:1098 +msgid "Build Reference" +msgstr "" + +#: build/serializers.py:1099 +msgid "BOM Reference" +msgstr "" + +#: build/serializers.py:1186 part/admin.py:402 part/models.py:3993 +msgid "Part IPN" +msgstr "" + +#: build/serializers.py:1192 common/models.py:1488 part/admin.py:113 +#: part/models.py:1068 templates/js/translated/table_filters.js:147 +#: templates/js/translated/table_filters.js:223 +#: templates/js/translated/table_filters.js:776 +msgid "Trackable" +msgstr "" + +#: build/serializers.py:1196 part/models.py:4000 part/models.py:4472 +#: stock/api.py:796 msgid "BOM Item" msgstr "" -#: build/serializers.py:1148 templates/js/translated/index.js:130 +#: build/serializers.py:1205 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1153 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:828 part/serializers.py:1502 +#: build/serializers.py:1210 part/admin.py:132 part/bom.py:173 +#: part/serializers.py:856 part/serializers.py:1533 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2613 templates/js/translated/part.js:710 -#: templates/js/translated/part.js:2149 +#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709 +#: templates/js/translated/part.js:2152 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "" -#: build/serializers.py:1158 part/serializers.py:1504 -#: templates/js/translated/build.js:2617 +#: build/serializers.py:1215 part/serializers.py:1535 +#: templates/js/translated/build.js:2618 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1163 part/bom.py:172 part/serializers.py:1527 +#: build/serializers.py:1220 part/bom.py:172 part/serializers.py:1558 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" msgstr "" +#: build/serializers.py:1224 +msgid "Available Substitute Stock" +msgstr "" + +#: build/serializers.py:1225 +msgid "Available Variant Stock" +msgstr "" + +#: build/serializers.py:1226 +msgid "Total Available Stock" +msgstr "" + +#: build/serializers.py:1227 part/serializers.py:862 +msgid "External Stock" +msgstr "" + #: build/status_codes.py:11 generic/states/tests.py:17 order/status_codes.py:12 #: order/status_codes.py:37 order/status_codes.py:64 order/status_codes.py:82 #: templates/js/translated/table_filters.js:598 @@ -1520,7 +1582,8 @@ msgstr "" msgid "Cancelled" msgstr "" -#: build/status_codes.py:14 generic/states/tests.py:19 order/status_codes.py:14 +#: build/status_codes.py:14 generic/states/tests.py:19 importer/models.py:468 +#: importer/status_codes.py:19 order/status_codes.py:14 #: order/status_codes.py:44 order/status_codes.py:69 #: order/templates/order/order_base.html:158 #: order/templates/order/sales_order_base.html:165 report/models.py:444 @@ -1653,11 +1716,12 @@ msgstr "" #: build/templates/build/build_base.html:160 #: build/templates/build/detail.html:138 order/models.py:309 -#: order/models.py:1307 order/templates/order/order_base.html:186 +#: order/models.py:1307 order/serializers.py:174 +#: order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: 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:1831 +#: templates/js/translated/build.js:2239 templates/js/translated/part.js:1834 #: templates/js/translated/purchase_order.js:1739 #: templates/js/translated/purchase_order.js:2147 #: templates/js/translated/return_order.js:346 @@ -1690,8 +1754,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1463 order/models.py:845 -#: order/models.py:1551 order/models.py:1665 order/models.py:1819 +#: build/templates/build/detail.html:101 order/api.py:1384 order/models.py:845 +#: order/models.py:1566 order/models.py:1681 order/models.py:1840 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 @@ -1741,7 +1805,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1443 +#: build/templates/build/detail.html:49 order/models.py:1448 #: templates/js/translated/purchase_order.js:2189 msgid "Destination" msgstr "" @@ -1893,31 +1957,31 @@ msgstr "" msgid "Incomplete Outputs" msgstr "" -#: common/api.py:689 +#: common/api.py:690 msgid "Is Link" msgstr "" -#: common/api.py:697 +#: common/api.py:698 msgid "Is File" msgstr "" -#: common/api.py:739 +#: common/api.py:740 msgid "User does not have permission to delete this attachment" msgstr "" -#: common/currency.py:130 +#: common/currency.py:132 msgid "Invalid currency code" msgstr "" -#: common/currency.py:132 +#: common/currency.py:134 msgid "Duplicate currency code" msgstr "" -#: common/currency.py:137 +#: common/currency.py:139 msgid "No valid currency codes provided" msgstr "" -#: common/currency.py:154 +#: common/currency.py:156 msgid "No plugin" msgstr "" @@ -1971,1635 +2035,1604 @@ msgstr "" msgid "Site URL is locked by configuration" msgstr "" -#: common/models.py:132 +#: common/models.py:137 msgid "Unique project code" msgstr "" -#: common/models.py:139 +#: common/models.py:144 msgid "Project description" msgstr "" -#: common/models.py:148 +#: common/models.py:153 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:765 +#: common/models.py:770 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:769 +#: common/models.py:774 msgid "Settings value" msgstr "" -#: common/models.py:821 +#: common/models.py:826 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:837 +#: common/models.py:842 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:845 +#: common/models.py:850 msgid "Value must be an integer value" msgstr "" -#: common/models.py:882 +#: common/models.py:887 msgid "Key string must be unique" msgstr "" -#: common/models.py:1114 +#: common/models.py:1119 msgid "No group" msgstr "" -#: common/models.py:1213 +#: common/models.py:1218 msgid "Restart required" msgstr "" -#: common/models.py:1215 +#: common/models.py:1220 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:1222 +#: common/models.py:1227 msgid "Pending migrations" msgstr "" -#: common/models.py:1223 +#: common/models.py:1228 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1228 +#: common/models.py:1233 msgid "Server Instance Name" msgstr "" -#: common/models.py:1230 +#: common/models.py:1235 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1234 +#: common/models.py:1239 msgid "Use instance name" msgstr "" -#: common/models.py:1235 +#: common/models.py:1240 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1240 +#: common/models.py:1245 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1241 +#: common/models.py:1246 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1246 company/models.py:111 company/models.py:112 +#: common/models.py:1251 company/models.py:111 company/models.py:112 msgid "Company name" msgstr "" -#: common/models.py:1247 +#: common/models.py:1252 msgid "Internal company name" msgstr "" -#: common/models.py:1251 +#: common/models.py:1256 msgid "Base URL" msgstr "" -#: common/models.py:1252 +#: common/models.py:1257 msgid "Base URL for server instance" msgstr "" -#: common/models.py:1258 +#: common/models.py:1263 msgid "Default Currency" msgstr "" -#: common/models.py:1259 +#: common/models.py:1264 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1265 +#: common/models.py:1270 msgid "Supported Currencies" msgstr "" -#: common/models.py:1266 +#: common/models.py:1271 msgid "List of supported currency codes" msgstr "" -#: common/models.py:1272 +#: common/models.py:1277 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1274 +#: common/models.py:1279 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1277 common/models.py:1333 common/models.py:1346 -#: common/models.py:1354 common/models.py:1363 common/models.py:1372 -#: common/models.py:1596 common/models.py:1618 common/models.py:1733 -#: common/models.py:2100 +#: common/models.py:1282 common/models.py:1338 common/models.py:1351 +#: common/models.py:1359 common/models.py:1368 common/models.py:1377 +#: common/models.py:1601 common/models.py:1623 common/models.py:1738 +#: common/models.py:2111 msgid "days" msgstr "" -#: common/models.py:1281 +#: common/models.py:1286 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1282 +#: common/models.py:1287 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1287 +#: common/models.py:1292 msgid "Download from URL" msgstr "" -#: common/models.py:1289 +#: common/models.py:1294 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:1295 +#: common/models.py:1300 msgid "Download Size Limit" msgstr "" -#: common/models.py:1296 +#: common/models.py:1301 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1302 +#: common/models.py:1307 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1304 +#: common/models.py:1309 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/models.py:1309 +#: common/models.py:1314 msgid "Strict URL Validation" msgstr "" -#: common/models.py:1310 +#: common/models.py:1315 msgid "Require schema specification when validating URLs" msgstr "" -#: common/models.py:1315 +#: common/models.py:1320 msgid "Require confirm" msgstr "" -#: common/models.py:1316 +#: common/models.py:1321 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:1321 +#: common/models.py:1326 msgid "Tree Depth" msgstr "" -#: common/models.py:1323 +#: common/models.py:1328 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1329 +#: common/models.py:1334 msgid "Update Check Interval" msgstr "" -#: common/models.py:1330 +#: common/models.py:1335 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:1336 +#: common/models.py:1341 msgid "Automatic Backup" msgstr "" -#: common/models.py:1337 +#: common/models.py:1342 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:1342 +#: common/models.py:1347 msgid "Auto Backup Interval" msgstr "" -#: common/models.py:1343 +#: common/models.py:1348 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1349 +#: common/models.py:1354 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1351 +#: common/models.py:1356 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1358 +#: common/models.py:1363 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1360 +#: common/models.py:1365 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1367 +#: common/models.py:1372 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1369 +#: common/models.py:1374 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1376 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1381 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "" -#: common/models.py:1377 +#: common/models.py:1382 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1382 +#: common/models.py:1387 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1383 +#: common/models.py:1388 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1389 +#: common/models.py:1394 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1390 +#: common/models.py:1395 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1395 +#: common/models.py:1400 msgid "Barcode Show Data" msgstr "" -#: common/models.py:1396 +#: common/models.py:1401 msgid "Display barcode data in browser as text" msgstr "" -#: common/models.py:1401 +#: common/models.py:1406 msgid "Part Revisions" msgstr "" -#: common/models.py:1402 +#: common/models.py:1407 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1407 +#: common/models.py:1412 msgid "Allow Deletion from Assembly" msgstr "" -#: common/models.py:1408 +#: common/models.py:1413 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/models.py:1413 +#: common/models.py:1418 msgid "IPN Regex" msgstr "" -#: common/models.py:1414 +#: common/models.py:1419 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1417 +#: common/models.py:1422 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1418 +#: common/models.py:1423 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1423 +#: common/models.py:1428 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1424 +#: common/models.py:1429 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1429 +#: common/models.py:1434 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1430 +#: common/models.py:1435 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1435 +#: common/models.py:1440 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1436 +#: common/models.py:1441 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1441 +#: common/models.py:1446 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1442 +#: common/models.py:1447 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1447 +#: common/models.py:1452 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1448 +#: common/models.py:1453 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1453 part/admin.py:108 part/models.py:3795 +#: common/models.py:1458 part/admin.py:108 part/models.py:3835 #: report/models.py:294 report/models.py:361 report/serializers.py:90 -#: report/serializers.py:131 stock/serializers.py:227 +#: report/serializers.py:131 stock/serializers.py:232 #: templates/js/translated/table_filters.js:139 -#: templates/js/translated/table_filters.js:767 +#: templates/js/translated/table_filters.js:772 msgid "Template" msgstr "" -#: common/models.py:1454 +#: common/models.py:1459 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1459 part/admin.py:91 part/admin.py:425 part/models.py:1052 +#: common/models.py:1464 part/admin.py:91 part/admin.py:425 part/models.py:1056 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 -#: templates/js/translated/table_filters.js:721 +#: templates/js/translated/table_filters.js:726 msgid "Assembly" msgstr "" -#: common/models.py:1460 +#: common/models.py:1465 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1465 part/admin.py:95 part/models.py:1058 -#: templates/js/translated/table_filters.js:729 +#: common/models.py:1470 part/admin.py:95 part/models.py:1062 +#: templates/js/translated/table_filters.js:734 msgid "Component" msgstr "" -#: common/models.py:1466 +#: common/models.py:1471 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1471 part/admin.py:100 part/models.py:1070 +#: common/models.py:1476 part/admin.py:100 part/models.py:1074 msgid "Purchaseable" msgstr "" -#: common/models.py:1472 +#: common/models.py:1477 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1477 part/admin.py:104 part/models.py:1076 -#: templates/js/translated/table_filters.js:755 +#: common/models.py:1482 part/admin.py:104 part/models.py:1080 +#: templates/js/translated/table_filters.js:760 msgid "Salable" msgstr "" -#: common/models.py:1478 +#: common/models.py:1483 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1483 part/admin.py:113 part/models.py:1064 -#: 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:1484 +#: common/models.py:1489 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1489 part/admin.py:117 part/models.py:1086 +#: common/models.py:1494 part/admin.py:117 part/models.py:1096 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 -#: templates/js/translated/table_filters.js:775 +#: templates/js/translated/table_filters.js:780 msgid "Virtual" msgstr "" -#: common/models.py:1490 +#: common/models.py:1495 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1495 +#: common/models.py:1500 msgid "Show Import in Views" msgstr "" -#: common/models.py:1496 +#: common/models.py:1501 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1501 +#: common/models.py:1506 msgid "Show related parts" msgstr "" -#: common/models.py:1502 +#: common/models.py:1507 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1507 +#: common/models.py:1512 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1508 +#: common/models.py:1513 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1513 templates/js/translated/part.js:107 +#: common/models.py:1518 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1515 +#: common/models.py:1520 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1521 +#: common/models.py:1526 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1522 +#: common/models.py:1527 msgid "Format to display the part name" msgstr "" -#: common/models.py:1528 +#: common/models.py:1533 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1529 +#: common/models.py:1534 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1533 +#: common/models.py:1538 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1535 +#: common/models.py:1540 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1541 +#: common/models.py:1546 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1543 +#: common/models.py:1548 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1554 +#: common/models.py:1559 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1556 +#: common/models.py:1561 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1567 +#: common/models.py:1572 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1569 +#: common/models.py:1574 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1575 +#: common/models.py:1580 msgid "Purchase History Override" msgstr "" -#: common/models.py:1577 +#: common/models.py:1582 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1583 +#: common/models.py:1588 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1585 +#: common/models.py:1590 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1591 +#: common/models.py:1596 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1593 +#: common/models.py:1598 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1600 +#: common/models.py:1605 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1601 +#: common/models.py:1606 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1606 +#: common/models.py:1611 msgid "Active Variants Only" msgstr "" -#: common/models.py:1608 +#: common/models.py:1613 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1614 +#: common/models.py:1619 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1616 +#: common/models.py:1621 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1623 +#: common/models.py:1628 msgid "Internal Prices" msgstr "" -#: common/models.py:1624 +#: common/models.py:1629 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1629 +#: common/models.py:1634 msgid "Internal Price Override" msgstr "" -#: common/models.py:1631 +#: common/models.py:1636 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1637 +#: common/models.py:1642 msgid "Enable label printing" msgstr "" -#: common/models.py:1638 +#: common/models.py:1643 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1643 +#: common/models.py:1648 msgid "Label Image DPI" msgstr "" -#: common/models.py:1645 +#: common/models.py:1650 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1651 +#: common/models.py:1656 msgid "Enable Reports" msgstr "" -#: common/models.py:1652 +#: common/models.py:1657 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1657 templates/stats.html:25 +#: common/models.py:1662 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1658 +#: common/models.py:1663 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1663 +#: common/models.py:1668 msgid "Log Report Errors" msgstr "" -#: common/models.py:1664 +#: common/models.py:1669 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1669 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1674 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:302 msgid "Page Size" msgstr "" -#: common/models.py:1670 +#: common/models.py:1675 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1675 +#: common/models.py:1680 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1676 +#: common/models.py:1681 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1681 +#: common/models.py:1686 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1683 +#: common/models.py:1688 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1689 +#: common/models.py:1694 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1690 +#: common/models.py:1695 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1695 +#: common/models.py:1700 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1696 +#: common/models.py:1701 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1701 +#: common/models.py:1706 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1703 +#: common/models.py:1708 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1709 +#: common/models.py:1714 msgid "Batch Code Template" msgstr "" -#: common/models.py:1711 +#: common/models.py:1716 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1716 +#: common/models.py:1721 msgid "Stock Expiry" msgstr "" -#: common/models.py:1717 +#: common/models.py:1722 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1722 +#: common/models.py:1727 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1723 +#: common/models.py:1728 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1728 +#: common/models.py:1733 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1730 +#: common/models.py:1735 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1737 +#: common/models.py:1742 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1738 +#: common/models.py:1743 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1743 +#: common/models.py:1748 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1744 +#: common/models.py:1749 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1749 +#: common/models.py:1754 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1750 +#: common/models.py:1755 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1754 +#: common/models.py:1759 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1755 +#: common/models.py:1760 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1760 +#: common/models.py:1765 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1762 +#: common/models.py:1767 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1768 +#: common/models.py:1773 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1770 +#: common/models.py:1775 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1776 +#: common/models.py:1781 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1778 +#: common/models.py:1783 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1784 common/models.py:1826 common/models.py:1848 -#: common/models.py:1884 +#: common/models.py:1789 common/models.py:1837 common/models.py:1859 +#: common/models.py:1895 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1785 common/models.py:1827 common/models.py:1849 -#: common/models.py:1885 +#: common/models.py:1790 common/models.py:1838 common/models.py:1860 +#: common/models.py:1896 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1790 +#: common/models.py:1795 msgid "Require Active Part" msgstr "" -#: common/models.py:1791 +#: common/models.py:1796 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/models.py:1796 +#: common/models.py:1801 +msgid "Require Locked Part" +msgstr "" + +#: common/models.py:1802 +msgid "Prevent build order creation for unlocked parts" +msgstr "" + +#: common/models.py:1807 msgid "Require Valid BOM" msgstr "" -#: common/models.py:1798 +#: common/models.py:1809 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/models.py:1804 +#: common/models.py:1815 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1806 +#: common/models.py:1817 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1812 +#: common/models.py:1823 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1813 +#: common/models.py:1824 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1818 +#: common/models.py:1829 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1820 +#: common/models.py:1831 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1832 +#: common/models.py:1843 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1834 +#: common/models.py:1845 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1840 +#: common/models.py:1851 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1842 +#: common/models.py:1853 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1854 +#: common/models.py:1865 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1855 +#: common/models.py:1866 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1860 +#: common/models.py:1871 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1862 +#: common/models.py:1873 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1868 +#: common/models.py:1879 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1870 +#: common/models.py:1881 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1876 +#: common/models.py:1887 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1878 +#: common/models.py:1889 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1890 +#: common/models.py:1901 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1892 +#: common/models.py:1903 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1898 +#: common/models.py:1909 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1900 +#: common/models.py:1911 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1907 +#: common/models.py:1918 msgid "Enable password forgot" msgstr "" -#: common/models.py:1908 +#: common/models.py:1919 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1913 +#: common/models.py:1924 msgid "Enable registration" msgstr "" -#: common/models.py:1914 +#: common/models.py:1925 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1919 +#: common/models.py:1930 msgid "Enable SSO" msgstr "" -#: common/models.py:1920 +#: common/models.py:1931 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1925 +#: common/models.py:1936 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1927 +#: common/models.py:1938 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1933 +#: common/models.py:1944 msgid "Enable SSO group sync" msgstr "" -#: common/models.py:1935 +#: common/models.py:1946 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/models.py:1941 +#: common/models.py:1952 msgid "SSO group key" msgstr "" -#: common/models.py:1943 +#: common/models.py:1954 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/models.py:1949 +#: common/models.py:1960 msgid "SSO group map" msgstr "" -#: common/models.py:1951 +#: common/models.py:1962 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/models.py:1957 +#: common/models.py:1968 msgid "Remove groups outside of SSO" msgstr "" -#: common/models.py:1959 +#: common/models.py:1970 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/models.py:1965 +#: common/models.py:1976 msgid "Email required" msgstr "" -#: common/models.py:1966 +#: common/models.py:1977 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1971 +#: common/models.py:1982 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1973 +#: common/models.py:1984 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1979 +#: common/models.py:1990 msgid "Mail twice" msgstr "" -#: common/models.py:1980 +#: common/models.py:1991 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1985 +#: common/models.py:1996 msgid "Password twice" msgstr "" -#: common/models.py:1986 +#: common/models.py:1997 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1991 +#: common/models.py:2002 msgid "Allowed domains" msgstr "" -#: common/models.py:1993 +#: common/models.py:2004 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1999 +#: common/models.py:2010 msgid "Group on signup" msgstr "" -#: common/models.py:2001 +#: common/models.py:2012 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/models.py:2007 +#: common/models.py:2018 msgid "Enforce MFA" msgstr "" -#: common/models.py:2008 +#: common/models.py:2019 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:2013 +#: common/models.py:2024 msgid "Check plugins on startup" msgstr "" -#: common/models.py:2015 +#: common/models.py:2026 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:2023 +#: common/models.py:2034 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2024 +#: common/models.py:2035 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2030 +#: common/models.py:2041 msgid "Enable URL integration" msgstr "" -#: common/models.py:2031 +#: common/models.py:2042 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:2037 +#: common/models.py:2048 msgid "Enable navigation integration" msgstr "" -#: common/models.py:2038 +#: common/models.py:2049 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2044 +#: common/models.py:2055 msgid "Enable app integration" msgstr "" -#: common/models.py:2045 +#: common/models.py:2056 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2051 +#: common/models.py:2062 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2052 +#: common/models.py:2063 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2058 +#: common/models.py:2069 msgid "Enable event integration" msgstr "" -#: common/models.py:2059 +#: common/models.py:2070 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2065 +#: common/models.py:2076 msgid "Enable project codes" msgstr "" -#: common/models.py:2066 +#: common/models.py:2077 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2071 +#: common/models.py:2082 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2073 +#: common/models.py:2084 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2079 +#: common/models.py:2090 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2081 +#: common/models.py:2092 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2087 +#: common/models.py:2098 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2089 +#: common/models.py:2100 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2095 +#: common/models.py:2106 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2097 +#: common/models.py:2108 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2104 +#: common/models.py:2115 msgid "Display Users full names" msgstr "" -#: common/models.py:2105 +#: common/models.py:2116 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2110 +#: common/models.py:2121 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2111 +#: common/models.py:2122 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2123 common/models.py:2533 +#: common/models.py:2134 common/models.py:2514 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2166 +#: common/models.py:2177 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2168 +#: common/models.py:2179 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2174 +#: common/models.py:2185 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2175 +#: common/models.py:2186 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2180 +#: common/models.py:2191 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2181 +#: common/models.py:2192 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2186 +#: common/models.py:2197 msgid "Show latest parts" msgstr "" -#: common/models.py:2187 +#: common/models.py:2198 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2192 +#: common/models.py:2203 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2193 +#: common/models.py:2204 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2198 +#: common/models.py:2209 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2199 +#: common/models.py:2210 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2204 +#: common/models.py:2215 msgid "Show low stock" msgstr "" -#: common/models.py:2205 +#: common/models.py:2216 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2210 +#: common/models.py:2221 msgid "Show depleted stock" msgstr "" -#: common/models.py:2211 +#: common/models.py:2222 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2216 +#: common/models.py:2227 msgid "Show needed stock" msgstr "" -#: common/models.py:2217 +#: common/models.py:2228 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2222 +#: common/models.py:2233 msgid "Show expired stock" msgstr "" -#: common/models.py:2223 +#: common/models.py:2234 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2228 +#: common/models.py:2239 msgid "Show stale stock" msgstr "" -#: common/models.py:2229 +#: common/models.py:2240 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2234 +#: common/models.py:2245 msgid "Show pending builds" msgstr "" -#: common/models.py:2235 +#: common/models.py:2246 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2240 +#: common/models.py:2251 msgid "Show overdue builds" msgstr "" -#: common/models.py:2241 +#: common/models.py:2252 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2246 +#: common/models.py:2257 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2247 +#: common/models.py:2258 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2252 +#: common/models.py:2263 msgid "Show overdue POs" msgstr "" -#: common/models.py:2253 +#: common/models.py:2264 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2258 +#: common/models.py:2269 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2259 +#: common/models.py:2270 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2264 +#: common/models.py:2275 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2265 +#: common/models.py:2276 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2270 +#: common/models.py:2281 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2271 +#: common/models.py:2282 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2276 +#: common/models.py:2287 msgid "Show News" msgstr "" -#: common/models.py:2277 +#: common/models.py:2288 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2282 +#: common/models.py:2293 msgid "Inline label display" msgstr "" -#: common/models.py:2284 +#: common/models.py:2295 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2290 +#: common/models.py:2301 msgid "Default label printer" msgstr "" -#: common/models.py:2292 +#: common/models.py:2303 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2298 +#: common/models.py:2309 msgid "Inline report display" msgstr "" -#: common/models.py:2300 +#: common/models.py:2311 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2306 +#: common/models.py:2317 msgid "Search Parts" msgstr "" -#: common/models.py:2307 +#: common/models.py:2318 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2312 +#: common/models.py:2323 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2313 +#: common/models.py:2324 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2318 +#: common/models.py:2329 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2319 +#: common/models.py:2330 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2324 +#: common/models.py:2335 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2325 +#: common/models.py:2336 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2330 +#: common/models.py:2341 msgid "Search Categories" msgstr "" -#: common/models.py:2331 +#: common/models.py:2342 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2336 +#: common/models.py:2347 msgid "Search Stock" msgstr "" -#: common/models.py:2337 +#: common/models.py:2348 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2342 +#: common/models.py:2353 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2344 +#: common/models.py:2355 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2350 +#: common/models.py:2361 msgid "Search Locations" msgstr "" -#: common/models.py:2351 +#: common/models.py:2362 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2356 +#: common/models.py:2367 msgid "Search Companies" msgstr "" -#: common/models.py:2357 +#: common/models.py:2368 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2362 +#: common/models.py:2373 msgid "Search Build Orders" msgstr "" -#: common/models.py:2363 +#: common/models.py:2374 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2368 +#: common/models.py:2379 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2369 +#: common/models.py:2380 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2374 +#: common/models.py:2385 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2376 +#: common/models.py:2387 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2382 +#: common/models.py:2393 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2383 +#: common/models.py:2394 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2388 +#: common/models.py:2399 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2390 +#: common/models.py:2401 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2396 +#: common/models.py:2407 msgid "Search Return Orders" msgstr "" -#: common/models.py:2397 +#: common/models.py:2408 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2402 +#: common/models.py:2413 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2404 +#: common/models.py:2415 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2410 +#: common/models.py:2421 msgid "Search Preview Results" msgstr "" -#: common/models.py:2412 +#: common/models.py:2423 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2418 +#: common/models.py:2429 msgid "Regex Search" msgstr "" -#: common/models.py:2419 +#: common/models.py:2430 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2424 +#: common/models.py:2435 msgid "Whole Word Search" msgstr "" -#: common/models.py:2425 +#: common/models.py:2436 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2430 +#: common/models.py:2441 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2431 +#: common/models.py:2442 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2436 +#: common/models.py:2447 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2437 +#: common/models.py:2448 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2442 +#: common/models.py:2453 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2443 +#: common/models.py:2454 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2448 +#: common/models.py:2459 msgid "Date Format" msgstr "" -#: common/models.py:2449 +#: common/models.py:2460 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2462 part/templates/part/detail.html:41 +#: common/models.py:2473 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2463 +#: common/models.py:2474 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2468 part/templates/part/detail.html:62 +#: common/models.py:2479 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2470 +#: common/models.py:2481 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2476 +#: common/models.py:2487 msgid "Table String Length" msgstr "" -#: common/models.py:2478 +#: common/models.py:2489 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2484 -msgid "Default part label template" -msgstr "" - -#: common/models.py:2485 -msgid "The part label template to be automatically selected" -msgstr "" - -#: common/models.py:2490 -msgid "Default stock item template" -msgstr "" - -#: common/models.py:2492 -msgid "The stock item label template to be automatically selected" -msgstr "" - -#: common/models.py:2498 -msgid "Default stock location label template" -msgstr "" - -#: common/models.py:2500 -msgid "The stock location label template to be automatically selected" -msgstr "" - -#: common/models.py:2506 -msgid "Default build line label template" -msgstr "" - -#: common/models.py:2508 -msgid "The build line label template to be automatically selected" -msgstr "" - -#: common/models.py:2514 +#: common/models.py:2495 msgid "Receive error reports" msgstr "" -#: common/models.py:2515 +#: common/models.py:2496 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2520 +#: common/models.py:2501 msgid "Last used printing machines" msgstr "" -#: common/models.py:2521 +#: common/models.py:2502 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2541 common/models.py:2542 common/models.py:2691 -#: common/models.py:2692 common/models.py:2937 common/models.py:2938 -#: common/models.py:3259 common/models.py:3260 part/models.py:3193 -#: part/models.py:3280 part/models.py:3353 part/models.py:3381 -#: plugin/models.py:274 plugin/models.py:275 +#: common/models.py:2522 common/models.py:2523 common/models.py:2672 +#: common/models.py:2673 common/models.py:2918 common/models.py:2919 +#: common/models.py:3245 common/models.py:3246 importer/models.py:85 +#: part/models.py:3203 part/models.py:3290 part/models.py:3364 +#: part/models.py:3392 plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 msgid "User" msgstr "" -#: common/models.py:2564 +#: common/models.py:2545 msgid "Price break quantity" msgstr "" -#: common/models.py:2571 company/serializers.py:472 order/admin.py:42 -#: order/models.py:1346 order/models.py:2265 -#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1886 +#: common/models.py:2552 company/serializers.py:502 order/admin.py:42 +#: order/models.py:1346 order/models.py:2292 +#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1889 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:740 msgid "Price" msgstr "" -#: common/models.py:2572 +#: common/models.py:2553 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2668 common/models.py:2853 +#: common/models.py:2649 common/models.py:2834 msgid "Endpoint" msgstr "" -#: common/models.py:2669 +#: common/models.py:2650 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2679 +#: common/models.py:2660 msgid "Name for this webhook" msgstr "" -#: common/models.py:2683 +#: common/models.py:2664 msgid "Is this webhook active" msgstr "" -#: common/models.py:2699 users/models.py:159 +#: common/models.py:2680 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2700 +#: common/models.py:2681 msgid "Token for access" msgstr "" -#: common/models.py:2708 +#: common/models.py:2689 msgid "Secret" msgstr "" -#: common/models.py:2709 +#: common/models.py:2690 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2817 +#: common/models.py:2798 msgid "Message ID" msgstr "" -#: common/models.py:2818 +#: common/models.py:2799 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2826 +#: common/models.py:2807 msgid "Host" msgstr "" -#: common/models.py:2827 +#: common/models.py:2808 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2835 +#: common/models.py:2816 msgid "Header" msgstr "" -#: common/models.py:2836 +#: common/models.py:2817 msgid "Header of this message" msgstr "" -#: common/models.py:2843 +#: common/models.py:2824 msgid "Body" msgstr "" -#: common/models.py:2844 +#: common/models.py:2825 msgid "Body of this message" msgstr "" -#: common/models.py:2854 +#: common/models.py:2835 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2859 +#: common/models.py:2840 msgid "Worked on" msgstr "" -#: common/models.py:2860 +#: common/models.py:2841 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2986 +#: common/models.py:2967 msgid "Id" msgstr "" -#: common/models.py:2988 templates/js/translated/company.js:965 +#: common/models.py:2969 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2990 common/models.py:3243 company/models.py:149 -#: company/models.py:440 company/models.py:500 company/models.py:799 -#: order/models.py:303 order/models.py:1301 order/models.py:1717 -#: part/admin.py:55 part/models.py:955 +#: common/models.py:2971 common/models.py:3229 company/models.py:149 +#: company/models.py:446 company/models.py:506 company/models.py:806 +#: order/models.py:303 order/models.py:1301 order/models.py:1733 +#: part/admin.py:55 part/models.py:959 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:229 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/part.js:2459 #: templates/js/translated/purchase_order.js:2040 #: templates/js/translated/purchase_order.js:2204 #: templates/js/translated/return_order.js:779 @@ -3608,28 +3641,28 @@ msgstr "" msgid "Link" msgstr "" -#: common/models.py:2992 templates/js/translated/news.js:60 +#: common/models.py:2973 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2994 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2975 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:2996 templates/js/translated/news.js:52 +#: common/models.py:2977 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2999 +#: common/models.py:2980 msgid "Read" msgstr "" -#: common/models.py:2999 +#: common/models.py:2980 msgid "Was this news item read?" msgstr "" -#: common/models.py:3016 company/models.py:159 part/models.py:965 +#: common/models.py:2997 company/models.py:159 part/models.py:969 #: 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.html:35 @@ -3639,90 +3672,94 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:3016 +#: common/models.py:2997 msgid "Image file" msgstr "" -#: common/models.py:3028 common/models.py:3227 +#: common/models.py:3009 common/models.py:3213 msgid "Target model type for this image" msgstr "" -#: common/models.py:3032 +#: common/models.py:3013 msgid "Target model ID for this image" msgstr "" -#: common/models.py:3070 +#: common/models.py:3035 +msgid "Custom Unit" +msgstr "" + +#: common/models.py:3056 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:3085 +#: common/models.py:3071 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3104 +#: common/models.py:3090 msgid "Unit name" msgstr "" -#: common/models.py:3111 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3097 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3112 +#: common/models.py:3098 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3118 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3104 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3119 +#: common/models.py:3105 msgid "Unit definition" msgstr "" -#: common/models.py:3177 common/models.py:3234 stock/models.py:2461 +#: common/models.py:3163 common/models.py:3220 stock/models.py:2471 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" msgstr "" -#: common/models.py:3189 +#: common/models.py:3175 msgid "Missing file" msgstr "" -#: common/models.py:3190 +#: common/models.py:3176 msgid "Missing external link" msgstr "" -#: common/models.py:3235 +#: common/models.py:3221 msgid "Select file to attach" msgstr "" -#: common/models.py:3250 templates/js/translated/attachment.js:120 +#: common/models.py:3236 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" msgstr "" -#: common/models.py:3251 +#: common/models.py:3237 msgid "Attachment comment" msgstr "" -#: common/models.py:3267 +#: common/models.py:3253 msgid "Upload date" msgstr "" -#: common/models.py:3268 +#: common/models.py:3254 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:3272 +#: common/models.py:3258 msgid "File size" msgstr "" -#: common/models.py:3272 +#: common/models.py:3258 msgid "File size in bytes" msgstr "" -#: common/models.py:3310 common/serializers.py:553 +#: common/models.py:3296 common/serializers.py:557 msgid "Invalid model type specified for attachment" msgstr "" @@ -3744,7 +3781,7 @@ msgstr "" msgid "A order that is assigned to you was canceled" msgstr "" -#: common/notifications.py:330 common/notifications.py:337 order/api.py:472 +#: common/notifications.py:330 common/notifications.py:337 order/api.py:454 msgid "Items Received" msgstr "" @@ -3760,75 +3797,75 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:371 +#: common/serializers.py:375 msgid "Is Running" msgstr "" -#: common/serializers.py:377 +#: common/serializers.py:381 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:383 +#: common/serializers.py:387 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:389 +#: common/serializers.py:393 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:404 +#: common/serializers.py:408 msgid "Task ID" msgstr "" -#: common/serializers.py:404 +#: common/serializers.py:408 msgid "Unique task ID" msgstr "" -#: common/serializers.py:406 +#: common/serializers.py:410 msgid "Lock" msgstr "" -#: common/serializers.py:406 +#: common/serializers.py:410 msgid "Lock time" msgstr "" -#: common/serializers.py:408 +#: common/serializers.py:412 msgid "Task name" msgstr "" -#: common/serializers.py:410 +#: common/serializers.py:414 msgid "Function" msgstr "" -#: common/serializers.py:410 +#: common/serializers.py:414 msgid "Function name" msgstr "" -#: common/serializers.py:412 +#: common/serializers.py:416 msgid "Arguments" msgstr "" -#: common/serializers.py:412 +#: common/serializers.py:416 msgid "Task arguments" msgstr "" -#: common/serializers.py:415 +#: common/serializers.py:419 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:415 +#: common/serializers.py:419 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:525 +#: common/serializers.py:529 msgid "Filename" msgstr "" -#: common/serializers.py:532 report/api.py:100 report/serializers.py:53 +#: common/serializers.py:536 report/api.py:100 report/serializers.py:53 msgid "Model Type" msgstr "" -#: common/serializers.py:559 +#: common/serializers.py:563 msgid "User does not have permission to create or edit attachments for this model" msgstr "" @@ -3895,29 +3932,29 @@ msgstr "" msgid "Previous Step" msgstr "" -#: company/api.py:144 +#: company/api.py:141 msgid "Part is Active" msgstr "" -#: company/api.py:148 +#: company/api.py:145 msgid "Manufacturer is Active" msgstr "" -#: company/api.py:281 +#: company/api.py:278 msgid "Supplier Part is Active" msgstr "" -#: company/api.py:285 +#: company/api.py:282 msgid "Internal Part is Active" msgstr "" -#: company/api.py:289 +#: company/api.py:286 msgid "Supplier is Active" msgstr "" -#: company/models.py:100 company/models.py:365 +#: company/models.py:100 company/models.py:371 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:822 +#: company/templates/company/company_base.html:12 stock/api.py:814 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "" @@ -3957,8 +3994,9 @@ msgstr "" msgid "Contact email address" msgstr "" -#: company/models.py:142 company/templates/company/company_base.html:145 -#: order/models.py:343 order/templates/order/order_base.html:203 +#: company/models.py:142 company/models.py:275 +#: company/templates/company/company_base.html:145 order/models.py:343 +#: order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 #: order/templates/order/sales_order_base.html:218 msgid "Contact" @@ -3977,7 +4015,7 @@ msgid "Is this company active?" msgstr "" #: company/models.py:168 -msgid "is customer" +msgid "Is customer" msgstr "" #: company/models.py:169 @@ -3985,7 +4023,7 @@ msgid "Do you sell items to this company?" msgstr "" #: company/models.py:174 -msgid "is supplier" +msgid "Is supplier" msgstr "" #: company/models.py:175 @@ -3993,7 +4031,7 @@ msgid "Do you purchase items from this company?" msgstr "" #: company/models.py:180 -msgid "is manufacturer" +msgid "Is manufacturer" msgstr "" #: company/models.py:181 @@ -4004,178 +4042,189 @@ msgstr "" msgid "Default currency used for this company" msgstr "" -#: company/models.py:366 +#: company/models.py:314 company/templates/company/company_base.html:124 +#: order/models.py:353 order/templates/order/order_base.html:210 +#: order/templates/order/return_order_base.html:181 +#: order/templates/order/sales_order_base.html:225 +msgid "Address" +msgstr "" + +#: company/models.py:315 company/templates/company/sidebar.html:35 +msgid "Addresses" +msgstr "" + +#: company/models.py:372 msgid "Select company" msgstr "" -#: company/models.py:371 +#: company/models.py:377 msgid "Address title" msgstr "" -#: company/models.py:372 +#: company/models.py:378 msgid "Title describing the address entry" msgstr "" -#: company/models.py:378 +#: company/models.py:384 msgid "Primary address" msgstr "" -#: company/models.py:379 +#: company/models.py:385 msgid "Set as primary address" msgstr "" -#: company/models.py:384 templates/js/translated/company.js:914 +#: company/models.py:390 templates/js/translated/company.js:914 #: templates/js/translated/company.js:971 msgid "Line 1" msgstr "" -#: company/models.py:385 +#: company/models.py:391 msgid "Address line 1" msgstr "" -#: company/models.py:391 templates/js/translated/company.js:915 +#: company/models.py:397 templates/js/translated/company.js:915 #: templates/js/translated/company.js:977 msgid "Line 2" msgstr "" -#: company/models.py:392 +#: company/models.py:398 msgid "Address line 2" msgstr "" -#: company/models.py:398 company/models.py:399 +#: company/models.py:404 company/models.py:405 #: templates/js/translated/company.js:983 msgid "Postal code" msgstr "" -#: company/models.py:405 +#: company/models.py:411 msgid "City/Region" msgstr "" -#: company/models.py:406 +#: company/models.py:412 msgid "Postal code city/region" msgstr "" -#: company/models.py:412 +#: company/models.py:418 msgid "State/Province" msgstr "" -#: company/models.py:413 +#: company/models.py:419 msgid "State or province" msgstr "" -#: company/models.py:419 templates/js/translated/company.js:1001 +#: company/models.py:425 templates/js/translated/company.js:1001 msgid "Country" msgstr "" -#: company/models.py:420 +#: company/models.py:426 msgid "Address country" msgstr "" -#: company/models.py:426 +#: company/models.py:432 msgid "Courier shipping notes" msgstr "" -#: company/models.py:427 +#: company/models.py:433 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:433 +#: company/models.py:439 msgid "Internal shipping notes" msgstr "" -#: company/models.py:434 +#: company/models.py:440 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:441 +#: company/models.py:447 msgid "Link to address information (external)" msgstr "" -#: company/models.py:463 company/models.py:574 company/models.py:792 +#: company/models.py:469 company/models.py:581 company/models.py:799 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:217 msgid "Manufacturer Part" msgstr "" -#: company/models.py:475 company/models.py:760 stock/models.py:767 -#: stock/serializers.py:422 stock/templates/stock/item_base.html:142 +#: company/models.py:481 company/models.py:767 stock/models.py:767 +#: stock/serializers.py:442 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" -#: company/models.py:477 company/models.py:762 +#: company/models.py:483 company/models.py:769 msgid "Select part" msgstr "" -#: company/models.py:486 company/templates/company/company_base.html:82 +#: company/models.py:492 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:525 +#: company/templates/company/supplier_part.html:145 part/serializers.py:543 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 #: templates/js/translated/company.js:1296 #: templates/js/translated/company.js:1611 -#: templates/js/translated/table_filters.js:800 +#: templates/js/translated/table_filters.js:805 msgid "Manufacturer" msgstr "" -#: company/models.py:487 +#: company/models.py:493 msgid "Select manufacturer" msgstr "" -#: company/models.py:493 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:535 -#: templates/js/translated/company.js:351 +#: company/models.py:499 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:153 order/serializers.py:518 +#: part/serializers.py:553 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:1801 +#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1804 #: templates/js/translated/purchase_order.js:1851 #: templates/js/translated/purchase_order.js:2053 msgid "MPN" msgstr "" -#: company/models.py:494 -msgid "Manufacturer Part Number" -msgstr "" - -#: company/models.py:501 +#: company/models.py:507 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:510 +#: company/models.py:516 msgid "Manufacturer part description" msgstr "" -#: company/models.py:581 +#: company/models.py:569 +msgid "Manufacturer Part Parameter" +msgstr "" + +#: company/models.py:588 msgid "Parameter name" msgstr "" -#: company/models.py:587 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2453 templates/js/translated/company.js:1166 -#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1493 +#: company/models.py:594 report/templates/report/inventree_test_report.html:104 +#: stock/models.py:2463 templates/js/translated/company.js:1166 +#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1496 #: templates/js/translated/stock.js:1522 msgid "Value" msgstr "" -#: company/models.py:588 +#: company/models.py:595 msgid "Parameter value" msgstr "" -#: company/models.py:595 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1045 part/models.py:3646 +#: company/models.py:602 company/templates/company/supplier_part.html:168 +#: part/admin.py:57 part/models.py:1049 part/models.py:3667 #: part/templates/part/part_base.html:284 -#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1512 -#: templates/js/translated/part.js:1616 templates/js/translated/part.js:2370 +#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1515 +#: templates/js/translated/part.js:1619 templates/js/translated/part.js:2373 msgid "Units" msgstr "" -#: company/models.py:596 +#: company/models.py:603 msgid "Parameter units" msgstr "" -#: company/models.py:648 company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 order/api.py:452 +#: company/models.py:655 company/templates/company/supplier_part.html:7 +#: company/templates/company/supplier_part.html:24 order/api.py:434 #: stock/models.py:778 stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 @@ -4183,91 +4232,91 @@ msgstr "" msgid "Supplier Part" msgstr "" -#: company/models.py:700 +#: company/models.py:707 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:707 +#: company/models.py:714 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:721 +#: company/models.py:728 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:770 company/templates/company/company_base.html:87 +#: company/models.py:777 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:509 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:527 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 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:511 -#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1769 +#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1772 #: templates/js/translated/pricing.js:498 #: templates/js/translated/purchase_order.js:1689 -#: templates/js/translated/table_filters.js:804 +#: templates/js/translated/table_filters.js:809 msgid "Supplier" msgstr "" -#: company/models.py:771 +#: company/models.py:778 msgid "Select supplier" msgstr "" -#: company/models.py:777 part/serializers.py:520 +#: company/models.py:784 part/serializers.py:538 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:783 +#: company/models.py:790 msgid "Is this supplier part active?" msgstr "" -#: company/models.py:793 +#: company/models.py:800 msgid "Select manufacturer part" msgstr "" -#: company/models.py:800 +#: company/models.py:807 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:809 +#: company/models.py:816 msgid "Supplier part description" msgstr "" -#: company/models.py:816 company/templates/company/supplier_part.html:187 -#: part/admin.py:412 part/models.py:4093 part/templates/part/upload_bom.html:59 +#: company/models.py:823 company/templates/company/supplier_part.html:187 +#: part/admin.py:412 part/models.py:4178 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: 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:710 +#: stock/serializers.py:768 msgid "Note" msgstr "" -#: company/models.py:825 part/models.py:2003 +#: company/models.py:832 part/models.py:2013 msgid "base cost" msgstr "" -#: company/models.py:826 part/models.py:2004 +#: company/models.py:833 part/models.py:2014 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:833 company/templates/company/supplier_part.html:160 -#: stock/admin.py:228 stock/models.py:798 stock/serializers.py:1475 +#: company/models.py:840 company/templates/company/supplier_part.html:160 +#: stock/admin.py:228 stock/models.py:798 stock/serializers.py:1541 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 msgid "Packaging" msgstr "" -#: company/models.py:834 +#: company/models.py:841 msgid "Part packaging" msgstr "" -#: company/models.py:839 templates/js/translated/company.js:1651 -#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 +#: company/models.py:846 templates/js/translated/company.js:1651 +#: templates/js/translated/part.js:1825 templates/js/translated/part.js:1881 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 #: templates/js/translated/purchase_order.js:1103 @@ -4276,35 +4325,43 @@ msgstr "" msgid "Pack Quantity" msgstr "" -#: company/models.py:841 +#: company/models.py:848 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:860 part/models.py:2010 +#: company/models.py:867 part/models.py:2020 msgid "multiple" msgstr "" -#: company/models.py:861 +#: company/models.py:868 msgid "Order multiple" msgstr "" -#: company/models.py:873 +#: company/models.py:880 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:879 +#: company/models.py:886 msgid "Availability Updated" msgstr "" -#: company/models.py:880 +#: company/models.py:887 msgid "Date of last update of availability data" msgstr "" -#: company/serializers.py:161 +#: company/models.py:1015 +msgid "Supplier Price Break" +msgstr "" + +#: company/serializers.py:174 msgid "Default currency used for this supplier" msgstr "" -#: company/serializers.py:357 part/admin.py:126 +#: company/serializers.py:210 +msgid "Company Name" +msgstr "" + +#: company/serializers.py:384 part/admin.py:126 part/serializers.py:855 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:355 @@ -4316,7 +4373,7 @@ msgstr "" #: templates/js/translated/company.js:1287 #: templates/js/translated/company.js:1575 #: templates/js/translated/model_renderers.js:312 -#: templates/js/translated/part.js:815 templates/js/translated/part.js:1219 +#: templates/js/translated/part.js:814 templates/js/translated/part.js:1222 msgid "Inactive" msgstr "" @@ -4375,16 +4432,16 @@ msgid "Delete image" msgstr "" #: company/templates/company/company_base.html:92 order/models.py:938 -#: order/models.py:2032 order/templates/order/return_order_base.html:131 +#: order/models.py:2058 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:148 stock/models.py:820 -#: stock/models.py:821 stock/serializers.py:1225 +#: stock/models.py:821 stock/serializers.py:1291 #: 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:295 #: templates/js/translated/sales_order.js:820 #: templates/js/translated/stock.js:2959 -#: templates/js/translated/table_filters.js:808 +#: templates/js/translated/table_filters.js:813 msgid "Customer" msgstr "" @@ -4392,13 +4449,6 @@ msgstr "" msgid "Uses default currency" msgstr "" -#: company/templates/company/company_base.html:124 order/models.py:353 -#: order/templates/order/order_base.html:210 -#: order/templates/order/return_order_base.html:181 -#: order/templates/order/sales_order_base.html:225 -msgid "Address" -msgstr "" - #: company/templates/company/company_base.html:131 msgid "Phone" msgstr "" @@ -4578,7 +4628,8 @@ msgid "Delete manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:65 -#: company/templates/company/supplier_part.html:97 order/api.py:458 +#: company/templates/company/supplier_part.html:97 order/api.py:440 +#: order/serializers.py:526 msgid "Internal Part" msgstr "" @@ -4588,7 +4639,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:832 +#: part/admin.py:122 part/serializers.py:860 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4609,7 +4660,7 @@ msgid "New Parameter" msgstr "" #: company/templates/company/manufacturer_part.html:196 -#: templates/js/translated/part.js:1423 +#: templates/js/translated/part.js:1426 msgid "Add Parameter" msgstr "" @@ -4633,10 +4684,6 @@ msgstr "" msgid "Contacts" msgstr "" -#: company/templates/company/sidebar.html:35 -msgid "Addresses" -msgstr "" - #: company/templates/company/supplier_part.html:50 #: templates/js/translated/company.js:1526 msgid "Supplier part actions" @@ -4649,127 +4696,283 @@ msgstr "" msgid "Order Part" msgstr "" -#: company/templates/company/supplier_part.html:60 -#: company/templates/company/supplier_part.html:61 -msgid "Update Availability" +#: company/templates/company/supplier_part.html:60 +#: company/templates/company/supplier_part.html:61 +msgid "Update Availability" +msgstr "" + +#: company/templates/company/supplier_part.html:63 +#: company/templates/company/supplier_part.html:64 +#: templates/js/translated/company.js:294 +msgid "Edit Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:68 +#: company/templates/company/supplier_part.html:69 +#: templates/js/translated/company.js:269 +msgid "Duplicate Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:73 +msgid "Delete Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:74 +msgid "Delete Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:133 +msgid "No supplier information available" +msgstr "" + +#: company/templates/company/supplier_part.html:139 order/serializers.py:515 +#: part/bom.py:279 part/bom.py:311 part/serializers.py:537 +#: templates/js/translated/company.js:349 templates/js/translated/part.js:1790 +#: templates/js/translated/pricing.js:510 +#: templates/js/translated/purchase_order.js:1850 +#: templates/js/translated/purchase_order.js:2028 +msgid "SKU" +msgstr "" + +#: company/templates/company/supplier_part.html:206 +msgid "Supplier Part Stock" +msgstr "" + +#: company/templates/company/supplier_part.html:209 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:207 +msgid "Create new stock item" +msgstr "" + +#: company/templates/company/supplier_part.html:210 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:208 +#: templates/js/translated/stock.js:537 +msgid "New Stock Item" +msgstr "" + +#: company/templates/company/supplier_part.html:223 +msgid "Supplier Part Orders" +msgstr "" + +#: company/templates/company/supplier_part.html:246 +msgid "Pricing Information" +msgstr "" + +#: company/templates/company/supplier_part.html:251 +#: templates/js/translated/company.js:398 +#: templates/js/translated/pricing.js:684 +msgid "Add Price Break" +msgstr "" + +#: company/templates/company/supplier_part.html:276 +msgid "Supplier Part QR Code" +msgstr "" + +#: company/templates/company/supplier_part.html:287 +msgid "Link Barcode to Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:359 +msgid "Update Part Availability" +msgstr "" + +#: company/templates/company/supplier_part_sidebar.html:5 +#: part/serializers.py:859 part/stocktake.py:224 +#: part/templates/part/category.html:183 +#: part/templates/part/category_sidebar.html:17 stock/admin.py:68 +#: stock/serializers.py:976 stock/serializers.py:1154 +#: stock/templates/stock/location.html:170 +#: 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:1064 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 +#: users/models.py:206 +msgid "Stock Items" +msgstr "" + +#: company/templates/company/supplier_part_sidebar.html:9 +msgid "Supplier Part Pricing" +msgstr "" + +#: company/views.py:32 +msgid "New Supplier" +msgstr "" + +#: company/views.py:38 +msgid "New Manufacturer" +msgstr "" + +#: company/views.py:43 templates/InvenTree/search.html:210 +#: templates/navbar.html:60 +msgid "Customers" +msgstr "" + +#: company/views.py:44 +msgid "New Customer" +msgstr "" + +#: company/views.py:52 +msgid "New Company" +msgstr "" + +#: generic/states/tests.py:18 order/status_codes.py:13 +msgid "Placed" +msgstr "" + +#: importer/mixins.py:263 +msgid "Invalid export format" +msgstr "" + +#: importer/models.py:56 +msgid "Timestamp" +msgstr "" + +#: importer/models.py:61 +msgid "Data file to import" +msgstr "" + +#: importer/models.py:70 templates/js/translated/tables.js:558 +msgid "Columns" +msgstr "" + +#: importer/models.py:81 +msgid "Import status" +msgstr "" + +#: importer/models.py:91 +msgid "Field Defaults" +msgstr "" + +#: importer/models.py:201 +msgid "Some required fields have not been mapped" +msgstr "" + +#: importer/models.py:346 +msgid "Column is already mapped to a database field" +msgstr "" + +#: importer/models.py:351 +msgid "Field is already mapped to a data column" +msgstr "" + +#: importer/models.py:360 +msgid "Column mapping must be linked to a valid import session" +msgstr "" + +#: importer/models.py:365 +msgid "Column does not exist in the data file" +msgstr "" + +#: importer/models.py:372 +msgid "Field does not exist in the target model" +msgstr "" + +#: importer/models.py:376 +msgid "Selected field is read-only" +msgstr "" + +#: importer/models.py:381 importer/models.py:452 +msgid "Import Session" msgstr "" -#: company/templates/company/supplier_part.html:63 -#: company/templates/company/supplier_part.html:64 -#: templates/js/translated/company.js:294 -msgid "Edit Supplier Part" +#: importer/models.py:385 +msgid "Field" msgstr "" -#: company/templates/company/supplier_part.html:68 -#: company/templates/company/supplier_part.html:69 -#: templates/js/translated/company.js:269 -msgid "Duplicate Supplier Part" +#: importer/models.py:387 +msgid "Column" msgstr "" -#: company/templates/company/supplier_part.html:73 -msgid "Delete Supplier Part" +#: importer/models.py:456 +msgid "Row Index" msgstr "" -#: company/templates/company/supplier_part.html:74 -msgid "Delete Supplier Part" +#: importer/models.py:459 +msgid "Original row data" msgstr "" -#: company/templates/company/supplier_part.html:133 -msgid "No supplier information available" +#: importer/models.py:462 part/models.py:3841 +msgid "Data" msgstr "" -#: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:519 -#: templates/js/translated/company.js:349 templates/js/translated/part.js:1787 -#: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1850 -#: templates/js/translated/purchase_order.js:2028 -msgid "SKU" +#: importer/models.py:464 machine/models.py:110 +msgid "Errors" msgstr "" -#: company/templates/company/supplier_part.html:206 -msgid "Supplier Part Stock" +#: importer/models.py:466 part/api.py:874 +msgid "Valid" msgstr "" -#: company/templates/company/supplier_part.html:209 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:207 -msgid "Create new stock item" +#: importer/operations.py:28 importer/operations.py:49 +msgid "Unsupported data file format" msgstr "" -#: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:208 -#: templates/js/translated/stock.js:537 -msgid "New Stock Item" +#: importer/operations.py:40 +msgid "Failed to open data file" msgstr "" -#: company/templates/company/supplier_part.html:223 -msgid "Supplier Part Orders" +#: importer/operations.py:51 +msgid "Invalid data file dimensions" msgstr "" -#: company/templates/company/supplier_part.html:246 -msgid "Pricing Information" +#: importer/serializers.py:135 +msgid "Rows" msgstr "" -#: company/templates/company/supplier_part.html:251 -#: templates/js/translated/company.js:398 -#: templates/js/translated/pricing.js:684 -msgid "Add Price Break" +#: importer/serializers.py:136 +msgid "List of row IDs to accept" msgstr "" -#: company/templates/company/supplier_part.html:276 -msgid "Supplier Part QR Code" +#: importer/serializers.py:149 +msgid "No rows provided" msgstr "" -#: company/templates/company/supplier_part.html:287 -msgid "Link Barcode to Supplier Part" +#: importer/serializers.py:153 +msgid "Row does not belong to this session" msgstr "" -#: company/templates/company/supplier_part.html:359 -msgid "Update Part Availability" +#: importer/serializers.py:156 +msgid "Row contains invalid data" msgstr "" -#: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:831 part/stocktake.py:224 -#: part/templates/part/category.html:183 -#: part/templates/part/category_sidebar.html:17 stock/admin.py:68 -#: stock/serializers.py:918 stock/serializers.py:1091 -#: stock/templates/stock/location.html:170 -#: 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:1061 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 -#: users/models.py:206 -msgid "Stock Items" +#: importer/serializers.py:159 +msgid "Row has already been completed" msgstr "" -#: company/templates/company/supplier_part_sidebar.html:9 -msgid "Supplier Part Pricing" +#: importer/status_codes.py:11 +msgid "Initializing" msgstr "" -#: company/views.py:32 -msgid "New Supplier" +#: importer/status_codes.py:12 +msgid "Mapping Columns" msgstr "" -#: company/views.py:38 -msgid "New Manufacturer" +#: importer/status_codes.py:13 +msgid "Importing Data" msgstr "" -#: company/views.py:43 templates/InvenTree/search.html:210 -#: templates/navbar.html:60 -msgid "Customers" +#: importer/status_codes.py:16 +msgid "Processing Data" msgstr "" -#: company/views.py:44 -msgid "New Customer" +#: importer/validators.py:21 +msgid "Data file exceeds maximum size limit" msgstr "" -#: company/views.py:52 -msgid "New Company" +#: importer/validators.py:26 +msgid "Data file contains no headers" msgstr "" -#: generic/states/tests.py:18 order/status_codes.py:13 -msgid "Placed" +#: importer/validators.py:29 +msgid "Data file contains too many columns" +msgstr "" + +#: importer/validators.py:32 +msgid "Data file contains too many rows" +msgstr "" + +#: importer/validators.py:49 +msgid "Value must be a valid dictionary object" msgstr "" #: machine/machine_types/label_printer.py:212 @@ -4784,7 +4987,7 @@ msgstr "" msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:229 order/api.py:1467 +#: machine/machine_types/label_printer.py:229 order/api.py:1388 #: templates/js/translated/sales_order.js:1078 msgid "Unknown" msgstr "" @@ -4853,10 +5056,6 @@ msgstr "" msgid "Initialized" msgstr "" -#: machine/models.py:110 -msgid "Errors" -msgstr "" - #: machine/models.py:117 msgid "Machine status" msgstr "" @@ -4882,44 +5081,44 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:157 order/serializers.py:90 +#: order/api.py:149 order/serializers.py:94 #: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:113 #: order/templates/order/sales_order_base.html:122 msgid "Order Status" msgstr "" -#: order/api.py:161 templates/js/translated/table_filters.js:194 -#: templates/js/translated/table_filters.js:779 +#: order/api.py:153 templates/js/translated/table_filters.js:194 +#: templates/js/translated/table_filters.js:784 msgid "Has Pricing" msgstr "" -#: order/api.py:236 +#: order/api.py:228 msgid "No matching purchase order found" msgstr "" -#: order/api.py:435 order/api.py:801 order/models.py:1395 order/models.py:1504 -#: order/models.py:1550 order/models.py:1664 order/models.py:1818 -#: order/models.py:2231 order/models.py:2282 +#: order/api.py:417 order/api.py:755 order/models.py:1400 order/models.py:1514 +#: order/models.py:1565 order/models.py:1680 order/models.py:1839 +#: order/models.py:2258 order/models.py:2314 #: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "" -#: order/api.py:439 order/api.py:822 +#: order/api.py:421 order/api.py:776 msgid "Order Complete" msgstr "" -#: order/api.py:462 +#: order/api.py:444 msgid "Order Pending" msgstr "" -#: order/api.py:1461 order/models.py:380 order/models.py:1396 -#: order/models.py:1505 order/templates/order/order_base.html:9 +#: order/api.py:1382 order/models.py:380 order/models.py:1401 +#: order/models.py:1515 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 -#: stock/serializers.py:118 stock/templates/stock/item_base.html:176 +#: stock/serializers.py:120 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/part.js:1746 templates/js/translated/pricing.js:804 +#: templates/js/translated/part.js:1749 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:1673 @@ -4927,8 +5126,8 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1465 order/models.py:1981 order/models.py:2232 -#: order/models.py:2283 order/templates/order/return_order_base.html:9 +#: order/api.py:1386 order/models.py:2007 order/models.py:2259 +#: order/models.py:2315 order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report.html:13 #: templates/js/translated/return_order.js:280 @@ -4940,11 +5139,11 @@ msgstr "" msgid "Total price for this order" msgstr "" -#: order/models.py:96 order/serializers.py:70 +#: order/models.py:96 order/serializers.py:72 msgid "Order Currency" msgstr "" -#: order/models.py:99 order/serializers.py:71 +#: order/models.py:99 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" @@ -4960,7 +5159,7 @@ msgstr "" msgid "Select project code for this order" msgstr "" -#: order/models.py:303 order/models.py:1301 order/models.py:1717 +#: order/models.py:303 order/models.py:1301 order/models.py:1733 msgid "Link to external page" msgstr "" @@ -5009,15 +5208,15 @@ msgstr "" msgid "received by" msgstr "" -#: order/models.py:514 order/models.py:2058 +#: order/models.py:514 order/models.py:2084 msgid "Issue Date" msgstr "" -#: order/models.py:515 order/models.py:2059 +#: order/models.py:515 order/models.py:2085 msgid "Date order was issued" msgstr "" -#: order/models.py:522 order/models.py:2066 +#: order/models.py:522 order/models.py:2092 msgid "Date order was completed" msgstr "" @@ -5033,15 +5232,15 @@ msgstr "" msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:962 order/models.py:2051 +#: order/models.py:962 order/models.py:2077 msgid "Customer Reference " msgstr "" -#: order/models.py:963 order/models.py:2052 +#: order/models.py:963 order/models.py:2078 msgid "Customer order reference code" msgstr "" -#: order/models.py:967 order/models.py:1671 +#: order/models.py:967 order/models.py:1687 #: templates/js/translated/sales_order.js:879 #: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" @@ -5103,20 +5302,24 @@ msgstr "" msgid "Unit price" msgstr "" -#: order/models.py:1380 +#: order/models.py:1361 +msgid "Purchase Order Line Item" +msgstr "" + +#: order/models.py:1385 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1387 +#: order/models.py:1392 msgid "deleted" msgstr "" -#: order/models.py:1415 +#: order/models.py:1420 msgid "Supplier part" msgstr "" -#: order/models.py:1422 order/templates/order/order_base.html:196 -#: templates/js/translated/part.js:1870 templates/js/translated/part.js:1902 +#: order/models.py:1427 order/templates/order/order_base.html:196 +#: templates/js/translated/part.js:1873 templates/js/translated/part.js:1905 #: templates/js/translated/purchase_order.js:1306 #: templates/js/translated/purchase_order.js:2169 #: templates/js/translated/return_order.js:763 @@ -5125,196 +5328,224 @@ msgstr "" msgid "Received" msgstr "" -#: order/models.py:1423 +#: order/models.py:1428 msgid "Number of items received" msgstr "" -#: order/models.py:1431 stock/models.py:939 stock/serializers.py:556 +#: order/models.py:1436 stock/models.py:939 stock/serializers.py:602 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2311 msgid "Purchase Price" msgstr "" -#: order/models.py:1432 +#: order/models.py:1437 msgid "Unit purchase price" msgstr "" -#: order/models.py:1447 +#: order/models.py:1452 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1538 +#: order/models.py:1503 +msgid "Purchase Order Extra Line" +msgstr "" + +#: order/models.py:1532 +msgid "Sales Order Line Item" +msgstr "" + +#: order/models.py:1553 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1543 +#: order/models.py:1558 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1569 part/templates/part/part_pricing.html:107 +#: order/models.py:1584 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:1570 +#: order/models.py:1585 msgid "Unit sale price" msgstr "" -#: order/models.py:1579 order/status_codes.py:43 +#: order/models.py:1594 order/status_codes.py:43 #: templates/js/translated/sales_order.js:1559 #: templates/js/translated/sales_order.js:1680 #: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "" -#: order/models.py:1580 +#: order/models.py:1595 msgid "Shipped quantity" msgstr "" -#: order/models.py:1672 +#: order/models.py:1667 +msgid "Sales Order Shipment" +msgstr "" + +#: order/models.py:1688 msgid "Date of shipment" msgstr "" -#: order/models.py:1678 templates/js/translated/sales_order.js:1072 +#: order/models.py:1694 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "" -#: order/models.py:1679 +#: order/models.py:1695 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1687 +#: order/models.py:1703 msgid "Checked By" msgstr "" -#: order/models.py:1688 +#: order/models.py:1704 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1695 order/models.py:1908 order/serializers.py:1342 -#: order/serializers.py:1452 templates/js/translated/model_renderers.js:454 +#: order/models.py:1711 order/models.py:1934 order/serializers.py:1398 +#: order/serializers.py:1508 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "" -#: order/models.py:1696 +#: order/models.py:1712 msgid "Shipment number" msgstr "" -#: order/models.py:1704 +#: order/models.py:1720 msgid "Tracking Number" msgstr "" -#: order/models.py:1705 +#: order/models.py:1721 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1712 +#: order/models.py:1728 msgid "Invoice Number" msgstr "" -#: order/models.py:1713 +#: order/models.py:1729 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1733 +#: order/models.py:1749 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1736 +#: order/models.py:1752 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1854 order/models.py:1856 +#: order/models.py:1828 +msgid "Sales Order Extra Line" +msgstr "" + +#: order/models.py:1857 +msgid "Sales Order Allocation" +msgstr "" + +#: order/models.py:1880 order/models.py:1882 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1863 +#: order/models.py:1889 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1866 +#: order/models.py:1892 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1869 +#: order/models.py:1895 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1888 order/serializers.py:1219 +#: order/models.py:1914 order/serializers.py:1275 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1891 +#: order/models.py:1917 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1892 plugin/base/barcodes/api.py:481 +#: order/models.py:1918 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1900 +#: order/models.py:1926 msgid "Line" msgstr "" -#: order/models.py:1909 +#: order/models.py:1935 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1922 order/models.py:2239 +#: order/models.py:1948 order/models.py:2266 #: templates/js/translated/return_order.js:721 msgid "Item" msgstr "" -#: order/models.py:1923 +#: order/models.py:1949 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1932 +#: order/models.py:1958 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2021 +#: order/models.py:2047 msgid "Return Order reference" msgstr "" -#: order/models.py:2033 +#: order/models.py:2059 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2045 +#: order/models.py:2071 msgid "Return order status" msgstr "" -#: order/models.py:2224 +#: order/models.py:2237 +msgid "Return Order Line Item" +msgstr "" + +#: order/models.py:2251 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2240 +#: order/models.py:2267 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2246 +#: order/models.py:2273 msgid "Received Date" msgstr "" -#: order/models.py:2247 +#: order/models.py:2274 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2258 templates/js/translated/return_order.js:732 +#: order/models.py:2285 templates/js/translated/return_order.js:732 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2259 +#: order/models.py:2286 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2266 +#: order/models.py:2293 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:79 order/templates/order/po_sidebar.html:5 +#: order/models.py:2303 +msgid "Return Order Extra Line" +msgstr "" + +#: order/serializers.py:83 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_purchase_order_report.html:22 @@ -5323,163 +5554,171 @@ msgstr "" msgid "Line Items" msgstr "" -#: order/serializers.py:83 +#: order/serializers.py:87 msgid "Completed Lines" msgstr "" -#: order/serializers.py:286 +#: order/serializers.py:305 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:301 order/serializers.py:1235 +#: order/serializers.py:320 order/serializers.py:1291 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:311 order/serializers.py:1245 +#: order/serializers.py:330 order/serializers.py:1301 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:439 +#: order/serializers.py:468 msgid "Order is not open" msgstr "" -#: order/serializers.py:460 +#: order/serializers.py:489 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:462 +#: order/serializers.py:491 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:472 +#: order/serializers.py:501 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:478 +#: order/serializers.py:507 msgid "Merge Items" msgstr "" -#: order/serializers.py:480 +#: order/serializers.py:509 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:498 +#: order/serializers.py:522 part/models.py:945 +msgid "Internal Part Number" +msgstr "" + +#: order/serializers.py:530 +msgid "Internal Part Name" +msgstr "" + +#: order/serializers.py:546 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:501 +#: order/serializers.py:549 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:509 +#: order/serializers.py:557 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:510 +#: order/serializers.py:558 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:549 order/serializers.py:1313 +#: order/serializers.py:598 order/serializers.py:1369 msgid "Line Item" msgstr "" -#: order/serializers.py:555 +#: order/serializers.py:604 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:565 order/serializers.py:673 order/serializers.py:1657 +#: order/serializers.py:614 order/serializers.py:722 order/serializers.py:1715 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:581 templates/js/translated/purchase_order.js:1130 +#: order/serializers.py:630 templates/js/translated/purchase_order.js:1130 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:589 templates/js/translated/purchase_order.js:1154 +#: order/serializers.py:638 templates/js/translated/purchase_order.js:1154 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:600 templates/js/translated/barcode.js:52 +#: order/serializers.py:649 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:601 +#: order/serializers.py:650 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:617 +#: order/serializers.py:666 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:641 +#: order/serializers.py:690 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:689 order/serializers.py:1673 +#: order/serializers.py:738 order/serializers.py:1731 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:705 +#: order/serializers.py:754 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:716 +#: order/serializers.py:765 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1062 +#: order/serializers.py:1117 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1122 +#: order/serializers.py:1178 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1183 order/serializers.py:1322 +#: order/serializers.py:1239 order/serializers.py:1378 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1202 +#: order/serializers.py:1258 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1332 +#: order/serializers.py:1388 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1354 order/serializers.py:1460 +#: order/serializers.py:1410 order/serializers.py:1516 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1357 order/serializers.py:1463 +#: order/serializers.py:1413 order/serializers.py:1519 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1404 +#: order/serializers.py:1460 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1411 +#: order/serializers.py:1467 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1627 +#: order/serializers.py:1685 msgid "Return order line item" msgstr "" -#: order/serializers.py:1633 +#: order/serializers.py:1691 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1636 +#: order/serializers.py:1694 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1665 +#: order/serializers.py:1723 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1743 +#: order/serializers.py:1806 msgid "Line price currency" msgstr "" @@ -5809,7 +6048,7 @@ msgstr "" #: 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:1073 +#: templates/js/translated/part.js:1076 #: templates/js/translated/purchase_order.js:1752 #: templates/js/translated/return_order.js:380 #: templates/js/translated/sales_order.js:891 @@ -5905,34 +6144,29 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:398 part/models.py:3944 part/stocktake.py:219 +#: part/admin.py:39 part/admin.py:398 part/models.py:3991 part/stocktake.py:219 #: stock/admin.py:152 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:405 part/models.py:3945 part/stocktake.py:220 -#: stock/admin.py:156 -msgid "Part Name" -msgstr "" - #: part/admin.py:45 part/stocktake.py:221 msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:940 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:944 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 -#: templates/js/translated/part.js:1227 templates/js/translated/part.js:2341 +#: templates/js/translated/part.js:1230 templates/js/translated/part.js:2344 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:949 part/templates/part/part_base.html:277 -#: report/models.py:162 templates/js/translated/part.js:1232 -#: templates/js/translated/part.js:2347 +#: part/admin.py:50 part/models.py:953 part/templates/part/part_base.html:277 +#: report/models.py:162 templates/js/translated/part.js:1235 +#: templates/js/translated/part.js:2350 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:319 part/models.py:922 +#: part/admin.py:53 part/admin.py:319 part/models.py:926 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5945,7 +6179,8 @@ msgstr "" msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:304 part/stocktake.py:223 +#: part/admin.py:67 part/admin.py:304 part/serializers.py:837 +#: part/stocktake.py:223 msgid "Category Name" msgstr "" @@ -5957,11 +6192,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:908 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:912 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1036 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1040 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5969,18 +6204,19 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:150 part/templates/part/part_base.html:241 stock/admin.py:235 -#: templates/js/translated/part.js:715 templates/js/translated/part.js:2153 +#: part/admin.py:150 part/serializers.py:854 +#: part/templates/part/part_base.html:241 stock/admin.py:235 +#: templates/js/translated/part.js:714 templates/js/translated/part.js:2156 msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3088 part/models.py:3102 -#: templates/js/translated/part.js:970 +#: part/admin.py:155 part/models.py:3098 part/models.py:3112 +#: templates/js/translated/part.js:973 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3095 part/models.py:3109 -#: templates/js/translated/part.js:980 +#: part/admin.py:158 part/models.py:3105 part/models.py:3119 +#: templates/js/translated/part.js:983 msgid "Maximum Cost" msgstr "" @@ -5997,14 +6233,14 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:396 part/serializers.py:124 -#: part/serializers.py:267 part/serializers.py:386 +#: part/admin.py:325 part/models.py:397 part/serializers.py:130 +#: part/serializers.py:282 part/serializers.py:404 #: 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:2807 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:203 msgid "Parts" msgstr "" @@ -6021,125 +6257,117 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:402 part/models.py:3946 -msgid "Part IPN" -msgstr "" - -#: part/admin.py:415 part/serializers.py:1274 +#: part/admin.py:415 part/serializers.py:1302 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:420 part/serializers.py:1289 +#: part/admin.py:420 part/serializers.py:1317 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "" -#: part/api.py:104 +#: part/api.py:105 msgid "Starred" msgstr "" -#: part/api.py:106 +#: part/api.py:107 msgid "Filter by starred categories" msgstr "" -#: part/api.py:123 stock/api.py:312 +#: part/api.py:124 stock/api.py:312 msgid "Depth" msgstr "" -#: part/api.py:123 +#: part/api.py:124 msgid "Filter by category depth" msgstr "" -#: part/api.py:141 stock/api.py:330 +#: part/api.py:142 stock/api.py:330 msgid "Top Level" msgstr "" -#: part/api.py:143 +#: part/api.py:144 msgid "Filter by top-level categories" msgstr "" -#: part/api.py:156 stock/api.py:345 +#: part/api.py:157 stock/api.py:345 msgid "Cascade" msgstr "" -#: part/api.py:158 +#: part/api.py:159 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:179 templates/js/translated/part.js:308 +#: part/api.py:180 templates/js/translated/part.js:307 msgid "Parent" msgstr "" -#: part/api.py:181 +#: part/api.py:182 msgid "Filter by parent category" msgstr "" -#: part/api.py:214 +#: part/api.py:215 msgid "Exclude Tree" msgstr "" -#: part/api.py:216 +#: part/api.py:217 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:449 +#: part/api.py:442 msgid "Has Results" msgstr "" -#: part/api.py:616 +#: part/api.py:609 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:634 +#: part/api.py:627 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:650 +#: part/api.py:643 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:734 +#: part/api.py:727 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:881 -msgid "Valid" -msgstr "" - -#: part/api.py:882 +#: part/api.py:875 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:888 +#: part/api.py:881 msgid "This option must be selected" msgstr "" -#: part/api.py:1105 +#: part/api.py:1098 msgid "BOM Valid" msgstr "" -#: part/api.py:1508 part/models.py:932 part/models.py:3374 part/models.py:3889 -#: part/serializers.py:401 part/serializers.py:1130 -#: part/templates/part/part_base.html:260 stock/api.py:791 +#: part/api.py:1494 part/models.py:936 part/models.py:3385 part/models.py:3936 +#: part/serializers.py:419 part/serializers.py:1158 +#: part/templates/part/part_base.html:260 stock/api.py:783 #: 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:2380 msgid "Category" msgstr "" -#: part/api.py:1796 +#: part/api.py:1784 msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:104 part/models.py:975 +#: part/bom.py:170 part/models.py:104 part/models.py:979 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:833 +#: part/bom.py:171 part/serializers.py:861 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6148,7 +6376,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:85 part/models.py:3890 part/templates/part/category.html:16 +#: part/models.py:85 part/models.py:3937 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -6163,7 +6391,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:110 stock/models.py:175 templates/js/translated/part.js:2810 +#: part/models.py:110 stock/models.py:175 templates/js/translated/part.js:2813 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 @@ -6195,1002 +6423,1035 @@ msgstr "" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:485 +#: part/models.py:486 +msgid "Cannot delete this part as it is locked" +msgstr "" + +#: part/models.py:489 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:490 +#: part/models.py:494 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:528 +#: part/models.py:532 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:576 part/models.py:583 +#: part/models.py:580 part/models.py:587 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:595 +#: part/models.py:599 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:658 +#: part/models.py:662 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:736 +#: part/models.py:740 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:837 +#: part/models.py:841 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:847 +#: part/models.py:851 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:862 +#: part/models.py:866 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:891 part/models.py:3945 +#: part/models.py:895 part/models.py:3992 msgid "Part name" msgstr "" -#: part/models.py:896 +#: part/models.py:900 msgid "Is Template" msgstr "" -#: part/models.py:897 +#: part/models.py:901 msgid "Is this part a template part?" msgstr "" -#: part/models.py:907 +#: part/models.py:911 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:915 +#: part/models.py:919 msgid "Part description (optional)" msgstr "" -#: part/models.py:923 +#: part/models.py:927 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:933 +#: part/models.py:937 msgid "Part category" msgstr "" -#: part/models.py:941 -msgid "Internal Part Number" -msgstr "" - -#: part/models.py:948 +#: part/models.py:952 msgid "Part revision or version number" msgstr "" -#: part/models.py:973 +#: part/models.py:977 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1019 part/templates/part/part_base.html:376 +#: part/models.py:1023 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:1020 +#: part/models.py:1024 msgid "Default supplier part" msgstr "" -#: part/models.py:1027 +#: part/models.py:1031 msgid "Default Expiry" msgstr "" -#: part/models.py:1028 +#: part/models.py:1032 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1037 +#: part/models.py:1041 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1046 +#: part/models.py:1050 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1053 +#: part/models.py:1057 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1059 +#: part/models.py:1063 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1065 +#: part/models.py:1069 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1071 +#: part/models.py:1075 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1077 +#: part/models.py:1081 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1081 +#: part/models.py:1085 msgid "Is this part active?" msgstr "" -#: part/models.py:1087 +#: part/models.py:1090 templates/js/translated/part.js:818 +#: templates/js/translated/table_filters.js:721 +msgid "Locked" +msgstr "" + +#: part/models.py:1091 +msgid "Locked parts cannot be edited" +msgstr "" + +#: part/models.py:1097 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1093 +#: part/models.py:1103 msgid "BOM checksum" msgstr "" -#: part/models.py:1094 +#: part/models.py:1104 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1102 +#: part/models.py:1112 msgid "BOM checked by" msgstr "" -#: part/models.py:1107 +#: part/models.py:1117 msgid "BOM checked date" msgstr "" -#: part/models.py:1123 +#: part/models.py:1133 msgid "Creation User" msgstr "" -#: part/models.py:1133 +#: part/models.py:1143 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1138 part/templates/part/part_base.html:339 +#: part/models.py:1148 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:2474 msgid "Last Stocktake" msgstr "" -#: part/models.py:2011 +#: part/models.py:2021 msgid "Sell multiple" msgstr "" -#: part/models.py:3002 +#: part/models.py:3012 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3018 +#: part/models.py:3028 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3019 +#: part/models.py:3029 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3025 +#: part/models.py:3035 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3026 +#: part/models.py:3036 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3032 +#: part/models.py:3042 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3033 +#: part/models.py:3043 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3039 +#: part/models.py:3049 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3040 +#: part/models.py:3050 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3046 +#: part/models.py:3056 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3047 +#: part/models.py:3057 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3053 +#: part/models.py:3063 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3054 +#: part/models.py:3064 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3060 +#: part/models.py:3070 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3061 +#: part/models.py:3071 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3067 +#: part/models.py:3077 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3068 +#: part/models.py:3078 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3074 +#: part/models.py:3084 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3075 +#: part/models.py:3085 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3081 +#: part/models.py:3091 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3082 +#: part/models.py:3092 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3089 +#: part/models.py:3099 msgid "Override minimum cost" msgstr "" -#: part/models.py:3096 +#: part/models.py:3106 msgid "Override maximum cost" msgstr "" -#: part/models.py:3103 +#: part/models.py:3113 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3110 +#: part/models.py:3120 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3116 +#: part/models.py:3126 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3117 +#: part/models.py:3127 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3123 +#: part/models.py:3133 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3124 +#: part/models.py:3134 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3130 +#: part/models.py:3140 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3131 +#: part/models.py:3141 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3137 +#: part/models.py:3147 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3138 +#: part/models.py:3148 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3157 +#: part/models.py:3167 msgid "Part for stocktake" msgstr "" -#: part/models.py:3162 +#: part/models.py:3172 msgid "Item Count" msgstr "" -#: part/models.py:3163 +#: part/models.py:3173 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3171 +#: part/models.py:3181 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3175 part/models.py:3258 +#: part/models.py:3185 part/models.py:3268 #: part/templates/part/part_scheduling.html:13 #: 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:1086 templates/js/translated/pricing.js:826 +#: templates/js/translated/part.js:1089 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 #: templates/js/translated/purchase_order.js:1731 #: templates/js/translated/stock.js:2821 msgid "Date" msgstr "" -#: part/models.py:3176 +#: part/models.py:3186 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3184 +#: part/models.py:3194 msgid "Additional notes" msgstr "" -#: part/models.py:3194 +#: part/models.py:3204 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3200 +#: part/models.py:3210 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3201 +#: part/models.py:3211 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3207 +#: part/models.py:3217 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3208 +#: part/models.py:3218 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3264 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3274 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3265 +#: part/models.py:3275 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3270 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3280 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3271 +#: part/models.py:3281 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3281 +#: part/models.py:3291 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3423 +#: part/models.py:3301 +msgid "Part Sale Price Break" +msgstr "" + +#: part/models.py:3413 +msgid "Part Test Template" +msgstr "" + +#: part/models.py:3439 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3444 part/models.py:3608 +#: part/models.py:3460 part/models.py:3629 msgid "Choices must be unique" msgstr "" -#: part/models.py:3455 +#: part/models.py:3471 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3466 +#: part/models.py:3482 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3483 templates/js/translated/part.js:2880 +#: part/models.py:3499 templates/js/translated/part.js:2883 msgid "Test Name" msgstr "" -#: part/models.py:3484 +#: part/models.py:3500 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3490 +#: part/models.py:3506 msgid "Test Key" msgstr "" -#: part/models.py:3491 +#: part/models.py:3507 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3498 +#: part/models.py:3514 msgid "Test Description" msgstr "" -#: part/models.py:3499 +#: part/models.py:3515 msgid "Enter description for this test" msgstr "" -#: part/models.py:3503 report/models.py:209 -#: templates/js/translated/part.js:2901 +#: part/models.py:3519 report/models.py:209 +#: templates/js/translated/part.js:2904 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "" -#: part/models.py:3503 +#: part/models.py:3519 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3508 templates/js/translated/part.js:2909 +#: part/models.py:3524 templates/js/translated/part.js:2912 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3509 +#: part/models.py:3525 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3514 templates/js/translated/part.js:2917 +#: part/models.py:3530 templates/js/translated/part.js:2920 msgid "Requires Value" msgstr "" -#: part/models.py:3515 +#: part/models.py:3531 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3520 templates/js/translated/part.js:2924 +#: part/models.py:3536 templates/js/translated/part.js:2927 msgid "Requires Attachment" msgstr "" -#: part/models.py:3522 +#: part/models.py:3538 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3528 part/models.py:3667 templates/js/translated/part.js:1637 +#: part/models.py:3544 part/models.py:3688 templates/js/translated/part.js:1640 msgid "Choices" msgstr "" -#: part/models.py:3529 +#: part/models.py:3545 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3583 +#: part/models.py:3577 +msgid "Part Parameter Template" +msgstr "" + +#: part/models.py:3604 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3588 +#: part/models.py:3609 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3625 +#: part/models.py:3646 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3640 +#: part/models.py:3661 msgid "Parameter Name" msgstr "" -#: part/models.py:3647 +#: part/models.py:3668 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3655 +#: part/models.py:3676 msgid "Parameter description" msgstr "" -#: part/models.py:3661 templates/js/translated/part.js:1628 -#: templates/js/translated/table_filters.js:825 +#: part/models.py:3682 templates/js/translated/part.js:1631 +#: templates/js/translated/table_filters.js:830 msgid "Checkbox" msgstr "" -#: part/models.py:3662 +#: part/models.py:3683 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3668 +#: part/models.py:3689 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3745 +#: part/models.py:3723 +msgid "Part Parameter" +msgstr "" + +#: part/models.py:3749 +msgid "Parameter cannot be modified - part is locked" +msgstr "" + +#: part/models.py:3785 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3788 +#: part/models.py:3828 msgid "Parent Part" msgstr "" -#: part/models.py:3796 part/models.py:3897 part/models.py:3898 +#: part/models.py:3836 part/models.py:3944 part/models.py:3945 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3801 -msgid "Data" +#: part/models.py:3842 +msgid "Parameter Value" msgstr "" -#: part/models.py:3802 -msgid "Parameter Value" +#: part/models.py:3892 +msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:3904 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3951 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3905 +#: part/models.py:3952 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3943 +#: part/models.py:3990 msgid "Part ID or part name" msgstr "" -#: part/models.py:3944 +#: part/models.py:3991 msgid "Unique part ID value" msgstr "" -#: part/models.py:3946 +#: part/models.py:3993 msgid "Part IPN value" msgstr "" -#: part/models.py:3947 +#: part/models.py:3994 msgid "Level" msgstr "" -#: part/models.py:3947 +#: part/models.py:3994 msgid "BOM level" msgstr "" -#: part/models.py:4037 +#: part/models.py:4105 +msgid "BOM item cannot be modified - assembly is locked" +msgstr "" + +#: part/models.py:4112 +msgid "BOM item cannot be modified - variant assembly is locked" +msgstr "" + +#: part/models.py:4122 msgid "Select parent part" msgstr "" -#: part/models.py:4047 +#: part/models.py:4132 msgid "Sub part" msgstr "" -#: part/models.py:4048 +#: part/models.py:4133 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4059 +#: part/models.py:4144 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4065 +#: part/models.py:4150 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4071 +#: part/models.py:4156 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4078 part/templates/part/upload_bom.html:55 +#: part/models.py:4163 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4079 +#: part/models.py:4164 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4086 +#: part/models.py:4171 msgid "BOM item reference" msgstr "" -#: part/models.py:4094 +#: part/models.py:4179 msgid "BOM item notes" msgstr "" -#: part/models.py:4100 +#: part/models.py:4185 msgid "Checksum" msgstr "" -#: part/models.py:4101 +#: part/models.py:4186 msgid "BOM line checksum" msgstr "" -#: part/models.py:4106 templates/js/translated/table_filters.js:174 +#: part/models.py:4191 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4107 +#: part/models.py:4192 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4112 part/templates/part/upload_bom.html:57 +#: part/models.py:4197 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:4113 +#: part/models.py:4198 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4118 part/templates/part/upload_bom.html:56 +#: part/models.py:4203 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4119 +#: part/models.py:4204 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4204 stock/models.py:663 +#: part/models.py:4289 stock/models.py:663 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4214 part/models.py:4216 +#: part/models.py:4299 part/models.py:4301 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4354 +#: part/models.py:4439 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4375 +#: part/models.py:4460 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4388 +#: part/models.py:4473 msgid "Parent BOM item" msgstr "" -#: part/models.py:4396 +#: part/models.py:4481 msgid "Substitute part" msgstr "" -#: part/models.py:4412 +#: part/models.py:4497 msgid "Part 1" msgstr "" -#: part/models.py:4420 +#: part/models.py:4505 msgid "Part 2" msgstr "" -#: part/models.py:4421 +#: part/models.py:4506 msgid "Select Related Part" msgstr "" -#: part/models.py:4440 +#: part/models.py:4525 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4445 +#: part/models.py:4530 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:118 +#: part/serializers.py:124 msgid "Parent Category" msgstr "" -#: part/serializers.py:119 templates/js/translated/part.js:309 +#: part/serializers.py:125 templates/js/translated/part.js:308 msgid "Parent part category" msgstr "" -#: part/serializers.py:126 part/serializers.py:148 +#: part/serializers.py:132 part/serializers.py:154 #: part/templates/part/category.html:122 part/templates/part/category.html:207 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" -#: part/serializers.py:180 +#: part/serializers.py:189 msgid "Results" msgstr "" -#: part/serializers.py:181 +#: part/serializers.py:190 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:205 part/serializers.py:223 stock/serializers.py:562 +#: part/serializers.py:217 part/serializers.py:235 stock/serializers.py:608 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:268 +#: part/serializers.py:283 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:392 +#: part/serializers.py:410 msgid "No parts selected" msgstr "" -#: part/serializers.py:402 +#: part/serializers.py:420 msgid "Select category" msgstr "" -#: part/serializers.py:437 +#: part/serializers.py:455 msgid "Original Part" msgstr "" -#: part/serializers.py:438 +#: part/serializers.py:456 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:461 msgid "Copy Image" msgstr "" -#: part/serializers.py:444 +#: part/serializers.py:462 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:450 part/templates/part/detail.html:277 +#: part/serializers.py:468 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:451 +#: part/serializers.py:469 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:457 +#: part/serializers.py:475 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:458 +#: part/serializers.py:476 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:464 +#: part/serializers.py:482 msgid "Copy Notes" msgstr "" -#: part/serializers.py:465 +#: part/serializers.py:483 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:483 +#: part/serializers.py:501 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:485 +#: part/serializers.py:503 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:492 +#: part/serializers.py:510 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:493 +#: part/serializers.py:511 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:510 +#: part/serializers.py:528 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:526 +#: part/serializers.py:544 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:536 +#: part/serializers.py:554 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:543 +#: part/serializers.py:561 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:552 +#: part/serializers.py:570 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:563 +#: part/serializers.py:581 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:570 +#: part/serializers.py:588 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:834 -msgid "External Stock" -msgstr "" - -#: part/serializers.py:836 +#: part/serializers.py:864 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:839 +#: part/serializers.py:867 msgid "Variant Stock" msgstr "" -#: part/serializers.py:869 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:472 +#: part/serializers.py:897 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:870 +#: part/serializers.py:898 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:876 templates/js/translated/part.js:102 +#: part/serializers.py:904 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:877 +#: part/serializers.py:905 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:883 +#: part/serializers.py:911 msgid "Supplier Information" msgstr "" -#: part/serializers.py:884 +#: part/serializers.py:912 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:892 +#: part/serializers.py:920 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:893 +#: part/serializers.py:921 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:898 +#: part/serializers.py:926 msgid "Existing Image" msgstr "" -#: part/serializers.py:899 +#: part/serializers.py:927 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:916 +#: part/serializers.py:944 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1122 +#: part/serializers.py:1150 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1132 +#: part/serializers.py:1160 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1142 +#: part/serializers.py:1170 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1148 +#: part/serializers.py:1176 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1149 +#: part/serializers.py:1177 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1154 +#: part/serializers.py:1182 msgid "Generate Report" msgstr "" -#: part/serializers.py:1155 +#: part/serializers.py:1183 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1160 +#: part/serializers.py:1188 msgid "Update Parts" msgstr "" -#: part/serializers.py:1161 +#: part/serializers.py:1189 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1169 +#: part/serializers.py:1197 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1275 +#: part/serializers.py:1303 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1282 +#: part/serializers.py:1310 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1290 +#: part/serializers.py:1318 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1297 +#: part/serializers.py:1325 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1326 +#: part/serializers.py:1354 msgid "Update" msgstr "" -#: part/serializers.py:1327 +#: part/serializers.py:1355 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1350 +#: part/serializers.py:1378 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1357 +#: part/serializers.py:1385 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1360 +#: part/serializers.py:1388 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1727 +#: part/serializers.py:1759 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1735 +#: part/serializers.py:1767 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1736 +#: part/serializers.py:1768 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1741 +#: part/serializers.py:1773 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1742 +#: part/serializers.py:1774 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1747 +#: part/serializers.py:1779 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1748 +#: part/serializers.py:1780 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1753 +#: part/serializers.py:1785 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1754 +#: part/serializers.py:1786 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1788 +#: part/serializers.py:1823 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1789 +#: part/serializers.py:1824 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1819 +#: part/serializers.py:1856 msgid "No part column specified" msgstr "" -#: part/serializers.py:1863 +#: part/serializers.py:1900 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1866 +#: part/serializers.py:1903 msgid "No matching part found" msgstr "" -#: part/serializers.py:1869 +#: part/serializers.py:1906 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1878 +#: part/serializers.py:1915 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1886 +#: part/serializers.py:1923 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1907 +#: part/serializers.py:1946 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:225 templates/js/translated/part.js:1067 -#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 +#: part/stocktake.py:225 templates/js/translated/part.js:1070 +#: templates/js/translated/part.js:1825 templates/js/translated/part.js:1881 #: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "" @@ -7508,7 +7769,7 @@ msgstr "" #: part/templates/part/part_base.html:52 #: stock/templates/stock/item_base.html:62 -#: stock/templates/stock/location.html:74 templates/js/translated/label.js:143 +#: stock/templates/stock/location.html:74 templates/js/translated/label.js:136 msgid "Print Label" msgstr "" @@ -7530,7 +7791,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:2296 msgid "Part actions" msgstr "" @@ -7570,6 +7831,10 @@ msgstr "" msgid "Part can be sold to customers" msgstr "" +#: part/templates/part/part_base.html:145 +msgid "Part is not active" +msgstr "" + #: part/templates/part/part_base.html:153 msgid "Part is virtual (not a physical part)" msgstr "" @@ -7598,7 +7863,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:322 templates/js/translated/bom.js:1071 -#: templates/js/translated/part.js:1265 templates/js/translated/part.js:2444 +#: templates/js/translated/part.js:1268 templates/js/translated/part.js:2447 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" @@ -7691,8 +7956,8 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/part.js:1243 templates/js/translated/part.js:2146 -#: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 +#: templates/js/translated/part.js:1246 templates/js/translated/part.js:2149 +#: templates/js/translated/part.js:2395 templates/js/translated/stock.js:1059 #: templates/js/translated/stock.js:2070 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -7812,8 +8077,8 @@ msgstr "" #: part/templates/part/stock_count.html:7 #: templates/js/translated/model_renderers.js:227 -#: templates/js/translated/part.js:705 templates/js/translated/part.js:2141 -#: templates/js/translated/part.js:2143 +#: templates/js/translated/part.js:704 templates/js/translated/part.js:2144 +#: templates/js/translated/part.js:2146 msgid "No Stock" msgstr "" @@ -7957,7 +8222,7 @@ msgstr "" msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2589 +#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2590 #: templates/js/translated/sales_order.js:1953 msgid "Insufficient stock available" msgstr "" @@ -8052,7 +8317,7 @@ msgstr "" msgid "Quantity to allocate" msgstr "" -#: plugin/base/label/label.py:39 templates/js/translated/label.js:155 +#: plugin/base/label/label.py:39 templates/js/translated/label.js:148 msgid "Label printing failed" msgstr "" @@ -8749,7 +9014,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report.html:25 #: report/templates/report/inventree_test_report.html:88 stock/models.py:825 -#: stock/serializers.py:149 stock/templates/stock/item_base.html:311 +#: stock/serializers.py:151 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:230 @@ -8779,7 +9044,7 @@ msgstr "" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2447 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2457 msgid "Result" msgstr "" @@ -8800,7 +9065,7 @@ msgid "No result" msgstr "" #: report/templates/report/inventree_test_report.html:153 -#: stock/templates/stock/stock_sidebar.html:16 +#: stock/serializers.py:591 stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" @@ -8830,10 +9095,6 @@ msgstr "" msgid "Location ID" msgstr "" -#: stock/admin.py:53 stock/admin.py:175 -msgid "Location Name" -msgstr "" - #: stock/admin.py:63 stock/templates/stock/location.html:131 #: stock/templates/stock/location.html:137 msgid "Location Path" @@ -8910,7 +9171,7 @@ msgstr "" msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:369 stock/serializers.py:1085 +#: stock/api.py:369 stock/serializers.py:1148 msgid "Parent Location" msgstr "" @@ -8918,44 +9179,45 @@ msgstr "" msgid "Filter by parent location" msgstr "" -#: stock/api.py:625 templates/js/translated/table_filters.js:427 +#: stock/api.py:617 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:813 +#: stock/api.py:805 msgid "Part Tree" msgstr "" -#: stock/api.py:843 +#: stock/api.py:835 msgid "Expiry date before" msgstr "" -#: stock/api.py:847 +#: stock/api.py:839 msgid "Expiry date after" msgstr "" -#: stock/api.py:850 stock/templates/stock/item_base.html:439 +#: stock/api.py:842 stock/serializers.py:596 +#: stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "" -#: stock/api.py:937 +#: stock/api.py:929 msgid "Quantity is required" msgstr "" -#: stock/api.py:943 +#: stock/api.py:935 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:974 +#: stock/api.py:966 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:984 +#: stock/api.py:976 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1015 +#: stock/api.py:1007 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -9022,7 +9284,7 @@ msgstr "" msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:669 stock/serializers.py:446 +#: stock/models.py:669 stock/serializers.py:477 msgid "Stock item cannot be created for virtual parts" msgstr "" @@ -9067,7 +9329,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:799 stock/serializers.py:1476 +#: stock/models.py:799 stock/serializers.py:1542 msgid "Packaging this stock item is stored in" msgstr "" @@ -9079,7 +9341,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:843 stock/serializers.py:1459 +#: stock/models.py:843 stock/serializers.py:1525 msgid "Batch code for this stock item" msgstr "" @@ -9156,7 +9418,7 @@ msgstr "" msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1520 stock/serializers.py:660 +#: stock/models.py:1520 stock/serializers.py:718 msgid "Serial numbers already exist" msgstr "" @@ -9188,7 +9450,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1658 stock/serializers.py:1365 +#: stock/models.py:1658 stock/serializers.py:1431 msgid "Duplicate stock items" msgstr "" @@ -9208,288 +9470,330 @@ msgstr "" msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2345 +#: stock/models.py:2317 +msgid "Stock Item Tracking" +msgstr "" + +#: stock/models.py:2350 msgid "Entry notes" msgstr "" -#: stock/models.py:2413 +#: stock/models.py:2390 +msgid "Stock Item Test Result" +msgstr "" + +#: stock/models.py:2423 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2418 +#: stock/models.py:2428 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2423 +#: stock/models.py:2433 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2447 +#: stock/models.py:2457 msgid "Test result" msgstr "" -#: stock/models.py:2454 +#: stock/models.py:2464 msgid "Test output value" msgstr "" -#: stock/models.py:2462 +#: stock/models.py:2472 msgid "Test result attachment" msgstr "" -#: stock/models.py:2466 +#: stock/models.py:2476 msgid "Test notes" msgstr "" -#: stock/models.py:2474 templates/js/translated/stock.js:1548 +#: stock/models.py:2484 templates/js/translated/stock.js:1548 msgid "Test station" msgstr "" -#: stock/models.py:2475 +#: stock/models.py:2485 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2481 +#: stock/models.py:2491 msgid "Started" msgstr "" -#: stock/models.py:2482 +#: stock/models.py:2492 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2488 +#: stock/models.py:2498 msgid "Finished" msgstr "" -#: stock/models.py:2489 +#: stock/models.py:2499 msgid "The timestamp of the test finish" msgstr "" -#: stock/serializers.py:74 +#: stock/serializers.py:76 msgid "Generated batch code" msgstr "" -#: stock/serializers.py:83 +#: stock/serializers.py:85 msgid "Select build order" msgstr "" -#: stock/serializers.py:92 +#: stock/serializers.py:94 msgid "Select stock item to generate batch code for" msgstr "" -#: stock/serializers.py:101 +#: stock/serializers.py:103 msgid "Select location to generate batch code for" msgstr "" -#: stock/serializers.py:110 +#: stock/serializers.py:112 msgid "Select part to generate batch code for" msgstr "" -#: stock/serializers.py:119 +#: stock/serializers.py:121 msgid "Select purchase order" msgstr "" -#: stock/serializers.py:126 +#: stock/serializers.py:128 msgid "Enter quantity for batch code" msgstr "" -#: stock/serializers.py:149 +#: stock/serializers.py:151 msgid "Generated serial number" msgstr "" -#: stock/serializers.py:158 +#: stock/serializers.py:160 msgid "Select part to generate serial number for" msgstr "" -#: stock/serializers.py:166 +#: stock/serializers.py:168 msgid "Quantity of serial numbers to generate" msgstr "" -#: stock/serializers.py:228 +#: stock/serializers.py:233 msgid "Test template for this result" msgstr "" -#: stock/serializers.py:247 +#: stock/serializers.py:252 msgid "Template ID or test name must be provided" msgstr "" -#: stock/serializers.py:279 +#: stock/serializers.py:284 msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:315 +#: stock/serializers.py:320 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:438 +#: stock/serializers.py:449 stock/templates/stock/item_base.html:193 +msgid "Parent Item" +msgstr "" + +#: stock/serializers.py:450 +msgid "Parent stock item" +msgstr "" + +#: stock/serializers.py:469 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:558 +#: stock/serializers.py:585 templates/js/translated/build.js:991 +#: templates/js/translated/build.js:2344 +msgid "Allocated Quantity" +msgstr "" + +#: stock/serializers.py:588 stock/templates/stock/item_base.html:437 +#: templates/js/translated/table_filters.js:435 users/models.py:174 +msgid "Expired" +msgstr "" + +#: stock/serializers.py:594 stock/templates/stock/stock_sidebar.html:20 +msgid "Child Items" +msgstr "" + +#: stock/serializers.py:598 +msgid "Tracking Items" +msgstr "" + +#: stock/serializers.py:604 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:595 +#: stock/serializers.py:623 +msgid "Minimum Pricing" +msgstr "" + +#: stock/serializers.py:629 +msgid "Maximum Pricing" +msgstr "" + +#: stock/serializers.py:653 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:608 +#: stock/serializers.py:666 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:615 +#: stock/serializers.py:673 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:626 stock/serializers.py:1322 stock/serializers.py:1578 +#: stock/serializers.py:684 stock/serializers.py:1388 stock/serializers.py:1644 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:633 +#: stock/serializers.py:691 msgid "Optional note field" msgstr "" -#: stock/serializers.py:643 +#: stock/serializers.py:701 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:698 +#: stock/serializers.py:756 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:705 +#: stock/serializers.py:763 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:706 +#: stock/serializers.py:764 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:711 stock/serializers.py:791 stock/serializers.py:887 -#: stock/serializers.py:937 +#: stock/serializers.py:769 stock/serializers.py:849 stock/serializers.py:945 +#: stock/serializers.py:995 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:719 +#: stock/serializers.py:777 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:727 +#: stock/serializers.py:785 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:738 +#: stock/serializers.py:796 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:751 +#: stock/serializers.py:809 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:786 +#: stock/serializers.py:844 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:821 +#: stock/serializers.py:879 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:834 +#: stock/serializers.py:892 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:851 +#: stock/serializers.py:909 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:882 +#: stock/serializers.py:940 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:919 +#: stock/serializers.py:977 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:925 +#: stock/serializers.py:983 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1021 stock/serializers.py:1093 +#: stock/serializers.py:1079 stock/serializers.py:1156 #: stock/templates/stock/location.html:165 #: stock/templates/stock/location.html:222 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1086 templates/js/translated/stock.js:152 +#: stock/serializers.py:1149 templates/js/translated/stock.js:152 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1194 +#: stock/serializers.py:1260 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1198 +#: stock/serializers.py:1264 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1202 +#: stock/serializers.py:1268 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1226 +#: stock/serializers.py:1292 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1232 +#: stock/serializers.py:1298 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1240 +#: stock/serializers.py:1306 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1250 stock/serializers.py:1504 +#: stock/serializers.py:1316 stock/serializers.py:1570 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1329 +#: stock/serializers.py:1395 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1334 +#: stock/serializers.py:1400 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1335 +#: stock/serializers.py:1401 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1340 +#: stock/serializers.py:1406 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1341 +#: stock/serializers.py:1407 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1351 +#: stock/serializers.py:1417 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1418 +#: stock/serializers.py:1484 msgid "No Change" msgstr "" -#: stock/serializers.py:1447 +#: stock/serializers.py:1513 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1466 +#: stock/serializers.py:1532 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1494 +#: stock/serializers.py:1560 msgid "Stock transaction notes" msgstr "" @@ -9758,10 +10062,6 @@ msgstr "" msgid "Build" msgstr "" -#: stock/templates/stock/item_base.html:193 -msgid "Parent Item" -msgstr "" - #: stock/templates/stock/item_base.html:211 msgid "No manufacturer set" msgstr "" @@ -9837,11 +10137,6 @@ msgstr "" msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:437 -#: templates/js/translated/table_filters.js:435 users/models.py:174 -msgid "Expired" -msgstr "" - #: stock/templates/stock/item_base.html:439 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" @@ -9989,10 +10284,6 @@ msgstr "" msgid "Allocations" msgstr "" -#: stock/templates/stock/stock_sidebar.html:20 -msgid "Child Items" -msgstr "" - #: templates/403.html:6 templates/403.html:12 templates/403_csrf.html:7 msgid "Permission Denied" msgstr "" @@ -10467,8 +10758,8 @@ 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:393 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:245 users/models.py:402 +#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 +#: templates/js/translated/stock.js:245 users/models.py:406 msgid "Delete" msgstr "" @@ -10508,12 +10799,12 @@ msgid "No category parameter templates found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:308 -#: templates/js/translated/part.js:1646 +#: templates/js/translated/part.js:1649 msgid "Edit Template" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:309 -#: templates/js/translated/part.js:1647 +#: templates/js/translated/part.js:1650 msgid "Delete Template" msgstr "" @@ -11146,7 +11437,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2556 +#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2557 msgid "Required Quantity" msgstr "" @@ -11160,7 +11451,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3219 +#: templates/js/translated/part.js:3222 msgid "Minimum Quantity" msgstr "" @@ -11515,7 +11806,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2500 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2501 msgid "Variant stock allowed" msgstr "" @@ -11535,30 +11826,30 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2621 +#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2622 msgid "External stock" msgstr "" -#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2595 +#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2596 #: templates/js/translated/sales_order.js:1946 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2599 +#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2600 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2601 -#: templates/js/translated/part.js:1257 +#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2602 +#: templates/js/translated/part.js:1260 #: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2603 +#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2604 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2586 +#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2587 msgid "Consumable item" msgstr "" @@ -11590,7 +11881,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2485 +#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2486 msgid "Required Part" msgstr "" @@ -11759,10 +12050,6 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:991 templates/js/translated/build.js:2344 -msgid "Allocated Quantity" -msgstr "" - #: templates/js/translated/build.js:1005 msgid "Location not specified" msgstr "" @@ -11874,9 +12161,9 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2117 templates/js/translated/build.js:2479 +#: templates/js/translated/build.js:2117 templates/js/translated/build.js:2480 #: templates/js/translated/forms.js:2163 templates/js/translated/forms.js:2179 -#: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 +#: templates/js/translated/part.js:2319 templates/js/translated/part.js:2745 #: templates/js/translated/stock.js:1983 templates/js/translated/stock.js:2710 msgid "Select" msgstr "" @@ -11907,59 +12194,59 @@ msgstr "" msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2455 +#: templates/js/translated/build.js:2456 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2456 +#: templates/js/translated/build.js:2457 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2474 +#: templates/js/translated/build.js:2475 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2504 templates/js/translated/part.js:791 -#: templates/js/translated/part.js:1203 +#: templates/js/translated/build.js:2505 templates/js/translated/part.js:790 +#: templates/js/translated/part.js:1206 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2539 +#: templates/js/translated/build.js:2540 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2591 +#: templates/js/translated/build.js:2592 #: templates/js/translated/sales_order.js:1951 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2646 +#: templates/js/translated/build.js:2647 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2653 +#: templates/js/translated/build.js:2654 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2654 +#: templates/js/translated/build.js:2655 msgid "Allocate tracked items against individual build outputs" msgstr "" -#: templates/js/translated/build.js:2662 +#: templates/js/translated/build.js:2663 #: templates/js/translated/sales_order.js:2052 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2667 templates/js/translated/stock.js:1868 +#: templates/js/translated/build.js:2668 templates/js/translated/stock.js:1868 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2671 +#: templates/js/translated/build.js:2672 #: templates/js/translated/sales_order.js:2046 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2675 +#: templates/js/translated/build.js:2676 msgid "Remove stock allocation" msgstr "" @@ -12106,7 +12393,7 @@ msgid "Delete Parameters" msgstr "" #: templates/js/translated/company.js:1191 -#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2245 +#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2248 msgid "Order parts" msgstr "" @@ -12123,34 +12410,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:1279 -#: templates/js/translated/company.js:1567 templates/js/translated/part.js:799 -#: templates/js/translated/part.js:1211 +#: templates/js/translated/company.js:1567 templates/js/translated/part.js:798 +#: templates/js/translated/part.js:1214 msgid "Template part" msgstr "" #: templates/js/translated/company.js:1283 -#: templates/js/translated/company.js:1571 templates/js/translated/part.js:803 -#: templates/js/translated/part.js:1215 +#: templates/js/translated/company.js:1571 templates/js/translated/part.js:802 +#: templates/js/translated/part.js:1218 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1465 +#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1468 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1528 +#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1531 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1529 +#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1532 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1434 +#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1437 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1550 +#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1553 msgid "Delete Parameter" msgstr "" @@ -12324,15 +12611,15 @@ msgstr "" msgid "No parts required for builds" msgstr "" -#: templates/js/translated/label.js:55 templates/js/translated/report.js:38 +#: templates/js/translated/label.js:48 templates/js/translated/report.js:38 msgid "Select Items" msgstr "" -#: templates/js/translated/label.js:56 templates/js/translated/report.js:39 +#: templates/js/translated/label.js:49 templates/js/translated/report.js:39 msgid "No items selected for printing" msgstr "" -#: templates/js/translated/label.js:150 +#: templates/js/translated/label.js:143 msgid "Labels sent to printer" msgstr "" @@ -12401,7 +12688,7 @@ msgstr "" #: templates/js/translated/news.js:38 #: templates/js/translated/notification.js:46 -#: templates/js/translated/part.js:1605 +#: templates/js/translated/part.js:1608 msgid "ID" msgstr "" @@ -12482,343 +12769,343 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:333 templates/js/translated/stock.js:175 +#: templates/js/translated/part.js:332 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:353 +#: templates/js/translated/part.js:352 msgid "Create Part Category" msgstr "" -#: templates/js/translated/part.js:356 +#: templates/js/translated/part.js:355 msgid "Create new category after this one" msgstr "" -#: templates/js/translated/part.js:357 +#: templates/js/translated/part.js:356 msgid "Part category created" msgstr "" -#: templates/js/translated/part.js:371 +#: templates/js/translated/part.js:370 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:384 +#: templates/js/translated/part.js:383 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:389 +#: templates/js/translated/part.js:388 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:398 +#: templates/js/translated/part.js:397 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:402 +#: templates/js/translated/part.js:401 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:407 +#: templates/js/translated/part.js:406 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:431 +#: templates/js/translated/part.js:430 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:433 +#: templates/js/translated/part.js:432 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:434 +#: templates/js/translated/part.js:433 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:462 +#: templates/js/translated/part.js:461 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:464 +#: templates/js/translated/part.js:463 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:475 +#: templates/js/translated/part.js:474 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:532 +#: templates/js/translated/part.js:531 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:533 +#: templates/js/translated/part.js:532 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:547 +#: templates/js/translated/part.js:546 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:549 +#: templates/js/translated/part.js:548 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:550 +#: templates/js/translated/part.js:549 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:551 +#: templates/js/translated/part.js:550 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:558 +#: templates/js/translated/part.js:557 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:594 +#: templates/js/translated/part.js:593 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:596 +#: templates/js/translated/part.js:595 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:601 +#: templates/js/translated/part.js:600 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:603 +#: templates/js/translated/part.js:602 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:620 +#: templates/js/translated/part.js:619 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:630 +#: templates/js/translated/part.js:629 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:633 +#: templates/js/translated/part.js:632 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:658 +#: templates/js/translated/part.js:657 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:686 -#: templates/js/translated/table_filters.js:747 +#: templates/js/translated/part.js:685 +#: templates/js/translated/table_filters.js:752 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:689 +#: templates/js/translated/part.js:688 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:749 +#: templates/js/translated/part.js:748 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:772 +#: templates/js/translated/part.js:771 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:795 templates/js/translated/part.js:1207 +#: templates/js/translated/part.js:794 templates/js/translated/part.js:1210 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:807 +#: templates/js/translated/part.js:806 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:811 +#: templates/js/translated/part.js:810 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:890 +#: templates/js/translated/part.js:893 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:890 +#: templates/js/translated/part.js:893 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:898 +#: templates/js/translated/part.js:901 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:902 +#: templates/js/translated/part.js:905 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:1051 +#: templates/js/translated/part.js:1054 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1109 templates/js/translated/part.js:1145 +#: templates/js/translated/part.js:1112 templates/js/translated/part.js:1148 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1113 templates/js/translated/part.js:1155 +#: templates/js/translated/part.js:1116 templates/js/translated/part.js:1158 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1282 +#: templates/js/translated/part.js:1285 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1600 +#: templates/js/translated/part.js:1603 msgid "No part parameter templates found" msgstr "" -#: templates/js/translated/part.js:1663 +#: templates/js/translated/part.js:1666 msgid "Edit Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1675 +#: templates/js/translated/part.js:1678 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/js/translated/part.js:1683 +#: templates/js/translated/part.js:1686 msgid "Delete Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1717 +#: templates/js/translated/part.js:1720 #: templates/js/translated/purchase_order.js:1654 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/part.js:1861 +#: templates/js/translated/part.js:1864 #: 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:1907 +#: templates/js/translated/part.js:1910 #: templates/js/translated/purchase_order.js:2220 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1970 +#: templates/js/translated/part.js:1973 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1992 +#: templates/js/translated/part.js:1995 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2080 templates/js/translated/part.js:2506 +#: templates/js/translated/part.js:2083 templates/js/translated/part.js:2509 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:2201 +#: templates/js/translated/part.js:2204 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2206 +#: templates/js/translated/part.js:2209 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2236 +#: templates/js/translated/part.js:2239 msgid "Set category" msgstr "" -#: templates/js/translated/part.js:2287 +#: templates/js/translated/part.js:2290 msgid "part" msgstr "" -#: templates/js/translated/part.js:2288 +#: templates/js/translated/part.js:2291 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2384 +#: templates/js/translated/part.js:2387 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 +#: templates/js/translated/part.js:2534 templates/js/translated/part.js:2664 #: templates/js/translated/stock.js:2669 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2547 +#: templates/js/translated/part.js:2550 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2645 +#: templates/js/translated/part.js:2648 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2689 +#: templates/js/translated/part.js:2684 templates/js/translated/stock.js:2689 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2761 +#: templates/js/translated/part.js:2764 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2777 +#: templates/js/translated/part.js:2780 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2865 +#: templates/js/translated/part.js:2868 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2887 templates/js/translated/search.js:342 +#: templates/js/translated/part.js:2890 templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/part.js:2937 templates/js/translated/stock.js:1456 +#: templates/js/translated/part.js:2940 templates/js/translated/stock.js:1456 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2938 templates/js/translated/stock.js:1457 +#: templates/js/translated/part.js:2941 templates/js/translated/stock.js:1457 #: templates/js/translated/stock.js:1731 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2942 +#: templates/js/translated/part.js:2945 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2958 +#: templates/js/translated/part.js:2961 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2972 +#: templates/js/translated/part.js:2975 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3051 templates/js/translated/part.js:3052 +#: templates/js/translated/part.js:3054 templates/js/translated/part.js:3055 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3054 +#: templates/js/translated/part.js:3057 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3060 +#: templates/js/translated/part.js:3063 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3110 +#: templates/js/translated/part.js:3113 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3116 +#: templates/js/translated/part.js:3119 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3212 +#: templates/js/translated/part.js:3215 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3228 +#: templates/js/translated/part.js:3231 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3273 +#: templates/js/translated/part.js:3276 msgid "Minimum Stock Level" msgstr "" @@ -13594,7 +13881,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1042 users/models.py:392 +#: templates/js/translated/stock.js:1042 users/models.py:396 msgid "Add" msgstr "" @@ -13948,7 +14235,7 @@ msgid "Include subcategories" msgstr "" #: templates/js/translated/table_filters.js:287 -#: templates/js/translated/table_filters.js:759 +#: templates/js/translated/table_filters.js:764 msgid "Subscribed" msgstr "" @@ -14103,40 +14390,44 @@ msgstr "" msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:725 +#: templates/js/translated/table_filters.js:722 +msgid "Show locked parts" +msgstr "" + +#: templates/js/translated/table_filters.js:730 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:733 -#: templates/js/translated/table_filters.js:833 +#: templates/js/translated/table_filters.js:738 +#: templates/js/translated/table_filters.js:838 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:734 +#: templates/js/translated/table_filters.js:739 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:738 +#: templates/js/translated/table_filters.js:743 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:739 +#: templates/js/translated/table_filters.js:744 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:743 +#: templates/js/translated/table_filters.js:748 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:751 +#: templates/js/translated/table_filters.js:756 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:763 +#: templates/js/translated/table_filters.js:768 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:829 +#: templates/js/translated/table_filters.js:834 msgid "Has Choices" msgstr "" @@ -14208,10 +14499,6 @@ msgstr "" msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:558 -msgid "Columns" -msgstr "" - #: templates/js/translated/tables.js:561 msgid "All" msgstr "" @@ -14485,34 +14772,34 @@ msgstr "" msgid "Revoked" msgstr "" -#: users/models.py:375 +#: users/models.py:379 msgid "Permission set" msgstr "" -#: users/models.py:384 +#: users/models.py:388 msgid "Group" msgstr "" -#: users/models.py:388 +#: users/models.py:392 msgid "View" msgstr "" -#: users/models.py:388 +#: users/models.py:392 msgid "Permission to view items" msgstr "" -#: users/models.py:392 +#: users/models.py:396 msgid "Permission to add items" msgstr "" -#: users/models.py:396 +#: users/models.py:400 msgid "Change" msgstr "" -#: users/models.py:398 +#: users/models.py:402 msgid "Permissions to edit items" msgstr "" -#: users/models.py:404 +#: users/models.py:408 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 c103ed3919e7..6977f96136b4 100644 --- a/src/backend/InvenTree/locale/es/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/es/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-07-05 02:47+0000\n" +"POT-Creation-Date: 2024-07-08 14:46+0000\n" "PO-Revision-Date: 2024-07-05 14:58\n" "Last-Translator: \n" "Language-Team: Spanish, Mexico\n" @@ -21,7 +21,7 @@ msgstr "" msgid "API endpoint not found" msgstr "Endpoint de API no encontrado" -#: InvenTree/api.py:520 +#: InvenTree/api.py:505 msgid "User does not have permission to view this model" msgstr "El usuario no tiene permiso para ver este modelo" @@ -56,21 +56,21 @@ msgstr "Detalles del error pueden encontrarse en el panel de administración" msgid "Enter date" msgstr "Ingrese la fecha" -#: InvenTree/fields.py:205 InvenTree/models.py:918 build/serializers.py:452 -#: build/serializers.py:530 build/templates/build/sidebar.html:21 -#: company/models.py:817 company/templates/company/sidebar.html:37 +#: InvenTree/fields.py:205 InvenTree/models.py:921 build/serializers.py:456 +#: build/serializers.py:534 build/templates/build/sidebar.html:21 +#: company/models.py:824 company/templates/company/sidebar.html:37 #: order/models.py:1296 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:3183 part/templates/part/part_sidebar.html:63 +#: part/models.py:3193 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:230 stock/models.py:2344 stock/models.py:2466 -#: stock/serializers.py:632 stock/serializers.py:790 stock/serializers.py:886 -#: stock/serializers.py:936 stock/serializers.py:1239 stock/serializers.py:1328 -#: stock/serializers.py:1493 stock/templates/stock/stock_sidebar.html:25 +#: stock/admin.py:230 stock/models.py:2349 stock/models.py:2476 +#: stock/serializers.py:690 stock/serializers.py:848 stock/serializers.py:944 +#: stock/serializers.py:994 stock/serializers.py:1305 stock/serializers.py:1394 +#: stock/serializers.py:1559 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:1081 +#: templates/js/translated/part.js:1084 #: templates/js/translated/purchase_order.js:2200 #: templates/js/translated/return_order.js:775 #: templates/js/translated/sales_order.js:1103 @@ -371,41 +371,41 @@ msgstr "" msgid "JSON metadata field, for use by external plugins" msgstr "" -#: InvenTree/models.py:408 +#: InvenTree/models.py:411 msgid "Improperly formatted pattern" msgstr "" -#: InvenTree/models.py:415 +#: InvenTree/models.py:418 msgid "Unknown format key specified" msgstr "" -#: InvenTree/models.py:421 +#: InvenTree/models.py:424 msgid "Missing required format key" msgstr "" -#: InvenTree/models.py:432 +#: InvenTree/models.py:435 msgid "Reference field cannot be empty" msgstr "" -#: InvenTree/models.py:440 +#: InvenTree/models.py:443 msgid "Reference must match required pattern" msgstr "" -#: InvenTree/models.py:471 +#: InvenTree/models.py:474 msgid "Reference number is too large" msgstr "" -#: InvenTree/models.py:719 +#: InvenTree/models.py:722 msgid "Duplicate names cannot exist under the same parent" msgstr "Los nombres duplicados no pueden existir bajo el mismo padre" -#: InvenTree/models.py:736 +#: InvenTree/models.py:739 msgid "Invalid choice" msgstr "Selección no válida" -#: InvenTree/models.py:766 common/models.py:2678 common/models.py:3103 -#: common/serializers.py:408 company/models.py:580 machine/models.py:24 -#: part/models.py:891 part/models.py:3639 plugin/models.py:51 +#: InvenTree/models.py:769 common/models.py:2659 common/models.py:3089 +#: common/serializers.py:412 company/models.py:587 machine/models.py:24 +#: part/models.py:895 part/models.py:3660 plugin/models.py:51 #: report/models.py:150 stock/models.py:74 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -417,20 +417,20 @@ msgstr "Selección no válida" #: templates/js/translated/company.js:724 #: templates/js/translated/company.js:913 #: templates/js/translated/company.js:1165 -#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1187 -#: templates/js/translated/part.js:1475 templates/js/translated/part.js:1611 -#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2716 +#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1190 +#: templates/js/translated/part.js:1478 templates/js/translated/part.js:1614 +#: templates/js/translated/part.js:2752 templates/js/translated/stock.js:2716 msgid "Name" msgstr "Nombre" -#: InvenTree/models.py:772 build/models.py:235 -#: build/templates/build/detail.html:24 common/models.py:138 -#: company/models.py:509 company/models.py:808 +#: InvenTree/models.py:775 build/models.py:242 +#: build/templates/build/detail.html:24 common/models.py:143 +#: company/models.py:515 company/models.py:815 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 -#: order/models.py:1329 part/admin.py:305 part/admin.py:408 part/models.py:914 -#: part/models.py:3654 part/templates/part/category.html:82 +#: order/models.py:1329 part/admin.py:305 part/admin.py:408 part/models.py:918 +#: part/models.py:3675 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:156 #: report/models.py:510 report/models.py:536 @@ -444,10 +444,10 @@ msgstr "Nombre" #: templates/js/translated/build.js:2139 templates/js/translated/company.js:519 #: templates/js/translated/company.js:1330 #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 -#: templates/js/translated/order.js:298 templates/js/translated/part.js:1239 -#: templates/js/translated/part.js:1484 templates/js/translated/part.js:1622 -#: templates/js/translated/part.js:1959 templates/js/translated/part.js:2355 -#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2897 +#: templates/js/translated/order.js:298 templates/js/translated/part.js:1242 +#: templates/js/translated/part.js:1487 templates/js/translated/part.js:1625 +#: templates/js/translated/part.js:1962 templates/js/translated/part.js:2358 +#: templates/js/translated/part.js:2788 templates/js/translated/part.js:2900 #: templates/js/translated/plugin.js:80 #: templates/js/translated/purchase_order.js:1706 #: templates/js/translated/purchase_order.js:1849 @@ -460,53 +460,53 @@ msgstr "Nombre" msgid "Description" msgstr "Descripción" -#: InvenTree/models.py:773 stock/models.py:81 +#: InvenTree/models.py:776 stock/models.py:81 msgid "Description (optional)" msgstr "Descripción (opcional)" -#: InvenTree/models.py:788 templates/js/translated/part.js:2794 +#: InvenTree/models.py:791 templates/js/translated/part.js:2797 #: templates/js/translated/stock.js:2757 msgid "Path" msgstr "Ruta" -#: InvenTree/models.py:918 +#: InvenTree/models.py:921 msgid "Markdown notes (optional)" msgstr "Notas (opcional)" -#: InvenTree/models.py:947 +#: InvenTree/models.py:950 msgid "Barcode Data" msgstr "Datos de código de barras" -#: InvenTree/models.py:948 +#: InvenTree/models.py:951 msgid "Third party barcode data" msgstr "Datos de código de barras de terceros" -#: InvenTree/models.py:954 +#: InvenTree/models.py:957 msgid "Barcode Hash" msgstr "Hash del Código de barras" -#: InvenTree/models.py:955 +#: InvenTree/models.py:958 msgid "Unique hash of barcode data" msgstr "Hash único de datos de código de barras" -#: InvenTree/models.py:1008 +#: InvenTree/models.py:1011 msgid "Existing barcode found" msgstr "Código de barras existente encontrado" -#: InvenTree/models.py:1051 +#: InvenTree/models.py:1054 msgid "Server Error" msgstr "Error de servidor" -#: InvenTree/models.py:1052 +#: InvenTree/models.py:1055 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:63 part/models.py:4192 +#: InvenTree/serializers.py:63 part/models.py:4277 msgid "Must be a valid number" msgstr "" #: InvenTree/serializers.py:100 company/models.py:186 -#: company/templates/company/company_base.html:112 part/models.py:3001 +#: company/templates/company/company_base.html:112 part/models.py:3011 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -556,16 +556,16 @@ msgstr "" msgid "Is this user a superuser" msgstr "" -#: InvenTree/serializers.py:445 common/models.py:2683 company/models.py:163 -#: company/models.py:782 machine/models.py:39 part/admin.py:88 -#: part/models.py:1081 plugin/models.py:66 +#: InvenTree/serializers.py:445 common/models.py:2664 company/models.py:163 +#: company/models.py:789 machine/models.py:39 part/admin.py:88 +#: part/models.py:1085 plugin/models.py:66 #: 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 #: templates/js/translated/table_filters.js:520 #: templates/js/translated/table_filters.js:716 -#: templates/js/translated/table_filters.js:796 users/models.py:182 +#: templates/js/translated/table_filters.js:801 users/models.py:182 msgid "Active" msgstr "" @@ -597,7 +597,7 @@ msgstr "" msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:581 +#: InvenTree/serializers.py:581 importer/models.py:60 msgid "Data File" msgstr "" @@ -651,7 +651,7 @@ msgstr "" msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/status.py:66 part/serializers.py:1174 +#: InvenTree/status.py:66 part/serializers.py:1202 msgid "Background worker check failed" msgstr "" @@ -711,47 +711,48 @@ msgstr "" msgid "About InvenTree" msgstr "" -#: build/api.py:255 +#: build/api.py:248 msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:299 part/models.py:4070 templates/js/translated/bom.js:997 -#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 +#: build/api.py:292 build/serializers.py:1190 part/models.py:4155 +#: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 +#: templates/js/translated/build.js:2521 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:300 part/models.py:4064 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 +#: build/api.py:293 build/serializers.py:1191 part/models.py:4149 +#: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 +#: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2530 #: templates/js/translated/table_filters.js:186 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:587 msgid "Optional" msgstr "" -#: build/api.py:301 templates/js/translated/table_filters.js:408 +#: build/api.py:294 templates/js/translated/table_filters.js:408 #: templates/js/translated/table_filters.js:579 msgid "Tracked" msgstr "" -#: build/api.py:303 part/admin.py:144 templates/js/translated/build.js:1744 -#: templates/js/translated/build.js:2629 +#: build/api.py:296 part/admin.py:144 templates/js/translated/build.js:1744 +#: templates/js/translated/build.js:2630 #: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:571 msgid "Allocated" msgstr "" -#: build/api.py:311 company/models.py:872 company/serializers.py:359 +#: build/api.py:304 company/models.py:879 company/serializers.py:386 #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2561 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2562 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:234 -#: templates/js/translated/part.js:693 templates/js/translated/part.js:695 -#: templates/js/translated/part.js:700 +#: 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 #: templates/js/translated/table_filters.js:575 msgid "Available" @@ -760,7 +761,7 @@ msgstr "" #: build/models.py:85 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 -#: stock/serializers.py:82 templates/email/build_order_completed.html:16 +#: stock/serializers.py:84 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:2892 msgid "Build Order" @@ -781,35 +782,39 @@ msgstr "" msgid "Assembly BOM has not been validated" msgstr "" -#: build/models.py:134 part/templates/part/part_base.html:145 -msgid "Part is not active" +#: build/models.py:134 +msgid "Build order cannot be created for an inactive part" +msgstr "" + +#: build/models.py:141 +msgid "Build order cannot be created for an unlocked part" msgstr "" -#: build/models.py:148 +#: build/models.py:155 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:159 order/models.py:240 +#: build/models.py:166 order/models.py:240 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:165 +#: build/models.py:172 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:226 +#: build/models.py:233 msgid "Build Order Reference" msgstr "" -#: build/models.py:227 order/models.py:463 order/models.py:926 -#: order/models.py:1289 order/models.py:2020 part/admin.py:411 -#: part/models.py:4085 part/templates/part/upload_bom.html:54 +#: build/models.py:234 build/serializers.py:1189 order/models.py:463 +#: order/models.py:926 order/models.py:1289 order/models.py:2046 +#: part/admin.py:411 part/models.py:4170 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: 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/build.js:2513 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2065 #: templates/js/translated/return_order.js:728 @@ -817,27 +822,28 @@ msgstr "" msgid "Reference" msgstr "" -#: build/models.py:238 +#: build/models.py:245 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:246 build/templates/build/build_base.html:183 +#: build/models.py:253 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/models.py:247 +#: build/models.py:254 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:252 build/templates/build/build_base.html:97 -#: build/templates/build/detail.html:29 company/models.py:1026 order/api.py:805 -#: order/models.py:1414 order/models.py:1559 order/models.py:1560 -#: part/api.py:1494 part/api.py:1788 part/models.py:395 part/models.py:3012 -#: part/models.py:3156 part/models.py:3303 part/models.py:3324 -#: part/models.py:3346 part/models.py:3477 part/models.py:3787 -#: part/models.py:3943 part/models.py:4036 part/models.py:4395 -#: part/serializers.py:1120 part/serializers.py:1726 +#: build/models.py:259 build/serializers.py:1184 +#: build/templates/build/build_base.html:97 +#: build/templates/build/detail.html:29 company/models.py:1034 order/api.py:759 +#: order/models.py:1419 order/models.py:1574 order/models.py:1575 +#: part/api.py:1480 part/api.py:1776 part/models.py:396 part/models.py:3022 +#: part/models.py:3166 part/models.py:3314 part/models.py:3335 +#: part/models.py:3357 part/models.py:3493 part/models.py:3827 +#: part/models.py:3990 part/models.py:4121 part/models.py:4480 +#: part/serializers.py:1148 part/serializers.py:1758 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -848,8 +854,8 @@ msgstr "" #: 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:109 stock/serializers.py:157 stock/serializers.py:423 -#: stock/serializers.py:820 templates/InvenTree/search.html:82 +#: stock/serializers.py:111 stock/serializers.py:159 stock/serializers.py:443 +#: stock/serializers.py:878 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 @@ -862,8 +868,8 @@ msgstr "" #: templates/js/translated/company.js:1116 #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 -#: templates/js/translated/part.js:1944 templates/js/translated/part.js:2016 -#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:1947 templates/js/translated/part.js:2019 +#: templates/js/translated/part.js:2327 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:1848 @@ -881,107 +887,107 @@ msgstr "" msgid "Part" msgstr "" -#: build/models.py:260 +#: build/models.py:267 msgid "Select part to build" msgstr "" -#: build/models.py:265 +#: build/models.py:272 msgid "Sales Order Reference" msgstr "" -#: build/models.py:269 +#: build/models.py:276 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:274 build/serializers.py:999 +#: build/models.py:281 build/serializers.py:1003 #: templates/js/translated/build.js:1731 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "" -#: build/models.py:278 +#: build/models.py:285 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:283 +#: build/models.py:290 msgid "Destination Location" msgstr "" -#: build/models.py:287 +#: build/models.py:294 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:291 +#: build/models.py:298 msgid "Build Quantity" msgstr "" -#: build/models.py:294 +#: build/models.py:301 msgid "Number of stock items to build" msgstr "" -#: build/models.py:298 +#: build/models.py:305 msgid "Completed items" msgstr "" -#: build/models.py:300 +#: build/models.py:307 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:304 +#: build/models.py:311 msgid "Build Status" msgstr "" -#: build/models.py:308 +#: build/models.py:315 msgid "Build status code" msgstr "" -#: build/models.py:317 build/serializers.py:286 order/serializers.py:580 -#: stock/models.py:839 stock/serializers.py:74 stock/serializers.py:1458 +#: build/models.py:324 build/serializers.py:290 order/serializers.py:629 +#: stock/models.py:839 stock/serializers.py:76 stock/serializers.py:1524 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "" -#: build/models.py:321 build/serializers.py:287 +#: build/models.py:328 build/serializers.py:291 msgid "Batch code for this build output" msgstr "" -#: build/models.py:324 order/models.py:316 order/serializers.py:119 -#: part/models.py:1115 part/templates/part/part_base.html:310 +#: build/models.py:331 order/models.py:316 order/serializers.py:127 +#: part/models.py:1125 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:328 +#: build/models.py:335 msgid "Target completion date" msgstr "" -#: build/models.py:329 +#: build/models.py:336 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:332 order/models.py:521 order/models.py:2065 +#: build/models.py:339 order/models.py:521 order/models.py:2091 #: templates/js/translated/build.js:2247 msgid "Completion Date" msgstr "" -#: build/models.py:338 +#: build/models.py:345 msgid "completed by" msgstr "" -#: build/models.py:346 templates/js/translated/build.js:2207 +#: build/models.py:353 templates/js/translated/build.js:2207 msgid "Issued by" msgstr "" -#: build/models.py:347 +#: build/models.py:354 msgid "User who issued this build order" msgstr "" -#: build/models.py:355 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 common/models.py:147 +#: build/models.py:362 build/templates/build/build_base.html:204 +#: build/templates/build/detail.html:122 common/models.py:152 #: order/models.py:334 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:232 part/models.py:1132 +#: order/templates/order/sales_order_base.html:232 part/models.py:1142 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 @@ -992,11 +998,11 @@ msgstr "" msgid "Responsible" msgstr "" -#: build/models.py:356 +#: build/models.py:363 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:361 build/templates/build/detail.html:108 +#: build/models.py:368 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 @@ -1008,21 +1014,22 @@ msgstr "" msgid "External Link" msgstr "" -#: build/models.py:362 common/models.py:3244 part/models.py:956 +#: build/models.py:369 common/models.py:3230 part/models.py:960 #: stock/models.py:835 msgid "Link to external URL" msgstr "" -#: build/models.py:366 +#: build/models.py:373 msgid "Build Priority" msgstr "" -#: build/models.py:369 +#: build/models.py:376 msgid "Priority of this build order" msgstr "" -#: build/models.py:376 common/models.py:131 order/admin.py:18 -#: order/models.py:298 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:383 common/models.py:122 common/models.py:136 +#: order/admin.py:18 order/models.py:298 order/serializers.py:108 +#: templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 #: templates/js/translated/purchase_order.js:1710 #: templates/js/translated/return_order.js:317 @@ -1032,65 +1039,66 @@ msgstr "" msgid "Project Code" msgstr "" -#: build/models.py:377 +#: build/models.py:384 msgid "Project code for this build order" msgstr "" -#: build/models.py:610 build/models.py:675 +#: build/models.py:617 build/models.py:682 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:632 +#: build/models.py:639 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:638 +#: build/models.py:645 msgid "A build order has been completed" msgstr "" -#: build/models.py:864 build/models.py:949 +#: build/models.py:871 build/models.py:956 msgid "No build output specified" msgstr "" -#: build/models.py:867 +#: build/models.py:874 msgid "Build output is already completed" msgstr "" -#: build/models.py:870 +#: build/models.py:877 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:953 build/serializers.py:219 build/serializers.py:268 -#: build/serializers.py:866 order/models.py:559 order/serializers.py:432 -#: order/serializers.py:575 part/serializers.py:1484 part/serializers.py:1884 -#: stock/models.py:678 stock/models.py:1496 stock/serializers.py:603 +#: build/models.py:960 build/serializers.py:223 build/serializers.py:272 +#: build/serializers.py:870 order/models.py:559 order/serializers.py:461 +#: order/serializers.py:624 part/serializers.py:1515 part/serializers.py:1921 +#: stock/models.py:678 stock/models.py:1496 stock/serializers.py:661 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:958 build/serializers.py:224 +#: build/models.py:965 build/serializers.py:228 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1018 build/serializers.py:547 +#: build/models.py:1025 build/serializers.py:551 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1359 +#: build/models.py:1366 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1384 +#: build/models.py:1391 msgid "Build object" msgstr "" -#: build/models.py:1398 build/models.py:1654 build/serializers.py:206 -#: build/serializers.py:253 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2563 -#: order/models.py:1272 order/models.py:1931 order/serializers.py:1327 +#: build/models.py:1405 build/models.py:1661 build/serializers.py:210 +#: build/serializers.py:257 build/serializers.py:1194 +#: build/templates/build/build_base.html:102 +#: build/templates/build/detail.html:34 common/models.py:2544 +#: order/models.py:1272 order/models.py:1957 order/serializers.py:1383 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:410 -#: part/forms.py:48 part/models.py:3170 part/models.py:4058 +#: part/forms.py:48 part/models.py:3180 part/models.py:4143 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1100,7 +1108,7 @@ msgstr "" #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:169 stock/admin.py:159 -#: stock/serializers.py:125 stock/serializers.py:165 stock/serializers.py:594 +#: stock/serializers.py:127 stock/serializers.py:167 stock/serializers.py:652 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 @@ -1111,8 +1119,8 @@ msgstr "" #: templates/js/translated/build.js:1746 templates/js/translated/build.js:2357 #: templates/js/translated/company.js:1818 #: templates/js/translated/model_renderers.js:236 -#: templates/js/translated/order.js:304 templates/js/translated/part.js:962 -#: templates/js/translated/part.js:1812 templates/js/translated/part.js:3342 +#: templates/js/translated/order.js:304 templates/js/translated/part.js:965 +#: templates/js/translated/part.js:1815 templates/js/translated/part.js:3345 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 @@ -1132,38 +1140,38 @@ msgstr "" msgid "Quantity" msgstr "" -#: build/models.py:1399 +#: build/models.py:1406 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1479 +#: build/models.py:1486 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1488 +#: build/models.py:1495 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1498 order/models.py:1882 +#: build/models.py:1505 order/models.py:1908 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1504 order/models.py:1885 +#: build/models.py:1511 order/models.py:1911 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1510 +#: build/models.py:1517 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1569 +#: build/models.py:1576 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1641 build/serializers.py:846 order/serializers.py:1171 -#: order/serializers.py:1192 stock/models.py:359 stock/serializers.py:91 -#: stock/serializers.py:697 stock/serializers.py:1177 stock/serializers.py:1289 +#: build/models.py:1648 build/serializers.py:850 order/serializers.py:1227 +#: order/serializers.py:1248 stock/models.py:359 stock/serializers.py:93 +#: stock/serializers.py:755 stock/serializers.py:1243 stock/serializers.py:1355 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 @@ -1179,70 +1187,76 @@ msgstr "" msgid "Stock Item" msgstr "" -#: build/models.py:1642 +#: build/models.py:1649 msgid "Source stock item" msgstr "" -#: build/models.py:1655 +#: build/models.py:1662 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1663 +#: build/models.py:1670 msgid "Install into" msgstr "" -#: build/models.py:1664 +#: build/models.py:1671 msgid "Destination stock item" msgstr "" -#: build/serializers.py:156 build/serializers.py:875 +#: build/serializers.py:89 build/serializers.py:1185 part/admin.py:41 +#: part/admin.py:405 part/models.py:3992 part/stocktake.py:220 +#: stock/admin.py:156 +msgid "Part Name" +msgstr "" + +#: build/serializers.py:160 build/serializers.py:879 #: templates/js/translated/build.js:1322 msgid "Build Output" msgstr "" -#: build/serializers.py:168 +#: build/serializers.py:172 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:172 +#: build/serializers.py:176 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:176 +#: build/serializers.py:180 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:187 +#: build/serializers.py:191 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:207 build/serializers.py:254 +#: build/serializers.py:211 build/serializers.py:258 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:275 +#: build/serializers.py:279 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:278 +#: build/serializers.py:282 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:293 order/serializers.py:588 order/serializers.py:1331 -#: stock/serializers.py:614 templates/js/translated/purchase_order.js:1153 +#: build/serializers.py:297 order/serializers.py:637 order/serializers.py:1387 +#: stock/serializers.py:672 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:294 +#: build/serializers.py:298 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:299 build/serializers.py:440 build/serializers.py:512 -#: order/serializers.py:564 order/serializers.py:672 order/serializers.py:1656 -#: part/serializers.py:1140 stock/serializers.py:100 stock/serializers.py:625 -#: stock/serializers.py:785 stock/serializers.py:881 stock/serializers.py:1321 -#: stock/serializers.py:1577 stock/templates/stock/item_base.html:394 +#: build/serializers.py:303 build/serializers.py:444 build/serializers.py:516 +#: order/serializers.py:613 order/serializers.py:721 order/serializers.py:1714 +#: part/serializers.py:1168 stock/serializers.py:102 stock/serializers.py:683 +#: stock/serializers.py:843 stock/serializers.py:939 stock/serializers.py:1387 +#: stock/serializers.py:1643 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 @@ -1258,54 +1272,54 @@ msgstr "" msgid "Location" msgstr "" -#: build/serializers.py:300 +#: build/serializers.py:304 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:314 +#: build/serializers.py:318 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:315 +#: build/serializers.py:319 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:330 +#: build/serializers.py:334 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:355 stock/api.py:1041 +#: build/serializers.py:359 stock/api.py:1033 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:402 build/serializers.py:464 build/serializers.py:553 +#: build/serializers.py:406 build/serializers.py:468 build/serializers.py:557 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:441 +#: build/serializers.py:445 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:447 +#: build/serializers.py:451 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:448 +#: build/serializers.py:452 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:453 +#: build/serializers.py:457 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:513 +#: build/serializers.py:517 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:519 build/templates/build/build_base.html:151 +#: build/serializers.py:523 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:950 -#: order/models.py:2044 order/serializers.py:596 stock/admin.py:164 -#: stock/serializers.py:932 stock/serializers.py:1465 +#: order/models.py:2070 order/serializers.py:645 stock/admin.py:164 +#: stock/serializers.py:990 stock/serializers.py:1531 #: 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 @@ -1317,193 +1331,241 @@ msgstr "" msgid "Status" msgstr "" -#: build/serializers.py:525 +#: build/serializers.py:529 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:526 +#: build/serializers.py:530 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:611 +#: build/serializers.py:615 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:612 +#: build/serializers.py:616 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:618 +#: build/serializers.py:622 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:619 +#: build/serializers.py:623 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:646 +#: build/serializers.py:650 msgid "Not permitted" msgstr "" -#: build/serializers.py:647 +#: build/serializers.py:651 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:648 +#: build/serializers.py:652 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:678 +#: build/serializers.py:682 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:680 +#: build/serializers.py:684 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:690 +#: build/serializers.py:694 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:695 +#: build/serializers.py:699 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:696 +#: build/serializers.py:700 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:706 templates/js/translated/build.js:315 +#: build/serializers.py:710 templates/js/translated/build.js:315 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:711 order/serializers.py:300 order/serializers.py:1234 +#: build/serializers.py:715 order/serializers.py:319 order/serializers.py:1290 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:712 +#: build/serializers.py:716 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:722 templates/js/translated/build.js:319 +#: build/serializers.py:726 templates/js/translated/build.js:319 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:731 templates/js/translated/build.js:303 +#: build/serializers.py:735 templates/js/translated/build.js:303 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:769 +#: build/serializers.py:773 msgid "Build Line" msgstr "" -#: build/serializers.py:779 +#: build/serializers.py:783 msgid "Build output" msgstr "" -#: build/serializers.py:787 +#: build/serializers.py:791 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:823 +#: build/serializers.py:827 msgid "Build Line Item" msgstr "" -#: build/serializers.py:837 +#: build/serializers.py:841 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:852 stock/serializers.py:1190 +#: build/serializers.py:856 stock/serializers.py:1256 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:900 order/serializers.py:1225 +#: build/serializers.py:904 order/serializers.py:1281 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:906 +#: build/serializers.py:910 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:913 +#: build/serializers.py:917 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:937 order/serializers.py:1477 +#: build/serializers.py:941 order/serializers.py:1533 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:1000 +#: build/serializers.py:1004 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:1008 +#: build/serializers.py:1012 msgid "Exclude Location" msgstr "" -#: build/serializers.py:1009 +#: build/serializers.py:1013 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:1014 +#: build/serializers.py:1018 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:1015 +#: build/serializers.py:1019 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:1020 +#: build/serializers.py:1024 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:1021 +#: build/serializers.py:1025 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:1026 +#: build/serializers.py:1030 msgid "Optional Items" msgstr "" -#: build/serializers.py:1027 +#: build/serializers.py:1031 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1049 +#: build/serializers.py:1053 msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1139 part/models.py:3953 part/models.py:4387 -#: stock/api.py:804 +#: build/serializers.py:1095 +msgid "Supplier Part Number" +msgstr "" + +#: build/serializers.py:1096 company/models.py:500 +msgid "Manufacturer Part Number" +msgstr "" + +#: build/serializers.py:1097 stock/admin.py:53 stock/admin.py:175 +#: stock/serializers.py:454 +msgid "Location Name" +msgstr "" + +#: build/serializers.py:1098 +msgid "Build Reference" +msgstr "" + +#: build/serializers.py:1099 +msgid "BOM Reference" +msgstr "" + +#: build/serializers.py:1186 part/admin.py:402 part/models.py:3993 +msgid "Part IPN" +msgstr "" + +#: build/serializers.py:1192 common/models.py:1488 part/admin.py:113 +#: part/models.py:1068 templates/js/translated/table_filters.js:147 +#: templates/js/translated/table_filters.js:223 +#: templates/js/translated/table_filters.js:776 +msgid "Trackable" +msgstr "" + +#: build/serializers.py:1196 part/models.py:4000 part/models.py:4472 +#: stock/api.py:796 msgid "BOM Item" msgstr "" -#: build/serializers.py:1148 templates/js/translated/index.js:130 +#: build/serializers.py:1205 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1153 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:828 part/serializers.py:1502 +#: build/serializers.py:1210 part/admin.py:132 part/bom.py:173 +#: part/serializers.py:856 part/serializers.py:1533 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2613 templates/js/translated/part.js:710 -#: templates/js/translated/part.js:2149 +#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709 +#: templates/js/translated/part.js:2152 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "" -#: build/serializers.py:1158 part/serializers.py:1504 -#: templates/js/translated/build.js:2617 +#: build/serializers.py:1215 part/serializers.py:1535 +#: templates/js/translated/build.js:2618 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1163 part/bom.py:172 part/serializers.py:1527 +#: build/serializers.py:1220 part/bom.py:172 part/serializers.py:1558 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" msgstr "" +#: build/serializers.py:1224 +msgid "Available Substitute Stock" +msgstr "" + +#: build/serializers.py:1225 +msgid "Available Variant Stock" +msgstr "" + +#: build/serializers.py:1226 +msgid "Total Available Stock" +msgstr "" + +#: build/serializers.py:1227 part/serializers.py:862 +msgid "External Stock" +msgstr "" + #: build/status_codes.py:11 generic/states/tests.py:17 order/status_codes.py:12 #: order/status_codes.py:37 order/status_codes.py:64 order/status_codes.py:82 #: templates/js/translated/table_filters.js:598 @@ -1519,7 +1581,8 @@ msgstr "" msgid "Cancelled" msgstr "" -#: build/status_codes.py:14 generic/states/tests.py:19 order/status_codes.py:14 +#: build/status_codes.py:14 generic/states/tests.py:19 importer/models.py:468 +#: importer/status_codes.py:19 order/status_codes.py:14 #: order/status_codes.py:44 order/status_codes.py:69 #: order/templates/order/order_base.html:158 #: order/templates/order/sales_order_base.html:165 report/models.py:444 @@ -1652,11 +1715,12 @@ msgstr "" #: build/templates/build/build_base.html:160 #: build/templates/build/detail.html:138 order/models.py:309 -#: order/models.py:1307 order/templates/order/order_base.html:186 +#: order/models.py:1307 order/serializers.py:174 +#: order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: 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:1831 +#: templates/js/translated/build.js:2239 templates/js/translated/part.js:1834 #: templates/js/translated/purchase_order.js:1739 #: templates/js/translated/purchase_order.js:2147 #: templates/js/translated/return_order.js:346 @@ -1689,8 +1753,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1463 order/models.py:845 -#: order/models.py:1551 order/models.py:1665 order/models.py:1819 +#: build/templates/build/detail.html:101 order/api.py:1384 order/models.py:845 +#: order/models.py:1566 order/models.py:1681 order/models.py:1840 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 @@ -1740,7 +1804,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1443 +#: build/templates/build/detail.html:49 order/models.py:1448 #: templates/js/translated/purchase_order.js:2189 msgid "Destination" msgstr "" @@ -1892,31 +1956,31 @@ msgstr "" msgid "Incomplete Outputs" msgstr "" -#: common/api.py:689 +#: common/api.py:690 msgid "Is Link" msgstr "" -#: common/api.py:697 +#: common/api.py:698 msgid "Is File" msgstr "" -#: common/api.py:739 +#: common/api.py:740 msgid "User does not have permission to delete this attachment" msgstr "" -#: common/currency.py:130 +#: common/currency.py:132 msgid "Invalid currency code" msgstr "" -#: common/currency.py:132 +#: common/currency.py:134 msgid "Duplicate currency code" msgstr "" -#: common/currency.py:137 +#: common/currency.py:139 msgid "No valid currency codes provided" msgstr "" -#: common/currency.py:154 +#: common/currency.py:156 msgid "No plugin" msgstr "" @@ -1970,1635 +2034,1604 @@ msgstr "" msgid "Site URL is locked by configuration" msgstr "" -#: common/models.py:132 +#: common/models.py:137 msgid "Unique project code" msgstr "" -#: common/models.py:139 +#: common/models.py:144 msgid "Project description" msgstr "" -#: common/models.py:148 +#: common/models.py:153 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:765 +#: common/models.py:770 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:769 +#: common/models.py:774 msgid "Settings value" msgstr "" -#: common/models.py:821 +#: common/models.py:826 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:837 +#: common/models.py:842 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:845 +#: common/models.py:850 msgid "Value must be an integer value" msgstr "" -#: common/models.py:882 +#: common/models.py:887 msgid "Key string must be unique" msgstr "" -#: common/models.py:1114 +#: common/models.py:1119 msgid "No group" msgstr "" -#: common/models.py:1213 +#: common/models.py:1218 msgid "Restart required" msgstr "" -#: common/models.py:1215 +#: common/models.py:1220 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:1222 +#: common/models.py:1227 msgid "Pending migrations" msgstr "" -#: common/models.py:1223 +#: common/models.py:1228 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1228 +#: common/models.py:1233 msgid "Server Instance Name" msgstr "" -#: common/models.py:1230 +#: common/models.py:1235 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1234 +#: common/models.py:1239 msgid "Use instance name" msgstr "" -#: common/models.py:1235 +#: common/models.py:1240 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1240 +#: common/models.py:1245 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1241 +#: common/models.py:1246 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1246 company/models.py:111 company/models.py:112 +#: common/models.py:1251 company/models.py:111 company/models.py:112 msgid "Company name" msgstr "" -#: common/models.py:1247 +#: common/models.py:1252 msgid "Internal company name" msgstr "" -#: common/models.py:1251 +#: common/models.py:1256 msgid "Base URL" msgstr "" -#: common/models.py:1252 +#: common/models.py:1257 msgid "Base URL for server instance" msgstr "" -#: common/models.py:1258 +#: common/models.py:1263 msgid "Default Currency" msgstr "" -#: common/models.py:1259 +#: common/models.py:1264 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1265 +#: common/models.py:1270 msgid "Supported Currencies" msgstr "" -#: common/models.py:1266 +#: common/models.py:1271 msgid "List of supported currency codes" msgstr "" -#: common/models.py:1272 +#: common/models.py:1277 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1274 +#: common/models.py:1279 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1277 common/models.py:1333 common/models.py:1346 -#: common/models.py:1354 common/models.py:1363 common/models.py:1372 -#: common/models.py:1596 common/models.py:1618 common/models.py:1733 -#: common/models.py:2100 +#: common/models.py:1282 common/models.py:1338 common/models.py:1351 +#: common/models.py:1359 common/models.py:1368 common/models.py:1377 +#: common/models.py:1601 common/models.py:1623 common/models.py:1738 +#: common/models.py:2111 msgid "days" msgstr "" -#: common/models.py:1281 +#: common/models.py:1286 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1282 +#: common/models.py:1287 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1287 +#: common/models.py:1292 msgid "Download from URL" msgstr "" -#: common/models.py:1289 +#: common/models.py:1294 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:1295 +#: common/models.py:1300 msgid "Download Size Limit" msgstr "" -#: common/models.py:1296 +#: common/models.py:1301 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1302 +#: common/models.py:1307 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1304 +#: common/models.py:1309 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/models.py:1309 +#: common/models.py:1314 msgid "Strict URL Validation" msgstr "" -#: common/models.py:1310 +#: common/models.py:1315 msgid "Require schema specification when validating URLs" msgstr "" -#: common/models.py:1315 +#: common/models.py:1320 msgid "Require confirm" msgstr "" -#: common/models.py:1316 +#: common/models.py:1321 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:1321 +#: common/models.py:1326 msgid "Tree Depth" msgstr "" -#: common/models.py:1323 +#: common/models.py:1328 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1329 +#: common/models.py:1334 msgid "Update Check Interval" msgstr "" -#: common/models.py:1330 +#: common/models.py:1335 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:1336 +#: common/models.py:1341 msgid "Automatic Backup" msgstr "" -#: common/models.py:1337 +#: common/models.py:1342 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:1342 +#: common/models.py:1347 msgid "Auto Backup Interval" msgstr "" -#: common/models.py:1343 +#: common/models.py:1348 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1349 +#: common/models.py:1354 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1351 +#: common/models.py:1356 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1358 +#: common/models.py:1363 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1360 +#: common/models.py:1365 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1367 +#: common/models.py:1372 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1369 +#: common/models.py:1374 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1376 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1381 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "" -#: common/models.py:1377 +#: common/models.py:1382 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1382 +#: common/models.py:1387 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1383 +#: common/models.py:1388 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1389 +#: common/models.py:1394 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1390 +#: common/models.py:1395 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1395 +#: common/models.py:1400 msgid "Barcode Show Data" msgstr "" -#: common/models.py:1396 +#: common/models.py:1401 msgid "Display barcode data in browser as text" msgstr "" -#: common/models.py:1401 +#: common/models.py:1406 msgid "Part Revisions" msgstr "" -#: common/models.py:1402 +#: common/models.py:1407 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1407 +#: common/models.py:1412 msgid "Allow Deletion from Assembly" msgstr "" -#: common/models.py:1408 +#: common/models.py:1413 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/models.py:1413 +#: common/models.py:1418 msgid "IPN Regex" msgstr "" -#: common/models.py:1414 +#: common/models.py:1419 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1417 +#: common/models.py:1422 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1418 +#: common/models.py:1423 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1423 +#: common/models.py:1428 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1424 +#: common/models.py:1429 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1429 +#: common/models.py:1434 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1430 +#: common/models.py:1435 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1435 +#: common/models.py:1440 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1436 +#: common/models.py:1441 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1441 +#: common/models.py:1446 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1442 +#: common/models.py:1447 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1447 +#: common/models.py:1452 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1448 +#: common/models.py:1453 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1453 part/admin.py:108 part/models.py:3795 +#: common/models.py:1458 part/admin.py:108 part/models.py:3835 #: report/models.py:294 report/models.py:361 report/serializers.py:90 -#: report/serializers.py:131 stock/serializers.py:227 +#: report/serializers.py:131 stock/serializers.py:232 #: templates/js/translated/table_filters.js:139 -#: templates/js/translated/table_filters.js:767 +#: templates/js/translated/table_filters.js:772 msgid "Template" msgstr "" -#: common/models.py:1454 +#: common/models.py:1459 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1459 part/admin.py:91 part/admin.py:425 part/models.py:1052 +#: common/models.py:1464 part/admin.py:91 part/admin.py:425 part/models.py:1056 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 -#: templates/js/translated/table_filters.js:721 +#: templates/js/translated/table_filters.js:726 msgid "Assembly" msgstr "" -#: common/models.py:1460 +#: common/models.py:1465 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1465 part/admin.py:95 part/models.py:1058 -#: templates/js/translated/table_filters.js:729 +#: common/models.py:1470 part/admin.py:95 part/models.py:1062 +#: templates/js/translated/table_filters.js:734 msgid "Component" msgstr "" -#: common/models.py:1466 +#: common/models.py:1471 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1471 part/admin.py:100 part/models.py:1070 +#: common/models.py:1476 part/admin.py:100 part/models.py:1074 msgid "Purchaseable" msgstr "" -#: common/models.py:1472 +#: common/models.py:1477 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1477 part/admin.py:104 part/models.py:1076 -#: templates/js/translated/table_filters.js:755 +#: common/models.py:1482 part/admin.py:104 part/models.py:1080 +#: templates/js/translated/table_filters.js:760 msgid "Salable" msgstr "" -#: common/models.py:1478 +#: common/models.py:1483 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1483 part/admin.py:113 part/models.py:1064 -#: 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:1484 +#: common/models.py:1489 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1489 part/admin.py:117 part/models.py:1086 +#: common/models.py:1494 part/admin.py:117 part/models.py:1096 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 -#: templates/js/translated/table_filters.js:775 +#: templates/js/translated/table_filters.js:780 msgid "Virtual" msgstr "" -#: common/models.py:1490 +#: common/models.py:1495 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1495 +#: common/models.py:1500 msgid "Show Import in Views" msgstr "" -#: common/models.py:1496 +#: common/models.py:1501 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1501 +#: common/models.py:1506 msgid "Show related parts" msgstr "" -#: common/models.py:1502 +#: common/models.py:1507 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1507 +#: common/models.py:1512 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1508 +#: common/models.py:1513 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1513 templates/js/translated/part.js:107 +#: common/models.py:1518 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1515 +#: common/models.py:1520 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1521 +#: common/models.py:1526 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1522 +#: common/models.py:1527 msgid "Format to display the part name" msgstr "" -#: common/models.py:1528 +#: common/models.py:1533 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1529 +#: common/models.py:1534 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1533 +#: common/models.py:1538 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1535 +#: common/models.py:1540 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1541 +#: common/models.py:1546 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1543 +#: common/models.py:1548 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1554 +#: common/models.py:1559 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1556 +#: common/models.py:1561 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1567 +#: common/models.py:1572 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1569 +#: common/models.py:1574 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1575 +#: common/models.py:1580 msgid "Purchase History Override" msgstr "" -#: common/models.py:1577 +#: common/models.py:1582 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1583 +#: common/models.py:1588 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1585 +#: common/models.py:1590 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1591 +#: common/models.py:1596 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1593 +#: common/models.py:1598 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1600 +#: common/models.py:1605 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1601 +#: common/models.py:1606 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1606 +#: common/models.py:1611 msgid "Active Variants Only" msgstr "" -#: common/models.py:1608 +#: common/models.py:1613 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1614 +#: common/models.py:1619 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1616 +#: common/models.py:1621 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1623 +#: common/models.py:1628 msgid "Internal Prices" msgstr "" -#: common/models.py:1624 +#: common/models.py:1629 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1629 +#: common/models.py:1634 msgid "Internal Price Override" msgstr "" -#: common/models.py:1631 +#: common/models.py:1636 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1637 +#: common/models.py:1642 msgid "Enable label printing" msgstr "" -#: common/models.py:1638 +#: common/models.py:1643 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1643 +#: common/models.py:1648 msgid "Label Image DPI" msgstr "" -#: common/models.py:1645 +#: common/models.py:1650 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1651 +#: common/models.py:1656 msgid "Enable Reports" msgstr "" -#: common/models.py:1652 +#: common/models.py:1657 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1657 templates/stats.html:25 +#: common/models.py:1662 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1658 +#: common/models.py:1663 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1663 +#: common/models.py:1668 msgid "Log Report Errors" msgstr "" -#: common/models.py:1664 +#: common/models.py:1669 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1669 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1674 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:302 msgid "Page Size" msgstr "" -#: common/models.py:1670 +#: common/models.py:1675 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1675 +#: common/models.py:1680 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1676 +#: common/models.py:1681 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1681 +#: common/models.py:1686 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1683 +#: common/models.py:1688 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1689 +#: common/models.py:1694 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1690 +#: common/models.py:1695 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1695 +#: common/models.py:1700 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1696 +#: common/models.py:1701 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1701 +#: common/models.py:1706 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1703 +#: common/models.py:1708 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1709 +#: common/models.py:1714 msgid "Batch Code Template" msgstr "" -#: common/models.py:1711 +#: common/models.py:1716 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1716 +#: common/models.py:1721 msgid "Stock Expiry" msgstr "" -#: common/models.py:1717 +#: common/models.py:1722 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1722 +#: common/models.py:1727 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1723 +#: common/models.py:1728 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1728 +#: common/models.py:1733 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1730 +#: common/models.py:1735 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1737 +#: common/models.py:1742 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1738 +#: common/models.py:1743 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1743 +#: common/models.py:1748 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1744 +#: common/models.py:1749 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1749 +#: common/models.py:1754 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1750 +#: common/models.py:1755 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1754 +#: common/models.py:1759 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1755 +#: common/models.py:1760 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1760 +#: common/models.py:1765 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1762 +#: common/models.py:1767 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1768 +#: common/models.py:1773 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1770 +#: common/models.py:1775 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1776 +#: common/models.py:1781 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1778 +#: common/models.py:1783 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1784 common/models.py:1826 common/models.py:1848 -#: common/models.py:1884 +#: common/models.py:1789 common/models.py:1837 common/models.py:1859 +#: common/models.py:1895 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1785 common/models.py:1827 common/models.py:1849 -#: common/models.py:1885 +#: common/models.py:1790 common/models.py:1838 common/models.py:1860 +#: common/models.py:1896 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1790 +#: common/models.py:1795 msgid "Require Active Part" msgstr "" -#: common/models.py:1791 +#: common/models.py:1796 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/models.py:1796 +#: common/models.py:1801 +msgid "Require Locked Part" +msgstr "" + +#: common/models.py:1802 +msgid "Prevent build order creation for unlocked parts" +msgstr "" + +#: common/models.py:1807 msgid "Require Valid BOM" msgstr "" -#: common/models.py:1798 +#: common/models.py:1809 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/models.py:1804 +#: common/models.py:1815 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1806 +#: common/models.py:1817 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1812 +#: common/models.py:1823 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1813 +#: common/models.py:1824 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1818 +#: common/models.py:1829 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1820 +#: common/models.py:1831 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1832 +#: common/models.py:1843 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1834 +#: common/models.py:1845 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1840 +#: common/models.py:1851 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1842 +#: common/models.py:1853 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1854 +#: common/models.py:1865 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1855 +#: common/models.py:1866 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1860 +#: common/models.py:1871 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1862 +#: common/models.py:1873 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1868 +#: common/models.py:1879 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1870 +#: common/models.py:1881 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1876 +#: common/models.py:1887 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1878 +#: common/models.py:1889 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1890 +#: common/models.py:1901 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1892 +#: common/models.py:1903 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1898 +#: common/models.py:1909 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1900 +#: common/models.py:1911 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1907 +#: common/models.py:1918 msgid "Enable password forgot" msgstr "" -#: common/models.py:1908 +#: common/models.py:1919 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1913 +#: common/models.py:1924 msgid "Enable registration" msgstr "" -#: common/models.py:1914 +#: common/models.py:1925 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1919 +#: common/models.py:1930 msgid "Enable SSO" msgstr "" -#: common/models.py:1920 +#: common/models.py:1931 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1925 +#: common/models.py:1936 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1927 +#: common/models.py:1938 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1933 +#: common/models.py:1944 msgid "Enable SSO group sync" msgstr "" -#: common/models.py:1935 +#: common/models.py:1946 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/models.py:1941 +#: common/models.py:1952 msgid "SSO group key" msgstr "" -#: common/models.py:1943 +#: common/models.py:1954 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/models.py:1949 +#: common/models.py:1960 msgid "SSO group map" msgstr "" -#: common/models.py:1951 +#: common/models.py:1962 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/models.py:1957 +#: common/models.py:1968 msgid "Remove groups outside of SSO" msgstr "" -#: common/models.py:1959 +#: common/models.py:1970 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/models.py:1965 +#: common/models.py:1976 msgid "Email required" msgstr "" -#: common/models.py:1966 +#: common/models.py:1977 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1971 +#: common/models.py:1982 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1973 +#: common/models.py:1984 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1979 +#: common/models.py:1990 msgid "Mail twice" msgstr "" -#: common/models.py:1980 +#: common/models.py:1991 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1985 +#: common/models.py:1996 msgid "Password twice" msgstr "" -#: common/models.py:1986 +#: common/models.py:1997 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1991 +#: common/models.py:2002 msgid "Allowed domains" msgstr "" -#: common/models.py:1993 +#: common/models.py:2004 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1999 +#: common/models.py:2010 msgid "Group on signup" msgstr "" -#: common/models.py:2001 +#: common/models.py:2012 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/models.py:2007 +#: common/models.py:2018 msgid "Enforce MFA" msgstr "" -#: common/models.py:2008 +#: common/models.py:2019 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:2013 +#: common/models.py:2024 msgid "Check plugins on startup" msgstr "" -#: common/models.py:2015 +#: common/models.py:2026 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:2023 +#: common/models.py:2034 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2024 +#: common/models.py:2035 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2030 +#: common/models.py:2041 msgid "Enable URL integration" msgstr "" -#: common/models.py:2031 +#: common/models.py:2042 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:2037 +#: common/models.py:2048 msgid "Enable navigation integration" msgstr "" -#: common/models.py:2038 +#: common/models.py:2049 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2044 +#: common/models.py:2055 msgid "Enable app integration" msgstr "" -#: common/models.py:2045 +#: common/models.py:2056 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2051 +#: common/models.py:2062 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2052 +#: common/models.py:2063 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2058 +#: common/models.py:2069 msgid "Enable event integration" msgstr "" -#: common/models.py:2059 +#: common/models.py:2070 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2065 +#: common/models.py:2076 msgid "Enable project codes" msgstr "" -#: common/models.py:2066 +#: common/models.py:2077 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2071 +#: common/models.py:2082 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2073 +#: common/models.py:2084 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2079 +#: common/models.py:2090 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2081 +#: common/models.py:2092 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2087 +#: common/models.py:2098 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2089 +#: common/models.py:2100 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2095 +#: common/models.py:2106 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2097 +#: common/models.py:2108 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2104 +#: common/models.py:2115 msgid "Display Users full names" msgstr "" -#: common/models.py:2105 +#: common/models.py:2116 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2110 +#: common/models.py:2121 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2111 +#: common/models.py:2122 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2123 common/models.py:2533 +#: common/models.py:2134 common/models.py:2514 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2166 +#: common/models.py:2177 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2168 +#: common/models.py:2179 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2174 +#: common/models.py:2185 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2175 +#: common/models.py:2186 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2180 +#: common/models.py:2191 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2181 +#: common/models.py:2192 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2186 +#: common/models.py:2197 msgid "Show latest parts" msgstr "" -#: common/models.py:2187 +#: common/models.py:2198 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2192 +#: common/models.py:2203 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2193 +#: common/models.py:2204 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2198 +#: common/models.py:2209 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2199 +#: common/models.py:2210 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2204 +#: common/models.py:2215 msgid "Show low stock" msgstr "" -#: common/models.py:2205 +#: common/models.py:2216 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2210 +#: common/models.py:2221 msgid "Show depleted stock" msgstr "" -#: common/models.py:2211 +#: common/models.py:2222 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2216 +#: common/models.py:2227 msgid "Show needed stock" msgstr "" -#: common/models.py:2217 +#: common/models.py:2228 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2222 +#: common/models.py:2233 msgid "Show expired stock" msgstr "" -#: common/models.py:2223 +#: common/models.py:2234 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2228 +#: common/models.py:2239 msgid "Show stale stock" msgstr "" -#: common/models.py:2229 +#: common/models.py:2240 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2234 +#: common/models.py:2245 msgid "Show pending builds" msgstr "" -#: common/models.py:2235 +#: common/models.py:2246 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2240 +#: common/models.py:2251 msgid "Show overdue builds" msgstr "" -#: common/models.py:2241 +#: common/models.py:2252 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2246 +#: common/models.py:2257 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2247 +#: common/models.py:2258 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2252 +#: common/models.py:2263 msgid "Show overdue POs" msgstr "" -#: common/models.py:2253 +#: common/models.py:2264 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2258 +#: common/models.py:2269 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2259 +#: common/models.py:2270 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2264 +#: common/models.py:2275 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2265 +#: common/models.py:2276 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2270 +#: common/models.py:2281 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2271 +#: common/models.py:2282 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2276 +#: common/models.py:2287 msgid "Show News" msgstr "" -#: common/models.py:2277 +#: common/models.py:2288 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2282 +#: common/models.py:2293 msgid "Inline label display" msgstr "" -#: common/models.py:2284 +#: common/models.py:2295 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2290 +#: common/models.py:2301 msgid "Default label printer" msgstr "" -#: common/models.py:2292 +#: common/models.py:2303 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2298 +#: common/models.py:2309 msgid "Inline report display" msgstr "" -#: common/models.py:2300 +#: common/models.py:2311 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2306 +#: common/models.py:2317 msgid "Search Parts" msgstr "" -#: common/models.py:2307 +#: common/models.py:2318 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2312 +#: common/models.py:2323 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2313 +#: common/models.py:2324 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2318 +#: common/models.py:2329 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2319 +#: common/models.py:2330 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2324 +#: common/models.py:2335 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2325 +#: common/models.py:2336 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2330 +#: common/models.py:2341 msgid "Search Categories" msgstr "" -#: common/models.py:2331 +#: common/models.py:2342 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2336 +#: common/models.py:2347 msgid "Search Stock" msgstr "" -#: common/models.py:2337 +#: common/models.py:2348 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2342 +#: common/models.py:2353 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2344 +#: common/models.py:2355 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2350 +#: common/models.py:2361 msgid "Search Locations" msgstr "" -#: common/models.py:2351 +#: common/models.py:2362 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2356 +#: common/models.py:2367 msgid "Search Companies" msgstr "" -#: common/models.py:2357 +#: common/models.py:2368 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2362 +#: common/models.py:2373 msgid "Search Build Orders" msgstr "" -#: common/models.py:2363 +#: common/models.py:2374 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2368 +#: common/models.py:2379 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2369 +#: common/models.py:2380 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2374 +#: common/models.py:2385 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2376 +#: common/models.py:2387 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2382 +#: common/models.py:2393 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2383 +#: common/models.py:2394 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2388 +#: common/models.py:2399 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2390 +#: common/models.py:2401 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2396 +#: common/models.py:2407 msgid "Search Return Orders" msgstr "" -#: common/models.py:2397 +#: common/models.py:2408 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2402 +#: common/models.py:2413 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2404 +#: common/models.py:2415 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2410 +#: common/models.py:2421 msgid "Search Preview Results" msgstr "" -#: common/models.py:2412 +#: common/models.py:2423 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2418 +#: common/models.py:2429 msgid "Regex Search" msgstr "" -#: common/models.py:2419 +#: common/models.py:2430 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2424 +#: common/models.py:2435 msgid "Whole Word Search" msgstr "" -#: common/models.py:2425 +#: common/models.py:2436 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2430 +#: common/models.py:2441 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2431 +#: common/models.py:2442 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2436 +#: common/models.py:2447 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2437 +#: common/models.py:2448 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2442 +#: common/models.py:2453 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2443 +#: common/models.py:2454 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2448 +#: common/models.py:2459 msgid "Date Format" msgstr "" -#: common/models.py:2449 +#: common/models.py:2460 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2462 part/templates/part/detail.html:41 +#: common/models.py:2473 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2463 +#: common/models.py:2474 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2468 part/templates/part/detail.html:62 +#: common/models.py:2479 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2470 +#: common/models.py:2481 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2476 +#: common/models.py:2487 msgid "Table String Length" msgstr "" -#: common/models.py:2478 +#: common/models.py:2489 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2484 -msgid "Default part label template" -msgstr "" - -#: common/models.py:2485 -msgid "The part label template to be automatically selected" -msgstr "" - -#: common/models.py:2490 -msgid "Default stock item template" -msgstr "" - -#: common/models.py:2492 -msgid "The stock item label template to be automatically selected" -msgstr "" - -#: common/models.py:2498 -msgid "Default stock location label template" -msgstr "" - -#: common/models.py:2500 -msgid "The stock location label template to be automatically selected" -msgstr "" - -#: common/models.py:2506 -msgid "Default build line label template" -msgstr "" - -#: common/models.py:2508 -msgid "The build line label template to be automatically selected" -msgstr "" - -#: common/models.py:2514 +#: common/models.py:2495 msgid "Receive error reports" msgstr "" -#: common/models.py:2515 +#: common/models.py:2496 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2520 +#: common/models.py:2501 msgid "Last used printing machines" msgstr "" -#: common/models.py:2521 +#: common/models.py:2502 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2541 common/models.py:2542 common/models.py:2691 -#: common/models.py:2692 common/models.py:2937 common/models.py:2938 -#: common/models.py:3259 common/models.py:3260 part/models.py:3193 -#: part/models.py:3280 part/models.py:3353 part/models.py:3381 -#: plugin/models.py:274 plugin/models.py:275 +#: common/models.py:2522 common/models.py:2523 common/models.py:2672 +#: common/models.py:2673 common/models.py:2918 common/models.py:2919 +#: common/models.py:3245 common/models.py:3246 importer/models.py:85 +#: part/models.py:3203 part/models.py:3290 part/models.py:3364 +#: part/models.py:3392 plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 msgid "User" msgstr "" -#: common/models.py:2564 +#: common/models.py:2545 msgid "Price break quantity" msgstr "" -#: common/models.py:2571 company/serializers.py:472 order/admin.py:42 -#: order/models.py:1346 order/models.py:2265 -#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1886 +#: common/models.py:2552 company/serializers.py:502 order/admin.py:42 +#: order/models.py:1346 order/models.py:2292 +#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1889 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:740 msgid "Price" msgstr "" -#: common/models.py:2572 +#: common/models.py:2553 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2668 common/models.py:2853 +#: common/models.py:2649 common/models.py:2834 msgid "Endpoint" msgstr "" -#: common/models.py:2669 +#: common/models.py:2650 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2679 +#: common/models.py:2660 msgid "Name for this webhook" msgstr "" -#: common/models.py:2683 +#: common/models.py:2664 msgid "Is this webhook active" msgstr "" -#: common/models.py:2699 users/models.py:159 +#: common/models.py:2680 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2700 +#: common/models.py:2681 msgid "Token for access" msgstr "" -#: common/models.py:2708 +#: common/models.py:2689 msgid "Secret" msgstr "" -#: common/models.py:2709 +#: common/models.py:2690 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2817 +#: common/models.py:2798 msgid "Message ID" msgstr "" -#: common/models.py:2818 +#: common/models.py:2799 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2826 +#: common/models.py:2807 msgid "Host" msgstr "" -#: common/models.py:2827 +#: common/models.py:2808 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2835 +#: common/models.py:2816 msgid "Header" msgstr "" -#: common/models.py:2836 +#: common/models.py:2817 msgid "Header of this message" msgstr "" -#: common/models.py:2843 +#: common/models.py:2824 msgid "Body" msgstr "" -#: common/models.py:2844 +#: common/models.py:2825 msgid "Body of this message" msgstr "" -#: common/models.py:2854 +#: common/models.py:2835 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2859 +#: common/models.py:2840 msgid "Worked on" msgstr "" -#: common/models.py:2860 +#: common/models.py:2841 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2986 +#: common/models.py:2967 msgid "Id" msgstr "" -#: common/models.py:2988 templates/js/translated/company.js:965 +#: common/models.py:2969 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2990 common/models.py:3243 company/models.py:149 -#: company/models.py:440 company/models.py:500 company/models.py:799 -#: order/models.py:303 order/models.py:1301 order/models.py:1717 -#: part/admin.py:55 part/models.py:955 +#: common/models.py:2971 common/models.py:3229 company/models.py:149 +#: company/models.py:446 company/models.py:506 company/models.py:806 +#: order/models.py:303 order/models.py:1301 order/models.py:1733 +#: part/admin.py:55 part/models.py:959 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:229 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/part.js:2459 #: templates/js/translated/purchase_order.js:2040 #: templates/js/translated/purchase_order.js:2204 #: templates/js/translated/return_order.js:779 @@ -3607,28 +3640,28 @@ msgstr "" msgid "Link" msgstr "" -#: common/models.py:2992 templates/js/translated/news.js:60 +#: common/models.py:2973 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2994 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2975 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:2996 templates/js/translated/news.js:52 +#: common/models.py:2977 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2999 +#: common/models.py:2980 msgid "Read" msgstr "" -#: common/models.py:2999 +#: common/models.py:2980 msgid "Was this news item read?" msgstr "" -#: common/models.py:3016 company/models.py:159 part/models.py:965 +#: common/models.py:2997 company/models.py:159 part/models.py:969 #: 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.html:35 @@ -3638,90 +3671,94 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:3016 +#: common/models.py:2997 msgid "Image file" msgstr "" -#: common/models.py:3028 common/models.py:3227 +#: common/models.py:3009 common/models.py:3213 msgid "Target model type for this image" msgstr "" -#: common/models.py:3032 +#: common/models.py:3013 msgid "Target model ID for this image" msgstr "" -#: common/models.py:3070 +#: common/models.py:3035 +msgid "Custom Unit" +msgstr "" + +#: common/models.py:3056 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:3085 +#: common/models.py:3071 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3104 +#: common/models.py:3090 msgid "Unit name" msgstr "" -#: common/models.py:3111 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3097 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3112 +#: common/models.py:3098 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3118 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3104 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3119 +#: common/models.py:3105 msgid "Unit definition" msgstr "" -#: common/models.py:3177 common/models.py:3234 stock/models.py:2461 +#: common/models.py:3163 common/models.py:3220 stock/models.py:2471 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" msgstr "" -#: common/models.py:3189 +#: common/models.py:3175 msgid "Missing file" msgstr "" -#: common/models.py:3190 +#: common/models.py:3176 msgid "Missing external link" msgstr "" -#: common/models.py:3235 +#: common/models.py:3221 msgid "Select file to attach" msgstr "" -#: common/models.py:3250 templates/js/translated/attachment.js:120 +#: common/models.py:3236 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" msgstr "" -#: common/models.py:3251 +#: common/models.py:3237 msgid "Attachment comment" msgstr "" -#: common/models.py:3267 +#: common/models.py:3253 msgid "Upload date" msgstr "" -#: common/models.py:3268 +#: common/models.py:3254 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:3272 +#: common/models.py:3258 msgid "File size" msgstr "" -#: common/models.py:3272 +#: common/models.py:3258 msgid "File size in bytes" msgstr "" -#: common/models.py:3310 common/serializers.py:553 +#: common/models.py:3296 common/serializers.py:557 msgid "Invalid model type specified for attachment" msgstr "" @@ -3743,7 +3780,7 @@ msgstr "" msgid "A order that is assigned to you was canceled" msgstr "" -#: common/notifications.py:330 common/notifications.py:337 order/api.py:472 +#: common/notifications.py:330 common/notifications.py:337 order/api.py:454 msgid "Items Received" msgstr "" @@ -3759,75 +3796,75 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:371 +#: common/serializers.py:375 msgid "Is Running" msgstr "" -#: common/serializers.py:377 +#: common/serializers.py:381 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:383 +#: common/serializers.py:387 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:389 +#: common/serializers.py:393 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:404 +#: common/serializers.py:408 msgid "Task ID" msgstr "" -#: common/serializers.py:404 +#: common/serializers.py:408 msgid "Unique task ID" msgstr "" -#: common/serializers.py:406 +#: common/serializers.py:410 msgid "Lock" msgstr "" -#: common/serializers.py:406 +#: common/serializers.py:410 msgid "Lock time" msgstr "" -#: common/serializers.py:408 +#: common/serializers.py:412 msgid "Task name" msgstr "" -#: common/serializers.py:410 +#: common/serializers.py:414 msgid "Function" msgstr "" -#: common/serializers.py:410 +#: common/serializers.py:414 msgid "Function name" msgstr "" -#: common/serializers.py:412 +#: common/serializers.py:416 msgid "Arguments" msgstr "" -#: common/serializers.py:412 +#: common/serializers.py:416 msgid "Task arguments" msgstr "" -#: common/serializers.py:415 +#: common/serializers.py:419 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:415 +#: common/serializers.py:419 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:525 +#: common/serializers.py:529 msgid "Filename" msgstr "" -#: common/serializers.py:532 report/api.py:100 report/serializers.py:53 +#: common/serializers.py:536 report/api.py:100 report/serializers.py:53 msgid "Model Type" msgstr "" -#: common/serializers.py:559 +#: common/serializers.py:563 msgid "User does not have permission to create or edit attachments for this model" msgstr "" @@ -3894,29 +3931,29 @@ msgstr "" msgid "Previous Step" msgstr "" -#: company/api.py:144 +#: company/api.py:141 msgid "Part is Active" msgstr "" -#: company/api.py:148 +#: company/api.py:145 msgid "Manufacturer is Active" msgstr "" -#: company/api.py:281 +#: company/api.py:278 msgid "Supplier Part is Active" msgstr "" -#: company/api.py:285 +#: company/api.py:282 msgid "Internal Part is Active" msgstr "" -#: company/api.py:289 +#: company/api.py:286 msgid "Supplier is Active" msgstr "" -#: company/models.py:100 company/models.py:365 +#: company/models.py:100 company/models.py:371 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:822 +#: company/templates/company/company_base.html:12 stock/api.py:814 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "" @@ -3956,8 +3993,9 @@ msgstr "" msgid "Contact email address" msgstr "" -#: company/models.py:142 company/templates/company/company_base.html:145 -#: order/models.py:343 order/templates/order/order_base.html:203 +#: company/models.py:142 company/models.py:275 +#: company/templates/company/company_base.html:145 order/models.py:343 +#: order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 #: order/templates/order/sales_order_base.html:218 msgid "Contact" @@ -3976,7 +4014,7 @@ msgid "Is this company active?" msgstr "" #: company/models.py:168 -msgid "is customer" +msgid "Is customer" msgstr "" #: company/models.py:169 @@ -3984,7 +4022,7 @@ msgid "Do you sell items to this company?" msgstr "" #: company/models.py:174 -msgid "is supplier" +msgid "Is supplier" msgstr "" #: company/models.py:175 @@ -3992,7 +4030,7 @@ msgid "Do you purchase items from this company?" msgstr "" #: company/models.py:180 -msgid "is manufacturer" +msgid "Is manufacturer" msgstr "" #: company/models.py:181 @@ -4003,178 +4041,189 @@ msgstr "" msgid "Default currency used for this company" msgstr "" -#: company/models.py:366 +#: company/models.py:314 company/templates/company/company_base.html:124 +#: order/models.py:353 order/templates/order/order_base.html:210 +#: order/templates/order/return_order_base.html:181 +#: order/templates/order/sales_order_base.html:225 +msgid "Address" +msgstr "" + +#: company/models.py:315 company/templates/company/sidebar.html:35 +msgid "Addresses" +msgstr "" + +#: company/models.py:372 msgid "Select company" msgstr "" -#: company/models.py:371 +#: company/models.py:377 msgid "Address title" msgstr "" -#: company/models.py:372 +#: company/models.py:378 msgid "Title describing the address entry" msgstr "" -#: company/models.py:378 +#: company/models.py:384 msgid "Primary address" msgstr "" -#: company/models.py:379 +#: company/models.py:385 msgid "Set as primary address" msgstr "" -#: company/models.py:384 templates/js/translated/company.js:914 +#: company/models.py:390 templates/js/translated/company.js:914 #: templates/js/translated/company.js:971 msgid "Line 1" msgstr "" -#: company/models.py:385 +#: company/models.py:391 msgid "Address line 1" msgstr "" -#: company/models.py:391 templates/js/translated/company.js:915 +#: company/models.py:397 templates/js/translated/company.js:915 #: templates/js/translated/company.js:977 msgid "Line 2" msgstr "" -#: company/models.py:392 +#: company/models.py:398 msgid "Address line 2" msgstr "" -#: company/models.py:398 company/models.py:399 +#: company/models.py:404 company/models.py:405 #: templates/js/translated/company.js:983 msgid "Postal code" msgstr "" -#: company/models.py:405 +#: company/models.py:411 msgid "City/Region" msgstr "" -#: company/models.py:406 +#: company/models.py:412 msgid "Postal code city/region" msgstr "" -#: company/models.py:412 +#: company/models.py:418 msgid "State/Province" msgstr "" -#: company/models.py:413 +#: company/models.py:419 msgid "State or province" msgstr "" -#: company/models.py:419 templates/js/translated/company.js:1001 +#: company/models.py:425 templates/js/translated/company.js:1001 msgid "Country" msgstr "" -#: company/models.py:420 +#: company/models.py:426 msgid "Address country" msgstr "" -#: company/models.py:426 +#: company/models.py:432 msgid "Courier shipping notes" msgstr "" -#: company/models.py:427 +#: company/models.py:433 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:433 +#: company/models.py:439 msgid "Internal shipping notes" msgstr "" -#: company/models.py:434 +#: company/models.py:440 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:441 +#: company/models.py:447 msgid "Link to address information (external)" msgstr "" -#: company/models.py:463 company/models.py:574 company/models.py:792 +#: company/models.py:469 company/models.py:581 company/models.py:799 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:217 msgid "Manufacturer Part" msgstr "" -#: company/models.py:475 company/models.py:760 stock/models.py:767 -#: stock/serializers.py:422 stock/templates/stock/item_base.html:142 +#: company/models.py:481 company/models.py:767 stock/models.py:767 +#: stock/serializers.py:442 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" -#: company/models.py:477 company/models.py:762 +#: company/models.py:483 company/models.py:769 msgid "Select part" msgstr "" -#: company/models.py:486 company/templates/company/company_base.html:82 +#: company/models.py:492 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:525 +#: company/templates/company/supplier_part.html:145 part/serializers.py:543 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 #: templates/js/translated/company.js:1296 #: templates/js/translated/company.js:1611 -#: templates/js/translated/table_filters.js:800 +#: templates/js/translated/table_filters.js:805 msgid "Manufacturer" msgstr "" -#: company/models.py:487 +#: company/models.py:493 msgid "Select manufacturer" msgstr "" -#: company/models.py:493 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:535 -#: templates/js/translated/company.js:351 +#: company/models.py:499 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:153 order/serializers.py:518 +#: part/serializers.py:553 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:1801 +#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1804 #: templates/js/translated/purchase_order.js:1851 #: templates/js/translated/purchase_order.js:2053 msgid "MPN" msgstr "" -#: company/models.py:494 -msgid "Manufacturer Part Number" -msgstr "" - -#: company/models.py:501 +#: company/models.py:507 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:510 +#: company/models.py:516 msgid "Manufacturer part description" msgstr "" -#: company/models.py:581 +#: company/models.py:569 +msgid "Manufacturer Part Parameter" +msgstr "" + +#: company/models.py:588 msgid "Parameter name" msgstr "" -#: company/models.py:587 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2453 templates/js/translated/company.js:1166 -#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1493 +#: company/models.py:594 report/templates/report/inventree_test_report.html:104 +#: stock/models.py:2463 templates/js/translated/company.js:1166 +#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1496 #: templates/js/translated/stock.js:1522 msgid "Value" msgstr "" -#: company/models.py:588 +#: company/models.py:595 msgid "Parameter value" msgstr "" -#: company/models.py:595 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1045 part/models.py:3646 +#: company/models.py:602 company/templates/company/supplier_part.html:168 +#: part/admin.py:57 part/models.py:1049 part/models.py:3667 #: part/templates/part/part_base.html:284 -#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1512 -#: templates/js/translated/part.js:1616 templates/js/translated/part.js:2370 +#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1515 +#: templates/js/translated/part.js:1619 templates/js/translated/part.js:2373 msgid "Units" msgstr "" -#: company/models.py:596 +#: company/models.py:603 msgid "Parameter units" msgstr "" -#: company/models.py:648 company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 order/api.py:452 +#: company/models.py:655 company/templates/company/supplier_part.html:7 +#: company/templates/company/supplier_part.html:24 order/api.py:434 #: stock/models.py:778 stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 @@ -4182,91 +4231,91 @@ msgstr "" msgid "Supplier Part" msgstr "" -#: company/models.py:700 +#: company/models.py:707 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:707 +#: company/models.py:714 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:721 +#: company/models.py:728 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:770 company/templates/company/company_base.html:87 +#: company/models.py:777 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:509 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:527 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 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:511 -#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1769 +#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1772 #: templates/js/translated/pricing.js:498 #: templates/js/translated/purchase_order.js:1689 -#: templates/js/translated/table_filters.js:804 +#: templates/js/translated/table_filters.js:809 msgid "Supplier" msgstr "" -#: company/models.py:771 +#: company/models.py:778 msgid "Select supplier" msgstr "" -#: company/models.py:777 part/serializers.py:520 +#: company/models.py:784 part/serializers.py:538 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:783 +#: company/models.py:790 msgid "Is this supplier part active?" msgstr "" -#: company/models.py:793 +#: company/models.py:800 msgid "Select manufacturer part" msgstr "" -#: company/models.py:800 +#: company/models.py:807 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:809 +#: company/models.py:816 msgid "Supplier part description" msgstr "" -#: company/models.py:816 company/templates/company/supplier_part.html:187 -#: part/admin.py:412 part/models.py:4093 part/templates/part/upload_bom.html:59 +#: company/models.py:823 company/templates/company/supplier_part.html:187 +#: part/admin.py:412 part/models.py:4178 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: 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:710 +#: stock/serializers.py:768 msgid "Note" msgstr "" -#: company/models.py:825 part/models.py:2003 +#: company/models.py:832 part/models.py:2013 msgid "base cost" msgstr "" -#: company/models.py:826 part/models.py:2004 +#: company/models.py:833 part/models.py:2014 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:833 company/templates/company/supplier_part.html:160 -#: stock/admin.py:228 stock/models.py:798 stock/serializers.py:1475 +#: company/models.py:840 company/templates/company/supplier_part.html:160 +#: stock/admin.py:228 stock/models.py:798 stock/serializers.py:1541 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 msgid "Packaging" msgstr "" -#: company/models.py:834 +#: company/models.py:841 msgid "Part packaging" msgstr "" -#: company/models.py:839 templates/js/translated/company.js:1651 -#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 +#: company/models.py:846 templates/js/translated/company.js:1651 +#: templates/js/translated/part.js:1825 templates/js/translated/part.js:1881 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 #: templates/js/translated/purchase_order.js:1103 @@ -4275,35 +4324,43 @@ msgstr "" msgid "Pack Quantity" msgstr "" -#: company/models.py:841 +#: company/models.py:848 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:860 part/models.py:2010 +#: company/models.py:867 part/models.py:2020 msgid "multiple" msgstr "" -#: company/models.py:861 +#: company/models.py:868 msgid "Order multiple" msgstr "" -#: company/models.py:873 +#: company/models.py:880 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:879 +#: company/models.py:886 msgid "Availability Updated" msgstr "" -#: company/models.py:880 +#: company/models.py:887 msgid "Date of last update of availability data" msgstr "" -#: company/serializers.py:161 +#: company/models.py:1015 +msgid "Supplier Price Break" +msgstr "" + +#: company/serializers.py:174 msgid "Default currency used for this supplier" msgstr "" -#: company/serializers.py:357 part/admin.py:126 +#: company/serializers.py:210 +msgid "Company Name" +msgstr "" + +#: company/serializers.py:384 part/admin.py:126 part/serializers.py:855 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:355 @@ -4315,7 +4372,7 @@ msgstr "" #: templates/js/translated/company.js:1287 #: templates/js/translated/company.js:1575 #: templates/js/translated/model_renderers.js:312 -#: templates/js/translated/part.js:815 templates/js/translated/part.js:1219 +#: templates/js/translated/part.js:814 templates/js/translated/part.js:1222 msgid "Inactive" msgstr "" @@ -4374,16 +4431,16 @@ msgid "Delete image" msgstr "" #: company/templates/company/company_base.html:92 order/models.py:938 -#: order/models.py:2032 order/templates/order/return_order_base.html:131 +#: order/models.py:2058 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:148 stock/models.py:820 -#: stock/models.py:821 stock/serializers.py:1225 +#: stock/models.py:821 stock/serializers.py:1291 #: 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:295 #: templates/js/translated/sales_order.js:820 #: templates/js/translated/stock.js:2959 -#: templates/js/translated/table_filters.js:808 +#: templates/js/translated/table_filters.js:813 msgid "Customer" msgstr "" @@ -4391,13 +4448,6 @@ msgstr "" msgid "Uses default currency" msgstr "" -#: company/templates/company/company_base.html:124 order/models.py:353 -#: order/templates/order/order_base.html:210 -#: order/templates/order/return_order_base.html:181 -#: order/templates/order/sales_order_base.html:225 -msgid "Address" -msgstr "" - #: company/templates/company/company_base.html:131 msgid "Phone" msgstr "" @@ -4577,7 +4627,8 @@ msgid "Delete manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:65 -#: company/templates/company/supplier_part.html:97 order/api.py:458 +#: company/templates/company/supplier_part.html:97 order/api.py:440 +#: order/serializers.py:526 msgid "Internal Part" msgstr "" @@ -4587,7 +4638,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:832 +#: part/admin.py:122 part/serializers.py:860 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4608,7 +4659,7 @@ msgid "New Parameter" msgstr "" #: company/templates/company/manufacturer_part.html:196 -#: templates/js/translated/part.js:1423 +#: templates/js/translated/part.js:1426 msgid "Add Parameter" msgstr "" @@ -4632,10 +4683,6 @@ msgstr "" msgid "Contacts" msgstr "" -#: company/templates/company/sidebar.html:35 -msgid "Addresses" -msgstr "" - #: company/templates/company/supplier_part.html:50 #: templates/js/translated/company.js:1526 msgid "Supplier part actions" @@ -4653,122 +4700,284 @@ msgstr "" msgid "Update Availability" msgstr "" -#: company/templates/company/supplier_part.html:63 -#: company/templates/company/supplier_part.html:64 -#: templates/js/translated/company.js:294 -msgid "Edit Supplier Part" +#: company/templates/company/supplier_part.html:63 +#: company/templates/company/supplier_part.html:64 +#: templates/js/translated/company.js:294 +msgid "Edit Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:68 +#: company/templates/company/supplier_part.html:69 +#: templates/js/translated/company.js:269 +msgid "Duplicate Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:73 +msgid "Delete Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:74 +msgid "Delete Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:133 +msgid "No supplier information available" +msgstr "" + +#: company/templates/company/supplier_part.html:139 order/serializers.py:515 +#: part/bom.py:279 part/bom.py:311 part/serializers.py:537 +#: templates/js/translated/company.js:349 templates/js/translated/part.js:1790 +#: templates/js/translated/pricing.js:510 +#: templates/js/translated/purchase_order.js:1850 +#: templates/js/translated/purchase_order.js:2028 +msgid "SKU" +msgstr "" + +#: company/templates/company/supplier_part.html:206 +msgid "Supplier Part Stock" +msgstr "" + +#: company/templates/company/supplier_part.html:209 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:207 +msgid "Create new stock item" +msgstr "" + +#: company/templates/company/supplier_part.html:210 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:208 +#: templates/js/translated/stock.js:537 +msgid "New Stock Item" +msgstr "" + +#: company/templates/company/supplier_part.html:223 +msgid "Supplier Part Orders" +msgstr "" + +#: company/templates/company/supplier_part.html:246 +msgid "Pricing Information" +msgstr "" + +#: company/templates/company/supplier_part.html:251 +#: templates/js/translated/company.js:398 +#: templates/js/translated/pricing.js:684 +msgid "Add Price Break" +msgstr "" + +#: company/templates/company/supplier_part.html:276 +msgid "Supplier Part QR Code" +msgstr "" + +#: company/templates/company/supplier_part.html:287 +msgid "Link Barcode to Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:359 +msgid "Update Part Availability" +msgstr "" + +#: company/templates/company/supplier_part_sidebar.html:5 +#: part/serializers.py:859 part/stocktake.py:224 +#: part/templates/part/category.html:183 +#: part/templates/part/category_sidebar.html:17 stock/admin.py:68 +#: stock/serializers.py:976 stock/serializers.py:1154 +#: stock/templates/stock/location.html:170 +#: 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:1064 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 +#: users/models.py:206 +msgid "Stock Items" +msgstr "" + +#: company/templates/company/supplier_part_sidebar.html:9 +msgid "Supplier Part Pricing" +msgstr "" + +#: company/views.py:32 +msgid "New Supplier" +msgstr "" + +#: company/views.py:38 +msgid "New Manufacturer" +msgstr "" + +#: company/views.py:43 templates/InvenTree/search.html:210 +#: templates/navbar.html:60 +msgid "Customers" +msgstr "" + +#: company/views.py:44 +msgid "New Customer" +msgstr "" + +#: company/views.py:52 +msgid "New Company" +msgstr "" + +#: generic/states/tests.py:18 order/status_codes.py:13 +msgid "Placed" +msgstr "" + +#: importer/mixins.py:263 +msgid "Invalid export format" +msgstr "" + +#: importer/models.py:56 +msgid "Timestamp" +msgstr "" + +#: importer/models.py:61 +msgid "Data file to import" +msgstr "" + +#: importer/models.py:70 templates/js/translated/tables.js:558 +msgid "Columns" +msgstr "" + +#: importer/models.py:81 +msgid "Import status" +msgstr "" + +#: importer/models.py:91 +msgid "Field Defaults" +msgstr "" + +#: importer/models.py:201 +msgid "Some required fields have not been mapped" +msgstr "" + +#: importer/models.py:346 +msgid "Column is already mapped to a database field" +msgstr "" + +#: importer/models.py:351 +msgid "Field is already mapped to a data column" +msgstr "" + +#: importer/models.py:360 +msgid "Column mapping must be linked to a valid import session" +msgstr "" + +#: importer/models.py:365 +msgid "Column does not exist in the data file" +msgstr "" + +#: importer/models.py:372 +#, fuzzy +#| msgid "User does not have permission to view this model" +msgid "Field does not exist in the target model" +msgstr "El usuario no tiene permiso para ver este modelo" + +#: importer/models.py:376 +msgid "Selected field is read-only" +msgstr "" + +#: importer/models.py:381 importer/models.py:452 +msgid "Import Session" msgstr "" -#: company/templates/company/supplier_part.html:68 -#: company/templates/company/supplier_part.html:69 -#: templates/js/translated/company.js:269 -msgid "Duplicate Supplier Part" +#: importer/models.py:385 +msgid "Field" msgstr "" -#: company/templates/company/supplier_part.html:73 -msgid "Delete Supplier Part" +#: importer/models.py:387 +msgid "Column" msgstr "" -#: company/templates/company/supplier_part.html:74 -msgid "Delete Supplier Part" +#: importer/models.py:456 +msgid "Row Index" msgstr "" -#: company/templates/company/supplier_part.html:133 -msgid "No supplier information available" +#: importer/models.py:459 +msgid "Original row data" msgstr "" -#: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:519 -#: templates/js/translated/company.js:349 templates/js/translated/part.js:1787 -#: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1850 -#: templates/js/translated/purchase_order.js:2028 -msgid "SKU" +#: importer/models.py:462 part/models.py:3841 +msgid "Data" msgstr "" -#: company/templates/company/supplier_part.html:206 -msgid "Supplier Part Stock" +#: importer/models.py:464 machine/models.py:110 +msgid "Errors" msgstr "" -#: company/templates/company/supplier_part.html:209 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:207 -msgid "Create new stock item" +#: importer/models.py:466 part/api.py:874 +msgid "Valid" msgstr "" -#: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:208 -#: templates/js/translated/stock.js:537 -msgid "New Stock Item" +#: importer/operations.py:28 importer/operations.py:49 +msgid "Unsupported data file format" msgstr "" -#: company/templates/company/supplier_part.html:223 -msgid "Supplier Part Orders" +#: importer/operations.py:40 +msgid "Failed to open data file" msgstr "" -#: company/templates/company/supplier_part.html:246 -msgid "Pricing Information" +#: importer/operations.py:51 +msgid "Invalid data file dimensions" msgstr "" -#: company/templates/company/supplier_part.html:251 -#: templates/js/translated/company.js:398 -#: templates/js/translated/pricing.js:684 -msgid "Add Price Break" +#: importer/serializers.py:135 +msgid "Rows" msgstr "" -#: company/templates/company/supplier_part.html:276 -msgid "Supplier Part QR Code" +#: importer/serializers.py:136 +msgid "List of row IDs to accept" msgstr "" -#: company/templates/company/supplier_part.html:287 -msgid "Link Barcode to Supplier Part" +#: importer/serializers.py:149 +#, fuzzy +#| msgid "No value provided" +msgid "No rows provided" +msgstr "Ningún valor proporcionado" + +#: importer/serializers.py:153 +msgid "Row does not belong to this session" msgstr "" -#: company/templates/company/supplier_part.html:359 -msgid "Update Part Availability" +#: importer/serializers.py:156 +msgid "Row contains invalid data" msgstr "" -#: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:831 part/stocktake.py:224 -#: part/templates/part/category.html:183 -#: part/templates/part/category_sidebar.html:17 stock/admin.py:68 -#: stock/serializers.py:918 stock/serializers.py:1091 -#: stock/templates/stock/location.html:170 -#: 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:1061 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 -#: users/models.py:206 -msgid "Stock Items" +#: importer/serializers.py:159 +msgid "Row has already been completed" msgstr "" -#: company/templates/company/supplier_part_sidebar.html:9 -msgid "Supplier Part Pricing" +#: importer/status_codes.py:11 +msgid "Initializing" msgstr "" -#: company/views.py:32 -msgid "New Supplier" +#: importer/status_codes.py:12 +msgid "Mapping Columns" msgstr "" -#: company/views.py:38 -msgid "New Manufacturer" +#: importer/status_codes.py:13 +msgid "Importing Data" msgstr "" -#: company/views.py:43 templates/InvenTree/search.html:210 -#: templates/navbar.html:60 -msgid "Customers" +#: importer/status_codes.py:16 +msgid "Processing Data" msgstr "" -#: company/views.py:44 -msgid "New Customer" +#: importer/validators.py:21 +#, fuzzy +#| msgid "Image download exceeded maximum size" +msgid "Data file exceeds maximum size limit" +msgstr "La imagen descargada exedió el tamaño máximo" + +#: importer/validators.py:26 +msgid "Data file contains no headers" msgstr "" -#: company/views.py:52 -msgid "New Company" +#: importer/validators.py:29 +msgid "Data file contains too many columns" msgstr "" -#: generic/states/tests.py:18 order/status_codes.py:13 -msgid "Placed" +#: importer/validators.py:32 +msgid "Data file contains too many rows" +msgstr "" + +#: importer/validators.py:49 +msgid "Value must be a valid dictionary object" msgstr "" #: machine/machine_types/label_printer.py:212 @@ -4783,7 +4992,7 @@ msgstr "" msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:229 order/api.py:1467 +#: machine/machine_types/label_printer.py:229 order/api.py:1388 #: templates/js/translated/sales_order.js:1078 msgid "Unknown" msgstr "" @@ -4852,10 +5061,6 @@ msgstr "" msgid "Initialized" msgstr "" -#: machine/models.py:110 -msgid "Errors" -msgstr "" - #: machine/models.py:117 msgid "Machine status" msgstr "" @@ -4881,44 +5086,44 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:157 order/serializers.py:90 +#: order/api.py:149 order/serializers.py:94 #: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:113 #: order/templates/order/sales_order_base.html:122 msgid "Order Status" msgstr "" -#: order/api.py:161 templates/js/translated/table_filters.js:194 -#: templates/js/translated/table_filters.js:779 +#: order/api.py:153 templates/js/translated/table_filters.js:194 +#: templates/js/translated/table_filters.js:784 msgid "Has Pricing" msgstr "" -#: order/api.py:236 +#: order/api.py:228 msgid "No matching purchase order found" msgstr "" -#: order/api.py:435 order/api.py:801 order/models.py:1395 order/models.py:1504 -#: order/models.py:1550 order/models.py:1664 order/models.py:1818 -#: order/models.py:2231 order/models.py:2282 +#: order/api.py:417 order/api.py:755 order/models.py:1400 order/models.py:1514 +#: order/models.py:1565 order/models.py:1680 order/models.py:1839 +#: order/models.py:2258 order/models.py:2314 #: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "" -#: order/api.py:439 order/api.py:822 +#: order/api.py:421 order/api.py:776 msgid "Order Complete" msgstr "" -#: order/api.py:462 +#: order/api.py:444 msgid "Order Pending" msgstr "" -#: order/api.py:1461 order/models.py:380 order/models.py:1396 -#: order/models.py:1505 order/templates/order/order_base.html:9 +#: order/api.py:1382 order/models.py:380 order/models.py:1401 +#: order/models.py:1515 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 -#: stock/serializers.py:118 stock/templates/stock/item_base.html:176 +#: stock/serializers.py:120 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/part.js:1746 templates/js/translated/pricing.js:804 +#: templates/js/translated/part.js:1749 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:1673 @@ -4926,8 +5131,8 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1465 order/models.py:1981 order/models.py:2232 -#: order/models.py:2283 order/templates/order/return_order_base.html:9 +#: order/api.py:1386 order/models.py:2007 order/models.py:2259 +#: order/models.py:2315 order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report.html:13 #: templates/js/translated/return_order.js:280 @@ -4939,11 +5144,11 @@ msgstr "" msgid "Total price for this order" msgstr "" -#: order/models.py:96 order/serializers.py:70 +#: order/models.py:96 order/serializers.py:72 msgid "Order Currency" msgstr "" -#: order/models.py:99 order/serializers.py:71 +#: order/models.py:99 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" @@ -4959,7 +5164,7 @@ msgstr "" msgid "Select project code for this order" msgstr "" -#: order/models.py:303 order/models.py:1301 order/models.py:1717 +#: order/models.py:303 order/models.py:1301 order/models.py:1733 msgid "Link to external page" msgstr "" @@ -5008,15 +5213,15 @@ msgstr "" msgid "received by" msgstr "" -#: order/models.py:514 order/models.py:2058 +#: order/models.py:514 order/models.py:2084 msgid "Issue Date" msgstr "" -#: order/models.py:515 order/models.py:2059 +#: order/models.py:515 order/models.py:2085 msgid "Date order was issued" msgstr "" -#: order/models.py:522 order/models.py:2066 +#: order/models.py:522 order/models.py:2092 msgid "Date order was completed" msgstr "" @@ -5032,15 +5237,15 @@ msgstr "" msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:962 order/models.py:2051 +#: order/models.py:962 order/models.py:2077 msgid "Customer Reference " msgstr "" -#: order/models.py:963 order/models.py:2052 +#: order/models.py:963 order/models.py:2078 msgid "Customer order reference code" msgstr "" -#: order/models.py:967 order/models.py:1671 +#: order/models.py:967 order/models.py:1687 #: templates/js/translated/sales_order.js:879 #: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" @@ -5102,20 +5307,24 @@ msgstr "" msgid "Unit price" msgstr "" -#: order/models.py:1380 +#: order/models.py:1361 +msgid "Purchase Order Line Item" +msgstr "" + +#: order/models.py:1385 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1387 +#: order/models.py:1392 msgid "deleted" msgstr "" -#: order/models.py:1415 +#: order/models.py:1420 msgid "Supplier part" msgstr "" -#: order/models.py:1422 order/templates/order/order_base.html:196 -#: templates/js/translated/part.js:1870 templates/js/translated/part.js:1902 +#: order/models.py:1427 order/templates/order/order_base.html:196 +#: templates/js/translated/part.js:1873 templates/js/translated/part.js:1905 #: templates/js/translated/purchase_order.js:1306 #: templates/js/translated/purchase_order.js:2169 #: templates/js/translated/return_order.js:763 @@ -5124,196 +5333,224 @@ msgstr "" msgid "Received" msgstr "" -#: order/models.py:1423 +#: order/models.py:1428 msgid "Number of items received" msgstr "" -#: order/models.py:1431 stock/models.py:939 stock/serializers.py:556 +#: order/models.py:1436 stock/models.py:939 stock/serializers.py:602 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2311 msgid "Purchase Price" msgstr "" -#: order/models.py:1432 +#: order/models.py:1437 msgid "Unit purchase price" msgstr "" -#: order/models.py:1447 +#: order/models.py:1452 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1538 +#: order/models.py:1503 +msgid "Purchase Order Extra Line" +msgstr "" + +#: order/models.py:1532 +msgid "Sales Order Line Item" +msgstr "" + +#: order/models.py:1553 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1543 +#: order/models.py:1558 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1569 part/templates/part/part_pricing.html:107 +#: order/models.py:1584 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:1570 +#: order/models.py:1585 msgid "Unit sale price" msgstr "" -#: order/models.py:1579 order/status_codes.py:43 +#: order/models.py:1594 order/status_codes.py:43 #: templates/js/translated/sales_order.js:1559 #: templates/js/translated/sales_order.js:1680 #: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "" -#: order/models.py:1580 +#: order/models.py:1595 msgid "Shipped quantity" msgstr "" -#: order/models.py:1672 +#: order/models.py:1667 +msgid "Sales Order Shipment" +msgstr "" + +#: order/models.py:1688 msgid "Date of shipment" msgstr "" -#: order/models.py:1678 templates/js/translated/sales_order.js:1072 +#: order/models.py:1694 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "" -#: order/models.py:1679 +#: order/models.py:1695 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1687 +#: order/models.py:1703 msgid "Checked By" msgstr "" -#: order/models.py:1688 +#: order/models.py:1704 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1695 order/models.py:1908 order/serializers.py:1342 -#: order/serializers.py:1452 templates/js/translated/model_renderers.js:454 +#: order/models.py:1711 order/models.py:1934 order/serializers.py:1398 +#: order/serializers.py:1508 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "" -#: order/models.py:1696 +#: order/models.py:1712 msgid "Shipment number" msgstr "" -#: order/models.py:1704 +#: order/models.py:1720 msgid "Tracking Number" msgstr "" -#: order/models.py:1705 +#: order/models.py:1721 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1712 +#: order/models.py:1728 msgid "Invoice Number" msgstr "" -#: order/models.py:1713 +#: order/models.py:1729 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1733 +#: order/models.py:1749 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1736 +#: order/models.py:1752 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1854 order/models.py:1856 +#: order/models.py:1828 +msgid "Sales Order Extra Line" +msgstr "" + +#: order/models.py:1857 +msgid "Sales Order Allocation" +msgstr "" + +#: order/models.py:1880 order/models.py:1882 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1863 +#: order/models.py:1889 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1866 +#: order/models.py:1892 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1869 +#: order/models.py:1895 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1888 order/serializers.py:1219 +#: order/models.py:1914 order/serializers.py:1275 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1891 +#: order/models.py:1917 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1892 plugin/base/barcodes/api.py:481 +#: order/models.py:1918 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1900 +#: order/models.py:1926 msgid "Line" msgstr "" -#: order/models.py:1909 +#: order/models.py:1935 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1922 order/models.py:2239 +#: order/models.py:1948 order/models.py:2266 #: templates/js/translated/return_order.js:721 msgid "Item" msgstr "" -#: order/models.py:1923 +#: order/models.py:1949 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1932 +#: order/models.py:1958 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2021 +#: order/models.py:2047 msgid "Return Order reference" msgstr "" -#: order/models.py:2033 +#: order/models.py:2059 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2045 +#: order/models.py:2071 msgid "Return order status" msgstr "" -#: order/models.py:2224 +#: order/models.py:2237 +msgid "Return Order Line Item" +msgstr "" + +#: order/models.py:2251 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2240 +#: order/models.py:2267 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2246 +#: order/models.py:2273 msgid "Received Date" msgstr "" -#: order/models.py:2247 +#: order/models.py:2274 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2258 templates/js/translated/return_order.js:732 +#: order/models.py:2285 templates/js/translated/return_order.js:732 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2259 +#: order/models.py:2286 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2266 +#: order/models.py:2293 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:79 order/templates/order/po_sidebar.html:5 +#: order/models.py:2303 +msgid "Return Order Extra Line" +msgstr "" + +#: order/serializers.py:83 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_purchase_order_report.html:22 @@ -5322,163 +5559,171 @@ msgstr "" msgid "Line Items" msgstr "" -#: order/serializers.py:83 +#: order/serializers.py:87 msgid "Completed Lines" msgstr "" -#: order/serializers.py:286 +#: order/serializers.py:305 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:301 order/serializers.py:1235 +#: order/serializers.py:320 order/serializers.py:1291 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:311 order/serializers.py:1245 +#: order/serializers.py:330 order/serializers.py:1301 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:439 +#: order/serializers.py:468 msgid "Order is not open" msgstr "" -#: order/serializers.py:460 +#: order/serializers.py:489 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:462 +#: order/serializers.py:491 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:472 +#: order/serializers.py:501 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:478 +#: order/serializers.py:507 msgid "Merge Items" msgstr "" -#: order/serializers.py:480 +#: order/serializers.py:509 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:498 +#: order/serializers.py:522 part/models.py:945 +msgid "Internal Part Number" +msgstr "" + +#: order/serializers.py:530 +msgid "Internal Part Name" +msgstr "" + +#: order/serializers.py:546 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:501 +#: order/serializers.py:549 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:509 +#: order/serializers.py:557 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:510 +#: order/serializers.py:558 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:549 order/serializers.py:1313 +#: order/serializers.py:598 order/serializers.py:1369 msgid "Line Item" msgstr "" -#: order/serializers.py:555 +#: order/serializers.py:604 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:565 order/serializers.py:673 order/serializers.py:1657 +#: order/serializers.py:614 order/serializers.py:722 order/serializers.py:1715 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:581 templates/js/translated/purchase_order.js:1130 +#: order/serializers.py:630 templates/js/translated/purchase_order.js:1130 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:589 templates/js/translated/purchase_order.js:1154 +#: order/serializers.py:638 templates/js/translated/purchase_order.js:1154 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:600 templates/js/translated/barcode.js:52 +#: order/serializers.py:649 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:601 +#: order/serializers.py:650 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:617 +#: order/serializers.py:666 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:641 +#: order/serializers.py:690 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:689 order/serializers.py:1673 +#: order/serializers.py:738 order/serializers.py:1731 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:705 +#: order/serializers.py:754 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:716 +#: order/serializers.py:765 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1062 +#: order/serializers.py:1117 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1122 +#: order/serializers.py:1178 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1183 order/serializers.py:1322 +#: order/serializers.py:1239 order/serializers.py:1378 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1202 +#: order/serializers.py:1258 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1332 +#: order/serializers.py:1388 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1354 order/serializers.py:1460 +#: order/serializers.py:1410 order/serializers.py:1516 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1357 order/serializers.py:1463 +#: order/serializers.py:1413 order/serializers.py:1519 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1404 +#: order/serializers.py:1460 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1411 +#: order/serializers.py:1467 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1627 +#: order/serializers.py:1685 msgid "Return order line item" msgstr "" -#: order/serializers.py:1633 +#: order/serializers.py:1691 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1636 +#: order/serializers.py:1694 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1665 +#: order/serializers.py:1723 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1743 +#: order/serializers.py:1806 msgid "Line price currency" msgstr "" @@ -5808,7 +6053,7 @@ msgstr "" #: 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:1073 +#: templates/js/translated/part.js:1076 #: templates/js/translated/purchase_order.js:1752 #: templates/js/translated/return_order.js:380 #: templates/js/translated/sales_order.js:891 @@ -5904,34 +6149,29 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:398 part/models.py:3944 part/stocktake.py:219 +#: part/admin.py:39 part/admin.py:398 part/models.py:3991 part/stocktake.py:219 #: stock/admin.py:152 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:405 part/models.py:3945 part/stocktake.py:220 -#: stock/admin.py:156 -msgid "Part Name" -msgstr "" - #: part/admin.py:45 part/stocktake.py:221 msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:940 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:944 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 -#: templates/js/translated/part.js:1227 templates/js/translated/part.js:2341 +#: templates/js/translated/part.js:1230 templates/js/translated/part.js:2344 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:949 part/templates/part/part_base.html:277 -#: report/models.py:162 templates/js/translated/part.js:1232 -#: templates/js/translated/part.js:2347 +#: part/admin.py:50 part/models.py:953 part/templates/part/part_base.html:277 +#: report/models.py:162 templates/js/translated/part.js:1235 +#: templates/js/translated/part.js:2350 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:319 part/models.py:922 +#: part/admin.py:53 part/admin.py:319 part/models.py:926 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5944,7 +6184,8 @@ msgstr "" msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:304 part/stocktake.py:223 +#: part/admin.py:67 part/admin.py:304 part/serializers.py:837 +#: part/stocktake.py:223 msgid "Category Name" msgstr "" @@ -5956,11 +6197,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:908 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:912 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1036 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1040 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5968,18 +6209,19 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:150 part/templates/part/part_base.html:241 stock/admin.py:235 -#: templates/js/translated/part.js:715 templates/js/translated/part.js:2153 +#: part/admin.py:150 part/serializers.py:854 +#: part/templates/part/part_base.html:241 stock/admin.py:235 +#: templates/js/translated/part.js:714 templates/js/translated/part.js:2156 msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3088 part/models.py:3102 -#: templates/js/translated/part.js:970 +#: part/admin.py:155 part/models.py:3098 part/models.py:3112 +#: templates/js/translated/part.js:973 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3095 part/models.py:3109 -#: templates/js/translated/part.js:980 +#: part/admin.py:158 part/models.py:3105 part/models.py:3119 +#: templates/js/translated/part.js:983 msgid "Maximum Cost" msgstr "" @@ -5996,14 +6238,14 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:396 part/serializers.py:124 -#: part/serializers.py:267 part/serializers.py:386 +#: part/admin.py:325 part/models.py:397 part/serializers.py:130 +#: part/serializers.py:282 part/serializers.py:404 #: 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:2807 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:203 msgid "Parts" msgstr "" @@ -6020,125 +6262,117 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:402 part/models.py:3946 -msgid "Part IPN" -msgstr "" - -#: part/admin.py:415 part/serializers.py:1274 +#: part/admin.py:415 part/serializers.py:1302 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:420 part/serializers.py:1289 +#: part/admin.py:420 part/serializers.py:1317 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "" -#: part/api.py:104 +#: part/api.py:105 msgid "Starred" msgstr "" -#: part/api.py:106 +#: part/api.py:107 msgid "Filter by starred categories" msgstr "" -#: part/api.py:123 stock/api.py:312 +#: part/api.py:124 stock/api.py:312 msgid "Depth" msgstr "" -#: part/api.py:123 +#: part/api.py:124 msgid "Filter by category depth" msgstr "" -#: part/api.py:141 stock/api.py:330 +#: part/api.py:142 stock/api.py:330 msgid "Top Level" msgstr "" -#: part/api.py:143 +#: part/api.py:144 msgid "Filter by top-level categories" msgstr "" -#: part/api.py:156 stock/api.py:345 +#: part/api.py:157 stock/api.py:345 msgid "Cascade" msgstr "" -#: part/api.py:158 +#: part/api.py:159 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:179 templates/js/translated/part.js:308 +#: part/api.py:180 templates/js/translated/part.js:307 msgid "Parent" msgstr "" -#: part/api.py:181 +#: part/api.py:182 msgid "Filter by parent category" msgstr "" -#: part/api.py:214 +#: part/api.py:215 msgid "Exclude Tree" msgstr "" -#: part/api.py:216 +#: part/api.py:217 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:449 +#: part/api.py:442 msgid "Has Results" msgstr "" -#: part/api.py:616 +#: part/api.py:609 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:634 +#: part/api.py:627 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:650 +#: part/api.py:643 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:734 +#: part/api.py:727 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:881 -msgid "Valid" -msgstr "" - -#: part/api.py:882 +#: part/api.py:875 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:888 +#: part/api.py:881 msgid "This option must be selected" msgstr "" -#: part/api.py:1105 +#: part/api.py:1098 msgid "BOM Valid" msgstr "" -#: part/api.py:1508 part/models.py:932 part/models.py:3374 part/models.py:3889 -#: part/serializers.py:401 part/serializers.py:1130 -#: part/templates/part/part_base.html:260 stock/api.py:791 +#: part/api.py:1494 part/models.py:936 part/models.py:3385 part/models.py:3936 +#: part/serializers.py:419 part/serializers.py:1158 +#: part/templates/part/part_base.html:260 stock/api.py:783 #: 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:2380 msgid "Category" msgstr "" -#: part/api.py:1796 +#: part/api.py:1784 msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:104 part/models.py:975 +#: part/bom.py:170 part/models.py:104 part/models.py:979 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:833 +#: part/bom.py:171 part/serializers.py:861 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6147,7 +6381,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:85 part/models.py:3890 part/templates/part/category.html:16 +#: part/models.py:85 part/models.py:3937 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -6162,7 +6396,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:110 stock/models.py:175 templates/js/translated/part.js:2810 +#: part/models.py:110 stock/models.py:175 templates/js/translated/part.js:2813 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 @@ -6194,1002 +6428,1035 @@ msgstr "" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:485 +#: part/models.py:486 +msgid "Cannot delete this part as it is locked" +msgstr "" + +#: part/models.py:489 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:490 +#: part/models.py:494 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:528 +#: part/models.py:532 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:576 part/models.py:583 +#: part/models.py:580 part/models.py:587 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:595 +#: part/models.py:599 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:658 +#: part/models.py:662 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:736 +#: part/models.py:740 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:837 +#: part/models.py:841 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:847 +#: part/models.py:851 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:862 +#: part/models.py:866 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:891 part/models.py:3945 +#: part/models.py:895 part/models.py:3992 msgid "Part name" msgstr "" -#: part/models.py:896 +#: part/models.py:900 msgid "Is Template" msgstr "" -#: part/models.py:897 +#: part/models.py:901 msgid "Is this part a template part?" msgstr "" -#: part/models.py:907 +#: part/models.py:911 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:915 +#: part/models.py:919 msgid "Part description (optional)" msgstr "" -#: part/models.py:923 +#: part/models.py:927 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:933 +#: part/models.py:937 msgid "Part category" msgstr "" -#: part/models.py:941 -msgid "Internal Part Number" -msgstr "" - -#: part/models.py:948 +#: part/models.py:952 msgid "Part revision or version number" msgstr "" -#: part/models.py:973 +#: part/models.py:977 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1019 part/templates/part/part_base.html:376 +#: part/models.py:1023 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:1020 +#: part/models.py:1024 msgid "Default supplier part" msgstr "" -#: part/models.py:1027 +#: part/models.py:1031 msgid "Default Expiry" msgstr "" -#: part/models.py:1028 +#: part/models.py:1032 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1037 +#: part/models.py:1041 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1046 +#: part/models.py:1050 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1053 +#: part/models.py:1057 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1059 +#: part/models.py:1063 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1065 +#: part/models.py:1069 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1071 +#: part/models.py:1075 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1077 +#: part/models.py:1081 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1081 +#: part/models.py:1085 msgid "Is this part active?" msgstr "" -#: part/models.py:1087 +#: part/models.py:1090 templates/js/translated/part.js:818 +#: templates/js/translated/table_filters.js:721 +msgid "Locked" +msgstr "" + +#: part/models.py:1091 +msgid "Locked parts cannot be edited" +msgstr "" + +#: part/models.py:1097 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1093 +#: part/models.py:1103 msgid "BOM checksum" msgstr "" -#: part/models.py:1094 +#: part/models.py:1104 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1102 +#: part/models.py:1112 msgid "BOM checked by" msgstr "" -#: part/models.py:1107 +#: part/models.py:1117 msgid "BOM checked date" msgstr "" -#: part/models.py:1123 +#: part/models.py:1133 msgid "Creation User" msgstr "" -#: part/models.py:1133 +#: part/models.py:1143 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1138 part/templates/part/part_base.html:339 +#: part/models.py:1148 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:2474 msgid "Last Stocktake" msgstr "" -#: part/models.py:2011 +#: part/models.py:2021 msgid "Sell multiple" msgstr "" -#: part/models.py:3002 +#: part/models.py:3012 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3018 +#: part/models.py:3028 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3019 +#: part/models.py:3029 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3025 +#: part/models.py:3035 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3026 +#: part/models.py:3036 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3032 +#: part/models.py:3042 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3033 +#: part/models.py:3043 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3039 +#: part/models.py:3049 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3040 +#: part/models.py:3050 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3046 +#: part/models.py:3056 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3047 +#: part/models.py:3057 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3053 +#: part/models.py:3063 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3054 +#: part/models.py:3064 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3060 +#: part/models.py:3070 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3061 +#: part/models.py:3071 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3067 +#: part/models.py:3077 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3068 +#: part/models.py:3078 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3074 +#: part/models.py:3084 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3075 +#: part/models.py:3085 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3081 +#: part/models.py:3091 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3082 +#: part/models.py:3092 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3089 +#: part/models.py:3099 msgid "Override minimum cost" msgstr "" -#: part/models.py:3096 +#: part/models.py:3106 msgid "Override maximum cost" msgstr "" -#: part/models.py:3103 +#: part/models.py:3113 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3110 +#: part/models.py:3120 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3116 +#: part/models.py:3126 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3117 +#: part/models.py:3127 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3123 +#: part/models.py:3133 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3124 +#: part/models.py:3134 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3130 +#: part/models.py:3140 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3131 +#: part/models.py:3141 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3137 +#: part/models.py:3147 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3138 +#: part/models.py:3148 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3157 +#: part/models.py:3167 msgid "Part for stocktake" msgstr "" -#: part/models.py:3162 +#: part/models.py:3172 msgid "Item Count" msgstr "" -#: part/models.py:3163 +#: part/models.py:3173 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3171 +#: part/models.py:3181 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3175 part/models.py:3258 +#: part/models.py:3185 part/models.py:3268 #: part/templates/part/part_scheduling.html:13 #: 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:1086 templates/js/translated/pricing.js:826 +#: templates/js/translated/part.js:1089 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 #: templates/js/translated/purchase_order.js:1731 #: templates/js/translated/stock.js:2821 msgid "Date" msgstr "" -#: part/models.py:3176 +#: part/models.py:3186 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3184 +#: part/models.py:3194 msgid "Additional notes" msgstr "" -#: part/models.py:3194 +#: part/models.py:3204 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3200 +#: part/models.py:3210 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3201 +#: part/models.py:3211 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3207 +#: part/models.py:3217 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3208 +#: part/models.py:3218 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3264 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3274 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3265 +#: part/models.py:3275 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3270 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3280 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3271 +#: part/models.py:3281 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3281 +#: part/models.py:3291 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3423 +#: part/models.py:3301 +msgid "Part Sale Price Break" +msgstr "" + +#: part/models.py:3413 +msgid "Part Test Template" +msgstr "" + +#: part/models.py:3439 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3444 part/models.py:3608 +#: part/models.py:3460 part/models.py:3629 msgid "Choices must be unique" msgstr "" -#: part/models.py:3455 +#: part/models.py:3471 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3466 +#: part/models.py:3482 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3483 templates/js/translated/part.js:2880 +#: part/models.py:3499 templates/js/translated/part.js:2883 msgid "Test Name" msgstr "" -#: part/models.py:3484 +#: part/models.py:3500 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3490 +#: part/models.py:3506 msgid "Test Key" msgstr "" -#: part/models.py:3491 +#: part/models.py:3507 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3498 +#: part/models.py:3514 msgid "Test Description" msgstr "" -#: part/models.py:3499 +#: part/models.py:3515 msgid "Enter description for this test" msgstr "" -#: part/models.py:3503 report/models.py:209 -#: templates/js/translated/part.js:2901 +#: part/models.py:3519 report/models.py:209 +#: templates/js/translated/part.js:2904 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "" -#: part/models.py:3503 +#: part/models.py:3519 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3508 templates/js/translated/part.js:2909 +#: part/models.py:3524 templates/js/translated/part.js:2912 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3509 +#: part/models.py:3525 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3514 templates/js/translated/part.js:2917 +#: part/models.py:3530 templates/js/translated/part.js:2920 msgid "Requires Value" msgstr "" -#: part/models.py:3515 +#: part/models.py:3531 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3520 templates/js/translated/part.js:2924 +#: part/models.py:3536 templates/js/translated/part.js:2927 msgid "Requires Attachment" msgstr "" -#: part/models.py:3522 +#: part/models.py:3538 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3528 part/models.py:3667 templates/js/translated/part.js:1637 +#: part/models.py:3544 part/models.py:3688 templates/js/translated/part.js:1640 msgid "Choices" msgstr "" -#: part/models.py:3529 +#: part/models.py:3545 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3583 +#: part/models.py:3577 +msgid "Part Parameter Template" +msgstr "" + +#: part/models.py:3604 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3588 +#: part/models.py:3609 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3625 +#: part/models.py:3646 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3640 +#: part/models.py:3661 msgid "Parameter Name" msgstr "" -#: part/models.py:3647 +#: part/models.py:3668 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3655 +#: part/models.py:3676 msgid "Parameter description" msgstr "" -#: part/models.py:3661 templates/js/translated/part.js:1628 -#: templates/js/translated/table_filters.js:825 +#: part/models.py:3682 templates/js/translated/part.js:1631 +#: templates/js/translated/table_filters.js:830 msgid "Checkbox" msgstr "" -#: part/models.py:3662 +#: part/models.py:3683 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3668 +#: part/models.py:3689 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3745 +#: part/models.py:3723 +msgid "Part Parameter" +msgstr "" + +#: part/models.py:3749 +msgid "Parameter cannot be modified - part is locked" +msgstr "" + +#: part/models.py:3785 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3788 +#: part/models.py:3828 msgid "Parent Part" msgstr "" -#: part/models.py:3796 part/models.py:3897 part/models.py:3898 +#: part/models.py:3836 part/models.py:3944 part/models.py:3945 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3801 -msgid "Data" +#: part/models.py:3842 +msgid "Parameter Value" msgstr "" -#: part/models.py:3802 -msgid "Parameter Value" +#: part/models.py:3892 +msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:3904 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3951 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3905 +#: part/models.py:3952 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3943 +#: part/models.py:3990 msgid "Part ID or part name" msgstr "" -#: part/models.py:3944 +#: part/models.py:3991 msgid "Unique part ID value" msgstr "" -#: part/models.py:3946 +#: part/models.py:3993 msgid "Part IPN value" msgstr "" -#: part/models.py:3947 +#: part/models.py:3994 msgid "Level" msgstr "" -#: part/models.py:3947 +#: part/models.py:3994 msgid "BOM level" msgstr "" -#: part/models.py:4037 +#: part/models.py:4105 +msgid "BOM item cannot be modified - assembly is locked" +msgstr "" + +#: part/models.py:4112 +msgid "BOM item cannot be modified - variant assembly is locked" +msgstr "" + +#: part/models.py:4122 msgid "Select parent part" msgstr "" -#: part/models.py:4047 +#: part/models.py:4132 msgid "Sub part" msgstr "" -#: part/models.py:4048 +#: part/models.py:4133 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4059 +#: part/models.py:4144 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4065 +#: part/models.py:4150 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4071 +#: part/models.py:4156 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4078 part/templates/part/upload_bom.html:55 +#: part/models.py:4163 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4079 +#: part/models.py:4164 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4086 +#: part/models.py:4171 msgid "BOM item reference" msgstr "" -#: part/models.py:4094 +#: part/models.py:4179 msgid "BOM item notes" msgstr "" -#: part/models.py:4100 +#: part/models.py:4185 msgid "Checksum" msgstr "" -#: part/models.py:4101 +#: part/models.py:4186 msgid "BOM line checksum" msgstr "" -#: part/models.py:4106 templates/js/translated/table_filters.js:174 +#: part/models.py:4191 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4107 +#: part/models.py:4192 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4112 part/templates/part/upload_bom.html:57 +#: part/models.py:4197 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:4113 +#: part/models.py:4198 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4118 part/templates/part/upload_bom.html:56 +#: part/models.py:4203 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4119 +#: part/models.py:4204 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4204 stock/models.py:663 +#: part/models.py:4289 stock/models.py:663 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4214 part/models.py:4216 +#: part/models.py:4299 part/models.py:4301 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4354 +#: part/models.py:4439 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4375 +#: part/models.py:4460 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4388 +#: part/models.py:4473 msgid "Parent BOM item" msgstr "" -#: part/models.py:4396 +#: part/models.py:4481 msgid "Substitute part" msgstr "" -#: part/models.py:4412 +#: part/models.py:4497 msgid "Part 1" msgstr "" -#: part/models.py:4420 +#: part/models.py:4505 msgid "Part 2" msgstr "" -#: part/models.py:4421 +#: part/models.py:4506 msgid "Select Related Part" msgstr "" -#: part/models.py:4440 +#: part/models.py:4525 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4445 +#: part/models.py:4530 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:118 +#: part/serializers.py:124 msgid "Parent Category" msgstr "" -#: part/serializers.py:119 templates/js/translated/part.js:309 +#: part/serializers.py:125 templates/js/translated/part.js:308 msgid "Parent part category" msgstr "" -#: part/serializers.py:126 part/serializers.py:148 +#: part/serializers.py:132 part/serializers.py:154 #: part/templates/part/category.html:122 part/templates/part/category.html:207 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" -#: part/serializers.py:180 +#: part/serializers.py:189 msgid "Results" msgstr "" -#: part/serializers.py:181 +#: part/serializers.py:190 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:205 part/serializers.py:223 stock/serializers.py:562 +#: part/serializers.py:217 part/serializers.py:235 stock/serializers.py:608 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:268 +#: part/serializers.py:283 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:392 +#: part/serializers.py:410 msgid "No parts selected" msgstr "" -#: part/serializers.py:402 +#: part/serializers.py:420 msgid "Select category" msgstr "" -#: part/serializers.py:437 +#: part/serializers.py:455 msgid "Original Part" msgstr "" -#: part/serializers.py:438 +#: part/serializers.py:456 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:461 msgid "Copy Image" msgstr "" -#: part/serializers.py:444 +#: part/serializers.py:462 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:450 part/templates/part/detail.html:277 +#: part/serializers.py:468 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:451 +#: part/serializers.py:469 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:457 +#: part/serializers.py:475 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:458 +#: part/serializers.py:476 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:464 +#: part/serializers.py:482 msgid "Copy Notes" msgstr "" -#: part/serializers.py:465 +#: part/serializers.py:483 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:483 +#: part/serializers.py:501 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:485 +#: part/serializers.py:503 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:492 +#: part/serializers.py:510 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:493 +#: part/serializers.py:511 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:510 +#: part/serializers.py:528 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:526 +#: part/serializers.py:544 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:536 +#: part/serializers.py:554 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:543 +#: part/serializers.py:561 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:552 +#: part/serializers.py:570 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:563 +#: part/serializers.py:581 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:570 +#: part/serializers.py:588 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:834 -msgid "External Stock" -msgstr "" - -#: part/serializers.py:836 +#: part/serializers.py:864 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:839 +#: part/serializers.py:867 msgid "Variant Stock" msgstr "" -#: part/serializers.py:869 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:472 +#: part/serializers.py:897 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:870 +#: part/serializers.py:898 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:876 templates/js/translated/part.js:102 +#: part/serializers.py:904 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:877 +#: part/serializers.py:905 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:883 +#: part/serializers.py:911 msgid "Supplier Information" msgstr "" -#: part/serializers.py:884 +#: part/serializers.py:912 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:892 +#: part/serializers.py:920 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:893 +#: part/serializers.py:921 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:898 +#: part/serializers.py:926 msgid "Existing Image" msgstr "" -#: part/serializers.py:899 +#: part/serializers.py:927 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:916 +#: part/serializers.py:944 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1122 +#: part/serializers.py:1150 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1132 +#: part/serializers.py:1160 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1142 +#: part/serializers.py:1170 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1148 +#: part/serializers.py:1176 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1149 +#: part/serializers.py:1177 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1154 +#: part/serializers.py:1182 msgid "Generate Report" msgstr "" -#: part/serializers.py:1155 +#: part/serializers.py:1183 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1160 +#: part/serializers.py:1188 msgid "Update Parts" msgstr "" -#: part/serializers.py:1161 +#: part/serializers.py:1189 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1169 +#: part/serializers.py:1197 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1275 +#: part/serializers.py:1303 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1282 +#: part/serializers.py:1310 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1290 +#: part/serializers.py:1318 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1297 +#: part/serializers.py:1325 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1326 +#: part/serializers.py:1354 msgid "Update" msgstr "" -#: part/serializers.py:1327 +#: part/serializers.py:1355 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1350 +#: part/serializers.py:1378 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1357 +#: part/serializers.py:1385 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1360 +#: part/serializers.py:1388 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1727 +#: part/serializers.py:1759 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1735 +#: part/serializers.py:1767 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1736 +#: part/serializers.py:1768 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1741 +#: part/serializers.py:1773 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1742 +#: part/serializers.py:1774 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1747 +#: part/serializers.py:1779 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1748 +#: part/serializers.py:1780 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1753 +#: part/serializers.py:1785 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1754 +#: part/serializers.py:1786 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1788 +#: part/serializers.py:1823 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1789 +#: part/serializers.py:1824 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1819 +#: part/serializers.py:1856 msgid "No part column specified" msgstr "" -#: part/serializers.py:1863 +#: part/serializers.py:1900 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1866 +#: part/serializers.py:1903 msgid "No matching part found" msgstr "" -#: part/serializers.py:1869 +#: part/serializers.py:1906 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1878 +#: part/serializers.py:1915 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1886 +#: part/serializers.py:1923 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1907 +#: part/serializers.py:1946 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:225 templates/js/translated/part.js:1067 -#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 +#: part/stocktake.py:225 templates/js/translated/part.js:1070 +#: templates/js/translated/part.js:1825 templates/js/translated/part.js:1881 #: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "" @@ -7507,7 +7774,7 @@ msgstr "" #: part/templates/part/part_base.html:52 #: stock/templates/stock/item_base.html:62 -#: stock/templates/stock/location.html:74 templates/js/translated/label.js:143 +#: stock/templates/stock/location.html:74 templates/js/translated/label.js:136 msgid "Print Label" msgstr "" @@ -7529,7 +7796,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:2296 msgid "Part actions" msgstr "" @@ -7569,6 +7836,10 @@ msgstr "" msgid "Part can be sold to customers" msgstr "" +#: part/templates/part/part_base.html:145 +msgid "Part is not active" +msgstr "" + #: part/templates/part/part_base.html:153 msgid "Part is virtual (not a physical part)" msgstr "" @@ -7597,7 +7868,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:322 templates/js/translated/bom.js:1071 -#: templates/js/translated/part.js:1265 templates/js/translated/part.js:2444 +#: templates/js/translated/part.js:1268 templates/js/translated/part.js:2447 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" @@ -7690,8 +7961,8 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/part.js:1243 templates/js/translated/part.js:2146 -#: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 +#: templates/js/translated/part.js:1246 templates/js/translated/part.js:2149 +#: templates/js/translated/part.js:2395 templates/js/translated/stock.js:1059 #: templates/js/translated/stock.js:2070 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -7811,8 +8082,8 @@ msgstr "" #: part/templates/part/stock_count.html:7 #: templates/js/translated/model_renderers.js:227 -#: templates/js/translated/part.js:705 templates/js/translated/part.js:2141 -#: templates/js/translated/part.js:2143 +#: templates/js/translated/part.js:704 templates/js/translated/part.js:2144 +#: templates/js/translated/part.js:2146 msgid "No Stock" msgstr "" @@ -7956,7 +8227,7 @@ msgstr "" msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2589 +#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2590 #: templates/js/translated/sales_order.js:1953 msgid "Insufficient stock available" msgstr "" @@ -8051,7 +8322,7 @@ msgstr "" msgid "Quantity to allocate" msgstr "" -#: plugin/base/label/label.py:39 templates/js/translated/label.js:155 +#: plugin/base/label/label.py:39 templates/js/translated/label.js:148 msgid "Label printing failed" msgstr "" @@ -8748,7 +9019,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report.html:25 #: report/templates/report/inventree_test_report.html:88 stock/models.py:825 -#: stock/serializers.py:149 stock/templates/stock/item_base.html:311 +#: stock/serializers.py:151 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:230 @@ -8778,7 +9049,7 @@ msgstr "" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2447 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2457 msgid "Result" msgstr "" @@ -8799,7 +9070,7 @@ msgid "No result" msgstr "" #: report/templates/report/inventree_test_report.html:153 -#: stock/templates/stock/stock_sidebar.html:16 +#: stock/serializers.py:591 stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" @@ -8829,10 +9100,6 @@ msgstr "" msgid "Location ID" msgstr "" -#: stock/admin.py:53 stock/admin.py:175 -msgid "Location Name" -msgstr "" - #: stock/admin.py:63 stock/templates/stock/location.html:131 #: stock/templates/stock/location.html:137 msgid "Location Path" @@ -8909,7 +9176,7 @@ msgstr "" msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:369 stock/serializers.py:1085 +#: stock/api.py:369 stock/serializers.py:1148 msgid "Parent Location" msgstr "" @@ -8917,44 +9184,45 @@ msgstr "" msgid "Filter by parent location" msgstr "" -#: stock/api.py:625 templates/js/translated/table_filters.js:427 +#: stock/api.py:617 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:813 +#: stock/api.py:805 msgid "Part Tree" msgstr "" -#: stock/api.py:843 +#: stock/api.py:835 msgid "Expiry date before" msgstr "" -#: stock/api.py:847 +#: stock/api.py:839 msgid "Expiry date after" msgstr "" -#: stock/api.py:850 stock/templates/stock/item_base.html:439 +#: stock/api.py:842 stock/serializers.py:596 +#: stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "" -#: stock/api.py:937 +#: stock/api.py:929 msgid "Quantity is required" msgstr "" -#: stock/api.py:943 +#: stock/api.py:935 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:974 +#: stock/api.py:966 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:984 +#: stock/api.py:976 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1015 +#: stock/api.py:1007 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -9021,7 +9289,7 @@ msgstr "" msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:669 stock/serializers.py:446 +#: stock/models.py:669 stock/serializers.py:477 msgid "Stock item cannot be created for virtual parts" msgstr "" @@ -9066,7 +9334,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:799 stock/serializers.py:1476 +#: stock/models.py:799 stock/serializers.py:1542 msgid "Packaging this stock item is stored in" msgstr "" @@ -9078,7 +9346,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:843 stock/serializers.py:1459 +#: stock/models.py:843 stock/serializers.py:1525 msgid "Batch code for this stock item" msgstr "" @@ -9155,7 +9423,7 @@ msgstr "" msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1520 stock/serializers.py:660 +#: stock/models.py:1520 stock/serializers.py:718 msgid "Serial numbers already exist" msgstr "" @@ -9187,7 +9455,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1658 stock/serializers.py:1365 +#: stock/models.py:1658 stock/serializers.py:1431 msgid "Duplicate stock items" msgstr "" @@ -9207,288 +9475,330 @@ msgstr "" msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2345 +#: stock/models.py:2317 +msgid "Stock Item Tracking" +msgstr "" + +#: stock/models.py:2350 msgid "Entry notes" msgstr "" -#: stock/models.py:2413 +#: stock/models.py:2390 +msgid "Stock Item Test Result" +msgstr "" + +#: stock/models.py:2423 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2418 +#: stock/models.py:2428 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2423 +#: stock/models.py:2433 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2447 +#: stock/models.py:2457 msgid "Test result" msgstr "" -#: stock/models.py:2454 +#: stock/models.py:2464 msgid "Test output value" msgstr "" -#: stock/models.py:2462 +#: stock/models.py:2472 msgid "Test result attachment" msgstr "" -#: stock/models.py:2466 +#: stock/models.py:2476 msgid "Test notes" msgstr "" -#: stock/models.py:2474 templates/js/translated/stock.js:1548 +#: stock/models.py:2484 templates/js/translated/stock.js:1548 msgid "Test station" msgstr "" -#: stock/models.py:2475 +#: stock/models.py:2485 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2481 +#: stock/models.py:2491 msgid "Started" msgstr "" -#: stock/models.py:2482 +#: stock/models.py:2492 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2488 +#: stock/models.py:2498 msgid "Finished" msgstr "" -#: stock/models.py:2489 +#: stock/models.py:2499 msgid "The timestamp of the test finish" msgstr "" -#: stock/serializers.py:74 +#: stock/serializers.py:76 msgid "Generated batch code" msgstr "" -#: stock/serializers.py:83 +#: stock/serializers.py:85 msgid "Select build order" msgstr "" -#: stock/serializers.py:92 +#: stock/serializers.py:94 msgid "Select stock item to generate batch code for" msgstr "" -#: stock/serializers.py:101 +#: stock/serializers.py:103 msgid "Select location to generate batch code for" msgstr "" -#: stock/serializers.py:110 +#: stock/serializers.py:112 msgid "Select part to generate batch code for" msgstr "" -#: stock/serializers.py:119 +#: stock/serializers.py:121 msgid "Select purchase order" msgstr "" -#: stock/serializers.py:126 +#: stock/serializers.py:128 msgid "Enter quantity for batch code" msgstr "" -#: stock/serializers.py:149 +#: stock/serializers.py:151 msgid "Generated serial number" msgstr "" -#: stock/serializers.py:158 +#: stock/serializers.py:160 msgid "Select part to generate serial number for" msgstr "" -#: stock/serializers.py:166 +#: stock/serializers.py:168 msgid "Quantity of serial numbers to generate" msgstr "" -#: stock/serializers.py:228 +#: stock/serializers.py:233 msgid "Test template for this result" msgstr "" -#: stock/serializers.py:247 +#: stock/serializers.py:252 msgid "Template ID or test name must be provided" msgstr "" -#: stock/serializers.py:279 +#: stock/serializers.py:284 msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:315 +#: stock/serializers.py:320 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:438 +#: stock/serializers.py:449 stock/templates/stock/item_base.html:193 +msgid "Parent Item" +msgstr "" + +#: stock/serializers.py:450 +msgid "Parent stock item" +msgstr "" + +#: stock/serializers.py:469 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:558 +#: stock/serializers.py:585 templates/js/translated/build.js:991 +#: templates/js/translated/build.js:2344 +msgid "Allocated Quantity" +msgstr "" + +#: stock/serializers.py:588 stock/templates/stock/item_base.html:437 +#: templates/js/translated/table_filters.js:435 users/models.py:174 +msgid "Expired" +msgstr "" + +#: stock/serializers.py:594 stock/templates/stock/stock_sidebar.html:20 +msgid "Child Items" +msgstr "" + +#: stock/serializers.py:598 +msgid "Tracking Items" +msgstr "" + +#: stock/serializers.py:604 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:595 +#: stock/serializers.py:623 +msgid "Minimum Pricing" +msgstr "" + +#: stock/serializers.py:629 +msgid "Maximum Pricing" +msgstr "" + +#: stock/serializers.py:653 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:608 +#: stock/serializers.py:666 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:615 +#: stock/serializers.py:673 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:626 stock/serializers.py:1322 stock/serializers.py:1578 +#: stock/serializers.py:684 stock/serializers.py:1388 stock/serializers.py:1644 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:633 +#: stock/serializers.py:691 msgid "Optional note field" msgstr "" -#: stock/serializers.py:643 +#: stock/serializers.py:701 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:698 +#: stock/serializers.py:756 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:705 +#: stock/serializers.py:763 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:706 +#: stock/serializers.py:764 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:711 stock/serializers.py:791 stock/serializers.py:887 -#: stock/serializers.py:937 +#: stock/serializers.py:769 stock/serializers.py:849 stock/serializers.py:945 +#: stock/serializers.py:995 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:719 +#: stock/serializers.py:777 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:727 +#: stock/serializers.py:785 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:738 +#: stock/serializers.py:796 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:751 +#: stock/serializers.py:809 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:786 +#: stock/serializers.py:844 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:821 +#: stock/serializers.py:879 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:834 +#: stock/serializers.py:892 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:851 +#: stock/serializers.py:909 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:882 +#: stock/serializers.py:940 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:919 +#: stock/serializers.py:977 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:925 +#: stock/serializers.py:983 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1021 stock/serializers.py:1093 +#: stock/serializers.py:1079 stock/serializers.py:1156 #: stock/templates/stock/location.html:165 #: stock/templates/stock/location.html:222 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1086 templates/js/translated/stock.js:152 +#: stock/serializers.py:1149 templates/js/translated/stock.js:152 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1194 +#: stock/serializers.py:1260 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1198 +#: stock/serializers.py:1264 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1202 +#: stock/serializers.py:1268 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1226 +#: stock/serializers.py:1292 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1232 +#: stock/serializers.py:1298 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1240 +#: stock/serializers.py:1306 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1250 stock/serializers.py:1504 +#: stock/serializers.py:1316 stock/serializers.py:1570 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1329 +#: stock/serializers.py:1395 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1334 +#: stock/serializers.py:1400 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1335 +#: stock/serializers.py:1401 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1340 +#: stock/serializers.py:1406 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1341 +#: stock/serializers.py:1407 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1351 +#: stock/serializers.py:1417 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1418 +#: stock/serializers.py:1484 msgid "No Change" msgstr "" -#: stock/serializers.py:1447 +#: stock/serializers.py:1513 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1466 +#: stock/serializers.py:1532 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1494 +#: stock/serializers.py:1560 msgid "Stock transaction notes" msgstr "" @@ -9757,10 +10067,6 @@ msgstr "" msgid "Build" msgstr "" -#: stock/templates/stock/item_base.html:193 -msgid "Parent Item" -msgstr "" - #: stock/templates/stock/item_base.html:211 msgid "No manufacturer set" msgstr "" @@ -9836,11 +10142,6 @@ msgstr "" msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:437 -#: templates/js/translated/table_filters.js:435 users/models.py:174 -msgid "Expired" -msgstr "" - #: stock/templates/stock/item_base.html:439 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" @@ -9988,10 +10289,6 @@ msgstr "" msgid "Allocations" msgstr "" -#: stock/templates/stock/stock_sidebar.html:20 -msgid "Child Items" -msgstr "" - #: templates/403.html:6 templates/403.html:12 templates/403_csrf.html:7 msgid "Permission Denied" msgstr "" @@ -10466,8 +10763,8 @@ 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:393 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:245 users/models.py:402 +#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 +#: templates/js/translated/stock.js:245 users/models.py:406 msgid "Delete" msgstr "" @@ -10507,12 +10804,12 @@ msgid "No category parameter templates found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:308 -#: templates/js/translated/part.js:1646 +#: templates/js/translated/part.js:1649 msgid "Edit Template" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:309 -#: templates/js/translated/part.js:1647 +#: templates/js/translated/part.js:1650 msgid "Delete Template" msgstr "" @@ -11145,7 +11442,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2556 +#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2557 msgid "Required Quantity" msgstr "" @@ -11159,7 +11456,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3219 +#: templates/js/translated/part.js:3222 msgid "Minimum Quantity" msgstr "" @@ -11514,7 +11811,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2500 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2501 msgid "Variant stock allowed" msgstr "" @@ -11534,30 +11831,30 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2621 +#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2622 msgid "External stock" msgstr "" -#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2595 +#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2596 #: templates/js/translated/sales_order.js:1946 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2599 +#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2600 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2601 -#: templates/js/translated/part.js:1257 +#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2602 +#: templates/js/translated/part.js:1260 #: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2603 +#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2604 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2586 +#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2587 msgid "Consumable item" msgstr "" @@ -11589,7 +11886,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2485 +#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2486 msgid "Required Part" msgstr "" @@ -11758,10 +12055,6 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:991 templates/js/translated/build.js:2344 -msgid "Allocated Quantity" -msgstr "" - #: templates/js/translated/build.js:1005 msgid "Location not specified" msgstr "" @@ -11873,9 +12166,9 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2117 templates/js/translated/build.js:2479 +#: templates/js/translated/build.js:2117 templates/js/translated/build.js:2480 #: templates/js/translated/forms.js:2163 templates/js/translated/forms.js:2179 -#: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 +#: templates/js/translated/part.js:2319 templates/js/translated/part.js:2745 #: templates/js/translated/stock.js:1983 templates/js/translated/stock.js:2710 msgid "Select" msgstr "" @@ -11906,59 +12199,59 @@ msgstr "" msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2455 +#: templates/js/translated/build.js:2456 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2456 +#: templates/js/translated/build.js:2457 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2474 +#: templates/js/translated/build.js:2475 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2504 templates/js/translated/part.js:791 -#: templates/js/translated/part.js:1203 +#: templates/js/translated/build.js:2505 templates/js/translated/part.js:790 +#: templates/js/translated/part.js:1206 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2539 +#: templates/js/translated/build.js:2540 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2591 +#: templates/js/translated/build.js:2592 #: templates/js/translated/sales_order.js:1951 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2646 +#: templates/js/translated/build.js:2647 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2653 +#: templates/js/translated/build.js:2654 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2654 +#: templates/js/translated/build.js:2655 msgid "Allocate tracked items against individual build outputs" msgstr "" -#: templates/js/translated/build.js:2662 +#: templates/js/translated/build.js:2663 #: templates/js/translated/sales_order.js:2052 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2667 templates/js/translated/stock.js:1868 +#: templates/js/translated/build.js:2668 templates/js/translated/stock.js:1868 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2671 +#: templates/js/translated/build.js:2672 #: templates/js/translated/sales_order.js:2046 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2675 +#: templates/js/translated/build.js:2676 msgid "Remove stock allocation" msgstr "" @@ -12105,7 +12398,7 @@ msgid "Delete Parameters" msgstr "" #: templates/js/translated/company.js:1191 -#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2245 +#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2248 msgid "Order parts" msgstr "" @@ -12122,34 +12415,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:1279 -#: templates/js/translated/company.js:1567 templates/js/translated/part.js:799 -#: templates/js/translated/part.js:1211 +#: templates/js/translated/company.js:1567 templates/js/translated/part.js:798 +#: templates/js/translated/part.js:1214 msgid "Template part" msgstr "" #: templates/js/translated/company.js:1283 -#: templates/js/translated/company.js:1571 templates/js/translated/part.js:803 -#: templates/js/translated/part.js:1215 +#: templates/js/translated/company.js:1571 templates/js/translated/part.js:802 +#: templates/js/translated/part.js:1218 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1465 +#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1468 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1528 +#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1531 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1529 +#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1532 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1434 +#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1437 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1550 +#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1553 msgid "Delete Parameter" msgstr "" @@ -12323,15 +12616,15 @@ msgstr "" msgid "No parts required for builds" msgstr "" -#: templates/js/translated/label.js:55 templates/js/translated/report.js:38 +#: templates/js/translated/label.js:48 templates/js/translated/report.js:38 msgid "Select Items" msgstr "" -#: templates/js/translated/label.js:56 templates/js/translated/report.js:39 +#: templates/js/translated/label.js:49 templates/js/translated/report.js:39 msgid "No items selected for printing" msgstr "" -#: templates/js/translated/label.js:150 +#: templates/js/translated/label.js:143 msgid "Labels sent to printer" msgstr "" @@ -12400,7 +12693,7 @@ msgstr "" #: templates/js/translated/news.js:38 #: templates/js/translated/notification.js:46 -#: templates/js/translated/part.js:1605 +#: templates/js/translated/part.js:1608 msgid "ID" msgstr "" @@ -12481,343 +12774,343 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:333 templates/js/translated/stock.js:175 +#: templates/js/translated/part.js:332 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:353 +#: templates/js/translated/part.js:352 msgid "Create Part Category" msgstr "" -#: templates/js/translated/part.js:356 +#: templates/js/translated/part.js:355 msgid "Create new category after this one" msgstr "" -#: templates/js/translated/part.js:357 +#: templates/js/translated/part.js:356 msgid "Part category created" msgstr "" -#: templates/js/translated/part.js:371 +#: templates/js/translated/part.js:370 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:384 +#: templates/js/translated/part.js:383 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:389 +#: templates/js/translated/part.js:388 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:398 +#: templates/js/translated/part.js:397 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:402 +#: templates/js/translated/part.js:401 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:407 +#: templates/js/translated/part.js:406 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:431 +#: templates/js/translated/part.js:430 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:433 +#: templates/js/translated/part.js:432 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:434 +#: templates/js/translated/part.js:433 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:462 +#: templates/js/translated/part.js:461 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:464 +#: templates/js/translated/part.js:463 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:475 +#: templates/js/translated/part.js:474 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:532 +#: templates/js/translated/part.js:531 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:533 +#: templates/js/translated/part.js:532 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:547 +#: templates/js/translated/part.js:546 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:549 +#: templates/js/translated/part.js:548 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:550 +#: templates/js/translated/part.js:549 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:551 +#: templates/js/translated/part.js:550 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:558 +#: templates/js/translated/part.js:557 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:594 +#: templates/js/translated/part.js:593 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:596 +#: templates/js/translated/part.js:595 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:601 +#: templates/js/translated/part.js:600 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:603 +#: templates/js/translated/part.js:602 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:620 +#: templates/js/translated/part.js:619 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:630 +#: templates/js/translated/part.js:629 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:633 +#: templates/js/translated/part.js:632 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:658 +#: templates/js/translated/part.js:657 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:686 -#: templates/js/translated/table_filters.js:747 +#: templates/js/translated/part.js:685 +#: templates/js/translated/table_filters.js:752 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:689 +#: templates/js/translated/part.js:688 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:749 +#: templates/js/translated/part.js:748 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:772 +#: templates/js/translated/part.js:771 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:795 templates/js/translated/part.js:1207 +#: templates/js/translated/part.js:794 templates/js/translated/part.js:1210 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:807 +#: templates/js/translated/part.js:806 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:811 +#: templates/js/translated/part.js:810 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:890 +#: templates/js/translated/part.js:893 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:890 +#: templates/js/translated/part.js:893 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:898 +#: templates/js/translated/part.js:901 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:902 +#: templates/js/translated/part.js:905 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:1051 +#: templates/js/translated/part.js:1054 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1109 templates/js/translated/part.js:1145 +#: templates/js/translated/part.js:1112 templates/js/translated/part.js:1148 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1113 templates/js/translated/part.js:1155 +#: templates/js/translated/part.js:1116 templates/js/translated/part.js:1158 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1282 +#: templates/js/translated/part.js:1285 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1600 +#: templates/js/translated/part.js:1603 msgid "No part parameter templates found" msgstr "" -#: templates/js/translated/part.js:1663 +#: templates/js/translated/part.js:1666 msgid "Edit Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1675 +#: templates/js/translated/part.js:1678 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/js/translated/part.js:1683 +#: templates/js/translated/part.js:1686 msgid "Delete Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1717 +#: templates/js/translated/part.js:1720 #: templates/js/translated/purchase_order.js:1654 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/part.js:1861 +#: templates/js/translated/part.js:1864 #: 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:1907 +#: templates/js/translated/part.js:1910 #: templates/js/translated/purchase_order.js:2220 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1970 +#: templates/js/translated/part.js:1973 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1992 +#: templates/js/translated/part.js:1995 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2080 templates/js/translated/part.js:2506 +#: templates/js/translated/part.js:2083 templates/js/translated/part.js:2509 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:2201 +#: templates/js/translated/part.js:2204 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2206 +#: templates/js/translated/part.js:2209 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2236 +#: templates/js/translated/part.js:2239 msgid "Set category" msgstr "" -#: templates/js/translated/part.js:2287 +#: templates/js/translated/part.js:2290 msgid "part" msgstr "" -#: templates/js/translated/part.js:2288 +#: templates/js/translated/part.js:2291 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2384 +#: templates/js/translated/part.js:2387 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 +#: templates/js/translated/part.js:2534 templates/js/translated/part.js:2664 #: templates/js/translated/stock.js:2669 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2547 +#: templates/js/translated/part.js:2550 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2645 +#: templates/js/translated/part.js:2648 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2689 +#: templates/js/translated/part.js:2684 templates/js/translated/stock.js:2689 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2761 +#: templates/js/translated/part.js:2764 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2777 +#: templates/js/translated/part.js:2780 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2865 +#: templates/js/translated/part.js:2868 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2887 templates/js/translated/search.js:342 +#: templates/js/translated/part.js:2890 templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/part.js:2937 templates/js/translated/stock.js:1456 +#: templates/js/translated/part.js:2940 templates/js/translated/stock.js:1456 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2938 templates/js/translated/stock.js:1457 +#: templates/js/translated/part.js:2941 templates/js/translated/stock.js:1457 #: templates/js/translated/stock.js:1731 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2942 +#: templates/js/translated/part.js:2945 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2958 +#: templates/js/translated/part.js:2961 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2972 +#: templates/js/translated/part.js:2975 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3051 templates/js/translated/part.js:3052 +#: templates/js/translated/part.js:3054 templates/js/translated/part.js:3055 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3054 +#: templates/js/translated/part.js:3057 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3060 +#: templates/js/translated/part.js:3063 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3110 +#: templates/js/translated/part.js:3113 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3116 +#: templates/js/translated/part.js:3119 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3212 +#: templates/js/translated/part.js:3215 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3228 +#: templates/js/translated/part.js:3231 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3273 +#: templates/js/translated/part.js:3276 msgid "Minimum Stock Level" msgstr "" @@ -13593,7 +13886,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1042 users/models.py:392 +#: templates/js/translated/stock.js:1042 users/models.py:396 msgid "Add" msgstr "" @@ -13947,7 +14240,7 @@ msgid "Include subcategories" msgstr "" #: templates/js/translated/table_filters.js:287 -#: templates/js/translated/table_filters.js:759 +#: templates/js/translated/table_filters.js:764 msgid "Subscribed" msgstr "" @@ -14102,40 +14395,44 @@ msgstr "" msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:725 +#: templates/js/translated/table_filters.js:722 +msgid "Show locked parts" +msgstr "" + +#: templates/js/translated/table_filters.js:730 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:733 -#: templates/js/translated/table_filters.js:833 +#: templates/js/translated/table_filters.js:738 +#: templates/js/translated/table_filters.js:838 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:734 +#: templates/js/translated/table_filters.js:739 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:738 +#: templates/js/translated/table_filters.js:743 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:739 +#: templates/js/translated/table_filters.js:744 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:743 +#: templates/js/translated/table_filters.js:748 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:751 +#: templates/js/translated/table_filters.js:756 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:763 +#: templates/js/translated/table_filters.js:768 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:829 +#: templates/js/translated/table_filters.js:834 msgid "Has Choices" msgstr "" @@ -14207,10 +14504,6 @@ msgstr "" msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:558 -msgid "Columns" -msgstr "" - #: templates/js/translated/tables.js:561 msgid "All" msgstr "" @@ -14484,35 +14777,34 @@ msgstr "" msgid "Revoked" msgstr "" -#: users/models.py:375 +#: users/models.py:379 msgid "Permission set" msgstr "" -#: users/models.py:384 +#: users/models.py:388 msgid "Group" msgstr "" -#: users/models.py:388 +#: users/models.py:392 msgid "View" msgstr "" -#: users/models.py:388 +#: users/models.py:392 msgid "Permission to view items" msgstr "" -#: users/models.py:392 +#: users/models.py:396 msgid "Permission to add items" msgstr "" -#: users/models.py:396 +#: users/models.py:400 msgid "Change" msgstr "" -#: users/models.py:398 +#: users/models.py:402 msgid "Permissions to edit items" msgstr "" -#: users/models.py:404 +#: users/models.py:408 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 75fcf0b5761a..1c2cf37e88aa 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-07-05 06:40+0000\n" +"POT-Creation-Date: 2024-07-08 14:46+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -22,7 +22,7 @@ msgstr "" msgid "API endpoint not found" msgstr "" -#: InvenTree/api.py:520 +#: InvenTree/api.py:505 msgid "User does not have permission to view this model" msgstr "" @@ -57,21 +57,21 @@ msgstr "" msgid "Enter date" msgstr "" -#: InvenTree/fields.py:205 InvenTree/models.py:918 build/serializers.py:452 -#: build/serializers.py:530 build/templates/build/sidebar.html:21 -#: company/models.py:817 company/templates/company/sidebar.html:37 +#: InvenTree/fields.py:205 InvenTree/models.py:921 build/serializers.py:456 +#: build/serializers.py:534 build/templates/build/sidebar.html:21 +#: company/models.py:824 company/templates/company/sidebar.html:37 #: order/models.py:1296 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:3183 part/templates/part/part_sidebar.html:63 +#: part/models.py:3193 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:230 stock/models.py:2344 stock/models.py:2466 -#: stock/serializers.py:632 stock/serializers.py:790 stock/serializers.py:886 -#: stock/serializers.py:936 stock/serializers.py:1239 stock/serializers.py:1328 -#: stock/serializers.py:1493 stock/templates/stock/stock_sidebar.html:25 +#: stock/admin.py:230 stock/models.py:2349 stock/models.py:2476 +#: stock/serializers.py:690 stock/serializers.py:848 stock/serializers.py:944 +#: stock/serializers.py:994 stock/serializers.py:1305 stock/serializers.py:1394 +#: stock/serializers.py:1559 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:1081 +#: templates/js/translated/part.js:1084 #: templates/js/translated/purchase_order.js:2200 #: templates/js/translated/return_order.js:775 #: templates/js/translated/sales_order.js:1103 @@ -372,41 +372,41 @@ msgstr "" msgid "JSON metadata field, for use by external plugins" msgstr "" -#: InvenTree/models.py:408 +#: InvenTree/models.py:411 msgid "Improperly formatted pattern" msgstr "" -#: InvenTree/models.py:415 +#: InvenTree/models.py:418 msgid "Unknown format key specified" msgstr "" -#: InvenTree/models.py:421 +#: InvenTree/models.py:424 msgid "Missing required format key" msgstr "" -#: InvenTree/models.py:432 +#: InvenTree/models.py:435 msgid "Reference field cannot be empty" msgstr "" -#: InvenTree/models.py:440 +#: InvenTree/models.py:443 msgid "Reference must match required pattern" msgstr "" -#: InvenTree/models.py:471 +#: InvenTree/models.py:474 msgid "Reference number is too large" msgstr "" -#: InvenTree/models.py:719 +#: InvenTree/models.py:722 msgid "Duplicate names cannot exist under the same parent" msgstr "" -#: InvenTree/models.py:736 +#: InvenTree/models.py:739 msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:766 common/models.py:2678 common/models.py:3103 -#: common/serializers.py:408 company/models.py:580 machine/models.py:24 -#: part/models.py:891 part/models.py:3639 plugin/models.py:51 +#: InvenTree/models.py:769 common/models.py:2659 common/models.py:3089 +#: common/serializers.py:412 company/models.py:587 machine/models.py:24 +#: part/models.py:895 part/models.py:3660 plugin/models.py:51 #: report/models.py:150 stock/models.py:74 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -418,20 +418,20 @@ msgstr "" #: templates/js/translated/company.js:724 #: templates/js/translated/company.js:913 #: templates/js/translated/company.js:1165 -#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1187 -#: templates/js/translated/part.js:1475 templates/js/translated/part.js:1611 -#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2716 +#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1190 +#: templates/js/translated/part.js:1478 templates/js/translated/part.js:1614 +#: templates/js/translated/part.js:2752 templates/js/translated/stock.js:2716 msgid "Name" msgstr "" -#: InvenTree/models.py:772 build/models.py:235 -#: build/templates/build/detail.html:24 common/models.py:138 -#: company/models.py:509 company/models.py:808 +#: InvenTree/models.py:775 build/models.py:242 +#: build/templates/build/detail.html:24 common/models.py:143 +#: company/models.py:515 company/models.py:815 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 -#: order/models.py:1329 part/admin.py:305 part/admin.py:408 part/models.py:914 -#: part/models.py:3654 part/templates/part/category.html:82 +#: order/models.py:1329 part/admin.py:305 part/admin.py:408 part/models.py:918 +#: part/models.py:3675 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:156 #: report/models.py:510 report/models.py:536 @@ -445,10 +445,10 @@ msgstr "" #: templates/js/translated/build.js:2139 templates/js/translated/company.js:519 #: templates/js/translated/company.js:1330 #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 -#: templates/js/translated/order.js:298 templates/js/translated/part.js:1239 -#: templates/js/translated/part.js:1484 templates/js/translated/part.js:1622 -#: templates/js/translated/part.js:1959 templates/js/translated/part.js:2355 -#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2897 +#: templates/js/translated/order.js:298 templates/js/translated/part.js:1242 +#: templates/js/translated/part.js:1487 templates/js/translated/part.js:1625 +#: templates/js/translated/part.js:1962 templates/js/translated/part.js:2358 +#: templates/js/translated/part.js:2788 templates/js/translated/part.js:2900 #: templates/js/translated/plugin.js:80 #: templates/js/translated/purchase_order.js:1706 #: templates/js/translated/purchase_order.js:1849 @@ -461,53 +461,53 @@ msgstr "" msgid "Description" msgstr "" -#: InvenTree/models.py:773 stock/models.py:81 +#: InvenTree/models.py:776 stock/models.py:81 msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:788 templates/js/translated/part.js:2794 +#: InvenTree/models.py:791 templates/js/translated/part.js:2797 #: templates/js/translated/stock.js:2757 msgid "Path" msgstr "" -#: InvenTree/models.py:918 +#: InvenTree/models.py:921 msgid "Markdown notes (optional)" msgstr "" -#: InvenTree/models.py:947 +#: InvenTree/models.py:950 msgid "Barcode Data" msgstr "" -#: InvenTree/models.py:948 +#: InvenTree/models.py:951 msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:954 +#: InvenTree/models.py:957 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:955 +#: InvenTree/models.py:958 msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:1008 +#: InvenTree/models.py:1011 msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:1051 +#: InvenTree/models.py:1054 msgid "Server Error" msgstr "" -#: InvenTree/models.py:1052 +#: InvenTree/models.py:1055 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:63 part/models.py:4192 +#: InvenTree/serializers.py:63 part/models.py:4277 msgid "Must be a valid number" msgstr "" #: InvenTree/serializers.py:100 company/models.py:186 -#: company/templates/company/company_base.html:112 part/models.py:3001 +#: company/templates/company/company_base.html:112 part/models.py:3011 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -557,16 +557,16 @@ msgstr "" msgid "Is this user a superuser" msgstr "" -#: InvenTree/serializers.py:445 common/models.py:2683 company/models.py:163 -#: company/models.py:782 machine/models.py:39 part/admin.py:88 -#: part/models.py:1081 plugin/models.py:66 +#: InvenTree/serializers.py:445 common/models.py:2664 company/models.py:163 +#: company/models.py:789 machine/models.py:39 part/admin.py:88 +#: part/models.py:1085 plugin/models.py:66 #: 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 #: templates/js/translated/table_filters.js:520 #: templates/js/translated/table_filters.js:716 -#: templates/js/translated/table_filters.js:796 users/models.py:182 +#: templates/js/translated/table_filters.js:801 users/models.py:182 msgid "Active" msgstr "" @@ -598,7 +598,7 @@ msgstr "" msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:581 +#: InvenTree/serializers.py:581 importer/models.py:60 msgid "Data File" msgstr "" @@ -652,7 +652,7 @@ msgstr "" msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/status.py:66 part/serializers.py:1174 +#: InvenTree/status.py:66 part/serializers.py:1202 msgid "Background worker check failed" msgstr "" @@ -712,47 +712,48 @@ msgstr "" msgid "About InvenTree" msgstr "" -#: build/api.py:255 +#: build/api.py:248 msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:299 part/models.py:4070 templates/js/translated/bom.js:997 -#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 +#: build/api.py:292 build/serializers.py:1190 part/models.py:4155 +#: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 +#: templates/js/translated/build.js:2521 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:300 part/models.py:4064 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 +#: build/api.py:293 build/serializers.py:1191 part/models.py:4149 +#: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 +#: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2530 #: templates/js/translated/table_filters.js:186 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:587 msgid "Optional" msgstr "" -#: build/api.py:301 templates/js/translated/table_filters.js:408 +#: build/api.py:294 templates/js/translated/table_filters.js:408 #: templates/js/translated/table_filters.js:579 msgid "Tracked" msgstr "" -#: build/api.py:303 part/admin.py:144 templates/js/translated/build.js:1744 -#: templates/js/translated/build.js:2629 +#: build/api.py:296 part/admin.py:144 templates/js/translated/build.js:1744 +#: templates/js/translated/build.js:2630 #: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:571 msgid "Allocated" msgstr "" -#: build/api.py:311 company/models.py:872 company/serializers.py:359 +#: build/api.py:304 company/models.py:879 company/serializers.py:386 #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2561 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2562 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:234 -#: templates/js/translated/part.js:693 templates/js/translated/part.js:695 -#: templates/js/translated/part.js:700 +#: 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 #: templates/js/translated/table_filters.js:575 msgid "Available" @@ -761,7 +762,7 @@ msgstr "" #: build/models.py:85 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 -#: stock/serializers.py:82 templates/email/build_order_completed.html:16 +#: stock/serializers.py:84 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:2892 msgid "Build Order" @@ -782,35 +783,39 @@ msgstr "" msgid "Assembly BOM has not been validated" msgstr "" -#: build/models.py:134 part/templates/part/part_base.html:145 -msgid "Part is not active" +#: build/models.py:134 +msgid "Build order cannot be created for an inactive part" +msgstr "" + +#: build/models.py:141 +msgid "Build order cannot be created for an unlocked part" msgstr "" -#: build/models.py:148 +#: build/models.py:155 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:159 order/models.py:240 +#: build/models.py:166 order/models.py:240 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:165 +#: build/models.py:172 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:226 +#: build/models.py:233 msgid "Build Order Reference" msgstr "" -#: build/models.py:227 order/models.py:463 order/models.py:926 -#: order/models.py:1289 order/models.py:2020 part/admin.py:411 -#: part/models.py:4085 part/templates/part/upload_bom.html:54 +#: build/models.py:234 build/serializers.py:1189 order/models.py:463 +#: order/models.py:926 order/models.py:1289 order/models.py:2046 +#: part/admin.py:411 part/models.py:4170 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: 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/build.js:2513 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2065 #: templates/js/translated/return_order.js:728 @@ -818,27 +823,28 @@ msgstr "" msgid "Reference" msgstr "" -#: build/models.py:238 +#: build/models.py:245 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:246 build/templates/build/build_base.html:183 +#: build/models.py:253 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/models.py:247 +#: build/models.py:254 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:252 build/templates/build/build_base.html:97 -#: build/templates/build/detail.html:29 company/models.py:1026 order/api.py:805 -#: order/models.py:1414 order/models.py:1559 order/models.py:1560 -#: part/api.py:1494 part/api.py:1788 part/models.py:395 part/models.py:3012 -#: part/models.py:3156 part/models.py:3303 part/models.py:3324 -#: part/models.py:3346 part/models.py:3477 part/models.py:3787 -#: part/models.py:3943 part/models.py:4036 part/models.py:4395 -#: part/serializers.py:1120 part/serializers.py:1726 +#: build/models.py:259 build/serializers.py:1184 +#: build/templates/build/build_base.html:97 +#: build/templates/build/detail.html:29 company/models.py:1034 order/api.py:759 +#: order/models.py:1419 order/models.py:1574 order/models.py:1575 +#: part/api.py:1480 part/api.py:1776 part/models.py:396 part/models.py:3022 +#: part/models.py:3166 part/models.py:3314 part/models.py:3335 +#: part/models.py:3357 part/models.py:3493 part/models.py:3827 +#: part/models.py:3990 part/models.py:4121 part/models.py:4480 +#: part/serializers.py:1148 part/serializers.py:1758 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -849,8 +855,8 @@ msgstr "" #: 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:109 stock/serializers.py:157 stock/serializers.py:423 -#: stock/serializers.py:820 templates/InvenTree/search.html:82 +#: stock/serializers.py:111 stock/serializers.py:159 stock/serializers.py:443 +#: stock/serializers.py:878 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 @@ -863,8 +869,8 @@ msgstr "" #: templates/js/translated/company.js:1116 #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 -#: templates/js/translated/part.js:1944 templates/js/translated/part.js:2016 -#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:1947 templates/js/translated/part.js:2019 +#: templates/js/translated/part.js:2327 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:1848 @@ -882,107 +888,107 @@ msgstr "" msgid "Part" msgstr "" -#: build/models.py:260 +#: build/models.py:267 msgid "Select part to build" msgstr "" -#: build/models.py:265 +#: build/models.py:272 msgid "Sales Order Reference" msgstr "" -#: build/models.py:269 +#: build/models.py:276 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:274 build/serializers.py:999 +#: build/models.py:281 build/serializers.py:1003 #: templates/js/translated/build.js:1731 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "" -#: build/models.py:278 +#: build/models.py:285 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:283 +#: build/models.py:290 msgid "Destination Location" msgstr "" -#: build/models.py:287 +#: build/models.py:294 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:291 +#: build/models.py:298 msgid "Build Quantity" msgstr "" -#: build/models.py:294 +#: build/models.py:301 msgid "Number of stock items to build" msgstr "" -#: build/models.py:298 +#: build/models.py:305 msgid "Completed items" msgstr "" -#: build/models.py:300 +#: build/models.py:307 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:304 +#: build/models.py:311 msgid "Build Status" msgstr "" -#: build/models.py:308 +#: build/models.py:315 msgid "Build status code" msgstr "" -#: build/models.py:317 build/serializers.py:286 order/serializers.py:580 -#: stock/models.py:839 stock/serializers.py:74 stock/serializers.py:1458 +#: build/models.py:324 build/serializers.py:290 order/serializers.py:629 +#: stock/models.py:839 stock/serializers.py:76 stock/serializers.py:1524 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "" -#: build/models.py:321 build/serializers.py:287 +#: build/models.py:328 build/serializers.py:291 msgid "Batch code for this build output" msgstr "" -#: build/models.py:324 order/models.py:316 order/serializers.py:119 -#: part/models.py:1115 part/templates/part/part_base.html:310 +#: build/models.py:331 order/models.py:316 order/serializers.py:127 +#: part/models.py:1125 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:328 +#: build/models.py:335 msgid "Target completion date" msgstr "" -#: build/models.py:329 +#: build/models.py:336 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:332 order/models.py:521 order/models.py:2065 +#: build/models.py:339 order/models.py:521 order/models.py:2091 #: templates/js/translated/build.js:2247 msgid "Completion Date" msgstr "" -#: build/models.py:338 +#: build/models.py:345 msgid "completed by" msgstr "" -#: build/models.py:346 templates/js/translated/build.js:2207 +#: build/models.py:353 templates/js/translated/build.js:2207 msgid "Issued by" msgstr "" -#: build/models.py:347 +#: build/models.py:354 msgid "User who issued this build order" msgstr "" -#: build/models.py:355 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 common/models.py:147 +#: build/models.py:362 build/templates/build/build_base.html:204 +#: build/templates/build/detail.html:122 common/models.py:152 #: order/models.py:334 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:232 part/models.py:1132 +#: order/templates/order/sales_order_base.html:232 part/models.py:1142 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 @@ -993,11 +999,11 @@ msgstr "" msgid "Responsible" msgstr "" -#: build/models.py:356 +#: build/models.py:363 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:361 build/templates/build/detail.html:108 +#: build/models.py:368 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 @@ -1009,21 +1015,22 @@ msgstr "" msgid "External Link" msgstr "" -#: build/models.py:362 common/models.py:3244 part/models.py:956 +#: build/models.py:369 common/models.py:3230 part/models.py:960 #: stock/models.py:835 msgid "Link to external URL" msgstr "" -#: build/models.py:366 +#: build/models.py:373 msgid "Build Priority" msgstr "" -#: build/models.py:369 +#: build/models.py:376 msgid "Priority of this build order" msgstr "" -#: build/models.py:376 common/models.py:131 order/admin.py:18 -#: order/models.py:298 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:383 common/models.py:122 common/models.py:136 +#: order/admin.py:18 order/models.py:298 order/serializers.py:108 +#: templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 #: templates/js/translated/purchase_order.js:1710 #: templates/js/translated/return_order.js:317 @@ -1033,65 +1040,66 @@ msgstr "" msgid "Project Code" msgstr "" -#: build/models.py:377 +#: build/models.py:384 msgid "Project code for this build order" msgstr "" -#: build/models.py:610 build/models.py:675 +#: build/models.py:617 build/models.py:682 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:632 +#: build/models.py:639 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:638 +#: build/models.py:645 msgid "A build order has been completed" msgstr "" -#: build/models.py:864 build/models.py:949 +#: build/models.py:871 build/models.py:956 msgid "No build output specified" msgstr "" -#: build/models.py:867 +#: build/models.py:874 msgid "Build output is already completed" msgstr "" -#: build/models.py:870 +#: build/models.py:877 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:953 build/serializers.py:219 build/serializers.py:268 -#: build/serializers.py:866 order/models.py:559 order/serializers.py:432 -#: order/serializers.py:575 part/serializers.py:1484 part/serializers.py:1884 -#: stock/models.py:678 stock/models.py:1496 stock/serializers.py:603 +#: build/models.py:960 build/serializers.py:223 build/serializers.py:272 +#: build/serializers.py:870 order/models.py:559 order/serializers.py:461 +#: order/serializers.py:624 part/serializers.py:1515 part/serializers.py:1921 +#: stock/models.py:678 stock/models.py:1496 stock/serializers.py:661 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:958 build/serializers.py:224 +#: build/models.py:965 build/serializers.py:228 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1018 build/serializers.py:547 +#: build/models.py:1025 build/serializers.py:551 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1359 +#: build/models.py:1366 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1384 +#: build/models.py:1391 msgid "Build object" msgstr "" -#: build/models.py:1398 build/models.py:1654 build/serializers.py:206 -#: build/serializers.py:253 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2563 -#: order/models.py:1272 order/models.py:1931 order/serializers.py:1327 +#: build/models.py:1405 build/models.py:1661 build/serializers.py:210 +#: build/serializers.py:257 build/serializers.py:1194 +#: build/templates/build/build_base.html:102 +#: build/templates/build/detail.html:34 common/models.py:2544 +#: order/models.py:1272 order/models.py:1957 order/serializers.py:1383 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:410 -#: part/forms.py:48 part/models.py:3170 part/models.py:4058 +#: part/forms.py:48 part/models.py:3180 part/models.py:4143 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1101,7 +1109,7 @@ msgstr "" #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:169 stock/admin.py:159 -#: stock/serializers.py:125 stock/serializers.py:165 stock/serializers.py:594 +#: stock/serializers.py:127 stock/serializers.py:167 stock/serializers.py:652 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 @@ -1112,8 +1120,8 @@ msgstr "" #: templates/js/translated/build.js:1746 templates/js/translated/build.js:2357 #: templates/js/translated/company.js:1818 #: templates/js/translated/model_renderers.js:236 -#: templates/js/translated/order.js:304 templates/js/translated/part.js:962 -#: templates/js/translated/part.js:1812 templates/js/translated/part.js:3342 +#: templates/js/translated/order.js:304 templates/js/translated/part.js:965 +#: templates/js/translated/part.js:1815 templates/js/translated/part.js:3345 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 @@ -1133,38 +1141,38 @@ msgstr "" msgid "Quantity" msgstr "" -#: build/models.py:1399 +#: build/models.py:1406 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1479 +#: build/models.py:1486 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1488 +#: build/models.py:1495 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1498 order/models.py:1882 +#: build/models.py:1505 order/models.py:1908 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1504 order/models.py:1885 +#: build/models.py:1511 order/models.py:1911 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1510 +#: build/models.py:1517 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1569 +#: build/models.py:1576 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1641 build/serializers.py:846 order/serializers.py:1171 -#: order/serializers.py:1192 stock/models.py:359 stock/serializers.py:91 -#: stock/serializers.py:697 stock/serializers.py:1177 stock/serializers.py:1289 +#: build/models.py:1648 build/serializers.py:850 order/serializers.py:1227 +#: order/serializers.py:1248 stock/models.py:359 stock/serializers.py:93 +#: stock/serializers.py:755 stock/serializers.py:1243 stock/serializers.py:1355 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 @@ -1180,70 +1188,76 @@ msgstr "" msgid "Stock Item" msgstr "" -#: build/models.py:1642 +#: build/models.py:1649 msgid "Source stock item" msgstr "" -#: build/models.py:1655 +#: build/models.py:1662 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1663 +#: build/models.py:1670 msgid "Install into" msgstr "" -#: build/models.py:1664 +#: build/models.py:1671 msgid "Destination stock item" msgstr "" -#: build/serializers.py:156 build/serializers.py:875 +#: build/serializers.py:89 build/serializers.py:1185 part/admin.py:41 +#: part/admin.py:405 part/models.py:3992 part/stocktake.py:220 +#: stock/admin.py:156 +msgid "Part Name" +msgstr "" + +#: build/serializers.py:160 build/serializers.py:879 #: templates/js/translated/build.js:1322 msgid "Build Output" msgstr "" -#: build/serializers.py:168 +#: build/serializers.py:172 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:172 +#: build/serializers.py:176 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:176 +#: build/serializers.py:180 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:187 +#: build/serializers.py:191 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:207 build/serializers.py:254 +#: build/serializers.py:211 build/serializers.py:258 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:275 +#: build/serializers.py:279 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:278 +#: build/serializers.py:282 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:293 order/serializers.py:588 order/serializers.py:1331 -#: stock/serializers.py:614 templates/js/translated/purchase_order.js:1153 +#: build/serializers.py:297 order/serializers.py:637 order/serializers.py:1387 +#: stock/serializers.py:672 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:294 +#: build/serializers.py:298 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:299 build/serializers.py:440 build/serializers.py:512 -#: order/serializers.py:564 order/serializers.py:672 order/serializers.py:1656 -#: part/serializers.py:1140 stock/serializers.py:100 stock/serializers.py:625 -#: stock/serializers.py:785 stock/serializers.py:881 stock/serializers.py:1321 -#: stock/serializers.py:1577 stock/templates/stock/item_base.html:394 +#: build/serializers.py:303 build/serializers.py:444 build/serializers.py:516 +#: order/serializers.py:613 order/serializers.py:721 order/serializers.py:1714 +#: part/serializers.py:1168 stock/serializers.py:102 stock/serializers.py:683 +#: stock/serializers.py:843 stock/serializers.py:939 stock/serializers.py:1387 +#: stock/serializers.py:1643 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 @@ -1259,54 +1273,54 @@ msgstr "" msgid "Location" msgstr "" -#: build/serializers.py:300 +#: build/serializers.py:304 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:314 +#: build/serializers.py:318 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:315 +#: build/serializers.py:319 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:330 +#: build/serializers.py:334 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:355 stock/api.py:1041 +#: build/serializers.py:359 stock/api.py:1033 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:402 build/serializers.py:464 build/serializers.py:553 +#: build/serializers.py:406 build/serializers.py:468 build/serializers.py:557 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:441 +#: build/serializers.py:445 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:447 +#: build/serializers.py:451 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:448 +#: build/serializers.py:452 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:453 +#: build/serializers.py:457 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:513 +#: build/serializers.py:517 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:519 build/templates/build/build_base.html:151 +#: build/serializers.py:523 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:950 -#: order/models.py:2044 order/serializers.py:596 stock/admin.py:164 -#: stock/serializers.py:932 stock/serializers.py:1465 +#: order/models.py:2070 order/serializers.py:645 stock/admin.py:164 +#: stock/serializers.py:990 stock/serializers.py:1531 #: 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 @@ -1318,193 +1332,241 @@ msgstr "" msgid "Status" msgstr "" -#: build/serializers.py:525 +#: build/serializers.py:529 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:526 +#: build/serializers.py:530 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:611 +#: build/serializers.py:615 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:612 +#: build/serializers.py:616 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:618 +#: build/serializers.py:622 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:619 +#: build/serializers.py:623 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:646 +#: build/serializers.py:650 msgid "Not permitted" msgstr "" -#: build/serializers.py:647 +#: build/serializers.py:651 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:648 +#: build/serializers.py:652 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:678 +#: build/serializers.py:682 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:680 +#: build/serializers.py:684 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:690 +#: build/serializers.py:694 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:695 +#: build/serializers.py:699 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:696 +#: build/serializers.py:700 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:706 templates/js/translated/build.js:315 +#: build/serializers.py:710 templates/js/translated/build.js:315 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:711 order/serializers.py:300 order/serializers.py:1234 +#: build/serializers.py:715 order/serializers.py:319 order/serializers.py:1290 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:712 +#: build/serializers.py:716 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:722 templates/js/translated/build.js:319 +#: build/serializers.py:726 templates/js/translated/build.js:319 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:731 templates/js/translated/build.js:303 +#: build/serializers.py:735 templates/js/translated/build.js:303 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:769 +#: build/serializers.py:773 msgid "Build Line" msgstr "" -#: build/serializers.py:779 +#: build/serializers.py:783 msgid "Build output" msgstr "" -#: build/serializers.py:787 +#: build/serializers.py:791 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:823 +#: build/serializers.py:827 msgid "Build Line Item" msgstr "" -#: build/serializers.py:837 +#: build/serializers.py:841 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:852 stock/serializers.py:1190 +#: build/serializers.py:856 stock/serializers.py:1256 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:900 order/serializers.py:1225 +#: build/serializers.py:904 order/serializers.py:1281 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:906 +#: build/serializers.py:910 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:913 +#: build/serializers.py:917 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:937 order/serializers.py:1477 +#: build/serializers.py:941 order/serializers.py:1533 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:1000 +#: build/serializers.py:1004 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:1008 +#: build/serializers.py:1012 msgid "Exclude Location" msgstr "" -#: build/serializers.py:1009 +#: build/serializers.py:1013 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:1014 +#: build/serializers.py:1018 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:1015 +#: build/serializers.py:1019 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:1020 +#: build/serializers.py:1024 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:1021 +#: build/serializers.py:1025 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:1026 +#: build/serializers.py:1030 msgid "Optional Items" msgstr "" -#: build/serializers.py:1027 +#: build/serializers.py:1031 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1049 +#: build/serializers.py:1053 msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1139 part/models.py:3953 part/models.py:4387 -#: stock/api.py:804 +#: build/serializers.py:1095 +msgid "Supplier Part Number" +msgstr "" + +#: build/serializers.py:1096 company/models.py:500 +msgid "Manufacturer Part Number" +msgstr "" + +#: build/serializers.py:1097 stock/admin.py:53 stock/admin.py:175 +#: stock/serializers.py:454 +msgid "Location Name" +msgstr "" + +#: build/serializers.py:1098 +msgid "Build Reference" +msgstr "" + +#: build/serializers.py:1099 +msgid "BOM Reference" +msgstr "" + +#: build/serializers.py:1186 part/admin.py:402 part/models.py:3993 +msgid "Part IPN" +msgstr "" + +#: build/serializers.py:1192 common/models.py:1488 part/admin.py:113 +#: part/models.py:1068 templates/js/translated/table_filters.js:147 +#: templates/js/translated/table_filters.js:223 +#: templates/js/translated/table_filters.js:776 +msgid "Trackable" +msgstr "" + +#: build/serializers.py:1196 part/models.py:4000 part/models.py:4472 +#: stock/api.py:796 msgid "BOM Item" msgstr "" -#: build/serializers.py:1148 templates/js/translated/index.js:130 +#: build/serializers.py:1205 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1153 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:828 part/serializers.py:1502 +#: build/serializers.py:1210 part/admin.py:132 part/bom.py:173 +#: part/serializers.py:856 part/serializers.py:1533 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2613 templates/js/translated/part.js:710 -#: templates/js/translated/part.js:2149 +#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709 +#: templates/js/translated/part.js:2152 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "" -#: build/serializers.py:1158 part/serializers.py:1504 -#: templates/js/translated/build.js:2617 +#: build/serializers.py:1215 part/serializers.py:1535 +#: templates/js/translated/build.js:2618 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1163 part/bom.py:172 part/serializers.py:1527 +#: build/serializers.py:1220 part/bom.py:172 part/serializers.py:1558 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" msgstr "" +#: build/serializers.py:1224 +msgid "Available Substitute Stock" +msgstr "" + +#: build/serializers.py:1225 +msgid "Available Variant Stock" +msgstr "" + +#: build/serializers.py:1226 +msgid "Total Available Stock" +msgstr "" + +#: build/serializers.py:1227 part/serializers.py:862 +msgid "External Stock" +msgstr "" + #: build/status_codes.py:11 generic/states/tests.py:17 order/status_codes.py:12 #: order/status_codes.py:37 order/status_codes.py:64 order/status_codes.py:82 #: templates/js/translated/table_filters.js:598 @@ -1520,7 +1582,8 @@ msgstr "" msgid "Cancelled" msgstr "" -#: build/status_codes.py:14 generic/states/tests.py:19 order/status_codes.py:14 +#: build/status_codes.py:14 generic/states/tests.py:19 importer/models.py:468 +#: importer/status_codes.py:19 order/status_codes.py:14 #: order/status_codes.py:44 order/status_codes.py:69 #: order/templates/order/order_base.html:158 #: order/templates/order/sales_order_base.html:165 report/models.py:444 @@ -1653,11 +1716,12 @@ msgstr "" #: build/templates/build/build_base.html:160 #: build/templates/build/detail.html:138 order/models.py:309 -#: order/models.py:1307 order/templates/order/order_base.html:186 +#: order/models.py:1307 order/serializers.py:174 +#: order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: 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:1831 +#: templates/js/translated/build.js:2239 templates/js/translated/part.js:1834 #: templates/js/translated/purchase_order.js:1739 #: templates/js/translated/purchase_order.js:2147 #: templates/js/translated/return_order.js:346 @@ -1690,8 +1754,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1463 order/models.py:845 -#: order/models.py:1551 order/models.py:1665 order/models.py:1819 +#: build/templates/build/detail.html:101 order/api.py:1384 order/models.py:845 +#: order/models.py:1566 order/models.py:1681 order/models.py:1840 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 @@ -1741,7 +1805,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1443 +#: build/templates/build/detail.html:49 order/models.py:1448 #: templates/js/translated/purchase_order.js:2189 msgid "Destination" msgstr "" @@ -1893,31 +1957,31 @@ msgstr "" msgid "Incomplete Outputs" msgstr "" -#: common/api.py:689 +#: common/api.py:690 msgid "Is Link" msgstr "" -#: common/api.py:697 +#: common/api.py:698 msgid "Is File" msgstr "" -#: common/api.py:739 +#: common/api.py:740 msgid "User does not have permission to delete this attachment" msgstr "" -#: common/currency.py:130 +#: common/currency.py:132 msgid "Invalid currency code" msgstr "" -#: common/currency.py:132 +#: common/currency.py:134 msgid "Duplicate currency code" msgstr "" -#: common/currency.py:137 +#: common/currency.py:139 msgid "No valid currency codes provided" msgstr "" -#: common/currency.py:154 +#: common/currency.py:156 msgid "No plugin" msgstr "" @@ -1971,1635 +2035,1604 @@ msgstr "" msgid "Site URL is locked by configuration" msgstr "" -#: common/models.py:132 +#: common/models.py:137 msgid "Unique project code" msgstr "" -#: common/models.py:139 +#: common/models.py:144 msgid "Project description" msgstr "" -#: common/models.py:148 +#: common/models.py:153 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:765 +#: common/models.py:770 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:769 +#: common/models.py:774 msgid "Settings value" msgstr "" -#: common/models.py:821 +#: common/models.py:826 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:837 +#: common/models.py:842 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:845 +#: common/models.py:850 msgid "Value must be an integer value" msgstr "" -#: common/models.py:882 +#: common/models.py:887 msgid "Key string must be unique" msgstr "" -#: common/models.py:1114 +#: common/models.py:1119 msgid "No group" msgstr "" -#: common/models.py:1213 +#: common/models.py:1218 msgid "Restart required" msgstr "" -#: common/models.py:1215 +#: common/models.py:1220 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:1222 +#: common/models.py:1227 msgid "Pending migrations" msgstr "" -#: common/models.py:1223 +#: common/models.py:1228 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1228 +#: common/models.py:1233 msgid "Server Instance Name" msgstr "" -#: common/models.py:1230 +#: common/models.py:1235 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1234 +#: common/models.py:1239 msgid "Use instance name" msgstr "" -#: common/models.py:1235 +#: common/models.py:1240 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1240 +#: common/models.py:1245 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1241 +#: common/models.py:1246 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1246 company/models.py:111 company/models.py:112 +#: common/models.py:1251 company/models.py:111 company/models.py:112 msgid "Company name" msgstr "" -#: common/models.py:1247 +#: common/models.py:1252 msgid "Internal company name" msgstr "" -#: common/models.py:1251 +#: common/models.py:1256 msgid "Base URL" msgstr "" -#: common/models.py:1252 +#: common/models.py:1257 msgid "Base URL for server instance" msgstr "" -#: common/models.py:1258 +#: common/models.py:1263 msgid "Default Currency" msgstr "" -#: common/models.py:1259 +#: common/models.py:1264 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1265 +#: common/models.py:1270 msgid "Supported Currencies" msgstr "" -#: common/models.py:1266 +#: common/models.py:1271 msgid "List of supported currency codes" msgstr "" -#: common/models.py:1272 +#: common/models.py:1277 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1274 +#: common/models.py:1279 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1277 common/models.py:1333 common/models.py:1346 -#: common/models.py:1354 common/models.py:1363 common/models.py:1372 -#: common/models.py:1596 common/models.py:1618 common/models.py:1733 -#: common/models.py:2100 +#: common/models.py:1282 common/models.py:1338 common/models.py:1351 +#: common/models.py:1359 common/models.py:1368 common/models.py:1377 +#: common/models.py:1601 common/models.py:1623 common/models.py:1738 +#: common/models.py:2111 msgid "days" msgstr "" -#: common/models.py:1281 +#: common/models.py:1286 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1282 +#: common/models.py:1287 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1287 +#: common/models.py:1292 msgid "Download from URL" msgstr "" -#: common/models.py:1289 +#: common/models.py:1294 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:1295 +#: common/models.py:1300 msgid "Download Size Limit" msgstr "" -#: common/models.py:1296 +#: common/models.py:1301 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1302 +#: common/models.py:1307 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1304 +#: common/models.py:1309 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/models.py:1309 +#: common/models.py:1314 msgid "Strict URL Validation" msgstr "" -#: common/models.py:1310 +#: common/models.py:1315 msgid "Require schema specification when validating URLs" msgstr "" -#: common/models.py:1315 +#: common/models.py:1320 msgid "Require confirm" msgstr "" -#: common/models.py:1316 +#: common/models.py:1321 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:1321 +#: common/models.py:1326 msgid "Tree Depth" msgstr "" -#: common/models.py:1323 +#: common/models.py:1328 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1329 +#: common/models.py:1334 msgid "Update Check Interval" msgstr "" -#: common/models.py:1330 +#: common/models.py:1335 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:1336 +#: common/models.py:1341 msgid "Automatic Backup" msgstr "" -#: common/models.py:1337 +#: common/models.py:1342 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:1342 +#: common/models.py:1347 msgid "Auto Backup Interval" msgstr "" -#: common/models.py:1343 +#: common/models.py:1348 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1349 +#: common/models.py:1354 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1351 +#: common/models.py:1356 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1358 +#: common/models.py:1363 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1360 +#: common/models.py:1365 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1367 +#: common/models.py:1372 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1369 +#: common/models.py:1374 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1376 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1381 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "" -#: common/models.py:1377 +#: common/models.py:1382 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1382 +#: common/models.py:1387 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1383 +#: common/models.py:1388 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1389 +#: common/models.py:1394 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1390 +#: common/models.py:1395 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1395 +#: common/models.py:1400 msgid "Barcode Show Data" msgstr "" -#: common/models.py:1396 +#: common/models.py:1401 msgid "Display barcode data in browser as text" msgstr "" -#: common/models.py:1401 +#: common/models.py:1406 msgid "Part Revisions" msgstr "" -#: common/models.py:1402 +#: common/models.py:1407 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1407 +#: common/models.py:1412 msgid "Allow Deletion from Assembly" msgstr "" -#: common/models.py:1408 +#: common/models.py:1413 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/models.py:1413 +#: common/models.py:1418 msgid "IPN Regex" msgstr "" -#: common/models.py:1414 +#: common/models.py:1419 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1417 +#: common/models.py:1422 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1418 +#: common/models.py:1423 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1423 +#: common/models.py:1428 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1424 +#: common/models.py:1429 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1429 +#: common/models.py:1434 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1430 +#: common/models.py:1435 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1435 +#: common/models.py:1440 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1436 +#: common/models.py:1441 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1441 +#: common/models.py:1446 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1442 +#: common/models.py:1447 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1447 +#: common/models.py:1452 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1448 +#: common/models.py:1453 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1453 part/admin.py:108 part/models.py:3795 +#: common/models.py:1458 part/admin.py:108 part/models.py:3835 #: report/models.py:294 report/models.py:361 report/serializers.py:90 -#: report/serializers.py:131 stock/serializers.py:227 +#: report/serializers.py:131 stock/serializers.py:232 #: templates/js/translated/table_filters.js:139 -#: templates/js/translated/table_filters.js:767 +#: templates/js/translated/table_filters.js:772 msgid "Template" msgstr "" -#: common/models.py:1454 +#: common/models.py:1459 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1459 part/admin.py:91 part/admin.py:425 part/models.py:1052 +#: common/models.py:1464 part/admin.py:91 part/admin.py:425 part/models.py:1056 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 -#: templates/js/translated/table_filters.js:721 +#: templates/js/translated/table_filters.js:726 msgid "Assembly" msgstr "" -#: common/models.py:1460 +#: common/models.py:1465 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1465 part/admin.py:95 part/models.py:1058 -#: templates/js/translated/table_filters.js:729 +#: common/models.py:1470 part/admin.py:95 part/models.py:1062 +#: templates/js/translated/table_filters.js:734 msgid "Component" msgstr "" -#: common/models.py:1466 +#: common/models.py:1471 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1471 part/admin.py:100 part/models.py:1070 +#: common/models.py:1476 part/admin.py:100 part/models.py:1074 msgid "Purchaseable" msgstr "" -#: common/models.py:1472 +#: common/models.py:1477 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1477 part/admin.py:104 part/models.py:1076 -#: templates/js/translated/table_filters.js:755 +#: common/models.py:1482 part/admin.py:104 part/models.py:1080 +#: templates/js/translated/table_filters.js:760 msgid "Salable" msgstr "" -#: common/models.py:1478 +#: common/models.py:1483 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1483 part/admin.py:113 part/models.py:1064 -#: 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:1484 +#: common/models.py:1489 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1489 part/admin.py:117 part/models.py:1086 +#: common/models.py:1494 part/admin.py:117 part/models.py:1096 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 -#: templates/js/translated/table_filters.js:775 +#: templates/js/translated/table_filters.js:780 msgid "Virtual" msgstr "" -#: common/models.py:1490 +#: common/models.py:1495 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1495 +#: common/models.py:1500 msgid "Show Import in Views" msgstr "" -#: common/models.py:1496 +#: common/models.py:1501 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1501 +#: common/models.py:1506 msgid "Show related parts" msgstr "" -#: common/models.py:1502 +#: common/models.py:1507 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1507 +#: common/models.py:1512 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1508 +#: common/models.py:1513 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1513 templates/js/translated/part.js:107 +#: common/models.py:1518 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1515 +#: common/models.py:1520 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1521 +#: common/models.py:1526 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1522 +#: common/models.py:1527 msgid "Format to display the part name" msgstr "" -#: common/models.py:1528 +#: common/models.py:1533 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1529 +#: common/models.py:1534 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1533 +#: common/models.py:1538 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1535 +#: common/models.py:1540 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1541 +#: common/models.py:1546 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1543 +#: common/models.py:1548 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1554 +#: common/models.py:1559 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1556 +#: common/models.py:1561 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1567 +#: common/models.py:1572 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1569 +#: common/models.py:1574 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1575 +#: common/models.py:1580 msgid "Purchase History Override" msgstr "" -#: common/models.py:1577 +#: common/models.py:1582 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1583 +#: common/models.py:1588 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1585 +#: common/models.py:1590 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1591 +#: common/models.py:1596 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1593 +#: common/models.py:1598 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1600 +#: common/models.py:1605 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1601 +#: common/models.py:1606 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1606 +#: common/models.py:1611 msgid "Active Variants Only" msgstr "" -#: common/models.py:1608 +#: common/models.py:1613 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1614 +#: common/models.py:1619 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1616 +#: common/models.py:1621 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1623 +#: common/models.py:1628 msgid "Internal Prices" msgstr "" -#: common/models.py:1624 +#: common/models.py:1629 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1629 +#: common/models.py:1634 msgid "Internal Price Override" msgstr "" -#: common/models.py:1631 +#: common/models.py:1636 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1637 +#: common/models.py:1642 msgid "Enable label printing" msgstr "" -#: common/models.py:1638 +#: common/models.py:1643 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1643 +#: common/models.py:1648 msgid "Label Image DPI" msgstr "" -#: common/models.py:1645 +#: common/models.py:1650 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1651 +#: common/models.py:1656 msgid "Enable Reports" msgstr "" -#: common/models.py:1652 +#: common/models.py:1657 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1657 templates/stats.html:25 +#: common/models.py:1662 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1658 +#: common/models.py:1663 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1663 +#: common/models.py:1668 msgid "Log Report Errors" msgstr "" -#: common/models.py:1664 +#: common/models.py:1669 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1669 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1674 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:302 msgid "Page Size" msgstr "" -#: common/models.py:1670 +#: common/models.py:1675 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1675 +#: common/models.py:1680 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1676 +#: common/models.py:1681 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1681 +#: common/models.py:1686 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1683 +#: common/models.py:1688 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1689 +#: common/models.py:1694 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1690 +#: common/models.py:1695 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1695 +#: common/models.py:1700 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1696 +#: common/models.py:1701 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1701 +#: common/models.py:1706 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1703 +#: common/models.py:1708 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1709 +#: common/models.py:1714 msgid "Batch Code Template" msgstr "" -#: common/models.py:1711 +#: common/models.py:1716 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1716 +#: common/models.py:1721 msgid "Stock Expiry" msgstr "" -#: common/models.py:1717 +#: common/models.py:1722 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1722 +#: common/models.py:1727 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1723 +#: common/models.py:1728 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1728 +#: common/models.py:1733 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1730 +#: common/models.py:1735 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1737 +#: common/models.py:1742 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1738 +#: common/models.py:1743 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1743 +#: common/models.py:1748 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1744 +#: common/models.py:1749 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1749 +#: common/models.py:1754 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1750 +#: common/models.py:1755 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1754 +#: common/models.py:1759 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1755 +#: common/models.py:1760 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1760 +#: common/models.py:1765 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1762 +#: common/models.py:1767 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1768 +#: common/models.py:1773 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1770 +#: common/models.py:1775 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1776 +#: common/models.py:1781 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1778 +#: common/models.py:1783 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1784 common/models.py:1826 common/models.py:1848 -#: common/models.py:1884 +#: common/models.py:1789 common/models.py:1837 common/models.py:1859 +#: common/models.py:1895 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1785 common/models.py:1827 common/models.py:1849 -#: common/models.py:1885 +#: common/models.py:1790 common/models.py:1838 common/models.py:1860 +#: common/models.py:1896 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1790 +#: common/models.py:1795 msgid "Require Active Part" msgstr "" -#: common/models.py:1791 +#: common/models.py:1796 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/models.py:1796 +#: common/models.py:1801 +msgid "Require Locked Part" +msgstr "" + +#: common/models.py:1802 +msgid "Prevent build order creation for unlocked parts" +msgstr "" + +#: common/models.py:1807 msgid "Require Valid BOM" msgstr "" -#: common/models.py:1798 +#: common/models.py:1809 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/models.py:1804 +#: common/models.py:1815 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1806 +#: common/models.py:1817 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1812 +#: common/models.py:1823 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1813 +#: common/models.py:1824 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1818 +#: common/models.py:1829 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1820 +#: common/models.py:1831 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1832 +#: common/models.py:1843 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1834 +#: common/models.py:1845 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1840 +#: common/models.py:1851 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1842 +#: common/models.py:1853 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1854 +#: common/models.py:1865 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1855 +#: common/models.py:1866 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1860 +#: common/models.py:1871 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1862 +#: common/models.py:1873 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1868 +#: common/models.py:1879 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1870 +#: common/models.py:1881 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1876 +#: common/models.py:1887 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1878 +#: common/models.py:1889 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1890 +#: common/models.py:1901 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1892 +#: common/models.py:1903 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1898 +#: common/models.py:1909 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1900 +#: common/models.py:1911 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1907 +#: common/models.py:1918 msgid "Enable password forgot" msgstr "" -#: common/models.py:1908 +#: common/models.py:1919 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1913 +#: common/models.py:1924 msgid "Enable registration" msgstr "" -#: common/models.py:1914 +#: common/models.py:1925 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1919 +#: common/models.py:1930 msgid "Enable SSO" msgstr "" -#: common/models.py:1920 +#: common/models.py:1931 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1925 +#: common/models.py:1936 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1927 +#: common/models.py:1938 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1933 +#: common/models.py:1944 msgid "Enable SSO group sync" msgstr "" -#: common/models.py:1935 +#: common/models.py:1946 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/models.py:1941 +#: common/models.py:1952 msgid "SSO group key" msgstr "" -#: common/models.py:1943 +#: common/models.py:1954 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/models.py:1949 +#: common/models.py:1960 msgid "SSO group map" msgstr "" -#: common/models.py:1951 +#: common/models.py:1962 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/models.py:1957 +#: common/models.py:1968 msgid "Remove groups outside of SSO" msgstr "" -#: common/models.py:1959 +#: common/models.py:1970 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/models.py:1965 +#: common/models.py:1976 msgid "Email required" msgstr "" -#: common/models.py:1966 +#: common/models.py:1977 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1971 +#: common/models.py:1982 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1973 +#: common/models.py:1984 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1979 +#: common/models.py:1990 msgid "Mail twice" msgstr "" -#: common/models.py:1980 +#: common/models.py:1991 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1985 +#: common/models.py:1996 msgid "Password twice" msgstr "" -#: common/models.py:1986 +#: common/models.py:1997 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1991 +#: common/models.py:2002 msgid "Allowed domains" msgstr "" -#: common/models.py:1993 +#: common/models.py:2004 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1999 +#: common/models.py:2010 msgid "Group on signup" msgstr "" -#: common/models.py:2001 +#: common/models.py:2012 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/models.py:2007 +#: common/models.py:2018 msgid "Enforce MFA" msgstr "" -#: common/models.py:2008 +#: common/models.py:2019 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:2013 +#: common/models.py:2024 msgid "Check plugins on startup" msgstr "" -#: common/models.py:2015 +#: common/models.py:2026 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:2023 +#: common/models.py:2034 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2024 +#: common/models.py:2035 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2030 +#: common/models.py:2041 msgid "Enable URL integration" msgstr "" -#: common/models.py:2031 +#: common/models.py:2042 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:2037 +#: common/models.py:2048 msgid "Enable navigation integration" msgstr "" -#: common/models.py:2038 +#: common/models.py:2049 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2044 +#: common/models.py:2055 msgid "Enable app integration" msgstr "" -#: common/models.py:2045 +#: common/models.py:2056 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2051 +#: common/models.py:2062 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2052 +#: common/models.py:2063 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2058 +#: common/models.py:2069 msgid "Enable event integration" msgstr "" -#: common/models.py:2059 +#: common/models.py:2070 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2065 +#: common/models.py:2076 msgid "Enable project codes" msgstr "" -#: common/models.py:2066 +#: common/models.py:2077 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2071 +#: common/models.py:2082 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2073 +#: common/models.py:2084 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2079 +#: common/models.py:2090 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2081 +#: common/models.py:2092 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2087 +#: common/models.py:2098 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2089 +#: common/models.py:2100 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2095 +#: common/models.py:2106 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2097 +#: common/models.py:2108 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2104 +#: common/models.py:2115 msgid "Display Users full names" msgstr "" -#: common/models.py:2105 +#: common/models.py:2116 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2110 +#: common/models.py:2121 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2111 +#: common/models.py:2122 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2123 common/models.py:2533 +#: common/models.py:2134 common/models.py:2514 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2166 +#: common/models.py:2177 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2168 +#: common/models.py:2179 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2174 +#: common/models.py:2185 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2175 +#: common/models.py:2186 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2180 +#: common/models.py:2191 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2181 +#: common/models.py:2192 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2186 +#: common/models.py:2197 msgid "Show latest parts" msgstr "" -#: common/models.py:2187 +#: common/models.py:2198 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2192 +#: common/models.py:2203 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2193 +#: common/models.py:2204 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2198 +#: common/models.py:2209 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2199 +#: common/models.py:2210 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2204 +#: common/models.py:2215 msgid "Show low stock" msgstr "" -#: common/models.py:2205 +#: common/models.py:2216 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2210 +#: common/models.py:2221 msgid "Show depleted stock" msgstr "" -#: common/models.py:2211 +#: common/models.py:2222 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2216 +#: common/models.py:2227 msgid "Show needed stock" msgstr "" -#: common/models.py:2217 +#: common/models.py:2228 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2222 +#: common/models.py:2233 msgid "Show expired stock" msgstr "" -#: common/models.py:2223 +#: common/models.py:2234 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2228 +#: common/models.py:2239 msgid "Show stale stock" msgstr "" -#: common/models.py:2229 +#: common/models.py:2240 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2234 +#: common/models.py:2245 msgid "Show pending builds" msgstr "" -#: common/models.py:2235 +#: common/models.py:2246 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2240 +#: common/models.py:2251 msgid "Show overdue builds" msgstr "" -#: common/models.py:2241 +#: common/models.py:2252 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2246 +#: common/models.py:2257 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2247 +#: common/models.py:2258 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2252 +#: common/models.py:2263 msgid "Show overdue POs" msgstr "" -#: common/models.py:2253 +#: common/models.py:2264 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2258 +#: common/models.py:2269 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2259 +#: common/models.py:2270 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2264 +#: common/models.py:2275 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2265 +#: common/models.py:2276 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2270 +#: common/models.py:2281 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2271 +#: common/models.py:2282 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2276 +#: common/models.py:2287 msgid "Show News" msgstr "" -#: common/models.py:2277 +#: common/models.py:2288 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2282 +#: common/models.py:2293 msgid "Inline label display" msgstr "" -#: common/models.py:2284 +#: common/models.py:2295 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2290 +#: common/models.py:2301 msgid "Default label printer" msgstr "" -#: common/models.py:2292 +#: common/models.py:2303 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2298 +#: common/models.py:2309 msgid "Inline report display" msgstr "" -#: common/models.py:2300 +#: common/models.py:2311 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2306 +#: common/models.py:2317 msgid "Search Parts" msgstr "" -#: common/models.py:2307 +#: common/models.py:2318 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2312 +#: common/models.py:2323 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2313 +#: common/models.py:2324 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2318 +#: common/models.py:2329 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2319 +#: common/models.py:2330 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2324 +#: common/models.py:2335 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2325 +#: common/models.py:2336 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2330 +#: common/models.py:2341 msgid "Search Categories" msgstr "" -#: common/models.py:2331 +#: common/models.py:2342 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2336 +#: common/models.py:2347 msgid "Search Stock" msgstr "" -#: common/models.py:2337 +#: common/models.py:2348 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2342 +#: common/models.py:2353 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2344 +#: common/models.py:2355 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2350 +#: common/models.py:2361 msgid "Search Locations" msgstr "" -#: common/models.py:2351 +#: common/models.py:2362 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2356 +#: common/models.py:2367 msgid "Search Companies" msgstr "" -#: common/models.py:2357 +#: common/models.py:2368 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2362 +#: common/models.py:2373 msgid "Search Build Orders" msgstr "" -#: common/models.py:2363 +#: common/models.py:2374 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2368 +#: common/models.py:2379 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2369 +#: common/models.py:2380 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2374 +#: common/models.py:2385 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2376 +#: common/models.py:2387 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2382 +#: common/models.py:2393 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2383 +#: common/models.py:2394 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2388 +#: common/models.py:2399 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2390 +#: common/models.py:2401 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2396 +#: common/models.py:2407 msgid "Search Return Orders" msgstr "" -#: common/models.py:2397 +#: common/models.py:2408 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2402 +#: common/models.py:2413 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2404 +#: common/models.py:2415 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2410 +#: common/models.py:2421 msgid "Search Preview Results" msgstr "" -#: common/models.py:2412 +#: common/models.py:2423 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2418 +#: common/models.py:2429 msgid "Regex Search" msgstr "" -#: common/models.py:2419 +#: common/models.py:2430 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2424 +#: common/models.py:2435 msgid "Whole Word Search" msgstr "" -#: common/models.py:2425 +#: common/models.py:2436 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2430 +#: common/models.py:2441 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2431 +#: common/models.py:2442 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2436 +#: common/models.py:2447 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2437 +#: common/models.py:2448 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2442 +#: common/models.py:2453 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2443 +#: common/models.py:2454 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2448 +#: common/models.py:2459 msgid "Date Format" msgstr "" -#: common/models.py:2449 +#: common/models.py:2460 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2462 part/templates/part/detail.html:41 +#: common/models.py:2473 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2463 +#: common/models.py:2474 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2468 part/templates/part/detail.html:62 +#: common/models.py:2479 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2470 +#: common/models.py:2481 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2476 +#: common/models.py:2487 msgid "Table String Length" msgstr "" -#: common/models.py:2478 +#: common/models.py:2489 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2484 -msgid "Default part label template" -msgstr "" - -#: common/models.py:2485 -msgid "The part label template to be automatically selected" -msgstr "" - -#: common/models.py:2490 -msgid "Default stock item template" -msgstr "" - -#: common/models.py:2492 -msgid "The stock item label template to be automatically selected" -msgstr "" - -#: common/models.py:2498 -msgid "Default stock location label template" -msgstr "" - -#: common/models.py:2500 -msgid "The stock location label template to be automatically selected" -msgstr "" - -#: common/models.py:2506 -msgid "Default build line label template" -msgstr "" - -#: common/models.py:2508 -msgid "The build line label template to be automatically selected" -msgstr "" - -#: common/models.py:2514 +#: common/models.py:2495 msgid "Receive error reports" msgstr "" -#: common/models.py:2515 +#: common/models.py:2496 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2520 +#: common/models.py:2501 msgid "Last used printing machines" msgstr "" -#: common/models.py:2521 +#: common/models.py:2502 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2541 common/models.py:2542 common/models.py:2691 -#: common/models.py:2692 common/models.py:2937 common/models.py:2938 -#: common/models.py:3259 common/models.py:3260 part/models.py:3193 -#: part/models.py:3280 part/models.py:3353 part/models.py:3381 -#: plugin/models.py:274 plugin/models.py:275 +#: common/models.py:2522 common/models.py:2523 common/models.py:2672 +#: common/models.py:2673 common/models.py:2918 common/models.py:2919 +#: common/models.py:3245 common/models.py:3246 importer/models.py:85 +#: part/models.py:3203 part/models.py:3290 part/models.py:3364 +#: part/models.py:3392 plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 msgid "User" msgstr "" -#: common/models.py:2564 +#: common/models.py:2545 msgid "Price break quantity" msgstr "" -#: common/models.py:2571 company/serializers.py:472 order/admin.py:42 -#: order/models.py:1346 order/models.py:2265 -#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1886 +#: common/models.py:2552 company/serializers.py:502 order/admin.py:42 +#: order/models.py:1346 order/models.py:2292 +#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1889 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:740 msgid "Price" msgstr "" -#: common/models.py:2572 +#: common/models.py:2553 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2668 common/models.py:2853 +#: common/models.py:2649 common/models.py:2834 msgid "Endpoint" msgstr "" -#: common/models.py:2669 +#: common/models.py:2650 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2679 +#: common/models.py:2660 msgid "Name for this webhook" msgstr "" -#: common/models.py:2683 +#: common/models.py:2664 msgid "Is this webhook active" msgstr "" -#: common/models.py:2699 users/models.py:159 +#: common/models.py:2680 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2700 +#: common/models.py:2681 msgid "Token for access" msgstr "" -#: common/models.py:2708 +#: common/models.py:2689 msgid "Secret" msgstr "" -#: common/models.py:2709 +#: common/models.py:2690 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2817 +#: common/models.py:2798 msgid "Message ID" msgstr "" -#: common/models.py:2818 +#: common/models.py:2799 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2826 +#: common/models.py:2807 msgid "Host" msgstr "" -#: common/models.py:2827 +#: common/models.py:2808 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2835 +#: common/models.py:2816 msgid "Header" msgstr "" -#: common/models.py:2836 +#: common/models.py:2817 msgid "Header of this message" msgstr "" -#: common/models.py:2843 +#: common/models.py:2824 msgid "Body" msgstr "" -#: common/models.py:2844 +#: common/models.py:2825 msgid "Body of this message" msgstr "" -#: common/models.py:2854 +#: common/models.py:2835 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2859 +#: common/models.py:2840 msgid "Worked on" msgstr "" -#: common/models.py:2860 +#: common/models.py:2841 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2986 +#: common/models.py:2967 msgid "Id" msgstr "" -#: common/models.py:2988 templates/js/translated/company.js:965 +#: common/models.py:2969 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2990 common/models.py:3243 company/models.py:149 -#: company/models.py:440 company/models.py:500 company/models.py:799 -#: order/models.py:303 order/models.py:1301 order/models.py:1717 -#: part/admin.py:55 part/models.py:955 +#: common/models.py:2971 common/models.py:3229 company/models.py:149 +#: company/models.py:446 company/models.py:506 company/models.py:806 +#: order/models.py:303 order/models.py:1301 order/models.py:1733 +#: part/admin.py:55 part/models.py:959 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:229 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/part.js:2459 #: templates/js/translated/purchase_order.js:2040 #: templates/js/translated/purchase_order.js:2204 #: templates/js/translated/return_order.js:779 @@ -3608,28 +3641,28 @@ msgstr "" msgid "Link" msgstr "" -#: common/models.py:2992 templates/js/translated/news.js:60 +#: common/models.py:2973 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2994 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2975 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:2996 templates/js/translated/news.js:52 +#: common/models.py:2977 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2999 +#: common/models.py:2980 msgid "Read" msgstr "" -#: common/models.py:2999 +#: common/models.py:2980 msgid "Was this news item read?" msgstr "" -#: common/models.py:3016 company/models.py:159 part/models.py:965 +#: common/models.py:2997 company/models.py:159 part/models.py:969 #: 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.html:35 @@ -3639,90 +3672,94 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:3016 +#: common/models.py:2997 msgid "Image file" msgstr "" -#: common/models.py:3028 common/models.py:3227 +#: common/models.py:3009 common/models.py:3213 msgid "Target model type for this image" msgstr "" -#: common/models.py:3032 +#: common/models.py:3013 msgid "Target model ID for this image" msgstr "" -#: common/models.py:3070 +#: common/models.py:3035 +msgid "Custom Unit" +msgstr "" + +#: common/models.py:3056 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:3085 +#: common/models.py:3071 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3104 +#: common/models.py:3090 msgid "Unit name" msgstr "" -#: common/models.py:3111 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3097 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3112 +#: common/models.py:3098 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3118 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3104 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3119 +#: common/models.py:3105 msgid "Unit definition" msgstr "" -#: common/models.py:3177 common/models.py:3234 stock/models.py:2461 +#: common/models.py:3163 common/models.py:3220 stock/models.py:2471 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" msgstr "" -#: common/models.py:3189 +#: common/models.py:3175 msgid "Missing file" msgstr "" -#: common/models.py:3190 +#: common/models.py:3176 msgid "Missing external link" msgstr "" -#: common/models.py:3235 +#: common/models.py:3221 msgid "Select file to attach" msgstr "" -#: common/models.py:3250 templates/js/translated/attachment.js:120 +#: common/models.py:3236 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" msgstr "" -#: common/models.py:3251 +#: common/models.py:3237 msgid "Attachment comment" msgstr "" -#: common/models.py:3267 +#: common/models.py:3253 msgid "Upload date" msgstr "" -#: common/models.py:3268 +#: common/models.py:3254 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:3272 +#: common/models.py:3258 msgid "File size" msgstr "" -#: common/models.py:3272 +#: common/models.py:3258 msgid "File size in bytes" msgstr "" -#: common/models.py:3310 common/serializers.py:553 +#: common/models.py:3296 common/serializers.py:557 msgid "Invalid model type specified for attachment" msgstr "" @@ -3744,7 +3781,7 @@ msgstr "" msgid "A order that is assigned to you was canceled" msgstr "" -#: common/notifications.py:330 common/notifications.py:337 order/api.py:472 +#: common/notifications.py:330 common/notifications.py:337 order/api.py:454 msgid "Items Received" msgstr "" @@ -3760,75 +3797,75 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:371 +#: common/serializers.py:375 msgid "Is Running" msgstr "" -#: common/serializers.py:377 +#: common/serializers.py:381 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:383 +#: common/serializers.py:387 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:389 +#: common/serializers.py:393 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:404 +#: common/serializers.py:408 msgid "Task ID" msgstr "" -#: common/serializers.py:404 +#: common/serializers.py:408 msgid "Unique task ID" msgstr "" -#: common/serializers.py:406 +#: common/serializers.py:410 msgid "Lock" msgstr "" -#: common/serializers.py:406 +#: common/serializers.py:410 msgid "Lock time" msgstr "" -#: common/serializers.py:408 +#: common/serializers.py:412 msgid "Task name" msgstr "" -#: common/serializers.py:410 +#: common/serializers.py:414 msgid "Function" msgstr "" -#: common/serializers.py:410 +#: common/serializers.py:414 msgid "Function name" msgstr "" -#: common/serializers.py:412 +#: common/serializers.py:416 msgid "Arguments" msgstr "" -#: common/serializers.py:412 +#: common/serializers.py:416 msgid "Task arguments" msgstr "" -#: common/serializers.py:415 +#: common/serializers.py:419 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:415 +#: common/serializers.py:419 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:525 +#: common/serializers.py:529 msgid "Filename" msgstr "" -#: common/serializers.py:532 report/api.py:100 report/serializers.py:53 +#: common/serializers.py:536 report/api.py:100 report/serializers.py:53 msgid "Model Type" msgstr "" -#: common/serializers.py:559 +#: common/serializers.py:563 msgid "User does not have permission to create or edit attachments for this model" msgstr "" @@ -3895,29 +3932,29 @@ msgstr "" msgid "Previous Step" msgstr "" -#: company/api.py:144 +#: company/api.py:141 msgid "Part is Active" msgstr "" -#: company/api.py:148 +#: company/api.py:145 msgid "Manufacturer is Active" msgstr "" -#: company/api.py:281 +#: company/api.py:278 msgid "Supplier Part is Active" msgstr "" -#: company/api.py:285 +#: company/api.py:282 msgid "Internal Part is Active" msgstr "" -#: company/api.py:289 +#: company/api.py:286 msgid "Supplier is Active" msgstr "" -#: company/models.py:100 company/models.py:365 +#: company/models.py:100 company/models.py:371 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:822 +#: company/templates/company/company_base.html:12 stock/api.py:814 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "" @@ -3957,8 +3994,9 @@ msgstr "" msgid "Contact email address" msgstr "" -#: company/models.py:142 company/templates/company/company_base.html:145 -#: order/models.py:343 order/templates/order/order_base.html:203 +#: company/models.py:142 company/models.py:275 +#: company/templates/company/company_base.html:145 order/models.py:343 +#: order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 #: order/templates/order/sales_order_base.html:218 msgid "Contact" @@ -3977,7 +4015,7 @@ msgid "Is this company active?" msgstr "" #: company/models.py:168 -msgid "is customer" +msgid "Is customer" msgstr "" #: company/models.py:169 @@ -3985,7 +4023,7 @@ msgid "Do you sell items to this company?" msgstr "" #: company/models.py:174 -msgid "is supplier" +msgid "Is supplier" msgstr "" #: company/models.py:175 @@ -3993,7 +4031,7 @@ msgid "Do you purchase items from this company?" msgstr "" #: company/models.py:180 -msgid "is manufacturer" +msgid "Is manufacturer" msgstr "" #: company/models.py:181 @@ -4004,178 +4042,189 @@ msgstr "" msgid "Default currency used for this company" msgstr "" -#: company/models.py:366 +#: company/models.py:314 company/templates/company/company_base.html:124 +#: order/models.py:353 order/templates/order/order_base.html:210 +#: order/templates/order/return_order_base.html:181 +#: order/templates/order/sales_order_base.html:225 +msgid "Address" +msgstr "" + +#: company/models.py:315 company/templates/company/sidebar.html:35 +msgid "Addresses" +msgstr "" + +#: company/models.py:372 msgid "Select company" msgstr "" -#: company/models.py:371 +#: company/models.py:377 msgid "Address title" msgstr "" -#: company/models.py:372 +#: company/models.py:378 msgid "Title describing the address entry" msgstr "" -#: company/models.py:378 +#: company/models.py:384 msgid "Primary address" msgstr "" -#: company/models.py:379 +#: company/models.py:385 msgid "Set as primary address" msgstr "" -#: company/models.py:384 templates/js/translated/company.js:914 +#: company/models.py:390 templates/js/translated/company.js:914 #: templates/js/translated/company.js:971 msgid "Line 1" msgstr "" -#: company/models.py:385 +#: company/models.py:391 msgid "Address line 1" msgstr "" -#: company/models.py:391 templates/js/translated/company.js:915 +#: company/models.py:397 templates/js/translated/company.js:915 #: templates/js/translated/company.js:977 msgid "Line 2" msgstr "" -#: company/models.py:392 +#: company/models.py:398 msgid "Address line 2" msgstr "" -#: company/models.py:398 company/models.py:399 +#: company/models.py:404 company/models.py:405 #: templates/js/translated/company.js:983 msgid "Postal code" msgstr "" -#: company/models.py:405 +#: company/models.py:411 msgid "City/Region" msgstr "" -#: company/models.py:406 +#: company/models.py:412 msgid "Postal code city/region" msgstr "" -#: company/models.py:412 +#: company/models.py:418 msgid "State/Province" msgstr "" -#: company/models.py:413 +#: company/models.py:419 msgid "State or province" msgstr "" -#: company/models.py:419 templates/js/translated/company.js:1001 +#: company/models.py:425 templates/js/translated/company.js:1001 msgid "Country" msgstr "" -#: company/models.py:420 +#: company/models.py:426 msgid "Address country" msgstr "" -#: company/models.py:426 +#: company/models.py:432 msgid "Courier shipping notes" msgstr "" -#: company/models.py:427 +#: company/models.py:433 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:433 +#: company/models.py:439 msgid "Internal shipping notes" msgstr "" -#: company/models.py:434 +#: company/models.py:440 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:441 +#: company/models.py:447 msgid "Link to address information (external)" msgstr "" -#: company/models.py:463 company/models.py:574 company/models.py:792 +#: company/models.py:469 company/models.py:581 company/models.py:799 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:217 msgid "Manufacturer Part" msgstr "" -#: company/models.py:475 company/models.py:760 stock/models.py:767 -#: stock/serializers.py:422 stock/templates/stock/item_base.html:142 +#: company/models.py:481 company/models.py:767 stock/models.py:767 +#: stock/serializers.py:442 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" -#: company/models.py:477 company/models.py:762 +#: company/models.py:483 company/models.py:769 msgid "Select part" msgstr "" -#: company/models.py:486 company/templates/company/company_base.html:82 +#: company/models.py:492 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:525 +#: company/templates/company/supplier_part.html:145 part/serializers.py:543 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 #: templates/js/translated/company.js:1296 #: templates/js/translated/company.js:1611 -#: templates/js/translated/table_filters.js:800 +#: templates/js/translated/table_filters.js:805 msgid "Manufacturer" msgstr "" -#: company/models.py:487 +#: company/models.py:493 msgid "Select manufacturer" msgstr "" -#: company/models.py:493 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:535 -#: templates/js/translated/company.js:351 +#: company/models.py:499 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:153 order/serializers.py:518 +#: part/serializers.py:553 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:1801 +#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1804 #: templates/js/translated/purchase_order.js:1851 #: templates/js/translated/purchase_order.js:2053 msgid "MPN" msgstr "" -#: company/models.py:494 -msgid "Manufacturer Part Number" -msgstr "" - -#: company/models.py:501 +#: company/models.py:507 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:510 +#: company/models.py:516 msgid "Manufacturer part description" msgstr "" -#: company/models.py:581 +#: company/models.py:569 +msgid "Manufacturer Part Parameter" +msgstr "" + +#: company/models.py:588 msgid "Parameter name" msgstr "" -#: company/models.py:587 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2453 templates/js/translated/company.js:1166 -#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1493 +#: company/models.py:594 report/templates/report/inventree_test_report.html:104 +#: stock/models.py:2463 templates/js/translated/company.js:1166 +#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1496 #: templates/js/translated/stock.js:1522 msgid "Value" msgstr "" -#: company/models.py:588 +#: company/models.py:595 msgid "Parameter value" msgstr "" -#: company/models.py:595 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1045 part/models.py:3646 +#: company/models.py:602 company/templates/company/supplier_part.html:168 +#: part/admin.py:57 part/models.py:1049 part/models.py:3667 #: part/templates/part/part_base.html:284 -#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1512 -#: templates/js/translated/part.js:1616 templates/js/translated/part.js:2370 +#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1515 +#: templates/js/translated/part.js:1619 templates/js/translated/part.js:2373 msgid "Units" msgstr "" -#: company/models.py:596 +#: company/models.py:603 msgid "Parameter units" msgstr "" -#: company/models.py:648 company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 order/api.py:452 +#: company/models.py:655 company/templates/company/supplier_part.html:7 +#: company/templates/company/supplier_part.html:24 order/api.py:434 #: stock/models.py:778 stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 @@ -4183,91 +4232,91 @@ msgstr "" msgid "Supplier Part" msgstr "" -#: company/models.py:700 +#: company/models.py:707 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:707 +#: company/models.py:714 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:721 +#: company/models.py:728 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:770 company/templates/company/company_base.html:87 +#: company/models.py:777 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:509 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:527 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 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:511 -#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1769 +#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1772 #: templates/js/translated/pricing.js:498 #: templates/js/translated/purchase_order.js:1689 -#: templates/js/translated/table_filters.js:804 +#: templates/js/translated/table_filters.js:809 msgid "Supplier" msgstr "" -#: company/models.py:771 +#: company/models.py:778 msgid "Select supplier" msgstr "" -#: company/models.py:777 part/serializers.py:520 +#: company/models.py:784 part/serializers.py:538 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:783 +#: company/models.py:790 msgid "Is this supplier part active?" msgstr "" -#: company/models.py:793 +#: company/models.py:800 msgid "Select manufacturer part" msgstr "" -#: company/models.py:800 +#: company/models.py:807 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:809 +#: company/models.py:816 msgid "Supplier part description" msgstr "" -#: company/models.py:816 company/templates/company/supplier_part.html:187 -#: part/admin.py:412 part/models.py:4093 part/templates/part/upload_bom.html:59 +#: company/models.py:823 company/templates/company/supplier_part.html:187 +#: part/admin.py:412 part/models.py:4178 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: 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:710 +#: stock/serializers.py:768 msgid "Note" msgstr "" -#: company/models.py:825 part/models.py:2003 +#: company/models.py:832 part/models.py:2013 msgid "base cost" msgstr "" -#: company/models.py:826 part/models.py:2004 +#: company/models.py:833 part/models.py:2014 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:833 company/templates/company/supplier_part.html:160 -#: stock/admin.py:228 stock/models.py:798 stock/serializers.py:1475 +#: company/models.py:840 company/templates/company/supplier_part.html:160 +#: stock/admin.py:228 stock/models.py:798 stock/serializers.py:1541 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 msgid "Packaging" msgstr "" -#: company/models.py:834 +#: company/models.py:841 msgid "Part packaging" msgstr "" -#: company/models.py:839 templates/js/translated/company.js:1651 -#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 +#: company/models.py:846 templates/js/translated/company.js:1651 +#: templates/js/translated/part.js:1825 templates/js/translated/part.js:1881 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 #: templates/js/translated/purchase_order.js:1103 @@ -4276,35 +4325,43 @@ msgstr "" msgid "Pack Quantity" msgstr "" -#: company/models.py:841 +#: company/models.py:848 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:860 part/models.py:2010 +#: company/models.py:867 part/models.py:2020 msgid "multiple" msgstr "" -#: company/models.py:861 +#: company/models.py:868 msgid "Order multiple" msgstr "" -#: company/models.py:873 +#: company/models.py:880 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:879 +#: company/models.py:886 msgid "Availability Updated" msgstr "" -#: company/models.py:880 +#: company/models.py:887 msgid "Date of last update of availability data" msgstr "" -#: company/serializers.py:161 +#: company/models.py:1015 +msgid "Supplier Price Break" +msgstr "" + +#: company/serializers.py:174 msgid "Default currency used for this supplier" msgstr "" -#: company/serializers.py:357 part/admin.py:126 +#: company/serializers.py:210 +msgid "Company Name" +msgstr "" + +#: company/serializers.py:384 part/admin.py:126 part/serializers.py:855 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:355 @@ -4316,7 +4373,7 @@ msgstr "" #: templates/js/translated/company.js:1287 #: templates/js/translated/company.js:1575 #: templates/js/translated/model_renderers.js:312 -#: templates/js/translated/part.js:815 templates/js/translated/part.js:1219 +#: templates/js/translated/part.js:814 templates/js/translated/part.js:1222 msgid "Inactive" msgstr "" @@ -4375,16 +4432,16 @@ msgid "Delete image" msgstr "" #: company/templates/company/company_base.html:92 order/models.py:938 -#: order/models.py:2032 order/templates/order/return_order_base.html:131 +#: order/models.py:2058 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:148 stock/models.py:820 -#: stock/models.py:821 stock/serializers.py:1225 +#: stock/models.py:821 stock/serializers.py:1291 #: 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:295 #: templates/js/translated/sales_order.js:820 #: templates/js/translated/stock.js:2959 -#: templates/js/translated/table_filters.js:808 +#: templates/js/translated/table_filters.js:813 msgid "Customer" msgstr "" @@ -4392,13 +4449,6 @@ msgstr "" msgid "Uses default currency" msgstr "" -#: company/templates/company/company_base.html:124 order/models.py:353 -#: order/templates/order/order_base.html:210 -#: order/templates/order/return_order_base.html:181 -#: order/templates/order/sales_order_base.html:225 -msgid "Address" -msgstr "" - #: company/templates/company/company_base.html:131 msgid "Phone" msgstr "" @@ -4578,7 +4628,8 @@ msgid "Delete manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:65 -#: company/templates/company/supplier_part.html:97 order/api.py:458 +#: company/templates/company/supplier_part.html:97 order/api.py:440 +#: order/serializers.py:526 msgid "Internal Part" msgstr "" @@ -4588,7 +4639,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:832 +#: part/admin.py:122 part/serializers.py:860 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4609,7 +4660,7 @@ msgid "New Parameter" msgstr "" #: company/templates/company/manufacturer_part.html:196 -#: templates/js/translated/part.js:1423 +#: templates/js/translated/part.js:1426 msgid "Add Parameter" msgstr "" @@ -4633,10 +4684,6 @@ msgstr "" msgid "Contacts" msgstr "" -#: company/templates/company/sidebar.html:35 -msgid "Addresses" -msgstr "" - #: company/templates/company/supplier_part.html:50 #: templates/js/translated/company.js:1526 msgid "Supplier part actions" @@ -4649,127 +4696,283 @@ msgstr "" msgid "Order Part" msgstr "" -#: company/templates/company/supplier_part.html:60 -#: company/templates/company/supplier_part.html:61 -msgid "Update Availability" +#: company/templates/company/supplier_part.html:60 +#: company/templates/company/supplier_part.html:61 +msgid "Update Availability" +msgstr "" + +#: company/templates/company/supplier_part.html:63 +#: company/templates/company/supplier_part.html:64 +#: templates/js/translated/company.js:294 +msgid "Edit Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:68 +#: company/templates/company/supplier_part.html:69 +#: templates/js/translated/company.js:269 +msgid "Duplicate Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:73 +msgid "Delete Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:74 +msgid "Delete Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:133 +msgid "No supplier information available" +msgstr "" + +#: company/templates/company/supplier_part.html:139 order/serializers.py:515 +#: part/bom.py:279 part/bom.py:311 part/serializers.py:537 +#: templates/js/translated/company.js:349 templates/js/translated/part.js:1790 +#: templates/js/translated/pricing.js:510 +#: templates/js/translated/purchase_order.js:1850 +#: templates/js/translated/purchase_order.js:2028 +msgid "SKU" +msgstr "" + +#: company/templates/company/supplier_part.html:206 +msgid "Supplier Part Stock" +msgstr "" + +#: company/templates/company/supplier_part.html:209 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:207 +msgid "Create new stock item" +msgstr "" + +#: company/templates/company/supplier_part.html:210 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:208 +#: templates/js/translated/stock.js:537 +msgid "New Stock Item" +msgstr "" + +#: company/templates/company/supplier_part.html:223 +msgid "Supplier Part Orders" +msgstr "" + +#: company/templates/company/supplier_part.html:246 +msgid "Pricing Information" +msgstr "" + +#: company/templates/company/supplier_part.html:251 +#: templates/js/translated/company.js:398 +#: templates/js/translated/pricing.js:684 +msgid "Add Price Break" +msgstr "" + +#: company/templates/company/supplier_part.html:276 +msgid "Supplier Part QR Code" +msgstr "" + +#: company/templates/company/supplier_part.html:287 +msgid "Link Barcode to Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:359 +msgid "Update Part Availability" +msgstr "" + +#: company/templates/company/supplier_part_sidebar.html:5 +#: part/serializers.py:859 part/stocktake.py:224 +#: part/templates/part/category.html:183 +#: part/templates/part/category_sidebar.html:17 stock/admin.py:68 +#: stock/serializers.py:976 stock/serializers.py:1154 +#: stock/templates/stock/location.html:170 +#: 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:1064 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 +#: users/models.py:206 +msgid "Stock Items" +msgstr "" + +#: company/templates/company/supplier_part_sidebar.html:9 +msgid "Supplier Part Pricing" +msgstr "" + +#: company/views.py:32 +msgid "New Supplier" +msgstr "" + +#: company/views.py:38 +msgid "New Manufacturer" +msgstr "" + +#: company/views.py:43 templates/InvenTree/search.html:210 +#: templates/navbar.html:60 +msgid "Customers" +msgstr "" + +#: company/views.py:44 +msgid "New Customer" +msgstr "" + +#: company/views.py:52 +msgid "New Company" +msgstr "" + +#: generic/states/tests.py:18 order/status_codes.py:13 +msgid "Placed" +msgstr "" + +#: importer/mixins.py:263 +msgid "Invalid export format" +msgstr "" + +#: importer/models.py:56 +msgid "Timestamp" +msgstr "" + +#: importer/models.py:61 +msgid "Data file to import" +msgstr "" + +#: importer/models.py:70 templates/js/translated/tables.js:558 +msgid "Columns" +msgstr "" + +#: importer/models.py:81 +msgid "Import status" +msgstr "" + +#: importer/models.py:91 +msgid "Field Defaults" +msgstr "" + +#: importer/models.py:201 +msgid "Some required fields have not been mapped" +msgstr "" + +#: importer/models.py:346 +msgid "Column is already mapped to a database field" +msgstr "" + +#: importer/models.py:351 +msgid "Field is already mapped to a data column" +msgstr "" + +#: importer/models.py:360 +msgid "Column mapping must be linked to a valid import session" +msgstr "" + +#: importer/models.py:365 +msgid "Column does not exist in the data file" +msgstr "" + +#: importer/models.py:372 +msgid "Field does not exist in the target model" +msgstr "" + +#: importer/models.py:376 +msgid "Selected field is read-only" +msgstr "" + +#: importer/models.py:381 importer/models.py:452 +msgid "Import Session" msgstr "" -#: company/templates/company/supplier_part.html:63 -#: company/templates/company/supplier_part.html:64 -#: templates/js/translated/company.js:294 -msgid "Edit Supplier Part" +#: importer/models.py:385 +msgid "Field" msgstr "" -#: company/templates/company/supplier_part.html:68 -#: company/templates/company/supplier_part.html:69 -#: templates/js/translated/company.js:269 -msgid "Duplicate Supplier Part" +#: importer/models.py:387 +msgid "Column" msgstr "" -#: company/templates/company/supplier_part.html:73 -msgid "Delete Supplier Part" +#: importer/models.py:456 +msgid "Row Index" msgstr "" -#: company/templates/company/supplier_part.html:74 -msgid "Delete Supplier Part" +#: importer/models.py:459 +msgid "Original row data" msgstr "" -#: company/templates/company/supplier_part.html:133 -msgid "No supplier information available" +#: importer/models.py:462 part/models.py:3841 +msgid "Data" msgstr "" -#: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:519 -#: templates/js/translated/company.js:349 templates/js/translated/part.js:1787 -#: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1850 -#: templates/js/translated/purchase_order.js:2028 -msgid "SKU" +#: importer/models.py:464 machine/models.py:110 +msgid "Errors" msgstr "" -#: company/templates/company/supplier_part.html:206 -msgid "Supplier Part Stock" +#: importer/models.py:466 part/api.py:874 +msgid "Valid" msgstr "" -#: company/templates/company/supplier_part.html:209 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:207 -msgid "Create new stock item" +#: importer/operations.py:28 importer/operations.py:49 +msgid "Unsupported data file format" msgstr "" -#: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:208 -#: templates/js/translated/stock.js:537 -msgid "New Stock Item" +#: importer/operations.py:40 +msgid "Failed to open data file" msgstr "" -#: company/templates/company/supplier_part.html:223 -msgid "Supplier Part Orders" +#: importer/operations.py:51 +msgid "Invalid data file dimensions" msgstr "" -#: company/templates/company/supplier_part.html:246 -msgid "Pricing Information" +#: importer/serializers.py:135 +msgid "Rows" msgstr "" -#: company/templates/company/supplier_part.html:251 -#: templates/js/translated/company.js:398 -#: templates/js/translated/pricing.js:684 -msgid "Add Price Break" +#: importer/serializers.py:136 +msgid "List of row IDs to accept" msgstr "" -#: company/templates/company/supplier_part.html:276 -msgid "Supplier Part QR Code" +#: importer/serializers.py:149 +msgid "No rows provided" msgstr "" -#: company/templates/company/supplier_part.html:287 -msgid "Link Barcode to Supplier Part" +#: importer/serializers.py:153 +msgid "Row does not belong to this session" msgstr "" -#: company/templates/company/supplier_part.html:359 -msgid "Update Part Availability" +#: importer/serializers.py:156 +msgid "Row contains invalid data" msgstr "" -#: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:831 part/stocktake.py:224 -#: part/templates/part/category.html:183 -#: part/templates/part/category_sidebar.html:17 stock/admin.py:68 -#: stock/serializers.py:918 stock/serializers.py:1091 -#: stock/templates/stock/location.html:170 -#: 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:1061 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 -#: users/models.py:206 -msgid "Stock Items" +#: importer/serializers.py:159 +msgid "Row has already been completed" msgstr "" -#: company/templates/company/supplier_part_sidebar.html:9 -msgid "Supplier Part Pricing" +#: importer/status_codes.py:11 +msgid "Initializing" msgstr "" -#: company/views.py:32 -msgid "New Supplier" +#: importer/status_codes.py:12 +msgid "Mapping Columns" msgstr "" -#: company/views.py:38 -msgid "New Manufacturer" +#: importer/status_codes.py:13 +msgid "Importing Data" msgstr "" -#: company/views.py:43 templates/InvenTree/search.html:210 -#: templates/navbar.html:60 -msgid "Customers" +#: importer/status_codes.py:16 +msgid "Processing Data" msgstr "" -#: company/views.py:44 -msgid "New Customer" +#: importer/validators.py:21 +msgid "Data file exceeds maximum size limit" msgstr "" -#: company/views.py:52 -msgid "New Company" +#: importer/validators.py:26 +msgid "Data file contains no headers" msgstr "" -#: generic/states/tests.py:18 order/status_codes.py:13 -msgid "Placed" +#: importer/validators.py:29 +msgid "Data file contains too many columns" +msgstr "" + +#: importer/validators.py:32 +msgid "Data file contains too many rows" +msgstr "" + +#: importer/validators.py:49 +msgid "Value must be a valid dictionary object" msgstr "" #: machine/machine_types/label_printer.py:212 @@ -4784,7 +4987,7 @@ msgstr "" msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:229 order/api.py:1467 +#: machine/machine_types/label_printer.py:229 order/api.py:1388 #: templates/js/translated/sales_order.js:1078 msgid "Unknown" msgstr "" @@ -4853,10 +5056,6 @@ msgstr "" msgid "Initialized" msgstr "" -#: machine/models.py:110 -msgid "Errors" -msgstr "" - #: machine/models.py:117 msgid "Machine status" msgstr "" @@ -4882,44 +5081,44 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:157 order/serializers.py:90 +#: order/api.py:149 order/serializers.py:94 #: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:113 #: order/templates/order/sales_order_base.html:122 msgid "Order Status" msgstr "" -#: order/api.py:161 templates/js/translated/table_filters.js:194 -#: templates/js/translated/table_filters.js:779 +#: order/api.py:153 templates/js/translated/table_filters.js:194 +#: templates/js/translated/table_filters.js:784 msgid "Has Pricing" msgstr "" -#: order/api.py:236 +#: order/api.py:228 msgid "No matching purchase order found" msgstr "" -#: order/api.py:435 order/api.py:801 order/models.py:1395 order/models.py:1504 -#: order/models.py:1550 order/models.py:1664 order/models.py:1818 -#: order/models.py:2231 order/models.py:2282 +#: order/api.py:417 order/api.py:755 order/models.py:1400 order/models.py:1514 +#: order/models.py:1565 order/models.py:1680 order/models.py:1839 +#: order/models.py:2258 order/models.py:2314 #: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "" -#: order/api.py:439 order/api.py:822 +#: order/api.py:421 order/api.py:776 msgid "Order Complete" msgstr "" -#: order/api.py:462 +#: order/api.py:444 msgid "Order Pending" msgstr "" -#: order/api.py:1461 order/models.py:380 order/models.py:1396 -#: order/models.py:1505 order/templates/order/order_base.html:9 +#: order/api.py:1382 order/models.py:380 order/models.py:1401 +#: order/models.py:1515 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 -#: stock/serializers.py:118 stock/templates/stock/item_base.html:176 +#: stock/serializers.py:120 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/part.js:1746 templates/js/translated/pricing.js:804 +#: templates/js/translated/part.js:1749 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:1673 @@ -4927,8 +5126,8 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1465 order/models.py:1981 order/models.py:2232 -#: order/models.py:2283 order/templates/order/return_order_base.html:9 +#: order/api.py:1386 order/models.py:2007 order/models.py:2259 +#: order/models.py:2315 order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report.html:13 #: templates/js/translated/return_order.js:280 @@ -4940,11 +5139,11 @@ msgstr "" msgid "Total price for this order" msgstr "" -#: order/models.py:96 order/serializers.py:70 +#: order/models.py:96 order/serializers.py:72 msgid "Order Currency" msgstr "" -#: order/models.py:99 order/serializers.py:71 +#: order/models.py:99 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" @@ -4960,7 +5159,7 @@ msgstr "" msgid "Select project code for this order" msgstr "" -#: order/models.py:303 order/models.py:1301 order/models.py:1717 +#: order/models.py:303 order/models.py:1301 order/models.py:1733 msgid "Link to external page" msgstr "" @@ -5009,15 +5208,15 @@ msgstr "" msgid "received by" msgstr "" -#: order/models.py:514 order/models.py:2058 +#: order/models.py:514 order/models.py:2084 msgid "Issue Date" msgstr "" -#: order/models.py:515 order/models.py:2059 +#: order/models.py:515 order/models.py:2085 msgid "Date order was issued" msgstr "" -#: order/models.py:522 order/models.py:2066 +#: order/models.py:522 order/models.py:2092 msgid "Date order was completed" msgstr "" @@ -5033,15 +5232,15 @@ msgstr "" msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:962 order/models.py:2051 +#: order/models.py:962 order/models.py:2077 msgid "Customer Reference " msgstr "" -#: order/models.py:963 order/models.py:2052 +#: order/models.py:963 order/models.py:2078 msgid "Customer order reference code" msgstr "" -#: order/models.py:967 order/models.py:1671 +#: order/models.py:967 order/models.py:1687 #: templates/js/translated/sales_order.js:879 #: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" @@ -5103,20 +5302,24 @@ msgstr "" msgid "Unit price" msgstr "" -#: order/models.py:1380 +#: order/models.py:1361 +msgid "Purchase Order Line Item" +msgstr "" + +#: order/models.py:1385 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1387 +#: order/models.py:1392 msgid "deleted" msgstr "" -#: order/models.py:1415 +#: order/models.py:1420 msgid "Supplier part" msgstr "" -#: order/models.py:1422 order/templates/order/order_base.html:196 -#: templates/js/translated/part.js:1870 templates/js/translated/part.js:1902 +#: order/models.py:1427 order/templates/order/order_base.html:196 +#: templates/js/translated/part.js:1873 templates/js/translated/part.js:1905 #: templates/js/translated/purchase_order.js:1306 #: templates/js/translated/purchase_order.js:2169 #: templates/js/translated/return_order.js:763 @@ -5125,196 +5328,224 @@ msgstr "" msgid "Received" msgstr "" -#: order/models.py:1423 +#: order/models.py:1428 msgid "Number of items received" msgstr "" -#: order/models.py:1431 stock/models.py:939 stock/serializers.py:556 +#: order/models.py:1436 stock/models.py:939 stock/serializers.py:602 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2311 msgid "Purchase Price" msgstr "" -#: order/models.py:1432 +#: order/models.py:1437 msgid "Unit purchase price" msgstr "" -#: order/models.py:1447 +#: order/models.py:1452 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1538 +#: order/models.py:1503 +msgid "Purchase Order Extra Line" +msgstr "" + +#: order/models.py:1532 +msgid "Sales Order Line Item" +msgstr "" + +#: order/models.py:1553 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1543 +#: order/models.py:1558 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1569 part/templates/part/part_pricing.html:107 +#: order/models.py:1584 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:1570 +#: order/models.py:1585 msgid "Unit sale price" msgstr "" -#: order/models.py:1579 order/status_codes.py:43 +#: order/models.py:1594 order/status_codes.py:43 #: templates/js/translated/sales_order.js:1559 #: templates/js/translated/sales_order.js:1680 #: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "" -#: order/models.py:1580 +#: order/models.py:1595 msgid "Shipped quantity" msgstr "" -#: order/models.py:1672 +#: order/models.py:1667 +msgid "Sales Order Shipment" +msgstr "" + +#: order/models.py:1688 msgid "Date of shipment" msgstr "" -#: order/models.py:1678 templates/js/translated/sales_order.js:1072 +#: order/models.py:1694 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "" -#: order/models.py:1679 +#: order/models.py:1695 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1687 +#: order/models.py:1703 msgid "Checked By" msgstr "" -#: order/models.py:1688 +#: order/models.py:1704 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1695 order/models.py:1908 order/serializers.py:1342 -#: order/serializers.py:1452 templates/js/translated/model_renderers.js:454 +#: order/models.py:1711 order/models.py:1934 order/serializers.py:1398 +#: order/serializers.py:1508 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "" -#: order/models.py:1696 +#: order/models.py:1712 msgid "Shipment number" msgstr "" -#: order/models.py:1704 +#: order/models.py:1720 msgid "Tracking Number" msgstr "" -#: order/models.py:1705 +#: order/models.py:1721 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1712 +#: order/models.py:1728 msgid "Invoice Number" msgstr "" -#: order/models.py:1713 +#: order/models.py:1729 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1733 +#: order/models.py:1749 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1736 +#: order/models.py:1752 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1854 order/models.py:1856 +#: order/models.py:1828 +msgid "Sales Order Extra Line" +msgstr "" + +#: order/models.py:1857 +msgid "Sales Order Allocation" +msgstr "" + +#: order/models.py:1880 order/models.py:1882 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1863 +#: order/models.py:1889 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1866 +#: order/models.py:1892 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1869 +#: order/models.py:1895 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1888 order/serializers.py:1219 +#: order/models.py:1914 order/serializers.py:1275 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1891 +#: order/models.py:1917 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1892 plugin/base/barcodes/api.py:481 +#: order/models.py:1918 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1900 +#: order/models.py:1926 msgid "Line" msgstr "" -#: order/models.py:1909 +#: order/models.py:1935 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1922 order/models.py:2239 +#: order/models.py:1948 order/models.py:2266 #: templates/js/translated/return_order.js:721 msgid "Item" msgstr "" -#: order/models.py:1923 +#: order/models.py:1949 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1932 +#: order/models.py:1958 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2021 +#: order/models.py:2047 msgid "Return Order reference" msgstr "" -#: order/models.py:2033 +#: order/models.py:2059 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2045 +#: order/models.py:2071 msgid "Return order status" msgstr "" -#: order/models.py:2224 +#: order/models.py:2237 +msgid "Return Order Line Item" +msgstr "" + +#: order/models.py:2251 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2240 +#: order/models.py:2267 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2246 +#: order/models.py:2273 msgid "Received Date" msgstr "" -#: order/models.py:2247 +#: order/models.py:2274 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2258 templates/js/translated/return_order.js:732 +#: order/models.py:2285 templates/js/translated/return_order.js:732 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2259 +#: order/models.py:2286 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2266 +#: order/models.py:2293 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:79 order/templates/order/po_sidebar.html:5 +#: order/models.py:2303 +msgid "Return Order Extra Line" +msgstr "" + +#: order/serializers.py:83 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_purchase_order_report.html:22 @@ -5323,163 +5554,171 @@ msgstr "" msgid "Line Items" msgstr "" -#: order/serializers.py:83 +#: order/serializers.py:87 msgid "Completed Lines" msgstr "" -#: order/serializers.py:286 +#: order/serializers.py:305 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:301 order/serializers.py:1235 +#: order/serializers.py:320 order/serializers.py:1291 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:311 order/serializers.py:1245 +#: order/serializers.py:330 order/serializers.py:1301 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:439 +#: order/serializers.py:468 msgid "Order is not open" msgstr "" -#: order/serializers.py:460 +#: order/serializers.py:489 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:462 +#: order/serializers.py:491 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:472 +#: order/serializers.py:501 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:478 +#: order/serializers.py:507 msgid "Merge Items" msgstr "" -#: order/serializers.py:480 +#: order/serializers.py:509 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:498 +#: order/serializers.py:522 part/models.py:945 +msgid "Internal Part Number" +msgstr "" + +#: order/serializers.py:530 +msgid "Internal Part Name" +msgstr "" + +#: order/serializers.py:546 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:501 +#: order/serializers.py:549 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:509 +#: order/serializers.py:557 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:510 +#: order/serializers.py:558 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:549 order/serializers.py:1313 +#: order/serializers.py:598 order/serializers.py:1369 msgid "Line Item" msgstr "" -#: order/serializers.py:555 +#: order/serializers.py:604 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:565 order/serializers.py:673 order/serializers.py:1657 +#: order/serializers.py:614 order/serializers.py:722 order/serializers.py:1715 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:581 templates/js/translated/purchase_order.js:1130 +#: order/serializers.py:630 templates/js/translated/purchase_order.js:1130 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:589 templates/js/translated/purchase_order.js:1154 +#: order/serializers.py:638 templates/js/translated/purchase_order.js:1154 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:600 templates/js/translated/barcode.js:52 +#: order/serializers.py:649 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:601 +#: order/serializers.py:650 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:617 +#: order/serializers.py:666 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:641 +#: order/serializers.py:690 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:689 order/serializers.py:1673 +#: order/serializers.py:738 order/serializers.py:1731 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:705 +#: order/serializers.py:754 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:716 +#: order/serializers.py:765 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1062 +#: order/serializers.py:1117 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1122 +#: order/serializers.py:1178 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1183 order/serializers.py:1322 +#: order/serializers.py:1239 order/serializers.py:1378 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1202 +#: order/serializers.py:1258 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1332 +#: order/serializers.py:1388 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1354 order/serializers.py:1460 +#: order/serializers.py:1410 order/serializers.py:1516 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1357 order/serializers.py:1463 +#: order/serializers.py:1413 order/serializers.py:1519 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1404 +#: order/serializers.py:1460 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1411 +#: order/serializers.py:1467 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1627 +#: order/serializers.py:1685 msgid "Return order line item" msgstr "" -#: order/serializers.py:1633 +#: order/serializers.py:1691 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1636 +#: order/serializers.py:1694 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1665 +#: order/serializers.py:1723 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1743 +#: order/serializers.py:1806 msgid "Line price currency" msgstr "" @@ -5809,7 +6048,7 @@ msgstr "" #: 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:1073 +#: templates/js/translated/part.js:1076 #: templates/js/translated/purchase_order.js:1752 #: templates/js/translated/return_order.js:380 #: templates/js/translated/sales_order.js:891 @@ -5905,34 +6144,29 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:398 part/models.py:3944 part/stocktake.py:219 +#: part/admin.py:39 part/admin.py:398 part/models.py:3991 part/stocktake.py:219 #: stock/admin.py:152 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:405 part/models.py:3945 part/stocktake.py:220 -#: stock/admin.py:156 -msgid "Part Name" -msgstr "" - #: part/admin.py:45 part/stocktake.py:221 msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:940 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:944 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 -#: templates/js/translated/part.js:1227 templates/js/translated/part.js:2341 +#: templates/js/translated/part.js:1230 templates/js/translated/part.js:2344 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:949 part/templates/part/part_base.html:277 -#: report/models.py:162 templates/js/translated/part.js:1232 -#: templates/js/translated/part.js:2347 +#: part/admin.py:50 part/models.py:953 part/templates/part/part_base.html:277 +#: report/models.py:162 templates/js/translated/part.js:1235 +#: templates/js/translated/part.js:2350 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:319 part/models.py:922 +#: part/admin.py:53 part/admin.py:319 part/models.py:926 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5945,7 +6179,8 @@ msgstr "" msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:304 part/stocktake.py:223 +#: part/admin.py:67 part/admin.py:304 part/serializers.py:837 +#: part/stocktake.py:223 msgid "Category Name" msgstr "" @@ -5957,11 +6192,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:908 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:912 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1036 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1040 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5969,18 +6204,19 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:150 part/templates/part/part_base.html:241 stock/admin.py:235 -#: templates/js/translated/part.js:715 templates/js/translated/part.js:2153 +#: part/admin.py:150 part/serializers.py:854 +#: part/templates/part/part_base.html:241 stock/admin.py:235 +#: templates/js/translated/part.js:714 templates/js/translated/part.js:2156 msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3088 part/models.py:3102 -#: templates/js/translated/part.js:970 +#: part/admin.py:155 part/models.py:3098 part/models.py:3112 +#: templates/js/translated/part.js:973 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3095 part/models.py:3109 -#: templates/js/translated/part.js:980 +#: part/admin.py:158 part/models.py:3105 part/models.py:3119 +#: templates/js/translated/part.js:983 msgid "Maximum Cost" msgstr "" @@ -5997,14 +6233,14 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:396 part/serializers.py:124 -#: part/serializers.py:267 part/serializers.py:386 +#: part/admin.py:325 part/models.py:397 part/serializers.py:130 +#: part/serializers.py:282 part/serializers.py:404 #: 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:2807 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:203 msgid "Parts" msgstr "" @@ -6021,125 +6257,117 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:402 part/models.py:3946 -msgid "Part IPN" -msgstr "" - -#: part/admin.py:415 part/serializers.py:1274 +#: part/admin.py:415 part/serializers.py:1302 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:420 part/serializers.py:1289 +#: part/admin.py:420 part/serializers.py:1317 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "" -#: part/api.py:104 +#: part/api.py:105 msgid "Starred" msgstr "" -#: part/api.py:106 +#: part/api.py:107 msgid "Filter by starred categories" msgstr "" -#: part/api.py:123 stock/api.py:312 +#: part/api.py:124 stock/api.py:312 msgid "Depth" msgstr "" -#: part/api.py:123 +#: part/api.py:124 msgid "Filter by category depth" msgstr "" -#: part/api.py:141 stock/api.py:330 +#: part/api.py:142 stock/api.py:330 msgid "Top Level" msgstr "" -#: part/api.py:143 +#: part/api.py:144 msgid "Filter by top-level categories" msgstr "" -#: part/api.py:156 stock/api.py:345 +#: part/api.py:157 stock/api.py:345 msgid "Cascade" msgstr "" -#: part/api.py:158 +#: part/api.py:159 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:179 templates/js/translated/part.js:308 +#: part/api.py:180 templates/js/translated/part.js:307 msgid "Parent" msgstr "" -#: part/api.py:181 +#: part/api.py:182 msgid "Filter by parent category" msgstr "" -#: part/api.py:214 +#: part/api.py:215 msgid "Exclude Tree" msgstr "" -#: part/api.py:216 +#: part/api.py:217 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:449 +#: part/api.py:442 msgid "Has Results" msgstr "" -#: part/api.py:616 +#: part/api.py:609 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:634 +#: part/api.py:627 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:650 +#: part/api.py:643 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:734 +#: part/api.py:727 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:881 -msgid "Valid" -msgstr "" - -#: part/api.py:882 +#: part/api.py:875 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:888 +#: part/api.py:881 msgid "This option must be selected" msgstr "" -#: part/api.py:1105 +#: part/api.py:1098 msgid "BOM Valid" msgstr "" -#: part/api.py:1508 part/models.py:932 part/models.py:3374 part/models.py:3889 -#: part/serializers.py:401 part/serializers.py:1130 -#: part/templates/part/part_base.html:260 stock/api.py:791 +#: part/api.py:1494 part/models.py:936 part/models.py:3385 part/models.py:3936 +#: part/serializers.py:419 part/serializers.py:1158 +#: part/templates/part/part_base.html:260 stock/api.py:783 #: 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:2380 msgid "Category" msgstr "" -#: part/api.py:1796 +#: part/api.py:1784 msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:104 part/models.py:975 +#: part/bom.py:170 part/models.py:104 part/models.py:979 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:833 +#: part/bom.py:171 part/serializers.py:861 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6148,7 +6376,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:85 part/models.py:3890 part/templates/part/category.html:16 +#: part/models.py:85 part/models.py:3937 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -6163,7 +6391,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:110 stock/models.py:175 templates/js/translated/part.js:2810 +#: part/models.py:110 stock/models.py:175 templates/js/translated/part.js:2813 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 @@ -6195,1002 +6423,1035 @@ msgstr "" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:485 +#: part/models.py:486 +msgid "Cannot delete this part as it is locked" +msgstr "" + +#: part/models.py:489 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:490 +#: part/models.py:494 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:528 +#: part/models.py:532 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:576 part/models.py:583 +#: part/models.py:580 part/models.py:587 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:595 +#: part/models.py:599 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:658 +#: part/models.py:662 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:736 +#: part/models.py:740 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:837 +#: part/models.py:841 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:847 +#: part/models.py:851 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:862 +#: part/models.py:866 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:891 part/models.py:3945 +#: part/models.py:895 part/models.py:3992 msgid "Part name" msgstr "" -#: part/models.py:896 +#: part/models.py:900 msgid "Is Template" msgstr "" -#: part/models.py:897 +#: part/models.py:901 msgid "Is this part a template part?" msgstr "" -#: part/models.py:907 +#: part/models.py:911 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:915 +#: part/models.py:919 msgid "Part description (optional)" msgstr "" -#: part/models.py:923 +#: part/models.py:927 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:933 +#: part/models.py:937 msgid "Part category" msgstr "" -#: part/models.py:941 -msgid "Internal Part Number" -msgstr "" - -#: part/models.py:948 +#: part/models.py:952 msgid "Part revision or version number" msgstr "" -#: part/models.py:973 +#: part/models.py:977 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1019 part/templates/part/part_base.html:376 +#: part/models.py:1023 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:1020 +#: part/models.py:1024 msgid "Default supplier part" msgstr "" -#: part/models.py:1027 +#: part/models.py:1031 msgid "Default Expiry" msgstr "" -#: part/models.py:1028 +#: part/models.py:1032 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1037 +#: part/models.py:1041 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1046 +#: part/models.py:1050 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1053 +#: part/models.py:1057 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1059 +#: part/models.py:1063 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1065 +#: part/models.py:1069 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1071 +#: part/models.py:1075 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1077 +#: part/models.py:1081 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1081 +#: part/models.py:1085 msgid "Is this part active?" msgstr "" -#: part/models.py:1087 +#: part/models.py:1090 templates/js/translated/part.js:818 +#: templates/js/translated/table_filters.js:721 +msgid "Locked" +msgstr "" + +#: part/models.py:1091 +msgid "Locked parts cannot be edited" +msgstr "" + +#: part/models.py:1097 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1093 +#: part/models.py:1103 msgid "BOM checksum" msgstr "" -#: part/models.py:1094 +#: part/models.py:1104 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1102 +#: part/models.py:1112 msgid "BOM checked by" msgstr "" -#: part/models.py:1107 +#: part/models.py:1117 msgid "BOM checked date" msgstr "" -#: part/models.py:1123 +#: part/models.py:1133 msgid "Creation User" msgstr "" -#: part/models.py:1133 +#: part/models.py:1143 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1138 part/templates/part/part_base.html:339 +#: part/models.py:1148 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:2474 msgid "Last Stocktake" msgstr "" -#: part/models.py:2011 +#: part/models.py:2021 msgid "Sell multiple" msgstr "" -#: part/models.py:3002 +#: part/models.py:3012 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3018 +#: part/models.py:3028 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3019 +#: part/models.py:3029 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3025 +#: part/models.py:3035 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3026 +#: part/models.py:3036 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3032 +#: part/models.py:3042 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3033 +#: part/models.py:3043 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3039 +#: part/models.py:3049 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3040 +#: part/models.py:3050 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3046 +#: part/models.py:3056 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3047 +#: part/models.py:3057 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3053 +#: part/models.py:3063 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3054 +#: part/models.py:3064 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3060 +#: part/models.py:3070 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3061 +#: part/models.py:3071 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3067 +#: part/models.py:3077 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3068 +#: part/models.py:3078 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3074 +#: part/models.py:3084 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3075 +#: part/models.py:3085 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3081 +#: part/models.py:3091 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3082 +#: part/models.py:3092 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3089 +#: part/models.py:3099 msgid "Override minimum cost" msgstr "" -#: part/models.py:3096 +#: part/models.py:3106 msgid "Override maximum cost" msgstr "" -#: part/models.py:3103 +#: part/models.py:3113 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3110 +#: part/models.py:3120 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3116 +#: part/models.py:3126 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3117 +#: part/models.py:3127 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3123 +#: part/models.py:3133 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3124 +#: part/models.py:3134 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3130 +#: part/models.py:3140 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3131 +#: part/models.py:3141 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3137 +#: part/models.py:3147 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3138 +#: part/models.py:3148 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3157 +#: part/models.py:3167 msgid "Part for stocktake" msgstr "" -#: part/models.py:3162 +#: part/models.py:3172 msgid "Item Count" msgstr "" -#: part/models.py:3163 +#: part/models.py:3173 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3171 +#: part/models.py:3181 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3175 part/models.py:3258 +#: part/models.py:3185 part/models.py:3268 #: part/templates/part/part_scheduling.html:13 #: 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:1086 templates/js/translated/pricing.js:826 +#: templates/js/translated/part.js:1089 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 #: templates/js/translated/purchase_order.js:1731 #: templates/js/translated/stock.js:2821 msgid "Date" msgstr "" -#: part/models.py:3176 +#: part/models.py:3186 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3184 +#: part/models.py:3194 msgid "Additional notes" msgstr "" -#: part/models.py:3194 +#: part/models.py:3204 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3200 +#: part/models.py:3210 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3201 +#: part/models.py:3211 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3207 +#: part/models.py:3217 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3208 +#: part/models.py:3218 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3264 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3274 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3265 +#: part/models.py:3275 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3270 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3280 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3271 +#: part/models.py:3281 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3281 +#: part/models.py:3291 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3423 +#: part/models.py:3301 +msgid "Part Sale Price Break" +msgstr "" + +#: part/models.py:3413 +msgid "Part Test Template" +msgstr "" + +#: part/models.py:3439 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3444 part/models.py:3608 +#: part/models.py:3460 part/models.py:3629 msgid "Choices must be unique" msgstr "" -#: part/models.py:3455 +#: part/models.py:3471 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3466 +#: part/models.py:3482 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3483 templates/js/translated/part.js:2880 +#: part/models.py:3499 templates/js/translated/part.js:2883 msgid "Test Name" msgstr "" -#: part/models.py:3484 +#: part/models.py:3500 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3490 +#: part/models.py:3506 msgid "Test Key" msgstr "" -#: part/models.py:3491 +#: part/models.py:3507 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3498 +#: part/models.py:3514 msgid "Test Description" msgstr "" -#: part/models.py:3499 +#: part/models.py:3515 msgid "Enter description for this test" msgstr "" -#: part/models.py:3503 report/models.py:209 -#: templates/js/translated/part.js:2901 +#: part/models.py:3519 report/models.py:209 +#: templates/js/translated/part.js:2904 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "" -#: part/models.py:3503 +#: part/models.py:3519 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3508 templates/js/translated/part.js:2909 +#: part/models.py:3524 templates/js/translated/part.js:2912 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3509 +#: part/models.py:3525 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3514 templates/js/translated/part.js:2917 +#: part/models.py:3530 templates/js/translated/part.js:2920 msgid "Requires Value" msgstr "" -#: part/models.py:3515 +#: part/models.py:3531 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3520 templates/js/translated/part.js:2924 +#: part/models.py:3536 templates/js/translated/part.js:2927 msgid "Requires Attachment" msgstr "" -#: part/models.py:3522 +#: part/models.py:3538 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3528 part/models.py:3667 templates/js/translated/part.js:1637 +#: part/models.py:3544 part/models.py:3688 templates/js/translated/part.js:1640 msgid "Choices" msgstr "" -#: part/models.py:3529 +#: part/models.py:3545 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3583 +#: part/models.py:3577 +msgid "Part Parameter Template" +msgstr "" + +#: part/models.py:3604 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3588 +#: part/models.py:3609 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3625 +#: part/models.py:3646 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3640 +#: part/models.py:3661 msgid "Parameter Name" msgstr "" -#: part/models.py:3647 +#: part/models.py:3668 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3655 +#: part/models.py:3676 msgid "Parameter description" msgstr "" -#: part/models.py:3661 templates/js/translated/part.js:1628 -#: templates/js/translated/table_filters.js:825 +#: part/models.py:3682 templates/js/translated/part.js:1631 +#: templates/js/translated/table_filters.js:830 msgid "Checkbox" msgstr "" -#: part/models.py:3662 +#: part/models.py:3683 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3668 +#: part/models.py:3689 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3745 +#: part/models.py:3723 +msgid "Part Parameter" +msgstr "" + +#: part/models.py:3749 +msgid "Parameter cannot be modified - part is locked" +msgstr "" + +#: part/models.py:3785 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3788 +#: part/models.py:3828 msgid "Parent Part" msgstr "" -#: part/models.py:3796 part/models.py:3897 part/models.py:3898 +#: part/models.py:3836 part/models.py:3944 part/models.py:3945 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3801 -msgid "Data" +#: part/models.py:3842 +msgid "Parameter Value" msgstr "" -#: part/models.py:3802 -msgid "Parameter Value" +#: part/models.py:3892 +msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:3904 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3951 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3905 +#: part/models.py:3952 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3943 +#: part/models.py:3990 msgid "Part ID or part name" msgstr "" -#: part/models.py:3944 +#: part/models.py:3991 msgid "Unique part ID value" msgstr "" -#: part/models.py:3946 +#: part/models.py:3993 msgid "Part IPN value" msgstr "" -#: part/models.py:3947 +#: part/models.py:3994 msgid "Level" msgstr "" -#: part/models.py:3947 +#: part/models.py:3994 msgid "BOM level" msgstr "" -#: part/models.py:4037 +#: part/models.py:4105 +msgid "BOM item cannot be modified - assembly is locked" +msgstr "" + +#: part/models.py:4112 +msgid "BOM item cannot be modified - variant assembly is locked" +msgstr "" + +#: part/models.py:4122 msgid "Select parent part" msgstr "" -#: part/models.py:4047 +#: part/models.py:4132 msgid "Sub part" msgstr "" -#: part/models.py:4048 +#: part/models.py:4133 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4059 +#: part/models.py:4144 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4065 +#: part/models.py:4150 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4071 +#: part/models.py:4156 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4078 part/templates/part/upload_bom.html:55 +#: part/models.py:4163 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4079 +#: part/models.py:4164 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4086 +#: part/models.py:4171 msgid "BOM item reference" msgstr "" -#: part/models.py:4094 +#: part/models.py:4179 msgid "BOM item notes" msgstr "" -#: part/models.py:4100 +#: part/models.py:4185 msgid "Checksum" msgstr "" -#: part/models.py:4101 +#: part/models.py:4186 msgid "BOM line checksum" msgstr "" -#: part/models.py:4106 templates/js/translated/table_filters.js:174 +#: part/models.py:4191 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4107 +#: part/models.py:4192 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4112 part/templates/part/upload_bom.html:57 +#: part/models.py:4197 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:4113 +#: part/models.py:4198 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4118 part/templates/part/upload_bom.html:56 +#: part/models.py:4203 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4119 +#: part/models.py:4204 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4204 stock/models.py:663 +#: part/models.py:4289 stock/models.py:663 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4214 part/models.py:4216 +#: part/models.py:4299 part/models.py:4301 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4354 +#: part/models.py:4439 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4375 +#: part/models.py:4460 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4388 +#: part/models.py:4473 msgid "Parent BOM item" msgstr "" -#: part/models.py:4396 +#: part/models.py:4481 msgid "Substitute part" msgstr "" -#: part/models.py:4412 +#: part/models.py:4497 msgid "Part 1" msgstr "" -#: part/models.py:4420 +#: part/models.py:4505 msgid "Part 2" msgstr "" -#: part/models.py:4421 +#: part/models.py:4506 msgid "Select Related Part" msgstr "" -#: part/models.py:4440 +#: part/models.py:4525 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4445 +#: part/models.py:4530 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:118 +#: part/serializers.py:124 msgid "Parent Category" msgstr "" -#: part/serializers.py:119 templates/js/translated/part.js:309 +#: part/serializers.py:125 templates/js/translated/part.js:308 msgid "Parent part category" msgstr "" -#: part/serializers.py:126 part/serializers.py:148 +#: part/serializers.py:132 part/serializers.py:154 #: part/templates/part/category.html:122 part/templates/part/category.html:207 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" -#: part/serializers.py:180 +#: part/serializers.py:189 msgid "Results" msgstr "" -#: part/serializers.py:181 +#: part/serializers.py:190 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:205 part/serializers.py:223 stock/serializers.py:562 +#: part/serializers.py:217 part/serializers.py:235 stock/serializers.py:608 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:268 +#: part/serializers.py:283 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:392 +#: part/serializers.py:410 msgid "No parts selected" msgstr "" -#: part/serializers.py:402 +#: part/serializers.py:420 msgid "Select category" msgstr "" -#: part/serializers.py:437 +#: part/serializers.py:455 msgid "Original Part" msgstr "" -#: part/serializers.py:438 +#: part/serializers.py:456 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:461 msgid "Copy Image" msgstr "" -#: part/serializers.py:444 +#: part/serializers.py:462 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:450 part/templates/part/detail.html:277 +#: part/serializers.py:468 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:451 +#: part/serializers.py:469 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:457 +#: part/serializers.py:475 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:458 +#: part/serializers.py:476 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:464 +#: part/serializers.py:482 msgid "Copy Notes" msgstr "" -#: part/serializers.py:465 +#: part/serializers.py:483 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:483 +#: part/serializers.py:501 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:485 +#: part/serializers.py:503 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:492 +#: part/serializers.py:510 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:493 +#: part/serializers.py:511 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:510 +#: part/serializers.py:528 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:526 +#: part/serializers.py:544 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:536 +#: part/serializers.py:554 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:543 +#: part/serializers.py:561 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:552 +#: part/serializers.py:570 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:563 +#: part/serializers.py:581 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:570 +#: part/serializers.py:588 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:834 -msgid "External Stock" -msgstr "" - -#: part/serializers.py:836 +#: part/serializers.py:864 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:839 +#: part/serializers.py:867 msgid "Variant Stock" msgstr "" -#: part/serializers.py:869 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:472 +#: part/serializers.py:897 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:870 +#: part/serializers.py:898 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:876 templates/js/translated/part.js:102 +#: part/serializers.py:904 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:877 +#: part/serializers.py:905 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:883 +#: part/serializers.py:911 msgid "Supplier Information" msgstr "" -#: part/serializers.py:884 +#: part/serializers.py:912 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:892 +#: part/serializers.py:920 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:893 +#: part/serializers.py:921 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:898 +#: part/serializers.py:926 msgid "Existing Image" msgstr "" -#: part/serializers.py:899 +#: part/serializers.py:927 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:916 +#: part/serializers.py:944 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1122 +#: part/serializers.py:1150 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1132 +#: part/serializers.py:1160 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1142 +#: part/serializers.py:1170 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1148 +#: part/serializers.py:1176 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1149 +#: part/serializers.py:1177 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1154 +#: part/serializers.py:1182 msgid "Generate Report" msgstr "" -#: part/serializers.py:1155 +#: part/serializers.py:1183 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1160 +#: part/serializers.py:1188 msgid "Update Parts" msgstr "" -#: part/serializers.py:1161 +#: part/serializers.py:1189 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1169 +#: part/serializers.py:1197 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1275 +#: part/serializers.py:1303 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1282 +#: part/serializers.py:1310 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1290 +#: part/serializers.py:1318 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1297 +#: part/serializers.py:1325 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1326 +#: part/serializers.py:1354 msgid "Update" msgstr "" -#: part/serializers.py:1327 +#: part/serializers.py:1355 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1350 +#: part/serializers.py:1378 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1357 +#: part/serializers.py:1385 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1360 +#: part/serializers.py:1388 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1727 +#: part/serializers.py:1759 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1735 +#: part/serializers.py:1767 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1736 +#: part/serializers.py:1768 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1741 +#: part/serializers.py:1773 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1742 +#: part/serializers.py:1774 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1747 +#: part/serializers.py:1779 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1748 +#: part/serializers.py:1780 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1753 +#: part/serializers.py:1785 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1754 +#: part/serializers.py:1786 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1788 +#: part/serializers.py:1823 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1789 +#: part/serializers.py:1824 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1819 +#: part/serializers.py:1856 msgid "No part column specified" msgstr "" -#: part/serializers.py:1863 +#: part/serializers.py:1900 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1866 +#: part/serializers.py:1903 msgid "No matching part found" msgstr "" -#: part/serializers.py:1869 +#: part/serializers.py:1906 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1878 +#: part/serializers.py:1915 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1886 +#: part/serializers.py:1923 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1907 +#: part/serializers.py:1946 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:225 templates/js/translated/part.js:1067 -#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 +#: part/stocktake.py:225 templates/js/translated/part.js:1070 +#: templates/js/translated/part.js:1825 templates/js/translated/part.js:1881 #: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "" @@ -7508,7 +7769,7 @@ msgstr "" #: part/templates/part/part_base.html:52 #: stock/templates/stock/item_base.html:62 -#: stock/templates/stock/location.html:74 templates/js/translated/label.js:143 +#: stock/templates/stock/location.html:74 templates/js/translated/label.js:136 msgid "Print Label" msgstr "" @@ -7530,7 +7791,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:2296 msgid "Part actions" msgstr "" @@ -7570,6 +7831,10 @@ msgstr "" msgid "Part can be sold to customers" msgstr "" +#: part/templates/part/part_base.html:145 +msgid "Part is not active" +msgstr "" + #: part/templates/part/part_base.html:153 msgid "Part is virtual (not a physical part)" msgstr "" @@ -7598,7 +7863,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:322 templates/js/translated/bom.js:1071 -#: templates/js/translated/part.js:1265 templates/js/translated/part.js:2444 +#: templates/js/translated/part.js:1268 templates/js/translated/part.js:2447 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" @@ -7691,8 +7956,8 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/part.js:1243 templates/js/translated/part.js:2146 -#: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 +#: templates/js/translated/part.js:1246 templates/js/translated/part.js:2149 +#: templates/js/translated/part.js:2395 templates/js/translated/stock.js:1059 #: templates/js/translated/stock.js:2070 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -7812,8 +8077,8 @@ msgstr "" #: part/templates/part/stock_count.html:7 #: templates/js/translated/model_renderers.js:227 -#: templates/js/translated/part.js:705 templates/js/translated/part.js:2141 -#: templates/js/translated/part.js:2143 +#: templates/js/translated/part.js:704 templates/js/translated/part.js:2144 +#: templates/js/translated/part.js:2146 msgid "No Stock" msgstr "" @@ -7957,7 +8222,7 @@ msgstr "" msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2589 +#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2590 #: templates/js/translated/sales_order.js:1953 msgid "Insufficient stock available" msgstr "" @@ -8052,7 +8317,7 @@ msgstr "" msgid "Quantity to allocate" msgstr "" -#: plugin/base/label/label.py:39 templates/js/translated/label.js:155 +#: plugin/base/label/label.py:39 templates/js/translated/label.js:148 msgid "Label printing failed" msgstr "" @@ -8749,7 +9014,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report.html:25 #: report/templates/report/inventree_test_report.html:88 stock/models.py:825 -#: stock/serializers.py:149 stock/templates/stock/item_base.html:311 +#: stock/serializers.py:151 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:230 @@ -8779,7 +9044,7 @@ msgstr "" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2447 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2457 msgid "Result" msgstr "" @@ -8800,7 +9065,7 @@ msgid "No result" msgstr "" #: report/templates/report/inventree_test_report.html:153 -#: stock/templates/stock/stock_sidebar.html:16 +#: stock/serializers.py:591 stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" @@ -8830,10 +9095,6 @@ msgstr "" msgid "Location ID" msgstr "" -#: stock/admin.py:53 stock/admin.py:175 -msgid "Location Name" -msgstr "" - #: stock/admin.py:63 stock/templates/stock/location.html:131 #: stock/templates/stock/location.html:137 msgid "Location Path" @@ -8910,7 +9171,7 @@ msgstr "" msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:369 stock/serializers.py:1085 +#: stock/api.py:369 stock/serializers.py:1148 msgid "Parent Location" msgstr "" @@ -8918,44 +9179,45 @@ msgstr "" msgid "Filter by parent location" msgstr "" -#: stock/api.py:625 templates/js/translated/table_filters.js:427 +#: stock/api.py:617 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:813 +#: stock/api.py:805 msgid "Part Tree" msgstr "" -#: stock/api.py:843 +#: stock/api.py:835 msgid "Expiry date before" msgstr "" -#: stock/api.py:847 +#: stock/api.py:839 msgid "Expiry date after" msgstr "" -#: stock/api.py:850 stock/templates/stock/item_base.html:439 +#: stock/api.py:842 stock/serializers.py:596 +#: stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "" -#: stock/api.py:937 +#: stock/api.py:929 msgid "Quantity is required" msgstr "" -#: stock/api.py:943 +#: stock/api.py:935 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:974 +#: stock/api.py:966 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:984 +#: stock/api.py:976 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1015 +#: stock/api.py:1007 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -9022,7 +9284,7 @@ msgstr "" msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:669 stock/serializers.py:446 +#: stock/models.py:669 stock/serializers.py:477 msgid "Stock item cannot be created for virtual parts" msgstr "" @@ -9067,7 +9329,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:799 stock/serializers.py:1476 +#: stock/models.py:799 stock/serializers.py:1542 msgid "Packaging this stock item is stored in" msgstr "" @@ -9079,7 +9341,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:843 stock/serializers.py:1459 +#: stock/models.py:843 stock/serializers.py:1525 msgid "Batch code for this stock item" msgstr "" @@ -9156,7 +9418,7 @@ msgstr "" msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1520 stock/serializers.py:660 +#: stock/models.py:1520 stock/serializers.py:718 msgid "Serial numbers already exist" msgstr "" @@ -9188,7 +9450,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1658 stock/serializers.py:1365 +#: stock/models.py:1658 stock/serializers.py:1431 msgid "Duplicate stock items" msgstr "" @@ -9208,288 +9470,330 @@ msgstr "" msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2345 +#: stock/models.py:2317 +msgid "Stock Item Tracking" +msgstr "" + +#: stock/models.py:2350 msgid "Entry notes" msgstr "" -#: stock/models.py:2413 +#: stock/models.py:2390 +msgid "Stock Item Test Result" +msgstr "" + +#: stock/models.py:2423 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2418 +#: stock/models.py:2428 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2423 +#: stock/models.py:2433 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2447 +#: stock/models.py:2457 msgid "Test result" msgstr "" -#: stock/models.py:2454 +#: stock/models.py:2464 msgid "Test output value" msgstr "" -#: stock/models.py:2462 +#: stock/models.py:2472 msgid "Test result attachment" msgstr "" -#: stock/models.py:2466 +#: stock/models.py:2476 msgid "Test notes" msgstr "" -#: stock/models.py:2474 templates/js/translated/stock.js:1548 +#: stock/models.py:2484 templates/js/translated/stock.js:1548 msgid "Test station" msgstr "" -#: stock/models.py:2475 +#: stock/models.py:2485 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2481 +#: stock/models.py:2491 msgid "Started" msgstr "" -#: stock/models.py:2482 +#: stock/models.py:2492 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2488 +#: stock/models.py:2498 msgid "Finished" msgstr "" -#: stock/models.py:2489 +#: stock/models.py:2499 msgid "The timestamp of the test finish" msgstr "" -#: stock/serializers.py:74 +#: stock/serializers.py:76 msgid "Generated batch code" msgstr "" -#: stock/serializers.py:83 +#: stock/serializers.py:85 msgid "Select build order" msgstr "" -#: stock/serializers.py:92 +#: stock/serializers.py:94 msgid "Select stock item to generate batch code for" msgstr "" -#: stock/serializers.py:101 +#: stock/serializers.py:103 msgid "Select location to generate batch code for" msgstr "" -#: stock/serializers.py:110 +#: stock/serializers.py:112 msgid "Select part to generate batch code for" msgstr "" -#: stock/serializers.py:119 +#: stock/serializers.py:121 msgid "Select purchase order" msgstr "" -#: stock/serializers.py:126 +#: stock/serializers.py:128 msgid "Enter quantity for batch code" msgstr "" -#: stock/serializers.py:149 +#: stock/serializers.py:151 msgid "Generated serial number" msgstr "" -#: stock/serializers.py:158 +#: stock/serializers.py:160 msgid "Select part to generate serial number for" msgstr "" -#: stock/serializers.py:166 +#: stock/serializers.py:168 msgid "Quantity of serial numbers to generate" msgstr "" -#: stock/serializers.py:228 +#: stock/serializers.py:233 msgid "Test template for this result" msgstr "" -#: stock/serializers.py:247 +#: stock/serializers.py:252 msgid "Template ID or test name must be provided" msgstr "" -#: stock/serializers.py:279 +#: stock/serializers.py:284 msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:315 +#: stock/serializers.py:320 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:438 +#: stock/serializers.py:449 stock/templates/stock/item_base.html:193 +msgid "Parent Item" +msgstr "" + +#: stock/serializers.py:450 +msgid "Parent stock item" +msgstr "" + +#: stock/serializers.py:469 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:558 +#: stock/serializers.py:585 templates/js/translated/build.js:991 +#: templates/js/translated/build.js:2344 +msgid "Allocated Quantity" +msgstr "" + +#: stock/serializers.py:588 stock/templates/stock/item_base.html:437 +#: templates/js/translated/table_filters.js:435 users/models.py:174 +msgid "Expired" +msgstr "" + +#: stock/serializers.py:594 stock/templates/stock/stock_sidebar.html:20 +msgid "Child Items" +msgstr "" + +#: stock/serializers.py:598 +msgid "Tracking Items" +msgstr "" + +#: stock/serializers.py:604 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:595 +#: stock/serializers.py:623 +msgid "Minimum Pricing" +msgstr "" + +#: stock/serializers.py:629 +msgid "Maximum Pricing" +msgstr "" + +#: stock/serializers.py:653 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:608 +#: stock/serializers.py:666 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:615 +#: stock/serializers.py:673 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:626 stock/serializers.py:1322 stock/serializers.py:1578 +#: stock/serializers.py:684 stock/serializers.py:1388 stock/serializers.py:1644 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:633 +#: stock/serializers.py:691 msgid "Optional note field" msgstr "" -#: stock/serializers.py:643 +#: stock/serializers.py:701 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:698 +#: stock/serializers.py:756 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:705 +#: stock/serializers.py:763 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:706 +#: stock/serializers.py:764 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:711 stock/serializers.py:791 stock/serializers.py:887 -#: stock/serializers.py:937 +#: stock/serializers.py:769 stock/serializers.py:849 stock/serializers.py:945 +#: stock/serializers.py:995 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:719 +#: stock/serializers.py:777 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:727 +#: stock/serializers.py:785 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:738 +#: stock/serializers.py:796 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:751 +#: stock/serializers.py:809 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:786 +#: stock/serializers.py:844 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:821 +#: stock/serializers.py:879 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:834 +#: stock/serializers.py:892 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:851 +#: stock/serializers.py:909 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:882 +#: stock/serializers.py:940 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:919 +#: stock/serializers.py:977 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:925 +#: stock/serializers.py:983 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1021 stock/serializers.py:1093 +#: stock/serializers.py:1079 stock/serializers.py:1156 #: stock/templates/stock/location.html:165 #: stock/templates/stock/location.html:222 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1086 templates/js/translated/stock.js:152 +#: stock/serializers.py:1149 templates/js/translated/stock.js:152 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1194 +#: stock/serializers.py:1260 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1198 +#: stock/serializers.py:1264 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1202 +#: stock/serializers.py:1268 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1226 +#: stock/serializers.py:1292 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1232 +#: stock/serializers.py:1298 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1240 +#: stock/serializers.py:1306 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1250 stock/serializers.py:1504 +#: stock/serializers.py:1316 stock/serializers.py:1570 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1329 +#: stock/serializers.py:1395 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1334 +#: stock/serializers.py:1400 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1335 +#: stock/serializers.py:1401 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1340 +#: stock/serializers.py:1406 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1341 +#: stock/serializers.py:1407 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1351 +#: stock/serializers.py:1417 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1418 +#: stock/serializers.py:1484 msgid "No Change" msgstr "" -#: stock/serializers.py:1447 +#: stock/serializers.py:1513 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1466 +#: stock/serializers.py:1532 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1494 +#: stock/serializers.py:1560 msgid "Stock transaction notes" msgstr "" @@ -9758,10 +10062,6 @@ msgstr "" msgid "Build" msgstr "" -#: stock/templates/stock/item_base.html:193 -msgid "Parent Item" -msgstr "" - #: stock/templates/stock/item_base.html:211 msgid "No manufacturer set" msgstr "" @@ -9837,11 +10137,6 @@ msgstr "" msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:437 -#: templates/js/translated/table_filters.js:435 users/models.py:174 -msgid "Expired" -msgstr "" - #: stock/templates/stock/item_base.html:439 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" @@ -9989,10 +10284,6 @@ msgstr "" msgid "Allocations" msgstr "" -#: stock/templates/stock/stock_sidebar.html:20 -msgid "Child Items" -msgstr "" - #: templates/403.html:6 templates/403.html:12 templates/403_csrf.html:7 msgid "Permission Denied" msgstr "" @@ -10467,8 +10758,8 @@ 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:393 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:245 users/models.py:402 +#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 +#: templates/js/translated/stock.js:245 users/models.py:406 msgid "Delete" msgstr "" @@ -10508,12 +10799,12 @@ msgid "No category parameter templates found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:308 -#: templates/js/translated/part.js:1646 +#: templates/js/translated/part.js:1649 msgid "Edit Template" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:309 -#: templates/js/translated/part.js:1647 +#: templates/js/translated/part.js:1650 msgid "Delete Template" msgstr "" @@ -11146,7 +11437,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2556 +#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2557 msgid "Required Quantity" msgstr "" @@ -11160,7 +11451,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3219 +#: templates/js/translated/part.js:3222 msgid "Minimum Quantity" msgstr "" @@ -11515,7 +11806,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2500 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2501 msgid "Variant stock allowed" msgstr "" @@ -11535,30 +11826,30 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2621 +#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2622 msgid "External stock" msgstr "" -#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2595 +#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2596 #: templates/js/translated/sales_order.js:1946 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2599 +#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2600 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2601 -#: templates/js/translated/part.js:1257 +#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2602 +#: templates/js/translated/part.js:1260 #: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2603 +#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2604 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2586 +#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2587 msgid "Consumable item" msgstr "" @@ -11590,7 +11881,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2485 +#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2486 msgid "Required Part" msgstr "" @@ -11759,10 +12050,6 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:991 templates/js/translated/build.js:2344 -msgid "Allocated Quantity" -msgstr "" - #: templates/js/translated/build.js:1005 msgid "Location not specified" msgstr "" @@ -11874,9 +12161,9 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2117 templates/js/translated/build.js:2479 +#: templates/js/translated/build.js:2117 templates/js/translated/build.js:2480 #: templates/js/translated/forms.js:2163 templates/js/translated/forms.js:2179 -#: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 +#: templates/js/translated/part.js:2319 templates/js/translated/part.js:2745 #: templates/js/translated/stock.js:1983 templates/js/translated/stock.js:2710 msgid "Select" msgstr "" @@ -11907,59 +12194,59 @@ msgstr "" msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2455 +#: templates/js/translated/build.js:2456 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2456 +#: templates/js/translated/build.js:2457 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2474 +#: templates/js/translated/build.js:2475 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2504 templates/js/translated/part.js:791 -#: templates/js/translated/part.js:1203 +#: templates/js/translated/build.js:2505 templates/js/translated/part.js:790 +#: templates/js/translated/part.js:1206 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2539 +#: templates/js/translated/build.js:2540 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2591 +#: templates/js/translated/build.js:2592 #: templates/js/translated/sales_order.js:1951 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2646 +#: templates/js/translated/build.js:2647 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2653 +#: templates/js/translated/build.js:2654 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2654 +#: templates/js/translated/build.js:2655 msgid "Allocate tracked items against individual build outputs" msgstr "" -#: templates/js/translated/build.js:2662 +#: templates/js/translated/build.js:2663 #: templates/js/translated/sales_order.js:2052 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2667 templates/js/translated/stock.js:1868 +#: templates/js/translated/build.js:2668 templates/js/translated/stock.js:1868 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2671 +#: templates/js/translated/build.js:2672 #: templates/js/translated/sales_order.js:2046 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2675 +#: templates/js/translated/build.js:2676 msgid "Remove stock allocation" msgstr "" @@ -12106,7 +12393,7 @@ msgid "Delete Parameters" msgstr "" #: templates/js/translated/company.js:1191 -#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2245 +#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2248 msgid "Order parts" msgstr "" @@ -12123,34 +12410,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:1279 -#: templates/js/translated/company.js:1567 templates/js/translated/part.js:799 -#: templates/js/translated/part.js:1211 +#: templates/js/translated/company.js:1567 templates/js/translated/part.js:798 +#: templates/js/translated/part.js:1214 msgid "Template part" msgstr "" #: templates/js/translated/company.js:1283 -#: templates/js/translated/company.js:1571 templates/js/translated/part.js:803 -#: templates/js/translated/part.js:1215 +#: templates/js/translated/company.js:1571 templates/js/translated/part.js:802 +#: templates/js/translated/part.js:1218 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1465 +#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1468 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1528 +#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1531 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1529 +#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1532 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1434 +#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1437 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1550 +#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1553 msgid "Delete Parameter" msgstr "" @@ -12324,15 +12611,15 @@ msgstr "" msgid "No parts required for builds" msgstr "" -#: templates/js/translated/label.js:55 templates/js/translated/report.js:38 +#: templates/js/translated/label.js:48 templates/js/translated/report.js:38 msgid "Select Items" msgstr "" -#: templates/js/translated/label.js:56 templates/js/translated/report.js:39 +#: templates/js/translated/label.js:49 templates/js/translated/report.js:39 msgid "No items selected for printing" msgstr "" -#: templates/js/translated/label.js:150 +#: templates/js/translated/label.js:143 msgid "Labels sent to printer" msgstr "" @@ -12401,7 +12688,7 @@ msgstr "" #: templates/js/translated/news.js:38 #: templates/js/translated/notification.js:46 -#: templates/js/translated/part.js:1605 +#: templates/js/translated/part.js:1608 msgid "ID" msgstr "" @@ -12482,343 +12769,343 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:333 templates/js/translated/stock.js:175 +#: templates/js/translated/part.js:332 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:353 +#: templates/js/translated/part.js:352 msgid "Create Part Category" msgstr "" -#: templates/js/translated/part.js:356 +#: templates/js/translated/part.js:355 msgid "Create new category after this one" msgstr "" -#: templates/js/translated/part.js:357 +#: templates/js/translated/part.js:356 msgid "Part category created" msgstr "" -#: templates/js/translated/part.js:371 +#: templates/js/translated/part.js:370 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:384 +#: templates/js/translated/part.js:383 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:389 +#: templates/js/translated/part.js:388 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:398 +#: templates/js/translated/part.js:397 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:402 +#: templates/js/translated/part.js:401 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:407 +#: templates/js/translated/part.js:406 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:431 +#: templates/js/translated/part.js:430 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:433 +#: templates/js/translated/part.js:432 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:434 +#: templates/js/translated/part.js:433 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:462 +#: templates/js/translated/part.js:461 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:464 +#: templates/js/translated/part.js:463 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:475 +#: templates/js/translated/part.js:474 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:532 +#: templates/js/translated/part.js:531 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:533 +#: templates/js/translated/part.js:532 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:547 +#: templates/js/translated/part.js:546 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:549 +#: templates/js/translated/part.js:548 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:550 +#: templates/js/translated/part.js:549 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:551 +#: templates/js/translated/part.js:550 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:558 +#: templates/js/translated/part.js:557 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:594 +#: templates/js/translated/part.js:593 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:596 +#: templates/js/translated/part.js:595 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:601 +#: templates/js/translated/part.js:600 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:603 +#: templates/js/translated/part.js:602 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:620 +#: templates/js/translated/part.js:619 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:630 +#: templates/js/translated/part.js:629 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:633 +#: templates/js/translated/part.js:632 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:658 +#: templates/js/translated/part.js:657 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:686 -#: templates/js/translated/table_filters.js:747 +#: templates/js/translated/part.js:685 +#: templates/js/translated/table_filters.js:752 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:689 +#: templates/js/translated/part.js:688 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:749 +#: templates/js/translated/part.js:748 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:772 +#: templates/js/translated/part.js:771 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:795 templates/js/translated/part.js:1207 +#: templates/js/translated/part.js:794 templates/js/translated/part.js:1210 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:807 +#: templates/js/translated/part.js:806 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:811 +#: templates/js/translated/part.js:810 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:890 +#: templates/js/translated/part.js:893 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:890 +#: templates/js/translated/part.js:893 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:898 +#: templates/js/translated/part.js:901 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:902 +#: templates/js/translated/part.js:905 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:1051 +#: templates/js/translated/part.js:1054 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1109 templates/js/translated/part.js:1145 +#: templates/js/translated/part.js:1112 templates/js/translated/part.js:1148 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1113 templates/js/translated/part.js:1155 +#: templates/js/translated/part.js:1116 templates/js/translated/part.js:1158 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1282 +#: templates/js/translated/part.js:1285 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1600 +#: templates/js/translated/part.js:1603 msgid "No part parameter templates found" msgstr "" -#: templates/js/translated/part.js:1663 +#: templates/js/translated/part.js:1666 msgid "Edit Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1675 +#: templates/js/translated/part.js:1678 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/js/translated/part.js:1683 +#: templates/js/translated/part.js:1686 msgid "Delete Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1717 +#: templates/js/translated/part.js:1720 #: templates/js/translated/purchase_order.js:1654 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/part.js:1861 +#: templates/js/translated/part.js:1864 #: 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:1907 +#: templates/js/translated/part.js:1910 #: templates/js/translated/purchase_order.js:2220 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1970 +#: templates/js/translated/part.js:1973 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1992 +#: templates/js/translated/part.js:1995 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2080 templates/js/translated/part.js:2506 +#: templates/js/translated/part.js:2083 templates/js/translated/part.js:2509 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:2201 +#: templates/js/translated/part.js:2204 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2206 +#: templates/js/translated/part.js:2209 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2236 +#: templates/js/translated/part.js:2239 msgid "Set category" msgstr "" -#: templates/js/translated/part.js:2287 +#: templates/js/translated/part.js:2290 msgid "part" msgstr "" -#: templates/js/translated/part.js:2288 +#: templates/js/translated/part.js:2291 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2384 +#: templates/js/translated/part.js:2387 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 +#: templates/js/translated/part.js:2534 templates/js/translated/part.js:2664 #: templates/js/translated/stock.js:2669 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2547 +#: templates/js/translated/part.js:2550 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2645 +#: templates/js/translated/part.js:2648 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2689 +#: templates/js/translated/part.js:2684 templates/js/translated/stock.js:2689 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2761 +#: templates/js/translated/part.js:2764 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2777 +#: templates/js/translated/part.js:2780 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2865 +#: templates/js/translated/part.js:2868 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2887 templates/js/translated/search.js:342 +#: templates/js/translated/part.js:2890 templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/part.js:2937 templates/js/translated/stock.js:1456 +#: templates/js/translated/part.js:2940 templates/js/translated/stock.js:1456 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2938 templates/js/translated/stock.js:1457 +#: templates/js/translated/part.js:2941 templates/js/translated/stock.js:1457 #: templates/js/translated/stock.js:1731 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2942 +#: templates/js/translated/part.js:2945 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2958 +#: templates/js/translated/part.js:2961 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2972 +#: templates/js/translated/part.js:2975 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3051 templates/js/translated/part.js:3052 +#: templates/js/translated/part.js:3054 templates/js/translated/part.js:3055 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3054 +#: templates/js/translated/part.js:3057 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3060 +#: templates/js/translated/part.js:3063 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3110 +#: templates/js/translated/part.js:3113 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3116 +#: templates/js/translated/part.js:3119 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3212 +#: templates/js/translated/part.js:3215 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3228 +#: templates/js/translated/part.js:3231 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3273 +#: templates/js/translated/part.js:3276 msgid "Minimum Stock Level" msgstr "" @@ -13594,7 +13881,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1042 users/models.py:392 +#: templates/js/translated/stock.js:1042 users/models.py:396 msgid "Add" msgstr "" @@ -13948,7 +14235,7 @@ msgid "Include subcategories" msgstr "" #: templates/js/translated/table_filters.js:287 -#: templates/js/translated/table_filters.js:759 +#: templates/js/translated/table_filters.js:764 msgid "Subscribed" msgstr "" @@ -14103,40 +14390,44 @@ msgstr "" msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:725 +#: templates/js/translated/table_filters.js:722 +msgid "Show locked parts" +msgstr "" + +#: templates/js/translated/table_filters.js:730 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:733 -#: templates/js/translated/table_filters.js:833 +#: templates/js/translated/table_filters.js:738 +#: templates/js/translated/table_filters.js:838 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:734 +#: templates/js/translated/table_filters.js:739 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:738 +#: templates/js/translated/table_filters.js:743 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:739 +#: templates/js/translated/table_filters.js:744 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:743 +#: templates/js/translated/table_filters.js:748 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:751 +#: templates/js/translated/table_filters.js:756 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:763 +#: templates/js/translated/table_filters.js:768 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:829 +#: templates/js/translated/table_filters.js:834 msgid "Has Choices" msgstr "" @@ -14208,10 +14499,6 @@ msgstr "" msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:558 -msgid "Columns" -msgstr "" - #: templates/js/translated/tables.js:561 msgid "All" msgstr "" @@ -14485,34 +14772,34 @@ msgstr "" msgid "Revoked" msgstr "" -#: users/models.py:375 +#: users/models.py:379 msgid "Permission set" msgstr "" -#: users/models.py:384 +#: users/models.py:388 msgid "Group" msgstr "" -#: users/models.py:388 +#: users/models.py:392 msgid "View" msgstr "" -#: users/models.py:388 +#: users/models.py:392 msgid "Permission to view items" msgstr "" -#: users/models.py:392 +#: users/models.py:396 msgid "Permission to add items" msgstr "" -#: users/models.py:396 +#: users/models.py:400 msgid "Change" msgstr "" -#: users/models.py:398 +#: users/models.py:402 msgid "Permissions to edit items" msgstr "" -#: users/models.py:404 +#: users/models.py:408 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 281212c7f17c..191d906209dd 100644 --- a/src/backend/InvenTree/locale/fa/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/fa/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-07-05 02:47+0000\n" +"POT-Creation-Date: 2024-07-08 14:46+0000\n" "PO-Revision-Date: 2024-07-05 14:58\n" "Last-Translator: \n" "Language-Team: Persian\n" @@ -21,7 +21,7 @@ msgstr "" msgid "API endpoint not found" msgstr "Address e API peida nashod" -#: InvenTree/api.py:520 +#: InvenTree/api.py:505 msgid "User does not have permission to view this model" msgstr "کاربر سطح دسترسی نمایش این مدل را ندارد" @@ -56,21 +56,21 @@ msgstr "جزئیات خطا را می توان در پنل مدیریت پیدا msgid "Enter date" msgstr "تاریخ را وارد کنید" -#: InvenTree/fields.py:205 InvenTree/models.py:918 build/serializers.py:452 -#: build/serializers.py:530 build/templates/build/sidebar.html:21 -#: company/models.py:817 company/templates/company/sidebar.html:37 +#: InvenTree/fields.py:205 InvenTree/models.py:921 build/serializers.py:456 +#: build/serializers.py:534 build/templates/build/sidebar.html:21 +#: company/models.py:824 company/templates/company/sidebar.html:37 #: order/models.py:1296 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:3183 part/templates/part/part_sidebar.html:63 +#: part/models.py:3193 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:230 stock/models.py:2344 stock/models.py:2466 -#: stock/serializers.py:632 stock/serializers.py:790 stock/serializers.py:886 -#: stock/serializers.py:936 stock/serializers.py:1239 stock/serializers.py:1328 -#: stock/serializers.py:1493 stock/templates/stock/stock_sidebar.html:25 +#: stock/admin.py:230 stock/models.py:2349 stock/models.py:2476 +#: stock/serializers.py:690 stock/serializers.py:848 stock/serializers.py:944 +#: stock/serializers.py:994 stock/serializers.py:1305 stock/serializers.py:1394 +#: stock/serializers.py:1559 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:1081 +#: templates/js/translated/part.js:1084 #: templates/js/translated/purchase_order.js:2200 #: templates/js/translated/return_order.js:775 #: templates/js/translated/sales_order.js:1103 @@ -371,41 +371,41 @@ msgstr "" msgid "JSON metadata field, for use by external plugins" msgstr "" -#: InvenTree/models.py:408 +#: InvenTree/models.py:411 msgid "Improperly formatted pattern" msgstr "" -#: InvenTree/models.py:415 +#: InvenTree/models.py:418 msgid "Unknown format key specified" msgstr "" -#: InvenTree/models.py:421 +#: InvenTree/models.py:424 msgid "Missing required format key" msgstr "" -#: InvenTree/models.py:432 +#: InvenTree/models.py:435 msgid "Reference field cannot be empty" msgstr "" -#: InvenTree/models.py:440 +#: InvenTree/models.py:443 msgid "Reference must match required pattern" msgstr "" -#: InvenTree/models.py:471 +#: InvenTree/models.py:474 msgid "Reference number is too large" msgstr "" -#: InvenTree/models.py:719 +#: InvenTree/models.py:722 msgid "Duplicate names cannot exist under the same parent" msgstr "" -#: InvenTree/models.py:736 +#: InvenTree/models.py:739 msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:766 common/models.py:2678 common/models.py:3103 -#: common/serializers.py:408 company/models.py:580 machine/models.py:24 -#: part/models.py:891 part/models.py:3639 plugin/models.py:51 +#: InvenTree/models.py:769 common/models.py:2659 common/models.py:3089 +#: common/serializers.py:412 company/models.py:587 machine/models.py:24 +#: part/models.py:895 part/models.py:3660 plugin/models.py:51 #: report/models.py:150 stock/models.py:74 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -417,20 +417,20 @@ msgstr "" #: templates/js/translated/company.js:724 #: templates/js/translated/company.js:913 #: templates/js/translated/company.js:1165 -#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1187 -#: templates/js/translated/part.js:1475 templates/js/translated/part.js:1611 -#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2716 +#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1190 +#: templates/js/translated/part.js:1478 templates/js/translated/part.js:1614 +#: templates/js/translated/part.js:2752 templates/js/translated/stock.js:2716 msgid "Name" msgstr "" -#: InvenTree/models.py:772 build/models.py:235 -#: build/templates/build/detail.html:24 common/models.py:138 -#: company/models.py:509 company/models.py:808 +#: InvenTree/models.py:775 build/models.py:242 +#: build/templates/build/detail.html:24 common/models.py:143 +#: company/models.py:515 company/models.py:815 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 -#: order/models.py:1329 part/admin.py:305 part/admin.py:408 part/models.py:914 -#: part/models.py:3654 part/templates/part/category.html:82 +#: order/models.py:1329 part/admin.py:305 part/admin.py:408 part/models.py:918 +#: part/models.py:3675 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:156 #: report/models.py:510 report/models.py:536 @@ -444,10 +444,10 @@ msgstr "" #: templates/js/translated/build.js:2139 templates/js/translated/company.js:519 #: templates/js/translated/company.js:1330 #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 -#: templates/js/translated/order.js:298 templates/js/translated/part.js:1239 -#: templates/js/translated/part.js:1484 templates/js/translated/part.js:1622 -#: templates/js/translated/part.js:1959 templates/js/translated/part.js:2355 -#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2897 +#: templates/js/translated/order.js:298 templates/js/translated/part.js:1242 +#: templates/js/translated/part.js:1487 templates/js/translated/part.js:1625 +#: templates/js/translated/part.js:1962 templates/js/translated/part.js:2358 +#: templates/js/translated/part.js:2788 templates/js/translated/part.js:2900 #: templates/js/translated/plugin.js:80 #: templates/js/translated/purchase_order.js:1706 #: templates/js/translated/purchase_order.js:1849 @@ -460,53 +460,53 @@ msgstr "" msgid "Description" msgstr "" -#: InvenTree/models.py:773 stock/models.py:81 +#: InvenTree/models.py:776 stock/models.py:81 msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:788 templates/js/translated/part.js:2794 +#: InvenTree/models.py:791 templates/js/translated/part.js:2797 #: templates/js/translated/stock.js:2757 msgid "Path" msgstr "" -#: InvenTree/models.py:918 +#: InvenTree/models.py:921 msgid "Markdown notes (optional)" msgstr "" -#: InvenTree/models.py:947 +#: InvenTree/models.py:950 msgid "Barcode Data" msgstr "" -#: InvenTree/models.py:948 +#: InvenTree/models.py:951 msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:954 +#: InvenTree/models.py:957 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:955 +#: InvenTree/models.py:958 msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:1008 +#: InvenTree/models.py:1011 msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:1051 +#: InvenTree/models.py:1054 msgid "Server Error" msgstr "" -#: InvenTree/models.py:1052 +#: InvenTree/models.py:1055 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:63 part/models.py:4192 +#: InvenTree/serializers.py:63 part/models.py:4277 msgid "Must be a valid number" msgstr "" #: InvenTree/serializers.py:100 company/models.py:186 -#: company/templates/company/company_base.html:112 part/models.py:3001 +#: company/templates/company/company_base.html:112 part/models.py:3011 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -556,16 +556,16 @@ msgstr "" msgid "Is this user a superuser" msgstr "" -#: InvenTree/serializers.py:445 common/models.py:2683 company/models.py:163 -#: company/models.py:782 machine/models.py:39 part/admin.py:88 -#: part/models.py:1081 plugin/models.py:66 +#: InvenTree/serializers.py:445 common/models.py:2664 company/models.py:163 +#: company/models.py:789 machine/models.py:39 part/admin.py:88 +#: part/models.py:1085 plugin/models.py:66 #: 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 #: templates/js/translated/table_filters.js:520 #: templates/js/translated/table_filters.js:716 -#: templates/js/translated/table_filters.js:796 users/models.py:182 +#: templates/js/translated/table_filters.js:801 users/models.py:182 msgid "Active" msgstr "" @@ -597,7 +597,7 @@ msgstr "" msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:581 +#: InvenTree/serializers.py:581 importer/models.py:60 msgid "Data File" msgstr "فایل‌های داده" @@ -651,7 +651,7 @@ msgstr "آدرس فایل تصویری از راه دور" msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/status.py:66 part/serializers.py:1174 +#: InvenTree/status.py:66 part/serializers.py:1202 msgid "Background worker check failed" msgstr "" @@ -711,47 +711,48 @@ msgstr "" msgid "About InvenTree" msgstr "" -#: build/api.py:255 +#: build/api.py:248 msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:299 part/models.py:4070 templates/js/translated/bom.js:997 -#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 +#: build/api.py:292 build/serializers.py:1190 part/models.py:4155 +#: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 +#: templates/js/translated/build.js:2521 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:300 part/models.py:4064 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 +#: build/api.py:293 build/serializers.py:1191 part/models.py:4149 +#: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 +#: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2530 #: templates/js/translated/table_filters.js:186 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:587 msgid "Optional" msgstr "" -#: build/api.py:301 templates/js/translated/table_filters.js:408 +#: build/api.py:294 templates/js/translated/table_filters.js:408 #: templates/js/translated/table_filters.js:579 msgid "Tracked" msgstr "" -#: build/api.py:303 part/admin.py:144 templates/js/translated/build.js:1744 -#: templates/js/translated/build.js:2629 +#: build/api.py:296 part/admin.py:144 templates/js/translated/build.js:1744 +#: templates/js/translated/build.js:2630 #: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:571 msgid "Allocated" msgstr "" -#: build/api.py:311 company/models.py:872 company/serializers.py:359 +#: build/api.py:304 company/models.py:879 company/serializers.py:386 #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2561 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2562 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:234 -#: templates/js/translated/part.js:693 templates/js/translated/part.js:695 -#: templates/js/translated/part.js:700 +#: 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 #: templates/js/translated/table_filters.js:575 msgid "Available" @@ -760,7 +761,7 @@ msgstr "" #: build/models.py:85 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 -#: stock/serializers.py:82 templates/email/build_order_completed.html:16 +#: stock/serializers.py:84 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:2892 msgid "Build Order" @@ -781,35 +782,39 @@ msgstr "" msgid "Assembly BOM has not been validated" msgstr "" -#: build/models.py:134 part/templates/part/part_base.html:145 -msgid "Part is not active" +#: build/models.py:134 +msgid "Build order cannot be created for an inactive part" +msgstr "" + +#: build/models.py:141 +msgid "Build order cannot be created for an unlocked part" msgstr "" -#: build/models.py:148 +#: build/models.py:155 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:159 order/models.py:240 +#: build/models.py:166 order/models.py:240 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:165 +#: build/models.py:172 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:226 +#: build/models.py:233 msgid "Build Order Reference" msgstr "" -#: build/models.py:227 order/models.py:463 order/models.py:926 -#: order/models.py:1289 order/models.py:2020 part/admin.py:411 -#: part/models.py:4085 part/templates/part/upload_bom.html:54 +#: build/models.py:234 build/serializers.py:1189 order/models.py:463 +#: order/models.py:926 order/models.py:1289 order/models.py:2046 +#: part/admin.py:411 part/models.py:4170 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: 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/build.js:2513 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2065 #: templates/js/translated/return_order.js:728 @@ -817,27 +822,28 @@ msgstr "" msgid "Reference" msgstr "" -#: build/models.py:238 +#: build/models.py:245 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:246 build/templates/build/build_base.html:183 +#: build/models.py:253 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/models.py:247 +#: build/models.py:254 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:252 build/templates/build/build_base.html:97 -#: build/templates/build/detail.html:29 company/models.py:1026 order/api.py:805 -#: order/models.py:1414 order/models.py:1559 order/models.py:1560 -#: part/api.py:1494 part/api.py:1788 part/models.py:395 part/models.py:3012 -#: part/models.py:3156 part/models.py:3303 part/models.py:3324 -#: part/models.py:3346 part/models.py:3477 part/models.py:3787 -#: part/models.py:3943 part/models.py:4036 part/models.py:4395 -#: part/serializers.py:1120 part/serializers.py:1726 +#: build/models.py:259 build/serializers.py:1184 +#: build/templates/build/build_base.html:97 +#: build/templates/build/detail.html:29 company/models.py:1034 order/api.py:759 +#: order/models.py:1419 order/models.py:1574 order/models.py:1575 +#: part/api.py:1480 part/api.py:1776 part/models.py:396 part/models.py:3022 +#: part/models.py:3166 part/models.py:3314 part/models.py:3335 +#: part/models.py:3357 part/models.py:3493 part/models.py:3827 +#: part/models.py:3990 part/models.py:4121 part/models.py:4480 +#: part/serializers.py:1148 part/serializers.py:1758 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -848,8 +854,8 @@ msgstr "" #: 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:109 stock/serializers.py:157 stock/serializers.py:423 -#: stock/serializers.py:820 templates/InvenTree/search.html:82 +#: stock/serializers.py:111 stock/serializers.py:159 stock/serializers.py:443 +#: stock/serializers.py:878 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 @@ -862,8 +868,8 @@ msgstr "" #: templates/js/translated/company.js:1116 #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 -#: templates/js/translated/part.js:1944 templates/js/translated/part.js:2016 -#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:1947 templates/js/translated/part.js:2019 +#: templates/js/translated/part.js:2327 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:1848 @@ -881,107 +887,107 @@ msgstr "" msgid "Part" msgstr "" -#: build/models.py:260 +#: build/models.py:267 msgid "Select part to build" msgstr "" -#: build/models.py:265 +#: build/models.py:272 msgid "Sales Order Reference" msgstr "مرجع سفارش فروش" -#: build/models.py:269 +#: build/models.py:276 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:274 build/serializers.py:999 +#: build/models.py:281 build/serializers.py:1003 #: templates/js/translated/build.js:1731 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "منبع محل" -#: build/models.py:278 +#: build/models.py:285 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:283 +#: build/models.py:290 msgid "Destination Location" msgstr "مقصد" -#: build/models.py:287 +#: build/models.py:294 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:291 +#: build/models.py:298 msgid "Build Quantity" msgstr "" -#: build/models.py:294 +#: build/models.py:301 msgid "Number of stock items to build" msgstr "" -#: build/models.py:298 +#: build/models.py:305 msgid "Completed items" msgstr "" -#: build/models.py:300 +#: build/models.py:307 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:304 +#: build/models.py:311 msgid "Build Status" msgstr "" -#: build/models.py:308 +#: build/models.py:315 msgid "Build status code" msgstr "" -#: build/models.py:317 build/serializers.py:286 order/serializers.py:580 -#: stock/models.py:839 stock/serializers.py:74 stock/serializers.py:1458 +#: build/models.py:324 build/serializers.py:290 order/serializers.py:629 +#: stock/models.py:839 stock/serializers.py:76 stock/serializers.py:1524 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "" -#: build/models.py:321 build/serializers.py:287 +#: build/models.py:328 build/serializers.py:291 msgid "Batch code for this build output" msgstr "" -#: build/models.py:324 order/models.py:316 order/serializers.py:119 -#: part/models.py:1115 part/templates/part/part_base.html:310 +#: build/models.py:331 order/models.py:316 order/serializers.py:127 +#: part/models.py:1125 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:328 +#: build/models.py:335 msgid "Target completion date" msgstr "" -#: build/models.py:329 +#: build/models.py:336 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:332 order/models.py:521 order/models.py:2065 +#: build/models.py:339 order/models.py:521 order/models.py:2091 #: templates/js/translated/build.js:2247 msgid "Completion Date" msgstr "" -#: build/models.py:338 +#: build/models.py:345 msgid "completed by" msgstr "" -#: build/models.py:346 templates/js/translated/build.js:2207 +#: build/models.py:353 templates/js/translated/build.js:2207 msgid "Issued by" msgstr "" -#: build/models.py:347 +#: build/models.py:354 msgid "User who issued this build order" msgstr "" -#: build/models.py:355 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 common/models.py:147 +#: build/models.py:362 build/templates/build/build_base.html:204 +#: build/templates/build/detail.html:122 common/models.py:152 #: order/models.py:334 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:232 part/models.py:1132 +#: order/templates/order/sales_order_base.html:232 part/models.py:1142 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 @@ -992,11 +998,11 @@ msgstr "" msgid "Responsible" msgstr "" -#: build/models.py:356 +#: build/models.py:363 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:361 build/templates/build/detail.html:108 +#: build/models.py:368 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 @@ -1008,21 +1014,22 @@ msgstr "" msgid "External Link" msgstr "" -#: build/models.py:362 common/models.py:3244 part/models.py:956 +#: build/models.py:369 common/models.py:3230 part/models.py:960 #: stock/models.py:835 msgid "Link to external URL" msgstr "" -#: build/models.py:366 +#: build/models.py:373 msgid "Build Priority" msgstr "" -#: build/models.py:369 +#: build/models.py:376 msgid "Priority of this build order" msgstr "" -#: build/models.py:376 common/models.py:131 order/admin.py:18 -#: order/models.py:298 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:383 common/models.py:122 common/models.py:136 +#: order/admin.py:18 order/models.py:298 order/serializers.py:108 +#: templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 #: templates/js/translated/purchase_order.js:1710 #: templates/js/translated/return_order.js:317 @@ -1032,65 +1039,66 @@ msgstr "" msgid "Project Code" msgstr "" -#: build/models.py:377 +#: build/models.py:384 msgid "Project code for this build order" msgstr "" -#: build/models.py:610 build/models.py:675 +#: build/models.py:617 build/models.py:682 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:632 +#: build/models.py:639 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:638 +#: build/models.py:645 msgid "A build order has been completed" msgstr "" -#: build/models.py:864 build/models.py:949 +#: build/models.py:871 build/models.py:956 msgid "No build output specified" msgstr "" -#: build/models.py:867 +#: build/models.py:874 msgid "Build output is already completed" msgstr "" -#: build/models.py:870 +#: build/models.py:877 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:953 build/serializers.py:219 build/serializers.py:268 -#: build/serializers.py:866 order/models.py:559 order/serializers.py:432 -#: order/serializers.py:575 part/serializers.py:1484 part/serializers.py:1884 -#: stock/models.py:678 stock/models.py:1496 stock/serializers.py:603 +#: build/models.py:960 build/serializers.py:223 build/serializers.py:272 +#: build/serializers.py:870 order/models.py:559 order/serializers.py:461 +#: order/serializers.py:624 part/serializers.py:1515 part/serializers.py:1921 +#: stock/models.py:678 stock/models.py:1496 stock/serializers.py:661 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:958 build/serializers.py:224 +#: build/models.py:965 build/serializers.py:228 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1018 build/serializers.py:547 +#: build/models.py:1025 build/serializers.py:551 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1359 +#: build/models.py:1366 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1384 +#: build/models.py:1391 msgid "Build object" msgstr "" -#: build/models.py:1398 build/models.py:1654 build/serializers.py:206 -#: build/serializers.py:253 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2563 -#: order/models.py:1272 order/models.py:1931 order/serializers.py:1327 +#: build/models.py:1405 build/models.py:1661 build/serializers.py:210 +#: build/serializers.py:257 build/serializers.py:1194 +#: build/templates/build/build_base.html:102 +#: build/templates/build/detail.html:34 common/models.py:2544 +#: order/models.py:1272 order/models.py:1957 order/serializers.py:1383 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:410 -#: part/forms.py:48 part/models.py:3170 part/models.py:4058 +#: part/forms.py:48 part/models.py:3180 part/models.py:4143 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1100,7 +1108,7 @@ msgstr "" #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:169 stock/admin.py:159 -#: stock/serializers.py:125 stock/serializers.py:165 stock/serializers.py:594 +#: stock/serializers.py:127 stock/serializers.py:167 stock/serializers.py:652 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 @@ -1111,8 +1119,8 @@ msgstr "" #: templates/js/translated/build.js:1746 templates/js/translated/build.js:2357 #: templates/js/translated/company.js:1818 #: templates/js/translated/model_renderers.js:236 -#: templates/js/translated/order.js:304 templates/js/translated/part.js:962 -#: templates/js/translated/part.js:1812 templates/js/translated/part.js:3342 +#: templates/js/translated/order.js:304 templates/js/translated/part.js:965 +#: templates/js/translated/part.js:1815 templates/js/translated/part.js:3345 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 @@ -1132,38 +1140,38 @@ msgstr "" msgid "Quantity" msgstr "" -#: build/models.py:1399 +#: build/models.py:1406 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1479 +#: build/models.py:1486 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1488 +#: build/models.py:1495 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1498 order/models.py:1882 +#: build/models.py:1505 order/models.py:1908 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1504 order/models.py:1885 +#: build/models.py:1511 order/models.py:1911 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1510 +#: build/models.py:1517 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1569 +#: build/models.py:1576 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1641 build/serializers.py:846 order/serializers.py:1171 -#: order/serializers.py:1192 stock/models.py:359 stock/serializers.py:91 -#: stock/serializers.py:697 stock/serializers.py:1177 stock/serializers.py:1289 +#: build/models.py:1648 build/serializers.py:850 order/serializers.py:1227 +#: order/serializers.py:1248 stock/models.py:359 stock/serializers.py:93 +#: stock/serializers.py:755 stock/serializers.py:1243 stock/serializers.py:1355 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 @@ -1179,70 +1187,76 @@ msgstr "" msgid "Stock Item" msgstr "" -#: build/models.py:1642 +#: build/models.py:1649 msgid "Source stock item" msgstr "" -#: build/models.py:1655 +#: build/models.py:1662 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1663 +#: build/models.py:1670 msgid "Install into" msgstr "" -#: build/models.py:1664 +#: build/models.py:1671 msgid "Destination stock item" msgstr "" -#: build/serializers.py:156 build/serializers.py:875 +#: build/serializers.py:89 build/serializers.py:1185 part/admin.py:41 +#: part/admin.py:405 part/models.py:3992 part/stocktake.py:220 +#: stock/admin.py:156 +msgid "Part Name" +msgstr "" + +#: build/serializers.py:160 build/serializers.py:879 #: templates/js/translated/build.js:1322 msgid "Build Output" msgstr "" -#: build/serializers.py:168 +#: build/serializers.py:172 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:172 +#: build/serializers.py:176 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:176 +#: build/serializers.py:180 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:187 +#: build/serializers.py:191 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:207 build/serializers.py:254 +#: build/serializers.py:211 build/serializers.py:258 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:275 +#: build/serializers.py:279 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:278 +#: build/serializers.py:282 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:293 order/serializers.py:588 order/serializers.py:1331 -#: stock/serializers.py:614 templates/js/translated/purchase_order.js:1153 +#: build/serializers.py:297 order/serializers.py:637 order/serializers.py:1387 +#: stock/serializers.py:672 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:294 +#: build/serializers.py:298 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:299 build/serializers.py:440 build/serializers.py:512 -#: order/serializers.py:564 order/serializers.py:672 order/serializers.py:1656 -#: part/serializers.py:1140 stock/serializers.py:100 stock/serializers.py:625 -#: stock/serializers.py:785 stock/serializers.py:881 stock/serializers.py:1321 -#: stock/serializers.py:1577 stock/templates/stock/item_base.html:394 +#: build/serializers.py:303 build/serializers.py:444 build/serializers.py:516 +#: order/serializers.py:613 order/serializers.py:721 order/serializers.py:1714 +#: part/serializers.py:1168 stock/serializers.py:102 stock/serializers.py:683 +#: stock/serializers.py:843 stock/serializers.py:939 stock/serializers.py:1387 +#: stock/serializers.py:1643 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 @@ -1258,54 +1272,54 @@ msgstr "" msgid "Location" msgstr "" -#: build/serializers.py:300 +#: build/serializers.py:304 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:314 +#: build/serializers.py:318 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:315 +#: build/serializers.py:319 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:330 +#: build/serializers.py:334 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:355 stock/api.py:1041 +#: build/serializers.py:359 stock/api.py:1033 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:402 build/serializers.py:464 build/serializers.py:553 +#: build/serializers.py:406 build/serializers.py:468 build/serializers.py:557 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:441 +#: build/serializers.py:445 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:447 +#: build/serializers.py:451 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:448 +#: build/serializers.py:452 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:453 +#: build/serializers.py:457 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:513 +#: build/serializers.py:517 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:519 build/templates/build/build_base.html:151 +#: build/serializers.py:523 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:950 -#: order/models.py:2044 order/serializers.py:596 stock/admin.py:164 -#: stock/serializers.py:932 stock/serializers.py:1465 +#: order/models.py:2070 order/serializers.py:645 stock/admin.py:164 +#: stock/serializers.py:990 stock/serializers.py:1531 #: 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 @@ -1317,193 +1331,245 @@ msgstr "" msgid "Status" msgstr "" -#: build/serializers.py:525 +#: build/serializers.py:529 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:526 +#: build/serializers.py:530 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:611 +#: build/serializers.py:615 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:612 +#: build/serializers.py:616 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:618 +#: build/serializers.py:622 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:619 +#: build/serializers.py:623 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:646 +#: build/serializers.py:650 msgid "Not permitted" msgstr "" -#: build/serializers.py:647 +#: build/serializers.py:651 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:648 +#: build/serializers.py:652 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:678 +#: build/serializers.py:682 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:680 +#: build/serializers.py:684 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:690 +#: build/serializers.py:694 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:695 +#: build/serializers.py:699 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:696 +#: build/serializers.py:700 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:706 templates/js/translated/build.js:315 +#: build/serializers.py:710 templates/js/translated/build.js:315 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:711 order/serializers.py:300 order/serializers.py:1234 +#: build/serializers.py:715 order/serializers.py:319 order/serializers.py:1290 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:712 +#: build/serializers.py:716 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:722 templates/js/translated/build.js:319 +#: build/serializers.py:726 templates/js/translated/build.js:319 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:731 templates/js/translated/build.js:303 +#: build/serializers.py:735 templates/js/translated/build.js:303 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:769 +#: build/serializers.py:773 msgid "Build Line" msgstr "" -#: build/serializers.py:779 +#: build/serializers.py:783 msgid "Build output" msgstr "" -#: build/serializers.py:787 +#: build/serializers.py:791 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:823 +#: build/serializers.py:827 msgid "Build Line Item" msgstr "" -#: build/serializers.py:837 +#: build/serializers.py:841 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:852 stock/serializers.py:1190 +#: build/serializers.py:856 stock/serializers.py:1256 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:900 order/serializers.py:1225 +#: build/serializers.py:904 order/serializers.py:1281 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:906 +#: build/serializers.py:910 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:913 +#: build/serializers.py:917 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:937 order/serializers.py:1477 +#: build/serializers.py:941 order/serializers.py:1533 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:1000 +#: build/serializers.py:1004 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:1008 +#: build/serializers.py:1012 msgid "Exclude Location" msgstr "" -#: build/serializers.py:1009 +#: build/serializers.py:1013 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:1014 +#: build/serializers.py:1018 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:1015 +#: build/serializers.py:1019 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:1020 +#: build/serializers.py:1024 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:1021 +#: build/serializers.py:1025 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:1026 +#: build/serializers.py:1030 msgid "Optional Items" msgstr "" -#: build/serializers.py:1027 +#: build/serializers.py:1031 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1049 +#: build/serializers.py:1053 msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1139 part/models.py:3953 part/models.py:4387 -#: stock/api.py:804 +#: build/serializers.py:1095 +msgid "Supplier Part Number" +msgstr "" + +#: build/serializers.py:1096 company/models.py:500 +msgid "Manufacturer Part Number" +msgstr "" + +#: build/serializers.py:1097 stock/admin.py:53 stock/admin.py:175 +#: stock/serializers.py:454 +msgid "Location Name" +msgstr "" + +#: build/serializers.py:1098 +#, fuzzy +#| msgid "Sales Order Reference" +msgid "Build Reference" +msgstr "مرجع سفارش فروش" + +#: build/serializers.py:1099 +#, fuzzy +#| msgid "Sales Order Reference" +msgid "BOM Reference" +msgstr "مرجع سفارش فروش" + +#: build/serializers.py:1186 part/admin.py:402 part/models.py:3993 +msgid "Part IPN" +msgstr "" + +#: build/serializers.py:1192 common/models.py:1488 part/admin.py:113 +#: part/models.py:1068 templates/js/translated/table_filters.js:147 +#: templates/js/translated/table_filters.js:223 +#: templates/js/translated/table_filters.js:776 +msgid "Trackable" +msgstr "" + +#: build/serializers.py:1196 part/models.py:4000 part/models.py:4472 +#: stock/api.py:796 msgid "BOM Item" msgstr "" -#: build/serializers.py:1148 templates/js/translated/index.js:130 +#: build/serializers.py:1205 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1153 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:828 part/serializers.py:1502 +#: build/serializers.py:1210 part/admin.py:132 part/bom.py:173 +#: part/serializers.py:856 part/serializers.py:1533 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2613 templates/js/translated/part.js:710 -#: templates/js/translated/part.js:2149 +#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709 +#: templates/js/translated/part.js:2152 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "" -#: build/serializers.py:1158 part/serializers.py:1504 -#: templates/js/translated/build.js:2617 +#: build/serializers.py:1215 part/serializers.py:1535 +#: templates/js/translated/build.js:2618 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1163 part/bom.py:172 part/serializers.py:1527 +#: build/serializers.py:1220 part/bom.py:172 part/serializers.py:1558 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" msgstr "" +#: build/serializers.py:1224 +msgid "Available Substitute Stock" +msgstr "" + +#: build/serializers.py:1225 +msgid "Available Variant Stock" +msgstr "" + +#: build/serializers.py:1226 +msgid "Total Available Stock" +msgstr "" + +#: build/serializers.py:1227 part/serializers.py:862 +msgid "External Stock" +msgstr "" + #: build/status_codes.py:11 generic/states/tests.py:17 order/status_codes.py:12 #: order/status_codes.py:37 order/status_codes.py:64 order/status_codes.py:82 #: templates/js/translated/table_filters.js:598 @@ -1519,7 +1585,8 @@ msgstr "" msgid "Cancelled" msgstr "" -#: build/status_codes.py:14 generic/states/tests.py:19 order/status_codes.py:14 +#: build/status_codes.py:14 generic/states/tests.py:19 importer/models.py:468 +#: importer/status_codes.py:19 order/status_codes.py:14 #: order/status_codes.py:44 order/status_codes.py:69 #: order/templates/order/order_base.html:158 #: order/templates/order/sales_order_base.html:165 report/models.py:444 @@ -1652,11 +1719,12 @@ msgstr "" #: build/templates/build/build_base.html:160 #: build/templates/build/detail.html:138 order/models.py:309 -#: order/models.py:1307 order/templates/order/order_base.html:186 +#: order/models.py:1307 order/serializers.py:174 +#: order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: 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:1831 +#: templates/js/translated/build.js:2239 templates/js/translated/part.js:1834 #: templates/js/translated/purchase_order.js:1739 #: templates/js/translated/purchase_order.js:2147 #: templates/js/translated/return_order.js:346 @@ -1689,8 +1757,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1463 order/models.py:845 -#: order/models.py:1551 order/models.py:1665 order/models.py:1819 +#: build/templates/build/detail.html:101 order/api.py:1384 order/models.py:845 +#: order/models.py:1566 order/models.py:1681 order/models.py:1840 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 @@ -1740,7 +1808,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1443 +#: build/templates/build/detail.html:49 order/models.py:1448 #: templates/js/translated/purchase_order.js:2189 msgid "Destination" msgstr "" @@ -1892,31 +1960,31 @@ msgstr "" msgid "Incomplete Outputs" msgstr "" -#: common/api.py:689 +#: common/api.py:690 msgid "Is Link" msgstr "" -#: common/api.py:697 +#: common/api.py:698 msgid "Is File" msgstr "" -#: common/api.py:739 +#: common/api.py:740 msgid "User does not have permission to delete this attachment" msgstr "" -#: common/currency.py:130 +#: common/currency.py:132 msgid "Invalid currency code" msgstr "" -#: common/currency.py:132 +#: common/currency.py:134 msgid "Duplicate currency code" msgstr "" -#: common/currency.py:137 +#: common/currency.py:139 msgid "No valid currency codes provided" msgstr "" -#: common/currency.py:154 +#: common/currency.py:156 msgid "No plugin" msgstr "" @@ -1970,1635 +2038,1604 @@ msgstr "" msgid "Site URL is locked by configuration" msgstr "" -#: common/models.py:132 +#: common/models.py:137 msgid "Unique project code" msgstr "" -#: common/models.py:139 +#: common/models.py:144 msgid "Project description" msgstr "" -#: common/models.py:148 +#: common/models.py:153 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:765 +#: common/models.py:770 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:769 +#: common/models.py:774 msgid "Settings value" msgstr "" -#: common/models.py:821 +#: common/models.py:826 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:837 +#: common/models.py:842 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:845 +#: common/models.py:850 msgid "Value must be an integer value" msgstr "" -#: common/models.py:882 +#: common/models.py:887 msgid "Key string must be unique" msgstr "" -#: common/models.py:1114 +#: common/models.py:1119 msgid "No group" msgstr "" -#: common/models.py:1213 +#: common/models.py:1218 msgid "Restart required" msgstr "" -#: common/models.py:1215 +#: common/models.py:1220 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:1222 +#: common/models.py:1227 msgid "Pending migrations" msgstr "" -#: common/models.py:1223 +#: common/models.py:1228 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1228 +#: common/models.py:1233 msgid "Server Instance Name" msgstr "" -#: common/models.py:1230 +#: common/models.py:1235 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1234 +#: common/models.py:1239 msgid "Use instance name" msgstr "" -#: common/models.py:1235 +#: common/models.py:1240 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1240 +#: common/models.py:1245 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1241 +#: common/models.py:1246 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1246 company/models.py:111 company/models.py:112 +#: common/models.py:1251 company/models.py:111 company/models.py:112 msgid "Company name" msgstr "" -#: common/models.py:1247 +#: common/models.py:1252 msgid "Internal company name" msgstr "" -#: common/models.py:1251 +#: common/models.py:1256 msgid "Base URL" msgstr "" -#: common/models.py:1252 +#: common/models.py:1257 msgid "Base URL for server instance" msgstr "" -#: common/models.py:1258 +#: common/models.py:1263 msgid "Default Currency" msgstr "" -#: common/models.py:1259 +#: common/models.py:1264 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1265 +#: common/models.py:1270 msgid "Supported Currencies" msgstr "" -#: common/models.py:1266 +#: common/models.py:1271 msgid "List of supported currency codes" msgstr "" -#: common/models.py:1272 +#: common/models.py:1277 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1274 +#: common/models.py:1279 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1277 common/models.py:1333 common/models.py:1346 -#: common/models.py:1354 common/models.py:1363 common/models.py:1372 -#: common/models.py:1596 common/models.py:1618 common/models.py:1733 -#: common/models.py:2100 +#: common/models.py:1282 common/models.py:1338 common/models.py:1351 +#: common/models.py:1359 common/models.py:1368 common/models.py:1377 +#: common/models.py:1601 common/models.py:1623 common/models.py:1738 +#: common/models.py:2111 msgid "days" msgstr "" -#: common/models.py:1281 +#: common/models.py:1286 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1282 +#: common/models.py:1287 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1287 +#: common/models.py:1292 msgid "Download from URL" msgstr "" -#: common/models.py:1289 +#: common/models.py:1294 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:1295 +#: common/models.py:1300 msgid "Download Size Limit" msgstr "" -#: common/models.py:1296 +#: common/models.py:1301 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1302 +#: common/models.py:1307 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1304 +#: common/models.py:1309 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/models.py:1309 +#: common/models.py:1314 msgid "Strict URL Validation" msgstr "" -#: common/models.py:1310 +#: common/models.py:1315 msgid "Require schema specification when validating URLs" msgstr "" -#: common/models.py:1315 +#: common/models.py:1320 msgid "Require confirm" msgstr "" -#: common/models.py:1316 +#: common/models.py:1321 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:1321 +#: common/models.py:1326 msgid "Tree Depth" msgstr "" -#: common/models.py:1323 +#: common/models.py:1328 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1329 +#: common/models.py:1334 msgid "Update Check Interval" msgstr "" -#: common/models.py:1330 +#: common/models.py:1335 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:1336 +#: common/models.py:1341 msgid "Automatic Backup" msgstr "" -#: common/models.py:1337 +#: common/models.py:1342 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:1342 +#: common/models.py:1347 msgid "Auto Backup Interval" msgstr "" -#: common/models.py:1343 +#: common/models.py:1348 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1349 +#: common/models.py:1354 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1351 +#: common/models.py:1356 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1358 +#: common/models.py:1363 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1360 +#: common/models.py:1365 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1367 +#: common/models.py:1372 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1369 +#: common/models.py:1374 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1376 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1381 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "" -#: common/models.py:1377 +#: common/models.py:1382 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1382 +#: common/models.py:1387 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1383 +#: common/models.py:1388 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1389 +#: common/models.py:1394 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1390 +#: common/models.py:1395 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1395 +#: common/models.py:1400 msgid "Barcode Show Data" msgstr "" -#: common/models.py:1396 +#: common/models.py:1401 msgid "Display barcode data in browser as text" msgstr "" -#: common/models.py:1401 +#: common/models.py:1406 msgid "Part Revisions" msgstr "" -#: common/models.py:1402 +#: common/models.py:1407 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1407 +#: common/models.py:1412 msgid "Allow Deletion from Assembly" msgstr "" -#: common/models.py:1408 +#: common/models.py:1413 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/models.py:1413 +#: common/models.py:1418 msgid "IPN Regex" msgstr "" -#: common/models.py:1414 +#: common/models.py:1419 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1417 +#: common/models.py:1422 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1418 +#: common/models.py:1423 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1423 +#: common/models.py:1428 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1424 +#: common/models.py:1429 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1429 +#: common/models.py:1434 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1430 +#: common/models.py:1435 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1435 +#: common/models.py:1440 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1436 +#: common/models.py:1441 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1441 +#: common/models.py:1446 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1442 +#: common/models.py:1447 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1447 +#: common/models.py:1452 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1448 +#: common/models.py:1453 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1453 part/admin.py:108 part/models.py:3795 +#: common/models.py:1458 part/admin.py:108 part/models.py:3835 #: report/models.py:294 report/models.py:361 report/serializers.py:90 -#: report/serializers.py:131 stock/serializers.py:227 +#: report/serializers.py:131 stock/serializers.py:232 #: templates/js/translated/table_filters.js:139 -#: templates/js/translated/table_filters.js:767 +#: templates/js/translated/table_filters.js:772 msgid "Template" msgstr "" -#: common/models.py:1454 +#: common/models.py:1459 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1459 part/admin.py:91 part/admin.py:425 part/models.py:1052 +#: common/models.py:1464 part/admin.py:91 part/admin.py:425 part/models.py:1056 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 -#: templates/js/translated/table_filters.js:721 +#: templates/js/translated/table_filters.js:726 msgid "Assembly" msgstr "" -#: common/models.py:1460 +#: common/models.py:1465 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1465 part/admin.py:95 part/models.py:1058 -#: templates/js/translated/table_filters.js:729 +#: common/models.py:1470 part/admin.py:95 part/models.py:1062 +#: templates/js/translated/table_filters.js:734 msgid "Component" msgstr "" -#: common/models.py:1466 +#: common/models.py:1471 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1471 part/admin.py:100 part/models.py:1070 +#: common/models.py:1476 part/admin.py:100 part/models.py:1074 msgid "Purchaseable" msgstr "" -#: common/models.py:1472 +#: common/models.py:1477 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1477 part/admin.py:104 part/models.py:1076 -#: templates/js/translated/table_filters.js:755 +#: common/models.py:1482 part/admin.py:104 part/models.py:1080 +#: templates/js/translated/table_filters.js:760 msgid "Salable" msgstr "" -#: common/models.py:1478 +#: common/models.py:1483 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1483 part/admin.py:113 part/models.py:1064 -#: 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:1484 +#: common/models.py:1489 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1489 part/admin.py:117 part/models.py:1086 +#: common/models.py:1494 part/admin.py:117 part/models.py:1096 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 -#: templates/js/translated/table_filters.js:775 +#: templates/js/translated/table_filters.js:780 msgid "Virtual" msgstr "" -#: common/models.py:1490 +#: common/models.py:1495 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1495 +#: common/models.py:1500 msgid "Show Import in Views" msgstr "" -#: common/models.py:1496 +#: common/models.py:1501 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1501 +#: common/models.py:1506 msgid "Show related parts" msgstr "" -#: common/models.py:1502 +#: common/models.py:1507 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1507 +#: common/models.py:1512 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1508 +#: common/models.py:1513 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1513 templates/js/translated/part.js:107 +#: common/models.py:1518 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1515 +#: common/models.py:1520 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1521 +#: common/models.py:1526 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1522 +#: common/models.py:1527 msgid "Format to display the part name" msgstr "" -#: common/models.py:1528 +#: common/models.py:1533 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1529 +#: common/models.py:1534 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1533 +#: common/models.py:1538 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1535 +#: common/models.py:1540 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1541 +#: common/models.py:1546 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1543 +#: common/models.py:1548 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1554 +#: common/models.py:1559 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1556 +#: common/models.py:1561 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1567 +#: common/models.py:1572 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1569 +#: common/models.py:1574 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1575 +#: common/models.py:1580 msgid "Purchase History Override" msgstr "" -#: common/models.py:1577 +#: common/models.py:1582 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1583 +#: common/models.py:1588 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1585 +#: common/models.py:1590 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1591 +#: common/models.py:1596 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1593 +#: common/models.py:1598 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1600 +#: common/models.py:1605 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1601 +#: common/models.py:1606 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1606 +#: common/models.py:1611 msgid "Active Variants Only" msgstr "" -#: common/models.py:1608 +#: common/models.py:1613 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1614 +#: common/models.py:1619 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1616 +#: common/models.py:1621 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1623 +#: common/models.py:1628 msgid "Internal Prices" msgstr "" -#: common/models.py:1624 +#: common/models.py:1629 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1629 +#: common/models.py:1634 msgid "Internal Price Override" msgstr "" -#: common/models.py:1631 +#: common/models.py:1636 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1637 +#: common/models.py:1642 msgid "Enable label printing" msgstr "" -#: common/models.py:1638 +#: common/models.py:1643 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1643 +#: common/models.py:1648 msgid "Label Image DPI" msgstr "" -#: common/models.py:1645 +#: common/models.py:1650 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1651 +#: common/models.py:1656 msgid "Enable Reports" msgstr "" -#: common/models.py:1652 +#: common/models.py:1657 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1657 templates/stats.html:25 +#: common/models.py:1662 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1658 +#: common/models.py:1663 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1663 +#: common/models.py:1668 msgid "Log Report Errors" msgstr "" -#: common/models.py:1664 +#: common/models.py:1669 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1669 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1674 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:302 msgid "Page Size" msgstr "" -#: common/models.py:1670 +#: common/models.py:1675 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1675 +#: common/models.py:1680 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1676 +#: common/models.py:1681 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1681 +#: common/models.py:1686 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1683 +#: common/models.py:1688 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1689 +#: common/models.py:1694 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1690 +#: common/models.py:1695 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1695 +#: common/models.py:1700 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1696 +#: common/models.py:1701 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1701 +#: common/models.py:1706 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1703 +#: common/models.py:1708 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1709 +#: common/models.py:1714 msgid "Batch Code Template" msgstr "" -#: common/models.py:1711 +#: common/models.py:1716 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1716 +#: common/models.py:1721 msgid "Stock Expiry" msgstr "" -#: common/models.py:1717 +#: common/models.py:1722 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1722 +#: common/models.py:1727 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1723 +#: common/models.py:1728 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1728 +#: common/models.py:1733 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1730 +#: common/models.py:1735 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1737 +#: common/models.py:1742 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1738 +#: common/models.py:1743 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1743 +#: common/models.py:1748 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1744 +#: common/models.py:1749 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1749 +#: common/models.py:1754 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1750 +#: common/models.py:1755 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1754 +#: common/models.py:1759 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1755 +#: common/models.py:1760 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1760 +#: common/models.py:1765 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1762 +#: common/models.py:1767 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1768 +#: common/models.py:1773 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1770 +#: common/models.py:1775 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1776 +#: common/models.py:1781 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1778 +#: common/models.py:1783 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1784 common/models.py:1826 common/models.py:1848 -#: common/models.py:1884 +#: common/models.py:1789 common/models.py:1837 common/models.py:1859 +#: common/models.py:1895 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1785 common/models.py:1827 common/models.py:1849 -#: common/models.py:1885 +#: common/models.py:1790 common/models.py:1838 common/models.py:1860 +#: common/models.py:1896 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1790 +#: common/models.py:1795 msgid "Require Active Part" msgstr "" -#: common/models.py:1791 +#: common/models.py:1796 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/models.py:1796 +#: common/models.py:1801 +msgid "Require Locked Part" +msgstr "" + +#: common/models.py:1802 +msgid "Prevent build order creation for unlocked parts" +msgstr "" + +#: common/models.py:1807 msgid "Require Valid BOM" msgstr "" -#: common/models.py:1798 +#: common/models.py:1809 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/models.py:1804 +#: common/models.py:1815 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1806 +#: common/models.py:1817 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1812 +#: common/models.py:1823 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1813 +#: common/models.py:1824 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1818 +#: common/models.py:1829 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1820 +#: common/models.py:1831 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1832 +#: common/models.py:1843 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1834 +#: common/models.py:1845 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1840 +#: common/models.py:1851 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1842 +#: common/models.py:1853 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1854 +#: common/models.py:1865 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1855 +#: common/models.py:1866 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1860 +#: common/models.py:1871 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1862 +#: common/models.py:1873 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1868 +#: common/models.py:1879 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1870 +#: common/models.py:1881 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1876 +#: common/models.py:1887 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1878 +#: common/models.py:1889 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1890 +#: common/models.py:1901 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1892 +#: common/models.py:1903 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1898 +#: common/models.py:1909 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1900 +#: common/models.py:1911 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1907 +#: common/models.py:1918 msgid "Enable password forgot" msgstr "" -#: common/models.py:1908 +#: common/models.py:1919 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1913 +#: common/models.py:1924 msgid "Enable registration" msgstr "" -#: common/models.py:1914 +#: common/models.py:1925 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1919 +#: common/models.py:1930 msgid "Enable SSO" msgstr "" -#: common/models.py:1920 +#: common/models.py:1931 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1925 +#: common/models.py:1936 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1927 +#: common/models.py:1938 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1933 +#: common/models.py:1944 msgid "Enable SSO group sync" msgstr "" -#: common/models.py:1935 +#: common/models.py:1946 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/models.py:1941 +#: common/models.py:1952 msgid "SSO group key" msgstr "" -#: common/models.py:1943 +#: common/models.py:1954 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/models.py:1949 +#: common/models.py:1960 msgid "SSO group map" msgstr "" -#: common/models.py:1951 +#: common/models.py:1962 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/models.py:1957 +#: common/models.py:1968 msgid "Remove groups outside of SSO" msgstr "" -#: common/models.py:1959 +#: common/models.py:1970 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/models.py:1965 +#: common/models.py:1976 msgid "Email required" msgstr "" -#: common/models.py:1966 +#: common/models.py:1977 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1971 +#: common/models.py:1982 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1973 +#: common/models.py:1984 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1979 +#: common/models.py:1990 msgid "Mail twice" msgstr "" -#: common/models.py:1980 +#: common/models.py:1991 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1985 +#: common/models.py:1996 msgid "Password twice" msgstr "" -#: common/models.py:1986 +#: common/models.py:1997 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1991 +#: common/models.py:2002 msgid "Allowed domains" msgstr "" -#: common/models.py:1993 +#: common/models.py:2004 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1999 +#: common/models.py:2010 msgid "Group on signup" msgstr "" -#: common/models.py:2001 +#: common/models.py:2012 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/models.py:2007 +#: common/models.py:2018 msgid "Enforce MFA" msgstr "" -#: common/models.py:2008 +#: common/models.py:2019 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:2013 +#: common/models.py:2024 msgid "Check plugins on startup" msgstr "" -#: common/models.py:2015 +#: common/models.py:2026 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:2023 +#: common/models.py:2034 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2024 +#: common/models.py:2035 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2030 +#: common/models.py:2041 msgid "Enable URL integration" msgstr "" -#: common/models.py:2031 +#: common/models.py:2042 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:2037 +#: common/models.py:2048 msgid "Enable navigation integration" msgstr "" -#: common/models.py:2038 +#: common/models.py:2049 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2044 +#: common/models.py:2055 msgid "Enable app integration" msgstr "" -#: common/models.py:2045 +#: common/models.py:2056 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2051 +#: common/models.py:2062 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2052 +#: common/models.py:2063 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2058 +#: common/models.py:2069 msgid "Enable event integration" msgstr "" -#: common/models.py:2059 +#: common/models.py:2070 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2065 +#: common/models.py:2076 msgid "Enable project codes" msgstr "" -#: common/models.py:2066 +#: common/models.py:2077 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2071 +#: common/models.py:2082 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2073 +#: common/models.py:2084 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2079 +#: common/models.py:2090 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2081 +#: common/models.py:2092 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2087 +#: common/models.py:2098 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2089 +#: common/models.py:2100 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2095 +#: common/models.py:2106 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2097 +#: common/models.py:2108 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2104 +#: common/models.py:2115 msgid "Display Users full names" msgstr "" -#: common/models.py:2105 +#: common/models.py:2116 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2110 +#: common/models.py:2121 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2111 +#: common/models.py:2122 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2123 common/models.py:2533 +#: common/models.py:2134 common/models.py:2514 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2166 +#: common/models.py:2177 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2168 +#: common/models.py:2179 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2174 +#: common/models.py:2185 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2175 +#: common/models.py:2186 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2180 +#: common/models.py:2191 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2181 +#: common/models.py:2192 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2186 +#: common/models.py:2197 msgid "Show latest parts" msgstr "" -#: common/models.py:2187 +#: common/models.py:2198 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2192 +#: common/models.py:2203 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2193 +#: common/models.py:2204 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2198 +#: common/models.py:2209 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2199 +#: common/models.py:2210 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2204 +#: common/models.py:2215 msgid "Show low stock" msgstr "" -#: common/models.py:2205 +#: common/models.py:2216 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2210 +#: common/models.py:2221 msgid "Show depleted stock" msgstr "" -#: common/models.py:2211 +#: common/models.py:2222 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2216 +#: common/models.py:2227 msgid "Show needed stock" msgstr "" -#: common/models.py:2217 +#: common/models.py:2228 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2222 +#: common/models.py:2233 msgid "Show expired stock" msgstr "" -#: common/models.py:2223 +#: common/models.py:2234 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2228 +#: common/models.py:2239 msgid "Show stale stock" msgstr "" -#: common/models.py:2229 +#: common/models.py:2240 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2234 +#: common/models.py:2245 msgid "Show pending builds" msgstr "" -#: common/models.py:2235 +#: common/models.py:2246 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2240 +#: common/models.py:2251 msgid "Show overdue builds" msgstr "" -#: common/models.py:2241 +#: common/models.py:2252 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2246 +#: common/models.py:2257 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2247 +#: common/models.py:2258 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2252 +#: common/models.py:2263 msgid "Show overdue POs" msgstr "" -#: common/models.py:2253 +#: common/models.py:2264 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2258 +#: common/models.py:2269 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2259 +#: common/models.py:2270 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2264 +#: common/models.py:2275 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2265 +#: common/models.py:2276 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2270 +#: common/models.py:2281 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2271 +#: common/models.py:2282 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2276 +#: common/models.py:2287 msgid "Show News" msgstr "" -#: common/models.py:2277 +#: common/models.py:2288 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2282 +#: common/models.py:2293 msgid "Inline label display" msgstr "" -#: common/models.py:2284 +#: common/models.py:2295 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2290 +#: common/models.py:2301 msgid "Default label printer" msgstr "" -#: common/models.py:2292 +#: common/models.py:2303 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2298 +#: common/models.py:2309 msgid "Inline report display" msgstr "" -#: common/models.py:2300 +#: common/models.py:2311 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2306 +#: common/models.py:2317 msgid "Search Parts" msgstr "" -#: common/models.py:2307 +#: common/models.py:2318 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2312 +#: common/models.py:2323 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2313 +#: common/models.py:2324 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2318 +#: common/models.py:2329 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2319 +#: common/models.py:2330 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2324 +#: common/models.py:2335 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2325 +#: common/models.py:2336 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2330 +#: common/models.py:2341 msgid "Search Categories" msgstr "" -#: common/models.py:2331 +#: common/models.py:2342 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2336 +#: common/models.py:2347 msgid "Search Stock" msgstr "" -#: common/models.py:2337 +#: common/models.py:2348 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2342 +#: common/models.py:2353 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2344 +#: common/models.py:2355 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2350 +#: common/models.py:2361 msgid "Search Locations" msgstr "" -#: common/models.py:2351 +#: common/models.py:2362 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2356 +#: common/models.py:2367 msgid "Search Companies" msgstr "" -#: common/models.py:2357 +#: common/models.py:2368 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2362 +#: common/models.py:2373 msgid "Search Build Orders" msgstr "" -#: common/models.py:2363 +#: common/models.py:2374 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2368 +#: common/models.py:2379 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2369 +#: common/models.py:2380 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2374 +#: common/models.py:2385 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2376 +#: common/models.py:2387 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2382 +#: common/models.py:2393 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2383 +#: common/models.py:2394 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2388 +#: common/models.py:2399 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2390 +#: common/models.py:2401 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2396 +#: common/models.py:2407 msgid "Search Return Orders" msgstr "" -#: common/models.py:2397 +#: common/models.py:2408 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2402 +#: common/models.py:2413 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2404 +#: common/models.py:2415 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2410 +#: common/models.py:2421 msgid "Search Preview Results" msgstr "" -#: common/models.py:2412 +#: common/models.py:2423 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2418 +#: common/models.py:2429 msgid "Regex Search" msgstr "" -#: common/models.py:2419 +#: common/models.py:2430 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2424 +#: common/models.py:2435 msgid "Whole Word Search" msgstr "" -#: common/models.py:2425 +#: common/models.py:2436 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2430 +#: common/models.py:2441 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2431 +#: common/models.py:2442 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2436 +#: common/models.py:2447 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2437 +#: common/models.py:2448 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2442 +#: common/models.py:2453 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2443 +#: common/models.py:2454 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2448 +#: common/models.py:2459 msgid "Date Format" msgstr "" -#: common/models.py:2449 +#: common/models.py:2460 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2462 part/templates/part/detail.html:41 +#: common/models.py:2473 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2463 +#: common/models.py:2474 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2468 part/templates/part/detail.html:62 +#: common/models.py:2479 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2470 +#: common/models.py:2481 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2476 +#: common/models.py:2487 msgid "Table String Length" msgstr "" -#: common/models.py:2478 +#: common/models.py:2489 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2484 -msgid "Default part label template" -msgstr "" - -#: common/models.py:2485 -msgid "The part label template to be automatically selected" -msgstr "" - -#: common/models.py:2490 -msgid "Default stock item template" -msgstr "" - -#: common/models.py:2492 -msgid "The stock item label template to be automatically selected" -msgstr "" - -#: common/models.py:2498 -msgid "Default stock location label template" -msgstr "" - -#: common/models.py:2500 -msgid "The stock location label template to be automatically selected" -msgstr "" - -#: common/models.py:2506 -msgid "Default build line label template" -msgstr "" - -#: common/models.py:2508 -msgid "The build line label template to be automatically selected" -msgstr "" - -#: common/models.py:2514 +#: common/models.py:2495 msgid "Receive error reports" msgstr "" -#: common/models.py:2515 +#: common/models.py:2496 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2520 +#: common/models.py:2501 msgid "Last used printing machines" msgstr "" -#: common/models.py:2521 +#: common/models.py:2502 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2541 common/models.py:2542 common/models.py:2691 -#: common/models.py:2692 common/models.py:2937 common/models.py:2938 -#: common/models.py:3259 common/models.py:3260 part/models.py:3193 -#: part/models.py:3280 part/models.py:3353 part/models.py:3381 -#: plugin/models.py:274 plugin/models.py:275 +#: common/models.py:2522 common/models.py:2523 common/models.py:2672 +#: common/models.py:2673 common/models.py:2918 common/models.py:2919 +#: common/models.py:3245 common/models.py:3246 importer/models.py:85 +#: part/models.py:3203 part/models.py:3290 part/models.py:3364 +#: part/models.py:3392 plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 msgid "User" msgstr "" -#: common/models.py:2564 +#: common/models.py:2545 msgid "Price break quantity" msgstr "" -#: common/models.py:2571 company/serializers.py:472 order/admin.py:42 -#: order/models.py:1346 order/models.py:2265 -#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1886 +#: common/models.py:2552 company/serializers.py:502 order/admin.py:42 +#: order/models.py:1346 order/models.py:2292 +#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1889 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:740 msgid "Price" msgstr "" -#: common/models.py:2572 +#: common/models.py:2553 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2668 common/models.py:2853 +#: common/models.py:2649 common/models.py:2834 msgid "Endpoint" msgstr "" -#: common/models.py:2669 +#: common/models.py:2650 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2679 +#: common/models.py:2660 msgid "Name for this webhook" msgstr "" -#: common/models.py:2683 +#: common/models.py:2664 msgid "Is this webhook active" msgstr "" -#: common/models.py:2699 users/models.py:159 +#: common/models.py:2680 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2700 +#: common/models.py:2681 msgid "Token for access" msgstr "" -#: common/models.py:2708 +#: common/models.py:2689 msgid "Secret" msgstr "" -#: common/models.py:2709 +#: common/models.py:2690 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2817 +#: common/models.py:2798 msgid "Message ID" msgstr "" -#: common/models.py:2818 +#: common/models.py:2799 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2826 +#: common/models.py:2807 msgid "Host" msgstr "" -#: common/models.py:2827 +#: common/models.py:2808 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2835 +#: common/models.py:2816 msgid "Header" msgstr "" -#: common/models.py:2836 +#: common/models.py:2817 msgid "Header of this message" msgstr "" -#: common/models.py:2843 +#: common/models.py:2824 msgid "Body" msgstr "" -#: common/models.py:2844 +#: common/models.py:2825 msgid "Body of this message" msgstr "" -#: common/models.py:2854 +#: common/models.py:2835 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2859 +#: common/models.py:2840 msgid "Worked on" msgstr "" -#: common/models.py:2860 +#: common/models.py:2841 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2986 +#: common/models.py:2967 msgid "Id" msgstr "" -#: common/models.py:2988 templates/js/translated/company.js:965 +#: common/models.py:2969 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2990 common/models.py:3243 company/models.py:149 -#: company/models.py:440 company/models.py:500 company/models.py:799 -#: order/models.py:303 order/models.py:1301 order/models.py:1717 -#: part/admin.py:55 part/models.py:955 +#: common/models.py:2971 common/models.py:3229 company/models.py:149 +#: company/models.py:446 company/models.py:506 company/models.py:806 +#: order/models.py:303 order/models.py:1301 order/models.py:1733 +#: part/admin.py:55 part/models.py:959 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:229 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/part.js:2459 #: templates/js/translated/purchase_order.js:2040 #: templates/js/translated/purchase_order.js:2204 #: templates/js/translated/return_order.js:779 @@ -3607,28 +3644,28 @@ msgstr "" msgid "Link" msgstr "" -#: common/models.py:2992 templates/js/translated/news.js:60 +#: common/models.py:2973 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2994 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2975 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:2996 templates/js/translated/news.js:52 +#: common/models.py:2977 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2999 +#: common/models.py:2980 msgid "Read" msgstr "" -#: common/models.py:2999 +#: common/models.py:2980 msgid "Was this news item read?" msgstr "" -#: common/models.py:3016 company/models.py:159 part/models.py:965 +#: common/models.py:2997 company/models.py:159 part/models.py:969 #: 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.html:35 @@ -3638,90 +3675,94 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:3016 +#: common/models.py:2997 msgid "Image file" msgstr "" -#: common/models.py:3028 common/models.py:3227 +#: common/models.py:3009 common/models.py:3213 msgid "Target model type for this image" msgstr "" -#: common/models.py:3032 +#: common/models.py:3013 msgid "Target model ID for this image" msgstr "" -#: common/models.py:3070 +#: common/models.py:3035 +msgid "Custom Unit" +msgstr "" + +#: common/models.py:3056 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:3085 +#: common/models.py:3071 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3104 +#: common/models.py:3090 msgid "Unit name" msgstr "" -#: common/models.py:3111 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3097 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3112 +#: common/models.py:3098 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3118 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3104 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3119 +#: common/models.py:3105 msgid "Unit definition" msgstr "" -#: common/models.py:3177 common/models.py:3234 stock/models.py:2461 +#: common/models.py:3163 common/models.py:3220 stock/models.py:2471 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" msgstr "" -#: common/models.py:3189 +#: common/models.py:3175 msgid "Missing file" msgstr "" -#: common/models.py:3190 +#: common/models.py:3176 msgid "Missing external link" msgstr "" -#: common/models.py:3235 +#: common/models.py:3221 msgid "Select file to attach" msgstr "" -#: common/models.py:3250 templates/js/translated/attachment.js:120 +#: common/models.py:3236 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" msgstr "" -#: common/models.py:3251 +#: common/models.py:3237 msgid "Attachment comment" msgstr "" -#: common/models.py:3267 +#: common/models.py:3253 msgid "Upload date" msgstr "" -#: common/models.py:3268 +#: common/models.py:3254 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:3272 +#: common/models.py:3258 msgid "File size" msgstr "" -#: common/models.py:3272 +#: common/models.py:3258 msgid "File size in bytes" msgstr "" -#: common/models.py:3310 common/serializers.py:553 +#: common/models.py:3296 common/serializers.py:557 msgid "Invalid model type specified for attachment" msgstr "" @@ -3743,7 +3784,7 @@ msgstr "" msgid "A order that is assigned to you was canceled" msgstr "" -#: common/notifications.py:330 common/notifications.py:337 order/api.py:472 +#: common/notifications.py:330 common/notifications.py:337 order/api.py:454 msgid "Items Received" msgstr "" @@ -3759,75 +3800,75 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:371 +#: common/serializers.py:375 msgid "Is Running" msgstr "" -#: common/serializers.py:377 +#: common/serializers.py:381 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:383 +#: common/serializers.py:387 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:389 +#: common/serializers.py:393 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:404 +#: common/serializers.py:408 msgid "Task ID" msgstr "" -#: common/serializers.py:404 +#: common/serializers.py:408 msgid "Unique task ID" msgstr "" -#: common/serializers.py:406 +#: common/serializers.py:410 msgid "Lock" msgstr "" -#: common/serializers.py:406 +#: common/serializers.py:410 msgid "Lock time" msgstr "" -#: common/serializers.py:408 +#: common/serializers.py:412 msgid "Task name" msgstr "" -#: common/serializers.py:410 +#: common/serializers.py:414 msgid "Function" msgstr "" -#: common/serializers.py:410 +#: common/serializers.py:414 msgid "Function name" msgstr "" -#: common/serializers.py:412 +#: common/serializers.py:416 msgid "Arguments" msgstr "" -#: common/serializers.py:412 +#: common/serializers.py:416 msgid "Task arguments" msgstr "" -#: common/serializers.py:415 +#: common/serializers.py:419 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:415 +#: common/serializers.py:419 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:525 +#: common/serializers.py:529 msgid "Filename" msgstr "" -#: common/serializers.py:532 report/api.py:100 report/serializers.py:53 +#: common/serializers.py:536 report/api.py:100 report/serializers.py:53 msgid "Model Type" msgstr "" -#: common/serializers.py:559 +#: common/serializers.py:563 msgid "User does not have permission to create or edit attachments for this model" msgstr "" @@ -3894,29 +3935,29 @@ msgstr "" msgid "Previous Step" msgstr "" -#: company/api.py:144 +#: company/api.py:141 msgid "Part is Active" msgstr "" -#: company/api.py:148 +#: company/api.py:145 msgid "Manufacturer is Active" msgstr "" -#: company/api.py:281 +#: company/api.py:278 msgid "Supplier Part is Active" msgstr "" -#: company/api.py:285 +#: company/api.py:282 msgid "Internal Part is Active" msgstr "" -#: company/api.py:289 +#: company/api.py:286 msgid "Supplier is Active" msgstr "" -#: company/models.py:100 company/models.py:365 +#: company/models.py:100 company/models.py:371 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:822 +#: company/templates/company/company_base.html:12 stock/api.py:814 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "" @@ -3956,8 +3997,9 @@ msgstr "" msgid "Contact email address" msgstr "" -#: company/models.py:142 company/templates/company/company_base.html:145 -#: order/models.py:343 order/templates/order/order_base.html:203 +#: company/models.py:142 company/models.py:275 +#: company/templates/company/company_base.html:145 order/models.py:343 +#: order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 #: order/templates/order/sales_order_base.html:218 msgid "Contact" @@ -3976,7 +4018,7 @@ msgid "Is this company active?" msgstr "" #: company/models.py:168 -msgid "is customer" +msgid "Is customer" msgstr "" #: company/models.py:169 @@ -3984,7 +4026,7 @@ msgid "Do you sell items to this company?" msgstr "" #: company/models.py:174 -msgid "is supplier" +msgid "Is supplier" msgstr "" #: company/models.py:175 @@ -3992,7 +4034,7 @@ msgid "Do you purchase items from this company?" msgstr "" #: company/models.py:180 -msgid "is manufacturer" +msgid "Is manufacturer" msgstr "" #: company/models.py:181 @@ -4003,178 +4045,189 @@ msgstr "" msgid "Default currency used for this company" msgstr "" -#: company/models.py:366 +#: company/models.py:314 company/templates/company/company_base.html:124 +#: order/models.py:353 order/templates/order/order_base.html:210 +#: order/templates/order/return_order_base.html:181 +#: order/templates/order/sales_order_base.html:225 +msgid "Address" +msgstr "" + +#: company/models.py:315 company/templates/company/sidebar.html:35 +msgid "Addresses" +msgstr "" + +#: company/models.py:372 msgid "Select company" msgstr "" -#: company/models.py:371 +#: company/models.py:377 msgid "Address title" msgstr "" -#: company/models.py:372 +#: company/models.py:378 msgid "Title describing the address entry" msgstr "" -#: company/models.py:378 +#: company/models.py:384 msgid "Primary address" msgstr "" -#: company/models.py:379 +#: company/models.py:385 msgid "Set as primary address" msgstr "" -#: company/models.py:384 templates/js/translated/company.js:914 +#: company/models.py:390 templates/js/translated/company.js:914 #: templates/js/translated/company.js:971 msgid "Line 1" msgstr "" -#: company/models.py:385 +#: company/models.py:391 msgid "Address line 1" msgstr "" -#: company/models.py:391 templates/js/translated/company.js:915 +#: company/models.py:397 templates/js/translated/company.js:915 #: templates/js/translated/company.js:977 msgid "Line 2" msgstr "" -#: company/models.py:392 +#: company/models.py:398 msgid "Address line 2" msgstr "" -#: company/models.py:398 company/models.py:399 +#: company/models.py:404 company/models.py:405 #: templates/js/translated/company.js:983 msgid "Postal code" msgstr "" -#: company/models.py:405 +#: company/models.py:411 msgid "City/Region" msgstr "" -#: company/models.py:406 +#: company/models.py:412 msgid "Postal code city/region" msgstr "" -#: company/models.py:412 +#: company/models.py:418 msgid "State/Province" msgstr "" -#: company/models.py:413 +#: company/models.py:419 msgid "State or province" msgstr "" -#: company/models.py:419 templates/js/translated/company.js:1001 +#: company/models.py:425 templates/js/translated/company.js:1001 msgid "Country" msgstr "" -#: company/models.py:420 +#: company/models.py:426 msgid "Address country" msgstr "" -#: company/models.py:426 +#: company/models.py:432 msgid "Courier shipping notes" msgstr "" -#: company/models.py:427 +#: company/models.py:433 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:433 +#: company/models.py:439 msgid "Internal shipping notes" msgstr "" -#: company/models.py:434 +#: company/models.py:440 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:441 +#: company/models.py:447 msgid "Link to address information (external)" msgstr "" -#: company/models.py:463 company/models.py:574 company/models.py:792 +#: company/models.py:469 company/models.py:581 company/models.py:799 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:217 msgid "Manufacturer Part" msgstr "" -#: company/models.py:475 company/models.py:760 stock/models.py:767 -#: stock/serializers.py:422 stock/templates/stock/item_base.html:142 +#: company/models.py:481 company/models.py:767 stock/models.py:767 +#: stock/serializers.py:442 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" -#: company/models.py:477 company/models.py:762 +#: company/models.py:483 company/models.py:769 msgid "Select part" msgstr "" -#: company/models.py:486 company/templates/company/company_base.html:82 +#: company/models.py:492 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:525 +#: company/templates/company/supplier_part.html:145 part/serializers.py:543 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 #: templates/js/translated/company.js:1296 #: templates/js/translated/company.js:1611 -#: templates/js/translated/table_filters.js:800 +#: templates/js/translated/table_filters.js:805 msgid "Manufacturer" msgstr "" -#: company/models.py:487 +#: company/models.py:493 msgid "Select manufacturer" msgstr "" -#: company/models.py:493 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:535 -#: templates/js/translated/company.js:351 +#: company/models.py:499 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:153 order/serializers.py:518 +#: part/serializers.py:553 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:1801 +#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1804 #: templates/js/translated/purchase_order.js:1851 #: templates/js/translated/purchase_order.js:2053 msgid "MPN" msgstr "" -#: company/models.py:494 -msgid "Manufacturer Part Number" -msgstr "" - -#: company/models.py:501 +#: company/models.py:507 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:510 +#: company/models.py:516 msgid "Manufacturer part description" msgstr "" -#: company/models.py:581 +#: company/models.py:569 +msgid "Manufacturer Part Parameter" +msgstr "" + +#: company/models.py:588 msgid "Parameter name" msgstr "" -#: company/models.py:587 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2453 templates/js/translated/company.js:1166 -#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1493 +#: company/models.py:594 report/templates/report/inventree_test_report.html:104 +#: stock/models.py:2463 templates/js/translated/company.js:1166 +#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1496 #: templates/js/translated/stock.js:1522 msgid "Value" msgstr "" -#: company/models.py:588 +#: company/models.py:595 msgid "Parameter value" msgstr "" -#: company/models.py:595 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1045 part/models.py:3646 +#: company/models.py:602 company/templates/company/supplier_part.html:168 +#: part/admin.py:57 part/models.py:1049 part/models.py:3667 #: part/templates/part/part_base.html:284 -#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1512 -#: templates/js/translated/part.js:1616 templates/js/translated/part.js:2370 +#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1515 +#: templates/js/translated/part.js:1619 templates/js/translated/part.js:2373 msgid "Units" msgstr "" -#: company/models.py:596 +#: company/models.py:603 msgid "Parameter units" msgstr "" -#: company/models.py:648 company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 order/api.py:452 +#: company/models.py:655 company/templates/company/supplier_part.html:7 +#: company/templates/company/supplier_part.html:24 order/api.py:434 #: stock/models.py:778 stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 @@ -4182,91 +4235,91 @@ msgstr "" msgid "Supplier Part" msgstr "" -#: company/models.py:700 +#: company/models.py:707 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:707 +#: company/models.py:714 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:721 +#: company/models.py:728 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:770 company/templates/company/company_base.html:87 +#: company/models.py:777 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:509 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:527 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 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:511 -#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1769 +#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1772 #: templates/js/translated/pricing.js:498 #: templates/js/translated/purchase_order.js:1689 -#: templates/js/translated/table_filters.js:804 +#: templates/js/translated/table_filters.js:809 msgid "Supplier" msgstr "" -#: company/models.py:771 +#: company/models.py:778 msgid "Select supplier" msgstr "" -#: company/models.py:777 part/serializers.py:520 +#: company/models.py:784 part/serializers.py:538 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:783 +#: company/models.py:790 msgid "Is this supplier part active?" msgstr "" -#: company/models.py:793 +#: company/models.py:800 msgid "Select manufacturer part" msgstr "" -#: company/models.py:800 +#: company/models.py:807 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:809 +#: company/models.py:816 msgid "Supplier part description" msgstr "" -#: company/models.py:816 company/templates/company/supplier_part.html:187 -#: part/admin.py:412 part/models.py:4093 part/templates/part/upload_bom.html:59 +#: company/models.py:823 company/templates/company/supplier_part.html:187 +#: part/admin.py:412 part/models.py:4178 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: 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:710 +#: stock/serializers.py:768 msgid "Note" msgstr "" -#: company/models.py:825 part/models.py:2003 +#: company/models.py:832 part/models.py:2013 msgid "base cost" msgstr "" -#: company/models.py:826 part/models.py:2004 +#: company/models.py:833 part/models.py:2014 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:833 company/templates/company/supplier_part.html:160 -#: stock/admin.py:228 stock/models.py:798 stock/serializers.py:1475 +#: company/models.py:840 company/templates/company/supplier_part.html:160 +#: stock/admin.py:228 stock/models.py:798 stock/serializers.py:1541 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 msgid "Packaging" msgstr "" -#: company/models.py:834 +#: company/models.py:841 msgid "Part packaging" msgstr "" -#: company/models.py:839 templates/js/translated/company.js:1651 -#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 +#: company/models.py:846 templates/js/translated/company.js:1651 +#: templates/js/translated/part.js:1825 templates/js/translated/part.js:1881 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 #: templates/js/translated/purchase_order.js:1103 @@ -4275,35 +4328,43 @@ msgstr "" msgid "Pack Quantity" msgstr "" -#: company/models.py:841 +#: company/models.py:848 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:860 part/models.py:2010 +#: company/models.py:867 part/models.py:2020 msgid "multiple" msgstr "" -#: company/models.py:861 +#: company/models.py:868 msgid "Order multiple" msgstr "" -#: company/models.py:873 +#: company/models.py:880 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:879 +#: company/models.py:886 msgid "Availability Updated" msgstr "" -#: company/models.py:880 +#: company/models.py:887 msgid "Date of last update of availability data" msgstr "" -#: company/serializers.py:161 +#: company/models.py:1015 +msgid "Supplier Price Break" +msgstr "" + +#: company/serializers.py:174 msgid "Default currency used for this supplier" msgstr "" -#: company/serializers.py:357 part/admin.py:126 +#: company/serializers.py:210 +msgid "Company Name" +msgstr "" + +#: company/serializers.py:384 part/admin.py:126 part/serializers.py:855 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:355 @@ -4315,7 +4376,7 @@ msgstr "" #: templates/js/translated/company.js:1287 #: templates/js/translated/company.js:1575 #: templates/js/translated/model_renderers.js:312 -#: templates/js/translated/part.js:815 templates/js/translated/part.js:1219 +#: templates/js/translated/part.js:814 templates/js/translated/part.js:1222 msgid "Inactive" msgstr "" @@ -4374,16 +4435,16 @@ msgid "Delete image" msgstr "" #: company/templates/company/company_base.html:92 order/models.py:938 -#: order/models.py:2032 order/templates/order/return_order_base.html:131 +#: order/models.py:2058 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:148 stock/models.py:820 -#: stock/models.py:821 stock/serializers.py:1225 +#: stock/models.py:821 stock/serializers.py:1291 #: 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:295 #: templates/js/translated/sales_order.js:820 #: templates/js/translated/stock.js:2959 -#: templates/js/translated/table_filters.js:808 +#: templates/js/translated/table_filters.js:813 msgid "Customer" msgstr "" @@ -4391,13 +4452,6 @@ msgstr "" msgid "Uses default currency" msgstr "" -#: company/templates/company/company_base.html:124 order/models.py:353 -#: order/templates/order/order_base.html:210 -#: order/templates/order/return_order_base.html:181 -#: order/templates/order/sales_order_base.html:225 -msgid "Address" -msgstr "" - #: company/templates/company/company_base.html:131 msgid "Phone" msgstr "" @@ -4577,7 +4631,8 @@ msgid "Delete manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:65 -#: company/templates/company/supplier_part.html:97 order/api.py:458 +#: company/templates/company/supplier_part.html:97 order/api.py:440 +#: order/serializers.py:526 msgid "Internal Part" msgstr "" @@ -4587,7 +4642,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:832 +#: part/admin.py:122 part/serializers.py:860 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4608,7 +4663,7 @@ msgid "New Parameter" msgstr "" #: company/templates/company/manufacturer_part.html:196 -#: templates/js/translated/part.js:1423 +#: templates/js/translated/part.js:1426 msgid "Add Parameter" msgstr "" @@ -4632,10 +4687,6 @@ msgstr "" msgid "Contacts" msgstr "" -#: company/templates/company/sidebar.html:35 -msgid "Addresses" -msgstr "" - #: company/templates/company/supplier_part.html:50 #: templates/js/translated/company.js:1526 msgid "Supplier part actions" @@ -4653,122 +4704,284 @@ msgstr "" msgid "Update Availability" msgstr "" -#: company/templates/company/supplier_part.html:63 -#: company/templates/company/supplier_part.html:64 -#: templates/js/translated/company.js:294 -msgid "Edit Supplier Part" +#: company/templates/company/supplier_part.html:63 +#: company/templates/company/supplier_part.html:64 +#: templates/js/translated/company.js:294 +msgid "Edit Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:68 +#: company/templates/company/supplier_part.html:69 +#: templates/js/translated/company.js:269 +msgid "Duplicate Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:73 +msgid "Delete Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:74 +msgid "Delete Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:133 +msgid "No supplier information available" +msgstr "" + +#: company/templates/company/supplier_part.html:139 order/serializers.py:515 +#: part/bom.py:279 part/bom.py:311 part/serializers.py:537 +#: templates/js/translated/company.js:349 templates/js/translated/part.js:1790 +#: templates/js/translated/pricing.js:510 +#: templates/js/translated/purchase_order.js:1850 +#: templates/js/translated/purchase_order.js:2028 +msgid "SKU" +msgstr "" + +#: company/templates/company/supplier_part.html:206 +msgid "Supplier Part Stock" +msgstr "" + +#: company/templates/company/supplier_part.html:209 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:207 +msgid "Create new stock item" +msgstr "" + +#: company/templates/company/supplier_part.html:210 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:208 +#: templates/js/translated/stock.js:537 +msgid "New Stock Item" +msgstr "" + +#: company/templates/company/supplier_part.html:223 +msgid "Supplier Part Orders" +msgstr "" + +#: company/templates/company/supplier_part.html:246 +msgid "Pricing Information" +msgstr "" + +#: company/templates/company/supplier_part.html:251 +#: templates/js/translated/company.js:398 +#: templates/js/translated/pricing.js:684 +msgid "Add Price Break" +msgstr "" + +#: company/templates/company/supplier_part.html:276 +msgid "Supplier Part QR Code" +msgstr "" + +#: company/templates/company/supplier_part.html:287 +msgid "Link Barcode to Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:359 +msgid "Update Part Availability" +msgstr "" + +#: company/templates/company/supplier_part_sidebar.html:5 +#: part/serializers.py:859 part/stocktake.py:224 +#: part/templates/part/category.html:183 +#: part/templates/part/category_sidebar.html:17 stock/admin.py:68 +#: stock/serializers.py:976 stock/serializers.py:1154 +#: stock/templates/stock/location.html:170 +#: 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:1064 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 +#: users/models.py:206 +msgid "Stock Items" +msgstr "" + +#: company/templates/company/supplier_part_sidebar.html:9 +msgid "Supplier Part Pricing" +msgstr "" + +#: company/views.py:32 +msgid "New Supplier" +msgstr "" + +#: company/views.py:38 +msgid "New Manufacturer" +msgstr "" + +#: company/views.py:43 templates/InvenTree/search.html:210 +#: templates/navbar.html:60 +msgid "Customers" +msgstr "" + +#: company/views.py:44 +msgid "New Customer" +msgstr "" + +#: company/views.py:52 +msgid "New Company" +msgstr "" + +#: generic/states/tests.py:18 order/status_codes.py:13 +msgid "Placed" +msgstr "" + +#: importer/mixins.py:263 +msgid "Invalid export format" +msgstr "" + +#: importer/models.py:56 +msgid "Timestamp" +msgstr "" + +#: importer/models.py:61 +msgid "Data file to import" +msgstr "" + +#: importer/models.py:70 templates/js/translated/tables.js:558 +msgid "Columns" +msgstr "" + +#: importer/models.py:81 +msgid "Import status" +msgstr "" + +#: importer/models.py:91 +msgid "Field Defaults" +msgstr "" + +#: importer/models.py:201 +msgid "Some required fields have not been mapped" +msgstr "" + +#: importer/models.py:346 +msgid "Column is already mapped to a database field" +msgstr "" + +#: importer/models.py:351 +msgid "Field is already mapped to a data column" +msgstr "" + +#: importer/models.py:360 +msgid "Column mapping must be linked to a valid import session" +msgstr "" + +#: importer/models.py:365 +msgid "Column does not exist in the data file" +msgstr "" + +#: importer/models.py:372 +#, fuzzy +#| msgid "User does not have permission to view this model" +msgid "Field does not exist in the target model" +msgstr "کاربر سطح دسترسی نمایش این مدل را ندارد" + +#: importer/models.py:376 +msgid "Selected field is read-only" +msgstr "" + +#: importer/models.py:381 importer/models.py:452 +msgid "Import Session" msgstr "" -#: company/templates/company/supplier_part.html:68 -#: company/templates/company/supplier_part.html:69 -#: templates/js/translated/company.js:269 -msgid "Duplicate Supplier Part" +#: importer/models.py:385 +msgid "Field" msgstr "" -#: company/templates/company/supplier_part.html:73 -msgid "Delete Supplier Part" +#: importer/models.py:387 +msgid "Column" msgstr "" -#: company/templates/company/supplier_part.html:74 -msgid "Delete Supplier Part" +#: importer/models.py:456 +msgid "Row Index" msgstr "" -#: company/templates/company/supplier_part.html:133 -msgid "No supplier information available" +#: importer/models.py:459 +msgid "Original row data" msgstr "" -#: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:519 -#: templates/js/translated/company.js:349 templates/js/translated/part.js:1787 -#: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1850 -#: templates/js/translated/purchase_order.js:2028 -msgid "SKU" +#: importer/models.py:462 part/models.py:3841 +msgid "Data" msgstr "" -#: company/templates/company/supplier_part.html:206 -msgid "Supplier Part Stock" +#: importer/models.py:464 machine/models.py:110 +msgid "Errors" msgstr "" -#: company/templates/company/supplier_part.html:209 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:207 -msgid "Create new stock item" +#: importer/models.py:466 part/api.py:874 +msgid "Valid" msgstr "" -#: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:208 -#: templates/js/translated/stock.js:537 -msgid "New Stock Item" +#: importer/operations.py:28 importer/operations.py:49 +#, fuzzy +#| msgid "Unsupported file type" +msgid "Unsupported data file format" +msgstr "این نوع فایل پشتیبانی نمی‌شود" + +#: importer/operations.py:40 +msgid "Failed to open data file" msgstr "" -#: company/templates/company/supplier_part.html:223 -msgid "Supplier Part Orders" +#: importer/operations.py:51 +msgid "Invalid data file dimensions" msgstr "" -#: company/templates/company/supplier_part.html:246 -msgid "Pricing Information" +#: importer/serializers.py:135 +msgid "Rows" msgstr "" -#: company/templates/company/supplier_part.html:251 -#: templates/js/translated/company.js:398 -#: templates/js/translated/pricing.js:684 -msgid "Add Price Break" +#: importer/serializers.py:136 +msgid "List of row IDs to accept" msgstr "" -#: company/templates/company/supplier_part.html:276 -msgid "Supplier Part QR Code" +#: importer/serializers.py:149 +#, fuzzy +#| msgid "No data rows provided" +msgid "No rows provided" +msgstr "هیچ ردیف داده ای ارائه نشده است" + +#: importer/serializers.py:153 +msgid "Row does not belong to this session" msgstr "" -#: company/templates/company/supplier_part.html:287 -msgid "Link Barcode to Supplier Part" +#: importer/serializers.py:156 +msgid "Row contains invalid data" msgstr "" -#: company/templates/company/supplier_part.html:359 -msgid "Update Part Availability" +#: importer/serializers.py:159 +msgid "Row has already been completed" msgstr "" -#: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:831 part/stocktake.py:224 -#: part/templates/part/category.html:183 -#: part/templates/part/category_sidebar.html:17 stock/admin.py:68 -#: stock/serializers.py:918 stock/serializers.py:1091 -#: stock/templates/stock/location.html:170 -#: 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:1061 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 -#: users/models.py:206 -msgid "Stock Items" +#: importer/status_codes.py:11 +msgid "Initializing" msgstr "" -#: company/templates/company/supplier_part_sidebar.html:9 -msgid "Supplier Part Pricing" +#: importer/status_codes.py:12 +msgid "Mapping Columns" msgstr "" -#: company/views.py:32 -msgid "New Supplier" +#: importer/status_codes.py:13 +msgid "Importing Data" msgstr "" -#: company/views.py:38 -msgid "New Manufacturer" +#: importer/status_codes.py:16 +msgid "Processing Data" msgstr "" -#: company/views.py:43 templates/InvenTree/search.html:210 -#: templates/navbar.html:60 -msgid "Customers" +#: importer/validators.py:21 +msgid "Data file exceeds maximum size limit" msgstr "" -#: company/views.py:44 -msgid "New Customer" +#: importer/validators.py:26 +msgid "Data file contains no headers" msgstr "" -#: company/views.py:52 -msgid "New Company" +#: importer/validators.py:29 +msgid "Data file contains too many columns" msgstr "" -#: generic/states/tests.py:18 order/status_codes.py:13 -msgid "Placed" +#: importer/validators.py:32 +msgid "Data file contains too many rows" +msgstr "" + +#: importer/validators.py:49 +msgid "Value must be a valid dictionary object" msgstr "" #: machine/machine_types/label_printer.py:212 @@ -4783,7 +4996,7 @@ msgstr "" msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:229 order/api.py:1467 +#: machine/machine_types/label_printer.py:229 order/api.py:1388 #: templates/js/translated/sales_order.js:1078 msgid "Unknown" msgstr "" @@ -4852,10 +5065,6 @@ msgstr "" msgid "Initialized" msgstr "" -#: machine/models.py:110 -msgid "Errors" -msgstr "" - #: machine/models.py:117 msgid "Machine status" msgstr "" @@ -4881,44 +5090,44 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:157 order/serializers.py:90 +#: order/api.py:149 order/serializers.py:94 #: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:113 #: order/templates/order/sales_order_base.html:122 msgid "Order Status" msgstr "" -#: order/api.py:161 templates/js/translated/table_filters.js:194 -#: templates/js/translated/table_filters.js:779 +#: order/api.py:153 templates/js/translated/table_filters.js:194 +#: templates/js/translated/table_filters.js:784 msgid "Has Pricing" msgstr "" -#: order/api.py:236 +#: order/api.py:228 msgid "No matching purchase order found" msgstr "" -#: order/api.py:435 order/api.py:801 order/models.py:1395 order/models.py:1504 -#: order/models.py:1550 order/models.py:1664 order/models.py:1818 -#: order/models.py:2231 order/models.py:2282 +#: order/api.py:417 order/api.py:755 order/models.py:1400 order/models.py:1514 +#: order/models.py:1565 order/models.py:1680 order/models.py:1839 +#: order/models.py:2258 order/models.py:2314 #: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "" -#: order/api.py:439 order/api.py:822 +#: order/api.py:421 order/api.py:776 msgid "Order Complete" msgstr "" -#: order/api.py:462 +#: order/api.py:444 msgid "Order Pending" msgstr "" -#: order/api.py:1461 order/models.py:380 order/models.py:1396 -#: order/models.py:1505 order/templates/order/order_base.html:9 +#: order/api.py:1382 order/models.py:380 order/models.py:1401 +#: order/models.py:1515 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 -#: stock/serializers.py:118 stock/templates/stock/item_base.html:176 +#: stock/serializers.py:120 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/part.js:1746 templates/js/translated/pricing.js:804 +#: templates/js/translated/part.js:1749 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:1673 @@ -4926,8 +5135,8 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1465 order/models.py:1981 order/models.py:2232 -#: order/models.py:2283 order/templates/order/return_order_base.html:9 +#: order/api.py:1386 order/models.py:2007 order/models.py:2259 +#: order/models.py:2315 order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report.html:13 #: templates/js/translated/return_order.js:280 @@ -4939,11 +5148,11 @@ msgstr "" msgid "Total price for this order" msgstr "" -#: order/models.py:96 order/serializers.py:70 +#: order/models.py:96 order/serializers.py:72 msgid "Order Currency" msgstr "" -#: order/models.py:99 order/serializers.py:71 +#: order/models.py:99 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" @@ -4959,7 +5168,7 @@ msgstr "" msgid "Select project code for this order" msgstr "" -#: order/models.py:303 order/models.py:1301 order/models.py:1717 +#: order/models.py:303 order/models.py:1301 order/models.py:1733 msgid "Link to external page" msgstr "" @@ -5008,15 +5217,15 @@ msgstr "" msgid "received by" msgstr "" -#: order/models.py:514 order/models.py:2058 +#: order/models.py:514 order/models.py:2084 msgid "Issue Date" msgstr "" -#: order/models.py:515 order/models.py:2059 +#: order/models.py:515 order/models.py:2085 msgid "Date order was issued" msgstr "" -#: order/models.py:522 order/models.py:2066 +#: order/models.py:522 order/models.py:2092 msgid "Date order was completed" msgstr "" @@ -5032,15 +5241,15 @@ msgstr "" msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:962 order/models.py:2051 +#: order/models.py:962 order/models.py:2077 msgid "Customer Reference " msgstr "" -#: order/models.py:963 order/models.py:2052 +#: order/models.py:963 order/models.py:2078 msgid "Customer order reference code" msgstr "" -#: order/models.py:967 order/models.py:1671 +#: order/models.py:967 order/models.py:1687 #: templates/js/translated/sales_order.js:879 #: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" @@ -5102,20 +5311,24 @@ msgstr "" msgid "Unit price" msgstr "" -#: order/models.py:1380 +#: order/models.py:1361 +msgid "Purchase Order Line Item" +msgstr "" + +#: order/models.py:1385 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1387 +#: order/models.py:1392 msgid "deleted" msgstr "" -#: order/models.py:1415 +#: order/models.py:1420 msgid "Supplier part" msgstr "" -#: order/models.py:1422 order/templates/order/order_base.html:196 -#: templates/js/translated/part.js:1870 templates/js/translated/part.js:1902 +#: order/models.py:1427 order/templates/order/order_base.html:196 +#: templates/js/translated/part.js:1873 templates/js/translated/part.js:1905 #: templates/js/translated/purchase_order.js:1306 #: templates/js/translated/purchase_order.js:2169 #: templates/js/translated/return_order.js:763 @@ -5124,196 +5337,232 @@ msgstr "" msgid "Received" msgstr "" -#: order/models.py:1423 +#: order/models.py:1428 msgid "Number of items received" msgstr "" -#: order/models.py:1431 stock/models.py:939 stock/serializers.py:556 +#: order/models.py:1436 stock/models.py:939 stock/serializers.py:602 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2311 msgid "Purchase Price" msgstr "" -#: order/models.py:1432 +#: order/models.py:1437 msgid "Unit purchase price" msgstr "" -#: order/models.py:1447 +#: order/models.py:1452 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1538 +#: order/models.py:1503 +msgid "Purchase Order Extra Line" +msgstr "" + +#: order/models.py:1532 +#, fuzzy +#| msgid "Sales Order Reference" +msgid "Sales Order Line Item" +msgstr "مرجع سفارش فروش" + +#: order/models.py:1553 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1543 +#: order/models.py:1558 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1569 part/templates/part/part_pricing.html:107 +#: order/models.py:1584 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:1570 +#: order/models.py:1585 msgid "Unit sale price" msgstr "" -#: order/models.py:1579 order/status_codes.py:43 +#: order/models.py:1594 order/status_codes.py:43 #: templates/js/translated/sales_order.js:1559 #: templates/js/translated/sales_order.js:1680 #: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "" -#: order/models.py:1580 +#: order/models.py:1595 msgid "Shipped quantity" msgstr "" -#: order/models.py:1672 +#: order/models.py:1667 +#, fuzzy +#| msgid "Sales Order Reference" +msgid "Sales Order Shipment" +msgstr "مرجع سفارش فروش" + +#: order/models.py:1688 msgid "Date of shipment" msgstr "" -#: order/models.py:1678 templates/js/translated/sales_order.js:1072 +#: order/models.py:1694 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "" -#: order/models.py:1679 +#: order/models.py:1695 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1687 +#: order/models.py:1703 msgid "Checked By" msgstr "" -#: order/models.py:1688 +#: order/models.py:1704 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1695 order/models.py:1908 order/serializers.py:1342 -#: order/serializers.py:1452 templates/js/translated/model_renderers.js:454 +#: order/models.py:1711 order/models.py:1934 order/serializers.py:1398 +#: order/serializers.py:1508 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "" -#: order/models.py:1696 +#: order/models.py:1712 msgid "Shipment number" msgstr "" -#: order/models.py:1704 +#: order/models.py:1720 msgid "Tracking Number" msgstr "" -#: order/models.py:1705 +#: order/models.py:1721 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1712 +#: order/models.py:1728 msgid "Invoice Number" msgstr "" -#: order/models.py:1713 +#: order/models.py:1729 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1733 +#: order/models.py:1749 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1736 +#: order/models.py:1752 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1854 order/models.py:1856 +#: order/models.py:1828 +#, fuzzy +#| msgid "Sales Order Reference" +msgid "Sales Order Extra Line" +msgstr "مرجع سفارش فروش" + +#: order/models.py:1857 +#, fuzzy +#| msgid "Sales Order Reference" +msgid "Sales Order Allocation" +msgstr "مرجع سفارش فروش" + +#: order/models.py:1880 order/models.py:1882 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1863 +#: order/models.py:1889 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1866 +#: order/models.py:1892 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1869 +#: order/models.py:1895 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1888 order/serializers.py:1219 +#: order/models.py:1914 order/serializers.py:1275 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1891 +#: order/models.py:1917 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1892 plugin/base/barcodes/api.py:481 +#: order/models.py:1918 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1900 +#: order/models.py:1926 msgid "Line" msgstr "" -#: order/models.py:1909 +#: order/models.py:1935 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1922 order/models.py:2239 +#: order/models.py:1948 order/models.py:2266 #: templates/js/translated/return_order.js:721 msgid "Item" msgstr "" -#: order/models.py:1923 +#: order/models.py:1949 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1932 +#: order/models.py:1958 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2021 +#: order/models.py:2047 msgid "Return Order reference" msgstr "" -#: order/models.py:2033 +#: order/models.py:2059 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2045 +#: order/models.py:2071 msgid "Return order status" msgstr "" -#: order/models.py:2224 +#: order/models.py:2237 +msgid "Return Order Line Item" +msgstr "" + +#: order/models.py:2251 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2240 +#: order/models.py:2267 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2246 +#: order/models.py:2273 msgid "Received Date" msgstr "" -#: order/models.py:2247 +#: order/models.py:2274 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2258 templates/js/translated/return_order.js:732 +#: order/models.py:2285 templates/js/translated/return_order.js:732 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2259 +#: order/models.py:2286 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2266 +#: order/models.py:2293 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:79 order/templates/order/po_sidebar.html:5 +#: order/models.py:2303 +msgid "Return Order Extra Line" +msgstr "" + +#: order/serializers.py:83 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_purchase_order_report.html:22 @@ -5322,163 +5571,171 @@ msgstr "" msgid "Line Items" msgstr "" -#: order/serializers.py:83 +#: order/serializers.py:87 msgid "Completed Lines" msgstr "" -#: order/serializers.py:286 +#: order/serializers.py:305 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:301 order/serializers.py:1235 +#: order/serializers.py:320 order/serializers.py:1291 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:311 order/serializers.py:1245 +#: order/serializers.py:330 order/serializers.py:1301 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:439 +#: order/serializers.py:468 msgid "Order is not open" msgstr "" -#: order/serializers.py:460 +#: order/serializers.py:489 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:462 +#: order/serializers.py:491 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:472 +#: order/serializers.py:501 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:478 +#: order/serializers.py:507 msgid "Merge Items" msgstr "" -#: order/serializers.py:480 +#: order/serializers.py:509 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:498 +#: order/serializers.py:522 part/models.py:945 +msgid "Internal Part Number" +msgstr "" + +#: order/serializers.py:530 +msgid "Internal Part Name" +msgstr "" + +#: order/serializers.py:546 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:501 +#: order/serializers.py:549 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:509 +#: order/serializers.py:557 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:510 +#: order/serializers.py:558 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:549 order/serializers.py:1313 +#: order/serializers.py:598 order/serializers.py:1369 msgid "Line Item" msgstr "" -#: order/serializers.py:555 +#: order/serializers.py:604 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:565 order/serializers.py:673 order/serializers.py:1657 +#: order/serializers.py:614 order/serializers.py:722 order/serializers.py:1715 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:581 templates/js/translated/purchase_order.js:1130 +#: order/serializers.py:630 templates/js/translated/purchase_order.js:1130 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:589 templates/js/translated/purchase_order.js:1154 +#: order/serializers.py:638 templates/js/translated/purchase_order.js:1154 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:600 templates/js/translated/barcode.js:52 +#: order/serializers.py:649 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:601 +#: order/serializers.py:650 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:617 +#: order/serializers.py:666 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:641 +#: order/serializers.py:690 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:689 order/serializers.py:1673 +#: order/serializers.py:738 order/serializers.py:1731 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:705 +#: order/serializers.py:754 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:716 +#: order/serializers.py:765 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1062 +#: order/serializers.py:1117 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1122 +#: order/serializers.py:1178 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1183 order/serializers.py:1322 +#: order/serializers.py:1239 order/serializers.py:1378 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1202 +#: order/serializers.py:1258 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1332 +#: order/serializers.py:1388 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1354 order/serializers.py:1460 +#: order/serializers.py:1410 order/serializers.py:1516 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1357 order/serializers.py:1463 +#: order/serializers.py:1413 order/serializers.py:1519 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1404 +#: order/serializers.py:1460 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1411 +#: order/serializers.py:1467 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1627 +#: order/serializers.py:1685 msgid "Return order line item" msgstr "" -#: order/serializers.py:1633 +#: order/serializers.py:1691 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1636 +#: order/serializers.py:1694 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1665 +#: order/serializers.py:1723 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1743 +#: order/serializers.py:1806 msgid "Line price currency" msgstr "" @@ -5808,7 +6065,7 @@ msgstr "" #: 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:1073 +#: templates/js/translated/part.js:1076 #: templates/js/translated/purchase_order.js:1752 #: templates/js/translated/return_order.js:380 #: templates/js/translated/sales_order.js:891 @@ -5904,34 +6161,29 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:398 part/models.py:3944 part/stocktake.py:219 +#: part/admin.py:39 part/admin.py:398 part/models.py:3991 part/stocktake.py:219 #: stock/admin.py:152 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:405 part/models.py:3945 part/stocktake.py:220 -#: stock/admin.py:156 -msgid "Part Name" -msgstr "" - #: part/admin.py:45 part/stocktake.py:221 msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:940 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:944 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 -#: templates/js/translated/part.js:1227 templates/js/translated/part.js:2341 +#: templates/js/translated/part.js:1230 templates/js/translated/part.js:2344 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:949 part/templates/part/part_base.html:277 -#: report/models.py:162 templates/js/translated/part.js:1232 -#: templates/js/translated/part.js:2347 +#: part/admin.py:50 part/models.py:953 part/templates/part/part_base.html:277 +#: report/models.py:162 templates/js/translated/part.js:1235 +#: templates/js/translated/part.js:2350 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:319 part/models.py:922 +#: part/admin.py:53 part/admin.py:319 part/models.py:926 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5944,7 +6196,8 @@ msgstr "" msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:304 part/stocktake.py:223 +#: part/admin.py:67 part/admin.py:304 part/serializers.py:837 +#: part/stocktake.py:223 msgid "Category Name" msgstr "" @@ -5956,11 +6209,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:908 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:912 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1036 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1040 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5968,18 +6221,19 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:150 part/templates/part/part_base.html:241 stock/admin.py:235 -#: templates/js/translated/part.js:715 templates/js/translated/part.js:2153 +#: part/admin.py:150 part/serializers.py:854 +#: part/templates/part/part_base.html:241 stock/admin.py:235 +#: templates/js/translated/part.js:714 templates/js/translated/part.js:2156 msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3088 part/models.py:3102 -#: templates/js/translated/part.js:970 +#: part/admin.py:155 part/models.py:3098 part/models.py:3112 +#: templates/js/translated/part.js:973 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3095 part/models.py:3109 -#: templates/js/translated/part.js:980 +#: part/admin.py:158 part/models.py:3105 part/models.py:3119 +#: templates/js/translated/part.js:983 msgid "Maximum Cost" msgstr "" @@ -5996,14 +6250,14 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:396 part/serializers.py:124 -#: part/serializers.py:267 part/serializers.py:386 +#: part/admin.py:325 part/models.py:397 part/serializers.py:130 +#: part/serializers.py:282 part/serializers.py:404 #: 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:2807 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:203 msgid "Parts" msgstr "" @@ -6020,125 +6274,117 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:402 part/models.py:3946 -msgid "Part IPN" -msgstr "" - -#: part/admin.py:415 part/serializers.py:1274 +#: part/admin.py:415 part/serializers.py:1302 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:420 part/serializers.py:1289 +#: part/admin.py:420 part/serializers.py:1317 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "" -#: part/api.py:104 +#: part/api.py:105 msgid "Starred" msgstr "" -#: part/api.py:106 +#: part/api.py:107 msgid "Filter by starred categories" msgstr "" -#: part/api.py:123 stock/api.py:312 +#: part/api.py:124 stock/api.py:312 msgid "Depth" msgstr "" -#: part/api.py:123 +#: part/api.py:124 msgid "Filter by category depth" msgstr "" -#: part/api.py:141 stock/api.py:330 +#: part/api.py:142 stock/api.py:330 msgid "Top Level" msgstr "" -#: part/api.py:143 +#: part/api.py:144 msgid "Filter by top-level categories" msgstr "" -#: part/api.py:156 stock/api.py:345 +#: part/api.py:157 stock/api.py:345 msgid "Cascade" msgstr "" -#: part/api.py:158 +#: part/api.py:159 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:179 templates/js/translated/part.js:308 +#: part/api.py:180 templates/js/translated/part.js:307 msgid "Parent" msgstr "" -#: part/api.py:181 +#: part/api.py:182 msgid "Filter by parent category" msgstr "" -#: part/api.py:214 +#: part/api.py:215 msgid "Exclude Tree" msgstr "" -#: part/api.py:216 +#: part/api.py:217 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:449 +#: part/api.py:442 msgid "Has Results" msgstr "" -#: part/api.py:616 +#: part/api.py:609 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:634 +#: part/api.py:627 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:650 +#: part/api.py:643 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:734 +#: part/api.py:727 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:881 -msgid "Valid" -msgstr "" - -#: part/api.py:882 +#: part/api.py:875 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:888 +#: part/api.py:881 msgid "This option must be selected" msgstr "" -#: part/api.py:1105 +#: part/api.py:1098 msgid "BOM Valid" msgstr "" -#: part/api.py:1508 part/models.py:932 part/models.py:3374 part/models.py:3889 -#: part/serializers.py:401 part/serializers.py:1130 -#: part/templates/part/part_base.html:260 stock/api.py:791 +#: part/api.py:1494 part/models.py:936 part/models.py:3385 part/models.py:3936 +#: part/serializers.py:419 part/serializers.py:1158 +#: part/templates/part/part_base.html:260 stock/api.py:783 #: 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:2380 msgid "Category" msgstr "" -#: part/api.py:1796 +#: part/api.py:1784 msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:104 part/models.py:975 +#: part/bom.py:170 part/models.py:104 part/models.py:979 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:833 +#: part/bom.py:171 part/serializers.py:861 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6147,7 +6393,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:85 part/models.py:3890 part/templates/part/category.html:16 +#: part/models.py:85 part/models.py:3937 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -6162,7 +6408,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:110 stock/models.py:175 templates/js/translated/part.js:2810 +#: part/models.py:110 stock/models.py:175 templates/js/translated/part.js:2813 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 @@ -6194,1002 +6440,1035 @@ msgstr "" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:485 +#: part/models.py:486 +msgid "Cannot delete this part as it is locked" +msgstr "" + +#: part/models.py:489 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:490 +#: part/models.py:494 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:528 +#: part/models.py:532 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:576 part/models.py:583 +#: part/models.py:580 part/models.py:587 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:595 +#: part/models.py:599 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:658 +#: part/models.py:662 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:736 +#: part/models.py:740 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:837 +#: part/models.py:841 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:847 +#: part/models.py:851 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:862 +#: part/models.py:866 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:891 part/models.py:3945 +#: part/models.py:895 part/models.py:3992 msgid "Part name" msgstr "" -#: part/models.py:896 +#: part/models.py:900 msgid "Is Template" msgstr "" -#: part/models.py:897 +#: part/models.py:901 msgid "Is this part a template part?" msgstr "" -#: part/models.py:907 +#: part/models.py:911 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:915 +#: part/models.py:919 msgid "Part description (optional)" msgstr "" -#: part/models.py:923 +#: part/models.py:927 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:933 +#: part/models.py:937 msgid "Part category" msgstr "" -#: part/models.py:941 -msgid "Internal Part Number" -msgstr "" - -#: part/models.py:948 +#: part/models.py:952 msgid "Part revision or version number" msgstr "" -#: part/models.py:973 +#: part/models.py:977 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1019 part/templates/part/part_base.html:376 +#: part/models.py:1023 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:1020 +#: part/models.py:1024 msgid "Default supplier part" msgstr "" -#: part/models.py:1027 +#: part/models.py:1031 msgid "Default Expiry" msgstr "" -#: part/models.py:1028 +#: part/models.py:1032 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1037 +#: part/models.py:1041 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1046 +#: part/models.py:1050 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1053 +#: part/models.py:1057 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1059 +#: part/models.py:1063 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1065 +#: part/models.py:1069 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1071 +#: part/models.py:1075 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1077 +#: part/models.py:1081 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1081 +#: part/models.py:1085 msgid "Is this part active?" msgstr "" -#: part/models.py:1087 +#: part/models.py:1090 templates/js/translated/part.js:818 +#: templates/js/translated/table_filters.js:721 +msgid "Locked" +msgstr "" + +#: part/models.py:1091 +msgid "Locked parts cannot be edited" +msgstr "" + +#: part/models.py:1097 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1093 +#: part/models.py:1103 msgid "BOM checksum" msgstr "" -#: part/models.py:1094 +#: part/models.py:1104 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1102 +#: part/models.py:1112 msgid "BOM checked by" msgstr "" -#: part/models.py:1107 +#: part/models.py:1117 msgid "BOM checked date" msgstr "" -#: part/models.py:1123 +#: part/models.py:1133 msgid "Creation User" msgstr "" -#: part/models.py:1133 +#: part/models.py:1143 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1138 part/templates/part/part_base.html:339 +#: part/models.py:1148 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:2474 msgid "Last Stocktake" msgstr "" -#: part/models.py:2011 +#: part/models.py:2021 msgid "Sell multiple" msgstr "" -#: part/models.py:3002 +#: part/models.py:3012 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3018 +#: part/models.py:3028 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3019 +#: part/models.py:3029 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3025 +#: part/models.py:3035 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3026 +#: part/models.py:3036 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3032 +#: part/models.py:3042 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3033 +#: part/models.py:3043 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3039 +#: part/models.py:3049 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3040 +#: part/models.py:3050 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3046 +#: part/models.py:3056 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3047 +#: part/models.py:3057 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3053 +#: part/models.py:3063 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3054 +#: part/models.py:3064 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3060 +#: part/models.py:3070 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3061 +#: part/models.py:3071 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3067 +#: part/models.py:3077 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3068 +#: part/models.py:3078 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3074 +#: part/models.py:3084 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3075 +#: part/models.py:3085 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3081 +#: part/models.py:3091 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3082 +#: part/models.py:3092 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3089 +#: part/models.py:3099 msgid "Override minimum cost" msgstr "" -#: part/models.py:3096 +#: part/models.py:3106 msgid "Override maximum cost" msgstr "" -#: part/models.py:3103 +#: part/models.py:3113 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3110 +#: part/models.py:3120 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3116 +#: part/models.py:3126 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3117 +#: part/models.py:3127 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3123 +#: part/models.py:3133 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3124 +#: part/models.py:3134 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3130 +#: part/models.py:3140 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3131 +#: part/models.py:3141 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3137 +#: part/models.py:3147 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3138 +#: part/models.py:3148 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3157 +#: part/models.py:3167 msgid "Part for stocktake" msgstr "" -#: part/models.py:3162 +#: part/models.py:3172 msgid "Item Count" msgstr "" -#: part/models.py:3163 +#: part/models.py:3173 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3171 +#: part/models.py:3181 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3175 part/models.py:3258 +#: part/models.py:3185 part/models.py:3268 #: part/templates/part/part_scheduling.html:13 #: 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:1086 templates/js/translated/pricing.js:826 +#: templates/js/translated/part.js:1089 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 #: templates/js/translated/purchase_order.js:1731 #: templates/js/translated/stock.js:2821 msgid "Date" msgstr "" -#: part/models.py:3176 +#: part/models.py:3186 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3184 +#: part/models.py:3194 msgid "Additional notes" msgstr "" -#: part/models.py:3194 +#: part/models.py:3204 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3200 +#: part/models.py:3210 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3201 +#: part/models.py:3211 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3207 +#: part/models.py:3217 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3208 +#: part/models.py:3218 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3264 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3274 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3265 +#: part/models.py:3275 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3270 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3280 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3271 +#: part/models.py:3281 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3281 +#: part/models.py:3291 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3423 +#: part/models.py:3301 +msgid "Part Sale Price Break" +msgstr "" + +#: part/models.py:3413 +msgid "Part Test Template" +msgstr "" + +#: part/models.py:3439 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3444 part/models.py:3608 +#: part/models.py:3460 part/models.py:3629 msgid "Choices must be unique" msgstr "" -#: part/models.py:3455 +#: part/models.py:3471 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3466 +#: part/models.py:3482 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3483 templates/js/translated/part.js:2880 +#: part/models.py:3499 templates/js/translated/part.js:2883 msgid "Test Name" msgstr "" -#: part/models.py:3484 +#: part/models.py:3500 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3490 +#: part/models.py:3506 msgid "Test Key" msgstr "" -#: part/models.py:3491 +#: part/models.py:3507 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3498 +#: part/models.py:3514 msgid "Test Description" msgstr "" -#: part/models.py:3499 +#: part/models.py:3515 msgid "Enter description for this test" msgstr "" -#: part/models.py:3503 report/models.py:209 -#: templates/js/translated/part.js:2901 +#: part/models.py:3519 report/models.py:209 +#: templates/js/translated/part.js:2904 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "" -#: part/models.py:3503 +#: part/models.py:3519 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3508 templates/js/translated/part.js:2909 +#: part/models.py:3524 templates/js/translated/part.js:2912 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3509 +#: part/models.py:3525 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3514 templates/js/translated/part.js:2917 +#: part/models.py:3530 templates/js/translated/part.js:2920 msgid "Requires Value" msgstr "" -#: part/models.py:3515 +#: part/models.py:3531 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3520 templates/js/translated/part.js:2924 +#: part/models.py:3536 templates/js/translated/part.js:2927 msgid "Requires Attachment" msgstr "" -#: part/models.py:3522 +#: part/models.py:3538 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3528 part/models.py:3667 templates/js/translated/part.js:1637 +#: part/models.py:3544 part/models.py:3688 templates/js/translated/part.js:1640 msgid "Choices" msgstr "" -#: part/models.py:3529 +#: part/models.py:3545 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3583 +#: part/models.py:3577 +msgid "Part Parameter Template" +msgstr "" + +#: part/models.py:3604 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3588 +#: part/models.py:3609 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3625 +#: part/models.py:3646 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3640 +#: part/models.py:3661 msgid "Parameter Name" msgstr "" -#: part/models.py:3647 +#: part/models.py:3668 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3655 +#: part/models.py:3676 msgid "Parameter description" msgstr "" -#: part/models.py:3661 templates/js/translated/part.js:1628 -#: templates/js/translated/table_filters.js:825 +#: part/models.py:3682 templates/js/translated/part.js:1631 +#: templates/js/translated/table_filters.js:830 msgid "Checkbox" msgstr "" -#: part/models.py:3662 +#: part/models.py:3683 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3668 +#: part/models.py:3689 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3745 +#: part/models.py:3723 +msgid "Part Parameter" +msgstr "" + +#: part/models.py:3749 +msgid "Parameter cannot be modified - part is locked" +msgstr "" + +#: part/models.py:3785 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3788 +#: part/models.py:3828 msgid "Parent Part" msgstr "" -#: part/models.py:3796 part/models.py:3897 part/models.py:3898 +#: part/models.py:3836 part/models.py:3944 part/models.py:3945 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3801 -msgid "Data" +#: part/models.py:3842 +msgid "Parameter Value" msgstr "" -#: part/models.py:3802 -msgid "Parameter Value" +#: part/models.py:3892 +msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:3904 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3951 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3905 +#: part/models.py:3952 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3943 +#: part/models.py:3990 msgid "Part ID or part name" msgstr "" -#: part/models.py:3944 +#: part/models.py:3991 msgid "Unique part ID value" msgstr "" -#: part/models.py:3946 +#: part/models.py:3993 msgid "Part IPN value" msgstr "" -#: part/models.py:3947 +#: part/models.py:3994 msgid "Level" msgstr "" -#: part/models.py:3947 +#: part/models.py:3994 msgid "BOM level" msgstr "" -#: part/models.py:4037 +#: part/models.py:4105 +msgid "BOM item cannot be modified - assembly is locked" +msgstr "" + +#: part/models.py:4112 +msgid "BOM item cannot be modified - variant assembly is locked" +msgstr "" + +#: part/models.py:4122 msgid "Select parent part" msgstr "" -#: part/models.py:4047 +#: part/models.py:4132 msgid "Sub part" msgstr "" -#: part/models.py:4048 +#: part/models.py:4133 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4059 +#: part/models.py:4144 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4065 +#: part/models.py:4150 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4071 +#: part/models.py:4156 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4078 part/templates/part/upload_bom.html:55 +#: part/models.py:4163 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4079 +#: part/models.py:4164 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4086 +#: part/models.py:4171 msgid "BOM item reference" msgstr "" -#: part/models.py:4094 +#: part/models.py:4179 msgid "BOM item notes" msgstr "" -#: part/models.py:4100 +#: part/models.py:4185 msgid "Checksum" msgstr "" -#: part/models.py:4101 +#: part/models.py:4186 msgid "BOM line checksum" msgstr "" -#: part/models.py:4106 templates/js/translated/table_filters.js:174 +#: part/models.py:4191 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4107 +#: part/models.py:4192 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4112 part/templates/part/upload_bom.html:57 +#: part/models.py:4197 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:4113 +#: part/models.py:4198 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4118 part/templates/part/upload_bom.html:56 +#: part/models.py:4203 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4119 +#: part/models.py:4204 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4204 stock/models.py:663 +#: part/models.py:4289 stock/models.py:663 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4214 part/models.py:4216 +#: part/models.py:4299 part/models.py:4301 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4354 +#: part/models.py:4439 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4375 +#: part/models.py:4460 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4388 +#: part/models.py:4473 msgid "Parent BOM item" msgstr "" -#: part/models.py:4396 +#: part/models.py:4481 msgid "Substitute part" msgstr "" -#: part/models.py:4412 +#: part/models.py:4497 msgid "Part 1" msgstr "" -#: part/models.py:4420 +#: part/models.py:4505 msgid "Part 2" msgstr "" -#: part/models.py:4421 +#: part/models.py:4506 msgid "Select Related Part" msgstr "" -#: part/models.py:4440 +#: part/models.py:4525 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4445 +#: part/models.py:4530 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:118 +#: part/serializers.py:124 msgid "Parent Category" msgstr "" -#: part/serializers.py:119 templates/js/translated/part.js:309 +#: part/serializers.py:125 templates/js/translated/part.js:308 msgid "Parent part category" msgstr "" -#: part/serializers.py:126 part/serializers.py:148 +#: part/serializers.py:132 part/serializers.py:154 #: part/templates/part/category.html:122 part/templates/part/category.html:207 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" -#: part/serializers.py:180 +#: part/serializers.py:189 msgid "Results" msgstr "" -#: part/serializers.py:181 +#: part/serializers.py:190 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:205 part/serializers.py:223 stock/serializers.py:562 +#: part/serializers.py:217 part/serializers.py:235 stock/serializers.py:608 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:268 +#: part/serializers.py:283 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:392 +#: part/serializers.py:410 msgid "No parts selected" msgstr "" -#: part/serializers.py:402 +#: part/serializers.py:420 msgid "Select category" msgstr "" -#: part/serializers.py:437 +#: part/serializers.py:455 msgid "Original Part" msgstr "" -#: part/serializers.py:438 +#: part/serializers.py:456 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:461 msgid "Copy Image" msgstr "" -#: part/serializers.py:444 +#: part/serializers.py:462 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:450 part/templates/part/detail.html:277 +#: part/serializers.py:468 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:451 +#: part/serializers.py:469 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:457 +#: part/serializers.py:475 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:458 +#: part/serializers.py:476 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:464 +#: part/serializers.py:482 msgid "Copy Notes" msgstr "" -#: part/serializers.py:465 +#: part/serializers.py:483 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:483 +#: part/serializers.py:501 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:485 +#: part/serializers.py:503 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:492 +#: part/serializers.py:510 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:493 +#: part/serializers.py:511 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:510 +#: part/serializers.py:528 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:526 +#: part/serializers.py:544 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:536 +#: part/serializers.py:554 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:543 +#: part/serializers.py:561 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:552 +#: part/serializers.py:570 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:563 +#: part/serializers.py:581 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:570 +#: part/serializers.py:588 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:834 -msgid "External Stock" -msgstr "" - -#: part/serializers.py:836 +#: part/serializers.py:864 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:839 +#: part/serializers.py:867 msgid "Variant Stock" msgstr "" -#: part/serializers.py:869 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:472 +#: part/serializers.py:897 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:870 +#: part/serializers.py:898 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:876 templates/js/translated/part.js:102 +#: part/serializers.py:904 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:877 +#: part/serializers.py:905 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:883 +#: part/serializers.py:911 msgid "Supplier Information" msgstr "" -#: part/serializers.py:884 +#: part/serializers.py:912 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:892 +#: part/serializers.py:920 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:893 +#: part/serializers.py:921 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:898 +#: part/serializers.py:926 msgid "Existing Image" msgstr "" -#: part/serializers.py:899 +#: part/serializers.py:927 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:916 +#: part/serializers.py:944 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1122 +#: part/serializers.py:1150 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1132 +#: part/serializers.py:1160 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1142 +#: part/serializers.py:1170 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1148 +#: part/serializers.py:1176 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1149 +#: part/serializers.py:1177 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1154 +#: part/serializers.py:1182 msgid "Generate Report" msgstr "" -#: part/serializers.py:1155 +#: part/serializers.py:1183 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1160 +#: part/serializers.py:1188 msgid "Update Parts" msgstr "" -#: part/serializers.py:1161 +#: part/serializers.py:1189 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1169 +#: part/serializers.py:1197 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1275 +#: part/serializers.py:1303 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1282 +#: part/serializers.py:1310 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1290 +#: part/serializers.py:1318 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1297 +#: part/serializers.py:1325 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1326 +#: part/serializers.py:1354 msgid "Update" msgstr "" -#: part/serializers.py:1327 +#: part/serializers.py:1355 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1350 +#: part/serializers.py:1378 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1357 +#: part/serializers.py:1385 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1360 +#: part/serializers.py:1388 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1727 +#: part/serializers.py:1759 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1735 +#: part/serializers.py:1767 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1736 +#: part/serializers.py:1768 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1741 +#: part/serializers.py:1773 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1742 +#: part/serializers.py:1774 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1747 +#: part/serializers.py:1779 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1748 +#: part/serializers.py:1780 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1753 +#: part/serializers.py:1785 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1754 +#: part/serializers.py:1786 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1788 +#: part/serializers.py:1823 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1789 +#: part/serializers.py:1824 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1819 +#: part/serializers.py:1856 msgid "No part column specified" msgstr "" -#: part/serializers.py:1863 +#: part/serializers.py:1900 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1866 +#: part/serializers.py:1903 msgid "No matching part found" msgstr "" -#: part/serializers.py:1869 +#: part/serializers.py:1906 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1878 +#: part/serializers.py:1915 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1886 +#: part/serializers.py:1923 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1907 +#: part/serializers.py:1946 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:225 templates/js/translated/part.js:1067 -#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 +#: part/stocktake.py:225 templates/js/translated/part.js:1070 +#: templates/js/translated/part.js:1825 templates/js/translated/part.js:1881 #: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "" @@ -7507,7 +7786,7 @@ msgstr "" #: part/templates/part/part_base.html:52 #: stock/templates/stock/item_base.html:62 -#: stock/templates/stock/location.html:74 templates/js/translated/label.js:143 +#: stock/templates/stock/location.html:74 templates/js/translated/label.js:136 msgid "Print Label" msgstr "" @@ -7529,7 +7808,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:2296 msgid "Part actions" msgstr "" @@ -7569,6 +7848,10 @@ msgstr "" msgid "Part can be sold to customers" msgstr "" +#: part/templates/part/part_base.html:145 +msgid "Part is not active" +msgstr "" + #: part/templates/part/part_base.html:153 msgid "Part is virtual (not a physical part)" msgstr "" @@ -7597,7 +7880,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:322 templates/js/translated/bom.js:1071 -#: templates/js/translated/part.js:1265 templates/js/translated/part.js:2444 +#: templates/js/translated/part.js:1268 templates/js/translated/part.js:2447 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" @@ -7690,8 +7973,8 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/part.js:1243 templates/js/translated/part.js:2146 -#: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 +#: templates/js/translated/part.js:1246 templates/js/translated/part.js:2149 +#: templates/js/translated/part.js:2395 templates/js/translated/stock.js:1059 #: templates/js/translated/stock.js:2070 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -7811,8 +8094,8 @@ msgstr "" #: part/templates/part/stock_count.html:7 #: templates/js/translated/model_renderers.js:227 -#: templates/js/translated/part.js:705 templates/js/translated/part.js:2141 -#: templates/js/translated/part.js:2143 +#: templates/js/translated/part.js:704 templates/js/translated/part.js:2144 +#: templates/js/translated/part.js:2146 msgid "No Stock" msgstr "" @@ -7956,7 +8239,7 @@ msgstr "" msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2589 +#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2590 #: templates/js/translated/sales_order.js:1953 msgid "Insufficient stock available" msgstr "" @@ -8051,7 +8334,7 @@ msgstr "" msgid "Quantity to allocate" msgstr "" -#: plugin/base/label/label.py:39 templates/js/translated/label.js:155 +#: plugin/base/label/label.py:39 templates/js/translated/label.js:148 msgid "Label printing failed" msgstr "" @@ -8748,7 +9031,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report.html:25 #: report/templates/report/inventree_test_report.html:88 stock/models.py:825 -#: stock/serializers.py:149 stock/templates/stock/item_base.html:311 +#: stock/serializers.py:151 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:230 @@ -8778,7 +9061,7 @@ msgstr "" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2447 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2457 msgid "Result" msgstr "" @@ -8799,7 +9082,7 @@ msgid "No result" msgstr "" #: report/templates/report/inventree_test_report.html:153 -#: stock/templates/stock/stock_sidebar.html:16 +#: stock/serializers.py:591 stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" @@ -8829,10 +9112,6 @@ msgstr "" msgid "Location ID" msgstr "" -#: stock/admin.py:53 stock/admin.py:175 -msgid "Location Name" -msgstr "" - #: stock/admin.py:63 stock/templates/stock/location.html:131 #: stock/templates/stock/location.html:137 msgid "Location Path" @@ -8909,7 +9188,7 @@ msgstr "" msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:369 stock/serializers.py:1085 +#: stock/api.py:369 stock/serializers.py:1148 msgid "Parent Location" msgstr "" @@ -8917,44 +9196,45 @@ msgstr "" msgid "Filter by parent location" msgstr "" -#: stock/api.py:625 templates/js/translated/table_filters.js:427 +#: stock/api.py:617 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:813 +#: stock/api.py:805 msgid "Part Tree" msgstr "" -#: stock/api.py:843 +#: stock/api.py:835 msgid "Expiry date before" msgstr "" -#: stock/api.py:847 +#: stock/api.py:839 msgid "Expiry date after" msgstr "" -#: stock/api.py:850 stock/templates/stock/item_base.html:439 +#: stock/api.py:842 stock/serializers.py:596 +#: stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "" -#: stock/api.py:937 +#: stock/api.py:929 msgid "Quantity is required" msgstr "" -#: stock/api.py:943 +#: stock/api.py:935 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:974 +#: stock/api.py:966 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:984 +#: stock/api.py:976 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1015 +#: stock/api.py:1007 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -9021,7 +9301,7 @@ msgstr "" msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:669 stock/serializers.py:446 +#: stock/models.py:669 stock/serializers.py:477 msgid "Stock item cannot be created for virtual parts" msgstr "" @@ -9066,7 +9346,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:799 stock/serializers.py:1476 +#: stock/models.py:799 stock/serializers.py:1542 msgid "Packaging this stock item is stored in" msgstr "" @@ -9078,7 +9358,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:843 stock/serializers.py:1459 +#: stock/models.py:843 stock/serializers.py:1525 msgid "Batch code for this stock item" msgstr "" @@ -9155,7 +9435,7 @@ msgstr "" msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1520 stock/serializers.py:660 +#: stock/models.py:1520 stock/serializers.py:718 msgid "Serial numbers already exist" msgstr "" @@ -9187,7 +9467,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1658 stock/serializers.py:1365 +#: stock/models.py:1658 stock/serializers.py:1431 msgid "Duplicate stock items" msgstr "" @@ -9207,288 +9487,330 @@ msgstr "" msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2345 +#: stock/models.py:2317 +msgid "Stock Item Tracking" +msgstr "" + +#: stock/models.py:2350 msgid "Entry notes" msgstr "" -#: stock/models.py:2413 +#: stock/models.py:2390 +msgid "Stock Item Test Result" +msgstr "" + +#: stock/models.py:2423 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2418 +#: stock/models.py:2428 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2423 +#: stock/models.py:2433 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2447 +#: stock/models.py:2457 msgid "Test result" msgstr "" -#: stock/models.py:2454 +#: stock/models.py:2464 msgid "Test output value" msgstr "" -#: stock/models.py:2462 +#: stock/models.py:2472 msgid "Test result attachment" msgstr "" -#: stock/models.py:2466 +#: stock/models.py:2476 msgid "Test notes" msgstr "" -#: stock/models.py:2474 templates/js/translated/stock.js:1548 +#: stock/models.py:2484 templates/js/translated/stock.js:1548 msgid "Test station" msgstr "" -#: stock/models.py:2475 +#: stock/models.py:2485 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2481 +#: stock/models.py:2491 msgid "Started" msgstr "" -#: stock/models.py:2482 +#: stock/models.py:2492 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2488 +#: stock/models.py:2498 msgid "Finished" msgstr "" -#: stock/models.py:2489 +#: stock/models.py:2499 msgid "The timestamp of the test finish" msgstr "" -#: stock/serializers.py:74 +#: stock/serializers.py:76 msgid "Generated batch code" msgstr "" -#: stock/serializers.py:83 +#: stock/serializers.py:85 msgid "Select build order" msgstr "" -#: stock/serializers.py:92 +#: stock/serializers.py:94 msgid "Select stock item to generate batch code for" msgstr "" -#: stock/serializers.py:101 +#: stock/serializers.py:103 msgid "Select location to generate batch code for" msgstr "" -#: stock/serializers.py:110 +#: stock/serializers.py:112 msgid "Select part to generate batch code for" msgstr "" -#: stock/serializers.py:119 +#: stock/serializers.py:121 msgid "Select purchase order" msgstr "" -#: stock/serializers.py:126 +#: stock/serializers.py:128 msgid "Enter quantity for batch code" msgstr "" -#: stock/serializers.py:149 +#: stock/serializers.py:151 msgid "Generated serial number" msgstr "" -#: stock/serializers.py:158 +#: stock/serializers.py:160 msgid "Select part to generate serial number for" msgstr "" -#: stock/serializers.py:166 +#: stock/serializers.py:168 msgid "Quantity of serial numbers to generate" msgstr "" -#: stock/serializers.py:228 +#: stock/serializers.py:233 msgid "Test template for this result" msgstr "" -#: stock/serializers.py:247 +#: stock/serializers.py:252 msgid "Template ID or test name must be provided" msgstr "" -#: stock/serializers.py:279 +#: stock/serializers.py:284 msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:315 +#: stock/serializers.py:320 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:438 +#: stock/serializers.py:449 stock/templates/stock/item_base.html:193 +msgid "Parent Item" +msgstr "" + +#: stock/serializers.py:450 +msgid "Parent stock item" +msgstr "" + +#: stock/serializers.py:469 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:558 +#: stock/serializers.py:585 templates/js/translated/build.js:991 +#: templates/js/translated/build.js:2344 +msgid "Allocated Quantity" +msgstr "" + +#: stock/serializers.py:588 stock/templates/stock/item_base.html:437 +#: templates/js/translated/table_filters.js:435 users/models.py:174 +msgid "Expired" +msgstr "" + +#: stock/serializers.py:594 stock/templates/stock/stock_sidebar.html:20 +msgid "Child Items" +msgstr "" + +#: stock/serializers.py:598 +msgid "Tracking Items" +msgstr "" + +#: stock/serializers.py:604 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:595 +#: stock/serializers.py:623 +msgid "Minimum Pricing" +msgstr "" + +#: stock/serializers.py:629 +msgid "Maximum Pricing" +msgstr "" + +#: stock/serializers.py:653 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:608 +#: stock/serializers.py:666 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:615 +#: stock/serializers.py:673 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:626 stock/serializers.py:1322 stock/serializers.py:1578 +#: stock/serializers.py:684 stock/serializers.py:1388 stock/serializers.py:1644 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:633 +#: stock/serializers.py:691 msgid "Optional note field" msgstr "" -#: stock/serializers.py:643 +#: stock/serializers.py:701 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:698 +#: stock/serializers.py:756 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:705 +#: stock/serializers.py:763 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:706 +#: stock/serializers.py:764 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:711 stock/serializers.py:791 stock/serializers.py:887 -#: stock/serializers.py:937 +#: stock/serializers.py:769 stock/serializers.py:849 stock/serializers.py:945 +#: stock/serializers.py:995 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:719 +#: stock/serializers.py:777 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:727 +#: stock/serializers.py:785 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:738 +#: stock/serializers.py:796 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:751 +#: stock/serializers.py:809 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:786 +#: stock/serializers.py:844 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:821 +#: stock/serializers.py:879 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:834 +#: stock/serializers.py:892 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:851 +#: stock/serializers.py:909 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:882 +#: stock/serializers.py:940 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:919 +#: stock/serializers.py:977 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:925 +#: stock/serializers.py:983 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1021 stock/serializers.py:1093 +#: stock/serializers.py:1079 stock/serializers.py:1156 #: stock/templates/stock/location.html:165 #: stock/templates/stock/location.html:222 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1086 templates/js/translated/stock.js:152 +#: stock/serializers.py:1149 templates/js/translated/stock.js:152 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1194 +#: stock/serializers.py:1260 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1198 +#: stock/serializers.py:1264 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1202 +#: stock/serializers.py:1268 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1226 +#: stock/serializers.py:1292 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1232 +#: stock/serializers.py:1298 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1240 +#: stock/serializers.py:1306 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1250 stock/serializers.py:1504 +#: stock/serializers.py:1316 stock/serializers.py:1570 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1329 +#: stock/serializers.py:1395 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1334 +#: stock/serializers.py:1400 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1335 +#: stock/serializers.py:1401 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1340 +#: stock/serializers.py:1406 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1341 +#: stock/serializers.py:1407 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1351 +#: stock/serializers.py:1417 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1418 +#: stock/serializers.py:1484 msgid "No Change" msgstr "" -#: stock/serializers.py:1447 +#: stock/serializers.py:1513 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1466 +#: stock/serializers.py:1532 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1494 +#: stock/serializers.py:1560 msgid "Stock transaction notes" msgstr "" @@ -9757,10 +10079,6 @@ msgstr "" msgid "Build" msgstr "" -#: stock/templates/stock/item_base.html:193 -msgid "Parent Item" -msgstr "" - #: stock/templates/stock/item_base.html:211 msgid "No manufacturer set" msgstr "" @@ -9836,11 +10154,6 @@ msgstr "" msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:437 -#: templates/js/translated/table_filters.js:435 users/models.py:174 -msgid "Expired" -msgstr "" - #: stock/templates/stock/item_base.html:439 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" @@ -9988,10 +10301,6 @@ msgstr "" msgid "Allocations" msgstr "" -#: stock/templates/stock/stock_sidebar.html:20 -msgid "Child Items" -msgstr "" - #: templates/403.html:6 templates/403.html:12 templates/403_csrf.html:7 msgid "Permission Denied" msgstr "" @@ -10466,8 +10775,8 @@ 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:393 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:245 users/models.py:402 +#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 +#: templates/js/translated/stock.js:245 users/models.py:406 msgid "Delete" msgstr "" @@ -10507,12 +10816,12 @@ msgid "No category parameter templates found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:308 -#: templates/js/translated/part.js:1646 +#: templates/js/translated/part.js:1649 msgid "Edit Template" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:309 -#: templates/js/translated/part.js:1647 +#: templates/js/translated/part.js:1650 msgid "Delete Template" msgstr "" @@ -11145,7 +11454,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2556 +#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2557 msgid "Required Quantity" msgstr "" @@ -11159,7 +11468,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3219 +#: templates/js/translated/part.js:3222 msgid "Minimum Quantity" msgstr "" @@ -11514,7 +11823,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2500 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2501 msgid "Variant stock allowed" msgstr "" @@ -11534,30 +11843,30 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2621 +#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2622 msgid "External stock" msgstr "" -#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2595 +#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2596 #: templates/js/translated/sales_order.js:1946 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2599 +#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2600 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2601 -#: templates/js/translated/part.js:1257 +#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2602 +#: templates/js/translated/part.js:1260 #: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2603 +#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2604 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2586 +#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2587 msgid "Consumable item" msgstr "" @@ -11589,7 +11898,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2485 +#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2486 msgid "Required Part" msgstr "" @@ -11758,10 +12067,6 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:991 templates/js/translated/build.js:2344 -msgid "Allocated Quantity" -msgstr "" - #: templates/js/translated/build.js:1005 msgid "Location not specified" msgstr "" @@ -11873,9 +12178,9 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2117 templates/js/translated/build.js:2479 +#: templates/js/translated/build.js:2117 templates/js/translated/build.js:2480 #: templates/js/translated/forms.js:2163 templates/js/translated/forms.js:2179 -#: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 +#: templates/js/translated/part.js:2319 templates/js/translated/part.js:2745 #: templates/js/translated/stock.js:1983 templates/js/translated/stock.js:2710 msgid "Select" msgstr "" @@ -11906,59 +12211,59 @@ msgstr "" msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2455 +#: templates/js/translated/build.js:2456 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2456 +#: templates/js/translated/build.js:2457 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2474 +#: templates/js/translated/build.js:2475 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2504 templates/js/translated/part.js:791 -#: templates/js/translated/part.js:1203 +#: templates/js/translated/build.js:2505 templates/js/translated/part.js:790 +#: templates/js/translated/part.js:1206 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2539 +#: templates/js/translated/build.js:2540 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2591 +#: templates/js/translated/build.js:2592 #: templates/js/translated/sales_order.js:1951 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2646 +#: templates/js/translated/build.js:2647 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2653 +#: templates/js/translated/build.js:2654 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2654 +#: templates/js/translated/build.js:2655 msgid "Allocate tracked items against individual build outputs" msgstr "" -#: templates/js/translated/build.js:2662 +#: templates/js/translated/build.js:2663 #: templates/js/translated/sales_order.js:2052 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2667 templates/js/translated/stock.js:1868 +#: templates/js/translated/build.js:2668 templates/js/translated/stock.js:1868 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2671 +#: templates/js/translated/build.js:2672 #: templates/js/translated/sales_order.js:2046 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2675 +#: templates/js/translated/build.js:2676 msgid "Remove stock allocation" msgstr "" @@ -12105,7 +12410,7 @@ msgid "Delete Parameters" msgstr "" #: templates/js/translated/company.js:1191 -#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2245 +#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2248 msgid "Order parts" msgstr "" @@ -12122,34 +12427,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:1279 -#: templates/js/translated/company.js:1567 templates/js/translated/part.js:799 -#: templates/js/translated/part.js:1211 +#: templates/js/translated/company.js:1567 templates/js/translated/part.js:798 +#: templates/js/translated/part.js:1214 msgid "Template part" msgstr "" #: templates/js/translated/company.js:1283 -#: templates/js/translated/company.js:1571 templates/js/translated/part.js:803 -#: templates/js/translated/part.js:1215 +#: templates/js/translated/company.js:1571 templates/js/translated/part.js:802 +#: templates/js/translated/part.js:1218 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1465 +#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1468 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1528 +#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1531 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1529 +#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1532 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1434 +#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1437 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1550 +#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1553 msgid "Delete Parameter" msgstr "" @@ -12323,15 +12628,15 @@ msgstr "" msgid "No parts required for builds" msgstr "" -#: templates/js/translated/label.js:55 templates/js/translated/report.js:38 +#: templates/js/translated/label.js:48 templates/js/translated/report.js:38 msgid "Select Items" msgstr "" -#: templates/js/translated/label.js:56 templates/js/translated/report.js:39 +#: templates/js/translated/label.js:49 templates/js/translated/report.js:39 msgid "No items selected for printing" msgstr "" -#: templates/js/translated/label.js:150 +#: templates/js/translated/label.js:143 msgid "Labels sent to printer" msgstr "" @@ -12400,7 +12705,7 @@ msgstr "" #: templates/js/translated/news.js:38 #: templates/js/translated/notification.js:46 -#: templates/js/translated/part.js:1605 +#: templates/js/translated/part.js:1608 msgid "ID" msgstr "" @@ -12481,343 +12786,343 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:333 templates/js/translated/stock.js:175 +#: templates/js/translated/part.js:332 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:353 +#: templates/js/translated/part.js:352 msgid "Create Part Category" msgstr "" -#: templates/js/translated/part.js:356 +#: templates/js/translated/part.js:355 msgid "Create new category after this one" msgstr "" -#: templates/js/translated/part.js:357 +#: templates/js/translated/part.js:356 msgid "Part category created" msgstr "" -#: templates/js/translated/part.js:371 +#: templates/js/translated/part.js:370 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:384 +#: templates/js/translated/part.js:383 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:389 +#: templates/js/translated/part.js:388 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:398 +#: templates/js/translated/part.js:397 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:402 +#: templates/js/translated/part.js:401 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:407 +#: templates/js/translated/part.js:406 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:431 +#: templates/js/translated/part.js:430 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:433 +#: templates/js/translated/part.js:432 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:434 +#: templates/js/translated/part.js:433 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:462 +#: templates/js/translated/part.js:461 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:464 +#: templates/js/translated/part.js:463 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:475 +#: templates/js/translated/part.js:474 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:532 +#: templates/js/translated/part.js:531 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:533 +#: templates/js/translated/part.js:532 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:547 +#: templates/js/translated/part.js:546 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:549 +#: templates/js/translated/part.js:548 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:550 +#: templates/js/translated/part.js:549 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:551 +#: templates/js/translated/part.js:550 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:558 +#: templates/js/translated/part.js:557 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:594 +#: templates/js/translated/part.js:593 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:596 +#: templates/js/translated/part.js:595 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:601 +#: templates/js/translated/part.js:600 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:603 +#: templates/js/translated/part.js:602 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:620 +#: templates/js/translated/part.js:619 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:630 +#: templates/js/translated/part.js:629 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:633 +#: templates/js/translated/part.js:632 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:658 +#: templates/js/translated/part.js:657 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:686 -#: templates/js/translated/table_filters.js:747 +#: templates/js/translated/part.js:685 +#: templates/js/translated/table_filters.js:752 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:689 +#: templates/js/translated/part.js:688 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:749 +#: templates/js/translated/part.js:748 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:772 +#: templates/js/translated/part.js:771 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:795 templates/js/translated/part.js:1207 +#: templates/js/translated/part.js:794 templates/js/translated/part.js:1210 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:807 +#: templates/js/translated/part.js:806 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:811 +#: templates/js/translated/part.js:810 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:890 +#: templates/js/translated/part.js:893 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:890 +#: templates/js/translated/part.js:893 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:898 +#: templates/js/translated/part.js:901 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:902 +#: templates/js/translated/part.js:905 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:1051 +#: templates/js/translated/part.js:1054 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1109 templates/js/translated/part.js:1145 +#: templates/js/translated/part.js:1112 templates/js/translated/part.js:1148 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1113 templates/js/translated/part.js:1155 +#: templates/js/translated/part.js:1116 templates/js/translated/part.js:1158 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1282 +#: templates/js/translated/part.js:1285 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1600 +#: templates/js/translated/part.js:1603 msgid "No part parameter templates found" msgstr "" -#: templates/js/translated/part.js:1663 +#: templates/js/translated/part.js:1666 msgid "Edit Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1675 +#: templates/js/translated/part.js:1678 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/js/translated/part.js:1683 +#: templates/js/translated/part.js:1686 msgid "Delete Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1717 +#: templates/js/translated/part.js:1720 #: templates/js/translated/purchase_order.js:1654 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/part.js:1861 +#: templates/js/translated/part.js:1864 #: 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:1907 +#: templates/js/translated/part.js:1910 #: templates/js/translated/purchase_order.js:2220 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1970 +#: templates/js/translated/part.js:1973 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1992 +#: templates/js/translated/part.js:1995 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2080 templates/js/translated/part.js:2506 +#: templates/js/translated/part.js:2083 templates/js/translated/part.js:2509 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:2201 +#: templates/js/translated/part.js:2204 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2206 +#: templates/js/translated/part.js:2209 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2236 +#: templates/js/translated/part.js:2239 msgid "Set category" msgstr "" -#: templates/js/translated/part.js:2287 +#: templates/js/translated/part.js:2290 msgid "part" msgstr "" -#: templates/js/translated/part.js:2288 +#: templates/js/translated/part.js:2291 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2384 +#: templates/js/translated/part.js:2387 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 +#: templates/js/translated/part.js:2534 templates/js/translated/part.js:2664 #: templates/js/translated/stock.js:2669 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2547 +#: templates/js/translated/part.js:2550 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2645 +#: templates/js/translated/part.js:2648 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2689 +#: templates/js/translated/part.js:2684 templates/js/translated/stock.js:2689 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2761 +#: templates/js/translated/part.js:2764 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2777 +#: templates/js/translated/part.js:2780 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2865 +#: templates/js/translated/part.js:2868 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2887 templates/js/translated/search.js:342 +#: templates/js/translated/part.js:2890 templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/part.js:2937 templates/js/translated/stock.js:1456 +#: templates/js/translated/part.js:2940 templates/js/translated/stock.js:1456 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2938 templates/js/translated/stock.js:1457 +#: templates/js/translated/part.js:2941 templates/js/translated/stock.js:1457 #: templates/js/translated/stock.js:1731 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2942 +#: templates/js/translated/part.js:2945 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2958 +#: templates/js/translated/part.js:2961 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2972 +#: templates/js/translated/part.js:2975 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3051 templates/js/translated/part.js:3052 +#: templates/js/translated/part.js:3054 templates/js/translated/part.js:3055 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3054 +#: templates/js/translated/part.js:3057 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3060 +#: templates/js/translated/part.js:3063 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3110 +#: templates/js/translated/part.js:3113 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3116 +#: templates/js/translated/part.js:3119 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3212 +#: templates/js/translated/part.js:3215 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3228 +#: templates/js/translated/part.js:3231 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3273 +#: templates/js/translated/part.js:3276 msgid "Minimum Stock Level" msgstr "" @@ -13593,7 +13898,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1042 users/models.py:392 +#: templates/js/translated/stock.js:1042 users/models.py:396 msgid "Add" msgstr "" @@ -13947,7 +14252,7 @@ msgid "Include subcategories" msgstr "" #: templates/js/translated/table_filters.js:287 -#: templates/js/translated/table_filters.js:759 +#: templates/js/translated/table_filters.js:764 msgid "Subscribed" msgstr "" @@ -14102,40 +14407,44 @@ msgstr "" msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:725 +#: templates/js/translated/table_filters.js:722 +msgid "Show locked parts" +msgstr "" + +#: templates/js/translated/table_filters.js:730 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:733 -#: templates/js/translated/table_filters.js:833 +#: templates/js/translated/table_filters.js:738 +#: templates/js/translated/table_filters.js:838 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:734 +#: templates/js/translated/table_filters.js:739 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:738 +#: templates/js/translated/table_filters.js:743 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:739 +#: templates/js/translated/table_filters.js:744 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:743 +#: templates/js/translated/table_filters.js:748 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:751 +#: templates/js/translated/table_filters.js:756 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:763 +#: templates/js/translated/table_filters.js:768 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:829 +#: templates/js/translated/table_filters.js:834 msgid "Has Choices" msgstr "" @@ -14207,10 +14516,6 @@ msgstr "" msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:558 -msgid "Columns" -msgstr "" - #: templates/js/translated/tables.js:561 msgid "All" msgstr "" @@ -14484,35 +14789,34 @@ msgstr "" msgid "Revoked" msgstr "" -#: users/models.py:375 +#: users/models.py:379 msgid "Permission set" msgstr "" -#: users/models.py:384 +#: users/models.py:388 msgid "Group" msgstr "" -#: users/models.py:388 +#: users/models.py:392 msgid "View" msgstr "" -#: users/models.py:388 +#: users/models.py:392 msgid "Permission to view items" msgstr "" -#: users/models.py:392 +#: users/models.py:396 msgid "Permission to add items" msgstr "" -#: users/models.py:396 +#: users/models.py:400 msgid "Change" msgstr "" -#: users/models.py:398 +#: users/models.py:402 msgid "Permissions to edit items" msgstr "" -#: users/models.py:404 +#: users/models.py:408 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 f3a36196c2ed..fbc3a9aa75ab 100644 --- a/src/backend/InvenTree/locale/fi/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/fi/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-07-05 02:47+0000\n" +"POT-Creation-Date: 2024-07-08 14:46+0000\n" "PO-Revision-Date: 2024-07-05 14:57\n" "Last-Translator: \n" "Language-Team: Finnish\n" @@ -21,7 +21,7 @@ msgstr "" msgid "API endpoint not found" msgstr "API-rajapintaa ei löydy" -#: InvenTree/api.py:520 +#: InvenTree/api.py:505 msgid "User does not have permission to view this model" msgstr "Käyttäjän oikeudet eivät riitä kohteen tarkastelemiseen" @@ -56,21 +56,21 @@ msgstr "Virheen tiedot löytyvät hallintapaneelista" msgid "Enter date" msgstr "Anna päivämäärä" -#: InvenTree/fields.py:205 InvenTree/models.py:918 build/serializers.py:452 -#: build/serializers.py:530 build/templates/build/sidebar.html:21 -#: company/models.py:817 company/templates/company/sidebar.html:37 +#: InvenTree/fields.py:205 InvenTree/models.py:921 build/serializers.py:456 +#: build/serializers.py:534 build/templates/build/sidebar.html:21 +#: company/models.py:824 company/templates/company/sidebar.html:37 #: order/models.py:1296 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:3183 part/templates/part/part_sidebar.html:63 +#: part/models.py:3193 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:230 stock/models.py:2344 stock/models.py:2466 -#: stock/serializers.py:632 stock/serializers.py:790 stock/serializers.py:886 -#: stock/serializers.py:936 stock/serializers.py:1239 stock/serializers.py:1328 -#: stock/serializers.py:1493 stock/templates/stock/stock_sidebar.html:25 +#: stock/admin.py:230 stock/models.py:2349 stock/models.py:2476 +#: stock/serializers.py:690 stock/serializers.py:848 stock/serializers.py:944 +#: stock/serializers.py:994 stock/serializers.py:1305 stock/serializers.py:1394 +#: stock/serializers.py:1559 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:1081 +#: templates/js/translated/part.js:1084 #: templates/js/translated/purchase_order.js:2200 #: templates/js/translated/return_order.js:775 #: templates/js/translated/sales_order.js:1103 @@ -371,41 +371,41 @@ msgstr "Liitännäisen metadata" msgid "JSON metadata field, for use by external plugins" msgstr "JSON metadatakenttä, ulkoisten liitännäisten käyttöön" -#: InvenTree/models.py:408 +#: InvenTree/models.py:411 msgid "Improperly formatted pattern" msgstr "Virheellisesti muotoiltu malli" -#: InvenTree/models.py:415 +#: InvenTree/models.py:418 msgid "Unknown format key specified" msgstr "" -#: InvenTree/models.py:421 +#: InvenTree/models.py:424 msgid "Missing required format key" msgstr "" -#: InvenTree/models.py:432 +#: InvenTree/models.py:435 msgid "Reference field cannot be empty" msgstr "Viitekenttä ei voi olla tyhjä" -#: InvenTree/models.py:440 +#: InvenTree/models.py:443 msgid "Reference must match required pattern" msgstr "" -#: InvenTree/models.py:471 +#: InvenTree/models.py:474 msgid "Reference number is too large" msgstr "Viitenumero on liian suuri" -#: InvenTree/models.py:719 +#: InvenTree/models.py:722 msgid "Duplicate names cannot exist under the same parent" msgstr "" -#: InvenTree/models.py:736 +#: InvenTree/models.py:739 msgid "Invalid choice" msgstr "Virheellinen valinta" -#: InvenTree/models.py:766 common/models.py:2678 common/models.py:3103 -#: common/serializers.py:408 company/models.py:580 machine/models.py:24 -#: part/models.py:891 part/models.py:3639 plugin/models.py:51 +#: InvenTree/models.py:769 common/models.py:2659 common/models.py:3089 +#: common/serializers.py:412 company/models.py:587 machine/models.py:24 +#: part/models.py:895 part/models.py:3660 plugin/models.py:51 #: report/models.py:150 stock/models.py:74 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -417,20 +417,20 @@ msgstr "Virheellinen valinta" #: templates/js/translated/company.js:724 #: templates/js/translated/company.js:913 #: templates/js/translated/company.js:1165 -#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1187 -#: templates/js/translated/part.js:1475 templates/js/translated/part.js:1611 -#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2716 +#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1190 +#: templates/js/translated/part.js:1478 templates/js/translated/part.js:1614 +#: templates/js/translated/part.js:2752 templates/js/translated/stock.js:2716 msgid "Name" msgstr "Nimi" -#: InvenTree/models.py:772 build/models.py:235 -#: build/templates/build/detail.html:24 common/models.py:138 -#: company/models.py:509 company/models.py:808 +#: InvenTree/models.py:775 build/models.py:242 +#: build/templates/build/detail.html:24 common/models.py:143 +#: company/models.py:515 company/models.py:815 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 -#: order/models.py:1329 part/admin.py:305 part/admin.py:408 part/models.py:914 -#: part/models.py:3654 part/templates/part/category.html:82 +#: order/models.py:1329 part/admin.py:305 part/admin.py:408 part/models.py:918 +#: part/models.py:3675 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:156 #: report/models.py:510 report/models.py:536 @@ -444,10 +444,10 @@ msgstr "Nimi" #: templates/js/translated/build.js:2139 templates/js/translated/company.js:519 #: templates/js/translated/company.js:1330 #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 -#: templates/js/translated/order.js:298 templates/js/translated/part.js:1239 -#: templates/js/translated/part.js:1484 templates/js/translated/part.js:1622 -#: templates/js/translated/part.js:1959 templates/js/translated/part.js:2355 -#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2897 +#: templates/js/translated/order.js:298 templates/js/translated/part.js:1242 +#: templates/js/translated/part.js:1487 templates/js/translated/part.js:1625 +#: templates/js/translated/part.js:1962 templates/js/translated/part.js:2358 +#: templates/js/translated/part.js:2788 templates/js/translated/part.js:2900 #: templates/js/translated/plugin.js:80 #: templates/js/translated/purchase_order.js:1706 #: templates/js/translated/purchase_order.js:1849 @@ -460,53 +460,53 @@ msgstr "Nimi" msgid "Description" msgstr "Kuvaus" -#: InvenTree/models.py:773 stock/models.py:81 +#: InvenTree/models.py:776 stock/models.py:81 msgid "Description (optional)" msgstr "Kuvaus (valinnainen)" -#: InvenTree/models.py:788 templates/js/translated/part.js:2794 +#: InvenTree/models.py:791 templates/js/translated/part.js:2797 #: templates/js/translated/stock.js:2757 msgid "Path" msgstr "Polku" -#: InvenTree/models.py:918 +#: InvenTree/models.py:921 msgid "Markdown notes (optional)" msgstr "" -#: InvenTree/models.py:947 +#: InvenTree/models.py:950 msgid "Barcode Data" msgstr "Viivakoodin Tiedot" -#: InvenTree/models.py:948 +#: InvenTree/models.py:951 msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:954 +#: InvenTree/models.py:957 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:955 +#: InvenTree/models.py:958 msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:1008 +#: InvenTree/models.py:1011 msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:1051 +#: InvenTree/models.py:1054 msgid "Server Error" msgstr "Palvelinvirhe" -#: InvenTree/models.py:1052 +#: InvenTree/models.py:1055 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:63 part/models.py:4192 +#: InvenTree/serializers.py:63 part/models.py:4277 msgid "Must be a valid number" msgstr "Täytyy olla kelvollinen luku" #: InvenTree/serializers.py:100 company/models.py:186 -#: company/templates/company/company_base.html:112 part/models.py:3001 +#: company/templates/company/company_base.html:112 part/models.py:3011 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -556,16 +556,16 @@ msgstr "" msgid "Is this user a superuser" msgstr "" -#: InvenTree/serializers.py:445 common/models.py:2683 company/models.py:163 -#: company/models.py:782 machine/models.py:39 part/admin.py:88 -#: part/models.py:1081 plugin/models.py:66 +#: InvenTree/serializers.py:445 common/models.py:2664 company/models.py:163 +#: company/models.py:789 machine/models.py:39 part/admin.py:88 +#: part/models.py:1085 plugin/models.py:66 #: 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 #: templates/js/translated/table_filters.js:520 #: templates/js/translated/table_filters.js:716 -#: templates/js/translated/table_filters.js:796 users/models.py:182 +#: templates/js/translated/table_filters.js:801 users/models.py:182 msgid "Active" msgstr "Aktiivinen" @@ -597,7 +597,7 @@ msgstr "" msgid "Invalid value" msgstr "Virheellinen arvo" -#: InvenTree/serializers.py:581 +#: InvenTree/serializers.py:581 importer/models.py:60 msgid "Data File" msgstr "Datatiedosto" @@ -651,7 +651,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:1174 +#: InvenTree/status.py:66 part/serializers.py:1202 msgid "Background worker check failed" msgstr "" @@ -711,47 +711,48 @@ msgstr "Järjestelmän tiedot" msgid "About InvenTree" msgstr "Tietoja InvenTree:stä" -#: build/api.py:255 +#: build/api.py:248 msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:299 part/models.py:4070 templates/js/translated/bom.js:997 -#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 +#: build/api.py:292 build/serializers.py:1190 part/models.py:4155 +#: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 +#: templates/js/translated/build.js:2521 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:300 part/models.py:4064 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 +#: build/api.py:293 build/serializers.py:1191 part/models.py:4149 +#: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 +#: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2530 #: templates/js/translated/table_filters.js:186 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:587 msgid "Optional" msgstr "" -#: build/api.py:301 templates/js/translated/table_filters.js:408 +#: build/api.py:294 templates/js/translated/table_filters.js:408 #: templates/js/translated/table_filters.js:579 msgid "Tracked" msgstr "" -#: build/api.py:303 part/admin.py:144 templates/js/translated/build.js:1744 -#: templates/js/translated/build.js:2629 +#: build/api.py:296 part/admin.py:144 templates/js/translated/build.js:1744 +#: templates/js/translated/build.js:2630 #: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:571 msgid "Allocated" msgstr "" -#: build/api.py:311 company/models.py:872 company/serializers.py:359 +#: build/api.py:304 company/models.py:879 company/serializers.py:386 #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2561 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2562 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:234 -#: templates/js/translated/part.js:693 templates/js/translated/part.js:695 -#: templates/js/translated/part.js:700 +#: 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 #: templates/js/translated/table_filters.js:575 msgid "Available" @@ -760,7 +761,7 @@ msgstr "Saatavilla" #: build/models.py:85 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 -#: stock/serializers.py:82 templates/email/build_order_completed.html:16 +#: stock/serializers.py:84 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:2892 msgid "Build Order" @@ -781,35 +782,39 @@ msgstr "" msgid "Assembly BOM has not been validated" msgstr "" -#: build/models.py:134 part/templates/part/part_base.html:145 -msgid "Part is not active" +#: build/models.py:134 +msgid "Build order cannot be created for an inactive part" +msgstr "" + +#: build/models.py:141 +msgid "Build order cannot be created for an unlocked part" msgstr "" -#: build/models.py:148 +#: build/models.py:155 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:159 order/models.py:240 +#: build/models.py:166 order/models.py:240 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:165 +#: build/models.py:172 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:226 +#: build/models.py:233 msgid "Build Order Reference" msgstr "" -#: build/models.py:227 order/models.py:463 order/models.py:926 -#: order/models.py:1289 order/models.py:2020 part/admin.py:411 -#: part/models.py:4085 part/templates/part/upload_bom.html:54 +#: build/models.py:234 build/serializers.py:1189 order/models.py:463 +#: order/models.py:926 order/models.py:1289 order/models.py:2046 +#: part/admin.py:411 part/models.py:4170 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: 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/build.js:2513 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2065 #: templates/js/translated/return_order.js:728 @@ -817,27 +822,28 @@ msgstr "" msgid "Reference" msgstr "" -#: build/models.py:238 +#: build/models.py:245 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:246 build/templates/build/build_base.html:183 +#: build/models.py:253 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/models.py:247 +#: build/models.py:254 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:252 build/templates/build/build_base.html:97 -#: build/templates/build/detail.html:29 company/models.py:1026 order/api.py:805 -#: order/models.py:1414 order/models.py:1559 order/models.py:1560 -#: part/api.py:1494 part/api.py:1788 part/models.py:395 part/models.py:3012 -#: part/models.py:3156 part/models.py:3303 part/models.py:3324 -#: part/models.py:3346 part/models.py:3477 part/models.py:3787 -#: part/models.py:3943 part/models.py:4036 part/models.py:4395 -#: part/serializers.py:1120 part/serializers.py:1726 +#: build/models.py:259 build/serializers.py:1184 +#: build/templates/build/build_base.html:97 +#: build/templates/build/detail.html:29 company/models.py:1034 order/api.py:759 +#: order/models.py:1419 order/models.py:1574 order/models.py:1575 +#: part/api.py:1480 part/api.py:1776 part/models.py:396 part/models.py:3022 +#: part/models.py:3166 part/models.py:3314 part/models.py:3335 +#: part/models.py:3357 part/models.py:3493 part/models.py:3827 +#: part/models.py:3990 part/models.py:4121 part/models.py:4480 +#: part/serializers.py:1148 part/serializers.py:1758 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -848,8 +854,8 @@ msgstr "" #: 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:109 stock/serializers.py:157 stock/serializers.py:423 -#: stock/serializers.py:820 templates/InvenTree/search.html:82 +#: stock/serializers.py:111 stock/serializers.py:159 stock/serializers.py:443 +#: stock/serializers.py:878 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 @@ -862,8 +868,8 @@ msgstr "" #: templates/js/translated/company.js:1116 #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 -#: templates/js/translated/part.js:1944 templates/js/translated/part.js:2016 -#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:1947 templates/js/translated/part.js:2019 +#: templates/js/translated/part.js:2327 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:1848 @@ -881,107 +887,107 @@ msgstr "" msgid "Part" msgstr "Osa" -#: build/models.py:260 +#: build/models.py:267 msgid "Select part to build" msgstr "" -#: build/models.py:265 +#: build/models.py:272 msgid "Sales Order Reference" msgstr "" -#: build/models.py:269 +#: build/models.py:276 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:274 build/serializers.py:999 +#: build/models.py:281 build/serializers.py:1003 #: templates/js/translated/build.js:1731 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "" -#: build/models.py:278 +#: build/models.py:285 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:283 +#: build/models.py:290 msgid "Destination Location" msgstr "" -#: build/models.py:287 +#: build/models.py:294 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:291 +#: build/models.py:298 msgid "Build Quantity" msgstr "" -#: build/models.py:294 +#: build/models.py:301 msgid "Number of stock items to build" msgstr "" -#: build/models.py:298 +#: build/models.py:305 msgid "Completed items" msgstr "" -#: build/models.py:300 +#: build/models.py:307 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:304 +#: build/models.py:311 msgid "Build Status" msgstr "" -#: build/models.py:308 +#: build/models.py:315 msgid "Build status code" msgstr "" -#: build/models.py:317 build/serializers.py:286 order/serializers.py:580 -#: stock/models.py:839 stock/serializers.py:74 stock/serializers.py:1458 +#: build/models.py:324 build/serializers.py:290 order/serializers.py:629 +#: stock/models.py:839 stock/serializers.py:76 stock/serializers.py:1524 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "" -#: build/models.py:321 build/serializers.py:287 +#: build/models.py:328 build/serializers.py:291 msgid "Batch code for this build output" msgstr "" -#: build/models.py:324 order/models.py:316 order/serializers.py:119 -#: part/models.py:1115 part/templates/part/part_base.html:310 +#: build/models.py:331 order/models.py:316 order/serializers.py:127 +#: part/models.py:1125 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:328 +#: build/models.py:335 msgid "Target completion date" msgstr "" -#: build/models.py:329 +#: build/models.py:336 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:332 order/models.py:521 order/models.py:2065 +#: build/models.py:339 order/models.py:521 order/models.py:2091 #: templates/js/translated/build.js:2247 msgid "Completion Date" msgstr "" -#: build/models.py:338 +#: build/models.py:345 msgid "completed by" msgstr "" -#: build/models.py:346 templates/js/translated/build.js:2207 +#: build/models.py:353 templates/js/translated/build.js:2207 msgid "Issued by" msgstr "" -#: build/models.py:347 +#: build/models.py:354 msgid "User who issued this build order" msgstr "" -#: build/models.py:355 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 common/models.py:147 +#: build/models.py:362 build/templates/build/build_base.html:204 +#: build/templates/build/detail.html:122 common/models.py:152 #: order/models.py:334 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:232 part/models.py:1132 +#: order/templates/order/sales_order_base.html:232 part/models.py:1142 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 @@ -992,11 +998,11 @@ msgstr "" msgid "Responsible" msgstr "" -#: build/models.py:356 +#: build/models.py:363 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:361 build/templates/build/detail.html:108 +#: build/models.py:368 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 @@ -1008,21 +1014,22 @@ msgstr "" msgid "External Link" msgstr "Ulkoinen linkki" -#: build/models.py:362 common/models.py:3244 part/models.py:956 +#: build/models.py:369 common/models.py:3230 part/models.py:960 #: stock/models.py:835 msgid "Link to external URL" msgstr "Linkki ulkoiseen URLiin" -#: build/models.py:366 +#: build/models.py:373 msgid "Build Priority" msgstr "" -#: build/models.py:369 +#: build/models.py:376 msgid "Priority of this build order" msgstr "" -#: build/models.py:376 common/models.py:131 order/admin.py:18 -#: order/models.py:298 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:383 common/models.py:122 common/models.py:136 +#: order/admin.py:18 order/models.py:298 order/serializers.py:108 +#: templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 #: templates/js/translated/purchase_order.js:1710 #: templates/js/translated/return_order.js:317 @@ -1032,65 +1039,66 @@ msgstr "" msgid "Project Code" msgstr "" -#: build/models.py:377 +#: build/models.py:384 msgid "Project code for this build order" msgstr "" -#: build/models.py:610 build/models.py:675 +#: build/models.py:617 build/models.py:682 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:632 +#: build/models.py:639 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:638 +#: build/models.py:645 msgid "A build order has been completed" msgstr "" -#: build/models.py:864 build/models.py:949 +#: build/models.py:871 build/models.py:956 msgid "No build output specified" msgstr "" -#: build/models.py:867 +#: build/models.py:874 msgid "Build output is already completed" msgstr "" -#: build/models.py:870 +#: build/models.py:877 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:953 build/serializers.py:219 build/serializers.py:268 -#: build/serializers.py:866 order/models.py:559 order/serializers.py:432 -#: order/serializers.py:575 part/serializers.py:1484 part/serializers.py:1884 -#: stock/models.py:678 stock/models.py:1496 stock/serializers.py:603 +#: build/models.py:960 build/serializers.py:223 build/serializers.py:272 +#: build/serializers.py:870 order/models.py:559 order/serializers.py:461 +#: order/serializers.py:624 part/serializers.py:1515 part/serializers.py:1921 +#: stock/models.py:678 stock/models.py:1496 stock/serializers.py:661 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:958 build/serializers.py:224 +#: build/models.py:965 build/serializers.py:228 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1018 build/serializers.py:547 +#: build/models.py:1025 build/serializers.py:551 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1359 +#: build/models.py:1366 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1384 +#: build/models.py:1391 msgid "Build object" msgstr "" -#: build/models.py:1398 build/models.py:1654 build/serializers.py:206 -#: build/serializers.py:253 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2563 -#: order/models.py:1272 order/models.py:1931 order/serializers.py:1327 +#: build/models.py:1405 build/models.py:1661 build/serializers.py:210 +#: build/serializers.py:257 build/serializers.py:1194 +#: build/templates/build/build_base.html:102 +#: build/templates/build/detail.html:34 common/models.py:2544 +#: order/models.py:1272 order/models.py:1957 order/serializers.py:1383 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:410 -#: part/forms.py:48 part/models.py:3170 part/models.py:4058 +#: part/forms.py:48 part/models.py:3180 part/models.py:4143 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1100,7 +1108,7 @@ msgstr "" #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:169 stock/admin.py:159 -#: stock/serializers.py:125 stock/serializers.py:165 stock/serializers.py:594 +#: stock/serializers.py:127 stock/serializers.py:167 stock/serializers.py:652 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 @@ -1111,8 +1119,8 @@ msgstr "" #: templates/js/translated/build.js:1746 templates/js/translated/build.js:2357 #: templates/js/translated/company.js:1818 #: templates/js/translated/model_renderers.js:236 -#: templates/js/translated/order.js:304 templates/js/translated/part.js:962 -#: templates/js/translated/part.js:1812 templates/js/translated/part.js:3342 +#: templates/js/translated/order.js:304 templates/js/translated/part.js:965 +#: templates/js/translated/part.js:1815 templates/js/translated/part.js:3345 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 @@ -1132,38 +1140,38 @@ msgstr "" msgid "Quantity" msgstr "Määrä" -#: build/models.py:1399 +#: build/models.py:1406 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1479 +#: build/models.py:1486 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1488 +#: build/models.py:1495 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1498 order/models.py:1882 +#: build/models.py:1505 order/models.py:1908 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1504 order/models.py:1885 +#: build/models.py:1511 order/models.py:1911 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1510 +#: build/models.py:1517 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1569 +#: build/models.py:1576 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1641 build/serializers.py:846 order/serializers.py:1171 -#: order/serializers.py:1192 stock/models.py:359 stock/serializers.py:91 -#: stock/serializers.py:697 stock/serializers.py:1177 stock/serializers.py:1289 +#: build/models.py:1648 build/serializers.py:850 order/serializers.py:1227 +#: order/serializers.py:1248 stock/models.py:359 stock/serializers.py:93 +#: stock/serializers.py:755 stock/serializers.py:1243 stock/serializers.py:1355 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 @@ -1179,70 +1187,76 @@ msgstr "" msgid "Stock Item" msgstr "Varastotuote" -#: build/models.py:1642 +#: build/models.py:1649 msgid "Source stock item" msgstr "" -#: build/models.py:1655 +#: build/models.py:1662 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1663 +#: build/models.py:1670 msgid "Install into" msgstr "" -#: build/models.py:1664 +#: build/models.py:1671 msgid "Destination stock item" msgstr "" -#: build/serializers.py:156 build/serializers.py:875 +#: build/serializers.py:89 build/serializers.py:1185 part/admin.py:41 +#: part/admin.py:405 part/models.py:3992 part/stocktake.py:220 +#: stock/admin.py:156 +msgid "Part Name" +msgstr "" + +#: build/serializers.py:160 build/serializers.py:879 #: templates/js/translated/build.js:1322 msgid "Build Output" msgstr "" -#: build/serializers.py:168 +#: build/serializers.py:172 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:172 +#: build/serializers.py:176 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:176 +#: build/serializers.py:180 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:187 +#: build/serializers.py:191 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:207 build/serializers.py:254 +#: build/serializers.py:211 build/serializers.py:258 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:275 +#: build/serializers.py:279 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:278 +#: build/serializers.py:282 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:293 order/serializers.py:588 order/serializers.py:1331 -#: stock/serializers.py:614 templates/js/translated/purchase_order.js:1153 +#: build/serializers.py:297 order/serializers.py:637 order/serializers.py:1387 +#: stock/serializers.py:672 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:294 +#: build/serializers.py:298 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:299 build/serializers.py:440 build/serializers.py:512 -#: order/serializers.py:564 order/serializers.py:672 order/serializers.py:1656 -#: part/serializers.py:1140 stock/serializers.py:100 stock/serializers.py:625 -#: stock/serializers.py:785 stock/serializers.py:881 stock/serializers.py:1321 -#: stock/serializers.py:1577 stock/templates/stock/item_base.html:394 +#: build/serializers.py:303 build/serializers.py:444 build/serializers.py:516 +#: order/serializers.py:613 order/serializers.py:721 order/serializers.py:1714 +#: part/serializers.py:1168 stock/serializers.py:102 stock/serializers.py:683 +#: stock/serializers.py:843 stock/serializers.py:939 stock/serializers.py:1387 +#: stock/serializers.py:1643 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 @@ -1258,54 +1272,54 @@ msgstr "" msgid "Location" msgstr "Sijainti" -#: build/serializers.py:300 +#: build/serializers.py:304 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:314 +#: build/serializers.py:318 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:315 +#: build/serializers.py:319 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:330 +#: build/serializers.py:334 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:355 stock/api.py:1041 +#: build/serializers.py:359 stock/api.py:1033 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:402 build/serializers.py:464 build/serializers.py:553 +#: build/serializers.py:406 build/serializers.py:468 build/serializers.py:557 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:441 +#: build/serializers.py:445 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:447 +#: build/serializers.py:451 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:448 +#: build/serializers.py:452 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:453 +#: build/serializers.py:457 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:513 +#: build/serializers.py:517 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:519 build/templates/build/build_base.html:151 +#: build/serializers.py:523 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:950 -#: order/models.py:2044 order/serializers.py:596 stock/admin.py:164 -#: stock/serializers.py:932 stock/serializers.py:1465 +#: order/models.py:2070 order/serializers.py:645 stock/admin.py:164 +#: stock/serializers.py:990 stock/serializers.py:1531 #: 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 @@ -1317,193 +1331,249 @@ msgstr "" msgid "Status" msgstr "Tila" -#: build/serializers.py:525 +#: build/serializers.py:529 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:526 +#: build/serializers.py:530 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:611 +#: build/serializers.py:615 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:612 +#: build/serializers.py:616 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:618 +#: build/serializers.py:622 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:619 +#: build/serializers.py:623 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:646 +#: build/serializers.py:650 msgid "Not permitted" msgstr "Ei sallittu" -#: build/serializers.py:647 +#: build/serializers.py:651 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:648 +#: build/serializers.py:652 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:678 +#: build/serializers.py:682 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:680 +#: build/serializers.py:684 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:690 +#: build/serializers.py:694 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:695 +#: build/serializers.py:699 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:696 +#: build/serializers.py:700 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:706 templates/js/translated/build.js:315 +#: build/serializers.py:710 templates/js/translated/build.js:315 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:711 order/serializers.py:300 order/serializers.py:1234 +#: build/serializers.py:715 order/serializers.py:319 order/serializers.py:1290 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:712 +#: build/serializers.py:716 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:722 templates/js/translated/build.js:319 +#: build/serializers.py:726 templates/js/translated/build.js:319 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:731 templates/js/translated/build.js:303 +#: build/serializers.py:735 templates/js/translated/build.js:303 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:769 +#: build/serializers.py:773 msgid "Build Line" msgstr "" -#: build/serializers.py:779 +#: build/serializers.py:783 msgid "Build output" msgstr "" -#: build/serializers.py:787 +#: build/serializers.py:791 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:823 +#: build/serializers.py:827 msgid "Build Line Item" msgstr "" -#: build/serializers.py:837 +#: build/serializers.py:841 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:852 stock/serializers.py:1190 +#: build/serializers.py:856 stock/serializers.py:1256 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:900 order/serializers.py:1225 +#: build/serializers.py:904 order/serializers.py:1281 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:906 +#: build/serializers.py:910 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:913 +#: build/serializers.py:917 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:937 order/serializers.py:1477 +#: build/serializers.py:941 order/serializers.py:1533 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:1000 +#: build/serializers.py:1004 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:1008 +#: build/serializers.py:1012 msgid "Exclude Location" msgstr "" -#: build/serializers.py:1009 +#: build/serializers.py:1013 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:1014 +#: build/serializers.py:1018 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:1015 +#: build/serializers.py:1019 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:1020 +#: build/serializers.py:1024 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:1021 +#: build/serializers.py:1025 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:1026 +#: build/serializers.py:1030 msgid "Optional Items" msgstr "" -#: build/serializers.py:1027 +#: build/serializers.py:1031 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1049 +#: build/serializers.py:1053 msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1139 part/models.py:3953 part/models.py:4387 -#: stock/api.py:804 +#: build/serializers.py:1095 +#, fuzzy +#| msgid "Manufacturer Part Number" +msgid "Supplier Part Number" +msgstr "Valmistajan osanumero" + +#: build/serializers.py:1096 company/models.py:500 +msgid "Manufacturer Part Number" +msgstr "Valmistajan osanumero" + +#: build/serializers.py:1097 stock/admin.py:53 stock/admin.py:175 +#: stock/serializers.py:454 +msgid "Location Name" +msgstr "" + +#: build/serializers.py:1098 +#, fuzzy +#| msgid "Order reference" +msgid "Build Reference" +msgstr "Tilauksen viite" + +#: build/serializers.py:1099 +#, fuzzy +#| msgid "Order reference" +msgid "BOM Reference" +msgstr "Tilauksen viite" + +#: build/serializers.py:1186 part/admin.py:402 part/models.py:3993 +msgid "Part IPN" +msgstr "" + +#: build/serializers.py:1192 common/models.py:1488 part/admin.py:113 +#: part/models.py:1068 templates/js/translated/table_filters.js:147 +#: templates/js/translated/table_filters.js:223 +#: templates/js/translated/table_filters.js:776 +msgid "Trackable" +msgstr "Seurattavissa" + +#: build/serializers.py:1196 part/models.py:4000 part/models.py:4472 +#: stock/api.py:796 msgid "BOM Item" msgstr "" -#: build/serializers.py:1148 templates/js/translated/index.js:130 +#: build/serializers.py:1205 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1153 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:828 part/serializers.py:1502 +#: build/serializers.py:1210 part/admin.py:132 part/bom.py:173 +#: part/serializers.py:856 part/serializers.py:1533 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2613 templates/js/translated/part.js:710 -#: templates/js/translated/part.js:2149 +#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709 +#: templates/js/translated/part.js:2152 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "" -#: build/serializers.py:1158 part/serializers.py:1504 -#: templates/js/translated/build.js:2617 +#: build/serializers.py:1215 part/serializers.py:1535 +#: templates/js/translated/build.js:2618 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1163 part/bom.py:172 part/serializers.py:1527 +#: build/serializers.py:1220 part/bom.py:172 part/serializers.py:1558 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" msgstr "" +#: build/serializers.py:1224 +msgid "Available Substitute Stock" +msgstr "" + +#: build/serializers.py:1225 +msgid "Available Variant Stock" +msgstr "" + +#: build/serializers.py:1226 +#, fuzzy +#| msgid "Available" +msgid "Total Available Stock" +msgstr "Saatavilla" + +#: build/serializers.py:1227 part/serializers.py:862 +msgid "External Stock" +msgstr "" + #: build/status_codes.py:11 generic/states/tests.py:17 order/status_codes.py:12 #: order/status_codes.py:37 order/status_codes.py:64 order/status_codes.py:82 #: templates/js/translated/table_filters.js:598 @@ -1519,7 +1589,8 @@ msgstr "" msgid "Cancelled" msgstr "Peruttu" -#: build/status_codes.py:14 generic/states/tests.py:19 order/status_codes.py:14 +#: build/status_codes.py:14 generic/states/tests.py:19 importer/models.py:468 +#: importer/status_codes.py:19 order/status_codes.py:14 #: order/status_codes.py:44 order/status_codes.py:69 #: order/templates/order/order_base.html:158 #: order/templates/order/sales_order_base.html:165 report/models.py:444 @@ -1652,11 +1723,12 @@ msgstr "" #: build/templates/build/build_base.html:160 #: build/templates/build/detail.html:138 order/models.py:309 -#: order/models.py:1307 order/templates/order/order_base.html:186 +#: order/models.py:1307 order/serializers.py:174 +#: order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: 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:1831 +#: templates/js/translated/build.js:2239 templates/js/translated/part.js:1834 #: templates/js/translated/purchase_order.js:1739 #: templates/js/translated/purchase_order.js:2147 #: templates/js/translated/return_order.js:346 @@ -1689,8 +1761,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1463 order/models.py:845 -#: order/models.py:1551 order/models.py:1665 order/models.py:1819 +#: build/templates/build/detail.html:101 order/api.py:1384 order/models.py:845 +#: order/models.py:1566 order/models.py:1681 order/models.py:1840 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 @@ -1740,7 +1812,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1443 +#: build/templates/build/detail.html:49 order/models.py:1448 #: templates/js/translated/purchase_order.js:2189 msgid "Destination" msgstr "" @@ -1892,31 +1964,31 @@ msgstr "" msgid "Incomplete Outputs" msgstr "" -#: common/api.py:689 +#: common/api.py:690 msgid "Is Link" msgstr "" -#: common/api.py:697 +#: common/api.py:698 msgid "Is File" msgstr "" -#: common/api.py:739 +#: common/api.py:740 msgid "User does not have permission to delete this attachment" msgstr "" -#: common/currency.py:130 +#: common/currency.py:132 msgid "Invalid currency code" msgstr "" -#: common/currency.py:132 +#: common/currency.py:134 msgid "Duplicate currency code" msgstr "" -#: common/currency.py:137 +#: common/currency.py:139 msgid "No valid currency codes provided" msgstr "" -#: common/currency.py:154 +#: common/currency.py:156 msgid "No plugin" msgstr "" @@ -1970,1635 +2042,1604 @@ msgstr "Viimeisimmän päivityksen aikaleima" msgid "Site URL is locked by configuration" msgstr "" -#: common/models.py:132 +#: common/models.py:137 msgid "Unique project code" msgstr "" -#: common/models.py:139 +#: common/models.py:144 msgid "Project description" msgstr "" -#: common/models.py:148 +#: common/models.py:153 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:765 +#: common/models.py:770 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:769 +#: common/models.py:774 msgid "Settings value" msgstr "" -#: common/models.py:821 +#: common/models.py:826 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:837 +#: common/models.py:842 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:845 +#: common/models.py:850 msgid "Value must be an integer value" msgstr "" -#: common/models.py:882 +#: common/models.py:887 msgid "Key string must be unique" msgstr "" -#: common/models.py:1114 +#: common/models.py:1119 msgid "No group" msgstr "Ei ryhmää" -#: common/models.py:1213 +#: common/models.py:1218 msgid "Restart required" msgstr "Uudelleenkäynnistys vaaditaan" -#: common/models.py:1215 +#: common/models.py:1220 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:1222 +#: common/models.py:1227 msgid "Pending migrations" msgstr "" -#: common/models.py:1223 +#: common/models.py:1228 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1228 +#: common/models.py:1233 msgid "Server Instance Name" msgstr "" -#: common/models.py:1230 +#: common/models.py:1235 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1234 +#: common/models.py:1239 msgid "Use instance name" msgstr "" -#: common/models.py:1235 +#: common/models.py:1240 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1240 +#: common/models.py:1245 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1241 +#: common/models.py:1246 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1246 company/models.py:111 company/models.py:112 +#: common/models.py:1251 company/models.py:111 company/models.py:112 msgid "Company name" msgstr "Yrityksen nimi" -#: common/models.py:1247 +#: common/models.py:1252 msgid "Internal company name" msgstr "Yrityksen sisäinen nimi" -#: common/models.py:1251 +#: common/models.py:1256 msgid "Base URL" msgstr "" -#: common/models.py:1252 +#: common/models.py:1257 msgid "Base URL for server instance" msgstr "" -#: common/models.py:1258 +#: common/models.py:1263 msgid "Default Currency" msgstr "Oletusvaluutta" -#: common/models.py:1259 +#: common/models.py:1264 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1265 +#: common/models.py:1270 msgid "Supported Currencies" msgstr "" -#: common/models.py:1266 +#: common/models.py:1271 msgid "List of supported currency codes" msgstr "" -#: common/models.py:1272 +#: common/models.py:1277 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1274 +#: common/models.py:1279 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1277 common/models.py:1333 common/models.py:1346 -#: common/models.py:1354 common/models.py:1363 common/models.py:1372 -#: common/models.py:1596 common/models.py:1618 common/models.py:1733 -#: common/models.py:2100 +#: common/models.py:1282 common/models.py:1338 common/models.py:1351 +#: common/models.py:1359 common/models.py:1368 common/models.py:1377 +#: common/models.py:1601 common/models.py:1623 common/models.py:1738 +#: common/models.py:2111 msgid "days" msgstr "päivää" -#: common/models.py:1281 +#: common/models.py:1286 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1282 +#: common/models.py:1287 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1287 +#: common/models.py:1292 msgid "Download from URL" msgstr "" -#: common/models.py:1289 +#: common/models.py:1294 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:1295 +#: common/models.py:1300 msgid "Download Size Limit" msgstr "" -#: common/models.py:1296 +#: common/models.py:1301 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1302 +#: common/models.py:1307 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1304 +#: common/models.py:1309 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/models.py:1309 +#: common/models.py:1314 msgid "Strict URL Validation" msgstr "" -#: common/models.py:1310 +#: common/models.py:1315 msgid "Require schema specification when validating URLs" msgstr "" -#: common/models.py:1315 +#: common/models.py:1320 msgid "Require confirm" msgstr "" -#: common/models.py:1316 +#: common/models.py:1321 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:1321 +#: common/models.py:1326 msgid "Tree Depth" msgstr "" -#: common/models.py:1323 +#: common/models.py:1328 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1329 +#: common/models.py:1334 msgid "Update Check Interval" msgstr "" -#: common/models.py:1330 +#: common/models.py:1335 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:1336 +#: common/models.py:1341 msgid "Automatic Backup" msgstr "Automaattinen varmuuskopionti" -#: common/models.py:1337 +#: common/models.py:1342 msgid "Enable automatic backup of database and media files" msgstr "Ota käyttöön tietokannan ja mediatiedostojen automaattinen varmuuskopiointi" -#: common/models.py:1342 +#: common/models.py:1347 msgid "Auto Backup Interval" msgstr "Automaattisen varmuuskopioinnin aikaväli" -#: common/models.py:1343 +#: common/models.py:1348 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1349 +#: common/models.py:1354 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1351 +#: common/models.py:1356 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1358 +#: common/models.py:1363 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1360 +#: common/models.py:1365 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1367 +#: common/models.py:1372 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1369 +#: common/models.py:1374 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1376 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1381 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "Viivakoodituki" -#: common/models.py:1377 +#: common/models.py:1382 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1382 +#: common/models.py:1387 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1383 +#: common/models.py:1388 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1389 +#: common/models.py:1394 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1390 +#: common/models.py:1395 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1395 +#: common/models.py:1400 msgid "Barcode Show Data" msgstr "" -#: common/models.py:1396 +#: common/models.py:1401 msgid "Display barcode data in browser as text" msgstr "" -#: common/models.py:1401 +#: common/models.py:1406 msgid "Part Revisions" msgstr "" -#: common/models.py:1402 +#: common/models.py:1407 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1407 +#: common/models.py:1412 msgid "Allow Deletion from Assembly" msgstr "" -#: common/models.py:1408 +#: common/models.py:1413 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/models.py:1413 +#: common/models.py:1418 msgid "IPN Regex" msgstr "" -#: common/models.py:1414 +#: common/models.py:1419 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1417 +#: common/models.py:1422 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1418 +#: common/models.py:1423 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1423 +#: common/models.py:1428 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1424 +#: common/models.py:1429 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1429 +#: common/models.py:1434 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1430 +#: common/models.py:1435 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1435 +#: common/models.py:1440 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1436 +#: common/models.py:1441 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1441 +#: common/models.py:1446 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1442 +#: common/models.py:1447 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1447 +#: common/models.py:1452 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1448 +#: common/models.py:1453 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1453 part/admin.py:108 part/models.py:3795 +#: common/models.py:1458 part/admin.py:108 part/models.py:3835 #: report/models.py:294 report/models.py:361 report/serializers.py:90 -#: report/serializers.py:131 stock/serializers.py:227 +#: report/serializers.py:131 stock/serializers.py:232 #: templates/js/translated/table_filters.js:139 -#: templates/js/translated/table_filters.js:767 +#: templates/js/translated/table_filters.js:772 msgid "Template" msgstr "" -#: common/models.py:1454 +#: common/models.py:1459 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1459 part/admin.py:91 part/admin.py:425 part/models.py:1052 +#: common/models.py:1464 part/admin.py:91 part/admin.py:425 part/models.py:1056 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 -#: templates/js/translated/table_filters.js:721 +#: templates/js/translated/table_filters.js:726 msgid "Assembly" msgstr "" -#: common/models.py:1460 +#: common/models.py:1465 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1465 part/admin.py:95 part/models.py:1058 -#: templates/js/translated/table_filters.js:729 +#: common/models.py:1470 part/admin.py:95 part/models.py:1062 +#: templates/js/translated/table_filters.js:734 msgid "Component" msgstr "Komponentti" -#: common/models.py:1466 +#: common/models.py:1471 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1471 part/admin.py:100 part/models.py:1070 +#: common/models.py:1476 part/admin.py:100 part/models.py:1074 msgid "Purchaseable" msgstr "Ostettavissa" -#: common/models.py:1472 +#: common/models.py:1477 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1477 part/admin.py:104 part/models.py:1076 -#: templates/js/translated/table_filters.js:755 +#: common/models.py:1482 part/admin.py:104 part/models.py:1080 +#: templates/js/translated/table_filters.js:760 msgid "Salable" msgstr "" -#: common/models.py:1478 +#: common/models.py:1483 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1483 part/admin.py:113 part/models.py:1064 -#: 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:1484 +#: common/models.py:1489 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1489 part/admin.py:117 part/models.py:1086 +#: common/models.py:1494 part/admin.py:117 part/models.py:1096 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 -#: templates/js/translated/table_filters.js:775 +#: templates/js/translated/table_filters.js:780 msgid "Virtual" msgstr "" -#: common/models.py:1490 +#: common/models.py:1495 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1495 +#: common/models.py:1500 msgid "Show Import in Views" msgstr "" -#: common/models.py:1496 +#: common/models.py:1501 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1501 +#: common/models.py:1506 msgid "Show related parts" msgstr "" -#: common/models.py:1502 +#: common/models.py:1507 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1507 +#: common/models.py:1512 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1508 +#: common/models.py:1513 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1513 templates/js/translated/part.js:107 +#: common/models.py:1518 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1515 +#: common/models.py:1520 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1521 +#: common/models.py:1526 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1522 +#: common/models.py:1527 msgid "Format to display the part name" msgstr "" -#: common/models.py:1528 +#: common/models.py:1533 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1529 +#: common/models.py:1534 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1533 +#: common/models.py:1538 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1535 +#: common/models.py:1540 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1541 +#: common/models.py:1546 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1543 +#: common/models.py:1548 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1554 +#: common/models.py:1559 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1556 +#: common/models.py:1561 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1567 +#: common/models.py:1572 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1569 +#: common/models.py:1574 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1575 +#: common/models.py:1580 msgid "Purchase History Override" msgstr "" -#: common/models.py:1577 +#: common/models.py:1582 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1583 +#: common/models.py:1588 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1585 +#: common/models.py:1590 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1591 +#: common/models.py:1596 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1593 +#: common/models.py:1598 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1600 +#: common/models.py:1605 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1601 +#: common/models.py:1606 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1606 +#: common/models.py:1611 msgid "Active Variants Only" msgstr "" -#: common/models.py:1608 +#: common/models.py:1613 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1614 +#: common/models.py:1619 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1616 +#: common/models.py:1621 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1623 +#: common/models.py:1628 msgid "Internal Prices" msgstr "Sisäiset hinnat" -#: common/models.py:1624 +#: common/models.py:1629 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1629 +#: common/models.py:1634 msgid "Internal Price Override" msgstr "Sisäisen hinnan ohitus" -#: common/models.py:1631 +#: common/models.py:1636 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1637 +#: common/models.py:1642 msgid "Enable label printing" msgstr "" -#: common/models.py:1638 +#: common/models.py:1643 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1643 +#: common/models.py:1648 msgid "Label Image DPI" msgstr "" -#: common/models.py:1645 +#: common/models.py:1650 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1651 +#: common/models.py:1656 msgid "Enable Reports" msgstr "" -#: common/models.py:1652 +#: common/models.py:1657 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1657 templates/stats.html:25 +#: common/models.py:1662 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1658 +#: common/models.py:1663 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1663 +#: common/models.py:1668 msgid "Log Report Errors" msgstr "" -#: common/models.py:1664 +#: common/models.py:1669 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1669 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1674 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:302 msgid "Page Size" msgstr "Sivun koko" -#: common/models.py:1670 +#: common/models.py:1675 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1675 +#: common/models.py:1680 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1676 +#: common/models.py:1681 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1681 +#: common/models.py:1686 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1683 +#: common/models.py:1688 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1689 +#: common/models.py:1694 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1690 +#: common/models.py:1695 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1695 +#: common/models.py:1700 msgid "Autofill Serial Numbers" msgstr "Täytä sarjanumerot automaattisesti" -#: common/models.py:1696 +#: common/models.py:1701 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1701 +#: common/models.py:1706 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1703 +#: common/models.py:1708 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1709 +#: common/models.py:1714 msgid "Batch Code Template" msgstr "" -#: common/models.py:1711 +#: common/models.py:1716 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1716 +#: common/models.py:1721 msgid "Stock Expiry" msgstr "" -#: common/models.py:1717 +#: common/models.py:1722 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1722 +#: common/models.py:1727 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1723 +#: common/models.py:1728 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1728 +#: common/models.py:1733 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1730 +#: common/models.py:1735 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1737 +#: common/models.py:1742 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1738 +#: common/models.py:1743 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1743 +#: common/models.py:1748 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1744 +#: common/models.py:1749 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1749 +#: common/models.py:1754 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1750 +#: common/models.py:1755 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1754 +#: common/models.py:1759 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1755 +#: common/models.py:1760 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1760 +#: common/models.py:1765 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1762 +#: common/models.py:1767 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1768 +#: common/models.py:1773 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1770 +#: common/models.py:1775 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1776 +#: common/models.py:1781 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1778 +#: common/models.py:1783 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1784 common/models.py:1826 common/models.py:1848 -#: common/models.py:1884 +#: common/models.py:1789 common/models.py:1837 common/models.py:1859 +#: common/models.py:1895 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1785 common/models.py:1827 common/models.py:1849 -#: common/models.py:1885 +#: common/models.py:1790 common/models.py:1838 common/models.py:1860 +#: common/models.py:1896 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1790 +#: common/models.py:1795 msgid "Require Active Part" msgstr "" -#: common/models.py:1791 +#: common/models.py:1796 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/models.py:1796 +#: common/models.py:1801 +msgid "Require Locked Part" +msgstr "" + +#: common/models.py:1802 +msgid "Prevent build order creation for unlocked parts" +msgstr "" + +#: common/models.py:1807 msgid "Require Valid BOM" msgstr "" -#: common/models.py:1798 +#: common/models.py:1809 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/models.py:1804 +#: common/models.py:1815 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1806 +#: common/models.py:1817 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1812 +#: common/models.py:1823 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1813 +#: common/models.py:1824 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1818 +#: common/models.py:1829 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1820 +#: common/models.py:1831 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1832 +#: common/models.py:1843 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1834 +#: common/models.py:1845 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1840 +#: common/models.py:1851 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1842 +#: common/models.py:1853 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1854 +#: common/models.py:1865 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1855 +#: common/models.py:1866 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1860 +#: common/models.py:1871 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1862 +#: common/models.py:1873 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1868 +#: common/models.py:1879 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1870 +#: common/models.py:1881 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1876 +#: common/models.py:1887 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1878 +#: common/models.py:1889 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1890 +#: common/models.py:1901 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1892 +#: common/models.py:1903 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1898 +#: common/models.py:1909 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1900 +#: common/models.py:1911 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1907 +#: common/models.py:1918 msgid "Enable password forgot" msgstr "Salli salasananpalautus" -#: common/models.py:1908 +#: common/models.py:1919 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1913 +#: common/models.py:1924 msgid "Enable registration" msgstr "Salli rekisteröinti" -#: common/models.py:1914 +#: common/models.py:1925 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1919 +#: common/models.py:1930 msgid "Enable SSO" msgstr "Salli SSO" -#: common/models.py:1920 +#: common/models.py:1931 msgid "Enable SSO on the login pages" msgstr "Salli SSO kirjautumissivuilla" -#: common/models.py:1925 +#: common/models.py:1936 msgid "Enable SSO registration" msgstr "Salli SSO rekisteröinti" -#: common/models.py:1927 +#: common/models.py:1938 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1933 +#: common/models.py:1944 msgid "Enable SSO group sync" msgstr "" -#: common/models.py:1935 +#: common/models.py:1946 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/models.py:1941 +#: common/models.py:1952 msgid "SSO group key" msgstr "" -#: common/models.py:1943 +#: common/models.py:1954 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/models.py:1949 +#: common/models.py:1960 msgid "SSO group map" msgstr "" -#: common/models.py:1951 +#: common/models.py:1962 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/models.py:1957 +#: common/models.py:1968 msgid "Remove groups outside of SSO" msgstr "" -#: common/models.py:1959 +#: common/models.py:1970 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/models.py:1965 +#: common/models.py:1976 msgid "Email required" msgstr "Sähköposti vaaditaan" -#: common/models.py:1966 +#: common/models.py:1977 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1971 +#: common/models.py:1982 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1973 +#: common/models.py:1984 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1979 +#: common/models.py:1990 msgid "Mail twice" msgstr "Sähköpostiosoite kahdesti" -#: common/models.py:1980 +#: common/models.py:1991 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1985 +#: common/models.py:1996 msgid "Password twice" msgstr "Salasana kahdesti" -#: common/models.py:1986 +#: common/models.py:1997 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1991 +#: common/models.py:2002 msgid "Allowed domains" msgstr "Sallitut verkkotunnukset" -#: common/models.py:1993 +#: common/models.py:2004 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1999 +#: common/models.py:2010 msgid "Group on signup" msgstr "" -#: common/models.py:2001 +#: common/models.py:2012 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/models.py:2007 +#: common/models.py:2018 msgid "Enforce MFA" msgstr "Pakota MFA" -#: common/models.py:2008 +#: common/models.py:2019 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:2013 +#: common/models.py:2024 msgid "Check plugins on startup" msgstr "" -#: common/models.py:2015 +#: common/models.py:2026 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:2023 +#: common/models.py:2034 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2024 +#: common/models.py:2035 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2030 +#: common/models.py:2041 msgid "Enable URL integration" msgstr "" -#: common/models.py:2031 +#: common/models.py:2042 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:2037 +#: common/models.py:2048 msgid "Enable navigation integration" msgstr "" -#: common/models.py:2038 +#: common/models.py:2049 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2044 +#: common/models.py:2055 msgid "Enable app integration" msgstr "" -#: common/models.py:2045 +#: common/models.py:2056 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2051 +#: common/models.py:2062 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2052 +#: common/models.py:2063 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2058 +#: common/models.py:2069 msgid "Enable event integration" msgstr "" -#: common/models.py:2059 +#: common/models.py:2070 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2065 +#: common/models.py:2076 msgid "Enable project codes" msgstr "" -#: common/models.py:2066 +#: common/models.py:2077 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2071 +#: common/models.py:2082 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2073 +#: common/models.py:2084 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2079 +#: common/models.py:2090 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2081 +#: common/models.py:2092 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2087 +#: common/models.py:2098 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2089 +#: common/models.py:2100 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2095 +#: common/models.py:2106 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2097 +#: common/models.py:2108 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2104 +#: common/models.py:2115 msgid "Display Users full names" msgstr "" -#: common/models.py:2105 +#: common/models.py:2116 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2110 +#: common/models.py:2121 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2111 +#: common/models.py:2122 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2123 common/models.py:2533 +#: common/models.py:2134 common/models.py:2514 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2166 +#: common/models.py:2177 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2168 +#: common/models.py:2179 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2174 +#: common/models.py:2185 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2175 +#: common/models.py:2186 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2180 +#: common/models.py:2191 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2181 +#: common/models.py:2192 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2186 +#: common/models.py:2197 msgid "Show latest parts" msgstr "" -#: common/models.py:2187 +#: common/models.py:2198 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2192 +#: common/models.py:2203 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2193 +#: common/models.py:2204 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2198 +#: common/models.py:2209 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2199 +#: common/models.py:2210 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2204 +#: common/models.py:2215 msgid "Show low stock" msgstr "" -#: common/models.py:2205 +#: common/models.py:2216 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2210 +#: common/models.py:2221 msgid "Show depleted stock" msgstr "" -#: common/models.py:2211 +#: common/models.py:2222 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2216 +#: common/models.py:2227 msgid "Show needed stock" msgstr "" -#: common/models.py:2217 +#: common/models.py:2228 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2222 +#: common/models.py:2233 msgid "Show expired stock" msgstr "" -#: common/models.py:2223 +#: common/models.py:2234 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2228 +#: common/models.py:2239 msgid "Show stale stock" msgstr "" -#: common/models.py:2229 +#: common/models.py:2240 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2234 +#: common/models.py:2245 msgid "Show pending builds" msgstr "" -#: common/models.py:2235 +#: common/models.py:2246 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2240 +#: common/models.py:2251 msgid "Show overdue builds" msgstr "" -#: common/models.py:2241 +#: common/models.py:2252 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2246 +#: common/models.py:2257 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2247 +#: common/models.py:2258 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2252 +#: common/models.py:2263 msgid "Show overdue POs" msgstr "" -#: common/models.py:2253 +#: common/models.py:2264 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2258 +#: common/models.py:2269 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2259 +#: common/models.py:2270 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2264 +#: common/models.py:2275 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2265 +#: common/models.py:2276 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2270 +#: common/models.py:2281 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2271 +#: common/models.py:2282 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2276 +#: common/models.py:2287 msgid "Show News" msgstr "Näytä uutiset" -#: common/models.py:2277 +#: common/models.py:2288 msgid "Show news on the homepage" msgstr "Näytä uutiset kotisivulla" -#: common/models.py:2282 +#: common/models.py:2293 msgid "Inline label display" msgstr "" -#: common/models.py:2284 +#: common/models.py:2295 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2290 +#: common/models.py:2301 msgid "Default label printer" msgstr "" -#: common/models.py:2292 +#: common/models.py:2303 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2298 +#: common/models.py:2309 msgid "Inline report display" msgstr "" -#: common/models.py:2300 +#: common/models.py:2311 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2306 +#: common/models.py:2317 msgid "Search Parts" msgstr "" -#: common/models.py:2307 +#: common/models.py:2318 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2312 +#: common/models.py:2323 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2313 +#: common/models.py:2324 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2318 +#: common/models.py:2329 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2319 +#: common/models.py:2330 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2324 +#: common/models.py:2335 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2325 +#: common/models.py:2336 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2330 +#: common/models.py:2341 msgid "Search Categories" msgstr "" -#: common/models.py:2331 +#: common/models.py:2342 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2336 +#: common/models.py:2347 msgid "Search Stock" msgstr "" -#: common/models.py:2337 +#: common/models.py:2348 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2342 +#: common/models.py:2353 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2344 +#: common/models.py:2355 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2350 +#: common/models.py:2361 msgid "Search Locations" msgstr "" -#: common/models.py:2351 +#: common/models.py:2362 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2356 +#: common/models.py:2367 msgid "Search Companies" msgstr "" -#: common/models.py:2357 +#: common/models.py:2368 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2362 +#: common/models.py:2373 msgid "Search Build Orders" msgstr "" -#: common/models.py:2363 +#: common/models.py:2374 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2368 +#: common/models.py:2379 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2369 +#: common/models.py:2380 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2374 +#: common/models.py:2385 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2376 +#: common/models.py:2387 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2382 +#: common/models.py:2393 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2383 +#: common/models.py:2394 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2388 +#: common/models.py:2399 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2390 +#: common/models.py:2401 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2396 +#: common/models.py:2407 msgid "Search Return Orders" msgstr "" -#: common/models.py:2397 +#: common/models.py:2408 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2402 +#: common/models.py:2413 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2404 +#: common/models.py:2415 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2410 +#: common/models.py:2421 msgid "Search Preview Results" msgstr "" -#: common/models.py:2412 +#: common/models.py:2423 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2418 +#: common/models.py:2429 msgid "Regex Search" msgstr "" -#: common/models.py:2419 +#: common/models.py:2430 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2424 +#: common/models.py:2435 msgid "Whole Word Search" msgstr "" -#: common/models.py:2425 +#: common/models.py:2436 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2430 +#: common/models.py:2441 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2431 +#: common/models.py:2442 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2436 +#: common/models.py:2447 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2437 +#: common/models.py:2448 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2442 +#: common/models.py:2453 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2443 +#: common/models.py:2454 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2448 +#: common/models.py:2459 msgid "Date Format" msgstr "" -#: common/models.py:2449 +#: common/models.py:2460 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2462 part/templates/part/detail.html:41 +#: common/models.py:2473 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2463 +#: common/models.py:2474 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2468 part/templates/part/detail.html:62 +#: common/models.py:2479 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2470 +#: common/models.py:2481 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2476 +#: common/models.py:2487 msgid "Table String Length" msgstr "" -#: common/models.py:2478 +#: common/models.py:2489 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2484 -msgid "Default part label template" -msgstr "" - -#: common/models.py:2485 -msgid "The part label template to be automatically selected" -msgstr "" - -#: common/models.py:2490 -msgid "Default stock item template" -msgstr "" - -#: common/models.py:2492 -msgid "The stock item label template to be automatically selected" -msgstr "" - -#: common/models.py:2498 -msgid "Default stock location label template" -msgstr "" - -#: common/models.py:2500 -msgid "The stock location label template to be automatically selected" -msgstr "" - -#: common/models.py:2506 -msgid "Default build line label template" -msgstr "" - -#: common/models.py:2508 -msgid "The build line label template to be automatically selected" -msgstr "" - -#: common/models.py:2514 +#: common/models.py:2495 msgid "Receive error reports" msgstr "" -#: common/models.py:2515 +#: common/models.py:2496 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2520 +#: common/models.py:2501 msgid "Last used printing machines" msgstr "" -#: common/models.py:2521 +#: common/models.py:2502 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2541 common/models.py:2542 common/models.py:2691 -#: common/models.py:2692 common/models.py:2937 common/models.py:2938 -#: common/models.py:3259 common/models.py:3260 part/models.py:3193 -#: part/models.py:3280 part/models.py:3353 part/models.py:3381 -#: plugin/models.py:274 plugin/models.py:275 +#: common/models.py:2522 common/models.py:2523 common/models.py:2672 +#: common/models.py:2673 common/models.py:2918 common/models.py:2919 +#: common/models.py:3245 common/models.py:3246 importer/models.py:85 +#: part/models.py:3203 part/models.py:3290 part/models.py:3364 +#: part/models.py:3392 plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 msgid "User" msgstr "Käyttäjä" -#: common/models.py:2564 +#: common/models.py:2545 msgid "Price break quantity" msgstr "" -#: common/models.py:2571 company/serializers.py:472 order/admin.py:42 -#: order/models.py:1346 order/models.py:2265 -#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1886 +#: common/models.py:2552 company/serializers.py:502 order/admin.py:42 +#: order/models.py:1346 order/models.py:2292 +#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1889 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:740 msgid "Price" msgstr "Hinta" -#: common/models.py:2572 +#: common/models.py:2553 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2668 common/models.py:2853 +#: common/models.py:2649 common/models.py:2834 msgid "Endpoint" msgstr "" -#: common/models.py:2669 +#: common/models.py:2650 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2679 +#: common/models.py:2660 msgid "Name for this webhook" msgstr "" -#: common/models.py:2683 +#: common/models.py:2664 msgid "Is this webhook active" msgstr "" -#: common/models.py:2699 users/models.py:159 +#: common/models.py:2680 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2700 +#: common/models.py:2681 msgid "Token for access" msgstr "" -#: common/models.py:2708 +#: common/models.py:2689 msgid "Secret" msgstr "Salaisuus" -#: common/models.py:2709 +#: common/models.py:2690 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2817 +#: common/models.py:2798 msgid "Message ID" msgstr "" -#: common/models.py:2818 +#: common/models.py:2799 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2826 +#: common/models.py:2807 msgid "Host" msgstr "Isäntä" -#: common/models.py:2827 +#: common/models.py:2808 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2835 +#: common/models.py:2816 msgid "Header" msgstr "" -#: common/models.py:2836 +#: common/models.py:2817 msgid "Header of this message" msgstr "" -#: common/models.py:2843 +#: common/models.py:2824 msgid "Body" msgstr "" -#: common/models.py:2844 +#: common/models.py:2825 msgid "Body of this message" msgstr "" -#: common/models.py:2854 +#: common/models.py:2835 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2859 +#: common/models.py:2840 msgid "Worked on" msgstr "" -#: common/models.py:2860 +#: common/models.py:2841 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2986 +#: common/models.py:2967 msgid "Id" msgstr "" -#: common/models.py:2988 templates/js/translated/company.js:965 +#: common/models.py:2969 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "Otsikko" -#: common/models.py:2990 common/models.py:3243 company/models.py:149 -#: company/models.py:440 company/models.py:500 company/models.py:799 -#: order/models.py:303 order/models.py:1301 order/models.py:1717 -#: part/admin.py:55 part/models.py:955 +#: common/models.py:2971 common/models.py:3229 company/models.py:149 +#: company/models.py:446 company/models.py:506 company/models.py:806 +#: order/models.py:303 order/models.py:1301 order/models.py:1733 +#: part/admin.py:55 part/models.py:959 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:229 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/part.js:2459 #: templates/js/translated/purchase_order.js:2040 #: templates/js/translated/purchase_order.js:2204 #: templates/js/translated/return_order.js:779 @@ -3607,28 +3648,28 @@ msgstr "Otsikko" msgid "Link" msgstr "Linkki" -#: common/models.py:2992 templates/js/translated/news.js:60 +#: common/models.py:2973 templates/js/translated/news.js:60 msgid "Published" msgstr "Julkaistu" -#: common/models.py:2994 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2975 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:2996 templates/js/translated/news.js:52 +#: common/models.py:2977 templates/js/translated/news.js:52 msgid "Summary" msgstr "Yhteenveto" -#: common/models.py:2999 +#: common/models.py:2980 msgid "Read" msgstr "" -#: common/models.py:2999 +#: common/models.py:2980 msgid "Was this news item read?" msgstr "" -#: common/models.py:3016 company/models.py:159 part/models.py:965 +#: common/models.py:2997 company/models.py:159 part/models.py:969 #: 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.html:35 @@ -3638,90 +3679,96 @@ msgstr "" msgid "Image" msgstr "Kuva" -#: common/models.py:3016 +#: common/models.py:2997 msgid "Image file" msgstr "Kuvatiedosto" -#: common/models.py:3028 common/models.py:3227 +#: common/models.py:3009 common/models.py:3213 msgid "Target model type for this image" msgstr "" -#: common/models.py:3032 +#: common/models.py:3013 msgid "Target model ID for this image" msgstr "" -#: common/models.py:3070 +#: common/models.py:3035 +#, fuzzy +#| msgid "Customer" +msgid "Custom Unit" +msgstr "Asiakas" + +#: common/models.py:3056 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:3085 +#: common/models.py:3071 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3104 +#: common/models.py:3090 msgid "Unit name" msgstr "" -#: common/models.py:3111 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3097 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3112 +#: common/models.py:3098 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3118 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3104 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3119 +#: common/models.py:3105 msgid "Unit definition" msgstr "" -#: common/models.py:3177 common/models.py:3234 stock/models.py:2461 +#: common/models.py:3163 common/models.py:3220 stock/models.py:2471 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" msgstr "Liite" -#: common/models.py:3189 +#: common/models.py:3175 msgid "Missing file" msgstr "Puuttuva tiedosto" -#: common/models.py:3190 +#: common/models.py:3176 msgid "Missing external link" msgstr "Puuttuva ulkoinen linkki" -#: common/models.py:3235 +#: common/models.py:3221 msgid "Select file to attach" msgstr "Valitse liitettävä tiedosto" -#: common/models.py:3250 templates/js/translated/attachment.js:120 +#: common/models.py:3236 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" msgstr "Kommentti" -#: common/models.py:3251 +#: common/models.py:3237 msgid "Attachment comment" msgstr "" -#: common/models.py:3267 +#: common/models.py:3253 msgid "Upload date" msgstr "" -#: common/models.py:3268 +#: common/models.py:3254 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:3272 +#: common/models.py:3258 msgid "File size" msgstr "" -#: common/models.py:3272 +#: common/models.py:3258 msgid "File size in bytes" msgstr "" -#: common/models.py:3310 common/serializers.py:553 +#: common/models.py:3296 common/serializers.py:557 msgid "Invalid model type specified for attachment" msgstr "" @@ -3743,7 +3790,7 @@ msgstr "" msgid "A order that is assigned to you was canceled" msgstr "" -#: common/notifications.py:330 common/notifications.py:337 order/api.py:472 +#: common/notifications.py:330 common/notifications.py:337 order/api.py:454 msgid "Items Received" msgstr "" @@ -3759,75 +3806,75 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:371 +#: common/serializers.py:375 msgid "Is Running" msgstr "" -#: common/serializers.py:377 +#: common/serializers.py:381 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:383 +#: common/serializers.py:387 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:389 +#: common/serializers.py:393 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:404 +#: common/serializers.py:408 msgid "Task ID" msgstr "" -#: common/serializers.py:404 +#: common/serializers.py:408 msgid "Unique task ID" msgstr "" -#: common/serializers.py:406 +#: common/serializers.py:410 msgid "Lock" msgstr "" -#: common/serializers.py:406 +#: common/serializers.py:410 msgid "Lock time" msgstr "" -#: common/serializers.py:408 +#: common/serializers.py:412 msgid "Task name" msgstr "" -#: common/serializers.py:410 +#: common/serializers.py:414 msgid "Function" msgstr "" -#: common/serializers.py:410 +#: common/serializers.py:414 msgid "Function name" msgstr "" -#: common/serializers.py:412 +#: common/serializers.py:416 msgid "Arguments" msgstr "" -#: common/serializers.py:412 +#: common/serializers.py:416 msgid "Task arguments" msgstr "" -#: common/serializers.py:415 +#: common/serializers.py:419 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:415 +#: common/serializers.py:419 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:525 +#: common/serializers.py:529 msgid "Filename" msgstr "Tiedostonimi" -#: common/serializers.py:532 report/api.py:100 report/serializers.py:53 +#: common/serializers.py:536 report/api.py:100 report/serializers.py:53 msgid "Model Type" msgstr "" -#: common/serializers.py:559 +#: common/serializers.py:563 msgid "User does not have permission to create or edit attachments for this model" msgstr "" @@ -3894,29 +3941,29 @@ msgstr "" msgid "Previous Step" msgstr "Edellinen vaihe" -#: company/api.py:144 +#: company/api.py:141 msgid "Part is Active" msgstr "" -#: company/api.py:148 +#: company/api.py:145 msgid "Manufacturer is Active" msgstr "" -#: company/api.py:281 +#: company/api.py:278 msgid "Supplier Part is Active" msgstr "" -#: company/api.py:285 +#: company/api.py:282 msgid "Internal Part is Active" msgstr "" -#: company/api.py:289 +#: company/api.py:286 msgid "Supplier is Active" msgstr "" -#: company/models.py:100 company/models.py:365 +#: company/models.py:100 company/models.py:371 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:822 +#: company/templates/company/company_base.html:12 stock/api.py:814 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "Yritys" @@ -3956,8 +4003,9 @@ msgstr "" msgid "Contact email address" msgstr "" -#: company/models.py:142 company/templates/company/company_base.html:145 -#: order/models.py:343 order/templates/order/order_base.html:203 +#: company/models.py:142 company/models.py:275 +#: company/templates/company/company_base.html:145 order/models.py:343 +#: order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 #: order/templates/order/sales_order_base.html:218 msgid "Contact" @@ -3976,7 +4024,9 @@ msgid "Is this company active?" msgstr "" #: company/models.py:168 -msgid "is customer" +#, fuzzy +#| msgid "is customer" +msgid "Is customer" msgstr "on asiakas" #: company/models.py:169 @@ -3984,7 +4034,9 @@ msgid "Do you sell items to this company?" msgstr "" #: company/models.py:174 -msgid "is supplier" +#, fuzzy +#| msgid "is supplier" +msgid "Is supplier" msgstr "on toimittaja" #: company/models.py:175 @@ -3992,7 +4044,9 @@ msgid "Do you purchase items from this company?" msgstr "" #: company/models.py:180 -msgid "is manufacturer" +#, fuzzy +#| msgid "is manufacturer" +msgid "Is manufacturer" msgstr "on valmistaja" #: company/models.py:181 @@ -4003,178 +4057,191 @@ msgstr "" msgid "Default currency used for this company" msgstr "" -#: company/models.py:366 +#: company/models.py:314 company/templates/company/company_base.html:124 +#: order/models.py:353 order/templates/order/order_base.html:210 +#: order/templates/order/return_order_base.html:181 +#: order/templates/order/sales_order_base.html:225 +msgid "Address" +msgstr "Osoite" + +#: company/models.py:315 company/templates/company/sidebar.html:35 +msgid "Addresses" +msgstr "" + +#: company/models.py:372 msgid "Select company" msgstr "" -#: company/models.py:371 +#: company/models.py:377 msgid "Address title" msgstr "" -#: company/models.py:372 +#: company/models.py:378 msgid "Title describing the address entry" msgstr "" -#: company/models.py:378 +#: company/models.py:384 msgid "Primary address" msgstr "" -#: company/models.py:379 +#: company/models.py:385 msgid "Set as primary address" msgstr "" -#: company/models.py:384 templates/js/translated/company.js:914 +#: company/models.py:390 templates/js/translated/company.js:914 #: templates/js/translated/company.js:971 msgid "Line 1" msgstr "" -#: company/models.py:385 +#: company/models.py:391 msgid "Address line 1" msgstr "" -#: company/models.py:391 templates/js/translated/company.js:915 +#: company/models.py:397 templates/js/translated/company.js:915 #: templates/js/translated/company.js:977 msgid "Line 2" msgstr "" -#: company/models.py:392 +#: company/models.py:398 msgid "Address line 2" msgstr "" -#: company/models.py:398 company/models.py:399 +#: company/models.py:404 company/models.py:405 #: templates/js/translated/company.js:983 msgid "Postal code" msgstr "" -#: company/models.py:405 +#: company/models.py:411 msgid "City/Region" msgstr "" -#: company/models.py:406 +#: company/models.py:412 msgid "Postal code city/region" msgstr "" -#: company/models.py:412 +#: company/models.py:418 msgid "State/Province" msgstr "" -#: company/models.py:413 +#: company/models.py:419 msgid "State or province" msgstr "" -#: company/models.py:419 templates/js/translated/company.js:1001 +#: company/models.py:425 templates/js/translated/company.js:1001 msgid "Country" msgstr "" -#: company/models.py:420 +#: company/models.py:426 msgid "Address country" msgstr "" -#: company/models.py:426 +#: company/models.py:432 msgid "Courier shipping notes" msgstr "" -#: company/models.py:427 +#: company/models.py:433 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:433 +#: company/models.py:439 msgid "Internal shipping notes" msgstr "" -#: company/models.py:434 +#: company/models.py:440 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:441 +#: company/models.py:447 msgid "Link to address information (external)" msgstr "" -#: company/models.py:463 company/models.py:574 company/models.py:792 +#: company/models.py:469 company/models.py:581 company/models.py:799 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:217 msgid "Manufacturer Part" msgstr "" -#: company/models.py:475 company/models.py:760 stock/models.py:767 -#: stock/serializers.py:422 stock/templates/stock/item_base.html:142 +#: company/models.py:481 company/models.py:767 stock/models.py:767 +#: stock/serializers.py:442 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" -#: company/models.py:477 company/models.py:762 +#: company/models.py:483 company/models.py:769 msgid "Select part" msgstr "" -#: company/models.py:486 company/templates/company/company_base.html:82 +#: company/models.py:492 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:525 +#: company/templates/company/supplier_part.html:145 part/serializers.py:543 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 #: templates/js/translated/company.js:1296 #: templates/js/translated/company.js:1611 -#: templates/js/translated/table_filters.js:800 +#: templates/js/translated/table_filters.js:805 msgid "Manufacturer" msgstr "Valmistaja" -#: company/models.py:487 +#: company/models.py:493 msgid "Select manufacturer" msgstr "Valitse valmistaja" -#: company/models.py:493 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:535 -#: templates/js/translated/company.js:351 +#: company/models.py:499 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:153 order/serializers.py:518 +#: part/serializers.py:553 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:1801 +#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1804 #: templates/js/translated/purchase_order.js:1851 #: templates/js/translated/purchase_order.js:2053 msgid "MPN" msgstr "" -#: company/models.py:494 -msgid "Manufacturer Part Number" -msgstr "Valmistajan osanumero" - -#: company/models.py:501 +#: company/models.py:507 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:510 +#: company/models.py:516 msgid "Manufacturer part description" msgstr "" -#: company/models.py:581 +#: company/models.py:569 +#, fuzzy +#| msgid "Manufacturer Part Number" +msgid "Manufacturer Part Parameter" +msgstr "Valmistajan osanumero" + +#: company/models.py:588 msgid "Parameter name" msgstr "" -#: company/models.py:587 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2453 templates/js/translated/company.js:1166 -#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1493 +#: company/models.py:594 report/templates/report/inventree_test_report.html:104 +#: stock/models.py:2463 templates/js/translated/company.js:1166 +#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1496 #: templates/js/translated/stock.js:1522 msgid "Value" msgstr "Arvo" -#: company/models.py:588 +#: company/models.py:595 msgid "Parameter value" msgstr "" -#: company/models.py:595 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1045 part/models.py:3646 +#: company/models.py:602 company/templates/company/supplier_part.html:168 +#: part/admin.py:57 part/models.py:1049 part/models.py:3667 #: part/templates/part/part_base.html:284 -#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1512 -#: templates/js/translated/part.js:1616 templates/js/translated/part.js:2370 +#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1515 +#: templates/js/translated/part.js:1619 templates/js/translated/part.js:2373 msgid "Units" msgstr "" -#: company/models.py:596 +#: company/models.py:603 msgid "Parameter units" msgstr "" -#: company/models.py:648 company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 order/api.py:452 +#: company/models.py:655 company/templates/company/supplier_part.html:7 +#: company/templates/company/supplier_part.html:24 order/api.py:434 #: stock/models.py:778 stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 @@ -4182,91 +4249,91 @@ msgstr "" msgid "Supplier Part" msgstr "" -#: company/models.py:700 +#: company/models.py:707 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:707 +#: company/models.py:714 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:721 +#: company/models.py:728 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:770 company/templates/company/company_base.html:87 +#: company/models.py:777 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:509 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:527 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 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:511 -#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1769 +#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1772 #: templates/js/translated/pricing.js:498 #: templates/js/translated/purchase_order.js:1689 -#: templates/js/translated/table_filters.js:804 +#: templates/js/translated/table_filters.js:809 msgid "Supplier" msgstr "Toimittaja" -#: company/models.py:771 +#: company/models.py:778 msgid "Select supplier" msgstr "Valitse toimittaja" -#: company/models.py:777 part/serializers.py:520 +#: company/models.py:784 part/serializers.py:538 msgid "Supplier stock keeping unit" msgstr "Toimittajan varastonimike" -#: company/models.py:783 +#: company/models.py:790 msgid "Is this supplier part active?" msgstr "" -#: company/models.py:793 +#: company/models.py:800 msgid "Select manufacturer part" msgstr "Valitse valmistajan osa" -#: company/models.py:800 +#: company/models.py:807 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:809 +#: company/models.py:816 msgid "Supplier part description" msgstr "" -#: company/models.py:816 company/templates/company/supplier_part.html:187 -#: part/admin.py:412 part/models.py:4093 part/templates/part/upload_bom.html:59 +#: company/models.py:823 company/templates/company/supplier_part.html:187 +#: part/admin.py:412 part/models.py:4178 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: 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:710 +#: stock/serializers.py:768 msgid "Note" msgstr "Muistiinpano" -#: company/models.py:825 part/models.py:2003 +#: company/models.py:832 part/models.py:2013 msgid "base cost" msgstr "" -#: company/models.py:826 part/models.py:2004 +#: company/models.py:833 part/models.py:2014 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:833 company/templates/company/supplier_part.html:160 -#: stock/admin.py:228 stock/models.py:798 stock/serializers.py:1475 +#: company/models.py:840 company/templates/company/supplier_part.html:160 +#: stock/admin.py:228 stock/models.py:798 stock/serializers.py:1541 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 msgid "Packaging" msgstr "" -#: company/models.py:834 +#: company/models.py:841 msgid "Part packaging" msgstr "" -#: company/models.py:839 templates/js/translated/company.js:1651 -#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 +#: company/models.py:846 templates/js/translated/company.js:1651 +#: templates/js/translated/part.js:1825 templates/js/translated/part.js:1881 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 #: templates/js/translated/purchase_order.js:1103 @@ -4275,35 +4342,45 @@ msgstr "" msgid "Pack Quantity" msgstr "" -#: company/models.py:841 +#: company/models.py:848 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:860 part/models.py:2010 +#: company/models.py:867 part/models.py:2020 msgid "multiple" msgstr "" -#: company/models.py:861 +#: company/models.py:868 msgid "Order multiple" msgstr "" -#: company/models.py:873 +#: company/models.py:880 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:879 +#: company/models.py:886 msgid "Availability Updated" msgstr "" -#: company/models.py:880 +#: company/models.py:887 msgid "Date of last update of availability data" msgstr "" -#: company/serializers.py:161 +#: company/models.py:1015 +msgid "Supplier Price Break" +msgstr "" + +#: company/serializers.py:174 msgid "Default currency used for this supplier" msgstr "" -#: company/serializers.py:357 part/admin.py:126 +#: company/serializers.py:210 +#, fuzzy +#| msgid "Company name" +msgid "Company Name" +msgstr "Yrityksen nimi" + +#: company/serializers.py:384 part/admin.py:126 part/serializers.py:855 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:355 @@ -4315,7 +4392,7 @@ msgstr "" #: templates/js/translated/company.js:1287 #: templates/js/translated/company.js:1575 #: templates/js/translated/model_renderers.js:312 -#: templates/js/translated/part.js:815 templates/js/translated/part.js:1219 +#: templates/js/translated/part.js:814 templates/js/translated/part.js:1222 msgid "Inactive" msgstr "" @@ -4374,16 +4451,16 @@ msgid "Delete image" msgstr "" #: company/templates/company/company_base.html:92 order/models.py:938 -#: order/models.py:2032 order/templates/order/return_order_base.html:131 +#: order/models.py:2058 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:148 stock/models.py:820 -#: stock/models.py:821 stock/serializers.py:1225 +#: stock/models.py:821 stock/serializers.py:1291 #: 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:295 #: templates/js/translated/sales_order.js:820 #: templates/js/translated/stock.js:2959 -#: templates/js/translated/table_filters.js:808 +#: templates/js/translated/table_filters.js:813 msgid "Customer" msgstr "Asiakas" @@ -4391,13 +4468,6 @@ msgstr "Asiakas" msgid "Uses default currency" msgstr "Käyttää oletusvaluuttaa" -#: company/templates/company/company_base.html:124 order/models.py:353 -#: order/templates/order/order_base.html:210 -#: order/templates/order/return_order_base.html:181 -#: order/templates/order/sales_order_base.html:225 -msgid "Address" -msgstr "Osoite" - #: company/templates/company/company_base.html:131 msgid "Phone" msgstr "Puhelin" @@ -4577,7 +4647,8 @@ msgid "Delete manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:65 -#: company/templates/company/supplier_part.html:97 order/api.py:458 +#: company/templates/company/supplier_part.html:97 order/api.py:440 +#: order/serializers.py:526 msgid "Internal Part" msgstr "" @@ -4587,7 +4658,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:832 +#: part/admin.py:122 part/serializers.py:860 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4608,7 +4679,7 @@ msgid "New Parameter" msgstr "" #: company/templates/company/manufacturer_part.html:196 -#: templates/js/translated/part.js:1423 +#: templates/js/translated/part.js:1426 msgid "Add Parameter" msgstr "" @@ -4632,10 +4703,6 @@ msgstr "" msgid "Contacts" msgstr "" -#: company/templates/company/sidebar.html:35 -msgid "Addresses" -msgstr "" - #: company/templates/company/supplier_part.html:50 #: templates/js/translated/company.js:1526 msgid "Supplier part actions" @@ -4673,104 +4740,278 @@ msgstr "" msgid "Delete Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:133 -msgid "No supplier information available" +#: company/templates/company/supplier_part.html:133 +msgid "No supplier information available" +msgstr "" + +#: company/templates/company/supplier_part.html:139 order/serializers.py:515 +#: part/bom.py:279 part/bom.py:311 part/serializers.py:537 +#: templates/js/translated/company.js:349 templates/js/translated/part.js:1790 +#: templates/js/translated/pricing.js:510 +#: templates/js/translated/purchase_order.js:1850 +#: templates/js/translated/purchase_order.js:2028 +msgid "SKU" +msgstr "" + +#: company/templates/company/supplier_part.html:206 +msgid "Supplier Part Stock" +msgstr "" + +#: company/templates/company/supplier_part.html:209 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:207 +msgid "Create new stock item" +msgstr "" + +#: company/templates/company/supplier_part.html:210 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:208 +#: templates/js/translated/stock.js:537 +msgid "New Stock Item" +msgstr "" + +#: company/templates/company/supplier_part.html:223 +msgid "Supplier Part Orders" +msgstr "" + +#: company/templates/company/supplier_part.html:246 +msgid "Pricing Information" +msgstr "" + +#: company/templates/company/supplier_part.html:251 +#: templates/js/translated/company.js:398 +#: templates/js/translated/pricing.js:684 +msgid "Add Price Break" +msgstr "" + +#: company/templates/company/supplier_part.html:276 +msgid "Supplier Part QR Code" +msgstr "" + +#: company/templates/company/supplier_part.html:287 +msgid "Link Barcode to Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:359 +msgid "Update Part Availability" +msgstr "" + +#: company/templates/company/supplier_part_sidebar.html:5 +#: part/serializers.py:859 part/stocktake.py:224 +#: part/templates/part/category.html:183 +#: part/templates/part/category_sidebar.html:17 stock/admin.py:68 +#: stock/serializers.py:976 stock/serializers.py:1154 +#: stock/templates/stock/location.html:170 +#: 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:1064 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 +#: users/models.py:206 +msgid "Stock Items" +msgstr "" + +#: company/templates/company/supplier_part_sidebar.html:9 +msgid "Supplier Part Pricing" +msgstr "" + +#: company/views.py:32 +msgid "New Supplier" +msgstr "Uusi toimittaja" + +#: company/views.py:38 +msgid "New Manufacturer" +msgstr "Uusi valmistaja" + +#: company/views.py:43 templates/InvenTree/search.html:210 +#: templates/navbar.html:60 +msgid "Customers" +msgstr "Asiakkaat" + +#: company/views.py:44 +msgid "New Customer" +msgstr "Uusi asiakas" + +#: company/views.py:52 +msgid "New Company" +msgstr "Uusi yritys" + +#: generic/states/tests.py:18 order/status_codes.py:13 +msgid "Placed" +msgstr "" + +#: importer/mixins.py:263 +msgid "Invalid export format" +msgstr "" + +#: importer/models.py:56 +msgid "Timestamp" +msgstr "" + +#: importer/models.py:61 +#, fuzzy +#| msgid "Select file to upload" +msgid "Data file to import" +msgstr "Valitse lähetettävä tiedosto" + +#: importer/models.py:70 templates/js/translated/tables.js:558 +msgid "Columns" +msgstr "" + +#: importer/models.py:81 +#, fuzzy +#| msgid "Server status" +msgid "Import status" +msgstr "Palvelimen tila" + +#: importer/models.py:91 +msgid "Field Defaults" +msgstr "" + +#: importer/models.py:201 +msgid "Some required fields have not been mapped" +msgstr "" + +#: importer/models.py:346 +msgid "Column is already mapped to a database field" +msgstr "" + +#: importer/models.py:351 +msgid "Field is already mapped to a data column" +msgstr "" + +#: importer/models.py:360 +msgid "Column mapping must be linked to a valid import session" +msgstr "" + +#: importer/models.py:365 +msgid "Column does not exist in the data file" +msgstr "" + +#: importer/models.py:372 +#, fuzzy +#| msgid "User does not have permission to view this model" +msgid "Field does not exist in the target model" +msgstr "Käyttäjän oikeudet eivät riitä kohteen tarkastelemiseen" + +#: importer/models.py:376 +msgid "Selected field is read-only" +msgstr "" + +#: importer/models.py:381 importer/models.py:452 +#, fuzzy +#| msgid "Active Sessions" +msgid "Import Session" +msgstr "Aktiiviset istunnot" + +#: importer/models.py:385 +msgid "Field" +msgstr "" + +#: importer/models.py:387 +msgid "Column" +msgstr "" + +#: importer/models.py:456 +msgid "Row Index" msgstr "" -#: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:519 -#: templates/js/translated/company.js:349 templates/js/translated/part.js:1787 -#: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1850 -#: templates/js/translated/purchase_order.js:2028 -msgid "SKU" +#: importer/models.py:459 +msgid "Original row data" msgstr "" -#: company/templates/company/supplier_part.html:206 -msgid "Supplier Part Stock" +#: importer/models.py:462 part/models.py:3841 +msgid "Data" msgstr "" -#: company/templates/company/supplier_part.html:209 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:207 -msgid "Create new stock item" +#: importer/models.py:464 machine/models.py:110 +msgid "Errors" msgstr "" -#: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:208 -#: templates/js/translated/stock.js:537 -msgid "New Stock Item" +#: importer/models.py:466 part/api.py:874 +msgid "Valid" msgstr "" -#: company/templates/company/supplier_part.html:223 -msgid "Supplier Part Orders" +#: importer/operations.py:28 importer/operations.py:49 +#, fuzzy +#| msgid "Unsupported file format: {fmt}" +msgid "Unsupported data file format" +msgstr "Tiedostomuotoa ei tueta: {fmt}" + +#: importer/operations.py:40 +msgid "Failed to open data file" msgstr "" -#: company/templates/company/supplier_part.html:246 -msgid "Pricing Information" +#: importer/operations.py:51 +msgid "Invalid data file dimensions" msgstr "" -#: company/templates/company/supplier_part.html:251 -#: templates/js/translated/company.js:398 -#: templates/js/translated/pricing.js:684 -msgid "Add Price Break" +#: importer/serializers.py:135 +msgid "Rows" msgstr "" -#: company/templates/company/supplier_part.html:276 -msgid "Supplier Part QR Code" +#: importer/serializers.py:136 +msgid "List of row IDs to accept" msgstr "" -#: company/templates/company/supplier_part.html:287 -msgid "Link Barcode to Supplier Part" +#: importer/serializers.py:149 +#, fuzzy +#| msgid "No data rows provided" +msgid "No rows provided" +msgstr "Datarivejä ei annettu" + +#: importer/serializers.py:153 +msgid "Row does not belong to this session" msgstr "" -#: company/templates/company/supplier_part.html:359 -msgid "Update Part Availability" +#: importer/serializers.py:156 +msgid "Row contains invalid data" msgstr "" -#: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:831 part/stocktake.py:224 -#: part/templates/part/category.html:183 -#: part/templates/part/category_sidebar.html:17 stock/admin.py:68 -#: stock/serializers.py:918 stock/serializers.py:1091 -#: stock/templates/stock/location.html:170 -#: 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:1061 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 -#: users/models.py:206 -msgid "Stock Items" +#: importer/serializers.py:159 +#, fuzzy +#| msgid "Some languages are not complete" +msgid "Row has already been completed" +msgstr "Jotkin kielet eivät ole valmiita" + +#: importer/status_codes.py:11 +msgid "Initializing" msgstr "" -#: company/templates/company/supplier_part_sidebar.html:9 -msgid "Supplier Part Pricing" +#: importer/status_codes.py:12 +msgid "Mapping Columns" msgstr "" -#: company/views.py:32 -msgid "New Supplier" -msgstr "Uusi toimittaja" +#: importer/status_codes.py:13 +msgid "Importing Data" +msgstr "" -#: company/views.py:38 -msgid "New Manufacturer" -msgstr "Uusi valmistaja" +#: importer/status_codes.py:16 +msgid "Processing Data" +msgstr "" -#: company/views.py:43 templates/InvenTree/search.html:210 -#: templates/navbar.html:60 -msgid "Customers" -msgstr "Asiakkaat" +#: importer/validators.py:21 +#, fuzzy +#| msgid "Image download exceeded maximum size" +msgid "Data file exceeds maximum size limit" +msgstr "Kuvan lataus ylitti enimmäiskoon" -#: company/views.py:44 -msgid "New Customer" -msgstr "Uusi asiakas" +#: importer/validators.py:26 +msgid "Data file contains no headers" +msgstr "" -#: company/views.py:52 -msgid "New Company" -msgstr "Uusi yritys" +#: importer/validators.py:29 +msgid "Data file contains too many columns" +msgstr "" -#: generic/states/tests.py:18 order/status_codes.py:13 -msgid "Placed" +#: importer/validators.py:32 +msgid "Data file contains too many rows" msgstr "" +#: importer/validators.py:49 +#, fuzzy +#| msgid "Metadata must be a python dict object" +msgid "Value must be a valid dictionary object" +msgstr "Metatietojen tulee olla python dict objekti" + #: machine/machine_types/label_printer.py:212 msgid "Copies" msgstr "" @@ -4783,7 +5024,7 @@ msgstr "" msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:229 order/api.py:1467 +#: machine/machine_types/label_printer.py:229 order/api.py:1388 #: templates/js/translated/sales_order.js:1078 msgid "Unknown" msgstr "" @@ -4852,10 +5093,6 @@ msgstr "" msgid "Initialized" msgstr "" -#: machine/models.py:110 -msgid "Errors" -msgstr "" - #: machine/models.py:117 msgid "Machine status" msgstr "" @@ -4881,44 +5118,44 @@ msgstr "" msgid "Total Price" msgstr "Hinta yhteensä" -#: order/api.py:157 order/serializers.py:90 +#: order/api.py:149 order/serializers.py:94 #: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:113 #: order/templates/order/sales_order_base.html:122 msgid "Order Status" msgstr "" -#: order/api.py:161 templates/js/translated/table_filters.js:194 -#: templates/js/translated/table_filters.js:779 +#: order/api.py:153 templates/js/translated/table_filters.js:194 +#: templates/js/translated/table_filters.js:784 msgid "Has Pricing" msgstr "" -#: order/api.py:236 +#: order/api.py:228 msgid "No matching purchase order found" msgstr "" -#: order/api.py:435 order/api.py:801 order/models.py:1395 order/models.py:1504 -#: order/models.py:1550 order/models.py:1664 order/models.py:1818 -#: order/models.py:2231 order/models.py:2282 +#: order/api.py:417 order/api.py:755 order/models.py:1400 order/models.py:1514 +#: order/models.py:1565 order/models.py:1680 order/models.py:1839 +#: order/models.py:2258 order/models.py:2314 #: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "" -#: order/api.py:439 order/api.py:822 +#: order/api.py:421 order/api.py:776 msgid "Order Complete" msgstr "" -#: order/api.py:462 +#: order/api.py:444 msgid "Order Pending" msgstr "" -#: order/api.py:1461 order/models.py:380 order/models.py:1396 -#: order/models.py:1505 order/templates/order/order_base.html:9 +#: order/api.py:1382 order/models.py:380 order/models.py:1401 +#: order/models.py:1515 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 -#: stock/serializers.py:118 stock/templates/stock/item_base.html:176 +#: stock/serializers.py:120 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/part.js:1746 templates/js/translated/pricing.js:804 +#: templates/js/translated/part.js:1749 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:1673 @@ -4926,8 +5163,8 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1465 order/models.py:1981 order/models.py:2232 -#: order/models.py:2283 order/templates/order/return_order_base.html:9 +#: order/api.py:1386 order/models.py:2007 order/models.py:2259 +#: order/models.py:2315 order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report.html:13 #: templates/js/translated/return_order.js:280 @@ -4939,11 +5176,11 @@ msgstr "" msgid "Total price for this order" msgstr "" -#: order/models.py:96 order/serializers.py:70 +#: order/models.py:96 order/serializers.py:72 msgid "Order Currency" msgstr "Tilauksen valuutta" -#: order/models.py:99 order/serializers.py:71 +#: order/models.py:99 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" @@ -4959,7 +5196,7 @@ msgstr "" msgid "Select project code for this order" msgstr "" -#: order/models.py:303 order/models.py:1301 order/models.py:1717 +#: order/models.py:303 order/models.py:1301 order/models.py:1733 msgid "Link to external page" msgstr "" @@ -5008,15 +5245,15 @@ msgstr "" msgid "received by" msgstr "" -#: order/models.py:514 order/models.py:2058 +#: order/models.py:514 order/models.py:2084 msgid "Issue Date" msgstr "" -#: order/models.py:515 order/models.py:2059 +#: order/models.py:515 order/models.py:2085 msgid "Date order was issued" msgstr "" -#: order/models.py:522 order/models.py:2066 +#: order/models.py:522 order/models.py:2092 msgid "Date order was completed" msgstr "" @@ -5032,15 +5269,15 @@ msgstr "" msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:962 order/models.py:2051 +#: order/models.py:962 order/models.py:2077 msgid "Customer Reference " msgstr "Asiakkaan viite " -#: order/models.py:963 order/models.py:2052 +#: order/models.py:963 order/models.py:2078 msgid "Customer order reference code" msgstr "" -#: order/models.py:967 order/models.py:1671 +#: order/models.py:967 order/models.py:1687 #: templates/js/translated/sales_order.js:879 #: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" @@ -5102,20 +5339,24 @@ msgstr "" msgid "Unit price" msgstr "" -#: order/models.py:1380 +#: order/models.py:1361 +msgid "Purchase Order Line Item" +msgstr "" + +#: order/models.py:1385 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1387 +#: order/models.py:1392 msgid "deleted" msgstr "" -#: order/models.py:1415 +#: order/models.py:1420 msgid "Supplier part" msgstr "" -#: order/models.py:1422 order/templates/order/order_base.html:196 -#: templates/js/translated/part.js:1870 templates/js/translated/part.js:1902 +#: order/models.py:1427 order/templates/order/order_base.html:196 +#: templates/js/translated/part.js:1873 templates/js/translated/part.js:1905 #: templates/js/translated/purchase_order.js:1306 #: templates/js/translated/purchase_order.js:2169 #: templates/js/translated/return_order.js:763 @@ -5124,196 +5365,226 @@ msgstr "" msgid "Received" msgstr "Vastaanotettu" -#: order/models.py:1423 +#: order/models.py:1428 msgid "Number of items received" msgstr "" -#: order/models.py:1431 stock/models.py:939 stock/serializers.py:556 +#: order/models.py:1436 stock/models.py:939 stock/serializers.py:602 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2311 msgid "Purchase Price" msgstr "" -#: order/models.py:1432 +#: order/models.py:1437 msgid "Unit purchase price" msgstr "" -#: order/models.py:1447 +#: order/models.py:1452 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1538 +#: order/models.py:1503 +msgid "Purchase Order Extra Line" +msgstr "" + +#: order/models.py:1532 +msgid "Sales Order Line Item" +msgstr "" + +#: order/models.py:1553 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1543 +#: order/models.py:1558 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1569 part/templates/part/part_pricing.html:107 +#: order/models.py:1584 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:1570 +#: order/models.py:1585 msgid "Unit sale price" msgstr "" -#: order/models.py:1579 order/status_codes.py:43 +#: order/models.py:1594 order/status_codes.py:43 #: 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" -#: order/models.py:1580 +#: order/models.py:1595 msgid "Shipped quantity" msgstr "" -#: order/models.py:1672 +#: order/models.py:1667 +msgid "Sales Order Shipment" +msgstr "" + +#: order/models.py:1688 msgid "Date of shipment" msgstr "" -#: order/models.py:1678 templates/js/translated/sales_order.js:1072 +#: order/models.py:1694 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "" -#: order/models.py:1679 +#: order/models.py:1695 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1687 +#: order/models.py:1703 msgid "Checked By" msgstr "" -#: order/models.py:1688 +#: order/models.py:1704 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1695 order/models.py:1908 order/serializers.py:1342 -#: order/serializers.py:1452 templates/js/translated/model_renderers.js:454 +#: order/models.py:1711 order/models.py:1934 order/serializers.py:1398 +#: order/serializers.py:1508 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "" -#: order/models.py:1696 +#: order/models.py:1712 msgid "Shipment number" msgstr "" -#: order/models.py:1704 +#: order/models.py:1720 msgid "Tracking Number" msgstr "Seurantakoodi" -#: order/models.py:1705 +#: order/models.py:1721 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1712 +#: order/models.py:1728 msgid "Invoice Number" msgstr "Laskunumero" -#: order/models.py:1713 +#: order/models.py:1729 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1733 +#: order/models.py:1749 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1736 +#: order/models.py:1752 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1854 order/models.py:1856 +#: order/models.py:1828 +msgid "Sales Order Extra Line" +msgstr "" + +#: order/models.py:1857 +#, fuzzy +#| msgid "Delete location" +msgid "Sales Order Allocation" +msgstr "Poista sijainti" + +#: order/models.py:1880 order/models.py:1882 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1863 +#: order/models.py:1889 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1866 +#: order/models.py:1892 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1869 +#: order/models.py:1895 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1888 order/serializers.py:1219 +#: order/models.py:1914 order/serializers.py:1275 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1891 +#: order/models.py:1917 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1892 plugin/base/barcodes/api.py:481 +#: order/models.py:1918 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1900 +#: order/models.py:1926 msgid "Line" msgstr "" -#: order/models.py:1909 +#: order/models.py:1935 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1922 order/models.py:2239 +#: order/models.py:1948 order/models.py:2266 #: templates/js/translated/return_order.js:721 msgid "Item" msgstr "" -#: order/models.py:1923 +#: order/models.py:1949 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1932 +#: order/models.py:1958 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2021 +#: order/models.py:2047 msgid "Return Order reference" msgstr "" -#: order/models.py:2033 +#: order/models.py:2059 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2045 +#: order/models.py:2071 msgid "Return order status" msgstr "" -#: order/models.py:2224 +#: order/models.py:2237 +msgid "Return Order Line Item" +msgstr "" + +#: order/models.py:2251 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2240 +#: order/models.py:2267 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2246 +#: order/models.py:2273 msgid "Received Date" msgstr "" -#: order/models.py:2247 +#: order/models.py:2274 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2258 templates/js/translated/return_order.js:732 +#: order/models.py:2285 templates/js/translated/return_order.js:732 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2259 +#: order/models.py:2286 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2266 +#: order/models.py:2293 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:79 order/templates/order/po_sidebar.html:5 +#: order/models.py:2303 +msgid "Return Order Extra Line" +msgstr "" + +#: order/serializers.py:83 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_purchase_order_report.html:22 @@ -5322,163 +5593,173 @@ msgstr "" msgid "Line Items" msgstr "" -#: order/serializers.py:83 +#: order/serializers.py:87 msgid "Completed Lines" msgstr "" -#: order/serializers.py:286 +#: order/serializers.py:305 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:301 order/serializers.py:1235 +#: order/serializers.py:320 order/serializers.py:1291 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:311 order/serializers.py:1245 +#: order/serializers.py:330 order/serializers.py:1301 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:439 +#: order/serializers.py:468 msgid "Order is not open" msgstr "" -#: order/serializers.py:460 +#: order/serializers.py:489 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:462 +#: order/serializers.py:491 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:472 +#: order/serializers.py:501 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:478 +#: order/serializers.py:507 msgid "Merge Items" msgstr "" -#: order/serializers.py:480 +#: order/serializers.py:509 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:498 +#: order/serializers.py:522 part/models.py:945 +msgid "Internal Part Number" +msgstr "" + +#: order/serializers.py:530 +#, fuzzy +#| msgid "Internal Prices" +msgid "Internal Part Name" +msgstr "Sisäiset hinnat" + +#: order/serializers.py:546 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:501 +#: order/serializers.py:549 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:509 +#: order/serializers.py:557 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:510 +#: order/serializers.py:558 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:549 order/serializers.py:1313 +#: order/serializers.py:598 order/serializers.py:1369 msgid "Line Item" msgstr "" -#: order/serializers.py:555 +#: order/serializers.py:604 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:565 order/serializers.py:673 order/serializers.py:1657 +#: order/serializers.py:614 order/serializers.py:722 order/serializers.py:1715 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:581 templates/js/translated/purchase_order.js:1130 +#: order/serializers.py:630 templates/js/translated/purchase_order.js:1130 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:589 templates/js/translated/purchase_order.js:1154 +#: order/serializers.py:638 templates/js/translated/purchase_order.js:1154 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:600 templates/js/translated/barcode.js:52 +#: order/serializers.py:649 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "Viivakoodi" -#: order/serializers.py:601 +#: order/serializers.py:650 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:617 +#: order/serializers.py:666 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:641 +#: order/serializers.py:690 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:689 order/serializers.py:1673 +#: order/serializers.py:738 order/serializers.py:1731 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:705 +#: order/serializers.py:754 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:716 +#: order/serializers.py:765 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1062 +#: order/serializers.py:1117 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1122 +#: order/serializers.py:1178 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1183 order/serializers.py:1322 +#: order/serializers.py:1239 order/serializers.py:1378 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1202 +#: order/serializers.py:1258 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1332 +#: order/serializers.py:1388 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1354 order/serializers.py:1460 +#: order/serializers.py:1410 order/serializers.py:1516 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1357 order/serializers.py:1463 +#: order/serializers.py:1413 order/serializers.py:1519 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1404 +#: order/serializers.py:1460 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1411 +#: order/serializers.py:1467 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1627 +#: order/serializers.py:1685 msgid "Return order line item" msgstr "" -#: order/serializers.py:1633 +#: order/serializers.py:1691 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1636 +#: order/serializers.py:1694 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1665 +#: order/serializers.py:1723 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1743 +#: order/serializers.py:1806 msgid "Line price currency" msgstr "" @@ -5808,7 +6089,7 @@ msgstr "" #: 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:1073 +#: templates/js/translated/part.js:1076 #: templates/js/translated/purchase_order.js:1752 #: templates/js/translated/return_order.js:380 #: templates/js/translated/sales_order.js:891 @@ -5904,34 +6185,29 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:398 part/models.py:3944 part/stocktake.py:219 +#: part/admin.py:39 part/admin.py:398 part/models.py:3991 part/stocktake.py:219 #: stock/admin.py:152 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:405 part/models.py:3945 part/stocktake.py:220 -#: stock/admin.py:156 -msgid "Part Name" -msgstr "" - #: part/admin.py:45 part/stocktake.py:221 msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:940 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:944 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 -#: templates/js/translated/part.js:1227 templates/js/translated/part.js:2341 +#: templates/js/translated/part.js:1230 templates/js/translated/part.js:2344 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:949 part/templates/part/part_base.html:277 -#: report/models.py:162 templates/js/translated/part.js:1232 -#: templates/js/translated/part.js:2347 +#: part/admin.py:50 part/models.py:953 part/templates/part/part_base.html:277 +#: report/models.py:162 templates/js/translated/part.js:1235 +#: templates/js/translated/part.js:2350 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:319 part/models.py:922 +#: part/admin.py:53 part/admin.py:319 part/models.py:926 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "Avainsanat" @@ -5944,7 +6220,8 @@ msgstr "" msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:304 part/stocktake.py:223 +#: part/admin.py:67 part/admin.py:304 part/serializers.py:837 +#: part/stocktake.py:223 msgid "Category Name" msgstr "" @@ -5956,11 +6233,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:908 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:912 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1036 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1040 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5968,18 +6245,19 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:150 part/templates/part/part_base.html:241 stock/admin.py:235 -#: templates/js/translated/part.js:715 templates/js/translated/part.js:2153 +#: part/admin.py:150 part/serializers.py:854 +#: part/templates/part/part_base.html:241 stock/admin.py:235 +#: templates/js/translated/part.js:714 templates/js/translated/part.js:2156 msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3088 part/models.py:3102 -#: templates/js/translated/part.js:970 +#: part/admin.py:155 part/models.py:3098 part/models.py:3112 +#: templates/js/translated/part.js:973 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3095 part/models.py:3109 -#: templates/js/translated/part.js:980 +#: part/admin.py:158 part/models.py:3105 part/models.py:3119 +#: templates/js/translated/part.js:983 msgid "Maximum Cost" msgstr "" @@ -5996,14 +6274,14 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:396 part/serializers.py:124 -#: part/serializers.py:267 part/serializers.py:386 +#: part/admin.py:325 part/models.py:397 part/serializers.py:130 +#: part/serializers.py:282 part/serializers.py:404 #: 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:2807 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:203 msgid "Parts" msgstr "" @@ -6020,125 +6298,117 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:402 part/models.py:3946 -msgid "Part IPN" -msgstr "" - -#: part/admin.py:415 part/serializers.py:1274 +#: part/admin.py:415 part/serializers.py:1302 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:420 part/serializers.py:1289 +#: part/admin.py:420 part/serializers.py:1317 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "" -#: part/api.py:104 +#: part/api.py:105 msgid "Starred" msgstr "" -#: part/api.py:106 +#: part/api.py:107 msgid "Filter by starred categories" msgstr "" -#: part/api.py:123 stock/api.py:312 +#: part/api.py:124 stock/api.py:312 msgid "Depth" msgstr "" -#: part/api.py:123 +#: part/api.py:124 msgid "Filter by category depth" msgstr "" -#: part/api.py:141 stock/api.py:330 +#: part/api.py:142 stock/api.py:330 msgid "Top Level" msgstr "" -#: part/api.py:143 +#: part/api.py:144 msgid "Filter by top-level categories" msgstr "" -#: part/api.py:156 stock/api.py:345 +#: part/api.py:157 stock/api.py:345 msgid "Cascade" msgstr "" -#: part/api.py:158 +#: part/api.py:159 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:179 templates/js/translated/part.js:308 +#: part/api.py:180 templates/js/translated/part.js:307 msgid "Parent" msgstr "" -#: part/api.py:181 +#: part/api.py:182 msgid "Filter by parent category" msgstr "" -#: part/api.py:214 +#: part/api.py:215 msgid "Exclude Tree" msgstr "" -#: part/api.py:216 +#: part/api.py:217 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:449 +#: part/api.py:442 msgid "Has Results" msgstr "" -#: part/api.py:616 +#: part/api.py:609 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:634 +#: part/api.py:627 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:650 +#: part/api.py:643 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:734 +#: part/api.py:727 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:881 -msgid "Valid" -msgstr "" - -#: part/api.py:882 +#: part/api.py:875 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:888 +#: part/api.py:881 msgid "This option must be selected" msgstr "" -#: part/api.py:1105 +#: part/api.py:1098 msgid "BOM Valid" msgstr "" -#: part/api.py:1508 part/models.py:932 part/models.py:3374 part/models.py:3889 -#: part/serializers.py:401 part/serializers.py:1130 -#: part/templates/part/part_base.html:260 stock/api.py:791 +#: part/api.py:1494 part/models.py:936 part/models.py:3385 part/models.py:3936 +#: part/serializers.py:419 part/serializers.py:1158 +#: part/templates/part/part_base.html:260 stock/api.py:783 #: 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:2380 msgid "Category" msgstr "Kategoria" -#: part/api.py:1796 +#: part/api.py:1784 msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:104 part/models.py:975 +#: part/bom.py:170 part/models.py:104 part/models.py:979 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:833 +#: part/bom.py:171 part/serializers.py:861 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6147,7 +6417,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:85 part/models.py:3890 part/templates/part/category.html:16 +#: part/models.py:85 part/models.py:3937 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -6162,7 +6432,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:110 stock/models.py:175 templates/js/translated/part.js:2810 +#: part/models.py:110 stock/models.py:175 templates/js/translated/part.js:2813 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 @@ -6194,1002 +6464,1035 @@ msgstr "Kuvake (valinnainen)" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:485 +#: part/models.py:486 +msgid "Cannot delete this part as it is locked" +msgstr "" + +#: part/models.py:489 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:490 +#: part/models.py:494 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:528 +#: part/models.py:532 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:576 part/models.py:583 +#: part/models.py:580 part/models.py:587 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:595 +#: part/models.py:599 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:658 +#: part/models.py:662 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:736 +#: part/models.py:740 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:837 +#: part/models.py:841 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:847 +#: part/models.py:851 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:862 +#: part/models.py:866 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:891 part/models.py:3945 +#: part/models.py:895 part/models.py:3992 msgid "Part name" msgstr "" -#: part/models.py:896 +#: part/models.py:900 msgid "Is Template" msgstr "" -#: part/models.py:897 +#: part/models.py:901 msgid "Is this part a template part?" msgstr "" -#: part/models.py:907 +#: part/models.py:911 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:915 +#: part/models.py:919 msgid "Part description (optional)" msgstr "" -#: part/models.py:923 +#: part/models.py:927 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:933 +#: part/models.py:937 msgid "Part category" msgstr "" -#: part/models.py:941 -msgid "Internal Part Number" -msgstr "" - -#: part/models.py:948 +#: part/models.py:952 msgid "Part revision or version number" msgstr "" -#: part/models.py:973 +#: part/models.py:977 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1019 part/templates/part/part_base.html:376 +#: part/models.py:1023 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:1020 +#: part/models.py:1024 msgid "Default supplier part" msgstr "" -#: part/models.py:1027 +#: part/models.py:1031 msgid "Default Expiry" msgstr "" -#: part/models.py:1028 +#: part/models.py:1032 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1037 +#: part/models.py:1041 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1046 +#: part/models.py:1050 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1053 +#: part/models.py:1057 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1059 +#: part/models.py:1063 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1065 +#: part/models.py:1069 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1071 +#: part/models.py:1075 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1077 +#: part/models.py:1081 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1081 +#: part/models.py:1085 msgid "Is this part active?" msgstr "" -#: part/models.py:1087 +#: part/models.py:1090 templates/js/translated/part.js:818 +#: templates/js/translated/table_filters.js:721 +msgid "Locked" +msgstr "" + +#: part/models.py:1091 +msgid "Locked parts cannot be edited" +msgstr "" + +#: part/models.py:1097 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1093 +#: part/models.py:1103 msgid "BOM checksum" msgstr "" -#: part/models.py:1094 +#: part/models.py:1104 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1102 +#: part/models.py:1112 msgid "BOM checked by" msgstr "" -#: part/models.py:1107 +#: part/models.py:1117 msgid "BOM checked date" msgstr "" -#: part/models.py:1123 +#: part/models.py:1133 msgid "Creation User" msgstr "" -#: part/models.py:1133 +#: part/models.py:1143 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1138 part/templates/part/part_base.html:339 +#: part/models.py:1148 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:2474 msgid "Last Stocktake" msgstr "" -#: part/models.py:2011 +#: part/models.py:2021 msgid "Sell multiple" msgstr "" -#: part/models.py:3002 +#: part/models.py:3012 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3018 +#: part/models.py:3028 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3019 +#: part/models.py:3029 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3025 +#: part/models.py:3035 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3026 +#: part/models.py:3036 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3032 +#: part/models.py:3042 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3033 +#: part/models.py:3043 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3039 +#: part/models.py:3049 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3040 +#: part/models.py:3050 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3046 +#: part/models.py:3056 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3047 +#: part/models.py:3057 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3053 +#: part/models.py:3063 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3054 +#: part/models.py:3064 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3060 +#: part/models.py:3070 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3061 +#: part/models.py:3071 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3067 +#: part/models.py:3077 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3068 +#: part/models.py:3078 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3074 +#: part/models.py:3084 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3075 +#: part/models.py:3085 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3081 +#: part/models.py:3091 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3082 +#: part/models.py:3092 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3089 +#: part/models.py:3099 msgid "Override minimum cost" msgstr "" -#: part/models.py:3096 +#: part/models.py:3106 msgid "Override maximum cost" msgstr "" -#: part/models.py:3103 +#: part/models.py:3113 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3110 +#: part/models.py:3120 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3116 +#: part/models.py:3126 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3117 +#: part/models.py:3127 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3123 +#: part/models.py:3133 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3124 +#: part/models.py:3134 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3130 +#: part/models.py:3140 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3131 +#: part/models.py:3141 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3137 +#: part/models.py:3147 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3138 +#: part/models.py:3148 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3157 +#: part/models.py:3167 msgid "Part for stocktake" msgstr "" -#: part/models.py:3162 +#: part/models.py:3172 msgid "Item Count" msgstr "" -#: part/models.py:3163 +#: part/models.py:3173 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3171 +#: part/models.py:3181 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3175 part/models.py:3258 +#: part/models.py:3185 part/models.py:3268 #: part/templates/part/part_scheduling.html:13 #: 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:1086 templates/js/translated/pricing.js:826 +#: templates/js/translated/part.js:1089 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 #: templates/js/translated/purchase_order.js:1731 #: templates/js/translated/stock.js:2821 msgid "Date" msgstr "Päivämäärä" -#: part/models.py:3176 +#: part/models.py:3186 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3184 +#: part/models.py:3194 msgid "Additional notes" msgstr "Muut merkinnät" -#: part/models.py:3194 +#: part/models.py:3204 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3200 +#: part/models.py:3210 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3201 +#: part/models.py:3211 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3207 +#: part/models.py:3217 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3208 +#: part/models.py:3218 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3264 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3274 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "Raportti" -#: part/models.py:3265 +#: part/models.py:3275 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3270 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3280 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3271 +#: part/models.py:3281 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3281 +#: part/models.py:3291 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3423 +#: part/models.py:3301 +msgid "Part Sale Price Break" +msgstr "" + +#: part/models.py:3413 +msgid "Part Test Template" +msgstr "" + +#: part/models.py:3439 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3444 part/models.py:3608 +#: part/models.py:3460 part/models.py:3629 msgid "Choices must be unique" msgstr "" -#: part/models.py:3455 +#: part/models.py:3471 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3466 +#: part/models.py:3482 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3483 templates/js/translated/part.js:2880 +#: part/models.py:3499 templates/js/translated/part.js:2883 msgid "Test Name" msgstr "" -#: part/models.py:3484 +#: part/models.py:3500 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3490 +#: part/models.py:3506 msgid "Test Key" msgstr "" -#: part/models.py:3491 +#: part/models.py:3507 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3498 +#: part/models.py:3514 msgid "Test Description" msgstr "" -#: part/models.py:3499 +#: part/models.py:3515 msgid "Enter description for this test" msgstr "" -#: part/models.py:3503 report/models.py:209 -#: templates/js/translated/part.js:2901 +#: part/models.py:3519 report/models.py:209 +#: templates/js/translated/part.js:2904 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "Käytössä" -#: part/models.py:3503 +#: part/models.py:3519 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3508 templates/js/translated/part.js:2909 +#: part/models.py:3524 templates/js/translated/part.js:2912 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3509 +#: part/models.py:3525 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3514 templates/js/translated/part.js:2917 +#: part/models.py:3530 templates/js/translated/part.js:2920 msgid "Requires Value" msgstr "" -#: part/models.py:3515 +#: part/models.py:3531 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3520 templates/js/translated/part.js:2924 +#: part/models.py:3536 templates/js/translated/part.js:2927 msgid "Requires Attachment" msgstr "" -#: part/models.py:3522 +#: part/models.py:3538 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3528 part/models.py:3667 templates/js/translated/part.js:1637 +#: part/models.py:3544 part/models.py:3688 templates/js/translated/part.js:1640 msgid "Choices" msgstr "" -#: part/models.py:3529 +#: part/models.py:3545 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3583 +#: part/models.py:3577 +msgid "Part Parameter Template" +msgstr "" + +#: part/models.py:3604 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3588 +#: part/models.py:3609 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3625 +#: part/models.py:3646 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3640 +#: part/models.py:3661 msgid "Parameter Name" msgstr "" -#: part/models.py:3647 +#: part/models.py:3668 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3655 +#: part/models.py:3676 msgid "Parameter description" msgstr "" -#: part/models.py:3661 templates/js/translated/part.js:1628 -#: templates/js/translated/table_filters.js:825 +#: part/models.py:3682 templates/js/translated/part.js:1631 +#: templates/js/translated/table_filters.js:830 msgid "Checkbox" msgstr "" -#: part/models.py:3662 +#: part/models.py:3683 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3668 +#: part/models.py:3689 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3745 +#: part/models.py:3723 +msgid "Part Parameter" +msgstr "" + +#: part/models.py:3749 +msgid "Parameter cannot be modified - part is locked" +msgstr "" + +#: part/models.py:3785 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3788 +#: part/models.py:3828 msgid "Parent Part" msgstr "" -#: part/models.py:3796 part/models.py:3897 part/models.py:3898 +#: part/models.py:3836 part/models.py:3944 part/models.py:3945 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3801 -msgid "Data" +#: part/models.py:3842 +msgid "Parameter Value" msgstr "" -#: part/models.py:3802 -msgid "Parameter Value" +#: part/models.py:3892 +msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:3904 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3951 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3905 +#: part/models.py:3952 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3943 +#: part/models.py:3990 msgid "Part ID or part name" msgstr "" -#: part/models.py:3944 +#: part/models.py:3991 msgid "Unique part ID value" msgstr "" -#: part/models.py:3946 +#: part/models.py:3993 msgid "Part IPN value" msgstr "" -#: part/models.py:3947 +#: part/models.py:3994 msgid "Level" msgstr "" -#: part/models.py:3947 +#: part/models.py:3994 msgid "BOM level" msgstr "" -#: part/models.py:4037 +#: part/models.py:4105 +msgid "BOM item cannot be modified - assembly is locked" +msgstr "" + +#: part/models.py:4112 +msgid "BOM item cannot be modified - variant assembly is locked" +msgstr "" + +#: part/models.py:4122 msgid "Select parent part" msgstr "" -#: part/models.py:4047 +#: part/models.py:4132 msgid "Sub part" msgstr "" -#: part/models.py:4048 +#: part/models.py:4133 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4059 +#: part/models.py:4144 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4065 +#: part/models.py:4150 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4071 +#: part/models.py:4156 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4078 part/templates/part/upload_bom.html:55 +#: part/models.py:4163 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4079 +#: part/models.py:4164 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4086 +#: part/models.py:4171 msgid "BOM item reference" msgstr "" -#: part/models.py:4094 +#: part/models.py:4179 msgid "BOM item notes" msgstr "" -#: part/models.py:4100 +#: part/models.py:4185 msgid "Checksum" msgstr "" -#: part/models.py:4101 +#: part/models.py:4186 msgid "BOM line checksum" msgstr "" -#: part/models.py:4106 templates/js/translated/table_filters.js:174 +#: part/models.py:4191 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4107 +#: part/models.py:4192 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4112 part/templates/part/upload_bom.html:57 +#: part/models.py:4197 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:4113 +#: part/models.py:4198 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4118 part/templates/part/upload_bom.html:56 +#: part/models.py:4203 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4119 +#: part/models.py:4204 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4204 stock/models.py:663 +#: part/models.py:4289 stock/models.py:663 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4214 part/models.py:4216 +#: part/models.py:4299 part/models.py:4301 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4354 +#: part/models.py:4439 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4375 +#: part/models.py:4460 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4388 +#: part/models.py:4473 msgid "Parent BOM item" msgstr "" -#: part/models.py:4396 +#: part/models.py:4481 msgid "Substitute part" msgstr "" -#: part/models.py:4412 +#: part/models.py:4497 msgid "Part 1" msgstr "" -#: part/models.py:4420 +#: part/models.py:4505 msgid "Part 2" msgstr "" -#: part/models.py:4421 +#: part/models.py:4506 msgid "Select Related Part" msgstr "" -#: part/models.py:4440 +#: part/models.py:4525 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4445 +#: part/models.py:4530 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:118 +#: part/serializers.py:124 msgid "Parent Category" msgstr "" -#: part/serializers.py:119 templates/js/translated/part.js:309 +#: part/serializers.py:125 templates/js/translated/part.js:308 msgid "Parent part category" msgstr "" -#: part/serializers.py:126 part/serializers.py:148 +#: part/serializers.py:132 part/serializers.py:154 #: part/templates/part/category.html:122 part/templates/part/category.html:207 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" -#: part/serializers.py:180 +#: part/serializers.py:189 msgid "Results" msgstr "" -#: part/serializers.py:181 +#: part/serializers.py:190 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:205 part/serializers.py:223 stock/serializers.py:562 +#: part/serializers.py:217 part/serializers.py:235 stock/serializers.py:608 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:268 +#: part/serializers.py:283 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:392 +#: part/serializers.py:410 msgid "No parts selected" msgstr "" -#: part/serializers.py:402 +#: part/serializers.py:420 msgid "Select category" msgstr "" -#: part/serializers.py:437 +#: part/serializers.py:455 msgid "Original Part" msgstr "" -#: part/serializers.py:438 +#: part/serializers.py:456 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:461 msgid "Copy Image" msgstr "" -#: part/serializers.py:444 +#: part/serializers.py:462 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:450 part/templates/part/detail.html:277 +#: part/serializers.py:468 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:451 +#: part/serializers.py:469 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:457 +#: part/serializers.py:475 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:458 +#: part/serializers.py:476 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:464 +#: part/serializers.py:482 msgid "Copy Notes" msgstr "" -#: part/serializers.py:465 +#: part/serializers.py:483 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:483 +#: part/serializers.py:501 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:485 +#: part/serializers.py:503 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:492 +#: part/serializers.py:510 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:493 +#: part/serializers.py:511 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:510 +#: part/serializers.py:528 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:526 +#: part/serializers.py:544 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:536 +#: part/serializers.py:554 msgid "Manufacturer part number" msgstr "Valmistajan osanumero" -#: part/serializers.py:543 +#: part/serializers.py:561 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:552 +#: part/serializers.py:570 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:563 +#: part/serializers.py:581 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:570 +#: part/serializers.py:588 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:834 -msgid "External Stock" -msgstr "" - -#: part/serializers.py:836 +#: part/serializers.py:864 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:839 +#: part/serializers.py:867 msgid "Variant Stock" msgstr "" -#: part/serializers.py:869 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:472 +#: part/serializers.py:897 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:870 +#: part/serializers.py:898 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:876 templates/js/translated/part.js:102 +#: part/serializers.py:904 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:877 +#: part/serializers.py:905 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:883 +#: part/serializers.py:911 msgid "Supplier Information" msgstr "" -#: part/serializers.py:884 +#: part/serializers.py:912 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:892 +#: part/serializers.py:920 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:893 +#: part/serializers.py:921 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:898 +#: part/serializers.py:926 msgid "Existing Image" msgstr "" -#: part/serializers.py:899 +#: part/serializers.py:927 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:916 +#: part/serializers.py:944 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1122 +#: part/serializers.py:1150 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1132 +#: part/serializers.py:1160 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1142 +#: part/serializers.py:1170 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1148 +#: part/serializers.py:1176 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1149 +#: part/serializers.py:1177 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1154 +#: part/serializers.py:1182 msgid "Generate Report" msgstr "Luo raportti" -#: part/serializers.py:1155 +#: part/serializers.py:1183 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1160 +#: part/serializers.py:1188 msgid "Update Parts" msgstr "" -#: part/serializers.py:1161 +#: part/serializers.py:1189 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1169 +#: part/serializers.py:1197 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1275 +#: part/serializers.py:1303 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1282 +#: part/serializers.py:1310 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1290 +#: part/serializers.py:1318 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1297 +#: part/serializers.py:1325 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1326 +#: part/serializers.py:1354 msgid "Update" msgstr "" -#: part/serializers.py:1327 +#: part/serializers.py:1355 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1350 +#: part/serializers.py:1378 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1357 +#: part/serializers.py:1385 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1360 +#: part/serializers.py:1388 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1727 +#: part/serializers.py:1759 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1735 +#: part/serializers.py:1767 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1736 +#: part/serializers.py:1768 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1741 +#: part/serializers.py:1773 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1742 +#: part/serializers.py:1774 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1747 +#: part/serializers.py:1779 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1748 +#: part/serializers.py:1780 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1753 +#: part/serializers.py:1785 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1754 +#: part/serializers.py:1786 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1788 +#: part/serializers.py:1823 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1789 +#: part/serializers.py:1824 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1819 +#: part/serializers.py:1856 msgid "No part column specified" msgstr "" -#: part/serializers.py:1863 +#: part/serializers.py:1900 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1866 +#: part/serializers.py:1903 msgid "No matching part found" msgstr "" -#: part/serializers.py:1869 +#: part/serializers.py:1906 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1878 +#: part/serializers.py:1915 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1886 +#: part/serializers.py:1923 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1907 +#: part/serializers.py:1946 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:225 templates/js/translated/part.js:1067 -#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 +#: part/stocktake.py:225 templates/js/translated/part.js:1070 +#: templates/js/translated/part.js:1825 templates/js/translated/part.js:1881 #: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "" @@ -7507,7 +7810,7 @@ msgstr "" #: part/templates/part/part_base.html:52 #: stock/templates/stock/item_base.html:62 -#: stock/templates/stock/location.html:74 templates/js/translated/label.js:143 +#: stock/templates/stock/location.html:74 templates/js/translated/label.js:136 msgid "Print Label" msgstr "" @@ -7529,7 +7832,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:2296 msgid "Part actions" msgstr "" @@ -7569,6 +7872,10 @@ msgstr "" msgid "Part can be sold to customers" msgstr "" +#: part/templates/part/part_base.html:145 +msgid "Part is not active" +msgstr "" + #: part/templates/part/part_base.html:153 msgid "Part is virtual (not a physical part)" msgstr "" @@ -7597,7 +7904,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:322 templates/js/translated/bom.js:1071 -#: templates/js/translated/part.js:1265 templates/js/translated/part.js:2444 +#: templates/js/translated/part.js:1268 templates/js/translated/part.js:2447 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" @@ -7690,8 +7997,8 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/part.js:1243 templates/js/translated/part.js:2146 -#: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 +#: templates/js/translated/part.js:1246 templates/js/translated/part.js:2149 +#: templates/js/translated/part.js:2395 templates/js/translated/stock.js:1059 #: templates/js/translated/stock.js:2070 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -7811,8 +8118,8 @@ msgstr "" #: part/templates/part/stock_count.html:7 #: templates/js/translated/model_renderers.js:227 -#: templates/js/translated/part.js:705 templates/js/translated/part.js:2141 -#: templates/js/translated/part.js:2143 +#: templates/js/translated/part.js:704 templates/js/translated/part.js:2144 +#: templates/js/translated/part.js:2146 msgid "No Stock" msgstr "" @@ -7956,7 +8263,7 @@ msgstr "" msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2589 +#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2590 #: templates/js/translated/sales_order.js:1953 msgid "Insufficient stock available" msgstr "" @@ -8051,7 +8358,7 @@ msgstr "" msgid "Quantity to allocate" msgstr "" -#: plugin/base/label/label.py:39 templates/js/translated/label.js:155 +#: plugin/base/label/label.py:39 templates/js/translated/label.js:148 msgid "Label printing failed" msgstr "" @@ -8748,7 +9055,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report.html:25 #: report/templates/report/inventree_test_report.html:88 stock/models.py:825 -#: stock/serializers.py:149 stock/templates/stock/item_base.html:311 +#: stock/serializers.py:151 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:230 @@ -8778,7 +9085,7 @@ msgstr "" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2447 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2457 msgid "Result" msgstr "" @@ -8799,7 +9106,7 @@ msgid "No result" msgstr "" #: report/templates/report/inventree_test_report.html:153 -#: stock/templates/stock/stock_sidebar.html:16 +#: stock/serializers.py:591 stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" @@ -8829,10 +9136,6 @@ msgstr "" msgid "Location ID" msgstr "" -#: stock/admin.py:53 stock/admin.py:175 -msgid "Location Name" -msgstr "" - #: stock/admin.py:63 stock/templates/stock/location.html:131 #: stock/templates/stock/location.html:137 msgid "Location Path" @@ -8909,7 +9212,7 @@ msgstr "" msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:369 stock/serializers.py:1085 +#: stock/api.py:369 stock/serializers.py:1148 msgid "Parent Location" msgstr "" @@ -8917,44 +9220,45 @@ msgstr "" msgid "Filter by parent location" msgstr "" -#: stock/api.py:625 templates/js/translated/table_filters.js:427 +#: stock/api.py:617 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:813 +#: stock/api.py:805 msgid "Part Tree" msgstr "" -#: stock/api.py:843 +#: stock/api.py:835 msgid "Expiry date before" msgstr "" -#: stock/api.py:847 +#: stock/api.py:839 msgid "Expiry date after" msgstr "" -#: stock/api.py:850 stock/templates/stock/item_base.html:439 +#: stock/api.py:842 stock/serializers.py:596 +#: stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "" -#: stock/api.py:937 +#: stock/api.py:929 msgid "Quantity is required" msgstr "" -#: stock/api.py:943 +#: stock/api.py:935 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:974 +#: stock/api.py:966 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:984 +#: stock/api.py:976 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1015 +#: stock/api.py:1007 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -9021,7 +9325,7 @@ msgstr "" msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:669 stock/serializers.py:446 +#: stock/models.py:669 stock/serializers.py:477 msgid "Stock item cannot be created for virtual parts" msgstr "" @@ -9066,7 +9370,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:799 stock/serializers.py:1476 +#: stock/models.py:799 stock/serializers.py:1542 msgid "Packaging this stock item is stored in" msgstr "" @@ -9078,7 +9382,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:843 stock/serializers.py:1459 +#: stock/models.py:843 stock/serializers.py:1525 msgid "Batch code for this stock item" msgstr "" @@ -9155,7 +9459,7 @@ msgstr "" msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1520 stock/serializers.py:660 +#: stock/models.py:1520 stock/serializers.py:718 msgid "Serial numbers already exist" msgstr "" @@ -9187,7 +9491,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1658 stock/serializers.py:1365 +#: stock/models.py:1658 stock/serializers.py:1431 msgid "Duplicate stock items" msgstr "" @@ -9207,288 +9511,336 @@ msgstr "" msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2345 +#: stock/models.py:2317 +#, fuzzy +#| msgid "Stock Item" +msgid "Stock Item Tracking" +msgstr "Varastotuote" + +#: stock/models.py:2350 msgid "Entry notes" msgstr "" -#: stock/models.py:2413 +#: stock/models.py:2390 +#, fuzzy +#| msgid "Stock item created" +msgid "Stock Item Test Result" +msgstr "Varastotuote luotu" + +#: stock/models.py:2423 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2418 +#: stock/models.py:2428 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2423 +#: stock/models.py:2433 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2447 +#: stock/models.py:2457 msgid "Test result" msgstr "" -#: stock/models.py:2454 +#: stock/models.py:2464 msgid "Test output value" msgstr "" -#: stock/models.py:2462 +#: stock/models.py:2472 msgid "Test result attachment" msgstr "" -#: stock/models.py:2466 +#: stock/models.py:2476 msgid "Test notes" msgstr "" -#: stock/models.py:2474 templates/js/translated/stock.js:1548 +#: stock/models.py:2484 templates/js/translated/stock.js:1548 msgid "Test station" msgstr "" -#: stock/models.py:2475 +#: stock/models.py:2485 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2481 +#: stock/models.py:2491 msgid "Started" msgstr "" -#: stock/models.py:2482 +#: stock/models.py:2492 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2488 +#: stock/models.py:2498 msgid "Finished" msgstr "" -#: stock/models.py:2489 +#: stock/models.py:2499 msgid "The timestamp of the test finish" msgstr "" -#: stock/serializers.py:74 +#: stock/serializers.py:76 msgid "Generated batch code" msgstr "" -#: stock/serializers.py:83 +#: stock/serializers.py:85 msgid "Select build order" msgstr "" -#: stock/serializers.py:92 +#: stock/serializers.py:94 msgid "Select stock item to generate batch code for" msgstr "" -#: stock/serializers.py:101 +#: stock/serializers.py:103 msgid "Select location to generate batch code for" msgstr "" -#: stock/serializers.py:110 +#: stock/serializers.py:112 msgid "Select part to generate batch code for" msgstr "" -#: stock/serializers.py:119 +#: stock/serializers.py:121 msgid "Select purchase order" msgstr "" -#: stock/serializers.py:126 +#: stock/serializers.py:128 msgid "Enter quantity for batch code" msgstr "" -#: stock/serializers.py:149 +#: stock/serializers.py:151 msgid "Generated serial number" msgstr "" -#: stock/serializers.py:158 +#: stock/serializers.py:160 msgid "Select part to generate serial number for" msgstr "" -#: stock/serializers.py:166 +#: stock/serializers.py:168 msgid "Quantity of serial numbers to generate" msgstr "" -#: stock/serializers.py:228 +#: stock/serializers.py:233 msgid "Test template for this result" msgstr "" -#: stock/serializers.py:247 +#: stock/serializers.py:252 msgid "Template ID or test name must be provided" msgstr "" -#: stock/serializers.py:279 +#: stock/serializers.py:284 msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:315 +#: stock/serializers.py:320 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:438 +#: stock/serializers.py:449 stock/templates/stock/item_base.html:193 +msgid "Parent Item" +msgstr "" + +#: stock/serializers.py:450 +msgid "Parent stock item" +msgstr "" + +#: stock/serializers.py:469 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:558 +#: stock/serializers.py:585 templates/js/translated/build.js:991 +#: templates/js/translated/build.js:2344 +msgid "Allocated Quantity" +msgstr "" + +#: stock/serializers.py:588 stock/templates/stock/item_base.html:437 +#: templates/js/translated/table_filters.js:435 users/models.py:174 +msgid "Expired" +msgstr "" + +#: stock/serializers.py:594 stock/templates/stock/stock_sidebar.html:20 +msgid "Child Items" +msgstr "" + +#: stock/serializers.py:598 +#, fuzzy +#| msgid "Tracking Number" +msgid "Tracking Items" +msgstr "Seurantakoodi" + +#: stock/serializers.py:604 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:595 +#: stock/serializers.py:623 +msgid "Minimum Pricing" +msgstr "" + +#: stock/serializers.py:629 +msgid "Maximum Pricing" +msgstr "" + +#: stock/serializers.py:653 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:608 +#: stock/serializers.py:666 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:615 +#: stock/serializers.py:673 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:626 stock/serializers.py:1322 stock/serializers.py:1578 +#: stock/serializers.py:684 stock/serializers.py:1388 stock/serializers.py:1644 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:633 +#: stock/serializers.py:691 msgid "Optional note field" msgstr "" -#: stock/serializers.py:643 +#: stock/serializers.py:701 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:698 +#: stock/serializers.py:756 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:705 +#: stock/serializers.py:763 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:706 +#: stock/serializers.py:764 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:711 stock/serializers.py:791 stock/serializers.py:887 -#: stock/serializers.py:937 +#: stock/serializers.py:769 stock/serializers.py:849 stock/serializers.py:945 +#: stock/serializers.py:995 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:719 +#: stock/serializers.py:777 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:727 +#: stock/serializers.py:785 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:738 +#: stock/serializers.py:796 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:751 +#: stock/serializers.py:809 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:786 +#: stock/serializers.py:844 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:821 +#: stock/serializers.py:879 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:834 +#: stock/serializers.py:892 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:851 +#: stock/serializers.py:909 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:882 +#: stock/serializers.py:940 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:919 +#: stock/serializers.py:977 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:925 +#: stock/serializers.py:983 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1021 stock/serializers.py:1093 +#: stock/serializers.py:1079 stock/serializers.py:1156 #: stock/templates/stock/location.html:165 #: stock/templates/stock/location.html:222 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1086 templates/js/translated/stock.js:152 +#: stock/serializers.py:1149 templates/js/translated/stock.js:152 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1194 +#: stock/serializers.py:1260 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1198 +#: stock/serializers.py:1264 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1202 +#: stock/serializers.py:1268 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1226 +#: stock/serializers.py:1292 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1232 +#: stock/serializers.py:1298 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1240 +#: stock/serializers.py:1306 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1250 stock/serializers.py:1504 +#: stock/serializers.py:1316 stock/serializers.py:1570 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1329 +#: stock/serializers.py:1395 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1334 +#: stock/serializers.py:1400 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1335 +#: stock/serializers.py:1401 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1340 +#: stock/serializers.py:1406 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1341 +#: stock/serializers.py:1407 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1351 +#: stock/serializers.py:1417 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1418 +#: stock/serializers.py:1484 msgid "No Change" msgstr "" -#: stock/serializers.py:1447 +#: stock/serializers.py:1513 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1466 +#: stock/serializers.py:1532 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1494 +#: stock/serializers.py:1560 msgid "Stock transaction notes" msgstr "" @@ -9757,10 +10109,6 @@ msgstr "" msgid "Build" msgstr "" -#: stock/templates/stock/item_base.html:193 -msgid "Parent Item" -msgstr "" - #: stock/templates/stock/item_base.html:211 msgid "No manufacturer set" msgstr "" @@ -9836,11 +10184,6 @@ msgstr "" msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:437 -#: templates/js/translated/table_filters.js:435 users/models.py:174 -msgid "Expired" -msgstr "" - #: stock/templates/stock/item_base.html:439 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" @@ -9988,10 +10331,6 @@ msgstr "" msgid "Allocations" msgstr "" -#: stock/templates/stock/stock_sidebar.html:20 -msgid "Child Items" -msgstr "" - #: templates/403.html:6 templates/403.html:12 templates/403_csrf.html:7 msgid "Permission Denied" msgstr "" @@ -10466,8 +10805,8 @@ 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:393 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:245 users/models.py:402 +#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 +#: templates/js/translated/stock.js:245 users/models.py:406 msgid "Delete" msgstr "Poista" @@ -10507,12 +10846,12 @@ msgid "No category parameter templates found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:308 -#: templates/js/translated/part.js:1646 +#: templates/js/translated/part.js:1649 msgid "Edit Template" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:309 -#: templates/js/translated/part.js:1647 +#: templates/js/translated/part.js:1650 msgid "Delete Template" msgstr "" @@ -11145,7 +11484,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2556 +#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2557 msgid "Required Quantity" msgstr "" @@ -11159,7 +11498,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3219 +#: templates/js/translated/part.js:3222 msgid "Minimum Quantity" msgstr "" @@ -11514,7 +11853,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2500 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2501 msgid "Variant stock allowed" msgstr "" @@ -11534,30 +11873,30 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2621 +#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2622 msgid "External stock" msgstr "" -#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2595 +#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2596 #: templates/js/translated/sales_order.js:1946 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2599 +#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2600 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2601 -#: templates/js/translated/part.js:1257 +#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2602 +#: templates/js/translated/part.js:1260 #: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2603 +#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2604 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2586 +#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2587 msgid "Consumable item" msgstr "" @@ -11589,7 +11928,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2485 +#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2486 msgid "Required Part" msgstr "" @@ -11758,10 +12097,6 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:991 templates/js/translated/build.js:2344 -msgid "Allocated Quantity" -msgstr "" - #: templates/js/translated/build.js:1005 msgid "Location not specified" msgstr "" @@ -11873,9 +12208,9 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2117 templates/js/translated/build.js:2479 +#: templates/js/translated/build.js:2117 templates/js/translated/build.js:2480 #: templates/js/translated/forms.js:2163 templates/js/translated/forms.js:2179 -#: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 +#: templates/js/translated/part.js:2319 templates/js/translated/part.js:2745 #: templates/js/translated/stock.js:1983 templates/js/translated/stock.js:2710 msgid "Select" msgstr "" @@ -11906,59 +12241,59 @@ msgstr "" msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2455 +#: templates/js/translated/build.js:2456 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2456 +#: templates/js/translated/build.js:2457 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2474 +#: templates/js/translated/build.js:2475 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2504 templates/js/translated/part.js:791 -#: templates/js/translated/part.js:1203 +#: templates/js/translated/build.js:2505 templates/js/translated/part.js:790 +#: templates/js/translated/part.js:1206 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2539 +#: templates/js/translated/build.js:2540 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2591 +#: templates/js/translated/build.js:2592 #: templates/js/translated/sales_order.js:1951 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2646 +#: templates/js/translated/build.js:2647 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2653 +#: templates/js/translated/build.js:2654 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2654 +#: templates/js/translated/build.js:2655 msgid "Allocate tracked items against individual build outputs" msgstr "" -#: templates/js/translated/build.js:2662 +#: templates/js/translated/build.js:2663 #: templates/js/translated/sales_order.js:2052 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2667 templates/js/translated/stock.js:1868 +#: templates/js/translated/build.js:2668 templates/js/translated/stock.js:1868 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2671 +#: templates/js/translated/build.js:2672 #: templates/js/translated/sales_order.js:2046 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2675 +#: templates/js/translated/build.js:2676 msgid "Remove stock allocation" msgstr "" @@ -12105,7 +12440,7 @@ msgid "Delete Parameters" msgstr "" #: templates/js/translated/company.js:1191 -#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2245 +#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2248 msgid "Order parts" msgstr "" @@ -12122,34 +12457,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:1279 -#: templates/js/translated/company.js:1567 templates/js/translated/part.js:799 -#: templates/js/translated/part.js:1211 +#: templates/js/translated/company.js:1567 templates/js/translated/part.js:798 +#: templates/js/translated/part.js:1214 msgid "Template part" msgstr "" #: templates/js/translated/company.js:1283 -#: templates/js/translated/company.js:1571 templates/js/translated/part.js:803 -#: templates/js/translated/part.js:1215 +#: templates/js/translated/company.js:1571 templates/js/translated/part.js:802 +#: templates/js/translated/part.js:1218 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1465 +#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1468 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1528 +#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1531 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1529 +#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1532 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1434 +#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1437 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1550 +#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1553 msgid "Delete Parameter" msgstr "" @@ -12323,15 +12658,15 @@ msgstr "" msgid "No parts required for builds" msgstr "" -#: templates/js/translated/label.js:55 templates/js/translated/report.js:38 +#: templates/js/translated/label.js:48 templates/js/translated/report.js:38 msgid "Select Items" msgstr "" -#: templates/js/translated/label.js:56 templates/js/translated/report.js:39 +#: templates/js/translated/label.js:49 templates/js/translated/report.js:39 msgid "No items selected for printing" msgstr "" -#: templates/js/translated/label.js:150 +#: templates/js/translated/label.js:143 msgid "Labels sent to printer" msgstr "" @@ -12400,7 +12735,7 @@ msgstr "" #: templates/js/translated/news.js:38 #: templates/js/translated/notification.js:46 -#: templates/js/translated/part.js:1605 +#: templates/js/translated/part.js:1608 msgid "ID" msgstr "" @@ -12481,343 +12816,343 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:333 templates/js/translated/stock.js:175 +#: templates/js/translated/part.js:332 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:353 +#: templates/js/translated/part.js:352 msgid "Create Part Category" msgstr "" -#: templates/js/translated/part.js:356 +#: templates/js/translated/part.js:355 msgid "Create new category after this one" msgstr "" -#: templates/js/translated/part.js:357 +#: templates/js/translated/part.js:356 msgid "Part category created" msgstr "" -#: templates/js/translated/part.js:371 +#: templates/js/translated/part.js:370 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:384 +#: templates/js/translated/part.js:383 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:389 +#: templates/js/translated/part.js:388 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:398 +#: templates/js/translated/part.js:397 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:402 +#: templates/js/translated/part.js:401 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:407 +#: templates/js/translated/part.js:406 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:431 +#: templates/js/translated/part.js:430 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:433 +#: templates/js/translated/part.js:432 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:434 +#: templates/js/translated/part.js:433 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:462 +#: templates/js/translated/part.js:461 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:464 +#: templates/js/translated/part.js:463 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:475 +#: templates/js/translated/part.js:474 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:532 +#: templates/js/translated/part.js:531 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:533 +#: templates/js/translated/part.js:532 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:547 +#: templates/js/translated/part.js:546 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:549 +#: templates/js/translated/part.js:548 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:550 +#: templates/js/translated/part.js:549 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:551 +#: templates/js/translated/part.js:550 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:558 +#: templates/js/translated/part.js:557 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:594 +#: templates/js/translated/part.js:593 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:596 +#: templates/js/translated/part.js:595 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:601 +#: templates/js/translated/part.js:600 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:603 +#: templates/js/translated/part.js:602 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:620 +#: templates/js/translated/part.js:619 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:630 +#: templates/js/translated/part.js:629 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:633 +#: templates/js/translated/part.js:632 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:658 +#: templates/js/translated/part.js:657 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:686 -#: templates/js/translated/table_filters.js:747 +#: templates/js/translated/part.js:685 +#: templates/js/translated/table_filters.js:752 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:689 +#: templates/js/translated/part.js:688 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:749 +#: templates/js/translated/part.js:748 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:772 +#: templates/js/translated/part.js:771 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:795 templates/js/translated/part.js:1207 +#: templates/js/translated/part.js:794 templates/js/translated/part.js:1210 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:807 +#: templates/js/translated/part.js:806 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:811 +#: templates/js/translated/part.js:810 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:890 +#: templates/js/translated/part.js:893 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:890 +#: templates/js/translated/part.js:893 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:898 +#: templates/js/translated/part.js:901 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:902 +#: templates/js/translated/part.js:905 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:1051 +#: templates/js/translated/part.js:1054 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1109 templates/js/translated/part.js:1145 +#: templates/js/translated/part.js:1112 templates/js/translated/part.js:1148 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1113 templates/js/translated/part.js:1155 +#: templates/js/translated/part.js:1116 templates/js/translated/part.js:1158 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1282 +#: templates/js/translated/part.js:1285 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1600 +#: templates/js/translated/part.js:1603 msgid "No part parameter templates found" msgstr "" -#: templates/js/translated/part.js:1663 +#: templates/js/translated/part.js:1666 msgid "Edit Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1675 +#: templates/js/translated/part.js:1678 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/js/translated/part.js:1683 +#: templates/js/translated/part.js:1686 msgid "Delete Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1717 +#: templates/js/translated/part.js:1720 #: templates/js/translated/purchase_order.js:1654 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/part.js:1861 +#: templates/js/translated/part.js:1864 #: 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:1907 +#: templates/js/translated/part.js:1910 #: templates/js/translated/purchase_order.js:2220 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1970 +#: templates/js/translated/part.js:1973 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1992 +#: templates/js/translated/part.js:1995 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2080 templates/js/translated/part.js:2506 +#: templates/js/translated/part.js:2083 templates/js/translated/part.js:2509 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:2201 +#: templates/js/translated/part.js:2204 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2206 +#: templates/js/translated/part.js:2209 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2236 +#: templates/js/translated/part.js:2239 msgid "Set category" msgstr "" -#: templates/js/translated/part.js:2287 +#: templates/js/translated/part.js:2290 msgid "part" msgstr "" -#: templates/js/translated/part.js:2288 +#: templates/js/translated/part.js:2291 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2384 +#: templates/js/translated/part.js:2387 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 +#: templates/js/translated/part.js:2534 templates/js/translated/part.js:2664 #: templates/js/translated/stock.js:2669 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2547 +#: templates/js/translated/part.js:2550 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2645 +#: templates/js/translated/part.js:2648 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2689 +#: templates/js/translated/part.js:2684 templates/js/translated/stock.js:2689 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2761 +#: templates/js/translated/part.js:2764 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2777 +#: templates/js/translated/part.js:2780 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2865 +#: templates/js/translated/part.js:2868 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2887 templates/js/translated/search.js:342 +#: templates/js/translated/part.js:2890 templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/part.js:2937 templates/js/translated/stock.js:1456 +#: templates/js/translated/part.js:2940 templates/js/translated/stock.js:1456 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2938 templates/js/translated/stock.js:1457 +#: templates/js/translated/part.js:2941 templates/js/translated/stock.js:1457 #: templates/js/translated/stock.js:1731 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2942 +#: templates/js/translated/part.js:2945 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2958 +#: templates/js/translated/part.js:2961 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2972 +#: templates/js/translated/part.js:2975 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3051 templates/js/translated/part.js:3052 +#: templates/js/translated/part.js:3054 templates/js/translated/part.js:3055 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3054 +#: templates/js/translated/part.js:3057 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3060 +#: templates/js/translated/part.js:3063 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3110 +#: templates/js/translated/part.js:3113 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3116 +#: templates/js/translated/part.js:3119 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3212 +#: templates/js/translated/part.js:3215 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3228 +#: templates/js/translated/part.js:3231 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3273 +#: templates/js/translated/part.js:3276 msgid "Minimum Stock Level" msgstr "" @@ -13593,7 +13928,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1042 users/models.py:392 +#: templates/js/translated/stock.js:1042 users/models.py:396 msgid "Add" msgstr "" @@ -13947,7 +14282,7 @@ msgid "Include subcategories" msgstr "" #: templates/js/translated/table_filters.js:287 -#: templates/js/translated/table_filters.js:759 +#: templates/js/translated/table_filters.js:764 msgid "Subscribed" msgstr "" @@ -14102,40 +14437,44 @@ msgstr "" msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:725 +#: templates/js/translated/table_filters.js:722 +msgid "Show locked parts" +msgstr "" + +#: templates/js/translated/table_filters.js:730 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:733 -#: templates/js/translated/table_filters.js:833 +#: templates/js/translated/table_filters.js:738 +#: templates/js/translated/table_filters.js:838 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:734 +#: templates/js/translated/table_filters.js:739 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:738 +#: templates/js/translated/table_filters.js:743 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:739 +#: templates/js/translated/table_filters.js:744 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:743 +#: templates/js/translated/table_filters.js:748 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:751 +#: templates/js/translated/table_filters.js:756 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:763 +#: templates/js/translated/table_filters.js:768 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:829 +#: templates/js/translated/table_filters.js:834 msgid "Has Choices" msgstr "" @@ -14207,10 +14546,6 @@ msgstr "" msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:558 -msgid "Columns" -msgstr "" - #: templates/js/translated/tables.js:561 msgid "All" msgstr "" @@ -14484,35 +14819,34 @@ msgstr "" msgid "Revoked" msgstr "" -#: users/models.py:375 +#: users/models.py:379 msgid "Permission set" msgstr "" -#: users/models.py:384 +#: users/models.py:388 msgid "Group" msgstr "Ryhmä" -#: users/models.py:388 +#: users/models.py:392 msgid "View" msgstr "Näytä" -#: users/models.py:388 +#: users/models.py:392 msgid "Permission to view items" msgstr "Oikeus tarkastella kohteita" -#: users/models.py:392 +#: users/models.py:396 msgid "Permission to add items" msgstr "Oikeus lisätä kohteita" -#: users/models.py:396 +#: users/models.py:400 msgid "Change" msgstr "Muuta" -#: users/models.py:398 +#: users/models.py:402 msgid "Permissions to edit items" msgstr "Oikeus muokata kohteita" -#: users/models.py:404 +#: users/models.py:408 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 215f45a24cc1..85b8eb997de5 100644 --- a/src/backend/InvenTree/locale/fr/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/fr/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-07-05 02:47+0000\n" +"POT-Creation-Date: 2024-07-08 14:46+0000\n" "PO-Revision-Date: 2024-07-05 14:57\n" "Last-Translator: \n" "Language-Team: French\n" @@ -21,7 +21,7 @@ msgstr "" msgid "API endpoint not found" msgstr "Point de terminaison de l'API introuvable" -#: InvenTree/api.py:520 +#: InvenTree/api.py:505 msgid "User does not have permission to view this model" msgstr "L'utilisateur n'a pas la permission de voir ce modèle" @@ -56,21 +56,21 @@ 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:205 InvenTree/models.py:918 build/serializers.py:452 -#: build/serializers.py:530 build/templates/build/sidebar.html:21 -#: company/models.py:817 company/templates/company/sidebar.html:37 +#: InvenTree/fields.py:205 InvenTree/models.py:921 build/serializers.py:456 +#: build/serializers.py:534 build/templates/build/sidebar.html:21 +#: company/models.py:824 company/templates/company/sidebar.html:37 #: order/models.py:1296 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:3183 part/templates/part/part_sidebar.html:63 +#: part/models.py:3193 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:230 stock/models.py:2344 stock/models.py:2466 -#: stock/serializers.py:632 stock/serializers.py:790 stock/serializers.py:886 -#: stock/serializers.py:936 stock/serializers.py:1239 stock/serializers.py:1328 -#: stock/serializers.py:1493 stock/templates/stock/stock_sidebar.html:25 +#: stock/admin.py:230 stock/models.py:2349 stock/models.py:2476 +#: stock/serializers.py:690 stock/serializers.py:848 stock/serializers.py:944 +#: stock/serializers.py:994 stock/serializers.py:1305 stock/serializers.py:1394 +#: stock/serializers.py:1559 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:1081 +#: templates/js/translated/part.js:1084 #: templates/js/translated/purchase_order.js:2200 #: templates/js/translated/return_order.js:775 #: templates/js/translated/sales_order.js:1103 @@ -371,41 +371,41 @@ msgstr "Métadonnées de l'Extension" msgid "JSON metadata field, for use by external plugins" msgstr "Champs metadata JSON, pour plugins tiers" -#: InvenTree/models.py:408 +#: InvenTree/models.py:411 msgid "Improperly formatted pattern" msgstr "Modèle mal formaté" -#: InvenTree/models.py:415 +#: InvenTree/models.py:418 msgid "Unknown format key specified" msgstr "Clé de format inconnu spécifiée" -#: InvenTree/models.py:421 +#: InvenTree/models.py:424 msgid "Missing required format key" msgstr "Clé de format requise manquante" -#: InvenTree/models.py:432 +#: InvenTree/models.py:435 msgid "Reference field cannot be empty" msgstr "Le champ de référence ne peut pas être vide" -#: InvenTree/models.py:440 +#: InvenTree/models.py:443 msgid "Reference must match required pattern" msgstr "La référence doit correspondre au modèle requis" -#: InvenTree/models.py:471 +#: InvenTree/models.py:474 msgid "Reference number is too large" msgstr "Le numéro de référence est trop grand" -#: InvenTree/models.py:719 +#: InvenTree/models.py:722 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:736 +#: InvenTree/models.py:739 msgid "Invalid choice" msgstr "Choix invalide" -#: InvenTree/models.py:766 common/models.py:2678 common/models.py:3103 -#: common/serializers.py:408 company/models.py:580 machine/models.py:24 -#: part/models.py:891 part/models.py:3639 plugin/models.py:51 +#: InvenTree/models.py:769 common/models.py:2659 common/models.py:3089 +#: common/serializers.py:412 company/models.py:587 machine/models.py:24 +#: part/models.py:895 part/models.py:3660 plugin/models.py:51 #: report/models.py:150 stock/models.py:74 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -417,20 +417,20 @@ msgstr "Choix invalide" #: templates/js/translated/company.js:724 #: templates/js/translated/company.js:913 #: templates/js/translated/company.js:1165 -#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1187 -#: templates/js/translated/part.js:1475 templates/js/translated/part.js:1611 -#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2716 +#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1190 +#: templates/js/translated/part.js:1478 templates/js/translated/part.js:1614 +#: templates/js/translated/part.js:2752 templates/js/translated/stock.js:2716 msgid "Name" msgstr "Nom" -#: InvenTree/models.py:772 build/models.py:235 -#: build/templates/build/detail.html:24 common/models.py:138 -#: company/models.py:509 company/models.py:808 +#: InvenTree/models.py:775 build/models.py:242 +#: build/templates/build/detail.html:24 common/models.py:143 +#: company/models.py:515 company/models.py:815 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 -#: order/models.py:1329 part/admin.py:305 part/admin.py:408 part/models.py:914 -#: part/models.py:3654 part/templates/part/category.html:82 +#: order/models.py:1329 part/admin.py:305 part/admin.py:408 part/models.py:918 +#: part/models.py:3675 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:156 #: report/models.py:510 report/models.py:536 @@ -444,10 +444,10 @@ msgstr "Nom" #: templates/js/translated/build.js:2139 templates/js/translated/company.js:519 #: templates/js/translated/company.js:1330 #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 -#: templates/js/translated/order.js:298 templates/js/translated/part.js:1239 -#: templates/js/translated/part.js:1484 templates/js/translated/part.js:1622 -#: templates/js/translated/part.js:1959 templates/js/translated/part.js:2355 -#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2897 +#: templates/js/translated/order.js:298 templates/js/translated/part.js:1242 +#: templates/js/translated/part.js:1487 templates/js/translated/part.js:1625 +#: templates/js/translated/part.js:1962 templates/js/translated/part.js:2358 +#: templates/js/translated/part.js:2788 templates/js/translated/part.js:2900 #: templates/js/translated/plugin.js:80 #: templates/js/translated/purchase_order.js:1706 #: templates/js/translated/purchase_order.js:1849 @@ -460,53 +460,53 @@ msgstr "Nom" msgid "Description" msgstr "Description" -#: InvenTree/models.py:773 stock/models.py:81 +#: InvenTree/models.py:776 stock/models.py:81 msgid "Description (optional)" msgstr "Description (facultative)" -#: InvenTree/models.py:788 templates/js/translated/part.js:2794 +#: InvenTree/models.py:791 templates/js/translated/part.js:2797 #: templates/js/translated/stock.js:2757 msgid "Path" msgstr "Chemin d'accès" -#: InvenTree/models.py:918 +#: InvenTree/models.py:921 msgid "Markdown notes (optional)" msgstr "Notes Markdown (option)" -#: InvenTree/models.py:947 +#: InvenTree/models.py:950 msgid "Barcode Data" msgstr "Données du code-barres" -#: InvenTree/models.py:948 +#: InvenTree/models.py:951 msgid "Third party barcode data" msgstr "Données de code-barres tierces" -#: InvenTree/models.py:954 +#: InvenTree/models.py:957 msgid "Barcode Hash" msgstr "Hash du code-barre" -#: InvenTree/models.py:955 +#: InvenTree/models.py:958 msgid "Unique hash of barcode data" msgstr "Hachage unique des données du code-barres" -#: InvenTree/models.py:1008 +#: InvenTree/models.py:1011 msgid "Existing barcode found" msgstr "Code-barres existant trouvé" -#: InvenTree/models.py:1051 +#: InvenTree/models.py:1054 msgid "Server Error" msgstr "Erreur serveur" -#: InvenTree/models.py:1052 +#: InvenTree/models.py:1055 msgid "An error has been logged by the server." msgstr "Une erreur a été loguée par le serveur." -#: InvenTree/serializers.py:63 part/models.py:4192 +#: InvenTree/serializers.py:63 part/models.py:4277 msgid "Must be a valid number" msgstr "Doit être un nombre valide" #: InvenTree/serializers.py:100 company/models.py:186 -#: company/templates/company/company_base.html:112 part/models.py:3001 +#: company/templates/company/company_base.html:112 part/models.py:3011 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -556,16 +556,16 @@ msgstr "" msgid "Is this user a superuser" msgstr "" -#: InvenTree/serializers.py:445 common/models.py:2683 company/models.py:163 -#: company/models.py:782 machine/models.py:39 part/admin.py:88 -#: part/models.py:1081 plugin/models.py:66 +#: InvenTree/serializers.py:445 common/models.py:2664 company/models.py:163 +#: company/models.py:789 machine/models.py:39 part/admin.py:88 +#: part/models.py:1085 plugin/models.py:66 #: 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 #: templates/js/translated/table_filters.js:520 #: templates/js/translated/table_filters.js:716 -#: templates/js/translated/table_filters.js:796 users/models.py:182 +#: templates/js/translated/table_filters.js:801 users/models.py:182 msgid "Active" msgstr "Actif" @@ -597,7 +597,7 @@ msgstr "Bienvenue dans InvenTree" msgid "Invalid value" msgstr "Valeur non valide" -#: InvenTree/serializers.py:581 +#: InvenTree/serializers.py:581 importer/models.py:60 msgid "Data File" msgstr "Fichier de données" @@ -651,7 +651,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:1174 +#: InvenTree/status.py:66 part/serializers.py:1202 msgid "Background worker check failed" msgstr "Échec de la vérification du processus d'arrière-plan" @@ -711,47 +711,48 @@ msgstr "Informations système" msgid "About InvenTree" msgstr "À propos d'InvenTree" -#: build/api.py:255 +#: build/api.py:248 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:4070 templates/js/translated/bom.js:997 -#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 +#: build/api.py:292 build/serializers.py:1190 part/models.py:4155 +#: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 +#: templates/js/translated/build.js:2521 #: 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:4064 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 +#: build/api.py:293 build/serializers.py:1191 part/models.py:4149 +#: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 +#: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2530 #: templates/js/translated/table_filters.js:186 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:587 msgid "Optional" msgstr "Facultatif" -#: build/api.py:301 templates/js/translated/table_filters.js:408 +#: build/api.py:294 templates/js/translated/table_filters.js:408 #: templates/js/translated/table_filters.js:579 msgid "Tracked" msgstr "Suivi" -#: build/api.py:303 part/admin.py:144 templates/js/translated/build.js:1744 -#: templates/js/translated/build.js:2629 +#: build/api.py:296 part/admin.py:144 templates/js/translated/build.js:1744 +#: templates/js/translated/build.js:2630 #: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:571 msgid "Allocated" msgstr "Allouée" -#: build/api.py:311 company/models.py:872 company/serializers.py:359 +#: build/api.py:304 company/models.py:879 company/serializers.py:386 #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2561 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2562 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:234 -#: templates/js/translated/part.js:693 templates/js/translated/part.js:695 -#: templates/js/translated/part.js:700 +#: 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 #: templates/js/translated/table_filters.js:575 msgid "Available" @@ -760,7 +761,7 @@ msgstr "Disponible" #: build/models.py:85 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 -#: stock/serializers.py:82 templates/email/build_order_completed.html:16 +#: stock/serializers.py:84 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:2892 msgid "Build Order" @@ -781,35 +782,43 @@ msgstr "Ordres de Fabrication" msgid "Assembly BOM has not been validated" msgstr "" -#: build/models.py:134 part/templates/part/part_base.html:145 -msgid "Part is not active" -msgstr "" +#: build/models.py:134 +#, fuzzy +#| msgid "Build output cannot be specified for allocation of untracked parts" +msgid "Build order cannot be created for an inactive part" +msgstr "La sortie de la construction ne peut pas être spécifiée pour l'allocation des pièces non suivies" -#: build/models.py:148 +#: build/models.py:141 +#, fuzzy +#| msgid "Build output cannot be specified for allocation of untracked parts" +msgid "Build order cannot be created for an unlocked part" +msgstr "La sortie de la construction ne peut pas être spécifiée pour l'allocation des pièces non suivies" + +#: build/models.py:155 msgid "Invalid choice for parent build" msgstr "Choix invalide pour la fabrication parente" -#: build/models.py:159 order/models.py:240 +#: build/models.py:166 order/models.py:240 msgid "Responsible user or group must be specified" msgstr "Un utilisateur ou un groupe responsable doit être spécifié" -#: build/models.py:165 +#: build/models.py:172 msgid "Build order part cannot be changed" msgstr "La pièce de commande de construction ne peut pas être changée" -#: build/models.py:226 +#: build/models.py:233 msgid "Build Order Reference" msgstr "Référence de l' Ordre de Fabrication" -#: build/models.py:227 order/models.py:463 order/models.py:926 -#: order/models.py:1289 order/models.py:2020 part/admin.py:411 -#: part/models.py:4085 part/templates/part/upload_bom.html:54 +#: build/models.py:234 build/serializers.py:1189 order/models.py:463 +#: order/models.py:926 order/models.py:1289 order/models.py:2046 +#: part/admin.py:411 part/models.py:4170 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: 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/build.js:2513 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2065 #: templates/js/translated/return_order.js:728 @@ -817,27 +826,28 @@ msgstr "Référence de l' Ordre de Fabrication" msgid "Reference" msgstr "Référence" -#: build/models.py:238 +#: build/models.py:245 msgid "Brief description of the build (optional)" msgstr "Brève description de la fabrication (optionnel)" -#: build/models.py:246 build/templates/build/build_base.html:183 +#: build/models.py:253 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Fabrication parente" -#: build/models.py:247 +#: build/models.py:254 msgid "BuildOrder to which this build is allocated" msgstr "BuildOrder associé a cette fabrication" -#: build/models.py:252 build/templates/build/build_base.html:97 -#: build/templates/build/detail.html:29 company/models.py:1026 order/api.py:805 -#: order/models.py:1414 order/models.py:1559 order/models.py:1560 -#: part/api.py:1494 part/api.py:1788 part/models.py:395 part/models.py:3012 -#: part/models.py:3156 part/models.py:3303 part/models.py:3324 -#: part/models.py:3346 part/models.py:3477 part/models.py:3787 -#: part/models.py:3943 part/models.py:4036 part/models.py:4395 -#: part/serializers.py:1120 part/serializers.py:1726 +#: build/models.py:259 build/serializers.py:1184 +#: build/templates/build/build_base.html:97 +#: build/templates/build/detail.html:29 company/models.py:1034 order/api.py:759 +#: order/models.py:1419 order/models.py:1574 order/models.py:1575 +#: part/api.py:1480 part/api.py:1776 part/models.py:396 part/models.py:3022 +#: part/models.py:3166 part/models.py:3314 part/models.py:3335 +#: part/models.py:3357 part/models.py:3493 part/models.py:3827 +#: part/models.py:3990 part/models.py:4121 part/models.py:4480 +#: part/serializers.py:1148 part/serializers.py:1758 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -848,8 +858,8 @@ msgstr "BuildOrder associé a cette fabrication" #: 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:109 stock/serializers.py:157 stock/serializers.py:423 -#: stock/serializers.py:820 templates/InvenTree/search.html:82 +#: stock/serializers.py:111 stock/serializers.py:159 stock/serializers.py:443 +#: stock/serializers.py:878 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 @@ -862,8 +872,8 @@ msgstr "BuildOrder associé a cette fabrication" #: templates/js/translated/company.js:1116 #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 -#: templates/js/translated/part.js:1944 templates/js/translated/part.js:2016 -#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:1947 templates/js/translated/part.js:2019 +#: templates/js/translated/part.js:2327 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:1848 @@ -881,107 +891,107 @@ msgstr "BuildOrder associé a cette fabrication" msgid "Part" msgstr "Pièce" -#: build/models.py:260 +#: build/models.py:267 msgid "Select part to build" msgstr "Sélectionnez la pièce à construire" -#: build/models.py:265 +#: build/models.py:272 msgid "Sales Order Reference" msgstr "Bon de commande de référence" -#: build/models.py:269 +#: build/models.py:276 msgid "SalesOrder to which this build is allocated" msgstr "Commande de vente à laquelle cette construction est allouée" -#: build/models.py:274 build/serializers.py:999 +#: build/models.py:281 build/serializers.py:1003 #: templates/js/translated/build.js:1731 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "Emplacement d'origine" -#: build/models.py:278 +#: build/models.py:285 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:283 +#: build/models.py:290 msgid "Destination Location" msgstr "Emplacement cible" -#: build/models.py:287 +#: build/models.py:294 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:291 +#: build/models.py:298 msgid "Build Quantity" msgstr "Quantité a fabriquer" -#: build/models.py:294 +#: build/models.py:301 msgid "Number of stock items to build" msgstr "Nombre de stock items à construire" -#: build/models.py:298 +#: build/models.py:305 msgid "Completed items" msgstr "Articles terminés" -#: build/models.py:300 +#: build/models.py:307 msgid "Number of stock items which have been completed" msgstr "Nombre d'articles de stock qui ont été terminés" -#: build/models.py:304 +#: build/models.py:311 msgid "Build Status" msgstr "État de la construction" -#: build/models.py:308 +#: build/models.py:315 msgid "Build status code" msgstr "Code de statut de construction" -#: build/models.py:317 build/serializers.py:286 order/serializers.py:580 -#: stock/models.py:839 stock/serializers.py:74 stock/serializers.py:1458 +#: build/models.py:324 build/serializers.py:290 order/serializers.py:629 +#: stock/models.py:839 stock/serializers.py:76 stock/serializers.py:1524 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "Code de lot" -#: build/models.py:321 build/serializers.py:287 +#: build/models.py:328 build/serializers.py:291 msgid "Batch code for this build output" msgstr "Code de lot pour ce build output" -#: build/models.py:324 order/models.py:316 order/serializers.py:119 -#: part/models.py:1115 part/templates/part/part_base.html:310 +#: build/models.py:331 order/models.py:316 order/serializers.py:127 +#: part/models.py:1125 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:328 +#: build/models.py:335 msgid "Target completion date" msgstr "Date d'achèvement cible" -#: build/models.py:329 +#: build/models.py:336 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:332 order/models.py:521 order/models.py:2065 +#: build/models.py:339 order/models.py:521 order/models.py:2091 #: templates/js/translated/build.js:2247 msgid "Completion Date" msgstr "Date d'achèvement" -#: build/models.py:338 +#: build/models.py:345 msgid "completed by" msgstr "achevé par" -#: build/models.py:346 templates/js/translated/build.js:2207 +#: build/models.py:353 templates/js/translated/build.js:2207 msgid "Issued by" msgstr "Émis par" -#: build/models.py:347 +#: build/models.py:354 msgid "User who issued this build order" msgstr "Utilisateur ayant émis cette commande de construction" -#: build/models.py:355 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 common/models.py:147 +#: build/models.py:362 build/templates/build/build_base.html:204 +#: build/templates/build/detail.html:122 common/models.py:152 #: order/models.py:334 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:232 part/models.py:1132 +#: order/templates/order/sales_order_base.html:232 part/models.py:1142 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 @@ -992,11 +1002,11 @@ msgstr "Utilisateur ayant émis cette commande de construction" msgid "Responsible" msgstr "Responsable" -#: build/models.py:356 +#: build/models.py:363 msgid "User or group responsible for this build order" msgstr "Utilisateur ou groupe responsable de cet ordre de construction" -#: build/models.py:361 build/templates/build/detail.html:108 +#: build/models.py:368 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 @@ -1008,21 +1018,22 @@ msgstr "Utilisateur ou groupe responsable de cet ordre de construction" msgid "External Link" msgstr "Lien Externe" -#: build/models.py:362 common/models.py:3244 part/models.py:956 +#: build/models.py:369 common/models.py:3230 part/models.py:960 #: stock/models.py:835 msgid "Link to external URL" msgstr "Lien vers une url externe" -#: build/models.py:366 +#: build/models.py:373 msgid "Build Priority" msgstr "Priorité de fabrication" -#: build/models.py:369 +#: build/models.py:376 msgid "Priority of this build order" msgstr "Priorité de cet ordre de fabrication" -#: build/models.py:376 common/models.py:131 order/admin.py:18 -#: order/models.py:298 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:383 common/models.py:122 common/models.py:136 +#: order/admin.py:18 order/models.py:298 order/serializers.py:108 +#: templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 #: templates/js/translated/purchase_order.js:1710 #: templates/js/translated/return_order.js:317 @@ -1032,65 +1043,66 @@ msgstr "Priorité de cet ordre de fabrication" msgid "Project Code" msgstr "Code du projet" -#: build/models.py:377 +#: build/models.py:384 msgid "Project code for this build order" msgstr "Code de projet pour cet ordre de construction" -#: build/models.py:610 build/models.py:675 +#: build/models.py:617 build/models.py:682 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:632 +#: build/models.py:639 #, python-brace-format msgid "Build order {build} has been completed" msgstr "La commande de construction {build} a été effectuée" -#: build/models.py:638 +#: build/models.py:645 msgid "A build order has been completed" msgstr "Une commande de construction a été effectuée" -#: build/models.py:864 build/models.py:949 +#: build/models.py:871 build/models.py:956 msgid "No build output specified" msgstr "Pas d'ordre de production défini" -#: build/models.py:867 +#: build/models.py:874 msgid "Build output is already completed" msgstr "L'ordre de production a déjà été réalisé" -#: build/models.py:870 +#: build/models.py:877 msgid "Build output does not match Build Order" msgstr "L'ordre de production de correspond pas à l'ordre de commande" -#: build/models.py:953 build/serializers.py:219 build/serializers.py:268 -#: build/serializers.py:866 order/models.py:559 order/serializers.py:432 -#: order/serializers.py:575 part/serializers.py:1484 part/serializers.py:1884 -#: stock/models.py:678 stock/models.py:1496 stock/serializers.py:603 +#: build/models.py:960 build/serializers.py:223 build/serializers.py:272 +#: build/serializers.py:870 order/models.py:559 order/serializers.py:461 +#: order/serializers.py:624 part/serializers.py:1515 part/serializers.py:1921 +#: stock/models.py:678 stock/models.py:1496 stock/serializers.py:661 msgid "Quantity must be greater than zero" msgstr "La quantité doit être supérieure à zéro" -#: build/models.py:958 build/serializers.py:224 +#: build/models.py:965 build/serializers.py:228 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:1018 build/serializers.py:547 +#: build/models.py:1025 build/serializers.py:551 #, 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:1359 +#: build/models.py:1366 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1384 +#: build/models.py:1391 msgid "Build object" msgstr "Création de l'objet" -#: build/models.py:1398 build/models.py:1654 build/serializers.py:206 -#: build/serializers.py:253 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2563 -#: order/models.py:1272 order/models.py:1931 order/serializers.py:1327 +#: build/models.py:1405 build/models.py:1661 build/serializers.py:210 +#: build/serializers.py:257 build/serializers.py:1194 +#: build/templates/build/build_base.html:102 +#: build/templates/build/detail.html:34 common/models.py:2544 +#: order/models.py:1272 order/models.py:1957 order/serializers.py:1383 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:410 -#: part/forms.py:48 part/models.py:3170 part/models.py:4058 +#: part/forms.py:48 part/models.py:3180 part/models.py:4143 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1100,7 +1112,7 @@ msgstr "Création de l'objet" #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:169 stock/admin.py:159 -#: stock/serializers.py:125 stock/serializers.py:165 stock/serializers.py:594 +#: stock/serializers.py:127 stock/serializers.py:167 stock/serializers.py:652 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 @@ -1111,8 +1123,8 @@ msgstr "Création de l'objet" #: templates/js/translated/build.js:1746 templates/js/translated/build.js:2357 #: templates/js/translated/company.js:1818 #: templates/js/translated/model_renderers.js:236 -#: templates/js/translated/order.js:304 templates/js/translated/part.js:962 -#: templates/js/translated/part.js:1812 templates/js/translated/part.js:3342 +#: templates/js/translated/order.js:304 templates/js/translated/part.js:965 +#: templates/js/translated/part.js:1815 templates/js/translated/part.js:3345 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 @@ -1132,38 +1144,38 @@ msgstr "Création de l'objet" msgid "Quantity" msgstr "Quantité" -#: build/models.py:1399 +#: build/models.py:1406 msgid "Required quantity for build order" msgstr "Quantité requise pour la commande de construction" -#: build/models.py:1479 +#: build/models.py:1486 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:1488 +#: build/models.py:1495 #, 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:1498 order/models.py:1882 +#: build/models.py:1505 order/models.py:1908 msgid "Stock item is over-allocated" msgstr "L'article de stock est suralloué" -#: build/models.py:1504 order/models.py:1885 +#: build/models.py:1511 order/models.py:1911 msgid "Allocation quantity must be greater than zero" msgstr "La quantité allouée doit être supérieure à zéro" -#: build/models.py:1510 +#: build/models.py:1517 msgid "Quantity must be 1 for serialized stock" msgstr "La quantité doit être de 1 pour stock sérialisé" -#: build/models.py:1569 +#: build/models.py:1576 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:1641 build/serializers.py:846 order/serializers.py:1171 -#: order/serializers.py:1192 stock/models.py:359 stock/serializers.py:91 -#: stock/serializers.py:697 stock/serializers.py:1177 stock/serializers.py:1289 +#: build/models.py:1648 build/serializers.py:850 order/serializers.py:1227 +#: order/serializers.py:1248 stock/models.py:359 stock/serializers.py:93 +#: stock/serializers.py:755 stock/serializers.py:1243 stock/serializers.py:1355 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 @@ -1179,70 +1191,76 @@ msgstr "L'article de stock sélectionné ne correspond pas à la ligne BOM" msgid "Stock Item" msgstr "Article en stock" -#: build/models.py:1642 +#: build/models.py:1649 msgid "Source stock item" msgstr "Stock d'origine de l'article" -#: build/models.py:1655 +#: build/models.py:1662 msgid "Stock quantity to allocate to build" msgstr "Quantité de stock à allouer à la construction" -#: build/models.py:1663 +#: build/models.py:1670 msgid "Install into" msgstr "Installer dans" -#: build/models.py:1664 +#: build/models.py:1671 msgid "Destination stock item" msgstr "Stock de destination de l'article" -#: build/serializers.py:156 build/serializers.py:875 +#: build/serializers.py:89 build/serializers.py:1185 part/admin.py:41 +#: part/admin.py:405 part/models.py:3992 part/stocktake.py:220 +#: stock/admin.py:156 +msgid "Part Name" +msgstr "Nom de l'article" + +#: build/serializers.py:160 build/serializers.py:879 #: templates/js/translated/build.js:1322 msgid "Build Output" msgstr "Sortie d'assemblage" -#: build/serializers.py:168 +#: build/serializers.py:172 msgid "Build output does not match the parent build" msgstr "L'ordre de production ne correspond pas à l'ordre parent" -#: build/serializers.py:172 +#: build/serializers.py:176 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:176 +#: build/serializers.py:180 msgid "This build output has already been completed" msgstr "Cet ordre de production a déjà été produit" -#: build/serializers.py:187 +#: build/serializers.py:191 msgid "This build output is not fully allocated" msgstr "Cet ordre de production n'est pas complètement attribué" -#: build/serializers.py:207 build/serializers.py:254 +#: build/serializers.py:211 build/serializers.py:258 msgid "Enter quantity for build output" msgstr "Entrer la quantité désiré pour la fabrication" -#: build/serializers.py:275 +#: build/serializers.py:279 msgid "Integer quantity required for trackable parts" msgstr "Quantité entière requise pour les pièces à suivre" -#: build/serializers.py:278 +#: build/serializers.py:282 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:293 order/serializers.py:588 order/serializers.py:1331 -#: stock/serializers.py:614 templates/js/translated/purchase_order.js:1153 +#: build/serializers.py:297 order/serializers.py:637 order/serializers.py:1387 +#: stock/serializers.py:672 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:294 +#: build/serializers.py:298 msgid "Enter serial numbers for build outputs" msgstr "Entrer les numéros de séries pour la fabrication" -#: build/serializers.py:299 build/serializers.py:440 build/serializers.py:512 -#: order/serializers.py:564 order/serializers.py:672 order/serializers.py:1656 -#: part/serializers.py:1140 stock/serializers.py:100 stock/serializers.py:625 -#: stock/serializers.py:785 stock/serializers.py:881 stock/serializers.py:1321 -#: stock/serializers.py:1577 stock/templates/stock/item_base.html:394 +#: build/serializers.py:303 build/serializers.py:444 build/serializers.py:516 +#: order/serializers.py:613 order/serializers.py:721 order/serializers.py:1714 +#: part/serializers.py:1168 stock/serializers.py:102 stock/serializers.py:683 +#: stock/serializers.py:843 stock/serializers.py:939 stock/serializers.py:1387 +#: stock/serializers.py:1643 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 @@ -1258,54 +1276,54 @@ msgstr "Entrer les numéros de séries pour la fabrication" msgid "Location" msgstr "Emplacement" -#: build/serializers.py:300 +#: build/serializers.py:304 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:314 +#: build/serializers.py:318 msgid "Auto Allocate Serial Numbers" msgstr "Allouer automatiquement les numéros de série" -#: build/serializers.py:315 +#: build/serializers.py:319 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:330 +#: build/serializers.py:334 msgid "Serial numbers must be provided for trackable parts" msgstr "Les numéros de série doivent être fournis pour les pièces traçables" -#: build/serializers.py:355 stock/api.py:1041 +#: build/serializers.py:359 stock/api.py:1033 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:402 build/serializers.py:464 build/serializers.py:553 +#: build/serializers.py:406 build/serializers.py:468 build/serializers.py:557 msgid "A list of build outputs must be provided" msgstr "Une liste d'ordre de production doit être fourni" -#: build/serializers.py:441 +#: build/serializers.py:445 msgid "Stock location for scrapped outputs" msgstr "Emplacement du stock pour les sorties épuisées" -#: build/serializers.py:447 +#: build/serializers.py:451 msgid "Discard Allocations" msgstr "Ignorer les allocations" -#: build/serializers.py:448 +#: build/serializers.py:452 msgid "Discard any stock allocations for scrapped outputs" msgstr "Abandonner les allocations de stock pour les sorties abandonnées" -#: build/serializers.py:453 +#: build/serializers.py:457 msgid "Reason for scrapping build output(s)" msgstr "Motif de l'élimination des produits de construction(s)" -#: build/serializers.py:513 +#: build/serializers.py:517 msgid "Location for completed build outputs" msgstr "Emplacement des ordres de production achevés" -#: build/serializers.py:519 build/templates/build/build_base.html:151 +#: build/serializers.py:523 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:950 -#: order/models.py:2044 order/serializers.py:596 stock/admin.py:164 -#: stock/serializers.py:932 stock/serializers.py:1465 +#: order/models.py:2070 order/serializers.py:645 stock/admin.py:164 +#: stock/serializers.py:990 stock/serializers.py:1531 #: 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 @@ -1317,193 +1335,253 @@ msgstr "Emplacement des ordres de production achevés" msgid "Status" msgstr "État" -#: build/serializers.py:525 +#: build/serializers.py:529 msgid "Accept Incomplete Allocation" msgstr "Accepter l'allocation incomplète" -#: build/serializers.py:526 +#: build/serializers.py:530 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:611 +#: build/serializers.py:615 msgid "Consume Allocated Stock" msgstr "Consommation du stock alloué" -#: build/serializers.py:612 +#: build/serializers.py:616 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:618 +#: build/serializers.py:622 msgid "Remove Incomplete Outputs" msgstr "Retirer les sorties incomplètes" -#: build/serializers.py:619 +#: build/serializers.py:623 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:646 +#: build/serializers.py:650 msgid "Not permitted" msgstr "Non permis" -#: build/serializers.py:647 +#: build/serializers.py:651 msgid "Accept as consumed by this build order" msgstr "Accepter comme consommé par cet ordre de construction" -#: build/serializers.py:648 +#: build/serializers.py:652 msgid "Deallocate before completing this build order" msgstr "Désaffecter avant de terminer cette commande de fabrication" -#: build/serializers.py:678 +#: build/serializers.py:682 msgid "Overallocated Stock" msgstr "Stock suralloué" -#: build/serializers.py:680 +#: build/serializers.py:684 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:690 +#: build/serializers.py:694 msgid "Some stock items have been overallocated" msgstr "Certains articles de stock ont été suralloués" -#: build/serializers.py:695 +#: build/serializers.py:699 msgid "Accept Unallocated" msgstr "Accepter les non-alloués" -#: build/serializers.py:696 +#: build/serializers.py:700 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:706 templates/js/translated/build.js:315 +#: build/serializers.py:710 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:711 order/serializers.py:300 order/serializers.py:1234 +#: build/serializers.py:715 order/serializers.py:319 order/serializers.py:1290 msgid "Accept Incomplete" msgstr "Accepter les incomplèts" -#: build/serializers.py:712 +#: build/serializers.py:716 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:722 templates/js/translated/build.js:319 +#: build/serializers.py:726 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:731 templates/js/translated/build.js:303 +#: build/serializers.py:735 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:769 +#: build/serializers.py:773 msgid "Build Line" msgstr "Chaîne d'assemblage" -#: build/serializers.py:779 +#: build/serializers.py:783 msgid "Build output" msgstr "Sortie d'assemblage" -#: build/serializers.py:787 +#: build/serializers.py:791 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:823 +#: build/serializers.py:827 msgid "Build Line Item" msgstr "Élément de la ligne de construction" -#: build/serializers.py:837 +#: build/serializers.py:841 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:852 stock/serializers.py:1190 +#: build/serializers.py:856 stock/serializers.py:1256 msgid "Item must be in stock" msgstr "L'article doit être en stock" -#: build/serializers.py:900 order/serializers.py:1225 +#: build/serializers.py:904 order/serializers.py:1281 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Quantité disponible ({q}) dépassée" -#: build/serializers.py:906 +#: build/serializers.py:910 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:913 +#: build/serializers.py:917 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:937 order/serializers.py:1477 +#: build/serializers.py:941 order/serializers.py:1533 msgid "Allocation items must be provided" msgstr "Les articles d'allocation doivent être fournis" -#: build/serializers.py:1000 +#: build/serializers.py:1004 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:1008 +#: build/serializers.py:1012 msgid "Exclude Location" msgstr "Emplacements exclus" -#: build/serializers.py:1009 +#: build/serializers.py:1013 msgid "Exclude stock items from this selected location" msgstr "Exclure les articles de stock de cet emplacement sélectionné" -#: build/serializers.py:1014 +#: build/serializers.py:1018 msgid "Interchangeable Stock" msgstr "Stock interchangeable" -#: build/serializers.py:1015 +#: build/serializers.py:1019 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:1020 +#: build/serializers.py:1024 msgid "Substitute Stock" msgstr "Stock de substitution" -#: build/serializers.py:1021 +#: build/serializers.py:1025 msgid "Allow allocation of substitute parts" msgstr "Autoriser l'allocation de pièces de remplacement" -#: build/serializers.py:1026 +#: build/serializers.py:1030 msgid "Optional Items" msgstr "Objets Optionnels" -#: build/serializers.py:1027 +#: build/serializers.py:1031 msgid "Allocate optional BOM items to build order" msgstr "Affecter des éléments de nomenclature facultatifs à l'ordre de fabrication" -#: build/serializers.py:1049 +#: build/serializers.py:1053 msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1139 part/models.py:3953 part/models.py:4387 -#: stock/api.py:804 +#: build/serializers.py:1095 +#, fuzzy +#| msgid "Supplier Part Orders" +msgid "Supplier Part Number" +msgstr "Commandes de pièces du fournisseur" + +#: build/serializers.py:1096 company/models.py:500 +msgid "Manufacturer Part Number" +msgstr "" + +#: build/serializers.py:1097 stock/admin.py:53 stock/admin.py:175 +#: stock/serializers.py:454 +msgid "Location Name" +msgstr "" + +#: build/serializers.py:1098 +#, fuzzy +#| msgid "Build Order Reference" +msgid "Build Reference" +msgstr "Référence de l' Ordre de Fabrication" + +#: build/serializers.py:1099 +#, fuzzy +#| msgid "Reference" +msgid "BOM Reference" +msgstr "Référence" + +#: build/serializers.py:1186 part/admin.py:402 part/models.py:3993 +msgid "Part IPN" +msgstr "" + +#: build/serializers.py:1192 common/models.py:1488 part/admin.py:113 +#: part/models.py:1068 templates/js/translated/table_filters.js:147 +#: templates/js/translated/table_filters.js:223 +#: templates/js/translated/table_filters.js:776 +msgid "Trackable" +msgstr "Traçable" + +#: build/serializers.py:1196 part/models.py:4000 part/models.py:4472 +#: stock/api.py:796 msgid "BOM Item" msgstr "Article du BOM" -#: build/serializers.py:1148 templates/js/translated/index.js:130 +#: build/serializers.py:1205 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "Stock alloué" -#: build/serializers.py:1153 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:828 part/serializers.py:1502 +#: build/serializers.py:1210 part/admin.py:132 part/bom.py:173 +#: part/serializers.py:856 part/serializers.py:1533 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2613 templates/js/translated/part.js:710 -#: templates/js/translated/part.js:2149 +#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709 +#: templates/js/translated/part.js:2152 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "En Commande" -#: build/serializers.py:1158 part/serializers.py:1504 -#: templates/js/translated/build.js:2617 +#: build/serializers.py:1215 part/serializers.py:1535 +#: templates/js/translated/build.js:2618 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "En Production" -#: build/serializers.py:1163 part/bom.py:172 part/serializers.py:1527 +#: build/serializers.py:1220 part/bom.py:172 part/serializers.py:1558 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" msgstr "Stock disponible" +#: build/serializers.py:1224 +#, fuzzy +#| msgid "Substitute Stock" +msgid "Available Substitute Stock" +msgstr "Stock de substitution" + +#: build/serializers.py:1225 +#, fuzzy +#| msgid "Available Stock" +msgid "Available Variant Stock" +msgstr "Stock disponible" + +#: build/serializers.py:1226 +#, fuzzy +#| msgid "Available Stock" +msgid "Total Available Stock" +msgstr "Stock disponible" + +#: build/serializers.py:1227 part/serializers.py:862 +msgid "External Stock" +msgstr "" + #: build/status_codes.py:11 generic/states/tests.py:17 order/status_codes.py:12 #: order/status_codes.py:37 order/status_codes.py:64 order/status_codes.py:82 #: templates/js/translated/table_filters.js:598 @@ -1519,7 +1597,8 @@ msgstr "Fabrication" msgid "Cancelled" msgstr "Annulé" -#: build/status_codes.py:14 generic/states/tests.py:19 order/status_codes.py:14 +#: build/status_codes.py:14 generic/states/tests.py:19 importer/models.py:468 +#: importer/status_codes.py:19 order/status_codes.py:14 #: order/status_codes.py:44 order/status_codes.py:69 #: order/templates/order/order_base.html:158 #: order/templates/order/sales_order_base.html:165 report/models.py:444 @@ -1652,11 +1731,12 @@ 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:309 -#: order/models.py:1307 order/templates/order/order_base.html:186 +#: order/models.py:1307 order/serializers.py:174 +#: order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: 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:1831 +#: templates/js/translated/build.js:2239 templates/js/translated/part.js:1834 #: templates/js/translated/purchase_order.js:1739 #: templates/js/translated/purchase_order.js:2147 #: templates/js/translated/return_order.js:346 @@ -1689,8 +1769,8 @@ 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:1463 order/models.py:845 -#: order/models.py:1551 order/models.py:1665 order/models.py:1819 +#: build/templates/build/detail.html:101 order/api.py:1384 order/models.py:845 +#: order/models.py:1566 order/models.py:1681 order/models.py:1840 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 @@ -1740,7 +1820,7 @@ msgstr "Stock d'origine" msgid "Stock can be taken from any available location." msgstr "Le stock peut être pris à partir de n'importe quel endroit disponible." -#: build/templates/build/detail.html:49 order/models.py:1443 +#: build/templates/build/detail.html:49 order/models.py:1448 #: templates/js/translated/purchase_order.js:2189 msgid "Destination" msgstr "Destination" @@ -1892,31 +1972,31 @@ msgstr "Détails de la commande de construction" msgid "Incomplete Outputs" msgstr "Sorties incomplètes" -#: common/api.py:689 +#: common/api.py:690 msgid "Is Link" msgstr "" -#: common/api.py:697 +#: common/api.py:698 msgid "Is File" msgstr "" -#: common/api.py:739 +#: common/api.py:740 msgid "User does not have permission to delete this attachment" msgstr "L'utilisateur n'a pas les permissions de supprimer cette pièce jointe" -#: common/currency.py:130 +#: common/currency.py:132 msgid "Invalid currency code" msgstr "Code de devise invalide" -#: common/currency.py:132 +#: common/currency.py:134 msgid "Duplicate currency code" msgstr "Code de devise en double" -#: common/currency.py:137 +#: common/currency.py:139 msgid "No valid currency codes provided" msgstr "Aucun code de devise valide fourni" -#: common/currency.py:154 +#: common/currency.py:156 msgid "No plugin" msgstr "Pas de plugin" @@ -1970,1635 +2050,1608 @@ msgstr "Date de la dernière mise à jour" msgid "Site URL is locked by configuration" msgstr "L'URL du site est verrouillée par configuration" -#: common/models.py:132 +#: common/models.py:137 msgid "Unique project code" msgstr "Code projet unique" -#: common/models.py:139 +#: common/models.py:144 msgid "Project description" msgstr "Description du projet" -#: common/models.py:148 +#: common/models.py:153 msgid "User or group responsible for this project" msgstr "Utilisateur ou groupe responsable de ce projet" -#: common/models.py:765 +#: common/models.py:770 msgid "Settings key (must be unique - case insensitive)" msgstr "Clé du paramètre (doit être unique - insensible à la casse)" -#: common/models.py:769 +#: common/models.py:774 msgid "Settings value" msgstr "Valeur du paramètre" -#: common/models.py:821 +#: common/models.py:826 msgid "Chosen value is not a valid option" msgstr "La valeur choisie n'est pas une option valide" -#: common/models.py:837 +#: common/models.py:842 msgid "Value must be a boolean value" msgstr "La valeur doit être une valeur booléenne" -#: common/models.py:845 +#: common/models.py:850 msgid "Value must be an integer value" msgstr "La valeur doit être un nombre entier" -#: common/models.py:882 +#: common/models.py:887 msgid "Key string must be unique" msgstr "La chaîne de caractères constituant la clé doit être unique" -#: common/models.py:1114 +#: common/models.py:1119 msgid "No group" msgstr "Pas de groupe" -#: common/models.py:1213 +#: common/models.py:1218 msgid "Restart required" msgstr "Redémarrage nécessaire" -#: common/models.py:1215 +#: common/models.py:1220 msgid "A setting has been changed which requires a server restart" msgstr "Un paramètre a été modifié, ce qui nécessite un redémarrage du serveur" -#: common/models.py:1222 +#: common/models.py:1227 msgid "Pending migrations" msgstr "Migration en attente" -#: common/models.py:1223 +#: common/models.py:1228 msgid "Number of pending database migrations" msgstr "Nombre de migrations de base de données en attente" -#: common/models.py:1228 +#: common/models.py:1233 msgid "Server Instance Name" msgstr "Nom de l'instance du serveur" -#: common/models.py:1230 +#: common/models.py:1235 msgid "String descriptor for the server instance" msgstr "Chaîne de caractères descriptive pour l'instance serveur" -#: common/models.py:1234 +#: common/models.py:1239 msgid "Use instance name" msgstr "Utiliser le nom de l'instance" -#: common/models.py:1235 +#: common/models.py:1240 msgid "Use the instance name in the title-bar" msgstr "Utiliser le nom de l’instance dans la barre de titre" -#: common/models.py:1240 +#: common/models.py:1245 msgid "Restrict showing `about`" msgstr "Limiter l'affichage de `about`" -#: common/models.py:1241 +#: common/models.py:1246 msgid "Show the `about` modal only to superusers" msgstr "Afficher la modale `about` uniquement aux super-utilisateurs" -#: common/models.py:1246 company/models.py:111 company/models.py:112 +#: common/models.py:1251 company/models.py:111 company/models.py:112 msgid "Company name" msgstr "Nom de la société" -#: common/models.py:1247 +#: common/models.py:1252 msgid "Internal company name" msgstr "Nom de société interne" -#: common/models.py:1251 +#: common/models.py:1256 msgid "Base URL" msgstr "URL de base" -#: common/models.py:1252 +#: common/models.py:1257 msgid "Base URL for server instance" msgstr "URL de base pour l'instance serveur" -#: common/models.py:1258 +#: common/models.py:1263 msgid "Default Currency" msgstr "Devise par défaut" -#: common/models.py:1259 +#: common/models.py:1264 msgid "Select base currency for pricing calculations" msgstr "Sélectionnez la devise de base pour les calculs de prix" -#: common/models.py:1265 +#: common/models.py:1270 msgid "Supported Currencies" msgstr "Devises supportées" -#: common/models.py:1266 +#: common/models.py:1271 msgid "List of supported currency codes" msgstr "Liste des codes de devises supportés" -#: common/models.py:1272 +#: common/models.py:1277 msgid "Currency Update Interval" msgstr "Intervalle de mise à jour des devises" -#: common/models.py:1274 +#: common/models.py:1279 msgid "How often to update exchange rates (set to zero to disable)" msgstr "Fréquence de mise à jour des taux de change (définir à zéro pour désactiver)" -#: common/models.py:1277 common/models.py:1333 common/models.py:1346 -#: common/models.py:1354 common/models.py:1363 common/models.py:1372 -#: common/models.py:1596 common/models.py:1618 common/models.py:1733 -#: common/models.py:2100 +#: common/models.py:1282 common/models.py:1338 common/models.py:1351 +#: common/models.py:1359 common/models.py:1368 common/models.py:1377 +#: common/models.py:1601 common/models.py:1623 common/models.py:1738 +#: common/models.py:2111 msgid "days" msgstr "jours" -#: common/models.py:1281 +#: common/models.py:1286 msgid "Currency Update Plugin" msgstr "Plugin de mise à jour de devise" -#: common/models.py:1282 +#: common/models.py:1287 msgid "Currency update plugin to use" msgstr "Plugin de mise à jour des devises à utiliser" -#: common/models.py:1287 +#: common/models.py:1292 msgid "Download from URL" msgstr "Télécharger depuis l'URL" -#: common/models.py:1289 +#: common/models.py:1294 msgid "Allow download of remote images and files from external URL" msgstr "Autoriser le téléchargement d'images distantes et de fichiers à partir d'URLs externes" -#: common/models.py:1295 +#: common/models.py:1300 msgid "Download Size Limit" msgstr "Limite du volume de téléchargement" -#: common/models.py:1296 +#: common/models.py:1301 msgid "Maximum allowable download size for remote image" msgstr "Taille maximale autorisée pour le téléchargement de l'image distante" -#: common/models.py:1302 +#: common/models.py:1307 msgid "User-agent used to download from URL" msgstr "Agent utilisateur utilisé pour télécharger depuis l'URL" -#: common/models.py:1304 +#: common/models.py:1309 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "Permettre de remplacer l'agent utilisateur utilisé pour télécharger des images et des fichiers à partir d'URL externe (laisser vide pour la valeur par défaut)" -#: common/models.py:1309 +#: common/models.py:1314 msgid "Strict URL Validation" msgstr "Validation stricte d'URL" -#: common/models.py:1310 +#: common/models.py:1315 msgid "Require schema specification when validating URLs" msgstr "Spécification du schéma nécessaire lors de la validation des URL" -#: common/models.py:1315 +#: common/models.py:1320 msgid "Require confirm" msgstr "Confirmation requise" -#: common/models.py:1316 +#: common/models.py:1321 msgid "Require explicit user confirmation for certain action." msgstr "Exiger une confirmation explicite de l’utilisateur pour certaines actions." -#: common/models.py:1321 +#: common/models.py:1326 msgid "Tree Depth" msgstr "Profondeur de l'arborescence" -#: common/models.py:1323 +#: common/models.py:1328 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "Profondeur de l'arborescence par défaut. Les niveaux plus profonds peuvent être chargés au fur et à mesure qu'ils sont nécessaires." -#: common/models.py:1329 +#: common/models.py:1334 msgid "Update Check Interval" msgstr "Intervalle de vérification des mises à jour" -#: common/models.py:1330 +#: common/models.py:1335 msgid "How often to check for updates (set to zero to disable)" msgstr "À quelle fréquence vérifier les mises à jour (définir à zéro pour désactiver)" -#: common/models.py:1336 +#: common/models.py:1341 msgid "Automatic Backup" msgstr "Backup automatique" -#: common/models.py:1337 +#: common/models.py:1342 msgid "Enable automatic backup of database and media files" msgstr "Activer le backup automatique de la base de données et des fichiers médias" -#: common/models.py:1342 +#: common/models.py:1347 msgid "Auto Backup Interval" msgstr "Intervalle de sauvegarde automatique" -#: common/models.py:1343 +#: common/models.py:1348 msgid "Specify number of days between automated backup events" msgstr "Spécifiez le nombre de jours entre les sauvegardes automatique" -#: common/models.py:1349 +#: common/models.py:1354 msgid "Task Deletion Interval" msgstr "Intervalle de suppression des tâches" -#: common/models.py:1351 +#: common/models.py:1356 msgid "Background task results will be deleted after specified number of days" msgstr "Les résultats de la tâche en arrière-plan seront supprimés après le nombre de jours spécifié" -#: common/models.py:1358 +#: common/models.py:1363 msgid "Error Log Deletion Interval" msgstr "Intervalle de suppression du journal d'erreur" -#: common/models.py:1360 +#: common/models.py:1365 msgid "Error logs will be deleted after specified number of days" msgstr "Les logs d'erreur seront supprimés après le nombre de jours spécifié" -#: common/models.py:1367 +#: common/models.py:1372 msgid "Notification Deletion Interval" msgstr "Intervalle de suppression du journal de notification" -#: common/models.py:1369 +#: common/models.py:1374 msgid "User notifications will be deleted after specified number of days" msgstr "Les notifications de l'utilisateur seront supprimées après le nombre de jours spécifié" -#: common/models.py:1376 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1381 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "Support des code-barres" -#: common/models.py:1377 +#: common/models.py:1382 msgid "Enable barcode scanner support in the web interface" msgstr "Activer le support du scanner de codes-barres dans l'interface web" -#: common/models.py:1382 +#: common/models.py:1387 msgid "Barcode Input Delay" msgstr "Délai d'entrée du code-barres" -#: common/models.py:1383 +#: common/models.py:1388 msgid "Barcode input processing delay time" msgstr "Délai de traitement du code-barres" -#: common/models.py:1389 +#: common/models.py:1394 msgid "Barcode Webcam Support" msgstr "Prise en charge de la webcam code-barres" -#: common/models.py:1390 +#: common/models.py:1395 msgid "Allow barcode scanning via webcam in browser" msgstr "Autoriser la numérisation de codes-barres via la webcam dans le navigateur" -#: common/models.py:1395 +#: common/models.py:1400 msgid "Barcode Show Data" msgstr "" -#: common/models.py:1396 +#: common/models.py:1401 msgid "Display barcode data in browser as text" msgstr "" -#: common/models.py:1401 +#: common/models.py:1406 msgid "Part Revisions" msgstr "Modifications de la pièce" -#: common/models.py:1402 +#: common/models.py:1407 msgid "Enable revision field for Part" msgstr "Activer le champ de modification de la pièce" -#: common/models.py:1407 +#: common/models.py:1412 msgid "Allow Deletion from Assembly" msgstr "" -#: common/models.py:1408 +#: common/models.py:1413 msgid "Allow deletion of parts which are used in an assembly" msgstr "Permettre la suppression de pièces utilisées dans un assemblage" -#: common/models.py:1413 +#: common/models.py:1418 msgid "IPN Regex" msgstr "Regex IPN" -#: common/models.py:1414 +#: common/models.py:1419 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:1417 +#: common/models.py:1422 msgid "Allow Duplicate IPN" msgstr "Autoriser les IPN dupliqués" -#: common/models.py:1418 +#: common/models.py:1423 msgid "Allow multiple parts to share the same IPN" msgstr "Permettre à plusieurs pièces de partager le même IPN" -#: common/models.py:1423 +#: common/models.py:1428 msgid "Allow Editing IPN" msgstr "Autoriser l'édition de l'IPN" -#: common/models.py:1424 +#: common/models.py:1429 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:1429 +#: common/models.py:1434 msgid "Copy Part BOM Data" msgstr "Copier les données de la pièce" -#: common/models.py:1430 +#: common/models.py:1435 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:1435 +#: common/models.py:1440 msgid "Copy Part Parameter Data" msgstr "Copier les données des paramètres de la pièce" -#: common/models.py:1436 +#: common/models.py:1441 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:1441 +#: common/models.py:1446 msgid "Copy Part Test Data" msgstr "Copier les données de test de la pièce" -#: common/models.py:1442 +#: common/models.py:1447 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:1447 +#: common/models.py:1452 msgid "Copy Category Parameter Templates" msgstr "Copier les templates de paramètres de catégorie" -#: common/models.py:1448 +#: common/models.py:1453 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:1453 part/admin.py:108 part/models.py:3795 +#: common/models.py:1458 part/admin.py:108 part/models.py:3835 #: report/models.py:294 report/models.py:361 report/serializers.py:90 -#: report/serializers.py:131 stock/serializers.py:227 +#: report/serializers.py:131 stock/serializers.py:232 #: templates/js/translated/table_filters.js:139 -#: templates/js/translated/table_filters.js:767 +#: templates/js/translated/table_filters.js:772 msgid "Template" msgstr "Modèle" -#: common/models.py:1454 +#: common/models.py:1459 msgid "Parts are templates by default" msgstr "Les pièces sont des templates par défaut" -#: common/models.py:1459 part/admin.py:91 part/admin.py:425 part/models.py:1052 +#: common/models.py:1464 part/admin.py:91 part/admin.py:425 part/models.py:1056 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 -#: templates/js/translated/table_filters.js:721 +#: templates/js/translated/table_filters.js:726 msgid "Assembly" msgstr "Assemblage" -#: common/models.py:1460 +#: common/models.py:1465 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:1465 part/admin.py:95 part/models.py:1058 -#: templates/js/translated/table_filters.js:729 +#: common/models.py:1470 part/admin.py:95 part/models.py:1062 +#: templates/js/translated/table_filters.js:734 msgid "Component" msgstr "Composant" -#: common/models.py:1466 +#: common/models.py:1471 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:1471 part/admin.py:100 part/models.py:1070 +#: common/models.py:1476 part/admin.py:100 part/models.py:1074 msgid "Purchaseable" msgstr "Achetable" -#: common/models.py:1472 +#: common/models.py:1477 msgid "Parts are purchaseable by default" msgstr "Les pièces sont achetables par défaut" -#: common/models.py:1477 part/admin.py:104 part/models.py:1076 -#: templates/js/translated/table_filters.js:755 +#: common/models.py:1482 part/admin.py:104 part/models.py:1080 +#: templates/js/translated/table_filters.js:760 msgid "Salable" msgstr "Vendable" -#: common/models.py:1478 +#: common/models.py:1483 msgid "Parts are salable by default" msgstr "Les pièces sont vendables par défaut" -#: common/models.py:1483 part/admin.py:113 part/models.py:1064 -#: 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:1484 +#: common/models.py:1489 msgid "Parts are trackable by default" msgstr "Les pièces sont traçables par défaut" -#: common/models.py:1489 part/admin.py:117 part/models.py:1086 +#: common/models.py:1494 part/admin.py:117 part/models.py:1096 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 -#: templates/js/translated/table_filters.js:775 +#: templates/js/translated/table_filters.js:780 msgid "Virtual" msgstr "Virtuelle" -#: common/models.py:1490 +#: common/models.py:1495 msgid "Parts are virtual by default" msgstr "Les pièces sont virtuelles par défaut" -#: common/models.py:1495 +#: common/models.py:1500 msgid "Show Import in Views" msgstr "Afficher l'import dans les vues" -#: common/models.py:1496 +#: common/models.py:1501 msgid "Display the import wizard in some part views" msgstr "Afficher l'assistant d'importation pour certaine vues de produits" -#: common/models.py:1501 +#: common/models.py:1506 msgid "Show related parts" msgstr "Afficher les pièces connexes" -#: common/models.py:1502 +#: common/models.py:1507 msgid "Display related parts for a part" msgstr "Afficher les pièces connexes à une pièce" -#: common/models.py:1507 +#: common/models.py:1512 msgid "Initial Stock Data" msgstr "Stock initial" -#: common/models.py:1508 +#: common/models.py:1513 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:1513 templates/js/translated/part.js:107 +#: common/models.py:1518 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "Données initiales du fournisseur" -#: common/models.py:1515 +#: common/models.py:1520 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:1521 +#: common/models.py:1526 msgid "Part Name Display Format" msgstr "Format d'affichage du nom de la pièce" -#: common/models.py:1522 +#: common/models.py:1527 msgid "Format to display the part name" msgstr "Format pour afficher le nom de la pièce" -#: common/models.py:1528 +#: common/models.py:1533 msgid "Part Category Default Icon" msgstr "Icône de catégorie par défaut" -#: common/models.py:1529 +#: common/models.py:1534 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:1533 +#: common/models.py:1538 msgid "Enforce Parameter Units" msgstr "Renforcer les unités des paramètres" -#: common/models.py:1535 +#: common/models.py:1540 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:1541 +#: common/models.py:1546 msgid "Minimum Pricing Decimal Places" msgstr "Nombre minimal de décimales" -#: common/models.py:1543 +#: common/models.py:1548 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:1554 +#: common/models.py:1559 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1556 +#: common/models.py:1561 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1567 +#: common/models.py:1572 msgid "Use Supplier Pricing" msgstr "Utiliser le prix fournisseur" -#: common/models.py:1569 +#: common/models.py:1574 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:1575 +#: common/models.py:1580 msgid "Purchase History Override" msgstr "Remplacer l'historique des achats" -#: common/models.py:1577 +#: common/models.py:1582 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:1583 +#: common/models.py:1588 msgid "Use Stock Item Pricing" msgstr "Utiliser les prix des articles en stock" -#: common/models.py:1585 +#: common/models.py:1590 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:1591 +#: common/models.py:1596 msgid "Stock Item Pricing Age" msgstr "Âge de tarification des articles de stock" -#: common/models.py:1593 +#: common/models.py:1598 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:1600 +#: common/models.py:1605 msgid "Use Variant Pricing" msgstr "Utiliser les prix variants" -#: common/models.py:1601 +#: common/models.py:1606 msgid "Include variant pricing in overall pricing calculations" msgstr "Inclure la tarification variante dans le calcul global des prix" -#: common/models.py:1606 +#: common/models.py:1611 msgid "Active Variants Only" msgstr "Variantes actives uniquement" -#: common/models.py:1608 +#: common/models.py:1613 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:1614 +#: common/models.py:1619 msgid "Pricing Rebuild Interval" msgstr "Intervalle de regénération des prix" -#: common/models.py:1616 +#: common/models.py:1621 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:1623 +#: common/models.py:1628 msgid "Internal Prices" msgstr "Prix internes" -#: common/models.py:1624 +#: common/models.py:1629 msgid "Enable internal prices for parts" msgstr "Activer les prix internes pour les pièces" -#: common/models.py:1629 +#: common/models.py:1634 msgid "Internal Price Override" msgstr "Substitution du prix interne" -#: common/models.py:1631 +#: common/models.py:1636 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:1637 +#: common/models.py:1642 msgid "Enable label printing" msgstr "Activer l'impression d'étiquettes" -#: common/models.py:1638 +#: common/models.py:1643 msgid "Enable label printing from the web interface" msgstr "Activer l'impression d'étiquettes depuis l'interface Web" -#: common/models.py:1643 +#: common/models.py:1648 msgid "Label Image DPI" msgstr "Étiquette image DPI" -#: common/models.py:1645 +#: common/models.py:1650 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:1651 +#: common/models.py:1656 msgid "Enable Reports" msgstr "Activer les rapports" -#: common/models.py:1652 +#: common/models.py:1657 msgid "Enable generation of reports" msgstr "Activer la génération de rapports" -#: common/models.py:1657 templates/stats.html:25 +#: common/models.py:1662 templates/stats.html:25 msgid "Debug Mode" msgstr "Mode Débogage" -#: common/models.py:1658 +#: common/models.py:1663 msgid "Generate reports in debug mode (HTML output)" msgstr "Générer des rapports en mode debug (sortie HTML)" -#: common/models.py:1663 +#: common/models.py:1668 msgid "Log Report Errors" msgstr "Journal des erreurs" -#: common/models.py:1664 +#: common/models.py:1669 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1669 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1674 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:302 msgid "Page Size" msgstr "Taille de la page" -#: common/models.py:1670 +#: common/models.py:1675 msgid "Default page size for PDF reports" msgstr "Taille de page par défaut pour les rapports PDF" -#: common/models.py:1675 +#: common/models.py:1680 msgid "Enable Test Reports" msgstr "Activer les rapports de test" -#: common/models.py:1676 +#: common/models.py:1681 msgid "Enable generation of test reports" msgstr "Activer la génération de rapports de test" -#: common/models.py:1681 +#: common/models.py:1686 msgid "Attach Test Reports" msgstr "Joindre des rapports de test" -#: common/models.py:1683 +#: common/models.py:1688 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:1689 +#: common/models.py:1694 msgid "Globally Unique Serials" msgstr "Numéro de Série Universellement Unique" -#: common/models.py:1690 +#: common/models.py:1695 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:1695 +#: common/models.py:1700 msgid "Autofill Serial Numbers" msgstr "Remplir automatiquement les Numéros de Série" -#: common/models.py:1696 +#: common/models.py:1701 msgid "Autofill serial numbers in forms" msgstr "Remplir automatiquement les numéros de série dans les formulaires" -#: common/models.py:1701 +#: common/models.py:1706 msgid "Delete Depleted Stock" msgstr "Supprimer le stock épuisé" -#: common/models.py:1703 +#: common/models.py:1708 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1709 +#: common/models.py:1714 msgid "Batch Code Template" msgstr "Modèle de code de lot" -#: common/models.py:1711 +#: common/models.py:1716 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:1716 +#: common/models.py:1721 msgid "Stock Expiry" msgstr "Expiration du stock" -#: common/models.py:1717 +#: common/models.py:1722 msgid "Enable stock expiry functionality" msgstr "Activer la fonctionnalité d'expiration du stock" -#: common/models.py:1722 +#: common/models.py:1727 msgid "Sell Expired Stock" msgstr "Vendre le stock expiré" -#: common/models.py:1723 +#: common/models.py:1728 msgid "Allow sale of expired stock" msgstr "Autoriser la vente de stock expiré" -#: common/models.py:1728 +#: common/models.py:1733 msgid "Stock Stale Time" msgstr "Délai de péremption du stock" -#: common/models.py:1730 +#: common/models.py:1735 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:1737 +#: common/models.py:1742 msgid "Build Expired Stock" msgstr "Construction de stock expirée" -#: common/models.py:1738 +#: common/models.py:1743 msgid "Allow building with expired stock" msgstr "Autoriser la construction avec un stock expiré" -#: common/models.py:1743 +#: common/models.py:1748 msgid "Stock Ownership Control" msgstr "Contrôle de la propriété des stocks" -#: common/models.py:1744 +#: common/models.py:1749 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:1749 +#: common/models.py:1754 msgid "Stock Location Default Icon" msgstr "Icône par défaut de l'emplacement du stock" -#: common/models.py:1750 +#: common/models.py:1755 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:1754 +#: common/models.py:1759 msgid "Show Installed Stock Items" msgstr "Afficher les pièces en stock installées" -#: common/models.py:1755 +#: common/models.py:1760 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1760 +#: common/models.py:1765 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1762 +#: common/models.py:1767 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1768 +#: common/models.py:1773 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1770 +#: common/models.py:1775 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1776 +#: common/models.py:1781 msgid "Build Order Reference Pattern" msgstr "Modèle de référence de commande de construction" -#: common/models.py:1778 +#: common/models.py:1783 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:1784 common/models.py:1826 common/models.py:1848 -#: common/models.py:1884 +#: common/models.py:1789 common/models.py:1837 common/models.py:1859 +#: common/models.py:1895 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1785 common/models.py:1827 common/models.py:1849 -#: common/models.py:1885 +#: common/models.py:1790 common/models.py:1838 common/models.py:1860 +#: common/models.py:1896 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1790 +#: common/models.py:1795 msgid "Require Active Part" msgstr "" -#: common/models.py:1791 +#: common/models.py:1796 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/models.py:1796 +#: common/models.py:1801 +#, fuzzy +#| msgid "Required For" +msgid "Require Locked Part" +msgstr "Requis pour" + +#: common/models.py:1802 +#, fuzzy +#| msgid "Print build order report" +msgid "Prevent build order creation for unlocked parts" +msgstr "Imprimer le rapport d'ordre de construction" + +#: common/models.py:1807 msgid "Require Valid BOM" msgstr "" -#: common/models.py:1798 +#: common/models.py:1809 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/models.py:1804 +#: common/models.py:1815 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1806 +#: common/models.py:1817 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1812 +#: common/models.py:1823 msgid "Enable Return Orders" msgstr "Activer les retours de commandes" -#: common/models.py:1813 +#: common/models.py:1824 msgid "Enable return order functionality in the user interface" msgstr "Activer la fonctionnalité de retour de commande dans l'interface utilisateur" -#: common/models.py:1818 +#: common/models.py:1829 msgid "Return Order Reference Pattern" msgstr "Modèle de référence de retour de commande" -#: common/models.py:1820 +#: common/models.py:1831 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1832 +#: common/models.py:1843 msgid "Edit Completed Return Orders" msgstr "Modifier les retours de commandes terminées" -#: common/models.py:1834 +#: common/models.py:1845 msgid "Allow editing of return orders after they have been completed" msgstr "Autoriser la modification des retours après leur enregistrement" -#: common/models.py:1840 +#: common/models.py:1851 msgid "Sales Order Reference Pattern" msgstr "Modèle de référence de bon de commande" -#: common/models.py:1842 +#: common/models.py:1853 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:1854 +#: common/models.py:1865 msgid "Sales Order Default Shipment" msgstr "Expédition par défaut du bon de commande" -#: common/models.py:1855 +#: common/models.py:1866 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:1860 +#: common/models.py:1871 msgid "Edit Completed Sales Orders" msgstr "Modifier les commandes de vente terminées" -#: common/models.py:1862 +#: common/models.py:1873 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:1868 +#: common/models.py:1879 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1870 +#: common/models.py:1881 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1876 +#: common/models.py:1887 msgid "Purchase Order Reference Pattern" msgstr "Modèle de référence de commande d'achat" -#: common/models.py:1878 +#: common/models.py:1889 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:1890 +#: common/models.py:1901 msgid "Edit Completed Purchase Orders" msgstr "Modifier les bons de commande terminés" -#: common/models.py:1892 +#: common/models.py:1903 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:1898 +#: common/models.py:1909 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1900 +#: common/models.py:1911 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1907 +#: common/models.py:1918 msgid "Enable password forgot" msgstr "Activer les mots de passe oubliés" -#: common/models.py:1908 +#: common/models.py:1919 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:1913 +#: common/models.py:1924 msgid "Enable registration" msgstr "Activer les inscriptions" -#: common/models.py:1914 +#: common/models.py:1925 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:1919 +#: common/models.py:1930 msgid "Enable SSO" msgstr "Activer le SSO" -#: common/models.py:1920 +#: common/models.py:1931 msgid "Enable SSO on the login pages" msgstr "Activer le SSO sur les pages de connexion" -#: common/models.py:1925 +#: common/models.py:1936 msgid "Enable SSO registration" msgstr "Activer l'inscription SSO" -#: common/models.py:1927 +#: common/models.py:1938 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:1933 +#: common/models.py:1944 msgid "Enable SSO group sync" msgstr "" -#: common/models.py:1935 +#: common/models.py:1946 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/models.py:1941 +#: common/models.py:1952 msgid "SSO group key" msgstr "" -#: common/models.py:1943 +#: common/models.py:1954 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/models.py:1949 +#: common/models.py:1960 msgid "SSO group map" msgstr "" -#: common/models.py:1951 +#: common/models.py:1962 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/models.py:1957 +#: common/models.py:1968 msgid "Remove groups outside of SSO" msgstr "" -#: common/models.py:1959 +#: common/models.py:1970 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/models.py:1965 +#: common/models.py:1976 msgid "Email required" msgstr "Email requis" -#: common/models.py:1966 +#: common/models.py:1977 msgid "Require user to supply mail on signup" msgstr "Exiger que l'utilisateur fournisse un mail lors de l'inscription" -#: common/models.py:1971 +#: common/models.py:1982 msgid "Auto-fill SSO users" msgstr "Saisie automatique des utilisateurs SSO" -#: common/models.py:1973 +#: common/models.py:1984 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:1979 +#: common/models.py:1990 msgid "Mail twice" msgstr "Courriel en double" -#: common/models.py:1980 +#: common/models.py:1991 msgid "On signup ask users twice for their mail" msgstr "Lors de l'inscription, demandez deux fois aux utilisateurs leur mail" -#: common/models.py:1985 +#: common/models.py:1996 msgid "Password twice" msgstr "Mot de passe deux fois" -#: common/models.py:1986 +#: common/models.py:1997 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:1991 +#: common/models.py:2002 msgid "Allowed domains" msgstr "Domaines autorisés" -#: common/models.py:1993 +#: common/models.py:2004 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1999 +#: common/models.py:2010 msgid "Group on signup" msgstr "Grouper sur inscription" -#: common/models.py:2001 +#: common/models.py:2012 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/models.py:2007 +#: common/models.py:2018 msgid "Enforce MFA" msgstr "Forcer l'authentification multifacteurs" -#: common/models.py:2008 +#: common/models.py:2019 msgid "Users must use multifactor security." msgstr "Les utilisateurs doivent utiliser l'authentification multifacteurs." -#: common/models.py:2013 +#: common/models.py:2024 msgid "Check plugins on startup" msgstr "Vérifier les plugins au démarrage" -#: common/models.py:2015 +#: common/models.py:2026 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:2023 +#: common/models.py:2034 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2024 +#: common/models.py:2035 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2030 +#: common/models.py:2041 msgid "Enable URL integration" msgstr "Activer l'intégration d'URL" -#: common/models.py:2031 +#: common/models.py:2042 msgid "Enable plugins to add URL routes" msgstr "Autoriser les plugins à ajouter des chemins URL" -#: common/models.py:2037 +#: common/models.py:2048 msgid "Enable navigation integration" msgstr "Activer l'intégration de navigation" -#: common/models.py:2038 +#: common/models.py:2049 msgid "Enable plugins to integrate into navigation" msgstr "Activer les plugins à s'intégrer dans la navigation" -#: common/models.py:2044 +#: common/models.py:2055 msgid "Enable app integration" msgstr "Activer l'intégration de plugins" -#: common/models.py:2045 +#: common/models.py:2056 msgid "Enable plugins to add apps" msgstr "Activer l'intégration de plugin pour ajouter des apps" -#: common/models.py:2051 +#: common/models.py:2062 msgid "Enable schedule integration" msgstr "Activer l'intégration du planning" -#: common/models.py:2052 +#: common/models.py:2063 msgid "Enable plugins to run scheduled tasks" msgstr "Autoriser les plugins à éxécuter des tâches planifiées" -#: common/models.py:2058 +#: common/models.py:2069 msgid "Enable event integration" msgstr "Activer l'intégration des évènements" -#: common/models.py:2059 +#: common/models.py:2070 msgid "Enable plugins to respond to internal events" msgstr "Autoriser les plugins à répondre aux évènements internes" -#: common/models.py:2065 +#: common/models.py:2076 msgid "Enable project codes" msgstr "Activer les codes projet" -#: common/models.py:2066 +#: common/models.py:2077 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2071 +#: common/models.py:2082 msgid "Stocktake Functionality" msgstr "Fonctionnalité d'inventaire" -#: common/models.py:2073 +#: common/models.py:2084 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:2079 +#: common/models.py:2090 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2081 +#: common/models.py:2092 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2087 +#: common/models.py:2098 msgid "Automatic Stocktake Period" msgstr "Période de l'inventaire automatique" -#: common/models.py:2089 +#: common/models.py:2100 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:2095 +#: common/models.py:2106 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2097 +#: common/models.py:2108 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:2104 +#: common/models.py:2115 msgid "Display Users full names" msgstr "" -#: common/models.py:2105 +#: common/models.py:2116 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2110 +#: common/models.py:2121 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2111 +#: common/models.py:2122 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2123 common/models.py:2533 +#: common/models.py:2134 common/models.py:2514 msgid "Settings key (must be unique - case insensitive" msgstr "Clé du paramètre (doit être unique - insensible à la casse)" -#: common/models.py:2166 +#: common/models.py:2177 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2168 +#: common/models.py:2179 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2174 +#: common/models.py:2185 msgid "Show subscribed parts" msgstr "Afficher les composants suivis" -#: common/models.py:2175 +#: common/models.py:2186 msgid "Show subscribed parts on the homepage" msgstr "Afficher les composants suivis sur l'écran d'accueil" -#: common/models.py:2180 +#: common/models.py:2191 msgid "Show subscribed categories" msgstr "Afficher les catégories suivies" -#: common/models.py:2181 +#: common/models.py:2192 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:2186 +#: common/models.py:2197 msgid "Show latest parts" msgstr "Afficher les dernières pièces" -#: common/models.py:2187 +#: common/models.py:2198 msgid "Show latest parts on the homepage" msgstr "Afficher les derniers composants sur la page d'accueil" -#: common/models.py:2192 +#: common/models.py:2203 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2193 +#: common/models.py:2204 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:2198 +#: common/models.py:2209 msgid "Show recent stock changes" msgstr "Afficher les dernières modifications du stock" -#: common/models.py:2199 +#: common/models.py:2210 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:2204 +#: common/models.py:2215 msgid "Show low stock" msgstr "Afficher le stock faible" -#: common/models.py:2205 +#: common/models.py:2216 msgid "Show low stock items on the homepage" msgstr "Afficher les articles en stock bas sur la page d'accueil" -#: common/models.py:2210 +#: common/models.py:2221 msgid "Show depleted stock" msgstr "Afficher le stock épuisé" -#: common/models.py:2211 +#: common/models.py:2222 msgid "Show depleted stock items on the homepage" msgstr "Afficher les stocks épuisés sur la page d'accueil" -#: common/models.py:2216 +#: common/models.py:2227 msgid "Show needed stock" msgstr "Afficher le stock nécessaire" -#: common/models.py:2217 +#: common/models.py:2228 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:2222 +#: common/models.py:2233 msgid "Show expired stock" msgstr "Afficher le stock expiré" -#: common/models.py:2223 +#: common/models.py:2234 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:2228 +#: common/models.py:2239 msgid "Show stale stock" msgstr "Afficher le stock périmé" -#: common/models.py:2229 +#: common/models.py:2240 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:2234 +#: common/models.py:2245 msgid "Show pending builds" msgstr "Afficher les constructions en attente" -#: common/models.py:2235 +#: common/models.py:2246 msgid "Show pending builds on the homepage" msgstr "Afficher les constructions en attente sur la page d'accueil" -#: common/models.py:2240 +#: common/models.py:2251 msgid "Show overdue builds" msgstr "Afficher les constructions en retard" -#: common/models.py:2241 +#: common/models.py:2252 msgid "Show overdue builds on the homepage" msgstr "Afficher les constructions en retard sur la page d'accueil" -#: common/models.py:2246 +#: common/models.py:2257 msgid "Show outstanding POs" msgstr "Afficher les commandes en suspens" -#: common/models.py:2247 +#: common/models.py:2258 msgid "Show outstanding POs on the homepage" msgstr "Afficher les commandes en suspens sur la page d'accueil" -#: common/models.py:2252 +#: common/models.py:2263 msgid "Show overdue POs" msgstr "Afficher les commandes en retard" -#: common/models.py:2253 +#: common/models.py:2264 msgid "Show overdue POs on the homepage" msgstr "Afficher les commandes en retard sur la page d'accueil" -#: common/models.py:2258 +#: common/models.py:2269 msgid "Show outstanding SOs" msgstr "Afficher les envois en suspens" -#: common/models.py:2259 +#: common/models.py:2270 msgid "Show outstanding SOs on the homepage" msgstr "Afficher les envois en suspens sur la page d'accueil" -#: common/models.py:2264 +#: common/models.py:2275 msgid "Show overdue SOs" msgstr "Afficher les envois en retard" -#: common/models.py:2265 +#: common/models.py:2276 msgid "Show overdue SOs on the homepage" msgstr "Afficher les envois en retard sur la page d'accueil" -#: common/models.py:2270 +#: common/models.py:2281 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2271 +#: common/models.py:2282 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2276 +#: common/models.py:2287 msgid "Show News" msgstr "Afficher les nouvelles" -#: common/models.py:2277 +#: common/models.py:2288 msgid "Show news on the homepage" msgstr "Afficher les nouvelles sur la page d'accueil" -#: common/models.py:2282 +#: common/models.py:2293 msgid "Inline label display" msgstr "Affichage du libellé en ligne" -#: common/models.py:2284 +#: common/models.py:2295 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:2290 +#: common/models.py:2301 msgid "Default label printer" msgstr "Imprimante d'étiquettes par défaut" -#: common/models.py:2292 +#: common/models.py:2303 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:2298 +#: common/models.py:2309 msgid "Inline report display" msgstr "Affichage du rapport en ligne" -#: common/models.py:2300 +#: common/models.py:2311 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:2306 +#: common/models.py:2317 msgid "Search Parts" msgstr "Rechercher de pièces" -#: common/models.py:2307 +#: common/models.py:2318 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:2312 +#: common/models.py:2323 msgid "Search Supplier Parts" msgstr "Recherche du fournisseur de pièces" -#: common/models.py:2313 +#: common/models.py:2324 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:2318 +#: common/models.py:2329 msgid "Search Manufacturer Parts" msgstr "Rechercher les pièces du fabricant" -#: common/models.py:2319 +#: common/models.py:2330 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:2324 +#: common/models.py:2335 msgid "Hide Inactive Parts" msgstr "Masquer les pièces inactives" -#: common/models.py:2325 +#: common/models.py:2336 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:2330 +#: common/models.py:2341 msgid "Search Categories" msgstr "Rechercher des catégories" -#: common/models.py:2331 +#: common/models.py:2342 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:2336 +#: common/models.py:2347 msgid "Search Stock" msgstr "Rechercher dans le stock" -#: common/models.py:2337 +#: common/models.py:2348 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:2342 +#: common/models.py:2353 msgid "Hide Unavailable Stock Items" msgstr "Cacher les pièces indisponibles" -#: common/models.py:2344 +#: common/models.py:2355 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:2350 +#: common/models.py:2361 msgid "Search Locations" msgstr "Chercher des Emplacements" -#: common/models.py:2351 +#: common/models.py:2362 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:2356 +#: common/models.py:2367 msgid "Search Companies" msgstr "Rechercher les entreprises" -#: common/models.py:2357 +#: common/models.py:2368 msgid "Display companies in search preview window" msgstr "Afficher les entreprises dans la fenêtre de prévisualisation de recherche" -#: common/models.py:2362 +#: common/models.py:2373 msgid "Search Build Orders" msgstr "Rechercher les commandes de construction" -#: common/models.py:2363 +#: common/models.py:2374 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:2368 +#: common/models.py:2379 msgid "Search Purchase Orders" msgstr "Rechercher des bons de commande" -#: common/models.py:2369 +#: common/models.py:2380 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:2374 +#: common/models.py:2385 msgid "Exclude Inactive Purchase Orders" msgstr "Exclure les bons de commande inactifs" -#: common/models.py:2376 +#: common/models.py:2387 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:2382 +#: common/models.py:2393 msgid "Search Sales Orders" msgstr "Rechercher les bons de commande" -#: common/models.py:2383 +#: common/models.py:2394 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:2388 +#: common/models.py:2399 msgid "Exclude Inactive Sales Orders" msgstr "Exclure les bons de commande inactives" -#: common/models.py:2390 +#: common/models.py:2401 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:2396 +#: common/models.py:2407 msgid "Search Return Orders" msgstr "Rechercher les commandes retournées" -#: common/models.py:2397 +#: common/models.py:2408 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2402 +#: common/models.py:2413 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2404 +#: common/models.py:2415 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2410 +#: common/models.py:2421 msgid "Search Preview Results" msgstr "Résultats de l'aperçu de la recherche" -#: common/models.py:2412 +#: common/models.py:2423 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:2418 +#: common/models.py:2429 msgid "Regex Search" msgstr "Recherche Regex" -#: common/models.py:2419 +#: common/models.py:2430 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2424 +#: common/models.py:2435 msgid "Whole Word Search" msgstr "" -#: common/models.py:2425 +#: common/models.py:2436 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2430 +#: common/models.py:2441 msgid "Show Quantity in Forms" msgstr "Afficher la quantité dans les formulaires" -#: common/models.py:2431 +#: common/models.py:2442 msgid "Display available part quantity in some forms" msgstr "Afficher la quantité disponible dans certains formulaires" -#: common/models.py:2436 +#: common/models.py:2447 msgid "Escape Key Closes Forms" msgstr "La touche Echap ferme les formulaires" -#: common/models.py:2437 +#: common/models.py:2448 msgid "Use the escape key to close modal forms" msgstr "Utilisez la touche Echap pour fermer les formulaires modaux" -#: common/models.py:2442 +#: common/models.py:2453 msgid "Fixed Navbar" msgstr "Barre de navigation fixe" -#: common/models.py:2443 +#: common/models.py:2454 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:2448 +#: common/models.py:2459 msgid "Date Format" msgstr "Format de date" -#: common/models.py:2449 +#: common/models.py:2460 msgid "Preferred format for displaying dates" msgstr "Format préféré pour l'affichage des dates" -#: common/models.py:2462 part/templates/part/detail.html:41 +#: common/models.py:2473 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Planification des pièces" -#: common/models.py:2463 +#: common/models.py:2474 msgid "Display part scheduling information" msgstr "Afficher les informations de planification des pièces" -#: common/models.py:2468 part/templates/part/detail.html:62 +#: common/models.py:2479 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "Inventaire des pièces" -#: common/models.py:2470 +#: common/models.py:2481 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2476 +#: common/models.py:2487 msgid "Table String Length" msgstr "Longueur de la chaîne dans les Tableau" -#: common/models.py:2478 +#: common/models.py:2489 msgid "Maximum length limit for strings displayed in table views" msgstr "Longueur maximale des chaînes affichées dans les tableaux" -#: common/models.py:2484 -msgid "Default part label template" -msgstr "" - -#: common/models.py:2485 -msgid "The part label template to be automatically selected" -msgstr "" - -#: common/models.py:2490 -msgid "Default stock item template" -msgstr "" - -#: common/models.py:2492 -msgid "The stock item label template to be automatically selected" -msgstr "" - -#: common/models.py:2498 -msgid "Default stock location label template" -msgstr "" - -#: common/models.py:2500 -msgid "The stock location label template to be automatically selected" -msgstr "" - -#: common/models.py:2506 -msgid "Default build line label template" -msgstr "" - -#: common/models.py:2508 -msgid "The build line label template to be automatically selected" -msgstr "" - -#: common/models.py:2514 +#: common/models.py:2495 msgid "Receive error reports" msgstr "" -#: common/models.py:2515 +#: common/models.py:2496 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2520 +#: common/models.py:2501 msgid "Last used printing machines" msgstr "" -#: common/models.py:2521 +#: common/models.py:2502 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2541 common/models.py:2542 common/models.py:2691 -#: common/models.py:2692 common/models.py:2937 common/models.py:2938 -#: common/models.py:3259 common/models.py:3260 part/models.py:3193 -#: part/models.py:3280 part/models.py:3353 part/models.py:3381 -#: plugin/models.py:274 plugin/models.py:275 +#: common/models.py:2522 common/models.py:2523 common/models.py:2672 +#: common/models.py:2673 common/models.py:2918 common/models.py:2919 +#: common/models.py:3245 common/models.py:3246 importer/models.py:85 +#: part/models.py:3203 part/models.py:3290 part/models.py:3364 +#: part/models.py:3392 plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 msgid "User" msgstr "Utilisateur" -#: common/models.py:2564 +#: common/models.py:2545 msgid "Price break quantity" msgstr "" -#: common/models.py:2571 company/serializers.py:472 order/admin.py:42 -#: order/models.py:1346 order/models.py:2265 -#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1886 +#: common/models.py:2552 company/serializers.py:502 order/admin.py:42 +#: order/models.py:1346 order/models.py:2292 +#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1889 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:740 msgid "Price" msgstr "Prix" -#: common/models.py:2572 +#: common/models.py:2553 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2668 common/models.py:2853 +#: common/models.py:2649 common/models.py:2834 msgid "Endpoint" msgstr "" -#: common/models.py:2669 +#: common/models.py:2650 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2679 +#: common/models.py:2660 msgid "Name for this webhook" msgstr "" -#: common/models.py:2683 +#: common/models.py:2664 msgid "Is this webhook active" msgstr "Ce webhook (lien de rappel HTTP) est-il actif" -#: common/models.py:2699 users/models.py:159 +#: common/models.py:2680 users/models.py:159 msgid "Token" msgstr "Jeton" -#: common/models.py:2700 +#: common/models.py:2681 msgid "Token for access" msgstr "Jeton d'accès" -#: common/models.py:2708 +#: common/models.py:2689 msgid "Secret" msgstr "Confidentiel" -#: common/models.py:2709 +#: common/models.py:2690 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2817 +#: common/models.py:2798 msgid "Message ID" msgstr "ID message" -#: common/models.py:2818 +#: common/models.py:2799 msgid "Unique identifier for this message" msgstr "Identifiant unique pour ce message" -#: common/models.py:2826 +#: common/models.py:2807 msgid "Host" msgstr "Hôte" -#: common/models.py:2827 +#: common/models.py:2808 msgid "Host from which this message was received" msgstr "Hôte à partir duquel ce message a été reçu" -#: common/models.py:2835 +#: common/models.py:2816 msgid "Header" msgstr "Entête" -#: common/models.py:2836 +#: common/models.py:2817 msgid "Header of this message" msgstr "En-tête de ce message" -#: common/models.py:2843 +#: common/models.py:2824 msgid "Body" msgstr "Corps" -#: common/models.py:2844 +#: common/models.py:2825 msgid "Body of this message" msgstr "Corps de ce message" -#: common/models.py:2854 +#: common/models.py:2835 msgid "Endpoint on which this message was received" msgstr "Endpoint à partir duquel ce message a été reçu" -#: common/models.py:2859 +#: common/models.py:2840 msgid "Worked on" msgstr "" -#: common/models.py:2860 +#: common/models.py:2841 msgid "Was the work on this message finished?" msgstr "Le travail sur ce message est-il terminé ?" -#: common/models.py:2986 +#: common/models.py:2967 msgid "Id" msgstr "Id" -#: common/models.py:2988 templates/js/translated/company.js:965 +#: common/models.py:2969 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "Titre" -#: common/models.py:2990 common/models.py:3243 company/models.py:149 -#: company/models.py:440 company/models.py:500 company/models.py:799 -#: order/models.py:303 order/models.py:1301 order/models.py:1717 -#: part/admin.py:55 part/models.py:955 +#: common/models.py:2971 common/models.py:3229 company/models.py:149 +#: company/models.py:446 company/models.py:506 company/models.py:806 +#: order/models.py:303 order/models.py:1301 order/models.py:1733 +#: part/admin.py:55 part/models.py:959 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:229 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/part.js:2459 #: templates/js/translated/purchase_order.js:2040 #: templates/js/translated/purchase_order.js:2204 #: templates/js/translated/return_order.js:779 @@ -3607,28 +3660,28 @@ msgstr "Titre" msgid "Link" msgstr "Lien" -#: common/models.py:2992 templates/js/translated/news.js:60 +#: common/models.py:2973 templates/js/translated/news.js:60 msgid "Published" msgstr "Publié" -#: common/models.py:2994 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2975 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:2996 templates/js/translated/news.js:52 +#: common/models.py:2977 templates/js/translated/news.js:52 msgid "Summary" msgstr "Résumé" -#: common/models.py:2999 +#: common/models.py:2980 msgid "Read" msgstr "Lu" -#: common/models.py:2999 +#: common/models.py:2980 msgid "Was this news item read?" msgstr "Cette nouvelle a-t-elle été lue ?" -#: common/models.py:3016 company/models.py:159 part/models.py:965 +#: common/models.py:2997 company/models.py:159 part/models.py:969 #: 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.html:35 @@ -3638,90 +3691,96 @@ msgstr "Cette nouvelle a-t-elle été lue ?" msgid "Image" msgstr "Image" -#: common/models.py:3016 +#: common/models.py:2997 msgid "Image file" msgstr "Fichier image" -#: common/models.py:3028 common/models.py:3227 +#: common/models.py:3009 common/models.py:3213 msgid "Target model type for this image" msgstr "" -#: common/models.py:3032 +#: common/models.py:3013 msgid "Target model ID for this image" msgstr "" -#: common/models.py:3070 +#: common/models.py:3035 +#, fuzzy +#| msgid "Customer" +msgid "Custom Unit" +msgstr "Client" + +#: common/models.py:3056 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:3085 +#: common/models.py:3071 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3104 +#: common/models.py:3090 msgid "Unit name" msgstr "" -#: common/models.py:3111 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3097 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "Symbole" -#: common/models.py:3112 +#: common/models.py:3098 msgid "Optional unit symbol" msgstr "Symbole d'unité facultatif" -#: common/models.py:3118 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3104 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "Définition" -#: common/models.py:3119 +#: common/models.py:3105 msgid "Unit definition" msgstr "Définition de l'unité" -#: common/models.py:3177 common/models.py:3234 stock/models.py:2461 +#: common/models.py:3163 common/models.py:3220 stock/models.py:2471 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" msgstr "Pièce jointe" -#: common/models.py:3189 +#: common/models.py:3175 msgid "Missing file" msgstr "Fichier manquant" -#: common/models.py:3190 +#: common/models.py:3176 msgid "Missing external link" msgstr "Lien externe manquant" -#: common/models.py:3235 +#: common/models.py:3221 msgid "Select file to attach" msgstr "Sélectionnez un fichier à joindre" -#: common/models.py:3250 templates/js/translated/attachment.js:120 +#: common/models.py:3236 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" msgstr "Commentaire" -#: common/models.py:3251 +#: common/models.py:3237 msgid "Attachment comment" msgstr "" -#: common/models.py:3267 +#: common/models.py:3253 msgid "Upload date" msgstr "" -#: common/models.py:3268 +#: common/models.py:3254 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:3272 +#: common/models.py:3258 msgid "File size" msgstr "" -#: common/models.py:3272 +#: common/models.py:3258 msgid "File size in bytes" msgstr "" -#: common/models.py:3310 common/serializers.py:553 +#: common/models.py:3296 common/serializers.py:557 msgid "Invalid model type specified for attachment" msgstr "" @@ -3743,7 +3802,7 @@ msgstr "{verbose_name} annulé" msgid "A order that is assigned to you was canceled" msgstr "Une commande qui vous est assignée a été annulée" -#: common/notifications.py:330 common/notifications.py:337 order/api.py:472 +#: common/notifications.py:330 common/notifications.py:337 order/api.py:454 msgid "Items Received" msgstr "Articles reçus" @@ -3759,75 +3818,75 @@ msgstr "" msgid "Error raised by plugin" msgstr "Erreur déclenchée par le plugin" -#: common/serializers.py:371 +#: common/serializers.py:375 msgid "Is Running" msgstr "En cours d'exécution" -#: common/serializers.py:377 +#: common/serializers.py:381 msgid "Pending Tasks" msgstr "Tâches en attente" -#: common/serializers.py:383 +#: common/serializers.py:387 msgid "Scheduled Tasks" msgstr "Tâches planifiées" -#: common/serializers.py:389 +#: common/serializers.py:393 msgid "Failed Tasks" msgstr "Tâches échouées" -#: common/serializers.py:404 +#: common/serializers.py:408 msgid "Task ID" msgstr "ID de la tâche" -#: common/serializers.py:404 +#: common/serializers.py:408 msgid "Unique task ID" msgstr "ID unique de la tâche" -#: common/serializers.py:406 +#: common/serializers.py:410 msgid "Lock" msgstr "Verrouillé" -#: common/serializers.py:406 +#: common/serializers.py:410 msgid "Lock time" msgstr "Heure verrouillé" -#: common/serializers.py:408 +#: common/serializers.py:412 msgid "Task name" msgstr "Nom de la tâche" -#: common/serializers.py:410 +#: common/serializers.py:414 msgid "Function" msgstr "Fonction" -#: common/serializers.py:410 +#: common/serializers.py:414 msgid "Function name" msgstr "Nom de la fonction" -#: common/serializers.py:412 +#: common/serializers.py:416 msgid "Arguments" msgstr "Arguments" -#: common/serializers.py:412 +#: common/serializers.py:416 msgid "Task arguments" msgstr "Arguments tâche" -#: common/serializers.py:415 +#: common/serializers.py:419 msgid "Keyword Arguments" msgstr "Mots-clés Arguments" -#: common/serializers.py:415 +#: common/serializers.py:419 msgid "Task keyword arguments" msgstr "Mots-clés arguments tâche" -#: common/serializers.py:525 +#: common/serializers.py:529 msgid "Filename" msgstr "Nom du fichier" -#: common/serializers.py:532 report/api.py:100 report/serializers.py:53 +#: common/serializers.py:536 report/api.py:100 report/serializers.py:53 msgid "Model Type" msgstr "" -#: common/serializers.py:559 +#: common/serializers.py:563 msgid "User does not have permission to create or edit attachments for this model" msgstr "" @@ -3894,29 +3953,29 @@ msgstr "Pièces importées" msgid "Previous Step" msgstr "Étape précédente" -#: company/api.py:144 +#: company/api.py:141 msgid "Part is Active" msgstr "La pièce est active" -#: company/api.py:148 +#: company/api.py:145 msgid "Manufacturer is Active" msgstr "Le fabricant est actif" -#: company/api.py:281 +#: company/api.py:278 msgid "Supplier Part is Active" msgstr "Le fournisseur de la pièce est active" -#: company/api.py:285 +#: company/api.py:282 msgid "Internal Part is Active" msgstr "La pièce interne est active" -#: company/api.py:289 +#: company/api.py:286 msgid "Supplier is Active" msgstr "Le fournisseur est actif" -#: company/models.py:100 company/models.py:365 +#: company/models.py:100 company/models.py:371 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:822 +#: company/templates/company/company_base.html:12 stock/api.py:814 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "Société" @@ -3956,8 +4015,9 @@ msgstr "Numéro de téléphone de contact" msgid "Contact email address" msgstr "Adresse e-mail de contact" -#: company/models.py:142 company/templates/company/company_base.html:145 -#: order/models.py:343 order/templates/order/order_base.html:203 +#: company/models.py:142 company/models.py:275 +#: company/templates/company/company_base.html:145 order/models.py:343 +#: order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 #: order/templates/order/sales_order_base.html:218 msgid "Contact" @@ -3976,7 +4036,9 @@ msgid "Is this company active?" msgstr "Cette entreprise est-elle active ?" #: company/models.py:168 -msgid "is customer" +#, fuzzy +#| msgid "is customer" +msgid "Is customer" msgstr "est client" #: company/models.py:169 @@ -3984,7 +4046,9 @@ msgid "Do you sell items to this company?" msgstr "Vendez-vous des objets à cette entreprise?" #: company/models.py:174 -msgid "is supplier" +#, fuzzy +#| msgid "is supplier" +msgid "Is supplier" msgstr "est fournisseur" #: company/models.py:175 @@ -3992,7 +4056,9 @@ msgid "Do you purchase items from this company?" msgstr "Est-ce que vous achetez des articles à cette entreprise?" #: company/models.py:180 -msgid "is manufacturer" +#, fuzzy +#| msgid "is manufacturer" +msgid "Is manufacturer" msgstr "est fabricant" #: company/models.py:181 @@ -4003,178 +4069,191 @@ msgstr "Cette entreprise fabrique-t-elle des pièces?" msgid "Default currency used for this company" msgstr "Devise par défaut utilisée pour cette entreprise" -#: company/models.py:366 +#: company/models.py:314 company/templates/company/company_base.html:124 +#: order/models.py:353 order/templates/order/order_base.html:210 +#: order/templates/order/return_order_base.html:181 +#: order/templates/order/sales_order_base.html:225 +msgid "Address" +msgstr "Adresse" + +#: company/models.py:315 company/templates/company/sidebar.html:35 +msgid "Addresses" +msgstr "Adresses" + +#: company/models.py:372 msgid "Select company" msgstr "Sélectionner une entreprise" -#: company/models.py:371 +#: company/models.py:377 msgid "Address title" msgstr "Intitulé de l'adresse" -#: company/models.py:372 +#: company/models.py:378 msgid "Title describing the address entry" msgstr "Titre décrivant la saisie de l'adresse" -#: company/models.py:378 +#: company/models.py:384 msgid "Primary address" msgstr "Adresse principale" -#: company/models.py:379 +#: company/models.py:385 msgid "Set as primary address" msgstr "Sélectionner comme adresse principale" -#: company/models.py:384 templates/js/translated/company.js:914 +#: company/models.py:390 templates/js/translated/company.js:914 #: templates/js/translated/company.js:971 msgid "Line 1" msgstr "Ligne 1" -#: company/models.py:385 +#: company/models.py:391 msgid "Address line 1" msgstr "Adresse" -#: company/models.py:391 templates/js/translated/company.js:915 +#: company/models.py:397 templates/js/translated/company.js:915 #: templates/js/translated/company.js:977 msgid "Line 2" msgstr "Ligne 2" -#: company/models.py:392 +#: company/models.py:398 msgid "Address line 2" msgstr "Seconde ligne d'adresse" -#: company/models.py:398 company/models.py:399 +#: company/models.py:404 company/models.py:405 #: templates/js/translated/company.js:983 msgid "Postal code" msgstr "Code postal" -#: company/models.py:405 +#: company/models.py:411 msgid "City/Region" msgstr "Ville / Région" -#: company/models.py:406 +#: company/models.py:412 msgid "Postal code city/region" msgstr "Code postal Ville / Région" -#: company/models.py:412 +#: company/models.py:418 msgid "State/Province" msgstr "État / Province" -#: company/models.py:413 +#: company/models.py:419 msgid "State or province" msgstr "État ou province" -#: company/models.py:419 templates/js/translated/company.js:1001 +#: company/models.py:425 templates/js/translated/company.js:1001 msgid "Country" msgstr "Pays" -#: company/models.py:420 +#: company/models.py:426 msgid "Address country" msgstr "Pays" -#: company/models.py:426 +#: company/models.py:432 msgid "Courier shipping notes" msgstr "Notes du livreur" -#: company/models.py:427 +#: company/models.py:433 msgid "Notes for shipping courier" msgstr "Instructions pour le livreur" -#: company/models.py:433 +#: company/models.py:439 msgid "Internal shipping notes" msgstr "Notes pour la livraison interne" -#: company/models.py:434 +#: company/models.py:440 msgid "Shipping notes for internal use" msgstr "Notes internes pour la livraison" -#: company/models.py:441 +#: company/models.py:447 msgid "Link to address information (external)" msgstr "Lien vers les informations de l'adresse (externe)" -#: company/models.py:463 company/models.py:574 company/models.py:792 +#: company/models.py:469 company/models.py:581 company/models.py:799 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:217 msgid "Manufacturer Part" msgstr "Pièces du fabricant" -#: company/models.py:475 company/models.py:760 stock/models.py:767 -#: stock/serializers.py:422 stock/templates/stock/item_base.html:142 +#: company/models.py:481 company/models.py:767 stock/models.py:767 +#: stock/serializers.py:442 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" -#: company/models.py:477 company/models.py:762 +#: company/models.py:483 company/models.py:769 msgid "Select part" msgstr "" -#: company/models.py:486 company/templates/company/company_base.html:82 +#: company/models.py:492 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:525 +#: company/templates/company/supplier_part.html:145 part/serializers.py:543 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 #: templates/js/translated/company.js:1296 #: templates/js/translated/company.js:1611 -#: templates/js/translated/table_filters.js:800 +#: templates/js/translated/table_filters.js:805 msgid "Manufacturer" msgstr "Fabricant" -#: company/models.py:487 +#: company/models.py:493 msgid "Select manufacturer" msgstr "Sélectionner un fabricant" -#: company/models.py:493 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:535 -#: templates/js/translated/company.js:351 +#: company/models.py:499 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:153 order/serializers.py:518 +#: part/serializers.py:553 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:1801 +#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1804 #: templates/js/translated/purchase_order.js:1851 #: templates/js/translated/purchase_order.js:2053 msgid "MPN" msgstr "" -#: company/models.py:494 -msgid "Manufacturer Part Number" -msgstr "" - -#: company/models.py:501 +#: company/models.py:507 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:510 +#: company/models.py:516 msgid "Manufacturer part description" msgstr "" -#: company/models.py:581 +#: company/models.py:569 +#, fuzzy +#| msgid "Manufacturer Part" +msgid "Manufacturer Part Parameter" +msgstr "Pièces du fabricant" + +#: company/models.py:588 msgid "Parameter name" msgstr "Nom du paramètre" -#: company/models.py:587 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2453 templates/js/translated/company.js:1166 -#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1493 +#: company/models.py:594 report/templates/report/inventree_test_report.html:104 +#: stock/models.py:2463 templates/js/translated/company.js:1166 +#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1496 #: templates/js/translated/stock.js:1522 msgid "Value" msgstr "Valeur" -#: company/models.py:588 +#: company/models.py:595 msgid "Parameter value" msgstr "Valeur du paramètre" -#: company/models.py:595 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1045 part/models.py:3646 +#: company/models.py:602 company/templates/company/supplier_part.html:168 +#: part/admin.py:57 part/models.py:1049 part/models.py:3667 #: part/templates/part/part_base.html:284 -#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1512 -#: templates/js/translated/part.js:1616 templates/js/translated/part.js:2370 +#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1515 +#: templates/js/translated/part.js:1619 templates/js/translated/part.js:2373 msgid "Units" msgstr "Unités" -#: company/models.py:596 +#: company/models.py:603 msgid "Parameter units" msgstr "Unités du paramètre" -#: company/models.py:648 company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 order/api.py:452 +#: company/models.py:655 company/templates/company/supplier_part.html:7 +#: company/templates/company/supplier_part.html:24 order/api.py:434 #: stock/models.py:778 stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 @@ -4182,91 +4261,91 @@ msgstr "Unités du paramètre" msgid "Supplier Part" msgstr "Pièce fournisseur" -#: company/models.py:700 +#: company/models.py:707 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:707 +#: company/models.py:714 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:721 +#: company/models.py:728 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:770 company/templates/company/company_base.html:87 +#: company/models.py:777 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:509 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:527 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 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:511 -#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1769 +#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1772 #: templates/js/translated/pricing.js:498 #: templates/js/translated/purchase_order.js:1689 -#: templates/js/translated/table_filters.js:804 +#: templates/js/translated/table_filters.js:809 msgid "Supplier" msgstr "Fournisseur" -#: company/models.py:771 +#: company/models.py:778 msgid "Select supplier" msgstr "Sélectionner un fournisseur" -#: company/models.py:777 part/serializers.py:520 +#: company/models.py:784 part/serializers.py:538 msgid "Supplier stock keeping unit" msgstr "Unité de gestion des stocks des fournisseurs" -#: company/models.py:783 +#: company/models.py:790 msgid "Is this supplier part active?" msgstr "" -#: company/models.py:793 +#: company/models.py:800 msgid "Select manufacturer part" msgstr "Sélectionner un fabricant" -#: company/models.py:800 +#: company/models.py:807 msgid "URL for external supplier part link" msgstr "Lien de la pièce du fournisseur externe" -#: company/models.py:809 +#: company/models.py:816 msgid "Supplier part description" msgstr "Description de la pièce du fournisseur" -#: company/models.py:816 company/templates/company/supplier_part.html:187 -#: part/admin.py:412 part/models.py:4093 part/templates/part/upload_bom.html:59 +#: company/models.py:823 company/templates/company/supplier_part.html:187 +#: part/admin.py:412 part/models.py:4178 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: 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:710 +#: stock/serializers.py:768 msgid "Note" msgstr "" -#: company/models.py:825 part/models.py:2003 +#: company/models.py:832 part/models.py:2013 msgid "base cost" msgstr "coût de base" -#: company/models.py:826 part/models.py:2004 +#: company/models.py:833 part/models.py:2014 msgid "Minimum charge (e.g. stocking fee)" msgstr "Frais minimums (par exemple frais de stock)" -#: company/models.py:833 company/templates/company/supplier_part.html:160 -#: stock/admin.py:228 stock/models.py:798 stock/serializers.py:1475 +#: company/models.py:840 company/templates/company/supplier_part.html:160 +#: stock/admin.py:228 stock/models.py:798 stock/serializers.py:1541 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 msgid "Packaging" msgstr "Conditionnement" -#: company/models.py:834 +#: company/models.py:841 msgid "Part packaging" msgstr "Conditionnement de l'article" -#: company/models.py:839 templates/js/translated/company.js:1651 -#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 +#: company/models.py:846 templates/js/translated/company.js:1651 +#: templates/js/translated/part.js:1825 templates/js/translated/part.js:1881 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 #: templates/js/translated/purchase_order.js:1103 @@ -4275,35 +4354,47 @@ msgstr "Conditionnement de l'article" msgid "Pack Quantity" msgstr "Nombre de paquet" -#: company/models.py:841 +#: company/models.py:848 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:860 part/models.py:2010 +#: company/models.py:867 part/models.py:2020 msgid "multiple" msgstr "plusieurs" -#: company/models.py:861 +#: company/models.py:868 msgid "Order multiple" msgstr "Commande multiple" -#: company/models.py:873 +#: company/models.py:880 msgid "Quantity available from supplier" msgstr "Quantité disponible auprès du fournisseur" -#: company/models.py:879 +#: company/models.py:886 msgid "Availability Updated" msgstr "Disponibilité mise à jour" -#: company/models.py:880 +#: company/models.py:887 msgid "Date of last update of availability data" msgstr "Date de dernière mise à jour des données de disponibilité" -#: company/serializers.py:161 +#: company/models.py:1015 +#, fuzzy +#| msgid "Supplier Part Orders" +msgid "Supplier Price Break" +msgstr "Commandes de pièces du fournisseur" + +#: company/serializers.py:174 msgid "Default currency used for this supplier" msgstr "Devise par défaut utilisée pour ce fournisseur" -#: company/serializers.py:357 part/admin.py:126 +#: company/serializers.py:210 +#, fuzzy +#| msgid "Company name" +msgid "Company Name" +msgstr "Nom de la société" + +#: company/serializers.py:384 part/admin.py:126 part/serializers.py:855 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:355 @@ -4315,7 +4406,7 @@ msgstr "En Stock" #: templates/js/translated/company.js:1287 #: templates/js/translated/company.js:1575 #: templates/js/translated/model_renderers.js:312 -#: templates/js/translated/part.js:815 templates/js/translated/part.js:1219 +#: templates/js/translated/part.js:814 templates/js/translated/part.js:1222 msgid "Inactive" msgstr "" @@ -4374,16 +4465,16 @@ msgid "Delete image" msgstr "Supprimer image" #: company/templates/company/company_base.html:92 order/models.py:938 -#: order/models.py:2032 order/templates/order/return_order_base.html:131 +#: order/models.py:2058 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:148 stock/models.py:820 -#: stock/models.py:821 stock/serializers.py:1225 +#: stock/models.py:821 stock/serializers.py:1291 #: 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:295 #: templates/js/translated/sales_order.js:820 #: templates/js/translated/stock.js:2959 -#: templates/js/translated/table_filters.js:808 +#: templates/js/translated/table_filters.js:813 msgid "Customer" msgstr "Client" @@ -4391,13 +4482,6 @@ msgstr "Client" msgid "Uses default currency" msgstr "Utiliser la devise par défaut" -#: company/templates/company/company_base.html:124 order/models.py:353 -#: order/templates/order/order_base.html:210 -#: order/templates/order/return_order_base.html:181 -#: order/templates/order/sales_order_base.html:225 -msgid "Address" -msgstr "Adresse" - #: company/templates/company/company_base.html:131 msgid "Phone" msgstr "Téléphone" @@ -4577,7 +4661,8 @@ msgid "Delete manufacturer part" msgstr "Supprimer la pièce de fabricant" #: company/templates/company/manufacturer_part.html:65 -#: company/templates/company/supplier_part.html:97 order/api.py:458 +#: company/templates/company/supplier_part.html:97 order/api.py:440 +#: order/serializers.py:526 msgid "Internal Part" msgstr "Pièces Internes" @@ -4587,7 +4672,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:832 +#: part/admin.py:122 part/serializers.py:860 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4608,7 +4693,7 @@ msgid "New Parameter" msgstr "Nouveau paramètre" #: company/templates/company/manufacturer_part.html:196 -#: templates/js/translated/part.js:1423 +#: templates/js/translated/part.js:1426 msgid "Add Parameter" msgstr "" @@ -4632,10 +4717,6 @@ msgstr "Articles en stock assignés" msgid "Contacts" msgstr "" -#: company/templates/company/sidebar.html:35 -msgid "Addresses" -msgstr "Adresses" - #: company/templates/company/supplier_part.html:50 #: templates/js/translated/company.js:1526 msgid "Supplier part actions" @@ -4677,9 +4758,9 @@ msgstr "Supprimer la pièce du fournisseur" 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:519 -#: templates/js/translated/company.js:349 templates/js/translated/part.js:1787 +#: company/templates/company/supplier_part.html:139 order/serializers.py:515 +#: part/bom.py:279 part/bom.py:311 part/serializers.py:537 +#: templates/js/translated/company.js:349 templates/js/translated/part.js:1790 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1850 #: templates/js/translated/purchase_order.js:2028 @@ -4695,81 +4776,267 @@ msgstr "Stock de pièces du fournisseur" 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:208 -#: templates/js/translated/stock.js:537 -msgid "New Stock Item" -msgstr "Nouvel article de stock" +#: company/templates/company/supplier_part.html:210 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:208 +#: templates/js/translated/stock.js:537 +msgid "New Stock Item" +msgstr "Nouvel article de stock" + +#: company/templates/company/supplier_part.html:223 +msgid "Supplier Part Orders" +msgstr "Commandes de pièces du fournisseur" + +#: company/templates/company/supplier_part.html:246 +msgid "Pricing Information" +msgstr "Information sur les prix" + +#: company/templates/company/supplier_part.html:251 +#: templates/js/translated/company.js:398 +#: templates/js/translated/pricing.js:684 +msgid "Add Price Break" +msgstr "Ajouter un prix de rupture" + +#: company/templates/company/supplier_part.html:276 +msgid "Supplier Part QR Code" +msgstr "" + +#: company/templates/company/supplier_part.html:287 +msgid "Link Barcode to Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:359 +msgid "Update Part Availability" +msgstr "" + +#: company/templates/company/supplier_part_sidebar.html:5 +#: part/serializers.py:859 part/stocktake.py:224 +#: part/templates/part/category.html:183 +#: part/templates/part/category_sidebar.html:17 stock/admin.py:68 +#: stock/serializers.py:976 stock/serializers.py:1154 +#: stock/templates/stock/location.html:170 +#: 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:1064 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 +#: users/models.py:206 +msgid "Stock Items" +msgstr "Éléments en stock" + +#: company/templates/company/supplier_part_sidebar.html:9 +msgid "Supplier Part Pricing" +msgstr "Prix de la pièce du fournisseur" + +#: company/views.py:32 +msgid "New Supplier" +msgstr "Nouveau Fournisseur" + +#: company/views.py:38 +msgid "New Manufacturer" +msgstr "Nouveau Fabricant" + +#: company/views.py:43 templates/InvenTree/search.html:210 +#: templates/navbar.html:60 +msgid "Customers" +msgstr "Clients" + +#: company/views.py:44 +msgid "New Customer" +msgstr "Nouveaux Clients" + +#: company/views.py:52 +msgid "New Company" +msgstr "Nouvelle Entreprise" + +#: generic/states/tests.py:18 order/status_codes.py:13 +msgid "Placed" +msgstr "Placé" + +#: importer/mixins.py:263 +#, fuzzy +#| msgid "Invalid value for overage" +msgid "Invalid export format" +msgstr "Valeur invalide pour le dépassement" + +#: importer/models.py:56 +msgid "Timestamp" +msgstr "" + +#: importer/models.py:61 +#, fuzzy +#| msgid "Select file to upload" +msgid "Data file to import" +msgstr "Sélectionner un fichier à téléverser" + +#: importer/models.py:70 templates/js/translated/tables.js:558 +msgid "Columns" +msgstr "" + +#: importer/models.py:81 +#, fuzzy +#| msgid "Important dates" +msgid "Import status" +msgstr "Dates importantes" + +#: importer/models.py:91 +#, fuzzy +#| msgid "Build Details" +msgid "Field Defaults" +msgstr "Détails de la construction" + +#: importer/models.py:201 +#, fuzzy +#| msgid "Required build quantity has not been completed" +msgid "Some required fields have not been mapped" +msgstr "La quantité nécessaire n'a pas encore été complétée" + +#: importer/models.py:346 +msgid "Column is already mapped to a database field" +msgstr "" + +#: importer/models.py:351 +msgid "Field is already mapped to a data column" +msgstr "" + +#: importer/models.py:360 +msgid "Column mapping must be linked to a valid import session" +msgstr "" + +#: importer/models.py:365 +msgid "Column does not exist in the data file" +msgstr "" + +#: importer/models.py:372 +#, fuzzy +#| msgid "User does not have permission to view this model" +msgid "Field does not exist in the target model" +msgstr "L'utilisateur n'a pas la permission de voir ce modèle" + +#: importer/models.py:376 +msgid "Selected field is read-only" +msgstr "" + +#: importer/models.py:381 importer/models.py:452 +#, fuzzy +#| msgid "Active Sessions" +msgid "Import Session" +msgstr "Sessions actives" + +#: importer/models.py:385 +#, fuzzy +#| msgid "File Fields" +msgid "Field" +msgstr "Champs fichier" + +#: importer/models.py:387 +msgid "Column" +msgstr "" + +#: importer/models.py:456 +msgid "Row Index" +msgstr "" + +#: importer/models.py:459 +msgid "Original row data" +msgstr "" + +#: importer/models.py:462 part/models.py:3841 +msgid "Data" +msgstr "Données" + +#: importer/models.py:464 machine/models.py:110 +msgid "Errors" +msgstr "Erreurs" + +#: importer/models.py:466 part/api.py:874 +msgid "Valid" +msgstr "Valide" + +#: importer/operations.py:28 importer/operations.py:49 +#, fuzzy +#| msgid "Unsupported file format: {fmt}" +msgid "Unsupported data file format" +msgstr "Type de fichier non pris en charge {fmt}" -#: company/templates/company/supplier_part.html:223 -msgid "Supplier Part Orders" -msgstr "Commandes de pièces du fournisseur" +#: importer/operations.py:40 +msgid "Failed to open data file" +msgstr "" -#: company/templates/company/supplier_part.html:246 -msgid "Pricing Information" -msgstr "Information sur les prix" +#: importer/operations.py:51 +msgid "Invalid data file dimensions" +msgstr "" -#: company/templates/company/supplier_part.html:251 -#: templates/js/translated/company.js:398 -#: templates/js/translated/pricing.js:684 -msgid "Add Price Break" -msgstr "Ajouter un prix de rupture" +#: importer/serializers.py:135 +msgid "Rows" +msgstr "" -#: company/templates/company/supplier_part.html:276 -msgid "Supplier Part QR Code" +#: importer/serializers.py:136 +msgid "List of row IDs to accept" msgstr "" -#: company/templates/company/supplier_part.html:287 -msgid "Link Barcode to Supplier Part" +#: importer/serializers.py:149 +#, fuzzy +#| msgid "No data rows provided" +msgid "No rows provided" +msgstr "Pas de lignes de données fournies" + +#: importer/serializers.py:153 +msgid "Row does not belong to this session" msgstr "" -#: company/templates/company/supplier_part.html:359 -msgid "Update Part Availability" +#: importer/serializers.py:156 +msgid "Row contains invalid data" msgstr "" -#: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:831 part/stocktake.py:224 -#: part/templates/part/category.html:183 -#: part/templates/part/category_sidebar.html:17 stock/admin.py:68 -#: stock/serializers.py:918 stock/serializers.py:1091 -#: stock/templates/stock/location.html:170 -#: 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:1061 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 -#: users/models.py:206 -msgid "Stock Items" -msgstr "Éléments en stock" +#: importer/serializers.py:159 +#, fuzzy +#| msgid "This build output has already been completed" +msgid "Row has already been completed" +msgstr "Cet ordre de production a déjà été produit" -#: company/templates/company/supplier_part_sidebar.html:9 -msgid "Supplier Part Pricing" -msgstr "Prix de la pièce du fournisseur" +#: importer/status_codes.py:11 +#, fuzzy +#| msgid "Initialized" +msgid "Initializing" +msgstr "Initialisé" -#: company/views.py:32 -msgid "New Supplier" -msgstr "Nouveau Fournisseur" +#: importer/status_codes.py:12 +msgid "Mapping Columns" +msgstr "" -#: company/views.py:38 -msgid "New Manufacturer" -msgstr "Nouveau Fabricant" +#: importer/status_codes.py:13 +#, fuzzy +#| msgid "Important dates" +msgid "Importing Data" +msgstr "Dates importantes" -#: company/views.py:43 templates/InvenTree/search.html:210 -#: templates/navbar.html:60 -msgid "Customers" -msgstr "Clients" +#: importer/status_codes.py:16 +msgid "Processing Data" +msgstr "" -#: company/views.py:44 -msgid "New Customer" -msgstr "Nouveaux Clients" +#: importer/validators.py:21 +#, fuzzy +#| msgid "Image download exceeded maximum size" +msgid "Data file exceeds maximum size limit" +msgstr "La taille de l'image dépasse la taille maximale autorisée" -#: company/views.py:52 -msgid "New Company" -msgstr "Nouvelle Entreprise" +#: importer/validators.py:26 +msgid "Data file contains no headers" +msgstr "" -#: generic/states/tests.py:18 order/status_codes.py:13 -msgid "Placed" -msgstr "Placé" +#: importer/validators.py:29 +msgid "Data file contains too many columns" +msgstr "" + +#: importer/validators.py:32 +msgid "Data file contains too many rows" +msgstr "" + +#: importer/validators.py:49 +#, fuzzy +#| msgid "Metadata must be a python dict object" +msgid "Value must be a valid dictionary object" +msgstr "Les metadata doivent être un objet python de type \"dict\"" #: machine/machine_types/label_printer.py:212 msgid "Copies" @@ -4783,7 +5050,7 @@ msgstr "" msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:229 order/api.py:1467 +#: machine/machine_types/label_printer.py:229 order/api.py:1388 #: templates/js/translated/sales_order.js:1078 msgid "Unknown" msgstr "Inconnu" @@ -4852,10 +5119,6 @@ msgstr "Aucune erreur" msgid "Initialized" msgstr "Initialisé" -#: machine/models.py:110 -msgid "Errors" -msgstr "Erreurs" - #: machine/models.py:117 msgid "Machine status" msgstr "Statut de la machine" @@ -4881,44 +5144,44 @@ msgstr "Type de configuration" msgid "Total Price" msgstr "Prix Total" -#: order/api.py:157 order/serializers.py:90 +#: order/api.py:149 order/serializers.py:94 #: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:113 #: order/templates/order/sales_order_base.html:122 msgid "Order Status" msgstr "Statut de la commande" -#: order/api.py:161 templates/js/translated/table_filters.js:194 -#: templates/js/translated/table_filters.js:779 +#: order/api.py:153 templates/js/translated/table_filters.js:194 +#: templates/js/translated/table_filters.js:784 msgid "Has Pricing" msgstr "Possède un Tarif" -#: order/api.py:236 +#: order/api.py:228 msgid "No matching purchase order found" msgstr "Aucun bon de commande correspondant n'a été trouvé" -#: order/api.py:435 order/api.py:801 order/models.py:1395 order/models.py:1504 -#: order/models.py:1550 order/models.py:1664 order/models.py:1818 -#: order/models.py:2231 order/models.py:2282 +#: order/api.py:417 order/api.py:755 order/models.py:1400 order/models.py:1514 +#: order/models.py:1565 order/models.py:1680 order/models.py:1839 +#: order/models.py:2258 order/models.py:2314 #: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "Commande" -#: order/api.py:439 order/api.py:822 +#: order/api.py:421 order/api.py:776 msgid "Order Complete" msgstr "Commande Complétée" -#: order/api.py:462 +#: order/api.py:444 msgid "Order Pending" msgstr "Commande En Attente" -#: order/api.py:1461 order/models.py:380 order/models.py:1396 -#: order/models.py:1505 order/templates/order/order_base.html:9 +#: order/api.py:1382 order/models.py:380 order/models.py:1401 +#: order/models.py:1515 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 -#: stock/serializers.py:118 stock/templates/stock/item_base.html:176 +#: stock/serializers.py:120 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/part.js:1746 templates/js/translated/pricing.js:804 +#: templates/js/translated/part.js:1749 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:1673 @@ -4926,8 +5189,8 @@ msgstr "Commande En Attente" msgid "Purchase Order" msgstr "Commande d’achat" -#: order/api.py:1465 order/models.py:1981 order/models.py:2232 -#: order/models.py:2283 order/templates/order/return_order_base.html:9 +#: order/api.py:1386 order/models.py:2007 order/models.py:2259 +#: order/models.py:2315 order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report.html:13 #: templates/js/translated/return_order.js:280 @@ -4939,11 +5202,11 @@ msgstr "Retour de commande" msgid "Total price for this order" msgstr "Prix total pour cette commande" -#: order/models.py:96 order/serializers.py:70 +#: order/models.py:96 order/serializers.py:72 msgid "Order Currency" msgstr "Devise de la commande" -#: order/models.py:99 order/serializers.py:71 +#: order/models.py:99 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" @@ -4959,7 +5222,7 @@ msgstr "Description de la commande (facultatif)" msgid "Select project code for this order" msgstr "" -#: order/models.py:303 order/models.py:1301 order/models.py:1717 +#: order/models.py:303 order/models.py:1301 order/models.py:1733 msgid "Link to external page" msgstr "Lien vers une page externe" @@ -5008,15 +5271,15 @@ msgstr "Code de référence de la commande fournisseur" msgid "received by" msgstr "reçu par" -#: order/models.py:514 order/models.py:2058 +#: order/models.py:514 order/models.py:2084 msgid "Issue Date" msgstr "Date d'émission" -#: order/models.py:515 order/models.py:2059 +#: order/models.py:515 order/models.py:2085 msgid "Date order was issued" msgstr "Date d'émission de la commande" -#: order/models.py:522 order/models.py:2066 +#: order/models.py:522 order/models.py:2092 msgid "Date order was completed" msgstr "Date à laquelle la commande a été complété" @@ -5032,15 +5295,15 @@ msgstr "La quantité doit être un nombre positif" msgid "Company to which the items are being sold" msgstr "Société à laquelle les articles sont vendus" -#: order/models.py:962 order/models.py:2051 +#: order/models.py:962 order/models.py:2077 msgid "Customer Reference " msgstr "Référence client " -#: order/models.py:963 order/models.py:2052 +#: order/models.py:963 order/models.py:2078 msgid "Customer order reference code" msgstr "" -#: order/models.py:967 order/models.py:1671 +#: order/models.py:967 order/models.py:1687 #: templates/js/translated/sales_order.js:879 #: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" @@ -5102,20 +5365,26 @@ msgstr "" msgid "Unit price" msgstr "Prix unitaire" -#: order/models.py:1380 +#: order/models.py:1361 +#, fuzzy +#| msgid "Purchase Order Items" +msgid "Purchase Order Line Item" +msgstr "Articles de la commande d'achat" + +#: order/models.py:1385 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1387 +#: order/models.py:1392 msgid "deleted" msgstr "supprimé" -#: order/models.py:1415 +#: order/models.py:1420 msgid "Supplier part" msgstr "Pièce fournisseur" -#: order/models.py:1422 order/templates/order/order_base.html:196 -#: templates/js/translated/part.js:1870 templates/js/translated/part.js:1902 +#: order/models.py:1427 order/templates/order/order_base.html:196 +#: templates/js/translated/part.js:1873 templates/js/translated/part.js:1905 #: templates/js/translated/purchase_order.js:1306 #: templates/js/translated/purchase_order.js:2169 #: templates/js/translated/return_order.js:763 @@ -5124,196 +5393,238 @@ msgstr "Pièce fournisseur" msgid "Received" msgstr "Reçu" -#: order/models.py:1423 +#: order/models.py:1428 msgid "Number of items received" msgstr "Nombre d'éléments reçus" -#: order/models.py:1431 stock/models.py:939 stock/serializers.py:556 +#: order/models.py:1436 stock/models.py:939 stock/serializers.py:602 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2311 msgid "Purchase Price" msgstr "Prix d'achat" -#: order/models.py:1432 +#: order/models.py:1437 msgid "Unit purchase price" msgstr "Prix d'achat unitaire" -#: order/models.py:1447 +#: order/models.py:1452 msgid "Where does the Purchaser want this item to be stored?" msgstr "Où l'Acheteur veut-il stocker cet article ?" -#: order/models.py:1538 +#: order/models.py:1503 +#, fuzzy +#| msgid "Purchase Order Items" +msgid "Purchase Order Extra Line" +msgstr "Articles de la commande d'achat" + +#: order/models.py:1532 +#, fuzzy +#| msgid "Sales Order" +msgid "Sales Order Line Item" +msgstr "Commandes" + +#: order/models.py:1553 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:1543 +#: order/models.py:1558 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:1569 part/templates/part/part_pricing.html:107 +#: order/models.py:1584 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:1570 +#: order/models.py:1585 msgid "Unit sale price" msgstr "Prix de vente unitaire" -#: order/models.py:1579 order/status_codes.py:43 +#: order/models.py:1594 order/status_codes.py:43 #: 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é" -#: order/models.py:1580 +#: order/models.py:1595 msgid "Shipped quantity" msgstr "Quantité expédiée" -#: order/models.py:1672 +#: order/models.py:1667 +#, fuzzy +#| msgid "Sales Order Default Shipment" +msgid "Sales Order Shipment" +msgstr "Expédition par défaut du bon de commande" + +#: order/models.py:1688 msgid "Date of shipment" msgstr "Date d'expédition" -#: order/models.py:1678 templates/js/translated/sales_order.js:1072 +#: order/models.py:1694 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "Date de Livraison" -#: order/models.py:1679 +#: order/models.py:1695 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1687 +#: order/models.py:1703 msgid "Checked By" msgstr "Vérifié par" -#: order/models.py:1688 +#: order/models.py:1704 msgid "User who checked this shipment" msgstr "Utilisateur qui a vérifié cet envoi" -#: order/models.py:1695 order/models.py:1908 order/serializers.py:1342 -#: order/serializers.py:1452 templates/js/translated/model_renderers.js:454 +#: order/models.py:1711 order/models.py:1934 order/serializers.py:1398 +#: order/serializers.py:1508 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "Envoi" -#: order/models.py:1696 +#: order/models.py:1712 msgid "Shipment number" msgstr "Numéro d'expédition" -#: order/models.py:1704 +#: order/models.py:1720 msgid "Tracking Number" msgstr "N° de suivi" -#: order/models.py:1705 +#: order/models.py:1721 msgid "Shipment tracking information" msgstr "Information de suivi des colis" -#: order/models.py:1712 +#: order/models.py:1728 msgid "Invoice Number" msgstr "N° de facture" -#: order/models.py:1713 +#: order/models.py:1729 msgid "Reference number for associated invoice" msgstr "Numéro de référence de la facture associée" -#: order/models.py:1733 +#: order/models.py:1749 msgid "Shipment has already been sent" msgstr "Le colis a déjà été envoyé" -#: order/models.py:1736 +#: order/models.py:1752 msgid "Shipment has no allocated stock items" msgstr "L'expédition n'a pas d'articles en stock alloués" -#: order/models.py:1854 order/models.py:1856 +#: order/models.py:1828 +#, fuzzy +#| msgid "Sales Order Reference" +msgid "Sales Order Extra Line" +msgstr "Bon de commande de référence" + +#: order/models.py:1857 +#, fuzzy +#| msgid "Discard Allocations" +msgid "Sales Order Allocation" +msgstr "Ignorer les allocations" + +#: order/models.py:1880 order/models.py:1882 msgid "Stock item has not been assigned" msgstr "L'article de stock n'a pas été assigné" -#: order/models.py:1863 +#: order/models.py:1889 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1866 +#: order/models.py:1892 msgid "Cannot allocate stock to a line without a part" msgstr "Impossible d'allouer le stock à une ligne sans pièce" -#: order/models.py:1869 +#: order/models.py:1895 msgid "Allocation quantity cannot exceed stock quantity" msgstr "La quantité d'allocation ne peut pas excéder la quantité en stock" -#: order/models.py:1888 order/serializers.py:1219 +#: order/models.py:1914 order/serializers.py:1275 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1891 +#: order/models.py:1917 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1892 plugin/base/barcodes/api.py:481 +#: order/models.py:1918 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1900 +#: order/models.py:1926 msgid "Line" msgstr "Ligne" -#: order/models.py:1909 +#: order/models.py:1935 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1922 order/models.py:2239 +#: order/models.py:1948 order/models.py:2266 #: templates/js/translated/return_order.js:721 msgid "Item" msgstr "Article" -#: order/models.py:1923 +#: order/models.py:1949 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1932 +#: order/models.py:1958 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2021 +#: order/models.py:2047 msgid "Return Order reference" msgstr "" -#: order/models.py:2033 +#: order/models.py:2059 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2045 +#: order/models.py:2071 msgid "Return order status" msgstr "Statut du retour de commande" -#: order/models.py:2224 +#: order/models.py:2237 +#, fuzzy +#| msgid "Return Order" +msgid "Return Order Line Item" +msgstr "Retour de commande" + +#: order/models.py:2251 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2240 +#: order/models.py:2267 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2246 +#: order/models.py:2273 msgid "Received Date" msgstr "" -#: order/models.py:2247 +#: order/models.py:2274 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2258 templates/js/translated/return_order.js:732 +#: order/models.py:2285 templates/js/translated/return_order.js:732 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2259 +#: order/models.py:2286 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2266 +#: order/models.py:2293 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:79 order/templates/order/po_sidebar.html:5 +#: order/models.py:2303 +#, fuzzy +#| msgid "Return Order" +msgid "Return Order Extra Line" +msgstr "Retour de commande" + +#: order/serializers.py:83 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_purchase_order_report.html:22 @@ -5322,163 +5633,173 @@ msgstr "" msgid "Line Items" msgstr "" -#: order/serializers.py:83 +#: order/serializers.py:87 msgid "Completed Lines" msgstr "" -#: order/serializers.py:286 +#: order/serializers.py:305 msgid "Order cannot be cancelled" msgstr "La commande ne peut pas être annulée" -#: order/serializers.py:301 order/serializers.py:1235 +#: order/serializers.py:320 order/serializers.py:1291 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:311 order/serializers.py:1245 +#: order/serializers.py:330 order/serializers.py:1301 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:439 +#: order/serializers.py:468 msgid "Order is not open" msgstr "La commande n'est pas ouverte" -#: order/serializers.py:460 +#: order/serializers.py:489 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:462 +#: order/serializers.py:491 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:472 +#: order/serializers.py:501 msgid "Purchase price currency" msgstr "Devise du prix d'achat" -#: order/serializers.py:478 +#: order/serializers.py:507 msgid "Merge Items" msgstr "" -#: order/serializers.py:480 +#: order/serializers.py:509 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:498 +#: order/serializers.py:522 part/models.py:945 +msgid "Internal Part Number" +msgstr "" + +#: order/serializers.py:530 +#, fuzzy +#| msgid "Internal Part" +msgid "Internal Part Name" +msgstr "Pièces Internes" + +#: order/serializers.py:546 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:501 +#: order/serializers.py:549 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:509 +#: order/serializers.py:557 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:510 +#: order/serializers.py:558 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:549 order/serializers.py:1313 +#: order/serializers.py:598 order/serializers.py:1369 msgid "Line Item" msgstr "" -#: order/serializers.py:555 +#: order/serializers.py:604 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:565 order/serializers.py:673 order/serializers.py:1657 +#: order/serializers.py:614 order/serializers.py:722 order/serializers.py:1715 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:581 templates/js/translated/purchase_order.js:1130 +#: order/serializers.py:630 templates/js/translated/purchase_order.js:1130 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:589 templates/js/translated/purchase_order.js:1154 +#: order/serializers.py:638 templates/js/translated/purchase_order.js:1154 msgid "Enter serial numbers for incoming stock items" msgstr "Entrez les numéros de série pour les articles de stock entrants" -#: order/serializers.py:600 templates/js/translated/barcode.js:52 +#: order/serializers.py:649 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "Code-barres" -#: order/serializers.py:601 +#: order/serializers.py:650 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:617 +#: order/serializers.py:666 msgid "Barcode is already in use" msgstr "Le code-barres est déjà utilisé" -#: order/serializers.py:641 +#: order/serializers.py:690 msgid "An integer quantity must be provided for trackable parts" msgstr "Une quantité entière doit être fournie pour les pièces tracables" -#: order/serializers.py:689 order/serializers.py:1673 +#: order/serializers.py:738 order/serializers.py:1731 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:705 +#: order/serializers.py:754 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:716 +#: order/serializers.py:765 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1062 +#: order/serializers.py:1117 msgid "Sale price currency" msgstr "Devise du prix de vente" -#: order/serializers.py:1122 +#: order/serializers.py:1178 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1183 order/serializers.py:1322 +#: order/serializers.py:1239 order/serializers.py:1378 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1202 +#: order/serializers.py:1258 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1332 +#: order/serializers.py:1388 msgid "Enter serial numbers to allocate" msgstr "Entrez les numéros de série à allouer" -#: order/serializers.py:1354 order/serializers.py:1460 +#: order/serializers.py:1410 order/serializers.py:1516 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1357 order/serializers.py:1463 +#: order/serializers.py:1413 order/serializers.py:1519 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1404 +#: order/serializers.py:1460 msgid "No match found for the following serial numbers" msgstr "Aucune correspondance trouvée pour les numéros de série suivants" -#: order/serializers.py:1411 +#: order/serializers.py:1467 msgid "The following serial numbers are already allocated" msgstr "Les numéros de série suivants sont déjà alloués" -#: order/serializers.py:1627 +#: order/serializers.py:1685 msgid "Return order line item" msgstr "" -#: order/serializers.py:1633 +#: order/serializers.py:1691 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1636 +#: order/serializers.py:1694 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1665 +#: order/serializers.py:1723 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1743 +#: order/serializers.py:1806 msgid "Line price currency" msgstr "" @@ -5808,7 +6129,7 @@ msgstr "Référence client" #: 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:1073 +#: templates/js/translated/part.js:1076 #: templates/js/translated/purchase_order.js:1752 #: templates/js/translated/return_order.js:380 #: templates/js/translated/sales_order.js:891 @@ -5904,34 +6225,29 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:398 part/models.py:3944 part/stocktake.py:219 +#: part/admin.py:39 part/admin.py:398 part/models.py:3991 part/stocktake.py:219 #: stock/admin.py:152 msgid "Part ID" msgstr "ID de composant" -#: part/admin.py:41 part/admin.py:405 part/models.py:3945 part/stocktake.py:220 -#: stock/admin.py:156 -msgid "Part Name" -msgstr "Nom de l'article" - #: part/admin.py:45 part/stocktake.py:221 msgid "Part Description" msgstr "Description pièce" -#: part/admin.py:48 part/models.py:940 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:944 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 -#: templates/js/translated/part.js:1227 templates/js/translated/part.js:2341 +#: templates/js/translated/part.js:1230 templates/js/translated/part.js:2344 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:949 part/templates/part/part_base.html:277 -#: report/models.py:162 templates/js/translated/part.js:1232 -#: templates/js/translated/part.js:2347 +#: part/admin.py:50 part/models.py:953 part/templates/part/part_base.html:277 +#: report/models.py:162 templates/js/translated/part.js:1235 +#: templates/js/translated/part.js:2350 msgid "Revision" msgstr "Révision" -#: part/admin.py:53 part/admin.py:319 part/models.py:922 +#: part/admin.py:53 part/admin.py:319 part/models.py:926 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "Mots-clés" @@ -5944,7 +6260,8 @@ msgstr "Image pièce" msgid "Category ID" msgstr "ID catégorie" -#: part/admin.py:67 part/admin.py:304 part/stocktake.py:223 +#: part/admin.py:67 part/admin.py:304 part/serializers.py:837 +#: part/stocktake.py:223 msgid "Category Name" msgstr "Nom catégorie" @@ -5956,11 +6273,11 @@ msgstr "ID Emplacement par défaut" msgid "Default Supplier ID" msgstr "ID Fournisseur par défaut" -#: part/admin.py:81 part/models.py:908 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:912 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "Variante de" -#: part/admin.py:84 part/models.py:1036 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1040 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "Stock Minimum" @@ -5968,18 +6285,19 @@ msgstr "Stock Minimum" msgid "Used In" msgstr "Utilisé pour" -#: part/admin.py:150 part/templates/part/part_base.html:241 stock/admin.py:235 -#: templates/js/translated/part.js:715 templates/js/translated/part.js:2153 +#: part/admin.py:150 part/serializers.py:854 +#: part/templates/part/part_base.html:241 stock/admin.py:235 +#: templates/js/translated/part.js:714 templates/js/translated/part.js:2156 msgid "Building" msgstr "Construction" -#: part/admin.py:155 part/models.py:3088 part/models.py:3102 -#: templates/js/translated/part.js:970 +#: part/admin.py:155 part/models.py:3098 part/models.py:3112 +#: templates/js/translated/part.js:973 msgid "Minimum Cost" msgstr "Coût minimal" -#: part/admin.py:158 part/models.py:3095 part/models.py:3109 -#: templates/js/translated/part.js:980 +#: part/admin.py:158 part/models.py:3105 part/models.py:3119 +#: templates/js/translated/part.js:983 msgid "Maximum Cost" msgstr "Coût maximal" @@ -5996,14 +6314,14 @@ msgstr "" msgid "Category Path" msgstr "Chemin catégorie" -#: part/admin.py:325 part/models.py:396 part/serializers.py:124 -#: part/serializers.py:267 part/serializers.py:386 +#: part/admin.py:325 part/models.py:397 part/serializers.py:130 +#: part/serializers.py:282 part/serializers.py:404 #: 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:2807 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:203 msgid "Parts" msgstr "Pièces" @@ -6020,125 +6338,117 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:402 part/models.py:3946 -msgid "Part IPN" -msgstr "" - -#: part/admin.py:415 part/serializers.py:1274 +#: part/admin.py:415 part/serializers.py:1302 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "Prix Minimum" -#: part/admin.py:420 part/serializers.py:1289 +#: part/admin.py:420 part/serializers.py:1317 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "Prix Maximum" -#: part/api.py:104 +#: part/api.py:105 msgid "Starred" msgstr "" -#: part/api.py:106 +#: part/api.py:107 msgid "Filter by starred categories" msgstr "" -#: part/api.py:123 stock/api.py:312 +#: part/api.py:124 stock/api.py:312 msgid "Depth" msgstr "Profondeur" -#: part/api.py:123 +#: part/api.py:124 msgid "Filter by category depth" msgstr "" -#: part/api.py:141 stock/api.py:330 +#: part/api.py:142 stock/api.py:330 msgid "Top Level" msgstr "" -#: part/api.py:143 +#: part/api.py:144 msgid "Filter by top-level categories" msgstr "" -#: part/api.py:156 stock/api.py:345 +#: part/api.py:157 stock/api.py:345 msgid "Cascade" msgstr "" -#: part/api.py:158 +#: part/api.py:159 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:179 templates/js/translated/part.js:308 +#: part/api.py:180 templates/js/translated/part.js:307 msgid "Parent" msgstr "" -#: part/api.py:181 +#: part/api.py:182 msgid "Filter by parent category" msgstr "" -#: part/api.py:214 +#: part/api.py:215 msgid "Exclude Tree" msgstr "" -#: part/api.py:216 +#: part/api.py:217 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:449 +#: part/api.py:442 msgid "Has Results" msgstr "" -#: part/api.py:616 +#: part/api.py:609 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:634 +#: part/api.py:627 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:650 +#: part/api.py:643 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:734 +#: part/api.py:727 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:881 -msgid "Valid" -msgstr "Valide" - -#: part/api.py:882 +#: part/api.py:875 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:888 +#: part/api.py:881 msgid "This option must be selected" msgstr "" -#: part/api.py:1105 +#: part/api.py:1098 msgid "BOM Valid" msgstr "" -#: part/api.py:1508 part/models.py:932 part/models.py:3374 part/models.py:3889 -#: part/serializers.py:401 part/serializers.py:1130 -#: part/templates/part/part_base.html:260 stock/api.py:791 +#: part/api.py:1494 part/models.py:936 part/models.py:3385 part/models.py:3936 +#: part/serializers.py:419 part/serializers.py:1158 +#: part/templates/part/part_base.html:260 stock/api.py:783 #: 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:2380 msgid "Category" msgstr "Catégorie" -#: part/api.py:1796 +#: part/api.py:1784 msgid "Uses" msgstr "Utilise" -#: part/bom.py:170 part/models.py:104 part/models.py:975 +#: part/bom.py:170 part/models.py:104 part/models.py:979 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "Emplacement par défaut" -#: part/bom.py:171 part/serializers.py:833 +#: part/bom.py:171 part/serializers.py:861 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "Stock total" @@ -6147,7 +6457,7 @@ msgstr "Stock total" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:85 part/models.py:3890 part/templates/part/category.html:16 +#: part/models.py:85 part/models.py:3937 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Catégorie de composant" @@ -6162,7 +6472,7 @@ msgstr "Catégories de composants" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:110 stock/models.py:175 templates/js/translated/part.js:2810 +#: part/models.py:110 stock/models.py:175 templates/js/translated/part.js:2813 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 @@ -6194,1002 +6504,1049 @@ msgstr "" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:485 +#: part/models.py:486 +msgid "Cannot delete this part as it is locked" +msgstr "" + +#: part/models.py:489 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:490 +#: part/models.py:494 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:528 +#: part/models.py:532 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:576 part/models.py:583 +#: part/models.py:580 part/models.py:587 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:595 +#: part/models.py:599 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:658 +#: part/models.py:662 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:736 +#: part/models.py:740 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:837 +#: part/models.py:841 msgid "Duplicate IPN not allowed in part settings" msgstr "IPN dupliqué non autorisé dans les paramètres de la pièce" -#: part/models.py:847 +#: part/models.py:851 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:862 +#: part/models.py:866 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:891 part/models.py:3945 +#: part/models.py:895 part/models.py:3992 msgid "Part name" msgstr "Nom de l'article" -#: part/models.py:896 +#: part/models.py:900 msgid "Is Template" msgstr "" -#: part/models.py:897 +#: part/models.py:901 msgid "Is this part a template part?" msgstr "" -#: part/models.py:907 +#: part/models.py:911 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:915 +#: part/models.py:919 msgid "Part description (optional)" msgstr "" -#: part/models.py:923 +#: part/models.py:927 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:933 +#: part/models.py:937 msgid "Part category" msgstr "Catégorie de la pièce" -#: part/models.py:941 -msgid "Internal Part Number" -msgstr "" - -#: part/models.py:948 +#: part/models.py:952 msgid "Part revision or version number" msgstr "" -#: part/models.py:973 +#: part/models.py:977 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1019 part/templates/part/part_base.html:376 +#: part/models.py:1023 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:1020 +#: part/models.py:1024 msgid "Default supplier part" msgstr "" -#: part/models.py:1027 +#: part/models.py:1031 msgid "Default Expiry" msgstr "" -#: part/models.py:1028 +#: part/models.py:1032 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1037 +#: part/models.py:1041 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1046 +#: part/models.py:1050 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1053 +#: part/models.py:1057 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1059 +#: part/models.py:1063 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1065 +#: part/models.py:1069 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1071 +#: part/models.py:1075 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1077 +#: part/models.py:1081 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1081 +#: part/models.py:1085 msgid "Is this part active?" msgstr "Est-ce que cette pièce est active ?" -#: part/models.py:1087 +#: part/models.py:1090 templates/js/translated/part.js:818 +#: templates/js/translated/table_filters.js:721 +#, fuzzy +#| msgid "Lock" +msgid "Locked" +msgstr "Verrouillé" + +#: part/models.py:1091 +#, fuzzy +#| msgid "Build order part cannot be changed" +msgid "Locked parts cannot be edited" +msgstr "La pièce de commande de construction ne peut pas être changée" + +#: part/models.py:1097 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1093 +#: part/models.py:1103 msgid "BOM checksum" msgstr "" -#: part/models.py:1094 +#: part/models.py:1104 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1102 +#: part/models.py:1112 msgid "BOM checked by" msgstr "" -#: part/models.py:1107 +#: part/models.py:1117 msgid "BOM checked date" msgstr "" -#: part/models.py:1123 +#: part/models.py:1133 msgid "Creation User" msgstr "Création Utilisateur" -#: part/models.py:1133 +#: part/models.py:1143 msgid "Owner responsible for this part" msgstr "Propriétaire responsable de cette pièce" -#: part/models.py:1138 part/templates/part/part_base.html:339 +#: part/models.py:1148 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:2474 msgid "Last Stocktake" msgstr "" -#: part/models.py:2011 +#: part/models.py:2021 msgid "Sell multiple" msgstr "Ventes multiples" -#: part/models.py:3002 +#: part/models.py:3012 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3018 +#: part/models.py:3028 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3019 +#: part/models.py:3029 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3025 +#: part/models.py:3035 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3026 +#: part/models.py:3036 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3032 +#: part/models.py:3042 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3033 +#: part/models.py:3043 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3039 +#: part/models.py:3049 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3040 +#: part/models.py:3050 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3046 +#: part/models.py:3056 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3047 +#: part/models.py:3057 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3053 +#: part/models.py:3063 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3054 +#: part/models.py:3064 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3060 +#: part/models.py:3070 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3061 +#: part/models.py:3071 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3067 +#: part/models.py:3077 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3068 +#: part/models.py:3078 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3074 +#: part/models.py:3084 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3075 +#: part/models.py:3085 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3081 +#: part/models.py:3091 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3082 +#: part/models.py:3092 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3089 +#: part/models.py:3099 msgid "Override minimum cost" msgstr "" -#: part/models.py:3096 +#: part/models.py:3106 msgid "Override maximum cost" msgstr "" -#: part/models.py:3103 +#: part/models.py:3113 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3110 +#: part/models.py:3120 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3116 +#: part/models.py:3126 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3117 +#: part/models.py:3127 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3123 +#: part/models.py:3133 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3124 +#: part/models.py:3134 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3130 +#: part/models.py:3140 msgid "Minimum Sale Cost" msgstr "Coût minimum de vente" -#: part/models.py:3131 +#: part/models.py:3141 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3137 +#: part/models.py:3147 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3138 +#: part/models.py:3148 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3157 +#: part/models.py:3167 msgid "Part for stocktake" msgstr "" -#: part/models.py:3162 +#: part/models.py:3172 msgid "Item Count" msgstr "" -#: part/models.py:3163 +#: part/models.py:3173 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3171 +#: part/models.py:3181 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3175 part/models.py:3258 +#: part/models.py:3185 part/models.py:3268 #: part/templates/part/part_scheduling.html:13 #: 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:1086 templates/js/translated/pricing.js:826 +#: templates/js/translated/part.js:1089 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 #: templates/js/translated/purchase_order.js:1731 #: templates/js/translated/stock.js:2821 msgid "Date" msgstr "" -#: part/models.py:3176 +#: part/models.py:3186 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3184 +#: part/models.py:3194 msgid "Additional notes" msgstr "Notes additionnelles" -#: part/models.py:3194 +#: part/models.py:3204 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3200 +#: part/models.py:3210 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3201 +#: part/models.py:3211 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3207 +#: part/models.py:3217 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3208 +#: part/models.py:3218 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3264 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3274 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3265 +#: part/models.py:3275 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3270 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3280 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3271 +#: part/models.py:3281 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3281 +#: part/models.py:3291 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3423 +#: part/models.py:3301 +#, fuzzy +#| msgid "Add Price Break" +msgid "Part Sale Price Break" +msgstr "Ajouter un prix de rupture" + +#: part/models.py:3413 +#, fuzzy +#| msgid "Test Templates" +msgid "Part Test Template" +msgstr "Tester le modèle" + +#: part/models.py:3439 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3444 part/models.py:3608 +#: part/models.py:3460 part/models.py:3629 msgid "Choices must be unique" msgstr "" -#: part/models.py:3455 +#: part/models.py:3471 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3466 +#: part/models.py:3482 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3483 templates/js/translated/part.js:2880 +#: part/models.py:3499 templates/js/translated/part.js:2883 msgid "Test Name" msgstr "Nom de test" -#: part/models.py:3484 +#: part/models.py:3500 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3490 +#: part/models.py:3506 msgid "Test Key" msgstr "" -#: part/models.py:3491 +#: part/models.py:3507 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3498 +#: part/models.py:3514 msgid "Test Description" msgstr "" -#: part/models.py:3499 +#: part/models.py:3515 msgid "Enter description for this test" msgstr "" -#: part/models.py:3503 report/models.py:209 -#: templates/js/translated/part.js:2901 +#: part/models.py:3519 report/models.py:209 +#: templates/js/translated/part.js:2904 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "Activé" -#: part/models.py:3503 +#: part/models.py:3519 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3508 templates/js/translated/part.js:2909 +#: part/models.py:3524 templates/js/translated/part.js:2912 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "Requis" -#: part/models.py:3509 +#: part/models.py:3525 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3514 templates/js/translated/part.js:2917 +#: part/models.py:3530 templates/js/translated/part.js:2920 msgid "Requires Value" msgstr "Valeur requise" -#: part/models.py:3515 +#: part/models.py:3531 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3520 templates/js/translated/part.js:2924 +#: part/models.py:3536 templates/js/translated/part.js:2927 msgid "Requires Attachment" msgstr "" -#: part/models.py:3522 +#: part/models.py:3538 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3528 part/models.py:3667 templates/js/translated/part.js:1637 +#: part/models.py:3544 part/models.py:3688 templates/js/translated/part.js:1640 msgid "Choices" msgstr "" -#: part/models.py:3529 +#: part/models.py:3545 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3583 +#: part/models.py:3577 +#, fuzzy +#| msgid "Copy Category Parameter Templates" +msgid "Part Parameter Template" +msgstr "Copier les templates de paramètres de catégorie" + +#: part/models.py:3604 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3588 +#: part/models.py:3609 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3625 +#: part/models.py:3646 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3640 +#: part/models.py:3661 msgid "Parameter Name" msgstr "" -#: part/models.py:3647 +#: part/models.py:3668 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3655 +#: part/models.py:3676 msgid "Parameter description" msgstr "" -#: part/models.py:3661 templates/js/translated/part.js:1628 -#: templates/js/translated/table_filters.js:825 +#: part/models.py:3682 templates/js/translated/part.js:1631 +#: templates/js/translated/table_filters.js:830 msgid "Checkbox" msgstr "" -#: part/models.py:3662 +#: part/models.py:3683 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3668 +#: part/models.py:3689 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3745 +#: part/models.py:3723 +#, fuzzy +#| msgid "Parameters" +msgid "Part Parameter" +msgstr "Paramètres" + +#: part/models.py:3749 +msgid "Parameter cannot be modified - part is locked" +msgstr "" + +#: part/models.py:3785 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3788 +#: part/models.py:3828 msgid "Parent Part" msgstr "" -#: part/models.py:3796 part/models.py:3897 part/models.py:3898 +#: part/models.py:3836 part/models.py:3944 part/models.py:3945 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3801 -msgid "Data" -msgstr "Données" - -#: part/models.py:3802 +#: part/models.py:3842 msgid "Parameter Value" msgstr "" -#: part/models.py:3904 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3892 +#, fuzzy +#| msgid "Copy Category Parameter Templates" +msgid "Part Category Parameter Template" +msgstr "Copier les templates de paramètres de catégorie" + +#: part/models.py:3951 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "Valeur par Défaut" -#: part/models.py:3905 +#: part/models.py:3952 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3943 +#: part/models.py:3990 msgid "Part ID or part name" msgstr "" -#: part/models.py:3944 +#: part/models.py:3991 msgid "Unique part ID value" msgstr "" -#: part/models.py:3946 +#: part/models.py:3993 msgid "Part IPN value" msgstr "" -#: part/models.py:3947 +#: part/models.py:3994 msgid "Level" msgstr "" -#: part/models.py:3947 +#: part/models.py:3994 msgid "BOM level" msgstr "" -#: part/models.py:4037 +#: part/models.py:4105 +msgid "BOM item cannot be modified - assembly is locked" +msgstr "" + +#: part/models.py:4112 +msgid "BOM item cannot be modified - variant assembly is locked" +msgstr "" + +#: part/models.py:4122 msgid "Select parent part" msgstr "" -#: part/models.py:4047 +#: part/models.py:4132 msgid "Sub part" msgstr "" -#: part/models.py:4048 +#: part/models.py:4133 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4059 +#: part/models.py:4144 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4065 +#: part/models.py:4150 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4071 +#: part/models.py:4156 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4078 part/templates/part/upload_bom.html:55 +#: part/models.py:4163 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Surplus" -#: part/models.py:4079 +#: part/models.py:4164 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4086 +#: part/models.py:4171 msgid "BOM item reference" msgstr "" -#: part/models.py:4094 +#: part/models.py:4179 msgid "BOM item notes" msgstr "" -#: part/models.py:4100 +#: part/models.py:4185 msgid "Checksum" msgstr "" -#: part/models.py:4101 +#: part/models.py:4186 msgid "BOM line checksum" msgstr "" -#: part/models.py:4106 templates/js/translated/table_filters.js:174 +#: part/models.py:4191 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "Validée" -#: part/models.py:4107 +#: part/models.py:4192 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4112 part/templates/part/upload_bom.html:57 +#: part/models.py:4197 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:4113 +#: part/models.py:4198 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4118 part/templates/part/upload_bom.html:56 +#: part/models.py:4203 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4119 +#: part/models.py:4204 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4204 stock/models.py:663 +#: part/models.py:4289 stock/models.py:663 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4214 part/models.py:4216 +#: part/models.py:4299 part/models.py:4301 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4354 +#: part/models.py:4439 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4375 +#: part/models.py:4460 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4388 +#: part/models.py:4473 msgid "Parent BOM item" msgstr "" -#: part/models.py:4396 +#: part/models.py:4481 msgid "Substitute part" msgstr "" -#: part/models.py:4412 +#: part/models.py:4497 msgid "Part 1" msgstr "" -#: part/models.py:4420 +#: part/models.py:4505 msgid "Part 2" msgstr "" -#: part/models.py:4421 +#: part/models.py:4506 msgid "Select Related Part" msgstr "" -#: part/models.py:4440 +#: part/models.py:4525 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4445 +#: part/models.py:4530 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:118 +#: part/serializers.py:124 msgid "Parent Category" msgstr "" -#: part/serializers.py:119 templates/js/translated/part.js:309 +#: part/serializers.py:125 templates/js/translated/part.js:308 msgid "Parent part category" msgstr "" -#: part/serializers.py:126 part/serializers.py:148 +#: part/serializers.py:132 part/serializers.py:154 #: part/templates/part/category.html:122 part/templates/part/category.html:207 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" -#: part/serializers.py:180 +#: part/serializers.py:189 msgid "Results" msgstr "" -#: part/serializers.py:181 +#: part/serializers.py:190 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:205 part/serializers.py:223 stock/serializers.py:562 +#: part/serializers.py:217 part/serializers.py:235 stock/serializers.py:608 msgid "Purchase currency of this stock item" msgstr "Devise d'achat de l'item" -#: part/serializers.py:268 +#: part/serializers.py:283 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:392 +#: part/serializers.py:410 msgid "No parts selected" msgstr "" -#: part/serializers.py:402 +#: part/serializers.py:420 msgid "Select category" msgstr "" -#: part/serializers.py:437 +#: part/serializers.py:455 msgid "Original Part" msgstr "" -#: part/serializers.py:438 +#: part/serializers.py:456 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:461 msgid "Copy Image" msgstr "Copier l'image" -#: part/serializers.py:444 +#: part/serializers.py:462 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:450 part/templates/part/detail.html:277 +#: part/serializers.py:468 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:451 +#: part/serializers.py:469 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:457 +#: part/serializers.py:475 msgid "Copy Parameters" msgstr "Copier les paramètres" -#: part/serializers.py:458 +#: part/serializers.py:476 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:464 +#: part/serializers.py:482 msgid "Copy Notes" msgstr "" -#: part/serializers.py:465 +#: part/serializers.py:483 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:483 +#: part/serializers.py:501 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:485 +#: part/serializers.py:503 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:492 +#: part/serializers.py:510 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:493 +#: part/serializers.py:511 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:510 +#: part/serializers.py:528 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:526 +#: part/serializers.py:544 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:536 +#: part/serializers.py:554 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:543 +#: part/serializers.py:561 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:552 +#: part/serializers.py:570 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:563 +#: part/serializers.py:581 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:570 +#: part/serializers.py:588 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:834 -msgid "External Stock" -msgstr "" - -#: part/serializers.py:836 +#: part/serializers.py:864 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:839 +#: part/serializers.py:867 msgid "Variant Stock" msgstr "" -#: part/serializers.py:869 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:472 +#: part/serializers.py:897 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:870 +#: part/serializers.py:898 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:876 templates/js/translated/part.js:102 +#: part/serializers.py:904 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:877 +#: part/serializers.py:905 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:883 +#: part/serializers.py:911 msgid "Supplier Information" msgstr "" -#: part/serializers.py:884 +#: part/serializers.py:912 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:892 +#: part/serializers.py:920 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:893 +#: part/serializers.py:921 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:898 +#: part/serializers.py:926 msgid "Existing Image" msgstr "" -#: part/serializers.py:899 +#: part/serializers.py:927 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:916 +#: part/serializers.py:944 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1122 +#: part/serializers.py:1150 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1132 +#: part/serializers.py:1160 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1142 +#: part/serializers.py:1170 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1148 +#: part/serializers.py:1176 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1149 +#: part/serializers.py:1177 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1154 +#: part/serializers.py:1182 msgid "Generate Report" msgstr "" -#: part/serializers.py:1155 +#: part/serializers.py:1183 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1160 +#: part/serializers.py:1188 msgid "Update Parts" msgstr "" -#: part/serializers.py:1161 +#: part/serializers.py:1189 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1169 +#: part/serializers.py:1197 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1275 +#: part/serializers.py:1303 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1282 +#: part/serializers.py:1310 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1290 +#: part/serializers.py:1318 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1297 +#: part/serializers.py:1325 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1326 +#: part/serializers.py:1354 msgid "Update" msgstr "" -#: part/serializers.py:1327 +#: part/serializers.py:1355 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1350 +#: part/serializers.py:1378 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1357 +#: part/serializers.py:1385 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1360 +#: part/serializers.py:1388 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1727 +#: part/serializers.py:1759 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1735 +#: part/serializers.py:1767 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1736 +#: part/serializers.py:1768 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1741 +#: part/serializers.py:1773 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1742 +#: part/serializers.py:1774 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1747 +#: part/serializers.py:1779 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1748 +#: part/serializers.py:1780 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1753 +#: part/serializers.py:1785 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1754 +#: part/serializers.py:1786 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1788 +#: part/serializers.py:1823 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1789 +#: part/serializers.py:1824 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1819 +#: part/serializers.py:1856 msgid "No part column specified" msgstr "" -#: part/serializers.py:1863 +#: part/serializers.py:1900 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1866 +#: part/serializers.py:1903 msgid "No matching part found" msgstr "" -#: part/serializers.py:1869 +#: part/serializers.py:1906 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1878 +#: part/serializers.py:1915 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1886 +#: part/serializers.py:1923 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1907 +#: part/serializers.py:1946 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:225 templates/js/translated/part.js:1067 -#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 +#: part/stocktake.py:225 templates/js/translated/part.js:1070 +#: templates/js/translated/part.js:1825 templates/js/translated/part.js:1881 #: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "" @@ -7507,7 +7864,7 @@ msgstr "S'abonner aux notifications de cette pièce" #: part/templates/part/part_base.html:52 #: stock/templates/stock/item_base.html:62 -#: stock/templates/stock/location.html:74 templates/js/translated/label.js:143 +#: stock/templates/stock/location.html:74 templates/js/translated/label.js:136 msgid "Print Label" msgstr "Impression étiquette" @@ -7529,7 +7886,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:2296 msgid "Part actions" msgstr "" @@ -7569,6 +7926,10 @@ msgstr "" msgid "Part can be sold to customers" msgstr "" +#: part/templates/part/part_base.html:145 +msgid "Part is not active" +msgstr "" + #: part/templates/part/part_base.html:153 msgid "Part is virtual (not a physical part)" msgstr "" @@ -7597,7 +7958,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:322 templates/js/translated/bom.js:1071 -#: templates/js/translated/part.js:1265 templates/js/translated/part.js:2444 +#: templates/js/translated/part.js:1268 templates/js/translated/part.js:2447 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" @@ -7690,8 +8051,8 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/part.js:1243 templates/js/translated/part.js:2146 -#: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 +#: templates/js/translated/part.js:1246 templates/js/translated/part.js:2149 +#: templates/js/translated/part.js:2395 templates/js/translated/stock.js:1059 #: templates/js/translated/stock.js:2070 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -7811,8 +8172,8 @@ msgstr "" #: part/templates/part/stock_count.html:7 #: templates/js/translated/model_renderers.js:227 -#: templates/js/translated/part.js:705 templates/js/translated/part.js:2141 -#: templates/js/translated/part.js:2143 +#: templates/js/translated/part.js:704 templates/js/translated/part.js:2144 +#: templates/js/translated/part.js:2146 msgid "No Stock" msgstr "" @@ -7956,7 +8317,7 @@ msgstr "" msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2589 +#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2590 #: templates/js/translated/sales_order.js:1953 msgid "Insufficient stock available" msgstr "" @@ -8051,7 +8412,7 @@ msgstr "" msgid "Quantity to allocate" msgstr "" -#: plugin/base/label/label.py:39 templates/js/translated/label.js:155 +#: plugin/base/label/label.py:39 templates/js/translated/label.js:148 msgid "Label printing failed" msgstr "" @@ -8748,7 +9109,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report.html:25 #: report/templates/report/inventree_test_report.html:88 stock/models.py:825 -#: stock/serializers.py:149 stock/templates/stock/item_base.html:311 +#: stock/serializers.py:151 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:230 @@ -8778,7 +9139,7 @@ msgstr "" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2447 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2457 msgid "Result" msgstr "Résultat" @@ -8799,7 +9160,7 @@ msgid "No result" msgstr "" #: report/templates/report/inventree_test_report.html:153 -#: stock/templates/stock/stock_sidebar.html:16 +#: stock/serializers.py:591 stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" @@ -8829,10 +9190,6 @@ msgstr "" msgid "Location ID" msgstr "" -#: stock/admin.py:53 stock/admin.py:175 -msgid "Location Name" -msgstr "" - #: stock/admin.py:63 stock/templates/stock/location.html:131 #: stock/templates/stock/location.html:137 msgid "Location Path" @@ -8909,7 +9266,7 @@ msgstr "" msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:369 stock/serializers.py:1085 +#: stock/api.py:369 stock/serializers.py:1148 msgid "Parent Location" msgstr "" @@ -8917,44 +9274,45 @@ msgstr "" msgid "Filter by parent location" msgstr "" -#: stock/api.py:625 templates/js/translated/table_filters.js:427 +#: stock/api.py:617 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:813 +#: stock/api.py:805 msgid "Part Tree" msgstr "" -#: stock/api.py:843 +#: stock/api.py:835 msgid "Expiry date before" msgstr "" -#: stock/api.py:847 +#: stock/api.py:839 msgid "Expiry date after" msgstr "" -#: stock/api.py:850 stock/templates/stock/item_base.html:439 +#: stock/api.py:842 stock/serializers.py:596 +#: stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "" -#: stock/api.py:937 +#: stock/api.py:929 msgid "Quantity is required" msgstr "" -#: stock/api.py:943 +#: stock/api.py:935 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:974 +#: stock/api.py:966 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:984 +#: stock/api.py:976 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1015 +#: stock/api.py:1007 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -9021,7 +9379,7 @@ msgstr "" msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:669 stock/serializers.py:446 +#: stock/models.py:669 stock/serializers.py:477 msgid "Stock item cannot be created for virtual parts" msgstr "" @@ -9066,7 +9424,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:799 stock/serializers.py:1476 +#: stock/models.py:799 stock/serializers.py:1542 msgid "Packaging this stock item is stored in" msgstr "" @@ -9078,7 +9436,7 @@ msgstr "" msgid "Serial number for this item" msgstr "Numéro de série pour cet article" -#: stock/models.py:843 stock/serializers.py:1459 +#: stock/models.py:843 stock/serializers.py:1525 msgid "Batch code for this stock item" msgstr "" @@ -9155,7 +9513,7 @@ msgstr "Les numéros de série doivent être une liste de nombres entiers" msgid "Quantity does not match serial numbers" msgstr "La quantité ne correspond pas au nombre de numéros de série" -#: stock/models.py:1520 stock/serializers.py:660 +#: stock/models.py:1520 stock/serializers.py:718 msgid "Serial numbers already exist" msgstr "Les numéros de série existent déjà" @@ -9187,7 +9545,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1658 stock/serializers.py:1365 +#: stock/models.py:1658 stock/serializers.py:1431 msgid "Duplicate stock items" msgstr "" @@ -9207,288 +9565,342 @@ msgstr "" msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2345 +#: stock/models.py:2317 +#, fuzzy +#| msgid "Use Stock Item Pricing" +msgid "Stock Item Tracking" +msgstr "Utiliser les prix des articles en stock" + +#: stock/models.py:2350 msgid "Entry notes" msgstr "" -#: stock/models.py:2413 +#: stock/models.py:2390 +#, fuzzy +#| msgid "Stock Items" +msgid "Stock Item Test Result" +msgstr "Éléments en stock" + +#: stock/models.py:2423 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2418 +#: stock/models.py:2428 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2423 +#: stock/models.py:2433 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2447 +#: stock/models.py:2457 msgid "Test result" msgstr "" -#: stock/models.py:2454 +#: stock/models.py:2464 msgid "Test output value" msgstr "" -#: stock/models.py:2462 +#: stock/models.py:2472 msgid "Test result attachment" msgstr "" -#: stock/models.py:2466 +#: stock/models.py:2476 msgid "Test notes" msgstr "" -#: stock/models.py:2474 templates/js/translated/stock.js:1548 +#: stock/models.py:2484 templates/js/translated/stock.js:1548 msgid "Test station" msgstr "" -#: stock/models.py:2475 +#: stock/models.py:2485 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2481 +#: stock/models.py:2491 msgid "Started" msgstr "" -#: stock/models.py:2482 +#: stock/models.py:2492 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2488 +#: stock/models.py:2498 msgid "Finished" msgstr "" -#: stock/models.py:2489 +#: stock/models.py:2499 msgid "The timestamp of the test finish" msgstr "" -#: stock/serializers.py:74 +#: stock/serializers.py:76 msgid "Generated batch code" msgstr "" -#: stock/serializers.py:83 +#: stock/serializers.py:85 msgid "Select build order" msgstr "" -#: stock/serializers.py:92 +#: stock/serializers.py:94 msgid "Select stock item to generate batch code for" msgstr "" -#: stock/serializers.py:101 +#: stock/serializers.py:103 msgid "Select location to generate batch code for" msgstr "" -#: stock/serializers.py:110 +#: stock/serializers.py:112 msgid "Select part to generate batch code for" msgstr "" -#: stock/serializers.py:119 +#: stock/serializers.py:121 msgid "Select purchase order" msgstr "" -#: stock/serializers.py:126 +#: stock/serializers.py:128 msgid "Enter quantity for batch code" msgstr "" -#: stock/serializers.py:149 +#: stock/serializers.py:151 msgid "Generated serial number" msgstr "" -#: stock/serializers.py:158 +#: stock/serializers.py:160 msgid "Select part to generate serial number for" msgstr "" -#: stock/serializers.py:166 +#: stock/serializers.py:168 msgid "Quantity of serial numbers to generate" msgstr "" -#: stock/serializers.py:228 +#: stock/serializers.py:233 msgid "Test template for this result" msgstr "" -#: stock/serializers.py:247 +#: stock/serializers.py:252 msgid "Template ID or test name must be provided" msgstr "" -#: stock/serializers.py:279 +#: stock/serializers.py:284 msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:315 +#: stock/serializers.py:320 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:438 +#: stock/serializers.py:449 stock/templates/stock/item_base.html:193 +msgid "Parent Item" +msgstr "" + +#: stock/serializers.py:450 +#, fuzzy +#| msgid "Source stock item" +msgid "Parent stock item" +msgstr "Stock d'origine de l'article" + +#: stock/serializers.py:469 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:558 +#: stock/serializers.py:585 templates/js/translated/build.js:991 +#: templates/js/translated/build.js:2344 +msgid "Allocated Quantity" +msgstr "" + +#: stock/serializers.py:588 stock/templates/stock/item_base.html:437 +#: templates/js/translated/table_filters.js:435 users/models.py:174 +msgid "Expired" +msgstr "" + +#: stock/serializers.py:594 stock/templates/stock/stock_sidebar.html:20 +msgid "Child Items" +msgstr "" + +#: stock/serializers.py:598 +#, fuzzy +#| msgid "Tracking Number" +msgid "Tracking Items" +msgstr "N° de suivi" + +#: stock/serializers.py:604 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:595 +#: stock/serializers.py:623 +#, fuzzy +#| msgid "Minimum Price" +msgid "Minimum Pricing" +msgstr "Prix Minimum" + +#: stock/serializers.py:629 +#, fuzzy +#| msgid "Maximum Price" +msgid "Maximum Pricing" +msgstr "Prix Maximum" + +#: stock/serializers.py:653 msgid "Enter number of stock items to serialize" msgstr "Entrez le nombre d'articles en stock à sérialiser" -#: stock/serializers.py:608 +#: stock/serializers.py:666 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:615 +#: stock/serializers.py:673 msgid "Enter serial numbers for new items" msgstr "Entrez les numéros de série pour les nouveaux articles" -#: stock/serializers.py:626 stock/serializers.py:1322 stock/serializers.py:1578 +#: stock/serializers.py:684 stock/serializers.py:1388 stock/serializers.py:1644 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:633 +#: stock/serializers.py:691 msgid "Optional note field" msgstr "" -#: stock/serializers.py:643 +#: stock/serializers.py:701 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:698 +#: stock/serializers.py:756 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:705 +#: stock/serializers.py:763 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:706 +#: stock/serializers.py:764 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:711 stock/serializers.py:791 stock/serializers.py:887 -#: stock/serializers.py:937 +#: stock/serializers.py:769 stock/serializers.py:849 stock/serializers.py:945 +#: stock/serializers.py:995 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:719 +#: stock/serializers.py:777 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:727 +#: stock/serializers.py:785 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:738 +#: stock/serializers.py:796 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:751 +#: stock/serializers.py:809 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:786 +#: stock/serializers.py:844 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:821 +#: stock/serializers.py:879 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:834 +#: stock/serializers.py:892 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:851 +#: stock/serializers.py:909 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:882 +#: stock/serializers.py:940 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:919 +#: stock/serializers.py:977 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:925 +#: stock/serializers.py:983 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1021 stock/serializers.py:1093 +#: stock/serializers.py:1079 stock/serializers.py:1156 #: stock/templates/stock/location.html:165 #: stock/templates/stock/location.html:222 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1086 templates/js/translated/stock.js:152 +#: stock/serializers.py:1149 templates/js/translated/stock.js:152 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1194 +#: stock/serializers.py:1260 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1198 +#: stock/serializers.py:1264 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1202 +#: stock/serializers.py:1268 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1226 +#: stock/serializers.py:1292 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1232 +#: stock/serializers.py:1298 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1240 +#: stock/serializers.py:1306 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1250 stock/serializers.py:1504 +#: stock/serializers.py:1316 stock/serializers.py:1570 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1329 +#: stock/serializers.py:1395 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1334 +#: stock/serializers.py:1400 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1335 +#: stock/serializers.py:1401 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1340 +#: stock/serializers.py:1406 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1341 +#: stock/serializers.py:1407 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1351 +#: stock/serializers.py:1417 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1418 +#: stock/serializers.py:1484 msgid "No Change" msgstr "" -#: stock/serializers.py:1447 +#: stock/serializers.py:1513 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1466 +#: stock/serializers.py:1532 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1494 +#: stock/serializers.py:1560 msgid "Stock transaction notes" msgstr "" @@ -9757,10 +10169,6 @@ msgstr "" msgid "Build" msgstr "Assemblage" -#: stock/templates/stock/item_base.html:193 -msgid "Parent Item" -msgstr "" - #: stock/templates/stock/item_base.html:211 msgid "No manufacturer set" msgstr "" @@ -9836,11 +10244,6 @@ msgstr "" msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:437 -#: templates/js/translated/table_filters.js:435 users/models.py:174 -msgid "Expired" -msgstr "" - #: stock/templates/stock/item_base.html:439 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" @@ -9988,10 +10391,6 @@ msgstr "" msgid "Allocations" msgstr "" -#: stock/templates/stock/stock_sidebar.html:20 -msgid "Child Items" -msgstr "" - #: templates/403.html:6 templates/403.html:12 templates/403_csrf.html:7 msgid "Permission Denied" msgstr "Autorisation refusée" @@ -10466,8 +10865,8 @@ 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:393 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:245 users/models.py:402 +#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 +#: templates/js/translated/stock.js:245 users/models.py:406 msgid "Delete" msgstr "Supprimer" @@ -10507,12 +10906,12 @@ msgid "No category parameter templates found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:308 -#: templates/js/translated/part.js:1646 +#: templates/js/translated/part.js:1649 msgid "Edit Template" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:309 -#: templates/js/translated/part.js:1647 +#: templates/js/translated/part.js:1650 msgid "Delete Template" msgstr "" @@ -11145,7 +11544,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2556 +#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2557 msgid "Required Quantity" msgstr "Quantité requise" @@ -11159,7 +11558,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3219 +#: templates/js/translated/part.js:3222 msgid "Minimum Quantity" msgstr "" @@ -11514,7 +11913,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2500 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2501 msgid "Variant stock allowed" msgstr "" @@ -11534,30 +11933,30 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2621 +#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2622 msgid "External stock" msgstr "" -#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2595 +#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2596 #: templates/js/translated/sales_order.js:1946 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2599 +#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2600 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2601 -#: templates/js/translated/part.js:1257 +#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2602 +#: templates/js/translated/part.js:1260 #: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2603 +#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2604 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2586 +#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2587 msgid "Consumable item" msgstr "" @@ -11589,7 +11988,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2485 +#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2486 msgid "Required Part" msgstr "" @@ -11758,10 +12157,6 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:991 templates/js/translated/build.js:2344 -msgid "Allocated Quantity" -msgstr "" - #: templates/js/translated/build.js:1005 msgid "Location not specified" msgstr "" @@ -11873,9 +12268,9 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2117 templates/js/translated/build.js:2479 +#: templates/js/translated/build.js:2117 templates/js/translated/build.js:2480 #: templates/js/translated/forms.js:2163 templates/js/translated/forms.js:2179 -#: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 +#: templates/js/translated/part.js:2319 templates/js/translated/part.js:2745 #: templates/js/translated/stock.js:1983 templates/js/translated/stock.js:2710 msgid "Select" msgstr "" @@ -11906,59 +12301,59 @@ msgstr "" msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2455 +#: templates/js/translated/build.js:2456 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2456 +#: templates/js/translated/build.js:2457 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2474 +#: templates/js/translated/build.js:2475 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2504 templates/js/translated/part.js:791 -#: templates/js/translated/part.js:1203 +#: templates/js/translated/build.js:2505 templates/js/translated/part.js:790 +#: templates/js/translated/part.js:1206 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2539 +#: templates/js/translated/build.js:2540 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2591 +#: templates/js/translated/build.js:2592 #: templates/js/translated/sales_order.js:1951 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2646 +#: templates/js/translated/build.js:2647 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2653 +#: templates/js/translated/build.js:2654 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2654 +#: templates/js/translated/build.js:2655 msgid "Allocate tracked items against individual build outputs" msgstr "" -#: templates/js/translated/build.js:2662 +#: templates/js/translated/build.js:2663 #: templates/js/translated/sales_order.js:2052 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2667 templates/js/translated/stock.js:1868 +#: templates/js/translated/build.js:2668 templates/js/translated/stock.js:1868 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2671 +#: templates/js/translated/build.js:2672 #: templates/js/translated/sales_order.js:2046 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2675 +#: templates/js/translated/build.js:2676 msgid "Remove stock allocation" msgstr "" @@ -12105,7 +12500,7 @@ msgid "Delete Parameters" msgstr "" #: templates/js/translated/company.js:1191 -#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2245 +#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2248 msgid "Order parts" msgstr "" @@ -12122,34 +12517,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:1279 -#: templates/js/translated/company.js:1567 templates/js/translated/part.js:799 -#: templates/js/translated/part.js:1211 +#: templates/js/translated/company.js:1567 templates/js/translated/part.js:798 +#: templates/js/translated/part.js:1214 msgid "Template part" msgstr "" #: templates/js/translated/company.js:1283 -#: templates/js/translated/company.js:1571 templates/js/translated/part.js:803 -#: templates/js/translated/part.js:1215 +#: templates/js/translated/company.js:1571 templates/js/translated/part.js:802 +#: templates/js/translated/part.js:1218 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1465 +#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1468 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1528 +#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1531 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1529 +#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1532 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1434 +#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1437 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1550 +#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1553 msgid "Delete Parameter" msgstr "" @@ -12323,15 +12718,15 @@ msgstr "" msgid "No parts required for builds" msgstr "" -#: templates/js/translated/label.js:55 templates/js/translated/report.js:38 +#: templates/js/translated/label.js:48 templates/js/translated/report.js:38 msgid "Select Items" msgstr "" -#: templates/js/translated/label.js:56 templates/js/translated/report.js:39 +#: templates/js/translated/label.js:49 templates/js/translated/report.js:39 msgid "No items selected for printing" msgstr "" -#: templates/js/translated/label.js:150 +#: templates/js/translated/label.js:143 msgid "Labels sent to printer" msgstr "" @@ -12400,7 +12795,7 @@ msgstr "" #: templates/js/translated/news.js:38 #: templates/js/translated/notification.js:46 -#: templates/js/translated/part.js:1605 +#: templates/js/translated/part.js:1608 msgid "ID" msgstr "" @@ -12481,343 +12876,343 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:333 templates/js/translated/stock.js:175 +#: templates/js/translated/part.js:332 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:353 +#: templates/js/translated/part.js:352 msgid "Create Part Category" msgstr "" -#: templates/js/translated/part.js:356 +#: templates/js/translated/part.js:355 msgid "Create new category after this one" msgstr "" -#: templates/js/translated/part.js:357 +#: templates/js/translated/part.js:356 msgid "Part category created" msgstr "" -#: templates/js/translated/part.js:371 +#: templates/js/translated/part.js:370 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:384 +#: templates/js/translated/part.js:383 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:389 +#: templates/js/translated/part.js:388 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:398 +#: templates/js/translated/part.js:397 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:402 +#: templates/js/translated/part.js:401 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:407 +#: templates/js/translated/part.js:406 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:431 +#: templates/js/translated/part.js:430 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:433 +#: templates/js/translated/part.js:432 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:434 +#: templates/js/translated/part.js:433 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:462 +#: templates/js/translated/part.js:461 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:464 +#: templates/js/translated/part.js:463 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:475 +#: templates/js/translated/part.js:474 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:532 +#: templates/js/translated/part.js:531 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:533 +#: templates/js/translated/part.js:532 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:547 +#: templates/js/translated/part.js:546 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:549 +#: templates/js/translated/part.js:548 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:550 +#: templates/js/translated/part.js:549 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:551 +#: templates/js/translated/part.js:550 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:558 +#: templates/js/translated/part.js:557 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:594 +#: templates/js/translated/part.js:593 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:596 +#: templates/js/translated/part.js:595 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:601 +#: templates/js/translated/part.js:600 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:603 +#: templates/js/translated/part.js:602 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:620 +#: templates/js/translated/part.js:619 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:630 +#: templates/js/translated/part.js:629 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:633 +#: templates/js/translated/part.js:632 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:658 +#: templates/js/translated/part.js:657 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:686 -#: templates/js/translated/table_filters.js:747 +#: templates/js/translated/part.js:685 +#: templates/js/translated/table_filters.js:752 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:689 +#: templates/js/translated/part.js:688 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:749 +#: templates/js/translated/part.js:748 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:772 +#: templates/js/translated/part.js:771 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:795 templates/js/translated/part.js:1207 +#: templates/js/translated/part.js:794 templates/js/translated/part.js:1210 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:807 +#: templates/js/translated/part.js:806 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:811 +#: templates/js/translated/part.js:810 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:890 +#: templates/js/translated/part.js:893 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:890 +#: templates/js/translated/part.js:893 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:898 +#: templates/js/translated/part.js:901 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:902 +#: templates/js/translated/part.js:905 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:1051 +#: templates/js/translated/part.js:1054 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1109 templates/js/translated/part.js:1145 +#: templates/js/translated/part.js:1112 templates/js/translated/part.js:1148 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1113 templates/js/translated/part.js:1155 +#: templates/js/translated/part.js:1116 templates/js/translated/part.js:1158 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1282 +#: templates/js/translated/part.js:1285 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1600 +#: templates/js/translated/part.js:1603 msgid "No part parameter templates found" msgstr "" -#: templates/js/translated/part.js:1663 +#: templates/js/translated/part.js:1666 msgid "Edit Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1675 +#: templates/js/translated/part.js:1678 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/js/translated/part.js:1683 +#: templates/js/translated/part.js:1686 msgid "Delete Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1717 +#: templates/js/translated/part.js:1720 #: templates/js/translated/purchase_order.js:1654 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/part.js:1861 +#: templates/js/translated/part.js:1864 #: 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:1907 +#: templates/js/translated/part.js:1910 #: templates/js/translated/purchase_order.js:2220 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1970 +#: templates/js/translated/part.js:1973 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1992 +#: templates/js/translated/part.js:1995 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2080 templates/js/translated/part.js:2506 +#: templates/js/translated/part.js:2083 templates/js/translated/part.js:2509 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:2201 +#: templates/js/translated/part.js:2204 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2206 +#: templates/js/translated/part.js:2209 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2236 +#: templates/js/translated/part.js:2239 msgid "Set category" msgstr "" -#: templates/js/translated/part.js:2287 +#: templates/js/translated/part.js:2290 msgid "part" msgstr "" -#: templates/js/translated/part.js:2288 +#: templates/js/translated/part.js:2291 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2384 +#: templates/js/translated/part.js:2387 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 +#: templates/js/translated/part.js:2534 templates/js/translated/part.js:2664 #: templates/js/translated/stock.js:2669 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2547 +#: templates/js/translated/part.js:2550 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2645 +#: templates/js/translated/part.js:2648 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2689 +#: templates/js/translated/part.js:2684 templates/js/translated/stock.js:2689 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2761 +#: templates/js/translated/part.js:2764 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2777 +#: templates/js/translated/part.js:2780 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2865 +#: templates/js/translated/part.js:2868 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2887 templates/js/translated/search.js:342 +#: templates/js/translated/part.js:2890 templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/part.js:2937 templates/js/translated/stock.js:1456 +#: templates/js/translated/part.js:2940 templates/js/translated/stock.js:1456 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2938 templates/js/translated/stock.js:1457 +#: templates/js/translated/part.js:2941 templates/js/translated/stock.js:1457 #: templates/js/translated/stock.js:1731 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2942 +#: templates/js/translated/part.js:2945 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2958 +#: templates/js/translated/part.js:2961 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2972 +#: templates/js/translated/part.js:2975 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3051 templates/js/translated/part.js:3052 +#: templates/js/translated/part.js:3054 templates/js/translated/part.js:3055 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3054 +#: templates/js/translated/part.js:3057 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3060 +#: templates/js/translated/part.js:3063 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3110 +#: templates/js/translated/part.js:3113 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3116 +#: templates/js/translated/part.js:3119 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3212 +#: templates/js/translated/part.js:3215 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3228 +#: templates/js/translated/part.js:3231 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3273 +#: templates/js/translated/part.js:3276 msgid "Minimum Stock Level" msgstr "" @@ -13593,7 +13988,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1042 users/models.py:392 +#: templates/js/translated/stock.js:1042 users/models.py:396 msgid "Add" msgstr "Ajouter" @@ -13947,7 +14342,7 @@ msgid "Include subcategories" msgstr "" #: templates/js/translated/table_filters.js:287 -#: templates/js/translated/table_filters.js:759 +#: templates/js/translated/table_filters.js:764 msgid "Subscribed" msgstr "" @@ -14102,40 +14497,46 @@ msgstr "" msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:725 +#: templates/js/translated/table_filters.js:722 +#, fuzzy +#| msgid "Show related parts" +msgid "Show locked parts" +msgstr "Afficher les pièces connexes" + +#: templates/js/translated/table_filters.js:730 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:733 -#: templates/js/translated/table_filters.js:833 +#: templates/js/translated/table_filters.js:738 +#: templates/js/translated/table_filters.js:838 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:734 +#: templates/js/translated/table_filters.js:739 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:738 +#: templates/js/translated/table_filters.js:743 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:739 +#: templates/js/translated/table_filters.js:744 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:743 +#: templates/js/translated/table_filters.js:748 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:751 +#: templates/js/translated/table_filters.js:756 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:763 +#: templates/js/translated/table_filters.js:768 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:829 +#: templates/js/translated/table_filters.js:834 msgid "Has Choices" msgstr "" @@ -14207,10 +14608,6 @@ msgstr "" msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:558 -msgid "Columns" -msgstr "" - #: templates/js/translated/tables.js:561 msgid "All" msgstr "" @@ -14484,35 +14881,34 @@ msgstr "" msgid "Revoked" msgstr "" -#: users/models.py:375 +#: users/models.py:379 msgid "Permission set" msgstr "Droit défini" -#: users/models.py:384 +#: users/models.py:388 msgid "Group" msgstr "Groupe" -#: users/models.py:388 +#: users/models.py:392 msgid "View" msgstr "Vue" -#: users/models.py:388 +#: users/models.py:392 msgid "Permission to view items" msgstr "Droit de voir des éléments" -#: users/models.py:392 +#: users/models.py:396 msgid "Permission to add items" msgstr "Droit d'ajouter des éléments" -#: users/models.py:396 +#: users/models.py:400 msgid "Change" msgstr "Modifier" -#: users/models.py:398 +#: users/models.py:402 msgid "Permissions to edit items" msgstr "Droit de modifier des élément" -#: users/models.py:404 +#: users/models.py:408 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 7fd7f71a98cb..4c73e1b5fe0e 100644 --- a/src/backend/InvenTree/locale/he/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/he/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-07-05 02:47+0000\n" +"POT-Creation-Date: 2024-07-08 14:46+0000\n" "PO-Revision-Date: 2024-07-05 14:57\n" "Last-Translator: \n" "Language-Team: Hebrew\n" @@ -21,7 +21,7 @@ msgstr "" msgid "API endpoint not found" msgstr "" -#: InvenTree/api.py:520 +#: InvenTree/api.py:505 msgid "User does not have permission to view this model" msgstr "" @@ -56,21 +56,21 @@ msgstr "" msgid "Enter date" msgstr "הזן תאריך סיום" -#: InvenTree/fields.py:205 InvenTree/models.py:918 build/serializers.py:452 -#: build/serializers.py:530 build/templates/build/sidebar.html:21 -#: company/models.py:817 company/templates/company/sidebar.html:37 +#: InvenTree/fields.py:205 InvenTree/models.py:921 build/serializers.py:456 +#: build/serializers.py:534 build/templates/build/sidebar.html:21 +#: company/models.py:824 company/templates/company/sidebar.html:37 #: order/models.py:1296 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:3183 part/templates/part/part_sidebar.html:63 +#: part/models.py:3193 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:230 stock/models.py:2344 stock/models.py:2466 -#: stock/serializers.py:632 stock/serializers.py:790 stock/serializers.py:886 -#: stock/serializers.py:936 stock/serializers.py:1239 stock/serializers.py:1328 -#: stock/serializers.py:1493 stock/templates/stock/stock_sidebar.html:25 +#: stock/admin.py:230 stock/models.py:2349 stock/models.py:2476 +#: stock/serializers.py:690 stock/serializers.py:848 stock/serializers.py:944 +#: stock/serializers.py:994 stock/serializers.py:1305 stock/serializers.py:1394 +#: stock/serializers.py:1559 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:1081 +#: templates/js/translated/part.js:1084 #: templates/js/translated/purchase_order.js:2200 #: templates/js/translated/return_order.js:775 #: templates/js/translated/sales_order.js:1103 @@ -371,41 +371,41 @@ msgstr "" msgid "JSON metadata field, for use by external plugins" msgstr "" -#: InvenTree/models.py:408 +#: InvenTree/models.py:411 msgid "Improperly formatted pattern" msgstr "" -#: InvenTree/models.py:415 +#: InvenTree/models.py:418 msgid "Unknown format key specified" msgstr "" -#: InvenTree/models.py:421 +#: InvenTree/models.py:424 msgid "Missing required format key" msgstr "" -#: InvenTree/models.py:432 +#: InvenTree/models.py:435 msgid "Reference field cannot be empty" msgstr "" -#: InvenTree/models.py:440 +#: InvenTree/models.py:443 msgid "Reference must match required pattern" msgstr "" -#: InvenTree/models.py:471 +#: InvenTree/models.py:474 msgid "Reference number is too large" msgstr "" -#: InvenTree/models.py:719 +#: InvenTree/models.py:722 msgid "Duplicate names cannot exist under the same parent" msgstr "" -#: InvenTree/models.py:736 +#: InvenTree/models.py:739 msgid "Invalid choice" msgstr "בחירה שגויה" -#: InvenTree/models.py:766 common/models.py:2678 common/models.py:3103 -#: common/serializers.py:408 company/models.py:580 machine/models.py:24 -#: part/models.py:891 part/models.py:3639 plugin/models.py:51 +#: InvenTree/models.py:769 common/models.py:2659 common/models.py:3089 +#: common/serializers.py:412 company/models.py:587 machine/models.py:24 +#: part/models.py:895 part/models.py:3660 plugin/models.py:51 #: report/models.py:150 stock/models.py:74 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -417,20 +417,20 @@ msgstr "בחירה שגויה" #: templates/js/translated/company.js:724 #: templates/js/translated/company.js:913 #: templates/js/translated/company.js:1165 -#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1187 -#: templates/js/translated/part.js:1475 templates/js/translated/part.js:1611 -#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2716 +#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1190 +#: templates/js/translated/part.js:1478 templates/js/translated/part.js:1614 +#: templates/js/translated/part.js:2752 templates/js/translated/stock.js:2716 msgid "Name" msgstr "שם" -#: InvenTree/models.py:772 build/models.py:235 -#: build/templates/build/detail.html:24 common/models.py:138 -#: company/models.py:509 company/models.py:808 +#: InvenTree/models.py:775 build/models.py:242 +#: build/templates/build/detail.html:24 common/models.py:143 +#: company/models.py:515 company/models.py:815 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 -#: order/models.py:1329 part/admin.py:305 part/admin.py:408 part/models.py:914 -#: part/models.py:3654 part/templates/part/category.html:82 +#: order/models.py:1329 part/admin.py:305 part/admin.py:408 part/models.py:918 +#: part/models.py:3675 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:156 #: report/models.py:510 report/models.py:536 @@ -444,10 +444,10 @@ msgstr "שם" #: templates/js/translated/build.js:2139 templates/js/translated/company.js:519 #: templates/js/translated/company.js:1330 #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 -#: templates/js/translated/order.js:298 templates/js/translated/part.js:1239 -#: templates/js/translated/part.js:1484 templates/js/translated/part.js:1622 -#: templates/js/translated/part.js:1959 templates/js/translated/part.js:2355 -#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2897 +#: templates/js/translated/order.js:298 templates/js/translated/part.js:1242 +#: templates/js/translated/part.js:1487 templates/js/translated/part.js:1625 +#: templates/js/translated/part.js:1962 templates/js/translated/part.js:2358 +#: templates/js/translated/part.js:2788 templates/js/translated/part.js:2900 #: templates/js/translated/plugin.js:80 #: templates/js/translated/purchase_order.js:1706 #: templates/js/translated/purchase_order.js:1849 @@ -460,53 +460,53 @@ msgstr "שם" msgid "Description" msgstr "תיאור" -#: InvenTree/models.py:773 stock/models.py:81 +#: InvenTree/models.py:776 stock/models.py:81 msgid "Description (optional)" msgstr "תיאור (לא חובה)" -#: InvenTree/models.py:788 templates/js/translated/part.js:2794 +#: InvenTree/models.py:791 templates/js/translated/part.js:2797 #: templates/js/translated/stock.js:2757 msgid "Path" msgstr "" -#: InvenTree/models.py:918 +#: InvenTree/models.py:921 msgid "Markdown notes (optional)" msgstr "" -#: InvenTree/models.py:947 +#: InvenTree/models.py:950 msgid "Barcode Data" msgstr "" -#: InvenTree/models.py:948 +#: InvenTree/models.py:951 msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:954 +#: InvenTree/models.py:957 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:955 +#: InvenTree/models.py:958 msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:1008 +#: InvenTree/models.py:1011 msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:1051 +#: InvenTree/models.py:1054 msgid "Server Error" msgstr "" -#: InvenTree/models.py:1052 +#: InvenTree/models.py:1055 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:63 part/models.py:4192 +#: InvenTree/serializers.py:63 part/models.py:4277 msgid "Must be a valid number" msgstr "המספר חייב להיות תקין" #: InvenTree/serializers.py:100 company/models.py:186 -#: company/templates/company/company_base.html:112 part/models.py:3001 +#: company/templates/company/company_base.html:112 part/models.py:3011 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -556,16 +556,16 @@ msgstr "" msgid "Is this user a superuser" msgstr "" -#: InvenTree/serializers.py:445 common/models.py:2683 company/models.py:163 -#: company/models.py:782 machine/models.py:39 part/admin.py:88 -#: part/models.py:1081 plugin/models.py:66 +#: InvenTree/serializers.py:445 common/models.py:2664 company/models.py:163 +#: company/models.py:789 machine/models.py:39 part/admin.py:88 +#: part/models.py:1085 plugin/models.py:66 #: 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 #: templates/js/translated/table_filters.js:520 #: templates/js/translated/table_filters.js:716 -#: templates/js/translated/table_filters.js:796 users/models.py:182 +#: templates/js/translated/table_filters.js:801 users/models.py:182 msgid "Active" msgstr "" @@ -597,7 +597,7 @@ msgstr "" msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:581 +#: InvenTree/serializers.py:581 importer/models.py:60 msgid "Data File" msgstr "" @@ -651,7 +651,7 @@ msgstr "" msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/status.py:66 part/serializers.py:1174 +#: InvenTree/status.py:66 part/serializers.py:1202 msgid "Background worker check failed" msgstr "" @@ -711,47 +711,48 @@ msgstr "מידע אודות המערכת" msgid "About InvenTree" msgstr "" -#: build/api.py:255 +#: build/api.py:248 msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:299 part/models.py:4070 templates/js/translated/bom.js:997 -#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 +#: build/api.py:292 build/serializers.py:1190 part/models.py:4155 +#: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 +#: templates/js/translated/build.js:2521 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:300 part/models.py:4064 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 +#: build/api.py:293 build/serializers.py:1191 part/models.py:4149 +#: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 +#: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2530 #: templates/js/translated/table_filters.js:186 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:587 msgid "Optional" msgstr "" -#: build/api.py:301 templates/js/translated/table_filters.js:408 +#: build/api.py:294 templates/js/translated/table_filters.js:408 #: templates/js/translated/table_filters.js:579 msgid "Tracked" msgstr "" -#: build/api.py:303 part/admin.py:144 templates/js/translated/build.js:1744 -#: templates/js/translated/build.js:2629 +#: build/api.py:296 part/admin.py:144 templates/js/translated/build.js:1744 +#: templates/js/translated/build.js:2630 #: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:571 msgid "Allocated" msgstr "" -#: build/api.py:311 company/models.py:872 company/serializers.py:359 +#: build/api.py:304 company/models.py:879 company/serializers.py:386 #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2561 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2562 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:234 -#: templates/js/translated/part.js:693 templates/js/translated/part.js:695 -#: templates/js/translated/part.js:700 +#: 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 #: templates/js/translated/table_filters.js:575 msgid "Available" @@ -760,7 +761,7 @@ msgstr "" #: build/models.py:85 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 -#: stock/serializers.py:82 templates/email/build_order_completed.html:16 +#: stock/serializers.py:84 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:2892 msgid "Build Order" @@ -781,35 +782,39 @@ msgstr "" msgid "Assembly BOM has not been validated" msgstr "" -#: build/models.py:134 part/templates/part/part_base.html:145 -msgid "Part is not active" +#: build/models.py:134 +msgid "Build order cannot be created for an inactive part" +msgstr "" + +#: build/models.py:141 +msgid "Build order cannot be created for an unlocked part" msgstr "" -#: build/models.py:148 +#: build/models.py:155 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:159 order/models.py:240 +#: build/models.py:166 order/models.py:240 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:165 +#: build/models.py:172 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:226 +#: build/models.py:233 msgid "Build Order Reference" msgstr "" -#: build/models.py:227 order/models.py:463 order/models.py:926 -#: order/models.py:1289 order/models.py:2020 part/admin.py:411 -#: part/models.py:4085 part/templates/part/upload_bom.html:54 +#: build/models.py:234 build/serializers.py:1189 order/models.py:463 +#: order/models.py:926 order/models.py:1289 order/models.py:2046 +#: part/admin.py:411 part/models.py:4170 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: 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/build.js:2513 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2065 #: templates/js/translated/return_order.js:728 @@ -817,27 +822,28 @@ msgstr "" msgid "Reference" msgstr "מקט" -#: build/models.py:238 +#: build/models.py:245 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:246 build/templates/build/build_base.html:183 +#: build/models.py:253 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "מקור הבנייה" -#: build/models.py:247 +#: build/models.py:254 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:252 build/templates/build/build_base.html:97 -#: build/templates/build/detail.html:29 company/models.py:1026 order/api.py:805 -#: order/models.py:1414 order/models.py:1559 order/models.py:1560 -#: part/api.py:1494 part/api.py:1788 part/models.py:395 part/models.py:3012 -#: part/models.py:3156 part/models.py:3303 part/models.py:3324 -#: part/models.py:3346 part/models.py:3477 part/models.py:3787 -#: part/models.py:3943 part/models.py:4036 part/models.py:4395 -#: part/serializers.py:1120 part/serializers.py:1726 +#: build/models.py:259 build/serializers.py:1184 +#: build/templates/build/build_base.html:97 +#: build/templates/build/detail.html:29 company/models.py:1034 order/api.py:759 +#: order/models.py:1419 order/models.py:1574 order/models.py:1575 +#: part/api.py:1480 part/api.py:1776 part/models.py:396 part/models.py:3022 +#: part/models.py:3166 part/models.py:3314 part/models.py:3335 +#: part/models.py:3357 part/models.py:3493 part/models.py:3827 +#: part/models.py:3990 part/models.py:4121 part/models.py:4480 +#: part/serializers.py:1148 part/serializers.py:1758 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -848,8 +854,8 @@ msgstr "" #: 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:109 stock/serializers.py:157 stock/serializers.py:423 -#: stock/serializers.py:820 templates/InvenTree/search.html:82 +#: stock/serializers.py:111 stock/serializers.py:159 stock/serializers.py:443 +#: stock/serializers.py:878 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 @@ -862,8 +868,8 @@ msgstr "" #: templates/js/translated/company.js:1116 #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 -#: templates/js/translated/part.js:1944 templates/js/translated/part.js:2016 -#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:1947 templates/js/translated/part.js:2019 +#: templates/js/translated/part.js:2327 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:1848 @@ -881,107 +887,107 @@ msgstr "" msgid "Part" msgstr "רכיב" -#: build/models.py:260 +#: build/models.py:267 msgid "Select part to build" msgstr "בחר רכיב לבנייה" -#: build/models.py:265 +#: build/models.py:272 msgid "Sales Order Reference" msgstr "" -#: build/models.py:269 +#: build/models.py:276 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:274 build/serializers.py:999 +#: build/models.py:281 build/serializers.py:1003 #: templates/js/translated/build.js:1731 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "" -#: build/models.py:278 +#: build/models.py:285 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:283 +#: build/models.py:290 msgid "Destination Location" msgstr "" -#: build/models.py:287 +#: build/models.py:294 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:291 +#: build/models.py:298 msgid "Build Quantity" msgstr "כמות בניה" -#: build/models.py:294 +#: build/models.py:301 msgid "Number of stock items to build" msgstr "" -#: build/models.py:298 +#: build/models.py:305 msgid "Completed items" msgstr "" -#: build/models.py:300 +#: build/models.py:307 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:304 +#: build/models.py:311 msgid "Build Status" msgstr "" -#: build/models.py:308 +#: build/models.py:315 msgid "Build status code" msgstr "" -#: build/models.py:317 build/serializers.py:286 order/serializers.py:580 -#: stock/models.py:839 stock/serializers.py:74 stock/serializers.py:1458 +#: build/models.py:324 build/serializers.py:290 order/serializers.py:629 +#: stock/models.py:839 stock/serializers.py:76 stock/serializers.py:1524 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "" -#: build/models.py:321 build/serializers.py:287 +#: build/models.py:328 build/serializers.py:291 msgid "Batch code for this build output" msgstr "" -#: build/models.py:324 order/models.py:316 order/serializers.py:119 -#: part/models.py:1115 part/templates/part/part_base.html:310 +#: build/models.py:331 order/models.py:316 order/serializers.py:127 +#: part/models.py:1125 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:328 +#: build/models.py:335 msgid "Target completion date" msgstr "" -#: build/models.py:329 +#: build/models.py:336 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:332 order/models.py:521 order/models.py:2065 +#: build/models.py:339 order/models.py:521 order/models.py:2091 #: templates/js/translated/build.js:2247 msgid "Completion Date" msgstr "" -#: build/models.py:338 +#: build/models.py:345 msgid "completed by" msgstr "" -#: build/models.py:346 templates/js/translated/build.js:2207 +#: build/models.py:353 templates/js/translated/build.js:2207 msgid "Issued by" msgstr "" -#: build/models.py:347 +#: build/models.py:354 msgid "User who issued this build order" msgstr "" -#: build/models.py:355 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 common/models.py:147 +#: build/models.py:362 build/templates/build/build_base.html:204 +#: build/templates/build/detail.html:122 common/models.py:152 #: order/models.py:334 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:232 part/models.py:1132 +#: order/templates/order/sales_order_base.html:232 part/models.py:1142 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 @@ -992,11 +998,11 @@ msgstr "" msgid "Responsible" msgstr "" -#: build/models.py:356 +#: build/models.py:363 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:361 build/templates/build/detail.html:108 +#: build/models.py:368 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 @@ -1008,21 +1014,22 @@ msgstr "" msgid "External Link" msgstr "" -#: build/models.py:362 common/models.py:3244 part/models.py:956 +#: build/models.py:369 common/models.py:3230 part/models.py:960 #: stock/models.py:835 msgid "Link to external URL" msgstr "קישור חיצוני" -#: build/models.py:366 +#: build/models.py:373 msgid "Build Priority" msgstr "" -#: build/models.py:369 +#: build/models.py:376 msgid "Priority of this build order" msgstr "" -#: build/models.py:376 common/models.py:131 order/admin.py:18 -#: order/models.py:298 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:383 common/models.py:122 common/models.py:136 +#: order/admin.py:18 order/models.py:298 order/serializers.py:108 +#: templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 #: templates/js/translated/purchase_order.js:1710 #: templates/js/translated/return_order.js:317 @@ -1032,65 +1039,66 @@ msgstr "" msgid "Project Code" msgstr "" -#: build/models.py:377 +#: build/models.py:384 msgid "Project code for this build order" msgstr "" -#: build/models.py:610 build/models.py:675 +#: build/models.py:617 build/models.py:682 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:632 +#: build/models.py:639 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:638 +#: build/models.py:645 msgid "A build order has been completed" msgstr "" -#: build/models.py:864 build/models.py:949 +#: build/models.py:871 build/models.py:956 msgid "No build output specified" msgstr "" -#: build/models.py:867 +#: build/models.py:874 msgid "Build output is already completed" msgstr "" -#: build/models.py:870 +#: build/models.py:877 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:953 build/serializers.py:219 build/serializers.py:268 -#: build/serializers.py:866 order/models.py:559 order/serializers.py:432 -#: order/serializers.py:575 part/serializers.py:1484 part/serializers.py:1884 -#: stock/models.py:678 stock/models.py:1496 stock/serializers.py:603 +#: build/models.py:960 build/serializers.py:223 build/serializers.py:272 +#: build/serializers.py:870 order/models.py:559 order/serializers.py:461 +#: order/serializers.py:624 part/serializers.py:1515 part/serializers.py:1921 +#: stock/models.py:678 stock/models.py:1496 stock/serializers.py:661 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:958 build/serializers.py:224 +#: build/models.py:965 build/serializers.py:228 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1018 build/serializers.py:547 +#: build/models.py:1025 build/serializers.py:551 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1359 +#: build/models.py:1366 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1384 +#: build/models.py:1391 msgid "Build object" msgstr "" -#: build/models.py:1398 build/models.py:1654 build/serializers.py:206 -#: build/serializers.py:253 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2563 -#: order/models.py:1272 order/models.py:1931 order/serializers.py:1327 +#: build/models.py:1405 build/models.py:1661 build/serializers.py:210 +#: build/serializers.py:257 build/serializers.py:1194 +#: build/templates/build/build_base.html:102 +#: build/templates/build/detail.html:34 common/models.py:2544 +#: order/models.py:1272 order/models.py:1957 order/serializers.py:1383 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:410 -#: part/forms.py:48 part/models.py:3170 part/models.py:4058 +#: part/forms.py:48 part/models.py:3180 part/models.py:4143 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1100,7 +1108,7 @@ msgstr "" #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:169 stock/admin.py:159 -#: stock/serializers.py:125 stock/serializers.py:165 stock/serializers.py:594 +#: stock/serializers.py:127 stock/serializers.py:167 stock/serializers.py:652 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 @@ -1111,8 +1119,8 @@ msgstr "" #: templates/js/translated/build.js:1746 templates/js/translated/build.js:2357 #: templates/js/translated/company.js:1818 #: templates/js/translated/model_renderers.js:236 -#: templates/js/translated/order.js:304 templates/js/translated/part.js:962 -#: templates/js/translated/part.js:1812 templates/js/translated/part.js:3342 +#: templates/js/translated/order.js:304 templates/js/translated/part.js:965 +#: templates/js/translated/part.js:1815 templates/js/translated/part.js:3345 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 @@ -1132,38 +1140,38 @@ msgstr "" msgid "Quantity" msgstr "כמות" -#: build/models.py:1399 +#: build/models.py:1406 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1479 +#: build/models.py:1486 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1488 +#: build/models.py:1495 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1498 order/models.py:1882 +#: build/models.py:1505 order/models.py:1908 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1504 order/models.py:1885 +#: build/models.py:1511 order/models.py:1911 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1510 +#: build/models.py:1517 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1569 +#: build/models.py:1576 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1641 build/serializers.py:846 order/serializers.py:1171 -#: order/serializers.py:1192 stock/models.py:359 stock/serializers.py:91 -#: stock/serializers.py:697 stock/serializers.py:1177 stock/serializers.py:1289 +#: build/models.py:1648 build/serializers.py:850 order/serializers.py:1227 +#: order/serializers.py:1248 stock/models.py:359 stock/serializers.py:93 +#: stock/serializers.py:755 stock/serializers.py:1243 stock/serializers.py:1355 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 @@ -1179,70 +1187,76 @@ msgstr "" msgid "Stock Item" msgstr "" -#: build/models.py:1642 +#: build/models.py:1649 msgid "Source stock item" msgstr "" -#: build/models.py:1655 +#: build/models.py:1662 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1663 +#: build/models.py:1670 msgid "Install into" msgstr "" -#: build/models.py:1664 +#: build/models.py:1671 msgid "Destination stock item" msgstr "" -#: build/serializers.py:156 build/serializers.py:875 +#: build/serializers.py:89 build/serializers.py:1185 part/admin.py:41 +#: part/admin.py:405 part/models.py:3992 part/stocktake.py:220 +#: stock/admin.py:156 +msgid "Part Name" +msgstr "" + +#: build/serializers.py:160 build/serializers.py:879 #: templates/js/translated/build.js:1322 msgid "Build Output" msgstr "" -#: build/serializers.py:168 +#: build/serializers.py:172 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:172 +#: build/serializers.py:176 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:176 +#: build/serializers.py:180 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:187 +#: build/serializers.py:191 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:207 build/serializers.py:254 +#: build/serializers.py:211 build/serializers.py:258 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:275 +#: build/serializers.py:279 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:278 +#: build/serializers.py:282 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:293 order/serializers.py:588 order/serializers.py:1331 -#: stock/serializers.py:614 templates/js/translated/purchase_order.js:1153 +#: build/serializers.py:297 order/serializers.py:637 order/serializers.py:1387 +#: stock/serializers.py:672 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:294 +#: build/serializers.py:298 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:299 build/serializers.py:440 build/serializers.py:512 -#: order/serializers.py:564 order/serializers.py:672 order/serializers.py:1656 -#: part/serializers.py:1140 stock/serializers.py:100 stock/serializers.py:625 -#: stock/serializers.py:785 stock/serializers.py:881 stock/serializers.py:1321 -#: stock/serializers.py:1577 stock/templates/stock/item_base.html:394 +#: build/serializers.py:303 build/serializers.py:444 build/serializers.py:516 +#: order/serializers.py:613 order/serializers.py:721 order/serializers.py:1714 +#: part/serializers.py:1168 stock/serializers.py:102 stock/serializers.py:683 +#: stock/serializers.py:843 stock/serializers.py:939 stock/serializers.py:1387 +#: stock/serializers.py:1643 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 @@ -1258,54 +1272,54 @@ msgstr "" msgid "Location" msgstr "" -#: build/serializers.py:300 +#: build/serializers.py:304 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:314 +#: build/serializers.py:318 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:315 +#: build/serializers.py:319 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:330 +#: build/serializers.py:334 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:355 stock/api.py:1041 +#: build/serializers.py:359 stock/api.py:1033 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:402 build/serializers.py:464 build/serializers.py:553 +#: build/serializers.py:406 build/serializers.py:468 build/serializers.py:557 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:441 +#: build/serializers.py:445 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:447 +#: build/serializers.py:451 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:448 +#: build/serializers.py:452 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:453 +#: build/serializers.py:457 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:513 +#: build/serializers.py:517 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:519 build/templates/build/build_base.html:151 +#: build/serializers.py:523 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:950 -#: order/models.py:2044 order/serializers.py:596 stock/admin.py:164 -#: stock/serializers.py:932 stock/serializers.py:1465 +#: order/models.py:2070 order/serializers.py:645 stock/admin.py:164 +#: stock/serializers.py:990 stock/serializers.py:1531 #: 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 @@ -1317,193 +1331,247 @@ msgstr "" msgid "Status" msgstr "" -#: build/serializers.py:525 +#: build/serializers.py:529 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:526 +#: build/serializers.py:530 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:611 +#: build/serializers.py:615 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:612 +#: build/serializers.py:616 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:618 +#: build/serializers.py:622 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:619 +#: build/serializers.py:623 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:646 +#: build/serializers.py:650 msgid "Not permitted" msgstr "" -#: build/serializers.py:647 +#: build/serializers.py:651 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:648 +#: build/serializers.py:652 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:678 +#: build/serializers.py:682 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:680 +#: build/serializers.py:684 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:690 +#: build/serializers.py:694 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:695 +#: build/serializers.py:699 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:696 +#: build/serializers.py:700 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:706 templates/js/translated/build.js:315 +#: build/serializers.py:710 templates/js/translated/build.js:315 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:711 order/serializers.py:300 order/serializers.py:1234 +#: build/serializers.py:715 order/serializers.py:319 order/serializers.py:1290 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:712 +#: build/serializers.py:716 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:722 templates/js/translated/build.js:319 +#: build/serializers.py:726 templates/js/translated/build.js:319 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:731 templates/js/translated/build.js:303 +#: build/serializers.py:735 templates/js/translated/build.js:303 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:769 +#: build/serializers.py:773 msgid "Build Line" msgstr "" -#: build/serializers.py:779 +#: build/serializers.py:783 msgid "Build output" msgstr "" -#: build/serializers.py:787 +#: build/serializers.py:791 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:823 +#: build/serializers.py:827 msgid "Build Line Item" msgstr "" -#: build/serializers.py:837 +#: build/serializers.py:841 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:852 stock/serializers.py:1190 +#: build/serializers.py:856 stock/serializers.py:1256 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:900 order/serializers.py:1225 +#: build/serializers.py:904 order/serializers.py:1281 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:906 +#: build/serializers.py:910 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:913 +#: build/serializers.py:917 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:937 order/serializers.py:1477 +#: build/serializers.py:941 order/serializers.py:1533 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:1000 +#: build/serializers.py:1004 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:1008 +#: build/serializers.py:1012 msgid "Exclude Location" msgstr "" -#: build/serializers.py:1009 +#: build/serializers.py:1013 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:1014 +#: build/serializers.py:1018 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:1015 +#: build/serializers.py:1019 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:1020 +#: build/serializers.py:1024 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:1021 +#: build/serializers.py:1025 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:1026 +#: build/serializers.py:1030 msgid "Optional Items" msgstr "" -#: build/serializers.py:1027 +#: build/serializers.py:1031 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1049 +#: build/serializers.py:1053 msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1139 part/models.py:3953 part/models.py:4387 -#: stock/api.py:804 +#: build/serializers.py:1095 +#, fuzzy +#| msgid "Serial Numbers" +msgid "Supplier Part Number" +msgstr "מספרים סידוריים" + +#: build/serializers.py:1096 company/models.py:500 +msgid "Manufacturer Part Number" +msgstr "" + +#: build/serializers.py:1097 stock/admin.py:53 stock/admin.py:175 +#: stock/serializers.py:454 +msgid "Location Name" +msgstr "" + +#: build/serializers.py:1098 +#, fuzzy +#| msgid "Reference" +msgid "Build Reference" +msgstr "מקט" + +#: build/serializers.py:1099 +#, fuzzy +#| msgid "Reference" +msgid "BOM Reference" +msgstr "מקט" + +#: build/serializers.py:1186 part/admin.py:402 part/models.py:3993 +msgid "Part IPN" +msgstr "" + +#: build/serializers.py:1192 common/models.py:1488 part/admin.py:113 +#: part/models.py:1068 templates/js/translated/table_filters.js:147 +#: templates/js/translated/table_filters.js:223 +#: templates/js/translated/table_filters.js:776 +msgid "Trackable" +msgstr "" + +#: build/serializers.py:1196 part/models.py:4000 part/models.py:4472 +#: stock/api.py:796 msgid "BOM Item" msgstr "" -#: build/serializers.py:1148 templates/js/translated/index.js:130 +#: build/serializers.py:1205 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1153 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:828 part/serializers.py:1502 +#: build/serializers.py:1210 part/admin.py:132 part/bom.py:173 +#: part/serializers.py:856 part/serializers.py:1533 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2613 templates/js/translated/part.js:710 -#: templates/js/translated/part.js:2149 +#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709 +#: templates/js/translated/part.js:2152 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "" -#: build/serializers.py:1158 part/serializers.py:1504 -#: templates/js/translated/build.js:2617 +#: build/serializers.py:1215 part/serializers.py:1535 +#: templates/js/translated/build.js:2618 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1163 part/bom.py:172 part/serializers.py:1527 +#: build/serializers.py:1220 part/bom.py:172 part/serializers.py:1558 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" msgstr "" +#: build/serializers.py:1224 +msgid "Available Substitute Stock" +msgstr "" + +#: build/serializers.py:1225 +msgid "Available Variant Stock" +msgstr "" + +#: build/serializers.py:1226 +msgid "Total Available Stock" +msgstr "" + +#: build/serializers.py:1227 part/serializers.py:862 +msgid "External Stock" +msgstr "" + #: build/status_codes.py:11 generic/states/tests.py:17 order/status_codes.py:12 #: order/status_codes.py:37 order/status_codes.py:64 order/status_codes.py:82 #: templates/js/translated/table_filters.js:598 @@ -1519,7 +1587,8 @@ msgstr "ייצור" msgid "Cancelled" msgstr "מבוטל" -#: build/status_codes.py:14 generic/states/tests.py:19 order/status_codes.py:14 +#: build/status_codes.py:14 generic/states/tests.py:19 importer/models.py:468 +#: importer/status_codes.py:19 order/status_codes.py:14 #: order/status_codes.py:44 order/status_codes.py:69 #: order/templates/order/order_base.html:158 #: order/templates/order/sales_order_base.html:165 report/models.py:444 @@ -1652,11 +1721,12 @@ msgstr "" #: build/templates/build/build_base.html:160 #: build/templates/build/detail.html:138 order/models.py:309 -#: order/models.py:1307 order/templates/order/order_base.html:186 +#: order/models.py:1307 order/serializers.py:174 +#: order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: 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:1831 +#: templates/js/translated/build.js:2239 templates/js/translated/part.js:1834 #: templates/js/translated/purchase_order.js:1739 #: templates/js/translated/purchase_order.js:2147 #: templates/js/translated/return_order.js:346 @@ -1689,8 +1759,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1463 order/models.py:845 -#: order/models.py:1551 order/models.py:1665 order/models.py:1819 +#: build/templates/build/detail.html:101 order/api.py:1384 order/models.py:845 +#: order/models.py:1566 order/models.py:1681 order/models.py:1840 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 @@ -1740,7 +1810,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1443 +#: build/templates/build/detail.html:49 order/models.py:1448 #: templates/js/translated/purchase_order.js:2189 msgid "Destination" msgstr "" @@ -1892,31 +1962,31 @@ msgstr "" msgid "Incomplete Outputs" msgstr "" -#: common/api.py:689 +#: common/api.py:690 msgid "Is Link" msgstr "" -#: common/api.py:697 +#: common/api.py:698 msgid "Is File" msgstr "" -#: common/api.py:739 +#: common/api.py:740 msgid "User does not have permission to delete this attachment" msgstr "" -#: common/currency.py:130 +#: common/currency.py:132 msgid "Invalid currency code" msgstr "" -#: common/currency.py:132 +#: common/currency.py:134 msgid "Duplicate currency code" msgstr "" -#: common/currency.py:137 +#: common/currency.py:139 msgid "No valid currency codes provided" msgstr "" -#: common/currency.py:154 +#: common/currency.py:156 msgid "No plugin" msgstr "" @@ -1970,1635 +2040,1604 @@ msgstr "" msgid "Site URL is locked by configuration" msgstr "" -#: common/models.py:132 +#: common/models.py:137 msgid "Unique project code" msgstr "" -#: common/models.py:139 +#: common/models.py:144 msgid "Project description" msgstr "" -#: common/models.py:148 +#: common/models.py:153 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:765 +#: common/models.py:770 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:769 +#: common/models.py:774 msgid "Settings value" msgstr "" -#: common/models.py:821 +#: common/models.py:826 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:837 +#: common/models.py:842 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:845 +#: common/models.py:850 msgid "Value must be an integer value" msgstr "" -#: common/models.py:882 +#: common/models.py:887 msgid "Key string must be unique" msgstr "" -#: common/models.py:1114 +#: common/models.py:1119 msgid "No group" msgstr "" -#: common/models.py:1213 +#: common/models.py:1218 msgid "Restart required" msgstr "" -#: common/models.py:1215 +#: common/models.py:1220 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:1222 +#: common/models.py:1227 msgid "Pending migrations" msgstr "" -#: common/models.py:1223 +#: common/models.py:1228 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1228 +#: common/models.py:1233 msgid "Server Instance Name" msgstr "" -#: common/models.py:1230 +#: common/models.py:1235 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1234 +#: common/models.py:1239 msgid "Use instance name" msgstr "" -#: common/models.py:1235 +#: common/models.py:1240 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1240 +#: common/models.py:1245 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1241 +#: common/models.py:1246 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1246 company/models.py:111 company/models.py:112 +#: common/models.py:1251 company/models.py:111 company/models.py:112 msgid "Company name" msgstr "" -#: common/models.py:1247 +#: common/models.py:1252 msgid "Internal company name" msgstr "" -#: common/models.py:1251 +#: common/models.py:1256 msgid "Base URL" msgstr "" -#: common/models.py:1252 +#: common/models.py:1257 msgid "Base URL for server instance" msgstr "" -#: common/models.py:1258 +#: common/models.py:1263 msgid "Default Currency" msgstr "" -#: common/models.py:1259 +#: common/models.py:1264 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1265 +#: common/models.py:1270 msgid "Supported Currencies" msgstr "" -#: common/models.py:1266 +#: common/models.py:1271 msgid "List of supported currency codes" msgstr "" -#: common/models.py:1272 +#: common/models.py:1277 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1274 +#: common/models.py:1279 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1277 common/models.py:1333 common/models.py:1346 -#: common/models.py:1354 common/models.py:1363 common/models.py:1372 -#: common/models.py:1596 common/models.py:1618 common/models.py:1733 -#: common/models.py:2100 +#: common/models.py:1282 common/models.py:1338 common/models.py:1351 +#: common/models.py:1359 common/models.py:1368 common/models.py:1377 +#: common/models.py:1601 common/models.py:1623 common/models.py:1738 +#: common/models.py:2111 msgid "days" msgstr "" -#: common/models.py:1281 +#: common/models.py:1286 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1282 +#: common/models.py:1287 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1287 +#: common/models.py:1292 msgid "Download from URL" msgstr "" -#: common/models.py:1289 +#: common/models.py:1294 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:1295 +#: common/models.py:1300 msgid "Download Size Limit" msgstr "" -#: common/models.py:1296 +#: common/models.py:1301 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1302 +#: common/models.py:1307 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1304 +#: common/models.py:1309 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/models.py:1309 +#: common/models.py:1314 msgid "Strict URL Validation" msgstr "" -#: common/models.py:1310 +#: common/models.py:1315 msgid "Require schema specification when validating URLs" msgstr "" -#: common/models.py:1315 +#: common/models.py:1320 msgid "Require confirm" msgstr "" -#: common/models.py:1316 +#: common/models.py:1321 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:1321 +#: common/models.py:1326 msgid "Tree Depth" msgstr "" -#: common/models.py:1323 +#: common/models.py:1328 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1329 +#: common/models.py:1334 msgid "Update Check Interval" msgstr "" -#: common/models.py:1330 +#: common/models.py:1335 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:1336 +#: common/models.py:1341 msgid "Automatic Backup" msgstr "" -#: common/models.py:1337 +#: common/models.py:1342 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:1342 +#: common/models.py:1347 msgid "Auto Backup Interval" msgstr "" -#: common/models.py:1343 +#: common/models.py:1348 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1349 +#: common/models.py:1354 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1351 +#: common/models.py:1356 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1358 +#: common/models.py:1363 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1360 +#: common/models.py:1365 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1367 +#: common/models.py:1372 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1369 +#: common/models.py:1374 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1376 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1381 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "" -#: common/models.py:1377 +#: common/models.py:1382 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1382 +#: common/models.py:1387 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1383 +#: common/models.py:1388 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1389 +#: common/models.py:1394 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1390 +#: common/models.py:1395 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1395 +#: common/models.py:1400 msgid "Barcode Show Data" msgstr "" -#: common/models.py:1396 +#: common/models.py:1401 msgid "Display barcode data in browser as text" msgstr "" -#: common/models.py:1401 +#: common/models.py:1406 msgid "Part Revisions" msgstr "" -#: common/models.py:1402 +#: common/models.py:1407 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1407 +#: common/models.py:1412 msgid "Allow Deletion from Assembly" msgstr "" -#: common/models.py:1408 +#: common/models.py:1413 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/models.py:1413 +#: common/models.py:1418 msgid "IPN Regex" msgstr "" -#: common/models.py:1414 +#: common/models.py:1419 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1417 +#: common/models.py:1422 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1418 +#: common/models.py:1423 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1423 +#: common/models.py:1428 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1424 +#: common/models.py:1429 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1429 +#: common/models.py:1434 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1430 +#: common/models.py:1435 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1435 +#: common/models.py:1440 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1436 +#: common/models.py:1441 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1441 +#: common/models.py:1446 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1442 +#: common/models.py:1447 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1447 +#: common/models.py:1452 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1448 +#: common/models.py:1453 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1453 part/admin.py:108 part/models.py:3795 +#: common/models.py:1458 part/admin.py:108 part/models.py:3835 #: report/models.py:294 report/models.py:361 report/serializers.py:90 -#: report/serializers.py:131 stock/serializers.py:227 +#: report/serializers.py:131 stock/serializers.py:232 #: templates/js/translated/table_filters.js:139 -#: templates/js/translated/table_filters.js:767 +#: templates/js/translated/table_filters.js:772 msgid "Template" msgstr "" -#: common/models.py:1454 +#: common/models.py:1459 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1459 part/admin.py:91 part/admin.py:425 part/models.py:1052 +#: common/models.py:1464 part/admin.py:91 part/admin.py:425 part/models.py:1056 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 -#: templates/js/translated/table_filters.js:721 +#: templates/js/translated/table_filters.js:726 msgid "Assembly" msgstr "" -#: common/models.py:1460 +#: common/models.py:1465 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1465 part/admin.py:95 part/models.py:1058 -#: templates/js/translated/table_filters.js:729 +#: common/models.py:1470 part/admin.py:95 part/models.py:1062 +#: templates/js/translated/table_filters.js:734 msgid "Component" msgstr "" -#: common/models.py:1466 +#: common/models.py:1471 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1471 part/admin.py:100 part/models.py:1070 +#: common/models.py:1476 part/admin.py:100 part/models.py:1074 msgid "Purchaseable" msgstr "" -#: common/models.py:1472 +#: common/models.py:1477 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1477 part/admin.py:104 part/models.py:1076 -#: templates/js/translated/table_filters.js:755 +#: common/models.py:1482 part/admin.py:104 part/models.py:1080 +#: templates/js/translated/table_filters.js:760 msgid "Salable" msgstr "" -#: common/models.py:1478 +#: common/models.py:1483 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1483 part/admin.py:113 part/models.py:1064 -#: 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:1484 +#: common/models.py:1489 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1489 part/admin.py:117 part/models.py:1086 +#: common/models.py:1494 part/admin.py:117 part/models.py:1096 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 -#: templates/js/translated/table_filters.js:775 +#: templates/js/translated/table_filters.js:780 msgid "Virtual" msgstr "" -#: common/models.py:1490 +#: common/models.py:1495 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1495 +#: common/models.py:1500 msgid "Show Import in Views" msgstr "" -#: common/models.py:1496 +#: common/models.py:1501 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1501 +#: common/models.py:1506 msgid "Show related parts" msgstr "" -#: common/models.py:1502 +#: common/models.py:1507 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1507 +#: common/models.py:1512 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1508 +#: common/models.py:1513 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1513 templates/js/translated/part.js:107 +#: common/models.py:1518 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1515 +#: common/models.py:1520 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1521 +#: common/models.py:1526 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1522 +#: common/models.py:1527 msgid "Format to display the part name" msgstr "" -#: common/models.py:1528 +#: common/models.py:1533 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1529 +#: common/models.py:1534 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1533 +#: common/models.py:1538 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1535 +#: common/models.py:1540 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1541 +#: common/models.py:1546 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1543 +#: common/models.py:1548 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1554 +#: common/models.py:1559 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1556 +#: common/models.py:1561 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1567 +#: common/models.py:1572 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1569 +#: common/models.py:1574 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1575 +#: common/models.py:1580 msgid "Purchase History Override" msgstr "" -#: common/models.py:1577 +#: common/models.py:1582 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1583 +#: common/models.py:1588 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1585 +#: common/models.py:1590 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1591 +#: common/models.py:1596 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1593 +#: common/models.py:1598 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1600 +#: common/models.py:1605 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1601 +#: common/models.py:1606 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1606 +#: common/models.py:1611 msgid "Active Variants Only" msgstr "" -#: common/models.py:1608 +#: common/models.py:1613 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1614 +#: common/models.py:1619 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1616 +#: common/models.py:1621 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1623 +#: common/models.py:1628 msgid "Internal Prices" msgstr "" -#: common/models.py:1624 +#: common/models.py:1629 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1629 +#: common/models.py:1634 msgid "Internal Price Override" msgstr "" -#: common/models.py:1631 +#: common/models.py:1636 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1637 +#: common/models.py:1642 msgid "Enable label printing" msgstr "" -#: common/models.py:1638 +#: common/models.py:1643 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1643 +#: common/models.py:1648 msgid "Label Image DPI" msgstr "" -#: common/models.py:1645 +#: common/models.py:1650 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1651 +#: common/models.py:1656 msgid "Enable Reports" msgstr "" -#: common/models.py:1652 +#: common/models.py:1657 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1657 templates/stats.html:25 +#: common/models.py:1662 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1658 +#: common/models.py:1663 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1663 +#: common/models.py:1668 msgid "Log Report Errors" msgstr "" -#: common/models.py:1664 +#: common/models.py:1669 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1669 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1674 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:302 msgid "Page Size" msgstr "" -#: common/models.py:1670 +#: common/models.py:1675 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1675 +#: common/models.py:1680 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1676 +#: common/models.py:1681 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1681 +#: common/models.py:1686 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1683 +#: common/models.py:1688 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1689 +#: common/models.py:1694 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1690 +#: common/models.py:1695 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1695 +#: common/models.py:1700 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1696 +#: common/models.py:1701 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1701 +#: common/models.py:1706 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1703 +#: common/models.py:1708 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1709 +#: common/models.py:1714 msgid "Batch Code Template" msgstr "" -#: common/models.py:1711 +#: common/models.py:1716 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1716 +#: common/models.py:1721 msgid "Stock Expiry" msgstr "" -#: common/models.py:1717 +#: common/models.py:1722 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1722 +#: common/models.py:1727 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1723 +#: common/models.py:1728 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1728 +#: common/models.py:1733 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1730 +#: common/models.py:1735 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1737 +#: common/models.py:1742 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1738 +#: common/models.py:1743 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1743 +#: common/models.py:1748 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1744 +#: common/models.py:1749 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1749 +#: common/models.py:1754 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1750 +#: common/models.py:1755 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1754 +#: common/models.py:1759 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1755 +#: common/models.py:1760 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1760 +#: common/models.py:1765 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1762 +#: common/models.py:1767 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1768 +#: common/models.py:1773 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1770 +#: common/models.py:1775 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1776 +#: common/models.py:1781 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1778 +#: common/models.py:1783 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1784 common/models.py:1826 common/models.py:1848 -#: common/models.py:1884 +#: common/models.py:1789 common/models.py:1837 common/models.py:1859 +#: common/models.py:1895 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1785 common/models.py:1827 common/models.py:1849 -#: common/models.py:1885 +#: common/models.py:1790 common/models.py:1838 common/models.py:1860 +#: common/models.py:1896 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1790 +#: common/models.py:1795 msgid "Require Active Part" msgstr "" -#: common/models.py:1791 +#: common/models.py:1796 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/models.py:1796 +#: common/models.py:1801 +msgid "Require Locked Part" +msgstr "" + +#: common/models.py:1802 +msgid "Prevent build order creation for unlocked parts" +msgstr "" + +#: common/models.py:1807 msgid "Require Valid BOM" msgstr "" -#: common/models.py:1798 +#: common/models.py:1809 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/models.py:1804 +#: common/models.py:1815 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1806 +#: common/models.py:1817 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1812 +#: common/models.py:1823 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1813 +#: common/models.py:1824 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1818 +#: common/models.py:1829 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1820 +#: common/models.py:1831 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1832 +#: common/models.py:1843 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1834 +#: common/models.py:1845 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1840 +#: common/models.py:1851 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1842 +#: common/models.py:1853 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1854 +#: common/models.py:1865 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1855 +#: common/models.py:1866 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1860 +#: common/models.py:1871 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1862 +#: common/models.py:1873 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1868 +#: common/models.py:1879 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1870 +#: common/models.py:1881 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1876 +#: common/models.py:1887 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1878 +#: common/models.py:1889 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1890 +#: common/models.py:1901 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1892 +#: common/models.py:1903 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1898 +#: common/models.py:1909 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1900 +#: common/models.py:1911 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1907 +#: common/models.py:1918 msgid "Enable password forgot" msgstr "" -#: common/models.py:1908 +#: common/models.py:1919 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1913 +#: common/models.py:1924 msgid "Enable registration" msgstr "" -#: common/models.py:1914 +#: common/models.py:1925 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1919 +#: common/models.py:1930 msgid "Enable SSO" msgstr "" -#: common/models.py:1920 +#: common/models.py:1931 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1925 +#: common/models.py:1936 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1927 +#: common/models.py:1938 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1933 +#: common/models.py:1944 msgid "Enable SSO group sync" msgstr "" -#: common/models.py:1935 +#: common/models.py:1946 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/models.py:1941 +#: common/models.py:1952 msgid "SSO group key" msgstr "" -#: common/models.py:1943 +#: common/models.py:1954 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/models.py:1949 +#: common/models.py:1960 msgid "SSO group map" msgstr "" -#: common/models.py:1951 +#: common/models.py:1962 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/models.py:1957 +#: common/models.py:1968 msgid "Remove groups outside of SSO" msgstr "" -#: common/models.py:1959 +#: common/models.py:1970 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/models.py:1965 +#: common/models.py:1976 msgid "Email required" msgstr "" -#: common/models.py:1966 +#: common/models.py:1977 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1971 +#: common/models.py:1982 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1973 +#: common/models.py:1984 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1979 +#: common/models.py:1990 msgid "Mail twice" msgstr "" -#: common/models.py:1980 +#: common/models.py:1991 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1985 +#: common/models.py:1996 msgid "Password twice" msgstr "" -#: common/models.py:1986 +#: common/models.py:1997 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1991 +#: common/models.py:2002 msgid "Allowed domains" msgstr "" -#: common/models.py:1993 +#: common/models.py:2004 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1999 +#: common/models.py:2010 msgid "Group on signup" msgstr "" -#: common/models.py:2001 +#: common/models.py:2012 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/models.py:2007 +#: common/models.py:2018 msgid "Enforce MFA" msgstr "" -#: common/models.py:2008 +#: common/models.py:2019 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:2013 +#: common/models.py:2024 msgid "Check plugins on startup" msgstr "" -#: common/models.py:2015 +#: common/models.py:2026 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:2023 +#: common/models.py:2034 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2024 +#: common/models.py:2035 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2030 +#: common/models.py:2041 msgid "Enable URL integration" msgstr "" -#: common/models.py:2031 +#: common/models.py:2042 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:2037 +#: common/models.py:2048 msgid "Enable navigation integration" msgstr "" -#: common/models.py:2038 +#: common/models.py:2049 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2044 +#: common/models.py:2055 msgid "Enable app integration" msgstr "" -#: common/models.py:2045 +#: common/models.py:2056 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2051 +#: common/models.py:2062 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2052 +#: common/models.py:2063 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2058 +#: common/models.py:2069 msgid "Enable event integration" msgstr "" -#: common/models.py:2059 +#: common/models.py:2070 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2065 +#: common/models.py:2076 msgid "Enable project codes" msgstr "" -#: common/models.py:2066 +#: common/models.py:2077 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2071 +#: common/models.py:2082 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2073 +#: common/models.py:2084 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2079 +#: common/models.py:2090 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2081 +#: common/models.py:2092 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2087 +#: common/models.py:2098 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2089 +#: common/models.py:2100 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2095 +#: common/models.py:2106 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2097 +#: common/models.py:2108 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2104 +#: common/models.py:2115 msgid "Display Users full names" msgstr "" -#: common/models.py:2105 +#: common/models.py:2116 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2110 +#: common/models.py:2121 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2111 +#: common/models.py:2122 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2123 common/models.py:2533 +#: common/models.py:2134 common/models.py:2514 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2166 +#: common/models.py:2177 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2168 +#: common/models.py:2179 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2174 +#: common/models.py:2185 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2175 +#: common/models.py:2186 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2180 +#: common/models.py:2191 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2181 +#: common/models.py:2192 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2186 +#: common/models.py:2197 msgid "Show latest parts" msgstr "" -#: common/models.py:2187 +#: common/models.py:2198 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2192 +#: common/models.py:2203 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2193 +#: common/models.py:2204 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2198 +#: common/models.py:2209 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2199 +#: common/models.py:2210 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2204 +#: common/models.py:2215 msgid "Show low stock" msgstr "" -#: common/models.py:2205 +#: common/models.py:2216 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2210 +#: common/models.py:2221 msgid "Show depleted stock" msgstr "" -#: common/models.py:2211 +#: common/models.py:2222 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2216 +#: common/models.py:2227 msgid "Show needed stock" msgstr "" -#: common/models.py:2217 +#: common/models.py:2228 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2222 +#: common/models.py:2233 msgid "Show expired stock" msgstr "" -#: common/models.py:2223 +#: common/models.py:2234 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2228 +#: common/models.py:2239 msgid "Show stale stock" msgstr "" -#: common/models.py:2229 +#: common/models.py:2240 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2234 +#: common/models.py:2245 msgid "Show pending builds" msgstr "" -#: common/models.py:2235 +#: common/models.py:2246 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2240 +#: common/models.py:2251 msgid "Show overdue builds" msgstr "" -#: common/models.py:2241 +#: common/models.py:2252 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2246 +#: common/models.py:2257 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2247 +#: common/models.py:2258 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2252 +#: common/models.py:2263 msgid "Show overdue POs" msgstr "" -#: common/models.py:2253 +#: common/models.py:2264 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2258 +#: common/models.py:2269 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2259 +#: common/models.py:2270 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2264 +#: common/models.py:2275 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2265 +#: common/models.py:2276 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2270 +#: common/models.py:2281 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2271 +#: common/models.py:2282 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2276 +#: common/models.py:2287 msgid "Show News" msgstr "" -#: common/models.py:2277 +#: common/models.py:2288 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2282 +#: common/models.py:2293 msgid "Inline label display" msgstr "" -#: common/models.py:2284 +#: common/models.py:2295 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2290 +#: common/models.py:2301 msgid "Default label printer" msgstr "" -#: common/models.py:2292 +#: common/models.py:2303 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2298 +#: common/models.py:2309 msgid "Inline report display" msgstr "" -#: common/models.py:2300 +#: common/models.py:2311 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2306 +#: common/models.py:2317 msgid "Search Parts" msgstr "" -#: common/models.py:2307 +#: common/models.py:2318 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2312 +#: common/models.py:2323 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2313 +#: common/models.py:2324 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2318 +#: common/models.py:2329 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2319 +#: common/models.py:2330 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2324 +#: common/models.py:2335 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2325 +#: common/models.py:2336 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2330 +#: common/models.py:2341 msgid "Search Categories" msgstr "" -#: common/models.py:2331 +#: common/models.py:2342 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2336 +#: common/models.py:2347 msgid "Search Stock" msgstr "" -#: common/models.py:2337 +#: common/models.py:2348 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2342 +#: common/models.py:2353 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2344 +#: common/models.py:2355 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2350 +#: common/models.py:2361 msgid "Search Locations" msgstr "" -#: common/models.py:2351 +#: common/models.py:2362 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2356 +#: common/models.py:2367 msgid "Search Companies" msgstr "" -#: common/models.py:2357 +#: common/models.py:2368 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2362 +#: common/models.py:2373 msgid "Search Build Orders" msgstr "" -#: common/models.py:2363 +#: common/models.py:2374 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2368 +#: common/models.py:2379 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2369 +#: common/models.py:2380 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2374 +#: common/models.py:2385 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2376 +#: common/models.py:2387 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2382 +#: common/models.py:2393 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2383 +#: common/models.py:2394 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2388 +#: common/models.py:2399 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2390 +#: common/models.py:2401 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2396 +#: common/models.py:2407 msgid "Search Return Orders" msgstr "" -#: common/models.py:2397 +#: common/models.py:2408 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2402 +#: common/models.py:2413 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2404 +#: common/models.py:2415 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2410 +#: common/models.py:2421 msgid "Search Preview Results" msgstr "" -#: common/models.py:2412 +#: common/models.py:2423 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2418 +#: common/models.py:2429 msgid "Regex Search" msgstr "" -#: common/models.py:2419 +#: common/models.py:2430 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2424 +#: common/models.py:2435 msgid "Whole Word Search" msgstr "" -#: common/models.py:2425 +#: common/models.py:2436 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2430 +#: common/models.py:2441 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2431 +#: common/models.py:2442 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2436 +#: common/models.py:2447 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2437 +#: common/models.py:2448 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2442 +#: common/models.py:2453 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2443 +#: common/models.py:2454 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2448 +#: common/models.py:2459 msgid "Date Format" msgstr "" -#: common/models.py:2449 +#: common/models.py:2460 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2462 part/templates/part/detail.html:41 +#: common/models.py:2473 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2463 +#: common/models.py:2474 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2468 part/templates/part/detail.html:62 +#: common/models.py:2479 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2470 +#: common/models.py:2481 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2476 +#: common/models.py:2487 msgid "Table String Length" msgstr "" -#: common/models.py:2478 +#: common/models.py:2489 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2484 -msgid "Default part label template" -msgstr "" - -#: common/models.py:2485 -msgid "The part label template to be automatically selected" -msgstr "" - -#: common/models.py:2490 -msgid "Default stock item template" -msgstr "" - -#: common/models.py:2492 -msgid "The stock item label template to be automatically selected" -msgstr "" - -#: common/models.py:2498 -msgid "Default stock location label template" -msgstr "" - -#: common/models.py:2500 -msgid "The stock location label template to be automatically selected" -msgstr "" - -#: common/models.py:2506 -msgid "Default build line label template" -msgstr "" - -#: common/models.py:2508 -msgid "The build line label template to be automatically selected" -msgstr "" - -#: common/models.py:2514 +#: common/models.py:2495 msgid "Receive error reports" msgstr "" -#: common/models.py:2515 +#: common/models.py:2496 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2520 +#: common/models.py:2501 msgid "Last used printing machines" msgstr "" -#: common/models.py:2521 +#: common/models.py:2502 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2541 common/models.py:2542 common/models.py:2691 -#: common/models.py:2692 common/models.py:2937 common/models.py:2938 -#: common/models.py:3259 common/models.py:3260 part/models.py:3193 -#: part/models.py:3280 part/models.py:3353 part/models.py:3381 -#: plugin/models.py:274 plugin/models.py:275 +#: common/models.py:2522 common/models.py:2523 common/models.py:2672 +#: common/models.py:2673 common/models.py:2918 common/models.py:2919 +#: common/models.py:3245 common/models.py:3246 importer/models.py:85 +#: part/models.py:3203 part/models.py:3290 part/models.py:3364 +#: part/models.py:3392 plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 msgid "User" msgstr "משתמש" -#: common/models.py:2564 +#: common/models.py:2545 msgid "Price break quantity" msgstr "" -#: common/models.py:2571 company/serializers.py:472 order/admin.py:42 -#: order/models.py:1346 order/models.py:2265 -#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1886 +#: common/models.py:2552 company/serializers.py:502 order/admin.py:42 +#: order/models.py:1346 order/models.py:2292 +#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1889 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:740 msgid "Price" msgstr "" -#: common/models.py:2572 +#: common/models.py:2553 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2668 common/models.py:2853 +#: common/models.py:2649 common/models.py:2834 msgid "Endpoint" msgstr "" -#: common/models.py:2669 +#: common/models.py:2650 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2679 +#: common/models.py:2660 msgid "Name for this webhook" msgstr "" -#: common/models.py:2683 +#: common/models.py:2664 msgid "Is this webhook active" msgstr "" -#: common/models.py:2699 users/models.py:159 +#: common/models.py:2680 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2700 +#: common/models.py:2681 msgid "Token for access" msgstr "" -#: common/models.py:2708 +#: common/models.py:2689 msgid "Secret" msgstr "" -#: common/models.py:2709 +#: common/models.py:2690 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2817 +#: common/models.py:2798 msgid "Message ID" msgstr "" -#: common/models.py:2818 +#: common/models.py:2799 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2826 +#: common/models.py:2807 msgid "Host" msgstr "" -#: common/models.py:2827 +#: common/models.py:2808 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2835 +#: common/models.py:2816 msgid "Header" msgstr "" -#: common/models.py:2836 +#: common/models.py:2817 msgid "Header of this message" msgstr "" -#: common/models.py:2843 +#: common/models.py:2824 msgid "Body" msgstr "" -#: common/models.py:2844 +#: common/models.py:2825 msgid "Body of this message" msgstr "" -#: common/models.py:2854 +#: common/models.py:2835 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2859 +#: common/models.py:2840 msgid "Worked on" msgstr "" -#: common/models.py:2860 +#: common/models.py:2841 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2986 +#: common/models.py:2967 msgid "Id" msgstr "" -#: common/models.py:2988 templates/js/translated/company.js:965 +#: common/models.py:2969 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2990 common/models.py:3243 company/models.py:149 -#: company/models.py:440 company/models.py:500 company/models.py:799 -#: order/models.py:303 order/models.py:1301 order/models.py:1717 -#: part/admin.py:55 part/models.py:955 +#: common/models.py:2971 common/models.py:3229 company/models.py:149 +#: company/models.py:446 company/models.py:506 company/models.py:806 +#: order/models.py:303 order/models.py:1301 order/models.py:1733 +#: part/admin.py:55 part/models.py:959 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:229 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/part.js:2459 #: templates/js/translated/purchase_order.js:2040 #: templates/js/translated/purchase_order.js:2204 #: templates/js/translated/return_order.js:779 @@ -3607,28 +3646,28 @@ msgstr "" msgid "Link" msgstr "קישור" -#: common/models.py:2992 templates/js/translated/news.js:60 +#: common/models.py:2973 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2994 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2975 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:2996 templates/js/translated/news.js:52 +#: common/models.py:2977 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2999 +#: common/models.py:2980 msgid "Read" msgstr "" -#: common/models.py:2999 +#: common/models.py:2980 msgid "Was this news item read?" msgstr "" -#: common/models.py:3016 company/models.py:159 part/models.py:965 +#: common/models.py:2997 company/models.py:159 part/models.py:969 #: 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.html:35 @@ -3638,90 +3677,94 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:3016 +#: common/models.py:2997 msgid "Image file" msgstr "" -#: common/models.py:3028 common/models.py:3227 +#: common/models.py:3009 common/models.py:3213 msgid "Target model type for this image" msgstr "" -#: common/models.py:3032 +#: common/models.py:3013 msgid "Target model ID for this image" msgstr "" -#: common/models.py:3070 +#: common/models.py:3035 +msgid "Custom Unit" +msgstr "" + +#: common/models.py:3056 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:3085 +#: common/models.py:3071 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3104 +#: common/models.py:3090 msgid "Unit name" msgstr "" -#: common/models.py:3111 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3097 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3112 +#: common/models.py:3098 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3118 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3104 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3119 +#: common/models.py:3105 msgid "Unit definition" msgstr "" -#: common/models.py:3177 common/models.py:3234 stock/models.py:2461 +#: common/models.py:3163 common/models.py:3220 stock/models.py:2471 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" msgstr "קובץ מצורף" -#: common/models.py:3189 +#: common/models.py:3175 msgid "Missing file" msgstr "קובץ חסר" -#: common/models.py:3190 +#: common/models.py:3176 msgid "Missing external link" msgstr "חסר קישור חיצוני" -#: common/models.py:3235 +#: common/models.py:3221 msgid "Select file to attach" msgstr "בחר קובץ לצירוף" -#: common/models.py:3250 templates/js/translated/attachment.js:120 +#: common/models.py:3236 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" msgstr "הערה" -#: common/models.py:3251 +#: common/models.py:3237 msgid "Attachment comment" msgstr "" -#: common/models.py:3267 +#: common/models.py:3253 msgid "Upload date" msgstr "" -#: common/models.py:3268 +#: common/models.py:3254 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:3272 +#: common/models.py:3258 msgid "File size" msgstr "" -#: common/models.py:3272 +#: common/models.py:3258 msgid "File size in bytes" msgstr "" -#: common/models.py:3310 common/serializers.py:553 +#: common/models.py:3296 common/serializers.py:557 msgid "Invalid model type specified for attachment" msgstr "" @@ -3743,7 +3786,7 @@ msgstr "" msgid "A order that is assigned to you was canceled" msgstr "" -#: common/notifications.py:330 common/notifications.py:337 order/api.py:472 +#: common/notifications.py:330 common/notifications.py:337 order/api.py:454 msgid "Items Received" msgstr "" @@ -3759,75 +3802,75 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:371 +#: common/serializers.py:375 msgid "Is Running" msgstr "" -#: common/serializers.py:377 +#: common/serializers.py:381 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:383 +#: common/serializers.py:387 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:389 +#: common/serializers.py:393 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:404 +#: common/serializers.py:408 msgid "Task ID" msgstr "" -#: common/serializers.py:404 +#: common/serializers.py:408 msgid "Unique task ID" msgstr "" -#: common/serializers.py:406 +#: common/serializers.py:410 msgid "Lock" msgstr "" -#: common/serializers.py:406 +#: common/serializers.py:410 msgid "Lock time" msgstr "" -#: common/serializers.py:408 +#: common/serializers.py:412 msgid "Task name" msgstr "" -#: common/serializers.py:410 +#: common/serializers.py:414 msgid "Function" msgstr "" -#: common/serializers.py:410 +#: common/serializers.py:414 msgid "Function name" msgstr "" -#: common/serializers.py:412 +#: common/serializers.py:416 msgid "Arguments" msgstr "" -#: common/serializers.py:412 +#: common/serializers.py:416 msgid "Task arguments" msgstr "" -#: common/serializers.py:415 +#: common/serializers.py:419 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:415 +#: common/serializers.py:419 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:525 +#: common/serializers.py:529 msgid "Filename" msgstr "שם קובץ" -#: common/serializers.py:532 report/api.py:100 report/serializers.py:53 +#: common/serializers.py:536 report/api.py:100 report/serializers.py:53 msgid "Model Type" msgstr "" -#: common/serializers.py:559 +#: common/serializers.py:563 msgid "User does not have permission to create or edit attachments for this model" msgstr "" @@ -3894,29 +3937,29 @@ msgstr "" msgid "Previous Step" msgstr "" -#: company/api.py:144 +#: company/api.py:141 msgid "Part is Active" msgstr "" -#: company/api.py:148 +#: company/api.py:145 msgid "Manufacturer is Active" msgstr "" -#: company/api.py:281 +#: company/api.py:278 msgid "Supplier Part is Active" msgstr "" -#: company/api.py:285 +#: company/api.py:282 msgid "Internal Part is Active" msgstr "" -#: company/api.py:289 +#: company/api.py:286 msgid "Supplier is Active" msgstr "" -#: company/models.py:100 company/models.py:365 +#: company/models.py:100 company/models.py:371 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:822 +#: company/templates/company/company_base.html:12 stock/api.py:814 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "" @@ -3956,8 +3999,9 @@ msgstr "" msgid "Contact email address" msgstr "" -#: company/models.py:142 company/templates/company/company_base.html:145 -#: order/models.py:343 order/templates/order/order_base.html:203 +#: company/models.py:142 company/models.py:275 +#: company/templates/company/company_base.html:145 order/models.py:343 +#: order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 #: order/templates/order/sales_order_base.html:218 msgid "Contact" @@ -3976,15 +4020,17 @@ msgid "Is this company active?" msgstr "" #: company/models.py:168 -msgid "is customer" -msgstr "" +#, fuzzy +#| msgid "Sent to customer" +msgid "Is customer" +msgstr "נשלח ללקוח" #: company/models.py:169 msgid "Do you sell items to this company?" msgstr "" #: company/models.py:174 -msgid "is supplier" +msgid "Is supplier" msgstr "" #: company/models.py:175 @@ -3992,7 +4038,7 @@ msgid "Do you purchase items from this company?" msgstr "" #: company/models.py:180 -msgid "is manufacturer" +msgid "Is manufacturer" msgstr "" #: company/models.py:181 @@ -4003,178 +4049,189 @@ msgstr "" msgid "Default currency used for this company" msgstr "" -#: company/models.py:366 +#: company/models.py:314 company/templates/company/company_base.html:124 +#: order/models.py:353 order/templates/order/order_base.html:210 +#: order/templates/order/return_order_base.html:181 +#: order/templates/order/sales_order_base.html:225 +msgid "Address" +msgstr "" + +#: company/models.py:315 company/templates/company/sidebar.html:35 +msgid "Addresses" +msgstr "" + +#: company/models.py:372 msgid "Select company" msgstr "" -#: company/models.py:371 +#: company/models.py:377 msgid "Address title" msgstr "" -#: company/models.py:372 +#: company/models.py:378 msgid "Title describing the address entry" msgstr "" -#: company/models.py:378 +#: company/models.py:384 msgid "Primary address" msgstr "" -#: company/models.py:379 +#: company/models.py:385 msgid "Set as primary address" msgstr "" -#: company/models.py:384 templates/js/translated/company.js:914 +#: company/models.py:390 templates/js/translated/company.js:914 #: templates/js/translated/company.js:971 msgid "Line 1" msgstr "" -#: company/models.py:385 +#: company/models.py:391 msgid "Address line 1" msgstr "" -#: company/models.py:391 templates/js/translated/company.js:915 +#: company/models.py:397 templates/js/translated/company.js:915 #: templates/js/translated/company.js:977 msgid "Line 2" msgstr "" -#: company/models.py:392 +#: company/models.py:398 msgid "Address line 2" msgstr "" -#: company/models.py:398 company/models.py:399 +#: company/models.py:404 company/models.py:405 #: templates/js/translated/company.js:983 msgid "Postal code" msgstr "" -#: company/models.py:405 +#: company/models.py:411 msgid "City/Region" msgstr "" -#: company/models.py:406 +#: company/models.py:412 msgid "Postal code city/region" msgstr "" -#: company/models.py:412 +#: company/models.py:418 msgid "State/Province" msgstr "" -#: company/models.py:413 +#: company/models.py:419 msgid "State or province" msgstr "" -#: company/models.py:419 templates/js/translated/company.js:1001 +#: company/models.py:425 templates/js/translated/company.js:1001 msgid "Country" msgstr "" -#: company/models.py:420 +#: company/models.py:426 msgid "Address country" msgstr "" -#: company/models.py:426 +#: company/models.py:432 msgid "Courier shipping notes" msgstr "" -#: company/models.py:427 +#: company/models.py:433 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:433 +#: company/models.py:439 msgid "Internal shipping notes" msgstr "" -#: company/models.py:434 +#: company/models.py:440 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:441 +#: company/models.py:447 msgid "Link to address information (external)" msgstr "" -#: company/models.py:463 company/models.py:574 company/models.py:792 +#: company/models.py:469 company/models.py:581 company/models.py:799 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:217 msgid "Manufacturer Part" msgstr "" -#: company/models.py:475 company/models.py:760 stock/models.py:767 -#: stock/serializers.py:422 stock/templates/stock/item_base.html:142 +#: company/models.py:481 company/models.py:767 stock/models.py:767 +#: stock/serializers.py:442 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" -#: company/models.py:477 company/models.py:762 +#: company/models.py:483 company/models.py:769 msgid "Select part" msgstr "" -#: company/models.py:486 company/templates/company/company_base.html:82 +#: company/models.py:492 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:525 +#: company/templates/company/supplier_part.html:145 part/serializers.py:543 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 #: templates/js/translated/company.js:1296 #: templates/js/translated/company.js:1611 -#: templates/js/translated/table_filters.js:800 +#: templates/js/translated/table_filters.js:805 msgid "Manufacturer" msgstr "" -#: company/models.py:487 +#: company/models.py:493 msgid "Select manufacturer" msgstr "" -#: company/models.py:493 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:535 -#: templates/js/translated/company.js:351 +#: company/models.py:499 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:153 order/serializers.py:518 +#: part/serializers.py:553 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:1801 +#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1804 #: templates/js/translated/purchase_order.js:1851 #: templates/js/translated/purchase_order.js:2053 msgid "MPN" msgstr "" -#: company/models.py:494 -msgid "Manufacturer Part Number" -msgstr "" - -#: company/models.py:501 +#: company/models.py:507 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:510 +#: company/models.py:516 msgid "Manufacturer part description" msgstr "" -#: company/models.py:581 +#: company/models.py:569 +msgid "Manufacturer Part Parameter" +msgstr "" + +#: company/models.py:588 msgid "Parameter name" msgstr "" -#: company/models.py:587 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2453 templates/js/translated/company.js:1166 -#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1493 +#: company/models.py:594 report/templates/report/inventree_test_report.html:104 +#: stock/models.py:2463 templates/js/translated/company.js:1166 +#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1496 #: templates/js/translated/stock.js:1522 msgid "Value" msgstr "" -#: company/models.py:588 +#: company/models.py:595 msgid "Parameter value" msgstr "" -#: company/models.py:595 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1045 part/models.py:3646 +#: company/models.py:602 company/templates/company/supplier_part.html:168 +#: part/admin.py:57 part/models.py:1049 part/models.py:3667 #: part/templates/part/part_base.html:284 -#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1512 -#: templates/js/translated/part.js:1616 templates/js/translated/part.js:2370 +#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1515 +#: templates/js/translated/part.js:1619 templates/js/translated/part.js:2373 msgid "Units" msgstr "" -#: company/models.py:596 +#: company/models.py:603 msgid "Parameter units" msgstr "" -#: company/models.py:648 company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 order/api.py:452 +#: company/models.py:655 company/templates/company/supplier_part.html:7 +#: company/templates/company/supplier_part.html:24 order/api.py:434 #: stock/models.py:778 stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 @@ -4182,91 +4239,91 @@ msgstr "" msgid "Supplier Part" msgstr "" -#: company/models.py:700 +#: company/models.py:707 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:707 +#: company/models.py:714 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:721 +#: company/models.py:728 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:770 company/templates/company/company_base.html:87 +#: company/models.py:777 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:509 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:527 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 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:511 -#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1769 +#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1772 #: templates/js/translated/pricing.js:498 #: templates/js/translated/purchase_order.js:1689 -#: templates/js/translated/table_filters.js:804 +#: templates/js/translated/table_filters.js:809 msgid "Supplier" msgstr "" -#: company/models.py:771 +#: company/models.py:778 msgid "Select supplier" msgstr "" -#: company/models.py:777 part/serializers.py:520 +#: company/models.py:784 part/serializers.py:538 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:783 +#: company/models.py:790 msgid "Is this supplier part active?" msgstr "" -#: company/models.py:793 +#: company/models.py:800 msgid "Select manufacturer part" msgstr "" -#: company/models.py:800 +#: company/models.py:807 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:809 +#: company/models.py:816 msgid "Supplier part description" msgstr "" -#: company/models.py:816 company/templates/company/supplier_part.html:187 -#: part/admin.py:412 part/models.py:4093 part/templates/part/upload_bom.html:59 +#: company/models.py:823 company/templates/company/supplier_part.html:187 +#: part/admin.py:412 part/models.py:4178 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: 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:710 +#: stock/serializers.py:768 msgid "Note" msgstr "" -#: company/models.py:825 part/models.py:2003 +#: company/models.py:832 part/models.py:2013 msgid "base cost" msgstr "" -#: company/models.py:826 part/models.py:2004 +#: company/models.py:833 part/models.py:2014 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:833 company/templates/company/supplier_part.html:160 -#: stock/admin.py:228 stock/models.py:798 stock/serializers.py:1475 +#: company/models.py:840 company/templates/company/supplier_part.html:160 +#: stock/admin.py:228 stock/models.py:798 stock/serializers.py:1541 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 msgid "Packaging" msgstr "" -#: company/models.py:834 +#: company/models.py:841 msgid "Part packaging" msgstr "" -#: company/models.py:839 templates/js/translated/company.js:1651 -#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 +#: company/models.py:846 templates/js/translated/company.js:1651 +#: templates/js/translated/part.js:1825 templates/js/translated/part.js:1881 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 #: templates/js/translated/purchase_order.js:1103 @@ -4275,35 +4332,43 @@ msgstr "" msgid "Pack Quantity" msgstr "" -#: company/models.py:841 +#: company/models.py:848 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:860 part/models.py:2010 +#: company/models.py:867 part/models.py:2020 msgid "multiple" msgstr "" -#: company/models.py:861 +#: company/models.py:868 msgid "Order multiple" msgstr "" -#: company/models.py:873 +#: company/models.py:880 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:879 +#: company/models.py:886 msgid "Availability Updated" msgstr "" -#: company/models.py:880 +#: company/models.py:887 msgid "Date of last update of availability data" msgstr "" -#: company/serializers.py:161 +#: company/models.py:1015 +msgid "Supplier Price Break" +msgstr "" + +#: company/serializers.py:174 msgid "Default currency used for this supplier" msgstr "" -#: company/serializers.py:357 part/admin.py:126 +#: company/serializers.py:210 +msgid "Company Name" +msgstr "" + +#: company/serializers.py:384 part/admin.py:126 part/serializers.py:855 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:355 @@ -4315,7 +4380,7 @@ msgstr "" #: templates/js/translated/company.js:1287 #: templates/js/translated/company.js:1575 #: templates/js/translated/model_renderers.js:312 -#: templates/js/translated/part.js:815 templates/js/translated/part.js:1219 +#: templates/js/translated/part.js:814 templates/js/translated/part.js:1222 msgid "Inactive" msgstr "" @@ -4374,16 +4439,16 @@ msgid "Delete image" msgstr "" #: company/templates/company/company_base.html:92 order/models.py:938 -#: order/models.py:2032 order/templates/order/return_order_base.html:131 +#: order/models.py:2058 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:148 stock/models.py:820 -#: stock/models.py:821 stock/serializers.py:1225 +#: stock/models.py:821 stock/serializers.py:1291 #: 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:295 #: templates/js/translated/sales_order.js:820 #: templates/js/translated/stock.js:2959 -#: templates/js/translated/table_filters.js:808 +#: templates/js/translated/table_filters.js:813 msgid "Customer" msgstr "" @@ -4391,13 +4456,6 @@ msgstr "" msgid "Uses default currency" msgstr "" -#: company/templates/company/company_base.html:124 order/models.py:353 -#: order/templates/order/order_base.html:210 -#: order/templates/order/return_order_base.html:181 -#: order/templates/order/sales_order_base.html:225 -msgid "Address" -msgstr "" - #: company/templates/company/company_base.html:131 msgid "Phone" msgstr "" @@ -4577,7 +4635,8 @@ msgid "Delete manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:65 -#: company/templates/company/supplier_part.html:97 order/api.py:458 +#: company/templates/company/supplier_part.html:97 order/api.py:440 +#: order/serializers.py:526 msgid "Internal Part" msgstr "" @@ -4587,7 +4646,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:832 +#: part/admin.py:122 part/serializers.py:860 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4608,7 +4667,7 @@ msgid "New Parameter" msgstr "" #: company/templates/company/manufacturer_part.html:196 -#: templates/js/translated/part.js:1423 +#: templates/js/translated/part.js:1426 msgid "Add Parameter" msgstr "" @@ -4632,10 +4691,6 @@ msgstr "" msgid "Contacts" msgstr "" -#: company/templates/company/sidebar.html:35 -msgid "Addresses" -msgstr "" - #: company/templates/company/supplier_part.html:50 #: templates/js/translated/company.js:1526 msgid "Supplier part actions" @@ -4648,128 +4703,284 @@ msgstr "" msgid "Order Part" msgstr "" -#: company/templates/company/supplier_part.html:60 -#: company/templates/company/supplier_part.html:61 -msgid "Update Availability" +#: company/templates/company/supplier_part.html:60 +#: company/templates/company/supplier_part.html:61 +msgid "Update Availability" +msgstr "" + +#: company/templates/company/supplier_part.html:63 +#: company/templates/company/supplier_part.html:64 +#: templates/js/translated/company.js:294 +msgid "Edit Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:68 +#: company/templates/company/supplier_part.html:69 +#: templates/js/translated/company.js:269 +msgid "Duplicate Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:73 +msgid "Delete Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:74 +msgid "Delete Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:133 +msgid "No supplier information available" +msgstr "" + +#: company/templates/company/supplier_part.html:139 order/serializers.py:515 +#: part/bom.py:279 part/bom.py:311 part/serializers.py:537 +#: templates/js/translated/company.js:349 templates/js/translated/part.js:1790 +#: templates/js/translated/pricing.js:510 +#: templates/js/translated/purchase_order.js:1850 +#: templates/js/translated/purchase_order.js:2028 +msgid "SKU" +msgstr "" + +#: company/templates/company/supplier_part.html:206 +msgid "Supplier Part Stock" +msgstr "" + +#: company/templates/company/supplier_part.html:209 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:207 +msgid "Create new stock item" +msgstr "" + +#: company/templates/company/supplier_part.html:210 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:208 +#: templates/js/translated/stock.js:537 +msgid "New Stock Item" +msgstr "" + +#: company/templates/company/supplier_part.html:223 +msgid "Supplier Part Orders" +msgstr "" + +#: company/templates/company/supplier_part.html:246 +msgid "Pricing Information" +msgstr "" + +#: company/templates/company/supplier_part.html:251 +#: templates/js/translated/company.js:398 +#: templates/js/translated/pricing.js:684 +msgid "Add Price Break" +msgstr "" + +#: company/templates/company/supplier_part.html:276 +msgid "Supplier Part QR Code" +msgstr "" + +#: company/templates/company/supplier_part.html:287 +msgid "Link Barcode to Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:359 +msgid "Update Part Availability" +msgstr "" + +#: company/templates/company/supplier_part_sidebar.html:5 +#: part/serializers.py:859 part/stocktake.py:224 +#: part/templates/part/category.html:183 +#: part/templates/part/category_sidebar.html:17 stock/admin.py:68 +#: stock/serializers.py:976 stock/serializers.py:1154 +#: stock/templates/stock/location.html:170 +#: 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:1064 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 +#: users/models.py:206 +msgid "Stock Items" +msgstr "" + +#: company/templates/company/supplier_part_sidebar.html:9 +msgid "Supplier Part Pricing" +msgstr "" + +#: company/views.py:32 +msgid "New Supplier" +msgstr "" + +#: company/views.py:38 +msgid "New Manufacturer" +msgstr "" + +#: company/views.py:43 templates/InvenTree/search.html:210 +#: templates/navbar.html:60 +msgid "Customers" +msgstr "" + +#: company/views.py:44 +msgid "New Customer" +msgstr "" + +#: company/views.py:52 +msgid "New Company" +msgstr "" + +#: generic/states/tests.py:18 order/status_codes.py:13 +msgid "Placed" +msgstr "מוקם" + +#: importer/mixins.py:263 +msgid "Invalid export format" +msgstr "" + +#: importer/models.py:56 +msgid "Timestamp" +msgstr "" + +#: importer/models.py:61 +msgid "Data file to import" +msgstr "" + +#: importer/models.py:70 templates/js/translated/tables.js:558 +msgid "Columns" +msgstr "" + +#: importer/models.py:81 +msgid "Import status" +msgstr "" + +#: importer/models.py:91 +msgid "Field Defaults" +msgstr "" + +#: importer/models.py:201 +msgid "Some required fields have not been mapped" +msgstr "" + +#: importer/models.py:346 +msgid "Column is already mapped to a database field" +msgstr "" + +#: importer/models.py:351 +msgid "Field is already mapped to a data column" +msgstr "" + +#: importer/models.py:360 +msgid "Column mapping must be linked to a valid import session" +msgstr "" + +#: importer/models.py:365 +msgid "Column does not exist in the data file" +msgstr "" + +#: importer/models.py:372 +msgid "Field does not exist in the target model" +msgstr "" + +#: importer/models.py:376 +msgid "Selected field is read-only" +msgstr "" + +#: importer/models.py:381 importer/models.py:452 +msgid "Import Session" +msgstr "" + +#: importer/models.py:385 +msgid "Field" +msgstr "" + +#: importer/models.py:387 +msgid "Column" msgstr "" -#: company/templates/company/supplier_part.html:63 -#: company/templates/company/supplier_part.html:64 -#: templates/js/translated/company.js:294 -msgid "Edit Supplier Part" +#: importer/models.py:456 +msgid "Row Index" msgstr "" -#: company/templates/company/supplier_part.html:68 -#: company/templates/company/supplier_part.html:69 -#: templates/js/translated/company.js:269 -msgid "Duplicate Supplier Part" +#: importer/models.py:459 +msgid "Original row data" msgstr "" -#: company/templates/company/supplier_part.html:73 -msgid "Delete Supplier Part" +#: importer/models.py:462 part/models.py:3841 +msgid "Data" msgstr "" -#: company/templates/company/supplier_part.html:74 -msgid "Delete Supplier Part" +#: importer/models.py:464 machine/models.py:110 +msgid "Errors" msgstr "" -#: company/templates/company/supplier_part.html:133 -msgid "No supplier information available" +#: importer/models.py:466 part/api.py:874 +msgid "Valid" msgstr "" -#: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:519 -#: templates/js/translated/company.js:349 templates/js/translated/part.js:1787 -#: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1850 -#: templates/js/translated/purchase_order.js:2028 -msgid "SKU" +#: importer/operations.py:28 importer/operations.py:49 +msgid "Unsupported data file format" msgstr "" -#: company/templates/company/supplier_part.html:206 -msgid "Supplier Part Stock" +#: importer/operations.py:40 +msgid "Failed to open data file" msgstr "" -#: company/templates/company/supplier_part.html:209 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:207 -msgid "Create new stock item" +#: importer/operations.py:51 +msgid "Invalid data file dimensions" msgstr "" -#: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:208 -#: templates/js/translated/stock.js:537 -msgid "New Stock Item" +#: importer/serializers.py:135 +msgid "Rows" msgstr "" -#: company/templates/company/supplier_part.html:223 -msgid "Supplier Part Orders" +#: importer/serializers.py:136 +msgid "List of row IDs to accept" msgstr "" -#: company/templates/company/supplier_part.html:246 -msgid "Pricing Information" +#: importer/serializers.py:149 +msgid "No rows provided" msgstr "" -#: company/templates/company/supplier_part.html:251 -#: templates/js/translated/company.js:398 -#: templates/js/translated/pricing.js:684 -msgid "Add Price Break" +#: importer/serializers.py:153 +msgid "Row does not belong to this session" msgstr "" -#: company/templates/company/supplier_part.html:276 -msgid "Supplier Part QR Code" +#: importer/serializers.py:156 +msgid "Row contains invalid data" msgstr "" -#: company/templates/company/supplier_part.html:287 -msgid "Link Barcode to Supplier Part" +#: importer/serializers.py:159 +msgid "Row has already been completed" msgstr "" -#: company/templates/company/supplier_part.html:359 -msgid "Update Part Availability" +#: importer/status_codes.py:11 +msgid "Initializing" msgstr "" -#: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:831 part/stocktake.py:224 -#: part/templates/part/category.html:183 -#: part/templates/part/category_sidebar.html:17 stock/admin.py:68 -#: stock/serializers.py:918 stock/serializers.py:1091 -#: stock/templates/stock/location.html:170 -#: 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:1061 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 -#: users/models.py:206 -msgid "Stock Items" +#: importer/status_codes.py:12 +msgid "Mapping Columns" msgstr "" -#: company/templates/company/supplier_part_sidebar.html:9 -msgid "Supplier Part Pricing" +#: importer/status_codes.py:13 +msgid "Importing Data" msgstr "" -#: company/views.py:32 -msgid "New Supplier" +#: importer/status_codes.py:16 +msgid "Processing Data" msgstr "" -#: company/views.py:38 -msgid "New Manufacturer" +#: importer/validators.py:21 +msgid "Data file exceeds maximum size limit" msgstr "" -#: company/views.py:43 templates/InvenTree/search.html:210 -#: templates/navbar.html:60 -msgid "Customers" +#: importer/validators.py:26 +msgid "Data file contains no headers" msgstr "" -#: company/views.py:44 -msgid "New Customer" +#: importer/validators.py:29 +msgid "Data file contains too many columns" msgstr "" -#: company/views.py:52 -msgid "New Company" +#: importer/validators.py:32 +msgid "Data file contains too many rows" msgstr "" -#: generic/states/tests.py:18 order/status_codes.py:13 -msgid "Placed" -msgstr "מוקם" +#: importer/validators.py:49 +msgid "Value must be a valid dictionary object" +msgstr "" #: machine/machine_types/label_printer.py:212 msgid "Copies" @@ -4783,7 +4994,7 @@ msgstr "" msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:229 order/api.py:1467 +#: machine/machine_types/label_printer.py:229 order/api.py:1388 #: templates/js/translated/sales_order.js:1078 msgid "Unknown" msgstr "" @@ -4852,10 +5063,6 @@ msgstr "" msgid "Initialized" msgstr "" -#: machine/models.py:110 -msgid "Errors" -msgstr "" - #: machine/models.py:117 msgid "Machine status" msgstr "" @@ -4881,44 +5088,44 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:157 order/serializers.py:90 +#: order/api.py:149 order/serializers.py:94 #: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:113 #: order/templates/order/sales_order_base.html:122 msgid "Order Status" msgstr "" -#: order/api.py:161 templates/js/translated/table_filters.js:194 -#: templates/js/translated/table_filters.js:779 +#: order/api.py:153 templates/js/translated/table_filters.js:194 +#: templates/js/translated/table_filters.js:784 msgid "Has Pricing" msgstr "" -#: order/api.py:236 +#: order/api.py:228 msgid "No matching purchase order found" msgstr "" -#: order/api.py:435 order/api.py:801 order/models.py:1395 order/models.py:1504 -#: order/models.py:1550 order/models.py:1664 order/models.py:1818 -#: order/models.py:2231 order/models.py:2282 +#: order/api.py:417 order/api.py:755 order/models.py:1400 order/models.py:1514 +#: order/models.py:1565 order/models.py:1680 order/models.py:1839 +#: order/models.py:2258 order/models.py:2314 #: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "" -#: order/api.py:439 order/api.py:822 +#: order/api.py:421 order/api.py:776 msgid "Order Complete" msgstr "" -#: order/api.py:462 +#: order/api.py:444 msgid "Order Pending" msgstr "" -#: order/api.py:1461 order/models.py:380 order/models.py:1396 -#: order/models.py:1505 order/templates/order/order_base.html:9 +#: order/api.py:1382 order/models.py:380 order/models.py:1401 +#: order/models.py:1515 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 -#: stock/serializers.py:118 stock/templates/stock/item_base.html:176 +#: stock/serializers.py:120 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/part.js:1746 templates/js/translated/pricing.js:804 +#: templates/js/translated/part.js:1749 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:1673 @@ -4926,8 +5133,8 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1465 order/models.py:1981 order/models.py:2232 -#: order/models.py:2283 order/templates/order/return_order_base.html:9 +#: order/api.py:1386 order/models.py:2007 order/models.py:2259 +#: order/models.py:2315 order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report.html:13 #: templates/js/translated/return_order.js:280 @@ -4939,11 +5146,11 @@ msgstr "" msgid "Total price for this order" msgstr "" -#: order/models.py:96 order/serializers.py:70 +#: order/models.py:96 order/serializers.py:72 msgid "Order Currency" msgstr "" -#: order/models.py:99 order/serializers.py:71 +#: order/models.py:99 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" @@ -4959,7 +5166,7 @@ msgstr "" msgid "Select project code for this order" msgstr "" -#: order/models.py:303 order/models.py:1301 order/models.py:1717 +#: order/models.py:303 order/models.py:1301 order/models.py:1733 msgid "Link to external page" msgstr "" @@ -5008,15 +5215,15 @@ msgstr "" msgid "received by" msgstr "" -#: order/models.py:514 order/models.py:2058 +#: order/models.py:514 order/models.py:2084 msgid "Issue Date" msgstr "" -#: order/models.py:515 order/models.py:2059 +#: order/models.py:515 order/models.py:2085 msgid "Date order was issued" msgstr "" -#: order/models.py:522 order/models.py:2066 +#: order/models.py:522 order/models.py:2092 msgid "Date order was completed" msgstr "" @@ -5032,15 +5239,15 @@ msgstr "" msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:962 order/models.py:2051 +#: order/models.py:962 order/models.py:2077 msgid "Customer Reference " msgstr "" -#: order/models.py:963 order/models.py:2052 +#: order/models.py:963 order/models.py:2078 msgid "Customer order reference code" msgstr "" -#: order/models.py:967 order/models.py:1671 +#: order/models.py:967 order/models.py:1687 #: templates/js/translated/sales_order.js:879 #: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" @@ -5102,20 +5309,24 @@ msgstr "" msgid "Unit price" msgstr "" -#: order/models.py:1380 +#: order/models.py:1361 +msgid "Purchase Order Line Item" +msgstr "" + +#: order/models.py:1385 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1387 +#: order/models.py:1392 msgid "deleted" msgstr "" -#: order/models.py:1415 +#: order/models.py:1420 msgid "Supplier part" msgstr "" -#: order/models.py:1422 order/templates/order/order_base.html:196 -#: templates/js/translated/part.js:1870 templates/js/translated/part.js:1902 +#: order/models.py:1427 order/templates/order/order_base.html:196 +#: templates/js/translated/part.js:1873 templates/js/translated/part.js:1905 #: templates/js/translated/purchase_order.js:1306 #: templates/js/translated/purchase_order.js:2169 #: templates/js/translated/return_order.js:763 @@ -5124,196 +5335,224 @@ msgstr "" msgid "Received" msgstr "" -#: order/models.py:1423 +#: order/models.py:1428 msgid "Number of items received" msgstr "" -#: order/models.py:1431 stock/models.py:939 stock/serializers.py:556 +#: order/models.py:1436 stock/models.py:939 stock/serializers.py:602 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2311 msgid "Purchase Price" msgstr "" -#: order/models.py:1432 +#: order/models.py:1437 msgid "Unit purchase price" msgstr "" -#: order/models.py:1447 +#: order/models.py:1452 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1538 +#: order/models.py:1503 +msgid "Purchase Order Extra Line" +msgstr "" + +#: order/models.py:1532 +msgid "Sales Order Line Item" +msgstr "" + +#: order/models.py:1553 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1543 +#: order/models.py:1558 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1569 part/templates/part/part_pricing.html:107 +#: order/models.py:1584 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:1570 +#: order/models.py:1585 msgid "Unit sale price" msgstr "" -#: order/models.py:1579 order/status_codes.py:43 +#: order/models.py:1594 order/status_codes.py:43 #: templates/js/translated/sales_order.js:1559 #: templates/js/translated/sales_order.js:1680 #: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "נשלח" -#: order/models.py:1580 +#: order/models.py:1595 msgid "Shipped quantity" msgstr "" -#: order/models.py:1672 +#: order/models.py:1667 +msgid "Sales Order Shipment" +msgstr "" + +#: order/models.py:1688 msgid "Date of shipment" msgstr "" -#: order/models.py:1678 templates/js/translated/sales_order.js:1072 +#: order/models.py:1694 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "" -#: order/models.py:1679 +#: order/models.py:1695 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1687 +#: order/models.py:1703 msgid "Checked By" msgstr "" -#: order/models.py:1688 +#: order/models.py:1704 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1695 order/models.py:1908 order/serializers.py:1342 -#: order/serializers.py:1452 templates/js/translated/model_renderers.js:454 +#: order/models.py:1711 order/models.py:1934 order/serializers.py:1398 +#: order/serializers.py:1508 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "" -#: order/models.py:1696 +#: order/models.py:1712 msgid "Shipment number" msgstr "" -#: order/models.py:1704 +#: order/models.py:1720 msgid "Tracking Number" msgstr "" -#: order/models.py:1705 +#: order/models.py:1721 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1712 +#: order/models.py:1728 msgid "Invoice Number" msgstr "" -#: order/models.py:1713 +#: order/models.py:1729 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1733 +#: order/models.py:1749 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1736 +#: order/models.py:1752 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1854 order/models.py:1856 +#: order/models.py:1828 +msgid "Sales Order Extra Line" +msgstr "" + +#: order/models.py:1857 +msgid "Sales Order Allocation" +msgstr "" + +#: order/models.py:1880 order/models.py:1882 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1863 +#: order/models.py:1889 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1866 +#: order/models.py:1892 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1869 +#: order/models.py:1895 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1888 order/serializers.py:1219 +#: order/models.py:1914 order/serializers.py:1275 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1891 +#: order/models.py:1917 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1892 plugin/base/barcodes/api.py:481 +#: order/models.py:1918 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1900 +#: order/models.py:1926 msgid "Line" msgstr "" -#: order/models.py:1909 +#: order/models.py:1935 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1922 order/models.py:2239 +#: order/models.py:1948 order/models.py:2266 #: templates/js/translated/return_order.js:721 msgid "Item" msgstr "" -#: order/models.py:1923 +#: order/models.py:1949 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1932 +#: order/models.py:1958 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2021 +#: order/models.py:2047 msgid "Return Order reference" msgstr "" -#: order/models.py:2033 +#: order/models.py:2059 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2045 +#: order/models.py:2071 msgid "Return order status" msgstr "" -#: order/models.py:2224 +#: order/models.py:2237 +msgid "Return Order Line Item" +msgstr "" + +#: order/models.py:2251 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2240 +#: order/models.py:2267 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2246 +#: order/models.py:2273 msgid "Received Date" msgstr "" -#: order/models.py:2247 +#: order/models.py:2274 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2258 templates/js/translated/return_order.js:732 +#: order/models.py:2285 templates/js/translated/return_order.js:732 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2259 +#: order/models.py:2286 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2266 +#: order/models.py:2293 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:79 order/templates/order/po_sidebar.html:5 +#: order/models.py:2303 +msgid "Return Order Extra Line" +msgstr "" + +#: order/serializers.py:83 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_purchase_order_report.html:22 @@ -5322,163 +5561,171 @@ msgstr "" msgid "Line Items" msgstr "" -#: order/serializers.py:83 +#: order/serializers.py:87 msgid "Completed Lines" msgstr "" -#: order/serializers.py:286 +#: order/serializers.py:305 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:301 order/serializers.py:1235 +#: order/serializers.py:320 order/serializers.py:1291 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:311 order/serializers.py:1245 +#: order/serializers.py:330 order/serializers.py:1301 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:439 +#: order/serializers.py:468 msgid "Order is not open" msgstr "" -#: order/serializers.py:460 +#: order/serializers.py:489 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:462 +#: order/serializers.py:491 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:472 +#: order/serializers.py:501 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:478 +#: order/serializers.py:507 msgid "Merge Items" msgstr "" -#: order/serializers.py:480 +#: order/serializers.py:509 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:498 +#: order/serializers.py:522 part/models.py:945 +msgid "Internal Part Number" +msgstr "" + +#: order/serializers.py:530 +msgid "Internal Part Name" +msgstr "" + +#: order/serializers.py:546 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:501 +#: order/serializers.py:549 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:509 +#: order/serializers.py:557 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:510 +#: order/serializers.py:558 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:549 order/serializers.py:1313 +#: order/serializers.py:598 order/serializers.py:1369 msgid "Line Item" msgstr "" -#: order/serializers.py:555 +#: order/serializers.py:604 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:565 order/serializers.py:673 order/serializers.py:1657 +#: order/serializers.py:614 order/serializers.py:722 order/serializers.py:1715 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:581 templates/js/translated/purchase_order.js:1130 +#: order/serializers.py:630 templates/js/translated/purchase_order.js:1130 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:589 templates/js/translated/purchase_order.js:1154 +#: order/serializers.py:638 templates/js/translated/purchase_order.js:1154 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:600 templates/js/translated/barcode.js:52 +#: order/serializers.py:649 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:601 +#: order/serializers.py:650 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:617 +#: order/serializers.py:666 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:641 +#: order/serializers.py:690 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:689 order/serializers.py:1673 +#: order/serializers.py:738 order/serializers.py:1731 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:705 +#: order/serializers.py:754 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:716 +#: order/serializers.py:765 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1062 +#: order/serializers.py:1117 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1122 +#: order/serializers.py:1178 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1183 order/serializers.py:1322 +#: order/serializers.py:1239 order/serializers.py:1378 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1202 +#: order/serializers.py:1258 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1332 +#: order/serializers.py:1388 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1354 order/serializers.py:1460 +#: order/serializers.py:1410 order/serializers.py:1516 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1357 order/serializers.py:1463 +#: order/serializers.py:1413 order/serializers.py:1519 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1404 +#: order/serializers.py:1460 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1411 +#: order/serializers.py:1467 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1627 +#: order/serializers.py:1685 msgid "Return order line item" msgstr "" -#: order/serializers.py:1633 +#: order/serializers.py:1691 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1636 +#: order/serializers.py:1694 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1665 +#: order/serializers.py:1723 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1743 +#: order/serializers.py:1806 msgid "Line price currency" msgstr "" @@ -5808,7 +6055,7 @@ msgstr "" #: 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:1073 +#: templates/js/translated/part.js:1076 #: templates/js/translated/purchase_order.js:1752 #: templates/js/translated/return_order.js:380 #: templates/js/translated/sales_order.js:891 @@ -5904,34 +6151,29 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:398 part/models.py:3944 part/stocktake.py:219 +#: part/admin.py:39 part/admin.py:398 part/models.py:3991 part/stocktake.py:219 #: stock/admin.py:152 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:405 part/models.py:3945 part/stocktake.py:220 -#: stock/admin.py:156 -msgid "Part Name" -msgstr "" - #: part/admin.py:45 part/stocktake.py:221 msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:940 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:944 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 -#: templates/js/translated/part.js:1227 templates/js/translated/part.js:2341 +#: templates/js/translated/part.js:1230 templates/js/translated/part.js:2344 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:949 part/templates/part/part_base.html:277 -#: report/models.py:162 templates/js/translated/part.js:1232 -#: templates/js/translated/part.js:2347 +#: part/admin.py:50 part/models.py:953 part/templates/part/part_base.html:277 +#: report/models.py:162 templates/js/translated/part.js:1235 +#: templates/js/translated/part.js:2350 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:319 part/models.py:922 +#: part/admin.py:53 part/admin.py:319 part/models.py:926 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5944,7 +6186,8 @@ msgstr "" msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:304 part/stocktake.py:223 +#: part/admin.py:67 part/admin.py:304 part/serializers.py:837 +#: part/stocktake.py:223 msgid "Category Name" msgstr "" @@ -5956,11 +6199,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:908 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:912 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1036 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1040 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5968,18 +6211,19 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:150 part/templates/part/part_base.html:241 stock/admin.py:235 -#: templates/js/translated/part.js:715 templates/js/translated/part.js:2153 +#: part/admin.py:150 part/serializers.py:854 +#: part/templates/part/part_base.html:241 stock/admin.py:235 +#: templates/js/translated/part.js:714 templates/js/translated/part.js:2156 msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3088 part/models.py:3102 -#: templates/js/translated/part.js:970 +#: part/admin.py:155 part/models.py:3098 part/models.py:3112 +#: templates/js/translated/part.js:973 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3095 part/models.py:3109 -#: templates/js/translated/part.js:980 +#: part/admin.py:158 part/models.py:3105 part/models.py:3119 +#: templates/js/translated/part.js:983 msgid "Maximum Cost" msgstr "" @@ -5996,14 +6240,14 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:396 part/serializers.py:124 -#: part/serializers.py:267 part/serializers.py:386 +#: part/admin.py:325 part/models.py:397 part/serializers.py:130 +#: part/serializers.py:282 part/serializers.py:404 #: 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:2807 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:203 msgid "Parts" msgstr "" @@ -6020,125 +6264,117 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:402 part/models.py:3946 -msgid "Part IPN" -msgstr "" - -#: part/admin.py:415 part/serializers.py:1274 +#: part/admin.py:415 part/serializers.py:1302 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:420 part/serializers.py:1289 +#: part/admin.py:420 part/serializers.py:1317 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "" -#: part/api.py:104 +#: part/api.py:105 msgid "Starred" msgstr "" -#: part/api.py:106 +#: part/api.py:107 msgid "Filter by starred categories" msgstr "" -#: part/api.py:123 stock/api.py:312 +#: part/api.py:124 stock/api.py:312 msgid "Depth" msgstr "" -#: part/api.py:123 +#: part/api.py:124 msgid "Filter by category depth" msgstr "" -#: part/api.py:141 stock/api.py:330 +#: part/api.py:142 stock/api.py:330 msgid "Top Level" msgstr "" -#: part/api.py:143 +#: part/api.py:144 msgid "Filter by top-level categories" msgstr "" -#: part/api.py:156 stock/api.py:345 +#: part/api.py:157 stock/api.py:345 msgid "Cascade" msgstr "" -#: part/api.py:158 +#: part/api.py:159 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:179 templates/js/translated/part.js:308 +#: part/api.py:180 templates/js/translated/part.js:307 msgid "Parent" msgstr "" -#: part/api.py:181 +#: part/api.py:182 msgid "Filter by parent category" msgstr "" -#: part/api.py:214 +#: part/api.py:215 msgid "Exclude Tree" msgstr "" -#: part/api.py:216 +#: part/api.py:217 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:449 +#: part/api.py:442 msgid "Has Results" msgstr "" -#: part/api.py:616 +#: part/api.py:609 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:634 +#: part/api.py:627 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:650 +#: part/api.py:643 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:734 +#: part/api.py:727 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:881 -msgid "Valid" -msgstr "" - -#: part/api.py:882 +#: part/api.py:875 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:888 +#: part/api.py:881 msgid "This option must be selected" msgstr "" -#: part/api.py:1105 +#: part/api.py:1098 msgid "BOM Valid" msgstr "" -#: part/api.py:1508 part/models.py:932 part/models.py:3374 part/models.py:3889 -#: part/serializers.py:401 part/serializers.py:1130 -#: part/templates/part/part_base.html:260 stock/api.py:791 +#: part/api.py:1494 part/models.py:936 part/models.py:3385 part/models.py:3936 +#: part/serializers.py:419 part/serializers.py:1158 +#: part/templates/part/part_base.html:260 stock/api.py:783 #: 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:2380 msgid "Category" msgstr "" -#: part/api.py:1796 +#: part/api.py:1784 msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:104 part/models.py:975 +#: part/bom.py:170 part/models.py:104 part/models.py:979 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:833 +#: part/bom.py:171 part/serializers.py:861 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6147,7 +6383,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:85 part/models.py:3890 part/templates/part/category.html:16 +#: part/models.py:85 part/models.py:3937 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -6162,7 +6398,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:110 stock/models.py:175 templates/js/translated/part.js:2810 +#: part/models.py:110 stock/models.py:175 templates/js/translated/part.js:2813 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 @@ -6194,1002 +6430,1035 @@ msgstr "" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:485 +#: part/models.py:486 +msgid "Cannot delete this part as it is locked" +msgstr "" + +#: part/models.py:489 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:490 +#: part/models.py:494 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:528 +#: part/models.py:532 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:576 part/models.py:583 +#: part/models.py:580 part/models.py:587 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:595 +#: part/models.py:599 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:658 +#: part/models.py:662 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:736 +#: part/models.py:740 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:837 +#: part/models.py:841 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:847 +#: part/models.py:851 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:862 +#: part/models.py:866 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:891 part/models.py:3945 +#: part/models.py:895 part/models.py:3992 msgid "Part name" msgstr "" -#: part/models.py:896 +#: part/models.py:900 msgid "Is Template" msgstr "" -#: part/models.py:897 +#: part/models.py:901 msgid "Is this part a template part?" msgstr "" -#: part/models.py:907 +#: part/models.py:911 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:915 +#: part/models.py:919 msgid "Part description (optional)" msgstr "" -#: part/models.py:923 +#: part/models.py:927 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:933 +#: part/models.py:937 msgid "Part category" msgstr "" -#: part/models.py:941 -msgid "Internal Part Number" -msgstr "" - -#: part/models.py:948 +#: part/models.py:952 msgid "Part revision or version number" msgstr "" -#: part/models.py:973 +#: part/models.py:977 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1019 part/templates/part/part_base.html:376 +#: part/models.py:1023 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:1020 +#: part/models.py:1024 msgid "Default supplier part" msgstr "" -#: part/models.py:1027 +#: part/models.py:1031 msgid "Default Expiry" msgstr "" -#: part/models.py:1028 +#: part/models.py:1032 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1037 +#: part/models.py:1041 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1046 +#: part/models.py:1050 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1053 +#: part/models.py:1057 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1059 +#: part/models.py:1063 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1065 +#: part/models.py:1069 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1071 +#: part/models.py:1075 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1077 +#: part/models.py:1081 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1081 +#: part/models.py:1085 msgid "Is this part active?" msgstr "" -#: part/models.py:1087 +#: part/models.py:1090 templates/js/translated/part.js:818 +#: templates/js/translated/table_filters.js:721 +msgid "Locked" +msgstr "" + +#: part/models.py:1091 +msgid "Locked parts cannot be edited" +msgstr "" + +#: part/models.py:1097 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1093 +#: part/models.py:1103 msgid "BOM checksum" msgstr "" -#: part/models.py:1094 +#: part/models.py:1104 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1102 +#: part/models.py:1112 msgid "BOM checked by" msgstr "" -#: part/models.py:1107 +#: part/models.py:1117 msgid "BOM checked date" msgstr "" -#: part/models.py:1123 +#: part/models.py:1133 msgid "Creation User" msgstr "" -#: part/models.py:1133 +#: part/models.py:1143 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1138 part/templates/part/part_base.html:339 +#: part/models.py:1148 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:2474 msgid "Last Stocktake" msgstr "" -#: part/models.py:2011 +#: part/models.py:2021 msgid "Sell multiple" msgstr "" -#: part/models.py:3002 +#: part/models.py:3012 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3018 +#: part/models.py:3028 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3019 +#: part/models.py:3029 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3025 +#: part/models.py:3035 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3026 +#: part/models.py:3036 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3032 +#: part/models.py:3042 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3033 +#: part/models.py:3043 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3039 +#: part/models.py:3049 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3040 +#: part/models.py:3050 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3046 +#: part/models.py:3056 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3047 +#: part/models.py:3057 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3053 +#: part/models.py:3063 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3054 +#: part/models.py:3064 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3060 +#: part/models.py:3070 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3061 +#: part/models.py:3071 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3067 +#: part/models.py:3077 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3068 +#: part/models.py:3078 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3074 +#: part/models.py:3084 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3075 +#: part/models.py:3085 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3081 +#: part/models.py:3091 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3082 +#: part/models.py:3092 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3089 +#: part/models.py:3099 msgid "Override minimum cost" msgstr "" -#: part/models.py:3096 +#: part/models.py:3106 msgid "Override maximum cost" msgstr "" -#: part/models.py:3103 +#: part/models.py:3113 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3110 +#: part/models.py:3120 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3116 +#: part/models.py:3126 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3117 +#: part/models.py:3127 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3123 +#: part/models.py:3133 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3124 +#: part/models.py:3134 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3130 +#: part/models.py:3140 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3131 +#: part/models.py:3141 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3137 +#: part/models.py:3147 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3138 +#: part/models.py:3148 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3157 +#: part/models.py:3167 msgid "Part for stocktake" msgstr "" -#: part/models.py:3162 +#: part/models.py:3172 msgid "Item Count" msgstr "" -#: part/models.py:3163 +#: part/models.py:3173 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3171 +#: part/models.py:3181 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3175 part/models.py:3258 +#: part/models.py:3185 part/models.py:3268 #: part/templates/part/part_scheduling.html:13 #: 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:1086 templates/js/translated/pricing.js:826 +#: templates/js/translated/part.js:1089 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 #: templates/js/translated/purchase_order.js:1731 #: templates/js/translated/stock.js:2821 msgid "Date" msgstr "" -#: part/models.py:3176 +#: part/models.py:3186 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3184 +#: part/models.py:3194 msgid "Additional notes" msgstr "" -#: part/models.py:3194 +#: part/models.py:3204 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3200 +#: part/models.py:3210 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3201 +#: part/models.py:3211 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3207 +#: part/models.py:3217 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3208 +#: part/models.py:3218 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3264 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3274 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3265 +#: part/models.py:3275 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3270 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3280 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3271 +#: part/models.py:3281 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3281 +#: part/models.py:3291 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3423 +#: part/models.py:3301 +msgid "Part Sale Price Break" +msgstr "" + +#: part/models.py:3413 +msgid "Part Test Template" +msgstr "" + +#: part/models.py:3439 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3444 part/models.py:3608 +#: part/models.py:3460 part/models.py:3629 msgid "Choices must be unique" msgstr "" -#: part/models.py:3455 +#: part/models.py:3471 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3466 +#: part/models.py:3482 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3483 templates/js/translated/part.js:2880 +#: part/models.py:3499 templates/js/translated/part.js:2883 msgid "Test Name" msgstr "" -#: part/models.py:3484 +#: part/models.py:3500 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3490 +#: part/models.py:3506 msgid "Test Key" msgstr "" -#: part/models.py:3491 +#: part/models.py:3507 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3498 +#: part/models.py:3514 msgid "Test Description" msgstr "" -#: part/models.py:3499 +#: part/models.py:3515 msgid "Enter description for this test" msgstr "" -#: part/models.py:3503 report/models.py:209 -#: templates/js/translated/part.js:2901 +#: part/models.py:3519 report/models.py:209 +#: templates/js/translated/part.js:2904 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "" -#: part/models.py:3503 +#: part/models.py:3519 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3508 templates/js/translated/part.js:2909 +#: part/models.py:3524 templates/js/translated/part.js:2912 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3509 +#: part/models.py:3525 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3514 templates/js/translated/part.js:2917 +#: part/models.py:3530 templates/js/translated/part.js:2920 msgid "Requires Value" msgstr "" -#: part/models.py:3515 +#: part/models.py:3531 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3520 templates/js/translated/part.js:2924 +#: part/models.py:3536 templates/js/translated/part.js:2927 msgid "Requires Attachment" msgstr "" -#: part/models.py:3522 +#: part/models.py:3538 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3528 part/models.py:3667 templates/js/translated/part.js:1637 +#: part/models.py:3544 part/models.py:3688 templates/js/translated/part.js:1640 msgid "Choices" msgstr "" -#: part/models.py:3529 +#: part/models.py:3545 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3583 +#: part/models.py:3577 +msgid "Part Parameter Template" +msgstr "" + +#: part/models.py:3604 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3588 +#: part/models.py:3609 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3625 +#: part/models.py:3646 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3640 +#: part/models.py:3661 msgid "Parameter Name" msgstr "" -#: part/models.py:3647 +#: part/models.py:3668 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3655 +#: part/models.py:3676 msgid "Parameter description" msgstr "" -#: part/models.py:3661 templates/js/translated/part.js:1628 -#: templates/js/translated/table_filters.js:825 +#: part/models.py:3682 templates/js/translated/part.js:1631 +#: templates/js/translated/table_filters.js:830 msgid "Checkbox" msgstr "" -#: part/models.py:3662 +#: part/models.py:3683 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3668 +#: part/models.py:3689 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3745 +#: part/models.py:3723 +msgid "Part Parameter" +msgstr "" + +#: part/models.py:3749 +msgid "Parameter cannot be modified - part is locked" +msgstr "" + +#: part/models.py:3785 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3788 +#: part/models.py:3828 msgid "Parent Part" msgstr "" -#: part/models.py:3796 part/models.py:3897 part/models.py:3898 +#: part/models.py:3836 part/models.py:3944 part/models.py:3945 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3801 -msgid "Data" +#: part/models.py:3842 +msgid "Parameter Value" msgstr "" -#: part/models.py:3802 -msgid "Parameter Value" +#: part/models.py:3892 +msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:3904 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3951 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3905 +#: part/models.py:3952 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3943 +#: part/models.py:3990 msgid "Part ID or part name" msgstr "" -#: part/models.py:3944 +#: part/models.py:3991 msgid "Unique part ID value" msgstr "" -#: part/models.py:3946 +#: part/models.py:3993 msgid "Part IPN value" msgstr "" -#: part/models.py:3947 +#: part/models.py:3994 msgid "Level" msgstr "" -#: part/models.py:3947 +#: part/models.py:3994 msgid "BOM level" msgstr "" -#: part/models.py:4037 +#: part/models.py:4105 +msgid "BOM item cannot be modified - assembly is locked" +msgstr "" + +#: part/models.py:4112 +msgid "BOM item cannot be modified - variant assembly is locked" +msgstr "" + +#: part/models.py:4122 msgid "Select parent part" msgstr "" -#: part/models.py:4047 +#: part/models.py:4132 msgid "Sub part" msgstr "" -#: part/models.py:4048 +#: part/models.py:4133 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4059 +#: part/models.py:4144 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4065 +#: part/models.py:4150 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4071 +#: part/models.py:4156 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4078 part/templates/part/upload_bom.html:55 +#: part/models.py:4163 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4079 +#: part/models.py:4164 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4086 +#: part/models.py:4171 msgid "BOM item reference" msgstr "" -#: part/models.py:4094 +#: part/models.py:4179 msgid "BOM item notes" msgstr "" -#: part/models.py:4100 +#: part/models.py:4185 msgid "Checksum" msgstr "" -#: part/models.py:4101 +#: part/models.py:4186 msgid "BOM line checksum" msgstr "" -#: part/models.py:4106 templates/js/translated/table_filters.js:174 +#: part/models.py:4191 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4107 +#: part/models.py:4192 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4112 part/templates/part/upload_bom.html:57 +#: part/models.py:4197 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:4113 +#: part/models.py:4198 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4118 part/templates/part/upload_bom.html:56 +#: part/models.py:4203 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4119 +#: part/models.py:4204 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4204 stock/models.py:663 +#: part/models.py:4289 stock/models.py:663 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4214 part/models.py:4216 +#: part/models.py:4299 part/models.py:4301 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4354 +#: part/models.py:4439 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4375 +#: part/models.py:4460 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4388 +#: part/models.py:4473 msgid "Parent BOM item" msgstr "" -#: part/models.py:4396 +#: part/models.py:4481 msgid "Substitute part" msgstr "" -#: part/models.py:4412 +#: part/models.py:4497 msgid "Part 1" msgstr "" -#: part/models.py:4420 +#: part/models.py:4505 msgid "Part 2" msgstr "" -#: part/models.py:4421 +#: part/models.py:4506 msgid "Select Related Part" msgstr "" -#: part/models.py:4440 +#: part/models.py:4525 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4445 +#: part/models.py:4530 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:118 +#: part/serializers.py:124 msgid "Parent Category" msgstr "" -#: part/serializers.py:119 templates/js/translated/part.js:309 +#: part/serializers.py:125 templates/js/translated/part.js:308 msgid "Parent part category" msgstr "" -#: part/serializers.py:126 part/serializers.py:148 +#: part/serializers.py:132 part/serializers.py:154 #: part/templates/part/category.html:122 part/templates/part/category.html:207 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" -#: part/serializers.py:180 +#: part/serializers.py:189 msgid "Results" msgstr "" -#: part/serializers.py:181 +#: part/serializers.py:190 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:205 part/serializers.py:223 stock/serializers.py:562 +#: part/serializers.py:217 part/serializers.py:235 stock/serializers.py:608 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:268 +#: part/serializers.py:283 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:392 +#: part/serializers.py:410 msgid "No parts selected" msgstr "" -#: part/serializers.py:402 +#: part/serializers.py:420 msgid "Select category" msgstr "" -#: part/serializers.py:437 +#: part/serializers.py:455 msgid "Original Part" msgstr "" -#: part/serializers.py:438 +#: part/serializers.py:456 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:461 msgid "Copy Image" msgstr "" -#: part/serializers.py:444 +#: part/serializers.py:462 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:450 part/templates/part/detail.html:277 +#: part/serializers.py:468 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:451 +#: part/serializers.py:469 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:457 +#: part/serializers.py:475 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:458 +#: part/serializers.py:476 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:464 +#: part/serializers.py:482 msgid "Copy Notes" msgstr "" -#: part/serializers.py:465 +#: part/serializers.py:483 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:483 +#: part/serializers.py:501 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:485 +#: part/serializers.py:503 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:492 +#: part/serializers.py:510 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:493 +#: part/serializers.py:511 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:510 +#: part/serializers.py:528 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:526 +#: part/serializers.py:544 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:536 +#: part/serializers.py:554 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:543 +#: part/serializers.py:561 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:552 +#: part/serializers.py:570 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:563 +#: part/serializers.py:581 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:570 +#: part/serializers.py:588 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:834 -msgid "External Stock" -msgstr "" - -#: part/serializers.py:836 +#: part/serializers.py:864 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:839 +#: part/serializers.py:867 msgid "Variant Stock" msgstr "" -#: part/serializers.py:869 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:472 +#: part/serializers.py:897 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:870 +#: part/serializers.py:898 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:876 templates/js/translated/part.js:102 +#: part/serializers.py:904 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:877 +#: part/serializers.py:905 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:883 +#: part/serializers.py:911 msgid "Supplier Information" msgstr "" -#: part/serializers.py:884 +#: part/serializers.py:912 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:892 +#: part/serializers.py:920 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:893 +#: part/serializers.py:921 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:898 +#: part/serializers.py:926 msgid "Existing Image" msgstr "" -#: part/serializers.py:899 +#: part/serializers.py:927 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:916 +#: part/serializers.py:944 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1122 +#: part/serializers.py:1150 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1132 +#: part/serializers.py:1160 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1142 +#: part/serializers.py:1170 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1148 +#: part/serializers.py:1176 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1149 +#: part/serializers.py:1177 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1154 +#: part/serializers.py:1182 msgid "Generate Report" msgstr "" -#: part/serializers.py:1155 +#: part/serializers.py:1183 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1160 +#: part/serializers.py:1188 msgid "Update Parts" msgstr "" -#: part/serializers.py:1161 +#: part/serializers.py:1189 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1169 +#: part/serializers.py:1197 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1275 +#: part/serializers.py:1303 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1282 +#: part/serializers.py:1310 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1290 +#: part/serializers.py:1318 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1297 +#: part/serializers.py:1325 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1326 +#: part/serializers.py:1354 msgid "Update" msgstr "" -#: part/serializers.py:1327 +#: part/serializers.py:1355 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1350 +#: part/serializers.py:1378 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1357 +#: part/serializers.py:1385 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1360 +#: part/serializers.py:1388 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1727 +#: part/serializers.py:1759 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1735 +#: part/serializers.py:1767 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1736 +#: part/serializers.py:1768 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1741 +#: part/serializers.py:1773 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1742 +#: part/serializers.py:1774 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1747 +#: part/serializers.py:1779 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1748 +#: part/serializers.py:1780 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1753 +#: part/serializers.py:1785 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1754 +#: part/serializers.py:1786 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1788 +#: part/serializers.py:1823 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1789 +#: part/serializers.py:1824 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1819 +#: part/serializers.py:1856 msgid "No part column specified" msgstr "" -#: part/serializers.py:1863 +#: part/serializers.py:1900 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1866 +#: part/serializers.py:1903 msgid "No matching part found" msgstr "" -#: part/serializers.py:1869 +#: part/serializers.py:1906 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1878 +#: part/serializers.py:1915 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1886 +#: part/serializers.py:1923 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1907 +#: part/serializers.py:1946 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:225 templates/js/translated/part.js:1067 -#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 +#: part/stocktake.py:225 templates/js/translated/part.js:1070 +#: templates/js/translated/part.js:1825 templates/js/translated/part.js:1881 #: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "" @@ -7507,7 +7776,7 @@ msgstr "" #: part/templates/part/part_base.html:52 #: stock/templates/stock/item_base.html:62 -#: stock/templates/stock/location.html:74 templates/js/translated/label.js:143 +#: stock/templates/stock/location.html:74 templates/js/translated/label.js:136 msgid "Print Label" msgstr "" @@ -7529,7 +7798,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:2296 msgid "Part actions" msgstr "" @@ -7569,6 +7838,10 @@ msgstr "" msgid "Part can be sold to customers" msgstr "" +#: part/templates/part/part_base.html:145 +msgid "Part is not active" +msgstr "" + #: part/templates/part/part_base.html:153 msgid "Part is virtual (not a physical part)" msgstr "" @@ -7597,7 +7870,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:322 templates/js/translated/bom.js:1071 -#: templates/js/translated/part.js:1265 templates/js/translated/part.js:2444 +#: templates/js/translated/part.js:1268 templates/js/translated/part.js:2447 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" @@ -7690,8 +7963,8 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/part.js:1243 templates/js/translated/part.js:2146 -#: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 +#: templates/js/translated/part.js:1246 templates/js/translated/part.js:2149 +#: templates/js/translated/part.js:2395 templates/js/translated/stock.js:1059 #: templates/js/translated/stock.js:2070 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -7811,8 +8084,8 @@ msgstr "" #: part/templates/part/stock_count.html:7 #: templates/js/translated/model_renderers.js:227 -#: templates/js/translated/part.js:705 templates/js/translated/part.js:2141 -#: templates/js/translated/part.js:2143 +#: templates/js/translated/part.js:704 templates/js/translated/part.js:2144 +#: templates/js/translated/part.js:2146 msgid "No Stock" msgstr "" @@ -7956,7 +8229,7 @@ msgstr "" msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2589 +#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2590 #: templates/js/translated/sales_order.js:1953 msgid "Insufficient stock available" msgstr "" @@ -8051,7 +8324,7 @@ msgstr "" msgid "Quantity to allocate" msgstr "" -#: plugin/base/label/label.py:39 templates/js/translated/label.js:155 +#: plugin/base/label/label.py:39 templates/js/translated/label.js:148 msgid "Label printing failed" msgstr "" @@ -8748,7 +9021,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report.html:25 #: report/templates/report/inventree_test_report.html:88 stock/models.py:825 -#: stock/serializers.py:149 stock/templates/stock/item_base.html:311 +#: stock/serializers.py:151 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:230 @@ -8778,7 +9051,7 @@ msgstr "" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2447 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2457 msgid "Result" msgstr "" @@ -8799,7 +9072,7 @@ msgid "No result" msgstr "" #: report/templates/report/inventree_test_report.html:153 -#: stock/templates/stock/stock_sidebar.html:16 +#: stock/serializers.py:591 stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" @@ -8829,10 +9102,6 @@ msgstr "" msgid "Location ID" msgstr "" -#: stock/admin.py:53 stock/admin.py:175 -msgid "Location Name" -msgstr "" - #: stock/admin.py:63 stock/templates/stock/location.html:131 #: stock/templates/stock/location.html:137 msgid "Location Path" @@ -8909,7 +9178,7 @@ msgstr "" msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:369 stock/serializers.py:1085 +#: stock/api.py:369 stock/serializers.py:1148 msgid "Parent Location" msgstr "" @@ -8917,44 +9186,45 @@ msgstr "" msgid "Filter by parent location" msgstr "" -#: stock/api.py:625 templates/js/translated/table_filters.js:427 +#: stock/api.py:617 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:813 +#: stock/api.py:805 msgid "Part Tree" msgstr "" -#: stock/api.py:843 +#: stock/api.py:835 msgid "Expiry date before" msgstr "" -#: stock/api.py:847 +#: stock/api.py:839 msgid "Expiry date after" msgstr "" -#: stock/api.py:850 stock/templates/stock/item_base.html:439 +#: stock/api.py:842 stock/serializers.py:596 +#: stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "" -#: stock/api.py:937 +#: stock/api.py:929 msgid "Quantity is required" msgstr "" -#: stock/api.py:943 +#: stock/api.py:935 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:974 +#: stock/api.py:966 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:984 +#: stock/api.py:976 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1015 +#: stock/api.py:1007 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -9021,7 +9291,7 @@ msgstr "" msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:669 stock/serializers.py:446 +#: stock/models.py:669 stock/serializers.py:477 msgid "Stock item cannot be created for virtual parts" msgstr "" @@ -9066,7 +9336,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:799 stock/serializers.py:1476 +#: stock/models.py:799 stock/serializers.py:1542 msgid "Packaging this stock item is stored in" msgstr "" @@ -9078,7 +9348,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:843 stock/serializers.py:1459 +#: stock/models.py:843 stock/serializers.py:1525 msgid "Batch code for this stock item" msgstr "" @@ -9155,7 +9425,7 @@ msgstr "" msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1520 stock/serializers.py:660 +#: stock/models.py:1520 stock/serializers.py:718 msgid "Serial numbers already exist" msgstr "" @@ -9187,7 +9457,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1658 stock/serializers.py:1365 +#: stock/models.py:1658 stock/serializers.py:1431 msgid "Duplicate stock items" msgstr "" @@ -9207,288 +9477,330 @@ msgstr "" msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2345 +#: stock/models.py:2317 +msgid "Stock Item Tracking" +msgstr "" + +#: stock/models.py:2350 msgid "Entry notes" msgstr "" -#: stock/models.py:2413 +#: stock/models.py:2390 +msgid "Stock Item Test Result" +msgstr "" + +#: stock/models.py:2423 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2418 +#: stock/models.py:2428 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2423 +#: stock/models.py:2433 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2447 +#: stock/models.py:2457 msgid "Test result" msgstr "" -#: stock/models.py:2454 +#: stock/models.py:2464 msgid "Test output value" msgstr "" -#: stock/models.py:2462 +#: stock/models.py:2472 msgid "Test result attachment" msgstr "" -#: stock/models.py:2466 +#: stock/models.py:2476 msgid "Test notes" msgstr "" -#: stock/models.py:2474 templates/js/translated/stock.js:1548 +#: stock/models.py:2484 templates/js/translated/stock.js:1548 msgid "Test station" msgstr "" -#: stock/models.py:2475 +#: stock/models.py:2485 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2481 +#: stock/models.py:2491 msgid "Started" msgstr "" -#: stock/models.py:2482 +#: stock/models.py:2492 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2488 +#: stock/models.py:2498 msgid "Finished" msgstr "" -#: stock/models.py:2489 +#: stock/models.py:2499 msgid "The timestamp of the test finish" msgstr "" -#: stock/serializers.py:74 +#: stock/serializers.py:76 msgid "Generated batch code" msgstr "" -#: stock/serializers.py:83 +#: stock/serializers.py:85 msgid "Select build order" msgstr "" -#: stock/serializers.py:92 +#: stock/serializers.py:94 msgid "Select stock item to generate batch code for" msgstr "" -#: stock/serializers.py:101 +#: stock/serializers.py:103 msgid "Select location to generate batch code for" msgstr "" -#: stock/serializers.py:110 +#: stock/serializers.py:112 msgid "Select part to generate batch code for" msgstr "" -#: stock/serializers.py:119 +#: stock/serializers.py:121 msgid "Select purchase order" msgstr "" -#: stock/serializers.py:126 +#: stock/serializers.py:128 msgid "Enter quantity for batch code" msgstr "" -#: stock/serializers.py:149 +#: stock/serializers.py:151 msgid "Generated serial number" msgstr "" -#: stock/serializers.py:158 +#: stock/serializers.py:160 msgid "Select part to generate serial number for" msgstr "" -#: stock/serializers.py:166 +#: stock/serializers.py:168 msgid "Quantity of serial numbers to generate" msgstr "" -#: stock/serializers.py:228 +#: stock/serializers.py:233 msgid "Test template for this result" msgstr "" -#: stock/serializers.py:247 +#: stock/serializers.py:252 msgid "Template ID or test name must be provided" msgstr "" -#: stock/serializers.py:279 +#: stock/serializers.py:284 msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:315 +#: stock/serializers.py:320 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:438 +#: stock/serializers.py:449 stock/templates/stock/item_base.html:193 +msgid "Parent Item" +msgstr "" + +#: stock/serializers.py:450 +msgid "Parent stock item" +msgstr "" + +#: stock/serializers.py:469 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:558 +#: stock/serializers.py:585 templates/js/translated/build.js:991 +#: templates/js/translated/build.js:2344 +msgid "Allocated Quantity" +msgstr "" + +#: stock/serializers.py:588 stock/templates/stock/item_base.html:437 +#: templates/js/translated/table_filters.js:435 users/models.py:174 +msgid "Expired" +msgstr "" + +#: stock/serializers.py:594 stock/templates/stock/stock_sidebar.html:20 +msgid "Child Items" +msgstr "" + +#: stock/serializers.py:598 +msgid "Tracking Items" +msgstr "" + +#: stock/serializers.py:604 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:595 +#: stock/serializers.py:623 +msgid "Minimum Pricing" +msgstr "" + +#: stock/serializers.py:629 +msgid "Maximum Pricing" +msgstr "" + +#: stock/serializers.py:653 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:608 +#: stock/serializers.py:666 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:615 +#: stock/serializers.py:673 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:626 stock/serializers.py:1322 stock/serializers.py:1578 +#: stock/serializers.py:684 stock/serializers.py:1388 stock/serializers.py:1644 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:633 +#: stock/serializers.py:691 msgid "Optional note field" msgstr "" -#: stock/serializers.py:643 +#: stock/serializers.py:701 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:698 +#: stock/serializers.py:756 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:705 +#: stock/serializers.py:763 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:706 +#: stock/serializers.py:764 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:711 stock/serializers.py:791 stock/serializers.py:887 -#: stock/serializers.py:937 +#: stock/serializers.py:769 stock/serializers.py:849 stock/serializers.py:945 +#: stock/serializers.py:995 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:719 +#: stock/serializers.py:777 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:727 +#: stock/serializers.py:785 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:738 +#: stock/serializers.py:796 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:751 +#: stock/serializers.py:809 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:786 +#: stock/serializers.py:844 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:821 +#: stock/serializers.py:879 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:834 +#: stock/serializers.py:892 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:851 +#: stock/serializers.py:909 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:882 +#: stock/serializers.py:940 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:919 +#: stock/serializers.py:977 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:925 +#: stock/serializers.py:983 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1021 stock/serializers.py:1093 +#: stock/serializers.py:1079 stock/serializers.py:1156 #: stock/templates/stock/location.html:165 #: stock/templates/stock/location.html:222 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1086 templates/js/translated/stock.js:152 +#: stock/serializers.py:1149 templates/js/translated/stock.js:152 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1194 +#: stock/serializers.py:1260 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1198 +#: stock/serializers.py:1264 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1202 +#: stock/serializers.py:1268 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1226 +#: stock/serializers.py:1292 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1232 +#: stock/serializers.py:1298 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1240 +#: stock/serializers.py:1306 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1250 stock/serializers.py:1504 +#: stock/serializers.py:1316 stock/serializers.py:1570 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1329 +#: stock/serializers.py:1395 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1334 +#: stock/serializers.py:1400 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1335 +#: stock/serializers.py:1401 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1340 +#: stock/serializers.py:1406 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1341 +#: stock/serializers.py:1407 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1351 +#: stock/serializers.py:1417 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1418 +#: stock/serializers.py:1484 msgid "No Change" msgstr "" -#: stock/serializers.py:1447 +#: stock/serializers.py:1513 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1466 +#: stock/serializers.py:1532 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1494 +#: stock/serializers.py:1560 msgid "Stock transaction notes" msgstr "" @@ -9757,10 +10069,6 @@ msgstr "" msgid "Build" msgstr "" -#: stock/templates/stock/item_base.html:193 -msgid "Parent Item" -msgstr "" - #: stock/templates/stock/item_base.html:211 msgid "No manufacturer set" msgstr "" @@ -9836,11 +10144,6 @@ msgstr "" msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:437 -#: templates/js/translated/table_filters.js:435 users/models.py:174 -msgid "Expired" -msgstr "" - #: stock/templates/stock/item_base.html:439 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" @@ -9988,10 +10291,6 @@ msgstr "" msgid "Allocations" msgstr "" -#: stock/templates/stock/stock_sidebar.html:20 -msgid "Child Items" -msgstr "" - #: templates/403.html:6 templates/403.html:12 templates/403_csrf.html:7 msgid "Permission Denied" msgstr "" @@ -10466,8 +10765,8 @@ 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:393 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:245 users/models.py:402 +#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 +#: templates/js/translated/stock.js:245 users/models.py:406 msgid "Delete" msgstr "" @@ -10507,12 +10806,12 @@ msgid "No category parameter templates found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:308 -#: templates/js/translated/part.js:1646 +#: templates/js/translated/part.js:1649 msgid "Edit Template" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:309 -#: templates/js/translated/part.js:1647 +#: templates/js/translated/part.js:1650 msgid "Delete Template" msgstr "" @@ -11145,7 +11444,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2556 +#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2557 msgid "Required Quantity" msgstr "" @@ -11159,7 +11458,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3219 +#: templates/js/translated/part.js:3222 msgid "Minimum Quantity" msgstr "" @@ -11514,7 +11813,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2500 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2501 msgid "Variant stock allowed" msgstr "" @@ -11534,30 +11833,30 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2621 +#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2622 msgid "External stock" msgstr "" -#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2595 +#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2596 #: templates/js/translated/sales_order.js:1946 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2599 +#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2600 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2601 -#: templates/js/translated/part.js:1257 +#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2602 +#: templates/js/translated/part.js:1260 #: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2603 +#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2604 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2586 +#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2587 msgid "Consumable item" msgstr "" @@ -11589,7 +11888,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2485 +#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2486 msgid "Required Part" msgstr "" @@ -11758,10 +12057,6 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:991 templates/js/translated/build.js:2344 -msgid "Allocated Quantity" -msgstr "" - #: templates/js/translated/build.js:1005 msgid "Location not specified" msgstr "" @@ -11873,9 +12168,9 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2117 templates/js/translated/build.js:2479 +#: templates/js/translated/build.js:2117 templates/js/translated/build.js:2480 #: templates/js/translated/forms.js:2163 templates/js/translated/forms.js:2179 -#: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 +#: templates/js/translated/part.js:2319 templates/js/translated/part.js:2745 #: templates/js/translated/stock.js:1983 templates/js/translated/stock.js:2710 msgid "Select" msgstr "" @@ -11906,59 +12201,59 @@ msgstr "" msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2455 +#: templates/js/translated/build.js:2456 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2456 +#: templates/js/translated/build.js:2457 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2474 +#: templates/js/translated/build.js:2475 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2504 templates/js/translated/part.js:791 -#: templates/js/translated/part.js:1203 +#: templates/js/translated/build.js:2505 templates/js/translated/part.js:790 +#: templates/js/translated/part.js:1206 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2539 +#: templates/js/translated/build.js:2540 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2591 +#: templates/js/translated/build.js:2592 #: templates/js/translated/sales_order.js:1951 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2646 +#: templates/js/translated/build.js:2647 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2653 +#: templates/js/translated/build.js:2654 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2654 +#: templates/js/translated/build.js:2655 msgid "Allocate tracked items against individual build outputs" msgstr "" -#: templates/js/translated/build.js:2662 +#: templates/js/translated/build.js:2663 #: templates/js/translated/sales_order.js:2052 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2667 templates/js/translated/stock.js:1868 +#: templates/js/translated/build.js:2668 templates/js/translated/stock.js:1868 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2671 +#: templates/js/translated/build.js:2672 #: templates/js/translated/sales_order.js:2046 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2675 +#: templates/js/translated/build.js:2676 msgid "Remove stock allocation" msgstr "" @@ -12105,7 +12400,7 @@ msgid "Delete Parameters" msgstr "" #: templates/js/translated/company.js:1191 -#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2245 +#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2248 msgid "Order parts" msgstr "" @@ -12122,34 +12417,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:1279 -#: templates/js/translated/company.js:1567 templates/js/translated/part.js:799 -#: templates/js/translated/part.js:1211 +#: templates/js/translated/company.js:1567 templates/js/translated/part.js:798 +#: templates/js/translated/part.js:1214 msgid "Template part" msgstr "" #: templates/js/translated/company.js:1283 -#: templates/js/translated/company.js:1571 templates/js/translated/part.js:803 -#: templates/js/translated/part.js:1215 +#: templates/js/translated/company.js:1571 templates/js/translated/part.js:802 +#: templates/js/translated/part.js:1218 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1465 +#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1468 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1528 +#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1531 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1529 +#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1532 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1434 +#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1437 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1550 +#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1553 msgid "Delete Parameter" msgstr "" @@ -12323,15 +12618,15 @@ msgstr "" msgid "No parts required for builds" msgstr "" -#: templates/js/translated/label.js:55 templates/js/translated/report.js:38 +#: templates/js/translated/label.js:48 templates/js/translated/report.js:38 msgid "Select Items" msgstr "" -#: templates/js/translated/label.js:56 templates/js/translated/report.js:39 +#: templates/js/translated/label.js:49 templates/js/translated/report.js:39 msgid "No items selected for printing" msgstr "" -#: templates/js/translated/label.js:150 +#: templates/js/translated/label.js:143 msgid "Labels sent to printer" msgstr "" @@ -12400,7 +12695,7 @@ msgstr "" #: templates/js/translated/news.js:38 #: templates/js/translated/notification.js:46 -#: templates/js/translated/part.js:1605 +#: templates/js/translated/part.js:1608 msgid "ID" msgstr "" @@ -12481,343 +12776,343 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:333 templates/js/translated/stock.js:175 +#: templates/js/translated/part.js:332 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:353 +#: templates/js/translated/part.js:352 msgid "Create Part Category" msgstr "" -#: templates/js/translated/part.js:356 +#: templates/js/translated/part.js:355 msgid "Create new category after this one" msgstr "" -#: templates/js/translated/part.js:357 +#: templates/js/translated/part.js:356 msgid "Part category created" msgstr "" -#: templates/js/translated/part.js:371 +#: templates/js/translated/part.js:370 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:384 +#: templates/js/translated/part.js:383 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:389 +#: templates/js/translated/part.js:388 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:398 +#: templates/js/translated/part.js:397 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:402 +#: templates/js/translated/part.js:401 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:407 +#: templates/js/translated/part.js:406 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:431 +#: templates/js/translated/part.js:430 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:433 +#: templates/js/translated/part.js:432 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:434 +#: templates/js/translated/part.js:433 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:462 +#: templates/js/translated/part.js:461 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:464 +#: templates/js/translated/part.js:463 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:475 +#: templates/js/translated/part.js:474 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:532 +#: templates/js/translated/part.js:531 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:533 +#: templates/js/translated/part.js:532 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:547 +#: templates/js/translated/part.js:546 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:549 +#: templates/js/translated/part.js:548 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:550 +#: templates/js/translated/part.js:549 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:551 +#: templates/js/translated/part.js:550 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:558 +#: templates/js/translated/part.js:557 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:594 +#: templates/js/translated/part.js:593 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:596 +#: templates/js/translated/part.js:595 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:601 +#: templates/js/translated/part.js:600 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:603 +#: templates/js/translated/part.js:602 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:620 +#: templates/js/translated/part.js:619 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:630 +#: templates/js/translated/part.js:629 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:633 +#: templates/js/translated/part.js:632 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:658 +#: templates/js/translated/part.js:657 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:686 -#: templates/js/translated/table_filters.js:747 +#: templates/js/translated/part.js:685 +#: templates/js/translated/table_filters.js:752 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:689 +#: templates/js/translated/part.js:688 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:749 +#: templates/js/translated/part.js:748 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:772 +#: templates/js/translated/part.js:771 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:795 templates/js/translated/part.js:1207 +#: templates/js/translated/part.js:794 templates/js/translated/part.js:1210 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:807 +#: templates/js/translated/part.js:806 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:811 +#: templates/js/translated/part.js:810 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:890 +#: templates/js/translated/part.js:893 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:890 +#: templates/js/translated/part.js:893 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:898 +#: templates/js/translated/part.js:901 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:902 +#: templates/js/translated/part.js:905 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:1051 +#: templates/js/translated/part.js:1054 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1109 templates/js/translated/part.js:1145 +#: templates/js/translated/part.js:1112 templates/js/translated/part.js:1148 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1113 templates/js/translated/part.js:1155 +#: templates/js/translated/part.js:1116 templates/js/translated/part.js:1158 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1282 +#: templates/js/translated/part.js:1285 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1600 +#: templates/js/translated/part.js:1603 msgid "No part parameter templates found" msgstr "" -#: templates/js/translated/part.js:1663 +#: templates/js/translated/part.js:1666 msgid "Edit Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1675 +#: templates/js/translated/part.js:1678 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/js/translated/part.js:1683 +#: templates/js/translated/part.js:1686 msgid "Delete Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1717 +#: templates/js/translated/part.js:1720 #: templates/js/translated/purchase_order.js:1654 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/part.js:1861 +#: templates/js/translated/part.js:1864 #: 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:1907 +#: templates/js/translated/part.js:1910 #: templates/js/translated/purchase_order.js:2220 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1970 +#: templates/js/translated/part.js:1973 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1992 +#: templates/js/translated/part.js:1995 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2080 templates/js/translated/part.js:2506 +#: templates/js/translated/part.js:2083 templates/js/translated/part.js:2509 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:2201 +#: templates/js/translated/part.js:2204 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2206 +#: templates/js/translated/part.js:2209 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2236 +#: templates/js/translated/part.js:2239 msgid "Set category" msgstr "" -#: templates/js/translated/part.js:2287 +#: templates/js/translated/part.js:2290 msgid "part" msgstr "" -#: templates/js/translated/part.js:2288 +#: templates/js/translated/part.js:2291 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2384 +#: templates/js/translated/part.js:2387 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 +#: templates/js/translated/part.js:2534 templates/js/translated/part.js:2664 #: templates/js/translated/stock.js:2669 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2547 +#: templates/js/translated/part.js:2550 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2645 +#: templates/js/translated/part.js:2648 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2689 +#: templates/js/translated/part.js:2684 templates/js/translated/stock.js:2689 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2761 +#: templates/js/translated/part.js:2764 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2777 +#: templates/js/translated/part.js:2780 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2865 +#: templates/js/translated/part.js:2868 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2887 templates/js/translated/search.js:342 +#: templates/js/translated/part.js:2890 templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/part.js:2937 templates/js/translated/stock.js:1456 +#: templates/js/translated/part.js:2940 templates/js/translated/stock.js:1456 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2938 templates/js/translated/stock.js:1457 +#: templates/js/translated/part.js:2941 templates/js/translated/stock.js:1457 #: templates/js/translated/stock.js:1731 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2942 +#: templates/js/translated/part.js:2945 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2958 +#: templates/js/translated/part.js:2961 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2972 +#: templates/js/translated/part.js:2975 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3051 templates/js/translated/part.js:3052 +#: templates/js/translated/part.js:3054 templates/js/translated/part.js:3055 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3054 +#: templates/js/translated/part.js:3057 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3060 +#: templates/js/translated/part.js:3063 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3110 +#: templates/js/translated/part.js:3113 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3116 +#: templates/js/translated/part.js:3119 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3212 +#: templates/js/translated/part.js:3215 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3228 +#: templates/js/translated/part.js:3231 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3273 +#: templates/js/translated/part.js:3276 msgid "Minimum Stock Level" msgstr "" @@ -13593,7 +13888,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1042 users/models.py:392 +#: templates/js/translated/stock.js:1042 users/models.py:396 msgid "Add" msgstr "" @@ -13947,7 +14242,7 @@ msgid "Include subcategories" msgstr "" #: templates/js/translated/table_filters.js:287 -#: templates/js/translated/table_filters.js:759 +#: templates/js/translated/table_filters.js:764 msgid "Subscribed" msgstr "" @@ -14102,40 +14397,44 @@ msgstr "" msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:725 +#: templates/js/translated/table_filters.js:722 +msgid "Show locked parts" +msgstr "" + +#: templates/js/translated/table_filters.js:730 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:733 -#: templates/js/translated/table_filters.js:833 +#: templates/js/translated/table_filters.js:738 +#: templates/js/translated/table_filters.js:838 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:734 +#: templates/js/translated/table_filters.js:739 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:738 +#: templates/js/translated/table_filters.js:743 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:739 +#: templates/js/translated/table_filters.js:744 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:743 +#: templates/js/translated/table_filters.js:748 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:751 +#: templates/js/translated/table_filters.js:756 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:763 +#: templates/js/translated/table_filters.js:768 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:829 +#: templates/js/translated/table_filters.js:834 msgid "Has Choices" msgstr "" @@ -14207,10 +14506,6 @@ msgstr "" msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:558 -msgid "Columns" -msgstr "" - #: templates/js/translated/tables.js:561 msgid "All" msgstr "" @@ -14484,35 +14779,34 @@ msgstr "" msgid "Revoked" msgstr "" -#: users/models.py:375 +#: users/models.py:379 msgid "Permission set" msgstr "" -#: users/models.py:384 +#: users/models.py:388 msgid "Group" msgstr "" -#: users/models.py:388 +#: users/models.py:392 msgid "View" msgstr "" -#: users/models.py:388 +#: users/models.py:392 msgid "Permission to view items" msgstr "" -#: users/models.py:392 +#: users/models.py:396 msgid "Permission to add items" msgstr "" -#: users/models.py:396 +#: users/models.py:400 msgid "Change" msgstr "" -#: users/models.py:398 +#: users/models.py:402 msgid "Permissions to edit items" msgstr "" -#: users/models.py:404 +#: users/models.py:408 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 4b0db4907dae..69c5b7f2b855 100644 --- a/src/backend/InvenTree/locale/hi/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/hi/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-07-05 02:47+0000\n" +"POT-Creation-Date: 2024-07-08 14:46+0000\n" "PO-Revision-Date: 2024-07-05 14:58\n" "Last-Translator: \n" "Language-Team: Hindi\n" @@ -21,7 +21,7 @@ msgstr "" msgid "API endpoint not found" msgstr "" -#: InvenTree/api.py:520 +#: InvenTree/api.py:505 msgid "User does not have permission to view this model" msgstr "" @@ -56,21 +56,21 @@ msgstr "" msgid "Enter date" msgstr "तारीख दर्ज करें" -#: InvenTree/fields.py:205 InvenTree/models.py:918 build/serializers.py:452 -#: build/serializers.py:530 build/templates/build/sidebar.html:21 -#: company/models.py:817 company/templates/company/sidebar.html:37 +#: InvenTree/fields.py:205 InvenTree/models.py:921 build/serializers.py:456 +#: build/serializers.py:534 build/templates/build/sidebar.html:21 +#: company/models.py:824 company/templates/company/sidebar.html:37 #: order/models.py:1296 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:3183 part/templates/part/part_sidebar.html:63 +#: part/models.py:3193 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:230 stock/models.py:2344 stock/models.py:2466 -#: stock/serializers.py:632 stock/serializers.py:790 stock/serializers.py:886 -#: stock/serializers.py:936 stock/serializers.py:1239 stock/serializers.py:1328 -#: stock/serializers.py:1493 stock/templates/stock/stock_sidebar.html:25 +#: stock/admin.py:230 stock/models.py:2349 stock/models.py:2476 +#: stock/serializers.py:690 stock/serializers.py:848 stock/serializers.py:944 +#: stock/serializers.py:994 stock/serializers.py:1305 stock/serializers.py:1394 +#: stock/serializers.py:1559 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:1081 +#: templates/js/translated/part.js:1084 #: templates/js/translated/purchase_order.js:2200 #: templates/js/translated/return_order.js:775 #: templates/js/translated/sales_order.js:1103 @@ -371,41 +371,41 @@ msgstr "" msgid "JSON metadata field, for use by external plugins" msgstr "" -#: InvenTree/models.py:408 +#: InvenTree/models.py:411 msgid "Improperly formatted pattern" msgstr "" -#: InvenTree/models.py:415 +#: InvenTree/models.py:418 msgid "Unknown format key specified" msgstr "" -#: InvenTree/models.py:421 +#: InvenTree/models.py:424 msgid "Missing required format key" msgstr "" -#: InvenTree/models.py:432 +#: InvenTree/models.py:435 msgid "Reference field cannot be empty" msgstr "" -#: InvenTree/models.py:440 +#: InvenTree/models.py:443 msgid "Reference must match required pattern" msgstr "" -#: InvenTree/models.py:471 +#: InvenTree/models.py:474 msgid "Reference number is too large" msgstr "" -#: InvenTree/models.py:719 +#: InvenTree/models.py:722 msgid "Duplicate names cannot exist under the same parent" msgstr "" -#: InvenTree/models.py:736 +#: InvenTree/models.py:739 msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:766 common/models.py:2678 common/models.py:3103 -#: common/serializers.py:408 company/models.py:580 machine/models.py:24 -#: part/models.py:891 part/models.py:3639 plugin/models.py:51 +#: InvenTree/models.py:769 common/models.py:2659 common/models.py:3089 +#: common/serializers.py:412 company/models.py:587 machine/models.py:24 +#: part/models.py:895 part/models.py:3660 plugin/models.py:51 #: report/models.py:150 stock/models.py:74 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -417,20 +417,20 @@ msgstr "" #: templates/js/translated/company.js:724 #: templates/js/translated/company.js:913 #: templates/js/translated/company.js:1165 -#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1187 -#: templates/js/translated/part.js:1475 templates/js/translated/part.js:1611 -#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2716 +#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1190 +#: templates/js/translated/part.js:1478 templates/js/translated/part.js:1614 +#: templates/js/translated/part.js:2752 templates/js/translated/stock.js:2716 msgid "Name" msgstr "" -#: InvenTree/models.py:772 build/models.py:235 -#: build/templates/build/detail.html:24 common/models.py:138 -#: company/models.py:509 company/models.py:808 +#: InvenTree/models.py:775 build/models.py:242 +#: build/templates/build/detail.html:24 common/models.py:143 +#: company/models.py:515 company/models.py:815 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 -#: order/models.py:1329 part/admin.py:305 part/admin.py:408 part/models.py:914 -#: part/models.py:3654 part/templates/part/category.html:82 +#: order/models.py:1329 part/admin.py:305 part/admin.py:408 part/models.py:918 +#: part/models.py:3675 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:156 #: report/models.py:510 report/models.py:536 @@ -444,10 +444,10 @@ msgstr "" #: templates/js/translated/build.js:2139 templates/js/translated/company.js:519 #: templates/js/translated/company.js:1330 #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 -#: templates/js/translated/order.js:298 templates/js/translated/part.js:1239 -#: templates/js/translated/part.js:1484 templates/js/translated/part.js:1622 -#: templates/js/translated/part.js:1959 templates/js/translated/part.js:2355 -#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2897 +#: templates/js/translated/order.js:298 templates/js/translated/part.js:1242 +#: templates/js/translated/part.js:1487 templates/js/translated/part.js:1625 +#: templates/js/translated/part.js:1962 templates/js/translated/part.js:2358 +#: templates/js/translated/part.js:2788 templates/js/translated/part.js:2900 #: templates/js/translated/plugin.js:80 #: templates/js/translated/purchase_order.js:1706 #: templates/js/translated/purchase_order.js:1849 @@ -460,53 +460,53 @@ msgstr "" msgid "Description" msgstr "" -#: InvenTree/models.py:773 stock/models.py:81 +#: InvenTree/models.py:776 stock/models.py:81 msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:788 templates/js/translated/part.js:2794 +#: InvenTree/models.py:791 templates/js/translated/part.js:2797 #: templates/js/translated/stock.js:2757 msgid "Path" msgstr "" -#: InvenTree/models.py:918 +#: InvenTree/models.py:921 msgid "Markdown notes (optional)" msgstr "" -#: InvenTree/models.py:947 +#: InvenTree/models.py:950 msgid "Barcode Data" msgstr "" -#: InvenTree/models.py:948 +#: InvenTree/models.py:951 msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:954 +#: InvenTree/models.py:957 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:955 +#: InvenTree/models.py:958 msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:1008 +#: InvenTree/models.py:1011 msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:1051 +#: InvenTree/models.py:1054 msgid "Server Error" msgstr "" -#: InvenTree/models.py:1052 +#: InvenTree/models.py:1055 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:63 part/models.py:4192 +#: InvenTree/serializers.py:63 part/models.py:4277 msgid "Must be a valid number" msgstr "" #: InvenTree/serializers.py:100 company/models.py:186 -#: company/templates/company/company_base.html:112 part/models.py:3001 +#: company/templates/company/company_base.html:112 part/models.py:3011 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -556,16 +556,16 @@ msgstr "" msgid "Is this user a superuser" msgstr "" -#: InvenTree/serializers.py:445 common/models.py:2683 company/models.py:163 -#: company/models.py:782 machine/models.py:39 part/admin.py:88 -#: part/models.py:1081 plugin/models.py:66 +#: InvenTree/serializers.py:445 common/models.py:2664 company/models.py:163 +#: company/models.py:789 machine/models.py:39 part/admin.py:88 +#: part/models.py:1085 plugin/models.py:66 #: 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 #: templates/js/translated/table_filters.js:520 #: templates/js/translated/table_filters.js:716 -#: templates/js/translated/table_filters.js:796 users/models.py:182 +#: templates/js/translated/table_filters.js:801 users/models.py:182 msgid "Active" msgstr "" @@ -597,7 +597,7 @@ msgstr "" msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:581 +#: InvenTree/serializers.py:581 importer/models.py:60 msgid "Data File" msgstr "" @@ -651,7 +651,7 @@ msgstr "" msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/status.py:66 part/serializers.py:1174 +#: InvenTree/status.py:66 part/serializers.py:1202 msgid "Background worker check failed" msgstr "" @@ -711,47 +711,48 @@ msgstr "" msgid "About InvenTree" msgstr "" -#: build/api.py:255 +#: build/api.py:248 msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:299 part/models.py:4070 templates/js/translated/bom.js:997 -#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 +#: build/api.py:292 build/serializers.py:1190 part/models.py:4155 +#: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 +#: templates/js/translated/build.js:2521 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:300 part/models.py:4064 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 +#: build/api.py:293 build/serializers.py:1191 part/models.py:4149 +#: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 +#: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2530 #: templates/js/translated/table_filters.js:186 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:587 msgid "Optional" msgstr "" -#: build/api.py:301 templates/js/translated/table_filters.js:408 +#: build/api.py:294 templates/js/translated/table_filters.js:408 #: templates/js/translated/table_filters.js:579 msgid "Tracked" msgstr "" -#: build/api.py:303 part/admin.py:144 templates/js/translated/build.js:1744 -#: templates/js/translated/build.js:2629 +#: build/api.py:296 part/admin.py:144 templates/js/translated/build.js:1744 +#: templates/js/translated/build.js:2630 #: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:571 msgid "Allocated" msgstr "" -#: build/api.py:311 company/models.py:872 company/serializers.py:359 +#: build/api.py:304 company/models.py:879 company/serializers.py:386 #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2561 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2562 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:234 -#: templates/js/translated/part.js:693 templates/js/translated/part.js:695 -#: templates/js/translated/part.js:700 +#: 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 #: templates/js/translated/table_filters.js:575 msgid "Available" @@ -760,7 +761,7 @@ msgstr "" #: build/models.py:85 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 -#: stock/serializers.py:82 templates/email/build_order_completed.html:16 +#: stock/serializers.py:84 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:2892 msgid "Build Order" @@ -781,35 +782,39 @@ msgstr "" msgid "Assembly BOM has not been validated" msgstr "" -#: build/models.py:134 part/templates/part/part_base.html:145 -msgid "Part is not active" +#: build/models.py:134 +msgid "Build order cannot be created for an inactive part" +msgstr "" + +#: build/models.py:141 +msgid "Build order cannot be created for an unlocked part" msgstr "" -#: build/models.py:148 +#: build/models.py:155 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:159 order/models.py:240 +#: build/models.py:166 order/models.py:240 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:165 +#: build/models.py:172 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:226 +#: build/models.py:233 msgid "Build Order Reference" msgstr "" -#: build/models.py:227 order/models.py:463 order/models.py:926 -#: order/models.py:1289 order/models.py:2020 part/admin.py:411 -#: part/models.py:4085 part/templates/part/upload_bom.html:54 +#: build/models.py:234 build/serializers.py:1189 order/models.py:463 +#: order/models.py:926 order/models.py:1289 order/models.py:2046 +#: part/admin.py:411 part/models.py:4170 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: 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/build.js:2513 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2065 #: templates/js/translated/return_order.js:728 @@ -817,27 +822,28 @@ msgstr "" msgid "Reference" msgstr "" -#: build/models.py:238 +#: build/models.py:245 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:246 build/templates/build/build_base.html:183 +#: build/models.py:253 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/models.py:247 +#: build/models.py:254 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:252 build/templates/build/build_base.html:97 -#: build/templates/build/detail.html:29 company/models.py:1026 order/api.py:805 -#: order/models.py:1414 order/models.py:1559 order/models.py:1560 -#: part/api.py:1494 part/api.py:1788 part/models.py:395 part/models.py:3012 -#: part/models.py:3156 part/models.py:3303 part/models.py:3324 -#: part/models.py:3346 part/models.py:3477 part/models.py:3787 -#: part/models.py:3943 part/models.py:4036 part/models.py:4395 -#: part/serializers.py:1120 part/serializers.py:1726 +#: build/models.py:259 build/serializers.py:1184 +#: build/templates/build/build_base.html:97 +#: build/templates/build/detail.html:29 company/models.py:1034 order/api.py:759 +#: order/models.py:1419 order/models.py:1574 order/models.py:1575 +#: part/api.py:1480 part/api.py:1776 part/models.py:396 part/models.py:3022 +#: part/models.py:3166 part/models.py:3314 part/models.py:3335 +#: part/models.py:3357 part/models.py:3493 part/models.py:3827 +#: part/models.py:3990 part/models.py:4121 part/models.py:4480 +#: part/serializers.py:1148 part/serializers.py:1758 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -848,8 +854,8 @@ msgstr "" #: 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:109 stock/serializers.py:157 stock/serializers.py:423 -#: stock/serializers.py:820 templates/InvenTree/search.html:82 +#: stock/serializers.py:111 stock/serializers.py:159 stock/serializers.py:443 +#: stock/serializers.py:878 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 @@ -862,8 +868,8 @@ msgstr "" #: templates/js/translated/company.js:1116 #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 -#: templates/js/translated/part.js:1944 templates/js/translated/part.js:2016 -#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:1947 templates/js/translated/part.js:2019 +#: templates/js/translated/part.js:2327 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:1848 @@ -881,107 +887,107 @@ msgstr "" msgid "Part" msgstr "" -#: build/models.py:260 +#: build/models.py:267 msgid "Select part to build" msgstr "" -#: build/models.py:265 +#: build/models.py:272 msgid "Sales Order Reference" msgstr "" -#: build/models.py:269 +#: build/models.py:276 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:274 build/serializers.py:999 +#: build/models.py:281 build/serializers.py:1003 #: templates/js/translated/build.js:1731 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "" -#: build/models.py:278 +#: build/models.py:285 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:283 +#: build/models.py:290 msgid "Destination Location" msgstr "" -#: build/models.py:287 +#: build/models.py:294 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:291 +#: build/models.py:298 msgid "Build Quantity" msgstr "" -#: build/models.py:294 +#: build/models.py:301 msgid "Number of stock items to build" msgstr "" -#: build/models.py:298 +#: build/models.py:305 msgid "Completed items" msgstr "" -#: build/models.py:300 +#: build/models.py:307 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:304 +#: build/models.py:311 msgid "Build Status" msgstr "" -#: build/models.py:308 +#: build/models.py:315 msgid "Build status code" msgstr "" -#: build/models.py:317 build/serializers.py:286 order/serializers.py:580 -#: stock/models.py:839 stock/serializers.py:74 stock/serializers.py:1458 +#: build/models.py:324 build/serializers.py:290 order/serializers.py:629 +#: stock/models.py:839 stock/serializers.py:76 stock/serializers.py:1524 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "" -#: build/models.py:321 build/serializers.py:287 +#: build/models.py:328 build/serializers.py:291 msgid "Batch code for this build output" msgstr "" -#: build/models.py:324 order/models.py:316 order/serializers.py:119 -#: part/models.py:1115 part/templates/part/part_base.html:310 +#: build/models.py:331 order/models.py:316 order/serializers.py:127 +#: part/models.py:1125 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:328 +#: build/models.py:335 msgid "Target completion date" msgstr "" -#: build/models.py:329 +#: build/models.py:336 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:332 order/models.py:521 order/models.py:2065 +#: build/models.py:339 order/models.py:521 order/models.py:2091 #: templates/js/translated/build.js:2247 msgid "Completion Date" msgstr "" -#: build/models.py:338 +#: build/models.py:345 msgid "completed by" msgstr "" -#: build/models.py:346 templates/js/translated/build.js:2207 +#: build/models.py:353 templates/js/translated/build.js:2207 msgid "Issued by" msgstr "" -#: build/models.py:347 +#: build/models.py:354 msgid "User who issued this build order" msgstr "" -#: build/models.py:355 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 common/models.py:147 +#: build/models.py:362 build/templates/build/build_base.html:204 +#: build/templates/build/detail.html:122 common/models.py:152 #: order/models.py:334 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:232 part/models.py:1132 +#: order/templates/order/sales_order_base.html:232 part/models.py:1142 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 @@ -992,11 +998,11 @@ msgstr "" msgid "Responsible" msgstr "" -#: build/models.py:356 +#: build/models.py:363 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:361 build/templates/build/detail.html:108 +#: build/models.py:368 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 @@ -1008,21 +1014,22 @@ msgstr "" msgid "External Link" msgstr "" -#: build/models.py:362 common/models.py:3244 part/models.py:956 +#: build/models.py:369 common/models.py:3230 part/models.py:960 #: stock/models.py:835 msgid "Link to external URL" msgstr "" -#: build/models.py:366 +#: build/models.py:373 msgid "Build Priority" msgstr "" -#: build/models.py:369 +#: build/models.py:376 msgid "Priority of this build order" msgstr "" -#: build/models.py:376 common/models.py:131 order/admin.py:18 -#: order/models.py:298 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:383 common/models.py:122 common/models.py:136 +#: order/admin.py:18 order/models.py:298 order/serializers.py:108 +#: templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 #: templates/js/translated/purchase_order.js:1710 #: templates/js/translated/return_order.js:317 @@ -1032,65 +1039,66 @@ msgstr "" msgid "Project Code" msgstr "" -#: build/models.py:377 +#: build/models.py:384 msgid "Project code for this build order" msgstr "" -#: build/models.py:610 build/models.py:675 +#: build/models.py:617 build/models.py:682 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:632 +#: build/models.py:639 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:638 +#: build/models.py:645 msgid "A build order has been completed" msgstr "" -#: build/models.py:864 build/models.py:949 +#: build/models.py:871 build/models.py:956 msgid "No build output specified" msgstr "" -#: build/models.py:867 +#: build/models.py:874 msgid "Build output is already completed" msgstr "" -#: build/models.py:870 +#: build/models.py:877 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:953 build/serializers.py:219 build/serializers.py:268 -#: build/serializers.py:866 order/models.py:559 order/serializers.py:432 -#: order/serializers.py:575 part/serializers.py:1484 part/serializers.py:1884 -#: stock/models.py:678 stock/models.py:1496 stock/serializers.py:603 +#: build/models.py:960 build/serializers.py:223 build/serializers.py:272 +#: build/serializers.py:870 order/models.py:559 order/serializers.py:461 +#: order/serializers.py:624 part/serializers.py:1515 part/serializers.py:1921 +#: stock/models.py:678 stock/models.py:1496 stock/serializers.py:661 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:958 build/serializers.py:224 +#: build/models.py:965 build/serializers.py:228 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1018 build/serializers.py:547 +#: build/models.py:1025 build/serializers.py:551 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1359 +#: build/models.py:1366 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1384 +#: build/models.py:1391 msgid "Build object" msgstr "" -#: build/models.py:1398 build/models.py:1654 build/serializers.py:206 -#: build/serializers.py:253 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2563 -#: order/models.py:1272 order/models.py:1931 order/serializers.py:1327 +#: build/models.py:1405 build/models.py:1661 build/serializers.py:210 +#: build/serializers.py:257 build/serializers.py:1194 +#: build/templates/build/build_base.html:102 +#: build/templates/build/detail.html:34 common/models.py:2544 +#: order/models.py:1272 order/models.py:1957 order/serializers.py:1383 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:410 -#: part/forms.py:48 part/models.py:3170 part/models.py:4058 +#: part/forms.py:48 part/models.py:3180 part/models.py:4143 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1100,7 +1108,7 @@ msgstr "" #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:169 stock/admin.py:159 -#: stock/serializers.py:125 stock/serializers.py:165 stock/serializers.py:594 +#: stock/serializers.py:127 stock/serializers.py:167 stock/serializers.py:652 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 @@ -1111,8 +1119,8 @@ msgstr "" #: templates/js/translated/build.js:1746 templates/js/translated/build.js:2357 #: templates/js/translated/company.js:1818 #: templates/js/translated/model_renderers.js:236 -#: templates/js/translated/order.js:304 templates/js/translated/part.js:962 -#: templates/js/translated/part.js:1812 templates/js/translated/part.js:3342 +#: templates/js/translated/order.js:304 templates/js/translated/part.js:965 +#: templates/js/translated/part.js:1815 templates/js/translated/part.js:3345 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 @@ -1132,38 +1140,38 @@ msgstr "" msgid "Quantity" msgstr "" -#: build/models.py:1399 +#: build/models.py:1406 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1479 +#: build/models.py:1486 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1488 +#: build/models.py:1495 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1498 order/models.py:1882 +#: build/models.py:1505 order/models.py:1908 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1504 order/models.py:1885 +#: build/models.py:1511 order/models.py:1911 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1510 +#: build/models.py:1517 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1569 +#: build/models.py:1576 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1641 build/serializers.py:846 order/serializers.py:1171 -#: order/serializers.py:1192 stock/models.py:359 stock/serializers.py:91 -#: stock/serializers.py:697 stock/serializers.py:1177 stock/serializers.py:1289 +#: build/models.py:1648 build/serializers.py:850 order/serializers.py:1227 +#: order/serializers.py:1248 stock/models.py:359 stock/serializers.py:93 +#: stock/serializers.py:755 stock/serializers.py:1243 stock/serializers.py:1355 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 @@ -1179,70 +1187,76 @@ msgstr "" msgid "Stock Item" msgstr "" -#: build/models.py:1642 +#: build/models.py:1649 msgid "Source stock item" msgstr "" -#: build/models.py:1655 +#: build/models.py:1662 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1663 +#: build/models.py:1670 msgid "Install into" msgstr "" -#: build/models.py:1664 +#: build/models.py:1671 msgid "Destination stock item" msgstr "" -#: build/serializers.py:156 build/serializers.py:875 +#: build/serializers.py:89 build/serializers.py:1185 part/admin.py:41 +#: part/admin.py:405 part/models.py:3992 part/stocktake.py:220 +#: stock/admin.py:156 +msgid "Part Name" +msgstr "" + +#: build/serializers.py:160 build/serializers.py:879 #: templates/js/translated/build.js:1322 msgid "Build Output" msgstr "" -#: build/serializers.py:168 +#: build/serializers.py:172 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:172 +#: build/serializers.py:176 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:176 +#: build/serializers.py:180 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:187 +#: build/serializers.py:191 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:207 build/serializers.py:254 +#: build/serializers.py:211 build/serializers.py:258 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:275 +#: build/serializers.py:279 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:278 +#: build/serializers.py:282 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:293 order/serializers.py:588 order/serializers.py:1331 -#: stock/serializers.py:614 templates/js/translated/purchase_order.js:1153 +#: build/serializers.py:297 order/serializers.py:637 order/serializers.py:1387 +#: stock/serializers.py:672 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:294 +#: build/serializers.py:298 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:299 build/serializers.py:440 build/serializers.py:512 -#: order/serializers.py:564 order/serializers.py:672 order/serializers.py:1656 -#: part/serializers.py:1140 stock/serializers.py:100 stock/serializers.py:625 -#: stock/serializers.py:785 stock/serializers.py:881 stock/serializers.py:1321 -#: stock/serializers.py:1577 stock/templates/stock/item_base.html:394 +#: build/serializers.py:303 build/serializers.py:444 build/serializers.py:516 +#: order/serializers.py:613 order/serializers.py:721 order/serializers.py:1714 +#: part/serializers.py:1168 stock/serializers.py:102 stock/serializers.py:683 +#: stock/serializers.py:843 stock/serializers.py:939 stock/serializers.py:1387 +#: stock/serializers.py:1643 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 @@ -1258,54 +1272,54 @@ msgstr "" msgid "Location" msgstr "" -#: build/serializers.py:300 +#: build/serializers.py:304 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:314 +#: build/serializers.py:318 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:315 +#: build/serializers.py:319 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:330 +#: build/serializers.py:334 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:355 stock/api.py:1041 +#: build/serializers.py:359 stock/api.py:1033 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:402 build/serializers.py:464 build/serializers.py:553 +#: build/serializers.py:406 build/serializers.py:468 build/serializers.py:557 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:441 +#: build/serializers.py:445 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:447 +#: build/serializers.py:451 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:448 +#: build/serializers.py:452 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:453 +#: build/serializers.py:457 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:513 +#: build/serializers.py:517 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:519 build/templates/build/build_base.html:151 +#: build/serializers.py:523 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:950 -#: order/models.py:2044 order/serializers.py:596 stock/admin.py:164 -#: stock/serializers.py:932 stock/serializers.py:1465 +#: order/models.py:2070 order/serializers.py:645 stock/admin.py:164 +#: stock/serializers.py:990 stock/serializers.py:1531 #: 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 @@ -1317,193 +1331,241 @@ msgstr "" msgid "Status" msgstr "" -#: build/serializers.py:525 +#: build/serializers.py:529 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:526 +#: build/serializers.py:530 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:611 +#: build/serializers.py:615 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:612 +#: build/serializers.py:616 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:618 +#: build/serializers.py:622 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:619 +#: build/serializers.py:623 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:646 +#: build/serializers.py:650 msgid "Not permitted" msgstr "" -#: build/serializers.py:647 +#: build/serializers.py:651 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:648 +#: build/serializers.py:652 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:678 +#: build/serializers.py:682 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:680 +#: build/serializers.py:684 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:690 +#: build/serializers.py:694 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:695 +#: build/serializers.py:699 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:696 +#: build/serializers.py:700 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:706 templates/js/translated/build.js:315 +#: build/serializers.py:710 templates/js/translated/build.js:315 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:711 order/serializers.py:300 order/serializers.py:1234 +#: build/serializers.py:715 order/serializers.py:319 order/serializers.py:1290 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:712 +#: build/serializers.py:716 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:722 templates/js/translated/build.js:319 +#: build/serializers.py:726 templates/js/translated/build.js:319 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:731 templates/js/translated/build.js:303 +#: build/serializers.py:735 templates/js/translated/build.js:303 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:769 +#: build/serializers.py:773 msgid "Build Line" msgstr "" -#: build/serializers.py:779 +#: build/serializers.py:783 msgid "Build output" msgstr "" -#: build/serializers.py:787 +#: build/serializers.py:791 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:823 +#: build/serializers.py:827 msgid "Build Line Item" msgstr "" -#: build/serializers.py:837 +#: build/serializers.py:841 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:852 stock/serializers.py:1190 +#: build/serializers.py:856 stock/serializers.py:1256 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:900 order/serializers.py:1225 +#: build/serializers.py:904 order/serializers.py:1281 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:906 +#: build/serializers.py:910 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:913 +#: build/serializers.py:917 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:937 order/serializers.py:1477 +#: build/serializers.py:941 order/serializers.py:1533 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:1000 +#: build/serializers.py:1004 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:1008 +#: build/serializers.py:1012 msgid "Exclude Location" msgstr "" -#: build/serializers.py:1009 +#: build/serializers.py:1013 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:1014 +#: build/serializers.py:1018 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:1015 +#: build/serializers.py:1019 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:1020 +#: build/serializers.py:1024 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:1021 +#: build/serializers.py:1025 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:1026 +#: build/serializers.py:1030 msgid "Optional Items" msgstr "" -#: build/serializers.py:1027 +#: build/serializers.py:1031 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1049 +#: build/serializers.py:1053 msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1139 part/models.py:3953 part/models.py:4387 -#: stock/api.py:804 +#: build/serializers.py:1095 +msgid "Supplier Part Number" +msgstr "" + +#: build/serializers.py:1096 company/models.py:500 +msgid "Manufacturer Part Number" +msgstr "" + +#: build/serializers.py:1097 stock/admin.py:53 stock/admin.py:175 +#: stock/serializers.py:454 +msgid "Location Name" +msgstr "" + +#: build/serializers.py:1098 +msgid "Build Reference" +msgstr "" + +#: build/serializers.py:1099 +msgid "BOM Reference" +msgstr "" + +#: build/serializers.py:1186 part/admin.py:402 part/models.py:3993 +msgid "Part IPN" +msgstr "" + +#: build/serializers.py:1192 common/models.py:1488 part/admin.py:113 +#: part/models.py:1068 templates/js/translated/table_filters.js:147 +#: templates/js/translated/table_filters.js:223 +#: templates/js/translated/table_filters.js:776 +msgid "Trackable" +msgstr "" + +#: build/serializers.py:1196 part/models.py:4000 part/models.py:4472 +#: stock/api.py:796 msgid "BOM Item" msgstr "" -#: build/serializers.py:1148 templates/js/translated/index.js:130 +#: build/serializers.py:1205 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1153 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:828 part/serializers.py:1502 +#: build/serializers.py:1210 part/admin.py:132 part/bom.py:173 +#: part/serializers.py:856 part/serializers.py:1533 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2613 templates/js/translated/part.js:710 -#: templates/js/translated/part.js:2149 +#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709 +#: templates/js/translated/part.js:2152 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "" -#: build/serializers.py:1158 part/serializers.py:1504 -#: templates/js/translated/build.js:2617 +#: build/serializers.py:1215 part/serializers.py:1535 +#: templates/js/translated/build.js:2618 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1163 part/bom.py:172 part/serializers.py:1527 +#: build/serializers.py:1220 part/bom.py:172 part/serializers.py:1558 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" msgstr "" +#: build/serializers.py:1224 +msgid "Available Substitute Stock" +msgstr "" + +#: build/serializers.py:1225 +msgid "Available Variant Stock" +msgstr "" + +#: build/serializers.py:1226 +msgid "Total Available Stock" +msgstr "" + +#: build/serializers.py:1227 part/serializers.py:862 +msgid "External Stock" +msgstr "" + #: build/status_codes.py:11 generic/states/tests.py:17 order/status_codes.py:12 #: order/status_codes.py:37 order/status_codes.py:64 order/status_codes.py:82 #: templates/js/translated/table_filters.js:598 @@ -1519,7 +1581,8 @@ msgstr "" msgid "Cancelled" msgstr "" -#: build/status_codes.py:14 generic/states/tests.py:19 order/status_codes.py:14 +#: build/status_codes.py:14 generic/states/tests.py:19 importer/models.py:468 +#: importer/status_codes.py:19 order/status_codes.py:14 #: order/status_codes.py:44 order/status_codes.py:69 #: order/templates/order/order_base.html:158 #: order/templates/order/sales_order_base.html:165 report/models.py:444 @@ -1652,11 +1715,12 @@ msgstr "" #: build/templates/build/build_base.html:160 #: build/templates/build/detail.html:138 order/models.py:309 -#: order/models.py:1307 order/templates/order/order_base.html:186 +#: order/models.py:1307 order/serializers.py:174 +#: order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: 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:1831 +#: templates/js/translated/build.js:2239 templates/js/translated/part.js:1834 #: templates/js/translated/purchase_order.js:1739 #: templates/js/translated/purchase_order.js:2147 #: templates/js/translated/return_order.js:346 @@ -1689,8 +1753,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1463 order/models.py:845 -#: order/models.py:1551 order/models.py:1665 order/models.py:1819 +#: build/templates/build/detail.html:101 order/api.py:1384 order/models.py:845 +#: order/models.py:1566 order/models.py:1681 order/models.py:1840 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 @@ -1740,7 +1804,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1443 +#: build/templates/build/detail.html:49 order/models.py:1448 #: templates/js/translated/purchase_order.js:2189 msgid "Destination" msgstr "" @@ -1892,31 +1956,31 @@ msgstr "" msgid "Incomplete Outputs" msgstr "" -#: common/api.py:689 +#: common/api.py:690 msgid "Is Link" msgstr "" -#: common/api.py:697 +#: common/api.py:698 msgid "Is File" msgstr "" -#: common/api.py:739 +#: common/api.py:740 msgid "User does not have permission to delete this attachment" msgstr "" -#: common/currency.py:130 +#: common/currency.py:132 msgid "Invalid currency code" msgstr "" -#: common/currency.py:132 +#: common/currency.py:134 msgid "Duplicate currency code" msgstr "" -#: common/currency.py:137 +#: common/currency.py:139 msgid "No valid currency codes provided" msgstr "" -#: common/currency.py:154 +#: common/currency.py:156 msgid "No plugin" msgstr "" @@ -1970,1635 +2034,1604 @@ msgstr "" msgid "Site URL is locked by configuration" msgstr "" -#: common/models.py:132 +#: common/models.py:137 msgid "Unique project code" msgstr "" -#: common/models.py:139 +#: common/models.py:144 msgid "Project description" msgstr "" -#: common/models.py:148 +#: common/models.py:153 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:765 +#: common/models.py:770 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:769 +#: common/models.py:774 msgid "Settings value" msgstr "" -#: common/models.py:821 +#: common/models.py:826 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:837 +#: common/models.py:842 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:845 +#: common/models.py:850 msgid "Value must be an integer value" msgstr "" -#: common/models.py:882 +#: common/models.py:887 msgid "Key string must be unique" msgstr "" -#: common/models.py:1114 +#: common/models.py:1119 msgid "No group" msgstr "" -#: common/models.py:1213 +#: common/models.py:1218 msgid "Restart required" msgstr "" -#: common/models.py:1215 +#: common/models.py:1220 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:1222 +#: common/models.py:1227 msgid "Pending migrations" msgstr "" -#: common/models.py:1223 +#: common/models.py:1228 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1228 +#: common/models.py:1233 msgid "Server Instance Name" msgstr "" -#: common/models.py:1230 +#: common/models.py:1235 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1234 +#: common/models.py:1239 msgid "Use instance name" msgstr "" -#: common/models.py:1235 +#: common/models.py:1240 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1240 +#: common/models.py:1245 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1241 +#: common/models.py:1246 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1246 company/models.py:111 company/models.py:112 +#: common/models.py:1251 company/models.py:111 company/models.py:112 msgid "Company name" msgstr "" -#: common/models.py:1247 +#: common/models.py:1252 msgid "Internal company name" msgstr "" -#: common/models.py:1251 +#: common/models.py:1256 msgid "Base URL" msgstr "" -#: common/models.py:1252 +#: common/models.py:1257 msgid "Base URL for server instance" msgstr "" -#: common/models.py:1258 +#: common/models.py:1263 msgid "Default Currency" msgstr "" -#: common/models.py:1259 +#: common/models.py:1264 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1265 +#: common/models.py:1270 msgid "Supported Currencies" msgstr "" -#: common/models.py:1266 +#: common/models.py:1271 msgid "List of supported currency codes" msgstr "" -#: common/models.py:1272 +#: common/models.py:1277 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1274 +#: common/models.py:1279 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1277 common/models.py:1333 common/models.py:1346 -#: common/models.py:1354 common/models.py:1363 common/models.py:1372 -#: common/models.py:1596 common/models.py:1618 common/models.py:1733 -#: common/models.py:2100 +#: common/models.py:1282 common/models.py:1338 common/models.py:1351 +#: common/models.py:1359 common/models.py:1368 common/models.py:1377 +#: common/models.py:1601 common/models.py:1623 common/models.py:1738 +#: common/models.py:2111 msgid "days" msgstr "" -#: common/models.py:1281 +#: common/models.py:1286 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1282 +#: common/models.py:1287 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1287 +#: common/models.py:1292 msgid "Download from URL" msgstr "" -#: common/models.py:1289 +#: common/models.py:1294 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:1295 +#: common/models.py:1300 msgid "Download Size Limit" msgstr "" -#: common/models.py:1296 +#: common/models.py:1301 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1302 +#: common/models.py:1307 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1304 +#: common/models.py:1309 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/models.py:1309 +#: common/models.py:1314 msgid "Strict URL Validation" msgstr "" -#: common/models.py:1310 +#: common/models.py:1315 msgid "Require schema specification when validating URLs" msgstr "" -#: common/models.py:1315 +#: common/models.py:1320 msgid "Require confirm" msgstr "" -#: common/models.py:1316 +#: common/models.py:1321 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:1321 +#: common/models.py:1326 msgid "Tree Depth" msgstr "" -#: common/models.py:1323 +#: common/models.py:1328 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1329 +#: common/models.py:1334 msgid "Update Check Interval" msgstr "" -#: common/models.py:1330 +#: common/models.py:1335 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:1336 +#: common/models.py:1341 msgid "Automatic Backup" msgstr "" -#: common/models.py:1337 +#: common/models.py:1342 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:1342 +#: common/models.py:1347 msgid "Auto Backup Interval" msgstr "" -#: common/models.py:1343 +#: common/models.py:1348 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1349 +#: common/models.py:1354 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1351 +#: common/models.py:1356 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1358 +#: common/models.py:1363 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1360 +#: common/models.py:1365 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1367 +#: common/models.py:1372 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1369 +#: common/models.py:1374 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1376 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1381 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "" -#: common/models.py:1377 +#: common/models.py:1382 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1382 +#: common/models.py:1387 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1383 +#: common/models.py:1388 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1389 +#: common/models.py:1394 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1390 +#: common/models.py:1395 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1395 +#: common/models.py:1400 msgid "Barcode Show Data" msgstr "" -#: common/models.py:1396 +#: common/models.py:1401 msgid "Display barcode data in browser as text" msgstr "" -#: common/models.py:1401 +#: common/models.py:1406 msgid "Part Revisions" msgstr "" -#: common/models.py:1402 +#: common/models.py:1407 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1407 +#: common/models.py:1412 msgid "Allow Deletion from Assembly" msgstr "" -#: common/models.py:1408 +#: common/models.py:1413 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/models.py:1413 +#: common/models.py:1418 msgid "IPN Regex" msgstr "" -#: common/models.py:1414 +#: common/models.py:1419 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1417 +#: common/models.py:1422 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1418 +#: common/models.py:1423 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1423 +#: common/models.py:1428 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1424 +#: common/models.py:1429 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1429 +#: common/models.py:1434 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1430 +#: common/models.py:1435 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1435 +#: common/models.py:1440 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1436 +#: common/models.py:1441 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1441 +#: common/models.py:1446 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1442 +#: common/models.py:1447 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1447 +#: common/models.py:1452 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1448 +#: common/models.py:1453 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1453 part/admin.py:108 part/models.py:3795 +#: common/models.py:1458 part/admin.py:108 part/models.py:3835 #: report/models.py:294 report/models.py:361 report/serializers.py:90 -#: report/serializers.py:131 stock/serializers.py:227 +#: report/serializers.py:131 stock/serializers.py:232 #: templates/js/translated/table_filters.js:139 -#: templates/js/translated/table_filters.js:767 +#: templates/js/translated/table_filters.js:772 msgid "Template" msgstr "" -#: common/models.py:1454 +#: common/models.py:1459 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1459 part/admin.py:91 part/admin.py:425 part/models.py:1052 +#: common/models.py:1464 part/admin.py:91 part/admin.py:425 part/models.py:1056 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 -#: templates/js/translated/table_filters.js:721 +#: templates/js/translated/table_filters.js:726 msgid "Assembly" msgstr "" -#: common/models.py:1460 +#: common/models.py:1465 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1465 part/admin.py:95 part/models.py:1058 -#: templates/js/translated/table_filters.js:729 +#: common/models.py:1470 part/admin.py:95 part/models.py:1062 +#: templates/js/translated/table_filters.js:734 msgid "Component" msgstr "" -#: common/models.py:1466 +#: common/models.py:1471 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1471 part/admin.py:100 part/models.py:1070 +#: common/models.py:1476 part/admin.py:100 part/models.py:1074 msgid "Purchaseable" msgstr "" -#: common/models.py:1472 +#: common/models.py:1477 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1477 part/admin.py:104 part/models.py:1076 -#: templates/js/translated/table_filters.js:755 +#: common/models.py:1482 part/admin.py:104 part/models.py:1080 +#: templates/js/translated/table_filters.js:760 msgid "Salable" msgstr "" -#: common/models.py:1478 +#: common/models.py:1483 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1483 part/admin.py:113 part/models.py:1064 -#: 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:1484 +#: common/models.py:1489 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1489 part/admin.py:117 part/models.py:1086 +#: common/models.py:1494 part/admin.py:117 part/models.py:1096 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 -#: templates/js/translated/table_filters.js:775 +#: templates/js/translated/table_filters.js:780 msgid "Virtual" msgstr "" -#: common/models.py:1490 +#: common/models.py:1495 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1495 +#: common/models.py:1500 msgid "Show Import in Views" msgstr "" -#: common/models.py:1496 +#: common/models.py:1501 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1501 +#: common/models.py:1506 msgid "Show related parts" msgstr "" -#: common/models.py:1502 +#: common/models.py:1507 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1507 +#: common/models.py:1512 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1508 +#: common/models.py:1513 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1513 templates/js/translated/part.js:107 +#: common/models.py:1518 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1515 +#: common/models.py:1520 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1521 +#: common/models.py:1526 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1522 +#: common/models.py:1527 msgid "Format to display the part name" msgstr "" -#: common/models.py:1528 +#: common/models.py:1533 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1529 +#: common/models.py:1534 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1533 +#: common/models.py:1538 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1535 +#: common/models.py:1540 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1541 +#: common/models.py:1546 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1543 +#: common/models.py:1548 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1554 +#: common/models.py:1559 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1556 +#: common/models.py:1561 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1567 +#: common/models.py:1572 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1569 +#: common/models.py:1574 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1575 +#: common/models.py:1580 msgid "Purchase History Override" msgstr "" -#: common/models.py:1577 +#: common/models.py:1582 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1583 +#: common/models.py:1588 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1585 +#: common/models.py:1590 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1591 +#: common/models.py:1596 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1593 +#: common/models.py:1598 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1600 +#: common/models.py:1605 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1601 +#: common/models.py:1606 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1606 +#: common/models.py:1611 msgid "Active Variants Only" msgstr "" -#: common/models.py:1608 +#: common/models.py:1613 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1614 +#: common/models.py:1619 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1616 +#: common/models.py:1621 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1623 +#: common/models.py:1628 msgid "Internal Prices" msgstr "" -#: common/models.py:1624 +#: common/models.py:1629 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1629 +#: common/models.py:1634 msgid "Internal Price Override" msgstr "" -#: common/models.py:1631 +#: common/models.py:1636 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1637 +#: common/models.py:1642 msgid "Enable label printing" msgstr "" -#: common/models.py:1638 +#: common/models.py:1643 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1643 +#: common/models.py:1648 msgid "Label Image DPI" msgstr "" -#: common/models.py:1645 +#: common/models.py:1650 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1651 +#: common/models.py:1656 msgid "Enable Reports" msgstr "" -#: common/models.py:1652 +#: common/models.py:1657 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1657 templates/stats.html:25 +#: common/models.py:1662 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1658 +#: common/models.py:1663 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1663 +#: common/models.py:1668 msgid "Log Report Errors" msgstr "" -#: common/models.py:1664 +#: common/models.py:1669 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1669 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1674 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:302 msgid "Page Size" msgstr "" -#: common/models.py:1670 +#: common/models.py:1675 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1675 +#: common/models.py:1680 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1676 +#: common/models.py:1681 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1681 +#: common/models.py:1686 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1683 +#: common/models.py:1688 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1689 +#: common/models.py:1694 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1690 +#: common/models.py:1695 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1695 +#: common/models.py:1700 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1696 +#: common/models.py:1701 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1701 +#: common/models.py:1706 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1703 +#: common/models.py:1708 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1709 +#: common/models.py:1714 msgid "Batch Code Template" msgstr "" -#: common/models.py:1711 +#: common/models.py:1716 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1716 +#: common/models.py:1721 msgid "Stock Expiry" msgstr "" -#: common/models.py:1717 +#: common/models.py:1722 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1722 +#: common/models.py:1727 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1723 +#: common/models.py:1728 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1728 +#: common/models.py:1733 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1730 +#: common/models.py:1735 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1737 +#: common/models.py:1742 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1738 +#: common/models.py:1743 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1743 +#: common/models.py:1748 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1744 +#: common/models.py:1749 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1749 +#: common/models.py:1754 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1750 +#: common/models.py:1755 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1754 +#: common/models.py:1759 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1755 +#: common/models.py:1760 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1760 +#: common/models.py:1765 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1762 +#: common/models.py:1767 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1768 +#: common/models.py:1773 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1770 +#: common/models.py:1775 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1776 +#: common/models.py:1781 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1778 +#: common/models.py:1783 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1784 common/models.py:1826 common/models.py:1848 -#: common/models.py:1884 +#: common/models.py:1789 common/models.py:1837 common/models.py:1859 +#: common/models.py:1895 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1785 common/models.py:1827 common/models.py:1849 -#: common/models.py:1885 +#: common/models.py:1790 common/models.py:1838 common/models.py:1860 +#: common/models.py:1896 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1790 +#: common/models.py:1795 msgid "Require Active Part" msgstr "" -#: common/models.py:1791 +#: common/models.py:1796 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/models.py:1796 +#: common/models.py:1801 +msgid "Require Locked Part" +msgstr "" + +#: common/models.py:1802 +msgid "Prevent build order creation for unlocked parts" +msgstr "" + +#: common/models.py:1807 msgid "Require Valid BOM" msgstr "" -#: common/models.py:1798 +#: common/models.py:1809 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/models.py:1804 +#: common/models.py:1815 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1806 +#: common/models.py:1817 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1812 +#: common/models.py:1823 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1813 +#: common/models.py:1824 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1818 +#: common/models.py:1829 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1820 +#: common/models.py:1831 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1832 +#: common/models.py:1843 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1834 +#: common/models.py:1845 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1840 +#: common/models.py:1851 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1842 +#: common/models.py:1853 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1854 +#: common/models.py:1865 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1855 +#: common/models.py:1866 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1860 +#: common/models.py:1871 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1862 +#: common/models.py:1873 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1868 +#: common/models.py:1879 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1870 +#: common/models.py:1881 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1876 +#: common/models.py:1887 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1878 +#: common/models.py:1889 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1890 +#: common/models.py:1901 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1892 +#: common/models.py:1903 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1898 +#: common/models.py:1909 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1900 +#: common/models.py:1911 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1907 +#: common/models.py:1918 msgid "Enable password forgot" msgstr "" -#: common/models.py:1908 +#: common/models.py:1919 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1913 +#: common/models.py:1924 msgid "Enable registration" msgstr "" -#: common/models.py:1914 +#: common/models.py:1925 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1919 +#: common/models.py:1930 msgid "Enable SSO" msgstr "" -#: common/models.py:1920 +#: common/models.py:1931 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1925 +#: common/models.py:1936 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1927 +#: common/models.py:1938 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1933 +#: common/models.py:1944 msgid "Enable SSO group sync" msgstr "" -#: common/models.py:1935 +#: common/models.py:1946 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/models.py:1941 +#: common/models.py:1952 msgid "SSO group key" msgstr "" -#: common/models.py:1943 +#: common/models.py:1954 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/models.py:1949 +#: common/models.py:1960 msgid "SSO group map" msgstr "" -#: common/models.py:1951 +#: common/models.py:1962 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/models.py:1957 +#: common/models.py:1968 msgid "Remove groups outside of SSO" msgstr "" -#: common/models.py:1959 +#: common/models.py:1970 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/models.py:1965 +#: common/models.py:1976 msgid "Email required" msgstr "" -#: common/models.py:1966 +#: common/models.py:1977 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1971 +#: common/models.py:1982 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1973 +#: common/models.py:1984 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1979 +#: common/models.py:1990 msgid "Mail twice" msgstr "" -#: common/models.py:1980 +#: common/models.py:1991 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1985 +#: common/models.py:1996 msgid "Password twice" msgstr "" -#: common/models.py:1986 +#: common/models.py:1997 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1991 +#: common/models.py:2002 msgid "Allowed domains" msgstr "" -#: common/models.py:1993 +#: common/models.py:2004 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1999 +#: common/models.py:2010 msgid "Group on signup" msgstr "" -#: common/models.py:2001 +#: common/models.py:2012 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/models.py:2007 +#: common/models.py:2018 msgid "Enforce MFA" msgstr "" -#: common/models.py:2008 +#: common/models.py:2019 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:2013 +#: common/models.py:2024 msgid "Check plugins on startup" msgstr "" -#: common/models.py:2015 +#: common/models.py:2026 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:2023 +#: common/models.py:2034 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2024 +#: common/models.py:2035 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2030 +#: common/models.py:2041 msgid "Enable URL integration" msgstr "" -#: common/models.py:2031 +#: common/models.py:2042 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:2037 +#: common/models.py:2048 msgid "Enable navigation integration" msgstr "" -#: common/models.py:2038 +#: common/models.py:2049 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2044 +#: common/models.py:2055 msgid "Enable app integration" msgstr "" -#: common/models.py:2045 +#: common/models.py:2056 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2051 +#: common/models.py:2062 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2052 +#: common/models.py:2063 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2058 +#: common/models.py:2069 msgid "Enable event integration" msgstr "" -#: common/models.py:2059 +#: common/models.py:2070 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2065 +#: common/models.py:2076 msgid "Enable project codes" msgstr "" -#: common/models.py:2066 +#: common/models.py:2077 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2071 +#: common/models.py:2082 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2073 +#: common/models.py:2084 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2079 +#: common/models.py:2090 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2081 +#: common/models.py:2092 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2087 +#: common/models.py:2098 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2089 +#: common/models.py:2100 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2095 +#: common/models.py:2106 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2097 +#: common/models.py:2108 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2104 +#: common/models.py:2115 msgid "Display Users full names" msgstr "" -#: common/models.py:2105 +#: common/models.py:2116 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2110 +#: common/models.py:2121 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2111 +#: common/models.py:2122 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2123 common/models.py:2533 +#: common/models.py:2134 common/models.py:2514 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2166 +#: common/models.py:2177 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2168 +#: common/models.py:2179 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2174 +#: common/models.py:2185 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2175 +#: common/models.py:2186 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2180 +#: common/models.py:2191 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2181 +#: common/models.py:2192 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2186 +#: common/models.py:2197 msgid "Show latest parts" msgstr "" -#: common/models.py:2187 +#: common/models.py:2198 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2192 +#: common/models.py:2203 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2193 +#: common/models.py:2204 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2198 +#: common/models.py:2209 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2199 +#: common/models.py:2210 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2204 +#: common/models.py:2215 msgid "Show low stock" msgstr "" -#: common/models.py:2205 +#: common/models.py:2216 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2210 +#: common/models.py:2221 msgid "Show depleted stock" msgstr "" -#: common/models.py:2211 +#: common/models.py:2222 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2216 +#: common/models.py:2227 msgid "Show needed stock" msgstr "" -#: common/models.py:2217 +#: common/models.py:2228 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2222 +#: common/models.py:2233 msgid "Show expired stock" msgstr "" -#: common/models.py:2223 +#: common/models.py:2234 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2228 +#: common/models.py:2239 msgid "Show stale stock" msgstr "" -#: common/models.py:2229 +#: common/models.py:2240 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2234 +#: common/models.py:2245 msgid "Show pending builds" msgstr "" -#: common/models.py:2235 +#: common/models.py:2246 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2240 +#: common/models.py:2251 msgid "Show overdue builds" msgstr "" -#: common/models.py:2241 +#: common/models.py:2252 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2246 +#: common/models.py:2257 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2247 +#: common/models.py:2258 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2252 +#: common/models.py:2263 msgid "Show overdue POs" msgstr "" -#: common/models.py:2253 +#: common/models.py:2264 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2258 +#: common/models.py:2269 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2259 +#: common/models.py:2270 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2264 +#: common/models.py:2275 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2265 +#: common/models.py:2276 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2270 +#: common/models.py:2281 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2271 +#: common/models.py:2282 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2276 +#: common/models.py:2287 msgid "Show News" msgstr "" -#: common/models.py:2277 +#: common/models.py:2288 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2282 +#: common/models.py:2293 msgid "Inline label display" msgstr "" -#: common/models.py:2284 +#: common/models.py:2295 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2290 +#: common/models.py:2301 msgid "Default label printer" msgstr "" -#: common/models.py:2292 +#: common/models.py:2303 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2298 +#: common/models.py:2309 msgid "Inline report display" msgstr "" -#: common/models.py:2300 +#: common/models.py:2311 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2306 +#: common/models.py:2317 msgid "Search Parts" msgstr "" -#: common/models.py:2307 +#: common/models.py:2318 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2312 +#: common/models.py:2323 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2313 +#: common/models.py:2324 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2318 +#: common/models.py:2329 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2319 +#: common/models.py:2330 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2324 +#: common/models.py:2335 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2325 +#: common/models.py:2336 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2330 +#: common/models.py:2341 msgid "Search Categories" msgstr "" -#: common/models.py:2331 +#: common/models.py:2342 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2336 +#: common/models.py:2347 msgid "Search Stock" msgstr "" -#: common/models.py:2337 +#: common/models.py:2348 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2342 +#: common/models.py:2353 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2344 +#: common/models.py:2355 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2350 +#: common/models.py:2361 msgid "Search Locations" msgstr "" -#: common/models.py:2351 +#: common/models.py:2362 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2356 +#: common/models.py:2367 msgid "Search Companies" msgstr "" -#: common/models.py:2357 +#: common/models.py:2368 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2362 +#: common/models.py:2373 msgid "Search Build Orders" msgstr "" -#: common/models.py:2363 +#: common/models.py:2374 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2368 +#: common/models.py:2379 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2369 +#: common/models.py:2380 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2374 +#: common/models.py:2385 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2376 +#: common/models.py:2387 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2382 +#: common/models.py:2393 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2383 +#: common/models.py:2394 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2388 +#: common/models.py:2399 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2390 +#: common/models.py:2401 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2396 +#: common/models.py:2407 msgid "Search Return Orders" msgstr "" -#: common/models.py:2397 +#: common/models.py:2408 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2402 +#: common/models.py:2413 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2404 +#: common/models.py:2415 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2410 +#: common/models.py:2421 msgid "Search Preview Results" msgstr "" -#: common/models.py:2412 +#: common/models.py:2423 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2418 +#: common/models.py:2429 msgid "Regex Search" msgstr "" -#: common/models.py:2419 +#: common/models.py:2430 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2424 +#: common/models.py:2435 msgid "Whole Word Search" msgstr "" -#: common/models.py:2425 +#: common/models.py:2436 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2430 +#: common/models.py:2441 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2431 +#: common/models.py:2442 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2436 +#: common/models.py:2447 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2437 +#: common/models.py:2448 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2442 +#: common/models.py:2453 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2443 +#: common/models.py:2454 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2448 +#: common/models.py:2459 msgid "Date Format" msgstr "" -#: common/models.py:2449 +#: common/models.py:2460 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2462 part/templates/part/detail.html:41 +#: common/models.py:2473 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2463 +#: common/models.py:2474 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2468 part/templates/part/detail.html:62 +#: common/models.py:2479 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2470 +#: common/models.py:2481 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2476 +#: common/models.py:2487 msgid "Table String Length" msgstr "" -#: common/models.py:2478 +#: common/models.py:2489 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2484 -msgid "Default part label template" -msgstr "" - -#: common/models.py:2485 -msgid "The part label template to be automatically selected" -msgstr "" - -#: common/models.py:2490 -msgid "Default stock item template" -msgstr "" - -#: common/models.py:2492 -msgid "The stock item label template to be automatically selected" -msgstr "" - -#: common/models.py:2498 -msgid "Default stock location label template" -msgstr "" - -#: common/models.py:2500 -msgid "The stock location label template to be automatically selected" -msgstr "" - -#: common/models.py:2506 -msgid "Default build line label template" -msgstr "" - -#: common/models.py:2508 -msgid "The build line label template to be automatically selected" -msgstr "" - -#: common/models.py:2514 +#: common/models.py:2495 msgid "Receive error reports" msgstr "" -#: common/models.py:2515 +#: common/models.py:2496 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2520 +#: common/models.py:2501 msgid "Last used printing machines" msgstr "" -#: common/models.py:2521 +#: common/models.py:2502 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2541 common/models.py:2542 common/models.py:2691 -#: common/models.py:2692 common/models.py:2937 common/models.py:2938 -#: common/models.py:3259 common/models.py:3260 part/models.py:3193 -#: part/models.py:3280 part/models.py:3353 part/models.py:3381 -#: plugin/models.py:274 plugin/models.py:275 +#: common/models.py:2522 common/models.py:2523 common/models.py:2672 +#: common/models.py:2673 common/models.py:2918 common/models.py:2919 +#: common/models.py:3245 common/models.py:3246 importer/models.py:85 +#: part/models.py:3203 part/models.py:3290 part/models.py:3364 +#: part/models.py:3392 plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 msgid "User" msgstr "" -#: common/models.py:2564 +#: common/models.py:2545 msgid "Price break quantity" msgstr "" -#: common/models.py:2571 company/serializers.py:472 order/admin.py:42 -#: order/models.py:1346 order/models.py:2265 -#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1886 +#: common/models.py:2552 company/serializers.py:502 order/admin.py:42 +#: order/models.py:1346 order/models.py:2292 +#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1889 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:740 msgid "Price" msgstr "" -#: common/models.py:2572 +#: common/models.py:2553 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2668 common/models.py:2853 +#: common/models.py:2649 common/models.py:2834 msgid "Endpoint" msgstr "" -#: common/models.py:2669 +#: common/models.py:2650 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2679 +#: common/models.py:2660 msgid "Name for this webhook" msgstr "" -#: common/models.py:2683 +#: common/models.py:2664 msgid "Is this webhook active" msgstr "" -#: common/models.py:2699 users/models.py:159 +#: common/models.py:2680 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2700 +#: common/models.py:2681 msgid "Token for access" msgstr "" -#: common/models.py:2708 +#: common/models.py:2689 msgid "Secret" msgstr "" -#: common/models.py:2709 +#: common/models.py:2690 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2817 +#: common/models.py:2798 msgid "Message ID" msgstr "" -#: common/models.py:2818 +#: common/models.py:2799 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2826 +#: common/models.py:2807 msgid "Host" msgstr "" -#: common/models.py:2827 +#: common/models.py:2808 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2835 +#: common/models.py:2816 msgid "Header" msgstr "" -#: common/models.py:2836 +#: common/models.py:2817 msgid "Header of this message" msgstr "" -#: common/models.py:2843 +#: common/models.py:2824 msgid "Body" msgstr "" -#: common/models.py:2844 +#: common/models.py:2825 msgid "Body of this message" msgstr "" -#: common/models.py:2854 +#: common/models.py:2835 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2859 +#: common/models.py:2840 msgid "Worked on" msgstr "" -#: common/models.py:2860 +#: common/models.py:2841 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2986 +#: common/models.py:2967 msgid "Id" msgstr "" -#: common/models.py:2988 templates/js/translated/company.js:965 +#: common/models.py:2969 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2990 common/models.py:3243 company/models.py:149 -#: company/models.py:440 company/models.py:500 company/models.py:799 -#: order/models.py:303 order/models.py:1301 order/models.py:1717 -#: part/admin.py:55 part/models.py:955 +#: common/models.py:2971 common/models.py:3229 company/models.py:149 +#: company/models.py:446 company/models.py:506 company/models.py:806 +#: order/models.py:303 order/models.py:1301 order/models.py:1733 +#: part/admin.py:55 part/models.py:959 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:229 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/part.js:2459 #: templates/js/translated/purchase_order.js:2040 #: templates/js/translated/purchase_order.js:2204 #: templates/js/translated/return_order.js:779 @@ -3607,28 +3640,28 @@ msgstr "" msgid "Link" msgstr "" -#: common/models.py:2992 templates/js/translated/news.js:60 +#: common/models.py:2973 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2994 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2975 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:2996 templates/js/translated/news.js:52 +#: common/models.py:2977 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2999 +#: common/models.py:2980 msgid "Read" msgstr "" -#: common/models.py:2999 +#: common/models.py:2980 msgid "Was this news item read?" msgstr "" -#: common/models.py:3016 company/models.py:159 part/models.py:965 +#: common/models.py:2997 company/models.py:159 part/models.py:969 #: 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.html:35 @@ -3638,90 +3671,94 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:3016 +#: common/models.py:2997 msgid "Image file" msgstr "" -#: common/models.py:3028 common/models.py:3227 +#: common/models.py:3009 common/models.py:3213 msgid "Target model type for this image" msgstr "" -#: common/models.py:3032 +#: common/models.py:3013 msgid "Target model ID for this image" msgstr "" -#: common/models.py:3070 +#: common/models.py:3035 +msgid "Custom Unit" +msgstr "" + +#: common/models.py:3056 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:3085 +#: common/models.py:3071 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3104 +#: common/models.py:3090 msgid "Unit name" msgstr "" -#: common/models.py:3111 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3097 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3112 +#: common/models.py:3098 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3118 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3104 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3119 +#: common/models.py:3105 msgid "Unit definition" msgstr "" -#: common/models.py:3177 common/models.py:3234 stock/models.py:2461 +#: common/models.py:3163 common/models.py:3220 stock/models.py:2471 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" msgstr "" -#: common/models.py:3189 +#: common/models.py:3175 msgid "Missing file" msgstr "" -#: common/models.py:3190 +#: common/models.py:3176 msgid "Missing external link" msgstr "" -#: common/models.py:3235 +#: common/models.py:3221 msgid "Select file to attach" msgstr "" -#: common/models.py:3250 templates/js/translated/attachment.js:120 +#: common/models.py:3236 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" msgstr "" -#: common/models.py:3251 +#: common/models.py:3237 msgid "Attachment comment" msgstr "" -#: common/models.py:3267 +#: common/models.py:3253 msgid "Upload date" msgstr "" -#: common/models.py:3268 +#: common/models.py:3254 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:3272 +#: common/models.py:3258 msgid "File size" msgstr "" -#: common/models.py:3272 +#: common/models.py:3258 msgid "File size in bytes" msgstr "" -#: common/models.py:3310 common/serializers.py:553 +#: common/models.py:3296 common/serializers.py:557 msgid "Invalid model type specified for attachment" msgstr "" @@ -3743,7 +3780,7 @@ msgstr "" msgid "A order that is assigned to you was canceled" msgstr "" -#: common/notifications.py:330 common/notifications.py:337 order/api.py:472 +#: common/notifications.py:330 common/notifications.py:337 order/api.py:454 msgid "Items Received" msgstr "" @@ -3759,75 +3796,75 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:371 +#: common/serializers.py:375 msgid "Is Running" msgstr "" -#: common/serializers.py:377 +#: common/serializers.py:381 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:383 +#: common/serializers.py:387 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:389 +#: common/serializers.py:393 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:404 +#: common/serializers.py:408 msgid "Task ID" msgstr "" -#: common/serializers.py:404 +#: common/serializers.py:408 msgid "Unique task ID" msgstr "" -#: common/serializers.py:406 +#: common/serializers.py:410 msgid "Lock" msgstr "" -#: common/serializers.py:406 +#: common/serializers.py:410 msgid "Lock time" msgstr "" -#: common/serializers.py:408 +#: common/serializers.py:412 msgid "Task name" msgstr "" -#: common/serializers.py:410 +#: common/serializers.py:414 msgid "Function" msgstr "" -#: common/serializers.py:410 +#: common/serializers.py:414 msgid "Function name" msgstr "" -#: common/serializers.py:412 +#: common/serializers.py:416 msgid "Arguments" msgstr "" -#: common/serializers.py:412 +#: common/serializers.py:416 msgid "Task arguments" msgstr "" -#: common/serializers.py:415 +#: common/serializers.py:419 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:415 +#: common/serializers.py:419 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:525 +#: common/serializers.py:529 msgid "Filename" msgstr "" -#: common/serializers.py:532 report/api.py:100 report/serializers.py:53 +#: common/serializers.py:536 report/api.py:100 report/serializers.py:53 msgid "Model Type" msgstr "" -#: common/serializers.py:559 +#: common/serializers.py:563 msgid "User does not have permission to create or edit attachments for this model" msgstr "" @@ -3894,29 +3931,29 @@ msgstr "" msgid "Previous Step" msgstr "" -#: company/api.py:144 +#: company/api.py:141 msgid "Part is Active" msgstr "" -#: company/api.py:148 +#: company/api.py:145 msgid "Manufacturer is Active" msgstr "" -#: company/api.py:281 +#: company/api.py:278 msgid "Supplier Part is Active" msgstr "" -#: company/api.py:285 +#: company/api.py:282 msgid "Internal Part is Active" msgstr "" -#: company/api.py:289 +#: company/api.py:286 msgid "Supplier is Active" msgstr "" -#: company/models.py:100 company/models.py:365 +#: company/models.py:100 company/models.py:371 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:822 +#: company/templates/company/company_base.html:12 stock/api.py:814 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "" @@ -3956,8 +3993,9 @@ msgstr "" msgid "Contact email address" msgstr "" -#: company/models.py:142 company/templates/company/company_base.html:145 -#: order/models.py:343 order/templates/order/order_base.html:203 +#: company/models.py:142 company/models.py:275 +#: company/templates/company/company_base.html:145 order/models.py:343 +#: order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 #: order/templates/order/sales_order_base.html:218 msgid "Contact" @@ -3976,7 +4014,7 @@ msgid "Is this company active?" msgstr "" #: company/models.py:168 -msgid "is customer" +msgid "Is customer" msgstr "" #: company/models.py:169 @@ -3984,7 +4022,7 @@ msgid "Do you sell items to this company?" msgstr "" #: company/models.py:174 -msgid "is supplier" +msgid "Is supplier" msgstr "" #: company/models.py:175 @@ -3992,7 +4030,7 @@ msgid "Do you purchase items from this company?" msgstr "" #: company/models.py:180 -msgid "is manufacturer" +msgid "Is manufacturer" msgstr "" #: company/models.py:181 @@ -4003,178 +4041,189 @@ msgstr "" msgid "Default currency used for this company" msgstr "" -#: company/models.py:366 +#: company/models.py:314 company/templates/company/company_base.html:124 +#: order/models.py:353 order/templates/order/order_base.html:210 +#: order/templates/order/return_order_base.html:181 +#: order/templates/order/sales_order_base.html:225 +msgid "Address" +msgstr "" + +#: company/models.py:315 company/templates/company/sidebar.html:35 +msgid "Addresses" +msgstr "" + +#: company/models.py:372 msgid "Select company" msgstr "" -#: company/models.py:371 +#: company/models.py:377 msgid "Address title" msgstr "" -#: company/models.py:372 +#: company/models.py:378 msgid "Title describing the address entry" msgstr "" -#: company/models.py:378 +#: company/models.py:384 msgid "Primary address" msgstr "" -#: company/models.py:379 +#: company/models.py:385 msgid "Set as primary address" msgstr "" -#: company/models.py:384 templates/js/translated/company.js:914 +#: company/models.py:390 templates/js/translated/company.js:914 #: templates/js/translated/company.js:971 msgid "Line 1" msgstr "" -#: company/models.py:385 +#: company/models.py:391 msgid "Address line 1" msgstr "" -#: company/models.py:391 templates/js/translated/company.js:915 +#: company/models.py:397 templates/js/translated/company.js:915 #: templates/js/translated/company.js:977 msgid "Line 2" msgstr "" -#: company/models.py:392 +#: company/models.py:398 msgid "Address line 2" msgstr "" -#: company/models.py:398 company/models.py:399 +#: company/models.py:404 company/models.py:405 #: templates/js/translated/company.js:983 msgid "Postal code" msgstr "" -#: company/models.py:405 +#: company/models.py:411 msgid "City/Region" msgstr "" -#: company/models.py:406 +#: company/models.py:412 msgid "Postal code city/region" msgstr "" -#: company/models.py:412 +#: company/models.py:418 msgid "State/Province" msgstr "" -#: company/models.py:413 +#: company/models.py:419 msgid "State or province" msgstr "" -#: company/models.py:419 templates/js/translated/company.js:1001 +#: company/models.py:425 templates/js/translated/company.js:1001 msgid "Country" msgstr "" -#: company/models.py:420 +#: company/models.py:426 msgid "Address country" msgstr "" -#: company/models.py:426 +#: company/models.py:432 msgid "Courier shipping notes" msgstr "" -#: company/models.py:427 +#: company/models.py:433 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:433 +#: company/models.py:439 msgid "Internal shipping notes" msgstr "" -#: company/models.py:434 +#: company/models.py:440 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:441 +#: company/models.py:447 msgid "Link to address information (external)" msgstr "" -#: company/models.py:463 company/models.py:574 company/models.py:792 +#: company/models.py:469 company/models.py:581 company/models.py:799 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:217 msgid "Manufacturer Part" msgstr "" -#: company/models.py:475 company/models.py:760 stock/models.py:767 -#: stock/serializers.py:422 stock/templates/stock/item_base.html:142 +#: company/models.py:481 company/models.py:767 stock/models.py:767 +#: stock/serializers.py:442 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" -#: company/models.py:477 company/models.py:762 +#: company/models.py:483 company/models.py:769 msgid "Select part" msgstr "" -#: company/models.py:486 company/templates/company/company_base.html:82 +#: company/models.py:492 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:525 +#: company/templates/company/supplier_part.html:145 part/serializers.py:543 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 #: templates/js/translated/company.js:1296 #: templates/js/translated/company.js:1611 -#: templates/js/translated/table_filters.js:800 +#: templates/js/translated/table_filters.js:805 msgid "Manufacturer" msgstr "" -#: company/models.py:487 +#: company/models.py:493 msgid "Select manufacturer" msgstr "" -#: company/models.py:493 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:535 -#: templates/js/translated/company.js:351 +#: company/models.py:499 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:153 order/serializers.py:518 +#: part/serializers.py:553 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:1801 +#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1804 #: templates/js/translated/purchase_order.js:1851 #: templates/js/translated/purchase_order.js:2053 msgid "MPN" msgstr "" -#: company/models.py:494 -msgid "Manufacturer Part Number" -msgstr "" - -#: company/models.py:501 +#: company/models.py:507 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:510 +#: company/models.py:516 msgid "Manufacturer part description" msgstr "" -#: company/models.py:581 +#: company/models.py:569 +msgid "Manufacturer Part Parameter" +msgstr "" + +#: company/models.py:588 msgid "Parameter name" msgstr "" -#: company/models.py:587 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2453 templates/js/translated/company.js:1166 -#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1493 +#: company/models.py:594 report/templates/report/inventree_test_report.html:104 +#: stock/models.py:2463 templates/js/translated/company.js:1166 +#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1496 #: templates/js/translated/stock.js:1522 msgid "Value" msgstr "" -#: company/models.py:588 +#: company/models.py:595 msgid "Parameter value" msgstr "" -#: company/models.py:595 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1045 part/models.py:3646 +#: company/models.py:602 company/templates/company/supplier_part.html:168 +#: part/admin.py:57 part/models.py:1049 part/models.py:3667 #: part/templates/part/part_base.html:284 -#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1512 -#: templates/js/translated/part.js:1616 templates/js/translated/part.js:2370 +#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1515 +#: templates/js/translated/part.js:1619 templates/js/translated/part.js:2373 msgid "Units" msgstr "" -#: company/models.py:596 +#: company/models.py:603 msgid "Parameter units" msgstr "" -#: company/models.py:648 company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 order/api.py:452 +#: company/models.py:655 company/templates/company/supplier_part.html:7 +#: company/templates/company/supplier_part.html:24 order/api.py:434 #: stock/models.py:778 stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 @@ -4182,91 +4231,91 @@ msgstr "" msgid "Supplier Part" msgstr "" -#: company/models.py:700 +#: company/models.py:707 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:707 +#: company/models.py:714 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:721 +#: company/models.py:728 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:770 company/templates/company/company_base.html:87 +#: company/models.py:777 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:509 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:527 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 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:511 -#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1769 +#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1772 #: templates/js/translated/pricing.js:498 #: templates/js/translated/purchase_order.js:1689 -#: templates/js/translated/table_filters.js:804 +#: templates/js/translated/table_filters.js:809 msgid "Supplier" msgstr "" -#: company/models.py:771 +#: company/models.py:778 msgid "Select supplier" msgstr "" -#: company/models.py:777 part/serializers.py:520 +#: company/models.py:784 part/serializers.py:538 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:783 +#: company/models.py:790 msgid "Is this supplier part active?" msgstr "" -#: company/models.py:793 +#: company/models.py:800 msgid "Select manufacturer part" msgstr "" -#: company/models.py:800 +#: company/models.py:807 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:809 +#: company/models.py:816 msgid "Supplier part description" msgstr "" -#: company/models.py:816 company/templates/company/supplier_part.html:187 -#: part/admin.py:412 part/models.py:4093 part/templates/part/upload_bom.html:59 +#: company/models.py:823 company/templates/company/supplier_part.html:187 +#: part/admin.py:412 part/models.py:4178 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: 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:710 +#: stock/serializers.py:768 msgid "Note" msgstr "" -#: company/models.py:825 part/models.py:2003 +#: company/models.py:832 part/models.py:2013 msgid "base cost" msgstr "" -#: company/models.py:826 part/models.py:2004 +#: company/models.py:833 part/models.py:2014 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:833 company/templates/company/supplier_part.html:160 -#: stock/admin.py:228 stock/models.py:798 stock/serializers.py:1475 +#: company/models.py:840 company/templates/company/supplier_part.html:160 +#: stock/admin.py:228 stock/models.py:798 stock/serializers.py:1541 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 msgid "Packaging" msgstr "" -#: company/models.py:834 +#: company/models.py:841 msgid "Part packaging" msgstr "" -#: company/models.py:839 templates/js/translated/company.js:1651 -#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 +#: company/models.py:846 templates/js/translated/company.js:1651 +#: templates/js/translated/part.js:1825 templates/js/translated/part.js:1881 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 #: templates/js/translated/purchase_order.js:1103 @@ -4275,35 +4324,43 @@ msgstr "" msgid "Pack Quantity" msgstr "" -#: company/models.py:841 +#: company/models.py:848 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:860 part/models.py:2010 +#: company/models.py:867 part/models.py:2020 msgid "multiple" msgstr "" -#: company/models.py:861 +#: company/models.py:868 msgid "Order multiple" msgstr "" -#: company/models.py:873 +#: company/models.py:880 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:879 +#: company/models.py:886 msgid "Availability Updated" msgstr "" -#: company/models.py:880 +#: company/models.py:887 msgid "Date of last update of availability data" msgstr "" -#: company/serializers.py:161 +#: company/models.py:1015 +msgid "Supplier Price Break" +msgstr "" + +#: company/serializers.py:174 msgid "Default currency used for this supplier" msgstr "" -#: company/serializers.py:357 part/admin.py:126 +#: company/serializers.py:210 +msgid "Company Name" +msgstr "" + +#: company/serializers.py:384 part/admin.py:126 part/serializers.py:855 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:355 @@ -4315,7 +4372,7 @@ msgstr "" #: templates/js/translated/company.js:1287 #: templates/js/translated/company.js:1575 #: templates/js/translated/model_renderers.js:312 -#: templates/js/translated/part.js:815 templates/js/translated/part.js:1219 +#: templates/js/translated/part.js:814 templates/js/translated/part.js:1222 msgid "Inactive" msgstr "" @@ -4374,16 +4431,16 @@ msgid "Delete image" msgstr "" #: company/templates/company/company_base.html:92 order/models.py:938 -#: order/models.py:2032 order/templates/order/return_order_base.html:131 +#: order/models.py:2058 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:148 stock/models.py:820 -#: stock/models.py:821 stock/serializers.py:1225 +#: stock/models.py:821 stock/serializers.py:1291 #: 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:295 #: templates/js/translated/sales_order.js:820 #: templates/js/translated/stock.js:2959 -#: templates/js/translated/table_filters.js:808 +#: templates/js/translated/table_filters.js:813 msgid "Customer" msgstr "" @@ -4391,13 +4448,6 @@ msgstr "" msgid "Uses default currency" msgstr "" -#: company/templates/company/company_base.html:124 order/models.py:353 -#: order/templates/order/order_base.html:210 -#: order/templates/order/return_order_base.html:181 -#: order/templates/order/sales_order_base.html:225 -msgid "Address" -msgstr "" - #: company/templates/company/company_base.html:131 msgid "Phone" msgstr "" @@ -4577,7 +4627,8 @@ msgid "Delete manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:65 -#: company/templates/company/supplier_part.html:97 order/api.py:458 +#: company/templates/company/supplier_part.html:97 order/api.py:440 +#: order/serializers.py:526 msgid "Internal Part" msgstr "" @@ -4587,7 +4638,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:832 +#: part/admin.py:122 part/serializers.py:860 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4608,7 +4659,7 @@ msgid "New Parameter" msgstr "" #: company/templates/company/manufacturer_part.html:196 -#: templates/js/translated/part.js:1423 +#: templates/js/translated/part.js:1426 msgid "Add Parameter" msgstr "" @@ -4632,10 +4683,6 @@ msgstr "" msgid "Contacts" msgstr "" -#: company/templates/company/sidebar.html:35 -msgid "Addresses" -msgstr "" - #: company/templates/company/supplier_part.html:50 #: templates/js/translated/company.js:1526 msgid "Supplier part actions" @@ -4648,127 +4695,283 @@ msgstr "" msgid "Order Part" msgstr "" -#: company/templates/company/supplier_part.html:60 -#: company/templates/company/supplier_part.html:61 -msgid "Update Availability" +#: company/templates/company/supplier_part.html:60 +#: company/templates/company/supplier_part.html:61 +msgid "Update Availability" +msgstr "" + +#: company/templates/company/supplier_part.html:63 +#: company/templates/company/supplier_part.html:64 +#: templates/js/translated/company.js:294 +msgid "Edit Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:68 +#: company/templates/company/supplier_part.html:69 +#: templates/js/translated/company.js:269 +msgid "Duplicate Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:73 +msgid "Delete Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:74 +msgid "Delete Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:133 +msgid "No supplier information available" +msgstr "" + +#: company/templates/company/supplier_part.html:139 order/serializers.py:515 +#: part/bom.py:279 part/bom.py:311 part/serializers.py:537 +#: templates/js/translated/company.js:349 templates/js/translated/part.js:1790 +#: templates/js/translated/pricing.js:510 +#: templates/js/translated/purchase_order.js:1850 +#: templates/js/translated/purchase_order.js:2028 +msgid "SKU" +msgstr "" + +#: company/templates/company/supplier_part.html:206 +msgid "Supplier Part Stock" +msgstr "" + +#: company/templates/company/supplier_part.html:209 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:207 +msgid "Create new stock item" +msgstr "" + +#: company/templates/company/supplier_part.html:210 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:208 +#: templates/js/translated/stock.js:537 +msgid "New Stock Item" +msgstr "" + +#: company/templates/company/supplier_part.html:223 +msgid "Supplier Part Orders" +msgstr "" + +#: company/templates/company/supplier_part.html:246 +msgid "Pricing Information" +msgstr "" + +#: company/templates/company/supplier_part.html:251 +#: templates/js/translated/company.js:398 +#: templates/js/translated/pricing.js:684 +msgid "Add Price Break" +msgstr "" + +#: company/templates/company/supplier_part.html:276 +msgid "Supplier Part QR Code" +msgstr "" + +#: company/templates/company/supplier_part.html:287 +msgid "Link Barcode to Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:359 +msgid "Update Part Availability" +msgstr "" + +#: company/templates/company/supplier_part_sidebar.html:5 +#: part/serializers.py:859 part/stocktake.py:224 +#: part/templates/part/category.html:183 +#: part/templates/part/category_sidebar.html:17 stock/admin.py:68 +#: stock/serializers.py:976 stock/serializers.py:1154 +#: stock/templates/stock/location.html:170 +#: 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:1064 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 +#: users/models.py:206 +msgid "Stock Items" +msgstr "" + +#: company/templates/company/supplier_part_sidebar.html:9 +msgid "Supplier Part Pricing" +msgstr "" + +#: company/views.py:32 +msgid "New Supplier" +msgstr "" + +#: company/views.py:38 +msgid "New Manufacturer" +msgstr "" + +#: company/views.py:43 templates/InvenTree/search.html:210 +#: templates/navbar.html:60 +msgid "Customers" +msgstr "" + +#: company/views.py:44 +msgid "New Customer" +msgstr "" + +#: company/views.py:52 +msgid "New Company" +msgstr "" + +#: generic/states/tests.py:18 order/status_codes.py:13 +msgid "Placed" +msgstr "" + +#: importer/mixins.py:263 +msgid "Invalid export format" +msgstr "" + +#: importer/models.py:56 +msgid "Timestamp" +msgstr "" + +#: importer/models.py:61 +msgid "Data file to import" +msgstr "" + +#: importer/models.py:70 templates/js/translated/tables.js:558 +msgid "Columns" +msgstr "" + +#: importer/models.py:81 +msgid "Import status" +msgstr "" + +#: importer/models.py:91 +msgid "Field Defaults" +msgstr "" + +#: importer/models.py:201 +msgid "Some required fields have not been mapped" +msgstr "" + +#: importer/models.py:346 +msgid "Column is already mapped to a database field" +msgstr "" + +#: importer/models.py:351 +msgid "Field is already mapped to a data column" +msgstr "" + +#: importer/models.py:360 +msgid "Column mapping must be linked to a valid import session" +msgstr "" + +#: importer/models.py:365 +msgid "Column does not exist in the data file" +msgstr "" + +#: importer/models.py:372 +msgid "Field does not exist in the target model" +msgstr "" + +#: importer/models.py:376 +msgid "Selected field is read-only" +msgstr "" + +#: importer/models.py:381 importer/models.py:452 +msgid "Import Session" +msgstr "" + +#: importer/models.py:385 +msgid "Field" msgstr "" -#: company/templates/company/supplier_part.html:63 -#: company/templates/company/supplier_part.html:64 -#: templates/js/translated/company.js:294 -msgid "Edit Supplier Part" +#: importer/models.py:387 +msgid "Column" msgstr "" -#: company/templates/company/supplier_part.html:68 -#: company/templates/company/supplier_part.html:69 -#: templates/js/translated/company.js:269 -msgid "Duplicate Supplier Part" +#: importer/models.py:456 +msgid "Row Index" msgstr "" -#: company/templates/company/supplier_part.html:73 -msgid "Delete Supplier Part" +#: importer/models.py:459 +msgid "Original row data" msgstr "" -#: company/templates/company/supplier_part.html:74 -msgid "Delete Supplier Part" +#: importer/models.py:462 part/models.py:3841 +msgid "Data" msgstr "" -#: company/templates/company/supplier_part.html:133 -msgid "No supplier information available" +#: importer/models.py:464 machine/models.py:110 +msgid "Errors" msgstr "" -#: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:519 -#: templates/js/translated/company.js:349 templates/js/translated/part.js:1787 -#: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1850 -#: templates/js/translated/purchase_order.js:2028 -msgid "SKU" +#: importer/models.py:466 part/api.py:874 +msgid "Valid" msgstr "" -#: company/templates/company/supplier_part.html:206 -msgid "Supplier Part Stock" +#: importer/operations.py:28 importer/operations.py:49 +msgid "Unsupported data file format" msgstr "" -#: company/templates/company/supplier_part.html:209 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:207 -msgid "Create new stock item" +#: importer/operations.py:40 +msgid "Failed to open data file" msgstr "" -#: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:208 -#: templates/js/translated/stock.js:537 -msgid "New Stock Item" +#: importer/operations.py:51 +msgid "Invalid data file dimensions" msgstr "" -#: company/templates/company/supplier_part.html:223 -msgid "Supplier Part Orders" +#: importer/serializers.py:135 +msgid "Rows" msgstr "" -#: company/templates/company/supplier_part.html:246 -msgid "Pricing Information" +#: importer/serializers.py:136 +msgid "List of row IDs to accept" msgstr "" -#: company/templates/company/supplier_part.html:251 -#: templates/js/translated/company.js:398 -#: templates/js/translated/pricing.js:684 -msgid "Add Price Break" +#: importer/serializers.py:149 +msgid "No rows provided" msgstr "" -#: company/templates/company/supplier_part.html:276 -msgid "Supplier Part QR Code" +#: importer/serializers.py:153 +msgid "Row does not belong to this session" msgstr "" -#: company/templates/company/supplier_part.html:287 -msgid "Link Barcode to Supplier Part" +#: importer/serializers.py:156 +msgid "Row contains invalid data" msgstr "" -#: company/templates/company/supplier_part.html:359 -msgid "Update Part Availability" +#: importer/serializers.py:159 +msgid "Row has already been completed" msgstr "" -#: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:831 part/stocktake.py:224 -#: part/templates/part/category.html:183 -#: part/templates/part/category_sidebar.html:17 stock/admin.py:68 -#: stock/serializers.py:918 stock/serializers.py:1091 -#: stock/templates/stock/location.html:170 -#: 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:1061 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 -#: users/models.py:206 -msgid "Stock Items" +#: importer/status_codes.py:11 +msgid "Initializing" msgstr "" -#: company/templates/company/supplier_part_sidebar.html:9 -msgid "Supplier Part Pricing" +#: importer/status_codes.py:12 +msgid "Mapping Columns" msgstr "" -#: company/views.py:32 -msgid "New Supplier" +#: importer/status_codes.py:13 +msgid "Importing Data" msgstr "" -#: company/views.py:38 -msgid "New Manufacturer" +#: importer/status_codes.py:16 +msgid "Processing Data" msgstr "" -#: company/views.py:43 templates/InvenTree/search.html:210 -#: templates/navbar.html:60 -msgid "Customers" +#: importer/validators.py:21 +msgid "Data file exceeds maximum size limit" msgstr "" -#: company/views.py:44 -msgid "New Customer" +#: importer/validators.py:26 +msgid "Data file contains no headers" msgstr "" -#: company/views.py:52 -msgid "New Company" +#: importer/validators.py:29 +msgid "Data file contains too many columns" msgstr "" -#: generic/states/tests.py:18 order/status_codes.py:13 -msgid "Placed" +#: importer/validators.py:32 +msgid "Data file contains too many rows" +msgstr "" + +#: importer/validators.py:49 +msgid "Value must be a valid dictionary object" msgstr "" #: machine/machine_types/label_printer.py:212 @@ -4783,7 +4986,7 @@ msgstr "" msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:229 order/api.py:1467 +#: machine/machine_types/label_printer.py:229 order/api.py:1388 #: templates/js/translated/sales_order.js:1078 msgid "Unknown" msgstr "" @@ -4852,10 +5055,6 @@ msgstr "" msgid "Initialized" msgstr "" -#: machine/models.py:110 -msgid "Errors" -msgstr "" - #: machine/models.py:117 msgid "Machine status" msgstr "" @@ -4881,44 +5080,44 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:157 order/serializers.py:90 +#: order/api.py:149 order/serializers.py:94 #: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:113 #: order/templates/order/sales_order_base.html:122 msgid "Order Status" msgstr "" -#: order/api.py:161 templates/js/translated/table_filters.js:194 -#: templates/js/translated/table_filters.js:779 +#: order/api.py:153 templates/js/translated/table_filters.js:194 +#: templates/js/translated/table_filters.js:784 msgid "Has Pricing" msgstr "" -#: order/api.py:236 +#: order/api.py:228 msgid "No matching purchase order found" msgstr "" -#: order/api.py:435 order/api.py:801 order/models.py:1395 order/models.py:1504 -#: order/models.py:1550 order/models.py:1664 order/models.py:1818 -#: order/models.py:2231 order/models.py:2282 +#: order/api.py:417 order/api.py:755 order/models.py:1400 order/models.py:1514 +#: order/models.py:1565 order/models.py:1680 order/models.py:1839 +#: order/models.py:2258 order/models.py:2314 #: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "" -#: order/api.py:439 order/api.py:822 +#: order/api.py:421 order/api.py:776 msgid "Order Complete" msgstr "" -#: order/api.py:462 +#: order/api.py:444 msgid "Order Pending" msgstr "" -#: order/api.py:1461 order/models.py:380 order/models.py:1396 -#: order/models.py:1505 order/templates/order/order_base.html:9 +#: order/api.py:1382 order/models.py:380 order/models.py:1401 +#: order/models.py:1515 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 -#: stock/serializers.py:118 stock/templates/stock/item_base.html:176 +#: stock/serializers.py:120 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/part.js:1746 templates/js/translated/pricing.js:804 +#: templates/js/translated/part.js:1749 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:1673 @@ -4926,8 +5125,8 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1465 order/models.py:1981 order/models.py:2232 -#: order/models.py:2283 order/templates/order/return_order_base.html:9 +#: order/api.py:1386 order/models.py:2007 order/models.py:2259 +#: order/models.py:2315 order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report.html:13 #: templates/js/translated/return_order.js:280 @@ -4939,11 +5138,11 @@ msgstr "" msgid "Total price for this order" msgstr "" -#: order/models.py:96 order/serializers.py:70 +#: order/models.py:96 order/serializers.py:72 msgid "Order Currency" msgstr "" -#: order/models.py:99 order/serializers.py:71 +#: order/models.py:99 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" @@ -4959,7 +5158,7 @@ msgstr "" msgid "Select project code for this order" msgstr "" -#: order/models.py:303 order/models.py:1301 order/models.py:1717 +#: order/models.py:303 order/models.py:1301 order/models.py:1733 msgid "Link to external page" msgstr "" @@ -5008,15 +5207,15 @@ msgstr "" msgid "received by" msgstr "" -#: order/models.py:514 order/models.py:2058 +#: order/models.py:514 order/models.py:2084 msgid "Issue Date" msgstr "" -#: order/models.py:515 order/models.py:2059 +#: order/models.py:515 order/models.py:2085 msgid "Date order was issued" msgstr "" -#: order/models.py:522 order/models.py:2066 +#: order/models.py:522 order/models.py:2092 msgid "Date order was completed" msgstr "" @@ -5032,15 +5231,15 @@ msgstr "" msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:962 order/models.py:2051 +#: order/models.py:962 order/models.py:2077 msgid "Customer Reference " msgstr "" -#: order/models.py:963 order/models.py:2052 +#: order/models.py:963 order/models.py:2078 msgid "Customer order reference code" msgstr "" -#: order/models.py:967 order/models.py:1671 +#: order/models.py:967 order/models.py:1687 #: templates/js/translated/sales_order.js:879 #: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" @@ -5102,20 +5301,24 @@ msgstr "" msgid "Unit price" msgstr "" -#: order/models.py:1380 +#: order/models.py:1361 +msgid "Purchase Order Line Item" +msgstr "" + +#: order/models.py:1385 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1387 +#: order/models.py:1392 msgid "deleted" msgstr "" -#: order/models.py:1415 +#: order/models.py:1420 msgid "Supplier part" msgstr "" -#: order/models.py:1422 order/templates/order/order_base.html:196 -#: templates/js/translated/part.js:1870 templates/js/translated/part.js:1902 +#: order/models.py:1427 order/templates/order/order_base.html:196 +#: templates/js/translated/part.js:1873 templates/js/translated/part.js:1905 #: templates/js/translated/purchase_order.js:1306 #: templates/js/translated/purchase_order.js:2169 #: templates/js/translated/return_order.js:763 @@ -5124,196 +5327,224 @@ msgstr "" msgid "Received" msgstr "" -#: order/models.py:1423 +#: order/models.py:1428 msgid "Number of items received" msgstr "" -#: order/models.py:1431 stock/models.py:939 stock/serializers.py:556 +#: order/models.py:1436 stock/models.py:939 stock/serializers.py:602 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2311 msgid "Purchase Price" msgstr "" -#: order/models.py:1432 +#: order/models.py:1437 msgid "Unit purchase price" msgstr "" -#: order/models.py:1447 +#: order/models.py:1452 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1538 +#: order/models.py:1503 +msgid "Purchase Order Extra Line" +msgstr "" + +#: order/models.py:1532 +msgid "Sales Order Line Item" +msgstr "" + +#: order/models.py:1553 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1543 +#: order/models.py:1558 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1569 part/templates/part/part_pricing.html:107 +#: order/models.py:1584 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:1570 +#: order/models.py:1585 msgid "Unit sale price" msgstr "" -#: order/models.py:1579 order/status_codes.py:43 +#: order/models.py:1594 order/status_codes.py:43 #: templates/js/translated/sales_order.js:1559 #: templates/js/translated/sales_order.js:1680 #: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "" -#: order/models.py:1580 +#: order/models.py:1595 msgid "Shipped quantity" msgstr "" -#: order/models.py:1672 +#: order/models.py:1667 +msgid "Sales Order Shipment" +msgstr "" + +#: order/models.py:1688 msgid "Date of shipment" msgstr "" -#: order/models.py:1678 templates/js/translated/sales_order.js:1072 +#: order/models.py:1694 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "" -#: order/models.py:1679 +#: order/models.py:1695 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1687 +#: order/models.py:1703 msgid "Checked By" msgstr "" -#: order/models.py:1688 +#: order/models.py:1704 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1695 order/models.py:1908 order/serializers.py:1342 -#: order/serializers.py:1452 templates/js/translated/model_renderers.js:454 +#: order/models.py:1711 order/models.py:1934 order/serializers.py:1398 +#: order/serializers.py:1508 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "" -#: order/models.py:1696 +#: order/models.py:1712 msgid "Shipment number" msgstr "" -#: order/models.py:1704 +#: order/models.py:1720 msgid "Tracking Number" msgstr "" -#: order/models.py:1705 +#: order/models.py:1721 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1712 +#: order/models.py:1728 msgid "Invoice Number" msgstr "" -#: order/models.py:1713 +#: order/models.py:1729 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1733 +#: order/models.py:1749 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1736 +#: order/models.py:1752 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1854 order/models.py:1856 +#: order/models.py:1828 +msgid "Sales Order Extra Line" +msgstr "" + +#: order/models.py:1857 +msgid "Sales Order Allocation" +msgstr "" + +#: order/models.py:1880 order/models.py:1882 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1863 +#: order/models.py:1889 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1866 +#: order/models.py:1892 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1869 +#: order/models.py:1895 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1888 order/serializers.py:1219 +#: order/models.py:1914 order/serializers.py:1275 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1891 +#: order/models.py:1917 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1892 plugin/base/barcodes/api.py:481 +#: order/models.py:1918 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1900 +#: order/models.py:1926 msgid "Line" msgstr "" -#: order/models.py:1909 +#: order/models.py:1935 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1922 order/models.py:2239 +#: order/models.py:1948 order/models.py:2266 #: templates/js/translated/return_order.js:721 msgid "Item" msgstr "" -#: order/models.py:1923 +#: order/models.py:1949 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1932 +#: order/models.py:1958 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2021 +#: order/models.py:2047 msgid "Return Order reference" msgstr "" -#: order/models.py:2033 +#: order/models.py:2059 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2045 +#: order/models.py:2071 msgid "Return order status" msgstr "" -#: order/models.py:2224 +#: order/models.py:2237 +msgid "Return Order Line Item" +msgstr "" + +#: order/models.py:2251 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2240 +#: order/models.py:2267 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2246 +#: order/models.py:2273 msgid "Received Date" msgstr "" -#: order/models.py:2247 +#: order/models.py:2274 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2258 templates/js/translated/return_order.js:732 +#: order/models.py:2285 templates/js/translated/return_order.js:732 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2259 +#: order/models.py:2286 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2266 +#: order/models.py:2293 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:79 order/templates/order/po_sidebar.html:5 +#: order/models.py:2303 +msgid "Return Order Extra Line" +msgstr "" + +#: order/serializers.py:83 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_purchase_order_report.html:22 @@ -5322,163 +5553,171 @@ msgstr "" msgid "Line Items" msgstr "" -#: order/serializers.py:83 +#: order/serializers.py:87 msgid "Completed Lines" msgstr "" -#: order/serializers.py:286 +#: order/serializers.py:305 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:301 order/serializers.py:1235 +#: order/serializers.py:320 order/serializers.py:1291 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:311 order/serializers.py:1245 +#: order/serializers.py:330 order/serializers.py:1301 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:439 +#: order/serializers.py:468 msgid "Order is not open" msgstr "" -#: order/serializers.py:460 +#: order/serializers.py:489 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:462 +#: order/serializers.py:491 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:472 +#: order/serializers.py:501 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:478 +#: order/serializers.py:507 msgid "Merge Items" msgstr "" -#: order/serializers.py:480 +#: order/serializers.py:509 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:498 +#: order/serializers.py:522 part/models.py:945 +msgid "Internal Part Number" +msgstr "" + +#: order/serializers.py:530 +msgid "Internal Part Name" +msgstr "" + +#: order/serializers.py:546 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:501 +#: order/serializers.py:549 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:509 +#: order/serializers.py:557 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:510 +#: order/serializers.py:558 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:549 order/serializers.py:1313 +#: order/serializers.py:598 order/serializers.py:1369 msgid "Line Item" msgstr "" -#: order/serializers.py:555 +#: order/serializers.py:604 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:565 order/serializers.py:673 order/serializers.py:1657 +#: order/serializers.py:614 order/serializers.py:722 order/serializers.py:1715 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:581 templates/js/translated/purchase_order.js:1130 +#: order/serializers.py:630 templates/js/translated/purchase_order.js:1130 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:589 templates/js/translated/purchase_order.js:1154 +#: order/serializers.py:638 templates/js/translated/purchase_order.js:1154 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:600 templates/js/translated/barcode.js:52 +#: order/serializers.py:649 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:601 +#: order/serializers.py:650 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:617 +#: order/serializers.py:666 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:641 +#: order/serializers.py:690 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:689 order/serializers.py:1673 +#: order/serializers.py:738 order/serializers.py:1731 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:705 +#: order/serializers.py:754 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:716 +#: order/serializers.py:765 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1062 +#: order/serializers.py:1117 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1122 +#: order/serializers.py:1178 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1183 order/serializers.py:1322 +#: order/serializers.py:1239 order/serializers.py:1378 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1202 +#: order/serializers.py:1258 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1332 +#: order/serializers.py:1388 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1354 order/serializers.py:1460 +#: order/serializers.py:1410 order/serializers.py:1516 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1357 order/serializers.py:1463 +#: order/serializers.py:1413 order/serializers.py:1519 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1404 +#: order/serializers.py:1460 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1411 +#: order/serializers.py:1467 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1627 +#: order/serializers.py:1685 msgid "Return order line item" msgstr "" -#: order/serializers.py:1633 +#: order/serializers.py:1691 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1636 +#: order/serializers.py:1694 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1665 +#: order/serializers.py:1723 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1743 +#: order/serializers.py:1806 msgid "Line price currency" msgstr "" @@ -5808,7 +6047,7 @@ msgstr "" #: 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:1073 +#: templates/js/translated/part.js:1076 #: templates/js/translated/purchase_order.js:1752 #: templates/js/translated/return_order.js:380 #: templates/js/translated/sales_order.js:891 @@ -5904,34 +6143,29 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:398 part/models.py:3944 part/stocktake.py:219 +#: part/admin.py:39 part/admin.py:398 part/models.py:3991 part/stocktake.py:219 #: stock/admin.py:152 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:405 part/models.py:3945 part/stocktake.py:220 -#: stock/admin.py:156 -msgid "Part Name" -msgstr "" - #: part/admin.py:45 part/stocktake.py:221 msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:940 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:944 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 -#: templates/js/translated/part.js:1227 templates/js/translated/part.js:2341 +#: templates/js/translated/part.js:1230 templates/js/translated/part.js:2344 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:949 part/templates/part/part_base.html:277 -#: report/models.py:162 templates/js/translated/part.js:1232 -#: templates/js/translated/part.js:2347 +#: part/admin.py:50 part/models.py:953 part/templates/part/part_base.html:277 +#: report/models.py:162 templates/js/translated/part.js:1235 +#: templates/js/translated/part.js:2350 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:319 part/models.py:922 +#: part/admin.py:53 part/admin.py:319 part/models.py:926 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5944,7 +6178,8 @@ msgstr "" msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:304 part/stocktake.py:223 +#: part/admin.py:67 part/admin.py:304 part/serializers.py:837 +#: part/stocktake.py:223 msgid "Category Name" msgstr "" @@ -5956,11 +6191,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:908 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:912 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1036 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1040 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5968,18 +6203,19 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:150 part/templates/part/part_base.html:241 stock/admin.py:235 -#: templates/js/translated/part.js:715 templates/js/translated/part.js:2153 +#: part/admin.py:150 part/serializers.py:854 +#: part/templates/part/part_base.html:241 stock/admin.py:235 +#: templates/js/translated/part.js:714 templates/js/translated/part.js:2156 msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3088 part/models.py:3102 -#: templates/js/translated/part.js:970 +#: part/admin.py:155 part/models.py:3098 part/models.py:3112 +#: templates/js/translated/part.js:973 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3095 part/models.py:3109 -#: templates/js/translated/part.js:980 +#: part/admin.py:158 part/models.py:3105 part/models.py:3119 +#: templates/js/translated/part.js:983 msgid "Maximum Cost" msgstr "" @@ -5996,14 +6232,14 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:396 part/serializers.py:124 -#: part/serializers.py:267 part/serializers.py:386 +#: part/admin.py:325 part/models.py:397 part/serializers.py:130 +#: part/serializers.py:282 part/serializers.py:404 #: 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:2807 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:203 msgid "Parts" msgstr "" @@ -6020,125 +6256,117 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:402 part/models.py:3946 -msgid "Part IPN" -msgstr "" - -#: part/admin.py:415 part/serializers.py:1274 +#: part/admin.py:415 part/serializers.py:1302 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:420 part/serializers.py:1289 +#: part/admin.py:420 part/serializers.py:1317 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "" -#: part/api.py:104 +#: part/api.py:105 msgid "Starred" msgstr "" -#: part/api.py:106 +#: part/api.py:107 msgid "Filter by starred categories" msgstr "" -#: part/api.py:123 stock/api.py:312 +#: part/api.py:124 stock/api.py:312 msgid "Depth" msgstr "" -#: part/api.py:123 +#: part/api.py:124 msgid "Filter by category depth" msgstr "" -#: part/api.py:141 stock/api.py:330 +#: part/api.py:142 stock/api.py:330 msgid "Top Level" msgstr "" -#: part/api.py:143 +#: part/api.py:144 msgid "Filter by top-level categories" msgstr "" -#: part/api.py:156 stock/api.py:345 +#: part/api.py:157 stock/api.py:345 msgid "Cascade" msgstr "" -#: part/api.py:158 +#: part/api.py:159 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:179 templates/js/translated/part.js:308 +#: part/api.py:180 templates/js/translated/part.js:307 msgid "Parent" msgstr "" -#: part/api.py:181 +#: part/api.py:182 msgid "Filter by parent category" msgstr "" -#: part/api.py:214 +#: part/api.py:215 msgid "Exclude Tree" msgstr "" -#: part/api.py:216 +#: part/api.py:217 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:449 +#: part/api.py:442 msgid "Has Results" msgstr "" -#: part/api.py:616 +#: part/api.py:609 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:634 +#: part/api.py:627 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:650 +#: part/api.py:643 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:734 +#: part/api.py:727 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:881 -msgid "Valid" -msgstr "" - -#: part/api.py:882 +#: part/api.py:875 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:888 +#: part/api.py:881 msgid "This option must be selected" msgstr "" -#: part/api.py:1105 +#: part/api.py:1098 msgid "BOM Valid" msgstr "" -#: part/api.py:1508 part/models.py:932 part/models.py:3374 part/models.py:3889 -#: part/serializers.py:401 part/serializers.py:1130 -#: part/templates/part/part_base.html:260 stock/api.py:791 +#: part/api.py:1494 part/models.py:936 part/models.py:3385 part/models.py:3936 +#: part/serializers.py:419 part/serializers.py:1158 +#: part/templates/part/part_base.html:260 stock/api.py:783 #: 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:2380 msgid "Category" msgstr "" -#: part/api.py:1796 +#: part/api.py:1784 msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:104 part/models.py:975 +#: part/bom.py:170 part/models.py:104 part/models.py:979 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:833 +#: part/bom.py:171 part/serializers.py:861 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6147,7 +6375,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:85 part/models.py:3890 part/templates/part/category.html:16 +#: part/models.py:85 part/models.py:3937 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -6162,7 +6390,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:110 stock/models.py:175 templates/js/translated/part.js:2810 +#: part/models.py:110 stock/models.py:175 templates/js/translated/part.js:2813 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 @@ -6194,1002 +6422,1035 @@ msgstr "" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:485 +#: part/models.py:486 +msgid "Cannot delete this part as it is locked" +msgstr "" + +#: part/models.py:489 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:490 +#: part/models.py:494 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:528 +#: part/models.py:532 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:576 part/models.py:583 +#: part/models.py:580 part/models.py:587 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:595 +#: part/models.py:599 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:658 +#: part/models.py:662 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:736 +#: part/models.py:740 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:837 +#: part/models.py:841 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:847 +#: part/models.py:851 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:862 +#: part/models.py:866 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:891 part/models.py:3945 +#: part/models.py:895 part/models.py:3992 msgid "Part name" msgstr "" -#: part/models.py:896 +#: part/models.py:900 msgid "Is Template" msgstr "" -#: part/models.py:897 +#: part/models.py:901 msgid "Is this part a template part?" msgstr "" -#: part/models.py:907 +#: part/models.py:911 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:915 +#: part/models.py:919 msgid "Part description (optional)" msgstr "" -#: part/models.py:923 +#: part/models.py:927 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:933 +#: part/models.py:937 msgid "Part category" msgstr "" -#: part/models.py:941 -msgid "Internal Part Number" -msgstr "" - -#: part/models.py:948 +#: part/models.py:952 msgid "Part revision or version number" msgstr "" -#: part/models.py:973 +#: part/models.py:977 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1019 part/templates/part/part_base.html:376 +#: part/models.py:1023 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:1020 +#: part/models.py:1024 msgid "Default supplier part" msgstr "" -#: part/models.py:1027 +#: part/models.py:1031 msgid "Default Expiry" msgstr "" -#: part/models.py:1028 +#: part/models.py:1032 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1037 +#: part/models.py:1041 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1046 +#: part/models.py:1050 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1053 +#: part/models.py:1057 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1059 +#: part/models.py:1063 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1065 +#: part/models.py:1069 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1071 +#: part/models.py:1075 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1077 +#: part/models.py:1081 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1081 +#: part/models.py:1085 msgid "Is this part active?" msgstr "" -#: part/models.py:1087 +#: part/models.py:1090 templates/js/translated/part.js:818 +#: templates/js/translated/table_filters.js:721 +msgid "Locked" +msgstr "" + +#: part/models.py:1091 +msgid "Locked parts cannot be edited" +msgstr "" + +#: part/models.py:1097 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1093 +#: part/models.py:1103 msgid "BOM checksum" msgstr "" -#: part/models.py:1094 +#: part/models.py:1104 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1102 +#: part/models.py:1112 msgid "BOM checked by" msgstr "" -#: part/models.py:1107 +#: part/models.py:1117 msgid "BOM checked date" msgstr "" -#: part/models.py:1123 +#: part/models.py:1133 msgid "Creation User" msgstr "" -#: part/models.py:1133 +#: part/models.py:1143 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1138 part/templates/part/part_base.html:339 +#: part/models.py:1148 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:2474 msgid "Last Stocktake" msgstr "" -#: part/models.py:2011 +#: part/models.py:2021 msgid "Sell multiple" msgstr "" -#: part/models.py:3002 +#: part/models.py:3012 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3018 +#: part/models.py:3028 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3019 +#: part/models.py:3029 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3025 +#: part/models.py:3035 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3026 +#: part/models.py:3036 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3032 +#: part/models.py:3042 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3033 +#: part/models.py:3043 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3039 +#: part/models.py:3049 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3040 +#: part/models.py:3050 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3046 +#: part/models.py:3056 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3047 +#: part/models.py:3057 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3053 +#: part/models.py:3063 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3054 +#: part/models.py:3064 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3060 +#: part/models.py:3070 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3061 +#: part/models.py:3071 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3067 +#: part/models.py:3077 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3068 +#: part/models.py:3078 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3074 +#: part/models.py:3084 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3075 +#: part/models.py:3085 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3081 +#: part/models.py:3091 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3082 +#: part/models.py:3092 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3089 +#: part/models.py:3099 msgid "Override minimum cost" msgstr "" -#: part/models.py:3096 +#: part/models.py:3106 msgid "Override maximum cost" msgstr "" -#: part/models.py:3103 +#: part/models.py:3113 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3110 +#: part/models.py:3120 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3116 +#: part/models.py:3126 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3117 +#: part/models.py:3127 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3123 +#: part/models.py:3133 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3124 +#: part/models.py:3134 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3130 +#: part/models.py:3140 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3131 +#: part/models.py:3141 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3137 +#: part/models.py:3147 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3138 +#: part/models.py:3148 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3157 +#: part/models.py:3167 msgid "Part for stocktake" msgstr "" -#: part/models.py:3162 +#: part/models.py:3172 msgid "Item Count" msgstr "" -#: part/models.py:3163 +#: part/models.py:3173 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3171 +#: part/models.py:3181 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3175 part/models.py:3258 +#: part/models.py:3185 part/models.py:3268 #: part/templates/part/part_scheduling.html:13 #: 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:1086 templates/js/translated/pricing.js:826 +#: templates/js/translated/part.js:1089 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 #: templates/js/translated/purchase_order.js:1731 #: templates/js/translated/stock.js:2821 msgid "Date" msgstr "" -#: part/models.py:3176 +#: part/models.py:3186 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3184 +#: part/models.py:3194 msgid "Additional notes" msgstr "" -#: part/models.py:3194 +#: part/models.py:3204 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3200 +#: part/models.py:3210 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3201 +#: part/models.py:3211 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3207 +#: part/models.py:3217 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3208 +#: part/models.py:3218 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3264 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3274 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3265 +#: part/models.py:3275 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3270 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3280 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3271 +#: part/models.py:3281 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3281 +#: part/models.py:3291 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3423 +#: part/models.py:3301 +msgid "Part Sale Price Break" +msgstr "" + +#: part/models.py:3413 +msgid "Part Test Template" +msgstr "" + +#: part/models.py:3439 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3444 part/models.py:3608 +#: part/models.py:3460 part/models.py:3629 msgid "Choices must be unique" msgstr "" -#: part/models.py:3455 +#: part/models.py:3471 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3466 +#: part/models.py:3482 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3483 templates/js/translated/part.js:2880 +#: part/models.py:3499 templates/js/translated/part.js:2883 msgid "Test Name" msgstr "" -#: part/models.py:3484 +#: part/models.py:3500 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3490 +#: part/models.py:3506 msgid "Test Key" msgstr "" -#: part/models.py:3491 +#: part/models.py:3507 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3498 +#: part/models.py:3514 msgid "Test Description" msgstr "" -#: part/models.py:3499 +#: part/models.py:3515 msgid "Enter description for this test" msgstr "" -#: part/models.py:3503 report/models.py:209 -#: templates/js/translated/part.js:2901 +#: part/models.py:3519 report/models.py:209 +#: templates/js/translated/part.js:2904 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "" -#: part/models.py:3503 +#: part/models.py:3519 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3508 templates/js/translated/part.js:2909 +#: part/models.py:3524 templates/js/translated/part.js:2912 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3509 +#: part/models.py:3525 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3514 templates/js/translated/part.js:2917 +#: part/models.py:3530 templates/js/translated/part.js:2920 msgid "Requires Value" msgstr "" -#: part/models.py:3515 +#: part/models.py:3531 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3520 templates/js/translated/part.js:2924 +#: part/models.py:3536 templates/js/translated/part.js:2927 msgid "Requires Attachment" msgstr "" -#: part/models.py:3522 +#: part/models.py:3538 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3528 part/models.py:3667 templates/js/translated/part.js:1637 +#: part/models.py:3544 part/models.py:3688 templates/js/translated/part.js:1640 msgid "Choices" msgstr "" -#: part/models.py:3529 +#: part/models.py:3545 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3583 +#: part/models.py:3577 +msgid "Part Parameter Template" +msgstr "" + +#: part/models.py:3604 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3588 +#: part/models.py:3609 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3625 +#: part/models.py:3646 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3640 +#: part/models.py:3661 msgid "Parameter Name" msgstr "" -#: part/models.py:3647 +#: part/models.py:3668 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3655 +#: part/models.py:3676 msgid "Parameter description" msgstr "" -#: part/models.py:3661 templates/js/translated/part.js:1628 -#: templates/js/translated/table_filters.js:825 +#: part/models.py:3682 templates/js/translated/part.js:1631 +#: templates/js/translated/table_filters.js:830 msgid "Checkbox" msgstr "" -#: part/models.py:3662 +#: part/models.py:3683 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3668 +#: part/models.py:3689 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3745 +#: part/models.py:3723 +msgid "Part Parameter" +msgstr "" + +#: part/models.py:3749 +msgid "Parameter cannot be modified - part is locked" +msgstr "" + +#: part/models.py:3785 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3788 +#: part/models.py:3828 msgid "Parent Part" msgstr "" -#: part/models.py:3796 part/models.py:3897 part/models.py:3898 +#: part/models.py:3836 part/models.py:3944 part/models.py:3945 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3801 -msgid "Data" +#: part/models.py:3842 +msgid "Parameter Value" msgstr "" -#: part/models.py:3802 -msgid "Parameter Value" +#: part/models.py:3892 +msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:3904 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3951 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3905 +#: part/models.py:3952 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3943 +#: part/models.py:3990 msgid "Part ID or part name" msgstr "" -#: part/models.py:3944 +#: part/models.py:3991 msgid "Unique part ID value" msgstr "" -#: part/models.py:3946 +#: part/models.py:3993 msgid "Part IPN value" msgstr "" -#: part/models.py:3947 +#: part/models.py:3994 msgid "Level" msgstr "" -#: part/models.py:3947 +#: part/models.py:3994 msgid "BOM level" msgstr "" -#: part/models.py:4037 +#: part/models.py:4105 +msgid "BOM item cannot be modified - assembly is locked" +msgstr "" + +#: part/models.py:4112 +msgid "BOM item cannot be modified - variant assembly is locked" +msgstr "" + +#: part/models.py:4122 msgid "Select parent part" msgstr "" -#: part/models.py:4047 +#: part/models.py:4132 msgid "Sub part" msgstr "" -#: part/models.py:4048 +#: part/models.py:4133 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4059 +#: part/models.py:4144 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4065 +#: part/models.py:4150 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4071 +#: part/models.py:4156 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4078 part/templates/part/upload_bom.html:55 +#: part/models.py:4163 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4079 +#: part/models.py:4164 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4086 +#: part/models.py:4171 msgid "BOM item reference" msgstr "" -#: part/models.py:4094 +#: part/models.py:4179 msgid "BOM item notes" msgstr "" -#: part/models.py:4100 +#: part/models.py:4185 msgid "Checksum" msgstr "" -#: part/models.py:4101 +#: part/models.py:4186 msgid "BOM line checksum" msgstr "" -#: part/models.py:4106 templates/js/translated/table_filters.js:174 +#: part/models.py:4191 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4107 +#: part/models.py:4192 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4112 part/templates/part/upload_bom.html:57 +#: part/models.py:4197 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:4113 +#: part/models.py:4198 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4118 part/templates/part/upload_bom.html:56 +#: part/models.py:4203 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4119 +#: part/models.py:4204 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4204 stock/models.py:663 +#: part/models.py:4289 stock/models.py:663 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4214 part/models.py:4216 +#: part/models.py:4299 part/models.py:4301 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4354 +#: part/models.py:4439 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4375 +#: part/models.py:4460 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4388 +#: part/models.py:4473 msgid "Parent BOM item" msgstr "" -#: part/models.py:4396 +#: part/models.py:4481 msgid "Substitute part" msgstr "" -#: part/models.py:4412 +#: part/models.py:4497 msgid "Part 1" msgstr "" -#: part/models.py:4420 +#: part/models.py:4505 msgid "Part 2" msgstr "" -#: part/models.py:4421 +#: part/models.py:4506 msgid "Select Related Part" msgstr "" -#: part/models.py:4440 +#: part/models.py:4525 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4445 +#: part/models.py:4530 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:118 +#: part/serializers.py:124 msgid "Parent Category" msgstr "" -#: part/serializers.py:119 templates/js/translated/part.js:309 +#: part/serializers.py:125 templates/js/translated/part.js:308 msgid "Parent part category" msgstr "" -#: part/serializers.py:126 part/serializers.py:148 +#: part/serializers.py:132 part/serializers.py:154 #: part/templates/part/category.html:122 part/templates/part/category.html:207 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" -#: part/serializers.py:180 +#: part/serializers.py:189 msgid "Results" msgstr "" -#: part/serializers.py:181 +#: part/serializers.py:190 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:205 part/serializers.py:223 stock/serializers.py:562 +#: part/serializers.py:217 part/serializers.py:235 stock/serializers.py:608 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:268 +#: part/serializers.py:283 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:392 +#: part/serializers.py:410 msgid "No parts selected" msgstr "" -#: part/serializers.py:402 +#: part/serializers.py:420 msgid "Select category" msgstr "" -#: part/serializers.py:437 +#: part/serializers.py:455 msgid "Original Part" msgstr "" -#: part/serializers.py:438 +#: part/serializers.py:456 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:461 msgid "Copy Image" msgstr "" -#: part/serializers.py:444 +#: part/serializers.py:462 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:450 part/templates/part/detail.html:277 +#: part/serializers.py:468 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:451 +#: part/serializers.py:469 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:457 +#: part/serializers.py:475 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:458 +#: part/serializers.py:476 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:464 +#: part/serializers.py:482 msgid "Copy Notes" msgstr "" -#: part/serializers.py:465 +#: part/serializers.py:483 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:483 +#: part/serializers.py:501 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:485 +#: part/serializers.py:503 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:492 +#: part/serializers.py:510 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:493 +#: part/serializers.py:511 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:510 +#: part/serializers.py:528 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:526 +#: part/serializers.py:544 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:536 +#: part/serializers.py:554 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:543 +#: part/serializers.py:561 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:552 +#: part/serializers.py:570 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:563 +#: part/serializers.py:581 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:570 +#: part/serializers.py:588 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:834 -msgid "External Stock" -msgstr "" - -#: part/serializers.py:836 +#: part/serializers.py:864 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:839 +#: part/serializers.py:867 msgid "Variant Stock" msgstr "" -#: part/serializers.py:869 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:472 +#: part/serializers.py:897 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:870 +#: part/serializers.py:898 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:876 templates/js/translated/part.js:102 +#: part/serializers.py:904 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:877 +#: part/serializers.py:905 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:883 +#: part/serializers.py:911 msgid "Supplier Information" msgstr "" -#: part/serializers.py:884 +#: part/serializers.py:912 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:892 +#: part/serializers.py:920 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:893 +#: part/serializers.py:921 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:898 +#: part/serializers.py:926 msgid "Existing Image" msgstr "" -#: part/serializers.py:899 +#: part/serializers.py:927 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:916 +#: part/serializers.py:944 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1122 +#: part/serializers.py:1150 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1132 +#: part/serializers.py:1160 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1142 +#: part/serializers.py:1170 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1148 +#: part/serializers.py:1176 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1149 +#: part/serializers.py:1177 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1154 +#: part/serializers.py:1182 msgid "Generate Report" msgstr "" -#: part/serializers.py:1155 +#: part/serializers.py:1183 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1160 +#: part/serializers.py:1188 msgid "Update Parts" msgstr "" -#: part/serializers.py:1161 +#: part/serializers.py:1189 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1169 +#: part/serializers.py:1197 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1275 +#: part/serializers.py:1303 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1282 +#: part/serializers.py:1310 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1290 +#: part/serializers.py:1318 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1297 +#: part/serializers.py:1325 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1326 +#: part/serializers.py:1354 msgid "Update" msgstr "" -#: part/serializers.py:1327 +#: part/serializers.py:1355 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1350 +#: part/serializers.py:1378 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1357 +#: part/serializers.py:1385 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1360 +#: part/serializers.py:1388 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1727 +#: part/serializers.py:1759 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1735 +#: part/serializers.py:1767 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1736 +#: part/serializers.py:1768 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1741 +#: part/serializers.py:1773 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1742 +#: part/serializers.py:1774 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1747 +#: part/serializers.py:1779 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1748 +#: part/serializers.py:1780 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1753 +#: part/serializers.py:1785 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1754 +#: part/serializers.py:1786 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1788 +#: part/serializers.py:1823 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1789 +#: part/serializers.py:1824 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1819 +#: part/serializers.py:1856 msgid "No part column specified" msgstr "" -#: part/serializers.py:1863 +#: part/serializers.py:1900 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1866 +#: part/serializers.py:1903 msgid "No matching part found" msgstr "" -#: part/serializers.py:1869 +#: part/serializers.py:1906 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1878 +#: part/serializers.py:1915 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1886 +#: part/serializers.py:1923 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1907 +#: part/serializers.py:1946 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:225 templates/js/translated/part.js:1067 -#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 +#: part/stocktake.py:225 templates/js/translated/part.js:1070 +#: templates/js/translated/part.js:1825 templates/js/translated/part.js:1881 #: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "" @@ -7507,7 +7768,7 @@ msgstr "" #: part/templates/part/part_base.html:52 #: stock/templates/stock/item_base.html:62 -#: stock/templates/stock/location.html:74 templates/js/translated/label.js:143 +#: stock/templates/stock/location.html:74 templates/js/translated/label.js:136 msgid "Print Label" msgstr "" @@ -7529,7 +7790,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:2296 msgid "Part actions" msgstr "" @@ -7569,6 +7830,10 @@ msgstr "" msgid "Part can be sold to customers" msgstr "" +#: part/templates/part/part_base.html:145 +msgid "Part is not active" +msgstr "" + #: part/templates/part/part_base.html:153 msgid "Part is virtual (not a physical part)" msgstr "" @@ -7597,7 +7862,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:322 templates/js/translated/bom.js:1071 -#: templates/js/translated/part.js:1265 templates/js/translated/part.js:2444 +#: templates/js/translated/part.js:1268 templates/js/translated/part.js:2447 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" @@ -7690,8 +7955,8 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/part.js:1243 templates/js/translated/part.js:2146 -#: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 +#: templates/js/translated/part.js:1246 templates/js/translated/part.js:2149 +#: templates/js/translated/part.js:2395 templates/js/translated/stock.js:1059 #: templates/js/translated/stock.js:2070 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -7811,8 +8076,8 @@ msgstr "" #: part/templates/part/stock_count.html:7 #: templates/js/translated/model_renderers.js:227 -#: templates/js/translated/part.js:705 templates/js/translated/part.js:2141 -#: templates/js/translated/part.js:2143 +#: templates/js/translated/part.js:704 templates/js/translated/part.js:2144 +#: templates/js/translated/part.js:2146 msgid "No Stock" msgstr "" @@ -7956,7 +8221,7 @@ msgstr "" msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2589 +#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2590 #: templates/js/translated/sales_order.js:1953 msgid "Insufficient stock available" msgstr "" @@ -8051,7 +8316,7 @@ msgstr "" msgid "Quantity to allocate" msgstr "" -#: plugin/base/label/label.py:39 templates/js/translated/label.js:155 +#: plugin/base/label/label.py:39 templates/js/translated/label.js:148 msgid "Label printing failed" msgstr "" @@ -8748,7 +9013,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report.html:25 #: report/templates/report/inventree_test_report.html:88 stock/models.py:825 -#: stock/serializers.py:149 stock/templates/stock/item_base.html:311 +#: stock/serializers.py:151 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:230 @@ -8778,7 +9043,7 @@ msgstr "" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2447 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2457 msgid "Result" msgstr "" @@ -8799,7 +9064,7 @@ msgid "No result" msgstr "" #: report/templates/report/inventree_test_report.html:153 -#: stock/templates/stock/stock_sidebar.html:16 +#: stock/serializers.py:591 stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" @@ -8829,10 +9094,6 @@ msgstr "" msgid "Location ID" msgstr "" -#: stock/admin.py:53 stock/admin.py:175 -msgid "Location Name" -msgstr "" - #: stock/admin.py:63 stock/templates/stock/location.html:131 #: stock/templates/stock/location.html:137 msgid "Location Path" @@ -8909,7 +9170,7 @@ msgstr "" msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:369 stock/serializers.py:1085 +#: stock/api.py:369 stock/serializers.py:1148 msgid "Parent Location" msgstr "" @@ -8917,44 +9178,45 @@ msgstr "" msgid "Filter by parent location" msgstr "" -#: stock/api.py:625 templates/js/translated/table_filters.js:427 +#: stock/api.py:617 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:813 +#: stock/api.py:805 msgid "Part Tree" msgstr "" -#: stock/api.py:843 +#: stock/api.py:835 msgid "Expiry date before" msgstr "" -#: stock/api.py:847 +#: stock/api.py:839 msgid "Expiry date after" msgstr "" -#: stock/api.py:850 stock/templates/stock/item_base.html:439 +#: stock/api.py:842 stock/serializers.py:596 +#: stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "" -#: stock/api.py:937 +#: stock/api.py:929 msgid "Quantity is required" msgstr "" -#: stock/api.py:943 +#: stock/api.py:935 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:974 +#: stock/api.py:966 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:984 +#: stock/api.py:976 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1015 +#: stock/api.py:1007 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -9021,7 +9283,7 @@ msgstr "" msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:669 stock/serializers.py:446 +#: stock/models.py:669 stock/serializers.py:477 msgid "Stock item cannot be created for virtual parts" msgstr "" @@ -9066,7 +9328,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:799 stock/serializers.py:1476 +#: stock/models.py:799 stock/serializers.py:1542 msgid "Packaging this stock item is stored in" msgstr "" @@ -9078,7 +9340,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:843 stock/serializers.py:1459 +#: stock/models.py:843 stock/serializers.py:1525 msgid "Batch code for this stock item" msgstr "" @@ -9155,7 +9417,7 @@ msgstr "" msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1520 stock/serializers.py:660 +#: stock/models.py:1520 stock/serializers.py:718 msgid "Serial numbers already exist" msgstr "" @@ -9187,7 +9449,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1658 stock/serializers.py:1365 +#: stock/models.py:1658 stock/serializers.py:1431 msgid "Duplicate stock items" msgstr "" @@ -9207,288 +9469,330 @@ msgstr "" msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2345 +#: stock/models.py:2317 +msgid "Stock Item Tracking" +msgstr "" + +#: stock/models.py:2350 msgid "Entry notes" msgstr "" -#: stock/models.py:2413 +#: stock/models.py:2390 +msgid "Stock Item Test Result" +msgstr "" + +#: stock/models.py:2423 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2418 +#: stock/models.py:2428 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2423 +#: stock/models.py:2433 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2447 +#: stock/models.py:2457 msgid "Test result" msgstr "" -#: stock/models.py:2454 +#: stock/models.py:2464 msgid "Test output value" msgstr "" -#: stock/models.py:2462 +#: stock/models.py:2472 msgid "Test result attachment" msgstr "" -#: stock/models.py:2466 +#: stock/models.py:2476 msgid "Test notes" msgstr "" -#: stock/models.py:2474 templates/js/translated/stock.js:1548 +#: stock/models.py:2484 templates/js/translated/stock.js:1548 msgid "Test station" msgstr "" -#: stock/models.py:2475 +#: stock/models.py:2485 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2481 +#: stock/models.py:2491 msgid "Started" msgstr "" -#: stock/models.py:2482 +#: stock/models.py:2492 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2488 +#: stock/models.py:2498 msgid "Finished" msgstr "" -#: stock/models.py:2489 +#: stock/models.py:2499 msgid "The timestamp of the test finish" msgstr "" -#: stock/serializers.py:74 +#: stock/serializers.py:76 msgid "Generated batch code" msgstr "" -#: stock/serializers.py:83 +#: stock/serializers.py:85 msgid "Select build order" msgstr "" -#: stock/serializers.py:92 +#: stock/serializers.py:94 msgid "Select stock item to generate batch code for" msgstr "" -#: stock/serializers.py:101 +#: stock/serializers.py:103 msgid "Select location to generate batch code for" msgstr "" -#: stock/serializers.py:110 +#: stock/serializers.py:112 msgid "Select part to generate batch code for" msgstr "" -#: stock/serializers.py:119 +#: stock/serializers.py:121 msgid "Select purchase order" msgstr "" -#: stock/serializers.py:126 +#: stock/serializers.py:128 msgid "Enter quantity for batch code" msgstr "" -#: stock/serializers.py:149 +#: stock/serializers.py:151 msgid "Generated serial number" msgstr "" -#: stock/serializers.py:158 +#: stock/serializers.py:160 msgid "Select part to generate serial number for" msgstr "" -#: stock/serializers.py:166 +#: stock/serializers.py:168 msgid "Quantity of serial numbers to generate" msgstr "" -#: stock/serializers.py:228 +#: stock/serializers.py:233 msgid "Test template for this result" msgstr "" -#: stock/serializers.py:247 +#: stock/serializers.py:252 msgid "Template ID or test name must be provided" msgstr "" -#: stock/serializers.py:279 +#: stock/serializers.py:284 msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:315 +#: stock/serializers.py:320 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:438 +#: stock/serializers.py:449 stock/templates/stock/item_base.html:193 +msgid "Parent Item" +msgstr "" + +#: stock/serializers.py:450 +msgid "Parent stock item" +msgstr "" + +#: stock/serializers.py:469 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:558 +#: stock/serializers.py:585 templates/js/translated/build.js:991 +#: templates/js/translated/build.js:2344 +msgid "Allocated Quantity" +msgstr "" + +#: stock/serializers.py:588 stock/templates/stock/item_base.html:437 +#: templates/js/translated/table_filters.js:435 users/models.py:174 +msgid "Expired" +msgstr "" + +#: stock/serializers.py:594 stock/templates/stock/stock_sidebar.html:20 +msgid "Child Items" +msgstr "" + +#: stock/serializers.py:598 +msgid "Tracking Items" +msgstr "" + +#: stock/serializers.py:604 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:595 +#: stock/serializers.py:623 +msgid "Minimum Pricing" +msgstr "" + +#: stock/serializers.py:629 +msgid "Maximum Pricing" +msgstr "" + +#: stock/serializers.py:653 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:608 +#: stock/serializers.py:666 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:615 +#: stock/serializers.py:673 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:626 stock/serializers.py:1322 stock/serializers.py:1578 +#: stock/serializers.py:684 stock/serializers.py:1388 stock/serializers.py:1644 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:633 +#: stock/serializers.py:691 msgid "Optional note field" msgstr "" -#: stock/serializers.py:643 +#: stock/serializers.py:701 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:698 +#: stock/serializers.py:756 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:705 +#: stock/serializers.py:763 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:706 +#: stock/serializers.py:764 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:711 stock/serializers.py:791 stock/serializers.py:887 -#: stock/serializers.py:937 +#: stock/serializers.py:769 stock/serializers.py:849 stock/serializers.py:945 +#: stock/serializers.py:995 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:719 +#: stock/serializers.py:777 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:727 +#: stock/serializers.py:785 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:738 +#: stock/serializers.py:796 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:751 +#: stock/serializers.py:809 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:786 +#: stock/serializers.py:844 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:821 +#: stock/serializers.py:879 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:834 +#: stock/serializers.py:892 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:851 +#: stock/serializers.py:909 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:882 +#: stock/serializers.py:940 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:919 +#: stock/serializers.py:977 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:925 +#: stock/serializers.py:983 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1021 stock/serializers.py:1093 +#: stock/serializers.py:1079 stock/serializers.py:1156 #: stock/templates/stock/location.html:165 #: stock/templates/stock/location.html:222 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1086 templates/js/translated/stock.js:152 +#: stock/serializers.py:1149 templates/js/translated/stock.js:152 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1194 +#: stock/serializers.py:1260 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1198 +#: stock/serializers.py:1264 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1202 +#: stock/serializers.py:1268 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1226 +#: stock/serializers.py:1292 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1232 +#: stock/serializers.py:1298 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1240 +#: stock/serializers.py:1306 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1250 stock/serializers.py:1504 +#: stock/serializers.py:1316 stock/serializers.py:1570 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1329 +#: stock/serializers.py:1395 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1334 +#: stock/serializers.py:1400 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1335 +#: stock/serializers.py:1401 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1340 +#: stock/serializers.py:1406 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1341 +#: stock/serializers.py:1407 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1351 +#: stock/serializers.py:1417 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1418 +#: stock/serializers.py:1484 msgid "No Change" msgstr "" -#: stock/serializers.py:1447 +#: stock/serializers.py:1513 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1466 +#: stock/serializers.py:1532 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1494 +#: stock/serializers.py:1560 msgid "Stock transaction notes" msgstr "" @@ -9757,10 +10061,6 @@ msgstr "" msgid "Build" msgstr "" -#: stock/templates/stock/item_base.html:193 -msgid "Parent Item" -msgstr "" - #: stock/templates/stock/item_base.html:211 msgid "No manufacturer set" msgstr "" @@ -9836,11 +10136,6 @@ msgstr "" msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:437 -#: templates/js/translated/table_filters.js:435 users/models.py:174 -msgid "Expired" -msgstr "" - #: stock/templates/stock/item_base.html:439 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" @@ -9988,10 +10283,6 @@ msgstr "" msgid "Allocations" msgstr "" -#: stock/templates/stock/stock_sidebar.html:20 -msgid "Child Items" -msgstr "" - #: templates/403.html:6 templates/403.html:12 templates/403_csrf.html:7 msgid "Permission Denied" msgstr "" @@ -10466,8 +10757,8 @@ 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:393 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:245 users/models.py:402 +#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 +#: templates/js/translated/stock.js:245 users/models.py:406 msgid "Delete" msgstr "" @@ -10507,12 +10798,12 @@ msgid "No category parameter templates found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:308 -#: templates/js/translated/part.js:1646 +#: templates/js/translated/part.js:1649 msgid "Edit Template" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:309 -#: templates/js/translated/part.js:1647 +#: templates/js/translated/part.js:1650 msgid "Delete Template" msgstr "" @@ -11145,7 +11436,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2556 +#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2557 msgid "Required Quantity" msgstr "" @@ -11159,7 +11450,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3219 +#: templates/js/translated/part.js:3222 msgid "Minimum Quantity" msgstr "" @@ -11514,7 +11805,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2500 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2501 msgid "Variant stock allowed" msgstr "" @@ -11534,30 +11825,30 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2621 +#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2622 msgid "External stock" msgstr "" -#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2595 +#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2596 #: templates/js/translated/sales_order.js:1946 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2599 +#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2600 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2601 -#: templates/js/translated/part.js:1257 +#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2602 +#: templates/js/translated/part.js:1260 #: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2603 +#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2604 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2586 +#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2587 msgid "Consumable item" msgstr "" @@ -11589,7 +11880,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2485 +#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2486 msgid "Required Part" msgstr "" @@ -11758,10 +12049,6 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:991 templates/js/translated/build.js:2344 -msgid "Allocated Quantity" -msgstr "" - #: templates/js/translated/build.js:1005 msgid "Location not specified" msgstr "" @@ -11873,9 +12160,9 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2117 templates/js/translated/build.js:2479 +#: templates/js/translated/build.js:2117 templates/js/translated/build.js:2480 #: templates/js/translated/forms.js:2163 templates/js/translated/forms.js:2179 -#: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 +#: templates/js/translated/part.js:2319 templates/js/translated/part.js:2745 #: templates/js/translated/stock.js:1983 templates/js/translated/stock.js:2710 msgid "Select" msgstr "" @@ -11906,59 +12193,59 @@ msgstr "" msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2455 +#: templates/js/translated/build.js:2456 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2456 +#: templates/js/translated/build.js:2457 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2474 +#: templates/js/translated/build.js:2475 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2504 templates/js/translated/part.js:791 -#: templates/js/translated/part.js:1203 +#: templates/js/translated/build.js:2505 templates/js/translated/part.js:790 +#: templates/js/translated/part.js:1206 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2539 +#: templates/js/translated/build.js:2540 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2591 +#: templates/js/translated/build.js:2592 #: templates/js/translated/sales_order.js:1951 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2646 +#: templates/js/translated/build.js:2647 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2653 +#: templates/js/translated/build.js:2654 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2654 +#: templates/js/translated/build.js:2655 msgid "Allocate tracked items against individual build outputs" msgstr "" -#: templates/js/translated/build.js:2662 +#: templates/js/translated/build.js:2663 #: templates/js/translated/sales_order.js:2052 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2667 templates/js/translated/stock.js:1868 +#: templates/js/translated/build.js:2668 templates/js/translated/stock.js:1868 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2671 +#: templates/js/translated/build.js:2672 #: templates/js/translated/sales_order.js:2046 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2675 +#: templates/js/translated/build.js:2676 msgid "Remove stock allocation" msgstr "" @@ -12105,7 +12392,7 @@ msgid "Delete Parameters" msgstr "" #: templates/js/translated/company.js:1191 -#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2245 +#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2248 msgid "Order parts" msgstr "" @@ -12122,34 +12409,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:1279 -#: templates/js/translated/company.js:1567 templates/js/translated/part.js:799 -#: templates/js/translated/part.js:1211 +#: templates/js/translated/company.js:1567 templates/js/translated/part.js:798 +#: templates/js/translated/part.js:1214 msgid "Template part" msgstr "" #: templates/js/translated/company.js:1283 -#: templates/js/translated/company.js:1571 templates/js/translated/part.js:803 -#: templates/js/translated/part.js:1215 +#: templates/js/translated/company.js:1571 templates/js/translated/part.js:802 +#: templates/js/translated/part.js:1218 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1465 +#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1468 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1528 +#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1531 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1529 +#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1532 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1434 +#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1437 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1550 +#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1553 msgid "Delete Parameter" msgstr "" @@ -12323,15 +12610,15 @@ msgstr "" msgid "No parts required for builds" msgstr "" -#: templates/js/translated/label.js:55 templates/js/translated/report.js:38 +#: templates/js/translated/label.js:48 templates/js/translated/report.js:38 msgid "Select Items" msgstr "" -#: templates/js/translated/label.js:56 templates/js/translated/report.js:39 +#: templates/js/translated/label.js:49 templates/js/translated/report.js:39 msgid "No items selected for printing" msgstr "" -#: templates/js/translated/label.js:150 +#: templates/js/translated/label.js:143 msgid "Labels sent to printer" msgstr "" @@ -12400,7 +12687,7 @@ msgstr "" #: templates/js/translated/news.js:38 #: templates/js/translated/notification.js:46 -#: templates/js/translated/part.js:1605 +#: templates/js/translated/part.js:1608 msgid "ID" msgstr "" @@ -12481,343 +12768,343 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:333 templates/js/translated/stock.js:175 +#: templates/js/translated/part.js:332 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:353 +#: templates/js/translated/part.js:352 msgid "Create Part Category" msgstr "" -#: templates/js/translated/part.js:356 +#: templates/js/translated/part.js:355 msgid "Create new category after this one" msgstr "" -#: templates/js/translated/part.js:357 +#: templates/js/translated/part.js:356 msgid "Part category created" msgstr "" -#: templates/js/translated/part.js:371 +#: templates/js/translated/part.js:370 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:384 +#: templates/js/translated/part.js:383 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:389 +#: templates/js/translated/part.js:388 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:398 +#: templates/js/translated/part.js:397 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:402 +#: templates/js/translated/part.js:401 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:407 +#: templates/js/translated/part.js:406 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:431 +#: templates/js/translated/part.js:430 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:433 +#: templates/js/translated/part.js:432 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:434 +#: templates/js/translated/part.js:433 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:462 +#: templates/js/translated/part.js:461 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:464 +#: templates/js/translated/part.js:463 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:475 +#: templates/js/translated/part.js:474 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:532 +#: templates/js/translated/part.js:531 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:533 +#: templates/js/translated/part.js:532 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:547 +#: templates/js/translated/part.js:546 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:549 +#: templates/js/translated/part.js:548 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:550 +#: templates/js/translated/part.js:549 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:551 +#: templates/js/translated/part.js:550 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:558 +#: templates/js/translated/part.js:557 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:594 +#: templates/js/translated/part.js:593 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:596 +#: templates/js/translated/part.js:595 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:601 +#: templates/js/translated/part.js:600 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:603 +#: templates/js/translated/part.js:602 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:620 +#: templates/js/translated/part.js:619 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:630 +#: templates/js/translated/part.js:629 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:633 +#: templates/js/translated/part.js:632 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:658 +#: templates/js/translated/part.js:657 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:686 -#: templates/js/translated/table_filters.js:747 +#: templates/js/translated/part.js:685 +#: templates/js/translated/table_filters.js:752 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:689 +#: templates/js/translated/part.js:688 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:749 +#: templates/js/translated/part.js:748 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:772 +#: templates/js/translated/part.js:771 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:795 templates/js/translated/part.js:1207 +#: templates/js/translated/part.js:794 templates/js/translated/part.js:1210 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:807 +#: templates/js/translated/part.js:806 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:811 +#: templates/js/translated/part.js:810 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:890 +#: templates/js/translated/part.js:893 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:890 +#: templates/js/translated/part.js:893 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:898 +#: templates/js/translated/part.js:901 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:902 +#: templates/js/translated/part.js:905 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:1051 +#: templates/js/translated/part.js:1054 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1109 templates/js/translated/part.js:1145 +#: templates/js/translated/part.js:1112 templates/js/translated/part.js:1148 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1113 templates/js/translated/part.js:1155 +#: templates/js/translated/part.js:1116 templates/js/translated/part.js:1158 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1282 +#: templates/js/translated/part.js:1285 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1600 +#: templates/js/translated/part.js:1603 msgid "No part parameter templates found" msgstr "" -#: templates/js/translated/part.js:1663 +#: templates/js/translated/part.js:1666 msgid "Edit Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1675 +#: templates/js/translated/part.js:1678 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/js/translated/part.js:1683 +#: templates/js/translated/part.js:1686 msgid "Delete Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1717 +#: templates/js/translated/part.js:1720 #: templates/js/translated/purchase_order.js:1654 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/part.js:1861 +#: templates/js/translated/part.js:1864 #: 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:1907 +#: templates/js/translated/part.js:1910 #: templates/js/translated/purchase_order.js:2220 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1970 +#: templates/js/translated/part.js:1973 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1992 +#: templates/js/translated/part.js:1995 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2080 templates/js/translated/part.js:2506 +#: templates/js/translated/part.js:2083 templates/js/translated/part.js:2509 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:2201 +#: templates/js/translated/part.js:2204 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2206 +#: templates/js/translated/part.js:2209 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2236 +#: templates/js/translated/part.js:2239 msgid "Set category" msgstr "" -#: templates/js/translated/part.js:2287 +#: templates/js/translated/part.js:2290 msgid "part" msgstr "" -#: templates/js/translated/part.js:2288 +#: templates/js/translated/part.js:2291 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2384 +#: templates/js/translated/part.js:2387 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 +#: templates/js/translated/part.js:2534 templates/js/translated/part.js:2664 #: templates/js/translated/stock.js:2669 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2547 +#: templates/js/translated/part.js:2550 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2645 +#: templates/js/translated/part.js:2648 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2689 +#: templates/js/translated/part.js:2684 templates/js/translated/stock.js:2689 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2761 +#: templates/js/translated/part.js:2764 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2777 +#: templates/js/translated/part.js:2780 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2865 +#: templates/js/translated/part.js:2868 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2887 templates/js/translated/search.js:342 +#: templates/js/translated/part.js:2890 templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/part.js:2937 templates/js/translated/stock.js:1456 +#: templates/js/translated/part.js:2940 templates/js/translated/stock.js:1456 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2938 templates/js/translated/stock.js:1457 +#: templates/js/translated/part.js:2941 templates/js/translated/stock.js:1457 #: templates/js/translated/stock.js:1731 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2942 +#: templates/js/translated/part.js:2945 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2958 +#: templates/js/translated/part.js:2961 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2972 +#: templates/js/translated/part.js:2975 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3051 templates/js/translated/part.js:3052 +#: templates/js/translated/part.js:3054 templates/js/translated/part.js:3055 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3054 +#: templates/js/translated/part.js:3057 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3060 +#: templates/js/translated/part.js:3063 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3110 +#: templates/js/translated/part.js:3113 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3116 +#: templates/js/translated/part.js:3119 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3212 +#: templates/js/translated/part.js:3215 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3228 +#: templates/js/translated/part.js:3231 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3273 +#: templates/js/translated/part.js:3276 msgid "Minimum Stock Level" msgstr "" @@ -13593,7 +13880,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1042 users/models.py:392 +#: templates/js/translated/stock.js:1042 users/models.py:396 msgid "Add" msgstr "" @@ -13947,7 +14234,7 @@ msgid "Include subcategories" msgstr "" #: templates/js/translated/table_filters.js:287 -#: templates/js/translated/table_filters.js:759 +#: templates/js/translated/table_filters.js:764 msgid "Subscribed" msgstr "" @@ -14102,40 +14389,44 @@ msgstr "" msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:725 +#: templates/js/translated/table_filters.js:722 +msgid "Show locked parts" +msgstr "" + +#: templates/js/translated/table_filters.js:730 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:733 -#: templates/js/translated/table_filters.js:833 +#: templates/js/translated/table_filters.js:738 +#: templates/js/translated/table_filters.js:838 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:734 +#: templates/js/translated/table_filters.js:739 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:738 +#: templates/js/translated/table_filters.js:743 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:739 +#: templates/js/translated/table_filters.js:744 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:743 +#: templates/js/translated/table_filters.js:748 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:751 +#: templates/js/translated/table_filters.js:756 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:763 +#: templates/js/translated/table_filters.js:768 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:829 +#: templates/js/translated/table_filters.js:834 msgid "Has Choices" msgstr "" @@ -14207,10 +14498,6 @@ msgstr "" msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:558 -msgid "Columns" -msgstr "" - #: templates/js/translated/tables.js:561 msgid "All" msgstr "" @@ -14484,35 +14771,34 @@ msgstr "" msgid "Revoked" msgstr "" -#: users/models.py:375 +#: users/models.py:379 msgid "Permission set" msgstr "" -#: users/models.py:384 +#: users/models.py:388 msgid "Group" msgstr "" -#: users/models.py:388 +#: users/models.py:392 msgid "View" msgstr "" -#: users/models.py:388 +#: users/models.py:392 msgid "Permission to view items" msgstr "" -#: users/models.py:392 +#: users/models.py:396 msgid "Permission to add items" msgstr "" -#: users/models.py:396 +#: users/models.py:400 msgid "Change" msgstr "" -#: users/models.py:398 +#: users/models.py:402 msgid "Permissions to edit items" msgstr "" -#: users/models.py:404 +#: users/models.py:408 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 e5ee66f4a5b6..ca2fa6c97a19 100644 --- a/src/backend/InvenTree/locale/hu/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/hu/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-07-05 02:47+0000\n" +"POT-Creation-Date: 2024-07-08 14:46+0000\n" "PO-Revision-Date: 2024-07-05 14:57\n" "Last-Translator: \n" "Language-Team: Hungarian\n" @@ -21,7 +21,7 @@ msgstr "" msgid "API endpoint not found" msgstr "API funkciót nem találom" -#: InvenTree/api.py:520 +#: InvenTree/api.py:505 msgid "User does not have permission to view this model" msgstr "Nincs jogosultságod az adatok megtekintéséhez" @@ -56,21 +56,21 @@ msgstr "A hiba részleteit megtalálod az admin panelen" msgid "Enter date" msgstr "Dátum megadása" -#: InvenTree/fields.py:205 InvenTree/models.py:918 build/serializers.py:452 -#: build/serializers.py:530 build/templates/build/sidebar.html:21 -#: company/models.py:817 company/templates/company/sidebar.html:37 +#: InvenTree/fields.py:205 InvenTree/models.py:921 build/serializers.py:456 +#: build/serializers.py:534 build/templates/build/sidebar.html:21 +#: company/models.py:824 company/templates/company/sidebar.html:37 #: order/models.py:1296 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:3183 part/templates/part/part_sidebar.html:63 +#: part/models.py:3193 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:230 stock/models.py:2344 stock/models.py:2466 -#: stock/serializers.py:632 stock/serializers.py:790 stock/serializers.py:886 -#: stock/serializers.py:936 stock/serializers.py:1239 stock/serializers.py:1328 -#: stock/serializers.py:1493 stock/templates/stock/stock_sidebar.html:25 +#: stock/admin.py:230 stock/models.py:2349 stock/models.py:2476 +#: stock/serializers.py:690 stock/serializers.py:848 stock/serializers.py:944 +#: stock/serializers.py:994 stock/serializers.py:1305 stock/serializers.py:1394 +#: stock/serializers.py:1559 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:1081 +#: templates/js/translated/part.js:1084 #: templates/js/translated/purchase_order.js:2200 #: templates/js/translated/return_order.js:775 #: templates/js/translated/sales_order.js:1103 @@ -371,41 +371,41 @@ msgstr "Plugin meta adatok" msgid "JSON metadata field, for use by external plugins" msgstr "JSON meta adat mező, külső pluginok számára" -#: InvenTree/models.py:408 +#: InvenTree/models.py:411 msgid "Improperly formatted pattern" msgstr "Helytelenül formázott minta" -#: InvenTree/models.py:415 +#: InvenTree/models.py:418 msgid "Unknown format key specified" msgstr "Ismeretlen formátum kulcs lett megadva" -#: InvenTree/models.py:421 +#: InvenTree/models.py:424 msgid "Missing required format key" msgstr "Hiányzó formátum kulcs" -#: InvenTree/models.py:432 +#: InvenTree/models.py:435 msgid "Reference field cannot be empty" msgstr "Az azonosító mező nem lehet üres" -#: InvenTree/models.py:440 +#: InvenTree/models.py:443 msgid "Reference must match required pattern" msgstr "Az azonosítónak egyeznie kell a mintával" -#: InvenTree/models.py:471 +#: InvenTree/models.py:474 msgid "Reference number is too large" msgstr "Azonosító szám túl nagy" -#: InvenTree/models.py:719 +#: InvenTree/models.py:722 msgid "Duplicate names cannot exist under the same parent" msgstr "Duplikált nevek nem lehetnek ugyanazon szülő alatt" -#: InvenTree/models.py:736 +#: InvenTree/models.py:739 msgid "Invalid choice" msgstr "Érvénytelen választás" -#: InvenTree/models.py:766 common/models.py:2678 common/models.py:3103 -#: common/serializers.py:408 company/models.py:580 machine/models.py:24 -#: part/models.py:891 part/models.py:3639 plugin/models.py:51 +#: InvenTree/models.py:769 common/models.py:2659 common/models.py:3089 +#: common/serializers.py:412 company/models.py:587 machine/models.py:24 +#: part/models.py:895 part/models.py:3660 plugin/models.py:51 #: report/models.py:150 stock/models.py:74 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -417,20 +417,20 @@ msgstr "Érvénytelen választás" #: templates/js/translated/company.js:724 #: templates/js/translated/company.js:913 #: templates/js/translated/company.js:1165 -#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1187 -#: templates/js/translated/part.js:1475 templates/js/translated/part.js:1611 -#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2716 +#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1190 +#: templates/js/translated/part.js:1478 templates/js/translated/part.js:1614 +#: templates/js/translated/part.js:2752 templates/js/translated/stock.js:2716 msgid "Name" msgstr "Név" -#: InvenTree/models.py:772 build/models.py:235 -#: build/templates/build/detail.html:24 common/models.py:138 -#: company/models.py:509 company/models.py:808 +#: InvenTree/models.py:775 build/models.py:242 +#: build/templates/build/detail.html:24 common/models.py:143 +#: company/models.py:515 company/models.py:815 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 -#: order/models.py:1329 part/admin.py:305 part/admin.py:408 part/models.py:914 -#: part/models.py:3654 part/templates/part/category.html:82 +#: order/models.py:1329 part/admin.py:305 part/admin.py:408 part/models.py:918 +#: part/models.py:3675 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:156 #: report/models.py:510 report/models.py:536 @@ -444,10 +444,10 @@ msgstr "Név" #: templates/js/translated/build.js:2139 templates/js/translated/company.js:519 #: templates/js/translated/company.js:1330 #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 -#: templates/js/translated/order.js:298 templates/js/translated/part.js:1239 -#: templates/js/translated/part.js:1484 templates/js/translated/part.js:1622 -#: templates/js/translated/part.js:1959 templates/js/translated/part.js:2355 -#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2897 +#: templates/js/translated/order.js:298 templates/js/translated/part.js:1242 +#: templates/js/translated/part.js:1487 templates/js/translated/part.js:1625 +#: templates/js/translated/part.js:1962 templates/js/translated/part.js:2358 +#: templates/js/translated/part.js:2788 templates/js/translated/part.js:2900 #: templates/js/translated/plugin.js:80 #: templates/js/translated/purchase_order.js:1706 #: templates/js/translated/purchase_order.js:1849 @@ -460,53 +460,53 @@ msgstr "Név" msgid "Description" msgstr "Leírás" -#: InvenTree/models.py:773 stock/models.py:81 +#: InvenTree/models.py:776 stock/models.py:81 msgid "Description (optional)" msgstr "Leírás (opcionális)" -#: InvenTree/models.py:788 templates/js/translated/part.js:2794 +#: InvenTree/models.py:791 templates/js/translated/part.js:2797 #: templates/js/translated/stock.js:2757 msgid "Path" msgstr "Elérési út" -#: InvenTree/models.py:918 +#: InvenTree/models.py:921 msgid "Markdown notes (optional)" msgstr "Markdown megjegyzések (opcionális)" -#: InvenTree/models.py:947 +#: InvenTree/models.py:950 msgid "Barcode Data" msgstr "Vonalkód adat" -#: InvenTree/models.py:948 +#: InvenTree/models.py:951 msgid "Third party barcode data" msgstr "Harmadik féltől származó vonalkód adat" -#: InvenTree/models.py:954 +#: InvenTree/models.py:957 msgid "Barcode Hash" msgstr "Vonalkód hash" -#: InvenTree/models.py:955 +#: InvenTree/models.py:958 msgid "Unique hash of barcode data" msgstr "Egyedi vonalkód hash" -#: InvenTree/models.py:1008 +#: InvenTree/models.py:1011 msgid "Existing barcode found" msgstr "Létező vonalkód" -#: InvenTree/models.py:1051 +#: InvenTree/models.py:1054 msgid "Server Error" msgstr "Kiszolgálóhiba" -#: InvenTree/models.py:1052 +#: InvenTree/models.py:1055 msgid "An error has been logged by the server." msgstr "A kiszolgáló egy hibaüzenetet rögzített." -#: InvenTree/serializers.py:63 part/models.py:4192 +#: InvenTree/serializers.py:63 part/models.py:4277 msgid "Must be a valid number" msgstr "Érvényes számnak kell lennie" #: InvenTree/serializers.py:100 company/models.py:186 -#: company/templates/company/company_base.html:112 part/models.py:3001 +#: company/templates/company/company_base.html:112 part/models.py:3011 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -556,16 +556,16 @@ msgstr "Rendszergazda" msgid "Is this user a superuser" msgstr "" -#: InvenTree/serializers.py:445 common/models.py:2683 company/models.py:163 -#: company/models.py:782 machine/models.py:39 part/admin.py:88 -#: part/models.py:1081 plugin/models.py:66 +#: InvenTree/serializers.py:445 common/models.py:2664 company/models.py:163 +#: company/models.py:789 machine/models.py:39 part/admin.py:88 +#: part/models.py:1085 plugin/models.py:66 #: 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 #: templates/js/translated/table_filters.js:520 #: templates/js/translated/table_filters.js:716 -#: templates/js/translated/table_filters.js:796 users/models.py:182 +#: templates/js/translated/table_filters.js:801 users/models.py:182 msgid "Active" msgstr "Aktív" @@ -597,7 +597,7 @@ msgstr "Üdvözlet az InvenTree-ben" msgid "Invalid value" msgstr "Érvénytelen érték" -#: InvenTree/serializers.py:581 +#: InvenTree/serializers.py:581 importer/models.py:60 msgid "Data File" msgstr "Adat fájl" @@ -651,7 +651,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:1174 +#: InvenTree/status.py:66 part/serializers.py:1202 msgid "Background worker check failed" msgstr "Háttér folyamat ellenőrzés sikertelen" @@ -711,47 +711,48 @@ msgstr "Rendszerinformáció" msgid "About InvenTree" msgstr "Verzió információk" -#: build/api.py:255 +#: build/api.py:248 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:4070 templates/js/translated/bom.js:997 -#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 +#: build/api.py:292 build/serializers.py:1190 part/models.py:4155 +#: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 +#: templates/js/translated/build.js:2521 #: 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:4064 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 +#: build/api.py:293 build/serializers.py:1191 part/models.py:4149 +#: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 +#: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2530 #: templates/js/translated/table_filters.js:186 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:587 msgid "Optional" msgstr "Opcionális" -#: build/api.py:301 templates/js/translated/table_filters.js:408 +#: build/api.py:294 templates/js/translated/table_filters.js:408 #: templates/js/translated/table_filters.js:579 msgid "Tracked" msgstr "Követett" -#: build/api.py:303 part/admin.py:144 templates/js/translated/build.js:1744 -#: templates/js/translated/build.js:2629 +#: build/api.py:296 part/admin.py:144 templates/js/translated/build.js:1744 +#: templates/js/translated/build.js:2630 #: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:571 msgid "Allocated" msgstr "Lefoglalva" -#: build/api.py:311 company/models.py:872 company/serializers.py:359 +#: build/api.py:304 company/models.py:879 company/serializers.py:386 #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2561 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2562 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:234 -#: templates/js/translated/part.js:693 templates/js/translated/part.js:695 -#: templates/js/translated/part.js:700 +#: 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 #: templates/js/translated/table_filters.js:575 msgid "Available" @@ -760,7 +761,7 @@ msgstr "Elérhető" #: build/models.py:85 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 -#: stock/serializers.py:82 templates/email/build_order_completed.html:16 +#: stock/serializers.py:84 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:2892 msgid "Build Order" @@ -781,35 +782,43 @@ msgstr "Gyártási utasítások" msgid "Assembly BOM has not been validated" msgstr "" -#: build/models.py:134 part/templates/part/part_base.html:145 -msgid "Part is not active" -msgstr "Az alkatrész nem aktív" +#: build/models.py:134 +#, fuzzy +#| msgid "Stock item cannot be created for virtual parts" +msgid "Build order cannot be created for an inactive part" +msgstr "Virtuális alkatrészből nem lehet készletet létrehozni" -#: build/models.py:148 +#: build/models.py:141 +#, fuzzy +#| msgid "Build output cannot be specified for allocation of untracked parts" +msgid "Build order cannot be created for an unlocked part" +msgstr "Gyártási kimenetet nem lehet megadni a követésre kötelezett alkatrészek lefoglalásához" + +#: build/models.py:155 msgid "Invalid choice for parent build" msgstr "Hibás választás a szülő gyártásra" -#: build/models.py:159 order/models.py:240 +#: build/models.py:166 order/models.py:240 msgid "Responsible user or group must be specified" msgstr "Meg kell adni felelős felhasználót vagy csoportot" -#: build/models.py:165 +#: build/models.py:172 msgid "Build order part cannot be changed" msgstr "Gyártási rendelés alkatrész nem változtatható" -#: build/models.py:226 +#: build/models.py:233 msgid "Build Order Reference" msgstr "Gyártási utasítás azonosító" -#: build/models.py:227 order/models.py:463 order/models.py:926 -#: order/models.py:1289 order/models.py:2020 part/admin.py:411 -#: part/models.py:4085 part/templates/part/upload_bom.html:54 +#: build/models.py:234 build/serializers.py:1189 order/models.py:463 +#: order/models.py:926 order/models.py:1289 order/models.py:2046 +#: part/admin.py:411 part/models.py:4170 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: 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/build.js:2513 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2065 #: templates/js/translated/return_order.js:728 @@ -817,27 +826,28 @@ msgstr "Gyártási utasítás azonosító" msgid "Reference" msgstr "Azonosító" -#: build/models.py:238 +#: build/models.py:245 msgid "Brief description of the build (optional)" msgstr "Gyártás rövid leírása (opcionális)" -#: build/models.py:246 build/templates/build/build_base.html:183 +#: build/models.py:253 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:247 +#: build/models.py:254 msgid "BuildOrder to which this build is allocated" msgstr "Gyártás, amihez ez a gyártás hozzá van rendelve" -#: build/models.py:252 build/templates/build/build_base.html:97 -#: build/templates/build/detail.html:29 company/models.py:1026 order/api.py:805 -#: order/models.py:1414 order/models.py:1559 order/models.py:1560 -#: part/api.py:1494 part/api.py:1788 part/models.py:395 part/models.py:3012 -#: part/models.py:3156 part/models.py:3303 part/models.py:3324 -#: part/models.py:3346 part/models.py:3477 part/models.py:3787 -#: part/models.py:3943 part/models.py:4036 part/models.py:4395 -#: part/serializers.py:1120 part/serializers.py:1726 +#: build/models.py:259 build/serializers.py:1184 +#: build/templates/build/build_base.html:97 +#: build/templates/build/detail.html:29 company/models.py:1034 order/api.py:759 +#: order/models.py:1419 order/models.py:1574 order/models.py:1575 +#: part/api.py:1480 part/api.py:1776 part/models.py:396 part/models.py:3022 +#: part/models.py:3166 part/models.py:3314 part/models.py:3335 +#: part/models.py:3357 part/models.py:3493 part/models.py:3827 +#: part/models.py:3990 part/models.py:4121 part/models.py:4480 +#: part/serializers.py:1148 part/serializers.py:1758 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -848,8 +858,8 @@ msgstr "Gyártás, amihez ez a gyártás hozzá van rendelve" #: 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:109 stock/serializers.py:157 stock/serializers.py:423 -#: stock/serializers.py:820 templates/InvenTree/search.html:82 +#: stock/serializers.py:111 stock/serializers.py:159 stock/serializers.py:443 +#: stock/serializers.py:878 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 @@ -862,8 +872,8 @@ msgstr "Gyártás, amihez ez a gyártás hozzá van rendelve" #: templates/js/translated/company.js:1116 #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 -#: templates/js/translated/part.js:1944 templates/js/translated/part.js:2016 -#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:1947 templates/js/translated/part.js:2019 +#: templates/js/translated/part.js:2327 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:1848 @@ -881,107 +891,107 @@ msgstr "Gyártás, amihez ez a gyártás hozzá van rendelve" msgid "Part" msgstr "Alkatrész" -#: build/models.py:260 +#: build/models.py:267 msgid "Select part to build" msgstr "Válassz alkatrészt a gyártáshoz" -#: build/models.py:265 +#: build/models.py:272 msgid "Sales Order Reference" msgstr "Vevői rendelés azonosító" -#: build/models.py:269 +#: build/models.py:276 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:274 build/serializers.py:999 +#: build/models.py:281 build/serializers.py:1003 #: templates/js/translated/build.js:1731 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "Forrás hely" -#: build/models.py:278 +#: build/models.py:285 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:283 +#: build/models.py:290 msgid "Destination Location" msgstr "Cél hely" -#: build/models.py:287 +#: build/models.py:294 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:291 +#: build/models.py:298 msgid "Build Quantity" msgstr "Gyártási mennyiség" -#: build/models.py:294 +#: build/models.py:301 msgid "Number of stock items to build" msgstr "Gyártandó készlet tételek száma" -#: build/models.py:298 +#: build/models.py:305 msgid "Completed items" msgstr "Kész tételek" -#: build/models.py:300 +#: build/models.py:307 msgid "Number of stock items which have been completed" msgstr "Elkészült készlet tételek száma" -#: build/models.py:304 +#: build/models.py:311 msgid "Build Status" msgstr "Gyártási állapot" -#: build/models.py:308 +#: build/models.py:315 msgid "Build status code" msgstr "Gyártás státusz kód" -#: build/models.py:317 build/serializers.py:286 order/serializers.py:580 -#: stock/models.py:839 stock/serializers.py:74 stock/serializers.py:1458 +#: build/models.py:324 build/serializers.py:290 order/serializers.py:629 +#: stock/models.py:839 stock/serializers.py:76 stock/serializers.py:1524 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "Batch kód" -#: build/models.py:321 build/serializers.py:287 +#: build/models.py:328 build/serializers.py:291 msgid "Batch code for this build output" msgstr "Batch kód a gyártás kimenetéhez" -#: build/models.py:324 order/models.py:316 order/serializers.py:119 -#: part/models.py:1115 part/templates/part/part_base.html:310 +#: build/models.py:331 order/models.py:316 order/serializers.py:127 +#: part/models.py:1125 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:328 +#: build/models.py:335 msgid "Target completion date" msgstr "Befejezés cél dátuma" -#: build/models.py:329 +#: build/models.py:336 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:332 order/models.py:521 order/models.py:2065 +#: build/models.py:339 order/models.py:521 order/models.py:2091 #: templates/js/translated/build.js:2247 msgid "Completion Date" msgstr "Befejezés dátuma" -#: build/models.py:338 +#: build/models.py:345 msgid "completed by" msgstr "elkészítette" -#: build/models.py:346 templates/js/translated/build.js:2207 +#: build/models.py:353 templates/js/translated/build.js:2207 msgid "Issued by" msgstr "Indította" -#: build/models.py:347 +#: build/models.py:354 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:355 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 common/models.py:147 +#: build/models.py:362 build/templates/build/build_base.html:204 +#: build/templates/build/detail.html:122 common/models.py:152 #: order/models.py:334 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:232 part/models.py:1132 +#: order/templates/order/sales_order_base.html:232 part/models.py:1142 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 @@ -992,11 +1002,11 @@ msgstr "Felhasználó aki ezt a gyártási utasítást kiállította" msgid "Responsible" msgstr "Felelős" -#: build/models.py:356 +#: build/models.py:363 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:361 build/templates/build/detail.html:108 +#: build/models.py:368 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 @@ -1008,21 +1018,22 @@ msgstr "Felhasználó vagy csoport aki felelős ezért a gyártásért" msgid "External Link" msgstr "Külső link" -#: build/models.py:362 common/models.py:3244 part/models.py:956 +#: build/models.py:369 common/models.py:3230 part/models.py:960 #: stock/models.py:835 msgid "Link to external URL" msgstr "Link külső URL-re" -#: build/models.py:366 +#: build/models.py:373 msgid "Build Priority" msgstr "Priorítás" -#: build/models.py:369 +#: build/models.py:376 msgid "Priority of this build order" msgstr "Gyártási utasítás priorítása" -#: build/models.py:376 common/models.py:131 order/admin.py:18 -#: order/models.py:298 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:383 common/models.py:122 common/models.py:136 +#: order/admin.py:18 order/models.py:298 order/serializers.py:108 +#: templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 #: templates/js/translated/purchase_order.js:1710 #: templates/js/translated/return_order.js:317 @@ -1032,65 +1043,66 @@ msgstr "Gyártási utasítás priorítása" msgid "Project Code" msgstr "Projektszám" -#: build/models.py:377 +#: build/models.py:384 msgid "Project code for this build order" msgstr "Projekt kód a gyártáshoz" -#: build/models.py:610 build/models.py:675 +#: build/models.py:617 build/models.py:682 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:632 +#: build/models.py:639 #, 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:638 +#: build/models.py:645 msgid "A build order has been completed" msgstr "Gyártási utasítás elkészült" -#: build/models.py:864 build/models.py:949 +#: build/models.py:871 build/models.py:956 msgid "No build output specified" msgstr "Nincs gyártási kimenet megadva" -#: build/models.py:867 +#: build/models.py:874 msgid "Build output is already completed" msgstr "Gyártási kimenet már kész" -#: build/models.py:870 +#: build/models.py:877 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:953 build/serializers.py:219 build/serializers.py:268 -#: build/serializers.py:866 order/models.py:559 order/serializers.py:432 -#: order/serializers.py:575 part/serializers.py:1484 part/serializers.py:1884 -#: stock/models.py:678 stock/models.py:1496 stock/serializers.py:603 +#: build/models.py:960 build/serializers.py:223 build/serializers.py:272 +#: build/serializers.py:870 order/models.py:559 order/serializers.py:461 +#: order/serializers.py:624 part/serializers.py:1515 part/serializers.py:1921 +#: stock/models.py:678 stock/models.py:1496 stock/serializers.py:661 msgid "Quantity must be greater than zero" msgstr "Mennyiségnek nullánál többnek kell lennie" -#: build/models.py:958 build/serializers.py:224 +#: build/models.py:965 build/serializers.py:228 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:1018 build/serializers.py:547 +#: build/models.py:1025 build/serializers.py:551 #, 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:1359 +#: build/models.py:1366 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1384 +#: build/models.py:1391 msgid "Build object" msgstr "Gyártás objektum" -#: build/models.py:1398 build/models.py:1654 build/serializers.py:206 -#: build/serializers.py:253 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2563 -#: order/models.py:1272 order/models.py:1931 order/serializers.py:1327 +#: build/models.py:1405 build/models.py:1661 build/serializers.py:210 +#: build/serializers.py:257 build/serializers.py:1194 +#: build/templates/build/build_base.html:102 +#: build/templates/build/detail.html:34 common/models.py:2544 +#: order/models.py:1272 order/models.py:1957 order/serializers.py:1383 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:410 -#: part/forms.py:48 part/models.py:3170 part/models.py:4058 +#: part/forms.py:48 part/models.py:3180 part/models.py:4143 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1100,7 +1112,7 @@ msgstr "Gyártás objektum" #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:169 stock/admin.py:159 -#: stock/serializers.py:125 stock/serializers.py:165 stock/serializers.py:594 +#: stock/serializers.py:127 stock/serializers.py:167 stock/serializers.py:652 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 @@ -1111,8 +1123,8 @@ msgstr "Gyártás objektum" #: templates/js/translated/build.js:1746 templates/js/translated/build.js:2357 #: templates/js/translated/company.js:1818 #: templates/js/translated/model_renderers.js:236 -#: templates/js/translated/order.js:304 templates/js/translated/part.js:962 -#: templates/js/translated/part.js:1812 templates/js/translated/part.js:3342 +#: templates/js/translated/order.js:304 templates/js/translated/part.js:965 +#: templates/js/translated/part.js:1815 templates/js/translated/part.js:3345 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 @@ -1132,38 +1144,38 @@ msgstr "Gyártás objektum" msgid "Quantity" msgstr "Mennyiség" -#: build/models.py:1399 +#: build/models.py:1406 msgid "Required quantity for build order" msgstr "Gyártáshoz szükséges mennyiség" -#: build/models.py:1479 +#: build/models.py:1486 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:1488 +#: build/models.py:1495 #, 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:1498 order/models.py:1882 +#: build/models.py:1505 order/models.py:1908 msgid "Stock item is over-allocated" msgstr "Készlet túlfoglalva" -#: build/models.py:1504 order/models.py:1885 +#: build/models.py:1511 order/models.py:1911 msgid "Allocation quantity must be greater than zero" msgstr "Lefoglalt mennyiségnek nullánál többnek kell lennie" -#: build/models.py:1510 +#: build/models.py:1517 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:1569 +#: build/models.py:1576 msgid "Selected stock item does not match BOM line" msgstr "A készlet tétel nem egyezik az alkatrészjegyzékkel" -#: build/models.py:1641 build/serializers.py:846 order/serializers.py:1171 -#: order/serializers.py:1192 stock/models.py:359 stock/serializers.py:91 -#: stock/serializers.py:697 stock/serializers.py:1177 stock/serializers.py:1289 +#: build/models.py:1648 build/serializers.py:850 order/serializers.py:1227 +#: order/serializers.py:1248 stock/models.py:359 stock/serializers.py:93 +#: stock/serializers.py:755 stock/serializers.py:1243 stock/serializers.py:1355 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 @@ -1179,70 +1191,76 @@ msgstr "A készlet tétel nem egyezik az alkatrészjegyzékkel" msgid "Stock Item" msgstr "Készlet tétel" -#: build/models.py:1642 +#: build/models.py:1649 msgid "Source stock item" msgstr "Forrás készlet tétel" -#: build/models.py:1655 +#: build/models.py:1662 msgid "Stock quantity to allocate to build" msgstr "Készlet mennyiség amit foglaljunk a gyártáshoz" -#: build/models.py:1663 +#: build/models.py:1670 msgid "Install into" msgstr "Beépítés ebbe" -#: build/models.py:1664 +#: build/models.py:1671 msgid "Destination stock item" msgstr "Cél készlet tétel" -#: build/serializers.py:156 build/serializers.py:875 +#: build/serializers.py:89 build/serializers.py:1185 part/admin.py:41 +#: part/admin.py:405 part/models.py:3992 part/stocktake.py:220 +#: stock/admin.py:156 +msgid "Part Name" +msgstr "Alkatrész neve" + +#: build/serializers.py:160 build/serializers.py:879 #: templates/js/translated/build.js:1322 msgid "Build Output" msgstr "Gyártás kimenet" -#: build/serializers.py:168 +#: build/serializers.py:172 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:172 +#: build/serializers.py:176 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:176 +#: build/serializers.py:180 msgid "This build output has already been completed" msgstr "Ez a gyártási kimenet már elkészült" -#: build/serializers.py:187 +#: build/serializers.py:191 msgid "This build output is not fully allocated" msgstr "Ez a gyártási kimenet nincs teljesen lefoglalva" -#: build/serializers.py:207 build/serializers.py:254 +#: build/serializers.py:211 build/serializers.py:258 msgid "Enter quantity for build output" msgstr "Add meg a mennyiséget a gyártás kimenetéhez" -#: build/serializers.py:275 +#: build/serializers.py:279 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:278 +#: build/serializers.py:282 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:293 order/serializers.py:588 order/serializers.py:1331 -#: stock/serializers.py:614 templates/js/translated/purchase_order.js:1153 +#: build/serializers.py:297 order/serializers.py:637 order/serializers.py:1387 +#: stock/serializers.py:672 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:294 +#: build/serializers.py:298 msgid "Enter serial numbers for build outputs" msgstr "Add meg a sorozatszámokat a gyártás kimenetéhez" -#: build/serializers.py:299 build/serializers.py:440 build/serializers.py:512 -#: order/serializers.py:564 order/serializers.py:672 order/serializers.py:1656 -#: part/serializers.py:1140 stock/serializers.py:100 stock/serializers.py:625 -#: stock/serializers.py:785 stock/serializers.py:881 stock/serializers.py:1321 -#: stock/serializers.py:1577 stock/templates/stock/item_base.html:394 +#: build/serializers.py:303 build/serializers.py:444 build/serializers.py:516 +#: order/serializers.py:613 order/serializers.py:721 order/serializers.py:1714 +#: part/serializers.py:1168 stock/serializers.py:102 stock/serializers.py:683 +#: stock/serializers.py:843 stock/serializers.py:939 stock/serializers.py:1387 +#: stock/serializers.py:1643 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 @@ -1258,54 +1276,54 @@ msgstr "Add meg a sorozatszámokat a gyártás kimenetéhez" msgid "Location" msgstr "Hely" -#: build/serializers.py:300 +#: build/serializers.py:304 msgid "Stock location for build output" msgstr "Legyártott készlet helye" -#: build/serializers.py:314 +#: build/serializers.py:318 msgid "Auto Allocate Serial Numbers" msgstr "Sorozatszámok automatikus hozzárendelése" -#: build/serializers.py:315 +#: build/serializers.py:319 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:330 +#: build/serializers.py:334 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:355 stock/api.py:1041 +#: build/serializers.py:359 stock/api.py:1033 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:402 build/serializers.py:464 build/serializers.py:553 +#: build/serializers.py:406 build/serializers.py:468 build/serializers.py:557 msgid "A list of build outputs must be provided" msgstr "A gyártási kimenetek listáját meg kell adni" -#: build/serializers.py:441 +#: build/serializers.py:445 msgid "Stock location for scrapped outputs" msgstr "Selejtezet gyártási kimenetek helye" -#: build/serializers.py:447 +#: build/serializers.py:451 msgid "Discard Allocations" msgstr "Foglalások törlése" -#: build/serializers.py:448 +#: build/serializers.py:452 msgid "Discard any stock allocations for scrapped outputs" msgstr "Selejtezett kimenetek foglalásainak felszabadítása" -#: build/serializers.py:453 +#: build/serializers.py:457 msgid "Reason for scrapping build output(s)" msgstr "Selejtezés oka" -#: build/serializers.py:513 +#: build/serializers.py:517 msgid "Location for completed build outputs" msgstr "A kész gyártási kimenetek helye" -#: build/serializers.py:519 build/templates/build/build_base.html:151 +#: build/serializers.py:523 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:950 -#: order/models.py:2044 order/serializers.py:596 stock/admin.py:164 -#: stock/serializers.py:932 stock/serializers.py:1465 +#: order/models.py:2070 order/serializers.py:645 stock/admin.py:164 +#: stock/serializers.py:990 stock/serializers.py:1531 #: 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 @@ -1317,194 +1335,255 @@ msgstr "A kész gyártási kimenetek helye" msgid "Status" msgstr "Állapot" -#: build/serializers.py:525 +#: build/serializers.py:529 msgid "Accept Incomplete Allocation" msgstr "Hiányos foglalás elfogadása" -#: build/serializers.py:526 +#: build/serializers.py:530 msgid "Complete outputs if stock has not been fully allocated" -msgstr "Kimenetek befejezése akkor is ha a készlet nem\n" +msgstr "" +"Kimenetek befejezése akkor is ha a készlet nem\n" "lett teljesen lefoglalva" -#: build/serializers.py:611 +#: build/serializers.py:615 msgid "Consume Allocated Stock" msgstr "Lefoglalt készlet felhasználása" -#: build/serializers.py:612 +#: build/serializers.py:616 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:618 +#: build/serializers.py:622 msgid "Remove Incomplete Outputs" msgstr "Befejezetlen kimenetek törlése" -#: build/serializers.py:619 +#: build/serializers.py:623 msgid "Delete any build outputs which have not been completed" msgstr "A nem befejezett gyártási kimenetek törlése" -#: build/serializers.py:646 +#: build/serializers.py:650 msgid "Not permitted" msgstr "Nem engedélyezett" -#: build/serializers.py:647 +#: build/serializers.py:651 msgid "Accept as consumed by this build order" msgstr "Gyártásban fel lett használva" -#: build/serializers.py:648 +#: build/serializers.py:652 msgid "Deallocate before completing this build order" msgstr "Foglalás felszabadítása a készre jelentés előtt" -#: build/serializers.py:678 +#: build/serializers.py:682 msgid "Overallocated Stock" msgstr "Túlfoglalt készlet" -#: build/serializers.py:680 +#: build/serializers.py:684 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:690 +#: build/serializers.py:694 msgid "Some stock items have been overallocated" msgstr "Pár készlet tétel túl lett foglalva" -#: build/serializers.py:695 +#: build/serializers.py:699 msgid "Accept Unallocated" msgstr "Kiosztatlanok elfogadása" -#: build/serializers.py:696 +#: build/serializers.py:700 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:706 templates/js/translated/build.js:315 +#: build/serializers.py:710 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:711 order/serializers.py:300 order/serializers.py:1234 +#: build/serializers.py:715 order/serializers.py:319 order/serializers.py:1290 msgid "Accept Incomplete" msgstr "Befejezetlenek elfogadása" -#: build/serializers.py:712 +#: build/serializers.py:716 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:722 templates/js/translated/build.js:319 +#: build/serializers.py:726 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:731 templates/js/translated/build.js:303 +#: build/serializers.py:735 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:769 +#: build/serializers.py:773 msgid "Build Line" msgstr "Gyártás sor" -#: build/serializers.py:779 +#: build/serializers.py:783 msgid "Build output" msgstr "Gyártás kimenet" -#: build/serializers.py:787 +#: build/serializers.py:791 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:823 +#: build/serializers.py:827 msgid "Build Line Item" msgstr "Gyártás sor tétel" -#: build/serializers.py:837 +#: build/serializers.py:841 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:852 stock/serializers.py:1190 +#: build/serializers.py:856 stock/serializers.py:1256 msgid "Item must be in stock" msgstr "A tételnek kell legyen készlete" -#: build/serializers.py:900 order/serializers.py:1225 +#: build/serializers.py:904 order/serializers.py:1281 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Rendelkezésre álló mennyiség ({q}) túllépve" -#: build/serializers.py:906 +#: build/serializers.py:910 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:913 +#: build/serializers.py:917 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:937 order/serializers.py:1477 +#: build/serializers.py:941 order/serializers.py:1533 msgid "Allocation items must be provided" msgstr "A lefoglalandó tételeket meg kell adni" -#: build/serializers.py:1000 +#: build/serializers.py:1004 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:1008 +#: build/serializers.py:1012 msgid "Exclude Location" msgstr "Hely kizárása" -#: build/serializers.py:1009 +#: build/serializers.py:1013 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:1014 +#: build/serializers.py:1018 msgid "Interchangeable Stock" msgstr "Felcserélhető készlet" -#: build/serializers.py:1015 +#: build/serializers.py:1019 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:1020 +#: build/serializers.py:1024 msgid "Substitute Stock" msgstr "Készlet helyettesítés" -#: build/serializers.py:1021 +#: build/serializers.py:1025 msgid "Allow allocation of substitute parts" msgstr "Helyettesítő alkatrészek foglalásának engedélyezése" -#: build/serializers.py:1026 +#: build/serializers.py:1030 msgid "Optional Items" msgstr "Opcionális tételek" -#: build/serializers.py:1027 +#: build/serializers.py:1031 msgid "Allocate optional BOM items to build order" msgstr "Opcionális tételek lefoglalása a gyártáshoz" -#: build/serializers.py:1049 +#: build/serializers.py:1053 msgid "Failed to start auto-allocation task" msgstr "Nem sikerült az automatikus lefoglalás feladatot elindítani" -#: build/serializers.py:1139 part/models.py:3953 part/models.py:4387 -#: stock/api.py:804 +#: build/serializers.py:1095 +#, fuzzy +#| msgid "Supplier Part Orders" +msgid "Supplier Part Number" +msgstr "Beszállítói alkatrész rendelések" + +#: build/serializers.py:1096 company/models.py:500 +msgid "Manufacturer Part Number" +msgstr "Gyártói cikkszám" + +#: build/serializers.py:1097 stock/admin.py:53 stock/admin.py:175 +#: stock/serializers.py:454 +msgid "Location Name" +msgstr "Hely neve" + +#: build/serializers.py:1098 +#, fuzzy +#| msgid "Build Order Reference" +msgid "Build Reference" +msgstr "Gyártási utasítás azonosító" + +#: build/serializers.py:1099 +#, fuzzy +#| msgid "Reference" +msgid "BOM Reference" +msgstr "Azonosító" + +#: build/serializers.py:1186 part/admin.py:402 part/models.py:3993 +msgid "Part IPN" +msgstr "Alkatrész IPN" + +#: build/serializers.py:1192 common/models.py:1488 part/admin.py:113 +#: part/models.py:1068 templates/js/translated/table_filters.js:147 +#: templates/js/translated/table_filters.js:223 +#: templates/js/translated/table_filters.js:776 +msgid "Trackable" +msgstr "Követésre kötelezett" + +#: build/serializers.py:1196 part/models.py:4000 part/models.py:4472 +#: stock/api.py:796 msgid "BOM Item" msgstr "Alkatrészjegyzék tétel" -#: build/serializers.py:1148 templates/js/translated/index.js:130 +#: build/serializers.py:1205 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "Lefoglalt készlet" -#: build/serializers.py:1153 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:828 part/serializers.py:1502 +#: build/serializers.py:1210 part/admin.py:132 part/bom.py:173 +#: part/serializers.py:856 part/serializers.py:1533 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2613 templates/js/translated/part.js:710 -#: templates/js/translated/part.js:2149 +#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709 +#: templates/js/translated/part.js:2152 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "Rendelve" -#: build/serializers.py:1158 part/serializers.py:1504 -#: templates/js/translated/build.js:2617 +#: build/serializers.py:1215 part/serializers.py:1535 +#: templates/js/translated/build.js:2618 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "Gyártásban" -#: build/serializers.py:1163 part/bom.py:172 part/serializers.py:1527 +#: build/serializers.py:1220 part/bom.py:172 part/serializers.py:1558 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" msgstr "Elérhető készlet" +#: build/serializers.py:1224 +#, fuzzy +#| msgid "Substitute Stock" +msgid "Available Substitute Stock" +msgstr "Készlet helyettesítés" + +#: build/serializers.py:1225 +#, fuzzy +#| msgid "Allow Variant Stock" +msgid "Available Variant Stock" +msgstr "Készlet változatok engedélyezése" + +#: build/serializers.py:1226 +#, fuzzy +#| msgid "Has Available Stock" +msgid "Total Available Stock" +msgstr "Van elérhető készlete" + +#: build/serializers.py:1227 part/serializers.py:862 +msgid "External Stock" +msgstr "Külső raktárkészlet" + #: build/status_codes.py:11 generic/states/tests.py:17 order/status_codes.py:12 #: order/status_codes.py:37 order/status_codes.py:64 order/status_codes.py:82 #: templates/js/translated/table_filters.js:598 @@ -1520,7 +1599,8 @@ msgstr "Folyamatban" msgid "Cancelled" msgstr "Törölve" -#: build/status_codes.py:14 generic/states/tests.py:19 order/status_codes.py:14 +#: build/status_codes.py:14 generic/states/tests.py:19 importer/models.py:468 +#: importer/status_codes.py:19 order/status_codes.py:14 #: order/status_codes.py:44 order/status_codes.py:69 #: order/templates/order/order_base.html:158 #: order/templates/order/sales_order_base.html:165 report/models.py:444 @@ -1653,11 +1733,12 @@ 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:309 -#: order/models.py:1307 order/templates/order/order_base.html:186 +#: order/models.py:1307 order/serializers.py:174 +#: order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: 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:1831 +#: templates/js/translated/build.js:2239 templates/js/translated/part.js:1834 #: templates/js/translated/purchase_order.js:1739 #: templates/js/translated/purchase_order.js:2147 #: templates/js/translated/return_order.js:346 @@ -1690,8 +1771,8 @@ msgid "Completed Outputs" msgstr "Befejezett kimenetek" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1463 order/models.py:845 -#: order/models.py:1551 order/models.py:1665 order/models.py:1819 +#: build/templates/build/detail.html:101 order/api.py:1384 order/models.py:845 +#: order/models.py:1566 order/models.py:1681 order/models.py:1840 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 @@ -1741,7 +1822,7 @@ msgstr "Készlet forrás" msgid "Stock can be taken from any available location." msgstr "Készlet bármely rendelkezésre álló helyről felhasználható." -#: build/templates/build/detail.html:49 order/models.py:1443 +#: build/templates/build/detail.html:49 order/models.py:1448 #: templates/js/translated/purchase_order.js:2189 msgid "Destination" msgstr "Cél" @@ -1893,31 +1974,31 @@ msgstr "Gyártási utasítás részletei" msgid "Incomplete Outputs" msgstr "Befejezetlen kimenetek" -#: common/api.py:689 +#: common/api.py:690 msgid "Is Link" msgstr "" -#: common/api.py:697 +#: common/api.py:698 msgid "Is File" msgstr "" -#: common/api.py:739 +#: common/api.py:740 msgid "User does not have permission to delete this attachment" msgstr "" -#: common/currency.py:130 +#: common/currency.py:132 msgid "Invalid currency code" msgstr "" -#: common/currency.py:132 +#: common/currency.py:134 msgid "Duplicate currency code" msgstr "" -#: common/currency.py:137 +#: common/currency.py:139 msgid "No valid currency codes provided" msgstr "" -#: common/currency.py:154 +#: common/currency.py:156 msgid "No plugin" msgstr "Nincsen plugin" @@ -1971,1635 +2052,1608 @@ msgstr "Legutóbbi frissítés időpontja" msgid "Site URL is locked by configuration" msgstr "A site URL blokkolva van a konfigurációban" -#: common/models.py:132 +#: common/models.py:137 msgid "Unique project code" msgstr "Egyedi projektszám" -#: common/models.py:139 +#: common/models.py:144 msgid "Project description" msgstr "Projekt leírása" -#: common/models.py:148 +#: common/models.py:153 msgid "User or group responsible for this project" msgstr "A projektért felelős felhasználó vagy csoport" -#: common/models.py:765 +#: common/models.py:770 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:769 +#: common/models.py:774 msgid "Settings value" msgstr "Beállítás értéke" -#: common/models.py:821 +#: common/models.py:826 msgid "Chosen value is not a valid option" msgstr "A kiválasztott érték nem egy érvényes lehetőség" -#: common/models.py:837 +#: common/models.py:842 msgid "Value must be a boolean value" msgstr "Az érték bináris kell legyen" -#: common/models.py:845 +#: common/models.py:850 msgid "Value must be an integer value" msgstr "Az érték egész szám kell legyen" -#: common/models.py:882 +#: common/models.py:887 msgid "Key string must be unique" msgstr "Kulcs string egyedi kell legyen" -#: common/models.py:1114 +#: common/models.py:1119 msgid "No group" msgstr "Nincs csoport" -#: common/models.py:1213 +#: common/models.py:1218 msgid "Restart required" msgstr "Újraindítás szükséges" -#: common/models.py:1215 +#: common/models.py:1220 msgid "A setting has been changed which requires a server restart" msgstr "Egy olyan beállítás megváltozott ami a kiszolgáló újraindítását igényli" -#: common/models.py:1222 +#: common/models.py:1227 msgid "Pending migrations" msgstr "Függőben levő migrációk" -#: common/models.py:1223 +#: common/models.py:1228 msgid "Number of pending database migrations" msgstr "Függőben levő adatbázis migrációk" -#: common/models.py:1228 +#: common/models.py:1233 msgid "Server Instance Name" msgstr "Kiszolgáló példány neve" -#: common/models.py:1230 +#: common/models.py:1235 msgid "String descriptor for the server instance" msgstr "String leíró a kiszolgáló példányhoz" -#: common/models.py:1234 +#: common/models.py:1239 msgid "Use instance name" msgstr "Példány név használata" -#: common/models.py:1235 +#: common/models.py:1240 msgid "Use the instance name in the title-bar" msgstr "Példány név használata a címsorban" -#: common/models.py:1240 +#: common/models.py:1245 msgid "Restrict showing `about`" msgstr "Verzió infók megjelenítésének tiltása" -#: common/models.py:1241 +#: common/models.py:1246 msgid "Show the `about` modal only to superusers" msgstr "Verzió infók megjelenítése csak admin felhasználóknak" -#: common/models.py:1246 company/models.py:111 company/models.py:112 +#: common/models.py:1251 company/models.py:111 company/models.py:112 msgid "Company name" msgstr "Cég neve" -#: common/models.py:1247 +#: common/models.py:1252 msgid "Internal company name" msgstr "Belső cégnév" -#: common/models.py:1251 +#: common/models.py:1256 msgid "Base URL" msgstr "Kiindulási URL" -#: common/models.py:1252 +#: common/models.py:1257 msgid "Base URL for server instance" msgstr "Kiindulási URL a kiszolgáló példányhoz" -#: common/models.py:1258 +#: common/models.py:1263 msgid "Default Currency" msgstr "Alapértelmezett pénznem" -#: common/models.py:1259 +#: common/models.py:1264 msgid "Select base currency for pricing calculations" msgstr "Válassz alap pénznemet az ár számításokhoz" -#: common/models.py:1265 +#: common/models.py:1270 msgid "Supported Currencies" msgstr "" -#: common/models.py:1266 +#: common/models.py:1271 msgid "List of supported currency codes" msgstr "" -#: common/models.py:1272 +#: common/models.py:1277 msgid "Currency Update Interval" msgstr "Árfolyam frissítési gyakoriság" -#: common/models.py:1274 +#: common/models.py:1279 msgid "How often to update exchange rates (set to zero to disable)" msgstr "Milyen gyakran frissítse az árfolyamokat (nulla a kikapcsoláshoz)" -#: common/models.py:1277 common/models.py:1333 common/models.py:1346 -#: common/models.py:1354 common/models.py:1363 common/models.py:1372 -#: common/models.py:1596 common/models.py:1618 common/models.py:1733 -#: common/models.py:2100 +#: common/models.py:1282 common/models.py:1338 common/models.py:1351 +#: common/models.py:1359 common/models.py:1368 common/models.py:1377 +#: common/models.py:1601 common/models.py:1623 common/models.py:1738 +#: common/models.py:2111 msgid "days" msgstr "nap" -#: common/models.py:1281 +#: common/models.py:1286 msgid "Currency Update Plugin" msgstr "Árfolyam frissítő plugin" -#: common/models.py:1282 +#: common/models.py:1287 msgid "Currency update plugin to use" msgstr "Kiválasztott árfolyam frissítő plugin" -#: common/models.py:1287 +#: common/models.py:1292 msgid "Download from URL" msgstr "Letöltés URL-ről" -#: common/models.py:1289 +#: common/models.py:1294 msgid "Allow download of remote images and files from external URL" msgstr "Képek és fájlok letöltésének engedélyezése külső URL-ről" -#: common/models.py:1295 +#: common/models.py:1300 msgid "Download Size Limit" msgstr "Letöltési méret korlát" -#: common/models.py:1296 +#: common/models.py:1301 msgid "Maximum allowable download size for remote image" msgstr "Maximum megengedett letöltési mérete a távoli képeknek" -#: common/models.py:1302 +#: common/models.py:1307 msgid "User-agent used to download from URL" msgstr "Felhasznált User-agent az URL-ről letöltéshez" -#: common/models.py:1304 +#: common/models.py:1309 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "A külső URL-ről letöltéshez használt user-agent felülbírálásának engedélyezése (hagyd üresen az alapértelmezéshez)" -#: common/models.py:1309 +#: common/models.py:1314 msgid "Strict URL Validation" msgstr "Erős URL validáció" -#: common/models.py:1310 +#: common/models.py:1315 msgid "Require schema specification when validating URLs" msgstr "Sablon specifikáció igénylése az URL validálásnál" -#: common/models.py:1315 +#: common/models.py:1320 msgid "Require confirm" msgstr "Megerősítés igénylése" -#: common/models.py:1316 +#: common/models.py:1321 msgid "Require explicit user confirmation for certain action." msgstr "Kérjen felhasználói megerősítést bizonyos műveletekhez" -#: common/models.py:1321 +#: common/models.py:1326 msgid "Tree Depth" msgstr "Fa mélység" -#: common/models.py:1323 +#: common/models.py:1328 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "Alapértelmezett mélység a fa nézetekben. A mélyebb szintek betöltődnek ha szükségesek." -#: common/models.py:1329 +#: common/models.py:1334 msgid "Update Check Interval" msgstr "Frissítés keresés gyakorisága" -#: common/models.py:1330 +#: common/models.py:1335 msgid "How often to check for updates (set to zero to disable)" msgstr "Milyen gyakran ellenőrizze van-e új frissítés (0=soha)" -#: common/models.py:1336 +#: common/models.py:1341 msgid "Automatic Backup" msgstr "Automatikus biztonsági mentés" -#: common/models.py:1337 +#: common/models.py:1342 msgid "Enable automatic backup of database and media files" msgstr "Adatbázis és média fájlok automatikus biztonsági mentése" -#: common/models.py:1342 +#: common/models.py:1347 msgid "Auto Backup Interval" msgstr "Automata biztonsági mentés gyakorisága" -#: common/models.py:1343 +#: common/models.py:1348 msgid "Specify number of days between automated backup events" msgstr "Hány naponta készüljön automatikus biztonsági mentés" -#: common/models.py:1349 +#: common/models.py:1354 msgid "Task Deletion Interval" msgstr "Feladat törlési gyakoriság" -#: common/models.py:1351 +#: common/models.py:1356 msgid "Background task results will be deleted after specified number of days" msgstr "Háttérfolyamat eredmények törlése megadott nap eltelte után" -#: common/models.py:1358 +#: common/models.py:1363 msgid "Error Log Deletion Interval" msgstr "Hibanapló törlési gyakoriság" -#: common/models.py:1360 +#: common/models.py:1365 msgid "Error logs will be deleted after specified number of days" msgstr "Hibanapló bejegyzések törlése megadott nap eltelte után" -#: common/models.py:1367 +#: common/models.py:1372 msgid "Notification Deletion Interval" msgstr "Értesítés törlési gyakoriság" -#: common/models.py:1369 +#: common/models.py:1374 msgid "User notifications will be deleted after specified number of days" msgstr "Felhasználói értesítések törlése megadott nap eltelte után" -#: common/models.py:1376 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1381 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "Vonalkód támogatás" -#: common/models.py:1377 +#: common/models.py:1382 msgid "Enable barcode scanner support in the web interface" msgstr "Vonalkód olvasó támogatás engedélyezése a web felületen" -#: common/models.py:1382 +#: common/models.py:1387 msgid "Barcode Input Delay" msgstr "Vonalkód beadási késleltetés" -#: common/models.py:1383 +#: common/models.py:1388 msgid "Barcode input processing delay time" msgstr "Vonalkód beadáskor a feldolgozás késleltetési ideje" -#: common/models.py:1389 +#: common/models.py:1394 msgid "Barcode Webcam Support" msgstr "Webkamerás vonalkód olvasás" -#: common/models.py:1390 +#: common/models.py:1395 msgid "Allow barcode scanning via webcam in browser" msgstr "Webkamerás kódolvasás engedélyezése a böngészőből" -#: common/models.py:1395 +#: common/models.py:1400 msgid "Barcode Show Data" msgstr "" -#: common/models.py:1396 +#: common/models.py:1401 msgid "Display barcode data in browser as text" msgstr "" -#: common/models.py:1401 +#: common/models.py:1406 msgid "Part Revisions" msgstr "Alkatrész változatok" -#: common/models.py:1402 +#: common/models.py:1407 msgid "Enable revision field for Part" msgstr "Alkatrész változat vagy verziószám tulajdonság használata" -#: common/models.py:1407 +#: common/models.py:1412 msgid "Allow Deletion from Assembly" msgstr "" -#: common/models.py:1408 +#: common/models.py:1413 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/models.py:1413 +#: common/models.py:1418 msgid "IPN Regex" msgstr "IPN reguláris kifejezés" -#: common/models.py:1414 +#: common/models.py:1419 msgid "Regular expression pattern for matching Part IPN" msgstr "Reguláris kifejezés ami illeszkedik az alkatrész IPN-re" -#: common/models.py:1417 +#: common/models.py:1422 msgid "Allow Duplicate IPN" msgstr "Többször is előforduló IPN engedélyezése" -#: common/models.py:1418 +#: common/models.py:1423 msgid "Allow multiple parts to share the same IPN" msgstr "Azonos IPN használható legyen több alkatrészre is" -#: common/models.py:1423 +#: common/models.py:1428 msgid "Allow Editing IPN" msgstr "IPN szerkesztésének engedélyezése" -#: common/models.py:1424 +#: common/models.py:1429 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:1429 +#: common/models.py:1434 msgid "Copy Part BOM Data" msgstr "Alkatrészjegyzék adatok másolása" -#: common/models.py:1430 +#: common/models.py:1435 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:1435 +#: common/models.py:1440 msgid "Copy Part Parameter Data" msgstr "Alkatrész paraméterek másolása" -#: common/models.py:1436 +#: common/models.py:1441 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:1441 +#: common/models.py:1446 msgid "Copy Part Test Data" msgstr "Alkatrész teszt adatok másolása" -#: common/models.py:1442 +#: common/models.py:1447 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:1447 +#: common/models.py:1452 msgid "Copy Category Parameter Templates" msgstr "Kategória paraméter sablonok másolása" -#: common/models.py:1448 +#: common/models.py:1453 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:1453 part/admin.py:108 part/models.py:3795 +#: common/models.py:1458 part/admin.py:108 part/models.py:3835 #: report/models.py:294 report/models.py:361 report/serializers.py:90 -#: report/serializers.py:131 stock/serializers.py:227 +#: report/serializers.py:131 stock/serializers.py:232 #: templates/js/translated/table_filters.js:139 -#: templates/js/translated/table_filters.js:767 +#: templates/js/translated/table_filters.js:772 msgid "Template" msgstr "Sablon" -#: common/models.py:1454 +#: common/models.py:1459 msgid "Parts are templates by default" msgstr "Alkatrészek alapból sablon alkatrészek legyenek" -#: common/models.py:1459 part/admin.py:91 part/admin.py:425 part/models.py:1052 +#: common/models.py:1464 part/admin.py:91 part/admin.py:425 part/models.py:1056 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 -#: templates/js/translated/table_filters.js:721 +#: templates/js/translated/table_filters.js:726 msgid "Assembly" msgstr "Gyártmány" -#: common/models.py:1460 +#: common/models.py:1465 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:1465 part/admin.py:95 part/models.py:1058 -#: templates/js/translated/table_filters.js:729 +#: common/models.py:1470 part/admin.py:95 part/models.py:1062 +#: templates/js/translated/table_filters.js:734 msgid "Component" msgstr "Összetevő" -#: common/models.py:1466 +#: common/models.py:1471 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:1471 part/admin.py:100 part/models.py:1070 +#: common/models.py:1476 part/admin.py:100 part/models.py:1074 msgid "Purchaseable" msgstr "Beszerezhető" -#: common/models.py:1472 +#: common/models.py:1477 msgid "Parts are purchaseable by default" msgstr "Alkatrészek alapból beszerezhetők legyenek" -#: common/models.py:1477 part/admin.py:104 part/models.py:1076 -#: templates/js/translated/table_filters.js:755 +#: common/models.py:1482 part/admin.py:104 part/models.py:1080 +#: templates/js/translated/table_filters.js:760 msgid "Salable" msgstr "Értékesíthető" -#: common/models.py:1478 +#: common/models.py:1483 msgid "Parts are salable by default" msgstr "Alkatrészek alapból eladhatók legyenek" -#: common/models.py:1483 part/admin.py:113 part/models.py:1064 -#: 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:1484 +#: common/models.py:1489 msgid "Parts are trackable by default" msgstr "Alkatrészek alapból követésre kötelezettek legyenek" -#: common/models.py:1489 part/admin.py:117 part/models.py:1086 +#: common/models.py:1494 part/admin.py:117 part/models.py:1096 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 -#: templates/js/translated/table_filters.js:775 +#: templates/js/translated/table_filters.js:780 msgid "Virtual" msgstr "Virtuális" -#: common/models.py:1490 +#: common/models.py:1495 msgid "Parts are virtual by default" msgstr "Alkatrészek alapból virtuálisak legyenek" -#: common/models.py:1495 +#: common/models.py:1500 msgid "Show Import in Views" msgstr "Importálás megjelenítése a nézetekben" -#: common/models.py:1496 +#: common/models.py:1501 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:1501 +#: common/models.py:1506 msgid "Show related parts" msgstr "Kapcsolódó alkatrészek megjelenítése" -#: common/models.py:1502 +#: common/models.py:1507 msgid "Display related parts for a part" msgstr "Alkatrész kapcsolódó alkatrészeinek megjelenítése" -#: common/models.py:1507 +#: common/models.py:1512 msgid "Initial Stock Data" msgstr "Kezdeti készlet adatok" -#: common/models.py:1508 +#: common/models.py:1513 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:1513 templates/js/translated/part.js:107 +#: common/models.py:1518 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "Kezdeti beszállítói adatok" -#: common/models.py:1515 +#: common/models.py:1520 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:1521 +#: common/models.py:1526 msgid "Part Name Display Format" msgstr "Alkatrész név megjelenítés formátuma" -#: common/models.py:1522 +#: common/models.py:1527 msgid "Format to display the part name" msgstr "Formátum az alkatrész név megjelenítéséhez" -#: common/models.py:1528 +#: common/models.py:1533 msgid "Part Category Default Icon" msgstr "Alkatrész kategória alapértelmezett ikon" -#: common/models.py:1529 +#: common/models.py:1534 msgid "Part category default icon (empty means no icon)" msgstr "Alkatrész kategória alapértelmezett ikon (üres ha nincs)" -#: common/models.py:1533 +#: common/models.py:1538 msgid "Enforce Parameter Units" msgstr "Csak választható mértékegységek" -#: common/models.py:1535 +#: common/models.py:1540 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:1541 +#: common/models.py:1546 msgid "Minimum Pricing Decimal Places" msgstr "Áraknál használt tizedesjegyek min. száma" -#: common/models.py:1543 +#: common/models.py:1548 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:1554 +#: common/models.py:1559 msgid "Maximum Pricing Decimal Places" msgstr "Áraknál használt tizedesjegyek max. száma" -#: common/models.py:1556 +#: common/models.py:1561 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:1567 +#: common/models.py:1572 msgid "Use Supplier Pricing" msgstr "Beszállítói árazás használata" -#: common/models.py:1569 +#: common/models.py:1574 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:1575 +#: common/models.py:1580 msgid "Purchase History Override" msgstr "Beszerzési előzmények felülbírálása" -#: common/models.py:1577 +#: common/models.py:1582 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:1583 +#: common/models.py:1588 msgid "Use Stock Item Pricing" msgstr "Készlet tétel ár használata" -#: common/models.py:1585 +#: common/models.py:1590 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:1591 +#: common/models.py:1596 msgid "Stock Item Pricing Age" msgstr "Készlet tétel ár kora" -#: common/models.py:1593 +#: common/models.py:1598 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:1600 +#: common/models.py:1605 msgid "Use Variant Pricing" msgstr "Alkatrészváltozat árak használata" -#: common/models.py:1601 +#: common/models.py:1606 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:1606 +#: common/models.py:1611 msgid "Active Variants Only" msgstr "Csak az aktív változatokat" -#: common/models.py:1608 +#: common/models.py:1613 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:1614 +#: common/models.py:1619 msgid "Pricing Rebuild Interval" msgstr "Árazás újraszámítás gyakoriság" -#: common/models.py:1616 +#: common/models.py:1621 msgid "Number of days before part pricing is automatically updated" msgstr "Árak automatikus frissítése ennyi nap után" -#: common/models.py:1623 +#: common/models.py:1628 msgid "Internal Prices" msgstr "Belső árak" -#: common/models.py:1624 +#: common/models.py:1629 msgid "Enable internal prices for parts" msgstr "Alkatrészekhez belső ár engedélyezése" -#: common/models.py:1629 +#: common/models.py:1634 msgid "Internal Price Override" msgstr "Belső ár felülbírálása" -#: common/models.py:1631 +#: common/models.py:1636 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:1637 +#: common/models.py:1642 msgid "Enable label printing" msgstr "Címke nyomtatás engedélyezése" -#: common/models.py:1638 +#: common/models.py:1643 msgid "Enable label printing from the web interface" msgstr "Címke nyomtatás engedélyezése a web felületről" -#: common/models.py:1643 +#: common/models.py:1648 msgid "Label Image DPI" msgstr "Címke kép DPI" -#: common/models.py:1645 +#: common/models.py:1650 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:1651 +#: common/models.py:1656 msgid "Enable Reports" msgstr "Riportok engedélyezése" -#: common/models.py:1652 +#: common/models.py:1657 msgid "Enable generation of reports" msgstr "Riportok előállításának engedélyezése" -#: common/models.py:1657 templates/stats.html:25 +#: common/models.py:1662 templates/stats.html:25 msgid "Debug Mode" msgstr "Debug mód" -#: common/models.py:1658 +#: common/models.py:1663 msgid "Generate reports in debug mode (HTML output)" msgstr "Riportok előállítása HTML formátumban (hibakereséshez)" -#: common/models.py:1663 +#: common/models.py:1668 msgid "Log Report Errors" msgstr "Jelentési hibák naplózása" -#: common/models.py:1664 +#: common/models.py:1669 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:1669 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1674 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:302 msgid "Page Size" msgstr "Lapméret" -#: common/models.py:1670 +#: common/models.py:1675 msgid "Default page size for PDF reports" msgstr "Alapértelmezett lapméret a PDF riportokhoz" -#: common/models.py:1675 +#: common/models.py:1680 msgid "Enable Test Reports" msgstr "Teszt riportok engedélyezése" -#: common/models.py:1676 +#: common/models.py:1681 msgid "Enable generation of test reports" msgstr "Teszt riportok előállításának engedélyezése" -#: common/models.py:1681 +#: common/models.py:1686 msgid "Attach Test Reports" msgstr "Teszt riportok hozzáadása" -#: common/models.py:1683 +#: common/models.py:1688 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:1689 +#: common/models.py:1694 msgid "Globally Unique Serials" msgstr "Globálisan egyedi sorozatszámok" -#: common/models.py:1690 +#: common/models.py:1695 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:1695 +#: common/models.py:1700 msgid "Autofill Serial Numbers" msgstr "Sorozatszámok automatikus kitöltése" -#: common/models.py:1696 +#: common/models.py:1701 msgid "Autofill serial numbers in forms" msgstr "Sorozatszámok automatikus kitöltése a formokon" -#: common/models.py:1701 +#: common/models.py:1706 msgid "Delete Depleted Stock" msgstr "Kimerült készlet törlése" -#: common/models.py:1703 +#: common/models.py:1708 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:1709 +#: common/models.py:1714 msgid "Batch Code Template" msgstr "Batch kód sablon" -#: common/models.py:1711 +#: common/models.py:1716 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:1716 +#: common/models.py:1721 msgid "Stock Expiry" msgstr "Készlet lejárata" -#: common/models.py:1717 +#: common/models.py:1722 msgid "Enable stock expiry functionality" msgstr "Készlet lejárat kezelésének engedélyezése" -#: common/models.py:1722 +#: common/models.py:1727 msgid "Sell Expired Stock" msgstr "Lejárt készlet értékesítése" -#: common/models.py:1723 +#: common/models.py:1728 msgid "Allow sale of expired stock" msgstr "Lejárt készlet értékesítésének engedélyezése" -#: common/models.py:1728 +#: common/models.py:1733 msgid "Stock Stale Time" msgstr "Álló készlet ideje" -#: common/models.py:1730 +#: common/models.py:1735 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:1737 +#: common/models.py:1742 msgid "Build Expired Stock" msgstr "Lejárt készlet gyártása" -#: common/models.py:1738 +#: common/models.py:1743 msgid "Allow building with expired stock" msgstr "Gyártás engedélyezése lejárt készletből" -#: common/models.py:1743 +#: common/models.py:1748 msgid "Stock Ownership Control" msgstr "Készlet tulajdonosok kezelése" -#: common/models.py:1744 +#: common/models.py:1749 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:1749 +#: common/models.py:1754 msgid "Stock Location Default Icon" msgstr "Hely alapértelmezett ikon" -#: common/models.py:1750 +#: common/models.py:1755 msgid "Stock location default icon (empty means no icon)" msgstr "Hely alapértelmezett ikon (üres ha nincs)" -#: common/models.py:1754 +#: common/models.py:1759 msgid "Show Installed Stock Items" msgstr "Beépített készlet megjelenítése" -#: common/models.py:1755 +#: common/models.py:1760 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:1760 +#: common/models.py:1765 msgid "Check BOM when installing items" msgstr "Tételek telepítésekor a darabjegyzék ellenőrzése" -#: common/models.py:1762 +#: common/models.py:1767 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:1768 +#: common/models.py:1773 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1770 +#: common/models.py:1775 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1776 +#: common/models.py:1781 msgid "Build Order Reference Pattern" msgstr "Gyártási utasítás azonosító minta" -#: common/models.py:1778 +#: common/models.py:1783 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:1784 common/models.py:1826 common/models.py:1848 -#: common/models.py:1884 +#: common/models.py:1789 common/models.py:1837 common/models.py:1859 +#: common/models.py:1895 msgid "Require Responsible Owner" msgstr "Felelős tulajdonos szükséges" -#: common/models.py:1785 common/models.py:1827 common/models.py:1849 -#: common/models.py:1885 +#: common/models.py:1790 common/models.py:1838 common/models.py:1860 +#: common/models.py:1896 msgid "A responsible owner must be assigned to each order" msgstr "Minden rendeléshez felelőst kell rendelni" -#: common/models.py:1790 +#: common/models.py:1795 msgid "Require Active Part" msgstr "" -#: common/models.py:1791 +#: common/models.py:1796 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/models.py:1796 +#: common/models.py:1801 +#, fuzzy +#| msgid "Required Part" +msgid "Require Locked Part" +msgstr "Szükséges alkatrész" + +#: common/models.py:1802 +#, fuzzy +#| msgid "No build order allocations found" +msgid "Prevent build order creation for unlocked parts" +msgstr "Nincs gyártási utasításhoz történő foglalás" + +#: common/models.py:1807 msgid "Require Valid BOM" msgstr "" -#: common/models.py:1798 +#: common/models.py:1809 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/models.py:1804 +#: common/models.py:1815 msgid "Block Until Tests Pass" msgstr "Blokkolás a tesztek sikeres végrehajtásáig" -#: common/models.py:1806 +#: common/models.py:1817 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:1812 +#: common/models.py:1823 msgid "Enable Return Orders" msgstr "Visszavétel engedélyezése" -#: common/models.py:1813 +#: common/models.py:1824 msgid "Enable return order functionality in the user interface" msgstr "Visszavételek engedélyezése a felületen" -#: common/models.py:1818 +#: common/models.py:1829 msgid "Return Order Reference Pattern" msgstr "Visszavétel azonosító minta" -#: common/models.py:1820 +#: common/models.py:1831 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:1832 +#: common/models.py:1843 msgid "Edit Completed Return Orders" msgstr "Befejezett visszavétel szerkesztése" -#: common/models.py:1834 +#: common/models.py:1845 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:1840 +#: common/models.py:1851 msgid "Sales Order Reference Pattern" msgstr "Vevői rendelés azonosító minta" -#: common/models.py:1842 +#: common/models.py:1853 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:1854 +#: common/models.py:1865 msgid "Sales Order Default Shipment" msgstr "Vevői rendeléshez alapértelmezett szállítmány" -#: common/models.py:1855 +#: common/models.py:1866 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:1860 +#: common/models.py:1871 msgid "Edit Completed Sales Orders" msgstr "Befejezett vevői rendelés szerkesztése" -#: common/models.py:1862 +#: common/models.py:1873 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:1868 +#: common/models.py:1879 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1870 +#: common/models.py:1881 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1876 +#: common/models.py:1887 msgid "Purchase Order Reference Pattern" msgstr "Beszerzési rendelés azonosító minta" -#: common/models.py:1878 +#: common/models.py:1889 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:1890 +#: common/models.py:1901 msgid "Edit Completed Purchase Orders" msgstr "Befejezett beszerzési rendelés szerkesztése" -#: common/models.py:1892 +#: common/models.py:1903 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:1898 +#: common/models.py:1909 msgid "Auto Complete Purchase Orders" msgstr "Beszerzési rendelések automatikus befejezése" -#: common/models.py:1900 +#: common/models.py:1911 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:1907 +#: common/models.py:1918 msgid "Enable password forgot" msgstr "Elfelejtett jelszó engedélyezése" -#: common/models.py:1908 +#: common/models.py:1919 msgid "Enable password forgot function on the login pages" msgstr "Elfelejtett jelszó funkció engedélyezése a bejentkező oldalon" -#: common/models.py:1913 +#: common/models.py:1924 msgid "Enable registration" msgstr "Regisztráció engedélyezése" -#: common/models.py:1914 +#: common/models.py:1925 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:1919 +#: common/models.py:1930 msgid "Enable SSO" msgstr "SSO engedélyezése" -#: common/models.py:1920 +#: common/models.py:1931 msgid "Enable SSO on the login pages" msgstr "SSO engedélyezése a bejelentkező oldalon" -#: common/models.py:1925 +#: common/models.py:1936 msgid "Enable SSO registration" msgstr "SSO regisztráció engedélyezése" -#: common/models.py:1927 +#: common/models.py:1938 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:1933 +#: common/models.py:1944 msgid "Enable SSO group sync" msgstr "" -#: common/models.py:1935 +#: common/models.py:1946 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/models.py:1941 +#: common/models.py:1952 msgid "SSO group key" msgstr "" -#: common/models.py:1943 +#: common/models.py:1954 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/models.py:1949 +#: common/models.py:1960 msgid "SSO group map" msgstr "" -#: common/models.py:1951 +#: common/models.py:1962 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/models.py:1957 +#: common/models.py:1968 msgid "Remove groups outside of SSO" msgstr "" -#: common/models.py:1959 +#: common/models.py:1970 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/models.py:1965 +#: common/models.py:1976 msgid "Email required" msgstr "Email szükséges" -#: common/models.py:1966 +#: common/models.py:1977 msgid "Require user to supply mail on signup" msgstr "Kötelező email megadás regisztrációkor" -#: common/models.py:1971 +#: common/models.py:1982 msgid "Auto-fill SSO users" msgstr "SSO felhasználók automatikus kitöltése" -#: common/models.py:1973 +#: common/models.py:1984 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:1979 +#: common/models.py:1990 msgid "Mail twice" msgstr "Email kétszer" -#: common/models.py:1980 +#: common/models.py:1991 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:1985 +#: common/models.py:1996 msgid "Password twice" msgstr "Jelszó kétszer" -#: common/models.py:1986 +#: common/models.py:1997 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:1991 +#: common/models.py:2002 msgid "Allowed domains" msgstr "Engedélyezett domainek" -#: common/models.py:1993 +#: common/models.py:2004 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:1999 +#: common/models.py:2010 msgid "Group on signup" msgstr "Csoport regisztráláskor" -#: common/models.py:2001 +#: common/models.py:2012 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/models.py:2007 +#: common/models.py:2018 msgid "Enforce MFA" msgstr "Többfaktoros hitelesítés kényszerítése" -#: common/models.py:2008 +#: common/models.py:2019 msgid "Users must use multifactor security." msgstr "A felhasználóknak többfaktoros hitelesítést kell használniuk." -#: common/models.py:2013 +#: common/models.py:2024 msgid "Check plugins on startup" msgstr "Pluginok ellenőrzése indításkor" -#: common/models.py:2015 +#: common/models.py:2026 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:2023 +#: common/models.py:2034 msgid "Check for plugin updates" msgstr "Plugin frissítések ellenőrzése" -#: common/models.py:2024 +#: common/models.py:2035 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:2030 +#: common/models.py:2041 msgid "Enable URL integration" msgstr "URL integráció engedélyezése" -#: common/models.py:2031 +#: common/models.py:2042 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:2037 +#: common/models.py:2048 msgid "Enable navigation integration" msgstr "Navigációs integráció engedélyezése" -#: common/models.py:2038 +#: common/models.py:2049 msgid "Enable plugins to integrate into navigation" msgstr "Navigációs integráció engedélyezése a pluginok számára" -#: common/models.py:2044 +#: common/models.py:2055 msgid "Enable app integration" msgstr "App integráció engedélyezése" -#: common/models.py:2045 +#: common/models.py:2056 msgid "Enable plugins to add apps" msgstr "App hozzáadásának engedélyezése a pluginok számára" -#: common/models.py:2051 +#: common/models.py:2062 msgid "Enable schedule integration" msgstr "Ütemezés integráció engedélyezése" -#: common/models.py:2052 +#: common/models.py:2063 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:2058 +#: common/models.py:2069 msgid "Enable event integration" msgstr "Esemény integráció engedélyezése" -#: common/models.py:2059 +#: common/models.py:2070 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:2065 +#: common/models.py:2076 msgid "Enable project codes" msgstr "Projektszámok engedélyezése" -#: common/models.py:2066 +#: common/models.py:2077 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:2071 +#: common/models.py:2082 msgid "Stocktake Functionality" msgstr "Leltár funkció" -#: common/models.py:2073 +#: common/models.py:2084 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:2079 +#: common/models.py:2090 msgid "Exclude External Locations" msgstr "Külső helyek nélkül" -#: common/models.py:2081 +#: common/models.py:2092 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:2087 +#: common/models.py:2098 msgid "Automatic Stocktake Period" msgstr "Automatikus leltár időpontja" -#: common/models.py:2089 +#: common/models.py:2100 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:2095 +#: common/models.py:2106 msgid "Report Deletion Interval" msgstr "Riport törlési gyakoriság" -#: common/models.py:2097 +#: common/models.py:2108 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:2104 +#: common/models.py:2115 msgid "Display Users full names" msgstr "Felhasználók teljes nevének megjelenítése" -#: common/models.py:2105 +#: common/models.py:2116 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:2110 +#: common/models.py:2121 msgid "Enable Test Station Data" msgstr "Teszt állomás adatok engedélyezése" -#: common/models.py:2111 +#: common/models.py:2122 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:2123 common/models.py:2533 +#: common/models.py:2134 common/models.py:2514 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:2166 +#: common/models.py:2177 msgid "Hide inactive parts" msgstr "Inaktív alkatrészek elrejtése" -#: common/models.py:2168 +#: common/models.py:2179 msgid "Hide inactive parts in results displayed on the homepage" msgstr "Nem aktív alkatrészek elrejtése a kezdőlapon" -#: common/models.py:2174 +#: common/models.py:2185 msgid "Show subscribed parts" msgstr "Értesítésre beállított alkatrészek megjelenítése" -#: common/models.py:2175 +#: common/models.py:2186 msgid "Show subscribed parts on the homepage" msgstr "Alkatrész értesítések megjelenítése a főoldalon" -#: common/models.py:2180 +#: common/models.py:2191 msgid "Show subscribed categories" msgstr "Értesítésre beállított kategóriák megjelenítése" -#: common/models.py:2181 +#: common/models.py:2192 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:2186 +#: common/models.py:2197 msgid "Show latest parts" msgstr "Legújabb alkatrészek megjelenítése" -#: common/models.py:2187 +#: common/models.py:2198 msgid "Show latest parts on the homepage" msgstr "Legújabb alkatrészek megjelenítése a főoldalon" -#: common/models.py:2192 +#: common/models.py:2203 msgid "Show invalid BOMs" msgstr "Hibás alkatrészjegyzékek megjelenítése" -#: common/models.py:2193 +#: common/models.py:2204 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:2198 +#: common/models.py:2209 msgid "Show recent stock changes" msgstr "Legfrissebb készlet változások megjelenítése" -#: common/models.py:2199 +#: common/models.py:2210 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:2204 +#: common/models.py:2215 msgid "Show low stock" msgstr "Alacsony készlet megjelenítése" -#: common/models.py:2205 +#: common/models.py:2216 msgid "Show low stock items on the homepage" msgstr "Alacsony készletek megjelenítése a főoldalon" -#: common/models.py:2210 +#: common/models.py:2221 msgid "Show depleted stock" msgstr "Kimerült készlet megjelenítése" -#: common/models.py:2211 +#: common/models.py:2222 msgid "Show depleted stock items on the homepage" msgstr "Kimerült készletek megjelenítése a főoldalon" -#: common/models.py:2216 +#: common/models.py:2227 msgid "Show needed stock" msgstr "Gyártáshoz szükséges készlet megjelenítése" -#: common/models.py:2217 +#: common/models.py:2228 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:2222 +#: common/models.py:2233 msgid "Show expired stock" msgstr "Lejárt készlet megjelenítése" -#: common/models.py:2223 +#: common/models.py:2234 msgid "Show expired stock items on the homepage" msgstr "Lejárt készletek megjelenítése a főoldalon" -#: common/models.py:2228 +#: common/models.py:2239 msgid "Show stale stock" msgstr "Állott készlet megjelenítése" -#: common/models.py:2229 +#: common/models.py:2240 msgid "Show stale stock items on the homepage" msgstr "Álló készletek megjelenítése a főoldalon" -#: common/models.py:2234 +#: common/models.py:2245 msgid "Show pending builds" msgstr "Függő gyártások megjelenítése" -#: common/models.py:2235 +#: common/models.py:2246 msgid "Show pending builds on the homepage" msgstr "Folyamatban lévő gyártások megjelenítése a főoldalon" -#: common/models.py:2240 +#: common/models.py:2251 msgid "Show overdue builds" msgstr "Késésben lévő gyártások megjelenítése" -#: common/models.py:2241 +#: common/models.py:2252 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:2246 +#: common/models.py:2257 msgid "Show outstanding POs" msgstr "Kintlévő beszerzési rendelések megjelenítése" -#: common/models.py:2247 +#: common/models.py:2258 msgid "Show outstanding POs on the homepage" msgstr "Kintlévő beszerzési rendelések megjelenítése a főoldalon" -#: common/models.py:2252 +#: common/models.py:2263 msgid "Show overdue POs" msgstr "Késésben lévő megrendelések megjelenítése" -#: common/models.py:2253 +#: common/models.py:2264 msgid "Show overdue POs on the homepage" msgstr "Késésben lévő megrendelések megjelenítése a főoldalon" -#: common/models.py:2258 +#: common/models.py:2269 msgid "Show outstanding SOs" msgstr "Függő vevői rendelések megjelenítése" -#: common/models.py:2259 +#: common/models.py:2270 msgid "Show outstanding SOs on the homepage" msgstr "Függő vevői rendelések megjelenítése a főoldalon" -#: common/models.py:2264 +#: common/models.py:2275 msgid "Show overdue SOs" msgstr "Késésben lévő vevői rendelések megjelenítése" -#: common/models.py:2265 +#: common/models.py:2276 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:2270 +#: common/models.py:2281 msgid "Show pending SO shipments" msgstr "Függő vevői szállítmányok megjelenítése" -#: common/models.py:2271 +#: common/models.py:2282 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:2276 +#: common/models.py:2287 msgid "Show News" msgstr "Hírek megjelenítése" -#: common/models.py:2277 +#: common/models.py:2288 msgid "Show news on the homepage" msgstr "Hírek megjelenítése a főoldalon" -#: common/models.py:2282 +#: common/models.py:2293 msgid "Inline label display" msgstr "Beágyazott címke megjelenítés" -#: common/models.py:2284 +#: common/models.py:2295 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:2290 +#: common/models.py:2301 msgid "Default label printer" msgstr "Alapértelmezett címkenyomtató" -#: common/models.py:2292 +#: common/models.py:2303 msgid "Configure which label printer should be selected by default" msgstr "Melyik címkenyomtató legyen az alapértelmezett" -#: common/models.py:2298 +#: common/models.py:2309 msgid "Inline report display" msgstr "Beágyazott riport megjelenítés" -#: common/models.py:2300 +#: common/models.py:2311 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:2306 +#: common/models.py:2317 msgid "Search Parts" msgstr "Alkatrészek keresése" -#: common/models.py:2307 +#: common/models.py:2318 msgid "Display parts in search preview window" msgstr "Alkatrészek megjelenítése a keresési előnézetben" -#: common/models.py:2312 +#: common/models.py:2323 msgid "Search Supplier Parts" msgstr "Beszállítói alkatrészek keresése" -#: common/models.py:2313 +#: common/models.py:2324 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:2318 +#: common/models.py:2329 msgid "Search Manufacturer Parts" msgstr "Gyártói alkatrészek keresése" -#: common/models.py:2319 +#: common/models.py:2330 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:2324 +#: common/models.py:2335 msgid "Hide Inactive Parts" msgstr "Inaktív alkatrészek elrejtése" -#: common/models.py:2325 +#: common/models.py:2336 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:2330 +#: common/models.py:2341 msgid "Search Categories" msgstr "Kategóriák keresése" -#: common/models.py:2331 +#: common/models.py:2342 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:2336 +#: common/models.py:2347 msgid "Search Stock" msgstr "Készlet keresése" -#: common/models.py:2337 +#: common/models.py:2348 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:2342 +#: common/models.py:2353 msgid "Hide Unavailable Stock Items" msgstr "Nem elérhető készlet tételek elrejtése" -#: common/models.py:2344 +#: common/models.py:2355 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:2350 +#: common/models.py:2361 msgid "Search Locations" msgstr "Helyek keresése" -#: common/models.py:2351 +#: common/models.py:2362 msgid "Display stock locations in search preview window" msgstr "Készlet helyek megjelenítése a keresési előnézetben" -#: common/models.py:2356 +#: common/models.py:2367 msgid "Search Companies" msgstr "Cégek keresése" -#: common/models.py:2357 +#: common/models.py:2368 msgid "Display companies in search preview window" msgstr "Cégek megjelenítése a keresési előnézetben" -#: common/models.py:2362 +#: common/models.py:2373 msgid "Search Build Orders" msgstr "Gyártási utasítások keresése" -#: common/models.py:2363 +#: common/models.py:2374 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:2368 +#: common/models.py:2379 msgid "Search Purchase Orders" msgstr "Beszerzési rendelések keresése" -#: common/models.py:2369 +#: common/models.py:2380 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:2374 +#: common/models.py:2385 msgid "Exclude Inactive Purchase Orders" msgstr "Inaktív beszerzési rendelések kihagyása" -#: common/models.py:2376 +#: common/models.py:2387 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:2382 +#: common/models.py:2393 msgid "Search Sales Orders" msgstr "Vevői rendelések keresése" -#: common/models.py:2383 +#: common/models.py:2394 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:2388 +#: common/models.py:2399 msgid "Exclude Inactive Sales Orders" msgstr "Inaktív vevői rendelések kihagyása" -#: common/models.py:2390 +#: common/models.py:2401 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:2396 +#: common/models.py:2407 msgid "Search Return Orders" msgstr "Visszavétel keresése" -#: common/models.py:2397 +#: common/models.py:2408 msgid "Display return orders in search preview window" msgstr "Visszavételek megjelenítése a keresés előnézet ablakban" -#: common/models.py:2402 +#: common/models.py:2413 msgid "Exclude Inactive Return Orders" msgstr "Inaktív visszavételek kihagyása" -#: common/models.py:2404 +#: common/models.py:2415 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:2410 +#: common/models.py:2421 msgid "Search Preview Results" msgstr "Keresési előnézet eredményei" -#: common/models.py:2412 +#: common/models.py:2423 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:2418 +#: common/models.py:2429 msgid "Regex Search" msgstr "Regex keresés" -#: common/models.py:2419 +#: common/models.py:2430 msgid "Enable regular expressions in search queries" msgstr "Reguláris kifejezések engedélyezése a keresésekben" -#: common/models.py:2424 +#: common/models.py:2435 msgid "Whole Word Search" msgstr "Teljes szó keresés" -#: common/models.py:2425 +#: common/models.py:2436 msgid "Search queries return results for whole word matches" msgstr "A keresések csak teljes szóra egyező találatokat adjanak" -#: common/models.py:2430 +#: common/models.py:2441 msgid "Show Quantity in Forms" msgstr "Mennyiség megjelenítése a formokon" -#: common/models.py:2431 +#: common/models.py:2442 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:2436 +#: common/models.py:2447 msgid "Escape Key Closes Forms" msgstr "ESC billentyű zárja be a formot" -#: common/models.py:2437 +#: common/models.py:2448 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:2442 +#: common/models.py:2453 msgid "Fixed Navbar" msgstr "Rögzített menüsor" -#: common/models.py:2443 +#: common/models.py:2454 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:2448 +#: common/models.py:2459 msgid "Date Format" msgstr "Dátum formátum" -#: common/models.py:2449 +#: common/models.py:2460 msgid "Preferred format for displaying dates" msgstr "Preferált dátum formátum a dátumok kijelzésekor" -#: common/models.py:2462 part/templates/part/detail.html:41 +#: common/models.py:2473 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Alkatrész ütemezés" -#: common/models.py:2463 +#: common/models.py:2474 msgid "Display part scheduling information" msgstr "Alkatrész ütemezési információk megjelenítése" -#: common/models.py:2468 part/templates/part/detail.html:62 +#: common/models.py:2479 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "Alkatrész leltár" -#: common/models.py:2470 +#: common/models.py:2481 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:2476 +#: common/models.py:2487 msgid "Table String Length" msgstr "Táblázati szöveg hossz" -#: common/models.py:2478 +#: common/models.py:2489 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:2484 -msgid "Default part label template" -msgstr "Alapértelmezett alkatrész címke sablon" - -#: common/models.py:2485 -msgid "The part label template to be automatically selected" -msgstr "Az alapértelmezetten kiválasztott alkatrész címke sablon" - -#: common/models.py:2490 -msgid "Default stock item template" -msgstr "Alapértelmezett készlet címke sablon" - -#: common/models.py:2492 -msgid "The stock item label template to be automatically selected" -msgstr "Az alapértelmezetten kiválasztott készlet címke sablon" - -#: common/models.py:2498 -msgid "Default stock location label template" -msgstr "Alapértelmezett készlethely címke sablon" - -#: common/models.py:2500 -msgid "The stock location label template to be automatically selected" -msgstr "Az alapértelmezetten kiválasztott készlethely címke sablon" - -#: common/models.py:2506 -msgid "Default build line label template" -msgstr "Alapértelmezett gyártási tétel címke sablon" - -#: common/models.py:2508 -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:2514 +#: common/models.py:2495 msgid "Receive error reports" msgstr "Hibariportok fogadása" -#: common/models.py:2515 +#: common/models.py:2496 msgid "Receive notifications for system errors" msgstr "Értesítések fogadása a rendszerhibákról" -#: common/models.py:2520 +#: common/models.py:2501 msgid "Last used printing machines" msgstr "Utoljára használt nyomtató gépek" -#: common/models.py:2521 +#: common/models.py:2502 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:2541 common/models.py:2542 common/models.py:2691 -#: common/models.py:2692 common/models.py:2937 common/models.py:2938 -#: common/models.py:3259 common/models.py:3260 part/models.py:3193 -#: part/models.py:3280 part/models.py:3353 part/models.py:3381 -#: plugin/models.py:274 plugin/models.py:275 +#: common/models.py:2522 common/models.py:2523 common/models.py:2672 +#: common/models.py:2673 common/models.py:2918 common/models.py:2919 +#: common/models.py:3245 common/models.py:3246 importer/models.py:85 +#: part/models.py:3203 part/models.py:3290 part/models.py:3364 +#: part/models.py:3392 plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 msgid "User" msgstr "Felhasználó" -#: common/models.py:2564 +#: common/models.py:2545 msgid "Price break quantity" msgstr "Ársáv mennyiség" -#: common/models.py:2571 company/serializers.py:472 order/admin.py:42 -#: order/models.py:1346 order/models.py:2265 -#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1886 +#: common/models.py:2552 company/serializers.py:502 order/admin.py:42 +#: order/models.py:1346 order/models.py:2292 +#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1889 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:740 msgid "Price" msgstr "Ár" -#: common/models.py:2572 +#: common/models.py:2553 msgid "Unit price at specified quantity" msgstr "Egységár egy meghatározott mennyiség esetén" -#: common/models.py:2668 common/models.py:2853 +#: common/models.py:2649 common/models.py:2834 msgid "Endpoint" msgstr "Végpont" -#: common/models.py:2669 +#: common/models.py:2650 msgid "Endpoint at which this webhook is received" msgstr "Végpont ahol ez a webhook érkezik" -#: common/models.py:2679 +#: common/models.py:2660 msgid "Name for this webhook" msgstr "Webhook neve" -#: common/models.py:2683 +#: common/models.py:2664 msgid "Is this webhook active" msgstr "Aktív-e ez a webhook" -#: common/models.py:2699 users/models.py:159 +#: common/models.py:2680 users/models.py:159 msgid "Token" msgstr "Token" -#: common/models.py:2700 +#: common/models.py:2681 msgid "Token for access" msgstr "Token a hozzáféréshez" -#: common/models.py:2708 +#: common/models.py:2689 msgid "Secret" msgstr "Titok" -#: common/models.py:2709 +#: common/models.py:2690 msgid "Shared secret for HMAC" msgstr "Megosztott titok a HMAC-hoz" -#: common/models.py:2817 +#: common/models.py:2798 msgid "Message ID" msgstr "Üzenet azonosító" -#: common/models.py:2818 +#: common/models.py:2799 msgid "Unique identifier for this message" msgstr "Egyedi azonosító ehhez az üzenethez" -#: common/models.py:2826 +#: common/models.py:2807 msgid "Host" msgstr "Kiszolgáló" -#: common/models.py:2827 +#: common/models.py:2808 msgid "Host from which this message was received" msgstr "Kiszolgáló ahonnan ez az üzenet érkezett" -#: common/models.py:2835 +#: common/models.py:2816 msgid "Header" msgstr "Fejléc" -#: common/models.py:2836 +#: common/models.py:2817 msgid "Header of this message" msgstr "Üzenet fejléce" -#: common/models.py:2843 +#: common/models.py:2824 msgid "Body" msgstr "Törzs" -#: common/models.py:2844 +#: common/models.py:2825 msgid "Body of this message" msgstr "Üzenet törzse" -#: common/models.py:2854 +#: common/models.py:2835 msgid "Endpoint on which this message was received" msgstr "Végpont amin ez az üzenet érkezett" -#: common/models.py:2859 +#: common/models.py:2840 msgid "Worked on" msgstr "Dolgozott rajta" -#: common/models.py:2860 +#: common/models.py:2841 msgid "Was the work on this message finished?" msgstr "Befejeződött a munka ezzel az üzenettel?" -#: common/models.py:2986 +#: common/models.py:2967 msgid "Id" msgstr "Azonosító" -#: common/models.py:2988 templates/js/translated/company.js:965 +#: common/models.py:2969 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "Cím" -#: common/models.py:2990 common/models.py:3243 company/models.py:149 -#: company/models.py:440 company/models.py:500 company/models.py:799 -#: order/models.py:303 order/models.py:1301 order/models.py:1717 -#: part/admin.py:55 part/models.py:955 +#: common/models.py:2971 common/models.py:3229 company/models.py:149 +#: company/models.py:446 company/models.py:506 company/models.py:806 +#: order/models.py:303 order/models.py:1301 order/models.py:1733 +#: part/admin.py:55 part/models.py:959 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:229 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/part.js:2459 #: templates/js/translated/purchase_order.js:2040 #: templates/js/translated/purchase_order.js:2204 #: templates/js/translated/return_order.js:779 @@ -3608,28 +3662,28 @@ msgstr "Cím" msgid "Link" msgstr "Link" -#: common/models.py:2992 templates/js/translated/news.js:60 +#: common/models.py:2973 templates/js/translated/news.js:60 msgid "Published" msgstr "Közzétéve" -#: common/models.py:2994 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2975 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:2996 templates/js/translated/news.js:52 +#: common/models.py:2977 templates/js/translated/news.js:52 msgid "Summary" msgstr "Összefoglaló" -#: common/models.py:2999 +#: common/models.py:2980 msgid "Read" msgstr "Elolvasva" -#: common/models.py:2999 +#: common/models.py:2980 msgid "Was this news item read?" msgstr "Elolvasva?" -#: common/models.py:3016 company/models.py:159 part/models.py:965 +#: common/models.py:2997 company/models.py:159 part/models.py:969 #: 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.html:35 @@ -3639,90 +3693,96 @@ msgstr "Elolvasva?" msgid "Image" msgstr "Kép" -#: common/models.py:3016 +#: common/models.py:2997 msgid "Image file" msgstr "Képfájl" -#: common/models.py:3028 common/models.py:3227 +#: common/models.py:3009 common/models.py:3213 msgid "Target model type for this image" msgstr "" -#: common/models.py:3032 +#: common/models.py:3013 msgid "Target model ID for this image" msgstr "" -#: common/models.py:3070 +#: common/models.py:3035 +#, fuzzy +#| msgid "New Custom Unit" +msgid "Custom Unit" +msgstr "Új egyedi mértékegység" + +#: common/models.py:3056 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:3085 +#: common/models.py:3071 msgid "Unit name must be a valid identifier" msgstr "A mértékegységnek valós azonosítónak kell lennie" -#: common/models.py:3104 +#: common/models.py:3090 msgid "Unit name" msgstr "Egység neve" -#: common/models.py:3111 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3097 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "Szimbólum" -#: common/models.py:3112 +#: common/models.py:3098 msgid "Optional unit symbol" msgstr "Opcionális mértékegység szimbólum" -#: common/models.py:3118 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3104 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "Definíció" -#: common/models.py:3119 +#: common/models.py:3105 msgid "Unit definition" msgstr "Mértékegység definíció" -#: common/models.py:3177 common/models.py:3234 stock/models.py:2461 +#: common/models.py:3163 common/models.py:3220 stock/models.py:2471 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" msgstr "Melléklet" -#: common/models.py:3189 +#: common/models.py:3175 msgid "Missing file" msgstr "Hiányzó fájl" -#: common/models.py:3190 +#: common/models.py:3176 msgid "Missing external link" msgstr "Hiányzó külső link" -#: common/models.py:3235 +#: common/models.py:3221 msgid "Select file to attach" msgstr "Válaszd ki a mellekelni kívánt fájlt" -#: common/models.py:3250 templates/js/translated/attachment.js:120 +#: common/models.py:3236 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" msgstr "Megjegyzés" -#: common/models.py:3251 +#: common/models.py:3237 msgid "Attachment comment" msgstr "" -#: common/models.py:3267 +#: common/models.py:3253 msgid "Upload date" msgstr "" -#: common/models.py:3268 +#: common/models.py:3254 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:3272 +#: common/models.py:3258 msgid "File size" msgstr "Fájl mérete" -#: common/models.py:3272 +#: common/models.py:3258 msgid "File size in bytes" msgstr "Fájlméret bájtban" -#: common/models.py:3310 common/serializers.py:553 +#: common/models.py:3296 common/serializers.py:557 msgid "Invalid model type specified for attachment" msgstr "" @@ -3744,7 +3804,7 @@ msgstr "{verbose_name} megszakítva" msgid "A order that is assigned to you was canceled" msgstr "Egy hozzád rendelt megrendelés megszakítva" -#: common/notifications.py:330 common/notifications.py:337 order/api.py:472 +#: common/notifications.py:330 common/notifications.py:337 order/api.py:454 msgid "Items Received" msgstr "Készlet érkezett" @@ -3760,75 +3820,75 @@ msgstr "Készlet érkezett vissza egy visszavétel miatt" msgid "Error raised by plugin" msgstr "Plugin hiba" -#: common/serializers.py:371 +#: common/serializers.py:375 msgid "Is Running" msgstr "Folyamatban" -#: common/serializers.py:377 +#: common/serializers.py:381 msgid "Pending Tasks" msgstr "Folyamatban lévő feladatok" -#: common/serializers.py:383 +#: common/serializers.py:387 msgid "Scheduled Tasks" msgstr "Ütemezett Feladatok" -#: common/serializers.py:389 +#: common/serializers.py:393 msgid "Failed Tasks" msgstr "Hibás feladatok" -#: common/serializers.py:404 +#: common/serializers.py:408 msgid "Task ID" msgstr "Feladat ID" -#: common/serializers.py:404 +#: common/serializers.py:408 msgid "Unique task ID" msgstr "Egyedi feladat ID" -#: common/serializers.py:406 +#: common/serializers.py:410 msgid "Lock" msgstr "Zárol" -#: common/serializers.py:406 +#: common/serializers.py:410 msgid "Lock time" msgstr "Zárolási idő" -#: common/serializers.py:408 +#: common/serializers.py:412 msgid "Task name" msgstr "Feladat neve" -#: common/serializers.py:410 +#: common/serializers.py:414 msgid "Function" msgstr "Funkció" -#: common/serializers.py:410 +#: common/serializers.py:414 msgid "Function name" msgstr "Funkció neve" -#: common/serializers.py:412 +#: common/serializers.py:416 msgid "Arguments" msgstr "Paraméterek" -#: common/serializers.py:412 +#: common/serializers.py:416 msgid "Task arguments" msgstr "Feladat paraméterei" -#: common/serializers.py:415 +#: common/serializers.py:419 msgid "Keyword Arguments" msgstr "Kulcsszó paraméterek" -#: common/serializers.py:415 +#: common/serializers.py:419 msgid "Task keyword arguments" msgstr "Feladat kulcsszó paraméterek" -#: common/serializers.py:525 +#: common/serializers.py:529 msgid "Filename" msgstr "Fájlnév" -#: common/serializers.py:532 report/api.py:100 report/serializers.py:53 +#: common/serializers.py:536 report/api.py:100 report/serializers.py:53 msgid "Model Type" msgstr "Modell típusa" -#: common/serializers.py:559 +#: common/serializers.py:563 msgid "User does not have permission to create or edit attachments for this model" msgstr "" @@ -3895,29 +3955,29 @@ msgstr "Importált alkatrészek" msgid "Previous Step" msgstr "Előző lépés" -#: company/api.py:144 +#: company/api.py:141 msgid "Part is Active" msgstr "Az alkatrész aktív" -#: company/api.py:148 +#: company/api.py:145 msgid "Manufacturer is Active" msgstr "A Gyártó Aktív" -#: company/api.py:281 +#: company/api.py:278 msgid "Supplier Part is Active" msgstr "A Szállítói Alkatrész Aktív" -#: company/api.py:285 +#: company/api.py:282 msgid "Internal Part is Active" msgstr "A saját alkatrész Aktív" -#: company/api.py:289 +#: company/api.py:286 msgid "Supplier is Active" msgstr "A Beszállító Aktív" -#: company/models.py:100 company/models.py:365 +#: company/models.py:100 company/models.py:371 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:822 +#: company/templates/company/company_base.html:12 stock/api.py:814 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "Cég" @@ -3957,8 +4017,9 @@ msgstr "Kapcsolattartó telefonszáma" msgid "Contact email address" msgstr "Kapcsolattartó email címe" -#: company/models.py:142 company/templates/company/company_base.html:145 -#: order/models.py:343 order/templates/order/order_base.html:203 +#: company/models.py:142 company/models.py:275 +#: company/templates/company/company_base.html:145 order/models.py:343 +#: order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 #: order/templates/order/sales_order_base.html:218 msgid "Contact" @@ -3977,7 +4038,9 @@ msgid "Is this company active?" msgstr "Ez a vállalat aktív?" #: company/models.py:168 -msgid "is customer" +#, fuzzy +#| msgid "is customer" +msgid "Is customer" msgstr "vevő-e" #: company/models.py:169 @@ -3985,7 +4048,9 @@ msgid "Do you sell items to this company?" msgstr "Értékesítesz alkatrészeket ennek a cégnek?" #: company/models.py:174 -msgid "is supplier" +#, fuzzy +#| msgid "is supplier" +msgid "Is supplier" msgstr "beszállító-e" #: company/models.py:175 @@ -3993,7 +4058,9 @@ msgid "Do you purchase items from this company?" msgstr "Vásárolsz alkatrészeket ettől a cégtől?" #: company/models.py:180 -msgid "is manufacturer" +#, fuzzy +#| msgid "is manufacturer" +msgid "Is manufacturer" msgstr "gyártó-e" #: company/models.py:181 @@ -4004,178 +4071,191 @@ msgstr "Gyárt ez a cég alkatrészeket?" msgid "Default currency used for this company" msgstr "Cég által használt alapértelmezett pénznem" -#: company/models.py:366 +#: company/models.py:314 company/templates/company/company_base.html:124 +#: order/models.py:353 order/templates/order/order_base.html:210 +#: order/templates/order/return_order_base.html:181 +#: order/templates/order/sales_order_base.html:225 +msgid "Address" +msgstr "Cím" + +#: company/models.py:315 company/templates/company/sidebar.html:35 +msgid "Addresses" +msgstr "Címek" + +#: company/models.py:372 msgid "Select company" msgstr "Cég kiválasztása" -#: company/models.py:371 +#: company/models.py:377 msgid "Address title" msgstr "Cím megnevezése" -#: company/models.py:372 +#: company/models.py:378 msgid "Title describing the address entry" msgstr "Címhez tartozó leírás, megnevezés" -#: company/models.py:378 +#: company/models.py:384 msgid "Primary address" msgstr "Elsődleges cím" -#: company/models.py:379 +#: company/models.py:385 msgid "Set as primary address" msgstr "Beállítás elsődleges címként" -#: company/models.py:384 templates/js/translated/company.js:914 +#: company/models.py:390 templates/js/translated/company.js:914 #: templates/js/translated/company.js:971 msgid "Line 1" msgstr "1. sor" -#: company/models.py:385 +#: company/models.py:391 msgid "Address line 1" msgstr "Cím első sora" -#: company/models.py:391 templates/js/translated/company.js:915 +#: company/models.py:397 templates/js/translated/company.js:915 #: templates/js/translated/company.js:977 msgid "Line 2" msgstr "2. sor" -#: company/models.py:392 +#: company/models.py:398 msgid "Address line 2" msgstr "Cím második sora" -#: company/models.py:398 company/models.py:399 +#: company/models.py:404 company/models.py:405 #: templates/js/translated/company.js:983 msgid "Postal code" msgstr "Irányítószám" -#: company/models.py:405 +#: company/models.py:411 msgid "City/Region" msgstr "Város/Régió" -#: company/models.py:406 +#: company/models.py:412 msgid "Postal code city/region" msgstr "Irányítószám város/régió" -#: company/models.py:412 +#: company/models.py:418 msgid "State/Province" msgstr "Állam/Megye" -#: company/models.py:413 +#: company/models.py:419 msgid "State or province" msgstr "Állam vagy megye" -#: company/models.py:419 templates/js/translated/company.js:1001 +#: company/models.py:425 templates/js/translated/company.js:1001 msgid "Country" msgstr "Ország" -#: company/models.py:420 +#: company/models.py:426 msgid "Address country" msgstr "Cím országa" -#: company/models.py:426 +#: company/models.py:432 msgid "Courier shipping notes" msgstr "Megjegyzés a futárnak" -#: company/models.py:427 +#: company/models.py:433 msgid "Notes for shipping courier" msgstr "Futárnak szóló megjegyzések" -#: company/models.py:433 +#: company/models.py:439 msgid "Internal shipping notes" msgstr "Belső szállítási megjegyzések" -#: company/models.py:434 +#: company/models.py:440 msgid "Shipping notes for internal use" msgstr "Szállítási megjegyzések belső használatra" -#: company/models.py:441 +#: company/models.py:447 msgid "Link to address information (external)" msgstr "Link a címinformációkhoz (külső)" -#: company/models.py:463 company/models.py:574 company/models.py:792 +#: company/models.py:469 company/models.py:581 company/models.py:799 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:217 msgid "Manufacturer Part" msgstr "Gyártói alkatrész" -#: company/models.py:475 company/models.py:760 stock/models.py:767 -#: stock/serializers.py:422 stock/templates/stock/item_base.html:142 +#: company/models.py:481 company/models.py:767 stock/models.py:767 +#: stock/serializers.py:442 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "Kiindulási alkatrész" -#: company/models.py:477 company/models.py:762 +#: company/models.py:483 company/models.py:769 msgid "Select part" msgstr "Válassz alkatrészt" -#: company/models.py:486 company/templates/company/company_base.html:82 +#: company/models.py:492 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:525 +#: company/templates/company/supplier_part.html:145 part/serializers.py:543 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 #: templates/js/translated/company.js:1296 #: templates/js/translated/company.js:1611 -#: templates/js/translated/table_filters.js:800 +#: templates/js/translated/table_filters.js:805 msgid "Manufacturer" msgstr "Gyártó" -#: company/models.py:487 +#: company/models.py:493 msgid "Select manufacturer" msgstr "Gyártó kiválasztása" -#: company/models.py:493 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:535 -#: templates/js/translated/company.js:351 +#: company/models.py:499 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:153 order/serializers.py:518 +#: part/serializers.py:553 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:1801 +#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1804 #: templates/js/translated/purchase_order.js:1851 #: templates/js/translated/purchase_order.js:2053 msgid "MPN" msgstr "MPN (Gyártói cikkszám)" -#: company/models.py:494 -msgid "Manufacturer Part Number" -msgstr "Gyártói cikkszám" - -#: company/models.py:501 +#: company/models.py:507 msgid "URL for external manufacturer part link" msgstr "URL link a gyártói alkatrészhez" -#: company/models.py:510 +#: company/models.py:516 msgid "Manufacturer part description" msgstr "Gyártói alkatrész leírása" -#: company/models.py:581 +#: company/models.py:569 +#, fuzzy +#| msgid "Manufacturer Part Number" +msgid "Manufacturer Part Parameter" +msgstr "Gyártói cikkszám" + +#: company/models.py:588 msgid "Parameter name" msgstr "Paraméter neve" -#: company/models.py:587 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2453 templates/js/translated/company.js:1166 -#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1493 +#: company/models.py:594 report/templates/report/inventree_test_report.html:104 +#: stock/models.py:2463 templates/js/translated/company.js:1166 +#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1496 #: templates/js/translated/stock.js:1522 msgid "Value" msgstr "Érték" -#: company/models.py:588 +#: company/models.py:595 msgid "Parameter value" msgstr "Paraméter értéke" -#: company/models.py:595 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1045 part/models.py:3646 +#: company/models.py:602 company/templates/company/supplier_part.html:168 +#: part/admin.py:57 part/models.py:1049 part/models.py:3667 #: part/templates/part/part_base.html:284 -#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1512 -#: templates/js/translated/part.js:1616 templates/js/translated/part.js:2370 +#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1515 +#: templates/js/translated/part.js:1619 templates/js/translated/part.js:2373 msgid "Units" msgstr "Mértékegység" -#: company/models.py:596 +#: company/models.py:603 msgid "Parameter units" msgstr "Paraméter mértékegység" -#: company/models.py:648 company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 order/api.py:452 +#: company/models.py:655 company/templates/company/supplier_part.html:7 +#: company/templates/company/supplier_part.html:24 order/api.py:434 #: stock/models.py:778 stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 @@ -4183,91 +4263,91 @@ msgstr "Paraméter mértékegység" msgid "Supplier Part" msgstr "Beszállítói alkatrész" -#: company/models.py:700 +#: company/models.py:707 msgid "Pack units must be compatible with the base part units" msgstr "A csomagolási egységnek kompatibilisnek kell lennie az alkatrész mértékegységgel" -#: company/models.py:707 +#: company/models.py:714 msgid "Pack units must be greater than zero" msgstr "Csomagolási mennyiségnek nullánál többnek kell lennie" -#: company/models.py:721 +#: company/models.py:728 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:770 company/templates/company/company_base.html:87 +#: company/models.py:777 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:509 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:527 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 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:511 -#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1769 +#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1772 #: templates/js/translated/pricing.js:498 #: templates/js/translated/purchase_order.js:1689 -#: templates/js/translated/table_filters.js:804 +#: templates/js/translated/table_filters.js:809 msgid "Supplier" msgstr "Beszállító" -#: company/models.py:771 +#: company/models.py:778 msgid "Select supplier" msgstr "Beszállító kiválasztása" -#: company/models.py:777 part/serializers.py:520 +#: company/models.py:784 part/serializers.py:538 msgid "Supplier stock keeping unit" msgstr "Beszállítói cikkszám" -#: company/models.py:783 +#: company/models.py:790 msgid "Is this supplier part active?" msgstr "Ez a szállítói termék aktív?" -#: company/models.py:793 +#: company/models.py:800 msgid "Select manufacturer part" msgstr "Gyártói alkatrész kiválasztása" -#: company/models.py:800 +#: company/models.py:807 msgid "URL for external supplier part link" msgstr "URL link a beszállítói alkatrészhez" -#: company/models.py:809 +#: company/models.py:816 msgid "Supplier part description" msgstr "Beszállítói alkatrész leírása" -#: company/models.py:816 company/templates/company/supplier_part.html:187 -#: part/admin.py:412 part/models.py:4093 part/templates/part/upload_bom.html:59 +#: company/models.py:823 company/templates/company/supplier_part.html:187 +#: part/admin.py:412 part/models.py:4178 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: 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:710 +#: stock/serializers.py:768 msgid "Note" msgstr "Megjegyzés" -#: company/models.py:825 part/models.py:2003 +#: company/models.py:832 part/models.py:2013 msgid "base cost" msgstr "alap költség" -#: company/models.py:826 part/models.py:2004 +#: company/models.py:833 part/models.py:2014 msgid "Minimum charge (e.g. stocking fee)" msgstr "Minimális díj (pl. tárolási díj)" -#: company/models.py:833 company/templates/company/supplier_part.html:160 -#: stock/admin.py:228 stock/models.py:798 stock/serializers.py:1475 +#: company/models.py:840 company/templates/company/supplier_part.html:160 +#: stock/admin.py:228 stock/models.py:798 stock/serializers.py:1541 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 msgid "Packaging" msgstr "Csomagolás" -#: company/models.py:834 +#: company/models.py:841 msgid "Part packaging" msgstr "Alkatrész csomagolás" -#: company/models.py:839 templates/js/translated/company.js:1651 -#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 +#: company/models.py:846 templates/js/translated/company.js:1651 +#: templates/js/translated/part.js:1825 templates/js/translated/part.js:1881 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 #: templates/js/translated/purchase_order.js:1103 @@ -4276,35 +4356,47 @@ msgstr "Alkatrész csomagolás" msgid "Pack Quantity" msgstr "Csomagolási mennyiség" -#: company/models.py:841 +#: company/models.py:848 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:860 part/models.py:2010 +#: company/models.py:867 part/models.py:2020 msgid "multiple" msgstr "többszörös" -#: company/models.py:861 +#: company/models.py:868 msgid "Order multiple" msgstr "Többszörös rendelés" -#: company/models.py:873 +#: company/models.py:880 msgid "Quantity available from supplier" msgstr "Beszállítónál elérhető mennyiség" -#: company/models.py:879 +#: company/models.py:886 msgid "Availability Updated" msgstr "Elérhetőség frissítve" -#: company/models.py:880 +#: company/models.py:887 msgid "Date of last update of availability data" msgstr "Utolsó elérhetőségi adat frissítés" -#: company/serializers.py:161 +#: company/models.py:1015 +#, fuzzy +#| msgid "Delete Price Break" +msgid "Supplier Price Break" +msgstr "Ársáv törlése" + +#: company/serializers.py:174 msgid "Default currency used for this supplier" msgstr "Beszállító által használt alapértelmezett pénznem" -#: company/serializers.py:357 part/admin.py:126 +#: company/serializers.py:210 +#, fuzzy +#| msgid "Company name" +msgid "Company Name" +msgstr "Cég neve" + +#: company/serializers.py:384 part/admin.py:126 part/serializers.py:855 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:355 @@ -4316,7 +4408,7 @@ msgstr "Készleten" #: templates/js/translated/company.js:1287 #: templates/js/translated/company.js:1575 #: templates/js/translated/model_renderers.js:312 -#: templates/js/translated/part.js:815 templates/js/translated/part.js:1219 +#: templates/js/translated/part.js:814 templates/js/translated/part.js:1222 msgid "Inactive" msgstr "Inaktív" @@ -4375,16 +4467,16 @@ msgid "Delete image" msgstr "Kép törlése" #: company/templates/company/company_base.html:92 order/models.py:938 -#: order/models.py:2032 order/templates/order/return_order_base.html:131 +#: order/models.py:2058 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:148 stock/models.py:820 -#: stock/models.py:821 stock/serializers.py:1225 +#: stock/models.py:821 stock/serializers.py:1291 #: 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:295 #: templates/js/translated/sales_order.js:820 #: templates/js/translated/stock.js:2959 -#: templates/js/translated/table_filters.js:808 +#: templates/js/translated/table_filters.js:813 msgid "Customer" msgstr "Vevő" @@ -4392,13 +4484,6 @@ msgstr "Vevő" msgid "Uses default currency" msgstr "Alapértelmezett pénznemet használja" -#: company/templates/company/company_base.html:124 order/models.py:353 -#: order/templates/order/order_base.html:210 -#: order/templates/order/return_order_base.html:181 -#: order/templates/order/sales_order_base.html:225 -msgid "Address" -msgstr "Cím" - #: company/templates/company/company_base.html:131 msgid "Phone" msgstr "Telefonszám" @@ -4578,7 +4663,8 @@ msgid "Delete manufacturer part" msgstr "Gyártói alkatrész törlése" #: company/templates/company/manufacturer_part.html:65 -#: company/templates/company/supplier_part.html:97 order/api.py:458 +#: company/templates/company/supplier_part.html:97 order/api.py:440 +#: order/serializers.py:526 msgid "Internal Part" msgstr "Belső alkatrész" @@ -4588,7 +4674,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:832 +#: part/admin.py:122 part/serializers.py:860 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4609,7 +4695,7 @@ msgid "New Parameter" msgstr "Új paraméter" #: company/templates/company/manufacturer_part.html:196 -#: templates/js/translated/part.js:1423 +#: templates/js/translated/part.js:1426 msgid "Add Parameter" msgstr "Paraméter hozzáadása" @@ -4633,10 +4719,6 @@ msgstr "Hozzárendelt készlet tételek" msgid "Contacts" msgstr "Névjegyek" -#: company/templates/company/sidebar.html:35 -msgid "Addresses" -msgstr "Címek" - #: company/templates/company/supplier_part.html:50 #: templates/js/translated/company.js:1526 msgid "Supplier part actions" @@ -4678,9 +4760,9 @@ msgstr "Beszállítói alkatrész törlése" msgid "No supplier information available" msgstr "Nincs elérhető beszállítói információ" -#: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:519 -#: templates/js/translated/company.js:349 templates/js/translated/part.js:1787 +#: company/templates/company/supplier_part.html:139 order/serializers.py:515 +#: part/bom.py:279 part/bom.py:311 part/serializers.py:537 +#: templates/js/translated/company.js:349 templates/js/translated/part.js:1790 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1850 #: templates/js/translated/purchase_order.js:2028 @@ -4702,75 +4784,275 @@ msgstr "Új készlet tétel létrehozása" msgid "New Stock Item" msgstr "Új készlet tétel" -#: company/templates/company/supplier_part.html:223 -msgid "Supplier Part Orders" -msgstr "Beszállítói alkatrész rendelések" +#: company/templates/company/supplier_part.html:223 +msgid "Supplier Part Orders" +msgstr "Beszállítói alkatrész rendelések" + +#: company/templates/company/supplier_part.html:246 +msgid "Pricing Information" +msgstr "Árinformációk" + +#: company/templates/company/supplier_part.html:251 +#: templates/js/translated/company.js:398 +#: templates/js/translated/pricing.js:684 +msgid "Add Price Break" +msgstr "Ársáv hozzáadása" + +#: company/templates/company/supplier_part.html:276 +msgid "Supplier Part QR Code" +msgstr "Beszállítói alkatrész QR kód" + +#: company/templates/company/supplier_part.html:287 +msgid "Link Barcode to Supplier Part" +msgstr "Vonalkód hozzárendelése a beszállítói alkatrészhez" + +#: company/templates/company/supplier_part.html:359 +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:859 part/stocktake.py:224 +#: part/templates/part/category.html:183 +#: part/templates/part/category_sidebar.html:17 stock/admin.py:68 +#: stock/serializers.py:976 stock/serializers.py:1154 +#: stock/templates/stock/location.html:170 +#: 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:1064 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 +#: users/models.py:206 +msgid "Stock Items" +msgstr "Készlet tételek" + +#: company/templates/company/supplier_part_sidebar.html:9 +msgid "Supplier Part Pricing" +msgstr "Beszállító alkatrész árazás" + +#: company/views.py:32 +msgid "New Supplier" +msgstr "Új beszállító" + +#: company/views.py:38 +msgid "New Manufacturer" +msgstr "Új gyártó" + +#: company/views.py:43 templates/InvenTree/search.html:210 +#: templates/navbar.html:60 +msgid "Customers" +msgstr "Vevők" + +#: company/views.py:44 +msgid "New Customer" +msgstr "Új vevő" + +#: company/views.py:52 +msgid "New Company" +msgstr "Új cég" + +#: generic/states/tests.py:18 order/status_codes.py:13 +msgid "Placed" +msgstr "Kiküldve" + +#: importer/mixins.py:263 +#, fuzzy +#| msgid "Invalid value for overage" +msgid "Invalid export format" +msgstr "Érvénytelen érték a túlszállításra" + +#: importer/models.py:56 +msgid "Timestamp" +msgstr "" + +#: importer/models.py:61 +#, fuzzy +#| msgid "Select file to upload" +msgid "Data file to import" +msgstr "Feltöltendő fájl kiválasztása" + +#: importer/models.py:70 templates/js/translated/tables.js:558 +msgid "Columns" +msgstr "Oszlopok" + +#: importer/models.py:81 +#, fuzzy +#| msgid "Import Parts" +msgid "Import status" +msgstr "Alkatrészek importálása" + +#: importer/models.py:91 +#, fuzzy +#| msgid "Build Details" +msgid "Field Defaults" +msgstr "Gyártás részletei" + +#: importer/models.py:201 +#, fuzzy +#| msgid "Required build quantity has not been completed" +msgid "Some required fields have not been mapped" +msgstr "Szükséges gyártási mennyiség nem lett elérve" + +#: importer/models.py:346 +msgid "Column is already mapped to a database field" +msgstr "" + +#: importer/models.py:351 +msgid "Field is already mapped to a data column" +msgstr "" + +#: importer/models.py:360 +msgid "Column mapping must be linked to a valid import session" +msgstr "" + +#: importer/models.py:365 +msgid "Column does not exist in the data file" +msgstr "" + +#: importer/models.py:372 +#, fuzzy +#| msgid "User does not have permission to view this model" +msgid "Field does not exist in the target model" +msgstr "Nincs jogosultságod az adatok megtekintéséhez" + +#: importer/models.py:376 +msgid "Selected field is read-only" +msgstr "" + +#: importer/models.py:381 importer/models.py:452 +#, fuzzy +#| msgid "Active Sessions" +msgid "Import Session" +msgstr "Aktív kapcsolatok" + +#: importer/models.py:385 +#, fuzzy +#| msgid "Field Name" +msgid "Field" +msgstr "Mező név" + +#: importer/models.py:387 +#, fuzzy +#| msgid "Columns" +msgid "Column" +msgstr "Oszlopok" + +#: importer/models.py:456 +#, fuzzy +#| msgid "Index" +msgid "Row Index" +msgstr "Index" + +#: importer/models.py:459 +#, fuzzy +#| msgid "Original Part" +msgid "Original row data" +msgstr "Eredeti alkatrész" + +#: importer/models.py:462 part/models.py:3841 +msgid "Data" +msgstr "Adat" + +#: importer/models.py:464 machine/models.py:110 +msgid "Errors" +msgstr "Hibák" + +#: importer/models.py:466 part/api.py:874 +msgid "Valid" +msgstr "Érvényes" + +#: importer/operations.py:28 importer/operations.py:49 +#, fuzzy +#| msgid "Unsupported file format: {fmt}" +msgid "Unsupported data file format" +msgstr "Nem támogatott fájl formátum: {fmt}" + +#: importer/operations.py:40 +msgid "Failed to open data file" +msgstr "" + +#: importer/operations.py:51 +msgid "Invalid data file dimensions" +msgstr "" + +#: importer/serializers.py:135 +msgid "Rows" +msgstr "" + +#: importer/serializers.py:136 +msgid "List of row IDs to accept" +msgstr "" -#: company/templates/company/supplier_part.html:246 -msgid "Pricing Information" -msgstr "Árinformációk" +#: importer/serializers.py:149 +#, fuzzy +#| msgid "No data rows provided" +msgid "No rows provided" +msgstr "Nincs adatsor megadva" -#: company/templates/company/supplier_part.html:251 -#: templates/js/translated/company.js:398 -#: templates/js/translated/pricing.js:684 -msgid "Add Price Break" -msgstr "Ársáv hozzáadása" +#: importer/serializers.py:153 +#, fuzzy +#| msgid "Item cannot belong to itself" +msgid "Row does not belong to this session" +msgstr "A tétel nem tartozhat saját magához" -#: company/templates/company/supplier_part.html:276 -msgid "Supplier Part QR Code" -msgstr "Beszállítói alkatrész QR kód" +#: importer/serializers.py:156 +msgid "Row contains invalid data" +msgstr "" -#: company/templates/company/supplier_part.html:287 -msgid "Link Barcode to Supplier Part" -msgstr "Vonalkód hozzárendelése a beszállítói alkatrészhez" +#: importer/serializers.py:159 +#, fuzzy +#| msgid "This build output has already been completed" +msgid "Row has already been completed" +msgstr "Ez a gyártási kimenet már elkészült" -#: company/templates/company/supplier_part.html:359 -msgid "Update Part Availability" -msgstr "Alkatrész elérhetőség frissítése" +#: importer/status_codes.py:11 +#, fuzzy +#| msgid "Initialized" +msgid "Initializing" +msgstr "Inicializálva" -#: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:831 part/stocktake.py:224 -#: part/templates/part/category.html:183 -#: part/templates/part/category_sidebar.html:17 stock/admin.py:68 -#: stock/serializers.py:918 stock/serializers.py:1091 -#: stock/templates/stock/location.html:170 -#: 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:1061 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 -#: users/models.py:206 -msgid "Stock Items" -msgstr "Készlet tételek" +#: importer/status_codes.py:12 +#, fuzzy +#| msgid "Columns" +msgid "Mapping Columns" +msgstr "Oszlopok" -#: company/templates/company/supplier_part_sidebar.html:9 -msgid "Supplier Part Pricing" -msgstr "Beszállító alkatrész árazás" +#: importer/status_codes.py:13 +#, fuzzy +#| msgid "Import Part" +msgid "Importing Data" +msgstr "Alkatrész importálása" -#: company/views.py:32 -msgid "New Supplier" -msgstr "Új beszállító" +#: importer/status_codes.py:16 +#, fuzzy +#| msgid "Loading Data" +msgid "Processing Data" +msgstr "Adatok betöltése" -#: company/views.py:38 -msgid "New Manufacturer" -msgstr "Új gyártó" +#: importer/validators.py:21 +#, fuzzy +#| msgid "Image download exceeded maximum size" +msgid "Data file exceeds maximum size limit" +msgstr "A kép letöltés meghaladja a maximális méretet" -#: company/views.py:43 templates/InvenTree/search.html:210 -#: templates/navbar.html:60 -msgid "Customers" -msgstr "Vevők" +#: importer/validators.py:26 +#, fuzzy +#| msgid "Stock item contains other items" +msgid "Data file contains no headers" +msgstr "A készlet tétel más tételeket tartalmaz" -#: company/views.py:44 -msgid "New Customer" -msgstr "Új vevő" +#: importer/validators.py:29 +msgid "Data file contains too many columns" +msgstr "" -#: company/views.py:52 -msgid "New Company" -msgstr "Új cég" +#: importer/validators.py:32 +msgid "Data file contains too many rows" +msgstr "" -#: generic/states/tests.py:18 order/status_codes.py:13 -msgid "Placed" -msgstr "Kiküldve" +#: importer/validators.py:49 +#, fuzzy +#| msgid "Metadata must be a python dict object" +msgid "Value must be a valid dictionary object" +msgstr "A meta adatnak egy python dict objektumnak kell lennie" #: machine/machine_types/label_printer.py:212 msgid "Copies" @@ -4784,7 +5066,7 @@ msgstr "Címkénkénti nyomtatandó mennyiség" msgid "Connected" msgstr "Csatlakoztatba" -#: machine/machine_types/label_printer.py:229 order/api.py:1467 +#: machine/machine_types/label_printer.py:229 order/api.py:1388 #: templates/js/translated/sales_order.js:1078 msgid "Unknown" msgstr "Ismeretlen" @@ -4853,10 +5135,6 @@ msgstr "Nincsen hiba" msgid "Initialized" msgstr "Inicializálva" -#: machine/models.py:110 -msgid "Errors" -msgstr "Hibák" - #: machine/models.py:117 msgid "Machine status" msgstr "Gép állapot" @@ -4882,44 +5160,44 @@ msgstr "Konfiguráció típusa" msgid "Total Price" msgstr "Teljes ár" -#: order/api.py:157 order/serializers.py:90 +#: order/api.py:149 order/serializers.py:94 #: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:113 #: order/templates/order/sales_order_base.html:122 msgid "Order Status" msgstr "Rendelés állapota" -#: order/api.py:161 templates/js/translated/table_filters.js:194 -#: templates/js/translated/table_filters.js:779 +#: order/api.py:153 templates/js/translated/table_filters.js:194 +#: templates/js/translated/table_filters.js:784 msgid "Has Pricing" msgstr "Van árazás" -#: order/api.py:236 +#: order/api.py:228 msgid "No matching purchase order found" msgstr "Nincs egyező beszerzési rendelés" -#: order/api.py:435 order/api.py:801 order/models.py:1395 order/models.py:1504 -#: order/models.py:1550 order/models.py:1664 order/models.py:1818 -#: order/models.py:2231 order/models.py:2282 +#: order/api.py:417 order/api.py:755 order/models.py:1400 order/models.py:1514 +#: order/models.py:1565 order/models.py:1680 order/models.py:1839 +#: order/models.py:2258 order/models.py:2314 #: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "Rendelés" -#: order/api.py:439 order/api.py:822 +#: order/api.py:421 order/api.py:776 msgid "Order Complete" msgstr "A rendelés teljesítve" -#: order/api.py:462 +#: order/api.py:444 msgid "Order Pending" msgstr "A rendelés függőben" -#: order/api.py:1461 order/models.py:380 order/models.py:1396 -#: order/models.py:1505 order/templates/order/order_base.html:9 +#: order/api.py:1382 order/models.py:380 order/models.py:1401 +#: order/models.py:1515 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 -#: stock/serializers.py:118 stock/templates/stock/item_base.html:176 +#: stock/serializers.py:120 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/part.js:1746 templates/js/translated/pricing.js:804 +#: templates/js/translated/part.js:1749 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:1673 @@ -4927,8 +5205,8 @@ msgstr "A rendelés függőben" msgid "Purchase Order" msgstr "Beszerzési rendelés" -#: order/api.py:1465 order/models.py:1981 order/models.py:2232 -#: order/models.py:2283 order/templates/order/return_order_base.html:9 +#: order/api.py:1386 order/models.py:2007 order/models.py:2259 +#: order/models.py:2315 order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report.html:13 #: templates/js/translated/return_order.js:280 @@ -4940,11 +5218,11 @@ msgstr "Visszavétel" msgid "Total price for this order" msgstr "A rendelés teljes ára" -#: order/models.py:96 order/serializers.py:70 +#: order/models.py:96 order/serializers.py:72 msgid "Order Currency" msgstr "Rendelés pénzneme" -#: order/models.py:99 order/serializers.py:71 +#: order/models.py:99 order/serializers.py:73 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)" @@ -4960,7 +5238,7 @@ msgstr "Rendelés leírása (opcionális)" msgid "Select project code for this order" msgstr "Válassz projektszámot ehhez a rendeléshez" -#: order/models.py:303 order/models.py:1301 order/models.py:1717 +#: order/models.py:303 order/models.py:1301 order/models.py:1733 msgid "Link to external page" msgstr "Link külső weboldalra" @@ -5009,15 +5287,15 @@ msgstr "Beszállítói rendelés azonosító kód" msgid "received by" msgstr "érkeztette" -#: order/models.py:514 order/models.py:2058 +#: order/models.py:514 order/models.py:2084 msgid "Issue Date" msgstr "Kiállítás dátuma" -#: order/models.py:515 order/models.py:2059 +#: order/models.py:515 order/models.py:2085 msgid "Date order was issued" msgstr "Kiállítás dátuma" -#: order/models.py:522 order/models.py:2066 +#: order/models.py:522 order/models.py:2092 msgid "Date order was completed" msgstr "Rendelés teljesítési dátuma" @@ -5033,15 +5311,15 @@ msgstr "Mennyiség pozitív kell legyen" 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:962 order/models.py:2051 +#: order/models.py:962 order/models.py:2077 msgid "Customer Reference " msgstr "Vevői azonosító " -#: order/models.py:963 order/models.py:2052 +#: order/models.py:963 order/models.py:2078 msgid "Customer order reference code" msgstr "Megrendelés azonosító kódja a vevőnél" -#: order/models.py:967 order/models.py:1671 +#: order/models.py:967 order/models.py:1687 #: templates/js/translated/sales_order.js:879 #: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" @@ -5103,20 +5381,26 @@ msgstr "További kontextus ehhez a sorhoz" msgid "Unit price" msgstr "Egységár" -#: order/models.py:1380 +#: order/models.py:1361 +#, fuzzy +#| msgid "Purchase Order Items" +msgid "Purchase Order Line Item" +msgstr "Beszerzési rendelés tételei" + +#: order/models.py:1385 msgid "Supplier part must match supplier" msgstr "Beszállítói alkatrésznek egyeznie kell a beszállítóval" -#: order/models.py:1387 +#: order/models.py:1392 msgid "deleted" msgstr "törölve" -#: order/models.py:1415 +#: order/models.py:1420 msgid "Supplier part" msgstr "Beszállítói alkatrész" -#: order/models.py:1422 order/templates/order/order_base.html:196 -#: templates/js/translated/part.js:1870 templates/js/translated/part.js:1902 +#: order/models.py:1427 order/templates/order/order_base.html:196 +#: templates/js/translated/part.js:1873 templates/js/translated/part.js:1905 #: templates/js/translated/purchase_order.js:1306 #: templates/js/translated/purchase_order.js:2169 #: templates/js/translated/return_order.js:763 @@ -5125,196 +5409,238 @@ msgstr "Beszállítói alkatrész" msgid "Received" msgstr "Beérkezett" -#: order/models.py:1423 +#: order/models.py:1428 msgid "Number of items received" msgstr "Érkezett tételek száma" -#: order/models.py:1431 stock/models.py:939 stock/serializers.py:556 +#: order/models.py:1436 stock/models.py:939 stock/serializers.py:602 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2311 msgid "Purchase Price" msgstr "Beszerzési ár" -#: order/models.py:1432 +#: order/models.py:1437 msgid "Unit purchase price" msgstr "Beszerzési egységár" -#: order/models.py:1447 +#: order/models.py:1452 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:1538 +#: order/models.py:1503 +#, fuzzy +#| msgid "Purchase Order Items" +msgid "Purchase Order Extra Line" +msgstr "Beszerzési rendelés tételei" + +#: order/models.py:1532 +#, fuzzy +#| msgid "Sales Order Items" +msgid "Sales Order Line Item" +msgstr "Vevői rendelés tételek" + +#: order/models.py:1553 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:1543 +#: order/models.py:1558 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:1569 part/templates/part/part_pricing.html:107 +#: order/models.py:1584 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:1570 +#: order/models.py:1585 msgid "Unit sale price" msgstr "Eladási egységár" -#: order/models.py:1579 order/status_codes.py:43 +#: order/models.py:1594 order/status_codes.py:43 #: 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" -#: order/models.py:1580 +#: order/models.py:1595 msgid "Shipped quantity" msgstr "Szállított mennyiség" -#: order/models.py:1672 +#: order/models.py:1667 +#, fuzzy +#| msgid "Sales Order Default Shipment" +msgid "Sales Order Shipment" +msgstr "Vevői rendeléshez alapértelmezett szállítmány" + +#: order/models.py:1688 msgid "Date of shipment" msgstr "Szállítás dátuma" -#: order/models.py:1678 templates/js/translated/sales_order.js:1072 +#: order/models.py:1694 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "Szállítási dátum" -#: order/models.py:1679 +#: order/models.py:1695 msgid "Date of delivery of shipment" msgstr "Kézbesítés dátuma" -#: order/models.py:1687 +#: order/models.py:1703 msgid "Checked By" msgstr "Ellenőrizte" -#: order/models.py:1688 +#: order/models.py:1704 msgid "User who checked this shipment" msgstr "Felhasználó aki ellenőrizte ezt a szállítmányt" -#: order/models.py:1695 order/models.py:1908 order/serializers.py:1342 -#: order/serializers.py:1452 templates/js/translated/model_renderers.js:454 +#: order/models.py:1711 order/models.py:1934 order/serializers.py:1398 +#: order/serializers.py:1508 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "Szállítmány" -#: order/models.py:1696 +#: order/models.py:1712 msgid "Shipment number" msgstr "Szállítmány száma" -#: order/models.py:1704 +#: order/models.py:1720 msgid "Tracking Number" msgstr "Nyomkövetési szám" -#: order/models.py:1705 +#: order/models.py:1721 msgid "Shipment tracking information" msgstr "Szállítmány nyomkövetési információ" -#: order/models.py:1712 +#: order/models.py:1728 msgid "Invoice Number" msgstr "Számlaszám" -#: order/models.py:1713 +#: order/models.py:1729 msgid "Reference number for associated invoice" msgstr "Hozzátartozó számla referencia száma" -#: order/models.py:1733 +#: order/models.py:1749 msgid "Shipment has already been sent" msgstr "Szállítmány már elküldve" -#: order/models.py:1736 +#: order/models.py:1752 msgid "Shipment has no allocated stock items" msgstr "Szállítmány nem tartalmaz foglalt készlet tételeket" -#: order/models.py:1854 order/models.py:1856 +#: order/models.py:1828 +#, fuzzy +#| msgid "Sales Order Items" +msgid "Sales Order Extra Line" +msgstr "Vevői rendelés tételek" + +#: order/models.py:1857 +#, fuzzy +#| msgid "Sales Order Allocations" +msgid "Sales Order Allocation" +msgstr "Vevői rendeléshez foglalások" + +#: order/models.py:1880 order/models.py:1882 msgid "Stock item has not been assigned" msgstr "Készlet tétel nincs hozzárendelve" -#: order/models.py:1863 +#: order/models.py:1889 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:1866 +#: order/models.py:1892 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:1869 +#: order/models.py:1895 msgid "Allocation quantity cannot exceed stock quantity" msgstr "A lefoglalandó mennyiség nem haladhatja meg a készlet mennyiségét" -#: order/models.py:1888 order/serializers.py:1219 +#: order/models.py:1914 order/serializers.py:1275 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:1891 +#: order/models.py:1917 msgid "Sales order does not match shipment" msgstr "Vevői rendelés nem egyezik a szállítmánnyal" -#: order/models.py:1892 plugin/base/barcodes/api.py:481 +#: order/models.py:1918 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:1900 +#: order/models.py:1926 msgid "Line" msgstr "Sor" -#: order/models.py:1909 +#: order/models.py:1935 msgid "Sales order shipment reference" msgstr "Vevői rendelés szállítmány azonosító" -#: order/models.py:1922 order/models.py:2239 +#: order/models.py:1948 order/models.py:2266 #: templates/js/translated/return_order.js:721 msgid "Item" msgstr "Tétel" -#: order/models.py:1923 +#: order/models.py:1949 msgid "Select stock item to allocate" msgstr "Válaszd ki a foglalásra szánt készlet tételt" -#: order/models.py:1932 +#: order/models.py:1958 msgid "Enter stock allocation quantity" msgstr "Készlet foglalási mennyiség megadása" -#: order/models.py:2021 +#: order/models.py:2047 msgid "Return Order reference" msgstr "Visszavétel azonosító" -#: order/models.py:2033 +#: order/models.py:2059 msgid "Company from which items are being returned" msgstr "Cég akitől a tételek visszavételre kerülnek" -#: order/models.py:2045 +#: order/models.py:2071 msgid "Return order status" msgstr "Visszavétel állapota" -#: order/models.py:2224 +#: order/models.py:2237 +#, fuzzy +#| msgid "Return order line item" +msgid "Return Order Line Item" +msgstr "Visszavétel sortétel" + +#: 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:2240 +#: 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:2246 +#: order/models.py:2273 msgid "Received Date" msgstr "Visszavétel dátuma" -#: order/models.py:2247 +#: order/models.py:2274 msgid "The date this this return item was received" msgstr "Mikor lett visszavéve a tétel" -#: order/models.py:2258 templates/js/translated/return_order.js:732 +#: 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:2259 +#: order/models.py:2286 msgid "Outcome for this line item" msgstr "Sortétel végső kimenetele" -#: order/models.py:2266 +#: 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:79 order/templates/order/po_sidebar.html:5 +#: order/models.py:2303 +#, fuzzy +#| msgid "Return Order Settings" +msgid "Return Order Extra Line" +msgstr "Visszavétel bellításai" + +#: order/serializers.py:83 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_purchase_order_report.html:22 @@ -5323,163 +5649,173 @@ msgstr "Sortétel visszaküldésének vagy javításának költsége" msgid "Line Items" msgstr "Sortételek" -#: order/serializers.py:83 +#: order/serializers.py:87 msgid "Completed Lines" msgstr "Kész sorok" -#: order/serializers.py:286 +#: order/serializers.py:305 msgid "Order cannot be cancelled" msgstr "A rendelést nem lehet törölni" -#: order/serializers.py:301 order/serializers.py:1235 +#: order/serializers.py:320 order/serializers.py:1291 msgid "Allow order to be closed with incomplete line items" msgstr "Rendelés lezárása teljesítetlen sortételek esetén is" -#: order/serializers.py:311 order/serializers.py:1245 +#: order/serializers.py:330 order/serializers.py:1301 msgid "Order has incomplete line items" msgstr "A rendelésben teljesítetlen sortételek vannak" -#: order/serializers.py:439 +#: order/serializers.py:468 msgid "Order is not open" msgstr "A rendelés nem nyitott" -#: order/serializers.py:460 +#: order/serializers.py:489 msgid "Auto Pricing" msgstr "Automata árazás" -#: order/serializers.py:462 +#: order/serializers.py:491 msgid "Automatically calculate purchase price based on supplier part data" msgstr "Beszerzési ár automatikus számítása a beszállítói alkatrész adatai alapján" -#: order/serializers.py:472 +#: order/serializers.py:501 msgid "Purchase price currency" msgstr "Beszérzési ár pénzneme" -#: order/serializers.py:478 +#: order/serializers.py:507 msgid "Merge Items" msgstr "Elemek összevonása" -#: order/serializers.py:480 +#: order/serializers.py:509 msgid "Merge items with the same part, destination and target date into one line item" msgstr "Azonos forrás és cél dátumú Alkatrész tételeinek összevonása egy tételre" -#: order/serializers.py:498 +#: order/serializers.py:522 part/models.py:945 +msgid "Internal Part Number" +msgstr "Belső cikkszám" + +#: order/serializers.py:530 +#, fuzzy +#| msgid "Internal Part Number" +msgid "Internal Part Name" +msgstr "Belső cikkszám" + +#: order/serializers.py:546 msgid "Supplier part must be specified" msgstr "Beszállítói alkatrészt meg kell adni" -#: order/serializers.py:501 +#: order/serializers.py:549 msgid "Purchase order must be specified" msgstr "Beszerzési rendelést meg kell adni" -#: order/serializers.py:509 +#: order/serializers.py:557 msgid "Supplier must match purchase order" msgstr "A beszállítónak egyeznie kell a beszerzési rendelésben lévővel" -#: order/serializers.py:510 +#: order/serializers.py:558 msgid "Purchase order must match supplier" msgstr "A beszerzési rendelésnek egyeznie kell a beszállítóval" -#: order/serializers.py:549 order/serializers.py:1313 +#: order/serializers.py:598 order/serializers.py:1369 msgid "Line Item" msgstr "Sortétel" -#: order/serializers.py:555 +#: order/serializers.py:604 msgid "Line item does not match purchase order" msgstr "Sortétel nem egyezik a beszerzési megrendeléssel" -#: order/serializers.py:565 order/serializers.py:673 order/serializers.py:1657 +#: order/serializers.py:614 order/serializers.py:722 order/serializers.py:1715 msgid "Select destination location for received items" msgstr "Válassz cél helyet a beérkezett tételeknek" -#: order/serializers.py:581 templates/js/translated/purchase_order.js:1130 +#: order/serializers.py:630 templates/js/translated/purchase_order.js:1130 msgid "Enter batch code for incoming stock items" msgstr "Írd be a batch kódját a beérkezett tételeknek" -#: order/serializers.py:589 templates/js/translated/purchase_order.js:1154 +#: order/serializers.py:638 templates/js/translated/purchase_order.js:1154 msgid "Enter serial numbers for incoming stock items" msgstr "Írd be a sorozatszámokat a beérkezett tételekhez" -#: order/serializers.py:600 templates/js/translated/barcode.js:52 +#: order/serializers.py:649 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "Vonalkód" -#: order/serializers.py:601 +#: order/serializers.py:650 msgid "Scanned barcode" msgstr "Beolvasott vonalkód" -#: order/serializers.py:617 +#: order/serializers.py:666 msgid "Barcode is already in use" msgstr "Ez a vonalkód már használva van" -#: order/serializers.py:641 +#: order/serializers.py:690 msgid "An integer quantity must be provided for trackable parts" msgstr "Egész számú mennyiség szükséges az egyedi követésre kötelezett alkatrészeknél" -#: order/serializers.py:689 order/serializers.py:1673 +#: order/serializers.py:738 order/serializers.py:1731 msgid "Line items must be provided" msgstr "Sortételt meg kell adni" -#: order/serializers.py:705 +#: order/serializers.py:754 msgid "Destination location must be specified" msgstr "A cél helyet kötelező megadni" -#: order/serializers.py:716 +#: order/serializers.py:765 msgid "Supplied barcode values must be unique" msgstr "Megadott vonalkódoknak egyedieknek kel lenniük" -#: order/serializers.py:1062 +#: order/serializers.py:1117 msgid "Sale price currency" msgstr "Eladási ár pénzneme" -#: order/serializers.py:1122 +#: order/serializers.py:1178 msgid "No shipment details provided" msgstr "Nincsenek szállítmány részletek megadva" -#: order/serializers.py:1183 order/serializers.py:1322 +#: order/serializers.py:1239 order/serializers.py:1378 msgid "Line item is not associated with this order" msgstr "Sortétel nincs hozzárendelve ehhez a rendeléshez" -#: order/serializers.py:1202 +#: order/serializers.py:1258 msgid "Quantity must be positive" msgstr "Mennyiség pozitív kell legyen" -#: order/serializers.py:1332 +#: order/serializers.py:1388 msgid "Enter serial numbers to allocate" msgstr "Írd be a sorozatszámokat a kiosztáshoz" -#: order/serializers.py:1354 order/serializers.py:1460 +#: order/serializers.py:1410 order/serializers.py:1516 msgid "Shipment has already been shipped" msgstr "Szállítmány kiszállítva" -#: order/serializers.py:1357 order/serializers.py:1463 +#: order/serializers.py:1413 order/serializers.py:1519 msgid "Shipment is not associated with this order" msgstr "Szállítmány nincs hozzárendelve ehhez a rendeléshez" -#: order/serializers.py:1404 +#: order/serializers.py:1460 msgid "No match found for the following serial numbers" msgstr "Nincs találat a következő sorozatszámokra" -#: order/serializers.py:1411 +#: order/serializers.py:1467 msgid "The following serial numbers are already allocated" msgstr "A következő sorozatszámok már ki lettek osztva" -#: order/serializers.py:1627 +#: order/serializers.py:1685 msgid "Return order line item" msgstr "Visszavétel sortétel" -#: order/serializers.py:1633 +#: order/serializers.py:1691 msgid "Line item does not match return order" msgstr "Sortétel nem egyezik a visszavétellel" -#: order/serializers.py:1636 +#: order/serializers.py:1694 msgid "Line item has already been received" msgstr "A sortétel már beérkezett" -#: order/serializers.py:1665 +#: order/serializers.py:1723 msgid "Items can only be received against orders which are in progress" msgstr "Csak folyamatban lévő megrendelés tételeit lehet bevételezni" -#: order/serializers.py:1743 +#: order/serializers.py:1806 msgid "Line price currency" msgstr "Sortétel pénzneme" @@ -5809,7 +6145,7 @@ msgstr "Vevői azonosító" #: 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:1073 +#: templates/js/translated/part.js:1076 #: templates/js/translated/purchase_order.js:1752 #: templates/js/translated/return_order.js:380 #: templates/js/translated/sales_order.js:891 @@ -5905,34 +6241,29 @@ msgstr "A {part} egységára {price}-ra módosítva" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "A {part} alkatrész módosított egységára {price} mennyisége pedig {qty}" -#: part/admin.py:39 part/admin.py:398 part/models.py:3944 part/stocktake.py:219 +#: part/admin.py:39 part/admin.py:398 part/models.py:3991 part/stocktake.py:219 #: stock/admin.py:152 msgid "Part ID" msgstr "Alkatrész ID" -#: part/admin.py:41 part/admin.py:405 part/models.py:3945 part/stocktake.py:220 -#: stock/admin.py:156 -msgid "Part Name" -msgstr "Alkatrész neve" - #: part/admin.py:45 part/stocktake.py:221 msgid "Part Description" msgstr "Alkatrész leírása" -#: part/admin.py:48 part/models.py:940 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:944 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 -#: templates/js/translated/part.js:1227 templates/js/translated/part.js:2341 +#: templates/js/translated/part.js:1230 templates/js/translated/part.js:2344 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "IPN (Belső Cikkszám)" -#: part/admin.py:50 part/models.py:949 part/templates/part/part_base.html:277 -#: report/models.py:162 templates/js/translated/part.js:1232 -#: templates/js/translated/part.js:2347 +#: part/admin.py:50 part/models.py:953 part/templates/part/part_base.html:277 +#: report/models.py:162 templates/js/translated/part.js:1235 +#: templates/js/translated/part.js:2350 msgid "Revision" msgstr "Változat" -#: part/admin.py:53 part/admin.py:319 part/models.py:922 +#: part/admin.py:53 part/admin.py:319 part/models.py:926 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "Kulcsszavak" @@ -5945,7 +6276,8 @@ msgstr "Alkatrész ábra" msgid "Category ID" msgstr "Kategória ID" -#: part/admin.py:67 part/admin.py:304 part/stocktake.py:223 +#: part/admin.py:67 part/admin.py:304 part/serializers.py:837 +#: part/stocktake.py:223 msgid "Category Name" msgstr "Kategória neve" @@ -5957,11 +6289,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:908 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:912 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "Ebből a sablonból" -#: part/admin.py:84 part/models.py:1036 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1040 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "Minimális készlet" @@ -5969,18 +6301,19 @@ msgstr "Minimális készlet" msgid "Used In" msgstr "Felhasználva ebben" -#: part/admin.py:150 part/templates/part/part_base.html:241 stock/admin.py:235 -#: templates/js/translated/part.js:715 templates/js/translated/part.js:2153 +#: part/admin.py:150 part/serializers.py:854 +#: part/templates/part/part_base.html:241 stock/admin.py:235 +#: templates/js/translated/part.js:714 templates/js/translated/part.js:2156 msgid "Building" msgstr "Gyártásban" -#: part/admin.py:155 part/models.py:3088 part/models.py:3102 -#: templates/js/translated/part.js:970 +#: part/admin.py:155 part/models.py:3098 part/models.py:3112 +#: templates/js/translated/part.js:973 msgid "Minimum Cost" msgstr "Minimum költség" -#: part/admin.py:158 part/models.py:3095 part/models.py:3109 -#: templates/js/translated/part.js:980 +#: part/admin.py:158 part/models.py:3105 part/models.py:3119 +#: templates/js/translated/part.js:983 msgid "Maximum Cost" msgstr "Maximum költség" @@ -5997,14 +6330,14 @@ msgstr "Szülő neve" msgid "Category Path" msgstr "Kategória elérési út" -#: part/admin.py:325 part/models.py:396 part/serializers.py:124 -#: part/serializers.py:267 part/serializers.py:386 +#: part/admin.py:325 part/models.py:397 part/serializers.py:130 +#: part/serializers.py:282 part/serializers.py:404 #: 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:2807 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:203 msgid "Parts" msgstr "Alkatrészek" @@ -6021,125 +6354,117 @@ msgstr "Alkatrészjegyzék tétel ID" msgid "Parent IPN" msgstr "Szülő IPN" -#: part/admin.py:402 part/models.py:3946 -msgid "Part IPN" -msgstr "Alkatrész IPN" - -#: part/admin.py:415 part/serializers.py:1274 +#: part/admin.py:415 part/serializers.py:1302 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "Minimum ár" -#: part/admin.py:420 part/serializers.py:1289 +#: part/admin.py:420 part/serializers.py:1317 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "Maximum ár" -#: part/api.py:104 +#: part/api.py:105 msgid "Starred" msgstr "Csillagozott" -#: part/api.py:106 +#: part/api.py:107 msgid "Filter by starred categories" msgstr "Csillagozottra szűrés" -#: part/api.py:123 stock/api.py:312 +#: part/api.py:124 stock/api.py:312 msgid "Depth" msgstr "Mélység" -#: part/api.py:123 +#: part/api.py:124 msgid "Filter by category depth" msgstr "Kategória mélységre szűrés" -#: part/api.py:141 stock/api.py:330 +#: part/api.py:142 stock/api.py:330 msgid "Top Level" msgstr "Felső szint" -#: part/api.py:143 +#: part/api.py:144 msgid "Filter by top-level categories" msgstr "" -#: part/api.py:156 stock/api.py:345 +#: part/api.py:157 stock/api.py:345 msgid "Cascade" msgstr "Lépcsőzetes" -#: part/api.py:158 +#: part/api.py:159 msgid "Include sub-categories in filtered results" msgstr "Szűrt eredmények tartalmazzák az alkategóriákat" -#: part/api.py:179 templates/js/translated/part.js:308 +#: part/api.py:180 templates/js/translated/part.js:307 msgid "Parent" msgstr "Szülő" -#: part/api.py:181 +#: part/api.py:182 msgid "Filter by parent category" msgstr "Szülő kategóriára szűrés" -#: part/api.py:214 +#: part/api.py:215 msgid "Exclude Tree" msgstr "Fa kihagyása" -#: part/api.py:216 +#: part/api.py:217 msgid "Exclude sub-categories under the specified category" msgstr "Az adott kategória alkategóriáinak kihagyása" -#: part/api.py:449 +#: part/api.py:442 msgid "Has Results" msgstr "Van találat" -#: part/api.py:616 +#: part/api.py:609 msgid "Incoming Purchase Order" msgstr "Beérkező beszerzési rendelés" -#: part/api.py:634 +#: part/api.py:627 msgid "Outgoing Sales Order" msgstr "Kimenő vevői rendelés" -#: part/api.py:650 +#: part/api.py:643 msgid "Stock produced by Build Order" msgstr "Gyártással előállított készlet" -#: part/api.py:734 +#: part/api.py:727 msgid "Stock required for Build Order" msgstr "A gyártási utasításhoz szükséges készlet" -#: part/api.py:881 -msgid "Valid" -msgstr "Érvényes" - -#: part/api.py:882 +#: part/api.py:875 msgid "Validate entire Bill of Materials" msgstr "Teljes alkatrészjegyzék jóváhagyása" -#: part/api.py:888 +#: part/api.py:881 msgid "This option must be selected" msgstr "Ennek az opciónak ki kll lennie választva" -#: part/api.py:1105 +#: part/api.py:1098 msgid "BOM Valid" msgstr "" -#: part/api.py:1508 part/models.py:932 part/models.py:3374 part/models.py:3889 -#: part/serializers.py:401 part/serializers.py:1130 -#: part/templates/part/part_base.html:260 stock/api.py:791 +#: part/api.py:1494 part/models.py:936 part/models.py:3385 part/models.py:3936 +#: part/serializers.py:419 part/serializers.py:1158 +#: part/templates/part/part_base.html:260 stock/api.py:783 #: 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:2380 msgid "Category" msgstr "Kategória" -#: part/api.py:1796 +#: part/api.py:1784 msgid "Uses" msgstr "Használ" -#: part/bom.py:170 part/models.py:104 part/models.py:975 +#: part/bom.py:170 part/models.py:104 part/models.py:979 #: 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:833 +#: part/bom.py:171 part/serializers.py:861 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "Teljes készlet" @@ -6148,7 +6473,7 @@ msgstr "Teljes készlet" msgid "Input quantity for price calculation" msgstr "Add meg a mennyiséget az árszámításhoz" -#: part/models.py:85 part/models.py:3890 part/templates/part/category.html:16 +#: part/models.py:85 part/models.py:3937 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Alkatrész kategória" @@ -6163,7 +6488,7 @@ msgstr "Alkatrész kategóriák" msgid "Default location for parts in this category" msgstr "Ebben a kategóriában lévő alkatrészek helye alapban" -#: part/models.py:110 stock/models.py:175 templates/js/translated/part.js:2810 +#: part/models.py:110 stock/models.py:175 templates/js/translated/part.js:2813 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 @@ -6195,1002 +6520,1053 @@ msgstr "Ikon (opcionális)" 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:485 +#: part/models.py:486 +#, fuzzy +#| msgid "Cannot be deleted as items have been allocated" +msgid "Cannot delete this part as it is locked" +msgstr "Nem törölhető mivel tételek vannak lefoglalva" + +#: part/models.py:489 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:490 +#: part/models.py:494 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:528 +#: part/models.py:532 msgid "Invalid choice for parent part" msgstr "Hibás választás a szülő alkatrészre" -#: part/models.py:576 part/models.py:583 +#: part/models.py:580 part/models.py:587 #, 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:595 +#: part/models.py:599 #, 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:658 +#: part/models.py:662 #, 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:736 +#: part/models.py:740 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:837 +#: part/models.py:841 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:847 +#: part/models.py:851 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:862 +#: part/models.py:866 msgid "Parts cannot be assigned to structural part categories!" msgstr "Szerkezeti kategóriákhoz nem lehet alkatrészeket rendelni!" -#: part/models.py:891 part/models.py:3945 +#: part/models.py:895 part/models.py:3992 msgid "Part name" msgstr "Alkatrész neve" -#: part/models.py:896 +#: part/models.py:900 msgid "Is Template" msgstr "Sablon-e" -#: part/models.py:897 +#: part/models.py:901 msgid "Is this part a template part?" msgstr "Ez egy sablon alkatrész?" -#: part/models.py:907 +#: part/models.py:911 msgid "Is this part a variant of another part?" msgstr "Ez az alkatrész egy másik változata?" -#: part/models.py:915 +#: part/models.py:919 msgid "Part description (optional)" msgstr "Alkatrész leírása (opcionális)" -#: part/models.py:923 +#: part/models.py:927 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:933 +#: part/models.py:937 msgid "Part category" msgstr "Alkatrész kategória" -#: part/models.py:941 -msgid "Internal Part Number" -msgstr "Belső cikkszám" - -#: part/models.py:948 +#: part/models.py:952 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:973 +#: part/models.py:977 msgid "Where is this item normally stored?" msgstr "Alapban hol tároljuk ezt az alkatrészt?" -#: part/models.py:1019 part/templates/part/part_base.html:376 +#: part/models.py:1023 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "Alapértelmezett beszállító" -#: part/models.py:1020 +#: part/models.py:1024 msgid "Default supplier part" msgstr "Alapértelmezett beszállítói alkatrész" -#: part/models.py:1027 +#: part/models.py:1031 msgid "Default Expiry" msgstr "Alapértelmezett lejárat" -#: part/models.py:1028 +#: part/models.py:1032 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:1037 +#: part/models.py:1041 msgid "Minimum allowed stock level" msgstr "Minimálisan megengedett készlet mennyiség" -#: part/models.py:1046 +#: part/models.py:1050 msgid "Units of measure for this part" msgstr "Alkatrész mértékegysége" -#: part/models.py:1053 +#: part/models.py:1057 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:1059 +#: part/models.py:1063 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:1065 +#: part/models.py:1069 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:1071 +#: part/models.py:1075 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:1077 +#: part/models.py:1081 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:1081 +#: part/models.py:1085 msgid "Is this part active?" msgstr "Aktív-e ez az alkatrész?" -#: part/models.py:1087 +#: part/models.py:1090 templates/js/translated/part.js:818 +#: templates/js/translated/table_filters.js:721 +#, fuzzy +#| msgid "Lock" +msgid "Locked" +msgstr "Zárol" + +#: part/models.py:1091 +#, fuzzy +#| msgid "This part cannot be serialized" +msgid "Locked parts cannot be edited" +msgstr "Ezt az alkatrészt nem lehet sorozatszámozni" + +#: part/models.py:1097 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:1093 +#: part/models.py:1103 msgid "BOM checksum" msgstr "Alkatrészjegyzék ellenőrző összeg" -#: part/models.py:1094 +#: part/models.py:1104 msgid "Stored BOM checksum" msgstr "Tárolt alkatrészjegyzék ellenőrző összeg" -#: part/models.py:1102 +#: part/models.py:1112 msgid "BOM checked by" msgstr "Alkatrészjegyzéket ellenőrizte" -#: part/models.py:1107 +#: part/models.py:1117 msgid "BOM checked date" msgstr "Alkatrészjegyzék ellenőrzési dátuma" -#: part/models.py:1123 +#: part/models.py:1133 msgid "Creation User" msgstr "Létrehozó" -#: part/models.py:1133 +#: part/models.py:1143 msgid "Owner responsible for this part" msgstr "Alkatrész felelőse" -#: part/models.py:1138 part/templates/part/part_base.html:339 +#: part/models.py:1148 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:2474 msgid "Last Stocktake" msgstr "Utolsó leltár" -#: part/models.py:2011 +#: part/models.py:2021 msgid "Sell multiple" msgstr "Több értékesítése" -#: part/models.py:3002 +#: part/models.py:3012 msgid "Currency used to cache pricing calculations" msgstr "Árszámítások gyorstárazásához használt pénznem" -#: part/models.py:3018 +#: part/models.py:3028 msgid "Minimum BOM Cost" msgstr "Minimum alkatrészjegyzék költség" -#: part/models.py:3019 +#: part/models.py:3029 msgid "Minimum cost of component parts" msgstr "Összetevők minimum költsége" -#: part/models.py:3025 +#: part/models.py:3035 msgid "Maximum BOM Cost" msgstr "Maximum alkatrészjegyzék költség" -#: part/models.py:3026 +#: part/models.py:3036 msgid "Maximum cost of component parts" msgstr "Összetevők maximum költsége" -#: part/models.py:3032 +#: part/models.py:3042 msgid "Minimum Purchase Cost" msgstr "Minimum beszerzési ár" -#: part/models.py:3033 +#: part/models.py:3043 msgid "Minimum historical purchase cost" msgstr "Eddigi minimum beszerzési költség" -#: part/models.py:3039 +#: part/models.py:3049 msgid "Maximum Purchase Cost" msgstr "Maximum beszerzési ár" -#: part/models.py:3040 +#: part/models.py:3050 msgid "Maximum historical purchase cost" msgstr "Eddigi maximum beszerzési költség" -#: part/models.py:3046 +#: part/models.py:3056 msgid "Minimum Internal Price" msgstr "Minimum belső ár" -#: part/models.py:3047 +#: part/models.py:3057 msgid "Minimum cost based on internal price breaks" msgstr "Minimum költség a belső ársávok alapján" -#: part/models.py:3053 +#: part/models.py:3063 msgid "Maximum Internal Price" msgstr "Maximum belső ár" -#: part/models.py:3054 +#: part/models.py:3064 msgid "Maximum cost based on internal price breaks" msgstr "Maximum költség a belső ársávok alapján" -#: part/models.py:3060 +#: part/models.py:3070 msgid "Minimum Supplier Price" msgstr "Minimum beszállítói ár" -#: part/models.py:3061 +#: part/models.py:3071 msgid "Minimum price of part from external suppliers" msgstr "Minimum alkatrész ár a beszállítóktól" -#: part/models.py:3067 +#: part/models.py:3077 msgid "Maximum Supplier Price" msgstr "Maximum beszállítói ár" -#: part/models.py:3068 +#: part/models.py:3078 msgid "Maximum price of part from external suppliers" msgstr "Maximum alkatrész ár a beszállítóktól" -#: part/models.py:3074 +#: part/models.py:3084 msgid "Minimum Variant Cost" msgstr "Minimum alkatrészváltozat ár" -#: part/models.py:3075 +#: part/models.py:3085 msgid "Calculated minimum cost of variant parts" msgstr "Alkatrészváltozatok számolt minimum költsége" -#: part/models.py:3081 +#: part/models.py:3091 msgid "Maximum Variant Cost" msgstr "Maximum alkatrészváltozat ár" -#: part/models.py:3082 +#: part/models.py:3092 msgid "Calculated maximum cost of variant parts" msgstr "Alkatrészváltozatok számolt maximum költsége" -#: part/models.py:3089 +#: part/models.py:3099 msgid "Override minimum cost" msgstr "Minimum költség felülbírálása" -#: part/models.py:3096 +#: part/models.py:3106 msgid "Override maximum cost" msgstr "Maximum költség felülbírálása" -#: part/models.py:3103 +#: part/models.py:3113 msgid "Calculated overall minimum cost" msgstr "Számított általános minimum költség" -#: part/models.py:3110 +#: part/models.py:3120 msgid "Calculated overall maximum cost" msgstr "Számított általános maximum költség" -#: part/models.py:3116 +#: part/models.py:3126 msgid "Minimum Sale Price" msgstr "Minimum eladási ár" -#: part/models.py:3117 +#: part/models.py:3127 msgid "Minimum sale price based on price breaks" msgstr "Minimum eladási ár az ársávok alapján" -#: part/models.py:3123 +#: part/models.py:3133 msgid "Maximum Sale Price" msgstr "Maximum eladási ár" -#: part/models.py:3124 +#: part/models.py:3134 msgid "Maximum sale price based on price breaks" msgstr "Maximum eladási ár az ársávok alapján" -#: part/models.py:3130 +#: part/models.py:3140 msgid "Minimum Sale Cost" msgstr "Minimum eladási költség" -#: part/models.py:3131 +#: part/models.py:3141 msgid "Minimum historical sale price" msgstr "Eddigi minimum eladási ár" -#: part/models.py:3137 +#: part/models.py:3147 msgid "Maximum Sale Cost" msgstr "Maximum eladási költség" -#: part/models.py:3138 +#: part/models.py:3148 msgid "Maximum historical sale price" msgstr "Eddigi maximum eladási ár" -#: part/models.py:3157 +#: part/models.py:3167 msgid "Part for stocktake" msgstr "Leltározható alkatrész" -#: part/models.py:3162 +#: part/models.py:3172 msgid "Item Count" msgstr "Tételszám" -#: part/models.py:3163 +#: part/models.py:3173 msgid "Number of individual stock entries at time of stocktake" msgstr "Egyedi készlet tételek száma a leltárkor" -#: part/models.py:3171 +#: part/models.py:3181 msgid "Total available stock at time of stocktake" msgstr "Teljes készlet a leltárkor" -#: part/models.py:3175 part/models.py:3258 +#: part/models.py:3185 part/models.py:3268 #: part/templates/part/part_scheduling.html:13 #: 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:1086 templates/js/translated/pricing.js:826 +#: templates/js/translated/part.js:1089 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 #: templates/js/translated/purchase_order.js:1731 #: templates/js/translated/stock.js:2821 msgid "Date" msgstr "Dátum" -#: part/models.py:3176 +#: part/models.py:3186 msgid "Date stocktake was performed" msgstr "Leltározva ekkor" -#: part/models.py:3184 +#: part/models.py:3194 msgid "Additional notes" msgstr "További megjegyzések" -#: part/models.py:3194 +#: part/models.py:3204 msgid "User who performed this stocktake" msgstr "Leltározta" -#: part/models.py:3200 +#: part/models.py:3210 msgid "Minimum Stock Cost" msgstr "Minimum készlet érték" -#: part/models.py:3201 +#: part/models.py:3211 msgid "Estimated minimum cost of stock on hand" msgstr "Becsült minimum raktárkészlet érték" -#: part/models.py:3207 +#: part/models.py:3217 msgid "Maximum Stock Cost" msgstr "Maximum készlet érték" -#: part/models.py:3208 +#: part/models.py:3218 msgid "Estimated maximum cost of stock on hand" msgstr "Becsült maximum raktárkészlet érték" -#: part/models.py:3264 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3274 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "Riport" -#: part/models.py:3265 +#: part/models.py:3275 msgid "Stocktake report file (generated internally)" msgstr "Leltár riport fájl (generált)" -#: part/models.py:3270 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3280 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "Alkatrész szám" -#: part/models.py:3271 +#: part/models.py:3281 msgid "Number of parts covered by stocktake" msgstr "Leltározott alkatrészek száma" -#: part/models.py:3281 +#: part/models.py:3291 msgid "User who requested this stocktake report" msgstr "Felhasználó aki a leltár riportot kérte" -#: part/models.py:3423 +#: part/models.py:3301 +#, fuzzy +#| msgid "Add Sell Price Break" +msgid "Part Sale Price Break" +msgstr "Eladási ársáv hozzáadása" + +#: part/models.py:3413 +#, fuzzy +#| msgid "Part Test Templates" +msgid "Part Test Template" +msgstr "Alkatrész teszt sablonok" + +#: part/models.py:3439 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:3444 part/models.py:3608 +#: part/models.py:3460 part/models.py:3629 msgid "Choices must be unique" msgstr "A lehetőségek egyediek kell legyenek" -#: part/models.py:3455 +#: part/models.py:3471 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:3466 +#: part/models.py:3482 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:3483 templates/js/translated/part.js:2880 +#: part/models.py:3499 templates/js/translated/part.js:2883 msgid "Test Name" msgstr "Teszt név" -#: part/models.py:3484 +#: part/models.py:3500 msgid "Enter a name for the test" msgstr "Add meg a teszt nevét" -#: part/models.py:3490 +#: part/models.py:3506 msgid "Test Key" msgstr "Teszt azonosító" -#: part/models.py:3491 +#: part/models.py:3507 msgid "Simplified key for the test" msgstr "Egyszerűsített Teszt azonosító" -#: part/models.py:3498 +#: part/models.py:3514 msgid "Test Description" msgstr "Teszt leírása" -#: part/models.py:3499 +#: part/models.py:3515 msgid "Enter description for this test" msgstr "Adj hozzá egy leírást ehhez a teszthez" -#: part/models.py:3503 report/models.py:209 -#: templates/js/translated/part.js:2901 +#: part/models.py:3519 report/models.py:209 +#: templates/js/translated/part.js:2904 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "Engedélyezve" -#: part/models.py:3503 +#: part/models.py:3519 msgid "Is this test enabled?" msgstr "Teszt engedélyezve?" -#: part/models.py:3508 templates/js/translated/part.js:2909 +#: part/models.py:3524 templates/js/translated/part.js:2912 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "Kötelező" -#: part/models.py:3509 +#: part/models.py:3525 msgid "Is this test required to pass?" msgstr "Szükséges-e hogy ez a teszt sikeres legyen?" -#: part/models.py:3514 templates/js/translated/part.js:2917 +#: part/models.py:3530 templates/js/translated/part.js:2920 msgid "Requires Value" msgstr "Kötelező érték" -#: part/models.py:3515 +#: part/models.py:3531 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:3520 templates/js/translated/part.js:2924 +#: part/models.py:3536 templates/js/translated/part.js:2927 msgid "Requires Attachment" msgstr "Kötelező melléklet" -#: part/models.py:3522 +#: part/models.py:3538 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:3528 part/models.py:3667 templates/js/translated/part.js:1637 +#: part/models.py:3544 part/models.py:3688 templates/js/translated/part.js:1640 msgid "Choices" msgstr "Lehetőségek" -#: part/models.py:3529 +#: part/models.py:3545 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3583 +#: part/models.py:3577 +#, fuzzy +#| msgid "Part Parameter Templates" +msgid "Part Parameter Template" +msgstr "Alkatrész paraméter sablonok" + +#: part/models.py:3604 msgid "Checkbox parameters cannot have units" msgstr "Jelölőnégyzet paraméternek nem lehet mértékegysége" -#: part/models.py:3588 +#: part/models.py:3609 msgid "Checkbox parameters cannot have choices" msgstr "Jelölőnégyzet paraméternek nem lehetnek választási lehetőségei" -#: part/models.py:3625 +#: part/models.py:3646 msgid "Parameter template name must be unique" msgstr "A paraméter sablon nevének egyedinek kell lennie" -#: part/models.py:3640 +#: part/models.py:3661 msgid "Parameter Name" msgstr "Paraméter neve" -#: part/models.py:3647 +#: part/models.py:3668 msgid "Physical units for this parameter" msgstr "Paraméter mértékegysége" -#: part/models.py:3655 +#: part/models.py:3676 msgid "Parameter description" msgstr "Paraméter leírása" -#: part/models.py:3661 templates/js/translated/part.js:1628 -#: templates/js/translated/table_filters.js:825 +#: part/models.py:3682 templates/js/translated/part.js:1631 +#: templates/js/translated/table_filters.js:830 msgid "Checkbox" msgstr "Jelölőnégyzet" -#: part/models.py:3662 +#: part/models.py:3683 msgid "Is this parameter a checkbox?" msgstr "Ez a paraméter egy jelölőnégyzet?" -#: part/models.py:3668 +#: part/models.py:3689 msgid "Valid choices for this parameter (comma-separated)" msgstr "Választható lehetőségek (vesszővel elválasztva)" -#: part/models.py:3745 +#: part/models.py:3723 +#, fuzzy +#| msgid "Part Parameters" +msgid "Part Parameter" +msgstr "Alkatrész paraméterek" + +#: part/models.py:3749 +#, fuzzy +#| msgid "Part cannot be deleted as it is currently active" +msgid "Parameter cannot be modified - part is locked" +msgstr "Alkatrész nem törölhető mivel még aktív" + +#: part/models.py:3785 msgid "Invalid choice for parameter value" msgstr "Hibás választás a paraméterre" -#: part/models.py:3788 +#: part/models.py:3828 msgid "Parent Part" msgstr "Szülő alkatrész" -#: part/models.py:3796 part/models.py:3897 part/models.py:3898 +#: part/models.py:3836 part/models.py:3944 part/models.py:3945 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "Paraméter sablon" -#: part/models.py:3801 -msgid "Data" -msgstr "Adat" - -#: part/models.py:3802 +#: part/models.py:3842 msgid "Parameter Value" msgstr "Paraméter értéke" -#: part/models.py:3904 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3892 +#, fuzzy +#| msgid "Create Category Parameter Template" +msgid "Part Category Parameter Template" +msgstr "Kategória paraméter sablon létrehozása" + +#: part/models.py:3951 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "Alapértelmezett érték" -#: part/models.py:3905 +#: part/models.py:3952 msgid "Default Parameter Value" msgstr "Alapértelmezett paraméter érték" -#: part/models.py:3943 +#: part/models.py:3990 msgid "Part ID or part name" msgstr "Alkatrész ID vagy alkatrész név" -#: part/models.py:3944 +#: part/models.py:3991 msgid "Unique part ID value" msgstr "Egyedi alkatrész ID értéke" -#: part/models.py:3946 +#: part/models.py:3993 msgid "Part IPN value" msgstr "Alkatrész IPN érték" -#: part/models.py:3947 +#: part/models.py:3994 msgid "Level" msgstr "Szint" -#: part/models.py:3947 +#: part/models.py:3994 msgid "BOM level" msgstr "Alkatrészjegyzék szint" -#: part/models.py:4037 +#: part/models.py:4105 +msgid "BOM item cannot be modified - assembly is locked" +msgstr "" + +#: part/models.py:4112 +msgid "BOM item cannot be modified - variant assembly is locked" +msgstr "" + +#: part/models.py:4122 msgid "Select parent part" msgstr "Szülő alkatrész kiválasztása" -#: part/models.py:4047 +#: part/models.py:4132 msgid "Sub part" msgstr "Al alkatrész" -#: part/models.py:4048 +#: part/models.py:4133 msgid "Select part to be used in BOM" msgstr "Válaszd ki az alkatrészjegyzékben használandó alkatrészt" -#: part/models.py:4059 +#: part/models.py:4144 msgid "BOM quantity for this BOM item" msgstr "Alkatrészjegyzék mennyiség ehhez az alkatrészjegyzék tételhez" -#: part/models.py:4065 +#: part/models.py:4150 msgid "This BOM item is optional" msgstr "Ez az alkatrészjegyzék tétel opcionális" -#: part/models.py:4071 +#: part/models.py:4156 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:4078 part/templates/part/upload_bom.html:55 +#: part/models.py:4163 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Többlet" -#: part/models.py:4079 +#: part/models.py:4164 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:4086 +#: part/models.py:4171 msgid "BOM item reference" msgstr "Alkatrészjegyzék tétel azonosító" -#: part/models.py:4094 +#: part/models.py:4179 msgid "BOM item notes" msgstr "Alkatrészjegyzék tétel megjegyzései" -#: part/models.py:4100 +#: part/models.py:4185 msgid "Checksum" msgstr "Ellenőrző összeg" -#: part/models.py:4101 +#: part/models.py:4186 msgid "BOM line checksum" msgstr "Alkatrészjegyzék sor ellenőrző összeg" -#: part/models.py:4106 templates/js/translated/table_filters.js:174 +#: part/models.py:4191 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "Jóváhagyva" -#: part/models.py:4107 +#: part/models.py:4192 msgid "This BOM item has been validated" msgstr "Ez a BOM tétel jóvá lett hagyva" -#: part/models.py:4112 part/templates/part/upload_bom.html:57 +#: part/models.py:4197 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:4113 +#: part/models.py:4198 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:4118 part/templates/part/upload_bom.html:56 +#: part/models.py:4203 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "Változatok" -#: part/models.py:4119 +#: part/models.py:4204 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:4204 stock/models.py:663 +#: part/models.py:4289 stock/models.py:663 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:4214 part/models.py:4216 +#: part/models.py:4299 part/models.py:4301 msgid "Sub part must be specified" msgstr "Al alkatrészt kötelező megadni" -#: part/models.py:4354 +#: part/models.py:4439 msgid "BOM Item Substitute" msgstr "Alkatrészjegyzék tétel helyettesítő" -#: part/models.py:4375 +#: part/models.py:4460 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:4388 +#: part/models.py:4473 msgid "Parent BOM item" msgstr "Szülő alkatrészjegyzék tétel" -#: part/models.py:4396 +#: part/models.py:4481 msgid "Substitute part" msgstr "Helyettesítő alkatrész" -#: part/models.py:4412 +#: part/models.py:4497 msgid "Part 1" msgstr "1.rész" -#: part/models.py:4420 +#: part/models.py:4505 msgid "Part 2" msgstr "2.rész" -#: part/models.py:4421 +#: part/models.py:4506 msgid "Select Related Part" msgstr "Válassz kapcsolódó alkatrészt" -#: part/models.py:4440 +#: part/models.py:4525 msgid "Part relationship cannot be created between a part and itself" msgstr "Alkatrész kapcsolat nem hozható létre önmagával" -#: part/models.py:4445 +#: part/models.py:4530 msgid "Duplicate relationship already exists" msgstr "Már létezik duplikált alkatrész kapcsolat" -#: part/serializers.py:118 +#: part/serializers.py:124 msgid "Parent Category" msgstr "" -#: part/serializers.py:119 templates/js/translated/part.js:309 +#: part/serializers.py:125 templates/js/translated/part.js:308 msgid "Parent part category" msgstr "Felsőbb szintű alkatrész kategória" -#: part/serializers.py:126 part/serializers.py:148 +#: part/serializers.py:132 part/serializers.py:154 #: part/templates/part/category.html:122 part/templates/part/category.html:207 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "Alkategóriák" -#: part/serializers.py:180 +#: part/serializers.py:189 msgid "Results" msgstr "Eredmények" -#: part/serializers.py:181 +#: part/serializers.py:190 msgid "Number of results recorded against this template" msgstr "Eszerint a sablon szerint rögzített eredmények száma" -#: part/serializers.py:205 part/serializers.py:223 stock/serializers.py:562 +#: part/serializers.py:217 part/serializers.py:235 stock/serializers.py:608 msgid "Purchase currency of this stock item" msgstr "Beszerzési pénzneme ennek a készlet tételnek" -#: part/serializers.py:268 +#: part/serializers.py:283 msgid "Number of parts using this template" msgstr "Ennyi alkatrész használja ezt a sablont" -#: part/serializers.py:392 +#: part/serializers.py:410 msgid "No parts selected" msgstr "Nincs kiválasztva alkatrész" -#: part/serializers.py:402 +#: part/serializers.py:420 msgid "Select category" msgstr "Válassz kategóriát" -#: part/serializers.py:437 +#: part/serializers.py:455 msgid "Original Part" msgstr "Eredeti alkatrész" -#: part/serializers.py:438 +#: part/serializers.py:456 msgid "Select original part to duplicate" msgstr "Válassz eredeti alkatrészt a másoláshoz" -#: part/serializers.py:443 +#: part/serializers.py:461 msgid "Copy Image" msgstr "Kép másolása" -#: part/serializers.py:444 +#: part/serializers.py:462 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:468 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "Alkatrészjegyzék másolása" -#: part/serializers.py:451 +#: part/serializers.py:469 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:475 msgid "Copy Parameters" msgstr "Paraméterek másolása" -#: part/serializers.py:458 +#: part/serializers.py:476 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:482 msgid "Copy Notes" msgstr "Megjegyzések másolása" -#: part/serializers.py:465 +#: part/serializers.py:483 msgid "Copy notes from original part" msgstr "Megjegyzések másolása az eredeti alkatrészről" -#: part/serializers.py:483 +#: part/serializers.py:501 msgid "Initial Stock Quantity" msgstr "Kezdeti készlet mennyiség" -#: part/serializers.py:485 +#: part/serializers.py:503 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:492 +#: part/serializers.py:510 msgid "Initial Stock Location" msgstr "Kezdeti készlet hely" -#: part/serializers.py:493 +#: part/serializers.py:511 msgid "Specify initial stock location for this Part" msgstr "Add meg a kezdeti készlet helyét" -#: part/serializers.py:510 +#: part/serializers.py:528 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:526 +#: part/serializers.py:544 msgid "Select manufacturer (or leave blank to skip)" msgstr "Válassz gyártót (hagyd üresen ha nem kell létrehozni)" -#: part/serializers.py:536 +#: part/serializers.py:554 msgid "Manufacturer part number" msgstr "Gyártói cikkszám" -#: part/serializers.py:543 +#: part/serializers.py:561 msgid "Selected company is not a valid supplier" msgstr "A kiválasztott cég nem érvényes beszállító" -#: part/serializers.py:552 +#: part/serializers.py:570 msgid "Selected company is not a valid manufacturer" msgstr "A kiválasztott cég nem érvényes gyártó" -#: part/serializers.py:563 +#: part/serializers.py:581 msgid "Manufacturer part matching this MPN already exists" msgstr "Van már ilyen gyártói alkatrész" -#: part/serializers.py:570 +#: part/serializers.py:588 msgid "Supplier part matching this SKU already exists" msgstr "Van már ilyen beszállítói alkatrész" -#: part/serializers.py:834 -msgid "External Stock" -msgstr "Külső raktárkészlet" - -#: part/serializers.py:836 +#: part/serializers.py:864 msgid "Unallocated Stock" msgstr "Nem lefoglalt készlet" -#: part/serializers.py:839 +#: part/serializers.py:867 msgid "Variant Stock" msgstr "Variánsok Raktárkészlet" -#: part/serializers.py:869 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:472 +#: part/serializers.py:897 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:870 +#: part/serializers.py:898 msgid "Copy initial data from another Part" msgstr "Kezdeti adatok másolása egy másik alkatrészről" -#: part/serializers.py:876 templates/js/translated/part.js:102 +#: part/serializers.py:904 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "Kezdeti készlet" -#: part/serializers.py:877 +#: part/serializers.py:905 msgid "Create Part with initial stock quantity" msgstr "Kezdeti készlet mennyiség létrehozása" -#: part/serializers.py:883 +#: part/serializers.py:911 msgid "Supplier Information" msgstr "Beszállító információ" -#: part/serializers.py:884 +#: part/serializers.py:912 msgid "Add initial supplier information for this part" msgstr "Kezdeti beszállító adatok hozzáadása" -#: part/serializers.py:892 +#: part/serializers.py:920 msgid "Copy Category Parameters" msgstr "Kategória paraméterek másolása" -#: part/serializers.py:893 +#: part/serializers.py:921 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:898 +#: part/serializers.py:926 msgid "Existing Image" msgstr "Meglévő kép" -#: part/serializers.py:899 +#: part/serializers.py:927 msgid "Filename of an existing part image" msgstr "A meglévő alkatrész képfájl neve" -#: part/serializers.py:916 +#: part/serializers.py:944 msgid "Image file does not exist" msgstr "A képfájl nem létezik" -#: part/serializers.py:1122 +#: part/serializers.py:1150 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:1132 +#: part/serializers.py:1160 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:1142 +#: part/serializers.py:1170 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:1148 +#: part/serializers.py:1176 msgid "Exclude External Stock" msgstr "Külső készlet nélkül" -#: part/serializers.py:1149 +#: part/serializers.py:1177 msgid "Exclude stock items in external locations" msgstr "Külső helyeken lévő készlet nélkül" -#: part/serializers.py:1154 +#: part/serializers.py:1182 msgid "Generate Report" msgstr "Riport létrehozása" -#: part/serializers.py:1155 +#: part/serializers.py:1183 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:1160 +#: part/serializers.py:1188 msgid "Update Parts" msgstr "Alaktrészek frissítése" -#: part/serializers.py:1161 +#: part/serializers.py:1189 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:1169 +#: part/serializers.py:1197 msgid "Stocktake functionality is not enabled" msgstr "Leltár funkció nincs engedélyezve" -#: part/serializers.py:1275 +#: part/serializers.py:1303 msgid "Override calculated value for minimum price" msgstr "Számított minimum ár felülbírálása" -#: part/serializers.py:1282 +#: part/serializers.py:1310 msgid "Minimum price currency" msgstr "Minimum ár pénzneme" -#: part/serializers.py:1290 +#: part/serializers.py:1318 msgid "Override calculated value for maximum price" msgstr "Számított maximum ár felülbírálása" -#: part/serializers.py:1297 +#: part/serializers.py:1325 msgid "Maximum price currency" msgstr "Maximum ár pénzneme" -#: part/serializers.py:1326 +#: part/serializers.py:1354 msgid "Update" msgstr "Frissítés" -#: part/serializers.py:1327 +#: part/serializers.py:1355 msgid "Update pricing for this part" msgstr "Alkatrész árak frissítése" -#: part/serializers.py:1350 +#: part/serializers.py:1378 #, 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:1357 +#: part/serializers.py:1385 msgid "Minimum price must not be greater than maximum price" msgstr "A Minimum ár nem lehet nagyobb mint a Maximum ár" -#: part/serializers.py:1360 +#: part/serializers.py:1388 msgid "Maximum price must not be less than minimum price" msgstr "A Maximum ár nem lehet kisebb mint a Minimum ár" -#: part/serializers.py:1727 +#: part/serializers.py:1759 msgid "Select part to copy BOM from" msgstr "Válassz alkatrészt ahonnan az alkatrészjegyzéket másoljuk" -#: part/serializers.py:1735 +#: part/serializers.py:1767 msgid "Remove Existing Data" msgstr "Létező adat törlése" -#: part/serializers.py:1736 +#: part/serializers.py:1768 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:1741 +#: part/serializers.py:1773 msgid "Include Inherited" msgstr "Örököltekkel együtt" -#: part/serializers.py:1742 +#: part/serializers.py:1774 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:1747 +#: part/serializers.py:1779 msgid "Skip Invalid Rows" msgstr "Hibás sorok kihagyása" -#: part/serializers.py:1748 +#: part/serializers.py:1780 msgid "Enable this option to skip invalid rows" msgstr "Engedély a hibás sorok kihagyására" -#: part/serializers.py:1753 +#: part/serializers.py:1785 msgid "Copy Substitute Parts" msgstr "Helyettesítő alkatrészek másolása" -#: part/serializers.py:1754 +#: part/serializers.py:1786 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:1788 +#: part/serializers.py:1823 msgid "Clear Existing BOM" msgstr "Meglévő alkatrészjegyzék törlése" -#: part/serializers.py:1789 +#: part/serializers.py:1824 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:1819 +#: part/serializers.py:1856 msgid "No part column specified" msgstr "Nincs megadva alkatrész oszlop" -#: part/serializers.py:1863 +#: part/serializers.py:1900 msgid "Multiple matching parts found" msgstr "Több egyező alkatrész is található" -#: part/serializers.py:1866 +#: part/serializers.py:1903 msgid "No matching part found" msgstr "Nincs egyező alkatrész" -#: part/serializers.py:1869 +#: part/serializers.py:1906 msgid "Part is not designated as a component" msgstr "Az alkatrész nem lett összetevőként jelölve" -#: part/serializers.py:1878 +#: part/serializers.py:1915 msgid "Quantity not provided" msgstr "Mennyiség nincs megadva" -#: part/serializers.py:1886 +#: part/serializers.py:1923 msgid "Invalid quantity" msgstr "Érvénytelen mennyiség" -#: part/serializers.py:1907 +#: part/serializers.py:1946 msgid "At least one BOM item is required" msgstr "Legalább egy alkatrészjegyzék tétel szükséges" -#: part/stocktake.py:225 templates/js/translated/part.js:1067 -#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 +#: part/stocktake.py:225 templates/js/translated/part.js:1070 +#: templates/js/translated/part.js:1825 templates/js/translated/part.js:1881 #: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "Teljes mennyiség" @@ -7508,7 +7884,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 templates/js/translated/label.js:143 +#: stock/templates/stock/location.html:74 templates/js/translated/label.js:136 msgid "Print Label" msgstr "Címke nyomtatása" @@ -7530,7 +7906,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:2296 msgid "Part actions" msgstr "Készlet műveletek" @@ -7570,6 +7946,10 @@ msgstr "Beszállítótól rendelhető" msgid "Part can be sold to customers" msgstr "Vevő által rendelhető, eladható" +#: part/templates/part/part_base.html:145 +msgid "Part is not active" +msgstr "Az alkatrész nem aktív" + #: part/templates/part/part_base.html:153 msgid "Part is virtual (not a physical part)" msgstr "Virtuális (nem kézzelfogható alkatrész)" @@ -7598,7 +7978,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:1265 templates/js/translated/part.js:2444 +#: templates/js/translated/part.js:1268 templates/js/translated/part.js:2447 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" @@ -7691,8 +8071,8 @@ msgstr "Változatok" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/part.js:1243 templates/js/translated/part.js:2146 -#: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 +#: templates/js/translated/part.js:1246 templates/js/translated/part.js:2149 +#: templates/js/translated/part.js:2395 templates/js/translated/stock.js:1059 #: templates/js/translated/stock.js:2070 templates/navbar.html:31 msgid "Stock" msgstr "Készlet" @@ -7812,8 +8192,8 @@ msgstr "Árazás Frissítése" #: part/templates/part/stock_count.html:7 #: templates/js/translated/model_renderers.js:227 -#: templates/js/translated/part.js:705 templates/js/translated/part.js:2141 -#: templates/js/translated/part.js:2143 +#: templates/js/translated/part.js:704 templates/js/translated/part.js:2144 +#: templates/js/translated/part.js:2146 msgid "No Stock" msgstr "Nincs készlet" @@ -7957,7 +8337,7 @@ msgstr "Vonalkód nem egyezik egy létező készlet tétellel sem" 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 +#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2590 #: templates/js/translated/sales_order.js:1953 msgid "Insufficient stock available" msgstr "Nincs elegendő" @@ -8052,7 +8432,7 @@ msgstr "Szállítmány kiszállítva" msgid "Quantity to allocate" msgstr "Lefoglalandó mennyiség" -#: plugin/base/label/label.py:39 templates/js/translated/label.js:155 +#: plugin/base/label/label.py:39 templates/js/translated/label.js:148 msgid "Label printing failed" msgstr "Címkenyomtatás sikertelen" @@ -8749,7 +9129,7 @@ msgstr "Összesen" #: report/templates/report/inventree_return_order_report.html:25 #: report/templates/report/inventree_test_report.html:88 stock/models.py:825 -#: stock/serializers.py:149 stock/templates/stock/item_base.html:311 +#: stock/serializers.py:151 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:230 @@ -8779,7 +9159,7 @@ msgstr "Teszt eredmények" msgid "Test" msgstr "Teszt" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2447 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2457 msgid "Result" msgstr "Eredmény" @@ -8800,7 +9180,7 @@ msgid "No result" msgstr "Nincs eredmény" #: report/templates/report/inventree_test_report.html:153 -#: stock/templates/stock/stock_sidebar.html:16 +#: stock/serializers.py:591 stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "Beépített tételek" @@ -8830,10 +9210,6 @@ msgstr "company_image elem csak cég példánynál használható" msgid "Location ID" msgstr "Hely ID" -#: stock/admin.py:53 stock/admin.py:175 -msgid "Location Name" -msgstr "Hely neve" - #: stock/admin.py:63 stock/templates/stock/location.html:131 #: stock/templates/stock/location.html:137 msgid "Location Path" @@ -8910,7 +9286,7 @@ msgstr "" msgid "Include sub-locations in filtered results" msgstr "Szűrt eredmények tartalmazzák az alhelyeket" -#: stock/api.py:369 stock/serializers.py:1085 +#: stock/api.py:369 stock/serializers.py:1148 msgid "Parent Location" msgstr "Szülő hely" @@ -8918,44 +9294,45 @@ msgstr "Szülő hely" msgid "Filter by parent location" msgstr "Szülő helyre szűrés" -#: stock/api.py:625 templates/js/translated/table_filters.js:427 +#: stock/api.py:617 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "Külső hely" -#: stock/api.py:813 +#: stock/api.py:805 msgid "Part Tree" msgstr "Alkatrész fa" -#: stock/api.py:843 +#: stock/api.py:835 msgid "Expiry date before" msgstr "Lejárat előtt" -#: stock/api.py:847 +#: stock/api.py:839 msgid "Expiry date after" msgstr "Lejárat után" -#: stock/api.py:850 stock/templates/stock/item_base.html:439 +#: stock/api.py:842 stock/serializers.py:596 +#: stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "Állott" -#: stock/api.py:937 +#: stock/api.py:929 msgid "Quantity is required" msgstr "Mennyiség megadása kötelező" -#: stock/api.py:943 +#: stock/api.py:935 msgid "Valid part must be supplied" msgstr "Egy érvényes alkatrészt meg kell adni" -#: stock/api.py:974 +#: stock/api.py:966 msgid "The given supplier part does not exist" msgstr "A megadott beszállítói alkatrész nem létezik" -#: stock/api.py:984 +#: stock/api.py:976 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:1015 +#: stock/api.py:1007 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" @@ -9022,7 +9399,7 @@ msgstr "Nem lehet ezt a raktári helyet szerkezetivé tenni, mert már vannak it msgid "Stock items cannot be located into structural stock locations!" msgstr "A szerkezeti raktári helyre nem lehet készletet felvenni!" -#: stock/models.py:669 stock/serializers.py:446 +#: stock/models.py:669 stock/serializers.py:477 msgid "Stock item cannot be created for virtual parts" msgstr "Virtuális alkatrészből nem lehet készletet létrehozni" @@ -9067,7 +9444,7 @@ msgstr "Válassz egy egyező beszállítói alkatrészt ehhez a készlet tételh msgid "Where is this stock item located?" msgstr "Hol található ez az alkatrész?" -#: stock/models.py:799 stock/serializers.py:1476 +#: stock/models.py:799 stock/serializers.py:1542 msgid "Packaging this stock item is stored in" msgstr "A csomagolása ennek a készlet tételnek itt van tárolva" @@ -9079,7 +9456,7 @@ msgstr "Ez a tétel be van építve egy másik tételbe?" msgid "Serial number for this item" msgstr "Sorozatszám ehhez a tételhez" -#: stock/models.py:843 stock/serializers.py:1459 +#: stock/models.py:843 stock/serializers.py:1525 msgid "Batch code for this stock item" msgstr "Batch kód ehhez a készlet tételhez" @@ -9156,7 +9533,7 @@ msgstr "A sorozatszám egész számok listája kell legyen" msgid "Quantity does not match serial numbers" msgstr "A mennyiség nem egyezik a megadott sorozatszámok számával" -#: stock/models.py:1520 stock/serializers.py:660 +#: stock/models.py:1520 stock/serializers.py:718 msgid "Serial numbers already exist" msgstr "A sorozatszámok már léteznek" @@ -9188,7 +9565,7 @@ msgstr "Készlet tétel gyártás alatt" msgid "Serialized stock cannot be merged" msgstr "Követésre kötelezett készlet nem vonható össze" -#: stock/models.py:1658 stock/serializers.py:1365 +#: stock/models.py:1658 stock/serializers.py:1431 msgid "Duplicate stock items" msgstr "Duplikált készlet tételek vannak" @@ -9208,288 +9585,342 @@ msgstr "Készlet tételek állapotainak egyeznie kell" 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:2317 +#, fuzzy +#| msgid "Stock Tracking" +msgid "Stock Item Tracking" +msgstr "Készlettörténet" + +#: stock/models.py:2350 msgid "Entry notes" msgstr "Bejegyzés megjegyzései" -#: stock/models.py:2413 +#: stock/models.py:2390 +#, fuzzy +#| msgid "Stock Item Test Report" +msgid "Stock Item Test Result" +msgstr "Készlet tétel teszt riport" + +#: stock/models.py:2423 msgid "Value must be provided for this test" msgstr "Ehhez a teszthez meg kell adni értéket" -#: stock/models.py:2418 +#: stock/models.py:2428 msgid "Attachment must be uploaded for this test" msgstr "Ehhez a teszthez fel kell tölteni mellékletet" -#: stock/models.py:2423 +#: stock/models.py:2433 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2447 +#: stock/models.py:2457 msgid "Test result" msgstr "Teszt eredménye" -#: stock/models.py:2454 +#: stock/models.py:2464 msgid "Test output value" msgstr "Teszt kimeneti értéke" -#: stock/models.py:2462 +#: stock/models.py:2472 msgid "Test result attachment" msgstr "Teszt eredmény melléklet" -#: stock/models.py:2466 +#: stock/models.py:2476 msgid "Test notes" msgstr "Tesztek megjegyzései" -#: stock/models.py:2474 templates/js/translated/stock.js:1548 +#: stock/models.py:2484 templates/js/translated/stock.js:1548 msgid "Test station" msgstr "Teszt állomás" -#: stock/models.py:2475 +#: stock/models.py:2485 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:2481 +#: stock/models.py:2491 msgid "Started" msgstr "Elkezdődött" -#: stock/models.py:2482 +#: stock/models.py:2492 msgid "The timestamp of the test start" msgstr "A teszt indításának időpontja" -#: stock/models.py:2488 +#: stock/models.py:2498 msgid "Finished" msgstr "Befejezve" -#: stock/models.py:2489 +#: stock/models.py:2499 msgid "The timestamp of the test finish" msgstr "A teszt befejezésének időpontja" -#: stock/serializers.py:74 +#: stock/serializers.py:76 msgid "Generated batch code" msgstr "" -#: stock/serializers.py:83 +#: stock/serializers.py:85 msgid "Select build order" msgstr "" -#: stock/serializers.py:92 +#: stock/serializers.py:94 msgid "Select stock item to generate batch code for" msgstr "" -#: stock/serializers.py:101 +#: stock/serializers.py:103 msgid "Select location to generate batch code for" msgstr "" -#: stock/serializers.py:110 +#: stock/serializers.py:112 msgid "Select part to generate batch code for" msgstr "" -#: stock/serializers.py:119 +#: stock/serializers.py:121 msgid "Select purchase order" msgstr "" -#: stock/serializers.py:126 +#: stock/serializers.py:128 msgid "Enter quantity for batch code" msgstr "" -#: stock/serializers.py:149 +#: stock/serializers.py:151 msgid "Generated serial number" msgstr "" -#: stock/serializers.py:158 +#: stock/serializers.py:160 msgid "Select part to generate serial number for" msgstr "" -#: stock/serializers.py:166 +#: stock/serializers.py:168 msgid "Quantity of serial numbers to generate" msgstr "" -#: stock/serializers.py:228 +#: stock/serializers.py:233 msgid "Test template for this result" msgstr "Az eredmény Teszt sablonja" -#: stock/serializers.py:247 +#: stock/serializers.py:252 msgid "Template ID or test name must be provided" msgstr "Sablon azonosító vagy Teszt név szükséges" -#: stock/serializers.py:279 +#: stock/serializers.py:284 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:315 +#: stock/serializers.py:320 msgid "Serial number is too large" msgstr "Szériaszám túl nagy" -#: stock/serializers.py:438 +#: stock/serializers.py:449 stock/templates/stock/item_base.html:193 +msgid "Parent Item" +msgstr "Szülő tétel" + +#: stock/serializers.py:450 +#, fuzzy +#| msgid "Parent Stock Item" +msgid "Parent stock item" +msgstr "Szülő készlet tétel" + +#: stock/serializers.py:469 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:558 +#: stock/serializers.py:585 templates/js/translated/build.js:991 +#: templates/js/translated/build.js:2344 +msgid "Allocated Quantity" +msgstr "Lefoglalt mennyiség" + +#: stock/serializers.py:588 stock/templates/stock/item_base.html:437 +#: templates/js/translated/table_filters.js:435 users/models.py:174 +msgid "Expired" +msgstr "Lejárt" + +#: stock/serializers.py:594 stock/templates/stock/stock_sidebar.html:20 +msgid "Child Items" +msgstr "Gyermek tételek" + +#: stock/serializers.py:598 +#, fuzzy +#| msgid "Tracking" +msgid "Tracking Items" +msgstr "Nyomkövetés" + +#: stock/serializers.py:604 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:595 +#: stock/serializers.py:623 +#, fuzzy +#| msgid "Minimum Price" +msgid "Minimum Pricing" +msgstr "Minimum ár" + +#: stock/serializers.py:629 +#, fuzzy +#| msgid "Maximum Price" +msgid "Maximum Pricing" +msgstr "Maximum ár" + +#: stock/serializers.py:653 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:608 +#: stock/serializers.py:666 #, 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:615 +#: stock/serializers.py:673 msgid "Enter serial numbers for new items" msgstr "Írd be a sorozatszámokat az új tételekhez" -#: stock/serializers.py:626 stock/serializers.py:1322 stock/serializers.py:1578 +#: stock/serializers.py:684 stock/serializers.py:1388 stock/serializers.py:1644 msgid "Destination stock location" msgstr "Cél készlet hely" -#: stock/serializers.py:633 +#: stock/serializers.py:691 msgid "Optional note field" msgstr "Opcionális megjegyzés mező" -#: stock/serializers.py:643 +#: stock/serializers.py:701 msgid "Serial numbers cannot be assigned to this part" msgstr "Sorozatszámokat nem lehet hozzárendelni ehhez az alkatrészhez" -#: stock/serializers.py:698 +#: stock/serializers.py:756 msgid "Select stock item to install" msgstr "Válaszd ki a beépítésre szánt készlet tételt" -#: stock/serializers.py:705 +#: stock/serializers.py:763 msgid "Quantity to Install" msgstr "Beépítendő mennyiség" -#: stock/serializers.py:706 +#: stock/serializers.py:764 msgid "Enter the quantity of items to install" msgstr "Adja meg a beépítendő mennyiséget" -#: stock/serializers.py:711 stock/serializers.py:791 stock/serializers.py:887 -#: stock/serializers.py:937 +#: stock/serializers.py:769 stock/serializers.py:849 stock/serializers.py:945 +#: stock/serializers.py:995 msgid "Add transaction note (optional)" msgstr "Tranzakció megjegyzés hozzáadása (opcionális)" -#: stock/serializers.py:719 +#: stock/serializers.py:777 msgid "Quantity to install must be at least 1" msgstr "A beépítendő mennyiség legalább 1 legyen" -#: stock/serializers.py:727 +#: stock/serializers.py:785 msgid "Stock item is unavailable" msgstr "Készlet tétel nem elérhető" -#: stock/serializers.py:738 +#: stock/serializers.py:796 msgid "Selected part is not in the Bill of Materials" msgstr "A kiválasztott alkatrész nincs az alkatrészjegyzékben" -#: stock/serializers.py:751 +#: stock/serializers.py:809 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:786 +#: stock/serializers.py:844 msgid "Destination location for uninstalled item" msgstr "Cél hely a kiszedett tételeknek" -#: stock/serializers.py:821 +#: stock/serializers.py:879 msgid "Select part to convert stock item into" msgstr "Válassz alkatrészt amire konvertáljuk a készletet" -#: stock/serializers.py:834 +#: stock/serializers.py:892 msgid "Selected part is not a valid option for conversion" msgstr "A kiválasztott alkatrész nem megfelelő a konverzióhoz" -#: stock/serializers.py:851 +#: stock/serializers.py:909 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:882 +#: stock/serializers.py:940 msgid "Destination location for returned item" msgstr "Cél hely a visszatérő tételeknek" -#: stock/serializers.py:919 +#: stock/serializers.py:977 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:925 +#: stock/serializers.py:983 msgid "No stock items selected" msgstr "Nincs készlet tétel kiválasztva" -#: stock/serializers.py:1021 stock/serializers.py:1093 +#: stock/serializers.py:1079 stock/serializers.py:1156 #: stock/templates/stock/location.html:165 #: stock/templates/stock/location.html:222 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "Alhelyek" -#: stock/serializers.py:1086 templates/js/translated/stock.js:152 +#: stock/serializers.py:1149 templates/js/translated/stock.js:152 msgid "Parent stock location" msgstr "Felsőbb szintű készlet hely" -#: stock/serializers.py:1194 +#: stock/serializers.py:1260 msgid "Part must be salable" msgstr "Az alkatrésznek értékesíthetőnek kell lennie" -#: stock/serializers.py:1198 +#: stock/serializers.py:1264 msgid "Item is allocated to a sales order" msgstr "A tétel egy vevő rendeléshez foglalt" -#: stock/serializers.py:1202 +#: stock/serializers.py:1268 msgid "Item is allocated to a build order" msgstr "A tétel egy gyártási utasításhoz foglalt" -#: stock/serializers.py:1226 +#: stock/serializers.py:1292 msgid "Customer to assign stock items" msgstr "Vevő akihez rendeljük a készlet tételeket" -#: stock/serializers.py:1232 +#: stock/serializers.py:1298 msgid "Selected company is not a customer" msgstr "A kiválasztott cég nem egy vevő" -#: stock/serializers.py:1240 +#: stock/serializers.py:1306 msgid "Stock assignment notes" msgstr "Készlet hozzárendelés megjegyzései" -#: stock/serializers.py:1250 stock/serializers.py:1504 +#: stock/serializers.py:1316 stock/serializers.py:1570 msgid "A list of stock items must be provided" msgstr "A készlet tételek listáját meg kell adni" -#: stock/serializers.py:1329 +#: stock/serializers.py:1395 msgid "Stock merging notes" msgstr "Készlet összevonás megjegyzései" -#: stock/serializers.py:1334 +#: stock/serializers.py:1400 msgid "Allow mismatched suppliers" msgstr "Nem egyező beszállítók megengedése" -#: stock/serializers.py:1335 +#: stock/serializers.py:1401 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:1340 +#: stock/serializers.py:1406 msgid "Allow mismatched status" msgstr "Nem egyező állapotok megjelenítése" -#: stock/serializers.py:1341 +#: stock/serializers.py:1407 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:1351 +#: stock/serializers.py:1417 msgid "At least two stock items must be provided" msgstr "Legalább két készlet tételt meg kell adni" -#: stock/serializers.py:1418 +#: stock/serializers.py:1484 msgid "No Change" msgstr "Nincs változás" -#: stock/serializers.py:1447 +#: stock/serializers.py:1513 msgid "StockItem primary key value" msgstr "Készlet tétel elsődleges kulcs értéke" -#: stock/serializers.py:1466 +#: stock/serializers.py:1532 msgid "Stock item status code" msgstr "Készlet tétel státusz kódja" -#: stock/serializers.py:1494 +#: stock/serializers.py:1560 msgid "Stock transaction notes" msgstr "Készlet tranzakció megjegyzései" @@ -9758,10 +10189,6 @@ msgstr "Készlet tétel törlése" msgid "Build" msgstr "Gyártás" -#: stock/templates/stock/item_base.html:193 -msgid "Parent Item" -msgstr "Szülő tétel" - #: stock/templates/stock/item_base.html:211 msgid "No manufacturer set" msgstr "Nincs beállítva gyártó" @@ -9837,11 +10264,6 @@ msgstr "Ez a készlet tétel nem felelt meg az összes szükséges teszten" msgid "This StockItem expired on %(item.expiry_date)s" msgstr "Ez a készlet tétel lejárt %(item.expiry_date)s-n" -#: stock/templates/stock/item_base.html:437 -#: templates/js/translated/table_filters.js:435 users/models.py:174 -msgid "Expired" -msgstr "Lejárt" - #: stock/templates/stock/item_base.html:439 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" @@ -9989,10 +10411,6 @@ msgstr "Készlettörténet" msgid "Allocations" msgstr "Foglalások" -#: stock/templates/stock/stock_sidebar.html:20 -msgid "Child Items" -msgstr "Gyermek tételek" - #: templates/403.html:6 templates/403.html:12 templates/403_csrf.html:7 msgid "Permission Denied" msgstr "Hozzáférés megtagadva" @@ -10467,8 +10885,8 @@ 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:393 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:245 users/models.py:402 +#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 +#: templates/js/translated/stock.js:245 users/models.py:406 msgid "Delete" msgstr "Törlés" @@ -10508,12 +10926,12 @@ msgid "No category parameter templates found" msgstr "Nincs kategória paraméter sablon" #: templates/InvenTree/settings/settings_staff_js.html:308 -#: templates/js/translated/part.js:1646 +#: templates/js/translated/part.js:1649 msgid "Edit Template" msgstr "Sablon szerkesztése" #: templates/InvenTree/settings/settings_staff_js.html:309 -#: templates/js/translated/part.js:1647 +#: templates/js/translated/part.js:1650 msgid "Delete Template" msgstr "Sablon törlése" @@ -11146,7 +11564,7 @@ msgid "The following parts are low on required stock" msgstr "A következő alkatrészek szükséges készlete alacsony" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2556 +#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2557 msgid "Required Quantity" msgstr "Szükséges mennyiség" @@ -11160,7 +11578,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:3219 +#: templates/js/translated/part.js:3222 msgid "Minimum Quantity" msgstr "Minimum mennyiség" @@ -11515,7 +11933,7 @@ msgstr "Alkatrészjegyzék betöltése az al-gyártmányhoz" msgid "Substitutes Available" msgstr "Vannak helyettesítők" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2500 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2501 msgid "Variant stock allowed" msgstr "Készletváltozatok engedélyezve" @@ -11535,30 +11953,30 @@ msgstr "Alkatrészjegyzék árazása nem teljes" msgid "No pricing available" msgstr "Nincsenek árak" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2621 +#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2622 msgid "External stock" msgstr "Külső raktárkészlet" -#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2595 +#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2596 #: templates/js/translated/sales_order.js:1946 msgid "No Stock Available" msgstr "Nincs szabad" -#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2599 +#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2600 msgid "Includes variant and substitute stock" 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:1257 +#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2602 +#: templates/js/translated/part.js:1260 #: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "Változatokkal együtt" -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2603 +#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2604 msgid "Includes substitute stock" msgstr "Helyettesítőkkel együtt" -#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2586 +#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2587 msgid "Consumable item" msgstr "Fogyóeszköz tétel" @@ -11590,7 +12008,7 @@ msgstr "Alkatrészjegyzék megtekintése" msgid "No BOM items found" msgstr "Nem találhatók alkatrészjegyzék tételek" -#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2485 +#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2486 msgid "Required Part" msgstr "Szükséges alkatrész" @@ -11759,10 +12177,6 @@ msgstr "Gyártási kimenetek törlése" msgid "No build order allocations found" msgstr "Nincs gyártási utasításhoz történő foglalás" -#: templates/js/translated/build.js:991 templates/js/translated/build.js:2344 -msgid "Allocated Quantity" -msgstr "Lefoglalt mennyiség" - #: templates/js/translated/build.js:1005 msgid "Location not specified" msgstr "Hely nincs megadva" @@ -11874,9 +12288,9 @@ msgstr "Készlet tételek foglalása" msgid "No builds matching query" msgstr "Nincs a lekérdezéssel egyező gyártási utasítás" -#: templates/js/translated/build.js:2117 templates/js/translated/build.js:2479 +#: templates/js/translated/build.js:2117 templates/js/translated/build.js:2480 #: templates/js/translated/forms.js:2163 templates/js/translated/forms.js:2179 -#: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 +#: templates/js/translated/part.js:2319 templates/js/translated/part.js:2745 #: templates/js/translated/stock.js:1983 templates/js/translated/stock.js:2710 msgid "Select" msgstr "Kiválaszt" @@ -11907,59 +12321,59 @@ msgstr "Foglalás szerkesztése" msgid "Remove Allocation" msgstr "Foglalás törlése" -#: templates/js/translated/build.js:2455 +#: templates/js/translated/build.js:2456 msgid "build line" msgstr "gyártás sor" -#: templates/js/translated/build.js:2456 +#: templates/js/translated/build.js:2457 msgid "build lines" msgstr "gyártás sorok" -#: templates/js/translated/build.js:2474 +#: templates/js/translated/build.js:2475 msgid "No build lines found" msgstr "Nincsenek gyártási sorok" -#: templates/js/translated/build.js:2504 templates/js/translated/part.js:791 -#: templates/js/translated/part.js:1203 +#: templates/js/translated/build.js:2505 templates/js/translated/part.js:790 +#: templates/js/translated/part.js:1206 msgid "Trackable part" msgstr "Követésre kötelezett alkatrész" -#: templates/js/translated/build.js:2539 +#: templates/js/translated/build.js:2540 msgid "Unit Quantity" msgstr "Mennyiségi egység" -#: templates/js/translated/build.js:2591 +#: templates/js/translated/build.js:2592 #: templates/js/translated/sales_order.js:1951 msgid "Sufficient stock available" msgstr "Van elegendő" -#: templates/js/translated/build.js:2646 +#: templates/js/translated/build.js:2647 msgid "Consumable Item" msgstr "Fogyóeszköz tétel" -#: templates/js/translated/build.js:2653 +#: templates/js/translated/build.js:2654 msgid "Tracked item" msgstr "Követett tétel" -#: templates/js/translated/build.js:2654 +#: templates/js/translated/build.js:2655 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/build.js:2663 #: templates/js/translated/sales_order.js:2052 msgid "Build stock" msgstr "Gyártási készlet" -#: templates/js/translated/build.js:2667 templates/js/translated/stock.js:1868 +#: templates/js/translated/build.js:2668 templates/js/translated/stock.js:1868 msgid "Order stock" msgstr "Készlet rendelés" -#: templates/js/translated/build.js:2671 +#: templates/js/translated/build.js:2672 #: templates/js/translated/sales_order.js:2046 msgid "Allocate stock" msgstr "Lefoglalt készlet" -#: templates/js/translated/build.js:2675 +#: templates/js/translated/build.js:2676 msgid "Remove stock allocation" msgstr "Készlet foglalások törlése" @@ -12106,7 +12520,7 @@ msgid "Delete Parameters" msgstr "Paraméterek törlése" #: templates/js/translated/company.js:1191 -#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2245 +#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2248 msgid "Order parts" msgstr "Alkatrész rendelés" @@ -12123,34 +12537,34 @@ msgid "No manufacturer parts found" msgstr "Nincs gyártói alkatrész" #: templates/js/translated/company.js:1279 -#: templates/js/translated/company.js:1567 templates/js/translated/part.js:799 -#: templates/js/translated/part.js:1211 +#: templates/js/translated/company.js:1567 templates/js/translated/part.js:798 +#: templates/js/translated/part.js:1214 msgid "Template part" msgstr "Sablon alkatrész" #: templates/js/translated/company.js:1283 -#: templates/js/translated/company.js:1571 templates/js/translated/part.js:803 -#: templates/js/translated/part.js:1215 +#: templates/js/translated/company.js:1571 templates/js/translated/part.js:802 +#: templates/js/translated/part.js:1218 msgid "Assembled part" msgstr "Gyártmány alkatrész" -#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1465 +#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1468 msgid "No parameters found" msgstr "Nem található paraméter" -#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1528 +#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1531 msgid "Edit parameter" msgstr "Paraméter szerkesztése" -#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1529 +#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1532 msgid "Delete parameter" msgstr "Paraméter törlése" -#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1434 +#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1437 msgid "Edit Parameter" msgstr "Paraméter szerkesztése" -#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1550 +#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1553 msgid "Delete Parameter" msgstr "Paraméter törlése" @@ -12324,15 +12738,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:55 templates/js/translated/report.js:38 +#: templates/js/translated/label.js:48 templates/js/translated/report.js:38 msgid "Select Items" msgstr "Tételek kiválasztása" -#: templates/js/translated/label.js:56 templates/js/translated/report.js:39 +#: templates/js/translated/label.js:49 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:150 +#: templates/js/translated/label.js:143 msgid "Labels sent to printer" msgstr "Címkék nyomtatónak elküldve" @@ -12401,7 +12815,7 @@ msgstr "Nem találhatók hírek" #: templates/js/translated/news.js:38 #: templates/js/translated/notification.js:46 -#: templates/js/translated/part.js:1605 +#: templates/js/translated/part.js:1608 msgid "ID" msgstr "Azonosító" @@ -12482,343 +12896,343 @@ msgstr "Alkatrész másolási opciók" msgid "Add Part Category" msgstr "Alkatrész kategória hozzáadása" -#: templates/js/translated/part.js:333 templates/js/translated/stock.js:175 +#: templates/js/translated/part.js:332 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" msgstr "Ikon (opcionális) - Az összes ikon felfedezése itt" -#: templates/js/translated/part.js:353 +#: templates/js/translated/part.js:352 msgid "Create Part Category" msgstr "Alkatrész kategória létrehozása" -#: templates/js/translated/part.js:356 +#: templates/js/translated/part.js:355 msgid "Create new category after this one" msgstr "Új kategória létrehozása ez után" -#: templates/js/translated/part.js:357 +#: templates/js/translated/part.js:356 msgid "Part category created" msgstr "Alkatrész kategória létrehozva" -#: templates/js/translated/part.js:371 +#: templates/js/translated/part.js:370 msgid "Edit Part Category" msgstr "Alkatrész kategória szerkesztése" -#: templates/js/translated/part.js:384 +#: templates/js/translated/part.js:383 msgid "Are you sure you want to delete this part category?" msgstr "Biztos hogy törölni szeretnéd ezt az alkatrész kategóriát?" -#: templates/js/translated/part.js:389 +#: templates/js/translated/part.js:388 msgid "Move to parent category" msgstr "Áthelyezés fentebbi kategóriába" -#: templates/js/translated/part.js:398 +#: templates/js/translated/part.js:397 msgid "Delete Part Category" msgstr "Alkatrész kategória törlése" -#: templates/js/translated/part.js:402 +#: templates/js/translated/part.js:401 msgid "Action for parts in this category" msgstr "A kategóriában lévő alkatrészek kezelése" -#: templates/js/translated/part.js:407 +#: templates/js/translated/part.js:406 msgid "Action for child categories" msgstr "Alkategóriák kezelése" -#: templates/js/translated/part.js:431 +#: templates/js/translated/part.js:430 msgid "Create Part" msgstr "Alkatrész létrehozása" -#: templates/js/translated/part.js:433 +#: templates/js/translated/part.js:432 msgid "Create another part after this one" msgstr "Új alkatrész létrehozása ez után" -#: templates/js/translated/part.js:434 +#: templates/js/translated/part.js:433 msgid "Part created successfully" msgstr "Alkatrész sikeresen létrehozva" -#: templates/js/translated/part.js:462 +#: templates/js/translated/part.js:461 msgid "Edit Part" msgstr "Alkatrész szerkesztése" -#: templates/js/translated/part.js:464 +#: templates/js/translated/part.js:463 msgid "Part edited" msgstr "Alkatrész módosítva" -#: templates/js/translated/part.js:475 +#: templates/js/translated/part.js:474 msgid "Create Part Variant" msgstr "Alkatrész változat létrehozása" -#: templates/js/translated/part.js:532 +#: templates/js/translated/part.js:531 msgid "Active Part" msgstr "Aktív alkatrész" -#: templates/js/translated/part.js:533 +#: templates/js/translated/part.js:532 msgid "Part cannot be deleted as it is currently active" msgstr "Alkatrész nem törölhető mivel még aktív" -#: templates/js/translated/part.js:547 +#: templates/js/translated/part.js:546 msgid "Deleting this part cannot be reversed" msgstr "Ezen alkatrész törlése nem vonható vissza" -#: templates/js/translated/part.js:549 +#: templates/js/translated/part.js:548 msgid "Any stock items for this part will be deleted" msgstr "Ennek az alkatrésznek a teljes készlete törölve lesz" -#: templates/js/translated/part.js:550 +#: templates/js/translated/part.js:549 msgid "This part will be removed from any Bills of Material" msgstr "Ez az alkatrész minden alkatrészjegyzékből törölve lesz" -#: templates/js/translated/part.js:551 +#: templates/js/translated/part.js:550 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "Ehhez az alkatrészhez rendelt minden beszállítói és gyártói információ törölve lesz" -#: templates/js/translated/part.js:558 +#: templates/js/translated/part.js:557 msgid "Delete Part" msgstr "Alkatrész törlése" -#: templates/js/translated/part.js:594 +#: templates/js/translated/part.js:593 msgid "You are subscribed to notifications for this item" msgstr "Értesítések beállítva erre a tételre" -#: templates/js/translated/part.js:596 +#: templates/js/translated/part.js:595 msgid "You have subscribed to notifications for this item" msgstr "Értesítések beállítva erre a tételre" -#: templates/js/translated/part.js:601 +#: templates/js/translated/part.js:600 msgid "Subscribe to notifications for this item" msgstr "Értesítések kérése erre a tételre" -#: templates/js/translated/part.js:603 +#: templates/js/translated/part.js:602 msgid "You have unsubscribed to notifications for this item" msgstr "Értesítések letiltva erre a tételre" -#: templates/js/translated/part.js:620 +#: templates/js/translated/part.js:619 msgid "Validating the BOM will mark each line item as valid" msgstr "Az alkatrészjegyzék jóváhagyása minden sortételt jóvá fog hagyni" -#: templates/js/translated/part.js:630 +#: templates/js/translated/part.js:629 msgid "Validate Bill of Materials" msgstr "Alkatrészjegyzék jóváhagyása" -#: templates/js/translated/part.js:633 +#: templates/js/translated/part.js:632 msgid "Validated Bill of Materials" msgstr "Alkatrészjegyzék jóvá lett hagyva" -#: templates/js/translated/part.js:658 +#: templates/js/translated/part.js:657 msgid "Copy Bill of Materials" msgstr "Alkatrészjegyzék másolása" -#: templates/js/translated/part.js:686 -#: templates/js/translated/table_filters.js:747 +#: templates/js/translated/part.js:685 +#: templates/js/translated/table_filters.js:752 msgid "Low stock" msgstr "Alacsony készlet" -#: templates/js/translated/part.js:689 +#: templates/js/translated/part.js:688 msgid "No stock available" msgstr "Nincs elérhető készlet" -#: templates/js/translated/part.js:749 +#: templates/js/translated/part.js:748 msgid "Demand" msgstr "Igény" -#: templates/js/translated/part.js:772 +#: templates/js/translated/part.js:771 msgid "Unit" msgstr "Me" -#: templates/js/translated/part.js:795 templates/js/translated/part.js:1207 +#: templates/js/translated/part.js:794 templates/js/translated/part.js:1210 msgid "Virtual part" msgstr "Virtuális alkatrész" -#: templates/js/translated/part.js:807 +#: templates/js/translated/part.js:806 msgid "Subscribed part" msgstr "Értesítésre beállított alkatrész" -#: templates/js/translated/part.js:811 +#: templates/js/translated/part.js:810 msgid "Salable part" msgstr "Értékesíthető alkatrész" -#: templates/js/translated/part.js:890 +#: templates/js/translated/part.js:893 msgid "Schedule generation of a new stocktake report." msgstr "Új leltár riport ütemezése." -#: templates/js/translated/part.js:890 +#: templates/js/translated/part.js:893 msgid "Once complete, the stocktake report will be available for download." msgstr "Amint elkészül, az új leltár riport letölthető lesz." -#: templates/js/translated/part.js:898 +#: templates/js/translated/part.js:901 msgid "Generate Stocktake Report" msgstr "Leltár riport létrehozása" -#: templates/js/translated/part.js:902 +#: templates/js/translated/part.js:905 msgid "Stocktake report scheduled" msgstr "Leltár riport beütemezve" -#: templates/js/translated/part.js:1051 +#: templates/js/translated/part.js:1054 msgid "No stocktake information available" msgstr "Nincs elérhető leltár előzmény" -#: templates/js/translated/part.js:1109 templates/js/translated/part.js:1145 +#: templates/js/translated/part.js:1112 templates/js/translated/part.js:1148 msgid "Edit Stocktake Entry" msgstr "Leltár bejegyzés szerkesztése" -#: templates/js/translated/part.js:1113 templates/js/translated/part.js:1155 +#: templates/js/translated/part.js:1116 templates/js/translated/part.js:1158 msgid "Delete Stocktake Entry" msgstr "Leltár bejegyzés törlése" -#: templates/js/translated/part.js:1282 +#: templates/js/translated/part.js:1285 msgid "No variants found" msgstr "Nincs több változat" -#: templates/js/translated/part.js:1600 +#: templates/js/translated/part.js:1603 msgid "No part parameter templates found" msgstr "Nincs alkatrész paraméter sablon" -#: templates/js/translated/part.js:1663 +#: templates/js/translated/part.js:1666 msgid "Edit Part Parameter Template" msgstr "Alkatrész paraméter sablon módosítása" -#: templates/js/translated/part.js:1675 +#: templates/js/translated/part.js:1678 msgid "Any parameters which reference this template will also be deleted" msgstr "Az összes erre a sablonra hivatkozó paraméter is törlésre kerül" -#: templates/js/translated/part.js:1683 +#: templates/js/translated/part.js:1686 msgid "Delete Part Parameter Template" msgstr "Alkatrész paraméter sablon törlése" -#: templates/js/translated/part.js:1717 +#: templates/js/translated/part.js:1720 #: 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:1861 +#: templates/js/translated/part.js:1864 #: 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:1907 +#: templates/js/translated/part.js:1910 #: templates/js/translated/purchase_order.js:2220 msgid "Receive line item" msgstr "Sortétel bevételezése" -#: templates/js/translated/part.js:1970 +#: templates/js/translated/part.js:1973 msgid "Delete part relationship" msgstr "Alkatrész kapcsolatok törlése" -#: templates/js/translated/part.js:1992 +#: templates/js/translated/part.js:1995 msgid "Delete Part Relationship" msgstr "Alkatrész kapcsolatok törlése" -#: templates/js/translated/part.js:2080 templates/js/translated/part.js:2506 +#: templates/js/translated/part.js:2083 templates/js/translated/part.js:2509 msgid "No parts found" msgstr "Nincs alkatrész" -#: templates/js/translated/part.js:2201 +#: templates/js/translated/part.js:2204 msgid "Set the part category for the selected parts" msgstr "Kategória beállítása a kiválasztott alkatrészekhez" -#: templates/js/translated/part.js:2206 +#: templates/js/translated/part.js:2209 msgid "Set Part Category" msgstr "Alkatrész kategória beállítása" -#: templates/js/translated/part.js:2236 +#: templates/js/translated/part.js:2239 msgid "Set category" msgstr "Kategória beállítása" -#: templates/js/translated/part.js:2287 +#: templates/js/translated/part.js:2290 msgid "part" msgstr "alkatrész" -#: templates/js/translated/part.js:2288 +#: templates/js/translated/part.js:2291 msgid "parts" msgstr "alkatrészek" -#: templates/js/translated/part.js:2384 +#: templates/js/translated/part.js:2387 msgid "No category" msgstr "Nincs kategória" -#: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 +#: templates/js/translated/part.js:2534 templates/js/translated/part.js:2664 #: 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:2550 msgid "Display as grid" msgstr "Megjelenítés rácsnézetként" -#: templates/js/translated/part.js:2645 +#: templates/js/translated/part.js:2648 msgid "No subcategories found" msgstr "Nem találhatóak alkategóriák" -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2689 +#: templates/js/translated/part.js:2684 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:2764 msgid "Load Subcategories" msgstr "Alkategóriák betöltése" -#: templates/js/translated/part.js:2777 +#: templates/js/translated/part.js:2780 msgid "Subscribed category" msgstr "Értesítésre beállított kategória" -#: templates/js/translated/part.js:2865 +#: templates/js/translated/part.js:2868 msgid "No test templates matching query" msgstr "Nincs a lekérdezéssel egyező teszt sablon" -#: templates/js/translated/part.js:2887 templates/js/translated/search.js:342 +#: templates/js/translated/part.js:2890 templates/js/translated/search.js:342 msgid "results" msgstr "találat" -#: templates/js/translated/part.js:2937 templates/js/translated/stock.js:1456 +#: templates/js/translated/part.js:2940 templates/js/translated/stock.js:1456 msgid "Edit test result" msgstr "Teszt eredmény szerkesztése" -#: templates/js/translated/part.js:2938 templates/js/translated/stock.js:1457 +#: templates/js/translated/part.js:2941 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:2942 +#: templates/js/translated/part.js:2945 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:2958 +#: templates/js/translated/part.js:2961 msgid "Edit Test Result Template" msgstr "Teszt eredmény sablon szerkesztése" -#: templates/js/translated/part.js:2972 +#: templates/js/translated/part.js:2975 msgid "Delete Test Result Template" msgstr "Teszt eredmény sablon törlése" -#: templates/js/translated/part.js:3051 templates/js/translated/part.js:3052 +#: templates/js/translated/part.js:3054 templates/js/translated/part.js:3055 msgid "No date specified" msgstr "Nincs megadva dátum" -#: templates/js/translated/part.js:3054 +#: templates/js/translated/part.js:3057 msgid "Specified date is in the past" msgstr "A megadott dátum a múltban van" -#: templates/js/translated/part.js:3060 +#: templates/js/translated/part.js:3063 msgid "Speculative" msgstr "Spekulatív" -#: templates/js/translated/part.js:3110 +#: templates/js/translated/part.js:3113 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:3116 +#: templates/js/translated/part.js:3119 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:3212 +#: templates/js/translated/part.js:3215 msgid "Scheduled Stock Quantities" msgstr "Ütemezett készlet mennyiség" -#: templates/js/translated/part.js:3228 +#: templates/js/translated/part.js:3231 msgid "Maximum Quantity" msgstr "Maximum mennyiség" -#: templates/js/translated/part.js:3273 +#: templates/js/translated/part.js:3276 msgid "Minimum Stock Level" msgstr "Minimális készlet" @@ -13594,7 +14008,7 @@ msgstr "Kivesz" msgid "Add Stock" msgstr "Készlet növelése" -#: templates/js/translated/stock.js:1042 users/models.py:392 +#: templates/js/translated/stock.js:1042 users/models.py:396 msgid "Add" msgstr "Hozzáad" @@ -13948,7 +14362,7 @@ msgid "Include subcategories" msgstr "Alkategóriákkal együtt" #: templates/js/translated/table_filters.js:287 -#: templates/js/translated/table_filters.js:759 +#: templates/js/translated/table_filters.js:764 msgid "Subscribed" msgstr "Értesítés beállítva" @@ -14103,40 +14517,46 @@ msgstr "Alkategóriákkal együtt" msgid "Show active parts" msgstr "Aktív alkatrészek megjelenítése" -#: templates/js/translated/table_filters.js:725 +#: templates/js/translated/table_filters.js:722 +#, fuzzy +#| msgid "Show related parts" +msgid "Show locked parts" +msgstr "Kapcsolódó alkatrészek megjelenítése" + +#: templates/js/translated/table_filters.js:730 msgid "Available stock" msgstr "Elérhető" -#: templates/js/translated/table_filters.js:733 -#: templates/js/translated/table_filters.js:833 +#: templates/js/translated/table_filters.js:738 +#: templates/js/translated/table_filters.js:838 msgid "Has Units" msgstr "Van mértékegysége" -#: templates/js/translated/table_filters.js:734 +#: templates/js/translated/table_filters.js:739 msgid "Part has defined units" msgstr "Az alkatrésznek van megadva mértékegysége" -#: templates/js/translated/table_filters.js:738 +#: templates/js/translated/table_filters.js:743 msgid "Has IPN" msgstr "Van IPN-je" -#: templates/js/translated/table_filters.js:739 +#: templates/js/translated/table_filters.js:744 msgid "Part has internal part number" msgstr "Van belső cikkszáma" -#: templates/js/translated/table_filters.js:743 +#: templates/js/translated/table_filters.js:748 msgid "In stock" msgstr "Készleten" -#: templates/js/translated/table_filters.js:751 +#: templates/js/translated/table_filters.js:756 msgid "Purchasable" msgstr "Beszerezhető" -#: templates/js/translated/table_filters.js:763 +#: templates/js/translated/table_filters.js:768 msgid "Has stocktake entries" msgstr "Volt leltár" -#: templates/js/translated/table_filters.js:829 +#: templates/js/translated/table_filters.js:834 msgid "Has Choices" msgstr "Vannak lehetőségei" @@ -14208,10 +14628,6 @@ msgstr "Lapozó elrejtése/megjelenítése" msgid "Toggle" msgstr "Átváltás" -#: templates/js/translated/tables.js:558 -msgid "Columns" -msgstr "Oszlopok" - #: templates/js/translated/tables.js:561 msgid "All" msgstr "Összes" @@ -14485,35 +14901,58 @@ msgstr "Token utolsó használata" msgid "Revoked" msgstr "Visszavonva" -#: users/models.py:375 +#: users/models.py:379 msgid "Permission set" msgstr "Jogosultságok" -#: users/models.py:384 +#: users/models.py:388 msgid "Group" msgstr "Csoport" -#: users/models.py:388 +#: users/models.py:392 msgid "View" msgstr "Nézet" -#: users/models.py:388 +#: users/models.py:392 msgid "Permission to view items" msgstr "Jogosultság tételek megtekintéséhez" -#: users/models.py:392 +#: users/models.py:396 msgid "Permission to add items" msgstr "Jogosultság tételek hozzáadásához" -#: users/models.py:396 +#: users/models.py:400 msgid "Change" msgstr "Módosítás" -#: users/models.py:398 +#: users/models.py:402 msgid "Permissions to edit items" msgstr "Jogosultság tételek szerkesztéséhez" -#: users/models.py:404 +#: users/models.py:408 msgid "Permission to delete items" msgstr "Jogosultság tételek törléséhez" +#~ msgid "Default part label template" +#~ msgstr "Alapértelmezett alkatrész címke sablon" + +#~ msgid "The part label template to be automatically selected" +#~ msgstr "Az alapértelmezetten kiválasztott alkatrész címke sablon" + +#~ msgid "Default stock item template" +#~ msgstr "Alapértelmezett készlet címke sablon" + +#~ msgid "The stock item label template to be automatically selected" +#~ msgstr "Az alapértelmezetten kiválasztott készlet címke sablon" + +#~ msgid "Default stock location label template" +#~ msgstr "Alapértelmezett készlethely címke sablon" + +#~ msgid "The stock location label template to be automatically selected" +#~ msgstr "Az alapértelmezetten kiválasztott készlethely címke sablon" + +#~ msgid "Default build line label template" +#~ msgstr "Alapértelmezett gyártási tétel címke sablon" + +#~ msgid "The build line label template to be automatically selected" +#~ msgstr "Az alapértelmezetten kiválasztott gyártási tétel címke sablon" diff --git a/src/backend/InvenTree/locale/id/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/id/LC_MESSAGES/django.po index 41757d39df5e..769f841b493d 100644 --- a/src/backend/InvenTree/locale/id/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/id/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-07-05 02:47+0000\n" +"POT-Creation-Date: 2024-07-08 14:46+0000\n" "PO-Revision-Date: 2024-07-05 14:58\n" "Last-Translator: \n" "Language-Team: Indonesian\n" @@ -21,7 +21,7 @@ msgstr "" msgid "API endpoint not found" msgstr "API endpoint tidak ditemukan" -#: InvenTree/api.py:520 +#: InvenTree/api.py:505 msgid "User does not have permission to view this model" msgstr "Pengguna tidak memiliki izin untuk melihat model ini" @@ -56,21 +56,21 @@ msgstr "Detail terkait galat dapat dilihat di panel admin" msgid "Enter date" msgstr "Masukkan tanggal" -#: InvenTree/fields.py:205 InvenTree/models.py:918 build/serializers.py:452 -#: build/serializers.py:530 build/templates/build/sidebar.html:21 -#: company/models.py:817 company/templates/company/sidebar.html:37 +#: InvenTree/fields.py:205 InvenTree/models.py:921 build/serializers.py:456 +#: build/serializers.py:534 build/templates/build/sidebar.html:21 +#: company/models.py:824 company/templates/company/sidebar.html:37 #: order/models.py:1296 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:3183 part/templates/part/part_sidebar.html:63 +#: part/models.py:3193 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:230 stock/models.py:2344 stock/models.py:2466 -#: stock/serializers.py:632 stock/serializers.py:790 stock/serializers.py:886 -#: stock/serializers.py:936 stock/serializers.py:1239 stock/serializers.py:1328 -#: stock/serializers.py:1493 stock/templates/stock/stock_sidebar.html:25 +#: stock/admin.py:230 stock/models.py:2349 stock/models.py:2476 +#: stock/serializers.py:690 stock/serializers.py:848 stock/serializers.py:944 +#: stock/serializers.py:994 stock/serializers.py:1305 stock/serializers.py:1394 +#: stock/serializers.py:1559 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:1081 +#: templates/js/translated/part.js:1084 #: templates/js/translated/purchase_order.js:2200 #: templates/js/translated/return_order.js:775 #: templates/js/translated/sales_order.js:1103 @@ -371,41 +371,41 @@ msgstr "" msgid "JSON metadata field, for use by external plugins" msgstr "" -#: InvenTree/models.py:408 +#: InvenTree/models.py:411 msgid "Improperly formatted pattern" msgstr "" -#: InvenTree/models.py:415 +#: InvenTree/models.py:418 msgid "Unknown format key specified" msgstr "" -#: InvenTree/models.py:421 +#: InvenTree/models.py:424 msgid "Missing required format key" msgstr "" -#: InvenTree/models.py:432 +#: InvenTree/models.py:435 msgid "Reference field cannot be empty" msgstr "" -#: InvenTree/models.py:440 +#: InvenTree/models.py:443 msgid "Reference must match required pattern" msgstr "" -#: InvenTree/models.py:471 +#: InvenTree/models.py:474 msgid "Reference number is too large" msgstr "" -#: InvenTree/models.py:719 +#: InvenTree/models.py:722 msgid "Duplicate names cannot exist under the same parent" msgstr "" -#: InvenTree/models.py:736 +#: InvenTree/models.py:739 msgid "Invalid choice" msgstr "Pilihan tidak valid" -#: InvenTree/models.py:766 common/models.py:2678 common/models.py:3103 -#: common/serializers.py:408 company/models.py:580 machine/models.py:24 -#: part/models.py:891 part/models.py:3639 plugin/models.py:51 +#: InvenTree/models.py:769 common/models.py:2659 common/models.py:3089 +#: common/serializers.py:412 company/models.py:587 machine/models.py:24 +#: part/models.py:895 part/models.py:3660 plugin/models.py:51 #: report/models.py:150 stock/models.py:74 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -417,20 +417,20 @@ msgstr "Pilihan tidak valid" #: templates/js/translated/company.js:724 #: templates/js/translated/company.js:913 #: templates/js/translated/company.js:1165 -#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1187 -#: templates/js/translated/part.js:1475 templates/js/translated/part.js:1611 -#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2716 +#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1190 +#: templates/js/translated/part.js:1478 templates/js/translated/part.js:1614 +#: templates/js/translated/part.js:2752 templates/js/translated/stock.js:2716 msgid "Name" msgstr "Nama" -#: InvenTree/models.py:772 build/models.py:235 -#: build/templates/build/detail.html:24 common/models.py:138 -#: company/models.py:509 company/models.py:808 +#: InvenTree/models.py:775 build/models.py:242 +#: build/templates/build/detail.html:24 common/models.py:143 +#: company/models.py:515 company/models.py:815 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 -#: order/models.py:1329 part/admin.py:305 part/admin.py:408 part/models.py:914 -#: part/models.py:3654 part/templates/part/category.html:82 +#: order/models.py:1329 part/admin.py:305 part/admin.py:408 part/models.py:918 +#: part/models.py:3675 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:156 #: report/models.py:510 report/models.py:536 @@ -444,10 +444,10 @@ msgstr "Nama" #: templates/js/translated/build.js:2139 templates/js/translated/company.js:519 #: templates/js/translated/company.js:1330 #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 -#: templates/js/translated/order.js:298 templates/js/translated/part.js:1239 -#: templates/js/translated/part.js:1484 templates/js/translated/part.js:1622 -#: templates/js/translated/part.js:1959 templates/js/translated/part.js:2355 -#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2897 +#: templates/js/translated/order.js:298 templates/js/translated/part.js:1242 +#: templates/js/translated/part.js:1487 templates/js/translated/part.js:1625 +#: templates/js/translated/part.js:1962 templates/js/translated/part.js:2358 +#: templates/js/translated/part.js:2788 templates/js/translated/part.js:2900 #: templates/js/translated/plugin.js:80 #: templates/js/translated/purchase_order.js:1706 #: templates/js/translated/purchase_order.js:1849 @@ -460,53 +460,53 @@ msgstr "Nama" msgid "Description" msgstr "Keterangan" -#: InvenTree/models.py:773 stock/models.py:81 +#: InvenTree/models.py:776 stock/models.py:81 msgid "Description (optional)" msgstr "Keterangan (opsional)" -#: InvenTree/models.py:788 templates/js/translated/part.js:2794 +#: InvenTree/models.py:791 templates/js/translated/part.js:2797 #: templates/js/translated/stock.js:2757 msgid "Path" msgstr "Direktori" -#: InvenTree/models.py:918 +#: InvenTree/models.py:921 msgid "Markdown notes (optional)" msgstr "" -#: InvenTree/models.py:947 +#: InvenTree/models.py:950 msgid "Barcode Data" msgstr "Data Barcode" -#: InvenTree/models.py:948 +#: InvenTree/models.py:951 msgid "Third party barcode data" msgstr "Data barcode pihak ketiga" -#: InvenTree/models.py:954 +#: InvenTree/models.py:957 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:955 +#: InvenTree/models.py:958 msgid "Unique hash of barcode data" msgstr "Hash unik data barcode" -#: InvenTree/models.py:1008 +#: InvenTree/models.py:1011 msgid "Existing barcode found" msgstr "Sudah ada barcode yang sama" -#: InvenTree/models.py:1051 +#: InvenTree/models.py:1054 msgid "Server Error" msgstr "Terjadi Kesalahan Server" -#: InvenTree/models.py:1052 +#: InvenTree/models.py:1055 msgid "An error has been logged by the server." msgstr "Sebuah kesalahan telah dicatat oleh server." -#: InvenTree/serializers.py:63 part/models.py:4192 +#: InvenTree/serializers.py:63 part/models.py:4277 msgid "Must be a valid number" msgstr "Harus berupa angka yang valid" #: InvenTree/serializers.py:100 company/models.py:186 -#: company/templates/company/company_base.html:112 part/models.py:3001 +#: company/templates/company/company_base.html:112 part/models.py:3011 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -556,16 +556,16 @@ msgstr "" msgid "Is this user a superuser" msgstr "" -#: InvenTree/serializers.py:445 common/models.py:2683 company/models.py:163 -#: company/models.py:782 machine/models.py:39 part/admin.py:88 -#: part/models.py:1081 plugin/models.py:66 +#: InvenTree/serializers.py:445 common/models.py:2664 company/models.py:163 +#: company/models.py:789 machine/models.py:39 part/admin.py:88 +#: part/models.py:1085 plugin/models.py:66 #: 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 #: templates/js/translated/table_filters.js:520 #: templates/js/translated/table_filters.js:716 -#: templates/js/translated/table_filters.js:796 users/models.py:182 +#: templates/js/translated/table_filters.js:801 users/models.py:182 msgid "Active" msgstr "" @@ -597,7 +597,7 @@ msgstr "" msgid "Invalid value" msgstr "Nilai tidak valid" -#: InvenTree/serializers.py:581 +#: InvenTree/serializers.py:581 importer/models.py:60 msgid "Data File" msgstr "File data" @@ -651,7 +651,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:1174 +#: InvenTree/status.py:66 part/serializers.py:1202 msgid "Background worker check failed" msgstr "" @@ -711,47 +711,48 @@ msgstr "Informasi Sistem" msgid "About InvenTree" msgstr "Tentang InvenTree" -#: build/api.py:255 +#: build/api.py:248 msgid "Build must be cancelled before it can be deleted" msgstr "Pesanan harus dibatalkan sebelum dapat dihapus" -#: build/api.py:299 part/models.py:4070 templates/js/translated/bom.js:997 -#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 +#: build/api.py:292 build/serializers.py:1190 part/models.py:4155 +#: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 +#: templates/js/translated/build.js:2521 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:300 part/models.py:4064 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 +#: build/api.py:293 build/serializers.py:1191 part/models.py:4149 +#: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 +#: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2530 #: templates/js/translated/table_filters.js:186 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:587 msgid "Optional" msgstr "" -#: build/api.py:301 templates/js/translated/table_filters.js:408 +#: build/api.py:294 templates/js/translated/table_filters.js:408 #: templates/js/translated/table_filters.js:579 msgid "Tracked" msgstr "" -#: build/api.py:303 part/admin.py:144 templates/js/translated/build.js:1744 -#: templates/js/translated/build.js:2629 +#: build/api.py:296 part/admin.py:144 templates/js/translated/build.js:1744 +#: templates/js/translated/build.js:2630 #: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:571 msgid "Allocated" msgstr "" -#: build/api.py:311 company/models.py:872 company/serializers.py:359 +#: build/api.py:304 company/models.py:879 company/serializers.py:386 #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2561 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2562 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:234 -#: templates/js/translated/part.js:693 templates/js/translated/part.js:695 -#: templates/js/translated/part.js:700 +#: 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 #: templates/js/translated/table_filters.js:575 msgid "Available" @@ -760,7 +761,7 @@ msgstr "" #: build/models.py:85 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 -#: stock/serializers.py:82 templates/email/build_order_completed.html:16 +#: stock/serializers.py:84 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:2892 msgid "Build Order" @@ -781,35 +782,43 @@ msgstr "Order Produksi" msgid "Assembly BOM has not been validated" msgstr "" -#: build/models.py:134 part/templates/part/part_base.html:145 -msgid "Part is not active" -msgstr "" +#: build/models.py:134 +#, fuzzy +#| msgid "Build output cannot be specified for allocation of untracked parts" +msgid "Build order cannot be created for an inactive part" +msgstr "Hasil produksi tidak dapat ditentukan untuk alokasi barang yang tidak terlacak" -#: build/models.py:148 +#: build/models.py:141 +#, fuzzy +#| msgid "Build output cannot be specified for allocation of untracked parts" +msgid "Build order cannot be created for an unlocked part" +msgstr "Hasil produksi tidak dapat ditentukan untuk alokasi barang yang tidak terlacak" + +#: build/models.py:155 msgid "Invalid choice for parent build" msgstr "Pilihan produksi induk tidak valid" -#: build/models.py:159 order/models.py:240 +#: build/models.py:166 order/models.py:240 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:165 +#: build/models.py:172 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:226 +#: build/models.py:233 msgid "Build Order Reference" msgstr "Referensi Order Produksi" -#: build/models.py:227 order/models.py:463 order/models.py:926 -#: order/models.py:1289 order/models.py:2020 part/admin.py:411 -#: part/models.py:4085 part/templates/part/upload_bom.html:54 +#: build/models.py:234 build/serializers.py:1189 order/models.py:463 +#: order/models.py:926 order/models.py:1289 order/models.py:2046 +#: part/admin.py:411 part/models.py:4170 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: 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/build.js:2513 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2065 #: templates/js/translated/return_order.js:728 @@ -817,27 +826,28 @@ msgstr "Referensi Order Produksi" msgid "Reference" msgstr "Referensi" -#: build/models.py:238 +#: build/models.py:245 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:246 build/templates/build/build_base.html:183 +#: build/models.py:253 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Produksi Induk" -#: build/models.py:247 +#: build/models.py:254 msgid "BuildOrder to which this build is allocated" msgstr "Produksi induk dari produksi ini" -#: build/models.py:252 build/templates/build/build_base.html:97 -#: build/templates/build/detail.html:29 company/models.py:1026 order/api.py:805 -#: order/models.py:1414 order/models.py:1559 order/models.py:1560 -#: part/api.py:1494 part/api.py:1788 part/models.py:395 part/models.py:3012 -#: part/models.py:3156 part/models.py:3303 part/models.py:3324 -#: part/models.py:3346 part/models.py:3477 part/models.py:3787 -#: part/models.py:3943 part/models.py:4036 part/models.py:4395 -#: part/serializers.py:1120 part/serializers.py:1726 +#: build/models.py:259 build/serializers.py:1184 +#: build/templates/build/build_base.html:97 +#: build/templates/build/detail.html:29 company/models.py:1034 order/api.py:759 +#: order/models.py:1419 order/models.py:1574 order/models.py:1575 +#: part/api.py:1480 part/api.py:1776 part/models.py:396 part/models.py:3022 +#: part/models.py:3166 part/models.py:3314 part/models.py:3335 +#: part/models.py:3357 part/models.py:3493 part/models.py:3827 +#: part/models.py:3990 part/models.py:4121 part/models.py:4480 +#: part/serializers.py:1148 part/serializers.py:1758 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -848,8 +858,8 @@ msgstr "Produksi induk dari produksi ini" #: 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:109 stock/serializers.py:157 stock/serializers.py:423 -#: stock/serializers.py:820 templates/InvenTree/search.html:82 +#: stock/serializers.py:111 stock/serializers.py:159 stock/serializers.py:443 +#: stock/serializers.py:878 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 @@ -862,8 +872,8 @@ msgstr "Produksi induk dari produksi ini" #: templates/js/translated/company.js:1116 #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 -#: templates/js/translated/part.js:1944 templates/js/translated/part.js:2016 -#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:1947 templates/js/translated/part.js:2019 +#: templates/js/translated/part.js:2327 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:1848 @@ -881,107 +891,107 @@ msgstr "Produksi induk dari produksi ini" msgid "Part" msgstr "Bagian" -#: build/models.py:260 +#: build/models.py:267 msgid "Select part to build" msgstr "Pilih bagian untuk diproduksi" -#: build/models.py:265 +#: build/models.py:272 msgid "Sales Order Reference" msgstr "Referensi Order Penjualan" -#: build/models.py:269 +#: build/models.py:276 msgid "SalesOrder to which this build is allocated" msgstr "Order penjualan yang teralokasikan ke pesanan ini" -#: build/models.py:274 build/serializers.py:999 +#: build/models.py:281 build/serializers.py:1003 #: templates/js/translated/build.js:1731 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "Lokasi Sumber" -#: build/models.py:278 +#: build/models.py:285 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:283 +#: build/models.py:290 msgid "Destination Location" msgstr "Lokasi Tujuan" -#: build/models.py:287 +#: build/models.py:294 msgid "Select location where the completed items will be stored" msgstr "Pilih lokasi di mana item selesai akan disimpan" -#: build/models.py:291 +#: build/models.py:298 msgid "Build Quantity" msgstr "Jumlah Produksi" -#: build/models.py:294 +#: build/models.py:301 msgid "Number of stock items to build" msgstr "Jumlah item stok yang akan dibuat" -#: build/models.py:298 +#: build/models.py:305 msgid "Completed items" msgstr "Item selesai" -#: build/models.py:300 +#: build/models.py:307 msgid "Number of stock items which have been completed" msgstr "Jumlah stok item yang telah diselesaikan" -#: build/models.py:304 +#: build/models.py:311 msgid "Build Status" msgstr "Status pembuatan" -#: build/models.py:308 +#: build/models.py:315 msgid "Build status code" msgstr "Kode status pembuatan" -#: build/models.py:317 build/serializers.py:286 order/serializers.py:580 -#: stock/models.py:839 stock/serializers.py:74 stock/serializers.py:1458 +#: build/models.py:324 build/serializers.py:290 order/serializers.py:629 +#: stock/models.py:839 stock/serializers.py:76 stock/serializers.py:1524 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "Kode Kelompok" -#: build/models.py:321 build/serializers.py:287 +#: build/models.py:328 build/serializers.py:291 msgid "Batch code for this build output" msgstr "Kode kelompok untuk hasil produksi ini" -#: build/models.py:324 order/models.py:316 order/serializers.py:119 -#: part/models.py:1115 part/templates/part/part_base.html:310 +#: build/models.py:331 order/models.py:316 order/serializers.py:127 +#: part/models.py:1125 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:328 +#: build/models.py:335 msgid "Target completion date" msgstr "Target tanggal selesai" -#: build/models.py:329 +#: build/models.py:336 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:332 order/models.py:521 order/models.py:2065 +#: build/models.py:339 order/models.py:521 order/models.py:2091 #: templates/js/translated/build.js:2247 msgid "Completion Date" msgstr "Tanggal selesai" -#: build/models.py:338 +#: build/models.py:345 msgid "completed by" msgstr "diselesaikan oleh" -#: build/models.py:346 templates/js/translated/build.js:2207 +#: build/models.py:353 templates/js/translated/build.js:2207 msgid "Issued by" msgstr "Diserahkan oleh" -#: build/models.py:347 +#: build/models.py:354 msgid "User who issued this build order" msgstr "Pengguna yang menyerahkan order ini" -#: build/models.py:355 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 common/models.py:147 +#: build/models.py:362 build/templates/build/build_base.html:204 +#: build/templates/build/detail.html:122 common/models.py:152 #: order/models.py:334 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:232 part/models.py:1132 +#: order/templates/order/sales_order_base.html:232 part/models.py:1142 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 @@ -992,11 +1002,11 @@ msgstr "Pengguna yang menyerahkan order ini" msgid "Responsible" msgstr "Penanggung Jawab" -#: build/models.py:356 +#: build/models.py:363 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:361 build/templates/build/detail.html:108 +#: build/models.py:368 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 @@ -1008,21 +1018,22 @@ msgstr "" msgid "External Link" msgstr "Tautan eksternal" -#: build/models.py:362 common/models.py:3244 part/models.py:956 +#: build/models.py:369 common/models.py:3230 part/models.py:960 #: stock/models.py:835 msgid "Link to external URL" msgstr "Tautan menuju URL eksternal" -#: build/models.py:366 +#: build/models.py:373 msgid "Build Priority" msgstr "" -#: build/models.py:369 +#: build/models.py:376 msgid "Priority of this build order" msgstr "" -#: build/models.py:376 common/models.py:131 order/admin.py:18 -#: order/models.py:298 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:383 common/models.py:122 common/models.py:136 +#: order/admin.py:18 order/models.py:298 order/serializers.py:108 +#: templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 #: templates/js/translated/purchase_order.js:1710 #: templates/js/translated/return_order.js:317 @@ -1032,65 +1043,66 @@ msgstr "" msgid "Project Code" msgstr "" -#: build/models.py:377 +#: build/models.py:384 msgid "Project code for this build order" msgstr "" -#: build/models.py:610 build/models.py:675 +#: build/models.py:617 build/models.py:682 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:632 +#: build/models.py:639 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:638 +#: build/models.py:645 msgid "A build order has been completed" msgstr "" -#: build/models.py:864 build/models.py:949 +#: build/models.py:871 build/models.py:956 msgid "No build output specified" msgstr "Tidak ada hasil produksi yang ditentukan" -#: build/models.py:867 +#: build/models.py:874 msgid "Build output is already completed" msgstr "Hasil produksi sudah selesai" -#: build/models.py:870 +#: build/models.py:877 msgid "Build output does not match Build Order" msgstr "Hasil produksi tidak sesuai dengan order produksi" -#: build/models.py:953 build/serializers.py:219 build/serializers.py:268 -#: build/serializers.py:866 order/models.py:559 order/serializers.py:432 -#: order/serializers.py:575 part/serializers.py:1484 part/serializers.py:1884 -#: stock/models.py:678 stock/models.py:1496 stock/serializers.py:603 +#: build/models.py:960 build/serializers.py:223 build/serializers.py:272 +#: build/serializers.py:870 order/models.py:559 order/serializers.py:461 +#: order/serializers.py:624 part/serializers.py:1515 part/serializers.py:1921 +#: stock/models.py:678 stock/models.py:1496 stock/serializers.py:661 msgid "Quantity must be greater than zero" msgstr "Jumlah harus lebih besar daripada nol" -#: build/models.py:958 build/serializers.py:224 +#: build/models.py:965 build/serializers.py:228 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1018 build/serializers.py:547 +#: build/models.py:1025 build/serializers.py:551 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1359 +#: build/models.py:1366 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1384 +#: build/models.py:1391 msgid "Build object" msgstr "" -#: build/models.py:1398 build/models.py:1654 build/serializers.py:206 -#: build/serializers.py:253 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2563 -#: order/models.py:1272 order/models.py:1931 order/serializers.py:1327 +#: build/models.py:1405 build/models.py:1661 build/serializers.py:210 +#: build/serializers.py:257 build/serializers.py:1194 +#: build/templates/build/build_base.html:102 +#: build/templates/build/detail.html:34 common/models.py:2544 +#: order/models.py:1272 order/models.py:1957 order/serializers.py:1383 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:410 -#: part/forms.py:48 part/models.py:3170 part/models.py:4058 +#: part/forms.py:48 part/models.py:3180 part/models.py:4143 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1100,7 +1112,7 @@ msgstr "" #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:169 stock/admin.py:159 -#: stock/serializers.py:125 stock/serializers.py:165 stock/serializers.py:594 +#: stock/serializers.py:127 stock/serializers.py:167 stock/serializers.py:652 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 @@ -1111,8 +1123,8 @@ msgstr "" #: templates/js/translated/build.js:1746 templates/js/translated/build.js:2357 #: templates/js/translated/company.js:1818 #: templates/js/translated/model_renderers.js:236 -#: templates/js/translated/order.js:304 templates/js/translated/part.js:962 -#: templates/js/translated/part.js:1812 templates/js/translated/part.js:3342 +#: templates/js/translated/order.js:304 templates/js/translated/part.js:965 +#: templates/js/translated/part.js:1815 templates/js/translated/part.js:3345 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 @@ -1132,38 +1144,38 @@ msgstr "" msgid "Quantity" msgstr "Jumlah" -#: build/models.py:1399 +#: build/models.py:1406 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1479 +#: build/models.py:1486 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:1488 +#: build/models.py:1495 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1498 order/models.py:1882 +#: build/models.py:1505 order/models.py:1908 msgid "Stock item is over-allocated" msgstr "Item stok teralokasikan terlalu banyak" -#: build/models.py:1504 order/models.py:1885 +#: build/models.py:1511 order/models.py:1911 msgid "Allocation quantity must be greater than zero" msgstr "Jumlah yang dialokasikan harus lebih dari nol" -#: build/models.py:1510 +#: build/models.py:1517 msgid "Quantity must be 1 for serialized stock" msgstr "Jumlah harus 1 untuk stok dengan nomor seri" -#: build/models.py:1569 +#: build/models.py:1576 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1641 build/serializers.py:846 order/serializers.py:1171 -#: order/serializers.py:1192 stock/models.py:359 stock/serializers.py:91 -#: stock/serializers.py:697 stock/serializers.py:1177 stock/serializers.py:1289 +#: build/models.py:1648 build/serializers.py:850 order/serializers.py:1227 +#: order/serializers.py:1248 stock/models.py:359 stock/serializers.py:93 +#: stock/serializers.py:755 stock/serializers.py:1243 stock/serializers.py:1355 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 @@ -1179,70 +1191,76 @@ msgstr "" msgid "Stock Item" msgstr "Stok Item" -#: build/models.py:1642 +#: build/models.py:1649 msgid "Source stock item" msgstr "Sumber stok item" -#: build/models.py:1655 +#: build/models.py:1662 msgid "Stock quantity to allocate to build" msgstr "Jumlah stok yang dialokasikan ke produksi" -#: build/models.py:1663 +#: build/models.py:1670 msgid "Install into" msgstr "Pasang ke" -#: build/models.py:1664 +#: build/models.py:1671 msgid "Destination stock item" msgstr "Tujuan stok item" -#: build/serializers.py:156 build/serializers.py:875 +#: build/serializers.py:89 build/serializers.py:1185 part/admin.py:41 +#: part/admin.py:405 part/models.py:3992 part/stocktake.py:220 +#: stock/admin.py:156 +msgid "Part Name" +msgstr "" + +#: build/serializers.py:160 build/serializers.py:879 #: templates/js/translated/build.js:1322 msgid "Build Output" msgstr "Hasil Produksi" -#: build/serializers.py:168 +#: build/serializers.py:172 msgid "Build output does not match the parent build" msgstr "Hasil produksi tidak sesuai dengan produksi induk" -#: build/serializers.py:172 +#: build/serializers.py:176 msgid "Output part does not match BuildOrder part" msgstr "Hasil bagian tidak sesuai dengan bagian dalam order produksi" -#: build/serializers.py:176 +#: build/serializers.py:180 msgid "This build output has already been completed" msgstr "Hasil produksi ini sudah diselesaikan" -#: build/serializers.py:187 +#: build/serializers.py:191 msgid "This build output is not fully allocated" msgstr "Hasil produksi tidak dialokasikan sepenuhnya" -#: build/serializers.py:207 build/serializers.py:254 +#: build/serializers.py:211 build/serializers.py:258 msgid "Enter quantity for build output" msgstr "Masukkan jumlah hasil pesanan" -#: build/serializers.py:275 +#: build/serializers.py:279 msgid "Integer quantity required for trackable parts" msgstr "Jumlah bagian yang dapat dilacak harus berupa angka bulat" -#: build/serializers.py:278 +#: build/serializers.py:282 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:293 order/serializers.py:588 order/serializers.py:1331 -#: stock/serializers.py:614 templates/js/translated/purchase_order.js:1153 +#: build/serializers.py:297 order/serializers.py:637 order/serializers.py:1387 +#: stock/serializers.py:672 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:294 +#: build/serializers.py:298 msgid "Enter serial numbers for build outputs" msgstr "Masukkan nomor seri untuk hasil pesanan" -#: build/serializers.py:299 build/serializers.py:440 build/serializers.py:512 -#: order/serializers.py:564 order/serializers.py:672 order/serializers.py:1656 -#: part/serializers.py:1140 stock/serializers.py:100 stock/serializers.py:625 -#: stock/serializers.py:785 stock/serializers.py:881 stock/serializers.py:1321 -#: stock/serializers.py:1577 stock/templates/stock/item_base.html:394 +#: build/serializers.py:303 build/serializers.py:444 build/serializers.py:516 +#: order/serializers.py:613 order/serializers.py:721 order/serializers.py:1714 +#: part/serializers.py:1168 stock/serializers.py:102 stock/serializers.py:683 +#: stock/serializers.py:843 stock/serializers.py:939 stock/serializers.py:1387 +#: stock/serializers.py:1643 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 @@ -1258,54 +1276,54 @@ msgstr "Masukkan nomor seri untuk hasil pesanan" msgid "Location" msgstr "Lokasi" -#: build/serializers.py:300 +#: build/serializers.py:304 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:314 +#: build/serializers.py:318 msgid "Auto Allocate Serial Numbers" msgstr "Alokasikan nomor seri secara otomatis" -#: build/serializers.py:315 +#: build/serializers.py:319 msgid "Automatically allocate required items with matching serial numbers" msgstr "Alokasikan item yang diperlukan dengan nomor seri yang sesuai secara otomatis" -#: build/serializers.py:330 +#: build/serializers.py:334 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:355 stock/api.py:1041 +#: build/serializers.py:359 stock/api.py:1033 msgid "The following serial numbers already exist or are invalid" msgstr "Nomor-nomor seri berikut sudah ada atau tidak valid" -#: build/serializers.py:402 build/serializers.py:464 build/serializers.py:553 +#: build/serializers.py:406 build/serializers.py:468 build/serializers.py:557 msgid "A list of build outputs must be provided" msgstr "Daftar hasil pesanan harus disediakan" -#: build/serializers.py:441 +#: build/serializers.py:445 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:447 +#: build/serializers.py:451 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:448 +#: build/serializers.py:452 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:453 +#: build/serializers.py:457 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:513 +#: build/serializers.py:517 msgid "Location for completed build outputs" msgstr "Lokasi hasil pesanan yang selesai" -#: build/serializers.py:519 build/templates/build/build_base.html:151 +#: build/serializers.py:523 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:950 -#: order/models.py:2044 order/serializers.py:596 stock/admin.py:164 -#: stock/serializers.py:932 stock/serializers.py:1465 +#: order/models.py:2070 order/serializers.py:645 stock/admin.py:164 +#: stock/serializers.py:990 stock/serializers.py:1531 #: 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 @@ -1317,193 +1335,249 @@ msgstr "Lokasi hasil pesanan yang selesai" msgid "Status" msgstr "" -#: build/serializers.py:525 +#: build/serializers.py:529 msgid "Accept Incomplete Allocation" msgstr "Terima Alokasi Tidak Lengkap" -#: build/serializers.py:526 +#: build/serializers.py:530 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:611 +#: build/serializers.py:615 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:612 +#: build/serializers.py:616 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:618 +#: build/serializers.py:622 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:619 +#: build/serializers.py:623 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:646 +#: build/serializers.py:650 msgid "Not permitted" msgstr "" -#: build/serializers.py:647 +#: build/serializers.py:651 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:648 +#: build/serializers.py:652 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:678 +#: build/serializers.py:682 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:680 +#: build/serializers.py:684 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:690 +#: build/serializers.py:694 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:695 +#: build/serializers.py:699 msgid "Accept Unallocated" msgstr "Terima Tidak Teralokasikan" -#: build/serializers.py:696 +#: build/serializers.py:700 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:706 templates/js/translated/build.js:315 +#: build/serializers.py:710 templates/js/translated/build.js:315 msgid "Required stock has not been fully allocated" msgstr "Stok yang diperlukan belum teralokasikan sepenuhnya" -#: build/serializers.py:711 order/serializers.py:300 order/serializers.py:1234 +#: build/serializers.py:715 order/serializers.py:319 order/serializers.py:1290 msgid "Accept Incomplete" msgstr "Terima Tidak Selesai" -#: build/serializers.py:712 +#: build/serializers.py:716 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:722 templates/js/translated/build.js:319 +#: build/serializers.py:726 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:731 templates/js/translated/build.js:303 +#: build/serializers.py:735 templates/js/translated/build.js:303 msgid "Build order has incomplete outputs" msgstr "Order memiliki hasil produksi yang belum dilengkapi" -#: build/serializers.py:769 +#: build/serializers.py:773 msgid "Build Line" msgstr "" -#: build/serializers.py:779 +#: build/serializers.py:783 msgid "Build output" msgstr "Hasil produksi" -#: build/serializers.py:787 +#: build/serializers.py:791 msgid "Build output must point to the same build" msgstr "Hasil pesanan harus mengarah ke pesanan yang sama" -#: build/serializers.py:823 +#: build/serializers.py:827 msgid "Build Line Item" msgstr "" -#: build/serializers.py:837 +#: build/serializers.py:841 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:852 stock/serializers.py:1190 +#: build/serializers.py:856 stock/serializers.py:1256 msgid "Item must be in stock" msgstr "Item harus tersedia dalam stok" -#: build/serializers.py:900 order/serializers.py:1225 +#: build/serializers.py:904 order/serializers.py:1281 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Jumlah tersedia ({q}) terlampaui" -#: build/serializers.py:906 +#: build/serializers.py:910 msgid "Build output must be specified for allocation of tracked parts" msgstr "Hasil produksi harus ditentukan untuk mengalokasikan bagian yang terlacak" -#: build/serializers.py:913 +#: build/serializers.py:917 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:937 order/serializers.py:1477 +#: build/serializers.py:941 order/serializers.py:1533 msgid "Allocation items must be provided" msgstr "Item yang dialokasikan harus disediakan" -#: build/serializers.py:1000 +#: build/serializers.py:1004 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:1008 +#: build/serializers.py:1012 msgid "Exclude Location" msgstr "Lokasi tidak termasuk" -#: build/serializers.py:1009 +#: build/serializers.py:1013 msgid "Exclude stock items from this selected location" msgstr "Jangan ambil stok item dari lokasi yang dipilih" -#: build/serializers.py:1014 +#: build/serializers.py:1018 msgid "Interchangeable Stock" msgstr "Stok bergantian" -#: build/serializers.py:1015 +#: build/serializers.py:1019 msgid "Stock items in multiple locations can be used interchangeably" msgstr "Item stok di beberapa lokasi dapat digunakan secara bergantian" -#: build/serializers.py:1020 +#: build/serializers.py:1024 msgid "Substitute Stock" msgstr "Stok pengganti" -#: build/serializers.py:1021 +#: build/serializers.py:1025 msgid "Allow allocation of substitute parts" msgstr "Izinkan alokasi bagian pengganti" -#: build/serializers.py:1026 +#: build/serializers.py:1030 msgid "Optional Items" msgstr "" -#: build/serializers.py:1027 +#: build/serializers.py:1031 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1049 +#: build/serializers.py:1053 msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1139 part/models.py:3953 part/models.py:4387 -#: stock/api.py:804 +#: build/serializers.py:1095 +#, fuzzy +#| msgid "Serial Numbers" +msgid "Supplier Part Number" +msgstr "Nomor Seri" + +#: build/serializers.py:1096 company/models.py:500 +msgid "Manufacturer Part Number" +msgstr "" + +#: build/serializers.py:1097 stock/admin.py:53 stock/admin.py:175 +#: stock/serializers.py:454 +msgid "Location Name" +msgstr "" + +#: build/serializers.py:1098 +#, fuzzy +#| msgid "Build Order Reference" +msgid "Build Reference" +msgstr "Referensi Order Produksi" + +#: build/serializers.py:1099 +#, fuzzy +#| msgid "Reference" +msgid "BOM Reference" +msgstr "Referensi" + +#: build/serializers.py:1186 part/admin.py:402 part/models.py:3993 +msgid "Part IPN" +msgstr "" + +#: build/serializers.py:1192 common/models.py:1488 part/admin.py:113 +#: part/models.py:1068 templates/js/translated/table_filters.js:147 +#: templates/js/translated/table_filters.js:223 +#: templates/js/translated/table_filters.js:776 +msgid "Trackable" +msgstr "" + +#: build/serializers.py:1196 part/models.py:4000 part/models.py:4472 +#: stock/api.py:796 msgid "BOM Item" msgstr "Item tagihan material" -#: build/serializers.py:1148 templates/js/translated/index.js:130 +#: build/serializers.py:1205 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1153 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:828 part/serializers.py:1502 +#: build/serializers.py:1210 part/admin.py:132 part/bom.py:173 +#: part/serializers.py:856 part/serializers.py:1533 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2613 templates/js/translated/part.js:710 -#: templates/js/translated/part.js:2149 +#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709 +#: templates/js/translated/part.js:2152 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "" -#: build/serializers.py:1158 part/serializers.py:1504 -#: templates/js/translated/build.js:2617 +#: build/serializers.py:1215 part/serializers.py:1535 +#: templates/js/translated/build.js:2618 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1163 part/bom.py:172 part/serializers.py:1527 +#: build/serializers.py:1220 part/bom.py:172 part/serializers.py:1558 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" msgstr "" +#: build/serializers.py:1224 +#, fuzzy +#| msgid "Substitute Stock" +msgid "Available Substitute Stock" +msgstr "Stok pengganti" + +#: build/serializers.py:1225 +msgid "Available Variant Stock" +msgstr "" + +#: build/serializers.py:1226 +msgid "Total Available Stock" +msgstr "" + +#: build/serializers.py:1227 part/serializers.py:862 +msgid "External Stock" +msgstr "" + #: build/status_codes.py:11 generic/states/tests.py:17 order/status_codes.py:12 #: order/status_codes.py:37 order/status_codes.py:64 order/status_codes.py:82 #: templates/js/translated/table_filters.js:598 @@ -1519,7 +1593,8 @@ msgstr "Produksi" msgid "Cancelled" msgstr "Dibatalkan" -#: build/status_codes.py:14 generic/states/tests.py:19 order/status_codes.py:14 +#: build/status_codes.py:14 generic/states/tests.py:19 importer/models.py:468 +#: importer/status_codes.py:19 order/status_codes.py:14 #: order/status_codes.py:44 order/status_codes.py:69 #: order/templates/order/order_base.html:158 #: order/templates/order/sales_order_base.html:165 report/models.py:444 @@ -1652,11 +1727,12 @@ msgstr "" #: build/templates/build/build_base.html:160 #: build/templates/build/detail.html:138 order/models.py:309 -#: order/models.py:1307 order/templates/order/order_base.html:186 +#: order/models.py:1307 order/serializers.py:174 +#: order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: 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:1831 +#: templates/js/translated/build.js:2239 templates/js/translated/part.js:1834 #: templates/js/translated/purchase_order.js:1739 #: templates/js/translated/purchase_order.js:2147 #: templates/js/translated/return_order.js:346 @@ -1689,8 +1765,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1463 order/models.py:845 -#: order/models.py:1551 order/models.py:1665 order/models.py:1819 +#: build/templates/build/detail.html:101 order/api.py:1384 order/models.py:845 +#: order/models.py:1566 order/models.py:1681 order/models.py:1840 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 @@ -1740,7 +1816,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1443 +#: build/templates/build/detail.html:49 order/models.py:1448 #: templates/js/translated/purchase_order.js:2189 msgid "Destination" msgstr "" @@ -1892,31 +1968,31 @@ msgstr "" msgid "Incomplete Outputs" msgstr "" -#: common/api.py:689 +#: common/api.py:690 msgid "Is Link" msgstr "" -#: common/api.py:697 +#: common/api.py:698 msgid "Is File" msgstr "" -#: common/api.py:739 +#: common/api.py:740 msgid "User does not have permission to delete this attachment" msgstr "" -#: common/currency.py:130 +#: common/currency.py:132 msgid "Invalid currency code" msgstr "" -#: common/currency.py:132 +#: common/currency.py:134 msgid "Duplicate currency code" msgstr "" -#: common/currency.py:137 +#: common/currency.py:139 msgid "No valid currency codes provided" msgstr "" -#: common/currency.py:154 +#: common/currency.py:156 msgid "No plugin" msgstr "" @@ -1970,1635 +2046,1606 @@ msgstr "" msgid "Site URL is locked by configuration" msgstr "" -#: common/models.py:132 +#: common/models.py:137 msgid "Unique project code" msgstr "" -#: common/models.py:139 +#: common/models.py:144 msgid "Project description" msgstr "" -#: common/models.py:148 +#: common/models.py:153 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:765 +#: common/models.py:770 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:769 +#: common/models.py:774 msgid "Settings value" msgstr "" -#: common/models.py:821 +#: common/models.py:826 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:837 +#: common/models.py:842 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:845 +#: common/models.py:850 msgid "Value must be an integer value" msgstr "" -#: common/models.py:882 +#: common/models.py:887 msgid "Key string must be unique" msgstr "" -#: common/models.py:1114 +#: common/models.py:1119 msgid "No group" msgstr "" -#: common/models.py:1213 +#: common/models.py:1218 msgid "Restart required" msgstr "" -#: common/models.py:1215 +#: common/models.py:1220 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:1222 +#: common/models.py:1227 msgid "Pending migrations" msgstr "" -#: common/models.py:1223 +#: common/models.py:1228 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1228 +#: common/models.py:1233 msgid "Server Instance Name" msgstr "" -#: common/models.py:1230 +#: common/models.py:1235 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1234 +#: common/models.py:1239 msgid "Use instance name" msgstr "" -#: common/models.py:1235 +#: common/models.py:1240 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1240 +#: common/models.py:1245 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1241 +#: common/models.py:1246 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1246 company/models.py:111 company/models.py:112 +#: common/models.py:1251 company/models.py:111 company/models.py:112 msgid "Company name" msgstr "" -#: common/models.py:1247 +#: common/models.py:1252 msgid "Internal company name" msgstr "" -#: common/models.py:1251 +#: common/models.py:1256 msgid "Base URL" msgstr "" -#: common/models.py:1252 +#: common/models.py:1257 msgid "Base URL for server instance" msgstr "" -#: common/models.py:1258 +#: common/models.py:1263 msgid "Default Currency" msgstr "" -#: common/models.py:1259 +#: common/models.py:1264 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1265 +#: common/models.py:1270 msgid "Supported Currencies" msgstr "" -#: common/models.py:1266 +#: common/models.py:1271 msgid "List of supported currency codes" msgstr "" -#: common/models.py:1272 +#: common/models.py:1277 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1274 +#: common/models.py:1279 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1277 common/models.py:1333 common/models.py:1346 -#: common/models.py:1354 common/models.py:1363 common/models.py:1372 -#: common/models.py:1596 common/models.py:1618 common/models.py:1733 -#: common/models.py:2100 +#: common/models.py:1282 common/models.py:1338 common/models.py:1351 +#: common/models.py:1359 common/models.py:1368 common/models.py:1377 +#: common/models.py:1601 common/models.py:1623 common/models.py:1738 +#: common/models.py:2111 msgid "days" msgstr "" -#: common/models.py:1281 +#: common/models.py:1286 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1282 +#: common/models.py:1287 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1287 +#: common/models.py:1292 msgid "Download from URL" msgstr "" -#: common/models.py:1289 +#: common/models.py:1294 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:1295 +#: common/models.py:1300 msgid "Download Size Limit" msgstr "" -#: common/models.py:1296 +#: common/models.py:1301 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1302 +#: common/models.py:1307 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1304 +#: common/models.py:1309 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/models.py:1309 +#: common/models.py:1314 msgid "Strict URL Validation" msgstr "" -#: common/models.py:1310 +#: common/models.py:1315 msgid "Require schema specification when validating URLs" msgstr "" -#: common/models.py:1315 +#: common/models.py:1320 msgid "Require confirm" msgstr "" -#: common/models.py:1316 +#: common/models.py:1321 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:1321 +#: common/models.py:1326 msgid "Tree Depth" msgstr "" -#: common/models.py:1323 +#: common/models.py:1328 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1329 +#: common/models.py:1334 msgid "Update Check Interval" msgstr "" -#: common/models.py:1330 +#: common/models.py:1335 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:1336 +#: common/models.py:1341 msgid "Automatic Backup" msgstr "" -#: common/models.py:1337 +#: common/models.py:1342 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:1342 +#: common/models.py:1347 msgid "Auto Backup Interval" msgstr "" -#: common/models.py:1343 +#: common/models.py:1348 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1349 +#: common/models.py:1354 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1351 +#: common/models.py:1356 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1358 +#: common/models.py:1363 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1360 +#: common/models.py:1365 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1367 +#: common/models.py:1372 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1369 +#: common/models.py:1374 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1376 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1381 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "" -#: common/models.py:1377 +#: common/models.py:1382 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1382 +#: common/models.py:1387 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1383 +#: common/models.py:1388 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1389 +#: common/models.py:1394 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1390 +#: common/models.py:1395 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1395 +#: common/models.py:1400 msgid "Barcode Show Data" msgstr "" -#: common/models.py:1396 +#: common/models.py:1401 msgid "Display barcode data in browser as text" msgstr "" -#: common/models.py:1401 +#: common/models.py:1406 msgid "Part Revisions" msgstr "" -#: common/models.py:1402 +#: common/models.py:1407 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1407 +#: common/models.py:1412 msgid "Allow Deletion from Assembly" msgstr "" -#: common/models.py:1408 +#: common/models.py:1413 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/models.py:1413 +#: common/models.py:1418 msgid "IPN Regex" msgstr "" -#: common/models.py:1414 +#: common/models.py:1419 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1417 +#: common/models.py:1422 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1418 +#: common/models.py:1423 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1423 +#: common/models.py:1428 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1424 +#: common/models.py:1429 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1429 +#: common/models.py:1434 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1430 +#: common/models.py:1435 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1435 +#: common/models.py:1440 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1436 +#: common/models.py:1441 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1441 +#: common/models.py:1446 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1442 +#: common/models.py:1447 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1447 +#: common/models.py:1452 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1448 +#: common/models.py:1453 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1453 part/admin.py:108 part/models.py:3795 +#: common/models.py:1458 part/admin.py:108 part/models.py:3835 #: report/models.py:294 report/models.py:361 report/serializers.py:90 -#: report/serializers.py:131 stock/serializers.py:227 +#: report/serializers.py:131 stock/serializers.py:232 #: templates/js/translated/table_filters.js:139 -#: templates/js/translated/table_filters.js:767 +#: templates/js/translated/table_filters.js:772 msgid "Template" msgstr "" -#: common/models.py:1454 +#: common/models.py:1459 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1459 part/admin.py:91 part/admin.py:425 part/models.py:1052 +#: common/models.py:1464 part/admin.py:91 part/admin.py:425 part/models.py:1056 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 -#: templates/js/translated/table_filters.js:721 +#: templates/js/translated/table_filters.js:726 msgid "Assembly" msgstr "" -#: common/models.py:1460 +#: common/models.py:1465 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1465 part/admin.py:95 part/models.py:1058 -#: templates/js/translated/table_filters.js:729 +#: common/models.py:1470 part/admin.py:95 part/models.py:1062 +#: templates/js/translated/table_filters.js:734 msgid "Component" msgstr "" -#: common/models.py:1466 +#: common/models.py:1471 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1471 part/admin.py:100 part/models.py:1070 +#: common/models.py:1476 part/admin.py:100 part/models.py:1074 msgid "Purchaseable" msgstr "" -#: common/models.py:1472 +#: common/models.py:1477 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1477 part/admin.py:104 part/models.py:1076 -#: templates/js/translated/table_filters.js:755 +#: common/models.py:1482 part/admin.py:104 part/models.py:1080 +#: templates/js/translated/table_filters.js:760 msgid "Salable" msgstr "" -#: common/models.py:1478 +#: common/models.py:1483 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1483 part/admin.py:113 part/models.py:1064 -#: 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:1484 +#: common/models.py:1489 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1489 part/admin.py:117 part/models.py:1086 +#: common/models.py:1494 part/admin.py:117 part/models.py:1096 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 -#: templates/js/translated/table_filters.js:775 +#: templates/js/translated/table_filters.js:780 msgid "Virtual" msgstr "" -#: common/models.py:1490 +#: common/models.py:1495 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1495 +#: common/models.py:1500 msgid "Show Import in Views" msgstr "" -#: common/models.py:1496 +#: common/models.py:1501 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1501 +#: common/models.py:1506 msgid "Show related parts" msgstr "" -#: common/models.py:1502 +#: common/models.py:1507 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1507 +#: common/models.py:1512 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1508 +#: common/models.py:1513 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1513 templates/js/translated/part.js:107 +#: common/models.py:1518 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1515 +#: common/models.py:1520 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1521 +#: common/models.py:1526 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1522 +#: common/models.py:1527 msgid "Format to display the part name" msgstr "" -#: common/models.py:1528 +#: common/models.py:1533 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1529 +#: common/models.py:1534 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1533 +#: common/models.py:1538 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1535 +#: common/models.py:1540 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1541 +#: common/models.py:1546 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1543 +#: common/models.py:1548 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1554 +#: common/models.py:1559 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1556 +#: common/models.py:1561 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1567 +#: common/models.py:1572 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1569 +#: common/models.py:1574 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1575 +#: common/models.py:1580 msgid "Purchase History Override" msgstr "" -#: common/models.py:1577 +#: common/models.py:1582 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1583 +#: common/models.py:1588 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1585 +#: common/models.py:1590 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1591 +#: common/models.py:1596 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1593 +#: common/models.py:1598 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1600 +#: common/models.py:1605 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1601 +#: common/models.py:1606 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1606 +#: common/models.py:1611 msgid "Active Variants Only" msgstr "" -#: common/models.py:1608 +#: common/models.py:1613 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1614 +#: common/models.py:1619 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1616 +#: common/models.py:1621 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1623 +#: common/models.py:1628 msgid "Internal Prices" msgstr "" -#: common/models.py:1624 +#: common/models.py:1629 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1629 +#: common/models.py:1634 msgid "Internal Price Override" msgstr "" -#: common/models.py:1631 +#: common/models.py:1636 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1637 +#: common/models.py:1642 msgid "Enable label printing" msgstr "" -#: common/models.py:1638 +#: common/models.py:1643 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1643 +#: common/models.py:1648 msgid "Label Image DPI" msgstr "" -#: common/models.py:1645 +#: common/models.py:1650 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1651 +#: common/models.py:1656 msgid "Enable Reports" msgstr "" -#: common/models.py:1652 +#: common/models.py:1657 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1657 templates/stats.html:25 +#: common/models.py:1662 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1658 +#: common/models.py:1663 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1663 +#: common/models.py:1668 msgid "Log Report Errors" msgstr "" -#: common/models.py:1664 +#: common/models.py:1669 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1669 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1674 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:302 msgid "Page Size" msgstr "" -#: common/models.py:1670 +#: common/models.py:1675 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1675 +#: common/models.py:1680 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1676 +#: common/models.py:1681 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1681 +#: common/models.py:1686 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1683 +#: common/models.py:1688 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1689 +#: common/models.py:1694 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1690 +#: common/models.py:1695 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1695 +#: common/models.py:1700 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1696 +#: common/models.py:1701 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1701 +#: common/models.py:1706 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1703 +#: common/models.py:1708 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1709 +#: common/models.py:1714 msgid "Batch Code Template" msgstr "" -#: common/models.py:1711 +#: common/models.py:1716 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1716 +#: common/models.py:1721 msgid "Stock Expiry" msgstr "" -#: common/models.py:1717 +#: common/models.py:1722 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1722 +#: common/models.py:1727 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1723 +#: common/models.py:1728 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1728 +#: common/models.py:1733 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1730 +#: common/models.py:1735 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1737 +#: common/models.py:1742 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1738 +#: common/models.py:1743 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1743 +#: common/models.py:1748 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1744 +#: common/models.py:1749 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1749 +#: common/models.py:1754 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1750 +#: common/models.py:1755 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1754 +#: common/models.py:1759 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1755 +#: common/models.py:1760 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1760 +#: common/models.py:1765 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1762 +#: common/models.py:1767 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1768 +#: common/models.py:1773 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1770 +#: common/models.py:1775 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1776 +#: common/models.py:1781 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1778 +#: common/models.py:1783 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1784 common/models.py:1826 common/models.py:1848 -#: common/models.py:1884 +#: common/models.py:1789 common/models.py:1837 common/models.py:1859 +#: common/models.py:1895 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1785 common/models.py:1827 common/models.py:1849 -#: common/models.py:1885 +#: common/models.py:1790 common/models.py:1838 common/models.py:1860 +#: common/models.py:1896 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1790 +#: common/models.py:1795 msgid "Require Active Part" msgstr "" -#: common/models.py:1791 +#: common/models.py:1796 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/models.py:1796 +#: common/models.py:1801 +msgid "Require Locked Part" +msgstr "" + +#: common/models.py:1802 +#, fuzzy +#| msgid "Print build order report" +msgid "Prevent build order creation for unlocked parts" +msgstr "Cetak laporan order produksi" + +#: common/models.py:1807 msgid "Require Valid BOM" msgstr "" -#: common/models.py:1798 +#: common/models.py:1809 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/models.py:1804 +#: common/models.py:1815 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1806 +#: common/models.py:1817 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1812 +#: common/models.py:1823 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1813 +#: common/models.py:1824 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1818 +#: common/models.py:1829 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1820 +#: common/models.py:1831 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1832 +#: common/models.py:1843 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1834 +#: common/models.py:1845 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1840 +#: common/models.py:1851 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1842 +#: common/models.py:1853 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1854 +#: common/models.py:1865 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1855 +#: common/models.py:1866 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1860 +#: common/models.py:1871 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1862 +#: common/models.py:1873 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1868 +#: common/models.py:1879 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1870 +#: common/models.py:1881 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1876 +#: common/models.py:1887 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1878 +#: common/models.py:1889 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1890 +#: common/models.py:1901 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1892 +#: common/models.py:1903 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1898 +#: common/models.py:1909 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1900 +#: common/models.py:1911 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1907 +#: common/models.py:1918 msgid "Enable password forgot" msgstr "" -#: common/models.py:1908 +#: common/models.py:1919 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1913 +#: common/models.py:1924 msgid "Enable registration" msgstr "" -#: common/models.py:1914 +#: common/models.py:1925 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1919 +#: common/models.py:1930 msgid "Enable SSO" msgstr "" -#: common/models.py:1920 +#: common/models.py:1931 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1925 +#: common/models.py:1936 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1927 +#: common/models.py:1938 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1933 +#: common/models.py:1944 msgid "Enable SSO group sync" msgstr "" -#: common/models.py:1935 +#: common/models.py:1946 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/models.py:1941 +#: common/models.py:1952 msgid "SSO group key" msgstr "" -#: common/models.py:1943 +#: common/models.py:1954 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/models.py:1949 +#: common/models.py:1960 msgid "SSO group map" msgstr "" -#: common/models.py:1951 +#: common/models.py:1962 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/models.py:1957 +#: common/models.py:1968 msgid "Remove groups outside of SSO" msgstr "" -#: common/models.py:1959 +#: common/models.py:1970 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/models.py:1965 +#: common/models.py:1976 msgid "Email required" msgstr "Surel diperlukan" -#: common/models.py:1966 +#: common/models.py:1977 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1971 +#: common/models.py:1982 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1973 +#: common/models.py:1984 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1979 +#: common/models.py:1990 msgid "Mail twice" msgstr "" -#: common/models.py:1980 +#: common/models.py:1991 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1985 +#: common/models.py:1996 msgid "Password twice" msgstr "" -#: common/models.py:1986 +#: common/models.py:1997 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1991 +#: common/models.py:2002 msgid "Allowed domains" msgstr "" -#: common/models.py:1993 +#: common/models.py:2004 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1999 +#: common/models.py:2010 msgid "Group on signup" msgstr "" -#: common/models.py:2001 +#: common/models.py:2012 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/models.py:2007 +#: common/models.py:2018 msgid "Enforce MFA" msgstr "" -#: common/models.py:2008 +#: common/models.py:2019 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:2013 +#: common/models.py:2024 msgid "Check plugins on startup" msgstr "" -#: common/models.py:2015 +#: common/models.py:2026 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:2023 +#: common/models.py:2034 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2024 +#: common/models.py:2035 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2030 +#: common/models.py:2041 msgid "Enable URL integration" msgstr "" -#: common/models.py:2031 +#: common/models.py:2042 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:2037 +#: common/models.py:2048 msgid "Enable navigation integration" msgstr "" -#: common/models.py:2038 +#: common/models.py:2049 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2044 +#: common/models.py:2055 msgid "Enable app integration" msgstr "" -#: common/models.py:2045 +#: common/models.py:2056 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2051 +#: common/models.py:2062 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2052 +#: common/models.py:2063 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2058 +#: common/models.py:2069 msgid "Enable event integration" msgstr "" -#: common/models.py:2059 +#: common/models.py:2070 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2065 +#: common/models.py:2076 msgid "Enable project codes" msgstr "" -#: common/models.py:2066 +#: common/models.py:2077 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2071 +#: common/models.py:2082 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2073 +#: common/models.py:2084 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2079 +#: common/models.py:2090 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2081 +#: common/models.py:2092 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2087 +#: common/models.py:2098 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2089 +#: common/models.py:2100 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2095 +#: common/models.py:2106 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2097 +#: common/models.py:2108 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2104 +#: common/models.py:2115 msgid "Display Users full names" msgstr "" -#: common/models.py:2105 +#: common/models.py:2116 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2110 +#: common/models.py:2121 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2111 +#: common/models.py:2122 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2123 common/models.py:2533 +#: common/models.py:2134 common/models.py:2514 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2166 +#: common/models.py:2177 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2168 +#: common/models.py:2179 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2174 +#: common/models.py:2185 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2175 +#: common/models.py:2186 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2180 +#: common/models.py:2191 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2181 +#: common/models.py:2192 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2186 +#: common/models.py:2197 msgid "Show latest parts" msgstr "" -#: common/models.py:2187 +#: common/models.py:2198 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2192 +#: common/models.py:2203 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2193 +#: common/models.py:2204 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2198 +#: common/models.py:2209 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2199 +#: common/models.py:2210 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2204 +#: common/models.py:2215 msgid "Show low stock" msgstr "" -#: common/models.py:2205 +#: common/models.py:2216 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2210 +#: common/models.py:2221 msgid "Show depleted stock" msgstr "" -#: common/models.py:2211 +#: common/models.py:2222 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2216 +#: common/models.py:2227 msgid "Show needed stock" msgstr "" -#: common/models.py:2217 +#: common/models.py:2228 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2222 +#: common/models.py:2233 msgid "Show expired stock" msgstr "" -#: common/models.py:2223 +#: common/models.py:2234 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2228 +#: common/models.py:2239 msgid "Show stale stock" msgstr "" -#: common/models.py:2229 +#: common/models.py:2240 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2234 +#: common/models.py:2245 msgid "Show pending builds" msgstr "" -#: common/models.py:2235 +#: common/models.py:2246 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2240 +#: common/models.py:2251 msgid "Show overdue builds" msgstr "" -#: common/models.py:2241 +#: common/models.py:2252 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2246 +#: common/models.py:2257 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2247 +#: common/models.py:2258 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2252 +#: common/models.py:2263 msgid "Show overdue POs" msgstr "" -#: common/models.py:2253 +#: common/models.py:2264 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2258 +#: common/models.py:2269 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2259 +#: common/models.py:2270 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2264 +#: common/models.py:2275 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2265 +#: common/models.py:2276 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2270 +#: common/models.py:2281 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2271 +#: common/models.py:2282 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2276 +#: common/models.py:2287 msgid "Show News" msgstr "" -#: common/models.py:2277 +#: common/models.py:2288 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2282 +#: common/models.py:2293 msgid "Inline label display" msgstr "" -#: common/models.py:2284 +#: common/models.py:2295 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2290 +#: common/models.py:2301 msgid "Default label printer" msgstr "" -#: common/models.py:2292 +#: common/models.py:2303 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2298 +#: common/models.py:2309 msgid "Inline report display" msgstr "" -#: common/models.py:2300 +#: common/models.py:2311 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2306 +#: common/models.py:2317 msgid "Search Parts" msgstr "" -#: common/models.py:2307 +#: common/models.py:2318 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2312 +#: common/models.py:2323 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2313 +#: common/models.py:2324 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2318 +#: common/models.py:2329 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2319 +#: common/models.py:2330 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2324 +#: common/models.py:2335 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2325 +#: common/models.py:2336 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2330 +#: common/models.py:2341 msgid "Search Categories" msgstr "" -#: common/models.py:2331 +#: common/models.py:2342 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2336 +#: common/models.py:2347 msgid "Search Stock" msgstr "" -#: common/models.py:2337 +#: common/models.py:2348 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2342 +#: common/models.py:2353 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2344 +#: common/models.py:2355 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2350 +#: common/models.py:2361 msgid "Search Locations" msgstr "" -#: common/models.py:2351 +#: common/models.py:2362 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2356 +#: common/models.py:2367 msgid "Search Companies" msgstr "" -#: common/models.py:2357 +#: common/models.py:2368 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2362 +#: common/models.py:2373 msgid "Search Build Orders" msgstr "" -#: common/models.py:2363 +#: common/models.py:2374 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2368 +#: common/models.py:2379 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2369 +#: common/models.py:2380 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2374 +#: common/models.py:2385 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2376 +#: common/models.py:2387 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2382 +#: common/models.py:2393 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2383 +#: common/models.py:2394 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2388 +#: common/models.py:2399 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2390 +#: common/models.py:2401 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2396 +#: common/models.py:2407 msgid "Search Return Orders" msgstr "" -#: common/models.py:2397 +#: common/models.py:2408 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2402 +#: common/models.py:2413 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2404 +#: common/models.py:2415 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2410 +#: common/models.py:2421 msgid "Search Preview Results" msgstr "" -#: common/models.py:2412 +#: common/models.py:2423 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2418 +#: common/models.py:2429 msgid "Regex Search" msgstr "" -#: common/models.py:2419 +#: common/models.py:2430 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2424 +#: common/models.py:2435 msgid "Whole Word Search" msgstr "" -#: common/models.py:2425 +#: common/models.py:2436 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2430 +#: common/models.py:2441 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2431 +#: common/models.py:2442 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2436 +#: common/models.py:2447 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2437 +#: common/models.py:2448 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2442 +#: common/models.py:2453 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2443 +#: common/models.py:2454 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2448 +#: common/models.py:2459 msgid "Date Format" msgstr "" -#: common/models.py:2449 +#: common/models.py:2460 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2462 part/templates/part/detail.html:41 +#: common/models.py:2473 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2463 +#: common/models.py:2474 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2468 part/templates/part/detail.html:62 +#: common/models.py:2479 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2470 +#: common/models.py:2481 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2476 +#: common/models.py:2487 msgid "Table String Length" msgstr "" -#: common/models.py:2478 +#: common/models.py:2489 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2484 -msgid "Default part label template" -msgstr "" - -#: common/models.py:2485 -msgid "The part label template to be automatically selected" -msgstr "" - -#: common/models.py:2490 -msgid "Default stock item template" -msgstr "" - -#: common/models.py:2492 -msgid "The stock item label template to be automatically selected" -msgstr "" - -#: common/models.py:2498 -msgid "Default stock location label template" -msgstr "" - -#: common/models.py:2500 -msgid "The stock location label template to be automatically selected" -msgstr "" - -#: common/models.py:2506 -msgid "Default build line label template" -msgstr "" - -#: common/models.py:2508 -msgid "The build line label template to be automatically selected" -msgstr "" - -#: common/models.py:2514 +#: common/models.py:2495 msgid "Receive error reports" msgstr "" -#: common/models.py:2515 +#: common/models.py:2496 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2520 +#: common/models.py:2501 msgid "Last used printing machines" msgstr "" -#: common/models.py:2521 +#: common/models.py:2502 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2541 common/models.py:2542 common/models.py:2691 -#: common/models.py:2692 common/models.py:2937 common/models.py:2938 -#: common/models.py:3259 common/models.py:3260 part/models.py:3193 -#: part/models.py:3280 part/models.py:3353 part/models.py:3381 -#: plugin/models.py:274 plugin/models.py:275 +#: common/models.py:2522 common/models.py:2523 common/models.py:2672 +#: common/models.py:2673 common/models.py:2918 common/models.py:2919 +#: common/models.py:3245 common/models.py:3246 importer/models.py:85 +#: part/models.py:3203 part/models.py:3290 part/models.py:3364 +#: part/models.py:3392 plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 msgid "User" msgstr "Pengguna" -#: common/models.py:2564 +#: common/models.py:2545 msgid "Price break quantity" msgstr "" -#: common/models.py:2571 company/serializers.py:472 order/admin.py:42 -#: order/models.py:1346 order/models.py:2265 -#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1886 +#: common/models.py:2552 company/serializers.py:502 order/admin.py:42 +#: order/models.py:1346 order/models.py:2292 +#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1889 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:740 msgid "Price" msgstr "" -#: common/models.py:2572 +#: common/models.py:2553 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2668 common/models.py:2853 +#: common/models.py:2649 common/models.py:2834 msgid "Endpoint" msgstr "" -#: common/models.py:2669 +#: common/models.py:2650 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2679 +#: common/models.py:2660 msgid "Name for this webhook" msgstr "" -#: common/models.py:2683 +#: common/models.py:2664 msgid "Is this webhook active" msgstr "" -#: common/models.py:2699 users/models.py:159 +#: common/models.py:2680 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2700 +#: common/models.py:2681 msgid "Token for access" msgstr "" -#: common/models.py:2708 +#: common/models.py:2689 msgid "Secret" msgstr "" -#: common/models.py:2709 +#: common/models.py:2690 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2817 +#: common/models.py:2798 msgid "Message ID" msgstr "" -#: common/models.py:2818 +#: common/models.py:2799 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2826 +#: common/models.py:2807 msgid "Host" msgstr "" -#: common/models.py:2827 +#: common/models.py:2808 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2835 +#: common/models.py:2816 msgid "Header" msgstr "" -#: common/models.py:2836 +#: common/models.py:2817 msgid "Header of this message" msgstr "" -#: common/models.py:2843 +#: common/models.py:2824 msgid "Body" msgstr "" -#: common/models.py:2844 +#: common/models.py:2825 msgid "Body of this message" msgstr "" -#: common/models.py:2854 +#: common/models.py:2835 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2859 +#: common/models.py:2840 msgid "Worked on" msgstr "" -#: common/models.py:2860 +#: common/models.py:2841 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2986 +#: common/models.py:2967 msgid "Id" msgstr "" -#: common/models.py:2988 templates/js/translated/company.js:965 +#: common/models.py:2969 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2990 common/models.py:3243 company/models.py:149 -#: company/models.py:440 company/models.py:500 company/models.py:799 -#: order/models.py:303 order/models.py:1301 order/models.py:1717 -#: part/admin.py:55 part/models.py:955 +#: common/models.py:2971 common/models.py:3229 company/models.py:149 +#: company/models.py:446 company/models.py:506 company/models.py:806 +#: order/models.py:303 order/models.py:1301 order/models.py:1733 +#: part/admin.py:55 part/models.py:959 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:229 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/part.js:2459 #: templates/js/translated/purchase_order.js:2040 #: templates/js/translated/purchase_order.js:2204 #: templates/js/translated/return_order.js:779 @@ -3607,28 +3654,28 @@ msgstr "" msgid "Link" msgstr "Tautan" -#: common/models.py:2992 templates/js/translated/news.js:60 +#: common/models.py:2973 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2994 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2975 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:2996 templates/js/translated/news.js:52 +#: common/models.py:2977 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2999 +#: common/models.py:2980 msgid "Read" msgstr "" -#: common/models.py:2999 +#: common/models.py:2980 msgid "Was this news item read?" msgstr "" -#: common/models.py:3016 company/models.py:159 part/models.py:965 +#: common/models.py:2997 company/models.py:159 part/models.py:969 #: 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.html:35 @@ -3638,90 +3685,94 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:3016 +#: common/models.py:2997 msgid "Image file" msgstr "" -#: common/models.py:3028 common/models.py:3227 +#: common/models.py:3009 common/models.py:3213 msgid "Target model type for this image" msgstr "" -#: common/models.py:3032 +#: common/models.py:3013 msgid "Target model ID for this image" msgstr "" -#: common/models.py:3070 +#: common/models.py:3035 +msgid "Custom Unit" +msgstr "" + +#: common/models.py:3056 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:3085 +#: common/models.py:3071 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3104 +#: common/models.py:3090 msgid "Unit name" msgstr "" -#: common/models.py:3111 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3097 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3112 +#: common/models.py:3098 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3118 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3104 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3119 +#: common/models.py:3105 msgid "Unit definition" msgstr "" -#: common/models.py:3177 common/models.py:3234 stock/models.py:2461 +#: common/models.py:3163 common/models.py:3220 stock/models.py:2471 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" msgstr "Lampiran" -#: common/models.py:3189 +#: common/models.py:3175 msgid "Missing file" msgstr "File tidak ditemukan" -#: common/models.py:3190 +#: common/models.py:3176 msgid "Missing external link" msgstr "Tautan eksternal tidak ditemukan" -#: common/models.py:3235 +#: common/models.py:3221 msgid "Select file to attach" msgstr "Pilih file untuk dilampirkan" -#: common/models.py:3250 templates/js/translated/attachment.js:120 +#: common/models.py:3236 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" msgstr "Komentar" -#: common/models.py:3251 +#: common/models.py:3237 msgid "Attachment comment" msgstr "" -#: common/models.py:3267 +#: common/models.py:3253 msgid "Upload date" msgstr "" -#: common/models.py:3268 +#: common/models.py:3254 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:3272 +#: common/models.py:3258 msgid "File size" msgstr "" -#: common/models.py:3272 +#: common/models.py:3258 msgid "File size in bytes" msgstr "" -#: common/models.py:3310 common/serializers.py:553 +#: common/models.py:3296 common/serializers.py:557 msgid "Invalid model type specified for attachment" msgstr "" @@ -3743,7 +3794,7 @@ msgstr "" msgid "A order that is assigned to you was canceled" msgstr "" -#: common/notifications.py:330 common/notifications.py:337 order/api.py:472 +#: common/notifications.py:330 common/notifications.py:337 order/api.py:454 msgid "Items Received" msgstr "" @@ -3759,75 +3810,75 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:371 +#: common/serializers.py:375 msgid "Is Running" msgstr "" -#: common/serializers.py:377 +#: common/serializers.py:381 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:383 +#: common/serializers.py:387 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:389 +#: common/serializers.py:393 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:404 +#: common/serializers.py:408 msgid "Task ID" msgstr "" -#: common/serializers.py:404 +#: common/serializers.py:408 msgid "Unique task ID" msgstr "" -#: common/serializers.py:406 +#: common/serializers.py:410 msgid "Lock" msgstr "" -#: common/serializers.py:406 +#: common/serializers.py:410 msgid "Lock time" msgstr "" -#: common/serializers.py:408 +#: common/serializers.py:412 msgid "Task name" msgstr "" -#: common/serializers.py:410 +#: common/serializers.py:414 msgid "Function" msgstr "" -#: common/serializers.py:410 +#: common/serializers.py:414 msgid "Function name" msgstr "" -#: common/serializers.py:412 +#: common/serializers.py:416 msgid "Arguments" msgstr "" -#: common/serializers.py:412 +#: common/serializers.py:416 msgid "Task arguments" msgstr "" -#: common/serializers.py:415 +#: common/serializers.py:419 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:415 +#: common/serializers.py:419 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:525 +#: common/serializers.py:529 msgid "Filename" msgstr "Nama File" -#: common/serializers.py:532 report/api.py:100 report/serializers.py:53 +#: common/serializers.py:536 report/api.py:100 report/serializers.py:53 msgid "Model Type" msgstr "" -#: common/serializers.py:559 +#: common/serializers.py:563 msgid "User does not have permission to create or edit attachments for this model" msgstr "" @@ -3894,29 +3945,29 @@ msgstr "" msgid "Previous Step" msgstr "" -#: company/api.py:144 +#: company/api.py:141 msgid "Part is Active" msgstr "" -#: company/api.py:148 +#: company/api.py:145 msgid "Manufacturer is Active" msgstr "" -#: company/api.py:281 +#: company/api.py:278 msgid "Supplier Part is Active" msgstr "" -#: company/api.py:285 +#: company/api.py:282 msgid "Internal Part is Active" msgstr "" -#: company/api.py:289 +#: company/api.py:286 msgid "Supplier is Active" msgstr "" -#: company/models.py:100 company/models.py:365 +#: company/models.py:100 company/models.py:371 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:822 +#: company/templates/company/company_base.html:12 stock/api.py:814 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "" @@ -3956,8 +4007,9 @@ msgstr "" msgid "Contact email address" msgstr "" -#: company/models.py:142 company/templates/company/company_base.html:145 -#: order/models.py:343 order/templates/order/order_base.html:203 +#: company/models.py:142 company/models.py:275 +#: company/templates/company/company_base.html:145 order/models.py:343 +#: order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 #: order/templates/order/sales_order_base.html:218 msgid "Contact" @@ -3976,15 +4028,17 @@ msgid "Is this company active?" msgstr "" #: company/models.py:168 -msgid "is customer" -msgstr "" +#, fuzzy +#| msgid "Sent to customer" +msgid "Is customer" +msgstr "Terkirim ke pelanggan" #: company/models.py:169 msgid "Do you sell items to this company?" msgstr "" #: company/models.py:174 -msgid "is supplier" +msgid "Is supplier" msgstr "" #: company/models.py:175 @@ -3992,7 +4046,7 @@ msgid "Do you purchase items from this company?" msgstr "" #: company/models.py:180 -msgid "is manufacturer" +msgid "Is manufacturer" msgstr "" #: company/models.py:181 @@ -4003,178 +4057,189 @@ msgstr "" msgid "Default currency used for this company" msgstr "" -#: company/models.py:366 +#: company/models.py:314 company/templates/company/company_base.html:124 +#: order/models.py:353 order/templates/order/order_base.html:210 +#: order/templates/order/return_order_base.html:181 +#: order/templates/order/sales_order_base.html:225 +msgid "Address" +msgstr "" + +#: company/models.py:315 company/templates/company/sidebar.html:35 +msgid "Addresses" +msgstr "" + +#: company/models.py:372 msgid "Select company" msgstr "" -#: company/models.py:371 +#: company/models.py:377 msgid "Address title" msgstr "" -#: company/models.py:372 +#: company/models.py:378 msgid "Title describing the address entry" msgstr "" -#: company/models.py:378 +#: company/models.py:384 msgid "Primary address" msgstr "" -#: company/models.py:379 +#: company/models.py:385 msgid "Set as primary address" msgstr "" -#: company/models.py:384 templates/js/translated/company.js:914 +#: company/models.py:390 templates/js/translated/company.js:914 #: templates/js/translated/company.js:971 msgid "Line 1" msgstr "" -#: company/models.py:385 +#: company/models.py:391 msgid "Address line 1" msgstr "" -#: company/models.py:391 templates/js/translated/company.js:915 +#: company/models.py:397 templates/js/translated/company.js:915 #: templates/js/translated/company.js:977 msgid "Line 2" msgstr "" -#: company/models.py:392 +#: company/models.py:398 msgid "Address line 2" msgstr "" -#: company/models.py:398 company/models.py:399 +#: company/models.py:404 company/models.py:405 #: templates/js/translated/company.js:983 msgid "Postal code" msgstr "" -#: company/models.py:405 +#: company/models.py:411 msgid "City/Region" msgstr "" -#: company/models.py:406 +#: company/models.py:412 msgid "Postal code city/region" msgstr "" -#: company/models.py:412 +#: company/models.py:418 msgid "State/Province" msgstr "" -#: company/models.py:413 +#: company/models.py:419 msgid "State or province" msgstr "" -#: company/models.py:419 templates/js/translated/company.js:1001 +#: company/models.py:425 templates/js/translated/company.js:1001 msgid "Country" msgstr "" -#: company/models.py:420 +#: company/models.py:426 msgid "Address country" msgstr "" -#: company/models.py:426 +#: company/models.py:432 msgid "Courier shipping notes" msgstr "" -#: company/models.py:427 +#: company/models.py:433 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:433 +#: company/models.py:439 msgid "Internal shipping notes" msgstr "" -#: company/models.py:434 +#: company/models.py:440 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:441 +#: company/models.py:447 msgid "Link to address information (external)" msgstr "" -#: company/models.py:463 company/models.py:574 company/models.py:792 +#: company/models.py:469 company/models.py:581 company/models.py:799 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:217 msgid "Manufacturer Part" msgstr "" -#: company/models.py:475 company/models.py:760 stock/models.py:767 -#: stock/serializers.py:422 stock/templates/stock/item_base.html:142 +#: company/models.py:481 company/models.py:767 stock/models.py:767 +#: stock/serializers.py:442 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" -#: company/models.py:477 company/models.py:762 +#: company/models.py:483 company/models.py:769 msgid "Select part" msgstr "" -#: company/models.py:486 company/templates/company/company_base.html:82 +#: company/models.py:492 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:525 +#: company/templates/company/supplier_part.html:145 part/serializers.py:543 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 #: templates/js/translated/company.js:1296 #: templates/js/translated/company.js:1611 -#: templates/js/translated/table_filters.js:800 +#: templates/js/translated/table_filters.js:805 msgid "Manufacturer" msgstr "" -#: company/models.py:487 +#: company/models.py:493 msgid "Select manufacturer" msgstr "" -#: company/models.py:493 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:535 -#: templates/js/translated/company.js:351 +#: company/models.py:499 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:153 order/serializers.py:518 +#: part/serializers.py:553 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:1801 +#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1804 #: templates/js/translated/purchase_order.js:1851 #: templates/js/translated/purchase_order.js:2053 msgid "MPN" msgstr "" -#: company/models.py:494 -msgid "Manufacturer Part Number" -msgstr "" - -#: company/models.py:501 +#: company/models.py:507 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:510 +#: company/models.py:516 msgid "Manufacturer part description" msgstr "" -#: company/models.py:581 +#: company/models.py:569 +msgid "Manufacturer Part Parameter" +msgstr "" + +#: company/models.py:588 msgid "Parameter name" msgstr "" -#: company/models.py:587 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2453 templates/js/translated/company.js:1166 -#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1493 +#: company/models.py:594 report/templates/report/inventree_test_report.html:104 +#: stock/models.py:2463 templates/js/translated/company.js:1166 +#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1496 #: templates/js/translated/stock.js:1522 msgid "Value" msgstr "" -#: company/models.py:588 +#: company/models.py:595 msgid "Parameter value" msgstr "" -#: company/models.py:595 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1045 part/models.py:3646 +#: company/models.py:602 company/templates/company/supplier_part.html:168 +#: part/admin.py:57 part/models.py:1049 part/models.py:3667 #: part/templates/part/part_base.html:284 -#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1512 -#: templates/js/translated/part.js:1616 templates/js/translated/part.js:2370 +#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1515 +#: templates/js/translated/part.js:1619 templates/js/translated/part.js:2373 msgid "Units" msgstr "" -#: company/models.py:596 +#: company/models.py:603 msgid "Parameter units" msgstr "" -#: company/models.py:648 company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 order/api.py:452 +#: company/models.py:655 company/templates/company/supplier_part.html:7 +#: company/templates/company/supplier_part.html:24 order/api.py:434 #: stock/models.py:778 stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 @@ -4182,91 +4247,91 @@ msgstr "" msgid "Supplier Part" msgstr "" -#: company/models.py:700 +#: company/models.py:707 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:707 +#: company/models.py:714 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:721 +#: company/models.py:728 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:770 company/templates/company/company_base.html:87 +#: company/models.py:777 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:509 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:527 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 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:511 -#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1769 +#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1772 #: templates/js/translated/pricing.js:498 #: templates/js/translated/purchase_order.js:1689 -#: templates/js/translated/table_filters.js:804 +#: templates/js/translated/table_filters.js:809 msgid "Supplier" msgstr "" -#: company/models.py:771 +#: company/models.py:778 msgid "Select supplier" msgstr "" -#: company/models.py:777 part/serializers.py:520 +#: company/models.py:784 part/serializers.py:538 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:783 +#: company/models.py:790 msgid "Is this supplier part active?" msgstr "" -#: company/models.py:793 +#: company/models.py:800 msgid "Select manufacturer part" msgstr "" -#: company/models.py:800 +#: company/models.py:807 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:809 +#: company/models.py:816 msgid "Supplier part description" msgstr "" -#: company/models.py:816 company/templates/company/supplier_part.html:187 -#: part/admin.py:412 part/models.py:4093 part/templates/part/upload_bom.html:59 +#: company/models.py:823 company/templates/company/supplier_part.html:187 +#: part/admin.py:412 part/models.py:4178 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: 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:710 +#: stock/serializers.py:768 msgid "Note" msgstr "" -#: company/models.py:825 part/models.py:2003 +#: company/models.py:832 part/models.py:2013 msgid "base cost" msgstr "" -#: company/models.py:826 part/models.py:2004 +#: company/models.py:833 part/models.py:2014 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:833 company/templates/company/supplier_part.html:160 -#: stock/admin.py:228 stock/models.py:798 stock/serializers.py:1475 +#: company/models.py:840 company/templates/company/supplier_part.html:160 +#: stock/admin.py:228 stock/models.py:798 stock/serializers.py:1541 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 msgid "Packaging" msgstr "" -#: company/models.py:834 +#: company/models.py:841 msgid "Part packaging" msgstr "" -#: company/models.py:839 templates/js/translated/company.js:1651 -#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 +#: company/models.py:846 templates/js/translated/company.js:1651 +#: templates/js/translated/part.js:1825 templates/js/translated/part.js:1881 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 #: templates/js/translated/purchase_order.js:1103 @@ -4275,35 +4340,43 @@ msgstr "" msgid "Pack Quantity" msgstr "" -#: company/models.py:841 +#: company/models.py:848 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:860 part/models.py:2010 +#: company/models.py:867 part/models.py:2020 msgid "multiple" msgstr "" -#: company/models.py:861 +#: company/models.py:868 msgid "Order multiple" msgstr "" -#: company/models.py:873 +#: company/models.py:880 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:879 +#: company/models.py:886 msgid "Availability Updated" msgstr "" -#: company/models.py:880 +#: company/models.py:887 msgid "Date of last update of availability data" msgstr "" -#: company/serializers.py:161 +#: company/models.py:1015 +msgid "Supplier Price Break" +msgstr "" + +#: company/serializers.py:174 msgid "Default currency used for this supplier" msgstr "" -#: company/serializers.py:357 part/admin.py:126 +#: company/serializers.py:210 +msgid "Company Name" +msgstr "" + +#: company/serializers.py:384 part/admin.py:126 part/serializers.py:855 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:355 @@ -4315,7 +4388,7 @@ msgstr "" #: templates/js/translated/company.js:1287 #: templates/js/translated/company.js:1575 #: templates/js/translated/model_renderers.js:312 -#: templates/js/translated/part.js:815 templates/js/translated/part.js:1219 +#: templates/js/translated/part.js:814 templates/js/translated/part.js:1222 msgid "Inactive" msgstr "" @@ -4374,16 +4447,16 @@ msgid "Delete image" msgstr "" #: company/templates/company/company_base.html:92 order/models.py:938 -#: order/models.py:2032 order/templates/order/return_order_base.html:131 +#: order/models.py:2058 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:148 stock/models.py:820 -#: stock/models.py:821 stock/serializers.py:1225 +#: stock/models.py:821 stock/serializers.py:1291 #: 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:295 #: templates/js/translated/sales_order.js:820 #: templates/js/translated/stock.js:2959 -#: templates/js/translated/table_filters.js:808 +#: templates/js/translated/table_filters.js:813 msgid "Customer" msgstr "" @@ -4391,13 +4464,6 @@ msgstr "" msgid "Uses default currency" msgstr "" -#: company/templates/company/company_base.html:124 order/models.py:353 -#: order/templates/order/order_base.html:210 -#: order/templates/order/return_order_base.html:181 -#: order/templates/order/sales_order_base.html:225 -msgid "Address" -msgstr "" - #: company/templates/company/company_base.html:131 msgid "Phone" msgstr "" @@ -4577,7 +4643,8 @@ msgid "Delete manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:65 -#: company/templates/company/supplier_part.html:97 order/api.py:458 +#: company/templates/company/supplier_part.html:97 order/api.py:440 +#: order/serializers.py:526 msgid "Internal Part" msgstr "" @@ -4587,7 +4654,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:832 +#: part/admin.py:122 part/serializers.py:860 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4608,7 +4675,7 @@ msgid "New Parameter" msgstr "" #: company/templates/company/manufacturer_part.html:196 -#: templates/js/translated/part.js:1423 +#: templates/js/translated/part.js:1426 msgid "Add Parameter" msgstr "" @@ -4632,10 +4699,6 @@ msgstr "" msgid "Contacts" msgstr "" -#: company/templates/company/sidebar.html:35 -msgid "Addresses" -msgstr "" - #: company/templates/company/supplier_part.html:50 #: templates/js/translated/company.js:1526 msgid "Supplier part actions" @@ -4659,117 +4722,287 @@ msgstr "" msgid "Edit Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:68 -#: company/templates/company/supplier_part.html:69 -#: templates/js/translated/company.js:269 -msgid "Duplicate Supplier Part" +#: company/templates/company/supplier_part.html:68 +#: company/templates/company/supplier_part.html:69 +#: templates/js/translated/company.js:269 +msgid "Duplicate Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:73 +msgid "Delete Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:74 +msgid "Delete Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:133 +msgid "No supplier information available" +msgstr "" + +#: company/templates/company/supplier_part.html:139 order/serializers.py:515 +#: part/bom.py:279 part/bom.py:311 part/serializers.py:537 +#: templates/js/translated/company.js:349 templates/js/translated/part.js:1790 +#: templates/js/translated/pricing.js:510 +#: templates/js/translated/purchase_order.js:1850 +#: templates/js/translated/purchase_order.js:2028 +msgid "SKU" +msgstr "" + +#: company/templates/company/supplier_part.html:206 +msgid "Supplier Part Stock" +msgstr "" + +#: company/templates/company/supplier_part.html:209 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:207 +msgid "Create new stock item" +msgstr "" + +#: company/templates/company/supplier_part.html:210 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:208 +#: templates/js/translated/stock.js:537 +msgid "New Stock Item" +msgstr "" + +#: company/templates/company/supplier_part.html:223 +msgid "Supplier Part Orders" +msgstr "" + +#: company/templates/company/supplier_part.html:246 +msgid "Pricing Information" +msgstr "" + +#: company/templates/company/supplier_part.html:251 +#: templates/js/translated/company.js:398 +#: templates/js/translated/pricing.js:684 +msgid "Add Price Break" +msgstr "" + +#: company/templates/company/supplier_part.html:276 +msgid "Supplier Part QR Code" +msgstr "" + +#: company/templates/company/supplier_part.html:287 +msgid "Link Barcode to Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:359 +msgid "Update Part Availability" +msgstr "" + +#: company/templates/company/supplier_part_sidebar.html:5 +#: part/serializers.py:859 part/stocktake.py:224 +#: part/templates/part/category.html:183 +#: part/templates/part/category_sidebar.html:17 stock/admin.py:68 +#: stock/serializers.py:976 stock/serializers.py:1154 +#: stock/templates/stock/location.html:170 +#: 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:1064 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 +#: users/models.py:206 +msgid "Stock Items" +msgstr "" + +#: company/templates/company/supplier_part_sidebar.html:9 +msgid "Supplier Part Pricing" +msgstr "" + +#: company/views.py:32 +msgid "New Supplier" +msgstr "" + +#: company/views.py:38 +msgid "New Manufacturer" +msgstr "" + +#: company/views.py:43 templates/InvenTree/search.html:210 +#: templates/navbar.html:60 +msgid "Customers" +msgstr "" + +#: company/views.py:44 +msgid "New Customer" +msgstr "" + +#: company/views.py:52 +msgid "New Company" +msgstr "" + +#: generic/states/tests.py:18 order/status_codes.py:13 +msgid "Placed" +msgstr "Diletakkan" + +#: importer/mixins.py:263 +#, fuzzy +#| msgid "Invalid value for overage" +msgid "Invalid export format" +msgstr "Nilai kelebihan tidak valid" + +#: importer/models.py:56 +msgid "Timestamp" +msgstr "" + +#: importer/models.py:61 +msgid "Data file to import" +msgstr "" + +#: importer/models.py:70 templates/js/translated/tables.js:558 +msgid "Columns" +msgstr "" + +#: importer/models.py:81 +msgid "Import status" +msgstr "" + +#: importer/models.py:91 +msgid "Field Defaults" +msgstr "" + +#: importer/models.py:201 +#, fuzzy +#| msgid "Required build quantity has not been completed" +msgid "Some required fields have not been mapped" +msgstr "Jumlah produksi yang diperlukan masih belum cukup" + +#: importer/models.py:346 +msgid "Column is already mapped to a database field" +msgstr "" + +#: importer/models.py:351 +msgid "Field is already mapped to a data column" +msgstr "" + +#: importer/models.py:360 +msgid "Column mapping must be linked to a valid import session" +msgstr "" + +#: importer/models.py:365 +msgid "Column does not exist in the data file" +msgstr "" + +#: importer/models.py:372 +#, fuzzy +#| msgid "User does not have permission to view this model" +msgid "Field does not exist in the target model" +msgstr "Pengguna tidak memiliki izin untuk melihat model ini" + +#: importer/models.py:376 +msgid "Selected field is read-only" +msgstr "" + +#: importer/models.py:381 importer/models.py:452 +msgid "Import Session" msgstr "" -#: company/templates/company/supplier_part.html:73 -msgid "Delete Supplier Part" +#: importer/models.py:385 +msgid "Field" msgstr "" -#: company/templates/company/supplier_part.html:74 -msgid "Delete Supplier Part" +#: importer/models.py:387 +msgid "Column" msgstr "" -#: company/templates/company/supplier_part.html:133 -msgid "No supplier information available" +#: importer/models.py:456 +msgid "Row Index" msgstr "" -#: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:519 -#: templates/js/translated/company.js:349 templates/js/translated/part.js:1787 -#: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1850 -#: templates/js/translated/purchase_order.js:2028 -msgid "SKU" +#: importer/models.py:459 +msgid "Original row data" msgstr "" -#: company/templates/company/supplier_part.html:206 -msgid "Supplier Part Stock" +#: importer/models.py:462 part/models.py:3841 +msgid "Data" msgstr "" -#: company/templates/company/supplier_part.html:209 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:207 -msgid "Create new stock item" +#: importer/models.py:464 machine/models.py:110 +msgid "Errors" msgstr "" -#: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:208 -#: templates/js/translated/stock.js:537 -msgid "New Stock Item" +#: importer/models.py:466 part/api.py:874 +msgid "Valid" msgstr "" -#: company/templates/company/supplier_part.html:223 -msgid "Supplier Part Orders" +#: importer/operations.py:28 importer/operations.py:49 +#, fuzzy +#| msgid "Unsupported file type" +msgid "Unsupported data file format" +msgstr "Jenis file tidak didukung" + +#: importer/operations.py:40 +msgid "Failed to open data file" msgstr "" -#: company/templates/company/supplier_part.html:246 -msgid "Pricing Information" +#: importer/operations.py:51 +msgid "Invalid data file dimensions" msgstr "" -#: company/templates/company/supplier_part.html:251 -#: templates/js/translated/company.js:398 -#: templates/js/translated/pricing.js:684 -msgid "Add Price Break" +#: importer/serializers.py:135 +msgid "Rows" msgstr "" -#: company/templates/company/supplier_part.html:276 -msgid "Supplier Part QR Code" +#: importer/serializers.py:136 +msgid "List of row IDs to accept" msgstr "" -#: company/templates/company/supplier_part.html:287 -msgid "Link Barcode to Supplier Part" +#: importer/serializers.py:149 +#, fuzzy +#| msgid "No data rows provided" +msgid "No rows provided" +msgstr "Tidak ada barisan data tersedia" + +#: importer/serializers.py:153 +msgid "Row does not belong to this session" msgstr "" -#: company/templates/company/supplier_part.html:359 -msgid "Update Part Availability" +#: importer/serializers.py:156 +msgid "Row contains invalid data" msgstr "" -#: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:831 part/stocktake.py:224 -#: part/templates/part/category.html:183 -#: part/templates/part/category_sidebar.html:17 stock/admin.py:68 -#: stock/serializers.py:918 stock/serializers.py:1091 -#: stock/templates/stock/location.html:170 -#: 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:1061 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 -#: users/models.py:206 -msgid "Stock Items" +#: importer/serializers.py:159 +#, fuzzy +#| msgid "This build output has already been completed" +msgid "Row has already been completed" +msgstr "Hasil produksi ini sudah diselesaikan" + +#: importer/status_codes.py:11 +msgid "Initializing" msgstr "" -#: company/templates/company/supplier_part_sidebar.html:9 -msgid "Supplier Part Pricing" +#: importer/status_codes.py:12 +msgid "Mapping Columns" msgstr "" -#: company/views.py:32 -msgid "New Supplier" +#: importer/status_codes.py:13 +#, fuzzy +#| msgid "Completion Date" +msgid "Importing Data" +msgstr "Tanggal selesai" + +#: importer/status_codes.py:16 +msgid "Processing Data" msgstr "" -#: company/views.py:38 -msgid "New Manufacturer" +#: importer/validators.py:21 +msgid "Data file exceeds maximum size limit" msgstr "" -#: company/views.py:43 templates/InvenTree/search.html:210 -#: templates/navbar.html:60 -msgid "Customers" +#: importer/validators.py:26 +msgid "Data file contains no headers" msgstr "" -#: company/views.py:44 -msgid "New Customer" +#: importer/validators.py:29 +msgid "Data file contains too many columns" msgstr "" -#: company/views.py:52 -msgid "New Company" +#: importer/validators.py:32 +msgid "Data file contains too many rows" msgstr "" -#: generic/states/tests.py:18 order/status_codes.py:13 -msgid "Placed" -msgstr "Diletakkan" +#: importer/validators.py:49 +msgid "Value must be a valid dictionary object" +msgstr "" #: machine/machine_types/label_printer.py:212 msgid "Copies" @@ -4783,7 +5016,7 @@ msgstr "" msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:229 order/api.py:1467 +#: machine/machine_types/label_printer.py:229 order/api.py:1388 #: templates/js/translated/sales_order.js:1078 msgid "Unknown" msgstr "" @@ -4852,10 +5085,6 @@ msgstr "" msgid "Initialized" msgstr "" -#: machine/models.py:110 -msgid "Errors" -msgstr "" - #: machine/models.py:117 msgid "Machine status" msgstr "" @@ -4881,44 +5110,44 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:157 order/serializers.py:90 +#: order/api.py:149 order/serializers.py:94 #: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:113 #: order/templates/order/sales_order_base.html:122 msgid "Order Status" msgstr "" -#: order/api.py:161 templates/js/translated/table_filters.js:194 -#: templates/js/translated/table_filters.js:779 +#: order/api.py:153 templates/js/translated/table_filters.js:194 +#: templates/js/translated/table_filters.js:784 msgid "Has Pricing" msgstr "" -#: order/api.py:236 +#: order/api.py:228 msgid "No matching purchase order found" msgstr "" -#: order/api.py:435 order/api.py:801 order/models.py:1395 order/models.py:1504 -#: order/models.py:1550 order/models.py:1664 order/models.py:1818 -#: order/models.py:2231 order/models.py:2282 +#: order/api.py:417 order/api.py:755 order/models.py:1400 order/models.py:1514 +#: order/models.py:1565 order/models.py:1680 order/models.py:1839 +#: order/models.py:2258 order/models.py:2314 #: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "" -#: order/api.py:439 order/api.py:822 +#: order/api.py:421 order/api.py:776 msgid "Order Complete" msgstr "" -#: order/api.py:462 +#: order/api.py:444 msgid "Order Pending" msgstr "" -#: order/api.py:1461 order/models.py:380 order/models.py:1396 -#: order/models.py:1505 order/templates/order/order_base.html:9 +#: order/api.py:1382 order/models.py:380 order/models.py:1401 +#: order/models.py:1515 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 -#: stock/serializers.py:118 stock/templates/stock/item_base.html:176 +#: stock/serializers.py:120 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/part.js:1746 templates/js/translated/pricing.js:804 +#: templates/js/translated/part.js:1749 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:1673 @@ -4926,8 +5155,8 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1465 order/models.py:1981 order/models.py:2232 -#: order/models.py:2283 order/templates/order/return_order_base.html:9 +#: order/api.py:1386 order/models.py:2007 order/models.py:2259 +#: order/models.py:2315 order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report.html:13 #: templates/js/translated/return_order.js:280 @@ -4939,11 +5168,11 @@ msgstr "" msgid "Total price for this order" msgstr "" -#: order/models.py:96 order/serializers.py:70 +#: order/models.py:96 order/serializers.py:72 msgid "Order Currency" msgstr "" -#: order/models.py:99 order/serializers.py:71 +#: order/models.py:99 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" @@ -4959,7 +5188,7 @@ msgstr "" msgid "Select project code for this order" msgstr "" -#: order/models.py:303 order/models.py:1301 order/models.py:1717 +#: order/models.py:303 order/models.py:1301 order/models.py:1733 msgid "Link to external page" msgstr "" @@ -5008,15 +5237,15 @@ msgstr "" msgid "received by" msgstr "" -#: order/models.py:514 order/models.py:2058 +#: order/models.py:514 order/models.py:2084 msgid "Issue Date" msgstr "" -#: order/models.py:515 order/models.py:2059 +#: order/models.py:515 order/models.py:2085 msgid "Date order was issued" msgstr "" -#: order/models.py:522 order/models.py:2066 +#: order/models.py:522 order/models.py:2092 msgid "Date order was completed" msgstr "" @@ -5032,15 +5261,15 @@ msgstr "" msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:962 order/models.py:2051 +#: order/models.py:962 order/models.py:2077 msgid "Customer Reference " msgstr "" -#: order/models.py:963 order/models.py:2052 +#: order/models.py:963 order/models.py:2078 msgid "Customer order reference code" msgstr "" -#: order/models.py:967 order/models.py:1671 +#: order/models.py:967 order/models.py:1687 #: templates/js/translated/sales_order.js:879 #: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" @@ -5102,20 +5331,24 @@ msgstr "" msgid "Unit price" msgstr "" -#: order/models.py:1380 +#: order/models.py:1361 +msgid "Purchase Order Line Item" +msgstr "" + +#: order/models.py:1385 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1387 +#: order/models.py:1392 msgid "deleted" msgstr "" -#: order/models.py:1415 +#: order/models.py:1420 msgid "Supplier part" msgstr "" -#: order/models.py:1422 order/templates/order/order_base.html:196 -#: templates/js/translated/part.js:1870 templates/js/translated/part.js:1902 +#: order/models.py:1427 order/templates/order/order_base.html:196 +#: templates/js/translated/part.js:1873 templates/js/translated/part.js:1905 #: templates/js/translated/purchase_order.js:1306 #: templates/js/translated/purchase_order.js:2169 #: templates/js/translated/return_order.js:763 @@ -5124,196 +5357,232 @@ msgstr "" msgid "Received" msgstr "" -#: order/models.py:1423 +#: order/models.py:1428 msgid "Number of items received" msgstr "" -#: order/models.py:1431 stock/models.py:939 stock/serializers.py:556 +#: order/models.py:1436 stock/models.py:939 stock/serializers.py:602 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2311 msgid "Purchase Price" msgstr "" -#: order/models.py:1432 +#: order/models.py:1437 msgid "Unit purchase price" msgstr "" -#: order/models.py:1447 +#: order/models.py:1452 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1538 +#: order/models.py:1503 +msgid "Purchase Order Extra Line" +msgstr "" + +#: order/models.py:1532 +#, fuzzy +#| msgid "Sales Order Reference" +msgid "Sales Order Line Item" +msgstr "Referensi Order Penjualan" + +#: order/models.py:1553 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1543 +#: order/models.py:1558 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1569 part/templates/part/part_pricing.html:107 +#: order/models.py:1584 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:1570 +#: order/models.py:1585 msgid "Unit sale price" msgstr "" -#: order/models.py:1579 order/status_codes.py:43 +#: order/models.py:1594 order/status_codes.py:43 #: 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" -#: order/models.py:1580 +#: order/models.py:1595 msgid "Shipped quantity" msgstr "" -#: order/models.py:1672 +#: order/models.py:1667 +#, fuzzy +#| msgid "Sales Order Reference" +msgid "Sales Order Shipment" +msgstr "Referensi Order Penjualan" + +#: order/models.py:1688 msgid "Date of shipment" msgstr "" -#: order/models.py:1678 templates/js/translated/sales_order.js:1072 +#: order/models.py:1694 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "" -#: order/models.py:1679 +#: order/models.py:1695 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1687 +#: order/models.py:1703 msgid "Checked By" msgstr "" -#: order/models.py:1688 +#: order/models.py:1704 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1695 order/models.py:1908 order/serializers.py:1342 -#: order/serializers.py:1452 templates/js/translated/model_renderers.js:454 +#: order/models.py:1711 order/models.py:1934 order/serializers.py:1398 +#: order/serializers.py:1508 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "" -#: order/models.py:1696 +#: order/models.py:1712 msgid "Shipment number" msgstr "" -#: order/models.py:1704 +#: order/models.py:1720 msgid "Tracking Number" msgstr "" -#: order/models.py:1705 +#: order/models.py:1721 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1712 +#: order/models.py:1728 msgid "Invoice Number" msgstr "" -#: order/models.py:1713 +#: order/models.py:1729 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1733 +#: order/models.py:1749 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1736 +#: order/models.py:1752 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1854 order/models.py:1856 +#: order/models.py:1828 +#, fuzzy +#| msgid "Sales Order Reference" +msgid "Sales Order Extra Line" +msgstr "Referensi Order Penjualan" + +#: order/models.py:1857 +#, fuzzy +#| msgid "Sales Order Reference" +msgid "Sales Order Allocation" +msgstr "Referensi Order Penjualan" + +#: order/models.py:1880 order/models.py:1882 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1863 +#: order/models.py:1889 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1866 +#: order/models.py:1892 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1869 +#: order/models.py:1895 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1888 order/serializers.py:1219 +#: order/models.py:1914 order/serializers.py:1275 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1891 +#: order/models.py:1917 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1892 plugin/base/barcodes/api.py:481 +#: order/models.py:1918 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1900 +#: order/models.py:1926 msgid "Line" msgstr "" -#: order/models.py:1909 +#: order/models.py:1935 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1922 order/models.py:2239 +#: order/models.py:1948 order/models.py:2266 #: templates/js/translated/return_order.js:721 msgid "Item" msgstr "" -#: order/models.py:1923 +#: order/models.py:1949 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1932 +#: order/models.py:1958 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2021 +#: order/models.py:2047 msgid "Return Order reference" msgstr "" -#: order/models.py:2033 +#: order/models.py:2059 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2045 +#: order/models.py:2071 msgid "Return order status" msgstr "" -#: order/models.py:2224 +#: order/models.py:2237 +msgid "Return Order Line Item" +msgstr "" + +#: order/models.py:2251 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2240 +#: order/models.py:2267 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2246 +#: order/models.py:2273 msgid "Received Date" msgstr "" -#: order/models.py:2247 +#: order/models.py:2274 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2258 templates/js/translated/return_order.js:732 +#: order/models.py:2285 templates/js/translated/return_order.js:732 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2259 +#: order/models.py:2286 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2266 +#: order/models.py:2293 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:79 order/templates/order/po_sidebar.html:5 +#: order/models.py:2303 +msgid "Return Order Extra Line" +msgstr "" + +#: order/serializers.py:83 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_purchase_order_report.html:22 @@ -5322,163 +5591,171 @@ msgstr "" msgid "Line Items" msgstr "" -#: order/serializers.py:83 +#: order/serializers.py:87 msgid "Completed Lines" msgstr "" -#: order/serializers.py:286 +#: order/serializers.py:305 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:301 order/serializers.py:1235 +#: order/serializers.py:320 order/serializers.py:1291 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:311 order/serializers.py:1245 +#: order/serializers.py:330 order/serializers.py:1301 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:439 +#: order/serializers.py:468 msgid "Order is not open" msgstr "" -#: order/serializers.py:460 +#: order/serializers.py:489 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:462 +#: order/serializers.py:491 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:472 +#: order/serializers.py:501 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:478 +#: order/serializers.py:507 msgid "Merge Items" msgstr "" -#: order/serializers.py:480 +#: order/serializers.py:509 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:498 +#: order/serializers.py:522 part/models.py:945 +msgid "Internal Part Number" +msgstr "" + +#: order/serializers.py:530 +msgid "Internal Part Name" +msgstr "" + +#: order/serializers.py:546 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:501 +#: order/serializers.py:549 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:509 +#: order/serializers.py:557 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:510 +#: order/serializers.py:558 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:549 order/serializers.py:1313 +#: order/serializers.py:598 order/serializers.py:1369 msgid "Line Item" msgstr "" -#: order/serializers.py:555 +#: order/serializers.py:604 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:565 order/serializers.py:673 order/serializers.py:1657 +#: order/serializers.py:614 order/serializers.py:722 order/serializers.py:1715 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:581 templates/js/translated/purchase_order.js:1130 +#: order/serializers.py:630 templates/js/translated/purchase_order.js:1130 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:589 templates/js/translated/purchase_order.js:1154 +#: order/serializers.py:638 templates/js/translated/purchase_order.js:1154 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:600 templates/js/translated/barcode.js:52 +#: order/serializers.py:649 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:601 +#: order/serializers.py:650 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:617 +#: order/serializers.py:666 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:641 +#: order/serializers.py:690 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:689 order/serializers.py:1673 +#: order/serializers.py:738 order/serializers.py:1731 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:705 +#: order/serializers.py:754 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:716 +#: order/serializers.py:765 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1062 +#: order/serializers.py:1117 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1122 +#: order/serializers.py:1178 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1183 order/serializers.py:1322 +#: order/serializers.py:1239 order/serializers.py:1378 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1202 +#: order/serializers.py:1258 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1332 +#: order/serializers.py:1388 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1354 order/serializers.py:1460 +#: order/serializers.py:1410 order/serializers.py:1516 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1357 order/serializers.py:1463 +#: order/serializers.py:1413 order/serializers.py:1519 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1404 +#: order/serializers.py:1460 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1411 +#: order/serializers.py:1467 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1627 +#: order/serializers.py:1685 msgid "Return order line item" msgstr "" -#: order/serializers.py:1633 +#: order/serializers.py:1691 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1636 +#: order/serializers.py:1694 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1665 +#: order/serializers.py:1723 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1743 +#: order/serializers.py:1806 msgid "Line price currency" msgstr "" @@ -5808,7 +6085,7 @@ msgstr "" #: 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:1073 +#: templates/js/translated/part.js:1076 #: templates/js/translated/purchase_order.js:1752 #: templates/js/translated/return_order.js:380 #: templates/js/translated/sales_order.js:891 @@ -5904,34 +6181,29 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:398 part/models.py:3944 part/stocktake.py:219 +#: part/admin.py:39 part/admin.py:398 part/models.py:3991 part/stocktake.py:219 #: stock/admin.py:152 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:405 part/models.py:3945 part/stocktake.py:220 -#: stock/admin.py:156 -msgid "Part Name" -msgstr "" - #: part/admin.py:45 part/stocktake.py:221 msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:940 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:944 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 -#: templates/js/translated/part.js:1227 templates/js/translated/part.js:2341 +#: templates/js/translated/part.js:1230 templates/js/translated/part.js:2344 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:949 part/templates/part/part_base.html:277 -#: report/models.py:162 templates/js/translated/part.js:1232 -#: templates/js/translated/part.js:2347 +#: part/admin.py:50 part/models.py:953 part/templates/part/part_base.html:277 +#: report/models.py:162 templates/js/translated/part.js:1235 +#: templates/js/translated/part.js:2350 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:319 part/models.py:922 +#: part/admin.py:53 part/admin.py:319 part/models.py:926 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5944,7 +6216,8 @@ msgstr "" msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:304 part/stocktake.py:223 +#: part/admin.py:67 part/admin.py:304 part/serializers.py:837 +#: part/stocktake.py:223 msgid "Category Name" msgstr "" @@ -5956,11 +6229,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:908 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:912 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1036 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1040 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5968,18 +6241,19 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:150 part/templates/part/part_base.html:241 stock/admin.py:235 -#: templates/js/translated/part.js:715 templates/js/translated/part.js:2153 +#: part/admin.py:150 part/serializers.py:854 +#: part/templates/part/part_base.html:241 stock/admin.py:235 +#: templates/js/translated/part.js:714 templates/js/translated/part.js:2156 msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3088 part/models.py:3102 -#: templates/js/translated/part.js:970 +#: part/admin.py:155 part/models.py:3098 part/models.py:3112 +#: templates/js/translated/part.js:973 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3095 part/models.py:3109 -#: templates/js/translated/part.js:980 +#: part/admin.py:158 part/models.py:3105 part/models.py:3119 +#: templates/js/translated/part.js:983 msgid "Maximum Cost" msgstr "" @@ -5996,14 +6270,14 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:396 part/serializers.py:124 -#: part/serializers.py:267 part/serializers.py:386 +#: part/admin.py:325 part/models.py:397 part/serializers.py:130 +#: part/serializers.py:282 part/serializers.py:404 #: 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:2807 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:203 msgid "Parts" msgstr "" @@ -6020,125 +6294,117 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:402 part/models.py:3946 -msgid "Part IPN" -msgstr "" - -#: part/admin.py:415 part/serializers.py:1274 +#: part/admin.py:415 part/serializers.py:1302 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:420 part/serializers.py:1289 +#: part/admin.py:420 part/serializers.py:1317 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "" -#: part/api.py:104 +#: part/api.py:105 msgid "Starred" msgstr "" -#: part/api.py:106 +#: part/api.py:107 msgid "Filter by starred categories" msgstr "" -#: part/api.py:123 stock/api.py:312 +#: part/api.py:124 stock/api.py:312 msgid "Depth" msgstr "" -#: part/api.py:123 +#: part/api.py:124 msgid "Filter by category depth" msgstr "" -#: part/api.py:141 stock/api.py:330 +#: part/api.py:142 stock/api.py:330 msgid "Top Level" msgstr "" -#: part/api.py:143 +#: part/api.py:144 msgid "Filter by top-level categories" msgstr "" -#: part/api.py:156 stock/api.py:345 +#: part/api.py:157 stock/api.py:345 msgid "Cascade" msgstr "" -#: part/api.py:158 +#: part/api.py:159 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:179 templates/js/translated/part.js:308 +#: part/api.py:180 templates/js/translated/part.js:307 msgid "Parent" msgstr "" -#: part/api.py:181 +#: part/api.py:182 msgid "Filter by parent category" msgstr "" -#: part/api.py:214 +#: part/api.py:215 msgid "Exclude Tree" msgstr "" -#: part/api.py:216 +#: part/api.py:217 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:449 +#: part/api.py:442 msgid "Has Results" msgstr "" -#: part/api.py:616 +#: part/api.py:609 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:634 +#: part/api.py:627 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:650 +#: part/api.py:643 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:734 +#: part/api.py:727 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:881 -msgid "Valid" -msgstr "" - -#: part/api.py:882 +#: part/api.py:875 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:888 +#: part/api.py:881 msgid "This option must be selected" msgstr "" -#: part/api.py:1105 +#: part/api.py:1098 msgid "BOM Valid" msgstr "" -#: part/api.py:1508 part/models.py:932 part/models.py:3374 part/models.py:3889 -#: part/serializers.py:401 part/serializers.py:1130 -#: part/templates/part/part_base.html:260 stock/api.py:791 +#: part/api.py:1494 part/models.py:936 part/models.py:3385 part/models.py:3936 +#: part/serializers.py:419 part/serializers.py:1158 +#: part/templates/part/part_base.html:260 stock/api.py:783 #: 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:2380 msgid "Category" msgstr "" -#: part/api.py:1796 +#: part/api.py:1784 msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:104 part/models.py:975 +#: part/bom.py:170 part/models.py:104 part/models.py:979 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:833 +#: part/bom.py:171 part/serializers.py:861 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6147,7 +6413,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:85 part/models.py:3890 part/templates/part/category.html:16 +#: part/models.py:85 part/models.py:3937 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -6162,7 +6428,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:110 stock/models.py:175 templates/js/translated/part.js:2810 +#: part/models.py:110 stock/models.py:175 templates/js/translated/part.js:2813 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 @@ -6194,1002 +6460,1035 @@ msgstr "" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:485 +#: part/models.py:486 +msgid "Cannot delete this part as it is locked" +msgstr "" + +#: part/models.py:489 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:490 +#: part/models.py:494 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:528 +#: part/models.py:532 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:576 part/models.py:583 +#: part/models.py:580 part/models.py:587 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:595 +#: part/models.py:599 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:658 +#: part/models.py:662 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:736 +#: part/models.py:740 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:837 +#: part/models.py:841 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:847 +#: part/models.py:851 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:862 +#: part/models.py:866 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:891 part/models.py:3945 +#: part/models.py:895 part/models.py:3992 msgid "Part name" msgstr "" -#: part/models.py:896 +#: part/models.py:900 msgid "Is Template" msgstr "" -#: part/models.py:897 +#: part/models.py:901 msgid "Is this part a template part?" msgstr "" -#: part/models.py:907 +#: part/models.py:911 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:915 +#: part/models.py:919 msgid "Part description (optional)" msgstr "" -#: part/models.py:923 +#: part/models.py:927 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:933 +#: part/models.py:937 msgid "Part category" msgstr "" -#: part/models.py:941 -msgid "Internal Part Number" -msgstr "" - -#: part/models.py:948 +#: part/models.py:952 msgid "Part revision or version number" msgstr "" -#: part/models.py:973 +#: part/models.py:977 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1019 part/templates/part/part_base.html:376 +#: part/models.py:1023 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:1020 +#: part/models.py:1024 msgid "Default supplier part" msgstr "" -#: part/models.py:1027 +#: part/models.py:1031 msgid "Default Expiry" msgstr "" -#: part/models.py:1028 +#: part/models.py:1032 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1037 +#: part/models.py:1041 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1046 +#: part/models.py:1050 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1053 +#: part/models.py:1057 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1059 +#: part/models.py:1063 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1065 +#: part/models.py:1069 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1071 +#: part/models.py:1075 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1077 +#: part/models.py:1081 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1081 +#: part/models.py:1085 msgid "Is this part active?" msgstr "" -#: part/models.py:1087 +#: part/models.py:1090 templates/js/translated/part.js:818 +#: templates/js/translated/table_filters.js:721 +msgid "Locked" +msgstr "" + +#: part/models.py:1091 +msgid "Locked parts cannot be edited" +msgstr "" + +#: part/models.py:1097 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1093 +#: part/models.py:1103 msgid "BOM checksum" msgstr "" -#: part/models.py:1094 +#: part/models.py:1104 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1102 +#: part/models.py:1112 msgid "BOM checked by" msgstr "" -#: part/models.py:1107 +#: part/models.py:1117 msgid "BOM checked date" msgstr "" -#: part/models.py:1123 +#: part/models.py:1133 msgid "Creation User" msgstr "" -#: part/models.py:1133 +#: part/models.py:1143 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1138 part/templates/part/part_base.html:339 +#: part/models.py:1148 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:2474 msgid "Last Stocktake" msgstr "" -#: part/models.py:2011 +#: part/models.py:2021 msgid "Sell multiple" msgstr "" -#: part/models.py:3002 +#: part/models.py:3012 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3018 +#: part/models.py:3028 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3019 +#: part/models.py:3029 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3025 +#: part/models.py:3035 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3026 +#: part/models.py:3036 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3032 +#: part/models.py:3042 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3033 +#: part/models.py:3043 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3039 +#: part/models.py:3049 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3040 +#: part/models.py:3050 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3046 +#: part/models.py:3056 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3047 +#: part/models.py:3057 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3053 +#: part/models.py:3063 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3054 +#: part/models.py:3064 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3060 +#: part/models.py:3070 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3061 +#: part/models.py:3071 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3067 +#: part/models.py:3077 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3068 +#: part/models.py:3078 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3074 +#: part/models.py:3084 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3075 +#: part/models.py:3085 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3081 +#: part/models.py:3091 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3082 +#: part/models.py:3092 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3089 +#: part/models.py:3099 msgid "Override minimum cost" msgstr "" -#: part/models.py:3096 +#: part/models.py:3106 msgid "Override maximum cost" msgstr "" -#: part/models.py:3103 +#: part/models.py:3113 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3110 +#: part/models.py:3120 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3116 +#: part/models.py:3126 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3117 +#: part/models.py:3127 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3123 +#: part/models.py:3133 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3124 +#: part/models.py:3134 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3130 +#: part/models.py:3140 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3131 +#: part/models.py:3141 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3137 +#: part/models.py:3147 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3138 +#: part/models.py:3148 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3157 +#: part/models.py:3167 msgid "Part for stocktake" msgstr "" -#: part/models.py:3162 +#: part/models.py:3172 msgid "Item Count" msgstr "" -#: part/models.py:3163 +#: part/models.py:3173 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3171 +#: part/models.py:3181 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3175 part/models.py:3258 +#: part/models.py:3185 part/models.py:3268 #: part/templates/part/part_scheduling.html:13 #: 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:1086 templates/js/translated/pricing.js:826 +#: templates/js/translated/part.js:1089 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 #: templates/js/translated/purchase_order.js:1731 #: templates/js/translated/stock.js:2821 msgid "Date" msgstr "" -#: part/models.py:3176 +#: part/models.py:3186 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3184 +#: part/models.py:3194 msgid "Additional notes" msgstr "" -#: part/models.py:3194 +#: part/models.py:3204 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3200 +#: part/models.py:3210 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3201 +#: part/models.py:3211 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3207 +#: part/models.py:3217 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3208 +#: part/models.py:3218 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3264 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3274 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3265 +#: part/models.py:3275 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3270 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3280 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3271 +#: part/models.py:3281 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3281 +#: part/models.py:3291 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3423 +#: part/models.py:3301 +msgid "Part Sale Price Break" +msgstr "" + +#: part/models.py:3413 +msgid "Part Test Template" +msgstr "" + +#: part/models.py:3439 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3444 part/models.py:3608 +#: part/models.py:3460 part/models.py:3629 msgid "Choices must be unique" msgstr "" -#: part/models.py:3455 +#: part/models.py:3471 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3466 +#: part/models.py:3482 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3483 templates/js/translated/part.js:2880 +#: part/models.py:3499 templates/js/translated/part.js:2883 msgid "Test Name" msgstr "" -#: part/models.py:3484 +#: part/models.py:3500 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3490 +#: part/models.py:3506 msgid "Test Key" msgstr "" -#: part/models.py:3491 +#: part/models.py:3507 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3498 +#: part/models.py:3514 msgid "Test Description" msgstr "" -#: part/models.py:3499 +#: part/models.py:3515 msgid "Enter description for this test" msgstr "" -#: part/models.py:3503 report/models.py:209 -#: templates/js/translated/part.js:2901 +#: part/models.py:3519 report/models.py:209 +#: templates/js/translated/part.js:2904 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "" -#: part/models.py:3503 +#: part/models.py:3519 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3508 templates/js/translated/part.js:2909 +#: part/models.py:3524 templates/js/translated/part.js:2912 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3509 +#: part/models.py:3525 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3514 templates/js/translated/part.js:2917 +#: part/models.py:3530 templates/js/translated/part.js:2920 msgid "Requires Value" msgstr "" -#: part/models.py:3515 +#: part/models.py:3531 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3520 templates/js/translated/part.js:2924 +#: part/models.py:3536 templates/js/translated/part.js:2927 msgid "Requires Attachment" msgstr "" -#: part/models.py:3522 +#: part/models.py:3538 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3528 part/models.py:3667 templates/js/translated/part.js:1637 +#: part/models.py:3544 part/models.py:3688 templates/js/translated/part.js:1640 msgid "Choices" msgstr "" -#: part/models.py:3529 +#: part/models.py:3545 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3583 +#: part/models.py:3577 +msgid "Part Parameter Template" +msgstr "" + +#: part/models.py:3604 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3588 +#: part/models.py:3609 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3625 +#: part/models.py:3646 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3640 +#: part/models.py:3661 msgid "Parameter Name" msgstr "" -#: part/models.py:3647 +#: part/models.py:3668 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3655 +#: part/models.py:3676 msgid "Parameter description" msgstr "" -#: part/models.py:3661 templates/js/translated/part.js:1628 -#: templates/js/translated/table_filters.js:825 +#: part/models.py:3682 templates/js/translated/part.js:1631 +#: templates/js/translated/table_filters.js:830 msgid "Checkbox" msgstr "" -#: part/models.py:3662 +#: part/models.py:3683 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3668 +#: part/models.py:3689 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3745 +#: part/models.py:3723 +msgid "Part Parameter" +msgstr "" + +#: part/models.py:3749 +msgid "Parameter cannot be modified - part is locked" +msgstr "" + +#: part/models.py:3785 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3788 +#: part/models.py:3828 msgid "Parent Part" msgstr "" -#: part/models.py:3796 part/models.py:3897 part/models.py:3898 +#: part/models.py:3836 part/models.py:3944 part/models.py:3945 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3801 -msgid "Data" +#: part/models.py:3842 +msgid "Parameter Value" msgstr "" -#: part/models.py:3802 -msgid "Parameter Value" +#: part/models.py:3892 +msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:3904 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3951 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3905 +#: part/models.py:3952 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3943 +#: part/models.py:3990 msgid "Part ID or part name" msgstr "" -#: part/models.py:3944 +#: part/models.py:3991 msgid "Unique part ID value" msgstr "" -#: part/models.py:3946 +#: part/models.py:3993 msgid "Part IPN value" msgstr "" -#: part/models.py:3947 +#: part/models.py:3994 msgid "Level" msgstr "" -#: part/models.py:3947 +#: part/models.py:3994 msgid "BOM level" msgstr "" -#: part/models.py:4037 +#: part/models.py:4105 +msgid "BOM item cannot be modified - assembly is locked" +msgstr "" + +#: part/models.py:4112 +msgid "BOM item cannot be modified - variant assembly is locked" +msgstr "" + +#: part/models.py:4122 msgid "Select parent part" msgstr "" -#: part/models.py:4047 +#: part/models.py:4132 msgid "Sub part" msgstr "" -#: part/models.py:4048 +#: part/models.py:4133 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4059 +#: part/models.py:4144 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4065 +#: part/models.py:4150 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4071 +#: part/models.py:4156 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4078 part/templates/part/upload_bom.html:55 +#: part/models.py:4163 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4079 +#: part/models.py:4164 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4086 +#: part/models.py:4171 msgid "BOM item reference" msgstr "" -#: part/models.py:4094 +#: part/models.py:4179 msgid "BOM item notes" msgstr "" -#: part/models.py:4100 +#: part/models.py:4185 msgid "Checksum" msgstr "" -#: part/models.py:4101 +#: part/models.py:4186 msgid "BOM line checksum" msgstr "" -#: part/models.py:4106 templates/js/translated/table_filters.js:174 +#: part/models.py:4191 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4107 +#: part/models.py:4192 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4112 part/templates/part/upload_bom.html:57 +#: part/models.py:4197 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:4113 +#: part/models.py:4198 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4118 part/templates/part/upload_bom.html:56 +#: part/models.py:4203 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4119 +#: part/models.py:4204 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4204 stock/models.py:663 +#: part/models.py:4289 stock/models.py:663 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4214 part/models.py:4216 +#: part/models.py:4299 part/models.py:4301 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4354 +#: part/models.py:4439 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4375 +#: part/models.py:4460 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4388 +#: part/models.py:4473 msgid "Parent BOM item" msgstr "" -#: part/models.py:4396 +#: part/models.py:4481 msgid "Substitute part" msgstr "" -#: part/models.py:4412 +#: part/models.py:4497 msgid "Part 1" msgstr "" -#: part/models.py:4420 +#: part/models.py:4505 msgid "Part 2" msgstr "" -#: part/models.py:4421 +#: part/models.py:4506 msgid "Select Related Part" msgstr "" -#: part/models.py:4440 +#: part/models.py:4525 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4445 +#: part/models.py:4530 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:118 +#: part/serializers.py:124 msgid "Parent Category" msgstr "" -#: part/serializers.py:119 templates/js/translated/part.js:309 +#: part/serializers.py:125 templates/js/translated/part.js:308 msgid "Parent part category" msgstr "" -#: part/serializers.py:126 part/serializers.py:148 +#: part/serializers.py:132 part/serializers.py:154 #: part/templates/part/category.html:122 part/templates/part/category.html:207 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" -#: part/serializers.py:180 +#: part/serializers.py:189 msgid "Results" msgstr "" -#: part/serializers.py:181 +#: part/serializers.py:190 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:205 part/serializers.py:223 stock/serializers.py:562 +#: part/serializers.py:217 part/serializers.py:235 stock/serializers.py:608 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:268 +#: part/serializers.py:283 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:392 +#: part/serializers.py:410 msgid "No parts selected" msgstr "" -#: part/serializers.py:402 +#: part/serializers.py:420 msgid "Select category" msgstr "" -#: part/serializers.py:437 +#: part/serializers.py:455 msgid "Original Part" msgstr "" -#: part/serializers.py:438 +#: part/serializers.py:456 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:461 msgid "Copy Image" msgstr "" -#: part/serializers.py:444 +#: part/serializers.py:462 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:450 part/templates/part/detail.html:277 +#: part/serializers.py:468 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:451 +#: part/serializers.py:469 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:457 +#: part/serializers.py:475 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:458 +#: part/serializers.py:476 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:464 +#: part/serializers.py:482 msgid "Copy Notes" msgstr "" -#: part/serializers.py:465 +#: part/serializers.py:483 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:483 +#: part/serializers.py:501 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:485 +#: part/serializers.py:503 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:492 +#: part/serializers.py:510 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:493 +#: part/serializers.py:511 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:510 +#: part/serializers.py:528 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:526 +#: part/serializers.py:544 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:536 +#: part/serializers.py:554 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:543 +#: part/serializers.py:561 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:552 +#: part/serializers.py:570 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:563 +#: part/serializers.py:581 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:570 +#: part/serializers.py:588 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:834 -msgid "External Stock" -msgstr "" - -#: part/serializers.py:836 +#: part/serializers.py:864 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:839 +#: part/serializers.py:867 msgid "Variant Stock" msgstr "" -#: part/serializers.py:869 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:472 +#: part/serializers.py:897 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:870 +#: part/serializers.py:898 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:876 templates/js/translated/part.js:102 +#: part/serializers.py:904 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:877 +#: part/serializers.py:905 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:883 +#: part/serializers.py:911 msgid "Supplier Information" msgstr "" -#: part/serializers.py:884 +#: part/serializers.py:912 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:892 +#: part/serializers.py:920 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:893 +#: part/serializers.py:921 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:898 +#: part/serializers.py:926 msgid "Existing Image" msgstr "" -#: part/serializers.py:899 +#: part/serializers.py:927 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:916 +#: part/serializers.py:944 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1122 +#: part/serializers.py:1150 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1132 +#: part/serializers.py:1160 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1142 +#: part/serializers.py:1170 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1148 +#: part/serializers.py:1176 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1149 +#: part/serializers.py:1177 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1154 +#: part/serializers.py:1182 msgid "Generate Report" msgstr "" -#: part/serializers.py:1155 +#: part/serializers.py:1183 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1160 +#: part/serializers.py:1188 msgid "Update Parts" msgstr "" -#: part/serializers.py:1161 +#: part/serializers.py:1189 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1169 +#: part/serializers.py:1197 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1275 +#: part/serializers.py:1303 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1282 +#: part/serializers.py:1310 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1290 +#: part/serializers.py:1318 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1297 +#: part/serializers.py:1325 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1326 +#: part/serializers.py:1354 msgid "Update" msgstr "" -#: part/serializers.py:1327 +#: part/serializers.py:1355 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1350 +#: part/serializers.py:1378 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1357 +#: part/serializers.py:1385 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1360 +#: part/serializers.py:1388 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1727 +#: part/serializers.py:1759 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1735 +#: part/serializers.py:1767 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1736 +#: part/serializers.py:1768 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1741 +#: part/serializers.py:1773 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1742 +#: part/serializers.py:1774 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1747 +#: part/serializers.py:1779 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1748 +#: part/serializers.py:1780 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1753 +#: part/serializers.py:1785 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1754 +#: part/serializers.py:1786 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1788 +#: part/serializers.py:1823 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1789 +#: part/serializers.py:1824 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1819 +#: part/serializers.py:1856 msgid "No part column specified" msgstr "" -#: part/serializers.py:1863 +#: part/serializers.py:1900 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1866 +#: part/serializers.py:1903 msgid "No matching part found" msgstr "" -#: part/serializers.py:1869 +#: part/serializers.py:1906 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1878 +#: part/serializers.py:1915 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1886 +#: part/serializers.py:1923 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1907 +#: part/serializers.py:1946 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:225 templates/js/translated/part.js:1067 -#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 +#: part/stocktake.py:225 templates/js/translated/part.js:1070 +#: templates/js/translated/part.js:1825 templates/js/translated/part.js:1881 #: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "" @@ -7507,7 +7806,7 @@ msgstr "" #: part/templates/part/part_base.html:52 #: stock/templates/stock/item_base.html:62 -#: stock/templates/stock/location.html:74 templates/js/translated/label.js:143 +#: stock/templates/stock/location.html:74 templates/js/translated/label.js:136 msgid "Print Label" msgstr "" @@ -7529,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:2296 msgid "Part actions" msgstr "" @@ -7569,6 +7868,10 @@ msgstr "" msgid "Part can be sold to customers" msgstr "" +#: part/templates/part/part_base.html:145 +msgid "Part is not active" +msgstr "" + #: part/templates/part/part_base.html:153 msgid "Part is virtual (not a physical part)" msgstr "" @@ -7597,7 +7900,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:322 templates/js/translated/bom.js:1071 -#: templates/js/translated/part.js:1265 templates/js/translated/part.js:2444 +#: templates/js/translated/part.js:1268 templates/js/translated/part.js:2447 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" @@ -7690,8 +7993,8 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/part.js:1243 templates/js/translated/part.js:2146 -#: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 +#: templates/js/translated/part.js:1246 templates/js/translated/part.js:2149 +#: templates/js/translated/part.js:2395 templates/js/translated/stock.js:1059 #: templates/js/translated/stock.js:2070 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -7811,8 +8114,8 @@ msgstr "" #: part/templates/part/stock_count.html:7 #: templates/js/translated/model_renderers.js:227 -#: templates/js/translated/part.js:705 templates/js/translated/part.js:2141 -#: templates/js/translated/part.js:2143 +#: templates/js/translated/part.js:704 templates/js/translated/part.js:2144 +#: templates/js/translated/part.js:2146 msgid "No Stock" msgstr "" @@ -7956,7 +8259,7 @@ msgstr "" msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2589 +#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2590 #: templates/js/translated/sales_order.js:1953 msgid "Insufficient stock available" msgstr "" @@ -8051,7 +8354,7 @@ msgstr "" msgid "Quantity to allocate" msgstr "" -#: plugin/base/label/label.py:39 templates/js/translated/label.js:155 +#: plugin/base/label/label.py:39 templates/js/translated/label.js:148 msgid "Label printing failed" msgstr "" @@ -8748,7 +9051,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report.html:25 #: report/templates/report/inventree_test_report.html:88 stock/models.py:825 -#: stock/serializers.py:149 stock/templates/stock/item_base.html:311 +#: stock/serializers.py:151 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:230 @@ -8778,7 +9081,7 @@ msgstr "" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2447 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2457 msgid "Result" msgstr "" @@ -8799,7 +9102,7 @@ msgid "No result" msgstr "" #: report/templates/report/inventree_test_report.html:153 -#: stock/templates/stock/stock_sidebar.html:16 +#: stock/serializers.py:591 stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" @@ -8829,10 +9132,6 @@ msgstr "" msgid "Location ID" msgstr "" -#: stock/admin.py:53 stock/admin.py:175 -msgid "Location Name" -msgstr "" - #: stock/admin.py:63 stock/templates/stock/location.html:131 #: stock/templates/stock/location.html:137 msgid "Location Path" @@ -8909,7 +9208,7 @@ msgstr "" msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:369 stock/serializers.py:1085 +#: stock/api.py:369 stock/serializers.py:1148 msgid "Parent Location" msgstr "" @@ -8917,44 +9216,45 @@ msgstr "" msgid "Filter by parent location" msgstr "" -#: stock/api.py:625 templates/js/translated/table_filters.js:427 +#: stock/api.py:617 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:813 +#: stock/api.py:805 msgid "Part Tree" msgstr "" -#: stock/api.py:843 +#: stock/api.py:835 msgid "Expiry date before" msgstr "" -#: stock/api.py:847 +#: stock/api.py:839 msgid "Expiry date after" msgstr "" -#: stock/api.py:850 stock/templates/stock/item_base.html:439 +#: stock/api.py:842 stock/serializers.py:596 +#: stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "" -#: stock/api.py:937 +#: stock/api.py:929 msgid "Quantity is required" msgstr "" -#: stock/api.py:943 +#: stock/api.py:935 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:974 +#: stock/api.py:966 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:984 +#: stock/api.py:976 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1015 +#: stock/api.py:1007 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -9021,7 +9321,7 @@ msgstr "" msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:669 stock/serializers.py:446 +#: stock/models.py:669 stock/serializers.py:477 msgid "Stock item cannot be created for virtual parts" msgstr "" @@ -9066,7 +9366,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:799 stock/serializers.py:1476 +#: stock/models.py:799 stock/serializers.py:1542 msgid "Packaging this stock item is stored in" msgstr "" @@ -9078,7 +9378,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:843 stock/serializers.py:1459 +#: stock/models.py:843 stock/serializers.py:1525 msgid "Batch code for this stock item" msgstr "" @@ -9155,7 +9455,7 @@ msgstr "" msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1520 stock/serializers.py:660 +#: stock/models.py:1520 stock/serializers.py:718 msgid "Serial numbers already exist" msgstr "" @@ -9187,7 +9487,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1658 stock/serializers.py:1365 +#: stock/models.py:1658 stock/serializers.py:1431 msgid "Duplicate stock items" msgstr "" @@ -9207,288 +9507,336 @@ msgstr "" msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2345 +#: stock/models.py:2317 +#, fuzzy +#| msgid "Stock Item" +msgid "Stock Item Tracking" +msgstr "Stok Item" + +#: stock/models.py:2350 msgid "Entry notes" msgstr "" -#: stock/models.py:2413 +#: stock/models.py:2390 +#, fuzzy +#| msgid "Stock item created" +msgid "Stock Item Test Result" +msgstr "Item stok dibuat" + +#: stock/models.py:2423 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2418 +#: stock/models.py:2428 msgid "Attachment must be uploaded for this test" msgstr "Lampiran perlu diunggah untuk tes ini" -#: stock/models.py:2423 +#: stock/models.py:2433 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2447 +#: stock/models.py:2457 msgid "Test result" msgstr "" -#: stock/models.py:2454 +#: stock/models.py:2464 msgid "Test output value" msgstr "" -#: stock/models.py:2462 +#: stock/models.py:2472 msgid "Test result attachment" msgstr "" -#: stock/models.py:2466 +#: stock/models.py:2476 msgid "Test notes" msgstr "" -#: stock/models.py:2474 templates/js/translated/stock.js:1548 +#: stock/models.py:2484 templates/js/translated/stock.js:1548 msgid "Test station" msgstr "" -#: stock/models.py:2475 +#: stock/models.py:2485 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2481 +#: stock/models.py:2491 msgid "Started" msgstr "" -#: stock/models.py:2482 +#: stock/models.py:2492 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2488 +#: stock/models.py:2498 msgid "Finished" msgstr "" -#: stock/models.py:2489 +#: stock/models.py:2499 msgid "The timestamp of the test finish" msgstr "" -#: stock/serializers.py:74 +#: stock/serializers.py:76 msgid "Generated batch code" msgstr "" -#: stock/serializers.py:83 +#: stock/serializers.py:85 msgid "Select build order" msgstr "" -#: stock/serializers.py:92 +#: stock/serializers.py:94 msgid "Select stock item to generate batch code for" msgstr "" -#: stock/serializers.py:101 +#: stock/serializers.py:103 msgid "Select location to generate batch code for" msgstr "" -#: stock/serializers.py:110 +#: stock/serializers.py:112 msgid "Select part to generate batch code for" msgstr "" -#: stock/serializers.py:119 +#: stock/serializers.py:121 msgid "Select purchase order" msgstr "" -#: stock/serializers.py:126 +#: stock/serializers.py:128 msgid "Enter quantity for batch code" msgstr "" -#: stock/serializers.py:149 +#: stock/serializers.py:151 msgid "Generated serial number" msgstr "" -#: stock/serializers.py:158 +#: stock/serializers.py:160 msgid "Select part to generate serial number for" msgstr "" -#: stock/serializers.py:166 +#: stock/serializers.py:168 msgid "Quantity of serial numbers to generate" msgstr "" -#: stock/serializers.py:228 +#: stock/serializers.py:233 msgid "Test template for this result" msgstr "" -#: stock/serializers.py:247 +#: stock/serializers.py:252 msgid "Template ID or test name must be provided" msgstr "" -#: stock/serializers.py:279 +#: stock/serializers.py:284 msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:315 +#: stock/serializers.py:320 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:438 +#: stock/serializers.py:449 stock/templates/stock/item_base.html:193 +msgid "Parent Item" +msgstr "" + +#: stock/serializers.py:450 +#, fuzzy +#| msgid "Source stock item" +msgid "Parent stock item" +msgstr "Sumber stok item" + +#: stock/serializers.py:469 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:558 +#: stock/serializers.py:585 templates/js/translated/build.js:991 +#: templates/js/translated/build.js:2344 +msgid "Allocated Quantity" +msgstr "" + +#: stock/serializers.py:588 stock/templates/stock/item_base.html:437 +#: templates/js/translated/table_filters.js:435 users/models.py:174 +msgid "Expired" +msgstr "" + +#: stock/serializers.py:594 stock/templates/stock/stock_sidebar.html:20 +msgid "Child Items" +msgstr "" + +#: stock/serializers.py:598 +msgid "Tracking Items" +msgstr "" + +#: stock/serializers.py:604 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:595 +#: stock/serializers.py:623 +msgid "Minimum Pricing" +msgstr "" + +#: stock/serializers.py:629 +msgid "Maximum Pricing" +msgstr "" + +#: stock/serializers.py:653 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:608 +#: stock/serializers.py:666 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:615 +#: stock/serializers.py:673 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:626 stock/serializers.py:1322 stock/serializers.py:1578 +#: stock/serializers.py:684 stock/serializers.py:1388 stock/serializers.py:1644 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:633 +#: stock/serializers.py:691 msgid "Optional note field" msgstr "" -#: stock/serializers.py:643 +#: stock/serializers.py:701 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:698 +#: stock/serializers.py:756 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:705 +#: stock/serializers.py:763 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:706 +#: stock/serializers.py:764 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:711 stock/serializers.py:791 stock/serializers.py:887 -#: stock/serializers.py:937 +#: stock/serializers.py:769 stock/serializers.py:849 stock/serializers.py:945 +#: stock/serializers.py:995 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:719 +#: stock/serializers.py:777 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:727 +#: stock/serializers.py:785 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:738 +#: stock/serializers.py:796 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:751 +#: stock/serializers.py:809 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:786 +#: stock/serializers.py:844 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:821 +#: stock/serializers.py:879 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:834 +#: stock/serializers.py:892 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:851 +#: stock/serializers.py:909 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:882 +#: stock/serializers.py:940 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:919 +#: stock/serializers.py:977 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:925 +#: stock/serializers.py:983 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1021 stock/serializers.py:1093 +#: stock/serializers.py:1079 stock/serializers.py:1156 #: stock/templates/stock/location.html:165 #: stock/templates/stock/location.html:222 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1086 templates/js/translated/stock.js:152 +#: stock/serializers.py:1149 templates/js/translated/stock.js:152 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1194 +#: stock/serializers.py:1260 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1198 +#: stock/serializers.py:1264 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1202 +#: stock/serializers.py:1268 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1226 +#: stock/serializers.py:1292 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1232 +#: stock/serializers.py:1298 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1240 +#: stock/serializers.py:1306 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1250 stock/serializers.py:1504 +#: stock/serializers.py:1316 stock/serializers.py:1570 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1329 +#: stock/serializers.py:1395 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1334 +#: stock/serializers.py:1400 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1335 +#: stock/serializers.py:1401 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1340 +#: stock/serializers.py:1406 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1341 +#: stock/serializers.py:1407 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1351 +#: stock/serializers.py:1417 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1418 +#: stock/serializers.py:1484 msgid "No Change" msgstr "" -#: stock/serializers.py:1447 +#: stock/serializers.py:1513 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1466 +#: stock/serializers.py:1532 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1494 +#: stock/serializers.py:1560 msgid "Stock transaction notes" msgstr "" @@ -9757,10 +10105,6 @@ msgstr "" msgid "Build" msgstr "Produksi" -#: stock/templates/stock/item_base.html:193 -msgid "Parent Item" -msgstr "" - #: stock/templates/stock/item_base.html:211 msgid "No manufacturer set" msgstr "" @@ -9836,11 +10180,6 @@ msgstr "" msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:437 -#: templates/js/translated/table_filters.js:435 users/models.py:174 -msgid "Expired" -msgstr "" - #: stock/templates/stock/item_base.html:439 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" @@ -9988,10 +10327,6 @@ msgstr "" msgid "Allocations" msgstr "" -#: stock/templates/stock/stock_sidebar.html:20 -msgid "Child Items" -msgstr "" - #: templates/403.html:6 templates/403.html:12 templates/403_csrf.html:7 msgid "Permission Denied" msgstr "" @@ -10466,8 +10801,8 @@ 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:393 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:245 users/models.py:402 +#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 +#: templates/js/translated/stock.js:245 users/models.py:406 msgid "Delete" msgstr "" @@ -10507,12 +10842,12 @@ msgid "No category parameter templates found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:308 -#: templates/js/translated/part.js:1646 +#: templates/js/translated/part.js:1649 msgid "Edit Template" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:309 -#: templates/js/translated/part.js:1647 +#: templates/js/translated/part.js:1650 msgid "Delete Template" msgstr "" @@ -11145,7 +11480,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2556 +#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2557 msgid "Required Quantity" msgstr "" @@ -11159,7 +11494,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3219 +#: templates/js/translated/part.js:3222 msgid "Minimum Quantity" msgstr "" @@ -11514,7 +11849,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2500 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2501 msgid "Variant stock allowed" msgstr "" @@ -11534,30 +11869,30 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2621 +#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2622 msgid "External stock" msgstr "" -#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2595 +#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2596 #: templates/js/translated/sales_order.js:1946 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2599 +#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2600 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2601 -#: templates/js/translated/part.js:1257 +#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2602 +#: templates/js/translated/part.js:1260 #: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2603 +#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2604 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2586 +#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2587 msgid "Consumable item" msgstr "" @@ -11589,7 +11924,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2485 +#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2486 msgid "Required Part" msgstr "" @@ -11758,10 +12093,6 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:991 templates/js/translated/build.js:2344 -msgid "Allocated Quantity" -msgstr "" - #: templates/js/translated/build.js:1005 msgid "Location not specified" msgstr "" @@ -11873,9 +12204,9 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2117 templates/js/translated/build.js:2479 +#: templates/js/translated/build.js:2117 templates/js/translated/build.js:2480 #: templates/js/translated/forms.js:2163 templates/js/translated/forms.js:2179 -#: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 +#: templates/js/translated/part.js:2319 templates/js/translated/part.js:2745 #: templates/js/translated/stock.js:1983 templates/js/translated/stock.js:2710 msgid "Select" msgstr "" @@ -11906,59 +12237,59 @@ msgstr "" msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2455 +#: templates/js/translated/build.js:2456 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2456 +#: templates/js/translated/build.js:2457 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2474 +#: templates/js/translated/build.js:2475 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2504 templates/js/translated/part.js:791 -#: templates/js/translated/part.js:1203 +#: templates/js/translated/build.js:2505 templates/js/translated/part.js:790 +#: templates/js/translated/part.js:1206 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2539 +#: templates/js/translated/build.js:2540 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2591 +#: templates/js/translated/build.js:2592 #: templates/js/translated/sales_order.js:1951 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2646 +#: templates/js/translated/build.js:2647 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2653 +#: templates/js/translated/build.js:2654 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2654 +#: templates/js/translated/build.js:2655 msgid "Allocate tracked items against individual build outputs" msgstr "" -#: templates/js/translated/build.js:2662 +#: templates/js/translated/build.js:2663 #: templates/js/translated/sales_order.js:2052 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2667 templates/js/translated/stock.js:1868 +#: templates/js/translated/build.js:2668 templates/js/translated/stock.js:1868 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2671 +#: templates/js/translated/build.js:2672 #: templates/js/translated/sales_order.js:2046 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2675 +#: templates/js/translated/build.js:2676 msgid "Remove stock allocation" msgstr "" @@ -12105,7 +12436,7 @@ msgid "Delete Parameters" msgstr "" #: templates/js/translated/company.js:1191 -#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2245 +#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2248 msgid "Order parts" msgstr "" @@ -12122,34 +12453,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:1279 -#: templates/js/translated/company.js:1567 templates/js/translated/part.js:799 -#: templates/js/translated/part.js:1211 +#: templates/js/translated/company.js:1567 templates/js/translated/part.js:798 +#: templates/js/translated/part.js:1214 msgid "Template part" msgstr "" #: templates/js/translated/company.js:1283 -#: templates/js/translated/company.js:1571 templates/js/translated/part.js:803 -#: templates/js/translated/part.js:1215 +#: templates/js/translated/company.js:1571 templates/js/translated/part.js:802 +#: templates/js/translated/part.js:1218 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1465 +#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1468 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1528 +#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1531 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1529 +#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1532 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1434 +#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1437 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1550 +#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1553 msgid "Delete Parameter" msgstr "" @@ -12323,15 +12654,15 @@ msgstr "" msgid "No parts required for builds" msgstr "" -#: templates/js/translated/label.js:55 templates/js/translated/report.js:38 +#: templates/js/translated/label.js:48 templates/js/translated/report.js:38 msgid "Select Items" msgstr "" -#: templates/js/translated/label.js:56 templates/js/translated/report.js:39 +#: templates/js/translated/label.js:49 templates/js/translated/report.js:39 msgid "No items selected for printing" msgstr "" -#: templates/js/translated/label.js:150 +#: templates/js/translated/label.js:143 msgid "Labels sent to printer" msgstr "" @@ -12400,7 +12731,7 @@ msgstr "" #: templates/js/translated/news.js:38 #: templates/js/translated/notification.js:46 -#: templates/js/translated/part.js:1605 +#: templates/js/translated/part.js:1608 msgid "ID" msgstr "" @@ -12481,343 +12812,343 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:333 templates/js/translated/stock.js:175 +#: templates/js/translated/part.js:332 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:353 +#: templates/js/translated/part.js:352 msgid "Create Part Category" msgstr "" -#: templates/js/translated/part.js:356 +#: templates/js/translated/part.js:355 msgid "Create new category after this one" msgstr "" -#: templates/js/translated/part.js:357 +#: templates/js/translated/part.js:356 msgid "Part category created" msgstr "" -#: templates/js/translated/part.js:371 +#: templates/js/translated/part.js:370 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:384 +#: templates/js/translated/part.js:383 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:389 +#: templates/js/translated/part.js:388 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:398 +#: templates/js/translated/part.js:397 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:402 +#: templates/js/translated/part.js:401 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:407 +#: templates/js/translated/part.js:406 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:431 +#: templates/js/translated/part.js:430 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:433 +#: templates/js/translated/part.js:432 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:434 +#: templates/js/translated/part.js:433 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:462 +#: templates/js/translated/part.js:461 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:464 +#: templates/js/translated/part.js:463 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:475 +#: templates/js/translated/part.js:474 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:532 +#: templates/js/translated/part.js:531 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:533 +#: templates/js/translated/part.js:532 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:547 +#: templates/js/translated/part.js:546 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:549 +#: templates/js/translated/part.js:548 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:550 +#: templates/js/translated/part.js:549 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:551 +#: templates/js/translated/part.js:550 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:558 +#: templates/js/translated/part.js:557 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:594 +#: templates/js/translated/part.js:593 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:596 +#: templates/js/translated/part.js:595 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:601 +#: templates/js/translated/part.js:600 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:603 +#: templates/js/translated/part.js:602 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:620 +#: templates/js/translated/part.js:619 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:630 +#: templates/js/translated/part.js:629 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:633 +#: templates/js/translated/part.js:632 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:658 +#: templates/js/translated/part.js:657 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:686 -#: templates/js/translated/table_filters.js:747 +#: templates/js/translated/part.js:685 +#: templates/js/translated/table_filters.js:752 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:689 +#: templates/js/translated/part.js:688 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:749 +#: templates/js/translated/part.js:748 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:772 +#: templates/js/translated/part.js:771 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:795 templates/js/translated/part.js:1207 +#: templates/js/translated/part.js:794 templates/js/translated/part.js:1210 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:807 +#: templates/js/translated/part.js:806 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:811 +#: templates/js/translated/part.js:810 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:890 +#: templates/js/translated/part.js:893 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:890 +#: templates/js/translated/part.js:893 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:898 +#: templates/js/translated/part.js:901 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:902 +#: templates/js/translated/part.js:905 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:1051 +#: templates/js/translated/part.js:1054 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1109 templates/js/translated/part.js:1145 +#: templates/js/translated/part.js:1112 templates/js/translated/part.js:1148 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1113 templates/js/translated/part.js:1155 +#: templates/js/translated/part.js:1116 templates/js/translated/part.js:1158 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1282 +#: templates/js/translated/part.js:1285 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1600 +#: templates/js/translated/part.js:1603 msgid "No part parameter templates found" msgstr "" -#: templates/js/translated/part.js:1663 +#: templates/js/translated/part.js:1666 msgid "Edit Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1675 +#: templates/js/translated/part.js:1678 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/js/translated/part.js:1683 +#: templates/js/translated/part.js:1686 msgid "Delete Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1717 +#: templates/js/translated/part.js:1720 #: templates/js/translated/purchase_order.js:1654 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/part.js:1861 +#: templates/js/translated/part.js:1864 #: 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:1907 +#: templates/js/translated/part.js:1910 #: templates/js/translated/purchase_order.js:2220 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1970 +#: templates/js/translated/part.js:1973 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1992 +#: templates/js/translated/part.js:1995 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2080 templates/js/translated/part.js:2506 +#: templates/js/translated/part.js:2083 templates/js/translated/part.js:2509 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:2201 +#: templates/js/translated/part.js:2204 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2206 +#: templates/js/translated/part.js:2209 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2236 +#: templates/js/translated/part.js:2239 msgid "Set category" msgstr "" -#: templates/js/translated/part.js:2287 +#: templates/js/translated/part.js:2290 msgid "part" msgstr "" -#: templates/js/translated/part.js:2288 +#: templates/js/translated/part.js:2291 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2384 +#: templates/js/translated/part.js:2387 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 +#: templates/js/translated/part.js:2534 templates/js/translated/part.js:2664 #: templates/js/translated/stock.js:2669 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2547 +#: templates/js/translated/part.js:2550 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2645 +#: templates/js/translated/part.js:2648 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2689 +#: templates/js/translated/part.js:2684 templates/js/translated/stock.js:2689 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2761 +#: templates/js/translated/part.js:2764 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2777 +#: templates/js/translated/part.js:2780 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2865 +#: templates/js/translated/part.js:2868 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2887 templates/js/translated/search.js:342 +#: templates/js/translated/part.js:2890 templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/part.js:2937 templates/js/translated/stock.js:1456 +#: templates/js/translated/part.js:2940 templates/js/translated/stock.js:1456 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2938 templates/js/translated/stock.js:1457 +#: templates/js/translated/part.js:2941 templates/js/translated/stock.js:1457 #: templates/js/translated/stock.js:1731 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2942 +#: templates/js/translated/part.js:2945 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2958 +#: templates/js/translated/part.js:2961 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2972 +#: templates/js/translated/part.js:2975 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3051 templates/js/translated/part.js:3052 +#: templates/js/translated/part.js:3054 templates/js/translated/part.js:3055 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3054 +#: templates/js/translated/part.js:3057 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3060 +#: templates/js/translated/part.js:3063 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3110 +#: templates/js/translated/part.js:3113 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3116 +#: templates/js/translated/part.js:3119 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3212 +#: templates/js/translated/part.js:3215 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3228 +#: templates/js/translated/part.js:3231 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3273 +#: templates/js/translated/part.js:3276 msgid "Minimum Stock Level" msgstr "" @@ -13593,7 +13924,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1042 users/models.py:392 +#: templates/js/translated/stock.js:1042 users/models.py:396 msgid "Add" msgstr "" @@ -13947,7 +14278,7 @@ msgid "Include subcategories" msgstr "" #: templates/js/translated/table_filters.js:287 -#: templates/js/translated/table_filters.js:759 +#: templates/js/translated/table_filters.js:764 msgid "Subscribed" msgstr "" @@ -14102,40 +14433,44 @@ msgstr "" msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:725 +#: templates/js/translated/table_filters.js:722 +msgid "Show locked parts" +msgstr "" + +#: templates/js/translated/table_filters.js:730 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:733 -#: templates/js/translated/table_filters.js:833 +#: templates/js/translated/table_filters.js:738 +#: templates/js/translated/table_filters.js:838 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:734 +#: templates/js/translated/table_filters.js:739 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:738 +#: templates/js/translated/table_filters.js:743 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:739 +#: templates/js/translated/table_filters.js:744 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:743 +#: templates/js/translated/table_filters.js:748 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:751 +#: templates/js/translated/table_filters.js:756 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:763 +#: templates/js/translated/table_filters.js:768 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:829 +#: templates/js/translated/table_filters.js:834 msgid "Has Choices" msgstr "" @@ -14207,10 +14542,6 @@ msgstr "" msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:558 -msgid "Columns" -msgstr "" - #: templates/js/translated/tables.js:561 msgid "All" msgstr "" @@ -14484,35 +14815,34 @@ msgstr "" msgid "Revoked" msgstr "" -#: users/models.py:375 +#: users/models.py:379 msgid "Permission set" msgstr "" -#: users/models.py:384 +#: users/models.py:388 msgid "Group" msgstr "" -#: users/models.py:388 +#: users/models.py:392 msgid "View" msgstr "" -#: users/models.py:388 +#: users/models.py:392 msgid "Permission to view items" msgstr "" -#: users/models.py:392 +#: users/models.py:396 msgid "Permission to add items" msgstr "" -#: users/models.py:396 +#: users/models.py:400 msgid "Change" msgstr "" -#: users/models.py:398 +#: users/models.py:402 msgid "Permissions to edit items" msgstr "" -#: users/models.py:404 +#: users/models.py:408 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 e4854b0d9b01..7377f9cababe 100644 --- a/src/backend/InvenTree/locale/it/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/it/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-07-05 02:47+0000\n" +"POT-Creation-Date: 2024-07-08 14:46+0000\n" "PO-Revision-Date: 2024-07-05 14:57\n" "Last-Translator: \n" "Language-Team: Italian\n" @@ -21,7 +21,7 @@ msgstr "" msgid "API endpoint not found" msgstr "Endpoint API non trovato" -#: InvenTree/api.py:520 +#: InvenTree/api.py:505 msgid "User does not have permission to view this model" msgstr "L'utente non ha i permessi per vedere questo modello" @@ -56,21 +56,21 @@ msgstr "I dettagli dell'errore possono essere trovati nel pannello di amministra msgid "Enter date" msgstr "Inserisci la data" -#: InvenTree/fields.py:205 InvenTree/models.py:918 build/serializers.py:452 -#: build/serializers.py:530 build/templates/build/sidebar.html:21 -#: company/models.py:817 company/templates/company/sidebar.html:37 +#: InvenTree/fields.py:205 InvenTree/models.py:921 build/serializers.py:456 +#: build/serializers.py:534 build/templates/build/sidebar.html:21 +#: company/models.py:824 company/templates/company/sidebar.html:37 #: order/models.py:1296 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:3183 part/templates/part/part_sidebar.html:63 +#: part/models.py:3193 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:230 stock/models.py:2344 stock/models.py:2466 -#: stock/serializers.py:632 stock/serializers.py:790 stock/serializers.py:886 -#: stock/serializers.py:936 stock/serializers.py:1239 stock/serializers.py:1328 -#: stock/serializers.py:1493 stock/templates/stock/stock_sidebar.html:25 +#: stock/admin.py:230 stock/models.py:2349 stock/models.py:2476 +#: stock/serializers.py:690 stock/serializers.py:848 stock/serializers.py:944 +#: stock/serializers.py:994 stock/serializers.py:1305 stock/serializers.py:1394 +#: stock/serializers.py:1559 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:1081 +#: templates/js/translated/part.js:1084 #: templates/js/translated/purchase_order.js:2200 #: templates/js/translated/return_order.js:775 #: templates/js/translated/sales_order.js:1103 @@ -371,41 +371,41 @@ msgstr "Metadati Plugin" msgid "JSON metadata field, for use by external plugins" msgstr "Campo di metadati JSON, da utilizzare con plugin esterni" -#: InvenTree/models.py:408 +#: InvenTree/models.py:411 msgid "Improperly formatted pattern" msgstr "Schema formattato impropriamente" -#: InvenTree/models.py:415 +#: InvenTree/models.py:418 msgid "Unknown format key specified" msgstr "Formato chiave sconosciuta" -#: InvenTree/models.py:421 +#: InvenTree/models.py:424 msgid "Missing required format key" msgstr "Formato chiave mancante" -#: InvenTree/models.py:432 +#: InvenTree/models.py:435 msgid "Reference field cannot be empty" msgstr "Il campo di riferimento non può essere vuoto" -#: InvenTree/models.py:440 +#: InvenTree/models.py:443 msgid "Reference must match required pattern" msgstr "Il campo deve corrispondere al modello richiesto" -#: InvenTree/models.py:471 +#: InvenTree/models.py:474 msgid "Reference number is too large" msgstr "Numero di riferimento troppo grande" -#: InvenTree/models.py:719 +#: InvenTree/models.py:722 msgid "Duplicate names cannot exist under the same parent" msgstr "Nomi duplicati non possono esistere sotto lo stesso genitore" -#: InvenTree/models.py:736 +#: InvenTree/models.py:739 msgid "Invalid choice" msgstr "Scelta non valida" -#: InvenTree/models.py:766 common/models.py:2678 common/models.py:3103 -#: common/serializers.py:408 company/models.py:580 machine/models.py:24 -#: part/models.py:891 part/models.py:3639 plugin/models.py:51 +#: InvenTree/models.py:769 common/models.py:2659 common/models.py:3089 +#: common/serializers.py:412 company/models.py:587 machine/models.py:24 +#: part/models.py:895 part/models.py:3660 plugin/models.py:51 #: report/models.py:150 stock/models.py:74 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -417,20 +417,20 @@ msgstr "Scelta non valida" #: templates/js/translated/company.js:724 #: templates/js/translated/company.js:913 #: templates/js/translated/company.js:1165 -#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1187 -#: templates/js/translated/part.js:1475 templates/js/translated/part.js:1611 -#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2716 +#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1190 +#: templates/js/translated/part.js:1478 templates/js/translated/part.js:1614 +#: templates/js/translated/part.js:2752 templates/js/translated/stock.js:2716 msgid "Name" msgstr "Nome" -#: InvenTree/models.py:772 build/models.py:235 -#: build/templates/build/detail.html:24 common/models.py:138 -#: company/models.py:509 company/models.py:808 +#: InvenTree/models.py:775 build/models.py:242 +#: build/templates/build/detail.html:24 common/models.py:143 +#: company/models.py:515 company/models.py:815 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 -#: order/models.py:1329 part/admin.py:305 part/admin.py:408 part/models.py:914 -#: part/models.py:3654 part/templates/part/category.html:82 +#: order/models.py:1329 part/admin.py:305 part/admin.py:408 part/models.py:918 +#: part/models.py:3675 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:156 #: report/models.py:510 report/models.py:536 @@ -444,10 +444,10 @@ msgstr "Nome" #: templates/js/translated/build.js:2139 templates/js/translated/company.js:519 #: templates/js/translated/company.js:1330 #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 -#: templates/js/translated/order.js:298 templates/js/translated/part.js:1239 -#: templates/js/translated/part.js:1484 templates/js/translated/part.js:1622 -#: templates/js/translated/part.js:1959 templates/js/translated/part.js:2355 -#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2897 +#: templates/js/translated/order.js:298 templates/js/translated/part.js:1242 +#: templates/js/translated/part.js:1487 templates/js/translated/part.js:1625 +#: templates/js/translated/part.js:1962 templates/js/translated/part.js:2358 +#: templates/js/translated/part.js:2788 templates/js/translated/part.js:2900 #: templates/js/translated/plugin.js:80 #: templates/js/translated/purchase_order.js:1706 #: templates/js/translated/purchase_order.js:1849 @@ -460,53 +460,53 @@ msgstr "Nome" msgid "Description" msgstr "Descrizione" -#: InvenTree/models.py:773 stock/models.py:81 +#: InvenTree/models.py:776 stock/models.py:81 msgid "Description (optional)" msgstr "Descrizione (opzionale)" -#: InvenTree/models.py:788 templates/js/translated/part.js:2794 +#: InvenTree/models.py:791 templates/js/translated/part.js:2797 #: templates/js/translated/stock.js:2757 msgid "Path" msgstr "Percorso" -#: InvenTree/models.py:918 +#: InvenTree/models.py:921 msgid "Markdown notes (optional)" msgstr "Note di Markdown (opzionale)" -#: InvenTree/models.py:947 +#: InvenTree/models.py:950 msgid "Barcode Data" msgstr "Dati del Codice a Barre" -#: InvenTree/models.py:948 +#: InvenTree/models.py:951 msgid "Third party barcode data" msgstr "Dati Codice a Barre applicazioni di terze parti" -#: InvenTree/models.py:954 +#: InvenTree/models.py:957 msgid "Barcode Hash" msgstr "Codice a Barre" -#: InvenTree/models.py:955 +#: InvenTree/models.py:958 msgid "Unique hash of barcode data" msgstr "Codice univoco del codice a barre" -#: InvenTree/models.py:1008 +#: InvenTree/models.py:1011 msgid "Existing barcode found" msgstr "Trovato codice a barre esistente" -#: InvenTree/models.py:1051 +#: InvenTree/models.py:1054 msgid "Server Error" msgstr "Errore del server" -#: InvenTree/models.py:1052 +#: InvenTree/models.py:1055 msgid "An error has been logged by the server." msgstr "Un errore è stato loggato dal server." -#: InvenTree/serializers.py:63 part/models.py:4192 +#: InvenTree/serializers.py:63 part/models.py:4277 msgid "Must be a valid number" msgstr "Deve essere un numero valido" #: InvenTree/serializers.py:100 company/models.py:186 -#: company/templates/company/company_base.html:112 part/models.py:3001 +#: company/templates/company/company_base.html:112 part/models.py:3011 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -556,16 +556,16 @@ msgstr "" msgid "Is this user a superuser" msgstr "" -#: InvenTree/serializers.py:445 common/models.py:2683 company/models.py:163 -#: company/models.py:782 machine/models.py:39 part/admin.py:88 -#: part/models.py:1081 plugin/models.py:66 +#: InvenTree/serializers.py:445 common/models.py:2664 company/models.py:163 +#: company/models.py:789 machine/models.py:39 part/admin.py:88 +#: part/models.py:1085 plugin/models.py:66 #: 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 #: templates/js/translated/table_filters.js:520 #: templates/js/translated/table_filters.js:716 -#: templates/js/translated/table_filters.js:796 users/models.py:182 +#: templates/js/translated/table_filters.js:801 users/models.py:182 msgid "Active" msgstr "Attivo" @@ -597,7 +597,7 @@ msgstr "" msgid "Invalid value" msgstr "Valore non valido" -#: InvenTree/serializers.py:581 +#: InvenTree/serializers.py:581 importer/models.py:60 msgid "Data File" msgstr "File dati" @@ -651,7 +651,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:1174 +#: InvenTree/status.py:66 part/serializers.py:1202 msgid "Background worker check failed" msgstr "Controllo in background non riuscito" @@ -711,47 +711,48 @@ msgstr "Informazioni sistema" msgid "About InvenTree" msgstr "Informazioni Su InvenTree" -#: build/api.py:255 +#: build/api.py:248 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:4070 templates/js/translated/bom.js:997 -#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 +#: build/api.py:292 build/serializers.py:1190 part/models.py:4155 +#: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 +#: templates/js/translated/build.js:2521 #: 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:4064 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 +#: build/api.py:293 build/serializers.py:1191 part/models.py:4149 +#: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 +#: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2530 #: templates/js/translated/table_filters.js:186 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:587 msgid "Optional" msgstr "Opzionale" -#: build/api.py:301 templates/js/translated/table_filters.js:408 +#: build/api.py:294 templates/js/translated/table_filters.js:408 #: templates/js/translated/table_filters.js:579 msgid "Tracked" msgstr "Monitorato" -#: build/api.py:303 part/admin.py:144 templates/js/translated/build.js:1744 -#: templates/js/translated/build.js:2629 +#: build/api.py:296 part/admin.py:144 templates/js/translated/build.js:1744 +#: templates/js/translated/build.js:2630 #: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:571 msgid "Allocated" msgstr "Allocato" -#: build/api.py:311 company/models.py:872 company/serializers.py:359 +#: build/api.py:304 company/models.py:879 company/serializers.py:386 #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2561 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2562 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:234 -#: templates/js/translated/part.js:693 templates/js/translated/part.js:695 -#: templates/js/translated/part.js:700 +#: 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 #: templates/js/translated/table_filters.js:575 msgid "Available" @@ -760,7 +761,7 @@ msgstr "Disponibile" #: build/models.py:85 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 -#: stock/serializers.py:82 templates/email/build_order_completed.html:16 +#: stock/serializers.py:84 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:2892 msgid "Build Order" @@ -781,35 +782,43 @@ msgstr "Ordini di Produzione" msgid "Assembly BOM has not been validated" msgstr "" -#: build/models.py:134 part/templates/part/part_base.html:145 -msgid "Part is not active" -msgstr "L'articolo non è attivo" +#: build/models.py:134 +#, fuzzy +#| msgid "Stock item cannot be created for virtual parts" +msgid "Build order cannot be created for an inactive part" +msgstr "Non è possibile creare un elemento di magazzino per articoli virtuali" -#: build/models.py:148 +#: build/models.py:141 +#, fuzzy +#| msgid "Build output cannot be specified for allocation of untracked parts" +msgid "Build order cannot be created for an unlocked part" +msgstr "L'output di produzione non deve essere specificato per l'ubicazione delle parti non tracciate" + +#: build/models.py:155 msgid "Invalid choice for parent build" msgstr "Scelta non valida per la produzione genitore" -#: build/models.py:159 order/models.py:240 +#: build/models.py:166 order/models.py:240 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:165 +#: build/models.py:172 msgid "Build order part cannot be changed" msgstr "L'ordine di costruzione della parte non può essere cambiata" -#: build/models.py:226 +#: build/models.py:233 msgid "Build Order Reference" msgstr "Riferimento Ordine Di Produzione" -#: build/models.py:227 order/models.py:463 order/models.py:926 -#: order/models.py:1289 order/models.py:2020 part/admin.py:411 -#: part/models.py:4085 part/templates/part/upload_bom.html:54 +#: build/models.py:234 build/serializers.py:1189 order/models.py:463 +#: order/models.py:926 order/models.py:1289 order/models.py:2046 +#: part/admin.py:411 part/models.py:4170 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: 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/build.js:2513 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2065 #: templates/js/translated/return_order.js:728 @@ -817,27 +826,28 @@ msgstr "Riferimento Ordine Di Produzione" msgid "Reference" msgstr "Riferimento" -#: build/models.py:238 +#: build/models.py:245 msgid "Brief description of the build (optional)" msgstr "Breve descrizione della build (facoltativo)" -#: build/models.py:246 build/templates/build/build_base.html:183 +#: build/models.py:253 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Produzione Genitore" -#: build/models.py:247 +#: build/models.py:254 msgid "BuildOrder to which this build is allocated" msgstr "Ordine di produzione a cui questa produzione viene assegnata" -#: build/models.py:252 build/templates/build/build_base.html:97 -#: build/templates/build/detail.html:29 company/models.py:1026 order/api.py:805 -#: order/models.py:1414 order/models.py:1559 order/models.py:1560 -#: part/api.py:1494 part/api.py:1788 part/models.py:395 part/models.py:3012 -#: part/models.py:3156 part/models.py:3303 part/models.py:3324 -#: part/models.py:3346 part/models.py:3477 part/models.py:3787 -#: part/models.py:3943 part/models.py:4036 part/models.py:4395 -#: part/serializers.py:1120 part/serializers.py:1726 +#: build/models.py:259 build/serializers.py:1184 +#: build/templates/build/build_base.html:97 +#: build/templates/build/detail.html:29 company/models.py:1034 order/api.py:759 +#: order/models.py:1419 order/models.py:1574 order/models.py:1575 +#: part/api.py:1480 part/api.py:1776 part/models.py:396 part/models.py:3022 +#: part/models.py:3166 part/models.py:3314 part/models.py:3335 +#: part/models.py:3357 part/models.py:3493 part/models.py:3827 +#: part/models.py:3990 part/models.py:4121 part/models.py:4480 +#: part/serializers.py:1148 part/serializers.py:1758 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -848,8 +858,8 @@ msgstr "Ordine di produzione a cui questa produzione viene assegnata" #: 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:109 stock/serializers.py:157 stock/serializers.py:423 -#: stock/serializers.py:820 templates/InvenTree/search.html:82 +#: stock/serializers.py:111 stock/serializers.py:159 stock/serializers.py:443 +#: stock/serializers.py:878 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 @@ -862,8 +872,8 @@ msgstr "Ordine di produzione a cui questa produzione viene assegnata" #: templates/js/translated/company.js:1116 #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 -#: templates/js/translated/part.js:1944 templates/js/translated/part.js:2016 -#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:1947 templates/js/translated/part.js:2019 +#: templates/js/translated/part.js:2327 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:1848 @@ -881,107 +891,107 @@ msgstr "Ordine di produzione a cui questa produzione viene assegnata" msgid "Part" msgstr "Articolo" -#: build/models.py:260 +#: build/models.py:267 msgid "Select part to build" msgstr "Selezionare parte da produrre" -#: build/models.py:265 +#: build/models.py:272 msgid "Sales Order Reference" msgstr "Numero di riferimento ordine di vendita" -#: build/models.py:269 +#: build/models.py:276 msgid "SalesOrder to which this build is allocated" msgstr "Ordine di vendita a cui questa produzione viene assegnata" -#: build/models.py:274 build/serializers.py:999 +#: build/models.py:281 build/serializers.py:1003 #: templates/js/translated/build.js:1731 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "Posizione Di Origine" -#: build/models.py:278 +#: build/models.py:285 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:283 +#: build/models.py:290 msgid "Destination Location" msgstr "Posizione Della Destinazione" -#: build/models.py:287 +#: build/models.py:294 msgid "Select location where the completed items will be stored" msgstr "Seleziona il luogo in cui gli articoli completati saranno immagazzinati" -#: build/models.py:291 +#: build/models.py:298 msgid "Build Quantity" msgstr "Quantità Produzione" -#: build/models.py:294 +#: build/models.py:301 msgid "Number of stock items to build" msgstr "Numero di articoli da costruire" -#: build/models.py:298 +#: build/models.py:305 msgid "Completed items" msgstr "Articoli completati" -#: build/models.py:300 +#: build/models.py:307 msgid "Number of stock items which have been completed" msgstr "Numero di articoli di magazzino che sono stati completati" -#: build/models.py:304 +#: build/models.py:311 msgid "Build Status" msgstr "Stato Produzione" -#: build/models.py:308 +#: build/models.py:315 msgid "Build status code" msgstr "Codice stato di produzione" -#: build/models.py:317 build/serializers.py:286 order/serializers.py:580 -#: stock/models.py:839 stock/serializers.py:74 stock/serializers.py:1458 +#: build/models.py:324 build/serializers.py:290 order/serializers.py:629 +#: stock/models.py:839 stock/serializers.py:76 stock/serializers.py:1524 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "Codice Lotto" -#: build/models.py:321 build/serializers.py:287 +#: build/models.py:328 build/serializers.py:291 msgid "Batch code for this build output" msgstr "Codice del lotto per questa produzione" -#: build/models.py:324 order/models.py:316 order/serializers.py:119 -#: part/models.py:1115 part/templates/part/part_base.html:310 +#: build/models.py:331 order/models.py:316 order/serializers.py:127 +#: part/models.py:1125 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:328 +#: build/models.py:335 msgid "Target completion date" msgstr "Data completamento obiettivo" -#: build/models.py:329 +#: build/models.py:336 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:332 order/models.py:521 order/models.py:2065 +#: build/models.py:339 order/models.py:521 order/models.py:2091 #: templates/js/translated/build.js:2247 msgid "Completion Date" msgstr "Data di completamento" -#: build/models.py:338 +#: build/models.py:345 msgid "completed by" msgstr "Completato da" -#: build/models.py:346 templates/js/translated/build.js:2207 +#: build/models.py:353 templates/js/translated/build.js:2207 msgid "Issued by" msgstr "Rilasciato da" -#: build/models.py:347 +#: build/models.py:354 msgid "User who issued this build order" msgstr "Utente che ha emesso questo ordine di costruzione" -#: build/models.py:355 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 common/models.py:147 +#: build/models.py:362 build/templates/build/build_base.html:204 +#: build/templates/build/detail.html:122 common/models.py:152 #: order/models.py:334 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:232 part/models.py:1132 +#: order/templates/order/sales_order_base.html:232 part/models.py:1142 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 @@ -992,11 +1002,11 @@ msgstr "Utente che ha emesso questo ordine di costruzione" msgid "Responsible" msgstr "Responsabile" -#: build/models.py:356 +#: build/models.py:363 msgid "User or group responsible for this build order" msgstr "Utente o gruppo responsabile di questo ordine di produzione" -#: build/models.py:361 build/templates/build/detail.html:108 +#: build/models.py:368 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 @@ -1008,21 +1018,22 @@ msgstr "Utente o gruppo responsabile di questo ordine di produzione" msgid "External Link" msgstr "Collegamento esterno" -#: build/models.py:362 common/models.py:3244 part/models.py:956 +#: build/models.py:369 common/models.py:3230 part/models.py:960 #: stock/models.py:835 msgid "Link to external URL" msgstr "Link a URL esterno" -#: build/models.py:366 +#: build/models.py:373 msgid "Build Priority" msgstr "Priorità di produzione" -#: build/models.py:369 +#: build/models.py:376 msgid "Priority of this build order" msgstr "Priorità di questo ordine di produzione" -#: build/models.py:376 common/models.py:131 order/admin.py:18 -#: order/models.py:298 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:383 common/models.py:122 common/models.py:136 +#: order/admin.py:18 order/models.py:298 order/serializers.py:108 +#: templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 #: templates/js/translated/purchase_order.js:1710 #: templates/js/translated/return_order.js:317 @@ -1032,65 +1043,66 @@ msgstr "Priorità di questo ordine di produzione" msgid "Project Code" msgstr "Codice del progetto" -#: build/models.py:377 +#: build/models.py:384 msgid "Project code for this build order" msgstr "Codice del progetto per questo ordine di produzione" -#: build/models.py:610 build/models.py:675 +#: build/models.py:617 build/models.py:682 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:632 +#: build/models.py:639 #, python-brace-format msgid "Build order {build} has been completed" msgstr "L'ordine di produzione {build} è stato completato" -#: build/models.py:638 +#: build/models.py:645 msgid "A build order has been completed" msgstr "L'ordine di produzione è stato completato" -#: build/models.py:864 build/models.py:949 +#: build/models.py:871 build/models.py:956 msgid "No build output specified" msgstr "Nessun output di produzione specificato" -#: build/models.py:867 +#: build/models.py:874 msgid "Build output is already completed" msgstr "La produzione è stata completata" -#: build/models.py:870 +#: build/models.py:877 msgid "Build output does not match Build Order" msgstr "L'output della produzione non corrisponde all'ordine di compilazione" -#: build/models.py:953 build/serializers.py:219 build/serializers.py:268 -#: build/serializers.py:866 order/models.py:559 order/serializers.py:432 -#: order/serializers.py:575 part/serializers.py:1484 part/serializers.py:1884 -#: stock/models.py:678 stock/models.py:1496 stock/serializers.py:603 +#: build/models.py:960 build/serializers.py:223 build/serializers.py:272 +#: build/serializers.py:870 order/models.py:559 order/serializers.py:461 +#: order/serializers.py:624 part/serializers.py:1515 part/serializers.py:1921 +#: stock/models.py:678 stock/models.py:1496 stock/serializers.py:661 msgid "Quantity must be greater than zero" msgstr "La quantità deve essere maggiore di zero" -#: build/models.py:958 build/serializers.py:224 +#: build/models.py:965 build/serializers.py:228 msgid "Quantity cannot be greater than the output quantity" msgstr "La quantità non può essere maggiore della quantità in uscita" -#: build/models.py:1018 build/serializers.py:547 +#: build/models.py:1025 build/serializers.py:551 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1359 +#: build/models.py:1366 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1384 +#: build/models.py:1391 msgid "Build object" msgstr "Crea oggetto" -#: build/models.py:1398 build/models.py:1654 build/serializers.py:206 -#: build/serializers.py:253 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2563 -#: order/models.py:1272 order/models.py:1931 order/serializers.py:1327 +#: build/models.py:1405 build/models.py:1661 build/serializers.py:210 +#: build/serializers.py:257 build/serializers.py:1194 +#: build/templates/build/build_base.html:102 +#: build/templates/build/detail.html:34 common/models.py:2544 +#: order/models.py:1272 order/models.py:1957 order/serializers.py:1383 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:410 -#: part/forms.py:48 part/models.py:3170 part/models.py:4058 +#: part/forms.py:48 part/models.py:3180 part/models.py:4143 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1100,7 +1112,7 @@ msgstr "Crea oggetto" #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:169 stock/admin.py:159 -#: stock/serializers.py:125 stock/serializers.py:165 stock/serializers.py:594 +#: stock/serializers.py:127 stock/serializers.py:167 stock/serializers.py:652 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 @@ -1111,8 +1123,8 @@ msgstr "Crea oggetto" #: templates/js/translated/build.js:1746 templates/js/translated/build.js:2357 #: templates/js/translated/company.js:1818 #: templates/js/translated/model_renderers.js:236 -#: templates/js/translated/order.js:304 templates/js/translated/part.js:962 -#: templates/js/translated/part.js:1812 templates/js/translated/part.js:3342 +#: templates/js/translated/order.js:304 templates/js/translated/part.js:965 +#: templates/js/translated/part.js:1815 templates/js/translated/part.js:3345 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 @@ -1132,38 +1144,38 @@ msgstr "Crea oggetto" msgid "Quantity" msgstr "Quantità" -#: build/models.py:1399 +#: build/models.py:1406 msgid "Required quantity for build order" msgstr "Quantità richiesta per l'ordine di costruzione" -#: build/models.py:1479 +#: build/models.py:1486 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:1488 +#: build/models.py:1495 #, 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:1498 order/models.py:1882 +#: build/models.py:1505 order/models.py:1908 msgid "Stock item is over-allocated" msgstr "L'articolo in giacenza è sovrallocato" -#: build/models.py:1504 order/models.py:1885 +#: build/models.py:1511 order/models.py:1911 msgid "Allocation quantity must be greater than zero" msgstr "La quantità di assegnazione deve essere maggiore di zero" -#: build/models.py:1510 +#: build/models.py:1517 msgid "Quantity must be 1 for serialized stock" msgstr "La quantità deve essere 1 per lo stock serializzato" -#: build/models.py:1569 +#: build/models.py:1576 msgid "Selected stock item does not match BOM line" msgstr "L'articolo in stock selezionato non corrisponde alla voce nella BOM" -#: build/models.py:1641 build/serializers.py:846 order/serializers.py:1171 -#: order/serializers.py:1192 stock/models.py:359 stock/serializers.py:91 -#: stock/serializers.py:697 stock/serializers.py:1177 stock/serializers.py:1289 +#: build/models.py:1648 build/serializers.py:850 order/serializers.py:1227 +#: order/serializers.py:1248 stock/models.py:359 stock/serializers.py:93 +#: stock/serializers.py:755 stock/serializers.py:1243 stock/serializers.py:1355 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 @@ -1179,70 +1191,76 @@ msgstr "L'articolo in stock selezionato non corrisponde alla voce nella BOM" msgid "Stock Item" msgstr "Articoli in magazzino" -#: build/models.py:1642 +#: build/models.py:1649 msgid "Source stock item" msgstr "Origine giacenza articolo" -#: build/models.py:1655 +#: build/models.py:1662 msgid "Stock quantity to allocate to build" msgstr "Quantità di magazzino da assegnare per la produzione" -#: build/models.py:1663 +#: build/models.py:1670 msgid "Install into" msgstr "Installa in" -#: build/models.py:1664 +#: build/models.py:1671 msgid "Destination stock item" msgstr "Destinazione articolo in giacenza" -#: build/serializers.py:156 build/serializers.py:875 +#: build/serializers.py:89 build/serializers.py:1185 part/admin.py:41 +#: part/admin.py:405 part/models.py:3992 part/stocktake.py:220 +#: stock/admin.py:156 +msgid "Part Name" +msgstr "Nome Articolo" + +#: build/serializers.py:160 build/serializers.py:879 #: templates/js/translated/build.js:1322 msgid "Build Output" msgstr "Genera Output" -#: build/serializers.py:168 +#: build/serializers.py:172 msgid "Build output does not match the parent build" msgstr "L'output generato non corrisponde alla produzione principale" -#: build/serializers.py:172 +#: build/serializers.py:176 msgid "Output part does not match BuildOrder part" msgstr "L'output non corrisponde alle parti dell'ordine di produzione" -#: build/serializers.py:176 +#: build/serializers.py:180 msgid "This build output has already been completed" msgstr "Questa produzione è stata già completata" -#: build/serializers.py:187 +#: build/serializers.py:191 msgid "This build output is not fully allocated" msgstr "Questo output non è stato completamente assegnato" -#: build/serializers.py:207 build/serializers.py:254 +#: build/serializers.py:211 build/serializers.py:258 msgid "Enter quantity for build output" msgstr "Inserisci la quantità per l'output di compilazione" -#: build/serializers.py:275 +#: build/serializers.py:279 msgid "Integer quantity required for trackable parts" msgstr "Quantità totale richiesta per articoli rintracciabili" -#: build/serializers.py:278 +#: build/serializers.py:282 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:293 order/serializers.py:588 order/serializers.py:1331 -#: stock/serializers.py:614 templates/js/translated/purchase_order.js:1153 +#: build/serializers.py:297 order/serializers.py:637 order/serializers.py:1387 +#: stock/serializers.py:672 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:294 +#: build/serializers.py:298 msgid "Enter serial numbers for build outputs" msgstr "Inserisci i numeri di serie per gli output di compilazione (build option)" -#: build/serializers.py:299 build/serializers.py:440 build/serializers.py:512 -#: order/serializers.py:564 order/serializers.py:672 order/serializers.py:1656 -#: part/serializers.py:1140 stock/serializers.py:100 stock/serializers.py:625 -#: stock/serializers.py:785 stock/serializers.py:881 stock/serializers.py:1321 -#: stock/serializers.py:1577 stock/templates/stock/item_base.html:394 +#: build/serializers.py:303 build/serializers.py:444 build/serializers.py:516 +#: order/serializers.py:613 order/serializers.py:721 order/serializers.py:1714 +#: part/serializers.py:1168 stock/serializers.py:102 stock/serializers.py:683 +#: stock/serializers.py:843 stock/serializers.py:939 stock/serializers.py:1387 +#: stock/serializers.py:1643 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 @@ -1258,54 +1276,54 @@ msgstr "Inserisci i numeri di serie per gli output di compilazione (build option msgid "Location" msgstr "Posizione" -#: build/serializers.py:300 +#: build/serializers.py:304 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:314 +#: build/serializers.py:318 msgid "Auto Allocate Serial Numbers" msgstr "Numeri di Serie Assegnazione automatica" -#: build/serializers.py:315 +#: build/serializers.py:319 msgid "Automatically allocate required items with matching serial numbers" msgstr "Assegna automaticamente gli articoli richiesti con i numeri di serie corrispondenti" -#: build/serializers.py:330 +#: build/serializers.py:334 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:355 stock/api.py:1041 +#: build/serializers.py:359 stock/api.py:1033 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:402 build/serializers.py:464 build/serializers.py:553 +#: build/serializers.py:406 build/serializers.py:468 build/serializers.py:557 msgid "A list of build outputs must be provided" msgstr "Deve essere fornito un elenco dei risultati di produzione" -#: build/serializers.py:441 +#: build/serializers.py:445 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:447 +#: build/serializers.py:451 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:448 +#: build/serializers.py:452 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:453 +#: build/serializers.py:457 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:513 +#: build/serializers.py:517 msgid "Location for completed build outputs" msgstr "Posizione per gli output di build completati" -#: build/serializers.py:519 build/templates/build/build_base.html:151 +#: build/serializers.py:523 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:950 -#: order/models.py:2044 order/serializers.py:596 stock/admin.py:164 -#: stock/serializers.py:932 stock/serializers.py:1465 +#: order/models.py:2070 order/serializers.py:645 stock/admin.py:164 +#: stock/serializers.py:990 stock/serializers.py:1531 #: 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 @@ -1317,193 +1335,253 @@ msgstr "Posizione per gli output di build completati" msgid "Status" msgstr "Stato" -#: build/serializers.py:525 +#: build/serializers.py:529 msgid "Accept Incomplete Allocation" msgstr "Accetta Assegnazione Incompleta" -#: build/serializers.py:526 +#: build/serializers.py:530 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:611 +#: build/serializers.py:615 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:612 +#: build/serializers.py:616 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:618 +#: build/serializers.py:622 msgid "Remove Incomplete Outputs" msgstr "Rimuovi Output Incompleti" -#: build/serializers.py:619 +#: build/serializers.py:623 msgid "Delete any build outputs which have not been completed" msgstr "Elimina gli output di produzione che non sono stati completati" -#: build/serializers.py:646 +#: build/serializers.py:650 msgid "Not permitted" msgstr "Non permesso" -#: build/serializers.py:647 +#: build/serializers.py:651 msgid "Accept as consumed by this build order" msgstr "Accetta come consumato da questo ordine di produzione" -#: build/serializers.py:648 +#: build/serializers.py:652 msgid "Deallocate before completing this build order" msgstr "Non assegnare prima di aver completato questo ordine di produzione" -#: build/serializers.py:678 +#: build/serializers.py:682 msgid "Overallocated Stock" msgstr "Giacenza in eccesso assegnata" -#: build/serializers.py:680 +#: build/serializers.py:684 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:690 +#: build/serializers.py:694 msgid "Some stock items have been overallocated" msgstr "Alcuni articoli di magazzino sono stati assegnati in eccedenza" -#: build/serializers.py:695 +#: build/serializers.py:699 msgid "Accept Unallocated" msgstr "Accetta Non Assegnato" -#: build/serializers.py:696 +#: build/serializers.py:700 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:706 templates/js/translated/build.js:315 +#: build/serializers.py:710 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:711 order/serializers.py:300 order/serializers.py:1234 +#: build/serializers.py:715 order/serializers.py:319 order/serializers.py:1290 msgid "Accept Incomplete" msgstr "Accetta Incompleta" -#: build/serializers.py:712 +#: build/serializers.py:716 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:722 templates/js/translated/build.js:319 +#: build/serializers.py:726 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:731 templates/js/translated/build.js:303 +#: build/serializers.py:735 templates/js/translated/build.js:303 msgid "Build order has incomplete outputs" msgstr "L'ordine di produzione ha output incompleti" -#: build/serializers.py:769 +#: build/serializers.py:773 msgid "Build Line" msgstr "Linea di produzione" -#: build/serializers.py:779 +#: build/serializers.py:783 msgid "Build output" msgstr "Genera Output" -#: build/serializers.py:787 +#: build/serializers.py:791 msgid "Build output must point to the same build" msgstr "L'output di produzione deve puntare alla stessa produzione" -#: build/serializers.py:823 +#: build/serializers.py:827 msgid "Build Line Item" msgstr "Articolo linea di produzione" -#: build/serializers.py:837 +#: build/serializers.py:841 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:852 stock/serializers.py:1190 +#: build/serializers.py:856 stock/serializers.py:1256 msgid "Item must be in stock" msgstr "L'articolo deve essere disponibile" -#: build/serializers.py:900 order/serializers.py:1225 +#: build/serializers.py:904 order/serializers.py:1281 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Quantità disponibile ({q}) superata" -#: build/serializers.py:906 +#: build/serializers.py:910 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:913 +#: build/serializers.py:917 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:937 order/serializers.py:1477 +#: build/serializers.py:941 order/serializers.py:1533 msgid "Allocation items must be provided" msgstr "Deve essere indicata l'allocazione dell'articolo" -#: build/serializers.py:1000 +#: build/serializers.py:1004 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:1008 +#: build/serializers.py:1012 msgid "Exclude Location" msgstr "Escludi Ubicazione" -#: build/serializers.py:1009 +#: build/serializers.py:1013 msgid "Exclude stock items from this selected location" msgstr "Escludi gli elementi stock da questa ubicazione selezionata" -#: build/serializers.py:1014 +#: build/serializers.py:1018 msgid "Interchangeable Stock" msgstr "Scorte Intercambiabili" -#: build/serializers.py:1015 +#: build/serializers.py:1019 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:1020 +#: build/serializers.py:1024 msgid "Substitute Stock" msgstr "Sostituisci Giacenze" -#: build/serializers.py:1021 +#: build/serializers.py:1025 msgid "Allow allocation of substitute parts" msgstr "Consenti l'allocazione delle parti sostitutive" -#: build/serializers.py:1026 +#: build/serializers.py:1030 msgid "Optional Items" msgstr "Articoli Opzionali" -#: build/serializers.py:1027 +#: build/serializers.py:1031 msgid "Allocate optional BOM items to build order" msgstr "Assegna gli elementi opzionali della distinta base all'ordine di produzione" -#: build/serializers.py:1049 +#: build/serializers.py:1053 msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1139 part/models.py:3953 part/models.py:4387 -#: stock/api.py:804 +#: build/serializers.py:1095 +#, fuzzy +#| msgid "Supplier Part Orders" +msgid "Supplier Part Number" +msgstr "Ordini articoli fornitore" + +#: build/serializers.py:1096 company/models.py:500 +msgid "Manufacturer Part Number" +msgstr "Codice articolo produttore" + +#: build/serializers.py:1097 stock/admin.py:53 stock/admin.py:175 +#: stock/serializers.py:454 +msgid "Location Name" +msgstr "Nome Ubicazione" + +#: build/serializers.py:1098 +#, fuzzy +#| msgid "Build Order Reference" +msgid "Build Reference" +msgstr "Riferimento Ordine Di Produzione" + +#: build/serializers.py:1099 +#, fuzzy +#| msgid "Reference" +msgid "BOM Reference" +msgstr "Riferimento" + +#: build/serializers.py:1186 part/admin.py:402 part/models.py:3993 +msgid "Part IPN" +msgstr "IPN Articolo" + +#: build/serializers.py:1192 common/models.py:1488 part/admin.py:113 +#: part/models.py:1068 templates/js/translated/table_filters.js:147 +#: templates/js/translated/table_filters.js:223 +#: templates/js/translated/table_filters.js:776 +msgid "Trackable" +msgstr "Tracciabile" + +#: build/serializers.py:1196 part/models.py:4000 part/models.py:4472 +#: stock/api.py:796 msgid "BOM Item" msgstr "Distinta base (Bom)" -#: build/serializers.py:1148 templates/js/translated/index.js:130 +#: build/serializers.py:1205 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1153 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:828 part/serializers.py:1502 +#: build/serializers.py:1210 part/admin.py:132 part/bom.py:173 +#: part/serializers.py:856 part/serializers.py:1533 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2613 templates/js/translated/part.js:710 -#: templates/js/translated/part.js:2149 +#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709 +#: templates/js/translated/part.js:2152 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "Ordinato" -#: build/serializers.py:1158 part/serializers.py:1504 -#: templates/js/translated/build.js:2617 +#: build/serializers.py:1215 part/serializers.py:1535 +#: templates/js/translated/build.js:2618 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1163 part/bom.py:172 part/serializers.py:1527 +#: build/serializers.py:1220 part/bom.py:172 part/serializers.py:1558 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" msgstr "Disponibilità in magazzino" +#: build/serializers.py:1224 +#, fuzzy +#| msgid "Substitute Stock" +msgid "Available Substitute Stock" +msgstr "Sostituisci Giacenze" + +#: build/serializers.py:1225 +#, fuzzy +#| msgid "Available Stock" +msgid "Available Variant Stock" +msgstr "Disponibilità in magazzino" + +#: build/serializers.py:1226 +#, fuzzy +#| msgid "Available Stock" +msgid "Total Available Stock" +msgstr "Disponibilità in magazzino" + +#: build/serializers.py:1227 part/serializers.py:862 +msgid "External Stock" +msgstr "" + #: build/status_codes.py:11 generic/states/tests.py:17 order/status_codes.py:12 #: order/status_codes.py:37 order/status_codes.py:64 order/status_codes.py:82 #: templates/js/translated/table_filters.js:598 @@ -1519,7 +1597,8 @@ msgstr "Produzione" msgid "Cancelled" msgstr "Annullato" -#: build/status_codes.py:14 generic/states/tests.py:19 order/status_codes.py:14 +#: build/status_codes.py:14 generic/states/tests.py:19 importer/models.py:468 +#: importer/status_codes.py:19 order/status_codes.py:14 #: order/status_codes.py:44 order/status_codes.py:69 #: order/templates/order/order_base.html:158 #: order/templates/order/sales_order_base.html:165 report/models.py:444 @@ -1652,11 +1731,12 @@ msgstr "Lo stock non è stato completamente assegnato a questo ordine di produzi #: build/templates/build/build_base.html:160 #: build/templates/build/detail.html:138 order/models.py:309 -#: order/models.py:1307 order/templates/order/order_base.html:186 +#: order/models.py:1307 order/serializers.py:174 +#: order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: 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:1831 +#: templates/js/translated/build.js:2239 templates/js/translated/part.js:1834 #: templates/js/translated/purchase_order.js:1739 #: templates/js/translated/purchase_order.js:2147 #: templates/js/translated/return_order.js:346 @@ -1689,8 +1769,8 @@ msgid "Completed Outputs" msgstr "Outputs Completati" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1463 order/models.py:845 -#: order/models.py:1551 order/models.py:1665 order/models.py:1819 +#: build/templates/build/detail.html:101 order/api.py:1384 order/models.py:845 +#: order/models.py:1566 order/models.py:1681 order/models.py:1840 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 @@ -1740,7 +1820,7 @@ 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:1443 +#: build/templates/build/detail.html:49 order/models.py:1448 #: templates/js/translated/purchase_order.js:2189 msgid "Destination" msgstr "Destinazione" @@ -1892,31 +1972,31 @@ msgstr "Dettagli Ordine di Produzione" msgid "Incomplete Outputs" msgstr "Output Incompleti" -#: common/api.py:689 +#: common/api.py:690 msgid "Is Link" msgstr "" -#: common/api.py:697 +#: common/api.py:698 msgid "Is File" msgstr "" -#: common/api.py:739 +#: common/api.py:740 msgid "User does not have permission to delete this attachment" msgstr "" -#: common/currency.py:130 +#: common/currency.py:132 msgid "Invalid currency code" msgstr "" -#: common/currency.py:132 +#: common/currency.py:134 msgid "Duplicate currency code" msgstr "" -#: common/currency.py:137 +#: common/currency.py:139 msgid "No valid currency codes provided" msgstr "" -#: common/currency.py:154 +#: common/currency.py:156 msgid "No plugin" msgstr "" @@ -1970,1635 +2050,1608 @@ msgstr "Orario dell'ultimo aggiornamento" msgid "Site URL is locked by configuration" msgstr "" -#: common/models.py:132 +#: common/models.py:137 msgid "Unique project code" msgstr "Codice unico del progetto" -#: common/models.py:139 +#: common/models.py:144 msgid "Project description" msgstr "Descrizione del progetto" -#: common/models.py:148 +#: common/models.py:153 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:765 +#: common/models.py:770 msgid "Settings key (must be unique - case insensitive)" msgstr "Tasto impostazioni (deve essere univoco - maiuscole e minuscole)" -#: common/models.py:769 +#: common/models.py:774 msgid "Settings value" msgstr "Valore impostazioni" -#: common/models.py:821 +#: common/models.py:826 msgid "Chosen value is not a valid option" msgstr "Il valore specificato non è un opzione valida" -#: common/models.py:837 +#: common/models.py:842 msgid "Value must be a boolean value" msgstr "Il valore deve essere un valore booleano" -#: common/models.py:845 +#: common/models.py:850 msgid "Value must be an integer value" msgstr "Il valore deve essere un intero" -#: common/models.py:882 +#: common/models.py:887 msgid "Key string must be unique" msgstr "La stringa chiave deve essere univoca" -#: common/models.py:1114 +#: common/models.py:1119 msgid "No group" msgstr "Nessun gruppo" -#: common/models.py:1213 +#: common/models.py:1218 msgid "Restart required" msgstr "Riavvio richiesto" -#: common/models.py:1215 +#: common/models.py:1220 msgid "A setting has been changed which requires a server restart" msgstr "È stata modificata un'impostazione che richiede un riavvio del server" -#: common/models.py:1222 +#: common/models.py:1227 msgid "Pending migrations" msgstr "" -#: common/models.py:1223 +#: common/models.py:1228 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1228 +#: common/models.py:1233 msgid "Server Instance Name" msgstr "Nome Istanza Del Server" -#: common/models.py:1230 +#: common/models.py:1235 msgid "String descriptor for the server instance" msgstr "Descrittore stringa per l'istanza del server" -#: common/models.py:1234 +#: common/models.py:1239 msgid "Use instance name" msgstr "Utilizza nome istanza" -#: common/models.py:1235 +#: common/models.py:1240 msgid "Use the instance name in the title-bar" msgstr "Usa il nome dell'istanza nella barra del titolo" -#: common/models.py:1240 +#: common/models.py:1245 msgid "Restrict showing `about`" msgstr "Limita visualizzazione `Informazioni`" -#: common/models.py:1241 +#: common/models.py:1246 msgid "Show the `about` modal only to superusers" msgstr "Mostra la modalità `Informazioni` solo ai superusers" -#: common/models.py:1246 company/models.py:111 company/models.py:112 +#: common/models.py:1251 company/models.py:111 company/models.py:112 msgid "Company name" msgstr "Nome azienda" -#: common/models.py:1247 +#: common/models.py:1252 msgid "Internal company name" msgstr "Nome interno dell'azienda" -#: common/models.py:1251 +#: common/models.py:1256 msgid "Base URL" msgstr "URL Base" -#: common/models.py:1252 +#: common/models.py:1257 msgid "Base URL for server instance" msgstr "URL di base per l'istanza del server" -#: common/models.py:1258 +#: common/models.py:1263 msgid "Default Currency" msgstr "Valuta predefinita" -#: common/models.py:1259 +#: common/models.py:1264 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1265 +#: common/models.py:1270 msgid "Supported Currencies" msgstr "" -#: common/models.py:1266 +#: common/models.py:1271 msgid "List of supported currency codes" msgstr "" -#: common/models.py:1272 +#: common/models.py:1277 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1274 +#: common/models.py:1279 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1277 common/models.py:1333 common/models.py:1346 -#: common/models.py:1354 common/models.py:1363 common/models.py:1372 -#: common/models.py:1596 common/models.py:1618 common/models.py:1733 -#: common/models.py:2100 +#: common/models.py:1282 common/models.py:1338 common/models.py:1351 +#: common/models.py:1359 common/models.py:1368 common/models.py:1377 +#: common/models.py:1601 common/models.py:1623 common/models.py:1738 +#: common/models.py:2111 msgid "days" msgstr "giorni" -#: common/models.py:1281 +#: common/models.py:1286 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1282 +#: common/models.py:1287 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1287 +#: common/models.py:1292 msgid "Download from URL" msgstr "Scarica dall'URL" -#: common/models.py:1289 +#: common/models.py:1294 msgid "Allow download of remote images and files from external URL" msgstr "Consenti il download di immagini e file remoti da URL esterno" -#: common/models.py:1295 +#: common/models.py:1300 msgid "Download Size Limit" msgstr "Limite Dimensione Download" -#: common/models.py:1296 +#: common/models.py:1301 msgid "Maximum allowable download size for remote image" msgstr "Dimensione massima consentita per il download dell'immagine remota" -#: common/models.py:1302 +#: common/models.py:1307 msgid "User-agent used to download from URL" msgstr "User-agent utilizzato per scaricare dall'URL" -#: common/models.py:1304 +#: common/models.py:1309 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "Consenti di sovrascrivere l'user-agent utilizzato per scaricare immagini e file da URL esterno (lasciare vuoto per il predefinito)" -#: common/models.py:1309 +#: common/models.py:1314 msgid "Strict URL Validation" msgstr "" -#: common/models.py:1310 +#: common/models.py:1315 msgid "Require schema specification when validating URLs" msgstr "" -#: common/models.py:1315 +#: common/models.py:1320 msgid "Require confirm" msgstr "Richiesta conferma" -#: common/models.py:1316 +#: common/models.py:1321 msgid "Require explicit user confirmation for certain action." msgstr "Richiede una conferma esplicita dell'utente per una determinata azione." -#: common/models.py:1321 +#: common/models.py:1326 msgid "Tree Depth" msgstr "Profondità livelli" -#: common/models.py:1323 +#: common/models.py:1328 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "Profondità predefinita per la visualizzazione ad albero. I livelli più in alto possono essere caricati più lentamente quando necessari." -#: common/models.py:1329 +#: common/models.py:1334 msgid "Update Check Interval" msgstr "Aggiorna intervallo di controllo" -#: common/models.py:1330 +#: common/models.py:1335 msgid "How often to check for updates (set to zero to disable)" msgstr "Quanto spesso controllare gli aggiornamenti (impostare a zero per disabilitare)" -#: common/models.py:1336 +#: common/models.py:1341 msgid "Automatic Backup" msgstr "Backup automatico" -#: common/models.py:1337 +#: common/models.py:1342 msgid "Enable automatic backup of database and media files" msgstr "Abilita il backup automatico di database e file multimediali" -#: common/models.py:1342 +#: common/models.py:1347 msgid "Auto Backup Interval" msgstr "Intervallo Di Backup Automatico" -#: common/models.py:1343 +#: common/models.py:1348 msgid "Specify number of days between automated backup events" msgstr "Definisci i giorni intercorrenti tra un backup automatico e l'altro" -#: common/models.py:1349 +#: common/models.py:1354 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1351 +#: common/models.py:1356 msgid "Background task results will be deleted after specified number of days" msgstr "I risultati delle attività in background verranno eliminati dopo un determinato numero di giorni" -#: common/models.py:1358 +#: common/models.py:1363 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1360 +#: common/models.py:1365 msgid "Error logs will be deleted after specified number of days" msgstr "I log di errore verranno eliminati dopo il numero specificato di giorni" -#: common/models.py:1367 +#: common/models.py:1372 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1369 +#: common/models.py:1374 msgid "User notifications will be deleted after specified number of days" msgstr "Le notifiche dell'utente verranno eliminate dopo il numero di giorni specificato" -#: common/models.py:1376 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1381 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "Supporto Codice A Barre" -#: common/models.py:1377 +#: common/models.py:1382 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1382 +#: common/models.py:1387 msgid "Barcode Input Delay" msgstr "Codice a barre inserito scaduto" -#: common/models.py:1383 +#: common/models.py:1388 msgid "Barcode input processing delay time" msgstr "Tempo di ritardo di elaborazione codice a barre" -#: common/models.py:1389 +#: common/models.py:1394 msgid "Barcode Webcam Support" msgstr "Codice a Barre Supporto Webcam" -#: common/models.py:1390 +#: common/models.py:1395 msgid "Allow barcode scanning via webcam in browser" msgstr "Consenti la scansione del codice a barre tramite webcam nel browser" -#: common/models.py:1395 +#: common/models.py:1400 msgid "Barcode Show Data" msgstr "" -#: common/models.py:1396 +#: common/models.py:1401 msgid "Display barcode data in browser as text" msgstr "" -#: common/models.py:1401 +#: common/models.py:1406 msgid "Part Revisions" msgstr "" -#: common/models.py:1402 +#: common/models.py:1407 msgid "Enable revision field for Part" msgstr "Abilita il campo revisione per l'articolo" -#: common/models.py:1407 +#: common/models.py:1412 msgid "Allow Deletion from Assembly" msgstr "" -#: common/models.py:1408 +#: common/models.py:1413 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/models.py:1413 +#: common/models.py:1418 msgid "IPN Regex" msgstr "" -#: common/models.py:1414 +#: common/models.py:1419 msgid "Regular expression pattern for matching Part IPN" msgstr "Schema di espressione regolare per l'articolo corrispondente IPN" -#: common/models.py:1417 +#: common/models.py:1422 msgid "Allow Duplicate IPN" msgstr "Consenti duplicati IPN" -#: common/models.py:1418 +#: common/models.py:1423 msgid "Allow multiple parts to share the same IPN" msgstr "Permetti a più articoli di condividere lo stesso IPN" -#: common/models.py:1423 +#: common/models.py:1428 msgid "Allow Editing IPN" msgstr "Permetti modifiche al part number interno (IPN)" -#: common/models.py:1424 +#: common/models.py:1429 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:1429 +#: common/models.py:1434 msgid "Copy Part BOM Data" msgstr "Copia I Dati Della distinta base dell'articolo" -#: common/models.py:1430 +#: common/models.py:1435 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:1435 +#: common/models.py:1440 msgid "Copy Part Parameter Data" msgstr "Copia I Dati Parametro dell'articolo" -#: common/models.py:1436 +#: common/models.py:1441 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:1441 +#: common/models.py:1446 msgid "Copy Part Test Data" msgstr "Copia I Dati dell'Articolo Test" -#: common/models.py:1442 +#: common/models.py:1447 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:1447 +#: common/models.py:1452 msgid "Copy Category Parameter Templates" msgstr "Copia Template Parametri Categoria" -#: common/models.py:1448 +#: common/models.py:1453 msgid "Copy category parameter templates when creating a part" msgstr "Copia i modelli dei parametri categoria quando si crea un articolo" -#: common/models.py:1453 part/admin.py:108 part/models.py:3795 +#: common/models.py:1458 part/admin.py:108 part/models.py:3835 #: report/models.py:294 report/models.py:361 report/serializers.py:90 -#: report/serializers.py:131 stock/serializers.py:227 +#: report/serializers.py:131 stock/serializers.py:232 #: templates/js/translated/table_filters.js:139 -#: templates/js/translated/table_filters.js:767 +#: templates/js/translated/table_filters.js:772 msgid "Template" msgstr "Modello" -#: common/models.py:1454 +#: common/models.py:1459 msgid "Parts are templates by default" msgstr "Gli articoli sono modelli per impostazione predefinita" -#: common/models.py:1459 part/admin.py:91 part/admin.py:425 part/models.py:1052 +#: common/models.py:1464 part/admin.py:91 part/admin.py:425 part/models.py:1056 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 -#: templates/js/translated/table_filters.js:721 +#: templates/js/translated/table_filters.js:726 msgid "Assembly" msgstr "Assemblaggio" -#: common/models.py:1460 +#: common/models.py:1465 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:1465 part/admin.py:95 part/models.py:1058 -#: templates/js/translated/table_filters.js:729 +#: common/models.py:1470 part/admin.py:95 part/models.py:1062 +#: templates/js/translated/table_filters.js:734 msgid "Component" msgstr "Componente" -#: common/models.py:1466 +#: common/models.py:1471 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:1471 part/admin.py:100 part/models.py:1070 +#: common/models.py:1476 part/admin.py:100 part/models.py:1074 msgid "Purchaseable" msgstr "Acquistabile" -#: common/models.py:1472 +#: common/models.py:1477 msgid "Parts are purchaseable by default" msgstr "Gli articoli sono acquistabili per impostazione predefinita" -#: common/models.py:1477 part/admin.py:104 part/models.py:1076 -#: templates/js/translated/table_filters.js:755 +#: common/models.py:1482 part/admin.py:104 part/models.py:1080 +#: templates/js/translated/table_filters.js:760 msgid "Salable" msgstr "Vendibile" -#: common/models.py:1478 +#: common/models.py:1483 msgid "Parts are salable by default" msgstr "Gli articoli sono acquistabili per impostazione predefinita" -#: common/models.py:1483 part/admin.py:113 part/models.py:1064 -#: 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:1484 +#: common/models.py:1489 msgid "Parts are trackable by default" msgstr "Gli articoli sono tracciabili per impostazione predefinita" -#: common/models.py:1489 part/admin.py:117 part/models.py:1086 +#: common/models.py:1494 part/admin.py:117 part/models.py:1096 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 -#: templates/js/translated/table_filters.js:775 +#: templates/js/translated/table_filters.js:780 msgid "Virtual" msgstr "Virtuale" -#: common/models.py:1490 +#: common/models.py:1495 msgid "Parts are virtual by default" msgstr "Gli articoli sono virtuali per impostazione predefinita" -#: common/models.py:1495 +#: common/models.py:1500 msgid "Show Import in Views" msgstr "Mostra l'importazione nelle viste" -#: common/models.py:1496 +#: common/models.py:1501 msgid "Display the import wizard in some part views" msgstr "Mostra la procedura guidata di importazione in alcune viste articoli" -#: common/models.py:1501 +#: common/models.py:1506 msgid "Show related parts" msgstr "Mostra articoli correlati" -#: common/models.py:1502 +#: common/models.py:1507 msgid "Display related parts for a part" msgstr "Visualizza parti correlate per ogni articolo" -#: common/models.py:1507 +#: common/models.py:1512 msgid "Initial Stock Data" msgstr "Dati iniziali dello stock" -#: common/models.py:1508 +#: common/models.py:1513 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:1513 templates/js/translated/part.js:107 +#: common/models.py:1518 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "Dati iniziali del fornitore" -#: common/models.py:1515 +#: common/models.py:1520 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:1521 +#: common/models.py:1526 msgid "Part Name Display Format" msgstr "Formato di visualizzazione del nome articolo" -#: common/models.py:1522 +#: common/models.py:1527 msgid "Format to display the part name" msgstr "Formato per visualizzare il nome dell'articolo" -#: common/models.py:1528 +#: common/models.py:1533 msgid "Part Category Default Icon" msgstr "Icona predefinita Categoria Articolo" -#: common/models.py:1529 +#: common/models.py:1534 msgid "Part category default icon (empty means no icon)" msgstr "Icona predefinita Categoria Articolo (vuoto significa nessuna icona)" -#: common/models.py:1533 +#: common/models.py:1538 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1535 +#: common/models.py:1540 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1541 +#: common/models.py:1546 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1543 +#: common/models.py:1548 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1554 +#: common/models.py:1559 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1556 +#: common/models.py:1561 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1567 +#: common/models.py:1572 msgid "Use Supplier Pricing" msgstr "Usa Prezzi Fornitore" -#: common/models.py:1569 +#: common/models.py:1574 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:1575 +#: common/models.py:1580 msgid "Purchase History Override" msgstr "Ignora la Cronologia Acquisti" -#: common/models.py:1577 +#: common/models.py:1582 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:1583 +#: common/models.py:1588 msgid "Use Stock Item Pricing" msgstr "Utilizzare i prezzi degli articoli in stock" -#: common/models.py:1585 +#: common/models.py:1590 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:1591 +#: common/models.py:1596 msgid "Stock Item Pricing Age" msgstr "Età dei prezzi degli articoli in stock" -#: common/models.py:1593 +#: common/models.py:1598 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:1600 +#: common/models.py:1605 msgid "Use Variant Pricing" msgstr "Utilizza Variazione di Prezzo" -#: common/models.py:1601 +#: common/models.py:1606 msgid "Include variant pricing in overall pricing calculations" msgstr "Includi la variante dei prezzi nei calcoli dei prezzi complessivi" -#: common/models.py:1606 +#: common/models.py:1611 msgid "Active Variants Only" msgstr "Solo Varianti Attive" -#: common/models.py:1608 +#: common/models.py:1613 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:1614 +#: common/models.py:1619 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1616 +#: common/models.py:1621 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:1623 +#: common/models.py:1628 msgid "Internal Prices" msgstr "Prezzi interni" -#: common/models.py:1624 +#: common/models.py:1629 msgid "Enable internal prices for parts" msgstr "Abilita prezzi interni per gli articoli" -#: common/models.py:1629 +#: common/models.py:1634 msgid "Internal Price Override" msgstr "Sovrascrivi Prezzo Interno" -#: common/models.py:1631 +#: common/models.py:1636 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:1637 +#: common/models.py:1642 msgid "Enable label printing" msgstr "Abilita stampa etichette" -#: common/models.py:1638 +#: common/models.py:1643 msgid "Enable label printing from the web interface" msgstr "Abilita la stampa di etichette dall'interfaccia web" -#: common/models.py:1643 +#: common/models.py:1648 msgid "Label Image DPI" msgstr "Etichetta Immagine DPI" -#: common/models.py:1645 +#: common/models.py:1650 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:1651 +#: common/models.py:1656 msgid "Enable Reports" msgstr "Abilita Report di Stampa" -#: common/models.py:1652 +#: common/models.py:1657 msgid "Enable generation of reports" msgstr "Abilita generazione di report di stampa" -#: common/models.py:1657 templates/stats.html:25 +#: common/models.py:1662 templates/stats.html:25 msgid "Debug Mode" msgstr "Modalità Debug" -#: common/models.py:1658 +#: common/models.py:1663 msgid "Generate reports in debug mode (HTML output)" msgstr "Genera report in modalità debug (output HTML)" -#: common/models.py:1663 +#: common/models.py:1668 msgid "Log Report Errors" msgstr "" -#: common/models.py:1664 +#: common/models.py:1669 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1669 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1674 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:302 msgid "Page Size" msgstr "Dimensioni pagina" -#: common/models.py:1670 +#: common/models.py:1675 msgid "Default page size for PDF reports" msgstr "Dimensione predefinita della pagina per i report PDF" -#: common/models.py:1675 +#: common/models.py:1680 msgid "Enable Test Reports" msgstr "Abilita Rapporto di Prova" -#: common/models.py:1676 +#: common/models.py:1681 msgid "Enable generation of test reports" msgstr "Abilita generazione di stampe di prova" -#: common/models.py:1681 +#: common/models.py:1686 msgid "Attach Test Reports" msgstr "Allega Rapporto di Prova" -#: common/models.py:1683 +#: common/models.py:1688 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:1689 +#: common/models.py:1694 msgid "Globally Unique Serials" msgstr "Seriali Unici Globali" -#: common/models.py:1690 +#: common/models.py:1695 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:1695 +#: common/models.py:1700 msgid "Autofill Serial Numbers" msgstr "Auto Riempimento Numeri Seriali" -#: common/models.py:1696 +#: common/models.py:1701 msgid "Autofill serial numbers in forms" msgstr "Auto riempimento numeri nel modulo" -#: common/models.py:1701 +#: common/models.py:1706 msgid "Delete Depleted Stock" msgstr "Elimina scorte esaurite" -#: common/models.py:1703 +#: common/models.py:1708 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1709 +#: common/models.py:1714 msgid "Batch Code Template" msgstr "Modello Codice a Barre" -#: common/models.py:1711 +#: common/models.py:1716 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:1716 +#: common/models.py:1721 msgid "Stock Expiry" msgstr "Scadenza giacenza" -#: common/models.py:1717 +#: common/models.py:1722 msgid "Enable stock expiry functionality" msgstr "Abilita funzionalità di scadenza della giacenza" -#: common/models.py:1722 +#: common/models.py:1727 msgid "Sell Expired Stock" msgstr "Vendi giacenza scaduta" -#: common/models.py:1723 +#: common/models.py:1728 msgid "Allow sale of expired stock" msgstr "Consenti la vendita di stock scaduti" -#: common/models.py:1728 +#: common/models.py:1733 msgid "Stock Stale Time" msgstr "Tempo di Scorta del Magazzino" -#: common/models.py:1730 +#: common/models.py:1735 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:1737 +#: common/models.py:1742 msgid "Build Expired Stock" msgstr "Crea giacenza scaduta" -#: common/models.py:1738 +#: common/models.py:1743 msgid "Allow building with expired stock" msgstr "Permetti produzione con stock scaduto" -#: common/models.py:1743 +#: common/models.py:1748 msgid "Stock Ownership Control" msgstr "Controllo della proprietà della giacenza" -#: common/models.py:1744 +#: common/models.py:1749 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:1749 +#: common/models.py:1754 msgid "Stock Location Default Icon" msgstr "Icona Predefinita Ubicazione di Magazzino" -#: common/models.py:1750 +#: common/models.py:1755 msgid "Stock location default icon (empty means no icon)" msgstr "Icona Predefinita Ubicazione di Magazzino (vuoto significa nessuna icona)" -#: common/models.py:1754 +#: common/models.py:1759 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1755 +#: common/models.py:1760 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1760 +#: common/models.py:1765 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1762 +#: common/models.py:1767 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1768 +#: common/models.py:1773 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1770 +#: common/models.py:1775 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1776 +#: common/models.py:1781 msgid "Build Order Reference Pattern" msgstr "Modello Di Riferimento Ordine Di Produzione" -#: common/models.py:1778 +#: common/models.py:1783 msgid "Required pattern for generating Build Order reference field" msgstr "Modello richiesto per generare il campo di riferimento ordine di produzione" -#: common/models.py:1784 common/models.py:1826 common/models.py:1848 -#: common/models.py:1884 +#: common/models.py:1789 common/models.py:1837 common/models.py:1859 +#: common/models.py:1895 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1785 common/models.py:1827 common/models.py:1849 -#: common/models.py:1885 +#: common/models.py:1790 common/models.py:1838 common/models.py:1860 +#: common/models.py:1896 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1790 +#: common/models.py:1795 msgid "Require Active Part" msgstr "" -#: common/models.py:1791 +#: common/models.py:1796 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/models.py:1796 +#: common/models.py:1801 +#, fuzzy +#| msgid "Return to Parts" +msgid "Require Locked Part" +msgstr "Ritorna agli Articoli" + +#: common/models.py:1802 +#, fuzzy +#| msgid "Print build order report" +msgid "Prevent build order creation for unlocked parts" +msgstr "Stampa report ordine di produzione" + +#: common/models.py:1807 msgid "Require Valid BOM" msgstr "" -#: common/models.py:1798 +#: common/models.py:1809 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/models.py:1804 +#: common/models.py:1815 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1806 +#: common/models.py:1817 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1812 +#: common/models.py:1823 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1813 +#: common/models.py:1824 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1818 +#: common/models.py:1829 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1820 +#: common/models.py:1831 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1832 +#: common/models.py:1843 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1834 +#: common/models.py:1845 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1840 +#: common/models.py:1851 msgid "Sales Order Reference Pattern" msgstr "Modello Di Riferimento Ordine Di Vendita" -#: common/models.py:1842 +#: common/models.py:1853 msgid "Required pattern for generating Sales Order reference field" msgstr "Modello richiesto per generare il campo di riferimento ordine di vendita" -#: common/models.py:1854 +#: common/models.py:1865 msgid "Sales Order Default Shipment" msgstr "Spedizione Predefinita Ordine Di Vendita" -#: common/models.py:1855 +#: common/models.py:1866 msgid "Enable creation of default shipment with sales orders" msgstr "Abilita la creazione di spedizioni predefinite con ordini di vendita" -#: common/models.py:1860 +#: common/models.py:1871 msgid "Edit Completed Sales Orders" msgstr "Modifica Ordini Di Vendita Completati" -#: common/models.py:1862 +#: common/models.py:1873 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:1868 +#: common/models.py:1879 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1870 +#: common/models.py:1881 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1876 +#: common/models.py:1887 msgid "Purchase Order Reference Pattern" msgstr "Modello di Riferimento Ordine D'Acquisto" -#: common/models.py:1878 +#: common/models.py:1889 msgid "Required pattern for generating Purchase Order reference field" msgstr "Modello richiesto per generare il campo di riferimento ordine di acquisto" -#: common/models.py:1890 +#: common/models.py:1901 msgid "Edit Completed Purchase Orders" msgstr "Modifica Ordini Di Acquisto Completati" -#: common/models.py:1892 +#: common/models.py:1903 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:1898 +#: common/models.py:1909 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1900 +#: common/models.py:1911 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1907 +#: common/models.py:1918 msgid "Enable password forgot" msgstr "Abilita password dimenticata" -#: common/models.py:1908 +#: common/models.py:1919 msgid "Enable password forgot function on the login pages" msgstr "Abilita la funzione password dimenticata nelle pagine di accesso" -#: common/models.py:1913 +#: common/models.py:1924 msgid "Enable registration" msgstr "Abilita registrazione" -#: common/models.py:1914 +#: common/models.py:1925 msgid "Enable self-registration for users on the login pages" msgstr "Abilita auto-registrazione per gli utenti nelle pagine di accesso" -#: common/models.py:1919 +#: common/models.py:1930 msgid "Enable SSO" msgstr "SSO abilitato" -#: common/models.py:1920 +#: common/models.py:1931 msgid "Enable SSO on the login pages" msgstr "Abilita SSO nelle pagine di accesso" -#: common/models.py:1925 +#: common/models.py:1936 msgid "Enable SSO registration" msgstr "Abilita registrazione SSO" -#: common/models.py:1927 +#: common/models.py:1938 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:1933 +#: common/models.py:1944 msgid "Enable SSO group sync" msgstr "" -#: common/models.py:1935 +#: common/models.py:1946 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/models.py:1941 +#: common/models.py:1952 msgid "SSO group key" msgstr "" -#: common/models.py:1943 +#: common/models.py:1954 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/models.py:1949 +#: common/models.py:1960 msgid "SSO group map" msgstr "" -#: common/models.py:1951 +#: common/models.py:1962 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/models.py:1957 +#: common/models.py:1968 msgid "Remove groups outside of SSO" msgstr "" -#: common/models.py:1959 +#: common/models.py:1970 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/models.py:1965 +#: common/models.py:1976 msgid "Email required" msgstr "Email richiesta" -#: common/models.py:1966 +#: common/models.py:1977 msgid "Require user to supply mail on signup" msgstr "Richiedi all'utente di fornire una email al momento dell'iscrizione" -#: common/models.py:1971 +#: common/models.py:1982 msgid "Auto-fill SSO users" msgstr "Riempimento automatico degli utenti SSO" -#: common/models.py:1973 +#: common/models.py:1984 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:1979 +#: common/models.py:1990 msgid "Mail twice" msgstr "Posta due volte" -#: common/models.py:1980 +#: common/models.py:1991 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:1985 +#: common/models.py:1996 msgid "Password twice" msgstr "Password due volte" -#: common/models.py:1986 +#: common/models.py:1997 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:1991 +#: common/models.py:2002 msgid "Allowed domains" msgstr "Domini consentiti" -#: common/models.py:1993 +#: common/models.py:2004 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1999 +#: common/models.py:2010 msgid "Group on signup" msgstr "Gruppo iscrizione" -#: common/models.py:2001 +#: common/models.py:2012 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/models.py:2007 +#: common/models.py:2018 msgid "Enforce MFA" msgstr "Applica MFA" -#: common/models.py:2008 +#: common/models.py:2019 msgid "Users must use multifactor security." msgstr "Gli utenti devono utilizzare la sicurezza a due fattori." -#: common/models.py:2013 +#: common/models.py:2024 msgid "Check plugins on startup" msgstr "Controlla i plugin all'avvio" -#: common/models.py:2015 +#: common/models.py:2026 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:2023 +#: common/models.py:2034 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2024 +#: common/models.py:2035 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2030 +#: common/models.py:2041 msgid "Enable URL integration" msgstr "Abilita l'integrazione URL" -#: common/models.py:2031 +#: common/models.py:2042 msgid "Enable plugins to add URL routes" msgstr "Attiva plugin per aggiungere percorsi URL" -#: common/models.py:2037 +#: common/models.py:2048 msgid "Enable navigation integration" msgstr "Attiva integrazione navigazione" -#: common/models.py:2038 +#: common/models.py:2049 msgid "Enable plugins to integrate into navigation" msgstr "Abilita i plugin per l'integrazione nella navigazione" -#: common/models.py:2044 +#: common/models.py:2055 msgid "Enable app integration" msgstr "Abilita l'app integrata" -#: common/models.py:2045 +#: common/models.py:2056 msgid "Enable plugins to add apps" msgstr "Abilita plugin per aggiungere applicazioni" -#: common/models.py:2051 +#: common/models.py:2062 msgid "Enable schedule integration" msgstr "Abilita integrazione pianificazione" -#: common/models.py:2052 +#: common/models.py:2063 msgid "Enable plugins to run scheduled tasks" msgstr "Abilita i plugin per eseguire le attività pianificate" -#: common/models.py:2058 +#: common/models.py:2069 msgid "Enable event integration" msgstr "Abilita eventi integrati" -#: common/models.py:2059 +#: common/models.py:2070 msgid "Enable plugins to respond to internal events" msgstr "Abilita plugin per rispondere agli eventi interni" -#: common/models.py:2065 +#: common/models.py:2076 msgid "Enable project codes" msgstr "" -#: common/models.py:2066 +#: common/models.py:2077 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2071 +#: common/models.py:2082 msgid "Stocktake Functionality" msgstr "Funzionalità Dell'Inventario" -#: common/models.py:2073 +#: common/models.py:2084 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:2079 +#: common/models.py:2090 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2081 +#: common/models.py:2092 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2087 +#: common/models.py:2098 msgid "Automatic Stocktake Period" msgstr "Inventario periodico automatico" -#: common/models.py:2089 +#: common/models.py:2100 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:2095 +#: common/models.py:2106 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2097 +#: common/models.py:2108 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:2104 +#: common/models.py:2115 msgid "Display Users full names" msgstr "" -#: common/models.py:2105 +#: common/models.py:2116 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2110 +#: common/models.py:2121 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2111 +#: common/models.py:2122 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2123 common/models.py:2533 +#: common/models.py:2134 common/models.py:2514 msgid "Settings key (must be unique - case insensitive" msgstr "Tasto impostazioni (deve essere univoco - maiuscole e minuscole" -#: common/models.py:2166 +#: common/models.py:2177 msgid "Hide inactive parts" msgstr "Nascondi Articoli Inattivi" -#: common/models.py:2168 +#: common/models.py:2179 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2174 +#: common/models.py:2185 msgid "Show subscribed parts" msgstr "Mostra articoli sottoscritti" -#: common/models.py:2175 +#: common/models.py:2186 msgid "Show subscribed parts on the homepage" msgstr "Mostra gli articoli sottoscritti nella homepage" -#: common/models.py:2180 +#: common/models.py:2191 msgid "Show subscribed categories" msgstr "Mostra le categorie sottoscritte" -#: common/models.py:2181 +#: common/models.py:2192 msgid "Show subscribed part categories on the homepage" msgstr "Mostra le categorie dei componenti sottoscritti nella homepage" -#: common/models.py:2186 +#: common/models.py:2197 msgid "Show latest parts" msgstr "Mostra ultimi articoli" -#: common/models.py:2187 +#: common/models.py:2198 msgid "Show latest parts on the homepage" msgstr "Mostra gli ultimi articoli sulla homepage" -#: common/models.py:2192 +#: common/models.py:2203 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2193 +#: common/models.py:2204 msgid "Show BOMs that await validation on the homepage" msgstr "Mostra le distinte base che attendono la convalida sulla homepage" -#: common/models.py:2198 +#: common/models.py:2209 msgid "Show recent stock changes" msgstr "Mostra le modifiche recenti alle giacenze" -#: common/models.py:2199 +#: common/models.py:2210 msgid "Show recently changed stock items on the homepage" msgstr "Mostra le giacenze modificate di recente nella homepage" -#: common/models.py:2204 +#: common/models.py:2215 msgid "Show low stock" msgstr "Mostra disponibilità scarsa delle giacenze" -#: common/models.py:2205 +#: common/models.py:2216 msgid "Show low stock items on the homepage" msgstr "Mostra disponibilità scarsa degli articoli sulla homepage" -#: common/models.py:2210 +#: common/models.py:2221 msgid "Show depleted stock" msgstr "Mostra scorte esaurite" -#: common/models.py:2211 +#: common/models.py:2222 msgid "Show depleted stock items on the homepage" msgstr "Mostra disponibilità scarsa delle scorte degli articoli sulla homepage" -#: common/models.py:2216 +#: common/models.py:2227 msgid "Show needed stock" msgstr "Mostra scorte necessarie" -#: common/models.py:2217 +#: common/models.py:2228 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:2222 +#: common/models.py:2233 msgid "Show expired stock" msgstr "Mostra scorte esaurite" -#: common/models.py:2223 +#: common/models.py:2234 msgid "Show expired stock items on the homepage" msgstr "Mostra gli articoli stock scaduti nella home page" -#: common/models.py:2228 +#: common/models.py:2239 msgid "Show stale stock" msgstr "Mostra scorte obsolete" -#: common/models.py:2229 +#: common/models.py:2240 msgid "Show stale stock items on the homepage" msgstr "Mostra gli elementi obsoleti esistenti sulla home page" -#: common/models.py:2234 +#: common/models.py:2245 msgid "Show pending builds" msgstr "Mostra produzioni in attesa" -#: common/models.py:2235 +#: common/models.py:2246 msgid "Show pending builds on the homepage" msgstr "Mostra produzioni in attesa sulla homepage" -#: common/models.py:2240 +#: common/models.py:2251 msgid "Show overdue builds" msgstr "Mostra produzioni in ritardo" -#: common/models.py:2241 +#: common/models.py:2252 msgid "Show overdue builds on the homepage" msgstr "Mostra produzioni in ritardo sulla home page" -#: common/models.py:2246 +#: common/models.py:2257 msgid "Show outstanding POs" msgstr "Mostra ordini di produzione inevasi" -#: common/models.py:2247 +#: common/models.py:2258 msgid "Show outstanding POs on the homepage" msgstr "Mostra ordini di produzione inevasi sulla home page" -#: common/models.py:2252 +#: common/models.py:2263 msgid "Show overdue POs" msgstr "Mostra Ordini di Produzione in ritardo" -#: common/models.py:2253 +#: common/models.py:2264 msgid "Show overdue POs on the homepage" msgstr "Mostra Ordini di Produzione in ritardo sulla home page" -#: common/models.py:2258 +#: common/models.py:2269 msgid "Show outstanding SOs" msgstr "Mostra Ordini di Vendita inevasi" -#: common/models.py:2259 +#: common/models.py:2270 msgid "Show outstanding SOs on the homepage" msgstr "Mostra Ordini di Vendita inevasi sulla home page" -#: common/models.py:2264 +#: common/models.py:2275 msgid "Show overdue SOs" msgstr "Mostra Ordini di Vendita in ritardo" -#: common/models.py:2265 +#: common/models.py:2276 msgid "Show overdue SOs on the homepage" msgstr "Mostra Ordini di Vendita in ritardo sulla home page" -#: common/models.py:2270 +#: common/models.py:2281 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2271 +#: common/models.py:2282 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2276 +#: common/models.py:2287 msgid "Show News" msgstr "Mostra Notizie" -#: common/models.py:2277 +#: common/models.py:2288 msgid "Show news on the homepage" msgstr "Mostra notizie sulla home page" -#: common/models.py:2282 +#: common/models.py:2293 msgid "Inline label display" msgstr "Visualizzazione dell'etichetta in linea" -#: common/models.py:2284 +#: common/models.py:2295 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:2290 +#: common/models.py:2301 msgid "Default label printer" msgstr "Stampante per etichette predefinita" -#: common/models.py:2292 +#: common/models.py:2303 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:2298 +#: common/models.py:2309 msgid "Inline report display" msgstr "Visualizzazione dell'etichetta in linea" -#: common/models.py:2300 +#: common/models.py:2311 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:2306 +#: common/models.py:2317 msgid "Search Parts" msgstr "Cerca Articoli" -#: common/models.py:2307 +#: common/models.py:2318 msgid "Display parts in search preview window" msgstr "Mostra articoli della ricerca nella finestra di anteprima" -#: common/models.py:2312 +#: common/models.py:2323 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2313 +#: common/models.py:2324 msgid "Display supplier parts in search preview window" msgstr "Mostra articoli del fornitore nella finestra di anteprima" -#: common/models.py:2318 +#: common/models.py:2329 msgid "Search Manufacturer Parts" msgstr "Cerca Articoli Produttore" -#: common/models.py:2319 +#: common/models.py:2330 msgid "Display manufacturer parts in search preview window" msgstr "Mostra articoli del produttore nella finestra di anteprima" -#: common/models.py:2324 +#: common/models.py:2335 msgid "Hide Inactive Parts" msgstr "Nascondi Articoli Inattivi" -#: common/models.py:2325 +#: common/models.py:2336 msgid "Excluded inactive parts from search preview window" msgstr "Escludi articoli inattivi dalla finestra di anteprima della ricerca" -#: common/models.py:2330 +#: common/models.py:2341 msgid "Search Categories" msgstr "Cerca Categorie" -#: common/models.py:2331 +#: common/models.py:2342 msgid "Display part categories in search preview window" msgstr "Mostra categorie articolo nella finestra di anteprima di ricerca" -#: common/models.py:2336 +#: common/models.py:2347 msgid "Search Stock" msgstr "Cerca Giacenze" -#: common/models.py:2337 +#: common/models.py:2348 msgid "Display stock items in search preview window" msgstr "Mostra articoli in giacenza nella finestra di anteprima della ricerca" -#: common/models.py:2342 +#: common/models.py:2353 msgid "Hide Unavailable Stock Items" msgstr "Nascondi elementi non disponibili" -#: common/models.py:2344 +#: common/models.py:2355 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:2350 +#: common/models.py:2361 msgid "Search Locations" msgstr "Cerca Ubicazioni" -#: common/models.py:2351 +#: common/models.py:2362 msgid "Display stock locations in search preview window" msgstr "Mostra ubicazioni delle giacenze nella finestra di anteprima di ricerca" -#: common/models.py:2356 +#: common/models.py:2367 msgid "Search Companies" msgstr "Cerca Aziende" -#: common/models.py:2357 +#: common/models.py:2368 msgid "Display companies in search preview window" msgstr "Mostra le aziende nella finestra di anteprima di ricerca" -#: common/models.py:2362 +#: common/models.py:2373 msgid "Search Build Orders" msgstr "Cerca Ordini Di Produzione" -#: common/models.py:2363 +#: common/models.py:2374 msgid "Display build orders in search preview window" msgstr "Mostra gli ordini di produzione nella finestra di anteprima di ricerca" -#: common/models.py:2368 +#: common/models.py:2379 msgid "Search Purchase Orders" msgstr "Cerca Ordini di Acquisto" -#: common/models.py:2369 +#: common/models.py:2380 msgid "Display purchase orders in search preview window" msgstr "Mostra gli ordini di acquisto nella finestra di anteprima di ricerca" -#: common/models.py:2374 +#: common/models.py:2385 msgid "Exclude Inactive Purchase Orders" msgstr "Escludi Ordini D'Acquisto Inattivi" -#: common/models.py:2376 +#: common/models.py:2387 msgid "Exclude inactive purchase orders from search preview window" msgstr "Escludi ordini di acquisto inattivi dalla finestra di anteprima di ricerca" -#: common/models.py:2382 +#: common/models.py:2393 msgid "Search Sales Orders" msgstr "Cerca Ordini Di Vendita" -#: common/models.py:2383 +#: common/models.py:2394 msgid "Display sales orders in search preview window" msgstr "Visualizzazione degli ordini di vendita nella finestra di anteprima della ricerca" -#: common/models.py:2388 +#: common/models.py:2399 msgid "Exclude Inactive Sales Orders" msgstr "Escludi Ordini Di Vendita Inattivi" -#: common/models.py:2390 +#: common/models.py:2401 msgid "Exclude inactive sales orders from search preview window" msgstr "Escludi ordini di vendita inattivi dalla finestra di anteprima di ricerca" -#: common/models.py:2396 +#: common/models.py:2407 msgid "Search Return Orders" msgstr "Cerca Ordini Di Reso" -#: common/models.py:2397 +#: common/models.py:2408 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2402 +#: common/models.py:2413 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2404 +#: common/models.py:2415 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2410 +#: common/models.py:2421 msgid "Search Preview Results" msgstr "Risultati Dell'Anteprima Di Ricerca" -#: common/models.py:2412 +#: common/models.py:2423 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:2418 +#: common/models.py:2429 msgid "Regex Search" msgstr "Ricerca con regex" -#: common/models.py:2419 +#: common/models.py:2430 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2424 +#: common/models.py:2435 msgid "Whole Word Search" msgstr "" -#: common/models.py:2425 +#: common/models.py:2436 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2430 +#: common/models.py:2441 msgid "Show Quantity in Forms" msgstr "Mostra quantità nei moduli" -#: common/models.py:2431 +#: common/models.py:2442 msgid "Display available part quantity in some forms" msgstr "Visualizzare la quantità di pezzi disponibili in alcuni moduli" -#: common/models.py:2436 +#: common/models.py:2447 msgid "Escape Key Closes Forms" msgstr "Il tasto Esc chiude i moduli" -#: common/models.py:2437 +#: common/models.py:2448 msgid "Use the escape key to close modal forms" msgstr "Utilizzare il tasto Esc per chiudere i moduli modali" -#: common/models.py:2442 +#: common/models.py:2453 msgid "Fixed Navbar" msgstr "Barra di navigazione fissa" -#: common/models.py:2443 +#: common/models.py:2454 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:2448 +#: common/models.py:2459 msgid "Date Format" msgstr "Formato Data" -#: common/models.py:2449 +#: common/models.py:2460 msgid "Preferred format for displaying dates" msgstr "Formato predefinito per visualizzare le date" -#: common/models.py:2462 part/templates/part/detail.html:41 +#: common/models.py:2473 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Programmazione Prodotto" -#: common/models.py:2463 +#: common/models.py:2474 msgid "Display part scheduling information" msgstr "Mostra informazioni sulla pianificazione del prodotto" -#: common/models.py:2468 part/templates/part/detail.html:62 +#: common/models.py:2479 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "Inventario Prodotto" -#: common/models.py:2470 +#: common/models.py:2481 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:2476 +#: common/models.py:2487 msgid "Table String Length" msgstr "Lunghezza Stringa Tabella" -#: common/models.py:2478 +#: common/models.py:2489 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2484 -msgid "Default part label template" -msgstr "" - -#: common/models.py:2485 -msgid "The part label template to be automatically selected" -msgstr "" - -#: common/models.py:2490 -msgid "Default stock item template" -msgstr "" - -#: common/models.py:2492 -msgid "The stock item label template to be automatically selected" -msgstr "" - -#: common/models.py:2498 -msgid "Default stock location label template" -msgstr "" - -#: common/models.py:2500 -msgid "The stock location label template to be automatically selected" -msgstr "" - -#: common/models.py:2506 -msgid "Default build line label template" -msgstr "" - -#: common/models.py:2508 -msgid "The build line label template to be automatically selected" -msgstr "" - -#: common/models.py:2514 +#: common/models.py:2495 msgid "Receive error reports" msgstr "" -#: common/models.py:2515 +#: common/models.py:2496 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2520 +#: common/models.py:2501 msgid "Last used printing machines" msgstr "" -#: common/models.py:2521 +#: common/models.py:2502 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2541 common/models.py:2542 common/models.py:2691 -#: common/models.py:2692 common/models.py:2937 common/models.py:2938 -#: common/models.py:3259 common/models.py:3260 part/models.py:3193 -#: part/models.py:3280 part/models.py:3353 part/models.py:3381 -#: plugin/models.py:274 plugin/models.py:275 +#: common/models.py:2522 common/models.py:2523 common/models.py:2672 +#: common/models.py:2673 common/models.py:2918 common/models.py:2919 +#: common/models.py:3245 common/models.py:3246 importer/models.py:85 +#: part/models.py:3203 part/models.py:3290 part/models.py:3364 +#: part/models.py:3392 plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 msgid "User" msgstr "Utente" -#: common/models.py:2564 +#: common/models.py:2545 msgid "Price break quantity" msgstr "Quantità prezzo limite" -#: common/models.py:2571 company/serializers.py:472 order/admin.py:42 -#: order/models.py:1346 order/models.py:2265 -#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1886 +#: common/models.py:2552 company/serializers.py:502 order/admin.py:42 +#: order/models.py:1346 order/models.py:2292 +#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1889 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:740 msgid "Price" msgstr "Prezzo" -#: common/models.py:2572 +#: common/models.py:2553 msgid "Unit price at specified quantity" msgstr "Prezzo unitario in quantità specificata" -#: common/models.py:2668 common/models.py:2853 +#: common/models.py:2649 common/models.py:2834 msgid "Endpoint" msgstr "Scadenza" -#: common/models.py:2669 +#: common/models.py:2650 msgid "Endpoint at which this webhook is received" msgstr "Scadenza in cui questa notifica viene ricevuta" -#: common/models.py:2679 +#: common/models.py:2660 msgid "Name for this webhook" msgstr "Nome per questa notifica" -#: common/models.py:2683 +#: common/models.py:2664 msgid "Is this webhook active" msgstr "È questa notifica attiva" -#: common/models.py:2699 users/models.py:159 +#: common/models.py:2680 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2700 +#: common/models.py:2681 msgid "Token for access" msgstr "Token per l'accesso" -#: common/models.py:2708 +#: common/models.py:2689 msgid "Secret" msgstr "Segreto" -#: common/models.py:2709 +#: common/models.py:2690 msgid "Shared secret for HMAC" msgstr "Segreto condiviso per HMAC" -#: common/models.py:2817 +#: common/models.py:2798 msgid "Message ID" msgstr "ID Messaggio" -#: common/models.py:2818 +#: common/models.py:2799 msgid "Unique identifier for this message" msgstr "Identificatore unico per questo messaggio" -#: common/models.py:2826 +#: common/models.py:2807 msgid "Host" msgstr "" -#: common/models.py:2827 +#: common/models.py:2808 msgid "Host from which this message was received" msgstr "Host da cui questo messaggio è stato ricevuto" -#: common/models.py:2835 +#: common/models.py:2816 msgid "Header" msgstr "Intestazione" -#: common/models.py:2836 +#: common/models.py:2817 msgid "Header of this message" msgstr "Intestazione di questo messaggio" -#: common/models.py:2843 +#: common/models.py:2824 msgid "Body" msgstr "Contenuto" -#: common/models.py:2844 +#: common/models.py:2825 msgid "Body of this message" msgstr "Contenuto di questo messaggio" -#: common/models.py:2854 +#: common/models.py:2835 msgid "Endpoint on which this message was received" msgstr "Scadenza in cui questo messaggio è stato ricevuto" -#: common/models.py:2859 +#: common/models.py:2840 msgid "Worked on" msgstr "Lavorato il" -#: common/models.py:2860 +#: common/models.py:2841 msgid "Was the work on this message finished?" msgstr "Il lavoro su questo messaggio è terminato?" -#: common/models.py:2986 +#: common/models.py:2967 msgid "Id" msgstr "" -#: common/models.py:2988 templates/js/translated/company.js:965 +#: common/models.py:2969 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "Titolo" -#: common/models.py:2990 common/models.py:3243 company/models.py:149 -#: company/models.py:440 company/models.py:500 company/models.py:799 -#: order/models.py:303 order/models.py:1301 order/models.py:1717 -#: part/admin.py:55 part/models.py:955 +#: common/models.py:2971 common/models.py:3229 company/models.py:149 +#: company/models.py:446 company/models.py:506 company/models.py:806 +#: order/models.py:303 order/models.py:1301 order/models.py:1733 +#: part/admin.py:55 part/models.py:959 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:229 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/part.js:2459 #: templates/js/translated/purchase_order.js:2040 #: templates/js/translated/purchase_order.js:2204 #: templates/js/translated/return_order.js:779 @@ -3607,28 +3660,28 @@ msgstr "Titolo" msgid "Link" msgstr "Collegamento" -#: common/models.py:2992 templates/js/translated/news.js:60 +#: common/models.py:2973 templates/js/translated/news.js:60 msgid "Published" msgstr "Pubblicato" -#: common/models.py:2994 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2975 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:2996 templates/js/translated/news.js:52 +#: common/models.py:2977 templates/js/translated/news.js:52 msgid "Summary" msgstr "Riepilogo" -#: common/models.py:2999 +#: common/models.py:2980 msgid "Read" msgstr "Letto" -#: common/models.py:2999 +#: common/models.py:2980 msgid "Was this news item read?" msgstr "Queste notizie sull'elemento sono state lette?" -#: common/models.py:3016 company/models.py:159 part/models.py:965 +#: common/models.py:2997 company/models.py:159 part/models.py:969 #: 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.html:35 @@ -3638,90 +3691,96 @@ msgstr "Queste notizie sull'elemento sono state lette?" msgid "Image" msgstr "Immagine" -#: common/models.py:3016 +#: common/models.py:2997 msgid "Image file" msgstr "File immagine" -#: common/models.py:3028 common/models.py:3227 +#: common/models.py:3009 common/models.py:3213 msgid "Target model type for this image" msgstr "" -#: common/models.py:3032 +#: common/models.py:3013 msgid "Target model ID for this image" msgstr "" -#: common/models.py:3070 +#: common/models.py:3035 +#, fuzzy +#| msgid "Customer ID" +msgid "Custom Unit" +msgstr "ID Cliente" + +#: common/models.py:3056 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:3085 +#: common/models.py:3071 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3104 +#: common/models.py:3090 msgid "Unit name" msgstr "" -#: common/models.py:3111 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3097 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3112 +#: common/models.py:3098 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3118 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3104 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3119 +#: common/models.py:3105 msgid "Unit definition" msgstr "" -#: common/models.py:3177 common/models.py:3234 stock/models.py:2461 +#: common/models.py:3163 common/models.py:3220 stock/models.py:2471 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" msgstr "Allegato" -#: common/models.py:3189 +#: common/models.py:3175 msgid "Missing file" msgstr "File mancante" -#: common/models.py:3190 +#: common/models.py:3176 msgid "Missing external link" msgstr "Link esterno mancante" -#: common/models.py:3235 +#: common/models.py:3221 msgid "Select file to attach" msgstr "Seleziona file da allegare" -#: common/models.py:3250 templates/js/translated/attachment.js:120 +#: common/models.py:3236 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" msgstr "Commento" -#: common/models.py:3251 +#: common/models.py:3237 msgid "Attachment comment" msgstr "" -#: common/models.py:3267 +#: common/models.py:3253 msgid "Upload date" msgstr "" -#: common/models.py:3268 +#: common/models.py:3254 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:3272 +#: common/models.py:3258 msgid "File size" msgstr "" -#: common/models.py:3272 +#: common/models.py:3258 msgid "File size in bytes" msgstr "" -#: common/models.py:3310 common/serializers.py:553 +#: common/models.py:3296 common/serializers.py:557 msgid "Invalid model type specified for attachment" msgstr "" @@ -3743,7 +3802,7 @@ msgstr "" msgid "A order that is assigned to you was canceled" msgstr "" -#: common/notifications.py:330 common/notifications.py:337 order/api.py:472 +#: common/notifications.py:330 common/notifications.py:337 order/api.py:454 msgid "Items Received" msgstr "Elemento ricevuto" @@ -3759,75 +3818,75 @@ msgstr "" msgid "Error raised by plugin" msgstr "Errore generato dal plugin" -#: common/serializers.py:371 +#: common/serializers.py:375 msgid "Is Running" msgstr "" -#: common/serializers.py:377 +#: common/serializers.py:381 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:383 +#: common/serializers.py:387 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:389 +#: common/serializers.py:393 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:404 +#: common/serializers.py:408 msgid "Task ID" msgstr "" -#: common/serializers.py:404 +#: common/serializers.py:408 msgid "Unique task ID" msgstr "" -#: common/serializers.py:406 +#: common/serializers.py:410 msgid "Lock" msgstr "" -#: common/serializers.py:406 +#: common/serializers.py:410 msgid "Lock time" msgstr "" -#: common/serializers.py:408 +#: common/serializers.py:412 msgid "Task name" msgstr "" -#: common/serializers.py:410 +#: common/serializers.py:414 msgid "Function" msgstr "" -#: common/serializers.py:410 +#: common/serializers.py:414 msgid "Function name" msgstr "" -#: common/serializers.py:412 +#: common/serializers.py:416 msgid "Arguments" msgstr "" -#: common/serializers.py:412 +#: common/serializers.py:416 msgid "Task arguments" msgstr "" -#: common/serializers.py:415 +#: common/serializers.py:419 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:415 +#: common/serializers.py:419 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:525 +#: common/serializers.py:529 msgid "Filename" msgstr "Nome del file" -#: common/serializers.py:532 report/api.py:100 report/serializers.py:53 +#: common/serializers.py:536 report/api.py:100 report/serializers.py:53 msgid "Model Type" msgstr "" -#: common/serializers.py:559 +#: common/serializers.py:563 msgid "User does not have permission to create or edit attachments for this model" msgstr "" @@ -3894,29 +3953,29 @@ msgstr "Articoli importati" msgid "Previous Step" msgstr "Passaggio Precedente" -#: company/api.py:144 +#: company/api.py:141 msgid "Part is Active" msgstr "" -#: company/api.py:148 +#: company/api.py:145 msgid "Manufacturer is Active" msgstr "" -#: company/api.py:281 +#: company/api.py:278 msgid "Supplier Part is Active" msgstr "" -#: company/api.py:285 +#: company/api.py:282 msgid "Internal Part is Active" msgstr "" -#: company/api.py:289 +#: company/api.py:286 msgid "Supplier is Active" msgstr "" -#: company/models.py:100 company/models.py:365 +#: company/models.py:100 company/models.py:371 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:822 +#: company/templates/company/company_base.html:12 stock/api.py:814 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "Azienda" @@ -3956,8 +4015,9 @@ msgstr "Numero di telefono di contatto" msgid "Contact email address" msgstr "Indirizzo email" -#: company/models.py:142 company/templates/company/company_base.html:145 -#: order/models.py:343 order/templates/order/order_base.html:203 +#: company/models.py:142 company/models.py:275 +#: company/templates/company/company_base.html:145 order/models.py:343 +#: order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 #: order/templates/order/sales_order_base.html:218 msgid "Contact" @@ -3976,7 +4036,9 @@ msgid "Is this company active?" msgstr "" #: company/models.py:168 -msgid "is customer" +#, fuzzy +#| msgid "is customer" +msgid "Is customer" msgstr "è un cliente" #: company/models.py:169 @@ -3984,7 +4046,9 @@ msgid "Do you sell items to this company?" msgstr "Vendi oggetti a questa azienda?" #: company/models.py:174 -msgid "is supplier" +#, fuzzy +#| msgid "is supplier" +msgid "Is supplier" msgstr "è un fornitore" #: company/models.py:175 @@ -3992,7 +4056,9 @@ msgid "Do you purchase items from this company?" msgstr "Acquistate articoli da questa azienda?" #: company/models.py:180 -msgid "is manufacturer" +#, fuzzy +#| msgid "is manufacturer" +msgid "Is manufacturer" msgstr "è un produttore" #: company/models.py:181 @@ -4003,178 +4069,191 @@ msgstr "Questa azienda produce articoli?" msgid "Default currency used for this company" msgstr "Valuta predefinita utilizzata per questa azienda" -#: company/models.py:366 +#: company/models.py:314 company/templates/company/company_base.html:124 +#: order/models.py:353 order/templates/order/order_base.html:210 +#: order/templates/order/return_order_base.html:181 +#: order/templates/order/sales_order_base.html:225 +msgid "Address" +msgstr "Indirizzo" + +#: company/models.py:315 company/templates/company/sidebar.html:35 +msgid "Addresses" +msgstr "" + +#: company/models.py:372 msgid "Select company" msgstr "" -#: company/models.py:371 +#: company/models.py:377 msgid "Address title" msgstr "" -#: company/models.py:372 +#: company/models.py:378 msgid "Title describing the address entry" msgstr "" -#: company/models.py:378 +#: company/models.py:384 msgid "Primary address" msgstr "" -#: company/models.py:379 +#: company/models.py:385 msgid "Set as primary address" msgstr "" -#: company/models.py:384 templates/js/translated/company.js:914 +#: company/models.py:390 templates/js/translated/company.js:914 #: templates/js/translated/company.js:971 msgid "Line 1" msgstr "" -#: company/models.py:385 +#: company/models.py:391 msgid "Address line 1" msgstr "" -#: company/models.py:391 templates/js/translated/company.js:915 +#: company/models.py:397 templates/js/translated/company.js:915 #: templates/js/translated/company.js:977 msgid "Line 2" msgstr "" -#: company/models.py:392 +#: company/models.py:398 msgid "Address line 2" msgstr "" -#: company/models.py:398 company/models.py:399 +#: company/models.py:404 company/models.py:405 #: templates/js/translated/company.js:983 msgid "Postal code" msgstr "" -#: company/models.py:405 +#: company/models.py:411 msgid "City/Region" msgstr "" -#: company/models.py:406 +#: company/models.py:412 msgid "Postal code city/region" msgstr "" -#: company/models.py:412 +#: company/models.py:418 msgid "State/Province" msgstr "" -#: company/models.py:413 +#: company/models.py:419 msgid "State or province" msgstr "" -#: company/models.py:419 templates/js/translated/company.js:1001 +#: company/models.py:425 templates/js/translated/company.js:1001 msgid "Country" msgstr "" -#: company/models.py:420 +#: company/models.py:426 msgid "Address country" msgstr "" -#: company/models.py:426 +#: company/models.py:432 msgid "Courier shipping notes" msgstr "" -#: company/models.py:427 +#: company/models.py:433 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:433 +#: company/models.py:439 msgid "Internal shipping notes" msgstr "" -#: company/models.py:434 +#: company/models.py:440 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:441 +#: company/models.py:447 msgid "Link to address information (external)" msgstr "" -#: company/models.py:463 company/models.py:574 company/models.py:792 +#: company/models.py:469 company/models.py:581 company/models.py:799 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:217 msgid "Manufacturer Part" msgstr "Codice articolo produttore" -#: company/models.py:475 company/models.py:760 stock/models.py:767 -#: stock/serializers.py:422 stock/templates/stock/item_base.html:142 +#: company/models.py:481 company/models.py:767 stock/models.py:767 +#: stock/serializers.py:442 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "Articolo di base" -#: company/models.py:477 company/models.py:762 +#: company/models.py:483 company/models.py:769 msgid "Select part" msgstr "Seleziona articolo" -#: company/models.py:486 company/templates/company/company_base.html:82 +#: company/models.py:492 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:525 +#: company/templates/company/supplier_part.html:145 part/serializers.py:543 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 #: templates/js/translated/company.js:1296 #: templates/js/translated/company.js:1611 -#: templates/js/translated/table_filters.js:800 +#: templates/js/translated/table_filters.js:805 msgid "Manufacturer" msgstr "Produttore" -#: company/models.py:487 +#: company/models.py:493 msgid "Select manufacturer" msgstr "Seleziona Produttore" -#: company/models.py:493 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:535 -#: templates/js/translated/company.js:351 +#: company/models.py:499 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:153 order/serializers.py:518 +#: part/serializers.py:553 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:1801 +#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1804 #: templates/js/translated/purchase_order.js:1851 #: templates/js/translated/purchase_order.js:2053 msgid "MPN" msgstr "Codice articolo produttore (MPN)" -#: company/models.py:494 -msgid "Manufacturer Part Number" -msgstr "Codice articolo produttore" - -#: company/models.py:501 +#: company/models.py:507 msgid "URL for external manufacturer part link" msgstr "URL dell'articolo del fornitore" -#: company/models.py:510 +#: company/models.py:516 msgid "Manufacturer part description" msgstr "Descrizione articolo costruttore" -#: company/models.py:581 +#: company/models.py:569 +#, fuzzy +#| msgid "Manufacturer Part Number" +msgid "Manufacturer Part Parameter" +msgstr "Codice articolo produttore" + +#: company/models.py:588 msgid "Parameter name" msgstr "Nome parametro" -#: company/models.py:587 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2453 templates/js/translated/company.js:1166 -#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1493 +#: company/models.py:594 report/templates/report/inventree_test_report.html:104 +#: stock/models.py:2463 templates/js/translated/company.js:1166 +#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1496 #: templates/js/translated/stock.js:1522 msgid "Value" msgstr "Valore" -#: company/models.py:588 +#: company/models.py:595 msgid "Parameter value" msgstr "Valore del parametro" -#: company/models.py:595 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1045 part/models.py:3646 +#: company/models.py:602 company/templates/company/supplier_part.html:168 +#: part/admin.py:57 part/models.py:1049 part/models.py:3667 #: part/templates/part/part_base.html:284 -#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1512 -#: templates/js/translated/part.js:1616 templates/js/translated/part.js:2370 +#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1515 +#: templates/js/translated/part.js:1619 templates/js/translated/part.js:2373 msgid "Units" msgstr "Unità" -#: company/models.py:596 +#: company/models.py:603 msgid "Parameter units" msgstr "Unità parametri" -#: company/models.py:648 company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 order/api.py:452 +#: company/models.py:655 company/templates/company/supplier_part.html:7 +#: company/templates/company/supplier_part.html:24 order/api.py:434 #: stock/models.py:778 stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 @@ -4182,91 +4261,91 @@ msgstr "Unità parametri" msgid "Supplier Part" msgstr "Articolo Fornitore" -#: company/models.py:700 +#: company/models.py:707 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:707 +#: company/models.py:714 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:721 +#: company/models.py:728 msgid "Linked manufacturer part must reference the same base part" msgstr "L'articolo del costruttore collegato deve riferirsi alla stesso articolo" -#: company/models.py:770 company/templates/company/company_base.html:87 +#: company/models.py:777 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:509 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:527 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 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:511 -#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1769 +#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1772 #: templates/js/translated/pricing.js:498 #: templates/js/translated/purchase_order.js:1689 -#: templates/js/translated/table_filters.js:804 +#: templates/js/translated/table_filters.js:809 msgid "Supplier" msgstr "Fornitore" -#: company/models.py:771 +#: company/models.py:778 msgid "Select supplier" msgstr "Seleziona fornitore" -#: company/models.py:777 part/serializers.py:520 +#: company/models.py:784 part/serializers.py:538 msgid "Supplier stock keeping unit" msgstr "Unità di giacenza magazzino fornitore" -#: company/models.py:783 +#: company/models.py:790 msgid "Is this supplier part active?" msgstr "" -#: company/models.py:793 +#: company/models.py:800 msgid "Select manufacturer part" msgstr "Selezionare un produttore" -#: company/models.py:800 +#: company/models.py:807 msgid "URL for external supplier part link" msgstr "URL dell'articolo del fornitore" -#: company/models.py:809 +#: company/models.py:816 msgid "Supplier part description" msgstr "Descrizione articolo fornitore" -#: company/models.py:816 company/templates/company/supplier_part.html:187 -#: part/admin.py:412 part/models.py:4093 part/templates/part/upload_bom.html:59 +#: company/models.py:823 company/templates/company/supplier_part.html:187 +#: part/admin.py:412 part/models.py:4178 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: 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:710 +#: stock/serializers.py:768 msgid "Note" msgstr "Nota" -#: company/models.py:825 part/models.py:2003 +#: company/models.py:832 part/models.py:2013 msgid "base cost" msgstr "costo base" -#: company/models.py:826 part/models.py:2004 +#: company/models.py:833 part/models.py:2014 msgid "Minimum charge (e.g. stocking fee)" msgstr "Onere minimo (ad esempio tassa di stoccaggio)" -#: company/models.py:833 company/templates/company/supplier_part.html:160 -#: stock/admin.py:228 stock/models.py:798 stock/serializers.py:1475 +#: company/models.py:840 company/templates/company/supplier_part.html:160 +#: stock/admin.py:228 stock/models.py:798 stock/serializers.py:1541 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 msgid "Packaging" msgstr "Confezionamento" -#: company/models.py:834 +#: company/models.py:841 msgid "Part packaging" msgstr "Imballaggio del pezzo" -#: company/models.py:839 templates/js/translated/company.js:1651 -#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 +#: company/models.py:846 templates/js/translated/company.js:1651 +#: templates/js/translated/part.js:1825 templates/js/translated/part.js:1881 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 #: templates/js/translated/purchase_order.js:1103 @@ -4275,35 +4354,47 @@ msgstr "Imballaggio del pezzo" msgid "Pack Quantity" msgstr "Quantità Confezione" -#: company/models.py:841 +#: company/models.py:848 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:860 part/models.py:2010 +#: company/models.py:867 part/models.py:2020 msgid "multiple" msgstr "multiplo" -#: company/models.py:861 +#: company/models.py:868 msgid "Order multiple" msgstr "Ordine multiplo" -#: company/models.py:873 +#: company/models.py:880 msgid "Quantity available from supplier" msgstr "Quantità disponibile dal fornitore" -#: company/models.py:879 +#: company/models.py:886 msgid "Availability Updated" msgstr "Disponibilità Aggiornata" -#: company/models.py:880 +#: company/models.py:887 msgid "Date of last update of availability data" msgstr "Data dell’ultimo aggiornamento dei dati sulla disponibilità" -#: company/serializers.py:161 +#: company/models.py:1015 +#, fuzzy +#| msgid "Supplier Pricing" +msgid "Supplier Price Break" +msgstr "Prezzo del Fornitore" + +#: company/serializers.py:174 msgid "Default currency used for this supplier" msgstr "Valuta predefinita utilizzata per questo fornitore" -#: company/serializers.py:357 part/admin.py:126 +#: company/serializers.py:210 +#, fuzzy +#| msgid "Company name" +msgid "Company Name" +msgstr "Nome azienda" + +#: company/serializers.py:384 part/admin.py:126 part/serializers.py:855 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:355 @@ -4315,7 +4406,7 @@ msgstr "In magazzino" #: templates/js/translated/company.js:1287 #: templates/js/translated/company.js:1575 #: templates/js/translated/model_renderers.js:312 -#: templates/js/translated/part.js:815 templates/js/translated/part.js:1219 +#: templates/js/translated/part.js:814 templates/js/translated/part.js:1222 msgid "Inactive" msgstr "Inattivo" @@ -4374,16 +4465,16 @@ msgid "Delete image" msgstr "Elimina immagine" #: company/templates/company/company_base.html:92 order/models.py:938 -#: order/models.py:2032 order/templates/order/return_order_base.html:131 +#: order/models.py:2058 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:148 stock/models.py:820 -#: stock/models.py:821 stock/serializers.py:1225 +#: stock/models.py:821 stock/serializers.py:1291 #: 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:295 #: templates/js/translated/sales_order.js:820 #: templates/js/translated/stock.js:2959 -#: templates/js/translated/table_filters.js:808 +#: templates/js/translated/table_filters.js:813 msgid "Customer" msgstr "Cliente" @@ -4391,13 +4482,6 @@ msgstr "Cliente" msgid "Uses default currency" msgstr "Valuta predefinita" -#: company/templates/company/company_base.html:124 order/models.py:353 -#: order/templates/order/order_base.html:210 -#: order/templates/order/return_order_base.html:181 -#: order/templates/order/sales_order_base.html:225 -msgid "Address" -msgstr "Indirizzo" - #: company/templates/company/company_base.html:131 msgid "Phone" msgstr "Telefono" @@ -4577,7 +4661,8 @@ msgid "Delete manufacturer part" msgstr "Cancella articolo produttore" #: company/templates/company/manufacturer_part.html:65 -#: company/templates/company/supplier_part.html:97 order/api.py:458 +#: company/templates/company/supplier_part.html:97 order/api.py:440 +#: order/serializers.py:526 msgid "Internal Part" msgstr "Articolo interno" @@ -4587,7 +4672,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:832 +#: part/admin.py:122 part/serializers.py:860 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4608,7 +4693,7 @@ msgid "New Parameter" msgstr "Nuovo Parametro" #: company/templates/company/manufacturer_part.html:196 -#: templates/js/translated/part.js:1423 +#: templates/js/translated/part.js:1426 msgid "Add Parameter" msgstr "" @@ -4632,10 +4717,6 @@ msgstr "Elementi in Giacenza Impegnati" msgid "Contacts" msgstr "Contatti" -#: company/templates/company/sidebar.html:35 -msgid "Addresses" -msgstr "" - #: company/templates/company/supplier_part.html:50 #: templates/js/translated/company.js:1526 msgid "Supplier part actions" @@ -4677,9 +4758,9 @@ msgstr "Elimina Articolo Fornitore" 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:519 -#: templates/js/translated/company.js:349 templates/js/translated/part.js:1787 +#: company/templates/company/supplier_part.html:139 order/serializers.py:515 +#: part/bom.py:279 part/bom.py:311 part/serializers.py:537 +#: templates/js/translated/company.js:349 templates/js/translated/part.js:1790 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1850 #: templates/js/translated/purchase_order.js:2028 @@ -4695,81 +4776,275 @@ msgstr "Fornitore articolo in giacenza" 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:208 -#: templates/js/translated/stock.js:537 -msgid "New Stock Item" -msgstr "Nuovo Elemento in giacenza" +#: company/templates/company/supplier_part.html:210 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:208 +#: templates/js/translated/stock.js:537 +msgid "New Stock Item" +msgstr "Nuovo Elemento in giacenza" + +#: company/templates/company/supplier_part.html:223 +msgid "Supplier Part Orders" +msgstr "Ordini articoli fornitore" + +#: company/templates/company/supplier_part.html:246 +msgid "Pricing Information" +msgstr "Informazioni Prezzi" + +#: company/templates/company/supplier_part.html:251 +#: templates/js/translated/company.js:398 +#: templates/js/translated/pricing.js:684 +msgid "Add Price Break" +msgstr "Aggiungi riduzione prezzo" + +#: company/templates/company/supplier_part.html:276 +msgid "Supplier Part QR Code" +msgstr "" + +#: company/templates/company/supplier_part.html:287 +msgid "Link Barcode to Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:359 +msgid "Update Part Availability" +msgstr "" + +#: company/templates/company/supplier_part_sidebar.html:5 +#: part/serializers.py:859 part/stocktake.py:224 +#: part/templates/part/category.html:183 +#: part/templates/part/category_sidebar.html:17 stock/admin.py:68 +#: stock/serializers.py:976 stock/serializers.py:1154 +#: stock/templates/stock/location.html:170 +#: 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:1064 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 +#: users/models.py:206 +msgid "Stock Items" +msgstr "Articoli in magazzino" + +#: company/templates/company/supplier_part_sidebar.html:9 +msgid "Supplier Part Pricing" +msgstr "Prezzo articolo del fornitore" + +#: company/views.py:32 +msgid "New Supplier" +msgstr "Nuovo Fornitore" + +#: company/views.py:38 +msgid "New Manufacturer" +msgstr "Nuovo Produttore" + +#: company/views.py:43 templates/InvenTree/search.html:210 +#: templates/navbar.html:60 +msgid "Customers" +msgstr "Clienti" + +#: company/views.py:44 +msgid "New Customer" +msgstr "Nuovo cliente" + +#: company/views.py:52 +msgid "New Company" +msgstr "Nuova Azienda" + +#: generic/states/tests.py:18 order/status_codes.py:13 +msgid "Placed" +msgstr "Inviato" + +#: importer/mixins.py:263 +#, fuzzy +#| msgid "Invalid value for overage" +msgid "Invalid export format" +msgstr "Valore non valido per eccedenza" + +#: importer/models.py:56 +msgid "Timestamp" +msgstr "" + +#: importer/models.py:61 +#, fuzzy +#| msgid "Select file to upload" +msgid "Data file to import" +msgstr "Seleziona file da caricare" + +#: importer/models.py:70 templates/js/translated/tables.js:558 +msgid "Columns" +msgstr "" + +#: importer/models.py:81 +#, fuzzy +#| msgid "Import Parts" +msgid "Import status" +msgstr "Importa Articoli" + +#: importer/models.py:91 +#, fuzzy +#| msgid "Build Details" +msgid "Field Defaults" +msgstr "Dettagli della Produzione" + +#: importer/models.py:201 +#, fuzzy +#| msgid "Required build quantity has not been completed" +msgid "Some required fields have not been mapped" +msgstr "La quantità di produzione richiesta non è stata completata" + +#: importer/models.py:346 +msgid "Column is already mapped to a database field" +msgstr "" + +#: importer/models.py:351 +msgid "Field is already mapped to a data column" +msgstr "" + +#: importer/models.py:360 +msgid "Column mapping must be linked to a valid import session" +msgstr "" + +#: importer/models.py:365 +msgid "Column does not exist in the data file" +msgstr "" + +#: importer/models.py:372 +#, fuzzy +#| msgid "User does not have permission to view this model" +msgid "Field does not exist in the target model" +msgstr "L'utente non ha i permessi per vedere questo modello" + +#: importer/models.py:376 +msgid "Selected field is read-only" +msgstr "" + +#: importer/models.py:381 importer/models.py:452 +#, fuzzy +#| msgid "Active Sessions" +msgid "Import Session" +msgstr "Sessioni Attive" + +#: importer/models.py:385 +#, fuzzy +#| msgid "File Fields" +msgid "Field" +msgstr "Campi File" + +#: importer/models.py:387 +msgid "Column" +msgstr "" + +#: importer/models.py:456 +#, fuzzy +#| msgid "Index" +msgid "Row Index" +msgstr "Indice" + +#: importer/models.py:459 +#, fuzzy +#| msgid "Original Part" +msgid "Original row data" +msgstr "Articolo Originale" + +#: importer/models.py:462 part/models.py:3841 +msgid "Data" +msgstr "Dati" + +#: importer/models.py:464 machine/models.py:110 +msgid "Errors" +msgstr "" + +#: importer/models.py:466 part/api.py:874 +msgid "Valid" +msgstr "Valido" + +#: importer/operations.py:28 importer/operations.py:49 +#, fuzzy +#| msgid "Unsupported file format: {fmt}" +msgid "Unsupported data file format" +msgstr "Formato di file non supportato: {fmt}" -#: company/templates/company/supplier_part.html:223 -msgid "Supplier Part Orders" -msgstr "Ordini articoli fornitore" +#: importer/operations.py:40 +msgid "Failed to open data file" +msgstr "" -#: company/templates/company/supplier_part.html:246 -msgid "Pricing Information" -msgstr "Informazioni Prezzi" +#: importer/operations.py:51 +msgid "Invalid data file dimensions" +msgstr "" -#: company/templates/company/supplier_part.html:251 -#: templates/js/translated/company.js:398 -#: templates/js/translated/pricing.js:684 -msgid "Add Price Break" -msgstr "Aggiungi riduzione prezzo" +#: importer/serializers.py:135 +msgid "Rows" +msgstr "" -#: company/templates/company/supplier_part.html:276 -msgid "Supplier Part QR Code" +#: importer/serializers.py:136 +msgid "List of row IDs to accept" msgstr "" -#: company/templates/company/supplier_part.html:287 -msgid "Link Barcode to Supplier Part" +#: importer/serializers.py:149 +#, fuzzy +#| msgid "No data rows provided" +msgid "No rows provided" +msgstr "Nessun dato fornito" + +#: importer/serializers.py:153 +#, fuzzy +#| msgid "Item cannot belong to itself" +msgid "Row does not belong to this session" +msgstr "L'elemento non può appartenere a se stesso" + +#: importer/serializers.py:156 +msgid "Row contains invalid data" msgstr "" -#: company/templates/company/supplier_part.html:359 -msgid "Update Part Availability" +#: importer/serializers.py:159 +#, fuzzy +#| msgid "This build output has already been completed" +msgid "Row has already been completed" +msgstr "Questa produzione è stata già completata" + +#: importer/status_codes.py:11 +msgid "Initializing" msgstr "" -#: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:831 part/stocktake.py:224 -#: part/templates/part/category.html:183 -#: part/templates/part/category_sidebar.html:17 stock/admin.py:68 -#: stock/serializers.py:918 stock/serializers.py:1091 -#: stock/templates/stock/location.html:170 -#: 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:1061 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 -#: users/models.py:206 -msgid "Stock Items" -msgstr "Articoli in magazzino" +#: importer/status_codes.py:12 +msgid "Mapping Columns" +msgstr "" -#: company/templates/company/supplier_part_sidebar.html:9 -msgid "Supplier Part Pricing" -msgstr "Prezzo articolo del fornitore" +#: importer/status_codes.py:13 +#, fuzzy +#| msgid "Import Part" +msgid "Importing Data" +msgstr "Importa Articolo" -#: company/views.py:32 -msgid "New Supplier" -msgstr "Nuovo Fornitore" +#: importer/status_codes.py:16 +#, fuzzy +#| msgid "Remove Existing Data" +msgid "Processing Data" +msgstr "Rimuovi Dati Esistenti" -#: company/views.py:38 -msgid "New Manufacturer" -msgstr "Nuovo Produttore" +#: importer/validators.py:21 +#, fuzzy +#| msgid "Image download exceeded maximum size" +msgid "Data file exceeds maximum size limit" +msgstr "Il download dell'immagine ha superato la dimensione massima" -#: company/views.py:43 templates/InvenTree/search.html:210 -#: templates/navbar.html:60 -msgid "Customers" -msgstr "Clienti" +#: importer/validators.py:26 +#, fuzzy +#| msgid "Stock item contains other items" +msgid "Data file contains no headers" +msgstr "L'elemento di magazzino contiene altri elementi" -#: company/views.py:44 -msgid "New Customer" -msgstr "Nuovo cliente" +#: importer/validators.py:29 +msgid "Data file contains too many columns" +msgstr "" -#: company/views.py:52 -msgid "New Company" -msgstr "Nuova Azienda" +#: importer/validators.py:32 +msgid "Data file contains too many rows" +msgstr "" -#: generic/states/tests.py:18 order/status_codes.py:13 -msgid "Placed" -msgstr "Inviato" +#: importer/validators.py:49 +#, fuzzy +#| msgid "Metadata must be a python dict object" +msgid "Value must be a valid dictionary object" +msgstr "I metadati devono essere un oggetto python dict" #: machine/machine_types/label_printer.py:212 msgid "Copies" @@ -4783,7 +5058,7 @@ msgstr "" msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:229 order/api.py:1467 +#: machine/machine_types/label_printer.py:229 order/api.py:1388 #: templates/js/translated/sales_order.js:1078 msgid "Unknown" msgstr "Sconosciuto" @@ -4852,10 +5127,6 @@ msgstr "" msgid "Initialized" msgstr "" -#: machine/models.py:110 -msgid "Errors" -msgstr "" - #: machine/models.py:117 msgid "Machine status" msgstr "" @@ -4881,44 +5152,44 @@ msgstr "" msgid "Total Price" msgstr "Prezzo Totale" -#: order/api.py:157 order/serializers.py:90 +#: order/api.py:149 order/serializers.py:94 #: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:113 #: order/templates/order/sales_order_base.html:122 msgid "Order Status" msgstr "Stato dell'ordine" -#: order/api.py:161 templates/js/translated/table_filters.js:194 -#: templates/js/translated/table_filters.js:779 +#: order/api.py:153 templates/js/translated/table_filters.js:194 +#: templates/js/translated/table_filters.js:784 msgid "Has Pricing" msgstr "" -#: order/api.py:236 +#: order/api.py:228 msgid "No matching purchase order found" msgstr "Nessun ordine di acquisto corrispondente trovato" -#: order/api.py:435 order/api.py:801 order/models.py:1395 order/models.py:1504 -#: order/models.py:1550 order/models.py:1664 order/models.py:1818 -#: order/models.py:2231 order/models.py:2282 +#: order/api.py:417 order/api.py:755 order/models.py:1400 order/models.py:1514 +#: order/models.py:1565 order/models.py:1680 order/models.py:1839 +#: order/models.py:2258 order/models.py:2314 #: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "Ordine" -#: order/api.py:439 order/api.py:822 +#: order/api.py:421 order/api.py:776 msgid "Order Complete" msgstr "" -#: order/api.py:462 +#: order/api.py:444 msgid "Order Pending" msgstr "" -#: order/api.py:1461 order/models.py:380 order/models.py:1396 -#: order/models.py:1505 order/templates/order/order_base.html:9 +#: order/api.py:1382 order/models.py:380 order/models.py:1401 +#: order/models.py:1515 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 -#: stock/serializers.py:118 stock/templates/stock/item_base.html:176 +#: stock/serializers.py:120 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/part.js:1746 templates/js/translated/pricing.js:804 +#: templates/js/translated/part.js:1749 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:1673 @@ -4926,8 +5197,8 @@ msgstr "" msgid "Purchase Order" msgstr "Ordine D'Acquisto" -#: order/api.py:1465 order/models.py:1981 order/models.py:2232 -#: order/models.py:2283 order/templates/order/return_order_base.html:9 +#: order/api.py:1386 order/models.py:2007 order/models.py:2259 +#: order/models.py:2315 order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report.html:13 #: templates/js/translated/return_order.js:280 @@ -4939,11 +5210,11 @@ msgstr "Restituisci ordine" msgid "Total price for this order" msgstr "Prezzo totale dell'ordine" -#: order/models.py:96 order/serializers.py:70 +#: order/models.py:96 order/serializers.py:72 msgid "Order Currency" msgstr "" -#: order/models.py:99 order/serializers.py:71 +#: order/models.py:99 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" @@ -4959,7 +5230,7 @@ msgstr "Descrizione dell'ordine (opzionale)" msgid "Select project code for this order" msgstr "Seleziona il codice del progetto per questo ordine" -#: order/models.py:303 order/models.py:1301 order/models.py:1717 +#: order/models.py:303 order/models.py:1301 order/models.py:1733 msgid "Link to external page" msgstr "Collegamento a un sito web esterno" @@ -5008,15 +5279,15 @@ msgstr "Codice di riferimento ordine fornitore" msgid "received by" msgstr "ricevuto da" -#: order/models.py:514 order/models.py:2058 +#: order/models.py:514 order/models.py:2084 msgid "Issue Date" msgstr "Data di emissione" -#: order/models.py:515 order/models.py:2059 +#: order/models.py:515 order/models.py:2085 msgid "Date order was issued" msgstr "Data di emissione ordine" -#: order/models.py:522 order/models.py:2066 +#: order/models.py:522 order/models.py:2092 msgid "Date order was completed" msgstr "Data ordine completato" @@ -5032,15 +5303,15 @@ msgstr "La quantità deve essere un numero positivo" msgid "Company to which the items are being sold" msgstr "Azienda da cui sono stati ordinati gli elementi" -#: order/models.py:962 order/models.py:2051 +#: order/models.py:962 order/models.py:2077 msgid "Customer Reference " msgstr "Riferimento Cliente " -#: order/models.py:963 order/models.py:2052 +#: order/models.py:963 order/models.py:2078 msgid "Customer order reference code" msgstr "Codice di riferimento Ordine del Cliente" -#: order/models.py:967 order/models.py:1671 +#: order/models.py:967 order/models.py:1687 #: templates/js/translated/sales_order.js:879 #: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" @@ -5102,20 +5373,26 @@ msgstr "Contesto aggiuntivo per questa voce" msgid "Unit price" msgstr "Prezzo unitario" -#: order/models.py:1380 +#: order/models.py:1361 +#, fuzzy +#| msgid "Purchase Order Items" +msgid "Purchase Order Line Item" +msgstr "Elementi D'Ordine D'Acquisto" + +#: order/models.py:1385 msgid "Supplier part must match supplier" msgstr "L'articolo del fornitore deve corrispondere al fornitore" -#: order/models.py:1387 +#: order/models.py:1392 msgid "deleted" msgstr "eliminato" -#: order/models.py:1415 +#: order/models.py:1420 msgid "Supplier part" msgstr "Articolo Fornitore" -#: order/models.py:1422 order/templates/order/order_base.html:196 -#: templates/js/translated/part.js:1870 templates/js/translated/part.js:1902 +#: order/models.py:1427 order/templates/order/order_base.html:196 +#: templates/js/translated/part.js:1873 templates/js/translated/part.js:1905 #: templates/js/translated/purchase_order.js:1306 #: templates/js/translated/purchase_order.js:2169 #: templates/js/translated/return_order.js:763 @@ -5124,196 +5401,238 @@ msgstr "Articolo Fornitore" msgid "Received" msgstr "Ricevuto" -#: order/models.py:1423 +#: order/models.py:1428 msgid "Number of items received" msgstr "Numero di elementi ricevuti" -#: order/models.py:1431 stock/models.py:939 stock/serializers.py:556 +#: order/models.py:1436 stock/models.py:939 stock/serializers.py:602 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2311 msgid "Purchase Price" msgstr "Prezzo di Acquisto" -#: order/models.py:1432 +#: order/models.py:1437 msgid "Unit purchase price" msgstr "Prezzo di acquisto unitario" -#: order/models.py:1447 +#: order/models.py:1452 msgid "Where does the Purchaser want this item to be stored?" msgstr "Dove l'Acquirente desidera che questo elemento venga immagazzinato?" -#: order/models.py:1538 +#: order/models.py:1503 +#, fuzzy +#| msgid "Purchase Order Items" +msgid "Purchase Order Extra Line" +msgstr "Elementi D'Ordine D'Acquisto" + +#: order/models.py:1532 +#, fuzzy +#| msgid "Sales Order Items" +msgid "Sales Order Line Item" +msgstr "Elementi Ordine di Vendita" + +#: order/models.py:1553 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:1543 +#: order/models.py:1558 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:1569 part/templates/part/part_pricing.html:107 +#: order/models.py:1584 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:1570 +#: order/models.py:1585 msgid "Unit sale price" msgstr "Prezzo unitario di vendita" -#: order/models.py:1579 order/status_codes.py:43 +#: order/models.py:1594 order/status_codes.py:43 #: 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" -#: order/models.py:1580 +#: order/models.py:1595 msgid "Shipped quantity" msgstr "Quantità spedita" -#: order/models.py:1672 +#: order/models.py:1667 +#, fuzzy +#| msgid "Sales Order Default Shipment" +msgid "Sales Order Shipment" +msgstr "Spedizione Predefinita Ordine Di Vendita" + +#: order/models.py:1688 msgid "Date of shipment" msgstr "Data di spedizione" -#: order/models.py:1678 templates/js/translated/sales_order.js:1072 +#: order/models.py:1694 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "" -#: order/models.py:1679 +#: order/models.py:1695 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1687 +#: order/models.py:1703 msgid "Checked By" msgstr "Verificato Da" -#: order/models.py:1688 +#: order/models.py:1704 msgid "User who checked this shipment" msgstr "Utente che ha controllato questa spedizione" -#: order/models.py:1695 order/models.py:1908 order/serializers.py:1342 -#: order/serializers.py:1452 templates/js/translated/model_renderers.js:454 +#: order/models.py:1711 order/models.py:1934 order/serializers.py:1398 +#: order/serializers.py:1508 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "Spedizione" -#: order/models.py:1696 +#: order/models.py:1712 msgid "Shipment number" msgstr "Numero di spedizione" -#: order/models.py:1704 +#: order/models.py:1720 msgid "Tracking Number" msgstr "Numero di monitoraggio" -#: order/models.py:1705 +#: order/models.py:1721 msgid "Shipment tracking information" msgstr "Informazioni di monitoraggio della spedizione" -#: order/models.py:1712 +#: order/models.py:1728 msgid "Invoice Number" msgstr "Numero Fattura" -#: order/models.py:1713 +#: order/models.py:1729 msgid "Reference number for associated invoice" msgstr "Numero di riferimento per la fattura associata" -#: order/models.py:1733 +#: order/models.py:1749 msgid "Shipment has already been sent" msgstr "La spedizione è già stata spedita" -#: order/models.py:1736 +#: order/models.py:1752 msgid "Shipment has no allocated stock items" msgstr "La spedizione non ha articoli di stock assegnati" -#: order/models.py:1854 order/models.py:1856 +#: order/models.py:1828 +#, fuzzy +#| msgid "Sales Order Items" +msgid "Sales Order Extra Line" +msgstr "Elementi Ordine di Vendita" + +#: order/models.py:1857 +#, fuzzy +#| msgid "Sales Order Allocations" +msgid "Sales Order Allocation" +msgstr "Assegnazione Ordine Di Vendita" + +#: order/models.py:1880 order/models.py:1882 msgid "Stock item has not been assigned" msgstr "L'elemento di magazzino non è stato assegnato" -#: order/models.py:1863 +#: order/models.py:1889 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:1866 +#: order/models.py:1892 msgid "Cannot allocate stock to a line without a part" msgstr "Impossibile allocare stock a una riga senza un articolo" -#: order/models.py:1869 +#: order/models.py:1895 msgid "Allocation quantity cannot exceed stock quantity" msgstr "La quantità di ripartizione non puo' superare la disponibilità della giacenza" -#: order/models.py:1888 order/serializers.py:1219 +#: order/models.py:1914 order/serializers.py:1275 msgid "Quantity must be 1 for serialized stock item" msgstr "La quantità deve essere 1 per l'elemento serializzato" -#: order/models.py:1891 +#: order/models.py:1917 msgid "Sales order does not match shipment" msgstr "L'ordine di vendita non corrisponde alla spedizione" -#: order/models.py:1892 plugin/base/barcodes/api.py:481 +#: order/models.py:1918 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:1900 +#: order/models.py:1926 msgid "Line" msgstr "Linea" -#: order/models.py:1909 +#: order/models.py:1935 msgid "Sales order shipment reference" msgstr "Riferimento della spedizione ordine di vendita" -#: order/models.py:1922 order/models.py:2239 +#: order/models.py:1948 order/models.py:2266 #: templates/js/translated/return_order.js:721 msgid "Item" msgstr "Elemento" -#: order/models.py:1923 +#: order/models.py:1949 msgid "Select stock item to allocate" msgstr "Seleziona elemento stock da allocare" -#: order/models.py:1932 +#: order/models.py:1958 msgid "Enter stock allocation quantity" msgstr "Inserisci la quantità assegnata alla giacenza" -#: order/models.py:2021 +#: order/models.py:2047 msgid "Return Order reference" msgstr "" -#: order/models.py:2033 +#: order/models.py:2059 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2045 +#: order/models.py:2071 msgid "Return order status" msgstr "" -#: order/models.py:2224 +#: order/models.py:2237 +#, fuzzy +#| msgid "Return Order" +msgid "Return Order Line Item" +msgstr "Restituisci ordine" + +#: order/models.py:2251 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2240 +#: order/models.py:2267 msgid "Select item to return from customer" msgstr "Seleziona l'elemento da restituire dal cliente" -#: order/models.py:2246 +#: order/models.py:2273 msgid "Received Date" msgstr "Data di ricezione" -#: order/models.py:2247 +#: order/models.py:2274 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2258 templates/js/translated/return_order.js:732 +#: 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:2259 +#: order/models.py:2286 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2266 +#: order/models.py:2293 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:79 order/templates/order/po_sidebar.html:5 +#: order/models.py:2303 +#, fuzzy +#| msgid "Return Order Settings" +msgid "Return Order Extra Line" +msgstr "Impostazioni Ordine Di Reso" + +#: order/serializers.py:83 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_purchase_order_report.html:22 @@ -5322,163 +5641,173 @@ msgstr "" msgid "Line Items" msgstr "Elementi Riga" -#: order/serializers.py:83 +#: order/serializers.py:87 msgid "Completed Lines" msgstr "" -#: order/serializers.py:286 +#: order/serializers.py:305 msgid "Order cannot be cancelled" msgstr "L'ordine non può essere cancellato" -#: order/serializers.py:301 order/serializers.py:1235 +#: order/serializers.py:320 order/serializers.py:1291 msgid "Allow order to be closed with incomplete line items" msgstr "Consenti di chiudere l'ordine con elementi di riga incompleti" -#: order/serializers.py:311 order/serializers.py:1245 +#: order/serializers.py:330 order/serializers.py:1301 msgid "Order has incomplete line items" msgstr "L'ordine ha elementi di riga incompleti" -#: order/serializers.py:439 +#: order/serializers.py:468 msgid "Order is not open" msgstr "L'ordine non è aperto" -#: order/serializers.py:460 +#: order/serializers.py:489 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:462 +#: order/serializers.py:491 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:472 +#: order/serializers.py:501 msgid "Purchase price currency" msgstr "Valuta prezzo d'acquisto" -#: order/serializers.py:478 +#: order/serializers.py:507 msgid "Merge Items" msgstr "" -#: order/serializers.py:480 +#: order/serializers.py:509 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:498 +#: order/serializers.py:522 part/models.py:945 +msgid "Internal Part Number" +msgstr "Numero Dell'articolo Interno" + +#: order/serializers.py:530 +#, fuzzy +#| msgid "Internal Part Number" +msgid "Internal Part Name" +msgstr "Numero Dell'articolo Interno" + +#: order/serializers.py:546 msgid "Supplier part must be specified" msgstr "L'articolo del fornitore deve essere specificato" -#: order/serializers.py:501 +#: order/serializers.py:549 msgid "Purchase order must be specified" msgstr "L'ordine di acquisto deve essere specificato" -#: order/serializers.py:509 +#: order/serializers.py:557 msgid "Supplier must match purchase order" msgstr "Il fornitore deve essere abbinato all'ordine d'acquisto" -#: order/serializers.py:510 +#: order/serializers.py:558 msgid "Purchase order must match supplier" msgstr "L'ordine di acquisto deve essere abbinato al fornitore" -#: order/serializers.py:549 order/serializers.py:1313 +#: order/serializers.py:598 order/serializers.py:1369 msgid "Line Item" msgstr "Elemento Riga" -#: order/serializers.py:555 +#: order/serializers.py:604 msgid "Line item does not match purchase order" msgstr "L'elemento di riga non corrisponde all'ordine di acquisto" -#: order/serializers.py:565 order/serializers.py:673 order/serializers.py:1657 +#: order/serializers.py:614 order/serializers.py:722 order/serializers.py:1715 msgid "Select destination location for received items" msgstr "Seleziona la posizione di destinazione per gli elementi ricevuti" -#: order/serializers.py:581 templates/js/translated/purchase_order.js:1130 +#: order/serializers.py:630 templates/js/translated/purchase_order.js:1130 msgid "Enter batch code for incoming stock items" msgstr "Inserisci il codice univoco per gli articoli in arrivo" -#: order/serializers.py:589 templates/js/translated/purchase_order.js:1154 +#: order/serializers.py:638 templates/js/translated/purchase_order.js:1154 msgid "Enter serial numbers for incoming stock items" msgstr "Inserisci i numeri di serie per gli articoli stock in arrivo" -#: order/serializers.py:600 templates/js/translated/barcode.js:52 +#: order/serializers.py:649 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "Codice a Barre" -#: order/serializers.py:601 +#: order/serializers.py:650 msgid "Scanned barcode" msgstr "Codice a barre scansionato" -#: order/serializers.py:617 +#: order/serializers.py:666 msgid "Barcode is already in use" msgstr "Il codice a barre è già in uso" -#: order/serializers.py:641 +#: order/serializers.py:690 msgid "An integer quantity must be provided for trackable parts" msgstr "Deve essere fornita una quantità intera per gli articoli rintracciabili" -#: order/serializers.py:689 order/serializers.py:1673 +#: order/serializers.py:738 order/serializers.py:1731 msgid "Line items must be provided" msgstr "Gli elementi di linea devono essere forniti" -#: order/serializers.py:705 +#: order/serializers.py:754 msgid "Destination location must be specified" msgstr "La destinazione deve essere specificata" -#: order/serializers.py:716 +#: order/serializers.py:765 msgid "Supplied barcode values must be unique" msgstr "I valori dei codici a barre forniti devono essere univoci" -#: order/serializers.py:1062 +#: order/serializers.py:1117 msgid "Sale price currency" msgstr "Valuta prezzo di vendita" -#: order/serializers.py:1122 +#: order/serializers.py:1178 msgid "No shipment details provided" msgstr "Nessun dettaglio di spedizione fornito" -#: order/serializers.py:1183 order/serializers.py:1322 +#: order/serializers.py:1239 order/serializers.py:1378 msgid "Line item is not associated with this order" msgstr "L'elemento di riga non è associato a questo ordine" -#: order/serializers.py:1202 +#: order/serializers.py:1258 msgid "Quantity must be positive" msgstr "La quantità deve essere positiva" -#: order/serializers.py:1332 +#: order/serializers.py:1388 msgid "Enter serial numbers to allocate" msgstr "Inserisci i numeri di serie da assegnare" -#: order/serializers.py:1354 order/serializers.py:1460 +#: order/serializers.py:1410 order/serializers.py:1516 msgid "Shipment has already been shipped" msgstr "La spedizione è già stata spedita" -#: order/serializers.py:1357 order/serializers.py:1463 +#: order/serializers.py:1413 order/serializers.py:1519 msgid "Shipment is not associated with this order" msgstr "La spedizione non è associata con questo ordine" -#: order/serializers.py:1404 +#: order/serializers.py:1460 msgid "No match found for the following serial numbers" msgstr "Nessuna corrispondenza trovata per i seguenti numeri di serie" -#: order/serializers.py:1411 +#: order/serializers.py:1467 msgid "The following serial numbers are already allocated" msgstr "I seguenti numeri di serie sono già assegnati" -#: order/serializers.py:1627 +#: order/serializers.py:1685 msgid "Return order line item" msgstr "" -#: order/serializers.py:1633 +#: order/serializers.py:1691 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1636 +#: order/serializers.py:1694 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1665 +#: order/serializers.py:1723 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1743 +#: order/serializers.py:1806 msgid "Line price currency" msgstr "" @@ -5808,7 +6137,7 @@ msgstr "Riferimento Cliente" #: 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:1073 +#: templates/js/translated/part.js:1076 #: templates/js/translated/purchase_order.js:1752 #: templates/js/translated/return_order.js:380 #: templates/js/translated/sales_order.js:891 @@ -5904,34 +6233,29 @@ msgstr "Aggiornato {part} prezzo unitario a {price}" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "Aggiornato {part} unità prezzo a {price} e quantità a {qty}" -#: part/admin.py:39 part/admin.py:398 part/models.py:3944 part/stocktake.py:219 +#: part/admin.py:39 part/admin.py:398 part/models.py:3991 part/stocktake.py:219 #: stock/admin.py:152 msgid "Part ID" msgstr "Codice Articolo" -#: part/admin.py:41 part/admin.py:405 part/models.py:3945 part/stocktake.py:220 -#: stock/admin.py:156 -msgid "Part Name" -msgstr "Nome Articolo" - #: part/admin.py:45 part/stocktake.py:221 msgid "Part Description" msgstr "Descrizione Articolo" -#: part/admin.py:48 part/models.py:940 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:944 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 -#: templates/js/translated/part.js:1227 templates/js/translated/part.js:2341 +#: templates/js/translated/part.js:1230 templates/js/translated/part.js:2344 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "IPN - Numero di riferimento interno" -#: part/admin.py:50 part/models.py:949 part/templates/part/part_base.html:277 -#: report/models.py:162 templates/js/translated/part.js:1232 -#: templates/js/translated/part.js:2347 +#: part/admin.py:50 part/models.py:953 part/templates/part/part_base.html:277 +#: report/models.py:162 templates/js/translated/part.js:1235 +#: templates/js/translated/part.js:2350 msgid "Revision" msgstr "Revisione" -#: part/admin.py:53 part/admin.py:319 part/models.py:922 +#: part/admin.py:53 part/admin.py:319 part/models.py:926 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "Parole Chiave" @@ -5944,7 +6268,8 @@ msgstr "" msgid "Category ID" msgstr "Id Categoria" -#: part/admin.py:67 part/admin.py:304 part/stocktake.py:223 +#: part/admin.py:67 part/admin.py:304 part/serializers.py:837 +#: part/stocktake.py:223 msgid "Category Name" msgstr "Nome Categoria" @@ -5956,11 +6281,11 @@ msgstr "Posizione Predefinita ID" msgid "Default Supplier ID" msgstr "ID Fornitore Predefinito" -#: part/admin.py:81 part/models.py:908 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:912 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "Variante Di" -#: part/admin.py:84 part/models.py:1036 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1040 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "Scorta Minima" @@ -5968,18 +6293,19 @@ msgstr "Scorta Minima" msgid "Used In" msgstr "Utilizzato In" -#: part/admin.py:150 part/templates/part/part_base.html:241 stock/admin.py:235 -#: templates/js/translated/part.js:715 templates/js/translated/part.js:2153 +#: part/admin.py:150 part/serializers.py:854 +#: part/templates/part/part_base.html:241 stock/admin.py:235 +#: templates/js/translated/part.js:714 templates/js/translated/part.js:2156 msgid "Building" msgstr "In Costruzione" -#: part/admin.py:155 part/models.py:3088 part/models.py:3102 -#: templates/js/translated/part.js:970 +#: part/admin.py:155 part/models.py:3098 part/models.py:3112 +#: templates/js/translated/part.js:973 msgid "Minimum Cost" msgstr "Costo Minimo" -#: part/admin.py:158 part/models.py:3095 part/models.py:3109 -#: templates/js/translated/part.js:980 +#: part/admin.py:158 part/models.py:3105 part/models.py:3119 +#: templates/js/translated/part.js:983 msgid "Maximum Cost" msgstr "Costo Massimo" @@ -5996,14 +6322,14 @@ msgstr "Nome Principale" msgid "Category Path" msgstr "Percorso Categoria" -#: part/admin.py:325 part/models.py:396 part/serializers.py:124 -#: part/serializers.py:267 part/serializers.py:386 +#: part/admin.py:325 part/models.py:397 part/serializers.py:130 +#: part/serializers.py:282 part/serializers.py:404 #: 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:2807 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:203 msgid "Parts" msgstr "Articoli" @@ -6020,125 +6346,117 @@ msgstr "ID Elemento Distinta Base" msgid "Parent IPN" msgstr "IPN Principale" -#: part/admin.py:402 part/models.py:3946 -msgid "Part IPN" -msgstr "IPN Articolo" - -#: part/admin.py:415 part/serializers.py:1274 +#: part/admin.py:415 part/serializers.py:1302 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "Prezzo Minimo" -#: part/admin.py:420 part/serializers.py:1289 +#: part/admin.py:420 part/serializers.py:1317 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "Prezzo Massimo" -#: part/api.py:104 +#: part/api.py:105 msgid "Starred" msgstr "" -#: part/api.py:106 +#: part/api.py:107 msgid "Filter by starred categories" msgstr "" -#: part/api.py:123 stock/api.py:312 +#: part/api.py:124 stock/api.py:312 msgid "Depth" msgstr "" -#: part/api.py:123 +#: part/api.py:124 msgid "Filter by category depth" msgstr "" -#: part/api.py:141 stock/api.py:330 +#: part/api.py:142 stock/api.py:330 msgid "Top Level" msgstr "" -#: part/api.py:143 +#: part/api.py:144 msgid "Filter by top-level categories" msgstr "" -#: part/api.py:156 stock/api.py:345 +#: part/api.py:157 stock/api.py:345 msgid "Cascade" msgstr "" -#: part/api.py:158 +#: part/api.py:159 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:179 templates/js/translated/part.js:308 +#: part/api.py:180 templates/js/translated/part.js:307 msgid "Parent" msgstr "" -#: part/api.py:181 +#: part/api.py:182 msgid "Filter by parent category" msgstr "" -#: part/api.py:214 +#: part/api.py:215 msgid "Exclude Tree" msgstr "" -#: part/api.py:216 +#: part/api.py:217 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:449 +#: part/api.py:442 msgid "Has Results" msgstr "" -#: part/api.py:616 +#: part/api.py:609 msgid "Incoming Purchase Order" msgstr "Ordine D'Acquisto In Arrivo" -#: part/api.py:634 +#: part/api.py:627 msgid "Outgoing Sales Order" msgstr "Ordine di Vendita in Uscita" -#: part/api.py:650 +#: part/api.py:643 msgid "Stock produced by Build Order" msgstr "Giacenza prodotta dall'Ordine di Costruzione" -#: part/api.py:734 +#: part/api.py:727 msgid "Stock required for Build Order" msgstr "Giacenza richiesta per l'Ordine di Produzione" -#: part/api.py:881 -msgid "Valid" -msgstr "Valido" - -#: part/api.py:882 +#: part/api.py:875 msgid "Validate entire Bill of Materials" msgstr "Convalida l'intera Fattura dei Materiali" -#: part/api.py:888 +#: part/api.py:881 msgid "This option must be selected" msgstr "Questa opzione deve essere selezionata" -#: part/api.py:1105 +#: part/api.py:1098 msgid "BOM Valid" msgstr "" -#: part/api.py:1508 part/models.py:932 part/models.py:3374 part/models.py:3889 -#: part/serializers.py:401 part/serializers.py:1130 -#: part/templates/part/part_base.html:260 stock/api.py:791 +#: part/api.py:1494 part/models.py:936 part/models.py:3385 part/models.py:3936 +#: part/serializers.py:419 part/serializers.py:1158 +#: part/templates/part/part_base.html:260 stock/api.py:783 #: 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:2380 msgid "Category" msgstr "Categoria" -#: part/api.py:1796 +#: part/api.py:1784 msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:104 part/models.py:975 +#: part/bom.py:170 part/models.py:104 part/models.py:979 #: 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:833 +#: part/bom.py:171 part/serializers.py:861 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "Giacenze Totali" @@ -6147,7 +6465,7 @@ msgstr "Giacenze Totali" msgid "Input quantity for price calculation" msgstr "Digita la quantità per il calcolo del prezzo" -#: part/models.py:85 part/models.py:3890 part/templates/part/category.html:16 +#: part/models.py:85 part/models.py:3937 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Categoria Articoli" @@ -6162,7 +6480,7 @@ msgstr "Categorie Articolo" msgid "Default location for parts in this category" msgstr "Posizione predefinita per gli articoli di questa categoria" -#: part/models.py:110 stock/models.py:175 templates/js/translated/part.js:2810 +#: part/models.py:110 stock/models.py:175 templates/js/translated/part.js:2813 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 @@ -6194,1002 +6512,1049 @@ msgstr "Icona (facoltativa)" 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:485 +#: part/models.py:486 +msgid "Cannot delete this part as it is locked" +msgstr "" + +#: part/models.py:489 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:490 +#: part/models.py:494 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:528 +#: part/models.py:532 msgid "Invalid choice for parent part" msgstr "Scelta non valida per l'articolo principale" -#: part/models.py:576 part/models.py:583 +#: part/models.py:580 part/models.py:587 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:595 +#: part/models.py:599 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:658 +#: part/models.py:662 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:736 +#: part/models.py:740 msgid "Stock item with this serial number already exists" msgstr "Esiste già un elemento stock con questo numero seriale" -#: part/models.py:837 +#: part/models.py:841 msgid "Duplicate IPN not allowed in part settings" msgstr "Non è consentito duplicare IPN nelle impostazioni dell'articolo" -#: part/models.py:847 +#: part/models.py:851 msgid "Part with this Name, IPN and Revision already exists." msgstr "Un articolo con questo Nome, IPN e Revisione esiste già." -#: part/models.py:862 +#: part/models.py:866 msgid "Parts cannot be assigned to structural part categories!" msgstr "Gli articoli non possono essere assegnati a categorie articolo principali!" -#: part/models.py:891 part/models.py:3945 +#: part/models.py:895 part/models.py:3992 msgid "Part name" msgstr "Nome articolo" -#: part/models.py:896 +#: part/models.py:900 msgid "Is Template" msgstr "È Template" -#: part/models.py:897 +#: part/models.py:901 msgid "Is this part a template part?" msgstr "Quest'articolo è un articolo di template?" -#: part/models.py:907 +#: part/models.py:911 msgid "Is this part a variant of another part?" msgstr "Questa parte è una variante di un altro articolo?" -#: part/models.py:915 +#: part/models.py:919 msgid "Part description (optional)" msgstr "" -#: part/models.py:923 +#: part/models.py:927 msgid "Part keywords to improve visibility in search results" msgstr "Parole chiave per migliorare la visibilità nei risultati di ricerca" -#: part/models.py:933 +#: part/models.py:937 msgid "Part category" msgstr "Categoria articolo" -#: part/models.py:941 -msgid "Internal Part Number" -msgstr "Numero Dell'articolo Interno" - -#: part/models.py:948 +#: part/models.py:952 msgid "Part revision or version number" msgstr "Numero di revisione o di versione" -#: part/models.py:973 +#: part/models.py:977 msgid "Where is this item normally stored?" msgstr "Dove viene normalmente immagazzinato questo articolo?" -#: part/models.py:1019 part/templates/part/part_base.html:376 +#: part/models.py:1023 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "Fornitore predefinito" -#: part/models.py:1020 +#: part/models.py:1024 msgid "Default supplier part" msgstr "Articolo fornitore predefinito" -#: part/models.py:1027 +#: part/models.py:1031 msgid "Default Expiry" msgstr "Scadenza Predefinita" -#: part/models.py:1028 +#: part/models.py:1032 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:1037 +#: part/models.py:1041 msgid "Minimum allowed stock level" msgstr "Livello minimo di giacenza consentito" -#: part/models.py:1046 +#: part/models.py:1050 msgid "Units of measure for this part" msgstr "Unita di misura per questo articolo" -#: part/models.py:1053 +#: part/models.py:1057 msgid "Can this part be built from other parts?" msgstr "Questo articolo può essere costruito da altri articoli?" -#: part/models.py:1059 +#: part/models.py:1063 msgid "Can this part be used to build other parts?" msgstr "Questo articolo può essere utilizzato per costruire altri articoli?" -#: part/models.py:1065 +#: part/models.py:1069 msgid "Does this part have tracking for unique items?" msgstr "Questo articolo ha il tracciamento per gli elementi unici?" -#: part/models.py:1071 +#: part/models.py:1075 msgid "Can this part be purchased from external suppliers?" msgstr "Quest'articolo può essere acquistato da fornitori esterni?" -#: part/models.py:1077 +#: part/models.py:1081 msgid "Can this part be sold to customers?" msgstr "Questo pezzo può essere venduto ai clienti?" -#: part/models.py:1081 +#: part/models.py:1085 msgid "Is this part active?" msgstr "Quest'articolo è attivo?" -#: part/models.py:1087 +#: part/models.py:1090 templates/js/translated/part.js:818 +#: templates/js/translated/table_filters.js:721 +#, fuzzy +#| msgid "Tracked" +msgid "Locked" +msgstr "Monitorato" + +#: part/models.py:1091 +#, fuzzy +#| msgid "Build order part cannot be changed" +msgid "Locked parts cannot be edited" +msgstr "L'ordine di costruzione della parte non può essere cambiata" + +#: part/models.py:1097 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:1093 +#: part/models.py:1103 msgid "BOM checksum" msgstr "Somma di controllo Distinta Base" -#: part/models.py:1094 +#: part/models.py:1104 msgid "Stored BOM checksum" msgstr "Somma di controllo immagazzinata Distinta Base" -#: part/models.py:1102 +#: part/models.py:1112 msgid "BOM checked by" msgstr "Distinta Base controllata da" -#: part/models.py:1107 +#: part/models.py:1117 msgid "BOM checked date" msgstr "Data di verifica Distinta Base" -#: part/models.py:1123 +#: part/models.py:1133 msgid "Creation User" msgstr "Creazione Utente" -#: part/models.py:1133 +#: part/models.py:1143 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1138 part/templates/part/part_base.html:339 +#: part/models.py:1148 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:2474 msgid "Last Stocktake" msgstr "Ultimo Inventario" -#: part/models.py:2011 +#: part/models.py:2021 msgid "Sell multiple" msgstr "Vendita multipla" -#: part/models.py:3002 +#: part/models.py:3012 msgid "Currency used to cache pricing calculations" msgstr "Valuta utilizzata per calcolare i prezzi" -#: part/models.py:3018 +#: part/models.py:3028 msgid "Minimum BOM Cost" msgstr "Costo Minimo Distinta Base" -#: part/models.py:3019 +#: part/models.py:3029 msgid "Minimum cost of component parts" msgstr "Costo minimo dei componenti dell'articolo" -#: part/models.py:3025 +#: part/models.py:3035 msgid "Maximum BOM Cost" msgstr "Costo Massimo Distinta Base" -#: part/models.py:3026 +#: part/models.py:3036 msgid "Maximum cost of component parts" msgstr "Costo massimo dei componenti dell'articolo" -#: part/models.py:3032 +#: part/models.py:3042 msgid "Minimum Purchase Cost" msgstr "Importo Acquisto Minimo" -#: part/models.py:3033 +#: part/models.py:3043 msgid "Minimum historical purchase cost" msgstr "Costo minimo di acquisto storico" -#: part/models.py:3039 +#: part/models.py:3049 msgid "Maximum Purchase Cost" msgstr "Importo massimo acquisto" -#: part/models.py:3040 +#: part/models.py:3050 msgid "Maximum historical purchase cost" msgstr "Costo massimo di acquisto storico" -#: part/models.py:3046 +#: part/models.py:3056 msgid "Minimum Internal Price" msgstr "Prezzo Interno Minimo" -#: part/models.py:3047 +#: part/models.py:3057 msgid "Minimum cost based on internal price breaks" msgstr "Costo minimo basato su interruzioni di prezzo interne" -#: part/models.py:3053 +#: part/models.py:3063 msgid "Maximum Internal Price" msgstr "Prezzo Interno Massimo" -#: part/models.py:3054 +#: part/models.py:3064 msgid "Maximum cost based on internal price breaks" msgstr "Costo massimo basato su interruzioni di prezzo interne" -#: part/models.py:3060 +#: part/models.py:3070 msgid "Minimum Supplier Price" msgstr "Prezzo Minimo Fornitore" -#: part/models.py:3061 +#: part/models.py:3071 msgid "Minimum price of part from external suppliers" msgstr "Prezzo minimo articolo da fornitori esterni" -#: part/models.py:3067 +#: part/models.py:3077 msgid "Maximum Supplier Price" msgstr "Prezzo Massimo Fornitore" -#: part/models.py:3068 +#: part/models.py:3078 msgid "Maximum price of part from external suppliers" msgstr "Prezzo massimo dell'articolo proveniente da fornitori esterni" -#: part/models.py:3074 +#: part/models.py:3084 msgid "Minimum Variant Cost" msgstr "Variazione di costo minimo" -#: part/models.py:3075 +#: part/models.py:3085 msgid "Calculated minimum cost of variant parts" msgstr "Costo minimo calcolato di variazione dell'articolo" -#: part/models.py:3081 +#: part/models.py:3091 msgid "Maximum Variant Cost" msgstr "Massima variazione di costo" -#: part/models.py:3082 +#: part/models.py:3092 msgid "Calculated maximum cost of variant parts" msgstr "Costo massimo calcolato di variazione dell'articolo" -#: part/models.py:3089 +#: part/models.py:3099 msgid "Override minimum cost" msgstr "" -#: part/models.py:3096 +#: part/models.py:3106 msgid "Override maximum cost" msgstr "" -#: part/models.py:3103 +#: part/models.py:3113 msgid "Calculated overall minimum cost" msgstr "Costo minimo totale calcolato" -#: part/models.py:3110 +#: part/models.py:3120 msgid "Calculated overall maximum cost" msgstr "Costo massimo totale calcolato" -#: part/models.py:3116 +#: part/models.py:3126 msgid "Minimum Sale Price" msgstr "Prezzo Di Vendita Minimo" -#: part/models.py:3117 +#: part/models.py:3127 msgid "Minimum sale price based on price breaks" msgstr "Prezzo minimo di vendita basato sulle interruzioni di prezzo" -#: part/models.py:3123 +#: part/models.py:3133 msgid "Maximum Sale Price" msgstr "Prezzo Di Vendita Massimo" -#: part/models.py:3124 +#: part/models.py:3134 msgid "Maximum sale price based on price breaks" msgstr "Prezzo massimo di vendita basato sulle interruzioni di prezzo" -#: part/models.py:3130 +#: part/models.py:3140 msgid "Minimum Sale Cost" msgstr "Costo Di Vendita Minimo" -#: part/models.py:3131 +#: part/models.py:3141 msgid "Minimum historical sale price" msgstr "Prezzo storico minimo di vendita" -#: part/models.py:3137 +#: part/models.py:3147 msgid "Maximum Sale Cost" msgstr "Costo Di Vendita Minimo" -#: part/models.py:3138 +#: part/models.py:3148 msgid "Maximum historical sale price" msgstr "Prezzo storico massimo di vendita" -#: part/models.py:3157 +#: part/models.py:3167 msgid "Part for stocktake" msgstr "Articolo per l'inventario" -#: part/models.py:3162 +#: part/models.py:3172 msgid "Item Count" msgstr "Contatore Elemento" -#: part/models.py:3163 +#: part/models.py:3173 msgid "Number of individual stock entries at time of stocktake" msgstr "Numero di scorte individuali al momento dell'inventario" -#: part/models.py:3171 +#: part/models.py:3181 msgid "Total available stock at time of stocktake" msgstr "Totale delle scorte disponibili al momento dell'inventario" -#: part/models.py:3175 part/models.py:3258 +#: part/models.py:3185 part/models.py:3268 #: part/templates/part/part_scheduling.html:13 #: 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:1086 templates/js/translated/pricing.js:826 +#: templates/js/translated/part.js:1089 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 #: templates/js/translated/purchase_order.js:1731 #: templates/js/translated/stock.js:2821 msgid "Date" msgstr "Data" -#: part/models.py:3176 +#: part/models.py:3186 msgid "Date stocktake was performed" msgstr "Data in cui è stato effettuato l'inventario" -#: part/models.py:3184 +#: part/models.py:3194 msgid "Additional notes" msgstr "Note aggiuntive" -#: part/models.py:3194 +#: part/models.py:3204 msgid "User who performed this stocktake" msgstr "Utente che ha eseguito questo inventario" -#: part/models.py:3200 +#: part/models.py:3210 msgid "Minimum Stock Cost" msgstr "Costo Minimo Scorta" -#: part/models.py:3201 +#: part/models.py:3211 msgid "Estimated minimum cost of stock on hand" msgstr "Costo minimo stimato di magazzino a disposizione" -#: part/models.py:3207 +#: part/models.py:3217 msgid "Maximum Stock Cost" msgstr "Costo Massimo Scorte" -#: part/models.py:3208 +#: part/models.py:3218 msgid "Estimated maximum cost of stock on hand" msgstr "Costo massimo stimato di magazzino a disposizione" -#: part/models.py:3264 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3274 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3265 +#: part/models.py:3275 msgid "Stocktake report file (generated internally)" msgstr "File Report Inventario (generato internamente)" -#: part/models.py:3270 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3280 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "Conteggio Articolo" -#: part/models.py:3271 +#: part/models.py:3281 msgid "Number of parts covered by stocktake" msgstr "Numero di articoli oggetto d'inventario" -#: part/models.py:3281 +#: part/models.py:3291 msgid "User who requested this stocktake report" msgstr "Utente che ha richiesto questo report inventario" -#: part/models.py:3423 +#: part/models.py:3301 +#, fuzzy +#| msgid "Add Sell Price Break" +msgid "Part Sale Price Break" +msgstr "Aggiungi Prezzo Ribassato di Vendita" + +#: part/models.py:3413 +#, fuzzy +#| msgid "Part Test Templates" +msgid "Part Test Template" +msgstr "Modelli Articoli Test" + +#: part/models.py:3439 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3444 part/models.py:3608 +#: part/models.py:3460 part/models.py:3629 msgid "Choices must be unique" msgstr "" -#: part/models.py:3455 +#: part/models.py:3471 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:3466 +#: part/models.py:3482 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3483 templates/js/translated/part.js:2880 +#: part/models.py:3499 templates/js/translated/part.js:2883 msgid "Test Name" msgstr "Nome Test" -#: part/models.py:3484 +#: part/models.py:3500 msgid "Enter a name for the test" msgstr "Inserisci un nome per la prova" -#: part/models.py:3490 +#: part/models.py:3506 msgid "Test Key" msgstr "" -#: part/models.py:3491 +#: part/models.py:3507 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3498 +#: part/models.py:3514 msgid "Test Description" msgstr "Descrizione Di Prova" -#: part/models.py:3499 +#: part/models.py:3515 msgid "Enter description for this test" msgstr "Inserisci descrizione per questa prova" -#: part/models.py:3503 report/models.py:209 -#: templates/js/translated/part.js:2901 +#: part/models.py:3519 report/models.py:209 +#: templates/js/translated/part.js:2904 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "Abilitato" -#: part/models.py:3503 +#: part/models.py:3519 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3508 templates/js/translated/part.js:2909 +#: part/models.py:3524 templates/js/translated/part.js:2912 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "Richiesto" -#: part/models.py:3509 +#: part/models.py:3525 msgid "Is this test required to pass?" msgstr "Questa prova è necessaria per passare?" -#: part/models.py:3514 templates/js/translated/part.js:2917 +#: part/models.py:3530 templates/js/translated/part.js:2920 msgid "Requires Value" msgstr "Valore richiesto" -#: part/models.py:3515 +#: part/models.py:3531 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:3520 templates/js/translated/part.js:2924 +#: part/models.py:3536 templates/js/translated/part.js:2927 msgid "Requires Attachment" msgstr "Allegato Richiesto" -#: part/models.py:3522 +#: part/models.py:3538 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:3528 part/models.py:3667 templates/js/translated/part.js:1637 +#: part/models.py:3544 part/models.py:3688 templates/js/translated/part.js:1640 msgid "Choices" msgstr "" -#: part/models.py:3529 +#: part/models.py:3545 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3583 +#: part/models.py:3577 +#, fuzzy +#| msgid "Part Parameter Templates" +msgid "Part Parameter Template" +msgstr "Modelli parametro articolo" + +#: part/models.py:3604 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3588 +#: part/models.py:3609 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3625 +#: part/models.py:3646 msgid "Parameter template name must be unique" msgstr "Il nome del modello del parametro deve essere univoco" -#: part/models.py:3640 +#: part/models.py:3661 msgid "Parameter Name" msgstr "Nome Parametro" -#: part/models.py:3647 +#: part/models.py:3668 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3655 +#: part/models.py:3676 msgid "Parameter description" msgstr "Descrizione del parametro" -#: part/models.py:3661 templates/js/translated/part.js:1628 -#: templates/js/translated/table_filters.js:825 +#: part/models.py:3682 templates/js/translated/part.js:1631 +#: templates/js/translated/table_filters.js:830 msgid "Checkbox" msgstr "" -#: part/models.py:3662 +#: part/models.py:3683 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3668 +#: part/models.py:3689 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3745 +#: part/models.py:3723 +#, fuzzy +#| msgid "Part Parameters" +msgid "Part Parameter" +msgstr "Parametri articolo" + +#: part/models.py:3749 +msgid "Parameter cannot be modified - part is locked" +msgstr "" + +#: part/models.py:3785 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3788 +#: part/models.py:3828 msgid "Parent Part" msgstr "Articolo principale" -#: part/models.py:3796 part/models.py:3897 part/models.py:3898 +#: part/models.py:3836 part/models.py:3944 part/models.py:3945 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "Modello Parametro" -#: part/models.py:3801 -msgid "Data" -msgstr "Dati" - -#: part/models.py:3802 +#: part/models.py:3842 msgid "Parameter Value" msgstr "Valore del Parametro" -#: part/models.py:3904 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3892 +#, fuzzy +#| msgid "Copy Category Parameter Templates" +msgid "Part Category Parameter Template" +msgstr "Copia Template Parametri Categoria" + +#: part/models.py:3951 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "Valore Predefinito" -#: part/models.py:3905 +#: part/models.py:3952 msgid "Default Parameter Value" msgstr "Valore Parametro Predefinito" -#: part/models.py:3943 +#: part/models.py:3990 msgid "Part ID or part name" msgstr "ID articolo o nome articolo" -#: part/models.py:3944 +#: part/models.py:3991 msgid "Unique part ID value" msgstr "Valore ID articolo univoco" -#: part/models.py:3946 +#: part/models.py:3993 msgid "Part IPN value" msgstr "Valore IPN articolo" -#: part/models.py:3947 +#: part/models.py:3994 msgid "Level" msgstr "Livello" -#: part/models.py:3947 +#: part/models.py:3994 msgid "BOM level" msgstr "Livello distinta base" -#: part/models.py:4037 +#: part/models.py:4105 +msgid "BOM item cannot be modified - assembly is locked" +msgstr "" + +#: part/models.py:4112 +msgid "BOM item cannot be modified - variant assembly is locked" +msgstr "" + +#: part/models.py:4122 msgid "Select parent part" msgstr "Seleziona articolo principale" -#: part/models.py:4047 +#: part/models.py:4132 msgid "Sub part" msgstr "Articolo subordinato" -#: part/models.py:4048 +#: part/models.py:4133 msgid "Select part to be used in BOM" msgstr "Seleziona l'articolo da utilizzare nella Distinta Base" -#: part/models.py:4059 +#: part/models.py:4144 msgid "BOM quantity for this BOM item" msgstr "Quantità Distinta Base per questo elemento Distinta Base" -#: part/models.py:4065 +#: part/models.py:4150 msgid "This BOM item is optional" msgstr "Questo elemento della Distinta Base è opzionale" -#: part/models.py:4071 +#: part/models.py:4156 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:4078 part/templates/part/upload_bom.html:55 +#: part/models.py:4163 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Eccedenza" -#: part/models.py:4079 +#: part/models.py:4164 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Quantità stimata scarti di produzione (assoluta o percentuale)" -#: part/models.py:4086 +#: part/models.py:4171 msgid "BOM item reference" msgstr "Riferimento Elemento Distinta Base" -#: part/models.py:4094 +#: part/models.py:4179 msgid "BOM item notes" msgstr "Note Elemento Distinta Base" -#: part/models.py:4100 +#: part/models.py:4185 msgid "Checksum" msgstr "Codice di controllo" -#: part/models.py:4101 +#: part/models.py:4186 msgid "BOM line checksum" msgstr "Codice di controllo Distinta Base" -#: part/models.py:4106 templates/js/translated/table_filters.js:174 +#: part/models.py:4191 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "Convalidato" -#: part/models.py:4107 +#: part/models.py:4192 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4112 part/templates/part/upload_bom.html:57 +#: part/models.py:4197 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:4113 +#: part/models.py:4198 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:4118 part/templates/part/upload_bom.html:56 +#: part/models.py:4203 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "Consenti Le Varianti" -#: part/models.py:4119 +#: part/models.py:4204 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:4204 stock/models.py:663 +#: part/models.py:4289 stock/models.py:663 msgid "Quantity must be integer value for trackable parts" msgstr "La quantità deve essere un valore intero per gli articoli rintracciabili" -#: part/models.py:4214 part/models.py:4216 +#: part/models.py:4299 part/models.py:4301 msgid "Sub part must be specified" msgstr "L'articolo subordinato deve essere specificato" -#: part/models.py:4354 +#: part/models.py:4439 msgid "BOM Item Substitute" msgstr "Elemento Distinta Base Sostituito" -#: part/models.py:4375 +#: part/models.py:4460 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:4388 +#: part/models.py:4473 msgid "Parent BOM item" msgstr "Elemento principale Distinta Base" -#: part/models.py:4396 +#: part/models.py:4481 msgid "Substitute part" msgstr "Sostituisci l'Articolo" -#: part/models.py:4412 +#: part/models.py:4497 msgid "Part 1" msgstr "Articolo 1" -#: part/models.py:4420 +#: part/models.py:4505 msgid "Part 2" msgstr "Articolo 2" -#: part/models.py:4421 +#: part/models.py:4506 msgid "Select Related Part" msgstr "Seleziona Prodotto Relativo" -#: part/models.py:4440 +#: part/models.py:4525 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:4445 +#: part/models.py:4530 msgid "Duplicate relationship already exists" msgstr "La relazione duplicata esiste già" -#: part/serializers.py:118 +#: part/serializers.py:124 msgid "Parent Category" msgstr "" -#: part/serializers.py:119 templates/js/translated/part.js:309 +#: part/serializers.py:125 templates/js/translated/part.js:308 msgid "Parent part category" msgstr "" -#: part/serializers.py:126 part/serializers.py:148 +#: part/serializers.py:132 part/serializers.py:154 #: part/templates/part/category.html:122 part/templates/part/category.html:207 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "Sottocategorie" -#: part/serializers.py:180 +#: part/serializers.py:189 msgid "Results" msgstr "" -#: part/serializers.py:181 +#: part/serializers.py:190 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:205 part/serializers.py:223 stock/serializers.py:562 +#: part/serializers.py:217 part/serializers.py:235 stock/serializers.py:608 msgid "Purchase currency of this stock item" msgstr "Valuta di acquisto di questo articolo in stock" -#: part/serializers.py:268 +#: part/serializers.py:283 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:392 +#: part/serializers.py:410 msgid "No parts selected" msgstr "" -#: part/serializers.py:402 +#: part/serializers.py:420 msgid "Select category" msgstr "" -#: part/serializers.py:437 +#: part/serializers.py:455 msgid "Original Part" msgstr "Articolo Originale" -#: part/serializers.py:438 +#: part/serializers.py:456 msgid "Select original part to duplicate" msgstr "Seleziona l'articolo originale da duplicare" -#: part/serializers.py:443 +#: part/serializers.py:461 msgid "Copy Image" msgstr "Copia immagine" -#: part/serializers.py:444 +#: part/serializers.py:462 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:468 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "Copia Distinta Base" -#: part/serializers.py:451 +#: part/serializers.py:469 msgid "Copy bill of materials from original part" msgstr "Copia fattura dei materiali dall'articolo originale" -#: part/serializers.py:457 +#: part/serializers.py:475 msgid "Copy Parameters" msgstr "Copia parametri" -#: part/serializers.py:458 +#: part/serializers.py:476 msgid "Copy parameter data from original part" msgstr "Copia i dati dei parametri dall'articolo originale" -#: part/serializers.py:464 +#: part/serializers.py:482 msgid "Copy Notes" msgstr "" -#: part/serializers.py:465 +#: part/serializers.py:483 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:483 +#: part/serializers.py:501 msgid "Initial Stock Quantity" msgstr "Quantità iniziale" -#: part/serializers.py:485 +#: part/serializers.py:503 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:492 +#: part/serializers.py:510 msgid "Initial Stock Location" msgstr "Ubicazione Iniziale Magazzino" -#: part/serializers.py:493 +#: part/serializers.py:511 msgid "Specify initial stock location for this Part" msgstr "Specificare l'ubicazione iniziale del magazzino per questo Articolo" -#: part/serializers.py:510 +#: part/serializers.py:528 msgid "Select supplier (or leave blank to skip)" msgstr "Seleziona il fornitore (o lascia vuoto per saltare)" -#: part/serializers.py:526 +#: part/serializers.py:544 msgid "Select manufacturer (or leave blank to skip)" msgstr "Seleziona il produttore (o lascia vuoto per saltare)" -#: part/serializers.py:536 +#: part/serializers.py:554 msgid "Manufacturer part number" msgstr "Codice articolo Produttore" -#: part/serializers.py:543 +#: part/serializers.py:561 msgid "Selected company is not a valid supplier" msgstr "L'azienda selezionata non è un fornitore valido" -#: part/serializers.py:552 +#: part/serializers.py:570 msgid "Selected company is not a valid manufacturer" msgstr "L'azienda selezionata non è un produttore valido" -#: part/serializers.py:563 +#: part/serializers.py:581 msgid "Manufacturer part matching this MPN already exists" msgstr "L'articolo del produttore che corrisponde a questo MPN esiste già" -#: part/serializers.py:570 +#: part/serializers.py:588 msgid "Supplier part matching this SKU already exists" msgstr "L'articolo del fornitore che corrisponde a questo SKU esiste già" -#: part/serializers.py:834 -msgid "External Stock" -msgstr "" - -#: part/serializers.py:836 +#: part/serializers.py:864 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:839 +#: part/serializers.py:867 msgid "Variant Stock" msgstr "" -#: part/serializers.py:869 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:472 +#: part/serializers.py:897 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "Duplica articolo" -#: part/serializers.py:870 +#: part/serializers.py:898 msgid "Copy initial data from another Part" msgstr "Copia i dati iniziali da un altro Articolo" -#: part/serializers.py:876 templates/js/translated/part.js:102 +#: part/serializers.py:904 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "Stock iniziale" -#: part/serializers.py:877 +#: part/serializers.py:905 msgid "Create Part with initial stock quantity" msgstr "Crea Articolo con quantità di scorta iniziale" -#: part/serializers.py:883 +#: part/serializers.py:911 msgid "Supplier Information" msgstr "Informazioni Fornitore" -#: part/serializers.py:884 +#: part/serializers.py:912 msgid "Add initial supplier information for this part" msgstr "Aggiungi le informazioni iniziali del fornitore per questo articolo" -#: part/serializers.py:892 +#: part/serializers.py:920 msgid "Copy Category Parameters" msgstr "Copia Parametri Categoria" -#: part/serializers.py:893 +#: part/serializers.py:921 msgid "Copy parameter templates from selected part category" msgstr "Copia i parametri dai modelli della categoria articolo selezionata" -#: part/serializers.py:898 +#: part/serializers.py:926 msgid "Existing Image" msgstr "" -#: part/serializers.py:899 +#: part/serializers.py:927 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:916 +#: part/serializers.py:944 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1122 +#: part/serializers.py:1150 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:1132 +#: part/serializers.py:1160 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:1142 +#: part/serializers.py:1170 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:1148 +#: part/serializers.py:1176 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1149 +#: part/serializers.py:1177 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1154 +#: part/serializers.py:1182 msgid "Generate Report" msgstr "Genera Report" -#: part/serializers.py:1155 +#: part/serializers.py:1183 msgid "Generate report file containing calculated stocktake data" msgstr "Genera file di report contenente dati di inventario calcolati" -#: part/serializers.py:1160 +#: part/serializers.py:1188 msgid "Update Parts" msgstr "Aggiorna Articoli" -#: part/serializers.py:1161 +#: part/serializers.py:1189 msgid "Update specified parts with calculated stocktake data" msgstr "Aggiorna gli articoli specificati con i dati calcolati di inventario" -#: part/serializers.py:1169 +#: part/serializers.py:1197 msgid "Stocktake functionality is not enabled" msgstr "La funzione Inventario non è abilitata" -#: part/serializers.py:1275 +#: part/serializers.py:1303 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1282 +#: part/serializers.py:1310 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1290 +#: part/serializers.py:1318 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1297 +#: part/serializers.py:1325 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1326 +#: part/serializers.py:1354 msgid "Update" msgstr "Aggiorna" -#: part/serializers.py:1327 +#: part/serializers.py:1355 msgid "Update pricing for this part" msgstr "Aggiorna i prezzi per questo articolo" -#: part/serializers.py:1350 +#: part/serializers.py:1378 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1357 +#: part/serializers.py:1385 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1360 +#: part/serializers.py:1388 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1727 +#: part/serializers.py:1759 msgid "Select part to copy BOM from" msgstr "Seleziona l'articolo da cui copiare la distinta base" -#: part/serializers.py:1735 +#: part/serializers.py:1767 msgid "Remove Existing Data" msgstr "Rimuovi Dati Esistenti" -#: part/serializers.py:1736 +#: part/serializers.py:1768 msgid "Remove existing BOM items before copying" msgstr "Rimuovi elementi distinta base esistenti prima di copiare" -#: part/serializers.py:1741 +#: part/serializers.py:1773 msgid "Include Inherited" msgstr "Includi Ereditato" -#: part/serializers.py:1742 +#: part/serializers.py:1774 msgid "Include BOM items which are inherited from templated parts" msgstr "Includi gli elementi Distinta Base ereditati da prodotti template" -#: part/serializers.py:1747 +#: part/serializers.py:1779 msgid "Skip Invalid Rows" msgstr "Salta Righe Non Valide" -#: part/serializers.py:1748 +#: part/serializers.py:1780 msgid "Enable this option to skip invalid rows" msgstr "Abilita questa opzione per saltare le righe non valide" -#: part/serializers.py:1753 +#: part/serializers.py:1785 msgid "Copy Substitute Parts" msgstr "Copia Articoli sostitutivi" -#: part/serializers.py:1754 +#: part/serializers.py:1786 msgid "Copy substitute parts when duplicate BOM items" msgstr "Copia articoli sostitutivi quando duplichi gli elementi distinta base" -#: part/serializers.py:1788 +#: part/serializers.py:1823 msgid "Clear Existing BOM" msgstr "Cancella Distinta Base esistente" -#: part/serializers.py:1789 +#: part/serializers.py:1824 msgid "Delete existing BOM items before uploading" msgstr "Rimuovi elementi distinta base esistenti prima del caricamento" -#: part/serializers.py:1819 +#: part/serializers.py:1856 msgid "No part column specified" msgstr "Nessuna colonna articolo specificata" -#: part/serializers.py:1863 +#: part/serializers.py:1900 msgid "Multiple matching parts found" msgstr "Trovati più articoli corrispondenti" -#: part/serializers.py:1866 +#: part/serializers.py:1903 msgid "No matching part found" msgstr "Nessun articolo corrispondente trovato" -#: part/serializers.py:1869 +#: part/serializers.py:1906 msgid "Part is not designated as a component" msgstr "L'articolo non è indicato come componente" -#: part/serializers.py:1878 +#: part/serializers.py:1915 msgid "Quantity not provided" msgstr "Quantità non fornita" -#: part/serializers.py:1886 +#: part/serializers.py:1923 msgid "Invalid quantity" msgstr "Quantità non valida" -#: part/serializers.py:1907 +#: part/serializers.py:1946 msgid "At least one BOM item is required" msgstr "Almeno un elemento della distinta base è richiesto" -#: part/stocktake.py:225 templates/js/translated/part.js:1067 -#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 +#: part/stocktake.py:225 templates/js/translated/part.js:1070 +#: templates/js/translated/part.js:1825 templates/js/translated/part.js:1881 #: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "Quantità Totale" @@ -7507,7 +7872,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 templates/js/translated/label.js:143 +#: stock/templates/stock/location.html:74 templates/js/translated/label.js:136 msgid "Print Label" msgstr "Stampa Etichetta" @@ -7529,7 +7894,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:2296 msgid "Part actions" msgstr "Azioni articolo" @@ -7569,6 +7934,10 @@ msgstr "L'articolo può essere acquistato da fornitori esterni" msgid "Part can be sold to customers" msgstr "La parte può essere venduta ai clienti" +#: part/templates/part/part_base.html:145 +msgid "Part is not active" +msgstr "L'articolo non è attivo" + #: part/templates/part/part_base.html:153 msgid "Part is virtual (not a physical part)" msgstr "L'Articolo è virtuale (non è un articolo fisico)" @@ -7597,7 +7966,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:1265 templates/js/translated/part.js:2444 +#: templates/js/translated/part.js:1268 templates/js/translated/part.js:2447 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" @@ -7690,8 +8059,8 @@ msgstr "Varianti" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/part.js:1243 templates/js/translated/part.js:2146 -#: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 +#: templates/js/translated/part.js:1246 templates/js/translated/part.js:2149 +#: templates/js/translated/part.js:2395 templates/js/translated/stock.js:1059 #: templates/js/translated/stock.js:2070 templates/navbar.html:31 msgid "Stock" msgstr "Magazzino" @@ -7811,8 +8180,8 @@ msgstr "" #: part/templates/part/stock_count.html:7 #: templates/js/translated/model_renderers.js:227 -#: templates/js/translated/part.js:705 templates/js/translated/part.js:2141 -#: templates/js/translated/part.js:2143 +#: templates/js/translated/part.js:704 templates/js/translated/part.js:2144 +#: templates/js/translated/part.js:2146 msgid "No Stock" msgstr "Nessuna giacenza" @@ -7956,7 +8325,7 @@ msgstr "" msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2589 +#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2590 #: templates/js/translated/sales_order.js:1953 msgid "Insufficient stock available" msgstr "Scorte insufficienti disponibili" @@ -8051,7 +8420,7 @@ msgstr "" msgid "Quantity to allocate" msgstr "" -#: plugin/base/label/label.py:39 templates/js/translated/label.js:155 +#: plugin/base/label/label.py:39 templates/js/translated/label.js:148 msgid "Label printing failed" msgstr "Stampa etichetta fallita" @@ -8748,7 +9117,7 @@ msgstr "Totale" #: report/templates/report/inventree_return_order_report.html:25 #: report/templates/report/inventree_test_report.html:88 stock/models.py:825 -#: stock/serializers.py:149 stock/templates/stock/item_base.html:311 +#: stock/serializers.py:151 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:230 @@ -8778,7 +9147,7 @@ msgstr "Risultati Test" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2447 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2457 msgid "Result" msgstr "Risultato" @@ -8799,7 +9168,7 @@ msgid "No result" msgstr "Nessun risultato" #: report/templates/report/inventree_test_report.html:153 -#: stock/templates/stock/stock_sidebar.html:16 +#: stock/serializers.py:591 stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "Elementi installati" @@ -8829,10 +9198,6 @@ msgstr "" msgid "Location ID" msgstr "ID Posizione" -#: stock/admin.py:53 stock/admin.py:175 -msgid "Location Name" -msgstr "Nome Ubicazione" - #: stock/admin.py:63 stock/templates/stock/location.html:131 #: stock/templates/stock/location.html:137 msgid "Location Path" @@ -8909,7 +9274,7 @@ msgstr "" msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:369 stock/serializers.py:1085 +#: stock/api.py:369 stock/serializers.py:1148 msgid "Parent Location" msgstr "" @@ -8917,44 +9282,45 @@ msgstr "" msgid "Filter by parent location" msgstr "" -#: stock/api.py:625 templates/js/translated/table_filters.js:427 +#: stock/api.py:617 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "Ubicazione Esterna" -#: stock/api.py:813 +#: stock/api.py:805 msgid "Part Tree" msgstr "" -#: stock/api.py:843 +#: stock/api.py:835 msgid "Expiry date before" msgstr "" -#: stock/api.py:847 +#: stock/api.py:839 msgid "Expiry date after" msgstr "" -#: stock/api.py:850 stock/templates/stock/item_base.html:439 +#: stock/api.py:842 stock/serializers.py:596 +#: stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "Obsoleto" -#: stock/api.py:937 +#: stock/api.py:929 msgid "Quantity is required" msgstr "La quantità è richiesta" -#: stock/api.py:943 +#: stock/api.py:935 msgid "Valid part must be supplied" msgstr "Deve essere fornita un articolo valido" -#: stock/api.py:974 +#: stock/api.py:966 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:984 +#: stock/api.py:976 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1015 +#: stock/api.py:1007 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" @@ -9021,7 +9387,7 @@ msgstr "Non puoi rendere strutturale questa posizione di magazzino perché alcun 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:669 stock/serializers.py:446 +#: stock/models.py:669 stock/serializers.py:477 msgid "Stock item cannot be created for virtual parts" msgstr "Non è possibile creare un elemento di magazzino per articoli virtuali" @@ -9066,7 +9432,7 @@ msgstr "Seleziona un fornitore articolo corrispondente per questo elemento di ma msgid "Where is this stock item located?" msgstr "Dove si trova questo articolo di magazzino?" -#: stock/models.py:799 stock/serializers.py:1476 +#: stock/models.py:799 stock/serializers.py:1542 msgid "Packaging this stock item is stored in" msgstr "Imballaggio di questo articolo di magazzino è collocato in" @@ -9078,7 +9444,7 @@ msgstr "Questo elemento è stato installato su un altro elemento?" msgid "Serial number for this item" msgstr "Numero di serie per questo elemento" -#: stock/models.py:843 stock/serializers.py:1459 +#: stock/models.py:843 stock/serializers.py:1525 msgid "Batch code for this stock item" msgstr "Codice lotto per questo elemento di magazzino" @@ -9155,7 +9521,7 @@ msgstr "I numeri di serie devono essere numeri interi" msgid "Quantity does not match serial numbers" msgstr "La quantità non corrisponde ai numeri di serie" -#: stock/models.py:1520 stock/serializers.py:660 +#: stock/models.py:1520 stock/serializers.py:718 msgid "Serial numbers already exist" msgstr "Numeri di serie già esistenti" @@ -9187,7 +9553,7 @@ msgstr "L'elemento di magazzino è attualmente in produzione" msgid "Serialized stock cannot be merged" msgstr "Il magazzino serializzato non può essere unito" -#: stock/models.py:1658 stock/serializers.py:1365 +#: stock/models.py:1658 stock/serializers.py:1431 msgid "Duplicate stock items" msgstr "Duplica elementi di magazzino" @@ -9207,288 +9573,342 @@ msgstr "I codici di stato dello stock devono corrispondere" 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:2317 +#, fuzzy +#| msgid "Stock Tracking" +msgid "Stock Item Tracking" +msgstr "Rilevamento Stock" + +#: stock/models.py:2350 msgid "Entry notes" msgstr "Note d'ingresso" -#: stock/models.py:2413 +#: stock/models.py:2390 +#, fuzzy +#| msgid "Stock Item Test Report" +msgid "Stock Item Test Result" +msgstr "Test Report Elemento Stock" + +#: stock/models.py:2423 msgid "Value must be provided for this test" msgstr "Il valore deve essere fornito per questo test" -#: stock/models.py:2418 +#: stock/models.py:2428 msgid "Attachment must be uploaded for this test" msgstr "L'allegato deve essere caricato per questo test" -#: stock/models.py:2423 +#: stock/models.py:2433 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2447 +#: stock/models.py:2457 msgid "Test result" msgstr "Risultato Test" -#: stock/models.py:2454 +#: stock/models.py:2464 msgid "Test output value" msgstr "Test valore output" -#: stock/models.py:2462 +#: stock/models.py:2472 msgid "Test result attachment" msgstr "Risultato della prova allegato" -#: stock/models.py:2466 +#: stock/models.py:2476 msgid "Test notes" msgstr "Note del test" -#: stock/models.py:2474 templates/js/translated/stock.js:1548 +#: stock/models.py:2484 templates/js/translated/stock.js:1548 msgid "Test station" msgstr "" -#: stock/models.py:2475 +#: stock/models.py:2485 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2481 +#: stock/models.py:2491 msgid "Started" msgstr "" -#: stock/models.py:2482 +#: stock/models.py:2492 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2488 +#: stock/models.py:2498 msgid "Finished" msgstr "" -#: stock/models.py:2489 +#: stock/models.py:2499 msgid "The timestamp of the test finish" msgstr "" -#: stock/serializers.py:74 +#: stock/serializers.py:76 msgid "Generated batch code" msgstr "" -#: stock/serializers.py:83 +#: stock/serializers.py:85 msgid "Select build order" msgstr "" -#: stock/serializers.py:92 +#: stock/serializers.py:94 msgid "Select stock item to generate batch code for" msgstr "" -#: stock/serializers.py:101 +#: stock/serializers.py:103 msgid "Select location to generate batch code for" msgstr "" -#: stock/serializers.py:110 +#: stock/serializers.py:112 msgid "Select part to generate batch code for" msgstr "" -#: stock/serializers.py:119 +#: stock/serializers.py:121 msgid "Select purchase order" msgstr "" -#: stock/serializers.py:126 +#: stock/serializers.py:128 msgid "Enter quantity for batch code" msgstr "" -#: stock/serializers.py:149 +#: stock/serializers.py:151 msgid "Generated serial number" msgstr "" -#: stock/serializers.py:158 +#: stock/serializers.py:160 msgid "Select part to generate serial number for" msgstr "" -#: stock/serializers.py:166 +#: stock/serializers.py:168 msgid "Quantity of serial numbers to generate" msgstr "" -#: stock/serializers.py:228 +#: stock/serializers.py:233 msgid "Test template for this result" msgstr "" -#: stock/serializers.py:247 +#: stock/serializers.py:252 msgid "Template ID or test name must be provided" msgstr "" -#: stock/serializers.py:279 +#: stock/serializers.py:284 msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:315 +#: stock/serializers.py:320 msgid "Serial number is too large" msgstr "Il numero di serie è troppo grande" -#: stock/serializers.py:438 +#: stock/serializers.py:449 stock/templates/stock/item_base.html:193 +msgid "Parent Item" +msgstr "Elemento principale" + +#: stock/serializers.py:450 +#, fuzzy +#| msgid "Parent Stock Item" +msgid "Parent stock item" +msgstr "Elemento di magazzino principale" + +#: stock/serializers.py:469 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:558 +#: stock/serializers.py:585 templates/js/translated/build.js:991 +#: templates/js/translated/build.js:2344 +msgid "Allocated Quantity" +msgstr "" + +#: stock/serializers.py:588 stock/templates/stock/item_base.html:437 +#: templates/js/translated/table_filters.js:435 users/models.py:174 +msgid "Expired" +msgstr "Scaduto" + +#: stock/serializers.py:594 stock/templates/stock/stock_sidebar.html:20 +msgid "Child Items" +msgstr "Elementi secondari" + +#: stock/serializers.py:598 +#, fuzzy +#| msgid "Tracking Number" +msgid "Tracking Items" +msgstr "Numero di monitoraggio" + +#: stock/serializers.py:604 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:595 +#: stock/serializers.py:623 +#, fuzzy +#| msgid "Minimum Price" +msgid "Minimum Pricing" +msgstr "Prezzo Minimo" + +#: stock/serializers.py:629 +#, fuzzy +#| msgid "Maximum Price" +msgid "Maximum Pricing" +msgstr "Prezzo Massimo" + +#: stock/serializers.py:653 msgid "Enter number of stock items to serialize" msgstr "Inserisci il numero di elementi di magazzino da serializzare" -#: stock/serializers.py:608 +#: stock/serializers.py:666 #, 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:615 +#: stock/serializers.py:673 msgid "Enter serial numbers for new items" msgstr "Inserisci i numeri di serie per i nuovi elementi" -#: stock/serializers.py:626 stock/serializers.py:1322 stock/serializers.py:1578 +#: stock/serializers.py:684 stock/serializers.py:1388 stock/serializers.py:1644 msgid "Destination stock location" msgstr "Posizione magazzino di destinazione" -#: stock/serializers.py:633 +#: stock/serializers.py:691 msgid "Optional note field" msgstr "Note opzionali elemento" -#: stock/serializers.py:643 +#: stock/serializers.py:701 msgid "Serial numbers cannot be assigned to this part" msgstr "Numeri di serie non possono essere assegnati a questo articolo" -#: stock/serializers.py:698 +#: stock/serializers.py:756 msgid "Select stock item to install" msgstr "Seleziona elementi di magazzino da installare" -#: stock/serializers.py:705 +#: stock/serializers.py:763 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:706 +#: stock/serializers.py:764 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:711 stock/serializers.py:791 stock/serializers.py:887 -#: stock/serializers.py:937 +#: stock/serializers.py:769 stock/serializers.py:849 stock/serializers.py:945 +#: stock/serializers.py:995 msgid "Add transaction note (optional)" msgstr "Aggiungi nota di transazione (opzionale)" -#: stock/serializers.py:719 +#: stock/serializers.py:777 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:727 +#: stock/serializers.py:785 msgid "Stock item is unavailable" msgstr "Elemento di magazzino non disponibile" -#: stock/serializers.py:738 +#: stock/serializers.py:796 msgid "Selected part is not in the Bill of Materials" msgstr "L'articolo selezionato non è nella Fattura dei Materiali" -#: stock/serializers.py:751 +#: stock/serializers.py:809 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:786 +#: stock/serializers.py:844 msgid "Destination location for uninstalled item" msgstr "Posizione di destinazione per gli elementi disinstallati" -#: stock/serializers.py:821 +#: stock/serializers.py:879 msgid "Select part to convert stock item into" msgstr "Seleziona l'articolo in cui convertire l'elemento di magazzino" -#: stock/serializers.py:834 +#: stock/serializers.py:892 msgid "Selected part is not a valid option for conversion" msgstr "L'articolo selezionato non è una valida opzione per la conversione" -#: stock/serializers.py:851 +#: stock/serializers.py:909 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:882 +#: stock/serializers.py:940 msgid "Destination location for returned item" msgstr "Posizione di destinazione per l'elemento restituito" -#: stock/serializers.py:919 +#: stock/serializers.py:977 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:925 +#: stock/serializers.py:983 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1021 stock/serializers.py:1093 +#: stock/serializers.py:1079 stock/serializers.py:1156 #: stock/templates/stock/location.html:165 #: stock/templates/stock/location.html:222 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "Sottoallocazioni" -#: stock/serializers.py:1086 templates/js/translated/stock.js:152 +#: stock/serializers.py:1149 templates/js/translated/stock.js:152 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1194 +#: stock/serializers.py:1260 msgid "Part must be salable" msgstr "L'articolo deve essere vendibile" -#: stock/serializers.py:1198 +#: stock/serializers.py:1264 msgid "Item is allocated to a sales order" msgstr "L'elemento è assegnato a un ordine di vendita" -#: stock/serializers.py:1202 +#: stock/serializers.py:1268 msgid "Item is allocated to a build order" msgstr "Elemento assegnato a un ordine di costruzione" -#: stock/serializers.py:1226 +#: stock/serializers.py:1292 msgid "Customer to assign stock items" msgstr "Cliente a cui assegnare elementi di magazzino" -#: stock/serializers.py:1232 +#: stock/serializers.py:1298 msgid "Selected company is not a customer" msgstr "L'azienda selezionata non è un cliente" -#: stock/serializers.py:1240 +#: stock/serializers.py:1306 msgid "Stock assignment notes" msgstr "Note sull'assegnazione delle scorte" -#: stock/serializers.py:1250 stock/serializers.py:1504 +#: stock/serializers.py:1316 stock/serializers.py:1570 msgid "A list of stock items must be provided" msgstr "Deve essere fornito un elenco degli elementi di magazzino" -#: stock/serializers.py:1329 +#: stock/serializers.py:1395 msgid "Stock merging notes" msgstr "Note di fusione di magazzino" -#: stock/serializers.py:1334 +#: stock/serializers.py:1400 msgid "Allow mismatched suppliers" msgstr "Consenti fornitori non corrispondenti" -#: stock/serializers.py:1335 +#: stock/serializers.py:1401 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:1340 +#: stock/serializers.py:1406 msgid "Allow mismatched status" msgstr "Consenti stato non corrispondente" -#: stock/serializers.py:1341 +#: stock/serializers.py:1407 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:1351 +#: stock/serializers.py:1417 msgid "At least two stock items must be provided" msgstr "Devono essere riforniti almeno due elementi in magazzino" -#: stock/serializers.py:1418 +#: stock/serializers.py:1484 msgid "No Change" msgstr "" -#: stock/serializers.py:1447 +#: stock/serializers.py:1513 msgid "StockItem primary key value" msgstr "Valore di chiave primaria StockItem" -#: stock/serializers.py:1466 +#: stock/serializers.py:1532 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1494 +#: stock/serializers.py:1560 msgid "Stock transaction notes" msgstr "Note sugli spostamenti di magazzino" @@ -9757,10 +10177,6 @@ msgstr "Cancella elemento di magazzino" msgid "Build" msgstr "Produzione" -#: stock/templates/stock/item_base.html:193 -msgid "Parent Item" -msgstr "Elemento principale" - #: stock/templates/stock/item_base.html:211 msgid "No manufacturer set" msgstr "Nessun produttore impostato" @@ -9836,11 +10252,6 @@ msgstr "Questo elemento di magazzino non ha superato i test richiesti" msgid "This StockItem expired on %(item.expiry_date)s" msgstr "Questo Elemento Stock è scaduto il %(item.expiry_date)s" -#: stock/templates/stock/item_base.html:437 -#: templates/js/translated/table_filters.js:435 users/models.py:174 -msgid "Expired" -msgstr "Scaduto" - #: stock/templates/stock/item_base.html:439 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" @@ -9988,10 +10399,6 @@ msgstr "Rilevamento Stock" msgid "Allocations" msgstr "Assegnazioni" -#: stock/templates/stock/stock_sidebar.html:20 -msgid "Child Items" -msgstr "Elementi secondari" - #: templates/403.html:6 templates/403.html:12 templates/403_csrf.html:7 msgid "Permission Denied" msgstr "Permesso negato" @@ -10466,8 +10873,8 @@ 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:393 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:245 users/models.py:402 +#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 +#: templates/js/translated/stock.js:245 users/models.py:406 msgid "Delete" msgstr "Elimina" @@ -10507,12 +10914,12 @@ msgid "No category parameter templates found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:308 -#: templates/js/translated/part.js:1646 +#: templates/js/translated/part.js:1649 msgid "Edit Template" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:309 -#: templates/js/translated/part.js:1647 +#: templates/js/translated/part.js:1650 msgid "Delete Template" msgstr "" @@ -11145,7 +11552,7 @@ msgid "The following parts are low on required stock" msgstr "I seguenti articoli sono pochi nel magazzino richiesto" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2556 +#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2557 msgid "Required Quantity" msgstr "Quantità richiesta" @@ -11159,7 +11566,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:3219 +#: templates/js/translated/part.js:3222 msgid "Minimum Quantity" msgstr "Quantità minima" @@ -11514,7 +11921,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2500 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2501 msgid "Variant stock allowed" msgstr "" @@ -11534,30 +11941,30 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2621 +#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2622 msgid "External stock" msgstr "" -#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2595 +#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2596 #: templates/js/translated/sales_order.js:1946 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2599 +#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2600 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2601 -#: templates/js/translated/part.js:1257 +#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2602 +#: templates/js/translated/part.js:1260 #: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2603 +#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2604 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2586 +#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2587 msgid "Consumable item" msgstr "" @@ -11589,7 +11996,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2485 +#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2486 msgid "Required Part" msgstr "" @@ -11758,10 +12165,6 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:991 templates/js/translated/build.js:2344 -msgid "Allocated Quantity" -msgstr "" - #: templates/js/translated/build.js:1005 msgid "Location not specified" msgstr "" @@ -11873,9 +12276,9 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2117 templates/js/translated/build.js:2479 +#: templates/js/translated/build.js:2117 templates/js/translated/build.js:2480 #: templates/js/translated/forms.js:2163 templates/js/translated/forms.js:2179 -#: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 +#: templates/js/translated/part.js:2319 templates/js/translated/part.js:2745 #: templates/js/translated/stock.js:1983 templates/js/translated/stock.js:2710 msgid "Select" msgstr "" @@ -11906,59 +12309,59 @@ msgstr "" msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2455 +#: templates/js/translated/build.js:2456 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2456 +#: templates/js/translated/build.js:2457 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2474 +#: templates/js/translated/build.js:2475 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2504 templates/js/translated/part.js:791 -#: templates/js/translated/part.js:1203 +#: templates/js/translated/build.js:2505 templates/js/translated/part.js:790 +#: templates/js/translated/part.js:1206 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2539 +#: templates/js/translated/build.js:2540 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2591 +#: templates/js/translated/build.js:2592 #: templates/js/translated/sales_order.js:1951 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2646 +#: templates/js/translated/build.js:2647 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2653 +#: templates/js/translated/build.js:2654 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2654 +#: templates/js/translated/build.js:2655 msgid "Allocate tracked items against individual build outputs" msgstr "" -#: templates/js/translated/build.js:2662 +#: templates/js/translated/build.js:2663 #: templates/js/translated/sales_order.js:2052 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2667 templates/js/translated/stock.js:1868 +#: templates/js/translated/build.js:2668 templates/js/translated/stock.js:1868 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2671 +#: templates/js/translated/build.js:2672 #: templates/js/translated/sales_order.js:2046 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2675 +#: templates/js/translated/build.js:2676 msgid "Remove stock allocation" msgstr "" @@ -12105,7 +12508,7 @@ msgid "Delete Parameters" msgstr "" #: templates/js/translated/company.js:1191 -#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2245 +#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2248 msgid "Order parts" msgstr "" @@ -12122,34 +12525,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:1279 -#: templates/js/translated/company.js:1567 templates/js/translated/part.js:799 -#: templates/js/translated/part.js:1211 +#: templates/js/translated/company.js:1567 templates/js/translated/part.js:798 +#: templates/js/translated/part.js:1214 msgid "Template part" msgstr "" #: templates/js/translated/company.js:1283 -#: templates/js/translated/company.js:1571 templates/js/translated/part.js:803 -#: templates/js/translated/part.js:1215 +#: templates/js/translated/company.js:1571 templates/js/translated/part.js:802 +#: templates/js/translated/part.js:1218 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1465 +#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1468 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1528 +#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1531 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1529 +#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1532 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1434 +#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1437 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1550 +#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1553 msgid "Delete Parameter" msgstr "" @@ -12323,15 +12726,15 @@ msgstr "" msgid "No parts required for builds" msgstr "" -#: templates/js/translated/label.js:55 templates/js/translated/report.js:38 +#: templates/js/translated/label.js:48 templates/js/translated/report.js:38 msgid "Select Items" msgstr "" -#: templates/js/translated/label.js:56 templates/js/translated/report.js:39 +#: templates/js/translated/label.js:49 templates/js/translated/report.js:39 msgid "No items selected for printing" msgstr "" -#: templates/js/translated/label.js:150 +#: templates/js/translated/label.js:143 msgid "Labels sent to printer" msgstr "" @@ -12400,7 +12803,7 @@ msgstr "" #: templates/js/translated/news.js:38 #: templates/js/translated/notification.js:46 -#: templates/js/translated/part.js:1605 +#: templates/js/translated/part.js:1608 msgid "ID" msgstr "" @@ -12481,343 +12884,343 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:333 templates/js/translated/stock.js:175 +#: templates/js/translated/part.js:332 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:353 +#: templates/js/translated/part.js:352 msgid "Create Part Category" msgstr "" -#: templates/js/translated/part.js:356 +#: templates/js/translated/part.js:355 msgid "Create new category after this one" msgstr "" -#: templates/js/translated/part.js:357 +#: templates/js/translated/part.js:356 msgid "Part category created" msgstr "" -#: templates/js/translated/part.js:371 +#: templates/js/translated/part.js:370 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:384 +#: templates/js/translated/part.js:383 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:389 +#: templates/js/translated/part.js:388 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:398 +#: templates/js/translated/part.js:397 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:402 +#: templates/js/translated/part.js:401 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:407 +#: templates/js/translated/part.js:406 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:431 +#: templates/js/translated/part.js:430 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:433 +#: templates/js/translated/part.js:432 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:434 +#: templates/js/translated/part.js:433 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:462 +#: templates/js/translated/part.js:461 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:464 +#: templates/js/translated/part.js:463 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:475 +#: templates/js/translated/part.js:474 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:532 +#: templates/js/translated/part.js:531 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:533 +#: templates/js/translated/part.js:532 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:547 +#: templates/js/translated/part.js:546 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:549 +#: templates/js/translated/part.js:548 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:550 +#: templates/js/translated/part.js:549 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:551 +#: templates/js/translated/part.js:550 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:558 +#: templates/js/translated/part.js:557 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:594 +#: templates/js/translated/part.js:593 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:596 +#: templates/js/translated/part.js:595 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:601 +#: templates/js/translated/part.js:600 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:603 +#: templates/js/translated/part.js:602 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:620 +#: templates/js/translated/part.js:619 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:630 +#: templates/js/translated/part.js:629 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:633 +#: templates/js/translated/part.js:632 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:658 +#: templates/js/translated/part.js:657 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:686 -#: templates/js/translated/table_filters.js:747 +#: templates/js/translated/part.js:685 +#: templates/js/translated/table_filters.js:752 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:689 +#: templates/js/translated/part.js:688 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:749 +#: templates/js/translated/part.js:748 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:772 +#: templates/js/translated/part.js:771 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:795 templates/js/translated/part.js:1207 +#: templates/js/translated/part.js:794 templates/js/translated/part.js:1210 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:807 +#: templates/js/translated/part.js:806 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:811 +#: templates/js/translated/part.js:810 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:890 +#: templates/js/translated/part.js:893 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:890 +#: templates/js/translated/part.js:893 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:898 +#: templates/js/translated/part.js:901 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:902 +#: templates/js/translated/part.js:905 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:1051 +#: templates/js/translated/part.js:1054 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1109 templates/js/translated/part.js:1145 +#: templates/js/translated/part.js:1112 templates/js/translated/part.js:1148 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1113 templates/js/translated/part.js:1155 +#: templates/js/translated/part.js:1116 templates/js/translated/part.js:1158 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1282 +#: templates/js/translated/part.js:1285 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1600 +#: templates/js/translated/part.js:1603 msgid "No part parameter templates found" msgstr "" -#: templates/js/translated/part.js:1663 +#: templates/js/translated/part.js:1666 msgid "Edit Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1675 +#: templates/js/translated/part.js:1678 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/js/translated/part.js:1683 +#: templates/js/translated/part.js:1686 msgid "Delete Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1717 +#: templates/js/translated/part.js:1720 #: templates/js/translated/purchase_order.js:1654 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/part.js:1861 +#: templates/js/translated/part.js:1864 #: 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:1907 +#: templates/js/translated/part.js:1910 #: templates/js/translated/purchase_order.js:2220 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1970 +#: templates/js/translated/part.js:1973 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1992 +#: templates/js/translated/part.js:1995 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2080 templates/js/translated/part.js:2506 +#: templates/js/translated/part.js:2083 templates/js/translated/part.js:2509 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:2201 +#: templates/js/translated/part.js:2204 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2206 +#: templates/js/translated/part.js:2209 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2236 +#: templates/js/translated/part.js:2239 msgid "Set category" msgstr "" -#: templates/js/translated/part.js:2287 +#: templates/js/translated/part.js:2290 msgid "part" msgstr "" -#: templates/js/translated/part.js:2288 +#: templates/js/translated/part.js:2291 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2384 +#: templates/js/translated/part.js:2387 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 +#: templates/js/translated/part.js:2534 templates/js/translated/part.js:2664 #: templates/js/translated/stock.js:2669 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2547 +#: templates/js/translated/part.js:2550 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2645 +#: templates/js/translated/part.js:2648 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2689 +#: templates/js/translated/part.js:2684 templates/js/translated/stock.js:2689 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2761 +#: templates/js/translated/part.js:2764 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2777 +#: templates/js/translated/part.js:2780 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2865 +#: templates/js/translated/part.js:2868 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2887 templates/js/translated/search.js:342 +#: templates/js/translated/part.js:2890 templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/part.js:2937 templates/js/translated/stock.js:1456 +#: templates/js/translated/part.js:2940 templates/js/translated/stock.js:1456 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2938 templates/js/translated/stock.js:1457 +#: templates/js/translated/part.js:2941 templates/js/translated/stock.js:1457 #: templates/js/translated/stock.js:1731 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2942 +#: templates/js/translated/part.js:2945 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2958 +#: templates/js/translated/part.js:2961 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2972 +#: templates/js/translated/part.js:2975 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3051 templates/js/translated/part.js:3052 +#: templates/js/translated/part.js:3054 templates/js/translated/part.js:3055 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3054 +#: templates/js/translated/part.js:3057 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3060 +#: templates/js/translated/part.js:3063 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3110 +#: templates/js/translated/part.js:3113 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3116 +#: templates/js/translated/part.js:3119 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3212 +#: templates/js/translated/part.js:3215 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3228 +#: templates/js/translated/part.js:3231 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3273 +#: templates/js/translated/part.js:3276 msgid "Minimum Stock Level" msgstr "" @@ -13593,7 +13996,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1042 users/models.py:392 +#: templates/js/translated/stock.js:1042 users/models.py:396 msgid "Add" msgstr "Aggiungi" @@ -13947,7 +14350,7 @@ msgid "Include subcategories" msgstr "" #: templates/js/translated/table_filters.js:287 -#: templates/js/translated/table_filters.js:759 +#: templates/js/translated/table_filters.js:764 msgid "Subscribed" msgstr "" @@ -14102,40 +14505,46 @@ msgstr "" msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:725 +#: templates/js/translated/table_filters.js:722 +#, fuzzy +#| msgid "Show related parts" +msgid "Show locked parts" +msgstr "Mostra articoli correlati" + +#: templates/js/translated/table_filters.js:730 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:733 -#: templates/js/translated/table_filters.js:833 +#: templates/js/translated/table_filters.js:738 +#: templates/js/translated/table_filters.js:838 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:734 +#: templates/js/translated/table_filters.js:739 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:738 +#: templates/js/translated/table_filters.js:743 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:739 +#: templates/js/translated/table_filters.js:744 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:743 +#: templates/js/translated/table_filters.js:748 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:751 +#: templates/js/translated/table_filters.js:756 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:763 +#: templates/js/translated/table_filters.js:768 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:829 +#: templates/js/translated/table_filters.js:834 msgid "Has Choices" msgstr "" @@ -14207,10 +14616,6 @@ msgstr "" msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:558 -msgid "Columns" -msgstr "" - #: templates/js/translated/tables.js:561 msgid "All" msgstr "" @@ -14484,35 +14889,34 @@ msgstr "" msgid "Revoked" msgstr "" -#: users/models.py:375 +#: users/models.py:379 msgid "Permission set" msgstr "Impostazione autorizzazioni" -#: users/models.py:384 +#: users/models.py:388 msgid "Group" msgstr "Gruppo" -#: users/models.py:388 +#: users/models.py:392 msgid "View" msgstr "Visualizza" -#: users/models.py:388 +#: users/models.py:392 msgid "Permission to view items" msgstr "Autorizzazione a visualizzare gli articoli" -#: users/models.py:392 +#: users/models.py:396 msgid "Permission to add items" msgstr "Autorizzazione ad aggiungere elementi" -#: users/models.py:396 +#: users/models.py:400 msgid "Change" msgstr "Modificare" -#: users/models.py:398 +#: users/models.py:402 msgid "Permissions to edit items" msgstr "Permessi per modificare gli elementi" -#: users/models.py:404 +#: users/models.py:408 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 75a6b24b4eaf..c0a416d7842d 100644 --- a/src/backend/InvenTree/locale/ja/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/ja/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-07-05 02:47+0000\n" +"POT-Creation-Date: 2024-07-08 14:46+0000\n" "PO-Revision-Date: 2024-07-05 14:57\n" "Last-Translator: \n" "Language-Team: Japanese\n" @@ -21,7 +21,7 @@ msgstr "" msgid "API endpoint not found" msgstr "APIエンドポイントが見つかりません" -#: InvenTree/api.py:520 +#: InvenTree/api.py:505 msgid "User does not have permission to view this model" msgstr "ユーザーにこのモデルを表示する権限がありません" @@ -56,21 +56,21 @@ msgstr "エラーの詳細は管理者パネルで確認できます" msgid "Enter date" msgstr "日付を入力する" -#: InvenTree/fields.py:205 InvenTree/models.py:918 build/serializers.py:452 -#: build/serializers.py:530 build/templates/build/sidebar.html:21 -#: company/models.py:817 company/templates/company/sidebar.html:37 +#: InvenTree/fields.py:205 InvenTree/models.py:921 build/serializers.py:456 +#: build/serializers.py:534 build/templates/build/sidebar.html:21 +#: company/models.py:824 company/templates/company/sidebar.html:37 #: order/models.py:1296 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:3183 part/templates/part/part_sidebar.html:63 +#: part/models.py:3193 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:230 stock/models.py:2344 stock/models.py:2466 -#: stock/serializers.py:632 stock/serializers.py:790 stock/serializers.py:886 -#: stock/serializers.py:936 stock/serializers.py:1239 stock/serializers.py:1328 -#: stock/serializers.py:1493 stock/templates/stock/stock_sidebar.html:25 +#: stock/admin.py:230 stock/models.py:2349 stock/models.py:2476 +#: stock/serializers.py:690 stock/serializers.py:848 stock/serializers.py:944 +#: stock/serializers.py:994 stock/serializers.py:1305 stock/serializers.py:1394 +#: stock/serializers.py:1559 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:1081 +#: templates/js/translated/part.js:1084 #: templates/js/translated/purchase_order.js:2200 #: templates/js/translated/return_order.js:775 #: templates/js/translated/sales_order.js:1103 @@ -371,41 +371,41 @@ msgstr "プラグインメタデータ" msgid "JSON metadata field, for use by external plugins" msgstr "外部プラグインで使用するためのJSONメタデータフィールド" -#: InvenTree/models.py:408 +#: InvenTree/models.py:411 msgid "Improperly formatted pattern" msgstr "" -#: InvenTree/models.py:415 +#: InvenTree/models.py:418 msgid "Unknown format key specified" msgstr "" -#: InvenTree/models.py:421 +#: InvenTree/models.py:424 msgid "Missing required format key" msgstr "" -#: InvenTree/models.py:432 +#: InvenTree/models.py:435 msgid "Reference field cannot be empty" msgstr "" -#: InvenTree/models.py:440 +#: InvenTree/models.py:443 msgid "Reference must match required pattern" msgstr "" -#: InvenTree/models.py:471 +#: InvenTree/models.py:474 msgid "Reference number is too large" msgstr "" -#: InvenTree/models.py:719 +#: InvenTree/models.py:722 msgid "Duplicate names cannot exist under the same parent" msgstr "" -#: InvenTree/models.py:736 +#: InvenTree/models.py:739 msgid "Invalid choice" msgstr "無効な選択です" -#: InvenTree/models.py:766 common/models.py:2678 common/models.py:3103 -#: common/serializers.py:408 company/models.py:580 machine/models.py:24 -#: part/models.py:891 part/models.py:3639 plugin/models.py:51 +#: InvenTree/models.py:769 common/models.py:2659 common/models.py:3089 +#: common/serializers.py:412 company/models.py:587 machine/models.py:24 +#: part/models.py:895 part/models.py:3660 plugin/models.py:51 #: report/models.py:150 stock/models.py:74 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -417,20 +417,20 @@ msgstr "無効な選択です" #: templates/js/translated/company.js:724 #: templates/js/translated/company.js:913 #: templates/js/translated/company.js:1165 -#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1187 -#: templates/js/translated/part.js:1475 templates/js/translated/part.js:1611 -#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2716 +#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1190 +#: templates/js/translated/part.js:1478 templates/js/translated/part.js:1614 +#: templates/js/translated/part.js:2752 templates/js/translated/stock.js:2716 msgid "Name" msgstr "お名前" -#: InvenTree/models.py:772 build/models.py:235 -#: build/templates/build/detail.html:24 common/models.py:138 -#: company/models.py:509 company/models.py:808 +#: InvenTree/models.py:775 build/models.py:242 +#: build/templates/build/detail.html:24 common/models.py:143 +#: company/models.py:515 company/models.py:815 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 -#: order/models.py:1329 part/admin.py:305 part/admin.py:408 part/models.py:914 -#: part/models.py:3654 part/templates/part/category.html:82 +#: order/models.py:1329 part/admin.py:305 part/admin.py:408 part/models.py:918 +#: part/models.py:3675 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:156 #: report/models.py:510 report/models.py:536 @@ -444,10 +444,10 @@ msgstr "お名前" #: templates/js/translated/build.js:2139 templates/js/translated/company.js:519 #: templates/js/translated/company.js:1330 #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 -#: templates/js/translated/order.js:298 templates/js/translated/part.js:1239 -#: templates/js/translated/part.js:1484 templates/js/translated/part.js:1622 -#: templates/js/translated/part.js:1959 templates/js/translated/part.js:2355 -#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2897 +#: templates/js/translated/order.js:298 templates/js/translated/part.js:1242 +#: templates/js/translated/part.js:1487 templates/js/translated/part.js:1625 +#: templates/js/translated/part.js:1962 templates/js/translated/part.js:2358 +#: templates/js/translated/part.js:2788 templates/js/translated/part.js:2900 #: templates/js/translated/plugin.js:80 #: templates/js/translated/purchase_order.js:1706 #: templates/js/translated/purchase_order.js:1849 @@ -460,53 +460,53 @@ msgstr "お名前" msgid "Description" msgstr "説明" -#: InvenTree/models.py:773 stock/models.py:81 +#: InvenTree/models.py:776 stock/models.py:81 msgid "Description (optional)" msgstr "説明 (オプション)" -#: InvenTree/models.py:788 templates/js/translated/part.js:2794 +#: InvenTree/models.py:791 templates/js/translated/part.js:2797 #: templates/js/translated/stock.js:2757 msgid "Path" msgstr "" -#: InvenTree/models.py:918 +#: InvenTree/models.py:921 msgid "Markdown notes (optional)" msgstr "マークダウンメモ (オプション)" -#: InvenTree/models.py:947 +#: InvenTree/models.py:950 msgid "Barcode Data" msgstr "バーコード情報" -#: InvenTree/models.py:948 +#: InvenTree/models.py:951 msgid "Third party barcode data" msgstr "サードパーティ製バーコードデータ" -#: InvenTree/models.py:954 +#: InvenTree/models.py:957 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:955 +#: InvenTree/models.py:958 msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:1008 +#: InvenTree/models.py:1011 msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:1051 +#: InvenTree/models.py:1054 msgid "Server Error" msgstr "" -#: InvenTree/models.py:1052 +#: InvenTree/models.py:1055 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:63 part/models.py:4192 +#: InvenTree/serializers.py:63 part/models.py:4277 msgid "Must be a valid number" msgstr "有効な数字でなければなりません" #: InvenTree/serializers.py:100 company/models.py:186 -#: company/templates/company/company_base.html:112 part/models.py:3001 +#: company/templates/company/company_base.html:112 part/models.py:3011 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -556,16 +556,16 @@ msgstr "" msgid "Is this user a superuser" msgstr "" -#: InvenTree/serializers.py:445 common/models.py:2683 company/models.py:163 -#: company/models.py:782 machine/models.py:39 part/admin.py:88 -#: part/models.py:1081 plugin/models.py:66 +#: InvenTree/serializers.py:445 common/models.py:2664 company/models.py:163 +#: company/models.py:789 machine/models.py:39 part/admin.py:88 +#: part/models.py:1085 plugin/models.py:66 #: 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 #: templates/js/translated/table_filters.js:520 #: templates/js/translated/table_filters.js:716 -#: templates/js/translated/table_filters.js:796 users/models.py:182 +#: templates/js/translated/table_filters.js:801 users/models.py:182 msgid "Active" msgstr "" @@ -597,7 +597,7 @@ msgstr "" msgid "Invalid value" msgstr "無効な値です。" -#: InvenTree/serializers.py:581 +#: InvenTree/serializers.py:581 importer/models.py:60 msgid "Data File" msgstr "データファイル" @@ -651,7 +651,7 @@ msgstr "外部画像ファイルのURL" msgid "Downloading images from remote URL is not enabled" msgstr "外部URLからの画像ダウンロードは許可されていません" -#: InvenTree/status.py:66 part/serializers.py:1174 +#: InvenTree/status.py:66 part/serializers.py:1202 msgid "Background worker check failed" msgstr "バックグラウンドワーカーのチェックに失敗しました" @@ -711,47 +711,48 @@ msgstr "システム情報" msgid "About InvenTree" msgstr "InvenTree について" -#: build/api.py:255 +#: build/api.py:248 msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:299 part/models.py:4070 templates/js/translated/bom.js:997 -#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 +#: build/api.py:292 build/serializers.py:1190 part/models.py:4155 +#: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 +#: templates/js/translated/build.js:2521 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:300 part/models.py:4064 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 +#: build/api.py:293 build/serializers.py:1191 part/models.py:4149 +#: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 +#: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2530 #: templates/js/translated/table_filters.js:186 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:587 msgid "Optional" msgstr "オプション" -#: build/api.py:301 templates/js/translated/table_filters.js:408 +#: build/api.py:294 templates/js/translated/table_filters.js:408 #: templates/js/translated/table_filters.js:579 msgid "Tracked" msgstr "" -#: build/api.py:303 part/admin.py:144 templates/js/translated/build.js:1744 -#: templates/js/translated/build.js:2629 +#: build/api.py:296 part/admin.py:144 templates/js/translated/build.js:1744 +#: templates/js/translated/build.js:2630 #: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:571 msgid "Allocated" msgstr "" -#: build/api.py:311 company/models.py:872 company/serializers.py:359 +#: build/api.py:304 company/models.py:879 company/serializers.py:386 #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2561 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2562 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:234 -#: templates/js/translated/part.js:693 templates/js/translated/part.js:695 -#: templates/js/translated/part.js:700 +#: 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 #: templates/js/translated/table_filters.js:575 msgid "Available" @@ -760,7 +761,7 @@ msgstr "" #: build/models.py:85 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 -#: stock/serializers.py:82 templates/email/build_order_completed.html:16 +#: stock/serializers.py:84 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:2892 msgid "Build Order" @@ -781,35 +782,39 @@ msgstr "組立注文" msgid "Assembly BOM has not been validated" msgstr "" -#: build/models.py:134 part/templates/part/part_base.html:145 -msgid "Part is not active" +#: build/models.py:134 +msgid "Build order cannot be created for an inactive part" +msgstr "" + +#: build/models.py:141 +msgid "Build order cannot be created for an unlocked part" msgstr "" -#: build/models.py:148 +#: build/models.py:155 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:159 order/models.py:240 +#: build/models.py:166 order/models.py:240 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:165 +#: build/models.py:172 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:226 +#: build/models.py:233 msgid "Build Order Reference" msgstr "" -#: build/models.py:227 order/models.py:463 order/models.py:926 -#: order/models.py:1289 order/models.py:2020 part/admin.py:411 -#: part/models.py:4085 part/templates/part/upload_bom.html:54 +#: build/models.py:234 build/serializers.py:1189 order/models.py:463 +#: order/models.py:926 order/models.py:1289 order/models.py:2046 +#: part/admin.py:411 part/models.py:4170 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: 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/build.js:2513 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2065 #: templates/js/translated/return_order.js:728 @@ -817,27 +822,28 @@ msgstr "" msgid "Reference" msgstr "" -#: build/models.py:238 +#: build/models.py:245 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:246 build/templates/build/build_base.html:183 +#: build/models.py:253 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/models.py:247 +#: build/models.py:254 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:252 build/templates/build/build_base.html:97 -#: build/templates/build/detail.html:29 company/models.py:1026 order/api.py:805 -#: order/models.py:1414 order/models.py:1559 order/models.py:1560 -#: part/api.py:1494 part/api.py:1788 part/models.py:395 part/models.py:3012 -#: part/models.py:3156 part/models.py:3303 part/models.py:3324 -#: part/models.py:3346 part/models.py:3477 part/models.py:3787 -#: part/models.py:3943 part/models.py:4036 part/models.py:4395 -#: part/serializers.py:1120 part/serializers.py:1726 +#: build/models.py:259 build/serializers.py:1184 +#: build/templates/build/build_base.html:97 +#: build/templates/build/detail.html:29 company/models.py:1034 order/api.py:759 +#: order/models.py:1419 order/models.py:1574 order/models.py:1575 +#: part/api.py:1480 part/api.py:1776 part/models.py:396 part/models.py:3022 +#: part/models.py:3166 part/models.py:3314 part/models.py:3335 +#: part/models.py:3357 part/models.py:3493 part/models.py:3827 +#: part/models.py:3990 part/models.py:4121 part/models.py:4480 +#: part/serializers.py:1148 part/serializers.py:1758 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -848,8 +854,8 @@ msgstr "" #: 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:109 stock/serializers.py:157 stock/serializers.py:423 -#: stock/serializers.py:820 templates/InvenTree/search.html:82 +#: stock/serializers.py:111 stock/serializers.py:159 stock/serializers.py:443 +#: stock/serializers.py:878 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 @@ -862,8 +868,8 @@ msgstr "" #: templates/js/translated/company.js:1116 #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 -#: templates/js/translated/part.js:1944 templates/js/translated/part.js:2016 -#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:1947 templates/js/translated/part.js:2019 +#: templates/js/translated/part.js:2327 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:1848 @@ -881,107 +887,107 @@ msgstr "" msgid "Part" msgstr "パーツ" -#: build/models.py:260 +#: build/models.py:267 msgid "Select part to build" msgstr "" -#: build/models.py:265 +#: build/models.py:272 msgid "Sales Order Reference" msgstr "" -#: build/models.py:269 +#: build/models.py:276 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:274 build/serializers.py:999 +#: build/models.py:281 build/serializers.py:1003 #: templates/js/translated/build.js:1731 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "" -#: build/models.py:278 +#: build/models.py:285 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:283 +#: build/models.py:290 msgid "Destination Location" msgstr "" -#: build/models.py:287 +#: build/models.py:294 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:291 +#: build/models.py:298 msgid "Build Quantity" msgstr "" -#: build/models.py:294 +#: build/models.py:301 msgid "Number of stock items to build" msgstr "" -#: build/models.py:298 +#: build/models.py:305 msgid "Completed items" msgstr "" -#: build/models.py:300 +#: build/models.py:307 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:304 +#: build/models.py:311 msgid "Build Status" msgstr "組立状況" -#: build/models.py:308 +#: build/models.py:315 msgid "Build status code" msgstr "" -#: build/models.py:317 build/serializers.py:286 order/serializers.py:580 -#: stock/models.py:839 stock/serializers.py:74 stock/serializers.py:1458 +#: build/models.py:324 build/serializers.py:290 order/serializers.py:629 +#: stock/models.py:839 stock/serializers.py:76 stock/serializers.py:1524 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "" -#: build/models.py:321 build/serializers.py:287 +#: build/models.py:328 build/serializers.py:291 msgid "Batch code for this build output" msgstr "" -#: build/models.py:324 order/models.py:316 order/serializers.py:119 -#: part/models.py:1115 part/templates/part/part_base.html:310 +#: build/models.py:331 order/models.py:316 order/serializers.py:127 +#: part/models.py:1125 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:328 +#: build/models.py:335 msgid "Target completion date" msgstr "" -#: build/models.py:329 +#: build/models.py:336 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:332 order/models.py:521 order/models.py:2065 +#: build/models.py:339 order/models.py:521 order/models.py:2091 #: templates/js/translated/build.js:2247 msgid "Completion Date" msgstr "" -#: build/models.py:338 +#: build/models.py:345 msgid "completed by" msgstr "" -#: build/models.py:346 templates/js/translated/build.js:2207 +#: build/models.py:353 templates/js/translated/build.js:2207 msgid "Issued by" msgstr "" -#: build/models.py:347 +#: build/models.py:354 msgid "User who issued this build order" msgstr "" -#: build/models.py:355 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 common/models.py:147 +#: build/models.py:362 build/templates/build/build_base.html:204 +#: build/templates/build/detail.html:122 common/models.py:152 #: order/models.py:334 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:232 part/models.py:1132 +#: order/templates/order/sales_order_base.html:232 part/models.py:1142 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 @@ -992,11 +998,11 @@ msgstr "" msgid "Responsible" msgstr "" -#: build/models.py:356 +#: build/models.py:363 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:361 build/templates/build/detail.html:108 +#: build/models.py:368 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 @@ -1008,21 +1014,22 @@ msgstr "" msgid "External Link" msgstr "外部リンク" -#: build/models.py:362 common/models.py:3244 part/models.py:956 +#: build/models.py:369 common/models.py:3230 part/models.py:960 #: stock/models.py:835 msgid "Link to external URL" msgstr "外部 サイト へのリンク" -#: build/models.py:366 +#: build/models.py:373 msgid "Build Priority" msgstr "組立優先度" -#: build/models.py:369 +#: build/models.py:376 msgid "Priority of this build order" msgstr "" -#: build/models.py:376 common/models.py:131 order/admin.py:18 -#: order/models.py:298 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:383 common/models.py:122 common/models.py:136 +#: order/admin.py:18 order/models.py:298 order/serializers.py:108 +#: templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 #: templates/js/translated/purchase_order.js:1710 #: templates/js/translated/return_order.js:317 @@ -1032,65 +1039,66 @@ msgstr "" msgid "Project Code" msgstr "" -#: build/models.py:377 +#: build/models.py:384 msgid "Project code for this build order" msgstr "" -#: build/models.py:610 build/models.py:675 +#: build/models.py:617 build/models.py:682 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:632 +#: build/models.py:639 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:638 +#: build/models.py:645 msgid "A build order has been completed" msgstr "" -#: build/models.py:864 build/models.py:949 +#: build/models.py:871 build/models.py:956 msgid "No build output specified" msgstr "" -#: build/models.py:867 +#: build/models.py:874 msgid "Build output is already completed" msgstr "" -#: build/models.py:870 +#: build/models.py:877 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:953 build/serializers.py:219 build/serializers.py:268 -#: build/serializers.py:866 order/models.py:559 order/serializers.py:432 -#: order/serializers.py:575 part/serializers.py:1484 part/serializers.py:1884 -#: stock/models.py:678 stock/models.py:1496 stock/serializers.py:603 +#: build/models.py:960 build/serializers.py:223 build/serializers.py:272 +#: build/serializers.py:870 order/models.py:559 order/serializers.py:461 +#: order/serializers.py:624 part/serializers.py:1515 part/serializers.py:1921 +#: stock/models.py:678 stock/models.py:1496 stock/serializers.py:661 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:958 build/serializers.py:224 +#: build/models.py:965 build/serializers.py:228 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1018 build/serializers.py:547 +#: build/models.py:1025 build/serializers.py:551 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1359 +#: build/models.py:1366 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1384 +#: build/models.py:1391 msgid "Build object" msgstr "" -#: build/models.py:1398 build/models.py:1654 build/serializers.py:206 -#: build/serializers.py:253 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2563 -#: order/models.py:1272 order/models.py:1931 order/serializers.py:1327 +#: build/models.py:1405 build/models.py:1661 build/serializers.py:210 +#: build/serializers.py:257 build/serializers.py:1194 +#: build/templates/build/build_base.html:102 +#: build/templates/build/detail.html:34 common/models.py:2544 +#: order/models.py:1272 order/models.py:1957 order/serializers.py:1383 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:410 -#: part/forms.py:48 part/models.py:3170 part/models.py:4058 +#: part/forms.py:48 part/models.py:3180 part/models.py:4143 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1100,7 +1108,7 @@ msgstr "" #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:169 stock/admin.py:159 -#: stock/serializers.py:125 stock/serializers.py:165 stock/serializers.py:594 +#: stock/serializers.py:127 stock/serializers.py:167 stock/serializers.py:652 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 @@ -1111,8 +1119,8 @@ msgstr "" #: templates/js/translated/build.js:1746 templates/js/translated/build.js:2357 #: templates/js/translated/company.js:1818 #: templates/js/translated/model_renderers.js:236 -#: templates/js/translated/order.js:304 templates/js/translated/part.js:962 -#: templates/js/translated/part.js:1812 templates/js/translated/part.js:3342 +#: templates/js/translated/order.js:304 templates/js/translated/part.js:965 +#: templates/js/translated/part.js:1815 templates/js/translated/part.js:3345 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 @@ -1132,38 +1140,38 @@ msgstr "" msgid "Quantity" msgstr "数量" -#: build/models.py:1399 +#: build/models.py:1406 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1479 +#: build/models.py:1486 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1488 +#: build/models.py:1495 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1498 order/models.py:1882 +#: build/models.py:1505 order/models.py:1908 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1504 order/models.py:1885 +#: build/models.py:1511 order/models.py:1911 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1510 +#: build/models.py:1517 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1569 +#: build/models.py:1576 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1641 build/serializers.py:846 order/serializers.py:1171 -#: order/serializers.py:1192 stock/models.py:359 stock/serializers.py:91 -#: stock/serializers.py:697 stock/serializers.py:1177 stock/serializers.py:1289 +#: build/models.py:1648 build/serializers.py:850 order/serializers.py:1227 +#: order/serializers.py:1248 stock/models.py:359 stock/serializers.py:93 +#: stock/serializers.py:755 stock/serializers.py:1243 stock/serializers.py:1355 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 @@ -1179,70 +1187,76 @@ msgstr "" msgid "Stock Item" msgstr "在庫商品" -#: build/models.py:1642 +#: build/models.py:1649 msgid "Source stock item" msgstr "" -#: build/models.py:1655 +#: build/models.py:1662 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1663 +#: build/models.py:1670 msgid "Install into" msgstr "" -#: build/models.py:1664 +#: build/models.py:1671 msgid "Destination stock item" msgstr "" -#: build/serializers.py:156 build/serializers.py:875 +#: build/serializers.py:89 build/serializers.py:1185 part/admin.py:41 +#: part/admin.py:405 part/models.py:3992 part/stocktake.py:220 +#: stock/admin.py:156 +msgid "Part Name" +msgstr "" + +#: build/serializers.py:160 build/serializers.py:879 #: templates/js/translated/build.js:1322 msgid "Build Output" msgstr "" -#: build/serializers.py:168 +#: build/serializers.py:172 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:172 +#: build/serializers.py:176 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:176 +#: build/serializers.py:180 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:187 +#: build/serializers.py:191 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:207 build/serializers.py:254 +#: build/serializers.py:211 build/serializers.py:258 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:275 +#: build/serializers.py:279 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:278 +#: build/serializers.py:282 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:293 order/serializers.py:588 order/serializers.py:1331 -#: stock/serializers.py:614 templates/js/translated/purchase_order.js:1153 +#: build/serializers.py:297 order/serializers.py:637 order/serializers.py:1387 +#: stock/serializers.py:672 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:294 +#: build/serializers.py:298 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:299 build/serializers.py:440 build/serializers.py:512 -#: order/serializers.py:564 order/serializers.py:672 order/serializers.py:1656 -#: part/serializers.py:1140 stock/serializers.py:100 stock/serializers.py:625 -#: stock/serializers.py:785 stock/serializers.py:881 stock/serializers.py:1321 -#: stock/serializers.py:1577 stock/templates/stock/item_base.html:394 +#: build/serializers.py:303 build/serializers.py:444 build/serializers.py:516 +#: order/serializers.py:613 order/serializers.py:721 order/serializers.py:1714 +#: part/serializers.py:1168 stock/serializers.py:102 stock/serializers.py:683 +#: stock/serializers.py:843 stock/serializers.py:939 stock/serializers.py:1387 +#: stock/serializers.py:1643 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 @@ -1258,54 +1272,54 @@ msgstr "" msgid "Location" msgstr "" -#: build/serializers.py:300 +#: build/serializers.py:304 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:314 +#: build/serializers.py:318 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:315 +#: build/serializers.py:319 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:330 +#: build/serializers.py:334 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:355 stock/api.py:1041 +#: build/serializers.py:359 stock/api.py:1033 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:402 build/serializers.py:464 build/serializers.py:553 +#: build/serializers.py:406 build/serializers.py:468 build/serializers.py:557 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:441 +#: build/serializers.py:445 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:447 +#: build/serializers.py:451 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:448 +#: build/serializers.py:452 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:453 +#: build/serializers.py:457 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:513 +#: build/serializers.py:517 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:519 build/templates/build/build_base.html:151 +#: build/serializers.py:523 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:950 -#: order/models.py:2044 order/serializers.py:596 stock/admin.py:164 -#: stock/serializers.py:932 stock/serializers.py:1465 +#: order/models.py:2070 order/serializers.py:645 stock/admin.py:164 +#: stock/serializers.py:990 stock/serializers.py:1531 #: 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 @@ -1317,193 +1331,245 @@ msgstr "" msgid "Status" msgstr "ステータス" -#: build/serializers.py:525 +#: build/serializers.py:529 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:526 +#: build/serializers.py:530 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:611 +#: build/serializers.py:615 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:612 +#: build/serializers.py:616 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:618 +#: build/serializers.py:622 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:619 +#: build/serializers.py:623 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:646 +#: build/serializers.py:650 msgid "Not permitted" msgstr "" -#: build/serializers.py:647 +#: build/serializers.py:651 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:648 +#: build/serializers.py:652 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:678 +#: build/serializers.py:682 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:680 +#: build/serializers.py:684 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:690 +#: build/serializers.py:694 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:695 +#: build/serializers.py:699 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:696 +#: build/serializers.py:700 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:706 templates/js/translated/build.js:315 +#: build/serializers.py:710 templates/js/translated/build.js:315 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:711 order/serializers.py:300 order/serializers.py:1234 +#: build/serializers.py:715 order/serializers.py:319 order/serializers.py:1290 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:712 +#: build/serializers.py:716 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:722 templates/js/translated/build.js:319 +#: build/serializers.py:726 templates/js/translated/build.js:319 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:731 templates/js/translated/build.js:303 +#: build/serializers.py:735 templates/js/translated/build.js:303 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:769 +#: build/serializers.py:773 msgid "Build Line" msgstr "組立ライン" -#: build/serializers.py:779 +#: build/serializers.py:783 msgid "Build output" msgstr "" -#: build/serializers.py:787 +#: build/serializers.py:791 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:823 +#: build/serializers.py:827 msgid "Build Line Item" msgstr "" -#: build/serializers.py:837 +#: build/serializers.py:841 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:852 stock/serializers.py:1190 +#: build/serializers.py:856 stock/serializers.py:1256 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:900 order/serializers.py:1225 +#: build/serializers.py:904 order/serializers.py:1281 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:906 +#: build/serializers.py:910 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:913 +#: build/serializers.py:917 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:937 order/serializers.py:1477 +#: build/serializers.py:941 order/serializers.py:1533 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:1000 +#: build/serializers.py:1004 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:1008 +#: build/serializers.py:1012 msgid "Exclude Location" msgstr "" -#: build/serializers.py:1009 +#: build/serializers.py:1013 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:1014 +#: build/serializers.py:1018 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:1015 +#: build/serializers.py:1019 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:1020 +#: build/serializers.py:1024 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:1021 +#: build/serializers.py:1025 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:1026 +#: build/serializers.py:1030 msgid "Optional Items" msgstr "" -#: build/serializers.py:1027 +#: build/serializers.py:1031 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1049 +#: build/serializers.py:1053 msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1139 part/models.py:3953 part/models.py:4387 -#: stock/api.py:804 +#: build/serializers.py:1095 +#, fuzzy +#| msgid "Supplier Parts" +msgid "Supplier Part Number" +msgstr "サプライヤー・パーツ" + +#: build/serializers.py:1096 company/models.py:500 +msgid "Manufacturer Part Number" +msgstr "" + +#: build/serializers.py:1097 stock/admin.py:53 stock/admin.py:175 +#: stock/serializers.py:454 +msgid "Location Name" +msgstr "" + +#: build/serializers.py:1098 +#, fuzzy +#| msgid "Build Line" +msgid "Build Reference" +msgstr "組立ライン" + +#: build/serializers.py:1099 +msgid "BOM Reference" +msgstr "" + +#: build/serializers.py:1186 part/admin.py:402 part/models.py:3993 +msgid "Part IPN" +msgstr "" + +#: build/serializers.py:1192 common/models.py:1488 part/admin.py:113 +#: part/models.py:1068 templates/js/translated/table_filters.js:147 +#: templates/js/translated/table_filters.js:223 +#: templates/js/translated/table_filters.js:776 +msgid "Trackable" +msgstr "追跡可能" + +#: build/serializers.py:1196 part/models.py:4000 part/models.py:4472 +#: stock/api.py:796 msgid "BOM Item" msgstr "" -#: build/serializers.py:1148 templates/js/translated/index.js:130 +#: build/serializers.py:1205 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1153 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:828 part/serializers.py:1502 +#: build/serializers.py:1210 part/admin.py:132 part/bom.py:173 +#: part/serializers.py:856 part/serializers.py:1533 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2613 templates/js/translated/part.js:710 -#: templates/js/translated/part.js:2149 +#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709 +#: templates/js/translated/part.js:2152 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "" -#: build/serializers.py:1158 part/serializers.py:1504 -#: templates/js/translated/build.js:2617 +#: build/serializers.py:1215 part/serializers.py:1535 +#: templates/js/translated/build.js:2618 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1163 part/bom.py:172 part/serializers.py:1527 +#: build/serializers.py:1220 part/bom.py:172 part/serializers.py:1558 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" msgstr "" +#: build/serializers.py:1224 +msgid "Available Substitute Stock" +msgstr "" + +#: build/serializers.py:1225 +msgid "Available Variant Stock" +msgstr "" + +#: build/serializers.py:1226 +msgid "Total Available Stock" +msgstr "" + +#: build/serializers.py:1227 part/serializers.py:862 +msgid "External Stock" +msgstr "" + #: build/status_codes.py:11 generic/states/tests.py:17 order/status_codes.py:12 #: order/status_codes.py:37 order/status_codes.py:64 order/status_codes.py:82 #: templates/js/translated/table_filters.js:598 @@ -1519,7 +1585,8 @@ msgstr "生産" msgid "Cancelled" msgstr "キャンセル済" -#: build/status_codes.py:14 generic/states/tests.py:19 order/status_codes.py:14 +#: build/status_codes.py:14 generic/states/tests.py:19 importer/models.py:468 +#: importer/status_codes.py:19 order/status_codes.py:14 #: order/status_codes.py:44 order/status_codes.py:69 #: order/templates/order/order_base.html:158 #: order/templates/order/sales_order_base.html:165 report/models.py:444 @@ -1652,11 +1719,12 @@ msgstr "" #: build/templates/build/build_base.html:160 #: build/templates/build/detail.html:138 order/models.py:309 -#: order/models.py:1307 order/templates/order/order_base.html:186 +#: order/models.py:1307 order/serializers.py:174 +#: order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: 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:1831 +#: templates/js/translated/build.js:2239 templates/js/translated/part.js:1834 #: templates/js/translated/purchase_order.js:1739 #: templates/js/translated/purchase_order.js:2147 #: templates/js/translated/return_order.js:346 @@ -1689,8 +1757,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1463 order/models.py:845 -#: order/models.py:1551 order/models.py:1665 order/models.py:1819 +#: build/templates/build/detail.html:101 order/api.py:1384 order/models.py:845 +#: order/models.py:1566 order/models.py:1681 order/models.py:1840 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 @@ -1740,7 +1808,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1443 +#: build/templates/build/detail.html:49 order/models.py:1448 #: templates/js/translated/purchase_order.js:2189 msgid "Destination" msgstr "" @@ -1892,31 +1960,31 @@ msgstr "" msgid "Incomplete Outputs" msgstr "" -#: common/api.py:689 +#: common/api.py:690 msgid "Is Link" msgstr "" -#: common/api.py:697 +#: common/api.py:698 msgid "Is File" msgstr "" -#: common/api.py:739 +#: common/api.py:740 msgid "User does not have permission to delete this attachment" msgstr "" -#: common/currency.py:130 +#: common/currency.py:132 msgid "Invalid currency code" msgstr "" -#: common/currency.py:132 +#: common/currency.py:134 msgid "Duplicate currency code" msgstr "" -#: common/currency.py:137 +#: common/currency.py:139 msgid "No valid currency codes provided" msgstr "" -#: common/currency.py:154 +#: common/currency.py:156 msgid "No plugin" msgstr "" @@ -1970,1635 +2038,1604 @@ msgstr "" msgid "Site URL is locked by configuration" msgstr "" -#: common/models.py:132 +#: common/models.py:137 msgid "Unique project code" msgstr "" -#: common/models.py:139 +#: common/models.py:144 msgid "Project description" msgstr "" -#: common/models.py:148 +#: common/models.py:153 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:765 +#: common/models.py:770 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:769 +#: common/models.py:774 msgid "Settings value" msgstr "" -#: common/models.py:821 +#: common/models.py:826 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:837 +#: common/models.py:842 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:845 +#: common/models.py:850 msgid "Value must be an integer value" msgstr "" -#: common/models.py:882 +#: common/models.py:887 msgid "Key string must be unique" msgstr "" -#: common/models.py:1114 +#: common/models.py:1119 msgid "No group" msgstr "" -#: common/models.py:1213 +#: common/models.py:1218 msgid "Restart required" msgstr "" -#: common/models.py:1215 +#: common/models.py:1220 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:1222 +#: common/models.py:1227 msgid "Pending migrations" msgstr "" -#: common/models.py:1223 +#: common/models.py:1228 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1228 +#: common/models.py:1233 msgid "Server Instance Name" msgstr "" -#: common/models.py:1230 +#: common/models.py:1235 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1234 +#: common/models.py:1239 msgid "Use instance name" msgstr "" -#: common/models.py:1235 +#: common/models.py:1240 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1240 +#: common/models.py:1245 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1241 +#: common/models.py:1246 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1246 company/models.py:111 company/models.py:112 +#: common/models.py:1251 company/models.py:111 company/models.py:112 msgid "Company name" msgstr "" -#: common/models.py:1247 +#: common/models.py:1252 msgid "Internal company name" msgstr "" -#: common/models.py:1251 +#: common/models.py:1256 msgid "Base URL" msgstr "" -#: common/models.py:1252 +#: common/models.py:1257 msgid "Base URL for server instance" msgstr "" -#: common/models.py:1258 +#: common/models.py:1263 msgid "Default Currency" msgstr "" -#: common/models.py:1259 +#: common/models.py:1264 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1265 +#: common/models.py:1270 msgid "Supported Currencies" msgstr "" -#: common/models.py:1266 +#: common/models.py:1271 msgid "List of supported currency codes" msgstr "" -#: common/models.py:1272 +#: common/models.py:1277 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1274 +#: common/models.py:1279 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1277 common/models.py:1333 common/models.py:1346 -#: common/models.py:1354 common/models.py:1363 common/models.py:1372 -#: common/models.py:1596 common/models.py:1618 common/models.py:1733 -#: common/models.py:2100 +#: common/models.py:1282 common/models.py:1338 common/models.py:1351 +#: common/models.py:1359 common/models.py:1368 common/models.py:1377 +#: common/models.py:1601 common/models.py:1623 common/models.py:1738 +#: common/models.py:2111 msgid "days" msgstr "" -#: common/models.py:1281 +#: common/models.py:1286 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1282 +#: common/models.py:1287 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1287 +#: common/models.py:1292 msgid "Download from URL" msgstr "" -#: common/models.py:1289 +#: common/models.py:1294 msgid "Allow download of remote images and files from external URL" msgstr "外部URLからの画像ダウンロードを許可する" -#: common/models.py:1295 +#: common/models.py:1300 msgid "Download Size Limit" msgstr "" -#: common/models.py:1296 +#: common/models.py:1301 msgid "Maximum allowable download size for remote image" msgstr "外部URL画像の最大サイズ" -#: common/models.py:1302 +#: common/models.py:1307 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1304 +#: common/models.py:1309 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/models.py:1309 +#: common/models.py:1314 msgid "Strict URL Validation" msgstr "" -#: common/models.py:1310 +#: common/models.py:1315 msgid "Require schema specification when validating URLs" msgstr "" -#: common/models.py:1315 +#: common/models.py:1320 msgid "Require confirm" msgstr "" -#: common/models.py:1316 +#: common/models.py:1321 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:1321 +#: common/models.py:1326 msgid "Tree Depth" msgstr "" -#: common/models.py:1323 +#: common/models.py:1328 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1329 +#: common/models.py:1334 msgid "Update Check Interval" msgstr "" -#: common/models.py:1330 +#: common/models.py:1335 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:1336 +#: common/models.py:1341 msgid "Automatic Backup" msgstr "" -#: common/models.py:1337 +#: common/models.py:1342 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:1342 +#: common/models.py:1347 msgid "Auto Backup Interval" msgstr "" -#: common/models.py:1343 +#: common/models.py:1348 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1349 +#: common/models.py:1354 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1351 +#: common/models.py:1356 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1358 +#: common/models.py:1363 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1360 +#: common/models.py:1365 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1367 +#: common/models.py:1372 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1369 +#: common/models.py:1374 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1376 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1381 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "" -#: common/models.py:1377 +#: common/models.py:1382 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1382 +#: common/models.py:1387 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1383 +#: common/models.py:1388 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1389 +#: common/models.py:1394 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1390 +#: common/models.py:1395 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1395 +#: common/models.py:1400 msgid "Barcode Show Data" msgstr "" -#: common/models.py:1396 +#: common/models.py:1401 msgid "Display barcode data in browser as text" msgstr "" -#: common/models.py:1401 +#: common/models.py:1406 msgid "Part Revisions" msgstr "" -#: common/models.py:1402 +#: common/models.py:1407 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1407 +#: common/models.py:1412 msgid "Allow Deletion from Assembly" msgstr "" -#: common/models.py:1408 +#: common/models.py:1413 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/models.py:1413 +#: common/models.py:1418 msgid "IPN Regex" msgstr "" -#: common/models.py:1414 +#: common/models.py:1419 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1417 +#: common/models.py:1422 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1418 +#: common/models.py:1423 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1423 +#: common/models.py:1428 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1424 +#: common/models.py:1429 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1429 +#: common/models.py:1434 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1430 +#: common/models.py:1435 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1435 +#: common/models.py:1440 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1436 +#: common/models.py:1441 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1441 +#: common/models.py:1446 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1442 +#: common/models.py:1447 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1447 +#: common/models.py:1452 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1448 +#: common/models.py:1453 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1453 part/admin.py:108 part/models.py:3795 +#: common/models.py:1458 part/admin.py:108 part/models.py:3835 #: report/models.py:294 report/models.py:361 report/serializers.py:90 -#: report/serializers.py:131 stock/serializers.py:227 +#: report/serializers.py:131 stock/serializers.py:232 #: templates/js/translated/table_filters.js:139 -#: templates/js/translated/table_filters.js:767 +#: templates/js/translated/table_filters.js:772 msgid "Template" msgstr "テンプレート" -#: common/models.py:1454 +#: common/models.py:1459 msgid "Parts are templates by default" msgstr "パーツはデフォルトのテンプレートです" -#: common/models.py:1459 part/admin.py:91 part/admin.py:425 part/models.py:1052 +#: common/models.py:1464 part/admin.py:91 part/admin.py:425 part/models.py:1056 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 -#: templates/js/translated/table_filters.js:721 +#: templates/js/translated/table_filters.js:726 msgid "Assembly" msgstr "アセンブリ" -#: common/models.py:1460 +#: common/models.py:1465 msgid "Parts can be assembled from other components by default" msgstr "パーツはデフォルトで他のコンポーネントから組み立てることができます" -#: common/models.py:1465 part/admin.py:95 part/models.py:1058 -#: templates/js/translated/table_filters.js:729 +#: common/models.py:1470 part/admin.py:95 part/models.py:1062 +#: templates/js/translated/table_filters.js:734 msgid "Component" msgstr "コンポーネント" -#: common/models.py:1466 +#: common/models.py:1471 msgid "Parts can be used as sub-components by default" msgstr "パーツはデフォルトでサブコンポーネントとして使用できます" -#: common/models.py:1471 part/admin.py:100 part/models.py:1070 +#: common/models.py:1476 part/admin.py:100 part/models.py:1074 msgid "Purchaseable" msgstr "購入可能" -#: common/models.py:1472 +#: common/models.py:1477 msgid "Parts are purchaseable by default" msgstr "パーツはデフォルトで購入可能です" -#: common/models.py:1477 part/admin.py:104 part/models.py:1076 -#: templates/js/translated/table_filters.js:755 +#: common/models.py:1482 part/admin.py:104 part/models.py:1080 +#: templates/js/translated/table_filters.js:760 msgid "Salable" msgstr "販売可能" -#: common/models.py:1478 +#: common/models.py:1483 msgid "Parts are salable by default" msgstr "パーツはデフォルトで販売可能です" -#: common/models.py:1483 part/admin.py:113 part/models.py:1064 -#: 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:1484 +#: common/models.py:1489 msgid "Parts are trackable by default" msgstr "パーツはデフォルトで追跡可能です" -#: common/models.py:1489 part/admin.py:117 part/models.py:1086 +#: common/models.py:1494 part/admin.py:117 part/models.py:1096 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 -#: templates/js/translated/table_filters.js:775 +#: templates/js/translated/table_filters.js:780 msgid "Virtual" msgstr "" -#: common/models.py:1490 +#: common/models.py:1495 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1495 +#: common/models.py:1500 msgid "Show Import in Views" msgstr "" -#: common/models.py:1496 +#: common/models.py:1501 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1501 +#: common/models.py:1506 msgid "Show related parts" msgstr "" -#: common/models.py:1502 +#: common/models.py:1507 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1507 +#: common/models.py:1512 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1508 +#: common/models.py:1513 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1513 templates/js/translated/part.js:107 +#: common/models.py:1518 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1515 +#: common/models.py:1520 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1521 +#: common/models.py:1526 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1522 +#: common/models.py:1527 msgid "Format to display the part name" msgstr "" -#: common/models.py:1528 +#: common/models.py:1533 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1529 +#: common/models.py:1534 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1533 +#: common/models.py:1538 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1535 +#: common/models.py:1540 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1541 +#: common/models.py:1546 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1543 +#: common/models.py:1548 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1554 +#: common/models.py:1559 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1556 +#: common/models.py:1561 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1567 +#: common/models.py:1572 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1569 +#: common/models.py:1574 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1575 +#: common/models.py:1580 msgid "Purchase History Override" msgstr "" -#: common/models.py:1577 +#: common/models.py:1582 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1583 +#: common/models.py:1588 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1585 +#: common/models.py:1590 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1591 +#: common/models.py:1596 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1593 +#: common/models.py:1598 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1600 +#: common/models.py:1605 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1601 +#: common/models.py:1606 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1606 +#: common/models.py:1611 msgid "Active Variants Only" msgstr "" -#: common/models.py:1608 +#: common/models.py:1613 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1614 +#: common/models.py:1619 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1616 +#: common/models.py:1621 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1623 +#: common/models.py:1628 msgid "Internal Prices" msgstr "" -#: common/models.py:1624 +#: common/models.py:1629 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1629 +#: common/models.py:1634 msgid "Internal Price Override" msgstr "" -#: common/models.py:1631 +#: common/models.py:1636 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1637 +#: common/models.py:1642 msgid "Enable label printing" msgstr "" -#: common/models.py:1638 +#: common/models.py:1643 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1643 +#: common/models.py:1648 msgid "Label Image DPI" msgstr "" -#: common/models.py:1645 +#: common/models.py:1650 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1651 +#: common/models.py:1656 msgid "Enable Reports" msgstr "" -#: common/models.py:1652 +#: common/models.py:1657 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1657 templates/stats.html:25 +#: common/models.py:1662 templates/stats.html:25 msgid "Debug Mode" msgstr "デバッグモード" -#: common/models.py:1658 +#: common/models.py:1663 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1663 +#: common/models.py:1668 msgid "Log Report Errors" msgstr "" -#: common/models.py:1664 +#: common/models.py:1669 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1669 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1674 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:302 msgid "Page Size" msgstr "" -#: common/models.py:1670 +#: common/models.py:1675 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1675 +#: common/models.py:1680 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1676 +#: common/models.py:1681 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1681 +#: common/models.py:1686 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1683 +#: common/models.py:1688 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1689 +#: common/models.py:1694 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1690 +#: common/models.py:1695 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1695 +#: common/models.py:1700 msgid "Autofill Serial Numbers" msgstr "シリアル番号を自動入力" -#: common/models.py:1696 +#: common/models.py:1701 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1701 +#: common/models.py:1706 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1703 +#: common/models.py:1708 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1709 +#: common/models.py:1714 msgid "Batch Code Template" msgstr "" -#: common/models.py:1711 +#: common/models.py:1716 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1716 +#: common/models.py:1721 msgid "Stock Expiry" msgstr "" -#: common/models.py:1717 +#: common/models.py:1722 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1722 +#: common/models.py:1727 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1723 +#: common/models.py:1728 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1728 +#: common/models.py:1733 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1730 +#: common/models.py:1735 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1737 +#: common/models.py:1742 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1738 +#: common/models.py:1743 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1743 +#: common/models.py:1748 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1744 +#: common/models.py:1749 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1749 +#: common/models.py:1754 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1750 +#: common/models.py:1755 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1754 +#: common/models.py:1759 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1755 +#: common/models.py:1760 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1760 +#: common/models.py:1765 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1762 +#: common/models.py:1767 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1768 +#: common/models.py:1773 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1770 +#: common/models.py:1775 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1776 +#: common/models.py:1781 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1778 +#: common/models.py:1783 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1784 common/models.py:1826 common/models.py:1848 -#: common/models.py:1884 +#: common/models.py:1789 common/models.py:1837 common/models.py:1859 +#: common/models.py:1895 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1785 common/models.py:1827 common/models.py:1849 -#: common/models.py:1885 +#: common/models.py:1790 common/models.py:1838 common/models.py:1860 +#: common/models.py:1896 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1790 +#: common/models.py:1795 msgid "Require Active Part" msgstr "" -#: common/models.py:1791 +#: common/models.py:1796 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/models.py:1796 +#: common/models.py:1801 +msgid "Require Locked Part" +msgstr "" + +#: common/models.py:1802 +msgid "Prevent build order creation for unlocked parts" +msgstr "" + +#: common/models.py:1807 msgid "Require Valid BOM" msgstr "" -#: common/models.py:1798 +#: common/models.py:1809 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/models.py:1804 +#: common/models.py:1815 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1806 +#: common/models.py:1817 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1812 +#: common/models.py:1823 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1813 +#: common/models.py:1824 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1818 +#: common/models.py:1829 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1820 +#: common/models.py:1831 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1832 +#: common/models.py:1843 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1834 +#: common/models.py:1845 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1840 +#: common/models.py:1851 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1842 +#: common/models.py:1853 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1854 +#: common/models.py:1865 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1855 +#: common/models.py:1866 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1860 +#: common/models.py:1871 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1862 +#: common/models.py:1873 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1868 +#: common/models.py:1879 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1870 +#: common/models.py:1881 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1876 +#: common/models.py:1887 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1878 +#: common/models.py:1889 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1890 +#: common/models.py:1901 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1892 +#: common/models.py:1903 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1898 +#: common/models.py:1909 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1900 +#: common/models.py:1911 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1907 +#: common/models.py:1918 msgid "Enable password forgot" msgstr "" -#: common/models.py:1908 +#: common/models.py:1919 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1913 +#: common/models.py:1924 msgid "Enable registration" msgstr "" -#: common/models.py:1914 +#: common/models.py:1925 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1919 +#: common/models.py:1930 msgid "Enable SSO" msgstr "" -#: common/models.py:1920 +#: common/models.py:1931 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1925 +#: common/models.py:1936 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1927 +#: common/models.py:1938 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1933 +#: common/models.py:1944 msgid "Enable SSO group sync" msgstr "" -#: common/models.py:1935 +#: common/models.py:1946 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/models.py:1941 +#: common/models.py:1952 msgid "SSO group key" msgstr "" -#: common/models.py:1943 +#: common/models.py:1954 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/models.py:1949 +#: common/models.py:1960 msgid "SSO group map" msgstr "" -#: common/models.py:1951 +#: common/models.py:1962 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/models.py:1957 +#: common/models.py:1968 msgid "Remove groups outside of SSO" msgstr "" -#: common/models.py:1959 +#: common/models.py:1970 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/models.py:1965 +#: common/models.py:1976 msgid "Email required" msgstr "メールアドレスは必須です" -#: common/models.py:1966 +#: common/models.py:1977 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1971 +#: common/models.py:1982 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1973 +#: common/models.py:1984 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1979 +#: common/models.py:1990 msgid "Mail twice" msgstr "" -#: common/models.py:1980 +#: common/models.py:1991 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1985 +#: common/models.py:1996 msgid "Password twice" msgstr "" -#: common/models.py:1986 +#: common/models.py:1997 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1991 +#: common/models.py:2002 msgid "Allowed domains" msgstr "" -#: common/models.py:1993 +#: common/models.py:2004 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1999 +#: common/models.py:2010 msgid "Group on signup" msgstr "" -#: common/models.py:2001 +#: common/models.py:2012 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/models.py:2007 +#: common/models.py:2018 msgid "Enforce MFA" msgstr "" -#: common/models.py:2008 +#: common/models.py:2019 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:2013 +#: common/models.py:2024 msgid "Check plugins on startup" msgstr "" -#: common/models.py:2015 +#: common/models.py:2026 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:2023 +#: common/models.py:2034 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2024 +#: common/models.py:2035 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2030 +#: common/models.py:2041 msgid "Enable URL integration" msgstr "" -#: common/models.py:2031 +#: common/models.py:2042 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:2037 +#: common/models.py:2048 msgid "Enable navigation integration" msgstr "" -#: common/models.py:2038 +#: common/models.py:2049 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2044 +#: common/models.py:2055 msgid "Enable app integration" msgstr "" -#: common/models.py:2045 +#: common/models.py:2056 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2051 +#: common/models.py:2062 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2052 +#: common/models.py:2063 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2058 +#: common/models.py:2069 msgid "Enable event integration" msgstr "" -#: common/models.py:2059 +#: common/models.py:2070 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2065 +#: common/models.py:2076 msgid "Enable project codes" msgstr "" -#: common/models.py:2066 +#: common/models.py:2077 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2071 +#: common/models.py:2082 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2073 +#: common/models.py:2084 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2079 +#: common/models.py:2090 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2081 +#: common/models.py:2092 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2087 +#: common/models.py:2098 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2089 +#: common/models.py:2100 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2095 +#: common/models.py:2106 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2097 +#: common/models.py:2108 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2104 +#: common/models.py:2115 msgid "Display Users full names" msgstr "" -#: common/models.py:2105 +#: common/models.py:2116 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2110 +#: common/models.py:2121 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2111 +#: common/models.py:2122 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2123 common/models.py:2533 +#: common/models.py:2134 common/models.py:2514 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2166 +#: common/models.py:2177 msgid "Hide inactive parts" msgstr "非アクティブな部品を非表示" -#: common/models.py:2168 +#: common/models.py:2179 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2174 +#: common/models.py:2185 msgid "Show subscribed parts" msgstr "購読中の部品を表示" -#: common/models.py:2175 +#: common/models.py:2186 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2180 +#: common/models.py:2191 msgid "Show subscribed categories" msgstr "購読中のカテゴリを表示" -#: common/models.py:2181 +#: common/models.py:2192 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2186 +#: common/models.py:2197 msgid "Show latest parts" msgstr "" -#: common/models.py:2187 +#: common/models.py:2198 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2192 +#: common/models.py:2203 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2193 +#: common/models.py:2204 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2198 +#: common/models.py:2209 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2199 +#: common/models.py:2210 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2204 +#: common/models.py:2215 msgid "Show low stock" msgstr "" -#: common/models.py:2205 +#: common/models.py:2216 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2210 +#: common/models.py:2221 msgid "Show depleted stock" msgstr "" -#: common/models.py:2211 +#: common/models.py:2222 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2216 +#: common/models.py:2227 msgid "Show needed stock" msgstr "" -#: common/models.py:2217 +#: common/models.py:2228 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2222 +#: common/models.py:2233 msgid "Show expired stock" msgstr "" -#: common/models.py:2223 +#: common/models.py:2234 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2228 +#: common/models.py:2239 msgid "Show stale stock" msgstr "" -#: common/models.py:2229 +#: common/models.py:2240 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2234 +#: common/models.py:2245 msgid "Show pending builds" msgstr "" -#: common/models.py:2235 +#: common/models.py:2246 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2240 +#: common/models.py:2251 msgid "Show overdue builds" msgstr "" -#: common/models.py:2241 +#: common/models.py:2252 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2246 +#: common/models.py:2257 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2247 +#: common/models.py:2258 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2252 +#: common/models.py:2263 msgid "Show overdue POs" msgstr "" -#: common/models.py:2253 +#: common/models.py:2264 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2258 +#: common/models.py:2269 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2259 +#: common/models.py:2270 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2264 +#: common/models.py:2275 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2265 +#: common/models.py:2276 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2270 +#: common/models.py:2281 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2271 +#: common/models.py:2282 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2276 +#: common/models.py:2287 msgid "Show News" msgstr "" -#: common/models.py:2277 +#: common/models.py:2288 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2282 +#: common/models.py:2293 msgid "Inline label display" msgstr "" -#: common/models.py:2284 +#: common/models.py:2295 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2290 +#: common/models.py:2301 msgid "Default label printer" msgstr "" -#: common/models.py:2292 +#: common/models.py:2303 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2298 +#: common/models.py:2309 msgid "Inline report display" msgstr "" -#: common/models.py:2300 +#: common/models.py:2311 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2306 +#: common/models.py:2317 msgid "Search Parts" msgstr "" -#: common/models.py:2307 +#: common/models.py:2318 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2312 +#: common/models.py:2323 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2313 +#: common/models.py:2324 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2318 +#: common/models.py:2329 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2319 +#: common/models.py:2330 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2324 +#: common/models.py:2335 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2325 +#: common/models.py:2336 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2330 +#: common/models.py:2341 msgid "Search Categories" msgstr "" -#: common/models.py:2331 +#: common/models.py:2342 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2336 +#: common/models.py:2347 msgid "Search Stock" msgstr "" -#: common/models.py:2337 +#: common/models.py:2348 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2342 +#: common/models.py:2353 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2344 +#: common/models.py:2355 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2350 +#: common/models.py:2361 msgid "Search Locations" msgstr "" -#: common/models.py:2351 +#: common/models.py:2362 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2356 +#: common/models.py:2367 msgid "Search Companies" msgstr "" -#: common/models.py:2357 +#: common/models.py:2368 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2362 +#: common/models.py:2373 msgid "Search Build Orders" msgstr "" -#: common/models.py:2363 +#: common/models.py:2374 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2368 +#: common/models.py:2379 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2369 +#: common/models.py:2380 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2374 +#: common/models.py:2385 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2376 +#: common/models.py:2387 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2382 +#: common/models.py:2393 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2383 +#: common/models.py:2394 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2388 +#: common/models.py:2399 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2390 +#: common/models.py:2401 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2396 +#: common/models.py:2407 msgid "Search Return Orders" msgstr "" -#: common/models.py:2397 +#: common/models.py:2408 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2402 +#: common/models.py:2413 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2404 +#: common/models.py:2415 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2410 +#: common/models.py:2421 msgid "Search Preview Results" msgstr "" -#: common/models.py:2412 +#: common/models.py:2423 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2418 +#: common/models.py:2429 msgid "Regex Search" msgstr "" -#: common/models.py:2419 +#: common/models.py:2430 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2424 +#: common/models.py:2435 msgid "Whole Word Search" msgstr "" -#: common/models.py:2425 +#: common/models.py:2436 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2430 +#: common/models.py:2441 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2431 +#: common/models.py:2442 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2436 +#: common/models.py:2447 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2437 +#: common/models.py:2448 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2442 +#: common/models.py:2453 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2443 +#: common/models.py:2454 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2448 +#: common/models.py:2459 msgid "Date Format" msgstr "" -#: common/models.py:2449 +#: common/models.py:2460 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2462 part/templates/part/detail.html:41 +#: common/models.py:2473 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2463 +#: common/models.py:2474 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2468 part/templates/part/detail.html:62 +#: common/models.py:2479 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2470 +#: common/models.py:2481 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2476 +#: common/models.py:2487 msgid "Table String Length" msgstr "" -#: common/models.py:2478 +#: common/models.py:2489 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2484 -msgid "Default part label template" -msgstr "" - -#: common/models.py:2485 -msgid "The part label template to be automatically selected" -msgstr "" - -#: common/models.py:2490 -msgid "Default stock item template" -msgstr "" - -#: common/models.py:2492 -msgid "The stock item label template to be automatically selected" -msgstr "" - -#: common/models.py:2498 -msgid "Default stock location label template" -msgstr "" - -#: common/models.py:2500 -msgid "The stock location label template to be automatically selected" -msgstr "" - -#: common/models.py:2506 -msgid "Default build line label template" -msgstr "" - -#: common/models.py:2508 -msgid "The build line label template to be automatically selected" -msgstr "" - -#: common/models.py:2514 +#: common/models.py:2495 msgid "Receive error reports" msgstr "" -#: common/models.py:2515 +#: common/models.py:2496 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2520 +#: common/models.py:2501 msgid "Last used printing machines" msgstr "" -#: common/models.py:2521 +#: common/models.py:2502 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2541 common/models.py:2542 common/models.py:2691 -#: common/models.py:2692 common/models.py:2937 common/models.py:2938 -#: common/models.py:3259 common/models.py:3260 part/models.py:3193 -#: part/models.py:3280 part/models.py:3353 part/models.py:3381 -#: plugin/models.py:274 plugin/models.py:275 +#: common/models.py:2522 common/models.py:2523 common/models.py:2672 +#: common/models.py:2673 common/models.py:2918 common/models.py:2919 +#: common/models.py:3245 common/models.py:3246 importer/models.py:85 +#: part/models.py:3203 part/models.py:3290 part/models.py:3364 +#: part/models.py:3392 plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 msgid "User" msgstr "ユーザー" -#: common/models.py:2564 +#: common/models.py:2545 msgid "Price break quantity" msgstr "" -#: common/models.py:2571 company/serializers.py:472 order/admin.py:42 -#: order/models.py:1346 order/models.py:2265 -#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1886 +#: common/models.py:2552 company/serializers.py:502 order/admin.py:42 +#: order/models.py:1346 order/models.py:2292 +#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1889 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:740 msgid "Price" msgstr "" -#: common/models.py:2572 +#: common/models.py:2553 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2668 common/models.py:2853 +#: common/models.py:2649 common/models.py:2834 msgid "Endpoint" msgstr "" -#: common/models.py:2669 +#: common/models.py:2650 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2679 +#: common/models.py:2660 msgid "Name for this webhook" msgstr "" -#: common/models.py:2683 +#: common/models.py:2664 msgid "Is this webhook active" msgstr "" -#: common/models.py:2699 users/models.py:159 +#: common/models.py:2680 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2700 +#: common/models.py:2681 msgid "Token for access" msgstr "" -#: common/models.py:2708 +#: common/models.py:2689 msgid "Secret" msgstr "" -#: common/models.py:2709 +#: common/models.py:2690 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2817 +#: common/models.py:2798 msgid "Message ID" msgstr "メッセージ ID:" -#: common/models.py:2818 +#: common/models.py:2799 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2826 +#: common/models.py:2807 msgid "Host" msgstr "" -#: common/models.py:2827 +#: common/models.py:2808 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2835 +#: common/models.py:2816 msgid "Header" msgstr "" -#: common/models.py:2836 +#: common/models.py:2817 msgid "Header of this message" msgstr "" -#: common/models.py:2843 +#: common/models.py:2824 msgid "Body" msgstr "" -#: common/models.py:2844 +#: common/models.py:2825 msgid "Body of this message" msgstr "" -#: common/models.py:2854 +#: common/models.py:2835 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2859 +#: common/models.py:2840 msgid "Worked on" msgstr "" -#: common/models.py:2860 +#: common/models.py:2841 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2986 +#: common/models.py:2967 msgid "Id" msgstr "" -#: common/models.py:2988 templates/js/translated/company.js:965 +#: common/models.py:2969 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2990 common/models.py:3243 company/models.py:149 -#: company/models.py:440 company/models.py:500 company/models.py:799 -#: order/models.py:303 order/models.py:1301 order/models.py:1717 -#: part/admin.py:55 part/models.py:955 +#: common/models.py:2971 common/models.py:3229 company/models.py:149 +#: company/models.py:446 company/models.py:506 company/models.py:806 +#: order/models.py:303 order/models.py:1301 order/models.py:1733 +#: part/admin.py:55 part/models.py:959 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:229 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/part.js:2459 #: templates/js/translated/purchase_order.js:2040 #: templates/js/translated/purchase_order.js:2204 #: templates/js/translated/return_order.js:779 @@ -3607,28 +3644,28 @@ msgstr "" msgid "Link" msgstr "リンク" -#: common/models.py:2992 templates/js/translated/news.js:60 +#: common/models.py:2973 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2994 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2975 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:2996 templates/js/translated/news.js:52 +#: common/models.py:2977 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2999 +#: common/models.py:2980 msgid "Read" msgstr "" -#: common/models.py:2999 +#: common/models.py:2980 msgid "Was this news item read?" msgstr "" -#: common/models.py:3016 company/models.py:159 part/models.py:965 +#: common/models.py:2997 company/models.py:159 part/models.py:969 #: 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.html:35 @@ -3638,90 +3675,96 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:3016 +#: common/models.py:2997 msgid "Image file" msgstr "" -#: common/models.py:3028 common/models.py:3227 +#: common/models.py:3009 common/models.py:3213 msgid "Target model type for this image" msgstr "" -#: common/models.py:3032 +#: common/models.py:3013 msgid "Target model ID for this image" msgstr "" -#: common/models.py:3070 +#: common/models.py:3035 +#, fuzzy +#| msgid "Customer" +msgid "Custom Unit" +msgstr "顧客" + +#: common/models.py:3056 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:3085 +#: common/models.py:3071 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3104 +#: common/models.py:3090 msgid "Unit name" msgstr "" -#: common/models.py:3111 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3097 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3112 +#: common/models.py:3098 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3118 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3104 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3119 +#: common/models.py:3105 msgid "Unit definition" msgstr "" -#: common/models.py:3177 common/models.py:3234 stock/models.py:2461 +#: common/models.py:3163 common/models.py:3220 stock/models.py:2471 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" msgstr "添付ファイル" -#: common/models.py:3189 +#: common/models.py:3175 msgid "Missing file" msgstr "ファイルがありません" -#: common/models.py:3190 +#: common/models.py:3176 msgid "Missing external link" msgstr "外部リンクが見つかりません。" -#: common/models.py:3235 +#: common/models.py:3221 msgid "Select file to attach" msgstr "添付ファイルを選択" -#: common/models.py:3250 templates/js/translated/attachment.js:120 +#: common/models.py:3236 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" msgstr "コメント:" -#: common/models.py:3251 +#: common/models.py:3237 msgid "Attachment comment" msgstr "" -#: common/models.py:3267 +#: common/models.py:3253 msgid "Upload date" msgstr "" -#: common/models.py:3268 +#: common/models.py:3254 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:3272 +#: common/models.py:3258 msgid "File size" msgstr "" -#: common/models.py:3272 +#: common/models.py:3258 msgid "File size in bytes" msgstr "" -#: common/models.py:3310 common/serializers.py:553 +#: common/models.py:3296 common/serializers.py:557 msgid "Invalid model type specified for attachment" msgstr "" @@ -3743,7 +3786,7 @@ msgstr "" msgid "A order that is assigned to you was canceled" msgstr "" -#: common/notifications.py:330 common/notifications.py:337 order/api.py:472 +#: common/notifications.py:330 common/notifications.py:337 order/api.py:454 msgid "Items Received" msgstr "" @@ -3759,75 +3802,75 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:371 +#: common/serializers.py:375 msgid "Is Running" msgstr "" -#: common/serializers.py:377 +#: common/serializers.py:381 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:383 +#: common/serializers.py:387 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:389 +#: common/serializers.py:393 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:404 +#: common/serializers.py:408 msgid "Task ID" msgstr "" -#: common/serializers.py:404 +#: common/serializers.py:408 msgid "Unique task ID" msgstr "" -#: common/serializers.py:406 +#: common/serializers.py:410 msgid "Lock" msgstr "" -#: common/serializers.py:406 +#: common/serializers.py:410 msgid "Lock time" msgstr "" -#: common/serializers.py:408 +#: common/serializers.py:412 msgid "Task name" msgstr "" -#: common/serializers.py:410 +#: common/serializers.py:414 msgid "Function" msgstr "" -#: common/serializers.py:410 +#: common/serializers.py:414 msgid "Function name" msgstr "" -#: common/serializers.py:412 +#: common/serializers.py:416 msgid "Arguments" msgstr "" -#: common/serializers.py:412 +#: common/serializers.py:416 msgid "Task arguments" msgstr "" -#: common/serializers.py:415 +#: common/serializers.py:419 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:415 +#: common/serializers.py:419 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:525 +#: common/serializers.py:529 msgid "Filename" msgstr "ファイル名" -#: common/serializers.py:532 report/api.py:100 report/serializers.py:53 +#: common/serializers.py:536 report/api.py:100 report/serializers.py:53 msgid "Model Type" msgstr "" -#: common/serializers.py:559 +#: common/serializers.py:563 msgid "User does not have permission to create or edit attachments for this model" msgstr "" @@ -3894,29 +3937,29 @@ msgstr "" msgid "Previous Step" msgstr "" -#: company/api.py:144 +#: company/api.py:141 msgid "Part is Active" msgstr "" -#: company/api.py:148 +#: company/api.py:145 msgid "Manufacturer is Active" msgstr "" -#: company/api.py:281 +#: company/api.py:278 msgid "Supplier Part is Active" msgstr "" -#: company/api.py:285 +#: company/api.py:282 msgid "Internal Part is Active" msgstr "" -#: company/api.py:289 +#: company/api.py:286 msgid "Supplier is Active" msgstr "" -#: company/models.py:100 company/models.py:365 +#: company/models.py:100 company/models.py:371 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:822 +#: company/templates/company/company_base.html:12 stock/api.py:814 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "" @@ -3956,8 +3999,9 @@ msgstr "" msgid "Contact email address" msgstr "連絡先メールアドレス" -#: company/models.py:142 company/templates/company/company_base.html:145 -#: order/models.py:343 order/templates/order/order_base.html:203 +#: company/models.py:142 company/models.py:275 +#: company/templates/company/company_base.html:145 order/models.py:343 +#: order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 #: order/templates/order/sales_order_base.html:218 msgid "Contact" @@ -3976,24 +4020,30 @@ msgid "Is this company active?" msgstr "" #: company/models.py:168 -msgid "is customer" -msgstr "" +#, fuzzy +#| msgid "Customer" +msgid "Is customer" +msgstr "顧客" #: company/models.py:169 msgid "Do you sell items to this company?" msgstr "" #: company/models.py:174 -msgid "is supplier" -msgstr "" +#, fuzzy +#| msgid "Supplier" +msgid "Is supplier" +msgstr "仕入先" #: company/models.py:175 msgid "Do you purchase items from this company?" msgstr "" #: company/models.py:180 -msgid "is manufacturer" -msgstr "" +#, fuzzy +#| msgid "Manufacturer" +msgid "Is manufacturer" +msgstr "製造元" #: company/models.py:181 msgid "Does this company manufacture parts?" @@ -4003,178 +4053,191 @@ msgstr "" msgid "Default currency used for this company" msgstr "" -#: company/models.py:366 +#: company/models.py:314 company/templates/company/company_base.html:124 +#: order/models.py:353 order/templates/order/order_base.html:210 +#: order/templates/order/return_order_base.html:181 +#: order/templates/order/sales_order_base.html:225 +msgid "Address" +msgstr "" + +#: company/models.py:315 company/templates/company/sidebar.html:35 +msgid "Addresses" +msgstr "" + +#: company/models.py:372 msgid "Select company" msgstr "" -#: company/models.py:371 +#: company/models.py:377 msgid "Address title" msgstr "" -#: company/models.py:372 +#: company/models.py:378 msgid "Title describing the address entry" msgstr "" -#: company/models.py:378 +#: company/models.py:384 msgid "Primary address" msgstr "" -#: company/models.py:379 +#: company/models.py:385 msgid "Set as primary address" msgstr "" -#: company/models.py:384 templates/js/translated/company.js:914 +#: company/models.py:390 templates/js/translated/company.js:914 #: templates/js/translated/company.js:971 msgid "Line 1" msgstr "" -#: company/models.py:385 +#: company/models.py:391 msgid "Address line 1" msgstr "" -#: company/models.py:391 templates/js/translated/company.js:915 +#: company/models.py:397 templates/js/translated/company.js:915 #: templates/js/translated/company.js:977 msgid "Line 2" msgstr "" -#: company/models.py:392 +#: company/models.py:398 msgid "Address line 2" msgstr "" -#: company/models.py:398 company/models.py:399 +#: company/models.py:404 company/models.py:405 #: templates/js/translated/company.js:983 msgid "Postal code" msgstr "" -#: company/models.py:405 +#: company/models.py:411 msgid "City/Region" msgstr "" -#: company/models.py:406 +#: company/models.py:412 msgid "Postal code city/region" msgstr "" -#: company/models.py:412 +#: company/models.py:418 msgid "State/Province" msgstr "" -#: company/models.py:413 +#: company/models.py:419 msgid "State or province" msgstr "" -#: company/models.py:419 templates/js/translated/company.js:1001 +#: company/models.py:425 templates/js/translated/company.js:1001 msgid "Country" msgstr "" -#: company/models.py:420 +#: company/models.py:426 msgid "Address country" msgstr "" -#: company/models.py:426 +#: company/models.py:432 msgid "Courier shipping notes" msgstr "" -#: company/models.py:427 +#: company/models.py:433 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:433 +#: company/models.py:439 msgid "Internal shipping notes" msgstr "" -#: company/models.py:434 +#: company/models.py:440 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:441 +#: company/models.py:447 msgid "Link to address information (external)" msgstr "" -#: company/models.py:463 company/models.py:574 company/models.py:792 +#: company/models.py:469 company/models.py:581 company/models.py:799 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:217 msgid "Manufacturer Part" msgstr "メーカー・パーツ" -#: company/models.py:475 company/models.py:760 stock/models.py:767 -#: stock/serializers.py:422 stock/templates/stock/item_base.html:142 +#: company/models.py:481 company/models.py:767 stock/models.py:767 +#: stock/serializers.py:442 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" -#: company/models.py:477 company/models.py:762 +#: company/models.py:483 company/models.py:769 msgid "Select part" msgstr "" -#: company/models.py:486 company/templates/company/company_base.html:82 +#: company/models.py:492 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:525 +#: company/templates/company/supplier_part.html:145 part/serializers.py:543 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 #: templates/js/translated/company.js:1296 #: templates/js/translated/company.js:1611 -#: templates/js/translated/table_filters.js:800 +#: templates/js/translated/table_filters.js:805 msgid "Manufacturer" msgstr "製造元" -#: company/models.py:487 +#: company/models.py:493 msgid "Select manufacturer" msgstr "" -#: company/models.py:493 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:535 -#: templates/js/translated/company.js:351 +#: company/models.py:499 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:153 order/serializers.py:518 +#: part/serializers.py:553 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:1801 +#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1804 #: templates/js/translated/purchase_order.js:1851 #: templates/js/translated/purchase_order.js:2053 msgid "MPN" msgstr "" -#: company/models.py:494 -msgid "Manufacturer Part Number" -msgstr "" - -#: company/models.py:501 +#: company/models.py:507 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:510 +#: company/models.py:516 msgid "Manufacturer part description" msgstr "" -#: company/models.py:581 +#: company/models.py:569 +#, fuzzy +#| msgid "Manufacturer Part" +msgid "Manufacturer Part Parameter" +msgstr "メーカー・パーツ" + +#: company/models.py:588 msgid "Parameter name" msgstr "" -#: company/models.py:587 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2453 templates/js/translated/company.js:1166 -#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1493 +#: company/models.py:594 report/templates/report/inventree_test_report.html:104 +#: stock/models.py:2463 templates/js/translated/company.js:1166 +#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1496 #: templates/js/translated/stock.js:1522 msgid "Value" msgstr "" -#: company/models.py:588 +#: company/models.py:595 msgid "Parameter value" msgstr "" -#: company/models.py:595 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1045 part/models.py:3646 +#: company/models.py:602 company/templates/company/supplier_part.html:168 +#: part/admin.py:57 part/models.py:1049 part/models.py:3667 #: part/templates/part/part_base.html:284 -#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1512 -#: templates/js/translated/part.js:1616 templates/js/translated/part.js:2370 +#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1515 +#: templates/js/translated/part.js:1619 templates/js/translated/part.js:2373 msgid "Units" msgstr "" -#: company/models.py:596 +#: company/models.py:603 msgid "Parameter units" msgstr "" -#: company/models.py:648 company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 order/api.py:452 +#: company/models.py:655 company/templates/company/supplier_part.html:7 +#: company/templates/company/supplier_part.html:24 order/api.py:434 #: stock/models.py:778 stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 @@ -4182,91 +4245,91 @@ msgstr "" msgid "Supplier Part" msgstr "" -#: company/models.py:700 +#: company/models.py:707 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:707 +#: company/models.py:714 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:721 +#: company/models.py:728 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:770 company/templates/company/company_base.html:87 +#: company/models.py:777 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:509 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:527 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 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:511 -#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1769 +#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1772 #: templates/js/translated/pricing.js:498 #: templates/js/translated/purchase_order.js:1689 -#: templates/js/translated/table_filters.js:804 +#: templates/js/translated/table_filters.js:809 msgid "Supplier" msgstr "仕入先" -#: company/models.py:771 +#: company/models.py:778 msgid "Select supplier" msgstr "" -#: company/models.py:777 part/serializers.py:520 +#: company/models.py:784 part/serializers.py:538 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:783 +#: company/models.py:790 msgid "Is this supplier part active?" msgstr "" -#: company/models.py:793 +#: company/models.py:800 msgid "Select manufacturer part" msgstr "" -#: company/models.py:800 +#: company/models.py:807 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:809 +#: company/models.py:816 msgid "Supplier part description" msgstr "" -#: company/models.py:816 company/templates/company/supplier_part.html:187 -#: part/admin.py:412 part/models.py:4093 part/templates/part/upload_bom.html:59 +#: company/models.py:823 company/templates/company/supplier_part.html:187 +#: part/admin.py:412 part/models.py:4178 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: 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:710 +#: stock/serializers.py:768 msgid "Note" msgstr "" -#: company/models.py:825 part/models.py:2003 +#: company/models.py:832 part/models.py:2013 msgid "base cost" msgstr "" -#: company/models.py:826 part/models.py:2004 +#: company/models.py:833 part/models.py:2014 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:833 company/templates/company/supplier_part.html:160 -#: stock/admin.py:228 stock/models.py:798 stock/serializers.py:1475 +#: company/models.py:840 company/templates/company/supplier_part.html:160 +#: stock/admin.py:228 stock/models.py:798 stock/serializers.py:1541 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 msgid "Packaging" msgstr "" -#: company/models.py:834 +#: company/models.py:841 msgid "Part packaging" msgstr "" -#: company/models.py:839 templates/js/translated/company.js:1651 -#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 +#: company/models.py:846 templates/js/translated/company.js:1651 +#: templates/js/translated/part.js:1825 templates/js/translated/part.js:1881 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 #: templates/js/translated/purchase_order.js:1103 @@ -4275,35 +4338,47 @@ msgstr "" msgid "Pack Quantity" msgstr "" -#: company/models.py:841 +#: company/models.py:848 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:860 part/models.py:2010 +#: company/models.py:867 part/models.py:2020 msgid "multiple" msgstr "" -#: company/models.py:861 +#: company/models.py:868 msgid "Order multiple" msgstr "" -#: company/models.py:873 +#: company/models.py:880 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:879 +#: company/models.py:886 msgid "Availability Updated" msgstr "" -#: company/models.py:880 +#: company/models.py:887 msgid "Date of last update of availability data" msgstr "" -#: company/serializers.py:161 +#: company/models.py:1015 +#, fuzzy +#| msgid "Supplier Parts" +msgid "Supplier Price Break" +msgstr "サプライヤー・パーツ" + +#: company/serializers.py:174 msgid "Default currency used for this supplier" msgstr "" -#: company/serializers.py:357 part/admin.py:126 +#: company/serializers.py:210 +#, fuzzy +#| msgid "Category Name" +msgid "Company Name" +msgstr "カテゴリ名" + +#: company/serializers.py:384 part/admin.py:126 part/serializers.py:855 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:355 @@ -4315,7 +4390,7 @@ msgstr "" #: templates/js/translated/company.js:1287 #: templates/js/translated/company.js:1575 #: templates/js/translated/model_renderers.js:312 -#: templates/js/translated/part.js:815 templates/js/translated/part.js:1219 +#: templates/js/translated/part.js:814 templates/js/translated/part.js:1222 msgid "Inactive" msgstr "" @@ -4374,16 +4449,16 @@ msgid "Delete image" msgstr "" #: company/templates/company/company_base.html:92 order/models.py:938 -#: order/models.py:2032 order/templates/order/return_order_base.html:131 +#: order/models.py:2058 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:148 stock/models.py:820 -#: stock/models.py:821 stock/serializers.py:1225 +#: stock/models.py:821 stock/serializers.py:1291 #: 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:295 #: templates/js/translated/sales_order.js:820 #: templates/js/translated/stock.js:2959 -#: templates/js/translated/table_filters.js:808 +#: templates/js/translated/table_filters.js:813 msgid "Customer" msgstr "顧客" @@ -4391,13 +4466,6 @@ msgstr "顧客" msgid "Uses default currency" msgstr "" -#: company/templates/company/company_base.html:124 order/models.py:353 -#: order/templates/order/order_base.html:210 -#: order/templates/order/return_order_base.html:181 -#: order/templates/order/sales_order_base.html:225 -msgid "Address" -msgstr "" - #: company/templates/company/company_base.html:131 msgid "Phone" msgstr "" @@ -4577,7 +4645,8 @@ msgid "Delete manufacturer part" msgstr "メーカー・パーツを削除" #: company/templates/company/manufacturer_part.html:65 -#: company/templates/company/supplier_part.html:97 order/api.py:458 +#: company/templates/company/supplier_part.html:97 order/api.py:440 +#: order/serializers.py:526 msgid "Internal Part" msgstr "内部パーツ" @@ -4587,7 +4656,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:832 +#: part/admin.py:122 part/serializers.py:860 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4608,7 +4677,7 @@ msgid "New Parameter" msgstr "新規パラメータ" #: company/templates/company/manufacturer_part.html:196 -#: templates/js/translated/part.js:1423 +#: templates/js/translated/part.js:1426 msgid "Add Parameter" msgstr "" @@ -4632,10 +4701,6 @@ msgstr "" msgid "Contacts" msgstr "" -#: company/templates/company/sidebar.html:35 -msgid "Addresses" -msgstr "" - #: company/templates/company/supplier_part.html:50 #: templates/js/translated/company.js:1526 msgid "Supplier part actions" @@ -4665,111 +4730,281 @@ msgstr "" msgid "Duplicate Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:73 -msgid "Delete Supplier Part" +#: company/templates/company/supplier_part.html:73 +msgid "Delete Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:74 +msgid "Delete Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:133 +msgid "No supplier information available" +msgstr "" + +#: company/templates/company/supplier_part.html:139 order/serializers.py:515 +#: part/bom.py:279 part/bom.py:311 part/serializers.py:537 +#: templates/js/translated/company.js:349 templates/js/translated/part.js:1790 +#: templates/js/translated/pricing.js:510 +#: templates/js/translated/purchase_order.js:1850 +#: templates/js/translated/purchase_order.js:2028 +msgid "SKU" +msgstr "" + +#: company/templates/company/supplier_part.html:206 +msgid "Supplier Part Stock" +msgstr "" + +#: company/templates/company/supplier_part.html:209 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:207 +msgid "Create new stock item" +msgstr "" + +#: company/templates/company/supplier_part.html:210 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:208 +#: templates/js/translated/stock.js:537 +msgid "New Stock Item" +msgstr "" + +#: company/templates/company/supplier_part.html:223 +msgid "Supplier Part Orders" +msgstr "" + +#: company/templates/company/supplier_part.html:246 +msgid "Pricing Information" +msgstr "" + +#: company/templates/company/supplier_part.html:251 +#: templates/js/translated/company.js:398 +#: templates/js/translated/pricing.js:684 +msgid "Add Price Break" +msgstr "" + +#: company/templates/company/supplier_part.html:276 +msgid "Supplier Part QR Code" +msgstr "" + +#: company/templates/company/supplier_part.html:287 +msgid "Link Barcode to Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:359 +msgid "Update Part Availability" +msgstr "" + +#: company/templates/company/supplier_part_sidebar.html:5 +#: part/serializers.py:859 part/stocktake.py:224 +#: part/templates/part/category.html:183 +#: part/templates/part/category_sidebar.html:17 stock/admin.py:68 +#: stock/serializers.py:976 stock/serializers.py:1154 +#: stock/templates/stock/location.html:170 +#: 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:1064 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 +#: users/models.py:206 +msgid "Stock Items" +msgstr "在庫商品" + +#: company/templates/company/supplier_part_sidebar.html:9 +msgid "Supplier Part Pricing" +msgstr "" + +#: company/views.py:32 +msgid "New Supplier" +msgstr "" + +#: company/views.py:38 +msgid "New Manufacturer" +msgstr "" + +#: company/views.py:43 templates/InvenTree/search.html:210 +#: templates/navbar.html:60 +msgid "Customers" +msgstr "" + +#: company/views.py:44 +msgid "New Customer" +msgstr "" + +#: company/views.py:52 +msgid "New Company" +msgstr "" + +#: generic/states/tests.py:18 order/status_codes.py:13 +msgid "Placed" +msgstr "設置済" + +#: importer/mixins.py:263 +msgid "Invalid export format" +msgstr "" + +#: importer/models.py:56 +msgid "Timestamp" +msgstr "" + +#: importer/models.py:61 +msgid "Data file to import" +msgstr "" + +#: importer/models.py:70 templates/js/translated/tables.js:558 +msgid "Columns" +msgstr "" + +#: importer/models.py:81 +#, fuzzy +#| msgid "Import Parts" +msgid "Import status" +msgstr "パーツをインポート" + +#: importer/models.py:91 +msgid "Field Defaults" +msgstr "" + +#: importer/models.py:201 +msgid "Some required fields have not been mapped" +msgstr "" + +#: importer/models.py:346 +msgid "Column is already mapped to a database field" +msgstr "" + +#: importer/models.py:351 +msgid "Field is already mapped to a data column" +msgstr "" + +#: importer/models.py:360 +msgid "Column mapping must be linked to a valid import session" +msgstr "" + +#: importer/models.py:365 +msgid "Column does not exist in the data file" +msgstr "" + +#: importer/models.py:372 +#, fuzzy +#| msgid "User does not have permission to view this model" +msgid "Field does not exist in the target model" +msgstr "ユーザーにこのモデルを表示する権限がありません" + +#: importer/models.py:376 +msgid "Selected field is read-only" +msgstr "" + +#: importer/models.py:381 importer/models.py:452 +#, fuzzy +#| msgid "Important dates" +msgid "Import Session" +msgstr "重要な日付" + +#: importer/models.py:385 +msgid "Field" msgstr "" -#: company/templates/company/supplier_part.html:74 -msgid "Delete Supplier Part" +#: importer/models.py:387 +msgid "Column" msgstr "" -#: company/templates/company/supplier_part.html:133 -msgid "No supplier information available" +#: importer/models.py:456 +msgid "Row Index" msgstr "" -#: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:519 -#: templates/js/translated/company.js:349 templates/js/translated/part.js:1787 -#: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1850 -#: templates/js/translated/purchase_order.js:2028 -msgid "SKU" +#: importer/models.py:459 +msgid "Original row data" msgstr "" -#: company/templates/company/supplier_part.html:206 -msgid "Supplier Part Stock" +#: importer/models.py:462 part/models.py:3841 +msgid "Data" msgstr "" -#: company/templates/company/supplier_part.html:209 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:207 -msgid "Create new stock item" +#: importer/models.py:464 machine/models.py:110 +msgid "Errors" msgstr "" -#: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:208 -#: templates/js/translated/stock.js:537 -msgid "New Stock Item" +#: importer/models.py:466 part/api.py:874 +msgid "Valid" msgstr "" -#: company/templates/company/supplier_part.html:223 -msgid "Supplier Part Orders" +#: importer/operations.py:28 importer/operations.py:49 +#, fuzzy +#| msgid "Unsupported file type" +msgid "Unsupported data file format" +msgstr "サポートされていないファイル形式" + +#: importer/operations.py:40 +msgid "Failed to open data file" msgstr "" -#: company/templates/company/supplier_part.html:246 -msgid "Pricing Information" +#: importer/operations.py:51 +msgid "Invalid data file dimensions" msgstr "" -#: company/templates/company/supplier_part.html:251 -#: templates/js/translated/company.js:398 -#: templates/js/translated/pricing.js:684 -msgid "Add Price Break" +#: importer/serializers.py:135 +msgid "Rows" msgstr "" -#: company/templates/company/supplier_part.html:276 -msgid "Supplier Part QR Code" +#: importer/serializers.py:136 +msgid "List of row IDs to accept" msgstr "" -#: company/templates/company/supplier_part.html:287 -msgid "Link Barcode to Supplier Part" +#: importer/serializers.py:149 +#, fuzzy +#| msgid "No data rows provided" +msgid "No rows provided" +msgstr "データが入力されていません" + +#: importer/serializers.py:153 +msgid "Row does not belong to this session" msgstr "" -#: company/templates/company/supplier_part.html:359 -msgid "Update Part Availability" +#: importer/serializers.py:156 +msgid "Row contains invalid data" msgstr "" -#: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:831 part/stocktake.py:224 -#: part/templates/part/category.html:183 -#: part/templates/part/category_sidebar.html:17 stock/admin.py:68 -#: stock/serializers.py:918 stock/serializers.py:1091 -#: stock/templates/stock/location.html:170 -#: 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:1061 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 -#: users/models.py:206 -msgid "Stock Items" -msgstr "在庫商品" +#: importer/serializers.py:159 +msgid "Row has already been completed" +msgstr "" -#: company/templates/company/supplier_part_sidebar.html:9 -msgid "Supplier Part Pricing" +#: importer/status_codes.py:11 +msgid "Initializing" msgstr "" -#: company/views.py:32 -msgid "New Supplier" +#: importer/status_codes.py:12 +msgid "Mapping Columns" msgstr "" -#: company/views.py:38 -msgid "New Manufacturer" +#: importer/status_codes.py:13 +#, fuzzy +#| msgid "Import Parts" +msgid "Importing Data" +msgstr "パーツをインポート" + +#: importer/status_codes.py:16 +msgid "Processing Data" msgstr "" -#: company/views.py:43 templates/InvenTree/search.html:210 -#: templates/navbar.html:60 -msgid "Customers" +#: importer/validators.py:21 +#, fuzzy +#| msgid "Image download exceeded maximum size" +msgid "Data file exceeds maximum size limit" +msgstr "画像のダウンロードが最大サイズを超えました" + +#: importer/validators.py:26 +msgid "Data file contains no headers" msgstr "" -#: company/views.py:44 -msgid "New Customer" +#: importer/validators.py:29 +msgid "Data file contains too many columns" msgstr "" -#: company/views.py:52 -msgid "New Company" +#: importer/validators.py:32 +msgid "Data file contains too many rows" msgstr "" -#: generic/states/tests.py:18 order/status_codes.py:13 -msgid "Placed" -msgstr "設置済" +#: importer/validators.py:49 +msgid "Value must be a valid dictionary object" +msgstr "" #: machine/machine_types/label_printer.py:212 msgid "Copies" @@ -4783,7 +5018,7 @@ msgstr "" msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:229 order/api.py:1467 +#: machine/machine_types/label_printer.py:229 order/api.py:1388 #: templates/js/translated/sales_order.js:1078 msgid "Unknown" msgstr "" @@ -4852,10 +5087,6 @@ msgstr "" msgid "Initialized" msgstr "" -#: machine/models.py:110 -msgid "Errors" -msgstr "" - #: machine/models.py:117 msgid "Machine status" msgstr "" @@ -4881,44 +5112,44 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:157 order/serializers.py:90 +#: order/api.py:149 order/serializers.py:94 #: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:113 #: order/templates/order/sales_order_base.html:122 msgid "Order Status" msgstr "" -#: order/api.py:161 templates/js/translated/table_filters.js:194 -#: templates/js/translated/table_filters.js:779 +#: order/api.py:153 templates/js/translated/table_filters.js:194 +#: templates/js/translated/table_filters.js:784 msgid "Has Pricing" msgstr "" -#: order/api.py:236 +#: order/api.py:228 msgid "No matching purchase order found" msgstr "" -#: order/api.py:435 order/api.py:801 order/models.py:1395 order/models.py:1504 -#: order/models.py:1550 order/models.py:1664 order/models.py:1818 -#: order/models.py:2231 order/models.py:2282 +#: order/api.py:417 order/api.py:755 order/models.py:1400 order/models.py:1514 +#: order/models.py:1565 order/models.py:1680 order/models.py:1839 +#: order/models.py:2258 order/models.py:2314 #: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "" -#: order/api.py:439 order/api.py:822 +#: order/api.py:421 order/api.py:776 msgid "Order Complete" msgstr "" -#: order/api.py:462 +#: order/api.py:444 msgid "Order Pending" msgstr "" -#: order/api.py:1461 order/models.py:380 order/models.py:1396 -#: order/models.py:1505 order/templates/order/order_base.html:9 +#: order/api.py:1382 order/models.py:380 order/models.py:1401 +#: order/models.py:1515 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 -#: stock/serializers.py:118 stock/templates/stock/item_base.html:176 +#: stock/serializers.py:120 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/part.js:1746 templates/js/translated/pricing.js:804 +#: templates/js/translated/part.js:1749 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:1673 @@ -4926,8 +5157,8 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1465 order/models.py:1981 order/models.py:2232 -#: order/models.py:2283 order/templates/order/return_order_base.html:9 +#: order/api.py:1386 order/models.py:2007 order/models.py:2259 +#: order/models.py:2315 order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report.html:13 #: templates/js/translated/return_order.js:280 @@ -4939,11 +5170,11 @@ msgstr "" msgid "Total price for this order" msgstr "" -#: order/models.py:96 order/serializers.py:70 +#: order/models.py:96 order/serializers.py:72 msgid "Order Currency" msgstr "" -#: order/models.py:99 order/serializers.py:71 +#: order/models.py:99 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" @@ -4959,7 +5190,7 @@ msgstr "" msgid "Select project code for this order" msgstr "" -#: order/models.py:303 order/models.py:1301 order/models.py:1717 +#: order/models.py:303 order/models.py:1301 order/models.py:1733 msgid "Link to external page" msgstr "外部ページへのリンク" @@ -5008,15 +5239,15 @@ msgstr "" msgid "received by" msgstr "" -#: order/models.py:514 order/models.py:2058 +#: order/models.py:514 order/models.py:2084 msgid "Issue Date" msgstr "" -#: order/models.py:515 order/models.py:2059 +#: order/models.py:515 order/models.py:2085 msgid "Date order was issued" msgstr "" -#: order/models.py:522 order/models.py:2066 +#: order/models.py:522 order/models.py:2092 msgid "Date order was completed" msgstr "" @@ -5032,15 +5263,15 @@ msgstr "" msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:962 order/models.py:2051 +#: order/models.py:962 order/models.py:2077 msgid "Customer Reference " msgstr "" -#: order/models.py:963 order/models.py:2052 +#: order/models.py:963 order/models.py:2078 msgid "Customer order reference code" msgstr "" -#: order/models.py:967 order/models.py:1671 +#: order/models.py:967 order/models.py:1687 #: templates/js/translated/sales_order.js:879 #: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" @@ -5102,20 +5333,26 @@ msgstr "" msgid "Unit price" msgstr "" -#: order/models.py:1380 +#: order/models.py:1361 +#, fuzzy +#| msgid "Purchase Price" +msgid "Purchase Order Line Item" +msgstr "購入金額" + +#: order/models.py:1385 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1387 +#: order/models.py:1392 msgid "deleted" msgstr "" -#: order/models.py:1415 +#: order/models.py:1420 msgid "Supplier part" msgstr "" -#: order/models.py:1422 order/templates/order/order_base.html:196 -#: templates/js/translated/part.js:1870 templates/js/translated/part.js:1902 +#: order/models.py:1427 order/templates/order/order_base.html:196 +#: templates/js/translated/part.js:1873 templates/js/translated/part.js:1905 #: templates/js/translated/purchase_order.js:1306 #: templates/js/translated/purchase_order.js:2169 #: templates/js/translated/return_order.js:763 @@ -5124,196 +5361,226 @@ msgstr "" msgid "Received" msgstr "" -#: order/models.py:1423 +#: order/models.py:1428 msgid "Number of items received" msgstr "" -#: order/models.py:1431 stock/models.py:939 stock/serializers.py:556 +#: order/models.py:1436 stock/models.py:939 stock/serializers.py:602 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2311 msgid "Purchase Price" msgstr "購入金額" -#: order/models.py:1432 +#: order/models.py:1437 msgid "Unit purchase price" msgstr "" -#: order/models.py:1447 +#: order/models.py:1452 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1538 +#: order/models.py:1503 +#, fuzzy +#| msgid "Purchase Price" +msgid "Purchase Order Extra Line" +msgstr "購入金額" + +#: order/models.py:1532 +msgid "Sales Order Line Item" +msgstr "" + +#: order/models.py:1553 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1543 +#: order/models.py:1558 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1569 part/templates/part/part_pricing.html:107 +#: order/models.py:1584 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:1570 +#: order/models.py:1585 msgid "Unit sale price" msgstr "" -#: order/models.py:1579 order/status_codes.py:43 +#: order/models.py:1594 order/status_codes.py:43 #: templates/js/translated/sales_order.js:1559 #: templates/js/translated/sales_order.js:1680 #: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "発送済み" -#: order/models.py:1580 +#: order/models.py:1595 msgid "Shipped quantity" msgstr "" -#: order/models.py:1672 +#: order/models.py:1667 +msgid "Sales Order Shipment" +msgstr "" + +#: order/models.py:1688 msgid "Date of shipment" msgstr "" -#: order/models.py:1678 templates/js/translated/sales_order.js:1072 +#: order/models.py:1694 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "" -#: order/models.py:1679 +#: order/models.py:1695 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1687 +#: order/models.py:1703 msgid "Checked By" msgstr "" -#: order/models.py:1688 +#: order/models.py:1704 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1695 order/models.py:1908 order/serializers.py:1342 -#: order/serializers.py:1452 templates/js/translated/model_renderers.js:454 +#: order/models.py:1711 order/models.py:1934 order/serializers.py:1398 +#: order/serializers.py:1508 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "" -#: order/models.py:1696 +#: order/models.py:1712 msgid "Shipment number" msgstr "" -#: order/models.py:1704 +#: order/models.py:1720 msgid "Tracking Number" msgstr "" -#: order/models.py:1705 +#: order/models.py:1721 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1712 +#: order/models.py:1728 msgid "Invoice Number" msgstr "" -#: order/models.py:1713 +#: order/models.py:1729 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1733 +#: order/models.py:1749 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1736 +#: order/models.py:1752 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1854 order/models.py:1856 +#: order/models.py:1828 +msgid "Sales Order Extra Line" +msgstr "" + +#: order/models.py:1857 +msgid "Sales Order Allocation" +msgstr "" + +#: order/models.py:1880 order/models.py:1882 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1863 +#: order/models.py:1889 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1866 +#: order/models.py:1892 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1869 +#: order/models.py:1895 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1888 order/serializers.py:1219 +#: order/models.py:1914 order/serializers.py:1275 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1891 +#: order/models.py:1917 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1892 plugin/base/barcodes/api.py:481 +#: order/models.py:1918 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1900 +#: order/models.py:1926 msgid "Line" msgstr "" -#: order/models.py:1909 +#: order/models.py:1935 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1922 order/models.py:2239 +#: order/models.py:1948 order/models.py:2266 #: templates/js/translated/return_order.js:721 msgid "Item" msgstr "" -#: order/models.py:1923 +#: order/models.py:1949 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1932 +#: order/models.py:1958 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2021 +#: order/models.py:2047 msgid "Return Order reference" msgstr "" -#: order/models.py:2033 +#: order/models.py:2059 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2045 +#: order/models.py:2071 msgid "Return order status" msgstr "" -#: order/models.py:2224 +#: order/models.py:2237 +msgid "Return Order Line Item" +msgstr "" + +#: order/models.py:2251 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2240 +#: order/models.py:2267 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2246 +#: order/models.py:2273 msgid "Received Date" msgstr "" -#: order/models.py:2247 +#: order/models.py:2274 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2258 templates/js/translated/return_order.js:732 +#: order/models.py:2285 templates/js/translated/return_order.js:732 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2259 +#: order/models.py:2286 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2266 +#: order/models.py:2293 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:79 order/templates/order/po_sidebar.html:5 +#: order/models.py:2303 +msgid "Return Order Extra Line" +msgstr "" + +#: order/serializers.py:83 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_purchase_order_report.html:22 @@ -5322,163 +5589,173 @@ msgstr "" msgid "Line Items" msgstr "" -#: order/serializers.py:83 +#: order/serializers.py:87 msgid "Completed Lines" msgstr "" -#: order/serializers.py:286 +#: order/serializers.py:305 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:301 order/serializers.py:1235 +#: order/serializers.py:320 order/serializers.py:1291 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:311 order/serializers.py:1245 +#: order/serializers.py:330 order/serializers.py:1301 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:439 +#: order/serializers.py:468 msgid "Order is not open" msgstr "" -#: order/serializers.py:460 +#: order/serializers.py:489 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:462 +#: order/serializers.py:491 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:472 +#: order/serializers.py:501 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:478 +#: order/serializers.py:507 msgid "Merge Items" msgstr "" -#: order/serializers.py:480 +#: order/serializers.py:509 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:498 +#: order/serializers.py:522 part/models.py:945 +msgid "Internal Part Number" +msgstr "" + +#: order/serializers.py:530 +#, fuzzy +#| msgid "Internal Part" +msgid "Internal Part Name" +msgstr "内部パーツ" + +#: order/serializers.py:546 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:501 +#: order/serializers.py:549 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:509 +#: order/serializers.py:557 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:510 +#: order/serializers.py:558 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:549 order/serializers.py:1313 +#: order/serializers.py:598 order/serializers.py:1369 msgid "Line Item" msgstr "" -#: order/serializers.py:555 +#: order/serializers.py:604 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:565 order/serializers.py:673 order/serializers.py:1657 +#: order/serializers.py:614 order/serializers.py:722 order/serializers.py:1715 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:581 templates/js/translated/purchase_order.js:1130 +#: order/serializers.py:630 templates/js/translated/purchase_order.js:1130 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:589 templates/js/translated/purchase_order.js:1154 +#: order/serializers.py:638 templates/js/translated/purchase_order.js:1154 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:600 templates/js/translated/barcode.js:52 +#: order/serializers.py:649 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:601 +#: order/serializers.py:650 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:617 +#: order/serializers.py:666 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:641 +#: order/serializers.py:690 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:689 order/serializers.py:1673 +#: order/serializers.py:738 order/serializers.py:1731 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:705 +#: order/serializers.py:754 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:716 +#: order/serializers.py:765 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1062 +#: order/serializers.py:1117 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1122 +#: order/serializers.py:1178 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1183 order/serializers.py:1322 +#: order/serializers.py:1239 order/serializers.py:1378 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1202 +#: order/serializers.py:1258 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1332 +#: order/serializers.py:1388 msgid "Enter serial numbers to allocate" msgstr "割り当てるシリアル番号を入力" -#: order/serializers.py:1354 order/serializers.py:1460 +#: order/serializers.py:1410 order/serializers.py:1516 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1357 order/serializers.py:1463 +#: order/serializers.py:1413 order/serializers.py:1519 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1404 +#: order/serializers.py:1460 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1411 +#: order/serializers.py:1467 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1627 +#: order/serializers.py:1685 msgid "Return order line item" msgstr "" -#: order/serializers.py:1633 +#: order/serializers.py:1691 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1636 +#: order/serializers.py:1694 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1665 +#: order/serializers.py:1723 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1743 +#: order/serializers.py:1806 msgid "Line price currency" msgstr "" @@ -5808,7 +6085,7 @@ msgstr "" #: 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:1073 +#: templates/js/translated/part.js:1076 #: templates/js/translated/purchase_order.js:1752 #: templates/js/translated/return_order.js:380 #: templates/js/translated/sales_order.js:891 @@ -5904,34 +6181,29 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:398 part/models.py:3944 part/stocktake.py:219 +#: part/admin.py:39 part/admin.py:398 part/models.py:3991 part/stocktake.py:219 #: stock/admin.py:152 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:405 part/models.py:3945 part/stocktake.py:220 -#: stock/admin.py:156 -msgid "Part Name" -msgstr "" - #: part/admin.py:45 part/stocktake.py:221 msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:940 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:944 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 -#: templates/js/translated/part.js:1227 templates/js/translated/part.js:2341 +#: templates/js/translated/part.js:1230 templates/js/translated/part.js:2344 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:949 part/templates/part/part_base.html:277 -#: report/models.py:162 templates/js/translated/part.js:1232 -#: templates/js/translated/part.js:2347 +#: part/admin.py:50 part/models.py:953 part/templates/part/part_base.html:277 +#: report/models.py:162 templates/js/translated/part.js:1235 +#: templates/js/translated/part.js:2350 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:319 part/models.py:922 +#: part/admin.py:53 part/admin.py:319 part/models.py:926 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "キーワード" @@ -5944,7 +6216,8 @@ msgstr "" msgid "Category ID" msgstr "カテゴリID" -#: part/admin.py:67 part/admin.py:304 part/stocktake.py:223 +#: part/admin.py:67 part/admin.py:304 part/serializers.py:837 +#: part/stocktake.py:223 msgid "Category Name" msgstr "カテゴリ名" @@ -5956,11 +6229,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:908 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:912 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1036 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1040 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5968,18 +6241,19 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:150 part/templates/part/part_base.html:241 stock/admin.py:235 -#: templates/js/translated/part.js:715 templates/js/translated/part.js:2153 +#: part/admin.py:150 part/serializers.py:854 +#: part/templates/part/part_base.html:241 stock/admin.py:235 +#: templates/js/translated/part.js:714 templates/js/translated/part.js:2156 msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3088 part/models.py:3102 -#: templates/js/translated/part.js:970 +#: part/admin.py:155 part/models.py:3098 part/models.py:3112 +#: templates/js/translated/part.js:973 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3095 part/models.py:3109 -#: templates/js/translated/part.js:980 +#: part/admin.py:158 part/models.py:3105 part/models.py:3119 +#: templates/js/translated/part.js:983 msgid "Maximum Cost" msgstr "" @@ -5996,14 +6270,14 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:396 part/serializers.py:124 -#: part/serializers.py:267 part/serializers.py:386 +#: part/admin.py:325 part/models.py:397 part/serializers.py:130 +#: part/serializers.py:282 part/serializers.py:404 #: 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:2807 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:203 msgid "Parts" msgstr "パーツ" @@ -6020,125 +6294,117 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:402 part/models.py:3946 -msgid "Part IPN" -msgstr "" - -#: part/admin.py:415 part/serializers.py:1274 +#: part/admin.py:415 part/serializers.py:1302 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:420 part/serializers.py:1289 +#: part/admin.py:420 part/serializers.py:1317 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "" -#: part/api.py:104 +#: part/api.py:105 msgid "Starred" msgstr "" -#: part/api.py:106 +#: part/api.py:107 msgid "Filter by starred categories" msgstr "" -#: part/api.py:123 stock/api.py:312 +#: part/api.py:124 stock/api.py:312 msgid "Depth" msgstr "" -#: part/api.py:123 +#: part/api.py:124 msgid "Filter by category depth" msgstr "" -#: part/api.py:141 stock/api.py:330 +#: part/api.py:142 stock/api.py:330 msgid "Top Level" msgstr "" -#: part/api.py:143 +#: part/api.py:144 msgid "Filter by top-level categories" msgstr "" -#: part/api.py:156 stock/api.py:345 +#: part/api.py:157 stock/api.py:345 msgid "Cascade" msgstr "" -#: part/api.py:158 +#: part/api.py:159 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:179 templates/js/translated/part.js:308 +#: part/api.py:180 templates/js/translated/part.js:307 msgid "Parent" msgstr "" -#: part/api.py:181 +#: part/api.py:182 msgid "Filter by parent category" msgstr "" -#: part/api.py:214 +#: part/api.py:215 msgid "Exclude Tree" msgstr "" -#: part/api.py:216 +#: part/api.py:217 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:449 +#: part/api.py:442 msgid "Has Results" msgstr "" -#: part/api.py:616 +#: part/api.py:609 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:634 +#: part/api.py:627 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:650 +#: part/api.py:643 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:734 +#: part/api.py:727 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:881 -msgid "Valid" -msgstr "" - -#: part/api.py:882 +#: part/api.py:875 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:888 +#: part/api.py:881 msgid "This option must be selected" msgstr "" -#: part/api.py:1105 +#: part/api.py:1098 msgid "BOM Valid" msgstr "" -#: part/api.py:1508 part/models.py:932 part/models.py:3374 part/models.py:3889 -#: part/serializers.py:401 part/serializers.py:1130 -#: part/templates/part/part_base.html:260 stock/api.py:791 +#: part/api.py:1494 part/models.py:936 part/models.py:3385 part/models.py:3936 +#: part/serializers.py:419 part/serializers.py:1158 +#: part/templates/part/part_base.html:260 stock/api.py:783 #: 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:2380 msgid "Category" msgstr "カテゴリ" -#: part/api.py:1796 +#: part/api.py:1784 msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:104 part/models.py:975 +#: part/bom.py:170 part/models.py:104 part/models.py:979 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:833 +#: part/bom.py:171 part/serializers.py:861 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6147,7 +6413,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:85 part/models.py:3890 part/templates/part/category.html:16 +#: part/models.py:85 part/models.py:3937 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "パーツカテゴリ" @@ -6162,7 +6428,7 @@ msgstr "パーツカテゴリ" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:110 stock/models.py:175 templates/js/translated/part.js:2810 +#: part/models.py:110 stock/models.py:175 templates/js/translated/part.js:2813 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 @@ -6194,1002 +6460,1041 @@ msgstr "" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:485 +#: part/models.py:486 +msgid "Cannot delete this part as it is locked" +msgstr "" + +#: part/models.py:489 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:490 +#: part/models.py:494 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:528 +#: part/models.py:532 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:576 part/models.py:583 +#: part/models.py:580 part/models.py:587 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:595 +#: part/models.py:599 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:658 +#: part/models.py:662 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:736 +#: part/models.py:740 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:837 +#: part/models.py:841 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:847 +#: part/models.py:851 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:862 +#: part/models.py:866 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:891 part/models.py:3945 +#: part/models.py:895 part/models.py:3992 msgid "Part name" msgstr "" -#: part/models.py:896 +#: part/models.py:900 msgid "Is Template" msgstr "" -#: part/models.py:897 +#: part/models.py:901 msgid "Is this part a template part?" msgstr "" -#: part/models.py:907 +#: part/models.py:911 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:915 +#: part/models.py:919 msgid "Part description (optional)" msgstr "" -#: part/models.py:923 +#: part/models.py:927 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:933 +#: part/models.py:937 msgid "Part category" msgstr "パーツカテゴリ" -#: part/models.py:941 -msgid "Internal Part Number" -msgstr "" - -#: part/models.py:948 +#: part/models.py:952 msgid "Part revision or version number" msgstr "" -#: part/models.py:973 +#: part/models.py:977 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1019 part/templates/part/part_base.html:376 +#: part/models.py:1023 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:1020 +#: part/models.py:1024 msgid "Default supplier part" msgstr "" -#: part/models.py:1027 +#: part/models.py:1031 msgid "Default Expiry" msgstr "" -#: part/models.py:1028 +#: part/models.py:1032 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1037 +#: part/models.py:1041 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1046 +#: part/models.py:1050 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1053 +#: part/models.py:1057 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1059 +#: part/models.py:1063 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1065 +#: part/models.py:1069 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1071 +#: part/models.py:1075 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1077 +#: part/models.py:1081 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1081 +#: part/models.py:1085 msgid "Is this part active?" msgstr "" -#: part/models.py:1087 +#: part/models.py:1090 templates/js/translated/part.js:818 +#: templates/js/translated/table_filters.js:721 +msgid "Locked" +msgstr "" + +#: part/models.py:1091 +msgid "Locked parts cannot be edited" +msgstr "" + +#: part/models.py:1097 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1093 +#: part/models.py:1103 msgid "BOM checksum" msgstr "" -#: part/models.py:1094 +#: part/models.py:1104 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1102 +#: part/models.py:1112 msgid "BOM checked by" msgstr "" -#: part/models.py:1107 +#: part/models.py:1117 msgid "BOM checked date" msgstr "" -#: part/models.py:1123 +#: part/models.py:1133 msgid "Creation User" msgstr "" -#: part/models.py:1133 +#: part/models.py:1143 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1138 part/templates/part/part_base.html:339 +#: part/models.py:1148 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:2474 msgid "Last Stocktake" msgstr "" -#: part/models.py:2011 +#: part/models.py:2021 msgid "Sell multiple" msgstr "" -#: part/models.py:3002 +#: part/models.py:3012 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3018 +#: part/models.py:3028 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3019 +#: part/models.py:3029 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3025 +#: part/models.py:3035 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3026 +#: part/models.py:3036 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3032 +#: part/models.py:3042 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3033 +#: part/models.py:3043 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3039 +#: part/models.py:3049 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3040 +#: part/models.py:3050 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3046 +#: part/models.py:3056 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3047 +#: part/models.py:3057 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3053 +#: part/models.py:3063 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3054 +#: part/models.py:3064 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3060 +#: part/models.py:3070 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3061 +#: part/models.py:3071 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3067 +#: part/models.py:3077 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3068 +#: part/models.py:3078 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3074 +#: part/models.py:3084 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3075 +#: part/models.py:3085 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3081 +#: part/models.py:3091 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3082 +#: part/models.py:3092 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3089 +#: part/models.py:3099 msgid "Override minimum cost" msgstr "" -#: part/models.py:3096 +#: part/models.py:3106 msgid "Override maximum cost" msgstr "" -#: part/models.py:3103 +#: part/models.py:3113 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3110 +#: part/models.py:3120 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3116 +#: part/models.py:3126 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3117 +#: part/models.py:3127 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3123 +#: part/models.py:3133 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3124 +#: part/models.py:3134 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3130 +#: part/models.py:3140 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3131 +#: part/models.py:3141 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3137 +#: part/models.py:3147 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3138 +#: part/models.py:3148 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3157 +#: part/models.py:3167 msgid "Part for stocktake" msgstr "" -#: part/models.py:3162 +#: part/models.py:3172 msgid "Item Count" msgstr "" -#: part/models.py:3163 +#: part/models.py:3173 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3171 +#: part/models.py:3181 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3175 part/models.py:3258 +#: part/models.py:3185 part/models.py:3268 #: part/templates/part/part_scheduling.html:13 #: 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:1086 templates/js/translated/pricing.js:826 +#: templates/js/translated/part.js:1089 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 #: templates/js/translated/purchase_order.js:1731 #: templates/js/translated/stock.js:2821 msgid "Date" msgstr "" -#: part/models.py:3176 +#: part/models.py:3186 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3184 +#: part/models.py:3194 msgid "Additional notes" msgstr "" -#: part/models.py:3194 +#: part/models.py:3204 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3200 +#: part/models.py:3210 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3201 +#: part/models.py:3211 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3207 +#: part/models.py:3217 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3208 +#: part/models.py:3218 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3264 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3274 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3265 +#: part/models.py:3275 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3270 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3280 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3271 +#: part/models.py:3281 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3281 +#: part/models.py:3291 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3423 +#: part/models.py:3301 +msgid "Part Sale Price Break" +msgstr "" + +#: part/models.py:3413 +#, fuzzy +#| msgid "Part must be salable" +msgid "Part Test Template" +msgstr "パーツは販売可能でなければなりません" + +#: part/models.py:3439 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3444 part/models.py:3608 +#: part/models.py:3460 part/models.py:3629 msgid "Choices must be unique" msgstr "" -#: part/models.py:3455 +#: part/models.py:3471 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3466 +#: part/models.py:3482 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3483 templates/js/translated/part.js:2880 +#: part/models.py:3499 templates/js/translated/part.js:2883 msgid "Test Name" msgstr "" -#: part/models.py:3484 +#: part/models.py:3500 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3490 +#: part/models.py:3506 msgid "Test Key" msgstr "" -#: part/models.py:3491 +#: part/models.py:3507 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3498 +#: part/models.py:3514 msgid "Test Description" msgstr "" -#: part/models.py:3499 +#: part/models.py:3515 msgid "Enter description for this test" msgstr "" -#: part/models.py:3503 report/models.py:209 -#: templates/js/translated/part.js:2901 +#: part/models.py:3519 report/models.py:209 +#: templates/js/translated/part.js:2904 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "" -#: part/models.py:3503 +#: part/models.py:3519 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3508 templates/js/translated/part.js:2909 +#: part/models.py:3524 templates/js/translated/part.js:2912 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3509 +#: part/models.py:3525 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3514 templates/js/translated/part.js:2917 +#: part/models.py:3530 templates/js/translated/part.js:2920 msgid "Requires Value" msgstr "" -#: part/models.py:3515 +#: part/models.py:3531 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3520 templates/js/translated/part.js:2924 +#: part/models.py:3536 templates/js/translated/part.js:2927 msgid "Requires Attachment" msgstr "" -#: part/models.py:3522 +#: part/models.py:3538 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3528 part/models.py:3667 templates/js/translated/part.js:1637 +#: part/models.py:3544 part/models.py:3688 templates/js/translated/part.js:1640 msgid "Choices" msgstr "" -#: part/models.py:3529 +#: part/models.py:3545 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3583 +#: part/models.py:3577 +#, fuzzy +#| msgid "Part Parameters" +msgid "Part Parameter Template" +msgstr "パーツパラメータ" + +#: part/models.py:3604 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3588 +#: part/models.py:3609 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3625 +#: part/models.py:3646 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3640 +#: part/models.py:3661 msgid "Parameter Name" msgstr "" -#: part/models.py:3647 +#: part/models.py:3668 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3655 +#: part/models.py:3676 msgid "Parameter description" msgstr "" -#: part/models.py:3661 templates/js/translated/part.js:1628 -#: templates/js/translated/table_filters.js:825 +#: part/models.py:3682 templates/js/translated/part.js:1631 +#: templates/js/translated/table_filters.js:830 msgid "Checkbox" msgstr "" -#: part/models.py:3662 +#: part/models.py:3683 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3668 +#: part/models.py:3689 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3745 +#: part/models.py:3723 +#, fuzzy +#| msgid "Part Parameters" +msgid "Part Parameter" +msgstr "パーツパラメータ" + +#: part/models.py:3749 +msgid "Parameter cannot be modified - part is locked" +msgstr "" + +#: part/models.py:3785 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3788 +#: part/models.py:3828 msgid "Parent Part" msgstr "" -#: part/models.py:3796 part/models.py:3897 part/models.py:3898 +#: part/models.py:3836 part/models.py:3944 part/models.py:3945 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3801 -msgid "Data" +#: part/models.py:3842 +msgid "Parameter Value" msgstr "" -#: part/models.py:3802 -msgid "Parameter Value" +#: part/models.py:3892 +msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:3904 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3951 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3905 +#: part/models.py:3952 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3943 +#: part/models.py:3990 msgid "Part ID or part name" msgstr "" -#: part/models.py:3944 +#: part/models.py:3991 msgid "Unique part ID value" msgstr "" -#: part/models.py:3946 +#: part/models.py:3993 msgid "Part IPN value" msgstr "" -#: part/models.py:3947 +#: part/models.py:3994 msgid "Level" msgstr "" -#: part/models.py:3947 +#: part/models.py:3994 msgid "BOM level" msgstr "" -#: part/models.py:4037 +#: part/models.py:4105 +msgid "BOM item cannot be modified - assembly is locked" +msgstr "" + +#: part/models.py:4112 +msgid "BOM item cannot be modified - variant assembly is locked" +msgstr "" + +#: part/models.py:4122 msgid "Select parent part" msgstr "" -#: part/models.py:4047 +#: part/models.py:4132 msgid "Sub part" msgstr "" -#: part/models.py:4048 +#: part/models.py:4133 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4059 +#: part/models.py:4144 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4065 +#: part/models.py:4150 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4071 +#: part/models.py:4156 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4078 part/templates/part/upload_bom.html:55 +#: part/models.py:4163 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4079 +#: part/models.py:4164 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4086 +#: part/models.py:4171 msgid "BOM item reference" msgstr "" -#: part/models.py:4094 +#: part/models.py:4179 msgid "BOM item notes" msgstr "" -#: part/models.py:4100 +#: part/models.py:4185 msgid "Checksum" msgstr "" -#: part/models.py:4101 +#: part/models.py:4186 msgid "BOM line checksum" msgstr "" -#: part/models.py:4106 templates/js/translated/table_filters.js:174 +#: part/models.py:4191 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4107 +#: part/models.py:4192 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4112 part/templates/part/upload_bom.html:57 +#: part/models.py:4197 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:4113 +#: part/models.py:4198 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4118 part/templates/part/upload_bom.html:56 +#: part/models.py:4203 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4119 +#: part/models.py:4204 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4204 stock/models.py:663 +#: part/models.py:4289 stock/models.py:663 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4214 part/models.py:4216 +#: part/models.py:4299 part/models.py:4301 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4354 +#: part/models.py:4439 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4375 +#: part/models.py:4460 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4388 +#: part/models.py:4473 msgid "Parent BOM item" msgstr "" -#: part/models.py:4396 +#: part/models.py:4481 msgid "Substitute part" msgstr "" -#: part/models.py:4412 +#: part/models.py:4497 msgid "Part 1" msgstr "" -#: part/models.py:4420 +#: part/models.py:4505 msgid "Part 2" msgstr "" -#: part/models.py:4421 +#: part/models.py:4506 msgid "Select Related Part" msgstr "" -#: part/models.py:4440 +#: part/models.py:4525 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4445 +#: part/models.py:4530 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:118 +#: part/serializers.py:124 msgid "Parent Category" msgstr "" -#: part/serializers.py:119 templates/js/translated/part.js:309 +#: part/serializers.py:125 templates/js/translated/part.js:308 msgid "Parent part category" msgstr "" -#: part/serializers.py:126 part/serializers.py:148 +#: part/serializers.py:132 part/serializers.py:154 #: part/templates/part/category.html:122 part/templates/part/category.html:207 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "サブカテゴリ" -#: part/serializers.py:180 +#: part/serializers.py:189 msgid "Results" msgstr "" -#: part/serializers.py:181 +#: part/serializers.py:190 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:205 part/serializers.py:223 stock/serializers.py:562 +#: part/serializers.py:217 part/serializers.py:235 stock/serializers.py:608 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:268 +#: part/serializers.py:283 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:392 +#: part/serializers.py:410 msgid "No parts selected" msgstr "" -#: part/serializers.py:402 +#: part/serializers.py:420 msgid "Select category" msgstr "カテゴリを選択" -#: part/serializers.py:437 +#: part/serializers.py:455 msgid "Original Part" msgstr "" -#: part/serializers.py:438 +#: part/serializers.py:456 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:461 msgid "Copy Image" msgstr "" -#: part/serializers.py:444 +#: part/serializers.py:462 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:450 part/templates/part/detail.html:277 +#: part/serializers.py:468 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:451 +#: part/serializers.py:469 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:457 +#: part/serializers.py:475 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:458 +#: part/serializers.py:476 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:464 +#: part/serializers.py:482 msgid "Copy Notes" msgstr "" -#: part/serializers.py:465 +#: part/serializers.py:483 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:483 +#: part/serializers.py:501 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:485 +#: part/serializers.py:503 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:492 +#: part/serializers.py:510 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:493 +#: part/serializers.py:511 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:510 +#: part/serializers.py:528 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:526 +#: part/serializers.py:544 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:536 +#: part/serializers.py:554 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:543 +#: part/serializers.py:561 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:552 +#: part/serializers.py:570 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:563 +#: part/serializers.py:581 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:570 +#: part/serializers.py:588 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:834 -msgid "External Stock" -msgstr "" - -#: part/serializers.py:836 +#: part/serializers.py:864 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:839 +#: part/serializers.py:867 msgid "Variant Stock" msgstr "" -#: part/serializers.py:869 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:472 +#: part/serializers.py:897 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:870 +#: part/serializers.py:898 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:876 templates/js/translated/part.js:102 +#: part/serializers.py:904 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:877 +#: part/serializers.py:905 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:883 +#: part/serializers.py:911 msgid "Supplier Information" msgstr "" -#: part/serializers.py:884 +#: part/serializers.py:912 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:892 +#: part/serializers.py:920 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:893 +#: part/serializers.py:921 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:898 +#: part/serializers.py:926 msgid "Existing Image" msgstr "" -#: part/serializers.py:899 +#: part/serializers.py:927 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:916 +#: part/serializers.py:944 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1122 +#: part/serializers.py:1150 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1132 +#: part/serializers.py:1160 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1142 +#: part/serializers.py:1170 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1148 +#: part/serializers.py:1176 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1149 +#: part/serializers.py:1177 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1154 +#: part/serializers.py:1182 msgid "Generate Report" msgstr "" -#: part/serializers.py:1155 +#: part/serializers.py:1183 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1160 +#: part/serializers.py:1188 msgid "Update Parts" msgstr "" -#: part/serializers.py:1161 +#: part/serializers.py:1189 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1169 +#: part/serializers.py:1197 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1275 +#: part/serializers.py:1303 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1282 +#: part/serializers.py:1310 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1290 +#: part/serializers.py:1318 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1297 +#: part/serializers.py:1325 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1326 +#: part/serializers.py:1354 msgid "Update" msgstr "" -#: part/serializers.py:1327 +#: part/serializers.py:1355 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1350 +#: part/serializers.py:1378 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1357 +#: part/serializers.py:1385 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1360 +#: part/serializers.py:1388 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1727 +#: part/serializers.py:1759 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1735 +#: part/serializers.py:1767 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1736 +#: part/serializers.py:1768 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1741 +#: part/serializers.py:1773 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1742 +#: part/serializers.py:1774 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1747 +#: part/serializers.py:1779 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1748 +#: part/serializers.py:1780 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1753 +#: part/serializers.py:1785 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1754 +#: part/serializers.py:1786 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1788 +#: part/serializers.py:1823 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1789 +#: part/serializers.py:1824 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1819 +#: part/serializers.py:1856 msgid "No part column specified" msgstr "" -#: part/serializers.py:1863 +#: part/serializers.py:1900 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1866 +#: part/serializers.py:1903 msgid "No matching part found" msgstr "" -#: part/serializers.py:1869 +#: part/serializers.py:1906 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1878 +#: part/serializers.py:1915 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1886 +#: part/serializers.py:1923 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1907 +#: part/serializers.py:1946 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:225 templates/js/translated/part.js:1067 -#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 +#: part/stocktake.py:225 templates/js/translated/part.js:1070 +#: templates/js/translated/part.js:1825 templates/js/translated/part.js:1881 #: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "" @@ -7507,7 +7812,7 @@ msgstr "このパーツの通知を受け取る" #: part/templates/part/part_base.html:52 #: stock/templates/stock/item_base.html:62 -#: stock/templates/stock/location.html:74 templates/js/translated/label.js:143 +#: stock/templates/stock/location.html:74 templates/js/translated/label.js:136 msgid "Print Label" msgstr "" @@ -7529,7 +7834,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:2296 msgid "Part actions" msgstr "" @@ -7569,6 +7874,10 @@ msgstr "" msgid "Part can be sold to customers" msgstr "" +#: part/templates/part/part_base.html:145 +msgid "Part is not active" +msgstr "" + #: part/templates/part/part_base.html:153 msgid "Part is virtual (not a physical part)" msgstr "" @@ -7597,7 +7906,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:322 templates/js/translated/bom.js:1071 -#: templates/js/translated/part.js:1265 templates/js/translated/part.js:2444 +#: templates/js/translated/part.js:1268 templates/js/translated/part.js:2447 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" @@ -7690,8 +7999,8 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/part.js:1243 templates/js/translated/part.js:2146 -#: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 +#: templates/js/translated/part.js:1246 templates/js/translated/part.js:2149 +#: templates/js/translated/part.js:2395 templates/js/translated/stock.js:1059 #: templates/js/translated/stock.js:2070 templates/navbar.html:31 msgid "Stock" msgstr "在庫" @@ -7811,8 +8120,8 @@ msgstr "" #: part/templates/part/stock_count.html:7 #: templates/js/translated/model_renderers.js:227 -#: templates/js/translated/part.js:705 templates/js/translated/part.js:2141 -#: templates/js/translated/part.js:2143 +#: templates/js/translated/part.js:704 templates/js/translated/part.js:2144 +#: templates/js/translated/part.js:2146 msgid "No Stock" msgstr "在庫切れ" @@ -7956,7 +8265,7 @@ msgstr "" msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2589 +#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2590 #: templates/js/translated/sales_order.js:1953 msgid "Insufficient stock available" msgstr "" @@ -8051,7 +8360,7 @@ msgstr "" msgid "Quantity to allocate" msgstr "" -#: plugin/base/label/label.py:39 templates/js/translated/label.js:155 +#: plugin/base/label/label.py:39 templates/js/translated/label.js:148 msgid "Label printing failed" msgstr "" @@ -8748,7 +9057,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report.html:25 #: report/templates/report/inventree_test_report.html:88 stock/models.py:825 -#: stock/serializers.py:149 stock/templates/stock/item_base.html:311 +#: stock/serializers.py:151 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:230 @@ -8778,7 +9087,7 @@ msgstr "" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2447 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2457 msgid "Result" msgstr "" @@ -8799,7 +9108,7 @@ msgid "No result" msgstr "" #: report/templates/report/inventree_test_report.html:153 -#: stock/templates/stock/stock_sidebar.html:16 +#: stock/serializers.py:591 stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" @@ -8829,10 +9138,6 @@ msgstr "" msgid "Location ID" msgstr "" -#: stock/admin.py:53 stock/admin.py:175 -msgid "Location Name" -msgstr "" - #: stock/admin.py:63 stock/templates/stock/location.html:131 #: stock/templates/stock/location.html:137 msgid "Location Path" @@ -8909,7 +9214,7 @@ msgstr "" msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:369 stock/serializers.py:1085 +#: stock/api.py:369 stock/serializers.py:1148 msgid "Parent Location" msgstr "" @@ -8917,44 +9222,45 @@ msgstr "" msgid "Filter by parent location" msgstr "" -#: stock/api.py:625 templates/js/translated/table_filters.js:427 +#: stock/api.py:617 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:813 +#: stock/api.py:805 msgid "Part Tree" msgstr "" -#: stock/api.py:843 +#: stock/api.py:835 msgid "Expiry date before" msgstr "" -#: stock/api.py:847 +#: stock/api.py:839 msgid "Expiry date after" msgstr "" -#: stock/api.py:850 stock/templates/stock/item_base.html:439 +#: stock/api.py:842 stock/serializers.py:596 +#: stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "" -#: stock/api.py:937 +#: stock/api.py:929 msgid "Quantity is required" msgstr "" -#: stock/api.py:943 +#: stock/api.py:935 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:974 +#: stock/api.py:966 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:984 +#: stock/api.py:976 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1015 +#: stock/api.py:1007 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -9021,7 +9327,7 @@ msgstr "" msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:669 stock/serializers.py:446 +#: stock/models.py:669 stock/serializers.py:477 msgid "Stock item cannot be created for virtual parts" msgstr "" @@ -9066,7 +9372,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:799 stock/serializers.py:1476 +#: stock/models.py:799 stock/serializers.py:1542 msgid "Packaging this stock item is stored in" msgstr "" @@ -9078,7 +9384,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:843 stock/serializers.py:1459 +#: stock/models.py:843 stock/serializers.py:1525 msgid "Batch code for this stock item" msgstr "" @@ -9155,7 +9461,7 @@ msgstr "" msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1520 stock/serializers.py:660 +#: stock/models.py:1520 stock/serializers.py:718 msgid "Serial numbers already exist" msgstr "シリアル番号が既に存在します" @@ -9187,7 +9493,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1658 stock/serializers.py:1365 +#: stock/models.py:1658 stock/serializers.py:1431 msgid "Duplicate stock items" msgstr "" @@ -9207,288 +9513,338 @@ msgstr "" msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2345 +#: stock/models.py:2317 +#, fuzzy +#| msgid "Stock Item" +msgid "Stock Item Tracking" +msgstr "在庫商品" + +#: stock/models.py:2350 msgid "Entry notes" msgstr "" -#: stock/models.py:2413 +#: stock/models.py:2390 +#, fuzzy +#| msgid "Stock Items" +msgid "Stock Item Test Result" +msgstr "在庫商品" + +#: stock/models.py:2423 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2418 +#: stock/models.py:2428 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2423 +#: stock/models.py:2433 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2447 +#: stock/models.py:2457 msgid "Test result" msgstr "" -#: stock/models.py:2454 +#: stock/models.py:2464 msgid "Test output value" msgstr "" -#: stock/models.py:2462 +#: stock/models.py:2472 msgid "Test result attachment" msgstr "" -#: stock/models.py:2466 +#: stock/models.py:2476 msgid "Test notes" msgstr "" -#: stock/models.py:2474 templates/js/translated/stock.js:1548 +#: stock/models.py:2484 templates/js/translated/stock.js:1548 msgid "Test station" msgstr "" -#: stock/models.py:2475 +#: stock/models.py:2485 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2481 +#: stock/models.py:2491 msgid "Started" msgstr "" -#: stock/models.py:2482 +#: stock/models.py:2492 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2488 +#: stock/models.py:2498 msgid "Finished" msgstr "" -#: stock/models.py:2489 +#: stock/models.py:2499 msgid "The timestamp of the test finish" msgstr "" -#: stock/serializers.py:74 +#: stock/serializers.py:76 msgid "Generated batch code" msgstr "" -#: stock/serializers.py:83 +#: stock/serializers.py:85 msgid "Select build order" msgstr "" -#: stock/serializers.py:92 +#: stock/serializers.py:94 msgid "Select stock item to generate batch code for" msgstr "" -#: stock/serializers.py:101 +#: stock/serializers.py:103 msgid "Select location to generate batch code for" msgstr "" -#: stock/serializers.py:110 +#: stock/serializers.py:112 msgid "Select part to generate batch code for" msgstr "" -#: stock/serializers.py:119 +#: stock/serializers.py:121 msgid "Select purchase order" msgstr "" -#: stock/serializers.py:126 +#: stock/serializers.py:128 msgid "Enter quantity for batch code" msgstr "" -#: stock/serializers.py:149 +#: stock/serializers.py:151 msgid "Generated serial number" msgstr "" -#: stock/serializers.py:158 +#: stock/serializers.py:160 msgid "Select part to generate serial number for" msgstr "" -#: stock/serializers.py:166 +#: stock/serializers.py:168 msgid "Quantity of serial numbers to generate" msgstr "" -#: stock/serializers.py:228 +#: stock/serializers.py:233 msgid "Test template for this result" msgstr "" -#: stock/serializers.py:247 +#: stock/serializers.py:252 msgid "Template ID or test name must be provided" msgstr "" -#: stock/serializers.py:279 +#: stock/serializers.py:284 msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:315 +#: stock/serializers.py:320 msgid "Serial number is too large" msgstr "シリアル番号が大きすぎます" -#: stock/serializers.py:438 +#: stock/serializers.py:449 stock/templates/stock/item_base.html:193 +msgid "Parent Item" +msgstr "" + +#: stock/serializers.py:450 +#, fuzzy +#| msgid "Merged stock items" +msgid "Parent stock item" +msgstr "商品在庫をマージしました" + +#: stock/serializers.py:469 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:558 +#: stock/serializers.py:585 templates/js/translated/build.js:991 +#: templates/js/translated/build.js:2344 +msgid "Allocated Quantity" +msgstr "" + +#: stock/serializers.py:588 stock/templates/stock/item_base.html:437 +#: templates/js/translated/table_filters.js:435 users/models.py:174 +msgid "Expired" +msgstr "期限切れ" + +#: stock/serializers.py:594 stock/templates/stock/stock_sidebar.html:20 +msgid "Child Items" +msgstr "" + +#: stock/serializers.py:598 +#, fuzzy +#| msgid "Stock Items" +msgid "Tracking Items" +msgstr "在庫商品" + +#: stock/serializers.py:604 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:595 +#: stock/serializers.py:623 +msgid "Minimum Pricing" +msgstr "" + +#: stock/serializers.py:629 +msgid "Maximum Pricing" +msgstr "" + +#: stock/serializers.py:653 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:608 +#: stock/serializers.py:666 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:615 +#: stock/serializers.py:673 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:626 stock/serializers.py:1322 stock/serializers.py:1578 +#: stock/serializers.py:684 stock/serializers.py:1388 stock/serializers.py:1644 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:633 +#: stock/serializers.py:691 msgid "Optional note field" msgstr "" -#: stock/serializers.py:643 +#: stock/serializers.py:701 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:698 +#: stock/serializers.py:756 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:705 +#: stock/serializers.py:763 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:706 +#: stock/serializers.py:764 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:711 stock/serializers.py:791 stock/serializers.py:887 -#: stock/serializers.py:937 +#: stock/serializers.py:769 stock/serializers.py:849 stock/serializers.py:945 +#: stock/serializers.py:995 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:719 +#: stock/serializers.py:777 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:727 +#: stock/serializers.py:785 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:738 +#: stock/serializers.py:796 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:751 +#: stock/serializers.py:809 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:786 +#: stock/serializers.py:844 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:821 +#: stock/serializers.py:879 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:834 +#: stock/serializers.py:892 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:851 +#: stock/serializers.py:909 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:882 +#: stock/serializers.py:940 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:919 +#: stock/serializers.py:977 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:925 +#: stock/serializers.py:983 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1021 stock/serializers.py:1093 +#: stock/serializers.py:1079 stock/serializers.py:1156 #: stock/templates/stock/location.html:165 #: stock/templates/stock/location.html:222 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1086 templates/js/translated/stock.js:152 +#: stock/serializers.py:1149 templates/js/translated/stock.js:152 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1194 +#: stock/serializers.py:1260 msgid "Part must be salable" msgstr "パーツは販売可能でなければなりません" -#: stock/serializers.py:1198 +#: stock/serializers.py:1264 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1202 +#: stock/serializers.py:1268 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1226 +#: stock/serializers.py:1292 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1232 +#: stock/serializers.py:1298 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1240 +#: stock/serializers.py:1306 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1250 stock/serializers.py:1504 +#: stock/serializers.py:1316 stock/serializers.py:1570 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1329 +#: stock/serializers.py:1395 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1334 +#: stock/serializers.py:1400 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1335 +#: stock/serializers.py:1401 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1340 +#: stock/serializers.py:1406 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1341 +#: stock/serializers.py:1407 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1351 +#: stock/serializers.py:1417 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1418 +#: stock/serializers.py:1484 msgid "No Change" msgstr "" -#: stock/serializers.py:1447 +#: stock/serializers.py:1513 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1466 +#: stock/serializers.py:1532 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1494 +#: stock/serializers.py:1560 msgid "Stock transaction notes" msgstr "" @@ -9757,10 +10113,6 @@ msgstr "" msgid "Build" msgstr "組立" -#: stock/templates/stock/item_base.html:193 -msgid "Parent Item" -msgstr "" - #: stock/templates/stock/item_base.html:211 msgid "No manufacturer set" msgstr "" @@ -9836,11 +10188,6 @@ msgstr "" msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:437 -#: templates/js/translated/table_filters.js:435 users/models.py:174 -msgid "Expired" -msgstr "期限切れ" - #: stock/templates/stock/item_base.html:439 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" @@ -9988,10 +10335,6 @@ msgstr "" msgid "Allocations" msgstr "" -#: stock/templates/stock/stock_sidebar.html:20 -msgid "Child Items" -msgstr "" - #: templates/403.html:6 templates/403.html:12 templates/403_csrf.html:7 msgid "Permission Denied" msgstr "" @@ -10466,8 +10809,8 @@ 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:393 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:245 users/models.py:402 +#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 +#: templates/js/translated/stock.js:245 users/models.py:406 msgid "Delete" msgstr "" @@ -10507,12 +10850,12 @@ msgid "No category parameter templates found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:308 -#: templates/js/translated/part.js:1646 +#: templates/js/translated/part.js:1649 msgid "Edit Template" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:309 -#: templates/js/translated/part.js:1647 +#: templates/js/translated/part.js:1650 msgid "Delete Template" msgstr "" @@ -11145,7 +11488,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2556 +#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2557 msgid "Required Quantity" msgstr "" @@ -11159,7 +11502,7 @@ msgid "Click on the following link to view this part" msgstr "このパーツを表示するには、次のリンクをクリックしてください" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3219 +#: templates/js/translated/part.js:3222 msgid "Minimum Quantity" msgstr "最小在庫" @@ -11514,7 +11857,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2500 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2501 msgid "Variant stock allowed" msgstr "" @@ -11534,30 +11877,30 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2621 +#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2622 msgid "External stock" msgstr "" -#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2595 +#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2596 #: templates/js/translated/sales_order.js:1946 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2599 +#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2600 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2601 -#: templates/js/translated/part.js:1257 +#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2602 +#: templates/js/translated/part.js:1260 #: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2603 +#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2604 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2586 +#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2587 msgid "Consumable item" msgstr "" @@ -11589,7 +11932,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2485 +#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2486 msgid "Required Part" msgstr "" @@ -11758,10 +12101,6 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:991 templates/js/translated/build.js:2344 -msgid "Allocated Quantity" -msgstr "" - #: templates/js/translated/build.js:1005 msgid "Location not specified" msgstr "" @@ -11873,9 +12212,9 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2117 templates/js/translated/build.js:2479 +#: templates/js/translated/build.js:2117 templates/js/translated/build.js:2480 #: templates/js/translated/forms.js:2163 templates/js/translated/forms.js:2179 -#: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 +#: templates/js/translated/part.js:2319 templates/js/translated/part.js:2745 #: templates/js/translated/stock.js:1983 templates/js/translated/stock.js:2710 msgid "Select" msgstr "" @@ -11906,59 +12245,59 @@ msgstr "" msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2455 +#: templates/js/translated/build.js:2456 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2456 +#: templates/js/translated/build.js:2457 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2474 +#: templates/js/translated/build.js:2475 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2504 templates/js/translated/part.js:791 -#: templates/js/translated/part.js:1203 +#: templates/js/translated/build.js:2505 templates/js/translated/part.js:790 +#: templates/js/translated/part.js:1206 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2539 +#: templates/js/translated/build.js:2540 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2591 +#: templates/js/translated/build.js:2592 #: templates/js/translated/sales_order.js:1951 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2646 +#: templates/js/translated/build.js:2647 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2653 +#: templates/js/translated/build.js:2654 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2654 +#: templates/js/translated/build.js:2655 msgid "Allocate tracked items against individual build outputs" msgstr "" -#: templates/js/translated/build.js:2662 +#: templates/js/translated/build.js:2663 #: templates/js/translated/sales_order.js:2052 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2667 templates/js/translated/stock.js:1868 +#: templates/js/translated/build.js:2668 templates/js/translated/stock.js:1868 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2671 +#: templates/js/translated/build.js:2672 #: templates/js/translated/sales_order.js:2046 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2675 +#: templates/js/translated/build.js:2676 msgid "Remove stock allocation" msgstr "" @@ -12105,7 +12444,7 @@ msgid "Delete Parameters" msgstr "" #: templates/js/translated/company.js:1191 -#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2245 +#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2248 msgid "Order parts" msgstr "" @@ -12122,34 +12461,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:1279 -#: templates/js/translated/company.js:1567 templates/js/translated/part.js:799 -#: templates/js/translated/part.js:1211 +#: templates/js/translated/company.js:1567 templates/js/translated/part.js:798 +#: templates/js/translated/part.js:1214 msgid "Template part" msgstr "" #: templates/js/translated/company.js:1283 -#: templates/js/translated/company.js:1571 templates/js/translated/part.js:803 -#: templates/js/translated/part.js:1215 +#: templates/js/translated/company.js:1571 templates/js/translated/part.js:802 +#: templates/js/translated/part.js:1218 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1465 +#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1468 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1528 +#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1531 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1529 +#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1532 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1434 +#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1437 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1550 +#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1553 msgid "Delete Parameter" msgstr "" @@ -12323,15 +12662,15 @@ msgstr "" msgid "No parts required for builds" msgstr "" -#: templates/js/translated/label.js:55 templates/js/translated/report.js:38 +#: templates/js/translated/label.js:48 templates/js/translated/report.js:38 msgid "Select Items" msgstr "" -#: templates/js/translated/label.js:56 templates/js/translated/report.js:39 +#: templates/js/translated/label.js:49 templates/js/translated/report.js:39 msgid "No items selected for printing" msgstr "" -#: templates/js/translated/label.js:150 +#: templates/js/translated/label.js:143 msgid "Labels sent to printer" msgstr "" @@ -12400,7 +12739,7 @@ msgstr "" #: templates/js/translated/news.js:38 #: templates/js/translated/notification.js:46 -#: templates/js/translated/part.js:1605 +#: templates/js/translated/part.js:1608 msgid "ID" msgstr "" @@ -12481,343 +12820,343 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:333 templates/js/translated/stock.js:175 +#: templates/js/translated/part.js:332 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:353 +#: templates/js/translated/part.js:352 msgid "Create Part Category" msgstr "" -#: templates/js/translated/part.js:356 +#: templates/js/translated/part.js:355 msgid "Create new category after this one" msgstr "" -#: templates/js/translated/part.js:357 +#: templates/js/translated/part.js:356 msgid "Part category created" msgstr "" -#: templates/js/translated/part.js:371 +#: templates/js/translated/part.js:370 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:384 +#: templates/js/translated/part.js:383 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:389 +#: templates/js/translated/part.js:388 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:398 +#: templates/js/translated/part.js:397 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:402 +#: templates/js/translated/part.js:401 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:407 +#: templates/js/translated/part.js:406 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:431 +#: templates/js/translated/part.js:430 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:433 +#: templates/js/translated/part.js:432 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:434 +#: templates/js/translated/part.js:433 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:462 +#: templates/js/translated/part.js:461 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:464 +#: templates/js/translated/part.js:463 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:475 +#: templates/js/translated/part.js:474 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:532 +#: templates/js/translated/part.js:531 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:533 +#: templates/js/translated/part.js:532 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:547 +#: templates/js/translated/part.js:546 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:549 +#: templates/js/translated/part.js:548 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:550 +#: templates/js/translated/part.js:549 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:551 +#: templates/js/translated/part.js:550 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:558 +#: templates/js/translated/part.js:557 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:594 +#: templates/js/translated/part.js:593 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:596 +#: templates/js/translated/part.js:595 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:601 +#: templates/js/translated/part.js:600 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:603 +#: templates/js/translated/part.js:602 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:620 +#: templates/js/translated/part.js:619 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:630 +#: templates/js/translated/part.js:629 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:633 +#: templates/js/translated/part.js:632 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:658 +#: templates/js/translated/part.js:657 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:686 -#: templates/js/translated/table_filters.js:747 +#: templates/js/translated/part.js:685 +#: templates/js/translated/table_filters.js:752 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:689 +#: templates/js/translated/part.js:688 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:749 +#: templates/js/translated/part.js:748 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:772 +#: templates/js/translated/part.js:771 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:795 templates/js/translated/part.js:1207 +#: templates/js/translated/part.js:794 templates/js/translated/part.js:1210 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:807 +#: templates/js/translated/part.js:806 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:811 +#: templates/js/translated/part.js:810 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:890 +#: templates/js/translated/part.js:893 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:890 +#: templates/js/translated/part.js:893 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:898 +#: templates/js/translated/part.js:901 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:902 +#: templates/js/translated/part.js:905 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:1051 +#: templates/js/translated/part.js:1054 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1109 templates/js/translated/part.js:1145 +#: templates/js/translated/part.js:1112 templates/js/translated/part.js:1148 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1113 templates/js/translated/part.js:1155 +#: templates/js/translated/part.js:1116 templates/js/translated/part.js:1158 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1282 +#: templates/js/translated/part.js:1285 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1600 +#: templates/js/translated/part.js:1603 msgid "No part parameter templates found" msgstr "" -#: templates/js/translated/part.js:1663 +#: templates/js/translated/part.js:1666 msgid "Edit Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1675 +#: templates/js/translated/part.js:1678 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/js/translated/part.js:1683 +#: templates/js/translated/part.js:1686 msgid "Delete Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1717 +#: templates/js/translated/part.js:1720 #: templates/js/translated/purchase_order.js:1654 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/part.js:1861 +#: templates/js/translated/part.js:1864 #: 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:1907 +#: templates/js/translated/part.js:1910 #: templates/js/translated/purchase_order.js:2220 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1970 +#: templates/js/translated/part.js:1973 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1992 +#: templates/js/translated/part.js:1995 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2080 templates/js/translated/part.js:2506 +#: templates/js/translated/part.js:2083 templates/js/translated/part.js:2509 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:2201 +#: templates/js/translated/part.js:2204 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2206 +#: templates/js/translated/part.js:2209 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2236 +#: templates/js/translated/part.js:2239 msgid "Set category" msgstr "" -#: templates/js/translated/part.js:2287 +#: templates/js/translated/part.js:2290 msgid "part" msgstr "" -#: templates/js/translated/part.js:2288 +#: templates/js/translated/part.js:2291 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2384 +#: templates/js/translated/part.js:2387 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 +#: templates/js/translated/part.js:2534 templates/js/translated/part.js:2664 #: templates/js/translated/stock.js:2669 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2547 +#: templates/js/translated/part.js:2550 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2645 +#: templates/js/translated/part.js:2648 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2689 +#: templates/js/translated/part.js:2684 templates/js/translated/stock.js:2689 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2761 +#: templates/js/translated/part.js:2764 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2777 +#: templates/js/translated/part.js:2780 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2865 +#: templates/js/translated/part.js:2868 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2887 templates/js/translated/search.js:342 +#: templates/js/translated/part.js:2890 templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/part.js:2937 templates/js/translated/stock.js:1456 +#: templates/js/translated/part.js:2940 templates/js/translated/stock.js:1456 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2938 templates/js/translated/stock.js:1457 +#: templates/js/translated/part.js:2941 templates/js/translated/stock.js:1457 #: templates/js/translated/stock.js:1731 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2942 +#: templates/js/translated/part.js:2945 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2958 +#: templates/js/translated/part.js:2961 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2972 +#: templates/js/translated/part.js:2975 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3051 templates/js/translated/part.js:3052 +#: templates/js/translated/part.js:3054 templates/js/translated/part.js:3055 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3054 +#: templates/js/translated/part.js:3057 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3060 +#: templates/js/translated/part.js:3063 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3110 +#: templates/js/translated/part.js:3113 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3116 +#: templates/js/translated/part.js:3119 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3212 +#: templates/js/translated/part.js:3215 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3228 +#: templates/js/translated/part.js:3231 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3273 +#: templates/js/translated/part.js:3276 msgid "Minimum Stock Level" msgstr "" @@ -13593,7 +13932,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1042 users/models.py:392 +#: templates/js/translated/stock.js:1042 users/models.py:396 msgid "Add" msgstr "" @@ -13947,7 +14286,7 @@ msgid "Include subcategories" msgstr "" #: templates/js/translated/table_filters.js:287 -#: templates/js/translated/table_filters.js:759 +#: templates/js/translated/table_filters.js:764 msgid "Subscribed" msgstr "" @@ -14102,40 +14441,46 @@ msgstr "" msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:725 +#: templates/js/translated/table_filters.js:722 +#, fuzzy +#| msgid "Show subscribed parts" +msgid "Show locked parts" +msgstr "購読中の部品を表示" + +#: templates/js/translated/table_filters.js:730 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:733 -#: templates/js/translated/table_filters.js:833 +#: templates/js/translated/table_filters.js:738 +#: templates/js/translated/table_filters.js:838 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:734 +#: templates/js/translated/table_filters.js:739 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:738 +#: templates/js/translated/table_filters.js:743 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:739 +#: templates/js/translated/table_filters.js:744 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:743 +#: templates/js/translated/table_filters.js:748 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:751 +#: templates/js/translated/table_filters.js:756 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:763 +#: templates/js/translated/table_filters.js:768 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:829 +#: templates/js/translated/table_filters.js:834 msgid "Has Choices" msgstr "" @@ -14207,10 +14552,6 @@ msgstr "" msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:558 -msgid "Columns" -msgstr "" - #: templates/js/translated/tables.js:561 msgid "All" msgstr "" @@ -14484,35 +14825,34 @@ msgstr "" msgid "Revoked" msgstr "" -#: users/models.py:375 +#: users/models.py:379 msgid "Permission set" msgstr "パーミッション設定" -#: users/models.py:384 +#: users/models.py:388 msgid "Group" msgstr "グループ" -#: users/models.py:388 +#: users/models.py:392 msgid "View" msgstr "表示" -#: users/models.py:388 +#: users/models.py:392 msgid "Permission to view items" msgstr "項目を表示する権限" -#: users/models.py:392 +#: users/models.py:396 msgid "Permission to add items" msgstr "項目を追加する権限" -#: users/models.py:396 +#: users/models.py:400 msgid "Change" msgstr "変更" -#: users/models.py:398 +#: users/models.py:402 msgid "Permissions to edit items" msgstr "項目を編集する権限" -#: users/models.py:404 +#: users/models.py:408 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 aead146b7eb4..a701b58bf3f7 100644 --- a/src/backend/InvenTree/locale/ko/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/ko/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-07-05 02:47+0000\n" +"POT-Creation-Date: 2024-07-08 14:46+0000\n" "PO-Revision-Date: 2024-07-05 14:57\n" "Last-Translator: \n" "Language-Team: Korean\n" @@ -21,7 +21,7 @@ msgstr "" msgid "API endpoint not found" msgstr "" -#: InvenTree/api.py:520 +#: InvenTree/api.py:505 msgid "User does not have permission to view this model" msgstr "" @@ -56,21 +56,21 @@ msgstr "" msgid "Enter date" msgstr "" -#: InvenTree/fields.py:205 InvenTree/models.py:918 build/serializers.py:452 -#: build/serializers.py:530 build/templates/build/sidebar.html:21 -#: company/models.py:817 company/templates/company/sidebar.html:37 +#: InvenTree/fields.py:205 InvenTree/models.py:921 build/serializers.py:456 +#: build/serializers.py:534 build/templates/build/sidebar.html:21 +#: company/models.py:824 company/templates/company/sidebar.html:37 #: order/models.py:1296 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:3183 part/templates/part/part_sidebar.html:63 +#: part/models.py:3193 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:230 stock/models.py:2344 stock/models.py:2466 -#: stock/serializers.py:632 stock/serializers.py:790 stock/serializers.py:886 -#: stock/serializers.py:936 stock/serializers.py:1239 stock/serializers.py:1328 -#: stock/serializers.py:1493 stock/templates/stock/stock_sidebar.html:25 +#: stock/admin.py:230 stock/models.py:2349 stock/models.py:2476 +#: stock/serializers.py:690 stock/serializers.py:848 stock/serializers.py:944 +#: stock/serializers.py:994 stock/serializers.py:1305 stock/serializers.py:1394 +#: stock/serializers.py:1559 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:1081 +#: templates/js/translated/part.js:1084 #: templates/js/translated/purchase_order.js:2200 #: templates/js/translated/return_order.js:775 #: templates/js/translated/sales_order.js:1103 @@ -371,41 +371,41 @@ msgstr "" msgid "JSON metadata field, for use by external plugins" msgstr "" -#: InvenTree/models.py:408 +#: InvenTree/models.py:411 msgid "Improperly formatted pattern" msgstr "" -#: InvenTree/models.py:415 +#: InvenTree/models.py:418 msgid "Unknown format key specified" msgstr "" -#: InvenTree/models.py:421 +#: InvenTree/models.py:424 msgid "Missing required format key" msgstr "" -#: InvenTree/models.py:432 +#: InvenTree/models.py:435 msgid "Reference field cannot be empty" msgstr "" -#: InvenTree/models.py:440 +#: InvenTree/models.py:443 msgid "Reference must match required pattern" msgstr "" -#: InvenTree/models.py:471 +#: InvenTree/models.py:474 msgid "Reference number is too large" msgstr "" -#: InvenTree/models.py:719 +#: InvenTree/models.py:722 msgid "Duplicate names cannot exist under the same parent" msgstr "" -#: InvenTree/models.py:736 +#: InvenTree/models.py:739 msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:766 common/models.py:2678 common/models.py:3103 -#: common/serializers.py:408 company/models.py:580 machine/models.py:24 -#: part/models.py:891 part/models.py:3639 plugin/models.py:51 +#: InvenTree/models.py:769 common/models.py:2659 common/models.py:3089 +#: common/serializers.py:412 company/models.py:587 machine/models.py:24 +#: part/models.py:895 part/models.py:3660 plugin/models.py:51 #: report/models.py:150 stock/models.py:74 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -417,20 +417,20 @@ msgstr "" #: templates/js/translated/company.js:724 #: templates/js/translated/company.js:913 #: templates/js/translated/company.js:1165 -#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1187 -#: templates/js/translated/part.js:1475 templates/js/translated/part.js:1611 -#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2716 +#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1190 +#: templates/js/translated/part.js:1478 templates/js/translated/part.js:1614 +#: templates/js/translated/part.js:2752 templates/js/translated/stock.js:2716 msgid "Name" msgstr "" -#: InvenTree/models.py:772 build/models.py:235 -#: build/templates/build/detail.html:24 common/models.py:138 -#: company/models.py:509 company/models.py:808 +#: InvenTree/models.py:775 build/models.py:242 +#: build/templates/build/detail.html:24 common/models.py:143 +#: company/models.py:515 company/models.py:815 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 -#: order/models.py:1329 part/admin.py:305 part/admin.py:408 part/models.py:914 -#: part/models.py:3654 part/templates/part/category.html:82 +#: order/models.py:1329 part/admin.py:305 part/admin.py:408 part/models.py:918 +#: part/models.py:3675 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:156 #: report/models.py:510 report/models.py:536 @@ -444,10 +444,10 @@ msgstr "" #: templates/js/translated/build.js:2139 templates/js/translated/company.js:519 #: templates/js/translated/company.js:1330 #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 -#: templates/js/translated/order.js:298 templates/js/translated/part.js:1239 -#: templates/js/translated/part.js:1484 templates/js/translated/part.js:1622 -#: templates/js/translated/part.js:1959 templates/js/translated/part.js:2355 -#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2897 +#: templates/js/translated/order.js:298 templates/js/translated/part.js:1242 +#: templates/js/translated/part.js:1487 templates/js/translated/part.js:1625 +#: templates/js/translated/part.js:1962 templates/js/translated/part.js:2358 +#: templates/js/translated/part.js:2788 templates/js/translated/part.js:2900 #: templates/js/translated/plugin.js:80 #: templates/js/translated/purchase_order.js:1706 #: templates/js/translated/purchase_order.js:1849 @@ -460,53 +460,53 @@ msgstr "" msgid "Description" msgstr "" -#: InvenTree/models.py:773 stock/models.py:81 +#: InvenTree/models.py:776 stock/models.py:81 msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:788 templates/js/translated/part.js:2794 +#: InvenTree/models.py:791 templates/js/translated/part.js:2797 #: templates/js/translated/stock.js:2757 msgid "Path" msgstr "" -#: InvenTree/models.py:918 +#: InvenTree/models.py:921 msgid "Markdown notes (optional)" msgstr "" -#: InvenTree/models.py:947 +#: InvenTree/models.py:950 msgid "Barcode Data" msgstr "" -#: InvenTree/models.py:948 +#: InvenTree/models.py:951 msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:954 +#: InvenTree/models.py:957 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:955 +#: InvenTree/models.py:958 msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:1008 +#: InvenTree/models.py:1011 msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:1051 +#: InvenTree/models.py:1054 msgid "Server Error" msgstr "" -#: InvenTree/models.py:1052 +#: InvenTree/models.py:1055 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:63 part/models.py:4192 +#: InvenTree/serializers.py:63 part/models.py:4277 msgid "Must be a valid number" msgstr "" #: InvenTree/serializers.py:100 company/models.py:186 -#: company/templates/company/company_base.html:112 part/models.py:3001 +#: company/templates/company/company_base.html:112 part/models.py:3011 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -556,16 +556,16 @@ msgstr "" msgid "Is this user a superuser" msgstr "" -#: InvenTree/serializers.py:445 common/models.py:2683 company/models.py:163 -#: company/models.py:782 machine/models.py:39 part/admin.py:88 -#: part/models.py:1081 plugin/models.py:66 +#: InvenTree/serializers.py:445 common/models.py:2664 company/models.py:163 +#: company/models.py:789 machine/models.py:39 part/admin.py:88 +#: part/models.py:1085 plugin/models.py:66 #: 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 #: templates/js/translated/table_filters.js:520 #: templates/js/translated/table_filters.js:716 -#: templates/js/translated/table_filters.js:796 users/models.py:182 +#: templates/js/translated/table_filters.js:801 users/models.py:182 msgid "Active" msgstr "" @@ -597,7 +597,7 @@ msgstr "" msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:581 +#: InvenTree/serializers.py:581 importer/models.py:60 msgid "Data File" msgstr "" @@ -651,7 +651,7 @@ msgstr "" msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/status.py:66 part/serializers.py:1174 +#: InvenTree/status.py:66 part/serializers.py:1202 msgid "Background worker check failed" msgstr "" @@ -711,47 +711,48 @@ msgstr "" msgid "About InvenTree" msgstr "" -#: build/api.py:255 +#: build/api.py:248 msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:299 part/models.py:4070 templates/js/translated/bom.js:997 -#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 +#: build/api.py:292 build/serializers.py:1190 part/models.py:4155 +#: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 +#: templates/js/translated/build.js:2521 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:300 part/models.py:4064 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 +#: build/api.py:293 build/serializers.py:1191 part/models.py:4149 +#: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 +#: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2530 #: templates/js/translated/table_filters.js:186 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:587 msgid "Optional" msgstr "" -#: build/api.py:301 templates/js/translated/table_filters.js:408 +#: build/api.py:294 templates/js/translated/table_filters.js:408 #: templates/js/translated/table_filters.js:579 msgid "Tracked" msgstr "" -#: build/api.py:303 part/admin.py:144 templates/js/translated/build.js:1744 -#: templates/js/translated/build.js:2629 +#: build/api.py:296 part/admin.py:144 templates/js/translated/build.js:1744 +#: templates/js/translated/build.js:2630 #: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:571 msgid "Allocated" msgstr "" -#: build/api.py:311 company/models.py:872 company/serializers.py:359 +#: build/api.py:304 company/models.py:879 company/serializers.py:386 #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2561 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2562 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:234 -#: templates/js/translated/part.js:693 templates/js/translated/part.js:695 -#: templates/js/translated/part.js:700 +#: 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 #: templates/js/translated/table_filters.js:575 msgid "Available" @@ -760,7 +761,7 @@ msgstr "" #: build/models.py:85 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 -#: stock/serializers.py:82 templates/email/build_order_completed.html:16 +#: stock/serializers.py:84 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:2892 msgid "Build Order" @@ -781,35 +782,39 @@ msgstr "" msgid "Assembly BOM has not been validated" msgstr "" -#: build/models.py:134 part/templates/part/part_base.html:145 -msgid "Part is not active" +#: build/models.py:134 +msgid "Build order cannot be created for an inactive part" +msgstr "" + +#: build/models.py:141 +msgid "Build order cannot be created for an unlocked part" msgstr "" -#: build/models.py:148 +#: build/models.py:155 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:159 order/models.py:240 +#: build/models.py:166 order/models.py:240 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:165 +#: build/models.py:172 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:226 +#: build/models.py:233 msgid "Build Order Reference" msgstr "" -#: build/models.py:227 order/models.py:463 order/models.py:926 -#: order/models.py:1289 order/models.py:2020 part/admin.py:411 -#: part/models.py:4085 part/templates/part/upload_bom.html:54 +#: build/models.py:234 build/serializers.py:1189 order/models.py:463 +#: order/models.py:926 order/models.py:1289 order/models.py:2046 +#: part/admin.py:411 part/models.py:4170 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: 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/build.js:2513 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2065 #: templates/js/translated/return_order.js:728 @@ -817,27 +822,28 @@ msgstr "" msgid "Reference" msgstr "" -#: build/models.py:238 +#: build/models.py:245 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:246 build/templates/build/build_base.html:183 +#: build/models.py:253 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/models.py:247 +#: build/models.py:254 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:252 build/templates/build/build_base.html:97 -#: build/templates/build/detail.html:29 company/models.py:1026 order/api.py:805 -#: order/models.py:1414 order/models.py:1559 order/models.py:1560 -#: part/api.py:1494 part/api.py:1788 part/models.py:395 part/models.py:3012 -#: part/models.py:3156 part/models.py:3303 part/models.py:3324 -#: part/models.py:3346 part/models.py:3477 part/models.py:3787 -#: part/models.py:3943 part/models.py:4036 part/models.py:4395 -#: part/serializers.py:1120 part/serializers.py:1726 +#: build/models.py:259 build/serializers.py:1184 +#: build/templates/build/build_base.html:97 +#: build/templates/build/detail.html:29 company/models.py:1034 order/api.py:759 +#: order/models.py:1419 order/models.py:1574 order/models.py:1575 +#: part/api.py:1480 part/api.py:1776 part/models.py:396 part/models.py:3022 +#: part/models.py:3166 part/models.py:3314 part/models.py:3335 +#: part/models.py:3357 part/models.py:3493 part/models.py:3827 +#: part/models.py:3990 part/models.py:4121 part/models.py:4480 +#: part/serializers.py:1148 part/serializers.py:1758 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -848,8 +854,8 @@ msgstr "" #: 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:109 stock/serializers.py:157 stock/serializers.py:423 -#: stock/serializers.py:820 templates/InvenTree/search.html:82 +#: stock/serializers.py:111 stock/serializers.py:159 stock/serializers.py:443 +#: stock/serializers.py:878 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 @@ -862,8 +868,8 @@ msgstr "" #: templates/js/translated/company.js:1116 #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 -#: templates/js/translated/part.js:1944 templates/js/translated/part.js:2016 -#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:1947 templates/js/translated/part.js:2019 +#: templates/js/translated/part.js:2327 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:1848 @@ -881,107 +887,107 @@ msgstr "" msgid "Part" msgstr "" -#: build/models.py:260 +#: build/models.py:267 msgid "Select part to build" msgstr "" -#: build/models.py:265 +#: build/models.py:272 msgid "Sales Order Reference" msgstr "" -#: build/models.py:269 +#: build/models.py:276 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:274 build/serializers.py:999 +#: build/models.py:281 build/serializers.py:1003 #: templates/js/translated/build.js:1731 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "" -#: build/models.py:278 +#: build/models.py:285 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:283 +#: build/models.py:290 msgid "Destination Location" msgstr "" -#: build/models.py:287 +#: build/models.py:294 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:291 +#: build/models.py:298 msgid "Build Quantity" msgstr "" -#: build/models.py:294 +#: build/models.py:301 msgid "Number of stock items to build" msgstr "" -#: build/models.py:298 +#: build/models.py:305 msgid "Completed items" msgstr "" -#: build/models.py:300 +#: build/models.py:307 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:304 +#: build/models.py:311 msgid "Build Status" msgstr "" -#: build/models.py:308 +#: build/models.py:315 msgid "Build status code" msgstr "" -#: build/models.py:317 build/serializers.py:286 order/serializers.py:580 -#: stock/models.py:839 stock/serializers.py:74 stock/serializers.py:1458 +#: build/models.py:324 build/serializers.py:290 order/serializers.py:629 +#: stock/models.py:839 stock/serializers.py:76 stock/serializers.py:1524 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "" -#: build/models.py:321 build/serializers.py:287 +#: build/models.py:328 build/serializers.py:291 msgid "Batch code for this build output" msgstr "" -#: build/models.py:324 order/models.py:316 order/serializers.py:119 -#: part/models.py:1115 part/templates/part/part_base.html:310 +#: build/models.py:331 order/models.py:316 order/serializers.py:127 +#: part/models.py:1125 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:328 +#: build/models.py:335 msgid "Target completion date" msgstr "" -#: build/models.py:329 +#: build/models.py:336 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:332 order/models.py:521 order/models.py:2065 +#: build/models.py:339 order/models.py:521 order/models.py:2091 #: templates/js/translated/build.js:2247 msgid "Completion Date" msgstr "" -#: build/models.py:338 +#: build/models.py:345 msgid "completed by" msgstr "" -#: build/models.py:346 templates/js/translated/build.js:2207 +#: build/models.py:353 templates/js/translated/build.js:2207 msgid "Issued by" msgstr "" -#: build/models.py:347 +#: build/models.py:354 msgid "User who issued this build order" msgstr "" -#: build/models.py:355 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 common/models.py:147 +#: build/models.py:362 build/templates/build/build_base.html:204 +#: build/templates/build/detail.html:122 common/models.py:152 #: order/models.py:334 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:232 part/models.py:1132 +#: order/templates/order/sales_order_base.html:232 part/models.py:1142 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 @@ -992,11 +998,11 @@ msgstr "" msgid "Responsible" msgstr "" -#: build/models.py:356 +#: build/models.py:363 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:361 build/templates/build/detail.html:108 +#: build/models.py:368 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 @@ -1008,21 +1014,22 @@ msgstr "" msgid "External Link" msgstr "" -#: build/models.py:362 common/models.py:3244 part/models.py:956 +#: build/models.py:369 common/models.py:3230 part/models.py:960 #: stock/models.py:835 msgid "Link to external URL" msgstr "" -#: build/models.py:366 +#: build/models.py:373 msgid "Build Priority" msgstr "" -#: build/models.py:369 +#: build/models.py:376 msgid "Priority of this build order" msgstr "" -#: build/models.py:376 common/models.py:131 order/admin.py:18 -#: order/models.py:298 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:383 common/models.py:122 common/models.py:136 +#: order/admin.py:18 order/models.py:298 order/serializers.py:108 +#: templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 #: templates/js/translated/purchase_order.js:1710 #: templates/js/translated/return_order.js:317 @@ -1032,65 +1039,66 @@ msgstr "" msgid "Project Code" msgstr "" -#: build/models.py:377 +#: build/models.py:384 msgid "Project code for this build order" msgstr "" -#: build/models.py:610 build/models.py:675 +#: build/models.py:617 build/models.py:682 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:632 +#: build/models.py:639 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:638 +#: build/models.py:645 msgid "A build order has been completed" msgstr "" -#: build/models.py:864 build/models.py:949 +#: build/models.py:871 build/models.py:956 msgid "No build output specified" msgstr "" -#: build/models.py:867 +#: build/models.py:874 msgid "Build output is already completed" msgstr "" -#: build/models.py:870 +#: build/models.py:877 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:953 build/serializers.py:219 build/serializers.py:268 -#: build/serializers.py:866 order/models.py:559 order/serializers.py:432 -#: order/serializers.py:575 part/serializers.py:1484 part/serializers.py:1884 -#: stock/models.py:678 stock/models.py:1496 stock/serializers.py:603 +#: build/models.py:960 build/serializers.py:223 build/serializers.py:272 +#: build/serializers.py:870 order/models.py:559 order/serializers.py:461 +#: order/serializers.py:624 part/serializers.py:1515 part/serializers.py:1921 +#: stock/models.py:678 stock/models.py:1496 stock/serializers.py:661 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:958 build/serializers.py:224 +#: build/models.py:965 build/serializers.py:228 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1018 build/serializers.py:547 +#: build/models.py:1025 build/serializers.py:551 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1359 +#: build/models.py:1366 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1384 +#: build/models.py:1391 msgid "Build object" msgstr "" -#: build/models.py:1398 build/models.py:1654 build/serializers.py:206 -#: build/serializers.py:253 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2563 -#: order/models.py:1272 order/models.py:1931 order/serializers.py:1327 +#: build/models.py:1405 build/models.py:1661 build/serializers.py:210 +#: build/serializers.py:257 build/serializers.py:1194 +#: build/templates/build/build_base.html:102 +#: build/templates/build/detail.html:34 common/models.py:2544 +#: order/models.py:1272 order/models.py:1957 order/serializers.py:1383 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:410 -#: part/forms.py:48 part/models.py:3170 part/models.py:4058 +#: part/forms.py:48 part/models.py:3180 part/models.py:4143 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1100,7 +1108,7 @@ msgstr "" #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:169 stock/admin.py:159 -#: stock/serializers.py:125 stock/serializers.py:165 stock/serializers.py:594 +#: stock/serializers.py:127 stock/serializers.py:167 stock/serializers.py:652 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 @@ -1111,8 +1119,8 @@ msgstr "" #: templates/js/translated/build.js:1746 templates/js/translated/build.js:2357 #: templates/js/translated/company.js:1818 #: templates/js/translated/model_renderers.js:236 -#: templates/js/translated/order.js:304 templates/js/translated/part.js:962 -#: templates/js/translated/part.js:1812 templates/js/translated/part.js:3342 +#: templates/js/translated/order.js:304 templates/js/translated/part.js:965 +#: templates/js/translated/part.js:1815 templates/js/translated/part.js:3345 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 @@ -1132,38 +1140,38 @@ msgstr "" msgid "Quantity" msgstr "" -#: build/models.py:1399 +#: build/models.py:1406 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1479 +#: build/models.py:1486 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1488 +#: build/models.py:1495 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1498 order/models.py:1882 +#: build/models.py:1505 order/models.py:1908 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1504 order/models.py:1885 +#: build/models.py:1511 order/models.py:1911 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1510 +#: build/models.py:1517 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1569 +#: build/models.py:1576 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1641 build/serializers.py:846 order/serializers.py:1171 -#: order/serializers.py:1192 stock/models.py:359 stock/serializers.py:91 -#: stock/serializers.py:697 stock/serializers.py:1177 stock/serializers.py:1289 +#: build/models.py:1648 build/serializers.py:850 order/serializers.py:1227 +#: order/serializers.py:1248 stock/models.py:359 stock/serializers.py:93 +#: stock/serializers.py:755 stock/serializers.py:1243 stock/serializers.py:1355 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 @@ -1179,70 +1187,76 @@ msgstr "" msgid "Stock Item" msgstr "" -#: build/models.py:1642 +#: build/models.py:1649 msgid "Source stock item" msgstr "" -#: build/models.py:1655 +#: build/models.py:1662 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1663 +#: build/models.py:1670 msgid "Install into" msgstr "" -#: build/models.py:1664 +#: build/models.py:1671 msgid "Destination stock item" msgstr "" -#: build/serializers.py:156 build/serializers.py:875 +#: build/serializers.py:89 build/serializers.py:1185 part/admin.py:41 +#: part/admin.py:405 part/models.py:3992 part/stocktake.py:220 +#: stock/admin.py:156 +msgid "Part Name" +msgstr "" + +#: build/serializers.py:160 build/serializers.py:879 #: templates/js/translated/build.js:1322 msgid "Build Output" msgstr "" -#: build/serializers.py:168 +#: build/serializers.py:172 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:172 +#: build/serializers.py:176 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:176 +#: build/serializers.py:180 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:187 +#: build/serializers.py:191 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:207 build/serializers.py:254 +#: build/serializers.py:211 build/serializers.py:258 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:275 +#: build/serializers.py:279 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:278 +#: build/serializers.py:282 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:293 order/serializers.py:588 order/serializers.py:1331 -#: stock/serializers.py:614 templates/js/translated/purchase_order.js:1153 +#: build/serializers.py:297 order/serializers.py:637 order/serializers.py:1387 +#: stock/serializers.py:672 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:294 +#: build/serializers.py:298 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:299 build/serializers.py:440 build/serializers.py:512 -#: order/serializers.py:564 order/serializers.py:672 order/serializers.py:1656 -#: part/serializers.py:1140 stock/serializers.py:100 stock/serializers.py:625 -#: stock/serializers.py:785 stock/serializers.py:881 stock/serializers.py:1321 -#: stock/serializers.py:1577 stock/templates/stock/item_base.html:394 +#: build/serializers.py:303 build/serializers.py:444 build/serializers.py:516 +#: order/serializers.py:613 order/serializers.py:721 order/serializers.py:1714 +#: part/serializers.py:1168 stock/serializers.py:102 stock/serializers.py:683 +#: stock/serializers.py:843 stock/serializers.py:939 stock/serializers.py:1387 +#: stock/serializers.py:1643 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 @@ -1258,54 +1272,54 @@ msgstr "" msgid "Location" msgstr "" -#: build/serializers.py:300 +#: build/serializers.py:304 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:314 +#: build/serializers.py:318 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:315 +#: build/serializers.py:319 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:330 +#: build/serializers.py:334 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:355 stock/api.py:1041 +#: build/serializers.py:359 stock/api.py:1033 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:402 build/serializers.py:464 build/serializers.py:553 +#: build/serializers.py:406 build/serializers.py:468 build/serializers.py:557 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:441 +#: build/serializers.py:445 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:447 +#: build/serializers.py:451 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:448 +#: build/serializers.py:452 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:453 +#: build/serializers.py:457 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:513 +#: build/serializers.py:517 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:519 build/templates/build/build_base.html:151 +#: build/serializers.py:523 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:950 -#: order/models.py:2044 order/serializers.py:596 stock/admin.py:164 -#: stock/serializers.py:932 stock/serializers.py:1465 +#: order/models.py:2070 order/serializers.py:645 stock/admin.py:164 +#: stock/serializers.py:990 stock/serializers.py:1531 #: 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 @@ -1317,193 +1331,241 @@ msgstr "" msgid "Status" msgstr "" -#: build/serializers.py:525 +#: build/serializers.py:529 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:526 +#: build/serializers.py:530 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:611 +#: build/serializers.py:615 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:612 +#: build/serializers.py:616 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:618 +#: build/serializers.py:622 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:619 +#: build/serializers.py:623 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:646 +#: build/serializers.py:650 msgid "Not permitted" msgstr "" -#: build/serializers.py:647 +#: build/serializers.py:651 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:648 +#: build/serializers.py:652 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:678 +#: build/serializers.py:682 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:680 +#: build/serializers.py:684 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:690 +#: build/serializers.py:694 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:695 +#: build/serializers.py:699 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:696 +#: build/serializers.py:700 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:706 templates/js/translated/build.js:315 +#: build/serializers.py:710 templates/js/translated/build.js:315 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:711 order/serializers.py:300 order/serializers.py:1234 +#: build/serializers.py:715 order/serializers.py:319 order/serializers.py:1290 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:712 +#: build/serializers.py:716 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:722 templates/js/translated/build.js:319 +#: build/serializers.py:726 templates/js/translated/build.js:319 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:731 templates/js/translated/build.js:303 +#: build/serializers.py:735 templates/js/translated/build.js:303 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:769 +#: build/serializers.py:773 msgid "Build Line" msgstr "" -#: build/serializers.py:779 +#: build/serializers.py:783 msgid "Build output" msgstr "" -#: build/serializers.py:787 +#: build/serializers.py:791 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:823 +#: build/serializers.py:827 msgid "Build Line Item" msgstr "" -#: build/serializers.py:837 +#: build/serializers.py:841 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:852 stock/serializers.py:1190 +#: build/serializers.py:856 stock/serializers.py:1256 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:900 order/serializers.py:1225 +#: build/serializers.py:904 order/serializers.py:1281 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:906 +#: build/serializers.py:910 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:913 +#: build/serializers.py:917 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:937 order/serializers.py:1477 +#: build/serializers.py:941 order/serializers.py:1533 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:1000 +#: build/serializers.py:1004 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:1008 +#: build/serializers.py:1012 msgid "Exclude Location" msgstr "" -#: build/serializers.py:1009 +#: build/serializers.py:1013 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:1014 +#: build/serializers.py:1018 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:1015 +#: build/serializers.py:1019 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:1020 +#: build/serializers.py:1024 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:1021 +#: build/serializers.py:1025 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:1026 +#: build/serializers.py:1030 msgid "Optional Items" msgstr "" -#: build/serializers.py:1027 +#: build/serializers.py:1031 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1049 +#: build/serializers.py:1053 msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1139 part/models.py:3953 part/models.py:4387 -#: stock/api.py:804 +#: build/serializers.py:1095 +msgid "Supplier Part Number" +msgstr "" + +#: build/serializers.py:1096 company/models.py:500 +msgid "Manufacturer Part Number" +msgstr "" + +#: build/serializers.py:1097 stock/admin.py:53 stock/admin.py:175 +#: stock/serializers.py:454 +msgid "Location Name" +msgstr "" + +#: build/serializers.py:1098 +msgid "Build Reference" +msgstr "" + +#: build/serializers.py:1099 +msgid "BOM Reference" +msgstr "" + +#: build/serializers.py:1186 part/admin.py:402 part/models.py:3993 +msgid "Part IPN" +msgstr "" + +#: build/serializers.py:1192 common/models.py:1488 part/admin.py:113 +#: part/models.py:1068 templates/js/translated/table_filters.js:147 +#: templates/js/translated/table_filters.js:223 +#: templates/js/translated/table_filters.js:776 +msgid "Trackable" +msgstr "" + +#: build/serializers.py:1196 part/models.py:4000 part/models.py:4472 +#: stock/api.py:796 msgid "BOM Item" msgstr "" -#: build/serializers.py:1148 templates/js/translated/index.js:130 +#: build/serializers.py:1205 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1153 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:828 part/serializers.py:1502 +#: build/serializers.py:1210 part/admin.py:132 part/bom.py:173 +#: part/serializers.py:856 part/serializers.py:1533 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2613 templates/js/translated/part.js:710 -#: templates/js/translated/part.js:2149 +#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709 +#: templates/js/translated/part.js:2152 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "" -#: build/serializers.py:1158 part/serializers.py:1504 -#: templates/js/translated/build.js:2617 +#: build/serializers.py:1215 part/serializers.py:1535 +#: templates/js/translated/build.js:2618 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1163 part/bom.py:172 part/serializers.py:1527 +#: build/serializers.py:1220 part/bom.py:172 part/serializers.py:1558 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" msgstr "" +#: build/serializers.py:1224 +msgid "Available Substitute Stock" +msgstr "" + +#: build/serializers.py:1225 +msgid "Available Variant Stock" +msgstr "" + +#: build/serializers.py:1226 +msgid "Total Available Stock" +msgstr "" + +#: build/serializers.py:1227 part/serializers.py:862 +msgid "External Stock" +msgstr "" + #: build/status_codes.py:11 generic/states/tests.py:17 order/status_codes.py:12 #: order/status_codes.py:37 order/status_codes.py:64 order/status_codes.py:82 #: templates/js/translated/table_filters.js:598 @@ -1519,7 +1581,8 @@ msgstr "" msgid "Cancelled" msgstr "" -#: build/status_codes.py:14 generic/states/tests.py:19 order/status_codes.py:14 +#: build/status_codes.py:14 generic/states/tests.py:19 importer/models.py:468 +#: importer/status_codes.py:19 order/status_codes.py:14 #: order/status_codes.py:44 order/status_codes.py:69 #: order/templates/order/order_base.html:158 #: order/templates/order/sales_order_base.html:165 report/models.py:444 @@ -1652,11 +1715,12 @@ msgstr "" #: build/templates/build/build_base.html:160 #: build/templates/build/detail.html:138 order/models.py:309 -#: order/models.py:1307 order/templates/order/order_base.html:186 +#: order/models.py:1307 order/serializers.py:174 +#: order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: 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:1831 +#: templates/js/translated/build.js:2239 templates/js/translated/part.js:1834 #: templates/js/translated/purchase_order.js:1739 #: templates/js/translated/purchase_order.js:2147 #: templates/js/translated/return_order.js:346 @@ -1689,8 +1753,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1463 order/models.py:845 -#: order/models.py:1551 order/models.py:1665 order/models.py:1819 +#: build/templates/build/detail.html:101 order/api.py:1384 order/models.py:845 +#: order/models.py:1566 order/models.py:1681 order/models.py:1840 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 @@ -1740,7 +1804,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1443 +#: build/templates/build/detail.html:49 order/models.py:1448 #: templates/js/translated/purchase_order.js:2189 msgid "Destination" msgstr "" @@ -1892,31 +1956,31 @@ msgstr "" msgid "Incomplete Outputs" msgstr "" -#: common/api.py:689 +#: common/api.py:690 msgid "Is Link" msgstr "" -#: common/api.py:697 +#: common/api.py:698 msgid "Is File" msgstr "" -#: common/api.py:739 +#: common/api.py:740 msgid "User does not have permission to delete this attachment" msgstr "" -#: common/currency.py:130 +#: common/currency.py:132 msgid "Invalid currency code" msgstr "" -#: common/currency.py:132 +#: common/currency.py:134 msgid "Duplicate currency code" msgstr "" -#: common/currency.py:137 +#: common/currency.py:139 msgid "No valid currency codes provided" msgstr "" -#: common/currency.py:154 +#: common/currency.py:156 msgid "No plugin" msgstr "" @@ -1970,1635 +2034,1604 @@ msgstr "" msgid "Site URL is locked by configuration" msgstr "" -#: common/models.py:132 +#: common/models.py:137 msgid "Unique project code" msgstr "" -#: common/models.py:139 +#: common/models.py:144 msgid "Project description" msgstr "" -#: common/models.py:148 +#: common/models.py:153 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:765 +#: common/models.py:770 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:769 +#: common/models.py:774 msgid "Settings value" msgstr "" -#: common/models.py:821 +#: common/models.py:826 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:837 +#: common/models.py:842 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:845 +#: common/models.py:850 msgid "Value must be an integer value" msgstr "" -#: common/models.py:882 +#: common/models.py:887 msgid "Key string must be unique" msgstr "" -#: common/models.py:1114 +#: common/models.py:1119 msgid "No group" msgstr "" -#: common/models.py:1213 +#: common/models.py:1218 msgid "Restart required" msgstr "" -#: common/models.py:1215 +#: common/models.py:1220 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:1222 +#: common/models.py:1227 msgid "Pending migrations" msgstr "" -#: common/models.py:1223 +#: common/models.py:1228 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1228 +#: common/models.py:1233 msgid "Server Instance Name" msgstr "" -#: common/models.py:1230 +#: common/models.py:1235 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1234 +#: common/models.py:1239 msgid "Use instance name" msgstr "" -#: common/models.py:1235 +#: common/models.py:1240 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1240 +#: common/models.py:1245 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1241 +#: common/models.py:1246 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1246 company/models.py:111 company/models.py:112 +#: common/models.py:1251 company/models.py:111 company/models.py:112 msgid "Company name" msgstr "" -#: common/models.py:1247 +#: common/models.py:1252 msgid "Internal company name" msgstr "" -#: common/models.py:1251 +#: common/models.py:1256 msgid "Base URL" msgstr "" -#: common/models.py:1252 +#: common/models.py:1257 msgid "Base URL for server instance" msgstr "" -#: common/models.py:1258 +#: common/models.py:1263 msgid "Default Currency" msgstr "" -#: common/models.py:1259 +#: common/models.py:1264 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1265 +#: common/models.py:1270 msgid "Supported Currencies" msgstr "" -#: common/models.py:1266 +#: common/models.py:1271 msgid "List of supported currency codes" msgstr "" -#: common/models.py:1272 +#: common/models.py:1277 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1274 +#: common/models.py:1279 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1277 common/models.py:1333 common/models.py:1346 -#: common/models.py:1354 common/models.py:1363 common/models.py:1372 -#: common/models.py:1596 common/models.py:1618 common/models.py:1733 -#: common/models.py:2100 +#: common/models.py:1282 common/models.py:1338 common/models.py:1351 +#: common/models.py:1359 common/models.py:1368 common/models.py:1377 +#: common/models.py:1601 common/models.py:1623 common/models.py:1738 +#: common/models.py:2111 msgid "days" msgstr "" -#: common/models.py:1281 +#: common/models.py:1286 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1282 +#: common/models.py:1287 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1287 +#: common/models.py:1292 msgid "Download from URL" msgstr "" -#: common/models.py:1289 +#: common/models.py:1294 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:1295 +#: common/models.py:1300 msgid "Download Size Limit" msgstr "" -#: common/models.py:1296 +#: common/models.py:1301 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1302 +#: common/models.py:1307 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1304 +#: common/models.py:1309 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/models.py:1309 +#: common/models.py:1314 msgid "Strict URL Validation" msgstr "" -#: common/models.py:1310 +#: common/models.py:1315 msgid "Require schema specification when validating URLs" msgstr "" -#: common/models.py:1315 +#: common/models.py:1320 msgid "Require confirm" msgstr "" -#: common/models.py:1316 +#: common/models.py:1321 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:1321 +#: common/models.py:1326 msgid "Tree Depth" msgstr "" -#: common/models.py:1323 +#: common/models.py:1328 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1329 +#: common/models.py:1334 msgid "Update Check Interval" msgstr "" -#: common/models.py:1330 +#: common/models.py:1335 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:1336 +#: common/models.py:1341 msgid "Automatic Backup" msgstr "" -#: common/models.py:1337 +#: common/models.py:1342 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:1342 +#: common/models.py:1347 msgid "Auto Backup Interval" msgstr "" -#: common/models.py:1343 +#: common/models.py:1348 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1349 +#: common/models.py:1354 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1351 +#: common/models.py:1356 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1358 +#: common/models.py:1363 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1360 +#: common/models.py:1365 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1367 +#: common/models.py:1372 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1369 +#: common/models.py:1374 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1376 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1381 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "" -#: common/models.py:1377 +#: common/models.py:1382 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1382 +#: common/models.py:1387 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1383 +#: common/models.py:1388 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1389 +#: common/models.py:1394 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1390 +#: common/models.py:1395 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1395 +#: common/models.py:1400 msgid "Barcode Show Data" msgstr "" -#: common/models.py:1396 +#: common/models.py:1401 msgid "Display barcode data in browser as text" msgstr "" -#: common/models.py:1401 +#: common/models.py:1406 msgid "Part Revisions" msgstr "" -#: common/models.py:1402 +#: common/models.py:1407 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1407 +#: common/models.py:1412 msgid "Allow Deletion from Assembly" msgstr "" -#: common/models.py:1408 +#: common/models.py:1413 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/models.py:1413 +#: common/models.py:1418 msgid "IPN Regex" msgstr "" -#: common/models.py:1414 +#: common/models.py:1419 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1417 +#: common/models.py:1422 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1418 +#: common/models.py:1423 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1423 +#: common/models.py:1428 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1424 +#: common/models.py:1429 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1429 +#: common/models.py:1434 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1430 +#: common/models.py:1435 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1435 +#: common/models.py:1440 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1436 +#: common/models.py:1441 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1441 +#: common/models.py:1446 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1442 +#: common/models.py:1447 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1447 +#: common/models.py:1452 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1448 +#: common/models.py:1453 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1453 part/admin.py:108 part/models.py:3795 +#: common/models.py:1458 part/admin.py:108 part/models.py:3835 #: report/models.py:294 report/models.py:361 report/serializers.py:90 -#: report/serializers.py:131 stock/serializers.py:227 +#: report/serializers.py:131 stock/serializers.py:232 #: templates/js/translated/table_filters.js:139 -#: templates/js/translated/table_filters.js:767 +#: templates/js/translated/table_filters.js:772 msgid "Template" msgstr "" -#: common/models.py:1454 +#: common/models.py:1459 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1459 part/admin.py:91 part/admin.py:425 part/models.py:1052 +#: common/models.py:1464 part/admin.py:91 part/admin.py:425 part/models.py:1056 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 -#: templates/js/translated/table_filters.js:721 +#: templates/js/translated/table_filters.js:726 msgid "Assembly" msgstr "" -#: common/models.py:1460 +#: common/models.py:1465 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1465 part/admin.py:95 part/models.py:1058 -#: templates/js/translated/table_filters.js:729 +#: common/models.py:1470 part/admin.py:95 part/models.py:1062 +#: templates/js/translated/table_filters.js:734 msgid "Component" msgstr "" -#: common/models.py:1466 +#: common/models.py:1471 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1471 part/admin.py:100 part/models.py:1070 +#: common/models.py:1476 part/admin.py:100 part/models.py:1074 msgid "Purchaseable" msgstr "" -#: common/models.py:1472 +#: common/models.py:1477 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1477 part/admin.py:104 part/models.py:1076 -#: templates/js/translated/table_filters.js:755 +#: common/models.py:1482 part/admin.py:104 part/models.py:1080 +#: templates/js/translated/table_filters.js:760 msgid "Salable" msgstr "" -#: common/models.py:1478 +#: common/models.py:1483 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1483 part/admin.py:113 part/models.py:1064 -#: 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:1484 +#: common/models.py:1489 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1489 part/admin.py:117 part/models.py:1086 +#: common/models.py:1494 part/admin.py:117 part/models.py:1096 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 -#: templates/js/translated/table_filters.js:775 +#: templates/js/translated/table_filters.js:780 msgid "Virtual" msgstr "" -#: common/models.py:1490 +#: common/models.py:1495 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1495 +#: common/models.py:1500 msgid "Show Import in Views" msgstr "" -#: common/models.py:1496 +#: common/models.py:1501 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1501 +#: common/models.py:1506 msgid "Show related parts" msgstr "" -#: common/models.py:1502 +#: common/models.py:1507 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1507 +#: common/models.py:1512 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1508 +#: common/models.py:1513 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1513 templates/js/translated/part.js:107 +#: common/models.py:1518 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1515 +#: common/models.py:1520 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1521 +#: common/models.py:1526 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1522 +#: common/models.py:1527 msgid "Format to display the part name" msgstr "" -#: common/models.py:1528 +#: common/models.py:1533 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1529 +#: common/models.py:1534 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1533 +#: common/models.py:1538 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1535 +#: common/models.py:1540 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1541 +#: common/models.py:1546 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1543 +#: common/models.py:1548 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1554 +#: common/models.py:1559 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1556 +#: common/models.py:1561 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1567 +#: common/models.py:1572 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1569 +#: common/models.py:1574 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1575 +#: common/models.py:1580 msgid "Purchase History Override" msgstr "" -#: common/models.py:1577 +#: common/models.py:1582 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1583 +#: common/models.py:1588 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1585 +#: common/models.py:1590 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1591 +#: common/models.py:1596 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1593 +#: common/models.py:1598 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1600 +#: common/models.py:1605 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1601 +#: common/models.py:1606 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1606 +#: common/models.py:1611 msgid "Active Variants Only" msgstr "" -#: common/models.py:1608 +#: common/models.py:1613 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1614 +#: common/models.py:1619 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1616 +#: common/models.py:1621 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1623 +#: common/models.py:1628 msgid "Internal Prices" msgstr "" -#: common/models.py:1624 +#: common/models.py:1629 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1629 +#: common/models.py:1634 msgid "Internal Price Override" msgstr "" -#: common/models.py:1631 +#: common/models.py:1636 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1637 +#: common/models.py:1642 msgid "Enable label printing" msgstr "" -#: common/models.py:1638 +#: common/models.py:1643 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1643 +#: common/models.py:1648 msgid "Label Image DPI" msgstr "" -#: common/models.py:1645 +#: common/models.py:1650 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1651 +#: common/models.py:1656 msgid "Enable Reports" msgstr "" -#: common/models.py:1652 +#: common/models.py:1657 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1657 templates/stats.html:25 +#: common/models.py:1662 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1658 +#: common/models.py:1663 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1663 +#: common/models.py:1668 msgid "Log Report Errors" msgstr "" -#: common/models.py:1664 +#: common/models.py:1669 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1669 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1674 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:302 msgid "Page Size" msgstr "" -#: common/models.py:1670 +#: common/models.py:1675 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1675 +#: common/models.py:1680 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1676 +#: common/models.py:1681 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1681 +#: common/models.py:1686 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1683 +#: common/models.py:1688 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1689 +#: common/models.py:1694 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1690 +#: common/models.py:1695 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1695 +#: common/models.py:1700 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1696 +#: common/models.py:1701 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1701 +#: common/models.py:1706 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1703 +#: common/models.py:1708 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1709 +#: common/models.py:1714 msgid "Batch Code Template" msgstr "" -#: common/models.py:1711 +#: common/models.py:1716 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1716 +#: common/models.py:1721 msgid "Stock Expiry" msgstr "" -#: common/models.py:1717 +#: common/models.py:1722 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1722 +#: common/models.py:1727 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1723 +#: common/models.py:1728 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1728 +#: common/models.py:1733 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1730 +#: common/models.py:1735 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1737 +#: common/models.py:1742 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1738 +#: common/models.py:1743 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1743 +#: common/models.py:1748 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1744 +#: common/models.py:1749 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1749 +#: common/models.py:1754 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1750 +#: common/models.py:1755 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1754 +#: common/models.py:1759 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1755 +#: common/models.py:1760 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1760 +#: common/models.py:1765 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1762 +#: common/models.py:1767 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1768 +#: common/models.py:1773 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1770 +#: common/models.py:1775 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1776 +#: common/models.py:1781 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1778 +#: common/models.py:1783 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1784 common/models.py:1826 common/models.py:1848 -#: common/models.py:1884 +#: common/models.py:1789 common/models.py:1837 common/models.py:1859 +#: common/models.py:1895 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1785 common/models.py:1827 common/models.py:1849 -#: common/models.py:1885 +#: common/models.py:1790 common/models.py:1838 common/models.py:1860 +#: common/models.py:1896 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1790 +#: common/models.py:1795 msgid "Require Active Part" msgstr "" -#: common/models.py:1791 +#: common/models.py:1796 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/models.py:1796 +#: common/models.py:1801 +msgid "Require Locked Part" +msgstr "" + +#: common/models.py:1802 +msgid "Prevent build order creation for unlocked parts" +msgstr "" + +#: common/models.py:1807 msgid "Require Valid BOM" msgstr "" -#: common/models.py:1798 +#: common/models.py:1809 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/models.py:1804 +#: common/models.py:1815 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1806 +#: common/models.py:1817 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1812 +#: common/models.py:1823 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1813 +#: common/models.py:1824 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1818 +#: common/models.py:1829 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1820 +#: common/models.py:1831 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1832 +#: common/models.py:1843 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1834 +#: common/models.py:1845 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1840 +#: common/models.py:1851 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1842 +#: common/models.py:1853 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1854 +#: common/models.py:1865 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1855 +#: common/models.py:1866 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1860 +#: common/models.py:1871 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1862 +#: common/models.py:1873 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1868 +#: common/models.py:1879 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1870 +#: common/models.py:1881 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1876 +#: common/models.py:1887 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1878 +#: common/models.py:1889 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1890 +#: common/models.py:1901 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1892 +#: common/models.py:1903 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1898 +#: common/models.py:1909 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1900 +#: common/models.py:1911 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1907 +#: common/models.py:1918 msgid "Enable password forgot" msgstr "" -#: common/models.py:1908 +#: common/models.py:1919 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1913 +#: common/models.py:1924 msgid "Enable registration" msgstr "" -#: common/models.py:1914 +#: common/models.py:1925 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1919 +#: common/models.py:1930 msgid "Enable SSO" msgstr "" -#: common/models.py:1920 +#: common/models.py:1931 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1925 +#: common/models.py:1936 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1927 +#: common/models.py:1938 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1933 +#: common/models.py:1944 msgid "Enable SSO group sync" msgstr "" -#: common/models.py:1935 +#: common/models.py:1946 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/models.py:1941 +#: common/models.py:1952 msgid "SSO group key" msgstr "" -#: common/models.py:1943 +#: common/models.py:1954 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/models.py:1949 +#: common/models.py:1960 msgid "SSO group map" msgstr "" -#: common/models.py:1951 +#: common/models.py:1962 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/models.py:1957 +#: common/models.py:1968 msgid "Remove groups outside of SSO" msgstr "" -#: common/models.py:1959 +#: common/models.py:1970 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/models.py:1965 +#: common/models.py:1976 msgid "Email required" msgstr "" -#: common/models.py:1966 +#: common/models.py:1977 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1971 +#: common/models.py:1982 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1973 +#: common/models.py:1984 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1979 +#: common/models.py:1990 msgid "Mail twice" msgstr "" -#: common/models.py:1980 +#: common/models.py:1991 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1985 +#: common/models.py:1996 msgid "Password twice" msgstr "" -#: common/models.py:1986 +#: common/models.py:1997 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1991 +#: common/models.py:2002 msgid "Allowed domains" msgstr "" -#: common/models.py:1993 +#: common/models.py:2004 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1999 +#: common/models.py:2010 msgid "Group on signup" msgstr "" -#: common/models.py:2001 +#: common/models.py:2012 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/models.py:2007 +#: common/models.py:2018 msgid "Enforce MFA" msgstr "" -#: common/models.py:2008 +#: common/models.py:2019 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:2013 +#: common/models.py:2024 msgid "Check plugins on startup" msgstr "" -#: common/models.py:2015 +#: common/models.py:2026 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:2023 +#: common/models.py:2034 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2024 +#: common/models.py:2035 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2030 +#: common/models.py:2041 msgid "Enable URL integration" msgstr "" -#: common/models.py:2031 +#: common/models.py:2042 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:2037 +#: common/models.py:2048 msgid "Enable navigation integration" msgstr "" -#: common/models.py:2038 +#: common/models.py:2049 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2044 +#: common/models.py:2055 msgid "Enable app integration" msgstr "" -#: common/models.py:2045 +#: common/models.py:2056 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2051 +#: common/models.py:2062 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2052 +#: common/models.py:2063 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2058 +#: common/models.py:2069 msgid "Enable event integration" msgstr "" -#: common/models.py:2059 +#: common/models.py:2070 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2065 +#: common/models.py:2076 msgid "Enable project codes" msgstr "" -#: common/models.py:2066 +#: common/models.py:2077 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2071 +#: common/models.py:2082 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2073 +#: common/models.py:2084 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2079 +#: common/models.py:2090 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2081 +#: common/models.py:2092 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2087 +#: common/models.py:2098 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2089 +#: common/models.py:2100 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2095 +#: common/models.py:2106 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2097 +#: common/models.py:2108 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2104 +#: common/models.py:2115 msgid "Display Users full names" msgstr "" -#: common/models.py:2105 +#: common/models.py:2116 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2110 +#: common/models.py:2121 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2111 +#: common/models.py:2122 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2123 common/models.py:2533 +#: common/models.py:2134 common/models.py:2514 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2166 +#: common/models.py:2177 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2168 +#: common/models.py:2179 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2174 +#: common/models.py:2185 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2175 +#: common/models.py:2186 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2180 +#: common/models.py:2191 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2181 +#: common/models.py:2192 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2186 +#: common/models.py:2197 msgid "Show latest parts" msgstr "" -#: common/models.py:2187 +#: common/models.py:2198 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2192 +#: common/models.py:2203 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2193 +#: common/models.py:2204 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2198 +#: common/models.py:2209 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2199 +#: common/models.py:2210 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2204 +#: common/models.py:2215 msgid "Show low stock" msgstr "" -#: common/models.py:2205 +#: common/models.py:2216 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2210 +#: common/models.py:2221 msgid "Show depleted stock" msgstr "" -#: common/models.py:2211 +#: common/models.py:2222 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2216 +#: common/models.py:2227 msgid "Show needed stock" msgstr "" -#: common/models.py:2217 +#: common/models.py:2228 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2222 +#: common/models.py:2233 msgid "Show expired stock" msgstr "" -#: common/models.py:2223 +#: common/models.py:2234 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2228 +#: common/models.py:2239 msgid "Show stale stock" msgstr "" -#: common/models.py:2229 +#: common/models.py:2240 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2234 +#: common/models.py:2245 msgid "Show pending builds" msgstr "" -#: common/models.py:2235 +#: common/models.py:2246 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2240 +#: common/models.py:2251 msgid "Show overdue builds" msgstr "" -#: common/models.py:2241 +#: common/models.py:2252 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2246 +#: common/models.py:2257 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2247 +#: common/models.py:2258 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2252 +#: common/models.py:2263 msgid "Show overdue POs" msgstr "" -#: common/models.py:2253 +#: common/models.py:2264 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2258 +#: common/models.py:2269 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2259 +#: common/models.py:2270 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2264 +#: common/models.py:2275 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2265 +#: common/models.py:2276 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2270 +#: common/models.py:2281 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2271 +#: common/models.py:2282 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2276 +#: common/models.py:2287 msgid "Show News" msgstr "" -#: common/models.py:2277 +#: common/models.py:2288 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2282 +#: common/models.py:2293 msgid "Inline label display" msgstr "" -#: common/models.py:2284 +#: common/models.py:2295 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2290 +#: common/models.py:2301 msgid "Default label printer" msgstr "" -#: common/models.py:2292 +#: common/models.py:2303 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2298 +#: common/models.py:2309 msgid "Inline report display" msgstr "" -#: common/models.py:2300 +#: common/models.py:2311 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2306 +#: common/models.py:2317 msgid "Search Parts" msgstr "" -#: common/models.py:2307 +#: common/models.py:2318 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2312 +#: common/models.py:2323 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2313 +#: common/models.py:2324 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2318 +#: common/models.py:2329 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2319 +#: common/models.py:2330 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2324 +#: common/models.py:2335 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2325 +#: common/models.py:2336 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2330 +#: common/models.py:2341 msgid "Search Categories" msgstr "" -#: common/models.py:2331 +#: common/models.py:2342 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2336 +#: common/models.py:2347 msgid "Search Stock" msgstr "" -#: common/models.py:2337 +#: common/models.py:2348 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2342 +#: common/models.py:2353 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2344 +#: common/models.py:2355 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2350 +#: common/models.py:2361 msgid "Search Locations" msgstr "" -#: common/models.py:2351 +#: common/models.py:2362 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2356 +#: common/models.py:2367 msgid "Search Companies" msgstr "" -#: common/models.py:2357 +#: common/models.py:2368 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2362 +#: common/models.py:2373 msgid "Search Build Orders" msgstr "" -#: common/models.py:2363 +#: common/models.py:2374 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2368 +#: common/models.py:2379 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2369 +#: common/models.py:2380 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2374 +#: common/models.py:2385 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2376 +#: common/models.py:2387 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2382 +#: common/models.py:2393 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2383 +#: common/models.py:2394 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2388 +#: common/models.py:2399 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2390 +#: common/models.py:2401 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2396 +#: common/models.py:2407 msgid "Search Return Orders" msgstr "" -#: common/models.py:2397 +#: common/models.py:2408 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2402 +#: common/models.py:2413 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2404 +#: common/models.py:2415 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2410 +#: common/models.py:2421 msgid "Search Preview Results" msgstr "" -#: common/models.py:2412 +#: common/models.py:2423 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2418 +#: common/models.py:2429 msgid "Regex Search" msgstr "" -#: common/models.py:2419 +#: common/models.py:2430 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2424 +#: common/models.py:2435 msgid "Whole Word Search" msgstr "" -#: common/models.py:2425 +#: common/models.py:2436 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2430 +#: common/models.py:2441 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2431 +#: common/models.py:2442 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2436 +#: common/models.py:2447 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2437 +#: common/models.py:2448 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2442 +#: common/models.py:2453 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2443 +#: common/models.py:2454 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2448 +#: common/models.py:2459 msgid "Date Format" msgstr "" -#: common/models.py:2449 +#: common/models.py:2460 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2462 part/templates/part/detail.html:41 +#: common/models.py:2473 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2463 +#: common/models.py:2474 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2468 part/templates/part/detail.html:62 +#: common/models.py:2479 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2470 +#: common/models.py:2481 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2476 +#: common/models.py:2487 msgid "Table String Length" msgstr "" -#: common/models.py:2478 +#: common/models.py:2489 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2484 -msgid "Default part label template" -msgstr "" - -#: common/models.py:2485 -msgid "The part label template to be automatically selected" -msgstr "" - -#: common/models.py:2490 -msgid "Default stock item template" -msgstr "" - -#: common/models.py:2492 -msgid "The stock item label template to be automatically selected" -msgstr "" - -#: common/models.py:2498 -msgid "Default stock location label template" -msgstr "" - -#: common/models.py:2500 -msgid "The stock location label template to be automatically selected" -msgstr "" - -#: common/models.py:2506 -msgid "Default build line label template" -msgstr "" - -#: common/models.py:2508 -msgid "The build line label template to be automatically selected" -msgstr "" - -#: common/models.py:2514 +#: common/models.py:2495 msgid "Receive error reports" msgstr "" -#: common/models.py:2515 +#: common/models.py:2496 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2520 +#: common/models.py:2501 msgid "Last used printing machines" msgstr "" -#: common/models.py:2521 +#: common/models.py:2502 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2541 common/models.py:2542 common/models.py:2691 -#: common/models.py:2692 common/models.py:2937 common/models.py:2938 -#: common/models.py:3259 common/models.py:3260 part/models.py:3193 -#: part/models.py:3280 part/models.py:3353 part/models.py:3381 -#: plugin/models.py:274 plugin/models.py:275 +#: common/models.py:2522 common/models.py:2523 common/models.py:2672 +#: common/models.py:2673 common/models.py:2918 common/models.py:2919 +#: common/models.py:3245 common/models.py:3246 importer/models.py:85 +#: part/models.py:3203 part/models.py:3290 part/models.py:3364 +#: part/models.py:3392 plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 msgid "User" msgstr "" -#: common/models.py:2564 +#: common/models.py:2545 msgid "Price break quantity" msgstr "" -#: common/models.py:2571 company/serializers.py:472 order/admin.py:42 -#: order/models.py:1346 order/models.py:2265 -#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1886 +#: common/models.py:2552 company/serializers.py:502 order/admin.py:42 +#: order/models.py:1346 order/models.py:2292 +#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1889 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:740 msgid "Price" msgstr "" -#: common/models.py:2572 +#: common/models.py:2553 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2668 common/models.py:2853 +#: common/models.py:2649 common/models.py:2834 msgid "Endpoint" msgstr "" -#: common/models.py:2669 +#: common/models.py:2650 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2679 +#: common/models.py:2660 msgid "Name for this webhook" msgstr "" -#: common/models.py:2683 +#: common/models.py:2664 msgid "Is this webhook active" msgstr "" -#: common/models.py:2699 users/models.py:159 +#: common/models.py:2680 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2700 +#: common/models.py:2681 msgid "Token for access" msgstr "" -#: common/models.py:2708 +#: common/models.py:2689 msgid "Secret" msgstr "" -#: common/models.py:2709 +#: common/models.py:2690 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2817 +#: common/models.py:2798 msgid "Message ID" msgstr "" -#: common/models.py:2818 +#: common/models.py:2799 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2826 +#: common/models.py:2807 msgid "Host" msgstr "" -#: common/models.py:2827 +#: common/models.py:2808 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2835 +#: common/models.py:2816 msgid "Header" msgstr "" -#: common/models.py:2836 +#: common/models.py:2817 msgid "Header of this message" msgstr "" -#: common/models.py:2843 +#: common/models.py:2824 msgid "Body" msgstr "" -#: common/models.py:2844 +#: common/models.py:2825 msgid "Body of this message" msgstr "" -#: common/models.py:2854 +#: common/models.py:2835 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2859 +#: common/models.py:2840 msgid "Worked on" msgstr "" -#: common/models.py:2860 +#: common/models.py:2841 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2986 +#: common/models.py:2967 msgid "Id" msgstr "" -#: common/models.py:2988 templates/js/translated/company.js:965 +#: common/models.py:2969 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2990 common/models.py:3243 company/models.py:149 -#: company/models.py:440 company/models.py:500 company/models.py:799 -#: order/models.py:303 order/models.py:1301 order/models.py:1717 -#: part/admin.py:55 part/models.py:955 +#: common/models.py:2971 common/models.py:3229 company/models.py:149 +#: company/models.py:446 company/models.py:506 company/models.py:806 +#: order/models.py:303 order/models.py:1301 order/models.py:1733 +#: part/admin.py:55 part/models.py:959 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:229 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/part.js:2459 #: templates/js/translated/purchase_order.js:2040 #: templates/js/translated/purchase_order.js:2204 #: templates/js/translated/return_order.js:779 @@ -3607,28 +3640,28 @@ msgstr "" msgid "Link" msgstr "" -#: common/models.py:2992 templates/js/translated/news.js:60 +#: common/models.py:2973 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2994 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2975 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:2996 templates/js/translated/news.js:52 +#: common/models.py:2977 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2999 +#: common/models.py:2980 msgid "Read" msgstr "" -#: common/models.py:2999 +#: common/models.py:2980 msgid "Was this news item read?" msgstr "" -#: common/models.py:3016 company/models.py:159 part/models.py:965 +#: common/models.py:2997 company/models.py:159 part/models.py:969 #: 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.html:35 @@ -3638,90 +3671,94 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:3016 +#: common/models.py:2997 msgid "Image file" msgstr "" -#: common/models.py:3028 common/models.py:3227 +#: common/models.py:3009 common/models.py:3213 msgid "Target model type for this image" msgstr "" -#: common/models.py:3032 +#: common/models.py:3013 msgid "Target model ID for this image" msgstr "" -#: common/models.py:3070 +#: common/models.py:3035 +msgid "Custom Unit" +msgstr "" + +#: common/models.py:3056 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:3085 +#: common/models.py:3071 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3104 +#: common/models.py:3090 msgid "Unit name" msgstr "" -#: common/models.py:3111 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3097 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3112 +#: common/models.py:3098 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3118 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3104 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3119 +#: common/models.py:3105 msgid "Unit definition" msgstr "" -#: common/models.py:3177 common/models.py:3234 stock/models.py:2461 +#: common/models.py:3163 common/models.py:3220 stock/models.py:2471 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" msgstr "" -#: common/models.py:3189 +#: common/models.py:3175 msgid "Missing file" msgstr "" -#: common/models.py:3190 +#: common/models.py:3176 msgid "Missing external link" msgstr "" -#: common/models.py:3235 +#: common/models.py:3221 msgid "Select file to attach" msgstr "" -#: common/models.py:3250 templates/js/translated/attachment.js:120 +#: common/models.py:3236 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" msgstr "" -#: common/models.py:3251 +#: common/models.py:3237 msgid "Attachment comment" msgstr "" -#: common/models.py:3267 +#: common/models.py:3253 msgid "Upload date" msgstr "" -#: common/models.py:3268 +#: common/models.py:3254 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:3272 +#: common/models.py:3258 msgid "File size" msgstr "" -#: common/models.py:3272 +#: common/models.py:3258 msgid "File size in bytes" msgstr "" -#: common/models.py:3310 common/serializers.py:553 +#: common/models.py:3296 common/serializers.py:557 msgid "Invalid model type specified for attachment" msgstr "" @@ -3743,7 +3780,7 @@ msgstr "" msgid "A order that is assigned to you was canceled" msgstr "" -#: common/notifications.py:330 common/notifications.py:337 order/api.py:472 +#: common/notifications.py:330 common/notifications.py:337 order/api.py:454 msgid "Items Received" msgstr "" @@ -3759,75 +3796,75 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:371 +#: common/serializers.py:375 msgid "Is Running" msgstr "" -#: common/serializers.py:377 +#: common/serializers.py:381 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:383 +#: common/serializers.py:387 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:389 +#: common/serializers.py:393 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:404 +#: common/serializers.py:408 msgid "Task ID" msgstr "" -#: common/serializers.py:404 +#: common/serializers.py:408 msgid "Unique task ID" msgstr "" -#: common/serializers.py:406 +#: common/serializers.py:410 msgid "Lock" msgstr "" -#: common/serializers.py:406 +#: common/serializers.py:410 msgid "Lock time" msgstr "" -#: common/serializers.py:408 +#: common/serializers.py:412 msgid "Task name" msgstr "" -#: common/serializers.py:410 +#: common/serializers.py:414 msgid "Function" msgstr "" -#: common/serializers.py:410 +#: common/serializers.py:414 msgid "Function name" msgstr "" -#: common/serializers.py:412 +#: common/serializers.py:416 msgid "Arguments" msgstr "" -#: common/serializers.py:412 +#: common/serializers.py:416 msgid "Task arguments" msgstr "" -#: common/serializers.py:415 +#: common/serializers.py:419 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:415 +#: common/serializers.py:419 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:525 +#: common/serializers.py:529 msgid "Filename" msgstr "" -#: common/serializers.py:532 report/api.py:100 report/serializers.py:53 +#: common/serializers.py:536 report/api.py:100 report/serializers.py:53 msgid "Model Type" msgstr "" -#: common/serializers.py:559 +#: common/serializers.py:563 msgid "User does not have permission to create or edit attachments for this model" msgstr "" @@ -3894,29 +3931,29 @@ msgstr "" msgid "Previous Step" msgstr "" -#: company/api.py:144 +#: company/api.py:141 msgid "Part is Active" msgstr "" -#: company/api.py:148 +#: company/api.py:145 msgid "Manufacturer is Active" msgstr "" -#: company/api.py:281 +#: company/api.py:278 msgid "Supplier Part is Active" msgstr "" -#: company/api.py:285 +#: company/api.py:282 msgid "Internal Part is Active" msgstr "" -#: company/api.py:289 +#: company/api.py:286 msgid "Supplier is Active" msgstr "" -#: company/models.py:100 company/models.py:365 +#: company/models.py:100 company/models.py:371 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:822 +#: company/templates/company/company_base.html:12 stock/api.py:814 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "" @@ -3956,8 +3993,9 @@ msgstr "" msgid "Contact email address" msgstr "" -#: company/models.py:142 company/templates/company/company_base.html:145 -#: order/models.py:343 order/templates/order/order_base.html:203 +#: company/models.py:142 company/models.py:275 +#: company/templates/company/company_base.html:145 order/models.py:343 +#: order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 #: order/templates/order/sales_order_base.html:218 msgid "Contact" @@ -3976,7 +4014,7 @@ msgid "Is this company active?" msgstr "" #: company/models.py:168 -msgid "is customer" +msgid "Is customer" msgstr "" #: company/models.py:169 @@ -3984,7 +4022,7 @@ msgid "Do you sell items to this company?" msgstr "" #: company/models.py:174 -msgid "is supplier" +msgid "Is supplier" msgstr "" #: company/models.py:175 @@ -3992,7 +4030,7 @@ msgid "Do you purchase items from this company?" msgstr "" #: company/models.py:180 -msgid "is manufacturer" +msgid "Is manufacturer" msgstr "" #: company/models.py:181 @@ -4003,178 +4041,189 @@ msgstr "" msgid "Default currency used for this company" msgstr "" -#: company/models.py:366 +#: company/models.py:314 company/templates/company/company_base.html:124 +#: order/models.py:353 order/templates/order/order_base.html:210 +#: order/templates/order/return_order_base.html:181 +#: order/templates/order/sales_order_base.html:225 +msgid "Address" +msgstr "" + +#: company/models.py:315 company/templates/company/sidebar.html:35 +msgid "Addresses" +msgstr "" + +#: company/models.py:372 msgid "Select company" msgstr "" -#: company/models.py:371 +#: company/models.py:377 msgid "Address title" msgstr "" -#: company/models.py:372 +#: company/models.py:378 msgid "Title describing the address entry" msgstr "" -#: company/models.py:378 +#: company/models.py:384 msgid "Primary address" msgstr "" -#: company/models.py:379 +#: company/models.py:385 msgid "Set as primary address" msgstr "" -#: company/models.py:384 templates/js/translated/company.js:914 +#: company/models.py:390 templates/js/translated/company.js:914 #: templates/js/translated/company.js:971 msgid "Line 1" msgstr "" -#: company/models.py:385 +#: company/models.py:391 msgid "Address line 1" msgstr "" -#: company/models.py:391 templates/js/translated/company.js:915 +#: company/models.py:397 templates/js/translated/company.js:915 #: templates/js/translated/company.js:977 msgid "Line 2" msgstr "" -#: company/models.py:392 +#: company/models.py:398 msgid "Address line 2" msgstr "" -#: company/models.py:398 company/models.py:399 +#: company/models.py:404 company/models.py:405 #: templates/js/translated/company.js:983 msgid "Postal code" msgstr "" -#: company/models.py:405 +#: company/models.py:411 msgid "City/Region" msgstr "" -#: company/models.py:406 +#: company/models.py:412 msgid "Postal code city/region" msgstr "" -#: company/models.py:412 +#: company/models.py:418 msgid "State/Province" msgstr "" -#: company/models.py:413 +#: company/models.py:419 msgid "State or province" msgstr "" -#: company/models.py:419 templates/js/translated/company.js:1001 +#: company/models.py:425 templates/js/translated/company.js:1001 msgid "Country" msgstr "" -#: company/models.py:420 +#: company/models.py:426 msgid "Address country" msgstr "" -#: company/models.py:426 +#: company/models.py:432 msgid "Courier shipping notes" msgstr "" -#: company/models.py:427 +#: company/models.py:433 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:433 +#: company/models.py:439 msgid "Internal shipping notes" msgstr "" -#: company/models.py:434 +#: company/models.py:440 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:441 +#: company/models.py:447 msgid "Link to address information (external)" msgstr "" -#: company/models.py:463 company/models.py:574 company/models.py:792 +#: company/models.py:469 company/models.py:581 company/models.py:799 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:217 msgid "Manufacturer Part" msgstr "" -#: company/models.py:475 company/models.py:760 stock/models.py:767 -#: stock/serializers.py:422 stock/templates/stock/item_base.html:142 +#: company/models.py:481 company/models.py:767 stock/models.py:767 +#: stock/serializers.py:442 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" -#: company/models.py:477 company/models.py:762 +#: company/models.py:483 company/models.py:769 msgid "Select part" msgstr "" -#: company/models.py:486 company/templates/company/company_base.html:82 +#: company/models.py:492 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:525 +#: company/templates/company/supplier_part.html:145 part/serializers.py:543 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 #: templates/js/translated/company.js:1296 #: templates/js/translated/company.js:1611 -#: templates/js/translated/table_filters.js:800 +#: templates/js/translated/table_filters.js:805 msgid "Manufacturer" msgstr "" -#: company/models.py:487 +#: company/models.py:493 msgid "Select manufacturer" msgstr "" -#: company/models.py:493 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:535 -#: templates/js/translated/company.js:351 +#: company/models.py:499 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:153 order/serializers.py:518 +#: part/serializers.py:553 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:1801 +#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1804 #: templates/js/translated/purchase_order.js:1851 #: templates/js/translated/purchase_order.js:2053 msgid "MPN" msgstr "" -#: company/models.py:494 -msgid "Manufacturer Part Number" -msgstr "" - -#: company/models.py:501 +#: company/models.py:507 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:510 +#: company/models.py:516 msgid "Manufacturer part description" msgstr "" -#: company/models.py:581 +#: company/models.py:569 +msgid "Manufacturer Part Parameter" +msgstr "" + +#: company/models.py:588 msgid "Parameter name" msgstr "" -#: company/models.py:587 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2453 templates/js/translated/company.js:1166 -#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1493 +#: company/models.py:594 report/templates/report/inventree_test_report.html:104 +#: stock/models.py:2463 templates/js/translated/company.js:1166 +#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1496 #: templates/js/translated/stock.js:1522 msgid "Value" msgstr "" -#: company/models.py:588 +#: company/models.py:595 msgid "Parameter value" msgstr "" -#: company/models.py:595 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1045 part/models.py:3646 +#: company/models.py:602 company/templates/company/supplier_part.html:168 +#: part/admin.py:57 part/models.py:1049 part/models.py:3667 #: part/templates/part/part_base.html:284 -#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1512 -#: templates/js/translated/part.js:1616 templates/js/translated/part.js:2370 +#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1515 +#: templates/js/translated/part.js:1619 templates/js/translated/part.js:2373 msgid "Units" msgstr "" -#: company/models.py:596 +#: company/models.py:603 msgid "Parameter units" msgstr "" -#: company/models.py:648 company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 order/api.py:452 +#: company/models.py:655 company/templates/company/supplier_part.html:7 +#: company/templates/company/supplier_part.html:24 order/api.py:434 #: stock/models.py:778 stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 @@ -4182,91 +4231,91 @@ msgstr "" msgid "Supplier Part" msgstr "" -#: company/models.py:700 +#: company/models.py:707 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:707 +#: company/models.py:714 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:721 +#: company/models.py:728 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:770 company/templates/company/company_base.html:87 +#: company/models.py:777 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:509 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:527 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 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:511 -#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1769 +#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1772 #: templates/js/translated/pricing.js:498 #: templates/js/translated/purchase_order.js:1689 -#: templates/js/translated/table_filters.js:804 +#: templates/js/translated/table_filters.js:809 msgid "Supplier" msgstr "" -#: company/models.py:771 +#: company/models.py:778 msgid "Select supplier" msgstr "" -#: company/models.py:777 part/serializers.py:520 +#: company/models.py:784 part/serializers.py:538 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:783 +#: company/models.py:790 msgid "Is this supplier part active?" msgstr "" -#: company/models.py:793 +#: company/models.py:800 msgid "Select manufacturer part" msgstr "" -#: company/models.py:800 +#: company/models.py:807 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:809 +#: company/models.py:816 msgid "Supplier part description" msgstr "" -#: company/models.py:816 company/templates/company/supplier_part.html:187 -#: part/admin.py:412 part/models.py:4093 part/templates/part/upload_bom.html:59 +#: company/models.py:823 company/templates/company/supplier_part.html:187 +#: part/admin.py:412 part/models.py:4178 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: 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:710 +#: stock/serializers.py:768 msgid "Note" msgstr "" -#: company/models.py:825 part/models.py:2003 +#: company/models.py:832 part/models.py:2013 msgid "base cost" msgstr "" -#: company/models.py:826 part/models.py:2004 +#: company/models.py:833 part/models.py:2014 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:833 company/templates/company/supplier_part.html:160 -#: stock/admin.py:228 stock/models.py:798 stock/serializers.py:1475 +#: company/models.py:840 company/templates/company/supplier_part.html:160 +#: stock/admin.py:228 stock/models.py:798 stock/serializers.py:1541 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 msgid "Packaging" msgstr "" -#: company/models.py:834 +#: company/models.py:841 msgid "Part packaging" msgstr "" -#: company/models.py:839 templates/js/translated/company.js:1651 -#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 +#: company/models.py:846 templates/js/translated/company.js:1651 +#: templates/js/translated/part.js:1825 templates/js/translated/part.js:1881 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 #: templates/js/translated/purchase_order.js:1103 @@ -4275,35 +4324,43 @@ msgstr "" msgid "Pack Quantity" msgstr "" -#: company/models.py:841 +#: company/models.py:848 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:860 part/models.py:2010 +#: company/models.py:867 part/models.py:2020 msgid "multiple" msgstr "" -#: company/models.py:861 +#: company/models.py:868 msgid "Order multiple" msgstr "" -#: company/models.py:873 +#: company/models.py:880 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:879 +#: company/models.py:886 msgid "Availability Updated" msgstr "" -#: company/models.py:880 +#: company/models.py:887 msgid "Date of last update of availability data" msgstr "" -#: company/serializers.py:161 +#: company/models.py:1015 +msgid "Supplier Price Break" +msgstr "" + +#: company/serializers.py:174 msgid "Default currency used for this supplier" msgstr "" -#: company/serializers.py:357 part/admin.py:126 +#: company/serializers.py:210 +msgid "Company Name" +msgstr "" + +#: company/serializers.py:384 part/admin.py:126 part/serializers.py:855 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:355 @@ -4315,7 +4372,7 @@ msgstr "" #: templates/js/translated/company.js:1287 #: templates/js/translated/company.js:1575 #: templates/js/translated/model_renderers.js:312 -#: templates/js/translated/part.js:815 templates/js/translated/part.js:1219 +#: templates/js/translated/part.js:814 templates/js/translated/part.js:1222 msgid "Inactive" msgstr "" @@ -4374,16 +4431,16 @@ msgid "Delete image" msgstr "" #: company/templates/company/company_base.html:92 order/models.py:938 -#: order/models.py:2032 order/templates/order/return_order_base.html:131 +#: order/models.py:2058 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:148 stock/models.py:820 -#: stock/models.py:821 stock/serializers.py:1225 +#: stock/models.py:821 stock/serializers.py:1291 #: 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:295 #: templates/js/translated/sales_order.js:820 #: templates/js/translated/stock.js:2959 -#: templates/js/translated/table_filters.js:808 +#: templates/js/translated/table_filters.js:813 msgid "Customer" msgstr "" @@ -4391,13 +4448,6 @@ msgstr "" msgid "Uses default currency" msgstr "" -#: company/templates/company/company_base.html:124 order/models.py:353 -#: order/templates/order/order_base.html:210 -#: order/templates/order/return_order_base.html:181 -#: order/templates/order/sales_order_base.html:225 -msgid "Address" -msgstr "" - #: company/templates/company/company_base.html:131 msgid "Phone" msgstr "" @@ -4577,7 +4627,8 @@ msgid "Delete manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:65 -#: company/templates/company/supplier_part.html:97 order/api.py:458 +#: company/templates/company/supplier_part.html:97 order/api.py:440 +#: order/serializers.py:526 msgid "Internal Part" msgstr "" @@ -4587,7 +4638,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:832 +#: part/admin.py:122 part/serializers.py:860 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4608,7 +4659,7 @@ msgid "New Parameter" msgstr "" #: company/templates/company/manufacturer_part.html:196 -#: templates/js/translated/part.js:1423 +#: templates/js/translated/part.js:1426 msgid "Add Parameter" msgstr "" @@ -4632,10 +4683,6 @@ msgstr "" msgid "Contacts" msgstr "" -#: company/templates/company/sidebar.html:35 -msgid "Addresses" -msgstr "" - #: company/templates/company/supplier_part.html:50 #: templates/js/translated/company.js:1526 msgid "Supplier part actions" @@ -4648,127 +4695,283 @@ msgstr "" msgid "Order Part" msgstr "" -#: company/templates/company/supplier_part.html:60 -#: company/templates/company/supplier_part.html:61 -msgid "Update Availability" +#: company/templates/company/supplier_part.html:60 +#: company/templates/company/supplier_part.html:61 +msgid "Update Availability" +msgstr "" + +#: company/templates/company/supplier_part.html:63 +#: company/templates/company/supplier_part.html:64 +#: templates/js/translated/company.js:294 +msgid "Edit Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:68 +#: company/templates/company/supplier_part.html:69 +#: templates/js/translated/company.js:269 +msgid "Duplicate Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:73 +msgid "Delete Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:74 +msgid "Delete Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:133 +msgid "No supplier information available" +msgstr "" + +#: company/templates/company/supplier_part.html:139 order/serializers.py:515 +#: part/bom.py:279 part/bom.py:311 part/serializers.py:537 +#: templates/js/translated/company.js:349 templates/js/translated/part.js:1790 +#: templates/js/translated/pricing.js:510 +#: templates/js/translated/purchase_order.js:1850 +#: templates/js/translated/purchase_order.js:2028 +msgid "SKU" +msgstr "" + +#: company/templates/company/supplier_part.html:206 +msgid "Supplier Part Stock" +msgstr "" + +#: company/templates/company/supplier_part.html:209 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:207 +msgid "Create new stock item" +msgstr "" + +#: company/templates/company/supplier_part.html:210 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:208 +#: templates/js/translated/stock.js:537 +msgid "New Stock Item" +msgstr "" + +#: company/templates/company/supplier_part.html:223 +msgid "Supplier Part Orders" +msgstr "" + +#: company/templates/company/supplier_part.html:246 +msgid "Pricing Information" +msgstr "" + +#: company/templates/company/supplier_part.html:251 +#: templates/js/translated/company.js:398 +#: templates/js/translated/pricing.js:684 +msgid "Add Price Break" +msgstr "" + +#: company/templates/company/supplier_part.html:276 +msgid "Supplier Part QR Code" +msgstr "" + +#: company/templates/company/supplier_part.html:287 +msgid "Link Barcode to Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:359 +msgid "Update Part Availability" +msgstr "" + +#: company/templates/company/supplier_part_sidebar.html:5 +#: part/serializers.py:859 part/stocktake.py:224 +#: part/templates/part/category.html:183 +#: part/templates/part/category_sidebar.html:17 stock/admin.py:68 +#: stock/serializers.py:976 stock/serializers.py:1154 +#: stock/templates/stock/location.html:170 +#: 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:1064 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 +#: users/models.py:206 +msgid "Stock Items" +msgstr "" + +#: company/templates/company/supplier_part_sidebar.html:9 +msgid "Supplier Part Pricing" +msgstr "" + +#: company/views.py:32 +msgid "New Supplier" +msgstr "" + +#: company/views.py:38 +msgid "New Manufacturer" +msgstr "" + +#: company/views.py:43 templates/InvenTree/search.html:210 +#: templates/navbar.html:60 +msgid "Customers" +msgstr "" + +#: company/views.py:44 +msgid "New Customer" +msgstr "" + +#: company/views.py:52 +msgid "New Company" +msgstr "" + +#: generic/states/tests.py:18 order/status_codes.py:13 +msgid "Placed" +msgstr "" + +#: importer/mixins.py:263 +msgid "Invalid export format" +msgstr "" + +#: importer/models.py:56 +msgid "Timestamp" +msgstr "" + +#: importer/models.py:61 +msgid "Data file to import" +msgstr "" + +#: importer/models.py:70 templates/js/translated/tables.js:558 +msgid "Columns" +msgstr "" + +#: importer/models.py:81 +msgid "Import status" +msgstr "" + +#: importer/models.py:91 +msgid "Field Defaults" +msgstr "" + +#: importer/models.py:201 +msgid "Some required fields have not been mapped" +msgstr "" + +#: importer/models.py:346 +msgid "Column is already mapped to a database field" +msgstr "" + +#: importer/models.py:351 +msgid "Field is already mapped to a data column" +msgstr "" + +#: importer/models.py:360 +msgid "Column mapping must be linked to a valid import session" +msgstr "" + +#: importer/models.py:365 +msgid "Column does not exist in the data file" +msgstr "" + +#: importer/models.py:372 +msgid "Field does not exist in the target model" +msgstr "" + +#: importer/models.py:376 +msgid "Selected field is read-only" +msgstr "" + +#: importer/models.py:381 importer/models.py:452 +msgid "Import Session" +msgstr "" + +#: importer/models.py:385 +msgid "Field" msgstr "" -#: company/templates/company/supplier_part.html:63 -#: company/templates/company/supplier_part.html:64 -#: templates/js/translated/company.js:294 -msgid "Edit Supplier Part" +#: importer/models.py:387 +msgid "Column" msgstr "" -#: company/templates/company/supplier_part.html:68 -#: company/templates/company/supplier_part.html:69 -#: templates/js/translated/company.js:269 -msgid "Duplicate Supplier Part" +#: importer/models.py:456 +msgid "Row Index" msgstr "" -#: company/templates/company/supplier_part.html:73 -msgid "Delete Supplier Part" +#: importer/models.py:459 +msgid "Original row data" msgstr "" -#: company/templates/company/supplier_part.html:74 -msgid "Delete Supplier Part" +#: importer/models.py:462 part/models.py:3841 +msgid "Data" msgstr "" -#: company/templates/company/supplier_part.html:133 -msgid "No supplier information available" +#: importer/models.py:464 machine/models.py:110 +msgid "Errors" msgstr "" -#: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:519 -#: templates/js/translated/company.js:349 templates/js/translated/part.js:1787 -#: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1850 -#: templates/js/translated/purchase_order.js:2028 -msgid "SKU" +#: importer/models.py:466 part/api.py:874 +msgid "Valid" msgstr "" -#: company/templates/company/supplier_part.html:206 -msgid "Supplier Part Stock" +#: importer/operations.py:28 importer/operations.py:49 +msgid "Unsupported data file format" msgstr "" -#: company/templates/company/supplier_part.html:209 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:207 -msgid "Create new stock item" +#: importer/operations.py:40 +msgid "Failed to open data file" msgstr "" -#: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:208 -#: templates/js/translated/stock.js:537 -msgid "New Stock Item" +#: importer/operations.py:51 +msgid "Invalid data file dimensions" msgstr "" -#: company/templates/company/supplier_part.html:223 -msgid "Supplier Part Orders" +#: importer/serializers.py:135 +msgid "Rows" msgstr "" -#: company/templates/company/supplier_part.html:246 -msgid "Pricing Information" +#: importer/serializers.py:136 +msgid "List of row IDs to accept" msgstr "" -#: company/templates/company/supplier_part.html:251 -#: templates/js/translated/company.js:398 -#: templates/js/translated/pricing.js:684 -msgid "Add Price Break" +#: importer/serializers.py:149 +msgid "No rows provided" msgstr "" -#: company/templates/company/supplier_part.html:276 -msgid "Supplier Part QR Code" +#: importer/serializers.py:153 +msgid "Row does not belong to this session" msgstr "" -#: company/templates/company/supplier_part.html:287 -msgid "Link Barcode to Supplier Part" +#: importer/serializers.py:156 +msgid "Row contains invalid data" msgstr "" -#: company/templates/company/supplier_part.html:359 -msgid "Update Part Availability" +#: importer/serializers.py:159 +msgid "Row has already been completed" msgstr "" -#: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:831 part/stocktake.py:224 -#: part/templates/part/category.html:183 -#: part/templates/part/category_sidebar.html:17 stock/admin.py:68 -#: stock/serializers.py:918 stock/serializers.py:1091 -#: stock/templates/stock/location.html:170 -#: 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:1061 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 -#: users/models.py:206 -msgid "Stock Items" +#: importer/status_codes.py:11 +msgid "Initializing" msgstr "" -#: company/templates/company/supplier_part_sidebar.html:9 -msgid "Supplier Part Pricing" +#: importer/status_codes.py:12 +msgid "Mapping Columns" msgstr "" -#: company/views.py:32 -msgid "New Supplier" +#: importer/status_codes.py:13 +msgid "Importing Data" msgstr "" -#: company/views.py:38 -msgid "New Manufacturer" +#: importer/status_codes.py:16 +msgid "Processing Data" msgstr "" -#: company/views.py:43 templates/InvenTree/search.html:210 -#: templates/navbar.html:60 -msgid "Customers" +#: importer/validators.py:21 +msgid "Data file exceeds maximum size limit" msgstr "" -#: company/views.py:44 -msgid "New Customer" +#: importer/validators.py:26 +msgid "Data file contains no headers" msgstr "" -#: company/views.py:52 -msgid "New Company" +#: importer/validators.py:29 +msgid "Data file contains too many columns" msgstr "" -#: generic/states/tests.py:18 order/status_codes.py:13 -msgid "Placed" +#: importer/validators.py:32 +msgid "Data file contains too many rows" +msgstr "" + +#: importer/validators.py:49 +msgid "Value must be a valid dictionary object" msgstr "" #: machine/machine_types/label_printer.py:212 @@ -4783,7 +4986,7 @@ msgstr "" msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:229 order/api.py:1467 +#: machine/machine_types/label_printer.py:229 order/api.py:1388 #: templates/js/translated/sales_order.js:1078 msgid "Unknown" msgstr "" @@ -4852,10 +5055,6 @@ msgstr "" msgid "Initialized" msgstr "" -#: machine/models.py:110 -msgid "Errors" -msgstr "" - #: machine/models.py:117 msgid "Machine status" msgstr "" @@ -4881,44 +5080,44 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:157 order/serializers.py:90 +#: order/api.py:149 order/serializers.py:94 #: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:113 #: order/templates/order/sales_order_base.html:122 msgid "Order Status" msgstr "" -#: order/api.py:161 templates/js/translated/table_filters.js:194 -#: templates/js/translated/table_filters.js:779 +#: order/api.py:153 templates/js/translated/table_filters.js:194 +#: templates/js/translated/table_filters.js:784 msgid "Has Pricing" msgstr "" -#: order/api.py:236 +#: order/api.py:228 msgid "No matching purchase order found" msgstr "" -#: order/api.py:435 order/api.py:801 order/models.py:1395 order/models.py:1504 -#: order/models.py:1550 order/models.py:1664 order/models.py:1818 -#: order/models.py:2231 order/models.py:2282 +#: order/api.py:417 order/api.py:755 order/models.py:1400 order/models.py:1514 +#: order/models.py:1565 order/models.py:1680 order/models.py:1839 +#: order/models.py:2258 order/models.py:2314 #: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "" -#: order/api.py:439 order/api.py:822 +#: order/api.py:421 order/api.py:776 msgid "Order Complete" msgstr "" -#: order/api.py:462 +#: order/api.py:444 msgid "Order Pending" msgstr "" -#: order/api.py:1461 order/models.py:380 order/models.py:1396 -#: order/models.py:1505 order/templates/order/order_base.html:9 +#: order/api.py:1382 order/models.py:380 order/models.py:1401 +#: order/models.py:1515 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 -#: stock/serializers.py:118 stock/templates/stock/item_base.html:176 +#: stock/serializers.py:120 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/part.js:1746 templates/js/translated/pricing.js:804 +#: templates/js/translated/part.js:1749 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:1673 @@ -4926,8 +5125,8 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1465 order/models.py:1981 order/models.py:2232 -#: order/models.py:2283 order/templates/order/return_order_base.html:9 +#: order/api.py:1386 order/models.py:2007 order/models.py:2259 +#: order/models.py:2315 order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report.html:13 #: templates/js/translated/return_order.js:280 @@ -4939,11 +5138,11 @@ msgstr "" msgid "Total price for this order" msgstr "" -#: order/models.py:96 order/serializers.py:70 +#: order/models.py:96 order/serializers.py:72 msgid "Order Currency" msgstr "" -#: order/models.py:99 order/serializers.py:71 +#: order/models.py:99 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" @@ -4959,7 +5158,7 @@ msgstr "" msgid "Select project code for this order" msgstr "" -#: order/models.py:303 order/models.py:1301 order/models.py:1717 +#: order/models.py:303 order/models.py:1301 order/models.py:1733 msgid "Link to external page" msgstr "" @@ -5008,15 +5207,15 @@ msgstr "" msgid "received by" msgstr "" -#: order/models.py:514 order/models.py:2058 +#: order/models.py:514 order/models.py:2084 msgid "Issue Date" msgstr "" -#: order/models.py:515 order/models.py:2059 +#: order/models.py:515 order/models.py:2085 msgid "Date order was issued" msgstr "" -#: order/models.py:522 order/models.py:2066 +#: order/models.py:522 order/models.py:2092 msgid "Date order was completed" msgstr "" @@ -5032,15 +5231,15 @@ msgstr "" msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:962 order/models.py:2051 +#: order/models.py:962 order/models.py:2077 msgid "Customer Reference " msgstr "" -#: order/models.py:963 order/models.py:2052 +#: order/models.py:963 order/models.py:2078 msgid "Customer order reference code" msgstr "" -#: order/models.py:967 order/models.py:1671 +#: order/models.py:967 order/models.py:1687 #: templates/js/translated/sales_order.js:879 #: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" @@ -5102,20 +5301,24 @@ msgstr "" msgid "Unit price" msgstr "" -#: order/models.py:1380 +#: order/models.py:1361 +msgid "Purchase Order Line Item" +msgstr "" + +#: order/models.py:1385 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1387 +#: order/models.py:1392 msgid "deleted" msgstr "" -#: order/models.py:1415 +#: order/models.py:1420 msgid "Supplier part" msgstr "" -#: order/models.py:1422 order/templates/order/order_base.html:196 -#: templates/js/translated/part.js:1870 templates/js/translated/part.js:1902 +#: order/models.py:1427 order/templates/order/order_base.html:196 +#: templates/js/translated/part.js:1873 templates/js/translated/part.js:1905 #: templates/js/translated/purchase_order.js:1306 #: templates/js/translated/purchase_order.js:2169 #: templates/js/translated/return_order.js:763 @@ -5124,196 +5327,224 @@ msgstr "" msgid "Received" msgstr "" -#: order/models.py:1423 +#: order/models.py:1428 msgid "Number of items received" msgstr "" -#: order/models.py:1431 stock/models.py:939 stock/serializers.py:556 +#: order/models.py:1436 stock/models.py:939 stock/serializers.py:602 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2311 msgid "Purchase Price" msgstr "" -#: order/models.py:1432 +#: order/models.py:1437 msgid "Unit purchase price" msgstr "" -#: order/models.py:1447 +#: order/models.py:1452 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1538 +#: order/models.py:1503 +msgid "Purchase Order Extra Line" +msgstr "" + +#: order/models.py:1532 +msgid "Sales Order Line Item" +msgstr "" + +#: order/models.py:1553 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1543 +#: order/models.py:1558 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1569 part/templates/part/part_pricing.html:107 +#: order/models.py:1584 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:1570 +#: order/models.py:1585 msgid "Unit sale price" msgstr "" -#: order/models.py:1579 order/status_codes.py:43 +#: order/models.py:1594 order/status_codes.py:43 #: templates/js/translated/sales_order.js:1559 #: templates/js/translated/sales_order.js:1680 #: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "" -#: order/models.py:1580 +#: order/models.py:1595 msgid "Shipped quantity" msgstr "" -#: order/models.py:1672 +#: order/models.py:1667 +msgid "Sales Order Shipment" +msgstr "" + +#: order/models.py:1688 msgid "Date of shipment" msgstr "" -#: order/models.py:1678 templates/js/translated/sales_order.js:1072 +#: order/models.py:1694 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "" -#: order/models.py:1679 +#: order/models.py:1695 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1687 +#: order/models.py:1703 msgid "Checked By" msgstr "" -#: order/models.py:1688 +#: order/models.py:1704 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1695 order/models.py:1908 order/serializers.py:1342 -#: order/serializers.py:1452 templates/js/translated/model_renderers.js:454 +#: order/models.py:1711 order/models.py:1934 order/serializers.py:1398 +#: order/serializers.py:1508 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "" -#: order/models.py:1696 +#: order/models.py:1712 msgid "Shipment number" msgstr "" -#: order/models.py:1704 +#: order/models.py:1720 msgid "Tracking Number" msgstr "" -#: order/models.py:1705 +#: order/models.py:1721 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1712 +#: order/models.py:1728 msgid "Invoice Number" msgstr "" -#: order/models.py:1713 +#: order/models.py:1729 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1733 +#: order/models.py:1749 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1736 +#: order/models.py:1752 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1854 order/models.py:1856 +#: order/models.py:1828 +msgid "Sales Order Extra Line" +msgstr "" + +#: order/models.py:1857 +msgid "Sales Order Allocation" +msgstr "" + +#: order/models.py:1880 order/models.py:1882 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1863 +#: order/models.py:1889 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1866 +#: order/models.py:1892 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1869 +#: order/models.py:1895 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1888 order/serializers.py:1219 +#: order/models.py:1914 order/serializers.py:1275 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1891 +#: order/models.py:1917 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1892 plugin/base/barcodes/api.py:481 +#: order/models.py:1918 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1900 +#: order/models.py:1926 msgid "Line" msgstr "" -#: order/models.py:1909 +#: order/models.py:1935 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1922 order/models.py:2239 +#: order/models.py:1948 order/models.py:2266 #: templates/js/translated/return_order.js:721 msgid "Item" msgstr "" -#: order/models.py:1923 +#: order/models.py:1949 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1932 +#: order/models.py:1958 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2021 +#: order/models.py:2047 msgid "Return Order reference" msgstr "" -#: order/models.py:2033 +#: order/models.py:2059 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2045 +#: order/models.py:2071 msgid "Return order status" msgstr "" -#: order/models.py:2224 +#: order/models.py:2237 +msgid "Return Order Line Item" +msgstr "" + +#: order/models.py:2251 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2240 +#: order/models.py:2267 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2246 +#: order/models.py:2273 msgid "Received Date" msgstr "" -#: order/models.py:2247 +#: order/models.py:2274 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2258 templates/js/translated/return_order.js:732 +#: order/models.py:2285 templates/js/translated/return_order.js:732 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2259 +#: order/models.py:2286 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2266 +#: order/models.py:2293 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:79 order/templates/order/po_sidebar.html:5 +#: order/models.py:2303 +msgid "Return Order Extra Line" +msgstr "" + +#: order/serializers.py:83 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_purchase_order_report.html:22 @@ -5322,163 +5553,171 @@ msgstr "" msgid "Line Items" msgstr "" -#: order/serializers.py:83 +#: order/serializers.py:87 msgid "Completed Lines" msgstr "" -#: order/serializers.py:286 +#: order/serializers.py:305 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:301 order/serializers.py:1235 +#: order/serializers.py:320 order/serializers.py:1291 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:311 order/serializers.py:1245 +#: order/serializers.py:330 order/serializers.py:1301 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:439 +#: order/serializers.py:468 msgid "Order is not open" msgstr "" -#: order/serializers.py:460 +#: order/serializers.py:489 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:462 +#: order/serializers.py:491 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:472 +#: order/serializers.py:501 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:478 +#: order/serializers.py:507 msgid "Merge Items" msgstr "" -#: order/serializers.py:480 +#: order/serializers.py:509 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:498 +#: order/serializers.py:522 part/models.py:945 +msgid "Internal Part Number" +msgstr "" + +#: order/serializers.py:530 +msgid "Internal Part Name" +msgstr "" + +#: order/serializers.py:546 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:501 +#: order/serializers.py:549 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:509 +#: order/serializers.py:557 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:510 +#: order/serializers.py:558 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:549 order/serializers.py:1313 +#: order/serializers.py:598 order/serializers.py:1369 msgid "Line Item" msgstr "" -#: order/serializers.py:555 +#: order/serializers.py:604 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:565 order/serializers.py:673 order/serializers.py:1657 +#: order/serializers.py:614 order/serializers.py:722 order/serializers.py:1715 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:581 templates/js/translated/purchase_order.js:1130 +#: order/serializers.py:630 templates/js/translated/purchase_order.js:1130 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:589 templates/js/translated/purchase_order.js:1154 +#: order/serializers.py:638 templates/js/translated/purchase_order.js:1154 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:600 templates/js/translated/barcode.js:52 +#: order/serializers.py:649 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:601 +#: order/serializers.py:650 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:617 +#: order/serializers.py:666 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:641 +#: order/serializers.py:690 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:689 order/serializers.py:1673 +#: order/serializers.py:738 order/serializers.py:1731 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:705 +#: order/serializers.py:754 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:716 +#: order/serializers.py:765 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1062 +#: order/serializers.py:1117 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1122 +#: order/serializers.py:1178 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1183 order/serializers.py:1322 +#: order/serializers.py:1239 order/serializers.py:1378 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1202 +#: order/serializers.py:1258 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1332 +#: order/serializers.py:1388 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1354 order/serializers.py:1460 +#: order/serializers.py:1410 order/serializers.py:1516 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1357 order/serializers.py:1463 +#: order/serializers.py:1413 order/serializers.py:1519 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1404 +#: order/serializers.py:1460 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1411 +#: order/serializers.py:1467 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1627 +#: order/serializers.py:1685 msgid "Return order line item" msgstr "" -#: order/serializers.py:1633 +#: order/serializers.py:1691 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1636 +#: order/serializers.py:1694 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1665 +#: order/serializers.py:1723 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1743 +#: order/serializers.py:1806 msgid "Line price currency" msgstr "" @@ -5808,7 +6047,7 @@ msgstr "" #: 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:1073 +#: templates/js/translated/part.js:1076 #: templates/js/translated/purchase_order.js:1752 #: templates/js/translated/return_order.js:380 #: templates/js/translated/sales_order.js:891 @@ -5904,34 +6143,29 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:398 part/models.py:3944 part/stocktake.py:219 +#: part/admin.py:39 part/admin.py:398 part/models.py:3991 part/stocktake.py:219 #: stock/admin.py:152 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:405 part/models.py:3945 part/stocktake.py:220 -#: stock/admin.py:156 -msgid "Part Name" -msgstr "" - #: part/admin.py:45 part/stocktake.py:221 msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:940 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:944 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 -#: templates/js/translated/part.js:1227 templates/js/translated/part.js:2341 +#: templates/js/translated/part.js:1230 templates/js/translated/part.js:2344 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:949 part/templates/part/part_base.html:277 -#: report/models.py:162 templates/js/translated/part.js:1232 -#: templates/js/translated/part.js:2347 +#: part/admin.py:50 part/models.py:953 part/templates/part/part_base.html:277 +#: report/models.py:162 templates/js/translated/part.js:1235 +#: templates/js/translated/part.js:2350 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:319 part/models.py:922 +#: part/admin.py:53 part/admin.py:319 part/models.py:926 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5944,7 +6178,8 @@ msgstr "" msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:304 part/stocktake.py:223 +#: part/admin.py:67 part/admin.py:304 part/serializers.py:837 +#: part/stocktake.py:223 msgid "Category Name" msgstr "" @@ -5956,11 +6191,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:908 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:912 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1036 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1040 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5968,18 +6203,19 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:150 part/templates/part/part_base.html:241 stock/admin.py:235 -#: templates/js/translated/part.js:715 templates/js/translated/part.js:2153 +#: part/admin.py:150 part/serializers.py:854 +#: part/templates/part/part_base.html:241 stock/admin.py:235 +#: templates/js/translated/part.js:714 templates/js/translated/part.js:2156 msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3088 part/models.py:3102 -#: templates/js/translated/part.js:970 +#: part/admin.py:155 part/models.py:3098 part/models.py:3112 +#: templates/js/translated/part.js:973 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3095 part/models.py:3109 -#: templates/js/translated/part.js:980 +#: part/admin.py:158 part/models.py:3105 part/models.py:3119 +#: templates/js/translated/part.js:983 msgid "Maximum Cost" msgstr "" @@ -5996,14 +6232,14 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:396 part/serializers.py:124 -#: part/serializers.py:267 part/serializers.py:386 +#: part/admin.py:325 part/models.py:397 part/serializers.py:130 +#: part/serializers.py:282 part/serializers.py:404 #: 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:2807 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:203 msgid "Parts" msgstr "" @@ -6020,125 +6256,117 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:402 part/models.py:3946 -msgid "Part IPN" -msgstr "" - -#: part/admin.py:415 part/serializers.py:1274 +#: part/admin.py:415 part/serializers.py:1302 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:420 part/serializers.py:1289 +#: part/admin.py:420 part/serializers.py:1317 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "" -#: part/api.py:104 +#: part/api.py:105 msgid "Starred" msgstr "" -#: part/api.py:106 +#: part/api.py:107 msgid "Filter by starred categories" msgstr "" -#: part/api.py:123 stock/api.py:312 +#: part/api.py:124 stock/api.py:312 msgid "Depth" msgstr "" -#: part/api.py:123 +#: part/api.py:124 msgid "Filter by category depth" msgstr "" -#: part/api.py:141 stock/api.py:330 +#: part/api.py:142 stock/api.py:330 msgid "Top Level" msgstr "" -#: part/api.py:143 +#: part/api.py:144 msgid "Filter by top-level categories" msgstr "" -#: part/api.py:156 stock/api.py:345 +#: part/api.py:157 stock/api.py:345 msgid "Cascade" msgstr "" -#: part/api.py:158 +#: part/api.py:159 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:179 templates/js/translated/part.js:308 +#: part/api.py:180 templates/js/translated/part.js:307 msgid "Parent" msgstr "" -#: part/api.py:181 +#: part/api.py:182 msgid "Filter by parent category" msgstr "" -#: part/api.py:214 +#: part/api.py:215 msgid "Exclude Tree" msgstr "" -#: part/api.py:216 +#: part/api.py:217 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:449 +#: part/api.py:442 msgid "Has Results" msgstr "" -#: part/api.py:616 +#: part/api.py:609 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:634 +#: part/api.py:627 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:650 +#: part/api.py:643 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:734 +#: part/api.py:727 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:881 -msgid "Valid" -msgstr "" - -#: part/api.py:882 +#: part/api.py:875 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:888 +#: part/api.py:881 msgid "This option must be selected" msgstr "" -#: part/api.py:1105 +#: part/api.py:1098 msgid "BOM Valid" msgstr "" -#: part/api.py:1508 part/models.py:932 part/models.py:3374 part/models.py:3889 -#: part/serializers.py:401 part/serializers.py:1130 -#: part/templates/part/part_base.html:260 stock/api.py:791 +#: part/api.py:1494 part/models.py:936 part/models.py:3385 part/models.py:3936 +#: part/serializers.py:419 part/serializers.py:1158 +#: part/templates/part/part_base.html:260 stock/api.py:783 #: 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:2380 msgid "Category" msgstr "" -#: part/api.py:1796 +#: part/api.py:1784 msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:104 part/models.py:975 +#: part/bom.py:170 part/models.py:104 part/models.py:979 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:833 +#: part/bom.py:171 part/serializers.py:861 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6147,7 +6375,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:85 part/models.py:3890 part/templates/part/category.html:16 +#: part/models.py:85 part/models.py:3937 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -6162,7 +6390,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:110 stock/models.py:175 templates/js/translated/part.js:2810 +#: part/models.py:110 stock/models.py:175 templates/js/translated/part.js:2813 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 @@ -6194,1002 +6422,1035 @@ msgstr "" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:485 +#: part/models.py:486 +msgid "Cannot delete this part as it is locked" +msgstr "" + +#: part/models.py:489 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:490 +#: part/models.py:494 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:528 +#: part/models.py:532 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:576 part/models.py:583 +#: part/models.py:580 part/models.py:587 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:595 +#: part/models.py:599 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:658 +#: part/models.py:662 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:736 +#: part/models.py:740 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:837 +#: part/models.py:841 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:847 +#: part/models.py:851 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:862 +#: part/models.py:866 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:891 part/models.py:3945 +#: part/models.py:895 part/models.py:3992 msgid "Part name" msgstr "" -#: part/models.py:896 +#: part/models.py:900 msgid "Is Template" msgstr "" -#: part/models.py:897 +#: part/models.py:901 msgid "Is this part a template part?" msgstr "" -#: part/models.py:907 +#: part/models.py:911 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:915 +#: part/models.py:919 msgid "Part description (optional)" msgstr "" -#: part/models.py:923 +#: part/models.py:927 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:933 +#: part/models.py:937 msgid "Part category" msgstr "" -#: part/models.py:941 -msgid "Internal Part Number" -msgstr "" - -#: part/models.py:948 +#: part/models.py:952 msgid "Part revision or version number" msgstr "" -#: part/models.py:973 +#: part/models.py:977 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1019 part/templates/part/part_base.html:376 +#: part/models.py:1023 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:1020 +#: part/models.py:1024 msgid "Default supplier part" msgstr "" -#: part/models.py:1027 +#: part/models.py:1031 msgid "Default Expiry" msgstr "" -#: part/models.py:1028 +#: part/models.py:1032 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1037 +#: part/models.py:1041 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1046 +#: part/models.py:1050 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1053 +#: part/models.py:1057 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1059 +#: part/models.py:1063 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1065 +#: part/models.py:1069 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1071 +#: part/models.py:1075 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1077 +#: part/models.py:1081 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1081 +#: part/models.py:1085 msgid "Is this part active?" msgstr "" -#: part/models.py:1087 +#: part/models.py:1090 templates/js/translated/part.js:818 +#: templates/js/translated/table_filters.js:721 +msgid "Locked" +msgstr "" + +#: part/models.py:1091 +msgid "Locked parts cannot be edited" +msgstr "" + +#: part/models.py:1097 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1093 +#: part/models.py:1103 msgid "BOM checksum" msgstr "" -#: part/models.py:1094 +#: part/models.py:1104 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1102 +#: part/models.py:1112 msgid "BOM checked by" msgstr "" -#: part/models.py:1107 +#: part/models.py:1117 msgid "BOM checked date" msgstr "" -#: part/models.py:1123 +#: part/models.py:1133 msgid "Creation User" msgstr "" -#: part/models.py:1133 +#: part/models.py:1143 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1138 part/templates/part/part_base.html:339 +#: part/models.py:1148 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:2474 msgid "Last Stocktake" msgstr "" -#: part/models.py:2011 +#: part/models.py:2021 msgid "Sell multiple" msgstr "" -#: part/models.py:3002 +#: part/models.py:3012 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3018 +#: part/models.py:3028 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3019 +#: part/models.py:3029 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3025 +#: part/models.py:3035 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3026 +#: part/models.py:3036 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3032 +#: part/models.py:3042 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3033 +#: part/models.py:3043 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3039 +#: part/models.py:3049 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3040 +#: part/models.py:3050 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3046 +#: part/models.py:3056 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3047 +#: part/models.py:3057 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3053 +#: part/models.py:3063 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3054 +#: part/models.py:3064 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3060 +#: part/models.py:3070 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3061 +#: part/models.py:3071 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3067 +#: part/models.py:3077 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3068 +#: part/models.py:3078 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3074 +#: part/models.py:3084 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3075 +#: part/models.py:3085 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3081 +#: part/models.py:3091 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3082 +#: part/models.py:3092 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3089 +#: part/models.py:3099 msgid "Override minimum cost" msgstr "" -#: part/models.py:3096 +#: part/models.py:3106 msgid "Override maximum cost" msgstr "" -#: part/models.py:3103 +#: part/models.py:3113 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3110 +#: part/models.py:3120 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3116 +#: part/models.py:3126 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3117 +#: part/models.py:3127 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3123 +#: part/models.py:3133 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3124 +#: part/models.py:3134 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3130 +#: part/models.py:3140 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3131 +#: part/models.py:3141 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3137 +#: part/models.py:3147 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3138 +#: part/models.py:3148 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3157 +#: part/models.py:3167 msgid "Part for stocktake" msgstr "" -#: part/models.py:3162 +#: part/models.py:3172 msgid "Item Count" msgstr "" -#: part/models.py:3163 +#: part/models.py:3173 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3171 +#: part/models.py:3181 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3175 part/models.py:3258 +#: part/models.py:3185 part/models.py:3268 #: part/templates/part/part_scheduling.html:13 #: 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:1086 templates/js/translated/pricing.js:826 +#: templates/js/translated/part.js:1089 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 #: templates/js/translated/purchase_order.js:1731 #: templates/js/translated/stock.js:2821 msgid "Date" msgstr "" -#: part/models.py:3176 +#: part/models.py:3186 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3184 +#: part/models.py:3194 msgid "Additional notes" msgstr "" -#: part/models.py:3194 +#: part/models.py:3204 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3200 +#: part/models.py:3210 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3201 +#: part/models.py:3211 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3207 +#: part/models.py:3217 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3208 +#: part/models.py:3218 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3264 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3274 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3265 +#: part/models.py:3275 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3270 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3280 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3271 +#: part/models.py:3281 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3281 +#: part/models.py:3291 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3423 +#: part/models.py:3301 +msgid "Part Sale Price Break" +msgstr "" + +#: part/models.py:3413 +msgid "Part Test Template" +msgstr "" + +#: part/models.py:3439 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3444 part/models.py:3608 +#: part/models.py:3460 part/models.py:3629 msgid "Choices must be unique" msgstr "" -#: part/models.py:3455 +#: part/models.py:3471 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3466 +#: part/models.py:3482 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3483 templates/js/translated/part.js:2880 +#: part/models.py:3499 templates/js/translated/part.js:2883 msgid "Test Name" msgstr "" -#: part/models.py:3484 +#: part/models.py:3500 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3490 +#: part/models.py:3506 msgid "Test Key" msgstr "" -#: part/models.py:3491 +#: part/models.py:3507 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3498 +#: part/models.py:3514 msgid "Test Description" msgstr "" -#: part/models.py:3499 +#: part/models.py:3515 msgid "Enter description for this test" msgstr "" -#: part/models.py:3503 report/models.py:209 -#: templates/js/translated/part.js:2901 +#: part/models.py:3519 report/models.py:209 +#: templates/js/translated/part.js:2904 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "" -#: part/models.py:3503 +#: part/models.py:3519 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3508 templates/js/translated/part.js:2909 +#: part/models.py:3524 templates/js/translated/part.js:2912 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3509 +#: part/models.py:3525 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3514 templates/js/translated/part.js:2917 +#: part/models.py:3530 templates/js/translated/part.js:2920 msgid "Requires Value" msgstr "" -#: part/models.py:3515 +#: part/models.py:3531 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3520 templates/js/translated/part.js:2924 +#: part/models.py:3536 templates/js/translated/part.js:2927 msgid "Requires Attachment" msgstr "" -#: part/models.py:3522 +#: part/models.py:3538 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3528 part/models.py:3667 templates/js/translated/part.js:1637 +#: part/models.py:3544 part/models.py:3688 templates/js/translated/part.js:1640 msgid "Choices" msgstr "" -#: part/models.py:3529 +#: part/models.py:3545 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3583 +#: part/models.py:3577 +msgid "Part Parameter Template" +msgstr "" + +#: part/models.py:3604 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3588 +#: part/models.py:3609 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3625 +#: part/models.py:3646 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3640 +#: part/models.py:3661 msgid "Parameter Name" msgstr "" -#: part/models.py:3647 +#: part/models.py:3668 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3655 +#: part/models.py:3676 msgid "Parameter description" msgstr "" -#: part/models.py:3661 templates/js/translated/part.js:1628 -#: templates/js/translated/table_filters.js:825 +#: part/models.py:3682 templates/js/translated/part.js:1631 +#: templates/js/translated/table_filters.js:830 msgid "Checkbox" msgstr "" -#: part/models.py:3662 +#: part/models.py:3683 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3668 +#: part/models.py:3689 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3745 +#: part/models.py:3723 +msgid "Part Parameter" +msgstr "" + +#: part/models.py:3749 +msgid "Parameter cannot be modified - part is locked" +msgstr "" + +#: part/models.py:3785 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3788 +#: part/models.py:3828 msgid "Parent Part" msgstr "" -#: part/models.py:3796 part/models.py:3897 part/models.py:3898 +#: part/models.py:3836 part/models.py:3944 part/models.py:3945 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3801 -msgid "Data" +#: part/models.py:3842 +msgid "Parameter Value" msgstr "" -#: part/models.py:3802 -msgid "Parameter Value" +#: part/models.py:3892 +msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:3904 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3951 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3905 +#: part/models.py:3952 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3943 +#: part/models.py:3990 msgid "Part ID or part name" msgstr "" -#: part/models.py:3944 +#: part/models.py:3991 msgid "Unique part ID value" msgstr "" -#: part/models.py:3946 +#: part/models.py:3993 msgid "Part IPN value" msgstr "" -#: part/models.py:3947 +#: part/models.py:3994 msgid "Level" msgstr "" -#: part/models.py:3947 +#: part/models.py:3994 msgid "BOM level" msgstr "" -#: part/models.py:4037 +#: part/models.py:4105 +msgid "BOM item cannot be modified - assembly is locked" +msgstr "" + +#: part/models.py:4112 +msgid "BOM item cannot be modified - variant assembly is locked" +msgstr "" + +#: part/models.py:4122 msgid "Select parent part" msgstr "" -#: part/models.py:4047 +#: part/models.py:4132 msgid "Sub part" msgstr "" -#: part/models.py:4048 +#: part/models.py:4133 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4059 +#: part/models.py:4144 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4065 +#: part/models.py:4150 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4071 +#: part/models.py:4156 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4078 part/templates/part/upload_bom.html:55 +#: part/models.py:4163 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4079 +#: part/models.py:4164 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4086 +#: part/models.py:4171 msgid "BOM item reference" msgstr "" -#: part/models.py:4094 +#: part/models.py:4179 msgid "BOM item notes" msgstr "" -#: part/models.py:4100 +#: part/models.py:4185 msgid "Checksum" msgstr "" -#: part/models.py:4101 +#: part/models.py:4186 msgid "BOM line checksum" msgstr "" -#: part/models.py:4106 templates/js/translated/table_filters.js:174 +#: part/models.py:4191 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4107 +#: part/models.py:4192 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4112 part/templates/part/upload_bom.html:57 +#: part/models.py:4197 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:4113 +#: part/models.py:4198 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4118 part/templates/part/upload_bom.html:56 +#: part/models.py:4203 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4119 +#: part/models.py:4204 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4204 stock/models.py:663 +#: part/models.py:4289 stock/models.py:663 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4214 part/models.py:4216 +#: part/models.py:4299 part/models.py:4301 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4354 +#: part/models.py:4439 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4375 +#: part/models.py:4460 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4388 +#: part/models.py:4473 msgid "Parent BOM item" msgstr "" -#: part/models.py:4396 +#: part/models.py:4481 msgid "Substitute part" msgstr "" -#: part/models.py:4412 +#: part/models.py:4497 msgid "Part 1" msgstr "" -#: part/models.py:4420 +#: part/models.py:4505 msgid "Part 2" msgstr "" -#: part/models.py:4421 +#: part/models.py:4506 msgid "Select Related Part" msgstr "" -#: part/models.py:4440 +#: part/models.py:4525 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4445 +#: part/models.py:4530 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:118 +#: part/serializers.py:124 msgid "Parent Category" msgstr "" -#: part/serializers.py:119 templates/js/translated/part.js:309 +#: part/serializers.py:125 templates/js/translated/part.js:308 msgid "Parent part category" msgstr "" -#: part/serializers.py:126 part/serializers.py:148 +#: part/serializers.py:132 part/serializers.py:154 #: part/templates/part/category.html:122 part/templates/part/category.html:207 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" -#: part/serializers.py:180 +#: part/serializers.py:189 msgid "Results" msgstr "" -#: part/serializers.py:181 +#: part/serializers.py:190 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:205 part/serializers.py:223 stock/serializers.py:562 +#: part/serializers.py:217 part/serializers.py:235 stock/serializers.py:608 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:268 +#: part/serializers.py:283 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:392 +#: part/serializers.py:410 msgid "No parts selected" msgstr "" -#: part/serializers.py:402 +#: part/serializers.py:420 msgid "Select category" msgstr "" -#: part/serializers.py:437 +#: part/serializers.py:455 msgid "Original Part" msgstr "" -#: part/serializers.py:438 +#: part/serializers.py:456 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:461 msgid "Copy Image" msgstr "" -#: part/serializers.py:444 +#: part/serializers.py:462 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:450 part/templates/part/detail.html:277 +#: part/serializers.py:468 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:451 +#: part/serializers.py:469 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:457 +#: part/serializers.py:475 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:458 +#: part/serializers.py:476 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:464 +#: part/serializers.py:482 msgid "Copy Notes" msgstr "" -#: part/serializers.py:465 +#: part/serializers.py:483 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:483 +#: part/serializers.py:501 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:485 +#: part/serializers.py:503 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:492 +#: part/serializers.py:510 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:493 +#: part/serializers.py:511 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:510 +#: part/serializers.py:528 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:526 +#: part/serializers.py:544 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:536 +#: part/serializers.py:554 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:543 +#: part/serializers.py:561 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:552 +#: part/serializers.py:570 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:563 +#: part/serializers.py:581 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:570 +#: part/serializers.py:588 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:834 -msgid "External Stock" -msgstr "" - -#: part/serializers.py:836 +#: part/serializers.py:864 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:839 +#: part/serializers.py:867 msgid "Variant Stock" msgstr "" -#: part/serializers.py:869 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:472 +#: part/serializers.py:897 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:870 +#: part/serializers.py:898 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:876 templates/js/translated/part.js:102 +#: part/serializers.py:904 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:877 +#: part/serializers.py:905 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:883 +#: part/serializers.py:911 msgid "Supplier Information" msgstr "" -#: part/serializers.py:884 +#: part/serializers.py:912 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:892 +#: part/serializers.py:920 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:893 +#: part/serializers.py:921 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:898 +#: part/serializers.py:926 msgid "Existing Image" msgstr "" -#: part/serializers.py:899 +#: part/serializers.py:927 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:916 +#: part/serializers.py:944 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1122 +#: part/serializers.py:1150 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1132 +#: part/serializers.py:1160 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1142 +#: part/serializers.py:1170 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1148 +#: part/serializers.py:1176 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1149 +#: part/serializers.py:1177 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1154 +#: part/serializers.py:1182 msgid "Generate Report" msgstr "" -#: part/serializers.py:1155 +#: part/serializers.py:1183 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1160 +#: part/serializers.py:1188 msgid "Update Parts" msgstr "" -#: part/serializers.py:1161 +#: part/serializers.py:1189 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1169 +#: part/serializers.py:1197 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1275 +#: part/serializers.py:1303 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1282 +#: part/serializers.py:1310 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1290 +#: part/serializers.py:1318 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1297 +#: part/serializers.py:1325 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1326 +#: part/serializers.py:1354 msgid "Update" msgstr "" -#: part/serializers.py:1327 +#: part/serializers.py:1355 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1350 +#: part/serializers.py:1378 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1357 +#: part/serializers.py:1385 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1360 +#: part/serializers.py:1388 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1727 +#: part/serializers.py:1759 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1735 +#: part/serializers.py:1767 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1736 +#: part/serializers.py:1768 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1741 +#: part/serializers.py:1773 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1742 +#: part/serializers.py:1774 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1747 +#: part/serializers.py:1779 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1748 +#: part/serializers.py:1780 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1753 +#: part/serializers.py:1785 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1754 +#: part/serializers.py:1786 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1788 +#: part/serializers.py:1823 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1789 +#: part/serializers.py:1824 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1819 +#: part/serializers.py:1856 msgid "No part column specified" msgstr "" -#: part/serializers.py:1863 +#: part/serializers.py:1900 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1866 +#: part/serializers.py:1903 msgid "No matching part found" msgstr "" -#: part/serializers.py:1869 +#: part/serializers.py:1906 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1878 +#: part/serializers.py:1915 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1886 +#: part/serializers.py:1923 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1907 +#: part/serializers.py:1946 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:225 templates/js/translated/part.js:1067 -#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 +#: part/stocktake.py:225 templates/js/translated/part.js:1070 +#: templates/js/translated/part.js:1825 templates/js/translated/part.js:1881 #: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "" @@ -7507,7 +7768,7 @@ msgstr "" #: part/templates/part/part_base.html:52 #: stock/templates/stock/item_base.html:62 -#: stock/templates/stock/location.html:74 templates/js/translated/label.js:143 +#: stock/templates/stock/location.html:74 templates/js/translated/label.js:136 msgid "Print Label" msgstr "" @@ -7529,7 +7790,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:2296 msgid "Part actions" msgstr "" @@ -7569,6 +7830,10 @@ msgstr "" msgid "Part can be sold to customers" msgstr "" +#: part/templates/part/part_base.html:145 +msgid "Part is not active" +msgstr "" + #: part/templates/part/part_base.html:153 msgid "Part is virtual (not a physical part)" msgstr "" @@ -7597,7 +7862,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:322 templates/js/translated/bom.js:1071 -#: templates/js/translated/part.js:1265 templates/js/translated/part.js:2444 +#: templates/js/translated/part.js:1268 templates/js/translated/part.js:2447 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" @@ -7690,8 +7955,8 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/part.js:1243 templates/js/translated/part.js:2146 -#: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 +#: templates/js/translated/part.js:1246 templates/js/translated/part.js:2149 +#: templates/js/translated/part.js:2395 templates/js/translated/stock.js:1059 #: templates/js/translated/stock.js:2070 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -7811,8 +8076,8 @@ msgstr "" #: part/templates/part/stock_count.html:7 #: templates/js/translated/model_renderers.js:227 -#: templates/js/translated/part.js:705 templates/js/translated/part.js:2141 -#: templates/js/translated/part.js:2143 +#: templates/js/translated/part.js:704 templates/js/translated/part.js:2144 +#: templates/js/translated/part.js:2146 msgid "No Stock" msgstr "" @@ -7956,7 +8221,7 @@ msgstr "" msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2589 +#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2590 #: templates/js/translated/sales_order.js:1953 msgid "Insufficient stock available" msgstr "" @@ -8051,7 +8316,7 @@ msgstr "" msgid "Quantity to allocate" msgstr "" -#: plugin/base/label/label.py:39 templates/js/translated/label.js:155 +#: plugin/base/label/label.py:39 templates/js/translated/label.js:148 msgid "Label printing failed" msgstr "" @@ -8748,7 +9013,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report.html:25 #: report/templates/report/inventree_test_report.html:88 stock/models.py:825 -#: stock/serializers.py:149 stock/templates/stock/item_base.html:311 +#: stock/serializers.py:151 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:230 @@ -8778,7 +9043,7 @@ msgstr "" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2447 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2457 msgid "Result" msgstr "" @@ -8799,7 +9064,7 @@ msgid "No result" msgstr "" #: report/templates/report/inventree_test_report.html:153 -#: stock/templates/stock/stock_sidebar.html:16 +#: stock/serializers.py:591 stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" @@ -8829,10 +9094,6 @@ msgstr "" msgid "Location ID" msgstr "" -#: stock/admin.py:53 stock/admin.py:175 -msgid "Location Name" -msgstr "" - #: stock/admin.py:63 stock/templates/stock/location.html:131 #: stock/templates/stock/location.html:137 msgid "Location Path" @@ -8909,7 +9170,7 @@ msgstr "" msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:369 stock/serializers.py:1085 +#: stock/api.py:369 stock/serializers.py:1148 msgid "Parent Location" msgstr "" @@ -8917,44 +9178,45 @@ msgstr "" msgid "Filter by parent location" msgstr "" -#: stock/api.py:625 templates/js/translated/table_filters.js:427 +#: stock/api.py:617 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:813 +#: stock/api.py:805 msgid "Part Tree" msgstr "" -#: stock/api.py:843 +#: stock/api.py:835 msgid "Expiry date before" msgstr "" -#: stock/api.py:847 +#: stock/api.py:839 msgid "Expiry date after" msgstr "" -#: stock/api.py:850 stock/templates/stock/item_base.html:439 +#: stock/api.py:842 stock/serializers.py:596 +#: stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "" -#: stock/api.py:937 +#: stock/api.py:929 msgid "Quantity is required" msgstr "" -#: stock/api.py:943 +#: stock/api.py:935 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:974 +#: stock/api.py:966 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:984 +#: stock/api.py:976 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1015 +#: stock/api.py:1007 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -9021,7 +9283,7 @@ msgstr "" msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:669 stock/serializers.py:446 +#: stock/models.py:669 stock/serializers.py:477 msgid "Stock item cannot be created for virtual parts" msgstr "" @@ -9066,7 +9328,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:799 stock/serializers.py:1476 +#: stock/models.py:799 stock/serializers.py:1542 msgid "Packaging this stock item is stored in" msgstr "" @@ -9078,7 +9340,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:843 stock/serializers.py:1459 +#: stock/models.py:843 stock/serializers.py:1525 msgid "Batch code for this stock item" msgstr "" @@ -9155,7 +9417,7 @@ msgstr "" msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1520 stock/serializers.py:660 +#: stock/models.py:1520 stock/serializers.py:718 msgid "Serial numbers already exist" msgstr "" @@ -9187,7 +9449,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1658 stock/serializers.py:1365 +#: stock/models.py:1658 stock/serializers.py:1431 msgid "Duplicate stock items" msgstr "" @@ -9207,288 +9469,330 @@ msgstr "" msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2345 +#: stock/models.py:2317 +msgid "Stock Item Tracking" +msgstr "" + +#: stock/models.py:2350 msgid "Entry notes" msgstr "" -#: stock/models.py:2413 +#: stock/models.py:2390 +msgid "Stock Item Test Result" +msgstr "" + +#: stock/models.py:2423 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2418 +#: stock/models.py:2428 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2423 +#: stock/models.py:2433 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2447 +#: stock/models.py:2457 msgid "Test result" msgstr "" -#: stock/models.py:2454 +#: stock/models.py:2464 msgid "Test output value" msgstr "" -#: stock/models.py:2462 +#: stock/models.py:2472 msgid "Test result attachment" msgstr "" -#: stock/models.py:2466 +#: stock/models.py:2476 msgid "Test notes" msgstr "" -#: stock/models.py:2474 templates/js/translated/stock.js:1548 +#: stock/models.py:2484 templates/js/translated/stock.js:1548 msgid "Test station" msgstr "" -#: stock/models.py:2475 +#: stock/models.py:2485 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2481 +#: stock/models.py:2491 msgid "Started" msgstr "" -#: stock/models.py:2482 +#: stock/models.py:2492 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2488 +#: stock/models.py:2498 msgid "Finished" msgstr "" -#: stock/models.py:2489 +#: stock/models.py:2499 msgid "The timestamp of the test finish" msgstr "" -#: stock/serializers.py:74 +#: stock/serializers.py:76 msgid "Generated batch code" msgstr "" -#: stock/serializers.py:83 +#: stock/serializers.py:85 msgid "Select build order" msgstr "" -#: stock/serializers.py:92 +#: stock/serializers.py:94 msgid "Select stock item to generate batch code for" msgstr "" -#: stock/serializers.py:101 +#: stock/serializers.py:103 msgid "Select location to generate batch code for" msgstr "" -#: stock/serializers.py:110 +#: stock/serializers.py:112 msgid "Select part to generate batch code for" msgstr "" -#: stock/serializers.py:119 +#: stock/serializers.py:121 msgid "Select purchase order" msgstr "" -#: stock/serializers.py:126 +#: stock/serializers.py:128 msgid "Enter quantity for batch code" msgstr "" -#: stock/serializers.py:149 +#: stock/serializers.py:151 msgid "Generated serial number" msgstr "" -#: stock/serializers.py:158 +#: stock/serializers.py:160 msgid "Select part to generate serial number for" msgstr "" -#: stock/serializers.py:166 +#: stock/serializers.py:168 msgid "Quantity of serial numbers to generate" msgstr "" -#: stock/serializers.py:228 +#: stock/serializers.py:233 msgid "Test template for this result" msgstr "" -#: stock/serializers.py:247 +#: stock/serializers.py:252 msgid "Template ID or test name must be provided" msgstr "" -#: stock/serializers.py:279 +#: stock/serializers.py:284 msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:315 +#: stock/serializers.py:320 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:438 +#: stock/serializers.py:449 stock/templates/stock/item_base.html:193 +msgid "Parent Item" +msgstr "" + +#: stock/serializers.py:450 +msgid "Parent stock item" +msgstr "" + +#: stock/serializers.py:469 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:558 +#: stock/serializers.py:585 templates/js/translated/build.js:991 +#: templates/js/translated/build.js:2344 +msgid "Allocated Quantity" +msgstr "" + +#: stock/serializers.py:588 stock/templates/stock/item_base.html:437 +#: templates/js/translated/table_filters.js:435 users/models.py:174 +msgid "Expired" +msgstr "" + +#: stock/serializers.py:594 stock/templates/stock/stock_sidebar.html:20 +msgid "Child Items" +msgstr "" + +#: stock/serializers.py:598 +msgid "Tracking Items" +msgstr "" + +#: stock/serializers.py:604 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:595 +#: stock/serializers.py:623 +msgid "Minimum Pricing" +msgstr "" + +#: stock/serializers.py:629 +msgid "Maximum Pricing" +msgstr "" + +#: stock/serializers.py:653 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:608 +#: stock/serializers.py:666 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:615 +#: stock/serializers.py:673 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:626 stock/serializers.py:1322 stock/serializers.py:1578 +#: stock/serializers.py:684 stock/serializers.py:1388 stock/serializers.py:1644 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:633 +#: stock/serializers.py:691 msgid "Optional note field" msgstr "" -#: stock/serializers.py:643 +#: stock/serializers.py:701 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:698 +#: stock/serializers.py:756 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:705 +#: stock/serializers.py:763 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:706 +#: stock/serializers.py:764 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:711 stock/serializers.py:791 stock/serializers.py:887 -#: stock/serializers.py:937 +#: stock/serializers.py:769 stock/serializers.py:849 stock/serializers.py:945 +#: stock/serializers.py:995 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:719 +#: stock/serializers.py:777 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:727 +#: stock/serializers.py:785 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:738 +#: stock/serializers.py:796 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:751 +#: stock/serializers.py:809 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:786 +#: stock/serializers.py:844 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:821 +#: stock/serializers.py:879 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:834 +#: stock/serializers.py:892 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:851 +#: stock/serializers.py:909 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:882 +#: stock/serializers.py:940 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:919 +#: stock/serializers.py:977 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:925 +#: stock/serializers.py:983 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1021 stock/serializers.py:1093 +#: stock/serializers.py:1079 stock/serializers.py:1156 #: stock/templates/stock/location.html:165 #: stock/templates/stock/location.html:222 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1086 templates/js/translated/stock.js:152 +#: stock/serializers.py:1149 templates/js/translated/stock.js:152 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1194 +#: stock/serializers.py:1260 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1198 +#: stock/serializers.py:1264 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1202 +#: stock/serializers.py:1268 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1226 +#: stock/serializers.py:1292 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1232 +#: stock/serializers.py:1298 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1240 +#: stock/serializers.py:1306 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1250 stock/serializers.py:1504 +#: stock/serializers.py:1316 stock/serializers.py:1570 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1329 +#: stock/serializers.py:1395 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1334 +#: stock/serializers.py:1400 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1335 +#: stock/serializers.py:1401 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1340 +#: stock/serializers.py:1406 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1341 +#: stock/serializers.py:1407 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1351 +#: stock/serializers.py:1417 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1418 +#: stock/serializers.py:1484 msgid "No Change" msgstr "" -#: stock/serializers.py:1447 +#: stock/serializers.py:1513 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1466 +#: stock/serializers.py:1532 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1494 +#: stock/serializers.py:1560 msgid "Stock transaction notes" msgstr "" @@ -9757,10 +10061,6 @@ msgstr "" msgid "Build" msgstr "" -#: stock/templates/stock/item_base.html:193 -msgid "Parent Item" -msgstr "" - #: stock/templates/stock/item_base.html:211 msgid "No manufacturer set" msgstr "" @@ -9836,11 +10136,6 @@ msgstr "" msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:437 -#: templates/js/translated/table_filters.js:435 users/models.py:174 -msgid "Expired" -msgstr "" - #: stock/templates/stock/item_base.html:439 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" @@ -9988,10 +10283,6 @@ msgstr "" msgid "Allocations" msgstr "" -#: stock/templates/stock/stock_sidebar.html:20 -msgid "Child Items" -msgstr "" - #: templates/403.html:6 templates/403.html:12 templates/403_csrf.html:7 msgid "Permission Denied" msgstr "" @@ -10466,8 +10757,8 @@ 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:393 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:245 users/models.py:402 +#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 +#: templates/js/translated/stock.js:245 users/models.py:406 msgid "Delete" msgstr "" @@ -10507,12 +10798,12 @@ msgid "No category parameter templates found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:308 -#: templates/js/translated/part.js:1646 +#: templates/js/translated/part.js:1649 msgid "Edit Template" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:309 -#: templates/js/translated/part.js:1647 +#: templates/js/translated/part.js:1650 msgid "Delete Template" msgstr "" @@ -11145,7 +11436,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2556 +#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2557 msgid "Required Quantity" msgstr "" @@ -11159,7 +11450,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3219 +#: templates/js/translated/part.js:3222 msgid "Minimum Quantity" msgstr "" @@ -11514,7 +11805,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2500 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2501 msgid "Variant stock allowed" msgstr "" @@ -11534,30 +11825,30 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2621 +#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2622 msgid "External stock" msgstr "" -#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2595 +#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2596 #: templates/js/translated/sales_order.js:1946 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2599 +#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2600 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2601 -#: templates/js/translated/part.js:1257 +#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2602 +#: templates/js/translated/part.js:1260 #: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2603 +#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2604 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2586 +#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2587 msgid "Consumable item" msgstr "" @@ -11589,7 +11880,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2485 +#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2486 msgid "Required Part" msgstr "" @@ -11758,10 +12049,6 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:991 templates/js/translated/build.js:2344 -msgid "Allocated Quantity" -msgstr "" - #: templates/js/translated/build.js:1005 msgid "Location not specified" msgstr "" @@ -11873,9 +12160,9 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2117 templates/js/translated/build.js:2479 +#: templates/js/translated/build.js:2117 templates/js/translated/build.js:2480 #: templates/js/translated/forms.js:2163 templates/js/translated/forms.js:2179 -#: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 +#: templates/js/translated/part.js:2319 templates/js/translated/part.js:2745 #: templates/js/translated/stock.js:1983 templates/js/translated/stock.js:2710 msgid "Select" msgstr "" @@ -11906,59 +12193,59 @@ msgstr "" msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2455 +#: templates/js/translated/build.js:2456 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2456 +#: templates/js/translated/build.js:2457 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2474 +#: templates/js/translated/build.js:2475 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2504 templates/js/translated/part.js:791 -#: templates/js/translated/part.js:1203 +#: templates/js/translated/build.js:2505 templates/js/translated/part.js:790 +#: templates/js/translated/part.js:1206 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2539 +#: templates/js/translated/build.js:2540 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2591 +#: templates/js/translated/build.js:2592 #: templates/js/translated/sales_order.js:1951 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2646 +#: templates/js/translated/build.js:2647 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2653 +#: templates/js/translated/build.js:2654 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2654 +#: templates/js/translated/build.js:2655 msgid "Allocate tracked items against individual build outputs" msgstr "" -#: templates/js/translated/build.js:2662 +#: templates/js/translated/build.js:2663 #: templates/js/translated/sales_order.js:2052 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2667 templates/js/translated/stock.js:1868 +#: templates/js/translated/build.js:2668 templates/js/translated/stock.js:1868 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2671 +#: templates/js/translated/build.js:2672 #: templates/js/translated/sales_order.js:2046 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2675 +#: templates/js/translated/build.js:2676 msgid "Remove stock allocation" msgstr "" @@ -12105,7 +12392,7 @@ msgid "Delete Parameters" msgstr "" #: templates/js/translated/company.js:1191 -#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2245 +#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2248 msgid "Order parts" msgstr "" @@ -12122,34 +12409,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:1279 -#: templates/js/translated/company.js:1567 templates/js/translated/part.js:799 -#: templates/js/translated/part.js:1211 +#: templates/js/translated/company.js:1567 templates/js/translated/part.js:798 +#: templates/js/translated/part.js:1214 msgid "Template part" msgstr "" #: templates/js/translated/company.js:1283 -#: templates/js/translated/company.js:1571 templates/js/translated/part.js:803 -#: templates/js/translated/part.js:1215 +#: templates/js/translated/company.js:1571 templates/js/translated/part.js:802 +#: templates/js/translated/part.js:1218 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1465 +#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1468 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1528 +#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1531 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1529 +#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1532 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1434 +#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1437 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1550 +#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1553 msgid "Delete Parameter" msgstr "" @@ -12323,15 +12610,15 @@ msgstr "" msgid "No parts required for builds" msgstr "" -#: templates/js/translated/label.js:55 templates/js/translated/report.js:38 +#: templates/js/translated/label.js:48 templates/js/translated/report.js:38 msgid "Select Items" msgstr "" -#: templates/js/translated/label.js:56 templates/js/translated/report.js:39 +#: templates/js/translated/label.js:49 templates/js/translated/report.js:39 msgid "No items selected for printing" msgstr "" -#: templates/js/translated/label.js:150 +#: templates/js/translated/label.js:143 msgid "Labels sent to printer" msgstr "" @@ -12400,7 +12687,7 @@ msgstr "" #: templates/js/translated/news.js:38 #: templates/js/translated/notification.js:46 -#: templates/js/translated/part.js:1605 +#: templates/js/translated/part.js:1608 msgid "ID" msgstr "" @@ -12481,343 +12768,343 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:333 templates/js/translated/stock.js:175 +#: templates/js/translated/part.js:332 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:353 +#: templates/js/translated/part.js:352 msgid "Create Part Category" msgstr "" -#: templates/js/translated/part.js:356 +#: templates/js/translated/part.js:355 msgid "Create new category after this one" msgstr "" -#: templates/js/translated/part.js:357 +#: templates/js/translated/part.js:356 msgid "Part category created" msgstr "" -#: templates/js/translated/part.js:371 +#: templates/js/translated/part.js:370 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:384 +#: templates/js/translated/part.js:383 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:389 +#: templates/js/translated/part.js:388 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:398 +#: templates/js/translated/part.js:397 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:402 +#: templates/js/translated/part.js:401 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:407 +#: templates/js/translated/part.js:406 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:431 +#: templates/js/translated/part.js:430 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:433 +#: templates/js/translated/part.js:432 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:434 +#: templates/js/translated/part.js:433 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:462 +#: templates/js/translated/part.js:461 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:464 +#: templates/js/translated/part.js:463 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:475 +#: templates/js/translated/part.js:474 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:532 +#: templates/js/translated/part.js:531 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:533 +#: templates/js/translated/part.js:532 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:547 +#: templates/js/translated/part.js:546 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:549 +#: templates/js/translated/part.js:548 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:550 +#: templates/js/translated/part.js:549 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:551 +#: templates/js/translated/part.js:550 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:558 +#: templates/js/translated/part.js:557 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:594 +#: templates/js/translated/part.js:593 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:596 +#: templates/js/translated/part.js:595 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:601 +#: templates/js/translated/part.js:600 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:603 +#: templates/js/translated/part.js:602 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:620 +#: templates/js/translated/part.js:619 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:630 +#: templates/js/translated/part.js:629 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:633 +#: templates/js/translated/part.js:632 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:658 +#: templates/js/translated/part.js:657 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:686 -#: templates/js/translated/table_filters.js:747 +#: templates/js/translated/part.js:685 +#: templates/js/translated/table_filters.js:752 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:689 +#: templates/js/translated/part.js:688 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:749 +#: templates/js/translated/part.js:748 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:772 +#: templates/js/translated/part.js:771 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:795 templates/js/translated/part.js:1207 +#: templates/js/translated/part.js:794 templates/js/translated/part.js:1210 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:807 +#: templates/js/translated/part.js:806 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:811 +#: templates/js/translated/part.js:810 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:890 +#: templates/js/translated/part.js:893 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:890 +#: templates/js/translated/part.js:893 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:898 +#: templates/js/translated/part.js:901 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:902 +#: templates/js/translated/part.js:905 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:1051 +#: templates/js/translated/part.js:1054 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1109 templates/js/translated/part.js:1145 +#: templates/js/translated/part.js:1112 templates/js/translated/part.js:1148 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1113 templates/js/translated/part.js:1155 +#: templates/js/translated/part.js:1116 templates/js/translated/part.js:1158 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1282 +#: templates/js/translated/part.js:1285 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1600 +#: templates/js/translated/part.js:1603 msgid "No part parameter templates found" msgstr "" -#: templates/js/translated/part.js:1663 +#: templates/js/translated/part.js:1666 msgid "Edit Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1675 +#: templates/js/translated/part.js:1678 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/js/translated/part.js:1683 +#: templates/js/translated/part.js:1686 msgid "Delete Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1717 +#: templates/js/translated/part.js:1720 #: templates/js/translated/purchase_order.js:1654 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/part.js:1861 +#: templates/js/translated/part.js:1864 #: 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:1907 +#: templates/js/translated/part.js:1910 #: templates/js/translated/purchase_order.js:2220 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1970 +#: templates/js/translated/part.js:1973 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1992 +#: templates/js/translated/part.js:1995 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2080 templates/js/translated/part.js:2506 +#: templates/js/translated/part.js:2083 templates/js/translated/part.js:2509 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:2201 +#: templates/js/translated/part.js:2204 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2206 +#: templates/js/translated/part.js:2209 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2236 +#: templates/js/translated/part.js:2239 msgid "Set category" msgstr "" -#: templates/js/translated/part.js:2287 +#: templates/js/translated/part.js:2290 msgid "part" msgstr "" -#: templates/js/translated/part.js:2288 +#: templates/js/translated/part.js:2291 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2384 +#: templates/js/translated/part.js:2387 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 +#: templates/js/translated/part.js:2534 templates/js/translated/part.js:2664 #: templates/js/translated/stock.js:2669 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2547 +#: templates/js/translated/part.js:2550 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2645 +#: templates/js/translated/part.js:2648 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2689 +#: templates/js/translated/part.js:2684 templates/js/translated/stock.js:2689 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2761 +#: templates/js/translated/part.js:2764 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2777 +#: templates/js/translated/part.js:2780 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2865 +#: templates/js/translated/part.js:2868 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2887 templates/js/translated/search.js:342 +#: templates/js/translated/part.js:2890 templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/part.js:2937 templates/js/translated/stock.js:1456 +#: templates/js/translated/part.js:2940 templates/js/translated/stock.js:1456 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2938 templates/js/translated/stock.js:1457 +#: templates/js/translated/part.js:2941 templates/js/translated/stock.js:1457 #: templates/js/translated/stock.js:1731 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2942 +#: templates/js/translated/part.js:2945 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2958 +#: templates/js/translated/part.js:2961 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2972 +#: templates/js/translated/part.js:2975 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3051 templates/js/translated/part.js:3052 +#: templates/js/translated/part.js:3054 templates/js/translated/part.js:3055 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3054 +#: templates/js/translated/part.js:3057 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3060 +#: templates/js/translated/part.js:3063 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3110 +#: templates/js/translated/part.js:3113 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3116 +#: templates/js/translated/part.js:3119 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3212 +#: templates/js/translated/part.js:3215 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3228 +#: templates/js/translated/part.js:3231 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3273 +#: templates/js/translated/part.js:3276 msgid "Minimum Stock Level" msgstr "" @@ -13593,7 +13880,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1042 users/models.py:392 +#: templates/js/translated/stock.js:1042 users/models.py:396 msgid "Add" msgstr "" @@ -13947,7 +14234,7 @@ msgid "Include subcategories" msgstr "" #: templates/js/translated/table_filters.js:287 -#: templates/js/translated/table_filters.js:759 +#: templates/js/translated/table_filters.js:764 msgid "Subscribed" msgstr "" @@ -14102,40 +14389,44 @@ msgstr "" msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:725 +#: templates/js/translated/table_filters.js:722 +msgid "Show locked parts" +msgstr "" + +#: templates/js/translated/table_filters.js:730 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:733 -#: templates/js/translated/table_filters.js:833 +#: templates/js/translated/table_filters.js:738 +#: templates/js/translated/table_filters.js:838 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:734 +#: templates/js/translated/table_filters.js:739 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:738 +#: templates/js/translated/table_filters.js:743 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:739 +#: templates/js/translated/table_filters.js:744 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:743 +#: templates/js/translated/table_filters.js:748 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:751 +#: templates/js/translated/table_filters.js:756 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:763 +#: templates/js/translated/table_filters.js:768 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:829 +#: templates/js/translated/table_filters.js:834 msgid "Has Choices" msgstr "" @@ -14207,10 +14498,6 @@ msgstr "" msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:558 -msgid "Columns" -msgstr "" - #: templates/js/translated/tables.js:561 msgid "All" msgstr "" @@ -14484,35 +14771,34 @@ msgstr "" msgid "Revoked" msgstr "" -#: users/models.py:375 +#: users/models.py:379 msgid "Permission set" msgstr "" -#: users/models.py:384 +#: users/models.py:388 msgid "Group" msgstr "" -#: users/models.py:388 +#: users/models.py:392 msgid "View" msgstr "" -#: users/models.py:388 +#: users/models.py:392 msgid "Permission to view items" msgstr "" -#: users/models.py:392 +#: users/models.py:396 msgid "Permission to add items" msgstr "" -#: users/models.py:396 +#: users/models.py:400 msgid "Change" msgstr "" -#: users/models.py:398 +#: users/models.py:402 msgid "Permissions to edit items" msgstr "" -#: users/models.py:404 +#: users/models.py:408 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 a8d5184fa04a..02d94a87efcd 100644 --- a/src/backend/InvenTree/locale/lv/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/lv/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-07-05 02:47+0000\n" +"POT-Creation-Date: 2024-07-08 14:46+0000\n" "PO-Revision-Date: 2024-07-05 14:58\n" "Last-Translator: \n" "Language-Team: Latvian\n" @@ -21,7 +21,7 @@ msgstr "" msgid "API endpoint not found" msgstr "API galapunkts nav atrasts" -#: InvenTree/api.py:520 +#: InvenTree/api.py:505 msgid "User does not have permission to view this model" msgstr "Lietotājam nav atļaujas, lai apskatītu šo modeli" @@ -56,21 +56,21 @@ msgstr "" msgid "Enter date" msgstr "Ievadiet datumu" -#: InvenTree/fields.py:205 InvenTree/models.py:918 build/serializers.py:452 -#: build/serializers.py:530 build/templates/build/sidebar.html:21 -#: company/models.py:817 company/templates/company/sidebar.html:37 +#: InvenTree/fields.py:205 InvenTree/models.py:921 build/serializers.py:456 +#: build/serializers.py:534 build/templates/build/sidebar.html:21 +#: company/models.py:824 company/templates/company/sidebar.html:37 #: order/models.py:1296 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:3183 part/templates/part/part_sidebar.html:63 +#: part/models.py:3193 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:230 stock/models.py:2344 stock/models.py:2466 -#: stock/serializers.py:632 stock/serializers.py:790 stock/serializers.py:886 -#: stock/serializers.py:936 stock/serializers.py:1239 stock/serializers.py:1328 -#: stock/serializers.py:1493 stock/templates/stock/stock_sidebar.html:25 +#: stock/admin.py:230 stock/models.py:2349 stock/models.py:2476 +#: stock/serializers.py:690 stock/serializers.py:848 stock/serializers.py:944 +#: stock/serializers.py:994 stock/serializers.py:1305 stock/serializers.py:1394 +#: stock/serializers.py:1559 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:1081 +#: templates/js/translated/part.js:1084 #: templates/js/translated/purchase_order.js:2200 #: templates/js/translated/return_order.js:775 #: templates/js/translated/sales_order.js:1103 @@ -371,41 +371,41 @@ msgstr "" msgid "JSON metadata field, for use by external plugins" msgstr "" -#: InvenTree/models.py:408 +#: InvenTree/models.py:411 msgid "Improperly formatted pattern" msgstr "" -#: InvenTree/models.py:415 +#: InvenTree/models.py:418 msgid "Unknown format key specified" msgstr "" -#: InvenTree/models.py:421 +#: InvenTree/models.py:424 msgid "Missing required format key" msgstr "" -#: InvenTree/models.py:432 +#: InvenTree/models.py:435 msgid "Reference field cannot be empty" msgstr "" -#: InvenTree/models.py:440 +#: InvenTree/models.py:443 msgid "Reference must match required pattern" msgstr "" -#: InvenTree/models.py:471 +#: InvenTree/models.py:474 msgid "Reference number is too large" msgstr "" -#: InvenTree/models.py:719 +#: InvenTree/models.py:722 msgid "Duplicate names cannot exist under the same parent" msgstr "" -#: InvenTree/models.py:736 +#: InvenTree/models.py:739 msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:766 common/models.py:2678 common/models.py:3103 -#: common/serializers.py:408 company/models.py:580 machine/models.py:24 -#: part/models.py:891 part/models.py:3639 plugin/models.py:51 +#: InvenTree/models.py:769 common/models.py:2659 common/models.py:3089 +#: common/serializers.py:412 company/models.py:587 machine/models.py:24 +#: part/models.py:895 part/models.py:3660 plugin/models.py:51 #: report/models.py:150 stock/models.py:74 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -417,20 +417,20 @@ msgstr "" #: templates/js/translated/company.js:724 #: templates/js/translated/company.js:913 #: templates/js/translated/company.js:1165 -#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1187 -#: templates/js/translated/part.js:1475 templates/js/translated/part.js:1611 -#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2716 +#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1190 +#: templates/js/translated/part.js:1478 templates/js/translated/part.js:1614 +#: templates/js/translated/part.js:2752 templates/js/translated/stock.js:2716 msgid "Name" msgstr "" -#: InvenTree/models.py:772 build/models.py:235 -#: build/templates/build/detail.html:24 common/models.py:138 -#: company/models.py:509 company/models.py:808 +#: InvenTree/models.py:775 build/models.py:242 +#: build/templates/build/detail.html:24 common/models.py:143 +#: company/models.py:515 company/models.py:815 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 -#: order/models.py:1329 part/admin.py:305 part/admin.py:408 part/models.py:914 -#: part/models.py:3654 part/templates/part/category.html:82 +#: order/models.py:1329 part/admin.py:305 part/admin.py:408 part/models.py:918 +#: part/models.py:3675 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:156 #: report/models.py:510 report/models.py:536 @@ -444,10 +444,10 @@ msgstr "" #: templates/js/translated/build.js:2139 templates/js/translated/company.js:519 #: templates/js/translated/company.js:1330 #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 -#: templates/js/translated/order.js:298 templates/js/translated/part.js:1239 -#: templates/js/translated/part.js:1484 templates/js/translated/part.js:1622 -#: templates/js/translated/part.js:1959 templates/js/translated/part.js:2355 -#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2897 +#: templates/js/translated/order.js:298 templates/js/translated/part.js:1242 +#: templates/js/translated/part.js:1487 templates/js/translated/part.js:1625 +#: templates/js/translated/part.js:1962 templates/js/translated/part.js:2358 +#: templates/js/translated/part.js:2788 templates/js/translated/part.js:2900 #: templates/js/translated/plugin.js:80 #: templates/js/translated/purchase_order.js:1706 #: templates/js/translated/purchase_order.js:1849 @@ -460,53 +460,53 @@ msgstr "" msgid "Description" msgstr "" -#: InvenTree/models.py:773 stock/models.py:81 +#: InvenTree/models.py:776 stock/models.py:81 msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:788 templates/js/translated/part.js:2794 +#: InvenTree/models.py:791 templates/js/translated/part.js:2797 #: templates/js/translated/stock.js:2757 msgid "Path" msgstr "" -#: InvenTree/models.py:918 +#: InvenTree/models.py:921 msgid "Markdown notes (optional)" msgstr "" -#: InvenTree/models.py:947 +#: InvenTree/models.py:950 msgid "Barcode Data" msgstr "" -#: InvenTree/models.py:948 +#: InvenTree/models.py:951 msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:954 +#: InvenTree/models.py:957 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:955 +#: InvenTree/models.py:958 msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:1008 +#: InvenTree/models.py:1011 msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:1051 +#: InvenTree/models.py:1054 msgid "Server Error" msgstr "" -#: InvenTree/models.py:1052 +#: InvenTree/models.py:1055 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:63 part/models.py:4192 +#: InvenTree/serializers.py:63 part/models.py:4277 msgid "Must be a valid number" msgstr "" #: InvenTree/serializers.py:100 company/models.py:186 -#: company/templates/company/company_base.html:112 part/models.py:3001 +#: company/templates/company/company_base.html:112 part/models.py:3011 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -556,16 +556,16 @@ msgstr "" msgid "Is this user a superuser" msgstr "" -#: InvenTree/serializers.py:445 common/models.py:2683 company/models.py:163 -#: company/models.py:782 machine/models.py:39 part/admin.py:88 -#: part/models.py:1081 plugin/models.py:66 +#: InvenTree/serializers.py:445 common/models.py:2664 company/models.py:163 +#: company/models.py:789 machine/models.py:39 part/admin.py:88 +#: part/models.py:1085 plugin/models.py:66 #: 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 #: templates/js/translated/table_filters.js:520 #: templates/js/translated/table_filters.js:716 -#: templates/js/translated/table_filters.js:796 users/models.py:182 +#: templates/js/translated/table_filters.js:801 users/models.py:182 msgid "Active" msgstr "" @@ -597,7 +597,7 @@ msgstr "" msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:581 +#: InvenTree/serializers.py:581 importer/models.py:60 msgid "Data File" msgstr "" @@ -651,7 +651,7 @@ msgstr "" msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/status.py:66 part/serializers.py:1174 +#: InvenTree/status.py:66 part/serializers.py:1202 msgid "Background worker check failed" msgstr "" @@ -711,47 +711,48 @@ msgstr "" msgid "About InvenTree" msgstr "" -#: build/api.py:255 +#: build/api.py:248 msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:299 part/models.py:4070 templates/js/translated/bom.js:997 -#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 +#: build/api.py:292 build/serializers.py:1190 part/models.py:4155 +#: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 +#: templates/js/translated/build.js:2521 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:300 part/models.py:4064 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 +#: build/api.py:293 build/serializers.py:1191 part/models.py:4149 +#: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 +#: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2530 #: templates/js/translated/table_filters.js:186 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:587 msgid "Optional" msgstr "" -#: build/api.py:301 templates/js/translated/table_filters.js:408 +#: build/api.py:294 templates/js/translated/table_filters.js:408 #: templates/js/translated/table_filters.js:579 msgid "Tracked" msgstr "" -#: build/api.py:303 part/admin.py:144 templates/js/translated/build.js:1744 -#: templates/js/translated/build.js:2629 +#: build/api.py:296 part/admin.py:144 templates/js/translated/build.js:1744 +#: templates/js/translated/build.js:2630 #: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:571 msgid "Allocated" msgstr "" -#: build/api.py:311 company/models.py:872 company/serializers.py:359 +#: build/api.py:304 company/models.py:879 company/serializers.py:386 #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2561 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2562 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:234 -#: templates/js/translated/part.js:693 templates/js/translated/part.js:695 -#: templates/js/translated/part.js:700 +#: 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 #: templates/js/translated/table_filters.js:575 msgid "Available" @@ -760,7 +761,7 @@ msgstr "" #: build/models.py:85 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 -#: stock/serializers.py:82 templates/email/build_order_completed.html:16 +#: stock/serializers.py:84 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:2892 msgid "Build Order" @@ -781,35 +782,39 @@ msgstr "" msgid "Assembly BOM has not been validated" msgstr "" -#: build/models.py:134 part/templates/part/part_base.html:145 -msgid "Part is not active" +#: build/models.py:134 +msgid "Build order cannot be created for an inactive part" +msgstr "" + +#: build/models.py:141 +msgid "Build order cannot be created for an unlocked part" msgstr "" -#: build/models.py:148 +#: build/models.py:155 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:159 order/models.py:240 +#: build/models.py:166 order/models.py:240 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:165 +#: build/models.py:172 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:226 +#: build/models.py:233 msgid "Build Order Reference" msgstr "" -#: build/models.py:227 order/models.py:463 order/models.py:926 -#: order/models.py:1289 order/models.py:2020 part/admin.py:411 -#: part/models.py:4085 part/templates/part/upload_bom.html:54 +#: build/models.py:234 build/serializers.py:1189 order/models.py:463 +#: order/models.py:926 order/models.py:1289 order/models.py:2046 +#: part/admin.py:411 part/models.py:4170 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: 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/build.js:2513 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2065 #: templates/js/translated/return_order.js:728 @@ -817,27 +822,28 @@ msgstr "" msgid "Reference" msgstr "" -#: build/models.py:238 +#: build/models.py:245 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:246 build/templates/build/build_base.html:183 +#: build/models.py:253 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/models.py:247 +#: build/models.py:254 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:252 build/templates/build/build_base.html:97 -#: build/templates/build/detail.html:29 company/models.py:1026 order/api.py:805 -#: order/models.py:1414 order/models.py:1559 order/models.py:1560 -#: part/api.py:1494 part/api.py:1788 part/models.py:395 part/models.py:3012 -#: part/models.py:3156 part/models.py:3303 part/models.py:3324 -#: part/models.py:3346 part/models.py:3477 part/models.py:3787 -#: part/models.py:3943 part/models.py:4036 part/models.py:4395 -#: part/serializers.py:1120 part/serializers.py:1726 +#: build/models.py:259 build/serializers.py:1184 +#: build/templates/build/build_base.html:97 +#: build/templates/build/detail.html:29 company/models.py:1034 order/api.py:759 +#: order/models.py:1419 order/models.py:1574 order/models.py:1575 +#: part/api.py:1480 part/api.py:1776 part/models.py:396 part/models.py:3022 +#: part/models.py:3166 part/models.py:3314 part/models.py:3335 +#: part/models.py:3357 part/models.py:3493 part/models.py:3827 +#: part/models.py:3990 part/models.py:4121 part/models.py:4480 +#: part/serializers.py:1148 part/serializers.py:1758 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -848,8 +854,8 @@ msgstr "" #: 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:109 stock/serializers.py:157 stock/serializers.py:423 -#: stock/serializers.py:820 templates/InvenTree/search.html:82 +#: stock/serializers.py:111 stock/serializers.py:159 stock/serializers.py:443 +#: stock/serializers.py:878 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 @@ -862,8 +868,8 @@ msgstr "" #: templates/js/translated/company.js:1116 #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 -#: templates/js/translated/part.js:1944 templates/js/translated/part.js:2016 -#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:1947 templates/js/translated/part.js:2019 +#: templates/js/translated/part.js:2327 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:1848 @@ -881,107 +887,107 @@ msgstr "" msgid "Part" msgstr "" -#: build/models.py:260 +#: build/models.py:267 msgid "Select part to build" msgstr "" -#: build/models.py:265 +#: build/models.py:272 msgid "Sales Order Reference" msgstr "" -#: build/models.py:269 +#: build/models.py:276 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:274 build/serializers.py:999 +#: build/models.py:281 build/serializers.py:1003 #: templates/js/translated/build.js:1731 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "" -#: build/models.py:278 +#: build/models.py:285 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:283 +#: build/models.py:290 msgid "Destination Location" msgstr "" -#: build/models.py:287 +#: build/models.py:294 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:291 +#: build/models.py:298 msgid "Build Quantity" msgstr "" -#: build/models.py:294 +#: build/models.py:301 msgid "Number of stock items to build" msgstr "" -#: build/models.py:298 +#: build/models.py:305 msgid "Completed items" msgstr "" -#: build/models.py:300 +#: build/models.py:307 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:304 +#: build/models.py:311 msgid "Build Status" msgstr "" -#: build/models.py:308 +#: build/models.py:315 msgid "Build status code" msgstr "" -#: build/models.py:317 build/serializers.py:286 order/serializers.py:580 -#: stock/models.py:839 stock/serializers.py:74 stock/serializers.py:1458 +#: build/models.py:324 build/serializers.py:290 order/serializers.py:629 +#: stock/models.py:839 stock/serializers.py:76 stock/serializers.py:1524 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "" -#: build/models.py:321 build/serializers.py:287 +#: build/models.py:328 build/serializers.py:291 msgid "Batch code for this build output" msgstr "" -#: build/models.py:324 order/models.py:316 order/serializers.py:119 -#: part/models.py:1115 part/templates/part/part_base.html:310 +#: build/models.py:331 order/models.py:316 order/serializers.py:127 +#: part/models.py:1125 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:328 +#: build/models.py:335 msgid "Target completion date" msgstr "" -#: build/models.py:329 +#: build/models.py:336 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:332 order/models.py:521 order/models.py:2065 +#: build/models.py:339 order/models.py:521 order/models.py:2091 #: templates/js/translated/build.js:2247 msgid "Completion Date" msgstr "" -#: build/models.py:338 +#: build/models.py:345 msgid "completed by" msgstr "" -#: build/models.py:346 templates/js/translated/build.js:2207 +#: build/models.py:353 templates/js/translated/build.js:2207 msgid "Issued by" msgstr "" -#: build/models.py:347 +#: build/models.py:354 msgid "User who issued this build order" msgstr "" -#: build/models.py:355 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 common/models.py:147 +#: build/models.py:362 build/templates/build/build_base.html:204 +#: build/templates/build/detail.html:122 common/models.py:152 #: order/models.py:334 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:232 part/models.py:1132 +#: order/templates/order/sales_order_base.html:232 part/models.py:1142 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 @@ -992,11 +998,11 @@ msgstr "" msgid "Responsible" msgstr "" -#: build/models.py:356 +#: build/models.py:363 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:361 build/templates/build/detail.html:108 +#: build/models.py:368 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 @@ -1008,21 +1014,22 @@ msgstr "" msgid "External Link" msgstr "" -#: build/models.py:362 common/models.py:3244 part/models.py:956 +#: build/models.py:369 common/models.py:3230 part/models.py:960 #: stock/models.py:835 msgid "Link to external URL" msgstr "" -#: build/models.py:366 +#: build/models.py:373 msgid "Build Priority" msgstr "" -#: build/models.py:369 +#: build/models.py:376 msgid "Priority of this build order" msgstr "" -#: build/models.py:376 common/models.py:131 order/admin.py:18 -#: order/models.py:298 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:383 common/models.py:122 common/models.py:136 +#: order/admin.py:18 order/models.py:298 order/serializers.py:108 +#: templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 #: templates/js/translated/purchase_order.js:1710 #: templates/js/translated/return_order.js:317 @@ -1032,65 +1039,66 @@ msgstr "" msgid "Project Code" msgstr "" -#: build/models.py:377 +#: build/models.py:384 msgid "Project code for this build order" msgstr "" -#: build/models.py:610 build/models.py:675 +#: build/models.py:617 build/models.py:682 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:632 +#: build/models.py:639 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:638 +#: build/models.py:645 msgid "A build order has been completed" msgstr "" -#: build/models.py:864 build/models.py:949 +#: build/models.py:871 build/models.py:956 msgid "No build output specified" msgstr "" -#: build/models.py:867 +#: build/models.py:874 msgid "Build output is already completed" msgstr "" -#: build/models.py:870 +#: build/models.py:877 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:953 build/serializers.py:219 build/serializers.py:268 -#: build/serializers.py:866 order/models.py:559 order/serializers.py:432 -#: order/serializers.py:575 part/serializers.py:1484 part/serializers.py:1884 -#: stock/models.py:678 stock/models.py:1496 stock/serializers.py:603 +#: build/models.py:960 build/serializers.py:223 build/serializers.py:272 +#: build/serializers.py:870 order/models.py:559 order/serializers.py:461 +#: order/serializers.py:624 part/serializers.py:1515 part/serializers.py:1921 +#: stock/models.py:678 stock/models.py:1496 stock/serializers.py:661 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:958 build/serializers.py:224 +#: build/models.py:965 build/serializers.py:228 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1018 build/serializers.py:547 +#: build/models.py:1025 build/serializers.py:551 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1359 +#: build/models.py:1366 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1384 +#: build/models.py:1391 msgid "Build object" msgstr "" -#: build/models.py:1398 build/models.py:1654 build/serializers.py:206 -#: build/serializers.py:253 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2563 -#: order/models.py:1272 order/models.py:1931 order/serializers.py:1327 +#: build/models.py:1405 build/models.py:1661 build/serializers.py:210 +#: build/serializers.py:257 build/serializers.py:1194 +#: build/templates/build/build_base.html:102 +#: build/templates/build/detail.html:34 common/models.py:2544 +#: order/models.py:1272 order/models.py:1957 order/serializers.py:1383 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:410 -#: part/forms.py:48 part/models.py:3170 part/models.py:4058 +#: part/forms.py:48 part/models.py:3180 part/models.py:4143 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1100,7 +1108,7 @@ msgstr "" #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:169 stock/admin.py:159 -#: stock/serializers.py:125 stock/serializers.py:165 stock/serializers.py:594 +#: stock/serializers.py:127 stock/serializers.py:167 stock/serializers.py:652 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 @@ -1111,8 +1119,8 @@ msgstr "" #: templates/js/translated/build.js:1746 templates/js/translated/build.js:2357 #: templates/js/translated/company.js:1818 #: templates/js/translated/model_renderers.js:236 -#: templates/js/translated/order.js:304 templates/js/translated/part.js:962 -#: templates/js/translated/part.js:1812 templates/js/translated/part.js:3342 +#: templates/js/translated/order.js:304 templates/js/translated/part.js:965 +#: templates/js/translated/part.js:1815 templates/js/translated/part.js:3345 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 @@ -1132,38 +1140,38 @@ msgstr "" msgid "Quantity" msgstr "" -#: build/models.py:1399 +#: build/models.py:1406 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1479 +#: build/models.py:1486 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1488 +#: build/models.py:1495 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1498 order/models.py:1882 +#: build/models.py:1505 order/models.py:1908 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1504 order/models.py:1885 +#: build/models.py:1511 order/models.py:1911 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1510 +#: build/models.py:1517 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1569 +#: build/models.py:1576 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1641 build/serializers.py:846 order/serializers.py:1171 -#: order/serializers.py:1192 stock/models.py:359 stock/serializers.py:91 -#: stock/serializers.py:697 stock/serializers.py:1177 stock/serializers.py:1289 +#: build/models.py:1648 build/serializers.py:850 order/serializers.py:1227 +#: order/serializers.py:1248 stock/models.py:359 stock/serializers.py:93 +#: stock/serializers.py:755 stock/serializers.py:1243 stock/serializers.py:1355 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 @@ -1179,70 +1187,76 @@ msgstr "" msgid "Stock Item" msgstr "" -#: build/models.py:1642 +#: build/models.py:1649 msgid "Source stock item" msgstr "" -#: build/models.py:1655 +#: build/models.py:1662 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1663 +#: build/models.py:1670 msgid "Install into" msgstr "" -#: build/models.py:1664 +#: build/models.py:1671 msgid "Destination stock item" msgstr "" -#: build/serializers.py:156 build/serializers.py:875 +#: build/serializers.py:89 build/serializers.py:1185 part/admin.py:41 +#: part/admin.py:405 part/models.py:3992 part/stocktake.py:220 +#: stock/admin.py:156 +msgid "Part Name" +msgstr "" + +#: build/serializers.py:160 build/serializers.py:879 #: templates/js/translated/build.js:1322 msgid "Build Output" msgstr "" -#: build/serializers.py:168 +#: build/serializers.py:172 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:172 +#: build/serializers.py:176 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:176 +#: build/serializers.py:180 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:187 +#: build/serializers.py:191 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:207 build/serializers.py:254 +#: build/serializers.py:211 build/serializers.py:258 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:275 +#: build/serializers.py:279 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:278 +#: build/serializers.py:282 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:293 order/serializers.py:588 order/serializers.py:1331 -#: stock/serializers.py:614 templates/js/translated/purchase_order.js:1153 +#: build/serializers.py:297 order/serializers.py:637 order/serializers.py:1387 +#: stock/serializers.py:672 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:294 +#: build/serializers.py:298 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:299 build/serializers.py:440 build/serializers.py:512 -#: order/serializers.py:564 order/serializers.py:672 order/serializers.py:1656 -#: part/serializers.py:1140 stock/serializers.py:100 stock/serializers.py:625 -#: stock/serializers.py:785 stock/serializers.py:881 stock/serializers.py:1321 -#: stock/serializers.py:1577 stock/templates/stock/item_base.html:394 +#: build/serializers.py:303 build/serializers.py:444 build/serializers.py:516 +#: order/serializers.py:613 order/serializers.py:721 order/serializers.py:1714 +#: part/serializers.py:1168 stock/serializers.py:102 stock/serializers.py:683 +#: stock/serializers.py:843 stock/serializers.py:939 stock/serializers.py:1387 +#: stock/serializers.py:1643 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 @@ -1258,54 +1272,54 @@ msgstr "" msgid "Location" msgstr "" -#: build/serializers.py:300 +#: build/serializers.py:304 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:314 +#: build/serializers.py:318 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:315 +#: build/serializers.py:319 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:330 +#: build/serializers.py:334 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:355 stock/api.py:1041 +#: build/serializers.py:359 stock/api.py:1033 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:402 build/serializers.py:464 build/serializers.py:553 +#: build/serializers.py:406 build/serializers.py:468 build/serializers.py:557 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:441 +#: build/serializers.py:445 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:447 +#: build/serializers.py:451 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:448 +#: build/serializers.py:452 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:453 +#: build/serializers.py:457 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:513 +#: build/serializers.py:517 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:519 build/templates/build/build_base.html:151 +#: build/serializers.py:523 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:950 -#: order/models.py:2044 order/serializers.py:596 stock/admin.py:164 -#: stock/serializers.py:932 stock/serializers.py:1465 +#: order/models.py:2070 order/serializers.py:645 stock/admin.py:164 +#: stock/serializers.py:990 stock/serializers.py:1531 #: 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 @@ -1317,193 +1331,241 @@ msgstr "" msgid "Status" msgstr "" -#: build/serializers.py:525 +#: build/serializers.py:529 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:526 +#: build/serializers.py:530 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:611 +#: build/serializers.py:615 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:612 +#: build/serializers.py:616 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:618 +#: build/serializers.py:622 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:619 +#: build/serializers.py:623 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:646 +#: build/serializers.py:650 msgid "Not permitted" msgstr "" -#: build/serializers.py:647 +#: build/serializers.py:651 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:648 +#: build/serializers.py:652 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:678 +#: build/serializers.py:682 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:680 +#: build/serializers.py:684 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:690 +#: build/serializers.py:694 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:695 +#: build/serializers.py:699 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:696 +#: build/serializers.py:700 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:706 templates/js/translated/build.js:315 +#: build/serializers.py:710 templates/js/translated/build.js:315 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:711 order/serializers.py:300 order/serializers.py:1234 +#: build/serializers.py:715 order/serializers.py:319 order/serializers.py:1290 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:712 +#: build/serializers.py:716 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:722 templates/js/translated/build.js:319 +#: build/serializers.py:726 templates/js/translated/build.js:319 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:731 templates/js/translated/build.js:303 +#: build/serializers.py:735 templates/js/translated/build.js:303 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:769 +#: build/serializers.py:773 msgid "Build Line" msgstr "" -#: build/serializers.py:779 +#: build/serializers.py:783 msgid "Build output" msgstr "" -#: build/serializers.py:787 +#: build/serializers.py:791 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:823 +#: build/serializers.py:827 msgid "Build Line Item" msgstr "" -#: build/serializers.py:837 +#: build/serializers.py:841 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:852 stock/serializers.py:1190 +#: build/serializers.py:856 stock/serializers.py:1256 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:900 order/serializers.py:1225 +#: build/serializers.py:904 order/serializers.py:1281 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:906 +#: build/serializers.py:910 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:913 +#: build/serializers.py:917 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:937 order/serializers.py:1477 +#: build/serializers.py:941 order/serializers.py:1533 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:1000 +#: build/serializers.py:1004 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:1008 +#: build/serializers.py:1012 msgid "Exclude Location" msgstr "" -#: build/serializers.py:1009 +#: build/serializers.py:1013 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:1014 +#: build/serializers.py:1018 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:1015 +#: build/serializers.py:1019 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:1020 +#: build/serializers.py:1024 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:1021 +#: build/serializers.py:1025 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:1026 +#: build/serializers.py:1030 msgid "Optional Items" msgstr "" -#: build/serializers.py:1027 +#: build/serializers.py:1031 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1049 +#: build/serializers.py:1053 msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1139 part/models.py:3953 part/models.py:4387 -#: stock/api.py:804 +#: build/serializers.py:1095 +msgid "Supplier Part Number" +msgstr "" + +#: build/serializers.py:1096 company/models.py:500 +msgid "Manufacturer Part Number" +msgstr "" + +#: build/serializers.py:1097 stock/admin.py:53 stock/admin.py:175 +#: stock/serializers.py:454 +msgid "Location Name" +msgstr "" + +#: build/serializers.py:1098 +msgid "Build Reference" +msgstr "" + +#: build/serializers.py:1099 +msgid "BOM Reference" +msgstr "" + +#: build/serializers.py:1186 part/admin.py:402 part/models.py:3993 +msgid "Part IPN" +msgstr "" + +#: build/serializers.py:1192 common/models.py:1488 part/admin.py:113 +#: part/models.py:1068 templates/js/translated/table_filters.js:147 +#: templates/js/translated/table_filters.js:223 +#: templates/js/translated/table_filters.js:776 +msgid "Trackable" +msgstr "" + +#: build/serializers.py:1196 part/models.py:4000 part/models.py:4472 +#: stock/api.py:796 msgid "BOM Item" msgstr "" -#: build/serializers.py:1148 templates/js/translated/index.js:130 +#: build/serializers.py:1205 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1153 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:828 part/serializers.py:1502 +#: build/serializers.py:1210 part/admin.py:132 part/bom.py:173 +#: part/serializers.py:856 part/serializers.py:1533 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2613 templates/js/translated/part.js:710 -#: templates/js/translated/part.js:2149 +#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709 +#: templates/js/translated/part.js:2152 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "" -#: build/serializers.py:1158 part/serializers.py:1504 -#: templates/js/translated/build.js:2617 +#: build/serializers.py:1215 part/serializers.py:1535 +#: templates/js/translated/build.js:2618 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1163 part/bom.py:172 part/serializers.py:1527 +#: build/serializers.py:1220 part/bom.py:172 part/serializers.py:1558 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" msgstr "" +#: build/serializers.py:1224 +msgid "Available Substitute Stock" +msgstr "" + +#: build/serializers.py:1225 +msgid "Available Variant Stock" +msgstr "" + +#: build/serializers.py:1226 +msgid "Total Available Stock" +msgstr "" + +#: build/serializers.py:1227 part/serializers.py:862 +msgid "External Stock" +msgstr "" + #: build/status_codes.py:11 generic/states/tests.py:17 order/status_codes.py:12 #: order/status_codes.py:37 order/status_codes.py:64 order/status_codes.py:82 #: templates/js/translated/table_filters.js:598 @@ -1519,7 +1581,8 @@ msgstr "" msgid "Cancelled" msgstr "" -#: build/status_codes.py:14 generic/states/tests.py:19 order/status_codes.py:14 +#: build/status_codes.py:14 generic/states/tests.py:19 importer/models.py:468 +#: importer/status_codes.py:19 order/status_codes.py:14 #: order/status_codes.py:44 order/status_codes.py:69 #: order/templates/order/order_base.html:158 #: order/templates/order/sales_order_base.html:165 report/models.py:444 @@ -1652,11 +1715,12 @@ msgstr "" #: build/templates/build/build_base.html:160 #: build/templates/build/detail.html:138 order/models.py:309 -#: order/models.py:1307 order/templates/order/order_base.html:186 +#: order/models.py:1307 order/serializers.py:174 +#: order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: 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:1831 +#: templates/js/translated/build.js:2239 templates/js/translated/part.js:1834 #: templates/js/translated/purchase_order.js:1739 #: templates/js/translated/purchase_order.js:2147 #: templates/js/translated/return_order.js:346 @@ -1689,8 +1753,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1463 order/models.py:845 -#: order/models.py:1551 order/models.py:1665 order/models.py:1819 +#: build/templates/build/detail.html:101 order/api.py:1384 order/models.py:845 +#: order/models.py:1566 order/models.py:1681 order/models.py:1840 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 @@ -1740,7 +1804,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1443 +#: build/templates/build/detail.html:49 order/models.py:1448 #: templates/js/translated/purchase_order.js:2189 msgid "Destination" msgstr "" @@ -1892,31 +1956,31 @@ msgstr "" msgid "Incomplete Outputs" msgstr "" -#: common/api.py:689 +#: common/api.py:690 msgid "Is Link" msgstr "" -#: common/api.py:697 +#: common/api.py:698 msgid "Is File" msgstr "" -#: common/api.py:739 +#: common/api.py:740 msgid "User does not have permission to delete this attachment" msgstr "" -#: common/currency.py:130 +#: common/currency.py:132 msgid "Invalid currency code" msgstr "" -#: common/currency.py:132 +#: common/currency.py:134 msgid "Duplicate currency code" msgstr "" -#: common/currency.py:137 +#: common/currency.py:139 msgid "No valid currency codes provided" msgstr "" -#: common/currency.py:154 +#: common/currency.py:156 msgid "No plugin" msgstr "" @@ -1970,1635 +2034,1604 @@ msgstr "" msgid "Site URL is locked by configuration" msgstr "" -#: common/models.py:132 +#: common/models.py:137 msgid "Unique project code" msgstr "" -#: common/models.py:139 +#: common/models.py:144 msgid "Project description" msgstr "" -#: common/models.py:148 +#: common/models.py:153 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:765 +#: common/models.py:770 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:769 +#: common/models.py:774 msgid "Settings value" msgstr "" -#: common/models.py:821 +#: common/models.py:826 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:837 +#: common/models.py:842 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:845 +#: common/models.py:850 msgid "Value must be an integer value" msgstr "" -#: common/models.py:882 +#: common/models.py:887 msgid "Key string must be unique" msgstr "" -#: common/models.py:1114 +#: common/models.py:1119 msgid "No group" msgstr "" -#: common/models.py:1213 +#: common/models.py:1218 msgid "Restart required" msgstr "" -#: common/models.py:1215 +#: common/models.py:1220 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:1222 +#: common/models.py:1227 msgid "Pending migrations" msgstr "" -#: common/models.py:1223 +#: common/models.py:1228 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1228 +#: common/models.py:1233 msgid "Server Instance Name" msgstr "" -#: common/models.py:1230 +#: common/models.py:1235 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1234 +#: common/models.py:1239 msgid "Use instance name" msgstr "" -#: common/models.py:1235 +#: common/models.py:1240 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1240 +#: common/models.py:1245 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1241 +#: common/models.py:1246 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1246 company/models.py:111 company/models.py:112 +#: common/models.py:1251 company/models.py:111 company/models.py:112 msgid "Company name" msgstr "" -#: common/models.py:1247 +#: common/models.py:1252 msgid "Internal company name" msgstr "" -#: common/models.py:1251 +#: common/models.py:1256 msgid "Base URL" msgstr "" -#: common/models.py:1252 +#: common/models.py:1257 msgid "Base URL for server instance" msgstr "" -#: common/models.py:1258 +#: common/models.py:1263 msgid "Default Currency" msgstr "" -#: common/models.py:1259 +#: common/models.py:1264 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1265 +#: common/models.py:1270 msgid "Supported Currencies" msgstr "" -#: common/models.py:1266 +#: common/models.py:1271 msgid "List of supported currency codes" msgstr "" -#: common/models.py:1272 +#: common/models.py:1277 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1274 +#: common/models.py:1279 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1277 common/models.py:1333 common/models.py:1346 -#: common/models.py:1354 common/models.py:1363 common/models.py:1372 -#: common/models.py:1596 common/models.py:1618 common/models.py:1733 -#: common/models.py:2100 +#: common/models.py:1282 common/models.py:1338 common/models.py:1351 +#: common/models.py:1359 common/models.py:1368 common/models.py:1377 +#: common/models.py:1601 common/models.py:1623 common/models.py:1738 +#: common/models.py:2111 msgid "days" msgstr "" -#: common/models.py:1281 +#: common/models.py:1286 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1282 +#: common/models.py:1287 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1287 +#: common/models.py:1292 msgid "Download from URL" msgstr "" -#: common/models.py:1289 +#: common/models.py:1294 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:1295 +#: common/models.py:1300 msgid "Download Size Limit" msgstr "" -#: common/models.py:1296 +#: common/models.py:1301 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1302 +#: common/models.py:1307 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1304 +#: common/models.py:1309 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/models.py:1309 +#: common/models.py:1314 msgid "Strict URL Validation" msgstr "" -#: common/models.py:1310 +#: common/models.py:1315 msgid "Require schema specification when validating URLs" msgstr "" -#: common/models.py:1315 +#: common/models.py:1320 msgid "Require confirm" msgstr "" -#: common/models.py:1316 +#: common/models.py:1321 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:1321 +#: common/models.py:1326 msgid "Tree Depth" msgstr "" -#: common/models.py:1323 +#: common/models.py:1328 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1329 +#: common/models.py:1334 msgid "Update Check Interval" msgstr "" -#: common/models.py:1330 +#: common/models.py:1335 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:1336 +#: common/models.py:1341 msgid "Automatic Backup" msgstr "" -#: common/models.py:1337 +#: common/models.py:1342 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:1342 +#: common/models.py:1347 msgid "Auto Backup Interval" msgstr "" -#: common/models.py:1343 +#: common/models.py:1348 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1349 +#: common/models.py:1354 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1351 +#: common/models.py:1356 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1358 +#: common/models.py:1363 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1360 +#: common/models.py:1365 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1367 +#: common/models.py:1372 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1369 +#: common/models.py:1374 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1376 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1381 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "" -#: common/models.py:1377 +#: common/models.py:1382 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1382 +#: common/models.py:1387 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1383 +#: common/models.py:1388 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1389 +#: common/models.py:1394 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1390 +#: common/models.py:1395 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1395 +#: common/models.py:1400 msgid "Barcode Show Data" msgstr "" -#: common/models.py:1396 +#: common/models.py:1401 msgid "Display barcode data in browser as text" msgstr "" -#: common/models.py:1401 +#: common/models.py:1406 msgid "Part Revisions" msgstr "" -#: common/models.py:1402 +#: common/models.py:1407 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1407 +#: common/models.py:1412 msgid "Allow Deletion from Assembly" msgstr "" -#: common/models.py:1408 +#: common/models.py:1413 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/models.py:1413 +#: common/models.py:1418 msgid "IPN Regex" msgstr "" -#: common/models.py:1414 +#: common/models.py:1419 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1417 +#: common/models.py:1422 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1418 +#: common/models.py:1423 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1423 +#: common/models.py:1428 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1424 +#: common/models.py:1429 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1429 +#: common/models.py:1434 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1430 +#: common/models.py:1435 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1435 +#: common/models.py:1440 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1436 +#: common/models.py:1441 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1441 +#: common/models.py:1446 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1442 +#: common/models.py:1447 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1447 +#: common/models.py:1452 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1448 +#: common/models.py:1453 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1453 part/admin.py:108 part/models.py:3795 +#: common/models.py:1458 part/admin.py:108 part/models.py:3835 #: report/models.py:294 report/models.py:361 report/serializers.py:90 -#: report/serializers.py:131 stock/serializers.py:227 +#: report/serializers.py:131 stock/serializers.py:232 #: templates/js/translated/table_filters.js:139 -#: templates/js/translated/table_filters.js:767 +#: templates/js/translated/table_filters.js:772 msgid "Template" msgstr "" -#: common/models.py:1454 +#: common/models.py:1459 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1459 part/admin.py:91 part/admin.py:425 part/models.py:1052 +#: common/models.py:1464 part/admin.py:91 part/admin.py:425 part/models.py:1056 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 -#: templates/js/translated/table_filters.js:721 +#: templates/js/translated/table_filters.js:726 msgid "Assembly" msgstr "" -#: common/models.py:1460 +#: common/models.py:1465 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1465 part/admin.py:95 part/models.py:1058 -#: templates/js/translated/table_filters.js:729 +#: common/models.py:1470 part/admin.py:95 part/models.py:1062 +#: templates/js/translated/table_filters.js:734 msgid "Component" msgstr "" -#: common/models.py:1466 +#: common/models.py:1471 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1471 part/admin.py:100 part/models.py:1070 +#: common/models.py:1476 part/admin.py:100 part/models.py:1074 msgid "Purchaseable" msgstr "" -#: common/models.py:1472 +#: common/models.py:1477 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1477 part/admin.py:104 part/models.py:1076 -#: templates/js/translated/table_filters.js:755 +#: common/models.py:1482 part/admin.py:104 part/models.py:1080 +#: templates/js/translated/table_filters.js:760 msgid "Salable" msgstr "" -#: common/models.py:1478 +#: common/models.py:1483 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1483 part/admin.py:113 part/models.py:1064 -#: 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:1484 +#: common/models.py:1489 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1489 part/admin.py:117 part/models.py:1086 +#: common/models.py:1494 part/admin.py:117 part/models.py:1096 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 -#: templates/js/translated/table_filters.js:775 +#: templates/js/translated/table_filters.js:780 msgid "Virtual" msgstr "" -#: common/models.py:1490 +#: common/models.py:1495 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1495 +#: common/models.py:1500 msgid "Show Import in Views" msgstr "" -#: common/models.py:1496 +#: common/models.py:1501 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1501 +#: common/models.py:1506 msgid "Show related parts" msgstr "" -#: common/models.py:1502 +#: common/models.py:1507 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1507 +#: common/models.py:1512 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1508 +#: common/models.py:1513 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1513 templates/js/translated/part.js:107 +#: common/models.py:1518 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1515 +#: common/models.py:1520 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1521 +#: common/models.py:1526 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1522 +#: common/models.py:1527 msgid "Format to display the part name" msgstr "" -#: common/models.py:1528 +#: common/models.py:1533 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1529 +#: common/models.py:1534 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1533 +#: common/models.py:1538 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1535 +#: common/models.py:1540 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1541 +#: common/models.py:1546 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1543 +#: common/models.py:1548 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1554 +#: common/models.py:1559 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1556 +#: common/models.py:1561 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1567 +#: common/models.py:1572 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1569 +#: common/models.py:1574 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1575 +#: common/models.py:1580 msgid "Purchase History Override" msgstr "" -#: common/models.py:1577 +#: common/models.py:1582 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1583 +#: common/models.py:1588 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1585 +#: common/models.py:1590 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1591 +#: common/models.py:1596 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1593 +#: common/models.py:1598 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1600 +#: common/models.py:1605 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1601 +#: common/models.py:1606 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1606 +#: common/models.py:1611 msgid "Active Variants Only" msgstr "" -#: common/models.py:1608 +#: common/models.py:1613 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1614 +#: common/models.py:1619 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1616 +#: common/models.py:1621 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1623 +#: common/models.py:1628 msgid "Internal Prices" msgstr "" -#: common/models.py:1624 +#: common/models.py:1629 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1629 +#: common/models.py:1634 msgid "Internal Price Override" msgstr "" -#: common/models.py:1631 +#: common/models.py:1636 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1637 +#: common/models.py:1642 msgid "Enable label printing" msgstr "" -#: common/models.py:1638 +#: common/models.py:1643 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1643 +#: common/models.py:1648 msgid "Label Image DPI" msgstr "" -#: common/models.py:1645 +#: common/models.py:1650 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1651 +#: common/models.py:1656 msgid "Enable Reports" msgstr "" -#: common/models.py:1652 +#: common/models.py:1657 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1657 templates/stats.html:25 +#: common/models.py:1662 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1658 +#: common/models.py:1663 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1663 +#: common/models.py:1668 msgid "Log Report Errors" msgstr "" -#: common/models.py:1664 +#: common/models.py:1669 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1669 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1674 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:302 msgid "Page Size" msgstr "" -#: common/models.py:1670 +#: common/models.py:1675 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1675 +#: common/models.py:1680 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1676 +#: common/models.py:1681 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1681 +#: common/models.py:1686 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1683 +#: common/models.py:1688 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1689 +#: common/models.py:1694 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1690 +#: common/models.py:1695 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1695 +#: common/models.py:1700 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1696 +#: common/models.py:1701 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1701 +#: common/models.py:1706 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1703 +#: common/models.py:1708 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1709 +#: common/models.py:1714 msgid "Batch Code Template" msgstr "" -#: common/models.py:1711 +#: common/models.py:1716 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1716 +#: common/models.py:1721 msgid "Stock Expiry" msgstr "" -#: common/models.py:1717 +#: common/models.py:1722 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1722 +#: common/models.py:1727 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1723 +#: common/models.py:1728 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1728 +#: common/models.py:1733 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1730 +#: common/models.py:1735 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1737 +#: common/models.py:1742 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1738 +#: common/models.py:1743 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1743 +#: common/models.py:1748 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1744 +#: common/models.py:1749 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1749 +#: common/models.py:1754 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1750 +#: common/models.py:1755 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1754 +#: common/models.py:1759 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1755 +#: common/models.py:1760 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1760 +#: common/models.py:1765 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1762 +#: common/models.py:1767 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1768 +#: common/models.py:1773 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1770 +#: common/models.py:1775 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1776 +#: common/models.py:1781 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1778 +#: common/models.py:1783 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1784 common/models.py:1826 common/models.py:1848 -#: common/models.py:1884 +#: common/models.py:1789 common/models.py:1837 common/models.py:1859 +#: common/models.py:1895 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1785 common/models.py:1827 common/models.py:1849 -#: common/models.py:1885 +#: common/models.py:1790 common/models.py:1838 common/models.py:1860 +#: common/models.py:1896 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1790 +#: common/models.py:1795 msgid "Require Active Part" msgstr "" -#: common/models.py:1791 +#: common/models.py:1796 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/models.py:1796 +#: common/models.py:1801 +msgid "Require Locked Part" +msgstr "" + +#: common/models.py:1802 +msgid "Prevent build order creation for unlocked parts" +msgstr "" + +#: common/models.py:1807 msgid "Require Valid BOM" msgstr "" -#: common/models.py:1798 +#: common/models.py:1809 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/models.py:1804 +#: common/models.py:1815 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1806 +#: common/models.py:1817 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1812 +#: common/models.py:1823 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1813 +#: common/models.py:1824 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1818 +#: common/models.py:1829 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1820 +#: common/models.py:1831 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1832 +#: common/models.py:1843 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1834 +#: common/models.py:1845 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1840 +#: common/models.py:1851 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1842 +#: common/models.py:1853 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1854 +#: common/models.py:1865 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1855 +#: common/models.py:1866 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1860 +#: common/models.py:1871 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1862 +#: common/models.py:1873 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1868 +#: common/models.py:1879 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1870 +#: common/models.py:1881 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1876 +#: common/models.py:1887 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1878 +#: common/models.py:1889 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1890 +#: common/models.py:1901 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1892 +#: common/models.py:1903 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1898 +#: common/models.py:1909 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1900 +#: common/models.py:1911 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1907 +#: common/models.py:1918 msgid "Enable password forgot" msgstr "" -#: common/models.py:1908 +#: common/models.py:1919 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1913 +#: common/models.py:1924 msgid "Enable registration" msgstr "" -#: common/models.py:1914 +#: common/models.py:1925 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1919 +#: common/models.py:1930 msgid "Enable SSO" msgstr "" -#: common/models.py:1920 +#: common/models.py:1931 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1925 +#: common/models.py:1936 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1927 +#: common/models.py:1938 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1933 +#: common/models.py:1944 msgid "Enable SSO group sync" msgstr "" -#: common/models.py:1935 +#: common/models.py:1946 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/models.py:1941 +#: common/models.py:1952 msgid "SSO group key" msgstr "" -#: common/models.py:1943 +#: common/models.py:1954 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/models.py:1949 +#: common/models.py:1960 msgid "SSO group map" msgstr "" -#: common/models.py:1951 +#: common/models.py:1962 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/models.py:1957 +#: common/models.py:1968 msgid "Remove groups outside of SSO" msgstr "" -#: common/models.py:1959 +#: common/models.py:1970 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/models.py:1965 +#: common/models.py:1976 msgid "Email required" msgstr "" -#: common/models.py:1966 +#: common/models.py:1977 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1971 +#: common/models.py:1982 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1973 +#: common/models.py:1984 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1979 +#: common/models.py:1990 msgid "Mail twice" msgstr "" -#: common/models.py:1980 +#: common/models.py:1991 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1985 +#: common/models.py:1996 msgid "Password twice" msgstr "" -#: common/models.py:1986 +#: common/models.py:1997 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1991 +#: common/models.py:2002 msgid "Allowed domains" msgstr "" -#: common/models.py:1993 +#: common/models.py:2004 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1999 +#: common/models.py:2010 msgid "Group on signup" msgstr "" -#: common/models.py:2001 +#: common/models.py:2012 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/models.py:2007 +#: common/models.py:2018 msgid "Enforce MFA" msgstr "" -#: common/models.py:2008 +#: common/models.py:2019 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:2013 +#: common/models.py:2024 msgid "Check plugins on startup" msgstr "" -#: common/models.py:2015 +#: common/models.py:2026 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:2023 +#: common/models.py:2034 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2024 +#: common/models.py:2035 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2030 +#: common/models.py:2041 msgid "Enable URL integration" msgstr "" -#: common/models.py:2031 +#: common/models.py:2042 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:2037 +#: common/models.py:2048 msgid "Enable navigation integration" msgstr "" -#: common/models.py:2038 +#: common/models.py:2049 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2044 +#: common/models.py:2055 msgid "Enable app integration" msgstr "" -#: common/models.py:2045 +#: common/models.py:2056 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2051 +#: common/models.py:2062 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2052 +#: common/models.py:2063 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2058 +#: common/models.py:2069 msgid "Enable event integration" msgstr "" -#: common/models.py:2059 +#: common/models.py:2070 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2065 +#: common/models.py:2076 msgid "Enable project codes" msgstr "" -#: common/models.py:2066 +#: common/models.py:2077 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2071 +#: common/models.py:2082 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2073 +#: common/models.py:2084 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2079 +#: common/models.py:2090 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2081 +#: common/models.py:2092 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2087 +#: common/models.py:2098 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2089 +#: common/models.py:2100 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2095 +#: common/models.py:2106 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2097 +#: common/models.py:2108 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2104 +#: common/models.py:2115 msgid "Display Users full names" msgstr "" -#: common/models.py:2105 +#: common/models.py:2116 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2110 +#: common/models.py:2121 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2111 +#: common/models.py:2122 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2123 common/models.py:2533 +#: common/models.py:2134 common/models.py:2514 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2166 +#: common/models.py:2177 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2168 +#: common/models.py:2179 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2174 +#: common/models.py:2185 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2175 +#: common/models.py:2186 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2180 +#: common/models.py:2191 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2181 +#: common/models.py:2192 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2186 +#: common/models.py:2197 msgid "Show latest parts" msgstr "" -#: common/models.py:2187 +#: common/models.py:2198 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2192 +#: common/models.py:2203 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2193 +#: common/models.py:2204 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2198 +#: common/models.py:2209 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2199 +#: common/models.py:2210 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2204 +#: common/models.py:2215 msgid "Show low stock" msgstr "" -#: common/models.py:2205 +#: common/models.py:2216 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2210 +#: common/models.py:2221 msgid "Show depleted stock" msgstr "" -#: common/models.py:2211 +#: common/models.py:2222 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2216 +#: common/models.py:2227 msgid "Show needed stock" msgstr "" -#: common/models.py:2217 +#: common/models.py:2228 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2222 +#: common/models.py:2233 msgid "Show expired stock" msgstr "" -#: common/models.py:2223 +#: common/models.py:2234 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2228 +#: common/models.py:2239 msgid "Show stale stock" msgstr "" -#: common/models.py:2229 +#: common/models.py:2240 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2234 +#: common/models.py:2245 msgid "Show pending builds" msgstr "" -#: common/models.py:2235 +#: common/models.py:2246 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2240 +#: common/models.py:2251 msgid "Show overdue builds" msgstr "" -#: common/models.py:2241 +#: common/models.py:2252 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2246 +#: common/models.py:2257 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2247 +#: common/models.py:2258 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2252 +#: common/models.py:2263 msgid "Show overdue POs" msgstr "" -#: common/models.py:2253 +#: common/models.py:2264 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2258 +#: common/models.py:2269 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2259 +#: common/models.py:2270 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2264 +#: common/models.py:2275 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2265 +#: common/models.py:2276 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2270 +#: common/models.py:2281 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2271 +#: common/models.py:2282 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2276 +#: common/models.py:2287 msgid "Show News" msgstr "" -#: common/models.py:2277 +#: common/models.py:2288 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2282 +#: common/models.py:2293 msgid "Inline label display" msgstr "" -#: common/models.py:2284 +#: common/models.py:2295 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2290 +#: common/models.py:2301 msgid "Default label printer" msgstr "" -#: common/models.py:2292 +#: common/models.py:2303 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2298 +#: common/models.py:2309 msgid "Inline report display" msgstr "" -#: common/models.py:2300 +#: common/models.py:2311 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2306 +#: common/models.py:2317 msgid "Search Parts" msgstr "" -#: common/models.py:2307 +#: common/models.py:2318 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2312 +#: common/models.py:2323 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2313 +#: common/models.py:2324 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2318 +#: common/models.py:2329 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2319 +#: common/models.py:2330 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2324 +#: common/models.py:2335 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2325 +#: common/models.py:2336 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2330 +#: common/models.py:2341 msgid "Search Categories" msgstr "" -#: common/models.py:2331 +#: common/models.py:2342 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2336 +#: common/models.py:2347 msgid "Search Stock" msgstr "" -#: common/models.py:2337 +#: common/models.py:2348 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2342 +#: common/models.py:2353 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2344 +#: common/models.py:2355 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2350 +#: common/models.py:2361 msgid "Search Locations" msgstr "" -#: common/models.py:2351 +#: common/models.py:2362 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2356 +#: common/models.py:2367 msgid "Search Companies" msgstr "" -#: common/models.py:2357 +#: common/models.py:2368 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2362 +#: common/models.py:2373 msgid "Search Build Orders" msgstr "" -#: common/models.py:2363 +#: common/models.py:2374 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2368 +#: common/models.py:2379 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2369 +#: common/models.py:2380 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2374 +#: common/models.py:2385 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2376 +#: common/models.py:2387 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2382 +#: common/models.py:2393 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2383 +#: common/models.py:2394 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2388 +#: common/models.py:2399 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2390 +#: common/models.py:2401 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2396 +#: common/models.py:2407 msgid "Search Return Orders" msgstr "" -#: common/models.py:2397 +#: common/models.py:2408 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2402 +#: common/models.py:2413 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2404 +#: common/models.py:2415 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2410 +#: common/models.py:2421 msgid "Search Preview Results" msgstr "" -#: common/models.py:2412 +#: common/models.py:2423 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2418 +#: common/models.py:2429 msgid "Regex Search" msgstr "" -#: common/models.py:2419 +#: common/models.py:2430 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2424 +#: common/models.py:2435 msgid "Whole Word Search" msgstr "" -#: common/models.py:2425 +#: common/models.py:2436 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2430 +#: common/models.py:2441 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2431 +#: common/models.py:2442 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2436 +#: common/models.py:2447 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2437 +#: common/models.py:2448 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2442 +#: common/models.py:2453 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2443 +#: common/models.py:2454 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2448 +#: common/models.py:2459 msgid "Date Format" msgstr "" -#: common/models.py:2449 +#: common/models.py:2460 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2462 part/templates/part/detail.html:41 +#: common/models.py:2473 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2463 +#: common/models.py:2474 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2468 part/templates/part/detail.html:62 +#: common/models.py:2479 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2470 +#: common/models.py:2481 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2476 +#: common/models.py:2487 msgid "Table String Length" msgstr "" -#: common/models.py:2478 +#: common/models.py:2489 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2484 -msgid "Default part label template" -msgstr "" - -#: common/models.py:2485 -msgid "The part label template to be automatically selected" -msgstr "" - -#: common/models.py:2490 -msgid "Default stock item template" -msgstr "" - -#: common/models.py:2492 -msgid "The stock item label template to be automatically selected" -msgstr "" - -#: common/models.py:2498 -msgid "Default stock location label template" -msgstr "" - -#: common/models.py:2500 -msgid "The stock location label template to be automatically selected" -msgstr "" - -#: common/models.py:2506 -msgid "Default build line label template" -msgstr "" - -#: common/models.py:2508 -msgid "The build line label template to be automatically selected" -msgstr "" - -#: common/models.py:2514 +#: common/models.py:2495 msgid "Receive error reports" msgstr "" -#: common/models.py:2515 +#: common/models.py:2496 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2520 +#: common/models.py:2501 msgid "Last used printing machines" msgstr "" -#: common/models.py:2521 +#: common/models.py:2502 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2541 common/models.py:2542 common/models.py:2691 -#: common/models.py:2692 common/models.py:2937 common/models.py:2938 -#: common/models.py:3259 common/models.py:3260 part/models.py:3193 -#: part/models.py:3280 part/models.py:3353 part/models.py:3381 -#: plugin/models.py:274 plugin/models.py:275 +#: common/models.py:2522 common/models.py:2523 common/models.py:2672 +#: common/models.py:2673 common/models.py:2918 common/models.py:2919 +#: common/models.py:3245 common/models.py:3246 importer/models.py:85 +#: part/models.py:3203 part/models.py:3290 part/models.py:3364 +#: part/models.py:3392 plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 msgid "User" msgstr "" -#: common/models.py:2564 +#: common/models.py:2545 msgid "Price break quantity" msgstr "" -#: common/models.py:2571 company/serializers.py:472 order/admin.py:42 -#: order/models.py:1346 order/models.py:2265 -#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1886 +#: common/models.py:2552 company/serializers.py:502 order/admin.py:42 +#: order/models.py:1346 order/models.py:2292 +#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1889 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:740 msgid "Price" msgstr "" -#: common/models.py:2572 +#: common/models.py:2553 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2668 common/models.py:2853 +#: common/models.py:2649 common/models.py:2834 msgid "Endpoint" msgstr "" -#: common/models.py:2669 +#: common/models.py:2650 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2679 +#: common/models.py:2660 msgid "Name for this webhook" msgstr "" -#: common/models.py:2683 +#: common/models.py:2664 msgid "Is this webhook active" msgstr "" -#: common/models.py:2699 users/models.py:159 +#: common/models.py:2680 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2700 +#: common/models.py:2681 msgid "Token for access" msgstr "" -#: common/models.py:2708 +#: common/models.py:2689 msgid "Secret" msgstr "" -#: common/models.py:2709 +#: common/models.py:2690 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2817 +#: common/models.py:2798 msgid "Message ID" msgstr "" -#: common/models.py:2818 +#: common/models.py:2799 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2826 +#: common/models.py:2807 msgid "Host" msgstr "" -#: common/models.py:2827 +#: common/models.py:2808 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2835 +#: common/models.py:2816 msgid "Header" msgstr "" -#: common/models.py:2836 +#: common/models.py:2817 msgid "Header of this message" msgstr "" -#: common/models.py:2843 +#: common/models.py:2824 msgid "Body" msgstr "" -#: common/models.py:2844 +#: common/models.py:2825 msgid "Body of this message" msgstr "" -#: common/models.py:2854 +#: common/models.py:2835 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2859 +#: common/models.py:2840 msgid "Worked on" msgstr "" -#: common/models.py:2860 +#: common/models.py:2841 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2986 +#: common/models.py:2967 msgid "Id" msgstr "" -#: common/models.py:2988 templates/js/translated/company.js:965 +#: common/models.py:2969 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2990 common/models.py:3243 company/models.py:149 -#: company/models.py:440 company/models.py:500 company/models.py:799 -#: order/models.py:303 order/models.py:1301 order/models.py:1717 -#: part/admin.py:55 part/models.py:955 +#: common/models.py:2971 common/models.py:3229 company/models.py:149 +#: company/models.py:446 company/models.py:506 company/models.py:806 +#: order/models.py:303 order/models.py:1301 order/models.py:1733 +#: part/admin.py:55 part/models.py:959 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:229 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/part.js:2459 #: templates/js/translated/purchase_order.js:2040 #: templates/js/translated/purchase_order.js:2204 #: templates/js/translated/return_order.js:779 @@ -3607,28 +3640,28 @@ msgstr "" msgid "Link" msgstr "" -#: common/models.py:2992 templates/js/translated/news.js:60 +#: common/models.py:2973 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2994 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2975 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:2996 templates/js/translated/news.js:52 +#: common/models.py:2977 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2999 +#: common/models.py:2980 msgid "Read" msgstr "" -#: common/models.py:2999 +#: common/models.py:2980 msgid "Was this news item read?" msgstr "" -#: common/models.py:3016 company/models.py:159 part/models.py:965 +#: common/models.py:2997 company/models.py:159 part/models.py:969 #: 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.html:35 @@ -3638,90 +3671,94 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:3016 +#: common/models.py:2997 msgid "Image file" msgstr "" -#: common/models.py:3028 common/models.py:3227 +#: common/models.py:3009 common/models.py:3213 msgid "Target model type for this image" msgstr "" -#: common/models.py:3032 +#: common/models.py:3013 msgid "Target model ID for this image" msgstr "" -#: common/models.py:3070 +#: common/models.py:3035 +msgid "Custom Unit" +msgstr "" + +#: common/models.py:3056 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:3085 +#: common/models.py:3071 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3104 +#: common/models.py:3090 msgid "Unit name" msgstr "" -#: common/models.py:3111 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3097 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3112 +#: common/models.py:3098 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3118 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3104 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3119 +#: common/models.py:3105 msgid "Unit definition" msgstr "" -#: common/models.py:3177 common/models.py:3234 stock/models.py:2461 +#: common/models.py:3163 common/models.py:3220 stock/models.py:2471 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" msgstr "" -#: common/models.py:3189 +#: common/models.py:3175 msgid "Missing file" msgstr "" -#: common/models.py:3190 +#: common/models.py:3176 msgid "Missing external link" msgstr "" -#: common/models.py:3235 +#: common/models.py:3221 msgid "Select file to attach" msgstr "" -#: common/models.py:3250 templates/js/translated/attachment.js:120 +#: common/models.py:3236 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" msgstr "" -#: common/models.py:3251 +#: common/models.py:3237 msgid "Attachment comment" msgstr "" -#: common/models.py:3267 +#: common/models.py:3253 msgid "Upload date" msgstr "" -#: common/models.py:3268 +#: common/models.py:3254 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:3272 +#: common/models.py:3258 msgid "File size" msgstr "" -#: common/models.py:3272 +#: common/models.py:3258 msgid "File size in bytes" msgstr "" -#: common/models.py:3310 common/serializers.py:553 +#: common/models.py:3296 common/serializers.py:557 msgid "Invalid model type specified for attachment" msgstr "" @@ -3743,7 +3780,7 @@ msgstr "" msgid "A order that is assigned to you was canceled" msgstr "" -#: common/notifications.py:330 common/notifications.py:337 order/api.py:472 +#: common/notifications.py:330 common/notifications.py:337 order/api.py:454 msgid "Items Received" msgstr "" @@ -3759,75 +3796,75 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:371 +#: common/serializers.py:375 msgid "Is Running" msgstr "" -#: common/serializers.py:377 +#: common/serializers.py:381 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:383 +#: common/serializers.py:387 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:389 +#: common/serializers.py:393 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:404 +#: common/serializers.py:408 msgid "Task ID" msgstr "" -#: common/serializers.py:404 +#: common/serializers.py:408 msgid "Unique task ID" msgstr "" -#: common/serializers.py:406 +#: common/serializers.py:410 msgid "Lock" msgstr "" -#: common/serializers.py:406 +#: common/serializers.py:410 msgid "Lock time" msgstr "" -#: common/serializers.py:408 +#: common/serializers.py:412 msgid "Task name" msgstr "" -#: common/serializers.py:410 +#: common/serializers.py:414 msgid "Function" msgstr "" -#: common/serializers.py:410 +#: common/serializers.py:414 msgid "Function name" msgstr "" -#: common/serializers.py:412 +#: common/serializers.py:416 msgid "Arguments" msgstr "" -#: common/serializers.py:412 +#: common/serializers.py:416 msgid "Task arguments" msgstr "" -#: common/serializers.py:415 +#: common/serializers.py:419 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:415 +#: common/serializers.py:419 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:525 +#: common/serializers.py:529 msgid "Filename" msgstr "" -#: common/serializers.py:532 report/api.py:100 report/serializers.py:53 +#: common/serializers.py:536 report/api.py:100 report/serializers.py:53 msgid "Model Type" msgstr "" -#: common/serializers.py:559 +#: common/serializers.py:563 msgid "User does not have permission to create or edit attachments for this model" msgstr "" @@ -3894,29 +3931,29 @@ msgstr "" msgid "Previous Step" msgstr "" -#: company/api.py:144 +#: company/api.py:141 msgid "Part is Active" msgstr "" -#: company/api.py:148 +#: company/api.py:145 msgid "Manufacturer is Active" msgstr "" -#: company/api.py:281 +#: company/api.py:278 msgid "Supplier Part is Active" msgstr "" -#: company/api.py:285 +#: company/api.py:282 msgid "Internal Part is Active" msgstr "" -#: company/api.py:289 +#: company/api.py:286 msgid "Supplier is Active" msgstr "" -#: company/models.py:100 company/models.py:365 +#: company/models.py:100 company/models.py:371 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:822 +#: company/templates/company/company_base.html:12 stock/api.py:814 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "" @@ -3956,8 +3993,9 @@ msgstr "" msgid "Contact email address" msgstr "" -#: company/models.py:142 company/templates/company/company_base.html:145 -#: order/models.py:343 order/templates/order/order_base.html:203 +#: company/models.py:142 company/models.py:275 +#: company/templates/company/company_base.html:145 order/models.py:343 +#: order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 #: order/templates/order/sales_order_base.html:218 msgid "Contact" @@ -3976,7 +4014,7 @@ msgid "Is this company active?" msgstr "" #: company/models.py:168 -msgid "is customer" +msgid "Is customer" msgstr "" #: company/models.py:169 @@ -3984,7 +4022,7 @@ msgid "Do you sell items to this company?" msgstr "" #: company/models.py:174 -msgid "is supplier" +msgid "Is supplier" msgstr "" #: company/models.py:175 @@ -3992,7 +4030,7 @@ msgid "Do you purchase items from this company?" msgstr "" #: company/models.py:180 -msgid "is manufacturer" +msgid "Is manufacturer" msgstr "" #: company/models.py:181 @@ -4003,178 +4041,189 @@ msgstr "" msgid "Default currency used for this company" msgstr "" -#: company/models.py:366 +#: company/models.py:314 company/templates/company/company_base.html:124 +#: order/models.py:353 order/templates/order/order_base.html:210 +#: order/templates/order/return_order_base.html:181 +#: order/templates/order/sales_order_base.html:225 +msgid "Address" +msgstr "" + +#: company/models.py:315 company/templates/company/sidebar.html:35 +msgid "Addresses" +msgstr "" + +#: company/models.py:372 msgid "Select company" msgstr "" -#: company/models.py:371 +#: company/models.py:377 msgid "Address title" msgstr "" -#: company/models.py:372 +#: company/models.py:378 msgid "Title describing the address entry" msgstr "" -#: company/models.py:378 +#: company/models.py:384 msgid "Primary address" msgstr "" -#: company/models.py:379 +#: company/models.py:385 msgid "Set as primary address" msgstr "" -#: company/models.py:384 templates/js/translated/company.js:914 +#: company/models.py:390 templates/js/translated/company.js:914 #: templates/js/translated/company.js:971 msgid "Line 1" msgstr "" -#: company/models.py:385 +#: company/models.py:391 msgid "Address line 1" msgstr "" -#: company/models.py:391 templates/js/translated/company.js:915 +#: company/models.py:397 templates/js/translated/company.js:915 #: templates/js/translated/company.js:977 msgid "Line 2" msgstr "" -#: company/models.py:392 +#: company/models.py:398 msgid "Address line 2" msgstr "" -#: company/models.py:398 company/models.py:399 +#: company/models.py:404 company/models.py:405 #: templates/js/translated/company.js:983 msgid "Postal code" msgstr "" -#: company/models.py:405 +#: company/models.py:411 msgid "City/Region" msgstr "" -#: company/models.py:406 +#: company/models.py:412 msgid "Postal code city/region" msgstr "" -#: company/models.py:412 +#: company/models.py:418 msgid "State/Province" msgstr "" -#: company/models.py:413 +#: company/models.py:419 msgid "State or province" msgstr "" -#: company/models.py:419 templates/js/translated/company.js:1001 +#: company/models.py:425 templates/js/translated/company.js:1001 msgid "Country" msgstr "" -#: company/models.py:420 +#: company/models.py:426 msgid "Address country" msgstr "" -#: company/models.py:426 +#: company/models.py:432 msgid "Courier shipping notes" msgstr "" -#: company/models.py:427 +#: company/models.py:433 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:433 +#: company/models.py:439 msgid "Internal shipping notes" msgstr "" -#: company/models.py:434 +#: company/models.py:440 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:441 +#: company/models.py:447 msgid "Link to address information (external)" msgstr "" -#: company/models.py:463 company/models.py:574 company/models.py:792 +#: company/models.py:469 company/models.py:581 company/models.py:799 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:217 msgid "Manufacturer Part" msgstr "" -#: company/models.py:475 company/models.py:760 stock/models.py:767 -#: stock/serializers.py:422 stock/templates/stock/item_base.html:142 +#: company/models.py:481 company/models.py:767 stock/models.py:767 +#: stock/serializers.py:442 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" -#: company/models.py:477 company/models.py:762 +#: company/models.py:483 company/models.py:769 msgid "Select part" msgstr "" -#: company/models.py:486 company/templates/company/company_base.html:82 +#: company/models.py:492 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:525 +#: company/templates/company/supplier_part.html:145 part/serializers.py:543 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 #: templates/js/translated/company.js:1296 #: templates/js/translated/company.js:1611 -#: templates/js/translated/table_filters.js:800 +#: templates/js/translated/table_filters.js:805 msgid "Manufacturer" msgstr "" -#: company/models.py:487 +#: company/models.py:493 msgid "Select manufacturer" msgstr "" -#: company/models.py:493 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:535 -#: templates/js/translated/company.js:351 +#: company/models.py:499 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:153 order/serializers.py:518 +#: part/serializers.py:553 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:1801 +#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1804 #: templates/js/translated/purchase_order.js:1851 #: templates/js/translated/purchase_order.js:2053 msgid "MPN" msgstr "" -#: company/models.py:494 -msgid "Manufacturer Part Number" -msgstr "" - -#: company/models.py:501 +#: company/models.py:507 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:510 +#: company/models.py:516 msgid "Manufacturer part description" msgstr "" -#: company/models.py:581 +#: company/models.py:569 +msgid "Manufacturer Part Parameter" +msgstr "" + +#: company/models.py:588 msgid "Parameter name" msgstr "" -#: company/models.py:587 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2453 templates/js/translated/company.js:1166 -#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1493 +#: company/models.py:594 report/templates/report/inventree_test_report.html:104 +#: stock/models.py:2463 templates/js/translated/company.js:1166 +#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1496 #: templates/js/translated/stock.js:1522 msgid "Value" msgstr "" -#: company/models.py:588 +#: company/models.py:595 msgid "Parameter value" msgstr "" -#: company/models.py:595 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1045 part/models.py:3646 +#: company/models.py:602 company/templates/company/supplier_part.html:168 +#: part/admin.py:57 part/models.py:1049 part/models.py:3667 #: part/templates/part/part_base.html:284 -#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1512 -#: templates/js/translated/part.js:1616 templates/js/translated/part.js:2370 +#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1515 +#: templates/js/translated/part.js:1619 templates/js/translated/part.js:2373 msgid "Units" msgstr "" -#: company/models.py:596 +#: company/models.py:603 msgid "Parameter units" msgstr "" -#: company/models.py:648 company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 order/api.py:452 +#: company/models.py:655 company/templates/company/supplier_part.html:7 +#: company/templates/company/supplier_part.html:24 order/api.py:434 #: stock/models.py:778 stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 @@ -4182,91 +4231,91 @@ msgstr "" msgid "Supplier Part" msgstr "" -#: company/models.py:700 +#: company/models.py:707 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:707 +#: company/models.py:714 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:721 +#: company/models.py:728 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:770 company/templates/company/company_base.html:87 +#: company/models.py:777 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:509 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:527 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 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:511 -#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1769 +#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1772 #: templates/js/translated/pricing.js:498 #: templates/js/translated/purchase_order.js:1689 -#: templates/js/translated/table_filters.js:804 +#: templates/js/translated/table_filters.js:809 msgid "Supplier" msgstr "" -#: company/models.py:771 +#: company/models.py:778 msgid "Select supplier" msgstr "" -#: company/models.py:777 part/serializers.py:520 +#: company/models.py:784 part/serializers.py:538 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:783 +#: company/models.py:790 msgid "Is this supplier part active?" msgstr "" -#: company/models.py:793 +#: company/models.py:800 msgid "Select manufacturer part" msgstr "" -#: company/models.py:800 +#: company/models.py:807 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:809 +#: company/models.py:816 msgid "Supplier part description" msgstr "" -#: company/models.py:816 company/templates/company/supplier_part.html:187 -#: part/admin.py:412 part/models.py:4093 part/templates/part/upload_bom.html:59 +#: company/models.py:823 company/templates/company/supplier_part.html:187 +#: part/admin.py:412 part/models.py:4178 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: 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:710 +#: stock/serializers.py:768 msgid "Note" msgstr "" -#: company/models.py:825 part/models.py:2003 +#: company/models.py:832 part/models.py:2013 msgid "base cost" msgstr "" -#: company/models.py:826 part/models.py:2004 +#: company/models.py:833 part/models.py:2014 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:833 company/templates/company/supplier_part.html:160 -#: stock/admin.py:228 stock/models.py:798 stock/serializers.py:1475 +#: company/models.py:840 company/templates/company/supplier_part.html:160 +#: stock/admin.py:228 stock/models.py:798 stock/serializers.py:1541 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 msgid "Packaging" msgstr "" -#: company/models.py:834 +#: company/models.py:841 msgid "Part packaging" msgstr "" -#: company/models.py:839 templates/js/translated/company.js:1651 -#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 +#: company/models.py:846 templates/js/translated/company.js:1651 +#: templates/js/translated/part.js:1825 templates/js/translated/part.js:1881 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 #: templates/js/translated/purchase_order.js:1103 @@ -4275,35 +4324,43 @@ msgstr "" msgid "Pack Quantity" msgstr "" -#: company/models.py:841 +#: company/models.py:848 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:860 part/models.py:2010 +#: company/models.py:867 part/models.py:2020 msgid "multiple" msgstr "" -#: company/models.py:861 +#: company/models.py:868 msgid "Order multiple" msgstr "" -#: company/models.py:873 +#: company/models.py:880 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:879 +#: company/models.py:886 msgid "Availability Updated" msgstr "" -#: company/models.py:880 +#: company/models.py:887 msgid "Date of last update of availability data" msgstr "" -#: company/serializers.py:161 +#: company/models.py:1015 +msgid "Supplier Price Break" +msgstr "" + +#: company/serializers.py:174 msgid "Default currency used for this supplier" msgstr "" -#: company/serializers.py:357 part/admin.py:126 +#: company/serializers.py:210 +msgid "Company Name" +msgstr "" + +#: company/serializers.py:384 part/admin.py:126 part/serializers.py:855 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:355 @@ -4315,7 +4372,7 @@ msgstr "" #: templates/js/translated/company.js:1287 #: templates/js/translated/company.js:1575 #: templates/js/translated/model_renderers.js:312 -#: templates/js/translated/part.js:815 templates/js/translated/part.js:1219 +#: templates/js/translated/part.js:814 templates/js/translated/part.js:1222 msgid "Inactive" msgstr "" @@ -4374,16 +4431,16 @@ msgid "Delete image" msgstr "" #: company/templates/company/company_base.html:92 order/models.py:938 -#: order/models.py:2032 order/templates/order/return_order_base.html:131 +#: order/models.py:2058 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:148 stock/models.py:820 -#: stock/models.py:821 stock/serializers.py:1225 +#: stock/models.py:821 stock/serializers.py:1291 #: 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:295 #: templates/js/translated/sales_order.js:820 #: templates/js/translated/stock.js:2959 -#: templates/js/translated/table_filters.js:808 +#: templates/js/translated/table_filters.js:813 msgid "Customer" msgstr "" @@ -4391,13 +4448,6 @@ msgstr "" msgid "Uses default currency" msgstr "" -#: company/templates/company/company_base.html:124 order/models.py:353 -#: order/templates/order/order_base.html:210 -#: order/templates/order/return_order_base.html:181 -#: order/templates/order/sales_order_base.html:225 -msgid "Address" -msgstr "" - #: company/templates/company/company_base.html:131 msgid "Phone" msgstr "" @@ -4577,7 +4627,8 @@ msgid "Delete manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:65 -#: company/templates/company/supplier_part.html:97 order/api.py:458 +#: company/templates/company/supplier_part.html:97 order/api.py:440 +#: order/serializers.py:526 msgid "Internal Part" msgstr "" @@ -4587,7 +4638,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:832 +#: part/admin.py:122 part/serializers.py:860 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4608,7 +4659,7 @@ msgid "New Parameter" msgstr "" #: company/templates/company/manufacturer_part.html:196 -#: templates/js/translated/part.js:1423 +#: templates/js/translated/part.js:1426 msgid "Add Parameter" msgstr "" @@ -4632,10 +4683,6 @@ msgstr "" msgid "Contacts" msgstr "" -#: company/templates/company/sidebar.html:35 -msgid "Addresses" -msgstr "" - #: company/templates/company/supplier_part.html:50 #: templates/js/translated/company.js:1526 msgid "Supplier part actions" @@ -4653,122 +4700,284 @@ msgstr "" msgid "Update Availability" msgstr "" -#: company/templates/company/supplier_part.html:63 -#: company/templates/company/supplier_part.html:64 -#: templates/js/translated/company.js:294 -msgid "Edit Supplier Part" +#: company/templates/company/supplier_part.html:63 +#: company/templates/company/supplier_part.html:64 +#: templates/js/translated/company.js:294 +msgid "Edit Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:68 +#: company/templates/company/supplier_part.html:69 +#: templates/js/translated/company.js:269 +msgid "Duplicate Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:73 +msgid "Delete Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:74 +msgid "Delete Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:133 +msgid "No supplier information available" +msgstr "" + +#: company/templates/company/supplier_part.html:139 order/serializers.py:515 +#: part/bom.py:279 part/bom.py:311 part/serializers.py:537 +#: templates/js/translated/company.js:349 templates/js/translated/part.js:1790 +#: templates/js/translated/pricing.js:510 +#: templates/js/translated/purchase_order.js:1850 +#: templates/js/translated/purchase_order.js:2028 +msgid "SKU" +msgstr "" + +#: company/templates/company/supplier_part.html:206 +msgid "Supplier Part Stock" +msgstr "" + +#: company/templates/company/supplier_part.html:209 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:207 +msgid "Create new stock item" +msgstr "" + +#: company/templates/company/supplier_part.html:210 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:208 +#: templates/js/translated/stock.js:537 +msgid "New Stock Item" +msgstr "" + +#: company/templates/company/supplier_part.html:223 +msgid "Supplier Part Orders" +msgstr "" + +#: company/templates/company/supplier_part.html:246 +msgid "Pricing Information" +msgstr "" + +#: company/templates/company/supplier_part.html:251 +#: templates/js/translated/company.js:398 +#: templates/js/translated/pricing.js:684 +msgid "Add Price Break" +msgstr "" + +#: company/templates/company/supplier_part.html:276 +msgid "Supplier Part QR Code" +msgstr "" + +#: company/templates/company/supplier_part.html:287 +msgid "Link Barcode to Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:359 +msgid "Update Part Availability" +msgstr "" + +#: company/templates/company/supplier_part_sidebar.html:5 +#: part/serializers.py:859 part/stocktake.py:224 +#: part/templates/part/category.html:183 +#: part/templates/part/category_sidebar.html:17 stock/admin.py:68 +#: stock/serializers.py:976 stock/serializers.py:1154 +#: stock/templates/stock/location.html:170 +#: 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:1064 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 +#: users/models.py:206 +msgid "Stock Items" +msgstr "" + +#: company/templates/company/supplier_part_sidebar.html:9 +msgid "Supplier Part Pricing" +msgstr "" + +#: company/views.py:32 +msgid "New Supplier" +msgstr "" + +#: company/views.py:38 +msgid "New Manufacturer" +msgstr "" + +#: company/views.py:43 templates/InvenTree/search.html:210 +#: templates/navbar.html:60 +msgid "Customers" +msgstr "" + +#: company/views.py:44 +msgid "New Customer" +msgstr "" + +#: company/views.py:52 +msgid "New Company" +msgstr "" + +#: generic/states/tests.py:18 order/status_codes.py:13 +msgid "Placed" +msgstr "" + +#: importer/mixins.py:263 +msgid "Invalid export format" +msgstr "" + +#: importer/models.py:56 +msgid "Timestamp" +msgstr "" + +#: importer/models.py:61 +msgid "Data file to import" +msgstr "" + +#: importer/models.py:70 templates/js/translated/tables.js:558 +msgid "Columns" +msgstr "" + +#: importer/models.py:81 +msgid "Import status" +msgstr "" + +#: importer/models.py:91 +msgid "Field Defaults" +msgstr "" + +#: importer/models.py:201 +msgid "Some required fields have not been mapped" +msgstr "" + +#: importer/models.py:346 +msgid "Column is already mapped to a database field" +msgstr "" + +#: importer/models.py:351 +msgid "Field is already mapped to a data column" +msgstr "" + +#: importer/models.py:360 +msgid "Column mapping must be linked to a valid import session" +msgstr "" + +#: importer/models.py:365 +msgid "Column does not exist in the data file" +msgstr "" + +#: importer/models.py:372 +#, fuzzy +#| msgid "User does not have permission to view this model" +msgid "Field does not exist in the target model" +msgstr "Lietotājam nav atļaujas, lai apskatītu šo modeli" + +#: importer/models.py:376 +msgid "Selected field is read-only" +msgstr "" + +#: importer/models.py:381 importer/models.py:452 +msgid "Import Session" msgstr "" -#: company/templates/company/supplier_part.html:68 -#: company/templates/company/supplier_part.html:69 -#: templates/js/translated/company.js:269 -msgid "Duplicate Supplier Part" +#: importer/models.py:385 +msgid "Field" msgstr "" -#: company/templates/company/supplier_part.html:73 -msgid "Delete Supplier Part" +#: importer/models.py:387 +msgid "Column" msgstr "" -#: company/templates/company/supplier_part.html:74 -msgid "Delete Supplier Part" +#: importer/models.py:456 +msgid "Row Index" msgstr "" -#: company/templates/company/supplier_part.html:133 -msgid "No supplier information available" +#: importer/models.py:459 +msgid "Original row data" msgstr "" -#: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:519 -#: templates/js/translated/company.js:349 templates/js/translated/part.js:1787 -#: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1850 -#: templates/js/translated/purchase_order.js:2028 -msgid "SKU" +#: importer/models.py:462 part/models.py:3841 +msgid "Data" msgstr "" -#: company/templates/company/supplier_part.html:206 -msgid "Supplier Part Stock" +#: importer/models.py:464 machine/models.py:110 +msgid "Errors" msgstr "" -#: company/templates/company/supplier_part.html:209 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:207 -msgid "Create new stock item" +#: importer/models.py:466 part/api.py:874 +msgid "Valid" msgstr "" -#: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:208 -#: templates/js/translated/stock.js:537 -msgid "New Stock Item" +#: importer/operations.py:28 importer/operations.py:49 +msgid "Unsupported data file format" msgstr "" -#: company/templates/company/supplier_part.html:223 -msgid "Supplier Part Orders" +#: importer/operations.py:40 +msgid "Failed to open data file" msgstr "" -#: company/templates/company/supplier_part.html:246 -msgid "Pricing Information" +#: importer/operations.py:51 +msgid "Invalid data file dimensions" msgstr "" -#: company/templates/company/supplier_part.html:251 -#: templates/js/translated/company.js:398 -#: templates/js/translated/pricing.js:684 -msgid "Add Price Break" +#: importer/serializers.py:135 +msgid "Rows" msgstr "" -#: company/templates/company/supplier_part.html:276 -msgid "Supplier Part QR Code" +#: importer/serializers.py:136 +msgid "List of row IDs to accept" msgstr "" -#: company/templates/company/supplier_part.html:287 -msgid "Link Barcode to Supplier Part" +#: importer/serializers.py:149 +#, fuzzy +#| msgid "No value provided" +msgid "No rows provided" +msgstr "Nav norādīta vērtība" + +#: importer/serializers.py:153 +msgid "Row does not belong to this session" msgstr "" -#: company/templates/company/supplier_part.html:359 -msgid "Update Part Availability" +#: importer/serializers.py:156 +msgid "Row contains invalid data" msgstr "" -#: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:831 part/stocktake.py:224 -#: part/templates/part/category.html:183 -#: part/templates/part/category_sidebar.html:17 stock/admin.py:68 -#: stock/serializers.py:918 stock/serializers.py:1091 -#: stock/templates/stock/location.html:170 -#: 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:1061 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 -#: users/models.py:206 -msgid "Stock Items" +#: importer/serializers.py:159 +msgid "Row has already been completed" msgstr "" -#: company/templates/company/supplier_part_sidebar.html:9 -msgid "Supplier Part Pricing" +#: importer/status_codes.py:11 +msgid "Initializing" msgstr "" -#: company/views.py:32 -msgid "New Supplier" +#: importer/status_codes.py:12 +msgid "Mapping Columns" msgstr "" -#: company/views.py:38 -msgid "New Manufacturer" +#: importer/status_codes.py:13 +msgid "Importing Data" msgstr "" -#: company/views.py:43 templates/InvenTree/search.html:210 -#: templates/navbar.html:60 -msgid "Customers" +#: importer/status_codes.py:16 +msgid "Processing Data" msgstr "" -#: company/views.py:44 -msgid "New Customer" +#: importer/validators.py:21 +#, fuzzy +#| msgid "Image download exceeded maximum size" +msgid "Data file exceeds maximum size limit" +msgstr "Attēla lejupielāde pārsniedz maksimālo izmēru" + +#: importer/validators.py:26 +msgid "Data file contains no headers" msgstr "" -#: company/views.py:52 -msgid "New Company" +#: importer/validators.py:29 +msgid "Data file contains too many columns" msgstr "" -#: generic/states/tests.py:18 order/status_codes.py:13 -msgid "Placed" +#: importer/validators.py:32 +msgid "Data file contains too many rows" +msgstr "" + +#: importer/validators.py:49 +msgid "Value must be a valid dictionary object" msgstr "" #: machine/machine_types/label_printer.py:212 @@ -4783,7 +4992,7 @@ msgstr "" msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:229 order/api.py:1467 +#: machine/machine_types/label_printer.py:229 order/api.py:1388 #: templates/js/translated/sales_order.js:1078 msgid "Unknown" msgstr "" @@ -4852,10 +5061,6 @@ msgstr "" msgid "Initialized" msgstr "" -#: machine/models.py:110 -msgid "Errors" -msgstr "" - #: machine/models.py:117 msgid "Machine status" msgstr "" @@ -4881,44 +5086,44 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:157 order/serializers.py:90 +#: order/api.py:149 order/serializers.py:94 #: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:113 #: order/templates/order/sales_order_base.html:122 msgid "Order Status" msgstr "" -#: order/api.py:161 templates/js/translated/table_filters.js:194 -#: templates/js/translated/table_filters.js:779 +#: order/api.py:153 templates/js/translated/table_filters.js:194 +#: templates/js/translated/table_filters.js:784 msgid "Has Pricing" msgstr "" -#: order/api.py:236 +#: order/api.py:228 msgid "No matching purchase order found" msgstr "" -#: order/api.py:435 order/api.py:801 order/models.py:1395 order/models.py:1504 -#: order/models.py:1550 order/models.py:1664 order/models.py:1818 -#: order/models.py:2231 order/models.py:2282 +#: order/api.py:417 order/api.py:755 order/models.py:1400 order/models.py:1514 +#: order/models.py:1565 order/models.py:1680 order/models.py:1839 +#: order/models.py:2258 order/models.py:2314 #: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "" -#: order/api.py:439 order/api.py:822 +#: order/api.py:421 order/api.py:776 msgid "Order Complete" msgstr "" -#: order/api.py:462 +#: order/api.py:444 msgid "Order Pending" msgstr "" -#: order/api.py:1461 order/models.py:380 order/models.py:1396 -#: order/models.py:1505 order/templates/order/order_base.html:9 +#: order/api.py:1382 order/models.py:380 order/models.py:1401 +#: order/models.py:1515 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 -#: stock/serializers.py:118 stock/templates/stock/item_base.html:176 +#: stock/serializers.py:120 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/part.js:1746 templates/js/translated/pricing.js:804 +#: templates/js/translated/part.js:1749 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:1673 @@ -4926,8 +5131,8 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1465 order/models.py:1981 order/models.py:2232 -#: order/models.py:2283 order/templates/order/return_order_base.html:9 +#: order/api.py:1386 order/models.py:2007 order/models.py:2259 +#: order/models.py:2315 order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report.html:13 #: templates/js/translated/return_order.js:280 @@ -4939,11 +5144,11 @@ msgstr "" msgid "Total price for this order" msgstr "" -#: order/models.py:96 order/serializers.py:70 +#: order/models.py:96 order/serializers.py:72 msgid "Order Currency" msgstr "" -#: order/models.py:99 order/serializers.py:71 +#: order/models.py:99 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" @@ -4959,7 +5164,7 @@ msgstr "" msgid "Select project code for this order" msgstr "" -#: order/models.py:303 order/models.py:1301 order/models.py:1717 +#: order/models.py:303 order/models.py:1301 order/models.py:1733 msgid "Link to external page" msgstr "" @@ -5008,15 +5213,15 @@ msgstr "" msgid "received by" msgstr "" -#: order/models.py:514 order/models.py:2058 +#: order/models.py:514 order/models.py:2084 msgid "Issue Date" msgstr "" -#: order/models.py:515 order/models.py:2059 +#: order/models.py:515 order/models.py:2085 msgid "Date order was issued" msgstr "" -#: order/models.py:522 order/models.py:2066 +#: order/models.py:522 order/models.py:2092 msgid "Date order was completed" msgstr "" @@ -5032,15 +5237,15 @@ msgstr "" msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:962 order/models.py:2051 +#: order/models.py:962 order/models.py:2077 msgid "Customer Reference " msgstr "" -#: order/models.py:963 order/models.py:2052 +#: order/models.py:963 order/models.py:2078 msgid "Customer order reference code" msgstr "" -#: order/models.py:967 order/models.py:1671 +#: order/models.py:967 order/models.py:1687 #: templates/js/translated/sales_order.js:879 #: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" @@ -5102,20 +5307,24 @@ msgstr "" msgid "Unit price" msgstr "" -#: order/models.py:1380 +#: order/models.py:1361 +msgid "Purchase Order Line Item" +msgstr "" + +#: order/models.py:1385 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1387 +#: order/models.py:1392 msgid "deleted" msgstr "" -#: order/models.py:1415 +#: order/models.py:1420 msgid "Supplier part" msgstr "" -#: order/models.py:1422 order/templates/order/order_base.html:196 -#: templates/js/translated/part.js:1870 templates/js/translated/part.js:1902 +#: order/models.py:1427 order/templates/order/order_base.html:196 +#: templates/js/translated/part.js:1873 templates/js/translated/part.js:1905 #: templates/js/translated/purchase_order.js:1306 #: templates/js/translated/purchase_order.js:2169 #: templates/js/translated/return_order.js:763 @@ -5124,196 +5333,224 @@ msgstr "" msgid "Received" msgstr "" -#: order/models.py:1423 +#: order/models.py:1428 msgid "Number of items received" msgstr "" -#: order/models.py:1431 stock/models.py:939 stock/serializers.py:556 +#: order/models.py:1436 stock/models.py:939 stock/serializers.py:602 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2311 msgid "Purchase Price" msgstr "" -#: order/models.py:1432 +#: order/models.py:1437 msgid "Unit purchase price" msgstr "" -#: order/models.py:1447 +#: order/models.py:1452 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1538 +#: order/models.py:1503 +msgid "Purchase Order Extra Line" +msgstr "" + +#: order/models.py:1532 +msgid "Sales Order Line Item" +msgstr "" + +#: order/models.py:1553 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1543 +#: order/models.py:1558 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1569 part/templates/part/part_pricing.html:107 +#: order/models.py:1584 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:1570 +#: order/models.py:1585 msgid "Unit sale price" msgstr "" -#: order/models.py:1579 order/status_codes.py:43 +#: order/models.py:1594 order/status_codes.py:43 #: templates/js/translated/sales_order.js:1559 #: templates/js/translated/sales_order.js:1680 #: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "" -#: order/models.py:1580 +#: order/models.py:1595 msgid "Shipped quantity" msgstr "" -#: order/models.py:1672 +#: order/models.py:1667 +msgid "Sales Order Shipment" +msgstr "" + +#: order/models.py:1688 msgid "Date of shipment" msgstr "" -#: order/models.py:1678 templates/js/translated/sales_order.js:1072 +#: order/models.py:1694 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "" -#: order/models.py:1679 +#: order/models.py:1695 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1687 +#: order/models.py:1703 msgid "Checked By" msgstr "" -#: order/models.py:1688 +#: order/models.py:1704 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1695 order/models.py:1908 order/serializers.py:1342 -#: order/serializers.py:1452 templates/js/translated/model_renderers.js:454 +#: order/models.py:1711 order/models.py:1934 order/serializers.py:1398 +#: order/serializers.py:1508 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "" -#: order/models.py:1696 +#: order/models.py:1712 msgid "Shipment number" msgstr "" -#: order/models.py:1704 +#: order/models.py:1720 msgid "Tracking Number" msgstr "" -#: order/models.py:1705 +#: order/models.py:1721 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1712 +#: order/models.py:1728 msgid "Invoice Number" msgstr "" -#: order/models.py:1713 +#: order/models.py:1729 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1733 +#: order/models.py:1749 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1736 +#: order/models.py:1752 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1854 order/models.py:1856 +#: order/models.py:1828 +msgid "Sales Order Extra Line" +msgstr "" + +#: order/models.py:1857 +msgid "Sales Order Allocation" +msgstr "" + +#: order/models.py:1880 order/models.py:1882 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1863 +#: order/models.py:1889 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1866 +#: order/models.py:1892 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1869 +#: order/models.py:1895 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1888 order/serializers.py:1219 +#: order/models.py:1914 order/serializers.py:1275 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1891 +#: order/models.py:1917 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1892 plugin/base/barcodes/api.py:481 +#: order/models.py:1918 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1900 +#: order/models.py:1926 msgid "Line" msgstr "" -#: order/models.py:1909 +#: order/models.py:1935 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1922 order/models.py:2239 +#: order/models.py:1948 order/models.py:2266 #: templates/js/translated/return_order.js:721 msgid "Item" msgstr "" -#: order/models.py:1923 +#: order/models.py:1949 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1932 +#: order/models.py:1958 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2021 +#: order/models.py:2047 msgid "Return Order reference" msgstr "" -#: order/models.py:2033 +#: order/models.py:2059 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2045 +#: order/models.py:2071 msgid "Return order status" msgstr "" -#: order/models.py:2224 +#: order/models.py:2237 +msgid "Return Order Line Item" +msgstr "" + +#: order/models.py:2251 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2240 +#: order/models.py:2267 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2246 +#: order/models.py:2273 msgid "Received Date" msgstr "" -#: order/models.py:2247 +#: order/models.py:2274 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2258 templates/js/translated/return_order.js:732 +#: order/models.py:2285 templates/js/translated/return_order.js:732 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2259 +#: order/models.py:2286 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2266 +#: order/models.py:2293 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:79 order/templates/order/po_sidebar.html:5 +#: order/models.py:2303 +msgid "Return Order Extra Line" +msgstr "" + +#: order/serializers.py:83 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_purchase_order_report.html:22 @@ -5322,163 +5559,171 @@ msgstr "" msgid "Line Items" msgstr "" -#: order/serializers.py:83 +#: order/serializers.py:87 msgid "Completed Lines" msgstr "" -#: order/serializers.py:286 +#: order/serializers.py:305 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:301 order/serializers.py:1235 +#: order/serializers.py:320 order/serializers.py:1291 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:311 order/serializers.py:1245 +#: order/serializers.py:330 order/serializers.py:1301 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:439 +#: order/serializers.py:468 msgid "Order is not open" msgstr "" -#: order/serializers.py:460 +#: order/serializers.py:489 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:462 +#: order/serializers.py:491 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:472 +#: order/serializers.py:501 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:478 +#: order/serializers.py:507 msgid "Merge Items" msgstr "" -#: order/serializers.py:480 +#: order/serializers.py:509 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:498 +#: order/serializers.py:522 part/models.py:945 +msgid "Internal Part Number" +msgstr "" + +#: order/serializers.py:530 +msgid "Internal Part Name" +msgstr "" + +#: order/serializers.py:546 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:501 +#: order/serializers.py:549 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:509 +#: order/serializers.py:557 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:510 +#: order/serializers.py:558 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:549 order/serializers.py:1313 +#: order/serializers.py:598 order/serializers.py:1369 msgid "Line Item" msgstr "" -#: order/serializers.py:555 +#: order/serializers.py:604 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:565 order/serializers.py:673 order/serializers.py:1657 +#: order/serializers.py:614 order/serializers.py:722 order/serializers.py:1715 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:581 templates/js/translated/purchase_order.js:1130 +#: order/serializers.py:630 templates/js/translated/purchase_order.js:1130 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:589 templates/js/translated/purchase_order.js:1154 +#: order/serializers.py:638 templates/js/translated/purchase_order.js:1154 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:600 templates/js/translated/barcode.js:52 +#: order/serializers.py:649 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:601 +#: order/serializers.py:650 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:617 +#: order/serializers.py:666 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:641 +#: order/serializers.py:690 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:689 order/serializers.py:1673 +#: order/serializers.py:738 order/serializers.py:1731 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:705 +#: order/serializers.py:754 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:716 +#: order/serializers.py:765 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1062 +#: order/serializers.py:1117 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1122 +#: order/serializers.py:1178 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1183 order/serializers.py:1322 +#: order/serializers.py:1239 order/serializers.py:1378 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1202 +#: order/serializers.py:1258 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1332 +#: order/serializers.py:1388 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1354 order/serializers.py:1460 +#: order/serializers.py:1410 order/serializers.py:1516 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1357 order/serializers.py:1463 +#: order/serializers.py:1413 order/serializers.py:1519 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1404 +#: order/serializers.py:1460 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1411 +#: order/serializers.py:1467 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1627 +#: order/serializers.py:1685 msgid "Return order line item" msgstr "" -#: order/serializers.py:1633 +#: order/serializers.py:1691 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1636 +#: order/serializers.py:1694 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1665 +#: order/serializers.py:1723 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1743 +#: order/serializers.py:1806 msgid "Line price currency" msgstr "" @@ -5808,7 +6053,7 @@ msgstr "" #: 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:1073 +#: templates/js/translated/part.js:1076 #: templates/js/translated/purchase_order.js:1752 #: templates/js/translated/return_order.js:380 #: templates/js/translated/sales_order.js:891 @@ -5904,34 +6149,29 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:398 part/models.py:3944 part/stocktake.py:219 +#: part/admin.py:39 part/admin.py:398 part/models.py:3991 part/stocktake.py:219 #: stock/admin.py:152 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:405 part/models.py:3945 part/stocktake.py:220 -#: stock/admin.py:156 -msgid "Part Name" -msgstr "" - #: part/admin.py:45 part/stocktake.py:221 msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:940 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:944 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 -#: templates/js/translated/part.js:1227 templates/js/translated/part.js:2341 +#: templates/js/translated/part.js:1230 templates/js/translated/part.js:2344 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:949 part/templates/part/part_base.html:277 -#: report/models.py:162 templates/js/translated/part.js:1232 -#: templates/js/translated/part.js:2347 +#: part/admin.py:50 part/models.py:953 part/templates/part/part_base.html:277 +#: report/models.py:162 templates/js/translated/part.js:1235 +#: templates/js/translated/part.js:2350 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:319 part/models.py:922 +#: part/admin.py:53 part/admin.py:319 part/models.py:926 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5944,7 +6184,8 @@ msgstr "" msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:304 part/stocktake.py:223 +#: part/admin.py:67 part/admin.py:304 part/serializers.py:837 +#: part/stocktake.py:223 msgid "Category Name" msgstr "" @@ -5956,11 +6197,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:908 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:912 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1036 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1040 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5968,18 +6209,19 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:150 part/templates/part/part_base.html:241 stock/admin.py:235 -#: templates/js/translated/part.js:715 templates/js/translated/part.js:2153 +#: part/admin.py:150 part/serializers.py:854 +#: part/templates/part/part_base.html:241 stock/admin.py:235 +#: templates/js/translated/part.js:714 templates/js/translated/part.js:2156 msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3088 part/models.py:3102 -#: templates/js/translated/part.js:970 +#: part/admin.py:155 part/models.py:3098 part/models.py:3112 +#: templates/js/translated/part.js:973 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3095 part/models.py:3109 -#: templates/js/translated/part.js:980 +#: part/admin.py:158 part/models.py:3105 part/models.py:3119 +#: templates/js/translated/part.js:983 msgid "Maximum Cost" msgstr "" @@ -5996,14 +6238,14 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:396 part/serializers.py:124 -#: part/serializers.py:267 part/serializers.py:386 +#: part/admin.py:325 part/models.py:397 part/serializers.py:130 +#: part/serializers.py:282 part/serializers.py:404 #: 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:2807 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:203 msgid "Parts" msgstr "" @@ -6020,125 +6262,117 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:402 part/models.py:3946 -msgid "Part IPN" -msgstr "" - -#: part/admin.py:415 part/serializers.py:1274 +#: part/admin.py:415 part/serializers.py:1302 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:420 part/serializers.py:1289 +#: part/admin.py:420 part/serializers.py:1317 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "" -#: part/api.py:104 +#: part/api.py:105 msgid "Starred" msgstr "" -#: part/api.py:106 +#: part/api.py:107 msgid "Filter by starred categories" msgstr "" -#: part/api.py:123 stock/api.py:312 +#: part/api.py:124 stock/api.py:312 msgid "Depth" msgstr "" -#: part/api.py:123 +#: part/api.py:124 msgid "Filter by category depth" msgstr "" -#: part/api.py:141 stock/api.py:330 +#: part/api.py:142 stock/api.py:330 msgid "Top Level" msgstr "" -#: part/api.py:143 +#: part/api.py:144 msgid "Filter by top-level categories" msgstr "" -#: part/api.py:156 stock/api.py:345 +#: part/api.py:157 stock/api.py:345 msgid "Cascade" msgstr "" -#: part/api.py:158 +#: part/api.py:159 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:179 templates/js/translated/part.js:308 +#: part/api.py:180 templates/js/translated/part.js:307 msgid "Parent" msgstr "" -#: part/api.py:181 +#: part/api.py:182 msgid "Filter by parent category" msgstr "" -#: part/api.py:214 +#: part/api.py:215 msgid "Exclude Tree" msgstr "" -#: part/api.py:216 +#: part/api.py:217 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:449 +#: part/api.py:442 msgid "Has Results" msgstr "" -#: part/api.py:616 +#: part/api.py:609 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:634 +#: part/api.py:627 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:650 +#: part/api.py:643 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:734 +#: part/api.py:727 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:881 -msgid "Valid" -msgstr "" - -#: part/api.py:882 +#: part/api.py:875 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:888 +#: part/api.py:881 msgid "This option must be selected" msgstr "" -#: part/api.py:1105 +#: part/api.py:1098 msgid "BOM Valid" msgstr "" -#: part/api.py:1508 part/models.py:932 part/models.py:3374 part/models.py:3889 -#: part/serializers.py:401 part/serializers.py:1130 -#: part/templates/part/part_base.html:260 stock/api.py:791 +#: part/api.py:1494 part/models.py:936 part/models.py:3385 part/models.py:3936 +#: part/serializers.py:419 part/serializers.py:1158 +#: part/templates/part/part_base.html:260 stock/api.py:783 #: 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:2380 msgid "Category" msgstr "" -#: part/api.py:1796 +#: part/api.py:1784 msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:104 part/models.py:975 +#: part/bom.py:170 part/models.py:104 part/models.py:979 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:833 +#: part/bom.py:171 part/serializers.py:861 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6147,7 +6381,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:85 part/models.py:3890 part/templates/part/category.html:16 +#: part/models.py:85 part/models.py:3937 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -6162,7 +6396,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:110 stock/models.py:175 templates/js/translated/part.js:2810 +#: part/models.py:110 stock/models.py:175 templates/js/translated/part.js:2813 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 @@ -6194,1002 +6428,1035 @@ msgstr "" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:485 +#: part/models.py:486 +msgid "Cannot delete this part as it is locked" +msgstr "" + +#: part/models.py:489 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:490 +#: part/models.py:494 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:528 +#: part/models.py:532 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:576 part/models.py:583 +#: part/models.py:580 part/models.py:587 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:595 +#: part/models.py:599 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:658 +#: part/models.py:662 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:736 +#: part/models.py:740 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:837 +#: part/models.py:841 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:847 +#: part/models.py:851 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:862 +#: part/models.py:866 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:891 part/models.py:3945 +#: part/models.py:895 part/models.py:3992 msgid "Part name" msgstr "" -#: part/models.py:896 +#: part/models.py:900 msgid "Is Template" msgstr "" -#: part/models.py:897 +#: part/models.py:901 msgid "Is this part a template part?" msgstr "" -#: part/models.py:907 +#: part/models.py:911 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:915 +#: part/models.py:919 msgid "Part description (optional)" msgstr "" -#: part/models.py:923 +#: part/models.py:927 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:933 +#: part/models.py:937 msgid "Part category" msgstr "" -#: part/models.py:941 -msgid "Internal Part Number" -msgstr "" - -#: part/models.py:948 +#: part/models.py:952 msgid "Part revision or version number" msgstr "" -#: part/models.py:973 +#: part/models.py:977 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1019 part/templates/part/part_base.html:376 +#: part/models.py:1023 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:1020 +#: part/models.py:1024 msgid "Default supplier part" msgstr "" -#: part/models.py:1027 +#: part/models.py:1031 msgid "Default Expiry" msgstr "" -#: part/models.py:1028 +#: part/models.py:1032 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1037 +#: part/models.py:1041 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1046 +#: part/models.py:1050 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1053 +#: part/models.py:1057 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1059 +#: part/models.py:1063 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1065 +#: part/models.py:1069 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1071 +#: part/models.py:1075 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1077 +#: part/models.py:1081 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1081 +#: part/models.py:1085 msgid "Is this part active?" msgstr "" -#: part/models.py:1087 +#: part/models.py:1090 templates/js/translated/part.js:818 +#: templates/js/translated/table_filters.js:721 +msgid "Locked" +msgstr "" + +#: part/models.py:1091 +msgid "Locked parts cannot be edited" +msgstr "" + +#: part/models.py:1097 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1093 +#: part/models.py:1103 msgid "BOM checksum" msgstr "" -#: part/models.py:1094 +#: part/models.py:1104 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1102 +#: part/models.py:1112 msgid "BOM checked by" msgstr "" -#: part/models.py:1107 +#: part/models.py:1117 msgid "BOM checked date" msgstr "" -#: part/models.py:1123 +#: part/models.py:1133 msgid "Creation User" msgstr "" -#: part/models.py:1133 +#: part/models.py:1143 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1138 part/templates/part/part_base.html:339 +#: part/models.py:1148 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:2474 msgid "Last Stocktake" msgstr "" -#: part/models.py:2011 +#: part/models.py:2021 msgid "Sell multiple" msgstr "" -#: part/models.py:3002 +#: part/models.py:3012 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3018 +#: part/models.py:3028 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3019 +#: part/models.py:3029 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3025 +#: part/models.py:3035 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3026 +#: part/models.py:3036 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3032 +#: part/models.py:3042 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3033 +#: part/models.py:3043 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3039 +#: part/models.py:3049 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3040 +#: part/models.py:3050 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3046 +#: part/models.py:3056 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3047 +#: part/models.py:3057 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3053 +#: part/models.py:3063 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3054 +#: part/models.py:3064 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3060 +#: part/models.py:3070 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3061 +#: part/models.py:3071 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3067 +#: part/models.py:3077 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3068 +#: part/models.py:3078 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3074 +#: part/models.py:3084 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3075 +#: part/models.py:3085 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3081 +#: part/models.py:3091 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3082 +#: part/models.py:3092 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3089 +#: part/models.py:3099 msgid "Override minimum cost" msgstr "" -#: part/models.py:3096 +#: part/models.py:3106 msgid "Override maximum cost" msgstr "" -#: part/models.py:3103 +#: part/models.py:3113 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3110 +#: part/models.py:3120 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3116 +#: part/models.py:3126 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3117 +#: part/models.py:3127 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3123 +#: part/models.py:3133 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3124 +#: part/models.py:3134 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3130 +#: part/models.py:3140 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3131 +#: part/models.py:3141 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3137 +#: part/models.py:3147 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3138 +#: part/models.py:3148 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3157 +#: part/models.py:3167 msgid "Part for stocktake" msgstr "" -#: part/models.py:3162 +#: part/models.py:3172 msgid "Item Count" msgstr "" -#: part/models.py:3163 +#: part/models.py:3173 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3171 +#: part/models.py:3181 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3175 part/models.py:3258 +#: part/models.py:3185 part/models.py:3268 #: part/templates/part/part_scheduling.html:13 #: 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:1086 templates/js/translated/pricing.js:826 +#: templates/js/translated/part.js:1089 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 #: templates/js/translated/purchase_order.js:1731 #: templates/js/translated/stock.js:2821 msgid "Date" msgstr "" -#: part/models.py:3176 +#: part/models.py:3186 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3184 +#: part/models.py:3194 msgid "Additional notes" msgstr "" -#: part/models.py:3194 +#: part/models.py:3204 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3200 +#: part/models.py:3210 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3201 +#: part/models.py:3211 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3207 +#: part/models.py:3217 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3208 +#: part/models.py:3218 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3264 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3274 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3265 +#: part/models.py:3275 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3270 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3280 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3271 +#: part/models.py:3281 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3281 +#: part/models.py:3291 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3423 +#: part/models.py:3301 +msgid "Part Sale Price Break" +msgstr "" + +#: part/models.py:3413 +msgid "Part Test Template" +msgstr "" + +#: part/models.py:3439 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3444 part/models.py:3608 +#: part/models.py:3460 part/models.py:3629 msgid "Choices must be unique" msgstr "" -#: part/models.py:3455 +#: part/models.py:3471 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3466 +#: part/models.py:3482 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3483 templates/js/translated/part.js:2880 +#: part/models.py:3499 templates/js/translated/part.js:2883 msgid "Test Name" msgstr "" -#: part/models.py:3484 +#: part/models.py:3500 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3490 +#: part/models.py:3506 msgid "Test Key" msgstr "" -#: part/models.py:3491 +#: part/models.py:3507 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3498 +#: part/models.py:3514 msgid "Test Description" msgstr "" -#: part/models.py:3499 +#: part/models.py:3515 msgid "Enter description for this test" msgstr "" -#: part/models.py:3503 report/models.py:209 -#: templates/js/translated/part.js:2901 +#: part/models.py:3519 report/models.py:209 +#: templates/js/translated/part.js:2904 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "" -#: part/models.py:3503 +#: part/models.py:3519 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3508 templates/js/translated/part.js:2909 +#: part/models.py:3524 templates/js/translated/part.js:2912 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3509 +#: part/models.py:3525 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3514 templates/js/translated/part.js:2917 +#: part/models.py:3530 templates/js/translated/part.js:2920 msgid "Requires Value" msgstr "" -#: part/models.py:3515 +#: part/models.py:3531 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3520 templates/js/translated/part.js:2924 +#: part/models.py:3536 templates/js/translated/part.js:2927 msgid "Requires Attachment" msgstr "" -#: part/models.py:3522 +#: part/models.py:3538 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3528 part/models.py:3667 templates/js/translated/part.js:1637 +#: part/models.py:3544 part/models.py:3688 templates/js/translated/part.js:1640 msgid "Choices" msgstr "" -#: part/models.py:3529 +#: part/models.py:3545 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3583 +#: part/models.py:3577 +msgid "Part Parameter Template" +msgstr "" + +#: part/models.py:3604 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3588 +#: part/models.py:3609 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3625 +#: part/models.py:3646 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3640 +#: part/models.py:3661 msgid "Parameter Name" msgstr "" -#: part/models.py:3647 +#: part/models.py:3668 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3655 +#: part/models.py:3676 msgid "Parameter description" msgstr "" -#: part/models.py:3661 templates/js/translated/part.js:1628 -#: templates/js/translated/table_filters.js:825 +#: part/models.py:3682 templates/js/translated/part.js:1631 +#: templates/js/translated/table_filters.js:830 msgid "Checkbox" msgstr "" -#: part/models.py:3662 +#: part/models.py:3683 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3668 +#: part/models.py:3689 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3745 +#: part/models.py:3723 +msgid "Part Parameter" +msgstr "" + +#: part/models.py:3749 +msgid "Parameter cannot be modified - part is locked" +msgstr "" + +#: part/models.py:3785 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3788 +#: part/models.py:3828 msgid "Parent Part" msgstr "" -#: part/models.py:3796 part/models.py:3897 part/models.py:3898 +#: part/models.py:3836 part/models.py:3944 part/models.py:3945 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3801 -msgid "Data" +#: part/models.py:3842 +msgid "Parameter Value" msgstr "" -#: part/models.py:3802 -msgid "Parameter Value" +#: part/models.py:3892 +msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:3904 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3951 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3905 +#: part/models.py:3952 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3943 +#: part/models.py:3990 msgid "Part ID or part name" msgstr "" -#: part/models.py:3944 +#: part/models.py:3991 msgid "Unique part ID value" msgstr "" -#: part/models.py:3946 +#: part/models.py:3993 msgid "Part IPN value" msgstr "" -#: part/models.py:3947 +#: part/models.py:3994 msgid "Level" msgstr "" -#: part/models.py:3947 +#: part/models.py:3994 msgid "BOM level" msgstr "" -#: part/models.py:4037 +#: part/models.py:4105 +msgid "BOM item cannot be modified - assembly is locked" +msgstr "" + +#: part/models.py:4112 +msgid "BOM item cannot be modified - variant assembly is locked" +msgstr "" + +#: part/models.py:4122 msgid "Select parent part" msgstr "" -#: part/models.py:4047 +#: part/models.py:4132 msgid "Sub part" msgstr "" -#: part/models.py:4048 +#: part/models.py:4133 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4059 +#: part/models.py:4144 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4065 +#: part/models.py:4150 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4071 +#: part/models.py:4156 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4078 part/templates/part/upload_bom.html:55 +#: part/models.py:4163 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4079 +#: part/models.py:4164 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4086 +#: part/models.py:4171 msgid "BOM item reference" msgstr "" -#: part/models.py:4094 +#: part/models.py:4179 msgid "BOM item notes" msgstr "" -#: part/models.py:4100 +#: part/models.py:4185 msgid "Checksum" msgstr "" -#: part/models.py:4101 +#: part/models.py:4186 msgid "BOM line checksum" msgstr "" -#: part/models.py:4106 templates/js/translated/table_filters.js:174 +#: part/models.py:4191 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4107 +#: part/models.py:4192 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4112 part/templates/part/upload_bom.html:57 +#: part/models.py:4197 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:4113 +#: part/models.py:4198 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4118 part/templates/part/upload_bom.html:56 +#: part/models.py:4203 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4119 +#: part/models.py:4204 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4204 stock/models.py:663 +#: part/models.py:4289 stock/models.py:663 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4214 part/models.py:4216 +#: part/models.py:4299 part/models.py:4301 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4354 +#: part/models.py:4439 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4375 +#: part/models.py:4460 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4388 +#: part/models.py:4473 msgid "Parent BOM item" msgstr "" -#: part/models.py:4396 +#: part/models.py:4481 msgid "Substitute part" msgstr "" -#: part/models.py:4412 +#: part/models.py:4497 msgid "Part 1" msgstr "" -#: part/models.py:4420 +#: part/models.py:4505 msgid "Part 2" msgstr "" -#: part/models.py:4421 +#: part/models.py:4506 msgid "Select Related Part" msgstr "" -#: part/models.py:4440 +#: part/models.py:4525 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4445 +#: part/models.py:4530 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:118 +#: part/serializers.py:124 msgid "Parent Category" msgstr "" -#: part/serializers.py:119 templates/js/translated/part.js:309 +#: part/serializers.py:125 templates/js/translated/part.js:308 msgid "Parent part category" msgstr "" -#: part/serializers.py:126 part/serializers.py:148 +#: part/serializers.py:132 part/serializers.py:154 #: part/templates/part/category.html:122 part/templates/part/category.html:207 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" -#: part/serializers.py:180 +#: part/serializers.py:189 msgid "Results" msgstr "" -#: part/serializers.py:181 +#: part/serializers.py:190 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:205 part/serializers.py:223 stock/serializers.py:562 +#: part/serializers.py:217 part/serializers.py:235 stock/serializers.py:608 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:268 +#: part/serializers.py:283 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:392 +#: part/serializers.py:410 msgid "No parts selected" msgstr "" -#: part/serializers.py:402 +#: part/serializers.py:420 msgid "Select category" msgstr "" -#: part/serializers.py:437 +#: part/serializers.py:455 msgid "Original Part" msgstr "" -#: part/serializers.py:438 +#: part/serializers.py:456 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:461 msgid "Copy Image" msgstr "" -#: part/serializers.py:444 +#: part/serializers.py:462 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:450 part/templates/part/detail.html:277 +#: part/serializers.py:468 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:451 +#: part/serializers.py:469 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:457 +#: part/serializers.py:475 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:458 +#: part/serializers.py:476 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:464 +#: part/serializers.py:482 msgid "Copy Notes" msgstr "" -#: part/serializers.py:465 +#: part/serializers.py:483 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:483 +#: part/serializers.py:501 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:485 +#: part/serializers.py:503 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:492 +#: part/serializers.py:510 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:493 +#: part/serializers.py:511 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:510 +#: part/serializers.py:528 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:526 +#: part/serializers.py:544 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:536 +#: part/serializers.py:554 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:543 +#: part/serializers.py:561 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:552 +#: part/serializers.py:570 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:563 +#: part/serializers.py:581 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:570 +#: part/serializers.py:588 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:834 -msgid "External Stock" -msgstr "" - -#: part/serializers.py:836 +#: part/serializers.py:864 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:839 +#: part/serializers.py:867 msgid "Variant Stock" msgstr "" -#: part/serializers.py:869 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:472 +#: part/serializers.py:897 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:870 +#: part/serializers.py:898 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:876 templates/js/translated/part.js:102 +#: part/serializers.py:904 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:877 +#: part/serializers.py:905 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:883 +#: part/serializers.py:911 msgid "Supplier Information" msgstr "" -#: part/serializers.py:884 +#: part/serializers.py:912 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:892 +#: part/serializers.py:920 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:893 +#: part/serializers.py:921 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:898 +#: part/serializers.py:926 msgid "Existing Image" msgstr "" -#: part/serializers.py:899 +#: part/serializers.py:927 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:916 +#: part/serializers.py:944 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1122 +#: part/serializers.py:1150 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1132 +#: part/serializers.py:1160 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1142 +#: part/serializers.py:1170 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1148 +#: part/serializers.py:1176 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1149 +#: part/serializers.py:1177 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1154 +#: part/serializers.py:1182 msgid "Generate Report" msgstr "" -#: part/serializers.py:1155 +#: part/serializers.py:1183 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1160 +#: part/serializers.py:1188 msgid "Update Parts" msgstr "" -#: part/serializers.py:1161 +#: part/serializers.py:1189 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1169 +#: part/serializers.py:1197 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1275 +#: part/serializers.py:1303 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1282 +#: part/serializers.py:1310 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1290 +#: part/serializers.py:1318 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1297 +#: part/serializers.py:1325 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1326 +#: part/serializers.py:1354 msgid "Update" msgstr "" -#: part/serializers.py:1327 +#: part/serializers.py:1355 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1350 +#: part/serializers.py:1378 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1357 +#: part/serializers.py:1385 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1360 +#: part/serializers.py:1388 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1727 +#: part/serializers.py:1759 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1735 +#: part/serializers.py:1767 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1736 +#: part/serializers.py:1768 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1741 +#: part/serializers.py:1773 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1742 +#: part/serializers.py:1774 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1747 +#: part/serializers.py:1779 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1748 +#: part/serializers.py:1780 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1753 +#: part/serializers.py:1785 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1754 +#: part/serializers.py:1786 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1788 +#: part/serializers.py:1823 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1789 +#: part/serializers.py:1824 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1819 +#: part/serializers.py:1856 msgid "No part column specified" msgstr "" -#: part/serializers.py:1863 +#: part/serializers.py:1900 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1866 +#: part/serializers.py:1903 msgid "No matching part found" msgstr "" -#: part/serializers.py:1869 +#: part/serializers.py:1906 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1878 +#: part/serializers.py:1915 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1886 +#: part/serializers.py:1923 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1907 +#: part/serializers.py:1946 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:225 templates/js/translated/part.js:1067 -#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 +#: part/stocktake.py:225 templates/js/translated/part.js:1070 +#: templates/js/translated/part.js:1825 templates/js/translated/part.js:1881 #: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "" @@ -7507,7 +7774,7 @@ msgstr "" #: part/templates/part/part_base.html:52 #: stock/templates/stock/item_base.html:62 -#: stock/templates/stock/location.html:74 templates/js/translated/label.js:143 +#: stock/templates/stock/location.html:74 templates/js/translated/label.js:136 msgid "Print Label" msgstr "" @@ -7529,7 +7796,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:2296 msgid "Part actions" msgstr "" @@ -7569,6 +7836,10 @@ msgstr "" msgid "Part can be sold to customers" msgstr "" +#: part/templates/part/part_base.html:145 +msgid "Part is not active" +msgstr "" + #: part/templates/part/part_base.html:153 msgid "Part is virtual (not a physical part)" msgstr "" @@ -7597,7 +7868,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:322 templates/js/translated/bom.js:1071 -#: templates/js/translated/part.js:1265 templates/js/translated/part.js:2444 +#: templates/js/translated/part.js:1268 templates/js/translated/part.js:2447 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" @@ -7690,8 +7961,8 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/part.js:1243 templates/js/translated/part.js:2146 -#: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 +#: templates/js/translated/part.js:1246 templates/js/translated/part.js:2149 +#: templates/js/translated/part.js:2395 templates/js/translated/stock.js:1059 #: templates/js/translated/stock.js:2070 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -7811,8 +8082,8 @@ msgstr "" #: part/templates/part/stock_count.html:7 #: templates/js/translated/model_renderers.js:227 -#: templates/js/translated/part.js:705 templates/js/translated/part.js:2141 -#: templates/js/translated/part.js:2143 +#: templates/js/translated/part.js:704 templates/js/translated/part.js:2144 +#: templates/js/translated/part.js:2146 msgid "No Stock" msgstr "" @@ -7956,7 +8227,7 @@ msgstr "" msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2589 +#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2590 #: templates/js/translated/sales_order.js:1953 msgid "Insufficient stock available" msgstr "" @@ -8051,7 +8322,7 @@ msgstr "" msgid "Quantity to allocate" msgstr "" -#: plugin/base/label/label.py:39 templates/js/translated/label.js:155 +#: plugin/base/label/label.py:39 templates/js/translated/label.js:148 msgid "Label printing failed" msgstr "" @@ -8748,7 +9019,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report.html:25 #: report/templates/report/inventree_test_report.html:88 stock/models.py:825 -#: stock/serializers.py:149 stock/templates/stock/item_base.html:311 +#: stock/serializers.py:151 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:230 @@ -8778,7 +9049,7 @@ msgstr "" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2447 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2457 msgid "Result" msgstr "" @@ -8799,7 +9070,7 @@ msgid "No result" msgstr "" #: report/templates/report/inventree_test_report.html:153 -#: stock/templates/stock/stock_sidebar.html:16 +#: stock/serializers.py:591 stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" @@ -8829,10 +9100,6 @@ msgstr "" msgid "Location ID" msgstr "" -#: stock/admin.py:53 stock/admin.py:175 -msgid "Location Name" -msgstr "" - #: stock/admin.py:63 stock/templates/stock/location.html:131 #: stock/templates/stock/location.html:137 msgid "Location Path" @@ -8909,7 +9176,7 @@ msgstr "" msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:369 stock/serializers.py:1085 +#: stock/api.py:369 stock/serializers.py:1148 msgid "Parent Location" msgstr "" @@ -8917,44 +9184,45 @@ msgstr "" msgid "Filter by parent location" msgstr "" -#: stock/api.py:625 templates/js/translated/table_filters.js:427 +#: stock/api.py:617 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:813 +#: stock/api.py:805 msgid "Part Tree" msgstr "" -#: stock/api.py:843 +#: stock/api.py:835 msgid "Expiry date before" msgstr "" -#: stock/api.py:847 +#: stock/api.py:839 msgid "Expiry date after" msgstr "" -#: stock/api.py:850 stock/templates/stock/item_base.html:439 +#: stock/api.py:842 stock/serializers.py:596 +#: stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "" -#: stock/api.py:937 +#: stock/api.py:929 msgid "Quantity is required" msgstr "" -#: stock/api.py:943 +#: stock/api.py:935 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:974 +#: stock/api.py:966 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:984 +#: stock/api.py:976 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1015 +#: stock/api.py:1007 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -9021,7 +9289,7 @@ msgstr "" msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:669 stock/serializers.py:446 +#: stock/models.py:669 stock/serializers.py:477 msgid "Stock item cannot be created for virtual parts" msgstr "" @@ -9066,7 +9334,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:799 stock/serializers.py:1476 +#: stock/models.py:799 stock/serializers.py:1542 msgid "Packaging this stock item is stored in" msgstr "" @@ -9078,7 +9346,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:843 stock/serializers.py:1459 +#: stock/models.py:843 stock/serializers.py:1525 msgid "Batch code for this stock item" msgstr "" @@ -9155,7 +9423,7 @@ msgstr "" msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1520 stock/serializers.py:660 +#: stock/models.py:1520 stock/serializers.py:718 msgid "Serial numbers already exist" msgstr "" @@ -9187,7 +9455,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1658 stock/serializers.py:1365 +#: stock/models.py:1658 stock/serializers.py:1431 msgid "Duplicate stock items" msgstr "" @@ -9207,288 +9475,330 @@ msgstr "" msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2345 +#: stock/models.py:2317 +msgid "Stock Item Tracking" +msgstr "" + +#: stock/models.py:2350 msgid "Entry notes" msgstr "" -#: stock/models.py:2413 +#: stock/models.py:2390 +msgid "Stock Item Test Result" +msgstr "" + +#: stock/models.py:2423 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2418 +#: stock/models.py:2428 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2423 +#: stock/models.py:2433 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2447 +#: stock/models.py:2457 msgid "Test result" msgstr "" -#: stock/models.py:2454 +#: stock/models.py:2464 msgid "Test output value" msgstr "" -#: stock/models.py:2462 +#: stock/models.py:2472 msgid "Test result attachment" msgstr "" -#: stock/models.py:2466 +#: stock/models.py:2476 msgid "Test notes" msgstr "" -#: stock/models.py:2474 templates/js/translated/stock.js:1548 +#: stock/models.py:2484 templates/js/translated/stock.js:1548 msgid "Test station" msgstr "" -#: stock/models.py:2475 +#: stock/models.py:2485 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2481 +#: stock/models.py:2491 msgid "Started" msgstr "" -#: stock/models.py:2482 +#: stock/models.py:2492 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2488 +#: stock/models.py:2498 msgid "Finished" msgstr "" -#: stock/models.py:2489 +#: stock/models.py:2499 msgid "The timestamp of the test finish" msgstr "" -#: stock/serializers.py:74 +#: stock/serializers.py:76 msgid "Generated batch code" msgstr "" -#: stock/serializers.py:83 +#: stock/serializers.py:85 msgid "Select build order" msgstr "" -#: stock/serializers.py:92 +#: stock/serializers.py:94 msgid "Select stock item to generate batch code for" msgstr "" -#: stock/serializers.py:101 +#: stock/serializers.py:103 msgid "Select location to generate batch code for" msgstr "" -#: stock/serializers.py:110 +#: stock/serializers.py:112 msgid "Select part to generate batch code for" msgstr "" -#: stock/serializers.py:119 +#: stock/serializers.py:121 msgid "Select purchase order" msgstr "" -#: stock/serializers.py:126 +#: stock/serializers.py:128 msgid "Enter quantity for batch code" msgstr "" -#: stock/serializers.py:149 +#: stock/serializers.py:151 msgid "Generated serial number" msgstr "" -#: stock/serializers.py:158 +#: stock/serializers.py:160 msgid "Select part to generate serial number for" msgstr "" -#: stock/serializers.py:166 +#: stock/serializers.py:168 msgid "Quantity of serial numbers to generate" msgstr "" -#: stock/serializers.py:228 +#: stock/serializers.py:233 msgid "Test template for this result" msgstr "" -#: stock/serializers.py:247 +#: stock/serializers.py:252 msgid "Template ID or test name must be provided" msgstr "" -#: stock/serializers.py:279 +#: stock/serializers.py:284 msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:315 +#: stock/serializers.py:320 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:438 +#: stock/serializers.py:449 stock/templates/stock/item_base.html:193 +msgid "Parent Item" +msgstr "" + +#: stock/serializers.py:450 +msgid "Parent stock item" +msgstr "" + +#: stock/serializers.py:469 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:558 +#: stock/serializers.py:585 templates/js/translated/build.js:991 +#: templates/js/translated/build.js:2344 +msgid "Allocated Quantity" +msgstr "" + +#: stock/serializers.py:588 stock/templates/stock/item_base.html:437 +#: templates/js/translated/table_filters.js:435 users/models.py:174 +msgid "Expired" +msgstr "" + +#: stock/serializers.py:594 stock/templates/stock/stock_sidebar.html:20 +msgid "Child Items" +msgstr "" + +#: stock/serializers.py:598 +msgid "Tracking Items" +msgstr "" + +#: stock/serializers.py:604 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:595 +#: stock/serializers.py:623 +msgid "Minimum Pricing" +msgstr "" + +#: stock/serializers.py:629 +msgid "Maximum Pricing" +msgstr "" + +#: stock/serializers.py:653 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:608 +#: stock/serializers.py:666 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:615 +#: stock/serializers.py:673 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:626 stock/serializers.py:1322 stock/serializers.py:1578 +#: stock/serializers.py:684 stock/serializers.py:1388 stock/serializers.py:1644 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:633 +#: stock/serializers.py:691 msgid "Optional note field" msgstr "" -#: stock/serializers.py:643 +#: stock/serializers.py:701 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:698 +#: stock/serializers.py:756 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:705 +#: stock/serializers.py:763 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:706 +#: stock/serializers.py:764 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:711 stock/serializers.py:791 stock/serializers.py:887 -#: stock/serializers.py:937 +#: stock/serializers.py:769 stock/serializers.py:849 stock/serializers.py:945 +#: stock/serializers.py:995 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:719 +#: stock/serializers.py:777 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:727 +#: stock/serializers.py:785 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:738 +#: stock/serializers.py:796 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:751 +#: stock/serializers.py:809 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:786 +#: stock/serializers.py:844 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:821 +#: stock/serializers.py:879 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:834 +#: stock/serializers.py:892 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:851 +#: stock/serializers.py:909 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:882 +#: stock/serializers.py:940 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:919 +#: stock/serializers.py:977 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:925 +#: stock/serializers.py:983 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1021 stock/serializers.py:1093 +#: stock/serializers.py:1079 stock/serializers.py:1156 #: stock/templates/stock/location.html:165 #: stock/templates/stock/location.html:222 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1086 templates/js/translated/stock.js:152 +#: stock/serializers.py:1149 templates/js/translated/stock.js:152 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1194 +#: stock/serializers.py:1260 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1198 +#: stock/serializers.py:1264 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1202 +#: stock/serializers.py:1268 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1226 +#: stock/serializers.py:1292 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1232 +#: stock/serializers.py:1298 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1240 +#: stock/serializers.py:1306 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1250 stock/serializers.py:1504 +#: stock/serializers.py:1316 stock/serializers.py:1570 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1329 +#: stock/serializers.py:1395 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1334 +#: stock/serializers.py:1400 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1335 +#: stock/serializers.py:1401 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1340 +#: stock/serializers.py:1406 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1341 +#: stock/serializers.py:1407 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1351 +#: stock/serializers.py:1417 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1418 +#: stock/serializers.py:1484 msgid "No Change" msgstr "" -#: stock/serializers.py:1447 +#: stock/serializers.py:1513 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1466 +#: stock/serializers.py:1532 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1494 +#: stock/serializers.py:1560 msgid "Stock transaction notes" msgstr "" @@ -9757,10 +10067,6 @@ msgstr "" msgid "Build" msgstr "" -#: stock/templates/stock/item_base.html:193 -msgid "Parent Item" -msgstr "" - #: stock/templates/stock/item_base.html:211 msgid "No manufacturer set" msgstr "" @@ -9836,11 +10142,6 @@ msgstr "" msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:437 -#: templates/js/translated/table_filters.js:435 users/models.py:174 -msgid "Expired" -msgstr "" - #: stock/templates/stock/item_base.html:439 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" @@ -9988,10 +10289,6 @@ msgstr "" msgid "Allocations" msgstr "" -#: stock/templates/stock/stock_sidebar.html:20 -msgid "Child Items" -msgstr "" - #: templates/403.html:6 templates/403.html:12 templates/403_csrf.html:7 msgid "Permission Denied" msgstr "" @@ -10466,8 +10763,8 @@ 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:393 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:245 users/models.py:402 +#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 +#: templates/js/translated/stock.js:245 users/models.py:406 msgid "Delete" msgstr "" @@ -10507,12 +10804,12 @@ msgid "No category parameter templates found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:308 -#: templates/js/translated/part.js:1646 +#: templates/js/translated/part.js:1649 msgid "Edit Template" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:309 -#: templates/js/translated/part.js:1647 +#: templates/js/translated/part.js:1650 msgid "Delete Template" msgstr "" @@ -11145,7 +11442,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2556 +#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2557 msgid "Required Quantity" msgstr "" @@ -11159,7 +11456,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3219 +#: templates/js/translated/part.js:3222 msgid "Minimum Quantity" msgstr "" @@ -11514,7 +11811,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2500 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2501 msgid "Variant stock allowed" msgstr "" @@ -11534,30 +11831,30 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2621 +#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2622 msgid "External stock" msgstr "" -#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2595 +#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2596 #: templates/js/translated/sales_order.js:1946 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2599 +#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2600 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2601 -#: templates/js/translated/part.js:1257 +#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2602 +#: templates/js/translated/part.js:1260 #: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2603 +#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2604 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2586 +#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2587 msgid "Consumable item" msgstr "" @@ -11589,7 +11886,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2485 +#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2486 msgid "Required Part" msgstr "" @@ -11758,10 +12055,6 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:991 templates/js/translated/build.js:2344 -msgid "Allocated Quantity" -msgstr "" - #: templates/js/translated/build.js:1005 msgid "Location not specified" msgstr "" @@ -11873,9 +12166,9 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2117 templates/js/translated/build.js:2479 +#: templates/js/translated/build.js:2117 templates/js/translated/build.js:2480 #: templates/js/translated/forms.js:2163 templates/js/translated/forms.js:2179 -#: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 +#: templates/js/translated/part.js:2319 templates/js/translated/part.js:2745 #: templates/js/translated/stock.js:1983 templates/js/translated/stock.js:2710 msgid "Select" msgstr "" @@ -11906,59 +12199,59 @@ msgstr "" msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2455 +#: templates/js/translated/build.js:2456 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2456 +#: templates/js/translated/build.js:2457 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2474 +#: templates/js/translated/build.js:2475 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2504 templates/js/translated/part.js:791 -#: templates/js/translated/part.js:1203 +#: templates/js/translated/build.js:2505 templates/js/translated/part.js:790 +#: templates/js/translated/part.js:1206 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2539 +#: templates/js/translated/build.js:2540 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2591 +#: templates/js/translated/build.js:2592 #: templates/js/translated/sales_order.js:1951 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2646 +#: templates/js/translated/build.js:2647 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2653 +#: templates/js/translated/build.js:2654 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2654 +#: templates/js/translated/build.js:2655 msgid "Allocate tracked items against individual build outputs" msgstr "" -#: templates/js/translated/build.js:2662 +#: templates/js/translated/build.js:2663 #: templates/js/translated/sales_order.js:2052 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2667 templates/js/translated/stock.js:1868 +#: templates/js/translated/build.js:2668 templates/js/translated/stock.js:1868 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2671 +#: templates/js/translated/build.js:2672 #: templates/js/translated/sales_order.js:2046 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2675 +#: templates/js/translated/build.js:2676 msgid "Remove stock allocation" msgstr "" @@ -12105,7 +12398,7 @@ msgid "Delete Parameters" msgstr "" #: templates/js/translated/company.js:1191 -#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2245 +#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2248 msgid "Order parts" msgstr "" @@ -12122,34 +12415,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:1279 -#: templates/js/translated/company.js:1567 templates/js/translated/part.js:799 -#: templates/js/translated/part.js:1211 +#: templates/js/translated/company.js:1567 templates/js/translated/part.js:798 +#: templates/js/translated/part.js:1214 msgid "Template part" msgstr "" #: templates/js/translated/company.js:1283 -#: templates/js/translated/company.js:1571 templates/js/translated/part.js:803 -#: templates/js/translated/part.js:1215 +#: templates/js/translated/company.js:1571 templates/js/translated/part.js:802 +#: templates/js/translated/part.js:1218 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1465 +#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1468 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1528 +#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1531 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1529 +#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1532 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1434 +#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1437 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1550 +#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1553 msgid "Delete Parameter" msgstr "" @@ -12323,15 +12616,15 @@ msgstr "" msgid "No parts required for builds" msgstr "" -#: templates/js/translated/label.js:55 templates/js/translated/report.js:38 +#: templates/js/translated/label.js:48 templates/js/translated/report.js:38 msgid "Select Items" msgstr "" -#: templates/js/translated/label.js:56 templates/js/translated/report.js:39 +#: templates/js/translated/label.js:49 templates/js/translated/report.js:39 msgid "No items selected for printing" msgstr "" -#: templates/js/translated/label.js:150 +#: templates/js/translated/label.js:143 msgid "Labels sent to printer" msgstr "" @@ -12400,7 +12693,7 @@ msgstr "" #: templates/js/translated/news.js:38 #: templates/js/translated/notification.js:46 -#: templates/js/translated/part.js:1605 +#: templates/js/translated/part.js:1608 msgid "ID" msgstr "" @@ -12481,343 +12774,343 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:333 templates/js/translated/stock.js:175 +#: templates/js/translated/part.js:332 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:353 +#: templates/js/translated/part.js:352 msgid "Create Part Category" msgstr "" -#: templates/js/translated/part.js:356 +#: templates/js/translated/part.js:355 msgid "Create new category after this one" msgstr "" -#: templates/js/translated/part.js:357 +#: templates/js/translated/part.js:356 msgid "Part category created" msgstr "" -#: templates/js/translated/part.js:371 +#: templates/js/translated/part.js:370 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:384 +#: templates/js/translated/part.js:383 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:389 +#: templates/js/translated/part.js:388 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:398 +#: templates/js/translated/part.js:397 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:402 +#: templates/js/translated/part.js:401 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:407 +#: templates/js/translated/part.js:406 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:431 +#: templates/js/translated/part.js:430 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:433 +#: templates/js/translated/part.js:432 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:434 +#: templates/js/translated/part.js:433 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:462 +#: templates/js/translated/part.js:461 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:464 +#: templates/js/translated/part.js:463 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:475 +#: templates/js/translated/part.js:474 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:532 +#: templates/js/translated/part.js:531 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:533 +#: templates/js/translated/part.js:532 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:547 +#: templates/js/translated/part.js:546 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:549 +#: templates/js/translated/part.js:548 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:550 +#: templates/js/translated/part.js:549 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:551 +#: templates/js/translated/part.js:550 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:558 +#: templates/js/translated/part.js:557 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:594 +#: templates/js/translated/part.js:593 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:596 +#: templates/js/translated/part.js:595 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:601 +#: templates/js/translated/part.js:600 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:603 +#: templates/js/translated/part.js:602 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:620 +#: templates/js/translated/part.js:619 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:630 +#: templates/js/translated/part.js:629 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:633 +#: templates/js/translated/part.js:632 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:658 +#: templates/js/translated/part.js:657 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:686 -#: templates/js/translated/table_filters.js:747 +#: templates/js/translated/part.js:685 +#: templates/js/translated/table_filters.js:752 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:689 +#: templates/js/translated/part.js:688 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:749 +#: templates/js/translated/part.js:748 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:772 +#: templates/js/translated/part.js:771 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:795 templates/js/translated/part.js:1207 +#: templates/js/translated/part.js:794 templates/js/translated/part.js:1210 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:807 +#: templates/js/translated/part.js:806 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:811 +#: templates/js/translated/part.js:810 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:890 +#: templates/js/translated/part.js:893 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:890 +#: templates/js/translated/part.js:893 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:898 +#: templates/js/translated/part.js:901 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:902 +#: templates/js/translated/part.js:905 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:1051 +#: templates/js/translated/part.js:1054 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1109 templates/js/translated/part.js:1145 +#: templates/js/translated/part.js:1112 templates/js/translated/part.js:1148 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1113 templates/js/translated/part.js:1155 +#: templates/js/translated/part.js:1116 templates/js/translated/part.js:1158 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1282 +#: templates/js/translated/part.js:1285 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1600 +#: templates/js/translated/part.js:1603 msgid "No part parameter templates found" msgstr "" -#: templates/js/translated/part.js:1663 +#: templates/js/translated/part.js:1666 msgid "Edit Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1675 +#: templates/js/translated/part.js:1678 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/js/translated/part.js:1683 +#: templates/js/translated/part.js:1686 msgid "Delete Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1717 +#: templates/js/translated/part.js:1720 #: templates/js/translated/purchase_order.js:1654 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/part.js:1861 +#: templates/js/translated/part.js:1864 #: 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:1907 +#: templates/js/translated/part.js:1910 #: templates/js/translated/purchase_order.js:2220 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1970 +#: templates/js/translated/part.js:1973 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1992 +#: templates/js/translated/part.js:1995 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2080 templates/js/translated/part.js:2506 +#: templates/js/translated/part.js:2083 templates/js/translated/part.js:2509 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:2201 +#: templates/js/translated/part.js:2204 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2206 +#: templates/js/translated/part.js:2209 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2236 +#: templates/js/translated/part.js:2239 msgid "Set category" msgstr "" -#: templates/js/translated/part.js:2287 +#: templates/js/translated/part.js:2290 msgid "part" msgstr "" -#: templates/js/translated/part.js:2288 +#: templates/js/translated/part.js:2291 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2384 +#: templates/js/translated/part.js:2387 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 +#: templates/js/translated/part.js:2534 templates/js/translated/part.js:2664 #: templates/js/translated/stock.js:2669 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2547 +#: templates/js/translated/part.js:2550 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2645 +#: templates/js/translated/part.js:2648 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2689 +#: templates/js/translated/part.js:2684 templates/js/translated/stock.js:2689 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2761 +#: templates/js/translated/part.js:2764 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2777 +#: templates/js/translated/part.js:2780 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2865 +#: templates/js/translated/part.js:2868 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2887 templates/js/translated/search.js:342 +#: templates/js/translated/part.js:2890 templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/part.js:2937 templates/js/translated/stock.js:1456 +#: templates/js/translated/part.js:2940 templates/js/translated/stock.js:1456 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2938 templates/js/translated/stock.js:1457 +#: templates/js/translated/part.js:2941 templates/js/translated/stock.js:1457 #: templates/js/translated/stock.js:1731 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2942 +#: templates/js/translated/part.js:2945 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2958 +#: templates/js/translated/part.js:2961 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2972 +#: templates/js/translated/part.js:2975 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3051 templates/js/translated/part.js:3052 +#: templates/js/translated/part.js:3054 templates/js/translated/part.js:3055 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3054 +#: templates/js/translated/part.js:3057 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3060 +#: templates/js/translated/part.js:3063 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3110 +#: templates/js/translated/part.js:3113 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3116 +#: templates/js/translated/part.js:3119 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3212 +#: templates/js/translated/part.js:3215 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3228 +#: templates/js/translated/part.js:3231 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3273 +#: templates/js/translated/part.js:3276 msgid "Minimum Stock Level" msgstr "" @@ -13593,7 +13886,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1042 users/models.py:392 +#: templates/js/translated/stock.js:1042 users/models.py:396 msgid "Add" msgstr "" @@ -13947,7 +14240,7 @@ msgid "Include subcategories" msgstr "" #: templates/js/translated/table_filters.js:287 -#: templates/js/translated/table_filters.js:759 +#: templates/js/translated/table_filters.js:764 msgid "Subscribed" msgstr "" @@ -14102,40 +14395,44 @@ msgstr "" msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:725 +#: templates/js/translated/table_filters.js:722 +msgid "Show locked parts" +msgstr "" + +#: templates/js/translated/table_filters.js:730 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:733 -#: templates/js/translated/table_filters.js:833 +#: templates/js/translated/table_filters.js:738 +#: templates/js/translated/table_filters.js:838 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:734 +#: templates/js/translated/table_filters.js:739 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:738 +#: templates/js/translated/table_filters.js:743 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:739 +#: templates/js/translated/table_filters.js:744 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:743 +#: templates/js/translated/table_filters.js:748 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:751 +#: templates/js/translated/table_filters.js:756 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:763 +#: templates/js/translated/table_filters.js:768 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:829 +#: templates/js/translated/table_filters.js:834 msgid "Has Choices" msgstr "" @@ -14207,10 +14504,6 @@ msgstr "" msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:558 -msgid "Columns" -msgstr "" - #: templates/js/translated/tables.js:561 msgid "All" msgstr "" @@ -14484,35 +14777,34 @@ msgstr "" msgid "Revoked" msgstr "" -#: users/models.py:375 +#: users/models.py:379 msgid "Permission set" msgstr "" -#: users/models.py:384 +#: users/models.py:388 msgid "Group" msgstr "" -#: users/models.py:388 +#: users/models.py:392 msgid "View" msgstr "" -#: users/models.py:388 +#: users/models.py:392 msgid "Permission to view items" msgstr "" -#: users/models.py:392 +#: users/models.py:396 msgid "Permission to add items" msgstr "" -#: users/models.py:396 +#: users/models.py:400 msgid "Change" msgstr "" -#: users/models.py:398 +#: users/models.py:402 msgid "Permissions to edit items" msgstr "" -#: users/models.py:404 +#: users/models.py:408 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 587b70ec2b81..6bbb8e662f8f 100644 --- a/src/backend/InvenTree/locale/nl/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/nl/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-07-05 02:47+0000\n" +"POT-Creation-Date: 2024-07-08 14:46+0000\n" "PO-Revision-Date: 2024-07-05 14:57\n" "Last-Translator: \n" "Language-Team: Dutch\n" @@ -21,7 +21,7 @@ msgstr "" msgid "API endpoint not found" msgstr "API eindpunt niet gevonden" -#: InvenTree/api.py:520 +#: InvenTree/api.py:505 msgid "User does not have permission to view this model" msgstr "Gebruiker heeft geen rechten om dit model te bekijken" @@ -56,21 +56,21 @@ msgstr "Error details kunnen worden gevonden in het admin scherm" msgid "Enter date" msgstr "Voer datum in" -#: InvenTree/fields.py:205 InvenTree/models.py:918 build/serializers.py:452 -#: build/serializers.py:530 build/templates/build/sidebar.html:21 -#: company/models.py:817 company/templates/company/sidebar.html:37 +#: InvenTree/fields.py:205 InvenTree/models.py:921 build/serializers.py:456 +#: build/serializers.py:534 build/templates/build/sidebar.html:21 +#: company/models.py:824 company/templates/company/sidebar.html:37 #: order/models.py:1296 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:3183 part/templates/part/part_sidebar.html:63 +#: part/models.py:3193 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:230 stock/models.py:2344 stock/models.py:2466 -#: stock/serializers.py:632 stock/serializers.py:790 stock/serializers.py:886 -#: stock/serializers.py:936 stock/serializers.py:1239 stock/serializers.py:1328 -#: stock/serializers.py:1493 stock/templates/stock/stock_sidebar.html:25 +#: stock/admin.py:230 stock/models.py:2349 stock/models.py:2476 +#: stock/serializers.py:690 stock/serializers.py:848 stock/serializers.py:944 +#: stock/serializers.py:994 stock/serializers.py:1305 stock/serializers.py:1394 +#: stock/serializers.py:1559 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:1081 +#: templates/js/translated/part.js:1084 #: templates/js/translated/purchase_order.js:2200 #: templates/js/translated/return_order.js:775 #: templates/js/translated/sales_order.js:1103 @@ -371,41 +371,41 @@ msgstr "" msgid "JSON metadata field, for use by external plugins" msgstr "JSON metadata veld, voor gebruik door externe plugins" -#: InvenTree/models.py:408 +#: InvenTree/models.py:411 msgid "Improperly formatted pattern" msgstr "Onjuist opgemaakt patroon" -#: InvenTree/models.py:415 +#: InvenTree/models.py:418 msgid "Unknown format key specified" msgstr "Onbekende opmaaksleutel gespecificeerd" -#: InvenTree/models.py:421 +#: InvenTree/models.py:424 msgid "Missing required format key" msgstr "Vereiste opmaaksleutel ontbreekt" -#: InvenTree/models.py:432 +#: InvenTree/models.py:435 msgid "Reference field cannot be empty" msgstr "Referentieveld mag niet leeg zijn" -#: InvenTree/models.py:440 +#: InvenTree/models.py:443 msgid "Reference must match required pattern" msgstr "Referentie moet overeenkomen met verplicht patroon" -#: InvenTree/models.py:471 +#: InvenTree/models.py:474 msgid "Reference number is too large" msgstr "Referentienummer is te groot" -#: InvenTree/models.py:719 +#: InvenTree/models.py:722 msgid "Duplicate names cannot exist under the same parent" msgstr "Dubbele namen kunnen niet bestaan onder hetzelfde bovenliggende object" -#: InvenTree/models.py:736 +#: InvenTree/models.py:739 msgid "Invalid choice" msgstr "Ongeldige keuze" -#: InvenTree/models.py:766 common/models.py:2678 common/models.py:3103 -#: common/serializers.py:408 company/models.py:580 machine/models.py:24 -#: part/models.py:891 part/models.py:3639 plugin/models.py:51 +#: InvenTree/models.py:769 common/models.py:2659 common/models.py:3089 +#: common/serializers.py:412 company/models.py:587 machine/models.py:24 +#: part/models.py:895 part/models.py:3660 plugin/models.py:51 #: report/models.py:150 stock/models.py:74 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -417,20 +417,20 @@ msgstr "Ongeldige keuze" #: templates/js/translated/company.js:724 #: templates/js/translated/company.js:913 #: templates/js/translated/company.js:1165 -#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1187 -#: templates/js/translated/part.js:1475 templates/js/translated/part.js:1611 -#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2716 +#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1190 +#: templates/js/translated/part.js:1478 templates/js/translated/part.js:1614 +#: templates/js/translated/part.js:2752 templates/js/translated/stock.js:2716 msgid "Name" msgstr "Naam" -#: InvenTree/models.py:772 build/models.py:235 -#: build/templates/build/detail.html:24 common/models.py:138 -#: company/models.py:509 company/models.py:808 +#: InvenTree/models.py:775 build/models.py:242 +#: build/templates/build/detail.html:24 common/models.py:143 +#: company/models.py:515 company/models.py:815 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 -#: order/models.py:1329 part/admin.py:305 part/admin.py:408 part/models.py:914 -#: part/models.py:3654 part/templates/part/category.html:82 +#: order/models.py:1329 part/admin.py:305 part/admin.py:408 part/models.py:918 +#: part/models.py:3675 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:156 #: report/models.py:510 report/models.py:536 @@ -444,10 +444,10 @@ msgstr "Naam" #: templates/js/translated/build.js:2139 templates/js/translated/company.js:519 #: templates/js/translated/company.js:1330 #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 -#: templates/js/translated/order.js:298 templates/js/translated/part.js:1239 -#: templates/js/translated/part.js:1484 templates/js/translated/part.js:1622 -#: templates/js/translated/part.js:1959 templates/js/translated/part.js:2355 -#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2897 +#: templates/js/translated/order.js:298 templates/js/translated/part.js:1242 +#: templates/js/translated/part.js:1487 templates/js/translated/part.js:1625 +#: templates/js/translated/part.js:1962 templates/js/translated/part.js:2358 +#: templates/js/translated/part.js:2788 templates/js/translated/part.js:2900 #: templates/js/translated/plugin.js:80 #: templates/js/translated/purchase_order.js:1706 #: templates/js/translated/purchase_order.js:1849 @@ -460,53 +460,53 @@ msgstr "Naam" msgid "Description" msgstr "Omschrijving" -#: InvenTree/models.py:773 stock/models.py:81 +#: InvenTree/models.py:776 stock/models.py:81 msgid "Description (optional)" msgstr "Omschrijving (optioneel)" -#: InvenTree/models.py:788 templates/js/translated/part.js:2794 +#: InvenTree/models.py:791 templates/js/translated/part.js:2797 #: templates/js/translated/stock.js:2757 msgid "Path" msgstr "Pad" -#: InvenTree/models.py:918 +#: InvenTree/models.py:921 msgid "Markdown notes (optional)" msgstr "Markdown notitie (optioneel)" -#: InvenTree/models.py:947 +#: InvenTree/models.py:950 msgid "Barcode Data" msgstr "Streepjescode gegevens" -#: InvenTree/models.py:948 +#: InvenTree/models.py:951 msgid "Third party barcode data" msgstr "Streepjescode van derden" -#: InvenTree/models.py:954 +#: InvenTree/models.py:957 msgid "Barcode Hash" msgstr "Hash van Streepjescode" -#: InvenTree/models.py:955 +#: InvenTree/models.py:958 msgid "Unique hash of barcode data" msgstr "Unieke hash van barcode gegevens" -#: InvenTree/models.py:1008 +#: InvenTree/models.py:1011 msgid "Existing barcode found" msgstr "Bestaande barcode gevonden" -#: InvenTree/models.py:1051 +#: InvenTree/models.py:1054 msgid "Server Error" msgstr "Serverfout" -#: InvenTree/models.py:1052 +#: InvenTree/models.py:1055 msgid "An error has been logged by the server." msgstr "Er is een fout gelogd door de server." -#: InvenTree/serializers.py:63 part/models.py:4192 +#: InvenTree/serializers.py:63 part/models.py:4277 msgid "Must be a valid number" msgstr "Moet een geldig nummer zijn" #: InvenTree/serializers.py:100 company/models.py:186 -#: company/templates/company/company_base.html:112 part/models.py:3001 +#: company/templates/company/company_base.html:112 part/models.py:3011 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -556,16 +556,16 @@ msgstr "" msgid "Is this user a superuser" msgstr "" -#: InvenTree/serializers.py:445 common/models.py:2683 company/models.py:163 -#: company/models.py:782 machine/models.py:39 part/admin.py:88 -#: part/models.py:1081 plugin/models.py:66 +#: InvenTree/serializers.py:445 common/models.py:2664 company/models.py:163 +#: company/models.py:789 machine/models.py:39 part/admin.py:88 +#: part/models.py:1085 plugin/models.py:66 #: 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 #: templates/js/translated/table_filters.js:520 #: templates/js/translated/table_filters.js:716 -#: templates/js/translated/table_filters.js:796 users/models.py:182 +#: templates/js/translated/table_filters.js:801 users/models.py:182 msgid "Active" msgstr "Actief" @@ -597,7 +597,7 @@ msgstr "" msgid "Invalid value" msgstr "Ongeldige waarde" -#: InvenTree/serializers.py:581 +#: InvenTree/serializers.py:581 importer/models.py:60 msgid "Data File" msgstr "Data bestand" @@ -651,7 +651,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:1174 +#: InvenTree/status.py:66 part/serializers.py:1202 msgid "Background worker check failed" msgstr "Achtergrondwerker check is gefaald" @@ -711,47 +711,48 @@ msgstr "Systeeminformatie" msgid "About InvenTree" msgstr "Over InvenTree" -#: build/api.py:255 +#: build/api.py:248 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:4070 templates/js/translated/bom.js:997 -#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 +#: build/api.py:292 build/serializers.py:1190 part/models.py:4155 +#: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 +#: templates/js/translated/build.js:2521 #: 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:4064 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 +#: build/api.py:293 build/serializers.py:1191 part/models.py:4149 +#: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 +#: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2530 #: templates/js/translated/table_filters.js:186 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:587 msgid "Optional" msgstr "Optioneel" -#: build/api.py:301 templates/js/translated/table_filters.js:408 +#: build/api.py:294 templates/js/translated/table_filters.js:408 #: templates/js/translated/table_filters.js:579 msgid "Tracked" msgstr "Gevolgd" -#: build/api.py:303 part/admin.py:144 templates/js/translated/build.js:1744 -#: templates/js/translated/build.js:2629 +#: build/api.py:296 part/admin.py:144 templates/js/translated/build.js:1744 +#: templates/js/translated/build.js:2630 #: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:571 msgid "Allocated" msgstr "Toegewezen" -#: build/api.py:311 company/models.py:872 company/serializers.py:359 +#: build/api.py:304 company/models.py:879 company/serializers.py:386 #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2561 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2562 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:234 -#: templates/js/translated/part.js:693 templates/js/translated/part.js:695 -#: templates/js/translated/part.js:700 +#: 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 #: templates/js/translated/table_filters.js:575 msgid "Available" @@ -760,7 +761,7 @@ msgstr "Beschikbaar" #: build/models.py:85 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 -#: stock/serializers.py:82 templates/email/build_order_completed.html:16 +#: stock/serializers.py:84 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:2892 msgid "Build Order" @@ -781,35 +782,43 @@ msgstr "Productieorders" msgid "Assembly BOM has not been validated" msgstr "" -#: build/models.py:134 part/templates/part/part_base.html:145 -msgid "Part is not active" -msgstr "" +#: build/models.py:134 +#, fuzzy +#| msgid "Build output cannot be specified for allocation of untracked parts" +msgid "Build order cannot be created for an inactive part" +msgstr "Productieuitvoer kan niet worden gespecificeerd voor de toewijzing van niet gevolgde onderdelen" -#: build/models.py:148 +#: build/models.py:141 +#, fuzzy +#| msgid "Build output cannot be specified for allocation of untracked parts" +msgid "Build order cannot be created for an unlocked part" +msgstr "Productieuitvoer kan niet worden gespecificeerd voor de toewijzing van niet gevolgde onderdelen" + +#: build/models.py:155 msgid "Invalid choice for parent build" msgstr "Ongeldige keuze voor bovenliggende productie" -#: build/models.py:159 order/models.py:240 +#: build/models.py:166 order/models.py:240 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:165 +#: build/models.py:172 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:226 +#: build/models.py:233 msgid "Build Order Reference" msgstr "Productieorderreferentie" -#: build/models.py:227 order/models.py:463 order/models.py:926 -#: order/models.py:1289 order/models.py:2020 part/admin.py:411 -#: part/models.py:4085 part/templates/part/upload_bom.html:54 +#: build/models.py:234 build/serializers.py:1189 order/models.py:463 +#: order/models.py:926 order/models.py:1289 order/models.py:2046 +#: part/admin.py:411 part/models.py:4170 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: 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/build.js:2513 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2065 #: templates/js/translated/return_order.js:728 @@ -817,27 +826,28 @@ msgstr "Productieorderreferentie" msgid "Reference" msgstr "Referentie" -#: build/models.py:238 +#: build/models.py:245 msgid "Brief description of the build (optional)" msgstr "Korte beschrijving van de build (optioneel)" -#: build/models.py:246 build/templates/build/build_base.html:183 +#: build/models.py:253 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Bovenliggende Productie" -#: build/models.py:247 +#: build/models.py:254 msgid "BuildOrder to which this build is allocated" msgstr "Productieorder waar deze productie aan is toegewezen" -#: build/models.py:252 build/templates/build/build_base.html:97 -#: build/templates/build/detail.html:29 company/models.py:1026 order/api.py:805 -#: order/models.py:1414 order/models.py:1559 order/models.py:1560 -#: part/api.py:1494 part/api.py:1788 part/models.py:395 part/models.py:3012 -#: part/models.py:3156 part/models.py:3303 part/models.py:3324 -#: part/models.py:3346 part/models.py:3477 part/models.py:3787 -#: part/models.py:3943 part/models.py:4036 part/models.py:4395 -#: part/serializers.py:1120 part/serializers.py:1726 +#: build/models.py:259 build/serializers.py:1184 +#: build/templates/build/build_base.html:97 +#: build/templates/build/detail.html:29 company/models.py:1034 order/api.py:759 +#: order/models.py:1419 order/models.py:1574 order/models.py:1575 +#: part/api.py:1480 part/api.py:1776 part/models.py:396 part/models.py:3022 +#: part/models.py:3166 part/models.py:3314 part/models.py:3335 +#: part/models.py:3357 part/models.py:3493 part/models.py:3827 +#: part/models.py:3990 part/models.py:4121 part/models.py:4480 +#: part/serializers.py:1148 part/serializers.py:1758 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -848,8 +858,8 @@ msgstr "Productieorder waar deze productie aan is toegewezen" #: 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:109 stock/serializers.py:157 stock/serializers.py:423 -#: stock/serializers.py:820 templates/InvenTree/search.html:82 +#: stock/serializers.py:111 stock/serializers.py:159 stock/serializers.py:443 +#: stock/serializers.py:878 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 @@ -862,8 +872,8 @@ msgstr "Productieorder waar deze productie aan is toegewezen" #: templates/js/translated/company.js:1116 #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 -#: templates/js/translated/part.js:1944 templates/js/translated/part.js:2016 -#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:1947 templates/js/translated/part.js:2019 +#: templates/js/translated/part.js:2327 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:1848 @@ -881,107 +891,107 @@ msgstr "Productieorder waar deze productie aan is toegewezen" msgid "Part" msgstr "Onderdeel" -#: build/models.py:260 +#: build/models.py:267 msgid "Select part to build" msgstr "Selecteer onderdeel om te produceren" -#: build/models.py:265 +#: build/models.py:272 msgid "Sales Order Reference" msgstr "Verkooporder Referentie" -#: build/models.py:269 +#: build/models.py:276 msgid "SalesOrder to which this build is allocated" msgstr "Verkooporder waar deze productie aan is toegewezen" -#: build/models.py:274 build/serializers.py:999 +#: build/models.py:281 build/serializers.py:1003 #: templates/js/translated/build.js:1731 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "Bronlocatie" -#: build/models.py:278 +#: build/models.py:285 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:283 +#: build/models.py:290 msgid "Destination Location" msgstr "Bestemmings Locatie" -#: build/models.py:287 +#: build/models.py:294 msgid "Select location where the completed items will be stored" msgstr "Selecteer locatie waar de voltooide items zullen worden opgeslagen" -#: build/models.py:291 +#: build/models.py:298 msgid "Build Quantity" msgstr "Productiehoeveelheid" -#: build/models.py:294 +#: build/models.py:301 msgid "Number of stock items to build" msgstr "Aantal voorraaditems om te produceren" -#: build/models.py:298 +#: build/models.py:305 msgid "Completed items" msgstr "Voltooide voorraadartikelen" -#: build/models.py:300 +#: build/models.py:307 msgid "Number of stock items which have been completed" msgstr "Aantal voorraadartikelen die zijn voltooid" -#: build/models.py:304 +#: build/models.py:311 msgid "Build Status" msgstr "Productiestatus" -#: build/models.py:308 +#: build/models.py:315 msgid "Build status code" msgstr "Productiestatuscode" -#: build/models.py:317 build/serializers.py:286 order/serializers.py:580 -#: stock/models.py:839 stock/serializers.py:74 stock/serializers.py:1458 +#: build/models.py:324 build/serializers.py:290 order/serializers.py:629 +#: stock/models.py:839 stock/serializers.py:76 stock/serializers.py:1524 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "Batchcode" -#: build/models.py:321 build/serializers.py:287 +#: build/models.py:328 build/serializers.py:291 msgid "Batch code for this build output" msgstr "Batchcode voor deze productieuitvoer" -#: build/models.py:324 order/models.py:316 order/serializers.py:119 -#: part/models.py:1115 part/templates/part/part_base.html:310 +#: build/models.py:331 order/models.py:316 order/serializers.py:127 +#: part/models.py:1125 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:328 +#: build/models.py:335 msgid "Target completion date" msgstr "Verwachte opleveringsdatum" -#: build/models.py:329 +#: build/models.py:336 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:332 order/models.py:521 order/models.py:2065 +#: build/models.py:339 order/models.py:521 order/models.py:2091 #: templates/js/translated/build.js:2247 msgid "Completion Date" msgstr "Opleveringsdatum" -#: build/models.py:338 +#: build/models.py:345 msgid "completed by" msgstr "voltooid door" -#: build/models.py:346 templates/js/translated/build.js:2207 +#: build/models.py:353 templates/js/translated/build.js:2207 msgid "Issued by" msgstr "Uitgegeven door" -#: build/models.py:347 +#: build/models.py:354 msgid "User who issued this build order" msgstr "Gebruiker die de productieorder heeft gegeven" -#: build/models.py:355 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 common/models.py:147 +#: build/models.py:362 build/templates/build/build_base.html:204 +#: build/templates/build/detail.html:122 common/models.py:152 #: order/models.py:334 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:232 part/models.py:1132 +#: order/templates/order/sales_order_base.html:232 part/models.py:1142 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 @@ -992,11 +1002,11 @@ msgstr "Gebruiker die de productieorder heeft gegeven" msgid "Responsible" msgstr "Verantwoordelijke" -#: build/models.py:356 +#: build/models.py:363 msgid "User or group responsible for this build order" msgstr "Gebruiker of groep verantwoordelijk voor deze bouwopdracht" -#: build/models.py:361 build/templates/build/detail.html:108 +#: build/models.py:368 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 @@ -1008,21 +1018,22 @@ msgstr "Gebruiker of groep verantwoordelijk voor deze bouwopdracht" msgid "External Link" msgstr "Externe Link" -#: build/models.py:362 common/models.py:3244 part/models.py:956 +#: build/models.py:369 common/models.py:3230 part/models.py:960 #: stock/models.py:835 msgid "Link to external URL" msgstr "Link naar externe URL" -#: build/models.py:366 +#: build/models.py:373 msgid "Build Priority" msgstr "Bouw prioriteit" -#: build/models.py:369 +#: build/models.py:376 msgid "Priority of this build order" msgstr "Prioriteit van deze bouwopdracht" -#: build/models.py:376 common/models.py:131 order/admin.py:18 -#: order/models.py:298 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:383 common/models.py:122 common/models.py:136 +#: order/admin.py:18 order/models.py:298 order/serializers.py:108 +#: templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 #: templates/js/translated/purchase_order.js:1710 #: templates/js/translated/return_order.js:317 @@ -1032,65 +1043,66 @@ msgstr "Prioriteit van deze bouwopdracht" msgid "Project Code" msgstr "" -#: build/models.py:377 +#: build/models.py:384 msgid "Project code for this build order" msgstr "Project code voor deze build order" -#: build/models.py:610 build/models.py:675 +#: build/models.py:617 build/models.py:682 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:632 +#: build/models.py:639 #, python-brace-format msgid "Build order {build} has been completed" msgstr "Productieorder {build} is voltooid" -#: build/models.py:638 +#: build/models.py:645 msgid "A build order has been completed" msgstr "Een productieorder is voltooid" -#: build/models.py:864 build/models.py:949 +#: build/models.py:871 build/models.py:956 msgid "No build output specified" msgstr "Geen productie uitvoer opgegeven" -#: build/models.py:867 +#: build/models.py:874 msgid "Build output is already completed" msgstr "Productie uitvoer is al voltooid" -#: build/models.py:870 +#: build/models.py:877 msgid "Build output does not match Build Order" msgstr "Productuitvoer komt niet overeen met de Productieorder" -#: build/models.py:953 build/serializers.py:219 build/serializers.py:268 -#: build/serializers.py:866 order/models.py:559 order/serializers.py:432 -#: order/serializers.py:575 part/serializers.py:1484 part/serializers.py:1884 -#: stock/models.py:678 stock/models.py:1496 stock/serializers.py:603 +#: build/models.py:960 build/serializers.py:223 build/serializers.py:272 +#: build/serializers.py:870 order/models.py:559 order/serializers.py:461 +#: order/serializers.py:624 part/serializers.py:1515 part/serializers.py:1921 +#: stock/models.py:678 stock/models.py:1496 stock/serializers.py:661 msgid "Quantity must be greater than zero" msgstr "Hoeveelheid moet groter zijn dan nul" -#: build/models.py:958 build/serializers.py:224 +#: build/models.py:965 build/serializers.py:228 msgid "Quantity cannot be greater than the output quantity" msgstr "Hoeveelheid kan niet groter zijn dan aantal" -#: build/models.py:1018 build/serializers.py:547 +#: build/models.py:1025 build/serializers.py:551 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1359 +#: build/models.py:1366 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1384 +#: build/models.py:1391 msgid "Build object" msgstr "Bouw object" -#: build/models.py:1398 build/models.py:1654 build/serializers.py:206 -#: build/serializers.py:253 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2563 -#: order/models.py:1272 order/models.py:1931 order/serializers.py:1327 +#: build/models.py:1405 build/models.py:1661 build/serializers.py:210 +#: build/serializers.py:257 build/serializers.py:1194 +#: build/templates/build/build_base.html:102 +#: build/templates/build/detail.html:34 common/models.py:2544 +#: order/models.py:1272 order/models.py:1957 order/serializers.py:1383 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:410 -#: part/forms.py:48 part/models.py:3170 part/models.py:4058 +#: part/forms.py:48 part/models.py:3180 part/models.py:4143 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1100,7 +1112,7 @@ msgstr "Bouw object" #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:169 stock/admin.py:159 -#: stock/serializers.py:125 stock/serializers.py:165 stock/serializers.py:594 +#: stock/serializers.py:127 stock/serializers.py:167 stock/serializers.py:652 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 @@ -1111,8 +1123,8 @@ msgstr "Bouw object" #: templates/js/translated/build.js:1746 templates/js/translated/build.js:2357 #: templates/js/translated/company.js:1818 #: templates/js/translated/model_renderers.js:236 -#: templates/js/translated/order.js:304 templates/js/translated/part.js:962 -#: templates/js/translated/part.js:1812 templates/js/translated/part.js:3342 +#: templates/js/translated/order.js:304 templates/js/translated/part.js:965 +#: templates/js/translated/part.js:1815 templates/js/translated/part.js:3345 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 @@ -1132,38 +1144,38 @@ msgstr "Bouw object" msgid "Quantity" msgstr "Hoeveelheid" -#: build/models.py:1399 +#: build/models.py:1406 msgid "Required quantity for build order" msgstr "Vereiste hoeveelheid voor bouwopdracht" -#: build/models.py:1479 +#: build/models.py:1486 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:1488 +#: build/models.py:1495 #, 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:1498 order/models.py:1882 +#: build/models.py:1505 order/models.py:1908 msgid "Stock item is over-allocated" msgstr "Voorraad item is te veel toegewezen" -#: build/models.py:1504 order/models.py:1885 +#: build/models.py:1511 order/models.py:1911 msgid "Allocation quantity must be greater than zero" msgstr "Toewijzing hoeveelheid moet groter zijn dan nul" -#: build/models.py:1510 +#: build/models.py:1517 msgid "Quantity must be 1 for serialized stock" msgstr "Hoeveelheid moet 1 zijn voor geserialiseerde voorraad" -#: build/models.py:1569 +#: build/models.py:1576 msgid "Selected stock item does not match BOM line" msgstr "Geselecteerde voorraadartikelen komen niet overeen met de BOM-regel" -#: build/models.py:1641 build/serializers.py:846 order/serializers.py:1171 -#: order/serializers.py:1192 stock/models.py:359 stock/serializers.py:91 -#: stock/serializers.py:697 stock/serializers.py:1177 stock/serializers.py:1289 +#: build/models.py:1648 build/serializers.py:850 order/serializers.py:1227 +#: order/serializers.py:1248 stock/models.py:359 stock/serializers.py:93 +#: stock/serializers.py:755 stock/serializers.py:1243 stock/serializers.py:1355 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 @@ -1179,70 +1191,76 @@ msgstr "Geselecteerde voorraadartikelen komen niet overeen met de BOM-regel" msgid "Stock Item" msgstr "Voorraadartikel" -#: build/models.py:1642 +#: build/models.py:1649 msgid "Source stock item" msgstr "Bron voorraadartikel" -#: build/models.py:1655 +#: build/models.py:1662 msgid "Stock quantity to allocate to build" msgstr "Voorraad hoeveelheid toe te wijzen aan productie" -#: build/models.py:1663 +#: build/models.py:1670 msgid "Install into" msgstr "Installeren in" -#: build/models.py:1664 +#: build/models.py:1671 msgid "Destination stock item" msgstr "Bestemming voorraadartikel" -#: build/serializers.py:156 build/serializers.py:875 +#: build/serializers.py:89 build/serializers.py:1185 part/admin.py:41 +#: part/admin.py:405 part/models.py:3992 part/stocktake.py:220 +#: stock/admin.py:156 +msgid "Part Name" +msgstr "Onderdeel naam" + +#: build/serializers.py:160 build/serializers.py:879 #: templates/js/translated/build.js:1322 msgid "Build Output" msgstr "Productieuitvoer" -#: build/serializers.py:168 +#: build/serializers.py:172 msgid "Build output does not match the parent build" msgstr "Productieuitvoer komt niet overeen met de bovenliggende productie" -#: build/serializers.py:172 +#: build/serializers.py:176 msgid "Output part does not match BuildOrder part" msgstr "Uitvoeronderdeel komt niet overeen met productieorderonderdeel" -#: build/serializers.py:176 +#: build/serializers.py:180 msgid "This build output has already been completed" msgstr "Deze productieuitvoer is al voltooid" -#: build/serializers.py:187 +#: build/serializers.py:191 msgid "This build output is not fully allocated" msgstr "Deze productieuitvoer is niet volledig toegewezen" -#: build/serializers.py:207 build/serializers.py:254 +#: build/serializers.py:211 build/serializers.py:258 msgid "Enter quantity for build output" msgstr "Voer hoeveelheid in voor productie uitvoer" -#: build/serializers.py:275 +#: build/serializers.py:279 msgid "Integer quantity required for trackable parts" msgstr "Hoeveelheid als geheel getal vereist voor traceerbare onderdelen" -#: build/serializers.py:278 +#: build/serializers.py:282 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:293 order/serializers.py:588 order/serializers.py:1331 -#: stock/serializers.py:614 templates/js/translated/purchase_order.js:1153 +#: build/serializers.py:297 order/serializers.py:637 order/serializers.py:1387 +#: stock/serializers.py:672 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:294 +#: build/serializers.py:298 msgid "Enter serial numbers for build outputs" msgstr "Voer serienummers in voor productieuitvoeren" -#: build/serializers.py:299 build/serializers.py:440 build/serializers.py:512 -#: order/serializers.py:564 order/serializers.py:672 order/serializers.py:1656 -#: part/serializers.py:1140 stock/serializers.py:100 stock/serializers.py:625 -#: stock/serializers.py:785 stock/serializers.py:881 stock/serializers.py:1321 -#: stock/serializers.py:1577 stock/templates/stock/item_base.html:394 +#: build/serializers.py:303 build/serializers.py:444 build/serializers.py:516 +#: order/serializers.py:613 order/serializers.py:721 order/serializers.py:1714 +#: part/serializers.py:1168 stock/serializers.py:102 stock/serializers.py:683 +#: stock/serializers.py:843 stock/serializers.py:939 stock/serializers.py:1387 +#: stock/serializers.py:1643 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 @@ -1258,54 +1276,54 @@ msgstr "Voer serienummers in voor productieuitvoeren" msgid "Location" msgstr "Locatie" -#: build/serializers.py:300 +#: build/serializers.py:304 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:314 +#: build/serializers.py:318 msgid "Auto Allocate Serial Numbers" msgstr "Serienummers automatisch toewijzen" -#: build/serializers.py:315 +#: build/serializers.py:319 msgid "Automatically allocate required items with matching serial numbers" msgstr "Vereiste artikelen automatisch toewijzen met overeenkomende serienummers" -#: build/serializers.py:330 +#: build/serializers.py:334 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:355 stock/api.py:1041 +#: build/serializers.py:359 stock/api.py:1033 msgid "The following serial numbers already exist or are invalid" msgstr "De volgende serienummers bestaan al of zijn ongeldig" -#: build/serializers.py:402 build/serializers.py:464 build/serializers.py:553 +#: build/serializers.py:406 build/serializers.py:468 build/serializers.py:557 msgid "A list of build outputs must be provided" msgstr "Een lijst van productieuitvoeren moet worden verstrekt" -#: build/serializers.py:441 +#: build/serializers.py:445 msgid "Stock location for scrapped outputs" msgstr "Voorraadlocatie voor geannuleerde outputs" -#: build/serializers.py:447 +#: build/serializers.py:451 msgid "Discard Allocations" msgstr "Toewijzingen weggooien" -#: build/serializers.py:448 +#: build/serializers.py:452 msgid "Discard any stock allocations for scrapped outputs" msgstr "Verwijder alle voorraadtoewijzingen voor geannuleerde outputs" -#: build/serializers.py:453 +#: build/serializers.py:457 msgid "Reason for scrapping build output(s)" msgstr "Reden voor annulering van bouworder(s)" -#: build/serializers.py:513 +#: build/serializers.py:517 msgid "Location for completed build outputs" msgstr "Locatie van voltooide productieuitvoeren" -#: build/serializers.py:519 build/templates/build/build_base.html:151 +#: build/serializers.py:523 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:950 -#: order/models.py:2044 order/serializers.py:596 stock/admin.py:164 -#: stock/serializers.py:932 stock/serializers.py:1465 +#: order/models.py:2070 order/serializers.py:645 stock/admin.py:164 +#: stock/serializers.py:990 stock/serializers.py:1531 #: 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 @@ -1317,193 +1335,253 @@ msgstr "Locatie van voltooide productieuitvoeren" msgid "Status" msgstr "" -#: build/serializers.py:525 +#: build/serializers.py:529 msgid "Accept Incomplete Allocation" msgstr "Incomplete Toewijzing Accepteren" -#: build/serializers.py:526 +#: build/serializers.py:530 msgid "Complete outputs if stock has not been fully allocated" msgstr "Voltooi de uitvoer als de voorraad niet volledig is toegewezen" -#: build/serializers.py:611 +#: build/serializers.py:615 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:612 +#: build/serializers.py:616 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:618 +#: build/serializers.py:622 msgid "Remove Incomplete Outputs" msgstr "Verwijder Incomplete Uitvoeren" -#: build/serializers.py:619 +#: build/serializers.py:623 msgid "Delete any build outputs which have not been completed" msgstr "Verwijder alle productieuitvoeren die niet zijn voltooid" -#: build/serializers.py:646 +#: build/serializers.py:650 msgid "Not permitted" msgstr "Niet toegestaan" -#: build/serializers.py:647 +#: build/serializers.py:651 msgid "Accept as consumed by this build order" msgstr "Accepteer zoals geconsumeerd onder deze bouwopdracht" -#: build/serializers.py:648 +#: build/serializers.py:652 msgid "Deallocate before completing this build order" msgstr "De-alloceren voordat deze bouwopdracht voltooid wordt" -#: build/serializers.py:678 +#: build/serializers.py:682 msgid "Overallocated Stock" msgstr "Overgealloceerde voorraad" -#: build/serializers.py:680 +#: build/serializers.py:684 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:690 +#: build/serializers.py:694 msgid "Some stock items have been overallocated" msgstr "Sommige voorraadartikelen zijn overalloceerd" -#: build/serializers.py:695 +#: build/serializers.py:699 msgid "Accept Unallocated" msgstr "Accepteer Niet-toegewezen" -#: build/serializers.py:696 +#: build/serializers.py:700 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:706 templates/js/translated/build.js:315 +#: build/serializers.py:710 templates/js/translated/build.js:315 msgid "Required stock has not been fully allocated" msgstr "Vereiste voorraad is niet volledig toegewezen" -#: build/serializers.py:711 order/serializers.py:300 order/serializers.py:1234 +#: build/serializers.py:715 order/serializers.py:319 order/serializers.py:1290 msgid "Accept Incomplete" msgstr "Accepteer Onvolledig" -#: build/serializers.py:712 +#: build/serializers.py:716 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:722 templates/js/translated/build.js:319 +#: build/serializers.py:726 templates/js/translated/build.js:319 msgid "Required build quantity has not been completed" msgstr "Vereiste productiehoeveelheid is voltooid" -#: build/serializers.py:731 templates/js/translated/build.js:303 +#: build/serializers.py:735 templates/js/translated/build.js:303 msgid "Build order has incomplete outputs" msgstr "Productieorder heeft onvolledige uitvoeren" -#: build/serializers.py:769 +#: build/serializers.py:773 msgid "Build Line" msgstr "Productielijn" -#: build/serializers.py:779 +#: build/serializers.py:783 msgid "Build output" msgstr "Productieuitvoer" -#: build/serializers.py:787 +#: build/serializers.py:791 msgid "Build output must point to the same build" msgstr "Productieuitvoer moet naar dezelfde productie wijzen" -#: build/serializers.py:823 +#: build/serializers.py:827 msgid "Build Line Item" msgstr "Bouw lijn-item" -#: build/serializers.py:837 +#: build/serializers.py:841 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:852 stock/serializers.py:1190 +#: build/serializers.py:856 stock/serializers.py:1256 msgid "Item must be in stock" msgstr "Artikel moet op voorraad zijn" -#: build/serializers.py:900 order/serializers.py:1225 +#: build/serializers.py:904 order/serializers.py:1281 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Beschikbare hoeveelheid ({q}) overschreden" -#: build/serializers.py:906 +#: build/serializers.py:910 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:913 +#: build/serializers.py:917 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:937 order/serializers.py:1477 +#: build/serializers.py:941 order/serializers.py:1533 msgid "Allocation items must be provided" msgstr "Allocaties voor artikelen moeten worden opgegeven" -#: build/serializers.py:1000 +#: build/serializers.py:1004 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:1008 +#: build/serializers.py:1012 msgid "Exclude Location" msgstr "Locatie uitsluiten" -#: build/serializers.py:1009 +#: build/serializers.py:1013 msgid "Exclude stock items from this selected location" msgstr "Voorraadartikelen van deze geselecteerde locatie uitsluiten" -#: build/serializers.py:1014 +#: build/serializers.py:1018 msgid "Interchangeable Stock" msgstr "Uitwisselbare voorraad" -#: build/serializers.py:1015 +#: build/serializers.py:1019 msgid "Stock items in multiple locations can be used interchangeably" msgstr "Voorraadartikelen op meerdere locaties kunnen uitwisselbaar worden gebruikt" -#: build/serializers.py:1020 +#: build/serializers.py:1024 msgid "Substitute Stock" msgstr "Vervangende Voorraad" -#: build/serializers.py:1021 +#: build/serializers.py:1025 msgid "Allow allocation of substitute parts" msgstr "Toewijzing van vervangende onderdelen toestaan" -#: build/serializers.py:1026 +#: build/serializers.py:1030 msgid "Optional Items" msgstr "Optionele Items" -#: build/serializers.py:1027 +#: build/serializers.py:1031 msgid "Allocate optional BOM items to build order" msgstr "Alloceer optionele BOM items om bestelling te bouwen" -#: build/serializers.py:1049 +#: build/serializers.py:1053 msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1139 part/models.py:3953 part/models.py:4387 -#: stock/api.py:804 +#: build/serializers.py:1095 +#, fuzzy +#| msgid "Supplier Part Orders" +msgid "Supplier Part Number" +msgstr "Leverancier Onderdelenorders" + +#: build/serializers.py:1096 company/models.py:500 +msgid "Manufacturer Part Number" +msgstr "Fabrikant artikel nummer (MPN)" + +#: build/serializers.py:1097 stock/admin.py:53 stock/admin.py:175 +#: stock/serializers.py:454 +msgid "Location Name" +msgstr "" + +#: build/serializers.py:1098 +#, fuzzy +#| msgid "Build Order Reference" +msgid "Build Reference" +msgstr "Productieorderreferentie" + +#: build/serializers.py:1099 +#, fuzzy +#| msgid "Reference" +msgid "BOM Reference" +msgstr "Referentie" + +#: build/serializers.py:1186 part/admin.py:402 part/models.py:3993 +msgid "Part IPN" +msgstr "" + +#: build/serializers.py:1192 common/models.py:1488 part/admin.py:113 +#: part/models.py:1068 templates/js/translated/table_filters.js:147 +#: templates/js/translated/table_filters.js:223 +#: templates/js/translated/table_filters.js:776 +msgid "Trackable" +msgstr "Volgbaar" + +#: build/serializers.py:1196 part/models.py:4000 part/models.py:4472 +#: stock/api.py:796 msgid "BOM Item" msgstr "Stuklijstartikel" -#: build/serializers.py:1148 templates/js/translated/index.js:130 +#: build/serializers.py:1205 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1153 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:828 part/serializers.py:1502 +#: build/serializers.py:1210 part/admin.py:132 part/bom.py:173 +#: part/serializers.py:856 part/serializers.py:1533 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2613 templates/js/translated/part.js:710 -#: templates/js/translated/part.js:2149 +#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709 +#: templates/js/translated/part.js:2152 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "In bestelling" -#: build/serializers.py:1158 part/serializers.py:1504 -#: templates/js/translated/build.js:2617 +#: build/serializers.py:1215 part/serializers.py:1535 +#: templates/js/translated/build.js:2618 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1163 part/bom.py:172 part/serializers.py:1527 +#: build/serializers.py:1220 part/bom.py:172 part/serializers.py:1558 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" msgstr "Beschikbare Voorraad" +#: build/serializers.py:1224 +#, fuzzy +#| msgid "Substitute Stock" +msgid "Available Substitute Stock" +msgstr "Vervangende Voorraad" + +#: build/serializers.py:1225 +#, fuzzy +#| msgid "Available Stock" +msgid "Available Variant Stock" +msgstr "Beschikbare Voorraad" + +#: build/serializers.py:1226 +#, fuzzy +#| msgid "Available Stock" +msgid "Total Available Stock" +msgstr "Beschikbare Voorraad" + +#: build/serializers.py:1227 part/serializers.py:862 +msgid "External Stock" +msgstr "" + #: build/status_codes.py:11 generic/states/tests.py:17 order/status_codes.py:12 #: order/status_codes.py:37 order/status_codes.py:64 order/status_codes.py:82 #: templates/js/translated/table_filters.js:598 @@ -1519,7 +1597,8 @@ msgstr "Productie" msgid "Cancelled" msgstr "Geannuleerd" -#: build/status_codes.py:14 generic/states/tests.py:19 order/status_codes.py:14 +#: build/status_codes.py:14 generic/states/tests.py:19 importer/models.py:468 +#: importer/status_codes.py:19 order/status_codes.py:14 #: order/status_codes.py:44 order/status_codes.py:69 #: order/templates/order/order_base.html:158 #: order/templates/order/sales_order_base.html:165 report/models.py:444 @@ -1652,11 +1731,12 @@ 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:309 -#: order/models.py:1307 order/templates/order/order_base.html:186 +#: order/models.py:1307 order/serializers.py:174 +#: order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: 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:1831 +#: templates/js/translated/build.js:2239 templates/js/translated/part.js:1834 #: templates/js/translated/purchase_order.js:1739 #: templates/js/translated/purchase_order.js:2147 #: templates/js/translated/return_order.js:346 @@ -1689,8 +1769,8 @@ msgid "Completed Outputs" msgstr "Voltooide Uitvoeren" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1463 order/models.py:845 -#: order/models.py:1551 order/models.py:1665 order/models.py:1819 +#: build/templates/build/detail.html:101 order/api.py:1384 order/models.py:845 +#: order/models.py:1566 order/models.py:1681 order/models.py:1840 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 @@ -1740,7 +1820,7 @@ msgstr "Voorraadbron" msgid "Stock can be taken from any available location." msgstr "Voorraad kan worden genomen van elke beschikbare locatie." -#: build/templates/build/detail.html:49 order/models.py:1443 +#: build/templates/build/detail.html:49 order/models.py:1448 #: templates/js/translated/purchase_order.js:2189 msgid "Destination" msgstr "Bestemming" @@ -1892,31 +1972,31 @@ msgstr "Productieorderdetails" msgid "Incomplete Outputs" msgstr "Onvolledige Productieuitvoeren" -#: common/api.py:689 +#: common/api.py:690 msgid "Is Link" msgstr "" -#: common/api.py:697 +#: common/api.py:698 msgid "Is File" msgstr "" -#: common/api.py:739 +#: common/api.py:740 msgid "User does not have permission to delete this attachment" msgstr "" -#: common/currency.py:130 +#: common/currency.py:132 msgid "Invalid currency code" msgstr "" -#: common/currency.py:132 +#: common/currency.py:134 msgid "Duplicate currency code" msgstr "" -#: common/currency.py:137 +#: common/currency.py:139 msgid "No valid currency codes provided" msgstr "" -#: common/currency.py:154 +#: common/currency.py:156 msgid "No plugin" msgstr "Geen plug-in gevonden" @@ -1970,1635 +2050,1608 @@ msgstr "Tijdstempel van laatste update" msgid "Site URL is locked by configuration" msgstr "" -#: common/models.py:132 +#: common/models.py:137 msgid "Unique project code" msgstr "Unieke projectcode" -#: common/models.py:139 +#: common/models.py:144 msgid "Project description" msgstr "Projectbeschrijving" -#: common/models.py:148 +#: common/models.py:153 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:765 +#: common/models.py:770 msgid "Settings key (must be unique - case insensitive)" msgstr "Instellingssleutel (moet uniek zijn - hoofdletter ongevoelig)" -#: common/models.py:769 +#: common/models.py:774 msgid "Settings value" msgstr "Instellingswaarde" -#: common/models.py:821 +#: common/models.py:826 msgid "Chosen value is not a valid option" msgstr "Gekozen waarde is geen geldige optie" -#: common/models.py:837 +#: common/models.py:842 msgid "Value must be a boolean value" msgstr "Waarde moet een booleaanse waarde zijn" -#: common/models.py:845 +#: common/models.py:850 msgid "Value must be an integer value" msgstr "Waarde moet een geheel getal zijn" -#: common/models.py:882 +#: common/models.py:887 msgid "Key string must be unique" msgstr "Sleutelreeks moet uniek zijn" -#: common/models.py:1114 +#: common/models.py:1119 msgid "No group" msgstr "Geen groep" -#: common/models.py:1213 +#: common/models.py:1218 msgid "Restart required" msgstr "Opnieuw opstarten vereist" -#: common/models.py:1215 +#: common/models.py:1220 msgid "A setting has been changed which requires a server restart" msgstr "Een instelling is gewijzigd waarvoor een herstart van de server vereist is" -#: common/models.py:1222 +#: common/models.py:1227 msgid "Pending migrations" msgstr "Migraties in behandeling" -#: common/models.py:1223 +#: common/models.py:1228 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1228 +#: common/models.py:1233 msgid "Server Instance Name" msgstr "ID Serverinstantie" -#: common/models.py:1230 +#: common/models.py:1235 msgid "String descriptor for the server instance" msgstr "Stringbeschrijving voor de server instantie" -#: common/models.py:1234 +#: common/models.py:1239 msgid "Use instance name" msgstr "Gebruik de instantie naam" -#: common/models.py:1235 +#: common/models.py:1240 msgid "Use the instance name in the title-bar" msgstr "Gebruik de naam van de instantie in de titelbalk" -#: common/models.py:1240 +#: common/models.py:1245 msgid "Restrict showing `about`" msgstr "Tonen `over` beperken" -#: common/models.py:1241 +#: common/models.py:1246 msgid "Show the `about` modal only to superusers" msgstr "Toon de `over` modal alleen aan superusers" -#: common/models.py:1246 company/models.py:111 company/models.py:112 +#: common/models.py:1251 company/models.py:111 company/models.py:112 msgid "Company name" msgstr "Bedrijfsnaam" -#: common/models.py:1247 +#: common/models.py:1252 msgid "Internal company name" msgstr "Interne bedrijfsnaam" -#: common/models.py:1251 +#: common/models.py:1256 msgid "Base URL" msgstr "Basis-URL" -#: common/models.py:1252 +#: common/models.py:1257 msgid "Base URL for server instance" msgstr "Basis URL voor serverinstantie" -#: common/models.py:1258 +#: common/models.py:1263 msgid "Default Currency" msgstr "Standaard Valuta" -#: common/models.py:1259 +#: common/models.py:1264 msgid "Select base currency for pricing calculations" msgstr "Selecteer basisvaluta voor de berekening van prijzen" -#: common/models.py:1265 +#: common/models.py:1270 msgid "Supported Currencies" msgstr "" -#: common/models.py:1266 +#: common/models.py:1271 msgid "List of supported currency codes" msgstr "" -#: common/models.py:1272 +#: common/models.py:1277 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1274 +#: common/models.py:1279 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1277 common/models.py:1333 common/models.py:1346 -#: common/models.py:1354 common/models.py:1363 common/models.py:1372 -#: common/models.py:1596 common/models.py:1618 common/models.py:1733 -#: common/models.py:2100 +#: common/models.py:1282 common/models.py:1338 common/models.py:1351 +#: common/models.py:1359 common/models.py:1368 common/models.py:1377 +#: common/models.py:1601 common/models.py:1623 common/models.py:1738 +#: common/models.py:2111 msgid "days" msgstr "dagen" -#: common/models.py:1281 +#: common/models.py:1286 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1282 +#: common/models.py:1287 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1287 +#: common/models.py:1292 msgid "Download from URL" msgstr "Download van URL" -#: common/models.py:1289 +#: common/models.py:1294 msgid "Allow download of remote images and files from external URL" msgstr "Download van afbeeldingen en bestanden vanaf een externe URL toestaan" -#: common/models.py:1295 +#: common/models.py:1300 msgid "Download Size Limit" msgstr "Download limiet" -#: common/models.py:1296 +#: common/models.py:1301 msgid "Maximum allowable download size for remote image" msgstr "Maximale downloadgrootte voor externe afbeelding" -#: common/models.py:1302 +#: common/models.py:1307 msgid "User-agent used to download from URL" msgstr "User-agent gebruikt om te downloaden van URL" -#: common/models.py:1304 +#: common/models.py:1309 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "Sta toe om de user-agent te overschrijven die gebruikt wordt om afbeeldingen en bestanden van externe URL te downloaden (laat leeg voor de standaard)" -#: common/models.py:1309 +#: common/models.py:1314 msgid "Strict URL Validation" msgstr "" -#: common/models.py:1310 +#: common/models.py:1315 msgid "Require schema specification when validating URLs" msgstr "" -#: common/models.py:1315 +#: common/models.py:1320 msgid "Require confirm" msgstr "Bevestiging vereist" -#: common/models.py:1316 +#: common/models.py:1321 msgid "Require explicit user confirmation for certain action." msgstr "Vereis expliciete bevestiging van de gebruiker voor bepaalde actie." -#: common/models.py:1321 +#: common/models.py:1326 msgid "Tree Depth" msgstr "Boomstructuur Diepte" -#: common/models.py:1323 +#: common/models.py:1328 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "Standaard diepte voor treeview. Diepere niveaus kunnen geladen worden wanneer ze nodig zijn." -#: common/models.py:1329 +#: common/models.py:1334 msgid "Update Check Interval" msgstr "Interval voor update" -#: common/models.py:1330 +#: common/models.py:1335 msgid "How often to check for updates (set to zero to disable)" msgstr "Hoe vaak te controleren op updates (nul om uit te schakelen)" -#: common/models.py:1336 +#: common/models.py:1341 msgid "Automatic Backup" msgstr "Automatische backup" -#: common/models.py:1337 +#: common/models.py:1342 msgid "Enable automatic backup of database and media files" msgstr "Automatische back-up van database- en mediabestanden inschakelen" -#: common/models.py:1342 +#: common/models.py:1347 msgid "Auto Backup Interval" msgstr "Automatische backup interval" -#: common/models.py:1343 +#: common/models.py:1348 msgid "Specify number of days between automated backup events" msgstr "Geef het aantal dagen op tussen geautomatiseerde backup" -#: common/models.py:1349 +#: common/models.py:1354 msgid "Task Deletion Interval" msgstr "Interval Taak Verwijderen" -#: common/models.py:1351 +#: common/models.py:1356 msgid "Background task results will be deleted after specified number of days" msgstr "Resultaten van achtergrondtaken worden verwijderd na het opgegeven aantal dagen" -#: common/models.py:1358 +#: common/models.py:1363 msgid "Error Log Deletion Interval" msgstr "Error Log Verwijderings Interval" -#: common/models.py:1360 +#: common/models.py:1365 msgid "Error logs will be deleted after specified number of days" msgstr "Resultaten van achtergrondtaken worden verwijderd na het opgegeven aantal dagen" -#: common/models.py:1367 +#: common/models.py:1372 msgid "Notification Deletion Interval" msgstr "Interval Verwijderen Notificatie" -#: common/models.py:1369 +#: common/models.py:1374 msgid "User notifications will be deleted after specified number of days" msgstr "Meldingen van gebruikers worden verwijderd na het opgegeven aantal dagen" -#: common/models.py:1376 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1381 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "Streepjescodeondersteuning" -#: common/models.py:1377 +#: common/models.py:1382 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1382 +#: common/models.py:1387 msgid "Barcode Input Delay" msgstr "Barcode Invoer Vertraging" -#: common/models.py:1383 +#: common/models.py:1388 msgid "Barcode input processing delay time" msgstr "Barcode invoerverwerking vertraging" -#: common/models.py:1389 +#: common/models.py:1394 msgid "Barcode Webcam Support" msgstr "Barcode Webcam Ondersteuning" -#: common/models.py:1390 +#: common/models.py:1395 msgid "Allow barcode scanning via webcam in browser" msgstr "Barcode via webcam scannen in browser toestaan" -#: common/models.py:1395 +#: common/models.py:1400 msgid "Barcode Show Data" msgstr "" -#: common/models.py:1396 +#: common/models.py:1401 msgid "Display barcode data in browser as text" msgstr "" -#: common/models.py:1401 +#: common/models.py:1406 msgid "Part Revisions" msgstr "Herzieningen onderdeel" -#: common/models.py:1402 +#: common/models.py:1407 msgid "Enable revision field for Part" msgstr "Revisieveld voor onderdeel inschakelen" -#: common/models.py:1407 +#: common/models.py:1412 msgid "Allow Deletion from Assembly" msgstr "" -#: common/models.py:1408 +#: common/models.py:1413 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/models.py:1413 +#: common/models.py:1418 msgid "IPN Regex" msgstr "" -#: common/models.py:1414 +#: common/models.py:1419 msgid "Regular expression pattern for matching Part IPN" msgstr "Regulier expressiepatroon voor het overeenkomende Onderdeel IPN" -#: common/models.py:1417 +#: common/models.py:1422 msgid "Allow Duplicate IPN" msgstr "Duplicaat IPN toestaan" -#: common/models.py:1418 +#: common/models.py:1423 msgid "Allow multiple parts to share the same IPN" msgstr "Toestaan dat meerdere onderdelen dezelfde IPN gebruiken" -#: common/models.py:1423 +#: common/models.py:1428 msgid "Allow Editing IPN" msgstr "Bewerken IPN toestaan" -#: common/models.py:1424 +#: common/models.py:1429 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:1429 +#: common/models.py:1434 msgid "Copy Part BOM Data" msgstr "Kopieer Onderdeel Stuklijstgegevens" -#: common/models.py:1430 +#: common/models.py:1435 msgid "Copy BOM data by default when duplicating a part" msgstr "Kopieer standaard stuklijstgegevens bij het dupliceren van een onderdeel" -#: common/models.py:1435 +#: common/models.py:1440 msgid "Copy Part Parameter Data" msgstr "Kopieer Onderdeel Parametergegevens" -#: common/models.py:1436 +#: common/models.py:1441 msgid "Copy parameter data by default when duplicating a part" msgstr "Parametergegevens standaard kopiëren bij het dupliceren van een onderdeel" -#: common/models.py:1441 +#: common/models.py:1446 msgid "Copy Part Test Data" msgstr "Kopieer Onderdeel Testdata" -#: common/models.py:1442 +#: common/models.py:1447 msgid "Copy test data by default when duplicating a part" msgstr "Testdata standaard kopiëren bij het dupliceren van een onderdeel" -#: common/models.py:1447 +#: common/models.py:1452 msgid "Copy Category Parameter Templates" msgstr "Kopiëer Categorieparameter Sjablonen" -#: common/models.py:1448 +#: common/models.py:1453 msgid "Copy category parameter templates when creating a part" msgstr "Kopieer categorieparameter sjablonen bij het aanmaken van een onderdeel" -#: common/models.py:1453 part/admin.py:108 part/models.py:3795 +#: common/models.py:1458 part/admin.py:108 part/models.py:3835 #: report/models.py:294 report/models.py:361 report/serializers.py:90 -#: report/serializers.py:131 stock/serializers.py:227 +#: report/serializers.py:131 stock/serializers.py:232 #: templates/js/translated/table_filters.js:139 -#: templates/js/translated/table_filters.js:767 +#: templates/js/translated/table_filters.js:772 msgid "Template" msgstr "Sjabloon" -#: common/models.py:1454 +#: common/models.py:1459 msgid "Parts are templates by default" msgstr "Onderdelen zijn standaard sjablonen" -#: common/models.py:1459 part/admin.py:91 part/admin.py:425 part/models.py:1052 +#: common/models.py:1464 part/admin.py:91 part/admin.py:425 part/models.py:1056 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 -#: templates/js/translated/table_filters.js:721 +#: templates/js/translated/table_filters.js:726 msgid "Assembly" msgstr "Samenstelling" -#: common/models.py:1460 +#: common/models.py:1465 msgid "Parts can be assembled from other components by default" msgstr "Onderdelen kunnen standaard vanuit andere componenten worden samengesteld" -#: common/models.py:1465 part/admin.py:95 part/models.py:1058 -#: templates/js/translated/table_filters.js:729 +#: common/models.py:1470 part/admin.py:95 part/models.py:1062 +#: templates/js/translated/table_filters.js:734 msgid "Component" msgstr "" -#: common/models.py:1466 +#: common/models.py:1471 msgid "Parts can be used as sub-components by default" msgstr "Onderdelen kunnen standaard worden gebruikt als subcomponenten" -#: common/models.py:1471 part/admin.py:100 part/models.py:1070 +#: common/models.py:1476 part/admin.py:100 part/models.py:1074 msgid "Purchaseable" msgstr "Koopbaar" -#: common/models.py:1472 +#: common/models.py:1477 msgid "Parts are purchaseable by default" msgstr "Onderdelen kunnen standaard gekocht worden" -#: common/models.py:1477 part/admin.py:104 part/models.py:1076 -#: templates/js/translated/table_filters.js:755 +#: common/models.py:1482 part/admin.py:104 part/models.py:1080 +#: templates/js/translated/table_filters.js:760 msgid "Salable" msgstr "Verkoopbaar" -#: common/models.py:1478 +#: common/models.py:1483 msgid "Parts are salable by default" msgstr "Onderdelen kunnen standaard verkocht worden" -#: common/models.py:1483 part/admin.py:113 part/models.py:1064 -#: 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:1484 +#: common/models.py:1489 msgid "Parts are trackable by default" msgstr "Onderdelen kunnen standaard gevolgd worden" -#: common/models.py:1489 part/admin.py:117 part/models.py:1086 +#: common/models.py:1494 part/admin.py:117 part/models.py:1096 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 -#: templates/js/translated/table_filters.js:775 +#: templates/js/translated/table_filters.js:780 msgid "Virtual" msgstr "Virtueel" -#: common/models.py:1490 +#: common/models.py:1495 msgid "Parts are virtual by default" msgstr "Onderdelen zijn standaard virtueel" -#: common/models.py:1495 +#: common/models.py:1500 msgid "Show Import in Views" msgstr "Toon Import in Weergaven" -#: common/models.py:1496 +#: common/models.py:1501 msgid "Display the import wizard in some part views" msgstr "Toon de importwizard in sommige onderdelenweergaven" -#: common/models.py:1501 +#: common/models.py:1506 msgid "Show related parts" msgstr "Verwante onderdelen tonen" -#: common/models.py:1502 +#: common/models.py:1507 msgid "Display related parts for a part" msgstr "Verwante onderdelen voor een onderdeel tonen" -#: common/models.py:1507 +#: common/models.py:1512 msgid "Initial Stock Data" msgstr "Initiële voorraadgegevens" -#: common/models.py:1508 +#: common/models.py:1513 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:1513 templates/js/translated/part.js:107 +#: common/models.py:1518 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "Initiële leveranciergegevens" -#: common/models.py:1515 +#: common/models.py:1520 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:1521 +#: common/models.py:1526 msgid "Part Name Display Format" msgstr "Onderdelennaam Weergaveopmaak" -#: common/models.py:1522 +#: common/models.py:1527 msgid "Format to display the part name" msgstr "Opmaak om de onderdeelnaam weer te geven" -#: common/models.py:1528 +#: common/models.py:1533 msgid "Part Category Default Icon" msgstr "Standaardicoon voor onderdeel catagorie" -#: common/models.py:1529 +#: common/models.py:1534 msgid "Part category default icon (empty means no icon)" msgstr "Standaardicoon voor onderdeel catagorie (leeg betekent geen pictogram)" -#: common/models.py:1533 +#: common/models.py:1538 msgid "Enforce Parameter Units" msgstr "Forceer Parameter Eenheden" -#: common/models.py:1535 +#: common/models.py:1540 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:1541 +#: common/models.py:1546 msgid "Minimum Pricing Decimal Places" msgstr "Minimaal aantal prijs decimalen" -#: common/models.py:1543 +#: common/models.py:1548 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:1554 +#: common/models.py:1559 msgid "Maximum Pricing Decimal Places" msgstr "Maximum prijs decimalen" -#: common/models.py:1556 +#: common/models.py:1561 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:1567 +#: common/models.py:1572 msgid "Use Supplier Pricing" msgstr "Gebruik leveranciersprijzen" -#: common/models.py:1569 +#: common/models.py:1574 msgid "Include supplier price breaks in overall pricing calculations" msgstr "Prijsvoordelen leveranciers opnemen in de totale prijsberekening" -#: common/models.py:1575 +#: common/models.py:1580 msgid "Purchase History Override" msgstr "Aankoopgeschiedenis overschrijven" -#: common/models.py:1577 +#: common/models.py:1582 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "Historische order prijzen overschrijven de prijzen van de leverancier" -#: common/models.py:1583 +#: common/models.py:1588 msgid "Use Stock Item Pricing" msgstr "Gebruik voorraaditem prijzen" -#: common/models.py:1585 +#: common/models.py:1590 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "Gebruik prijzen van handmatig ingevoerde voorraadgegevens voor prijsberekeningen" -#: common/models.py:1591 +#: common/models.py:1596 msgid "Stock Item Pricing Age" msgstr "Voorraad artikelprijs leeftijd" -#: common/models.py:1593 +#: common/models.py:1598 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:1600 +#: common/models.py:1605 msgid "Use Variant Pricing" msgstr "Gebruik variantprijzen" -#: common/models.py:1601 +#: common/models.py:1606 msgid "Include variant pricing in overall pricing calculations" msgstr "Variantenprijzen opnemen in de totale prijsberekening" -#: common/models.py:1606 +#: common/models.py:1611 msgid "Active Variants Only" msgstr "Alleen actieve varianten" -#: common/models.py:1608 +#: common/models.py:1613 msgid "Only use active variant parts for calculating variant pricing" msgstr "Gebruik alleen actieve variantonderdelen voor het berekenen van variantprijzen" -#: common/models.py:1614 +#: common/models.py:1619 msgid "Pricing Rebuild Interval" msgstr "Prijzen Herbouw interval" -#: common/models.py:1616 +#: common/models.py:1621 msgid "Number of days before part pricing is automatically updated" msgstr "Aantal dagen voordat de prijzen voor onderdelen automatisch worden bijgewerkt" -#: common/models.py:1623 +#: common/models.py:1628 msgid "Internal Prices" msgstr "Interne Prijzen" -#: common/models.py:1624 +#: common/models.py:1629 msgid "Enable internal prices for parts" msgstr "Inschakelen van interne prijzen voor onderdelen" -#: common/models.py:1629 +#: common/models.py:1634 msgid "Internal Price Override" msgstr "Interne prijs overschrijven" -#: common/models.py:1631 +#: common/models.py:1636 msgid "If available, internal prices override price range calculations" msgstr "Indien beschikbaar, interne prijzen overschrijven berekeningen van prijsbereik" -#: common/models.py:1637 +#: common/models.py:1642 msgid "Enable label printing" msgstr "Printen van labels Inschakelen" -#: common/models.py:1638 +#: common/models.py:1643 msgid "Enable label printing from the web interface" msgstr "Printen van labels via de webinterface inschakelen" -#: common/models.py:1643 +#: common/models.py:1648 msgid "Label Image DPI" msgstr "Label Afbeelding DPI" -#: common/models.py:1645 +#: common/models.py:1650 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:1651 +#: common/models.py:1656 msgid "Enable Reports" msgstr "Activeer Rapportages" -#: common/models.py:1652 +#: common/models.py:1657 msgid "Enable generation of reports" msgstr "Activeer het genereren van rapporten" -#: common/models.py:1657 templates/stats.html:25 +#: common/models.py:1662 templates/stats.html:25 msgid "Debug Mode" msgstr "Foutopsporingsmodus" -#: common/models.py:1658 +#: common/models.py:1663 msgid "Generate reports in debug mode (HTML output)" msgstr "Rapporten genereren in debug modus (HTML uitvoer)" -#: common/models.py:1663 +#: common/models.py:1668 msgid "Log Report Errors" msgstr "" -#: common/models.py:1664 +#: common/models.py:1669 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1669 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1674 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:302 msgid "Page Size" msgstr "Paginagrootte" -#: common/models.py:1670 +#: common/models.py:1675 msgid "Default page size for PDF reports" msgstr "Standaard paginagrootte voor PDF rapporten" -#: common/models.py:1675 +#: common/models.py:1680 msgid "Enable Test Reports" msgstr "Activeer Testrapporten" -#: common/models.py:1676 +#: common/models.py:1681 msgid "Enable generation of test reports" msgstr "Activeer het genereren van testrapporten" -#: common/models.py:1681 +#: common/models.py:1686 msgid "Attach Test Reports" msgstr "Testrapporten Toevoegen" -#: common/models.py:1683 +#: common/models.py:1688 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:1689 +#: common/models.py:1694 msgid "Globally Unique Serials" msgstr "Globaal unieke serienummers" -#: common/models.py:1690 +#: common/models.py:1695 msgid "Serial numbers for stock items must be globally unique" msgstr "Serienummers voor voorraaditems moeten globaal uniek zijn" -#: common/models.py:1695 +#: common/models.py:1700 msgid "Autofill Serial Numbers" msgstr "Serienummers automatisch invullen" -#: common/models.py:1696 +#: common/models.py:1701 msgid "Autofill serial numbers in forms" msgstr "Automatisch invullen van serienummer in formulieren" -#: common/models.py:1701 +#: common/models.py:1706 msgid "Delete Depleted Stock" msgstr "Verwijder uitgeputte voorraad" -#: common/models.py:1703 +#: common/models.py:1708 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1709 +#: common/models.py:1714 msgid "Batch Code Template" msgstr "Batchcode Sjabloon" -#: common/models.py:1711 +#: common/models.py:1716 msgid "Template for generating default batch codes for stock items" msgstr "Sjabloon voor het genereren van standaard batchcodes voor voorraadartikelen" -#: common/models.py:1716 +#: common/models.py:1721 msgid "Stock Expiry" msgstr "Verlopen Voorraad" -#: common/models.py:1717 +#: common/models.py:1722 msgid "Enable stock expiry functionality" msgstr "Verlopen voorraad functionaliteit inschakelen" -#: common/models.py:1722 +#: common/models.py:1727 msgid "Sell Expired Stock" msgstr "Verkoop Verlopen Voorraad" -#: common/models.py:1723 +#: common/models.py:1728 msgid "Allow sale of expired stock" msgstr "Verkoop verlopen voorraad toestaan" -#: common/models.py:1728 +#: common/models.py:1733 msgid "Stock Stale Time" msgstr "Voorraad Vervaltijd" -#: common/models.py:1730 +#: common/models.py:1735 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:1737 +#: common/models.py:1742 msgid "Build Expired Stock" msgstr "Produceer Verlopen Voorraad" -#: common/models.py:1738 +#: common/models.py:1743 msgid "Allow building with expired stock" msgstr "Sta productie met verlopen voorraad toe" -#: common/models.py:1743 +#: common/models.py:1748 msgid "Stock Ownership Control" msgstr "Voorraad Eigenaar Toezicht" -#: common/models.py:1744 +#: common/models.py:1749 msgid "Enable ownership control over stock locations and items" msgstr "Eigenaarstoezicht over voorraadlocaties en items inschakelen" -#: common/models.py:1749 +#: common/models.py:1754 msgid "Stock Location Default Icon" msgstr "Voorraadlocatie standaard icoon" -#: common/models.py:1750 +#: common/models.py:1755 msgid "Stock location default icon (empty means no icon)" msgstr "Standaard locatie pictogram (leeg betekent geen icoon)" -#: common/models.py:1754 +#: common/models.py:1759 msgid "Show Installed Stock Items" msgstr "Geïnstalleerde voorraad items weergeven" -#: common/models.py:1755 +#: common/models.py:1760 msgid "Display installed stock items in stock tables" msgstr "Geïnstalleerde voorraadartikelen in voorraadtabellen tonen" -#: common/models.py:1760 +#: common/models.py:1765 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1762 +#: common/models.py:1767 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1768 +#: common/models.py:1773 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1770 +#: common/models.py:1775 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1776 +#: common/models.py:1781 msgid "Build Order Reference Pattern" msgstr "Productieorderreferentiepatroon" -#: common/models.py:1778 +#: common/models.py:1783 msgid "Required pattern for generating Build Order reference field" msgstr "Vereist patroon voor het genereren van het Bouworderreferentieveld" -#: common/models.py:1784 common/models.py:1826 common/models.py:1848 -#: common/models.py:1884 +#: common/models.py:1789 common/models.py:1837 common/models.py:1859 +#: common/models.py:1895 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1785 common/models.py:1827 common/models.py:1849 -#: common/models.py:1885 +#: common/models.py:1790 common/models.py:1838 common/models.py:1860 +#: common/models.py:1896 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1790 +#: common/models.py:1795 msgid "Require Active Part" msgstr "" -#: common/models.py:1791 +#: common/models.py:1796 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/models.py:1796 +#: common/models.py:1801 +#, fuzzy +#| msgid "Required For" +msgid "Require Locked Part" +msgstr "Vereist Voor" + +#: common/models.py:1802 +#, fuzzy +#| msgid "Print build order report" +msgid "Prevent build order creation for unlocked parts" +msgstr "Print productieorderrapport" + +#: common/models.py:1807 msgid "Require Valid BOM" msgstr "" -#: common/models.py:1798 +#: common/models.py:1809 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/models.py:1804 +#: common/models.py:1815 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1806 +#: common/models.py:1817 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1812 +#: common/models.py:1823 msgid "Enable Return Orders" msgstr "Retourorders inschakelen" -#: common/models.py:1813 +#: common/models.py:1824 msgid "Enable return order functionality in the user interface" msgstr "Retourorder functionaliteit inschakelen in de gebruikersinterface" -#: common/models.py:1818 +#: common/models.py:1829 msgid "Return Order Reference Pattern" msgstr "Retourorder referentie patroon" -#: common/models.py:1820 +#: common/models.py:1831 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1832 +#: common/models.py:1843 msgid "Edit Completed Return Orders" msgstr "Bewerk voltooide retourorders" -#: common/models.py:1834 +#: common/models.py:1845 msgid "Allow editing of return orders after they have been completed" msgstr "Bewerken van retourorders toestaan nadat deze zijn voltooid" -#: common/models.py:1840 +#: common/models.py:1851 msgid "Sales Order Reference Pattern" msgstr "Verkooporderreferentiepatroon" -#: common/models.py:1842 +#: common/models.py:1853 msgid "Required pattern for generating Sales Order reference field" msgstr "Vereist patroon voor het genereren van het Verkooporderreferentieveld" -#: common/models.py:1854 +#: common/models.py:1865 msgid "Sales Order Default Shipment" msgstr "Standaard Verzending Verkooporder" -#: common/models.py:1855 +#: common/models.py:1866 msgid "Enable creation of default shipment with sales orders" msgstr "Aanmaken standaard verzending bij verkooporders inschakelen" -#: common/models.py:1860 +#: common/models.py:1871 msgid "Edit Completed Sales Orders" msgstr "Bewerk voltooide verkooporders" -#: common/models.py:1862 +#: common/models.py:1873 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:1868 +#: common/models.py:1879 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1870 +#: common/models.py:1881 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1876 +#: common/models.py:1887 msgid "Purchase Order Reference Pattern" msgstr "Inkooporderreferentiepatroon" -#: common/models.py:1878 +#: common/models.py:1889 msgid "Required pattern for generating Purchase Order reference field" msgstr "Vereist patroon voor het genereren van het Inkooporderreferentieveld" -#: common/models.py:1890 +#: common/models.py:1901 msgid "Edit Completed Purchase Orders" msgstr "Bewerk voltooide verkooporders" -#: common/models.py:1892 +#: common/models.py:1903 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:1898 +#: common/models.py:1909 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1900 +#: common/models.py:1911 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1907 +#: common/models.py:1918 msgid "Enable password forgot" msgstr "Wachtwoord vergeten functie inschakelen" -#: common/models.py:1908 +#: common/models.py:1919 msgid "Enable password forgot function on the login pages" msgstr "Wachtwoord vergeten functie inschakelen op de inlogpagina's" -#: common/models.py:1913 +#: common/models.py:1924 msgid "Enable registration" msgstr "Registratie inschakelen" -#: common/models.py:1914 +#: common/models.py:1925 msgid "Enable self-registration for users on the login pages" msgstr "Zelfregistratie voor gebruikers op de inlogpagina's inschakelen" -#: common/models.py:1919 +#: common/models.py:1930 msgid "Enable SSO" msgstr "SSO inschakelen" -#: common/models.py:1920 +#: common/models.py:1931 msgid "Enable SSO on the login pages" msgstr "SSO inschakelen op de inlogpagina's" -#: common/models.py:1925 +#: common/models.py:1936 msgid "Enable SSO registration" msgstr "Schakel gebruikersregistratie met SSO in" -#: common/models.py:1927 +#: common/models.py:1938 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:1933 +#: common/models.py:1944 msgid "Enable SSO group sync" msgstr "" -#: common/models.py:1935 +#: common/models.py:1946 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/models.py:1941 +#: common/models.py:1952 msgid "SSO group key" msgstr "" -#: common/models.py:1943 +#: common/models.py:1954 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/models.py:1949 +#: common/models.py:1960 msgid "SSO group map" msgstr "" -#: common/models.py:1951 +#: common/models.py:1962 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/models.py:1957 +#: common/models.py:1968 msgid "Remove groups outside of SSO" msgstr "" -#: common/models.py:1959 +#: common/models.py:1970 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/models.py:1965 +#: common/models.py:1976 msgid "Email required" msgstr "E-mailadres verplicht" -#: common/models.py:1966 +#: common/models.py:1977 msgid "Require user to supply mail on signup" msgstr "Vereis gebruiker om e-mailadres te registreren bij aanmelding" -#: common/models.py:1971 +#: common/models.py:1982 msgid "Auto-fill SSO users" msgstr "SSO-gebruikers automatisch invullen" -#: common/models.py:1973 +#: common/models.py:1984 msgid "Automatically fill out user-details from SSO account-data" msgstr "Gebruikersdetails van SSO-accountgegevens automatisch invullen" -#: common/models.py:1979 +#: common/models.py:1990 msgid "Mail twice" msgstr "E-mail twee keer" -#: common/models.py:1980 +#: common/models.py:1991 msgid "On signup ask users twice for their mail" msgstr "Bij inschrijving gebruikers twee keer om hun e-mail vragen" -#: common/models.py:1985 +#: common/models.py:1996 msgid "Password twice" msgstr "Wachtwoord tweemaal" -#: common/models.py:1986 +#: common/models.py:1997 msgid "On signup ask users twice for their password" msgstr "Laat gebruikers twee keer om hun wachtwoord vragen tijdens het aanmelden" -#: common/models.py:1991 +#: common/models.py:2002 msgid "Allowed domains" msgstr "Toegestane domeinen" -#: common/models.py:1993 +#: common/models.py:2004 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "Inschrijven beperken tot bepaalde domeinen (komma-gescheiden, beginnend met @)" -#: common/models.py:1999 +#: common/models.py:2010 msgid "Group on signup" msgstr "Groep bij aanmelding" -#: common/models.py:2001 +#: common/models.py:2012 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/models.py:2007 +#: common/models.py:2018 msgid "Enforce MFA" msgstr "MFA afdwingen" -#: common/models.py:2008 +#: common/models.py:2019 msgid "Users must use multifactor security." msgstr "Gebruikers moeten multifactor-beveiliging gebruiken." -#: common/models.py:2013 +#: common/models.py:2024 msgid "Check plugins on startup" msgstr "Controleer plugins bij het opstarten" -#: common/models.py:2015 +#: common/models.py:2026 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:2023 +#: common/models.py:2034 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2024 +#: common/models.py:2035 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2030 +#: common/models.py:2041 msgid "Enable URL integration" msgstr "Activeer URL-integratie" -#: common/models.py:2031 +#: common/models.py:2042 msgid "Enable plugins to add URL routes" msgstr "Plugins toestaan om URL-routes toe te voegen" -#: common/models.py:2037 +#: common/models.py:2048 msgid "Enable navigation integration" msgstr "Activeer navigatie integratie" -#: common/models.py:2038 +#: common/models.py:2049 msgid "Enable plugins to integrate into navigation" msgstr "Plugins toestaan om te integreren in navigatie" -#: common/models.py:2044 +#: common/models.py:2055 msgid "Enable app integration" msgstr "Activeer app integratie" -#: common/models.py:2045 +#: common/models.py:2056 msgid "Enable plugins to add apps" msgstr "Activeer plug-ins om apps toe te voegen" -#: common/models.py:2051 +#: common/models.py:2062 msgid "Enable schedule integration" msgstr "Activeer planning integratie" -#: common/models.py:2052 +#: common/models.py:2063 msgid "Enable plugins to run scheduled tasks" msgstr "Activeer plugin om periodiek taken uit te voeren" -#: common/models.py:2058 +#: common/models.py:2069 msgid "Enable event integration" msgstr "Activeer evenement integratie" -#: common/models.py:2059 +#: common/models.py:2070 msgid "Enable plugins to respond to internal events" msgstr "Activeer plugin om op interne evenementen te reageren" -#: common/models.py:2065 +#: common/models.py:2076 msgid "Enable project codes" msgstr "Activeer project codes" -#: common/models.py:2066 +#: common/models.py:2077 msgid "Enable project codes for tracking projects" msgstr "Activeer project codes voor het bijhouden van projecten" -#: common/models.py:2071 +#: common/models.py:2082 msgid "Stocktake Functionality" msgstr "Voorraadcontrole functionaliteit" -#: common/models.py:2073 +#: common/models.py:2084 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:2079 +#: common/models.py:2090 msgid "Exclude External Locations" msgstr "Externe locaties uitsluiten" -#: common/models.py:2081 +#: common/models.py:2092 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "Voorraadartikelen op externe locaties uitsluiten van voorraadberekeningen" -#: common/models.py:2087 +#: common/models.py:2098 msgid "Automatic Stocktake Period" msgstr "Automatische Voorraadcontrole Periode" -#: common/models.py:2089 +#: common/models.py:2100 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:2095 +#: common/models.py:2106 msgid "Report Deletion Interval" msgstr "Rapport Verwijdering Interval" -#: common/models.py:2097 +#: common/models.py:2108 msgid "Stocktake reports will be deleted after specified number of days" msgstr "Voorraadrapportage zal worden verwijderd na het opgegeven aantal dagen" -#: common/models.py:2104 +#: common/models.py:2115 msgid "Display Users full names" msgstr "" -#: common/models.py:2105 +#: common/models.py:2116 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2110 +#: common/models.py:2121 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2111 +#: common/models.py:2122 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2123 common/models.py:2533 +#: common/models.py:2134 common/models.py:2514 msgid "Settings key (must be unique - case insensitive" msgstr "Instellingssleutel (moet uniek zijn - hoofdletter ongevoelig" -#: common/models.py:2166 +#: common/models.py:2177 msgid "Hide inactive parts" msgstr "Inactieve Onderdelen Verbergen" -#: common/models.py:2168 +#: common/models.py:2179 msgid "Hide inactive parts in results displayed on the homepage" msgstr "Verberg inactieve delen bij items op de homepage" -#: common/models.py:2174 +#: common/models.py:2185 msgid "Show subscribed parts" msgstr "Toon geabonneerde onderdelen" -#: common/models.py:2175 +#: common/models.py:2186 msgid "Show subscribed parts on the homepage" msgstr "Toon geabonneerde onderdelen op de homepage" -#: common/models.py:2180 +#: common/models.py:2191 msgid "Show subscribed categories" msgstr "Toon geabonneerde categorieën" -#: common/models.py:2181 +#: common/models.py:2192 msgid "Show subscribed part categories on the homepage" msgstr "Toon geabonneerde onderdeel categorieën op de startpagina" -#: common/models.py:2186 +#: common/models.py:2197 msgid "Show latest parts" msgstr "Toon laatste onderdelen" -#: common/models.py:2187 +#: common/models.py:2198 msgid "Show latest parts on the homepage" msgstr "Toon laatste onderdelen op de startpagina" -#: common/models.py:2192 +#: common/models.py:2203 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2193 +#: common/models.py:2204 msgid "Show BOMs that await validation on the homepage" msgstr "Laat BOMs zien die wachten op validatie op de startpagina" -#: common/models.py:2198 +#: common/models.py:2209 msgid "Show recent stock changes" msgstr "Toon recente voorraadwijzigingen" -#: common/models.py:2199 +#: common/models.py:2210 msgid "Show recently changed stock items on the homepage" msgstr "Toon recent aangepaste voorraadartikelen op de startpagina" -#: common/models.py:2204 +#: common/models.py:2215 msgid "Show low stock" msgstr "Toon lage voorraad" -#: common/models.py:2205 +#: common/models.py:2216 msgid "Show low stock items on the homepage" msgstr "Toon lage voorraad van artikelen op de startpagina" -#: common/models.py:2210 +#: common/models.py:2221 msgid "Show depleted stock" msgstr "Toon lege voorraad" -#: common/models.py:2211 +#: common/models.py:2222 msgid "Show depleted stock items on the homepage" msgstr "Toon lege voorraad van artikelen op de startpagina" -#: common/models.py:2216 +#: common/models.py:2227 msgid "Show needed stock" msgstr "Toon benodigde voorraad" -#: common/models.py:2217 +#: common/models.py:2228 msgid "Show stock items needed for builds on the homepage" msgstr "Toon benodigde voorraad van artikelen voor productie op de startpagina" -#: common/models.py:2222 +#: common/models.py:2233 msgid "Show expired stock" msgstr "Toon verlopen voorraad" -#: common/models.py:2223 +#: common/models.py:2234 msgid "Show expired stock items on the homepage" msgstr "Toon verlopen voorraad van artikelen op de startpagina" -#: common/models.py:2228 +#: common/models.py:2239 msgid "Show stale stock" msgstr "Toon verouderde voorraad" -#: common/models.py:2229 +#: common/models.py:2240 msgid "Show stale stock items on the homepage" msgstr "Toon verouderde voorraad van artikelen op de startpagina" -#: common/models.py:2234 +#: common/models.py:2245 msgid "Show pending builds" msgstr "Toon openstaande producties" -#: common/models.py:2235 +#: common/models.py:2246 msgid "Show pending builds on the homepage" msgstr "Toon openstaande producties op de startpagina" -#: common/models.py:2240 +#: common/models.py:2251 msgid "Show overdue builds" msgstr "Toon achterstallige productie" -#: common/models.py:2241 +#: common/models.py:2252 msgid "Show overdue builds on the homepage" msgstr "Toon achterstallige producties op de startpagina" -#: common/models.py:2246 +#: common/models.py:2257 msgid "Show outstanding POs" msgstr "Toon uitstaande PO's" -#: common/models.py:2247 +#: common/models.py:2258 msgid "Show outstanding POs on the homepage" msgstr "Toon uitstaande PO's op de startpagina" -#: common/models.py:2252 +#: common/models.py:2263 msgid "Show overdue POs" msgstr "Toon achterstallige PO's" -#: common/models.py:2253 +#: common/models.py:2264 msgid "Show overdue POs on the homepage" msgstr "Toon achterstallige PO's op de startpagina" -#: common/models.py:2258 +#: common/models.py:2269 msgid "Show outstanding SOs" msgstr "Toon uitstaande SO's" -#: common/models.py:2259 +#: common/models.py:2270 msgid "Show outstanding SOs on the homepage" msgstr "Toon uitstaande SO's op de startpagina" -#: common/models.py:2264 +#: common/models.py:2275 msgid "Show overdue SOs" msgstr "Toon achterstallige SO's" -#: common/models.py:2265 +#: common/models.py:2276 msgid "Show overdue SOs on the homepage" msgstr "Toon achterstallige SO's op de startpagina" -#: common/models.py:2270 +#: common/models.py:2281 msgid "Show pending SO shipments" msgstr "Toon in behandeling SO verzendingen" -#: common/models.py:2271 +#: common/models.py:2282 msgid "Show pending SO shipments on the homepage" msgstr "Toon in behandeling zijnde SO verzendingen op de startpagina" -#: common/models.py:2276 +#: common/models.py:2287 msgid "Show News" msgstr "Nieuws tonen" -#: common/models.py:2277 +#: common/models.py:2288 msgid "Show news on the homepage" msgstr "Nieuws op de startpagina weergeven" -#: common/models.py:2282 +#: common/models.py:2293 msgid "Inline label display" msgstr "Inline labelweergave" -#: common/models.py:2284 +#: common/models.py:2295 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:2290 +#: common/models.py:2301 msgid "Default label printer" msgstr "Standaard label printer" -#: common/models.py:2292 +#: common/models.py:2303 msgid "Configure which label printer should be selected by default" msgstr "Instellen welke label printer standaard moet worden geselecteerd" -#: common/models.py:2298 +#: common/models.py:2309 msgid "Inline report display" msgstr "Inline rapport weergeven" -#: common/models.py:2300 +#: common/models.py:2311 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:2306 +#: common/models.py:2317 msgid "Search Parts" msgstr "Zoek Onderdelen" -#: common/models.py:2307 +#: common/models.py:2318 msgid "Display parts in search preview window" msgstr "Onderdelen weergeven in zoekscherm" -#: common/models.py:2312 +#: common/models.py:2323 msgid "Search Supplier Parts" msgstr "Zoek leveranciersonderdelen" -#: common/models.py:2313 +#: common/models.py:2324 msgid "Display supplier parts in search preview window" msgstr "Leveranciersonderdelen weergeven in zoekscherm" -#: common/models.py:2318 +#: common/models.py:2329 msgid "Search Manufacturer Parts" msgstr "Fabrikant onderdelen zoeken" -#: common/models.py:2319 +#: common/models.py:2330 msgid "Display manufacturer parts in search preview window" msgstr "Fabrikant onderdelen weergeven in zoekscherm" -#: common/models.py:2324 +#: common/models.py:2335 msgid "Hide Inactive Parts" msgstr "Inactieve Onderdelen Verbergen" -#: common/models.py:2325 +#: common/models.py:2336 msgid "Excluded inactive parts from search preview window" msgstr "Inactieve verkooporders weglaten in het zoekvenster" -#: common/models.py:2330 +#: common/models.py:2341 msgid "Search Categories" msgstr "Zoek categorieën" -#: common/models.py:2331 +#: common/models.py:2342 msgid "Display part categories in search preview window" msgstr "Toon onderdeelcategorieën in zoekvenster" -#: common/models.py:2336 +#: common/models.py:2347 msgid "Search Stock" msgstr "Zoek in Voorraad" -#: common/models.py:2337 +#: common/models.py:2348 msgid "Display stock items in search preview window" msgstr "Toon voorraad items in zoekvenster" -#: common/models.py:2342 +#: common/models.py:2353 msgid "Hide Unavailable Stock Items" msgstr "Verberg niet beschikbare voorraad items" -#: common/models.py:2344 +#: common/models.py:2355 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:2350 +#: common/models.py:2361 msgid "Search Locations" msgstr "Locaties doorzoeken" -#: common/models.py:2351 +#: common/models.py:2362 msgid "Display stock locations in search preview window" msgstr "Toon voorraadlocaties in zoekvenster" -#: common/models.py:2356 +#: common/models.py:2367 msgid "Search Companies" msgstr "Zoek bedrijven" -#: common/models.py:2357 +#: common/models.py:2368 msgid "Display companies in search preview window" msgstr "Toon bedrijven in zoekvenster" -#: common/models.py:2362 +#: common/models.py:2373 msgid "Search Build Orders" msgstr "Zoek Bouworders" -#: common/models.py:2363 +#: common/models.py:2374 msgid "Display build orders in search preview window" msgstr "Toon bouworders in zoekvenster" -#: common/models.py:2368 +#: common/models.py:2379 msgid "Search Purchase Orders" msgstr "Inkooporders Zoeken" -#: common/models.py:2369 +#: common/models.py:2380 msgid "Display purchase orders in search preview window" msgstr "Toon inkooporders in het zoekvenster" -#: common/models.py:2374 +#: common/models.py:2385 msgid "Exclude Inactive Purchase Orders" msgstr "Inactieve Inkooporders Weglaten" -#: common/models.py:2376 +#: common/models.py:2387 msgid "Exclude inactive purchase orders from search preview window" msgstr "Inactieve inkooporders weglaten in het zoekvenster" -#: common/models.py:2382 +#: common/models.py:2393 msgid "Search Sales Orders" msgstr "Verkooporders zoeken" -#: common/models.py:2383 +#: common/models.py:2394 msgid "Display sales orders in search preview window" msgstr "Toon verkooporders in het zoekvenster" -#: common/models.py:2388 +#: common/models.py:2399 msgid "Exclude Inactive Sales Orders" msgstr "Inactieve Verkooporders Weglaten" -#: common/models.py:2390 +#: common/models.py:2401 msgid "Exclude inactive sales orders from search preview window" msgstr "Inactieve verkooporders weglaten in het zoekvenster" -#: common/models.py:2396 +#: common/models.py:2407 msgid "Search Return Orders" msgstr "Zoek retourorders" -#: common/models.py:2397 +#: common/models.py:2408 msgid "Display return orders in search preview window" msgstr "Toon bouworders in zoekvenster" -#: common/models.py:2402 +#: common/models.py:2413 msgid "Exclude Inactive Return Orders" msgstr "Inactieve retourbestellingen weglaten" -#: common/models.py:2404 +#: common/models.py:2415 msgid "Exclude inactive return orders from search preview window" msgstr "Inactieve retourorders uitsluiten in zoekvenster" -#: common/models.py:2410 +#: common/models.py:2421 msgid "Search Preview Results" msgstr "Zoekvoorbeeld resultaten" -#: common/models.py:2412 +#: common/models.py:2423 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:2418 +#: common/models.py:2429 msgid "Regex Search" msgstr "Regex zoeken" -#: common/models.py:2419 +#: common/models.py:2430 msgid "Enable regular expressions in search queries" msgstr "Schakel reguliere expressies in zoekopdrachten in" -#: common/models.py:2424 +#: common/models.py:2435 msgid "Whole Word Search" msgstr "Hele woorden zoeken" -#: common/models.py:2425 +#: common/models.py:2436 msgid "Search queries return results for whole word matches" msgstr "Zoekopdrachten geven resultaat voor hele woord overeenkomsten" -#: common/models.py:2430 +#: common/models.py:2441 msgid "Show Quantity in Forms" msgstr "Toon hoeveelheid in formulieren" -#: common/models.py:2431 +#: common/models.py:2442 msgid "Display available part quantity in some forms" msgstr "Hoeveelheid beschikbare onderdelen in sommige formulieren weergeven" -#: common/models.py:2436 +#: common/models.py:2447 msgid "Escape Key Closes Forms" msgstr "Escape-toets sluit formulieren" -#: common/models.py:2437 +#: common/models.py:2448 msgid "Use the escape key to close modal forms" msgstr "Gebruik de Escape-toets om standaard formulieren te sluiten" -#: common/models.py:2442 +#: common/models.py:2453 msgid "Fixed Navbar" msgstr "Vaste navigatiebalk" -#: common/models.py:2443 +#: common/models.py:2454 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:2448 +#: common/models.py:2459 msgid "Date Format" msgstr "Datum formaat" -#: common/models.py:2449 +#: common/models.py:2460 msgid "Preferred format for displaying dates" msgstr "Voorkeursindeling voor weergave van datums" -#: common/models.py:2462 part/templates/part/detail.html:41 +#: common/models.py:2473 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Onderdeel planning" -#: common/models.py:2463 +#: common/models.py:2474 msgid "Display part scheduling information" msgstr "Toon informatie voor het plannen van onderdelen" -#: common/models.py:2468 part/templates/part/detail.html:62 +#: common/models.py:2479 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "Voorraadcontrole onderdeel" -#: common/models.py:2470 +#: common/models.py:2481 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "Toon voorraadinformatie van onderdeel (als voorraadcontrole functionaliteit is ingeschakeld)" -#: common/models.py:2476 +#: common/models.py:2487 msgid "Table String Length" msgstr "Tabel tekenreekslengte" -#: common/models.py:2478 +#: common/models.py:2489 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2484 -msgid "Default part label template" -msgstr "Standaard sjabloon product onderdeel" - -#: common/models.py:2485 -msgid "The part label template to be automatically selected" -msgstr "Het onderdeellabelsjabloon dat automatisch wordt geselecteerd" - -#: common/models.py:2490 -msgid "Default stock item template" -msgstr "Standaard sjabloon voorraad onderdeel" - -#: common/models.py:2492 -msgid "The stock item label template to be automatically selected" -msgstr "" - -#: common/models.py:2498 -msgid "Default stock location label template" -msgstr "Standaard label van voorraadlocatie" - -#: common/models.py:2500 -msgid "The stock location label template to be automatically selected" -msgstr "" - -#: common/models.py:2506 -msgid "Default build line label template" -msgstr "" - -#: common/models.py:2508 -msgid "The build line label template to be automatically selected" -msgstr "" - -#: common/models.py:2514 +#: common/models.py:2495 msgid "Receive error reports" msgstr "Foutrapportages ontvangen" -#: common/models.py:2515 +#: common/models.py:2496 msgid "Receive notifications for system errors" msgstr "Meldingen ontvangen van systeemfouten" -#: common/models.py:2520 +#: common/models.py:2501 msgid "Last used printing machines" msgstr "" -#: common/models.py:2521 +#: common/models.py:2502 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2541 common/models.py:2542 common/models.py:2691 -#: common/models.py:2692 common/models.py:2937 common/models.py:2938 -#: common/models.py:3259 common/models.py:3260 part/models.py:3193 -#: part/models.py:3280 part/models.py:3353 part/models.py:3381 -#: plugin/models.py:274 plugin/models.py:275 +#: common/models.py:2522 common/models.py:2523 common/models.py:2672 +#: common/models.py:2673 common/models.py:2918 common/models.py:2919 +#: common/models.py:3245 common/models.py:3246 importer/models.py:85 +#: part/models.py:3203 part/models.py:3290 part/models.py:3364 +#: part/models.py:3392 plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 msgid "User" msgstr "Gebruiker" -#: common/models.py:2564 +#: common/models.py:2545 msgid "Price break quantity" msgstr "" -#: common/models.py:2571 company/serializers.py:472 order/admin.py:42 -#: order/models.py:1346 order/models.py:2265 -#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1886 +#: common/models.py:2552 company/serializers.py:502 order/admin.py:42 +#: order/models.py:1346 order/models.py:2292 +#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1889 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:740 msgid "Price" msgstr "Prijs" -#: common/models.py:2572 +#: common/models.py:2553 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2668 common/models.py:2853 +#: common/models.py:2649 common/models.py:2834 msgid "Endpoint" msgstr "Eindpunt" -#: common/models.py:2669 +#: common/models.py:2650 msgid "Endpoint at which this webhook is received" msgstr "Eindpunt waarop deze webhook wordt ontvangen" -#: common/models.py:2679 +#: common/models.py:2660 msgid "Name for this webhook" msgstr "Naam van deze webhook" -#: common/models.py:2683 +#: common/models.py:2664 msgid "Is this webhook active" msgstr "Is deze webhook actief" -#: common/models.py:2699 users/models.py:159 +#: common/models.py:2680 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2700 +#: common/models.py:2681 msgid "Token for access" msgstr "Token voor toegang" -#: common/models.py:2708 +#: common/models.py:2689 msgid "Secret" msgstr "Geheim" -#: common/models.py:2709 +#: common/models.py:2690 msgid "Shared secret for HMAC" msgstr "Gedeeld geheim voor HMAC" -#: common/models.py:2817 +#: common/models.py:2798 msgid "Message ID" msgstr "Bericht ID" -#: common/models.py:2818 +#: common/models.py:2799 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2826 +#: common/models.py:2807 msgid "Host" msgstr "" -#: common/models.py:2827 +#: common/models.py:2808 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2835 +#: common/models.py:2816 msgid "Header" msgstr "Koptekst" -#: common/models.py:2836 +#: common/models.py:2817 msgid "Header of this message" msgstr "Koptekst van dit bericht" -#: common/models.py:2843 +#: common/models.py:2824 msgid "Body" msgstr "Berichtinhoud" -#: common/models.py:2844 +#: common/models.py:2825 msgid "Body of this message" msgstr "Inhoud van dit bericht" -#: common/models.py:2854 +#: common/models.py:2835 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2859 +#: common/models.py:2840 msgid "Worked on" msgstr "Aan gewerkt" -#: common/models.py:2860 +#: common/models.py:2841 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2986 +#: common/models.py:2967 msgid "Id" msgstr "" -#: common/models.py:2988 templates/js/translated/company.js:965 +#: common/models.py:2969 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "Titel" -#: common/models.py:2990 common/models.py:3243 company/models.py:149 -#: company/models.py:440 company/models.py:500 company/models.py:799 -#: order/models.py:303 order/models.py:1301 order/models.py:1717 -#: part/admin.py:55 part/models.py:955 +#: common/models.py:2971 common/models.py:3229 company/models.py:149 +#: company/models.py:446 company/models.py:506 company/models.py:806 +#: order/models.py:303 order/models.py:1301 order/models.py:1733 +#: part/admin.py:55 part/models.py:959 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:229 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/part.js:2459 #: templates/js/translated/purchase_order.js:2040 #: templates/js/translated/purchase_order.js:2204 #: templates/js/translated/return_order.js:779 @@ -3607,28 +3660,28 @@ msgstr "Titel" msgid "Link" msgstr "" -#: common/models.py:2992 templates/js/translated/news.js:60 +#: common/models.py:2973 templates/js/translated/news.js:60 msgid "Published" msgstr "Gepubliceerd" -#: common/models.py:2994 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2975 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:2996 templates/js/translated/news.js:52 +#: common/models.py:2977 templates/js/translated/news.js:52 msgid "Summary" msgstr "Samenvatting" -#: common/models.py:2999 +#: common/models.py:2980 msgid "Read" msgstr "Gelezen" -#: common/models.py:2999 +#: common/models.py:2980 msgid "Was this news item read?" msgstr "" -#: common/models.py:3016 company/models.py:159 part/models.py:965 +#: common/models.py:2997 company/models.py:159 part/models.py:969 #: 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.html:35 @@ -3638,90 +3691,96 @@ msgstr "" msgid "Image" msgstr "Afbeelding" -#: common/models.py:3016 +#: common/models.py:2997 msgid "Image file" msgstr "Afbeelding" -#: common/models.py:3028 common/models.py:3227 +#: common/models.py:3009 common/models.py:3213 msgid "Target model type for this image" msgstr "" -#: common/models.py:3032 +#: common/models.py:3013 msgid "Target model ID for this image" msgstr "" -#: common/models.py:3070 +#: common/models.py:3035 +#, fuzzy +#| msgid "Customer" +msgid "Custom Unit" +msgstr "Klant" + +#: common/models.py:3056 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:3085 +#: common/models.py:3071 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3104 +#: common/models.py:3090 msgid "Unit name" msgstr "" -#: common/models.py:3111 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3097 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "Symbool" -#: common/models.py:3112 +#: common/models.py:3098 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3118 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3104 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "Definitie" -#: common/models.py:3119 +#: common/models.py:3105 msgid "Unit definition" msgstr "" -#: common/models.py:3177 common/models.py:3234 stock/models.py:2461 +#: common/models.py:3163 common/models.py:3220 stock/models.py:2471 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" msgstr "Bijlage" -#: common/models.py:3189 +#: common/models.py:3175 msgid "Missing file" msgstr "Ontbrekend bestand" -#: common/models.py:3190 +#: common/models.py:3176 msgid "Missing external link" msgstr "Externe link ontbreekt" -#: common/models.py:3235 +#: common/models.py:3221 msgid "Select file to attach" msgstr "Bestand als bijlage selecteren" -#: common/models.py:3250 templates/js/translated/attachment.js:120 +#: common/models.py:3236 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" msgstr "Opmerking" -#: common/models.py:3251 +#: common/models.py:3237 msgid "Attachment comment" msgstr "" -#: common/models.py:3267 +#: common/models.py:3253 msgid "Upload date" msgstr "" -#: common/models.py:3268 +#: common/models.py:3254 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:3272 +#: common/models.py:3258 msgid "File size" msgstr "" -#: common/models.py:3272 +#: common/models.py:3258 msgid "File size in bytes" msgstr "" -#: common/models.py:3310 common/serializers.py:553 +#: common/models.py:3296 common/serializers.py:557 msgid "Invalid model type specified for attachment" msgstr "" @@ -3743,7 +3802,7 @@ msgstr "" msgid "A order that is assigned to you was canceled" msgstr "" -#: common/notifications.py:330 common/notifications.py:337 order/api.py:472 +#: common/notifications.py:330 common/notifications.py:337 order/api.py:454 msgid "Items Received" msgstr "" @@ -3759,75 +3818,75 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:371 +#: common/serializers.py:375 msgid "Is Running" msgstr "" -#: common/serializers.py:377 +#: common/serializers.py:381 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:383 +#: common/serializers.py:387 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:389 +#: common/serializers.py:393 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:404 +#: common/serializers.py:408 msgid "Task ID" msgstr "" -#: common/serializers.py:404 +#: common/serializers.py:408 msgid "Unique task ID" msgstr "" -#: common/serializers.py:406 +#: common/serializers.py:410 msgid "Lock" msgstr "" -#: common/serializers.py:406 +#: common/serializers.py:410 msgid "Lock time" msgstr "" -#: common/serializers.py:408 +#: common/serializers.py:412 msgid "Task name" msgstr "" -#: common/serializers.py:410 +#: common/serializers.py:414 msgid "Function" msgstr "" -#: common/serializers.py:410 +#: common/serializers.py:414 msgid "Function name" msgstr "" -#: common/serializers.py:412 +#: common/serializers.py:416 msgid "Arguments" msgstr "" -#: common/serializers.py:412 +#: common/serializers.py:416 msgid "Task arguments" msgstr "" -#: common/serializers.py:415 +#: common/serializers.py:419 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:415 +#: common/serializers.py:419 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:525 +#: common/serializers.py:529 msgid "Filename" msgstr "Bestandsnaam" -#: common/serializers.py:532 report/api.py:100 report/serializers.py:53 +#: common/serializers.py:536 report/api.py:100 report/serializers.py:53 msgid "Model Type" msgstr "" -#: common/serializers.py:559 +#: common/serializers.py:563 msgid "User does not have permission to create or edit attachments for this model" msgstr "" @@ -3894,29 +3953,29 @@ msgstr "Geïmporteerde onderdelen" msgid "Previous Step" msgstr "Vorige Stap" -#: company/api.py:144 +#: company/api.py:141 msgid "Part is Active" msgstr "" -#: company/api.py:148 +#: company/api.py:145 msgid "Manufacturer is Active" msgstr "" -#: company/api.py:281 +#: company/api.py:278 msgid "Supplier Part is Active" msgstr "" -#: company/api.py:285 +#: company/api.py:282 msgid "Internal Part is Active" msgstr "" -#: company/api.py:289 +#: company/api.py:286 msgid "Supplier is Active" msgstr "" -#: company/models.py:100 company/models.py:365 +#: company/models.py:100 company/models.py:371 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:822 +#: company/templates/company/company_base.html:12 stock/api.py:814 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "Bedrijf" @@ -3956,8 +4015,9 @@ msgstr "Telefoonnummer voor contact" msgid "Contact email address" msgstr "Contact e-mailadres" -#: company/models.py:142 company/templates/company/company_base.html:145 -#: order/models.py:343 order/templates/order/order_base.html:203 +#: company/models.py:142 company/models.py:275 +#: company/templates/company/company_base.html:145 order/models.py:343 +#: order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 #: order/templates/order/sales_order_base.html:218 msgid "Contact" @@ -3976,7 +4036,9 @@ msgid "Is this company active?" msgstr "" #: company/models.py:168 -msgid "is customer" +#, fuzzy +#| msgid "is customer" +msgid "Is customer" msgstr "is klant" #: company/models.py:169 @@ -3984,7 +4046,9 @@ msgid "Do you sell items to this company?" msgstr "" #: company/models.py:174 -msgid "is supplier" +#, fuzzy +#| msgid "is supplier" +msgid "Is supplier" msgstr "is leverancier" #: company/models.py:175 @@ -3992,7 +4056,9 @@ msgid "Do you purchase items from this company?" msgstr "" #: company/models.py:180 -msgid "is manufacturer" +#, fuzzy +#| msgid "is manufacturer" +msgid "Is manufacturer" msgstr "is fabrikant" #: company/models.py:181 @@ -4003,178 +4069,191 @@ msgstr "Fabriceert dit bedrijf onderdelen?" msgid "Default currency used for this company" msgstr "Standaardvaluta die gebruikt wordt voor dit bedrijf" -#: company/models.py:366 +#: company/models.py:314 company/templates/company/company_base.html:124 +#: order/models.py:353 order/templates/order/order_base.html:210 +#: order/templates/order/return_order_base.html:181 +#: order/templates/order/sales_order_base.html:225 +msgid "Address" +msgstr "Adres" + +#: company/models.py:315 company/templates/company/sidebar.html:35 +msgid "Addresses" +msgstr "" + +#: company/models.py:372 msgid "Select company" msgstr "" -#: company/models.py:371 +#: company/models.py:377 msgid "Address title" msgstr "" -#: company/models.py:372 +#: company/models.py:378 msgid "Title describing the address entry" msgstr "" -#: company/models.py:378 +#: company/models.py:384 msgid "Primary address" msgstr "" -#: company/models.py:379 +#: company/models.py:385 msgid "Set as primary address" msgstr "" -#: company/models.py:384 templates/js/translated/company.js:914 +#: company/models.py:390 templates/js/translated/company.js:914 #: templates/js/translated/company.js:971 msgid "Line 1" msgstr "" -#: company/models.py:385 +#: company/models.py:391 msgid "Address line 1" msgstr "" -#: company/models.py:391 templates/js/translated/company.js:915 +#: company/models.py:397 templates/js/translated/company.js:915 #: templates/js/translated/company.js:977 msgid "Line 2" msgstr "" -#: company/models.py:392 +#: company/models.py:398 msgid "Address line 2" msgstr "" -#: company/models.py:398 company/models.py:399 +#: company/models.py:404 company/models.py:405 #: templates/js/translated/company.js:983 msgid "Postal code" msgstr "" -#: company/models.py:405 +#: company/models.py:411 msgid "City/Region" msgstr "" -#: company/models.py:406 +#: company/models.py:412 msgid "Postal code city/region" msgstr "" -#: company/models.py:412 +#: company/models.py:418 msgid "State/Province" msgstr "" -#: company/models.py:413 +#: company/models.py:419 msgid "State or province" msgstr "" -#: company/models.py:419 templates/js/translated/company.js:1001 +#: company/models.py:425 templates/js/translated/company.js:1001 msgid "Country" msgstr "" -#: company/models.py:420 +#: company/models.py:426 msgid "Address country" msgstr "" -#: company/models.py:426 +#: company/models.py:432 msgid "Courier shipping notes" msgstr "" -#: company/models.py:427 +#: company/models.py:433 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:433 +#: company/models.py:439 msgid "Internal shipping notes" msgstr "" -#: company/models.py:434 +#: company/models.py:440 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:441 +#: company/models.py:447 msgid "Link to address information (external)" msgstr "" -#: company/models.py:463 company/models.py:574 company/models.py:792 +#: company/models.py:469 company/models.py:581 company/models.py:799 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:217 msgid "Manufacturer Part" msgstr "Fabrikant onderdeel" -#: company/models.py:475 company/models.py:760 stock/models.py:767 -#: stock/serializers.py:422 stock/templates/stock/item_base.html:142 +#: company/models.py:481 company/models.py:767 stock/models.py:767 +#: stock/serializers.py:442 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "Basis onderdeel" -#: company/models.py:477 company/models.py:762 +#: company/models.py:483 company/models.py:769 msgid "Select part" msgstr "Onderdeel selecteren" -#: company/models.py:486 company/templates/company/company_base.html:82 +#: company/models.py:492 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:525 +#: company/templates/company/supplier_part.html:145 part/serializers.py:543 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 #: templates/js/translated/company.js:1296 #: templates/js/translated/company.js:1611 -#: templates/js/translated/table_filters.js:800 +#: templates/js/translated/table_filters.js:805 msgid "Manufacturer" msgstr "Fabrikant" -#: company/models.py:487 +#: company/models.py:493 msgid "Select manufacturer" msgstr "Fabrikant selecteren" -#: company/models.py:493 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:535 -#: templates/js/translated/company.js:351 +#: company/models.py:499 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:153 order/serializers.py:518 +#: part/serializers.py:553 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:1801 +#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1804 #: templates/js/translated/purchase_order.js:1851 #: templates/js/translated/purchase_order.js:2053 msgid "MPN" msgstr "" -#: company/models.py:494 -msgid "Manufacturer Part Number" -msgstr "Fabrikant artikel nummer (MPN)" - -#: company/models.py:501 +#: company/models.py:507 msgid "URL for external manufacturer part link" msgstr "URL voor externe link van het fabrikant onderdeel" -#: company/models.py:510 +#: company/models.py:516 msgid "Manufacturer part description" msgstr "Omschrijving onderdeel fabrikant" -#: company/models.py:581 +#: company/models.py:569 +#, fuzzy +#| msgid "Manufacturer Part Number" +msgid "Manufacturer Part Parameter" +msgstr "Fabrikant artikel nummer (MPN)" + +#: company/models.py:588 msgid "Parameter name" msgstr "Parameternaam" -#: company/models.py:587 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2453 templates/js/translated/company.js:1166 -#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1493 +#: company/models.py:594 report/templates/report/inventree_test_report.html:104 +#: stock/models.py:2463 templates/js/translated/company.js:1166 +#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1496 #: templates/js/translated/stock.js:1522 msgid "Value" msgstr "Waarde" -#: company/models.py:588 +#: company/models.py:595 msgid "Parameter value" msgstr "Parameterwaarde" -#: company/models.py:595 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1045 part/models.py:3646 +#: company/models.py:602 company/templates/company/supplier_part.html:168 +#: part/admin.py:57 part/models.py:1049 part/models.py:3667 #: part/templates/part/part_base.html:284 -#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1512 -#: templates/js/translated/part.js:1616 templates/js/translated/part.js:2370 +#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1515 +#: templates/js/translated/part.js:1619 templates/js/translated/part.js:2373 msgid "Units" msgstr "Eenheden" -#: company/models.py:596 +#: company/models.py:603 msgid "Parameter units" msgstr "Parameter eenheden" -#: company/models.py:648 company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 order/api.py:452 +#: company/models.py:655 company/templates/company/supplier_part.html:7 +#: company/templates/company/supplier_part.html:24 order/api.py:434 #: stock/models.py:778 stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 @@ -4182,91 +4261,91 @@ msgstr "Parameter eenheden" msgid "Supplier Part" msgstr "Leveranciersonderdeel" -#: company/models.py:700 +#: company/models.py:707 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:707 +#: company/models.py:714 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:721 +#: company/models.py:728 msgid "Linked manufacturer part must reference the same base part" msgstr "Gekoppeld fabrikant onderdeel moet verwijzen naar hetzelfde basis onderdeel" -#: company/models.py:770 company/templates/company/company_base.html:87 +#: company/models.py:777 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:509 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:527 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 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:511 -#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1769 +#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1772 #: templates/js/translated/pricing.js:498 #: templates/js/translated/purchase_order.js:1689 -#: templates/js/translated/table_filters.js:804 +#: templates/js/translated/table_filters.js:809 msgid "Supplier" msgstr "Leverancier" -#: company/models.py:771 +#: company/models.py:778 msgid "Select supplier" msgstr "Leverancier selecteren" -#: company/models.py:777 part/serializers.py:520 +#: company/models.py:784 part/serializers.py:538 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:783 +#: company/models.py:790 msgid "Is this supplier part active?" msgstr "" -#: company/models.py:793 +#: company/models.py:800 msgid "Select manufacturer part" msgstr "Selecteer fabrikant onderdeel" -#: company/models.py:800 +#: company/models.py:807 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:809 +#: company/models.py:816 msgid "Supplier part description" msgstr "" -#: company/models.py:816 company/templates/company/supplier_part.html:187 -#: part/admin.py:412 part/models.py:4093 part/templates/part/upload_bom.html:59 +#: company/models.py:823 company/templates/company/supplier_part.html:187 +#: part/admin.py:412 part/models.py:4178 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: 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:710 +#: stock/serializers.py:768 msgid "Note" msgstr "Opmerking" -#: company/models.py:825 part/models.py:2003 +#: company/models.py:832 part/models.py:2013 msgid "base cost" msgstr "basisprijs" -#: company/models.py:826 part/models.py:2004 +#: company/models.py:833 part/models.py:2014 msgid "Minimum charge (e.g. stocking fee)" msgstr "Minimale kosten (bijv. voorraadkosten)" -#: company/models.py:833 company/templates/company/supplier_part.html:160 -#: stock/admin.py:228 stock/models.py:798 stock/serializers.py:1475 +#: company/models.py:840 company/templates/company/supplier_part.html:160 +#: stock/admin.py:228 stock/models.py:798 stock/serializers.py:1541 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 msgid "Packaging" msgstr "" -#: company/models.py:834 +#: company/models.py:841 msgid "Part packaging" msgstr "" -#: company/models.py:839 templates/js/translated/company.js:1651 -#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 +#: company/models.py:846 templates/js/translated/company.js:1651 +#: templates/js/translated/part.js:1825 templates/js/translated/part.js:1881 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 #: templates/js/translated/purchase_order.js:1103 @@ -4275,35 +4354,47 @@ msgstr "" msgid "Pack Quantity" msgstr "" -#: company/models.py:841 +#: company/models.py:848 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:860 part/models.py:2010 +#: company/models.py:867 part/models.py:2020 msgid "multiple" msgstr "meerdere" -#: company/models.py:861 +#: company/models.py:868 msgid "Order multiple" msgstr "Order meerdere" -#: company/models.py:873 +#: company/models.py:880 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:879 +#: company/models.py:886 msgid "Availability Updated" msgstr "" -#: company/models.py:880 +#: company/models.py:887 msgid "Date of last update of availability data" msgstr "" -#: company/serializers.py:161 +#: company/models.py:1015 +#, fuzzy +#| msgid "Supplier Part Orders" +msgid "Supplier Price Break" +msgstr "Leverancier Onderdelenorders" + +#: company/serializers.py:174 msgid "Default currency used for this supplier" msgstr "" -#: company/serializers.py:357 part/admin.py:126 +#: company/serializers.py:210 +#, fuzzy +#| msgid "Company name" +msgid "Company Name" +msgstr "Bedrijfsnaam" + +#: company/serializers.py:384 part/admin.py:126 part/serializers.py:855 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:355 @@ -4315,7 +4406,7 @@ msgstr "" #: templates/js/translated/company.js:1287 #: templates/js/translated/company.js:1575 #: templates/js/translated/model_renderers.js:312 -#: templates/js/translated/part.js:815 templates/js/translated/part.js:1219 +#: templates/js/translated/part.js:814 templates/js/translated/part.js:1222 msgid "Inactive" msgstr "" @@ -4374,16 +4465,16 @@ msgid "Delete image" msgstr "" #: company/templates/company/company_base.html:92 order/models.py:938 -#: order/models.py:2032 order/templates/order/return_order_base.html:131 +#: order/models.py:2058 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:148 stock/models.py:820 -#: stock/models.py:821 stock/serializers.py:1225 +#: stock/models.py:821 stock/serializers.py:1291 #: 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:295 #: templates/js/translated/sales_order.js:820 #: templates/js/translated/stock.js:2959 -#: templates/js/translated/table_filters.js:808 +#: templates/js/translated/table_filters.js:813 msgid "Customer" msgstr "Klant" @@ -4391,13 +4482,6 @@ msgstr "Klant" msgid "Uses default currency" msgstr "Gebruik standaard valuta" -#: company/templates/company/company_base.html:124 order/models.py:353 -#: order/templates/order/order_base.html:210 -#: order/templates/order/return_order_base.html:181 -#: order/templates/order/sales_order_base.html:225 -msgid "Address" -msgstr "Adres" - #: company/templates/company/company_base.html:131 msgid "Phone" msgstr "Telefoon" @@ -4577,7 +4661,8 @@ msgid "Delete manufacturer part" msgstr "Fabrikant onderdeel verwijderen" #: company/templates/company/manufacturer_part.html:65 -#: company/templates/company/supplier_part.html:97 order/api.py:458 +#: company/templates/company/supplier_part.html:97 order/api.py:440 +#: order/serializers.py:526 msgid "Internal Part" msgstr "Intern onderdeel" @@ -4587,7 +4672,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:832 +#: part/admin.py:122 part/serializers.py:860 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4608,7 +4693,7 @@ msgid "New Parameter" msgstr "Nieuwe Parameter" #: company/templates/company/manufacturer_part.html:196 -#: templates/js/translated/part.js:1423 +#: templates/js/translated/part.js:1426 msgid "Add Parameter" msgstr "" @@ -4632,10 +4717,6 @@ msgstr "Toegewezen Voorraadartikelen" msgid "Contacts" msgstr "" -#: company/templates/company/sidebar.html:35 -msgid "Addresses" -msgstr "" - #: company/templates/company/supplier_part.html:50 #: templates/js/translated/company.js:1526 msgid "Supplier part actions" @@ -4677,9 +4758,9 @@ msgstr "Verwijder leveranciers onderdeel" 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:519 -#: templates/js/translated/company.js:349 templates/js/translated/part.js:1787 +#: company/templates/company/supplier_part.html:139 order/serializers.py:515 +#: part/bom.py:279 part/bom.py:311 part/serializers.py:537 +#: templates/js/translated/company.js:349 templates/js/translated/part.js:1790 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1850 #: templates/js/translated/purchase_order.js:2028 @@ -4695,81 +4776,259 @@ msgstr "" 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:208 -#: templates/js/translated/stock.js:537 -msgid "New Stock Item" -msgstr "Nieuw Voorraadartikel" +#: company/templates/company/supplier_part.html:210 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:208 +#: templates/js/translated/stock.js:537 +msgid "New Stock Item" +msgstr "Nieuw Voorraadartikel" + +#: company/templates/company/supplier_part.html:223 +msgid "Supplier Part Orders" +msgstr "Leverancier Onderdelenorders" + +#: company/templates/company/supplier_part.html:246 +msgid "Pricing Information" +msgstr "Prijsinformatie" + +#: company/templates/company/supplier_part.html:251 +#: templates/js/translated/company.js:398 +#: templates/js/translated/pricing.js:684 +msgid "Add Price Break" +msgstr "" + +#: company/templates/company/supplier_part.html:276 +msgid "Supplier Part QR Code" +msgstr "" + +#: company/templates/company/supplier_part.html:287 +msgid "Link Barcode to Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:359 +msgid "Update Part Availability" +msgstr "" + +#: company/templates/company/supplier_part_sidebar.html:5 +#: part/serializers.py:859 part/stocktake.py:224 +#: part/templates/part/category.html:183 +#: part/templates/part/category_sidebar.html:17 stock/admin.py:68 +#: stock/serializers.py:976 stock/serializers.py:1154 +#: stock/templates/stock/location.html:170 +#: 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:1064 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 +#: users/models.py:206 +msgid "Stock Items" +msgstr "Voorraadartikelen" + +#: company/templates/company/supplier_part_sidebar.html:9 +msgid "Supplier Part Pricing" +msgstr "" + +#: company/views.py:32 +msgid "New Supplier" +msgstr "" + +#: company/views.py:38 +msgid "New Manufacturer" +msgstr "Nieuwe fabrikant" + +#: company/views.py:43 templates/InvenTree/search.html:210 +#: templates/navbar.html:60 +msgid "Customers" +msgstr "Klanten" + +#: company/views.py:44 +msgid "New Customer" +msgstr "Nieuwe Klant" + +#: company/views.py:52 +msgid "New Company" +msgstr "Nieuw Bedrijf" + +#: generic/states/tests.py:18 order/status_codes.py:13 +msgid "Placed" +msgstr "Geplaatst" + +#: importer/mixins.py:263 +#, fuzzy +#| msgid "Invalid value for overage" +msgid "Invalid export format" +msgstr "Ongeldige waarde voor overschot" + +#: importer/models.py:56 +msgid "Timestamp" +msgstr "" + +#: importer/models.py:61 +#, fuzzy +#| msgid "Select file to upload" +msgid "Data file to import" +msgstr "Selecteer bestand om te uploaden" + +#: importer/models.py:70 templates/js/translated/tables.js:558 +msgid "Columns" +msgstr "" + +#: importer/models.py:81 +msgid "Import status" +msgstr "" + +#: importer/models.py:91 +#, fuzzy +#| msgid "Build Details" +msgid "Field Defaults" +msgstr "Productie details" + +#: importer/models.py:201 +#, fuzzy +#| msgid "Required build quantity has not been completed" +msgid "Some required fields have not been mapped" +msgstr "Vereiste productiehoeveelheid is voltooid" + +#: importer/models.py:346 +msgid "Column is already mapped to a database field" +msgstr "" + +#: importer/models.py:351 +msgid "Field is already mapped to a data column" +msgstr "" + +#: importer/models.py:360 +msgid "Column mapping must be linked to a valid import session" +msgstr "" + +#: importer/models.py:365 +msgid "Column does not exist in the data file" +msgstr "" + +#: importer/models.py:372 +#, fuzzy +#| msgid "User does not have permission to view this model" +msgid "Field does not exist in the target model" +msgstr "Gebruiker heeft geen rechten om dit model te bekijken" + +#: importer/models.py:376 +msgid "Selected field is read-only" +msgstr "" + +#: importer/models.py:381 importer/models.py:452 +msgid "Import Session" +msgstr "" + +#: importer/models.py:385 +msgid "Field" +msgstr "" + +#: importer/models.py:387 +msgid "Column" +msgstr "" + +#: importer/models.py:456 +msgid "Row Index" +msgstr "" + +#: importer/models.py:459 +msgid "Original row data" +msgstr "" + +#: importer/models.py:462 part/models.py:3841 +msgid "Data" +msgstr "" + +#: importer/models.py:464 machine/models.py:110 +msgid "Errors" +msgstr "" + +#: importer/models.py:466 part/api.py:874 +msgid "Valid" +msgstr "" -#: company/templates/company/supplier_part.html:223 -msgid "Supplier Part Orders" -msgstr "Leverancier Onderdelenorders" +#: importer/operations.py:28 importer/operations.py:49 +#, fuzzy +#| msgid "Unsupported file format: {fmt}" +msgid "Unsupported data file format" +msgstr "Niet-ondersteunde bestandsindeling: {fmt}" -#: company/templates/company/supplier_part.html:246 -msgid "Pricing Information" -msgstr "Prijsinformatie" +#: importer/operations.py:40 +msgid "Failed to open data file" +msgstr "" -#: company/templates/company/supplier_part.html:251 -#: templates/js/translated/company.js:398 -#: templates/js/translated/pricing.js:684 -msgid "Add Price Break" +#: importer/operations.py:51 +msgid "Invalid data file dimensions" msgstr "" -#: company/templates/company/supplier_part.html:276 -msgid "Supplier Part QR Code" +#: importer/serializers.py:135 +msgid "Rows" msgstr "" -#: company/templates/company/supplier_part.html:287 -msgid "Link Barcode to Supplier Part" +#: importer/serializers.py:136 +msgid "List of row IDs to accept" msgstr "" -#: company/templates/company/supplier_part.html:359 -msgid "Update Part Availability" +#: importer/serializers.py:149 +#, fuzzy +#| msgid "No data rows provided" +msgid "No rows provided" +msgstr "Geen data rijen opgegeven" + +#: importer/serializers.py:153 +msgid "Row does not belong to this session" msgstr "" -#: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:831 part/stocktake.py:224 -#: part/templates/part/category.html:183 -#: part/templates/part/category_sidebar.html:17 stock/admin.py:68 -#: stock/serializers.py:918 stock/serializers.py:1091 -#: stock/templates/stock/location.html:170 -#: 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:1061 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 -#: users/models.py:206 -msgid "Stock Items" -msgstr "Voorraadartikelen" +#: importer/serializers.py:156 +msgid "Row contains invalid data" +msgstr "" -#: company/templates/company/supplier_part_sidebar.html:9 -msgid "Supplier Part Pricing" +#: importer/serializers.py:159 +#, fuzzy +#| msgid "This build output has already been completed" +msgid "Row has already been completed" +msgstr "Deze productieuitvoer is al voltooid" + +#: importer/status_codes.py:11 +msgid "Initializing" msgstr "" -#: company/views.py:32 -msgid "New Supplier" +#: importer/status_codes.py:12 +msgid "Mapping Columns" msgstr "" -#: company/views.py:38 -msgid "New Manufacturer" -msgstr "Nieuwe fabrikant" +#: importer/status_codes.py:13 +#, fuzzy +#| msgid "Completion Date" +msgid "Importing Data" +msgstr "Opleveringsdatum" -#: company/views.py:43 templates/InvenTree/search.html:210 -#: templates/navbar.html:60 -msgid "Customers" -msgstr "Klanten" +#: importer/status_codes.py:16 +msgid "Processing Data" +msgstr "" -#: company/views.py:44 -msgid "New Customer" -msgstr "Nieuwe Klant" +#: importer/validators.py:21 +#, fuzzy +#| msgid "Image download exceeded maximum size" +msgid "Data file exceeds maximum size limit" +msgstr "Beelddownload overschrijdt de maximale grootte" -#: company/views.py:52 -msgid "New Company" -msgstr "Nieuw Bedrijf" +#: importer/validators.py:26 +msgid "Data file contains no headers" +msgstr "" -#: generic/states/tests.py:18 order/status_codes.py:13 -msgid "Placed" -msgstr "Geplaatst" +#: importer/validators.py:29 +msgid "Data file contains too many columns" +msgstr "" + +#: importer/validators.py:32 +msgid "Data file contains too many rows" +msgstr "" + +#: importer/validators.py:49 +#, fuzzy +#| msgid "Metadata must be a python dict object" +msgid "Value must be a valid dictionary object" +msgstr "Metadata moeten een python dict object zijn" #: machine/machine_types/label_printer.py:212 msgid "Copies" @@ -4783,7 +5042,7 @@ msgstr "" msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:229 order/api.py:1467 +#: machine/machine_types/label_printer.py:229 order/api.py:1388 #: templates/js/translated/sales_order.js:1078 msgid "Unknown" msgstr "" @@ -4852,10 +5111,6 @@ msgstr "" msgid "Initialized" msgstr "" -#: machine/models.py:110 -msgid "Errors" -msgstr "" - #: machine/models.py:117 msgid "Machine status" msgstr "" @@ -4881,44 +5136,44 @@ msgstr "" msgid "Total Price" msgstr "Totaalprijs" -#: order/api.py:157 order/serializers.py:90 +#: order/api.py:149 order/serializers.py:94 #: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:113 #: order/templates/order/sales_order_base.html:122 msgid "Order Status" msgstr "" -#: order/api.py:161 templates/js/translated/table_filters.js:194 -#: templates/js/translated/table_filters.js:779 +#: order/api.py:153 templates/js/translated/table_filters.js:194 +#: templates/js/translated/table_filters.js:784 msgid "Has Pricing" msgstr "" -#: order/api.py:236 +#: order/api.py:228 msgid "No matching purchase order found" msgstr "" -#: order/api.py:435 order/api.py:801 order/models.py:1395 order/models.py:1504 -#: order/models.py:1550 order/models.py:1664 order/models.py:1818 -#: order/models.py:2231 order/models.py:2282 +#: order/api.py:417 order/api.py:755 order/models.py:1400 order/models.py:1514 +#: order/models.py:1565 order/models.py:1680 order/models.py:1839 +#: order/models.py:2258 order/models.py:2314 #: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "" -#: order/api.py:439 order/api.py:822 +#: order/api.py:421 order/api.py:776 msgid "Order Complete" msgstr "" -#: order/api.py:462 +#: order/api.py:444 msgid "Order Pending" msgstr "" -#: order/api.py:1461 order/models.py:380 order/models.py:1396 -#: order/models.py:1505 order/templates/order/order_base.html:9 +#: order/api.py:1382 order/models.py:380 order/models.py:1401 +#: order/models.py:1515 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 -#: stock/serializers.py:118 stock/templates/stock/item_base.html:176 +#: stock/serializers.py:120 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/part.js:1746 templates/js/translated/pricing.js:804 +#: templates/js/translated/part.js:1749 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:1673 @@ -4926,8 +5181,8 @@ msgstr "" msgid "Purchase Order" msgstr "Inkooporder" -#: order/api.py:1465 order/models.py:1981 order/models.py:2232 -#: order/models.py:2283 order/templates/order/return_order_base.html:9 +#: order/api.py:1386 order/models.py:2007 order/models.py:2259 +#: order/models.py:2315 order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report.html:13 #: templates/js/translated/return_order.js:280 @@ -4939,11 +5194,11 @@ msgstr "" msgid "Total price for this order" msgstr "" -#: order/models.py:96 order/serializers.py:70 +#: order/models.py:96 order/serializers.py:72 msgid "Order Currency" msgstr "" -#: order/models.py:99 order/serializers.py:71 +#: order/models.py:99 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" @@ -4959,7 +5214,7 @@ msgstr "" msgid "Select project code for this order" msgstr "" -#: order/models.py:303 order/models.py:1301 order/models.py:1717 +#: order/models.py:303 order/models.py:1301 order/models.py:1733 msgid "Link to external page" msgstr "Link naar externe pagina" @@ -5008,15 +5263,15 @@ msgstr "Order referentiecode van leverancier" msgid "received by" msgstr "ontvangen door" -#: order/models.py:514 order/models.py:2058 +#: order/models.py:514 order/models.py:2084 msgid "Issue Date" msgstr "Datum van uitgifte" -#: order/models.py:515 order/models.py:2059 +#: order/models.py:515 order/models.py:2085 msgid "Date order was issued" msgstr "Order uitgegeven op datum" -#: order/models.py:522 order/models.py:2066 +#: order/models.py:522 order/models.py:2092 msgid "Date order was completed" msgstr "Order voltooid op datum" @@ -5032,15 +5287,15 @@ msgstr "Hoeveelheid moet een positief getal zijn" msgid "Company to which the items are being sold" msgstr "Bedrijf waaraan de artikelen worden verkocht" -#: order/models.py:962 order/models.py:2051 +#: order/models.py:962 order/models.py:2077 msgid "Customer Reference " msgstr "Klantreferentie " -#: order/models.py:963 order/models.py:2052 +#: order/models.py:963 order/models.py:2078 msgid "Customer order reference code" msgstr "Klant order referentiecode" -#: order/models.py:967 order/models.py:1671 +#: order/models.py:967 order/models.py:1687 #: templates/js/translated/sales_order.js:879 #: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" @@ -5102,20 +5357,26 @@ msgstr "Additionele context voor deze regel" msgid "Unit price" msgstr "Stukprijs" -#: order/models.py:1380 +#: order/models.py:1361 +#, fuzzy +#| msgid "Purchase Order Items" +msgid "Purchase Order Line Item" +msgstr "Inkooporder Artikelen" + +#: order/models.py:1385 msgid "Supplier part must match supplier" msgstr "Leveranciersonderdeel moet overeenkomen met leverancier" -#: order/models.py:1387 +#: order/models.py:1392 msgid "deleted" msgstr "verwijderd" -#: order/models.py:1415 +#: order/models.py:1420 msgid "Supplier part" msgstr "Leveranciersonderdeel" -#: order/models.py:1422 order/templates/order/order_base.html:196 -#: templates/js/translated/part.js:1870 templates/js/translated/part.js:1902 +#: order/models.py:1427 order/templates/order/order_base.html:196 +#: templates/js/translated/part.js:1873 templates/js/translated/part.js:1905 #: templates/js/translated/purchase_order.js:1306 #: templates/js/translated/purchase_order.js:2169 #: templates/js/translated/return_order.js:763 @@ -5124,196 +5385,238 @@ msgstr "Leveranciersonderdeel" msgid "Received" msgstr "Ontvangen" -#: order/models.py:1423 +#: order/models.py:1428 msgid "Number of items received" msgstr "Aantal ontvangen artikelen" -#: order/models.py:1431 stock/models.py:939 stock/serializers.py:556 +#: order/models.py:1436 stock/models.py:939 stock/serializers.py:602 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2311 msgid "Purchase Price" msgstr "Inkoopprijs" -#: order/models.py:1432 +#: order/models.py:1437 msgid "Unit purchase price" msgstr "Aankoopprijs per stuk" -#: order/models.py:1447 +#: order/models.py:1452 msgid "Where does the Purchaser want this item to be stored?" msgstr "Waar wil de inkoper dat dit artikel opgeslagen wordt?" -#: order/models.py:1538 +#: order/models.py:1503 +#, fuzzy +#| msgid "Purchase Order Items" +msgid "Purchase Order Extra Line" +msgstr "Inkooporder Artikelen" + +#: order/models.py:1532 +#, fuzzy +#| msgid "Sales Order Items" +msgid "Sales Order Line Item" +msgstr "Verkooporder Artikelen" + +#: order/models.py:1553 msgid "Virtual part cannot be assigned to a sales order" msgstr "Virtueel onderdeel kan niet worden toegewezen aan een verkooporder" -#: order/models.py:1543 +#: order/models.py:1558 msgid "Only salable parts can be assigned to a sales order" msgstr "Alleen verkoopbare onderdelen kunnen aan een verkooporder worden toegewezen" -#: order/models.py:1569 part/templates/part/part_pricing.html:107 +#: order/models.py:1584 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:1570 +#: order/models.py:1585 msgid "Unit sale price" msgstr "Prijs per stuk" -#: order/models.py:1579 order/status_codes.py:43 +#: order/models.py:1594 order/status_codes.py:43 #: 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" -#: order/models.py:1580 +#: order/models.py:1595 msgid "Shipped quantity" msgstr "Verzonden hoeveelheid" -#: order/models.py:1672 +#: order/models.py:1667 +#, fuzzy +#| msgid "Sales Order Default Shipment" +msgid "Sales Order Shipment" +msgstr "Standaard Verzending Verkooporder" + +#: order/models.py:1688 msgid "Date of shipment" msgstr "Datum van verzending" -#: order/models.py:1678 templates/js/translated/sales_order.js:1072 +#: order/models.py:1694 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "" -#: order/models.py:1679 +#: order/models.py:1695 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1687 +#: order/models.py:1703 msgid "Checked By" msgstr "Gecontroleerd door" -#: order/models.py:1688 +#: order/models.py:1704 msgid "User who checked this shipment" msgstr "Gebruiker die deze zending gecontroleerd heeft" -#: order/models.py:1695 order/models.py:1908 order/serializers.py:1342 -#: order/serializers.py:1452 templates/js/translated/model_renderers.js:454 +#: order/models.py:1711 order/models.py:1934 order/serializers.py:1398 +#: order/serializers.py:1508 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "Zending" -#: order/models.py:1696 +#: order/models.py:1712 msgid "Shipment number" msgstr "Zendingsnummer" -#: order/models.py:1704 +#: order/models.py:1720 msgid "Tracking Number" msgstr "Volgnummer" -#: order/models.py:1705 +#: order/models.py:1721 msgid "Shipment tracking information" msgstr "Zending volginformatie" -#: order/models.py:1712 +#: order/models.py:1728 msgid "Invoice Number" msgstr "Factuurnummer" -#: order/models.py:1713 +#: order/models.py:1729 msgid "Reference number for associated invoice" msgstr "Referentienummer voor bijbehorende factuur" -#: order/models.py:1733 +#: order/models.py:1749 msgid "Shipment has already been sent" msgstr "Verzending is al verzonden" -#: order/models.py:1736 +#: order/models.py:1752 msgid "Shipment has no allocated stock items" msgstr "Zending heeft geen toegewezen voorraadartikelen" -#: order/models.py:1854 order/models.py:1856 +#: order/models.py:1828 +#, fuzzy +#| msgid "Sales Order Items" +msgid "Sales Order Extra Line" +msgstr "Verkooporder Artikelen" + +#: order/models.py:1857 +#, fuzzy +#| msgid "Sales Order Allocations" +msgid "Sales Order Allocation" +msgstr "Verkoopordertoewijzingen" + +#: order/models.py:1880 order/models.py:1882 msgid "Stock item has not been assigned" msgstr "Voorraadartikel is niet toegewezen" -#: order/models.py:1863 +#: order/models.py:1889 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:1866 +#: order/models.py:1892 msgid "Cannot allocate stock to a line without a part" msgstr "Kan voorraad niet toewijzen aan een regel zonder onderdeel" -#: order/models.py:1869 +#: order/models.py:1895 msgid "Allocation quantity cannot exceed stock quantity" msgstr "Toewijzingshoeveelheid kan niet hoger zijn dan de voorraadhoeveelheid" -#: order/models.py:1888 order/serializers.py:1219 +#: order/models.py:1914 order/serializers.py:1275 msgid "Quantity must be 1 for serialized stock item" msgstr "Hoeveelheid moet 1 zijn voor geserialiseerd voorraadartikel" -#: order/models.py:1891 +#: order/models.py:1917 msgid "Sales order does not match shipment" msgstr "Verkooporder komt niet overeen met zending" -#: order/models.py:1892 plugin/base/barcodes/api.py:481 +#: order/models.py:1918 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "Verzending komt niet overeen met verkooporder" -#: order/models.py:1900 +#: order/models.py:1926 msgid "Line" msgstr "Regel" -#: order/models.py:1909 +#: order/models.py:1935 msgid "Sales order shipment reference" msgstr "Verzendreferentie verkooporder" -#: order/models.py:1922 order/models.py:2239 +#: order/models.py:1948 order/models.py:2266 #: templates/js/translated/return_order.js:721 msgid "Item" msgstr "Artikel" -#: order/models.py:1923 +#: order/models.py:1949 msgid "Select stock item to allocate" msgstr "Selecteer voorraadartikel om toe te wijzen" -#: order/models.py:1932 +#: order/models.py:1958 msgid "Enter stock allocation quantity" msgstr "Voer voorraadtoewijzingshoeveelheid in" -#: order/models.py:2021 +#: order/models.py:2047 msgid "Return Order reference" msgstr "" -#: order/models.py:2033 +#: order/models.py:2059 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2045 +#: order/models.py:2071 msgid "Return order status" msgstr "" -#: order/models.py:2224 +#: order/models.py:2237 +#, fuzzy +#| msgid "Return Order Reference Pattern" +msgid "Return Order Line Item" +msgstr "Retourorder referentie patroon" + +#: order/models.py:2251 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2240 +#: order/models.py:2267 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2246 +#: order/models.py:2273 msgid "Received Date" msgstr "" -#: order/models.py:2247 +#: order/models.py:2274 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2258 templates/js/translated/return_order.js:732 +#: order/models.py:2285 templates/js/translated/return_order.js:732 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2259 +#: order/models.py:2286 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2266 +#: order/models.py:2293 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:79 order/templates/order/po_sidebar.html:5 +#: order/models.py:2303 +#, fuzzy +#| msgid "Add Extra Line" +msgid "Return Order Extra Line" +msgstr "Extra Regel Toevoegen" + +#: order/serializers.py:83 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_purchase_order_report.html:22 @@ -5322,163 +5625,173 @@ msgstr "" msgid "Line Items" msgstr "Artikelen" -#: order/serializers.py:83 +#: order/serializers.py:87 msgid "Completed Lines" msgstr "" -#: order/serializers.py:286 +#: order/serializers.py:305 msgid "Order cannot be cancelled" msgstr "Order kan niet worden geannuleerd" -#: order/serializers.py:301 order/serializers.py:1235 +#: order/serializers.py:320 order/serializers.py:1291 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:311 order/serializers.py:1245 +#: order/serializers.py:330 order/serializers.py:1301 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:439 +#: order/serializers.py:468 msgid "Order is not open" msgstr "Order is niet open" -#: order/serializers.py:460 +#: order/serializers.py:489 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:462 +#: order/serializers.py:491 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:472 +#: order/serializers.py:501 msgid "Purchase price currency" msgstr "Valuta Inkoopprijs" -#: order/serializers.py:478 +#: order/serializers.py:507 msgid "Merge Items" msgstr "" -#: order/serializers.py:480 +#: order/serializers.py:509 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:498 +#: order/serializers.py:522 part/models.py:945 +msgid "Internal Part Number" +msgstr "Intern Onderdeelnummer" + +#: order/serializers.py:530 +#, fuzzy +#| msgid "Internal Part Number" +msgid "Internal Part Name" +msgstr "Intern Onderdeelnummer" + +#: order/serializers.py:546 msgid "Supplier part must be specified" msgstr "Leveranciersonderdeel moet worden gespecificeerd" -#: order/serializers.py:501 +#: order/serializers.py:549 msgid "Purchase order must be specified" msgstr "Inkooporder moet worden gespecificeerd" -#: order/serializers.py:509 +#: order/serializers.py:557 msgid "Supplier must match purchase order" msgstr "De leverancier moet overeenkomen met de inkooporder" -#: order/serializers.py:510 +#: order/serializers.py:558 msgid "Purchase order must match supplier" msgstr "Inkooporder moet overeenkomen met de leverancier" -#: order/serializers.py:549 order/serializers.py:1313 +#: order/serializers.py:598 order/serializers.py:1369 msgid "Line Item" msgstr "Artikel" -#: order/serializers.py:555 +#: order/serializers.py:604 msgid "Line item does not match purchase order" msgstr "Artikelregel komt niet overeen met inkooporder" -#: order/serializers.py:565 order/serializers.py:673 order/serializers.py:1657 +#: order/serializers.py:614 order/serializers.py:722 order/serializers.py:1715 msgid "Select destination location for received items" msgstr "Selecteer bestemmingslocatie voor ontvangen artikelen" -#: order/serializers.py:581 templates/js/translated/purchase_order.js:1130 +#: order/serializers.py:630 templates/js/translated/purchase_order.js:1130 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:589 templates/js/translated/purchase_order.js:1154 +#: order/serializers.py:638 templates/js/translated/purchase_order.js:1154 msgid "Enter serial numbers for incoming stock items" msgstr "Voer serienummers in voor inkomende voorraadartikelen" -#: order/serializers.py:600 templates/js/translated/barcode.js:52 +#: order/serializers.py:649 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:601 +#: order/serializers.py:650 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:617 +#: order/serializers.py:666 msgid "Barcode is already in use" msgstr "Streepjescode is al in gebruik" -#: order/serializers.py:641 +#: order/serializers.py:690 msgid "An integer quantity must be provided for trackable parts" msgstr "Hoeveelheid als geheel getal vereist voor traceerbare onderdelen" -#: order/serializers.py:689 order/serializers.py:1673 +#: order/serializers.py:738 order/serializers.py:1731 msgid "Line items must be provided" msgstr "Artikelen moeten worden opgegeven" -#: order/serializers.py:705 +#: order/serializers.py:754 msgid "Destination location must be specified" msgstr "Bestemmingslocatie moet worden opgegeven" -#: order/serializers.py:716 +#: order/serializers.py:765 msgid "Supplied barcode values must be unique" msgstr "Geleverde streepjescodewaarden moeten uniek zijn" -#: order/serializers.py:1062 +#: order/serializers.py:1117 msgid "Sale price currency" msgstr "Valuta verkoopprijs" -#: order/serializers.py:1122 +#: order/serializers.py:1178 msgid "No shipment details provided" msgstr "Geen verzenddetails opgegeven" -#: order/serializers.py:1183 order/serializers.py:1322 +#: order/serializers.py:1239 order/serializers.py:1378 msgid "Line item is not associated with this order" msgstr "Artikelregel is niet gekoppeld aan deze bestelling" -#: order/serializers.py:1202 +#: order/serializers.py:1258 msgid "Quantity must be positive" msgstr "Hoeveelheid moet positief zijn" -#: order/serializers.py:1332 +#: order/serializers.py:1388 msgid "Enter serial numbers to allocate" msgstr "Voer serienummers in om toe te wijzen" -#: order/serializers.py:1354 order/serializers.py:1460 +#: order/serializers.py:1410 order/serializers.py:1516 msgid "Shipment has already been shipped" msgstr "Verzending is al verzonden" -#: order/serializers.py:1357 order/serializers.py:1463 +#: order/serializers.py:1413 order/serializers.py:1519 msgid "Shipment is not associated with this order" msgstr "Zending is niet gekoppeld aan deze bestelling" -#: order/serializers.py:1404 +#: order/serializers.py:1460 msgid "No match found for the following serial numbers" msgstr "Geen overeenkomst gevonden voor de volgende serienummers" -#: order/serializers.py:1411 +#: order/serializers.py:1467 msgid "The following serial numbers are already allocated" msgstr "De volgende serienummers zijn al toegewezen" -#: order/serializers.py:1627 +#: order/serializers.py:1685 msgid "Return order line item" msgstr "" -#: order/serializers.py:1633 +#: order/serializers.py:1691 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1636 +#: order/serializers.py:1694 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1665 +#: order/serializers.py:1723 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1743 +#: order/serializers.py:1806 msgid "Line price currency" msgstr "" @@ -5808,7 +6121,7 @@ msgstr "Klantreferentie" #: 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:1073 +#: templates/js/translated/part.js:1076 #: templates/js/translated/purchase_order.js:1752 #: templates/js/translated/return_order.js:380 #: templates/js/translated/sales_order.js:891 @@ -5904,34 +6217,29 @@ msgstr "{part} stukprijs bijgewerkt naar {price}" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "{part} stukprijs bijgewerkt naar {price} en aantal naar {qty}" -#: part/admin.py:39 part/admin.py:398 part/models.py:3944 part/stocktake.py:219 +#: part/admin.py:39 part/admin.py:398 part/models.py:3991 part/stocktake.py:219 #: stock/admin.py:152 msgid "Part ID" msgstr "Onderdeel-id" -#: part/admin.py:41 part/admin.py:405 part/models.py:3945 part/stocktake.py:220 -#: stock/admin.py:156 -msgid "Part Name" -msgstr "Onderdeel naam" - #: part/admin.py:45 part/stocktake.py:221 msgid "Part Description" msgstr "Onderdeel omschrijving" -#: part/admin.py:48 part/models.py:940 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:944 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 -#: templates/js/translated/part.js:1227 templates/js/translated/part.js:2341 +#: templates/js/translated/part.js:1230 templates/js/translated/part.js:2344 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:949 part/templates/part/part_base.html:277 -#: report/models.py:162 templates/js/translated/part.js:1232 -#: templates/js/translated/part.js:2347 +#: part/admin.py:50 part/models.py:953 part/templates/part/part_base.html:277 +#: report/models.py:162 templates/js/translated/part.js:1235 +#: templates/js/translated/part.js:2350 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:319 part/models.py:922 +#: part/admin.py:53 part/admin.py:319 part/models.py:926 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5944,7 +6252,8 @@ msgstr "" msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:304 part/stocktake.py:223 +#: part/admin.py:67 part/admin.py:304 part/serializers.py:837 +#: part/stocktake.py:223 msgid "Category Name" msgstr "" @@ -5956,11 +6265,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:908 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:912 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1036 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1040 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5968,18 +6277,19 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:150 part/templates/part/part_base.html:241 stock/admin.py:235 -#: templates/js/translated/part.js:715 templates/js/translated/part.js:2153 +#: part/admin.py:150 part/serializers.py:854 +#: part/templates/part/part_base.html:241 stock/admin.py:235 +#: templates/js/translated/part.js:714 templates/js/translated/part.js:2156 msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3088 part/models.py:3102 -#: templates/js/translated/part.js:970 +#: part/admin.py:155 part/models.py:3098 part/models.py:3112 +#: templates/js/translated/part.js:973 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3095 part/models.py:3109 -#: templates/js/translated/part.js:980 +#: part/admin.py:158 part/models.py:3105 part/models.py:3119 +#: templates/js/translated/part.js:983 msgid "Maximum Cost" msgstr "" @@ -5996,14 +6306,14 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:396 part/serializers.py:124 -#: part/serializers.py:267 part/serializers.py:386 +#: part/admin.py:325 part/models.py:397 part/serializers.py:130 +#: part/serializers.py:282 part/serializers.py:404 #: 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:2807 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:203 msgid "Parts" msgstr "Onderdelen" @@ -6020,125 +6330,117 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:402 part/models.py:3946 -msgid "Part IPN" -msgstr "" - -#: part/admin.py:415 part/serializers.py:1274 +#: part/admin.py:415 part/serializers.py:1302 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:420 part/serializers.py:1289 +#: part/admin.py:420 part/serializers.py:1317 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "" -#: part/api.py:104 +#: part/api.py:105 msgid "Starred" msgstr "" -#: part/api.py:106 +#: part/api.py:107 msgid "Filter by starred categories" msgstr "" -#: part/api.py:123 stock/api.py:312 +#: part/api.py:124 stock/api.py:312 msgid "Depth" msgstr "" -#: part/api.py:123 +#: part/api.py:124 msgid "Filter by category depth" msgstr "" -#: part/api.py:141 stock/api.py:330 +#: part/api.py:142 stock/api.py:330 msgid "Top Level" msgstr "" -#: part/api.py:143 +#: part/api.py:144 msgid "Filter by top-level categories" msgstr "" -#: part/api.py:156 stock/api.py:345 +#: part/api.py:157 stock/api.py:345 msgid "Cascade" msgstr "" -#: part/api.py:158 +#: part/api.py:159 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:179 templates/js/translated/part.js:308 +#: part/api.py:180 templates/js/translated/part.js:307 msgid "Parent" msgstr "" -#: part/api.py:181 +#: part/api.py:182 msgid "Filter by parent category" msgstr "" -#: part/api.py:214 +#: part/api.py:215 msgid "Exclude Tree" msgstr "" -#: part/api.py:216 +#: part/api.py:217 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:449 +#: part/api.py:442 msgid "Has Results" msgstr "" -#: part/api.py:616 +#: part/api.py:609 msgid "Incoming Purchase Order" msgstr "Binnenkomende Inkooporder" -#: part/api.py:634 +#: part/api.py:627 msgid "Outgoing Sales Order" msgstr "Uitgaande Verkooporder" -#: part/api.py:650 +#: part/api.py:643 msgid "Stock produced by Build Order" msgstr "Geproduceerde voorraad door Productieorder" -#: part/api.py:734 +#: part/api.py:727 msgid "Stock required for Build Order" msgstr "Voorraad vereist voor Productieorder" -#: part/api.py:881 -msgid "Valid" -msgstr "" - -#: part/api.py:882 +#: part/api.py:875 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:888 +#: part/api.py:881 msgid "This option must be selected" msgstr "" -#: part/api.py:1105 +#: part/api.py:1098 msgid "BOM Valid" msgstr "" -#: part/api.py:1508 part/models.py:932 part/models.py:3374 part/models.py:3889 -#: part/serializers.py:401 part/serializers.py:1130 -#: part/templates/part/part_base.html:260 stock/api.py:791 +#: part/api.py:1494 part/models.py:936 part/models.py:3385 part/models.py:3936 +#: part/serializers.py:419 part/serializers.py:1158 +#: part/templates/part/part_base.html:260 stock/api.py:783 #: 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:2380 msgid "Category" msgstr "" -#: part/api.py:1796 +#: part/api.py:1784 msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:104 part/models.py:975 +#: part/bom.py:170 part/models.py:104 part/models.py:979 #: 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:833 +#: part/bom.py:171 part/serializers.py:861 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "Totale Voorraad" @@ -6147,7 +6449,7 @@ msgstr "Totale Voorraad" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:85 part/models.py:3890 part/templates/part/category.html:16 +#: part/models.py:85 part/models.py:3937 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Onderdeel Categorie" @@ -6162,7 +6464,7 @@ msgstr "Onderdeel Categorieën" msgid "Default location for parts in this category" msgstr "Standaard locatie voor onderdelen in deze categorie" -#: part/models.py:110 stock/models.py:175 templates/js/translated/part.js:2810 +#: part/models.py:110 stock/models.py:175 templates/js/translated/part.js:2813 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 @@ -6194,1002 +6496,1047 @@ msgstr "" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:485 +#: part/models.py:486 +msgid "Cannot delete this part as it is locked" +msgstr "" + +#: part/models.py:489 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:490 +#: part/models.py:494 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:528 +#: part/models.py:532 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:576 part/models.py:583 +#: part/models.py:580 part/models.py:587 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:595 +#: part/models.py:599 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:658 +#: part/models.py:662 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:736 +#: part/models.py:740 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:837 +#: part/models.py:841 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:847 +#: part/models.py:851 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:862 +#: part/models.py:866 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:891 part/models.py:3945 +#: part/models.py:895 part/models.py:3992 msgid "Part name" msgstr "Onderdeel naam" -#: part/models.py:896 +#: part/models.py:900 msgid "Is Template" msgstr "" -#: part/models.py:897 +#: part/models.py:901 msgid "Is this part a template part?" msgstr "" -#: part/models.py:907 +#: part/models.py:911 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:915 +#: part/models.py:919 msgid "Part description (optional)" msgstr "" -#: part/models.py:923 +#: part/models.py:927 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:933 +#: part/models.py:937 msgid "Part category" msgstr "Onderdeel Categorie" -#: part/models.py:941 -msgid "Internal Part Number" -msgstr "Intern Onderdeelnummer" - -#: part/models.py:948 +#: part/models.py:952 msgid "Part revision or version number" msgstr "" -#: part/models.py:973 +#: part/models.py:977 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1019 part/templates/part/part_base.html:376 +#: part/models.py:1023 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:1020 +#: part/models.py:1024 msgid "Default supplier part" msgstr "Standaardleverancier" -#: part/models.py:1027 +#: part/models.py:1031 msgid "Default Expiry" msgstr "" -#: part/models.py:1028 +#: part/models.py:1032 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1037 +#: part/models.py:1041 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1046 +#: part/models.py:1050 msgid "Units of measure for this part" msgstr "Eenheden voor dit onderdeel" -#: part/models.py:1053 +#: part/models.py:1057 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1059 +#: part/models.py:1063 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1065 +#: part/models.py:1069 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1071 +#: part/models.py:1075 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1077 +#: part/models.py:1081 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1081 +#: part/models.py:1085 msgid "Is this part active?" msgstr "" -#: part/models.py:1087 +#: part/models.py:1090 templates/js/translated/part.js:818 +#: templates/js/translated/table_filters.js:721 +#, fuzzy +#| msgid "Tracked" +msgid "Locked" +msgstr "Gevolgd" + +#: part/models.py:1091 +msgid "Locked parts cannot be edited" +msgstr "" + +#: part/models.py:1097 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1093 +#: part/models.py:1103 msgid "BOM checksum" msgstr "" -#: part/models.py:1094 +#: part/models.py:1104 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1102 +#: part/models.py:1112 msgid "BOM checked by" msgstr "" -#: part/models.py:1107 +#: part/models.py:1117 msgid "BOM checked date" msgstr "" -#: part/models.py:1123 +#: part/models.py:1133 msgid "Creation User" msgstr "" -#: part/models.py:1133 +#: part/models.py:1143 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1138 part/templates/part/part_base.html:339 +#: part/models.py:1148 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:2474 msgid "Last Stocktake" msgstr "" -#: part/models.py:2011 +#: part/models.py:2021 msgid "Sell multiple" msgstr "" -#: part/models.py:3002 +#: part/models.py:3012 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3018 +#: part/models.py:3028 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3019 +#: part/models.py:3029 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3025 +#: part/models.py:3035 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3026 +#: part/models.py:3036 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3032 +#: part/models.py:3042 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3033 +#: part/models.py:3043 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3039 +#: part/models.py:3049 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3040 +#: part/models.py:3050 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3046 +#: part/models.py:3056 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3047 +#: part/models.py:3057 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3053 +#: part/models.py:3063 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3054 +#: part/models.py:3064 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3060 +#: part/models.py:3070 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3061 +#: part/models.py:3071 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3067 +#: part/models.py:3077 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3068 +#: part/models.py:3078 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3074 +#: part/models.py:3084 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3075 +#: part/models.py:3085 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3081 +#: part/models.py:3091 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3082 +#: part/models.py:3092 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3089 +#: part/models.py:3099 msgid "Override minimum cost" msgstr "" -#: part/models.py:3096 +#: part/models.py:3106 msgid "Override maximum cost" msgstr "" -#: part/models.py:3103 +#: part/models.py:3113 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3110 +#: part/models.py:3120 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3116 +#: part/models.py:3126 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3117 +#: part/models.py:3127 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3123 +#: part/models.py:3133 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3124 +#: part/models.py:3134 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3130 +#: part/models.py:3140 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3131 +#: part/models.py:3141 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3137 +#: part/models.py:3147 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3138 +#: part/models.py:3148 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3157 +#: part/models.py:3167 msgid "Part for stocktake" msgstr "Onderdeel voor voorraadcontrole" -#: part/models.py:3162 +#: part/models.py:3172 msgid "Item Count" msgstr "" -#: part/models.py:3163 +#: part/models.py:3173 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3171 +#: part/models.py:3181 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3175 part/models.py:3258 +#: part/models.py:3185 part/models.py:3268 #: part/templates/part/part_scheduling.html:13 #: 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:1086 templates/js/translated/pricing.js:826 +#: templates/js/translated/part.js:1089 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 #: templates/js/translated/purchase_order.js:1731 #: templates/js/translated/stock.js:2821 msgid "Date" msgstr "Datum" -#: part/models.py:3176 +#: part/models.py:3186 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3184 +#: part/models.py:3194 msgid "Additional notes" msgstr "" -#: part/models.py:3194 +#: part/models.py:3204 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3200 +#: part/models.py:3210 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3201 +#: part/models.py:3211 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3207 +#: part/models.py:3217 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3208 +#: part/models.py:3218 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3264 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3274 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3265 +#: part/models.py:3275 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3270 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3280 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "Aantal onderdelen" -#: part/models.py:3271 +#: part/models.py:3281 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3281 +#: part/models.py:3291 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3423 +#: part/models.py:3301 +#, fuzzy +#| msgid "Sale Price" +msgid "Part Sale Price Break" +msgstr "Verkoopprijs" + +#: part/models.py:3413 +#, fuzzy +#| msgid "Batch Code Template" +msgid "Part Test Template" +msgstr "Batchcode Sjabloon" + +#: part/models.py:3439 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3444 part/models.py:3608 +#: part/models.py:3460 part/models.py:3629 msgid "Choices must be unique" msgstr "" -#: part/models.py:3455 +#: part/models.py:3471 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3466 +#: part/models.py:3482 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3483 templates/js/translated/part.js:2880 +#: part/models.py:3499 templates/js/translated/part.js:2883 msgid "Test Name" msgstr "" -#: part/models.py:3484 +#: part/models.py:3500 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3490 +#: part/models.py:3506 msgid "Test Key" msgstr "" -#: part/models.py:3491 +#: part/models.py:3507 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3498 +#: part/models.py:3514 msgid "Test Description" msgstr "" -#: part/models.py:3499 +#: part/models.py:3515 msgid "Enter description for this test" msgstr "" -#: part/models.py:3503 report/models.py:209 -#: templates/js/translated/part.js:2901 +#: part/models.py:3519 report/models.py:209 +#: templates/js/translated/part.js:2904 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "Ingeschakeld" -#: part/models.py:3503 +#: part/models.py:3519 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3508 templates/js/translated/part.js:2909 +#: part/models.py:3524 templates/js/translated/part.js:2912 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3509 +#: part/models.py:3525 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3514 templates/js/translated/part.js:2917 +#: part/models.py:3530 templates/js/translated/part.js:2920 msgid "Requires Value" msgstr "" -#: part/models.py:3515 +#: part/models.py:3531 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3520 templates/js/translated/part.js:2924 +#: part/models.py:3536 templates/js/translated/part.js:2927 msgid "Requires Attachment" msgstr "" -#: part/models.py:3522 +#: part/models.py:3538 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3528 part/models.py:3667 templates/js/translated/part.js:1637 +#: part/models.py:3544 part/models.py:3688 templates/js/translated/part.js:1640 msgid "Choices" msgstr "" -#: part/models.py:3529 +#: part/models.py:3545 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3583 +#: part/models.py:3577 +#, fuzzy +#| msgid "Copy Category Parameter Templates" +msgid "Part Parameter Template" +msgstr "Kopiëer Categorieparameter Sjablonen" + +#: part/models.py:3604 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3588 +#: part/models.py:3609 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3625 +#: part/models.py:3646 msgid "Parameter template name must be unique" msgstr "De template van de parameter moet uniek zijn" -#: part/models.py:3640 +#: part/models.py:3661 msgid "Parameter Name" msgstr "Parameternaam" -#: part/models.py:3647 +#: part/models.py:3668 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3655 +#: part/models.py:3676 msgid "Parameter description" msgstr "" -#: part/models.py:3661 templates/js/translated/part.js:1628 -#: templates/js/translated/table_filters.js:825 +#: part/models.py:3682 templates/js/translated/part.js:1631 +#: templates/js/translated/table_filters.js:830 msgid "Checkbox" msgstr "" -#: part/models.py:3662 +#: part/models.py:3683 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3668 +#: part/models.py:3689 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3745 +#: part/models.py:3723 +#, fuzzy +#| msgid "Part Parameters" +msgid "Part Parameter" +msgstr "Onderdeel Parameters" + +#: part/models.py:3749 +msgid "Parameter cannot be modified - part is locked" +msgstr "" + +#: part/models.py:3785 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3788 +#: part/models.py:3828 msgid "Parent Part" msgstr "" -#: part/models.py:3796 part/models.py:3897 part/models.py:3898 +#: part/models.py:3836 part/models.py:3944 part/models.py:3945 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3801 -msgid "Data" -msgstr "" - -#: part/models.py:3802 +#: part/models.py:3842 msgid "Parameter Value" msgstr "Parameterwaarde" -#: part/models.py:3904 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3892 +#, fuzzy +#| msgid "Copy Category Parameter Templates" +msgid "Part Category Parameter Template" +msgstr "Kopiëer Categorieparameter Sjablonen" + +#: part/models.py:3951 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3905 +#: part/models.py:3952 msgid "Default Parameter Value" msgstr "Standaard Parameter Waarde" -#: part/models.py:3943 +#: part/models.py:3990 msgid "Part ID or part name" msgstr "" -#: part/models.py:3944 +#: part/models.py:3991 msgid "Unique part ID value" msgstr "" -#: part/models.py:3946 +#: part/models.py:3993 msgid "Part IPN value" msgstr "" -#: part/models.py:3947 +#: part/models.py:3994 msgid "Level" msgstr "" -#: part/models.py:3947 +#: part/models.py:3994 msgid "BOM level" msgstr "" -#: part/models.py:4037 +#: part/models.py:4105 +msgid "BOM item cannot be modified - assembly is locked" +msgstr "" + +#: part/models.py:4112 +msgid "BOM item cannot be modified - variant assembly is locked" +msgstr "" + +#: part/models.py:4122 msgid "Select parent part" msgstr "" -#: part/models.py:4047 +#: part/models.py:4132 msgid "Sub part" msgstr "" -#: part/models.py:4048 +#: part/models.py:4133 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4059 +#: part/models.py:4144 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4065 +#: part/models.py:4150 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4071 +#: part/models.py:4156 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4078 part/templates/part/upload_bom.html:55 +#: part/models.py:4163 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4079 +#: part/models.py:4164 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4086 +#: part/models.py:4171 msgid "BOM item reference" msgstr "" -#: part/models.py:4094 +#: part/models.py:4179 msgid "BOM item notes" msgstr "" -#: part/models.py:4100 +#: part/models.py:4185 msgid "Checksum" msgstr "" -#: part/models.py:4101 +#: part/models.py:4186 msgid "BOM line checksum" msgstr "" -#: part/models.py:4106 templates/js/translated/table_filters.js:174 +#: part/models.py:4191 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4107 +#: part/models.py:4192 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4112 part/templates/part/upload_bom.html:57 +#: part/models.py:4197 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:4113 +#: part/models.py:4198 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4118 part/templates/part/upload_bom.html:56 +#: part/models.py:4203 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4119 +#: part/models.py:4204 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4204 stock/models.py:663 +#: part/models.py:4289 stock/models.py:663 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4214 part/models.py:4216 +#: part/models.py:4299 part/models.py:4301 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4354 +#: part/models.py:4439 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4375 +#: part/models.py:4460 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4388 +#: part/models.py:4473 msgid "Parent BOM item" msgstr "" -#: part/models.py:4396 +#: part/models.py:4481 msgid "Substitute part" msgstr "" -#: part/models.py:4412 +#: part/models.py:4497 msgid "Part 1" msgstr "" -#: part/models.py:4420 +#: part/models.py:4505 msgid "Part 2" msgstr "" -#: part/models.py:4421 +#: part/models.py:4506 msgid "Select Related Part" msgstr "" -#: part/models.py:4440 +#: part/models.py:4525 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4445 +#: part/models.py:4530 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:118 +#: part/serializers.py:124 msgid "Parent Category" msgstr "" -#: part/serializers.py:119 templates/js/translated/part.js:309 +#: part/serializers.py:125 templates/js/translated/part.js:308 msgid "Parent part category" msgstr "" -#: part/serializers.py:126 part/serializers.py:148 +#: part/serializers.py:132 part/serializers.py:154 #: part/templates/part/category.html:122 part/templates/part/category.html:207 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" -#: part/serializers.py:180 +#: part/serializers.py:189 msgid "Results" msgstr "" -#: part/serializers.py:181 +#: part/serializers.py:190 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:205 part/serializers.py:223 stock/serializers.py:562 +#: part/serializers.py:217 part/serializers.py:235 stock/serializers.py:608 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:268 +#: part/serializers.py:283 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:392 +#: part/serializers.py:410 msgid "No parts selected" msgstr "Geen onderdelen geselecteerd" -#: part/serializers.py:402 +#: part/serializers.py:420 msgid "Select category" msgstr "" -#: part/serializers.py:437 +#: part/serializers.py:455 msgid "Original Part" msgstr "" -#: part/serializers.py:438 +#: part/serializers.py:456 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:461 msgid "Copy Image" msgstr "Afbeelding kopiëren" -#: part/serializers.py:444 +#: part/serializers.py:462 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:468 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:451 +#: part/serializers.py:469 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:457 +#: part/serializers.py:475 msgid "Copy Parameters" msgstr "Parameters kopiëren" -#: part/serializers.py:458 +#: part/serializers.py:476 msgid "Copy parameter data from original part" msgstr "Parameter data kopiëren van het originele onderdeel" -#: part/serializers.py:464 +#: part/serializers.py:482 msgid "Copy Notes" msgstr "" -#: part/serializers.py:465 +#: part/serializers.py:483 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:483 +#: part/serializers.py:501 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:485 +#: part/serializers.py:503 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:492 +#: part/serializers.py:510 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:493 +#: part/serializers.py:511 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:510 +#: part/serializers.py:528 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:526 +#: part/serializers.py:544 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:536 +#: part/serializers.py:554 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:543 +#: part/serializers.py:561 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:552 +#: part/serializers.py:570 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:563 +#: part/serializers.py:581 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:570 +#: part/serializers.py:588 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:834 -msgid "External Stock" -msgstr "" - -#: part/serializers.py:836 +#: part/serializers.py:864 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:839 +#: part/serializers.py:867 msgid "Variant Stock" msgstr "" -#: part/serializers.py:869 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:472 +#: part/serializers.py:897 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:870 +#: part/serializers.py:898 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:876 templates/js/translated/part.js:102 +#: part/serializers.py:904 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:877 +#: part/serializers.py:905 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:883 +#: part/serializers.py:911 msgid "Supplier Information" msgstr "" -#: part/serializers.py:884 +#: part/serializers.py:912 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:892 +#: part/serializers.py:920 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:893 +#: part/serializers.py:921 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:898 +#: part/serializers.py:926 msgid "Existing Image" msgstr "" -#: part/serializers.py:899 +#: part/serializers.py:927 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:916 +#: part/serializers.py:944 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1122 +#: part/serializers.py:1150 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1132 +#: part/serializers.py:1160 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1142 +#: part/serializers.py:1170 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1148 +#: part/serializers.py:1176 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1149 +#: part/serializers.py:1177 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1154 +#: part/serializers.py:1182 msgid "Generate Report" msgstr "" -#: part/serializers.py:1155 +#: part/serializers.py:1183 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1160 +#: part/serializers.py:1188 msgid "Update Parts" msgstr "" -#: part/serializers.py:1161 +#: part/serializers.py:1189 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1169 +#: part/serializers.py:1197 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1275 +#: part/serializers.py:1303 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1282 +#: part/serializers.py:1310 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1290 +#: part/serializers.py:1318 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1297 +#: part/serializers.py:1325 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1326 +#: part/serializers.py:1354 msgid "Update" msgstr "" -#: part/serializers.py:1327 +#: part/serializers.py:1355 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1350 +#: part/serializers.py:1378 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1357 +#: part/serializers.py:1385 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1360 +#: part/serializers.py:1388 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1727 +#: part/serializers.py:1759 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1735 +#: part/serializers.py:1767 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1736 +#: part/serializers.py:1768 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1741 +#: part/serializers.py:1773 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1742 +#: part/serializers.py:1774 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1747 +#: part/serializers.py:1779 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1748 +#: part/serializers.py:1780 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1753 +#: part/serializers.py:1785 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1754 +#: part/serializers.py:1786 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1788 +#: part/serializers.py:1823 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1789 +#: part/serializers.py:1824 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1819 +#: part/serializers.py:1856 msgid "No part column specified" msgstr "" -#: part/serializers.py:1863 +#: part/serializers.py:1900 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1866 +#: part/serializers.py:1903 msgid "No matching part found" msgstr "" -#: part/serializers.py:1869 +#: part/serializers.py:1906 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1878 +#: part/serializers.py:1915 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1886 +#: part/serializers.py:1923 msgid "Invalid quantity" msgstr "Ongeldige hoeveelheid" -#: part/serializers.py:1907 +#: part/serializers.py:1946 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:225 templates/js/translated/part.js:1067 -#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 +#: part/stocktake.py:225 templates/js/translated/part.js:1070 +#: templates/js/translated/part.js:1825 templates/js/translated/part.js:1881 #: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "" @@ -7507,7 +7854,7 @@ msgstr "" #: part/templates/part/part_base.html:52 #: stock/templates/stock/item_base.html:62 -#: stock/templates/stock/location.html:74 templates/js/translated/label.js:143 +#: stock/templates/stock/location.html:74 templates/js/translated/label.js:136 msgid "Print Label" msgstr "Label afdrukken" @@ -7529,7 +7876,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:2296 msgid "Part actions" msgstr "" @@ -7569,6 +7916,10 @@ msgstr "" msgid "Part can be sold to customers" msgstr "" +#: part/templates/part/part_base.html:145 +msgid "Part is not active" +msgstr "" + #: part/templates/part/part_base.html:153 msgid "Part is virtual (not a physical part)" msgstr "" @@ -7597,7 +7948,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:322 templates/js/translated/bom.js:1071 -#: templates/js/translated/part.js:1265 templates/js/translated/part.js:2444 +#: templates/js/translated/part.js:1268 templates/js/translated/part.js:2447 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" @@ -7690,8 +8041,8 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/part.js:1243 templates/js/translated/part.js:2146 -#: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 +#: templates/js/translated/part.js:1246 templates/js/translated/part.js:2149 +#: templates/js/translated/part.js:2395 templates/js/translated/stock.js:1059 #: templates/js/translated/stock.js:2070 templates/navbar.html:31 msgid "Stock" msgstr "Voorraad" @@ -7811,8 +8162,8 @@ msgstr "" #: part/templates/part/stock_count.html:7 #: templates/js/translated/model_renderers.js:227 -#: templates/js/translated/part.js:705 templates/js/translated/part.js:2141 -#: templates/js/translated/part.js:2143 +#: templates/js/translated/part.js:704 templates/js/translated/part.js:2144 +#: templates/js/translated/part.js:2146 msgid "No Stock" msgstr "" @@ -7956,7 +8307,7 @@ msgstr "" msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2589 +#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2590 #: templates/js/translated/sales_order.js:1953 msgid "Insufficient stock available" msgstr "Onvoldoende voorraad beschikbaar" @@ -8051,7 +8402,7 @@ msgstr "" msgid "Quantity to allocate" msgstr "" -#: plugin/base/label/label.py:39 templates/js/translated/label.js:155 +#: plugin/base/label/label.py:39 templates/js/translated/label.js:148 msgid "Label printing failed" msgstr "" @@ -8748,7 +9099,7 @@ msgstr "Totaal" #: report/templates/report/inventree_return_order_report.html:25 #: report/templates/report/inventree_test_report.html:88 stock/models.py:825 -#: stock/serializers.py:149 stock/templates/stock/item_base.html:311 +#: stock/serializers.py:151 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:230 @@ -8778,7 +9129,7 @@ msgstr "" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2447 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2457 msgid "Result" msgstr "" @@ -8799,7 +9150,7 @@ msgid "No result" msgstr "" #: report/templates/report/inventree_test_report.html:153 -#: stock/templates/stock/stock_sidebar.html:16 +#: stock/serializers.py:591 stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" @@ -8829,10 +9180,6 @@ msgstr "" msgid "Location ID" msgstr "" -#: stock/admin.py:53 stock/admin.py:175 -msgid "Location Name" -msgstr "" - #: stock/admin.py:63 stock/templates/stock/location.html:131 #: stock/templates/stock/location.html:137 msgid "Location Path" @@ -8909,7 +9256,7 @@ msgstr "" msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:369 stock/serializers.py:1085 +#: stock/api.py:369 stock/serializers.py:1148 msgid "Parent Location" msgstr "" @@ -8917,44 +9264,45 @@ msgstr "" msgid "Filter by parent location" msgstr "" -#: stock/api.py:625 templates/js/translated/table_filters.js:427 +#: stock/api.py:617 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:813 +#: stock/api.py:805 msgid "Part Tree" msgstr "" -#: stock/api.py:843 +#: stock/api.py:835 msgid "Expiry date before" msgstr "" -#: stock/api.py:847 +#: stock/api.py:839 msgid "Expiry date after" msgstr "" -#: stock/api.py:850 stock/templates/stock/item_base.html:439 +#: stock/api.py:842 stock/serializers.py:596 +#: stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "" -#: stock/api.py:937 +#: stock/api.py:929 msgid "Quantity is required" msgstr "" -#: stock/api.py:943 +#: stock/api.py:935 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:974 +#: stock/api.py:966 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:984 +#: stock/api.py:976 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1015 +#: stock/api.py:1007 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -9021,7 +9369,7 @@ msgstr "" msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:669 stock/serializers.py:446 +#: stock/models.py:669 stock/serializers.py:477 msgid "Stock item cannot be created for virtual parts" msgstr "" @@ -9066,7 +9414,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:799 stock/serializers.py:1476 +#: stock/models.py:799 stock/serializers.py:1542 msgid "Packaging this stock item is stored in" msgstr "" @@ -9078,7 +9426,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:843 stock/serializers.py:1459 +#: stock/models.py:843 stock/serializers.py:1525 msgid "Batch code for this stock item" msgstr "" @@ -9155,7 +9503,7 @@ msgstr "" msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1520 stock/serializers.py:660 +#: stock/models.py:1520 stock/serializers.py:718 msgid "Serial numbers already exist" msgstr "" @@ -9187,7 +9535,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1658 stock/serializers.py:1365 +#: stock/models.py:1658 stock/serializers.py:1431 msgid "Duplicate stock items" msgstr "" @@ -9207,288 +9555,342 @@ msgstr "" msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2345 +#: stock/models.py:2317 +#, fuzzy +#| msgid "Use Stock Item Pricing" +msgid "Stock Item Tracking" +msgstr "Gebruik voorraaditem prijzen" + +#: stock/models.py:2350 msgid "Entry notes" msgstr "" -#: stock/models.py:2413 +#: stock/models.py:2390 +#, fuzzy +#| msgid "Stock Items" +msgid "Stock Item Test Result" +msgstr "Voorraadartikelen" + +#: stock/models.py:2423 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2418 +#: stock/models.py:2428 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2423 +#: stock/models.py:2433 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2447 +#: stock/models.py:2457 msgid "Test result" msgstr "" -#: stock/models.py:2454 +#: stock/models.py:2464 msgid "Test output value" msgstr "" -#: stock/models.py:2462 +#: stock/models.py:2472 msgid "Test result attachment" msgstr "" -#: stock/models.py:2466 +#: stock/models.py:2476 msgid "Test notes" msgstr "" -#: stock/models.py:2474 templates/js/translated/stock.js:1548 +#: stock/models.py:2484 templates/js/translated/stock.js:1548 msgid "Test station" msgstr "" -#: stock/models.py:2475 +#: stock/models.py:2485 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2481 +#: stock/models.py:2491 msgid "Started" msgstr "" -#: stock/models.py:2482 +#: stock/models.py:2492 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2488 +#: stock/models.py:2498 msgid "Finished" msgstr "" -#: stock/models.py:2489 +#: stock/models.py:2499 msgid "The timestamp of the test finish" msgstr "" -#: stock/serializers.py:74 +#: stock/serializers.py:76 msgid "Generated batch code" msgstr "" -#: stock/serializers.py:83 +#: stock/serializers.py:85 msgid "Select build order" msgstr "" -#: stock/serializers.py:92 +#: stock/serializers.py:94 msgid "Select stock item to generate batch code for" msgstr "" -#: stock/serializers.py:101 +#: stock/serializers.py:103 msgid "Select location to generate batch code for" msgstr "" -#: stock/serializers.py:110 +#: stock/serializers.py:112 msgid "Select part to generate batch code for" msgstr "" -#: stock/serializers.py:119 +#: stock/serializers.py:121 msgid "Select purchase order" msgstr "" -#: stock/serializers.py:126 +#: stock/serializers.py:128 msgid "Enter quantity for batch code" msgstr "" -#: stock/serializers.py:149 +#: stock/serializers.py:151 msgid "Generated serial number" msgstr "" -#: stock/serializers.py:158 +#: stock/serializers.py:160 msgid "Select part to generate serial number for" msgstr "" -#: stock/serializers.py:166 +#: stock/serializers.py:168 msgid "Quantity of serial numbers to generate" msgstr "" -#: stock/serializers.py:228 +#: stock/serializers.py:233 msgid "Test template for this result" msgstr "" -#: stock/serializers.py:247 +#: stock/serializers.py:252 msgid "Template ID or test name must be provided" msgstr "" -#: stock/serializers.py:279 +#: stock/serializers.py:284 msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:315 +#: stock/serializers.py:320 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:438 +#: stock/serializers.py:449 stock/templates/stock/item_base.html:193 +msgid "Parent Item" +msgstr "" + +#: stock/serializers.py:450 +#, fuzzy +#| msgid "Source stock item" +msgid "Parent stock item" +msgstr "Bron voorraadartikel" + +#: stock/serializers.py:469 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:558 +#: stock/serializers.py:585 templates/js/translated/build.js:991 +#: templates/js/translated/build.js:2344 +msgid "Allocated Quantity" +msgstr "" + +#: stock/serializers.py:588 stock/templates/stock/item_base.html:437 +#: templates/js/translated/table_filters.js:435 users/models.py:174 +msgid "Expired" +msgstr "" + +#: stock/serializers.py:594 stock/templates/stock/stock_sidebar.html:20 +msgid "Child Items" +msgstr "" + +#: stock/serializers.py:598 +#, fuzzy +#| msgid "Tracking Number" +msgid "Tracking Items" +msgstr "Volgnummer" + +#: stock/serializers.py:604 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:595 +#: stock/serializers.py:623 +#, fuzzy +#| msgid "Minimum Pricing Decimal Places" +msgid "Minimum Pricing" +msgstr "Minimaal aantal prijs decimalen" + +#: stock/serializers.py:629 +#, fuzzy +#| msgid "Maximum Pricing Decimal Places" +msgid "Maximum Pricing" +msgstr "Maximum prijs decimalen" + +#: stock/serializers.py:653 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:608 +#: stock/serializers.py:666 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:615 +#: stock/serializers.py:673 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:626 stock/serializers.py:1322 stock/serializers.py:1578 +#: stock/serializers.py:684 stock/serializers.py:1388 stock/serializers.py:1644 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:633 +#: stock/serializers.py:691 msgid "Optional note field" msgstr "" -#: stock/serializers.py:643 +#: stock/serializers.py:701 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:698 +#: stock/serializers.py:756 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:705 +#: stock/serializers.py:763 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:706 +#: stock/serializers.py:764 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:711 stock/serializers.py:791 stock/serializers.py:887 -#: stock/serializers.py:937 +#: stock/serializers.py:769 stock/serializers.py:849 stock/serializers.py:945 +#: stock/serializers.py:995 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:719 +#: stock/serializers.py:777 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:727 +#: stock/serializers.py:785 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:738 +#: stock/serializers.py:796 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:751 +#: stock/serializers.py:809 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:786 +#: stock/serializers.py:844 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:821 +#: stock/serializers.py:879 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:834 +#: stock/serializers.py:892 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:851 +#: stock/serializers.py:909 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:882 +#: stock/serializers.py:940 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:919 +#: stock/serializers.py:977 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:925 +#: stock/serializers.py:983 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1021 stock/serializers.py:1093 +#: stock/serializers.py:1079 stock/serializers.py:1156 #: stock/templates/stock/location.html:165 #: stock/templates/stock/location.html:222 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "Sublocaties" -#: stock/serializers.py:1086 templates/js/translated/stock.js:152 +#: stock/serializers.py:1149 templates/js/translated/stock.js:152 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1194 +#: stock/serializers.py:1260 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1198 +#: stock/serializers.py:1264 msgid "Item is allocated to a sales order" msgstr "Artikel is toegewezen aan een verkooporder" -#: stock/serializers.py:1202 +#: stock/serializers.py:1268 msgid "Item is allocated to a build order" msgstr "Artikel is toegewezen aan een productieorder" -#: stock/serializers.py:1226 +#: stock/serializers.py:1292 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1232 +#: stock/serializers.py:1298 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1240 +#: stock/serializers.py:1306 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1250 stock/serializers.py:1504 +#: stock/serializers.py:1316 stock/serializers.py:1570 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1329 +#: stock/serializers.py:1395 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1334 +#: stock/serializers.py:1400 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1335 +#: stock/serializers.py:1401 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1340 +#: stock/serializers.py:1406 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1341 +#: stock/serializers.py:1407 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1351 +#: stock/serializers.py:1417 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1418 +#: stock/serializers.py:1484 msgid "No Change" msgstr "" -#: stock/serializers.py:1447 +#: stock/serializers.py:1513 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1466 +#: stock/serializers.py:1532 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1494 +#: stock/serializers.py:1560 msgid "Stock transaction notes" msgstr "" @@ -9757,10 +10159,6 @@ msgstr "" msgid "Build" msgstr "Product" -#: stock/templates/stock/item_base.html:193 -msgid "Parent Item" -msgstr "" - #: stock/templates/stock/item_base.html:211 msgid "No manufacturer set" msgstr "Geen fabrikant geselecteerd" @@ -9836,11 +10234,6 @@ msgstr "" msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:437 -#: templates/js/translated/table_filters.js:435 users/models.py:174 -msgid "Expired" -msgstr "" - #: stock/templates/stock/item_base.html:439 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" @@ -9988,10 +10381,6 @@ msgstr "" msgid "Allocations" msgstr "" -#: stock/templates/stock/stock_sidebar.html:20 -msgid "Child Items" -msgstr "" - #: templates/403.html:6 templates/403.html:12 templates/403_csrf.html:7 msgid "Permission Denied" msgstr "" @@ -10466,8 +10855,8 @@ 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:393 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:245 users/models.py:402 +#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 +#: templates/js/translated/stock.js:245 users/models.py:406 msgid "Delete" msgstr "Verwijderen" @@ -10507,12 +10896,12 @@ msgid "No category parameter templates found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:308 -#: templates/js/translated/part.js:1646 +#: templates/js/translated/part.js:1649 msgid "Edit Template" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:309 -#: templates/js/translated/part.js:1647 +#: templates/js/translated/part.js:1650 msgid "Delete Template" msgstr "" @@ -11145,7 +11534,7 @@ msgid "The following parts are low on required stock" msgstr "De volgende onderdelen hebben een lage vereiste voorraad" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2556 +#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2557 msgid "Required Quantity" msgstr "Vereiste Hoeveelheid" @@ -11159,7 +11548,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3219 +#: templates/js/translated/part.js:3222 msgid "Minimum Quantity" msgstr "" @@ -11514,7 +11903,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2500 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2501 msgid "Variant stock allowed" msgstr "" @@ -11534,30 +11923,30 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2621 +#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2622 msgid "External stock" msgstr "" -#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2595 +#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2596 #: templates/js/translated/sales_order.js:1946 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2599 +#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2600 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2601 -#: templates/js/translated/part.js:1257 +#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2602 +#: templates/js/translated/part.js:1260 #: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2603 +#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2604 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2586 +#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2587 msgid "Consumable item" msgstr "" @@ -11589,7 +11978,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2485 +#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2486 msgid "Required Part" msgstr "" @@ -11758,10 +12147,6 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:991 templates/js/translated/build.js:2344 -msgid "Allocated Quantity" -msgstr "" - #: templates/js/translated/build.js:1005 msgid "Location not specified" msgstr "" @@ -11873,9 +12258,9 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2117 templates/js/translated/build.js:2479 +#: templates/js/translated/build.js:2117 templates/js/translated/build.js:2480 #: templates/js/translated/forms.js:2163 templates/js/translated/forms.js:2179 -#: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 +#: templates/js/translated/part.js:2319 templates/js/translated/part.js:2745 #: templates/js/translated/stock.js:1983 templates/js/translated/stock.js:2710 msgid "Select" msgstr "" @@ -11906,59 +12291,59 @@ msgstr "" msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2455 +#: templates/js/translated/build.js:2456 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2456 +#: templates/js/translated/build.js:2457 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2474 +#: templates/js/translated/build.js:2475 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2504 templates/js/translated/part.js:791 -#: templates/js/translated/part.js:1203 +#: templates/js/translated/build.js:2505 templates/js/translated/part.js:790 +#: templates/js/translated/part.js:1206 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2539 +#: templates/js/translated/build.js:2540 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2591 +#: templates/js/translated/build.js:2592 #: templates/js/translated/sales_order.js:1951 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2646 +#: templates/js/translated/build.js:2647 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2653 +#: templates/js/translated/build.js:2654 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2654 +#: templates/js/translated/build.js:2655 msgid "Allocate tracked items against individual build outputs" msgstr "" -#: templates/js/translated/build.js:2662 +#: templates/js/translated/build.js:2663 #: templates/js/translated/sales_order.js:2052 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2667 templates/js/translated/stock.js:1868 +#: templates/js/translated/build.js:2668 templates/js/translated/stock.js:1868 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2671 +#: templates/js/translated/build.js:2672 #: templates/js/translated/sales_order.js:2046 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2675 +#: templates/js/translated/build.js:2676 msgid "Remove stock allocation" msgstr "" @@ -12105,7 +12490,7 @@ msgid "Delete Parameters" msgstr "" #: templates/js/translated/company.js:1191 -#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2245 +#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2248 msgid "Order parts" msgstr "" @@ -12122,34 +12507,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:1279 -#: templates/js/translated/company.js:1567 templates/js/translated/part.js:799 -#: templates/js/translated/part.js:1211 +#: templates/js/translated/company.js:1567 templates/js/translated/part.js:798 +#: templates/js/translated/part.js:1214 msgid "Template part" msgstr "" #: templates/js/translated/company.js:1283 -#: templates/js/translated/company.js:1571 templates/js/translated/part.js:803 -#: templates/js/translated/part.js:1215 +#: templates/js/translated/company.js:1571 templates/js/translated/part.js:802 +#: templates/js/translated/part.js:1218 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1465 +#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1468 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1528 +#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1531 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1529 +#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1532 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1434 +#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1437 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1550 +#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1553 msgid "Delete Parameter" msgstr "" @@ -12323,15 +12708,15 @@ msgstr "" msgid "No parts required for builds" msgstr "" -#: templates/js/translated/label.js:55 templates/js/translated/report.js:38 +#: templates/js/translated/label.js:48 templates/js/translated/report.js:38 msgid "Select Items" msgstr "" -#: templates/js/translated/label.js:56 templates/js/translated/report.js:39 +#: templates/js/translated/label.js:49 templates/js/translated/report.js:39 msgid "No items selected for printing" msgstr "" -#: templates/js/translated/label.js:150 +#: templates/js/translated/label.js:143 msgid "Labels sent to printer" msgstr "" @@ -12400,7 +12785,7 @@ msgstr "" #: templates/js/translated/news.js:38 #: templates/js/translated/notification.js:46 -#: templates/js/translated/part.js:1605 +#: templates/js/translated/part.js:1608 msgid "ID" msgstr "" @@ -12481,343 +12866,343 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:333 templates/js/translated/stock.js:175 +#: templates/js/translated/part.js:332 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:353 +#: templates/js/translated/part.js:352 msgid "Create Part Category" msgstr "" -#: templates/js/translated/part.js:356 +#: templates/js/translated/part.js:355 msgid "Create new category after this one" msgstr "" -#: templates/js/translated/part.js:357 +#: templates/js/translated/part.js:356 msgid "Part category created" msgstr "" -#: templates/js/translated/part.js:371 +#: templates/js/translated/part.js:370 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:384 +#: templates/js/translated/part.js:383 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:389 +#: templates/js/translated/part.js:388 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:398 +#: templates/js/translated/part.js:397 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:402 +#: templates/js/translated/part.js:401 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:407 +#: templates/js/translated/part.js:406 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:431 +#: templates/js/translated/part.js:430 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:433 +#: templates/js/translated/part.js:432 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:434 +#: templates/js/translated/part.js:433 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:462 +#: templates/js/translated/part.js:461 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:464 +#: templates/js/translated/part.js:463 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:475 +#: templates/js/translated/part.js:474 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:532 +#: templates/js/translated/part.js:531 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:533 +#: templates/js/translated/part.js:532 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:547 +#: templates/js/translated/part.js:546 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:549 +#: templates/js/translated/part.js:548 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:550 +#: templates/js/translated/part.js:549 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:551 +#: templates/js/translated/part.js:550 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:558 +#: templates/js/translated/part.js:557 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:594 +#: templates/js/translated/part.js:593 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:596 +#: templates/js/translated/part.js:595 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:601 +#: templates/js/translated/part.js:600 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:603 +#: templates/js/translated/part.js:602 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:620 +#: templates/js/translated/part.js:619 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:630 +#: templates/js/translated/part.js:629 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:633 +#: templates/js/translated/part.js:632 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:658 +#: templates/js/translated/part.js:657 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:686 -#: templates/js/translated/table_filters.js:747 +#: templates/js/translated/part.js:685 +#: templates/js/translated/table_filters.js:752 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:689 +#: templates/js/translated/part.js:688 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:749 +#: templates/js/translated/part.js:748 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:772 +#: templates/js/translated/part.js:771 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:795 templates/js/translated/part.js:1207 +#: templates/js/translated/part.js:794 templates/js/translated/part.js:1210 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:807 +#: templates/js/translated/part.js:806 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:811 +#: templates/js/translated/part.js:810 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:890 +#: templates/js/translated/part.js:893 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:890 +#: templates/js/translated/part.js:893 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:898 +#: templates/js/translated/part.js:901 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:902 +#: templates/js/translated/part.js:905 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:1051 +#: templates/js/translated/part.js:1054 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1109 templates/js/translated/part.js:1145 +#: templates/js/translated/part.js:1112 templates/js/translated/part.js:1148 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1113 templates/js/translated/part.js:1155 +#: templates/js/translated/part.js:1116 templates/js/translated/part.js:1158 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1282 +#: templates/js/translated/part.js:1285 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1600 +#: templates/js/translated/part.js:1603 msgid "No part parameter templates found" msgstr "" -#: templates/js/translated/part.js:1663 +#: templates/js/translated/part.js:1666 msgid "Edit Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1675 +#: templates/js/translated/part.js:1678 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/js/translated/part.js:1683 +#: templates/js/translated/part.js:1686 msgid "Delete Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1717 +#: templates/js/translated/part.js:1720 #: templates/js/translated/purchase_order.js:1654 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/part.js:1861 +#: templates/js/translated/part.js:1864 #: 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:1907 +#: templates/js/translated/part.js:1910 #: templates/js/translated/purchase_order.js:2220 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1970 +#: templates/js/translated/part.js:1973 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1992 +#: templates/js/translated/part.js:1995 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2080 templates/js/translated/part.js:2506 +#: templates/js/translated/part.js:2083 templates/js/translated/part.js:2509 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:2201 +#: templates/js/translated/part.js:2204 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2206 +#: templates/js/translated/part.js:2209 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2236 +#: templates/js/translated/part.js:2239 msgid "Set category" msgstr "" -#: templates/js/translated/part.js:2287 +#: templates/js/translated/part.js:2290 msgid "part" msgstr "" -#: templates/js/translated/part.js:2288 +#: templates/js/translated/part.js:2291 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2384 +#: templates/js/translated/part.js:2387 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 +#: templates/js/translated/part.js:2534 templates/js/translated/part.js:2664 #: templates/js/translated/stock.js:2669 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2547 +#: templates/js/translated/part.js:2550 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2645 +#: templates/js/translated/part.js:2648 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2689 +#: templates/js/translated/part.js:2684 templates/js/translated/stock.js:2689 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2761 +#: templates/js/translated/part.js:2764 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2777 +#: templates/js/translated/part.js:2780 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2865 +#: templates/js/translated/part.js:2868 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2887 templates/js/translated/search.js:342 +#: templates/js/translated/part.js:2890 templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/part.js:2937 templates/js/translated/stock.js:1456 +#: templates/js/translated/part.js:2940 templates/js/translated/stock.js:1456 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2938 templates/js/translated/stock.js:1457 +#: templates/js/translated/part.js:2941 templates/js/translated/stock.js:1457 #: templates/js/translated/stock.js:1731 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2942 +#: templates/js/translated/part.js:2945 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2958 +#: templates/js/translated/part.js:2961 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2972 +#: templates/js/translated/part.js:2975 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3051 templates/js/translated/part.js:3052 +#: templates/js/translated/part.js:3054 templates/js/translated/part.js:3055 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3054 +#: templates/js/translated/part.js:3057 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3060 +#: templates/js/translated/part.js:3063 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3110 +#: templates/js/translated/part.js:3113 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3116 +#: templates/js/translated/part.js:3119 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3212 +#: templates/js/translated/part.js:3215 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3228 +#: templates/js/translated/part.js:3231 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3273 +#: templates/js/translated/part.js:3276 msgid "Minimum Stock Level" msgstr "" @@ -13593,7 +13978,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1042 users/models.py:392 +#: templates/js/translated/stock.js:1042 users/models.py:396 msgid "Add" msgstr "" @@ -13947,7 +14332,7 @@ msgid "Include subcategories" msgstr "" #: templates/js/translated/table_filters.js:287 -#: templates/js/translated/table_filters.js:759 +#: templates/js/translated/table_filters.js:764 msgid "Subscribed" msgstr "" @@ -14102,40 +14487,46 @@ msgstr "" msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:725 +#: templates/js/translated/table_filters.js:722 +#, fuzzy +#| msgid "Show related parts" +msgid "Show locked parts" +msgstr "Verwante onderdelen tonen" + +#: templates/js/translated/table_filters.js:730 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:733 -#: templates/js/translated/table_filters.js:833 +#: templates/js/translated/table_filters.js:738 +#: templates/js/translated/table_filters.js:838 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:734 +#: templates/js/translated/table_filters.js:739 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:738 +#: templates/js/translated/table_filters.js:743 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:739 +#: templates/js/translated/table_filters.js:744 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:743 +#: templates/js/translated/table_filters.js:748 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:751 +#: templates/js/translated/table_filters.js:756 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:763 +#: templates/js/translated/table_filters.js:768 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:829 +#: templates/js/translated/table_filters.js:834 msgid "Has Choices" msgstr "" @@ -14207,10 +14598,6 @@ msgstr "" msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:558 -msgid "Columns" -msgstr "" - #: templates/js/translated/tables.js:561 msgid "All" msgstr "" @@ -14484,35 +14871,46 @@ msgstr "" msgid "Revoked" msgstr "" -#: users/models.py:375 +#: users/models.py:379 msgid "Permission set" msgstr "" -#: users/models.py:384 +#: users/models.py:388 msgid "Group" msgstr "" -#: users/models.py:388 +#: users/models.py:392 msgid "View" msgstr "" -#: users/models.py:388 +#: users/models.py:392 msgid "Permission to view items" msgstr "" -#: users/models.py:392 +#: users/models.py:396 msgid "Permission to add items" msgstr "" -#: users/models.py:396 +#: users/models.py:400 msgid "Change" msgstr "" -#: users/models.py:398 +#: users/models.py:402 msgid "Permissions to edit items" msgstr "" -#: users/models.py:404 +#: users/models.py:408 msgid "Permission to delete items" msgstr "" +#~ msgid "Default part label template" +#~ msgstr "Standaard sjabloon product onderdeel" + +#~ msgid "The part label template to be automatically selected" +#~ msgstr "Het onderdeellabelsjabloon dat automatisch wordt geselecteerd" + +#~ msgid "Default stock item template" +#~ msgstr "Standaard sjabloon voorraad onderdeel" + +#~ msgid "Default stock location label template" +#~ msgstr "Standaard label van voorraadlocatie" diff --git a/src/backend/InvenTree/locale/no/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/no/LC_MESSAGES/django.po index 22c6d8ecf175..c7f31ac85b55 100644 --- a/src/backend/InvenTree/locale/no/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/no/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-07-05 02:47+0000\n" +"POT-Creation-Date: 2024-07-08 14:46+0000\n" "PO-Revision-Date: 2024-07-05 14:57\n" "Last-Translator: \n" "Language-Team: Norwegian\n" @@ -21,7 +21,7 @@ msgstr "" msgid "API endpoint not found" msgstr "API-endepunkt ikke funnet" -#: InvenTree/api.py:520 +#: InvenTree/api.py:505 msgid "User does not have permission to view this model" msgstr "Brukeren har ikke rettigheter til å se denne modellen" @@ -56,21 +56,21 @@ msgstr "Feildetaljer kan finnes i admin-panelet" msgid "Enter date" msgstr "Oppgi dato" -#: InvenTree/fields.py:205 InvenTree/models.py:918 build/serializers.py:452 -#: build/serializers.py:530 build/templates/build/sidebar.html:21 -#: company/models.py:817 company/templates/company/sidebar.html:37 +#: InvenTree/fields.py:205 InvenTree/models.py:921 build/serializers.py:456 +#: build/serializers.py:534 build/templates/build/sidebar.html:21 +#: company/models.py:824 company/templates/company/sidebar.html:37 #: order/models.py:1296 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:3183 part/templates/part/part_sidebar.html:63 +#: part/models.py:3193 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:230 stock/models.py:2344 stock/models.py:2466 -#: stock/serializers.py:632 stock/serializers.py:790 stock/serializers.py:886 -#: stock/serializers.py:936 stock/serializers.py:1239 stock/serializers.py:1328 -#: stock/serializers.py:1493 stock/templates/stock/stock_sidebar.html:25 +#: stock/admin.py:230 stock/models.py:2349 stock/models.py:2476 +#: stock/serializers.py:690 stock/serializers.py:848 stock/serializers.py:944 +#: stock/serializers.py:994 stock/serializers.py:1305 stock/serializers.py:1394 +#: stock/serializers.py:1559 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:1081 +#: templates/js/translated/part.js:1084 #: templates/js/translated/purchase_order.js:2200 #: templates/js/translated/return_order.js:775 #: templates/js/translated/sales_order.js:1103 @@ -371,41 +371,41 @@ msgstr "Utvidelse-metadata" msgid "JSON metadata field, for use by external plugins" msgstr "JSON-metadatafelt, for bruk av eksterne utvidelser" -#: InvenTree/models.py:408 +#: InvenTree/models.py:411 msgid "Improperly formatted pattern" msgstr "Uriktig formatert mønster" -#: InvenTree/models.py:415 +#: InvenTree/models.py:418 msgid "Unknown format key specified" msgstr "Ukjent formatnøkkel spesifisert" -#: InvenTree/models.py:421 +#: InvenTree/models.py:424 msgid "Missing required format key" msgstr "Mangler nødvendig formatnøkkel" -#: InvenTree/models.py:432 +#: InvenTree/models.py:435 msgid "Reference field cannot be empty" msgstr "Referansefeltet kan ikke være tomt" -#: InvenTree/models.py:440 +#: InvenTree/models.py:443 msgid "Reference must match required pattern" msgstr "Referansen må samsvare påkrevd mønster" -#: InvenTree/models.py:471 +#: InvenTree/models.py:474 msgid "Reference number is too large" msgstr "Referansenummeret er for stort" -#: InvenTree/models.py:719 +#: InvenTree/models.py:722 msgid "Duplicate names cannot exist under the same parent" msgstr "Duplikatnavn kan ikke eksistere under samme overordnede" -#: InvenTree/models.py:736 +#: InvenTree/models.py:739 msgid "Invalid choice" msgstr "Ugyldig valg" -#: InvenTree/models.py:766 common/models.py:2678 common/models.py:3103 -#: common/serializers.py:408 company/models.py:580 machine/models.py:24 -#: part/models.py:891 part/models.py:3639 plugin/models.py:51 +#: InvenTree/models.py:769 common/models.py:2659 common/models.py:3089 +#: common/serializers.py:412 company/models.py:587 machine/models.py:24 +#: part/models.py:895 part/models.py:3660 plugin/models.py:51 #: report/models.py:150 stock/models.py:74 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -417,20 +417,20 @@ msgstr "Ugyldig valg" #: templates/js/translated/company.js:724 #: templates/js/translated/company.js:913 #: templates/js/translated/company.js:1165 -#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1187 -#: templates/js/translated/part.js:1475 templates/js/translated/part.js:1611 -#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2716 +#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1190 +#: templates/js/translated/part.js:1478 templates/js/translated/part.js:1614 +#: templates/js/translated/part.js:2752 templates/js/translated/stock.js:2716 msgid "Name" msgstr "Navn" -#: InvenTree/models.py:772 build/models.py:235 -#: build/templates/build/detail.html:24 common/models.py:138 -#: company/models.py:509 company/models.py:808 +#: InvenTree/models.py:775 build/models.py:242 +#: build/templates/build/detail.html:24 common/models.py:143 +#: company/models.py:515 company/models.py:815 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 -#: order/models.py:1329 part/admin.py:305 part/admin.py:408 part/models.py:914 -#: part/models.py:3654 part/templates/part/category.html:82 +#: order/models.py:1329 part/admin.py:305 part/admin.py:408 part/models.py:918 +#: part/models.py:3675 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:156 #: report/models.py:510 report/models.py:536 @@ -444,10 +444,10 @@ msgstr "Navn" #: templates/js/translated/build.js:2139 templates/js/translated/company.js:519 #: templates/js/translated/company.js:1330 #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 -#: templates/js/translated/order.js:298 templates/js/translated/part.js:1239 -#: templates/js/translated/part.js:1484 templates/js/translated/part.js:1622 -#: templates/js/translated/part.js:1959 templates/js/translated/part.js:2355 -#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2897 +#: templates/js/translated/order.js:298 templates/js/translated/part.js:1242 +#: templates/js/translated/part.js:1487 templates/js/translated/part.js:1625 +#: templates/js/translated/part.js:1962 templates/js/translated/part.js:2358 +#: templates/js/translated/part.js:2788 templates/js/translated/part.js:2900 #: templates/js/translated/plugin.js:80 #: templates/js/translated/purchase_order.js:1706 #: templates/js/translated/purchase_order.js:1849 @@ -460,53 +460,53 @@ msgstr "Navn" msgid "Description" msgstr "Beskrivelse" -#: InvenTree/models.py:773 stock/models.py:81 +#: InvenTree/models.py:776 stock/models.py:81 msgid "Description (optional)" msgstr "Beskrivelse (valgfritt)" -#: InvenTree/models.py:788 templates/js/translated/part.js:2794 +#: InvenTree/models.py:791 templates/js/translated/part.js:2797 #: templates/js/translated/stock.js:2757 msgid "Path" msgstr "Sti" -#: InvenTree/models.py:918 +#: InvenTree/models.py:921 msgid "Markdown notes (optional)" msgstr "Markdown-notater (valgfritt)" -#: InvenTree/models.py:947 +#: InvenTree/models.py:950 msgid "Barcode Data" msgstr "Strekkodedata" -#: InvenTree/models.py:948 +#: InvenTree/models.py:951 msgid "Third party barcode data" msgstr "Tredjeparts strekkodedata" -#: InvenTree/models.py:954 +#: InvenTree/models.py:957 msgid "Barcode Hash" msgstr "Strekkode-hash" -#: InvenTree/models.py:955 +#: InvenTree/models.py:958 msgid "Unique hash of barcode data" msgstr "Unik hash av strekkodedata" -#: InvenTree/models.py:1008 +#: InvenTree/models.py:1011 msgid "Existing barcode found" msgstr "Eksisterende strekkode funnet" -#: InvenTree/models.py:1051 +#: InvenTree/models.py:1054 msgid "Server Error" msgstr "Serverfeil" -#: InvenTree/models.py:1052 +#: InvenTree/models.py:1055 msgid "An error has been logged by the server." msgstr "En feil har blitt logget av serveren." -#: InvenTree/serializers.py:63 part/models.py:4192 +#: InvenTree/serializers.py:63 part/models.py:4277 msgid "Must be a valid number" msgstr "Må være et gyldig tall" #: InvenTree/serializers.py:100 company/models.py:186 -#: company/templates/company/company_base.html:112 part/models.py:3001 +#: company/templates/company/company_base.html:112 part/models.py:3011 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -556,16 +556,16 @@ msgstr "" msgid "Is this user a superuser" msgstr "" -#: InvenTree/serializers.py:445 common/models.py:2683 company/models.py:163 -#: company/models.py:782 machine/models.py:39 part/admin.py:88 -#: part/models.py:1081 plugin/models.py:66 +#: InvenTree/serializers.py:445 common/models.py:2664 company/models.py:163 +#: company/models.py:789 machine/models.py:39 part/admin.py:88 +#: part/models.py:1085 plugin/models.py:66 #: 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 #: templates/js/translated/table_filters.js:520 #: templates/js/translated/table_filters.js:716 -#: templates/js/translated/table_filters.js:796 users/models.py:182 +#: templates/js/translated/table_filters.js:801 users/models.py:182 msgid "Active" msgstr "Aktiv" @@ -597,7 +597,7 @@ msgstr "Velkommen til InvenTree" msgid "Invalid value" msgstr "Ugyldig verdi" -#: InvenTree/serializers.py:581 +#: InvenTree/serializers.py:581 importer/models.py:60 msgid "Data File" msgstr "Datafil" @@ -651,7 +651,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:1174 +#: InvenTree/status.py:66 part/serializers.py:1202 msgid "Background worker check failed" msgstr "Sjekk av bakgrunnsarbeider mislyktes" @@ -711,47 +711,48 @@ msgstr "Systeminformasjon" msgid "About InvenTree" msgstr "Om InvenTree" -#: build/api.py:255 +#: build/api.py:248 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:4070 templates/js/translated/bom.js:997 -#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 +#: build/api.py:292 build/serializers.py:1190 part/models.py:4155 +#: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 +#: templates/js/translated/build.js:2521 #: 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:4064 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 +#: build/api.py:293 build/serializers.py:1191 part/models.py:4149 +#: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 +#: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2530 #: templates/js/translated/table_filters.js:186 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:587 msgid "Optional" msgstr "Valgfritt" -#: build/api.py:301 templates/js/translated/table_filters.js:408 +#: build/api.py:294 templates/js/translated/table_filters.js:408 #: templates/js/translated/table_filters.js:579 msgid "Tracked" msgstr "Spores" -#: build/api.py:303 part/admin.py:144 templates/js/translated/build.js:1744 -#: templates/js/translated/build.js:2629 +#: build/api.py:296 part/admin.py:144 templates/js/translated/build.js:1744 +#: templates/js/translated/build.js:2630 #: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:571 msgid "Allocated" msgstr "Tildelt" -#: build/api.py:311 company/models.py:872 company/serializers.py:359 +#: build/api.py:304 company/models.py:879 company/serializers.py:386 #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2561 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2562 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:234 -#: templates/js/translated/part.js:693 templates/js/translated/part.js:695 -#: templates/js/translated/part.js:700 +#: 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 #: templates/js/translated/table_filters.js:575 msgid "Available" @@ -760,7 +761,7 @@ msgstr "Tilgjengelig" #: build/models.py:85 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 -#: stock/serializers.py:82 templates/email/build_order_completed.html:16 +#: stock/serializers.py:84 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:2892 msgid "Build Order" @@ -781,35 +782,43 @@ msgstr "Produksjonsordrer" msgid "Assembly BOM has not been validated" msgstr "" -#: build/models.py:134 part/templates/part/part_base.html:145 -msgid "Part is not active" -msgstr "Delen er ikke aktiv" +#: build/models.py:134 +#, fuzzy +#| msgid "Stock item cannot be created for virtual parts" +msgid "Build order cannot be created for an inactive part" +msgstr "Lagervare kan ikke opprettes for virtuelle deler" -#: build/models.py:148 +#: build/models.py:141 +#, fuzzy +#| msgid "Build output cannot be specified for allocation of untracked parts" +msgid "Build order cannot be created for an unlocked part" +msgstr "Produksjonsartikkel kan ikke spesifiseres for tildeling av usporede deler" + +#: build/models.py:155 msgid "Invalid choice for parent build" msgstr "Ugyldig valg for overordnet produksjon" -#: build/models.py:159 order/models.py:240 +#: build/models.py:166 order/models.py:240 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:165 +#: build/models.py:172 msgid "Build order part cannot be changed" msgstr "Produksjonsordrens del kan ikke endres" -#: build/models.py:226 +#: build/models.py:233 msgid "Build Order Reference" msgstr "Produksjonsordre-referanse" -#: build/models.py:227 order/models.py:463 order/models.py:926 -#: order/models.py:1289 order/models.py:2020 part/admin.py:411 -#: part/models.py:4085 part/templates/part/upload_bom.html:54 +#: build/models.py:234 build/serializers.py:1189 order/models.py:463 +#: order/models.py:926 order/models.py:1289 order/models.py:2046 +#: part/admin.py:411 part/models.py:4170 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: 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/build.js:2513 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2065 #: templates/js/translated/return_order.js:728 @@ -817,27 +826,28 @@ msgstr "Produksjonsordre-referanse" msgid "Reference" msgstr "Referanse" -#: build/models.py:238 +#: build/models.py:245 msgid "Brief description of the build (optional)" msgstr "Kort beskrivelse av produksjonen (valgfritt)" -#: build/models.py:246 build/templates/build/build_base.html:183 +#: build/models.py:253 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Overordnet produksjon" -#: build/models.py:247 +#: build/models.py:254 msgid "BuildOrder to which this build is allocated" msgstr "Produksjonsordre som denne produksjonen er tildelt" -#: build/models.py:252 build/templates/build/build_base.html:97 -#: build/templates/build/detail.html:29 company/models.py:1026 order/api.py:805 -#: order/models.py:1414 order/models.py:1559 order/models.py:1560 -#: part/api.py:1494 part/api.py:1788 part/models.py:395 part/models.py:3012 -#: part/models.py:3156 part/models.py:3303 part/models.py:3324 -#: part/models.py:3346 part/models.py:3477 part/models.py:3787 -#: part/models.py:3943 part/models.py:4036 part/models.py:4395 -#: part/serializers.py:1120 part/serializers.py:1726 +#: build/models.py:259 build/serializers.py:1184 +#: build/templates/build/build_base.html:97 +#: build/templates/build/detail.html:29 company/models.py:1034 order/api.py:759 +#: order/models.py:1419 order/models.py:1574 order/models.py:1575 +#: part/api.py:1480 part/api.py:1776 part/models.py:396 part/models.py:3022 +#: part/models.py:3166 part/models.py:3314 part/models.py:3335 +#: part/models.py:3357 part/models.py:3493 part/models.py:3827 +#: part/models.py:3990 part/models.py:4121 part/models.py:4480 +#: part/serializers.py:1148 part/serializers.py:1758 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -848,8 +858,8 @@ msgstr "Produksjonsordre som denne produksjonen er tildelt" #: 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:109 stock/serializers.py:157 stock/serializers.py:423 -#: stock/serializers.py:820 templates/InvenTree/search.html:82 +#: stock/serializers.py:111 stock/serializers.py:159 stock/serializers.py:443 +#: stock/serializers.py:878 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 @@ -862,8 +872,8 @@ msgstr "Produksjonsordre som denne produksjonen er tildelt" #: templates/js/translated/company.js:1116 #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 -#: templates/js/translated/part.js:1944 templates/js/translated/part.js:2016 -#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:1947 templates/js/translated/part.js:2019 +#: templates/js/translated/part.js:2327 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:1848 @@ -881,107 +891,107 @@ msgstr "Produksjonsordre som denne produksjonen er tildelt" msgid "Part" msgstr "Del" -#: build/models.py:260 +#: build/models.py:267 msgid "Select part to build" msgstr "Velg del å produsere" -#: build/models.py:265 +#: build/models.py:272 msgid "Sales Order Reference" msgstr "Salgsordrereferanse" -#: build/models.py:269 +#: build/models.py:276 msgid "SalesOrder to which this build is allocated" msgstr "Salgsordren denne produksjonen er tildelt til" -#: build/models.py:274 build/serializers.py:999 +#: build/models.py:281 build/serializers.py:1003 #: templates/js/translated/build.js:1731 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "Kildeplassering" -#: build/models.py:278 +#: build/models.py:285 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:283 +#: build/models.py:290 msgid "Destination Location" msgstr "Fullført plassering" -#: build/models.py:287 +#: build/models.py:294 msgid "Select location where the completed items will be stored" msgstr "Velg plassering der fullførte artikler vil bli lagret" -#: build/models.py:291 +#: build/models.py:298 msgid "Build Quantity" msgstr "Produksjonsmengde" -#: build/models.py:294 +#: build/models.py:301 msgid "Number of stock items to build" msgstr "Antall lagervarer å produsere" -#: build/models.py:298 +#: build/models.py:305 msgid "Completed items" msgstr "Fullførte artikler" -#: build/models.py:300 +#: build/models.py:307 msgid "Number of stock items which have been completed" msgstr "Antall lagervarer som er fullført" -#: build/models.py:304 +#: build/models.py:311 msgid "Build Status" msgstr "Produksjonsstatus" -#: build/models.py:308 +#: build/models.py:315 msgid "Build status code" msgstr "Produksjonsstatuskode" -#: build/models.py:317 build/serializers.py:286 order/serializers.py:580 -#: stock/models.py:839 stock/serializers.py:74 stock/serializers.py:1458 +#: build/models.py:324 build/serializers.py:290 order/serializers.py:629 +#: stock/models.py:839 stock/serializers.py:76 stock/serializers.py:1524 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "Batchkode" -#: build/models.py:321 build/serializers.py:287 +#: build/models.py:328 build/serializers.py:291 msgid "Batch code for this build output" msgstr "Batchkode for denne produksjonsartikkelen" -#: build/models.py:324 order/models.py:316 order/serializers.py:119 -#: part/models.py:1115 part/templates/part/part_base.html:310 +#: build/models.py:331 order/models.py:316 order/serializers.py:127 +#: part/models.py:1125 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:328 +#: build/models.py:335 msgid "Target completion date" msgstr "Forventet sluttdato" -#: build/models.py:329 +#: build/models.py:336 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:332 order/models.py:521 order/models.py:2065 +#: build/models.py:339 order/models.py:521 order/models.py:2091 #: templates/js/translated/build.js:2247 msgid "Completion Date" msgstr "Fullført dato" -#: build/models.py:338 +#: build/models.py:345 msgid "completed by" msgstr "fullført av" -#: build/models.py:346 templates/js/translated/build.js:2207 +#: build/models.py:353 templates/js/translated/build.js:2207 msgid "Issued by" msgstr "Utstedt av" -#: build/models.py:347 +#: build/models.py:354 msgid "User who issued this build order" msgstr "Brukeren som utstedte denne produksjonsordren" -#: build/models.py:355 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 common/models.py:147 +#: build/models.py:362 build/templates/build/build_base.html:204 +#: build/templates/build/detail.html:122 common/models.py:152 #: order/models.py:334 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:232 part/models.py:1132 +#: order/templates/order/sales_order_base.html:232 part/models.py:1142 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 @@ -992,11 +1002,11 @@ msgstr "Brukeren som utstedte denne produksjonsordren" msgid "Responsible" msgstr "Ansvarlig" -#: build/models.py:356 +#: build/models.py:363 msgid "User or group responsible for this build order" msgstr "Bruker eller gruppe ansvarlig for produksjonsordren" -#: build/models.py:361 build/templates/build/detail.html:108 +#: build/models.py:368 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 @@ -1008,21 +1018,22 @@ msgstr "Bruker eller gruppe ansvarlig for produksjonsordren" msgid "External Link" msgstr "Ekstern lenke" -#: build/models.py:362 common/models.py:3244 part/models.py:956 +#: build/models.py:369 common/models.py:3230 part/models.py:960 #: stock/models.py:835 msgid "Link to external URL" msgstr "Lenke til ekstern URL" -#: build/models.py:366 +#: build/models.py:373 msgid "Build Priority" msgstr "Produksjonsprioritet" -#: build/models.py:369 +#: build/models.py:376 msgid "Priority of this build order" msgstr "Produksjonsordrens prioritet" -#: build/models.py:376 common/models.py:131 order/admin.py:18 -#: order/models.py:298 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:383 common/models.py:122 common/models.py:136 +#: order/admin.py:18 order/models.py:298 order/serializers.py:108 +#: templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 #: templates/js/translated/purchase_order.js:1710 #: templates/js/translated/return_order.js:317 @@ -1032,65 +1043,66 @@ msgstr "Produksjonsordrens prioritet" msgid "Project Code" msgstr "Prosjektkode" -#: build/models.py:377 +#: build/models.py:384 msgid "Project code for this build order" msgstr "Prosjektkode for denne produksjonsordren" -#: build/models.py:610 build/models.py:675 +#: build/models.py:617 build/models.py:682 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:632 +#: build/models.py:639 #, python-brace-format msgid "Build order {build} has been completed" msgstr "Produksjonsordre {build} er fullført" -#: build/models.py:638 +#: build/models.py:645 msgid "A build order has been completed" msgstr "En produksjonsordre er fullført" -#: build/models.py:864 build/models.py:949 +#: build/models.py:871 build/models.py:956 msgid "No build output specified" msgstr "Ingen produksjonsartikkel spesifisert" -#: build/models.py:867 +#: build/models.py:874 msgid "Build output is already completed" msgstr "Produksjonsartikkelen er allerede fullført" -#: build/models.py:870 +#: build/models.py:877 msgid "Build output does not match Build Order" msgstr "Produksjonsartikkelen samsvarer ikke med produksjonsordren" -#: build/models.py:953 build/serializers.py:219 build/serializers.py:268 -#: build/serializers.py:866 order/models.py:559 order/serializers.py:432 -#: order/serializers.py:575 part/serializers.py:1484 part/serializers.py:1884 -#: stock/models.py:678 stock/models.py:1496 stock/serializers.py:603 +#: build/models.py:960 build/serializers.py:223 build/serializers.py:272 +#: build/serializers.py:870 order/models.py:559 order/serializers.py:461 +#: order/serializers.py:624 part/serializers.py:1515 part/serializers.py:1921 +#: stock/models.py:678 stock/models.py:1496 stock/serializers.py:661 msgid "Quantity must be greater than zero" msgstr "Mengden må være større enn null" -#: build/models.py:958 build/serializers.py:224 +#: build/models.py:965 build/serializers.py:228 msgid "Quantity cannot be greater than the output quantity" msgstr "Kvantitet kan ikke være større enn utgangsantallet" -#: build/models.py:1018 build/serializers.py:547 +#: build/models.py:1025 build/serializers.py:551 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1359 +#: build/models.py:1366 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1384 +#: build/models.py:1391 msgid "Build object" msgstr "Produksjonsobjekt" -#: build/models.py:1398 build/models.py:1654 build/serializers.py:206 -#: build/serializers.py:253 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2563 -#: order/models.py:1272 order/models.py:1931 order/serializers.py:1327 +#: build/models.py:1405 build/models.py:1661 build/serializers.py:210 +#: build/serializers.py:257 build/serializers.py:1194 +#: build/templates/build/build_base.html:102 +#: build/templates/build/detail.html:34 common/models.py:2544 +#: order/models.py:1272 order/models.py:1957 order/serializers.py:1383 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:410 -#: part/forms.py:48 part/models.py:3170 part/models.py:4058 +#: part/forms.py:48 part/models.py:3180 part/models.py:4143 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1100,7 +1112,7 @@ msgstr "Produksjonsobjekt" #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:169 stock/admin.py:159 -#: stock/serializers.py:125 stock/serializers.py:165 stock/serializers.py:594 +#: stock/serializers.py:127 stock/serializers.py:167 stock/serializers.py:652 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 @@ -1111,8 +1123,8 @@ msgstr "Produksjonsobjekt" #: templates/js/translated/build.js:1746 templates/js/translated/build.js:2357 #: templates/js/translated/company.js:1818 #: templates/js/translated/model_renderers.js:236 -#: templates/js/translated/order.js:304 templates/js/translated/part.js:962 -#: templates/js/translated/part.js:1812 templates/js/translated/part.js:3342 +#: templates/js/translated/order.js:304 templates/js/translated/part.js:965 +#: templates/js/translated/part.js:1815 templates/js/translated/part.js:3345 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 @@ -1132,38 +1144,38 @@ msgstr "Produksjonsobjekt" msgid "Quantity" msgstr "Antall" -#: build/models.py:1399 +#: build/models.py:1406 msgid "Required quantity for build order" msgstr "Påkrevd antall for produksjonsordre" -#: build/models.py:1479 +#: build/models.py:1486 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:1488 +#: build/models.py:1495 #, 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:1498 order/models.py:1882 +#: build/models.py:1505 order/models.py:1908 msgid "Stock item is over-allocated" msgstr "Lagervaren er overtildelt" -#: build/models.py:1504 order/models.py:1885 +#: build/models.py:1511 order/models.py:1911 msgid "Allocation quantity must be greater than zero" msgstr "Tildelingsantall må være større enn null" -#: build/models.py:1510 +#: build/models.py:1517 msgid "Quantity must be 1 for serialized stock" msgstr "Mengden må være 1 for serialisert lagervare" -#: build/models.py:1569 +#: build/models.py:1576 msgid "Selected stock item does not match BOM line" msgstr "Valgt lagervare samsvarer ikke med BOM-linjen" -#: build/models.py:1641 build/serializers.py:846 order/serializers.py:1171 -#: order/serializers.py:1192 stock/models.py:359 stock/serializers.py:91 -#: stock/serializers.py:697 stock/serializers.py:1177 stock/serializers.py:1289 +#: build/models.py:1648 build/serializers.py:850 order/serializers.py:1227 +#: order/serializers.py:1248 stock/models.py:359 stock/serializers.py:93 +#: stock/serializers.py:755 stock/serializers.py:1243 stock/serializers.py:1355 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 @@ -1179,70 +1191,76 @@ msgstr "Valgt lagervare samsvarer ikke med BOM-linjen" msgid "Stock Item" msgstr "Lagervare" -#: build/models.py:1642 +#: build/models.py:1649 msgid "Source stock item" msgstr "Kildelagervare" -#: build/models.py:1655 +#: build/models.py:1662 msgid "Stock quantity to allocate to build" msgstr "Lagerantall å tildele til produksjonen" -#: build/models.py:1663 +#: build/models.py:1670 msgid "Install into" msgstr "Monteres i" -#: build/models.py:1664 +#: build/models.py:1671 msgid "Destination stock item" msgstr "Lagervare for montering" -#: build/serializers.py:156 build/serializers.py:875 +#: build/serializers.py:89 build/serializers.py:1185 part/admin.py:41 +#: part/admin.py:405 part/models.py:3992 part/stocktake.py:220 +#: stock/admin.py:156 +msgid "Part Name" +msgstr "Delnavn" + +#: build/serializers.py:160 build/serializers.py:879 #: templates/js/translated/build.js:1322 msgid "Build Output" msgstr "Produksjonsartikkel" -#: build/serializers.py:168 +#: build/serializers.py:172 msgid "Build output does not match the parent build" msgstr "Produksjonsartikkel samsvarer ikke med overordnet produksjon" -#: build/serializers.py:172 +#: build/serializers.py:176 msgid "Output part does not match BuildOrder part" msgstr "Resultatdel samsvarer ikke med produksjonsordredel" -#: build/serializers.py:176 +#: build/serializers.py:180 msgid "This build output has already been completed" msgstr "Denne produksjonsartikkelen er allerede fullført" -#: build/serializers.py:187 +#: build/serializers.py:191 msgid "This build output is not fully allocated" msgstr "Denne produksjonsartikkelen er ikke fullt tildelt" -#: build/serializers.py:207 build/serializers.py:254 +#: build/serializers.py:211 build/serializers.py:258 msgid "Enter quantity for build output" msgstr "Angi antall for produksjonsartikkel" -#: build/serializers.py:275 +#: build/serializers.py:279 msgid "Integer quantity required for trackable parts" msgstr "Heltallsverdi kreves for sporbare deler" -#: build/serializers.py:278 +#: build/serializers.py:282 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "Heltallsverdi kreves, da stykklisten inneholder sporbare deler" -#: build/serializers.py:293 order/serializers.py:588 order/serializers.py:1331 -#: stock/serializers.py:614 templates/js/translated/purchase_order.js:1153 +#: build/serializers.py:297 order/serializers.py:637 order/serializers.py:1387 +#: stock/serializers.py:672 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:294 +#: build/serializers.py:298 msgid "Enter serial numbers for build outputs" msgstr "Angi serienummer for produksjonsartikler" -#: build/serializers.py:299 build/serializers.py:440 build/serializers.py:512 -#: order/serializers.py:564 order/serializers.py:672 order/serializers.py:1656 -#: part/serializers.py:1140 stock/serializers.py:100 stock/serializers.py:625 -#: stock/serializers.py:785 stock/serializers.py:881 stock/serializers.py:1321 -#: stock/serializers.py:1577 stock/templates/stock/item_base.html:394 +#: build/serializers.py:303 build/serializers.py:444 build/serializers.py:516 +#: order/serializers.py:613 order/serializers.py:721 order/serializers.py:1714 +#: part/serializers.py:1168 stock/serializers.py:102 stock/serializers.py:683 +#: stock/serializers.py:843 stock/serializers.py:939 stock/serializers.py:1387 +#: stock/serializers.py:1643 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 @@ -1258,54 +1276,54 @@ msgstr "Angi serienummer for produksjonsartikler" msgid "Location" msgstr "Plassering" -#: build/serializers.py:300 +#: build/serializers.py:304 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:314 +#: build/serializers.py:318 msgid "Auto Allocate Serial Numbers" msgstr "Automatisk tildeling av serienummer" -#: build/serializers.py:315 +#: build/serializers.py:319 msgid "Automatically allocate required items with matching serial numbers" msgstr "Automatisk tildeling av nødvendige artikler med tilsvarende serienummer" -#: build/serializers.py:330 +#: build/serializers.py:334 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:355 stock/api.py:1041 +#: build/serializers.py:359 stock/api.py:1033 msgid "The following serial numbers already exist or are invalid" msgstr "Følgende serienummer finnes allerede eller er ugyldige" -#: build/serializers.py:402 build/serializers.py:464 build/serializers.py:553 +#: build/serializers.py:406 build/serializers.py:468 build/serializers.py:557 msgid "A list of build outputs must be provided" msgstr "En liste over produksjonsartikler må oppgis" -#: build/serializers.py:441 +#: build/serializers.py:445 msgid "Stock location for scrapped outputs" msgstr "Lagerplassering for skrotede produksjonsartikler" -#: build/serializers.py:447 +#: build/serializers.py:451 msgid "Discard Allocations" msgstr "Forkast tildelinger" -#: build/serializers.py:448 +#: build/serializers.py:452 msgid "Discard any stock allocations for scrapped outputs" msgstr "Forkast tildelinger fra skrotede produksjonsartikler" -#: build/serializers.py:453 +#: build/serializers.py:457 msgid "Reason for scrapping build output(s)" msgstr "Grunn for skroting av produksjonsartikler" -#: build/serializers.py:513 +#: build/serializers.py:517 msgid "Location for completed build outputs" msgstr "Plassering for ferdige produksjonsartikler" -#: build/serializers.py:519 build/templates/build/build_base.html:151 +#: build/serializers.py:523 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:950 -#: order/models.py:2044 order/serializers.py:596 stock/admin.py:164 -#: stock/serializers.py:932 stock/serializers.py:1465 +#: order/models.py:2070 order/serializers.py:645 stock/admin.py:164 +#: stock/serializers.py:990 stock/serializers.py:1531 #: 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 @@ -1317,193 +1335,253 @@ msgstr "Plassering for ferdige produksjonsartikler" msgid "Status" msgstr "" -#: build/serializers.py:525 +#: build/serializers.py:529 msgid "Accept Incomplete Allocation" msgstr "Godta ufullstendig tildeling" -#: build/serializers.py:526 +#: build/serializers.py:530 msgid "Complete outputs if stock has not been fully allocated" msgstr "Fullfør artikler dersom lagerbeholdning ikke er fullt tildelt" -#: build/serializers.py:611 +#: build/serializers.py:615 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:612 +#: build/serializers.py:616 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:618 +#: build/serializers.py:622 msgid "Remove Incomplete Outputs" msgstr "Fjern ufullstendige artikler" -#: build/serializers.py:619 +#: build/serializers.py:623 msgid "Delete any build outputs which have not been completed" msgstr "Slett alle produksjonsartikler som ikke er fullført" -#: build/serializers.py:646 +#: build/serializers.py:650 msgid "Not permitted" msgstr "Ikke tillatt" -#: build/serializers.py:647 +#: build/serializers.py:651 msgid "Accept as consumed by this build order" msgstr "Godta som brukt av denne produksjonsordren" -#: build/serializers.py:648 +#: build/serializers.py:652 msgid "Deallocate before completing this build order" msgstr "Fjern tildeling før produksjonsordren fullføres" -#: build/serializers.py:678 +#: build/serializers.py:682 msgid "Overallocated Stock" msgstr "Overtildelt lagerbeholdning" -#: build/serializers.py:680 +#: build/serializers.py:684 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:690 +#: build/serializers.py:694 msgid "Some stock items have been overallocated" msgstr "Noen lagervarer har blitt overtildelt" -#: build/serializers.py:695 +#: build/serializers.py:699 msgid "Accept Unallocated" msgstr "Godta ikke tildelt" -#: build/serializers.py:696 +#: build/serializers.py:700 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:706 templates/js/translated/build.js:315 +#: build/serializers.py:710 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:711 order/serializers.py:300 order/serializers.py:1234 +#: build/serializers.py:715 order/serializers.py:319 order/serializers.py:1290 msgid "Accept Incomplete" msgstr "Godta uferdig" -#: build/serializers.py:712 +#: build/serializers.py:716 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:722 templates/js/translated/build.js:319 +#: build/serializers.py:726 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:731 templates/js/translated/build.js:303 +#: build/serializers.py:735 templates/js/translated/build.js:303 msgid "Build order has incomplete outputs" msgstr "Produksjonsordren har uferdige artikler" -#: build/serializers.py:769 +#: build/serializers.py:773 msgid "Build Line" msgstr "Produksjonslinje" -#: build/serializers.py:779 +#: build/serializers.py:783 msgid "Build output" msgstr "Produksjonsartikkel" -#: build/serializers.py:787 +#: build/serializers.py:791 msgid "Build output must point to the same build" msgstr "Produksjonsartikkel må peke til samme produksjon" -#: build/serializers.py:823 +#: build/serializers.py:827 msgid "Build Line Item" msgstr "Produksjonsartikkel" -#: build/serializers.py:837 +#: build/serializers.py:841 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:852 stock/serializers.py:1190 +#: build/serializers.py:856 stock/serializers.py:1256 msgid "Item must be in stock" msgstr "Artikkelen må være på lager" -#: build/serializers.py:900 order/serializers.py:1225 +#: build/serializers.py:904 order/serializers.py:1281 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Tilgjengelig antall ({q}) overskredet" -#: build/serializers.py:906 +#: build/serializers.py:910 msgid "Build output must be specified for allocation of tracked parts" msgstr "Produksjonsartikkel må spesifiseres for tildeling av sporede deler" -#: build/serializers.py:913 +#: build/serializers.py:917 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "Produksjonsartikkel kan ikke spesifiseres for tildeling av usporede deler" -#: build/serializers.py:937 order/serializers.py:1477 +#: build/serializers.py:941 order/serializers.py:1533 msgid "Allocation items must be provided" msgstr "Tildelingsartikler må oppgis" -#: build/serializers.py:1000 +#: build/serializers.py:1004 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:1008 +#: build/serializers.py:1012 msgid "Exclude Location" msgstr "Eksluderer plassering" -#: build/serializers.py:1009 +#: build/serializers.py:1013 msgid "Exclude stock items from this selected location" msgstr "Ekskluder lagervarer fra denne valgte plasseringen" -#: build/serializers.py:1014 +#: build/serializers.py:1018 msgid "Interchangeable Stock" msgstr "Utskiftbar lagerbeholdning" -#: build/serializers.py:1015 +#: build/serializers.py:1019 msgid "Stock items in multiple locations can be used interchangeably" msgstr "Lagervarer ved flere plasseringer kan brukes om hverandre" -#: build/serializers.py:1020 +#: build/serializers.py:1024 msgid "Substitute Stock" msgstr "Erstatning-lagerbeholdning" -#: build/serializers.py:1021 +#: build/serializers.py:1025 msgid "Allow allocation of substitute parts" msgstr "Tilatt tildelling av erstatningsdeler" -#: build/serializers.py:1026 +#: build/serializers.py:1030 msgid "Optional Items" msgstr "Valgfrie artikler" -#: build/serializers.py:1027 +#: build/serializers.py:1031 msgid "Allocate optional BOM items to build order" msgstr "Tildel valgfrie BOM-artikler til produksjonsordre" -#: build/serializers.py:1049 +#: build/serializers.py:1053 msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1139 part/models.py:3953 part/models.py:4387 -#: stock/api.py:804 +#: build/serializers.py:1095 +#, fuzzy +#| msgid "Supplier Part Orders" +msgid "Supplier Part Number" +msgstr "Leverandørdelordre" + +#: build/serializers.py:1096 company/models.py:500 +msgid "Manufacturer Part Number" +msgstr "Produsentens varenummer" + +#: build/serializers.py:1097 stock/admin.py:53 stock/admin.py:175 +#: stock/serializers.py:454 +msgid "Location Name" +msgstr "Plasseringsnavn" + +#: build/serializers.py:1098 +#, fuzzy +#| msgid "Build Order Reference" +msgid "Build Reference" +msgstr "Produksjonsordre-referanse" + +#: build/serializers.py:1099 +#, fuzzy +#| msgid "Reference" +msgid "BOM Reference" +msgstr "Referanse" + +#: build/serializers.py:1186 part/admin.py:402 part/models.py:3993 +msgid "Part IPN" +msgstr "Del -IPN" + +#: build/serializers.py:1192 common/models.py:1488 part/admin.py:113 +#: part/models.py:1068 templates/js/translated/table_filters.js:147 +#: templates/js/translated/table_filters.js:223 +#: templates/js/translated/table_filters.js:776 +msgid "Trackable" +msgstr "Sporbar" + +#: build/serializers.py:1196 part/models.py:4000 part/models.py:4472 +#: stock/api.py:796 msgid "BOM Item" msgstr "BOM-artikkel" -#: build/serializers.py:1148 templates/js/translated/index.js:130 +#: build/serializers.py:1205 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "Tildelt lagerbeholdning" -#: build/serializers.py:1153 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:828 part/serializers.py:1502 +#: build/serializers.py:1210 part/admin.py:132 part/bom.py:173 +#: part/serializers.py:856 part/serializers.py:1533 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2613 templates/js/translated/part.js:710 -#: templates/js/translated/part.js:2149 +#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709 +#: templates/js/translated/part.js:2152 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "I bestilling" -#: build/serializers.py:1158 part/serializers.py:1504 -#: templates/js/translated/build.js:2617 +#: build/serializers.py:1215 part/serializers.py:1535 +#: templates/js/translated/build.js:2618 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "I produksjon" -#: build/serializers.py:1163 part/bom.py:172 part/serializers.py:1527 +#: build/serializers.py:1220 part/bom.py:172 part/serializers.py:1558 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" msgstr "Tilgjengelig lagerbeholdning" +#: build/serializers.py:1224 +#, fuzzy +#| msgid "Substitute Stock" +msgid "Available Substitute Stock" +msgstr "Erstatning-lagerbeholdning" + +#: build/serializers.py:1225 +#, fuzzy +#| msgid "Available Stock" +msgid "Available Variant Stock" +msgstr "Tilgjengelig lagerbeholdning" + +#: build/serializers.py:1226 +#, fuzzy +#| msgid "Available Stock" +msgid "Total Available Stock" +msgstr "Tilgjengelig lagerbeholdning" + +#: build/serializers.py:1227 part/serializers.py:862 +msgid "External Stock" +msgstr "" + #: build/status_codes.py:11 generic/states/tests.py:17 order/status_codes.py:12 #: order/status_codes.py:37 order/status_codes.py:64 order/status_codes.py:82 #: templates/js/translated/table_filters.js:598 @@ -1519,7 +1597,8 @@ msgstr "Produksjon" msgid "Cancelled" msgstr "Kansellert" -#: build/status_codes.py:14 generic/states/tests.py:19 order/status_codes.py:14 +#: build/status_codes.py:14 generic/states/tests.py:19 importer/models.py:468 +#: importer/status_codes.py:19 order/status_codes.py:14 #: order/status_codes.py:44 order/status_codes.py:69 #: order/templates/order/order_base.html:158 #: order/templates/order/sales_order_base.html:165 report/models.py:444 @@ -1652,11 +1731,12 @@ 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:309 -#: order/models.py:1307 order/templates/order/order_base.html:186 +#: order/models.py:1307 order/serializers.py:174 +#: order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: 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:1831 +#: templates/js/translated/build.js:2239 templates/js/translated/part.js:1834 #: templates/js/translated/purchase_order.js:1739 #: templates/js/translated/purchase_order.js:2147 #: templates/js/translated/return_order.js:346 @@ -1689,8 +1769,8 @@ msgid "Completed Outputs" msgstr "Fullførte byggeresultater" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1463 order/models.py:845 -#: order/models.py:1551 order/models.py:1665 order/models.py:1819 +#: build/templates/build/detail.html:101 order/api.py:1384 order/models.py:845 +#: order/models.py:1566 order/models.py:1681 order/models.py:1840 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 @@ -1740,7 +1820,7 @@ 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:1443 +#: build/templates/build/detail.html:49 order/models.py:1448 #: templates/js/translated/purchase_order.js:2189 msgid "Destination" msgstr "Destinasjon" @@ -1892,31 +1972,31 @@ msgstr "Produksjonsordre-detaljer" msgid "Incomplete Outputs" msgstr "Ufullstendige artikler" -#: common/api.py:689 +#: common/api.py:690 msgid "Is Link" msgstr "" -#: common/api.py:697 +#: common/api.py:698 msgid "Is File" msgstr "" -#: common/api.py:739 +#: common/api.py:740 msgid "User does not have permission to delete this attachment" msgstr "" -#: common/currency.py:130 +#: common/currency.py:132 msgid "Invalid currency code" msgstr "" -#: common/currency.py:132 +#: common/currency.py:134 msgid "Duplicate currency code" msgstr "" -#: common/currency.py:137 +#: common/currency.py:139 msgid "No valid currency codes provided" msgstr "" -#: common/currency.py:154 +#: common/currency.py:156 msgid "No plugin" msgstr "Ingen programtillegg" @@ -1970,1635 +2050,1608 @@ msgstr "Tidsstempel for forrige oppdatering" msgid "Site URL is locked by configuration" msgstr "" -#: common/models.py:132 +#: common/models.py:137 msgid "Unique project code" msgstr "Unik prosjektkode" -#: common/models.py:139 +#: common/models.py:144 msgid "Project description" msgstr "Prosjektbeskrivelse" -#: common/models.py:148 +#: common/models.py:153 msgid "User or group responsible for this project" msgstr "Bruker eller gruppe ansvarlig for dette prosjektet" -#: common/models.py:765 +#: common/models.py:770 msgid "Settings key (must be unique - case insensitive)" msgstr "Innstillingsnøkkel (må være unik - ufølsom for store of små bokstaver)" -#: common/models.py:769 +#: common/models.py:774 msgid "Settings value" msgstr "Innstillings verdi" -#: common/models.py:821 +#: common/models.py:826 msgid "Chosen value is not a valid option" msgstr "Valgt verdi er ikke et gyldig alternativ" -#: common/models.py:837 +#: common/models.py:842 msgid "Value must be a boolean value" msgstr "Verdien må være en boolsk verdi" -#: common/models.py:845 +#: common/models.py:850 msgid "Value must be an integer value" msgstr "Verdien må være et heltall" -#: common/models.py:882 +#: common/models.py:887 msgid "Key string must be unique" msgstr "Nøkkelstreng må være unik" -#: common/models.py:1114 +#: common/models.py:1119 msgid "No group" msgstr "Ingen gruppe" -#: common/models.py:1213 +#: common/models.py:1218 msgid "Restart required" msgstr "Omstart kreves" -#: common/models.py:1215 +#: common/models.py:1220 msgid "A setting has been changed which requires a server restart" msgstr "En innstilling har blitt endret som krever en omstart av serveren" -#: common/models.py:1222 +#: common/models.py:1227 msgid "Pending migrations" msgstr "Ventende migrasjoner" -#: common/models.py:1223 +#: common/models.py:1228 msgid "Number of pending database migrations" msgstr "Antall ventende databasemigreringer" -#: common/models.py:1228 +#: common/models.py:1233 msgid "Server Instance Name" msgstr "Navn på serverinstans" -#: common/models.py:1230 +#: common/models.py:1235 msgid "String descriptor for the server instance" msgstr "Strengbeskrivelse for serverinstansen" -#: common/models.py:1234 +#: common/models.py:1239 msgid "Use instance name" msgstr "Bruk instansnavn" -#: common/models.py:1235 +#: common/models.py:1240 msgid "Use the instance name in the title-bar" msgstr "Bruk instansnavnet på tittellinjen" -#: common/models.py:1240 +#: common/models.py:1245 msgid "Restrict showing `about`" msgstr "Begrens visning av 'om'" -#: common/models.py:1241 +#: common/models.py:1246 msgid "Show the `about` modal only to superusers" msgstr "Vis `about`-modal kun til superbrukere" -#: common/models.py:1246 company/models.py:111 company/models.py:112 +#: common/models.py:1251 company/models.py:111 company/models.py:112 msgid "Company name" msgstr "Firmanavn" -#: common/models.py:1247 +#: common/models.py:1252 msgid "Internal company name" msgstr "Internt firmanavn" -#: common/models.py:1251 +#: common/models.py:1256 msgid "Base URL" msgstr "Base-URL" -#: common/models.py:1252 +#: common/models.py:1257 msgid "Base URL for server instance" msgstr "Base-URL for serverinstans" -#: common/models.py:1258 +#: common/models.py:1263 msgid "Default Currency" msgstr "Standardvaluta" -#: common/models.py:1259 +#: common/models.py:1264 msgid "Select base currency for pricing calculations" msgstr "Velg grunnvalutaen for prisberegninger" -#: common/models.py:1265 +#: common/models.py:1270 msgid "Supported Currencies" msgstr "" -#: common/models.py:1266 +#: common/models.py:1271 msgid "List of supported currency codes" msgstr "" -#: common/models.py:1272 +#: common/models.py:1277 msgid "Currency Update Interval" msgstr "Oppdateringsintervall for valuta" -#: common/models.py:1274 +#: common/models.py:1279 msgid "How often to update exchange rates (set to zero to disable)" msgstr "Hvor ofte valutakurser skal oppdateres (sett til null for å deaktiverere)" -#: common/models.py:1277 common/models.py:1333 common/models.py:1346 -#: common/models.py:1354 common/models.py:1363 common/models.py:1372 -#: common/models.py:1596 common/models.py:1618 common/models.py:1733 -#: common/models.py:2100 +#: common/models.py:1282 common/models.py:1338 common/models.py:1351 +#: common/models.py:1359 common/models.py:1368 common/models.py:1377 +#: common/models.py:1601 common/models.py:1623 common/models.py:1738 +#: common/models.py:2111 msgid "days" msgstr "dager" -#: common/models.py:1281 +#: common/models.py:1286 msgid "Currency Update Plugin" msgstr "Valutaoppdaterings-plugin" -#: common/models.py:1282 +#: common/models.py:1287 msgid "Currency update plugin to use" msgstr "Valgt valutaoppdaterings-plugin" -#: common/models.py:1287 +#: common/models.py:1292 msgid "Download from URL" msgstr "Last ned fra URL" -#: common/models.py:1289 +#: common/models.py:1294 msgid "Allow download of remote images and files from external URL" msgstr "Tillat nedlastning av eksterne bilder og filer fra ekstern URL" -#: common/models.py:1295 +#: common/models.py:1300 msgid "Download Size Limit" msgstr "Nedlastingsgrense" -#: common/models.py:1296 +#: common/models.py:1301 msgid "Maximum allowable download size for remote image" msgstr "Maksimal tillatt nedlastingsstørrelse for eksternt bilde" -#: common/models.py:1302 +#: common/models.py:1307 msgid "User-agent used to download from URL" msgstr "User-Agent brukt for å laste ned fra URL" -#: common/models.py:1304 +#: common/models.py:1309 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "Tillat overstyring av User-Agent brukt for å laste ned bilder og filer fra eksterne URLer (lå stå blank for standard)" -#: common/models.py:1309 +#: common/models.py:1314 msgid "Strict URL Validation" msgstr "Streng URL-validering" -#: common/models.py:1310 +#: common/models.py:1315 msgid "Require schema specification when validating URLs" msgstr "Krev skjemaspesifikasjon ved validering av URLer" -#: common/models.py:1315 +#: common/models.py:1320 msgid "Require confirm" msgstr "Krev bekreftelse" -#: common/models.py:1316 +#: common/models.py:1321 msgid "Require explicit user confirmation for certain action." msgstr "Krev eksplisitt brukerbekreftelse for visse handlinger." -#: common/models.py:1321 +#: common/models.py:1326 msgid "Tree Depth" msgstr "Tredybde" -#: common/models.py:1323 +#: common/models.py:1328 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "Standard tredybde for trevisning. Dypere nivåer kan lastes inn ved behov." -#: common/models.py:1329 +#: common/models.py:1334 msgid "Update Check Interval" msgstr "Intervall for oppdateringssjekk" -#: common/models.py:1330 +#: common/models.py:1335 msgid "How often to check for updates (set to zero to disable)" msgstr "Tidsintervall for å se etter oppdateringer(sett til null for å skru av)" -#: common/models.py:1336 +#: common/models.py:1341 msgid "Automatic Backup" msgstr "Automatisk sikkerhetskopiering" -#: common/models.py:1337 +#: common/models.py:1342 msgid "Enable automatic backup of database and media files" msgstr "Aktiver automatisk sikkerhetskopiering av database og mediafiler" -#: common/models.py:1342 +#: common/models.py:1347 msgid "Auto Backup Interval" msgstr "Automatisk sikkerhetskopieringsintervall" -#: common/models.py:1343 +#: common/models.py:1348 msgid "Specify number of days between automated backup events" msgstr "Angi antall dager mellom automatiske sikkerhetskopieringshendelser" -#: common/models.py:1349 +#: common/models.py:1354 msgid "Task Deletion Interval" msgstr "Slettingsintervall for oppgaver" -#: common/models.py:1351 +#: common/models.py:1356 msgid "Background task results will be deleted after specified number of days" msgstr "Bakgrunnsoppgaveresultater vil bli slettet etter antall angitte dager" -#: common/models.py:1358 +#: common/models.py:1363 msgid "Error Log Deletion Interval" msgstr "Slettingsintervall for feillogg" -#: common/models.py:1360 +#: common/models.py:1365 msgid "Error logs will be deleted after specified number of days" msgstr "Feilloggene vil bli slettet etter et angitt antall dager" -#: common/models.py:1367 +#: common/models.py:1372 msgid "Notification Deletion Interval" msgstr "Slettingsintervall for varsler" -#: common/models.py:1369 +#: common/models.py:1374 msgid "User notifications will be deleted after specified number of days" msgstr "Brukervarsler slettes etter angitt antall dager" -#: common/models.py:1376 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1381 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "Strekkodestøtte" -#: common/models.py:1377 +#: common/models.py:1382 msgid "Enable barcode scanner support in the web interface" msgstr "Aktiver støtte for strekkodeleser i webgrensesnittet" -#: common/models.py:1382 +#: common/models.py:1387 msgid "Barcode Input Delay" msgstr "Innlesingsforsinkelse for strekkode" -#: common/models.py:1383 +#: common/models.py:1388 msgid "Barcode input processing delay time" msgstr "Tidsforsinkelse for behandling av strekkode" -#: common/models.py:1389 +#: common/models.py:1394 msgid "Barcode Webcam Support" msgstr "Støtte for strekkodewebkamera" -#: common/models.py:1390 +#: common/models.py:1395 msgid "Allow barcode scanning via webcam in browser" msgstr "Tillat strekkodelesning via webkamera i nettleseren" -#: common/models.py:1395 +#: common/models.py:1400 msgid "Barcode Show Data" msgstr "" -#: common/models.py:1396 +#: common/models.py:1401 msgid "Display barcode data in browser as text" msgstr "" -#: common/models.py:1401 +#: common/models.py:1406 msgid "Part Revisions" msgstr "Delrevisjoner" -#: common/models.py:1402 +#: common/models.py:1407 msgid "Enable revision field for Part" msgstr "Aktiver revisjonsfeltet for Del" -#: common/models.py:1407 +#: common/models.py:1412 msgid "Allow Deletion from Assembly" msgstr "" -#: common/models.py:1408 +#: common/models.py:1413 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/models.py:1413 +#: common/models.py:1418 msgid "IPN Regex" msgstr "IPN regex" -#: common/models.py:1414 +#: common/models.py:1419 msgid "Regular expression pattern for matching Part IPN" msgstr "Regulært uttrykksmønster for matching av internt delnummer" -#: common/models.py:1417 +#: common/models.py:1422 msgid "Allow Duplicate IPN" msgstr "Tilat duplikat av internt delnummer" -#: common/models.py:1418 +#: common/models.py:1423 msgid "Allow multiple parts to share the same IPN" msgstr "Tillat flere deler å dele samme interne delnummer" -#: common/models.py:1423 +#: common/models.py:1428 msgid "Allow Editing IPN" msgstr "Tillat redigering av internt delnummer" -#: common/models.py:1424 +#: common/models.py:1429 msgid "Allow changing the IPN value while editing a part" msgstr "Tillat endring av IPN-verdien mens du redigerer en del" -#: common/models.py:1429 +#: common/models.py:1434 msgid "Copy Part BOM Data" msgstr "Kopier BOM-data fra del" -#: common/models.py:1430 +#: common/models.py:1435 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:1435 +#: common/models.py:1440 msgid "Copy Part Parameter Data" msgstr "Kopier parameterdata fra del" -#: common/models.py:1436 +#: common/models.py:1441 msgid "Copy parameter data by default when duplicating a part" msgstr "Kopier parameterdata som standard ved duplisering av en del" -#: common/models.py:1441 +#: common/models.py:1446 msgid "Copy Part Test Data" msgstr "Kopier testdata fra del" -#: common/models.py:1442 +#: common/models.py:1447 msgid "Copy test data by default when duplicating a part" msgstr "Kopier testdata som standard ved duplisering av en del" -#: common/models.py:1447 +#: common/models.py:1452 msgid "Copy Category Parameter Templates" msgstr "Kopier designmaler for kategoriparametere" -#: common/models.py:1448 +#: common/models.py:1453 msgid "Copy category parameter templates when creating a part" msgstr "Kopier parametermaler for kategori ved oppretting av en del" -#: common/models.py:1453 part/admin.py:108 part/models.py:3795 +#: common/models.py:1458 part/admin.py:108 part/models.py:3835 #: report/models.py:294 report/models.py:361 report/serializers.py:90 -#: report/serializers.py:131 stock/serializers.py:227 +#: report/serializers.py:131 stock/serializers.py:232 #: templates/js/translated/table_filters.js:139 -#: templates/js/translated/table_filters.js:767 +#: templates/js/translated/table_filters.js:772 msgid "Template" msgstr "Mal" -#: common/models.py:1454 +#: common/models.py:1459 msgid "Parts are templates by default" msgstr "Deler er maler som standard" -#: common/models.py:1459 part/admin.py:91 part/admin.py:425 part/models.py:1052 +#: common/models.py:1464 part/admin.py:91 part/admin.py:425 part/models.py:1056 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 -#: templates/js/translated/table_filters.js:721 +#: templates/js/translated/table_filters.js:726 msgid "Assembly" msgstr "Sammenstilling" -#: common/models.py:1460 +#: common/models.py:1465 msgid "Parts can be assembled from other components by default" msgstr "Deler kan settes sammen fra andre komponenter som standard" -#: common/models.py:1465 part/admin.py:95 part/models.py:1058 -#: templates/js/translated/table_filters.js:729 +#: common/models.py:1470 part/admin.py:95 part/models.py:1062 +#: templates/js/translated/table_filters.js:734 msgid "Component" msgstr "Komponent" -#: common/models.py:1466 +#: common/models.py:1471 msgid "Parts can be used as sub-components by default" msgstr "Deler kan bli brukt som underkomponenter som standard" -#: common/models.py:1471 part/admin.py:100 part/models.py:1070 +#: common/models.py:1476 part/admin.py:100 part/models.py:1074 msgid "Purchaseable" msgstr "Kjøpbar" -#: common/models.py:1472 +#: common/models.py:1477 msgid "Parts are purchaseable by default" msgstr "Deler er kjøpbare som standard" -#: common/models.py:1477 part/admin.py:104 part/models.py:1076 -#: templates/js/translated/table_filters.js:755 +#: common/models.py:1482 part/admin.py:104 part/models.py:1080 +#: templates/js/translated/table_filters.js:760 msgid "Salable" msgstr "Salgbar" -#: common/models.py:1478 +#: common/models.py:1483 msgid "Parts are salable by default" msgstr "Deler er salgbare som standard" -#: common/models.py:1483 part/admin.py:113 part/models.py:1064 -#: 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:1484 +#: common/models.py:1489 msgid "Parts are trackable by default" msgstr "Deler er sporbare som standard" -#: common/models.py:1489 part/admin.py:117 part/models.py:1086 +#: common/models.py:1494 part/admin.py:117 part/models.py:1096 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 -#: templates/js/translated/table_filters.js:775 +#: templates/js/translated/table_filters.js:780 msgid "Virtual" msgstr "Virtuelle" -#: common/models.py:1490 +#: common/models.py:1495 msgid "Parts are virtual by default" msgstr "Deler er virtuelle som standard" -#: common/models.py:1495 +#: common/models.py:1500 msgid "Show Import in Views" msgstr "Vis import i visninger" -#: common/models.py:1496 +#: common/models.py:1501 msgid "Display the import wizard in some part views" msgstr "Vis importveiviseren i noen deler visninger" -#: common/models.py:1501 +#: common/models.py:1506 msgid "Show related parts" msgstr "Vis relaterte deler" -#: common/models.py:1502 +#: common/models.py:1507 msgid "Display related parts for a part" msgstr "Vis relaterte deler i en del" -#: common/models.py:1507 +#: common/models.py:1512 msgid "Initial Stock Data" msgstr "Innledende lagerbeholdningsdata" -#: common/models.py:1508 +#: common/models.py:1513 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:1513 templates/js/translated/part.js:107 +#: common/models.py:1518 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "Innledende leverandørdata" -#: common/models.py:1515 +#: common/models.py:1520 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:1521 +#: common/models.py:1526 msgid "Part Name Display Format" msgstr "Visningsformat for delnavn" -#: common/models.py:1522 +#: common/models.py:1527 msgid "Format to display the part name" msgstr "Format for å vise delnavnet" -#: common/models.py:1528 +#: common/models.py:1533 msgid "Part Category Default Icon" msgstr "Standardikon for delkategorier" -#: common/models.py:1529 +#: common/models.py:1534 msgid "Part category default icon (empty means no icon)" msgstr "Standardikon for delkategorier (tomt betyr ingen ikon)" -#: common/models.py:1533 +#: common/models.py:1538 msgid "Enforce Parameter Units" msgstr "Tving parameterenheter" -#: common/models.py:1535 +#: common/models.py:1540 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:1541 +#: common/models.py:1546 msgid "Minimum Pricing Decimal Places" msgstr "Minimum antall desimalplasser for priser" -#: common/models.py:1543 +#: common/models.py:1548 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:1554 +#: common/models.py:1559 msgid "Maximum Pricing Decimal Places" msgstr "Maksimalt antall desimalplasser for priser" -#: common/models.py:1556 +#: common/models.py:1561 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:1567 +#: common/models.py:1572 msgid "Use Supplier Pricing" msgstr "Bruk leverandørpriser" -#: common/models.py:1569 +#: common/models.py:1574 msgid "Include supplier price breaks in overall pricing calculations" msgstr "Inkluder leverandørprisbrudd i beregninger av totalpriser" -#: common/models.py:1575 +#: common/models.py:1580 msgid "Purchase History Override" msgstr "Innkjøpshistorikkoverstyring" -#: common/models.py:1577 +#: common/models.py:1582 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "Historiske innkjøpspriser overstyrer leverandørprisnivåer" -#: common/models.py:1583 +#: common/models.py:1588 msgid "Use Stock Item Pricing" msgstr "Bruk lagervarepriser" -#: common/models.py:1585 +#: common/models.py:1590 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "Bruk priser fra manuelt innlagte lagervarer for prisberegninger" -#: common/models.py:1591 +#: common/models.py:1596 msgid "Stock Item Pricing Age" msgstr "Lagervare prisalder" -#: common/models.py:1593 +#: common/models.py:1598 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:1600 +#: common/models.py:1605 msgid "Use Variant Pricing" msgstr "Bruk Variantpriser" -#: common/models.py:1601 +#: common/models.py:1606 msgid "Include variant pricing in overall pricing calculations" msgstr "Inkluder variantpriser i beregninger av totale priser" -#: common/models.py:1606 +#: common/models.py:1611 msgid "Active Variants Only" msgstr "Kun aktive varianter" -#: common/models.py:1608 +#: common/models.py:1613 msgid "Only use active variant parts for calculating variant pricing" msgstr "Bruk kun aktive variantdeler til beregning av variantprising" -#: common/models.py:1614 +#: common/models.py:1619 msgid "Pricing Rebuild Interval" msgstr "Intervall for rekalkulering av priser" -#: common/models.py:1616 +#: common/models.py:1621 msgid "Number of days before part pricing is automatically updated" msgstr "Antall dager før delpriser blir automatisk oppdatert" -#: common/models.py:1623 +#: common/models.py:1628 msgid "Internal Prices" msgstr "Interne Priser" -#: common/models.py:1624 +#: common/models.py:1629 msgid "Enable internal prices for parts" msgstr "Aktiver interne priser for deler" -#: common/models.py:1629 +#: common/models.py:1634 msgid "Internal Price Override" msgstr "Intern prisoverstyring" -#: common/models.py:1631 +#: common/models.py:1636 msgid "If available, internal prices override price range calculations" msgstr "Hvis tilgjengelig, overstyrer interne priser kalkulering av prisområde" -#: common/models.py:1637 +#: common/models.py:1642 msgid "Enable label printing" msgstr "Aktiver etikettutskrift" -#: common/models.py:1638 +#: common/models.py:1643 msgid "Enable label printing from the web interface" msgstr "Aktiver utskrift av etiketter fra nettleseren" -#: common/models.py:1643 +#: common/models.py:1648 msgid "Label Image DPI" msgstr "Etikettbilde-DPI" -#: common/models.py:1645 +#: common/models.py:1650 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:1651 +#: common/models.py:1656 msgid "Enable Reports" msgstr "Aktiver Rapporter" -#: common/models.py:1652 +#: common/models.py:1657 msgid "Enable generation of reports" msgstr "Aktiver generering av rapporter" -#: common/models.py:1657 templates/stats.html:25 +#: common/models.py:1662 templates/stats.html:25 msgid "Debug Mode" msgstr "Feilsøkingsmodus" -#: common/models.py:1658 +#: common/models.py:1663 msgid "Generate reports in debug mode (HTML output)" msgstr "Generer rapporter i feilsøkingsmodus (HTML-output)" -#: common/models.py:1663 +#: common/models.py:1668 msgid "Log Report Errors" msgstr "" -#: common/models.py:1664 +#: common/models.py:1669 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1669 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1674 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:302 msgid "Page Size" msgstr "Sidestørrelse" -#: common/models.py:1670 +#: common/models.py:1675 msgid "Default page size for PDF reports" msgstr "Standard sidestørrelse for PDF-rapporter" -#: common/models.py:1675 +#: common/models.py:1680 msgid "Enable Test Reports" msgstr "Aktiver Testrapporter" -#: common/models.py:1676 +#: common/models.py:1681 msgid "Enable generation of test reports" msgstr "Aktiver generering av testrapporter" -#: common/models.py:1681 +#: common/models.py:1686 msgid "Attach Test Reports" msgstr "Legg ved testrapporter" -#: common/models.py:1683 +#: common/models.py:1688 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:1689 +#: common/models.py:1694 msgid "Globally Unique Serials" msgstr "Globalt Unike Serienummer" -#: common/models.py:1690 +#: common/models.py:1695 msgid "Serial numbers for stock items must be globally unique" msgstr "Serienummer for lagervarer må være globalt unike" -#: common/models.py:1695 +#: common/models.py:1700 msgid "Autofill Serial Numbers" msgstr "Automatisk tildeling av Serienummer" -#: common/models.py:1696 +#: common/models.py:1701 msgid "Autofill serial numbers in forms" msgstr "Aumatisk fyll ut serienummer i skjemaer" -#: common/models.py:1701 +#: common/models.py:1706 msgid "Delete Depleted Stock" msgstr "Slett oppbrukt lagerbeholdning" -#: common/models.py:1703 +#: common/models.py:1708 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1709 +#: common/models.py:1714 msgid "Batch Code Template" msgstr "Batchkodemal" -#: common/models.py:1711 +#: common/models.py:1716 msgid "Template for generating default batch codes for stock items" msgstr "Mal for generering av standard batchkoder for lagervarer" -#: common/models.py:1716 +#: common/models.py:1721 msgid "Stock Expiry" msgstr "Lagerbeholdning utløper" -#: common/models.py:1717 +#: common/models.py:1722 msgid "Enable stock expiry functionality" msgstr "Aktiver funksjonalitet for utløp av lagerbeholdning" -#: common/models.py:1722 +#: common/models.py:1727 msgid "Sell Expired Stock" msgstr "Selg utløpt lagerbeholdning" -#: common/models.py:1723 +#: common/models.py:1728 msgid "Allow sale of expired stock" msgstr "Tillat salg av utgått lagerbeholdning" -#: common/models.py:1728 +#: common/models.py:1733 msgid "Stock Stale Time" msgstr "Foreldet lagerbeholdning tidsintervall" -#: common/models.py:1730 +#: common/models.py:1735 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:1737 +#: common/models.py:1742 msgid "Build Expired Stock" msgstr "Produsér Utløpt Lagerbeholdning" -#: common/models.py:1738 +#: common/models.py:1743 msgid "Allow building with expired stock" msgstr "Tillat produksjon med utløpt lagerbeholdning" -#: common/models.py:1743 +#: common/models.py:1748 msgid "Stock Ownership Control" msgstr "Kontroll over eierskap av lagerbeholdning" -#: common/models.py:1744 +#: common/models.py:1749 msgid "Enable ownership control over stock locations and items" msgstr "Aktiver eierskap over lagerplasseringer og -varer" -#: common/models.py:1749 +#: common/models.py:1754 msgid "Stock Location Default Icon" msgstr "Lagerplassering standard ikon" -#: common/models.py:1750 +#: common/models.py:1755 msgid "Stock location default icon (empty means no icon)" msgstr "Lagerplassering standard ikon (tomt betyr ingen ikon)" -#: common/models.py:1754 +#: common/models.py:1759 msgid "Show Installed Stock Items" msgstr "Vis installerte lagervarer" -#: common/models.py:1755 +#: common/models.py:1760 msgid "Display installed stock items in stock tables" msgstr "Vis installerte lagervarer i lagertabeller" -#: common/models.py:1760 +#: common/models.py:1765 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1762 +#: common/models.py:1767 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1768 +#: common/models.py:1773 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1770 +#: common/models.py:1775 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1776 +#: common/models.py:1781 msgid "Build Order Reference Pattern" msgstr "Produksjonsordre-referansemønster" -#: common/models.py:1778 +#: common/models.py:1783 msgid "Required pattern for generating Build Order reference field" msgstr "Nødvendig mønster for å generere Produksjonsordre-referansefeltet" -#: common/models.py:1784 common/models.py:1826 common/models.py:1848 -#: common/models.py:1884 +#: common/models.py:1789 common/models.py:1837 common/models.py:1859 +#: common/models.py:1895 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1785 common/models.py:1827 common/models.py:1849 -#: common/models.py:1885 +#: common/models.py:1790 common/models.py:1838 common/models.py:1860 +#: common/models.py:1896 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1790 +#: common/models.py:1795 msgid "Require Active Part" msgstr "" -#: common/models.py:1791 +#: common/models.py:1796 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/models.py:1796 +#: common/models.py:1801 +#, fuzzy +#| msgid "Return to Parts" +msgid "Require Locked Part" +msgstr "Tilbake til deler" + +#: common/models.py:1802 +#, fuzzy +#| msgid "Print build order report" +msgid "Prevent build order creation for unlocked parts" +msgstr "Skriv ut produksjonsordrerapport" + +#: common/models.py:1807 msgid "Require Valid BOM" msgstr "" -#: common/models.py:1798 +#: common/models.py:1809 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/models.py:1804 +#: common/models.py:1815 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1806 +#: common/models.py:1817 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1812 +#: common/models.py:1823 msgid "Enable Return Orders" msgstr "Aktiver returordrer" -#: common/models.py:1813 +#: common/models.py:1824 msgid "Enable return order functionality in the user interface" msgstr "Aktiver returordrefunksjonalitet i brukergrensesnittet" -#: common/models.py:1818 +#: common/models.py:1829 msgid "Return Order Reference Pattern" msgstr "Returordre-referansemønster" -#: common/models.py:1820 +#: common/models.py:1831 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1832 +#: common/models.py:1843 msgid "Edit Completed Return Orders" msgstr "Rediger fullførte returordrer" -#: common/models.py:1834 +#: common/models.py:1845 msgid "Allow editing of return orders after they have been completed" msgstr "Tillat redigering av returordrer etter de er fullført" -#: common/models.py:1840 +#: common/models.py:1851 msgid "Sales Order Reference Pattern" msgstr "Salgsordre-referansemønster" -#: common/models.py:1842 +#: common/models.py:1853 msgid "Required pattern for generating Sales Order reference field" msgstr "Påkrevd mønster for å generere salgsordrereferansefelt" -#: common/models.py:1854 +#: common/models.py:1865 msgid "Sales Order Default Shipment" msgstr "Salgsordre standard fraktmetode" -#: common/models.py:1855 +#: common/models.py:1866 msgid "Enable creation of default shipment with sales orders" msgstr "Aktiver opprettelse av standard forsendelse med salgsordrer" -#: common/models.py:1860 +#: common/models.py:1871 msgid "Edit Completed Sales Orders" msgstr "Rediger fullførte salgsordrer" -#: common/models.py:1862 +#: common/models.py:1873 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:1868 +#: common/models.py:1879 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1870 +#: common/models.py:1881 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1876 +#: common/models.py:1887 msgid "Purchase Order Reference Pattern" msgstr "Referansemønster for innkjøpsordre" -#: common/models.py:1878 +#: common/models.py:1889 msgid "Required pattern for generating Purchase Order reference field" msgstr "Obligatorisk mønster for generering av referansefelt for innkjøpsordre" -#: common/models.py:1890 +#: common/models.py:1901 msgid "Edit Completed Purchase Orders" msgstr "Rediger fullførte innkjøpsordre" -#: common/models.py:1892 +#: common/models.py:1903 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:1898 +#: common/models.py:1909 msgid "Auto Complete Purchase Orders" msgstr "Autofullfør innkjøpsordrer" -#: common/models.py:1900 +#: common/models.py:1911 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:1907 +#: common/models.py:1918 msgid "Enable password forgot" msgstr "Aktiver passord glemt" -#: common/models.py:1908 +#: common/models.py:1919 msgid "Enable password forgot function on the login pages" msgstr "Ativer funskjon for glemt passord på innloggingssidene" -#: common/models.py:1913 +#: common/models.py:1924 msgid "Enable registration" msgstr "Aktiver registrering" -#: common/models.py:1914 +#: common/models.py:1925 msgid "Enable self-registration for users on the login pages" msgstr "Aktiver egenregistrerting for brukerer på påloggingssidene" -#: common/models.py:1919 +#: common/models.py:1930 msgid "Enable SSO" msgstr "Aktiver SSO" -#: common/models.py:1920 +#: common/models.py:1931 msgid "Enable SSO on the login pages" msgstr "Aktiver SSO på innloggingssidene" -#: common/models.py:1925 +#: common/models.py:1936 msgid "Enable SSO registration" msgstr "Aktiver SSO-registrering" -#: common/models.py:1927 +#: common/models.py:1938 msgid "Enable self-registration via SSO for users on the login pages" msgstr "Aktiver selvregistrering via SSO for brukere på innloggingssiden" -#: common/models.py:1933 +#: common/models.py:1944 msgid "Enable SSO group sync" msgstr "" -#: common/models.py:1935 +#: common/models.py:1946 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/models.py:1941 +#: common/models.py:1952 msgid "SSO group key" msgstr "" -#: common/models.py:1943 +#: common/models.py:1954 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/models.py:1949 +#: common/models.py:1960 msgid "SSO group map" msgstr "" -#: common/models.py:1951 +#: common/models.py:1962 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/models.py:1957 +#: common/models.py:1968 msgid "Remove groups outside of SSO" msgstr "" -#: common/models.py:1959 +#: common/models.py:1970 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/models.py:1965 +#: common/models.py:1976 msgid "Email required" msgstr "E-postadresse kreves" -#: common/models.py:1966 +#: common/models.py:1977 msgid "Require user to supply mail on signup" msgstr "Krevt at brukere angir e-post ved registrering" -#: common/models.py:1971 +#: common/models.py:1982 msgid "Auto-fill SSO users" msgstr "Auto-utfyll SSO-brukere" -#: common/models.py:1973 +#: common/models.py:1984 msgid "Automatically fill out user-details from SSO account-data" msgstr "Fyll automatisk ut brukeropplysninger fra SSO-kontodata" -#: common/models.py:1979 +#: common/models.py:1990 msgid "Mail twice" msgstr "E-post to ganger" -#: common/models.py:1980 +#: common/models.py:1991 msgid "On signup ask users twice for their mail" msgstr "Spør brukeren om e-post to ganger ved registrering" -#: common/models.py:1985 +#: common/models.py:1996 msgid "Password twice" msgstr "Passord to ganger" -#: common/models.py:1986 +#: common/models.py:1997 msgid "On signup ask users twice for their password" msgstr "Spør brukeren om passord to ganger ved registrering" -#: common/models.py:1991 +#: common/models.py:2002 msgid "Allowed domains" msgstr "Tillatte domener" -#: common/models.py:1993 +#: common/models.py:2004 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "Begrens registrering til bestemte domener (kommaseparert, begynner med @)" -#: common/models.py:1999 +#: common/models.py:2010 msgid "Group on signup" msgstr "Gruppe ved registrering" -#: common/models.py:2001 +#: common/models.py:2012 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/models.py:2007 +#: common/models.py:2018 msgid "Enforce MFA" msgstr "Krev MFA" -#: common/models.py:2008 +#: common/models.py:2019 msgid "Users must use multifactor security." msgstr "Brukere må bruke flerfaktorsikkerhet." -#: common/models.py:2013 +#: common/models.py:2024 msgid "Check plugins on startup" msgstr "Sjekk utvidelser ved oppstart" -#: common/models.py:2015 +#: common/models.py:2026 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:2023 +#: common/models.py:2034 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2024 +#: common/models.py:2035 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2030 +#: common/models.py:2041 msgid "Enable URL integration" msgstr "Aktiver URL-integrasjon" -#: common/models.py:2031 +#: common/models.py:2042 msgid "Enable plugins to add URL routes" msgstr "Tillat utvidelser å legge til URL-ruter" -#: common/models.py:2037 +#: common/models.py:2048 msgid "Enable navigation integration" msgstr "Aktiver navigasjonsintegrasjon" -#: common/models.py:2038 +#: common/models.py:2049 msgid "Enable plugins to integrate into navigation" msgstr "Tillat utvidelser å integrere mot navigasjon" -#: common/models.py:2044 +#: common/models.py:2055 msgid "Enable app integration" msgstr "Aktiver app-integrasjon" -#: common/models.py:2045 +#: common/models.py:2056 msgid "Enable plugins to add apps" msgstr "Tillat utvidelser å legge til apper" -#: common/models.py:2051 +#: common/models.py:2062 msgid "Enable schedule integration" msgstr "Aktiver tidsplanintegrasjon" -#: common/models.py:2052 +#: common/models.py:2063 msgid "Enable plugins to run scheduled tasks" msgstr "Tillat utvidelser å kjøre planlagte oppgaver" -#: common/models.py:2058 +#: common/models.py:2069 msgid "Enable event integration" msgstr "Aktiver hendelsesintegrasjon" -#: common/models.py:2059 +#: common/models.py:2070 msgid "Enable plugins to respond to internal events" msgstr "Tillat utvidelser å reagere på interne hendelser" -#: common/models.py:2065 +#: common/models.py:2076 msgid "Enable project codes" msgstr "Aktiver prosjektkoder" -#: common/models.py:2066 +#: common/models.py:2077 msgid "Enable project codes for tracking projects" msgstr "Aktiver prosjektkoder for å spore prosjekter" -#: common/models.py:2071 +#: common/models.py:2082 msgid "Stocktake Functionality" msgstr "Varetellingsfunksjonalitet" -#: common/models.py:2073 +#: common/models.py:2084 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:2079 +#: common/models.py:2090 msgid "Exclude External Locations" msgstr "Ekskluder eksterne plasseringer" -#: common/models.py:2081 +#: common/models.py:2092 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "Eksluder lagervarer i eksterne plasseringer fra varetellinger" -#: common/models.py:2087 +#: common/models.py:2098 msgid "Automatic Stocktake Period" msgstr "Automatisk varetellingsperiode" -#: common/models.py:2089 +#: common/models.py:2100 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:2095 +#: common/models.py:2106 msgid "Report Deletion Interval" msgstr "Rapportslettingsintervall" -#: common/models.py:2097 +#: common/models.py:2108 msgid "Stocktake reports will be deleted after specified number of days" msgstr "Varetellingsrapporter vil slettes etter angitt antall dager" -#: common/models.py:2104 +#: common/models.py:2115 msgid "Display Users full names" msgstr "Vis brukernes fulle navn" -#: common/models.py:2105 +#: common/models.py:2116 msgid "Display Users full names instead of usernames" msgstr "Vis brukernes fulle navn istedet for brukernavn" -#: common/models.py:2110 +#: common/models.py:2121 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2111 +#: common/models.py:2122 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2123 common/models.py:2533 +#: common/models.py:2134 common/models.py:2514 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:2166 +#: common/models.py:2177 msgid "Hide inactive parts" msgstr "Skjul inaktive elementer" -#: common/models.py:2168 +#: common/models.py:2179 msgid "Hide inactive parts in results displayed on the homepage" msgstr "Skjul inaktive deler i resultater som vises på hjemmesiden" -#: common/models.py:2174 +#: common/models.py:2185 msgid "Show subscribed parts" msgstr "Vis abonnerte deler" -#: common/models.py:2175 +#: common/models.py:2186 msgid "Show subscribed parts on the homepage" msgstr "Vis abonnerte deler på startsiden" -#: common/models.py:2180 +#: common/models.py:2191 msgid "Show subscribed categories" msgstr "Vis abonnerte kategorier" -#: common/models.py:2181 +#: common/models.py:2192 msgid "Show subscribed part categories on the homepage" msgstr "Vis abonnerte delkatekorier på startsiden" -#: common/models.py:2186 +#: common/models.py:2197 msgid "Show latest parts" msgstr "Vis nyeste deler" -#: common/models.py:2187 +#: common/models.py:2198 msgid "Show latest parts on the homepage" msgstr "Vis nyeste deler på startsiden" -#: common/models.py:2192 +#: common/models.py:2203 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2193 +#: common/models.py:2204 msgid "Show BOMs that await validation on the homepage" msgstr "Vis stykklister som venter på validering på startsiden" -#: common/models.py:2198 +#: common/models.py:2209 msgid "Show recent stock changes" msgstr "Vis nylige lagerendringer" -#: common/models.py:2199 +#: common/models.py:2210 msgid "Show recently changed stock items on the homepage" msgstr "Vis nylig endrede lagervarer på startsiden" -#: common/models.py:2204 +#: common/models.py:2215 msgid "Show low stock" msgstr "Vis lav lagerbeholdning" -#: common/models.py:2205 +#: common/models.py:2216 msgid "Show low stock items on the homepage" msgstr "Vis lave lagervarer på startsiden" -#: common/models.py:2210 +#: common/models.py:2221 msgid "Show depleted stock" msgstr "Vis tomme lagervarer" -#: common/models.py:2211 +#: common/models.py:2222 msgid "Show depleted stock items on the homepage" msgstr "Vis tom lagerbeholdning på startsiden" -#: common/models.py:2216 +#: common/models.py:2227 msgid "Show needed stock" msgstr "Vis nødvendig lagerbeholdning" -#: common/models.py:2217 +#: common/models.py:2228 msgid "Show stock items needed for builds on the homepage" msgstr "Vis lagervarer som trengs for produksjon på startsiden" -#: common/models.py:2222 +#: common/models.py:2233 msgid "Show expired stock" msgstr "Vis utløpt lagerbeholdning" -#: common/models.py:2223 +#: common/models.py:2234 msgid "Show expired stock items on the homepage" msgstr "Vis utløpte lagervarer på startsiden" -#: common/models.py:2228 +#: common/models.py:2239 msgid "Show stale stock" msgstr "Vis foreldet lagerbeholdning" -#: common/models.py:2229 +#: common/models.py:2240 msgid "Show stale stock items on the homepage" msgstr "Vis foreldet lagerbeholdning på startsiden" -#: common/models.py:2234 +#: common/models.py:2245 msgid "Show pending builds" msgstr "Vis ventende produksjoner" -#: common/models.py:2235 +#: common/models.py:2246 msgid "Show pending builds on the homepage" msgstr "Vi ventende produksjoner på startsiden" -#: common/models.py:2240 +#: common/models.py:2251 msgid "Show overdue builds" msgstr "Vis forfalte produksjoner" -#: common/models.py:2241 +#: common/models.py:2252 msgid "Show overdue builds on the homepage" msgstr "Vis forfalte produksjoner på startsiden" -#: common/models.py:2246 +#: common/models.py:2257 msgid "Show outstanding POs" msgstr "Vis utestående Innkjøpsordrer" -#: common/models.py:2247 +#: common/models.py:2258 msgid "Show outstanding POs on the homepage" msgstr "Vis utestående Innkjøpsordrer på startsiden" -#: common/models.py:2252 +#: common/models.py:2263 msgid "Show overdue POs" msgstr "Vis forfalte Innkjøpsordrer" -#: common/models.py:2253 +#: common/models.py:2264 msgid "Show overdue POs on the homepage" msgstr "Vis forfalte Innkjøpsordrer på startsiden" -#: common/models.py:2258 +#: common/models.py:2269 msgid "Show outstanding SOs" msgstr "Vis utestående Salgsordrer" -#: common/models.py:2259 +#: common/models.py:2270 msgid "Show outstanding SOs on the homepage" msgstr "Vis utestående Salgsordrer på startsiden" -#: common/models.py:2264 +#: common/models.py:2275 msgid "Show overdue SOs" msgstr "Vis forfalte SOer" -#: common/models.py:2265 +#: common/models.py:2276 msgid "Show overdue SOs on the homepage" msgstr "Vis forfalte SOer på startsiden" -#: common/models.py:2270 +#: common/models.py:2281 msgid "Show pending SO shipments" msgstr "Vis ventende SO-forsendelser" -#: common/models.py:2271 +#: common/models.py:2282 msgid "Show pending SO shipments on the homepage" msgstr "Vis ventende SO-forsendelser på startsiden" -#: common/models.py:2276 +#: common/models.py:2287 msgid "Show News" msgstr "Vis Nyheter" -#: common/models.py:2277 +#: common/models.py:2288 msgid "Show news on the homepage" msgstr "Vis nyheter på startsiden" -#: common/models.py:2282 +#: common/models.py:2293 msgid "Inline label display" msgstr "Innebygd etikettvisning" -#: common/models.py:2284 +#: common/models.py:2295 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:2290 +#: common/models.py:2301 msgid "Default label printer" msgstr "Standard etikettskriver" -#: common/models.py:2292 +#: common/models.py:2303 msgid "Configure which label printer should be selected by default" msgstr "Konfigurer hvilken etikettskriver som skal være valgt som standard" -#: common/models.py:2298 +#: common/models.py:2309 msgid "Inline report display" msgstr "Innebygd rapportvisning" -#: common/models.py:2300 +#: common/models.py:2311 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:2306 +#: common/models.py:2317 msgid "Search Parts" msgstr "Søk i Deler" -#: common/models.py:2307 +#: common/models.py:2318 msgid "Display parts in search preview window" msgstr "Vis deler i forhåndsvsningsvinduet for søk" -#: common/models.py:2312 +#: common/models.py:2323 msgid "Search Supplier Parts" msgstr "Søk i Leverandørdeler" -#: common/models.py:2313 +#: common/models.py:2324 msgid "Display supplier parts in search preview window" msgstr "Vis leverandørdeler i forhåndsvisningsvinduet for søk" -#: common/models.py:2318 +#: common/models.py:2329 msgid "Search Manufacturer Parts" msgstr "Søk i Produsentdeler" -#: common/models.py:2319 +#: common/models.py:2330 msgid "Display manufacturer parts in search preview window" msgstr "Vis produsentdeler i forhåndsvisningsvinduet for søk" -#: common/models.py:2324 +#: common/models.py:2335 msgid "Hide Inactive Parts" msgstr "Skjul Inaktive Deler" -#: common/models.py:2325 +#: common/models.py:2336 msgid "Excluded inactive parts from search preview window" msgstr "Ekskluder inaktive deler fra forhåndsvisningsvinduet for søk" -#: common/models.py:2330 +#: common/models.py:2341 msgid "Search Categories" msgstr "Søk i kategorier" -#: common/models.py:2331 +#: common/models.py:2342 msgid "Display part categories in search preview window" msgstr "Vis delkategorier i forhåndsvisningsvinduet for søk" -#: common/models.py:2336 +#: common/models.py:2347 msgid "Search Stock" msgstr "Søk i lagerbeholdning" -#: common/models.py:2337 +#: common/models.py:2348 msgid "Display stock items in search preview window" msgstr "Vis lagervarer i forhåndsvisningsvinduet for søk" -#: common/models.py:2342 +#: common/models.py:2353 msgid "Hide Unavailable Stock Items" msgstr "Skjul utilgjengelige Lagervarer" -#: common/models.py:2344 +#: common/models.py:2355 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:2350 +#: common/models.py:2361 msgid "Search Locations" msgstr "Søk i Plasseringer" -#: common/models.py:2351 +#: common/models.py:2362 msgid "Display stock locations in search preview window" msgstr "Vis lagerplasseringer i forhåndsvisningsvinduet for søk" -#: common/models.py:2356 +#: common/models.py:2367 msgid "Search Companies" msgstr "Søk i Firma" -#: common/models.py:2357 +#: common/models.py:2368 msgid "Display companies in search preview window" msgstr "Vis firma i forhåndsvsningsvinduet for søk" -#: common/models.py:2362 +#: common/models.py:2373 msgid "Search Build Orders" msgstr "Søk i Produksjonsordrer" -#: common/models.py:2363 +#: common/models.py:2374 msgid "Display build orders in search preview window" msgstr "Vis produksjonsordrer i forhåndsvisningsvinduet for søk" -#: common/models.py:2368 +#: common/models.py:2379 msgid "Search Purchase Orders" msgstr "Søk i Innkjøpsordrer" -#: common/models.py:2369 +#: common/models.py:2380 msgid "Display purchase orders in search preview window" msgstr "Vis innkjøpsordrer i forhåndsvisningsvinduet for søk" -#: common/models.py:2374 +#: common/models.py:2385 msgid "Exclude Inactive Purchase Orders" msgstr "Ekskluder inaktive Innkjøpsordrer" -#: common/models.py:2376 +#: common/models.py:2387 msgid "Exclude inactive purchase orders from search preview window" msgstr "Ekskluder inaktive innkjøpsordrer fra forhåndsvisningsvinduet for søk" -#: common/models.py:2382 +#: common/models.py:2393 msgid "Search Sales Orders" msgstr "Søk i Salgsordrer" -#: common/models.py:2383 +#: common/models.py:2394 msgid "Display sales orders in search preview window" msgstr "Vis salgsordrer i forhåndsvisningsvinduet for søk" -#: common/models.py:2388 +#: common/models.py:2399 msgid "Exclude Inactive Sales Orders" msgstr "Ekskluder Inaktive Salgsordrer" -#: common/models.py:2390 +#: common/models.py:2401 msgid "Exclude inactive sales orders from search preview window" msgstr "Ekskluder inaktive salgsordrer fra forhåndsvisningsvinduet for søk" -#: common/models.py:2396 +#: common/models.py:2407 msgid "Search Return Orders" msgstr "Søk i Returordrer" -#: common/models.py:2397 +#: common/models.py:2408 msgid "Display return orders in search preview window" msgstr "Vis returordrer i forhåndsvisningsvinduet for søk" -#: common/models.py:2402 +#: common/models.py:2413 msgid "Exclude Inactive Return Orders" msgstr "Ekskluder Inaktive Returordrer" -#: common/models.py:2404 +#: common/models.py:2415 msgid "Exclude inactive return orders from search preview window" msgstr "Ekskluder inaktive returordrer fra forhåndsvisningsvinduet for søk" -#: common/models.py:2410 +#: common/models.py:2421 msgid "Search Preview Results" msgstr "Forhåndsvisning av søkeresultater" -#: common/models.py:2412 +#: common/models.py:2423 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:2418 +#: common/models.py:2429 msgid "Regex Search" msgstr "Regex-søk" -#: common/models.py:2419 +#: common/models.py:2430 msgid "Enable regular expressions in search queries" msgstr "Aktiver regulære uttrykk i søkeord" -#: common/models.py:2424 +#: common/models.py:2435 msgid "Whole Word Search" msgstr "Helordsøk" -#: common/models.py:2425 +#: common/models.py:2436 msgid "Search queries return results for whole word matches" msgstr "Søk returnerer resultater for treff med hele ord" -#: common/models.py:2430 +#: common/models.py:2441 msgid "Show Quantity in Forms" msgstr "Vis antall i skjemaer" -#: common/models.py:2431 +#: common/models.py:2442 msgid "Display available part quantity in some forms" msgstr "Vis antall tilgjengelige deler i noen skjemaer" -#: common/models.py:2436 +#: common/models.py:2447 msgid "Escape Key Closes Forms" msgstr "Escape-knappen lukker skjemaer" -#: common/models.py:2437 +#: common/models.py:2448 msgid "Use the escape key to close modal forms" msgstr "Bruk Escape-knappen for å lukke modal-skjemaer" -#: common/models.py:2442 +#: common/models.py:2453 msgid "Fixed Navbar" msgstr "Fast navigasjonsbar" -#: common/models.py:2443 +#: common/models.py:2454 msgid "The navbar position is fixed to the top of the screen" msgstr "Navigasjonsbarens posisjon er fast på toppen av skjermen" -#: common/models.py:2448 +#: common/models.py:2459 msgid "Date Format" msgstr "Datoformat" -#: common/models.py:2449 +#: common/models.py:2460 msgid "Preferred format for displaying dates" msgstr "Foretrukket format for å vise datoer" -#: common/models.py:2462 part/templates/part/detail.html:41 +#: common/models.py:2473 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Delplanlegging" -#: common/models.py:2463 +#: common/models.py:2474 msgid "Display part scheduling information" msgstr "Vis delplanleggingsinformasjon" -#: common/models.py:2468 part/templates/part/detail.html:62 +#: common/models.py:2479 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "Lagertelling for Del" -#: common/models.py:2470 +#: common/models.py:2481 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "Vis lagertellingsinformasjon for del (om lagertellingsfunksjonalitet er aktivert)" -#: common/models.py:2476 +#: common/models.py:2487 msgid "Table String Length" msgstr "Tabellstrenglengde" -#: common/models.py:2478 +#: common/models.py:2489 msgid "Maximum length limit for strings displayed in table views" msgstr "Maksimal lengdegrense for tekst vist i tabeller" -#: common/models.py:2484 -msgid "Default part label template" -msgstr "Standard etikettmal for del" - -#: common/models.py:2485 -msgid "The part label template to be automatically selected" -msgstr "Etikettmalen for del som velges automatisk" - -#: common/models.py:2490 -msgid "Default stock item template" -msgstr "Standard etikettmal for lagervare" - -#: common/models.py:2492 -msgid "The stock item label template to be automatically selected" -msgstr "Etikettmalen for lagervare som velges automatisk" - -#: common/models.py:2498 -msgid "Default stock location label template" -msgstr "Standard etikettmal for lagerplassering" - -#: common/models.py:2500 -msgid "The stock location label template to be automatically selected" -msgstr "Etikettmalen for lagerplassering som velges automatisk" - -#: common/models.py:2506 -msgid "Default build line label template" -msgstr "" - -#: common/models.py:2508 -msgid "The build line label template to be automatically selected" -msgstr "" - -#: common/models.py:2514 +#: common/models.py:2495 msgid "Receive error reports" msgstr "Motta feilrapporter" -#: common/models.py:2515 +#: common/models.py:2496 msgid "Receive notifications for system errors" msgstr "Motta varsler om systemfeil" -#: common/models.py:2520 +#: common/models.py:2501 msgid "Last used printing machines" msgstr "" -#: common/models.py:2521 +#: common/models.py:2502 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2541 common/models.py:2542 common/models.py:2691 -#: common/models.py:2692 common/models.py:2937 common/models.py:2938 -#: common/models.py:3259 common/models.py:3260 part/models.py:3193 -#: part/models.py:3280 part/models.py:3353 part/models.py:3381 -#: plugin/models.py:274 plugin/models.py:275 +#: common/models.py:2522 common/models.py:2523 common/models.py:2672 +#: common/models.py:2673 common/models.py:2918 common/models.py:2919 +#: common/models.py:3245 common/models.py:3246 importer/models.py:85 +#: part/models.py:3203 part/models.py:3290 part/models.py:3364 +#: part/models.py:3392 plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 msgid "User" msgstr "Bruker" -#: common/models.py:2564 +#: common/models.py:2545 msgid "Price break quantity" msgstr "Antall for prisbrudd" -#: common/models.py:2571 company/serializers.py:472 order/admin.py:42 -#: order/models.py:1346 order/models.py:2265 -#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1886 +#: common/models.py:2552 company/serializers.py:502 order/admin.py:42 +#: order/models.py:1346 order/models.py:2292 +#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1889 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:740 msgid "Price" msgstr "Pris" -#: common/models.py:2572 +#: common/models.py:2553 msgid "Unit price at specified quantity" msgstr "Enhetspris på spesifisert antall" -#: common/models.py:2668 common/models.py:2853 +#: common/models.py:2649 common/models.py:2834 msgid "Endpoint" msgstr "Endepunkt" -#: common/models.py:2669 +#: common/models.py:2650 msgid "Endpoint at which this webhook is received" msgstr "Endepunktet hvor denne webhooken er mottatt" -#: common/models.py:2679 +#: common/models.py:2660 msgid "Name for this webhook" msgstr "Navn for webhooken" -#: common/models.py:2683 +#: common/models.py:2664 msgid "Is this webhook active" msgstr "Er webhooken aktiv" -#: common/models.py:2699 users/models.py:159 +#: common/models.py:2680 users/models.py:159 msgid "Token" msgstr "Sjetong" -#: common/models.py:2700 +#: common/models.py:2681 msgid "Token for access" msgstr "Nøkkel for tilgang" -#: common/models.py:2708 +#: common/models.py:2689 msgid "Secret" msgstr "Hemmelig" -#: common/models.py:2709 +#: common/models.py:2690 msgid "Shared secret for HMAC" msgstr "Delt hemmlighet for HMAC" -#: common/models.py:2817 +#: common/models.py:2798 msgid "Message ID" msgstr "Melding ID" -#: common/models.py:2818 +#: common/models.py:2799 msgid "Unique identifier for this message" msgstr "Unik Id for denne meldingen" -#: common/models.py:2826 +#: common/models.py:2807 msgid "Host" msgstr "Vert" -#: common/models.py:2827 +#: common/models.py:2808 msgid "Host from which this message was received" msgstr "Verten denne meldingen ble mottatt fra" -#: common/models.py:2835 +#: common/models.py:2816 msgid "Header" msgstr "Tittel" -#: common/models.py:2836 +#: common/models.py:2817 msgid "Header of this message" msgstr "Overskrift for denne meldingen" -#: common/models.py:2843 +#: common/models.py:2824 msgid "Body" msgstr "Brødtekst" -#: common/models.py:2844 +#: common/models.py:2825 msgid "Body of this message" msgstr "Innholdet i meldingen" -#: common/models.py:2854 +#: common/models.py:2835 msgid "Endpoint on which this message was received" msgstr "Endepunktet meldingen ble mottatt fra" -#: common/models.py:2859 +#: common/models.py:2840 msgid "Worked on" msgstr "Arbeidet med" -#: common/models.py:2860 +#: common/models.py:2841 msgid "Was the work on this message finished?" msgstr "Var arbeidet med denne meldingen ferdig?" -#: common/models.py:2986 +#: common/models.py:2967 msgid "Id" msgstr "" -#: common/models.py:2988 templates/js/translated/company.js:965 +#: common/models.py:2969 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "Tittel" -#: common/models.py:2990 common/models.py:3243 company/models.py:149 -#: company/models.py:440 company/models.py:500 company/models.py:799 -#: order/models.py:303 order/models.py:1301 order/models.py:1717 -#: part/admin.py:55 part/models.py:955 +#: common/models.py:2971 common/models.py:3229 company/models.py:149 +#: company/models.py:446 company/models.py:506 company/models.py:806 +#: order/models.py:303 order/models.py:1301 order/models.py:1733 +#: part/admin.py:55 part/models.py:959 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:229 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/part.js:2459 #: templates/js/translated/purchase_order.js:2040 #: templates/js/translated/purchase_order.js:2204 #: templates/js/translated/return_order.js:779 @@ -3607,28 +3660,28 @@ msgstr "Tittel" msgid "Link" msgstr "Lenke" -#: common/models.py:2992 templates/js/translated/news.js:60 +#: common/models.py:2973 templates/js/translated/news.js:60 msgid "Published" msgstr "Publisert" -#: common/models.py:2994 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2975 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:2996 templates/js/translated/news.js:52 +#: common/models.py:2977 templates/js/translated/news.js:52 msgid "Summary" msgstr "Sammendrag" -#: common/models.py:2999 +#: common/models.py:2980 msgid "Read" msgstr "Les" -#: common/models.py:2999 +#: common/models.py:2980 msgid "Was this news item read?" msgstr "Er dette nyhetselementet lest?" -#: common/models.py:3016 company/models.py:159 part/models.py:965 +#: common/models.py:2997 company/models.py:159 part/models.py:969 #: 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.html:35 @@ -3638,90 +3691,96 @@ msgstr "Er dette nyhetselementet lest?" msgid "Image" msgstr "Bilde" -#: common/models.py:3016 +#: common/models.py:2997 msgid "Image file" msgstr "Bildefil" -#: common/models.py:3028 common/models.py:3227 +#: common/models.py:3009 common/models.py:3213 msgid "Target model type for this image" msgstr "" -#: common/models.py:3032 +#: common/models.py:3013 msgid "Target model ID for this image" msgstr "" -#: common/models.py:3070 +#: common/models.py:3035 +#, fuzzy +#| msgid "Customer ID" +msgid "Custom Unit" +msgstr "Kunde-ID" + +#: common/models.py:3056 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:3085 +#: common/models.py:3071 msgid "Unit name must be a valid identifier" msgstr "Enhetsnavn må være en gyldig identifikator" -#: common/models.py:3104 +#: common/models.py:3090 msgid "Unit name" msgstr "Enhetsnavn" -#: common/models.py:3111 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3097 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3112 +#: common/models.py:3098 msgid "Optional unit symbol" msgstr "Valgfritt enhetssymbol" -#: common/models.py:3118 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3104 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "Definisjon" -#: common/models.py:3119 +#: common/models.py:3105 msgid "Unit definition" msgstr "Enhetsdefinisjon" -#: common/models.py:3177 common/models.py:3234 stock/models.py:2461 +#: common/models.py:3163 common/models.py:3220 stock/models.py:2471 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" msgstr "Vedlegg" -#: common/models.py:3189 +#: common/models.py:3175 msgid "Missing file" msgstr "Fil mangler" -#: common/models.py:3190 +#: common/models.py:3176 msgid "Missing external link" msgstr "Mangler eksternlenke" -#: common/models.py:3235 +#: common/models.py:3221 msgid "Select file to attach" msgstr "Velg fil å legge ved" -#: common/models.py:3250 templates/js/translated/attachment.js:120 +#: common/models.py:3236 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" msgstr "Kommentar" -#: common/models.py:3251 +#: common/models.py:3237 msgid "Attachment comment" msgstr "" -#: common/models.py:3267 +#: common/models.py:3253 msgid "Upload date" msgstr "" -#: common/models.py:3268 +#: common/models.py:3254 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:3272 +#: common/models.py:3258 msgid "File size" msgstr "" -#: common/models.py:3272 +#: common/models.py:3258 msgid "File size in bytes" msgstr "" -#: common/models.py:3310 common/serializers.py:553 +#: common/models.py:3296 common/serializers.py:557 msgid "Invalid model type specified for attachment" msgstr "" @@ -3743,7 +3802,7 @@ msgstr "{verbose_name} kansellert" msgid "A order that is assigned to you was canceled" msgstr "En ordre som er tildelt til deg ble kansellert" -#: common/notifications.py:330 common/notifications.py:337 order/api.py:472 +#: common/notifications.py:330 common/notifications.py:337 order/api.py:454 msgid "Items Received" msgstr "Artikler mottatt" @@ -3759,75 +3818,75 @@ msgstr "Artikler har blitt mottatt mot en returordre" msgid "Error raised by plugin" msgstr "Feil oppstått i utvidelse" -#: common/serializers.py:371 +#: common/serializers.py:375 msgid "Is Running" msgstr "Kjører" -#: common/serializers.py:377 +#: common/serializers.py:381 msgid "Pending Tasks" msgstr "Ventende oppgaver" -#: common/serializers.py:383 +#: common/serializers.py:387 msgid "Scheduled Tasks" msgstr "Planlagte oppgaver" -#: common/serializers.py:389 +#: common/serializers.py:393 msgid "Failed Tasks" msgstr "Mislykkede oppgaver" -#: common/serializers.py:404 +#: common/serializers.py:408 msgid "Task ID" msgstr "Oppgave-ID" -#: common/serializers.py:404 +#: common/serializers.py:408 msgid "Unique task ID" msgstr "Unik oppgave-ID" -#: common/serializers.py:406 +#: common/serializers.py:410 msgid "Lock" msgstr "Lås" -#: common/serializers.py:406 +#: common/serializers.py:410 msgid "Lock time" msgstr "Låsetidspunkt" -#: common/serializers.py:408 +#: common/serializers.py:412 msgid "Task name" msgstr "Oppgavenavn" -#: common/serializers.py:410 +#: common/serializers.py:414 msgid "Function" msgstr "Funksjon" -#: common/serializers.py:410 +#: common/serializers.py:414 msgid "Function name" msgstr "Funksjonsnavn" -#: common/serializers.py:412 +#: common/serializers.py:416 msgid "Arguments" msgstr "Argumenter" -#: common/serializers.py:412 +#: common/serializers.py:416 msgid "Task arguments" msgstr "Oppgaveargumenter" -#: common/serializers.py:415 +#: common/serializers.py:419 msgid "Keyword Arguments" msgstr "Nøkkelordargumenter" -#: common/serializers.py:415 +#: common/serializers.py:419 msgid "Task keyword arguments" msgstr "Nøkkelordargumenter for oppgave" -#: common/serializers.py:525 +#: common/serializers.py:529 msgid "Filename" msgstr "Filnavn" -#: common/serializers.py:532 report/api.py:100 report/serializers.py:53 +#: common/serializers.py:536 report/api.py:100 report/serializers.py:53 msgid "Model Type" msgstr "" -#: common/serializers.py:559 +#: common/serializers.py:563 msgid "User does not have permission to create or edit attachments for this model" msgstr "" @@ -3894,29 +3953,29 @@ msgstr "Deler importert" msgid "Previous Step" msgstr "Forrige trinn" -#: company/api.py:144 +#: company/api.py:141 msgid "Part is Active" msgstr "" -#: company/api.py:148 +#: company/api.py:145 msgid "Manufacturer is Active" msgstr "" -#: company/api.py:281 +#: company/api.py:278 msgid "Supplier Part is Active" msgstr "" -#: company/api.py:285 +#: company/api.py:282 msgid "Internal Part is Active" msgstr "" -#: company/api.py:289 +#: company/api.py:286 msgid "Supplier is Active" msgstr "" -#: company/models.py:100 company/models.py:365 +#: company/models.py:100 company/models.py:371 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:822 +#: company/templates/company/company_base.html:12 stock/api.py:814 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "Firma" @@ -3956,8 +4015,9 @@ msgstr "Kontakt-telefonnummer" msgid "Contact email address" msgstr "Kontakt e-post" -#: company/models.py:142 company/templates/company/company_base.html:145 -#: order/models.py:343 order/templates/order/order_base.html:203 +#: company/models.py:142 company/models.py:275 +#: company/templates/company/company_base.html:145 order/models.py:343 +#: order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 #: order/templates/order/sales_order_base.html:218 msgid "Contact" @@ -3976,7 +4036,9 @@ msgid "Is this company active?" msgstr "" #: company/models.py:168 -msgid "is customer" +#, fuzzy +#| msgid "is customer" +msgid "Is customer" msgstr "er kunde" #: company/models.py:169 @@ -3984,7 +4046,9 @@ msgid "Do you sell items to this company?" msgstr "Selger du varer til dette firmaet?" #: company/models.py:174 -msgid "is supplier" +#, fuzzy +#| msgid "is supplier" +msgid "Is supplier" msgstr "er leverandør" #: company/models.py:175 @@ -3992,7 +4056,9 @@ msgid "Do you purchase items from this company?" msgstr "Kjøper du varer fra dette firmaet?" #: company/models.py:180 -msgid "is manufacturer" +#, fuzzy +#| msgid "is manufacturer" +msgid "Is manufacturer" msgstr "er produsent" #: company/models.py:181 @@ -4003,178 +4069,191 @@ msgstr "Produserer dette firmaet deler?" msgid "Default currency used for this company" msgstr "Standardvaluta brukt for dette firmaet" -#: company/models.py:366 +#: company/models.py:314 company/templates/company/company_base.html:124 +#: order/models.py:353 order/templates/order/order_base.html:210 +#: order/templates/order/return_order_base.html:181 +#: order/templates/order/sales_order_base.html:225 +msgid "Address" +msgstr "Adresse" + +#: company/models.py:315 company/templates/company/sidebar.html:35 +msgid "Addresses" +msgstr "Adresser" + +#: company/models.py:372 msgid "Select company" msgstr "Velg selskap" -#: company/models.py:371 +#: company/models.py:377 msgid "Address title" msgstr "Adressetittel" -#: company/models.py:372 +#: company/models.py:378 msgid "Title describing the address entry" msgstr "Tittel som beskriver addressen" -#: company/models.py:378 +#: company/models.py:384 msgid "Primary address" msgstr "Hovedadresse" -#: company/models.py:379 +#: company/models.py:385 msgid "Set as primary address" msgstr "Sett som hovedadresse" -#: company/models.py:384 templates/js/translated/company.js:914 +#: company/models.py:390 templates/js/translated/company.js:914 #: templates/js/translated/company.js:971 msgid "Line 1" msgstr "Linje 1" -#: company/models.py:385 +#: company/models.py:391 msgid "Address line 1" msgstr "Adresselinje 1" -#: company/models.py:391 templates/js/translated/company.js:915 +#: company/models.py:397 templates/js/translated/company.js:915 #: templates/js/translated/company.js:977 msgid "Line 2" msgstr "Linje 2" -#: company/models.py:392 +#: company/models.py:398 msgid "Address line 2" msgstr "Adresselinje 2" -#: company/models.py:398 company/models.py:399 +#: company/models.py:404 company/models.py:405 #: templates/js/translated/company.js:983 msgid "Postal code" msgstr "Postnummer" -#: company/models.py:405 +#: company/models.py:411 msgid "City/Region" msgstr "Poststed/område" -#: company/models.py:406 +#: company/models.py:412 msgid "Postal code city/region" msgstr "Postnummerets by/område" -#: company/models.py:412 +#: company/models.py:418 msgid "State/Province" msgstr "Delstat/provins" -#: company/models.py:413 +#: company/models.py:419 msgid "State or province" msgstr "Delstat eller provins" -#: company/models.py:419 templates/js/translated/company.js:1001 +#: company/models.py:425 templates/js/translated/company.js:1001 msgid "Country" msgstr "Land" -#: company/models.py:420 +#: company/models.py:426 msgid "Address country" msgstr "Adressens land" -#: company/models.py:426 +#: company/models.py:432 msgid "Courier shipping notes" msgstr "Notater til transportør" -#: company/models.py:427 +#: company/models.py:433 msgid "Notes for shipping courier" msgstr "Notater for transportør" -#: company/models.py:433 +#: company/models.py:439 msgid "Internal shipping notes" msgstr "Interne fraktnotater" -#: company/models.py:434 +#: company/models.py:440 msgid "Shipping notes for internal use" msgstr "Fraktnotater for internt bruk" -#: company/models.py:441 +#: company/models.py:447 msgid "Link to address information (external)" msgstr "Lenke til adresseinformasjon (ekstern)" -#: company/models.py:463 company/models.py:574 company/models.py:792 +#: company/models.py:469 company/models.py:581 company/models.py:799 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:217 msgid "Manufacturer Part" msgstr "Produsentdeler" -#: company/models.py:475 company/models.py:760 stock/models.py:767 -#: stock/serializers.py:422 stock/templates/stock/item_base.html:142 +#: company/models.py:481 company/models.py:767 stock/models.py:767 +#: stock/serializers.py:442 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "Basisdel" -#: company/models.py:477 company/models.py:762 +#: company/models.py:483 company/models.py:769 msgid "Select part" msgstr "Velg del" -#: company/models.py:486 company/templates/company/company_base.html:82 +#: company/models.py:492 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:525 +#: company/templates/company/supplier_part.html:145 part/serializers.py:543 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 #: templates/js/translated/company.js:1296 #: templates/js/translated/company.js:1611 -#: templates/js/translated/table_filters.js:800 +#: templates/js/translated/table_filters.js:805 msgid "Manufacturer" msgstr "Produsent" -#: company/models.py:487 +#: company/models.py:493 msgid "Select manufacturer" msgstr "Velg produsent" -#: company/models.py:493 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:535 -#: templates/js/translated/company.js:351 +#: company/models.py:499 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:153 order/serializers.py:518 +#: part/serializers.py:553 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:1801 +#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1804 #: templates/js/translated/purchase_order.js:1851 #: templates/js/translated/purchase_order.js:2053 msgid "MPN" msgstr "" -#: company/models.py:494 -msgid "Manufacturer Part Number" -msgstr "Produsentens varenummer" - -#: company/models.py:501 +#: company/models.py:507 msgid "URL for external manufacturer part link" msgstr "URL for ekstern produsentdel-lenke" -#: company/models.py:510 +#: company/models.py:516 msgid "Manufacturer part description" msgstr "Produsentens delbeskrivelse" -#: company/models.py:581 +#: company/models.py:569 +#, fuzzy +#| msgid "Manufacturer Part Number" +msgid "Manufacturer Part Parameter" +msgstr "Produsentens varenummer" + +#: company/models.py:588 msgid "Parameter name" msgstr "Parameternavn" -#: company/models.py:587 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2453 templates/js/translated/company.js:1166 -#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1493 +#: company/models.py:594 report/templates/report/inventree_test_report.html:104 +#: stock/models.py:2463 templates/js/translated/company.js:1166 +#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1496 #: templates/js/translated/stock.js:1522 msgid "Value" msgstr "Verdi" -#: company/models.py:588 +#: company/models.py:595 msgid "Parameter value" msgstr "Parameterverdi" -#: company/models.py:595 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1045 part/models.py:3646 +#: company/models.py:602 company/templates/company/supplier_part.html:168 +#: part/admin.py:57 part/models.py:1049 part/models.py:3667 #: part/templates/part/part_base.html:284 -#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1512 -#: templates/js/translated/part.js:1616 templates/js/translated/part.js:2370 +#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1515 +#: templates/js/translated/part.js:1619 templates/js/translated/part.js:2373 msgid "Units" msgstr "Enheter" -#: company/models.py:596 +#: company/models.py:603 msgid "Parameter units" msgstr "Parameterenheter" -#: company/models.py:648 company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 order/api.py:452 +#: company/models.py:655 company/templates/company/supplier_part.html:7 +#: company/templates/company/supplier_part.html:24 order/api.py:434 #: stock/models.py:778 stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 @@ -4182,91 +4261,91 @@ msgstr "Parameterenheter" msgid "Supplier Part" msgstr "Leverandørdel" -#: company/models.py:700 +#: company/models.py:707 msgid "Pack units must be compatible with the base part units" msgstr "Pakkeenhetene må være komptible med delens basisenhet" -#: company/models.py:707 +#: company/models.py:714 msgid "Pack units must be greater than zero" msgstr "Pakkeenhet må være mer enn null" -#: company/models.py:721 +#: company/models.py:728 msgid "Linked manufacturer part must reference the same base part" msgstr "Den sammenkoblede produsentdelen må referere til samme basisdel" -#: company/models.py:770 company/templates/company/company_base.html:87 +#: company/models.py:777 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:509 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:527 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 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:511 -#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1769 +#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1772 #: templates/js/translated/pricing.js:498 #: templates/js/translated/purchase_order.js:1689 -#: templates/js/translated/table_filters.js:804 +#: templates/js/translated/table_filters.js:809 msgid "Supplier" msgstr "Leverandør" -#: company/models.py:771 +#: company/models.py:778 msgid "Select supplier" msgstr "Velg leverandør" -#: company/models.py:777 part/serializers.py:520 +#: company/models.py:784 part/serializers.py:538 msgid "Supplier stock keeping unit" msgstr "Leverandørens lagerbeholdningsenhet" -#: company/models.py:783 +#: company/models.py:790 msgid "Is this supplier part active?" msgstr "" -#: company/models.py:793 +#: company/models.py:800 msgid "Select manufacturer part" msgstr "Velg produsentdel" -#: company/models.py:800 +#: company/models.py:807 msgid "URL for external supplier part link" msgstr "URL for ekstern leverandørdel-lenke" -#: company/models.py:809 +#: company/models.py:816 msgid "Supplier part description" msgstr "Leverandørens delbeskrivelse" -#: company/models.py:816 company/templates/company/supplier_part.html:187 -#: part/admin.py:412 part/models.py:4093 part/templates/part/upload_bom.html:59 +#: company/models.py:823 company/templates/company/supplier_part.html:187 +#: part/admin.py:412 part/models.py:4178 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: 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:710 +#: stock/serializers.py:768 msgid "Note" msgstr "Notat" -#: company/models.py:825 part/models.py:2003 +#: company/models.py:832 part/models.py:2013 msgid "base cost" msgstr "grunnkostnad" -#: company/models.py:826 part/models.py:2004 +#: company/models.py:833 part/models.py:2014 msgid "Minimum charge (e.g. stocking fee)" msgstr "Minimum betaling (f.eks. lageravgift)" -#: company/models.py:833 company/templates/company/supplier_part.html:160 -#: stock/admin.py:228 stock/models.py:798 stock/serializers.py:1475 +#: company/models.py:840 company/templates/company/supplier_part.html:160 +#: stock/admin.py:228 stock/models.py:798 stock/serializers.py:1541 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 msgid "Packaging" msgstr "Emballasje" -#: company/models.py:834 +#: company/models.py:841 msgid "Part packaging" msgstr "Delemballasje" -#: company/models.py:839 templates/js/translated/company.js:1651 -#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 +#: company/models.py:846 templates/js/translated/company.js:1651 +#: templates/js/translated/part.js:1825 templates/js/translated/part.js:1881 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 #: templates/js/translated/purchase_order.js:1103 @@ -4275,35 +4354,47 @@ msgstr "Delemballasje" msgid "Pack Quantity" msgstr "Pakkeantall" -#: company/models.py:841 +#: company/models.py:848 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:860 part/models.py:2010 +#: company/models.py:867 part/models.py:2020 msgid "multiple" msgstr "flere" -#: company/models.py:861 +#: company/models.py:868 msgid "Order multiple" msgstr "Bestill flere" -#: company/models.py:873 +#: company/models.py:880 msgid "Quantity available from supplier" msgstr "Antall tilgjengelig fra leverandør" -#: company/models.py:879 +#: company/models.py:886 msgid "Availability Updated" msgstr "Tilgjengelighet oppdatert" -#: company/models.py:880 +#: company/models.py:887 msgid "Date of last update of availability data" msgstr "Dato for siste oppdatering av tilgjengelighetsdata" -#: company/serializers.py:161 +#: company/models.py:1015 +#, fuzzy +#| msgid "Supplier Pricing" +msgid "Supplier Price Break" +msgstr "Leverandørprising" + +#: company/serializers.py:174 msgid "Default currency used for this supplier" msgstr "Standardvaluta brukt for denne leverandøren" -#: company/serializers.py:357 part/admin.py:126 +#: company/serializers.py:210 +#, fuzzy +#| msgid "Company name" +msgid "Company Name" +msgstr "Firmanavn" + +#: company/serializers.py:384 part/admin.py:126 part/serializers.py:855 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:355 @@ -4315,7 +4406,7 @@ msgstr "På lager" #: templates/js/translated/company.js:1287 #: templates/js/translated/company.js:1575 #: templates/js/translated/model_renderers.js:312 -#: templates/js/translated/part.js:815 templates/js/translated/part.js:1219 +#: templates/js/translated/part.js:814 templates/js/translated/part.js:1222 msgid "Inactive" msgstr "Inaktiv" @@ -4374,16 +4465,16 @@ msgid "Delete image" msgstr "Slett bilde" #: company/templates/company/company_base.html:92 order/models.py:938 -#: order/models.py:2032 order/templates/order/return_order_base.html:131 +#: order/models.py:2058 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:148 stock/models.py:820 -#: stock/models.py:821 stock/serializers.py:1225 +#: stock/models.py:821 stock/serializers.py:1291 #: 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:295 #: templates/js/translated/sales_order.js:820 #: templates/js/translated/stock.js:2959 -#: templates/js/translated/table_filters.js:808 +#: templates/js/translated/table_filters.js:813 msgid "Customer" msgstr "Kunde" @@ -4391,13 +4482,6 @@ msgstr "Kunde" msgid "Uses default currency" msgstr "Bruker standardvaluta" -#: company/templates/company/company_base.html:124 order/models.py:353 -#: order/templates/order/order_base.html:210 -#: order/templates/order/return_order_base.html:181 -#: order/templates/order/sales_order_base.html:225 -msgid "Address" -msgstr "Adresse" - #: company/templates/company/company_base.html:131 msgid "Phone" msgstr "Telefon" @@ -4577,7 +4661,8 @@ msgid "Delete manufacturer part" msgstr "Slett produsentdel" #: company/templates/company/manufacturer_part.html:65 -#: company/templates/company/supplier_part.html:97 order/api.py:458 +#: company/templates/company/supplier_part.html:97 order/api.py:440 +#: order/serializers.py:526 msgid "Internal Part" msgstr "Intern del" @@ -4587,7 +4672,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:832 +#: part/admin.py:122 part/serializers.py:860 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4608,7 +4693,7 @@ msgid "New Parameter" msgstr "Nytt Parameter" #: company/templates/company/manufacturer_part.html:196 -#: templates/js/translated/part.js:1423 +#: templates/js/translated/part.js:1426 msgid "Add Parameter" msgstr "" @@ -4632,10 +4717,6 @@ msgstr "Tildelte lagervarer" msgid "Contacts" msgstr "Kontakter" -#: company/templates/company/sidebar.html:35 -msgid "Addresses" -msgstr "Adresser" - #: company/templates/company/supplier_part.html:50 #: templates/js/translated/company.js:1526 msgid "Supplier part actions" @@ -4677,9 +4758,9 @@ msgstr "Slett Leverandørdel" 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:519 -#: templates/js/translated/company.js:349 templates/js/translated/part.js:1787 +#: company/templates/company/supplier_part.html:139 order/serializers.py:515 +#: part/bom.py:279 part/bom.py:311 part/serializers.py:537 +#: templates/js/translated/company.js:349 templates/js/translated/part.js:1790 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1850 #: templates/js/translated/purchase_order.js:2028 @@ -4701,75 +4782,269 @@ msgstr "Opprett ny lagervare" msgid "New Stock Item" msgstr "Ny Lagervare" -#: company/templates/company/supplier_part.html:223 -msgid "Supplier Part Orders" -msgstr "Leverandørdelordre" +#: company/templates/company/supplier_part.html:223 +msgid "Supplier Part Orders" +msgstr "Leverandørdelordre" + +#: company/templates/company/supplier_part.html:246 +msgid "Pricing Information" +msgstr "Prisinformasjon" + +#: company/templates/company/supplier_part.html:251 +#: templates/js/translated/company.js:398 +#: templates/js/translated/pricing.js:684 +msgid "Add Price Break" +msgstr "Legg til Prisbrudd" + +#: company/templates/company/supplier_part.html:276 +msgid "Supplier Part QR Code" +msgstr "" + +#: company/templates/company/supplier_part.html:287 +msgid "Link Barcode to Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:359 +msgid "Update Part Availability" +msgstr "" + +#: company/templates/company/supplier_part_sidebar.html:5 +#: part/serializers.py:859 part/stocktake.py:224 +#: part/templates/part/category.html:183 +#: part/templates/part/category_sidebar.html:17 stock/admin.py:68 +#: stock/serializers.py:976 stock/serializers.py:1154 +#: stock/templates/stock/location.html:170 +#: 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:1064 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 +#: users/models.py:206 +msgid "Stock Items" +msgstr "Lagervarer" + +#: company/templates/company/supplier_part_sidebar.html:9 +msgid "Supplier Part Pricing" +msgstr "Leverandørdelprising" + +#: company/views.py:32 +msgid "New Supplier" +msgstr "Ny Leverandør" + +#: company/views.py:38 +msgid "New Manufacturer" +msgstr "Ny Produsent" + +#: company/views.py:43 templates/InvenTree/search.html:210 +#: templates/navbar.html:60 +msgid "Customers" +msgstr "Kunder" + +#: company/views.py:44 +msgid "New Customer" +msgstr "Ny Kunde" + +#: company/views.py:52 +msgid "New Company" +msgstr "Nytt Firma" + +#: generic/states/tests.py:18 order/status_codes.py:13 +msgid "Placed" +msgstr "Plassert" + +#: importer/mixins.py:263 +#, fuzzy +#| msgid "Invalid value for overage" +msgid "Invalid export format" +msgstr "Ugyldig verdi for svinn" + +#: importer/models.py:56 +msgid "Timestamp" +msgstr "" + +#: importer/models.py:61 +#, fuzzy +#| msgid "Select file to upload" +msgid "Data file to import" +msgstr "Velg fil å laste opp" + +#: importer/models.py:70 templates/js/translated/tables.js:558 +msgid "Columns" +msgstr "" + +#: importer/models.py:81 +#, fuzzy +#| msgid "Import Parts" +msgid "Import status" +msgstr "Importér Deler" + +#: importer/models.py:91 +#, fuzzy +#| msgid "Build Details" +msgid "Field Defaults" +msgstr "Produksjonsdetaljer" + +#: importer/models.py:201 +#, fuzzy +#| msgid "Required build quantity has not been completed" +msgid "Some required fields have not been mapped" +msgstr "Nødvendig produksjonsmengde er ikke nådd" + +#: importer/models.py:346 +msgid "Column is already mapped to a database field" +msgstr "" + +#: importer/models.py:351 +msgid "Field is already mapped to a data column" +msgstr "" + +#: importer/models.py:360 +msgid "Column mapping must be linked to a valid import session" +msgstr "" + +#: importer/models.py:365 +msgid "Column does not exist in the data file" +msgstr "" + +#: importer/models.py:372 +#, fuzzy +#| msgid "User does not have permission to view this model" +msgid "Field does not exist in the target model" +msgstr "Brukeren har ikke rettigheter til å se denne modellen" + +#: importer/models.py:376 +msgid "Selected field is read-only" +msgstr "" + +#: importer/models.py:381 importer/models.py:452 +#, fuzzy +#| msgid "Active Sessions" +msgid "Import Session" +msgstr "Aktive økter" + +#: importer/models.py:385 +#, fuzzy +#| msgid "File Fields" +msgid "Field" +msgstr "Filfelter" + +#: importer/models.py:387 +msgid "Column" +msgstr "" + +#: importer/models.py:456 +#, fuzzy +#| msgid "Index" +msgid "Row Index" +msgstr "Indeks" + +#: importer/models.py:459 +#, fuzzy +#| msgid "Original Part" +msgid "Original row data" +msgstr "Original Del" + +#: importer/models.py:462 part/models.py:3841 +msgid "Data" +msgstr "" + +#: importer/models.py:464 machine/models.py:110 +msgid "Errors" +msgstr "" + +#: importer/models.py:466 part/api.py:874 +msgid "Valid" +msgstr "Gyldig" + +#: importer/operations.py:28 importer/operations.py:49 +#, fuzzy +#| msgid "Unsupported file format: {fmt}" +msgid "Unsupported data file format" +msgstr "Filformatet støttes ikke: {fmt}" -#: company/templates/company/supplier_part.html:246 -msgid "Pricing Information" -msgstr "Prisinformasjon" +#: importer/operations.py:40 +msgid "Failed to open data file" +msgstr "" -#: company/templates/company/supplier_part.html:251 -#: templates/js/translated/company.js:398 -#: templates/js/translated/pricing.js:684 -msgid "Add Price Break" -msgstr "Legg til Prisbrudd" +#: importer/operations.py:51 +msgid "Invalid data file dimensions" +msgstr "" -#: company/templates/company/supplier_part.html:276 -msgid "Supplier Part QR Code" +#: importer/serializers.py:135 +msgid "Rows" msgstr "" -#: company/templates/company/supplier_part.html:287 -msgid "Link Barcode to Supplier Part" +#: importer/serializers.py:136 +msgid "List of row IDs to accept" msgstr "" -#: company/templates/company/supplier_part.html:359 -msgid "Update Part Availability" +#: importer/serializers.py:149 +#, fuzzy +#| msgid "No data rows provided" +msgid "No rows provided" +msgstr "Ingen datarader oppgitt" + +#: importer/serializers.py:153 +#, fuzzy +#| msgid "Item cannot belong to itself" +msgid "Row does not belong to this session" +msgstr "Elementet kan ikke tilhøre seg selv" + +#: importer/serializers.py:156 +msgid "Row contains invalid data" msgstr "" -#: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:831 part/stocktake.py:224 -#: part/templates/part/category.html:183 -#: part/templates/part/category_sidebar.html:17 stock/admin.py:68 -#: stock/serializers.py:918 stock/serializers.py:1091 -#: stock/templates/stock/location.html:170 -#: 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:1061 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 -#: users/models.py:206 -msgid "Stock Items" -msgstr "Lagervarer" +#: importer/serializers.py:159 +#, fuzzy +#| msgid "This build output has already been completed" +msgid "Row has already been completed" +msgstr "Denne produksjonsartikkelen er allerede fullført" -#: company/templates/company/supplier_part_sidebar.html:9 -msgid "Supplier Part Pricing" -msgstr "Leverandørdelprising" +#: importer/status_codes.py:11 +msgid "Initializing" +msgstr "" -#: company/views.py:32 -msgid "New Supplier" -msgstr "Ny Leverandør" +#: importer/status_codes.py:12 +msgid "Mapping Columns" +msgstr "" -#: company/views.py:38 -msgid "New Manufacturer" -msgstr "Ny Produsent" +#: importer/status_codes.py:13 +#, fuzzy +#| msgid "Import Part" +msgid "Importing Data" +msgstr "Importér Del" -#: company/views.py:43 templates/InvenTree/search.html:210 -#: templates/navbar.html:60 -msgid "Customers" -msgstr "Kunder" +#: importer/status_codes.py:16 +#, fuzzy +#| msgid "Remove Existing Data" +msgid "Processing Data" +msgstr "Fjern eksisterende data" -#: company/views.py:44 -msgid "New Customer" -msgstr "Ny Kunde" +#: importer/validators.py:21 +#, fuzzy +#| msgid "Image download exceeded maximum size" +msgid "Data file exceeds maximum size limit" +msgstr "Bildenedlasting overskred maksimal størrelse" -#: company/views.py:52 -msgid "New Company" -msgstr "Nytt Firma" +#: importer/validators.py:26 +#, fuzzy +#| msgid "Stock item contains other items" +msgid "Data file contains no headers" +msgstr "Lagervare inneholder andre artikler" -#: generic/states/tests.py:18 order/status_codes.py:13 -msgid "Placed" -msgstr "Plassert" +#: importer/validators.py:29 +msgid "Data file contains too many columns" +msgstr "" + +#: importer/validators.py:32 +msgid "Data file contains too many rows" +msgstr "" + +#: importer/validators.py:49 +#, fuzzy +#| msgid "Metadata must be a python dict object" +msgid "Value must be a valid dictionary object" +msgstr "Metadata må være et python dict-objekt" #: machine/machine_types/label_printer.py:212 msgid "Copies" @@ -4783,7 +5058,7 @@ msgstr "" msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:229 order/api.py:1467 +#: machine/machine_types/label_printer.py:229 order/api.py:1388 #: templates/js/translated/sales_order.js:1078 msgid "Unknown" msgstr "Ukjent" @@ -4852,10 +5127,6 @@ msgstr "" msgid "Initialized" msgstr "" -#: machine/models.py:110 -msgid "Errors" -msgstr "" - #: machine/models.py:117 msgid "Machine status" msgstr "" @@ -4881,44 +5152,44 @@ msgstr "" msgid "Total Price" msgstr "Total pris" -#: order/api.py:157 order/serializers.py:90 +#: order/api.py:149 order/serializers.py:94 #: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:113 #: order/templates/order/sales_order_base.html:122 msgid "Order Status" msgstr "Ordrestatus" -#: order/api.py:161 templates/js/translated/table_filters.js:194 -#: templates/js/translated/table_filters.js:779 +#: order/api.py:153 templates/js/translated/table_filters.js:194 +#: templates/js/translated/table_filters.js:784 msgid "Has Pricing" msgstr "" -#: order/api.py:236 +#: order/api.py:228 msgid "No matching purchase order found" msgstr "Ingen samsvarende innkjøpsordre funnet" -#: order/api.py:435 order/api.py:801 order/models.py:1395 order/models.py:1504 -#: order/models.py:1550 order/models.py:1664 order/models.py:1818 -#: order/models.py:2231 order/models.py:2282 +#: order/api.py:417 order/api.py:755 order/models.py:1400 order/models.py:1514 +#: order/models.py:1565 order/models.py:1680 order/models.py:1839 +#: order/models.py:2258 order/models.py:2314 #: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "Ordre" -#: order/api.py:439 order/api.py:822 +#: order/api.py:421 order/api.py:776 msgid "Order Complete" msgstr "" -#: order/api.py:462 +#: order/api.py:444 msgid "Order Pending" msgstr "" -#: order/api.py:1461 order/models.py:380 order/models.py:1396 -#: order/models.py:1505 order/templates/order/order_base.html:9 +#: order/api.py:1382 order/models.py:380 order/models.py:1401 +#: order/models.py:1515 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 -#: stock/serializers.py:118 stock/templates/stock/item_base.html:176 +#: stock/serializers.py:120 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/part.js:1746 templates/js/translated/pricing.js:804 +#: templates/js/translated/part.js:1749 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:1673 @@ -4926,8 +5197,8 @@ msgstr "" msgid "Purchase Order" msgstr "Innkjøpsordre" -#: order/api.py:1465 order/models.py:1981 order/models.py:2232 -#: order/models.py:2283 order/templates/order/return_order_base.html:9 +#: order/api.py:1386 order/models.py:2007 order/models.py:2259 +#: order/models.py:2315 order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report.html:13 #: templates/js/translated/return_order.js:280 @@ -4939,11 +5210,11 @@ msgstr "Returordre" msgid "Total price for this order" msgstr "Total pris for denne ordren" -#: order/models.py:96 order/serializers.py:70 +#: order/models.py:96 order/serializers.py:72 msgid "Order Currency" msgstr "Ordrevaluta" -#: order/models.py:99 order/serializers.py:71 +#: order/models.py:99 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "Valuta for denne ordren (la stå tom for å bruke firmastandard)" @@ -4959,7 +5230,7 @@ msgstr "Ordrebeskrivelse (valgfritt)" msgid "Select project code for this order" msgstr "Velg prosjektkode for denne ordren" -#: order/models.py:303 order/models.py:1301 order/models.py:1717 +#: order/models.py:303 order/models.py:1301 order/models.py:1733 msgid "Link to external page" msgstr "Lenke til ekstern side" @@ -5008,15 +5279,15 @@ msgstr "Leverandørens ordrereferanse" msgid "received by" msgstr "mottatt av" -#: order/models.py:514 order/models.py:2058 +#: order/models.py:514 order/models.py:2084 msgid "Issue Date" msgstr "Sendt dato" -#: order/models.py:515 order/models.py:2059 +#: order/models.py:515 order/models.py:2085 msgid "Date order was issued" msgstr "Dato bestillingen ble sendt" -#: order/models.py:522 order/models.py:2066 +#: order/models.py:522 order/models.py:2092 msgid "Date order was completed" msgstr "Dato ordre ble fullført" @@ -5032,15 +5303,15 @@ msgstr "Mengde må være positiv" msgid "Company to which the items are being sold" msgstr "Firma som varene selges til" -#: order/models.py:962 order/models.py:2051 +#: order/models.py:962 order/models.py:2077 msgid "Customer Reference " msgstr "Kundereferanse " -#: order/models.py:963 order/models.py:2052 +#: order/models.py:963 order/models.py:2078 msgid "Customer order reference code" msgstr "Kundens ordrereferanse" -#: order/models.py:967 order/models.py:1671 +#: order/models.py:967 order/models.py:1687 #: templates/js/translated/sales_order.js:879 #: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" @@ -5102,20 +5373,26 @@ msgstr "Ytterligere kontekst for denne linjen" msgid "Unit price" msgstr "Enhetspris" -#: order/models.py:1380 +#: order/models.py:1361 +#, fuzzy +#| msgid "Purchase Order Items" +msgid "Purchase Order Line Item" +msgstr "Innkjøpsordreartikler" + +#: order/models.py:1385 msgid "Supplier part must match supplier" msgstr "Delens leverandør må samsvare med leverandør" -#: order/models.py:1387 +#: order/models.py:1392 msgid "deleted" msgstr "slettet" -#: order/models.py:1415 +#: order/models.py:1420 msgid "Supplier part" msgstr "Leverandørdel" -#: order/models.py:1422 order/templates/order/order_base.html:196 -#: templates/js/translated/part.js:1870 templates/js/translated/part.js:1902 +#: order/models.py:1427 order/templates/order/order_base.html:196 +#: templates/js/translated/part.js:1873 templates/js/translated/part.js:1905 #: templates/js/translated/purchase_order.js:1306 #: templates/js/translated/purchase_order.js:2169 #: templates/js/translated/return_order.js:763 @@ -5124,196 +5401,238 @@ msgstr "Leverandørdel" msgid "Received" msgstr "Mottatt" -#: order/models.py:1423 +#: order/models.py:1428 msgid "Number of items received" msgstr "Antall enheter mottatt" -#: order/models.py:1431 stock/models.py:939 stock/serializers.py:556 +#: order/models.py:1436 stock/models.py:939 stock/serializers.py:602 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2311 msgid "Purchase Price" msgstr "Innkjøpspris" -#: order/models.py:1432 +#: order/models.py:1437 msgid "Unit purchase price" msgstr "Enhet-innkjøpspris" -#: order/models.py:1447 +#: order/models.py:1452 msgid "Where does the Purchaser want this item to be stored?" msgstr "Hvor vil innkjøper at artikkelen skal lagres?" -#: order/models.py:1538 +#: order/models.py:1503 +#, fuzzy +#| msgid "Purchase Order Items" +msgid "Purchase Order Extra Line" +msgstr "Innkjøpsordreartikler" + +#: order/models.py:1532 +#, fuzzy +#| msgid "Sales Order Items" +msgid "Sales Order Line Item" +msgstr "Salgsordreartikler" + +#: order/models.py:1553 msgid "Virtual part cannot be assigned to a sales order" msgstr "Virtuell del kan ikke tildeles salgsordre" -#: order/models.py:1543 +#: order/models.py:1558 msgid "Only salable parts can be assigned to a sales order" msgstr "Kun salgbare deler kan tildeles en salgsordre" -#: order/models.py:1569 part/templates/part/part_pricing.html:107 +#: order/models.py:1584 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:1570 +#: order/models.py:1585 msgid "Unit sale price" msgstr "Enhets-salgspris" -#: order/models.py:1579 order/status_codes.py:43 +#: order/models.py:1594 order/status_codes.py:43 #: 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" -#: order/models.py:1580 +#: order/models.py:1595 msgid "Shipped quantity" msgstr "Sendt antall" -#: order/models.py:1672 +#: order/models.py:1667 +#, fuzzy +#| msgid "Sales Order Default Shipment" +msgid "Sales Order Shipment" +msgstr "Salgsordre standard fraktmetode" + +#: order/models.py:1688 msgid "Date of shipment" msgstr "Dato for forsendelse" -#: order/models.py:1678 templates/js/translated/sales_order.js:1072 +#: order/models.py:1694 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "Leveringsdato" -#: order/models.py:1679 +#: order/models.py:1695 msgid "Date of delivery of shipment" msgstr "Dato for levering av forsendelse" -#: order/models.py:1687 +#: order/models.py:1703 msgid "Checked By" msgstr "Sjekket Av" -#: order/models.py:1688 +#: order/models.py:1704 msgid "User who checked this shipment" msgstr "Brukeren som sjekket forsendelsen" -#: order/models.py:1695 order/models.py:1908 order/serializers.py:1342 -#: order/serializers.py:1452 templates/js/translated/model_renderers.js:454 +#: order/models.py:1711 order/models.py:1934 order/serializers.py:1398 +#: order/serializers.py:1508 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "Forsendelse" -#: order/models.py:1696 +#: order/models.py:1712 msgid "Shipment number" msgstr "Forsendelsesnummer" -#: order/models.py:1704 +#: order/models.py:1720 msgid "Tracking Number" msgstr "Sporingsnummer" -#: order/models.py:1705 +#: order/models.py:1721 msgid "Shipment tracking information" msgstr "Sporingsinformasjon for forsendelse" -#: order/models.py:1712 +#: order/models.py:1728 msgid "Invoice Number" msgstr "Fakturanummer" -#: order/models.py:1713 +#: order/models.py:1729 msgid "Reference number for associated invoice" msgstr "Referansenummer for tilknyttet faktura" -#: order/models.py:1733 +#: order/models.py:1749 msgid "Shipment has already been sent" msgstr "Forsendelsen er allerede sendt" -#: order/models.py:1736 +#: order/models.py:1752 msgid "Shipment has no allocated stock items" msgstr "Forsendelsen har ingen tildelte lagervarer" -#: order/models.py:1854 order/models.py:1856 +#: order/models.py:1828 +#, fuzzy +#| msgid "Sales Order Items" +msgid "Sales Order Extra Line" +msgstr "Salgsordreartikler" + +#: order/models.py:1857 +#, fuzzy +#| msgid "Sales Order Allocations" +msgid "Sales Order Allocation" +msgstr "Salgsordretildelinger" + +#: order/models.py:1880 order/models.py:1882 msgid "Stock item has not been assigned" msgstr "Lagervarer er ikke blitt tildelt" -#: order/models.py:1863 +#: order/models.py:1889 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:1866 +#: order/models.py:1892 msgid "Cannot allocate stock to a line without a part" msgstr "Kan ikke tildele lagerbeholdning til en linje uten en del" -#: order/models.py:1869 +#: order/models.py:1895 msgid "Allocation quantity cannot exceed stock quantity" msgstr "Tildelingsantall kan ikke overstige tilgjengelig lagerbeholdning" -#: order/models.py:1888 order/serializers.py:1219 +#: order/models.py:1914 order/serializers.py:1275 msgid "Quantity must be 1 for serialized stock item" msgstr "Antall må være 1 for serialisert lagervare" -#: order/models.py:1891 +#: order/models.py:1917 msgid "Sales order does not match shipment" msgstr "Salgsordre samsvarer ikke med forsendelse" -#: order/models.py:1892 plugin/base/barcodes/api.py:481 +#: order/models.py:1918 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "Forsendelsen samsvarer ikke med salgsordre" -#: order/models.py:1900 +#: order/models.py:1926 msgid "Line" msgstr "Linje" -#: order/models.py:1909 +#: order/models.py:1935 msgid "Sales order shipment reference" msgstr "Forsendelsesreferanse for salgsordre" -#: order/models.py:1922 order/models.py:2239 +#: order/models.py:1948 order/models.py:2266 #: templates/js/translated/return_order.js:721 msgid "Item" msgstr "Artikkel" -#: order/models.py:1923 +#: order/models.py:1949 msgid "Select stock item to allocate" msgstr "Velg lagervare å tildele" -#: order/models.py:1932 +#: order/models.py:1958 msgid "Enter stock allocation quantity" msgstr "Angi lagertildelingsmengde" -#: order/models.py:2021 +#: order/models.py:2047 msgid "Return Order reference" msgstr "Returordre-referanse" -#: order/models.py:2033 +#: order/models.py:2059 msgid "Company from which items are being returned" msgstr "Firmaet delen skal returneres fra" -#: order/models.py:2045 +#: order/models.py:2071 msgid "Return order status" msgstr "Returordrestatus" -#: order/models.py:2224 +#: order/models.py:2237 +#, fuzzy +#| msgid "Return order line item" +msgid "Return Order Line Item" +msgstr "Returordrelinje" + +#: 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:2240 +#: order/models.py:2267 msgid "Select item to return from customer" msgstr "Velg artikkel som skal returneres fra kunde" -#: order/models.py:2246 +#: order/models.py:2273 msgid "Received Date" msgstr "Mottatt Dato" -#: order/models.py:2247 +#: order/models.py:2274 msgid "The date this this return item was received" msgstr "Datoen denne returartikkelen ble mottatt" -#: order/models.py:2258 templates/js/translated/return_order.js:732 +#: 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:2259 +#: order/models.py:2286 msgid "Outcome for this line item" msgstr "Utfall for dette linjeelementet" -#: order/models.py:2266 +#: 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:79 order/templates/order/po_sidebar.html:5 +#: order/models.py:2303 +#, fuzzy +#| msgid "Return Order Settings" +msgid "Return Order Extra Line" +msgstr "Innstillinger for Returordre" + +#: order/serializers.py:83 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_purchase_order_report.html:22 @@ -5322,163 +5641,173 @@ msgstr "Kostnad forbundet med retur eller reparasjon for dette linjeelementet" msgid "Line Items" msgstr "Linjeelementer" -#: order/serializers.py:83 +#: order/serializers.py:87 msgid "Completed Lines" msgstr "" -#: order/serializers.py:286 +#: order/serializers.py:305 msgid "Order cannot be cancelled" msgstr "Ordren kan ikke kanselleres" -#: order/serializers.py:301 order/serializers.py:1235 +#: order/serializers.py:320 order/serializers.py:1291 msgid "Allow order to be closed with incomplete line items" msgstr "Tillat ordre å lukkes med ufullstendige linjeelementer" -#: order/serializers.py:311 order/serializers.py:1245 +#: order/serializers.py:330 order/serializers.py:1301 msgid "Order has incomplete line items" msgstr "Ordren har ufullstendige linjeelementer" -#: order/serializers.py:439 +#: order/serializers.py:468 msgid "Order is not open" msgstr "Ordren er ikke åpen" -#: order/serializers.py:460 +#: order/serializers.py:489 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:462 +#: order/serializers.py:491 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:472 +#: order/serializers.py:501 msgid "Purchase price currency" msgstr "Innkjøpsvaluta" -#: order/serializers.py:478 +#: order/serializers.py:507 msgid "Merge Items" msgstr "" -#: order/serializers.py:480 +#: order/serializers.py:509 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:498 +#: order/serializers.py:522 part/models.py:945 +msgid "Internal Part Number" +msgstr "Internt delnummer" + +#: order/serializers.py:530 +#, fuzzy +#| msgid "Internal Part Number" +msgid "Internal Part Name" +msgstr "Internt delnummer" + +#: order/serializers.py:546 msgid "Supplier part must be specified" msgstr "Leverandørdel må angis" -#: order/serializers.py:501 +#: order/serializers.py:549 msgid "Purchase order must be specified" msgstr "Innkjøpsordre må angis" -#: order/serializers.py:509 +#: order/serializers.py:557 msgid "Supplier must match purchase order" msgstr "Leverandør må samsvare med innkjøpsordre" -#: order/serializers.py:510 +#: order/serializers.py:558 msgid "Purchase order must match supplier" msgstr "Innkjøpsordre må samsvare med leverandør" -#: order/serializers.py:549 order/serializers.py:1313 +#: order/serializers.py:598 order/serializers.py:1369 msgid "Line Item" msgstr "Ordrelinje" -#: order/serializers.py:555 +#: order/serializers.py:604 msgid "Line item does not match purchase order" msgstr "Linjeelementet samsvarer ikke med innkjøpsordre" -#: order/serializers.py:565 order/serializers.py:673 order/serializers.py:1657 +#: order/serializers.py:614 order/serializers.py:722 order/serializers.py:1715 msgid "Select destination location for received items" msgstr "Velg lagerplassering for mottatte enheter" -#: order/serializers.py:581 templates/js/translated/purchase_order.js:1130 +#: order/serializers.py:630 templates/js/translated/purchase_order.js:1130 msgid "Enter batch code for incoming stock items" msgstr "Angi batchkode for innkommende lagervarer" -#: order/serializers.py:589 templates/js/translated/purchase_order.js:1154 +#: order/serializers.py:638 templates/js/translated/purchase_order.js:1154 msgid "Enter serial numbers for incoming stock items" msgstr "Angi serienummer for innkommende lagervarer" -#: order/serializers.py:600 templates/js/translated/barcode.js:52 +#: order/serializers.py:649 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "Strekkode" -#: order/serializers.py:601 +#: order/serializers.py:650 msgid "Scanned barcode" msgstr "Skannet strekkode" -#: order/serializers.py:617 +#: order/serializers.py:666 msgid "Barcode is already in use" msgstr "Strekkode allerede i bruk" -#: order/serializers.py:641 +#: order/serializers.py:690 msgid "An integer quantity must be provided for trackable parts" msgstr "Heltallsverdi må angis for sporbare deler" -#: order/serializers.py:689 order/serializers.py:1673 +#: order/serializers.py:738 order/serializers.py:1731 msgid "Line items must be provided" msgstr "Linjeelementer må være oppgitt" -#: order/serializers.py:705 +#: order/serializers.py:754 msgid "Destination location must be specified" msgstr "Målplassering må angis" -#: order/serializers.py:716 +#: order/serializers.py:765 msgid "Supplied barcode values must be unique" msgstr "Angitte strekkodeverdier må være unike" -#: order/serializers.py:1062 +#: order/serializers.py:1117 msgid "Sale price currency" msgstr "Valuta for salgspris" -#: order/serializers.py:1122 +#: order/serializers.py:1178 msgid "No shipment details provided" msgstr "Ingen forsendelsesopplysninger oppgitt" -#: order/serializers.py:1183 order/serializers.py:1322 +#: order/serializers.py:1239 order/serializers.py:1378 msgid "Line item is not associated with this order" msgstr "Linjeelement er ikke knyttet til denne ordren" -#: order/serializers.py:1202 +#: order/serializers.py:1258 msgid "Quantity must be positive" msgstr "Mengden må være positiv" -#: order/serializers.py:1332 +#: order/serializers.py:1388 msgid "Enter serial numbers to allocate" msgstr "Skriv inn serienummer for å tildele" -#: order/serializers.py:1354 order/serializers.py:1460 +#: order/serializers.py:1410 order/serializers.py:1516 msgid "Shipment has already been shipped" msgstr "Forsendelsen er allerede sendt" -#: order/serializers.py:1357 order/serializers.py:1463 +#: order/serializers.py:1413 order/serializers.py:1519 msgid "Shipment is not associated with this order" msgstr "Forsendelsen er ikke knyttet til denne ordren" -#: order/serializers.py:1404 +#: order/serializers.py:1460 msgid "No match found for the following serial numbers" msgstr "Ingen treff funnet for følgende serienummer" -#: order/serializers.py:1411 +#: order/serializers.py:1467 msgid "The following serial numbers are already allocated" msgstr "Følgende serienummer er allerede tildelt" -#: order/serializers.py:1627 +#: order/serializers.py:1685 msgid "Return order line item" msgstr "Returordrelinje" -#: order/serializers.py:1633 +#: order/serializers.py:1691 msgid "Line item does not match return order" msgstr "Linjeelementet samsvarer ikke med returordre" -#: order/serializers.py:1636 +#: order/serializers.py:1694 msgid "Line item has already been received" msgstr "Linjeelementet er allerede mottatt" -#: order/serializers.py:1665 +#: order/serializers.py:1723 msgid "Items can only be received against orders which are in progress" msgstr "Artikler kan bare mottas mot ordrer som pågår" -#: order/serializers.py:1743 +#: order/serializers.py:1806 msgid "Line price currency" msgstr "Valuta for linje" @@ -5808,7 +6137,7 @@ msgstr "Kundereferanse" #: 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:1073 +#: templates/js/translated/part.js:1076 #: templates/js/translated/purchase_order.js:1752 #: templates/js/translated/return_order.js:380 #: templates/js/translated/sales_order.js:891 @@ -5904,34 +6233,29 @@ msgstr "Oppdaterte {part} enhetspris to {price}" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "Oppdaterte {part} enhetspris til {price} og antall til {qty}" -#: part/admin.py:39 part/admin.py:398 part/models.py:3944 part/stocktake.py:219 +#: part/admin.py:39 part/admin.py:398 part/models.py:3991 part/stocktake.py:219 #: stock/admin.py:152 msgid "Part ID" msgstr "Del-ID" -#: part/admin.py:41 part/admin.py:405 part/models.py:3945 part/stocktake.py:220 -#: stock/admin.py:156 -msgid "Part Name" -msgstr "Delnavn" - #: part/admin.py:45 part/stocktake.py:221 msgid "Part Description" msgstr "Delbeskrivelse" -#: part/admin.py:48 part/models.py:940 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:944 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 -#: templates/js/translated/part.js:1227 templates/js/translated/part.js:2341 +#: templates/js/translated/part.js:1230 templates/js/translated/part.js:2344 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:949 part/templates/part/part_base.html:277 -#: report/models.py:162 templates/js/translated/part.js:1232 -#: templates/js/translated/part.js:2347 +#: part/admin.py:50 part/models.py:953 part/templates/part/part_base.html:277 +#: report/models.py:162 templates/js/translated/part.js:1235 +#: templates/js/translated/part.js:2350 msgid "Revision" msgstr "Revisjon" -#: part/admin.py:53 part/admin.py:319 part/models.py:922 +#: part/admin.py:53 part/admin.py:319 part/models.py:926 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "Nøkkelord" @@ -5944,7 +6268,8 @@ msgstr "Del-bilde" msgid "Category ID" msgstr "Kategori-ID" -#: part/admin.py:67 part/admin.py:304 part/stocktake.py:223 +#: part/admin.py:67 part/admin.py:304 part/serializers.py:837 +#: part/stocktake.py:223 msgid "Category Name" msgstr "Kategorinavn" @@ -5956,11 +6281,11 @@ msgstr "Standard plasserings-ID" msgid "Default Supplier ID" msgstr "Standard leverandør-ID" -#: part/admin.py:81 part/models.py:908 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:912 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "Variant av" -#: part/admin.py:84 part/models.py:1036 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1040 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "Minimal lagerbeholdning" @@ -5968,18 +6293,19 @@ msgstr "Minimal lagerbeholdning" msgid "Used In" msgstr "Brukt i" -#: part/admin.py:150 part/templates/part/part_base.html:241 stock/admin.py:235 -#: templates/js/translated/part.js:715 templates/js/translated/part.js:2153 +#: part/admin.py:150 part/serializers.py:854 +#: part/templates/part/part_base.html:241 stock/admin.py:235 +#: templates/js/translated/part.js:714 templates/js/translated/part.js:2156 msgid "Building" msgstr "Produseres" -#: part/admin.py:155 part/models.py:3088 part/models.py:3102 -#: templates/js/translated/part.js:970 +#: part/admin.py:155 part/models.py:3098 part/models.py:3112 +#: templates/js/translated/part.js:973 msgid "Minimum Cost" msgstr "Minimal kostnad" -#: part/admin.py:158 part/models.py:3095 part/models.py:3109 -#: templates/js/translated/part.js:980 +#: part/admin.py:158 part/models.py:3105 part/models.py:3119 +#: templates/js/translated/part.js:983 msgid "Maximum Cost" msgstr "Maksimal kostnad" @@ -5996,14 +6322,14 @@ msgstr "Overordnet navn" msgid "Category Path" msgstr "Sti til kategori" -#: part/admin.py:325 part/models.py:396 part/serializers.py:124 -#: part/serializers.py:267 part/serializers.py:386 +#: part/admin.py:325 part/models.py:397 part/serializers.py:130 +#: part/serializers.py:282 part/serializers.py:404 #: 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:2807 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:203 msgid "Parts" msgstr "Deler" @@ -6020,125 +6346,117 @@ msgstr "BOM artikkel-ID" msgid "Parent IPN" msgstr "Overodnet IPN" -#: part/admin.py:402 part/models.py:3946 -msgid "Part IPN" -msgstr "Del -IPN" - -#: part/admin.py:415 part/serializers.py:1274 +#: part/admin.py:415 part/serializers.py:1302 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "Minstepris" -#: part/admin.py:420 part/serializers.py:1289 +#: part/admin.py:420 part/serializers.py:1317 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "Makspris" -#: part/api.py:104 +#: part/api.py:105 msgid "Starred" msgstr "" -#: part/api.py:106 +#: part/api.py:107 msgid "Filter by starred categories" msgstr "" -#: part/api.py:123 stock/api.py:312 +#: part/api.py:124 stock/api.py:312 msgid "Depth" msgstr "" -#: part/api.py:123 +#: part/api.py:124 msgid "Filter by category depth" msgstr "" -#: part/api.py:141 stock/api.py:330 +#: part/api.py:142 stock/api.py:330 msgid "Top Level" msgstr "" -#: part/api.py:143 +#: part/api.py:144 msgid "Filter by top-level categories" msgstr "" -#: part/api.py:156 stock/api.py:345 +#: part/api.py:157 stock/api.py:345 msgid "Cascade" msgstr "" -#: part/api.py:158 +#: part/api.py:159 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:179 templates/js/translated/part.js:308 +#: part/api.py:180 templates/js/translated/part.js:307 msgid "Parent" msgstr "" -#: part/api.py:181 +#: part/api.py:182 msgid "Filter by parent category" msgstr "" -#: part/api.py:214 +#: part/api.py:215 msgid "Exclude Tree" msgstr "" -#: part/api.py:216 +#: part/api.py:217 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:449 +#: part/api.py:442 msgid "Has Results" msgstr "" -#: part/api.py:616 +#: part/api.py:609 msgid "Incoming Purchase Order" msgstr "Innkommende innkjøpsordre" -#: part/api.py:634 +#: part/api.py:627 msgid "Outgoing Sales Order" msgstr "Utgående salgsordre" -#: part/api.py:650 +#: part/api.py:643 msgid "Stock produced by Build Order" msgstr "Lagervarer produsert av en produksjonsordre" -#: part/api.py:734 +#: part/api.py:727 msgid "Stock required for Build Order" msgstr "Lagervarer påkrevd for produksjonsordre" -#: part/api.py:881 -msgid "Valid" -msgstr "Gyldig" - -#: part/api.py:882 +#: part/api.py:875 msgid "Validate entire Bill of Materials" msgstr "Godkjenn hele Stykklisten" -#: part/api.py:888 +#: part/api.py:881 msgid "This option must be selected" msgstr "Dette alternativet må være valgt" -#: part/api.py:1105 +#: part/api.py:1098 msgid "BOM Valid" msgstr "" -#: part/api.py:1508 part/models.py:932 part/models.py:3374 part/models.py:3889 -#: part/serializers.py:401 part/serializers.py:1130 -#: part/templates/part/part_base.html:260 stock/api.py:791 +#: part/api.py:1494 part/models.py:936 part/models.py:3385 part/models.py:3936 +#: part/serializers.py:419 part/serializers.py:1158 +#: part/templates/part/part_base.html:260 stock/api.py:783 #: 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:2380 msgid "Category" msgstr "Kategori" -#: part/api.py:1796 +#: part/api.py:1784 msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:104 part/models.py:975 +#: part/bom.py:170 part/models.py:104 part/models.py:979 #: 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:833 +#: part/bom.py:171 part/serializers.py:861 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "Total lagerbeholdning" @@ -6147,7 +6465,7 @@ msgstr "Total lagerbeholdning" msgid "Input quantity for price calculation" msgstr "Sett inn antall for prisberegning" -#: part/models.py:85 part/models.py:3890 part/templates/part/category.html:16 +#: part/models.py:85 part/models.py:3937 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Delkategori" @@ -6162,7 +6480,7 @@ msgstr "Delkategorier" msgid "Default location for parts in this category" msgstr "Standardplassering for deler i denne kategorien" -#: part/models.py:110 stock/models.py:175 templates/js/translated/part.js:2810 +#: part/models.py:110 stock/models.py:175 templates/js/translated/part.js:2813 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 @@ -6194,1002 +6512,1049 @@ msgstr "Ikon (valgfritt)" 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:485 +#: part/models.py:486 +msgid "Cannot delete this part as it is locked" +msgstr "" + +#: part/models.py:489 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:490 +#: part/models.py:494 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:528 +#: part/models.py:532 msgid "Invalid choice for parent part" msgstr "Ugyldig valg for overordnet del" -#: part/models.py:576 part/models.py:583 +#: part/models.py:580 part/models.py:587 #, 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:595 +#: part/models.py:599 #, 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:658 +#: part/models.py:662 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "IPN må samsvare med regex-mønsteret {pattern}" -#: part/models.py:736 +#: part/models.py:740 msgid "Stock item with this serial number already exists" msgstr "Lagervare med dette serienummeret eksisterer allerede" -#: part/models.py:837 +#: part/models.py:841 msgid "Duplicate IPN not allowed in part settings" msgstr "Duplikat av internt delnummer er ikke tillatt i delinnstillinger" -#: part/models.py:847 +#: part/models.py:851 msgid "Part with this Name, IPN and Revision already exists." msgstr "Del med dette Navnet, internt delnummer og Revisjon eksisterer allerede." -#: part/models.py:862 +#: part/models.py:866 msgid "Parts cannot be assigned to structural part categories!" msgstr "Deler kan ikke tilordnes strukturelle delkategorier!" -#: part/models.py:891 part/models.py:3945 +#: part/models.py:895 part/models.py:3992 msgid "Part name" msgstr "Delnavn" -#: part/models.py:896 +#: part/models.py:900 msgid "Is Template" msgstr "Er Mal" -#: part/models.py:897 +#: part/models.py:901 msgid "Is this part a template part?" msgstr "Er delen en maldel?" -#: part/models.py:907 +#: part/models.py:911 msgid "Is this part a variant of another part?" msgstr "Er delen en variant av en annen del?" -#: part/models.py:915 +#: part/models.py:919 msgid "Part description (optional)" msgstr "Delbeskrivelse (valgfritt)" -#: part/models.py:923 +#: part/models.py:927 msgid "Part keywords to improve visibility in search results" msgstr "Del-nøkkelord for å øke synligheten i søkeresultater" -#: part/models.py:933 +#: part/models.py:937 msgid "Part category" msgstr "Delkategori" -#: part/models.py:941 -msgid "Internal Part Number" -msgstr "Internt delnummer" - -#: part/models.py:948 +#: part/models.py:952 msgid "Part revision or version number" msgstr "Delrevisjon eller versjonsnummer" -#: part/models.py:973 +#: part/models.py:977 msgid "Where is this item normally stored?" msgstr "Hvor er denne artikkelen vanligvis lagret?" -#: part/models.py:1019 part/templates/part/part_base.html:376 +#: part/models.py:1023 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "Standard leverandør" -#: part/models.py:1020 +#: part/models.py:1024 msgid "Default supplier part" msgstr "Standard leverandørdel" -#: part/models.py:1027 +#: part/models.py:1031 msgid "Default Expiry" msgstr "Standard utløp" -#: part/models.py:1028 +#: part/models.py:1032 msgid "Expiry time (in days) for stock items of this part" msgstr "Utløpstid (i dager) for lagervarer av denne delen" -#: part/models.py:1037 +#: part/models.py:1041 msgid "Minimum allowed stock level" msgstr "Minimum tillatt lagernivå" -#: part/models.py:1046 +#: part/models.py:1050 msgid "Units of measure for this part" msgstr "Måleenheter for denne delen" -#: part/models.py:1053 +#: part/models.py:1057 msgid "Can this part be built from other parts?" msgstr "Kan denne delen bygges fra andre deler?" -#: part/models.py:1059 +#: part/models.py:1063 msgid "Can this part be used to build other parts?" msgstr "Kan denne delen brukes til å bygge andre deler?" -#: part/models.py:1065 +#: part/models.py:1069 msgid "Does this part have tracking for unique items?" msgstr "Har denne delen sporing av unike artikler?" -#: part/models.py:1071 +#: part/models.py:1075 msgid "Can this part be purchased from external suppliers?" msgstr "Kan denne delen kjøpes inn fra eksterne leverandører?" -#: part/models.py:1077 +#: part/models.py:1081 msgid "Can this part be sold to customers?" msgstr "Kan denne delen selges til kunder?" -#: part/models.py:1081 +#: part/models.py:1085 msgid "Is this part active?" msgstr "Er denne delen aktiv?" -#: part/models.py:1087 +#: part/models.py:1090 templates/js/translated/part.js:818 +#: templates/js/translated/table_filters.js:721 +#, fuzzy +#| msgid "Lock" +msgid "Locked" +msgstr "Lås" + +#: part/models.py:1091 +#, fuzzy +#| msgid "Build order part cannot be changed" +msgid "Locked parts cannot be edited" +msgstr "Produksjonsordrens del kan ikke endres" + +#: part/models.py:1097 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:1093 +#: part/models.py:1103 msgid "BOM checksum" msgstr "Kontrollsum for BOM" -#: part/models.py:1094 +#: part/models.py:1104 msgid "Stored BOM checksum" msgstr "Lagret BOM-kontrollsum" -#: part/models.py:1102 +#: part/models.py:1112 msgid "BOM checked by" msgstr "Stykkliste sjekket av" -#: part/models.py:1107 +#: part/models.py:1117 msgid "BOM checked date" msgstr "Stykkliste sjekket dato" -#: part/models.py:1123 +#: part/models.py:1133 msgid "Creation User" msgstr "Opprettingsbruker" -#: part/models.py:1133 +#: part/models.py:1143 msgid "Owner responsible for this part" msgstr "Eier ansvarlig for denne delen" -#: part/models.py:1138 part/templates/part/part_base.html:339 +#: part/models.py:1148 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:2474 msgid "Last Stocktake" msgstr "Siste lagertelling" -#: part/models.py:2011 +#: part/models.py:2021 msgid "Sell multiple" msgstr "Selg flere" -#: part/models.py:3002 +#: part/models.py:3012 msgid "Currency used to cache pricing calculations" msgstr "Valuta som brukes til å bufre prisberegninger" -#: part/models.py:3018 +#: part/models.py:3028 msgid "Minimum BOM Cost" msgstr "Minimal BOM-kostnad" -#: part/models.py:3019 +#: part/models.py:3029 msgid "Minimum cost of component parts" msgstr "Minste kostnad for komponentdeler" -#: part/models.py:3025 +#: part/models.py:3035 msgid "Maximum BOM Cost" msgstr "Maksimal BOM-kostnad" -#: part/models.py:3026 +#: part/models.py:3036 msgid "Maximum cost of component parts" msgstr "Maksimal kostnad for komponentdeler" -#: part/models.py:3032 +#: part/models.py:3042 msgid "Minimum Purchase Cost" msgstr "Minimal innkjøpskostnad" -#: part/models.py:3033 +#: part/models.py:3043 msgid "Minimum historical purchase cost" msgstr "Minimal historisk innkjøpskostnad" -#: part/models.py:3039 +#: part/models.py:3049 msgid "Maximum Purchase Cost" msgstr "Maksimal innkjøpskostnad" -#: part/models.py:3040 +#: part/models.py:3050 msgid "Maximum historical purchase cost" msgstr "Maksimal historisk innkjøpskostnad" -#: part/models.py:3046 +#: part/models.py:3056 msgid "Minimum Internal Price" msgstr "Minimal intern pris" -#: part/models.py:3047 +#: part/models.py:3057 msgid "Minimum cost based on internal price breaks" msgstr "Minimal kostnad basert på interne prisbrudd" -#: part/models.py:3053 +#: part/models.py:3063 msgid "Maximum Internal Price" msgstr "Maksimal intern pris" -#: part/models.py:3054 +#: part/models.py:3064 msgid "Maximum cost based on internal price breaks" msgstr "Maksimal kostnad basert på interne prisbrudd" -#: part/models.py:3060 +#: part/models.py:3070 msgid "Minimum Supplier Price" msgstr "Minimal leverandørpris" -#: part/models.py:3061 +#: part/models.py:3071 msgid "Minimum price of part from external suppliers" msgstr "Minimumspris for del fra eksterne leverandører" -#: part/models.py:3067 +#: part/models.py:3077 msgid "Maximum Supplier Price" msgstr "Maksimal leverandørpris" -#: part/models.py:3068 +#: part/models.py:3078 msgid "Maximum price of part from external suppliers" msgstr "Maksimalpris for del fra eksterne leverandører" -#: part/models.py:3074 +#: part/models.py:3084 msgid "Minimum Variant Cost" msgstr "Minimal Variantkostnad" -#: part/models.py:3075 +#: part/models.py:3085 msgid "Calculated minimum cost of variant parts" msgstr "Beregnet minimal kostnad for variantdeler" -#: part/models.py:3081 +#: part/models.py:3091 msgid "Maximum Variant Cost" msgstr "Maksimal Variantkostnad" -#: part/models.py:3082 +#: part/models.py:3092 msgid "Calculated maximum cost of variant parts" msgstr "Beregnet maksimal kostnad for variantdeler" -#: part/models.py:3089 +#: part/models.py:3099 msgid "Override minimum cost" msgstr "Overstyr minstekostnad" -#: part/models.py:3096 +#: part/models.py:3106 msgid "Override maximum cost" msgstr "Overstyr maksimal kostnad" -#: part/models.py:3103 +#: part/models.py:3113 msgid "Calculated overall minimum cost" msgstr "Beregnet samlet minimal kostnad" -#: part/models.py:3110 +#: part/models.py:3120 msgid "Calculated overall maximum cost" msgstr "Beregnet samlet maksimal kostnad" -#: part/models.py:3116 +#: part/models.py:3126 msgid "Minimum Sale Price" msgstr "Minimal salgspris" -#: part/models.py:3117 +#: part/models.py:3127 msgid "Minimum sale price based on price breaks" msgstr "Minimal salgspris basert på prisbrudd" -#: part/models.py:3123 +#: part/models.py:3133 msgid "Maximum Sale Price" msgstr "Maksimal Salgspris" -#: part/models.py:3124 +#: part/models.py:3134 msgid "Maximum sale price based on price breaks" msgstr "Maksimal salgspris basert på prisbrudd" -#: part/models.py:3130 +#: part/models.py:3140 msgid "Minimum Sale Cost" msgstr "Minimal Salgskostnad" -#: part/models.py:3131 +#: part/models.py:3141 msgid "Minimum historical sale price" msgstr "Minimal historisk salgspris" -#: part/models.py:3137 +#: part/models.py:3147 msgid "Maximum Sale Cost" msgstr "Maksimal Salgskostnad" -#: part/models.py:3138 +#: part/models.py:3148 msgid "Maximum historical sale price" msgstr "Maksimal historisk salgspris" -#: part/models.py:3157 +#: part/models.py:3167 msgid "Part for stocktake" msgstr "Del for varetelling" -#: part/models.py:3162 +#: part/models.py:3172 msgid "Item Count" msgstr "Antall" -#: part/models.py:3163 +#: part/models.py:3173 msgid "Number of individual stock entries at time of stocktake" msgstr "Antall individuelle lagerenheter på tidspunkt for varetelling" -#: part/models.py:3171 +#: part/models.py:3181 msgid "Total available stock at time of stocktake" msgstr "Total tilgjengelig lagerbeholdning på tidspunkt for varetelling" -#: part/models.py:3175 part/models.py:3258 +#: part/models.py:3185 part/models.py:3268 #: part/templates/part/part_scheduling.html:13 #: 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:1086 templates/js/translated/pricing.js:826 +#: templates/js/translated/part.js:1089 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 #: templates/js/translated/purchase_order.js:1731 #: templates/js/translated/stock.js:2821 msgid "Date" msgstr "Dato" -#: part/models.py:3176 +#: part/models.py:3186 msgid "Date stocktake was performed" msgstr "Dato for utført lagertelling" -#: part/models.py:3184 +#: part/models.py:3194 msgid "Additional notes" msgstr "Flere notater" -#: part/models.py:3194 +#: part/models.py:3204 msgid "User who performed this stocktake" msgstr "Bruker som utførte denne lagertellingen" -#: part/models.py:3200 +#: part/models.py:3210 msgid "Minimum Stock Cost" msgstr "Minimal lagerkostnad" -#: part/models.py:3201 +#: part/models.py:3211 msgid "Estimated minimum cost of stock on hand" msgstr "Estimert minimal kostnad for lagerbeholdning" -#: part/models.py:3207 +#: part/models.py:3217 msgid "Maximum Stock Cost" msgstr "Maksimal lagerkostnad" -#: part/models.py:3208 +#: part/models.py:3218 msgid "Estimated maximum cost of stock on hand" msgstr "Estimert maksimal kostnad for lagerbeholdning" -#: part/models.py:3264 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3274 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "Rapport" -#: part/models.py:3265 +#: part/models.py:3275 msgid "Stocktake report file (generated internally)" msgstr "Lagertellingsrapportfil (generert internt)" -#: part/models.py:3270 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3280 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "Antall deler" -#: part/models.py:3271 +#: part/models.py:3281 msgid "Number of parts covered by stocktake" msgstr "Antall deler dekket av varetellingen" -#: part/models.py:3281 +#: part/models.py:3291 msgid "User who requested this stocktake report" msgstr "Bruker som forespurte varetellingsrapporten" -#: part/models.py:3423 +#: part/models.py:3301 +#, fuzzy +#| msgid "Add Sell Price Break" +msgid "Part Sale Price Break" +msgstr "Legg til salgsprisbrudd" + +#: part/models.py:3413 +#, fuzzy +#| msgid "Part Test Templates" +msgid "Part Test Template" +msgstr "Deltestmaler" + +#: part/models.py:3439 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3444 part/models.py:3608 +#: part/models.py:3460 part/models.py:3629 msgid "Choices must be unique" msgstr "Valg må være unike" -#: part/models.py:3455 +#: part/models.py:3471 msgid "Test templates can only be created for trackable parts" msgstr "Testmaler kan bare bli opprettet for sporbare deler" -#: part/models.py:3466 +#: part/models.py:3482 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3483 templates/js/translated/part.js:2880 +#: part/models.py:3499 templates/js/translated/part.js:2883 msgid "Test Name" msgstr "Testnavn" -#: part/models.py:3484 +#: part/models.py:3500 msgid "Enter a name for the test" msgstr "Angi et navn for testen" -#: part/models.py:3490 +#: part/models.py:3506 msgid "Test Key" msgstr "" -#: part/models.py:3491 +#: part/models.py:3507 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3498 +#: part/models.py:3514 msgid "Test Description" msgstr "Testbeskrivelse" -#: part/models.py:3499 +#: part/models.py:3515 msgid "Enter description for this test" msgstr "Legg inn beskrivelse for denne testen" -#: part/models.py:3503 report/models.py:209 -#: templates/js/translated/part.js:2901 +#: part/models.py:3519 report/models.py:209 +#: templates/js/translated/part.js:2904 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "Aktivert" -#: part/models.py:3503 +#: part/models.py:3519 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3508 templates/js/translated/part.js:2909 +#: part/models.py:3524 templates/js/translated/part.js:2912 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "Påkrevd" -#: part/models.py:3509 +#: part/models.py:3525 msgid "Is this test required to pass?" msgstr "Er det påkrevd at denne testen bestås?" -#: part/models.py:3514 templates/js/translated/part.js:2917 +#: part/models.py:3530 templates/js/translated/part.js:2920 msgid "Requires Value" msgstr "Krever verdi" -#: part/models.py:3515 +#: part/models.py:3531 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:3520 templates/js/translated/part.js:2924 +#: part/models.py:3536 templates/js/translated/part.js:2927 msgid "Requires Attachment" msgstr "Krever vedlegg" -#: part/models.py:3522 +#: part/models.py:3538 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:3528 part/models.py:3667 templates/js/translated/part.js:1637 +#: part/models.py:3544 part/models.py:3688 templates/js/translated/part.js:1640 msgid "Choices" msgstr "Valg" -#: part/models.py:3529 +#: part/models.py:3545 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3583 +#: part/models.py:3577 +#, fuzzy +#| msgid "Part Parameter Templates" +msgid "Part Parameter Template" +msgstr "Mal for Delparameter" + +#: part/models.py:3604 msgid "Checkbox parameters cannot have units" msgstr "Sjekkboksparameter kan ikke ha enheter" -#: part/models.py:3588 +#: part/models.py:3609 msgid "Checkbox parameters cannot have choices" msgstr "Sjekkboksparameter kan ikke ha valg" -#: part/models.py:3625 +#: part/models.py:3646 msgid "Parameter template name must be unique" msgstr "Navn på parametermal må være unikt" -#: part/models.py:3640 +#: part/models.py:3661 msgid "Parameter Name" msgstr "Parameternavn" -#: part/models.py:3647 +#: part/models.py:3668 msgid "Physical units for this parameter" msgstr "Fysisk enheter for denne parameteren" -#: part/models.py:3655 +#: part/models.py:3676 msgid "Parameter description" msgstr "Parameterbeskrivelse" -#: part/models.py:3661 templates/js/translated/part.js:1628 -#: templates/js/translated/table_filters.js:825 +#: part/models.py:3682 templates/js/translated/part.js:1631 +#: templates/js/translated/table_filters.js:830 msgid "Checkbox" msgstr "Sjekkboks" -#: part/models.py:3662 +#: part/models.py:3683 msgid "Is this parameter a checkbox?" msgstr "Er dette parameteret en sjekkboks?" -#: part/models.py:3668 +#: part/models.py:3689 msgid "Valid choices for this parameter (comma-separated)" msgstr "Gyldige valg for denne parameteren (kommaseparert)" -#: part/models.py:3745 +#: part/models.py:3723 +#, fuzzy +#| msgid "Part Parameters" +msgid "Part Parameter" +msgstr "Delparametere" + +#: part/models.py:3749 +msgid "Parameter cannot be modified - part is locked" +msgstr "" + +#: part/models.py:3785 msgid "Invalid choice for parameter value" msgstr "Ugyldig valg for parameterverdi" -#: part/models.py:3788 +#: part/models.py:3828 msgid "Parent Part" msgstr "Overordnet del" -#: part/models.py:3796 part/models.py:3897 part/models.py:3898 +#: part/models.py:3836 part/models.py:3944 part/models.py:3945 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "Parametermal" -#: part/models.py:3801 -msgid "Data" -msgstr "" - -#: part/models.py:3802 +#: part/models.py:3842 msgid "Parameter Value" msgstr "Parameterverdi" -#: part/models.py:3904 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3892 +#, fuzzy +#| msgid "Copy Category Parameter Templates" +msgid "Part Category Parameter Template" +msgstr "Kopier designmaler for kategoriparametere" + +#: part/models.py:3951 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "Standardverdi" -#: part/models.py:3905 +#: part/models.py:3952 msgid "Default Parameter Value" msgstr "Standard Parameterverdi" -#: part/models.py:3943 +#: part/models.py:3990 msgid "Part ID or part name" msgstr "Del-ID eller delnavn" -#: part/models.py:3944 +#: part/models.py:3991 msgid "Unique part ID value" msgstr "Unik del-ID-verdi" -#: part/models.py:3946 +#: part/models.py:3993 msgid "Part IPN value" msgstr "Delens interne delnummerverdi" -#: part/models.py:3947 +#: part/models.py:3994 msgid "Level" msgstr "Nivå" -#: part/models.py:3947 +#: part/models.py:3994 msgid "BOM level" msgstr "BOM-nivå" -#: part/models.py:4037 +#: part/models.py:4105 +msgid "BOM item cannot be modified - assembly is locked" +msgstr "" + +#: part/models.py:4112 +msgid "BOM item cannot be modified - variant assembly is locked" +msgstr "" + +#: part/models.py:4122 msgid "Select parent part" msgstr "Velg overordnet del" -#: part/models.py:4047 +#: part/models.py:4132 msgid "Sub part" msgstr "Underordnet del" -#: part/models.py:4048 +#: part/models.py:4133 msgid "Select part to be used in BOM" msgstr "Velg del som skal brukes i BOM" -#: part/models.py:4059 +#: part/models.py:4144 msgid "BOM quantity for this BOM item" msgstr "BOM-antall for denne BOM-artikkelen" -#: part/models.py:4065 +#: part/models.py:4150 msgid "This BOM item is optional" msgstr "Denne BOM-artikkelen er valgfri" -#: part/models.py:4071 +#: part/models.py:4156 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:4078 part/templates/part/upload_bom.html:55 +#: part/models.py:4163 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Svinn" -#: part/models.py:4079 +#: part/models.py:4164 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Forventet produksjonssvinn (absolutt eller prosent)" -#: part/models.py:4086 +#: part/models.py:4171 msgid "BOM item reference" msgstr "BOM-artikkelreferanse" -#: part/models.py:4094 +#: part/models.py:4179 msgid "BOM item notes" msgstr "BOM-artikkelnotater" -#: part/models.py:4100 +#: part/models.py:4185 msgid "Checksum" msgstr "Kontrollsum" -#: part/models.py:4101 +#: part/models.py:4186 msgid "BOM line checksum" msgstr "BOM-linje kontrollsum" -#: part/models.py:4106 templates/js/translated/table_filters.js:174 +#: part/models.py:4191 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "Godkjent" -#: part/models.py:4107 +#: part/models.py:4192 msgid "This BOM item has been validated" msgstr "Denne BOM-artikkelen er godkjent" -#: part/models.py:4112 part/templates/part/upload_bom.html:57 +#: part/models.py:4197 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:4113 +#: part/models.py:4198 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "Denne BOM-artikkelen er arvet fra stykkliste for variantdeler" -#: part/models.py:4118 part/templates/part/upload_bom.html:56 +#: part/models.py:4203 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "Tillat Varianter" -#: part/models.py:4119 +#: part/models.py:4204 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:4204 stock/models.py:663 +#: part/models.py:4289 stock/models.py:663 msgid "Quantity must be integer value for trackable parts" msgstr "Antall må være heltallsverdi for sporbare deler" -#: part/models.py:4214 part/models.py:4216 +#: part/models.py:4299 part/models.py:4301 msgid "Sub part must be specified" msgstr "Underordnet del må angis" -#: part/models.py:4354 +#: part/models.py:4439 msgid "BOM Item Substitute" msgstr "BOM-artikkel erstatning" -#: part/models.py:4375 +#: part/models.py:4460 msgid "Substitute part cannot be the same as the master part" msgstr "Erstatningsdel kan ikke være samme som hoveddelen" -#: part/models.py:4388 +#: part/models.py:4473 msgid "Parent BOM item" msgstr "Overordnet BOM-artikkel" -#: part/models.py:4396 +#: part/models.py:4481 msgid "Substitute part" msgstr "Erstatningsdel" -#: part/models.py:4412 +#: part/models.py:4497 msgid "Part 1" msgstr "Del 1" -#: part/models.py:4420 +#: part/models.py:4505 msgid "Part 2" msgstr "Del 2" -#: part/models.py:4421 +#: part/models.py:4506 msgid "Select Related Part" msgstr "Velg relatert del" -#: part/models.py:4440 +#: part/models.py:4525 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:4445 +#: part/models.py:4530 msgid "Duplicate relationship already exists" msgstr "Duplikatforhold eksisterer allerede" -#: part/serializers.py:118 +#: part/serializers.py:124 msgid "Parent Category" msgstr "" -#: part/serializers.py:119 templates/js/translated/part.js:309 +#: part/serializers.py:125 templates/js/translated/part.js:308 msgid "Parent part category" msgstr "" -#: part/serializers.py:126 part/serializers.py:148 +#: part/serializers.py:132 part/serializers.py:154 #: part/templates/part/category.html:122 part/templates/part/category.html:207 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "Underkategorier" -#: part/serializers.py:180 +#: part/serializers.py:189 msgid "Results" msgstr "" -#: part/serializers.py:181 +#: part/serializers.py:190 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:205 part/serializers.py:223 stock/serializers.py:562 +#: part/serializers.py:217 part/serializers.py:235 stock/serializers.py:608 msgid "Purchase currency of this stock item" msgstr "Innkjøpsvaluta for lagervaren" -#: part/serializers.py:268 +#: part/serializers.py:283 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:392 +#: part/serializers.py:410 msgid "No parts selected" msgstr "Ingen deler valgt" -#: part/serializers.py:402 +#: part/serializers.py:420 msgid "Select category" msgstr "Velg kategori" -#: part/serializers.py:437 +#: part/serializers.py:455 msgid "Original Part" msgstr "Original Del" -#: part/serializers.py:438 +#: part/serializers.py:456 msgid "Select original part to duplicate" msgstr "Velg original del å duplisere" -#: part/serializers.py:443 +#: part/serializers.py:461 msgid "Copy Image" msgstr "Kopier Bilde" -#: part/serializers.py:444 +#: part/serializers.py:462 msgid "Copy image from original part" msgstr "Kopier bilde fra originaldel" -#: part/serializers.py:450 part/templates/part/detail.html:277 +#: part/serializers.py:468 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "Kopier Stykkliste" -#: part/serializers.py:451 +#: part/serializers.py:469 msgid "Copy bill of materials from original part" msgstr "Kopier stykkliste fra original del" -#: part/serializers.py:457 +#: part/serializers.py:475 msgid "Copy Parameters" msgstr "Kopier parametere" -#: part/serializers.py:458 +#: part/serializers.py:476 msgid "Copy parameter data from original part" msgstr "Kopier parameterdata fra originaldel" -#: part/serializers.py:464 +#: part/serializers.py:482 msgid "Copy Notes" msgstr "Kopier notater" -#: part/serializers.py:465 +#: part/serializers.py:483 msgid "Copy notes from original part" msgstr "Kopier notater fra originaldel" -#: part/serializers.py:483 +#: part/serializers.py:501 msgid "Initial Stock Quantity" msgstr "Innledende lagerbeholdning" -#: part/serializers.py:485 +#: part/serializers.py:503 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:492 +#: part/serializers.py:510 msgid "Initial Stock Location" msgstr "Innledende lagerplassering" -#: part/serializers.py:493 +#: part/serializers.py:511 msgid "Specify initial stock location for this Part" msgstr "Angi initiell lagerplasering for denne delen" -#: part/serializers.py:510 +#: part/serializers.py:528 msgid "Select supplier (or leave blank to skip)" msgstr "Velg leverandør (eller la stå tom for å hoppe over)" -#: part/serializers.py:526 +#: part/serializers.py:544 msgid "Select manufacturer (or leave blank to skip)" msgstr "Velg produsent (eller la stå tom for å hoppe over)" -#: part/serializers.py:536 +#: part/serializers.py:554 msgid "Manufacturer part number" msgstr "Produsentens delenummer" -#: part/serializers.py:543 +#: part/serializers.py:561 msgid "Selected company is not a valid supplier" msgstr "Valgt firma er ikke en gyldig leverandør" -#: part/serializers.py:552 +#: part/serializers.py:570 msgid "Selected company is not a valid manufacturer" msgstr "Valgt firma er ikke en gyldig produsent" -#: part/serializers.py:563 +#: part/serializers.py:581 msgid "Manufacturer part matching this MPN already exists" msgstr "Produsentdel som matcher dette MPN-et, finnes allerede" -#: part/serializers.py:570 +#: part/serializers.py:588 msgid "Supplier part matching this SKU already exists" msgstr "Leverandørdel som matcher denne SKU-en, finnes allerede" -#: part/serializers.py:834 -msgid "External Stock" -msgstr "" - -#: part/serializers.py:836 +#: part/serializers.py:864 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:839 +#: part/serializers.py:867 msgid "Variant Stock" msgstr "" -#: part/serializers.py:869 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:472 +#: part/serializers.py:897 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "Dupliser del" -#: part/serializers.py:870 +#: part/serializers.py:898 msgid "Copy initial data from another Part" msgstr "Kopier innledende data fra en annen del" -#: part/serializers.py:876 templates/js/translated/part.js:102 +#: part/serializers.py:904 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "Innledende lagerbeholdning" -#: part/serializers.py:877 +#: part/serializers.py:905 msgid "Create Part with initial stock quantity" msgstr "Lag en del med innledende lagermengde" -#: part/serializers.py:883 +#: part/serializers.py:911 msgid "Supplier Information" msgstr "Leverandøropplysninger" -#: part/serializers.py:884 +#: part/serializers.py:912 msgid "Add initial supplier information for this part" msgstr "Legg til innledende leverandørinformasjon for denne delen" -#: part/serializers.py:892 +#: part/serializers.py:920 msgid "Copy Category Parameters" msgstr "Kopier kategoriparametre" -#: part/serializers.py:893 +#: part/serializers.py:921 msgid "Copy parameter templates from selected part category" msgstr "Kopier parametermaler fra valgt delkategori" -#: part/serializers.py:898 +#: part/serializers.py:926 msgid "Existing Image" msgstr "Eksisterende bilde" -#: part/serializers.py:899 +#: part/serializers.py:927 msgid "Filename of an existing part image" msgstr "Filnavn for et eksisterende del-bilde" -#: part/serializers.py:916 +#: part/serializers.py:944 msgid "Image file does not exist" msgstr "Bildefilen finnes ikke" -#: part/serializers.py:1122 +#: part/serializers.py:1150 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:1132 +#: part/serializers.py:1160 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:1142 +#: part/serializers.py:1170 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:1148 +#: part/serializers.py:1176 msgid "Exclude External Stock" msgstr "Ekskluder ekstern lagerbeholdning" -#: part/serializers.py:1149 +#: part/serializers.py:1177 msgid "Exclude stock items in external locations" msgstr "Ekskluder lagervarer i eksterne lokasjoner" -#: part/serializers.py:1154 +#: part/serializers.py:1182 msgid "Generate Report" msgstr "Generer rapport" -#: part/serializers.py:1155 +#: part/serializers.py:1183 msgid "Generate report file containing calculated stocktake data" msgstr "Genererer rapport som inneholder beregnede lagerdata" -#: part/serializers.py:1160 +#: part/serializers.py:1188 msgid "Update Parts" msgstr "Oppdater deler" -#: part/serializers.py:1161 +#: part/serializers.py:1189 msgid "Update specified parts with calculated stocktake data" msgstr "Oppdater spesifiserte deler med beregnede lagerbeholdningsdata" -#: part/serializers.py:1169 +#: part/serializers.py:1197 msgid "Stocktake functionality is not enabled" msgstr "Lagerbeholdningsfunksjonalitet er ikke aktivert" -#: part/serializers.py:1275 +#: part/serializers.py:1303 msgid "Override calculated value for minimum price" msgstr "Overstyr beregnet verdi for minimumspris" -#: part/serializers.py:1282 +#: part/serializers.py:1310 msgid "Minimum price currency" msgstr "Valuta for minstepris" -#: part/serializers.py:1290 +#: part/serializers.py:1318 msgid "Override calculated value for maximum price" msgstr "Overstyr beregnet verdi for maksimal pris" -#: part/serializers.py:1297 +#: part/serializers.py:1325 msgid "Maximum price currency" msgstr "Valuta for maksimal pris" -#: part/serializers.py:1326 +#: part/serializers.py:1354 msgid "Update" msgstr "Oppdater" -#: part/serializers.py:1327 +#: part/serializers.py:1355 msgid "Update pricing for this part" msgstr "Oppdater priser for denne delen" -#: part/serializers.py:1350 +#: part/serializers.py:1378 #, 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:1357 +#: part/serializers.py:1385 msgid "Minimum price must not be greater than maximum price" msgstr "Minsteprisen kan ikke være større enn maksimal pris" -#: part/serializers.py:1360 +#: part/serializers.py:1388 msgid "Maximum price must not be less than minimum price" msgstr "Maksimal pris kan ikke være mindre enn minstepris" -#: part/serializers.py:1727 +#: part/serializers.py:1759 msgid "Select part to copy BOM from" msgstr "Velg del å kopiere BOM fra" -#: part/serializers.py:1735 +#: part/serializers.py:1767 msgid "Remove Existing Data" msgstr "Fjern eksisterende data" -#: part/serializers.py:1736 +#: part/serializers.py:1768 msgid "Remove existing BOM items before copying" msgstr "Fjern eksisterende BOM-artikler før kopiering" -#: part/serializers.py:1741 +#: part/serializers.py:1773 msgid "Include Inherited" msgstr "Inkluder arvede" -#: part/serializers.py:1742 +#: part/serializers.py:1774 msgid "Include BOM items which are inherited from templated parts" msgstr "Inkluder BOM-artikler som er arvet fra maldeler" -#: part/serializers.py:1747 +#: part/serializers.py:1779 msgid "Skip Invalid Rows" msgstr "Hopp over ugyldige rader" -#: part/serializers.py:1748 +#: part/serializers.py:1780 msgid "Enable this option to skip invalid rows" msgstr "Aktiver dette alternativet for å hoppe over ugyldige rader" -#: part/serializers.py:1753 +#: part/serializers.py:1785 msgid "Copy Substitute Parts" msgstr "Kopier erstatningsdeler" -#: part/serializers.py:1754 +#: part/serializers.py:1786 msgid "Copy substitute parts when duplicate BOM items" msgstr "Kopier erstatningsdeler når BOM-elementer dupliseres" -#: part/serializers.py:1788 +#: part/serializers.py:1823 msgid "Clear Existing BOM" msgstr "Nullstill eksisterende BOM" -#: part/serializers.py:1789 +#: part/serializers.py:1824 msgid "Delete existing BOM items before uploading" msgstr "Fjern eksisterende BOM-artikler før opplastning" -#: part/serializers.py:1819 +#: part/serializers.py:1856 msgid "No part column specified" msgstr "Ingen del-kolonne angitt" -#: part/serializers.py:1863 +#: part/serializers.py:1900 msgid "Multiple matching parts found" msgstr "Flere samsvarende deler funnet" -#: part/serializers.py:1866 +#: part/serializers.py:1903 msgid "No matching part found" msgstr "Ingen samsvarende del funnet" -#: part/serializers.py:1869 +#: part/serializers.py:1906 msgid "Part is not designated as a component" msgstr "Delen er ikke betegnet som en komponent" -#: part/serializers.py:1878 +#: part/serializers.py:1915 msgid "Quantity not provided" msgstr "Antall ikke oppgitt" -#: part/serializers.py:1886 +#: part/serializers.py:1923 msgid "Invalid quantity" msgstr "Ugyldig antall" -#: part/serializers.py:1907 +#: part/serializers.py:1946 msgid "At least one BOM item is required" msgstr "Minst en BOM-artikkel kreves" -#: part/stocktake.py:225 templates/js/translated/part.js:1067 -#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 +#: part/stocktake.py:225 templates/js/translated/part.js:1070 +#: templates/js/translated/part.js:1825 templates/js/translated/part.js:1881 #: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "Totalt Antall" @@ -7507,7 +7872,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 templates/js/translated/label.js:143 +#: stock/templates/stock/location.html:74 templates/js/translated/label.js:136 msgid "Print Label" msgstr "Skriv ut etikett" @@ -7529,7 +7894,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:2296 msgid "Part actions" msgstr "Delhandlinger" @@ -7569,6 +7934,10 @@ msgstr "Delen kan kjøpes fra eksterne leverandører" msgid "Part can be sold to customers" msgstr "Delen kan selges til kunder" +#: part/templates/part/part_base.html:145 +msgid "Part is not active" +msgstr "Delen er ikke aktiv" + #: part/templates/part/part_base.html:153 msgid "Part is virtual (not a physical part)" msgstr "Delen er virtuall (ikke en fysisk del)" @@ -7597,7 +7966,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:1265 templates/js/translated/part.js:2444 +#: templates/js/translated/part.js:1268 templates/js/translated/part.js:2447 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" @@ -7690,8 +8059,8 @@ msgstr "Varianter" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/part.js:1243 templates/js/translated/part.js:2146 -#: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 +#: templates/js/translated/part.js:1246 templates/js/translated/part.js:2149 +#: templates/js/translated/part.js:2395 templates/js/translated/stock.js:1059 #: templates/js/translated/stock.js:2070 templates/navbar.html:31 msgid "Stock" msgstr "Lagerbeholdning" @@ -7811,8 +8180,8 @@ msgstr "" #: part/templates/part/stock_count.html:7 #: templates/js/translated/model_renderers.js:227 -#: templates/js/translated/part.js:705 templates/js/translated/part.js:2141 -#: templates/js/translated/part.js:2143 +#: templates/js/translated/part.js:704 templates/js/translated/part.js:2144 +#: templates/js/translated/part.js:2146 msgid "No Stock" msgstr "Ingen lagerbeholdning" @@ -7956,7 +8325,7 @@ msgstr "Strekkoden samsvarer ikke med eksisterende lagervare" 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 +#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2590 #: templates/js/translated/sales_order.js:1953 msgid "Insufficient stock available" msgstr "Utilstrekkelig lagerbeholdning" @@ -8051,7 +8420,7 @@ msgstr "Forsendelsen er allerede levert" msgid "Quantity to allocate" msgstr "Antall å tildele" -#: plugin/base/label/label.py:39 templates/js/translated/label.js:155 +#: plugin/base/label/label.py:39 templates/js/translated/label.js:148 msgid "Label printing failed" msgstr "Utskrift av etikett mislyktes" @@ -8748,7 +9117,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report.html:25 #: report/templates/report/inventree_test_report.html:88 stock/models.py:825 -#: stock/serializers.py:149 stock/templates/stock/item_base.html:311 +#: stock/serializers.py:151 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:230 @@ -8778,7 +9147,7 @@ msgstr "Testresultater" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2447 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2457 msgid "Result" msgstr "Resultat" @@ -8799,7 +9168,7 @@ msgid "No result" msgstr "Ingen resultat" #: report/templates/report/inventree_test_report.html:153 -#: stock/templates/stock/stock_sidebar.html:16 +#: stock/serializers.py:591 stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "Installerte artikler" @@ -8829,10 +9198,6 @@ msgstr "company_image-taggen krever en Company-instans" msgid "Location ID" msgstr "Plasserings-ID" -#: stock/admin.py:53 stock/admin.py:175 -msgid "Location Name" -msgstr "Plasseringsnavn" - #: stock/admin.py:63 stock/templates/stock/location.html:131 #: stock/templates/stock/location.html:137 msgid "Location Path" @@ -8909,7 +9274,7 @@ msgstr "" msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:369 stock/serializers.py:1085 +#: stock/api.py:369 stock/serializers.py:1148 msgid "Parent Location" msgstr "" @@ -8917,44 +9282,45 @@ msgstr "" msgid "Filter by parent location" msgstr "" -#: stock/api.py:625 templates/js/translated/table_filters.js:427 +#: stock/api.py:617 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "Ekstern plassering" -#: stock/api.py:813 +#: stock/api.py:805 msgid "Part Tree" msgstr "Del-tre" -#: stock/api.py:843 +#: stock/api.py:835 msgid "Expiry date before" msgstr "Utløpsdato før" -#: stock/api.py:847 +#: stock/api.py:839 msgid "Expiry date after" msgstr "Utløpsdato etter" -#: stock/api.py:850 stock/templates/stock/item_base.html:439 +#: stock/api.py:842 stock/serializers.py:596 +#: stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "Foreldet" -#: stock/api.py:937 +#: stock/api.py:929 msgid "Quantity is required" msgstr "Antall kreves" -#: stock/api.py:943 +#: stock/api.py:935 msgid "Valid part must be supplied" msgstr "Gyldig del må oppgis" -#: stock/api.py:974 +#: stock/api.py:966 msgid "The given supplier part does not exist" msgstr "Oppgitt leverandørdel eksisterer ikke" -#: stock/api.py:984 +#: stock/api.py:976 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:1015 +#: stock/api.py:1007 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "Serienumre kan ikke angis for en ikke-sporbar del" @@ -9021,7 +9387,7 @@ msgstr "De kan ikke gjøre denne plasseringen strukturell, da noen lagervarer al msgid "Stock items cannot be located into structural stock locations!" msgstr "Lagervarer kan ikke plasseres i strukturelle plasseringer!" -#: stock/models.py:669 stock/serializers.py:446 +#: stock/models.py:669 stock/serializers.py:477 msgid "Stock item cannot be created for virtual parts" msgstr "Lagervare kan ikke opprettes for virtuelle deler" @@ -9066,7 +9432,7 @@ msgstr "Velg en tilsvarende leverandørdel for denne lagervaren" msgid "Where is this stock item located?" msgstr "Hvor er denne lagervaren plassert?" -#: stock/models.py:799 stock/serializers.py:1476 +#: stock/models.py:799 stock/serializers.py:1542 msgid "Packaging this stock item is stored in" msgstr "Inpakningen denne lagervaren er lagret i" @@ -9078,7 +9444,7 @@ msgstr "Er denne artikkelen montert i en annen artikkel?" msgid "Serial number for this item" msgstr "Serienummer for denne artikkelen" -#: stock/models.py:843 stock/serializers.py:1459 +#: stock/models.py:843 stock/serializers.py:1525 msgid "Batch code for this stock item" msgstr "Batchkode for denne lagervaren" @@ -9155,7 +9521,7 @@ msgstr "Serienumre må være en liste over tall" msgid "Quantity does not match serial numbers" msgstr "Antallet stemmer ikke overens med serienumrene" -#: stock/models.py:1520 stock/serializers.py:660 +#: stock/models.py:1520 stock/serializers.py:718 msgid "Serial numbers already exist" msgstr "Seriernummer eksisterer allerede" @@ -9187,7 +9553,7 @@ msgstr "Lagervare er for tiden i produksjon" msgid "Serialized stock cannot be merged" msgstr "Serialisert lagerbeholdning kan ikke slås sammen" -#: stock/models.py:1658 stock/serializers.py:1365 +#: stock/models.py:1658 stock/serializers.py:1431 msgid "Duplicate stock items" msgstr "Duplisert lagervare" @@ -9207,288 +9573,342 @@ msgstr "Lagerstatuskoder må være like" 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:2317 +#, fuzzy +#| msgid "Stock Tracking" +msgid "Stock Item Tracking" +msgstr "Sporing av lager" + +#: stock/models.py:2350 msgid "Entry notes" msgstr "Oppføringsnotater" -#: stock/models.py:2413 +#: stock/models.py:2390 +#, fuzzy +#| msgid "Stock Item Test Report" +msgid "Stock Item Test Result" +msgstr "Testrapport for lagervare" + +#: stock/models.py:2423 msgid "Value must be provided for this test" msgstr "Verdi må angis for denne testen" -#: stock/models.py:2418 +#: stock/models.py:2428 msgid "Attachment must be uploaded for this test" msgstr "Vedlegg må lastes opp for denne testen" -#: stock/models.py:2423 +#: stock/models.py:2433 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2447 +#: stock/models.py:2457 msgid "Test result" msgstr "Testresultat" -#: stock/models.py:2454 +#: stock/models.py:2464 msgid "Test output value" msgstr "Testens verdi" -#: stock/models.py:2462 +#: stock/models.py:2472 msgid "Test result attachment" msgstr "Vedlegg til testresultat" -#: stock/models.py:2466 +#: stock/models.py:2476 msgid "Test notes" msgstr "Testnotater" -#: stock/models.py:2474 templates/js/translated/stock.js:1548 +#: stock/models.py:2484 templates/js/translated/stock.js:1548 msgid "Test station" msgstr "" -#: stock/models.py:2475 +#: stock/models.py:2485 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2481 +#: stock/models.py:2491 msgid "Started" msgstr "" -#: stock/models.py:2482 +#: stock/models.py:2492 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2488 +#: stock/models.py:2498 msgid "Finished" msgstr "" -#: stock/models.py:2489 +#: stock/models.py:2499 msgid "The timestamp of the test finish" msgstr "" -#: stock/serializers.py:74 +#: stock/serializers.py:76 msgid "Generated batch code" msgstr "" -#: stock/serializers.py:83 +#: stock/serializers.py:85 msgid "Select build order" msgstr "" -#: stock/serializers.py:92 +#: stock/serializers.py:94 msgid "Select stock item to generate batch code for" msgstr "" -#: stock/serializers.py:101 +#: stock/serializers.py:103 msgid "Select location to generate batch code for" msgstr "" -#: stock/serializers.py:110 +#: stock/serializers.py:112 msgid "Select part to generate batch code for" msgstr "" -#: stock/serializers.py:119 +#: stock/serializers.py:121 msgid "Select purchase order" msgstr "" -#: stock/serializers.py:126 +#: stock/serializers.py:128 msgid "Enter quantity for batch code" msgstr "" -#: stock/serializers.py:149 +#: stock/serializers.py:151 msgid "Generated serial number" msgstr "" -#: stock/serializers.py:158 +#: stock/serializers.py:160 msgid "Select part to generate serial number for" msgstr "" -#: stock/serializers.py:166 +#: stock/serializers.py:168 msgid "Quantity of serial numbers to generate" msgstr "" -#: stock/serializers.py:228 +#: stock/serializers.py:233 msgid "Test template for this result" msgstr "" -#: stock/serializers.py:247 +#: stock/serializers.py:252 msgid "Template ID or test name must be provided" msgstr "" -#: stock/serializers.py:279 +#: stock/serializers.py:284 msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:315 +#: stock/serializers.py:320 msgid "Serial number is too large" msgstr "Serienummeret er for høyt" -#: stock/serializers.py:438 +#: stock/serializers.py:449 stock/templates/stock/item_base.html:193 +msgid "Parent Item" +msgstr "Overodnet element" + +#: stock/serializers.py:450 +#, fuzzy +#| msgid "Parent Stock Item" +msgid "Parent stock item" +msgstr "Overordnet lagervare" + +#: stock/serializers.py:469 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:558 +#: stock/serializers.py:585 templates/js/translated/build.js:991 +#: templates/js/translated/build.js:2344 +msgid "Allocated Quantity" +msgstr "" + +#: stock/serializers.py:588 stock/templates/stock/item_base.html:437 +#: templates/js/translated/table_filters.js:435 users/models.py:174 +msgid "Expired" +msgstr "Utløpt" + +#: stock/serializers.py:594 stock/templates/stock/stock_sidebar.html:20 +msgid "Child Items" +msgstr "Underordnede artikler" + +#: stock/serializers.py:598 +#, fuzzy +#| msgid "Tracking Number" +msgid "Tracking Items" +msgstr "Sporingsnummer" + +#: stock/serializers.py:604 msgid "Purchase price of this stock item, per unit or pack" msgstr "Innkjøpspris for denne lagervaren, per enhet eller forpakning" -#: stock/serializers.py:595 +#: stock/serializers.py:623 +#, fuzzy +#| msgid "Minimum Price" +msgid "Minimum Pricing" +msgstr "Minstepris" + +#: stock/serializers.py:629 +#, fuzzy +#| msgid "Maximum Price" +msgid "Maximum Pricing" +msgstr "Makspris" + +#: stock/serializers.py:653 msgid "Enter number of stock items to serialize" msgstr "Angi antall lagervarer som skal serialiseres" -#: stock/serializers.py:608 +#: stock/serializers.py:666 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "Antall kan ikke overstige tilgjengelig lagerbeholdning ({q})" -#: stock/serializers.py:615 +#: stock/serializers.py:673 msgid "Enter serial numbers for new items" msgstr "Angi serienummer for nye artikler" -#: stock/serializers.py:626 stock/serializers.py:1322 stock/serializers.py:1578 +#: stock/serializers.py:684 stock/serializers.py:1388 stock/serializers.py:1644 msgid "Destination stock location" msgstr "Til Lagerplassering" -#: stock/serializers.py:633 +#: stock/serializers.py:691 msgid "Optional note field" msgstr "Valgfritt notatfelt" -#: stock/serializers.py:643 +#: stock/serializers.py:701 msgid "Serial numbers cannot be assigned to this part" msgstr "Serienummer kan ikke tilordnes denne delen" -#: stock/serializers.py:698 +#: stock/serializers.py:756 msgid "Select stock item to install" msgstr "Velg lagervare å montere" -#: stock/serializers.py:705 +#: stock/serializers.py:763 msgid "Quantity to Install" msgstr "Antall å installere" -#: stock/serializers.py:706 +#: stock/serializers.py:764 msgid "Enter the quantity of items to install" msgstr "Angi antallet elementer som skal installeres" -#: stock/serializers.py:711 stock/serializers.py:791 stock/serializers.py:887 -#: stock/serializers.py:937 +#: stock/serializers.py:769 stock/serializers.py:849 stock/serializers.py:945 +#: stock/serializers.py:995 msgid "Add transaction note (optional)" msgstr "Legg til transaksjonsnotat (valgfritt)" -#: stock/serializers.py:719 +#: stock/serializers.py:777 msgid "Quantity to install must be at least 1" msgstr "Antall å installere må være minst 1" -#: stock/serializers.py:727 +#: stock/serializers.py:785 msgid "Stock item is unavailable" msgstr "Lagervaren er utilgjengelig" -#: stock/serializers.py:738 +#: stock/serializers.py:796 msgid "Selected part is not in the Bill of Materials" msgstr "Valgt del er ikke i stykklisten" -#: stock/serializers.py:751 +#: stock/serializers.py:809 msgid "Quantity to install must not exceed available quantity" msgstr "Antall å installere må ikke overskride tilgjengelig antall" -#: stock/serializers.py:786 +#: stock/serializers.py:844 msgid "Destination location for uninstalled item" msgstr "Lagerplassering for den avinstallerte artikkelen" -#: stock/serializers.py:821 +#: stock/serializers.py:879 msgid "Select part to convert stock item into" msgstr "Velg del å konvertere lagervare til" -#: stock/serializers.py:834 +#: stock/serializers.py:892 msgid "Selected part is not a valid option for conversion" msgstr "Valgt del er ikke et gyldig alternativ for konvertering" -#: stock/serializers.py:851 +#: stock/serializers.py:909 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "Kan ikke konvertere lagerprodukt med tildelt leverandørdel" -#: stock/serializers.py:882 +#: stock/serializers.py:940 msgid "Destination location for returned item" msgstr "Lagerplassering for returnert artikkel" -#: stock/serializers.py:919 +#: stock/serializers.py:977 msgid "Select stock items to change status" msgstr "Velg lagervarer for å endre status" -#: stock/serializers.py:925 +#: stock/serializers.py:983 msgid "No stock items selected" msgstr "Ingen lagervarer valgt" -#: stock/serializers.py:1021 stock/serializers.py:1093 +#: stock/serializers.py:1079 stock/serializers.py:1156 #: stock/templates/stock/location.html:165 #: stock/templates/stock/location.html:222 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "Underplasseringer" -#: stock/serializers.py:1086 templates/js/translated/stock.js:152 +#: stock/serializers.py:1149 templates/js/translated/stock.js:152 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1194 +#: stock/serializers.py:1260 msgid "Part must be salable" msgstr "Delen må være salgbar" -#: stock/serializers.py:1198 +#: stock/serializers.py:1264 msgid "Item is allocated to a sales order" msgstr "Artikkelen er tildelt en salgsordre" -#: stock/serializers.py:1202 +#: stock/serializers.py:1268 msgid "Item is allocated to a build order" msgstr "Artikkelen er tildelt en produksjonsordre" -#: stock/serializers.py:1226 +#: stock/serializers.py:1292 msgid "Customer to assign stock items" msgstr "Kunde å tilordne lagervarer" -#: stock/serializers.py:1232 +#: stock/serializers.py:1298 msgid "Selected company is not a customer" msgstr "Valgt firma er ikke en kunde" -#: stock/serializers.py:1240 +#: stock/serializers.py:1306 msgid "Stock assignment notes" msgstr "Lagervare-tildelignsnotater" -#: stock/serializers.py:1250 stock/serializers.py:1504 +#: stock/serializers.py:1316 stock/serializers.py:1570 msgid "A list of stock items must be provided" msgstr "En liste av lagervarer må oppgis" -#: stock/serializers.py:1329 +#: stock/serializers.py:1395 msgid "Stock merging notes" msgstr "Notater om lagersammenslåing" -#: stock/serializers.py:1334 +#: stock/serializers.py:1400 msgid "Allow mismatched suppliers" msgstr "Tillat forskjellige leverandører" -#: stock/serializers.py:1335 +#: stock/serializers.py:1401 msgid "Allow stock items with different supplier parts to be merged" msgstr "Tillat lagervarer med forskjellige leverandørdeler å slås sammen" -#: stock/serializers.py:1340 +#: stock/serializers.py:1406 msgid "Allow mismatched status" msgstr "Tillat forskjellig status" -#: stock/serializers.py:1341 +#: stock/serializers.py:1407 msgid "Allow stock items with different status codes to be merged" msgstr "Tillat lagervarer med forskjellige statuskoder å slås sammen" -#: stock/serializers.py:1351 +#: stock/serializers.py:1417 msgid "At least two stock items must be provided" msgstr "Minst to lagervarer må oppgis" -#: stock/serializers.py:1418 +#: stock/serializers.py:1484 msgid "No Change" msgstr "" -#: stock/serializers.py:1447 +#: stock/serializers.py:1513 msgid "StockItem primary key value" msgstr "Lagervare primærnøkkel verdi" -#: stock/serializers.py:1466 +#: stock/serializers.py:1532 msgid "Stock item status code" msgstr "Lagervare statuskode" -#: stock/serializers.py:1494 +#: stock/serializers.py:1560 msgid "Stock transaction notes" msgstr "Lager transaksjonsnotater" @@ -9757,10 +10177,6 @@ msgstr "Slett lagervare" msgid "Build" msgstr "Produksjon" -#: stock/templates/stock/item_base.html:193 -msgid "Parent Item" -msgstr "Overodnet element" - #: stock/templates/stock/item_base.html:211 msgid "No manufacturer set" msgstr "Ingen produsent valgt" @@ -9836,11 +10252,6 @@ msgstr "Denne lagervaren har ikke bestått alle påkrevde tester" msgid "This StockItem expired on %(item.expiry_date)s" msgstr "Denne lagervaren utløp %(item.expiry_date)s" -#: stock/templates/stock/item_base.html:437 -#: templates/js/translated/table_filters.js:435 users/models.py:174 -msgid "Expired" -msgstr "Utløpt" - #: stock/templates/stock/item_base.html:439 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" @@ -9988,10 +10399,6 @@ msgstr "Sporing av lager" msgid "Allocations" msgstr "Tildelinger" -#: stock/templates/stock/stock_sidebar.html:20 -msgid "Child Items" -msgstr "Underordnede artikler" - #: templates/403.html:6 templates/403.html:12 templates/403_csrf.html:7 msgid "Permission Denied" msgstr "Tilgang nektet" @@ -10466,8 +10873,8 @@ 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:393 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:245 users/models.py:402 +#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 +#: templates/js/translated/stock.js:245 users/models.py:406 msgid "Delete" msgstr "Slett" @@ -10507,12 +10914,12 @@ msgid "No category parameter templates found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:308 -#: templates/js/translated/part.js:1646 +#: templates/js/translated/part.js:1649 msgid "Edit Template" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:309 -#: templates/js/translated/part.js:1647 +#: templates/js/translated/part.js:1650 msgid "Delete Template" msgstr "" @@ -11145,7 +11552,7 @@ msgid "The following parts are low on required stock" msgstr "Følgende deler har for lav lagerbeholdning" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2556 +#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2557 msgid "Required Quantity" msgstr "Antall som kreves" @@ -11159,7 +11566,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:3219 +#: templates/js/translated/part.js:3222 msgid "Minimum Quantity" msgstr "Minimum antall" @@ -11514,7 +11921,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2500 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2501 msgid "Variant stock allowed" msgstr "" @@ -11534,30 +11941,30 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2621 +#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2622 msgid "External stock" msgstr "" -#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2595 +#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2596 #: templates/js/translated/sales_order.js:1946 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2599 +#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2600 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2601 -#: templates/js/translated/part.js:1257 +#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2602 +#: templates/js/translated/part.js:1260 #: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2603 +#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2604 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2586 +#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2587 msgid "Consumable item" msgstr "" @@ -11589,7 +11996,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2485 +#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2486 msgid "Required Part" msgstr "" @@ -11758,10 +12165,6 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:991 templates/js/translated/build.js:2344 -msgid "Allocated Quantity" -msgstr "" - #: templates/js/translated/build.js:1005 msgid "Location not specified" msgstr "" @@ -11873,9 +12276,9 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2117 templates/js/translated/build.js:2479 +#: templates/js/translated/build.js:2117 templates/js/translated/build.js:2480 #: templates/js/translated/forms.js:2163 templates/js/translated/forms.js:2179 -#: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 +#: templates/js/translated/part.js:2319 templates/js/translated/part.js:2745 #: templates/js/translated/stock.js:1983 templates/js/translated/stock.js:2710 msgid "Select" msgstr "" @@ -11906,59 +12309,59 @@ msgstr "" msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2455 +#: templates/js/translated/build.js:2456 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2456 +#: templates/js/translated/build.js:2457 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2474 +#: templates/js/translated/build.js:2475 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2504 templates/js/translated/part.js:791 -#: templates/js/translated/part.js:1203 +#: templates/js/translated/build.js:2505 templates/js/translated/part.js:790 +#: templates/js/translated/part.js:1206 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2539 +#: templates/js/translated/build.js:2540 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2591 +#: templates/js/translated/build.js:2592 #: templates/js/translated/sales_order.js:1951 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2646 +#: templates/js/translated/build.js:2647 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2653 +#: templates/js/translated/build.js:2654 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2654 +#: templates/js/translated/build.js:2655 msgid "Allocate tracked items against individual build outputs" msgstr "" -#: templates/js/translated/build.js:2662 +#: templates/js/translated/build.js:2663 #: templates/js/translated/sales_order.js:2052 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2667 templates/js/translated/stock.js:1868 +#: templates/js/translated/build.js:2668 templates/js/translated/stock.js:1868 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2671 +#: templates/js/translated/build.js:2672 #: templates/js/translated/sales_order.js:2046 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2675 +#: templates/js/translated/build.js:2676 msgid "Remove stock allocation" msgstr "" @@ -12105,7 +12508,7 @@ msgid "Delete Parameters" msgstr "" #: templates/js/translated/company.js:1191 -#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2245 +#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2248 msgid "Order parts" msgstr "" @@ -12122,34 +12525,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:1279 -#: templates/js/translated/company.js:1567 templates/js/translated/part.js:799 -#: templates/js/translated/part.js:1211 +#: templates/js/translated/company.js:1567 templates/js/translated/part.js:798 +#: templates/js/translated/part.js:1214 msgid "Template part" msgstr "" #: templates/js/translated/company.js:1283 -#: templates/js/translated/company.js:1571 templates/js/translated/part.js:803 -#: templates/js/translated/part.js:1215 +#: templates/js/translated/company.js:1571 templates/js/translated/part.js:802 +#: templates/js/translated/part.js:1218 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1465 +#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1468 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1528 +#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1531 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1529 +#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1532 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1434 +#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1437 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1550 +#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1553 msgid "Delete Parameter" msgstr "" @@ -12323,15 +12726,15 @@ msgstr "" msgid "No parts required for builds" msgstr "" -#: templates/js/translated/label.js:55 templates/js/translated/report.js:38 +#: templates/js/translated/label.js:48 templates/js/translated/report.js:38 msgid "Select Items" msgstr "" -#: templates/js/translated/label.js:56 templates/js/translated/report.js:39 +#: templates/js/translated/label.js:49 templates/js/translated/report.js:39 msgid "No items selected for printing" msgstr "" -#: templates/js/translated/label.js:150 +#: templates/js/translated/label.js:143 msgid "Labels sent to printer" msgstr "" @@ -12400,7 +12803,7 @@ msgstr "" #: templates/js/translated/news.js:38 #: templates/js/translated/notification.js:46 -#: templates/js/translated/part.js:1605 +#: templates/js/translated/part.js:1608 msgid "ID" msgstr "" @@ -12481,343 +12884,343 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:333 templates/js/translated/stock.js:175 +#: templates/js/translated/part.js:332 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:353 +#: templates/js/translated/part.js:352 msgid "Create Part Category" msgstr "" -#: templates/js/translated/part.js:356 +#: templates/js/translated/part.js:355 msgid "Create new category after this one" msgstr "" -#: templates/js/translated/part.js:357 +#: templates/js/translated/part.js:356 msgid "Part category created" msgstr "" -#: templates/js/translated/part.js:371 +#: templates/js/translated/part.js:370 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:384 +#: templates/js/translated/part.js:383 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:389 +#: templates/js/translated/part.js:388 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:398 +#: templates/js/translated/part.js:397 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:402 +#: templates/js/translated/part.js:401 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:407 +#: templates/js/translated/part.js:406 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:431 +#: templates/js/translated/part.js:430 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:433 +#: templates/js/translated/part.js:432 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:434 +#: templates/js/translated/part.js:433 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:462 +#: templates/js/translated/part.js:461 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:464 +#: templates/js/translated/part.js:463 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:475 +#: templates/js/translated/part.js:474 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:532 +#: templates/js/translated/part.js:531 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:533 +#: templates/js/translated/part.js:532 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:547 +#: templates/js/translated/part.js:546 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:549 +#: templates/js/translated/part.js:548 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:550 +#: templates/js/translated/part.js:549 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:551 +#: templates/js/translated/part.js:550 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:558 +#: templates/js/translated/part.js:557 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:594 +#: templates/js/translated/part.js:593 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:596 +#: templates/js/translated/part.js:595 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:601 +#: templates/js/translated/part.js:600 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:603 +#: templates/js/translated/part.js:602 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:620 +#: templates/js/translated/part.js:619 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:630 +#: templates/js/translated/part.js:629 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:633 +#: templates/js/translated/part.js:632 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:658 +#: templates/js/translated/part.js:657 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:686 -#: templates/js/translated/table_filters.js:747 +#: templates/js/translated/part.js:685 +#: templates/js/translated/table_filters.js:752 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:689 +#: templates/js/translated/part.js:688 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:749 +#: templates/js/translated/part.js:748 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:772 +#: templates/js/translated/part.js:771 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:795 templates/js/translated/part.js:1207 +#: templates/js/translated/part.js:794 templates/js/translated/part.js:1210 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:807 +#: templates/js/translated/part.js:806 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:811 +#: templates/js/translated/part.js:810 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:890 +#: templates/js/translated/part.js:893 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:890 +#: templates/js/translated/part.js:893 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:898 +#: templates/js/translated/part.js:901 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:902 +#: templates/js/translated/part.js:905 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:1051 +#: templates/js/translated/part.js:1054 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1109 templates/js/translated/part.js:1145 +#: templates/js/translated/part.js:1112 templates/js/translated/part.js:1148 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1113 templates/js/translated/part.js:1155 +#: templates/js/translated/part.js:1116 templates/js/translated/part.js:1158 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1282 +#: templates/js/translated/part.js:1285 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1600 +#: templates/js/translated/part.js:1603 msgid "No part parameter templates found" msgstr "" -#: templates/js/translated/part.js:1663 +#: templates/js/translated/part.js:1666 msgid "Edit Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1675 +#: templates/js/translated/part.js:1678 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/js/translated/part.js:1683 +#: templates/js/translated/part.js:1686 msgid "Delete Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1717 +#: templates/js/translated/part.js:1720 #: templates/js/translated/purchase_order.js:1654 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/part.js:1861 +#: templates/js/translated/part.js:1864 #: 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:1907 +#: templates/js/translated/part.js:1910 #: templates/js/translated/purchase_order.js:2220 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1970 +#: templates/js/translated/part.js:1973 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1992 +#: templates/js/translated/part.js:1995 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2080 templates/js/translated/part.js:2506 +#: templates/js/translated/part.js:2083 templates/js/translated/part.js:2509 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:2201 +#: templates/js/translated/part.js:2204 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2206 +#: templates/js/translated/part.js:2209 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2236 +#: templates/js/translated/part.js:2239 msgid "Set category" msgstr "" -#: templates/js/translated/part.js:2287 +#: templates/js/translated/part.js:2290 msgid "part" msgstr "" -#: templates/js/translated/part.js:2288 +#: templates/js/translated/part.js:2291 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2384 +#: templates/js/translated/part.js:2387 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 +#: templates/js/translated/part.js:2534 templates/js/translated/part.js:2664 #: templates/js/translated/stock.js:2669 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2547 +#: templates/js/translated/part.js:2550 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2645 +#: templates/js/translated/part.js:2648 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2689 +#: templates/js/translated/part.js:2684 templates/js/translated/stock.js:2689 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2761 +#: templates/js/translated/part.js:2764 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2777 +#: templates/js/translated/part.js:2780 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2865 +#: templates/js/translated/part.js:2868 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2887 templates/js/translated/search.js:342 +#: templates/js/translated/part.js:2890 templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/part.js:2937 templates/js/translated/stock.js:1456 +#: templates/js/translated/part.js:2940 templates/js/translated/stock.js:1456 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2938 templates/js/translated/stock.js:1457 +#: templates/js/translated/part.js:2941 templates/js/translated/stock.js:1457 #: templates/js/translated/stock.js:1731 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2942 +#: templates/js/translated/part.js:2945 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2958 +#: templates/js/translated/part.js:2961 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2972 +#: templates/js/translated/part.js:2975 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3051 templates/js/translated/part.js:3052 +#: templates/js/translated/part.js:3054 templates/js/translated/part.js:3055 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3054 +#: templates/js/translated/part.js:3057 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3060 +#: templates/js/translated/part.js:3063 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3110 +#: templates/js/translated/part.js:3113 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3116 +#: templates/js/translated/part.js:3119 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3212 +#: templates/js/translated/part.js:3215 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3228 +#: templates/js/translated/part.js:3231 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3273 +#: templates/js/translated/part.js:3276 msgid "Minimum Stock Level" msgstr "" @@ -13593,7 +13996,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1042 users/models.py:392 +#: templates/js/translated/stock.js:1042 users/models.py:396 msgid "Add" msgstr "Legg til" @@ -13947,7 +14350,7 @@ msgid "Include subcategories" msgstr "" #: templates/js/translated/table_filters.js:287 -#: templates/js/translated/table_filters.js:759 +#: templates/js/translated/table_filters.js:764 msgid "Subscribed" msgstr "" @@ -14102,40 +14505,46 @@ msgstr "" msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:725 +#: templates/js/translated/table_filters.js:722 +#, fuzzy +#| msgid "Show related parts" +msgid "Show locked parts" +msgstr "Vis relaterte deler" + +#: templates/js/translated/table_filters.js:730 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:733 -#: templates/js/translated/table_filters.js:833 +#: templates/js/translated/table_filters.js:738 +#: templates/js/translated/table_filters.js:838 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:734 +#: templates/js/translated/table_filters.js:739 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:738 +#: templates/js/translated/table_filters.js:743 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:739 +#: templates/js/translated/table_filters.js:744 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:743 +#: templates/js/translated/table_filters.js:748 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:751 +#: templates/js/translated/table_filters.js:756 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:763 +#: templates/js/translated/table_filters.js:768 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:829 +#: templates/js/translated/table_filters.js:834 msgid "Has Choices" msgstr "" @@ -14207,10 +14616,6 @@ msgstr "" msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:558 -msgid "Columns" -msgstr "" - #: templates/js/translated/tables.js:561 msgid "All" msgstr "" @@ -14484,35 +14889,52 @@ msgstr "Sist gang tokenet ble brukt" msgid "Revoked" msgstr "Tilbakekalt" -#: users/models.py:375 +#: users/models.py:379 msgid "Permission set" msgstr "Tillatelse satt" -#: users/models.py:384 +#: users/models.py:388 msgid "Group" msgstr "Gruppe" -#: users/models.py:388 +#: users/models.py:392 msgid "View" msgstr "Visning" -#: users/models.py:388 +#: users/models.py:392 msgid "Permission to view items" msgstr "Tillatelse til å se elementer" -#: users/models.py:392 +#: users/models.py:396 msgid "Permission to add items" msgstr "Tillatelse til å legge til elementer" -#: users/models.py:396 +#: users/models.py:400 msgid "Change" msgstr "Endre" -#: users/models.py:398 +#: users/models.py:402 msgid "Permissions to edit items" msgstr "Tillatelse til å endre elementer" -#: users/models.py:404 +#: users/models.py:408 msgid "Permission to delete items" msgstr "Tillatelse til å slette elementer" +#~ msgid "Default part label template" +#~ msgstr "Standard etikettmal for del" + +#~ msgid "The part label template to be automatically selected" +#~ msgstr "Etikettmalen for del som velges automatisk" + +#~ msgid "Default stock item template" +#~ msgstr "Standard etikettmal for lagervare" + +#~ msgid "The stock item label template to be automatically selected" +#~ msgstr "Etikettmalen for lagervare som velges automatisk" + +#~ msgid "Default stock location label template" +#~ msgstr "Standard etikettmal for lagerplassering" + +#~ msgid "The stock location label template to be automatically selected" +#~ msgstr "Etikettmalen for lagerplassering som velges automatisk" diff --git a/src/backend/InvenTree/locale/pl/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/pl/LC_MESSAGES/django.po index 9671e630982b..0b2f445b9944 100644 --- a/src/backend/InvenTree/locale/pl/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/pl/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-07-05 02:47+0000\n" +"POT-Creation-Date: 2024-07-08 14:46+0000\n" "PO-Revision-Date: 2024-07-05 14:58\n" "Last-Translator: \n" "Language-Team: Polish\n" @@ -21,7 +21,7 @@ msgstr "" msgid "API endpoint not found" msgstr "Nie znaleziono punktu końcowego API" -#: InvenTree/api.py:520 +#: InvenTree/api.py:505 msgid "User does not have permission to view this model" msgstr "Użytkownik nie ma uprawnień do przeglądania tego modelu" @@ -56,21 +56,21 @@ msgstr "Szczegóły błędu można znaleźć w panelu administracyjnym" msgid "Enter date" msgstr "Wprowadź dane" -#: InvenTree/fields.py:205 InvenTree/models.py:918 build/serializers.py:452 -#: build/serializers.py:530 build/templates/build/sidebar.html:21 -#: company/models.py:817 company/templates/company/sidebar.html:37 +#: InvenTree/fields.py:205 InvenTree/models.py:921 build/serializers.py:456 +#: build/serializers.py:534 build/templates/build/sidebar.html:21 +#: company/models.py:824 company/templates/company/sidebar.html:37 #: order/models.py:1296 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:3183 part/templates/part/part_sidebar.html:63 +#: part/models.py:3193 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:230 stock/models.py:2344 stock/models.py:2466 -#: stock/serializers.py:632 stock/serializers.py:790 stock/serializers.py:886 -#: stock/serializers.py:936 stock/serializers.py:1239 stock/serializers.py:1328 -#: stock/serializers.py:1493 stock/templates/stock/stock_sidebar.html:25 +#: stock/admin.py:230 stock/models.py:2349 stock/models.py:2476 +#: stock/serializers.py:690 stock/serializers.py:848 stock/serializers.py:944 +#: stock/serializers.py:994 stock/serializers.py:1305 stock/serializers.py:1394 +#: stock/serializers.py:1559 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:1081 +#: templates/js/translated/part.js:1084 #: templates/js/translated/purchase_order.js:2200 #: templates/js/translated/return_order.js:775 #: templates/js/translated/sales_order.js:1103 @@ -371,41 +371,41 @@ msgstr "Wtyczka Metadane" msgid "JSON metadata field, for use by external plugins" msgstr "Pole metadanych JSON, do użycia przez wtyczki zewnętrzne" -#: InvenTree/models.py:408 +#: InvenTree/models.py:411 msgid "Improperly formatted pattern" msgstr "Nieprawidłowo sformatowany wzór" -#: InvenTree/models.py:415 +#: InvenTree/models.py:418 msgid "Unknown format key specified" msgstr "Określono nieznany format klucza" -#: InvenTree/models.py:421 +#: InvenTree/models.py:424 msgid "Missing required format key" msgstr "Brak wymaganego formatu klucza" -#: InvenTree/models.py:432 +#: InvenTree/models.py:435 msgid "Reference field cannot be empty" msgstr "Pole odniesienia nie może być puste" -#: InvenTree/models.py:440 +#: InvenTree/models.py:443 msgid "Reference must match required pattern" msgstr "Odniesienie musi być zgodne z wymaganym wzorem" -#: InvenTree/models.py:471 +#: InvenTree/models.py:474 msgid "Reference number is too large" msgstr "Numer odniesienia jest zbyt duży" -#: InvenTree/models.py:719 +#: InvenTree/models.py:722 msgid "Duplicate names cannot exist under the same parent" msgstr "Duplikaty nazw nie mogą istnieć pod tym samym rodzicem" -#: InvenTree/models.py:736 +#: InvenTree/models.py:739 msgid "Invalid choice" msgstr "Błędny wybór" -#: InvenTree/models.py:766 common/models.py:2678 common/models.py:3103 -#: common/serializers.py:408 company/models.py:580 machine/models.py:24 -#: part/models.py:891 part/models.py:3639 plugin/models.py:51 +#: InvenTree/models.py:769 common/models.py:2659 common/models.py:3089 +#: common/serializers.py:412 company/models.py:587 machine/models.py:24 +#: part/models.py:895 part/models.py:3660 plugin/models.py:51 #: report/models.py:150 stock/models.py:74 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -417,20 +417,20 @@ msgstr "Błędny wybór" #: templates/js/translated/company.js:724 #: templates/js/translated/company.js:913 #: templates/js/translated/company.js:1165 -#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1187 -#: templates/js/translated/part.js:1475 templates/js/translated/part.js:1611 -#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2716 +#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1190 +#: templates/js/translated/part.js:1478 templates/js/translated/part.js:1614 +#: templates/js/translated/part.js:2752 templates/js/translated/stock.js:2716 msgid "Name" msgstr "Nazwa" -#: InvenTree/models.py:772 build/models.py:235 -#: build/templates/build/detail.html:24 common/models.py:138 -#: company/models.py:509 company/models.py:808 +#: InvenTree/models.py:775 build/models.py:242 +#: build/templates/build/detail.html:24 common/models.py:143 +#: company/models.py:515 company/models.py:815 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 -#: order/models.py:1329 part/admin.py:305 part/admin.py:408 part/models.py:914 -#: part/models.py:3654 part/templates/part/category.html:82 +#: order/models.py:1329 part/admin.py:305 part/admin.py:408 part/models.py:918 +#: part/models.py:3675 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:156 #: report/models.py:510 report/models.py:536 @@ -444,10 +444,10 @@ msgstr "Nazwa" #: templates/js/translated/build.js:2139 templates/js/translated/company.js:519 #: templates/js/translated/company.js:1330 #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 -#: templates/js/translated/order.js:298 templates/js/translated/part.js:1239 -#: templates/js/translated/part.js:1484 templates/js/translated/part.js:1622 -#: templates/js/translated/part.js:1959 templates/js/translated/part.js:2355 -#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2897 +#: templates/js/translated/order.js:298 templates/js/translated/part.js:1242 +#: templates/js/translated/part.js:1487 templates/js/translated/part.js:1625 +#: templates/js/translated/part.js:1962 templates/js/translated/part.js:2358 +#: templates/js/translated/part.js:2788 templates/js/translated/part.js:2900 #: templates/js/translated/plugin.js:80 #: templates/js/translated/purchase_order.js:1706 #: templates/js/translated/purchase_order.js:1849 @@ -460,53 +460,53 @@ msgstr "Nazwa" msgid "Description" msgstr "Opis" -#: InvenTree/models.py:773 stock/models.py:81 +#: InvenTree/models.py:776 stock/models.py:81 msgid "Description (optional)" msgstr "Opis (opcjonalny)" -#: InvenTree/models.py:788 templates/js/translated/part.js:2794 +#: InvenTree/models.py:791 templates/js/translated/part.js:2797 #: templates/js/translated/stock.js:2757 msgid "Path" msgstr "Ścieżka" -#: InvenTree/models.py:918 +#: InvenTree/models.py:921 msgid "Markdown notes (optional)" msgstr "Notatki Markdown (opcjonalne)" -#: InvenTree/models.py:947 +#: InvenTree/models.py:950 msgid "Barcode Data" msgstr "Dane kodu kreskowego" -#: InvenTree/models.py:948 +#: InvenTree/models.py:951 msgid "Third party barcode data" msgstr "Dane kodu kreskowego stron trzecich" -#: InvenTree/models.py:954 +#: InvenTree/models.py:957 msgid "Barcode Hash" msgstr "Hasz kodu kreskowego" -#: InvenTree/models.py:955 +#: InvenTree/models.py:958 msgid "Unique hash of barcode data" msgstr "Unikalny hasz danych kodu kreskowego" -#: InvenTree/models.py:1008 +#: InvenTree/models.py:1011 msgid "Existing barcode found" msgstr "Znaleziono istniejący kod kreskowy" -#: InvenTree/models.py:1051 +#: InvenTree/models.py:1054 msgid "Server Error" msgstr "Błąd serwera" -#: InvenTree/models.py:1052 +#: InvenTree/models.py:1055 msgid "An error has been logged by the server." msgstr "Błąd został zapisany w logach serwera." -#: InvenTree/serializers.py:63 part/models.py:4192 +#: InvenTree/serializers.py:63 part/models.py:4277 msgid "Must be a valid number" msgstr "Numer musi być prawidłowy" #: InvenTree/serializers.py:100 company/models.py:186 -#: company/templates/company/company_base.html:112 part/models.py:3001 +#: company/templates/company/company_base.html:112 part/models.py:3011 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -556,16 +556,16 @@ msgstr "" msgid "Is this user a superuser" msgstr "" -#: InvenTree/serializers.py:445 common/models.py:2683 company/models.py:163 -#: company/models.py:782 machine/models.py:39 part/admin.py:88 -#: part/models.py:1081 plugin/models.py:66 +#: InvenTree/serializers.py:445 common/models.py:2664 company/models.py:163 +#: company/models.py:789 machine/models.py:39 part/admin.py:88 +#: part/models.py:1085 plugin/models.py:66 #: 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 #: templates/js/translated/table_filters.js:520 #: templates/js/translated/table_filters.js:716 -#: templates/js/translated/table_filters.js:796 users/models.py:182 +#: templates/js/translated/table_filters.js:801 users/models.py:182 msgid "Active" msgstr "Aktywny" @@ -597,7 +597,7 @@ msgstr "Witamy w InvenTree" msgid "Invalid value" msgstr "Nieprawidłowa wartość" -#: InvenTree/serializers.py:581 +#: InvenTree/serializers.py:581 importer/models.py:60 msgid "Data File" msgstr "Plik danych" @@ -651,7 +651,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:1174 +#: InvenTree/status.py:66 part/serializers.py:1202 msgid "Background worker check failed" msgstr "Sprawdzenie robotnika w tle nie powiodło się" @@ -711,47 +711,48 @@ msgstr "Informacja systemowa" msgid "About InvenTree" msgstr "O InvenTree" -#: build/api.py:255 +#: build/api.py:248 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:4070 templates/js/translated/bom.js:997 -#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 +#: build/api.py:292 build/serializers.py:1190 part/models.py:4155 +#: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 +#: templates/js/translated/build.js:2521 #: 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:4064 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 +#: build/api.py:293 build/serializers.py:1191 part/models.py:4149 +#: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 +#: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2530 #: templates/js/translated/table_filters.js:186 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:587 msgid "Optional" msgstr "Opcjonalne" -#: build/api.py:301 templates/js/translated/table_filters.js:408 +#: build/api.py:294 templates/js/translated/table_filters.js:408 #: templates/js/translated/table_filters.js:579 msgid "Tracked" msgstr "Śledzony" -#: build/api.py:303 part/admin.py:144 templates/js/translated/build.js:1744 -#: templates/js/translated/build.js:2629 +#: build/api.py:296 part/admin.py:144 templates/js/translated/build.js:1744 +#: templates/js/translated/build.js:2630 #: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:571 msgid "Allocated" msgstr "Przydzielono" -#: build/api.py:311 company/models.py:872 company/serializers.py:359 +#: build/api.py:304 company/models.py:879 company/serializers.py:386 #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2561 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2562 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:234 -#: templates/js/translated/part.js:693 templates/js/translated/part.js:695 -#: templates/js/translated/part.js:700 +#: 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 #: templates/js/translated/table_filters.js:575 msgid "Available" @@ -760,7 +761,7 @@ msgstr "Dostępne" #: build/models.py:85 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 -#: stock/serializers.py:82 templates/email/build_order_completed.html:16 +#: stock/serializers.py:84 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:2892 msgid "Build Order" @@ -781,35 +782,43 @@ msgstr "Zlecenia budowy" msgid "Assembly BOM has not been validated" msgstr "" -#: build/models.py:134 part/templates/part/part_base.html:145 -msgid "Part is not active" -msgstr "" +#: build/models.py:134 +#, fuzzy +#| msgid "Build order part cannot be changed" +msgid "Build order cannot be created for an inactive part" +msgstr "Nie można zmienić elementu kompletacji" -#: build/models.py:148 +#: build/models.py:141 +#, fuzzy +#| msgid "Build order part cannot be changed" +msgid "Build order cannot be created for an unlocked part" +msgstr "Nie można zmienić elementu kompletacji" + +#: build/models.py:155 msgid "Invalid choice for parent build" msgstr "Nieprawidłowy wybór kompilacji nadrzędnej" -#: build/models.py:159 order/models.py:240 +#: build/models.py:166 order/models.py:240 msgid "Responsible user or group must be specified" msgstr "Odpowiedzialny użytkownik lub grupa muszą być określone" -#: build/models.py:165 +#: build/models.py:172 msgid "Build order part cannot be changed" msgstr "Nie można zmienić elementu kompletacji" -#: build/models.py:226 +#: build/models.py:233 msgid "Build Order Reference" msgstr "Odwołanie do zamówienia wykonania" -#: build/models.py:227 order/models.py:463 order/models.py:926 -#: order/models.py:1289 order/models.py:2020 part/admin.py:411 -#: part/models.py:4085 part/templates/part/upload_bom.html:54 +#: build/models.py:234 build/serializers.py:1189 order/models.py:463 +#: order/models.py:926 order/models.py:1289 order/models.py:2046 +#: part/admin.py:411 part/models.py:4170 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: 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/build.js:2513 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2065 #: templates/js/translated/return_order.js:728 @@ -817,27 +826,28 @@ msgstr "Odwołanie do zamówienia wykonania" msgid "Reference" msgstr "Referencja" -#: build/models.py:238 +#: build/models.py:245 msgid "Brief description of the build (optional)" msgstr "Krótki opis produkcji (opcjonalny)" -#: build/models.py:246 build/templates/build/build_base.html:183 +#: build/models.py:253 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Budowa nadrzędna" -#: build/models.py:247 +#: build/models.py:254 msgid "BuildOrder to which this build is allocated" msgstr "Zamówienie budowy, do którego budowa jest przypisana" -#: build/models.py:252 build/templates/build/build_base.html:97 -#: build/templates/build/detail.html:29 company/models.py:1026 order/api.py:805 -#: order/models.py:1414 order/models.py:1559 order/models.py:1560 -#: part/api.py:1494 part/api.py:1788 part/models.py:395 part/models.py:3012 -#: part/models.py:3156 part/models.py:3303 part/models.py:3324 -#: part/models.py:3346 part/models.py:3477 part/models.py:3787 -#: part/models.py:3943 part/models.py:4036 part/models.py:4395 -#: part/serializers.py:1120 part/serializers.py:1726 +#: build/models.py:259 build/serializers.py:1184 +#: build/templates/build/build_base.html:97 +#: build/templates/build/detail.html:29 company/models.py:1034 order/api.py:759 +#: order/models.py:1419 order/models.py:1574 order/models.py:1575 +#: part/api.py:1480 part/api.py:1776 part/models.py:396 part/models.py:3022 +#: part/models.py:3166 part/models.py:3314 part/models.py:3335 +#: part/models.py:3357 part/models.py:3493 part/models.py:3827 +#: part/models.py:3990 part/models.py:4121 part/models.py:4480 +#: part/serializers.py:1148 part/serializers.py:1758 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -848,8 +858,8 @@ msgstr "Zamówienie budowy, do którego budowa jest przypisana" #: 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:109 stock/serializers.py:157 stock/serializers.py:423 -#: stock/serializers.py:820 templates/InvenTree/search.html:82 +#: stock/serializers.py:111 stock/serializers.py:159 stock/serializers.py:443 +#: stock/serializers.py:878 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 @@ -862,8 +872,8 @@ msgstr "Zamówienie budowy, do którego budowa jest przypisana" #: templates/js/translated/company.js:1116 #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 -#: templates/js/translated/part.js:1944 templates/js/translated/part.js:2016 -#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:1947 templates/js/translated/part.js:2019 +#: templates/js/translated/part.js:2327 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:1848 @@ -881,107 +891,107 @@ msgstr "Zamówienie budowy, do którego budowa jest przypisana" msgid "Part" msgstr "Komponent" -#: build/models.py:260 +#: build/models.py:267 msgid "Select part to build" msgstr "Wybierz część do budowy" -#: build/models.py:265 +#: build/models.py:272 msgid "Sales Order Reference" msgstr "Odwołanie do zamówienia sprzedaży" -#: build/models.py:269 +#: build/models.py:276 msgid "SalesOrder to which this build is allocated" msgstr "Zamówienie sprzedaży, do którego budowa jest przypisana" -#: build/models.py:274 build/serializers.py:999 +#: build/models.py:281 build/serializers.py:1003 #: templates/js/translated/build.js:1731 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "Lokalizacja źródła" -#: build/models.py:278 +#: build/models.py:285 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:283 +#: build/models.py:290 msgid "Destination Location" msgstr "Lokalizacja docelowa" -#: build/models.py:287 +#: build/models.py:294 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:291 +#: build/models.py:298 msgid "Build Quantity" msgstr "Ilość do stworzenia" -#: build/models.py:294 +#: build/models.py:301 msgid "Number of stock items to build" msgstr "Ilość przedmiotów do zbudowania" -#: build/models.py:298 +#: build/models.py:305 msgid "Completed items" msgstr "Ukończone elementy" -#: build/models.py:300 +#: build/models.py:307 msgid "Number of stock items which have been completed" msgstr "Ilość produktów magazynowych które zostały ukończone" -#: build/models.py:304 +#: build/models.py:311 msgid "Build Status" msgstr "Status budowania" -#: build/models.py:308 +#: build/models.py:315 msgid "Build status code" msgstr "Kod statusu budowania" -#: build/models.py:317 build/serializers.py:286 order/serializers.py:580 -#: stock/models.py:839 stock/serializers.py:74 stock/serializers.py:1458 +#: build/models.py:324 build/serializers.py:290 order/serializers.py:629 +#: stock/models.py:839 stock/serializers.py:76 stock/serializers.py:1524 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "Kod partii" -#: build/models.py:321 build/serializers.py:287 +#: build/models.py:328 build/serializers.py:291 msgid "Batch code for this build output" msgstr "Kod partii dla wyjścia budowy" -#: build/models.py:324 order/models.py:316 order/serializers.py:119 -#: part/models.py:1115 part/templates/part/part_base.html:310 +#: build/models.py:331 order/models.py:316 order/serializers.py:127 +#: part/models.py:1125 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:328 +#: build/models.py:335 msgid "Target completion date" msgstr "Docelowy termin zakończenia" -#: build/models.py:329 +#: build/models.py:336 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:332 order/models.py:521 order/models.py:2065 +#: build/models.py:339 order/models.py:521 order/models.py:2091 #: templates/js/translated/build.js:2247 msgid "Completion Date" msgstr "Data zakończenia" -#: build/models.py:338 +#: build/models.py:345 msgid "completed by" msgstr "zrealizowane przez" -#: build/models.py:346 templates/js/translated/build.js:2207 +#: build/models.py:353 templates/js/translated/build.js:2207 msgid "Issued by" msgstr "Wydany przez" -#: build/models.py:347 +#: build/models.py:354 msgid "User who issued this build order" msgstr "Użytkownik, który wydał to zamówienie" -#: build/models.py:355 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 common/models.py:147 +#: build/models.py:362 build/templates/build/build_base.html:204 +#: build/templates/build/detail.html:122 common/models.py:152 #: order/models.py:334 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:232 part/models.py:1132 +#: order/templates/order/sales_order_base.html:232 part/models.py:1142 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 @@ -992,11 +1002,11 @@ msgstr "Użytkownik, który wydał to zamówienie" msgid "Responsible" msgstr "Odpowiedzialny" -#: build/models.py:356 +#: build/models.py:363 msgid "User or group responsible for this build order" msgstr "Użytkownik lub grupa odpowiedzialna za te zlecenie produkcji" -#: build/models.py:361 build/templates/build/detail.html:108 +#: build/models.py:368 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 @@ -1008,21 +1018,22 @@ msgstr "Użytkownik lub grupa odpowiedzialna za te zlecenie produkcji" msgid "External Link" msgstr "Link Zewnętrzny" -#: build/models.py:362 common/models.py:3244 part/models.py:956 +#: build/models.py:369 common/models.py:3230 part/models.py:960 #: stock/models.py:835 msgid "Link to external URL" msgstr "Link do zewnętrznego adresu URL" -#: build/models.py:366 +#: build/models.py:373 msgid "Build Priority" msgstr "Priorytet budowy" -#: build/models.py:369 +#: build/models.py:376 msgid "Priority of this build order" msgstr "Priorytet tego zamówienia produkcji" -#: build/models.py:376 common/models.py:131 order/admin.py:18 -#: order/models.py:298 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:383 common/models.py:122 common/models.py:136 +#: order/admin.py:18 order/models.py:298 order/serializers.py:108 +#: templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 #: templates/js/translated/purchase_order.js:1710 #: templates/js/translated/return_order.js:317 @@ -1032,65 +1043,66 @@ msgstr "Priorytet tego zamówienia produkcji" msgid "Project Code" msgstr "Kod projektu" -#: build/models.py:377 +#: build/models.py:384 msgid "Project code for this build order" msgstr "Kod projektu dla tego zlecenia produkcji" -#: build/models.py:610 build/models.py:675 +#: build/models.py:617 build/models.py:682 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:632 +#: build/models.py:639 #, python-brace-format msgid "Build order {build} has been completed" msgstr "Kolejność kompilacji {build} została zakończona" -#: build/models.py:638 +#: build/models.py:645 msgid "A build order has been completed" msgstr "Kolejność kompilacji została zakończona" -#: build/models.py:864 build/models.py:949 +#: build/models.py:871 build/models.py:956 msgid "No build output specified" msgstr "Nie określono danych wyjściowych budowy" -#: build/models.py:867 +#: build/models.py:874 msgid "Build output is already completed" msgstr "Budowanie wyjścia jest już ukończone" -#: build/models.py:870 +#: build/models.py:877 msgid "Build output does not match Build Order" msgstr "Skompilowane dane wyjściowe nie pasują do kolejności kompilacji" -#: build/models.py:953 build/serializers.py:219 build/serializers.py:268 -#: build/serializers.py:866 order/models.py:559 order/serializers.py:432 -#: order/serializers.py:575 part/serializers.py:1484 part/serializers.py:1884 -#: stock/models.py:678 stock/models.py:1496 stock/serializers.py:603 +#: build/models.py:960 build/serializers.py:223 build/serializers.py:272 +#: build/serializers.py:870 order/models.py:559 order/serializers.py:461 +#: order/serializers.py:624 part/serializers.py:1515 part/serializers.py:1921 +#: stock/models.py:678 stock/models.py:1496 stock/serializers.py:661 msgid "Quantity must be greater than zero" msgstr "Ilość musi być większa niż zero" -#: build/models.py:958 build/serializers.py:224 +#: build/models.py:965 build/serializers.py:228 msgid "Quantity cannot be greater than the output quantity" msgstr "Ilość nie może być większa niż ilość wyjściowa" -#: build/models.py:1018 build/serializers.py:547 +#: build/models.py:1025 build/serializers.py:551 #, 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:1359 +#: build/models.py:1366 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1384 +#: build/models.py:1391 msgid "Build object" msgstr "Zbuduj obiekt" -#: build/models.py:1398 build/models.py:1654 build/serializers.py:206 -#: build/serializers.py:253 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2563 -#: order/models.py:1272 order/models.py:1931 order/serializers.py:1327 +#: build/models.py:1405 build/models.py:1661 build/serializers.py:210 +#: build/serializers.py:257 build/serializers.py:1194 +#: build/templates/build/build_base.html:102 +#: build/templates/build/detail.html:34 common/models.py:2544 +#: order/models.py:1272 order/models.py:1957 order/serializers.py:1383 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:410 -#: part/forms.py:48 part/models.py:3170 part/models.py:4058 +#: part/forms.py:48 part/models.py:3180 part/models.py:4143 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1100,7 +1112,7 @@ msgstr "Zbuduj obiekt" #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:169 stock/admin.py:159 -#: stock/serializers.py:125 stock/serializers.py:165 stock/serializers.py:594 +#: stock/serializers.py:127 stock/serializers.py:167 stock/serializers.py:652 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 @@ -1111,8 +1123,8 @@ msgstr "Zbuduj obiekt" #: templates/js/translated/build.js:1746 templates/js/translated/build.js:2357 #: templates/js/translated/company.js:1818 #: templates/js/translated/model_renderers.js:236 -#: templates/js/translated/order.js:304 templates/js/translated/part.js:962 -#: templates/js/translated/part.js:1812 templates/js/translated/part.js:3342 +#: templates/js/translated/order.js:304 templates/js/translated/part.js:965 +#: templates/js/translated/part.js:1815 templates/js/translated/part.js:3345 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 @@ -1132,38 +1144,38 @@ msgstr "Zbuduj obiekt" msgid "Quantity" msgstr "Ilość" -#: build/models.py:1399 +#: build/models.py:1406 msgid "Required quantity for build order" msgstr "Wymagana ilość dla zlecenia produkcji" -#: build/models.py:1479 +#: build/models.py:1486 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1488 +#: build/models.py:1495 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Przydzielona ilość ({q}) nie może przekraczać dostępnej ilości zapasów magazynowych ({a})" -#: build/models.py:1498 order/models.py:1882 +#: build/models.py:1505 order/models.py:1908 msgid "Stock item is over-allocated" msgstr "Pozycja magazynowa jest nadmiernie przydzielona" -#: build/models.py:1504 order/models.py:1885 +#: build/models.py:1511 order/models.py:1911 msgid "Allocation quantity must be greater than zero" msgstr "Alokowana ilość musi być większa niż zero" -#: build/models.py:1510 +#: build/models.py:1517 msgid "Quantity must be 1 for serialized stock" msgstr "Ilość musi wynosić 1 dla serializowanych zasobów" -#: build/models.py:1569 +#: build/models.py:1576 msgid "Selected stock item does not match BOM line" msgstr "Wybrana pozycja magazynowa nie pasuje do pozycji w zestawieniu BOM" -#: build/models.py:1641 build/serializers.py:846 order/serializers.py:1171 -#: order/serializers.py:1192 stock/models.py:359 stock/serializers.py:91 -#: stock/serializers.py:697 stock/serializers.py:1177 stock/serializers.py:1289 +#: build/models.py:1648 build/serializers.py:850 order/serializers.py:1227 +#: order/serializers.py:1248 stock/models.py:359 stock/serializers.py:93 +#: stock/serializers.py:755 stock/serializers.py:1243 stock/serializers.py:1355 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 @@ -1179,70 +1191,76 @@ msgstr "Wybrana pozycja magazynowa nie pasuje do pozycji w zestawieniu BOM" msgid "Stock Item" msgstr "Element magazynowy" -#: build/models.py:1642 +#: build/models.py:1649 msgid "Source stock item" msgstr "Lokalizacja magazynowania przedmiotu" -#: build/models.py:1655 +#: build/models.py:1662 msgid "Stock quantity to allocate to build" msgstr "Ilość zapasów do przydzielenia do produkcji" -#: build/models.py:1663 +#: build/models.py:1670 msgid "Install into" msgstr "Zainstaluj do" -#: build/models.py:1664 +#: build/models.py:1671 msgid "Destination stock item" msgstr "Docelowa lokalizacja magazynowa przedmiotu" -#: build/serializers.py:156 build/serializers.py:875 +#: build/serializers.py:89 build/serializers.py:1185 part/admin.py:41 +#: part/admin.py:405 part/models.py:3992 part/stocktake.py:220 +#: stock/admin.py:156 +msgid "Part Name" +msgstr "Nazwa komponentu" + +#: build/serializers.py:160 build/serializers.py:879 #: templates/js/translated/build.js:1322 msgid "Build Output" msgstr "" -#: build/serializers.py:168 +#: build/serializers.py:172 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:172 +#: build/serializers.py:176 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:176 +#: build/serializers.py:180 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:187 +#: build/serializers.py:191 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:207 build/serializers.py:254 +#: build/serializers.py:211 build/serializers.py:258 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:275 +#: build/serializers.py:279 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:278 +#: build/serializers.py:282 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:293 order/serializers.py:588 order/serializers.py:1331 -#: stock/serializers.py:614 templates/js/translated/purchase_order.js:1153 +#: build/serializers.py:297 order/serializers.py:637 order/serializers.py:1387 +#: stock/serializers.py:672 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:294 +#: build/serializers.py:298 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:299 build/serializers.py:440 build/serializers.py:512 -#: order/serializers.py:564 order/serializers.py:672 order/serializers.py:1656 -#: part/serializers.py:1140 stock/serializers.py:100 stock/serializers.py:625 -#: stock/serializers.py:785 stock/serializers.py:881 stock/serializers.py:1321 -#: stock/serializers.py:1577 stock/templates/stock/item_base.html:394 +#: build/serializers.py:303 build/serializers.py:444 build/serializers.py:516 +#: order/serializers.py:613 order/serializers.py:721 order/serializers.py:1714 +#: part/serializers.py:1168 stock/serializers.py:102 stock/serializers.py:683 +#: stock/serializers.py:843 stock/serializers.py:939 stock/serializers.py:1387 +#: stock/serializers.py:1643 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 @@ -1258,54 +1276,54 @@ msgstr "" msgid "Location" msgstr "Lokalizacja" -#: build/serializers.py:300 +#: build/serializers.py:304 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:314 +#: build/serializers.py:318 msgid "Auto Allocate Serial Numbers" msgstr "Automatycznie przydzielaj numery seryjne" -#: build/serializers.py:315 +#: build/serializers.py:319 msgid "Automatically allocate required items with matching serial numbers" msgstr "Automatycznie przydzielaj wymagane elementy z pasującymi numerami seryjnymi" -#: build/serializers.py:330 +#: build/serializers.py:334 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:355 stock/api.py:1041 +#: build/serializers.py:359 stock/api.py:1033 msgid "The following serial numbers already exist or are invalid" msgstr "Poniższe numery seryjne już istnieją lub są nieprawidłowe" -#: build/serializers.py:402 build/serializers.py:464 build/serializers.py:553 +#: build/serializers.py:406 build/serializers.py:468 build/serializers.py:557 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:441 +#: build/serializers.py:445 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:447 +#: build/serializers.py:451 msgid "Discard Allocations" msgstr "Odrzuć przydziały" -#: build/serializers.py:448 +#: build/serializers.py:452 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:453 +#: build/serializers.py:457 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:513 +#: build/serializers.py:517 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:519 build/templates/build/build_base.html:151 +#: build/serializers.py:523 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:950 -#: order/models.py:2044 order/serializers.py:596 stock/admin.py:164 -#: stock/serializers.py:932 stock/serializers.py:1465 +#: order/models.py:2070 order/serializers.py:645 stock/admin.py:164 +#: stock/serializers.py:990 stock/serializers.py:1531 #: 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 @@ -1317,193 +1335,253 @@ msgstr "" msgid "Status" msgstr "" -#: build/serializers.py:525 +#: build/serializers.py:529 msgid "Accept Incomplete Allocation" msgstr "Zaakceptuj niekompletną alokację" -#: build/serializers.py:526 +#: build/serializers.py:530 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:611 +#: build/serializers.py:615 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:612 +#: build/serializers.py:616 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:618 +#: build/serializers.py:622 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:619 +#: build/serializers.py:623 msgid "Delete any build outputs which have not been completed" msgstr "Usuń produkcje, które nie zostały zakończone" -#: build/serializers.py:646 +#: build/serializers.py:650 msgid "Not permitted" msgstr "Niedozwolone" -#: build/serializers.py:647 +#: build/serializers.py:651 msgid "Accept as consumed by this build order" msgstr "Zaakceptuj jako zużyte przez zlecenie produkcji" -#: build/serializers.py:648 +#: build/serializers.py:652 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:678 +#: build/serializers.py:682 msgid "Overallocated Stock" msgstr "Nadmierny przydział zasobów" -#: build/serializers.py:680 +#: build/serializers.py:684 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:690 +#: build/serializers.py:694 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:695 +#: build/serializers.py:699 msgid "Accept Unallocated" msgstr "Zaakceptuj nieprzydzielone" -#: build/serializers.py:696 +#: build/serializers.py:700 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "Zaakceptuj, że przedmioty magazynowe nie zostały w pełni przypisane do tego zlecenia budowy" -#: build/serializers.py:706 templates/js/translated/build.js:315 +#: build/serializers.py:710 templates/js/translated/build.js:315 msgid "Required stock has not been fully allocated" msgstr "Wymagany stan nie został w pełni przypisany" -#: build/serializers.py:711 order/serializers.py:300 order/serializers.py:1234 +#: build/serializers.py:715 order/serializers.py:319 order/serializers.py:1290 msgid "Accept Incomplete" msgstr "Akceptuj niekompletne" -#: build/serializers.py:712 +#: build/serializers.py:716 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:722 templates/js/translated/build.js:319 +#: build/serializers.py:726 templates/js/translated/build.js:319 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:731 templates/js/translated/build.js:303 +#: build/serializers.py:735 templates/js/translated/build.js:303 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:769 +#: build/serializers.py:773 msgid "Build Line" msgstr "" -#: build/serializers.py:779 +#: build/serializers.py:783 msgid "Build output" msgstr "" -#: build/serializers.py:787 +#: build/serializers.py:791 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:823 +#: build/serializers.py:827 msgid "Build Line Item" msgstr "" -#: build/serializers.py:837 +#: build/serializers.py:841 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:852 stock/serializers.py:1190 +#: build/serializers.py:856 stock/serializers.py:1256 msgid "Item must be in stock" msgstr "Towar musi znajdować się w magazynie" -#: build/serializers.py:900 order/serializers.py:1225 +#: build/serializers.py:904 order/serializers.py:1281 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:906 +#: build/serializers.py:910 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:913 +#: build/serializers.py:917 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:937 order/serializers.py:1477 +#: build/serializers.py:941 order/serializers.py:1533 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:1000 +#: build/serializers.py:1004 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:1008 +#: build/serializers.py:1012 msgid "Exclude Location" msgstr "Wyklucz lokalizację" -#: build/serializers.py:1009 +#: build/serializers.py:1013 msgid "Exclude stock items from this selected location" msgstr "Wyklucz produkty magazynowe z wybranej lokalizacji" -#: build/serializers.py:1014 +#: build/serializers.py:1018 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:1015 +#: build/serializers.py:1019 msgid "Stock items in multiple locations can be used interchangeably" msgstr "Towary magazynowe w wielu lokalizacjach mogą być stosowane zamiennie" -#: build/serializers.py:1020 +#: build/serializers.py:1024 msgid "Substitute Stock" msgstr "Zastępczy magazyn" -#: build/serializers.py:1021 +#: build/serializers.py:1025 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:1026 +#: build/serializers.py:1030 msgid "Optional Items" msgstr "Przedmiot opcjonalny" -#: build/serializers.py:1027 +#: build/serializers.py:1031 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1049 +#: build/serializers.py:1053 msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1139 part/models.py:3953 part/models.py:4387 -#: stock/api.py:804 +#: build/serializers.py:1095 +#, fuzzy +#| msgid "Supplier Part ID" +msgid "Supplier Part Number" +msgstr "ID części dostawcy" + +#: build/serializers.py:1096 company/models.py:500 +msgid "Manufacturer Part Number" +msgstr "Numer producenta komponentu" + +#: build/serializers.py:1097 stock/admin.py:53 stock/admin.py:175 +#: stock/serializers.py:454 +msgid "Location Name" +msgstr "" + +#: build/serializers.py:1098 +#, fuzzy +#| msgid "Build Order Reference" +msgid "Build Reference" +msgstr "Odwołanie do zamówienia wykonania" + +#: build/serializers.py:1099 +#, fuzzy +#| msgid "Reference" +msgid "BOM Reference" +msgstr "Referencja" + +#: build/serializers.py:1186 part/admin.py:402 part/models.py:3993 +msgid "Part IPN" +msgstr "IPN komponentu" + +#: build/serializers.py:1192 common/models.py:1488 part/admin.py:113 +#: part/models.py:1068 templates/js/translated/table_filters.js:147 +#: templates/js/translated/table_filters.js:223 +#: templates/js/translated/table_filters.js:776 +msgid "Trackable" +msgstr "Możliwość śledzenia" + +#: build/serializers.py:1196 part/models.py:4000 part/models.py:4472 +#: stock/api.py:796 msgid "BOM Item" msgstr "Element BOM" -#: build/serializers.py:1148 templates/js/translated/index.js:130 +#: build/serializers.py:1205 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1153 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:828 part/serializers.py:1502 +#: build/serializers.py:1210 part/admin.py:132 part/bom.py:173 +#: part/serializers.py:856 part/serializers.py:1533 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2613 templates/js/translated/part.js:710 -#: templates/js/translated/part.js:2149 +#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709 +#: templates/js/translated/part.js:2152 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "W Zamówieniu" -#: build/serializers.py:1158 part/serializers.py:1504 -#: templates/js/translated/build.js:2617 +#: build/serializers.py:1215 part/serializers.py:1535 +#: templates/js/translated/build.js:2618 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "W produkcji" -#: build/serializers.py:1163 part/bom.py:172 part/serializers.py:1527 +#: build/serializers.py:1220 part/bom.py:172 part/serializers.py:1558 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" msgstr "Dostępna ilość" +#: build/serializers.py:1224 +#, fuzzy +#| msgid "Substitute Stock" +msgid "Available Substitute Stock" +msgstr "Zastępczy magazyn" + +#: build/serializers.py:1225 +#, fuzzy +#| msgid "Available Stock" +msgid "Available Variant Stock" +msgstr "Dostępna ilość" + +#: build/serializers.py:1226 +#, fuzzy +#| msgid "Available Stock" +msgid "Total Available Stock" +msgstr "Dostępna ilość" + +#: build/serializers.py:1227 part/serializers.py:862 +msgid "External Stock" +msgstr "" + #: build/status_codes.py:11 generic/states/tests.py:17 order/status_codes.py:12 #: order/status_codes.py:37 order/status_codes.py:64 order/status_codes.py:82 #: templates/js/translated/table_filters.js:598 @@ -1519,7 +1597,8 @@ msgstr "Produkcja" msgid "Cancelled" msgstr "Anulowano" -#: build/status_codes.py:14 generic/states/tests.py:19 order/status_codes.py:14 +#: build/status_codes.py:14 generic/states/tests.py:19 importer/models.py:468 +#: importer/status_codes.py:19 order/status_codes.py:14 #: order/status_codes.py:44 order/status_codes.py:69 #: order/templates/order/order_base.html:158 #: order/templates/order/sales_order_base.html:165 report/models.py:444 @@ -1652,11 +1731,12 @@ msgstr "" #: build/templates/build/build_base.html:160 #: build/templates/build/detail.html:138 order/models.py:309 -#: order/models.py:1307 order/templates/order/order_base.html:186 +#: order/models.py:1307 order/serializers.py:174 +#: order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: 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:1831 +#: templates/js/translated/build.js:2239 templates/js/translated/part.js:1834 #: templates/js/translated/purchase_order.js:1739 #: templates/js/translated/purchase_order.js:2147 #: templates/js/translated/return_order.js:346 @@ -1689,8 +1769,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1463 order/models.py:845 -#: order/models.py:1551 order/models.py:1665 order/models.py:1819 +#: build/templates/build/detail.html:101 order/api.py:1384 order/models.py:845 +#: order/models.py:1566 order/models.py:1681 order/models.py:1840 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 @@ -1740,7 +1820,7 @@ msgstr "Źródło magazynu" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1443 +#: build/templates/build/detail.html:49 order/models.py:1448 #: templates/js/translated/purchase_order.js:2189 msgid "Destination" msgstr "Przeznaczenie" @@ -1892,31 +1972,31 @@ msgstr "" msgid "Incomplete Outputs" msgstr "" -#: common/api.py:689 +#: common/api.py:690 msgid "Is Link" msgstr "" -#: common/api.py:697 +#: common/api.py:698 msgid "Is File" msgstr "" -#: common/api.py:739 +#: common/api.py:740 msgid "User does not have permission to delete this attachment" msgstr "" -#: common/currency.py:130 +#: common/currency.py:132 msgid "Invalid currency code" msgstr "" -#: common/currency.py:132 +#: common/currency.py:134 msgid "Duplicate currency code" msgstr "" -#: common/currency.py:137 +#: common/currency.py:139 msgid "No valid currency codes provided" msgstr "" -#: common/currency.py:154 +#: common/currency.py:156 msgid "No plugin" msgstr "Brak wtyczki" @@ -1970,1635 +2050,1606 @@ msgstr "Data ostatniej aktualizacji" msgid "Site URL is locked by configuration" msgstr "" -#: common/models.py:132 +#: common/models.py:137 msgid "Unique project code" msgstr "Unikalny kod projektu" -#: common/models.py:139 +#: common/models.py:144 msgid "Project description" msgstr "Opis projektu" -#: common/models.py:148 +#: common/models.py:153 msgid "User or group responsible for this project" msgstr "Użytkownik lub grupa odpowiedzialna za to zamówienie" -#: common/models.py:765 +#: common/models.py:770 msgid "Settings key (must be unique - case insensitive)" msgstr "Klucz ustawień (musi być unikalny - niewrażliwy na wielkość liter)" -#: common/models.py:769 +#: common/models.py:774 msgid "Settings value" msgstr "Ustawienia wartości" -#: common/models.py:821 +#: common/models.py:826 msgid "Chosen value is not a valid option" msgstr "Wybrana wartość nie jest poprawną opcją" -#: common/models.py:837 +#: common/models.py:842 msgid "Value must be a boolean value" msgstr "Wartość musi być wartością binarną" -#: common/models.py:845 +#: common/models.py:850 msgid "Value must be an integer value" msgstr "Wartość musi być liczbą całkowitą" -#: common/models.py:882 +#: common/models.py:887 msgid "Key string must be unique" msgstr "Ciąg musi być unikatowy" -#: common/models.py:1114 +#: common/models.py:1119 msgid "No group" msgstr "Brak grupy" -#: common/models.py:1213 +#: common/models.py:1218 msgid "Restart required" msgstr "Wymagane ponowne uruchomienie" -#: common/models.py:1215 +#: common/models.py:1220 msgid "A setting has been changed which requires a server restart" msgstr "Zmieniono ustawienie, które wymaga restartu serwera" -#: common/models.py:1222 +#: common/models.py:1227 msgid "Pending migrations" msgstr "Oczekujące migracje" -#: common/models.py:1223 +#: common/models.py:1228 msgid "Number of pending database migrations" msgstr "Liczba oczekujących migracji bazy danych" -#: common/models.py:1228 +#: common/models.py:1233 msgid "Server Instance Name" msgstr "Nazwa instancji serwera" -#: common/models.py:1230 +#: common/models.py:1235 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1234 +#: common/models.py:1239 msgid "Use instance name" msgstr "Użyj nazwy instancji" -#: common/models.py:1235 +#: common/models.py:1240 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1240 +#: common/models.py:1245 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1241 +#: common/models.py:1246 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1246 company/models.py:111 company/models.py:112 +#: common/models.py:1251 company/models.py:111 company/models.py:112 msgid "Company name" msgstr "Nazwa firmy" -#: common/models.py:1247 +#: common/models.py:1252 msgid "Internal company name" msgstr "Wewnętrzna nazwa firmy" -#: common/models.py:1251 +#: common/models.py:1256 msgid "Base URL" msgstr "Bazowy URL" -#: common/models.py:1252 +#: common/models.py:1257 msgid "Base URL for server instance" msgstr "Bazowy adres URL dla instancji serwera" -#: common/models.py:1258 +#: common/models.py:1263 msgid "Default Currency" msgstr "Domyślna waluta" -#: common/models.py:1259 +#: common/models.py:1264 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1265 +#: common/models.py:1270 msgid "Supported Currencies" msgstr "" -#: common/models.py:1266 +#: common/models.py:1271 msgid "List of supported currency codes" msgstr "" -#: common/models.py:1272 +#: common/models.py:1277 msgid "Currency Update Interval" msgstr "Interwał aktualizacji waluty" -#: common/models.py:1274 +#: common/models.py:1279 msgid "How often to update exchange rates (set to zero to disable)" msgstr "Jak często aktualizować kursy wymiany walut (ustaw zero aby wyłączyć)" -#: common/models.py:1277 common/models.py:1333 common/models.py:1346 -#: common/models.py:1354 common/models.py:1363 common/models.py:1372 -#: common/models.py:1596 common/models.py:1618 common/models.py:1733 -#: common/models.py:2100 +#: common/models.py:1282 common/models.py:1338 common/models.py:1351 +#: common/models.py:1359 common/models.py:1368 common/models.py:1377 +#: common/models.py:1601 common/models.py:1623 common/models.py:1738 +#: common/models.py:2111 msgid "days" msgstr "dni" -#: common/models.py:1281 +#: common/models.py:1286 msgid "Currency Update Plugin" msgstr "Wtyczka aktualizacji waluty" -#: common/models.py:1282 +#: common/models.py:1287 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1287 +#: common/models.py:1292 msgid "Download from URL" msgstr "Pobierz z adresu URL" -#: common/models.py:1289 +#: common/models.py:1294 msgid "Allow download of remote images and files from external URL" msgstr "Zezwól na pobieranie zewnętrznych obrazów i plików z zewnętrznego URL" -#: common/models.py:1295 +#: common/models.py:1300 msgid "Download Size Limit" msgstr "Limit rozmiaru pobierania" -#: common/models.py:1296 +#: common/models.py:1301 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1302 +#: common/models.py:1307 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1304 +#: common/models.py:1309 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/models.py:1309 +#: common/models.py:1314 msgid "Strict URL Validation" msgstr "Ścisła weryfikacja adresu URL" -#: common/models.py:1310 +#: common/models.py:1315 msgid "Require schema specification when validating URLs" msgstr "Wymagaj specyfikacji schematu podczas sprawdzania poprawności adresów URL" -#: common/models.py:1315 +#: common/models.py:1320 msgid "Require confirm" msgstr "Wymagaj potwierdzenia" -#: common/models.py:1316 +#: common/models.py:1321 msgid "Require explicit user confirmation for certain action." msgstr "Wymagaj wyraźnego potwierdzenia dla określonych działań." -#: common/models.py:1321 +#: common/models.py:1326 msgid "Tree Depth" msgstr "Głębokość drzewa" -#: common/models.py:1323 +#: common/models.py:1328 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "Domyślna głębokość drzewa dla widoku drzewa. Głębsze poziomy mogą być leniwe, gdy są potrzebne." -#: common/models.py:1329 +#: common/models.py:1334 msgid "Update Check Interval" msgstr "Częstotliwość sprawdzania aktualizacji" -#: common/models.py:1330 +#: common/models.py:1335 msgid "How often to check for updates (set to zero to disable)" msgstr "Jak często aktualizować kursy wymiany walut (ustaw zero aby wyłączyć)" -#: common/models.py:1336 +#: common/models.py:1341 msgid "Automatic Backup" msgstr "Automatyczna kopia zapasowa" -#: common/models.py:1337 +#: common/models.py:1342 msgid "Enable automatic backup of database and media files" msgstr "Włącz automatyczną kopię zapasową bazy danych i plików multimedialnych" -#: common/models.py:1342 +#: common/models.py:1347 msgid "Auto Backup Interval" msgstr "Interwał automatycznego tworzenia kopii zapasowych" -#: common/models.py:1343 +#: common/models.py:1348 msgid "Specify number of days between automated backup events" msgstr "Określ liczbę dni między zdarzeniami automatycznej kopii zapasowej" -#: common/models.py:1349 +#: common/models.py:1354 msgid "Task Deletion Interval" msgstr "Interwał usuwania zadań" -#: common/models.py:1351 +#: common/models.py:1356 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1358 +#: common/models.py:1363 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1360 +#: common/models.py:1365 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1367 +#: common/models.py:1372 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1369 +#: common/models.py:1374 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1376 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1381 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "Obsługa kodu kreskowego" -#: common/models.py:1377 +#: common/models.py:1382 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1382 +#: common/models.py:1387 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1383 +#: common/models.py:1388 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1389 +#: common/models.py:1394 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1390 +#: common/models.py:1395 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1395 +#: common/models.py:1400 msgid "Barcode Show Data" msgstr "" -#: common/models.py:1396 +#: common/models.py:1401 msgid "Display barcode data in browser as text" msgstr "" -#: common/models.py:1401 +#: common/models.py:1406 msgid "Part Revisions" msgstr "" -#: common/models.py:1402 +#: common/models.py:1407 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1407 +#: common/models.py:1412 msgid "Allow Deletion from Assembly" msgstr "" -#: common/models.py:1408 +#: common/models.py:1413 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/models.py:1413 +#: common/models.py:1418 msgid "IPN Regex" msgstr "Wyrażenie regularne IPN" -#: common/models.py:1414 +#: common/models.py:1419 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1417 +#: common/models.py:1422 msgid "Allow Duplicate IPN" msgstr "Zezwól na powtarzający się IPN" -#: common/models.py:1418 +#: common/models.py:1423 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1423 +#: common/models.py:1428 msgid "Allow Editing IPN" msgstr "Zezwól na edycję IPN" -#: common/models.py:1424 +#: common/models.py:1429 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1429 +#: common/models.py:1434 msgid "Copy Part BOM Data" msgstr "Skopiuj BOM komponentu" -#: common/models.py:1430 +#: common/models.py:1435 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1435 +#: common/models.py:1440 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1436 +#: common/models.py:1441 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1441 +#: common/models.py:1446 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1442 +#: common/models.py:1447 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1447 +#: common/models.py:1452 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1448 +#: common/models.py:1453 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1453 part/admin.py:108 part/models.py:3795 +#: common/models.py:1458 part/admin.py:108 part/models.py:3835 #: report/models.py:294 report/models.py:361 report/serializers.py:90 -#: report/serializers.py:131 stock/serializers.py:227 +#: report/serializers.py:131 stock/serializers.py:232 #: templates/js/translated/table_filters.js:139 -#: templates/js/translated/table_filters.js:767 +#: templates/js/translated/table_filters.js:772 msgid "Template" msgstr "Szablon" -#: common/models.py:1454 +#: common/models.py:1459 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1459 part/admin.py:91 part/admin.py:425 part/models.py:1052 +#: common/models.py:1464 part/admin.py:91 part/admin.py:425 part/models.py:1056 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 -#: templates/js/translated/table_filters.js:721 +#: templates/js/translated/table_filters.js:726 msgid "Assembly" msgstr "Złożenie" -#: common/models.py:1460 +#: common/models.py:1465 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1465 part/admin.py:95 part/models.py:1058 -#: templates/js/translated/table_filters.js:729 +#: common/models.py:1470 part/admin.py:95 part/models.py:1062 +#: templates/js/translated/table_filters.js:734 msgid "Component" msgstr "Komponent" -#: common/models.py:1466 +#: common/models.py:1471 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1471 part/admin.py:100 part/models.py:1070 +#: common/models.py:1476 part/admin.py:100 part/models.py:1074 msgid "Purchaseable" msgstr "Możliwość zakupu" -#: common/models.py:1472 +#: common/models.py:1477 msgid "Parts are purchaseable by default" msgstr "Części są domyślnie z możliwością zakupu" -#: common/models.py:1477 part/admin.py:104 part/models.py:1076 -#: templates/js/translated/table_filters.js:755 +#: common/models.py:1482 part/admin.py:104 part/models.py:1080 +#: templates/js/translated/table_filters.js:760 msgid "Salable" msgstr "Możliwość sprzedaży" -#: common/models.py:1478 +#: common/models.py:1483 msgid "Parts are salable by default" msgstr "Części są domyślnie z możliwością sprzedaży" -#: common/models.py:1483 part/admin.py:113 part/models.py:1064 -#: 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:1484 +#: common/models.py:1489 msgid "Parts are trackable by default" msgstr "Części są domyślnie z możliwością śledzenia" -#: common/models.py:1489 part/admin.py:117 part/models.py:1086 +#: common/models.py:1494 part/admin.py:117 part/models.py:1096 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 -#: templates/js/translated/table_filters.js:775 +#: templates/js/translated/table_filters.js:780 msgid "Virtual" msgstr "Wirtualny" -#: common/models.py:1490 +#: common/models.py:1495 msgid "Parts are virtual by default" msgstr "Części są domyślnie wirtualne" -#: common/models.py:1495 +#: common/models.py:1500 msgid "Show Import in Views" msgstr "" -#: common/models.py:1496 +#: common/models.py:1501 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1501 +#: common/models.py:1506 msgid "Show related parts" msgstr "Pokaż powiązane części" -#: common/models.py:1502 +#: common/models.py:1507 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1507 +#: common/models.py:1512 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1508 +#: common/models.py:1513 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1513 templates/js/translated/part.js:107 +#: common/models.py:1518 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1515 +#: common/models.py:1520 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1521 +#: common/models.py:1526 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1522 +#: common/models.py:1527 msgid "Format to display the part name" msgstr "" -#: common/models.py:1528 +#: common/models.py:1533 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1529 +#: common/models.py:1534 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1533 +#: common/models.py:1538 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1535 +#: common/models.py:1540 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1541 +#: common/models.py:1546 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1543 +#: common/models.py:1548 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1554 +#: common/models.py:1559 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1556 +#: common/models.py:1561 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1567 +#: common/models.py:1572 msgid "Use Supplier Pricing" msgstr "Użyj cennika dostawcy" -#: common/models.py:1569 +#: common/models.py:1574 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1575 +#: common/models.py:1580 msgid "Purchase History Override" msgstr "Nadpisanie historii zakupów" -#: common/models.py:1577 +#: common/models.py:1582 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1583 +#: common/models.py:1588 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1585 +#: common/models.py:1590 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1591 +#: common/models.py:1596 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1593 +#: common/models.py:1598 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1600 +#: common/models.py:1605 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1601 +#: common/models.py:1606 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1606 +#: common/models.py:1611 msgid "Active Variants Only" msgstr "" -#: common/models.py:1608 +#: common/models.py:1613 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1614 +#: common/models.py:1619 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1616 +#: common/models.py:1621 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1623 +#: common/models.py:1628 msgid "Internal Prices" msgstr "Ceny wewnętrzne" -#: common/models.py:1624 +#: common/models.py:1629 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1629 +#: common/models.py:1634 msgid "Internal Price Override" msgstr "" -#: common/models.py:1631 +#: common/models.py:1636 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1637 +#: common/models.py:1642 msgid "Enable label printing" msgstr "Włącz drukowanie etykiet" -#: common/models.py:1638 +#: common/models.py:1643 msgid "Enable label printing from the web interface" msgstr "Włącz drukowanie etykiet z interfejsu WWW" -#: common/models.py:1643 +#: common/models.py:1648 msgid "Label Image DPI" msgstr "DPI etykiety" -#: common/models.py:1645 +#: common/models.py:1650 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1651 +#: common/models.py:1656 msgid "Enable Reports" msgstr "Włącz raporty" -#: common/models.py:1652 +#: common/models.py:1657 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1657 templates/stats.html:25 +#: common/models.py:1662 templates/stats.html:25 msgid "Debug Mode" msgstr "Tryb Debugowania" -#: common/models.py:1658 +#: common/models.py:1663 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1663 +#: common/models.py:1668 msgid "Log Report Errors" msgstr "" -#: common/models.py:1664 +#: common/models.py:1669 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1669 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1674 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:302 msgid "Page Size" msgstr "Rozmiar strony" -#: common/models.py:1670 +#: common/models.py:1675 msgid "Default page size for PDF reports" msgstr "Domyślna wielkość strony dla raportów PDF" -#: common/models.py:1675 +#: common/models.py:1680 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1676 +#: common/models.py:1681 msgid "Enable generation of test reports" msgstr "Włącz generowanie raportów testów" -#: common/models.py:1681 +#: common/models.py:1686 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1683 +#: common/models.py:1688 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1689 +#: common/models.py:1694 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1690 +#: common/models.py:1695 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1695 +#: common/models.py:1700 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1696 +#: common/models.py:1701 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1701 +#: common/models.py:1706 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1703 +#: common/models.py:1708 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1709 +#: common/models.py:1714 msgid "Batch Code Template" msgstr "" -#: common/models.py:1711 +#: common/models.py:1716 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1716 +#: common/models.py:1721 msgid "Stock Expiry" msgstr "" -#: common/models.py:1717 +#: common/models.py:1722 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1722 +#: common/models.py:1727 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1723 +#: common/models.py:1728 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1728 +#: common/models.py:1733 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1730 +#: common/models.py:1735 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1737 +#: common/models.py:1742 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1738 +#: common/models.py:1743 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1743 +#: common/models.py:1748 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1744 +#: common/models.py:1749 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1749 +#: common/models.py:1754 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1750 +#: common/models.py:1755 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1754 +#: common/models.py:1759 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1755 +#: common/models.py:1760 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1760 +#: common/models.py:1765 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1762 +#: common/models.py:1767 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1768 +#: common/models.py:1773 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1770 +#: common/models.py:1775 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1776 +#: common/models.py:1781 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1778 +#: common/models.py:1783 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1784 common/models.py:1826 common/models.py:1848 -#: common/models.py:1884 +#: common/models.py:1789 common/models.py:1837 common/models.py:1859 +#: common/models.py:1895 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1785 common/models.py:1827 common/models.py:1849 -#: common/models.py:1885 +#: common/models.py:1790 common/models.py:1838 common/models.py:1860 +#: common/models.py:1896 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1790 +#: common/models.py:1795 msgid "Require Active Part" msgstr "" -#: common/models.py:1791 +#: common/models.py:1796 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/models.py:1796 +#: common/models.py:1801 +#, fuzzy +#| msgid "Return to Parts" +msgid "Require Locked Part" +msgstr "Powrót do części" + +#: common/models.py:1802 +msgid "Prevent build order creation for unlocked parts" +msgstr "" + +#: common/models.py:1807 msgid "Require Valid BOM" msgstr "" -#: common/models.py:1798 +#: common/models.py:1809 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/models.py:1804 +#: common/models.py:1815 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1806 +#: common/models.py:1817 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1812 +#: common/models.py:1823 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1813 +#: common/models.py:1824 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1818 +#: common/models.py:1829 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1820 +#: common/models.py:1831 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1832 +#: common/models.py:1843 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1834 +#: common/models.py:1845 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1840 +#: common/models.py:1851 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1842 +#: common/models.py:1853 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1854 +#: common/models.py:1865 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1855 +#: common/models.py:1866 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1860 +#: common/models.py:1871 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1862 +#: common/models.py:1873 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1868 +#: common/models.py:1879 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1870 +#: common/models.py:1881 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1876 +#: common/models.py:1887 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1878 +#: common/models.py:1889 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1890 +#: common/models.py:1901 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1892 +#: common/models.py:1903 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1898 +#: common/models.py:1909 msgid "Auto Complete Purchase Orders" msgstr "Automatycznie wypełniaj zlecenia zakupu" -#: common/models.py:1900 +#: common/models.py:1911 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:1907 +#: common/models.py:1918 msgid "Enable password forgot" msgstr "Włącz opcję zapomnianego hasła" -#: common/models.py:1908 +#: common/models.py:1919 msgid "Enable password forgot function on the login pages" msgstr "Włącz funkcję zapomnianego hasła na stronach logowania" -#: common/models.py:1913 +#: common/models.py:1924 msgid "Enable registration" msgstr "Włącz rejestrację" -#: common/models.py:1914 +#: common/models.py:1925 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:1919 +#: common/models.py:1930 msgid "Enable SSO" msgstr "Włącz SSO" -#: common/models.py:1920 +#: common/models.py:1931 msgid "Enable SSO on the login pages" msgstr "Włącz SSO na stronach logowania" -#: common/models.py:1925 +#: common/models.py:1936 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1927 +#: common/models.py:1938 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1933 +#: common/models.py:1944 msgid "Enable SSO group sync" msgstr "" -#: common/models.py:1935 +#: common/models.py:1946 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/models.py:1941 +#: common/models.py:1952 msgid "SSO group key" msgstr "" -#: common/models.py:1943 +#: common/models.py:1954 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/models.py:1949 +#: common/models.py:1960 msgid "SSO group map" msgstr "" -#: common/models.py:1951 +#: common/models.py:1962 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/models.py:1957 +#: common/models.py:1968 msgid "Remove groups outside of SSO" msgstr "" -#: common/models.py:1959 +#: common/models.py:1970 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/models.py:1965 +#: common/models.py:1976 msgid "Email required" msgstr "Adres e-mail jest wymagany" -#: common/models.py:1966 +#: common/models.py:1977 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1971 +#: common/models.py:1982 msgid "Auto-fill SSO users" msgstr "Autouzupełnianie użytkowników SSO" -#: common/models.py:1973 +#: common/models.py:1984 msgid "Automatically fill out user-details from SSO account-data" msgstr "Automatycznie wypełnij dane użytkownika z danych konta SSO" -#: common/models.py:1979 +#: common/models.py:1990 msgid "Mail twice" msgstr "E-mail dwa razy" -#: common/models.py:1980 +#: common/models.py:1991 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:1985 +#: common/models.py:1996 msgid "Password twice" msgstr "Hasło dwukrotnie" -#: common/models.py:1986 +#: common/models.py:1997 msgid "On signup ask users twice for their password" msgstr "Przy rejestracji dwukrotnie zapytaj użytkowników o ich hasło" -#: common/models.py:1991 +#: common/models.py:2002 msgid "Allowed domains" msgstr "" -#: common/models.py:1993 +#: common/models.py:2004 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1999 +#: common/models.py:2010 msgid "Group on signup" msgstr "Grupuj przy rejestracji" -#: common/models.py:2001 +#: common/models.py:2012 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/models.py:2007 +#: common/models.py:2018 msgid "Enforce MFA" msgstr "Wymuś MFA" -#: common/models.py:2008 +#: common/models.py:2019 msgid "Users must use multifactor security." msgstr "Użytkownicy muszą używać zabezpieczeń wieloskładnikowych." -#: common/models.py:2013 +#: common/models.py:2024 msgid "Check plugins on startup" msgstr "Sprawdź wtyczki przy starcie" -#: common/models.py:2015 +#: common/models.py:2026 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:2023 +#: common/models.py:2034 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2024 +#: common/models.py:2035 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2030 +#: common/models.py:2041 msgid "Enable URL integration" msgstr "Włącz integrację URL" -#: common/models.py:2031 +#: common/models.py:2042 msgid "Enable plugins to add URL routes" msgstr "Włącz wtyczki, aby dodać ścieżki URL" -#: common/models.py:2037 +#: common/models.py:2048 msgid "Enable navigation integration" msgstr "" -#: common/models.py:2038 +#: common/models.py:2049 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2044 +#: common/models.py:2055 msgid "Enable app integration" msgstr "Włącz integrację z aplikacją" -#: common/models.py:2045 +#: common/models.py:2056 msgid "Enable plugins to add apps" msgstr "Włącz wtyczki, aby dodać aplikacje" -#: common/models.py:2051 +#: common/models.py:2062 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2052 +#: common/models.py:2063 msgid "Enable plugins to run scheduled tasks" msgstr "Włącz wtyczki, aby uruchamiać zaplanowane zadania" -#: common/models.py:2058 +#: common/models.py:2069 msgid "Enable event integration" msgstr "" -#: common/models.py:2059 +#: common/models.py:2070 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2065 +#: common/models.py:2076 msgid "Enable project codes" msgstr "" -#: common/models.py:2066 +#: common/models.py:2077 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2071 +#: common/models.py:2082 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2073 +#: common/models.py:2084 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2079 +#: common/models.py:2090 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2081 +#: common/models.py:2092 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2087 +#: common/models.py:2098 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2089 +#: common/models.py:2100 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2095 +#: common/models.py:2106 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2097 +#: common/models.py:2108 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2104 +#: common/models.py:2115 msgid "Display Users full names" msgstr "" -#: common/models.py:2105 +#: common/models.py:2116 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2110 +#: common/models.py:2121 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2111 +#: common/models.py:2122 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2123 common/models.py:2533 +#: common/models.py:2134 common/models.py:2514 msgid "Settings key (must be unique - case insensitive" msgstr "Klucz ustawień (musi być unikalny - niewrażliwy na wielkość liter" -#: common/models.py:2166 +#: common/models.py:2177 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2168 +#: common/models.py:2179 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2174 +#: common/models.py:2185 msgid "Show subscribed parts" msgstr "Pokaż obserwowane części" -#: common/models.py:2175 +#: common/models.py:2186 msgid "Show subscribed parts on the homepage" msgstr "Pokaż obserwowane części na stronie głównej" -#: common/models.py:2180 +#: common/models.py:2191 msgid "Show subscribed categories" msgstr "Pokaż obserwowane kategorie" -#: common/models.py:2181 +#: common/models.py:2192 msgid "Show subscribed part categories on the homepage" msgstr "Pokaż obserwowane kategorie części na stronie głównej" -#: common/models.py:2186 +#: common/models.py:2197 msgid "Show latest parts" msgstr "Pokaż najnowsze części" -#: common/models.py:2187 +#: common/models.py:2198 msgid "Show latest parts on the homepage" msgstr "Pokaż najnowsze części na stronie głównej" -#: common/models.py:2192 +#: common/models.py:2203 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2193 +#: common/models.py:2204 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2198 +#: common/models.py:2209 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2199 +#: common/models.py:2210 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2204 +#: common/models.py:2215 msgid "Show low stock" msgstr "Pokaż niski stan magazynowy" -#: common/models.py:2205 +#: common/models.py:2216 msgid "Show low stock items on the homepage" msgstr "Pokaż elementy o niskim stanie na stronie głównej" -#: common/models.py:2210 +#: common/models.py:2221 msgid "Show depleted stock" msgstr "" -#: common/models.py:2211 +#: common/models.py:2222 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2216 +#: common/models.py:2227 msgid "Show needed stock" msgstr "Pokaż wymagany stan zapasów" -#: common/models.py:2217 +#: common/models.py:2228 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2222 +#: common/models.py:2233 msgid "Show expired stock" msgstr "" -#: common/models.py:2223 +#: common/models.py:2234 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2228 +#: common/models.py:2239 msgid "Show stale stock" msgstr "" -#: common/models.py:2229 +#: common/models.py:2240 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2234 +#: common/models.py:2245 msgid "Show pending builds" msgstr "" -#: common/models.py:2235 +#: common/models.py:2246 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2240 +#: common/models.py:2251 msgid "Show overdue builds" msgstr "" -#: common/models.py:2241 +#: common/models.py:2252 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2246 +#: common/models.py:2257 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2247 +#: common/models.py:2258 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2252 +#: common/models.py:2263 msgid "Show overdue POs" msgstr "" -#: common/models.py:2253 +#: common/models.py:2264 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2258 +#: common/models.py:2269 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2259 +#: common/models.py:2270 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2264 +#: common/models.py:2275 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2265 +#: common/models.py:2276 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2270 +#: common/models.py:2281 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2271 +#: common/models.py:2282 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2276 +#: common/models.py:2287 msgid "Show News" msgstr "" -#: common/models.py:2277 +#: common/models.py:2288 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2282 +#: common/models.py:2293 msgid "Inline label display" msgstr "" -#: common/models.py:2284 +#: common/models.py:2295 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2290 +#: common/models.py:2301 msgid "Default label printer" msgstr "" -#: common/models.py:2292 +#: common/models.py:2303 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2298 +#: common/models.py:2309 msgid "Inline report display" msgstr "" -#: common/models.py:2300 +#: common/models.py:2311 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2306 +#: common/models.py:2317 msgid "Search Parts" msgstr "Szukaj części" -#: common/models.py:2307 +#: common/models.py:2318 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2312 +#: common/models.py:2323 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2313 +#: common/models.py:2324 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2318 +#: common/models.py:2329 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2319 +#: common/models.py:2330 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2324 +#: common/models.py:2335 msgid "Hide Inactive Parts" msgstr "Ukryj nieaktywne części" -#: common/models.py:2325 +#: common/models.py:2336 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2330 +#: common/models.py:2341 msgid "Search Categories" msgstr "" -#: common/models.py:2331 +#: common/models.py:2342 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2336 +#: common/models.py:2347 msgid "Search Stock" msgstr "" -#: common/models.py:2337 +#: common/models.py:2348 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2342 +#: common/models.py:2353 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2344 +#: common/models.py:2355 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2350 +#: common/models.py:2361 msgid "Search Locations" msgstr "" -#: common/models.py:2351 +#: common/models.py:2362 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2356 +#: common/models.py:2367 msgid "Search Companies" msgstr "" -#: common/models.py:2357 +#: common/models.py:2368 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2362 +#: common/models.py:2373 msgid "Search Build Orders" msgstr "" -#: common/models.py:2363 +#: common/models.py:2374 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2368 +#: common/models.py:2379 msgid "Search Purchase Orders" msgstr "Wyszukaj zlecenia zakupu" -#: common/models.py:2369 +#: common/models.py:2380 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2374 +#: common/models.py:2385 msgid "Exclude Inactive Purchase Orders" msgstr "Wyklucz nieaktywne zlecenia zakupu" -#: common/models.py:2376 +#: common/models.py:2387 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2382 +#: common/models.py:2393 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2383 +#: common/models.py:2394 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2388 +#: common/models.py:2399 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2390 +#: common/models.py:2401 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2396 +#: common/models.py:2407 msgid "Search Return Orders" msgstr "" -#: common/models.py:2397 +#: common/models.py:2408 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2402 +#: common/models.py:2413 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2404 +#: common/models.py:2415 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2410 +#: common/models.py:2421 msgid "Search Preview Results" msgstr "" -#: common/models.py:2412 +#: common/models.py:2423 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2418 +#: common/models.py:2429 msgid "Regex Search" msgstr "" -#: common/models.py:2419 +#: common/models.py:2430 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2424 +#: common/models.py:2435 msgid "Whole Word Search" msgstr "" -#: common/models.py:2425 +#: common/models.py:2436 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2430 +#: common/models.py:2441 msgid "Show Quantity in Forms" msgstr "Pokaż ilość w formularzach" -#: common/models.py:2431 +#: common/models.py:2442 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2436 +#: common/models.py:2447 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2437 +#: common/models.py:2448 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2442 +#: common/models.py:2453 msgid "Fixed Navbar" msgstr "Stały pasek nawigacyjny" -#: common/models.py:2443 +#: common/models.py:2454 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2448 +#: common/models.py:2459 msgid "Date Format" msgstr "Format daty" -#: common/models.py:2449 +#: common/models.py:2460 msgid "Preferred format for displaying dates" msgstr "Preferowany format wyświetlania dat" -#: common/models.py:2462 part/templates/part/detail.html:41 +#: common/models.py:2473 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Planowanie komponentów" -#: common/models.py:2463 +#: common/models.py:2474 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2468 part/templates/part/detail.html:62 +#: common/models.py:2479 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2470 +#: common/models.py:2481 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2476 +#: common/models.py:2487 msgid "Table String Length" msgstr "" -#: common/models.py:2478 +#: common/models.py:2489 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2484 -msgid "Default part label template" -msgstr "" - -#: common/models.py:2485 -msgid "The part label template to be automatically selected" -msgstr "" - -#: common/models.py:2490 -msgid "Default stock item template" -msgstr "" - -#: common/models.py:2492 -msgid "The stock item label template to be automatically selected" -msgstr "" - -#: common/models.py:2498 -msgid "Default stock location label template" -msgstr "" - -#: common/models.py:2500 -msgid "The stock location label template to be automatically selected" -msgstr "" - -#: common/models.py:2506 -msgid "Default build line label template" -msgstr "" - -#: common/models.py:2508 -msgid "The build line label template to be automatically selected" -msgstr "" - -#: common/models.py:2514 +#: common/models.py:2495 msgid "Receive error reports" msgstr "" -#: common/models.py:2515 +#: common/models.py:2496 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2520 +#: common/models.py:2501 msgid "Last used printing machines" msgstr "" -#: common/models.py:2521 +#: common/models.py:2502 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2541 common/models.py:2542 common/models.py:2691 -#: common/models.py:2692 common/models.py:2937 common/models.py:2938 -#: common/models.py:3259 common/models.py:3260 part/models.py:3193 -#: part/models.py:3280 part/models.py:3353 part/models.py:3381 -#: plugin/models.py:274 plugin/models.py:275 +#: common/models.py:2522 common/models.py:2523 common/models.py:2672 +#: common/models.py:2673 common/models.py:2918 common/models.py:2919 +#: common/models.py:3245 common/models.py:3246 importer/models.py:85 +#: part/models.py:3203 part/models.py:3290 part/models.py:3364 +#: part/models.py:3392 plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 msgid "User" msgstr "Użytkownik" -#: common/models.py:2564 +#: common/models.py:2545 msgid "Price break quantity" msgstr "" -#: common/models.py:2571 company/serializers.py:472 order/admin.py:42 -#: order/models.py:1346 order/models.py:2265 -#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1886 +#: common/models.py:2552 company/serializers.py:502 order/admin.py:42 +#: order/models.py:1346 order/models.py:2292 +#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1889 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:740 msgid "Price" msgstr "Cena" -#: common/models.py:2572 +#: common/models.py:2553 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2668 common/models.py:2853 +#: common/models.py:2649 common/models.py:2834 msgid "Endpoint" msgstr "Punkt końcowy" -#: common/models.py:2669 +#: common/models.py:2650 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2679 +#: common/models.py:2660 msgid "Name for this webhook" msgstr "" -#: common/models.py:2683 +#: common/models.py:2664 msgid "Is this webhook active" msgstr "" -#: common/models.py:2699 users/models.py:159 +#: common/models.py:2680 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2700 +#: common/models.py:2681 msgid "Token for access" msgstr "" -#: common/models.py:2708 +#: common/models.py:2689 msgid "Secret" msgstr "Sekret" -#: common/models.py:2709 +#: common/models.py:2690 msgid "Shared secret for HMAC" msgstr "Współdzielony sekret dla HMAC" -#: common/models.py:2817 +#: common/models.py:2798 msgid "Message ID" msgstr "Id wiadomości" -#: common/models.py:2818 +#: common/models.py:2799 msgid "Unique identifier for this message" msgstr "Unikalny identyfikator dla tej wiadomości" -#: common/models.py:2826 +#: common/models.py:2807 msgid "Host" msgstr "" -#: common/models.py:2827 +#: common/models.py:2808 msgid "Host from which this message was received" msgstr "Host, od którego otrzymano tę wiadomość" -#: common/models.py:2835 +#: common/models.py:2816 msgid "Header" msgstr "Nagłówek" -#: common/models.py:2836 +#: common/models.py:2817 msgid "Header of this message" msgstr "Nagłówek tej wiadomości" -#: common/models.py:2843 +#: common/models.py:2824 msgid "Body" msgstr "Zawartość" -#: common/models.py:2844 +#: common/models.py:2825 msgid "Body of this message" msgstr "" -#: common/models.py:2854 +#: common/models.py:2835 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2859 +#: common/models.py:2840 msgid "Worked on" msgstr "" -#: common/models.py:2860 +#: common/models.py:2841 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2986 +#: common/models.py:2967 msgid "Id" msgstr "" -#: common/models.py:2988 templates/js/translated/company.js:965 +#: common/models.py:2969 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2990 common/models.py:3243 company/models.py:149 -#: company/models.py:440 company/models.py:500 company/models.py:799 -#: order/models.py:303 order/models.py:1301 order/models.py:1717 -#: part/admin.py:55 part/models.py:955 +#: common/models.py:2971 common/models.py:3229 company/models.py:149 +#: company/models.py:446 company/models.py:506 company/models.py:806 +#: order/models.py:303 order/models.py:1301 order/models.py:1733 +#: part/admin.py:55 part/models.py:959 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:229 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/part.js:2459 #: templates/js/translated/purchase_order.js:2040 #: templates/js/translated/purchase_order.js:2204 #: templates/js/translated/return_order.js:779 @@ -3607,28 +3658,28 @@ msgstr "" msgid "Link" msgstr "Łącze" -#: common/models.py:2992 templates/js/translated/news.js:60 +#: common/models.py:2973 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2994 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2975 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:2996 templates/js/translated/news.js:52 +#: common/models.py:2977 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2999 +#: common/models.py:2980 msgid "Read" msgstr "" -#: common/models.py:2999 +#: common/models.py:2980 msgid "Was this news item read?" msgstr "" -#: common/models.py:3016 company/models.py:159 part/models.py:965 +#: common/models.py:2997 company/models.py:159 part/models.py:969 #: 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.html:35 @@ -3638,90 +3689,96 @@ msgstr "" msgid "Image" msgstr "Obraz" -#: common/models.py:3016 +#: common/models.py:2997 msgid "Image file" msgstr "" -#: common/models.py:3028 common/models.py:3227 +#: common/models.py:3009 common/models.py:3213 msgid "Target model type for this image" msgstr "" -#: common/models.py:3032 +#: common/models.py:3013 msgid "Target model ID for this image" msgstr "" -#: common/models.py:3070 +#: common/models.py:3035 +#, fuzzy +#| msgid "Customer" +msgid "Custom Unit" +msgstr "Klient" + +#: common/models.py:3056 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:3085 +#: common/models.py:3071 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3104 +#: common/models.py:3090 msgid "Unit name" msgstr "" -#: common/models.py:3111 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3097 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3112 +#: common/models.py:3098 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3118 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3104 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3119 +#: common/models.py:3105 msgid "Unit definition" msgstr "" -#: common/models.py:3177 common/models.py:3234 stock/models.py:2461 +#: common/models.py:3163 common/models.py:3220 stock/models.py:2471 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" msgstr "Załącznik" -#: common/models.py:3189 +#: common/models.py:3175 msgid "Missing file" msgstr "Brak pliku" -#: common/models.py:3190 +#: common/models.py:3176 msgid "Missing external link" msgstr "Brak zewnętrznego odnośnika" -#: common/models.py:3235 +#: common/models.py:3221 msgid "Select file to attach" msgstr "Wybierz plik do załączenia" -#: common/models.py:3250 templates/js/translated/attachment.js:120 +#: common/models.py:3236 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" msgstr "Komentarz" -#: common/models.py:3251 +#: common/models.py:3237 msgid "Attachment comment" msgstr "" -#: common/models.py:3267 +#: common/models.py:3253 msgid "Upload date" msgstr "" -#: common/models.py:3268 +#: common/models.py:3254 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:3272 +#: common/models.py:3258 msgid "File size" msgstr "" -#: common/models.py:3272 +#: common/models.py:3258 msgid "File size in bytes" msgstr "" -#: common/models.py:3310 common/serializers.py:553 +#: common/models.py:3296 common/serializers.py:557 msgid "Invalid model type specified for attachment" msgstr "" @@ -3743,7 +3800,7 @@ msgstr "" msgid "A order that is assigned to you was canceled" msgstr "" -#: common/notifications.py:330 common/notifications.py:337 order/api.py:472 +#: common/notifications.py:330 common/notifications.py:337 order/api.py:454 msgid "Items Received" msgstr "" @@ -3759,75 +3816,75 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:371 +#: common/serializers.py:375 msgid "Is Running" msgstr "Jest uruchomiony" -#: common/serializers.py:377 +#: common/serializers.py:381 msgid "Pending Tasks" msgstr "Oczekujce zadania" -#: common/serializers.py:383 +#: common/serializers.py:387 msgid "Scheduled Tasks" msgstr "Zaplanowane zadania" -#: common/serializers.py:389 +#: common/serializers.py:393 msgid "Failed Tasks" msgstr "Zadania zakończone błędem" -#: common/serializers.py:404 +#: common/serializers.py:408 msgid "Task ID" msgstr "ID zadania" -#: common/serializers.py:404 +#: common/serializers.py:408 msgid "Unique task ID" msgstr "Unikalny identyfikator zadania" -#: common/serializers.py:406 +#: common/serializers.py:410 msgid "Lock" msgstr "Blokada" -#: common/serializers.py:406 +#: common/serializers.py:410 msgid "Lock time" msgstr "Czas blokady" -#: common/serializers.py:408 +#: common/serializers.py:412 msgid "Task name" msgstr "Nazwa zadania" -#: common/serializers.py:410 +#: common/serializers.py:414 msgid "Function" msgstr "Funkcja" -#: common/serializers.py:410 +#: common/serializers.py:414 msgid "Function name" msgstr "Nazwa funkcji" -#: common/serializers.py:412 +#: common/serializers.py:416 msgid "Arguments" msgstr "Argumenty" -#: common/serializers.py:412 +#: common/serializers.py:416 msgid "Task arguments" msgstr "Argumenty zadania" -#: common/serializers.py:415 +#: common/serializers.py:419 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:415 +#: common/serializers.py:419 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:525 +#: common/serializers.py:529 msgid "Filename" msgstr "Nazwa pliku" -#: common/serializers.py:532 report/api.py:100 report/serializers.py:53 +#: common/serializers.py:536 report/api.py:100 report/serializers.py:53 msgid "Model Type" msgstr "" -#: common/serializers.py:559 +#: common/serializers.py:563 msgid "User does not have permission to create or edit attachments for this model" msgstr "" @@ -3894,29 +3951,29 @@ msgstr "Komponenty zaimportowane" msgid "Previous Step" msgstr "Poprzedni krok" -#: company/api.py:144 +#: company/api.py:141 msgid "Part is Active" msgstr "Komponent jest aktywny" -#: company/api.py:148 +#: company/api.py:145 msgid "Manufacturer is Active" msgstr "Producent jest aktywny" -#: company/api.py:281 +#: company/api.py:278 msgid "Supplier Part is Active" msgstr "" -#: company/api.py:285 +#: company/api.py:282 msgid "Internal Part is Active" msgstr "" -#: company/api.py:289 +#: company/api.py:286 msgid "Supplier is Active" msgstr "" -#: company/models.py:100 company/models.py:365 +#: company/models.py:100 company/models.py:371 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:822 +#: company/templates/company/company_base.html:12 stock/api.py:814 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "Firma" @@ -3956,8 +4013,9 @@ msgstr "Numer telefonu kontaktowego" msgid "Contact email address" msgstr "Kontaktowy adres e-mail" -#: company/models.py:142 company/templates/company/company_base.html:145 -#: order/models.py:343 order/templates/order/order_base.html:203 +#: company/models.py:142 company/models.py:275 +#: company/templates/company/company_base.html:145 order/models.py:343 +#: order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 #: order/templates/order/sales_order_base.html:218 msgid "Contact" @@ -3976,7 +4034,9 @@ msgid "Is this company active?" msgstr "" #: company/models.py:168 -msgid "is customer" +#, fuzzy +#| msgid "is customer" +msgid "Is customer" msgstr "jest klientem" #: company/models.py:169 @@ -3984,7 +4044,9 @@ msgid "Do you sell items to this company?" msgstr "Czy sprzedajesz produkty tej firmie?" #: company/models.py:174 -msgid "is supplier" +#, fuzzy +#| msgid "is supplier" +msgid "Is supplier" msgstr "jest dostawcą" #: company/models.py:175 @@ -3992,7 +4054,9 @@ msgid "Do you purchase items from this company?" msgstr "Czy kupujesz przedmioty od tej firmy?" #: company/models.py:180 -msgid "is manufacturer" +#, fuzzy +#| msgid "is manufacturer" +msgid "Is manufacturer" msgstr "jest producentem" #: company/models.py:181 @@ -4003,178 +4067,191 @@ msgstr "Czy to przedsiębiorstwo produkuje części?" msgid "Default currency used for this company" msgstr "" -#: company/models.py:366 +#: company/models.py:314 company/templates/company/company_base.html:124 +#: order/models.py:353 order/templates/order/order_base.html:210 +#: order/templates/order/return_order_base.html:181 +#: order/templates/order/sales_order_base.html:225 +msgid "Address" +msgstr "Adres" + +#: company/models.py:315 company/templates/company/sidebar.html:35 +msgid "Addresses" +msgstr "" + +#: company/models.py:372 msgid "Select company" msgstr "" -#: company/models.py:371 +#: company/models.py:377 msgid "Address title" msgstr "" -#: company/models.py:372 +#: company/models.py:378 msgid "Title describing the address entry" msgstr "" -#: company/models.py:378 +#: company/models.py:384 msgid "Primary address" msgstr "" -#: company/models.py:379 +#: company/models.py:385 msgid "Set as primary address" msgstr "" -#: company/models.py:384 templates/js/translated/company.js:914 +#: company/models.py:390 templates/js/translated/company.js:914 #: templates/js/translated/company.js:971 msgid "Line 1" msgstr "" -#: company/models.py:385 +#: company/models.py:391 msgid "Address line 1" msgstr "" -#: company/models.py:391 templates/js/translated/company.js:915 +#: company/models.py:397 templates/js/translated/company.js:915 #: templates/js/translated/company.js:977 msgid "Line 2" msgstr "" -#: company/models.py:392 +#: company/models.py:398 msgid "Address line 2" msgstr "" -#: company/models.py:398 company/models.py:399 +#: company/models.py:404 company/models.py:405 #: templates/js/translated/company.js:983 msgid "Postal code" msgstr "" -#: company/models.py:405 +#: company/models.py:411 msgid "City/Region" msgstr "" -#: company/models.py:406 +#: company/models.py:412 msgid "Postal code city/region" msgstr "Kod pocztowy miasto/region" -#: company/models.py:412 +#: company/models.py:418 msgid "State/Province" msgstr "Stan/Województwo" -#: company/models.py:413 +#: company/models.py:419 msgid "State or province" msgstr "Stan lub województwo" -#: company/models.py:419 templates/js/translated/company.js:1001 +#: company/models.py:425 templates/js/translated/company.js:1001 msgid "Country" msgstr "Kraj" -#: company/models.py:420 +#: company/models.py:426 msgid "Address country" msgstr "" -#: company/models.py:426 +#: company/models.py:432 msgid "Courier shipping notes" msgstr "Notatki przewozowe kuriera" -#: company/models.py:427 +#: company/models.py:433 msgid "Notes for shipping courier" msgstr "Notatki dla kuriera" -#: company/models.py:433 +#: company/models.py:439 msgid "Internal shipping notes" msgstr "Wewnętrzne notatki przewozowe" -#: company/models.py:434 +#: company/models.py:440 msgid "Shipping notes for internal use" msgstr "Notatki wysyłkowe do użytku wewnętrznego" -#: company/models.py:441 +#: company/models.py:447 msgid "Link to address information (external)" msgstr "" -#: company/models.py:463 company/models.py:574 company/models.py:792 +#: company/models.py:469 company/models.py:581 company/models.py:799 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:217 msgid "Manufacturer Part" msgstr "Komponent producenta" -#: company/models.py:475 company/models.py:760 stock/models.py:767 -#: stock/serializers.py:422 stock/templates/stock/item_base.html:142 +#: company/models.py:481 company/models.py:767 stock/models.py:767 +#: stock/serializers.py:442 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "Część bazowa" -#: company/models.py:477 company/models.py:762 +#: company/models.py:483 company/models.py:769 msgid "Select part" msgstr "Wybierz część" -#: company/models.py:486 company/templates/company/company_base.html:82 +#: company/models.py:492 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:525 +#: company/templates/company/supplier_part.html:145 part/serializers.py:543 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 #: templates/js/translated/company.js:1296 #: templates/js/translated/company.js:1611 -#: templates/js/translated/table_filters.js:800 +#: templates/js/translated/table_filters.js:805 msgid "Manufacturer" msgstr "Producent" -#: company/models.py:487 +#: company/models.py:493 msgid "Select manufacturer" msgstr "Wybierz producenta" -#: company/models.py:493 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:535 -#: templates/js/translated/company.js:351 +#: company/models.py:499 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:153 order/serializers.py:518 +#: part/serializers.py:553 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:1801 +#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1804 #: templates/js/translated/purchase_order.js:1851 #: templates/js/translated/purchase_order.js:2053 msgid "MPN" msgstr "" -#: company/models.py:494 -msgid "Manufacturer Part Number" -msgstr "Numer producenta komponentu" - -#: company/models.py:501 +#: company/models.py:507 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:510 +#: company/models.py:516 msgid "Manufacturer part description" msgstr "" -#: company/models.py:581 +#: company/models.py:569 +#, fuzzy +#| msgid "Manufacturer Part Number" +msgid "Manufacturer Part Parameter" +msgstr "Numer producenta komponentu" + +#: company/models.py:588 msgid "Parameter name" msgstr "Nazwa parametru" -#: company/models.py:587 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2453 templates/js/translated/company.js:1166 -#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1493 +#: company/models.py:594 report/templates/report/inventree_test_report.html:104 +#: stock/models.py:2463 templates/js/translated/company.js:1166 +#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1496 #: templates/js/translated/stock.js:1522 msgid "Value" msgstr "Wartość" -#: company/models.py:588 +#: company/models.py:595 msgid "Parameter value" msgstr "Wartość parametru" -#: company/models.py:595 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1045 part/models.py:3646 +#: company/models.py:602 company/templates/company/supplier_part.html:168 +#: part/admin.py:57 part/models.py:1049 part/models.py:3667 #: part/templates/part/part_base.html:284 -#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1512 -#: templates/js/translated/part.js:1616 templates/js/translated/part.js:2370 +#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1515 +#: templates/js/translated/part.js:1619 templates/js/translated/part.js:2373 msgid "Units" msgstr "Jednostki" -#: company/models.py:596 +#: company/models.py:603 msgid "Parameter units" msgstr "Jednostki parametru" -#: company/models.py:648 company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 order/api.py:452 +#: company/models.py:655 company/templates/company/supplier_part.html:7 +#: company/templates/company/supplier_part.html:24 order/api.py:434 #: stock/models.py:778 stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 @@ -4182,91 +4259,91 @@ msgstr "Jednostki parametru" msgid "Supplier Part" msgstr "" -#: company/models.py:700 +#: company/models.py:707 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:707 +#: company/models.py:714 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:721 +#: company/models.py:728 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:770 company/templates/company/company_base.html:87 +#: company/models.py:777 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:509 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:527 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 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:511 -#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1769 +#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1772 #: templates/js/translated/pricing.js:498 #: templates/js/translated/purchase_order.js:1689 -#: templates/js/translated/table_filters.js:804 +#: templates/js/translated/table_filters.js:809 msgid "Supplier" msgstr "Dostawca" -#: company/models.py:771 +#: company/models.py:778 msgid "Select supplier" msgstr "Wybierz dostawcę" -#: company/models.py:777 part/serializers.py:520 +#: company/models.py:784 part/serializers.py:538 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:783 +#: company/models.py:790 msgid "Is this supplier part active?" msgstr "" -#: company/models.py:793 +#: company/models.py:800 msgid "Select manufacturer part" msgstr "" -#: company/models.py:800 +#: company/models.py:807 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:809 +#: company/models.py:816 msgid "Supplier part description" msgstr "" -#: company/models.py:816 company/templates/company/supplier_part.html:187 -#: part/admin.py:412 part/models.py:4093 part/templates/part/upload_bom.html:59 +#: company/models.py:823 company/templates/company/supplier_part.html:187 +#: part/admin.py:412 part/models.py:4178 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: 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:710 +#: stock/serializers.py:768 msgid "Note" msgstr "Uwaga" -#: company/models.py:825 part/models.py:2003 +#: company/models.py:832 part/models.py:2013 msgid "base cost" msgstr "koszt podstawowy" -#: company/models.py:826 part/models.py:2004 +#: company/models.py:833 part/models.py:2014 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:833 company/templates/company/supplier_part.html:160 -#: stock/admin.py:228 stock/models.py:798 stock/serializers.py:1475 +#: company/models.py:840 company/templates/company/supplier_part.html:160 +#: stock/admin.py:228 stock/models.py:798 stock/serializers.py:1541 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 msgid "Packaging" msgstr "Opakowanie" -#: company/models.py:834 +#: company/models.py:841 msgid "Part packaging" msgstr "Opakowanie części" -#: company/models.py:839 templates/js/translated/company.js:1651 -#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 +#: company/models.py:846 templates/js/translated/company.js:1651 +#: templates/js/translated/part.js:1825 templates/js/translated/part.js:1881 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 #: templates/js/translated/purchase_order.js:1103 @@ -4275,35 +4352,47 @@ msgstr "Opakowanie części" msgid "Pack Quantity" msgstr "Ilość w opakowaniu" -#: company/models.py:841 +#: company/models.py:848 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:860 part/models.py:2010 +#: company/models.py:867 part/models.py:2020 msgid "multiple" msgstr "wielokrotność" -#: company/models.py:861 +#: company/models.py:868 msgid "Order multiple" msgstr "Zamów wiele" -#: company/models.py:873 +#: company/models.py:880 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:879 +#: company/models.py:886 msgid "Availability Updated" msgstr "Dostępność zaktualizowana" -#: company/models.py:880 +#: company/models.py:887 msgid "Date of last update of availability data" msgstr "" -#: company/serializers.py:161 +#: company/models.py:1015 +#, fuzzy +#| msgid "Supplier Pricing" +msgid "Supplier Price Break" +msgstr "Cennik dostawcy" + +#: company/serializers.py:174 msgid "Default currency used for this supplier" msgstr "Domyślna waluta używana dla tego dostawcy" -#: company/serializers.py:357 part/admin.py:126 +#: company/serializers.py:210 +#, fuzzy +#| msgid "Company name" +msgid "Company Name" +msgstr "Nazwa firmy" + +#: company/serializers.py:384 part/admin.py:126 part/serializers.py:855 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:355 @@ -4315,7 +4404,7 @@ msgstr "Na stanie" #: templates/js/translated/company.js:1287 #: templates/js/translated/company.js:1575 #: templates/js/translated/model_renderers.js:312 -#: templates/js/translated/part.js:815 templates/js/translated/part.js:1219 +#: templates/js/translated/part.js:814 templates/js/translated/part.js:1222 msgid "Inactive" msgstr "Nieaktywny" @@ -4374,16 +4463,16 @@ msgid "Delete image" msgstr "Usuń obraz" #: company/templates/company/company_base.html:92 order/models.py:938 -#: order/models.py:2032 order/templates/order/return_order_base.html:131 +#: order/models.py:2058 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:148 stock/models.py:820 -#: stock/models.py:821 stock/serializers.py:1225 +#: stock/models.py:821 stock/serializers.py:1291 #: 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:295 #: templates/js/translated/sales_order.js:820 #: templates/js/translated/stock.js:2959 -#: templates/js/translated/table_filters.js:808 +#: templates/js/translated/table_filters.js:813 msgid "Customer" msgstr "Klient" @@ -4391,13 +4480,6 @@ msgstr "Klient" msgid "Uses default currency" msgstr "Używa domyślnej waluty" -#: company/templates/company/company_base.html:124 order/models.py:353 -#: order/templates/order/order_base.html:210 -#: order/templates/order/return_order_base.html:181 -#: order/templates/order/sales_order_base.html:225 -msgid "Address" -msgstr "Adres" - #: company/templates/company/company_base.html:131 msgid "Phone" msgstr "Telefon" @@ -4577,7 +4659,8 @@ msgid "Delete manufacturer part" msgstr "Usuń komponent producenta" #: company/templates/company/manufacturer_part.html:65 -#: company/templates/company/supplier_part.html:97 order/api.py:458 +#: company/templates/company/supplier_part.html:97 order/api.py:440 +#: order/serializers.py:526 msgid "Internal Part" msgstr "Komponent wewnętrzny" @@ -4587,7 +4670,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:832 +#: part/admin.py:122 part/serializers.py:860 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4608,7 +4691,7 @@ msgid "New Parameter" msgstr "Nowy parametr" #: company/templates/company/manufacturer_part.html:196 -#: templates/js/translated/part.js:1423 +#: templates/js/translated/part.js:1426 msgid "Add Parameter" msgstr "" @@ -4632,10 +4715,6 @@ msgstr "" msgid "Contacts" msgstr "" -#: company/templates/company/sidebar.html:35 -msgid "Addresses" -msgstr "" - #: company/templates/company/supplier_part.html:50 #: templates/js/translated/company.js:1526 msgid "Supplier part actions" @@ -4677,9 +4756,9 @@ msgstr "" msgid "No supplier information available" msgstr "" -#: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:519 -#: templates/js/translated/company.js:349 templates/js/translated/part.js:1787 +#: company/templates/company/supplier_part.html:139 order/serializers.py:515 +#: part/bom.py:279 part/bom.py:311 part/serializers.py:537 +#: templates/js/translated/company.js:349 templates/js/translated/part.js:1790 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1850 #: templates/js/translated/purchase_order.js:2028 @@ -4690,86 +4769,272 @@ msgstr "" msgid "Supplier Part Stock" msgstr "" -#: company/templates/company/supplier_part.html:209 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:207 -msgid "Create new stock item" -msgstr "Utwórz nowy towar" +#: company/templates/company/supplier_part.html:209 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:207 +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:208 +#: templates/js/translated/stock.js:537 +msgid "New Stock Item" +msgstr "Nowy towar" + +#: company/templates/company/supplier_part.html:223 +msgid "Supplier Part Orders" +msgstr "" + +#: company/templates/company/supplier_part.html:246 +msgid "Pricing Information" +msgstr "Informacja cenowa" + +#: company/templates/company/supplier_part.html:251 +#: templates/js/translated/company.js:398 +#: templates/js/translated/pricing.js:684 +msgid "Add Price Break" +msgstr "" + +#: company/templates/company/supplier_part.html:276 +msgid "Supplier Part QR Code" +msgstr "" + +#: company/templates/company/supplier_part.html:287 +msgid "Link Barcode to Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:359 +msgid "Update Part Availability" +msgstr "" + +#: company/templates/company/supplier_part_sidebar.html:5 +#: part/serializers.py:859 part/stocktake.py:224 +#: part/templates/part/category.html:183 +#: part/templates/part/category_sidebar.html:17 stock/admin.py:68 +#: stock/serializers.py:976 stock/serializers.py:1154 +#: stock/templates/stock/location.html:170 +#: 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:1064 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 +#: users/models.py:206 +msgid "Stock Items" +msgstr "Towary" + +#: company/templates/company/supplier_part_sidebar.html:9 +msgid "Supplier Part Pricing" +msgstr "" + +#: company/views.py:32 +msgid "New Supplier" +msgstr "Nowy dostawca" + +#: company/views.py:38 +msgid "New Manufacturer" +msgstr "Now producent" + +#: company/views.py:43 templates/InvenTree/search.html:210 +#: templates/navbar.html:60 +msgid "Customers" +msgstr "Klienci" + +#: company/views.py:44 +msgid "New Customer" +msgstr "Nowy klient" + +#: company/views.py:52 +msgid "New Company" +msgstr "Nowa firma" + +#: generic/states/tests.py:18 order/status_codes.py:13 +msgid "Placed" +msgstr "Umieszczony" + +#: importer/mixins.py:263 +#, fuzzy +#| msgid "Invalid value for overage" +msgid "Invalid export format" +msgstr "Nieprawidłowa wartość przedawnienia" + +#: importer/models.py:56 +msgid "Timestamp" +msgstr "" + +#: importer/models.py:61 +#, fuzzy +#| msgid "Select file to upload" +msgid "Data file to import" +msgstr "Wybierz plik do przesłania" + +#: importer/models.py:70 templates/js/translated/tables.js:558 +msgid "Columns" +msgstr "" + +#: importer/models.py:81 +#, fuzzy +#| msgid "Import Parts" +msgid "Import status" +msgstr "Importuj Części" + +#: importer/models.py:91 +#, fuzzy +#| msgid "Build Details" +msgid "Field Defaults" +msgstr "Szczegóły budowy" + +#: importer/models.py:201 +msgid "Some required fields have not been mapped" +msgstr "" + +#: importer/models.py:346 +msgid "Column is already mapped to a database field" +msgstr "" + +#: importer/models.py:351 +msgid "Field is already mapped to a data column" +msgstr "" + +#: importer/models.py:360 +msgid "Column mapping must be linked to a valid import session" +msgstr "" + +#: importer/models.py:365 +msgid "Column does not exist in the data file" +msgstr "" + +#: importer/models.py:372 +#, fuzzy +#| msgid "User does not have permission to view this model" +msgid "Field does not exist in the target model" +msgstr "Użytkownik nie ma uprawnień do przeglądania tego modelu" + +#: importer/models.py:376 +msgid "Selected field is read-only" +msgstr "" + +#: importer/models.py:381 importer/models.py:452 +#, fuzzy +#| msgid "Active Sessions" +msgid "Import Session" +msgstr "Aktywne sesje" + +#: importer/models.py:385 +msgid "Field" +msgstr "" + +#: importer/models.py:387 +msgid "Column" +msgstr "" + +#: importer/models.py:456 +#, fuzzy +#| msgid "Index" +msgid "Row Index" +msgstr "Indeks" + +#: importer/models.py:459 +msgid "Original row data" +msgstr "" + +#: importer/models.py:462 part/models.py:3841 +msgid "Data" +msgstr "Dane" + +#: importer/models.py:464 machine/models.py:110 +msgid "Errors" +msgstr "" + +#: importer/models.py:466 part/api.py:874 +msgid "Valid" +msgstr "Ważny" -#: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:208 -#: templates/js/translated/stock.js:537 -msgid "New Stock Item" -msgstr "Nowy towar" +#: importer/operations.py:28 importer/operations.py:49 +#, fuzzy +#| msgid "Unsupported file type" +msgid "Unsupported data file format" +msgstr "Nieobsługiwany typ pliku" -#: company/templates/company/supplier_part.html:223 -msgid "Supplier Part Orders" +#: importer/operations.py:40 +msgid "Failed to open data file" msgstr "" -#: company/templates/company/supplier_part.html:246 -msgid "Pricing Information" -msgstr "Informacja cenowa" +#: importer/operations.py:51 +msgid "Invalid data file dimensions" +msgstr "" -#: company/templates/company/supplier_part.html:251 -#: templates/js/translated/company.js:398 -#: templates/js/translated/pricing.js:684 -msgid "Add Price Break" +#: importer/serializers.py:135 +msgid "Rows" msgstr "" -#: company/templates/company/supplier_part.html:276 -msgid "Supplier Part QR Code" +#: importer/serializers.py:136 +msgid "List of row IDs to accept" msgstr "" -#: company/templates/company/supplier_part.html:287 -msgid "Link Barcode to Supplier Part" +#: importer/serializers.py:149 +#, fuzzy +#| msgid "No data rows provided" +msgid "No rows provided" +msgstr "Nie podano wierszy danych" + +#: importer/serializers.py:153 +msgid "Row does not belong to this session" msgstr "" -#: company/templates/company/supplier_part.html:359 -msgid "Update Part Availability" +#: importer/serializers.py:156 +msgid "Row contains invalid data" msgstr "" -#: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:831 part/stocktake.py:224 -#: part/templates/part/category.html:183 -#: part/templates/part/category_sidebar.html:17 stock/admin.py:68 -#: stock/serializers.py:918 stock/serializers.py:1091 -#: stock/templates/stock/location.html:170 -#: 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:1061 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 -#: users/models.py:206 -msgid "Stock Items" -msgstr "Towary" +#: importer/serializers.py:159 +#, fuzzy +#| msgid "Shipment has already been sent" +msgid "Row has already been completed" +msgstr "Przesyłka została już wysłana" -#: company/templates/company/supplier_part_sidebar.html:9 -msgid "Supplier Part Pricing" +#: importer/status_codes.py:11 +#, fuzzy +#| msgid "Initialized" +msgid "Initializing" +msgstr "Zainicjalizowany" + +#: importer/status_codes.py:12 +msgid "Mapping Columns" msgstr "" -#: company/views.py:32 -msgid "New Supplier" -msgstr "Nowy dostawca" +#: importer/status_codes.py:13 +#, fuzzy +#| msgid "Import Part" +msgid "Importing Data" +msgstr "Import części" -#: company/views.py:38 -msgid "New Manufacturer" -msgstr "Now producent" +#: importer/status_codes.py:16 +#, fuzzy +#| msgid "Remove Existing Data" +msgid "Processing Data" +msgstr "Usuń istniejące dane" -#: company/views.py:43 templates/InvenTree/search.html:210 -#: templates/navbar.html:60 -msgid "Customers" -msgstr "Klienci" +#: importer/validators.py:21 +#, fuzzy +#| msgid "Image download exceeded maximum size" +msgid "Data file exceeds maximum size limit" +msgstr "Przekroczono maksymalny rozmiar pobieranego obrazu" -#: company/views.py:44 -msgid "New Customer" -msgstr "Nowy klient" +#: importer/validators.py:26 +msgid "Data file contains no headers" +msgstr "" -#: company/views.py:52 -msgid "New Company" -msgstr "Nowa firma" +#: importer/validators.py:29 +msgid "Data file contains too many columns" +msgstr "" -#: generic/states/tests.py:18 order/status_codes.py:13 -msgid "Placed" -msgstr "Umieszczony" +#: importer/validators.py:32 +msgid "Data file contains too many rows" +msgstr "" + +#: importer/validators.py:49 +#, fuzzy +#| msgid "Metadata must be a python dict object" +msgid "Value must be a valid dictionary object" +msgstr "Metadane muszą być obiektem typu dict w Python" #: machine/machine_types/label_printer.py:212 msgid "Copies" @@ -4783,7 +5048,7 @@ msgstr "Liczba kopii do wydrukowania dla każdej etykiety" msgid "Connected" msgstr "Połączono" -#: machine/machine_types/label_printer.py:229 order/api.py:1467 +#: machine/machine_types/label_printer.py:229 order/api.py:1388 #: templates/js/translated/sales_order.js:1078 msgid "Unknown" msgstr "Nieznany" @@ -4852,10 +5117,6 @@ msgstr "Brak błędów" msgid "Initialized" msgstr "Zainicjalizowany" -#: machine/models.py:110 -msgid "Errors" -msgstr "" - #: machine/models.py:117 msgid "Machine status" msgstr "" @@ -4881,44 +5142,44 @@ msgstr "" msgid "Total Price" msgstr "Cena całkowita" -#: order/api.py:157 order/serializers.py:90 +#: order/api.py:149 order/serializers.py:94 #: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:113 #: order/templates/order/sales_order_base.html:122 msgid "Order Status" msgstr "Status zamówienia" -#: order/api.py:161 templates/js/translated/table_filters.js:194 -#: templates/js/translated/table_filters.js:779 +#: order/api.py:153 templates/js/translated/table_filters.js:194 +#: templates/js/translated/table_filters.js:784 msgid "Has Pricing" msgstr "Posiada ceny" -#: order/api.py:236 +#: order/api.py:228 msgid "No matching purchase order found" msgstr "Nie znaleziono pasującego zlecenia zakupu" -#: order/api.py:435 order/api.py:801 order/models.py:1395 order/models.py:1504 -#: order/models.py:1550 order/models.py:1664 order/models.py:1818 -#: order/models.py:2231 order/models.py:2282 +#: order/api.py:417 order/api.py:755 order/models.py:1400 order/models.py:1514 +#: order/models.py:1565 order/models.py:1680 order/models.py:1839 +#: order/models.py:2258 order/models.py:2314 #: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "Zamówienie" -#: order/api.py:439 order/api.py:822 +#: order/api.py:421 order/api.py:776 msgid "Order Complete" msgstr "" -#: order/api.py:462 +#: order/api.py:444 msgid "Order Pending" msgstr "Zamówienie oczekujące" -#: order/api.py:1461 order/models.py:380 order/models.py:1396 -#: order/models.py:1505 order/templates/order/order_base.html:9 +#: order/api.py:1382 order/models.py:380 order/models.py:1401 +#: order/models.py:1515 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 -#: stock/serializers.py:118 stock/templates/stock/item_base.html:176 +#: stock/serializers.py:120 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/part.js:1746 templates/js/translated/pricing.js:804 +#: templates/js/translated/part.js:1749 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:1673 @@ -4926,8 +5187,8 @@ msgstr "Zamówienie oczekujące" msgid "Purchase Order" msgstr "Zlecenie zakupu" -#: order/api.py:1465 order/models.py:1981 order/models.py:2232 -#: order/models.py:2283 order/templates/order/return_order_base.html:9 +#: order/api.py:1386 order/models.py:2007 order/models.py:2259 +#: order/models.py:2315 order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report.html:13 #: templates/js/translated/return_order.js:280 @@ -4939,11 +5200,11 @@ msgstr "" msgid "Total price for this order" msgstr "" -#: order/models.py:96 order/serializers.py:70 +#: order/models.py:96 order/serializers.py:72 msgid "Order Currency" msgstr "" -#: order/models.py:99 order/serializers.py:71 +#: order/models.py:99 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" @@ -4959,7 +5220,7 @@ msgstr "" msgid "Select project code for this order" msgstr "" -#: order/models.py:303 order/models.py:1301 order/models.py:1717 +#: order/models.py:303 order/models.py:1301 order/models.py:1733 msgid "Link to external page" msgstr "Link do zewnętrznej witryny" @@ -5008,15 +5269,15 @@ msgstr "" msgid "received by" msgstr "odebrane przez" -#: order/models.py:514 order/models.py:2058 +#: order/models.py:514 order/models.py:2084 msgid "Issue Date" msgstr "Data wydania" -#: order/models.py:515 order/models.py:2059 +#: order/models.py:515 order/models.py:2085 msgid "Date order was issued" msgstr "Data wystawienia zamówienia" -#: order/models.py:522 order/models.py:2066 +#: order/models.py:522 order/models.py:2092 msgid "Date order was completed" msgstr "" @@ -5032,15 +5293,15 @@ msgstr "Wartość musi być liczbą dodatnią" msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:962 order/models.py:2051 +#: order/models.py:962 order/models.py:2077 msgid "Customer Reference " msgstr "" -#: order/models.py:963 order/models.py:2052 +#: order/models.py:963 order/models.py:2078 msgid "Customer order reference code" msgstr "" -#: order/models.py:967 order/models.py:1671 +#: order/models.py:967 order/models.py:1687 #: templates/js/translated/sales_order.js:879 #: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" @@ -5102,20 +5363,26 @@ msgstr "" msgid "Unit price" msgstr "" -#: order/models.py:1380 +#: order/models.py:1361 +#, fuzzy +#| msgid "Purchase Order Items" +msgid "Purchase Order Line Item" +msgstr "Pozycje zlecenia zakupu" + +#: order/models.py:1385 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1387 +#: order/models.py:1392 msgid "deleted" msgstr "" -#: order/models.py:1415 +#: order/models.py:1420 msgid "Supplier part" msgstr "" -#: order/models.py:1422 order/templates/order/order_base.html:196 -#: templates/js/translated/part.js:1870 templates/js/translated/part.js:1902 +#: order/models.py:1427 order/templates/order/order_base.html:196 +#: templates/js/translated/part.js:1873 templates/js/translated/part.js:1905 #: templates/js/translated/purchase_order.js:1306 #: templates/js/translated/purchase_order.js:2169 #: templates/js/translated/return_order.js:763 @@ -5124,196 +5391,238 @@ msgstr "" msgid "Received" msgstr "Odebrane" -#: order/models.py:1423 +#: order/models.py:1428 msgid "Number of items received" msgstr "" -#: order/models.py:1431 stock/models.py:939 stock/serializers.py:556 +#: order/models.py:1436 stock/models.py:939 stock/serializers.py:602 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2311 msgid "Purchase Price" msgstr "Cena zakupu" -#: order/models.py:1432 +#: order/models.py:1437 msgid "Unit purchase price" msgstr "Cena zakupu jednostkowego" -#: order/models.py:1447 +#: order/models.py:1452 msgid "Where does the Purchaser want this item to be stored?" msgstr "Gdzie kupujący chce przechowywać ten przedmiot?" -#: order/models.py:1538 +#: order/models.py:1503 +#, fuzzy +#| msgid "Purchase Order Items" +msgid "Purchase Order Extra Line" +msgstr "Pozycje zlecenia zakupu" + +#: order/models.py:1532 +#, fuzzy +#| msgid "Sales Order" +msgid "Sales Order Line Item" +msgstr "Zamówienie zakupu" + +#: order/models.py:1553 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1543 +#: order/models.py:1558 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1569 part/templates/part/part_pricing.html:107 +#: order/models.py:1584 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:1570 +#: order/models.py:1585 msgid "Unit sale price" msgstr "Jednostkowa cena sprzedaży" -#: order/models.py:1579 order/status_codes.py:43 +#: order/models.py:1594 order/status_codes.py:43 #: 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" -#: order/models.py:1580 +#: order/models.py:1595 msgid "Shipped quantity" msgstr "Wysłana ilość" -#: order/models.py:1672 +#: order/models.py:1667 +#, fuzzy +#| msgid "Sales Order" +msgid "Sales Order Shipment" +msgstr "Zamówienie zakupu" + +#: order/models.py:1688 msgid "Date of shipment" msgstr "Data wysyłki" -#: order/models.py:1678 templates/js/translated/sales_order.js:1072 +#: order/models.py:1694 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "" -#: order/models.py:1679 +#: order/models.py:1695 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1687 +#: order/models.py:1703 msgid "Checked By" msgstr "Sprawdzone przez" -#: order/models.py:1688 +#: order/models.py:1704 msgid "User who checked this shipment" msgstr "Użytkownik, który sprawdził tę wysyłkę" -#: order/models.py:1695 order/models.py:1908 order/serializers.py:1342 -#: order/serializers.py:1452 templates/js/translated/model_renderers.js:454 +#: order/models.py:1711 order/models.py:1934 order/serializers.py:1398 +#: order/serializers.py:1508 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "Przesyłka" -#: order/models.py:1696 +#: order/models.py:1712 msgid "Shipment number" msgstr "Numer przesyłki" -#: order/models.py:1704 +#: order/models.py:1720 msgid "Tracking Number" msgstr "Numer śledzenia" -#: order/models.py:1705 +#: order/models.py:1721 msgid "Shipment tracking information" msgstr "Informacje o śledzeniu przesyłki" -#: order/models.py:1712 +#: order/models.py:1728 msgid "Invoice Number" msgstr "" -#: order/models.py:1713 +#: order/models.py:1729 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1733 +#: order/models.py:1749 msgid "Shipment has already been sent" msgstr "Przesyłka została już wysłana" -#: order/models.py:1736 +#: order/models.py:1752 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1854 order/models.py:1856 +#: order/models.py:1828 +#, fuzzy +#| msgid "Sales Order Reference" +msgid "Sales Order Extra Line" +msgstr "Odwołanie do zamówienia sprzedaży" + +#: order/models.py:1857 +#, fuzzy +#| msgid "Discard Allocations" +msgid "Sales Order Allocation" +msgstr "Odrzuć przydziały" + +#: order/models.py:1880 order/models.py:1882 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1863 +#: order/models.py:1889 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1866 +#: order/models.py:1892 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1869 +#: order/models.py:1895 msgid "Allocation quantity cannot exceed stock quantity" msgstr "Zarezerwowana ilość nie może przekraczać ilości na stanie" -#: order/models.py:1888 order/serializers.py:1219 +#: order/models.py:1914 order/serializers.py:1275 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1891 +#: order/models.py:1917 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1892 plugin/base/barcodes/api.py:481 +#: order/models.py:1918 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1900 +#: order/models.py:1926 msgid "Line" msgstr "Linia" -#: order/models.py:1909 +#: order/models.py:1935 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1922 order/models.py:2239 +#: order/models.py:1948 order/models.py:2266 #: templates/js/translated/return_order.js:721 msgid "Item" msgstr "Komponent" -#: order/models.py:1923 +#: order/models.py:1949 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1932 +#: order/models.py:1958 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2021 +#: order/models.py:2047 msgid "Return Order reference" msgstr "" -#: order/models.py:2033 +#: order/models.py:2059 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2045 +#: order/models.py:2071 msgid "Return order status" msgstr "" -#: order/models.py:2224 +#: order/models.py:2237 +#, fuzzy +#| msgid "Return to Orders" +msgid "Return Order Line Item" +msgstr "Wróć do zamówień" + +#: order/models.py:2251 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2240 +#: order/models.py:2267 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2246 +#: order/models.py:2273 msgid "Received Date" msgstr "" -#: order/models.py:2247 +#: order/models.py:2274 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2258 templates/js/translated/return_order.js:732 +#: order/models.py:2285 templates/js/translated/return_order.js:732 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2259 +#: order/models.py:2286 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2266 +#: order/models.py:2293 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:79 order/templates/order/po_sidebar.html:5 +#: order/models.py:2303 +#, fuzzy +#| msgid "Add Extra Line" +msgid "Return Order Extra Line" +msgstr "Dodaj dodatkową linię" + +#: order/serializers.py:83 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_purchase_order_report.html:22 @@ -5322,163 +5631,173 @@ msgstr "" msgid "Line Items" msgstr "" -#: order/serializers.py:83 +#: order/serializers.py:87 msgid "Completed Lines" msgstr "" -#: order/serializers.py:286 +#: order/serializers.py:305 msgid "Order cannot be cancelled" msgstr "Zamówienie nie może zostać anulowane" -#: order/serializers.py:301 order/serializers.py:1235 +#: order/serializers.py:320 order/serializers.py:1291 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:311 order/serializers.py:1245 +#: order/serializers.py:330 order/serializers.py:1301 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:439 +#: order/serializers.py:468 msgid "Order is not open" msgstr "" -#: order/serializers.py:460 +#: order/serializers.py:489 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:462 +#: order/serializers.py:491 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:472 +#: order/serializers.py:501 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:478 +#: order/serializers.py:507 msgid "Merge Items" msgstr "" -#: order/serializers.py:480 +#: order/serializers.py:509 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:498 +#: order/serializers.py:522 part/models.py:945 +msgid "Internal Part Number" +msgstr "" + +#: order/serializers.py:530 +#, fuzzy +#| msgid "Internal Part" +msgid "Internal Part Name" +msgstr "Komponent wewnętrzny" + +#: order/serializers.py:546 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:501 +#: order/serializers.py:549 msgid "Purchase order must be specified" msgstr "Zlecenie zakupu musi być określone" -#: order/serializers.py:509 +#: order/serializers.py:557 msgid "Supplier must match purchase order" msgstr "Dostawca musi być zgodny ze zleceniem zakupu" -#: order/serializers.py:510 +#: order/serializers.py:558 msgid "Purchase order must match supplier" msgstr "Zlecenie zakupu musi być zgodne z dostawcą" -#: order/serializers.py:549 order/serializers.py:1313 +#: order/serializers.py:598 order/serializers.py:1369 msgid "Line Item" msgstr "" -#: order/serializers.py:555 +#: order/serializers.py:604 msgid "Line item does not match purchase order" msgstr "Pozycja nie pasuje do zlecenia zakupu" -#: order/serializers.py:565 order/serializers.py:673 order/serializers.py:1657 +#: order/serializers.py:614 order/serializers.py:722 order/serializers.py:1715 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:581 templates/js/translated/purchase_order.js:1130 +#: order/serializers.py:630 templates/js/translated/purchase_order.js:1130 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:589 templates/js/translated/purchase_order.js:1154 +#: order/serializers.py:638 templates/js/translated/purchase_order.js:1154 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:600 templates/js/translated/barcode.js:52 +#: order/serializers.py:649 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "Kod kreskowy" -#: order/serializers.py:601 +#: order/serializers.py:650 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:617 +#: order/serializers.py:666 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:641 +#: order/serializers.py:690 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:689 order/serializers.py:1673 +#: order/serializers.py:738 order/serializers.py:1731 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:705 +#: order/serializers.py:754 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:716 +#: order/serializers.py:765 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1062 +#: order/serializers.py:1117 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1122 +#: order/serializers.py:1178 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1183 order/serializers.py:1322 +#: order/serializers.py:1239 order/serializers.py:1378 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1202 +#: order/serializers.py:1258 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1332 +#: order/serializers.py:1388 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1354 order/serializers.py:1460 +#: order/serializers.py:1410 order/serializers.py:1516 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1357 order/serializers.py:1463 +#: order/serializers.py:1413 order/serializers.py:1519 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1404 +#: order/serializers.py:1460 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1411 +#: order/serializers.py:1467 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1627 +#: order/serializers.py:1685 msgid "Return order line item" msgstr "" -#: order/serializers.py:1633 +#: order/serializers.py:1691 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1636 +#: order/serializers.py:1694 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1665 +#: order/serializers.py:1723 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1743 +#: order/serializers.py:1806 msgid "Line price currency" msgstr "" @@ -5808,7 +6127,7 @@ msgstr "" #: 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:1073 +#: templates/js/translated/part.js:1076 #: templates/js/translated/purchase_order.js:1752 #: templates/js/translated/return_order.js:380 #: templates/js/translated/sales_order.js:891 @@ -5904,34 +6223,29 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:398 part/models.py:3944 part/stocktake.py:219 +#: part/admin.py:39 part/admin.py:398 part/models.py:3991 part/stocktake.py:219 #: stock/admin.py:152 msgid "Part ID" msgstr "ID komponentu" -#: part/admin.py:41 part/admin.py:405 part/models.py:3945 part/stocktake.py:220 -#: stock/admin.py:156 -msgid "Part Name" -msgstr "Nazwa komponentu" - #: part/admin.py:45 part/stocktake.py:221 msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:940 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:944 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 -#: templates/js/translated/part.js:1227 templates/js/translated/part.js:2341 +#: templates/js/translated/part.js:1230 templates/js/translated/part.js:2344 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:949 part/templates/part/part_base.html:277 -#: report/models.py:162 templates/js/translated/part.js:1232 -#: templates/js/translated/part.js:2347 +#: part/admin.py:50 part/models.py:953 part/templates/part/part_base.html:277 +#: report/models.py:162 templates/js/translated/part.js:1235 +#: templates/js/translated/part.js:2350 msgid "Revision" msgstr "Wersja" -#: part/admin.py:53 part/admin.py:319 part/models.py:922 +#: part/admin.py:53 part/admin.py:319 part/models.py:926 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "Słowa kluczowe" @@ -5944,7 +6258,8 @@ msgstr "" msgid "Category ID" msgstr "ID kategorii" -#: part/admin.py:67 part/admin.py:304 part/stocktake.py:223 +#: part/admin.py:67 part/admin.py:304 part/serializers.py:837 +#: part/stocktake.py:223 msgid "Category Name" msgstr "" @@ -5956,11 +6271,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:908 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:912 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "Wariant" -#: part/admin.py:84 part/models.py:1036 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1040 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "Minimalny stan magazynowy" @@ -5968,18 +6283,19 @@ msgstr "Minimalny stan magazynowy" msgid "Used In" msgstr "Użyte w" -#: part/admin.py:150 part/templates/part/part_base.html:241 stock/admin.py:235 -#: templates/js/translated/part.js:715 templates/js/translated/part.js:2153 +#: part/admin.py:150 part/serializers.py:854 +#: part/templates/part/part_base.html:241 stock/admin.py:235 +#: templates/js/translated/part.js:714 templates/js/translated/part.js:2156 msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3088 part/models.py:3102 -#: templates/js/translated/part.js:970 +#: part/admin.py:155 part/models.py:3098 part/models.py:3112 +#: templates/js/translated/part.js:973 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3095 part/models.py:3109 -#: templates/js/translated/part.js:980 +#: part/admin.py:158 part/models.py:3105 part/models.py:3119 +#: templates/js/translated/part.js:983 msgid "Maximum Cost" msgstr "" @@ -5996,14 +6312,14 @@ msgstr "" msgid "Category Path" msgstr "Ścieżka kategorii" -#: part/admin.py:325 part/models.py:396 part/serializers.py:124 -#: part/serializers.py:267 part/serializers.py:386 +#: part/admin.py:325 part/models.py:397 part/serializers.py:130 +#: part/serializers.py:282 part/serializers.py:404 #: 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:2807 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:203 msgid "Parts" msgstr "Części" @@ -6020,125 +6336,117 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:402 part/models.py:3946 -msgid "Part IPN" -msgstr "IPN komponentu" - -#: part/admin.py:415 part/serializers.py:1274 +#: part/admin.py:415 part/serializers.py:1302 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:420 part/serializers.py:1289 +#: part/admin.py:420 part/serializers.py:1317 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "" -#: part/api.py:104 +#: part/api.py:105 msgid "Starred" msgstr "" -#: part/api.py:106 +#: part/api.py:107 msgid "Filter by starred categories" msgstr "" -#: part/api.py:123 stock/api.py:312 +#: part/api.py:124 stock/api.py:312 msgid "Depth" msgstr "" -#: part/api.py:123 +#: part/api.py:124 msgid "Filter by category depth" msgstr "" -#: part/api.py:141 stock/api.py:330 +#: part/api.py:142 stock/api.py:330 msgid "Top Level" msgstr "" -#: part/api.py:143 +#: part/api.py:144 msgid "Filter by top-level categories" msgstr "" -#: part/api.py:156 stock/api.py:345 +#: part/api.py:157 stock/api.py:345 msgid "Cascade" msgstr "" -#: part/api.py:158 +#: part/api.py:159 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:179 templates/js/translated/part.js:308 +#: part/api.py:180 templates/js/translated/part.js:307 msgid "Parent" msgstr "" -#: part/api.py:181 +#: part/api.py:182 msgid "Filter by parent category" msgstr "" -#: part/api.py:214 +#: part/api.py:215 msgid "Exclude Tree" msgstr "" -#: part/api.py:216 +#: part/api.py:217 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:449 +#: part/api.py:442 msgid "Has Results" msgstr "" -#: part/api.py:616 +#: part/api.py:609 msgid "Incoming Purchase Order" msgstr "Nadchodzące zlecenie zakupu" -#: part/api.py:634 +#: part/api.py:627 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:650 +#: part/api.py:643 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:734 +#: part/api.py:727 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:881 -msgid "Valid" -msgstr "Ważny" - -#: part/api.py:882 +#: part/api.py:875 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:888 +#: part/api.py:881 msgid "This option must be selected" msgstr "Ta opcja musi być zaznaczona" -#: part/api.py:1105 +#: part/api.py:1098 msgid "BOM Valid" msgstr "" -#: part/api.py:1508 part/models.py:932 part/models.py:3374 part/models.py:3889 -#: part/serializers.py:401 part/serializers.py:1130 -#: part/templates/part/part_base.html:260 stock/api.py:791 +#: part/api.py:1494 part/models.py:936 part/models.py:3385 part/models.py:3936 +#: part/serializers.py:419 part/serializers.py:1158 +#: part/templates/part/part_base.html:260 stock/api.py:783 #: 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:2380 msgid "Category" msgstr "Kategoria" -#: part/api.py:1796 +#: part/api.py:1784 msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:104 part/models.py:975 +#: part/bom.py:170 part/models.py:104 part/models.py:979 #: 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:833 +#: part/bom.py:171 part/serializers.py:861 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6147,7 +6455,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:85 part/models.py:3890 part/templates/part/category.html:16 +#: part/models.py:85 part/models.py:3937 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Kategoria komponentu" @@ -6162,7 +6470,7 @@ msgstr "Kategorie części" msgid "Default location for parts in this category" msgstr "Domyślna lokalizacja dla komponentów w tej kategorii" -#: part/models.py:110 stock/models.py:175 templates/js/translated/part.js:2810 +#: part/models.py:110 stock/models.py:175 templates/js/translated/part.js:2813 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 @@ -6194,1002 +6502,1047 @@ msgstr "" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:485 +#: part/models.py:486 +msgid "Cannot delete this part as it is locked" +msgstr "" + +#: part/models.py:489 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:490 +#: part/models.py:494 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:528 +#: part/models.py:532 msgid "Invalid choice for parent part" msgstr "Nieprawidłowy wybór dla części nadrzędnej" -#: part/models.py:576 part/models.py:583 +#: part/models.py:580 part/models.py:587 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:595 +#: part/models.py:599 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:658 +#: part/models.py:662 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:736 +#: part/models.py:740 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:837 +#: part/models.py:841 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:847 +#: part/models.py:851 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:862 +#: part/models.py:866 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:891 part/models.py:3945 +#: part/models.py:895 part/models.py:3992 msgid "Part name" msgstr "Nazwa komponentu" -#: part/models.py:896 +#: part/models.py:900 msgid "Is Template" msgstr "Czy szablon" -#: part/models.py:897 +#: part/models.py:901 msgid "Is this part a template part?" msgstr "Czy ta część stanowi szablon części?" -#: part/models.py:907 +#: part/models.py:911 msgid "Is this part a variant of another part?" msgstr "Czy ta część jest wariantem innej części?" -#: part/models.py:915 +#: part/models.py:919 msgid "Part description (optional)" msgstr "" -#: part/models.py:923 +#: part/models.py:927 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:933 +#: part/models.py:937 msgid "Part category" msgstr "" -#: part/models.py:941 -msgid "Internal Part Number" -msgstr "" - -#: part/models.py:948 +#: part/models.py:952 msgid "Part revision or version number" msgstr "" -#: part/models.py:973 +#: part/models.py:977 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1019 part/templates/part/part_base.html:376 +#: part/models.py:1023 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:1020 +#: part/models.py:1024 msgid "Default supplier part" msgstr "" -#: part/models.py:1027 +#: part/models.py:1031 msgid "Default Expiry" msgstr "Domyślne wygasanie" -#: part/models.py:1028 +#: part/models.py:1032 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1037 +#: part/models.py:1041 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1046 +#: part/models.py:1050 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1053 +#: part/models.py:1057 msgid "Can this part be built from other parts?" msgstr "Czy ten komponent może być zbudowany z innych komponentów?" -#: part/models.py:1059 +#: part/models.py:1063 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:1065 +#: part/models.py:1069 msgid "Does this part have tracking for unique items?" msgstr "Czy ta część wymaga śledzenia każdego towaru z osobna?" -#: part/models.py:1071 +#: part/models.py:1075 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1077 +#: part/models.py:1081 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1081 +#: part/models.py:1085 msgid "Is this part active?" msgstr "Czy ta część jest aktywna?" -#: part/models.py:1087 +#: part/models.py:1090 templates/js/translated/part.js:818 +#: templates/js/translated/table_filters.js:721 +#, fuzzy +#| msgid "Lock" +msgid "Locked" +msgstr "Blokada" + +#: part/models.py:1091 +#, fuzzy +#| msgid "Build order part cannot be changed" +msgid "Locked parts cannot be edited" +msgstr "Nie można zmienić elementu kompletacji" + +#: part/models.py:1097 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:1093 +#: part/models.py:1103 msgid "BOM checksum" msgstr "" -#: part/models.py:1094 +#: part/models.py:1104 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1102 +#: part/models.py:1112 msgid "BOM checked by" msgstr "" -#: part/models.py:1107 +#: part/models.py:1117 msgid "BOM checked date" msgstr "" -#: part/models.py:1123 +#: part/models.py:1133 msgid "Creation User" msgstr "Tworzenie użytkownika" -#: part/models.py:1133 +#: part/models.py:1143 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1138 part/templates/part/part_base.html:339 +#: part/models.py:1148 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:2474 msgid "Last Stocktake" msgstr "Ostatnia inwentaryzacja" -#: part/models.py:2011 +#: part/models.py:2021 msgid "Sell multiple" msgstr "Sprzedaj wiele" -#: part/models.py:3002 +#: part/models.py:3012 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3018 +#: part/models.py:3028 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3019 +#: part/models.py:3029 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3025 +#: part/models.py:3035 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3026 +#: part/models.py:3036 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3032 +#: part/models.py:3042 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3033 +#: part/models.py:3043 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3039 +#: part/models.py:3049 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3040 +#: part/models.py:3050 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3046 +#: part/models.py:3056 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3047 +#: part/models.py:3057 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3053 +#: part/models.py:3063 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3054 +#: part/models.py:3064 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3060 +#: part/models.py:3070 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3061 +#: part/models.py:3071 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3067 +#: part/models.py:3077 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3068 +#: part/models.py:3078 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3074 +#: part/models.py:3084 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3075 +#: part/models.py:3085 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3081 +#: part/models.py:3091 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3082 +#: part/models.py:3092 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3089 +#: part/models.py:3099 msgid "Override minimum cost" msgstr "" -#: part/models.py:3096 +#: part/models.py:3106 msgid "Override maximum cost" msgstr "" -#: part/models.py:3103 +#: part/models.py:3113 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3110 +#: part/models.py:3120 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3116 +#: part/models.py:3126 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3117 +#: part/models.py:3127 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3123 +#: part/models.py:3133 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3124 +#: part/models.py:3134 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3130 +#: part/models.py:3140 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3131 +#: part/models.py:3141 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3137 +#: part/models.py:3147 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3138 +#: part/models.py:3148 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3157 +#: part/models.py:3167 msgid "Part for stocktake" msgstr "" -#: part/models.py:3162 +#: part/models.py:3172 msgid "Item Count" msgstr "" -#: part/models.py:3163 +#: part/models.py:3173 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3171 +#: part/models.py:3181 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3175 part/models.py:3258 +#: part/models.py:3185 part/models.py:3268 #: part/templates/part/part_scheduling.html:13 #: 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:1086 templates/js/translated/pricing.js:826 +#: templates/js/translated/part.js:1089 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 #: templates/js/translated/purchase_order.js:1731 #: templates/js/translated/stock.js:2821 msgid "Date" msgstr "Data" -#: part/models.py:3176 +#: part/models.py:3186 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3184 +#: part/models.py:3194 msgid "Additional notes" msgstr "" -#: part/models.py:3194 +#: part/models.py:3204 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3200 +#: part/models.py:3210 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3201 +#: part/models.py:3211 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3207 +#: part/models.py:3217 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3208 +#: part/models.py:3218 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3264 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3274 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3265 +#: part/models.py:3275 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3270 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3280 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3271 +#: part/models.py:3281 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3281 +#: part/models.py:3291 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3423 +#: part/models.py:3301 +#, fuzzy +#| msgid "Sale Price" +msgid "Part Sale Price Break" +msgstr "Cena sprzedaży" + +#: part/models.py:3413 +#, fuzzy +#| msgid "Test Templates" +msgid "Part Test Template" +msgstr "Szablony testowe" + +#: part/models.py:3439 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3444 part/models.py:3608 +#: part/models.py:3460 part/models.py:3629 msgid "Choices must be unique" msgstr "" -#: part/models.py:3455 +#: part/models.py:3471 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3466 +#: part/models.py:3482 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3483 templates/js/translated/part.js:2880 +#: part/models.py:3499 templates/js/translated/part.js:2883 msgid "Test Name" msgstr "Nazwa testu" -#: part/models.py:3484 +#: part/models.py:3500 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3490 +#: part/models.py:3506 msgid "Test Key" msgstr "" -#: part/models.py:3491 +#: part/models.py:3507 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3498 +#: part/models.py:3514 msgid "Test Description" msgstr "Testowy opis" -#: part/models.py:3499 +#: part/models.py:3515 msgid "Enter description for this test" msgstr "Wprowadź opis do tego testu" -#: part/models.py:3503 report/models.py:209 -#: templates/js/translated/part.js:2901 +#: part/models.py:3519 report/models.py:209 +#: templates/js/translated/part.js:2904 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "Aktywne" -#: part/models.py:3503 +#: part/models.py:3519 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3508 templates/js/translated/part.js:2909 +#: part/models.py:3524 templates/js/translated/part.js:2912 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "Wymagane" -#: part/models.py:3509 +#: part/models.py:3525 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3514 templates/js/translated/part.js:2917 +#: part/models.py:3530 templates/js/translated/part.js:2920 msgid "Requires Value" msgstr "Wymaga wartości" -#: part/models.py:3515 +#: part/models.py:3531 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3520 templates/js/translated/part.js:2924 +#: part/models.py:3536 templates/js/translated/part.js:2927 msgid "Requires Attachment" msgstr "Wymaga załącznika" -#: part/models.py:3522 +#: part/models.py:3538 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3528 part/models.py:3667 templates/js/translated/part.js:1637 +#: part/models.py:3544 part/models.py:3688 templates/js/translated/part.js:1640 msgid "Choices" msgstr "" -#: part/models.py:3529 +#: part/models.py:3545 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3583 +#: part/models.py:3577 +#, fuzzy +#| msgid "Part Parameters" +msgid "Part Parameter Template" +msgstr "Parametry części" + +#: part/models.py:3604 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3588 +#: part/models.py:3609 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3625 +#: part/models.py:3646 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3640 +#: part/models.py:3661 msgid "Parameter Name" msgstr "" -#: part/models.py:3647 +#: part/models.py:3668 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3655 +#: part/models.py:3676 msgid "Parameter description" msgstr "" -#: part/models.py:3661 templates/js/translated/part.js:1628 -#: templates/js/translated/table_filters.js:825 +#: part/models.py:3682 templates/js/translated/part.js:1631 +#: templates/js/translated/table_filters.js:830 msgid "Checkbox" msgstr "" -#: part/models.py:3662 +#: part/models.py:3683 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3668 +#: part/models.py:3689 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3745 +#: part/models.py:3723 +#, fuzzy +#| msgid "Part Parameters" +msgid "Part Parameter" +msgstr "Parametry części" + +#: part/models.py:3749 +msgid "Parameter cannot be modified - part is locked" +msgstr "" + +#: part/models.py:3785 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3788 +#: part/models.py:3828 msgid "Parent Part" msgstr "Część nadrzędna" -#: part/models.py:3796 part/models.py:3897 part/models.py:3898 +#: part/models.py:3836 part/models.py:3944 part/models.py:3945 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3801 -msgid "Data" -msgstr "Dane" - -#: part/models.py:3802 +#: part/models.py:3842 msgid "Parameter Value" msgstr "Wartość parametru" -#: part/models.py:3904 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3892 +msgid "Part Category Parameter Template" +msgstr "" + +#: part/models.py:3951 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "Wartość domyślna" -#: part/models.py:3905 +#: part/models.py:3952 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3943 +#: part/models.py:3990 msgid "Part ID or part name" msgstr "" -#: part/models.py:3944 +#: part/models.py:3991 msgid "Unique part ID value" msgstr "Unikalny wartość ID komponentu" -#: part/models.py:3946 +#: part/models.py:3993 msgid "Part IPN value" msgstr "Wartość IPN części" -#: part/models.py:3947 +#: part/models.py:3994 msgid "Level" msgstr "Poziom" -#: part/models.py:3947 +#: part/models.py:3994 msgid "BOM level" msgstr "" -#: part/models.py:4037 +#: part/models.py:4105 +msgid "BOM item cannot be modified - assembly is locked" +msgstr "" + +#: part/models.py:4112 +msgid "BOM item cannot be modified - variant assembly is locked" +msgstr "" + +#: part/models.py:4122 msgid "Select parent part" msgstr "Wybierz część nadrzędną" -#: part/models.py:4047 +#: part/models.py:4132 msgid "Sub part" msgstr "Podczęść" -#: part/models.py:4048 +#: part/models.py:4133 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4059 +#: part/models.py:4144 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4065 +#: part/models.py:4150 msgid "This BOM item is optional" msgstr "Ten element BOM jest opcjonalny" -#: part/models.py:4071 +#: part/models.py:4156 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4078 part/templates/part/upload_bom.html:55 +#: part/models.py:4163 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4079 +#: part/models.py:4164 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4086 +#: part/models.py:4171 msgid "BOM item reference" msgstr "" -#: part/models.py:4094 +#: part/models.py:4179 msgid "BOM item notes" msgstr "Notatki pozycji BOM" -#: part/models.py:4100 +#: part/models.py:4185 msgid "Checksum" msgstr "Suma kontrolna" -#: part/models.py:4101 +#: part/models.py:4186 msgid "BOM line checksum" msgstr "" -#: part/models.py:4106 templates/js/translated/table_filters.js:174 +#: part/models.py:4191 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "Zatwierdzone" -#: part/models.py:4107 +#: part/models.py:4192 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4112 part/templates/part/upload_bom.html:57 +#: part/models.py:4197 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:4113 +#: part/models.py:4198 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4118 part/templates/part/upload_bom.html:56 +#: part/models.py:4203 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "Zezwalaj na warianty" -#: part/models.py:4119 +#: part/models.py:4204 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4204 stock/models.py:663 +#: part/models.py:4289 stock/models.py:663 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4214 part/models.py:4216 +#: part/models.py:4299 part/models.py:4301 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4354 +#: part/models.py:4439 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4375 +#: part/models.py:4460 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4388 +#: part/models.py:4473 msgid "Parent BOM item" msgstr "" -#: part/models.py:4396 +#: part/models.py:4481 msgid "Substitute part" msgstr "Część zastępcza" -#: part/models.py:4412 +#: part/models.py:4497 msgid "Part 1" msgstr "Część 1" -#: part/models.py:4420 +#: part/models.py:4505 msgid "Part 2" msgstr "Część 2" -#: part/models.py:4421 +#: part/models.py:4506 msgid "Select Related Part" msgstr "Wybierz powiązaną część" -#: part/models.py:4440 +#: part/models.py:4525 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4445 +#: part/models.py:4530 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:118 +#: part/serializers.py:124 msgid "Parent Category" msgstr "" -#: part/serializers.py:119 templates/js/translated/part.js:309 +#: part/serializers.py:125 templates/js/translated/part.js:308 msgid "Parent part category" msgstr "" -#: part/serializers.py:126 part/serializers.py:148 +#: part/serializers.py:132 part/serializers.py:154 #: part/templates/part/category.html:122 part/templates/part/category.html:207 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "Podkategorie" -#: part/serializers.py:180 +#: part/serializers.py:189 msgid "Results" msgstr "" -#: part/serializers.py:181 +#: part/serializers.py:190 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:205 part/serializers.py:223 stock/serializers.py:562 +#: part/serializers.py:217 part/serializers.py:235 stock/serializers.py:608 msgid "Purchase currency of this stock item" msgstr "Waluta zakupu tego towaru" -#: part/serializers.py:268 +#: part/serializers.py:283 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:392 +#: part/serializers.py:410 msgid "No parts selected" msgstr "" -#: part/serializers.py:402 +#: part/serializers.py:420 msgid "Select category" msgstr "" -#: part/serializers.py:437 +#: part/serializers.py:455 msgid "Original Part" msgstr "" -#: part/serializers.py:438 +#: part/serializers.py:456 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:461 msgid "Copy Image" msgstr "Kopiuj obraz" -#: part/serializers.py:444 +#: part/serializers.py:462 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:450 part/templates/part/detail.html:277 +#: part/serializers.py:468 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "Kopiuj BOM" -#: part/serializers.py:451 +#: part/serializers.py:469 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:457 +#: part/serializers.py:475 msgid "Copy Parameters" msgstr "Kopiuj parametry" -#: part/serializers.py:458 +#: part/serializers.py:476 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:464 +#: part/serializers.py:482 msgid "Copy Notes" msgstr "" -#: part/serializers.py:465 +#: part/serializers.py:483 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:483 +#: part/serializers.py:501 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:485 +#: part/serializers.py:503 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:492 +#: part/serializers.py:510 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:493 +#: part/serializers.py:511 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:510 +#: part/serializers.py:528 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:526 +#: part/serializers.py:544 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:536 +#: part/serializers.py:554 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:543 +#: part/serializers.py:561 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:552 +#: part/serializers.py:570 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:563 +#: part/serializers.py:581 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:570 +#: part/serializers.py:588 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:834 -msgid "External Stock" -msgstr "" - -#: part/serializers.py:836 +#: part/serializers.py:864 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:839 +#: part/serializers.py:867 msgid "Variant Stock" msgstr "" -#: part/serializers.py:869 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:472 +#: part/serializers.py:897 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "Duplikuj część" -#: part/serializers.py:870 +#: part/serializers.py:898 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:876 templates/js/translated/part.js:102 +#: part/serializers.py:904 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:877 +#: part/serializers.py:905 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:883 +#: part/serializers.py:911 msgid "Supplier Information" msgstr "" -#: part/serializers.py:884 +#: part/serializers.py:912 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:892 +#: part/serializers.py:920 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:893 +#: part/serializers.py:921 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:898 +#: part/serializers.py:926 msgid "Existing Image" msgstr "" -#: part/serializers.py:899 +#: part/serializers.py:927 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:916 +#: part/serializers.py:944 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1122 +#: part/serializers.py:1150 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1132 +#: part/serializers.py:1160 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1142 +#: part/serializers.py:1170 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1148 +#: part/serializers.py:1176 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1149 +#: part/serializers.py:1177 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1154 +#: part/serializers.py:1182 msgid "Generate Report" msgstr "" -#: part/serializers.py:1155 +#: part/serializers.py:1183 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1160 +#: part/serializers.py:1188 msgid "Update Parts" msgstr "" -#: part/serializers.py:1161 +#: part/serializers.py:1189 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1169 +#: part/serializers.py:1197 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1275 +#: part/serializers.py:1303 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1282 +#: part/serializers.py:1310 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1290 +#: part/serializers.py:1318 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1297 +#: part/serializers.py:1325 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1326 +#: part/serializers.py:1354 msgid "Update" msgstr "" -#: part/serializers.py:1327 +#: part/serializers.py:1355 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1350 +#: part/serializers.py:1378 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1357 +#: part/serializers.py:1385 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1360 +#: part/serializers.py:1388 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1727 +#: part/serializers.py:1759 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1735 +#: part/serializers.py:1767 msgid "Remove Existing Data" msgstr "Usuń istniejące dane" -#: part/serializers.py:1736 +#: part/serializers.py:1768 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1741 +#: part/serializers.py:1773 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1742 +#: part/serializers.py:1774 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1747 +#: part/serializers.py:1779 msgid "Skip Invalid Rows" msgstr "Pomiń nieprawidłowe wiersze" -#: part/serializers.py:1748 +#: part/serializers.py:1780 msgid "Enable this option to skip invalid rows" msgstr "Włącz tę opcję, aby pominąć nieprawidłowe wiersze" -#: part/serializers.py:1753 +#: part/serializers.py:1785 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1754 +#: part/serializers.py:1786 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1788 +#: part/serializers.py:1823 msgid "Clear Existing BOM" msgstr "Wyczyść istniejący BOM" -#: part/serializers.py:1789 +#: part/serializers.py:1824 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1819 +#: part/serializers.py:1856 msgid "No part column specified" msgstr "" -#: part/serializers.py:1863 +#: part/serializers.py:1900 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1866 +#: part/serializers.py:1903 msgid "No matching part found" msgstr "" -#: part/serializers.py:1869 +#: part/serializers.py:1906 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1878 +#: part/serializers.py:1915 msgid "Quantity not provided" msgstr "Nie podano ilości" -#: part/serializers.py:1886 +#: part/serializers.py:1923 msgid "Invalid quantity" msgstr "Nieprawidłowa ilość" -#: part/serializers.py:1907 +#: part/serializers.py:1946 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:225 templates/js/translated/part.js:1067 -#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 +#: part/stocktake.py:225 templates/js/translated/part.js:1070 +#: templates/js/translated/part.js:1825 templates/js/translated/part.js:1881 #: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "" @@ -7507,7 +7860,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 templates/js/translated/label.js:143 +#: stock/templates/stock/location.html:74 templates/js/translated/label.js:136 msgid "Print Label" msgstr "Drukuj etykietę" @@ -7529,7 +7882,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:2296 msgid "Part actions" msgstr "" @@ -7569,6 +7922,10 @@ msgstr "" msgid "Part can be sold to customers" msgstr "" +#: part/templates/part/part_base.html:145 +msgid "Part is not active" +msgstr "" + #: part/templates/part/part_base.html:153 msgid "Part is virtual (not a physical part)" msgstr "Część jest wirtualna (nie fizyczna)" @@ -7597,7 +7954,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:1265 templates/js/translated/part.js:2444 +#: templates/js/translated/part.js:1268 templates/js/translated/part.js:2447 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" @@ -7690,8 +8047,8 @@ msgstr "Warianty" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/part.js:1243 templates/js/translated/part.js:2146 -#: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 +#: templates/js/translated/part.js:1246 templates/js/translated/part.js:2149 +#: templates/js/translated/part.js:2395 templates/js/translated/stock.js:1059 #: templates/js/translated/stock.js:2070 templates/navbar.html:31 msgid "Stock" msgstr "Stan" @@ -7811,8 +8168,8 @@ msgstr "" #: part/templates/part/stock_count.html:7 #: templates/js/translated/model_renderers.js:227 -#: templates/js/translated/part.js:705 templates/js/translated/part.js:2141 -#: templates/js/translated/part.js:2143 +#: templates/js/translated/part.js:704 templates/js/translated/part.js:2144 +#: templates/js/translated/part.js:2146 msgid "No Stock" msgstr "Brak w magazynie" @@ -7956,7 +8313,7 @@ msgstr "Kod kreskowy nie pasuje do istniejących pozycji magazynowych" msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2589 +#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2590 #: templates/js/translated/sales_order.js:1953 msgid "Insufficient stock available" msgstr "" @@ -8051,7 +8408,7 @@ msgstr "" msgid "Quantity to allocate" msgstr "" -#: plugin/base/label/label.py:39 templates/js/translated/label.js:155 +#: plugin/base/label/label.py:39 templates/js/translated/label.js:148 msgid "Label printing failed" msgstr "" @@ -8748,7 +9105,7 @@ msgstr "Razem" #: report/templates/report/inventree_return_order_report.html:25 #: report/templates/report/inventree_test_report.html:88 stock/models.py:825 -#: stock/serializers.py:149 stock/templates/stock/item_base.html:311 +#: stock/serializers.py:151 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:230 @@ -8778,7 +9135,7 @@ msgstr "" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2447 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2457 msgid "Result" msgstr "Wynik" @@ -8799,7 +9156,7 @@ msgid "No result" msgstr "" #: report/templates/report/inventree_test_report.html:153 -#: stock/templates/stock/stock_sidebar.html:16 +#: stock/serializers.py:591 stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "Zainstalowane elementy" @@ -8829,10 +9186,6 @@ msgstr "" msgid "Location ID" msgstr "ID lokalizacji" -#: stock/admin.py:53 stock/admin.py:175 -msgid "Location Name" -msgstr "" - #: stock/admin.py:63 stock/templates/stock/location.html:131 #: stock/templates/stock/location.html:137 msgid "Location Path" @@ -8909,7 +9262,7 @@ msgstr "" msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:369 stock/serializers.py:1085 +#: stock/api.py:369 stock/serializers.py:1148 msgid "Parent Location" msgstr "" @@ -8917,44 +9270,45 @@ msgstr "" msgid "Filter by parent location" msgstr "" -#: stock/api.py:625 templates/js/translated/table_filters.js:427 +#: stock/api.py:617 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:813 +#: stock/api.py:805 msgid "Part Tree" msgstr "" -#: stock/api.py:843 +#: stock/api.py:835 msgid "Expiry date before" msgstr "" -#: stock/api.py:847 +#: stock/api.py:839 msgid "Expiry date after" msgstr "" -#: stock/api.py:850 stock/templates/stock/item_base.html:439 +#: stock/api.py:842 stock/serializers.py:596 +#: stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "" -#: stock/api.py:937 +#: stock/api.py:929 msgid "Quantity is required" msgstr "" -#: stock/api.py:943 +#: stock/api.py:935 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:974 +#: stock/api.py:966 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:984 +#: stock/api.py:976 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1015 +#: stock/api.py:1007 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -9021,7 +9375,7 @@ msgstr "" msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:669 stock/serializers.py:446 +#: stock/models.py:669 stock/serializers.py:477 msgid "Stock item cannot be created for virtual parts" msgstr "" @@ -9066,7 +9420,7 @@ msgstr "Wybierz pasującą część dostawcy dla tego towaru" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:799 stock/serializers.py:1476 +#: stock/models.py:799 stock/serializers.py:1542 msgid "Packaging this stock item is stored in" msgstr "" @@ -9078,7 +9432,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:843 stock/serializers.py:1459 +#: stock/models.py:843 stock/serializers.py:1525 msgid "Batch code for this stock item" msgstr "" @@ -9155,7 +9509,7 @@ msgstr "" msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1520 stock/serializers.py:660 +#: stock/models.py:1520 stock/serializers.py:718 msgid "Serial numbers already exist" msgstr "Numer seryjny już istnieje" @@ -9187,7 +9541,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1658 stock/serializers.py:1365 +#: stock/models.py:1658 stock/serializers.py:1431 msgid "Duplicate stock items" msgstr "" @@ -9207,288 +9561,342 @@ msgstr "" msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2345 +#: stock/models.py:2317 +#, fuzzy +#| msgid "Stock Item" +msgid "Stock Item Tracking" +msgstr "Element magazynowy" + +#: stock/models.py:2350 msgid "Entry notes" msgstr "Notatki do wpisu" -#: stock/models.py:2413 +#: stock/models.py:2390 +#, fuzzy +#| msgid "Stock Items" +msgid "Stock Item Test Result" +msgstr "Towary" + +#: stock/models.py:2423 msgid "Value must be provided for this test" msgstr "Należy podać wartość dla tego testu" -#: stock/models.py:2418 +#: stock/models.py:2428 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2423 +#: stock/models.py:2433 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2447 +#: stock/models.py:2457 msgid "Test result" msgstr "Wynik testu" -#: stock/models.py:2454 +#: stock/models.py:2464 msgid "Test output value" msgstr "" -#: stock/models.py:2462 +#: stock/models.py:2472 msgid "Test result attachment" msgstr "" -#: stock/models.py:2466 +#: stock/models.py:2476 msgid "Test notes" msgstr "" -#: stock/models.py:2474 templates/js/translated/stock.js:1548 +#: stock/models.py:2484 templates/js/translated/stock.js:1548 msgid "Test station" msgstr "" -#: stock/models.py:2475 +#: stock/models.py:2485 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2481 +#: stock/models.py:2491 msgid "Started" msgstr "" -#: stock/models.py:2482 +#: stock/models.py:2492 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2488 +#: stock/models.py:2498 msgid "Finished" msgstr "" -#: stock/models.py:2489 +#: stock/models.py:2499 msgid "The timestamp of the test finish" msgstr "" -#: stock/serializers.py:74 +#: stock/serializers.py:76 msgid "Generated batch code" msgstr "" -#: stock/serializers.py:83 +#: stock/serializers.py:85 msgid "Select build order" msgstr "" -#: stock/serializers.py:92 +#: stock/serializers.py:94 msgid "Select stock item to generate batch code for" msgstr "" -#: stock/serializers.py:101 +#: stock/serializers.py:103 msgid "Select location to generate batch code for" msgstr "" -#: stock/serializers.py:110 +#: stock/serializers.py:112 msgid "Select part to generate batch code for" msgstr "" -#: stock/serializers.py:119 +#: stock/serializers.py:121 msgid "Select purchase order" msgstr "" -#: stock/serializers.py:126 +#: stock/serializers.py:128 msgid "Enter quantity for batch code" msgstr "" -#: stock/serializers.py:149 +#: stock/serializers.py:151 msgid "Generated serial number" msgstr "" -#: stock/serializers.py:158 +#: stock/serializers.py:160 msgid "Select part to generate serial number for" msgstr "" -#: stock/serializers.py:166 +#: stock/serializers.py:168 msgid "Quantity of serial numbers to generate" msgstr "" -#: stock/serializers.py:228 +#: stock/serializers.py:233 msgid "Test template for this result" msgstr "" -#: stock/serializers.py:247 +#: stock/serializers.py:252 msgid "Template ID or test name must be provided" msgstr "" -#: stock/serializers.py:279 +#: stock/serializers.py:284 msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:315 +#: stock/serializers.py:320 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:438 +#: stock/serializers.py:449 stock/templates/stock/item_base.html:193 +msgid "Parent Item" +msgstr "Element nadrzędny" + +#: stock/serializers.py:450 +#, fuzzy +#| msgid "Parent Stock Item" +msgid "Parent stock item" +msgstr "Nadrzędny towar" + +#: stock/serializers.py:469 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:558 +#: stock/serializers.py:585 templates/js/translated/build.js:991 +#: templates/js/translated/build.js:2344 +msgid "Allocated Quantity" +msgstr "" + +#: stock/serializers.py:588 stock/templates/stock/item_base.html:437 +#: templates/js/translated/table_filters.js:435 users/models.py:174 +msgid "Expired" +msgstr "Termin minął" + +#: stock/serializers.py:594 stock/templates/stock/stock_sidebar.html:20 +msgid "Child Items" +msgstr "Elementy podrzędne" + +#: stock/serializers.py:598 +#, fuzzy +#| msgid "Tracking Number" +msgid "Tracking Items" +msgstr "Numer śledzenia" + +#: stock/serializers.py:604 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:595 +#: stock/serializers.py:623 +#, fuzzy +#| msgid "Minimum Stock" +msgid "Minimum Pricing" +msgstr "Minimalny stan magazynowy" + +#: stock/serializers.py:629 +#, fuzzy +#| msgid "Has Pricing" +msgid "Maximum Pricing" +msgstr "Posiada ceny" + +#: stock/serializers.py:653 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:608 +#: stock/serializers.py:666 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:615 +#: stock/serializers.py:673 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:626 stock/serializers.py:1322 stock/serializers.py:1578 +#: stock/serializers.py:684 stock/serializers.py:1388 stock/serializers.py:1644 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:633 +#: stock/serializers.py:691 msgid "Optional note field" msgstr "" -#: stock/serializers.py:643 +#: stock/serializers.py:701 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:698 +#: stock/serializers.py:756 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:705 +#: stock/serializers.py:763 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:706 +#: stock/serializers.py:764 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:711 stock/serializers.py:791 stock/serializers.py:887 -#: stock/serializers.py:937 +#: stock/serializers.py:769 stock/serializers.py:849 stock/serializers.py:945 +#: stock/serializers.py:995 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:719 +#: stock/serializers.py:777 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:727 +#: stock/serializers.py:785 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:738 +#: stock/serializers.py:796 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:751 +#: stock/serializers.py:809 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:786 +#: stock/serializers.py:844 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:821 +#: stock/serializers.py:879 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:834 +#: stock/serializers.py:892 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:851 +#: stock/serializers.py:909 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:882 +#: stock/serializers.py:940 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:919 +#: stock/serializers.py:977 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:925 +#: stock/serializers.py:983 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1021 stock/serializers.py:1093 +#: stock/serializers.py:1079 stock/serializers.py:1156 #: stock/templates/stock/location.html:165 #: stock/templates/stock/location.html:222 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "Podlokalizacje" -#: stock/serializers.py:1086 templates/js/translated/stock.js:152 +#: stock/serializers.py:1149 templates/js/translated/stock.js:152 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1194 +#: stock/serializers.py:1260 msgid "Part must be salable" msgstr "Część musi być dostępna do sprzedaży" -#: stock/serializers.py:1198 +#: stock/serializers.py:1264 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1202 +#: stock/serializers.py:1268 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1226 +#: stock/serializers.py:1292 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1232 +#: stock/serializers.py:1298 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1240 +#: stock/serializers.py:1306 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1250 stock/serializers.py:1504 +#: stock/serializers.py:1316 stock/serializers.py:1570 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1329 +#: stock/serializers.py:1395 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1334 +#: stock/serializers.py:1400 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1335 +#: stock/serializers.py:1401 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1340 +#: stock/serializers.py:1406 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1341 +#: stock/serializers.py:1407 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1351 +#: stock/serializers.py:1417 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1418 +#: stock/serializers.py:1484 msgid "No Change" msgstr "" -#: stock/serializers.py:1447 +#: stock/serializers.py:1513 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1466 +#: stock/serializers.py:1532 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1494 +#: stock/serializers.py:1560 msgid "Stock transaction notes" msgstr "" @@ -9757,10 +10165,6 @@ msgstr "" msgid "Build" msgstr "Budowa" -#: stock/templates/stock/item_base.html:193 -msgid "Parent Item" -msgstr "Element nadrzędny" - #: stock/templates/stock/item_base.html:211 msgid "No manufacturer set" msgstr "Nie ustawiono producenta" @@ -9836,11 +10240,6 @@ msgstr "" msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:437 -#: templates/js/translated/table_filters.js:435 users/models.py:174 -msgid "Expired" -msgstr "Termin minął" - #: stock/templates/stock/item_base.html:439 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" @@ -9988,10 +10387,6 @@ msgstr "" msgid "Allocations" msgstr "" -#: stock/templates/stock/stock_sidebar.html:20 -msgid "Child Items" -msgstr "Elementy podrzędne" - #: templates/403.html:6 templates/403.html:12 templates/403_csrf.html:7 msgid "Permission Denied" msgstr "Odmowa dostępu" @@ -10466,8 +10861,8 @@ 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:393 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:245 users/models.py:402 +#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 +#: templates/js/translated/stock.js:245 users/models.py:406 msgid "Delete" msgstr "Usuń" @@ -10507,12 +10902,12 @@ msgid "No category parameter templates found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:308 -#: templates/js/translated/part.js:1646 +#: templates/js/translated/part.js:1649 msgid "Edit Template" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:309 -#: templates/js/translated/part.js:1647 +#: templates/js/translated/part.js:1650 msgid "Delete Template" msgstr "" @@ -11145,7 +11540,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2556 +#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2557 msgid "Required Quantity" msgstr "Wymagana ilość" @@ -11159,7 +11554,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3219 +#: templates/js/translated/part.js:3222 msgid "Minimum Quantity" msgstr "Minimalna ilość" @@ -11514,7 +11909,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2500 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2501 msgid "Variant stock allowed" msgstr "" @@ -11534,30 +11929,30 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2621 +#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2622 msgid "External stock" msgstr "" -#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2595 +#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2596 #: templates/js/translated/sales_order.js:1946 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2599 +#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2600 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2601 -#: templates/js/translated/part.js:1257 +#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2602 +#: templates/js/translated/part.js:1260 #: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2603 +#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2604 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2586 +#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2587 msgid "Consumable item" msgstr "" @@ -11589,7 +11984,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2485 +#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2486 msgid "Required Part" msgstr "" @@ -11758,10 +12153,6 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:991 templates/js/translated/build.js:2344 -msgid "Allocated Quantity" -msgstr "" - #: templates/js/translated/build.js:1005 msgid "Location not specified" msgstr "" @@ -11873,9 +12264,9 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2117 templates/js/translated/build.js:2479 +#: templates/js/translated/build.js:2117 templates/js/translated/build.js:2480 #: templates/js/translated/forms.js:2163 templates/js/translated/forms.js:2179 -#: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 +#: templates/js/translated/part.js:2319 templates/js/translated/part.js:2745 #: templates/js/translated/stock.js:1983 templates/js/translated/stock.js:2710 msgid "Select" msgstr "" @@ -11906,59 +12297,59 @@ msgstr "" msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2455 +#: templates/js/translated/build.js:2456 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2456 +#: templates/js/translated/build.js:2457 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2474 +#: templates/js/translated/build.js:2475 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2504 templates/js/translated/part.js:791 -#: templates/js/translated/part.js:1203 +#: templates/js/translated/build.js:2505 templates/js/translated/part.js:790 +#: templates/js/translated/part.js:1206 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2539 +#: templates/js/translated/build.js:2540 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2591 +#: templates/js/translated/build.js:2592 #: templates/js/translated/sales_order.js:1951 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2646 +#: templates/js/translated/build.js:2647 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2653 +#: templates/js/translated/build.js:2654 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2654 +#: templates/js/translated/build.js:2655 msgid "Allocate tracked items against individual build outputs" msgstr "" -#: templates/js/translated/build.js:2662 +#: templates/js/translated/build.js:2663 #: templates/js/translated/sales_order.js:2052 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2667 templates/js/translated/stock.js:1868 +#: templates/js/translated/build.js:2668 templates/js/translated/stock.js:1868 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2671 +#: templates/js/translated/build.js:2672 #: templates/js/translated/sales_order.js:2046 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2675 +#: templates/js/translated/build.js:2676 msgid "Remove stock allocation" msgstr "" @@ -12105,7 +12496,7 @@ msgid "Delete Parameters" msgstr "" #: templates/js/translated/company.js:1191 -#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2245 +#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2248 msgid "Order parts" msgstr "" @@ -12122,34 +12513,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:1279 -#: templates/js/translated/company.js:1567 templates/js/translated/part.js:799 -#: templates/js/translated/part.js:1211 +#: templates/js/translated/company.js:1567 templates/js/translated/part.js:798 +#: templates/js/translated/part.js:1214 msgid "Template part" msgstr "" #: templates/js/translated/company.js:1283 -#: templates/js/translated/company.js:1571 templates/js/translated/part.js:803 -#: templates/js/translated/part.js:1215 +#: templates/js/translated/company.js:1571 templates/js/translated/part.js:802 +#: templates/js/translated/part.js:1218 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1465 +#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1468 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1528 +#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1531 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1529 +#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1532 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1434 +#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1437 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1550 +#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1553 msgid "Delete Parameter" msgstr "" @@ -12323,15 +12714,15 @@ msgstr "" msgid "No parts required for builds" msgstr "" -#: templates/js/translated/label.js:55 templates/js/translated/report.js:38 +#: templates/js/translated/label.js:48 templates/js/translated/report.js:38 msgid "Select Items" msgstr "" -#: templates/js/translated/label.js:56 templates/js/translated/report.js:39 +#: templates/js/translated/label.js:49 templates/js/translated/report.js:39 msgid "No items selected for printing" msgstr "" -#: templates/js/translated/label.js:150 +#: templates/js/translated/label.js:143 msgid "Labels sent to printer" msgstr "" @@ -12400,7 +12791,7 @@ msgstr "" #: templates/js/translated/news.js:38 #: templates/js/translated/notification.js:46 -#: templates/js/translated/part.js:1605 +#: templates/js/translated/part.js:1608 msgid "ID" msgstr "" @@ -12481,343 +12872,343 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:333 templates/js/translated/stock.js:175 +#: templates/js/translated/part.js:332 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:353 +#: templates/js/translated/part.js:352 msgid "Create Part Category" msgstr "" -#: templates/js/translated/part.js:356 +#: templates/js/translated/part.js:355 msgid "Create new category after this one" msgstr "" -#: templates/js/translated/part.js:357 +#: templates/js/translated/part.js:356 msgid "Part category created" msgstr "" -#: templates/js/translated/part.js:371 +#: templates/js/translated/part.js:370 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:384 +#: templates/js/translated/part.js:383 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:389 +#: templates/js/translated/part.js:388 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:398 +#: templates/js/translated/part.js:397 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:402 +#: templates/js/translated/part.js:401 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:407 +#: templates/js/translated/part.js:406 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:431 +#: templates/js/translated/part.js:430 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:433 +#: templates/js/translated/part.js:432 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:434 +#: templates/js/translated/part.js:433 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:462 +#: templates/js/translated/part.js:461 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:464 +#: templates/js/translated/part.js:463 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:475 +#: templates/js/translated/part.js:474 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:532 +#: templates/js/translated/part.js:531 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:533 +#: templates/js/translated/part.js:532 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:547 +#: templates/js/translated/part.js:546 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:549 +#: templates/js/translated/part.js:548 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:550 +#: templates/js/translated/part.js:549 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:551 +#: templates/js/translated/part.js:550 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:558 +#: templates/js/translated/part.js:557 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:594 +#: templates/js/translated/part.js:593 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:596 +#: templates/js/translated/part.js:595 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:601 +#: templates/js/translated/part.js:600 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:603 +#: templates/js/translated/part.js:602 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:620 +#: templates/js/translated/part.js:619 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:630 +#: templates/js/translated/part.js:629 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:633 +#: templates/js/translated/part.js:632 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:658 +#: templates/js/translated/part.js:657 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:686 -#: templates/js/translated/table_filters.js:747 +#: templates/js/translated/part.js:685 +#: templates/js/translated/table_filters.js:752 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:689 +#: templates/js/translated/part.js:688 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:749 +#: templates/js/translated/part.js:748 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:772 +#: templates/js/translated/part.js:771 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:795 templates/js/translated/part.js:1207 +#: templates/js/translated/part.js:794 templates/js/translated/part.js:1210 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:807 +#: templates/js/translated/part.js:806 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:811 +#: templates/js/translated/part.js:810 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:890 +#: templates/js/translated/part.js:893 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:890 +#: templates/js/translated/part.js:893 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:898 +#: templates/js/translated/part.js:901 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:902 +#: templates/js/translated/part.js:905 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:1051 +#: templates/js/translated/part.js:1054 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1109 templates/js/translated/part.js:1145 +#: templates/js/translated/part.js:1112 templates/js/translated/part.js:1148 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1113 templates/js/translated/part.js:1155 +#: templates/js/translated/part.js:1116 templates/js/translated/part.js:1158 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1282 +#: templates/js/translated/part.js:1285 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1600 +#: templates/js/translated/part.js:1603 msgid "No part parameter templates found" msgstr "" -#: templates/js/translated/part.js:1663 +#: templates/js/translated/part.js:1666 msgid "Edit Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1675 +#: templates/js/translated/part.js:1678 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/js/translated/part.js:1683 +#: templates/js/translated/part.js:1686 msgid "Delete Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1717 +#: templates/js/translated/part.js:1720 #: templates/js/translated/purchase_order.js:1654 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/part.js:1861 +#: templates/js/translated/part.js:1864 #: 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:1907 +#: templates/js/translated/part.js:1910 #: templates/js/translated/purchase_order.js:2220 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1970 +#: templates/js/translated/part.js:1973 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1992 +#: templates/js/translated/part.js:1995 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2080 templates/js/translated/part.js:2506 +#: templates/js/translated/part.js:2083 templates/js/translated/part.js:2509 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:2201 +#: templates/js/translated/part.js:2204 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2206 +#: templates/js/translated/part.js:2209 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2236 +#: templates/js/translated/part.js:2239 msgid "Set category" msgstr "" -#: templates/js/translated/part.js:2287 +#: templates/js/translated/part.js:2290 msgid "part" msgstr "" -#: templates/js/translated/part.js:2288 +#: templates/js/translated/part.js:2291 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2384 +#: templates/js/translated/part.js:2387 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 +#: templates/js/translated/part.js:2534 templates/js/translated/part.js:2664 #: templates/js/translated/stock.js:2669 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2547 +#: templates/js/translated/part.js:2550 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2645 +#: templates/js/translated/part.js:2648 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2689 +#: templates/js/translated/part.js:2684 templates/js/translated/stock.js:2689 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2761 +#: templates/js/translated/part.js:2764 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2777 +#: templates/js/translated/part.js:2780 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2865 +#: templates/js/translated/part.js:2868 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2887 templates/js/translated/search.js:342 +#: templates/js/translated/part.js:2890 templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/part.js:2937 templates/js/translated/stock.js:1456 +#: templates/js/translated/part.js:2940 templates/js/translated/stock.js:1456 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2938 templates/js/translated/stock.js:1457 +#: templates/js/translated/part.js:2941 templates/js/translated/stock.js:1457 #: templates/js/translated/stock.js:1731 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2942 +#: templates/js/translated/part.js:2945 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2958 +#: templates/js/translated/part.js:2961 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2972 +#: templates/js/translated/part.js:2975 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3051 templates/js/translated/part.js:3052 +#: templates/js/translated/part.js:3054 templates/js/translated/part.js:3055 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3054 +#: templates/js/translated/part.js:3057 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3060 +#: templates/js/translated/part.js:3063 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3110 +#: templates/js/translated/part.js:3113 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3116 +#: templates/js/translated/part.js:3119 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3212 +#: templates/js/translated/part.js:3215 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3228 +#: templates/js/translated/part.js:3231 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3273 +#: templates/js/translated/part.js:3276 msgid "Minimum Stock Level" msgstr "" @@ -13593,7 +13984,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1042 users/models.py:392 +#: templates/js/translated/stock.js:1042 users/models.py:396 msgid "Add" msgstr "Dodaj" @@ -13947,7 +14338,7 @@ msgid "Include subcategories" msgstr "" #: templates/js/translated/table_filters.js:287 -#: templates/js/translated/table_filters.js:759 +#: templates/js/translated/table_filters.js:764 msgid "Subscribed" msgstr "" @@ -14102,40 +14493,46 @@ msgstr "" msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:725 +#: templates/js/translated/table_filters.js:722 +#, fuzzy +#| msgid "Show related parts" +msgid "Show locked parts" +msgstr "Pokaż powiązane części" + +#: templates/js/translated/table_filters.js:730 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:733 -#: templates/js/translated/table_filters.js:833 +#: templates/js/translated/table_filters.js:738 +#: templates/js/translated/table_filters.js:838 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:734 +#: templates/js/translated/table_filters.js:739 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:738 +#: templates/js/translated/table_filters.js:743 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:739 +#: templates/js/translated/table_filters.js:744 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:743 +#: templates/js/translated/table_filters.js:748 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:751 +#: templates/js/translated/table_filters.js:756 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:763 +#: templates/js/translated/table_filters.js:768 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:829 +#: templates/js/translated/table_filters.js:834 msgid "Has Choices" msgstr "" @@ -14207,10 +14604,6 @@ msgstr "" msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:558 -msgid "Columns" -msgstr "" - #: templates/js/translated/tables.js:561 msgid "All" msgstr "" @@ -14484,35 +14877,34 @@ msgstr "" msgid "Revoked" msgstr "" -#: users/models.py:375 +#: users/models.py:379 msgid "Permission set" msgstr "Uprawnienia nadane" -#: users/models.py:384 +#: users/models.py:388 msgid "Group" msgstr "Grupa" -#: users/models.py:388 +#: users/models.py:392 msgid "View" msgstr "Widok" -#: users/models.py:388 +#: users/models.py:392 msgid "Permission to view items" msgstr "Uprawnienie do wyświetlania przedmiotów" -#: users/models.py:392 +#: users/models.py:396 msgid "Permission to add items" msgstr "Uprawnienie do dodawania przedmiotów" -#: users/models.py:396 +#: users/models.py:400 msgid "Change" msgstr "Zmień" -#: users/models.py:398 +#: users/models.py:402 msgid "Permissions to edit items" msgstr "Uprawnienie do edycji przedmiotów" -#: users/models.py:404 +#: users/models.py:408 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 ca46ac1c2430..8bd825cee6d1 100644 --- a/src/backend/InvenTree/locale/pt/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/pt/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-07-05 02:47+0000\n" +"POT-Creation-Date: 2024-07-08 14:46+0000\n" "PO-Revision-Date: 2024-07-05 14:58\n" "Last-Translator: \n" "Language-Team: Portuguese, Brazilian\n" @@ -21,7 +21,7 @@ msgstr "" msgid "API endpoint not found" msgstr "" -#: InvenTree/api.py:520 +#: InvenTree/api.py:505 msgid "User does not have permission to view this model" msgstr "" @@ -56,21 +56,21 @@ msgstr "" msgid "Enter date" msgstr "" -#: InvenTree/fields.py:205 InvenTree/models.py:918 build/serializers.py:452 -#: build/serializers.py:530 build/templates/build/sidebar.html:21 -#: company/models.py:817 company/templates/company/sidebar.html:37 +#: InvenTree/fields.py:205 InvenTree/models.py:921 build/serializers.py:456 +#: build/serializers.py:534 build/templates/build/sidebar.html:21 +#: company/models.py:824 company/templates/company/sidebar.html:37 #: order/models.py:1296 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:3183 part/templates/part/part_sidebar.html:63 +#: part/models.py:3193 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:230 stock/models.py:2344 stock/models.py:2466 -#: stock/serializers.py:632 stock/serializers.py:790 stock/serializers.py:886 -#: stock/serializers.py:936 stock/serializers.py:1239 stock/serializers.py:1328 -#: stock/serializers.py:1493 stock/templates/stock/stock_sidebar.html:25 +#: stock/admin.py:230 stock/models.py:2349 stock/models.py:2476 +#: stock/serializers.py:690 stock/serializers.py:848 stock/serializers.py:944 +#: stock/serializers.py:994 stock/serializers.py:1305 stock/serializers.py:1394 +#: stock/serializers.py:1559 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:1081 +#: templates/js/translated/part.js:1084 #: templates/js/translated/purchase_order.js:2200 #: templates/js/translated/return_order.js:775 #: templates/js/translated/sales_order.js:1103 @@ -371,41 +371,41 @@ msgstr "" msgid "JSON metadata field, for use by external plugins" msgstr "" -#: InvenTree/models.py:408 +#: InvenTree/models.py:411 msgid "Improperly formatted pattern" msgstr "" -#: InvenTree/models.py:415 +#: InvenTree/models.py:418 msgid "Unknown format key specified" msgstr "" -#: InvenTree/models.py:421 +#: InvenTree/models.py:424 msgid "Missing required format key" msgstr "" -#: InvenTree/models.py:432 +#: InvenTree/models.py:435 msgid "Reference field cannot be empty" msgstr "" -#: InvenTree/models.py:440 +#: InvenTree/models.py:443 msgid "Reference must match required pattern" msgstr "" -#: InvenTree/models.py:471 +#: InvenTree/models.py:474 msgid "Reference number is too large" msgstr "" -#: InvenTree/models.py:719 +#: InvenTree/models.py:722 msgid "Duplicate names cannot exist under the same parent" msgstr "" -#: InvenTree/models.py:736 +#: InvenTree/models.py:739 msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:766 common/models.py:2678 common/models.py:3103 -#: common/serializers.py:408 company/models.py:580 machine/models.py:24 -#: part/models.py:891 part/models.py:3639 plugin/models.py:51 +#: InvenTree/models.py:769 common/models.py:2659 common/models.py:3089 +#: common/serializers.py:412 company/models.py:587 machine/models.py:24 +#: part/models.py:895 part/models.py:3660 plugin/models.py:51 #: report/models.py:150 stock/models.py:74 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -417,20 +417,20 @@ msgstr "" #: templates/js/translated/company.js:724 #: templates/js/translated/company.js:913 #: templates/js/translated/company.js:1165 -#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1187 -#: templates/js/translated/part.js:1475 templates/js/translated/part.js:1611 -#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2716 +#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1190 +#: templates/js/translated/part.js:1478 templates/js/translated/part.js:1614 +#: templates/js/translated/part.js:2752 templates/js/translated/stock.js:2716 msgid "Name" msgstr "" -#: InvenTree/models.py:772 build/models.py:235 -#: build/templates/build/detail.html:24 common/models.py:138 -#: company/models.py:509 company/models.py:808 +#: InvenTree/models.py:775 build/models.py:242 +#: build/templates/build/detail.html:24 common/models.py:143 +#: company/models.py:515 company/models.py:815 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 -#: order/models.py:1329 part/admin.py:305 part/admin.py:408 part/models.py:914 -#: part/models.py:3654 part/templates/part/category.html:82 +#: order/models.py:1329 part/admin.py:305 part/admin.py:408 part/models.py:918 +#: part/models.py:3675 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:156 #: report/models.py:510 report/models.py:536 @@ -444,10 +444,10 @@ msgstr "" #: templates/js/translated/build.js:2139 templates/js/translated/company.js:519 #: templates/js/translated/company.js:1330 #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 -#: templates/js/translated/order.js:298 templates/js/translated/part.js:1239 -#: templates/js/translated/part.js:1484 templates/js/translated/part.js:1622 -#: templates/js/translated/part.js:1959 templates/js/translated/part.js:2355 -#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2897 +#: templates/js/translated/order.js:298 templates/js/translated/part.js:1242 +#: templates/js/translated/part.js:1487 templates/js/translated/part.js:1625 +#: templates/js/translated/part.js:1962 templates/js/translated/part.js:2358 +#: templates/js/translated/part.js:2788 templates/js/translated/part.js:2900 #: templates/js/translated/plugin.js:80 #: templates/js/translated/purchase_order.js:1706 #: templates/js/translated/purchase_order.js:1849 @@ -460,53 +460,53 @@ msgstr "" msgid "Description" msgstr "" -#: InvenTree/models.py:773 stock/models.py:81 +#: InvenTree/models.py:776 stock/models.py:81 msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:788 templates/js/translated/part.js:2794 +#: InvenTree/models.py:791 templates/js/translated/part.js:2797 #: templates/js/translated/stock.js:2757 msgid "Path" msgstr "" -#: InvenTree/models.py:918 +#: InvenTree/models.py:921 msgid "Markdown notes (optional)" msgstr "" -#: InvenTree/models.py:947 +#: InvenTree/models.py:950 msgid "Barcode Data" msgstr "" -#: InvenTree/models.py:948 +#: InvenTree/models.py:951 msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:954 +#: InvenTree/models.py:957 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:955 +#: InvenTree/models.py:958 msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:1008 +#: InvenTree/models.py:1011 msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:1051 +#: InvenTree/models.py:1054 msgid "Server Error" msgstr "" -#: InvenTree/models.py:1052 +#: InvenTree/models.py:1055 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:63 part/models.py:4192 +#: InvenTree/serializers.py:63 part/models.py:4277 msgid "Must be a valid number" msgstr "" #: InvenTree/serializers.py:100 company/models.py:186 -#: company/templates/company/company_base.html:112 part/models.py:3001 +#: company/templates/company/company_base.html:112 part/models.py:3011 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -556,16 +556,16 @@ msgstr "" msgid "Is this user a superuser" msgstr "" -#: InvenTree/serializers.py:445 common/models.py:2683 company/models.py:163 -#: company/models.py:782 machine/models.py:39 part/admin.py:88 -#: part/models.py:1081 plugin/models.py:66 +#: InvenTree/serializers.py:445 common/models.py:2664 company/models.py:163 +#: company/models.py:789 machine/models.py:39 part/admin.py:88 +#: part/models.py:1085 plugin/models.py:66 #: 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 #: templates/js/translated/table_filters.js:520 #: templates/js/translated/table_filters.js:716 -#: templates/js/translated/table_filters.js:796 users/models.py:182 +#: templates/js/translated/table_filters.js:801 users/models.py:182 msgid "Active" msgstr "" @@ -597,7 +597,7 @@ msgstr "" msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:581 +#: InvenTree/serializers.py:581 importer/models.py:60 msgid "Data File" msgstr "" @@ -651,7 +651,7 @@ msgstr "" msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/status.py:66 part/serializers.py:1174 +#: InvenTree/status.py:66 part/serializers.py:1202 msgid "Background worker check failed" msgstr "" @@ -711,47 +711,48 @@ msgstr "" msgid "About InvenTree" msgstr "" -#: build/api.py:255 +#: build/api.py:248 msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:299 part/models.py:4070 templates/js/translated/bom.js:997 -#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 +#: build/api.py:292 build/serializers.py:1190 part/models.py:4155 +#: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 +#: templates/js/translated/build.js:2521 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:300 part/models.py:4064 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 +#: build/api.py:293 build/serializers.py:1191 part/models.py:4149 +#: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 +#: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2530 #: templates/js/translated/table_filters.js:186 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:587 msgid "Optional" msgstr "" -#: build/api.py:301 templates/js/translated/table_filters.js:408 +#: build/api.py:294 templates/js/translated/table_filters.js:408 #: templates/js/translated/table_filters.js:579 msgid "Tracked" msgstr "" -#: build/api.py:303 part/admin.py:144 templates/js/translated/build.js:1744 -#: templates/js/translated/build.js:2629 +#: build/api.py:296 part/admin.py:144 templates/js/translated/build.js:1744 +#: templates/js/translated/build.js:2630 #: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:571 msgid "Allocated" msgstr "" -#: build/api.py:311 company/models.py:872 company/serializers.py:359 +#: build/api.py:304 company/models.py:879 company/serializers.py:386 #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2561 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2562 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:234 -#: templates/js/translated/part.js:693 templates/js/translated/part.js:695 -#: templates/js/translated/part.js:700 +#: 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 #: templates/js/translated/table_filters.js:575 msgid "Available" @@ -760,7 +761,7 @@ msgstr "" #: build/models.py:85 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 -#: stock/serializers.py:82 templates/email/build_order_completed.html:16 +#: stock/serializers.py:84 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:2892 msgid "Build Order" @@ -781,35 +782,39 @@ msgstr "" msgid "Assembly BOM has not been validated" msgstr "" -#: build/models.py:134 part/templates/part/part_base.html:145 -msgid "Part is not active" +#: build/models.py:134 +msgid "Build order cannot be created for an inactive part" +msgstr "" + +#: build/models.py:141 +msgid "Build order cannot be created for an unlocked part" msgstr "" -#: build/models.py:148 +#: build/models.py:155 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:159 order/models.py:240 +#: build/models.py:166 order/models.py:240 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:165 +#: build/models.py:172 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:226 +#: build/models.py:233 msgid "Build Order Reference" msgstr "" -#: build/models.py:227 order/models.py:463 order/models.py:926 -#: order/models.py:1289 order/models.py:2020 part/admin.py:411 -#: part/models.py:4085 part/templates/part/upload_bom.html:54 +#: build/models.py:234 build/serializers.py:1189 order/models.py:463 +#: order/models.py:926 order/models.py:1289 order/models.py:2046 +#: part/admin.py:411 part/models.py:4170 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: 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/build.js:2513 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2065 #: templates/js/translated/return_order.js:728 @@ -817,27 +822,28 @@ msgstr "" msgid "Reference" msgstr "" -#: build/models.py:238 +#: build/models.py:245 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:246 build/templates/build/build_base.html:183 +#: build/models.py:253 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/models.py:247 +#: build/models.py:254 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:252 build/templates/build/build_base.html:97 -#: build/templates/build/detail.html:29 company/models.py:1026 order/api.py:805 -#: order/models.py:1414 order/models.py:1559 order/models.py:1560 -#: part/api.py:1494 part/api.py:1788 part/models.py:395 part/models.py:3012 -#: part/models.py:3156 part/models.py:3303 part/models.py:3324 -#: part/models.py:3346 part/models.py:3477 part/models.py:3787 -#: part/models.py:3943 part/models.py:4036 part/models.py:4395 -#: part/serializers.py:1120 part/serializers.py:1726 +#: build/models.py:259 build/serializers.py:1184 +#: build/templates/build/build_base.html:97 +#: build/templates/build/detail.html:29 company/models.py:1034 order/api.py:759 +#: order/models.py:1419 order/models.py:1574 order/models.py:1575 +#: part/api.py:1480 part/api.py:1776 part/models.py:396 part/models.py:3022 +#: part/models.py:3166 part/models.py:3314 part/models.py:3335 +#: part/models.py:3357 part/models.py:3493 part/models.py:3827 +#: part/models.py:3990 part/models.py:4121 part/models.py:4480 +#: part/serializers.py:1148 part/serializers.py:1758 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -848,8 +854,8 @@ msgstr "" #: 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:109 stock/serializers.py:157 stock/serializers.py:423 -#: stock/serializers.py:820 templates/InvenTree/search.html:82 +#: stock/serializers.py:111 stock/serializers.py:159 stock/serializers.py:443 +#: stock/serializers.py:878 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 @@ -862,8 +868,8 @@ msgstr "" #: templates/js/translated/company.js:1116 #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 -#: templates/js/translated/part.js:1944 templates/js/translated/part.js:2016 -#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:1947 templates/js/translated/part.js:2019 +#: templates/js/translated/part.js:2327 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:1848 @@ -881,107 +887,107 @@ msgstr "" msgid "Part" msgstr "" -#: build/models.py:260 +#: build/models.py:267 msgid "Select part to build" msgstr "" -#: build/models.py:265 +#: build/models.py:272 msgid "Sales Order Reference" msgstr "" -#: build/models.py:269 +#: build/models.py:276 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:274 build/serializers.py:999 +#: build/models.py:281 build/serializers.py:1003 #: templates/js/translated/build.js:1731 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "" -#: build/models.py:278 +#: build/models.py:285 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:283 +#: build/models.py:290 msgid "Destination Location" msgstr "" -#: build/models.py:287 +#: build/models.py:294 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:291 +#: build/models.py:298 msgid "Build Quantity" msgstr "" -#: build/models.py:294 +#: build/models.py:301 msgid "Number of stock items to build" msgstr "" -#: build/models.py:298 +#: build/models.py:305 msgid "Completed items" msgstr "" -#: build/models.py:300 +#: build/models.py:307 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:304 +#: build/models.py:311 msgid "Build Status" msgstr "" -#: build/models.py:308 +#: build/models.py:315 msgid "Build status code" msgstr "" -#: build/models.py:317 build/serializers.py:286 order/serializers.py:580 -#: stock/models.py:839 stock/serializers.py:74 stock/serializers.py:1458 +#: build/models.py:324 build/serializers.py:290 order/serializers.py:629 +#: stock/models.py:839 stock/serializers.py:76 stock/serializers.py:1524 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "" -#: build/models.py:321 build/serializers.py:287 +#: build/models.py:328 build/serializers.py:291 msgid "Batch code for this build output" msgstr "" -#: build/models.py:324 order/models.py:316 order/serializers.py:119 -#: part/models.py:1115 part/templates/part/part_base.html:310 +#: build/models.py:331 order/models.py:316 order/serializers.py:127 +#: part/models.py:1125 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:328 +#: build/models.py:335 msgid "Target completion date" msgstr "" -#: build/models.py:329 +#: build/models.py:336 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:332 order/models.py:521 order/models.py:2065 +#: build/models.py:339 order/models.py:521 order/models.py:2091 #: templates/js/translated/build.js:2247 msgid "Completion Date" msgstr "" -#: build/models.py:338 +#: build/models.py:345 msgid "completed by" msgstr "" -#: build/models.py:346 templates/js/translated/build.js:2207 +#: build/models.py:353 templates/js/translated/build.js:2207 msgid "Issued by" msgstr "" -#: build/models.py:347 +#: build/models.py:354 msgid "User who issued this build order" msgstr "" -#: build/models.py:355 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 common/models.py:147 +#: build/models.py:362 build/templates/build/build_base.html:204 +#: build/templates/build/detail.html:122 common/models.py:152 #: order/models.py:334 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:232 part/models.py:1132 +#: order/templates/order/sales_order_base.html:232 part/models.py:1142 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 @@ -992,11 +998,11 @@ msgstr "" msgid "Responsible" msgstr "" -#: build/models.py:356 +#: build/models.py:363 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:361 build/templates/build/detail.html:108 +#: build/models.py:368 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 @@ -1008,21 +1014,22 @@ msgstr "" msgid "External Link" msgstr "" -#: build/models.py:362 common/models.py:3244 part/models.py:956 +#: build/models.py:369 common/models.py:3230 part/models.py:960 #: stock/models.py:835 msgid "Link to external URL" msgstr "" -#: build/models.py:366 +#: build/models.py:373 msgid "Build Priority" msgstr "" -#: build/models.py:369 +#: build/models.py:376 msgid "Priority of this build order" msgstr "" -#: build/models.py:376 common/models.py:131 order/admin.py:18 -#: order/models.py:298 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:383 common/models.py:122 common/models.py:136 +#: order/admin.py:18 order/models.py:298 order/serializers.py:108 +#: templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 #: templates/js/translated/purchase_order.js:1710 #: templates/js/translated/return_order.js:317 @@ -1032,65 +1039,66 @@ msgstr "" msgid "Project Code" msgstr "" -#: build/models.py:377 +#: build/models.py:384 msgid "Project code for this build order" msgstr "" -#: build/models.py:610 build/models.py:675 +#: build/models.py:617 build/models.py:682 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:632 +#: build/models.py:639 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:638 +#: build/models.py:645 msgid "A build order has been completed" msgstr "" -#: build/models.py:864 build/models.py:949 +#: build/models.py:871 build/models.py:956 msgid "No build output specified" msgstr "" -#: build/models.py:867 +#: build/models.py:874 msgid "Build output is already completed" msgstr "" -#: build/models.py:870 +#: build/models.py:877 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:953 build/serializers.py:219 build/serializers.py:268 -#: build/serializers.py:866 order/models.py:559 order/serializers.py:432 -#: order/serializers.py:575 part/serializers.py:1484 part/serializers.py:1884 -#: stock/models.py:678 stock/models.py:1496 stock/serializers.py:603 +#: build/models.py:960 build/serializers.py:223 build/serializers.py:272 +#: build/serializers.py:870 order/models.py:559 order/serializers.py:461 +#: order/serializers.py:624 part/serializers.py:1515 part/serializers.py:1921 +#: stock/models.py:678 stock/models.py:1496 stock/serializers.py:661 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:958 build/serializers.py:224 +#: build/models.py:965 build/serializers.py:228 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1018 build/serializers.py:547 +#: build/models.py:1025 build/serializers.py:551 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1359 +#: build/models.py:1366 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1384 +#: build/models.py:1391 msgid "Build object" msgstr "" -#: build/models.py:1398 build/models.py:1654 build/serializers.py:206 -#: build/serializers.py:253 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2563 -#: order/models.py:1272 order/models.py:1931 order/serializers.py:1327 +#: build/models.py:1405 build/models.py:1661 build/serializers.py:210 +#: build/serializers.py:257 build/serializers.py:1194 +#: build/templates/build/build_base.html:102 +#: build/templates/build/detail.html:34 common/models.py:2544 +#: order/models.py:1272 order/models.py:1957 order/serializers.py:1383 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:410 -#: part/forms.py:48 part/models.py:3170 part/models.py:4058 +#: part/forms.py:48 part/models.py:3180 part/models.py:4143 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1100,7 +1108,7 @@ msgstr "" #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:169 stock/admin.py:159 -#: stock/serializers.py:125 stock/serializers.py:165 stock/serializers.py:594 +#: stock/serializers.py:127 stock/serializers.py:167 stock/serializers.py:652 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 @@ -1111,8 +1119,8 @@ msgstr "" #: templates/js/translated/build.js:1746 templates/js/translated/build.js:2357 #: templates/js/translated/company.js:1818 #: templates/js/translated/model_renderers.js:236 -#: templates/js/translated/order.js:304 templates/js/translated/part.js:962 -#: templates/js/translated/part.js:1812 templates/js/translated/part.js:3342 +#: templates/js/translated/order.js:304 templates/js/translated/part.js:965 +#: templates/js/translated/part.js:1815 templates/js/translated/part.js:3345 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 @@ -1132,38 +1140,38 @@ msgstr "" msgid "Quantity" msgstr "" -#: build/models.py:1399 +#: build/models.py:1406 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1479 +#: build/models.py:1486 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1488 +#: build/models.py:1495 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1498 order/models.py:1882 +#: build/models.py:1505 order/models.py:1908 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1504 order/models.py:1885 +#: build/models.py:1511 order/models.py:1911 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1510 +#: build/models.py:1517 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1569 +#: build/models.py:1576 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1641 build/serializers.py:846 order/serializers.py:1171 -#: order/serializers.py:1192 stock/models.py:359 stock/serializers.py:91 -#: stock/serializers.py:697 stock/serializers.py:1177 stock/serializers.py:1289 +#: build/models.py:1648 build/serializers.py:850 order/serializers.py:1227 +#: order/serializers.py:1248 stock/models.py:359 stock/serializers.py:93 +#: stock/serializers.py:755 stock/serializers.py:1243 stock/serializers.py:1355 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 @@ -1179,70 +1187,76 @@ msgstr "" msgid "Stock Item" msgstr "" -#: build/models.py:1642 +#: build/models.py:1649 msgid "Source stock item" msgstr "" -#: build/models.py:1655 +#: build/models.py:1662 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1663 +#: build/models.py:1670 msgid "Install into" msgstr "" -#: build/models.py:1664 +#: build/models.py:1671 msgid "Destination stock item" msgstr "" -#: build/serializers.py:156 build/serializers.py:875 +#: build/serializers.py:89 build/serializers.py:1185 part/admin.py:41 +#: part/admin.py:405 part/models.py:3992 part/stocktake.py:220 +#: stock/admin.py:156 +msgid "Part Name" +msgstr "" + +#: build/serializers.py:160 build/serializers.py:879 #: templates/js/translated/build.js:1322 msgid "Build Output" msgstr "" -#: build/serializers.py:168 +#: build/serializers.py:172 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:172 +#: build/serializers.py:176 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:176 +#: build/serializers.py:180 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:187 +#: build/serializers.py:191 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:207 build/serializers.py:254 +#: build/serializers.py:211 build/serializers.py:258 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:275 +#: build/serializers.py:279 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:278 +#: build/serializers.py:282 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:293 order/serializers.py:588 order/serializers.py:1331 -#: stock/serializers.py:614 templates/js/translated/purchase_order.js:1153 +#: build/serializers.py:297 order/serializers.py:637 order/serializers.py:1387 +#: stock/serializers.py:672 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:294 +#: build/serializers.py:298 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:299 build/serializers.py:440 build/serializers.py:512 -#: order/serializers.py:564 order/serializers.py:672 order/serializers.py:1656 -#: part/serializers.py:1140 stock/serializers.py:100 stock/serializers.py:625 -#: stock/serializers.py:785 stock/serializers.py:881 stock/serializers.py:1321 -#: stock/serializers.py:1577 stock/templates/stock/item_base.html:394 +#: build/serializers.py:303 build/serializers.py:444 build/serializers.py:516 +#: order/serializers.py:613 order/serializers.py:721 order/serializers.py:1714 +#: part/serializers.py:1168 stock/serializers.py:102 stock/serializers.py:683 +#: stock/serializers.py:843 stock/serializers.py:939 stock/serializers.py:1387 +#: stock/serializers.py:1643 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 @@ -1258,54 +1272,54 @@ msgstr "" msgid "Location" msgstr "" -#: build/serializers.py:300 +#: build/serializers.py:304 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:314 +#: build/serializers.py:318 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:315 +#: build/serializers.py:319 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:330 +#: build/serializers.py:334 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:355 stock/api.py:1041 +#: build/serializers.py:359 stock/api.py:1033 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:402 build/serializers.py:464 build/serializers.py:553 +#: build/serializers.py:406 build/serializers.py:468 build/serializers.py:557 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:441 +#: build/serializers.py:445 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:447 +#: build/serializers.py:451 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:448 +#: build/serializers.py:452 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:453 +#: build/serializers.py:457 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:513 +#: build/serializers.py:517 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:519 build/templates/build/build_base.html:151 +#: build/serializers.py:523 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:950 -#: order/models.py:2044 order/serializers.py:596 stock/admin.py:164 -#: stock/serializers.py:932 stock/serializers.py:1465 +#: order/models.py:2070 order/serializers.py:645 stock/admin.py:164 +#: stock/serializers.py:990 stock/serializers.py:1531 #: 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 @@ -1317,193 +1331,241 @@ msgstr "" msgid "Status" msgstr "" -#: build/serializers.py:525 +#: build/serializers.py:529 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:526 +#: build/serializers.py:530 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:611 +#: build/serializers.py:615 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:612 +#: build/serializers.py:616 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:618 +#: build/serializers.py:622 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:619 +#: build/serializers.py:623 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:646 +#: build/serializers.py:650 msgid "Not permitted" msgstr "" -#: build/serializers.py:647 +#: build/serializers.py:651 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:648 +#: build/serializers.py:652 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:678 +#: build/serializers.py:682 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:680 +#: build/serializers.py:684 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:690 +#: build/serializers.py:694 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:695 +#: build/serializers.py:699 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:696 +#: build/serializers.py:700 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:706 templates/js/translated/build.js:315 +#: build/serializers.py:710 templates/js/translated/build.js:315 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:711 order/serializers.py:300 order/serializers.py:1234 +#: build/serializers.py:715 order/serializers.py:319 order/serializers.py:1290 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:712 +#: build/serializers.py:716 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:722 templates/js/translated/build.js:319 +#: build/serializers.py:726 templates/js/translated/build.js:319 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:731 templates/js/translated/build.js:303 +#: build/serializers.py:735 templates/js/translated/build.js:303 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:769 +#: build/serializers.py:773 msgid "Build Line" msgstr "" -#: build/serializers.py:779 +#: build/serializers.py:783 msgid "Build output" msgstr "" -#: build/serializers.py:787 +#: build/serializers.py:791 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:823 +#: build/serializers.py:827 msgid "Build Line Item" msgstr "" -#: build/serializers.py:837 +#: build/serializers.py:841 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:852 stock/serializers.py:1190 +#: build/serializers.py:856 stock/serializers.py:1256 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:900 order/serializers.py:1225 +#: build/serializers.py:904 order/serializers.py:1281 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:906 +#: build/serializers.py:910 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:913 +#: build/serializers.py:917 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:937 order/serializers.py:1477 +#: build/serializers.py:941 order/serializers.py:1533 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:1000 +#: build/serializers.py:1004 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:1008 +#: build/serializers.py:1012 msgid "Exclude Location" msgstr "" -#: build/serializers.py:1009 +#: build/serializers.py:1013 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:1014 +#: build/serializers.py:1018 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:1015 +#: build/serializers.py:1019 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:1020 +#: build/serializers.py:1024 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:1021 +#: build/serializers.py:1025 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:1026 +#: build/serializers.py:1030 msgid "Optional Items" msgstr "" -#: build/serializers.py:1027 +#: build/serializers.py:1031 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1049 +#: build/serializers.py:1053 msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1139 part/models.py:3953 part/models.py:4387 -#: stock/api.py:804 +#: build/serializers.py:1095 +msgid "Supplier Part Number" +msgstr "" + +#: build/serializers.py:1096 company/models.py:500 +msgid "Manufacturer Part Number" +msgstr "" + +#: build/serializers.py:1097 stock/admin.py:53 stock/admin.py:175 +#: stock/serializers.py:454 +msgid "Location Name" +msgstr "" + +#: build/serializers.py:1098 +msgid "Build Reference" +msgstr "" + +#: build/serializers.py:1099 +msgid "BOM Reference" +msgstr "" + +#: build/serializers.py:1186 part/admin.py:402 part/models.py:3993 +msgid "Part IPN" +msgstr "" + +#: build/serializers.py:1192 common/models.py:1488 part/admin.py:113 +#: part/models.py:1068 templates/js/translated/table_filters.js:147 +#: templates/js/translated/table_filters.js:223 +#: templates/js/translated/table_filters.js:776 +msgid "Trackable" +msgstr "" + +#: build/serializers.py:1196 part/models.py:4000 part/models.py:4472 +#: stock/api.py:796 msgid "BOM Item" msgstr "" -#: build/serializers.py:1148 templates/js/translated/index.js:130 +#: build/serializers.py:1205 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1153 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:828 part/serializers.py:1502 +#: build/serializers.py:1210 part/admin.py:132 part/bom.py:173 +#: part/serializers.py:856 part/serializers.py:1533 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2613 templates/js/translated/part.js:710 -#: templates/js/translated/part.js:2149 +#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709 +#: templates/js/translated/part.js:2152 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "" -#: build/serializers.py:1158 part/serializers.py:1504 -#: templates/js/translated/build.js:2617 +#: build/serializers.py:1215 part/serializers.py:1535 +#: templates/js/translated/build.js:2618 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1163 part/bom.py:172 part/serializers.py:1527 +#: build/serializers.py:1220 part/bom.py:172 part/serializers.py:1558 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" msgstr "" +#: build/serializers.py:1224 +msgid "Available Substitute Stock" +msgstr "" + +#: build/serializers.py:1225 +msgid "Available Variant Stock" +msgstr "" + +#: build/serializers.py:1226 +msgid "Total Available Stock" +msgstr "" + +#: build/serializers.py:1227 part/serializers.py:862 +msgid "External Stock" +msgstr "" + #: build/status_codes.py:11 generic/states/tests.py:17 order/status_codes.py:12 #: order/status_codes.py:37 order/status_codes.py:64 order/status_codes.py:82 #: templates/js/translated/table_filters.js:598 @@ -1519,7 +1581,8 @@ msgstr "" msgid "Cancelled" msgstr "" -#: build/status_codes.py:14 generic/states/tests.py:19 order/status_codes.py:14 +#: build/status_codes.py:14 generic/states/tests.py:19 importer/models.py:468 +#: importer/status_codes.py:19 order/status_codes.py:14 #: order/status_codes.py:44 order/status_codes.py:69 #: order/templates/order/order_base.html:158 #: order/templates/order/sales_order_base.html:165 report/models.py:444 @@ -1652,11 +1715,12 @@ msgstr "" #: build/templates/build/build_base.html:160 #: build/templates/build/detail.html:138 order/models.py:309 -#: order/models.py:1307 order/templates/order/order_base.html:186 +#: order/models.py:1307 order/serializers.py:174 +#: order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: 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:1831 +#: templates/js/translated/build.js:2239 templates/js/translated/part.js:1834 #: templates/js/translated/purchase_order.js:1739 #: templates/js/translated/purchase_order.js:2147 #: templates/js/translated/return_order.js:346 @@ -1689,8 +1753,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1463 order/models.py:845 -#: order/models.py:1551 order/models.py:1665 order/models.py:1819 +#: build/templates/build/detail.html:101 order/api.py:1384 order/models.py:845 +#: order/models.py:1566 order/models.py:1681 order/models.py:1840 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 @@ -1740,7 +1804,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1443 +#: build/templates/build/detail.html:49 order/models.py:1448 #: templates/js/translated/purchase_order.js:2189 msgid "Destination" msgstr "" @@ -1892,31 +1956,31 @@ msgstr "" msgid "Incomplete Outputs" msgstr "" -#: common/api.py:689 +#: common/api.py:690 msgid "Is Link" msgstr "" -#: common/api.py:697 +#: common/api.py:698 msgid "Is File" msgstr "" -#: common/api.py:739 +#: common/api.py:740 msgid "User does not have permission to delete this attachment" msgstr "" -#: common/currency.py:130 +#: common/currency.py:132 msgid "Invalid currency code" msgstr "" -#: common/currency.py:132 +#: common/currency.py:134 msgid "Duplicate currency code" msgstr "" -#: common/currency.py:137 +#: common/currency.py:139 msgid "No valid currency codes provided" msgstr "" -#: common/currency.py:154 +#: common/currency.py:156 msgid "No plugin" msgstr "" @@ -1970,1635 +2034,1604 @@ msgstr "" msgid "Site URL is locked by configuration" msgstr "" -#: common/models.py:132 +#: common/models.py:137 msgid "Unique project code" msgstr "" -#: common/models.py:139 +#: common/models.py:144 msgid "Project description" msgstr "" -#: common/models.py:148 +#: common/models.py:153 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:765 +#: common/models.py:770 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:769 +#: common/models.py:774 msgid "Settings value" msgstr "" -#: common/models.py:821 +#: common/models.py:826 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:837 +#: common/models.py:842 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:845 +#: common/models.py:850 msgid "Value must be an integer value" msgstr "" -#: common/models.py:882 +#: common/models.py:887 msgid "Key string must be unique" msgstr "" -#: common/models.py:1114 +#: common/models.py:1119 msgid "No group" msgstr "" -#: common/models.py:1213 +#: common/models.py:1218 msgid "Restart required" msgstr "" -#: common/models.py:1215 +#: common/models.py:1220 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:1222 +#: common/models.py:1227 msgid "Pending migrations" msgstr "" -#: common/models.py:1223 +#: common/models.py:1228 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1228 +#: common/models.py:1233 msgid "Server Instance Name" msgstr "" -#: common/models.py:1230 +#: common/models.py:1235 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1234 +#: common/models.py:1239 msgid "Use instance name" msgstr "" -#: common/models.py:1235 +#: common/models.py:1240 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1240 +#: common/models.py:1245 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1241 +#: common/models.py:1246 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1246 company/models.py:111 company/models.py:112 +#: common/models.py:1251 company/models.py:111 company/models.py:112 msgid "Company name" msgstr "" -#: common/models.py:1247 +#: common/models.py:1252 msgid "Internal company name" msgstr "" -#: common/models.py:1251 +#: common/models.py:1256 msgid "Base URL" msgstr "" -#: common/models.py:1252 +#: common/models.py:1257 msgid "Base URL for server instance" msgstr "" -#: common/models.py:1258 +#: common/models.py:1263 msgid "Default Currency" msgstr "" -#: common/models.py:1259 +#: common/models.py:1264 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1265 +#: common/models.py:1270 msgid "Supported Currencies" msgstr "" -#: common/models.py:1266 +#: common/models.py:1271 msgid "List of supported currency codes" msgstr "" -#: common/models.py:1272 +#: common/models.py:1277 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1274 +#: common/models.py:1279 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1277 common/models.py:1333 common/models.py:1346 -#: common/models.py:1354 common/models.py:1363 common/models.py:1372 -#: common/models.py:1596 common/models.py:1618 common/models.py:1733 -#: common/models.py:2100 +#: common/models.py:1282 common/models.py:1338 common/models.py:1351 +#: common/models.py:1359 common/models.py:1368 common/models.py:1377 +#: common/models.py:1601 common/models.py:1623 common/models.py:1738 +#: common/models.py:2111 msgid "days" msgstr "" -#: common/models.py:1281 +#: common/models.py:1286 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1282 +#: common/models.py:1287 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1287 +#: common/models.py:1292 msgid "Download from URL" msgstr "" -#: common/models.py:1289 +#: common/models.py:1294 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:1295 +#: common/models.py:1300 msgid "Download Size Limit" msgstr "" -#: common/models.py:1296 +#: common/models.py:1301 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1302 +#: common/models.py:1307 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1304 +#: common/models.py:1309 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/models.py:1309 +#: common/models.py:1314 msgid "Strict URL Validation" msgstr "" -#: common/models.py:1310 +#: common/models.py:1315 msgid "Require schema specification when validating URLs" msgstr "" -#: common/models.py:1315 +#: common/models.py:1320 msgid "Require confirm" msgstr "" -#: common/models.py:1316 +#: common/models.py:1321 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:1321 +#: common/models.py:1326 msgid "Tree Depth" msgstr "" -#: common/models.py:1323 +#: common/models.py:1328 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1329 +#: common/models.py:1334 msgid "Update Check Interval" msgstr "" -#: common/models.py:1330 +#: common/models.py:1335 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:1336 +#: common/models.py:1341 msgid "Automatic Backup" msgstr "" -#: common/models.py:1337 +#: common/models.py:1342 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:1342 +#: common/models.py:1347 msgid "Auto Backup Interval" msgstr "" -#: common/models.py:1343 +#: common/models.py:1348 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1349 +#: common/models.py:1354 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1351 +#: common/models.py:1356 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1358 +#: common/models.py:1363 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1360 +#: common/models.py:1365 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1367 +#: common/models.py:1372 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1369 +#: common/models.py:1374 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1376 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1381 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "" -#: common/models.py:1377 +#: common/models.py:1382 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1382 +#: common/models.py:1387 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1383 +#: common/models.py:1388 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1389 +#: common/models.py:1394 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1390 +#: common/models.py:1395 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1395 +#: common/models.py:1400 msgid "Barcode Show Data" msgstr "" -#: common/models.py:1396 +#: common/models.py:1401 msgid "Display barcode data in browser as text" msgstr "" -#: common/models.py:1401 +#: common/models.py:1406 msgid "Part Revisions" msgstr "" -#: common/models.py:1402 +#: common/models.py:1407 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1407 +#: common/models.py:1412 msgid "Allow Deletion from Assembly" msgstr "" -#: common/models.py:1408 +#: common/models.py:1413 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/models.py:1413 +#: common/models.py:1418 msgid "IPN Regex" msgstr "" -#: common/models.py:1414 +#: common/models.py:1419 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1417 +#: common/models.py:1422 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1418 +#: common/models.py:1423 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1423 +#: common/models.py:1428 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1424 +#: common/models.py:1429 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1429 +#: common/models.py:1434 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1430 +#: common/models.py:1435 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1435 +#: common/models.py:1440 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1436 +#: common/models.py:1441 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1441 +#: common/models.py:1446 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1442 +#: common/models.py:1447 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1447 +#: common/models.py:1452 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1448 +#: common/models.py:1453 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1453 part/admin.py:108 part/models.py:3795 +#: common/models.py:1458 part/admin.py:108 part/models.py:3835 #: report/models.py:294 report/models.py:361 report/serializers.py:90 -#: report/serializers.py:131 stock/serializers.py:227 +#: report/serializers.py:131 stock/serializers.py:232 #: templates/js/translated/table_filters.js:139 -#: templates/js/translated/table_filters.js:767 +#: templates/js/translated/table_filters.js:772 msgid "Template" msgstr "" -#: common/models.py:1454 +#: common/models.py:1459 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1459 part/admin.py:91 part/admin.py:425 part/models.py:1052 +#: common/models.py:1464 part/admin.py:91 part/admin.py:425 part/models.py:1056 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 -#: templates/js/translated/table_filters.js:721 +#: templates/js/translated/table_filters.js:726 msgid "Assembly" msgstr "" -#: common/models.py:1460 +#: common/models.py:1465 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1465 part/admin.py:95 part/models.py:1058 -#: templates/js/translated/table_filters.js:729 +#: common/models.py:1470 part/admin.py:95 part/models.py:1062 +#: templates/js/translated/table_filters.js:734 msgid "Component" msgstr "" -#: common/models.py:1466 +#: common/models.py:1471 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1471 part/admin.py:100 part/models.py:1070 +#: common/models.py:1476 part/admin.py:100 part/models.py:1074 msgid "Purchaseable" msgstr "" -#: common/models.py:1472 +#: common/models.py:1477 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1477 part/admin.py:104 part/models.py:1076 -#: templates/js/translated/table_filters.js:755 +#: common/models.py:1482 part/admin.py:104 part/models.py:1080 +#: templates/js/translated/table_filters.js:760 msgid "Salable" msgstr "" -#: common/models.py:1478 +#: common/models.py:1483 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1483 part/admin.py:113 part/models.py:1064 -#: 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:1484 +#: common/models.py:1489 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1489 part/admin.py:117 part/models.py:1086 +#: common/models.py:1494 part/admin.py:117 part/models.py:1096 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 -#: templates/js/translated/table_filters.js:775 +#: templates/js/translated/table_filters.js:780 msgid "Virtual" msgstr "" -#: common/models.py:1490 +#: common/models.py:1495 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1495 +#: common/models.py:1500 msgid "Show Import in Views" msgstr "" -#: common/models.py:1496 +#: common/models.py:1501 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1501 +#: common/models.py:1506 msgid "Show related parts" msgstr "" -#: common/models.py:1502 +#: common/models.py:1507 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1507 +#: common/models.py:1512 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1508 +#: common/models.py:1513 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1513 templates/js/translated/part.js:107 +#: common/models.py:1518 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1515 +#: common/models.py:1520 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1521 +#: common/models.py:1526 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1522 +#: common/models.py:1527 msgid "Format to display the part name" msgstr "" -#: common/models.py:1528 +#: common/models.py:1533 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1529 +#: common/models.py:1534 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1533 +#: common/models.py:1538 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1535 +#: common/models.py:1540 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1541 +#: common/models.py:1546 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1543 +#: common/models.py:1548 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1554 +#: common/models.py:1559 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1556 +#: common/models.py:1561 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1567 +#: common/models.py:1572 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1569 +#: common/models.py:1574 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1575 +#: common/models.py:1580 msgid "Purchase History Override" msgstr "" -#: common/models.py:1577 +#: common/models.py:1582 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1583 +#: common/models.py:1588 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1585 +#: common/models.py:1590 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1591 +#: common/models.py:1596 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1593 +#: common/models.py:1598 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1600 +#: common/models.py:1605 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1601 +#: common/models.py:1606 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1606 +#: common/models.py:1611 msgid "Active Variants Only" msgstr "" -#: common/models.py:1608 +#: common/models.py:1613 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1614 +#: common/models.py:1619 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1616 +#: common/models.py:1621 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1623 +#: common/models.py:1628 msgid "Internal Prices" msgstr "" -#: common/models.py:1624 +#: common/models.py:1629 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1629 +#: common/models.py:1634 msgid "Internal Price Override" msgstr "" -#: common/models.py:1631 +#: common/models.py:1636 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1637 +#: common/models.py:1642 msgid "Enable label printing" msgstr "" -#: common/models.py:1638 +#: common/models.py:1643 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1643 +#: common/models.py:1648 msgid "Label Image DPI" msgstr "" -#: common/models.py:1645 +#: common/models.py:1650 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1651 +#: common/models.py:1656 msgid "Enable Reports" msgstr "" -#: common/models.py:1652 +#: common/models.py:1657 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1657 templates/stats.html:25 +#: common/models.py:1662 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1658 +#: common/models.py:1663 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1663 +#: common/models.py:1668 msgid "Log Report Errors" msgstr "" -#: common/models.py:1664 +#: common/models.py:1669 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1669 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1674 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:302 msgid "Page Size" msgstr "" -#: common/models.py:1670 +#: common/models.py:1675 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1675 +#: common/models.py:1680 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1676 +#: common/models.py:1681 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1681 +#: common/models.py:1686 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1683 +#: common/models.py:1688 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1689 +#: common/models.py:1694 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1690 +#: common/models.py:1695 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1695 +#: common/models.py:1700 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1696 +#: common/models.py:1701 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1701 +#: common/models.py:1706 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1703 +#: common/models.py:1708 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1709 +#: common/models.py:1714 msgid "Batch Code Template" msgstr "" -#: common/models.py:1711 +#: common/models.py:1716 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1716 +#: common/models.py:1721 msgid "Stock Expiry" msgstr "" -#: common/models.py:1717 +#: common/models.py:1722 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1722 +#: common/models.py:1727 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1723 +#: common/models.py:1728 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1728 +#: common/models.py:1733 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1730 +#: common/models.py:1735 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1737 +#: common/models.py:1742 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1738 +#: common/models.py:1743 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1743 +#: common/models.py:1748 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1744 +#: common/models.py:1749 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1749 +#: common/models.py:1754 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1750 +#: common/models.py:1755 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1754 +#: common/models.py:1759 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1755 +#: common/models.py:1760 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1760 +#: common/models.py:1765 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1762 +#: common/models.py:1767 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1768 +#: common/models.py:1773 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1770 +#: common/models.py:1775 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1776 +#: common/models.py:1781 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1778 +#: common/models.py:1783 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1784 common/models.py:1826 common/models.py:1848 -#: common/models.py:1884 +#: common/models.py:1789 common/models.py:1837 common/models.py:1859 +#: common/models.py:1895 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1785 common/models.py:1827 common/models.py:1849 -#: common/models.py:1885 +#: common/models.py:1790 common/models.py:1838 common/models.py:1860 +#: common/models.py:1896 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1790 +#: common/models.py:1795 msgid "Require Active Part" msgstr "" -#: common/models.py:1791 +#: common/models.py:1796 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/models.py:1796 +#: common/models.py:1801 +msgid "Require Locked Part" +msgstr "" + +#: common/models.py:1802 +msgid "Prevent build order creation for unlocked parts" +msgstr "" + +#: common/models.py:1807 msgid "Require Valid BOM" msgstr "" -#: common/models.py:1798 +#: common/models.py:1809 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/models.py:1804 +#: common/models.py:1815 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1806 +#: common/models.py:1817 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1812 +#: common/models.py:1823 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1813 +#: common/models.py:1824 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1818 +#: common/models.py:1829 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1820 +#: common/models.py:1831 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1832 +#: common/models.py:1843 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1834 +#: common/models.py:1845 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1840 +#: common/models.py:1851 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1842 +#: common/models.py:1853 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1854 +#: common/models.py:1865 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1855 +#: common/models.py:1866 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1860 +#: common/models.py:1871 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1862 +#: common/models.py:1873 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1868 +#: common/models.py:1879 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1870 +#: common/models.py:1881 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1876 +#: common/models.py:1887 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1878 +#: common/models.py:1889 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1890 +#: common/models.py:1901 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1892 +#: common/models.py:1903 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1898 +#: common/models.py:1909 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1900 +#: common/models.py:1911 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1907 +#: common/models.py:1918 msgid "Enable password forgot" msgstr "" -#: common/models.py:1908 +#: common/models.py:1919 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1913 +#: common/models.py:1924 msgid "Enable registration" msgstr "" -#: common/models.py:1914 +#: common/models.py:1925 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1919 +#: common/models.py:1930 msgid "Enable SSO" msgstr "" -#: common/models.py:1920 +#: common/models.py:1931 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1925 +#: common/models.py:1936 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1927 +#: common/models.py:1938 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1933 +#: common/models.py:1944 msgid "Enable SSO group sync" msgstr "" -#: common/models.py:1935 +#: common/models.py:1946 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/models.py:1941 +#: common/models.py:1952 msgid "SSO group key" msgstr "" -#: common/models.py:1943 +#: common/models.py:1954 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/models.py:1949 +#: common/models.py:1960 msgid "SSO group map" msgstr "" -#: common/models.py:1951 +#: common/models.py:1962 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/models.py:1957 +#: common/models.py:1968 msgid "Remove groups outside of SSO" msgstr "" -#: common/models.py:1959 +#: common/models.py:1970 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/models.py:1965 +#: common/models.py:1976 msgid "Email required" msgstr "" -#: common/models.py:1966 +#: common/models.py:1977 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1971 +#: common/models.py:1982 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1973 +#: common/models.py:1984 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1979 +#: common/models.py:1990 msgid "Mail twice" msgstr "" -#: common/models.py:1980 +#: common/models.py:1991 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1985 +#: common/models.py:1996 msgid "Password twice" msgstr "" -#: common/models.py:1986 +#: common/models.py:1997 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1991 +#: common/models.py:2002 msgid "Allowed domains" msgstr "" -#: common/models.py:1993 +#: common/models.py:2004 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1999 +#: common/models.py:2010 msgid "Group on signup" msgstr "" -#: common/models.py:2001 +#: common/models.py:2012 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/models.py:2007 +#: common/models.py:2018 msgid "Enforce MFA" msgstr "" -#: common/models.py:2008 +#: common/models.py:2019 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:2013 +#: common/models.py:2024 msgid "Check plugins on startup" msgstr "" -#: common/models.py:2015 +#: common/models.py:2026 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:2023 +#: common/models.py:2034 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2024 +#: common/models.py:2035 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2030 +#: common/models.py:2041 msgid "Enable URL integration" msgstr "" -#: common/models.py:2031 +#: common/models.py:2042 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:2037 +#: common/models.py:2048 msgid "Enable navigation integration" msgstr "" -#: common/models.py:2038 +#: common/models.py:2049 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2044 +#: common/models.py:2055 msgid "Enable app integration" msgstr "" -#: common/models.py:2045 +#: common/models.py:2056 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2051 +#: common/models.py:2062 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2052 +#: common/models.py:2063 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2058 +#: common/models.py:2069 msgid "Enable event integration" msgstr "" -#: common/models.py:2059 +#: common/models.py:2070 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2065 +#: common/models.py:2076 msgid "Enable project codes" msgstr "" -#: common/models.py:2066 +#: common/models.py:2077 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2071 +#: common/models.py:2082 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2073 +#: common/models.py:2084 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2079 +#: common/models.py:2090 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2081 +#: common/models.py:2092 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2087 +#: common/models.py:2098 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2089 +#: common/models.py:2100 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2095 +#: common/models.py:2106 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2097 +#: common/models.py:2108 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2104 +#: common/models.py:2115 msgid "Display Users full names" msgstr "" -#: common/models.py:2105 +#: common/models.py:2116 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2110 +#: common/models.py:2121 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2111 +#: common/models.py:2122 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2123 common/models.py:2533 +#: common/models.py:2134 common/models.py:2514 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2166 +#: common/models.py:2177 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2168 +#: common/models.py:2179 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2174 +#: common/models.py:2185 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2175 +#: common/models.py:2186 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2180 +#: common/models.py:2191 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2181 +#: common/models.py:2192 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2186 +#: common/models.py:2197 msgid "Show latest parts" msgstr "" -#: common/models.py:2187 +#: common/models.py:2198 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2192 +#: common/models.py:2203 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2193 +#: common/models.py:2204 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2198 +#: common/models.py:2209 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2199 +#: common/models.py:2210 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2204 +#: common/models.py:2215 msgid "Show low stock" msgstr "" -#: common/models.py:2205 +#: common/models.py:2216 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2210 +#: common/models.py:2221 msgid "Show depleted stock" msgstr "" -#: common/models.py:2211 +#: common/models.py:2222 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2216 +#: common/models.py:2227 msgid "Show needed stock" msgstr "" -#: common/models.py:2217 +#: common/models.py:2228 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2222 +#: common/models.py:2233 msgid "Show expired stock" msgstr "" -#: common/models.py:2223 +#: common/models.py:2234 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2228 +#: common/models.py:2239 msgid "Show stale stock" msgstr "" -#: common/models.py:2229 +#: common/models.py:2240 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2234 +#: common/models.py:2245 msgid "Show pending builds" msgstr "" -#: common/models.py:2235 +#: common/models.py:2246 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2240 +#: common/models.py:2251 msgid "Show overdue builds" msgstr "" -#: common/models.py:2241 +#: common/models.py:2252 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2246 +#: common/models.py:2257 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2247 +#: common/models.py:2258 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2252 +#: common/models.py:2263 msgid "Show overdue POs" msgstr "" -#: common/models.py:2253 +#: common/models.py:2264 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2258 +#: common/models.py:2269 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2259 +#: common/models.py:2270 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2264 +#: common/models.py:2275 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2265 +#: common/models.py:2276 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2270 +#: common/models.py:2281 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2271 +#: common/models.py:2282 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2276 +#: common/models.py:2287 msgid "Show News" msgstr "" -#: common/models.py:2277 +#: common/models.py:2288 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2282 +#: common/models.py:2293 msgid "Inline label display" msgstr "" -#: common/models.py:2284 +#: common/models.py:2295 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2290 +#: common/models.py:2301 msgid "Default label printer" msgstr "" -#: common/models.py:2292 +#: common/models.py:2303 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2298 +#: common/models.py:2309 msgid "Inline report display" msgstr "" -#: common/models.py:2300 +#: common/models.py:2311 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2306 +#: common/models.py:2317 msgid "Search Parts" msgstr "" -#: common/models.py:2307 +#: common/models.py:2318 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2312 +#: common/models.py:2323 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2313 +#: common/models.py:2324 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2318 +#: common/models.py:2329 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2319 +#: common/models.py:2330 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2324 +#: common/models.py:2335 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2325 +#: common/models.py:2336 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2330 +#: common/models.py:2341 msgid "Search Categories" msgstr "" -#: common/models.py:2331 +#: common/models.py:2342 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2336 +#: common/models.py:2347 msgid "Search Stock" msgstr "" -#: common/models.py:2337 +#: common/models.py:2348 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2342 +#: common/models.py:2353 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2344 +#: common/models.py:2355 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2350 +#: common/models.py:2361 msgid "Search Locations" msgstr "" -#: common/models.py:2351 +#: common/models.py:2362 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2356 +#: common/models.py:2367 msgid "Search Companies" msgstr "" -#: common/models.py:2357 +#: common/models.py:2368 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2362 +#: common/models.py:2373 msgid "Search Build Orders" msgstr "" -#: common/models.py:2363 +#: common/models.py:2374 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2368 +#: common/models.py:2379 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2369 +#: common/models.py:2380 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2374 +#: common/models.py:2385 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2376 +#: common/models.py:2387 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2382 +#: common/models.py:2393 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2383 +#: common/models.py:2394 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2388 +#: common/models.py:2399 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2390 +#: common/models.py:2401 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2396 +#: common/models.py:2407 msgid "Search Return Orders" msgstr "" -#: common/models.py:2397 +#: common/models.py:2408 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2402 +#: common/models.py:2413 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2404 +#: common/models.py:2415 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2410 +#: common/models.py:2421 msgid "Search Preview Results" msgstr "" -#: common/models.py:2412 +#: common/models.py:2423 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2418 +#: common/models.py:2429 msgid "Regex Search" msgstr "" -#: common/models.py:2419 +#: common/models.py:2430 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2424 +#: common/models.py:2435 msgid "Whole Word Search" msgstr "" -#: common/models.py:2425 +#: common/models.py:2436 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2430 +#: common/models.py:2441 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2431 +#: common/models.py:2442 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2436 +#: common/models.py:2447 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2437 +#: common/models.py:2448 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2442 +#: common/models.py:2453 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2443 +#: common/models.py:2454 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2448 +#: common/models.py:2459 msgid "Date Format" msgstr "" -#: common/models.py:2449 +#: common/models.py:2460 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2462 part/templates/part/detail.html:41 +#: common/models.py:2473 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2463 +#: common/models.py:2474 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2468 part/templates/part/detail.html:62 +#: common/models.py:2479 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2470 +#: common/models.py:2481 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2476 +#: common/models.py:2487 msgid "Table String Length" msgstr "" -#: common/models.py:2478 +#: common/models.py:2489 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2484 -msgid "Default part label template" -msgstr "" - -#: common/models.py:2485 -msgid "The part label template to be automatically selected" -msgstr "" - -#: common/models.py:2490 -msgid "Default stock item template" -msgstr "" - -#: common/models.py:2492 -msgid "The stock item label template to be automatically selected" -msgstr "" - -#: common/models.py:2498 -msgid "Default stock location label template" -msgstr "" - -#: common/models.py:2500 -msgid "The stock location label template to be automatically selected" -msgstr "" - -#: common/models.py:2506 -msgid "Default build line label template" -msgstr "" - -#: common/models.py:2508 -msgid "The build line label template to be automatically selected" -msgstr "" - -#: common/models.py:2514 +#: common/models.py:2495 msgid "Receive error reports" msgstr "" -#: common/models.py:2515 +#: common/models.py:2496 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2520 +#: common/models.py:2501 msgid "Last used printing machines" msgstr "" -#: common/models.py:2521 +#: common/models.py:2502 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2541 common/models.py:2542 common/models.py:2691 -#: common/models.py:2692 common/models.py:2937 common/models.py:2938 -#: common/models.py:3259 common/models.py:3260 part/models.py:3193 -#: part/models.py:3280 part/models.py:3353 part/models.py:3381 -#: plugin/models.py:274 plugin/models.py:275 +#: common/models.py:2522 common/models.py:2523 common/models.py:2672 +#: common/models.py:2673 common/models.py:2918 common/models.py:2919 +#: common/models.py:3245 common/models.py:3246 importer/models.py:85 +#: part/models.py:3203 part/models.py:3290 part/models.py:3364 +#: part/models.py:3392 plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 msgid "User" msgstr "" -#: common/models.py:2564 +#: common/models.py:2545 msgid "Price break quantity" msgstr "" -#: common/models.py:2571 company/serializers.py:472 order/admin.py:42 -#: order/models.py:1346 order/models.py:2265 -#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1886 +#: common/models.py:2552 company/serializers.py:502 order/admin.py:42 +#: order/models.py:1346 order/models.py:2292 +#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1889 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:740 msgid "Price" msgstr "" -#: common/models.py:2572 +#: common/models.py:2553 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2668 common/models.py:2853 +#: common/models.py:2649 common/models.py:2834 msgid "Endpoint" msgstr "" -#: common/models.py:2669 +#: common/models.py:2650 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2679 +#: common/models.py:2660 msgid "Name for this webhook" msgstr "" -#: common/models.py:2683 +#: common/models.py:2664 msgid "Is this webhook active" msgstr "" -#: common/models.py:2699 users/models.py:159 +#: common/models.py:2680 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2700 +#: common/models.py:2681 msgid "Token for access" msgstr "" -#: common/models.py:2708 +#: common/models.py:2689 msgid "Secret" msgstr "" -#: common/models.py:2709 +#: common/models.py:2690 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2817 +#: common/models.py:2798 msgid "Message ID" msgstr "" -#: common/models.py:2818 +#: common/models.py:2799 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2826 +#: common/models.py:2807 msgid "Host" msgstr "" -#: common/models.py:2827 +#: common/models.py:2808 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2835 +#: common/models.py:2816 msgid "Header" msgstr "" -#: common/models.py:2836 +#: common/models.py:2817 msgid "Header of this message" msgstr "" -#: common/models.py:2843 +#: common/models.py:2824 msgid "Body" msgstr "" -#: common/models.py:2844 +#: common/models.py:2825 msgid "Body of this message" msgstr "" -#: common/models.py:2854 +#: common/models.py:2835 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2859 +#: common/models.py:2840 msgid "Worked on" msgstr "" -#: common/models.py:2860 +#: common/models.py:2841 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2986 +#: common/models.py:2967 msgid "Id" msgstr "" -#: common/models.py:2988 templates/js/translated/company.js:965 +#: common/models.py:2969 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2990 common/models.py:3243 company/models.py:149 -#: company/models.py:440 company/models.py:500 company/models.py:799 -#: order/models.py:303 order/models.py:1301 order/models.py:1717 -#: part/admin.py:55 part/models.py:955 +#: common/models.py:2971 common/models.py:3229 company/models.py:149 +#: company/models.py:446 company/models.py:506 company/models.py:806 +#: order/models.py:303 order/models.py:1301 order/models.py:1733 +#: part/admin.py:55 part/models.py:959 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:229 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/part.js:2459 #: templates/js/translated/purchase_order.js:2040 #: templates/js/translated/purchase_order.js:2204 #: templates/js/translated/return_order.js:779 @@ -3607,28 +3640,28 @@ msgstr "" msgid "Link" msgstr "" -#: common/models.py:2992 templates/js/translated/news.js:60 +#: common/models.py:2973 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2994 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2975 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:2996 templates/js/translated/news.js:52 +#: common/models.py:2977 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2999 +#: common/models.py:2980 msgid "Read" msgstr "" -#: common/models.py:2999 +#: common/models.py:2980 msgid "Was this news item read?" msgstr "" -#: common/models.py:3016 company/models.py:159 part/models.py:965 +#: common/models.py:2997 company/models.py:159 part/models.py:969 #: 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.html:35 @@ -3638,90 +3671,94 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:3016 +#: common/models.py:2997 msgid "Image file" msgstr "" -#: common/models.py:3028 common/models.py:3227 +#: common/models.py:3009 common/models.py:3213 msgid "Target model type for this image" msgstr "" -#: common/models.py:3032 +#: common/models.py:3013 msgid "Target model ID for this image" msgstr "" -#: common/models.py:3070 +#: common/models.py:3035 +msgid "Custom Unit" +msgstr "" + +#: common/models.py:3056 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:3085 +#: common/models.py:3071 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3104 +#: common/models.py:3090 msgid "Unit name" msgstr "" -#: common/models.py:3111 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3097 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3112 +#: common/models.py:3098 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3118 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3104 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3119 +#: common/models.py:3105 msgid "Unit definition" msgstr "" -#: common/models.py:3177 common/models.py:3234 stock/models.py:2461 +#: common/models.py:3163 common/models.py:3220 stock/models.py:2471 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" msgstr "" -#: common/models.py:3189 +#: common/models.py:3175 msgid "Missing file" msgstr "" -#: common/models.py:3190 +#: common/models.py:3176 msgid "Missing external link" msgstr "" -#: common/models.py:3235 +#: common/models.py:3221 msgid "Select file to attach" msgstr "" -#: common/models.py:3250 templates/js/translated/attachment.js:120 +#: common/models.py:3236 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" msgstr "" -#: common/models.py:3251 +#: common/models.py:3237 msgid "Attachment comment" msgstr "" -#: common/models.py:3267 +#: common/models.py:3253 msgid "Upload date" msgstr "" -#: common/models.py:3268 +#: common/models.py:3254 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:3272 +#: common/models.py:3258 msgid "File size" msgstr "" -#: common/models.py:3272 +#: common/models.py:3258 msgid "File size in bytes" msgstr "" -#: common/models.py:3310 common/serializers.py:553 +#: common/models.py:3296 common/serializers.py:557 msgid "Invalid model type specified for attachment" msgstr "" @@ -3743,7 +3780,7 @@ msgstr "" msgid "A order that is assigned to you was canceled" msgstr "" -#: common/notifications.py:330 common/notifications.py:337 order/api.py:472 +#: common/notifications.py:330 common/notifications.py:337 order/api.py:454 msgid "Items Received" msgstr "" @@ -3759,75 +3796,75 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:371 +#: common/serializers.py:375 msgid "Is Running" msgstr "" -#: common/serializers.py:377 +#: common/serializers.py:381 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:383 +#: common/serializers.py:387 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:389 +#: common/serializers.py:393 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:404 +#: common/serializers.py:408 msgid "Task ID" msgstr "" -#: common/serializers.py:404 +#: common/serializers.py:408 msgid "Unique task ID" msgstr "" -#: common/serializers.py:406 +#: common/serializers.py:410 msgid "Lock" msgstr "" -#: common/serializers.py:406 +#: common/serializers.py:410 msgid "Lock time" msgstr "" -#: common/serializers.py:408 +#: common/serializers.py:412 msgid "Task name" msgstr "" -#: common/serializers.py:410 +#: common/serializers.py:414 msgid "Function" msgstr "" -#: common/serializers.py:410 +#: common/serializers.py:414 msgid "Function name" msgstr "" -#: common/serializers.py:412 +#: common/serializers.py:416 msgid "Arguments" msgstr "" -#: common/serializers.py:412 +#: common/serializers.py:416 msgid "Task arguments" msgstr "" -#: common/serializers.py:415 +#: common/serializers.py:419 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:415 +#: common/serializers.py:419 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:525 +#: common/serializers.py:529 msgid "Filename" msgstr "" -#: common/serializers.py:532 report/api.py:100 report/serializers.py:53 +#: common/serializers.py:536 report/api.py:100 report/serializers.py:53 msgid "Model Type" msgstr "" -#: common/serializers.py:559 +#: common/serializers.py:563 msgid "User does not have permission to create or edit attachments for this model" msgstr "" @@ -3894,29 +3931,29 @@ msgstr "" msgid "Previous Step" msgstr "" -#: company/api.py:144 +#: company/api.py:141 msgid "Part is Active" msgstr "" -#: company/api.py:148 +#: company/api.py:145 msgid "Manufacturer is Active" msgstr "" -#: company/api.py:281 +#: company/api.py:278 msgid "Supplier Part is Active" msgstr "" -#: company/api.py:285 +#: company/api.py:282 msgid "Internal Part is Active" msgstr "" -#: company/api.py:289 +#: company/api.py:286 msgid "Supplier is Active" msgstr "" -#: company/models.py:100 company/models.py:365 +#: company/models.py:100 company/models.py:371 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:822 +#: company/templates/company/company_base.html:12 stock/api.py:814 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "" @@ -3956,8 +3993,9 @@ msgstr "" msgid "Contact email address" msgstr "" -#: company/models.py:142 company/templates/company/company_base.html:145 -#: order/models.py:343 order/templates/order/order_base.html:203 +#: company/models.py:142 company/models.py:275 +#: company/templates/company/company_base.html:145 order/models.py:343 +#: order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 #: order/templates/order/sales_order_base.html:218 msgid "Contact" @@ -3976,7 +4014,7 @@ msgid "Is this company active?" msgstr "" #: company/models.py:168 -msgid "is customer" +msgid "Is customer" msgstr "" #: company/models.py:169 @@ -3984,7 +4022,7 @@ msgid "Do you sell items to this company?" msgstr "" #: company/models.py:174 -msgid "is supplier" +msgid "Is supplier" msgstr "" #: company/models.py:175 @@ -3992,7 +4030,7 @@ msgid "Do you purchase items from this company?" msgstr "" #: company/models.py:180 -msgid "is manufacturer" +msgid "Is manufacturer" msgstr "" #: company/models.py:181 @@ -4003,178 +4041,189 @@ msgstr "" msgid "Default currency used for this company" msgstr "" -#: company/models.py:366 +#: company/models.py:314 company/templates/company/company_base.html:124 +#: order/models.py:353 order/templates/order/order_base.html:210 +#: order/templates/order/return_order_base.html:181 +#: order/templates/order/sales_order_base.html:225 +msgid "Address" +msgstr "" + +#: company/models.py:315 company/templates/company/sidebar.html:35 +msgid "Addresses" +msgstr "" + +#: company/models.py:372 msgid "Select company" msgstr "" -#: company/models.py:371 +#: company/models.py:377 msgid "Address title" msgstr "" -#: company/models.py:372 +#: company/models.py:378 msgid "Title describing the address entry" msgstr "" -#: company/models.py:378 +#: company/models.py:384 msgid "Primary address" msgstr "" -#: company/models.py:379 +#: company/models.py:385 msgid "Set as primary address" msgstr "" -#: company/models.py:384 templates/js/translated/company.js:914 +#: company/models.py:390 templates/js/translated/company.js:914 #: templates/js/translated/company.js:971 msgid "Line 1" msgstr "" -#: company/models.py:385 +#: company/models.py:391 msgid "Address line 1" msgstr "" -#: company/models.py:391 templates/js/translated/company.js:915 +#: company/models.py:397 templates/js/translated/company.js:915 #: templates/js/translated/company.js:977 msgid "Line 2" msgstr "" -#: company/models.py:392 +#: company/models.py:398 msgid "Address line 2" msgstr "" -#: company/models.py:398 company/models.py:399 +#: company/models.py:404 company/models.py:405 #: templates/js/translated/company.js:983 msgid "Postal code" msgstr "" -#: company/models.py:405 +#: company/models.py:411 msgid "City/Region" msgstr "" -#: company/models.py:406 +#: company/models.py:412 msgid "Postal code city/region" msgstr "" -#: company/models.py:412 +#: company/models.py:418 msgid "State/Province" msgstr "" -#: company/models.py:413 +#: company/models.py:419 msgid "State or province" msgstr "" -#: company/models.py:419 templates/js/translated/company.js:1001 +#: company/models.py:425 templates/js/translated/company.js:1001 msgid "Country" msgstr "" -#: company/models.py:420 +#: company/models.py:426 msgid "Address country" msgstr "" -#: company/models.py:426 +#: company/models.py:432 msgid "Courier shipping notes" msgstr "" -#: company/models.py:427 +#: company/models.py:433 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:433 +#: company/models.py:439 msgid "Internal shipping notes" msgstr "" -#: company/models.py:434 +#: company/models.py:440 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:441 +#: company/models.py:447 msgid "Link to address information (external)" msgstr "" -#: company/models.py:463 company/models.py:574 company/models.py:792 +#: company/models.py:469 company/models.py:581 company/models.py:799 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:217 msgid "Manufacturer Part" msgstr "" -#: company/models.py:475 company/models.py:760 stock/models.py:767 -#: stock/serializers.py:422 stock/templates/stock/item_base.html:142 +#: company/models.py:481 company/models.py:767 stock/models.py:767 +#: stock/serializers.py:442 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" -#: company/models.py:477 company/models.py:762 +#: company/models.py:483 company/models.py:769 msgid "Select part" msgstr "" -#: company/models.py:486 company/templates/company/company_base.html:82 +#: company/models.py:492 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:525 +#: company/templates/company/supplier_part.html:145 part/serializers.py:543 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 #: templates/js/translated/company.js:1296 #: templates/js/translated/company.js:1611 -#: templates/js/translated/table_filters.js:800 +#: templates/js/translated/table_filters.js:805 msgid "Manufacturer" msgstr "" -#: company/models.py:487 +#: company/models.py:493 msgid "Select manufacturer" msgstr "" -#: company/models.py:493 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:535 -#: templates/js/translated/company.js:351 +#: company/models.py:499 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:153 order/serializers.py:518 +#: part/serializers.py:553 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:1801 +#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1804 #: templates/js/translated/purchase_order.js:1851 #: templates/js/translated/purchase_order.js:2053 msgid "MPN" msgstr "" -#: company/models.py:494 -msgid "Manufacturer Part Number" -msgstr "" - -#: company/models.py:501 +#: company/models.py:507 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:510 +#: company/models.py:516 msgid "Manufacturer part description" msgstr "" -#: company/models.py:581 +#: company/models.py:569 +msgid "Manufacturer Part Parameter" +msgstr "" + +#: company/models.py:588 msgid "Parameter name" msgstr "" -#: company/models.py:587 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2453 templates/js/translated/company.js:1166 -#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1493 +#: company/models.py:594 report/templates/report/inventree_test_report.html:104 +#: stock/models.py:2463 templates/js/translated/company.js:1166 +#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1496 #: templates/js/translated/stock.js:1522 msgid "Value" msgstr "" -#: company/models.py:588 +#: company/models.py:595 msgid "Parameter value" msgstr "" -#: company/models.py:595 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1045 part/models.py:3646 +#: company/models.py:602 company/templates/company/supplier_part.html:168 +#: part/admin.py:57 part/models.py:1049 part/models.py:3667 #: part/templates/part/part_base.html:284 -#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1512 -#: templates/js/translated/part.js:1616 templates/js/translated/part.js:2370 +#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1515 +#: templates/js/translated/part.js:1619 templates/js/translated/part.js:2373 msgid "Units" msgstr "" -#: company/models.py:596 +#: company/models.py:603 msgid "Parameter units" msgstr "" -#: company/models.py:648 company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 order/api.py:452 +#: company/models.py:655 company/templates/company/supplier_part.html:7 +#: company/templates/company/supplier_part.html:24 order/api.py:434 #: stock/models.py:778 stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 @@ -4182,91 +4231,91 @@ msgstr "" msgid "Supplier Part" msgstr "" -#: company/models.py:700 +#: company/models.py:707 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:707 +#: company/models.py:714 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:721 +#: company/models.py:728 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:770 company/templates/company/company_base.html:87 +#: company/models.py:777 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:509 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:527 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 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:511 -#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1769 +#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1772 #: templates/js/translated/pricing.js:498 #: templates/js/translated/purchase_order.js:1689 -#: templates/js/translated/table_filters.js:804 +#: templates/js/translated/table_filters.js:809 msgid "Supplier" msgstr "" -#: company/models.py:771 +#: company/models.py:778 msgid "Select supplier" msgstr "" -#: company/models.py:777 part/serializers.py:520 +#: company/models.py:784 part/serializers.py:538 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:783 +#: company/models.py:790 msgid "Is this supplier part active?" msgstr "" -#: company/models.py:793 +#: company/models.py:800 msgid "Select manufacturer part" msgstr "" -#: company/models.py:800 +#: company/models.py:807 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:809 +#: company/models.py:816 msgid "Supplier part description" msgstr "" -#: company/models.py:816 company/templates/company/supplier_part.html:187 -#: part/admin.py:412 part/models.py:4093 part/templates/part/upload_bom.html:59 +#: company/models.py:823 company/templates/company/supplier_part.html:187 +#: part/admin.py:412 part/models.py:4178 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: 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:710 +#: stock/serializers.py:768 msgid "Note" msgstr "" -#: company/models.py:825 part/models.py:2003 +#: company/models.py:832 part/models.py:2013 msgid "base cost" msgstr "" -#: company/models.py:826 part/models.py:2004 +#: company/models.py:833 part/models.py:2014 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:833 company/templates/company/supplier_part.html:160 -#: stock/admin.py:228 stock/models.py:798 stock/serializers.py:1475 +#: company/models.py:840 company/templates/company/supplier_part.html:160 +#: stock/admin.py:228 stock/models.py:798 stock/serializers.py:1541 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 msgid "Packaging" msgstr "" -#: company/models.py:834 +#: company/models.py:841 msgid "Part packaging" msgstr "" -#: company/models.py:839 templates/js/translated/company.js:1651 -#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 +#: company/models.py:846 templates/js/translated/company.js:1651 +#: templates/js/translated/part.js:1825 templates/js/translated/part.js:1881 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 #: templates/js/translated/purchase_order.js:1103 @@ -4275,35 +4324,43 @@ msgstr "" msgid "Pack Quantity" msgstr "" -#: company/models.py:841 +#: company/models.py:848 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:860 part/models.py:2010 +#: company/models.py:867 part/models.py:2020 msgid "multiple" msgstr "" -#: company/models.py:861 +#: company/models.py:868 msgid "Order multiple" msgstr "" -#: company/models.py:873 +#: company/models.py:880 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:879 +#: company/models.py:886 msgid "Availability Updated" msgstr "" -#: company/models.py:880 +#: company/models.py:887 msgid "Date of last update of availability data" msgstr "" -#: company/serializers.py:161 +#: company/models.py:1015 +msgid "Supplier Price Break" +msgstr "" + +#: company/serializers.py:174 msgid "Default currency used for this supplier" msgstr "" -#: company/serializers.py:357 part/admin.py:126 +#: company/serializers.py:210 +msgid "Company Name" +msgstr "" + +#: company/serializers.py:384 part/admin.py:126 part/serializers.py:855 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:355 @@ -4315,7 +4372,7 @@ msgstr "" #: templates/js/translated/company.js:1287 #: templates/js/translated/company.js:1575 #: templates/js/translated/model_renderers.js:312 -#: templates/js/translated/part.js:815 templates/js/translated/part.js:1219 +#: templates/js/translated/part.js:814 templates/js/translated/part.js:1222 msgid "Inactive" msgstr "" @@ -4374,16 +4431,16 @@ msgid "Delete image" msgstr "" #: company/templates/company/company_base.html:92 order/models.py:938 -#: order/models.py:2032 order/templates/order/return_order_base.html:131 +#: order/models.py:2058 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:148 stock/models.py:820 -#: stock/models.py:821 stock/serializers.py:1225 +#: stock/models.py:821 stock/serializers.py:1291 #: 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:295 #: templates/js/translated/sales_order.js:820 #: templates/js/translated/stock.js:2959 -#: templates/js/translated/table_filters.js:808 +#: templates/js/translated/table_filters.js:813 msgid "Customer" msgstr "" @@ -4391,13 +4448,6 @@ msgstr "" msgid "Uses default currency" msgstr "" -#: company/templates/company/company_base.html:124 order/models.py:353 -#: order/templates/order/order_base.html:210 -#: order/templates/order/return_order_base.html:181 -#: order/templates/order/sales_order_base.html:225 -msgid "Address" -msgstr "" - #: company/templates/company/company_base.html:131 msgid "Phone" msgstr "" @@ -4577,7 +4627,8 @@ msgid "Delete manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:65 -#: company/templates/company/supplier_part.html:97 order/api.py:458 +#: company/templates/company/supplier_part.html:97 order/api.py:440 +#: order/serializers.py:526 msgid "Internal Part" msgstr "" @@ -4587,7 +4638,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:832 +#: part/admin.py:122 part/serializers.py:860 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4608,7 +4659,7 @@ msgid "New Parameter" msgstr "" #: company/templates/company/manufacturer_part.html:196 -#: templates/js/translated/part.js:1423 +#: templates/js/translated/part.js:1426 msgid "Add Parameter" msgstr "" @@ -4632,10 +4683,6 @@ msgstr "" msgid "Contacts" msgstr "" -#: company/templates/company/sidebar.html:35 -msgid "Addresses" -msgstr "" - #: company/templates/company/supplier_part.html:50 #: templates/js/translated/company.js:1526 msgid "Supplier part actions" @@ -4648,127 +4695,283 @@ msgstr "" msgid "Order Part" msgstr "" -#: company/templates/company/supplier_part.html:60 -#: company/templates/company/supplier_part.html:61 -msgid "Update Availability" +#: company/templates/company/supplier_part.html:60 +#: company/templates/company/supplier_part.html:61 +msgid "Update Availability" +msgstr "" + +#: company/templates/company/supplier_part.html:63 +#: company/templates/company/supplier_part.html:64 +#: templates/js/translated/company.js:294 +msgid "Edit Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:68 +#: company/templates/company/supplier_part.html:69 +#: templates/js/translated/company.js:269 +msgid "Duplicate Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:73 +msgid "Delete Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:74 +msgid "Delete Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:133 +msgid "No supplier information available" +msgstr "" + +#: company/templates/company/supplier_part.html:139 order/serializers.py:515 +#: part/bom.py:279 part/bom.py:311 part/serializers.py:537 +#: templates/js/translated/company.js:349 templates/js/translated/part.js:1790 +#: templates/js/translated/pricing.js:510 +#: templates/js/translated/purchase_order.js:1850 +#: templates/js/translated/purchase_order.js:2028 +msgid "SKU" +msgstr "" + +#: company/templates/company/supplier_part.html:206 +msgid "Supplier Part Stock" +msgstr "" + +#: company/templates/company/supplier_part.html:209 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:207 +msgid "Create new stock item" +msgstr "" + +#: company/templates/company/supplier_part.html:210 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:208 +#: templates/js/translated/stock.js:537 +msgid "New Stock Item" +msgstr "" + +#: company/templates/company/supplier_part.html:223 +msgid "Supplier Part Orders" +msgstr "" + +#: company/templates/company/supplier_part.html:246 +msgid "Pricing Information" +msgstr "" + +#: company/templates/company/supplier_part.html:251 +#: templates/js/translated/company.js:398 +#: templates/js/translated/pricing.js:684 +msgid "Add Price Break" +msgstr "" + +#: company/templates/company/supplier_part.html:276 +msgid "Supplier Part QR Code" +msgstr "" + +#: company/templates/company/supplier_part.html:287 +msgid "Link Barcode to Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:359 +msgid "Update Part Availability" +msgstr "" + +#: company/templates/company/supplier_part_sidebar.html:5 +#: part/serializers.py:859 part/stocktake.py:224 +#: part/templates/part/category.html:183 +#: part/templates/part/category_sidebar.html:17 stock/admin.py:68 +#: stock/serializers.py:976 stock/serializers.py:1154 +#: stock/templates/stock/location.html:170 +#: 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:1064 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 +#: users/models.py:206 +msgid "Stock Items" +msgstr "" + +#: company/templates/company/supplier_part_sidebar.html:9 +msgid "Supplier Part Pricing" +msgstr "" + +#: company/views.py:32 +msgid "New Supplier" +msgstr "" + +#: company/views.py:38 +msgid "New Manufacturer" +msgstr "" + +#: company/views.py:43 templates/InvenTree/search.html:210 +#: templates/navbar.html:60 +msgid "Customers" +msgstr "" + +#: company/views.py:44 +msgid "New Customer" +msgstr "" + +#: company/views.py:52 +msgid "New Company" +msgstr "" + +#: generic/states/tests.py:18 order/status_codes.py:13 +msgid "Placed" +msgstr "" + +#: importer/mixins.py:263 +msgid "Invalid export format" +msgstr "" + +#: importer/models.py:56 +msgid "Timestamp" +msgstr "" + +#: importer/models.py:61 +msgid "Data file to import" +msgstr "" + +#: importer/models.py:70 templates/js/translated/tables.js:558 +msgid "Columns" +msgstr "" + +#: importer/models.py:81 +msgid "Import status" +msgstr "" + +#: importer/models.py:91 +msgid "Field Defaults" +msgstr "" + +#: importer/models.py:201 +msgid "Some required fields have not been mapped" +msgstr "" + +#: importer/models.py:346 +msgid "Column is already mapped to a database field" +msgstr "" + +#: importer/models.py:351 +msgid "Field is already mapped to a data column" +msgstr "" + +#: importer/models.py:360 +msgid "Column mapping must be linked to a valid import session" +msgstr "" + +#: importer/models.py:365 +msgid "Column does not exist in the data file" +msgstr "" + +#: importer/models.py:372 +msgid "Field does not exist in the target model" +msgstr "" + +#: importer/models.py:376 +msgid "Selected field is read-only" +msgstr "" + +#: importer/models.py:381 importer/models.py:452 +msgid "Import Session" +msgstr "" + +#: importer/models.py:385 +msgid "Field" msgstr "" -#: company/templates/company/supplier_part.html:63 -#: company/templates/company/supplier_part.html:64 -#: templates/js/translated/company.js:294 -msgid "Edit Supplier Part" +#: importer/models.py:387 +msgid "Column" msgstr "" -#: company/templates/company/supplier_part.html:68 -#: company/templates/company/supplier_part.html:69 -#: templates/js/translated/company.js:269 -msgid "Duplicate Supplier Part" +#: importer/models.py:456 +msgid "Row Index" msgstr "" -#: company/templates/company/supplier_part.html:73 -msgid "Delete Supplier Part" +#: importer/models.py:459 +msgid "Original row data" msgstr "" -#: company/templates/company/supplier_part.html:74 -msgid "Delete Supplier Part" +#: importer/models.py:462 part/models.py:3841 +msgid "Data" msgstr "" -#: company/templates/company/supplier_part.html:133 -msgid "No supplier information available" +#: importer/models.py:464 machine/models.py:110 +msgid "Errors" msgstr "" -#: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:519 -#: templates/js/translated/company.js:349 templates/js/translated/part.js:1787 -#: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1850 -#: templates/js/translated/purchase_order.js:2028 -msgid "SKU" +#: importer/models.py:466 part/api.py:874 +msgid "Valid" msgstr "" -#: company/templates/company/supplier_part.html:206 -msgid "Supplier Part Stock" +#: importer/operations.py:28 importer/operations.py:49 +msgid "Unsupported data file format" msgstr "" -#: company/templates/company/supplier_part.html:209 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:207 -msgid "Create new stock item" +#: importer/operations.py:40 +msgid "Failed to open data file" msgstr "" -#: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:208 -#: templates/js/translated/stock.js:537 -msgid "New Stock Item" +#: importer/operations.py:51 +msgid "Invalid data file dimensions" msgstr "" -#: company/templates/company/supplier_part.html:223 -msgid "Supplier Part Orders" +#: importer/serializers.py:135 +msgid "Rows" msgstr "" -#: company/templates/company/supplier_part.html:246 -msgid "Pricing Information" +#: importer/serializers.py:136 +msgid "List of row IDs to accept" msgstr "" -#: company/templates/company/supplier_part.html:251 -#: templates/js/translated/company.js:398 -#: templates/js/translated/pricing.js:684 -msgid "Add Price Break" +#: importer/serializers.py:149 +msgid "No rows provided" msgstr "" -#: company/templates/company/supplier_part.html:276 -msgid "Supplier Part QR Code" +#: importer/serializers.py:153 +msgid "Row does not belong to this session" msgstr "" -#: company/templates/company/supplier_part.html:287 -msgid "Link Barcode to Supplier Part" +#: importer/serializers.py:156 +msgid "Row contains invalid data" msgstr "" -#: company/templates/company/supplier_part.html:359 -msgid "Update Part Availability" +#: importer/serializers.py:159 +msgid "Row has already been completed" msgstr "" -#: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:831 part/stocktake.py:224 -#: part/templates/part/category.html:183 -#: part/templates/part/category_sidebar.html:17 stock/admin.py:68 -#: stock/serializers.py:918 stock/serializers.py:1091 -#: stock/templates/stock/location.html:170 -#: 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:1061 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 -#: users/models.py:206 -msgid "Stock Items" +#: importer/status_codes.py:11 +msgid "Initializing" msgstr "" -#: company/templates/company/supplier_part_sidebar.html:9 -msgid "Supplier Part Pricing" +#: importer/status_codes.py:12 +msgid "Mapping Columns" msgstr "" -#: company/views.py:32 -msgid "New Supplier" +#: importer/status_codes.py:13 +msgid "Importing Data" msgstr "" -#: company/views.py:38 -msgid "New Manufacturer" +#: importer/status_codes.py:16 +msgid "Processing Data" msgstr "" -#: company/views.py:43 templates/InvenTree/search.html:210 -#: templates/navbar.html:60 -msgid "Customers" +#: importer/validators.py:21 +msgid "Data file exceeds maximum size limit" msgstr "" -#: company/views.py:44 -msgid "New Customer" +#: importer/validators.py:26 +msgid "Data file contains no headers" msgstr "" -#: company/views.py:52 -msgid "New Company" +#: importer/validators.py:29 +msgid "Data file contains too many columns" msgstr "" -#: generic/states/tests.py:18 order/status_codes.py:13 -msgid "Placed" +#: importer/validators.py:32 +msgid "Data file contains too many rows" +msgstr "" + +#: importer/validators.py:49 +msgid "Value must be a valid dictionary object" msgstr "" #: machine/machine_types/label_printer.py:212 @@ -4783,7 +4986,7 @@ msgstr "" msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:229 order/api.py:1467 +#: machine/machine_types/label_printer.py:229 order/api.py:1388 #: templates/js/translated/sales_order.js:1078 msgid "Unknown" msgstr "" @@ -4852,10 +5055,6 @@ msgstr "" msgid "Initialized" msgstr "" -#: machine/models.py:110 -msgid "Errors" -msgstr "" - #: machine/models.py:117 msgid "Machine status" msgstr "" @@ -4881,44 +5080,44 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:157 order/serializers.py:90 +#: order/api.py:149 order/serializers.py:94 #: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:113 #: order/templates/order/sales_order_base.html:122 msgid "Order Status" msgstr "" -#: order/api.py:161 templates/js/translated/table_filters.js:194 -#: templates/js/translated/table_filters.js:779 +#: order/api.py:153 templates/js/translated/table_filters.js:194 +#: templates/js/translated/table_filters.js:784 msgid "Has Pricing" msgstr "" -#: order/api.py:236 +#: order/api.py:228 msgid "No matching purchase order found" msgstr "" -#: order/api.py:435 order/api.py:801 order/models.py:1395 order/models.py:1504 -#: order/models.py:1550 order/models.py:1664 order/models.py:1818 -#: order/models.py:2231 order/models.py:2282 +#: order/api.py:417 order/api.py:755 order/models.py:1400 order/models.py:1514 +#: order/models.py:1565 order/models.py:1680 order/models.py:1839 +#: order/models.py:2258 order/models.py:2314 #: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "" -#: order/api.py:439 order/api.py:822 +#: order/api.py:421 order/api.py:776 msgid "Order Complete" msgstr "" -#: order/api.py:462 +#: order/api.py:444 msgid "Order Pending" msgstr "" -#: order/api.py:1461 order/models.py:380 order/models.py:1396 -#: order/models.py:1505 order/templates/order/order_base.html:9 +#: order/api.py:1382 order/models.py:380 order/models.py:1401 +#: order/models.py:1515 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 -#: stock/serializers.py:118 stock/templates/stock/item_base.html:176 +#: stock/serializers.py:120 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/part.js:1746 templates/js/translated/pricing.js:804 +#: templates/js/translated/part.js:1749 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:1673 @@ -4926,8 +5125,8 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1465 order/models.py:1981 order/models.py:2232 -#: order/models.py:2283 order/templates/order/return_order_base.html:9 +#: order/api.py:1386 order/models.py:2007 order/models.py:2259 +#: order/models.py:2315 order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report.html:13 #: templates/js/translated/return_order.js:280 @@ -4939,11 +5138,11 @@ msgstr "" msgid "Total price for this order" msgstr "" -#: order/models.py:96 order/serializers.py:70 +#: order/models.py:96 order/serializers.py:72 msgid "Order Currency" msgstr "" -#: order/models.py:99 order/serializers.py:71 +#: order/models.py:99 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" @@ -4959,7 +5158,7 @@ msgstr "" msgid "Select project code for this order" msgstr "" -#: order/models.py:303 order/models.py:1301 order/models.py:1717 +#: order/models.py:303 order/models.py:1301 order/models.py:1733 msgid "Link to external page" msgstr "" @@ -5008,15 +5207,15 @@ msgstr "" msgid "received by" msgstr "" -#: order/models.py:514 order/models.py:2058 +#: order/models.py:514 order/models.py:2084 msgid "Issue Date" msgstr "" -#: order/models.py:515 order/models.py:2059 +#: order/models.py:515 order/models.py:2085 msgid "Date order was issued" msgstr "" -#: order/models.py:522 order/models.py:2066 +#: order/models.py:522 order/models.py:2092 msgid "Date order was completed" msgstr "" @@ -5032,15 +5231,15 @@ msgstr "" msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:962 order/models.py:2051 +#: order/models.py:962 order/models.py:2077 msgid "Customer Reference " msgstr "" -#: order/models.py:963 order/models.py:2052 +#: order/models.py:963 order/models.py:2078 msgid "Customer order reference code" msgstr "" -#: order/models.py:967 order/models.py:1671 +#: order/models.py:967 order/models.py:1687 #: templates/js/translated/sales_order.js:879 #: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" @@ -5102,20 +5301,24 @@ msgstr "" msgid "Unit price" msgstr "" -#: order/models.py:1380 +#: order/models.py:1361 +msgid "Purchase Order Line Item" +msgstr "" + +#: order/models.py:1385 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1387 +#: order/models.py:1392 msgid "deleted" msgstr "" -#: order/models.py:1415 +#: order/models.py:1420 msgid "Supplier part" msgstr "" -#: order/models.py:1422 order/templates/order/order_base.html:196 -#: templates/js/translated/part.js:1870 templates/js/translated/part.js:1902 +#: order/models.py:1427 order/templates/order/order_base.html:196 +#: templates/js/translated/part.js:1873 templates/js/translated/part.js:1905 #: templates/js/translated/purchase_order.js:1306 #: templates/js/translated/purchase_order.js:2169 #: templates/js/translated/return_order.js:763 @@ -5124,196 +5327,224 @@ msgstr "" msgid "Received" msgstr "" -#: order/models.py:1423 +#: order/models.py:1428 msgid "Number of items received" msgstr "" -#: order/models.py:1431 stock/models.py:939 stock/serializers.py:556 +#: order/models.py:1436 stock/models.py:939 stock/serializers.py:602 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2311 msgid "Purchase Price" msgstr "" -#: order/models.py:1432 +#: order/models.py:1437 msgid "Unit purchase price" msgstr "" -#: order/models.py:1447 +#: order/models.py:1452 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1538 +#: order/models.py:1503 +msgid "Purchase Order Extra Line" +msgstr "" + +#: order/models.py:1532 +msgid "Sales Order Line Item" +msgstr "" + +#: order/models.py:1553 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1543 +#: order/models.py:1558 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1569 part/templates/part/part_pricing.html:107 +#: order/models.py:1584 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:1570 +#: order/models.py:1585 msgid "Unit sale price" msgstr "" -#: order/models.py:1579 order/status_codes.py:43 +#: order/models.py:1594 order/status_codes.py:43 #: templates/js/translated/sales_order.js:1559 #: templates/js/translated/sales_order.js:1680 #: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "" -#: order/models.py:1580 +#: order/models.py:1595 msgid "Shipped quantity" msgstr "" -#: order/models.py:1672 +#: order/models.py:1667 +msgid "Sales Order Shipment" +msgstr "" + +#: order/models.py:1688 msgid "Date of shipment" msgstr "" -#: order/models.py:1678 templates/js/translated/sales_order.js:1072 +#: order/models.py:1694 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "" -#: order/models.py:1679 +#: order/models.py:1695 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1687 +#: order/models.py:1703 msgid "Checked By" msgstr "" -#: order/models.py:1688 +#: order/models.py:1704 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1695 order/models.py:1908 order/serializers.py:1342 -#: order/serializers.py:1452 templates/js/translated/model_renderers.js:454 +#: order/models.py:1711 order/models.py:1934 order/serializers.py:1398 +#: order/serializers.py:1508 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "" -#: order/models.py:1696 +#: order/models.py:1712 msgid "Shipment number" msgstr "" -#: order/models.py:1704 +#: order/models.py:1720 msgid "Tracking Number" msgstr "" -#: order/models.py:1705 +#: order/models.py:1721 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1712 +#: order/models.py:1728 msgid "Invoice Number" msgstr "" -#: order/models.py:1713 +#: order/models.py:1729 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1733 +#: order/models.py:1749 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1736 +#: order/models.py:1752 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1854 order/models.py:1856 +#: order/models.py:1828 +msgid "Sales Order Extra Line" +msgstr "" + +#: order/models.py:1857 +msgid "Sales Order Allocation" +msgstr "" + +#: order/models.py:1880 order/models.py:1882 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1863 +#: order/models.py:1889 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1866 +#: order/models.py:1892 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1869 +#: order/models.py:1895 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1888 order/serializers.py:1219 +#: order/models.py:1914 order/serializers.py:1275 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1891 +#: order/models.py:1917 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1892 plugin/base/barcodes/api.py:481 +#: order/models.py:1918 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1900 +#: order/models.py:1926 msgid "Line" msgstr "" -#: order/models.py:1909 +#: order/models.py:1935 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1922 order/models.py:2239 +#: order/models.py:1948 order/models.py:2266 #: templates/js/translated/return_order.js:721 msgid "Item" msgstr "" -#: order/models.py:1923 +#: order/models.py:1949 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1932 +#: order/models.py:1958 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2021 +#: order/models.py:2047 msgid "Return Order reference" msgstr "" -#: order/models.py:2033 +#: order/models.py:2059 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2045 +#: order/models.py:2071 msgid "Return order status" msgstr "" -#: order/models.py:2224 +#: order/models.py:2237 +msgid "Return Order Line Item" +msgstr "" + +#: order/models.py:2251 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2240 +#: order/models.py:2267 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2246 +#: order/models.py:2273 msgid "Received Date" msgstr "" -#: order/models.py:2247 +#: order/models.py:2274 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2258 templates/js/translated/return_order.js:732 +#: order/models.py:2285 templates/js/translated/return_order.js:732 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2259 +#: order/models.py:2286 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2266 +#: order/models.py:2293 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:79 order/templates/order/po_sidebar.html:5 +#: order/models.py:2303 +msgid "Return Order Extra Line" +msgstr "" + +#: order/serializers.py:83 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_purchase_order_report.html:22 @@ -5322,163 +5553,171 @@ msgstr "" msgid "Line Items" msgstr "" -#: order/serializers.py:83 +#: order/serializers.py:87 msgid "Completed Lines" msgstr "" -#: order/serializers.py:286 +#: order/serializers.py:305 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:301 order/serializers.py:1235 +#: order/serializers.py:320 order/serializers.py:1291 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:311 order/serializers.py:1245 +#: order/serializers.py:330 order/serializers.py:1301 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:439 +#: order/serializers.py:468 msgid "Order is not open" msgstr "" -#: order/serializers.py:460 +#: order/serializers.py:489 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:462 +#: order/serializers.py:491 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:472 +#: order/serializers.py:501 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:478 +#: order/serializers.py:507 msgid "Merge Items" msgstr "" -#: order/serializers.py:480 +#: order/serializers.py:509 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:498 +#: order/serializers.py:522 part/models.py:945 +msgid "Internal Part Number" +msgstr "" + +#: order/serializers.py:530 +msgid "Internal Part Name" +msgstr "" + +#: order/serializers.py:546 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:501 +#: order/serializers.py:549 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:509 +#: order/serializers.py:557 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:510 +#: order/serializers.py:558 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:549 order/serializers.py:1313 +#: order/serializers.py:598 order/serializers.py:1369 msgid "Line Item" msgstr "" -#: order/serializers.py:555 +#: order/serializers.py:604 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:565 order/serializers.py:673 order/serializers.py:1657 +#: order/serializers.py:614 order/serializers.py:722 order/serializers.py:1715 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:581 templates/js/translated/purchase_order.js:1130 +#: order/serializers.py:630 templates/js/translated/purchase_order.js:1130 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:589 templates/js/translated/purchase_order.js:1154 +#: order/serializers.py:638 templates/js/translated/purchase_order.js:1154 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:600 templates/js/translated/barcode.js:52 +#: order/serializers.py:649 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:601 +#: order/serializers.py:650 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:617 +#: order/serializers.py:666 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:641 +#: order/serializers.py:690 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:689 order/serializers.py:1673 +#: order/serializers.py:738 order/serializers.py:1731 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:705 +#: order/serializers.py:754 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:716 +#: order/serializers.py:765 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1062 +#: order/serializers.py:1117 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1122 +#: order/serializers.py:1178 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1183 order/serializers.py:1322 +#: order/serializers.py:1239 order/serializers.py:1378 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1202 +#: order/serializers.py:1258 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1332 +#: order/serializers.py:1388 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1354 order/serializers.py:1460 +#: order/serializers.py:1410 order/serializers.py:1516 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1357 order/serializers.py:1463 +#: order/serializers.py:1413 order/serializers.py:1519 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1404 +#: order/serializers.py:1460 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1411 +#: order/serializers.py:1467 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1627 +#: order/serializers.py:1685 msgid "Return order line item" msgstr "" -#: order/serializers.py:1633 +#: order/serializers.py:1691 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1636 +#: order/serializers.py:1694 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1665 +#: order/serializers.py:1723 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1743 +#: order/serializers.py:1806 msgid "Line price currency" msgstr "" @@ -5808,7 +6047,7 @@ msgstr "" #: 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:1073 +#: templates/js/translated/part.js:1076 #: templates/js/translated/purchase_order.js:1752 #: templates/js/translated/return_order.js:380 #: templates/js/translated/sales_order.js:891 @@ -5904,34 +6143,29 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:398 part/models.py:3944 part/stocktake.py:219 +#: part/admin.py:39 part/admin.py:398 part/models.py:3991 part/stocktake.py:219 #: stock/admin.py:152 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:405 part/models.py:3945 part/stocktake.py:220 -#: stock/admin.py:156 -msgid "Part Name" -msgstr "" - #: part/admin.py:45 part/stocktake.py:221 msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:940 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:944 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 -#: templates/js/translated/part.js:1227 templates/js/translated/part.js:2341 +#: templates/js/translated/part.js:1230 templates/js/translated/part.js:2344 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:949 part/templates/part/part_base.html:277 -#: report/models.py:162 templates/js/translated/part.js:1232 -#: templates/js/translated/part.js:2347 +#: part/admin.py:50 part/models.py:953 part/templates/part/part_base.html:277 +#: report/models.py:162 templates/js/translated/part.js:1235 +#: templates/js/translated/part.js:2350 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:319 part/models.py:922 +#: part/admin.py:53 part/admin.py:319 part/models.py:926 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5944,7 +6178,8 @@ msgstr "" msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:304 part/stocktake.py:223 +#: part/admin.py:67 part/admin.py:304 part/serializers.py:837 +#: part/stocktake.py:223 msgid "Category Name" msgstr "" @@ -5956,11 +6191,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:908 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:912 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1036 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1040 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5968,18 +6203,19 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:150 part/templates/part/part_base.html:241 stock/admin.py:235 -#: templates/js/translated/part.js:715 templates/js/translated/part.js:2153 +#: part/admin.py:150 part/serializers.py:854 +#: part/templates/part/part_base.html:241 stock/admin.py:235 +#: templates/js/translated/part.js:714 templates/js/translated/part.js:2156 msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3088 part/models.py:3102 -#: templates/js/translated/part.js:970 +#: part/admin.py:155 part/models.py:3098 part/models.py:3112 +#: templates/js/translated/part.js:973 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3095 part/models.py:3109 -#: templates/js/translated/part.js:980 +#: part/admin.py:158 part/models.py:3105 part/models.py:3119 +#: templates/js/translated/part.js:983 msgid "Maximum Cost" msgstr "" @@ -5996,14 +6232,14 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:396 part/serializers.py:124 -#: part/serializers.py:267 part/serializers.py:386 +#: part/admin.py:325 part/models.py:397 part/serializers.py:130 +#: part/serializers.py:282 part/serializers.py:404 #: 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:2807 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:203 msgid "Parts" msgstr "" @@ -6020,125 +6256,117 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:402 part/models.py:3946 -msgid "Part IPN" -msgstr "" - -#: part/admin.py:415 part/serializers.py:1274 +#: part/admin.py:415 part/serializers.py:1302 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:420 part/serializers.py:1289 +#: part/admin.py:420 part/serializers.py:1317 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "" -#: part/api.py:104 +#: part/api.py:105 msgid "Starred" msgstr "" -#: part/api.py:106 +#: part/api.py:107 msgid "Filter by starred categories" msgstr "" -#: part/api.py:123 stock/api.py:312 +#: part/api.py:124 stock/api.py:312 msgid "Depth" msgstr "" -#: part/api.py:123 +#: part/api.py:124 msgid "Filter by category depth" msgstr "" -#: part/api.py:141 stock/api.py:330 +#: part/api.py:142 stock/api.py:330 msgid "Top Level" msgstr "" -#: part/api.py:143 +#: part/api.py:144 msgid "Filter by top-level categories" msgstr "" -#: part/api.py:156 stock/api.py:345 +#: part/api.py:157 stock/api.py:345 msgid "Cascade" msgstr "" -#: part/api.py:158 +#: part/api.py:159 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:179 templates/js/translated/part.js:308 +#: part/api.py:180 templates/js/translated/part.js:307 msgid "Parent" msgstr "" -#: part/api.py:181 +#: part/api.py:182 msgid "Filter by parent category" msgstr "" -#: part/api.py:214 +#: part/api.py:215 msgid "Exclude Tree" msgstr "" -#: part/api.py:216 +#: part/api.py:217 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:449 +#: part/api.py:442 msgid "Has Results" msgstr "" -#: part/api.py:616 +#: part/api.py:609 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:634 +#: part/api.py:627 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:650 +#: part/api.py:643 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:734 +#: part/api.py:727 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:881 -msgid "Valid" -msgstr "" - -#: part/api.py:882 +#: part/api.py:875 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:888 +#: part/api.py:881 msgid "This option must be selected" msgstr "" -#: part/api.py:1105 +#: part/api.py:1098 msgid "BOM Valid" msgstr "" -#: part/api.py:1508 part/models.py:932 part/models.py:3374 part/models.py:3889 -#: part/serializers.py:401 part/serializers.py:1130 -#: part/templates/part/part_base.html:260 stock/api.py:791 +#: part/api.py:1494 part/models.py:936 part/models.py:3385 part/models.py:3936 +#: part/serializers.py:419 part/serializers.py:1158 +#: part/templates/part/part_base.html:260 stock/api.py:783 #: 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:2380 msgid "Category" msgstr "" -#: part/api.py:1796 +#: part/api.py:1784 msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:104 part/models.py:975 +#: part/bom.py:170 part/models.py:104 part/models.py:979 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:833 +#: part/bom.py:171 part/serializers.py:861 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6147,7 +6375,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:85 part/models.py:3890 part/templates/part/category.html:16 +#: part/models.py:85 part/models.py:3937 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -6162,7 +6390,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:110 stock/models.py:175 templates/js/translated/part.js:2810 +#: part/models.py:110 stock/models.py:175 templates/js/translated/part.js:2813 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 @@ -6194,1002 +6422,1035 @@ msgstr "" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:485 +#: part/models.py:486 +msgid "Cannot delete this part as it is locked" +msgstr "" + +#: part/models.py:489 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:490 +#: part/models.py:494 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:528 +#: part/models.py:532 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:576 part/models.py:583 +#: part/models.py:580 part/models.py:587 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:595 +#: part/models.py:599 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:658 +#: part/models.py:662 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:736 +#: part/models.py:740 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:837 +#: part/models.py:841 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:847 +#: part/models.py:851 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:862 +#: part/models.py:866 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:891 part/models.py:3945 +#: part/models.py:895 part/models.py:3992 msgid "Part name" msgstr "" -#: part/models.py:896 +#: part/models.py:900 msgid "Is Template" msgstr "" -#: part/models.py:897 +#: part/models.py:901 msgid "Is this part a template part?" msgstr "" -#: part/models.py:907 +#: part/models.py:911 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:915 +#: part/models.py:919 msgid "Part description (optional)" msgstr "" -#: part/models.py:923 +#: part/models.py:927 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:933 +#: part/models.py:937 msgid "Part category" msgstr "" -#: part/models.py:941 -msgid "Internal Part Number" -msgstr "" - -#: part/models.py:948 +#: part/models.py:952 msgid "Part revision or version number" msgstr "" -#: part/models.py:973 +#: part/models.py:977 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1019 part/templates/part/part_base.html:376 +#: part/models.py:1023 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:1020 +#: part/models.py:1024 msgid "Default supplier part" msgstr "" -#: part/models.py:1027 +#: part/models.py:1031 msgid "Default Expiry" msgstr "" -#: part/models.py:1028 +#: part/models.py:1032 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1037 +#: part/models.py:1041 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1046 +#: part/models.py:1050 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1053 +#: part/models.py:1057 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1059 +#: part/models.py:1063 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1065 +#: part/models.py:1069 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1071 +#: part/models.py:1075 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1077 +#: part/models.py:1081 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1081 +#: part/models.py:1085 msgid "Is this part active?" msgstr "" -#: part/models.py:1087 +#: part/models.py:1090 templates/js/translated/part.js:818 +#: templates/js/translated/table_filters.js:721 +msgid "Locked" +msgstr "" + +#: part/models.py:1091 +msgid "Locked parts cannot be edited" +msgstr "" + +#: part/models.py:1097 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1093 +#: part/models.py:1103 msgid "BOM checksum" msgstr "" -#: part/models.py:1094 +#: part/models.py:1104 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1102 +#: part/models.py:1112 msgid "BOM checked by" msgstr "" -#: part/models.py:1107 +#: part/models.py:1117 msgid "BOM checked date" msgstr "" -#: part/models.py:1123 +#: part/models.py:1133 msgid "Creation User" msgstr "" -#: part/models.py:1133 +#: part/models.py:1143 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1138 part/templates/part/part_base.html:339 +#: part/models.py:1148 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:2474 msgid "Last Stocktake" msgstr "" -#: part/models.py:2011 +#: part/models.py:2021 msgid "Sell multiple" msgstr "" -#: part/models.py:3002 +#: part/models.py:3012 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3018 +#: part/models.py:3028 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3019 +#: part/models.py:3029 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3025 +#: part/models.py:3035 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3026 +#: part/models.py:3036 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3032 +#: part/models.py:3042 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3033 +#: part/models.py:3043 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3039 +#: part/models.py:3049 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3040 +#: part/models.py:3050 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3046 +#: part/models.py:3056 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3047 +#: part/models.py:3057 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3053 +#: part/models.py:3063 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3054 +#: part/models.py:3064 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3060 +#: part/models.py:3070 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3061 +#: part/models.py:3071 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3067 +#: part/models.py:3077 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3068 +#: part/models.py:3078 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3074 +#: part/models.py:3084 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3075 +#: part/models.py:3085 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3081 +#: part/models.py:3091 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3082 +#: part/models.py:3092 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3089 +#: part/models.py:3099 msgid "Override minimum cost" msgstr "" -#: part/models.py:3096 +#: part/models.py:3106 msgid "Override maximum cost" msgstr "" -#: part/models.py:3103 +#: part/models.py:3113 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3110 +#: part/models.py:3120 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3116 +#: part/models.py:3126 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3117 +#: part/models.py:3127 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3123 +#: part/models.py:3133 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3124 +#: part/models.py:3134 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3130 +#: part/models.py:3140 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3131 +#: part/models.py:3141 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3137 +#: part/models.py:3147 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3138 +#: part/models.py:3148 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3157 +#: part/models.py:3167 msgid "Part for stocktake" msgstr "" -#: part/models.py:3162 +#: part/models.py:3172 msgid "Item Count" msgstr "" -#: part/models.py:3163 +#: part/models.py:3173 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3171 +#: part/models.py:3181 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3175 part/models.py:3258 +#: part/models.py:3185 part/models.py:3268 #: part/templates/part/part_scheduling.html:13 #: 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:1086 templates/js/translated/pricing.js:826 +#: templates/js/translated/part.js:1089 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 #: templates/js/translated/purchase_order.js:1731 #: templates/js/translated/stock.js:2821 msgid "Date" msgstr "" -#: part/models.py:3176 +#: part/models.py:3186 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3184 +#: part/models.py:3194 msgid "Additional notes" msgstr "" -#: part/models.py:3194 +#: part/models.py:3204 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3200 +#: part/models.py:3210 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3201 +#: part/models.py:3211 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3207 +#: part/models.py:3217 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3208 +#: part/models.py:3218 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3264 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3274 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3265 +#: part/models.py:3275 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3270 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3280 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3271 +#: part/models.py:3281 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3281 +#: part/models.py:3291 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3423 +#: part/models.py:3301 +msgid "Part Sale Price Break" +msgstr "" + +#: part/models.py:3413 +msgid "Part Test Template" +msgstr "" + +#: part/models.py:3439 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3444 part/models.py:3608 +#: part/models.py:3460 part/models.py:3629 msgid "Choices must be unique" msgstr "" -#: part/models.py:3455 +#: part/models.py:3471 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3466 +#: part/models.py:3482 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3483 templates/js/translated/part.js:2880 +#: part/models.py:3499 templates/js/translated/part.js:2883 msgid "Test Name" msgstr "" -#: part/models.py:3484 +#: part/models.py:3500 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3490 +#: part/models.py:3506 msgid "Test Key" msgstr "" -#: part/models.py:3491 +#: part/models.py:3507 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3498 +#: part/models.py:3514 msgid "Test Description" msgstr "" -#: part/models.py:3499 +#: part/models.py:3515 msgid "Enter description for this test" msgstr "" -#: part/models.py:3503 report/models.py:209 -#: templates/js/translated/part.js:2901 +#: part/models.py:3519 report/models.py:209 +#: templates/js/translated/part.js:2904 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "" -#: part/models.py:3503 +#: part/models.py:3519 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3508 templates/js/translated/part.js:2909 +#: part/models.py:3524 templates/js/translated/part.js:2912 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3509 +#: part/models.py:3525 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3514 templates/js/translated/part.js:2917 +#: part/models.py:3530 templates/js/translated/part.js:2920 msgid "Requires Value" msgstr "" -#: part/models.py:3515 +#: part/models.py:3531 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3520 templates/js/translated/part.js:2924 +#: part/models.py:3536 templates/js/translated/part.js:2927 msgid "Requires Attachment" msgstr "" -#: part/models.py:3522 +#: part/models.py:3538 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3528 part/models.py:3667 templates/js/translated/part.js:1637 +#: part/models.py:3544 part/models.py:3688 templates/js/translated/part.js:1640 msgid "Choices" msgstr "" -#: part/models.py:3529 +#: part/models.py:3545 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3583 +#: part/models.py:3577 +msgid "Part Parameter Template" +msgstr "" + +#: part/models.py:3604 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3588 +#: part/models.py:3609 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3625 +#: part/models.py:3646 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3640 +#: part/models.py:3661 msgid "Parameter Name" msgstr "" -#: part/models.py:3647 +#: part/models.py:3668 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3655 +#: part/models.py:3676 msgid "Parameter description" msgstr "" -#: part/models.py:3661 templates/js/translated/part.js:1628 -#: templates/js/translated/table_filters.js:825 +#: part/models.py:3682 templates/js/translated/part.js:1631 +#: templates/js/translated/table_filters.js:830 msgid "Checkbox" msgstr "" -#: part/models.py:3662 +#: part/models.py:3683 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3668 +#: part/models.py:3689 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3745 +#: part/models.py:3723 +msgid "Part Parameter" +msgstr "" + +#: part/models.py:3749 +msgid "Parameter cannot be modified - part is locked" +msgstr "" + +#: part/models.py:3785 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3788 +#: part/models.py:3828 msgid "Parent Part" msgstr "" -#: part/models.py:3796 part/models.py:3897 part/models.py:3898 +#: part/models.py:3836 part/models.py:3944 part/models.py:3945 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3801 -msgid "Data" +#: part/models.py:3842 +msgid "Parameter Value" msgstr "" -#: part/models.py:3802 -msgid "Parameter Value" +#: part/models.py:3892 +msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:3904 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3951 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3905 +#: part/models.py:3952 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3943 +#: part/models.py:3990 msgid "Part ID or part name" msgstr "" -#: part/models.py:3944 +#: part/models.py:3991 msgid "Unique part ID value" msgstr "" -#: part/models.py:3946 +#: part/models.py:3993 msgid "Part IPN value" msgstr "" -#: part/models.py:3947 +#: part/models.py:3994 msgid "Level" msgstr "" -#: part/models.py:3947 +#: part/models.py:3994 msgid "BOM level" msgstr "" -#: part/models.py:4037 +#: part/models.py:4105 +msgid "BOM item cannot be modified - assembly is locked" +msgstr "" + +#: part/models.py:4112 +msgid "BOM item cannot be modified - variant assembly is locked" +msgstr "" + +#: part/models.py:4122 msgid "Select parent part" msgstr "" -#: part/models.py:4047 +#: part/models.py:4132 msgid "Sub part" msgstr "" -#: part/models.py:4048 +#: part/models.py:4133 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4059 +#: part/models.py:4144 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4065 +#: part/models.py:4150 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4071 +#: part/models.py:4156 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4078 part/templates/part/upload_bom.html:55 +#: part/models.py:4163 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4079 +#: part/models.py:4164 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4086 +#: part/models.py:4171 msgid "BOM item reference" msgstr "" -#: part/models.py:4094 +#: part/models.py:4179 msgid "BOM item notes" msgstr "" -#: part/models.py:4100 +#: part/models.py:4185 msgid "Checksum" msgstr "" -#: part/models.py:4101 +#: part/models.py:4186 msgid "BOM line checksum" msgstr "" -#: part/models.py:4106 templates/js/translated/table_filters.js:174 +#: part/models.py:4191 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4107 +#: part/models.py:4192 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4112 part/templates/part/upload_bom.html:57 +#: part/models.py:4197 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:4113 +#: part/models.py:4198 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4118 part/templates/part/upload_bom.html:56 +#: part/models.py:4203 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4119 +#: part/models.py:4204 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4204 stock/models.py:663 +#: part/models.py:4289 stock/models.py:663 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4214 part/models.py:4216 +#: part/models.py:4299 part/models.py:4301 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4354 +#: part/models.py:4439 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4375 +#: part/models.py:4460 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4388 +#: part/models.py:4473 msgid "Parent BOM item" msgstr "" -#: part/models.py:4396 +#: part/models.py:4481 msgid "Substitute part" msgstr "" -#: part/models.py:4412 +#: part/models.py:4497 msgid "Part 1" msgstr "" -#: part/models.py:4420 +#: part/models.py:4505 msgid "Part 2" msgstr "" -#: part/models.py:4421 +#: part/models.py:4506 msgid "Select Related Part" msgstr "" -#: part/models.py:4440 +#: part/models.py:4525 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4445 +#: part/models.py:4530 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:118 +#: part/serializers.py:124 msgid "Parent Category" msgstr "" -#: part/serializers.py:119 templates/js/translated/part.js:309 +#: part/serializers.py:125 templates/js/translated/part.js:308 msgid "Parent part category" msgstr "" -#: part/serializers.py:126 part/serializers.py:148 +#: part/serializers.py:132 part/serializers.py:154 #: part/templates/part/category.html:122 part/templates/part/category.html:207 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" -#: part/serializers.py:180 +#: part/serializers.py:189 msgid "Results" msgstr "" -#: part/serializers.py:181 +#: part/serializers.py:190 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:205 part/serializers.py:223 stock/serializers.py:562 +#: part/serializers.py:217 part/serializers.py:235 stock/serializers.py:608 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:268 +#: part/serializers.py:283 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:392 +#: part/serializers.py:410 msgid "No parts selected" msgstr "" -#: part/serializers.py:402 +#: part/serializers.py:420 msgid "Select category" msgstr "" -#: part/serializers.py:437 +#: part/serializers.py:455 msgid "Original Part" msgstr "" -#: part/serializers.py:438 +#: part/serializers.py:456 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:461 msgid "Copy Image" msgstr "" -#: part/serializers.py:444 +#: part/serializers.py:462 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:450 part/templates/part/detail.html:277 +#: part/serializers.py:468 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:451 +#: part/serializers.py:469 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:457 +#: part/serializers.py:475 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:458 +#: part/serializers.py:476 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:464 +#: part/serializers.py:482 msgid "Copy Notes" msgstr "" -#: part/serializers.py:465 +#: part/serializers.py:483 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:483 +#: part/serializers.py:501 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:485 +#: part/serializers.py:503 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:492 +#: part/serializers.py:510 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:493 +#: part/serializers.py:511 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:510 +#: part/serializers.py:528 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:526 +#: part/serializers.py:544 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:536 +#: part/serializers.py:554 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:543 +#: part/serializers.py:561 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:552 +#: part/serializers.py:570 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:563 +#: part/serializers.py:581 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:570 +#: part/serializers.py:588 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:834 -msgid "External Stock" -msgstr "" - -#: part/serializers.py:836 +#: part/serializers.py:864 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:839 +#: part/serializers.py:867 msgid "Variant Stock" msgstr "" -#: part/serializers.py:869 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:472 +#: part/serializers.py:897 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:870 +#: part/serializers.py:898 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:876 templates/js/translated/part.js:102 +#: part/serializers.py:904 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:877 +#: part/serializers.py:905 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:883 +#: part/serializers.py:911 msgid "Supplier Information" msgstr "" -#: part/serializers.py:884 +#: part/serializers.py:912 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:892 +#: part/serializers.py:920 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:893 +#: part/serializers.py:921 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:898 +#: part/serializers.py:926 msgid "Existing Image" msgstr "" -#: part/serializers.py:899 +#: part/serializers.py:927 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:916 +#: part/serializers.py:944 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1122 +#: part/serializers.py:1150 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1132 +#: part/serializers.py:1160 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1142 +#: part/serializers.py:1170 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1148 +#: part/serializers.py:1176 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1149 +#: part/serializers.py:1177 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1154 +#: part/serializers.py:1182 msgid "Generate Report" msgstr "" -#: part/serializers.py:1155 +#: part/serializers.py:1183 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1160 +#: part/serializers.py:1188 msgid "Update Parts" msgstr "" -#: part/serializers.py:1161 +#: part/serializers.py:1189 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1169 +#: part/serializers.py:1197 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1275 +#: part/serializers.py:1303 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1282 +#: part/serializers.py:1310 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1290 +#: part/serializers.py:1318 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1297 +#: part/serializers.py:1325 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1326 +#: part/serializers.py:1354 msgid "Update" msgstr "" -#: part/serializers.py:1327 +#: part/serializers.py:1355 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1350 +#: part/serializers.py:1378 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1357 +#: part/serializers.py:1385 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1360 +#: part/serializers.py:1388 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1727 +#: part/serializers.py:1759 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1735 +#: part/serializers.py:1767 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1736 +#: part/serializers.py:1768 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1741 +#: part/serializers.py:1773 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1742 +#: part/serializers.py:1774 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1747 +#: part/serializers.py:1779 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1748 +#: part/serializers.py:1780 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1753 +#: part/serializers.py:1785 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1754 +#: part/serializers.py:1786 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1788 +#: part/serializers.py:1823 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1789 +#: part/serializers.py:1824 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1819 +#: part/serializers.py:1856 msgid "No part column specified" msgstr "" -#: part/serializers.py:1863 +#: part/serializers.py:1900 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1866 +#: part/serializers.py:1903 msgid "No matching part found" msgstr "" -#: part/serializers.py:1869 +#: part/serializers.py:1906 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1878 +#: part/serializers.py:1915 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1886 +#: part/serializers.py:1923 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1907 +#: part/serializers.py:1946 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:225 templates/js/translated/part.js:1067 -#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 +#: part/stocktake.py:225 templates/js/translated/part.js:1070 +#: templates/js/translated/part.js:1825 templates/js/translated/part.js:1881 #: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "" @@ -7507,7 +7768,7 @@ msgstr "" #: part/templates/part/part_base.html:52 #: stock/templates/stock/item_base.html:62 -#: stock/templates/stock/location.html:74 templates/js/translated/label.js:143 +#: stock/templates/stock/location.html:74 templates/js/translated/label.js:136 msgid "Print Label" msgstr "" @@ -7529,7 +7790,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:2296 msgid "Part actions" msgstr "" @@ -7569,6 +7830,10 @@ msgstr "" msgid "Part can be sold to customers" msgstr "" +#: part/templates/part/part_base.html:145 +msgid "Part is not active" +msgstr "" + #: part/templates/part/part_base.html:153 msgid "Part is virtual (not a physical part)" msgstr "" @@ -7597,7 +7862,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:322 templates/js/translated/bom.js:1071 -#: templates/js/translated/part.js:1265 templates/js/translated/part.js:2444 +#: templates/js/translated/part.js:1268 templates/js/translated/part.js:2447 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" @@ -7690,8 +7955,8 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/part.js:1243 templates/js/translated/part.js:2146 -#: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 +#: templates/js/translated/part.js:1246 templates/js/translated/part.js:2149 +#: templates/js/translated/part.js:2395 templates/js/translated/stock.js:1059 #: templates/js/translated/stock.js:2070 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -7811,8 +8076,8 @@ msgstr "" #: part/templates/part/stock_count.html:7 #: templates/js/translated/model_renderers.js:227 -#: templates/js/translated/part.js:705 templates/js/translated/part.js:2141 -#: templates/js/translated/part.js:2143 +#: templates/js/translated/part.js:704 templates/js/translated/part.js:2144 +#: templates/js/translated/part.js:2146 msgid "No Stock" msgstr "" @@ -7956,7 +8221,7 @@ msgstr "" msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2589 +#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2590 #: templates/js/translated/sales_order.js:1953 msgid "Insufficient stock available" msgstr "" @@ -8051,7 +8316,7 @@ msgstr "" msgid "Quantity to allocate" msgstr "" -#: plugin/base/label/label.py:39 templates/js/translated/label.js:155 +#: plugin/base/label/label.py:39 templates/js/translated/label.js:148 msgid "Label printing failed" msgstr "" @@ -8748,7 +9013,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report.html:25 #: report/templates/report/inventree_test_report.html:88 stock/models.py:825 -#: stock/serializers.py:149 stock/templates/stock/item_base.html:311 +#: stock/serializers.py:151 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:230 @@ -8778,7 +9043,7 @@ msgstr "" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2447 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2457 msgid "Result" msgstr "" @@ -8799,7 +9064,7 @@ msgid "No result" msgstr "" #: report/templates/report/inventree_test_report.html:153 -#: stock/templates/stock/stock_sidebar.html:16 +#: stock/serializers.py:591 stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" @@ -8829,10 +9094,6 @@ msgstr "" msgid "Location ID" msgstr "" -#: stock/admin.py:53 stock/admin.py:175 -msgid "Location Name" -msgstr "" - #: stock/admin.py:63 stock/templates/stock/location.html:131 #: stock/templates/stock/location.html:137 msgid "Location Path" @@ -8909,7 +9170,7 @@ msgstr "" msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:369 stock/serializers.py:1085 +#: stock/api.py:369 stock/serializers.py:1148 msgid "Parent Location" msgstr "" @@ -8917,44 +9178,45 @@ msgstr "" msgid "Filter by parent location" msgstr "" -#: stock/api.py:625 templates/js/translated/table_filters.js:427 +#: stock/api.py:617 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:813 +#: stock/api.py:805 msgid "Part Tree" msgstr "" -#: stock/api.py:843 +#: stock/api.py:835 msgid "Expiry date before" msgstr "" -#: stock/api.py:847 +#: stock/api.py:839 msgid "Expiry date after" msgstr "" -#: stock/api.py:850 stock/templates/stock/item_base.html:439 +#: stock/api.py:842 stock/serializers.py:596 +#: stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "" -#: stock/api.py:937 +#: stock/api.py:929 msgid "Quantity is required" msgstr "" -#: stock/api.py:943 +#: stock/api.py:935 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:974 +#: stock/api.py:966 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:984 +#: stock/api.py:976 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1015 +#: stock/api.py:1007 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -9021,7 +9283,7 @@ msgstr "" msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:669 stock/serializers.py:446 +#: stock/models.py:669 stock/serializers.py:477 msgid "Stock item cannot be created for virtual parts" msgstr "" @@ -9066,7 +9328,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:799 stock/serializers.py:1476 +#: stock/models.py:799 stock/serializers.py:1542 msgid "Packaging this stock item is stored in" msgstr "" @@ -9078,7 +9340,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:843 stock/serializers.py:1459 +#: stock/models.py:843 stock/serializers.py:1525 msgid "Batch code for this stock item" msgstr "" @@ -9155,7 +9417,7 @@ msgstr "" msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1520 stock/serializers.py:660 +#: stock/models.py:1520 stock/serializers.py:718 msgid "Serial numbers already exist" msgstr "" @@ -9187,7 +9449,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1658 stock/serializers.py:1365 +#: stock/models.py:1658 stock/serializers.py:1431 msgid "Duplicate stock items" msgstr "" @@ -9207,288 +9469,330 @@ msgstr "" msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2345 +#: stock/models.py:2317 +msgid "Stock Item Tracking" +msgstr "" + +#: stock/models.py:2350 msgid "Entry notes" msgstr "" -#: stock/models.py:2413 +#: stock/models.py:2390 +msgid "Stock Item Test Result" +msgstr "" + +#: stock/models.py:2423 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2418 +#: stock/models.py:2428 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2423 +#: stock/models.py:2433 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2447 +#: stock/models.py:2457 msgid "Test result" msgstr "" -#: stock/models.py:2454 +#: stock/models.py:2464 msgid "Test output value" msgstr "" -#: stock/models.py:2462 +#: stock/models.py:2472 msgid "Test result attachment" msgstr "" -#: stock/models.py:2466 +#: stock/models.py:2476 msgid "Test notes" msgstr "" -#: stock/models.py:2474 templates/js/translated/stock.js:1548 +#: stock/models.py:2484 templates/js/translated/stock.js:1548 msgid "Test station" msgstr "" -#: stock/models.py:2475 +#: stock/models.py:2485 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2481 +#: stock/models.py:2491 msgid "Started" msgstr "" -#: stock/models.py:2482 +#: stock/models.py:2492 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2488 +#: stock/models.py:2498 msgid "Finished" msgstr "" -#: stock/models.py:2489 +#: stock/models.py:2499 msgid "The timestamp of the test finish" msgstr "" -#: stock/serializers.py:74 +#: stock/serializers.py:76 msgid "Generated batch code" msgstr "" -#: stock/serializers.py:83 +#: stock/serializers.py:85 msgid "Select build order" msgstr "" -#: stock/serializers.py:92 +#: stock/serializers.py:94 msgid "Select stock item to generate batch code for" msgstr "" -#: stock/serializers.py:101 +#: stock/serializers.py:103 msgid "Select location to generate batch code for" msgstr "" -#: stock/serializers.py:110 +#: stock/serializers.py:112 msgid "Select part to generate batch code for" msgstr "" -#: stock/serializers.py:119 +#: stock/serializers.py:121 msgid "Select purchase order" msgstr "" -#: stock/serializers.py:126 +#: stock/serializers.py:128 msgid "Enter quantity for batch code" msgstr "" -#: stock/serializers.py:149 +#: stock/serializers.py:151 msgid "Generated serial number" msgstr "" -#: stock/serializers.py:158 +#: stock/serializers.py:160 msgid "Select part to generate serial number for" msgstr "" -#: stock/serializers.py:166 +#: stock/serializers.py:168 msgid "Quantity of serial numbers to generate" msgstr "" -#: stock/serializers.py:228 +#: stock/serializers.py:233 msgid "Test template for this result" msgstr "" -#: stock/serializers.py:247 +#: stock/serializers.py:252 msgid "Template ID or test name must be provided" msgstr "" -#: stock/serializers.py:279 +#: stock/serializers.py:284 msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:315 +#: stock/serializers.py:320 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:438 +#: stock/serializers.py:449 stock/templates/stock/item_base.html:193 +msgid "Parent Item" +msgstr "" + +#: stock/serializers.py:450 +msgid "Parent stock item" +msgstr "" + +#: stock/serializers.py:469 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:558 +#: stock/serializers.py:585 templates/js/translated/build.js:991 +#: templates/js/translated/build.js:2344 +msgid "Allocated Quantity" +msgstr "" + +#: stock/serializers.py:588 stock/templates/stock/item_base.html:437 +#: templates/js/translated/table_filters.js:435 users/models.py:174 +msgid "Expired" +msgstr "" + +#: stock/serializers.py:594 stock/templates/stock/stock_sidebar.html:20 +msgid "Child Items" +msgstr "" + +#: stock/serializers.py:598 +msgid "Tracking Items" +msgstr "" + +#: stock/serializers.py:604 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:595 +#: stock/serializers.py:623 +msgid "Minimum Pricing" +msgstr "" + +#: stock/serializers.py:629 +msgid "Maximum Pricing" +msgstr "" + +#: stock/serializers.py:653 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:608 +#: stock/serializers.py:666 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:615 +#: stock/serializers.py:673 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:626 stock/serializers.py:1322 stock/serializers.py:1578 +#: stock/serializers.py:684 stock/serializers.py:1388 stock/serializers.py:1644 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:633 +#: stock/serializers.py:691 msgid "Optional note field" msgstr "" -#: stock/serializers.py:643 +#: stock/serializers.py:701 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:698 +#: stock/serializers.py:756 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:705 +#: stock/serializers.py:763 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:706 +#: stock/serializers.py:764 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:711 stock/serializers.py:791 stock/serializers.py:887 -#: stock/serializers.py:937 +#: stock/serializers.py:769 stock/serializers.py:849 stock/serializers.py:945 +#: stock/serializers.py:995 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:719 +#: stock/serializers.py:777 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:727 +#: stock/serializers.py:785 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:738 +#: stock/serializers.py:796 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:751 +#: stock/serializers.py:809 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:786 +#: stock/serializers.py:844 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:821 +#: stock/serializers.py:879 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:834 +#: stock/serializers.py:892 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:851 +#: stock/serializers.py:909 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:882 +#: stock/serializers.py:940 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:919 +#: stock/serializers.py:977 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:925 +#: stock/serializers.py:983 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1021 stock/serializers.py:1093 +#: stock/serializers.py:1079 stock/serializers.py:1156 #: stock/templates/stock/location.html:165 #: stock/templates/stock/location.html:222 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1086 templates/js/translated/stock.js:152 +#: stock/serializers.py:1149 templates/js/translated/stock.js:152 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1194 +#: stock/serializers.py:1260 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1198 +#: stock/serializers.py:1264 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1202 +#: stock/serializers.py:1268 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1226 +#: stock/serializers.py:1292 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1232 +#: stock/serializers.py:1298 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1240 +#: stock/serializers.py:1306 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1250 stock/serializers.py:1504 +#: stock/serializers.py:1316 stock/serializers.py:1570 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1329 +#: stock/serializers.py:1395 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1334 +#: stock/serializers.py:1400 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1335 +#: stock/serializers.py:1401 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1340 +#: stock/serializers.py:1406 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1341 +#: stock/serializers.py:1407 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1351 +#: stock/serializers.py:1417 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1418 +#: stock/serializers.py:1484 msgid "No Change" msgstr "" -#: stock/serializers.py:1447 +#: stock/serializers.py:1513 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1466 +#: stock/serializers.py:1532 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1494 +#: stock/serializers.py:1560 msgid "Stock transaction notes" msgstr "" @@ -9757,10 +10061,6 @@ msgstr "" msgid "Build" msgstr "" -#: stock/templates/stock/item_base.html:193 -msgid "Parent Item" -msgstr "" - #: stock/templates/stock/item_base.html:211 msgid "No manufacturer set" msgstr "" @@ -9836,11 +10136,6 @@ msgstr "" msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:437 -#: templates/js/translated/table_filters.js:435 users/models.py:174 -msgid "Expired" -msgstr "" - #: stock/templates/stock/item_base.html:439 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" @@ -9988,10 +10283,6 @@ msgstr "" msgid "Allocations" msgstr "" -#: stock/templates/stock/stock_sidebar.html:20 -msgid "Child Items" -msgstr "" - #: templates/403.html:6 templates/403.html:12 templates/403_csrf.html:7 msgid "Permission Denied" msgstr "" @@ -10466,8 +10757,8 @@ 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:393 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:245 users/models.py:402 +#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 +#: templates/js/translated/stock.js:245 users/models.py:406 msgid "Delete" msgstr "" @@ -10507,12 +10798,12 @@ msgid "No category parameter templates found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:308 -#: templates/js/translated/part.js:1646 +#: templates/js/translated/part.js:1649 msgid "Edit Template" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:309 -#: templates/js/translated/part.js:1647 +#: templates/js/translated/part.js:1650 msgid "Delete Template" msgstr "" @@ -11145,7 +11436,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2556 +#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2557 msgid "Required Quantity" msgstr "" @@ -11159,7 +11450,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3219 +#: templates/js/translated/part.js:3222 msgid "Minimum Quantity" msgstr "" @@ -11514,7 +11805,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2500 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2501 msgid "Variant stock allowed" msgstr "" @@ -11534,30 +11825,30 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2621 +#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2622 msgid "External stock" msgstr "" -#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2595 +#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2596 #: templates/js/translated/sales_order.js:1946 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2599 +#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2600 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2601 -#: templates/js/translated/part.js:1257 +#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2602 +#: templates/js/translated/part.js:1260 #: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2603 +#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2604 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2586 +#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2587 msgid "Consumable item" msgstr "" @@ -11589,7 +11880,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2485 +#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2486 msgid "Required Part" msgstr "" @@ -11758,10 +12049,6 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:991 templates/js/translated/build.js:2344 -msgid "Allocated Quantity" -msgstr "" - #: templates/js/translated/build.js:1005 msgid "Location not specified" msgstr "" @@ -11873,9 +12160,9 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2117 templates/js/translated/build.js:2479 +#: templates/js/translated/build.js:2117 templates/js/translated/build.js:2480 #: templates/js/translated/forms.js:2163 templates/js/translated/forms.js:2179 -#: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 +#: templates/js/translated/part.js:2319 templates/js/translated/part.js:2745 #: templates/js/translated/stock.js:1983 templates/js/translated/stock.js:2710 msgid "Select" msgstr "" @@ -11906,59 +12193,59 @@ msgstr "" msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2455 +#: templates/js/translated/build.js:2456 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2456 +#: templates/js/translated/build.js:2457 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2474 +#: templates/js/translated/build.js:2475 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2504 templates/js/translated/part.js:791 -#: templates/js/translated/part.js:1203 +#: templates/js/translated/build.js:2505 templates/js/translated/part.js:790 +#: templates/js/translated/part.js:1206 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2539 +#: templates/js/translated/build.js:2540 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2591 +#: templates/js/translated/build.js:2592 #: templates/js/translated/sales_order.js:1951 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2646 +#: templates/js/translated/build.js:2647 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2653 +#: templates/js/translated/build.js:2654 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2654 +#: templates/js/translated/build.js:2655 msgid "Allocate tracked items against individual build outputs" msgstr "" -#: templates/js/translated/build.js:2662 +#: templates/js/translated/build.js:2663 #: templates/js/translated/sales_order.js:2052 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2667 templates/js/translated/stock.js:1868 +#: templates/js/translated/build.js:2668 templates/js/translated/stock.js:1868 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2671 +#: templates/js/translated/build.js:2672 #: templates/js/translated/sales_order.js:2046 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2675 +#: templates/js/translated/build.js:2676 msgid "Remove stock allocation" msgstr "" @@ -12105,7 +12392,7 @@ msgid "Delete Parameters" msgstr "" #: templates/js/translated/company.js:1191 -#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2245 +#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2248 msgid "Order parts" msgstr "" @@ -12122,34 +12409,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:1279 -#: templates/js/translated/company.js:1567 templates/js/translated/part.js:799 -#: templates/js/translated/part.js:1211 +#: templates/js/translated/company.js:1567 templates/js/translated/part.js:798 +#: templates/js/translated/part.js:1214 msgid "Template part" msgstr "" #: templates/js/translated/company.js:1283 -#: templates/js/translated/company.js:1571 templates/js/translated/part.js:803 -#: templates/js/translated/part.js:1215 +#: templates/js/translated/company.js:1571 templates/js/translated/part.js:802 +#: templates/js/translated/part.js:1218 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1465 +#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1468 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1528 +#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1531 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1529 +#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1532 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1434 +#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1437 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1550 +#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1553 msgid "Delete Parameter" msgstr "" @@ -12323,15 +12610,15 @@ msgstr "" msgid "No parts required for builds" msgstr "" -#: templates/js/translated/label.js:55 templates/js/translated/report.js:38 +#: templates/js/translated/label.js:48 templates/js/translated/report.js:38 msgid "Select Items" msgstr "" -#: templates/js/translated/label.js:56 templates/js/translated/report.js:39 +#: templates/js/translated/label.js:49 templates/js/translated/report.js:39 msgid "No items selected for printing" msgstr "" -#: templates/js/translated/label.js:150 +#: templates/js/translated/label.js:143 msgid "Labels sent to printer" msgstr "" @@ -12400,7 +12687,7 @@ msgstr "" #: templates/js/translated/news.js:38 #: templates/js/translated/notification.js:46 -#: templates/js/translated/part.js:1605 +#: templates/js/translated/part.js:1608 msgid "ID" msgstr "" @@ -12481,343 +12768,343 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:333 templates/js/translated/stock.js:175 +#: templates/js/translated/part.js:332 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:353 +#: templates/js/translated/part.js:352 msgid "Create Part Category" msgstr "" -#: templates/js/translated/part.js:356 +#: templates/js/translated/part.js:355 msgid "Create new category after this one" msgstr "" -#: templates/js/translated/part.js:357 +#: templates/js/translated/part.js:356 msgid "Part category created" msgstr "" -#: templates/js/translated/part.js:371 +#: templates/js/translated/part.js:370 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:384 +#: templates/js/translated/part.js:383 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:389 +#: templates/js/translated/part.js:388 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:398 +#: templates/js/translated/part.js:397 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:402 +#: templates/js/translated/part.js:401 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:407 +#: templates/js/translated/part.js:406 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:431 +#: templates/js/translated/part.js:430 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:433 +#: templates/js/translated/part.js:432 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:434 +#: templates/js/translated/part.js:433 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:462 +#: templates/js/translated/part.js:461 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:464 +#: templates/js/translated/part.js:463 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:475 +#: templates/js/translated/part.js:474 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:532 +#: templates/js/translated/part.js:531 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:533 +#: templates/js/translated/part.js:532 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:547 +#: templates/js/translated/part.js:546 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:549 +#: templates/js/translated/part.js:548 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:550 +#: templates/js/translated/part.js:549 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:551 +#: templates/js/translated/part.js:550 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:558 +#: templates/js/translated/part.js:557 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:594 +#: templates/js/translated/part.js:593 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:596 +#: templates/js/translated/part.js:595 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:601 +#: templates/js/translated/part.js:600 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:603 +#: templates/js/translated/part.js:602 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:620 +#: templates/js/translated/part.js:619 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:630 +#: templates/js/translated/part.js:629 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:633 +#: templates/js/translated/part.js:632 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:658 +#: templates/js/translated/part.js:657 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:686 -#: templates/js/translated/table_filters.js:747 +#: templates/js/translated/part.js:685 +#: templates/js/translated/table_filters.js:752 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:689 +#: templates/js/translated/part.js:688 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:749 +#: templates/js/translated/part.js:748 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:772 +#: templates/js/translated/part.js:771 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:795 templates/js/translated/part.js:1207 +#: templates/js/translated/part.js:794 templates/js/translated/part.js:1210 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:807 +#: templates/js/translated/part.js:806 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:811 +#: templates/js/translated/part.js:810 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:890 +#: templates/js/translated/part.js:893 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:890 +#: templates/js/translated/part.js:893 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:898 +#: templates/js/translated/part.js:901 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:902 +#: templates/js/translated/part.js:905 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:1051 +#: templates/js/translated/part.js:1054 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1109 templates/js/translated/part.js:1145 +#: templates/js/translated/part.js:1112 templates/js/translated/part.js:1148 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1113 templates/js/translated/part.js:1155 +#: templates/js/translated/part.js:1116 templates/js/translated/part.js:1158 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1282 +#: templates/js/translated/part.js:1285 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1600 +#: templates/js/translated/part.js:1603 msgid "No part parameter templates found" msgstr "" -#: templates/js/translated/part.js:1663 +#: templates/js/translated/part.js:1666 msgid "Edit Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1675 +#: templates/js/translated/part.js:1678 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/js/translated/part.js:1683 +#: templates/js/translated/part.js:1686 msgid "Delete Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1717 +#: templates/js/translated/part.js:1720 #: templates/js/translated/purchase_order.js:1654 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/part.js:1861 +#: templates/js/translated/part.js:1864 #: 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:1907 +#: templates/js/translated/part.js:1910 #: templates/js/translated/purchase_order.js:2220 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1970 +#: templates/js/translated/part.js:1973 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1992 +#: templates/js/translated/part.js:1995 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2080 templates/js/translated/part.js:2506 +#: templates/js/translated/part.js:2083 templates/js/translated/part.js:2509 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:2201 +#: templates/js/translated/part.js:2204 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2206 +#: templates/js/translated/part.js:2209 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2236 +#: templates/js/translated/part.js:2239 msgid "Set category" msgstr "" -#: templates/js/translated/part.js:2287 +#: templates/js/translated/part.js:2290 msgid "part" msgstr "" -#: templates/js/translated/part.js:2288 +#: templates/js/translated/part.js:2291 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2384 +#: templates/js/translated/part.js:2387 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 +#: templates/js/translated/part.js:2534 templates/js/translated/part.js:2664 #: templates/js/translated/stock.js:2669 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2547 +#: templates/js/translated/part.js:2550 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2645 +#: templates/js/translated/part.js:2648 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2689 +#: templates/js/translated/part.js:2684 templates/js/translated/stock.js:2689 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2761 +#: templates/js/translated/part.js:2764 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2777 +#: templates/js/translated/part.js:2780 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2865 +#: templates/js/translated/part.js:2868 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2887 templates/js/translated/search.js:342 +#: templates/js/translated/part.js:2890 templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/part.js:2937 templates/js/translated/stock.js:1456 +#: templates/js/translated/part.js:2940 templates/js/translated/stock.js:1456 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2938 templates/js/translated/stock.js:1457 +#: templates/js/translated/part.js:2941 templates/js/translated/stock.js:1457 #: templates/js/translated/stock.js:1731 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2942 +#: templates/js/translated/part.js:2945 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2958 +#: templates/js/translated/part.js:2961 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2972 +#: templates/js/translated/part.js:2975 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3051 templates/js/translated/part.js:3052 +#: templates/js/translated/part.js:3054 templates/js/translated/part.js:3055 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3054 +#: templates/js/translated/part.js:3057 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3060 +#: templates/js/translated/part.js:3063 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3110 +#: templates/js/translated/part.js:3113 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3116 +#: templates/js/translated/part.js:3119 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3212 +#: templates/js/translated/part.js:3215 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3228 +#: templates/js/translated/part.js:3231 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3273 +#: templates/js/translated/part.js:3276 msgid "Minimum Stock Level" msgstr "" @@ -13593,7 +13880,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1042 users/models.py:392 +#: templates/js/translated/stock.js:1042 users/models.py:396 msgid "Add" msgstr "" @@ -13947,7 +14234,7 @@ msgid "Include subcategories" msgstr "" #: templates/js/translated/table_filters.js:287 -#: templates/js/translated/table_filters.js:759 +#: templates/js/translated/table_filters.js:764 msgid "Subscribed" msgstr "" @@ -14102,40 +14389,44 @@ msgstr "" msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:725 +#: templates/js/translated/table_filters.js:722 +msgid "Show locked parts" +msgstr "" + +#: templates/js/translated/table_filters.js:730 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:733 -#: templates/js/translated/table_filters.js:833 +#: templates/js/translated/table_filters.js:738 +#: templates/js/translated/table_filters.js:838 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:734 +#: templates/js/translated/table_filters.js:739 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:738 +#: templates/js/translated/table_filters.js:743 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:739 +#: templates/js/translated/table_filters.js:744 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:743 +#: templates/js/translated/table_filters.js:748 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:751 +#: templates/js/translated/table_filters.js:756 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:763 +#: templates/js/translated/table_filters.js:768 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:829 +#: templates/js/translated/table_filters.js:834 msgid "Has Choices" msgstr "" @@ -14207,10 +14498,6 @@ msgstr "" msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:558 -msgid "Columns" -msgstr "" - #: templates/js/translated/tables.js:561 msgid "All" msgstr "" @@ -14484,35 +14771,34 @@ msgstr "" msgid "Revoked" msgstr "" -#: users/models.py:375 +#: users/models.py:379 msgid "Permission set" msgstr "" -#: users/models.py:384 +#: users/models.py:388 msgid "Group" msgstr "" -#: users/models.py:388 +#: users/models.py:392 msgid "View" msgstr "" -#: users/models.py:388 +#: users/models.py:392 msgid "Permission to view items" msgstr "" -#: users/models.py:392 +#: users/models.py:396 msgid "Permission to add items" msgstr "" -#: users/models.py:396 +#: users/models.py:400 msgid "Change" msgstr "" -#: users/models.py:398 +#: users/models.py:402 msgid "Permissions to edit items" msgstr "" -#: users/models.py:404 +#: users/models.py:408 msgid "Permission to delete items" msgstr "" - diff --git a/src/backend/InvenTree/locale/ro/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/ro/LC_MESSAGES/django.po index 45445dcfd56e..b47bb7ec6f12 100644 --- a/src/backend/InvenTree/locale/ro/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/ro/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-07-05 02:47+0000\n" +"POT-Creation-Date: 2024-07-08 14:46+0000\n" "PO-Revision-Date: 2024-07-05 14:58\n" "Last-Translator: \n" "Language-Team: Romanian\n" @@ -21,7 +21,7 @@ msgstr "" msgid "API endpoint not found" msgstr "" -#: InvenTree/api.py:520 +#: InvenTree/api.py:505 msgid "User does not have permission to view this model" msgstr "" @@ -56,21 +56,21 @@ msgstr "" msgid "Enter date" msgstr "" -#: InvenTree/fields.py:205 InvenTree/models.py:918 build/serializers.py:452 -#: build/serializers.py:530 build/templates/build/sidebar.html:21 -#: company/models.py:817 company/templates/company/sidebar.html:37 +#: InvenTree/fields.py:205 InvenTree/models.py:921 build/serializers.py:456 +#: build/serializers.py:534 build/templates/build/sidebar.html:21 +#: company/models.py:824 company/templates/company/sidebar.html:37 #: order/models.py:1296 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:3183 part/templates/part/part_sidebar.html:63 +#: part/models.py:3193 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:230 stock/models.py:2344 stock/models.py:2466 -#: stock/serializers.py:632 stock/serializers.py:790 stock/serializers.py:886 -#: stock/serializers.py:936 stock/serializers.py:1239 stock/serializers.py:1328 -#: stock/serializers.py:1493 stock/templates/stock/stock_sidebar.html:25 +#: stock/admin.py:230 stock/models.py:2349 stock/models.py:2476 +#: stock/serializers.py:690 stock/serializers.py:848 stock/serializers.py:944 +#: stock/serializers.py:994 stock/serializers.py:1305 stock/serializers.py:1394 +#: stock/serializers.py:1559 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:1081 +#: templates/js/translated/part.js:1084 #: templates/js/translated/purchase_order.js:2200 #: templates/js/translated/return_order.js:775 #: templates/js/translated/sales_order.js:1103 @@ -371,41 +371,41 @@ msgstr "" msgid "JSON metadata field, for use by external plugins" msgstr "" -#: InvenTree/models.py:408 +#: InvenTree/models.py:411 msgid "Improperly formatted pattern" msgstr "" -#: InvenTree/models.py:415 +#: InvenTree/models.py:418 msgid "Unknown format key specified" msgstr "" -#: InvenTree/models.py:421 +#: InvenTree/models.py:424 msgid "Missing required format key" msgstr "" -#: InvenTree/models.py:432 +#: InvenTree/models.py:435 msgid "Reference field cannot be empty" msgstr "" -#: InvenTree/models.py:440 +#: InvenTree/models.py:443 msgid "Reference must match required pattern" msgstr "" -#: InvenTree/models.py:471 +#: InvenTree/models.py:474 msgid "Reference number is too large" msgstr "" -#: InvenTree/models.py:719 +#: InvenTree/models.py:722 msgid "Duplicate names cannot exist under the same parent" msgstr "" -#: InvenTree/models.py:736 +#: InvenTree/models.py:739 msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:766 common/models.py:2678 common/models.py:3103 -#: common/serializers.py:408 company/models.py:580 machine/models.py:24 -#: part/models.py:891 part/models.py:3639 plugin/models.py:51 +#: InvenTree/models.py:769 common/models.py:2659 common/models.py:3089 +#: common/serializers.py:412 company/models.py:587 machine/models.py:24 +#: part/models.py:895 part/models.py:3660 plugin/models.py:51 #: report/models.py:150 stock/models.py:74 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -417,20 +417,20 @@ msgstr "" #: templates/js/translated/company.js:724 #: templates/js/translated/company.js:913 #: templates/js/translated/company.js:1165 -#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1187 -#: templates/js/translated/part.js:1475 templates/js/translated/part.js:1611 -#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2716 +#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1190 +#: templates/js/translated/part.js:1478 templates/js/translated/part.js:1614 +#: templates/js/translated/part.js:2752 templates/js/translated/stock.js:2716 msgid "Name" msgstr "" -#: InvenTree/models.py:772 build/models.py:235 -#: build/templates/build/detail.html:24 common/models.py:138 -#: company/models.py:509 company/models.py:808 +#: InvenTree/models.py:775 build/models.py:242 +#: build/templates/build/detail.html:24 common/models.py:143 +#: company/models.py:515 company/models.py:815 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 -#: order/models.py:1329 part/admin.py:305 part/admin.py:408 part/models.py:914 -#: part/models.py:3654 part/templates/part/category.html:82 +#: order/models.py:1329 part/admin.py:305 part/admin.py:408 part/models.py:918 +#: part/models.py:3675 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:156 #: report/models.py:510 report/models.py:536 @@ -444,10 +444,10 @@ msgstr "" #: templates/js/translated/build.js:2139 templates/js/translated/company.js:519 #: templates/js/translated/company.js:1330 #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 -#: templates/js/translated/order.js:298 templates/js/translated/part.js:1239 -#: templates/js/translated/part.js:1484 templates/js/translated/part.js:1622 -#: templates/js/translated/part.js:1959 templates/js/translated/part.js:2355 -#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2897 +#: templates/js/translated/order.js:298 templates/js/translated/part.js:1242 +#: templates/js/translated/part.js:1487 templates/js/translated/part.js:1625 +#: templates/js/translated/part.js:1962 templates/js/translated/part.js:2358 +#: templates/js/translated/part.js:2788 templates/js/translated/part.js:2900 #: templates/js/translated/plugin.js:80 #: templates/js/translated/purchase_order.js:1706 #: templates/js/translated/purchase_order.js:1849 @@ -460,53 +460,53 @@ msgstr "" msgid "Description" msgstr "" -#: InvenTree/models.py:773 stock/models.py:81 +#: InvenTree/models.py:776 stock/models.py:81 msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:788 templates/js/translated/part.js:2794 +#: InvenTree/models.py:791 templates/js/translated/part.js:2797 #: templates/js/translated/stock.js:2757 msgid "Path" msgstr "" -#: InvenTree/models.py:918 +#: InvenTree/models.py:921 msgid "Markdown notes (optional)" msgstr "" -#: InvenTree/models.py:947 +#: InvenTree/models.py:950 msgid "Barcode Data" msgstr "" -#: InvenTree/models.py:948 +#: InvenTree/models.py:951 msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:954 +#: InvenTree/models.py:957 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:955 +#: InvenTree/models.py:958 msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:1008 +#: InvenTree/models.py:1011 msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:1051 +#: InvenTree/models.py:1054 msgid "Server Error" msgstr "" -#: InvenTree/models.py:1052 +#: InvenTree/models.py:1055 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:63 part/models.py:4192 +#: InvenTree/serializers.py:63 part/models.py:4277 msgid "Must be a valid number" msgstr "" #: InvenTree/serializers.py:100 company/models.py:186 -#: company/templates/company/company_base.html:112 part/models.py:3001 +#: company/templates/company/company_base.html:112 part/models.py:3011 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -556,16 +556,16 @@ msgstr "" msgid "Is this user a superuser" msgstr "" -#: InvenTree/serializers.py:445 common/models.py:2683 company/models.py:163 -#: company/models.py:782 machine/models.py:39 part/admin.py:88 -#: part/models.py:1081 plugin/models.py:66 +#: InvenTree/serializers.py:445 common/models.py:2664 company/models.py:163 +#: company/models.py:789 machine/models.py:39 part/admin.py:88 +#: part/models.py:1085 plugin/models.py:66 #: 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 #: templates/js/translated/table_filters.js:520 #: templates/js/translated/table_filters.js:716 -#: templates/js/translated/table_filters.js:796 users/models.py:182 +#: templates/js/translated/table_filters.js:801 users/models.py:182 msgid "Active" msgstr "" @@ -597,7 +597,7 @@ msgstr "" msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:581 +#: InvenTree/serializers.py:581 importer/models.py:60 msgid "Data File" msgstr "" @@ -651,7 +651,7 @@ msgstr "" msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/status.py:66 part/serializers.py:1174 +#: InvenTree/status.py:66 part/serializers.py:1202 msgid "Background worker check failed" msgstr "" @@ -711,47 +711,48 @@ msgstr "" msgid "About InvenTree" msgstr "" -#: build/api.py:255 +#: build/api.py:248 msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:299 part/models.py:4070 templates/js/translated/bom.js:997 -#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 +#: build/api.py:292 build/serializers.py:1190 part/models.py:4155 +#: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 +#: templates/js/translated/build.js:2521 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:300 part/models.py:4064 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 +#: build/api.py:293 build/serializers.py:1191 part/models.py:4149 +#: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 +#: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2530 #: templates/js/translated/table_filters.js:186 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:587 msgid "Optional" msgstr "" -#: build/api.py:301 templates/js/translated/table_filters.js:408 +#: build/api.py:294 templates/js/translated/table_filters.js:408 #: templates/js/translated/table_filters.js:579 msgid "Tracked" msgstr "" -#: build/api.py:303 part/admin.py:144 templates/js/translated/build.js:1744 -#: templates/js/translated/build.js:2629 +#: build/api.py:296 part/admin.py:144 templates/js/translated/build.js:1744 +#: templates/js/translated/build.js:2630 #: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:571 msgid "Allocated" msgstr "" -#: build/api.py:311 company/models.py:872 company/serializers.py:359 +#: build/api.py:304 company/models.py:879 company/serializers.py:386 #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2561 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2562 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:234 -#: templates/js/translated/part.js:693 templates/js/translated/part.js:695 -#: templates/js/translated/part.js:700 +#: 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 #: templates/js/translated/table_filters.js:575 msgid "Available" @@ -760,7 +761,7 @@ msgstr "" #: build/models.py:85 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 -#: stock/serializers.py:82 templates/email/build_order_completed.html:16 +#: stock/serializers.py:84 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:2892 msgid "Build Order" @@ -781,35 +782,39 @@ msgstr "" msgid "Assembly BOM has not been validated" msgstr "" -#: build/models.py:134 part/templates/part/part_base.html:145 -msgid "Part is not active" +#: build/models.py:134 +msgid "Build order cannot be created for an inactive part" +msgstr "" + +#: build/models.py:141 +msgid "Build order cannot be created for an unlocked part" msgstr "" -#: build/models.py:148 +#: build/models.py:155 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:159 order/models.py:240 +#: build/models.py:166 order/models.py:240 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:165 +#: build/models.py:172 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:226 +#: build/models.py:233 msgid "Build Order Reference" msgstr "" -#: build/models.py:227 order/models.py:463 order/models.py:926 -#: order/models.py:1289 order/models.py:2020 part/admin.py:411 -#: part/models.py:4085 part/templates/part/upload_bom.html:54 +#: build/models.py:234 build/serializers.py:1189 order/models.py:463 +#: order/models.py:926 order/models.py:1289 order/models.py:2046 +#: part/admin.py:411 part/models.py:4170 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: 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/build.js:2513 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2065 #: templates/js/translated/return_order.js:728 @@ -817,27 +822,28 @@ msgstr "" msgid "Reference" msgstr "" -#: build/models.py:238 +#: build/models.py:245 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:246 build/templates/build/build_base.html:183 +#: build/models.py:253 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/models.py:247 +#: build/models.py:254 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:252 build/templates/build/build_base.html:97 -#: build/templates/build/detail.html:29 company/models.py:1026 order/api.py:805 -#: order/models.py:1414 order/models.py:1559 order/models.py:1560 -#: part/api.py:1494 part/api.py:1788 part/models.py:395 part/models.py:3012 -#: part/models.py:3156 part/models.py:3303 part/models.py:3324 -#: part/models.py:3346 part/models.py:3477 part/models.py:3787 -#: part/models.py:3943 part/models.py:4036 part/models.py:4395 -#: part/serializers.py:1120 part/serializers.py:1726 +#: build/models.py:259 build/serializers.py:1184 +#: build/templates/build/build_base.html:97 +#: build/templates/build/detail.html:29 company/models.py:1034 order/api.py:759 +#: order/models.py:1419 order/models.py:1574 order/models.py:1575 +#: part/api.py:1480 part/api.py:1776 part/models.py:396 part/models.py:3022 +#: part/models.py:3166 part/models.py:3314 part/models.py:3335 +#: part/models.py:3357 part/models.py:3493 part/models.py:3827 +#: part/models.py:3990 part/models.py:4121 part/models.py:4480 +#: part/serializers.py:1148 part/serializers.py:1758 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -848,8 +854,8 @@ msgstr "" #: 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:109 stock/serializers.py:157 stock/serializers.py:423 -#: stock/serializers.py:820 templates/InvenTree/search.html:82 +#: stock/serializers.py:111 stock/serializers.py:159 stock/serializers.py:443 +#: stock/serializers.py:878 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 @@ -862,8 +868,8 @@ msgstr "" #: templates/js/translated/company.js:1116 #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 -#: templates/js/translated/part.js:1944 templates/js/translated/part.js:2016 -#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:1947 templates/js/translated/part.js:2019 +#: templates/js/translated/part.js:2327 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:1848 @@ -881,107 +887,107 @@ msgstr "" msgid "Part" msgstr "" -#: build/models.py:260 +#: build/models.py:267 msgid "Select part to build" msgstr "" -#: build/models.py:265 +#: build/models.py:272 msgid "Sales Order Reference" msgstr "" -#: build/models.py:269 +#: build/models.py:276 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:274 build/serializers.py:999 +#: build/models.py:281 build/serializers.py:1003 #: templates/js/translated/build.js:1731 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "" -#: build/models.py:278 +#: build/models.py:285 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:283 +#: build/models.py:290 msgid "Destination Location" msgstr "" -#: build/models.py:287 +#: build/models.py:294 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:291 +#: build/models.py:298 msgid "Build Quantity" msgstr "" -#: build/models.py:294 +#: build/models.py:301 msgid "Number of stock items to build" msgstr "" -#: build/models.py:298 +#: build/models.py:305 msgid "Completed items" msgstr "" -#: build/models.py:300 +#: build/models.py:307 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:304 +#: build/models.py:311 msgid "Build Status" msgstr "" -#: build/models.py:308 +#: build/models.py:315 msgid "Build status code" msgstr "" -#: build/models.py:317 build/serializers.py:286 order/serializers.py:580 -#: stock/models.py:839 stock/serializers.py:74 stock/serializers.py:1458 +#: build/models.py:324 build/serializers.py:290 order/serializers.py:629 +#: stock/models.py:839 stock/serializers.py:76 stock/serializers.py:1524 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "" -#: build/models.py:321 build/serializers.py:287 +#: build/models.py:328 build/serializers.py:291 msgid "Batch code for this build output" msgstr "" -#: build/models.py:324 order/models.py:316 order/serializers.py:119 -#: part/models.py:1115 part/templates/part/part_base.html:310 +#: build/models.py:331 order/models.py:316 order/serializers.py:127 +#: part/models.py:1125 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:328 +#: build/models.py:335 msgid "Target completion date" msgstr "" -#: build/models.py:329 +#: build/models.py:336 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:332 order/models.py:521 order/models.py:2065 +#: build/models.py:339 order/models.py:521 order/models.py:2091 #: templates/js/translated/build.js:2247 msgid "Completion Date" msgstr "" -#: build/models.py:338 +#: build/models.py:345 msgid "completed by" msgstr "" -#: build/models.py:346 templates/js/translated/build.js:2207 +#: build/models.py:353 templates/js/translated/build.js:2207 msgid "Issued by" msgstr "" -#: build/models.py:347 +#: build/models.py:354 msgid "User who issued this build order" msgstr "" -#: build/models.py:355 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 common/models.py:147 +#: build/models.py:362 build/templates/build/build_base.html:204 +#: build/templates/build/detail.html:122 common/models.py:152 #: order/models.py:334 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:232 part/models.py:1132 +#: order/templates/order/sales_order_base.html:232 part/models.py:1142 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 @@ -992,11 +998,11 @@ msgstr "" msgid "Responsible" msgstr "" -#: build/models.py:356 +#: build/models.py:363 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:361 build/templates/build/detail.html:108 +#: build/models.py:368 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 @@ -1008,21 +1014,22 @@ msgstr "" msgid "External Link" msgstr "" -#: build/models.py:362 common/models.py:3244 part/models.py:956 +#: build/models.py:369 common/models.py:3230 part/models.py:960 #: stock/models.py:835 msgid "Link to external URL" msgstr "" -#: build/models.py:366 +#: build/models.py:373 msgid "Build Priority" msgstr "" -#: build/models.py:369 +#: build/models.py:376 msgid "Priority of this build order" msgstr "" -#: build/models.py:376 common/models.py:131 order/admin.py:18 -#: order/models.py:298 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:383 common/models.py:122 common/models.py:136 +#: order/admin.py:18 order/models.py:298 order/serializers.py:108 +#: templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 #: templates/js/translated/purchase_order.js:1710 #: templates/js/translated/return_order.js:317 @@ -1032,65 +1039,66 @@ msgstr "" msgid "Project Code" msgstr "" -#: build/models.py:377 +#: build/models.py:384 msgid "Project code for this build order" msgstr "" -#: build/models.py:610 build/models.py:675 +#: build/models.py:617 build/models.py:682 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:632 +#: build/models.py:639 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:638 +#: build/models.py:645 msgid "A build order has been completed" msgstr "" -#: build/models.py:864 build/models.py:949 +#: build/models.py:871 build/models.py:956 msgid "No build output specified" msgstr "" -#: build/models.py:867 +#: build/models.py:874 msgid "Build output is already completed" msgstr "" -#: build/models.py:870 +#: build/models.py:877 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:953 build/serializers.py:219 build/serializers.py:268 -#: build/serializers.py:866 order/models.py:559 order/serializers.py:432 -#: order/serializers.py:575 part/serializers.py:1484 part/serializers.py:1884 -#: stock/models.py:678 stock/models.py:1496 stock/serializers.py:603 +#: build/models.py:960 build/serializers.py:223 build/serializers.py:272 +#: build/serializers.py:870 order/models.py:559 order/serializers.py:461 +#: order/serializers.py:624 part/serializers.py:1515 part/serializers.py:1921 +#: stock/models.py:678 stock/models.py:1496 stock/serializers.py:661 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:958 build/serializers.py:224 +#: build/models.py:965 build/serializers.py:228 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1018 build/serializers.py:547 +#: build/models.py:1025 build/serializers.py:551 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1359 +#: build/models.py:1366 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1384 +#: build/models.py:1391 msgid "Build object" msgstr "" -#: build/models.py:1398 build/models.py:1654 build/serializers.py:206 -#: build/serializers.py:253 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2563 -#: order/models.py:1272 order/models.py:1931 order/serializers.py:1327 +#: build/models.py:1405 build/models.py:1661 build/serializers.py:210 +#: build/serializers.py:257 build/serializers.py:1194 +#: build/templates/build/build_base.html:102 +#: build/templates/build/detail.html:34 common/models.py:2544 +#: order/models.py:1272 order/models.py:1957 order/serializers.py:1383 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:410 -#: part/forms.py:48 part/models.py:3170 part/models.py:4058 +#: part/forms.py:48 part/models.py:3180 part/models.py:4143 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1100,7 +1108,7 @@ msgstr "" #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:169 stock/admin.py:159 -#: stock/serializers.py:125 stock/serializers.py:165 stock/serializers.py:594 +#: stock/serializers.py:127 stock/serializers.py:167 stock/serializers.py:652 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 @@ -1111,8 +1119,8 @@ msgstr "" #: templates/js/translated/build.js:1746 templates/js/translated/build.js:2357 #: templates/js/translated/company.js:1818 #: templates/js/translated/model_renderers.js:236 -#: templates/js/translated/order.js:304 templates/js/translated/part.js:962 -#: templates/js/translated/part.js:1812 templates/js/translated/part.js:3342 +#: templates/js/translated/order.js:304 templates/js/translated/part.js:965 +#: templates/js/translated/part.js:1815 templates/js/translated/part.js:3345 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 @@ -1132,38 +1140,38 @@ msgstr "" msgid "Quantity" msgstr "" -#: build/models.py:1399 +#: build/models.py:1406 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1479 +#: build/models.py:1486 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1488 +#: build/models.py:1495 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1498 order/models.py:1882 +#: build/models.py:1505 order/models.py:1908 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1504 order/models.py:1885 +#: build/models.py:1511 order/models.py:1911 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1510 +#: build/models.py:1517 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1569 +#: build/models.py:1576 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1641 build/serializers.py:846 order/serializers.py:1171 -#: order/serializers.py:1192 stock/models.py:359 stock/serializers.py:91 -#: stock/serializers.py:697 stock/serializers.py:1177 stock/serializers.py:1289 +#: build/models.py:1648 build/serializers.py:850 order/serializers.py:1227 +#: order/serializers.py:1248 stock/models.py:359 stock/serializers.py:93 +#: stock/serializers.py:755 stock/serializers.py:1243 stock/serializers.py:1355 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 @@ -1179,70 +1187,76 @@ msgstr "" msgid "Stock Item" msgstr "" -#: build/models.py:1642 +#: build/models.py:1649 msgid "Source stock item" msgstr "" -#: build/models.py:1655 +#: build/models.py:1662 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1663 +#: build/models.py:1670 msgid "Install into" msgstr "" -#: build/models.py:1664 +#: build/models.py:1671 msgid "Destination stock item" msgstr "" -#: build/serializers.py:156 build/serializers.py:875 +#: build/serializers.py:89 build/serializers.py:1185 part/admin.py:41 +#: part/admin.py:405 part/models.py:3992 part/stocktake.py:220 +#: stock/admin.py:156 +msgid "Part Name" +msgstr "" + +#: build/serializers.py:160 build/serializers.py:879 #: templates/js/translated/build.js:1322 msgid "Build Output" msgstr "" -#: build/serializers.py:168 +#: build/serializers.py:172 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:172 +#: build/serializers.py:176 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:176 +#: build/serializers.py:180 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:187 +#: build/serializers.py:191 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:207 build/serializers.py:254 +#: build/serializers.py:211 build/serializers.py:258 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:275 +#: build/serializers.py:279 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:278 +#: build/serializers.py:282 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:293 order/serializers.py:588 order/serializers.py:1331 -#: stock/serializers.py:614 templates/js/translated/purchase_order.js:1153 +#: build/serializers.py:297 order/serializers.py:637 order/serializers.py:1387 +#: stock/serializers.py:672 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:294 +#: build/serializers.py:298 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:299 build/serializers.py:440 build/serializers.py:512 -#: order/serializers.py:564 order/serializers.py:672 order/serializers.py:1656 -#: part/serializers.py:1140 stock/serializers.py:100 stock/serializers.py:625 -#: stock/serializers.py:785 stock/serializers.py:881 stock/serializers.py:1321 -#: stock/serializers.py:1577 stock/templates/stock/item_base.html:394 +#: build/serializers.py:303 build/serializers.py:444 build/serializers.py:516 +#: order/serializers.py:613 order/serializers.py:721 order/serializers.py:1714 +#: part/serializers.py:1168 stock/serializers.py:102 stock/serializers.py:683 +#: stock/serializers.py:843 stock/serializers.py:939 stock/serializers.py:1387 +#: stock/serializers.py:1643 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 @@ -1258,54 +1272,54 @@ msgstr "" msgid "Location" msgstr "" -#: build/serializers.py:300 +#: build/serializers.py:304 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:314 +#: build/serializers.py:318 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:315 +#: build/serializers.py:319 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:330 +#: build/serializers.py:334 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:355 stock/api.py:1041 +#: build/serializers.py:359 stock/api.py:1033 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:402 build/serializers.py:464 build/serializers.py:553 +#: build/serializers.py:406 build/serializers.py:468 build/serializers.py:557 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:441 +#: build/serializers.py:445 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:447 +#: build/serializers.py:451 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:448 +#: build/serializers.py:452 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:453 +#: build/serializers.py:457 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:513 +#: build/serializers.py:517 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:519 build/templates/build/build_base.html:151 +#: build/serializers.py:523 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:950 -#: order/models.py:2044 order/serializers.py:596 stock/admin.py:164 -#: stock/serializers.py:932 stock/serializers.py:1465 +#: order/models.py:2070 order/serializers.py:645 stock/admin.py:164 +#: stock/serializers.py:990 stock/serializers.py:1531 #: 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 @@ -1317,193 +1331,241 @@ msgstr "" msgid "Status" msgstr "" -#: build/serializers.py:525 +#: build/serializers.py:529 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:526 +#: build/serializers.py:530 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:611 +#: build/serializers.py:615 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:612 +#: build/serializers.py:616 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:618 +#: build/serializers.py:622 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:619 +#: build/serializers.py:623 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:646 +#: build/serializers.py:650 msgid "Not permitted" msgstr "" -#: build/serializers.py:647 +#: build/serializers.py:651 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:648 +#: build/serializers.py:652 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:678 +#: build/serializers.py:682 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:680 +#: build/serializers.py:684 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:690 +#: build/serializers.py:694 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:695 +#: build/serializers.py:699 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:696 +#: build/serializers.py:700 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:706 templates/js/translated/build.js:315 +#: build/serializers.py:710 templates/js/translated/build.js:315 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:711 order/serializers.py:300 order/serializers.py:1234 +#: build/serializers.py:715 order/serializers.py:319 order/serializers.py:1290 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:712 +#: build/serializers.py:716 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:722 templates/js/translated/build.js:319 +#: build/serializers.py:726 templates/js/translated/build.js:319 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:731 templates/js/translated/build.js:303 +#: build/serializers.py:735 templates/js/translated/build.js:303 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:769 +#: build/serializers.py:773 msgid "Build Line" msgstr "" -#: build/serializers.py:779 +#: build/serializers.py:783 msgid "Build output" msgstr "" -#: build/serializers.py:787 +#: build/serializers.py:791 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:823 +#: build/serializers.py:827 msgid "Build Line Item" msgstr "" -#: build/serializers.py:837 +#: build/serializers.py:841 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:852 stock/serializers.py:1190 +#: build/serializers.py:856 stock/serializers.py:1256 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:900 order/serializers.py:1225 +#: build/serializers.py:904 order/serializers.py:1281 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:906 +#: build/serializers.py:910 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:913 +#: build/serializers.py:917 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:937 order/serializers.py:1477 +#: build/serializers.py:941 order/serializers.py:1533 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:1000 +#: build/serializers.py:1004 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:1008 +#: build/serializers.py:1012 msgid "Exclude Location" msgstr "" -#: build/serializers.py:1009 +#: build/serializers.py:1013 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:1014 +#: build/serializers.py:1018 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:1015 +#: build/serializers.py:1019 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:1020 +#: build/serializers.py:1024 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:1021 +#: build/serializers.py:1025 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:1026 +#: build/serializers.py:1030 msgid "Optional Items" msgstr "" -#: build/serializers.py:1027 +#: build/serializers.py:1031 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1049 +#: build/serializers.py:1053 msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1139 part/models.py:3953 part/models.py:4387 -#: stock/api.py:804 +#: build/serializers.py:1095 +msgid "Supplier Part Number" +msgstr "" + +#: build/serializers.py:1096 company/models.py:500 +msgid "Manufacturer Part Number" +msgstr "" + +#: build/serializers.py:1097 stock/admin.py:53 stock/admin.py:175 +#: stock/serializers.py:454 +msgid "Location Name" +msgstr "" + +#: build/serializers.py:1098 +msgid "Build Reference" +msgstr "" + +#: build/serializers.py:1099 +msgid "BOM Reference" +msgstr "" + +#: build/serializers.py:1186 part/admin.py:402 part/models.py:3993 +msgid "Part IPN" +msgstr "" + +#: build/serializers.py:1192 common/models.py:1488 part/admin.py:113 +#: part/models.py:1068 templates/js/translated/table_filters.js:147 +#: templates/js/translated/table_filters.js:223 +#: templates/js/translated/table_filters.js:776 +msgid "Trackable" +msgstr "" + +#: build/serializers.py:1196 part/models.py:4000 part/models.py:4472 +#: stock/api.py:796 msgid "BOM Item" msgstr "" -#: build/serializers.py:1148 templates/js/translated/index.js:130 +#: build/serializers.py:1205 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1153 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:828 part/serializers.py:1502 +#: build/serializers.py:1210 part/admin.py:132 part/bom.py:173 +#: part/serializers.py:856 part/serializers.py:1533 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2613 templates/js/translated/part.js:710 -#: templates/js/translated/part.js:2149 +#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709 +#: templates/js/translated/part.js:2152 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "" -#: build/serializers.py:1158 part/serializers.py:1504 -#: templates/js/translated/build.js:2617 +#: build/serializers.py:1215 part/serializers.py:1535 +#: templates/js/translated/build.js:2618 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1163 part/bom.py:172 part/serializers.py:1527 +#: build/serializers.py:1220 part/bom.py:172 part/serializers.py:1558 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" msgstr "" +#: build/serializers.py:1224 +msgid "Available Substitute Stock" +msgstr "" + +#: build/serializers.py:1225 +msgid "Available Variant Stock" +msgstr "" + +#: build/serializers.py:1226 +msgid "Total Available Stock" +msgstr "" + +#: build/serializers.py:1227 part/serializers.py:862 +msgid "External Stock" +msgstr "" + #: build/status_codes.py:11 generic/states/tests.py:17 order/status_codes.py:12 #: order/status_codes.py:37 order/status_codes.py:64 order/status_codes.py:82 #: templates/js/translated/table_filters.js:598 @@ -1519,7 +1581,8 @@ msgstr "" msgid "Cancelled" msgstr "" -#: build/status_codes.py:14 generic/states/tests.py:19 order/status_codes.py:14 +#: build/status_codes.py:14 generic/states/tests.py:19 importer/models.py:468 +#: importer/status_codes.py:19 order/status_codes.py:14 #: order/status_codes.py:44 order/status_codes.py:69 #: order/templates/order/order_base.html:158 #: order/templates/order/sales_order_base.html:165 report/models.py:444 @@ -1652,11 +1715,12 @@ msgstr "" #: build/templates/build/build_base.html:160 #: build/templates/build/detail.html:138 order/models.py:309 -#: order/models.py:1307 order/templates/order/order_base.html:186 +#: order/models.py:1307 order/serializers.py:174 +#: order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: 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:1831 +#: templates/js/translated/build.js:2239 templates/js/translated/part.js:1834 #: templates/js/translated/purchase_order.js:1739 #: templates/js/translated/purchase_order.js:2147 #: templates/js/translated/return_order.js:346 @@ -1689,8 +1753,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1463 order/models.py:845 -#: order/models.py:1551 order/models.py:1665 order/models.py:1819 +#: build/templates/build/detail.html:101 order/api.py:1384 order/models.py:845 +#: order/models.py:1566 order/models.py:1681 order/models.py:1840 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 @@ -1740,7 +1804,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1443 +#: build/templates/build/detail.html:49 order/models.py:1448 #: templates/js/translated/purchase_order.js:2189 msgid "Destination" msgstr "" @@ -1892,31 +1956,31 @@ msgstr "" msgid "Incomplete Outputs" msgstr "" -#: common/api.py:689 +#: common/api.py:690 msgid "Is Link" msgstr "" -#: common/api.py:697 +#: common/api.py:698 msgid "Is File" msgstr "" -#: common/api.py:739 +#: common/api.py:740 msgid "User does not have permission to delete this attachment" msgstr "" -#: common/currency.py:130 +#: common/currency.py:132 msgid "Invalid currency code" msgstr "" -#: common/currency.py:132 +#: common/currency.py:134 msgid "Duplicate currency code" msgstr "" -#: common/currency.py:137 +#: common/currency.py:139 msgid "No valid currency codes provided" msgstr "" -#: common/currency.py:154 +#: common/currency.py:156 msgid "No plugin" msgstr "" @@ -1970,1635 +2034,1604 @@ msgstr "" msgid "Site URL is locked by configuration" msgstr "" -#: common/models.py:132 +#: common/models.py:137 msgid "Unique project code" msgstr "" -#: common/models.py:139 +#: common/models.py:144 msgid "Project description" msgstr "" -#: common/models.py:148 +#: common/models.py:153 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:765 +#: common/models.py:770 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:769 +#: common/models.py:774 msgid "Settings value" msgstr "" -#: common/models.py:821 +#: common/models.py:826 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:837 +#: common/models.py:842 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:845 +#: common/models.py:850 msgid "Value must be an integer value" msgstr "" -#: common/models.py:882 +#: common/models.py:887 msgid "Key string must be unique" msgstr "" -#: common/models.py:1114 +#: common/models.py:1119 msgid "No group" msgstr "" -#: common/models.py:1213 +#: common/models.py:1218 msgid "Restart required" msgstr "" -#: common/models.py:1215 +#: common/models.py:1220 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:1222 +#: common/models.py:1227 msgid "Pending migrations" msgstr "" -#: common/models.py:1223 +#: common/models.py:1228 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1228 +#: common/models.py:1233 msgid "Server Instance Name" msgstr "" -#: common/models.py:1230 +#: common/models.py:1235 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1234 +#: common/models.py:1239 msgid "Use instance name" msgstr "" -#: common/models.py:1235 +#: common/models.py:1240 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1240 +#: common/models.py:1245 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1241 +#: common/models.py:1246 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1246 company/models.py:111 company/models.py:112 +#: common/models.py:1251 company/models.py:111 company/models.py:112 msgid "Company name" msgstr "" -#: common/models.py:1247 +#: common/models.py:1252 msgid "Internal company name" msgstr "" -#: common/models.py:1251 +#: common/models.py:1256 msgid "Base URL" msgstr "" -#: common/models.py:1252 +#: common/models.py:1257 msgid "Base URL for server instance" msgstr "" -#: common/models.py:1258 +#: common/models.py:1263 msgid "Default Currency" msgstr "" -#: common/models.py:1259 +#: common/models.py:1264 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1265 +#: common/models.py:1270 msgid "Supported Currencies" msgstr "" -#: common/models.py:1266 +#: common/models.py:1271 msgid "List of supported currency codes" msgstr "" -#: common/models.py:1272 +#: common/models.py:1277 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1274 +#: common/models.py:1279 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1277 common/models.py:1333 common/models.py:1346 -#: common/models.py:1354 common/models.py:1363 common/models.py:1372 -#: common/models.py:1596 common/models.py:1618 common/models.py:1733 -#: common/models.py:2100 +#: common/models.py:1282 common/models.py:1338 common/models.py:1351 +#: common/models.py:1359 common/models.py:1368 common/models.py:1377 +#: common/models.py:1601 common/models.py:1623 common/models.py:1738 +#: common/models.py:2111 msgid "days" msgstr "" -#: common/models.py:1281 +#: common/models.py:1286 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1282 +#: common/models.py:1287 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1287 +#: common/models.py:1292 msgid "Download from URL" msgstr "" -#: common/models.py:1289 +#: common/models.py:1294 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:1295 +#: common/models.py:1300 msgid "Download Size Limit" msgstr "" -#: common/models.py:1296 +#: common/models.py:1301 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1302 +#: common/models.py:1307 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1304 +#: common/models.py:1309 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/models.py:1309 +#: common/models.py:1314 msgid "Strict URL Validation" msgstr "" -#: common/models.py:1310 +#: common/models.py:1315 msgid "Require schema specification when validating URLs" msgstr "" -#: common/models.py:1315 +#: common/models.py:1320 msgid "Require confirm" msgstr "" -#: common/models.py:1316 +#: common/models.py:1321 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:1321 +#: common/models.py:1326 msgid "Tree Depth" msgstr "" -#: common/models.py:1323 +#: common/models.py:1328 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1329 +#: common/models.py:1334 msgid "Update Check Interval" msgstr "" -#: common/models.py:1330 +#: common/models.py:1335 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:1336 +#: common/models.py:1341 msgid "Automatic Backup" msgstr "" -#: common/models.py:1337 +#: common/models.py:1342 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:1342 +#: common/models.py:1347 msgid "Auto Backup Interval" msgstr "" -#: common/models.py:1343 +#: common/models.py:1348 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1349 +#: common/models.py:1354 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1351 +#: common/models.py:1356 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1358 +#: common/models.py:1363 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1360 +#: common/models.py:1365 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1367 +#: common/models.py:1372 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1369 +#: common/models.py:1374 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1376 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1381 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "" -#: common/models.py:1377 +#: common/models.py:1382 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1382 +#: common/models.py:1387 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1383 +#: common/models.py:1388 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1389 +#: common/models.py:1394 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1390 +#: common/models.py:1395 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1395 +#: common/models.py:1400 msgid "Barcode Show Data" msgstr "" -#: common/models.py:1396 +#: common/models.py:1401 msgid "Display barcode data in browser as text" msgstr "" -#: common/models.py:1401 +#: common/models.py:1406 msgid "Part Revisions" msgstr "" -#: common/models.py:1402 +#: common/models.py:1407 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1407 +#: common/models.py:1412 msgid "Allow Deletion from Assembly" msgstr "" -#: common/models.py:1408 +#: common/models.py:1413 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/models.py:1413 +#: common/models.py:1418 msgid "IPN Regex" msgstr "" -#: common/models.py:1414 +#: common/models.py:1419 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1417 +#: common/models.py:1422 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1418 +#: common/models.py:1423 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1423 +#: common/models.py:1428 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1424 +#: common/models.py:1429 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1429 +#: common/models.py:1434 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1430 +#: common/models.py:1435 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1435 +#: common/models.py:1440 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1436 +#: common/models.py:1441 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1441 +#: common/models.py:1446 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1442 +#: common/models.py:1447 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1447 +#: common/models.py:1452 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1448 +#: common/models.py:1453 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1453 part/admin.py:108 part/models.py:3795 +#: common/models.py:1458 part/admin.py:108 part/models.py:3835 #: report/models.py:294 report/models.py:361 report/serializers.py:90 -#: report/serializers.py:131 stock/serializers.py:227 +#: report/serializers.py:131 stock/serializers.py:232 #: templates/js/translated/table_filters.js:139 -#: templates/js/translated/table_filters.js:767 +#: templates/js/translated/table_filters.js:772 msgid "Template" msgstr "" -#: common/models.py:1454 +#: common/models.py:1459 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1459 part/admin.py:91 part/admin.py:425 part/models.py:1052 +#: common/models.py:1464 part/admin.py:91 part/admin.py:425 part/models.py:1056 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 -#: templates/js/translated/table_filters.js:721 +#: templates/js/translated/table_filters.js:726 msgid "Assembly" msgstr "" -#: common/models.py:1460 +#: common/models.py:1465 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1465 part/admin.py:95 part/models.py:1058 -#: templates/js/translated/table_filters.js:729 +#: common/models.py:1470 part/admin.py:95 part/models.py:1062 +#: templates/js/translated/table_filters.js:734 msgid "Component" msgstr "" -#: common/models.py:1466 +#: common/models.py:1471 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1471 part/admin.py:100 part/models.py:1070 +#: common/models.py:1476 part/admin.py:100 part/models.py:1074 msgid "Purchaseable" msgstr "" -#: common/models.py:1472 +#: common/models.py:1477 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1477 part/admin.py:104 part/models.py:1076 -#: templates/js/translated/table_filters.js:755 +#: common/models.py:1482 part/admin.py:104 part/models.py:1080 +#: templates/js/translated/table_filters.js:760 msgid "Salable" msgstr "" -#: common/models.py:1478 +#: common/models.py:1483 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1483 part/admin.py:113 part/models.py:1064 -#: 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:1484 +#: common/models.py:1489 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1489 part/admin.py:117 part/models.py:1086 +#: common/models.py:1494 part/admin.py:117 part/models.py:1096 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 -#: templates/js/translated/table_filters.js:775 +#: templates/js/translated/table_filters.js:780 msgid "Virtual" msgstr "" -#: common/models.py:1490 +#: common/models.py:1495 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1495 +#: common/models.py:1500 msgid "Show Import in Views" msgstr "" -#: common/models.py:1496 +#: common/models.py:1501 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1501 +#: common/models.py:1506 msgid "Show related parts" msgstr "" -#: common/models.py:1502 +#: common/models.py:1507 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1507 +#: common/models.py:1512 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1508 +#: common/models.py:1513 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1513 templates/js/translated/part.js:107 +#: common/models.py:1518 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1515 +#: common/models.py:1520 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1521 +#: common/models.py:1526 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1522 +#: common/models.py:1527 msgid "Format to display the part name" msgstr "" -#: common/models.py:1528 +#: common/models.py:1533 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1529 +#: common/models.py:1534 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1533 +#: common/models.py:1538 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1535 +#: common/models.py:1540 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1541 +#: common/models.py:1546 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1543 +#: common/models.py:1548 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1554 +#: common/models.py:1559 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1556 +#: common/models.py:1561 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1567 +#: common/models.py:1572 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1569 +#: common/models.py:1574 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1575 +#: common/models.py:1580 msgid "Purchase History Override" msgstr "" -#: common/models.py:1577 +#: common/models.py:1582 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1583 +#: common/models.py:1588 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1585 +#: common/models.py:1590 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1591 +#: common/models.py:1596 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1593 +#: common/models.py:1598 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1600 +#: common/models.py:1605 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1601 +#: common/models.py:1606 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1606 +#: common/models.py:1611 msgid "Active Variants Only" msgstr "" -#: common/models.py:1608 +#: common/models.py:1613 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1614 +#: common/models.py:1619 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1616 +#: common/models.py:1621 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1623 +#: common/models.py:1628 msgid "Internal Prices" msgstr "" -#: common/models.py:1624 +#: common/models.py:1629 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1629 +#: common/models.py:1634 msgid "Internal Price Override" msgstr "" -#: common/models.py:1631 +#: common/models.py:1636 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1637 +#: common/models.py:1642 msgid "Enable label printing" msgstr "" -#: common/models.py:1638 +#: common/models.py:1643 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1643 +#: common/models.py:1648 msgid "Label Image DPI" msgstr "" -#: common/models.py:1645 +#: common/models.py:1650 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1651 +#: common/models.py:1656 msgid "Enable Reports" msgstr "" -#: common/models.py:1652 +#: common/models.py:1657 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1657 templates/stats.html:25 +#: common/models.py:1662 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1658 +#: common/models.py:1663 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1663 +#: common/models.py:1668 msgid "Log Report Errors" msgstr "" -#: common/models.py:1664 +#: common/models.py:1669 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1669 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1674 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:302 msgid "Page Size" msgstr "" -#: common/models.py:1670 +#: common/models.py:1675 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1675 +#: common/models.py:1680 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1676 +#: common/models.py:1681 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1681 +#: common/models.py:1686 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1683 +#: common/models.py:1688 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1689 +#: common/models.py:1694 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1690 +#: common/models.py:1695 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1695 +#: common/models.py:1700 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1696 +#: common/models.py:1701 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1701 +#: common/models.py:1706 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1703 +#: common/models.py:1708 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1709 +#: common/models.py:1714 msgid "Batch Code Template" msgstr "" -#: common/models.py:1711 +#: common/models.py:1716 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1716 +#: common/models.py:1721 msgid "Stock Expiry" msgstr "" -#: common/models.py:1717 +#: common/models.py:1722 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1722 +#: common/models.py:1727 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1723 +#: common/models.py:1728 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1728 +#: common/models.py:1733 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1730 +#: common/models.py:1735 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1737 +#: common/models.py:1742 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1738 +#: common/models.py:1743 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1743 +#: common/models.py:1748 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1744 +#: common/models.py:1749 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1749 +#: common/models.py:1754 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1750 +#: common/models.py:1755 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1754 +#: common/models.py:1759 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1755 +#: common/models.py:1760 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1760 +#: common/models.py:1765 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1762 +#: common/models.py:1767 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1768 +#: common/models.py:1773 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1770 +#: common/models.py:1775 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1776 +#: common/models.py:1781 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1778 +#: common/models.py:1783 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1784 common/models.py:1826 common/models.py:1848 -#: common/models.py:1884 +#: common/models.py:1789 common/models.py:1837 common/models.py:1859 +#: common/models.py:1895 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1785 common/models.py:1827 common/models.py:1849 -#: common/models.py:1885 +#: common/models.py:1790 common/models.py:1838 common/models.py:1860 +#: common/models.py:1896 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1790 +#: common/models.py:1795 msgid "Require Active Part" msgstr "" -#: common/models.py:1791 +#: common/models.py:1796 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/models.py:1796 +#: common/models.py:1801 +msgid "Require Locked Part" +msgstr "" + +#: common/models.py:1802 +msgid "Prevent build order creation for unlocked parts" +msgstr "" + +#: common/models.py:1807 msgid "Require Valid BOM" msgstr "" -#: common/models.py:1798 +#: common/models.py:1809 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/models.py:1804 +#: common/models.py:1815 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1806 +#: common/models.py:1817 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1812 +#: common/models.py:1823 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1813 +#: common/models.py:1824 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1818 +#: common/models.py:1829 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1820 +#: common/models.py:1831 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1832 +#: common/models.py:1843 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1834 +#: common/models.py:1845 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1840 +#: common/models.py:1851 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1842 +#: common/models.py:1853 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1854 +#: common/models.py:1865 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1855 +#: common/models.py:1866 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1860 +#: common/models.py:1871 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1862 +#: common/models.py:1873 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1868 +#: common/models.py:1879 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1870 +#: common/models.py:1881 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1876 +#: common/models.py:1887 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1878 +#: common/models.py:1889 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1890 +#: common/models.py:1901 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1892 +#: common/models.py:1903 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1898 +#: common/models.py:1909 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1900 +#: common/models.py:1911 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1907 +#: common/models.py:1918 msgid "Enable password forgot" msgstr "" -#: common/models.py:1908 +#: common/models.py:1919 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1913 +#: common/models.py:1924 msgid "Enable registration" msgstr "" -#: common/models.py:1914 +#: common/models.py:1925 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1919 +#: common/models.py:1930 msgid "Enable SSO" msgstr "" -#: common/models.py:1920 +#: common/models.py:1931 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1925 +#: common/models.py:1936 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1927 +#: common/models.py:1938 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1933 +#: common/models.py:1944 msgid "Enable SSO group sync" msgstr "" -#: common/models.py:1935 +#: common/models.py:1946 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/models.py:1941 +#: common/models.py:1952 msgid "SSO group key" msgstr "" -#: common/models.py:1943 +#: common/models.py:1954 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/models.py:1949 +#: common/models.py:1960 msgid "SSO group map" msgstr "" -#: common/models.py:1951 +#: common/models.py:1962 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/models.py:1957 +#: common/models.py:1968 msgid "Remove groups outside of SSO" msgstr "" -#: common/models.py:1959 +#: common/models.py:1970 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/models.py:1965 +#: common/models.py:1976 msgid "Email required" msgstr "" -#: common/models.py:1966 +#: common/models.py:1977 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1971 +#: common/models.py:1982 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1973 +#: common/models.py:1984 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1979 +#: common/models.py:1990 msgid "Mail twice" msgstr "" -#: common/models.py:1980 +#: common/models.py:1991 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1985 +#: common/models.py:1996 msgid "Password twice" msgstr "" -#: common/models.py:1986 +#: common/models.py:1997 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1991 +#: common/models.py:2002 msgid "Allowed domains" msgstr "" -#: common/models.py:1993 +#: common/models.py:2004 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1999 +#: common/models.py:2010 msgid "Group on signup" msgstr "" -#: common/models.py:2001 +#: common/models.py:2012 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/models.py:2007 +#: common/models.py:2018 msgid "Enforce MFA" msgstr "" -#: common/models.py:2008 +#: common/models.py:2019 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:2013 +#: common/models.py:2024 msgid "Check plugins on startup" msgstr "" -#: common/models.py:2015 +#: common/models.py:2026 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:2023 +#: common/models.py:2034 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2024 +#: common/models.py:2035 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2030 +#: common/models.py:2041 msgid "Enable URL integration" msgstr "" -#: common/models.py:2031 +#: common/models.py:2042 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:2037 +#: common/models.py:2048 msgid "Enable navigation integration" msgstr "" -#: common/models.py:2038 +#: common/models.py:2049 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2044 +#: common/models.py:2055 msgid "Enable app integration" msgstr "" -#: common/models.py:2045 +#: common/models.py:2056 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2051 +#: common/models.py:2062 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2052 +#: common/models.py:2063 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2058 +#: common/models.py:2069 msgid "Enable event integration" msgstr "" -#: common/models.py:2059 +#: common/models.py:2070 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2065 +#: common/models.py:2076 msgid "Enable project codes" msgstr "" -#: common/models.py:2066 +#: common/models.py:2077 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2071 +#: common/models.py:2082 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2073 +#: common/models.py:2084 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2079 +#: common/models.py:2090 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2081 +#: common/models.py:2092 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2087 +#: common/models.py:2098 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2089 +#: common/models.py:2100 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2095 +#: common/models.py:2106 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2097 +#: common/models.py:2108 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2104 +#: common/models.py:2115 msgid "Display Users full names" msgstr "" -#: common/models.py:2105 +#: common/models.py:2116 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2110 +#: common/models.py:2121 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2111 +#: common/models.py:2122 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2123 common/models.py:2533 +#: common/models.py:2134 common/models.py:2514 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2166 +#: common/models.py:2177 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2168 +#: common/models.py:2179 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2174 +#: common/models.py:2185 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2175 +#: common/models.py:2186 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2180 +#: common/models.py:2191 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2181 +#: common/models.py:2192 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2186 +#: common/models.py:2197 msgid "Show latest parts" msgstr "" -#: common/models.py:2187 +#: common/models.py:2198 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2192 +#: common/models.py:2203 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2193 +#: common/models.py:2204 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2198 +#: common/models.py:2209 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2199 +#: common/models.py:2210 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2204 +#: common/models.py:2215 msgid "Show low stock" msgstr "" -#: common/models.py:2205 +#: common/models.py:2216 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2210 +#: common/models.py:2221 msgid "Show depleted stock" msgstr "" -#: common/models.py:2211 +#: common/models.py:2222 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2216 +#: common/models.py:2227 msgid "Show needed stock" msgstr "" -#: common/models.py:2217 +#: common/models.py:2228 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2222 +#: common/models.py:2233 msgid "Show expired stock" msgstr "" -#: common/models.py:2223 +#: common/models.py:2234 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2228 +#: common/models.py:2239 msgid "Show stale stock" msgstr "" -#: common/models.py:2229 +#: common/models.py:2240 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2234 +#: common/models.py:2245 msgid "Show pending builds" msgstr "" -#: common/models.py:2235 +#: common/models.py:2246 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2240 +#: common/models.py:2251 msgid "Show overdue builds" msgstr "" -#: common/models.py:2241 +#: common/models.py:2252 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2246 +#: common/models.py:2257 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2247 +#: common/models.py:2258 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2252 +#: common/models.py:2263 msgid "Show overdue POs" msgstr "" -#: common/models.py:2253 +#: common/models.py:2264 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2258 +#: common/models.py:2269 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2259 +#: common/models.py:2270 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2264 +#: common/models.py:2275 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2265 +#: common/models.py:2276 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2270 +#: common/models.py:2281 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2271 +#: common/models.py:2282 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2276 +#: common/models.py:2287 msgid "Show News" msgstr "" -#: common/models.py:2277 +#: common/models.py:2288 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2282 +#: common/models.py:2293 msgid "Inline label display" msgstr "" -#: common/models.py:2284 +#: common/models.py:2295 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2290 +#: common/models.py:2301 msgid "Default label printer" msgstr "" -#: common/models.py:2292 +#: common/models.py:2303 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2298 +#: common/models.py:2309 msgid "Inline report display" msgstr "" -#: common/models.py:2300 +#: common/models.py:2311 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2306 +#: common/models.py:2317 msgid "Search Parts" msgstr "" -#: common/models.py:2307 +#: common/models.py:2318 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2312 +#: common/models.py:2323 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2313 +#: common/models.py:2324 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2318 +#: common/models.py:2329 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2319 +#: common/models.py:2330 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2324 +#: common/models.py:2335 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2325 +#: common/models.py:2336 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2330 +#: common/models.py:2341 msgid "Search Categories" msgstr "" -#: common/models.py:2331 +#: common/models.py:2342 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2336 +#: common/models.py:2347 msgid "Search Stock" msgstr "" -#: common/models.py:2337 +#: common/models.py:2348 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2342 +#: common/models.py:2353 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2344 +#: common/models.py:2355 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2350 +#: common/models.py:2361 msgid "Search Locations" msgstr "" -#: common/models.py:2351 +#: common/models.py:2362 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2356 +#: common/models.py:2367 msgid "Search Companies" msgstr "" -#: common/models.py:2357 +#: common/models.py:2368 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2362 +#: common/models.py:2373 msgid "Search Build Orders" msgstr "" -#: common/models.py:2363 +#: common/models.py:2374 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2368 +#: common/models.py:2379 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2369 +#: common/models.py:2380 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2374 +#: common/models.py:2385 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2376 +#: common/models.py:2387 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2382 +#: common/models.py:2393 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2383 +#: common/models.py:2394 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2388 +#: common/models.py:2399 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2390 +#: common/models.py:2401 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2396 +#: common/models.py:2407 msgid "Search Return Orders" msgstr "" -#: common/models.py:2397 +#: common/models.py:2408 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2402 +#: common/models.py:2413 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2404 +#: common/models.py:2415 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2410 +#: common/models.py:2421 msgid "Search Preview Results" msgstr "" -#: common/models.py:2412 +#: common/models.py:2423 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2418 +#: common/models.py:2429 msgid "Regex Search" msgstr "" -#: common/models.py:2419 +#: common/models.py:2430 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2424 +#: common/models.py:2435 msgid "Whole Word Search" msgstr "" -#: common/models.py:2425 +#: common/models.py:2436 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2430 +#: common/models.py:2441 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2431 +#: common/models.py:2442 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2436 +#: common/models.py:2447 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2437 +#: common/models.py:2448 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2442 +#: common/models.py:2453 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2443 +#: common/models.py:2454 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2448 +#: common/models.py:2459 msgid "Date Format" msgstr "" -#: common/models.py:2449 +#: common/models.py:2460 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2462 part/templates/part/detail.html:41 +#: common/models.py:2473 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2463 +#: common/models.py:2474 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2468 part/templates/part/detail.html:62 +#: common/models.py:2479 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2470 +#: common/models.py:2481 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2476 +#: common/models.py:2487 msgid "Table String Length" msgstr "" -#: common/models.py:2478 +#: common/models.py:2489 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2484 -msgid "Default part label template" -msgstr "" - -#: common/models.py:2485 -msgid "The part label template to be automatically selected" -msgstr "" - -#: common/models.py:2490 -msgid "Default stock item template" -msgstr "" - -#: common/models.py:2492 -msgid "The stock item label template to be automatically selected" -msgstr "" - -#: common/models.py:2498 -msgid "Default stock location label template" -msgstr "" - -#: common/models.py:2500 -msgid "The stock location label template to be automatically selected" -msgstr "" - -#: common/models.py:2506 -msgid "Default build line label template" -msgstr "" - -#: common/models.py:2508 -msgid "The build line label template to be automatically selected" -msgstr "" - -#: common/models.py:2514 +#: common/models.py:2495 msgid "Receive error reports" msgstr "" -#: common/models.py:2515 +#: common/models.py:2496 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2520 +#: common/models.py:2501 msgid "Last used printing machines" msgstr "" -#: common/models.py:2521 +#: common/models.py:2502 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2541 common/models.py:2542 common/models.py:2691 -#: common/models.py:2692 common/models.py:2937 common/models.py:2938 -#: common/models.py:3259 common/models.py:3260 part/models.py:3193 -#: part/models.py:3280 part/models.py:3353 part/models.py:3381 -#: plugin/models.py:274 plugin/models.py:275 +#: common/models.py:2522 common/models.py:2523 common/models.py:2672 +#: common/models.py:2673 common/models.py:2918 common/models.py:2919 +#: common/models.py:3245 common/models.py:3246 importer/models.py:85 +#: part/models.py:3203 part/models.py:3290 part/models.py:3364 +#: part/models.py:3392 plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 msgid "User" msgstr "" -#: common/models.py:2564 +#: common/models.py:2545 msgid "Price break quantity" msgstr "" -#: common/models.py:2571 company/serializers.py:472 order/admin.py:42 -#: order/models.py:1346 order/models.py:2265 -#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1886 +#: common/models.py:2552 company/serializers.py:502 order/admin.py:42 +#: order/models.py:1346 order/models.py:2292 +#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1889 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:740 msgid "Price" msgstr "" -#: common/models.py:2572 +#: common/models.py:2553 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2668 common/models.py:2853 +#: common/models.py:2649 common/models.py:2834 msgid "Endpoint" msgstr "" -#: common/models.py:2669 +#: common/models.py:2650 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2679 +#: common/models.py:2660 msgid "Name for this webhook" msgstr "" -#: common/models.py:2683 +#: common/models.py:2664 msgid "Is this webhook active" msgstr "" -#: common/models.py:2699 users/models.py:159 +#: common/models.py:2680 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2700 +#: common/models.py:2681 msgid "Token for access" msgstr "" -#: common/models.py:2708 +#: common/models.py:2689 msgid "Secret" msgstr "" -#: common/models.py:2709 +#: common/models.py:2690 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2817 +#: common/models.py:2798 msgid "Message ID" msgstr "" -#: common/models.py:2818 +#: common/models.py:2799 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2826 +#: common/models.py:2807 msgid "Host" msgstr "" -#: common/models.py:2827 +#: common/models.py:2808 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2835 +#: common/models.py:2816 msgid "Header" msgstr "" -#: common/models.py:2836 +#: common/models.py:2817 msgid "Header of this message" msgstr "" -#: common/models.py:2843 +#: common/models.py:2824 msgid "Body" msgstr "" -#: common/models.py:2844 +#: common/models.py:2825 msgid "Body of this message" msgstr "" -#: common/models.py:2854 +#: common/models.py:2835 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2859 +#: common/models.py:2840 msgid "Worked on" msgstr "" -#: common/models.py:2860 +#: common/models.py:2841 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2986 +#: common/models.py:2967 msgid "Id" msgstr "" -#: common/models.py:2988 templates/js/translated/company.js:965 +#: common/models.py:2969 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2990 common/models.py:3243 company/models.py:149 -#: company/models.py:440 company/models.py:500 company/models.py:799 -#: order/models.py:303 order/models.py:1301 order/models.py:1717 -#: part/admin.py:55 part/models.py:955 +#: common/models.py:2971 common/models.py:3229 company/models.py:149 +#: company/models.py:446 company/models.py:506 company/models.py:806 +#: order/models.py:303 order/models.py:1301 order/models.py:1733 +#: part/admin.py:55 part/models.py:959 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:229 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/part.js:2459 #: templates/js/translated/purchase_order.js:2040 #: templates/js/translated/purchase_order.js:2204 #: templates/js/translated/return_order.js:779 @@ -3607,28 +3640,28 @@ msgstr "" msgid "Link" msgstr "" -#: common/models.py:2992 templates/js/translated/news.js:60 +#: common/models.py:2973 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2994 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2975 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:2996 templates/js/translated/news.js:52 +#: common/models.py:2977 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2999 +#: common/models.py:2980 msgid "Read" msgstr "" -#: common/models.py:2999 +#: common/models.py:2980 msgid "Was this news item read?" msgstr "" -#: common/models.py:3016 company/models.py:159 part/models.py:965 +#: common/models.py:2997 company/models.py:159 part/models.py:969 #: 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.html:35 @@ -3638,90 +3671,94 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:3016 +#: common/models.py:2997 msgid "Image file" msgstr "" -#: common/models.py:3028 common/models.py:3227 +#: common/models.py:3009 common/models.py:3213 msgid "Target model type for this image" msgstr "" -#: common/models.py:3032 +#: common/models.py:3013 msgid "Target model ID for this image" msgstr "" -#: common/models.py:3070 +#: common/models.py:3035 +msgid "Custom Unit" +msgstr "" + +#: common/models.py:3056 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:3085 +#: common/models.py:3071 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3104 +#: common/models.py:3090 msgid "Unit name" msgstr "" -#: common/models.py:3111 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3097 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3112 +#: common/models.py:3098 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3118 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3104 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3119 +#: common/models.py:3105 msgid "Unit definition" msgstr "" -#: common/models.py:3177 common/models.py:3234 stock/models.py:2461 +#: common/models.py:3163 common/models.py:3220 stock/models.py:2471 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" msgstr "" -#: common/models.py:3189 +#: common/models.py:3175 msgid "Missing file" msgstr "" -#: common/models.py:3190 +#: common/models.py:3176 msgid "Missing external link" msgstr "" -#: common/models.py:3235 +#: common/models.py:3221 msgid "Select file to attach" msgstr "" -#: common/models.py:3250 templates/js/translated/attachment.js:120 +#: common/models.py:3236 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" msgstr "" -#: common/models.py:3251 +#: common/models.py:3237 msgid "Attachment comment" msgstr "" -#: common/models.py:3267 +#: common/models.py:3253 msgid "Upload date" msgstr "" -#: common/models.py:3268 +#: common/models.py:3254 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:3272 +#: common/models.py:3258 msgid "File size" msgstr "" -#: common/models.py:3272 +#: common/models.py:3258 msgid "File size in bytes" msgstr "" -#: common/models.py:3310 common/serializers.py:553 +#: common/models.py:3296 common/serializers.py:557 msgid "Invalid model type specified for attachment" msgstr "" @@ -3743,7 +3780,7 @@ msgstr "" msgid "A order that is assigned to you was canceled" msgstr "" -#: common/notifications.py:330 common/notifications.py:337 order/api.py:472 +#: common/notifications.py:330 common/notifications.py:337 order/api.py:454 msgid "Items Received" msgstr "" @@ -3759,75 +3796,75 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:371 +#: common/serializers.py:375 msgid "Is Running" msgstr "" -#: common/serializers.py:377 +#: common/serializers.py:381 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:383 +#: common/serializers.py:387 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:389 +#: common/serializers.py:393 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:404 +#: common/serializers.py:408 msgid "Task ID" msgstr "" -#: common/serializers.py:404 +#: common/serializers.py:408 msgid "Unique task ID" msgstr "" -#: common/serializers.py:406 +#: common/serializers.py:410 msgid "Lock" msgstr "" -#: common/serializers.py:406 +#: common/serializers.py:410 msgid "Lock time" msgstr "" -#: common/serializers.py:408 +#: common/serializers.py:412 msgid "Task name" msgstr "" -#: common/serializers.py:410 +#: common/serializers.py:414 msgid "Function" msgstr "" -#: common/serializers.py:410 +#: common/serializers.py:414 msgid "Function name" msgstr "" -#: common/serializers.py:412 +#: common/serializers.py:416 msgid "Arguments" msgstr "" -#: common/serializers.py:412 +#: common/serializers.py:416 msgid "Task arguments" msgstr "" -#: common/serializers.py:415 +#: common/serializers.py:419 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:415 +#: common/serializers.py:419 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:525 +#: common/serializers.py:529 msgid "Filename" msgstr "" -#: common/serializers.py:532 report/api.py:100 report/serializers.py:53 +#: common/serializers.py:536 report/api.py:100 report/serializers.py:53 msgid "Model Type" msgstr "" -#: common/serializers.py:559 +#: common/serializers.py:563 msgid "User does not have permission to create or edit attachments for this model" msgstr "" @@ -3894,29 +3931,29 @@ msgstr "" msgid "Previous Step" msgstr "" -#: company/api.py:144 +#: company/api.py:141 msgid "Part is Active" msgstr "" -#: company/api.py:148 +#: company/api.py:145 msgid "Manufacturer is Active" msgstr "" -#: company/api.py:281 +#: company/api.py:278 msgid "Supplier Part is Active" msgstr "" -#: company/api.py:285 +#: company/api.py:282 msgid "Internal Part is Active" msgstr "" -#: company/api.py:289 +#: company/api.py:286 msgid "Supplier is Active" msgstr "" -#: company/models.py:100 company/models.py:365 +#: company/models.py:100 company/models.py:371 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:822 +#: company/templates/company/company_base.html:12 stock/api.py:814 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "" @@ -3956,8 +3993,9 @@ msgstr "" msgid "Contact email address" msgstr "" -#: company/models.py:142 company/templates/company/company_base.html:145 -#: order/models.py:343 order/templates/order/order_base.html:203 +#: company/models.py:142 company/models.py:275 +#: company/templates/company/company_base.html:145 order/models.py:343 +#: order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 #: order/templates/order/sales_order_base.html:218 msgid "Contact" @@ -3976,7 +4014,7 @@ msgid "Is this company active?" msgstr "" #: company/models.py:168 -msgid "is customer" +msgid "Is customer" msgstr "" #: company/models.py:169 @@ -3984,7 +4022,7 @@ msgid "Do you sell items to this company?" msgstr "" #: company/models.py:174 -msgid "is supplier" +msgid "Is supplier" msgstr "" #: company/models.py:175 @@ -3992,7 +4030,7 @@ msgid "Do you purchase items from this company?" msgstr "" #: company/models.py:180 -msgid "is manufacturer" +msgid "Is manufacturer" msgstr "" #: company/models.py:181 @@ -4003,178 +4041,189 @@ msgstr "" msgid "Default currency used for this company" msgstr "" -#: company/models.py:366 +#: company/models.py:314 company/templates/company/company_base.html:124 +#: order/models.py:353 order/templates/order/order_base.html:210 +#: order/templates/order/return_order_base.html:181 +#: order/templates/order/sales_order_base.html:225 +msgid "Address" +msgstr "" + +#: company/models.py:315 company/templates/company/sidebar.html:35 +msgid "Addresses" +msgstr "" + +#: company/models.py:372 msgid "Select company" msgstr "" -#: company/models.py:371 +#: company/models.py:377 msgid "Address title" msgstr "" -#: company/models.py:372 +#: company/models.py:378 msgid "Title describing the address entry" msgstr "" -#: company/models.py:378 +#: company/models.py:384 msgid "Primary address" msgstr "" -#: company/models.py:379 +#: company/models.py:385 msgid "Set as primary address" msgstr "" -#: company/models.py:384 templates/js/translated/company.js:914 +#: company/models.py:390 templates/js/translated/company.js:914 #: templates/js/translated/company.js:971 msgid "Line 1" msgstr "" -#: company/models.py:385 +#: company/models.py:391 msgid "Address line 1" msgstr "" -#: company/models.py:391 templates/js/translated/company.js:915 +#: company/models.py:397 templates/js/translated/company.js:915 #: templates/js/translated/company.js:977 msgid "Line 2" msgstr "" -#: company/models.py:392 +#: company/models.py:398 msgid "Address line 2" msgstr "" -#: company/models.py:398 company/models.py:399 +#: company/models.py:404 company/models.py:405 #: templates/js/translated/company.js:983 msgid "Postal code" msgstr "" -#: company/models.py:405 +#: company/models.py:411 msgid "City/Region" msgstr "" -#: company/models.py:406 +#: company/models.py:412 msgid "Postal code city/region" msgstr "" -#: company/models.py:412 +#: company/models.py:418 msgid "State/Province" msgstr "" -#: company/models.py:413 +#: company/models.py:419 msgid "State or province" msgstr "" -#: company/models.py:419 templates/js/translated/company.js:1001 +#: company/models.py:425 templates/js/translated/company.js:1001 msgid "Country" msgstr "" -#: company/models.py:420 +#: company/models.py:426 msgid "Address country" msgstr "" -#: company/models.py:426 +#: company/models.py:432 msgid "Courier shipping notes" msgstr "" -#: company/models.py:427 +#: company/models.py:433 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:433 +#: company/models.py:439 msgid "Internal shipping notes" msgstr "" -#: company/models.py:434 +#: company/models.py:440 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:441 +#: company/models.py:447 msgid "Link to address information (external)" msgstr "" -#: company/models.py:463 company/models.py:574 company/models.py:792 +#: company/models.py:469 company/models.py:581 company/models.py:799 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:217 msgid "Manufacturer Part" msgstr "" -#: company/models.py:475 company/models.py:760 stock/models.py:767 -#: stock/serializers.py:422 stock/templates/stock/item_base.html:142 +#: company/models.py:481 company/models.py:767 stock/models.py:767 +#: stock/serializers.py:442 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" -#: company/models.py:477 company/models.py:762 +#: company/models.py:483 company/models.py:769 msgid "Select part" msgstr "" -#: company/models.py:486 company/templates/company/company_base.html:82 +#: company/models.py:492 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:525 +#: company/templates/company/supplier_part.html:145 part/serializers.py:543 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 #: templates/js/translated/company.js:1296 #: templates/js/translated/company.js:1611 -#: templates/js/translated/table_filters.js:800 +#: templates/js/translated/table_filters.js:805 msgid "Manufacturer" msgstr "" -#: company/models.py:487 +#: company/models.py:493 msgid "Select manufacturer" msgstr "" -#: company/models.py:493 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:535 -#: templates/js/translated/company.js:351 +#: company/models.py:499 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:153 order/serializers.py:518 +#: part/serializers.py:553 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:1801 +#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1804 #: templates/js/translated/purchase_order.js:1851 #: templates/js/translated/purchase_order.js:2053 msgid "MPN" msgstr "" -#: company/models.py:494 -msgid "Manufacturer Part Number" -msgstr "" - -#: company/models.py:501 +#: company/models.py:507 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:510 +#: company/models.py:516 msgid "Manufacturer part description" msgstr "" -#: company/models.py:581 +#: company/models.py:569 +msgid "Manufacturer Part Parameter" +msgstr "" + +#: company/models.py:588 msgid "Parameter name" msgstr "" -#: company/models.py:587 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2453 templates/js/translated/company.js:1166 -#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1493 +#: company/models.py:594 report/templates/report/inventree_test_report.html:104 +#: stock/models.py:2463 templates/js/translated/company.js:1166 +#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1496 #: templates/js/translated/stock.js:1522 msgid "Value" msgstr "" -#: company/models.py:588 +#: company/models.py:595 msgid "Parameter value" msgstr "" -#: company/models.py:595 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1045 part/models.py:3646 +#: company/models.py:602 company/templates/company/supplier_part.html:168 +#: part/admin.py:57 part/models.py:1049 part/models.py:3667 #: part/templates/part/part_base.html:284 -#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1512 -#: templates/js/translated/part.js:1616 templates/js/translated/part.js:2370 +#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1515 +#: templates/js/translated/part.js:1619 templates/js/translated/part.js:2373 msgid "Units" msgstr "" -#: company/models.py:596 +#: company/models.py:603 msgid "Parameter units" msgstr "" -#: company/models.py:648 company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 order/api.py:452 +#: company/models.py:655 company/templates/company/supplier_part.html:7 +#: company/templates/company/supplier_part.html:24 order/api.py:434 #: stock/models.py:778 stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 @@ -4182,91 +4231,91 @@ msgstr "" msgid "Supplier Part" msgstr "" -#: company/models.py:700 +#: company/models.py:707 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:707 +#: company/models.py:714 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:721 +#: company/models.py:728 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:770 company/templates/company/company_base.html:87 +#: company/models.py:777 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:509 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:527 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 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:511 -#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1769 +#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1772 #: templates/js/translated/pricing.js:498 #: templates/js/translated/purchase_order.js:1689 -#: templates/js/translated/table_filters.js:804 +#: templates/js/translated/table_filters.js:809 msgid "Supplier" msgstr "" -#: company/models.py:771 +#: company/models.py:778 msgid "Select supplier" msgstr "" -#: company/models.py:777 part/serializers.py:520 +#: company/models.py:784 part/serializers.py:538 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:783 +#: company/models.py:790 msgid "Is this supplier part active?" msgstr "" -#: company/models.py:793 +#: company/models.py:800 msgid "Select manufacturer part" msgstr "" -#: company/models.py:800 +#: company/models.py:807 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:809 +#: company/models.py:816 msgid "Supplier part description" msgstr "" -#: company/models.py:816 company/templates/company/supplier_part.html:187 -#: part/admin.py:412 part/models.py:4093 part/templates/part/upload_bom.html:59 +#: company/models.py:823 company/templates/company/supplier_part.html:187 +#: part/admin.py:412 part/models.py:4178 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: 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:710 +#: stock/serializers.py:768 msgid "Note" msgstr "" -#: company/models.py:825 part/models.py:2003 +#: company/models.py:832 part/models.py:2013 msgid "base cost" msgstr "" -#: company/models.py:826 part/models.py:2004 +#: company/models.py:833 part/models.py:2014 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:833 company/templates/company/supplier_part.html:160 -#: stock/admin.py:228 stock/models.py:798 stock/serializers.py:1475 +#: company/models.py:840 company/templates/company/supplier_part.html:160 +#: stock/admin.py:228 stock/models.py:798 stock/serializers.py:1541 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 msgid "Packaging" msgstr "" -#: company/models.py:834 +#: company/models.py:841 msgid "Part packaging" msgstr "" -#: company/models.py:839 templates/js/translated/company.js:1651 -#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 +#: company/models.py:846 templates/js/translated/company.js:1651 +#: templates/js/translated/part.js:1825 templates/js/translated/part.js:1881 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 #: templates/js/translated/purchase_order.js:1103 @@ -4275,35 +4324,43 @@ msgstr "" msgid "Pack Quantity" msgstr "" -#: company/models.py:841 +#: company/models.py:848 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:860 part/models.py:2010 +#: company/models.py:867 part/models.py:2020 msgid "multiple" msgstr "" -#: company/models.py:861 +#: company/models.py:868 msgid "Order multiple" msgstr "" -#: company/models.py:873 +#: company/models.py:880 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:879 +#: company/models.py:886 msgid "Availability Updated" msgstr "" -#: company/models.py:880 +#: company/models.py:887 msgid "Date of last update of availability data" msgstr "" -#: company/serializers.py:161 +#: company/models.py:1015 +msgid "Supplier Price Break" +msgstr "" + +#: company/serializers.py:174 msgid "Default currency used for this supplier" msgstr "" -#: company/serializers.py:357 part/admin.py:126 +#: company/serializers.py:210 +msgid "Company Name" +msgstr "" + +#: company/serializers.py:384 part/admin.py:126 part/serializers.py:855 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:355 @@ -4315,7 +4372,7 @@ msgstr "" #: templates/js/translated/company.js:1287 #: templates/js/translated/company.js:1575 #: templates/js/translated/model_renderers.js:312 -#: templates/js/translated/part.js:815 templates/js/translated/part.js:1219 +#: templates/js/translated/part.js:814 templates/js/translated/part.js:1222 msgid "Inactive" msgstr "" @@ -4374,16 +4431,16 @@ msgid "Delete image" msgstr "" #: company/templates/company/company_base.html:92 order/models.py:938 -#: order/models.py:2032 order/templates/order/return_order_base.html:131 +#: order/models.py:2058 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:148 stock/models.py:820 -#: stock/models.py:821 stock/serializers.py:1225 +#: stock/models.py:821 stock/serializers.py:1291 #: 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:295 #: templates/js/translated/sales_order.js:820 #: templates/js/translated/stock.js:2959 -#: templates/js/translated/table_filters.js:808 +#: templates/js/translated/table_filters.js:813 msgid "Customer" msgstr "" @@ -4391,13 +4448,6 @@ msgstr "" msgid "Uses default currency" msgstr "" -#: company/templates/company/company_base.html:124 order/models.py:353 -#: order/templates/order/order_base.html:210 -#: order/templates/order/return_order_base.html:181 -#: order/templates/order/sales_order_base.html:225 -msgid "Address" -msgstr "" - #: company/templates/company/company_base.html:131 msgid "Phone" msgstr "" @@ -4577,7 +4627,8 @@ msgid "Delete manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:65 -#: company/templates/company/supplier_part.html:97 order/api.py:458 +#: company/templates/company/supplier_part.html:97 order/api.py:440 +#: order/serializers.py:526 msgid "Internal Part" msgstr "" @@ -4587,7 +4638,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:832 +#: part/admin.py:122 part/serializers.py:860 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4608,7 +4659,7 @@ msgid "New Parameter" msgstr "" #: company/templates/company/manufacturer_part.html:196 -#: templates/js/translated/part.js:1423 +#: templates/js/translated/part.js:1426 msgid "Add Parameter" msgstr "" @@ -4632,10 +4683,6 @@ msgstr "" msgid "Contacts" msgstr "" -#: company/templates/company/sidebar.html:35 -msgid "Addresses" -msgstr "" - #: company/templates/company/supplier_part.html:50 #: templates/js/translated/company.js:1526 msgid "Supplier part actions" @@ -4648,127 +4695,283 @@ msgstr "" msgid "Order Part" msgstr "" -#: company/templates/company/supplier_part.html:60 -#: company/templates/company/supplier_part.html:61 -msgid "Update Availability" +#: company/templates/company/supplier_part.html:60 +#: company/templates/company/supplier_part.html:61 +msgid "Update Availability" +msgstr "" + +#: company/templates/company/supplier_part.html:63 +#: company/templates/company/supplier_part.html:64 +#: templates/js/translated/company.js:294 +msgid "Edit Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:68 +#: company/templates/company/supplier_part.html:69 +#: templates/js/translated/company.js:269 +msgid "Duplicate Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:73 +msgid "Delete Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:74 +msgid "Delete Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:133 +msgid "No supplier information available" +msgstr "" + +#: company/templates/company/supplier_part.html:139 order/serializers.py:515 +#: part/bom.py:279 part/bom.py:311 part/serializers.py:537 +#: templates/js/translated/company.js:349 templates/js/translated/part.js:1790 +#: templates/js/translated/pricing.js:510 +#: templates/js/translated/purchase_order.js:1850 +#: templates/js/translated/purchase_order.js:2028 +msgid "SKU" +msgstr "" + +#: company/templates/company/supplier_part.html:206 +msgid "Supplier Part Stock" +msgstr "" + +#: company/templates/company/supplier_part.html:209 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:207 +msgid "Create new stock item" +msgstr "" + +#: company/templates/company/supplier_part.html:210 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:208 +#: templates/js/translated/stock.js:537 +msgid "New Stock Item" +msgstr "" + +#: company/templates/company/supplier_part.html:223 +msgid "Supplier Part Orders" +msgstr "" + +#: company/templates/company/supplier_part.html:246 +msgid "Pricing Information" +msgstr "" + +#: company/templates/company/supplier_part.html:251 +#: templates/js/translated/company.js:398 +#: templates/js/translated/pricing.js:684 +msgid "Add Price Break" +msgstr "" + +#: company/templates/company/supplier_part.html:276 +msgid "Supplier Part QR Code" +msgstr "" + +#: company/templates/company/supplier_part.html:287 +msgid "Link Barcode to Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:359 +msgid "Update Part Availability" +msgstr "" + +#: company/templates/company/supplier_part_sidebar.html:5 +#: part/serializers.py:859 part/stocktake.py:224 +#: part/templates/part/category.html:183 +#: part/templates/part/category_sidebar.html:17 stock/admin.py:68 +#: stock/serializers.py:976 stock/serializers.py:1154 +#: stock/templates/stock/location.html:170 +#: 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:1064 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 +#: users/models.py:206 +msgid "Stock Items" +msgstr "" + +#: company/templates/company/supplier_part_sidebar.html:9 +msgid "Supplier Part Pricing" +msgstr "" + +#: company/views.py:32 +msgid "New Supplier" +msgstr "" + +#: company/views.py:38 +msgid "New Manufacturer" +msgstr "" + +#: company/views.py:43 templates/InvenTree/search.html:210 +#: templates/navbar.html:60 +msgid "Customers" +msgstr "" + +#: company/views.py:44 +msgid "New Customer" +msgstr "" + +#: company/views.py:52 +msgid "New Company" +msgstr "" + +#: generic/states/tests.py:18 order/status_codes.py:13 +msgid "Placed" +msgstr "" + +#: importer/mixins.py:263 +msgid "Invalid export format" +msgstr "" + +#: importer/models.py:56 +msgid "Timestamp" +msgstr "" + +#: importer/models.py:61 +msgid "Data file to import" +msgstr "" + +#: importer/models.py:70 templates/js/translated/tables.js:558 +msgid "Columns" +msgstr "" + +#: importer/models.py:81 +msgid "Import status" +msgstr "" + +#: importer/models.py:91 +msgid "Field Defaults" +msgstr "" + +#: importer/models.py:201 +msgid "Some required fields have not been mapped" +msgstr "" + +#: importer/models.py:346 +msgid "Column is already mapped to a database field" +msgstr "" + +#: importer/models.py:351 +msgid "Field is already mapped to a data column" +msgstr "" + +#: importer/models.py:360 +msgid "Column mapping must be linked to a valid import session" +msgstr "" + +#: importer/models.py:365 +msgid "Column does not exist in the data file" +msgstr "" + +#: importer/models.py:372 +msgid "Field does not exist in the target model" +msgstr "" + +#: importer/models.py:376 +msgid "Selected field is read-only" +msgstr "" + +#: importer/models.py:381 importer/models.py:452 +msgid "Import Session" +msgstr "" + +#: importer/models.py:385 +msgid "Field" msgstr "" -#: company/templates/company/supplier_part.html:63 -#: company/templates/company/supplier_part.html:64 -#: templates/js/translated/company.js:294 -msgid "Edit Supplier Part" +#: importer/models.py:387 +msgid "Column" msgstr "" -#: company/templates/company/supplier_part.html:68 -#: company/templates/company/supplier_part.html:69 -#: templates/js/translated/company.js:269 -msgid "Duplicate Supplier Part" +#: importer/models.py:456 +msgid "Row Index" msgstr "" -#: company/templates/company/supplier_part.html:73 -msgid "Delete Supplier Part" +#: importer/models.py:459 +msgid "Original row data" msgstr "" -#: company/templates/company/supplier_part.html:74 -msgid "Delete Supplier Part" +#: importer/models.py:462 part/models.py:3841 +msgid "Data" msgstr "" -#: company/templates/company/supplier_part.html:133 -msgid "No supplier information available" +#: importer/models.py:464 machine/models.py:110 +msgid "Errors" msgstr "" -#: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:519 -#: templates/js/translated/company.js:349 templates/js/translated/part.js:1787 -#: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1850 -#: templates/js/translated/purchase_order.js:2028 -msgid "SKU" +#: importer/models.py:466 part/api.py:874 +msgid "Valid" msgstr "" -#: company/templates/company/supplier_part.html:206 -msgid "Supplier Part Stock" +#: importer/operations.py:28 importer/operations.py:49 +msgid "Unsupported data file format" msgstr "" -#: company/templates/company/supplier_part.html:209 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:207 -msgid "Create new stock item" +#: importer/operations.py:40 +msgid "Failed to open data file" msgstr "" -#: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:208 -#: templates/js/translated/stock.js:537 -msgid "New Stock Item" +#: importer/operations.py:51 +msgid "Invalid data file dimensions" msgstr "" -#: company/templates/company/supplier_part.html:223 -msgid "Supplier Part Orders" +#: importer/serializers.py:135 +msgid "Rows" msgstr "" -#: company/templates/company/supplier_part.html:246 -msgid "Pricing Information" +#: importer/serializers.py:136 +msgid "List of row IDs to accept" msgstr "" -#: company/templates/company/supplier_part.html:251 -#: templates/js/translated/company.js:398 -#: templates/js/translated/pricing.js:684 -msgid "Add Price Break" +#: importer/serializers.py:149 +msgid "No rows provided" msgstr "" -#: company/templates/company/supplier_part.html:276 -msgid "Supplier Part QR Code" +#: importer/serializers.py:153 +msgid "Row does not belong to this session" msgstr "" -#: company/templates/company/supplier_part.html:287 -msgid "Link Barcode to Supplier Part" +#: importer/serializers.py:156 +msgid "Row contains invalid data" msgstr "" -#: company/templates/company/supplier_part.html:359 -msgid "Update Part Availability" +#: importer/serializers.py:159 +msgid "Row has already been completed" msgstr "" -#: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:831 part/stocktake.py:224 -#: part/templates/part/category.html:183 -#: part/templates/part/category_sidebar.html:17 stock/admin.py:68 -#: stock/serializers.py:918 stock/serializers.py:1091 -#: stock/templates/stock/location.html:170 -#: 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:1061 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 -#: users/models.py:206 -msgid "Stock Items" +#: importer/status_codes.py:11 +msgid "Initializing" msgstr "" -#: company/templates/company/supplier_part_sidebar.html:9 -msgid "Supplier Part Pricing" +#: importer/status_codes.py:12 +msgid "Mapping Columns" msgstr "" -#: company/views.py:32 -msgid "New Supplier" +#: importer/status_codes.py:13 +msgid "Importing Data" msgstr "" -#: company/views.py:38 -msgid "New Manufacturer" +#: importer/status_codes.py:16 +msgid "Processing Data" msgstr "" -#: company/views.py:43 templates/InvenTree/search.html:210 -#: templates/navbar.html:60 -msgid "Customers" +#: importer/validators.py:21 +msgid "Data file exceeds maximum size limit" msgstr "" -#: company/views.py:44 -msgid "New Customer" +#: importer/validators.py:26 +msgid "Data file contains no headers" msgstr "" -#: company/views.py:52 -msgid "New Company" +#: importer/validators.py:29 +msgid "Data file contains too many columns" msgstr "" -#: generic/states/tests.py:18 order/status_codes.py:13 -msgid "Placed" +#: importer/validators.py:32 +msgid "Data file contains too many rows" +msgstr "" + +#: importer/validators.py:49 +msgid "Value must be a valid dictionary object" msgstr "" #: machine/machine_types/label_printer.py:212 @@ -4783,7 +4986,7 @@ msgstr "" msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:229 order/api.py:1467 +#: machine/machine_types/label_printer.py:229 order/api.py:1388 #: templates/js/translated/sales_order.js:1078 msgid "Unknown" msgstr "" @@ -4852,10 +5055,6 @@ msgstr "" msgid "Initialized" msgstr "" -#: machine/models.py:110 -msgid "Errors" -msgstr "" - #: machine/models.py:117 msgid "Machine status" msgstr "" @@ -4881,44 +5080,44 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:157 order/serializers.py:90 +#: order/api.py:149 order/serializers.py:94 #: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:113 #: order/templates/order/sales_order_base.html:122 msgid "Order Status" msgstr "" -#: order/api.py:161 templates/js/translated/table_filters.js:194 -#: templates/js/translated/table_filters.js:779 +#: order/api.py:153 templates/js/translated/table_filters.js:194 +#: templates/js/translated/table_filters.js:784 msgid "Has Pricing" msgstr "" -#: order/api.py:236 +#: order/api.py:228 msgid "No matching purchase order found" msgstr "" -#: order/api.py:435 order/api.py:801 order/models.py:1395 order/models.py:1504 -#: order/models.py:1550 order/models.py:1664 order/models.py:1818 -#: order/models.py:2231 order/models.py:2282 +#: order/api.py:417 order/api.py:755 order/models.py:1400 order/models.py:1514 +#: order/models.py:1565 order/models.py:1680 order/models.py:1839 +#: order/models.py:2258 order/models.py:2314 #: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "" -#: order/api.py:439 order/api.py:822 +#: order/api.py:421 order/api.py:776 msgid "Order Complete" msgstr "" -#: order/api.py:462 +#: order/api.py:444 msgid "Order Pending" msgstr "" -#: order/api.py:1461 order/models.py:380 order/models.py:1396 -#: order/models.py:1505 order/templates/order/order_base.html:9 +#: order/api.py:1382 order/models.py:380 order/models.py:1401 +#: order/models.py:1515 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 -#: stock/serializers.py:118 stock/templates/stock/item_base.html:176 +#: stock/serializers.py:120 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/part.js:1746 templates/js/translated/pricing.js:804 +#: templates/js/translated/part.js:1749 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:1673 @@ -4926,8 +5125,8 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1465 order/models.py:1981 order/models.py:2232 -#: order/models.py:2283 order/templates/order/return_order_base.html:9 +#: order/api.py:1386 order/models.py:2007 order/models.py:2259 +#: order/models.py:2315 order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report.html:13 #: templates/js/translated/return_order.js:280 @@ -4939,11 +5138,11 @@ msgstr "" msgid "Total price for this order" msgstr "" -#: order/models.py:96 order/serializers.py:70 +#: order/models.py:96 order/serializers.py:72 msgid "Order Currency" msgstr "" -#: order/models.py:99 order/serializers.py:71 +#: order/models.py:99 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" @@ -4959,7 +5158,7 @@ msgstr "" msgid "Select project code for this order" msgstr "" -#: order/models.py:303 order/models.py:1301 order/models.py:1717 +#: order/models.py:303 order/models.py:1301 order/models.py:1733 msgid "Link to external page" msgstr "" @@ -5008,15 +5207,15 @@ msgstr "" msgid "received by" msgstr "" -#: order/models.py:514 order/models.py:2058 +#: order/models.py:514 order/models.py:2084 msgid "Issue Date" msgstr "" -#: order/models.py:515 order/models.py:2059 +#: order/models.py:515 order/models.py:2085 msgid "Date order was issued" msgstr "" -#: order/models.py:522 order/models.py:2066 +#: order/models.py:522 order/models.py:2092 msgid "Date order was completed" msgstr "" @@ -5032,15 +5231,15 @@ msgstr "" msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:962 order/models.py:2051 +#: order/models.py:962 order/models.py:2077 msgid "Customer Reference " msgstr "" -#: order/models.py:963 order/models.py:2052 +#: order/models.py:963 order/models.py:2078 msgid "Customer order reference code" msgstr "" -#: order/models.py:967 order/models.py:1671 +#: order/models.py:967 order/models.py:1687 #: templates/js/translated/sales_order.js:879 #: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" @@ -5102,20 +5301,24 @@ msgstr "" msgid "Unit price" msgstr "" -#: order/models.py:1380 +#: order/models.py:1361 +msgid "Purchase Order Line Item" +msgstr "" + +#: order/models.py:1385 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1387 +#: order/models.py:1392 msgid "deleted" msgstr "" -#: order/models.py:1415 +#: order/models.py:1420 msgid "Supplier part" msgstr "" -#: order/models.py:1422 order/templates/order/order_base.html:196 -#: templates/js/translated/part.js:1870 templates/js/translated/part.js:1902 +#: order/models.py:1427 order/templates/order/order_base.html:196 +#: templates/js/translated/part.js:1873 templates/js/translated/part.js:1905 #: templates/js/translated/purchase_order.js:1306 #: templates/js/translated/purchase_order.js:2169 #: templates/js/translated/return_order.js:763 @@ -5124,196 +5327,224 @@ msgstr "" msgid "Received" msgstr "" -#: order/models.py:1423 +#: order/models.py:1428 msgid "Number of items received" msgstr "" -#: order/models.py:1431 stock/models.py:939 stock/serializers.py:556 +#: order/models.py:1436 stock/models.py:939 stock/serializers.py:602 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2311 msgid "Purchase Price" msgstr "" -#: order/models.py:1432 +#: order/models.py:1437 msgid "Unit purchase price" msgstr "" -#: order/models.py:1447 +#: order/models.py:1452 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1538 +#: order/models.py:1503 +msgid "Purchase Order Extra Line" +msgstr "" + +#: order/models.py:1532 +msgid "Sales Order Line Item" +msgstr "" + +#: order/models.py:1553 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1543 +#: order/models.py:1558 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1569 part/templates/part/part_pricing.html:107 +#: order/models.py:1584 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:1570 +#: order/models.py:1585 msgid "Unit sale price" msgstr "" -#: order/models.py:1579 order/status_codes.py:43 +#: order/models.py:1594 order/status_codes.py:43 #: templates/js/translated/sales_order.js:1559 #: templates/js/translated/sales_order.js:1680 #: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "" -#: order/models.py:1580 +#: order/models.py:1595 msgid "Shipped quantity" msgstr "" -#: order/models.py:1672 +#: order/models.py:1667 +msgid "Sales Order Shipment" +msgstr "" + +#: order/models.py:1688 msgid "Date of shipment" msgstr "" -#: order/models.py:1678 templates/js/translated/sales_order.js:1072 +#: order/models.py:1694 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "" -#: order/models.py:1679 +#: order/models.py:1695 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1687 +#: order/models.py:1703 msgid "Checked By" msgstr "" -#: order/models.py:1688 +#: order/models.py:1704 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1695 order/models.py:1908 order/serializers.py:1342 -#: order/serializers.py:1452 templates/js/translated/model_renderers.js:454 +#: order/models.py:1711 order/models.py:1934 order/serializers.py:1398 +#: order/serializers.py:1508 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "" -#: order/models.py:1696 +#: order/models.py:1712 msgid "Shipment number" msgstr "" -#: order/models.py:1704 +#: order/models.py:1720 msgid "Tracking Number" msgstr "" -#: order/models.py:1705 +#: order/models.py:1721 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1712 +#: order/models.py:1728 msgid "Invoice Number" msgstr "" -#: order/models.py:1713 +#: order/models.py:1729 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1733 +#: order/models.py:1749 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1736 +#: order/models.py:1752 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1854 order/models.py:1856 +#: order/models.py:1828 +msgid "Sales Order Extra Line" +msgstr "" + +#: order/models.py:1857 +msgid "Sales Order Allocation" +msgstr "" + +#: order/models.py:1880 order/models.py:1882 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1863 +#: order/models.py:1889 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1866 +#: order/models.py:1892 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1869 +#: order/models.py:1895 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1888 order/serializers.py:1219 +#: order/models.py:1914 order/serializers.py:1275 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1891 +#: order/models.py:1917 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1892 plugin/base/barcodes/api.py:481 +#: order/models.py:1918 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1900 +#: order/models.py:1926 msgid "Line" msgstr "" -#: order/models.py:1909 +#: order/models.py:1935 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1922 order/models.py:2239 +#: order/models.py:1948 order/models.py:2266 #: templates/js/translated/return_order.js:721 msgid "Item" msgstr "" -#: order/models.py:1923 +#: order/models.py:1949 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1932 +#: order/models.py:1958 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2021 +#: order/models.py:2047 msgid "Return Order reference" msgstr "" -#: order/models.py:2033 +#: order/models.py:2059 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2045 +#: order/models.py:2071 msgid "Return order status" msgstr "" -#: order/models.py:2224 +#: order/models.py:2237 +msgid "Return Order Line Item" +msgstr "" + +#: order/models.py:2251 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2240 +#: order/models.py:2267 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2246 +#: order/models.py:2273 msgid "Received Date" msgstr "" -#: order/models.py:2247 +#: order/models.py:2274 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2258 templates/js/translated/return_order.js:732 +#: order/models.py:2285 templates/js/translated/return_order.js:732 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2259 +#: order/models.py:2286 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2266 +#: order/models.py:2293 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:79 order/templates/order/po_sidebar.html:5 +#: order/models.py:2303 +msgid "Return Order Extra Line" +msgstr "" + +#: order/serializers.py:83 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_purchase_order_report.html:22 @@ -5322,163 +5553,171 @@ msgstr "" msgid "Line Items" msgstr "" -#: order/serializers.py:83 +#: order/serializers.py:87 msgid "Completed Lines" msgstr "" -#: order/serializers.py:286 +#: order/serializers.py:305 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:301 order/serializers.py:1235 +#: order/serializers.py:320 order/serializers.py:1291 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:311 order/serializers.py:1245 +#: order/serializers.py:330 order/serializers.py:1301 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:439 +#: order/serializers.py:468 msgid "Order is not open" msgstr "" -#: order/serializers.py:460 +#: order/serializers.py:489 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:462 +#: order/serializers.py:491 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:472 +#: order/serializers.py:501 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:478 +#: order/serializers.py:507 msgid "Merge Items" msgstr "" -#: order/serializers.py:480 +#: order/serializers.py:509 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:498 +#: order/serializers.py:522 part/models.py:945 +msgid "Internal Part Number" +msgstr "" + +#: order/serializers.py:530 +msgid "Internal Part Name" +msgstr "" + +#: order/serializers.py:546 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:501 +#: order/serializers.py:549 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:509 +#: order/serializers.py:557 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:510 +#: order/serializers.py:558 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:549 order/serializers.py:1313 +#: order/serializers.py:598 order/serializers.py:1369 msgid "Line Item" msgstr "" -#: order/serializers.py:555 +#: order/serializers.py:604 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:565 order/serializers.py:673 order/serializers.py:1657 +#: order/serializers.py:614 order/serializers.py:722 order/serializers.py:1715 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:581 templates/js/translated/purchase_order.js:1130 +#: order/serializers.py:630 templates/js/translated/purchase_order.js:1130 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:589 templates/js/translated/purchase_order.js:1154 +#: order/serializers.py:638 templates/js/translated/purchase_order.js:1154 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:600 templates/js/translated/barcode.js:52 +#: order/serializers.py:649 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:601 +#: order/serializers.py:650 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:617 +#: order/serializers.py:666 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:641 +#: order/serializers.py:690 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:689 order/serializers.py:1673 +#: order/serializers.py:738 order/serializers.py:1731 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:705 +#: order/serializers.py:754 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:716 +#: order/serializers.py:765 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1062 +#: order/serializers.py:1117 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1122 +#: order/serializers.py:1178 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1183 order/serializers.py:1322 +#: order/serializers.py:1239 order/serializers.py:1378 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1202 +#: order/serializers.py:1258 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1332 +#: order/serializers.py:1388 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1354 order/serializers.py:1460 +#: order/serializers.py:1410 order/serializers.py:1516 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1357 order/serializers.py:1463 +#: order/serializers.py:1413 order/serializers.py:1519 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1404 +#: order/serializers.py:1460 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1411 +#: order/serializers.py:1467 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1627 +#: order/serializers.py:1685 msgid "Return order line item" msgstr "" -#: order/serializers.py:1633 +#: order/serializers.py:1691 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1636 +#: order/serializers.py:1694 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1665 +#: order/serializers.py:1723 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1743 +#: order/serializers.py:1806 msgid "Line price currency" msgstr "" @@ -5808,7 +6047,7 @@ msgstr "" #: 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:1073 +#: templates/js/translated/part.js:1076 #: templates/js/translated/purchase_order.js:1752 #: templates/js/translated/return_order.js:380 #: templates/js/translated/sales_order.js:891 @@ -5904,34 +6143,29 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:398 part/models.py:3944 part/stocktake.py:219 +#: part/admin.py:39 part/admin.py:398 part/models.py:3991 part/stocktake.py:219 #: stock/admin.py:152 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:405 part/models.py:3945 part/stocktake.py:220 -#: stock/admin.py:156 -msgid "Part Name" -msgstr "" - #: part/admin.py:45 part/stocktake.py:221 msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:940 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:944 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 -#: templates/js/translated/part.js:1227 templates/js/translated/part.js:2341 +#: templates/js/translated/part.js:1230 templates/js/translated/part.js:2344 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:949 part/templates/part/part_base.html:277 -#: report/models.py:162 templates/js/translated/part.js:1232 -#: templates/js/translated/part.js:2347 +#: part/admin.py:50 part/models.py:953 part/templates/part/part_base.html:277 +#: report/models.py:162 templates/js/translated/part.js:1235 +#: templates/js/translated/part.js:2350 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:319 part/models.py:922 +#: part/admin.py:53 part/admin.py:319 part/models.py:926 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5944,7 +6178,8 @@ msgstr "" msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:304 part/stocktake.py:223 +#: part/admin.py:67 part/admin.py:304 part/serializers.py:837 +#: part/stocktake.py:223 msgid "Category Name" msgstr "" @@ -5956,11 +6191,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:908 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:912 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1036 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1040 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5968,18 +6203,19 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:150 part/templates/part/part_base.html:241 stock/admin.py:235 -#: templates/js/translated/part.js:715 templates/js/translated/part.js:2153 +#: part/admin.py:150 part/serializers.py:854 +#: part/templates/part/part_base.html:241 stock/admin.py:235 +#: templates/js/translated/part.js:714 templates/js/translated/part.js:2156 msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3088 part/models.py:3102 -#: templates/js/translated/part.js:970 +#: part/admin.py:155 part/models.py:3098 part/models.py:3112 +#: templates/js/translated/part.js:973 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3095 part/models.py:3109 -#: templates/js/translated/part.js:980 +#: part/admin.py:158 part/models.py:3105 part/models.py:3119 +#: templates/js/translated/part.js:983 msgid "Maximum Cost" msgstr "" @@ -5996,14 +6232,14 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:396 part/serializers.py:124 -#: part/serializers.py:267 part/serializers.py:386 +#: part/admin.py:325 part/models.py:397 part/serializers.py:130 +#: part/serializers.py:282 part/serializers.py:404 #: 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:2807 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:203 msgid "Parts" msgstr "" @@ -6020,125 +6256,117 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:402 part/models.py:3946 -msgid "Part IPN" -msgstr "" - -#: part/admin.py:415 part/serializers.py:1274 +#: part/admin.py:415 part/serializers.py:1302 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:420 part/serializers.py:1289 +#: part/admin.py:420 part/serializers.py:1317 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "" -#: part/api.py:104 +#: part/api.py:105 msgid "Starred" msgstr "" -#: part/api.py:106 +#: part/api.py:107 msgid "Filter by starred categories" msgstr "" -#: part/api.py:123 stock/api.py:312 +#: part/api.py:124 stock/api.py:312 msgid "Depth" msgstr "" -#: part/api.py:123 +#: part/api.py:124 msgid "Filter by category depth" msgstr "" -#: part/api.py:141 stock/api.py:330 +#: part/api.py:142 stock/api.py:330 msgid "Top Level" msgstr "" -#: part/api.py:143 +#: part/api.py:144 msgid "Filter by top-level categories" msgstr "" -#: part/api.py:156 stock/api.py:345 +#: part/api.py:157 stock/api.py:345 msgid "Cascade" msgstr "" -#: part/api.py:158 +#: part/api.py:159 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:179 templates/js/translated/part.js:308 +#: part/api.py:180 templates/js/translated/part.js:307 msgid "Parent" msgstr "" -#: part/api.py:181 +#: part/api.py:182 msgid "Filter by parent category" msgstr "" -#: part/api.py:214 +#: part/api.py:215 msgid "Exclude Tree" msgstr "" -#: part/api.py:216 +#: part/api.py:217 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:449 +#: part/api.py:442 msgid "Has Results" msgstr "" -#: part/api.py:616 +#: part/api.py:609 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:634 +#: part/api.py:627 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:650 +#: part/api.py:643 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:734 +#: part/api.py:727 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:881 -msgid "Valid" -msgstr "" - -#: part/api.py:882 +#: part/api.py:875 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:888 +#: part/api.py:881 msgid "This option must be selected" msgstr "" -#: part/api.py:1105 +#: part/api.py:1098 msgid "BOM Valid" msgstr "" -#: part/api.py:1508 part/models.py:932 part/models.py:3374 part/models.py:3889 -#: part/serializers.py:401 part/serializers.py:1130 -#: part/templates/part/part_base.html:260 stock/api.py:791 +#: part/api.py:1494 part/models.py:936 part/models.py:3385 part/models.py:3936 +#: part/serializers.py:419 part/serializers.py:1158 +#: part/templates/part/part_base.html:260 stock/api.py:783 #: 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:2380 msgid "Category" msgstr "" -#: part/api.py:1796 +#: part/api.py:1784 msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:104 part/models.py:975 +#: part/bom.py:170 part/models.py:104 part/models.py:979 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:833 +#: part/bom.py:171 part/serializers.py:861 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6147,7 +6375,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:85 part/models.py:3890 part/templates/part/category.html:16 +#: part/models.py:85 part/models.py:3937 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -6162,7 +6390,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:110 stock/models.py:175 templates/js/translated/part.js:2810 +#: part/models.py:110 stock/models.py:175 templates/js/translated/part.js:2813 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 @@ -6194,1002 +6422,1035 @@ msgstr "" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:485 +#: part/models.py:486 +msgid "Cannot delete this part as it is locked" +msgstr "" + +#: part/models.py:489 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:490 +#: part/models.py:494 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:528 +#: part/models.py:532 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:576 part/models.py:583 +#: part/models.py:580 part/models.py:587 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:595 +#: part/models.py:599 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:658 +#: part/models.py:662 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:736 +#: part/models.py:740 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:837 +#: part/models.py:841 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:847 +#: part/models.py:851 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:862 +#: part/models.py:866 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:891 part/models.py:3945 +#: part/models.py:895 part/models.py:3992 msgid "Part name" msgstr "" -#: part/models.py:896 +#: part/models.py:900 msgid "Is Template" msgstr "" -#: part/models.py:897 +#: part/models.py:901 msgid "Is this part a template part?" msgstr "" -#: part/models.py:907 +#: part/models.py:911 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:915 +#: part/models.py:919 msgid "Part description (optional)" msgstr "" -#: part/models.py:923 +#: part/models.py:927 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:933 +#: part/models.py:937 msgid "Part category" msgstr "" -#: part/models.py:941 -msgid "Internal Part Number" -msgstr "" - -#: part/models.py:948 +#: part/models.py:952 msgid "Part revision or version number" msgstr "" -#: part/models.py:973 +#: part/models.py:977 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1019 part/templates/part/part_base.html:376 +#: part/models.py:1023 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:1020 +#: part/models.py:1024 msgid "Default supplier part" msgstr "" -#: part/models.py:1027 +#: part/models.py:1031 msgid "Default Expiry" msgstr "" -#: part/models.py:1028 +#: part/models.py:1032 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1037 +#: part/models.py:1041 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1046 +#: part/models.py:1050 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1053 +#: part/models.py:1057 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1059 +#: part/models.py:1063 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1065 +#: part/models.py:1069 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1071 +#: part/models.py:1075 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1077 +#: part/models.py:1081 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1081 +#: part/models.py:1085 msgid "Is this part active?" msgstr "" -#: part/models.py:1087 +#: part/models.py:1090 templates/js/translated/part.js:818 +#: templates/js/translated/table_filters.js:721 +msgid "Locked" +msgstr "" + +#: part/models.py:1091 +msgid "Locked parts cannot be edited" +msgstr "" + +#: part/models.py:1097 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1093 +#: part/models.py:1103 msgid "BOM checksum" msgstr "" -#: part/models.py:1094 +#: part/models.py:1104 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1102 +#: part/models.py:1112 msgid "BOM checked by" msgstr "" -#: part/models.py:1107 +#: part/models.py:1117 msgid "BOM checked date" msgstr "" -#: part/models.py:1123 +#: part/models.py:1133 msgid "Creation User" msgstr "" -#: part/models.py:1133 +#: part/models.py:1143 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1138 part/templates/part/part_base.html:339 +#: part/models.py:1148 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:2474 msgid "Last Stocktake" msgstr "" -#: part/models.py:2011 +#: part/models.py:2021 msgid "Sell multiple" msgstr "" -#: part/models.py:3002 +#: part/models.py:3012 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3018 +#: part/models.py:3028 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3019 +#: part/models.py:3029 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3025 +#: part/models.py:3035 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3026 +#: part/models.py:3036 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3032 +#: part/models.py:3042 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3033 +#: part/models.py:3043 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3039 +#: part/models.py:3049 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3040 +#: part/models.py:3050 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3046 +#: part/models.py:3056 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3047 +#: part/models.py:3057 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3053 +#: part/models.py:3063 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3054 +#: part/models.py:3064 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3060 +#: part/models.py:3070 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3061 +#: part/models.py:3071 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3067 +#: part/models.py:3077 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3068 +#: part/models.py:3078 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3074 +#: part/models.py:3084 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3075 +#: part/models.py:3085 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3081 +#: part/models.py:3091 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3082 +#: part/models.py:3092 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3089 +#: part/models.py:3099 msgid "Override minimum cost" msgstr "" -#: part/models.py:3096 +#: part/models.py:3106 msgid "Override maximum cost" msgstr "" -#: part/models.py:3103 +#: part/models.py:3113 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3110 +#: part/models.py:3120 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3116 +#: part/models.py:3126 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3117 +#: part/models.py:3127 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3123 +#: part/models.py:3133 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3124 +#: part/models.py:3134 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3130 +#: part/models.py:3140 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3131 +#: part/models.py:3141 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3137 +#: part/models.py:3147 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3138 +#: part/models.py:3148 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3157 +#: part/models.py:3167 msgid "Part for stocktake" msgstr "" -#: part/models.py:3162 +#: part/models.py:3172 msgid "Item Count" msgstr "" -#: part/models.py:3163 +#: part/models.py:3173 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3171 +#: part/models.py:3181 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3175 part/models.py:3258 +#: part/models.py:3185 part/models.py:3268 #: part/templates/part/part_scheduling.html:13 #: 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:1086 templates/js/translated/pricing.js:826 +#: templates/js/translated/part.js:1089 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 #: templates/js/translated/purchase_order.js:1731 #: templates/js/translated/stock.js:2821 msgid "Date" msgstr "" -#: part/models.py:3176 +#: part/models.py:3186 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3184 +#: part/models.py:3194 msgid "Additional notes" msgstr "" -#: part/models.py:3194 +#: part/models.py:3204 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3200 +#: part/models.py:3210 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3201 +#: part/models.py:3211 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3207 +#: part/models.py:3217 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3208 +#: part/models.py:3218 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3264 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3274 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3265 +#: part/models.py:3275 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3270 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3280 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3271 +#: part/models.py:3281 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3281 +#: part/models.py:3291 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3423 +#: part/models.py:3301 +msgid "Part Sale Price Break" +msgstr "" + +#: part/models.py:3413 +msgid "Part Test Template" +msgstr "" + +#: part/models.py:3439 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3444 part/models.py:3608 +#: part/models.py:3460 part/models.py:3629 msgid "Choices must be unique" msgstr "" -#: part/models.py:3455 +#: part/models.py:3471 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3466 +#: part/models.py:3482 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3483 templates/js/translated/part.js:2880 +#: part/models.py:3499 templates/js/translated/part.js:2883 msgid "Test Name" msgstr "" -#: part/models.py:3484 +#: part/models.py:3500 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3490 +#: part/models.py:3506 msgid "Test Key" msgstr "" -#: part/models.py:3491 +#: part/models.py:3507 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3498 +#: part/models.py:3514 msgid "Test Description" msgstr "" -#: part/models.py:3499 +#: part/models.py:3515 msgid "Enter description for this test" msgstr "" -#: part/models.py:3503 report/models.py:209 -#: templates/js/translated/part.js:2901 +#: part/models.py:3519 report/models.py:209 +#: templates/js/translated/part.js:2904 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "" -#: part/models.py:3503 +#: part/models.py:3519 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3508 templates/js/translated/part.js:2909 +#: part/models.py:3524 templates/js/translated/part.js:2912 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3509 +#: part/models.py:3525 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3514 templates/js/translated/part.js:2917 +#: part/models.py:3530 templates/js/translated/part.js:2920 msgid "Requires Value" msgstr "" -#: part/models.py:3515 +#: part/models.py:3531 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3520 templates/js/translated/part.js:2924 +#: part/models.py:3536 templates/js/translated/part.js:2927 msgid "Requires Attachment" msgstr "" -#: part/models.py:3522 +#: part/models.py:3538 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3528 part/models.py:3667 templates/js/translated/part.js:1637 +#: part/models.py:3544 part/models.py:3688 templates/js/translated/part.js:1640 msgid "Choices" msgstr "" -#: part/models.py:3529 +#: part/models.py:3545 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3583 +#: part/models.py:3577 +msgid "Part Parameter Template" +msgstr "" + +#: part/models.py:3604 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3588 +#: part/models.py:3609 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3625 +#: part/models.py:3646 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3640 +#: part/models.py:3661 msgid "Parameter Name" msgstr "" -#: part/models.py:3647 +#: part/models.py:3668 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3655 +#: part/models.py:3676 msgid "Parameter description" msgstr "" -#: part/models.py:3661 templates/js/translated/part.js:1628 -#: templates/js/translated/table_filters.js:825 +#: part/models.py:3682 templates/js/translated/part.js:1631 +#: templates/js/translated/table_filters.js:830 msgid "Checkbox" msgstr "" -#: part/models.py:3662 +#: part/models.py:3683 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3668 +#: part/models.py:3689 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3745 +#: part/models.py:3723 +msgid "Part Parameter" +msgstr "" + +#: part/models.py:3749 +msgid "Parameter cannot be modified - part is locked" +msgstr "" + +#: part/models.py:3785 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3788 +#: part/models.py:3828 msgid "Parent Part" msgstr "" -#: part/models.py:3796 part/models.py:3897 part/models.py:3898 +#: part/models.py:3836 part/models.py:3944 part/models.py:3945 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3801 -msgid "Data" +#: part/models.py:3842 +msgid "Parameter Value" msgstr "" -#: part/models.py:3802 -msgid "Parameter Value" +#: part/models.py:3892 +msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:3904 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3951 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3905 +#: part/models.py:3952 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3943 +#: part/models.py:3990 msgid "Part ID or part name" msgstr "" -#: part/models.py:3944 +#: part/models.py:3991 msgid "Unique part ID value" msgstr "" -#: part/models.py:3946 +#: part/models.py:3993 msgid "Part IPN value" msgstr "" -#: part/models.py:3947 +#: part/models.py:3994 msgid "Level" msgstr "" -#: part/models.py:3947 +#: part/models.py:3994 msgid "BOM level" msgstr "" -#: part/models.py:4037 +#: part/models.py:4105 +msgid "BOM item cannot be modified - assembly is locked" +msgstr "" + +#: part/models.py:4112 +msgid "BOM item cannot be modified - variant assembly is locked" +msgstr "" + +#: part/models.py:4122 msgid "Select parent part" msgstr "" -#: part/models.py:4047 +#: part/models.py:4132 msgid "Sub part" msgstr "" -#: part/models.py:4048 +#: part/models.py:4133 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4059 +#: part/models.py:4144 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4065 +#: part/models.py:4150 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4071 +#: part/models.py:4156 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4078 part/templates/part/upload_bom.html:55 +#: part/models.py:4163 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4079 +#: part/models.py:4164 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4086 +#: part/models.py:4171 msgid "BOM item reference" msgstr "" -#: part/models.py:4094 +#: part/models.py:4179 msgid "BOM item notes" msgstr "" -#: part/models.py:4100 +#: part/models.py:4185 msgid "Checksum" msgstr "" -#: part/models.py:4101 +#: part/models.py:4186 msgid "BOM line checksum" msgstr "" -#: part/models.py:4106 templates/js/translated/table_filters.js:174 +#: part/models.py:4191 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4107 +#: part/models.py:4192 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4112 part/templates/part/upload_bom.html:57 +#: part/models.py:4197 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:4113 +#: part/models.py:4198 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4118 part/templates/part/upload_bom.html:56 +#: part/models.py:4203 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4119 +#: part/models.py:4204 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4204 stock/models.py:663 +#: part/models.py:4289 stock/models.py:663 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4214 part/models.py:4216 +#: part/models.py:4299 part/models.py:4301 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4354 +#: part/models.py:4439 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4375 +#: part/models.py:4460 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4388 +#: part/models.py:4473 msgid "Parent BOM item" msgstr "" -#: part/models.py:4396 +#: part/models.py:4481 msgid "Substitute part" msgstr "" -#: part/models.py:4412 +#: part/models.py:4497 msgid "Part 1" msgstr "" -#: part/models.py:4420 +#: part/models.py:4505 msgid "Part 2" msgstr "" -#: part/models.py:4421 +#: part/models.py:4506 msgid "Select Related Part" msgstr "" -#: part/models.py:4440 +#: part/models.py:4525 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4445 +#: part/models.py:4530 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:118 +#: part/serializers.py:124 msgid "Parent Category" msgstr "" -#: part/serializers.py:119 templates/js/translated/part.js:309 +#: part/serializers.py:125 templates/js/translated/part.js:308 msgid "Parent part category" msgstr "" -#: part/serializers.py:126 part/serializers.py:148 +#: part/serializers.py:132 part/serializers.py:154 #: part/templates/part/category.html:122 part/templates/part/category.html:207 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" -#: part/serializers.py:180 +#: part/serializers.py:189 msgid "Results" msgstr "" -#: part/serializers.py:181 +#: part/serializers.py:190 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:205 part/serializers.py:223 stock/serializers.py:562 +#: part/serializers.py:217 part/serializers.py:235 stock/serializers.py:608 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:268 +#: part/serializers.py:283 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:392 +#: part/serializers.py:410 msgid "No parts selected" msgstr "" -#: part/serializers.py:402 +#: part/serializers.py:420 msgid "Select category" msgstr "" -#: part/serializers.py:437 +#: part/serializers.py:455 msgid "Original Part" msgstr "" -#: part/serializers.py:438 +#: part/serializers.py:456 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:461 msgid "Copy Image" msgstr "" -#: part/serializers.py:444 +#: part/serializers.py:462 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:450 part/templates/part/detail.html:277 +#: part/serializers.py:468 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:451 +#: part/serializers.py:469 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:457 +#: part/serializers.py:475 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:458 +#: part/serializers.py:476 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:464 +#: part/serializers.py:482 msgid "Copy Notes" msgstr "" -#: part/serializers.py:465 +#: part/serializers.py:483 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:483 +#: part/serializers.py:501 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:485 +#: part/serializers.py:503 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:492 +#: part/serializers.py:510 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:493 +#: part/serializers.py:511 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:510 +#: part/serializers.py:528 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:526 +#: part/serializers.py:544 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:536 +#: part/serializers.py:554 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:543 +#: part/serializers.py:561 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:552 +#: part/serializers.py:570 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:563 +#: part/serializers.py:581 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:570 +#: part/serializers.py:588 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:834 -msgid "External Stock" -msgstr "" - -#: part/serializers.py:836 +#: part/serializers.py:864 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:839 +#: part/serializers.py:867 msgid "Variant Stock" msgstr "" -#: part/serializers.py:869 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:472 +#: part/serializers.py:897 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:870 +#: part/serializers.py:898 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:876 templates/js/translated/part.js:102 +#: part/serializers.py:904 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:877 +#: part/serializers.py:905 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:883 +#: part/serializers.py:911 msgid "Supplier Information" msgstr "" -#: part/serializers.py:884 +#: part/serializers.py:912 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:892 +#: part/serializers.py:920 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:893 +#: part/serializers.py:921 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:898 +#: part/serializers.py:926 msgid "Existing Image" msgstr "" -#: part/serializers.py:899 +#: part/serializers.py:927 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:916 +#: part/serializers.py:944 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1122 +#: part/serializers.py:1150 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1132 +#: part/serializers.py:1160 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1142 +#: part/serializers.py:1170 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1148 +#: part/serializers.py:1176 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1149 +#: part/serializers.py:1177 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1154 +#: part/serializers.py:1182 msgid "Generate Report" msgstr "" -#: part/serializers.py:1155 +#: part/serializers.py:1183 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1160 +#: part/serializers.py:1188 msgid "Update Parts" msgstr "" -#: part/serializers.py:1161 +#: part/serializers.py:1189 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1169 +#: part/serializers.py:1197 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1275 +#: part/serializers.py:1303 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1282 +#: part/serializers.py:1310 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1290 +#: part/serializers.py:1318 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1297 +#: part/serializers.py:1325 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1326 +#: part/serializers.py:1354 msgid "Update" msgstr "" -#: part/serializers.py:1327 +#: part/serializers.py:1355 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1350 +#: part/serializers.py:1378 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1357 +#: part/serializers.py:1385 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1360 +#: part/serializers.py:1388 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1727 +#: part/serializers.py:1759 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1735 +#: part/serializers.py:1767 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1736 +#: part/serializers.py:1768 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1741 +#: part/serializers.py:1773 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1742 +#: part/serializers.py:1774 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1747 +#: part/serializers.py:1779 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1748 +#: part/serializers.py:1780 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1753 +#: part/serializers.py:1785 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1754 +#: part/serializers.py:1786 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1788 +#: part/serializers.py:1823 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1789 +#: part/serializers.py:1824 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1819 +#: part/serializers.py:1856 msgid "No part column specified" msgstr "" -#: part/serializers.py:1863 +#: part/serializers.py:1900 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1866 +#: part/serializers.py:1903 msgid "No matching part found" msgstr "" -#: part/serializers.py:1869 +#: part/serializers.py:1906 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1878 +#: part/serializers.py:1915 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1886 +#: part/serializers.py:1923 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1907 +#: part/serializers.py:1946 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:225 templates/js/translated/part.js:1067 -#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 +#: part/stocktake.py:225 templates/js/translated/part.js:1070 +#: templates/js/translated/part.js:1825 templates/js/translated/part.js:1881 #: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "" @@ -7507,7 +7768,7 @@ msgstr "" #: part/templates/part/part_base.html:52 #: stock/templates/stock/item_base.html:62 -#: stock/templates/stock/location.html:74 templates/js/translated/label.js:143 +#: stock/templates/stock/location.html:74 templates/js/translated/label.js:136 msgid "Print Label" msgstr "" @@ -7529,7 +7790,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:2296 msgid "Part actions" msgstr "" @@ -7569,6 +7830,10 @@ msgstr "" msgid "Part can be sold to customers" msgstr "" +#: part/templates/part/part_base.html:145 +msgid "Part is not active" +msgstr "" + #: part/templates/part/part_base.html:153 msgid "Part is virtual (not a physical part)" msgstr "" @@ -7597,7 +7862,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:322 templates/js/translated/bom.js:1071 -#: templates/js/translated/part.js:1265 templates/js/translated/part.js:2444 +#: templates/js/translated/part.js:1268 templates/js/translated/part.js:2447 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" @@ -7690,8 +7955,8 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/part.js:1243 templates/js/translated/part.js:2146 -#: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 +#: templates/js/translated/part.js:1246 templates/js/translated/part.js:2149 +#: templates/js/translated/part.js:2395 templates/js/translated/stock.js:1059 #: templates/js/translated/stock.js:2070 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -7811,8 +8076,8 @@ msgstr "" #: part/templates/part/stock_count.html:7 #: templates/js/translated/model_renderers.js:227 -#: templates/js/translated/part.js:705 templates/js/translated/part.js:2141 -#: templates/js/translated/part.js:2143 +#: templates/js/translated/part.js:704 templates/js/translated/part.js:2144 +#: templates/js/translated/part.js:2146 msgid "No Stock" msgstr "" @@ -7956,7 +8221,7 @@ msgstr "" msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2589 +#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2590 #: templates/js/translated/sales_order.js:1953 msgid "Insufficient stock available" msgstr "" @@ -8051,7 +8316,7 @@ msgstr "" msgid "Quantity to allocate" msgstr "" -#: plugin/base/label/label.py:39 templates/js/translated/label.js:155 +#: plugin/base/label/label.py:39 templates/js/translated/label.js:148 msgid "Label printing failed" msgstr "" @@ -8748,7 +9013,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report.html:25 #: report/templates/report/inventree_test_report.html:88 stock/models.py:825 -#: stock/serializers.py:149 stock/templates/stock/item_base.html:311 +#: stock/serializers.py:151 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:230 @@ -8778,7 +9043,7 @@ msgstr "" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2447 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2457 msgid "Result" msgstr "" @@ -8799,7 +9064,7 @@ msgid "No result" msgstr "" #: report/templates/report/inventree_test_report.html:153 -#: stock/templates/stock/stock_sidebar.html:16 +#: stock/serializers.py:591 stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" @@ -8829,10 +9094,6 @@ msgstr "" msgid "Location ID" msgstr "" -#: stock/admin.py:53 stock/admin.py:175 -msgid "Location Name" -msgstr "" - #: stock/admin.py:63 stock/templates/stock/location.html:131 #: stock/templates/stock/location.html:137 msgid "Location Path" @@ -8909,7 +9170,7 @@ msgstr "" msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:369 stock/serializers.py:1085 +#: stock/api.py:369 stock/serializers.py:1148 msgid "Parent Location" msgstr "" @@ -8917,44 +9178,45 @@ msgstr "" msgid "Filter by parent location" msgstr "" -#: stock/api.py:625 templates/js/translated/table_filters.js:427 +#: stock/api.py:617 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:813 +#: stock/api.py:805 msgid "Part Tree" msgstr "" -#: stock/api.py:843 +#: stock/api.py:835 msgid "Expiry date before" msgstr "" -#: stock/api.py:847 +#: stock/api.py:839 msgid "Expiry date after" msgstr "" -#: stock/api.py:850 stock/templates/stock/item_base.html:439 +#: stock/api.py:842 stock/serializers.py:596 +#: stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "" -#: stock/api.py:937 +#: stock/api.py:929 msgid "Quantity is required" msgstr "" -#: stock/api.py:943 +#: stock/api.py:935 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:974 +#: stock/api.py:966 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:984 +#: stock/api.py:976 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1015 +#: stock/api.py:1007 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -9021,7 +9283,7 @@ msgstr "" msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:669 stock/serializers.py:446 +#: stock/models.py:669 stock/serializers.py:477 msgid "Stock item cannot be created for virtual parts" msgstr "" @@ -9066,7 +9328,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:799 stock/serializers.py:1476 +#: stock/models.py:799 stock/serializers.py:1542 msgid "Packaging this stock item is stored in" msgstr "" @@ -9078,7 +9340,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:843 stock/serializers.py:1459 +#: stock/models.py:843 stock/serializers.py:1525 msgid "Batch code for this stock item" msgstr "" @@ -9155,7 +9417,7 @@ msgstr "" msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1520 stock/serializers.py:660 +#: stock/models.py:1520 stock/serializers.py:718 msgid "Serial numbers already exist" msgstr "" @@ -9187,7 +9449,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1658 stock/serializers.py:1365 +#: stock/models.py:1658 stock/serializers.py:1431 msgid "Duplicate stock items" msgstr "" @@ -9207,288 +9469,330 @@ msgstr "" msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2345 +#: stock/models.py:2317 +msgid "Stock Item Tracking" +msgstr "" + +#: stock/models.py:2350 msgid "Entry notes" msgstr "" -#: stock/models.py:2413 +#: stock/models.py:2390 +msgid "Stock Item Test Result" +msgstr "" + +#: stock/models.py:2423 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2418 +#: stock/models.py:2428 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2423 +#: stock/models.py:2433 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2447 +#: stock/models.py:2457 msgid "Test result" msgstr "" -#: stock/models.py:2454 +#: stock/models.py:2464 msgid "Test output value" msgstr "" -#: stock/models.py:2462 +#: stock/models.py:2472 msgid "Test result attachment" msgstr "" -#: stock/models.py:2466 +#: stock/models.py:2476 msgid "Test notes" msgstr "" -#: stock/models.py:2474 templates/js/translated/stock.js:1548 +#: stock/models.py:2484 templates/js/translated/stock.js:1548 msgid "Test station" msgstr "" -#: stock/models.py:2475 +#: stock/models.py:2485 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2481 +#: stock/models.py:2491 msgid "Started" msgstr "" -#: stock/models.py:2482 +#: stock/models.py:2492 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2488 +#: stock/models.py:2498 msgid "Finished" msgstr "" -#: stock/models.py:2489 +#: stock/models.py:2499 msgid "The timestamp of the test finish" msgstr "" -#: stock/serializers.py:74 +#: stock/serializers.py:76 msgid "Generated batch code" msgstr "" -#: stock/serializers.py:83 +#: stock/serializers.py:85 msgid "Select build order" msgstr "" -#: stock/serializers.py:92 +#: stock/serializers.py:94 msgid "Select stock item to generate batch code for" msgstr "" -#: stock/serializers.py:101 +#: stock/serializers.py:103 msgid "Select location to generate batch code for" msgstr "" -#: stock/serializers.py:110 +#: stock/serializers.py:112 msgid "Select part to generate batch code for" msgstr "" -#: stock/serializers.py:119 +#: stock/serializers.py:121 msgid "Select purchase order" msgstr "" -#: stock/serializers.py:126 +#: stock/serializers.py:128 msgid "Enter quantity for batch code" msgstr "" -#: stock/serializers.py:149 +#: stock/serializers.py:151 msgid "Generated serial number" msgstr "" -#: stock/serializers.py:158 +#: stock/serializers.py:160 msgid "Select part to generate serial number for" msgstr "" -#: stock/serializers.py:166 +#: stock/serializers.py:168 msgid "Quantity of serial numbers to generate" msgstr "" -#: stock/serializers.py:228 +#: stock/serializers.py:233 msgid "Test template for this result" msgstr "" -#: stock/serializers.py:247 +#: stock/serializers.py:252 msgid "Template ID or test name must be provided" msgstr "" -#: stock/serializers.py:279 +#: stock/serializers.py:284 msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:315 +#: stock/serializers.py:320 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:438 +#: stock/serializers.py:449 stock/templates/stock/item_base.html:193 +msgid "Parent Item" +msgstr "" + +#: stock/serializers.py:450 +msgid "Parent stock item" +msgstr "" + +#: stock/serializers.py:469 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:558 +#: stock/serializers.py:585 templates/js/translated/build.js:991 +#: templates/js/translated/build.js:2344 +msgid "Allocated Quantity" +msgstr "" + +#: stock/serializers.py:588 stock/templates/stock/item_base.html:437 +#: templates/js/translated/table_filters.js:435 users/models.py:174 +msgid "Expired" +msgstr "" + +#: stock/serializers.py:594 stock/templates/stock/stock_sidebar.html:20 +msgid "Child Items" +msgstr "" + +#: stock/serializers.py:598 +msgid "Tracking Items" +msgstr "" + +#: stock/serializers.py:604 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:595 +#: stock/serializers.py:623 +msgid "Minimum Pricing" +msgstr "" + +#: stock/serializers.py:629 +msgid "Maximum Pricing" +msgstr "" + +#: stock/serializers.py:653 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:608 +#: stock/serializers.py:666 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:615 +#: stock/serializers.py:673 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:626 stock/serializers.py:1322 stock/serializers.py:1578 +#: stock/serializers.py:684 stock/serializers.py:1388 stock/serializers.py:1644 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:633 +#: stock/serializers.py:691 msgid "Optional note field" msgstr "" -#: stock/serializers.py:643 +#: stock/serializers.py:701 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:698 +#: stock/serializers.py:756 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:705 +#: stock/serializers.py:763 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:706 +#: stock/serializers.py:764 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:711 stock/serializers.py:791 stock/serializers.py:887 -#: stock/serializers.py:937 +#: stock/serializers.py:769 stock/serializers.py:849 stock/serializers.py:945 +#: stock/serializers.py:995 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:719 +#: stock/serializers.py:777 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:727 +#: stock/serializers.py:785 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:738 +#: stock/serializers.py:796 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:751 +#: stock/serializers.py:809 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:786 +#: stock/serializers.py:844 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:821 +#: stock/serializers.py:879 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:834 +#: stock/serializers.py:892 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:851 +#: stock/serializers.py:909 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:882 +#: stock/serializers.py:940 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:919 +#: stock/serializers.py:977 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:925 +#: stock/serializers.py:983 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1021 stock/serializers.py:1093 +#: stock/serializers.py:1079 stock/serializers.py:1156 #: stock/templates/stock/location.html:165 #: stock/templates/stock/location.html:222 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1086 templates/js/translated/stock.js:152 +#: stock/serializers.py:1149 templates/js/translated/stock.js:152 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1194 +#: stock/serializers.py:1260 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1198 +#: stock/serializers.py:1264 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1202 +#: stock/serializers.py:1268 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1226 +#: stock/serializers.py:1292 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1232 +#: stock/serializers.py:1298 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1240 +#: stock/serializers.py:1306 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1250 stock/serializers.py:1504 +#: stock/serializers.py:1316 stock/serializers.py:1570 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1329 +#: stock/serializers.py:1395 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1334 +#: stock/serializers.py:1400 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1335 +#: stock/serializers.py:1401 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1340 +#: stock/serializers.py:1406 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1341 +#: stock/serializers.py:1407 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1351 +#: stock/serializers.py:1417 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1418 +#: stock/serializers.py:1484 msgid "No Change" msgstr "" -#: stock/serializers.py:1447 +#: stock/serializers.py:1513 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1466 +#: stock/serializers.py:1532 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1494 +#: stock/serializers.py:1560 msgid "Stock transaction notes" msgstr "" @@ -9757,10 +10061,6 @@ msgstr "" msgid "Build" msgstr "" -#: stock/templates/stock/item_base.html:193 -msgid "Parent Item" -msgstr "" - #: stock/templates/stock/item_base.html:211 msgid "No manufacturer set" msgstr "" @@ -9836,11 +10136,6 @@ msgstr "" msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:437 -#: templates/js/translated/table_filters.js:435 users/models.py:174 -msgid "Expired" -msgstr "" - #: stock/templates/stock/item_base.html:439 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" @@ -9988,10 +10283,6 @@ msgstr "" msgid "Allocations" msgstr "" -#: stock/templates/stock/stock_sidebar.html:20 -msgid "Child Items" -msgstr "" - #: templates/403.html:6 templates/403.html:12 templates/403_csrf.html:7 msgid "Permission Denied" msgstr "" @@ -10466,8 +10757,8 @@ 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:393 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:245 users/models.py:402 +#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 +#: templates/js/translated/stock.js:245 users/models.py:406 msgid "Delete" msgstr "" @@ -10507,12 +10798,12 @@ msgid "No category parameter templates found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:308 -#: templates/js/translated/part.js:1646 +#: templates/js/translated/part.js:1649 msgid "Edit Template" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:309 -#: templates/js/translated/part.js:1647 +#: templates/js/translated/part.js:1650 msgid "Delete Template" msgstr "" @@ -11145,7 +11436,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2556 +#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2557 msgid "Required Quantity" msgstr "" @@ -11159,7 +11450,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3219 +#: templates/js/translated/part.js:3222 msgid "Minimum Quantity" msgstr "" @@ -11514,7 +11805,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2500 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2501 msgid "Variant stock allowed" msgstr "" @@ -11534,30 +11825,30 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2621 +#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2622 msgid "External stock" msgstr "" -#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2595 +#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2596 #: templates/js/translated/sales_order.js:1946 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2599 +#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2600 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2601 -#: templates/js/translated/part.js:1257 +#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2602 +#: templates/js/translated/part.js:1260 #: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2603 +#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2604 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2586 +#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2587 msgid "Consumable item" msgstr "" @@ -11589,7 +11880,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2485 +#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2486 msgid "Required Part" msgstr "" @@ -11758,10 +12049,6 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:991 templates/js/translated/build.js:2344 -msgid "Allocated Quantity" -msgstr "" - #: templates/js/translated/build.js:1005 msgid "Location not specified" msgstr "" @@ -11873,9 +12160,9 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2117 templates/js/translated/build.js:2479 +#: templates/js/translated/build.js:2117 templates/js/translated/build.js:2480 #: templates/js/translated/forms.js:2163 templates/js/translated/forms.js:2179 -#: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 +#: templates/js/translated/part.js:2319 templates/js/translated/part.js:2745 #: templates/js/translated/stock.js:1983 templates/js/translated/stock.js:2710 msgid "Select" msgstr "" @@ -11906,59 +12193,59 @@ msgstr "" msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2455 +#: templates/js/translated/build.js:2456 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2456 +#: templates/js/translated/build.js:2457 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2474 +#: templates/js/translated/build.js:2475 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2504 templates/js/translated/part.js:791 -#: templates/js/translated/part.js:1203 +#: templates/js/translated/build.js:2505 templates/js/translated/part.js:790 +#: templates/js/translated/part.js:1206 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2539 +#: templates/js/translated/build.js:2540 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2591 +#: templates/js/translated/build.js:2592 #: templates/js/translated/sales_order.js:1951 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2646 +#: templates/js/translated/build.js:2647 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2653 +#: templates/js/translated/build.js:2654 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2654 +#: templates/js/translated/build.js:2655 msgid "Allocate tracked items against individual build outputs" msgstr "" -#: templates/js/translated/build.js:2662 +#: templates/js/translated/build.js:2663 #: templates/js/translated/sales_order.js:2052 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2667 templates/js/translated/stock.js:1868 +#: templates/js/translated/build.js:2668 templates/js/translated/stock.js:1868 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2671 +#: templates/js/translated/build.js:2672 #: templates/js/translated/sales_order.js:2046 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2675 +#: templates/js/translated/build.js:2676 msgid "Remove stock allocation" msgstr "" @@ -12105,7 +12392,7 @@ msgid "Delete Parameters" msgstr "" #: templates/js/translated/company.js:1191 -#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2245 +#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2248 msgid "Order parts" msgstr "" @@ -12122,34 +12409,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:1279 -#: templates/js/translated/company.js:1567 templates/js/translated/part.js:799 -#: templates/js/translated/part.js:1211 +#: templates/js/translated/company.js:1567 templates/js/translated/part.js:798 +#: templates/js/translated/part.js:1214 msgid "Template part" msgstr "" #: templates/js/translated/company.js:1283 -#: templates/js/translated/company.js:1571 templates/js/translated/part.js:803 -#: templates/js/translated/part.js:1215 +#: templates/js/translated/company.js:1571 templates/js/translated/part.js:802 +#: templates/js/translated/part.js:1218 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1465 +#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1468 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1528 +#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1531 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1529 +#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1532 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1434 +#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1437 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1550 +#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1553 msgid "Delete Parameter" msgstr "" @@ -12323,15 +12610,15 @@ msgstr "" msgid "No parts required for builds" msgstr "" -#: templates/js/translated/label.js:55 templates/js/translated/report.js:38 +#: templates/js/translated/label.js:48 templates/js/translated/report.js:38 msgid "Select Items" msgstr "" -#: templates/js/translated/label.js:56 templates/js/translated/report.js:39 +#: templates/js/translated/label.js:49 templates/js/translated/report.js:39 msgid "No items selected for printing" msgstr "" -#: templates/js/translated/label.js:150 +#: templates/js/translated/label.js:143 msgid "Labels sent to printer" msgstr "" @@ -12400,7 +12687,7 @@ msgstr "" #: templates/js/translated/news.js:38 #: templates/js/translated/notification.js:46 -#: templates/js/translated/part.js:1605 +#: templates/js/translated/part.js:1608 msgid "ID" msgstr "" @@ -12481,343 +12768,343 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:333 templates/js/translated/stock.js:175 +#: templates/js/translated/part.js:332 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:353 +#: templates/js/translated/part.js:352 msgid "Create Part Category" msgstr "" -#: templates/js/translated/part.js:356 +#: templates/js/translated/part.js:355 msgid "Create new category after this one" msgstr "" -#: templates/js/translated/part.js:357 +#: templates/js/translated/part.js:356 msgid "Part category created" msgstr "" -#: templates/js/translated/part.js:371 +#: templates/js/translated/part.js:370 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:384 +#: templates/js/translated/part.js:383 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:389 +#: templates/js/translated/part.js:388 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:398 +#: templates/js/translated/part.js:397 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:402 +#: templates/js/translated/part.js:401 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:407 +#: templates/js/translated/part.js:406 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:431 +#: templates/js/translated/part.js:430 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:433 +#: templates/js/translated/part.js:432 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:434 +#: templates/js/translated/part.js:433 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:462 +#: templates/js/translated/part.js:461 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:464 +#: templates/js/translated/part.js:463 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:475 +#: templates/js/translated/part.js:474 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:532 +#: templates/js/translated/part.js:531 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:533 +#: templates/js/translated/part.js:532 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:547 +#: templates/js/translated/part.js:546 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:549 +#: templates/js/translated/part.js:548 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:550 +#: templates/js/translated/part.js:549 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:551 +#: templates/js/translated/part.js:550 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:558 +#: templates/js/translated/part.js:557 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:594 +#: templates/js/translated/part.js:593 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:596 +#: templates/js/translated/part.js:595 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:601 +#: templates/js/translated/part.js:600 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:603 +#: templates/js/translated/part.js:602 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:620 +#: templates/js/translated/part.js:619 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:630 +#: templates/js/translated/part.js:629 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:633 +#: templates/js/translated/part.js:632 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:658 +#: templates/js/translated/part.js:657 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:686 -#: templates/js/translated/table_filters.js:747 +#: templates/js/translated/part.js:685 +#: templates/js/translated/table_filters.js:752 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:689 +#: templates/js/translated/part.js:688 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:749 +#: templates/js/translated/part.js:748 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:772 +#: templates/js/translated/part.js:771 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:795 templates/js/translated/part.js:1207 +#: templates/js/translated/part.js:794 templates/js/translated/part.js:1210 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:807 +#: templates/js/translated/part.js:806 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:811 +#: templates/js/translated/part.js:810 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:890 +#: templates/js/translated/part.js:893 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:890 +#: templates/js/translated/part.js:893 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:898 +#: templates/js/translated/part.js:901 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:902 +#: templates/js/translated/part.js:905 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:1051 +#: templates/js/translated/part.js:1054 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1109 templates/js/translated/part.js:1145 +#: templates/js/translated/part.js:1112 templates/js/translated/part.js:1148 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1113 templates/js/translated/part.js:1155 +#: templates/js/translated/part.js:1116 templates/js/translated/part.js:1158 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1282 +#: templates/js/translated/part.js:1285 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1600 +#: templates/js/translated/part.js:1603 msgid "No part parameter templates found" msgstr "" -#: templates/js/translated/part.js:1663 +#: templates/js/translated/part.js:1666 msgid "Edit Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1675 +#: templates/js/translated/part.js:1678 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/js/translated/part.js:1683 +#: templates/js/translated/part.js:1686 msgid "Delete Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1717 +#: templates/js/translated/part.js:1720 #: templates/js/translated/purchase_order.js:1654 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/part.js:1861 +#: templates/js/translated/part.js:1864 #: 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:1907 +#: templates/js/translated/part.js:1910 #: templates/js/translated/purchase_order.js:2220 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1970 +#: templates/js/translated/part.js:1973 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1992 +#: templates/js/translated/part.js:1995 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2080 templates/js/translated/part.js:2506 +#: templates/js/translated/part.js:2083 templates/js/translated/part.js:2509 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:2201 +#: templates/js/translated/part.js:2204 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2206 +#: templates/js/translated/part.js:2209 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2236 +#: templates/js/translated/part.js:2239 msgid "Set category" msgstr "" -#: templates/js/translated/part.js:2287 +#: templates/js/translated/part.js:2290 msgid "part" msgstr "" -#: templates/js/translated/part.js:2288 +#: templates/js/translated/part.js:2291 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2384 +#: templates/js/translated/part.js:2387 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 +#: templates/js/translated/part.js:2534 templates/js/translated/part.js:2664 #: templates/js/translated/stock.js:2669 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2547 +#: templates/js/translated/part.js:2550 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2645 +#: templates/js/translated/part.js:2648 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2689 +#: templates/js/translated/part.js:2684 templates/js/translated/stock.js:2689 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2761 +#: templates/js/translated/part.js:2764 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2777 +#: templates/js/translated/part.js:2780 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2865 +#: templates/js/translated/part.js:2868 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2887 templates/js/translated/search.js:342 +#: templates/js/translated/part.js:2890 templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/part.js:2937 templates/js/translated/stock.js:1456 +#: templates/js/translated/part.js:2940 templates/js/translated/stock.js:1456 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2938 templates/js/translated/stock.js:1457 +#: templates/js/translated/part.js:2941 templates/js/translated/stock.js:1457 #: templates/js/translated/stock.js:1731 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2942 +#: templates/js/translated/part.js:2945 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2958 +#: templates/js/translated/part.js:2961 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2972 +#: templates/js/translated/part.js:2975 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3051 templates/js/translated/part.js:3052 +#: templates/js/translated/part.js:3054 templates/js/translated/part.js:3055 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3054 +#: templates/js/translated/part.js:3057 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3060 +#: templates/js/translated/part.js:3063 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3110 +#: templates/js/translated/part.js:3113 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3116 +#: templates/js/translated/part.js:3119 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3212 +#: templates/js/translated/part.js:3215 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3228 +#: templates/js/translated/part.js:3231 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3273 +#: templates/js/translated/part.js:3276 msgid "Minimum Stock Level" msgstr "" @@ -13593,7 +13880,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1042 users/models.py:392 +#: templates/js/translated/stock.js:1042 users/models.py:396 msgid "Add" msgstr "" @@ -13947,7 +14234,7 @@ msgid "Include subcategories" msgstr "" #: templates/js/translated/table_filters.js:287 -#: templates/js/translated/table_filters.js:759 +#: templates/js/translated/table_filters.js:764 msgid "Subscribed" msgstr "" @@ -14102,40 +14389,44 @@ msgstr "" msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:725 +#: templates/js/translated/table_filters.js:722 +msgid "Show locked parts" +msgstr "" + +#: templates/js/translated/table_filters.js:730 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:733 -#: templates/js/translated/table_filters.js:833 +#: templates/js/translated/table_filters.js:738 +#: templates/js/translated/table_filters.js:838 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:734 +#: templates/js/translated/table_filters.js:739 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:738 +#: templates/js/translated/table_filters.js:743 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:739 +#: templates/js/translated/table_filters.js:744 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:743 +#: templates/js/translated/table_filters.js:748 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:751 +#: templates/js/translated/table_filters.js:756 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:763 +#: templates/js/translated/table_filters.js:768 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:829 +#: templates/js/translated/table_filters.js:834 msgid "Has Choices" msgstr "" @@ -14207,10 +14498,6 @@ msgstr "" msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:558 -msgid "Columns" -msgstr "" - #: templates/js/translated/tables.js:561 msgid "All" msgstr "" @@ -14484,35 +14771,34 @@ msgstr "" msgid "Revoked" msgstr "" -#: users/models.py:375 +#: users/models.py:379 msgid "Permission set" msgstr "" -#: users/models.py:384 +#: users/models.py:388 msgid "Group" msgstr "" -#: users/models.py:388 +#: users/models.py:392 msgid "View" msgstr "" -#: users/models.py:388 +#: users/models.py:392 msgid "Permission to view items" msgstr "" -#: users/models.py:392 +#: users/models.py:396 msgid "Permission to add items" msgstr "" -#: users/models.py:396 +#: users/models.py:400 msgid "Change" msgstr "" -#: users/models.py:398 +#: users/models.py:402 msgid "Permissions to edit items" msgstr "" -#: users/models.py:404 +#: users/models.py:408 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 c30301808d72..49319f63a010 100644 --- a/src/backend/InvenTree/locale/ru/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/ru/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-07-05 02:47+0000\n" +"POT-Creation-Date: 2024-07-08 14:46+0000\n" "PO-Revision-Date: 2024-07-05 14:58\n" "Last-Translator: \n" "Language-Team: Russian\n" @@ -21,7 +21,7 @@ msgstr "" msgid "API endpoint not found" msgstr "Конечная точка API не обнаружена" -#: InvenTree/api.py:520 +#: InvenTree/api.py:505 msgid "User does not have permission to view this model" msgstr "У пользователя недостаточно прав для просмотра этой модели!" @@ -56,21 +56,21 @@ msgstr "Подробности об ошибке можно найти в пан msgid "Enter date" msgstr "Введите дату" -#: InvenTree/fields.py:205 InvenTree/models.py:918 build/serializers.py:452 -#: build/serializers.py:530 build/templates/build/sidebar.html:21 -#: company/models.py:817 company/templates/company/sidebar.html:37 +#: InvenTree/fields.py:205 InvenTree/models.py:921 build/serializers.py:456 +#: build/serializers.py:534 build/templates/build/sidebar.html:21 +#: company/models.py:824 company/templates/company/sidebar.html:37 #: order/models.py:1296 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:3183 part/templates/part/part_sidebar.html:63 +#: part/models.py:3193 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:230 stock/models.py:2344 stock/models.py:2466 -#: stock/serializers.py:632 stock/serializers.py:790 stock/serializers.py:886 -#: stock/serializers.py:936 stock/serializers.py:1239 stock/serializers.py:1328 -#: stock/serializers.py:1493 stock/templates/stock/stock_sidebar.html:25 +#: stock/admin.py:230 stock/models.py:2349 stock/models.py:2476 +#: stock/serializers.py:690 stock/serializers.py:848 stock/serializers.py:944 +#: stock/serializers.py:994 stock/serializers.py:1305 stock/serializers.py:1394 +#: stock/serializers.py:1559 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:1081 +#: templates/js/translated/part.js:1084 #: templates/js/translated/purchase_order.js:2200 #: templates/js/translated/return_order.js:775 #: templates/js/translated/sales_order.js:1103 @@ -371,41 +371,41 @@ msgstr "Метаданные плагина" msgid "JSON metadata field, for use by external plugins" msgstr "Поле метаданных JSON для использования внешними плагинами" -#: InvenTree/models.py:408 +#: InvenTree/models.py:411 msgid "Improperly formatted pattern" msgstr "Неправильно отформатированный шаблон" -#: InvenTree/models.py:415 +#: InvenTree/models.py:418 msgid "Unknown format key specified" msgstr "Указан неизвестный ключ формата" -#: InvenTree/models.py:421 +#: InvenTree/models.py:424 msgid "Missing required format key" msgstr "Отсутствует требуемый ключ формата" -#: InvenTree/models.py:432 +#: InvenTree/models.py:435 msgid "Reference field cannot be empty" msgstr "Ссылочный идентификатор не может быть пустым" -#: InvenTree/models.py:440 +#: InvenTree/models.py:443 msgid "Reference must match required pattern" msgstr "Ссылка должна соответствовать шаблону {pattern}" -#: InvenTree/models.py:471 +#: InvenTree/models.py:474 msgid "Reference number is too large" msgstr "Номер ссылки слишком большой" -#: InvenTree/models.py:719 +#: InvenTree/models.py:722 msgid "Duplicate names cannot exist under the same parent" msgstr "Повторяющиеся имена не могут существовать под одним и тем же родителем" -#: InvenTree/models.py:736 +#: InvenTree/models.py:739 msgid "Invalid choice" msgstr "Неверный выбор" -#: InvenTree/models.py:766 common/models.py:2678 common/models.py:3103 -#: common/serializers.py:408 company/models.py:580 machine/models.py:24 -#: part/models.py:891 part/models.py:3639 plugin/models.py:51 +#: InvenTree/models.py:769 common/models.py:2659 common/models.py:3089 +#: common/serializers.py:412 company/models.py:587 machine/models.py:24 +#: part/models.py:895 part/models.py:3660 plugin/models.py:51 #: report/models.py:150 stock/models.py:74 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -417,20 +417,20 @@ msgstr "Неверный выбор" #: templates/js/translated/company.js:724 #: templates/js/translated/company.js:913 #: templates/js/translated/company.js:1165 -#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1187 -#: templates/js/translated/part.js:1475 templates/js/translated/part.js:1611 -#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2716 +#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1190 +#: templates/js/translated/part.js:1478 templates/js/translated/part.js:1614 +#: templates/js/translated/part.js:2752 templates/js/translated/stock.js:2716 msgid "Name" msgstr "Название" -#: InvenTree/models.py:772 build/models.py:235 -#: build/templates/build/detail.html:24 common/models.py:138 -#: company/models.py:509 company/models.py:808 +#: InvenTree/models.py:775 build/models.py:242 +#: build/templates/build/detail.html:24 common/models.py:143 +#: company/models.py:515 company/models.py:815 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 -#: order/models.py:1329 part/admin.py:305 part/admin.py:408 part/models.py:914 -#: part/models.py:3654 part/templates/part/category.html:82 +#: order/models.py:1329 part/admin.py:305 part/admin.py:408 part/models.py:918 +#: part/models.py:3675 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:156 #: report/models.py:510 report/models.py:536 @@ -444,10 +444,10 @@ msgstr "Название" #: templates/js/translated/build.js:2139 templates/js/translated/company.js:519 #: templates/js/translated/company.js:1330 #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 -#: templates/js/translated/order.js:298 templates/js/translated/part.js:1239 -#: templates/js/translated/part.js:1484 templates/js/translated/part.js:1622 -#: templates/js/translated/part.js:1959 templates/js/translated/part.js:2355 -#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2897 +#: templates/js/translated/order.js:298 templates/js/translated/part.js:1242 +#: templates/js/translated/part.js:1487 templates/js/translated/part.js:1625 +#: templates/js/translated/part.js:1962 templates/js/translated/part.js:2358 +#: templates/js/translated/part.js:2788 templates/js/translated/part.js:2900 #: templates/js/translated/plugin.js:80 #: templates/js/translated/purchase_order.js:1706 #: templates/js/translated/purchase_order.js:1849 @@ -460,53 +460,53 @@ msgstr "Название" msgid "Description" msgstr "Описание" -#: InvenTree/models.py:773 stock/models.py:81 +#: InvenTree/models.py:776 stock/models.py:81 msgid "Description (optional)" msgstr "Описание (необязательно)" -#: InvenTree/models.py:788 templates/js/translated/part.js:2794 +#: InvenTree/models.py:791 templates/js/translated/part.js:2797 #: templates/js/translated/stock.js:2757 msgid "Path" msgstr "Путь" -#: InvenTree/models.py:918 +#: InvenTree/models.py:921 msgid "Markdown notes (optional)" msgstr "Записи о скидке (необязательно)" -#: InvenTree/models.py:947 +#: InvenTree/models.py:950 msgid "Barcode Data" msgstr "Данные штрих-кода" -#: InvenTree/models.py:948 +#: InvenTree/models.py:951 msgid "Third party barcode data" msgstr "Данные стороннего штрих-кода" -#: InvenTree/models.py:954 +#: InvenTree/models.py:957 msgid "Barcode Hash" msgstr "Хэш штрих-кода" -#: InvenTree/models.py:955 +#: InvenTree/models.py:958 msgid "Unique hash of barcode data" msgstr "Уникальный хэш данных штрих-кода" -#: InvenTree/models.py:1008 +#: InvenTree/models.py:1011 msgid "Existing barcode found" msgstr "Обнаружен существующий штрих-код" -#: InvenTree/models.py:1051 +#: InvenTree/models.py:1054 msgid "Server Error" msgstr "Ошибка сервера" -#: InvenTree/models.py:1052 +#: InvenTree/models.py:1055 msgid "An error has been logged by the server." msgstr "Сервер зарегистрировал ошибку." -#: InvenTree/serializers.py:63 part/models.py:4192 +#: InvenTree/serializers.py:63 part/models.py:4277 msgid "Must be a valid number" msgstr "Должно быть действительным номером" #: InvenTree/serializers.py:100 company/models.py:186 -#: company/templates/company/company_base.html:112 part/models.py:3001 +#: company/templates/company/company_base.html:112 part/models.py:3011 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -556,16 +556,16 @@ msgstr "" msgid "Is this user a superuser" msgstr "" -#: InvenTree/serializers.py:445 common/models.py:2683 company/models.py:163 -#: company/models.py:782 machine/models.py:39 part/admin.py:88 -#: part/models.py:1081 plugin/models.py:66 +#: InvenTree/serializers.py:445 common/models.py:2664 company/models.py:163 +#: company/models.py:789 machine/models.py:39 part/admin.py:88 +#: part/models.py:1085 plugin/models.py:66 #: 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 #: templates/js/translated/table_filters.js:520 #: templates/js/translated/table_filters.js:716 -#: templates/js/translated/table_filters.js:796 users/models.py:182 +#: templates/js/translated/table_filters.js:801 users/models.py:182 msgid "Active" msgstr "Активный" @@ -597,7 +597,7 @@ msgstr "Добро пожаловать в InvenTree" msgid "Invalid value" msgstr "Неверное значение" -#: InvenTree/serializers.py:581 +#: InvenTree/serializers.py:581 importer/models.py:60 msgid "Data File" msgstr "Файл данных" @@ -651,7 +651,7 @@ msgstr "ССЫЛКА файла изображения на удаленном msgid "Downloading images from remote URL is not enabled" msgstr "Загрузка изображений с удаленного URL-адреса не включена" -#: InvenTree/status.py:66 part/serializers.py:1174 +#: InvenTree/status.py:66 part/serializers.py:1202 msgid "Background worker check failed" msgstr "Проверка фонового работника не удалась" @@ -711,47 +711,48 @@ msgstr "Информация о системе" msgid "About InvenTree" msgstr "О программе InvenTree" -#: build/api.py:255 +#: build/api.py:248 msgid "Build must be cancelled before it can be deleted" msgstr "Заказ на производство должен быть отменен перед удалением" -#: build/api.py:299 part/models.py:4070 templates/js/translated/bom.js:997 -#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 +#: build/api.py:292 build/serializers.py:1190 part/models.py:4155 +#: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 +#: templates/js/translated/build.js:2521 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "Расходники" -#: build/api.py:300 part/models.py:4064 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 +#: build/api.py:293 build/serializers.py:1191 part/models.py:4149 +#: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 +#: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2530 #: templates/js/translated/table_filters.js:186 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:587 msgid "Optional" msgstr "Необязательно" -#: build/api.py:301 templates/js/translated/table_filters.js:408 +#: build/api.py:294 templates/js/translated/table_filters.js:408 #: templates/js/translated/table_filters.js:579 msgid "Tracked" msgstr "Отслеживается" -#: build/api.py:303 part/admin.py:144 templates/js/translated/build.js:1744 -#: templates/js/translated/build.js:2629 +#: build/api.py:296 part/admin.py:144 templates/js/translated/build.js:1744 +#: templates/js/translated/build.js:2630 #: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:571 msgid "Allocated" msgstr "Зарезервировано" -#: build/api.py:311 company/models.py:872 company/serializers.py:359 +#: build/api.py:304 company/models.py:879 company/serializers.py:386 #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2561 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2562 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:234 -#: templates/js/translated/part.js:693 templates/js/translated/part.js:695 -#: templates/js/translated/part.js:700 +#: 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 #: templates/js/translated/table_filters.js:575 msgid "Available" @@ -760,7 +761,7 @@ msgstr "Доступно" #: build/models.py:85 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 -#: stock/serializers.py:82 templates/email/build_order_completed.html:16 +#: stock/serializers.py:84 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:2892 msgid "Build Order" @@ -781,35 +782,43 @@ msgstr "Заказы на производство" msgid "Assembly BOM has not been validated" msgstr "" -#: build/models.py:134 part/templates/part/part_base.html:145 -msgid "Part is not active" -msgstr "" +#: build/models.py:134 +#, fuzzy +#| msgid "Stock item cannot be created for virtual parts" +msgid "Build order cannot be created for an inactive part" +msgstr "Складская позиция не может быть создана для виртуальных деталей" -#: build/models.py:148 +#: build/models.py:141 +#, fuzzy +#| msgid "Build output cannot be specified for allocation of untracked parts" +msgid "Build order cannot be created for an unlocked part" +msgstr "Продукция не может быть указана для резервирования не отслеживаемых частей" + +#: build/models.py:155 msgid "Invalid choice for parent build" msgstr "Неверный выбор для родительской сборки" -#: build/models.py:159 order/models.py:240 +#: build/models.py:166 order/models.py:240 msgid "Responsible user or group must be specified" msgstr "Должен быть указан ответственный пользователь или группа" -#: build/models.py:165 +#: build/models.py:172 msgid "Build order part cannot be changed" msgstr "Деталь заказа на производства не может быть изменена" -#: build/models.py:226 +#: build/models.py:233 msgid "Build Order Reference" msgstr "Ссылка на заказ на производство" -#: build/models.py:227 order/models.py:463 order/models.py:926 -#: order/models.py:1289 order/models.py:2020 part/admin.py:411 -#: part/models.py:4085 part/templates/part/upload_bom.html:54 +#: build/models.py:234 build/serializers.py:1189 order/models.py:463 +#: order/models.py:926 order/models.py:1289 order/models.py:2046 +#: part/admin.py:411 part/models.py:4170 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: 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/build.js:2513 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2065 #: templates/js/translated/return_order.js:728 @@ -817,27 +826,28 @@ msgstr "Ссылка на заказ на производство" msgid "Reference" msgstr "Отсылка" -#: build/models.py:238 +#: build/models.py:245 msgid "Brief description of the build (optional)" msgstr "Краткое описание заказа на производство (необязательно)" -#: build/models.py:246 build/templates/build/build_base.html:183 +#: build/models.py:253 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Родительский заказ на производство" -#: build/models.py:247 +#: build/models.py:254 msgid "BuildOrder to which this build is allocated" msgstr "Заказ на производство, которому принадлежит этот заказ на производство" -#: build/models.py:252 build/templates/build/build_base.html:97 -#: build/templates/build/detail.html:29 company/models.py:1026 order/api.py:805 -#: order/models.py:1414 order/models.py:1559 order/models.py:1560 -#: part/api.py:1494 part/api.py:1788 part/models.py:395 part/models.py:3012 -#: part/models.py:3156 part/models.py:3303 part/models.py:3324 -#: part/models.py:3346 part/models.py:3477 part/models.py:3787 -#: part/models.py:3943 part/models.py:4036 part/models.py:4395 -#: part/serializers.py:1120 part/serializers.py:1726 +#: build/models.py:259 build/serializers.py:1184 +#: build/templates/build/build_base.html:97 +#: build/templates/build/detail.html:29 company/models.py:1034 order/api.py:759 +#: order/models.py:1419 order/models.py:1574 order/models.py:1575 +#: part/api.py:1480 part/api.py:1776 part/models.py:396 part/models.py:3022 +#: part/models.py:3166 part/models.py:3314 part/models.py:3335 +#: part/models.py:3357 part/models.py:3493 part/models.py:3827 +#: part/models.py:3990 part/models.py:4121 part/models.py:4480 +#: part/serializers.py:1148 part/serializers.py:1758 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -848,8 +858,8 @@ msgstr "Заказ на производство, которому принад #: 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:109 stock/serializers.py:157 stock/serializers.py:423 -#: stock/serializers.py:820 templates/InvenTree/search.html:82 +#: stock/serializers.py:111 stock/serializers.py:159 stock/serializers.py:443 +#: stock/serializers.py:878 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 @@ -862,8 +872,8 @@ msgstr "Заказ на производство, которому принад #: templates/js/translated/company.js:1116 #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 -#: templates/js/translated/part.js:1944 templates/js/translated/part.js:2016 -#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:1947 templates/js/translated/part.js:2019 +#: templates/js/translated/part.js:2327 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:1848 @@ -881,107 +891,107 @@ msgstr "Заказ на производство, которому принад msgid "Part" msgstr "Деталь" -#: build/models.py:260 +#: build/models.py:267 msgid "Select part to build" msgstr "Выберите деталь для производства" -#: build/models.py:265 +#: build/models.py:272 msgid "Sales Order Reference" msgstr "Ссылка на заказ" -#: build/models.py:269 +#: build/models.py:276 msgid "SalesOrder to which this build is allocated" msgstr "Заказ на продажу, которому принадлежит этот заказ на производство" -#: build/models.py:274 build/serializers.py:999 +#: build/models.py:281 build/serializers.py:1003 #: templates/js/translated/build.js:1731 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "Место хранения - источник" -#: build/models.py:278 +#: build/models.py:285 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Выберите место хранения для этого заказа на производство (оставьте пустым, чтобы взять с любого места на складе)" -#: build/models.py:283 +#: build/models.py:290 msgid "Destination Location" msgstr "Место хранения результата" -#: build/models.py:287 +#: build/models.py:294 msgid "Select location where the completed items will be stored" msgstr "Выберите место хранения завершенных элементов" -#: build/models.py:291 +#: build/models.py:298 msgid "Build Quantity" msgstr "Количество производимых деталей" -#: build/models.py:294 +#: build/models.py:301 msgid "Number of stock items to build" msgstr "Количество складских позиций для производства" -#: build/models.py:298 +#: build/models.py:305 msgid "Completed items" msgstr "Произведенные детали" -#: build/models.py:300 +#: build/models.py:307 msgid "Number of stock items which have been completed" msgstr "Количество складских позиций, которые были произведены" -#: build/models.py:304 +#: build/models.py:311 msgid "Build Status" msgstr "Статус заказа на производство" -#: build/models.py:308 +#: build/models.py:315 msgid "Build status code" msgstr "Код статуса заказа на производство" -#: build/models.py:317 build/serializers.py:286 order/serializers.py:580 -#: stock/models.py:839 stock/serializers.py:74 stock/serializers.py:1458 +#: build/models.py:324 build/serializers.py:290 order/serializers.py:629 +#: stock/models.py:839 stock/serializers.py:76 stock/serializers.py:1524 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "Код партии" -#: build/models.py:321 build/serializers.py:287 +#: build/models.py:328 build/serializers.py:291 msgid "Batch code for this build output" msgstr "Код партии для продукции" -#: build/models.py:324 order/models.py:316 order/serializers.py:119 -#: part/models.py:1115 part/templates/part/part_base.html:310 +#: build/models.py:331 order/models.py:316 order/serializers.py:127 +#: part/models.py:1125 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:328 +#: build/models.py:335 msgid "Target completion date" msgstr "Целевая дата завершения" -#: build/models.py:329 +#: build/models.py:336 msgid "Target date for build completion. Build will be overdue after this date." msgstr "Целевая дата для заказа на производства. Заказ будет просрочен после этой даты." -#: build/models.py:332 order/models.py:521 order/models.py:2065 +#: build/models.py:339 order/models.py:521 order/models.py:2091 #: templates/js/translated/build.js:2247 msgid "Completion Date" msgstr "Дата завершения" -#: build/models.py:338 +#: build/models.py:345 msgid "completed by" msgstr "выполнено" -#: build/models.py:346 templates/js/translated/build.js:2207 +#: build/models.py:353 templates/js/translated/build.js:2207 msgid "Issued by" msgstr "Создано" -#: build/models.py:347 +#: build/models.py:354 msgid "User who issued this build order" msgstr "Пользователь, создавший этот заказ на производство" -#: build/models.py:355 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 common/models.py:147 +#: build/models.py:362 build/templates/build/build_base.html:204 +#: build/templates/build/detail.html:122 common/models.py:152 #: order/models.py:334 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:232 part/models.py:1132 +#: order/templates/order/sales_order_base.html:232 part/models.py:1142 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 @@ -992,11 +1002,11 @@ msgstr "Пользователь, создавший этот заказ на п msgid "Responsible" msgstr "Ответственный" -#: build/models.py:356 +#: build/models.py:363 msgid "User or group responsible for this build order" msgstr "Пользователь, ответственный за этот заказ на производство" -#: build/models.py:361 build/templates/build/detail.html:108 +#: build/models.py:368 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 @@ -1008,21 +1018,22 @@ msgstr "Пользователь, ответственный за этот за msgid "External Link" msgstr "Внешняя ссылка" -#: build/models.py:362 common/models.py:3244 part/models.py:956 +#: build/models.py:369 common/models.py:3230 part/models.py:960 #: stock/models.py:835 msgid "Link to external URL" msgstr "Ссылка на внешний URL" -#: build/models.py:366 +#: build/models.py:373 msgid "Build Priority" msgstr "Приоритет производства" -#: build/models.py:369 +#: build/models.py:376 msgid "Priority of this build order" msgstr "Приоритет этого заказа на производство" -#: build/models.py:376 common/models.py:131 order/admin.py:18 -#: order/models.py:298 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:383 common/models.py:122 common/models.py:136 +#: order/admin.py:18 order/models.py:298 order/serializers.py:108 +#: templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 #: templates/js/translated/purchase_order.js:1710 #: templates/js/translated/return_order.js:317 @@ -1032,65 +1043,66 @@ msgstr "Приоритет этого заказа на производство msgid "Project Code" msgstr "Код проекта" -#: build/models.py:377 +#: build/models.py:384 msgid "Project code for this build order" msgstr "Код проекта для этого заказа на производство" -#: build/models.py:610 build/models.py:675 +#: build/models.py:617 build/models.py:682 msgid "Failed to offload task to complete build allocations" msgstr "Не удалось выгрузить задачу для распределения на сборку" -#: build/models.py:632 +#: build/models.py:639 #, python-brace-format msgid "Build order {build} has been completed" msgstr "Заказ на производство {build} был завершен" -#: build/models.py:638 +#: build/models.py:645 msgid "A build order has been completed" msgstr "Заказ на производство был завершен" -#: build/models.py:864 build/models.py:949 +#: build/models.py:871 build/models.py:956 msgid "No build output specified" msgstr "Продукция не указана" -#: build/models.py:867 +#: build/models.py:874 msgid "Build output is already completed" msgstr "Продукция уже произведена" -#: build/models.py:870 +#: build/models.py:877 msgid "Build output does not match Build Order" msgstr "Продукция не совпадает с заказом на производство" -#: build/models.py:953 build/serializers.py:219 build/serializers.py:268 -#: build/serializers.py:866 order/models.py:559 order/serializers.py:432 -#: order/serializers.py:575 part/serializers.py:1484 part/serializers.py:1884 -#: stock/models.py:678 stock/models.py:1496 stock/serializers.py:603 +#: build/models.py:960 build/serializers.py:223 build/serializers.py:272 +#: build/serializers.py:870 order/models.py:559 order/serializers.py:461 +#: order/serializers.py:624 part/serializers.py:1515 part/serializers.py:1921 +#: stock/models.py:678 stock/models.py:1496 stock/serializers.py:661 msgid "Quantity must be greater than zero" msgstr "Количество должно быть больше нуля" -#: build/models.py:958 build/serializers.py:224 +#: build/models.py:965 build/serializers.py:228 msgid "Quantity cannot be greater than the output quantity" msgstr "Количество не может быть больше количества продукции" -#: build/models.py:1018 build/serializers.py:547 +#: build/models.py:1025 build/serializers.py:551 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "Сборка {serial} не прошла все необходимые тесты" -#: build/models.py:1359 +#: build/models.py:1366 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1384 +#: build/models.py:1391 msgid "Build object" msgstr "Объект производства" -#: build/models.py:1398 build/models.py:1654 build/serializers.py:206 -#: build/serializers.py:253 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2563 -#: order/models.py:1272 order/models.py:1931 order/serializers.py:1327 +#: build/models.py:1405 build/models.py:1661 build/serializers.py:210 +#: build/serializers.py:257 build/serializers.py:1194 +#: build/templates/build/build_base.html:102 +#: build/templates/build/detail.html:34 common/models.py:2544 +#: order/models.py:1272 order/models.py:1957 order/serializers.py:1383 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:410 -#: part/forms.py:48 part/models.py:3170 part/models.py:4058 +#: part/forms.py:48 part/models.py:3180 part/models.py:4143 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1100,7 +1112,7 @@ msgstr "Объект производства" #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:169 stock/admin.py:159 -#: stock/serializers.py:125 stock/serializers.py:165 stock/serializers.py:594 +#: stock/serializers.py:127 stock/serializers.py:167 stock/serializers.py:652 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 @@ -1111,8 +1123,8 @@ msgstr "Объект производства" #: templates/js/translated/build.js:1746 templates/js/translated/build.js:2357 #: templates/js/translated/company.js:1818 #: templates/js/translated/model_renderers.js:236 -#: templates/js/translated/order.js:304 templates/js/translated/part.js:962 -#: templates/js/translated/part.js:1812 templates/js/translated/part.js:3342 +#: templates/js/translated/order.js:304 templates/js/translated/part.js:965 +#: templates/js/translated/part.js:1815 templates/js/translated/part.js:3345 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 @@ -1132,38 +1144,38 @@ msgstr "Объект производства" msgid "Quantity" msgstr "Количество" -#: build/models.py:1399 +#: build/models.py:1406 msgid "Required quantity for build order" msgstr "Требуемое количество для заказа на производство" -#: build/models.py:1479 +#: build/models.py:1486 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "Элемент производства должен указать продукцию, как главную деталь помеченную как отслеживаемая" -#: build/models.py:1488 +#: build/models.py:1495 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Резервируемое количество ({q}) не должно превышать доступное количество на складе ({a})" -#: build/models.py:1498 order/models.py:1882 +#: build/models.py:1505 order/models.py:1908 msgid "Stock item is over-allocated" msgstr "Складская позиция перераспределена" -#: build/models.py:1504 order/models.py:1885 +#: build/models.py:1511 order/models.py:1911 msgid "Allocation quantity must be greater than zero" msgstr "Резервируемое количество должно быть больше нуля" -#: build/models.py:1510 +#: build/models.py:1517 msgid "Quantity must be 1 for serialized stock" msgstr "Количество должно быть 1 для сериализованных запасов" -#: build/models.py:1569 +#: build/models.py:1576 msgid "Selected stock item does not match BOM line" msgstr "Выбранная складская позиция не соответствует позиции в BOM" -#: build/models.py:1641 build/serializers.py:846 order/serializers.py:1171 -#: order/serializers.py:1192 stock/models.py:359 stock/serializers.py:91 -#: stock/serializers.py:697 stock/serializers.py:1177 stock/serializers.py:1289 +#: build/models.py:1648 build/serializers.py:850 order/serializers.py:1227 +#: order/serializers.py:1248 stock/models.py:359 stock/serializers.py:93 +#: stock/serializers.py:755 stock/serializers.py:1243 stock/serializers.py:1355 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 @@ -1179,70 +1191,76 @@ msgstr "Выбранная складская позиция не соответ msgid "Stock Item" msgstr "Складская позиция" -#: build/models.py:1642 +#: build/models.py:1649 msgid "Source stock item" msgstr "Исходная складская позиция" -#: build/models.py:1655 +#: build/models.py:1662 msgid "Stock quantity to allocate to build" msgstr "Количество на складе для производства" -#: build/models.py:1663 +#: build/models.py:1670 msgid "Install into" msgstr "Установить в" -#: build/models.py:1664 +#: build/models.py:1671 msgid "Destination stock item" msgstr "Целевая складская позиция" -#: build/serializers.py:156 build/serializers.py:875 +#: build/serializers.py:89 build/serializers.py:1185 part/admin.py:41 +#: part/admin.py:405 part/models.py:3992 part/stocktake.py:220 +#: stock/admin.py:156 +msgid "Part Name" +msgstr "Наименование детали" + +#: build/serializers.py:160 build/serializers.py:879 #: templates/js/translated/build.js:1322 msgid "Build Output" msgstr "Выход Продукции" -#: build/serializers.py:168 +#: build/serializers.py:172 msgid "Build output does not match the parent build" msgstr "Продукция не совпадает с родительским заказом на производство" -#: build/serializers.py:172 +#: build/serializers.py:176 msgid "Output part does not match BuildOrder part" msgstr "Продукция не соответствует детали заказа на производство" -#: build/serializers.py:176 +#: build/serializers.py:180 msgid "This build output has already been completed" msgstr "Эта продукция уже помечена как завершенная" -#: build/serializers.py:187 +#: build/serializers.py:191 msgid "This build output is not fully allocated" msgstr "Сырье для этой продукции не полностью зарезервировано" -#: build/serializers.py:207 build/serializers.py:254 +#: build/serializers.py:211 build/serializers.py:258 msgid "Enter quantity for build output" msgstr "Введите количество продукции" -#: build/serializers.py:275 +#: build/serializers.py:279 msgid "Integer quantity required for trackable parts" msgstr "Для отслеживаемых деталей должно быть указано целочисленное количество" -#: build/serializers.py:278 +#: build/serializers.py:282 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "Требуется целое количество, так как материал содержит отслеживаемые детали" -#: build/serializers.py:293 order/serializers.py:588 order/serializers.py:1331 -#: stock/serializers.py:614 templates/js/translated/purchase_order.js:1153 +#: build/serializers.py:297 order/serializers.py:637 order/serializers.py:1387 +#: stock/serializers.py:672 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:294 +#: build/serializers.py:298 msgid "Enter serial numbers for build outputs" msgstr "Введите серийные номера для продукции" -#: build/serializers.py:299 build/serializers.py:440 build/serializers.py:512 -#: order/serializers.py:564 order/serializers.py:672 order/serializers.py:1656 -#: part/serializers.py:1140 stock/serializers.py:100 stock/serializers.py:625 -#: stock/serializers.py:785 stock/serializers.py:881 stock/serializers.py:1321 -#: stock/serializers.py:1577 stock/templates/stock/item_base.html:394 +#: build/serializers.py:303 build/serializers.py:444 build/serializers.py:516 +#: order/serializers.py:613 order/serializers.py:721 order/serializers.py:1714 +#: part/serializers.py:1168 stock/serializers.py:102 stock/serializers.py:683 +#: stock/serializers.py:843 stock/serializers.py:939 stock/serializers.py:1387 +#: stock/serializers.py:1643 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 @@ -1258,54 +1276,54 @@ msgstr "Введите серийные номера для продукции" msgid "Location" msgstr "Расположение" -#: build/serializers.py:300 +#: build/serializers.py:304 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:314 +#: build/serializers.py:318 msgid "Auto Allocate Serial Numbers" msgstr "Автоматически выделить серийные номера" -#: build/serializers.py:315 +#: build/serializers.py:319 msgid "Automatically allocate required items with matching serial numbers" msgstr "Автоматически зарезервировать необходимые элементы с соответствующими серийными номерами" -#: build/serializers.py:330 +#: build/serializers.py:334 msgid "Serial numbers must be provided for trackable parts" msgstr "Для отслеживаемых частей должны быть указаны серийные номера" -#: build/serializers.py:355 stock/api.py:1041 +#: build/serializers.py:359 stock/api.py:1033 msgid "The following serial numbers already exist or are invalid" msgstr "Следующие серийные номера уже существуют или недействительны" -#: build/serializers.py:402 build/serializers.py:464 build/serializers.py:553 +#: build/serializers.py:406 build/serializers.py:468 build/serializers.py:557 msgid "A list of build outputs must be provided" msgstr "Необходимо представить список выхода деталей" -#: build/serializers.py:441 +#: build/serializers.py:445 msgid "Stock location for scrapped outputs" msgstr "Место хранения для списанной продукции" -#: build/serializers.py:447 +#: build/serializers.py:451 msgid "Discard Allocations" msgstr "Отменить резервирование" -#: build/serializers.py:448 +#: build/serializers.py:452 msgid "Discard any stock allocations for scrapped outputs" msgstr "Отменить все резервы запасов для списанной продукции" -#: build/serializers.py:453 +#: build/serializers.py:457 msgid "Reason for scrapping build output(s)" msgstr "Причина списания продукции" -#: build/serializers.py:513 +#: build/serializers.py:517 msgid "Location for completed build outputs" msgstr "Место хранения для завершенной продукции" -#: build/serializers.py:519 build/templates/build/build_base.html:151 +#: build/serializers.py:523 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:950 -#: order/models.py:2044 order/serializers.py:596 stock/admin.py:164 -#: stock/serializers.py:932 stock/serializers.py:1465 +#: order/models.py:2070 order/serializers.py:645 stock/admin.py:164 +#: stock/serializers.py:990 stock/serializers.py:1531 #: 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 @@ -1317,193 +1335,253 @@ msgstr "Место хранения для завершенной продукц msgid "Status" msgstr "Статус" -#: build/serializers.py:525 +#: build/serializers.py:529 msgid "Accept Incomplete Allocation" msgstr "Разрешить неполное резервирование" -#: build/serializers.py:526 +#: build/serializers.py:530 msgid "Complete outputs if stock has not been fully allocated" msgstr "Завершить продукцию, если запасы не были полностью распределены" -#: build/serializers.py:611 +#: build/serializers.py:615 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:612 +#: build/serializers.py:616 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:618 +#: build/serializers.py:622 msgid "Remove Incomplete Outputs" msgstr "Удалить незавершенную продукцию" -#: build/serializers.py:619 +#: build/serializers.py:623 msgid "Delete any build outputs which have not been completed" msgstr "Удалить всю незавершенную продукцию" -#: build/serializers.py:646 +#: build/serializers.py:650 msgid "Not permitted" msgstr "Запрещено" -#: build/serializers.py:647 +#: build/serializers.py:651 msgid "Accept as consumed by this build order" msgstr "Принять как поглощенный этим заказом на производство" -#: build/serializers.py:648 +#: build/serializers.py:652 msgid "Deallocate before completing this build order" msgstr "Отменить резерв, до завершения заказа на производство" -#: build/serializers.py:678 +#: build/serializers.py:682 msgid "Overallocated Stock" msgstr "Перераспределенные запасы" -#: build/serializers.py:680 +#: build/serializers.py:684 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "Как вы хотите обработать дополнительные складские позиции, назначенные для заказа на производство" -#: build/serializers.py:690 +#: build/serializers.py:694 msgid "Some stock items have been overallocated" msgstr "Некоторые складские позиции были перераспределены" -#: build/serializers.py:695 +#: build/serializers.py:699 msgid "Accept Unallocated" msgstr "Разрешить не полное резервирование" -#: build/serializers.py:696 +#: build/serializers.py:700 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "Подтвердите, что складские позиции не были полностью зарезервированы для этого заказа на производство" -#: build/serializers.py:706 templates/js/translated/build.js:315 +#: build/serializers.py:710 templates/js/translated/build.js:315 msgid "Required stock has not been fully allocated" msgstr "Необходимые запасы не были полностью зарезервированы" -#: build/serializers.py:711 order/serializers.py:300 order/serializers.py:1234 +#: build/serializers.py:715 order/serializers.py:319 order/serializers.py:1290 msgid "Accept Incomplete" msgstr "Разрешить незавершенные производимые детали" -#: build/serializers.py:712 +#: build/serializers.py:716 msgid "Accept that the required number of build outputs have not been completed" msgstr "Допустить, что требуемое кол-во продукции не завершено" -#: build/serializers.py:722 templates/js/translated/build.js:319 +#: build/serializers.py:726 templates/js/translated/build.js:319 msgid "Required build quantity has not been completed" msgstr "Требуемое количество деталей не было произведено" -#: build/serializers.py:731 templates/js/translated/build.js:303 +#: build/serializers.py:735 templates/js/translated/build.js:303 msgid "Build order has incomplete outputs" msgstr "Заказ на производство имеет незавершенную продукцию" -#: build/serializers.py:769 +#: build/serializers.py:773 msgid "Build Line" msgstr "Позиция для производства" -#: build/serializers.py:779 +#: build/serializers.py:783 msgid "Build output" msgstr "Выход продукции" -#: build/serializers.py:787 +#: build/serializers.py:791 msgid "Build output must point to the same build" msgstr "Продукция должна указывать на тот же производство" -#: build/serializers.py:823 +#: build/serializers.py:827 msgid "Build Line Item" msgstr "Позиция для производства" -#: build/serializers.py:837 +#: build/serializers.py:841 msgid "bom_item.part must point to the same part as the build order" msgstr "bom_item.part должна указывать на ту же часть, что и заказ на производство" -#: build/serializers.py:852 stock/serializers.py:1190 +#: build/serializers.py:856 stock/serializers.py:1256 msgid "Item must be in stock" msgstr "Элемент должен быть в наличии" -#: build/serializers.py:900 order/serializers.py:1225 +#: build/serializers.py:904 order/serializers.py:1281 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Превышено доступное количество ({q})" -#: build/serializers.py:906 +#: build/serializers.py:910 msgid "Build output must be specified for allocation of tracked parts" msgstr "Продукция должна быть указан для резервирования отслеживаемых частей" -#: build/serializers.py:913 +#: build/serializers.py:917 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "Продукция не может быть указана для резервирования не отслеживаемых частей" -#: build/serializers.py:937 order/serializers.py:1477 +#: build/serializers.py:941 order/serializers.py:1533 msgid "Allocation items must be provided" msgstr "Необходимо указать резервируемые элементы" -#: build/serializers.py:1000 +#: build/serializers.py:1004 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "Место хранения, где будут зарезервированы детали (оставьте пустым, чтобы забрать их из любого места)" -#: build/serializers.py:1008 +#: build/serializers.py:1012 msgid "Exclude Location" msgstr "Исключить место хранения" -#: build/serializers.py:1009 +#: build/serializers.py:1013 msgid "Exclude stock items from this selected location" msgstr "Исключить складские позиции из этого выбранного места хранения" -#: build/serializers.py:1014 +#: build/serializers.py:1018 msgid "Interchangeable Stock" msgstr "Обменный остаток" -#: build/serializers.py:1015 +#: build/serializers.py:1019 msgid "Stock items in multiple locations can be used interchangeably" msgstr "Складские позиции в нескольких местах могут использоваться на взаимозаменяемой основе" -#: build/serializers.py:1020 +#: build/serializers.py:1024 msgid "Substitute Stock" msgstr "Заменить остатки" -#: build/serializers.py:1021 +#: build/serializers.py:1025 msgid "Allow allocation of substitute parts" msgstr "Разрешить резервирование замещающих деталей" -#: build/serializers.py:1026 +#: build/serializers.py:1030 msgid "Optional Items" msgstr "Необязательные элементы" -#: build/serializers.py:1027 +#: build/serializers.py:1031 msgid "Allocate optional BOM items to build order" msgstr "Зарезервировать необязательные позиции BOM для заказа на производство" -#: build/serializers.py:1049 +#: build/serializers.py:1053 msgid "Failed to start auto-allocation task" msgstr "Не удалось запустить задачу автораспределения" -#: build/serializers.py:1139 part/models.py:3953 part/models.py:4387 -#: stock/api.py:804 +#: build/serializers.py:1095 +#, fuzzy +#| msgid "Supplier Part" +msgid "Supplier Part Number" +msgstr "Деталь поставщика" + +#: build/serializers.py:1096 company/models.py:500 +msgid "Manufacturer Part Number" +msgstr "Код производителя" + +#: build/serializers.py:1097 stock/admin.py:53 stock/admin.py:175 +#: stock/serializers.py:454 +msgid "Location Name" +msgstr "Имя Места Хранения" + +#: build/serializers.py:1098 +#, fuzzy +#| msgid "Build Order Reference" +msgid "Build Reference" +msgstr "Ссылка на заказ на производство" + +#: build/serializers.py:1099 +#, fuzzy +#| msgid "Reference" +msgid "BOM Reference" +msgstr "Отсылка" + +#: build/serializers.py:1186 part/admin.py:402 part/models.py:3993 +msgid "Part IPN" +msgstr "IPN детали" + +#: build/serializers.py:1192 common/models.py:1488 part/admin.py:113 +#: part/models.py:1068 templates/js/translated/table_filters.js:147 +#: templates/js/translated/table_filters.js:223 +#: templates/js/translated/table_filters.js:776 +msgid "Trackable" +msgstr "Отслеживание" + +#: build/serializers.py:1196 part/models.py:4000 part/models.py:4472 +#: stock/api.py:796 msgid "BOM Item" msgstr "Позиция BOM" -#: build/serializers.py:1148 templates/js/translated/index.js:130 +#: build/serializers.py:1205 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "Зарезервированные Запасы" -#: build/serializers.py:1153 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:828 part/serializers.py:1502 +#: build/serializers.py:1210 part/admin.py:132 part/bom.py:173 +#: part/serializers.py:856 part/serializers.py:1533 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2613 templates/js/translated/part.js:710 -#: templates/js/translated/part.js:2149 +#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709 +#: templates/js/translated/part.js:2152 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "В заказе" -#: build/serializers.py:1158 part/serializers.py:1504 -#: templates/js/translated/build.js:2617 +#: build/serializers.py:1215 part/serializers.py:1535 +#: templates/js/translated/build.js:2618 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "В производстве" -#: build/serializers.py:1163 part/bom.py:172 part/serializers.py:1527 +#: build/serializers.py:1220 part/bom.py:172 part/serializers.py:1558 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" msgstr "Доступный запас" +#: build/serializers.py:1224 +#, fuzzy +#| msgid "Substitute Stock" +msgid "Available Substitute Stock" +msgstr "Заменить остатки" + +#: build/serializers.py:1225 +#, fuzzy +#| msgid "Available Stock" +msgid "Available Variant Stock" +msgstr "Доступный запас" + +#: build/serializers.py:1226 +#, fuzzy +#| msgid "Available Stock" +msgid "Total Available Stock" +msgstr "Доступный запас" + +#: build/serializers.py:1227 part/serializers.py:862 +msgid "External Stock" +msgstr "" + #: build/status_codes.py:11 generic/states/tests.py:17 order/status_codes.py:12 #: order/status_codes.py:37 order/status_codes.py:64 order/status_codes.py:82 #: templates/js/translated/table_filters.js:598 @@ -1519,7 +1597,8 @@ msgstr "Продукция" msgid "Cancelled" msgstr "Отменено" -#: build/status_codes.py:14 generic/states/tests.py:19 order/status_codes.py:14 +#: build/status_codes.py:14 generic/states/tests.py:19 importer/models.py:468 +#: importer/status_codes.py:19 order/status_codes.py:14 #: order/status_codes.py:44 order/status_codes.py:69 #: order/templates/order/order_base.html:158 #: order/templates/order/sales_order_base.html:165 report/models.py:444 @@ -1652,11 +1731,12 @@ msgstr "Остатки не были полностью зарезервиров #: build/templates/build/build_base.html:160 #: build/templates/build/detail.html:138 order/models.py:309 -#: order/models.py:1307 order/templates/order/order_base.html:186 +#: order/models.py:1307 order/serializers.py:174 +#: order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: 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:1831 +#: templates/js/translated/build.js:2239 templates/js/translated/part.js:1834 #: templates/js/translated/purchase_order.js:1739 #: templates/js/translated/purchase_order.js:2147 #: templates/js/translated/return_order.js:346 @@ -1689,8 +1769,8 @@ msgid "Completed Outputs" msgstr "Завершенная продукция" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1463 order/models.py:845 -#: order/models.py:1551 order/models.py:1665 order/models.py:1819 +#: build/templates/build/detail.html:101 order/api.py:1384 order/models.py:845 +#: order/models.py:1566 order/models.py:1681 order/models.py:1840 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 @@ -1740,7 +1820,7 @@ msgstr "Источник запаса" msgid "Stock can be taken from any available location." msgstr "Остатки не могут быть получены из любого доступного места хранения." -#: build/templates/build/detail.html:49 order/models.py:1443 +#: build/templates/build/detail.html:49 order/models.py:1448 #: templates/js/translated/purchase_order.js:2189 msgid "Destination" msgstr "Назначение" @@ -1892,31 +1972,31 @@ msgstr "Подробности Заказа на Производство" msgid "Incomplete Outputs" msgstr "Незавершенная продукция" -#: common/api.py:689 +#: common/api.py:690 msgid "Is Link" msgstr "Ссылка" -#: common/api.py:697 +#: common/api.py:698 msgid "Is File" msgstr "Файл" -#: common/api.py:739 +#: common/api.py:740 msgid "User does not have permission to delete this attachment" msgstr "У пользователя нет прав на удаление этого вложения" -#: common/currency.py:130 +#: common/currency.py:132 msgid "Invalid currency code" msgstr "Неверный код валюты" -#: common/currency.py:132 +#: common/currency.py:134 msgid "Duplicate currency code" msgstr "Код валюты дублируется" -#: common/currency.py:137 +#: common/currency.py:139 msgid "No valid currency codes provided" msgstr "Не указаны действительные коды валют" -#: common/currency.py:154 +#: common/currency.py:156 msgid "No plugin" msgstr "Нет плагина" @@ -1970,1635 +2050,1608 @@ msgstr "Временная метка последнего обновления" msgid "Site URL is locked by configuration" msgstr "URL сайта заблокирован настройками" -#: common/models.py:132 +#: common/models.py:137 msgid "Unique project code" msgstr "Уникальный код проекта" -#: common/models.py:139 +#: common/models.py:144 msgid "Project description" msgstr "Описание проекта" -#: common/models.py:148 +#: common/models.py:153 msgid "User or group responsible for this project" msgstr "Пользователь или группа, ответственные за этот проект" -#: common/models.py:765 +#: common/models.py:770 msgid "Settings key (must be unique - case insensitive)" msgstr "Ключ настроек (должен быть уникальным - не чувствителен к регистрам)" -#: common/models.py:769 +#: common/models.py:774 msgid "Settings value" msgstr "Значения настроек" -#: common/models.py:821 +#: common/models.py:826 msgid "Chosen value is not a valid option" msgstr "Выбранное значение не является допустимым" -#: common/models.py:837 +#: common/models.py:842 msgid "Value must be a boolean value" msgstr "Значение должно быть булевым" -#: common/models.py:845 +#: common/models.py:850 msgid "Value must be an integer value" msgstr "Значение должно быть целым числом" -#: common/models.py:882 +#: common/models.py:887 msgid "Key string must be unique" msgstr "Строка ключа должна быть уникальной" -#: common/models.py:1114 +#: common/models.py:1119 msgid "No group" msgstr "Нет группы" -#: common/models.py:1213 +#: common/models.py:1218 msgid "Restart required" msgstr "Требуется перезапуск" -#: common/models.py:1215 +#: common/models.py:1220 msgid "A setting has been changed which requires a server restart" msgstr "Настройки были изменены, что требует перезапуска сервера" -#: common/models.py:1222 +#: common/models.py:1227 msgid "Pending migrations" msgstr "Ожидаемые миграции" -#: common/models.py:1223 +#: common/models.py:1228 msgid "Number of pending database migrations" msgstr "Количество ожидаемых миграций базы данных" -#: common/models.py:1228 +#: common/models.py:1233 msgid "Server Instance Name" msgstr "Название сервера" -#: common/models.py:1230 +#: common/models.py:1235 msgid "String descriptor for the server instance" msgstr "Текстовое описание сервера" -#: common/models.py:1234 +#: common/models.py:1239 msgid "Use instance name" msgstr "Название инстанса" -#: common/models.py:1235 +#: common/models.py:1240 msgid "Use the instance name in the title-bar" msgstr "Имя сервера в заголовке" -#: common/models.py:1240 +#: common/models.py:1245 msgid "Restrict showing `about`" msgstr "Ограничить отображение `О...`" -#: common/models.py:1241 +#: common/models.py:1246 msgid "Show the `about` modal only to superusers" msgstr "Показать `О...` только суперпользователям" -#: common/models.py:1246 company/models.py:111 company/models.py:112 +#: common/models.py:1251 company/models.py:111 company/models.py:112 msgid "Company name" msgstr "Название компании" -#: common/models.py:1247 +#: common/models.py:1252 msgid "Internal company name" msgstr "Внутреннее название компании" -#: common/models.py:1251 +#: common/models.py:1256 msgid "Base URL" msgstr "Базовая ссылка" -#: common/models.py:1252 +#: common/models.py:1257 msgid "Base URL for server instance" msgstr "Базовая ссылка для экземпляра сервера" -#: common/models.py:1258 +#: common/models.py:1263 msgid "Default Currency" msgstr "Валюта по умолчанию" -#: common/models.py:1259 +#: common/models.py:1264 msgid "Select base currency for pricing calculations" msgstr "Выберите базовую валюту для расчета цены" -#: common/models.py:1265 +#: common/models.py:1270 msgid "Supported Currencies" msgstr "Поддерживаемые валюты" -#: common/models.py:1266 +#: common/models.py:1271 msgid "List of supported currency codes" msgstr "Список поддерживаемых кодов валют" -#: common/models.py:1272 +#: common/models.py:1277 msgid "Currency Update Interval" msgstr "Интервал обновления курса валют" -#: common/models.py:1274 +#: common/models.py:1279 msgid "How often to update exchange rates (set to zero to disable)" msgstr "Как часто обновлять курс валют (установите \"ноль\", чтобы выключить)" -#: common/models.py:1277 common/models.py:1333 common/models.py:1346 -#: common/models.py:1354 common/models.py:1363 common/models.py:1372 -#: common/models.py:1596 common/models.py:1618 common/models.py:1733 -#: common/models.py:2100 +#: common/models.py:1282 common/models.py:1338 common/models.py:1351 +#: common/models.py:1359 common/models.py:1368 common/models.py:1377 +#: common/models.py:1601 common/models.py:1623 common/models.py:1738 +#: common/models.py:2111 msgid "days" msgstr "дней" -#: common/models.py:1281 +#: common/models.py:1286 msgid "Currency Update Plugin" msgstr "Плагин обновления валют" -#: common/models.py:1282 +#: common/models.py:1287 msgid "Currency update plugin to use" msgstr "Модуль обновления валюты" -#: common/models.py:1287 +#: common/models.py:1292 msgid "Download from URL" msgstr "Скачать по ссылке" -#: common/models.py:1289 +#: common/models.py:1294 msgid "Allow download of remote images and files from external URL" msgstr "Разрешить загрузку удаленных изображений и файлов по внешнему URL" -#: common/models.py:1295 +#: common/models.py:1300 msgid "Download Size Limit" msgstr "Ограничение размера загрузки" -#: common/models.py:1296 +#: common/models.py:1301 msgid "Maximum allowable download size for remote image" msgstr "Максимально допустимый размер загрузки для удалённого изображения" -#: common/models.py:1302 +#: common/models.py:1307 msgid "User-agent used to download from URL" msgstr "User-Agent, используемый для загрузки из URL" -#: common/models.py:1304 +#: common/models.py:1309 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "Позволяет переопределить user-Agent, используемый для загрузки изображений и файлов с внешнего URL (оставьте пустым по умолчанию)" -#: common/models.py:1309 +#: common/models.py:1314 msgid "Strict URL Validation" msgstr "Строгая проверка URL-адреса" -#: common/models.py:1310 +#: common/models.py:1315 msgid "Require schema specification when validating URLs" msgstr "Требуется спецификация схемы при проверке URL-адресов" -#: common/models.py:1315 +#: common/models.py:1320 msgid "Require confirm" msgstr "Требуется подтверждение" -#: common/models.py:1316 +#: common/models.py:1321 msgid "Require explicit user confirmation for certain action." msgstr "Требовать явное подтверждение пользователя для определенного действия." -#: common/models.py:1321 +#: common/models.py:1326 msgid "Tree Depth" msgstr "Глубина дерева" -#: common/models.py:1323 +#: common/models.py:1328 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "Глубина дерева по умолчанию для просмотра дерева. Глубокие уровни загружены по мере необходимости." -#: common/models.py:1329 +#: common/models.py:1334 msgid "Update Check Interval" msgstr "Интервал проверки обновлений" -#: common/models.py:1330 +#: common/models.py:1335 msgid "How often to check for updates (set to zero to disable)" msgstr "Как часто проверять наличие обновлений (установите ноль чтобы выключить)" -#: common/models.py:1336 +#: common/models.py:1341 msgid "Automatic Backup" msgstr "Автоматическое резервное копирование" -#: common/models.py:1337 +#: common/models.py:1342 msgid "Enable automatic backup of database and media files" msgstr "Включить автоматическое резервное копирование базы данных и медиа-файлов" -#: common/models.py:1342 +#: common/models.py:1347 msgid "Auto Backup Interval" msgstr "Интервал резервного копирования" -#: common/models.py:1343 +#: common/models.py:1348 msgid "Specify number of days between automated backup events" msgstr "Укажите количество дней между событиями автоматического резервного копирования" -#: common/models.py:1349 +#: common/models.py:1354 msgid "Task Deletion Interval" msgstr "Интервал удаления задачи" -#: common/models.py:1351 +#: common/models.py:1356 msgid "Background task results will be deleted after specified number of days" msgstr "Результаты фоновых задач будут удалены после указанного количества дней" -#: common/models.py:1358 +#: common/models.py:1363 msgid "Error Log Deletion Interval" msgstr "Интервал удаления журнала ошибок" -#: common/models.py:1360 +#: common/models.py:1365 msgid "Error logs will be deleted after specified number of days" msgstr "Журналы ошибок будут удалены после указанного количества дней" -#: common/models.py:1367 +#: common/models.py:1372 msgid "Notification Deletion Interval" msgstr "Интервал удаления уведомления" -#: common/models.py:1369 +#: common/models.py:1374 msgid "User notifications will be deleted after specified number of days" msgstr "Уведомления пользователя будут удалены после указанного количества дней" -#: common/models.py:1376 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1381 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "Поддержка штрих-кодов" -#: common/models.py:1377 +#: common/models.py:1382 msgid "Enable barcode scanner support in the web interface" msgstr "Включить поддержку сканера штрих-кодов в веб-интерфейсе" -#: common/models.py:1382 +#: common/models.py:1387 msgid "Barcode Input Delay" msgstr "Задержка сканирования штрих-кода" -#: common/models.py:1383 +#: common/models.py:1388 msgid "Barcode input processing delay time" msgstr "Время задержки обработки штрих-кода" -#: common/models.py:1389 +#: common/models.py:1394 msgid "Barcode Webcam Support" msgstr "Поддержка веб-камер штрих-кодов" -#: common/models.py:1390 +#: common/models.py:1395 msgid "Allow barcode scanning via webcam in browser" msgstr "Разрешить сканирование штрих-кода через веб-камеру в браузере" -#: common/models.py:1395 +#: common/models.py:1400 msgid "Barcode Show Data" msgstr "" -#: common/models.py:1396 +#: common/models.py:1401 msgid "Display barcode data in browser as text" msgstr "" -#: common/models.py:1401 +#: common/models.py:1406 msgid "Part Revisions" msgstr "Ревизия детали" -#: common/models.py:1402 +#: common/models.py:1407 msgid "Enable revision field for Part" msgstr "Включить поле ревизии для элемента" -#: common/models.py:1407 +#: common/models.py:1412 msgid "Allow Deletion from Assembly" msgstr "Разрешить удаление из заказа" -#: common/models.py:1408 +#: common/models.py:1413 msgid "Allow deletion of parts which are used in an assembly" msgstr "Разрешить удаление частей, которые используются в заказе" -#: common/models.py:1413 +#: common/models.py:1418 msgid "IPN Regex" msgstr "Регулярное выражение IPN" -#: common/models.py:1414 +#: common/models.py:1419 msgid "Regular expression pattern for matching Part IPN" msgstr "Шаблон регулярного выражения для сопоставления IPN детали" -#: common/models.py:1417 +#: common/models.py:1422 msgid "Allow Duplicate IPN" msgstr "Разрешить повторяющиеся IPN" -#: common/models.py:1418 +#: common/models.py:1423 msgid "Allow multiple parts to share the same IPN" msgstr "Разрешить нескольким элементам использовать один и тот же IPN" -#: common/models.py:1423 +#: common/models.py:1428 msgid "Allow Editing IPN" msgstr "Разрешить редактирование IPN" -#: common/models.py:1424 +#: common/models.py:1429 msgid "Allow changing the IPN value while editing a part" msgstr "Разрешить изменение значения IPN при редактировании детали" -#: common/models.py:1429 +#: common/models.py:1434 msgid "Copy Part BOM Data" msgstr "Скопировать данные BOM детали" -#: common/models.py:1430 +#: common/models.py:1435 msgid "Copy BOM data by default when duplicating a part" msgstr "Копировать данные BOM по умолчанию при дублировании детали" -#: common/models.py:1435 +#: common/models.py:1440 msgid "Copy Part Parameter Data" msgstr "Скопировать данные параметров детали" -#: common/models.py:1436 +#: common/models.py:1441 msgid "Copy parameter data by default when duplicating a part" msgstr "Копировать данных параметров по умолчанию при дублировании детали" -#: common/models.py:1441 +#: common/models.py:1446 msgid "Copy Part Test Data" msgstr "Скопировать данные тестирования детали" -#: common/models.py:1442 +#: common/models.py:1447 msgid "Copy test data by default when duplicating a part" msgstr "Копировать данные тестирования по умолчанию при дублировании детали" -#: common/models.py:1447 +#: common/models.py:1452 msgid "Copy Category Parameter Templates" msgstr "Скопировать параметры по шаблону категории" -#: common/models.py:1448 +#: common/models.py:1453 msgid "Copy category parameter templates when creating a part" msgstr "Копировать параметры по шаблону категории при создании детали" -#: common/models.py:1453 part/admin.py:108 part/models.py:3795 +#: common/models.py:1458 part/admin.py:108 part/models.py:3835 #: report/models.py:294 report/models.py:361 report/serializers.py:90 -#: report/serializers.py:131 stock/serializers.py:227 +#: report/serializers.py:131 stock/serializers.py:232 #: templates/js/translated/table_filters.js:139 -#: templates/js/translated/table_filters.js:767 +#: templates/js/translated/table_filters.js:772 msgid "Template" msgstr "Шаблон" -#: common/models.py:1454 +#: common/models.py:1459 msgid "Parts are templates by default" msgstr "По умолчанию детали являются шаблонами" -#: common/models.py:1459 part/admin.py:91 part/admin.py:425 part/models.py:1052 +#: common/models.py:1464 part/admin.py:91 part/admin.py:425 part/models.py:1056 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 -#: templates/js/translated/table_filters.js:721 +#: templates/js/translated/table_filters.js:726 msgid "Assembly" msgstr "Производимая деталь" -#: common/models.py:1460 +#: common/models.py:1465 msgid "Parts can be assembled from other components by default" msgstr "По умолчанию детали могут быть собраны из других компонентов" -#: common/models.py:1465 part/admin.py:95 part/models.py:1058 -#: templates/js/translated/table_filters.js:729 +#: common/models.py:1470 part/admin.py:95 part/models.py:1062 +#: templates/js/translated/table_filters.js:734 msgid "Component" msgstr "Компонент" -#: common/models.py:1466 +#: common/models.py:1471 msgid "Parts can be used as sub-components by default" msgstr "По умолчанию детали могут использоваться в качестве суб-компонентов" -#: common/models.py:1471 part/admin.py:100 part/models.py:1070 +#: common/models.py:1476 part/admin.py:100 part/models.py:1074 msgid "Purchaseable" msgstr "Можно купить" -#: common/models.py:1472 +#: common/models.py:1477 msgid "Parts are purchaseable by default" msgstr "По умолчанию детали являются отслеживаемыми" -#: common/models.py:1477 part/admin.py:104 part/models.py:1076 -#: templates/js/translated/table_filters.js:755 +#: common/models.py:1482 part/admin.py:104 part/models.py:1080 +#: templates/js/translated/table_filters.js:760 msgid "Salable" msgstr "Можно продавать" -#: common/models.py:1478 +#: common/models.py:1483 msgid "Parts are salable by default" msgstr "Детали продаются по умолчанию" -#: common/models.py:1483 part/admin.py:113 part/models.py:1064 -#: 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:1484 +#: common/models.py:1489 msgid "Parts are trackable by default" msgstr "По умолчанию детали являются отслеживаемыми" -#: common/models.py:1489 part/admin.py:117 part/models.py:1086 +#: common/models.py:1494 part/admin.py:117 part/models.py:1096 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 -#: templates/js/translated/table_filters.js:775 +#: templates/js/translated/table_filters.js:780 msgid "Virtual" msgstr "Виртуальная" -#: common/models.py:1490 +#: common/models.py:1495 msgid "Parts are virtual by default" msgstr "Детали являются виртуальными по умолчанию" -#: common/models.py:1495 +#: common/models.py:1500 msgid "Show Import in Views" msgstr "Показать Импорт в просмотре" -#: common/models.py:1496 +#: common/models.py:1501 msgid "Display the import wizard in some part views" msgstr "Отобразить мастер импорта на некоторых видах деталей" -#: common/models.py:1501 +#: common/models.py:1506 msgid "Show related parts" msgstr "Показывать связанные детали" -#: common/models.py:1502 +#: common/models.py:1507 msgid "Display related parts for a part" msgstr "Отображать связанные детали для элемента" -#: common/models.py:1507 +#: common/models.py:1512 msgid "Initial Stock Data" msgstr "Начальные данные о запасах" -#: common/models.py:1508 +#: common/models.py:1513 msgid "Allow creation of initial stock when adding a new part" msgstr "Разрешить создание начального запаса при добавлении новой детали" -#: common/models.py:1513 templates/js/translated/part.js:107 +#: common/models.py:1518 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "Исходные данные о поставщике" -#: common/models.py:1515 +#: common/models.py:1520 msgid "Allow creation of initial supplier data when adding a new part" msgstr "Разрешить создание исходных данных о поставщике при добавлении новой детали" -#: common/models.py:1521 +#: common/models.py:1526 msgid "Part Name Display Format" msgstr "Формат отображения детали" -#: common/models.py:1522 +#: common/models.py:1527 msgid "Format to display the part name" msgstr "Формат для отображения имени детали" -#: common/models.py:1528 +#: common/models.py:1533 msgid "Part Category Default Icon" msgstr "Значок раздела по умолчанию" -#: common/models.py:1529 +#: common/models.py:1534 msgid "Part category default icon (empty means no icon)" msgstr "Значок категории по умолчанию (пустой означает отсутствие значка)" -#: common/models.py:1533 +#: common/models.py:1538 msgid "Enforce Parameter Units" msgstr "Принудительное применение единиц измерения параметров" -#: common/models.py:1535 +#: common/models.py:1540 msgid "If units are provided, parameter values must match the specified units" msgstr "Если введены единицы, значения параметра должны соответствовать указанным единицам измерения" -#: common/models.py:1541 +#: common/models.py:1546 msgid "Minimum Pricing Decimal Places" msgstr "Минимальные Цены Десятичные Значки" -#: common/models.py:1543 +#: common/models.py:1548 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "Минимальное количество десятичных знаков при отображении данных о ценах" -#: common/models.py:1554 +#: common/models.py:1559 msgid "Maximum Pricing Decimal Places" msgstr "Макс. Цены десятичные знаки" -#: common/models.py:1556 +#: common/models.py:1561 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "Минимальное количество десятичных знаков при отображении данных о ценах" -#: common/models.py:1567 +#: common/models.py:1572 msgid "Use Supplier Pricing" msgstr "Использовать цены поставщика" -#: common/models.py:1569 +#: common/models.py:1574 msgid "Include supplier price breaks in overall pricing calculations" msgstr "Включить разницу цен поставщиков при расчетах цен" -#: common/models.py:1575 +#: common/models.py:1580 msgid "Purchase History Override" msgstr "Изменить историю покупки" -#: common/models.py:1577 +#: common/models.py:1582 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "Ценообразование по историческим заказам на поставку отменяет различия в ценах поставщиков" -#: common/models.py:1583 +#: common/models.py:1588 msgid "Use Stock Item Pricing" msgstr "Использовать цены из складских позиций" -#: common/models.py:1585 +#: common/models.py:1590 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "Использовать расценки из ручного ввода данных о запасах для расчета цен" -#: common/models.py:1591 +#: common/models.py:1596 msgid "Stock Item Pricing Age" msgstr "Возраст цен складских позиций" -#: common/models.py:1593 +#: common/models.py:1598 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "Исключить складские позиции старше указанного количества дней с расчёта цен" -#: common/models.py:1600 +#: common/models.py:1605 msgid "Use Variant Pricing" msgstr "Использовать варианты цен" -#: common/models.py:1601 +#: common/models.py:1606 msgid "Include variant pricing in overall pricing calculations" msgstr "Включить разницу цен поставщиков при расчетах цен" -#: common/models.py:1606 +#: common/models.py:1611 msgid "Active Variants Only" msgstr "Только Активные Варианты" -#: common/models.py:1608 +#: common/models.py:1613 msgid "Only use active variant parts for calculating variant pricing" msgstr "Использовать только активные запчасти для расчета стоимости варианта" -#: common/models.py:1614 +#: common/models.py:1619 msgid "Pricing Rebuild Interval" msgstr "Интервал пересчета цен" -#: common/models.py:1616 +#: common/models.py:1621 msgid "Number of days before part pricing is automatically updated" msgstr "Количество дней до автоматического обновления цены" -#: common/models.py:1623 +#: common/models.py:1628 msgid "Internal Prices" msgstr "Внутренние цены" -#: common/models.py:1624 +#: common/models.py:1629 msgid "Enable internal prices for parts" msgstr "Разрешить внутренние цены для частей" -#: common/models.py:1629 +#: common/models.py:1634 msgid "Internal Price Override" msgstr "Переопределение внутренней цены" -#: common/models.py:1631 +#: common/models.py:1636 msgid "If available, internal prices override price range calculations" msgstr "При наличии внутренних цен переопределить ценовой диапазон" -#: common/models.py:1637 +#: common/models.py:1642 msgid "Enable label printing" msgstr "Включить печать этикеток" -#: common/models.py:1638 +#: common/models.py:1643 msgid "Enable label printing from the web interface" msgstr "Включить печать этикеток из веб-интерфейса" -#: common/models.py:1643 +#: common/models.py:1648 msgid "Label Image DPI" msgstr "Изображение меток DPI" -#: common/models.py:1645 +#: common/models.py:1650 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "Разрешение DPI при создании файлов изображений для печати этикеток плагинов" -#: common/models.py:1651 +#: common/models.py:1656 msgid "Enable Reports" msgstr "Включить отчеты" -#: common/models.py:1652 +#: common/models.py:1657 msgid "Enable generation of reports" msgstr "Включить генерацию отчетов" -#: common/models.py:1657 templates/stats.html:25 +#: common/models.py:1662 templates/stats.html:25 msgid "Debug Mode" msgstr "Режим отладки" -#: common/models.py:1658 +#: common/models.py:1663 msgid "Generate reports in debug mode (HTML output)" msgstr "Генерировать отчеты в режиме отладки (вывод HTML)" -#: common/models.py:1663 +#: common/models.py:1668 msgid "Log Report Errors" msgstr "Журнал ошибок отчета" -#: common/models.py:1664 +#: common/models.py:1669 msgid "Log errors which occur when generating reports" msgstr "Журнал ошибок, которые возникают при создании отчетов" -#: common/models.py:1669 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1674 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:302 msgid "Page Size" msgstr "Размер страницы" -#: common/models.py:1670 +#: common/models.py:1675 msgid "Default page size for PDF reports" msgstr "Размер страницы по умолчанию для PDF отчетов" -#: common/models.py:1675 +#: common/models.py:1680 msgid "Enable Test Reports" msgstr "Включить отчеты" -#: common/models.py:1676 +#: common/models.py:1681 msgid "Enable generation of test reports" msgstr "Включить генерацию отчетов" -#: common/models.py:1681 +#: common/models.py:1686 msgid "Attach Test Reports" msgstr "Прикрепить отчеты о тестах" -#: common/models.py:1683 +#: common/models.py:1688 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "При печати отчета о тестировании приложить копию тестового отчета к соответствующему складской позиции" -#: common/models.py:1689 +#: common/models.py:1694 msgid "Globally Unique Serials" msgstr "Глобально уникальные серийные номера" -#: common/models.py:1690 +#: common/models.py:1695 msgid "Serial numbers for stock items must be globally unique" msgstr "Серийные номера для складских позиций должны быть уникальными глобально" -#: common/models.py:1695 +#: common/models.py:1700 msgid "Autofill Serial Numbers" msgstr "Автоматическое заполнение серийных номеров" -#: common/models.py:1696 +#: common/models.py:1701 msgid "Autofill serial numbers in forms" msgstr "Автоматическое заполнение серийных номеров в формах" -#: common/models.py:1701 +#: common/models.py:1706 msgid "Delete Depleted Stock" msgstr "Удалить исчерпанный запас" -#: common/models.py:1703 +#: common/models.py:1708 msgid "Determines default behavior when a stock item is depleted" msgstr "Определяет поведение по умолчанию, когда складская позиция заканчивается" -#: common/models.py:1709 +#: common/models.py:1714 msgid "Batch Code Template" msgstr "Код партии Шаблона" -#: common/models.py:1711 +#: common/models.py:1716 msgid "Template for generating default batch codes for stock items" msgstr "Шаблон для создания кодов партии по умолчанию для складских позиций" -#: common/models.py:1716 +#: common/models.py:1721 msgid "Stock Expiry" msgstr "Срок годности Запасов" -#: common/models.py:1717 +#: common/models.py:1722 msgid "Enable stock expiry functionality" msgstr "Включить функцию истечения срока годности" -#: common/models.py:1722 +#: common/models.py:1727 msgid "Sell Expired Stock" msgstr "Использовать просроченные остатки в производстве" -#: common/models.py:1723 +#: common/models.py:1728 msgid "Allow sale of expired stock" msgstr "Разрешить продажу просроченных запасов" -#: common/models.py:1728 +#: common/models.py:1733 msgid "Stock Stale Time" msgstr "Время Залежалости Запасов" -#: common/models.py:1730 +#: common/models.py:1735 msgid "Number of days stock items are considered stale before expiring" msgstr "Количество дней перед тем как складская единица будет считаться просроченной" -#: common/models.py:1737 +#: common/models.py:1742 msgid "Build Expired Stock" msgstr "Использовать просроченные остатки в производстве" -#: common/models.py:1738 +#: common/models.py:1743 msgid "Allow building with expired stock" msgstr "Разрешить использовать просроченные остатки в производстве" -#: common/models.py:1743 +#: common/models.py:1748 msgid "Stock Ownership Control" msgstr "Контроль за собственными запасами" -#: common/models.py:1744 +#: common/models.py:1749 msgid "Enable ownership control over stock locations and items" msgstr "Разрешить владельцу контролировать расположение складов и номенклатуры" -#: common/models.py:1749 +#: common/models.py:1754 msgid "Stock Location Default Icon" msgstr "Значок местоположения по умолчанию" -#: common/models.py:1750 +#: common/models.py:1755 msgid "Stock location default icon (empty means no icon)" msgstr "Значок местоположения склада по умолчанию (пустой означает отсутствие значка)" -#: common/models.py:1754 +#: common/models.py:1759 msgid "Show Installed Stock Items" msgstr "Показать установленные складские позиции" -#: common/models.py:1755 +#: common/models.py:1760 msgid "Display installed stock items in stock tables" msgstr "Отображать установленные складские позиции в складских таблицах" -#: common/models.py:1760 +#: common/models.py:1765 msgid "Check BOM when installing items" msgstr "Проверять спецификацию при установке изделий" -#: common/models.py:1762 +#: common/models.py:1767 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "Установленные единица хранения должны присутствовать в спецификации для родительской детали" -#: common/models.py:1768 +#: common/models.py:1773 msgid "Allow Out of Stock Transfer" msgstr "Разрешить передачу товара, отсутствующего на складе" -#: common/models.py:1770 +#: common/models.py:1775 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "Разрешить перемещение товаров, которых нет на складе, между складами" -#: common/models.py:1776 +#: common/models.py:1781 msgid "Build Order Reference Pattern" msgstr "Паттерн ссылки заказа на производство" -#: common/models.py:1778 +#: common/models.py:1783 msgid "Required pattern for generating Build Order reference field" msgstr "Поле требуемого паттерна для создания ссылки заказа на производство" -#: common/models.py:1784 common/models.py:1826 common/models.py:1848 -#: common/models.py:1884 +#: common/models.py:1789 common/models.py:1837 common/models.py:1859 +#: common/models.py:1895 msgid "Require Responsible Owner" msgstr "Требуется ответственный владелец" -#: common/models.py:1785 common/models.py:1827 common/models.py:1849 -#: common/models.py:1885 +#: common/models.py:1790 common/models.py:1838 common/models.py:1860 +#: common/models.py:1896 msgid "A responsible owner must be assigned to each order" msgstr "Ответственный владелец должен быть назначен для каждого заказа" -#: common/models.py:1790 +#: common/models.py:1795 msgid "Require Active Part" msgstr "" -#: common/models.py:1791 +#: common/models.py:1796 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/models.py:1796 +#: common/models.py:1801 +#, fuzzy +#| msgid "Required Part" +msgid "Require Locked Part" +msgstr "Необходимая деталь" + +#: common/models.py:1802 +#, fuzzy +#| msgid "Print build order report" +msgid "Prevent build order creation for unlocked parts" +msgstr "Печать отчета о заказе на производство" + +#: common/models.py:1807 msgid "Require Valid BOM" msgstr "" -#: common/models.py:1798 +#: common/models.py:1809 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/models.py:1804 +#: common/models.py:1815 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1806 +#: common/models.py:1817 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "Запретить вывод сборки до тех пор, пока не пройдут все необходимые тесты" -#: common/models.py:1812 +#: common/models.py:1823 msgid "Enable Return Orders" msgstr "Включить заказы на возврат" -#: common/models.py:1813 +#: common/models.py:1824 msgid "Enable return order functionality in the user interface" msgstr "Включите функцию заказа на возврат в пользовательском интерфейсе" -#: common/models.py:1818 +#: common/models.py:1829 msgid "Return Order Reference Pattern" msgstr "Шаблон заказа на возврат товара" -#: common/models.py:1820 +#: common/models.py:1831 msgid "Required pattern for generating Return Order reference field" msgstr "Необходимый шаблон для создания поля «Возврат заказа»" -#: common/models.py:1832 +#: common/models.py:1843 msgid "Edit Completed Return Orders" msgstr "Редактировать завершенные возвратные заказы" -#: common/models.py:1834 +#: common/models.py:1845 msgid "Allow editing of return orders after they have been completed" msgstr "Разрешить редактирование возвращенных заказов после их завершения" -#: common/models.py:1840 +#: common/models.py:1851 msgid "Sales Order Reference Pattern" msgstr "Шаблон заказа на возврат товара" -#: common/models.py:1842 +#: common/models.py:1853 msgid "Required pattern for generating Sales Order reference field" msgstr "Необходимый шаблон для создания поля «Возврат заказа»" -#: common/models.py:1854 +#: common/models.py:1865 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1855 +#: common/models.py:1866 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1860 +#: common/models.py:1871 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1862 +#: common/models.py:1873 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1868 +#: common/models.py:1879 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1870 +#: common/models.py:1881 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1876 +#: common/models.py:1887 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1878 +#: common/models.py:1889 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1890 +#: common/models.py:1901 msgid "Edit Completed Purchase Orders" msgstr "Редактировать завершенные заказы на покупку" -#: common/models.py:1892 +#: common/models.py:1903 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1898 +#: common/models.py:1909 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1900 +#: common/models.py:1911 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1907 +#: common/models.py:1918 msgid "Enable password forgot" msgstr "" -#: common/models.py:1908 +#: common/models.py:1919 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1913 +#: common/models.py:1924 msgid "Enable registration" msgstr "" -#: common/models.py:1914 +#: common/models.py:1925 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1919 +#: common/models.py:1930 msgid "Enable SSO" msgstr "Включить SSO" -#: common/models.py:1920 +#: common/models.py:1931 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1925 +#: common/models.py:1936 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1927 +#: common/models.py:1938 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1933 +#: common/models.py:1944 msgid "Enable SSO group sync" msgstr "" -#: common/models.py:1935 +#: common/models.py:1946 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/models.py:1941 +#: common/models.py:1952 msgid "SSO group key" msgstr "" -#: common/models.py:1943 +#: common/models.py:1954 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/models.py:1949 +#: common/models.py:1960 msgid "SSO group map" msgstr "" -#: common/models.py:1951 +#: common/models.py:1962 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/models.py:1957 +#: common/models.py:1968 msgid "Remove groups outside of SSO" msgstr "" -#: common/models.py:1959 +#: common/models.py:1970 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/models.py:1965 +#: common/models.py:1976 msgid "Email required" msgstr "Необходимо указать EMail" -#: common/models.py:1966 +#: common/models.py:1977 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1971 +#: common/models.py:1982 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1973 +#: common/models.py:1984 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1979 +#: common/models.py:1990 msgid "Mail twice" msgstr "Написать дважды" -#: common/models.py:1980 +#: common/models.py:1991 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1985 +#: common/models.py:1996 msgid "Password twice" msgstr "Пароль дважды" -#: common/models.py:1986 +#: common/models.py:1997 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1991 +#: common/models.py:2002 msgid "Allowed domains" msgstr "Разрешенные домены" -#: common/models.py:1993 +#: common/models.py:2004 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1999 +#: common/models.py:2010 msgid "Group on signup" msgstr "" -#: common/models.py:2001 +#: common/models.py:2012 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/models.py:2007 +#: common/models.py:2018 msgid "Enforce MFA" msgstr "Принудительное MFA" -#: common/models.py:2008 +#: common/models.py:2019 msgid "Users must use multifactor security." msgstr "Пользователи должны использовать многофакторную безопасность." -#: common/models.py:2013 +#: common/models.py:2024 msgid "Check plugins on startup" msgstr "Проверять плагины при запуске" -#: common/models.py:2015 +#: common/models.py:2026 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:2023 +#: common/models.py:2034 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2024 +#: common/models.py:2035 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2030 +#: common/models.py:2041 msgid "Enable URL integration" msgstr "" -#: common/models.py:2031 +#: common/models.py:2042 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:2037 +#: common/models.py:2048 msgid "Enable navigation integration" msgstr "" -#: common/models.py:2038 +#: common/models.py:2049 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2044 +#: common/models.py:2055 msgid "Enable app integration" msgstr "" -#: common/models.py:2045 +#: common/models.py:2056 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2051 +#: common/models.py:2062 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2052 +#: common/models.py:2063 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2058 +#: common/models.py:2069 msgid "Enable event integration" msgstr "" -#: common/models.py:2059 +#: common/models.py:2070 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2065 +#: common/models.py:2076 msgid "Enable project codes" msgstr "" -#: common/models.py:2066 +#: common/models.py:2077 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2071 +#: common/models.py:2082 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2073 +#: common/models.py:2084 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2079 +#: common/models.py:2090 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2081 +#: common/models.py:2092 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "Исключить складские позиции во внешних местах хранения из инвентаризации" -#: common/models.py:2087 +#: common/models.py:2098 msgid "Automatic Stocktake Period" msgstr "Автоматический период инвентаризации" -#: common/models.py:2089 +#: common/models.py:2100 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "Количество дней между автоматической записью запасов (установите нулевое значение для отключения)" -#: common/models.py:2095 +#: common/models.py:2106 msgid "Report Deletion Interval" msgstr "Интервал удаления журнала ошибок" -#: common/models.py:2097 +#: common/models.py:2108 msgid "Stocktake reports will be deleted after specified number of days" msgstr "Журналы ошибок будут удалены после указанного количества дней" -#: common/models.py:2104 +#: common/models.py:2115 msgid "Display Users full names" msgstr "Показывать полные имена пользователей" -#: common/models.py:2105 +#: common/models.py:2116 msgid "Display Users full names instead of usernames" msgstr "Отображать полные имена пользователей вместо логинов" -#: common/models.py:2110 +#: common/models.py:2121 msgid "Enable Test Station Data" msgstr "Включить данные тестовой станции" -#: common/models.py:2111 +#: common/models.py:2122 msgid "Enable test station data collection for test results" msgstr "Включить сбор данных с тестовой станции для получения результатов тестирования" -#: common/models.py:2123 common/models.py:2533 +#: common/models.py:2134 common/models.py:2514 msgid "Settings key (must be unique - case insensitive" msgstr "Ключ настроек (должен быть уникальным - не чувствителен к регистру)" -#: common/models.py:2166 +#: common/models.py:2177 msgid "Hide inactive parts" msgstr "Скрыть неактивные детали" -#: common/models.py:2168 +#: common/models.py:2179 msgid "Hide inactive parts in results displayed on the homepage" msgstr "Скрывать неактивные части в результатах, отображаемых на главной странице," -#: common/models.py:2174 +#: common/models.py:2185 msgid "Show subscribed parts" msgstr "Показывать детали, на которые включены уведомления" -#: common/models.py:2175 +#: common/models.py:2186 msgid "Show subscribed parts on the homepage" msgstr "Показывать детали, на которые включены уведомления, на главной странице" -#: common/models.py:2180 +#: common/models.py:2191 msgid "Show subscribed categories" msgstr "Показывать категории, на которые включены уведомления" -#: common/models.py:2181 +#: common/models.py:2192 msgid "Show subscribed part categories on the homepage" msgstr "Показывать категории, на которые включены уведомления, на главной странице" -#: common/models.py:2186 +#: common/models.py:2197 msgid "Show latest parts" msgstr "Показывать последние детали" -#: common/models.py:2187 +#: common/models.py:2198 msgid "Show latest parts on the homepage" msgstr "Показывать последние детали на главной странице" -#: common/models.py:2192 +#: common/models.py:2203 msgid "Show invalid BOMs" msgstr "Показывать недопустимые спецификации" -#: common/models.py:2193 +#: common/models.py:2204 msgid "Show BOMs that await validation on the homepage" msgstr "Показывать BOMы, ожидающие проверки, на главной странице" -#: common/models.py:2198 +#: common/models.py:2209 msgid "Show recent stock changes" msgstr "Показывать изменившиеся складские запасы" -#: common/models.py:2199 +#: common/models.py:2210 msgid "Show recently changed stock items on the homepage" msgstr "Показывать складские позиции с недавно изменившимися запасами на главной странице" -#: common/models.py:2204 +#: common/models.py:2215 msgid "Show low stock" msgstr "Показывать низкие складские запасы" -#: common/models.py:2205 +#: common/models.py:2216 msgid "Show low stock items on the homepage" msgstr "Показывать складские позиции с низкими запасами на главной странице" -#: common/models.py:2210 +#: common/models.py:2221 msgid "Show depleted stock" msgstr "Показывать закончившиеся складские позиции" -#: common/models.py:2211 +#: common/models.py:2222 msgid "Show depleted stock items on the homepage" msgstr "Показывать закончившиеся складские позиции на главной странице" -#: common/models.py:2216 +#: common/models.py:2227 msgid "Show needed stock" msgstr "Показывать требуемые складские позиции" -#: common/models.py:2217 +#: common/models.py:2228 msgid "Show stock items needed for builds on the homepage" msgstr "Показывать требуемые для производства складские позиции на главной странице" -#: common/models.py:2222 +#: common/models.py:2233 msgid "Show expired stock" msgstr "Показывать складские позиции с истекшим сроком годности" -#: common/models.py:2223 +#: common/models.py:2234 msgid "Show expired stock items on the homepage" msgstr "Показывать складские позиции с истёкшим сроком годности на главной странице" -#: common/models.py:2228 +#: common/models.py:2239 msgid "Show stale stock" msgstr "Показывать залежалые складские позиции" -#: common/models.py:2229 +#: common/models.py:2240 msgid "Show stale stock items on the homepage" msgstr "Показывать складские позиции с истекающим сроком годности на главной странице" -#: common/models.py:2234 +#: common/models.py:2245 msgid "Show pending builds" msgstr "Показывать незавершённые производства" -#: common/models.py:2235 +#: common/models.py:2246 msgid "Show pending builds on the homepage" msgstr "Показывать незавершённые производства на главной странице" -#: common/models.py:2240 +#: common/models.py:2251 msgid "Show overdue builds" msgstr "Показывать просроченные производства" -#: common/models.py:2241 +#: common/models.py:2252 msgid "Show overdue builds on the homepage" msgstr "Показывать просроченные производства на главной странице" -#: common/models.py:2246 +#: common/models.py:2257 msgid "Show outstanding POs" msgstr "Показать невыполненные заказы" -#: common/models.py:2247 +#: common/models.py:2258 msgid "Show outstanding POs on the homepage" msgstr "Покажите невыполненные заказы на покупку на главной странице" -#: common/models.py:2252 +#: common/models.py:2263 msgid "Show overdue POs" msgstr "Показать просроченные заказы на производство" -#: common/models.py:2253 +#: common/models.py:2264 msgid "Show overdue POs on the homepage" msgstr "Показывать просроченные сборки на главной странице" -#: common/models.py:2258 +#: common/models.py:2269 msgid "Show outstanding SOs" msgstr "Показать невыполненные заказы" -#: common/models.py:2259 +#: common/models.py:2270 msgid "Show outstanding SOs on the homepage" msgstr "Покажите невыполненные заказы на покупку на главной странице" -#: common/models.py:2264 +#: common/models.py:2275 msgid "Show overdue SOs" msgstr "Показать просроченные заказы на продажу" -#: common/models.py:2265 +#: common/models.py:2276 msgid "Show overdue SOs on the homepage" msgstr "Показывать просроченные заказы на покупку на главной странице" -#: common/models.py:2270 +#: common/models.py:2281 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2271 +#: common/models.py:2282 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2276 +#: common/models.py:2287 msgid "Show News" msgstr "Показывать новости" -#: common/models.py:2277 +#: common/models.py:2288 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2282 +#: common/models.py:2293 msgid "Inline label display" msgstr "" -#: common/models.py:2284 +#: common/models.py:2295 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "Отображение PDF-этикетки в браузере вместо загрузки в виде файла" -#: common/models.py:2290 +#: common/models.py:2301 msgid "Default label printer" msgstr "Принтер этикетки по умолчанию" -#: common/models.py:2292 +#: common/models.py:2303 msgid "Configure which label printer should be selected by default" msgstr "Настроить принтер этикеток по умолчанию" -#: common/models.py:2298 +#: common/models.py:2309 msgid "Inline report display" msgstr "Отображение встроенного отчета" -#: common/models.py:2300 +#: common/models.py:2311 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "Отображение PDF-этикетки в браузере вместо загрузки в виде файла" -#: common/models.py:2306 +#: common/models.py:2317 msgid "Search Parts" msgstr "Поиск Деталей" -#: common/models.py:2307 +#: common/models.py:2318 msgid "Display parts in search preview window" msgstr "Отображение деталей в окне предварительного просмотра поиска" -#: common/models.py:2312 +#: common/models.py:2323 msgid "Search Supplier Parts" msgstr "Поиск деталей поставщика" -#: common/models.py:2313 +#: common/models.py:2324 msgid "Display supplier parts in search preview window" msgstr "Отображение деталей поставщика в окне предварительного просмотра поиска" -#: common/models.py:2318 +#: common/models.py:2329 msgid "Search Manufacturer Parts" msgstr "Новая деталь производителя" -#: common/models.py:2319 +#: common/models.py:2330 msgid "Display manufacturer parts in search preview window" msgstr "Отображение деталей поставщика в окне предварительного просмотра поиска" -#: common/models.py:2324 +#: common/models.py:2335 msgid "Hide Inactive Parts" msgstr "Скрыть неактивные детали" -#: common/models.py:2325 +#: common/models.py:2336 msgid "Excluded inactive parts from search preview window" msgstr "Исключить неактивные детали из окна предварительного просмотра поиска" -#: common/models.py:2330 +#: common/models.py:2341 msgid "Search Categories" msgstr "Категории поиска" -#: common/models.py:2331 +#: common/models.py:2342 msgid "Display part categories in search preview window" msgstr "Отображение деталей в окне предварительного просмотра поиска" -#: common/models.py:2336 +#: common/models.py:2347 msgid "Search Stock" msgstr "Поиск Запасов" -#: common/models.py:2337 +#: common/models.py:2348 msgid "Display stock items in search preview window" msgstr "Отображать складские позиции в окне предварительного просмотра поиска" -#: common/models.py:2342 +#: common/models.py:2353 msgid "Hide Unavailable Stock Items" msgstr "Скрыть недоступные складские позиции" -#: common/models.py:2344 +#: common/models.py:2355 msgid "Exclude stock items which are not available from the search preview window" msgstr "Исключить недоступные складские позиции из окна предварительного просмотра поиска" -#: common/models.py:2350 +#: common/models.py:2361 msgid "Search Locations" msgstr "Поиск мест хранения" -#: common/models.py:2351 +#: common/models.py:2362 msgid "Display stock locations in search preview window" msgstr "Отображать места хранения в окне предварительного просмотра поиска" -#: common/models.py:2356 +#: common/models.py:2367 msgid "Search Companies" msgstr "Поиск компаний" -#: common/models.py:2357 +#: common/models.py:2368 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2362 +#: common/models.py:2373 msgid "Search Build Orders" msgstr "Поиск заказов на производство" -#: common/models.py:2363 +#: common/models.py:2374 msgid "Display build orders in search preview window" msgstr "Отображать заказы на производство в окне предварительного просмотра поиска" -#: common/models.py:2368 +#: common/models.py:2379 msgid "Search Purchase Orders" msgstr "Поиск заказов на покупку" -#: common/models.py:2369 +#: common/models.py:2380 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2374 +#: common/models.py:2385 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2376 +#: common/models.py:2387 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2382 +#: common/models.py:2393 msgid "Search Sales Orders" msgstr "Поиск заказов на продажу" -#: common/models.py:2383 +#: common/models.py:2394 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2388 +#: common/models.py:2399 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2390 +#: common/models.py:2401 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2396 +#: common/models.py:2407 msgid "Search Return Orders" msgstr "Поиск заказов на возврат" -#: common/models.py:2397 +#: common/models.py:2408 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2402 +#: common/models.py:2413 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2404 +#: common/models.py:2415 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2410 +#: common/models.py:2421 msgid "Search Preview Results" msgstr "" -#: common/models.py:2412 +#: common/models.py:2423 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2418 +#: common/models.py:2429 msgid "Regex Search" msgstr "Поиск по Regex" -#: common/models.py:2419 +#: common/models.py:2430 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2424 +#: common/models.py:2435 msgid "Whole Word Search" msgstr "" -#: common/models.py:2425 +#: common/models.py:2436 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2430 +#: common/models.py:2441 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2431 +#: common/models.py:2442 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2436 +#: common/models.py:2447 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2437 +#: common/models.py:2448 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2442 +#: common/models.py:2453 msgid "Fixed Navbar" msgstr "Фиксированная панель навигации" -#: common/models.py:2443 +#: common/models.py:2454 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2448 +#: common/models.py:2459 msgid "Date Format" msgstr "Формат даты" -#: common/models.py:2449 +#: common/models.py:2460 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2462 part/templates/part/detail.html:41 +#: common/models.py:2473 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Планирование деталей" -#: common/models.py:2463 +#: common/models.py:2474 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2468 part/templates/part/detail.html:62 +#: common/models.py:2479 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "Инвентаризация детали" -#: common/models.py:2470 +#: common/models.py:2481 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2476 +#: common/models.py:2487 msgid "Table String Length" msgstr "" -#: common/models.py:2478 +#: common/models.py:2489 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2484 -msgid "Default part label template" -msgstr "" - -#: common/models.py:2485 -msgid "The part label template to be automatically selected" -msgstr "" - -#: common/models.py:2490 -msgid "Default stock item template" -msgstr "Шаблон складской позиции по умолчанию" - -#: common/models.py:2492 -msgid "The stock item label template to be automatically selected" -msgstr "Шаблон метки складской позиции для автоматического выбора" - -#: common/models.py:2498 -msgid "Default stock location label template" -msgstr "" - -#: common/models.py:2500 -msgid "The stock location label template to be automatically selected" -msgstr "" - -#: common/models.py:2506 -msgid "Default build line label template" -msgstr "" - -#: common/models.py:2508 -msgid "The build line label template to be automatically selected" -msgstr "" - -#: common/models.py:2514 +#: common/models.py:2495 msgid "Receive error reports" msgstr "" -#: common/models.py:2515 +#: common/models.py:2496 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2520 +#: common/models.py:2501 msgid "Last used printing machines" msgstr "" -#: common/models.py:2521 +#: common/models.py:2502 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2541 common/models.py:2542 common/models.py:2691 -#: common/models.py:2692 common/models.py:2937 common/models.py:2938 -#: common/models.py:3259 common/models.py:3260 part/models.py:3193 -#: part/models.py:3280 part/models.py:3353 part/models.py:3381 -#: plugin/models.py:274 plugin/models.py:275 +#: common/models.py:2522 common/models.py:2523 common/models.py:2672 +#: common/models.py:2673 common/models.py:2918 common/models.py:2919 +#: common/models.py:3245 common/models.py:3246 importer/models.py:85 +#: part/models.py:3203 part/models.py:3290 part/models.py:3364 +#: part/models.py:3392 plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 msgid "User" msgstr "Пользователь" -#: common/models.py:2564 +#: common/models.py:2545 msgid "Price break quantity" msgstr "" -#: common/models.py:2571 company/serializers.py:472 order/admin.py:42 -#: order/models.py:1346 order/models.py:2265 -#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1886 +#: common/models.py:2552 company/serializers.py:502 order/admin.py:42 +#: order/models.py:1346 order/models.py:2292 +#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1889 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:740 msgid "Price" msgstr "Цена" -#: common/models.py:2572 +#: common/models.py:2553 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2668 common/models.py:2853 +#: common/models.py:2649 common/models.py:2834 msgid "Endpoint" msgstr "Конечная точка" -#: common/models.py:2669 +#: common/models.py:2650 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2679 +#: common/models.py:2660 msgid "Name for this webhook" msgstr "" -#: common/models.py:2683 +#: common/models.py:2664 msgid "Is this webhook active" msgstr "" -#: common/models.py:2699 users/models.py:159 +#: common/models.py:2680 users/models.py:159 msgid "Token" msgstr "Токен" -#: common/models.py:2700 +#: common/models.py:2681 msgid "Token for access" msgstr "Токен для доступа" -#: common/models.py:2708 +#: common/models.py:2689 msgid "Secret" msgstr "Секрет" -#: common/models.py:2709 +#: common/models.py:2690 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2817 +#: common/models.py:2798 msgid "Message ID" msgstr "ID Сообщения" -#: common/models.py:2818 +#: common/models.py:2799 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2826 +#: common/models.py:2807 msgid "Host" msgstr "Хост" -#: common/models.py:2827 +#: common/models.py:2808 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2835 +#: common/models.py:2816 msgid "Header" msgstr "Заголовок" -#: common/models.py:2836 +#: common/models.py:2817 msgid "Header of this message" msgstr "" -#: common/models.py:2843 +#: common/models.py:2824 msgid "Body" msgstr "Тело" -#: common/models.py:2844 +#: common/models.py:2825 msgid "Body of this message" msgstr "" -#: common/models.py:2854 +#: common/models.py:2835 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2859 +#: common/models.py:2840 msgid "Worked on" msgstr "Работал над" -#: common/models.py:2860 +#: common/models.py:2841 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2986 +#: common/models.py:2967 msgid "Id" msgstr "Код" -#: common/models.py:2988 templates/js/translated/company.js:965 +#: common/models.py:2969 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "Заголовок" -#: common/models.py:2990 common/models.py:3243 company/models.py:149 -#: company/models.py:440 company/models.py:500 company/models.py:799 -#: order/models.py:303 order/models.py:1301 order/models.py:1717 -#: part/admin.py:55 part/models.py:955 +#: common/models.py:2971 common/models.py:3229 company/models.py:149 +#: company/models.py:446 company/models.py:506 company/models.py:806 +#: order/models.py:303 order/models.py:1301 order/models.py:1733 +#: part/admin.py:55 part/models.py:959 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:229 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/part.js:2459 #: templates/js/translated/purchase_order.js:2040 #: templates/js/translated/purchase_order.js:2204 #: templates/js/translated/return_order.js:779 @@ -3607,28 +3660,28 @@ msgstr "Заголовок" msgid "Link" msgstr "Ссылка" -#: common/models.py:2992 templates/js/translated/news.js:60 +#: common/models.py:2973 templates/js/translated/news.js:60 msgid "Published" msgstr "Опубликовано" -#: common/models.py:2994 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2975 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:2996 templates/js/translated/news.js:52 +#: common/models.py:2977 templates/js/translated/news.js:52 msgid "Summary" msgstr "Итого" -#: common/models.py:2999 +#: common/models.py:2980 msgid "Read" msgstr "Читать" -#: common/models.py:2999 +#: common/models.py:2980 msgid "Was this news item read?" msgstr "" -#: common/models.py:3016 company/models.py:159 part/models.py:965 +#: common/models.py:2997 company/models.py:159 part/models.py:969 #: 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.html:35 @@ -3638,90 +3691,96 @@ msgstr "" msgid "Image" msgstr "Изображение" -#: common/models.py:3016 +#: common/models.py:2997 msgid "Image file" msgstr "Файл изображения" -#: common/models.py:3028 common/models.py:3227 +#: common/models.py:3009 common/models.py:3213 msgid "Target model type for this image" msgstr "" -#: common/models.py:3032 +#: common/models.py:3013 msgid "Target model ID for this image" msgstr "" -#: common/models.py:3070 +#: common/models.py:3035 +#, fuzzy +#| msgid "New Custom Unit" +msgid "Custom Unit" +msgstr "Новая пользовательская единица" + +#: common/models.py:3056 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:3085 +#: common/models.py:3071 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3104 +#: common/models.py:3090 msgid "Unit name" msgstr "Название единицы" -#: common/models.py:3111 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3097 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "Символ" -#: common/models.py:3112 +#: common/models.py:3098 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3118 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3104 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "Определение" -#: common/models.py:3119 +#: common/models.py:3105 msgid "Unit definition" msgstr "" -#: common/models.py:3177 common/models.py:3234 stock/models.py:2461 +#: common/models.py:3163 common/models.py:3220 stock/models.py:2471 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" msgstr "Вложения" -#: common/models.py:3189 +#: common/models.py:3175 msgid "Missing file" msgstr "Файл не найден" -#: common/models.py:3190 +#: common/models.py:3176 msgid "Missing external link" msgstr "Отсутствует внешняя ссылка" -#: common/models.py:3235 +#: common/models.py:3221 msgid "Select file to attach" msgstr "Выберите файл для вложения" -#: common/models.py:3250 templates/js/translated/attachment.js:120 +#: common/models.py:3236 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" msgstr "Комментарий" -#: common/models.py:3251 +#: common/models.py:3237 msgid "Attachment comment" msgstr "" -#: common/models.py:3267 +#: common/models.py:3253 msgid "Upload date" msgstr "" -#: common/models.py:3268 +#: common/models.py:3254 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:3272 +#: common/models.py:3258 msgid "File size" msgstr "" -#: common/models.py:3272 +#: common/models.py:3258 msgid "File size in bytes" msgstr "" -#: common/models.py:3310 common/serializers.py:553 +#: common/models.py:3296 common/serializers.py:557 msgid "Invalid model type specified for attachment" msgstr "" @@ -3743,7 +3802,7 @@ msgstr "" msgid "A order that is assigned to you was canceled" msgstr "" -#: common/notifications.py:330 common/notifications.py:337 order/api.py:472 +#: common/notifications.py:330 common/notifications.py:337 order/api.py:454 msgid "Items Received" msgstr "Полученные элементы" @@ -3759,75 +3818,75 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:371 +#: common/serializers.py:375 msgid "Is Running" msgstr "Запущен" -#: common/serializers.py:377 +#: common/serializers.py:381 msgid "Pending Tasks" msgstr "Ожидающие задачи" -#: common/serializers.py:383 +#: common/serializers.py:387 msgid "Scheduled Tasks" msgstr "Запланированные задания" -#: common/serializers.py:389 +#: common/serializers.py:393 msgid "Failed Tasks" msgstr "Невыполненные Задачи" -#: common/serializers.py:404 +#: common/serializers.py:408 msgid "Task ID" msgstr "Код задачи" -#: common/serializers.py:404 +#: common/serializers.py:408 msgid "Unique task ID" msgstr "Уникальный ID задачи" -#: common/serializers.py:406 +#: common/serializers.py:410 msgid "Lock" msgstr "Заблокировать" -#: common/serializers.py:406 +#: common/serializers.py:410 msgid "Lock time" msgstr "Время блокировки" -#: common/serializers.py:408 +#: common/serializers.py:412 msgid "Task name" msgstr "Название задачи" -#: common/serializers.py:410 +#: common/serializers.py:414 msgid "Function" msgstr "Функция" -#: common/serializers.py:410 +#: common/serializers.py:414 msgid "Function name" msgstr "Имя функции" -#: common/serializers.py:412 +#: common/serializers.py:416 msgid "Arguments" msgstr "Аргументы" -#: common/serializers.py:412 +#: common/serializers.py:416 msgid "Task arguments" msgstr "Аргументы задачи" -#: common/serializers.py:415 +#: common/serializers.py:419 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:415 +#: common/serializers.py:419 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:525 +#: common/serializers.py:529 msgid "Filename" msgstr "Имя файла" -#: common/serializers.py:532 report/api.py:100 report/serializers.py:53 +#: common/serializers.py:536 report/api.py:100 report/serializers.py:53 msgid "Model Type" msgstr "" -#: common/serializers.py:559 +#: common/serializers.py:563 msgid "User does not have permission to create or edit attachments for this model" msgstr "" @@ -3894,29 +3953,29 @@ msgstr "Детали импортированы" msgid "Previous Step" msgstr "Предыдущий шаг" -#: company/api.py:144 +#: company/api.py:141 msgid "Part is Active" msgstr "" -#: company/api.py:148 +#: company/api.py:145 msgid "Manufacturer is Active" msgstr "" -#: company/api.py:281 +#: company/api.py:278 msgid "Supplier Part is Active" msgstr "" -#: company/api.py:285 +#: company/api.py:282 msgid "Internal Part is Active" msgstr "" -#: company/api.py:289 +#: company/api.py:286 msgid "Supplier is Active" msgstr "" -#: company/models.py:100 company/models.py:365 +#: company/models.py:100 company/models.py:371 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:822 +#: company/templates/company/company_base.html:12 stock/api.py:814 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "Компания" @@ -3956,8 +4015,9 @@ msgstr "Контактный телефон" msgid "Contact email address" msgstr "Контактный EMail" -#: company/models.py:142 company/templates/company/company_base.html:145 -#: order/models.py:343 order/templates/order/order_base.html:203 +#: company/models.py:142 company/models.py:275 +#: company/templates/company/company_base.html:145 order/models.py:343 +#: order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 #: order/templates/order/sales_order_base.html:218 msgid "Contact" @@ -3976,7 +4036,9 @@ msgid "Is this company active?" msgstr "" #: company/models.py:168 -msgid "is customer" +#, fuzzy +#| msgid "is customer" +msgid "Is customer" msgstr "покупатель" #: company/models.py:169 @@ -3984,7 +4046,9 @@ msgid "Do you sell items to this company?" msgstr "Вы продаёте детали этой компании?" #: company/models.py:174 -msgid "is supplier" +#, fuzzy +#| msgid "is supplier" +msgid "Is supplier" msgstr "поставщик" #: company/models.py:175 @@ -3992,7 +4056,9 @@ msgid "Do you purchase items from this company?" msgstr "Вы закупаете детали у этой компании?" #: company/models.py:180 -msgid "is manufacturer" +#, fuzzy +#| msgid "is manufacturer" +msgid "Is manufacturer" msgstr "производитель" #: company/models.py:181 @@ -4003,178 +4069,191 @@ msgstr "Является ли компания производителем де msgid "Default currency used for this company" msgstr "Для этой компании используется валюта по умолчанию" -#: company/models.py:366 +#: company/models.py:314 company/templates/company/company_base.html:124 +#: order/models.py:353 order/templates/order/order_base.html:210 +#: order/templates/order/return_order_base.html:181 +#: order/templates/order/sales_order_base.html:225 +msgid "Address" +msgstr "Адрес" + +#: company/models.py:315 company/templates/company/sidebar.html:35 +msgid "Addresses" +msgstr "Адреса" + +#: company/models.py:372 msgid "Select company" msgstr "Выберите компанию" -#: company/models.py:371 +#: company/models.py:377 msgid "Address title" msgstr "Заголовок адреса" -#: company/models.py:372 +#: company/models.py:378 msgid "Title describing the address entry" msgstr "" -#: company/models.py:378 +#: company/models.py:384 msgid "Primary address" msgstr "" -#: company/models.py:379 +#: company/models.py:385 msgid "Set as primary address" msgstr "" -#: company/models.py:384 templates/js/translated/company.js:914 +#: company/models.py:390 templates/js/translated/company.js:914 #: templates/js/translated/company.js:971 msgid "Line 1" msgstr "Строка 1" -#: company/models.py:385 +#: company/models.py:391 msgid "Address line 1" msgstr "Адресная строка 1" -#: company/models.py:391 templates/js/translated/company.js:915 +#: company/models.py:397 templates/js/translated/company.js:915 #: templates/js/translated/company.js:977 msgid "Line 2" msgstr "Строка 2" -#: company/models.py:392 +#: company/models.py:398 msgid "Address line 2" msgstr "Адресная строка 2" -#: company/models.py:398 company/models.py:399 +#: company/models.py:404 company/models.py:405 #: templates/js/translated/company.js:983 msgid "Postal code" msgstr "Почтовый индекс" -#: company/models.py:405 +#: company/models.py:411 msgid "City/Region" msgstr "Город/Регион" -#: company/models.py:406 +#: company/models.py:412 msgid "Postal code city/region" msgstr "" -#: company/models.py:412 +#: company/models.py:418 msgid "State/Province" msgstr "Регион/Область" -#: company/models.py:413 +#: company/models.py:419 msgid "State or province" msgstr "" -#: company/models.py:419 templates/js/translated/company.js:1001 +#: company/models.py:425 templates/js/translated/company.js:1001 msgid "Country" msgstr "Страна" -#: company/models.py:420 +#: company/models.py:426 msgid "Address country" msgstr "Страна адреса" -#: company/models.py:426 +#: company/models.py:432 msgid "Courier shipping notes" msgstr "Записи отправления" -#: company/models.py:427 +#: company/models.py:433 msgid "Notes for shipping courier" msgstr "Записи для курьера" -#: company/models.py:433 +#: company/models.py:439 msgid "Internal shipping notes" msgstr "Внутренние записи отправления" -#: company/models.py:434 +#: company/models.py:440 msgid "Shipping notes for internal use" msgstr "Записи отправления для внутреннего пользования" -#: company/models.py:441 +#: company/models.py:447 msgid "Link to address information (external)" msgstr "" -#: company/models.py:463 company/models.py:574 company/models.py:792 +#: company/models.py:469 company/models.py:581 company/models.py:799 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:217 msgid "Manufacturer Part" msgstr "Деталь производителя" -#: company/models.py:475 company/models.py:760 stock/models.py:767 -#: stock/serializers.py:422 stock/templates/stock/item_base.html:142 +#: company/models.py:481 company/models.py:767 stock/models.py:767 +#: stock/serializers.py:442 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "Базовая деталь" -#: company/models.py:477 company/models.py:762 +#: company/models.py:483 company/models.py:769 msgid "Select part" msgstr "Выберите деталь" -#: company/models.py:486 company/templates/company/company_base.html:82 +#: company/models.py:492 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:525 +#: company/templates/company/supplier_part.html:145 part/serializers.py:543 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 #: templates/js/translated/company.js:1296 #: templates/js/translated/company.js:1611 -#: templates/js/translated/table_filters.js:800 +#: templates/js/translated/table_filters.js:805 msgid "Manufacturer" msgstr "Производитель" -#: company/models.py:487 +#: company/models.py:493 msgid "Select manufacturer" msgstr "Выберите производителя" -#: company/models.py:493 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:535 -#: templates/js/translated/company.js:351 +#: company/models.py:499 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:153 order/serializers.py:518 +#: part/serializers.py:553 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:1801 +#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1804 #: templates/js/translated/purchase_order.js:1851 #: templates/js/translated/purchase_order.js:2053 msgid "MPN" msgstr "" -#: company/models.py:494 -msgid "Manufacturer Part Number" -msgstr "Код производителя" - -#: company/models.py:501 +#: company/models.py:507 msgid "URL for external manufacturer part link" msgstr "Ссылка на сайт производителя" -#: company/models.py:510 +#: company/models.py:516 msgid "Manufacturer part description" msgstr "" -#: company/models.py:581 +#: company/models.py:569 +#, fuzzy +#| msgid "Manufacturer Part Number" +msgid "Manufacturer Part Parameter" +msgstr "Код производителя" + +#: company/models.py:588 msgid "Parameter name" msgstr "Наименование параметра" -#: company/models.py:587 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2453 templates/js/translated/company.js:1166 -#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1493 +#: company/models.py:594 report/templates/report/inventree_test_report.html:104 +#: stock/models.py:2463 templates/js/translated/company.js:1166 +#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1496 #: templates/js/translated/stock.js:1522 msgid "Value" msgstr "Значение" -#: company/models.py:588 +#: company/models.py:595 msgid "Parameter value" msgstr "Значение параметра" -#: company/models.py:595 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1045 part/models.py:3646 +#: company/models.py:602 company/templates/company/supplier_part.html:168 +#: part/admin.py:57 part/models.py:1049 part/models.py:3667 #: part/templates/part/part_base.html:284 -#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1512 -#: templates/js/translated/part.js:1616 templates/js/translated/part.js:2370 +#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1515 +#: templates/js/translated/part.js:1619 templates/js/translated/part.js:2373 msgid "Units" msgstr "Ед.изм" -#: company/models.py:596 +#: company/models.py:603 msgid "Parameter units" msgstr "Единицы измерения параметра" -#: company/models.py:648 company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 order/api.py:452 +#: company/models.py:655 company/templates/company/supplier_part.html:7 +#: company/templates/company/supplier_part.html:24 order/api.py:434 #: stock/models.py:778 stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 @@ -4182,91 +4261,91 @@ msgstr "Единицы измерения параметра" msgid "Supplier Part" msgstr "Деталь поставщика" -#: company/models.py:700 +#: company/models.py:707 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:707 +#: company/models.py:714 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:721 +#: company/models.py:728 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:770 company/templates/company/company_base.html:87 +#: company/models.py:777 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:509 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:527 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 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:511 -#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1769 +#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1772 #: templates/js/translated/pricing.js:498 #: templates/js/translated/purchase_order.js:1689 -#: templates/js/translated/table_filters.js:804 +#: templates/js/translated/table_filters.js:809 msgid "Supplier" msgstr "Поставщик" -#: company/models.py:771 +#: company/models.py:778 msgid "Select supplier" msgstr "Выберите поставщика" -#: company/models.py:777 part/serializers.py:520 +#: company/models.py:784 part/serializers.py:538 msgid "Supplier stock keeping unit" msgstr "Код поставщика" -#: company/models.py:783 +#: company/models.py:790 msgid "Is this supplier part active?" msgstr "" -#: company/models.py:793 +#: company/models.py:800 msgid "Select manufacturer part" msgstr "Выберите производителя части" -#: company/models.py:800 +#: company/models.py:807 msgid "URL for external supplier part link" msgstr "Ссылка на сайт поставщика" -#: company/models.py:809 +#: company/models.py:816 msgid "Supplier part description" msgstr "" -#: company/models.py:816 company/templates/company/supplier_part.html:187 -#: part/admin.py:412 part/models.py:4093 part/templates/part/upload_bom.html:59 +#: company/models.py:823 company/templates/company/supplier_part.html:187 +#: part/admin.py:412 part/models.py:4178 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: 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:710 +#: stock/serializers.py:768 msgid "Note" msgstr "Запись" -#: company/models.py:825 part/models.py:2003 +#: company/models.py:832 part/models.py:2013 msgid "base cost" msgstr "базовая стоимость" -#: company/models.py:826 part/models.py:2004 +#: company/models.py:833 part/models.py:2014 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:833 company/templates/company/supplier_part.html:160 -#: stock/admin.py:228 stock/models.py:798 stock/serializers.py:1475 +#: company/models.py:840 company/templates/company/supplier_part.html:160 +#: stock/admin.py:228 stock/models.py:798 stock/serializers.py:1541 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 msgid "Packaging" msgstr "Упаковка" -#: company/models.py:834 +#: company/models.py:841 msgid "Part packaging" msgstr "Упаковка детали" -#: company/models.py:839 templates/js/translated/company.js:1651 -#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 +#: company/models.py:846 templates/js/translated/company.js:1651 +#: templates/js/translated/part.js:1825 templates/js/translated/part.js:1881 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 #: templates/js/translated/purchase_order.js:1103 @@ -4275,35 +4354,47 @@ msgstr "Упаковка детали" msgid "Pack Quantity" msgstr "Кол-во в упаковке" -#: company/models.py:841 +#: company/models.py:848 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:860 part/models.py:2010 +#: company/models.py:867 part/models.py:2020 msgid "multiple" msgstr "множественные" -#: company/models.py:861 +#: company/models.py:868 msgid "Order multiple" msgstr "Кратность заказа" -#: company/models.py:873 +#: company/models.py:880 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:879 +#: company/models.py:886 msgid "Availability Updated" msgstr "" -#: company/models.py:880 +#: company/models.py:887 msgid "Date of last update of availability data" msgstr "" -#: company/serializers.py:161 +#: company/models.py:1015 +#, fuzzy +#| msgid "Supplier Pricing" +msgid "Supplier Price Break" +msgstr "Цены поставщика" + +#: company/serializers.py:174 msgid "Default currency used for this supplier" msgstr "Валюта по умолчанию для этого поставщика" -#: company/serializers.py:357 part/admin.py:126 +#: company/serializers.py:210 +#, fuzzy +#| msgid "Company name" +msgid "Company Name" +msgstr "Название компании" + +#: company/serializers.py:384 part/admin.py:126 part/serializers.py:855 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:355 @@ -4315,7 +4406,7 @@ msgstr "На складе" #: templates/js/translated/company.js:1287 #: templates/js/translated/company.js:1575 #: templates/js/translated/model_renderers.js:312 -#: templates/js/translated/part.js:815 templates/js/translated/part.js:1219 +#: templates/js/translated/part.js:814 templates/js/translated/part.js:1222 msgid "Inactive" msgstr "Неактивный" @@ -4374,16 +4465,16 @@ msgid "Delete image" msgstr "Удалить изображение" #: company/templates/company/company_base.html:92 order/models.py:938 -#: order/models.py:2032 order/templates/order/return_order_base.html:131 +#: order/models.py:2058 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:148 stock/models.py:820 -#: stock/models.py:821 stock/serializers.py:1225 +#: stock/models.py:821 stock/serializers.py:1291 #: 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:295 #: templates/js/translated/sales_order.js:820 #: templates/js/translated/stock.js:2959 -#: templates/js/translated/table_filters.js:808 +#: templates/js/translated/table_filters.js:813 msgid "Customer" msgstr "Покупатель" @@ -4391,13 +4482,6 @@ msgstr "Покупатель" msgid "Uses default currency" msgstr "Использовать валюту по умолчанию" -#: company/templates/company/company_base.html:124 order/models.py:353 -#: order/templates/order/order_base.html:210 -#: order/templates/order/return_order_base.html:181 -#: order/templates/order/sales_order_base.html:225 -msgid "Address" -msgstr "Адрес" - #: company/templates/company/company_base.html:131 msgid "Phone" msgstr "Телефон" @@ -4577,7 +4661,8 @@ msgid "Delete manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:65 -#: company/templates/company/supplier_part.html:97 order/api.py:458 +#: company/templates/company/supplier_part.html:97 order/api.py:440 +#: order/serializers.py:526 msgid "Internal Part" msgstr "Внутренняя деталь" @@ -4587,7 +4672,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:832 +#: part/admin.py:122 part/serializers.py:860 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4608,7 +4693,7 @@ msgid "New Parameter" msgstr "Новый параметр" #: company/templates/company/manufacturer_part.html:196 -#: templates/js/translated/part.js:1423 +#: templates/js/translated/part.js:1426 msgid "Add Parameter" msgstr "Добавить параметр" @@ -4632,10 +4717,6 @@ msgstr "Назначенные складские позиции" msgid "Contacts" msgstr "Контакты" -#: company/templates/company/sidebar.html:35 -msgid "Addresses" -msgstr "Адреса" - #: company/templates/company/supplier_part.html:50 #: templates/js/translated/company.js:1526 msgid "Supplier part actions" @@ -4677,9 +4758,9 @@ msgstr "" msgid "No supplier information available" msgstr "" -#: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:519 -#: templates/js/translated/company.js:349 templates/js/translated/part.js:1787 +#: company/templates/company/supplier_part.html:139 order/serializers.py:515 +#: part/bom.py:279 part/bom.py:311 part/serializers.py:537 +#: templates/js/translated/company.js:349 templates/js/translated/part.js:1790 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1850 #: templates/js/translated/purchase_order.js:2028 @@ -4695,81 +4776,277 @@ msgstr "" msgid "Create new stock item" msgstr "Создать новую складскую позицию" -#: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:208 -#: templates/js/translated/stock.js:537 -msgid "New Stock Item" -msgstr "Новая складская позиция" +#: company/templates/company/supplier_part.html:210 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:208 +#: templates/js/translated/stock.js:537 +msgid "New Stock Item" +msgstr "Новая складская позиция" + +#: company/templates/company/supplier_part.html:223 +msgid "Supplier Part Orders" +msgstr "" + +#: company/templates/company/supplier_part.html:246 +msgid "Pricing Information" +msgstr "Информация о цене" + +#: company/templates/company/supplier_part.html:251 +#: templates/js/translated/company.js:398 +#: templates/js/translated/pricing.js:684 +msgid "Add Price Break" +msgstr "Добавить разрыв цен" + +#: company/templates/company/supplier_part.html:276 +msgid "Supplier Part QR Code" +msgstr "" + +#: company/templates/company/supplier_part.html:287 +msgid "Link Barcode to Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:359 +msgid "Update Part Availability" +msgstr "" + +#: company/templates/company/supplier_part_sidebar.html:5 +#: part/serializers.py:859 part/stocktake.py:224 +#: part/templates/part/category.html:183 +#: part/templates/part/category_sidebar.html:17 stock/admin.py:68 +#: stock/serializers.py:976 stock/serializers.py:1154 +#: stock/templates/stock/location.html:170 +#: 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:1064 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 +#: users/models.py:206 +msgid "Stock Items" +msgstr "Складские позиции" + +#: company/templates/company/supplier_part_sidebar.html:9 +msgid "Supplier Part Pricing" +msgstr "" + +#: company/views.py:32 +msgid "New Supplier" +msgstr "Новый поставщик" + +#: company/views.py:38 +msgid "New Manufacturer" +msgstr "Новый производитель" + +#: company/views.py:43 templates/InvenTree/search.html:210 +#: templates/navbar.html:60 +msgid "Customers" +msgstr "Покупатели" + +#: company/views.py:44 +msgid "New Customer" +msgstr "Новый покупатель" + +#: company/views.py:52 +msgid "New Company" +msgstr "Новая компания" + +#: generic/states/tests.py:18 order/status_codes.py:13 +msgid "Placed" +msgstr "Размещены" + +#: importer/mixins.py:263 +#, fuzzy +#| msgid "Invalid value for overage" +msgid "Invalid export format" +msgstr "Неверное значение для избытка" + +#: importer/models.py:56 +msgid "Timestamp" +msgstr "" + +#: importer/models.py:61 +#, fuzzy +#| msgid "Select file to upload" +msgid "Data file to import" +msgstr "Выберите файл для загрузки" + +#: importer/models.py:70 templates/js/translated/tables.js:558 +msgid "Columns" +msgstr "Столбцы" + +#: importer/models.py:81 +#, fuzzy +#| msgid "Import Parts" +msgid "Import status" +msgstr "Импортировать детали" + +#: importer/models.py:91 +#, fuzzy +#| msgid "Build Details" +msgid "Field Defaults" +msgstr "Подробности производства" + +#: importer/models.py:201 +#, fuzzy +#| msgid "Required build quantity has not been completed" +msgid "Some required fields have not been mapped" +msgstr "Требуемое количество деталей не было произведено" + +#: importer/models.py:346 +msgid "Column is already mapped to a database field" +msgstr "" + +#: importer/models.py:351 +msgid "Field is already mapped to a data column" +msgstr "" + +#: importer/models.py:360 +msgid "Column mapping must be linked to a valid import session" +msgstr "" + +#: importer/models.py:365 +msgid "Column does not exist in the data file" +msgstr "" + +#: importer/models.py:372 +#, fuzzy +#| msgid "User does not have permission to view this model" +msgid "Field does not exist in the target model" +msgstr "У пользователя недостаточно прав для просмотра этой модели!" + +#: importer/models.py:376 +msgid "Selected field is read-only" +msgstr "" + +#: importer/models.py:381 importer/models.py:452 +#, fuzzy +#| msgid "Active Sessions" +msgid "Import Session" +msgstr "Активные Сессии" + +#: importer/models.py:385 +#, fuzzy +#| msgid "Field Name" +msgid "Field" +msgstr "Имя Поля" + +#: importer/models.py:387 +#, fuzzy +#| msgid "Columns" +msgid "Column" +msgstr "Столбцы" + +#: importer/models.py:456 +#, fuzzy +#| msgid "Index" +msgid "Row Index" +msgstr "Индекс" + +#: importer/models.py:459 +#, fuzzy +#| msgid "Original Part" +msgid "Original row data" +msgstr "Оригинальная деталь" + +#: importer/models.py:462 part/models.py:3841 +msgid "Data" +msgstr "Данные" + +#: importer/models.py:464 machine/models.py:110 +msgid "Errors" +msgstr "" + +#: importer/models.py:466 part/api.py:874 +msgid "Valid" +msgstr "Корректный" -#: company/templates/company/supplier_part.html:223 -msgid "Supplier Part Orders" +#: importer/operations.py:28 importer/operations.py:49 +#, fuzzy +#| msgid "Unsupported file format: {fmt}" +msgid "Unsupported data file format" +msgstr "Неподдерживаемый формат файла: {fmt}" + +#: importer/operations.py:40 +msgid "Failed to open data file" msgstr "" -#: company/templates/company/supplier_part.html:246 -msgid "Pricing Information" -msgstr "Информация о цене" +#: importer/operations.py:51 +msgid "Invalid data file dimensions" +msgstr "" -#: company/templates/company/supplier_part.html:251 -#: templates/js/translated/company.js:398 -#: templates/js/translated/pricing.js:684 -msgid "Add Price Break" -msgstr "Добавить разрыв цен" +#: importer/serializers.py:135 +msgid "Rows" +msgstr "" -#: company/templates/company/supplier_part.html:276 -msgid "Supplier Part QR Code" +#: importer/serializers.py:136 +msgid "List of row IDs to accept" msgstr "" -#: company/templates/company/supplier_part.html:287 -msgid "Link Barcode to Supplier Part" +#: importer/serializers.py:149 +#, fuzzy +#| msgid "No data rows provided" +msgid "No rows provided" +msgstr "Строки данных в файле не найдены" + +#: importer/serializers.py:153 +msgid "Row does not belong to this session" msgstr "" -#: company/templates/company/supplier_part.html:359 -msgid "Update Part Availability" +#: importer/serializers.py:156 +msgid "Row contains invalid data" msgstr "" -#: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:831 part/stocktake.py:224 -#: part/templates/part/category.html:183 -#: part/templates/part/category_sidebar.html:17 stock/admin.py:68 -#: stock/serializers.py:918 stock/serializers.py:1091 -#: stock/templates/stock/location.html:170 -#: 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:1061 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 -#: users/models.py:206 -msgid "Stock Items" -msgstr "Складские позиции" +#: importer/serializers.py:159 +#, fuzzy +#| msgid "This build output has already been completed" +msgid "Row has already been completed" +msgstr "Эта продукция уже помечена как завершенная" -#: company/templates/company/supplier_part_sidebar.html:9 -msgid "Supplier Part Pricing" +#: importer/status_codes.py:11 +msgid "Initializing" msgstr "" -#: company/views.py:32 -msgid "New Supplier" -msgstr "Новый поставщик" +#: importer/status_codes.py:12 +#, fuzzy +#| msgid "Columns" +msgid "Mapping Columns" +msgstr "Столбцы" -#: company/views.py:38 -msgid "New Manufacturer" -msgstr "Новый производитель" +#: importer/status_codes.py:13 +#, fuzzy +#| msgid "Import Part" +msgid "Importing Data" +msgstr "Импорт детали" -#: company/views.py:43 templates/InvenTree/search.html:210 -#: templates/navbar.html:60 -msgid "Customers" -msgstr "Покупатели" +#: importer/status_codes.py:16 +#, fuzzy +#| msgid "Loading Data" +msgid "Processing Data" +msgstr "Загрузка данных" -#: company/views.py:44 -msgid "New Customer" -msgstr "Новый покупатель" +#: importer/validators.py:21 +#, fuzzy +#| msgid "Image download exceeded maximum size" +msgid "Data file exceeds maximum size limit" +msgstr "Загрузка изображения превышен максимальный размер" -#: company/views.py:52 -msgid "New Company" -msgstr "Новая компания" +#: importer/validators.py:26 +#, fuzzy +#| msgid "Stock item contains other items" +msgid "Data file contains no headers" +msgstr "Складская позиция содержит другие детали" -#: generic/states/tests.py:18 order/status_codes.py:13 -msgid "Placed" -msgstr "Размещены" +#: importer/validators.py:29 +msgid "Data file contains too many columns" +msgstr "" + +#: importer/validators.py:32 +msgid "Data file contains too many rows" +msgstr "" + +#: importer/validators.py:49 +#, fuzzy +#| msgid "Metadata must be a python dict object" +msgid "Value must be a valid dictionary object" +msgstr "Метаданные должны быть объектом python dict" #: machine/machine_types/label_printer.py:212 msgid "Copies" @@ -4783,7 +5060,7 @@ msgstr "" msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:229 order/api.py:1467 +#: machine/machine_types/label_printer.py:229 order/api.py:1388 #: templates/js/translated/sales_order.js:1078 msgid "Unknown" msgstr "Неизвестно" @@ -4852,10 +5129,6 @@ msgstr "" msgid "Initialized" msgstr "" -#: machine/models.py:110 -msgid "Errors" -msgstr "" - #: machine/models.py:117 msgid "Machine status" msgstr "" @@ -4881,44 +5154,44 @@ msgstr "" msgid "Total Price" msgstr "Общая стоимость" -#: order/api.py:157 order/serializers.py:90 +#: order/api.py:149 order/serializers.py:94 #: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:113 #: order/templates/order/sales_order_base.html:122 msgid "Order Status" msgstr "Статсу заказа" -#: order/api.py:161 templates/js/translated/table_filters.js:194 -#: templates/js/translated/table_filters.js:779 +#: order/api.py:153 templates/js/translated/table_filters.js:194 +#: templates/js/translated/table_filters.js:784 msgid "Has Pricing" msgstr "Имеет цену" -#: order/api.py:236 +#: order/api.py:228 msgid "No matching purchase order found" msgstr "" -#: order/api.py:435 order/api.py:801 order/models.py:1395 order/models.py:1504 -#: order/models.py:1550 order/models.py:1664 order/models.py:1818 -#: order/models.py:2231 order/models.py:2282 +#: order/api.py:417 order/api.py:755 order/models.py:1400 order/models.py:1514 +#: order/models.py:1565 order/models.py:1680 order/models.py:1839 +#: order/models.py:2258 order/models.py:2314 #: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "Заказ" -#: order/api.py:439 order/api.py:822 +#: order/api.py:421 order/api.py:776 msgid "Order Complete" msgstr "" -#: order/api.py:462 +#: order/api.py:444 msgid "Order Pending" msgstr "" -#: order/api.py:1461 order/models.py:380 order/models.py:1396 -#: order/models.py:1505 order/templates/order/order_base.html:9 +#: order/api.py:1382 order/models.py:380 order/models.py:1401 +#: order/models.py:1515 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 -#: stock/serializers.py:118 stock/templates/stock/item_base.html:176 +#: stock/serializers.py:120 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/part.js:1746 templates/js/translated/pricing.js:804 +#: templates/js/translated/part.js:1749 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:1673 @@ -4926,8 +5199,8 @@ msgstr "" msgid "Purchase Order" msgstr "Заказ на закупку" -#: order/api.py:1465 order/models.py:1981 order/models.py:2232 -#: order/models.py:2283 order/templates/order/return_order_base.html:9 +#: order/api.py:1386 order/models.py:2007 order/models.py:2259 +#: order/models.py:2315 order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report.html:13 #: templates/js/translated/return_order.js:280 @@ -4939,11 +5212,11 @@ msgstr "Заказ на возврат" msgid "Total price for this order" msgstr "" -#: order/models.py:96 order/serializers.py:70 +#: order/models.py:96 order/serializers.py:72 msgid "Order Currency" msgstr "Валюта Заказа" -#: order/models.py:99 order/serializers.py:71 +#: order/models.py:99 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" @@ -4959,7 +5232,7 @@ msgstr "Описание заказа (дополнительно)" msgid "Select project code for this order" msgstr "Выберите код проекта для этого заказа" -#: order/models.py:303 order/models.py:1301 order/models.py:1717 +#: order/models.py:303 order/models.py:1301 order/models.py:1733 msgid "Link to external page" msgstr "" @@ -5008,15 +5281,15 @@ msgstr "" msgid "received by" msgstr "получил" -#: order/models.py:514 order/models.py:2058 +#: order/models.py:514 order/models.py:2084 msgid "Issue Date" msgstr "Дата создания" -#: order/models.py:515 order/models.py:2059 +#: order/models.py:515 order/models.py:2085 msgid "Date order was issued" msgstr "" -#: order/models.py:522 order/models.py:2066 +#: order/models.py:522 order/models.py:2092 msgid "Date order was completed" msgstr "" @@ -5032,15 +5305,15 @@ msgstr "" msgid "Company to which the items are being sold" msgstr "Компания, которой детали продаются" -#: order/models.py:962 order/models.py:2051 +#: order/models.py:962 order/models.py:2077 msgid "Customer Reference " msgstr "" -#: order/models.py:963 order/models.py:2052 +#: order/models.py:963 order/models.py:2078 msgid "Customer order reference code" msgstr "" -#: order/models.py:967 order/models.py:1671 +#: order/models.py:967 order/models.py:1687 #: templates/js/translated/sales_order.js:879 #: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" @@ -5102,20 +5375,26 @@ msgstr "Дополнительный контекст для этой строк msgid "Unit price" msgstr "Цена за единицу" -#: order/models.py:1380 +#: order/models.py:1361 +#, fuzzy +#| msgid "Purchase Order Items" +msgid "Purchase Order Line Item" +msgstr "Позиции заказа на закупку" + +#: order/models.py:1385 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1387 +#: order/models.py:1392 msgid "deleted" msgstr "удалено" -#: order/models.py:1415 +#: order/models.py:1420 msgid "Supplier part" msgstr "Деталь поставщика" -#: order/models.py:1422 order/templates/order/order_base.html:196 -#: templates/js/translated/part.js:1870 templates/js/translated/part.js:1902 +#: order/models.py:1427 order/templates/order/order_base.html:196 +#: templates/js/translated/part.js:1873 templates/js/translated/part.js:1905 #: templates/js/translated/purchase_order.js:1306 #: templates/js/translated/purchase_order.js:2169 #: templates/js/translated/return_order.js:763 @@ -5124,196 +5403,238 @@ msgstr "Деталь поставщика" msgid "Received" msgstr "Получено" -#: order/models.py:1423 +#: order/models.py:1428 msgid "Number of items received" msgstr "" -#: order/models.py:1431 stock/models.py:939 stock/serializers.py:556 +#: order/models.py:1436 stock/models.py:939 stock/serializers.py:602 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2311 msgid "Purchase Price" msgstr "Закупочная цена" -#: order/models.py:1432 +#: order/models.py:1437 msgid "Unit purchase price" msgstr "" -#: order/models.py:1447 +#: order/models.py:1452 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1538 +#: order/models.py:1503 +#, fuzzy +#| msgid "Purchase Order Items" +msgid "Purchase Order Extra Line" +msgstr "Позиции заказа на закупку" + +#: order/models.py:1532 +#, fuzzy +#| msgid "Sales Order Items" +msgid "Sales Order Line Item" +msgstr "Позиции заказа на закупку" + +#: order/models.py:1553 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1543 +#: order/models.py:1558 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1569 part/templates/part/part_pricing.html:107 +#: order/models.py:1584 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:1570 +#: order/models.py:1585 msgid "Unit sale price" msgstr "Цена последней продажи" -#: order/models.py:1579 order/status_codes.py:43 +#: order/models.py:1594 order/status_codes.py:43 #: templates/js/translated/sales_order.js:1559 #: templates/js/translated/sales_order.js:1680 #: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "Доставлено" -#: order/models.py:1580 +#: order/models.py:1595 msgid "Shipped quantity" msgstr "Отгруженное кол-во" -#: order/models.py:1672 +#: order/models.py:1667 +#, fuzzy +#| msgid "Sales Order Settings" +msgid "Sales Order Shipment" +msgstr "Настройки заказов на продажу" + +#: order/models.py:1688 msgid "Date of shipment" msgstr "Дата отправления" -#: order/models.py:1678 templates/js/translated/sales_order.js:1072 +#: order/models.py:1694 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "Дата доставки" -#: order/models.py:1679 +#: order/models.py:1695 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1687 +#: order/models.py:1703 msgid "Checked By" msgstr "Проверн" -#: order/models.py:1688 +#: order/models.py:1704 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1695 order/models.py:1908 order/serializers.py:1342 -#: order/serializers.py:1452 templates/js/translated/model_renderers.js:454 +#: order/models.py:1711 order/models.py:1934 order/serializers.py:1398 +#: order/serializers.py:1508 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "Отправление" -#: order/models.py:1696 +#: order/models.py:1712 msgid "Shipment number" msgstr "Номер отправления" -#: order/models.py:1704 +#: order/models.py:1720 msgid "Tracking Number" msgstr "Номер отслеживания" -#: order/models.py:1705 +#: order/models.py:1721 msgid "Shipment tracking information" msgstr "Информация об отслеживании доставки" -#: order/models.py:1712 +#: order/models.py:1728 msgid "Invoice Number" msgstr "Номер счета" -#: order/models.py:1713 +#: order/models.py:1729 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1733 +#: order/models.py:1749 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1736 +#: order/models.py:1752 msgid "Shipment has no allocated stock items" msgstr "Отправка не имеет зарезервированных складских позиций" -#: order/models.py:1854 order/models.py:1856 +#: order/models.py:1828 +#, fuzzy +#| msgid "Sales Order Items" +msgid "Sales Order Extra Line" +msgstr "Позиции заказа на закупку" + +#: order/models.py:1857 +#, fuzzy +#| msgid "Build Order Allocations" +msgid "Sales Order Allocation" +msgstr "Резервы заказа на производство" + +#: order/models.py:1880 order/models.py:1882 msgid "Stock item has not been assigned" msgstr "Складская позиция не была назначена" -#: order/models.py:1863 +#: order/models.py:1889 msgid "Cannot allocate stock item to a line with a different part" msgstr "Невозможно зарезервировать складскую позицию в позицию другой детали" -#: order/models.py:1866 +#: order/models.py:1892 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1869 +#: order/models.py:1895 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1888 order/serializers.py:1219 +#: order/models.py:1914 order/serializers.py:1275 msgid "Quantity must be 1 for serialized stock item" msgstr "Количество должно быть 1 для сериализированных складских позиций" -#: order/models.py:1891 +#: order/models.py:1917 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1892 plugin/base/barcodes/api.py:481 +#: order/models.py:1918 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1900 +#: order/models.py:1926 msgid "Line" msgstr "Строка" -#: order/models.py:1909 +#: order/models.py:1935 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1922 order/models.py:2239 +#: order/models.py:1948 order/models.py:2266 #: templates/js/translated/return_order.js:721 msgid "Item" msgstr "Элемент" -#: order/models.py:1923 +#: order/models.py:1949 msgid "Select stock item to allocate" msgstr "Выберите складскую позицию для резервирования" -#: order/models.py:1932 +#: order/models.py:1958 msgid "Enter stock allocation quantity" msgstr "Укажите резервируемое количество" -#: order/models.py:2021 +#: order/models.py:2047 msgid "Return Order reference" msgstr "" -#: order/models.py:2033 +#: order/models.py:2059 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2045 +#: order/models.py:2071 msgid "Return order status" msgstr "" -#: order/models.py:2224 +#: order/models.py:2237 +#, fuzzy +#| msgid "Return Order" +msgid "Return Order Line Item" +msgstr "Заказ на возврат" + +#: order/models.py:2251 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2240 +#: order/models.py:2267 msgid "Select item to return from customer" msgstr "Выберите позицию, возвращаемую от клиента" -#: order/models.py:2246 +#: order/models.py:2273 msgid "Received Date" msgstr "Дата получения" -#: order/models.py:2247 +#: order/models.py:2274 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2258 templates/js/translated/return_order.js:732 +#: order/models.py:2285 templates/js/translated/return_order.js:732 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "Результат" -#: order/models.py:2259 +#: order/models.py:2286 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2266 +#: order/models.py:2293 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:79 order/templates/order/po_sidebar.html:5 +#: order/models.py:2303 +#, fuzzy +#| msgid "Return Order" +msgid "Return Order Extra Line" +msgstr "Заказ на возврат" + +#: order/serializers.py:83 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_purchase_order_report.html:22 @@ -5322,163 +5643,173 @@ msgstr "" msgid "Line Items" msgstr "Позиции" -#: order/serializers.py:83 +#: order/serializers.py:87 msgid "Completed Lines" msgstr "" -#: order/serializers.py:286 +#: order/serializers.py:305 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:301 order/serializers.py:1235 +#: order/serializers.py:320 order/serializers.py:1291 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:311 order/serializers.py:1245 +#: order/serializers.py:330 order/serializers.py:1301 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:439 +#: order/serializers.py:468 msgid "Order is not open" msgstr "Заказ не открыт" -#: order/serializers.py:460 +#: order/serializers.py:489 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:462 +#: order/serializers.py:491 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:472 +#: order/serializers.py:501 msgid "Purchase price currency" msgstr "Валюта цены закупки" -#: order/serializers.py:478 +#: order/serializers.py:507 msgid "Merge Items" msgstr "" -#: order/serializers.py:480 +#: order/serializers.py:509 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:498 +#: order/serializers.py:522 part/models.py:945 +msgid "Internal Part Number" +msgstr "Внутренний код детали" + +#: order/serializers.py:530 +#, fuzzy +#| msgid "Internal Part Number" +msgid "Internal Part Name" +msgstr "Внутренний код детали" + +#: order/serializers.py:546 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:501 +#: order/serializers.py:549 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:509 +#: order/serializers.py:557 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:510 +#: order/serializers.py:558 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:549 order/serializers.py:1313 +#: order/serializers.py:598 order/serializers.py:1369 msgid "Line Item" msgstr "Позиция" -#: order/serializers.py:555 +#: order/serializers.py:604 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:565 order/serializers.py:673 order/serializers.py:1657 +#: order/serializers.py:614 order/serializers.py:722 order/serializers.py:1715 msgid "Select destination location for received items" msgstr "Выберите место назначения для полученных элементов" -#: order/serializers.py:581 templates/js/translated/purchase_order.js:1130 +#: order/serializers.py:630 templates/js/translated/purchase_order.js:1130 msgid "Enter batch code for incoming stock items" msgstr "Введите код партии для поступающих складских позиций" -#: order/serializers.py:589 templates/js/translated/purchase_order.js:1154 +#: order/serializers.py:638 templates/js/translated/purchase_order.js:1154 msgid "Enter serial numbers for incoming stock items" msgstr "Введите серийные номера для входящих складских позиций" -#: order/serializers.py:600 templates/js/translated/barcode.js:52 +#: order/serializers.py:649 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "Штрих-код" -#: order/serializers.py:601 +#: order/serializers.py:650 msgid "Scanned barcode" msgstr "Сканированный штрих-код" -#: order/serializers.py:617 +#: order/serializers.py:666 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:641 +#: order/serializers.py:690 msgid "An integer quantity must be provided for trackable parts" msgstr "Для отслеживаемых деталей должно быть указано целочисленное количество" -#: order/serializers.py:689 order/serializers.py:1673 +#: order/serializers.py:738 order/serializers.py:1731 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:705 +#: order/serializers.py:754 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:716 +#: order/serializers.py:765 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1062 +#: order/serializers.py:1117 msgid "Sale price currency" msgstr "Валюта цены продажи" -#: order/serializers.py:1122 +#: order/serializers.py:1178 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1183 order/serializers.py:1322 +#: order/serializers.py:1239 order/serializers.py:1378 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1202 +#: order/serializers.py:1258 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1332 +#: order/serializers.py:1388 msgid "Enter serial numbers to allocate" msgstr "Введите серийные номера для резервирования" -#: order/serializers.py:1354 order/serializers.py:1460 +#: order/serializers.py:1410 order/serializers.py:1516 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1357 order/serializers.py:1463 +#: order/serializers.py:1413 order/serializers.py:1519 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1404 +#: order/serializers.py:1460 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1411 +#: order/serializers.py:1467 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1627 +#: order/serializers.py:1685 msgid "Return order line item" msgstr "" -#: order/serializers.py:1633 +#: order/serializers.py:1691 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1636 +#: order/serializers.py:1694 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1665 +#: order/serializers.py:1723 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1743 +#: order/serializers.py:1806 msgid "Line price currency" msgstr "" @@ -5808,7 +6139,7 @@ msgstr "" #: 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:1073 +#: templates/js/translated/part.js:1076 #: templates/js/translated/purchase_order.js:1752 #: templates/js/translated/return_order.js:380 #: templates/js/translated/sales_order.js:891 @@ -5904,34 +6235,29 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:398 part/models.py:3944 part/stocktake.py:219 +#: part/admin.py:39 part/admin.py:398 part/models.py:3991 part/stocktake.py:219 #: stock/admin.py:152 msgid "Part ID" msgstr "Код детали" -#: part/admin.py:41 part/admin.py:405 part/models.py:3945 part/stocktake.py:220 -#: stock/admin.py:156 -msgid "Part Name" -msgstr "Наименование детали" - #: part/admin.py:45 part/stocktake.py:221 msgid "Part Description" msgstr "Описание детали" -#: part/admin.py:48 part/models.py:940 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:944 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 -#: templates/js/translated/part.js:1227 templates/js/translated/part.js:2341 +#: templates/js/translated/part.js:1230 templates/js/translated/part.js:2344 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:949 part/templates/part/part_base.html:277 -#: report/models.py:162 templates/js/translated/part.js:1232 -#: templates/js/translated/part.js:2347 +#: part/admin.py:50 part/models.py:953 part/templates/part/part_base.html:277 +#: report/models.py:162 templates/js/translated/part.js:1235 +#: templates/js/translated/part.js:2350 msgid "Revision" msgstr "Ревизия" -#: part/admin.py:53 part/admin.py:319 part/models.py:922 +#: part/admin.py:53 part/admin.py:319 part/models.py:926 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "Ключевые слова" @@ -5944,7 +6270,8 @@ msgstr "Изображение Детали" msgid "Category ID" msgstr "Код категории" -#: part/admin.py:67 part/admin.py:304 part/stocktake.py:223 +#: part/admin.py:67 part/admin.py:304 part/serializers.py:837 +#: part/stocktake.py:223 msgid "Category Name" msgstr "Название категории" @@ -5956,11 +6283,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:908 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:912 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "Разновидность" -#: part/admin.py:84 part/models.py:1036 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1040 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "Минимальный запас" @@ -5968,18 +6295,19 @@ msgstr "Минимальный запас" msgid "Used In" msgstr "Используется в" -#: part/admin.py:150 part/templates/part/part_base.html:241 stock/admin.py:235 -#: templates/js/translated/part.js:715 templates/js/translated/part.js:2153 +#: part/admin.py:150 part/serializers.py:854 +#: part/templates/part/part_base.html:241 stock/admin.py:235 +#: templates/js/translated/part.js:714 templates/js/translated/part.js:2156 msgid "Building" msgstr "Производится" -#: part/admin.py:155 part/models.py:3088 part/models.py:3102 -#: templates/js/translated/part.js:970 +#: part/admin.py:155 part/models.py:3098 part/models.py:3112 +#: templates/js/translated/part.js:973 msgid "Minimum Cost" msgstr "Минимальная Стоимость" -#: part/admin.py:158 part/models.py:3095 part/models.py:3109 -#: templates/js/translated/part.js:980 +#: part/admin.py:158 part/models.py:3105 part/models.py:3119 +#: templates/js/translated/part.js:983 msgid "Maximum Cost" msgstr "Максимальная Стоимость" @@ -5996,14 +6324,14 @@ msgstr "Имя родителя" msgid "Category Path" msgstr "Путь к категории" -#: part/admin.py:325 part/models.py:396 part/serializers.py:124 -#: part/serializers.py:267 part/serializers.py:386 +#: part/admin.py:325 part/models.py:397 part/serializers.py:130 +#: part/serializers.py:282 part/serializers.py:404 #: 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:2807 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:203 msgid "Parts" msgstr "Детали" @@ -6020,125 +6348,117 @@ msgstr "ID Элемента BOM" msgid "Parent IPN" msgstr "Родительский IPN" -#: part/admin.py:402 part/models.py:3946 -msgid "Part IPN" -msgstr "IPN детали" - -#: part/admin.py:415 part/serializers.py:1274 +#: part/admin.py:415 part/serializers.py:1302 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "Минимальная цена" -#: part/admin.py:420 part/serializers.py:1289 +#: part/admin.py:420 part/serializers.py:1317 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "Максимальная цена" -#: part/api.py:104 +#: part/api.py:105 msgid "Starred" msgstr "" -#: part/api.py:106 +#: part/api.py:107 msgid "Filter by starred categories" msgstr "" -#: part/api.py:123 stock/api.py:312 +#: part/api.py:124 stock/api.py:312 msgid "Depth" msgstr "" -#: part/api.py:123 +#: part/api.py:124 msgid "Filter by category depth" msgstr "" -#: part/api.py:141 stock/api.py:330 +#: part/api.py:142 stock/api.py:330 msgid "Top Level" msgstr "" -#: part/api.py:143 +#: part/api.py:144 msgid "Filter by top-level categories" msgstr "" -#: part/api.py:156 stock/api.py:345 +#: part/api.py:157 stock/api.py:345 msgid "Cascade" msgstr "" -#: part/api.py:158 +#: part/api.py:159 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:179 templates/js/translated/part.js:308 +#: part/api.py:180 templates/js/translated/part.js:307 msgid "Parent" msgstr "" -#: part/api.py:181 +#: part/api.py:182 msgid "Filter by parent category" msgstr "" -#: part/api.py:214 +#: part/api.py:215 msgid "Exclude Tree" msgstr "" -#: part/api.py:216 +#: part/api.py:217 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:449 +#: part/api.py:442 msgid "Has Results" msgstr "" -#: part/api.py:616 +#: part/api.py:609 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:634 +#: part/api.py:627 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:650 +#: part/api.py:643 msgid "Stock produced by Build Order" msgstr "Остатки произведенные заказом на производство" -#: part/api.py:734 +#: part/api.py:727 msgid "Stock required for Build Order" msgstr "Остатки требуемые для заказов на производство" -#: part/api.py:881 -msgid "Valid" -msgstr "Корректный" - -#: part/api.py:882 +#: part/api.py:875 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:888 +#: part/api.py:881 msgid "This option must be selected" msgstr "Необходимо выбрать эту опцию" -#: part/api.py:1105 +#: part/api.py:1098 msgid "BOM Valid" msgstr "" -#: part/api.py:1508 part/models.py:932 part/models.py:3374 part/models.py:3889 -#: part/serializers.py:401 part/serializers.py:1130 -#: part/templates/part/part_base.html:260 stock/api.py:791 +#: part/api.py:1494 part/models.py:936 part/models.py:3385 part/models.py:3936 +#: part/serializers.py:419 part/serializers.py:1158 +#: part/templates/part/part_base.html:260 stock/api.py:783 #: 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:2380 msgid "Category" msgstr "Категория" -#: part/api.py:1796 +#: part/api.py:1784 msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:104 part/models.py:975 +#: part/bom.py:170 part/models.py:104 part/models.py:979 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "Место хранения по умолчанию" -#: part/bom.py:171 part/serializers.py:833 +#: part/bom.py:171 part/serializers.py:861 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "Общий запас" @@ -6147,7 +6467,7 @@ msgstr "Общий запас" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:85 part/models.py:3890 part/templates/part/category.html:16 +#: part/models.py:85 part/models.py:3937 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Категория детали" @@ -6162,7 +6482,7 @@ msgstr "Категория детали" msgid "Default location for parts in this category" msgstr "Место хранения по умолчанию для деталей этой категории" -#: part/models.py:110 stock/models.py:175 templates/js/translated/part.js:2810 +#: part/models.py:110 stock/models.py:175 templates/js/translated/part.js:2813 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 @@ -6194,1002 +6514,1049 @@ msgstr "Иконка (необязательно)" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:485 +#: part/models.py:486 +msgid "Cannot delete this part as it is locked" +msgstr "" + +#: part/models.py:489 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:490 +#: part/models.py:494 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:528 +#: part/models.py:532 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:576 part/models.py:583 +#: part/models.py:580 part/models.py:587 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:595 +#: part/models.py:599 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:658 +#: part/models.py:662 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:736 +#: part/models.py:740 msgid "Stock item with this serial number already exists" msgstr "Складская позиция с этим серийным номером уже существует" -#: part/models.py:837 +#: part/models.py:841 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:847 +#: part/models.py:851 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:862 +#: part/models.py:866 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:891 part/models.py:3945 +#: part/models.py:895 part/models.py:3992 msgid "Part name" msgstr "Наименование детали" -#: part/models.py:896 +#: part/models.py:900 msgid "Is Template" msgstr "Шаблон" -#: part/models.py:897 +#: part/models.py:901 msgid "Is this part a template part?" msgstr "Эта деталь является шаблоном?" -#: part/models.py:907 +#: part/models.py:911 msgid "Is this part a variant of another part?" msgstr "Эта деталь является разновидностью другой детали?" -#: part/models.py:915 +#: part/models.py:919 msgid "Part description (optional)" msgstr "Описание детали (необязательно)" -#: part/models.py:923 +#: part/models.py:927 msgid "Part keywords to improve visibility in search results" msgstr "Ключевые слова для улучшения видимости в результатах поиска" -#: part/models.py:933 +#: part/models.py:937 msgid "Part category" msgstr "Категория" -#: part/models.py:941 -msgid "Internal Part Number" -msgstr "Внутренний код детали" - -#: part/models.py:948 +#: part/models.py:952 msgid "Part revision or version number" msgstr "Ревизия или серийный номер детали" -#: part/models.py:973 +#: part/models.py:977 msgid "Where is this item normally stored?" msgstr "Где обычно хранится эта деталь?" -#: part/models.py:1019 part/templates/part/part_base.html:376 +#: part/models.py:1023 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "Поставщик по умолчанию" -#: part/models.py:1020 +#: part/models.py:1024 msgid "Default supplier part" msgstr "" -#: part/models.py:1027 +#: part/models.py:1031 msgid "Default Expiry" msgstr "Срок действия по умолчанию" -#: part/models.py:1028 +#: part/models.py:1032 msgid "Expiry time (in days) for stock items of this part" msgstr "Срок годности (в днях) для складских позиций этой детали" -#: part/models.py:1037 +#: part/models.py:1041 msgid "Minimum allowed stock level" msgstr "Минимально допустимый складской запас" -#: part/models.py:1046 +#: part/models.py:1050 msgid "Units of measure for this part" msgstr "Единицы измерения этой детали" -#: part/models.py:1053 +#: part/models.py:1057 msgid "Can this part be built from other parts?" msgstr "Может ли эта деталь быть создана из других деталей?" -#: part/models.py:1059 +#: part/models.py:1063 msgid "Can this part be used to build other parts?" msgstr "Может ли эта деталь использоваться для создания других деталей?" -#: part/models.py:1065 +#: part/models.py:1069 msgid "Does this part have tracking for unique items?" msgstr "Является ли каждый экземпляр этой детали уникальным, обладающим серийным номером?" -#: part/models.py:1071 +#: part/models.py:1075 msgid "Can this part be purchased from external suppliers?" msgstr "Может ли эта деталь быть закуплена у внешних поставщиков?" -#: part/models.py:1077 +#: part/models.py:1081 msgid "Can this part be sold to customers?" msgstr "Может ли эта деталь быть продана покупателям?" -#: part/models.py:1081 +#: part/models.py:1085 msgid "Is this part active?" msgstr "Эта деталь активна?" -#: part/models.py:1087 +#: part/models.py:1090 templates/js/translated/part.js:818 +#: templates/js/translated/table_filters.js:721 +#, fuzzy +#| msgid "Lock" +msgid "Locked" +msgstr "Заблокировать" + +#: part/models.py:1091 +#, fuzzy +#| msgid "Build order part cannot be changed" +msgid "Locked parts cannot be edited" +msgstr "Деталь заказа на производства не может быть изменена" + +#: part/models.py:1097 msgid "Is this a virtual part, such as a software product or license?" msgstr "Эта деталь виртуальная, как программный продукт или лицензия?" -#: part/models.py:1093 +#: part/models.py:1103 msgid "BOM checksum" msgstr "Контрольная сумма BOM" -#: part/models.py:1094 +#: part/models.py:1104 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1102 +#: part/models.py:1112 msgid "BOM checked by" msgstr "BOM проверил" -#: part/models.py:1107 +#: part/models.py:1117 msgid "BOM checked date" msgstr "Дата проверки BOM" -#: part/models.py:1123 +#: part/models.py:1133 msgid "Creation User" msgstr "Создатель" -#: part/models.py:1133 +#: part/models.py:1143 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1138 part/templates/part/part_base.html:339 +#: part/models.py:1148 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:2474 msgid "Last Stocktake" msgstr "Последняя инвентаризация" -#: part/models.py:2011 +#: part/models.py:2021 msgid "Sell multiple" msgstr "Продать несколько" -#: part/models.py:3002 +#: part/models.py:3012 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3018 +#: part/models.py:3028 msgid "Minimum BOM Cost" msgstr "Минимальная Стоимость BOM" -#: part/models.py:3019 +#: part/models.py:3029 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3025 +#: part/models.py:3035 msgid "Maximum BOM Cost" msgstr "Максимальная Стоимость BOM" -#: part/models.py:3026 +#: part/models.py:3036 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3032 +#: part/models.py:3042 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3033 +#: part/models.py:3043 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3039 +#: part/models.py:3049 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3040 +#: part/models.py:3050 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3046 +#: part/models.py:3056 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3047 +#: part/models.py:3057 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3053 +#: part/models.py:3063 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3054 +#: part/models.py:3064 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3060 +#: part/models.py:3070 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3061 +#: part/models.py:3071 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3067 +#: part/models.py:3077 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3068 +#: part/models.py:3078 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3074 +#: part/models.py:3084 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3075 +#: part/models.py:3085 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3081 +#: part/models.py:3091 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3082 +#: part/models.py:3092 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3089 +#: part/models.py:3099 msgid "Override minimum cost" msgstr "" -#: part/models.py:3096 +#: part/models.py:3106 msgid "Override maximum cost" msgstr "" -#: part/models.py:3103 +#: part/models.py:3113 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3110 +#: part/models.py:3120 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3116 +#: part/models.py:3126 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3117 +#: part/models.py:3127 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3123 +#: part/models.py:3133 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3124 +#: part/models.py:3134 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3130 +#: part/models.py:3140 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3131 +#: part/models.py:3141 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3137 +#: part/models.py:3147 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3138 +#: part/models.py:3148 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3157 +#: part/models.py:3167 msgid "Part for stocktake" msgstr "" -#: part/models.py:3162 +#: part/models.py:3172 msgid "Item Count" msgstr "Количество Элементов" -#: part/models.py:3163 +#: part/models.py:3173 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3171 +#: part/models.py:3181 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3175 part/models.py:3258 +#: part/models.py:3185 part/models.py:3268 #: part/templates/part/part_scheduling.html:13 #: 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:1086 templates/js/translated/pricing.js:826 +#: templates/js/translated/part.js:1089 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 #: templates/js/translated/purchase_order.js:1731 #: templates/js/translated/stock.js:2821 msgid "Date" msgstr "Дата" -#: part/models.py:3176 +#: part/models.py:3186 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3184 +#: part/models.py:3194 msgid "Additional notes" msgstr "Дополнительные Записи" -#: part/models.py:3194 +#: part/models.py:3204 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3200 +#: part/models.py:3210 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3201 +#: part/models.py:3211 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3207 +#: part/models.py:3217 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3208 +#: part/models.py:3218 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3264 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3274 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "Отчет" -#: part/models.py:3265 +#: part/models.py:3275 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3270 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3280 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "Количество Деталей" -#: part/models.py:3271 +#: part/models.py:3281 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3281 +#: part/models.py:3291 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3423 +#: part/models.py:3301 +#, fuzzy +#| msgid "Edit Price Break" +msgid "Part Sale Price Break" +msgstr "Изменить разрыв цен" + +#: part/models.py:3413 +#, fuzzy +#| msgid "Part Test Templates" +msgid "Part Test Template" +msgstr "Шаблоны тестирования детали" + +#: part/models.py:3439 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3444 part/models.py:3608 +#: part/models.py:3460 part/models.py:3629 msgid "Choices must be unique" msgstr "" -#: part/models.py:3455 +#: part/models.py:3471 msgid "Test templates can only be created for trackable parts" msgstr "Шаблоны тестирования могут быть созданы только для отслеживаемых деталей" -#: part/models.py:3466 +#: part/models.py:3482 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3483 templates/js/translated/part.js:2880 +#: part/models.py:3499 templates/js/translated/part.js:2883 msgid "Test Name" msgstr "Название теста" -#: part/models.py:3484 +#: part/models.py:3500 msgid "Enter a name for the test" msgstr "Введите имя для теста" -#: part/models.py:3490 +#: part/models.py:3506 msgid "Test Key" msgstr "" -#: part/models.py:3491 +#: part/models.py:3507 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3498 +#: part/models.py:3514 msgid "Test Description" msgstr "Описание теста" -#: part/models.py:3499 +#: part/models.py:3515 msgid "Enter description for this test" msgstr "Введите описание для этого теста" -#: part/models.py:3503 report/models.py:209 -#: templates/js/translated/part.js:2901 +#: part/models.py:3519 report/models.py:209 +#: templates/js/translated/part.js:2904 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "Включено" -#: part/models.py:3503 +#: part/models.py:3519 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3508 templates/js/translated/part.js:2909 +#: part/models.py:3524 templates/js/translated/part.js:2912 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "Требуется" -#: part/models.py:3509 +#: part/models.py:3525 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3514 templates/js/translated/part.js:2917 +#: part/models.py:3530 templates/js/translated/part.js:2920 msgid "Requires Value" msgstr "Требуется значение" -#: part/models.py:3515 +#: part/models.py:3531 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3520 templates/js/translated/part.js:2924 +#: part/models.py:3536 templates/js/translated/part.js:2927 msgid "Requires Attachment" msgstr "" -#: part/models.py:3522 +#: part/models.py:3538 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3528 part/models.py:3667 templates/js/translated/part.js:1637 +#: part/models.py:3544 part/models.py:3688 templates/js/translated/part.js:1640 msgid "Choices" msgstr "Варианты" -#: part/models.py:3529 +#: part/models.py:3545 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3583 +#: part/models.py:3577 +#, fuzzy +#| msgid "Part Parameter Templates" +msgid "Part Parameter Template" +msgstr "Шаблон параметра детали" + +#: part/models.py:3604 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3588 +#: part/models.py:3609 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3625 +#: part/models.py:3646 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3640 +#: part/models.py:3661 msgid "Parameter Name" msgstr "Название параметра" -#: part/models.py:3647 +#: part/models.py:3668 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3655 +#: part/models.py:3676 msgid "Parameter description" msgstr "" -#: part/models.py:3661 templates/js/translated/part.js:1628 -#: templates/js/translated/table_filters.js:825 +#: part/models.py:3682 templates/js/translated/part.js:1631 +#: templates/js/translated/table_filters.js:830 msgid "Checkbox" msgstr "Чекбокс" -#: part/models.py:3662 +#: part/models.py:3683 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3668 +#: part/models.py:3689 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3745 +#: part/models.py:3723 +#, fuzzy +#| msgid "Part Parameters" +msgid "Part Parameter" +msgstr "Параметры детали" + +#: part/models.py:3749 +msgid "Parameter cannot be modified - part is locked" +msgstr "" + +#: part/models.py:3785 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3788 +#: part/models.py:3828 msgid "Parent Part" msgstr "Родительская деталь" -#: part/models.py:3796 part/models.py:3897 part/models.py:3898 +#: part/models.py:3836 part/models.py:3944 part/models.py:3945 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "Шаблон параметра" -#: part/models.py:3801 -msgid "Data" -msgstr "Данные" - -#: part/models.py:3802 +#: part/models.py:3842 msgid "Parameter Value" msgstr "Значение Параметра" -#: part/models.py:3904 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3892 +#, fuzzy +#| msgid "Copy Category Parameter Templates" +msgid "Part Category Parameter Template" +msgstr "Скопировать параметры по шаблону категории" + +#: part/models.py:3951 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "Значение по умолчанию" -#: part/models.py:3905 +#: part/models.py:3952 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3943 +#: part/models.py:3990 msgid "Part ID or part name" msgstr "Код или наименование детали" -#: part/models.py:3944 +#: part/models.py:3991 msgid "Unique part ID value" msgstr "" -#: part/models.py:3946 +#: part/models.py:3993 msgid "Part IPN value" msgstr "Значение IPN" -#: part/models.py:3947 +#: part/models.py:3994 msgid "Level" msgstr "Уровень" -#: part/models.py:3947 +#: part/models.py:3994 msgid "BOM level" msgstr "Уровень BOM" -#: part/models.py:4037 +#: part/models.py:4105 +msgid "BOM item cannot be modified - assembly is locked" +msgstr "" + +#: part/models.py:4112 +msgid "BOM item cannot be modified - variant assembly is locked" +msgstr "" + +#: part/models.py:4122 msgid "Select parent part" msgstr "Выберите родительскую деталь" -#: part/models.py:4047 +#: part/models.py:4132 msgid "Sub part" msgstr "Суб-деталь" -#: part/models.py:4048 +#: part/models.py:4133 msgid "Select part to be used in BOM" msgstr "Выбрать деталь для использования в BOM" -#: part/models.py:4059 +#: part/models.py:4144 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4065 +#: part/models.py:4150 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4071 +#: part/models.py:4156 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "Эта позиция - расходник. (она не отслеживается в заказах на производство)" -#: part/models.py:4078 part/templates/part/upload_bom.html:55 +#: part/models.py:4163 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Перерасход" -#: part/models.py:4079 +#: part/models.py:4164 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Расчетное количество перерасходов производства (абсолютное или процентное)" -#: part/models.py:4086 +#: part/models.py:4171 msgid "BOM item reference" msgstr "" -#: part/models.py:4094 +#: part/models.py:4179 msgid "BOM item notes" msgstr "Записи о позиции BOM" -#: part/models.py:4100 +#: part/models.py:4185 msgid "Checksum" msgstr "Контрольная сумма" -#: part/models.py:4101 +#: part/models.py:4186 msgid "BOM line checksum" msgstr "" -#: part/models.py:4106 templates/js/translated/table_filters.js:174 +#: part/models.py:4191 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "Проверен" -#: part/models.py:4107 +#: part/models.py:4192 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4112 part/templates/part/upload_bom.html:57 +#: part/models.py:4197 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:4113 +#: part/models.py:4198 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4118 part/templates/part/upload_bom.html:56 +#: part/models.py:4203 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "Разрешить разновидности" -#: part/models.py:4119 +#: part/models.py:4204 msgid "Stock items for variant parts can be used for this BOM item" msgstr "Складские позиции для разновидностей деталей могут быть использованы для этой позиции BOM" -#: part/models.py:4204 stock/models.py:663 +#: part/models.py:4289 stock/models.py:663 msgid "Quantity must be integer value for trackable parts" msgstr "Для отслеживаемых деталей количество должно быть целым числом" -#: part/models.py:4214 part/models.py:4216 +#: part/models.py:4299 part/models.py:4301 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4354 +#: part/models.py:4439 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4375 +#: part/models.py:4460 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4388 +#: part/models.py:4473 msgid "Parent BOM item" msgstr "Позиция BOM-родителя" -#: part/models.py:4396 +#: part/models.py:4481 msgid "Substitute part" msgstr "Замена детали" -#: part/models.py:4412 +#: part/models.py:4497 msgid "Part 1" msgstr "Часть 1" -#: part/models.py:4420 +#: part/models.py:4505 msgid "Part 2" msgstr "Часть 2" -#: part/models.py:4421 +#: part/models.py:4506 msgid "Select Related Part" msgstr "Выберите связанную часть" -#: part/models.py:4440 +#: part/models.py:4525 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4445 +#: part/models.py:4530 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:118 +#: part/serializers.py:124 msgid "Parent Category" msgstr "" -#: part/serializers.py:119 templates/js/translated/part.js:309 +#: part/serializers.py:125 templates/js/translated/part.js:308 msgid "Parent part category" msgstr "" -#: part/serializers.py:126 part/serializers.py:148 +#: part/serializers.py:132 part/serializers.py:154 #: part/templates/part/category.html:122 part/templates/part/category.html:207 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "Подкатегории" -#: part/serializers.py:180 +#: part/serializers.py:189 msgid "Results" msgstr "" -#: part/serializers.py:181 +#: part/serializers.py:190 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:205 part/serializers.py:223 stock/serializers.py:562 +#: part/serializers.py:217 part/serializers.py:235 stock/serializers.py:608 msgid "Purchase currency of this stock item" msgstr "Валюта закупки складской позиции" -#: part/serializers.py:268 +#: part/serializers.py:283 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:392 +#: part/serializers.py:410 msgid "No parts selected" msgstr "Не выбрана ни одна деталь" -#: part/serializers.py:402 +#: part/serializers.py:420 msgid "Select category" msgstr "Выберите категорию" -#: part/serializers.py:437 +#: part/serializers.py:455 msgid "Original Part" msgstr "Оригинальная деталь" -#: part/serializers.py:438 +#: part/serializers.py:456 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:461 msgid "Copy Image" msgstr "Копировать Изображение" -#: part/serializers.py:444 +#: part/serializers.py:462 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:450 part/templates/part/detail.html:277 +#: part/serializers.py:468 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "Скопировать BOM" -#: part/serializers.py:451 +#: part/serializers.py:469 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:457 +#: part/serializers.py:475 msgid "Copy Parameters" msgstr "Скопировать параметры" -#: part/serializers.py:458 +#: part/serializers.py:476 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:464 +#: part/serializers.py:482 msgid "Copy Notes" msgstr "Копировать Записи" -#: part/serializers.py:465 +#: part/serializers.py:483 msgid "Copy notes from original part" msgstr "Скопировать записи из оригинальной детали" -#: part/serializers.py:483 +#: part/serializers.py:501 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:485 +#: part/serializers.py:503 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:492 +#: part/serializers.py:510 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:493 +#: part/serializers.py:511 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:510 +#: part/serializers.py:528 msgid "Select supplier (or leave blank to skip)" msgstr "Выберите поставщика (или оставьте поле пустым, чтобы пропустить)" -#: part/serializers.py:526 +#: part/serializers.py:544 msgid "Select manufacturer (or leave blank to skip)" msgstr "Выберите поставщика (или оставьте поле пустым, чтобы пропустить)" -#: part/serializers.py:536 +#: part/serializers.py:554 msgid "Manufacturer part number" msgstr "Код производителя" -#: part/serializers.py:543 +#: part/serializers.py:561 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:552 +#: part/serializers.py:570 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:563 +#: part/serializers.py:581 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:570 +#: part/serializers.py:588 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:834 -msgid "External Stock" -msgstr "" - -#: part/serializers.py:836 +#: part/serializers.py:864 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:839 +#: part/serializers.py:867 msgid "Variant Stock" msgstr "" -#: part/serializers.py:869 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:472 +#: part/serializers.py:897 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "Дублировать деталь" -#: part/serializers.py:870 +#: part/serializers.py:898 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:876 templates/js/translated/part.js:102 +#: part/serializers.py:904 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "Начальный запас" -#: part/serializers.py:877 +#: part/serializers.py:905 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:883 +#: part/serializers.py:911 msgid "Supplier Information" msgstr "" -#: part/serializers.py:884 +#: part/serializers.py:912 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:892 +#: part/serializers.py:920 msgid "Copy Category Parameters" msgstr "Копировать параметры категории" -#: part/serializers.py:893 +#: part/serializers.py:921 msgid "Copy parameter templates from selected part category" msgstr "Копировать шаблоны параметров из выбранной категории деталей" -#: part/serializers.py:898 +#: part/serializers.py:926 msgid "Existing Image" msgstr "Существующее изображение" -#: part/serializers.py:899 +#: part/serializers.py:927 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:916 +#: part/serializers.py:944 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1122 +#: part/serializers.py:1150 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1132 +#: part/serializers.py:1160 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1142 +#: part/serializers.py:1170 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1148 +#: part/serializers.py:1176 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1149 +#: part/serializers.py:1177 msgid "Exclude stock items in external locations" msgstr "Исключить складские позиции в внешних местах хранения" -#: part/serializers.py:1154 +#: part/serializers.py:1182 msgid "Generate Report" msgstr "Создать отчет" -#: part/serializers.py:1155 +#: part/serializers.py:1183 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1160 +#: part/serializers.py:1188 msgid "Update Parts" msgstr "Обновить детали" -#: part/serializers.py:1161 +#: part/serializers.py:1189 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1169 +#: part/serializers.py:1197 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1275 +#: part/serializers.py:1303 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1282 +#: part/serializers.py:1310 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1290 +#: part/serializers.py:1318 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1297 +#: part/serializers.py:1325 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1326 +#: part/serializers.py:1354 msgid "Update" msgstr "Обновить" -#: part/serializers.py:1327 +#: part/serializers.py:1355 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1350 +#: part/serializers.py:1378 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1357 +#: part/serializers.py:1385 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1360 +#: part/serializers.py:1388 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1727 +#: part/serializers.py:1759 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1735 +#: part/serializers.py:1767 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1736 +#: part/serializers.py:1768 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1741 +#: part/serializers.py:1773 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1742 +#: part/serializers.py:1774 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1747 +#: part/serializers.py:1779 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1748 +#: part/serializers.py:1780 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1753 +#: part/serializers.py:1785 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1754 +#: part/serializers.py:1786 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1788 +#: part/serializers.py:1823 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1789 +#: part/serializers.py:1824 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1819 +#: part/serializers.py:1856 msgid "No part column specified" msgstr "" -#: part/serializers.py:1863 +#: part/serializers.py:1900 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1866 +#: part/serializers.py:1903 msgid "No matching part found" msgstr "Подходящая деталь не найдена" -#: part/serializers.py:1869 +#: part/serializers.py:1906 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1878 +#: part/serializers.py:1915 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1886 +#: part/serializers.py:1923 msgid "Invalid quantity" msgstr "Некорректное количество" -#: part/serializers.py:1907 +#: part/serializers.py:1946 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:225 templates/js/translated/part.js:1067 -#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 +#: part/stocktake.py:225 templates/js/translated/part.js:1070 +#: templates/js/translated/part.js:1825 templates/js/translated/part.js:1881 #: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "Общее количество" @@ -7507,7 +7874,7 @@ msgstr "Включить уведомления для данной детали #: part/templates/part/part_base.html:52 #: stock/templates/stock/item_base.html:62 -#: stock/templates/stock/location.html:74 templates/js/translated/label.js:143 +#: stock/templates/stock/location.html:74 templates/js/translated/label.js:136 msgid "Print Label" msgstr "Печать этикетки" @@ -7529,7 +7896,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:2296 msgid "Part actions" msgstr "Действия с деталью" @@ -7569,6 +7936,10 @@ msgstr "" msgid "Part can be sold to customers" msgstr "Деталь может быть продана покупателям" +#: part/templates/part/part_base.html:145 +msgid "Part is not active" +msgstr "" + #: part/templates/part/part_base.html:153 msgid "Part is virtual (not a physical part)" msgstr "" @@ -7597,7 +7968,7 @@ msgid "Minimum stock level" msgstr "Минимальный складской запас" #: part/templates/part/part_base.html:322 templates/js/translated/bom.js:1071 -#: templates/js/translated/part.js:1265 templates/js/translated/part.js:2444 +#: templates/js/translated/part.js:1268 templates/js/translated/part.js:2447 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" @@ -7690,8 +8061,8 @@ msgstr "Разновидности" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/part.js:1243 templates/js/translated/part.js:2146 -#: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 +#: templates/js/translated/part.js:1246 templates/js/translated/part.js:2149 +#: templates/js/translated/part.js:2395 templates/js/translated/stock.js:1059 #: templates/js/translated/stock.js:2070 templates/navbar.html:31 msgid "Stock" msgstr "Склад" @@ -7811,8 +8182,8 @@ msgstr "Обновить цены" #: part/templates/part/stock_count.html:7 #: templates/js/translated/model_renderers.js:227 -#: templates/js/translated/part.js:705 templates/js/translated/part.js:2141 -#: templates/js/translated/part.js:2143 +#: templates/js/translated/part.js:704 templates/js/translated/part.js:2144 +#: templates/js/translated/part.js:2146 msgid "No Stock" msgstr "Нет запасов" @@ -7956,7 +8327,7 @@ msgstr "Штрих-код не соответствует существующи msgid "Stock item does not match line item" msgstr "Складская позиция не соответствует позиции" -#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2589 +#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2590 #: templates/js/translated/sales_order.js:1953 msgid "Insufficient stock available" msgstr "" @@ -8051,7 +8422,7 @@ msgstr "" msgid "Quantity to allocate" msgstr "" -#: plugin/base/label/label.py:39 templates/js/translated/label.js:155 +#: plugin/base/label/label.py:39 templates/js/translated/label.js:148 msgid "Label printing failed" msgstr "" @@ -8748,7 +9119,7 @@ msgstr "Всего" #: report/templates/report/inventree_return_order_report.html:25 #: report/templates/report/inventree_test_report.html:88 stock/models.py:825 -#: stock/serializers.py:149 stock/templates/stock/item_base.html:311 +#: stock/serializers.py:151 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:230 @@ -8778,7 +9149,7 @@ msgstr "Результаты тестирования" msgid "Test" msgstr "Тестирование" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2447 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2457 msgid "Result" msgstr "Результат" @@ -8799,7 +9170,7 @@ msgid "No result" msgstr "Нет результата" #: report/templates/report/inventree_test_report.html:153 -#: stock/templates/stock/stock_sidebar.html:16 +#: stock/serializers.py:591 stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "Установленные элементы" @@ -8829,10 +9200,6 @@ msgstr "" msgid "Location ID" msgstr "Код места хранения" -#: stock/admin.py:53 stock/admin.py:175 -msgid "Location Name" -msgstr "Имя Места Хранения" - #: stock/admin.py:63 stock/templates/stock/location.html:131 #: stock/templates/stock/location.html:137 msgid "Location Path" @@ -8909,7 +9276,7 @@ msgstr "" msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:369 stock/serializers.py:1085 +#: stock/api.py:369 stock/serializers.py:1148 msgid "Parent Location" msgstr "" @@ -8917,44 +9284,45 @@ msgstr "" msgid "Filter by parent location" msgstr "" -#: stock/api.py:625 templates/js/translated/table_filters.js:427 +#: stock/api.py:617 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:813 +#: stock/api.py:805 msgid "Part Tree" msgstr "Древо Деталей" -#: stock/api.py:843 +#: stock/api.py:835 msgid "Expiry date before" msgstr "" -#: stock/api.py:847 +#: stock/api.py:839 msgid "Expiry date after" msgstr "" -#: stock/api.py:850 stock/templates/stock/item_base.html:439 +#: stock/api.py:842 stock/serializers.py:596 +#: stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "Залежалый" -#: stock/api.py:937 +#: stock/api.py:929 msgid "Quantity is required" msgstr "Необходимо указать количество" -#: stock/api.py:943 +#: stock/api.py:935 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:974 +#: stock/api.py:966 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:984 +#: stock/api.py:976 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1015 +#: stock/api.py:1007 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -9021,7 +9389,7 @@ msgstr "Вы не можете сделать это место хранение msgid "Stock items cannot be located into structural stock locations!" msgstr "Складские позиции не могут находиться в структурных местах хранения!" -#: stock/models.py:669 stock/serializers.py:446 +#: stock/models.py:669 stock/serializers.py:477 msgid "Stock item cannot be created for virtual parts" msgstr "Складская позиция не может быть создана для виртуальных деталей" @@ -9066,7 +9434,7 @@ msgstr "Выберите соответствующего поставщика msgid "Where is this stock item located?" msgstr "Где находиться эта складская позиция?" -#: stock/models.py:799 stock/serializers.py:1476 +#: stock/models.py:799 stock/serializers.py:1542 msgid "Packaging this stock item is stored in" msgstr "Упаковка этой складской позиции хранится в" @@ -9078,7 +9446,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:843 stock/serializers.py:1459 +#: stock/models.py:843 stock/serializers.py:1525 msgid "Batch code for this stock item" msgstr "Код партии для этой складской позиции" @@ -9155,7 +9523,7 @@ msgstr "" msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1520 stock/serializers.py:660 +#: stock/models.py:1520 stock/serializers.py:718 msgid "Serial numbers already exist" msgstr "Серийные номера уже существуют" @@ -9187,7 +9555,7 @@ msgstr "Складская позиция в производстве" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1658 stock/serializers.py:1365 +#: stock/models.py:1658 stock/serializers.py:1431 msgid "Duplicate stock items" msgstr "" @@ -9207,288 +9575,342 @@ msgstr "" msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2345 +#: stock/models.py:2317 +#, fuzzy +#| msgid "Stock Tracking" +msgid "Stock Item Tracking" +msgstr "Запас" + +#: stock/models.py:2350 msgid "Entry notes" msgstr "" -#: stock/models.py:2413 +#: stock/models.py:2390 +#, fuzzy +#| msgid "Stock Item Test Report" +msgid "Stock Item Test Result" +msgstr "Отчет тестирования складской позиции" + +#: stock/models.py:2423 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2418 +#: stock/models.py:2428 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2423 +#: stock/models.py:2433 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2447 +#: stock/models.py:2457 msgid "Test result" msgstr "Результат тестирования" -#: stock/models.py:2454 +#: stock/models.py:2464 msgid "Test output value" msgstr "" -#: stock/models.py:2462 +#: stock/models.py:2472 msgid "Test result attachment" msgstr "" -#: stock/models.py:2466 +#: stock/models.py:2476 msgid "Test notes" msgstr "Записи Тестирования" -#: stock/models.py:2474 templates/js/translated/stock.js:1548 +#: stock/models.py:2484 templates/js/translated/stock.js:1548 msgid "Test station" msgstr "" -#: stock/models.py:2475 +#: stock/models.py:2485 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2481 +#: stock/models.py:2491 msgid "Started" msgstr "" -#: stock/models.py:2482 +#: stock/models.py:2492 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2488 +#: stock/models.py:2498 msgid "Finished" msgstr "" -#: stock/models.py:2489 +#: stock/models.py:2499 msgid "The timestamp of the test finish" msgstr "" -#: stock/serializers.py:74 +#: stock/serializers.py:76 msgid "Generated batch code" msgstr "" -#: stock/serializers.py:83 +#: stock/serializers.py:85 msgid "Select build order" msgstr "" -#: stock/serializers.py:92 +#: stock/serializers.py:94 msgid "Select stock item to generate batch code for" msgstr "" -#: stock/serializers.py:101 +#: stock/serializers.py:103 msgid "Select location to generate batch code for" msgstr "" -#: stock/serializers.py:110 +#: stock/serializers.py:112 msgid "Select part to generate batch code for" msgstr "" -#: stock/serializers.py:119 +#: stock/serializers.py:121 msgid "Select purchase order" msgstr "" -#: stock/serializers.py:126 +#: stock/serializers.py:128 msgid "Enter quantity for batch code" msgstr "" -#: stock/serializers.py:149 +#: stock/serializers.py:151 msgid "Generated serial number" msgstr "" -#: stock/serializers.py:158 +#: stock/serializers.py:160 msgid "Select part to generate serial number for" msgstr "" -#: stock/serializers.py:166 +#: stock/serializers.py:168 msgid "Quantity of serial numbers to generate" msgstr "" -#: stock/serializers.py:228 +#: stock/serializers.py:233 msgid "Test template for this result" msgstr "" -#: stock/serializers.py:247 +#: stock/serializers.py:252 msgid "Template ID or test name must be provided" msgstr "" -#: stock/serializers.py:279 +#: stock/serializers.py:284 msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:315 +#: stock/serializers.py:320 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:438 +#: stock/serializers.py:449 stock/templates/stock/item_base.html:193 +msgid "Parent Item" +msgstr "Родительский элемент" + +#: stock/serializers.py:450 +#, fuzzy +#| msgid "Parent Stock Item" +msgid "Parent stock item" +msgstr "Складская позиция" + +#: stock/serializers.py:469 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:558 +#: stock/serializers.py:585 templates/js/translated/build.js:991 +#: templates/js/translated/build.js:2344 +msgid "Allocated Quantity" +msgstr "Зарезервированное количество" + +#: stock/serializers.py:588 stock/templates/stock/item_base.html:437 +#: templates/js/translated/table_filters.js:435 users/models.py:174 +msgid "Expired" +msgstr "Просрочен" + +#: stock/serializers.py:594 stock/templates/stock/stock_sidebar.html:20 +msgid "Child Items" +msgstr "Дочерние элементы" + +#: stock/serializers.py:598 +#, fuzzy +#| msgid "Tracking" +msgid "Tracking Items" +msgstr "Отслеживание" + +#: stock/serializers.py:604 msgid "Purchase price of this stock item, per unit or pack" msgstr "Закупочная цена для этой складской позиции, за единицу или за упаковку" -#: stock/serializers.py:595 +#: stock/serializers.py:623 +#, fuzzy +#| msgid "Minimum Price" +msgid "Minimum Pricing" +msgstr "Минимальная цена" + +#: stock/serializers.py:629 +#, fuzzy +#| msgid "Maximum Price" +msgid "Maximum Pricing" +msgstr "Максимальная цена" + +#: stock/serializers.py:653 msgid "Enter number of stock items to serialize" msgstr "Введите количество складских позиций для сериализации" -#: stock/serializers.py:608 +#: stock/serializers.py:666 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:615 +#: stock/serializers.py:673 msgid "Enter serial numbers for new items" msgstr "Введите серийные номера для новых элементов" -#: stock/serializers.py:626 stock/serializers.py:1322 stock/serializers.py:1578 +#: stock/serializers.py:684 stock/serializers.py:1388 stock/serializers.py:1644 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:633 +#: stock/serializers.py:691 msgid "Optional note field" msgstr "Опциональное поле записей" -#: stock/serializers.py:643 +#: stock/serializers.py:701 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:698 +#: stock/serializers.py:756 msgid "Select stock item to install" msgstr "Выберите складскую позицию для установки" -#: stock/serializers.py:705 +#: stock/serializers.py:763 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:706 +#: stock/serializers.py:764 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:711 stock/serializers.py:791 stock/serializers.py:887 -#: stock/serializers.py:937 +#: stock/serializers.py:769 stock/serializers.py:849 stock/serializers.py:945 +#: stock/serializers.py:995 msgid "Add transaction note (optional)" msgstr "Добавить запись к транзакции (необязательно)" -#: stock/serializers.py:719 +#: stock/serializers.py:777 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:727 +#: stock/serializers.py:785 msgid "Stock item is unavailable" msgstr "Складская позиция недоступна" -#: stock/serializers.py:738 +#: stock/serializers.py:796 msgid "Selected part is not in the Bill of Materials" msgstr "Выбранная деталь отсутствует в спецификации" -#: stock/serializers.py:751 +#: stock/serializers.py:809 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:786 +#: stock/serializers.py:844 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:821 +#: stock/serializers.py:879 msgid "Select part to convert stock item into" msgstr "Выберите деталь в которую будет преобразована складская позиция" -#: stock/serializers.py:834 +#: stock/serializers.py:892 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:851 +#: stock/serializers.py:909 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "Невозможно преобразовать складскую позицию с назначенной деталью поставщика" -#: stock/serializers.py:882 +#: stock/serializers.py:940 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:919 +#: stock/serializers.py:977 msgid "Select stock items to change status" msgstr "Выберите складские позиции для изменения статуса" -#: stock/serializers.py:925 +#: stock/serializers.py:983 msgid "No stock items selected" msgstr "Не выбрано ни одной складской позиции" -#: stock/serializers.py:1021 stock/serializers.py:1093 +#: stock/serializers.py:1079 stock/serializers.py:1156 #: stock/templates/stock/location.html:165 #: stock/templates/stock/location.html:222 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "Места хранения" -#: stock/serializers.py:1086 templates/js/translated/stock.js:152 +#: stock/serializers.py:1149 templates/js/translated/stock.js:152 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1194 +#: stock/serializers.py:1260 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1198 +#: stock/serializers.py:1264 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1202 +#: stock/serializers.py:1268 msgid "Item is allocated to a build order" msgstr "Элемент зарезервирован для заказа на производство" -#: stock/serializers.py:1226 +#: stock/serializers.py:1292 msgid "Customer to assign stock items" msgstr "Покупатель для назначения складских позиций" -#: stock/serializers.py:1232 +#: stock/serializers.py:1298 msgid "Selected company is not a customer" msgstr "Выбранная компания не является покупателем" -#: stock/serializers.py:1240 +#: stock/serializers.py:1306 msgid "Stock assignment notes" msgstr "Записи о назначенных запасах" -#: stock/serializers.py:1250 stock/serializers.py:1504 +#: stock/serializers.py:1316 stock/serializers.py:1570 msgid "A list of stock items must be provided" msgstr "Необходимо предоставить список складских позиций" -#: stock/serializers.py:1329 +#: stock/serializers.py:1395 msgid "Stock merging notes" msgstr "Записи о слияниях запасов" -#: stock/serializers.py:1334 +#: stock/serializers.py:1400 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1335 +#: stock/serializers.py:1401 msgid "Allow stock items with different supplier parts to be merged" msgstr "Разрешить слияние складских позиций с различными поставщиками" -#: stock/serializers.py:1340 +#: stock/serializers.py:1406 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1341 +#: stock/serializers.py:1407 msgid "Allow stock items with different status codes to be merged" msgstr "Разрешить слияние складских позиций с различными статусами" -#: stock/serializers.py:1351 +#: stock/serializers.py:1417 msgid "At least two stock items must be provided" msgstr "Необходимо предоставить как минимум 2 складские позиции" -#: stock/serializers.py:1418 +#: stock/serializers.py:1484 msgid "No Change" msgstr "" -#: stock/serializers.py:1447 +#: stock/serializers.py:1513 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1466 +#: stock/serializers.py:1532 msgid "Stock item status code" msgstr "Статус складской позиции" -#: stock/serializers.py:1494 +#: stock/serializers.py:1560 msgid "Stock transaction notes" msgstr "Записи о перемещениях запасов" @@ -9757,10 +10179,6 @@ msgstr "Удалить складскую позицию" msgid "Build" msgstr "Производство" -#: stock/templates/stock/item_base.html:193 -msgid "Parent Item" -msgstr "Родительский элемент" - #: stock/templates/stock/item_base.html:211 msgid "No manufacturer set" msgstr "" @@ -9836,11 +10254,6 @@ msgstr "Эта складская позиция не прошла требуе msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:437 -#: templates/js/translated/table_filters.js:435 users/models.py:174 -msgid "Expired" -msgstr "Просрочен" - #: stock/templates/stock/item_base.html:439 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" @@ -9988,10 +10401,6 @@ msgstr "Запас" msgid "Allocations" msgstr "Места хранения" -#: stock/templates/stock/stock_sidebar.html:20 -msgid "Child Items" -msgstr "Дочерние элементы" - #: templates/403.html:6 templates/403.html:12 templates/403_csrf.html:7 msgid "Permission Denied" msgstr "Доступ запрещён" @@ -10466,8 +10875,8 @@ 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:393 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:245 users/models.py:402 +#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 +#: templates/js/translated/stock.js:245 users/models.py:406 msgid "Delete" msgstr "Удалить" @@ -10507,12 +10916,12 @@ msgid "No category parameter templates found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:308 -#: templates/js/translated/part.js:1646 +#: templates/js/translated/part.js:1649 msgid "Edit Template" msgstr "Редактировать шаблон" #: templates/InvenTree/settings/settings_staff_js.html:309 -#: templates/js/translated/part.js:1647 +#: templates/js/translated/part.js:1650 msgid "Delete Template" msgstr "Удалить шаблон" @@ -11145,7 +11554,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2556 +#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2557 msgid "Required Quantity" msgstr "Требуемое кол-во" @@ -11159,7 +11568,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3219 +#: templates/js/translated/part.js:3222 msgid "Minimum Quantity" msgstr "Минимальное количество" @@ -11514,7 +11923,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2500 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2501 msgid "Variant stock allowed" msgstr "" @@ -11534,30 +11943,30 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2621 +#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2622 msgid "External stock" msgstr "" -#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2595 +#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2596 #: templates/js/translated/sales_order.js:1946 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2599 +#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2600 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2601 -#: templates/js/translated/part.js:1257 +#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2602 +#: templates/js/translated/part.js:1260 #: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2603 +#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2604 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2586 +#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2587 msgid "Consumable item" msgstr "Расходник" @@ -11589,7 +11998,7 @@ msgstr "Просмотр BOM" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2485 +#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2486 msgid "Required Part" msgstr "Необходимая деталь" @@ -11758,10 +12167,6 @@ msgstr "Удалить Продукцию" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:991 templates/js/translated/build.js:2344 -msgid "Allocated Quantity" -msgstr "Зарезервированное количество" - #: templates/js/translated/build.js:1005 msgid "Location not specified" msgstr "" @@ -11873,9 +12278,9 @@ msgstr "Зарезервировать Складские Позиции" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2117 templates/js/translated/build.js:2479 +#: templates/js/translated/build.js:2117 templates/js/translated/build.js:2480 #: templates/js/translated/forms.js:2163 templates/js/translated/forms.js:2179 -#: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 +#: templates/js/translated/part.js:2319 templates/js/translated/part.js:2745 #: templates/js/translated/stock.js:1983 templates/js/translated/stock.js:2710 msgid "Select" msgstr "Выбрать" @@ -11906,59 +12311,59 @@ msgstr "Редактировать Резерв" msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2455 +#: templates/js/translated/build.js:2456 msgid "build line" msgstr "строка производства" -#: templates/js/translated/build.js:2456 +#: templates/js/translated/build.js:2457 msgid "build lines" msgstr "позиция производства" -#: templates/js/translated/build.js:2474 +#: templates/js/translated/build.js:2475 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2504 templates/js/translated/part.js:791 -#: templates/js/translated/part.js:1203 +#: templates/js/translated/build.js:2505 templates/js/translated/part.js:790 +#: templates/js/translated/part.js:1206 msgid "Trackable part" msgstr "Отслеживаемая деталь" -#: templates/js/translated/build.js:2539 +#: templates/js/translated/build.js:2540 msgid "Unit Quantity" msgstr "Количество единиц" -#: templates/js/translated/build.js:2591 +#: templates/js/translated/build.js:2592 #: templates/js/translated/sales_order.js:1951 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2646 +#: templates/js/translated/build.js:2647 msgid "Consumable Item" msgstr "Расходник" -#: templates/js/translated/build.js:2653 +#: templates/js/translated/build.js:2654 msgid "Tracked item" msgstr "Отслеживаемый элемент" -#: templates/js/translated/build.js:2654 +#: templates/js/translated/build.js:2655 msgid "Allocate tracked items against individual build outputs" msgstr "" -#: templates/js/translated/build.js:2662 +#: templates/js/translated/build.js:2663 #: templates/js/translated/sales_order.js:2052 msgid "Build stock" msgstr "Запасы производства" -#: templates/js/translated/build.js:2667 templates/js/translated/stock.js:1868 +#: templates/js/translated/build.js:2668 templates/js/translated/stock.js:1868 msgid "Order stock" msgstr "Заказать запасы" -#: templates/js/translated/build.js:2671 +#: templates/js/translated/build.js:2672 #: templates/js/translated/sales_order.js:2046 msgid "Allocate stock" msgstr "Зарезервировать Остатки" -#: templates/js/translated/build.js:2675 +#: templates/js/translated/build.js:2676 msgid "Remove stock allocation" msgstr "" @@ -12105,7 +12510,7 @@ msgid "Delete Parameters" msgstr "" #: templates/js/translated/company.js:1191 -#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2245 +#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2248 msgid "Order parts" msgstr "Заказать детали" @@ -12122,34 +12527,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:1279 -#: templates/js/translated/company.js:1567 templates/js/translated/part.js:799 -#: templates/js/translated/part.js:1211 +#: templates/js/translated/company.js:1567 templates/js/translated/part.js:798 +#: templates/js/translated/part.js:1214 msgid "Template part" msgstr "Деталь-шаблон" #: templates/js/translated/company.js:1283 -#: templates/js/translated/company.js:1571 templates/js/translated/part.js:803 -#: templates/js/translated/part.js:1215 +#: templates/js/translated/company.js:1571 templates/js/translated/part.js:802 +#: templates/js/translated/part.js:1218 msgid "Assembled part" msgstr "Производимая Деталь" -#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1465 +#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1468 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1528 +#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1531 msgid "Edit parameter" msgstr "Редактировать параметр" -#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1529 +#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1532 msgid "Delete parameter" msgstr "Удалить параметр" -#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1434 +#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1437 msgid "Edit Parameter" msgstr "Редактировать параметр" -#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1550 +#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1553 msgid "Delete Parameter" msgstr "Удалить параметр" @@ -12323,15 +12728,15 @@ msgstr "" msgid "No parts required for builds" msgstr "" -#: templates/js/translated/label.js:55 templates/js/translated/report.js:38 +#: templates/js/translated/label.js:48 templates/js/translated/report.js:38 msgid "Select Items" msgstr "Выбрать элементы" -#: templates/js/translated/label.js:56 templates/js/translated/report.js:39 +#: templates/js/translated/label.js:49 templates/js/translated/report.js:39 msgid "No items selected for printing" msgstr "" -#: templates/js/translated/label.js:150 +#: templates/js/translated/label.js:143 msgid "Labels sent to printer" msgstr "" @@ -12400,7 +12805,7 @@ msgstr "Новости не найдены" #: templates/js/translated/news.js:38 #: templates/js/translated/notification.js:46 -#: templates/js/translated/part.js:1605 +#: templates/js/translated/part.js:1608 msgid "ID" msgstr "Код" @@ -12481,343 +12886,343 @@ msgstr "" msgid "Add Part Category" msgstr "Добавить категорию детали" -#: templates/js/translated/part.js:333 templates/js/translated/stock.js:175 +#: templates/js/translated/part.js:332 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:353 +#: templates/js/translated/part.js:352 msgid "Create Part Category" msgstr "" -#: templates/js/translated/part.js:356 +#: templates/js/translated/part.js:355 msgid "Create new category after this one" msgstr "" -#: templates/js/translated/part.js:357 +#: templates/js/translated/part.js:356 msgid "Part category created" msgstr "" -#: templates/js/translated/part.js:371 +#: templates/js/translated/part.js:370 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:384 +#: templates/js/translated/part.js:383 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:389 +#: templates/js/translated/part.js:388 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:398 +#: templates/js/translated/part.js:397 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:402 +#: templates/js/translated/part.js:401 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:407 +#: templates/js/translated/part.js:406 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:431 +#: templates/js/translated/part.js:430 msgid "Create Part" msgstr "Создать Деталь" -#: templates/js/translated/part.js:433 +#: templates/js/translated/part.js:432 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:434 +#: templates/js/translated/part.js:433 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:462 +#: templates/js/translated/part.js:461 msgid "Edit Part" msgstr "Редактировать Деталь" -#: templates/js/translated/part.js:464 +#: templates/js/translated/part.js:463 msgid "Part edited" msgstr "Деталь изменена" -#: templates/js/translated/part.js:475 +#: templates/js/translated/part.js:474 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:532 +#: templates/js/translated/part.js:531 msgid "Active Part" msgstr "Активная Деталь" -#: templates/js/translated/part.js:533 +#: templates/js/translated/part.js:532 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:547 +#: templates/js/translated/part.js:546 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:549 +#: templates/js/translated/part.js:548 msgid "Any stock items for this part will be deleted" msgstr "Любые складские позиции для этой запчасти будут удалены" -#: templates/js/translated/part.js:550 +#: templates/js/translated/part.js:549 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:551 +#: templates/js/translated/part.js:550 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:558 +#: templates/js/translated/part.js:557 msgid "Delete Part" msgstr "Удалить Деталь" -#: templates/js/translated/part.js:594 +#: templates/js/translated/part.js:593 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:596 +#: templates/js/translated/part.js:595 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:601 +#: templates/js/translated/part.js:600 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:603 +#: templates/js/translated/part.js:602 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:620 +#: templates/js/translated/part.js:619 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:630 +#: templates/js/translated/part.js:629 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:633 +#: templates/js/translated/part.js:632 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:658 +#: templates/js/translated/part.js:657 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:686 -#: templates/js/translated/table_filters.js:747 +#: templates/js/translated/part.js:685 +#: templates/js/translated/table_filters.js:752 msgid "Low stock" msgstr "Низкий запас" -#: templates/js/translated/part.js:689 +#: templates/js/translated/part.js:688 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:749 +#: templates/js/translated/part.js:748 msgid "Demand" msgstr "Требуется" -#: templates/js/translated/part.js:772 +#: templates/js/translated/part.js:771 msgid "Unit" msgstr "Ед. Изм." -#: templates/js/translated/part.js:795 templates/js/translated/part.js:1207 +#: templates/js/translated/part.js:794 templates/js/translated/part.js:1210 msgid "Virtual part" msgstr "Виртуальная Деталь" -#: templates/js/translated/part.js:807 +#: templates/js/translated/part.js:806 msgid "Subscribed part" msgstr "Деталь с подпиской" -#: templates/js/translated/part.js:811 +#: templates/js/translated/part.js:810 msgid "Salable part" msgstr "Продаваемая деталь" -#: templates/js/translated/part.js:890 +#: templates/js/translated/part.js:893 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:890 +#: templates/js/translated/part.js:893 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:898 +#: templates/js/translated/part.js:901 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:902 +#: templates/js/translated/part.js:905 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:1051 +#: templates/js/translated/part.js:1054 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1109 templates/js/translated/part.js:1145 +#: templates/js/translated/part.js:1112 templates/js/translated/part.js:1148 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1113 templates/js/translated/part.js:1155 +#: templates/js/translated/part.js:1116 templates/js/translated/part.js:1158 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1282 +#: templates/js/translated/part.js:1285 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1600 +#: templates/js/translated/part.js:1603 msgid "No part parameter templates found" msgstr "" -#: templates/js/translated/part.js:1663 +#: templates/js/translated/part.js:1666 msgid "Edit Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1675 +#: templates/js/translated/part.js:1678 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/js/translated/part.js:1683 +#: templates/js/translated/part.js:1686 msgid "Delete Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1717 +#: templates/js/translated/part.js:1720 #: templates/js/translated/purchase_order.js:1654 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/part.js:1861 +#: templates/js/translated/part.js:1864 #: 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:1907 +#: templates/js/translated/part.js:1910 #: templates/js/translated/purchase_order.js:2220 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1970 +#: templates/js/translated/part.js:1973 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1992 +#: templates/js/translated/part.js:1995 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2080 templates/js/translated/part.js:2506 +#: templates/js/translated/part.js:2083 templates/js/translated/part.js:2509 msgid "No parts found" msgstr "Детали не найдены" -#: templates/js/translated/part.js:2201 +#: templates/js/translated/part.js:2204 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2206 +#: templates/js/translated/part.js:2209 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2236 +#: templates/js/translated/part.js:2239 msgid "Set category" msgstr "Указать категорию" -#: templates/js/translated/part.js:2287 +#: templates/js/translated/part.js:2290 msgid "part" msgstr "деталь" -#: templates/js/translated/part.js:2288 +#: templates/js/translated/part.js:2291 msgid "parts" msgstr "детали" -#: templates/js/translated/part.js:2384 +#: templates/js/translated/part.js:2387 msgid "No category" msgstr "Нет категории" -#: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 +#: templates/js/translated/part.js:2534 templates/js/translated/part.js:2664 #: templates/js/translated/stock.js:2669 msgid "Display as list" msgstr "Отобразить списком" -#: templates/js/translated/part.js:2547 +#: templates/js/translated/part.js:2550 msgid "Display as grid" msgstr "Отобразить сеткой" -#: templates/js/translated/part.js:2645 +#: templates/js/translated/part.js:2648 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2689 +#: templates/js/translated/part.js:2684 templates/js/translated/stock.js:2689 msgid "Display as tree" msgstr "Отобразить древом" -#: templates/js/translated/part.js:2761 +#: templates/js/translated/part.js:2764 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2777 +#: templates/js/translated/part.js:2780 msgid "Subscribed category" msgstr "Категория с подпиской" -#: templates/js/translated/part.js:2865 +#: templates/js/translated/part.js:2868 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2887 templates/js/translated/search.js:342 +#: templates/js/translated/part.js:2890 templates/js/translated/search.js:342 msgid "results" msgstr "результаты" -#: templates/js/translated/part.js:2937 templates/js/translated/stock.js:1456 +#: templates/js/translated/part.js:2940 templates/js/translated/stock.js:1456 msgid "Edit test result" msgstr "Редактировать результаты тестирования" -#: templates/js/translated/part.js:2938 templates/js/translated/stock.js:1457 +#: templates/js/translated/part.js:2941 templates/js/translated/stock.js:1457 #: templates/js/translated/stock.js:1731 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2942 +#: templates/js/translated/part.js:2945 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2958 +#: templates/js/translated/part.js:2961 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2972 +#: templates/js/translated/part.js:2975 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3051 templates/js/translated/part.js:3052 +#: templates/js/translated/part.js:3054 templates/js/translated/part.js:3055 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3054 +#: templates/js/translated/part.js:3057 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3060 +#: templates/js/translated/part.js:3063 msgid "Speculative" msgstr "Приблизительный" -#: templates/js/translated/part.js:3110 +#: templates/js/translated/part.js:3113 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3116 +#: templates/js/translated/part.js:3119 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3212 +#: templates/js/translated/part.js:3215 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3228 +#: templates/js/translated/part.js:3231 msgid "Maximum Quantity" msgstr "Максимальное количество" -#: templates/js/translated/part.js:3273 +#: templates/js/translated/part.js:3276 msgid "Minimum Stock Level" msgstr "" @@ -13593,7 +13998,7 @@ msgstr "Взять" msgid "Add Stock" msgstr "Добавить Запасы" -#: templates/js/translated/stock.js:1042 users/models.py:392 +#: templates/js/translated/stock.js:1042 users/models.py:396 msgid "Add" msgstr "Добавить" @@ -13947,7 +14352,7 @@ msgid "Include subcategories" msgstr "" #: templates/js/translated/table_filters.js:287 -#: templates/js/translated/table_filters.js:759 +#: templates/js/translated/table_filters.js:764 msgid "Subscribed" msgstr "Подписан" @@ -14102,40 +14507,46 @@ msgstr "" msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:725 +#: templates/js/translated/table_filters.js:722 +#, fuzzy +#| msgid "Show related parts" +msgid "Show locked parts" +msgstr "Показывать связанные детали" + +#: templates/js/translated/table_filters.js:730 msgid "Available stock" msgstr "Доступный запас" -#: templates/js/translated/table_filters.js:733 -#: templates/js/translated/table_filters.js:833 +#: templates/js/translated/table_filters.js:738 +#: templates/js/translated/table_filters.js:838 msgid "Has Units" msgstr "Имеет Ед. Изм." -#: templates/js/translated/table_filters.js:734 +#: templates/js/translated/table_filters.js:739 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:738 +#: templates/js/translated/table_filters.js:743 msgid "Has IPN" msgstr "Имеет IPN" -#: templates/js/translated/table_filters.js:739 +#: templates/js/translated/table_filters.js:744 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:743 +#: templates/js/translated/table_filters.js:748 msgid "In stock" msgstr "В наличии" -#: templates/js/translated/table_filters.js:751 +#: templates/js/translated/table_filters.js:756 msgid "Purchasable" msgstr "Можно купить" -#: templates/js/translated/table_filters.js:763 +#: templates/js/translated/table_filters.js:768 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:829 +#: templates/js/translated/table_filters.js:834 msgid "Has Choices" msgstr "Имеет Варианты" @@ -14207,10 +14618,6 @@ msgstr "" msgid "Toggle" msgstr "Переключить" -#: templates/js/translated/tables.js:558 -msgid "Columns" -msgstr "Столбцы" - #: templates/js/translated/tables.js:561 msgid "All" msgstr "Все" @@ -14484,35 +14891,40 @@ msgstr "" msgid "Revoked" msgstr "Отозван" -#: users/models.py:375 +#: users/models.py:379 msgid "Permission set" msgstr "Права доступа" -#: users/models.py:384 +#: users/models.py:388 msgid "Group" msgstr "Группа" -#: users/models.py:388 +#: users/models.py:392 msgid "View" msgstr "Вид" -#: users/models.py:388 +#: users/models.py:392 msgid "Permission to view items" msgstr "Разрешение на просмотр элементов" -#: users/models.py:392 +#: users/models.py:396 msgid "Permission to add items" msgstr "Разрешение на добавление элементов" -#: users/models.py:396 +#: users/models.py:400 msgid "Change" msgstr "Изменить" -#: users/models.py:398 +#: users/models.py:402 msgid "Permissions to edit items" msgstr "Разрешение на редактирование элементов" -#: users/models.py:404 +#: users/models.py:408 msgid "Permission to delete items" msgstr "Разрешение на удаление элементов" +#~ msgid "Default stock item template" +#~ msgstr "Шаблон складской позиции по умолчанию" + +#~ msgid "The stock item label template to be automatically selected" +#~ msgstr "Шаблон метки складской позиции для автоматического выбора" diff --git a/src/backend/InvenTree/locale/sk/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/sk/LC_MESSAGES/django.po index fa5cebc3671e..e143d6f4bbe5 100644 --- a/src/backend/InvenTree/locale/sk/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/sk/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-07-05 02:47+0000\n" +"POT-Creation-Date: 2024-07-08 14:46+0000\n" "PO-Revision-Date: 2024-07-05 14:58\n" "Last-Translator: \n" "Language-Team: Slovak\n" @@ -21,7 +21,7 @@ msgstr "" msgid "API endpoint not found" msgstr "" -#: InvenTree/api.py:520 +#: InvenTree/api.py:505 msgid "User does not have permission to view this model" msgstr "" @@ -56,21 +56,21 @@ msgstr "" msgid "Enter date" msgstr "" -#: InvenTree/fields.py:205 InvenTree/models.py:918 build/serializers.py:452 -#: build/serializers.py:530 build/templates/build/sidebar.html:21 -#: company/models.py:817 company/templates/company/sidebar.html:37 +#: InvenTree/fields.py:205 InvenTree/models.py:921 build/serializers.py:456 +#: build/serializers.py:534 build/templates/build/sidebar.html:21 +#: company/models.py:824 company/templates/company/sidebar.html:37 #: order/models.py:1296 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:3183 part/templates/part/part_sidebar.html:63 +#: part/models.py:3193 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:230 stock/models.py:2344 stock/models.py:2466 -#: stock/serializers.py:632 stock/serializers.py:790 stock/serializers.py:886 -#: stock/serializers.py:936 stock/serializers.py:1239 stock/serializers.py:1328 -#: stock/serializers.py:1493 stock/templates/stock/stock_sidebar.html:25 +#: stock/admin.py:230 stock/models.py:2349 stock/models.py:2476 +#: stock/serializers.py:690 stock/serializers.py:848 stock/serializers.py:944 +#: stock/serializers.py:994 stock/serializers.py:1305 stock/serializers.py:1394 +#: stock/serializers.py:1559 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:1081 +#: templates/js/translated/part.js:1084 #: templates/js/translated/purchase_order.js:2200 #: templates/js/translated/return_order.js:775 #: templates/js/translated/sales_order.js:1103 @@ -371,41 +371,41 @@ msgstr "" msgid "JSON metadata field, for use by external plugins" msgstr "" -#: InvenTree/models.py:408 +#: InvenTree/models.py:411 msgid "Improperly formatted pattern" msgstr "" -#: InvenTree/models.py:415 +#: InvenTree/models.py:418 msgid "Unknown format key specified" msgstr "" -#: InvenTree/models.py:421 +#: InvenTree/models.py:424 msgid "Missing required format key" msgstr "" -#: InvenTree/models.py:432 +#: InvenTree/models.py:435 msgid "Reference field cannot be empty" msgstr "" -#: InvenTree/models.py:440 +#: InvenTree/models.py:443 msgid "Reference must match required pattern" msgstr "" -#: InvenTree/models.py:471 +#: InvenTree/models.py:474 msgid "Reference number is too large" msgstr "" -#: InvenTree/models.py:719 +#: InvenTree/models.py:722 msgid "Duplicate names cannot exist under the same parent" msgstr "" -#: InvenTree/models.py:736 +#: InvenTree/models.py:739 msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:766 common/models.py:2678 common/models.py:3103 -#: common/serializers.py:408 company/models.py:580 machine/models.py:24 -#: part/models.py:891 part/models.py:3639 plugin/models.py:51 +#: InvenTree/models.py:769 common/models.py:2659 common/models.py:3089 +#: common/serializers.py:412 company/models.py:587 machine/models.py:24 +#: part/models.py:895 part/models.py:3660 plugin/models.py:51 #: report/models.py:150 stock/models.py:74 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -417,20 +417,20 @@ msgstr "" #: templates/js/translated/company.js:724 #: templates/js/translated/company.js:913 #: templates/js/translated/company.js:1165 -#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1187 -#: templates/js/translated/part.js:1475 templates/js/translated/part.js:1611 -#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2716 +#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1190 +#: templates/js/translated/part.js:1478 templates/js/translated/part.js:1614 +#: templates/js/translated/part.js:2752 templates/js/translated/stock.js:2716 msgid "Name" msgstr "" -#: InvenTree/models.py:772 build/models.py:235 -#: build/templates/build/detail.html:24 common/models.py:138 -#: company/models.py:509 company/models.py:808 +#: InvenTree/models.py:775 build/models.py:242 +#: build/templates/build/detail.html:24 common/models.py:143 +#: company/models.py:515 company/models.py:815 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 -#: order/models.py:1329 part/admin.py:305 part/admin.py:408 part/models.py:914 -#: part/models.py:3654 part/templates/part/category.html:82 +#: order/models.py:1329 part/admin.py:305 part/admin.py:408 part/models.py:918 +#: part/models.py:3675 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:156 #: report/models.py:510 report/models.py:536 @@ -444,10 +444,10 @@ msgstr "" #: templates/js/translated/build.js:2139 templates/js/translated/company.js:519 #: templates/js/translated/company.js:1330 #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 -#: templates/js/translated/order.js:298 templates/js/translated/part.js:1239 -#: templates/js/translated/part.js:1484 templates/js/translated/part.js:1622 -#: templates/js/translated/part.js:1959 templates/js/translated/part.js:2355 -#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2897 +#: templates/js/translated/order.js:298 templates/js/translated/part.js:1242 +#: templates/js/translated/part.js:1487 templates/js/translated/part.js:1625 +#: templates/js/translated/part.js:1962 templates/js/translated/part.js:2358 +#: templates/js/translated/part.js:2788 templates/js/translated/part.js:2900 #: templates/js/translated/plugin.js:80 #: templates/js/translated/purchase_order.js:1706 #: templates/js/translated/purchase_order.js:1849 @@ -460,53 +460,53 @@ msgstr "" msgid "Description" msgstr "" -#: InvenTree/models.py:773 stock/models.py:81 +#: InvenTree/models.py:776 stock/models.py:81 msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:788 templates/js/translated/part.js:2794 +#: InvenTree/models.py:791 templates/js/translated/part.js:2797 #: templates/js/translated/stock.js:2757 msgid "Path" msgstr "" -#: InvenTree/models.py:918 +#: InvenTree/models.py:921 msgid "Markdown notes (optional)" msgstr "" -#: InvenTree/models.py:947 +#: InvenTree/models.py:950 msgid "Barcode Data" msgstr "" -#: InvenTree/models.py:948 +#: InvenTree/models.py:951 msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:954 +#: InvenTree/models.py:957 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:955 +#: InvenTree/models.py:958 msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:1008 +#: InvenTree/models.py:1011 msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:1051 +#: InvenTree/models.py:1054 msgid "Server Error" msgstr "" -#: InvenTree/models.py:1052 +#: InvenTree/models.py:1055 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:63 part/models.py:4192 +#: InvenTree/serializers.py:63 part/models.py:4277 msgid "Must be a valid number" msgstr "" #: InvenTree/serializers.py:100 company/models.py:186 -#: company/templates/company/company_base.html:112 part/models.py:3001 +#: company/templates/company/company_base.html:112 part/models.py:3011 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -556,16 +556,16 @@ msgstr "" msgid "Is this user a superuser" msgstr "" -#: InvenTree/serializers.py:445 common/models.py:2683 company/models.py:163 -#: company/models.py:782 machine/models.py:39 part/admin.py:88 -#: part/models.py:1081 plugin/models.py:66 +#: InvenTree/serializers.py:445 common/models.py:2664 company/models.py:163 +#: company/models.py:789 machine/models.py:39 part/admin.py:88 +#: part/models.py:1085 plugin/models.py:66 #: 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 #: templates/js/translated/table_filters.js:520 #: templates/js/translated/table_filters.js:716 -#: templates/js/translated/table_filters.js:796 users/models.py:182 +#: templates/js/translated/table_filters.js:801 users/models.py:182 msgid "Active" msgstr "" @@ -597,7 +597,7 @@ msgstr "" msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:581 +#: InvenTree/serializers.py:581 importer/models.py:60 msgid "Data File" msgstr "" @@ -651,7 +651,7 @@ msgstr "" msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/status.py:66 part/serializers.py:1174 +#: InvenTree/status.py:66 part/serializers.py:1202 msgid "Background worker check failed" msgstr "" @@ -711,47 +711,48 @@ msgstr "" msgid "About InvenTree" msgstr "" -#: build/api.py:255 +#: build/api.py:248 msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:299 part/models.py:4070 templates/js/translated/bom.js:997 -#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 +#: build/api.py:292 build/serializers.py:1190 part/models.py:4155 +#: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 +#: templates/js/translated/build.js:2521 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:300 part/models.py:4064 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 +#: build/api.py:293 build/serializers.py:1191 part/models.py:4149 +#: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 +#: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2530 #: templates/js/translated/table_filters.js:186 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:587 msgid "Optional" msgstr "" -#: build/api.py:301 templates/js/translated/table_filters.js:408 +#: build/api.py:294 templates/js/translated/table_filters.js:408 #: templates/js/translated/table_filters.js:579 msgid "Tracked" msgstr "" -#: build/api.py:303 part/admin.py:144 templates/js/translated/build.js:1744 -#: templates/js/translated/build.js:2629 +#: build/api.py:296 part/admin.py:144 templates/js/translated/build.js:1744 +#: templates/js/translated/build.js:2630 #: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:571 msgid "Allocated" msgstr "" -#: build/api.py:311 company/models.py:872 company/serializers.py:359 +#: build/api.py:304 company/models.py:879 company/serializers.py:386 #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2561 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2562 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:234 -#: templates/js/translated/part.js:693 templates/js/translated/part.js:695 -#: templates/js/translated/part.js:700 +#: 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 #: templates/js/translated/table_filters.js:575 msgid "Available" @@ -760,7 +761,7 @@ msgstr "" #: build/models.py:85 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 -#: stock/serializers.py:82 templates/email/build_order_completed.html:16 +#: stock/serializers.py:84 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:2892 msgid "Build Order" @@ -781,35 +782,39 @@ msgstr "" msgid "Assembly BOM has not been validated" msgstr "" -#: build/models.py:134 part/templates/part/part_base.html:145 -msgid "Part is not active" +#: build/models.py:134 +msgid "Build order cannot be created for an inactive part" +msgstr "" + +#: build/models.py:141 +msgid "Build order cannot be created for an unlocked part" msgstr "" -#: build/models.py:148 +#: build/models.py:155 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:159 order/models.py:240 +#: build/models.py:166 order/models.py:240 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:165 +#: build/models.py:172 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:226 +#: build/models.py:233 msgid "Build Order Reference" msgstr "" -#: build/models.py:227 order/models.py:463 order/models.py:926 -#: order/models.py:1289 order/models.py:2020 part/admin.py:411 -#: part/models.py:4085 part/templates/part/upload_bom.html:54 +#: build/models.py:234 build/serializers.py:1189 order/models.py:463 +#: order/models.py:926 order/models.py:1289 order/models.py:2046 +#: part/admin.py:411 part/models.py:4170 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: 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/build.js:2513 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2065 #: templates/js/translated/return_order.js:728 @@ -817,27 +822,28 @@ msgstr "" msgid "Reference" msgstr "" -#: build/models.py:238 +#: build/models.py:245 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:246 build/templates/build/build_base.html:183 +#: build/models.py:253 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/models.py:247 +#: build/models.py:254 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:252 build/templates/build/build_base.html:97 -#: build/templates/build/detail.html:29 company/models.py:1026 order/api.py:805 -#: order/models.py:1414 order/models.py:1559 order/models.py:1560 -#: part/api.py:1494 part/api.py:1788 part/models.py:395 part/models.py:3012 -#: part/models.py:3156 part/models.py:3303 part/models.py:3324 -#: part/models.py:3346 part/models.py:3477 part/models.py:3787 -#: part/models.py:3943 part/models.py:4036 part/models.py:4395 -#: part/serializers.py:1120 part/serializers.py:1726 +#: build/models.py:259 build/serializers.py:1184 +#: build/templates/build/build_base.html:97 +#: build/templates/build/detail.html:29 company/models.py:1034 order/api.py:759 +#: order/models.py:1419 order/models.py:1574 order/models.py:1575 +#: part/api.py:1480 part/api.py:1776 part/models.py:396 part/models.py:3022 +#: part/models.py:3166 part/models.py:3314 part/models.py:3335 +#: part/models.py:3357 part/models.py:3493 part/models.py:3827 +#: part/models.py:3990 part/models.py:4121 part/models.py:4480 +#: part/serializers.py:1148 part/serializers.py:1758 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -848,8 +854,8 @@ msgstr "" #: 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:109 stock/serializers.py:157 stock/serializers.py:423 -#: stock/serializers.py:820 templates/InvenTree/search.html:82 +#: stock/serializers.py:111 stock/serializers.py:159 stock/serializers.py:443 +#: stock/serializers.py:878 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 @@ -862,8 +868,8 @@ msgstr "" #: templates/js/translated/company.js:1116 #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 -#: templates/js/translated/part.js:1944 templates/js/translated/part.js:2016 -#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:1947 templates/js/translated/part.js:2019 +#: templates/js/translated/part.js:2327 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:1848 @@ -881,107 +887,107 @@ msgstr "" msgid "Part" msgstr "" -#: build/models.py:260 +#: build/models.py:267 msgid "Select part to build" msgstr "" -#: build/models.py:265 +#: build/models.py:272 msgid "Sales Order Reference" msgstr "" -#: build/models.py:269 +#: build/models.py:276 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:274 build/serializers.py:999 +#: build/models.py:281 build/serializers.py:1003 #: templates/js/translated/build.js:1731 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "" -#: build/models.py:278 +#: build/models.py:285 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:283 +#: build/models.py:290 msgid "Destination Location" msgstr "" -#: build/models.py:287 +#: build/models.py:294 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:291 +#: build/models.py:298 msgid "Build Quantity" msgstr "" -#: build/models.py:294 +#: build/models.py:301 msgid "Number of stock items to build" msgstr "" -#: build/models.py:298 +#: build/models.py:305 msgid "Completed items" msgstr "" -#: build/models.py:300 +#: build/models.py:307 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:304 +#: build/models.py:311 msgid "Build Status" msgstr "" -#: build/models.py:308 +#: build/models.py:315 msgid "Build status code" msgstr "" -#: build/models.py:317 build/serializers.py:286 order/serializers.py:580 -#: stock/models.py:839 stock/serializers.py:74 stock/serializers.py:1458 +#: build/models.py:324 build/serializers.py:290 order/serializers.py:629 +#: stock/models.py:839 stock/serializers.py:76 stock/serializers.py:1524 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "" -#: build/models.py:321 build/serializers.py:287 +#: build/models.py:328 build/serializers.py:291 msgid "Batch code for this build output" msgstr "" -#: build/models.py:324 order/models.py:316 order/serializers.py:119 -#: part/models.py:1115 part/templates/part/part_base.html:310 +#: build/models.py:331 order/models.py:316 order/serializers.py:127 +#: part/models.py:1125 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:328 +#: build/models.py:335 msgid "Target completion date" msgstr "" -#: build/models.py:329 +#: build/models.py:336 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:332 order/models.py:521 order/models.py:2065 +#: build/models.py:339 order/models.py:521 order/models.py:2091 #: templates/js/translated/build.js:2247 msgid "Completion Date" msgstr "" -#: build/models.py:338 +#: build/models.py:345 msgid "completed by" msgstr "" -#: build/models.py:346 templates/js/translated/build.js:2207 +#: build/models.py:353 templates/js/translated/build.js:2207 msgid "Issued by" msgstr "" -#: build/models.py:347 +#: build/models.py:354 msgid "User who issued this build order" msgstr "" -#: build/models.py:355 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 common/models.py:147 +#: build/models.py:362 build/templates/build/build_base.html:204 +#: build/templates/build/detail.html:122 common/models.py:152 #: order/models.py:334 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:232 part/models.py:1132 +#: order/templates/order/sales_order_base.html:232 part/models.py:1142 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 @@ -992,11 +998,11 @@ msgstr "" msgid "Responsible" msgstr "" -#: build/models.py:356 +#: build/models.py:363 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:361 build/templates/build/detail.html:108 +#: build/models.py:368 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 @@ -1008,21 +1014,22 @@ msgstr "" msgid "External Link" msgstr "" -#: build/models.py:362 common/models.py:3244 part/models.py:956 +#: build/models.py:369 common/models.py:3230 part/models.py:960 #: stock/models.py:835 msgid "Link to external URL" msgstr "" -#: build/models.py:366 +#: build/models.py:373 msgid "Build Priority" msgstr "" -#: build/models.py:369 +#: build/models.py:376 msgid "Priority of this build order" msgstr "" -#: build/models.py:376 common/models.py:131 order/admin.py:18 -#: order/models.py:298 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:383 common/models.py:122 common/models.py:136 +#: order/admin.py:18 order/models.py:298 order/serializers.py:108 +#: templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 #: templates/js/translated/purchase_order.js:1710 #: templates/js/translated/return_order.js:317 @@ -1032,65 +1039,66 @@ msgstr "" msgid "Project Code" msgstr "" -#: build/models.py:377 +#: build/models.py:384 msgid "Project code for this build order" msgstr "" -#: build/models.py:610 build/models.py:675 +#: build/models.py:617 build/models.py:682 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:632 +#: build/models.py:639 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:638 +#: build/models.py:645 msgid "A build order has been completed" msgstr "" -#: build/models.py:864 build/models.py:949 +#: build/models.py:871 build/models.py:956 msgid "No build output specified" msgstr "" -#: build/models.py:867 +#: build/models.py:874 msgid "Build output is already completed" msgstr "" -#: build/models.py:870 +#: build/models.py:877 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:953 build/serializers.py:219 build/serializers.py:268 -#: build/serializers.py:866 order/models.py:559 order/serializers.py:432 -#: order/serializers.py:575 part/serializers.py:1484 part/serializers.py:1884 -#: stock/models.py:678 stock/models.py:1496 stock/serializers.py:603 +#: build/models.py:960 build/serializers.py:223 build/serializers.py:272 +#: build/serializers.py:870 order/models.py:559 order/serializers.py:461 +#: order/serializers.py:624 part/serializers.py:1515 part/serializers.py:1921 +#: stock/models.py:678 stock/models.py:1496 stock/serializers.py:661 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:958 build/serializers.py:224 +#: build/models.py:965 build/serializers.py:228 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1018 build/serializers.py:547 +#: build/models.py:1025 build/serializers.py:551 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1359 +#: build/models.py:1366 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1384 +#: build/models.py:1391 msgid "Build object" msgstr "" -#: build/models.py:1398 build/models.py:1654 build/serializers.py:206 -#: build/serializers.py:253 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2563 -#: order/models.py:1272 order/models.py:1931 order/serializers.py:1327 +#: build/models.py:1405 build/models.py:1661 build/serializers.py:210 +#: build/serializers.py:257 build/serializers.py:1194 +#: build/templates/build/build_base.html:102 +#: build/templates/build/detail.html:34 common/models.py:2544 +#: order/models.py:1272 order/models.py:1957 order/serializers.py:1383 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:410 -#: part/forms.py:48 part/models.py:3170 part/models.py:4058 +#: part/forms.py:48 part/models.py:3180 part/models.py:4143 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1100,7 +1108,7 @@ msgstr "" #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:169 stock/admin.py:159 -#: stock/serializers.py:125 stock/serializers.py:165 stock/serializers.py:594 +#: stock/serializers.py:127 stock/serializers.py:167 stock/serializers.py:652 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 @@ -1111,8 +1119,8 @@ msgstr "" #: templates/js/translated/build.js:1746 templates/js/translated/build.js:2357 #: templates/js/translated/company.js:1818 #: templates/js/translated/model_renderers.js:236 -#: templates/js/translated/order.js:304 templates/js/translated/part.js:962 -#: templates/js/translated/part.js:1812 templates/js/translated/part.js:3342 +#: templates/js/translated/order.js:304 templates/js/translated/part.js:965 +#: templates/js/translated/part.js:1815 templates/js/translated/part.js:3345 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 @@ -1132,38 +1140,38 @@ msgstr "" msgid "Quantity" msgstr "" -#: build/models.py:1399 +#: build/models.py:1406 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1479 +#: build/models.py:1486 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1488 +#: build/models.py:1495 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1498 order/models.py:1882 +#: build/models.py:1505 order/models.py:1908 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1504 order/models.py:1885 +#: build/models.py:1511 order/models.py:1911 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1510 +#: build/models.py:1517 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1569 +#: build/models.py:1576 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1641 build/serializers.py:846 order/serializers.py:1171 -#: order/serializers.py:1192 stock/models.py:359 stock/serializers.py:91 -#: stock/serializers.py:697 stock/serializers.py:1177 stock/serializers.py:1289 +#: build/models.py:1648 build/serializers.py:850 order/serializers.py:1227 +#: order/serializers.py:1248 stock/models.py:359 stock/serializers.py:93 +#: stock/serializers.py:755 stock/serializers.py:1243 stock/serializers.py:1355 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 @@ -1179,70 +1187,76 @@ msgstr "" msgid "Stock Item" msgstr "" -#: build/models.py:1642 +#: build/models.py:1649 msgid "Source stock item" msgstr "" -#: build/models.py:1655 +#: build/models.py:1662 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1663 +#: build/models.py:1670 msgid "Install into" msgstr "" -#: build/models.py:1664 +#: build/models.py:1671 msgid "Destination stock item" msgstr "" -#: build/serializers.py:156 build/serializers.py:875 +#: build/serializers.py:89 build/serializers.py:1185 part/admin.py:41 +#: part/admin.py:405 part/models.py:3992 part/stocktake.py:220 +#: stock/admin.py:156 +msgid "Part Name" +msgstr "" + +#: build/serializers.py:160 build/serializers.py:879 #: templates/js/translated/build.js:1322 msgid "Build Output" msgstr "" -#: build/serializers.py:168 +#: build/serializers.py:172 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:172 +#: build/serializers.py:176 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:176 +#: build/serializers.py:180 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:187 +#: build/serializers.py:191 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:207 build/serializers.py:254 +#: build/serializers.py:211 build/serializers.py:258 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:275 +#: build/serializers.py:279 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:278 +#: build/serializers.py:282 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:293 order/serializers.py:588 order/serializers.py:1331 -#: stock/serializers.py:614 templates/js/translated/purchase_order.js:1153 +#: build/serializers.py:297 order/serializers.py:637 order/serializers.py:1387 +#: stock/serializers.py:672 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:294 +#: build/serializers.py:298 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:299 build/serializers.py:440 build/serializers.py:512 -#: order/serializers.py:564 order/serializers.py:672 order/serializers.py:1656 -#: part/serializers.py:1140 stock/serializers.py:100 stock/serializers.py:625 -#: stock/serializers.py:785 stock/serializers.py:881 stock/serializers.py:1321 -#: stock/serializers.py:1577 stock/templates/stock/item_base.html:394 +#: build/serializers.py:303 build/serializers.py:444 build/serializers.py:516 +#: order/serializers.py:613 order/serializers.py:721 order/serializers.py:1714 +#: part/serializers.py:1168 stock/serializers.py:102 stock/serializers.py:683 +#: stock/serializers.py:843 stock/serializers.py:939 stock/serializers.py:1387 +#: stock/serializers.py:1643 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 @@ -1258,54 +1272,54 @@ msgstr "" msgid "Location" msgstr "" -#: build/serializers.py:300 +#: build/serializers.py:304 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:314 +#: build/serializers.py:318 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:315 +#: build/serializers.py:319 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:330 +#: build/serializers.py:334 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:355 stock/api.py:1041 +#: build/serializers.py:359 stock/api.py:1033 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:402 build/serializers.py:464 build/serializers.py:553 +#: build/serializers.py:406 build/serializers.py:468 build/serializers.py:557 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:441 +#: build/serializers.py:445 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:447 +#: build/serializers.py:451 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:448 +#: build/serializers.py:452 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:453 +#: build/serializers.py:457 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:513 +#: build/serializers.py:517 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:519 build/templates/build/build_base.html:151 +#: build/serializers.py:523 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:950 -#: order/models.py:2044 order/serializers.py:596 stock/admin.py:164 -#: stock/serializers.py:932 stock/serializers.py:1465 +#: order/models.py:2070 order/serializers.py:645 stock/admin.py:164 +#: stock/serializers.py:990 stock/serializers.py:1531 #: 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 @@ -1317,193 +1331,241 @@ msgstr "" msgid "Status" msgstr "" -#: build/serializers.py:525 +#: build/serializers.py:529 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:526 +#: build/serializers.py:530 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:611 +#: build/serializers.py:615 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:612 +#: build/serializers.py:616 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:618 +#: build/serializers.py:622 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:619 +#: build/serializers.py:623 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:646 +#: build/serializers.py:650 msgid "Not permitted" msgstr "" -#: build/serializers.py:647 +#: build/serializers.py:651 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:648 +#: build/serializers.py:652 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:678 +#: build/serializers.py:682 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:680 +#: build/serializers.py:684 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:690 +#: build/serializers.py:694 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:695 +#: build/serializers.py:699 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:696 +#: build/serializers.py:700 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:706 templates/js/translated/build.js:315 +#: build/serializers.py:710 templates/js/translated/build.js:315 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:711 order/serializers.py:300 order/serializers.py:1234 +#: build/serializers.py:715 order/serializers.py:319 order/serializers.py:1290 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:712 +#: build/serializers.py:716 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:722 templates/js/translated/build.js:319 +#: build/serializers.py:726 templates/js/translated/build.js:319 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:731 templates/js/translated/build.js:303 +#: build/serializers.py:735 templates/js/translated/build.js:303 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:769 +#: build/serializers.py:773 msgid "Build Line" msgstr "" -#: build/serializers.py:779 +#: build/serializers.py:783 msgid "Build output" msgstr "" -#: build/serializers.py:787 +#: build/serializers.py:791 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:823 +#: build/serializers.py:827 msgid "Build Line Item" msgstr "" -#: build/serializers.py:837 +#: build/serializers.py:841 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:852 stock/serializers.py:1190 +#: build/serializers.py:856 stock/serializers.py:1256 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:900 order/serializers.py:1225 +#: build/serializers.py:904 order/serializers.py:1281 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:906 +#: build/serializers.py:910 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:913 +#: build/serializers.py:917 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:937 order/serializers.py:1477 +#: build/serializers.py:941 order/serializers.py:1533 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:1000 +#: build/serializers.py:1004 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:1008 +#: build/serializers.py:1012 msgid "Exclude Location" msgstr "" -#: build/serializers.py:1009 +#: build/serializers.py:1013 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:1014 +#: build/serializers.py:1018 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:1015 +#: build/serializers.py:1019 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:1020 +#: build/serializers.py:1024 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:1021 +#: build/serializers.py:1025 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:1026 +#: build/serializers.py:1030 msgid "Optional Items" msgstr "" -#: build/serializers.py:1027 +#: build/serializers.py:1031 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1049 +#: build/serializers.py:1053 msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1139 part/models.py:3953 part/models.py:4387 -#: stock/api.py:804 +#: build/serializers.py:1095 +msgid "Supplier Part Number" +msgstr "" + +#: build/serializers.py:1096 company/models.py:500 +msgid "Manufacturer Part Number" +msgstr "" + +#: build/serializers.py:1097 stock/admin.py:53 stock/admin.py:175 +#: stock/serializers.py:454 +msgid "Location Name" +msgstr "" + +#: build/serializers.py:1098 +msgid "Build Reference" +msgstr "" + +#: build/serializers.py:1099 +msgid "BOM Reference" +msgstr "" + +#: build/serializers.py:1186 part/admin.py:402 part/models.py:3993 +msgid "Part IPN" +msgstr "" + +#: build/serializers.py:1192 common/models.py:1488 part/admin.py:113 +#: part/models.py:1068 templates/js/translated/table_filters.js:147 +#: templates/js/translated/table_filters.js:223 +#: templates/js/translated/table_filters.js:776 +msgid "Trackable" +msgstr "" + +#: build/serializers.py:1196 part/models.py:4000 part/models.py:4472 +#: stock/api.py:796 msgid "BOM Item" msgstr "" -#: build/serializers.py:1148 templates/js/translated/index.js:130 +#: build/serializers.py:1205 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1153 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:828 part/serializers.py:1502 +#: build/serializers.py:1210 part/admin.py:132 part/bom.py:173 +#: part/serializers.py:856 part/serializers.py:1533 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2613 templates/js/translated/part.js:710 -#: templates/js/translated/part.js:2149 +#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709 +#: templates/js/translated/part.js:2152 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "" -#: build/serializers.py:1158 part/serializers.py:1504 -#: templates/js/translated/build.js:2617 +#: build/serializers.py:1215 part/serializers.py:1535 +#: templates/js/translated/build.js:2618 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1163 part/bom.py:172 part/serializers.py:1527 +#: build/serializers.py:1220 part/bom.py:172 part/serializers.py:1558 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" msgstr "" +#: build/serializers.py:1224 +msgid "Available Substitute Stock" +msgstr "" + +#: build/serializers.py:1225 +msgid "Available Variant Stock" +msgstr "" + +#: build/serializers.py:1226 +msgid "Total Available Stock" +msgstr "" + +#: build/serializers.py:1227 part/serializers.py:862 +msgid "External Stock" +msgstr "" + #: build/status_codes.py:11 generic/states/tests.py:17 order/status_codes.py:12 #: order/status_codes.py:37 order/status_codes.py:64 order/status_codes.py:82 #: templates/js/translated/table_filters.js:598 @@ -1519,7 +1581,8 @@ msgstr "" msgid "Cancelled" msgstr "" -#: build/status_codes.py:14 generic/states/tests.py:19 order/status_codes.py:14 +#: build/status_codes.py:14 generic/states/tests.py:19 importer/models.py:468 +#: importer/status_codes.py:19 order/status_codes.py:14 #: order/status_codes.py:44 order/status_codes.py:69 #: order/templates/order/order_base.html:158 #: order/templates/order/sales_order_base.html:165 report/models.py:444 @@ -1652,11 +1715,12 @@ msgstr "" #: build/templates/build/build_base.html:160 #: build/templates/build/detail.html:138 order/models.py:309 -#: order/models.py:1307 order/templates/order/order_base.html:186 +#: order/models.py:1307 order/serializers.py:174 +#: order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: 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:1831 +#: templates/js/translated/build.js:2239 templates/js/translated/part.js:1834 #: templates/js/translated/purchase_order.js:1739 #: templates/js/translated/purchase_order.js:2147 #: templates/js/translated/return_order.js:346 @@ -1689,8 +1753,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1463 order/models.py:845 -#: order/models.py:1551 order/models.py:1665 order/models.py:1819 +#: build/templates/build/detail.html:101 order/api.py:1384 order/models.py:845 +#: order/models.py:1566 order/models.py:1681 order/models.py:1840 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 @@ -1740,7 +1804,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1443 +#: build/templates/build/detail.html:49 order/models.py:1448 #: templates/js/translated/purchase_order.js:2189 msgid "Destination" msgstr "" @@ -1892,31 +1956,31 @@ msgstr "" msgid "Incomplete Outputs" msgstr "" -#: common/api.py:689 +#: common/api.py:690 msgid "Is Link" msgstr "" -#: common/api.py:697 +#: common/api.py:698 msgid "Is File" msgstr "" -#: common/api.py:739 +#: common/api.py:740 msgid "User does not have permission to delete this attachment" msgstr "" -#: common/currency.py:130 +#: common/currency.py:132 msgid "Invalid currency code" msgstr "" -#: common/currency.py:132 +#: common/currency.py:134 msgid "Duplicate currency code" msgstr "" -#: common/currency.py:137 +#: common/currency.py:139 msgid "No valid currency codes provided" msgstr "" -#: common/currency.py:154 +#: common/currency.py:156 msgid "No plugin" msgstr "" @@ -1970,1635 +2034,1604 @@ msgstr "" msgid "Site URL is locked by configuration" msgstr "" -#: common/models.py:132 +#: common/models.py:137 msgid "Unique project code" msgstr "" -#: common/models.py:139 +#: common/models.py:144 msgid "Project description" msgstr "" -#: common/models.py:148 +#: common/models.py:153 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:765 +#: common/models.py:770 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:769 +#: common/models.py:774 msgid "Settings value" msgstr "" -#: common/models.py:821 +#: common/models.py:826 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:837 +#: common/models.py:842 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:845 +#: common/models.py:850 msgid "Value must be an integer value" msgstr "" -#: common/models.py:882 +#: common/models.py:887 msgid "Key string must be unique" msgstr "" -#: common/models.py:1114 +#: common/models.py:1119 msgid "No group" msgstr "" -#: common/models.py:1213 +#: common/models.py:1218 msgid "Restart required" msgstr "" -#: common/models.py:1215 +#: common/models.py:1220 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:1222 +#: common/models.py:1227 msgid "Pending migrations" msgstr "" -#: common/models.py:1223 +#: common/models.py:1228 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1228 +#: common/models.py:1233 msgid "Server Instance Name" msgstr "" -#: common/models.py:1230 +#: common/models.py:1235 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1234 +#: common/models.py:1239 msgid "Use instance name" msgstr "" -#: common/models.py:1235 +#: common/models.py:1240 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1240 +#: common/models.py:1245 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1241 +#: common/models.py:1246 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1246 company/models.py:111 company/models.py:112 +#: common/models.py:1251 company/models.py:111 company/models.py:112 msgid "Company name" msgstr "" -#: common/models.py:1247 +#: common/models.py:1252 msgid "Internal company name" msgstr "" -#: common/models.py:1251 +#: common/models.py:1256 msgid "Base URL" msgstr "" -#: common/models.py:1252 +#: common/models.py:1257 msgid "Base URL for server instance" msgstr "" -#: common/models.py:1258 +#: common/models.py:1263 msgid "Default Currency" msgstr "" -#: common/models.py:1259 +#: common/models.py:1264 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1265 +#: common/models.py:1270 msgid "Supported Currencies" msgstr "" -#: common/models.py:1266 +#: common/models.py:1271 msgid "List of supported currency codes" msgstr "" -#: common/models.py:1272 +#: common/models.py:1277 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1274 +#: common/models.py:1279 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1277 common/models.py:1333 common/models.py:1346 -#: common/models.py:1354 common/models.py:1363 common/models.py:1372 -#: common/models.py:1596 common/models.py:1618 common/models.py:1733 -#: common/models.py:2100 +#: common/models.py:1282 common/models.py:1338 common/models.py:1351 +#: common/models.py:1359 common/models.py:1368 common/models.py:1377 +#: common/models.py:1601 common/models.py:1623 common/models.py:1738 +#: common/models.py:2111 msgid "days" msgstr "" -#: common/models.py:1281 +#: common/models.py:1286 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1282 +#: common/models.py:1287 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1287 +#: common/models.py:1292 msgid "Download from URL" msgstr "" -#: common/models.py:1289 +#: common/models.py:1294 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:1295 +#: common/models.py:1300 msgid "Download Size Limit" msgstr "" -#: common/models.py:1296 +#: common/models.py:1301 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1302 +#: common/models.py:1307 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1304 +#: common/models.py:1309 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/models.py:1309 +#: common/models.py:1314 msgid "Strict URL Validation" msgstr "" -#: common/models.py:1310 +#: common/models.py:1315 msgid "Require schema specification when validating URLs" msgstr "" -#: common/models.py:1315 +#: common/models.py:1320 msgid "Require confirm" msgstr "" -#: common/models.py:1316 +#: common/models.py:1321 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:1321 +#: common/models.py:1326 msgid "Tree Depth" msgstr "" -#: common/models.py:1323 +#: common/models.py:1328 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1329 +#: common/models.py:1334 msgid "Update Check Interval" msgstr "" -#: common/models.py:1330 +#: common/models.py:1335 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:1336 +#: common/models.py:1341 msgid "Automatic Backup" msgstr "" -#: common/models.py:1337 +#: common/models.py:1342 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:1342 +#: common/models.py:1347 msgid "Auto Backup Interval" msgstr "" -#: common/models.py:1343 +#: common/models.py:1348 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1349 +#: common/models.py:1354 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1351 +#: common/models.py:1356 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1358 +#: common/models.py:1363 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1360 +#: common/models.py:1365 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1367 +#: common/models.py:1372 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1369 +#: common/models.py:1374 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1376 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1381 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "" -#: common/models.py:1377 +#: common/models.py:1382 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1382 +#: common/models.py:1387 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1383 +#: common/models.py:1388 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1389 +#: common/models.py:1394 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1390 +#: common/models.py:1395 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1395 +#: common/models.py:1400 msgid "Barcode Show Data" msgstr "" -#: common/models.py:1396 +#: common/models.py:1401 msgid "Display barcode data in browser as text" msgstr "" -#: common/models.py:1401 +#: common/models.py:1406 msgid "Part Revisions" msgstr "" -#: common/models.py:1402 +#: common/models.py:1407 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1407 +#: common/models.py:1412 msgid "Allow Deletion from Assembly" msgstr "" -#: common/models.py:1408 +#: common/models.py:1413 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/models.py:1413 +#: common/models.py:1418 msgid "IPN Regex" msgstr "" -#: common/models.py:1414 +#: common/models.py:1419 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1417 +#: common/models.py:1422 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1418 +#: common/models.py:1423 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1423 +#: common/models.py:1428 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1424 +#: common/models.py:1429 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1429 +#: common/models.py:1434 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1430 +#: common/models.py:1435 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1435 +#: common/models.py:1440 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1436 +#: common/models.py:1441 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1441 +#: common/models.py:1446 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1442 +#: common/models.py:1447 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1447 +#: common/models.py:1452 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1448 +#: common/models.py:1453 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1453 part/admin.py:108 part/models.py:3795 +#: common/models.py:1458 part/admin.py:108 part/models.py:3835 #: report/models.py:294 report/models.py:361 report/serializers.py:90 -#: report/serializers.py:131 stock/serializers.py:227 +#: report/serializers.py:131 stock/serializers.py:232 #: templates/js/translated/table_filters.js:139 -#: templates/js/translated/table_filters.js:767 +#: templates/js/translated/table_filters.js:772 msgid "Template" msgstr "" -#: common/models.py:1454 +#: common/models.py:1459 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1459 part/admin.py:91 part/admin.py:425 part/models.py:1052 +#: common/models.py:1464 part/admin.py:91 part/admin.py:425 part/models.py:1056 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 -#: templates/js/translated/table_filters.js:721 +#: templates/js/translated/table_filters.js:726 msgid "Assembly" msgstr "" -#: common/models.py:1460 +#: common/models.py:1465 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1465 part/admin.py:95 part/models.py:1058 -#: templates/js/translated/table_filters.js:729 +#: common/models.py:1470 part/admin.py:95 part/models.py:1062 +#: templates/js/translated/table_filters.js:734 msgid "Component" msgstr "" -#: common/models.py:1466 +#: common/models.py:1471 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1471 part/admin.py:100 part/models.py:1070 +#: common/models.py:1476 part/admin.py:100 part/models.py:1074 msgid "Purchaseable" msgstr "" -#: common/models.py:1472 +#: common/models.py:1477 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1477 part/admin.py:104 part/models.py:1076 -#: templates/js/translated/table_filters.js:755 +#: common/models.py:1482 part/admin.py:104 part/models.py:1080 +#: templates/js/translated/table_filters.js:760 msgid "Salable" msgstr "" -#: common/models.py:1478 +#: common/models.py:1483 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1483 part/admin.py:113 part/models.py:1064 -#: 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:1484 +#: common/models.py:1489 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1489 part/admin.py:117 part/models.py:1086 +#: common/models.py:1494 part/admin.py:117 part/models.py:1096 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 -#: templates/js/translated/table_filters.js:775 +#: templates/js/translated/table_filters.js:780 msgid "Virtual" msgstr "" -#: common/models.py:1490 +#: common/models.py:1495 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1495 +#: common/models.py:1500 msgid "Show Import in Views" msgstr "" -#: common/models.py:1496 +#: common/models.py:1501 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1501 +#: common/models.py:1506 msgid "Show related parts" msgstr "" -#: common/models.py:1502 +#: common/models.py:1507 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1507 +#: common/models.py:1512 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1508 +#: common/models.py:1513 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1513 templates/js/translated/part.js:107 +#: common/models.py:1518 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1515 +#: common/models.py:1520 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1521 +#: common/models.py:1526 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1522 +#: common/models.py:1527 msgid "Format to display the part name" msgstr "" -#: common/models.py:1528 +#: common/models.py:1533 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1529 +#: common/models.py:1534 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1533 +#: common/models.py:1538 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1535 +#: common/models.py:1540 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1541 +#: common/models.py:1546 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1543 +#: common/models.py:1548 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1554 +#: common/models.py:1559 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1556 +#: common/models.py:1561 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1567 +#: common/models.py:1572 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1569 +#: common/models.py:1574 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1575 +#: common/models.py:1580 msgid "Purchase History Override" msgstr "" -#: common/models.py:1577 +#: common/models.py:1582 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1583 +#: common/models.py:1588 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1585 +#: common/models.py:1590 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1591 +#: common/models.py:1596 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1593 +#: common/models.py:1598 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1600 +#: common/models.py:1605 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1601 +#: common/models.py:1606 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1606 +#: common/models.py:1611 msgid "Active Variants Only" msgstr "" -#: common/models.py:1608 +#: common/models.py:1613 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1614 +#: common/models.py:1619 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1616 +#: common/models.py:1621 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1623 +#: common/models.py:1628 msgid "Internal Prices" msgstr "" -#: common/models.py:1624 +#: common/models.py:1629 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1629 +#: common/models.py:1634 msgid "Internal Price Override" msgstr "" -#: common/models.py:1631 +#: common/models.py:1636 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1637 +#: common/models.py:1642 msgid "Enable label printing" msgstr "" -#: common/models.py:1638 +#: common/models.py:1643 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1643 +#: common/models.py:1648 msgid "Label Image DPI" msgstr "" -#: common/models.py:1645 +#: common/models.py:1650 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1651 +#: common/models.py:1656 msgid "Enable Reports" msgstr "" -#: common/models.py:1652 +#: common/models.py:1657 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1657 templates/stats.html:25 +#: common/models.py:1662 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1658 +#: common/models.py:1663 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1663 +#: common/models.py:1668 msgid "Log Report Errors" msgstr "" -#: common/models.py:1664 +#: common/models.py:1669 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1669 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1674 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:302 msgid "Page Size" msgstr "" -#: common/models.py:1670 +#: common/models.py:1675 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1675 +#: common/models.py:1680 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1676 +#: common/models.py:1681 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1681 +#: common/models.py:1686 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1683 +#: common/models.py:1688 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1689 +#: common/models.py:1694 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1690 +#: common/models.py:1695 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1695 +#: common/models.py:1700 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1696 +#: common/models.py:1701 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1701 +#: common/models.py:1706 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1703 +#: common/models.py:1708 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1709 +#: common/models.py:1714 msgid "Batch Code Template" msgstr "" -#: common/models.py:1711 +#: common/models.py:1716 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1716 +#: common/models.py:1721 msgid "Stock Expiry" msgstr "" -#: common/models.py:1717 +#: common/models.py:1722 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1722 +#: common/models.py:1727 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1723 +#: common/models.py:1728 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1728 +#: common/models.py:1733 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1730 +#: common/models.py:1735 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1737 +#: common/models.py:1742 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1738 +#: common/models.py:1743 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1743 +#: common/models.py:1748 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1744 +#: common/models.py:1749 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1749 +#: common/models.py:1754 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1750 +#: common/models.py:1755 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1754 +#: common/models.py:1759 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1755 +#: common/models.py:1760 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1760 +#: common/models.py:1765 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1762 +#: common/models.py:1767 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1768 +#: common/models.py:1773 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1770 +#: common/models.py:1775 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1776 +#: common/models.py:1781 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1778 +#: common/models.py:1783 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1784 common/models.py:1826 common/models.py:1848 -#: common/models.py:1884 +#: common/models.py:1789 common/models.py:1837 common/models.py:1859 +#: common/models.py:1895 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1785 common/models.py:1827 common/models.py:1849 -#: common/models.py:1885 +#: common/models.py:1790 common/models.py:1838 common/models.py:1860 +#: common/models.py:1896 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1790 +#: common/models.py:1795 msgid "Require Active Part" msgstr "" -#: common/models.py:1791 +#: common/models.py:1796 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/models.py:1796 +#: common/models.py:1801 +msgid "Require Locked Part" +msgstr "" + +#: common/models.py:1802 +msgid "Prevent build order creation for unlocked parts" +msgstr "" + +#: common/models.py:1807 msgid "Require Valid BOM" msgstr "" -#: common/models.py:1798 +#: common/models.py:1809 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/models.py:1804 +#: common/models.py:1815 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1806 +#: common/models.py:1817 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1812 +#: common/models.py:1823 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1813 +#: common/models.py:1824 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1818 +#: common/models.py:1829 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1820 +#: common/models.py:1831 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1832 +#: common/models.py:1843 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1834 +#: common/models.py:1845 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1840 +#: common/models.py:1851 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1842 +#: common/models.py:1853 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1854 +#: common/models.py:1865 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1855 +#: common/models.py:1866 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1860 +#: common/models.py:1871 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1862 +#: common/models.py:1873 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1868 +#: common/models.py:1879 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1870 +#: common/models.py:1881 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1876 +#: common/models.py:1887 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1878 +#: common/models.py:1889 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1890 +#: common/models.py:1901 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1892 +#: common/models.py:1903 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1898 +#: common/models.py:1909 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1900 +#: common/models.py:1911 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1907 +#: common/models.py:1918 msgid "Enable password forgot" msgstr "" -#: common/models.py:1908 +#: common/models.py:1919 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1913 +#: common/models.py:1924 msgid "Enable registration" msgstr "" -#: common/models.py:1914 +#: common/models.py:1925 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1919 +#: common/models.py:1930 msgid "Enable SSO" msgstr "" -#: common/models.py:1920 +#: common/models.py:1931 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1925 +#: common/models.py:1936 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1927 +#: common/models.py:1938 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1933 +#: common/models.py:1944 msgid "Enable SSO group sync" msgstr "" -#: common/models.py:1935 +#: common/models.py:1946 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/models.py:1941 +#: common/models.py:1952 msgid "SSO group key" msgstr "" -#: common/models.py:1943 +#: common/models.py:1954 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/models.py:1949 +#: common/models.py:1960 msgid "SSO group map" msgstr "" -#: common/models.py:1951 +#: common/models.py:1962 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/models.py:1957 +#: common/models.py:1968 msgid "Remove groups outside of SSO" msgstr "" -#: common/models.py:1959 +#: common/models.py:1970 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/models.py:1965 +#: common/models.py:1976 msgid "Email required" msgstr "" -#: common/models.py:1966 +#: common/models.py:1977 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1971 +#: common/models.py:1982 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1973 +#: common/models.py:1984 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1979 +#: common/models.py:1990 msgid "Mail twice" msgstr "" -#: common/models.py:1980 +#: common/models.py:1991 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1985 +#: common/models.py:1996 msgid "Password twice" msgstr "" -#: common/models.py:1986 +#: common/models.py:1997 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1991 +#: common/models.py:2002 msgid "Allowed domains" msgstr "" -#: common/models.py:1993 +#: common/models.py:2004 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1999 +#: common/models.py:2010 msgid "Group on signup" msgstr "" -#: common/models.py:2001 +#: common/models.py:2012 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/models.py:2007 +#: common/models.py:2018 msgid "Enforce MFA" msgstr "" -#: common/models.py:2008 +#: common/models.py:2019 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:2013 +#: common/models.py:2024 msgid "Check plugins on startup" msgstr "" -#: common/models.py:2015 +#: common/models.py:2026 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:2023 +#: common/models.py:2034 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2024 +#: common/models.py:2035 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2030 +#: common/models.py:2041 msgid "Enable URL integration" msgstr "" -#: common/models.py:2031 +#: common/models.py:2042 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:2037 +#: common/models.py:2048 msgid "Enable navigation integration" msgstr "" -#: common/models.py:2038 +#: common/models.py:2049 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2044 +#: common/models.py:2055 msgid "Enable app integration" msgstr "" -#: common/models.py:2045 +#: common/models.py:2056 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2051 +#: common/models.py:2062 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2052 +#: common/models.py:2063 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2058 +#: common/models.py:2069 msgid "Enable event integration" msgstr "" -#: common/models.py:2059 +#: common/models.py:2070 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2065 +#: common/models.py:2076 msgid "Enable project codes" msgstr "" -#: common/models.py:2066 +#: common/models.py:2077 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2071 +#: common/models.py:2082 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2073 +#: common/models.py:2084 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2079 +#: common/models.py:2090 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2081 +#: common/models.py:2092 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2087 +#: common/models.py:2098 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2089 +#: common/models.py:2100 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2095 +#: common/models.py:2106 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2097 +#: common/models.py:2108 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2104 +#: common/models.py:2115 msgid "Display Users full names" msgstr "" -#: common/models.py:2105 +#: common/models.py:2116 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2110 +#: common/models.py:2121 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2111 +#: common/models.py:2122 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2123 common/models.py:2533 +#: common/models.py:2134 common/models.py:2514 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2166 +#: common/models.py:2177 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2168 +#: common/models.py:2179 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2174 +#: common/models.py:2185 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2175 +#: common/models.py:2186 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2180 +#: common/models.py:2191 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2181 +#: common/models.py:2192 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2186 +#: common/models.py:2197 msgid "Show latest parts" msgstr "" -#: common/models.py:2187 +#: common/models.py:2198 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2192 +#: common/models.py:2203 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2193 +#: common/models.py:2204 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2198 +#: common/models.py:2209 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2199 +#: common/models.py:2210 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2204 +#: common/models.py:2215 msgid "Show low stock" msgstr "" -#: common/models.py:2205 +#: common/models.py:2216 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2210 +#: common/models.py:2221 msgid "Show depleted stock" msgstr "" -#: common/models.py:2211 +#: common/models.py:2222 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2216 +#: common/models.py:2227 msgid "Show needed stock" msgstr "" -#: common/models.py:2217 +#: common/models.py:2228 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2222 +#: common/models.py:2233 msgid "Show expired stock" msgstr "" -#: common/models.py:2223 +#: common/models.py:2234 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2228 +#: common/models.py:2239 msgid "Show stale stock" msgstr "" -#: common/models.py:2229 +#: common/models.py:2240 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2234 +#: common/models.py:2245 msgid "Show pending builds" msgstr "" -#: common/models.py:2235 +#: common/models.py:2246 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2240 +#: common/models.py:2251 msgid "Show overdue builds" msgstr "" -#: common/models.py:2241 +#: common/models.py:2252 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2246 +#: common/models.py:2257 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2247 +#: common/models.py:2258 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2252 +#: common/models.py:2263 msgid "Show overdue POs" msgstr "" -#: common/models.py:2253 +#: common/models.py:2264 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2258 +#: common/models.py:2269 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2259 +#: common/models.py:2270 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2264 +#: common/models.py:2275 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2265 +#: common/models.py:2276 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2270 +#: common/models.py:2281 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2271 +#: common/models.py:2282 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2276 +#: common/models.py:2287 msgid "Show News" msgstr "" -#: common/models.py:2277 +#: common/models.py:2288 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2282 +#: common/models.py:2293 msgid "Inline label display" msgstr "" -#: common/models.py:2284 +#: common/models.py:2295 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2290 +#: common/models.py:2301 msgid "Default label printer" msgstr "" -#: common/models.py:2292 +#: common/models.py:2303 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2298 +#: common/models.py:2309 msgid "Inline report display" msgstr "" -#: common/models.py:2300 +#: common/models.py:2311 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2306 +#: common/models.py:2317 msgid "Search Parts" msgstr "" -#: common/models.py:2307 +#: common/models.py:2318 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2312 +#: common/models.py:2323 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2313 +#: common/models.py:2324 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2318 +#: common/models.py:2329 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2319 +#: common/models.py:2330 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2324 +#: common/models.py:2335 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2325 +#: common/models.py:2336 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2330 +#: common/models.py:2341 msgid "Search Categories" msgstr "" -#: common/models.py:2331 +#: common/models.py:2342 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2336 +#: common/models.py:2347 msgid "Search Stock" msgstr "" -#: common/models.py:2337 +#: common/models.py:2348 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2342 +#: common/models.py:2353 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2344 +#: common/models.py:2355 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2350 +#: common/models.py:2361 msgid "Search Locations" msgstr "" -#: common/models.py:2351 +#: common/models.py:2362 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2356 +#: common/models.py:2367 msgid "Search Companies" msgstr "" -#: common/models.py:2357 +#: common/models.py:2368 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2362 +#: common/models.py:2373 msgid "Search Build Orders" msgstr "" -#: common/models.py:2363 +#: common/models.py:2374 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2368 +#: common/models.py:2379 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2369 +#: common/models.py:2380 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2374 +#: common/models.py:2385 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2376 +#: common/models.py:2387 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2382 +#: common/models.py:2393 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2383 +#: common/models.py:2394 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2388 +#: common/models.py:2399 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2390 +#: common/models.py:2401 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2396 +#: common/models.py:2407 msgid "Search Return Orders" msgstr "" -#: common/models.py:2397 +#: common/models.py:2408 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2402 +#: common/models.py:2413 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2404 +#: common/models.py:2415 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2410 +#: common/models.py:2421 msgid "Search Preview Results" msgstr "" -#: common/models.py:2412 +#: common/models.py:2423 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2418 +#: common/models.py:2429 msgid "Regex Search" msgstr "" -#: common/models.py:2419 +#: common/models.py:2430 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2424 +#: common/models.py:2435 msgid "Whole Word Search" msgstr "" -#: common/models.py:2425 +#: common/models.py:2436 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2430 +#: common/models.py:2441 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2431 +#: common/models.py:2442 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2436 +#: common/models.py:2447 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2437 +#: common/models.py:2448 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2442 +#: common/models.py:2453 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2443 +#: common/models.py:2454 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2448 +#: common/models.py:2459 msgid "Date Format" msgstr "" -#: common/models.py:2449 +#: common/models.py:2460 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2462 part/templates/part/detail.html:41 +#: common/models.py:2473 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2463 +#: common/models.py:2474 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2468 part/templates/part/detail.html:62 +#: common/models.py:2479 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2470 +#: common/models.py:2481 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2476 +#: common/models.py:2487 msgid "Table String Length" msgstr "" -#: common/models.py:2478 +#: common/models.py:2489 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2484 -msgid "Default part label template" -msgstr "" - -#: common/models.py:2485 -msgid "The part label template to be automatically selected" -msgstr "" - -#: common/models.py:2490 -msgid "Default stock item template" -msgstr "" - -#: common/models.py:2492 -msgid "The stock item label template to be automatically selected" -msgstr "" - -#: common/models.py:2498 -msgid "Default stock location label template" -msgstr "" - -#: common/models.py:2500 -msgid "The stock location label template to be automatically selected" -msgstr "" - -#: common/models.py:2506 -msgid "Default build line label template" -msgstr "" - -#: common/models.py:2508 -msgid "The build line label template to be automatically selected" -msgstr "" - -#: common/models.py:2514 +#: common/models.py:2495 msgid "Receive error reports" msgstr "" -#: common/models.py:2515 +#: common/models.py:2496 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2520 +#: common/models.py:2501 msgid "Last used printing machines" msgstr "" -#: common/models.py:2521 +#: common/models.py:2502 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2541 common/models.py:2542 common/models.py:2691 -#: common/models.py:2692 common/models.py:2937 common/models.py:2938 -#: common/models.py:3259 common/models.py:3260 part/models.py:3193 -#: part/models.py:3280 part/models.py:3353 part/models.py:3381 -#: plugin/models.py:274 plugin/models.py:275 +#: common/models.py:2522 common/models.py:2523 common/models.py:2672 +#: common/models.py:2673 common/models.py:2918 common/models.py:2919 +#: common/models.py:3245 common/models.py:3246 importer/models.py:85 +#: part/models.py:3203 part/models.py:3290 part/models.py:3364 +#: part/models.py:3392 plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 msgid "User" msgstr "" -#: common/models.py:2564 +#: common/models.py:2545 msgid "Price break quantity" msgstr "" -#: common/models.py:2571 company/serializers.py:472 order/admin.py:42 -#: order/models.py:1346 order/models.py:2265 -#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1886 +#: common/models.py:2552 company/serializers.py:502 order/admin.py:42 +#: order/models.py:1346 order/models.py:2292 +#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1889 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:740 msgid "Price" msgstr "" -#: common/models.py:2572 +#: common/models.py:2553 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2668 common/models.py:2853 +#: common/models.py:2649 common/models.py:2834 msgid "Endpoint" msgstr "" -#: common/models.py:2669 +#: common/models.py:2650 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2679 +#: common/models.py:2660 msgid "Name for this webhook" msgstr "" -#: common/models.py:2683 +#: common/models.py:2664 msgid "Is this webhook active" msgstr "" -#: common/models.py:2699 users/models.py:159 +#: common/models.py:2680 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2700 +#: common/models.py:2681 msgid "Token for access" msgstr "" -#: common/models.py:2708 +#: common/models.py:2689 msgid "Secret" msgstr "" -#: common/models.py:2709 +#: common/models.py:2690 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2817 +#: common/models.py:2798 msgid "Message ID" msgstr "" -#: common/models.py:2818 +#: common/models.py:2799 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2826 +#: common/models.py:2807 msgid "Host" msgstr "" -#: common/models.py:2827 +#: common/models.py:2808 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2835 +#: common/models.py:2816 msgid "Header" msgstr "" -#: common/models.py:2836 +#: common/models.py:2817 msgid "Header of this message" msgstr "" -#: common/models.py:2843 +#: common/models.py:2824 msgid "Body" msgstr "" -#: common/models.py:2844 +#: common/models.py:2825 msgid "Body of this message" msgstr "" -#: common/models.py:2854 +#: common/models.py:2835 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2859 +#: common/models.py:2840 msgid "Worked on" msgstr "" -#: common/models.py:2860 +#: common/models.py:2841 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2986 +#: common/models.py:2967 msgid "Id" msgstr "" -#: common/models.py:2988 templates/js/translated/company.js:965 +#: common/models.py:2969 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2990 common/models.py:3243 company/models.py:149 -#: company/models.py:440 company/models.py:500 company/models.py:799 -#: order/models.py:303 order/models.py:1301 order/models.py:1717 -#: part/admin.py:55 part/models.py:955 +#: common/models.py:2971 common/models.py:3229 company/models.py:149 +#: company/models.py:446 company/models.py:506 company/models.py:806 +#: order/models.py:303 order/models.py:1301 order/models.py:1733 +#: part/admin.py:55 part/models.py:959 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:229 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/part.js:2459 #: templates/js/translated/purchase_order.js:2040 #: templates/js/translated/purchase_order.js:2204 #: templates/js/translated/return_order.js:779 @@ -3607,28 +3640,28 @@ msgstr "" msgid "Link" msgstr "" -#: common/models.py:2992 templates/js/translated/news.js:60 +#: common/models.py:2973 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2994 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2975 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:2996 templates/js/translated/news.js:52 +#: common/models.py:2977 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2999 +#: common/models.py:2980 msgid "Read" msgstr "" -#: common/models.py:2999 +#: common/models.py:2980 msgid "Was this news item read?" msgstr "" -#: common/models.py:3016 company/models.py:159 part/models.py:965 +#: common/models.py:2997 company/models.py:159 part/models.py:969 #: 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.html:35 @@ -3638,90 +3671,94 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:3016 +#: common/models.py:2997 msgid "Image file" msgstr "" -#: common/models.py:3028 common/models.py:3227 +#: common/models.py:3009 common/models.py:3213 msgid "Target model type for this image" msgstr "" -#: common/models.py:3032 +#: common/models.py:3013 msgid "Target model ID for this image" msgstr "" -#: common/models.py:3070 +#: common/models.py:3035 +msgid "Custom Unit" +msgstr "" + +#: common/models.py:3056 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:3085 +#: common/models.py:3071 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3104 +#: common/models.py:3090 msgid "Unit name" msgstr "" -#: common/models.py:3111 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3097 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3112 +#: common/models.py:3098 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3118 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3104 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3119 +#: common/models.py:3105 msgid "Unit definition" msgstr "" -#: common/models.py:3177 common/models.py:3234 stock/models.py:2461 +#: common/models.py:3163 common/models.py:3220 stock/models.py:2471 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" msgstr "" -#: common/models.py:3189 +#: common/models.py:3175 msgid "Missing file" msgstr "" -#: common/models.py:3190 +#: common/models.py:3176 msgid "Missing external link" msgstr "" -#: common/models.py:3235 +#: common/models.py:3221 msgid "Select file to attach" msgstr "" -#: common/models.py:3250 templates/js/translated/attachment.js:120 +#: common/models.py:3236 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" msgstr "" -#: common/models.py:3251 +#: common/models.py:3237 msgid "Attachment comment" msgstr "" -#: common/models.py:3267 +#: common/models.py:3253 msgid "Upload date" msgstr "" -#: common/models.py:3268 +#: common/models.py:3254 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:3272 +#: common/models.py:3258 msgid "File size" msgstr "" -#: common/models.py:3272 +#: common/models.py:3258 msgid "File size in bytes" msgstr "" -#: common/models.py:3310 common/serializers.py:553 +#: common/models.py:3296 common/serializers.py:557 msgid "Invalid model type specified for attachment" msgstr "" @@ -3743,7 +3780,7 @@ msgstr "" msgid "A order that is assigned to you was canceled" msgstr "" -#: common/notifications.py:330 common/notifications.py:337 order/api.py:472 +#: common/notifications.py:330 common/notifications.py:337 order/api.py:454 msgid "Items Received" msgstr "" @@ -3759,75 +3796,75 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:371 +#: common/serializers.py:375 msgid "Is Running" msgstr "" -#: common/serializers.py:377 +#: common/serializers.py:381 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:383 +#: common/serializers.py:387 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:389 +#: common/serializers.py:393 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:404 +#: common/serializers.py:408 msgid "Task ID" msgstr "" -#: common/serializers.py:404 +#: common/serializers.py:408 msgid "Unique task ID" msgstr "" -#: common/serializers.py:406 +#: common/serializers.py:410 msgid "Lock" msgstr "" -#: common/serializers.py:406 +#: common/serializers.py:410 msgid "Lock time" msgstr "" -#: common/serializers.py:408 +#: common/serializers.py:412 msgid "Task name" msgstr "" -#: common/serializers.py:410 +#: common/serializers.py:414 msgid "Function" msgstr "" -#: common/serializers.py:410 +#: common/serializers.py:414 msgid "Function name" msgstr "" -#: common/serializers.py:412 +#: common/serializers.py:416 msgid "Arguments" msgstr "" -#: common/serializers.py:412 +#: common/serializers.py:416 msgid "Task arguments" msgstr "" -#: common/serializers.py:415 +#: common/serializers.py:419 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:415 +#: common/serializers.py:419 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:525 +#: common/serializers.py:529 msgid "Filename" msgstr "" -#: common/serializers.py:532 report/api.py:100 report/serializers.py:53 +#: common/serializers.py:536 report/api.py:100 report/serializers.py:53 msgid "Model Type" msgstr "" -#: common/serializers.py:559 +#: common/serializers.py:563 msgid "User does not have permission to create or edit attachments for this model" msgstr "" @@ -3894,29 +3931,29 @@ msgstr "" msgid "Previous Step" msgstr "" -#: company/api.py:144 +#: company/api.py:141 msgid "Part is Active" msgstr "" -#: company/api.py:148 +#: company/api.py:145 msgid "Manufacturer is Active" msgstr "" -#: company/api.py:281 +#: company/api.py:278 msgid "Supplier Part is Active" msgstr "" -#: company/api.py:285 +#: company/api.py:282 msgid "Internal Part is Active" msgstr "" -#: company/api.py:289 +#: company/api.py:286 msgid "Supplier is Active" msgstr "" -#: company/models.py:100 company/models.py:365 +#: company/models.py:100 company/models.py:371 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:822 +#: company/templates/company/company_base.html:12 stock/api.py:814 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "" @@ -3956,8 +3993,9 @@ msgstr "" msgid "Contact email address" msgstr "" -#: company/models.py:142 company/templates/company/company_base.html:145 -#: order/models.py:343 order/templates/order/order_base.html:203 +#: company/models.py:142 company/models.py:275 +#: company/templates/company/company_base.html:145 order/models.py:343 +#: order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 #: order/templates/order/sales_order_base.html:218 msgid "Contact" @@ -3976,7 +4014,7 @@ msgid "Is this company active?" msgstr "" #: company/models.py:168 -msgid "is customer" +msgid "Is customer" msgstr "" #: company/models.py:169 @@ -3984,7 +4022,7 @@ msgid "Do you sell items to this company?" msgstr "" #: company/models.py:174 -msgid "is supplier" +msgid "Is supplier" msgstr "" #: company/models.py:175 @@ -3992,7 +4030,7 @@ msgid "Do you purchase items from this company?" msgstr "" #: company/models.py:180 -msgid "is manufacturer" +msgid "Is manufacturer" msgstr "" #: company/models.py:181 @@ -4003,178 +4041,189 @@ msgstr "" msgid "Default currency used for this company" msgstr "" -#: company/models.py:366 +#: company/models.py:314 company/templates/company/company_base.html:124 +#: order/models.py:353 order/templates/order/order_base.html:210 +#: order/templates/order/return_order_base.html:181 +#: order/templates/order/sales_order_base.html:225 +msgid "Address" +msgstr "" + +#: company/models.py:315 company/templates/company/sidebar.html:35 +msgid "Addresses" +msgstr "" + +#: company/models.py:372 msgid "Select company" msgstr "" -#: company/models.py:371 +#: company/models.py:377 msgid "Address title" msgstr "" -#: company/models.py:372 +#: company/models.py:378 msgid "Title describing the address entry" msgstr "" -#: company/models.py:378 +#: company/models.py:384 msgid "Primary address" msgstr "" -#: company/models.py:379 +#: company/models.py:385 msgid "Set as primary address" msgstr "" -#: company/models.py:384 templates/js/translated/company.js:914 +#: company/models.py:390 templates/js/translated/company.js:914 #: templates/js/translated/company.js:971 msgid "Line 1" msgstr "" -#: company/models.py:385 +#: company/models.py:391 msgid "Address line 1" msgstr "" -#: company/models.py:391 templates/js/translated/company.js:915 +#: company/models.py:397 templates/js/translated/company.js:915 #: templates/js/translated/company.js:977 msgid "Line 2" msgstr "" -#: company/models.py:392 +#: company/models.py:398 msgid "Address line 2" msgstr "" -#: company/models.py:398 company/models.py:399 +#: company/models.py:404 company/models.py:405 #: templates/js/translated/company.js:983 msgid "Postal code" msgstr "" -#: company/models.py:405 +#: company/models.py:411 msgid "City/Region" msgstr "" -#: company/models.py:406 +#: company/models.py:412 msgid "Postal code city/region" msgstr "" -#: company/models.py:412 +#: company/models.py:418 msgid "State/Province" msgstr "" -#: company/models.py:413 +#: company/models.py:419 msgid "State or province" msgstr "" -#: company/models.py:419 templates/js/translated/company.js:1001 +#: company/models.py:425 templates/js/translated/company.js:1001 msgid "Country" msgstr "" -#: company/models.py:420 +#: company/models.py:426 msgid "Address country" msgstr "" -#: company/models.py:426 +#: company/models.py:432 msgid "Courier shipping notes" msgstr "" -#: company/models.py:427 +#: company/models.py:433 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:433 +#: company/models.py:439 msgid "Internal shipping notes" msgstr "" -#: company/models.py:434 +#: company/models.py:440 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:441 +#: company/models.py:447 msgid "Link to address information (external)" msgstr "" -#: company/models.py:463 company/models.py:574 company/models.py:792 +#: company/models.py:469 company/models.py:581 company/models.py:799 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:217 msgid "Manufacturer Part" msgstr "" -#: company/models.py:475 company/models.py:760 stock/models.py:767 -#: stock/serializers.py:422 stock/templates/stock/item_base.html:142 +#: company/models.py:481 company/models.py:767 stock/models.py:767 +#: stock/serializers.py:442 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" -#: company/models.py:477 company/models.py:762 +#: company/models.py:483 company/models.py:769 msgid "Select part" msgstr "" -#: company/models.py:486 company/templates/company/company_base.html:82 +#: company/models.py:492 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:525 +#: company/templates/company/supplier_part.html:145 part/serializers.py:543 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 #: templates/js/translated/company.js:1296 #: templates/js/translated/company.js:1611 -#: templates/js/translated/table_filters.js:800 +#: templates/js/translated/table_filters.js:805 msgid "Manufacturer" msgstr "" -#: company/models.py:487 +#: company/models.py:493 msgid "Select manufacturer" msgstr "" -#: company/models.py:493 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:535 -#: templates/js/translated/company.js:351 +#: company/models.py:499 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:153 order/serializers.py:518 +#: part/serializers.py:553 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:1801 +#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1804 #: templates/js/translated/purchase_order.js:1851 #: templates/js/translated/purchase_order.js:2053 msgid "MPN" msgstr "" -#: company/models.py:494 -msgid "Manufacturer Part Number" -msgstr "" - -#: company/models.py:501 +#: company/models.py:507 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:510 +#: company/models.py:516 msgid "Manufacturer part description" msgstr "" -#: company/models.py:581 +#: company/models.py:569 +msgid "Manufacturer Part Parameter" +msgstr "" + +#: company/models.py:588 msgid "Parameter name" msgstr "" -#: company/models.py:587 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2453 templates/js/translated/company.js:1166 -#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1493 +#: company/models.py:594 report/templates/report/inventree_test_report.html:104 +#: stock/models.py:2463 templates/js/translated/company.js:1166 +#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1496 #: templates/js/translated/stock.js:1522 msgid "Value" msgstr "" -#: company/models.py:588 +#: company/models.py:595 msgid "Parameter value" msgstr "" -#: company/models.py:595 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1045 part/models.py:3646 +#: company/models.py:602 company/templates/company/supplier_part.html:168 +#: part/admin.py:57 part/models.py:1049 part/models.py:3667 #: part/templates/part/part_base.html:284 -#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1512 -#: templates/js/translated/part.js:1616 templates/js/translated/part.js:2370 +#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1515 +#: templates/js/translated/part.js:1619 templates/js/translated/part.js:2373 msgid "Units" msgstr "" -#: company/models.py:596 +#: company/models.py:603 msgid "Parameter units" msgstr "" -#: company/models.py:648 company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 order/api.py:452 +#: company/models.py:655 company/templates/company/supplier_part.html:7 +#: company/templates/company/supplier_part.html:24 order/api.py:434 #: stock/models.py:778 stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 @@ -4182,91 +4231,91 @@ msgstr "" msgid "Supplier Part" msgstr "" -#: company/models.py:700 +#: company/models.py:707 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:707 +#: company/models.py:714 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:721 +#: company/models.py:728 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:770 company/templates/company/company_base.html:87 +#: company/models.py:777 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:509 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:527 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 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:511 -#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1769 +#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1772 #: templates/js/translated/pricing.js:498 #: templates/js/translated/purchase_order.js:1689 -#: templates/js/translated/table_filters.js:804 +#: templates/js/translated/table_filters.js:809 msgid "Supplier" msgstr "" -#: company/models.py:771 +#: company/models.py:778 msgid "Select supplier" msgstr "" -#: company/models.py:777 part/serializers.py:520 +#: company/models.py:784 part/serializers.py:538 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:783 +#: company/models.py:790 msgid "Is this supplier part active?" msgstr "" -#: company/models.py:793 +#: company/models.py:800 msgid "Select manufacturer part" msgstr "" -#: company/models.py:800 +#: company/models.py:807 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:809 +#: company/models.py:816 msgid "Supplier part description" msgstr "" -#: company/models.py:816 company/templates/company/supplier_part.html:187 -#: part/admin.py:412 part/models.py:4093 part/templates/part/upload_bom.html:59 +#: company/models.py:823 company/templates/company/supplier_part.html:187 +#: part/admin.py:412 part/models.py:4178 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: 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:710 +#: stock/serializers.py:768 msgid "Note" msgstr "" -#: company/models.py:825 part/models.py:2003 +#: company/models.py:832 part/models.py:2013 msgid "base cost" msgstr "" -#: company/models.py:826 part/models.py:2004 +#: company/models.py:833 part/models.py:2014 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:833 company/templates/company/supplier_part.html:160 -#: stock/admin.py:228 stock/models.py:798 stock/serializers.py:1475 +#: company/models.py:840 company/templates/company/supplier_part.html:160 +#: stock/admin.py:228 stock/models.py:798 stock/serializers.py:1541 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 msgid "Packaging" msgstr "" -#: company/models.py:834 +#: company/models.py:841 msgid "Part packaging" msgstr "" -#: company/models.py:839 templates/js/translated/company.js:1651 -#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 +#: company/models.py:846 templates/js/translated/company.js:1651 +#: templates/js/translated/part.js:1825 templates/js/translated/part.js:1881 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 #: templates/js/translated/purchase_order.js:1103 @@ -4275,35 +4324,43 @@ msgstr "" msgid "Pack Quantity" msgstr "" -#: company/models.py:841 +#: company/models.py:848 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:860 part/models.py:2010 +#: company/models.py:867 part/models.py:2020 msgid "multiple" msgstr "" -#: company/models.py:861 +#: company/models.py:868 msgid "Order multiple" msgstr "" -#: company/models.py:873 +#: company/models.py:880 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:879 +#: company/models.py:886 msgid "Availability Updated" msgstr "" -#: company/models.py:880 +#: company/models.py:887 msgid "Date of last update of availability data" msgstr "" -#: company/serializers.py:161 +#: company/models.py:1015 +msgid "Supplier Price Break" +msgstr "" + +#: company/serializers.py:174 msgid "Default currency used for this supplier" msgstr "" -#: company/serializers.py:357 part/admin.py:126 +#: company/serializers.py:210 +msgid "Company Name" +msgstr "" + +#: company/serializers.py:384 part/admin.py:126 part/serializers.py:855 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:355 @@ -4315,7 +4372,7 @@ msgstr "" #: templates/js/translated/company.js:1287 #: templates/js/translated/company.js:1575 #: templates/js/translated/model_renderers.js:312 -#: templates/js/translated/part.js:815 templates/js/translated/part.js:1219 +#: templates/js/translated/part.js:814 templates/js/translated/part.js:1222 msgid "Inactive" msgstr "" @@ -4374,16 +4431,16 @@ msgid "Delete image" msgstr "" #: company/templates/company/company_base.html:92 order/models.py:938 -#: order/models.py:2032 order/templates/order/return_order_base.html:131 +#: order/models.py:2058 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:148 stock/models.py:820 -#: stock/models.py:821 stock/serializers.py:1225 +#: stock/models.py:821 stock/serializers.py:1291 #: 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:295 #: templates/js/translated/sales_order.js:820 #: templates/js/translated/stock.js:2959 -#: templates/js/translated/table_filters.js:808 +#: templates/js/translated/table_filters.js:813 msgid "Customer" msgstr "" @@ -4391,13 +4448,6 @@ msgstr "" msgid "Uses default currency" msgstr "" -#: company/templates/company/company_base.html:124 order/models.py:353 -#: order/templates/order/order_base.html:210 -#: order/templates/order/return_order_base.html:181 -#: order/templates/order/sales_order_base.html:225 -msgid "Address" -msgstr "" - #: company/templates/company/company_base.html:131 msgid "Phone" msgstr "" @@ -4577,7 +4627,8 @@ msgid "Delete manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:65 -#: company/templates/company/supplier_part.html:97 order/api.py:458 +#: company/templates/company/supplier_part.html:97 order/api.py:440 +#: order/serializers.py:526 msgid "Internal Part" msgstr "" @@ -4587,7 +4638,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:832 +#: part/admin.py:122 part/serializers.py:860 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4608,7 +4659,7 @@ msgid "New Parameter" msgstr "" #: company/templates/company/manufacturer_part.html:196 -#: templates/js/translated/part.js:1423 +#: templates/js/translated/part.js:1426 msgid "Add Parameter" msgstr "" @@ -4632,10 +4683,6 @@ msgstr "" msgid "Contacts" msgstr "" -#: company/templates/company/sidebar.html:35 -msgid "Addresses" -msgstr "" - #: company/templates/company/supplier_part.html:50 #: templates/js/translated/company.js:1526 msgid "Supplier part actions" @@ -4648,127 +4695,283 @@ msgstr "" msgid "Order Part" msgstr "" -#: company/templates/company/supplier_part.html:60 -#: company/templates/company/supplier_part.html:61 -msgid "Update Availability" +#: company/templates/company/supplier_part.html:60 +#: company/templates/company/supplier_part.html:61 +msgid "Update Availability" +msgstr "" + +#: company/templates/company/supplier_part.html:63 +#: company/templates/company/supplier_part.html:64 +#: templates/js/translated/company.js:294 +msgid "Edit Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:68 +#: company/templates/company/supplier_part.html:69 +#: templates/js/translated/company.js:269 +msgid "Duplicate Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:73 +msgid "Delete Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:74 +msgid "Delete Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:133 +msgid "No supplier information available" +msgstr "" + +#: company/templates/company/supplier_part.html:139 order/serializers.py:515 +#: part/bom.py:279 part/bom.py:311 part/serializers.py:537 +#: templates/js/translated/company.js:349 templates/js/translated/part.js:1790 +#: templates/js/translated/pricing.js:510 +#: templates/js/translated/purchase_order.js:1850 +#: templates/js/translated/purchase_order.js:2028 +msgid "SKU" +msgstr "" + +#: company/templates/company/supplier_part.html:206 +msgid "Supplier Part Stock" +msgstr "" + +#: company/templates/company/supplier_part.html:209 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:207 +msgid "Create new stock item" +msgstr "" + +#: company/templates/company/supplier_part.html:210 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:208 +#: templates/js/translated/stock.js:537 +msgid "New Stock Item" +msgstr "" + +#: company/templates/company/supplier_part.html:223 +msgid "Supplier Part Orders" +msgstr "" + +#: company/templates/company/supplier_part.html:246 +msgid "Pricing Information" +msgstr "" + +#: company/templates/company/supplier_part.html:251 +#: templates/js/translated/company.js:398 +#: templates/js/translated/pricing.js:684 +msgid "Add Price Break" +msgstr "" + +#: company/templates/company/supplier_part.html:276 +msgid "Supplier Part QR Code" +msgstr "" + +#: company/templates/company/supplier_part.html:287 +msgid "Link Barcode to Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:359 +msgid "Update Part Availability" +msgstr "" + +#: company/templates/company/supplier_part_sidebar.html:5 +#: part/serializers.py:859 part/stocktake.py:224 +#: part/templates/part/category.html:183 +#: part/templates/part/category_sidebar.html:17 stock/admin.py:68 +#: stock/serializers.py:976 stock/serializers.py:1154 +#: stock/templates/stock/location.html:170 +#: 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:1064 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 +#: users/models.py:206 +msgid "Stock Items" +msgstr "" + +#: company/templates/company/supplier_part_sidebar.html:9 +msgid "Supplier Part Pricing" +msgstr "" + +#: company/views.py:32 +msgid "New Supplier" +msgstr "" + +#: company/views.py:38 +msgid "New Manufacturer" +msgstr "" + +#: company/views.py:43 templates/InvenTree/search.html:210 +#: templates/navbar.html:60 +msgid "Customers" +msgstr "" + +#: company/views.py:44 +msgid "New Customer" +msgstr "" + +#: company/views.py:52 +msgid "New Company" +msgstr "" + +#: generic/states/tests.py:18 order/status_codes.py:13 +msgid "Placed" +msgstr "" + +#: importer/mixins.py:263 +msgid "Invalid export format" +msgstr "" + +#: importer/models.py:56 +msgid "Timestamp" +msgstr "" + +#: importer/models.py:61 +msgid "Data file to import" +msgstr "" + +#: importer/models.py:70 templates/js/translated/tables.js:558 +msgid "Columns" +msgstr "" + +#: importer/models.py:81 +msgid "Import status" +msgstr "" + +#: importer/models.py:91 +msgid "Field Defaults" +msgstr "" + +#: importer/models.py:201 +msgid "Some required fields have not been mapped" +msgstr "" + +#: importer/models.py:346 +msgid "Column is already mapped to a database field" +msgstr "" + +#: importer/models.py:351 +msgid "Field is already mapped to a data column" +msgstr "" + +#: importer/models.py:360 +msgid "Column mapping must be linked to a valid import session" +msgstr "" + +#: importer/models.py:365 +msgid "Column does not exist in the data file" +msgstr "" + +#: importer/models.py:372 +msgid "Field does not exist in the target model" +msgstr "" + +#: importer/models.py:376 +msgid "Selected field is read-only" +msgstr "" + +#: importer/models.py:381 importer/models.py:452 +msgid "Import Session" +msgstr "" + +#: importer/models.py:385 +msgid "Field" msgstr "" -#: company/templates/company/supplier_part.html:63 -#: company/templates/company/supplier_part.html:64 -#: templates/js/translated/company.js:294 -msgid "Edit Supplier Part" +#: importer/models.py:387 +msgid "Column" msgstr "" -#: company/templates/company/supplier_part.html:68 -#: company/templates/company/supplier_part.html:69 -#: templates/js/translated/company.js:269 -msgid "Duplicate Supplier Part" +#: importer/models.py:456 +msgid "Row Index" msgstr "" -#: company/templates/company/supplier_part.html:73 -msgid "Delete Supplier Part" +#: importer/models.py:459 +msgid "Original row data" msgstr "" -#: company/templates/company/supplier_part.html:74 -msgid "Delete Supplier Part" +#: importer/models.py:462 part/models.py:3841 +msgid "Data" msgstr "" -#: company/templates/company/supplier_part.html:133 -msgid "No supplier information available" +#: importer/models.py:464 machine/models.py:110 +msgid "Errors" msgstr "" -#: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:519 -#: templates/js/translated/company.js:349 templates/js/translated/part.js:1787 -#: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1850 -#: templates/js/translated/purchase_order.js:2028 -msgid "SKU" +#: importer/models.py:466 part/api.py:874 +msgid "Valid" msgstr "" -#: company/templates/company/supplier_part.html:206 -msgid "Supplier Part Stock" +#: importer/operations.py:28 importer/operations.py:49 +msgid "Unsupported data file format" msgstr "" -#: company/templates/company/supplier_part.html:209 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:207 -msgid "Create new stock item" +#: importer/operations.py:40 +msgid "Failed to open data file" msgstr "" -#: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:208 -#: templates/js/translated/stock.js:537 -msgid "New Stock Item" +#: importer/operations.py:51 +msgid "Invalid data file dimensions" msgstr "" -#: company/templates/company/supplier_part.html:223 -msgid "Supplier Part Orders" +#: importer/serializers.py:135 +msgid "Rows" msgstr "" -#: company/templates/company/supplier_part.html:246 -msgid "Pricing Information" +#: importer/serializers.py:136 +msgid "List of row IDs to accept" msgstr "" -#: company/templates/company/supplier_part.html:251 -#: templates/js/translated/company.js:398 -#: templates/js/translated/pricing.js:684 -msgid "Add Price Break" +#: importer/serializers.py:149 +msgid "No rows provided" msgstr "" -#: company/templates/company/supplier_part.html:276 -msgid "Supplier Part QR Code" +#: importer/serializers.py:153 +msgid "Row does not belong to this session" msgstr "" -#: company/templates/company/supplier_part.html:287 -msgid "Link Barcode to Supplier Part" +#: importer/serializers.py:156 +msgid "Row contains invalid data" msgstr "" -#: company/templates/company/supplier_part.html:359 -msgid "Update Part Availability" +#: importer/serializers.py:159 +msgid "Row has already been completed" msgstr "" -#: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:831 part/stocktake.py:224 -#: part/templates/part/category.html:183 -#: part/templates/part/category_sidebar.html:17 stock/admin.py:68 -#: stock/serializers.py:918 stock/serializers.py:1091 -#: stock/templates/stock/location.html:170 -#: 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:1061 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 -#: users/models.py:206 -msgid "Stock Items" +#: importer/status_codes.py:11 +msgid "Initializing" msgstr "" -#: company/templates/company/supplier_part_sidebar.html:9 -msgid "Supplier Part Pricing" +#: importer/status_codes.py:12 +msgid "Mapping Columns" msgstr "" -#: company/views.py:32 -msgid "New Supplier" +#: importer/status_codes.py:13 +msgid "Importing Data" msgstr "" -#: company/views.py:38 -msgid "New Manufacturer" +#: importer/status_codes.py:16 +msgid "Processing Data" msgstr "" -#: company/views.py:43 templates/InvenTree/search.html:210 -#: templates/navbar.html:60 -msgid "Customers" +#: importer/validators.py:21 +msgid "Data file exceeds maximum size limit" msgstr "" -#: company/views.py:44 -msgid "New Customer" +#: importer/validators.py:26 +msgid "Data file contains no headers" msgstr "" -#: company/views.py:52 -msgid "New Company" +#: importer/validators.py:29 +msgid "Data file contains too many columns" msgstr "" -#: generic/states/tests.py:18 order/status_codes.py:13 -msgid "Placed" +#: importer/validators.py:32 +msgid "Data file contains too many rows" +msgstr "" + +#: importer/validators.py:49 +msgid "Value must be a valid dictionary object" msgstr "" #: machine/machine_types/label_printer.py:212 @@ -4783,7 +4986,7 @@ msgstr "" msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:229 order/api.py:1467 +#: machine/machine_types/label_printer.py:229 order/api.py:1388 #: templates/js/translated/sales_order.js:1078 msgid "Unknown" msgstr "" @@ -4852,10 +5055,6 @@ msgstr "" msgid "Initialized" msgstr "" -#: machine/models.py:110 -msgid "Errors" -msgstr "" - #: machine/models.py:117 msgid "Machine status" msgstr "" @@ -4881,44 +5080,44 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:157 order/serializers.py:90 +#: order/api.py:149 order/serializers.py:94 #: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:113 #: order/templates/order/sales_order_base.html:122 msgid "Order Status" msgstr "" -#: order/api.py:161 templates/js/translated/table_filters.js:194 -#: templates/js/translated/table_filters.js:779 +#: order/api.py:153 templates/js/translated/table_filters.js:194 +#: templates/js/translated/table_filters.js:784 msgid "Has Pricing" msgstr "" -#: order/api.py:236 +#: order/api.py:228 msgid "No matching purchase order found" msgstr "" -#: order/api.py:435 order/api.py:801 order/models.py:1395 order/models.py:1504 -#: order/models.py:1550 order/models.py:1664 order/models.py:1818 -#: order/models.py:2231 order/models.py:2282 +#: order/api.py:417 order/api.py:755 order/models.py:1400 order/models.py:1514 +#: order/models.py:1565 order/models.py:1680 order/models.py:1839 +#: order/models.py:2258 order/models.py:2314 #: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "" -#: order/api.py:439 order/api.py:822 +#: order/api.py:421 order/api.py:776 msgid "Order Complete" msgstr "" -#: order/api.py:462 +#: order/api.py:444 msgid "Order Pending" msgstr "" -#: order/api.py:1461 order/models.py:380 order/models.py:1396 -#: order/models.py:1505 order/templates/order/order_base.html:9 +#: order/api.py:1382 order/models.py:380 order/models.py:1401 +#: order/models.py:1515 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 -#: stock/serializers.py:118 stock/templates/stock/item_base.html:176 +#: stock/serializers.py:120 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/part.js:1746 templates/js/translated/pricing.js:804 +#: templates/js/translated/part.js:1749 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:1673 @@ -4926,8 +5125,8 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1465 order/models.py:1981 order/models.py:2232 -#: order/models.py:2283 order/templates/order/return_order_base.html:9 +#: order/api.py:1386 order/models.py:2007 order/models.py:2259 +#: order/models.py:2315 order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report.html:13 #: templates/js/translated/return_order.js:280 @@ -4939,11 +5138,11 @@ msgstr "" msgid "Total price for this order" msgstr "" -#: order/models.py:96 order/serializers.py:70 +#: order/models.py:96 order/serializers.py:72 msgid "Order Currency" msgstr "" -#: order/models.py:99 order/serializers.py:71 +#: order/models.py:99 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" @@ -4959,7 +5158,7 @@ msgstr "" msgid "Select project code for this order" msgstr "" -#: order/models.py:303 order/models.py:1301 order/models.py:1717 +#: order/models.py:303 order/models.py:1301 order/models.py:1733 msgid "Link to external page" msgstr "" @@ -5008,15 +5207,15 @@ msgstr "" msgid "received by" msgstr "" -#: order/models.py:514 order/models.py:2058 +#: order/models.py:514 order/models.py:2084 msgid "Issue Date" msgstr "" -#: order/models.py:515 order/models.py:2059 +#: order/models.py:515 order/models.py:2085 msgid "Date order was issued" msgstr "" -#: order/models.py:522 order/models.py:2066 +#: order/models.py:522 order/models.py:2092 msgid "Date order was completed" msgstr "" @@ -5032,15 +5231,15 @@ msgstr "" msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:962 order/models.py:2051 +#: order/models.py:962 order/models.py:2077 msgid "Customer Reference " msgstr "" -#: order/models.py:963 order/models.py:2052 +#: order/models.py:963 order/models.py:2078 msgid "Customer order reference code" msgstr "" -#: order/models.py:967 order/models.py:1671 +#: order/models.py:967 order/models.py:1687 #: templates/js/translated/sales_order.js:879 #: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" @@ -5102,20 +5301,24 @@ msgstr "" msgid "Unit price" msgstr "" -#: order/models.py:1380 +#: order/models.py:1361 +msgid "Purchase Order Line Item" +msgstr "" + +#: order/models.py:1385 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1387 +#: order/models.py:1392 msgid "deleted" msgstr "" -#: order/models.py:1415 +#: order/models.py:1420 msgid "Supplier part" msgstr "" -#: order/models.py:1422 order/templates/order/order_base.html:196 -#: templates/js/translated/part.js:1870 templates/js/translated/part.js:1902 +#: order/models.py:1427 order/templates/order/order_base.html:196 +#: templates/js/translated/part.js:1873 templates/js/translated/part.js:1905 #: templates/js/translated/purchase_order.js:1306 #: templates/js/translated/purchase_order.js:2169 #: templates/js/translated/return_order.js:763 @@ -5124,196 +5327,224 @@ msgstr "" msgid "Received" msgstr "" -#: order/models.py:1423 +#: order/models.py:1428 msgid "Number of items received" msgstr "" -#: order/models.py:1431 stock/models.py:939 stock/serializers.py:556 +#: order/models.py:1436 stock/models.py:939 stock/serializers.py:602 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2311 msgid "Purchase Price" msgstr "" -#: order/models.py:1432 +#: order/models.py:1437 msgid "Unit purchase price" msgstr "" -#: order/models.py:1447 +#: order/models.py:1452 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1538 +#: order/models.py:1503 +msgid "Purchase Order Extra Line" +msgstr "" + +#: order/models.py:1532 +msgid "Sales Order Line Item" +msgstr "" + +#: order/models.py:1553 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1543 +#: order/models.py:1558 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1569 part/templates/part/part_pricing.html:107 +#: order/models.py:1584 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:1570 +#: order/models.py:1585 msgid "Unit sale price" msgstr "" -#: order/models.py:1579 order/status_codes.py:43 +#: order/models.py:1594 order/status_codes.py:43 #: templates/js/translated/sales_order.js:1559 #: templates/js/translated/sales_order.js:1680 #: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "" -#: order/models.py:1580 +#: order/models.py:1595 msgid "Shipped quantity" msgstr "" -#: order/models.py:1672 +#: order/models.py:1667 +msgid "Sales Order Shipment" +msgstr "" + +#: order/models.py:1688 msgid "Date of shipment" msgstr "" -#: order/models.py:1678 templates/js/translated/sales_order.js:1072 +#: order/models.py:1694 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "" -#: order/models.py:1679 +#: order/models.py:1695 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1687 +#: order/models.py:1703 msgid "Checked By" msgstr "" -#: order/models.py:1688 +#: order/models.py:1704 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1695 order/models.py:1908 order/serializers.py:1342 -#: order/serializers.py:1452 templates/js/translated/model_renderers.js:454 +#: order/models.py:1711 order/models.py:1934 order/serializers.py:1398 +#: order/serializers.py:1508 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "" -#: order/models.py:1696 +#: order/models.py:1712 msgid "Shipment number" msgstr "" -#: order/models.py:1704 +#: order/models.py:1720 msgid "Tracking Number" msgstr "" -#: order/models.py:1705 +#: order/models.py:1721 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1712 +#: order/models.py:1728 msgid "Invoice Number" msgstr "" -#: order/models.py:1713 +#: order/models.py:1729 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1733 +#: order/models.py:1749 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1736 +#: order/models.py:1752 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1854 order/models.py:1856 +#: order/models.py:1828 +msgid "Sales Order Extra Line" +msgstr "" + +#: order/models.py:1857 +msgid "Sales Order Allocation" +msgstr "" + +#: order/models.py:1880 order/models.py:1882 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1863 +#: order/models.py:1889 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1866 +#: order/models.py:1892 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1869 +#: order/models.py:1895 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1888 order/serializers.py:1219 +#: order/models.py:1914 order/serializers.py:1275 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1891 +#: order/models.py:1917 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1892 plugin/base/barcodes/api.py:481 +#: order/models.py:1918 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1900 +#: order/models.py:1926 msgid "Line" msgstr "" -#: order/models.py:1909 +#: order/models.py:1935 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1922 order/models.py:2239 +#: order/models.py:1948 order/models.py:2266 #: templates/js/translated/return_order.js:721 msgid "Item" msgstr "" -#: order/models.py:1923 +#: order/models.py:1949 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1932 +#: order/models.py:1958 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2021 +#: order/models.py:2047 msgid "Return Order reference" msgstr "" -#: order/models.py:2033 +#: order/models.py:2059 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2045 +#: order/models.py:2071 msgid "Return order status" msgstr "" -#: order/models.py:2224 +#: order/models.py:2237 +msgid "Return Order Line Item" +msgstr "" + +#: order/models.py:2251 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2240 +#: order/models.py:2267 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2246 +#: order/models.py:2273 msgid "Received Date" msgstr "" -#: order/models.py:2247 +#: order/models.py:2274 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2258 templates/js/translated/return_order.js:732 +#: order/models.py:2285 templates/js/translated/return_order.js:732 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2259 +#: order/models.py:2286 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2266 +#: order/models.py:2293 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:79 order/templates/order/po_sidebar.html:5 +#: order/models.py:2303 +msgid "Return Order Extra Line" +msgstr "" + +#: order/serializers.py:83 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_purchase_order_report.html:22 @@ -5322,163 +5553,171 @@ msgstr "" msgid "Line Items" msgstr "" -#: order/serializers.py:83 +#: order/serializers.py:87 msgid "Completed Lines" msgstr "" -#: order/serializers.py:286 +#: order/serializers.py:305 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:301 order/serializers.py:1235 +#: order/serializers.py:320 order/serializers.py:1291 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:311 order/serializers.py:1245 +#: order/serializers.py:330 order/serializers.py:1301 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:439 +#: order/serializers.py:468 msgid "Order is not open" msgstr "" -#: order/serializers.py:460 +#: order/serializers.py:489 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:462 +#: order/serializers.py:491 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:472 +#: order/serializers.py:501 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:478 +#: order/serializers.py:507 msgid "Merge Items" msgstr "" -#: order/serializers.py:480 +#: order/serializers.py:509 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:498 +#: order/serializers.py:522 part/models.py:945 +msgid "Internal Part Number" +msgstr "" + +#: order/serializers.py:530 +msgid "Internal Part Name" +msgstr "" + +#: order/serializers.py:546 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:501 +#: order/serializers.py:549 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:509 +#: order/serializers.py:557 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:510 +#: order/serializers.py:558 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:549 order/serializers.py:1313 +#: order/serializers.py:598 order/serializers.py:1369 msgid "Line Item" msgstr "" -#: order/serializers.py:555 +#: order/serializers.py:604 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:565 order/serializers.py:673 order/serializers.py:1657 +#: order/serializers.py:614 order/serializers.py:722 order/serializers.py:1715 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:581 templates/js/translated/purchase_order.js:1130 +#: order/serializers.py:630 templates/js/translated/purchase_order.js:1130 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:589 templates/js/translated/purchase_order.js:1154 +#: order/serializers.py:638 templates/js/translated/purchase_order.js:1154 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:600 templates/js/translated/barcode.js:52 +#: order/serializers.py:649 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:601 +#: order/serializers.py:650 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:617 +#: order/serializers.py:666 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:641 +#: order/serializers.py:690 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:689 order/serializers.py:1673 +#: order/serializers.py:738 order/serializers.py:1731 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:705 +#: order/serializers.py:754 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:716 +#: order/serializers.py:765 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1062 +#: order/serializers.py:1117 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1122 +#: order/serializers.py:1178 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1183 order/serializers.py:1322 +#: order/serializers.py:1239 order/serializers.py:1378 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1202 +#: order/serializers.py:1258 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1332 +#: order/serializers.py:1388 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1354 order/serializers.py:1460 +#: order/serializers.py:1410 order/serializers.py:1516 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1357 order/serializers.py:1463 +#: order/serializers.py:1413 order/serializers.py:1519 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1404 +#: order/serializers.py:1460 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1411 +#: order/serializers.py:1467 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1627 +#: order/serializers.py:1685 msgid "Return order line item" msgstr "" -#: order/serializers.py:1633 +#: order/serializers.py:1691 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1636 +#: order/serializers.py:1694 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1665 +#: order/serializers.py:1723 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1743 +#: order/serializers.py:1806 msgid "Line price currency" msgstr "" @@ -5808,7 +6047,7 @@ msgstr "" #: 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:1073 +#: templates/js/translated/part.js:1076 #: templates/js/translated/purchase_order.js:1752 #: templates/js/translated/return_order.js:380 #: templates/js/translated/sales_order.js:891 @@ -5904,34 +6143,29 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:398 part/models.py:3944 part/stocktake.py:219 +#: part/admin.py:39 part/admin.py:398 part/models.py:3991 part/stocktake.py:219 #: stock/admin.py:152 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:405 part/models.py:3945 part/stocktake.py:220 -#: stock/admin.py:156 -msgid "Part Name" -msgstr "" - #: part/admin.py:45 part/stocktake.py:221 msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:940 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:944 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 -#: templates/js/translated/part.js:1227 templates/js/translated/part.js:2341 +#: templates/js/translated/part.js:1230 templates/js/translated/part.js:2344 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:949 part/templates/part/part_base.html:277 -#: report/models.py:162 templates/js/translated/part.js:1232 -#: templates/js/translated/part.js:2347 +#: part/admin.py:50 part/models.py:953 part/templates/part/part_base.html:277 +#: report/models.py:162 templates/js/translated/part.js:1235 +#: templates/js/translated/part.js:2350 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:319 part/models.py:922 +#: part/admin.py:53 part/admin.py:319 part/models.py:926 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5944,7 +6178,8 @@ msgstr "" msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:304 part/stocktake.py:223 +#: part/admin.py:67 part/admin.py:304 part/serializers.py:837 +#: part/stocktake.py:223 msgid "Category Name" msgstr "" @@ -5956,11 +6191,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:908 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:912 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1036 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1040 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5968,18 +6203,19 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:150 part/templates/part/part_base.html:241 stock/admin.py:235 -#: templates/js/translated/part.js:715 templates/js/translated/part.js:2153 +#: part/admin.py:150 part/serializers.py:854 +#: part/templates/part/part_base.html:241 stock/admin.py:235 +#: templates/js/translated/part.js:714 templates/js/translated/part.js:2156 msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3088 part/models.py:3102 -#: templates/js/translated/part.js:970 +#: part/admin.py:155 part/models.py:3098 part/models.py:3112 +#: templates/js/translated/part.js:973 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3095 part/models.py:3109 -#: templates/js/translated/part.js:980 +#: part/admin.py:158 part/models.py:3105 part/models.py:3119 +#: templates/js/translated/part.js:983 msgid "Maximum Cost" msgstr "" @@ -5996,14 +6232,14 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:396 part/serializers.py:124 -#: part/serializers.py:267 part/serializers.py:386 +#: part/admin.py:325 part/models.py:397 part/serializers.py:130 +#: part/serializers.py:282 part/serializers.py:404 #: 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:2807 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:203 msgid "Parts" msgstr "" @@ -6020,125 +6256,117 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:402 part/models.py:3946 -msgid "Part IPN" -msgstr "" - -#: part/admin.py:415 part/serializers.py:1274 +#: part/admin.py:415 part/serializers.py:1302 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:420 part/serializers.py:1289 +#: part/admin.py:420 part/serializers.py:1317 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "" -#: part/api.py:104 +#: part/api.py:105 msgid "Starred" msgstr "" -#: part/api.py:106 +#: part/api.py:107 msgid "Filter by starred categories" msgstr "" -#: part/api.py:123 stock/api.py:312 +#: part/api.py:124 stock/api.py:312 msgid "Depth" msgstr "" -#: part/api.py:123 +#: part/api.py:124 msgid "Filter by category depth" msgstr "" -#: part/api.py:141 stock/api.py:330 +#: part/api.py:142 stock/api.py:330 msgid "Top Level" msgstr "" -#: part/api.py:143 +#: part/api.py:144 msgid "Filter by top-level categories" msgstr "" -#: part/api.py:156 stock/api.py:345 +#: part/api.py:157 stock/api.py:345 msgid "Cascade" msgstr "" -#: part/api.py:158 +#: part/api.py:159 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:179 templates/js/translated/part.js:308 +#: part/api.py:180 templates/js/translated/part.js:307 msgid "Parent" msgstr "" -#: part/api.py:181 +#: part/api.py:182 msgid "Filter by parent category" msgstr "" -#: part/api.py:214 +#: part/api.py:215 msgid "Exclude Tree" msgstr "" -#: part/api.py:216 +#: part/api.py:217 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:449 +#: part/api.py:442 msgid "Has Results" msgstr "" -#: part/api.py:616 +#: part/api.py:609 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:634 +#: part/api.py:627 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:650 +#: part/api.py:643 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:734 +#: part/api.py:727 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:881 -msgid "Valid" -msgstr "" - -#: part/api.py:882 +#: part/api.py:875 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:888 +#: part/api.py:881 msgid "This option must be selected" msgstr "" -#: part/api.py:1105 +#: part/api.py:1098 msgid "BOM Valid" msgstr "" -#: part/api.py:1508 part/models.py:932 part/models.py:3374 part/models.py:3889 -#: part/serializers.py:401 part/serializers.py:1130 -#: part/templates/part/part_base.html:260 stock/api.py:791 +#: part/api.py:1494 part/models.py:936 part/models.py:3385 part/models.py:3936 +#: part/serializers.py:419 part/serializers.py:1158 +#: part/templates/part/part_base.html:260 stock/api.py:783 #: 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:2380 msgid "Category" msgstr "" -#: part/api.py:1796 +#: part/api.py:1784 msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:104 part/models.py:975 +#: part/bom.py:170 part/models.py:104 part/models.py:979 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:833 +#: part/bom.py:171 part/serializers.py:861 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6147,7 +6375,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:85 part/models.py:3890 part/templates/part/category.html:16 +#: part/models.py:85 part/models.py:3937 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -6162,7 +6390,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:110 stock/models.py:175 templates/js/translated/part.js:2810 +#: part/models.py:110 stock/models.py:175 templates/js/translated/part.js:2813 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 @@ -6194,1002 +6422,1035 @@ msgstr "" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:485 +#: part/models.py:486 +msgid "Cannot delete this part as it is locked" +msgstr "" + +#: part/models.py:489 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:490 +#: part/models.py:494 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:528 +#: part/models.py:532 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:576 part/models.py:583 +#: part/models.py:580 part/models.py:587 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:595 +#: part/models.py:599 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:658 +#: part/models.py:662 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:736 +#: part/models.py:740 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:837 +#: part/models.py:841 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:847 +#: part/models.py:851 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:862 +#: part/models.py:866 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:891 part/models.py:3945 +#: part/models.py:895 part/models.py:3992 msgid "Part name" msgstr "" -#: part/models.py:896 +#: part/models.py:900 msgid "Is Template" msgstr "" -#: part/models.py:897 +#: part/models.py:901 msgid "Is this part a template part?" msgstr "" -#: part/models.py:907 +#: part/models.py:911 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:915 +#: part/models.py:919 msgid "Part description (optional)" msgstr "" -#: part/models.py:923 +#: part/models.py:927 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:933 +#: part/models.py:937 msgid "Part category" msgstr "" -#: part/models.py:941 -msgid "Internal Part Number" -msgstr "" - -#: part/models.py:948 +#: part/models.py:952 msgid "Part revision or version number" msgstr "" -#: part/models.py:973 +#: part/models.py:977 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1019 part/templates/part/part_base.html:376 +#: part/models.py:1023 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:1020 +#: part/models.py:1024 msgid "Default supplier part" msgstr "" -#: part/models.py:1027 +#: part/models.py:1031 msgid "Default Expiry" msgstr "" -#: part/models.py:1028 +#: part/models.py:1032 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1037 +#: part/models.py:1041 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1046 +#: part/models.py:1050 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1053 +#: part/models.py:1057 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1059 +#: part/models.py:1063 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1065 +#: part/models.py:1069 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1071 +#: part/models.py:1075 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1077 +#: part/models.py:1081 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1081 +#: part/models.py:1085 msgid "Is this part active?" msgstr "" -#: part/models.py:1087 +#: part/models.py:1090 templates/js/translated/part.js:818 +#: templates/js/translated/table_filters.js:721 +msgid "Locked" +msgstr "" + +#: part/models.py:1091 +msgid "Locked parts cannot be edited" +msgstr "" + +#: part/models.py:1097 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1093 +#: part/models.py:1103 msgid "BOM checksum" msgstr "" -#: part/models.py:1094 +#: part/models.py:1104 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1102 +#: part/models.py:1112 msgid "BOM checked by" msgstr "" -#: part/models.py:1107 +#: part/models.py:1117 msgid "BOM checked date" msgstr "" -#: part/models.py:1123 +#: part/models.py:1133 msgid "Creation User" msgstr "" -#: part/models.py:1133 +#: part/models.py:1143 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1138 part/templates/part/part_base.html:339 +#: part/models.py:1148 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:2474 msgid "Last Stocktake" msgstr "" -#: part/models.py:2011 +#: part/models.py:2021 msgid "Sell multiple" msgstr "" -#: part/models.py:3002 +#: part/models.py:3012 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3018 +#: part/models.py:3028 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3019 +#: part/models.py:3029 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3025 +#: part/models.py:3035 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3026 +#: part/models.py:3036 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3032 +#: part/models.py:3042 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3033 +#: part/models.py:3043 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3039 +#: part/models.py:3049 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3040 +#: part/models.py:3050 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3046 +#: part/models.py:3056 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3047 +#: part/models.py:3057 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3053 +#: part/models.py:3063 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3054 +#: part/models.py:3064 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3060 +#: part/models.py:3070 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3061 +#: part/models.py:3071 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3067 +#: part/models.py:3077 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3068 +#: part/models.py:3078 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3074 +#: part/models.py:3084 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3075 +#: part/models.py:3085 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3081 +#: part/models.py:3091 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3082 +#: part/models.py:3092 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3089 +#: part/models.py:3099 msgid "Override minimum cost" msgstr "" -#: part/models.py:3096 +#: part/models.py:3106 msgid "Override maximum cost" msgstr "" -#: part/models.py:3103 +#: part/models.py:3113 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3110 +#: part/models.py:3120 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3116 +#: part/models.py:3126 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3117 +#: part/models.py:3127 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3123 +#: part/models.py:3133 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3124 +#: part/models.py:3134 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3130 +#: part/models.py:3140 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3131 +#: part/models.py:3141 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3137 +#: part/models.py:3147 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3138 +#: part/models.py:3148 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3157 +#: part/models.py:3167 msgid "Part for stocktake" msgstr "" -#: part/models.py:3162 +#: part/models.py:3172 msgid "Item Count" msgstr "" -#: part/models.py:3163 +#: part/models.py:3173 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3171 +#: part/models.py:3181 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3175 part/models.py:3258 +#: part/models.py:3185 part/models.py:3268 #: part/templates/part/part_scheduling.html:13 #: 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:1086 templates/js/translated/pricing.js:826 +#: templates/js/translated/part.js:1089 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 #: templates/js/translated/purchase_order.js:1731 #: templates/js/translated/stock.js:2821 msgid "Date" msgstr "" -#: part/models.py:3176 +#: part/models.py:3186 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3184 +#: part/models.py:3194 msgid "Additional notes" msgstr "" -#: part/models.py:3194 +#: part/models.py:3204 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3200 +#: part/models.py:3210 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3201 +#: part/models.py:3211 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3207 +#: part/models.py:3217 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3208 +#: part/models.py:3218 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3264 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3274 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3265 +#: part/models.py:3275 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3270 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3280 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3271 +#: part/models.py:3281 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3281 +#: part/models.py:3291 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3423 +#: part/models.py:3301 +msgid "Part Sale Price Break" +msgstr "" + +#: part/models.py:3413 +msgid "Part Test Template" +msgstr "" + +#: part/models.py:3439 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3444 part/models.py:3608 +#: part/models.py:3460 part/models.py:3629 msgid "Choices must be unique" msgstr "" -#: part/models.py:3455 +#: part/models.py:3471 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3466 +#: part/models.py:3482 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3483 templates/js/translated/part.js:2880 +#: part/models.py:3499 templates/js/translated/part.js:2883 msgid "Test Name" msgstr "" -#: part/models.py:3484 +#: part/models.py:3500 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3490 +#: part/models.py:3506 msgid "Test Key" msgstr "" -#: part/models.py:3491 +#: part/models.py:3507 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3498 +#: part/models.py:3514 msgid "Test Description" msgstr "" -#: part/models.py:3499 +#: part/models.py:3515 msgid "Enter description for this test" msgstr "" -#: part/models.py:3503 report/models.py:209 -#: templates/js/translated/part.js:2901 +#: part/models.py:3519 report/models.py:209 +#: templates/js/translated/part.js:2904 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "" -#: part/models.py:3503 +#: part/models.py:3519 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3508 templates/js/translated/part.js:2909 +#: part/models.py:3524 templates/js/translated/part.js:2912 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3509 +#: part/models.py:3525 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3514 templates/js/translated/part.js:2917 +#: part/models.py:3530 templates/js/translated/part.js:2920 msgid "Requires Value" msgstr "" -#: part/models.py:3515 +#: part/models.py:3531 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3520 templates/js/translated/part.js:2924 +#: part/models.py:3536 templates/js/translated/part.js:2927 msgid "Requires Attachment" msgstr "" -#: part/models.py:3522 +#: part/models.py:3538 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3528 part/models.py:3667 templates/js/translated/part.js:1637 +#: part/models.py:3544 part/models.py:3688 templates/js/translated/part.js:1640 msgid "Choices" msgstr "" -#: part/models.py:3529 +#: part/models.py:3545 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3583 +#: part/models.py:3577 +msgid "Part Parameter Template" +msgstr "" + +#: part/models.py:3604 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3588 +#: part/models.py:3609 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3625 +#: part/models.py:3646 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3640 +#: part/models.py:3661 msgid "Parameter Name" msgstr "" -#: part/models.py:3647 +#: part/models.py:3668 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3655 +#: part/models.py:3676 msgid "Parameter description" msgstr "" -#: part/models.py:3661 templates/js/translated/part.js:1628 -#: templates/js/translated/table_filters.js:825 +#: part/models.py:3682 templates/js/translated/part.js:1631 +#: templates/js/translated/table_filters.js:830 msgid "Checkbox" msgstr "" -#: part/models.py:3662 +#: part/models.py:3683 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3668 +#: part/models.py:3689 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3745 +#: part/models.py:3723 +msgid "Part Parameter" +msgstr "" + +#: part/models.py:3749 +msgid "Parameter cannot be modified - part is locked" +msgstr "" + +#: part/models.py:3785 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3788 +#: part/models.py:3828 msgid "Parent Part" msgstr "" -#: part/models.py:3796 part/models.py:3897 part/models.py:3898 +#: part/models.py:3836 part/models.py:3944 part/models.py:3945 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3801 -msgid "Data" +#: part/models.py:3842 +msgid "Parameter Value" msgstr "" -#: part/models.py:3802 -msgid "Parameter Value" +#: part/models.py:3892 +msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:3904 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3951 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3905 +#: part/models.py:3952 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3943 +#: part/models.py:3990 msgid "Part ID or part name" msgstr "" -#: part/models.py:3944 +#: part/models.py:3991 msgid "Unique part ID value" msgstr "" -#: part/models.py:3946 +#: part/models.py:3993 msgid "Part IPN value" msgstr "" -#: part/models.py:3947 +#: part/models.py:3994 msgid "Level" msgstr "" -#: part/models.py:3947 +#: part/models.py:3994 msgid "BOM level" msgstr "" -#: part/models.py:4037 +#: part/models.py:4105 +msgid "BOM item cannot be modified - assembly is locked" +msgstr "" + +#: part/models.py:4112 +msgid "BOM item cannot be modified - variant assembly is locked" +msgstr "" + +#: part/models.py:4122 msgid "Select parent part" msgstr "" -#: part/models.py:4047 +#: part/models.py:4132 msgid "Sub part" msgstr "" -#: part/models.py:4048 +#: part/models.py:4133 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4059 +#: part/models.py:4144 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4065 +#: part/models.py:4150 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4071 +#: part/models.py:4156 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4078 part/templates/part/upload_bom.html:55 +#: part/models.py:4163 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4079 +#: part/models.py:4164 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4086 +#: part/models.py:4171 msgid "BOM item reference" msgstr "" -#: part/models.py:4094 +#: part/models.py:4179 msgid "BOM item notes" msgstr "" -#: part/models.py:4100 +#: part/models.py:4185 msgid "Checksum" msgstr "" -#: part/models.py:4101 +#: part/models.py:4186 msgid "BOM line checksum" msgstr "" -#: part/models.py:4106 templates/js/translated/table_filters.js:174 +#: part/models.py:4191 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4107 +#: part/models.py:4192 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4112 part/templates/part/upload_bom.html:57 +#: part/models.py:4197 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:4113 +#: part/models.py:4198 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4118 part/templates/part/upload_bom.html:56 +#: part/models.py:4203 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4119 +#: part/models.py:4204 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4204 stock/models.py:663 +#: part/models.py:4289 stock/models.py:663 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4214 part/models.py:4216 +#: part/models.py:4299 part/models.py:4301 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4354 +#: part/models.py:4439 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4375 +#: part/models.py:4460 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4388 +#: part/models.py:4473 msgid "Parent BOM item" msgstr "" -#: part/models.py:4396 +#: part/models.py:4481 msgid "Substitute part" msgstr "" -#: part/models.py:4412 +#: part/models.py:4497 msgid "Part 1" msgstr "" -#: part/models.py:4420 +#: part/models.py:4505 msgid "Part 2" msgstr "" -#: part/models.py:4421 +#: part/models.py:4506 msgid "Select Related Part" msgstr "" -#: part/models.py:4440 +#: part/models.py:4525 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4445 +#: part/models.py:4530 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:118 +#: part/serializers.py:124 msgid "Parent Category" msgstr "" -#: part/serializers.py:119 templates/js/translated/part.js:309 +#: part/serializers.py:125 templates/js/translated/part.js:308 msgid "Parent part category" msgstr "" -#: part/serializers.py:126 part/serializers.py:148 +#: part/serializers.py:132 part/serializers.py:154 #: part/templates/part/category.html:122 part/templates/part/category.html:207 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" -#: part/serializers.py:180 +#: part/serializers.py:189 msgid "Results" msgstr "" -#: part/serializers.py:181 +#: part/serializers.py:190 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:205 part/serializers.py:223 stock/serializers.py:562 +#: part/serializers.py:217 part/serializers.py:235 stock/serializers.py:608 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:268 +#: part/serializers.py:283 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:392 +#: part/serializers.py:410 msgid "No parts selected" msgstr "" -#: part/serializers.py:402 +#: part/serializers.py:420 msgid "Select category" msgstr "" -#: part/serializers.py:437 +#: part/serializers.py:455 msgid "Original Part" msgstr "" -#: part/serializers.py:438 +#: part/serializers.py:456 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:461 msgid "Copy Image" msgstr "" -#: part/serializers.py:444 +#: part/serializers.py:462 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:450 part/templates/part/detail.html:277 +#: part/serializers.py:468 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:451 +#: part/serializers.py:469 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:457 +#: part/serializers.py:475 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:458 +#: part/serializers.py:476 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:464 +#: part/serializers.py:482 msgid "Copy Notes" msgstr "" -#: part/serializers.py:465 +#: part/serializers.py:483 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:483 +#: part/serializers.py:501 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:485 +#: part/serializers.py:503 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:492 +#: part/serializers.py:510 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:493 +#: part/serializers.py:511 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:510 +#: part/serializers.py:528 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:526 +#: part/serializers.py:544 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:536 +#: part/serializers.py:554 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:543 +#: part/serializers.py:561 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:552 +#: part/serializers.py:570 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:563 +#: part/serializers.py:581 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:570 +#: part/serializers.py:588 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:834 -msgid "External Stock" -msgstr "" - -#: part/serializers.py:836 +#: part/serializers.py:864 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:839 +#: part/serializers.py:867 msgid "Variant Stock" msgstr "" -#: part/serializers.py:869 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:472 +#: part/serializers.py:897 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:870 +#: part/serializers.py:898 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:876 templates/js/translated/part.js:102 +#: part/serializers.py:904 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:877 +#: part/serializers.py:905 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:883 +#: part/serializers.py:911 msgid "Supplier Information" msgstr "" -#: part/serializers.py:884 +#: part/serializers.py:912 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:892 +#: part/serializers.py:920 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:893 +#: part/serializers.py:921 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:898 +#: part/serializers.py:926 msgid "Existing Image" msgstr "" -#: part/serializers.py:899 +#: part/serializers.py:927 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:916 +#: part/serializers.py:944 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1122 +#: part/serializers.py:1150 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1132 +#: part/serializers.py:1160 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1142 +#: part/serializers.py:1170 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1148 +#: part/serializers.py:1176 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1149 +#: part/serializers.py:1177 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1154 +#: part/serializers.py:1182 msgid "Generate Report" msgstr "" -#: part/serializers.py:1155 +#: part/serializers.py:1183 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1160 +#: part/serializers.py:1188 msgid "Update Parts" msgstr "" -#: part/serializers.py:1161 +#: part/serializers.py:1189 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1169 +#: part/serializers.py:1197 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1275 +#: part/serializers.py:1303 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1282 +#: part/serializers.py:1310 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1290 +#: part/serializers.py:1318 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1297 +#: part/serializers.py:1325 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1326 +#: part/serializers.py:1354 msgid "Update" msgstr "" -#: part/serializers.py:1327 +#: part/serializers.py:1355 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1350 +#: part/serializers.py:1378 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1357 +#: part/serializers.py:1385 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1360 +#: part/serializers.py:1388 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1727 +#: part/serializers.py:1759 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1735 +#: part/serializers.py:1767 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1736 +#: part/serializers.py:1768 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1741 +#: part/serializers.py:1773 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1742 +#: part/serializers.py:1774 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1747 +#: part/serializers.py:1779 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1748 +#: part/serializers.py:1780 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1753 +#: part/serializers.py:1785 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1754 +#: part/serializers.py:1786 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1788 +#: part/serializers.py:1823 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1789 +#: part/serializers.py:1824 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1819 +#: part/serializers.py:1856 msgid "No part column specified" msgstr "" -#: part/serializers.py:1863 +#: part/serializers.py:1900 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1866 +#: part/serializers.py:1903 msgid "No matching part found" msgstr "" -#: part/serializers.py:1869 +#: part/serializers.py:1906 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1878 +#: part/serializers.py:1915 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1886 +#: part/serializers.py:1923 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1907 +#: part/serializers.py:1946 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:225 templates/js/translated/part.js:1067 -#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 +#: part/stocktake.py:225 templates/js/translated/part.js:1070 +#: templates/js/translated/part.js:1825 templates/js/translated/part.js:1881 #: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "" @@ -7507,7 +7768,7 @@ msgstr "" #: part/templates/part/part_base.html:52 #: stock/templates/stock/item_base.html:62 -#: stock/templates/stock/location.html:74 templates/js/translated/label.js:143 +#: stock/templates/stock/location.html:74 templates/js/translated/label.js:136 msgid "Print Label" msgstr "" @@ -7529,7 +7790,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:2296 msgid "Part actions" msgstr "" @@ -7569,6 +7830,10 @@ msgstr "" msgid "Part can be sold to customers" msgstr "" +#: part/templates/part/part_base.html:145 +msgid "Part is not active" +msgstr "" + #: part/templates/part/part_base.html:153 msgid "Part is virtual (not a physical part)" msgstr "" @@ -7597,7 +7862,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:322 templates/js/translated/bom.js:1071 -#: templates/js/translated/part.js:1265 templates/js/translated/part.js:2444 +#: templates/js/translated/part.js:1268 templates/js/translated/part.js:2447 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" @@ -7690,8 +7955,8 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/part.js:1243 templates/js/translated/part.js:2146 -#: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 +#: templates/js/translated/part.js:1246 templates/js/translated/part.js:2149 +#: templates/js/translated/part.js:2395 templates/js/translated/stock.js:1059 #: templates/js/translated/stock.js:2070 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -7811,8 +8076,8 @@ msgstr "" #: part/templates/part/stock_count.html:7 #: templates/js/translated/model_renderers.js:227 -#: templates/js/translated/part.js:705 templates/js/translated/part.js:2141 -#: templates/js/translated/part.js:2143 +#: templates/js/translated/part.js:704 templates/js/translated/part.js:2144 +#: templates/js/translated/part.js:2146 msgid "No Stock" msgstr "" @@ -7956,7 +8221,7 @@ msgstr "" msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2589 +#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2590 #: templates/js/translated/sales_order.js:1953 msgid "Insufficient stock available" msgstr "" @@ -8051,7 +8316,7 @@ msgstr "" msgid "Quantity to allocate" msgstr "" -#: plugin/base/label/label.py:39 templates/js/translated/label.js:155 +#: plugin/base/label/label.py:39 templates/js/translated/label.js:148 msgid "Label printing failed" msgstr "" @@ -8748,7 +9013,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report.html:25 #: report/templates/report/inventree_test_report.html:88 stock/models.py:825 -#: stock/serializers.py:149 stock/templates/stock/item_base.html:311 +#: stock/serializers.py:151 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:230 @@ -8778,7 +9043,7 @@ msgstr "" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2447 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2457 msgid "Result" msgstr "" @@ -8799,7 +9064,7 @@ msgid "No result" msgstr "" #: report/templates/report/inventree_test_report.html:153 -#: stock/templates/stock/stock_sidebar.html:16 +#: stock/serializers.py:591 stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" @@ -8829,10 +9094,6 @@ msgstr "" msgid "Location ID" msgstr "" -#: stock/admin.py:53 stock/admin.py:175 -msgid "Location Name" -msgstr "" - #: stock/admin.py:63 stock/templates/stock/location.html:131 #: stock/templates/stock/location.html:137 msgid "Location Path" @@ -8909,7 +9170,7 @@ msgstr "" msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:369 stock/serializers.py:1085 +#: stock/api.py:369 stock/serializers.py:1148 msgid "Parent Location" msgstr "" @@ -8917,44 +9178,45 @@ msgstr "" msgid "Filter by parent location" msgstr "" -#: stock/api.py:625 templates/js/translated/table_filters.js:427 +#: stock/api.py:617 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:813 +#: stock/api.py:805 msgid "Part Tree" msgstr "" -#: stock/api.py:843 +#: stock/api.py:835 msgid "Expiry date before" msgstr "" -#: stock/api.py:847 +#: stock/api.py:839 msgid "Expiry date after" msgstr "" -#: stock/api.py:850 stock/templates/stock/item_base.html:439 +#: stock/api.py:842 stock/serializers.py:596 +#: stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "" -#: stock/api.py:937 +#: stock/api.py:929 msgid "Quantity is required" msgstr "" -#: stock/api.py:943 +#: stock/api.py:935 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:974 +#: stock/api.py:966 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:984 +#: stock/api.py:976 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1015 +#: stock/api.py:1007 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -9021,7 +9283,7 @@ msgstr "" msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:669 stock/serializers.py:446 +#: stock/models.py:669 stock/serializers.py:477 msgid "Stock item cannot be created for virtual parts" msgstr "" @@ -9066,7 +9328,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:799 stock/serializers.py:1476 +#: stock/models.py:799 stock/serializers.py:1542 msgid "Packaging this stock item is stored in" msgstr "" @@ -9078,7 +9340,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:843 stock/serializers.py:1459 +#: stock/models.py:843 stock/serializers.py:1525 msgid "Batch code for this stock item" msgstr "" @@ -9155,7 +9417,7 @@ msgstr "" msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1520 stock/serializers.py:660 +#: stock/models.py:1520 stock/serializers.py:718 msgid "Serial numbers already exist" msgstr "" @@ -9187,7 +9449,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1658 stock/serializers.py:1365 +#: stock/models.py:1658 stock/serializers.py:1431 msgid "Duplicate stock items" msgstr "" @@ -9207,288 +9469,330 @@ msgstr "" msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2345 +#: stock/models.py:2317 +msgid "Stock Item Tracking" +msgstr "" + +#: stock/models.py:2350 msgid "Entry notes" msgstr "" -#: stock/models.py:2413 +#: stock/models.py:2390 +msgid "Stock Item Test Result" +msgstr "" + +#: stock/models.py:2423 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2418 +#: stock/models.py:2428 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2423 +#: stock/models.py:2433 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2447 +#: stock/models.py:2457 msgid "Test result" msgstr "" -#: stock/models.py:2454 +#: stock/models.py:2464 msgid "Test output value" msgstr "" -#: stock/models.py:2462 +#: stock/models.py:2472 msgid "Test result attachment" msgstr "" -#: stock/models.py:2466 +#: stock/models.py:2476 msgid "Test notes" msgstr "" -#: stock/models.py:2474 templates/js/translated/stock.js:1548 +#: stock/models.py:2484 templates/js/translated/stock.js:1548 msgid "Test station" msgstr "" -#: stock/models.py:2475 +#: stock/models.py:2485 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2481 +#: stock/models.py:2491 msgid "Started" msgstr "" -#: stock/models.py:2482 +#: stock/models.py:2492 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2488 +#: stock/models.py:2498 msgid "Finished" msgstr "" -#: stock/models.py:2489 +#: stock/models.py:2499 msgid "The timestamp of the test finish" msgstr "" -#: stock/serializers.py:74 +#: stock/serializers.py:76 msgid "Generated batch code" msgstr "" -#: stock/serializers.py:83 +#: stock/serializers.py:85 msgid "Select build order" msgstr "" -#: stock/serializers.py:92 +#: stock/serializers.py:94 msgid "Select stock item to generate batch code for" msgstr "" -#: stock/serializers.py:101 +#: stock/serializers.py:103 msgid "Select location to generate batch code for" msgstr "" -#: stock/serializers.py:110 +#: stock/serializers.py:112 msgid "Select part to generate batch code for" msgstr "" -#: stock/serializers.py:119 +#: stock/serializers.py:121 msgid "Select purchase order" msgstr "" -#: stock/serializers.py:126 +#: stock/serializers.py:128 msgid "Enter quantity for batch code" msgstr "" -#: stock/serializers.py:149 +#: stock/serializers.py:151 msgid "Generated serial number" msgstr "" -#: stock/serializers.py:158 +#: stock/serializers.py:160 msgid "Select part to generate serial number for" msgstr "" -#: stock/serializers.py:166 +#: stock/serializers.py:168 msgid "Quantity of serial numbers to generate" msgstr "" -#: stock/serializers.py:228 +#: stock/serializers.py:233 msgid "Test template for this result" msgstr "" -#: stock/serializers.py:247 +#: stock/serializers.py:252 msgid "Template ID or test name must be provided" msgstr "" -#: stock/serializers.py:279 +#: stock/serializers.py:284 msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:315 +#: stock/serializers.py:320 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:438 +#: stock/serializers.py:449 stock/templates/stock/item_base.html:193 +msgid "Parent Item" +msgstr "" + +#: stock/serializers.py:450 +msgid "Parent stock item" +msgstr "" + +#: stock/serializers.py:469 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:558 +#: stock/serializers.py:585 templates/js/translated/build.js:991 +#: templates/js/translated/build.js:2344 +msgid "Allocated Quantity" +msgstr "" + +#: stock/serializers.py:588 stock/templates/stock/item_base.html:437 +#: templates/js/translated/table_filters.js:435 users/models.py:174 +msgid "Expired" +msgstr "" + +#: stock/serializers.py:594 stock/templates/stock/stock_sidebar.html:20 +msgid "Child Items" +msgstr "" + +#: stock/serializers.py:598 +msgid "Tracking Items" +msgstr "" + +#: stock/serializers.py:604 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:595 +#: stock/serializers.py:623 +msgid "Minimum Pricing" +msgstr "" + +#: stock/serializers.py:629 +msgid "Maximum Pricing" +msgstr "" + +#: stock/serializers.py:653 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:608 +#: stock/serializers.py:666 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:615 +#: stock/serializers.py:673 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:626 stock/serializers.py:1322 stock/serializers.py:1578 +#: stock/serializers.py:684 stock/serializers.py:1388 stock/serializers.py:1644 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:633 +#: stock/serializers.py:691 msgid "Optional note field" msgstr "" -#: stock/serializers.py:643 +#: stock/serializers.py:701 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:698 +#: stock/serializers.py:756 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:705 +#: stock/serializers.py:763 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:706 +#: stock/serializers.py:764 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:711 stock/serializers.py:791 stock/serializers.py:887 -#: stock/serializers.py:937 +#: stock/serializers.py:769 stock/serializers.py:849 stock/serializers.py:945 +#: stock/serializers.py:995 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:719 +#: stock/serializers.py:777 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:727 +#: stock/serializers.py:785 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:738 +#: stock/serializers.py:796 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:751 +#: stock/serializers.py:809 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:786 +#: stock/serializers.py:844 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:821 +#: stock/serializers.py:879 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:834 +#: stock/serializers.py:892 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:851 +#: stock/serializers.py:909 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:882 +#: stock/serializers.py:940 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:919 +#: stock/serializers.py:977 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:925 +#: stock/serializers.py:983 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1021 stock/serializers.py:1093 +#: stock/serializers.py:1079 stock/serializers.py:1156 #: stock/templates/stock/location.html:165 #: stock/templates/stock/location.html:222 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1086 templates/js/translated/stock.js:152 +#: stock/serializers.py:1149 templates/js/translated/stock.js:152 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1194 +#: stock/serializers.py:1260 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1198 +#: stock/serializers.py:1264 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1202 +#: stock/serializers.py:1268 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1226 +#: stock/serializers.py:1292 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1232 +#: stock/serializers.py:1298 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1240 +#: stock/serializers.py:1306 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1250 stock/serializers.py:1504 +#: stock/serializers.py:1316 stock/serializers.py:1570 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1329 +#: stock/serializers.py:1395 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1334 +#: stock/serializers.py:1400 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1335 +#: stock/serializers.py:1401 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1340 +#: stock/serializers.py:1406 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1341 +#: stock/serializers.py:1407 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1351 +#: stock/serializers.py:1417 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1418 +#: stock/serializers.py:1484 msgid "No Change" msgstr "" -#: stock/serializers.py:1447 +#: stock/serializers.py:1513 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1466 +#: stock/serializers.py:1532 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1494 +#: stock/serializers.py:1560 msgid "Stock transaction notes" msgstr "" @@ -9757,10 +10061,6 @@ msgstr "" msgid "Build" msgstr "" -#: stock/templates/stock/item_base.html:193 -msgid "Parent Item" -msgstr "" - #: stock/templates/stock/item_base.html:211 msgid "No manufacturer set" msgstr "" @@ -9836,11 +10136,6 @@ msgstr "" msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:437 -#: templates/js/translated/table_filters.js:435 users/models.py:174 -msgid "Expired" -msgstr "" - #: stock/templates/stock/item_base.html:439 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" @@ -9988,10 +10283,6 @@ msgstr "" msgid "Allocations" msgstr "" -#: stock/templates/stock/stock_sidebar.html:20 -msgid "Child Items" -msgstr "" - #: templates/403.html:6 templates/403.html:12 templates/403_csrf.html:7 msgid "Permission Denied" msgstr "" @@ -10466,8 +10757,8 @@ 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:393 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:245 users/models.py:402 +#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 +#: templates/js/translated/stock.js:245 users/models.py:406 msgid "Delete" msgstr "" @@ -10507,12 +10798,12 @@ msgid "No category parameter templates found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:308 -#: templates/js/translated/part.js:1646 +#: templates/js/translated/part.js:1649 msgid "Edit Template" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:309 -#: templates/js/translated/part.js:1647 +#: templates/js/translated/part.js:1650 msgid "Delete Template" msgstr "" @@ -11145,7 +11436,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2556 +#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2557 msgid "Required Quantity" msgstr "" @@ -11159,7 +11450,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3219 +#: templates/js/translated/part.js:3222 msgid "Minimum Quantity" msgstr "" @@ -11514,7 +11805,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2500 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2501 msgid "Variant stock allowed" msgstr "" @@ -11534,30 +11825,30 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2621 +#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2622 msgid "External stock" msgstr "" -#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2595 +#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2596 #: templates/js/translated/sales_order.js:1946 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2599 +#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2600 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2601 -#: templates/js/translated/part.js:1257 +#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2602 +#: templates/js/translated/part.js:1260 #: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2603 +#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2604 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2586 +#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2587 msgid "Consumable item" msgstr "" @@ -11589,7 +11880,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2485 +#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2486 msgid "Required Part" msgstr "" @@ -11758,10 +12049,6 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:991 templates/js/translated/build.js:2344 -msgid "Allocated Quantity" -msgstr "" - #: templates/js/translated/build.js:1005 msgid "Location not specified" msgstr "" @@ -11873,9 +12160,9 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2117 templates/js/translated/build.js:2479 +#: templates/js/translated/build.js:2117 templates/js/translated/build.js:2480 #: templates/js/translated/forms.js:2163 templates/js/translated/forms.js:2179 -#: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 +#: templates/js/translated/part.js:2319 templates/js/translated/part.js:2745 #: templates/js/translated/stock.js:1983 templates/js/translated/stock.js:2710 msgid "Select" msgstr "" @@ -11906,59 +12193,59 @@ msgstr "" msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2455 +#: templates/js/translated/build.js:2456 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2456 +#: templates/js/translated/build.js:2457 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2474 +#: templates/js/translated/build.js:2475 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2504 templates/js/translated/part.js:791 -#: templates/js/translated/part.js:1203 +#: templates/js/translated/build.js:2505 templates/js/translated/part.js:790 +#: templates/js/translated/part.js:1206 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2539 +#: templates/js/translated/build.js:2540 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2591 +#: templates/js/translated/build.js:2592 #: templates/js/translated/sales_order.js:1951 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2646 +#: templates/js/translated/build.js:2647 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2653 +#: templates/js/translated/build.js:2654 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2654 +#: templates/js/translated/build.js:2655 msgid "Allocate tracked items against individual build outputs" msgstr "" -#: templates/js/translated/build.js:2662 +#: templates/js/translated/build.js:2663 #: templates/js/translated/sales_order.js:2052 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2667 templates/js/translated/stock.js:1868 +#: templates/js/translated/build.js:2668 templates/js/translated/stock.js:1868 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2671 +#: templates/js/translated/build.js:2672 #: templates/js/translated/sales_order.js:2046 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2675 +#: templates/js/translated/build.js:2676 msgid "Remove stock allocation" msgstr "" @@ -12105,7 +12392,7 @@ msgid "Delete Parameters" msgstr "" #: templates/js/translated/company.js:1191 -#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2245 +#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2248 msgid "Order parts" msgstr "" @@ -12122,34 +12409,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:1279 -#: templates/js/translated/company.js:1567 templates/js/translated/part.js:799 -#: templates/js/translated/part.js:1211 +#: templates/js/translated/company.js:1567 templates/js/translated/part.js:798 +#: templates/js/translated/part.js:1214 msgid "Template part" msgstr "" #: templates/js/translated/company.js:1283 -#: templates/js/translated/company.js:1571 templates/js/translated/part.js:803 -#: templates/js/translated/part.js:1215 +#: templates/js/translated/company.js:1571 templates/js/translated/part.js:802 +#: templates/js/translated/part.js:1218 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1465 +#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1468 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1528 +#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1531 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1529 +#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1532 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1434 +#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1437 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1550 +#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1553 msgid "Delete Parameter" msgstr "" @@ -12323,15 +12610,15 @@ msgstr "" msgid "No parts required for builds" msgstr "" -#: templates/js/translated/label.js:55 templates/js/translated/report.js:38 +#: templates/js/translated/label.js:48 templates/js/translated/report.js:38 msgid "Select Items" msgstr "" -#: templates/js/translated/label.js:56 templates/js/translated/report.js:39 +#: templates/js/translated/label.js:49 templates/js/translated/report.js:39 msgid "No items selected for printing" msgstr "" -#: templates/js/translated/label.js:150 +#: templates/js/translated/label.js:143 msgid "Labels sent to printer" msgstr "" @@ -12400,7 +12687,7 @@ msgstr "" #: templates/js/translated/news.js:38 #: templates/js/translated/notification.js:46 -#: templates/js/translated/part.js:1605 +#: templates/js/translated/part.js:1608 msgid "ID" msgstr "" @@ -12481,343 +12768,343 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:333 templates/js/translated/stock.js:175 +#: templates/js/translated/part.js:332 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:353 +#: templates/js/translated/part.js:352 msgid "Create Part Category" msgstr "" -#: templates/js/translated/part.js:356 +#: templates/js/translated/part.js:355 msgid "Create new category after this one" msgstr "" -#: templates/js/translated/part.js:357 +#: templates/js/translated/part.js:356 msgid "Part category created" msgstr "" -#: templates/js/translated/part.js:371 +#: templates/js/translated/part.js:370 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:384 +#: templates/js/translated/part.js:383 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:389 +#: templates/js/translated/part.js:388 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:398 +#: templates/js/translated/part.js:397 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:402 +#: templates/js/translated/part.js:401 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:407 +#: templates/js/translated/part.js:406 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:431 +#: templates/js/translated/part.js:430 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:433 +#: templates/js/translated/part.js:432 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:434 +#: templates/js/translated/part.js:433 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:462 +#: templates/js/translated/part.js:461 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:464 +#: templates/js/translated/part.js:463 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:475 +#: templates/js/translated/part.js:474 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:532 +#: templates/js/translated/part.js:531 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:533 +#: templates/js/translated/part.js:532 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:547 +#: templates/js/translated/part.js:546 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:549 +#: templates/js/translated/part.js:548 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:550 +#: templates/js/translated/part.js:549 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:551 +#: templates/js/translated/part.js:550 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:558 +#: templates/js/translated/part.js:557 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:594 +#: templates/js/translated/part.js:593 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:596 +#: templates/js/translated/part.js:595 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:601 +#: templates/js/translated/part.js:600 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:603 +#: templates/js/translated/part.js:602 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:620 +#: templates/js/translated/part.js:619 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:630 +#: templates/js/translated/part.js:629 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:633 +#: templates/js/translated/part.js:632 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:658 +#: templates/js/translated/part.js:657 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:686 -#: templates/js/translated/table_filters.js:747 +#: templates/js/translated/part.js:685 +#: templates/js/translated/table_filters.js:752 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:689 +#: templates/js/translated/part.js:688 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:749 +#: templates/js/translated/part.js:748 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:772 +#: templates/js/translated/part.js:771 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:795 templates/js/translated/part.js:1207 +#: templates/js/translated/part.js:794 templates/js/translated/part.js:1210 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:807 +#: templates/js/translated/part.js:806 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:811 +#: templates/js/translated/part.js:810 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:890 +#: templates/js/translated/part.js:893 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:890 +#: templates/js/translated/part.js:893 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:898 +#: templates/js/translated/part.js:901 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:902 +#: templates/js/translated/part.js:905 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:1051 +#: templates/js/translated/part.js:1054 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1109 templates/js/translated/part.js:1145 +#: templates/js/translated/part.js:1112 templates/js/translated/part.js:1148 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1113 templates/js/translated/part.js:1155 +#: templates/js/translated/part.js:1116 templates/js/translated/part.js:1158 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1282 +#: templates/js/translated/part.js:1285 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1600 +#: templates/js/translated/part.js:1603 msgid "No part parameter templates found" msgstr "" -#: templates/js/translated/part.js:1663 +#: templates/js/translated/part.js:1666 msgid "Edit Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1675 +#: templates/js/translated/part.js:1678 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/js/translated/part.js:1683 +#: templates/js/translated/part.js:1686 msgid "Delete Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1717 +#: templates/js/translated/part.js:1720 #: templates/js/translated/purchase_order.js:1654 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/part.js:1861 +#: templates/js/translated/part.js:1864 #: 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:1907 +#: templates/js/translated/part.js:1910 #: templates/js/translated/purchase_order.js:2220 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1970 +#: templates/js/translated/part.js:1973 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1992 +#: templates/js/translated/part.js:1995 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2080 templates/js/translated/part.js:2506 +#: templates/js/translated/part.js:2083 templates/js/translated/part.js:2509 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:2201 +#: templates/js/translated/part.js:2204 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2206 +#: templates/js/translated/part.js:2209 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2236 +#: templates/js/translated/part.js:2239 msgid "Set category" msgstr "" -#: templates/js/translated/part.js:2287 +#: templates/js/translated/part.js:2290 msgid "part" msgstr "" -#: templates/js/translated/part.js:2288 +#: templates/js/translated/part.js:2291 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2384 +#: templates/js/translated/part.js:2387 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 +#: templates/js/translated/part.js:2534 templates/js/translated/part.js:2664 #: templates/js/translated/stock.js:2669 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2547 +#: templates/js/translated/part.js:2550 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2645 +#: templates/js/translated/part.js:2648 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2689 +#: templates/js/translated/part.js:2684 templates/js/translated/stock.js:2689 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2761 +#: templates/js/translated/part.js:2764 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2777 +#: templates/js/translated/part.js:2780 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2865 +#: templates/js/translated/part.js:2868 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2887 templates/js/translated/search.js:342 +#: templates/js/translated/part.js:2890 templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/part.js:2937 templates/js/translated/stock.js:1456 +#: templates/js/translated/part.js:2940 templates/js/translated/stock.js:1456 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2938 templates/js/translated/stock.js:1457 +#: templates/js/translated/part.js:2941 templates/js/translated/stock.js:1457 #: templates/js/translated/stock.js:1731 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2942 +#: templates/js/translated/part.js:2945 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2958 +#: templates/js/translated/part.js:2961 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2972 +#: templates/js/translated/part.js:2975 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3051 templates/js/translated/part.js:3052 +#: templates/js/translated/part.js:3054 templates/js/translated/part.js:3055 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3054 +#: templates/js/translated/part.js:3057 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3060 +#: templates/js/translated/part.js:3063 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3110 +#: templates/js/translated/part.js:3113 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3116 +#: templates/js/translated/part.js:3119 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3212 +#: templates/js/translated/part.js:3215 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3228 +#: templates/js/translated/part.js:3231 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3273 +#: templates/js/translated/part.js:3276 msgid "Minimum Stock Level" msgstr "" @@ -13593,7 +13880,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1042 users/models.py:392 +#: templates/js/translated/stock.js:1042 users/models.py:396 msgid "Add" msgstr "" @@ -13947,7 +14234,7 @@ msgid "Include subcategories" msgstr "" #: templates/js/translated/table_filters.js:287 -#: templates/js/translated/table_filters.js:759 +#: templates/js/translated/table_filters.js:764 msgid "Subscribed" msgstr "" @@ -14102,40 +14389,44 @@ msgstr "" msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:725 +#: templates/js/translated/table_filters.js:722 +msgid "Show locked parts" +msgstr "" + +#: templates/js/translated/table_filters.js:730 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:733 -#: templates/js/translated/table_filters.js:833 +#: templates/js/translated/table_filters.js:738 +#: templates/js/translated/table_filters.js:838 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:734 +#: templates/js/translated/table_filters.js:739 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:738 +#: templates/js/translated/table_filters.js:743 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:739 +#: templates/js/translated/table_filters.js:744 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:743 +#: templates/js/translated/table_filters.js:748 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:751 +#: templates/js/translated/table_filters.js:756 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:763 +#: templates/js/translated/table_filters.js:768 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:829 +#: templates/js/translated/table_filters.js:834 msgid "Has Choices" msgstr "" @@ -14207,10 +14498,6 @@ msgstr "" msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:558 -msgid "Columns" -msgstr "" - #: templates/js/translated/tables.js:561 msgid "All" msgstr "" @@ -14484,35 +14771,34 @@ msgstr "" msgid "Revoked" msgstr "" -#: users/models.py:375 +#: users/models.py:379 msgid "Permission set" msgstr "" -#: users/models.py:384 +#: users/models.py:388 msgid "Group" msgstr "" -#: users/models.py:388 +#: users/models.py:392 msgid "View" msgstr "" -#: users/models.py:388 +#: users/models.py:392 msgid "Permission to view items" msgstr "" -#: users/models.py:392 +#: users/models.py:396 msgid "Permission to add items" msgstr "" -#: users/models.py:396 +#: users/models.py:400 msgid "Change" msgstr "" -#: users/models.py:398 +#: users/models.py:402 msgid "Permissions to edit items" msgstr "" -#: users/models.py:404 +#: users/models.py:408 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 175f09290828..87554de26636 100644 --- a/src/backend/InvenTree/locale/sl/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/sl/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-07-05 02:47+0000\n" +"POT-Creation-Date: 2024-07-08 14:46+0000\n" "PO-Revision-Date: 2024-07-05 14:58\n" "Last-Translator: \n" "Language-Team: Slovenian\n" @@ -21,7 +21,7 @@ msgstr "" msgid "API endpoint not found" msgstr "API vmesnik ni najden" -#: InvenTree/api.py:520 +#: InvenTree/api.py:505 msgid "User does not have permission to view this model" msgstr "Uporabnik nima dovoljenja pogleda tega modela" @@ -56,21 +56,21 @@ msgstr "Podrobnosti napake so vidne v pogledu administratorja" msgid "Enter date" msgstr "Vnesi datum" -#: InvenTree/fields.py:205 InvenTree/models.py:918 build/serializers.py:452 -#: build/serializers.py:530 build/templates/build/sidebar.html:21 -#: company/models.py:817 company/templates/company/sidebar.html:37 +#: InvenTree/fields.py:205 InvenTree/models.py:921 build/serializers.py:456 +#: build/serializers.py:534 build/templates/build/sidebar.html:21 +#: company/models.py:824 company/templates/company/sidebar.html:37 #: order/models.py:1296 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:3183 part/templates/part/part_sidebar.html:63 +#: part/models.py:3193 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:230 stock/models.py:2344 stock/models.py:2466 -#: stock/serializers.py:632 stock/serializers.py:790 stock/serializers.py:886 -#: stock/serializers.py:936 stock/serializers.py:1239 stock/serializers.py:1328 -#: stock/serializers.py:1493 stock/templates/stock/stock_sidebar.html:25 +#: stock/admin.py:230 stock/models.py:2349 stock/models.py:2476 +#: stock/serializers.py:690 stock/serializers.py:848 stock/serializers.py:944 +#: stock/serializers.py:994 stock/serializers.py:1305 stock/serializers.py:1394 +#: stock/serializers.py:1559 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:1081 +#: templates/js/translated/part.js:1084 #: templates/js/translated/purchase_order.js:2200 #: templates/js/translated/return_order.js:775 #: templates/js/translated/sales_order.js:1103 @@ -371,41 +371,41 @@ msgstr "Metapodatki vtičnika" msgid "JSON metadata field, for use by external plugins" msgstr "Polje metapodatkov JSON za uporabo pri zunanjih vtičnikih" -#: InvenTree/models.py:408 +#: InvenTree/models.py:411 msgid "Improperly formatted pattern" msgstr "Nepravilno nastavljen vzorec" -#: InvenTree/models.py:415 +#: InvenTree/models.py:418 msgid "Unknown format key specified" msgstr "Nastavljen neprepoznan ključ formata" -#: InvenTree/models.py:421 +#: InvenTree/models.py:424 msgid "Missing required format key" msgstr "Manjka obvezen ključ formata" -#: InvenTree/models.py:432 +#: InvenTree/models.py:435 msgid "Reference field cannot be empty" msgstr "Referenčno polje ne sme biti prazno" -#: InvenTree/models.py:440 +#: InvenTree/models.py:443 msgid "Reference must match required pattern" msgstr "Referenca se mora ujemati s vzorcem" -#: InvenTree/models.py:471 +#: InvenTree/models.py:474 msgid "Reference number is too large" msgstr "Referenčna številka prevelika" -#: InvenTree/models.py:719 +#: InvenTree/models.py:722 msgid "Duplicate names cannot exist under the same parent" msgstr "Podvojena imena ne morejo obstajati pod istim nadrejenim elementom" -#: InvenTree/models.py:736 +#: InvenTree/models.py:739 msgid "Invalid choice" msgstr "Nedovoljena izbira" -#: InvenTree/models.py:766 common/models.py:2678 common/models.py:3103 -#: common/serializers.py:408 company/models.py:580 machine/models.py:24 -#: part/models.py:891 part/models.py:3639 plugin/models.py:51 +#: InvenTree/models.py:769 common/models.py:2659 common/models.py:3089 +#: common/serializers.py:412 company/models.py:587 machine/models.py:24 +#: part/models.py:895 part/models.py:3660 plugin/models.py:51 #: report/models.py:150 stock/models.py:74 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -417,20 +417,20 @@ msgstr "Nedovoljena izbira" #: templates/js/translated/company.js:724 #: templates/js/translated/company.js:913 #: templates/js/translated/company.js:1165 -#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1187 -#: templates/js/translated/part.js:1475 templates/js/translated/part.js:1611 -#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2716 +#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1190 +#: templates/js/translated/part.js:1478 templates/js/translated/part.js:1614 +#: templates/js/translated/part.js:2752 templates/js/translated/stock.js:2716 msgid "Name" msgstr "Ime" -#: InvenTree/models.py:772 build/models.py:235 -#: build/templates/build/detail.html:24 common/models.py:138 -#: company/models.py:509 company/models.py:808 +#: InvenTree/models.py:775 build/models.py:242 +#: build/templates/build/detail.html:24 common/models.py:143 +#: company/models.py:515 company/models.py:815 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 -#: order/models.py:1329 part/admin.py:305 part/admin.py:408 part/models.py:914 -#: part/models.py:3654 part/templates/part/category.html:82 +#: order/models.py:1329 part/admin.py:305 part/admin.py:408 part/models.py:918 +#: part/models.py:3675 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:156 #: report/models.py:510 report/models.py:536 @@ -444,10 +444,10 @@ msgstr "Ime" #: templates/js/translated/build.js:2139 templates/js/translated/company.js:519 #: templates/js/translated/company.js:1330 #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 -#: templates/js/translated/order.js:298 templates/js/translated/part.js:1239 -#: templates/js/translated/part.js:1484 templates/js/translated/part.js:1622 -#: templates/js/translated/part.js:1959 templates/js/translated/part.js:2355 -#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2897 +#: templates/js/translated/order.js:298 templates/js/translated/part.js:1242 +#: templates/js/translated/part.js:1487 templates/js/translated/part.js:1625 +#: templates/js/translated/part.js:1962 templates/js/translated/part.js:2358 +#: templates/js/translated/part.js:2788 templates/js/translated/part.js:2900 #: templates/js/translated/plugin.js:80 #: templates/js/translated/purchase_order.js:1706 #: templates/js/translated/purchase_order.js:1849 @@ -460,53 +460,53 @@ msgstr "Ime" msgid "Description" msgstr "Opis" -#: InvenTree/models.py:773 stock/models.py:81 +#: InvenTree/models.py:776 stock/models.py:81 msgid "Description (optional)" msgstr "Opis (opcijsko)" -#: InvenTree/models.py:788 templates/js/translated/part.js:2794 +#: InvenTree/models.py:791 templates/js/translated/part.js:2797 #: templates/js/translated/stock.js:2757 msgid "Path" msgstr "Pot" -#: InvenTree/models.py:918 +#: InvenTree/models.py:921 msgid "Markdown notes (optional)" msgstr "Markdown opombe (neobvezno)" -#: InvenTree/models.py:947 +#: InvenTree/models.py:950 msgid "Barcode Data" msgstr "Podatki čtrne kode" -#: InvenTree/models.py:948 +#: InvenTree/models.py:951 msgid "Third party barcode data" msgstr "Podatki črtne kode tretje osebe" -#: InvenTree/models.py:954 +#: InvenTree/models.py:957 msgid "Barcode Hash" msgstr "Oznaka črtne kode" -#: InvenTree/models.py:955 +#: InvenTree/models.py:958 msgid "Unique hash of barcode data" msgstr "Enolična oznaka podatkov črtne kode" -#: InvenTree/models.py:1008 +#: InvenTree/models.py:1011 msgid "Existing barcode found" msgstr "Črtna koda že obstaja" -#: InvenTree/models.py:1051 +#: InvenTree/models.py:1054 msgid "Server Error" msgstr "Napaka strežnika" -#: InvenTree/models.py:1052 +#: InvenTree/models.py:1055 msgid "An error has been logged by the server." msgstr "Zaznana napaka na strežniku." -#: InvenTree/serializers.py:63 part/models.py:4192 +#: InvenTree/serializers.py:63 part/models.py:4277 msgid "Must be a valid number" msgstr "Mora biti veljavna številka" #: InvenTree/serializers.py:100 company/models.py:186 -#: company/templates/company/company_base.html:112 part/models.py:3001 +#: company/templates/company/company_base.html:112 part/models.py:3011 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -556,16 +556,16 @@ msgstr "" msgid "Is this user a superuser" msgstr "" -#: InvenTree/serializers.py:445 common/models.py:2683 company/models.py:163 -#: company/models.py:782 machine/models.py:39 part/admin.py:88 -#: part/models.py:1081 plugin/models.py:66 +#: InvenTree/serializers.py:445 common/models.py:2664 company/models.py:163 +#: company/models.py:789 machine/models.py:39 part/admin.py:88 +#: part/models.py:1085 plugin/models.py:66 #: 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 #: templates/js/translated/table_filters.js:520 #: templates/js/translated/table_filters.js:716 -#: templates/js/translated/table_filters.js:796 users/models.py:182 +#: templates/js/translated/table_filters.js:801 users/models.py:182 msgid "Active" msgstr "" @@ -597,7 +597,7 @@ msgstr "Dobrodošli v InvenTree" msgid "Invalid value" msgstr "Neveljavna vrednost" -#: InvenTree/serializers.py:581 +#: InvenTree/serializers.py:581 importer/models.py:60 msgid "Data File" msgstr "Podatki datoteke" @@ -651,7 +651,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:1174 +#: InvenTree/status.py:66 part/serializers.py:1202 msgid "Background worker check failed" msgstr "Nadzor dela v ozadju neuspel" @@ -711,47 +711,48 @@ msgstr "Sistemske informacije" msgid "About InvenTree" msgstr "O InvenTree" -#: build/api.py:255 +#: build/api.py:248 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:4070 templates/js/translated/bom.js:997 -#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 +#: build/api.py:292 build/serializers.py:1190 part/models.py:4155 +#: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 +#: templates/js/translated/build.js:2521 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:300 part/models.py:4064 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 +#: build/api.py:293 build/serializers.py:1191 part/models.py:4149 +#: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 +#: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2530 #: templates/js/translated/table_filters.js:186 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:587 msgid "Optional" msgstr "" -#: build/api.py:301 templates/js/translated/table_filters.js:408 +#: build/api.py:294 templates/js/translated/table_filters.js:408 #: templates/js/translated/table_filters.js:579 msgid "Tracked" msgstr "" -#: build/api.py:303 part/admin.py:144 templates/js/translated/build.js:1744 -#: templates/js/translated/build.js:2629 +#: build/api.py:296 part/admin.py:144 templates/js/translated/build.js:1744 +#: templates/js/translated/build.js:2630 #: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:571 msgid "Allocated" msgstr "" -#: build/api.py:311 company/models.py:872 company/serializers.py:359 +#: build/api.py:304 company/models.py:879 company/serializers.py:386 #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2561 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2562 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:234 -#: templates/js/translated/part.js:693 templates/js/translated/part.js:695 -#: templates/js/translated/part.js:700 +#: 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 #: templates/js/translated/table_filters.js:575 msgid "Available" @@ -760,7 +761,7 @@ msgstr "" #: build/models.py:85 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 -#: stock/serializers.py:82 templates/email/build_order_completed.html:16 +#: stock/serializers.py:84 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:2892 msgid "Build Order" @@ -781,35 +782,39 @@ msgstr "Nalogi izgradnje" msgid "Assembly BOM has not been validated" msgstr "" -#: build/models.py:134 part/templates/part/part_base.html:145 -msgid "Part is not active" +#: build/models.py:134 +msgid "Build order cannot be created for an inactive part" +msgstr "" + +#: build/models.py:141 +msgid "Build order cannot be created for an unlocked part" msgstr "" -#: build/models.py:148 +#: build/models.py:155 msgid "Invalid choice for parent build" msgstr "Neveljavna izbira za nadrejeno izgradnjo" -#: build/models.py:159 order/models.py:240 +#: build/models.py:166 order/models.py:240 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:165 +#: build/models.py:172 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:226 +#: build/models.py:233 msgid "Build Order Reference" msgstr "Referenca naloga izgradnje" -#: build/models.py:227 order/models.py:463 order/models.py:926 -#: order/models.py:1289 order/models.py:2020 part/admin.py:411 -#: part/models.py:4085 part/templates/part/upload_bom.html:54 +#: build/models.py:234 build/serializers.py:1189 order/models.py:463 +#: order/models.py:926 order/models.py:1289 order/models.py:2046 +#: part/admin.py:411 part/models.py:4170 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: 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/build.js:2513 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2065 #: templates/js/translated/return_order.js:728 @@ -817,27 +822,28 @@ msgstr "Referenca naloga izgradnje" msgid "Reference" msgstr "Referenca" -#: build/models.py:238 +#: build/models.py:245 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:246 build/templates/build/build_base.html:183 +#: build/models.py:253 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Nadrejena izgradnja" -#: build/models.py:247 +#: build/models.py:254 msgid "BuildOrder to which this build is allocated" msgstr "Nalog izgradnje na katerega se ta izgradnaj nanaša" -#: build/models.py:252 build/templates/build/build_base.html:97 -#: build/templates/build/detail.html:29 company/models.py:1026 order/api.py:805 -#: order/models.py:1414 order/models.py:1559 order/models.py:1560 -#: part/api.py:1494 part/api.py:1788 part/models.py:395 part/models.py:3012 -#: part/models.py:3156 part/models.py:3303 part/models.py:3324 -#: part/models.py:3346 part/models.py:3477 part/models.py:3787 -#: part/models.py:3943 part/models.py:4036 part/models.py:4395 -#: part/serializers.py:1120 part/serializers.py:1726 +#: build/models.py:259 build/serializers.py:1184 +#: build/templates/build/build_base.html:97 +#: build/templates/build/detail.html:29 company/models.py:1034 order/api.py:759 +#: order/models.py:1419 order/models.py:1574 order/models.py:1575 +#: part/api.py:1480 part/api.py:1776 part/models.py:396 part/models.py:3022 +#: part/models.py:3166 part/models.py:3314 part/models.py:3335 +#: part/models.py:3357 part/models.py:3493 part/models.py:3827 +#: part/models.py:3990 part/models.py:4121 part/models.py:4480 +#: part/serializers.py:1148 part/serializers.py:1758 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -848,8 +854,8 @@ msgstr "Nalog izgradnje na katerega se ta izgradnaj nanaša" #: 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:109 stock/serializers.py:157 stock/serializers.py:423 -#: stock/serializers.py:820 templates/InvenTree/search.html:82 +#: stock/serializers.py:111 stock/serializers.py:159 stock/serializers.py:443 +#: stock/serializers.py:878 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 @@ -862,8 +868,8 @@ msgstr "Nalog izgradnje na katerega se ta izgradnaj nanaša" #: templates/js/translated/company.js:1116 #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 -#: templates/js/translated/part.js:1944 templates/js/translated/part.js:2016 -#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:1947 templates/js/translated/part.js:2019 +#: templates/js/translated/part.js:2327 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:1848 @@ -881,107 +887,107 @@ msgstr "Nalog izgradnje na katerega se ta izgradnaj nanaša" msgid "Part" msgstr "Del" -#: build/models.py:260 +#: build/models.py:267 msgid "Select part to build" msgstr "Izberite del za izgradnjo" -#: build/models.py:265 +#: build/models.py:272 msgid "Sales Order Reference" msgstr "Referenca dobavnica" -#: build/models.py:269 +#: build/models.py:276 msgid "SalesOrder to which this build is allocated" msgstr "Dobavnica na katero se navezuje ta izgradnja" -#: build/models.py:274 build/serializers.py:999 +#: build/models.py:281 build/serializers.py:1003 #: templates/js/translated/build.js:1731 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "Lokacija vira" -#: build/models.py:278 +#: build/models.py:285 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:283 +#: build/models.py:290 msgid "Destination Location" msgstr "Ciljna lokacija" -#: build/models.py:287 +#: build/models.py:294 msgid "Select location where the completed items will be stored" msgstr "Izberite lokacijo, kjer bodo končne postavke shranjene" -#: build/models.py:291 +#: build/models.py:298 msgid "Build Quantity" msgstr "Količina izgradenj" -#: build/models.py:294 +#: build/models.py:301 msgid "Number of stock items to build" msgstr "Število postavk za izgradnjo" -#: build/models.py:298 +#: build/models.py:305 msgid "Completed items" msgstr "Končane postavke" -#: build/models.py:300 +#: build/models.py:307 msgid "Number of stock items which have been completed" msgstr "Število postavk zaloge, ki so bile končane" -#: build/models.py:304 +#: build/models.py:311 msgid "Build Status" msgstr "Status izgradnje" -#: build/models.py:308 +#: build/models.py:315 msgid "Build status code" msgstr "Koda statusa izgradnje" -#: build/models.py:317 build/serializers.py:286 order/serializers.py:580 -#: stock/models.py:839 stock/serializers.py:74 stock/serializers.py:1458 +#: build/models.py:324 build/serializers.py:290 order/serializers.py:629 +#: stock/models.py:839 stock/serializers.py:76 stock/serializers.py:1524 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "Številka serije" -#: build/models.py:321 build/serializers.py:287 +#: build/models.py:328 build/serializers.py:291 msgid "Batch code for this build output" msgstr "Številka serije za to izgradnjo" -#: build/models.py:324 order/models.py:316 order/serializers.py:119 -#: part/models.py:1115 part/templates/part/part_base.html:310 +#: build/models.py:331 order/models.py:316 order/serializers.py:127 +#: part/models.py:1125 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:328 +#: build/models.py:335 msgid "Target completion date" msgstr "Rok dokončanja" -#: build/models.py:329 +#: build/models.py:336 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:332 order/models.py:521 order/models.py:2065 +#: build/models.py:339 order/models.py:521 order/models.py:2091 #: templates/js/translated/build.js:2247 msgid "Completion Date" msgstr "Datom končanja" -#: build/models.py:338 +#: build/models.py:345 msgid "completed by" msgstr "dokončal" -#: build/models.py:346 templates/js/translated/build.js:2207 +#: build/models.py:353 templates/js/translated/build.js:2207 msgid "Issued by" msgstr "Izdal" -#: build/models.py:347 +#: build/models.py:354 msgid "User who issued this build order" msgstr "Uporabnik, ki je izdal nalog za izgradnjo" -#: build/models.py:355 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 common/models.py:147 +#: build/models.py:362 build/templates/build/build_base.html:204 +#: build/templates/build/detail.html:122 common/models.py:152 #: order/models.py:334 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:232 part/models.py:1132 +#: order/templates/order/sales_order_base.html:232 part/models.py:1142 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 @@ -992,11 +998,11 @@ msgstr "Uporabnik, ki je izdal nalog za izgradnjo" msgid "Responsible" msgstr "Odgovoren" -#: build/models.py:356 +#: build/models.py:363 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:361 build/templates/build/detail.html:108 +#: build/models.py:368 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 @@ -1008,21 +1014,22 @@ msgstr "" msgid "External Link" msgstr "Zunanja povezava" -#: build/models.py:362 common/models.py:3244 part/models.py:956 +#: build/models.py:369 common/models.py:3230 part/models.py:960 #: stock/models.py:835 msgid "Link to external URL" msgstr "Zunanja povezava" -#: build/models.py:366 +#: build/models.py:373 msgid "Build Priority" msgstr "" -#: build/models.py:369 +#: build/models.py:376 msgid "Priority of this build order" msgstr "" -#: build/models.py:376 common/models.py:131 order/admin.py:18 -#: order/models.py:298 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:383 common/models.py:122 common/models.py:136 +#: order/admin.py:18 order/models.py:298 order/serializers.py:108 +#: templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 #: templates/js/translated/purchase_order.js:1710 #: templates/js/translated/return_order.js:317 @@ -1032,65 +1039,66 @@ msgstr "" msgid "Project Code" msgstr "" -#: build/models.py:377 +#: build/models.py:384 msgid "Project code for this build order" msgstr "" -#: build/models.py:610 build/models.py:675 +#: build/models.py:617 build/models.py:682 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:632 +#: build/models.py:639 #, python-brace-format msgid "Build order {build} has been completed" msgstr "Nalog izgradnje {build} je dokončan" -#: build/models.py:638 +#: build/models.py:645 msgid "A build order has been completed" msgstr "Nalog izgradnej dokončan" -#: build/models.py:864 build/models.py:949 +#: build/models.py:871 build/models.py:956 msgid "No build output specified" msgstr "Ni določena izgradnja" -#: build/models.py:867 +#: build/models.py:874 msgid "Build output is already completed" msgstr "Igradnja je že dokončana" -#: build/models.py:870 +#: build/models.py:877 msgid "Build output does not match Build Order" msgstr "Izgradnja se ne ujema s nalogom izdelave" -#: build/models.py:953 build/serializers.py:219 build/serializers.py:268 -#: build/serializers.py:866 order/models.py:559 order/serializers.py:432 -#: order/serializers.py:575 part/serializers.py:1484 part/serializers.py:1884 -#: stock/models.py:678 stock/models.py:1496 stock/serializers.py:603 +#: build/models.py:960 build/serializers.py:223 build/serializers.py:272 +#: build/serializers.py:870 order/models.py:559 order/serializers.py:461 +#: order/serializers.py:624 part/serializers.py:1515 part/serializers.py:1921 +#: stock/models.py:678 stock/models.py:1496 stock/serializers.py:661 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:958 build/serializers.py:224 +#: build/models.py:965 build/serializers.py:228 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1018 build/serializers.py:547 +#: build/models.py:1025 build/serializers.py:551 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1359 +#: build/models.py:1366 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1384 +#: build/models.py:1391 msgid "Build object" msgstr "" -#: build/models.py:1398 build/models.py:1654 build/serializers.py:206 -#: build/serializers.py:253 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2563 -#: order/models.py:1272 order/models.py:1931 order/serializers.py:1327 +#: build/models.py:1405 build/models.py:1661 build/serializers.py:210 +#: build/serializers.py:257 build/serializers.py:1194 +#: build/templates/build/build_base.html:102 +#: build/templates/build/detail.html:34 common/models.py:2544 +#: order/models.py:1272 order/models.py:1957 order/serializers.py:1383 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:410 -#: part/forms.py:48 part/models.py:3170 part/models.py:4058 +#: part/forms.py:48 part/models.py:3180 part/models.py:4143 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1100,7 +1108,7 @@ msgstr "" #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:169 stock/admin.py:159 -#: stock/serializers.py:125 stock/serializers.py:165 stock/serializers.py:594 +#: stock/serializers.py:127 stock/serializers.py:167 stock/serializers.py:652 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 @@ -1111,8 +1119,8 @@ msgstr "" #: templates/js/translated/build.js:1746 templates/js/translated/build.js:2357 #: templates/js/translated/company.js:1818 #: templates/js/translated/model_renderers.js:236 -#: templates/js/translated/order.js:304 templates/js/translated/part.js:962 -#: templates/js/translated/part.js:1812 templates/js/translated/part.js:3342 +#: templates/js/translated/order.js:304 templates/js/translated/part.js:965 +#: templates/js/translated/part.js:1815 templates/js/translated/part.js:3345 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 @@ -1132,38 +1140,38 @@ msgstr "" msgid "Quantity" msgstr "Količina" -#: build/models.py:1399 +#: build/models.py:1406 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1479 +#: build/models.py:1486 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:1488 +#: build/models.py:1495 #, 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:1498 order/models.py:1882 +#: build/models.py:1505 order/models.py:1908 msgid "Stock item is over-allocated" msgstr "Preveč zaloge je prestavljene" -#: build/models.py:1504 order/models.py:1885 +#: build/models.py:1511 order/models.py:1911 msgid "Allocation quantity must be greater than zero" msgstr "Prestavljena količina mora biti večja od 0" -#: build/models.py:1510 +#: build/models.py:1517 msgid "Quantity must be 1 for serialized stock" msgstr "Količina za zalogo s serijsko številko mora biti 1" -#: build/models.py:1569 +#: build/models.py:1576 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1641 build/serializers.py:846 order/serializers.py:1171 -#: order/serializers.py:1192 stock/models.py:359 stock/serializers.py:91 -#: stock/serializers.py:697 stock/serializers.py:1177 stock/serializers.py:1289 +#: build/models.py:1648 build/serializers.py:850 order/serializers.py:1227 +#: order/serializers.py:1248 stock/models.py:359 stock/serializers.py:93 +#: stock/serializers.py:755 stock/serializers.py:1243 stock/serializers.py:1355 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 @@ -1179,70 +1187,76 @@ msgstr "" msgid "Stock Item" msgstr "Postavka zaloge" -#: build/models.py:1642 +#: build/models.py:1649 msgid "Source stock item" msgstr "Izvorna postavka zaloge" -#: build/models.py:1655 +#: build/models.py:1662 msgid "Stock quantity to allocate to build" msgstr "Količina zaloge za prestavljanje za izgradnjo" -#: build/models.py:1663 +#: build/models.py:1670 msgid "Install into" msgstr "Inštaliraj v" -#: build/models.py:1664 +#: build/models.py:1671 msgid "Destination stock item" msgstr "Destinacija postavke zaloge" -#: build/serializers.py:156 build/serializers.py:875 +#: build/serializers.py:89 build/serializers.py:1185 part/admin.py:41 +#: part/admin.py:405 part/models.py:3992 part/stocktake.py:220 +#: stock/admin.py:156 +msgid "Part Name" +msgstr "" + +#: build/serializers.py:160 build/serializers.py:879 #: templates/js/translated/build.js:1322 msgid "Build Output" msgstr "Izgradnja" -#: build/serializers.py:168 +#: build/serializers.py:172 msgid "Build output does not match the parent build" msgstr "Izgradnja se ne ujema z nadrejeno izgradnjo" -#: build/serializers.py:172 +#: build/serializers.py:176 msgid "Output part does not match BuildOrder part" msgstr "Izhodni del se ne ujema s naročilom sestava" -#: build/serializers.py:176 +#: build/serializers.py:180 msgid "This build output has already been completed" msgstr "Ta sestava je že zaključena" -#: build/serializers.py:187 +#: build/serializers.py:191 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:207 build/serializers.py:254 +#: build/serializers.py:211 build/serializers.py:258 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:275 +#: build/serializers.py:279 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:278 +#: build/serializers.py:282 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:293 order/serializers.py:588 order/serializers.py:1331 -#: stock/serializers.py:614 templates/js/translated/purchase_order.js:1153 +#: build/serializers.py:297 order/serializers.py:637 order/serializers.py:1387 +#: stock/serializers.py:672 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:294 +#: build/serializers.py:298 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:299 build/serializers.py:440 build/serializers.py:512 -#: order/serializers.py:564 order/serializers.py:672 order/serializers.py:1656 -#: part/serializers.py:1140 stock/serializers.py:100 stock/serializers.py:625 -#: stock/serializers.py:785 stock/serializers.py:881 stock/serializers.py:1321 -#: stock/serializers.py:1577 stock/templates/stock/item_base.html:394 +#: build/serializers.py:303 build/serializers.py:444 build/serializers.py:516 +#: order/serializers.py:613 order/serializers.py:721 order/serializers.py:1714 +#: part/serializers.py:1168 stock/serializers.py:102 stock/serializers.py:683 +#: stock/serializers.py:843 stock/serializers.py:939 stock/serializers.py:1387 +#: stock/serializers.py:1643 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 @@ -1258,54 +1272,54 @@ msgstr "" msgid "Location" msgstr "" -#: build/serializers.py:300 +#: build/serializers.py:304 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:314 +#: build/serializers.py:318 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:315 +#: build/serializers.py:319 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:330 +#: build/serializers.py:334 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:355 stock/api.py:1041 +#: build/serializers.py:359 stock/api.py:1033 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:402 build/serializers.py:464 build/serializers.py:553 +#: build/serializers.py:406 build/serializers.py:468 build/serializers.py:557 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:441 +#: build/serializers.py:445 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:447 +#: build/serializers.py:451 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:448 +#: build/serializers.py:452 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:453 +#: build/serializers.py:457 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:513 +#: build/serializers.py:517 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:519 build/templates/build/build_base.html:151 +#: build/serializers.py:523 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:950 -#: order/models.py:2044 order/serializers.py:596 stock/admin.py:164 -#: stock/serializers.py:932 stock/serializers.py:1465 +#: order/models.py:2070 order/serializers.py:645 stock/admin.py:164 +#: stock/serializers.py:990 stock/serializers.py:1531 #: 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 @@ -1317,193 +1331,245 @@ msgstr "" msgid "Status" msgstr "" -#: build/serializers.py:525 +#: build/serializers.py:529 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:526 +#: build/serializers.py:530 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:611 +#: build/serializers.py:615 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:612 +#: build/serializers.py:616 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:618 +#: build/serializers.py:622 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:619 +#: build/serializers.py:623 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:646 +#: build/serializers.py:650 msgid "Not permitted" msgstr "" -#: build/serializers.py:647 +#: build/serializers.py:651 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:648 +#: build/serializers.py:652 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:678 +#: build/serializers.py:682 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:680 +#: build/serializers.py:684 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:690 +#: build/serializers.py:694 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:695 +#: build/serializers.py:699 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:696 +#: build/serializers.py:700 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:706 templates/js/translated/build.js:315 +#: build/serializers.py:710 templates/js/translated/build.js:315 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:711 order/serializers.py:300 order/serializers.py:1234 +#: build/serializers.py:715 order/serializers.py:319 order/serializers.py:1290 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:712 +#: build/serializers.py:716 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:722 templates/js/translated/build.js:319 +#: build/serializers.py:726 templates/js/translated/build.js:319 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:731 templates/js/translated/build.js:303 +#: build/serializers.py:735 templates/js/translated/build.js:303 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:769 +#: build/serializers.py:773 msgid "Build Line" msgstr "" -#: build/serializers.py:779 +#: build/serializers.py:783 msgid "Build output" msgstr "" -#: build/serializers.py:787 +#: build/serializers.py:791 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:823 +#: build/serializers.py:827 msgid "Build Line Item" msgstr "" -#: build/serializers.py:837 +#: build/serializers.py:841 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:852 stock/serializers.py:1190 +#: build/serializers.py:856 stock/serializers.py:1256 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:900 order/serializers.py:1225 +#: build/serializers.py:904 order/serializers.py:1281 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:906 +#: build/serializers.py:910 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:913 +#: build/serializers.py:917 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:937 order/serializers.py:1477 +#: build/serializers.py:941 order/serializers.py:1533 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:1000 +#: build/serializers.py:1004 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:1008 +#: build/serializers.py:1012 msgid "Exclude Location" msgstr "" -#: build/serializers.py:1009 +#: build/serializers.py:1013 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:1014 +#: build/serializers.py:1018 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:1015 +#: build/serializers.py:1019 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:1020 +#: build/serializers.py:1024 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:1021 +#: build/serializers.py:1025 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:1026 +#: build/serializers.py:1030 msgid "Optional Items" msgstr "" -#: build/serializers.py:1027 +#: build/serializers.py:1031 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1049 +#: build/serializers.py:1053 msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1139 part/models.py:3953 part/models.py:4387 -#: stock/api.py:804 +#: build/serializers.py:1095 +msgid "Supplier Part Number" +msgstr "" + +#: build/serializers.py:1096 company/models.py:500 +msgid "Manufacturer Part Number" +msgstr "" + +#: build/serializers.py:1097 stock/admin.py:53 stock/admin.py:175 +#: stock/serializers.py:454 +msgid "Location Name" +msgstr "" + +#: build/serializers.py:1098 +#, fuzzy +#| msgid "Build Order Reference" +msgid "Build Reference" +msgstr "Referenca naloga izgradnje" + +#: build/serializers.py:1099 +#, fuzzy +#| msgid "Reference" +msgid "BOM Reference" +msgstr "Referenca" + +#: build/serializers.py:1186 part/admin.py:402 part/models.py:3993 +msgid "Part IPN" +msgstr "" + +#: build/serializers.py:1192 common/models.py:1488 part/admin.py:113 +#: part/models.py:1068 templates/js/translated/table_filters.js:147 +#: templates/js/translated/table_filters.js:223 +#: templates/js/translated/table_filters.js:776 +msgid "Trackable" +msgstr "" + +#: build/serializers.py:1196 part/models.py:4000 part/models.py:4472 +#: stock/api.py:796 msgid "BOM Item" msgstr "" -#: build/serializers.py:1148 templates/js/translated/index.js:130 +#: build/serializers.py:1205 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1153 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:828 part/serializers.py:1502 +#: build/serializers.py:1210 part/admin.py:132 part/bom.py:173 +#: part/serializers.py:856 part/serializers.py:1533 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2613 templates/js/translated/part.js:710 -#: templates/js/translated/part.js:2149 +#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709 +#: templates/js/translated/part.js:2152 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "" -#: build/serializers.py:1158 part/serializers.py:1504 -#: templates/js/translated/build.js:2617 +#: build/serializers.py:1215 part/serializers.py:1535 +#: templates/js/translated/build.js:2618 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1163 part/bom.py:172 part/serializers.py:1527 +#: build/serializers.py:1220 part/bom.py:172 part/serializers.py:1558 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" msgstr "" +#: build/serializers.py:1224 +msgid "Available Substitute Stock" +msgstr "" + +#: build/serializers.py:1225 +msgid "Available Variant Stock" +msgstr "" + +#: build/serializers.py:1226 +msgid "Total Available Stock" +msgstr "" + +#: build/serializers.py:1227 part/serializers.py:862 +msgid "External Stock" +msgstr "" + #: build/status_codes.py:11 generic/states/tests.py:17 order/status_codes.py:12 #: order/status_codes.py:37 order/status_codes.py:64 order/status_codes.py:82 #: templates/js/translated/table_filters.js:598 @@ -1519,7 +1585,8 @@ msgstr "Proizvodnja" msgid "Cancelled" msgstr "Preklicano" -#: build/status_codes.py:14 generic/states/tests.py:19 order/status_codes.py:14 +#: build/status_codes.py:14 generic/states/tests.py:19 importer/models.py:468 +#: importer/status_codes.py:19 order/status_codes.py:14 #: order/status_codes.py:44 order/status_codes.py:69 #: order/templates/order/order_base.html:158 #: order/templates/order/sales_order_base.html:165 report/models.py:444 @@ -1652,11 +1719,12 @@ msgstr "" #: build/templates/build/build_base.html:160 #: build/templates/build/detail.html:138 order/models.py:309 -#: order/models.py:1307 order/templates/order/order_base.html:186 +#: order/models.py:1307 order/serializers.py:174 +#: order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: 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:1831 +#: templates/js/translated/build.js:2239 templates/js/translated/part.js:1834 #: templates/js/translated/purchase_order.js:1739 #: templates/js/translated/purchase_order.js:2147 #: templates/js/translated/return_order.js:346 @@ -1689,8 +1757,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1463 order/models.py:845 -#: order/models.py:1551 order/models.py:1665 order/models.py:1819 +#: build/templates/build/detail.html:101 order/api.py:1384 order/models.py:845 +#: order/models.py:1566 order/models.py:1681 order/models.py:1840 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 @@ -1740,7 +1808,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1443 +#: build/templates/build/detail.html:49 order/models.py:1448 #: templates/js/translated/purchase_order.js:2189 msgid "Destination" msgstr "" @@ -1892,31 +1960,31 @@ msgstr "" msgid "Incomplete Outputs" msgstr "" -#: common/api.py:689 +#: common/api.py:690 msgid "Is Link" msgstr "" -#: common/api.py:697 +#: common/api.py:698 msgid "Is File" msgstr "" -#: common/api.py:739 +#: common/api.py:740 msgid "User does not have permission to delete this attachment" msgstr "" -#: common/currency.py:130 +#: common/currency.py:132 msgid "Invalid currency code" msgstr "" -#: common/currency.py:132 +#: common/currency.py:134 msgid "Duplicate currency code" msgstr "" -#: common/currency.py:137 +#: common/currency.py:139 msgid "No valid currency codes provided" msgstr "" -#: common/currency.py:154 +#: common/currency.py:156 msgid "No plugin" msgstr "" @@ -1970,1635 +2038,1604 @@ msgstr "" msgid "Site URL is locked by configuration" msgstr "" -#: common/models.py:132 +#: common/models.py:137 msgid "Unique project code" msgstr "" -#: common/models.py:139 +#: common/models.py:144 msgid "Project description" msgstr "" -#: common/models.py:148 +#: common/models.py:153 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:765 +#: common/models.py:770 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:769 +#: common/models.py:774 msgid "Settings value" msgstr "" -#: common/models.py:821 +#: common/models.py:826 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:837 +#: common/models.py:842 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:845 +#: common/models.py:850 msgid "Value must be an integer value" msgstr "" -#: common/models.py:882 +#: common/models.py:887 msgid "Key string must be unique" msgstr "" -#: common/models.py:1114 +#: common/models.py:1119 msgid "No group" msgstr "" -#: common/models.py:1213 +#: common/models.py:1218 msgid "Restart required" msgstr "" -#: common/models.py:1215 +#: common/models.py:1220 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:1222 +#: common/models.py:1227 msgid "Pending migrations" msgstr "" -#: common/models.py:1223 +#: common/models.py:1228 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1228 +#: common/models.py:1233 msgid "Server Instance Name" msgstr "" -#: common/models.py:1230 +#: common/models.py:1235 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1234 +#: common/models.py:1239 msgid "Use instance name" msgstr "" -#: common/models.py:1235 +#: common/models.py:1240 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1240 +#: common/models.py:1245 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1241 +#: common/models.py:1246 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1246 company/models.py:111 company/models.py:112 +#: common/models.py:1251 company/models.py:111 company/models.py:112 msgid "Company name" msgstr "" -#: common/models.py:1247 +#: common/models.py:1252 msgid "Internal company name" msgstr "" -#: common/models.py:1251 +#: common/models.py:1256 msgid "Base URL" msgstr "" -#: common/models.py:1252 +#: common/models.py:1257 msgid "Base URL for server instance" msgstr "" -#: common/models.py:1258 +#: common/models.py:1263 msgid "Default Currency" msgstr "" -#: common/models.py:1259 +#: common/models.py:1264 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1265 +#: common/models.py:1270 msgid "Supported Currencies" msgstr "" -#: common/models.py:1266 +#: common/models.py:1271 msgid "List of supported currency codes" msgstr "" -#: common/models.py:1272 +#: common/models.py:1277 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1274 +#: common/models.py:1279 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1277 common/models.py:1333 common/models.py:1346 -#: common/models.py:1354 common/models.py:1363 common/models.py:1372 -#: common/models.py:1596 common/models.py:1618 common/models.py:1733 -#: common/models.py:2100 +#: common/models.py:1282 common/models.py:1338 common/models.py:1351 +#: common/models.py:1359 common/models.py:1368 common/models.py:1377 +#: common/models.py:1601 common/models.py:1623 common/models.py:1738 +#: common/models.py:2111 msgid "days" msgstr "" -#: common/models.py:1281 +#: common/models.py:1286 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1282 +#: common/models.py:1287 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1287 +#: common/models.py:1292 msgid "Download from URL" msgstr "" -#: common/models.py:1289 +#: common/models.py:1294 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:1295 +#: common/models.py:1300 msgid "Download Size Limit" msgstr "" -#: common/models.py:1296 +#: common/models.py:1301 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1302 +#: common/models.py:1307 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1304 +#: common/models.py:1309 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/models.py:1309 +#: common/models.py:1314 msgid "Strict URL Validation" msgstr "" -#: common/models.py:1310 +#: common/models.py:1315 msgid "Require schema specification when validating URLs" msgstr "" -#: common/models.py:1315 +#: common/models.py:1320 msgid "Require confirm" msgstr "" -#: common/models.py:1316 +#: common/models.py:1321 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:1321 +#: common/models.py:1326 msgid "Tree Depth" msgstr "" -#: common/models.py:1323 +#: common/models.py:1328 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1329 +#: common/models.py:1334 msgid "Update Check Interval" msgstr "" -#: common/models.py:1330 +#: common/models.py:1335 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:1336 +#: common/models.py:1341 msgid "Automatic Backup" msgstr "" -#: common/models.py:1337 +#: common/models.py:1342 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:1342 +#: common/models.py:1347 msgid "Auto Backup Interval" msgstr "" -#: common/models.py:1343 +#: common/models.py:1348 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1349 +#: common/models.py:1354 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1351 +#: common/models.py:1356 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1358 +#: common/models.py:1363 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1360 +#: common/models.py:1365 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1367 +#: common/models.py:1372 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1369 +#: common/models.py:1374 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1376 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1381 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "" -#: common/models.py:1377 +#: common/models.py:1382 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1382 +#: common/models.py:1387 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1383 +#: common/models.py:1388 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1389 +#: common/models.py:1394 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1390 +#: common/models.py:1395 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1395 +#: common/models.py:1400 msgid "Barcode Show Data" msgstr "" -#: common/models.py:1396 +#: common/models.py:1401 msgid "Display barcode data in browser as text" msgstr "" -#: common/models.py:1401 +#: common/models.py:1406 msgid "Part Revisions" msgstr "" -#: common/models.py:1402 +#: common/models.py:1407 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1407 +#: common/models.py:1412 msgid "Allow Deletion from Assembly" msgstr "" -#: common/models.py:1408 +#: common/models.py:1413 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/models.py:1413 +#: common/models.py:1418 msgid "IPN Regex" msgstr "" -#: common/models.py:1414 +#: common/models.py:1419 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1417 +#: common/models.py:1422 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1418 +#: common/models.py:1423 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1423 +#: common/models.py:1428 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1424 +#: common/models.py:1429 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1429 +#: common/models.py:1434 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1430 +#: common/models.py:1435 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1435 +#: common/models.py:1440 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1436 +#: common/models.py:1441 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1441 +#: common/models.py:1446 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1442 +#: common/models.py:1447 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1447 +#: common/models.py:1452 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1448 +#: common/models.py:1453 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1453 part/admin.py:108 part/models.py:3795 +#: common/models.py:1458 part/admin.py:108 part/models.py:3835 #: report/models.py:294 report/models.py:361 report/serializers.py:90 -#: report/serializers.py:131 stock/serializers.py:227 +#: report/serializers.py:131 stock/serializers.py:232 #: templates/js/translated/table_filters.js:139 -#: templates/js/translated/table_filters.js:767 +#: templates/js/translated/table_filters.js:772 msgid "Template" msgstr "" -#: common/models.py:1454 +#: common/models.py:1459 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1459 part/admin.py:91 part/admin.py:425 part/models.py:1052 +#: common/models.py:1464 part/admin.py:91 part/admin.py:425 part/models.py:1056 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 -#: templates/js/translated/table_filters.js:721 +#: templates/js/translated/table_filters.js:726 msgid "Assembly" msgstr "" -#: common/models.py:1460 +#: common/models.py:1465 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1465 part/admin.py:95 part/models.py:1058 -#: templates/js/translated/table_filters.js:729 +#: common/models.py:1470 part/admin.py:95 part/models.py:1062 +#: templates/js/translated/table_filters.js:734 msgid "Component" msgstr "" -#: common/models.py:1466 +#: common/models.py:1471 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1471 part/admin.py:100 part/models.py:1070 +#: common/models.py:1476 part/admin.py:100 part/models.py:1074 msgid "Purchaseable" msgstr "" -#: common/models.py:1472 +#: common/models.py:1477 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1477 part/admin.py:104 part/models.py:1076 -#: templates/js/translated/table_filters.js:755 +#: common/models.py:1482 part/admin.py:104 part/models.py:1080 +#: templates/js/translated/table_filters.js:760 msgid "Salable" msgstr "" -#: common/models.py:1478 +#: common/models.py:1483 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1483 part/admin.py:113 part/models.py:1064 -#: 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:1484 +#: common/models.py:1489 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1489 part/admin.py:117 part/models.py:1086 +#: common/models.py:1494 part/admin.py:117 part/models.py:1096 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 -#: templates/js/translated/table_filters.js:775 +#: templates/js/translated/table_filters.js:780 msgid "Virtual" msgstr "" -#: common/models.py:1490 +#: common/models.py:1495 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1495 +#: common/models.py:1500 msgid "Show Import in Views" msgstr "" -#: common/models.py:1496 +#: common/models.py:1501 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1501 +#: common/models.py:1506 msgid "Show related parts" msgstr "" -#: common/models.py:1502 +#: common/models.py:1507 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1507 +#: common/models.py:1512 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1508 +#: common/models.py:1513 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1513 templates/js/translated/part.js:107 +#: common/models.py:1518 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1515 +#: common/models.py:1520 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1521 +#: common/models.py:1526 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1522 +#: common/models.py:1527 msgid "Format to display the part name" msgstr "" -#: common/models.py:1528 +#: common/models.py:1533 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1529 +#: common/models.py:1534 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1533 +#: common/models.py:1538 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1535 +#: common/models.py:1540 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1541 +#: common/models.py:1546 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1543 +#: common/models.py:1548 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1554 +#: common/models.py:1559 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1556 +#: common/models.py:1561 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1567 +#: common/models.py:1572 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1569 +#: common/models.py:1574 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1575 +#: common/models.py:1580 msgid "Purchase History Override" msgstr "" -#: common/models.py:1577 +#: common/models.py:1582 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1583 +#: common/models.py:1588 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1585 +#: common/models.py:1590 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1591 +#: common/models.py:1596 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1593 +#: common/models.py:1598 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1600 +#: common/models.py:1605 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1601 +#: common/models.py:1606 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1606 +#: common/models.py:1611 msgid "Active Variants Only" msgstr "" -#: common/models.py:1608 +#: common/models.py:1613 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1614 +#: common/models.py:1619 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1616 +#: common/models.py:1621 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1623 +#: common/models.py:1628 msgid "Internal Prices" msgstr "" -#: common/models.py:1624 +#: common/models.py:1629 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1629 +#: common/models.py:1634 msgid "Internal Price Override" msgstr "" -#: common/models.py:1631 +#: common/models.py:1636 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1637 +#: common/models.py:1642 msgid "Enable label printing" msgstr "" -#: common/models.py:1638 +#: common/models.py:1643 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1643 +#: common/models.py:1648 msgid "Label Image DPI" msgstr "" -#: common/models.py:1645 +#: common/models.py:1650 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1651 +#: common/models.py:1656 msgid "Enable Reports" msgstr "" -#: common/models.py:1652 +#: common/models.py:1657 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1657 templates/stats.html:25 +#: common/models.py:1662 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1658 +#: common/models.py:1663 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1663 +#: common/models.py:1668 msgid "Log Report Errors" msgstr "" -#: common/models.py:1664 +#: common/models.py:1669 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1669 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1674 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:302 msgid "Page Size" msgstr "" -#: common/models.py:1670 +#: common/models.py:1675 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1675 +#: common/models.py:1680 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1676 +#: common/models.py:1681 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1681 +#: common/models.py:1686 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1683 +#: common/models.py:1688 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1689 +#: common/models.py:1694 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1690 +#: common/models.py:1695 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1695 +#: common/models.py:1700 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1696 +#: common/models.py:1701 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1701 +#: common/models.py:1706 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1703 +#: common/models.py:1708 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1709 +#: common/models.py:1714 msgid "Batch Code Template" msgstr "" -#: common/models.py:1711 +#: common/models.py:1716 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1716 +#: common/models.py:1721 msgid "Stock Expiry" msgstr "" -#: common/models.py:1717 +#: common/models.py:1722 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1722 +#: common/models.py:1727 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1723 +#: common/models.py:1728 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1728 +#: common/models.py:1733 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1730 +#: common/models.py:1735 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1737 +#: common/models.py:1742 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1738 +#: common/models.py:1743 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1743 +#: common/models.py:1748 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1744 +#: common/models.py:1749 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1749 +#: common/models.py:1754 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1750 +#: common/models.py:1755 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1754 +#: common/models.py:1759 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1755 +#: common/models.py:1760 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1760 +#: common/models.py:1765 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1762 +#: common/models.py:1767 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1768 +#: common/models.py:1773 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1770 +#: common/models.py:1775 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1776 +#: common/models.py:1781 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1778 +#: common/models.py:1783 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1784 common/models.py:1826 common/models.py:1848 -#: common/models.py:1884 +#: common/models.py:1789 common/models.py:1837 common/models.py:1859 +#: common/models.py:1895 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1785 common/models.py:1827 common/models.py:1849 -#: common/models.py:1885 +#: common/models.py:1790 common/models.py:1838 common/models.py:1860 +#: common/models.py:1896 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1790 +#: common/models.py:1795 msgid "Require Active Part" msgstr "" -#: common/models.py:1791 +#: common/models.py:1796 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/models.py:1796 +#: common/models.py:1801 +msgid "Require Locked Part" +msgstr "" + +#: common/models.py:1802 +msgid "Prevent build order creation for unlocked parts" +msgstr "" + +#: common/models.py:1807 msgid "Require Valid BOM" msgstr "" -#: common/models.py:1798 +#: common/models.py:1809 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/models.py:1804 +#: common/models.py:1815 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1806 +#: common/models.py:1817 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1812 +#: common/models.py:1823 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1813 +#: common/models.py:1824 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1818 +#: common/models.py:1829 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1820 +#: common/models.py:1831 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1832 +#: common/models.py:1843 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1834 +#: common/models.py:1845 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1840 +#: common/models.py:1851 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1842 +#: common/models.py:1853 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1854 +#: common/models.py:1865 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1855 +#: common/models.py:1866 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1860 +#: common/models.py:1871 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1862 +#: common/models.py:1873 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1868 +#: common/models.py:1879 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1870 +#: common/models.py:1881 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1876 +#: common/models.py:1887 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1878 +#: common/models.py:1889 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1890 +#: common/models.py:1901 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1892 +#: common/models.py:1903 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1898 +#: common/models.py:1909 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1900 +#: common/models.py:1911 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1907 +#: common/models.py:1918 msgid "Enable password forgot" msgstr "" -#: common/models.py:1908 +#: common/models.py:1919 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1913 +#: common/models.py:1924 msgid "Enable registration" msgstr "" -#: common/models.py:1914 +#: common/models.py:1925 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1919 +#: common/models.py:1930 msgid "Enable SSO" msgstr "" -#: common/models.py:1920 +#: common/models.py:1931 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1925 +#: common/models.py:1936 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1927 +#: common/models.py:1938 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1933 +#: common/models.py:1944 msgid "Enable SSO group sync" msgstr "" -#: common/models.py:1935 +#: common/models.py:1946 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/models.py:1941 +#: common/models.py:1952 msgid "SSO group key" msgstr "" -#: common/models.py:1943 +#: common/models.py:1954 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/models.py:1949 +#: common/models.py:1960 msgid "SSO group map" msgstr "" -#: common/models.py:1951 +#: common/models.py:1962 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/models.py:1957 +#: common/models.py:1968 msgid "Remove groups outside of SSO" msgstr "" -#: common/models.py:1959 +#: common/models.py:1970 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/models.py:1965 +#: common/models.py:1976 msgid "Email required" msgstr "" -#: common/models.py:1966 +#: common/models.py:1977 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1971 +#: common/models.py:1982 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1973 +#: common/models.py:1984 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1979 +#: common/models.py:1990 msgid "Mail twice" msgstr "" -#: common/models.py:1980 +#: common/models.py:1991 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1985 +#: common/models.py:1996 msgid "Password twice" msgstr "" -#: common/models.py:1986 +#: common/models.py:1997 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1991 +#: common/models.py:2002 msgid "Allowed domains" msgstr "" -#: common/models.py:1993 +#: common/models.py:2004 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1999 +#: common/models.py:2010 msgid "Group on signup" msgstr "" -#: common/models.py:2001 +#: common/models.py:2012 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/models.py:2007 +#: common/models.py:2018 msgid "Enforce MFA" msgstr "" -#: common/models.py:2008 +#: common/models.py:2019 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:2013 +#: common/models.py:2024 msgid "Check plugins on startup" msgstr "" -#: common/models.py:2015 +#: common/models.py:2026 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:2023 +#: common/models.py:2034 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2024 +#: common/models.py:2035 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2030 +#: common/models.py:2041 msgid "Enable URL integration" msgstr "" -#: common/models.py:2031 +#: common/models.py:2042 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:2037 +#: common/models.py:2048 msgid "Enable navigation integration" msgstr "" -#: common/models.py:2038 +#: common/models.py:2049 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2044 +#: common/models.py:2055 msgid "Enable app integration" msgstr "" -#: common/models.py:2045 +#: common/models.py:2056 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2051 +#: common/models.py:2062 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2052 +#: common/models.py:2063 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2058 +#: common/models.py:2069 msgid "Enable event integration" msgstr "" -#: common/models.py:2059 +#: common/models.py:2070 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2065 +#: common/models.py:2076 msgid "Enable project codes" msgstr "" -#: common/models.py:2066 +#: common/models.py:2077 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2071 +#: common/models.py:2082 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2073 +#: common/models.py:2084 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2079 +#: common/models.py:2090 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2081 +#: common/models.py:2092 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2087 +#: common/models.py:2098 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2089 +#: common/models.py:2100 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2095 +#: common/models.py:2106 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2097 +#: common/models.py:2108 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2104 +#: common/models.py:2115 msgid "Display Users full names" msgstr "" -#: common/models.py:2105 +#: common/models.py:2116 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2110 +#: common/models.py:2121 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2111 +#: common/models.py:2122 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2123 common/models.py:2533 +#: common/models.py:2134 common/models.py:2514 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2166 +#: common/models.py:2177 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2168 +#: common/models.py:2179 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2174 +#: common/models.py:2185 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2175 +#: common/models.py:2186 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2180 +#: common/models.py:2191 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2181 +#: common/models.py:2192 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2186 +#: common/models.py:2197 msgid "Show latest parts" msgstr "" -#: common/models.py:2187 +#: common/models.py:2198 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2192 +#: common/models.py:2203 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2193 +#: common/models.py:2204 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2198 +#: common/models.py:2209 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2199 +#: common/models.py:2210 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2204 +#: common/models.py:2215 msgid "Show low stock" msgstr "" -#: common/models.py:2205 +#: common/models.py:2216 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2210 +#: common/models.py:2221 msgid "Show depleted stock" msgstr "" -#: common/models.py:2211 +#: common/models.py:2222 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2216 +#: common/models.py:2227 msgid "Show needed stock" msgstr "" -#: common/models.py:2217 +#: common/models.py:2228 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2222 +#: common/models.py:2233 msgid "Show expired stock" msgstr "" -#: common/models.py:2223 +#: common/models.py:2234 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2228 +#: common/models.py:2239 msgid "Show stale stock" msgstr "" -#: common/models.py:2229 +#: common/models.py:2240 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2234 +#: common/models.py:2245 msgid "Show pending builds" msgstr "" -#: common/models.py:2235 +#: common/models.py:2246 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2240 +#: common/models.py:2251 msgid "Show overdue builds" msgstr "" -#: common/models.py:2241 +#: common/models.py:2252 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2246 +#: common/models.py:2257 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2247 +#: common/models.py:2258 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2252 +#: common/models.py:2263 msgid "Show overdue POs" msgstr "" -#: common/models.py:2253 +#: common/models.py:2264 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2258 +#: common/models.py:2269 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2259 +#: common/models.py:2270 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2264 +#: common/models.py:2275 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2265 +#: common/models.py:2276 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2270 +#: common/models.py:2281 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2271 +#: common/models.py:2282 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2276 +#: common/models.py:2287 msgid "Show News" msgstr "" -#: common/models.py:2277 +#: common/models.py:2288 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2282 +#: common/models.py:2293 msgid "Inline label display" msgstr "" -#: common/models.py:2284 +#: common/models.py:2295 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2290 +#: common/models.py:2301 msgid "Default label printer" msgstr "" -#: common/models.py:2292 +#: common/models.py:2303 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2298 +#: common/models.py:2309 msgid "Inline report display" msgstr "" -#: common/models.py:2300 +#: common/models.py:2311 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2306 +#: common/models.py:2317 msgid "Search Parts" msgstr "" -#: common/models.py:2307 +#: common/models.py:2318 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2312 +#: common/models.py:2323 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2313 +#: common/models.py:2324 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2318 +#: common/models.py:2329 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2319 +#: common/models.py:2330 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2324 +#: common/models.py:2335 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2325 +#: common/models.py:2336 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2330 +#: common/models.py:2341 msgid "Search Categories" msgstr "" -#: common/models.py:2331 +#: common/models.py:2342 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2336 +#: common/models.py:2347 msgid "Search Stock" msgstr "" -#: common/models.py:2337 +#: common/models.py:2348 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2342 +#: common/models.py:2353 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2344 +#: common/models.py:2355 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2350 +#: common/models.py:2361 msgid "Search Locations" msgstr "" -#: common/models.py:2351 +#: common/models.py:2362 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2356 +#: common/models.py:2367 msgid "Search Companies" msgstr "" -#: common/models.py:2357 +#: common/models.py:2368 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2362 +#: common/models.py:2373 msgid "Search Build Orders" msgstr "" -#: common/models.py:2363 +#: common/models.py:2374 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2368 +#: common/models.py:2379 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2369 +#: common/models.py:2380 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2374 +#: common/models.py:2385 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2376 +#: common/models.py:2387 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2382 +#: common/models.py:2393 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2383 +#: common/models.py:2394 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2388 +#: common/models.py:2399 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2390 +#: common/models.py:2401 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2396 +#: common/models.py:2407 msgid "Search Return Orders" msgstr "" -#: common/models.py:2397 +#: common/models.py:2408 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2402 +#: common/models.py:2413 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2404 +#: common/models.py:2415 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2410 +#: common/models.py:2421 msgid "Search Preview Results" msgstr "" -#: common/models.py:2412 +#: common/models.py:2423 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2418 +#: common/models.py:2429 msgid "Regex Search" msgstr "" -#: common/models.py:2419 +#: common/models.py:2430 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2424 +#: common/models.py:2435 msgid "Whole Word Search" msgstr "" -#: common/models.py:2425 +#: common/models.py:2436 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2430 +#: common/models.py:2441 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2431 +#: common/models.py:2442 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2436 +#: common/models.py:2447 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2437 +#: common/models.py:2448 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2442 +#: common/models.py:2453 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2443 +#: common/models.py:2454 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2448 +#: common/models.py:2459 msgid "Date Format" msgstr "" -#: common/models.py:2449 +#: common/models.py:2460 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2462 part/templates/part/detail.html:41 +#: common/models.py:2473 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2463 +#: common/models.py:2474 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2468 part/templates/part/detail.html:62 +#: common/models.py:2479 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2470 +#: common/models.py:2481 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2476 +#: common/models.py:2487 msgid "Table String Length" msgstr "" -#: common/models.py:2478 +#: common/models.py:2489 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2484 -msgid "Default part label template" -msgstr "" - -#: common/models.py:2485 -msgid "The part label template to be automatically selected" -msgstr "" - -#: common/models.py:2490 -msgid "Default stock item template" -msgstr "" - -#: common/models.py:2492 -msgid "The stock item label template to be automatically selected" -msgstr "" - -#: common/models.py:2498 -msgid "Default stock location label template" -msgstr "" - -#: common/models.py:2500 -msgid "The stock location label template to be automatically selected" -msgstr "" - -#: common/models.py:2506 -msgid "Default build line label template" -msgstr "" - -#: common/models.py:2508 -msgid "The build line label template to be automatically selected" -msgstr "" - -#: common/models.py:2514 +#: common/models.py:2495 msgid "Receive error reports" msgstr "" -#: common/models.py:2515 +#: common/models.py:2496 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2520 +#: common/models.py:2501 msgid "Last used printing machines" msgstr "" -#: common/models.py:2521 +#: common/models.py:2502 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2541 common/models.py:2542 common/models.py:2691 -#: common/models.py:2692 common/models.py:2937 common/models.py:2938 -#: common/models.py:3259 common/models.py:3260 part/models.py:3193 -#: part/models.py:3280 part/models.py:3353 part/models.py:3381 -#: plugin/models.py:274 plugin/models.py:275 +#: common/models.py:2522 common/models.py:2523 common/models.py:2672 +#: common/models.py:2673 common/models.py:2918 common/models.py:2919 +#: common/models.py:3245 common/models.py:3246 importer/models.py:85 +#: part/models.py:3203 part/models.py:3290 part/models.py:3364 +#: part/models.py:3392 plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 msgid "User" msgstr "Uporabnik" -#: common/models.py:2564 +#: common/models.py:2545 msgid "Price break quantity" msgstr "" -#: common/models.py:2571 company/serializers.py:472 order/admin.py:42 -#: order/models.py:1346 order/models.py:2265 -#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1886 +#: common/models.py:2552 company/serializers.py:502 order/admin.py:42 +#: order/models.py:1346 order/models.py:2292 +#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1889 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:740 msgid "Price" msgstr "" -#: common/models.py:2572 +#: common/models.py:2553 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2668 common/models.py:2853 +#: common/models.py:2649 common/models.py:2834 msgid "Endpoint" msgstr "" -#: common/models.py:2669 +#: common/models.py:2650 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2679 +#: common/models.py:2660 msgid "Name for this webhook" msgstr "" -#: common/models.py:2683 +#: common/models.py:2664 msgid "Is this webhook active" msgstr "" -#: common/models.py:2699 users/models.py:159 +#: common/models.py:2680 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2700 +#: common/models.py:2681 msgid "Token for access" msgstr "" -#: common/models.py:2708 +#: common/models.py:2689 msgid "Secret" msgstr "" -#: common/models.py:2709 +#: common/models.py:2690 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2817 +#: common/models.py:2798 msgid "Message ID" msgstr "" -#: common/models.py:2818 +#: common/models.py:2799 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2826 +#: common/models.py:2807 msgid "Host" msgstr "" -#: common/models.py:2827 +#: common/models.py:2808 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2835 +#: common/models.py:2816 msgid "Header" msgstr "" -#: common/models.py:2836 +#: common/models.py:2817 msgid "Header of this message" msgstr "" -#: common/models.py:2843 +#: common/models.py:2824 msgid "Body" msgstr "" -#: common/models.py:2844 +#: common/models.py:2825 msgid "Body of this message" msgstr "" -#: common/models.py:2854 +#: common/models.py:2835 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2859 +#: common/models.py:2840 msgid "Worked on" msgstr "" -#: common/models.py:2860 +#: common/models.py:2841 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2986 +#: common/models.py:2967 msgid "Id" msgstr "" -#: common/models.py:2988 templates/js/translated/company.js:965 +#: common/models.py:2969 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2990 common/models.py:3243 company/models.py:149 -#: company/models.py:440 company/models.py:500 company/models.py:799 -#: order/models.py:303 order/models.py:1301 order/models.py:1717 -#: part/admin.py:55 part/models.py:955 +#: common/models.py:2971 common/models.py:3229 company/models.py:149 +#: company/models.py:446 company/models.py:506 company/models.py:806 +#: order/models.py:303 order/models.py:1301 order/models.py:1733 +#: part/admin.py:55 part/models.py:959 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:229 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/part.js:2459 #: templates/js/translated/purchase_order.js:2040 #: templates/js/translated/purchase_order.js:2204 #: templates/js/translated/return_order.js:779 @@ -3607,28 +3644,28 @@ msgstr "" msgid "Link" msgstr "Povezava" -#: common/models.py:2992 templates/js/translated/news.js:60 +#: common/models.py:2973 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2994 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2975 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:2996 templates/js/translated/news.js:52 +#: common/models.py:2977 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2999 +#: common/models.py:2980 msgid "Read" msgstr "" -#: common/models.py:2999 +#: common/models.py:2980 msgid "Was this news item read?" msgstr "" -#: common/models.py:3016 company/models.py:159 part/models.py:965 +#: common/models.py:2997 company/models.py:159 part/models.py:969 #: 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.html:35 @@ -3638,90 +3675,94 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:3016 +#: common/models.py:2997 msgid "Image file" msgstr "" -#: common/models.py:3028 common/models.py:3227 +#: common/models.py:3009 common/models.py:3213 msgid "Target model type for this image" msgstr "" -#: common/models.py:3032 +#: common/models.py:3013 msgid "Target model ID for this image" msgstr "" -#: common/models.py:3070 +#: common/models.py:3035 +msgid "Custom Unit" +msgstr "" + +#: common/models.py:3056 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:3085 +#: common/models.py:3071 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3104 +#: common/models.py:3090 msgid "Unit name" msgstr "" -#: common/models.py:3111 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3097 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3112 +#: common/models.py:3098 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3118 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3104 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3119 +#: common/models.py:3105 msgid "Unit definition" msgstr "" -#: common/models.py:3177 common/models.py:3234 stock/models.py:2461 +#: common/models.py:3163 common/models.py:3220 stock/models.py:2471 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" msgstr "Priloga" -#: common/models.py:3189 +#: common/models.py:3175 msgid "Missing file" msgstr "Manjka datoteka" -#: common/models.py:3190 +#: common/models.py:3176 msgid "Missing external link" msgstr "Manjka zunanja povezava" -#: common/models.py:3235 +#: common/models.py:3221 msgid "Select file to attach" msgstr "Izberite prilogo" -#: common/models.py:3250 templates/js/translated/attachment.js:120 +#: common/models.py:3236 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" msgstr "Komentar" -#: common/models.py:3251 +#: common/models.py:3237 msgid "Attachment comment" msgstr "" -#: common/models.py:3267 +#: common/models.py:3253 msgid "Upload date" msgstr "" -#: common/models.py:3268 +#: common/models.py:3254 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:3272 +#: common/models.py:3258 msgid "File size" msgstr "" -#: common/models.py:3272 +#: common/models.py:3258 msgid "File size in bytes" msgstr "" -#: common/models.py:3310 common/serializers.py:553 +#: common/models.py:3296 common/serializers.py:557 msgid "Invalid model type specified for attachment" msgstr "" @@ -3743,7 +3784,7 @@ msgstr "" msgid "A order that is assigned to you was canceled" msgstr "" -#: common/notifications.py:330 common/notifications.py:337 order/api.py:472 +#: common/notifications.py:330 common/notifications.py:337 order/api.py:454 msgid "Items Received" msgstr "" @@ -3759,75 +3800,75 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:371 +#: common/serializers.py:375 msgid "Is Running" msgstr "" -#: common/serializers.py:377 +#: common/serializers.py:381 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:383 +#: common/serializers.py:387 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:389 +#: common/serializers.py:393 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:404 +#: common/serializers.py:408 msgid "Task ID" msgstr "" -#: common/serializers.py:404 +#: common/serializers.py:408 msgid "Unique task ID" msgstr "" -#: common/serializers.py:406 +#: common/serializers.py:410 msgid "Lock" msgstr "" -#: common/serializers.py:406 +#: common/serializers.py:410 msgid "Lock time" msgstr "" -#: common/serializers.py:408 +#: common/serializers.py:412 msgid "Task name" msgstr "" -#: common/serializers.py:410 +#: common/serializers.py:414 msgid "Function" msgstr "" -#: common/serializers.py:410 +#: common/serializers.py:414 msgid "Function name" msgstr "" -#: common/serializers.py:412 +#: common/serializers.py:416 msgid "Arguments" msgstr "" -#: common/serializers.py:412 +#: common/serializers.py:416 msgid "Task arguments" msgstr "" -#: common/serializers.py:415 +#: common/serializers.py:419 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:415 +#: common/serializers.py:419 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:525 +#: common/serializers.py:529 msgid "Filename" msgstr "Ime datoteke" -#: common/serializers.py:532 report/api.py:100 report/serializers.py:53 +#: common/serializers.py:536 report/api.py:100 report/serializers.py:53 msgid "Model Type" msgstr "" -#: common/serializers.py:559 +#: common/serializers.py:563 msgid "User does not have permission to create or edit attachments for this model" msgstr "" @@ -3894,29 +3935,29 @@ msgstr "" msgid "Previous Step" msgstr "" -#: company/api.py:144 +#: company/api.py:141 msgid "Part is Active" msgstr "" -#: company/api.py:148 +#: company/api.py:145 msgid "Manufacturer is Active" msgstr "" -#: company/api.py:281 +#: company/api.py:278 msgid "Supplier Part is Active" msgstr "" -#: company/api.py:285 +#: company/api.py:282 msgid "Internal Part is Active" msgstr "" -#: company/api.py:289 +#: company/api.py:286 msgid "Supplier is Active" msgstr "" -#: company/models.py:100 company/models.py:365 +#: company/models.py:100 company/models.py:371 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:822 +#: company/templates/company/company_base.html:12 stock/api.py:814 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "" @@ -3956,8 +3997,9 @@ msgstr "" msgid "Contact email address" msgstr "" -#: company/models.py:142 company/templates/company/company_base.html:145 -#: order/models.py:343 order/templates/order/order_base.html:203 +#: company/models.py:142 company/models.py:275 +#: company/templates/company/company_base.html:145 order/models.py:343 +#: order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 #: order/templates/order/sales_order_base.html:218 msgid "Contact" @@ -3976,15 +4018,17 @@ msgid "Is this company active?" msgstr "" #: company/models.py:168 -msgid "is customer" -msgstr "" +#, fuzzy +#| msgid "Sent to customer" +msgid "Is customer" +msgstr "Posalno stranki" #: company/models.py:169 msgid "Do you sell items to this company?" msgstr "" #: company/models.py:174 -msgid "is supplier" +msgid "Is supplier" msgstr "" #: company/models.py:175 @@ -3992,7 +4036,7 @@ msgid "Do you purchase items from this company?" msgstr "" #: company/models.py:180 -msgid "is manufacturer" +msgid "Is manufacturer" msgstr "" #: company/models.py:181 @@ -4003,178 +4047,189 @@ msgstr "" msgid "Default currency used for this company" msgstr "" -#: company/models.py:366 +#: company/models.py:314 company/templates/company/company_base.html:124 +#: order/models.py:353 order/templates/order/order_base.html:210 +#: order/templates/order/return_order_base.html:181 +#: order/templates/order/sales_order_base.html:225 +msgid "Address" +msgstr "" + +#: company/models.py:315 company/templates/company/sidebar.html:35 +msgid "Addresses" +msgstr "" + +#: company/models.py:372 msgid "Select company" msgstr "" -#: company/models.py:371 +#: company/models.py:377 msgid "Address title" msgstr "" -#: company/models.py:372 +#: company/models.py:378 msgid "Title describing the address entry" msgstr "" -#: company/models.py:378 +#: company/models.py:384 msgid "Primary address" msgstr "" -#: company/models.py:379 +#: company/models.py:385 msgid "Set as primary address" msgstr "" -#: company/models.py:384 templates/js/translated/company.js:914 +#: company/models.py:390 templates/js/translated/company.js:914 #: templates/js/translated/company.js:971 msgid "Line 1" msgstr "" -#: company/models.py:385 +#: company/models.py:391 msgid "Address line 1" msgstr "" -#: company/models.py:391 templates/js/translated/company.js:915 +#: company/models.py:397 templates/js/translated/company.js:915 #: templates/js/translated/company.js:977 msgid "Line 2" msgstr "" -#: company/models.py:392 +#: company/models.py:398 msgid "Address line 2" msgstr "" -#: company/models.py:398 company/models.py:399 +#: company/models.py:404 company/models.py:405 #: templates/js/translated/company.js:983 msgid "Postal code" msgstr "" -#: company/models.py:405 +#: company/models.py:411 msgid "City/Region" msgstr "" -#: company/models.py:406 +#: company/models.py:412 msgid "Postal code city/region" msgstr "" -#: company/models.py:412 +#: company/models.py:418 msgid "State/Province" msgstr "" -#: company/models.py:413 +#: company/models.py:419 msgid "State or province" msgstr "" -#: company/models.py:419 templates/js/translated/company.js:1001 +#: company/models.py:425 templates/js/translated/company.js:1001 msgid "Country" msgstr "" -#: company/models.py:420 +#: company/models.py:426 msgid "Address country" msgstr "" -#: company/models.py:426 +#: company/models.py:432 msgid "Courier shipping notes" msgstr "" -#: company/models.py:427 +#: company/models.py:433 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:433 +#: company/models.py:439 msgid "Internal shipping notes" msgstr "" -#: company/models.py:434 +#: company/models.py:440 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:441 +#: company/models.py:447 msgid "Link to address information (external)" msgstr "" -#: company/models.py:463 company/models.py:574 company/models.py:792 +#: company/models.py:469 company/models.py:581 company/models.py:799 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:217 msgid "Manufacturer Part" msgstr "" -#: company/models.py:475 company/models.py:760 stock/models.py:767 -#: stock/serializers.py:422 stock/templates/stock/item_base.html:142 +#: company/models.py:481 company/models.py:767 stock/models.py:767 +#: stock/serializers.py:442 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" -#: company/models.py:477 company/models.py:762 +#: company/models.py:483 company/models.py:769 msgid "Select part" msgstr "" -#: company/models.py:486 company/templates/company/company_base.html:82 +#: company/models.py:492 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:525 +#: company/templates/company/supplier_part.html:145 part/serializers.py:543 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 #: templates/js/translated/company.js:1296 #: templates/js/translated/company.js:1611 -#: templates/js/translated/table_filters.js:800 +#: templates/js/translated/table_filters.js:805 msgid "Manufacturer" msgstr "" -#: company/models.py:487 +#: company/models.py:493 msgid "Select manufacturer" msgstr "" -#: company/models.py:493 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:535 -#: templates/js/translated/company.js:351 +#: company/models.py:499 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:153 order/serializers.py:518 +#: part/serializers.py:553 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:1801 +#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1804 #: templates/js/translated/purchase_order.js:1851 #: templates/js/translated/purchase_order.js:2053 msgid "MPN" msgstr "" -#: company/models.py:494 -msgid "Manufacturer Part Number" -msgstr "" - -#: company/models.py:501 +#: company/models.py:507 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:510 +#: company/models.py:516 msgid "Manufacturer part description" msgstr "" -#: company/models.py:581 +#: company/models.py:569 +msgid "Manufacturer Part Parameter" +msgstr "" + +#: company/models.py:588 msgid "Parameter name" msgstr "" -#: company/models.py:587 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2453 templates/js/translated/company.js:1166 -#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1493 +#: company/models.py:594 report/templates/report/inventree_test_report.html:104 +#: stock/models.py:2463 templates/js/translated/company.js:1166 +#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1496 #: templates/js/translated/stock.js:1522 msgid "Value" msgstr "" -#: company/models.py:588 +#: company/models.py:595 msgid "Parameter value" msgstr "" -#: company/models.py:595 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1045 part/models.py:3646 +#: company/models.py:602 company/templates/company/supplier_part.html:168 +#: part/admin.py:57 part/models.py:1049 part/models.py:3667 #: part/templates/part/part_base.html:284 -#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1512 -#: templates/js/translated/part.js:1616 templates/js/translated/part.js:2370 +#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1515 +#: templates/js/translated/part.js:1619 templates/js/translated/part.js:2373 msgid "Units" msgstr "" -#: company/models.py:596 +#: company/models.py:603 msgid "Parameter units" msgstr "" -#: company/models.py:648 company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 order/api.py:452 +#: company/models.py:655 company/templates/company/supplier_part.html:7 +#: company/templates/company/supplier_part.html:24 order/api.py:434 #: stock/models.py:778 stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 @@ -4182,91 +4237,91 @@ msgstr "" msgid "Supplier Part" msgstr "" -#: company/models.py:700 +#: company/models.py:707 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:707 +#: company/models.py:714 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:721 +#: company/models.py:728 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:770 company/templates/company/company_base.html:87 +#: company/models.py:777 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:509 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:527 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 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:511 -#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1769 +#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1772 #: templates/js/translated/pricing.js:498 #: templates/js/translated/purchase_order.js:1689 -#: templates/js/translated/table_filters.js:804 +#: templates/js/translated/table_filters.js:809 msgid "Supplier" msgstr "" -#: company/models.py:771 +#: company/models.py:778 msgid "Select supplier" msgstr "" -#: company/models.py:777 part/serializers.py:520 +#: company/models.py:784 part/serializers.py:538 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:783 +#: company/models.py:790 msgid "Is this supplier part active?" msgstr "" -#: company/models.py:793 +#: company/models.py:800 msgid "Select manufacturer part" msgstr "" -#: company/models.py:800 +#: company/models.py:807 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:809 +#: company/models.py:816 msgid "Supplier part description" msgstr "" -#: company/models.py:816 company/templates/company/supplier_part.html:187 -#: part/admin.py:412 part/models.py:4093 part/templates/part/upload_bom.html:59 +#: company/models.py:823 company/templates/company/supplier_part.html:187 +#: part/admin.py:412 part/models.py:4178 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: 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:710 +#: stock/serializers.py:768 msgid "Note" msgstr "" -#: company/models.py:825 part/models.py:2003 +#: company/models.py:832 part/models.py:2013 msgid "base cost" msgstr "" -#: company/models.py:826 part/models.py:2004 +#: company/models.py:833 part/models.py:2014 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:833 company/templates/company/supplier_part.html:160 -#: stock/admin.py:228 stock/models.py:798 stock/serializers.py:1475 +#: company/models.py:840 company/templates/company/supplier_part.html:160 +#: stock/admin.py:228 stock/models.py:798 stock/serializers.py:1541 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 msgid "Packaging" msgstr "" -#: company/models.py:834 +#: company/models.py:841 msgid "Part packaging" msgstr "" -#: company/models.py:839 templates/js/translated/company.js:1651 -#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 +#: company/models.py:846 templates/js/translated/company.js:1651 +#: templates/js/translated/part.js:1825 templates/js/translated/part.js:1881 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 #: templates/js/translated/purchase_order.js:1103 @@ -4275,35 +4330,43 @@ msgstr "" msgid "Pack Quantity" msgstr "" -#: company/models.py:841 +#: company/models.py:848 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:860 part/models.py:2010 +#: company/models.py:867 part/models.py:2020 msgid "multiple" msgstr "" -#: company/models.py:861 +#: company/models.py:868 msgid "Order multiple" msgstr "" -#: company/models.py:873 +#: company/models.py:880 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:879 +#: company/models.py:886 msgid "Availability Updated" msgstr "" -#: company/models.py:880 +#: company/models.py:887 msgid "Date of last update of availability data" msgstr "" -#: company/serializers.py:161 +#: company/models.py:1015 +msgid "Supplier Price Break" +msgstr "" + +#: company/serializers.py:174 msgid "Default currency used for this supplier" msgstr "" -#: company/serializers.py:357 part/admin.py:126 +#: company/serializers.py:210 +msgid "Company Name" +msgstr "" + +#: company/serializers.py:384 part/admin.py:126 part/serializers.py:855 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:355 @@ -4315,7 +4378,7 @@ msgstr "" #: templates/js/translated/company.js:1287 #: templates/js/translated/company.js:1575 #: templates/js/translated/model_renderers.js:312 -#: templates/js/translated/part.js:815 templates/js/translated/part.js:1219 +#: templates/js/translated/part.js:814 templates/js/translated/part.js:1222 msgid "Inactive" msgstr "" @@ -4374,16 +4437,16 @@ msgid "Delete image" msgstr "" #: company/templates/company/company_base.html:92 order/models.py:938 -#: order/models.py:2032 order/templates/order/return_order_base.html:131 +#: order/models.py:2058 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:148 stock/models.py:820 -#: stock/models.py:821 stock/serializers.py:1225 +#: stock/models.py:821 stock/serializers.py:1291 #: 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:295 #: templates/js/translated/sales_order.js:820 #: templates/js/translated/stock.js:2959 -#: templates/js/translated/table_filters.js:808 +#: templates/js/translated/table_filters.js:813 msgid "Customer" msgstr "" @@ -4391,13 +4454,6 @@ msgstr "" msgid "Uses default currency" msgstr "" -#: company/templates/company/company_base.html:124 order/models.py:353 -#: order/templates/order/order_base.html:210 -#: order/templates/order/return_order_base.html:181 -#: order/templates/order/sales_order_base.html:225 -msgid "Address" -msgstr "" - #: company/templates/company/company_base.html:131 msgid "Phone" msgstr "" @@ -4577,7 +4633,8 @@ msgid "Delete manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:65 -#: company/templates/company/supplier_part.html:97 order/api.py:458 +#: company/templates/company/supplier_part.html:97 order/api.py:440 +#: order/serializers.py:526 msgid "Internal Part" msgstr "" @@ -4587,7 +4644,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:832 +#: part/admin.py:122 part/serializers.py:860 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4608,7 +4665,7 @@ msgid "New Parameter" msgstr "" #: company/templates/company/manufacturer_part.html:196 -#: templates/js/translated/part.js:1423 +#: templates/js/translated/part.js:1426 msgid "Add Parameter" msgstr "" @@ -4632,10 +4689,6 @@ msgstr "" msgid "Contacts" msgstr "" -#: company/templates/company/sidebar.html:35 -msgid "Addresses" -msgstr "" - #: company/templates/company/supplier_part.html:50 #: templates/js/translated/company.js:1526 msgid "Supplier part actions" @@ -4665,111 +4718,283 @@ msgstr "" msgid "Duplicate Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:73 -msgid "Delete Supplier Part" +#: company/templates/company/supplier_part.html:73 +msgid "Delete Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:74 +msgid "Delete Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:133 +msgid "No supplier information available" +msgstr "" + +#: company/templates/company/supplier_part.html:139 order/serializers.py:515 +#: part/bom.py:279 part/bom.py:311 part/serializers.py:537 +#: templates/js/translated/company.js:349 templates/js/translated/part.js:1790 +#: templates/js/translated/pricing.js:510 +#: templates/js/translated/purchase_order.js:1850 +#: templates/js/translated/purchase_order.js:2028 +msgid "SKU" +msgstr "" + +#: company/templates/company/supplier_part.html:206 +msgid "Supplier Part Stock" +msgstr "" + +#: company/templates/company/supplier_part.html:209 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:207 +msgid "Create new stock item" +msgstr "" + +#: company/templates/company/supplier_part.html:210 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:208 +#: templates/js/translated/stock.js:537 +msgid "New Stock Item" +msgstr "" + +#: company/templates/company/supplier_part.html:223 +msgid "Supplier Part Orders" +msgstr "" + +#: company/templates/company/supplier_part.html:246 +msgid "Pricing Information" +msgstr "" + +#: company/templates/company/supplier_part.html:251 +#: templates/js/translated/company.js:398 +#: templates/js/translated/pricing.js:684 +msgid "Add Price Break" +msgstr "" + +#: company/templates/company/supplier_part.html:276 +msgid "Supplier Part QR Code" +msgstr "" + +#: company/templates/company/supplier_part.html:287 +msgid "Link Barcode to Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:359 +msgid "Update Part Availability" +msgstr "" + +#: company/templates/company/supplier_part_sidebar.html:5 +#: part/serializers.py:859 part/stocktake.py:224 +#: part/templates/part/category.html:183 +#: part/templates/part/category_sidebar.html:17 stock/admin.py:68 +#: stock/serializers.py:976 stock/serializers.py:1154 +#: stock/templates/stock/location.html:170 +#: 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:1064 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 +#: users/models.py:206 +msgid "Stock Items" +msgstr "" + +#: company/templates/company/supplier_part_sidebar.html:9 +msgid "Supplier Part Pricing" +msgstr "" + +#: company/views.py:32 +msgid "New Supplier" +msgstr "" + +#: company/views.py:38 +msgid "New Manufacturer" +msgstr "" + +#: company/views.py:43 templates/InvenTree/search.html:210 +#: templates/navbar.html:60 +msgid "Customers" +msgstr "" + +#: company/views.py:44 +msgid "New Customer" +msgstr "" + +#: company/views.py:52 +msgid "New Company" +msgstr "" + +#: generic/states/tests.py:18 order/status_codes.py:13 +msgid "Placed" +msgstr "Postavljeno" + +#: importer/mixins.py:263 +#, fuzzy +#| msgid "Invalid value for overage" +msgid "Invalid export format" +msgstr "Neveljavna vrednost za prestarost" + +#: importer/models.py:56 +msgid "Timestamp" +msgstr "" + +#: importer/models.py:61 +msgid "Data file to import" +msgstr "" + +#: importer/models.py:70 templates/js/translated/tables.js:558 +msgid "Columns" +msgstr "" + +#: importer/models.py:81 +msgid "Import status" +msgstr "" + +#: importer/models.py:91 +msgid "Field Defaults" +msgstr "" + +#: importer/models.py:201 +msgid "Some required fields have not been mapped" +msgstr "" + +#: importer/models.py:346 +msgid "Column is already mapped to a database field" +msgstr "" + +#: importer/models.py:351 +msgid "Field is already mapped to a data column" +msgstr "" + +#: importer/models.py:360 +msgid "Column mapping must be linked to a valid import session" +msgstr "" + +#: importer/models.py:365 +msgid "Column does not exist in the data file" +msgstr "" + +#: importer/models.py:372 +#, fuzzy +#| msgid "User does not have permission to view this model" +msgid "Field does not exist in the target model" +msgstr "Uporabnik nima dovoljenja pogleda tega modela" + +#: importer/models.py:376 +msgid "Selected field is read-only" +msgstr "" + +#: importer/models.py:381 importer/models.py:452 +msgid "Import Session" msgstr "" -#: company/templates/company/supplier_part.html:74 -msgid "Delete Supplier Part" +#: importer/models.py:385 +msgid "Field" msgstr "" -#: company/templates/company/supplier_part.html:133 -msgid "No supplier information available" +#: importer/models.py:387 +msgid "Column" msgstr "" -#: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:519 -#: templates/js/translated/company.js:349 templates/js/translated/part.js:1787 -#: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1850 -#: templates/js/translated/purchase_order.js:2028 -msgid "SKU" +#: importer/models.py:456 +msgid "Row Index" msgstr "" -#: company/templates/company/supplier_part.html:206 -msgid "Supplier Part Stock" +#: importer/models.py:459 +msgid "Original row data" msgstr "" -#: company/templates/company/supplier_part.html:209 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:207 -msgid "Create new stock item" +#: importer/models.py:462 part/models.py:3841 +msgid "Data" msgstr "" -#: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:208 -#: templates/js/translated/stock.js:537 -msgid "New Stock Item" +#: importer/models.py:464 machine/models.py:110 +msgid "Errors" msgstr "" -#: company/templates/company/supplier_part.html:223 -msgid "Supplier Part Orders" +#: importer/models.py:466 part/api.py:874 +msgid "Valid" msgstr "" -#: company/templates/company/supplier_part.html:246 -msgid "Pricing Information" +#: importer/operations.py:28 importer/operations.py:49 +#, fuzzy +#| msgid "Unsupported file type" +msgid "Unsupported data file format" +msgstr "Nepodprta vrsta datotek" + +#: importer/operations.py:40 +msgid "Failed to open data file" msgstr "" -#: company/templates/company/supplier_part.html:251 -#: templates/js/translated/company.js:398 -#: templates/js/translated/pricing.js:684 -msgid "Add Price Break" +#: importer/operations.py:51 +msgid "Invalid data file dimensions" msgstr "" -#: company/templates/company/supplier_part.html:276 -msgid "Supplier Part QR Code" +#: importer/serializers.py:135 +msgid "Rows" msgstr "" -#: company/templates/company/supplier_part.html:287 -msgid "Link Barcode to Supplier Part" +#: importer/serializers.py:136 +msgid "List of row IDs to accept" msgstr "" -#: company/templates/company/supplier_part.html:359 -msgid "Update Part Availability" +#: importer/serializers.py:149 +#, fuzzy +#| msgid "No data rows provided" +msgid "No rows provided" +msgstr "Niso bile podane vrste s podatki" + +#: importer/serializers.py:153 +msgid "Row does not belong to this session" msgstr "" -#: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:831 part/stocktake.py:224 -#: part/templates/part/category.html:183 -#: part/templates/part/category_sidebar.html:17 stock/admin.py:68 -#: stock/serializers.py:918 stock/serializers.py:1091 -#: stock/templates/stock/location.html:170 -#: 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:1061 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 -#: users/models.py:206 -msgid "Stock Items" +#: importer/serializers.py:156 +msgid "Row contains invalid data" msgstr "" -#: company/templates/company/supplier_part_sidebar.html:9 -msgid "Supplier Part Pricing" +#: importer/serializers.py:159 +#, fuzzy +#| msgid "This build output has already been completed" +msgid "Row has already been completed" +msgstr "Ta sestava je že zaključena" + +#: importer/status_codes.py:11 +msgid "Initializing" msgstr "" -#: company/views.py:32 -msgid "New Supplier" +#: importer/status_codes.py:12 +msgid "Mapping Columns" msgstr "" -#: company/views.py:38 -msgid "New Manufacturer" +#: importer/status_codes.py:13 +#, fuzzy +#| msgid "Completion Date" +msgid "Importing Data" +msgstr "Datom končanja" + +#: importer/status_codes.py:16 +msgid "Processing Data" msgstr "" -#: company/views.py:43 templates/InvenTree/search.html:210 -#: templates/navbar.html:60 -msgid "Customers" +#: importer/validators.py:21 +#, fuzzy +#| msgid "Image download exceeded maximum size" +msgid "Data file exceeds maximum size limit" +msgstr "Prenos slike presegel največjo velikost" + +#: importer/validators.py:26 +msgid "Data file contains no headers" msgstr "" -#: company/views.py:44 -msgid "New Customer" +#: importer/validators.py:29 +msgid "Data file contains too many columns" msgstr "" -#: company/views.py:52 -msgid "New Company" +#: importer/validators.py:32 +msgid "Data file contains too many rows" msgstr "" -#: generic/states/tests.py:18 order/status_codes.py:13 -msgid "Placed" -msgstr "Postavljeno" +#: importer/validators.py:49 +#, fuzzy +#| msgid "Metadata must be a python dict object" +msgid "Value must be a valid dictionary object" +msgstr "Metapodatki morajo biti objekt tipa python dict" #: machine/machine_types/label_printer.py:212 msgid "Copies" @@ -4783,7 +5008,7 @@ msgstr "" msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:229 order/api.py:1467 +#: machine/machine_types/label_printer.py:229 order/api.py:1388 #: templates/js/translated/sales_order.js:1078 msgid "Unknown" msgstr "" @@ -4852,10 +5077,6 @@ msgstr "" msgid "Initialized" msgstr "" -#: machine/models.py:110 -msgid "Errors" -msgstr "" - #: machine/models.py:117 msgid "Machine status" msgstr "" @@ -4881,44 +5102,44 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:157 order/serializers.py:90 +#: order/api.py:149 order/serializers.py:94 #: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:113 #: order/templates/order/sales_order_base.html:122 msgid "Order Status" msgstr "" -#: order/api.py:161 templates/js/translated/table_filters.js:194 -#: templates/js/translated/table_filters.js:779 +#: order/api.py:153 templates/js/translated/table_filters.js:194 +#: templates/js/translated/table_filters.js:784 msgid "Has Pricing" msgstr "" -#: order/api.py:236 +#: order/api.py:228 msgid "No matching purchase order found" msgstr "" -#: order/api.py:435 order/api.py:801 order/models.py:1395 order/models.py:1504 -#: order/models.py:1550 order/models.py:1664 order/models.py:1818 -#: order/models.py:2231 order/models.py:2282 +#: order/api.py:417 order/api.py:755 order/models.py:1400 order/models.py:1514 +#: order/models.py:1565 order/models.py:1680 order/models.py:1839 +#: order/models.py:2258 order/models.py:2314 #: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "" -#: order/api.py:439 order/api.py:822 +#: order/api.py:421 order/api.py:776 msgid "Order Complete" msgstr "" -#: order/api.py:462 +#: order/api.py:444 msgid "Order Pending" msgstr "" -#: order/api.py:1461 order/models.py:380 order/models.py:1396 -#: order/models.py:1505 order/templates/order/order_base.html:9 +#: order/api.py:1382 order/models.py:380 order/models.py:1401 +#: order/models.py:1515 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 -#: stock/serializers.py:118 stock/templates/stock/item_base.html:176 +#: stock/serializers.py:120 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/part.js:1746 templates/js/translated/pricing.js:804 +#: templates/js/translated/part.js:1749 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:1673 @@ -4926,8 +5147,8 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1465 order/models.py:1981 order/models.py:2232 -#: order/models.py:2283 order/templates/order/return_order_base.html:9 +#: order/api.py:1386 order/models.py:2007 order/models.py:2259 +#: order/models.py:2315 order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report.html:13 #: templates/js/translated/return_order.js:280 @@ -4939,11 +5160,11 @@ msgstr "" msgid "Total price for this order" msgstr "" -#: order/models.py:96 order/serializers.py:70 +#: order/models.py:96 order/serializers.py:72 msgid "Order Currency" msgstr "" -#: order/models.py:99 order/serializers.py:71 +#: order/models.py:99 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" @@ -4959,7 +5180,7 @@ msgstr "" msgid "Select project code for this order" msgstr "" -#: order/models.py:303 order/models.py:1301 order/models.py:1717 +#: order/models.py:303 order/models.py:1301 order/models.py:1733 msgid "Link to external page" msgstr "" @@ -5008,15 +5229,15 @@ msgstr "" msgid "received by" msgstr "" -#: order/models.py:514 order/models.py:2058 +#: order/models.py:514 order/models.py:2084 msgid "Issue Date" msgstr "" -#: order/models.py:515 order/models.py:2059 +#: order/models.py:515 order/models.py:2085 msgid "Date order was issued" msgstr "" -#: order/models.py:522 order/models.py:2066 +#: order/models.py:522 order/models.py:2092 msgid "Date order was completed" msgstr "" @@ -5032,15 +5253,15 @@ msgstr "" msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:962 order/models.py:2051 +#: order/models.py:962 order/models.py:2077 msgid "Customer Reference " msgstr "" -#: order/models.py:963 order/models.py:2052 +#: order/models.py:963 order/models.py:2078 msgid "Customer order reference code" msgstr "" -#: order/models.py:967 order/models.py:1671 +#: order/models.py:967 order/models.py:1687 #: templates/js/translated/sales_order.js:879 #: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" @@ -5102,20 +5323,24 @@ msgstr "" msgid "Unit price" msgstr "" -#: order/models.py:1380 +#: order/models.py:1361 +msgid "Purchase Order Line Item" +msgstr "" + +#: order/models.py:1385 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1387 +#: order/models.py:1392 msgid "deleted" msgstr "" -#: order/models.py:1415 +#: order/models.py:1420 msgid "Supplier part" msgstr "" -#: order/models.py:1422 order/templates/order/order_base.html:196 -#: templates/js/translated/part.js:1870 templates/js/translated/part.js:1902 +#: order/models.py:1427 order/templates/order/order_base.html:196 +#: templates/js/translated/part.js:1873 templates/js/translated/part.js:1905 #: templates/js/translated/purchase_order.js:1306 #: templates/js/translated/purchase_order.js:2169 #: templates/js/translated/return_order.js:763 @@ -5124,196 +5349,232 @@ msgstr "" msgid "Received" msgstr "" -#: order/models.py:1423 +#: order/models.py:1428 msgid "Number of items received" msgstr "" -#: order/models.py:1431 stock/models.py:939 stock/serializers.py:556 +#: order/models.py:1436 stock/models.py:939 stock/serializers.py:602 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2311 msgid "Purchase Price" msgstr "" -#: order/models.py:1432 +#: order/models.py:1437 msgid "Unit purchase price" msgstr "" -#: order/models.py:1447 +#: order/models.py:1452 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1538 +#: order/models.py:1503 +msgid "Purchase Order Extra Line" +msgstr "" + +#: order/models.py:1532 +#, fuzzy +#| msgid "Sales Order Reference" +msgid "Sales Order Line Item" +msgstr "Referenca dobavnica" + +#: order/models.py:1553 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1543 +#: order/models.py:1558 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1569 part/templates/part/part_pricing.html:107 +#: order/models.py:1584 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:1570 +#: order/models.py:1585 msgid "Unit sale price" msgstr "" -#: order/models.py:1579 order/status_codes.py:43 +#: order/models.py:1594 order/status_codes.py:43 #: 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" -#: order/models.py:1580 +#: order/models.py:1595 msgid "Shipped quantity" msgstr "" -#: order/models.py:1672 +#: order/models.py:1667 +#, fuzzy +#| msgid "Sales Order Reference" +msgid "Sales Order Shipment" +msgstr "Referenca dobavnica" + +#: order/models.py:1688 msgid "Date of shipment" msgstr "" -#: order/models.py:1678 templates/js/translated/sales_order.js:1072 +#: order/models.py:1694 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "" -#: order/models.py:1679 +#: order/models.py:1695 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1687 +#: order/models.py:1703 msgid "Checked By" msgstr "" -#: order/models.py:1688 +#: order/models.py:1704 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1695 order/models.py:1908 order/serializers.py:1342 -#: order/serializers.py:1452 templates/js/translated/model_renderers.js:454 +#: order/models.py:1711 order/models.py:1934 order/serializers.py:1398 +#: order/serializers.py:1508 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "" -#: order/models.py:1696 +#: order/models.py:1712 msgid "Shipment number" msgstr "" -#: order/models.py:1704 +#: order/models.py:1720 msgid "Tracking Number" msgstr "" -#: order/models.py:1705 +#: order/models.py:1721 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1712 +#: order/models.py:1728 msgid "Invoice Number" msgstr "" -#: order/models.py:1713 +#: order/models.py:1729 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1733 +#: order/models.py:1749 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1736 +#: order/models.py:1752 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1854 order/models.py:1856 +#: order/models.py:1828 +#, fuzzy +#| msgid "Sales Order Reference" +msgid "Sales Order Extra Line" +msgstr "Referenca dobavnica" + +#: order/models.py:1857 +#, fuzzy +#| msgid "Sales Order Reference" +msgid "Sales Order Allocation" +msgstr "Referenca dobavnica" + +#: order/models.py:1880 order/models.py:1882 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1863 +#: order/models.py:1889 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1866 +#: order/models.py:1892 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1869 +#: order/models.py:1895 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1888 order/serializers.py:1219 +#: order/models.py:1914 order/serializers.py:1275 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1891 +#: order/models.py:1917 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1892 plugin/base/barcodes/api.py:481 +#: order/models.py:1918 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1900 +#: order/models.py:1926 msgid "Line" msgstr "" -#: order/models.py:1909 +#: order/models.py:1935 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1922 order/models.py:2239 +#: order/models.py:1948 order/models.py:2266 #: templates/js/translated/return_order.js:721 msgid "Item" msgstr "" -#: order/models.py:1923 +#: order/models.py:1949 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1932 +#: order/models.py:1958 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2021 +#: order/models.py:2047 msgid "Return Order reference" msgstr "" -#: order/models.py:2033 +#: order/models.py:2059 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2045 +#: order/models.py:2071 msgid "Return order status" msgstr "" -#: order/models.py:2224 +#: order/models.py:2237 +msgid "Return Order Line Item" +msgstr "" + +#: order/models.py:2251 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2240 +#: order/models.py:2267 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2246 +#: order/models.py:2273 msgid "Received Date" msgstr "" -#: order/models.py:2247 +#: order/models.py:2274 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2258 templates/js/translated/return_order.js:732 +#: order/models.py:2285 templates/js/translated/return_order.js:732 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2259 +#: order/models.py:2286 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2266 +#: order/models.py:2293 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:79 order/templates/order/po_sidebar.html:5 +#: order/models.py:2303 +msgid "Return Order Extra Line" +msgstr "" + +#: order/serializers.py:83 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_purchase_order_report.html:22 @@ -5322,163 +5583,171 @@ msgstr "" msgid "Line Items" msgstr "" -#: order/serializers.py:83 +#: order/serializers.py:87 msgid "Completed Lines" msgstr "" -#: order/serializers.py:286 +#: order/serializers.py:305 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:301 order/serializers.py:1235 +#: order/serializers.py:320 order/serializers.py:1291 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:311 order/serializers.py:1245 +#: order/serializers.py:330 order/serializers.py:1301 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:439 +#: order/serializers.py:468 msgid "Order is not open" msgstr "" -#: order/serializers.py:460 +#: order/serializers.py:489 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:462 +#: order/serializers.py:491 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:472 +#: order/serializers.py:501 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:478 +#: order/serializers.py:507 msgid "Merge Items" msgstr "" -#: order/serializers.py:480 +#: order/serializers.py:509 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:498 +#: order/serializers.py:522 part/models.py:945 +msgid "Internal Part Number" +msgstr "" + +#: order/serializers.py:530 +msgid "Internal Part Name" +msgstr "" + +#: order/serializers.py:546 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:501 +#: order/serializers.py:549 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:509 +#: order/serializers.py:557 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:510 +#: order/serializers.py:558 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:549 order/serializers.py:1313 +#: order/serializers.py:598 order/serializers.py:1369 msgid "Line Item" msgstr "" -#: order/serializers.py:555 +#: order/serializers.py:604 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:565 order/serializers.py:673 order/serializers.py:1657 +#: order/serializers.py:614 order/serializers.py:722 order/serializers.py:1715 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:581 templates/js/translated/purchase_order.js:1130 +#: order/serializers.py:630 templates/js/translated/purchase_order.js:1130 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:589 templates/js/translated/purchase_order.js:1154 +#: order/serializers.py:638 templates/js/translated/purchase_order.js:1154 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:600 templates/js/translated/barcode.js:52 +#: order/serializers.py:649 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:601 +#: order/serializers.py:650 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:617 +#: order/serializers.py:666 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:641 +#: order/serializers.py:690 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:689 order/serializers.py:1673 +#: order/serializers.py:738 order/serializers.py:1731 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:705 +#: order/serializers.py:754 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:716 +#: order/serializers.py:765 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1062 +#: order/serializers.py:1117 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1122 +#: order/serializers.py:1178 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1183 order/serializers.py:1322 +#: order/serializers.py:1239 order/serializers.py:1378 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1202 +#: order/serializers.py:1258 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1332 +#: order/serializers.py:1388 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1354 order/serializers.py:1460 +#: order/serializers.py:1410 order/serializers.py:1516 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1357 order/serializers.py:1463 +#: order/serializers.py:1413 order/serializers.py:1519 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1404 +#: order/serializers.py:1460 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1411 +#: order/serializers.py:1467 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1627 +#: order/serializers.py:1685 msgid "Return order line item" msgstr "" -#: order/serializers.py:1633 +#: order/serializers.py:1691 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1636 +#: order/serializers.py:1694 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1665 +#: order/serializers.py:1723 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1743 +#: order/serializers.py:1806 msgid "Line price currency" msgstr "" @@ -5808,7 +6077,7 @@ msgstr "" #: 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:1073 +#: templates/js/translated/part.js:1076 #: templates/js/translated/purchase_order.js:1752 #: templates/js/translated/return_order.js:380 #: templates/js/translated/sales_order.js:891 @@ -5904,34 +6173,29 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:398 part/models.py:3944 part/stocktake.py:219 +#: part/admin.py:39 part/admin.py:398 part/models.py:3991 part/stocktake.py:219 #: stock/admin.py:152 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:405 part/models.py:3945 part/stocktake.py:220 -#: stock/admin.py:156 -msgid "Part Name" -msgstr "" - #: part/admin.py:45 part/stocktake.py:221 msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:940 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:944 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 -#: templates/js/translated/part.js:1227 templates/js/translated/part.js:2341 +#: templates/js/translated/part.js:1230 templates/js/translated/part.js:2344 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:949 part/templates/part/part_base.html:277 -#: report/models.py:162 templates/js/translated/part.js:1232 -#: templates/js/translated/part.js:2347 +#: part/admin.py:50 part/models.py:953 part/templates/part/part_base.html:277 +#: report/models.py:162 templates/js/translated/part.js:1235 +#: templates/js/translated/part.js:2350 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:319 part/models.py:922 +#: part/admin.py:53 part/admin.py:319 part/models.py:926 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5944,7 +6208,8 @@ msgstr "" msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:304 part/stocktake.py:223 +#: part/admin.py:67 part/admin.py:304 part/serializers.py:837 +#: part/stocktake.py:223 msgid "Category Name" msgstr "" @@ -5956,11 +6221,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:908 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:912 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1036 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1040 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5968,18 +6233,19 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:150 part/templates/part/part_base.html:241 stock/admin.py:235 -#: templates/js/translated/part.js:715 templates/js/translated/part.js:2153 +#: part/admin.py:150 part/serializers.py:854 +#: part/templates/part/part_base.html:241 stock/admin.py:235 +#: templates/js/translated/part.js:714 templates/js/translated/part.js:2156 msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3088 part/models.py:3102 -#: templates/js/translated/part.js:970 +#: part/admin.py:155 part/models.py:3098 part/models.py:3112 +#: templates/js/translated/part.js:973 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3095 part/models.py:3109 -#: templates/js/translated/part.js:980 +#: part/admin.py:158 part/models.py:3105 part/models.py:3119 +#: templates/js/translated/part.js:983 msgid "Maximum Cost" msgstr "" @@ -5996,14 +6262,14 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:396 part/serializers.py:124 -#: part/serializers.py:267 part/serializers.py:386 +#: part/admin.py:325 part/models.py:397 part/serializers.py:130 +#: part/serializers.py:282 part/serializers.py:404 #: 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:2807 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:203 msgid "Parts" msgstr "" @@ -6020,125 +6286,117 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:402 part/models.py:3946 -msgid "Part IPN" -msgstr "" - -#: part/admin.py:415 part/serializers.py:1274 +#: part/admin.py:415 part/serializers.py:1302 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:420 part/serializers.py:1289 +#: part/admin.py:420 part/serializers.py:1317 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "" -#: part/api.py:104 +#: part/api.py:105 msgid "Starred" msgstr "" -#: part/api.py:106 +#: part/api.py:107 msgid "Filter by starred categories" msgstr "" -#: part/api.py:123 stock/api.py:312 +#: part/api.py:124 stock/api.py:312 msgid "Depth" msgstr "" -#: part/api.py:123 +#: part/api.py:124 msgid "Filter by category depth" msgstr "" -#: part/api.py:141 stock/api.py:330 +#: part/api.py:142 stock/api.py:330 msgid "Top Level" msgstr "" -#: part/api.py:143 +#: part/api.py:144 msgid "Filter by top-level categories" msgstr "" -#: part/api.py:156 stock/api.py:345 +#: part/api.py:157 stock/api.py:345 msgid "Cascade" msgstr "" -#: part/api.py:158 +#: part/api.py:159 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:179 templates/js/translated/part.js:308 +#: part/api.py:180 templates/js/translated/part.js:307 msgid "Parent" msgstr "" -#: part/api.py:181 +#: part/api.py:182 msgid "Filter by parent category" msgstr "" -#: part/api.py:214 +#: part/api.py:215 msgid "Exclude Tree" msgstr "" -#: part/api.py:216 +#: part/api.py:217 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:449 +#: part/api.py:442 msgid "Has Results" msgstr "" -#: part/api.py:616 +#: part/api.py:609 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:634 +#: part/api.py:627 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:650 +#: part/api.py:643 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:734 +#: part/api.py:727 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:881 -msgid "Valid" -msgstr "" - -#: part/api.py:882 +#: part/api.py:875 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:888 +#: part/api.py:881 msgid "This option must be selected" msgstr "" -#: part/api.py:1105 +#: part/api.py:1098 msgid "BOM Valid" msgstr "" -#: part/api.py:1508 part/models.py:932 part/models.py:3374 part/models.py:3889 -#: part/serializers.py:401 part/serializers.py:1130 -#: part/templates/part/part_base.html:260 stock/api.py:791 +#: part/api.py:1494 part/models.py:936 part/models.py:3385 part/models.py:3936 +#: part/serializers.py:419 part/serializers.py:1158 +#: part/templates/part/part_base.html:260 stock/api.py:783 #: 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:2380 msgid "Category" msgstr "" -#: part/api.py:1796 +#: part/api.py:1784 msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:104 part/models.py:975 +#: part/bom.py:170 part/models.py:104 part/models.py:979 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:833 +#: part/bom.py:171 part/serializers.py:861 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6147,7 +6405,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:85 part/models.py:3890 part/templates/part/category.html:16 +#: part/models.py:85 part/models.py:3937 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -6162,7 +6420,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:110 stock/models.py:175 templates/js/translated/part.js:2810 +#: part/models.py:110 stock/models.py:175 templates/js/translated/part.js:2813 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 @@ -6194,1002 +6452,1035 @@ msgstr "" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:485 +#: part/models.py:486 +msgid "Cannot delete this part as it is locked" +msgstr "" + +#: part/models.py:489 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:490 +#: part/models.py:494 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:528 +#: part/models.py:532 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:576 part/models.py:583 +#: part/models.py:580 part/models.py:587 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:595 +#: part/models.py:599 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:658 +#: part/models.py:662 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:736 +#: part/models.py:740 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:837 +#: part/models.py:841 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:847 +#: part/models.py:851 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:862 +#: part/models.py:866 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:891 part/models.py:3945 +#: part/models.py:895 part/models.py:3992 msgid "Part name" msgstr "" -#: part/models.py:896 +#: part/models.py:900 msgid "Is Template" msgstr "" -#: part/models.py:897 +#: part/models.py:901 msgid "Is this part a template part?" msgstr "" -#: part/models.py:907 +#: part/models.py:911 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:915 +#: part/models.py:919 msgid "Part description (optional)" msgstr "" -#: part/models.py:923 +#: part/models.py:927 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:933 +#: part/models.py:937 msgid "Part category" msgstr "" -#: part/models.py:941 -msgid "Internal Part Number" -msgstr "" - -#: part/models.py:948 +#: part/models.py:952 msgid "Part revision or version number" msgstr "" -#: part/models.py:973 +#: part/models.py:977 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1019 part/templates/part/part_base.html:376 +#: part/models.py:1023 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:1020 +#: part/models.py:1024 msgid "Default supplier part" msgstr "" -#: part/models.py:1027 +#: part/models.py:1031 msgid "Default Expiry" msgstr "" -#: part/models.py:1028 +#: part/models.py:1032 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1037 +#: part/models.py:1041 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1046 +#: part/models.py:1050 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1053 +#: part/models.py:1057 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1059 +#: part/models.py:1063 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1065 +#: part/models.py:1069 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1071 +#: part/models.py:1075 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1077 +#: part/models.py:1081 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1081 +#: part/models.py:1085 msgid "Is this part active?" msgstr "" -#: part/models.py:1087 +#: part/models.py:1090 templates/js/translated/part.js:818 +#: templates/js/translated/table_filters.js:721 +msgid "Locked" +msgstr "" + +#: part/models.py:1091 +msgid "Locked parts cannot be edited" +msgstr "" + +#: part/models.py:1097 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1093 +#: part/models.py:1103 msgid "BOM checksum" msgstr "" -#: part/models.py:1094 +#: part/models.py:1104 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1102 +#: part/models.py:1112 msgid "BOM checked by" msgstr "" -#: part/models.py:1107 +#: part/models.py:1117 msgid "BOM checked date" msgstr "" -#: part/models.py:1123 +#: part/models.py:1133 msgid "Creation User" msgstr "" -#: part/models.py:1133 +#: part/models.py:1143 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1138 part/templates/part/part_base.html:339 +#: part/models.py:1148 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:2474 msgid "Last Stocktake" msgstr "" -#: part/models.py:2011 +#: part/models.py:2021 msgid "Sell multiple" msgstr "" -#: part/models.py:3002 +#: part/models.py:3012 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3018 +#: part/models.py:3028 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3019 +#: part/models.py:3029 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3025 +#: part/models.py:3035 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3026 +#: part/models.py:3036 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3032 +#: part/models.py:3042 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3033 +#: part/models.py:3043 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3039 +#: part/models.py:3049 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3040 +#: part/models.py:3050 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3046 +#: part/models.py:3056 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3047 +#: part/models.py:3057 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3053 +#: part/models.py:3063 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3054 +#: part/models.py:3064 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3060 +#: part/models.py:3070 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3061 +#: part/models.py:3071 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3067 +#: part/models.py:3077 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3068 +#: part/models.py:3078 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3074 +#: part/models.py:3084 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3075 +#: part/models.py:3085 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3081 +#: part/models.py:3091 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3082 +#: part/models.py:3092 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3089 +#: part/models.py:3099 msgid "Override minimum cost" msgstr "" -#: part/models.py:3096 +#: part/models.py:3106 msgid "Override maximum cost" msgstr "" -#: part/models.py:3103 +#: part/models.py:3113 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3110 +#: part/models.py:3120 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3116 +#: part/models.py:3126 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3117 +#: part/models.py:3127 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3123 +#: part/models.py:3133 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3124 +#: part/models.py:3134 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3130 +#: part/models.py:3140 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3131 +#: part/models.py:3141 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3137 +#: part/models.py:3147 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3138 +#: part/models.py:3148 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3157 +#: part/models.py:3167 msgid "Part for stocktake" msgstr "" -#: part/models.py:3162 +#: part/models.py:3172 msgid "Item Count" msgstr "" -#: part/models.py:3163 +#: part/models.py:3173 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3171 +#: part/models.py:3181 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3175 part/models.py:3258 +#: part/models.py:3185 part/models.py:3268 #: part/templates/part/part_scheduling.html:13 #: 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:1086 templates/js/translated/pricing.js:826 +#: templates/js/translated/part.js:1089 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 #: templates/js/translated/purchase_order.js:1731 #: templates/js/translated/stock.js:2821 msgid "Date" msgstr "" -#: part/models.py:3176 +#: part/models.py:3186 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3184 +#: part/models.py:3194 msgid "Additional notes" msgstr "" -#: part/models.py:3194 +#: part/models.py:3204 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3200 +#: part/models.py:3210 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3201 +#: part/models.py:3211 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3207 +#: part/models.py:3217 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3208 +#: part/models.py:3218 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3264 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3274 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3265 +#: part/models.py:3275 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3270 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3280 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3271 +#: part/models.py:3281 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3281 +#: part/models.py:3291 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3423 +#: part/models.py:3301 +msgid "Part Sale Price Break" +msgstr "" + +#: part/models.py:3413 +msgid "Part Test Template" +msgstr "" + +#: part/models.py:3439 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3444 part/models.py:3608 +#: part/models.py:3460 part/models.py:3629 msgid "Choices must be unique" msgstr "" -#: part/models.py:3455 +#: part/models.py:3471 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3466 +#: part/models.py:3482 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3483 templates/js/translated/part.js:2880 +#: part/models.py:3499 templates/js/translated/part.js:2883 msgid "Test Name" msgstr "" -#: part/models.py:3484 +#: part/models.py:3500 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3490 +#: part/models.py:3506 msgid "Test Key" msgstr "" -#: part/models.py:3491 +#: part/models.py:3507 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3498 +#: part/models.py:3514 msgid "Test Description" msgstr "" -#: part/models.py:3499 +#: part/models.py:3515 msgid "Enter description for this test" msgstr "" -#: part/models.py:3503 report/models.py:209 -#: templates/js/translated/part.js:2901 +#: part/models.py:3519 report/models.py:209 +#: templates/js/translated/part.js:2904 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "" -#: part/models.py:3503 +#: part/models.py:3519 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3508 templates/js/translated/part.js:2909 +#: part/models.py:3524 templates/js/translated/part.js:2912 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3509 +#: part/models.py:3525 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3514 templates/js/translated/part.js:2917 +#: part/models.py:3530 templates/js/translated/part.js:2920 msgid "Requires Value" msgstr "" -#: part/models.py:3515 +#: part/models.py:3531 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3520 templates/js/translated/part.js:2924 +#: part/models.py:3536 templates/js/translated/part.js:2927 msgid "Requires Attachment" msgstr "" -#: part/models.py:3522 +#: part/models.py:3538 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3528 part/models.py:3667 templates/js/translated/part.js:1637 +#: part/models.py:3544 part/models.py:3688 templates/js/translated/part.js:1640 msgid "Choices" msgstr "" -#: part/models.py:3529 +#: part/models.py:3545 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3583 +#: part/models.py:3577 +msgid "Part Parameter Template" +msgstr "" + +#: part/models.py:3604 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3588 +#: part/models.py:3609 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3625 +#: part/models.py:3646 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3640 +#: part/models.py:3661 msgid "Parameter Name" msgstr "" -#: part/models.py:3647 +#: part/models.py:3668 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3655 +#: part/models.py:3676 msgid "Parameter description" msgstr "" -#: part/models.py:3661 templates/js/translated/part.js:1628 -#: templates/js/translated/table_filters.js:825 +#: part/models.py:3682 templates/js/translated/part.js:1631 +#: templates/js/translated/table_filters.js:830 msgid "Checkbox" msgstr "" -#: part/models.py:3662 +#: part/models.py:3683 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3668 +#: part/models.py:3689 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3745 +#: part/models.py:3723 +msgid "Part Parameter" +msgstr "" + +#: part/models.py:3749 +msgid "Parameter cannot be modified - part is locked" +msgstr "" + +#: part/models.py:3785 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3788 +#: part/models.py:3828 msgid "Parent Part" msgstr "" -#: part/models.py:3796 part/models.py:3897 part/models.py:3898 +#: part/models.py:3836 part/models.py:3944 part/models.py:3945 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3801 -msgid "Data" +#: part/models.py:3842 +msgid "Parameter Value" msgstr "" -#: part/models.py:3802 -msgid "Parameter Value" +#: part/models.py:3892 +msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:3904 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3951 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3905 +#: part/models.py:3952 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3943 +#: part/models.py:3990 msgid "Part ID or part name" msgstr "" -#: part/models.py:3944 +#: part/models.py:3991 msgid "Unique part ID value" msgstr "" -#: part/models.py:3946 +#: part/models.py:3993 msgid "Part IPN value" msgstr "" -#: part/models.py:3947 +#: part/models.py:3994 msgid "Level" msgstr "" -#: part/models.py:3947 +#: part/models.py:3994 msgid "BOM level" msgstr "" -#: part/models.py:4037 +#: part/models.py:4105 +msgid "BOM item cannot be modified - assembly is locked" +msgstr "" + +#: part/models.py:4112 +msgid "BOM item cannot be modified - variant assembly is locked" +msgstr "" + +#: part/models.py:4122 msgid "Select parent part" msgstr "" -#: part/models.py:4047 +#: part/models.py:4132 msgid "Sub part" msgstr "" -#: part/models.py:4048 +#: part/models.py:4133 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4059 +#: part/models.py:4144 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4065 +#: part/models.py:4150 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4071 +#: part/models.py:4156 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4078 part/templates/part/upload_bom.html:55 +#: part/models.py:4163 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4079 +#: part/models.py:4164 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4086 +#: part/models.py:4171 msgid "BOM item reference" msgstr "" -#: part/models.py:4094 +#: part/models.py:4179 msgid "BOM item notes" msgstr "" -#: part/models.py:4100 +#: part/models.py:4185 msgid "Checksum" msgstr "" -#: part/models.py:4101 +#: part/models.py:4186 msgid "BOM line checksum" msgstr "" -#: part/models.py:4106 templates/js/translated/table_filters.js:174 +#: part/models.py:4191 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4107 +#: part/models.py:4192 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4112 part/templates/part/upload_bom.html:57 +#: part/models.py:4197 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:4113 +#: part/models.py:4198 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4118 part/templates/part/upload_bom.html:56 +#: part/models.py:4203 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4119 +#: part/models.py:4204 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4204 stock/models.py:663 +#: part/models.py:4289 stock/models.py:663 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4214 part/models.py:4216 +#: part/models.py:4299 part/models.py:4301 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4354 +#: part/models.py:4439 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4375 +#: part/models.py:4460 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4388 +#: part/models.py:4473 msgid "Parent BOM item" msgstr "" -#: part/models.py:4396 +#: part/models.py:4481 msgid "Substitute part" msgstr "" -#: part/models.py:4412 +#: part/models.py:4497 msgid "Part 1" msgstr "" -#: part/models.py:4420 +#: part/models.py:4505 msgid "Part 2" msgstr "" -#: part/models.py:4421 +#: part/models.py:4506 msgid "Select Related Part" msgstr "" -#: part/models.py:4440 +#: part/models.py:4525 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4445 +#: part/models.py:4530 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:118 +#: part/serializers.py:124 msgid "Parent Category" msgstr "" -#: part/serializers.py:119 templates/js/translated/part.js:309 +#: part/serializers.py:125 templates/js/translated/part.js:308 msgid "Parent part category" msgstr "" -#: part/serializers.py:126 part/serializers.py:148 +#: part/serializers.py:132 part/serializers.py:154 #: part/templates/part/category.html:122 part/templates/part/category.html:207 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" -#: part/serializers.py:180 +#: part/serializers.py:189 msgid "Results" msgstr "" -#: part/serializers.py:181 +#: part/serializers.py:190 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:205 part/serializers.py:223 stock/serializers.py:562 +#: part/serializers.py:217 part/serializers.py:235 stock/serializers.py:608 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:268 +#: part/serializers.py:283 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:392 +#: part/serializers.py:410 msgid "No parts selected" msgstr "" -#: part/serializers.py:402 +#: part/serializers.py:420 msgid "Select category" msgstr "" -#: part/serializers.py:437 +#: part/serializers.py:455 msgid "Original Part" msgstr "" -#: part/serializers.py:438 +#: part/serializers.py:456 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:461 msgid "Copy Image" msgstr "" -#: part/serializers.py:444 +#: part/serializers.py:462 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:450 part/templates/part/detail.html:277 +#: part/serializers.py:468 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:451 +#: part/serializers.py:469 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:457 +#: part/serializers.py:475 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:458 +#: part/serializers.py:476 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:464 +#: part/serializers.py:482 msgid "Copy Notes" msgstr "" -#: part/serializers.py:465 +#: part/serializers.py:483 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:483 +#: part/serializers.py:501 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:485 +#: part/serializers.py:503 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:492 +#: part/serializers.py:510 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:493 +#: part/serializers.py:511 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:510 +#: part/serializers.py:528 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:526 +#: part/serializers.py:544 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:536 +#: part/serializers.py:554 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:543 +#: part/serializers.py:561 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:552 +#: part/serializers.py:570 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:563 +#: part/serializers.py:581 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:570 +#: part/serializers.py:588 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:834 -msgid "External Stock" -msgstr "" - -#: part/serializers.py:836 +#: part/serializers.py:864 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:839 +#: part/serializers.py:867 msgid "Variant Stock" msgstr "" -#: part/serializers.py:869 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:472 +#: part/serializers.py:897 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:870 +#: part/serializers.py:898 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:876 templates/js/translated/part.js:102 +#: part/serializers.py:904 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:877 +#: part/serializers.py:905 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:883 +#: part/serializers.py:911 msgid "Supplier Information" msgstr "" -#: part/serializers.py:884 +#: part/serializers.py:912 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:892 +#: part/serializers.py:920 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:893 +#: part/serializers.py:921 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:898 +#: part/serializers.py:926 msgid "Existing Image" msgstr "" -#: part/serializers.py:899 +#: part/serializers.py:927 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:916 +#: part/serializers.py:944 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1122 +#: part/serializers.py:1150 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1132 +#: part/serializers.py:1160 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1142 +#: part/serializers.py:1170 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1148 +#: part/serializers.py:1176 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1149 +#: part/serializers.py:1177 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1154 +#: part/serializers.py:1182 msgid "Generate Report" msgstr "" -#: part/serializers.py:1155 +#: part/serializers.py:1183 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1160 +#: part/serializers.py:1188 msgid "Update Parts" msgstr "" -#: part/serializers.py:1161 +#: part/serializers.py:1189 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1169 +#: part/serializers.py:1197 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1275 +#: part/serializers.py:1303 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1282 +#: part/serializers.py:1310 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1290 +#: part/serializers.py:1318 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1297 +#: part/serializers.py:1325 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1326 +#: part/serializers.py:1354 msgid "Update" msgstr "" -#: part/serializers.py:1327 +#: part/serializers.py:1355 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1350 +#: part/serializers.py:1378 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1357 +#: part/serializers.py:1385 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1360 +#: part/serializers.py:1388 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1727 +#: part/serializers.py:1759 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1735 +#: part/serializers.py:1767 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1736 +#: part/serializers.py:1768 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1741 +#: part/serializers.py:1773 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1742 +#: part/serializers.py:1774 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1747 +#: part/serializers.py:1779 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1748 +#: part/serializers.py:1780 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1753 +#: part/serializers.py:1785 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1754 +#: part/serializers.py:1786 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1788 +#: part/serializers.py:1823 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1789 +#: part/serializers.py:1824 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1819 +#: part/serializers.py:1856 msgid "No part column specified" msgstr "" -#: part/serializers.py:1863 +#: part/serializers.py:1900 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1866 +#: part/serializers.py:1903 msgid "No matching part found" msgstr "" -#: part/serializers.py:1869 +#: part/serializers.py:1906 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1878 +#: part/serializers.py:1915 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1886 +#: part/serializers.py:1923 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1907 +#: part/serializers.py:1946 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:225 templates/js/translated/part.js:1067 -#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 +#: part/stocktake.py:225 templates/js/translated/part.js:1070 +#: templates/js/translated/part.js:1825 templates/js/translated/part.js:1881 #: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "" @@ -7507,7 +7798,7 @@ msgstr "" #: part/templates/part/part_base.html:52 #: stock/templates/stock/item_base.html:62 -#: stock/templates/stock/location.html:74 templates/js/translated/label.js:143 +#: stock/templates/stock/location.html:74 templates/js/translated/label.js:136 msgid "Print Label" msgstr "" @@ -7529,7 +7820,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:2296 msgid "Part actions" msgstr "" @@ -7569,6 +7860,10 @@ msgstr "" msgid "Part can be sold to customers" msgstr "" +#: part/templates/part/part_base.html:145 +msgid "Part is not active" +msgstr "" + #: part/templates/part/part_base.html:153 msgid "Part is virtual (not a physical part)" msgstr "" @@ -7597,7 +7892,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:322 templates/js/translated/bom.js:1071 -#: templates/js/translated/part.js:1265 templates/js/translated/part.js:2444 +#: templates/js/translated/part.js:1268 templates/js/translated/part.js:2447 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" @@ -7690,8 +7985,8 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/part.js:1243 templates/js/translated/part.js:2146 -#: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 +#: templates/js/translated/part.js:1246 templates/js/translated/part.js:2149 +#: templates/js/translated/part.js:2395 templates/js/translated/stock.js:1059 #: templates/js/translated/stock.js:2070 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -7811,8 +8106,8 @@ msgstr "" #: part/templates/part/stock_count.html:7 #: templates/js/translated/model_renderers.js:227 -#: templates/js/translated/part.js:705 templates/js/translated/part.js:2141 -#: templates/js/translated/part.js:2143 +#: templates/js/translated/part.js:704 templates/js/translated/part.js:2144 +#: templates/js/translated/part.js:2146 msgid "No Stock" msgstr "" @@ -7956,7 +8251,7 @@ msgstr "" msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2589 +#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2590 #: templates/js/translated/sales_order.js:1953 msgid "Insufficient stock available" msgstr "" @@ -8051,7 +8346,7 @@ msgstr "" msgid "Quantity to allocate" msgstr "" -#: plugin/base/label/label.py:39 templates/js/translated/label.js:155 +#: plugin/base/label/label.py:39 templates/js/translated/label.js:148 msgid "Label printing failed" msgstr "" @@ -8748,7 +9043,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report.html:25 #: report/templates/report/inventree_test_report.html:88 stock/models.py:825 -#: stock/serializers.py:149 stock/templates/stock/item_base.html:311 +#: stock/serializers.py:151 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:230 @@ -8778,7 +9073,7 @@ msgstr "" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2447 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2457 msgid "Result" msgstr "" @@ -8799,7 +9094,7 @@ msgid "No result" msgstr "" #: report/templates/report/inventree_test_report.html:153 -#: stock/templates/stock/stock_sidebar.html:16 +#: stock/serializers.py:591 stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" @@ -8829,10 +9124,6 @@ msgstr "" msgid "Location ID" msgstr "" -#: stock/admin.py:53 stock/admin.py:175 -msgid "Location Name" -msgstr "" - #: stock/admin.py:63 stock/templates/stock/location.html:131 #: stock/templates/stock/location.html:137 msgid "Location Path" @@ -8909,7 +9200,7 @@ msgstr "" msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:369 stock/serializers.py:1085 +#: stock/api.py:369 stock/serializers.py:1148 msgid "Parent Location" msgstr "" @@ -8917,44 +9208,45 @@ msgstr "" msgid "Filter by parent location" msgstr "" -#: stock/api.py:625 templates/js/translated/table_filters.js:427 +#: stock/api.py:617 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:813 +#: stock/api.py:805 msgid "Part Tree" msgstr "" -#: stock/api.py:843 +#: stock/api.py:835 msgid "Expiry date before" msgstr "" -#: stock/api.py:847 +#: stock/api.py:839 msgid "Expiry date after" msgstr "" -#: stock/api.py:850 stock/templates/stock/item_base.html:439 +#: stock/api.py:842 stock/serializers.py:596 +#: stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "" -#: stock/api.py:937 +#: stock/api.py:929 msgid "Quantity is required" msgstr "" -#: stock/api.py:943 +#: stock/api.py:935 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:974 +#: stock/api.py:966 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:984 +#: stock/api.py:976 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1015 +#: stock/api.py:1007 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -9021,7 +9313,7 @@ msgstr "" msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:669 stock/serializers.py:446 +#: stock/models.py:669 stock/serializers.py:477 msgid "Stock item cannot be created for virtual parts" msgstr "" @@ -9066,7 +9358,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:799 stock/serializers.py:1476 +#: stock/models.py:799 stock/serializers.py:1542 msgid "Packaging this stock item is stored in" msgstr "" @@ -9078,7 +9370,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:843 stock/serializers.py:1459 +#: stock/models.py:843 stock/serializers.py:1525 msgid "Batch code for this stock item" msgstr "" @@ -9155,7 +9447,7 @@ msgstr "" msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1520 stock/serializers.py:660 +#: stock/models.py:1520 stock/serializers.py:718 msgid "Serial numbers already exist" msgstr "" @@ -9187,7 +9479,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1658 stock/serializers.py:1365 +#: stock/models.py:1658 stock/serializers.py:1431 msgid "Duplicate stock items" msgstr "" @@ -9207,288 +9499,336 @@ msgstr "" msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2345 +#: stock/models.py:2317 +#, fuzzy +#| msgid "Stock Item" +msgid "Stock Item Tracking" +msgstr "Postavka zaloge" + +#: stock/models.py:2350 msgid "Entry notes" msgstr "" -#: stock/models.py:2413 +#: stock/models.py:2390 +#, fuzzy +#| msgid "Stock item created" +msgid "Stock Item Test Result" +msgstr "Postavka zaloge ustvarjena" + +#: stock/models.py:2423 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2418 +#: stock/models.py:2428 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2423 +#: stock/models.py:2433 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2447 +#: stock/models.py:2457 msgid "Test result" msgstr "" -#: stock/models.py:2454 +#: stock/models.py:2464 msgid "Test output value" msgstr "" -#: stock/models.py:2462 +#: stock/models.py:2472 msgid "Test result attachment" msgstr "" -#: stock/models.py:2466 +#: stock/models.py:2476 msgid "Test notes" msgstr "" -#: stock/models.py:2474 templates/js/translated/stock.js:1548 +#: stock/models.py:2484 templates/js/translated/stock.js:1548 msgid "Test station" msgstr "" -#: stock/models.py:2475 +#: stock/models.py:2485 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2481 +#: stock/models.py:2491 msgid "Started" msgstr "" -#: stock/models.py:2482 +#: stock/models.py:2492 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2488 +#: stock/models.py:2498 msgid "Finished" msgstr "" -#: stock/models.py:2489 +#: stock/models.py:2499 msgid "The timestamp of the test finish" msgstr "" -#: stock/serializers.py:74 +#: stock/serializers.py:76 msgid "Generated batch code" msgstr "" -#: stock/serializers.py:83 +#: stock/serializers.py:85 msgid "Select build order" msgstr "" -#: stock/serializers.py:92 +#: stock/serializers.py:94 msgid "Select stock item to generate batch code for" msgstr "" -#: stock/serializers.py:101 +#: stock/serializers.py:103 msgid "Select location to generate batch code for" msgstr "" -#: stock/serializers.py:110 +#: stock/serializers.py:112 msgid "Select part to generate batch code for" msgstr "" -#: stock/serializers.py:119 +#: stock/serializers.py:121 msgid "Select purchase order" msgstr "" -#: stock/serializers.py:126 +#: stock/serializers.py:128 msgid "Enter quantity for batch code" msgstr "" -#: stock/serializers.py:149 +#: stock/serializers.py:151 msgid "Generated serial number" msgstr "" -#: stock/serializers.py:158 +#: stock/serializers.py:160 msgid "Select part to generate serial number for" msgstr "" -#: stock/serializers.py:166 +#: stock/serializers.py:168 msgid "Quantity of serial numbers to generate" msgstr "" -#: stock/serializers.py:228 +#: stock/serializers.py:233 msgid "Test template for this result" msgstr "" -#: stock/serializers.py:247 +#: stock/serializers.py:252 msgid "Template ID or test name must be provided" msgstr "" -#: stock/serializers.py:279 +#: stock/serializers.py:284 msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:315 +#: stock/serializers.py:320 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:438 +#: stock/serializers.py:449 stock/templates/stock/item_base.html:193 +msgid "Parent Item" +msgstr "" + +#: stock/serializers.py:450 +#, fuzzy +#| msgid "Source stock item" +msgid "Parent stock item" +msgstr "Izvorna postavka zaloge" + +#: stock/serializers.py:469 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:558 +#: stock/serializers.py:585 templates/js/translated/build.js:991 +#: templates/js/translated/build.js:2344 +msgid "Allocated Quantity" +msgstr "" + +#: stock/serializers.py:588 stock/templates/stock/item_base.html:437 +#: templates/js/translated/table_filters.js:435 users/models.py:174 +msgid "Expired" +msgstr "" + +#: stock/serializers.py:594 stock/templates/stock/stock_sidebar.html:20 +msgid "Child Items" +msgstr "" + +#: stock/serializers.py:598 +msgid "Tracking Items" +msgstr "" + +#: stock/serializers.py:604 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:595 +#: stock/serializers.py:623 +msgid "Minimum Pricing" +msgstr "" + +#: stock/serializers.py:629 +msgid "Maximum Pricing" +msgstr "" + +#: stock/serializers.py:653 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:608 +#: stock/serializers.py:666 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:615 +#: stock/serializers.py:673 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:626 stock/serializers.py:1322 stock/serializers.py:1578 +#: stock/serializers.py:684 stock/serializers.py:1388 stock/serializers.py:1644 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:633 +#: stock/serializers.py:691 msgid "Optional note field" msgstr "" -#: stock/serializers.py:643 +#: stock/serializers.py:701 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:698 +#: stock/serializers.py:756 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:705 +#: stock/serializers.py:763 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:706 +#: stock/serializers.py:764 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:711 stock/serializers.py:791 stock/serializers.py:887 -#: stock/serializers.py:937 +#: stock/serializers.py:769 stock/serializers.py:849 stock/serializers.py:945 +#: stock/serializers.py:995 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:719 +#: stock/serializers.py:777 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:727 +#: stock/serializers.py:785 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:738 +#: stock/serializers.py:796 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:751 +#: stock/serializers.py:809 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:786 +#: stock/serializers.py:844 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:821 +#: stock/serializers.py:879 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:834 +#: stock/serializers.py:892 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:851 +#: stock/serializers.py:909 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:882 +#: stock/serializers.py:940 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:919 +#: stock/serializers.py:977 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:925 +#: stock/serializers.py:983 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1021 stock/serializers.py:1093 +#: stock/serializers.py:1079 stock/serializers.py:1156 #: stock/templates/stock/location.html:165 #: stock/templates/stock/location.html:222 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1086 templates/js/translated/stock.js:152 +#: stock/serializers.py:1149 templates/js/translated/stock.js:152 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1194 +#: stock/serializers.py:1260 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1198 +#: stock/serializers.py:1264 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1202 +#: stock/serializers.py:1268 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1226 +#: stock/serializers.py:1292 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1232 +#: stock/serializers.py:1298 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1240 +#: stock/serializers.py:1306 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1250 stock/serializers.py:1504 +#: stock/serializers.py:1316 stock/serializers.py:1570 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1329 +#: stock/serializers.py:1395 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1334 +#: stock/serializers.py:1400 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1335 +#: stock/serializers.py:1401 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1340 +#: stock/serializers.py:1406 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1341 +#: stock/serializers.py:1407 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1351 +#: stock/serializers.py:1417 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1418 +#: stock/serializers.py:1484 msgid "No Change" msgstr "" -#: stock/serializers.py:1447 +#: stock/serializers.py:1513 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1466 +#: stock/serializers.py:1532 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1494 +#: stock/serializers.py:1560 msgid "Stock transaction notes" msgstr "" @@ -9757,10 +10097,6 @@ msgstr "" msgid "Build" msgstr "Izdelava" -#: stock/templates/stock/item_base.html:193 -msgid "Parent Item" -msgstr "" - #: stock/templates/stock/item_base.html:211 msgid "No manufacturer set" msgstr "" @@ -9836,11 +10172,6 @@ msgstr "" msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:437 -#: templates/js/translated/table_filters.js:435 users/models.py:174 -msgid "Expired" -msgstr "" - #: stock/templates/stock/item_base.html:439 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" @@ -9988,10 +10319,6 @@ msgstr "" msgid "Allocations" msgstr "" -#: stock/templates/stock/stock_sidebar.html:20 -msgid "Child Items" -msgstr "" - #: templates/403.html:6 templates/403.html:12 templates/403_csrf.html:7 msgid "Permission Denied" msgstr "" @@ -10466,8 +10793,8 @@ 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:393 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:245 users/models.py:402 +#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 +#: templates/js/translated/stock.js:245 users/models.py:406 msgid "Delete" msgstr "" @@ -10507,12 +10834,12 @@ msgid "No category parameter templates found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:308 -#: templates/js/translated/part.js:1646 +#: templates/js/translated/part.js:1649 msgid "Edit Template" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:309 -#: templates/js/translated/part.js:1647 +#: templates/js/translated/part.js:1650 msgid "Delete Template" msgstr "" @@ -11145,7 +11472,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2556 +#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2557 msgid "Required Quantity" msgstr "" @@ -11159,7 +11486,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3219 +#: templates/js/translated/part.js:3222 msgid "Minimum Quantity" msgstr "" @@ -11514,7 +11841,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2500 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2501 msgid "Variant stock allowed" msgstr "" @@ -11534,30 +11861,30 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2621 +#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2622 msgid "External stock" msgstr "" -#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2595 +#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2596 #: templates/js/translated/sales_order.js:1946 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2599 +#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2600 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2601 -#: templates/js/translated/part.js:1257 +#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2602 +#: templates/js/translated/part.js:1260 #: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2603 +#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2604 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2586 +#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2587 msgid "Consumable item" msgstr "" @@ -11589,7 +11916,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2485 +#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2486 msgid "Required Part" msgstr "" @@ -11758,10 +12085,6 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:991 templates/js/translated/build.js:2344 -msgid "Allocated Quantity" -msgstr "" - #: templates/js/translated/build.js:1005 msgid "Location not specified" msgstr "" @@ -11873,9 +12196,9 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2117 templates/js/translated/build.js:2479 +#: templates/js/translated/build.js:2117 templates/js/translated/build.js:2480 #: templates/js/translated/forms.js:2163 templates/js/translated/forms.js:2179 -#: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 +#: templates/js/translated/part.js:2319 templates/js/translated/part.js:2745 #: templates/js/translated/stock.js:1983 templates/js/translated/stock.js:2710 msgid "Select" msgstr "" @@ -11906,59 +12229,59 @@ msgstr "" msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2455 +#: templates/js/translated/build.js:2456 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2456 +#: templates/js/translated/build.js:2457 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2474 +#: templates/js/translated/build.js:2475 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2504 templates/js/translated/part.js:791 -#: templates/js/translated/part.js:1203 +#: templates/js/translated/build.js:2505 templates/js/translated/part.js:790 +#: templates/js/translated/part.js:1206 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2539 +#: templates/js/translated/build.js:2540 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2591 +#: templates/js/translated/build.js:2592 #: templates/js/translated/sales_order.js:1951 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2646 +#: templates/js/translated/build.js:2647 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2653 +#: templates/js/translated/build.js:2654 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2654 +#: templates/js/translated/build.js:2655 msgid "Allocate tracked items against individual build outputs" msgstr "" -#: templates/js/translated/build.js:2662 +#: templates/js/translated/build.js:2663 #: templates/js/translated/sales_order.js:2052 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2667 templates/js/translated/stock.js:1868 +#: templates/js/translated/build.js:2668 templates/js/translated/stock.js:1868 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2671 +#: templates/js/translated/build.js:2672 #: templates/js/translated/sales_order.js:2046 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2675 +#: templates/js/translated/build.js:2676 msgid "Remove stock allocation" msgstr "" @@ -12105,7 +12428,7 @@ msgid "Delete Parameters" msgstr "" #: templates/js/translated/company.js:1191 -#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2245 +#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2248 msgid "Order parts" msgstr "" @@ -12122,34 +12445,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:1279 -#: templates/js/translated/company.js:1567 templates/js/translated/part.js:799 -#: templates/js/translated/part.js:1211 +#: templates/js/translated/company.js:1567 templates/js/translated/part.js:798 +#: templates/js/translated/part.js:1214 msgid "Template part" msgstr "" #: templates/js/translated/company.js:1283 -#: templates/js/translated/company.js:1571 templates/js/translated/part.js:803 -#: templates/js/translated/part.js:1215 +#: templates/js/translated/company.js:1571 templates/js/translated/part.js:802 +#: templates/js/translated/part.js:1218 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1465 +#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1468 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1528 +#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1531 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1529 +#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1532 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1434 +#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1437 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1550 +#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1553 msgid "Delete Parameter" msgstr "" @@ -12323,15 +12646,15 @@ msgstr "" msgid "No parts required for builds" msgstr "" -#: templates/js/translated/label.js:55 templates/js/translated/report.js:38 +#: templates/js/translated/label.js:48 templates/js/translated/report.js:38 msgid "Select Items" msgstr "" -#: templates/js/translated/label.js:56 templates/js/translated/report.js:39 +#: templates/js/translated/label.js:49 templates/js/translated/report.js:39 msgid "No items selected for printing" msgstr "" -#: templates/js/translated/label.js:150 +#: templates/js/translated/label.js:143 msgid "Labels sent to printer" msgstr "" @@ -12400,7 +12723,7 @@ msgstr "" #: templates/js/translated/news.js:38 #: templates/js/translated/notification.js:46 -#: templates/js/translated/part.js:1605 +#: templates/js/translated/part.js:1608 msgid "ID" msgstr "" @@ -12481,343 +12804,343 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:333 templates/js/translated/stock.js:175 +#: templates/js/translated/part.js:332 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:353 +#: templates/js/translated/part.js:352 msgid "Create Part Category" msgstr "" -#: templates/js/translated/part.js:356 +#: templates/js/translated/part.js:355 msgid "Create new category after this one" msgstr "" -#: templates/js/translated/part.js:357 +#: templates/js/translated/part.js:356 msgid "Part category created" msgstr "" -#: templates/js/translated/part.js:371 +#: templates/js/translated/part.js:370 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:384 +#: templates/js/translated/part.js:383 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:389 +#: templates/js/translated/part.js:388 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:398 +#: templates/js/translated/part.js:397 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:402 +#: templates/js/translated/part.js:401 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:407 +#: templates/js/translated/part.js:406 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:431 +#: templates/js/translated/part.js:430 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:433 +#: templates/js/translated/part.js:432 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:434 +#: templates/js/translated/part.js:433 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:462 +#: templates/js/translated/part.js:461 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:464 +#: templates/js/translated/part.js:463 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:475 +#: templates/js/translated/part.js:474 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:532 +#: templates/js/translated/part.js:531 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:533 +#: templates/js/translated/part.js:532 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:547 +#: templates/js/translated/part.js:546 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:549 +#: templates/js/translated/part.js:548 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:550 +#: templates/js/translated/part.js:549 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:551 +#: templates/js/translated/part.js:550 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:558 +#: templates/js/translated/part.js:557 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:594 +#: templates/js/translated/part.js:593 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:596 +#: templates/js/translated/part.js:595 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:601 +#: templates/js/translated/part.js:600 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:603 +#: templates/js/translated/part.js:602 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:620 +#: templates/js/translated/part.js:619 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:630 +#: templates/js/translated/part.js:629 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:633 +#: templates/js/translated/part.js:632 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:658 +#: templates/js/translated/part.js:657 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:686 -#: templates/js/translated/table_filters.js:747 +#: templates/js/translated/part.js:685 +#: templates/js/translated/table_filters.js:752 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:689 +#: templates/js/translated/part.js:688 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:749 +#: templates/js/translated/part.js:748 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:772 +#: templates/js/translated/part.js:771 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:795 templates/js/translated/part.js:1207 +#: templates/js/translated/part.js:794 templates/js/translated/part.js:1210 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:807 +#: templates/js/translated/part.js:806 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:811 +#: templates/js/translated/part.js:810 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:890 +#: templates/js/translated/part.js:893 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:890 +#: templates/js/translated/part.js:893 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:898 +#: templates/js/translated/part.js:901 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:902 +#: templates/js/translated/part.js:905 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:1051 +#: templates/js/translated/part.js:1054 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1109 templates/js/translated/part.js:1145 +#: templates/js/translated/part.js:1112 templates/js/translated/part.js:1148 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1113 templates/js/translated/part.js:1155 +#: templates/js/translated/part.js:1116 templates/js/translated/part.js:1158 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1282 +#: templates/js/translated/part.js:1285 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1600 +#: templates/js/translated/part.js:1603 msgid "No part parameter templates found" msgstr "" -#: templates/js/translated/part.js:1663 +#: templates/js/translated/part.js:1666 msgid "Edit Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1675 +#: templates/js/translated/part.js:1678 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/js/translated/part.js:1683 +#: templates/js/translated/part.js:1686 msgid "Delete Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1717 +#: templates/js/translated/part.js:1720 #: templates/js/translated/purchase_order.js:1654 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/part.js:1861 +#: templates/js/translated/part.js:1864 #: 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:1907 +#: templates/js/translated/part.js:1910 #: templates/js/translated/purchase_order.js:2220 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1970 +#: templates/js/translated/part.js:1973 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1992 +#: templates/js/translated/part.js:1995 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2080 templates/js/translated/part.js:2506 +#: templates/js/translated/part.js:2083 templates/js/translated/part.js:2509 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:2201 +#: templates/js/translated/part.js:2204 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2206 +#: templates/js/translated/part.js:2209 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2236 +#: templates/js/translated/part.js:2239 msgid "Set category" msgstr "" -#: templates/js/translated/part.js:2287 +#: templates/js/translated/part.js:2290 msgid "part" msgstr "" -#: templates/js/translated/part.js:2288 +#: templates/js/translated/part.js:2291 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2384 +#: templates/js/translated/part.js:2387 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 +#: templates/js/translated/part.js:2534 templates/js/translated/part.js:2664 #: templates/js/translated/stock.js:2669 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2547 +#: templates/js/translated/part.js:2550 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2645 +#: templates/js/translated/part.js:2648 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2689 +#: templates/js/translated/part.js:2684 templates/js/translated/stock.js:2689 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2761 +#: templates/js/translated/part.js:2764 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2777 +#: templates/js/translated/part.js:2780 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2865 +#: templates/js/translated/part.js:2868 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2887 templates/js/translated/search.js:342 +#: templates/js/translated/part.js:2890 templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/part.js:2937 templates/js/translated/stock.js:1456 +#: templates/js/translated/part.js:2940 templates/js/translated/stock.js:1456 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2938 templates/js/translated/stock.js:1457 +#: templates/js/translated/part.js:2941 templates/js/translated/stock.js:1457 #: templates/js/translated/stock.js:1731 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2942 +#: templates/js/translated/part.js:2945 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2958 +#: templates/js/translated/part.js:2961 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2972 +#: templates/js/translated/part.js:2975 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3051 templates/js/translated/part.js:3052 +#: templates/js/translated/part.js:3054 templates/js/translated/part.js:3055 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3054 +#: templates/js/translated/part.js:3057 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3060 +#: templates/js/translated/part.js:3063 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3110 +#: templates/js/translated/part.js:3113 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3116 +#: templates/js/translated/part.js:3119 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3212 +#: templates/js/translated/part.js:3215 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3228 +#: templates/js/translated/part.js:3231 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3273 +#: templates/js/translated/part.js:3276 msgid "Minimum Stock Level" msgstr "" @@ -13593,7 +13916,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1042 users/models.py:392 +#: templates/js/translated/stock.js:1042 users/models.py:396 msgid "Add" msgstr "" @@ -13947,7 +14270,7 @@ msgid "Include subcategories" msgstr "" #: templates/js/translated/table_filters.js:287 -#: templates/js/translated/table_filters.js:759 +#: templates/js/translated/table_filters.js:764 msgid "Subscribed" msgstr "" @@ -14102,40 +14425,44 @@ msgstr "" msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:725 +#: templates/js/translated/table_filters.js:722 +msgid "Show locked parts" +msgstr "" + +#: templates/js/translated/table_filters.js:730 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:733 -#: templates/js/translated/table_filters.js:833 +#: templates/js/translated/table_filters.js:738 +#: templates/js/translated/table_filters.js:838 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:734 +#: templates/js/translated/table_filters.js:739 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:738 +#: templates/js/translated/table_filters.js:743 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:739 +#: templates/js/translated/table_filters.js:744 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:743 +#: templates/js/translated/table_filters.js:748 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:751 +#: templates/js/translated/table_filters.js:756 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:763 +#: templates/js/translated/table_filters.js:768 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:829 +#: templates/js/translated/table_filters.js:834 msgid "Has Choices" msgstr "" @@ -14207,10 +14534,6 @@ msgstr "" msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:558 -msgid "Columns" -msgstr "" - #: templates/js/translated/tables.js:561 msgid "All" msgstr "" @@ -14484,35 +14807,34 @@ msgstr "" msgid "Revoked" msgstr "" -#: users/models.py:375 +#: users/models.py:379 msgid "Permission set" msgstr "" -#: users/models.py:384 +#: users/models.py:388 msgid "Group" msgstr "" -#: users/models.py:388 +#: users/models.py:392 msgid "View" msgstr "" -#: users/models.py:388 +#: users/models.py:392 msgid "Permission to view items" msgstr "" -#: users/models.py:392 +#: users/models.py:396 msgid "Permission to add items" msgstr "" -#: users/models.py:396 +#: users/models.py:400 msgid "Change" msgstr "" -#: users/models.py:398 +#: users/models.py:402 msgid "Permissions to edit items" msgstr "" -#: users/models.py:404 +#: users/models.py:408 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 38d051ca985d..f59467e37b3c 100644 --- a/src/backend/InvenTree/locale/sr/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/sr/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-07-05 02:47+0000\n" +"POT-Creation-Date: 2024-07-08 14:46+0000\n" "PO-Revision-Date: 2024-07-05 14:58\n" "Last-Translator: \n" "Language-Team: Serbian (Latin)\n" @@ -21,7 +21,7 @@ msgstr "" msgid "API endpoint not found" msgstr "API krajnja tačka nije pronađena" -#: InvenTree/api.py:520 +#: InvenTree/api.py:505 msgid "User does not have permission to view this model" msgstr "Korisnik nema dozvolu za pregled ovog modela" @@ -56,21 +56,21 @@ msgstr "Detalji o grešci se mogu naći u admin sekciji" msgid "Enter date" msgstr "Unesite datum" -#: InvenTree/fields.py:205 InvenTree/models.py:918 build/serializers.py:452 -#: build/serializers.py:530 build/templates/build/sidebar.html:21 -#: company/models.py:817 company/templates/company/sidebar.html:37 +#: InvenTree/fields.py:205 InvenTree/models.py:921 build/serializers.py:456 +#: build/serializers.py:534 build/templates/build/sidebar.html:21 +#: company/models.py:824 company/templates/company/sidebar.html:37 #: order/models.py:1296 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:3183 part/templates/part/part_sidebar.html:63 +#: part/models.py:3193 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:230 stock/models.py:2344 stock/models.py:2466 -#: stock/serializers.py:632 stock/serializers.py:790 stock/serializers.py:886 -#: stock/serializers.py:936 stock/serializers.py:1239 stock/serializers.py:1328 -#: stock/serializers.py:1493 stock/templates/stock/stock_sidebar.html:25 +#: stock/admin.py:230 stock/models.py:2349 stock/models.py:2476 +#: stock/serializers.py:690 stock/serializers.py:848 stock/serializers.py:944 +#: stock/serializers.py:994 stock/serializers.py:1305 stock/serializers.py:1394 +#: stock/serializers.py:1559 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:1081 +#: templates/js/translated/part.js:1084 #: templates/js/translated/purchase_order.js:2200 #: templates/js/translated/return_order.js:775 #: templates/js/translated/sales_order.js:1103 @@ -371,41 +371,41 @@ msgstr "Metapodaci dodatka" msgid "JSON metadata field, for use by external plugins" msgstr "Polje metapodataka JSON, za korištenje eksternih dodataka" -#: InvenTree/models.py:408 +#: InvenTree/models.py:411 msgid "Improperly formatted pattern" msgstr "Neispravno formatiran obrazac" -#: InvenTree/models.py:415 +#: InvenTree/models.py:418 msgid "Unknown format key specified" msgstr "Naveden je ključ nepoznatog formata" -#: InvenTree/models.py:421 +#: InvenTree/models.py:424 msgid "Missing required format key" msgstr "Nedostaje potreban ključ formata" -#: InvenTree/models.py:432 +#: InvenTree/models.py:435 msgid "Reference field cannot be empty" msgstr "Polje za reference ne može biti prazno" -#: InvenTree/models.py:440 +#: InvenTree/models.py:443 msgid "Reference must match required pattern" msgstr "Referenca mora odgovarati traženom obrascu" -#: InvenTree/models.py:471 +#: InvenTree/models.py:474 msgid "Reference number is too large" msgstr "Broj reference je predugačak" -#: InvenTree/models.py:719 +#: InvenTree/models.py:722 msgid "Duplicate names cannot exist under the same parent" msgstr "Dvostruka imena ne mogu postojati pod istom nadredjenom grupom" -#: InvenTree/models.py:736 +#: InvenTree/models.py:739 msgid "Invalid choice" msgstr "Nevažeći izvor" -#: InvenTree/models.py:766 common/models.py:2678 common/models.py:3103 -#: common/serializers.py:408 company/models.py:580 machine/models.py:24 -#: part/models.py:891 part/models.py:3639 plugin/models.py:51 +#: InvenTree/models.py:769 common/models.py:2659 common/models.py:3089 +#: common/serializers.py:412 company/models.py:587 machine/models.py:24 +#: part/models.py:895 part/models.py:3660 plugin/models.py:51 #: report/models.py:150 stock/models.py:74 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -417,20 +417,20 @@ msgstr "Nevažeći izvor" #: templates/js/translated/company.js:724 #: templates/js/translated/company.js:913 #: templates/js/translated/company.js:1165 -#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1187 -#: templates/js/translated/part.js:1475 templates/js/translated/part.js:1611 -#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2716 +#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1190 +#: templates/js/translated/part.js:1478 templates/js/translated/part.js:1614 +#: templates/js/translated/part.js:2752 templates/js/translated/stock.js:2716 msgid "Name" msgstr "Ime" -#: InvenTree/models.py:772 build/models.py:235 -#: build/templates/build/detail.html:24 common/models.py:138 -#: company/models.py:509 company/models.py:808 +#: InvenTree/models.py:775 build/models.py:242 +#: build/templates/build/detail.html:24 common/models.py:143 +#: company/models.py:515 company/models.py:815 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 -#: order/models.py:1329 part/admin.py:305 part/admin.py:408 part/models.py:914 -#: part/models.py:3654 part/templates/part/category.html:82 +#: order/models.py:1329 part/admin.py:305 part/admin.py:408 part/models.py:918 +#: part/models.py:3675 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:156 #: report/models.py:510 report/models.py:536 @@ -444,10 +444,10 @@ msgstr "Ime" #: templates/js/translated/build.js:2139 templates/js/translated/company.js:519 #: templates/js/translated/company.js:1330 #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 -#: templates/js/translated/order.js:298 templates/js/translated/part.js:1239 -#: templates/js/translated/part.js:1484 templates/js/translated/part.js:1622 -#: templates/js/translated/part.js:1959 templates/js/translated/part.js:2355 -#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2897 +#: templates/js/translated/order.js:298 templates/js/translated/part.js:1242 +#: templates/js/translated/part.js:1487 templates/js/translated/part.js:1625 +#: templates/js/translated/part.js:1962 templates/js/translated/part.js:2358 +#: templates/js/translated/part.js:2788 templates/js/translated/part.js:2900 #: templates/js/translated/plugin.js:80 #: templates/js/translated/purchase_order.js:1706 #: templates/js/translated/purchase_order.js:1849 @@ -460,53 +460,53 @@ msgstr "Ime" msgid "Description" msgstr "Opis" -#: InvenTree/models.py:773 stock/models.py:81 +#: InvenTree/models.py:776 stock/models.py:81 msgid "Description (optional)" msgstr "Opis (Opciono)" -#: InvenTree/models.py:788 templates/js/translated/part.js:2794 +#: InvenTree/models.py:791 templates/js/translated/part.js:2797 #: templates/js/translated/stock.js:2757 msgid "Path" msgstr "Putanja" -#: InvenTree/models.py:918 +#: InvenTree/models.py:921 msgid "Markdown notes (optional)" msgstr "Zabeleške (Opciono)" -#: InvenTree/models.py:947 +#: InvenTree/models.py:950 msgid "Barcode Data" msgstr "Podaci sa barkoda" -#: InvenTree/models.py:948 +#: InvenTree/models.py:951 msgid "Third party barcode data" msgstr "Podaci sa barkoda trećih lica" -#: InvenTree/models.py:954 +#: InvenTree/models.py:957 msgid "Barcode Hash" msgstr "Heš barkoda" -#: InvenTree/models.py:955 +#: InvenTree/models.py:958 msgid "Unique hash of barcode data" msgstr "Jedinstveni hash barkoda" -#: InvenTree/models.py:1008 +#: InvenTree/models.py:1011 msgid "Existing barcode found" msgstr "Postojeći barkod pronađen" -#: InvenTree/models.py:1051 +#: InvenTree/models.py:1054 msgid "Server Error" msgstr "Greška servera" -#: InvenTree/models.py:1052 +#: InvenTree/models.py:1055 msgid "An error has been logged by the server." msgstr "Server je zabležio grešku." -#: InvenTree/serializers.py:63 part/models.py:4192 +#: InvenTree/serializers.py:63 part/models.py:4277 msgid "Must be a valid number" msgstr "Mora biti važeći broj" #: InvenTree/serializers.py:100 company/models.py:186 -#: company/templates/company/company_base.html:112 part/models.py:3001 +#: company/templates/company/company_base.html:112 part/models.py:3011 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -556,16 +556,16 @@ msgstr "" msgid "Is this user a superuser" msgstr "" -#: InvenTree/serializers.py:445 common/models.py:2683 company/models.py:163 -#: company/models.py:782 machine/models.py:39 part/admin.py:88 -#: part/models.py:1081 plugin/models.py:66 +#: InvenTree/serializers.py:445 common/models.py:2664 company/models.py:163 +#: company/models.py:789 machine/models.py:39 part/admin.py:88 +#: part/models.py:1085 plugin/models.py:66 #: 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 #: templates/js/translated/table_filters.js:520 #: templates/js/translated/table_filters.js:716 -#: templates/js/translated/table_filters.js:796 users/models.py:182 +#: templates/js/translated/table_filters.js:801 users/models.py:182 msgid "Active" msgstr "" @@ -597,7 +597,7 @@ msgstr "" msgid "Invalid value" msgstr "Nevažeća vrednost" -#: InvenTree/serializers.py:581 +#: InvenTree/serializers.py:581 importer/models.py:60 msgid "Data File" msgstr "Datoteka" @@ -651,7 +651,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:1174 +#: InvenTree/status.py:66 part/serializers.py:1202 msgid "Background worker check failed" msgstr "Provera pozadinskog radnika nije uspjela" @@ -711,47 +711,48 @@ msgstr "" msgid "About InvenTree" msgstr "" -#: build/api.py:255 +#: build/api.py:248 msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:299 part/models.py:4070 templates/js/translated/bom.js:997 -#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 +#: build/api.py:292 build/serializers.py:1190 part/models.py:4155 +#: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 +#: templates/js/translated/build.js:2521 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:300 part/models.py:4064 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 +#: build/api.py:293 build/serializers.py:1191 part/models.py:4149 +#: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 +#: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2530 #: templates/js/translated/table_filters.js:186 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:587 msgid "Optional" msgstr "" -#: build/api.py:301 templates/js/translated/table_filters.js:408 +#: build/api.py:294 templates/js/translated/table_filters.js:408 #: templates/js/translated/table_filters.js:579 msgid "Tracked" msgstr "" -#: build/api.py:303 part/admin.py:144 templates/js/translated/build.js:1744 -#: templates/js/translated/build.js:2629 +#: build/api.py:296 part/admin.py:144 templates/js/translated/build.js:1744 +#: templates/js/translated/build.js:2630 #: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:571 msgid "Allocated" msgstr "" -#: build/api.py:311 company/models.py:872 company/serializers.py:359 +#: build/api.py:304 company/models.py:879 company/serializers.py:386 #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2561 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2562 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:234 -#: templates/js/translated/part.js:693 templates/js/translated/part.js:695 -#: templates/js/translated/part.js:700 +#: 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 #: templates/js/translated/table_filters.js:575 msgid "Available" @@ -760,7 +761,7 @@ msgstr "" #: build/models.py:85 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 -#: stock/serializers.py:82 templates/email/build_order_completed.html:16 +#: stock/serializers.py:84 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:2892 msgid "Build Order" @@ -781,35 +782,43 @@ msgstr "Nalozi za izradu" msgid "Assembly BOM has not been validated" msgstr "" -#: build/models.py:134 part/templates/part/part_base.html:145 -msgid "Part is not active" -msgstr "" +#: build/models.py:134 +#, fuzzy +#| msgid "Build order part cannot be changed" +msgid "Build order cannot be created for an inactive part" +msgstr "Deo u nalogu za izradu ne može se izmeniti" -#: build/models.py:148 +#: build/models.py:141 +#, fuzzy +#| msgid "Build order part cannot be changed" +msgid "Build order cannot be created for an unlocked part" +msgstr "Deo u nalogu za izradu ne može se izmeniti" + +#: build/models.py:155 msgid "Invalid choice for parent build" msgstr "Nevažeći izbor za nadređenu verziju" -#: build/models.py:159 order/models.py:240 +#: build/models.py:166 order/models.py:240 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:165 +#: build/models.py:172 msgid "Build order part cannot be changed" msgstr "Deo u nalogu za izradu ne može se izmeniti" -#: build/models.py:226 +#: build/models.py:233 msgid "Build Order Reference" msgstr "Reference naloga za pravljenje" -#: build/models.py:227 order/models.py:463 order/models.py:926 -#: order/models.py:1289 order/models.py:2020 part/admin.py:411 -#: part/models.py:4085 part/templates/part/upload_bom.html:54 +#: build/models.py:234 build/serializers.py:1189 order/models.py:463 +#: order/models.py:926 order/models.py:1289 order/models.py:2046 +#: part/admin.py:411 part/models.py:4170 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: 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/build.js:2513 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2065 #: templates/js/translated/return_order.js:728 @@ -817,27 +826,28 @@ msgstr "Reference naloga za pravljenje" msgid "Reference" msgstr "Referenca" -#: build/models.py:238 +#: build/models.py:245 msgid "Brief description of the build (optional)" msgstr "Kratak opis izrade (nije obavezno)" -#: build/models.py:246 build/templates/build/build_base.html:183 +#: build/models.py:253 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/models.py:247 +#: build/models.py:254 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:252 build/templates/build/build_base.html:97 -#: build/templates/build/detail.html:29 company/models.py:1026 order/api.py:805 -#: order/models.py:1414 order/models.py:1559 order/models.py:1560 -#: part/api.py:1494 part/api.py:1788 part/models.py:395 part/models.py:3012 -#: part/models.py:3156 part/models.py:3303 part/models.py:3324 -#: part/models.py:3346 part/models.py:3477 part/models.py:3787 -#: part/models.py:3943 part/models.py:4036 part/models.py:4395 -#: part/serializers.py:1120 part/serializers.py:1726 +#: build/models.py:259 build/serializers.py:1184 +#: build/templates/build/build_base.html:97 +#: build/templates/build/detail.html:29 company/models.py:1034 order/api.py:759 +#: order/models.py:1419 order/models.py:1574 order/models.py:1575 +#: part/api.py:1480 part/api.py:1776 part/models.py:396 part/models.py:3022 +#: part/models.py:3166 part/models.py:3314 part/models.py:3335 +#: part/models.py:3357 part/models.py:3493 part/models.py:3827 +#: part/models.py:3990 part/models.py:4121 part/models.py:4480 +#: part/serializers.py:1148 part/serializers.py:1758 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -848,8 +858,8 @@ msgstr "" #: 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:109 stock/serializers.py:157 stock/serializers.py:423 -#: stock/serializers.py:820 templates/InvenTree/search.html:82 +#: stock/serializers.py:111 stock/serializers.py:159 stock/serializers.py:443 +#: stock/serializers.py:878 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 @@ -862,8 +872,8 @@ msgstr "" #: templates/js/translated/company.js:1116 #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 -#: templates/js/translated/part.js:1944 templates/js/translated/part.js:2016 -#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:1947 templates/js/translated/part.js:2019 +#: templates/js/translated/part.js:2327 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:1848 @@ -881,107 +891,107 @@ msgstr "" msgid "Part" msgstr "" -#: build/models.py:260 +#: build/models.py:267 msgid "Select part to build" msgstr "" -#: build/models.py:265 +#: build/models.py:272 msgid "Sales Order Reference" msgstr "" -#: build/models.py:269 +#: build/models.py:276 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:274 build/serializers.py:999 +#: build/models.py:281 build/serializers.py:1003 #: templates/js/translated/build.js:1731 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "" -#: build/models.py:278 +#: build/models.py:285 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:283 +#: build/models.py:290 msgid "Destination Location" msgstr "" -#: build/models.py:287 +#: build/models.py:294 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:291 +#: build/models.py:298 msgid "Build Quantity" msgstr "" -#: build/models.py:294 +#: build/models.py:301 msgid "Number of stock items to build" msgstr "" -#: build/models.py:298 +#: build/models.py:305 msgid "Completed items" msgstr "" -#: build/models.py:300 +#: build/models.py:307 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:304 +#: build/models.py:311 msgid "Build Status" msgstr "" -#: build/models.py:308 +#: build/models.py:315 msgid "Build status code" msgstr "" -#: build/models.py:317 build/serializers.py:286 order/serializers.py:580 -#: stock/models.py:839 stock/serializers.py:74 stock/serializers.py:1458 +#: build/models.py:324 build/serializers.py:290 order/serializers.py:629 +#: stock/models.py:839 stock/serializers.py:76 stock/serializers.py:1524 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "" -#: build/models.py:321 build/serializers.py:287 +#: build/models.py:328 build/serializers.py:291 msgid "Batch code for this build output" msgstr "" -#: build/models.py:324 order/models.py:316 order/serializers.py:119 -#: part/models.py:1115 part/templates/part/part_base.html:310 +#: build/models.py:331 order/models.py:316 order/serializers.py:127 +#: part/models.py:1125 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:328 +#: build/models.py:335 msgid "Target completion date" msgstr "" -#: build/models.py:329 +#: build/models.py:336 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:332 order/models.py:521 order/models.py:2065 +#: build/models.py:339 order/models.py:521 order/models.py:2091 #: templates/js/translated/build.js:2247 msgid "Completion Date" msgstr "" -#: build/models.py:338 +#: build/models.py:345 msgid "completed by" msgstr "" -#: build/models.py:346 templates/js/translated/build.js:2207 +#: build/models.py:353 templates/js/translated/build.js:2207 msgid "Issued by" msgstr "" -#: build/models.py:347 +#: build/models.py:354 msgid "User who issued this build order" msgstr "" -#: build/models.py:355 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 common/models.py:147 +#: build/models.py:362 build/templates/build/build_base.html:204 +#: build/templates/build/detail.html:122 common/models.py:152 #: order/models.py:334 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:232 part/models.py:1132 +#: order/templates/order/sales_order_base.html:232 part/models.py:1142 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 @@ -992,11 +1002,11 @@ msgstr "" msgid "Responsible" msgstr "" -#: build/models.py:356 +#: build/models.py:363 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:361 build/templates/build/detail.html:108 +#: build/models.py:368 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 @@ -1008,21 +1018,22 @@ msgstr "" msgid "External Link" msgstr "" -#: build/models.py:362 common/models.py:3244 part/models.py:956 +#: build/models.py:369 common/models.py:3230 part/models.py:960 #: stock/models.py:835 msgid "Link to external URL" msgstr "Link za eksterni URL" -#: build/models.py:366 +#: build/models.py:373 msgid "Build Priority" msgstr "" -#: build/models.py:369 +#: build/models.py:376 msgid "Priority of this build order" msgstr "" -#: build/models.py:376 common/models.py:131 order/admin.py:18 -#: order/models.py:298 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:383 common/models.py:122 common/models.py:136 +#: order/admin.py:18 order/models.py:298 order/serializers.py:108 +#: templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 #: templates/js/translated/purchase_order.js:1710 #: templates/js/translated/return_order.js:317 @@ -1032,65 +1043,66 @@ msgstr "" msgid "Project Code" msgstr "" -#: build/models.py:377 +#: build/models.py:384 msgid "Project code for this build order" msgstr "" -#: build/models.py:610 build/models.py:675 +#: build/models.py:617 build/models.py:682 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:632 +#: build/models.py:639 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:638 +#: build/models.py:645 msgid "A build order has been completed" msgstr "" -#: build/models.py:864 build/models.py:949 +#: build/models.py:871 build/models.py:956 msgid "No build output specified" msgstr "" -#: build/models.py:867 +#: build/models.py:874 msgid "Build output is already completed" msgstr "" -#: build/models.py:870 +#: build/models.py:877 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:953 build/serializers.py:219 build/serializers.py:268 -#: build/serializers.py:866 order/models.py:559 order/serializers.py:432 -#: order/serializers.py:575 part/serializers.py:1484 part/serializers.py:1884 -#: stock/models.py:678 stock/models.py:1496 stock/serializers.py:603 +#: build/models.py:960 build/serializers.py:223 build/serializers.py:272 +#: build/serializers.py:870 order/models.py:559 order/serializers.py:461 +#: order/serializers.py:624 part/serializers.py:1515 part/serializers.py:1921 +#: stock/models.py:678 stock/models.py:1496 stock/serializers.py:661 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:958 build/serializers.py:224 +#: build/models.py:965 build/serializers.py:228 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1018 build/serializers.py:547 +#: build/models.py:1025 build/serializers.py:551 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1359 +#: build/models.py:1366 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1384 +#: build/models.py:1391 msgid "Build object" msgstr "" -#: build/models.py:1398 build/models.py:1654 build/serializers.py:206 -#: build/serializers.py:253 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2563 -#: order/models.py:1272 order/models.py:1931 order/serializers.py:1327 +#: build/models.py:1405 build/models.py:1661 build/serializers.py:210 +#: build/serializers.py:257 build/serializers.py:1194 +#: build/templates/build/build_base.html:102 +#: build/templates/build/detail.html:34 common/models.py:2544 +#: order/models.py:1272 order/models.py:1957 order/serializers.py:1383 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:410 -#: part/forms.py:48 part/models.py:3170 part/models.py:4058 +#: part/forms.py:48 part/models.py:3180 part/models.py:4143 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1100,7 +1112,7 @@ msgstr "" #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:169 stock/admin.py:159 -#: stock/serializers.py:125 stock/serializers.py:165 stock/serializers.py:594 +#: stock/serializers.py:127 stock/serializers.py:167 stock/serializers.py:652 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 @@ -1111,8 +1123,8 @@ msgstr "" #: templates/js/translated/build.js:1746 templates/js/translated/build.js:2357 #: templates/js/translated/company.js:1818 #: templates/js/translated/model_renderers.js:236 -#: templates/js/translated/order.js:304 templates/js/translated/part.js:962 -#: templates/js/translated/part.js:1812 templates/js/translated/part.js:3342 +#: templates/js/translated/order.js:304 templates/js/translated/part.js:965 +#: templates/js/translated/part.js:1815 templates/js/translated/part.js:3345 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 @@ -1132,38 +1144,38 @@ msgstr "" msgid "Quantity" msgstr "" -#: build/models.py:1399 +#: build/models.py:1406 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1479 +#: build/models.py:1486 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1488 +#: build/models.py:1495 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1498 order/models.py:1882 +#: build/models.py:1505 order/models.py:1908 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1504 order/models.py:1885 +#: build/models.py:1511 order/models.py:1911 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1510 +#: build/models.py:1517 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1569 +#: build/models.py:1576 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1641 build/serializers.py:846 order/serializers.py:1171 -#: order/serializers.py:1192 stock/models.py:359 stock/serializers.py:91 -#: stock/serializers.py:697 stock/serializers.py:1177 stock/serializers.py:1289 +#: build/models.py:1648 build/serializers.py:850 order/serializers.py:1227 +#: order/serializers.py:1248 stock/models.py:359 stock/serializers.py:93 +#: stock/serializers.py:755 stock/serializers.py:1243 stock/serializers.py:1355 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 @@ -1179,70 +1191,76 @@ msgstr "" msgid "Stock Item" msgstr "" -#: build/models.py:1642 +#: build/models.py:1649 msgid "Source stock item" msgstr "" -#: build/models.py:1655 +#: build/models.py:1662 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1663 +#: build/models.py:1670 msgid "Install into" msgstr "" -#: build/models.py:1664 +#: build/models.py:1671 msgid "Destination stock item" msgstr "" -#: build/serializers.py:156 build/serializers.py:875 +#: build/serializers.py:89 build/serializers.py:1185 part/admin.py:41 +#: part/admin.py:405 part/models.py:3992 part/stocktake.py:220 +#: stock/admin.py:156 +msgid "Part Name" +msgstr "" + +#: build/serializers.py:160 build/serializers.py:879 #: templates/js/translated/build.js:1322 msgid "Build Output" msgstr "" -#: build/serializers.py:168 +#: build/serializers.py:172 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:172 +#: build/serializers.py:176 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:176 +#: build/serializers.py:180 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:187 +#: build/serializers.py:191 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:207 build/serializers.py:254 +#: build/serializers.py:211 build/serializers.py:258 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:275 +#: build/serializers.py:279 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:278 +#: build/serializers.py:282 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:293 order/serializers.py:588 order/serializers.py:1331 -#: stock/serializers.py:614 templates/js/translated/purchase_order.js:1153 +#: build/serializers.py:297 order/serializers.py:637 order/serializers.py:1387 +#: stock/serializers.py:672 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:294 +#: build/serializers.py:298 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:299 build/serializers.py:440 build/serializers.py:512 -#: order/serializers.py:564 order/serializers.py:672 order/serializers.py:1656 -#: part/serializers.py:1140 stock/serializers.py:100 stock/serializers.py:625 -#: stock/serializers.py:785 stock/serializers.py:881 stock/serializers.py:1321 -#: stock/serializers.py:1577 stock/templates/stock/item_base.html:394 +#: build/serializers.py:303 build/serializers.py:444 build/serializers.py:516 +#: order/serializers.py:613 order/serializers.py:721 order/serializers.py:1714 +#: part/serializers.py:1168 stock/serializers.py:102 stock/serializers.py:683 +#: stock/serializers.py:843 stock/serializers.py:939 stock/serializers.py:1387 +#: stock/serializers.py:1643 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 @@ -1258,54 +1276,54 @@ msgstr "" msgid "Location" msgstr "" -#: build/serializers.py:300 +#: build/serializers.py:304 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:314 +#: build/serializers.py:318 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:315 +#: build/serializers.py:319 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:330 +#: build/serializers.py:334 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:355 stock/api.py:1041 +#: build/serializers.py:359 stock/api.py:1033 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:402 build/serializers.py:464 build/serializers.py:553 +#: build/serializers.py:406 build/serializers.py:468 build/serializers.py:557 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:441 +#: build/serializers.py:445 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:447 +#: build/serializers.py:451 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:448 +#: build/serializers.py:452 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:453 +#: build/serializers.py:457 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:513 +#: build/serializers.py:517 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:519 build/templates/build/build_base.html:151 +#: build/serializers.py:523 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:950 -#: order/models.py:2044 order/serializers.py:596 stock/admin.py:164 -#: stock/serializers.py:932 stock/serializers.py:1465 +#: order/models.py:2070 order/serializers.py:645 stock/admin.py:164 +#: stock/serializers.py:990 stock/serializers.py:1531 #: 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 @@ -1317,193 +1335,245 @@ msgstr "" msgid "Status" msgstr "" -#: build/serializers.py:525 +#: build/serializers.py:529 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:526 +#: build/serializers.py:530 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:611 +#: build/serializers.py:615 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:612 +#: build/serializers.py:616 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:618 +#: build/serializers.py:622 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:619 +#: build/serializers.py:623 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:646 +#: build/serializers.py:650 msgid "Not permitted" msgstr "" -#: build/serializers.py:647 +#: build/serializers.py:651 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:648 +#: build/serializers.py:652 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:678 +#: build/serializers.py:682 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:680 +#: build/serializers.py:684 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:690 +#: build/serializers.py:694 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:695 +#: build/serializers.py:699 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:696 +#: build/serializers.py:700 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:706 templates/js/translated/build.js:315 +#: build/serializers.py:710 templates/js/translated/build.js:315 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:711 order/serializers.py:300 order/serializers.py:1234 +#: build/serializers.py:715 order/serializers.py:319 order/serializers.py:1290 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:712 +#: build/serializers.py:716 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:722 templates/js/translated/build.js:319 +#: build/serializers.py:726 templates/js/translated/build.js:319 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:731 templates/js/translated/build.js:303 +#: build/serializers.py:735 templates/js/translated/build.js:303 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:769 +#: build/serializers.py:773 msgid "Build Line" msgstr "" -#: build/serializers.py:779 +#: build/serializers.py:783 msgid "Build output" msgstr "" -#: build/serializers.py:787 +#: build/serializers.py:791 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:823 +#: build/serializers.py:827 msgid "Build Line Item" msgstr "" -#: build/serializers.py:837 +#: build/serializers.py:841 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:852 stock/serializers.py:1190 +#: build/serializers.py:856 stock/serializers.py:1256 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:900 order/serializers.py:1225 +#: build/serializers.py:904 order/serializers.py:1281 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:906 +#: build/serializers.py:910 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:913 +#: build/serializers.py:917 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:937 order/serializers.py:1477 +#: build/serializers.py:941 order/serializers.py:1533 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:1000 +#: build/serializers.py:1004 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:1008 +#: build/serializers.py:1012 msgid "Exclude Location" msgstr "" -#: build/serializers.py:1009 +#: build/serializers.py:1013 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:1014 +#: build/serializers.py:1018 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:1015 +#: build/serializers.py:1019 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:1020 +#: build/serializers.py:1024 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:1021 +#: build/serializers.py:1025 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:1026 +#: build/serializers.py:1030 msgid "Optional Items" msgstr "" -#: build/serializers.py:1027 +#: build/serializers.py:1031 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1049 +#: build/serializers.py:1053 msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1139 part/models.py:3953 part/models.py:4387 -#: stock/api.py:804 +#: build/serializers.py:1095 +msgid "Supplier Part Number" +msgstr "" + +#: build/serializers.py:1096 company/models.py:500 +msgid "Manufacturer Part Number" +msgstr "" + +#: build/serializers.py:1097 stock/admin.py:53 stock/admin.py:175 +#: stock/serializers.py:454 +msgid "Location Name" +msgstr "" + +#: build/serializers.py:1098 +#, fuzzy +#| msgid "Build Order Reference" +msgid "Build Reference" +msgstr "Reference naloga za pravljenje" + +#: build/serializers.py:1099 +#, fuzzy +#| msgid "Reference" +msgid "BOM Reference" +msgstr "Referenca" + +#: build/serializers.py:1186 part/admin.py:402 part/models.py:3993 +msgid "Part IPN" +msgstr "" + +#: build/serializers.py:1192 common/models.py:1488 part/admin.py:113 +#: part/models.py:1068 templates/js/translated/table_filters.js:147 +#: templates/js/translated/table_filters.js:223 +#: templates/js/translated/table_filters.js:776 +msgid "Trackable" +msgstr "" + +#: build/serializers.py:1196 part/models.py:4000 part/models.py:4472 +#: stock/api.py:796 msgid "BOM Item" msgstr "" -#: build/serializers.py:1148 templates/js/translated/index.js:130 +#: build/serializers.py:1205 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1153 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:828 part/serializers.py:1502 +#: build/serializers.py:1210 part/admin.py:132 part/bom.py:173 +#: part/serializers.py:856 part/serializers.py:1533 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2613 templates/js/translated/part.js:710 -#: templates/js/translated/part.js:2149 +#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709 +#: templates/js/translated/part.js:2152 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "" -#: build/serializers.py:1158 part/serializers.py:1504 -#: templates/js/translated/build.js:2617 +#: build/serializers.py:1215 part/serializers.py:1535 +#: templates/js/translated/build.js:2618 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1163 part/bom.py:172 part/serializers.py:1527 +#: build/serializers.py:1220 part/bom.py:172 part/serializers.py:1558 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" msgstr "" +#: build/serializers.py:1224 +msgid "Available Substitute Stock" +msgstr "" + +#: build/serializers.py:1225 +msgid "Available Variant Stock" +msgstr "" + +#: build/serializers.py:1226 +msgid "Total Available Stock" +msgstr "" + +#: build/serializers.py:1227 part/serializers.py:862 +msgid "External Stock" +msgstr "" + #: build/status_codes.py:11 generic/states/tests.py:17 order/status_codes.py:12 #: order/status_codes.py:37 order/status_codes.py:64 order/status_codes.py:82 #: templates/js/translated/table_filters.js:598 @@ -1519,7 +1589,8 @@ msgstr "" msgid "Cancelled" msgstr "Otkazano" -#: build/status_codes.py:14 generic/states/tests.py:19 order/status_codes.py:14 +#: build/status_codes.py:14 generic/states/tests.py:19 importer/models.py:468 +#: importer/status_codes.py:19 order/status_codes.py:14 #: order/status_codes.py:44 order/status_codes.py:69 #: order/templates/order/order_base.html:158 #: order/templates/order/sales_order_base.html:165 report/models.py:444 @@ -1652,11 +1723,12 @@ msgstr "" #: build/templates/build/build_base.html:160 #: build/templates/build/detail.html:138 order/models.py:309 -#: order/models.py:1307 order/templates/order/order_base.html:186 +#: order/models.py:1307 order/serializers.py:174 +#: order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: 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:1831 +#: templates/js/translated/build.js:2239 templates/js/translated/part.js:1834 #: templates/js/translated/purchase_order.js:1739 #: templates/js/translated/purchase_order.js:2147 #: templates/js/translated/return_order.js:346 @@ -1689,8 +1761,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1463 order/models.py:845 -#: order/models.py:1551 order/models.py:1665 order/models.py:1819 +#: build/templates/build/detail.html:101 order/api.py:1384 order/models.py:845 +#: order/models.py:1566 order/models.py:1681 order/models.py:1840 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 @@ -1740,7 +1812,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1443 +#: build/templates/build/detail.html:49 order/models.py:1448 #: templates/js/translated/purchase_order.js:2189 msgid "Destination" msgstr "" @@ -1892,31 +1964,31 @@ msgstr "" msgid "Incomplete Outputs" msgstr "" -#: common/api.py:689 +#: common/api.py:690 msgid "Is Link" msgstr "" -#: common/api.py:697 +#: common/api.py:698 msgid "Is File" msgstr "" -#: common/api.py:739 +#: common/api.py:740 msgid "User does not have permission to delete this attachment" msgstr "" -#: common/currency.py:130 +#: common/currency.py:132 msgid "Invalid currency code" msgstr "" -#: common/currency.py:132 +#: common/currency.py:134 msgid "Duplicate currency code" msgstr "" -#: common/currency.py:137 +#: common/currency.py:139 msgid "No valid currency codes provided" msgstr "" -#: common/currency.py:154 +#: common/currency.py:156 msgid "No plugin" msgstr "" @@ -1970,1635 +2042,1604 @@ msgstr "" msgid "Site URL is locked by configuration" msgstr "" -#: common/models.py:132 +#: common/models.py:137 msgid "Unique project code" msgstr "" -#: common/models.py:139 +#: common/models.py:144 msgid "Project description" msgstr "" -#: common/models.py:148 +#: common/models.py:153 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:765 +#: common/models.py:770 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:769 +#: common/models.py:774 msgid "Settings value" msgstr "" -#: common/models.py:821 +#: common/models.py:826 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:837 +#: common/models.py:842 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:845 +#: common/models.py:850 msgid "Value must be an integer value" msgstr "" -#: common/models.py:882 +#: common/models.py:887 msgid "Key string must be unique" msgstr "" -#: common/models.py:1114 +#: common/models.py:1119 msgid "No group" msgstr "" -#: common/models.py:1213 +#: common/models.py:1218 msgid "Restart required" msgstr "" -#: common/models.py:1215 +#: common/models.py:1220 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:1222 +#: common/models.py:1227 msgid "Pending migrations" msgstr "" -#: common/models.py:1223 +#: common/models.py:1228 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1228 +#: common/models.py:1233 msgid "Server Instance Name" msgstr "" -#: common/models.py:1230 +#: common/models.py:1235 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1234 +#: common/models.py:1239 msgid "Use instance name" msgstr "" -#: common/models.py:1235 +#: common/models.py:1240 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1240 +#: common/models.py:1245 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1241 +#: common/models.py:1246 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1246 company/models.py:111 company/models.py:112 +#: common/models.py:1251 company/models.py:111 company/models.py:112 msgid "Company name" msgstr "" -#: common/models.py:1247 +#: common/models.py:1252 msgid "Internal company name" msgstr "" -#: common/models.py:1251 +#: common/models.py:1256 msgid "Base URL" msgstr "" -#: common/models.py:1252 +#: common/models.py:1257 msgid "Base URL for server instance" msgstr "" -#: common/models.py:1258 +#: common/models.py:1263 msgid "Default Currency" msgstr "" -#: common/models.py:1259 +#: common/models.py:1264 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1265 +#: common/models.py:1270 msgid "Supported Currencies" msgstr "" -#: common/models.py:1266 +#: common/models.py:1271 msgid "List of supported currency codes" msgstr "" -#: common/models.py:1272 +#: common/models.py:1277 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1274 +#: common/models.py:1279 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1277 common/models.py:1333 common/models.py:1346 -#: common/models.py:1354 common/models.py:1363 common/models.py:1372 -#: common/models.py:1596 common/models.py:1618 common/models.py:1733 -#: common/models.py:2100 +#: common/models.py:1282 common/models.py:1338 common/models.py:1351 +#: common/models.py:1359 common/models.py:1368 common/models.py:1377 +#: common/models.py:1601 common/models.py:1623 common/models.py:1738 +#: common/models.py:2111 msgid "days" msgstr "" -#: common/models.py:1281 +#: common/models.py:1286 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1282 +#: common/models.py:1287 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1287 +#: common/models.py:1292 msgid "Download from URL" msgstr "" -#: common/models.py:1289 +#: common/models.py:1294 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:1295 +#: common/models.py:1300 msgid "Download Size Limit" msgstr "" -#: common/models.py:1296 +#: common/models.py:1301 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1302 +#: common/models.py:1307 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1304 +#: common/models.py:1309 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/models.py:1309 +#: common/models.py:1314 msgid "Strict URL Validation" msgstr "" -#: common/models.py:1310 +#: common/models.py:1315 msgid "Require schema specification when validating URLs" msgstr "" -#: common/models.py:1315 +#: common/models.py:1320 msgid "Require confirm" msgstr "" -#: common/models.py:1316 +#: common/models.py:1321 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:1321 +#: common/models.py:1326 msgid "Tree Depth" msgstr "" -#: common/models.py:1323 +#: common/models.py:1328 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1329 +#: common/models.py:1334 msgid "Update Check Interval" msgstr "" -#: common/models.py:1330 +#: common/models.py:1335 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:1336 +#: common/models.py:1341 msgid "Automatic Backup" msgstr "" -#: common/models.py:1337 +#: common/models.py:1342 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:1342 +#: common/models.py:1347 msgid "Auto Backup Interval" msgstr "" -#: common/models.py:1343 +#: common/models.py:1348 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1349 +#: common/models.py:1354 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1351 +#: common/models.py:1356 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1358 +#: common/models.py:1363 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1360 +#: common/models.py:1365 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1367 +#: common/models.py:1372 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1369 +#: common/models.py:1374 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1376 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1381 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "" -#: common/models.py:1377 +#: common/models.py:1382 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1382 +#: common/models.py:1387 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1383 +#: common/models.py:1388 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1389 +#: common/models.py:1394 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1390 +#: common/models.py:1395 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1395 +#: common/models.py:1400 msgid "Barcode Show Data" msgstr "" -#: common/models.py:1396 +#: common/models.py:1401 msgid "Display barcode data in browser as text" msgstr "" -#: common/models.py:1401 +#: common/models.py:1406 msgid "Part Revisions" msgstr "" -#: common/models.py:1402 +#: common/models.py:1407 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1407 +#: common/models.py:1412 msgid "Allow Deletion from Assembly" msgstr "" -#: common/models.py:1408 +#: common/models.py:1413 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/models.py:1413 +#: common/models.py:1418 msgid "IPN Regex" msgstr "" -#: common/models.py:1414 +#: common/models.py:1419 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1417 +#: common/models.py:1422 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1418 +#: common/models.py:1423 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1423 +#: common/models.py:1428 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1424 +#: common/models.py:1429 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1429 +#: common/models.py:1434 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1430 +#: common/models.py:1435 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1435 +#: common/models.py:1440 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1436 +#: common/models.py:1441 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1441 +#: common/models.py:1446 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1442 +#: common/models.py:1447 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1447 +#: common/models.py:1452 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1448 +#: common/models.py:1453 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1453 part/admin.py:108 part/models.py:3795 +#: common/models.py:1458 part/admin.py:108 part/models.py:3835 #: report/models.py:294 report/models.py:361 report/serializers.py:90 -#: report/serializers.py:131 stock/serializers.py:227 +#: report/serializers.py:131 stock/serializers.py:232 #: templates/js/translated/table_filters.js:139 -#: templates/js/translated/table_filters.js:767 +#: templates/js/translated/table_filters.js:772 msgid "Template" msgstr "" -#: common/models.py:1454 +#: common/models.py:1459 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1459 part/admin.py:91 part/admin.py:425 part/models.py:1052 +#: common/models.py:1464 part/admin.py:91 part/admin.py:425 part/models.py:1056 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 -#: templates/js/translated/table_filters.js:721 +#: templates/js/translated/table_filters.js:726 msgid "Assembly" msgstr "" -#: common/models.py:1460 +#: common/models.py:1465 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1465 part/admin.py:95 part/models.py:1058 -#: templates/js/translated/table_filters.js:729 +#: common/models.py:1470 part/admin.py:95 part/models.py:1062 +#: templates/js/translated/table_filters.js:734 msgid "Component" msgstr "" -#: common/models.py:1466 +#: common/models.py:1471 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1471 part/admin.py:100 part/models.py:1070 +#: common/models.py:1476 part/admin.py:100 part/models.py:1074 msgid "Purchaseable" msgstr "" -#: common/models.py:1472 +#: common/models.py:1477 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1477 part/admin.py:104 part/models.py:1076 -#: templates/js/translated/table_filters.js:755 +#: common/models.py:1482 part/admin.py:104 part/models.py:1080 +#: templates/js/translated/table_filters.js:760 msgid "Salable" msgstr "" -#: common/models.py:1478 +#: common/models.py:1483 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1483 part/admin.py:113 part/models.py:1064 -#: 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:1484 +#: common/models.py:1489 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1489 part/admin.py:117 part/models.py:1086 +#: common/models.py:1494 part/admin.py:117 part/models.py:1096 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 -#: templates/js/translated/table_filters.js:775 +#: templates/js/translated/table_filters.js:780 msgid "Virtual" msgstr "" -#: common/models.py:1490 +#: common/models.py:1495 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1495 +#: common/models.py:1500 msgid "Show Import in Views" msgstr "" -#: common/models.py:1496 +#: common/models.py:1501 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1501 +#: common/models.py:1506 msgid "Show related parts" msgstr "" -#: common/models.py:1502 +#: common/models.py:1507 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1507 +#: common/models.py:1512 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1508 +#: common/models.py:1513 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1513 templates/js/translated/part.js:107 +#: common/models.py:1518 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1515 +#: common/models.py:1520 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1521 +#: common/models.py:1526 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1522 +#: common/models.py:1527 msgid "Format to display the part name" msgstr "" -#: common/models.py:1528 +#: common/models.py:1533 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1529 +#: common/models.py:1534 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1533 +#: common/models.py:1538 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1535 +#: common/models.py:1540 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1541 +#: common/models.py:1546 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1543 +#: common/models.py:1548 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1554 +#: common/models.py:1559 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1556 +#: common/models.py:1561 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1567 +#: common/models.py:1572 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1569 +#: common/models.py:1574 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1575 +#: common/models.py:1580 msgid "Purchase History Override" msgstr "" -#: common/models.py:1577 +#: common/models.py:1582 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1583 +#: common/models.py:1588 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1585 +#: common/models.py:1590 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1591 +#: common/models.py:1596 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1593 +#: common/models.py:1598 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1600 +#: common/models.py:1605 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1601 +#: common/models.py:1606 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1606 +#: common/models.py:1611 msgid "Active Variants Only" msgstr "" -#: common/models.py:1608 +#: common/models.py:1613 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1614 +#: common/models.py:1619 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1616 +#: common/models.py:1621 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1623 +#: common/models.py:1628 msgid "Internal Prices" msgstr "" -#: common/models.py:1624 +#: common/models.py:1629 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1629 +#: common/models.py:1634 msgid "Internal Price Override" msgstr "" -#: common/models.py:1631 +#: common/models.py:1636 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1637 +#: common/models.py:1642 msgid "Enable label printing" msgstr "" -#: common/models.py:1638 +#: common/models.py:1643 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1643 +#: common/models.py:1648 msgid "Label Image DPI" msgstr "" -#: common/models.py:1645 +#: common/models.py:1650 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1651 +#: common/models.py:1656 msgid "Enable Reports" msgstr "" -#: common/models.py:1652 +#: common/models.py:1657 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1657 templates/stats.html:25 +#: common/models.py:1662 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1658 +#: common/models.py:1663 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1663 +#: common/models.py:1668 msgid "Log Report Errors" msgstr "" -#: common/models.py:1664 +#: common/models.py:1669 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1669 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1674 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:302 msgid "Page Size" msgstr "" -#: common/models.py:1670 +#: common/models.py:1675 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1675 +#: common/models.py:1680 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1676 +#: common/models.py:1681 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1681 +#: common/models.py:1686 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1683 +#: common/models.py:1688 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1689 +#: common/models.py:1694 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1690 +#: common/models.py:1695 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1695 +#: common/models.py:1700 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1696 +#: common/models.py:1701 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1701 +#: common/models.py:1706 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1703 +#: common/models.py:1708 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1709 +#: common/models.py:1714 msgid "Batch Code Template" msgstr "" -#: common/models.py:1711 +#: common/models.py:1716 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1716 +#: common/models.py:1721 msgid "Stock Expiry" msgstr "" -#: common/models.py:1717 +#: common/models.py:1722 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1722 +#: common/models.py:1727 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1723 +#: common/models.py:1728 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1728 +#: common/models.py:1733 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1730 +#: common/models.py:1735 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1737 +#: common/models.py:1742 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1738 +#: common/models.py:1743 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1743 +#: common/models.py:1748 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1744 +#: common/models.py:1749 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1749 +#: common/models.py:1754 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1750 +#: common/models.py:1755 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1754 +#: common/models.py:1759 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1755 +#: common/models.py:1760 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1760 +#: common/models.py:1765 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1762 +#: common/models.py:1767 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1768 +#: common/models.py:1773 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1770 +#: common/models.py:1775 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1776 +#: common/models.py:1781 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1778 +#: common/models.py:1783 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1784 common/models.py:1826 common/models.py:1848 -#: common/models.py:1884 +#: common/models.py:1789 common/models.py:1837 common/models.py:1859 +#: common/models.py:1895 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1785 common/models.py:1827 common/models.py:1849 -#: common/models.py:1885 +#: common/models.py:1790 common/models.py:1838 common/models.py:1860 +#: common/models.py:1896 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1790 +#: common/models.py:1795 msgid "Require Active Part" msgstr "" -#: common/models.py:1791 +#: common/models.py:1796 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/models.py:1796 +#: common/models.py:1801 +msgid "Require Locked Part" +msgstr "" + +#: common/models.py:1802 +msgid "Prevent build order creation for unlocked parts" +msgstr "" + +#: common/models.py:1807 msgid "Require Valid BOM" msgstr "" -#: common/models.py:1798 +#: common/models.py:1809 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/models.py:1804 +#: common/models.py:1815 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1806 +#: common/models.py:1817 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1812 +#: common/models.py:1823 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1813 +#: common/models.py:1824 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1818 +#: common/models.py:1829 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1820 +#: common/models.py:1831 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1832 +#: common/models.py:1843 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1834 +#: common/models.py:1845 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1840 +#: common/models.py:1851 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1842 +#: common/models.py:1853 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1854 +#: common/models.py:1865 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1855 +#: common/models.py:1866 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1860 +#: common/models.py:1871 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1862 +#: common/models.py:1873 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1868 +#: common/models.py:1879 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1870 +#: common/models.py:1881 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1876 +#: common/models.py:1887 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1878 +#: common/models.py:1889 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1890 +#: common/models.py:1901 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1892 +#: common/models.py:1903 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1898 +#: common/models.py:1909 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1900 +#: common/models.py:1911 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1907 +#: common/models.py:1918 msgid "Enable password forgot" msgstr "" -#: common/models.py:1908 +#: common/models.py:1919 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1913 +#: common/models.py:1924 msgid "Enable registration" msgstr "" -#: common/models.py:1914 +#: common/models.py:1925 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1919 +#: common/models.py:1930 msgid "Enable SSO" msgstr "" -#: common/models.py:1920 +#: common/models.py:1931 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1925 +#: common/models.py:1936 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1927 +#: common/models.py:1938 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1933 +#: common/models.py:1944 msgid "Enable SSO group sync" msgstr "" -#: common/models.py:1935 +#: common/models.py:1946 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/models.py:1941 +#: common/models.py:1952 msgid "SSO group key" msgstr "" -#: common/models.py:1943 +#: common/models.py:1954 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/models.py:1949 +#: common/models.py:1960 msgid "SSO group map" msgstr "" -#: common/models.py:1951 +#: common/models.py:1962 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/models.py:1957 +#: common/models.py:1968 msgid "Remove groups outside of SSO" msgstr "" -#: common/models.py:1959 +#: common/models.py:1970 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/models.py:1965 +#: common/models.py:1976 msgid "Email required" msgstr "" -#: common/models.py:1966 +#: common/models.py:1977 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1971 +#: common/models.py:1982 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1973 +#: common/models.py:1984 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1979 +#: common/models.py:1990 msgid "Mail twice" msgstr "" -#: common/models.py:1980 +#: common/models.py:1991 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1985 +#: common/models.py:1996 msgid "Password twice" msgstr "" -#: common/models.py:1986 +#: common/models.py:1997 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1991 +#: common/models.py:2002 msgid "Allowed domains" msgstr "" -#: common/models.py:1993 +#: common/models.py:2004 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1999 +#: common/models.py:2010 msgid "Group on signup" msgstr "" -#: common/models.py:2001 +#: common/models.py:2012 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/models.py:2007 +#: common/models.py:2018 msgid "Enforce MFA" msgstr "" -#: common/models.py:2008 +#: common/models.py:2019 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:2013 +#: common/models.py:2024 msgid "Check plugins on startup" msgstr "" -#: common/models.py:2015 +#: common/models.py:2026 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:2023 +#: common/models.py:2034 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2024 +#: common/models.py:2035 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2030 +#: common/models.py:2041 msgid "Enable URL integration" msgstr "" -#: common/models.py:2031 +#: common/models.py:2042 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:2037 +#: common/models.py:2048 msgid "Enable navigation integration" msgstr "" -#: common/models.py:2038 +#: common/models.py:2049 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2044 +#: common/models.py:2055 msgid "Enable app integration" msgstr "" -#: common/models.py:2045 +#: common/models.py:2056 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2051 +#: common/models.py:2062 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2052 +#: common/models.py:2063 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2058 +#: common/models.py:2069 msgid "Enable event integration" msgstr "" -#: common/models.py:2059 +#: common/models.py:2070 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2065 +#: common/models.py:2076 msgid "Enable project codes" msgstr "" -#: common/models.py:2066 +#: common/models.py:2077 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2071 +#: common/models.py:2082 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2073 +#: common/models.py:2084 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2079 +#: common/models.py:2090 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2081 +#: common/models.py:2092 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2087 +#: common/models.py:2098 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2089 +#: common/models.py:2100 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2095 +#: common/models.py:2106 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2097 +#: common/models.py:2108 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2104 +#: common/models.py:2115 msgid "Display Users full names" msgstr "" -#: common/models.py:2105 +#: common/models.py:2116 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2110 +#: common/models.py:2121 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2111 +#: common/models.py:2122 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2123 common/models.py:2533 +#: common/models.py:2134 common/models.py:2514 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2166 +#: common/models.py:2177 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2168 +#: common/models.py:2179 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2174 +#: common/models.py:2185 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2175 +#: common/models.py:2186 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2180 +#: common/models.py:2191 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2181 +#: common/models.py:2192 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2186 +#: common/models.py:2197 msgid "Show latest parts" msgstr "" -#: common/models.py:2187 +#: common/models.py:2198 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2192 +#: common/models.py:2203 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2193 +#: common/models.py:2204 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2198 +#: common/models.py:2209 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2199 +#: common/models.py:2210 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2204 +#: common/models.py:2215 msgid "Show low stock" msgstr "" -#: common/models.py:2205 +#: common/models.py:2216 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2210 +#: common/models.py:2221 msgid "Show depleted stock" msgstr "" -#: common/models.py:2211 +#: common/models.py:2222 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2216 +#: common/models.py:2227 msgid "Show needed stock" msgstr "" -#: common/models.py:2217 +#: common/models.py:2228 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2222 +#: common/models.py:2233 msgid "Show expired stock" msgstr "" -#: common/models.py:2223 +#: common/models.py:2234 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2228 +#: common/models.py:2239 msgid "Show stale stock" msgstr "" -#: common/models.py:2229 +#: common/models.py:2240 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2234 +#: common/models.py:2245 msgid "Show pending builds" msgstr "" -#: common/models.py:2235 +#: common/models.py:2246 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2240 +#: common/models.py:2251 msgid "Show overdue builds" msgstr "" -#: common/models.py:2241 +#: common/models.py:2252 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2246 +#: common/models.py:2257 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2247 +#: common/models.py:2258 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2252 +#: common/models.py:2263 msgid "Show overdue POs" msgstr "" -#: common/models.py:2253 +#: common/models.py:2264 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2258 +#: common/models.py:2269 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2259 +#: common/models.py:2270 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2264 +#: common/models.py:2275 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2265 +#: common/models.py:2276 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2270 +#: common/models.py:2281 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2271 +#: common/models.py:2282 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2276 +#: common/models.py:2287 msgid "Show News" msgstr "" -#: common/models.py:2277 +#: common/models.py:2288 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2282 +#: common/models.py:2293 msgid "Inline label display" msgstr "" -#: common/models.py:2284 +#: common/models.py:2295 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2290 +#: common/models.py:2301 msgid "Default label printer" msgstr "" -#: common/models.py:2292 +#: common/models.py:2303 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2298 +#: common/models.py:2309 msgid "Inline report display" msgstr "" -#: common/models.py:2300 +#: common/models.py:2311 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2306 +#: common/models.py:2317 msgid "Search Parts" msgstr "" -#: common/models.py:2307 +#: common/models.py:2318 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2312 +#: common/models.py:2323 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2313 +#: common/models.py:2324 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2318 +#: common/models.py:2329 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2319 +#: common/models.py:2330 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2324 +#: common/models.py:2335 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2325 +#: common/models.py:2336 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2330 +#: common/models.py:2341 msgid "Search Categories" msgstr "" -#: common/models.py:2331 +#: common/models.py:2342 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2336 +#: common/models.py:2347 msgid "Search Stock" msgstr "" -#: common/models.py:2337 +#: common/models.py:2348 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2342 +#: common/models.py:2353 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2344 +#: common/models.py:2355 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2350 +#: common/models.py:2361 msgid "Search Locations" msgstr "" -#: common/models.py:2351 +#: common/models.py:2362 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2356 +#: common/models.py:2367 msgid "Search Companies" msgstr "" -#: common/models.py:2357 +#: common/models.py:2368 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2362 +#: common/models.py:2373 msgid "Search Build Orders" msgstr "" -#: common/models.py:2363 +#: common/models.py:2374 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2368 +#: common/models.py:2379 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2369 +#: common/models.py:2380 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2374 +#: common/models.py:2385 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2376 +#: common/models.py:2387 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2382 +#: common/models.py:2393 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2383 +#: common/models.py:2394 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2388 +#: common/models.py:2399 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2390 +#: common/models.py:2401 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2396 +#: common/models.py:2407 msgid "Search Return Orders" msgstr "" -#: common/models.py:2397 +#: common/models.py:2408 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2402 +#: common/models.py:2413 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2404 +#: common/models.py:2415 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2410 +#: common/models.py:2421 msgid "Search Preview Results" msgstr "" -#: common/models.py:2412 +#: common/models.py:2423 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2418 +#: common/models.py:2429 msgid "Regex Search" msgstr "" -#: common/models.py:2419 +#: common/models.py:2430 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2424 +#: common/models.py:2435 msgid "Whole Word Search" msgstr "" -#: common/models.py:2425 +#: common/models.py:2436 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2430 +#: common/models.py:2441 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2431 +#: common/models.py:2442 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2436 +#: common/models.py:2447 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2437 +#: common/models.py:2448 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2442 +#: common/models.py:2453 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2443 +#: common/models.py:2454 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2448 +#: common/models.py:2459 msgid "Date Format" msgstr "" -#: common/models.py:2449 +#: common/models.py:2460 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2462 part/templates/part/detail.html:41 +#: common/models.py:2473 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2463 +#: common/models.py:2474 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2468 part/templates/part/detail.html:62 +#: common/models.py:2479 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2470 +#: common/models.py:2481 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2476 +#: common/models.py:2487 msgid "Table String Length" msgstr "" -#: common/models.py:2478 +#: common/models.py:2489 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2484 -msgid "Default part label template" -msgstr "" - -#: common/models.py:2485 -msgid "The part label template to be automatically selected" -msgstr "" - -#: common/models.py:2490 -msgid "Default stock item template" -msgstr "" - -#: common/models.py:2492 -msgid "The stock item label template to be automatically selected" -msgstr "" - -#: common/models.py:2498 -msgid "Default stock location label template" -msgstr "" - -#: common/models.py:2500 -msgid "The stock location label template to be automatically selected" -msgstr "" - -#: common/models.py:2506 -msgid "Default build line label template" -msgstr "" - -#: common/models.py:2508 -msgid "The build line label template to be automatically selected" -msgstr "" - -#: common/models.py:2514 +#: common/models.py:2495 msgid "Receive error reports" msgstr "" -#: common/models.py:2515 +#: common/models.py:2496 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2520 +#: common/models.py:2501 msgid "Last used printing machines" msgstr "" -#: common/models.py:2521 +#: common/models.py:2502 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2541 common/models.py:2542 common/models.py:2691 -#: common/models.py:2692 common/models.py:2937 common/models.py:2938 -#: common/models.py:3259 common/models.py:3260 part/models.py:3193 -#: part/models.py:3280 part/models.py:3353 part/models.py:3381 -#: plugin/models.py:274 plugin/models.py:275 +#: common/models.py:2522 common/models.py:2523 common/models.py:2672 +#: common/models.py:2673 common/models.py:2918 common/models.py:2919 +#: common/models.py:3245 common/models.py:3246 importer/models.py:85 +#: part/models.py:3203 part/models.py:3290 part/models.py:3364 +#: part/models.py:3392 plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 msgid "User" msgstr "Korisnik" -#: common/models.py:2564 +#: common/models.py:2545 msgid "Price break quantity" msgstr "" -#: common/models.py:2571 company/serializers.py:472 order/admin.py:42 -#: order/models.py:1346 order/models.py:2265 -#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1886 +#: common/models.py:2552 company/serializers.py:502 order/admin.py:42 +#: order/models.py:1346 order/models.py:2292 +#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1889 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:740 msgid "Price" msgstr "" -#: common/models.py:2572 +#: common/models.py:2553 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2668 common/models.py:2853 +#: common/models.py:2649 common/models.py:2834 msgid "Endpoint" msgstr "" -#: common/models.py:2669 +#: common/models.py:2650 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2679 +#: common/models.py:2660 msgid "Name for this webhook" msgstr "" -#: common/models.py:2683 +#: common/models.py:2664 msgid "Is this webhook active" msgstr "" -#: common/models.py:2699 users/models.py:159 +#: common/models.py:2680 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2700 +#: common/models.py:2681 msgid "Token for access" msgstr "" -#: common/models.py:2708 +#: common/models.py:2689 msgid "Secret" msgstr "" -#: common/models.py:2709 +#: common/models.py:2690 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2817 +#: common/models.py:2798 msgid "Message ID" msgstr "" -#: common/models.py:2818 +#: common/models.py:2799 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2826 +#: common/models.py:2807 msgid "Host" msgstr "" -#: common/models.py:2827 +#: common/models.py:2808 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2835 +#: common/models.py:2816 msgid "Header" msgstr "" -#: common/models.py:2836 +#: common/models.py:2817 msgid "Header of this message" msgstr "" -#: common/models.py:2843 +#: common/models.py:2824 msgid "Body" msgstr "" -#: common/models.py:2844 +#: common/models.py:2825 msgid "Body of this message" msgstr "" -#: common/models.py:2854 +#: common/models.py:2835 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2859 +#: common/models.py:2840 msgid "Worked on" msgstr "" -#: common/models.py:2860 +#: common/models.py:2841 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2986 +#: common/models.py:2967 msgid "Id" msgstr "" -#: common/models.py:2988 templates/js/translated/company.js:965 +#: common/models.py:2969 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2990 common/models.py:3243 company/models.py:149 -#: company/models.py:440 company/models.py:500 company/models.py:799 -#: order/models.py:303 order/models.py:1301 order/models.py:1717 -#: part/admin.py:55 part/models.py:955 +#: common/models.py:2971 common/models.py:3229 company/models.py:149 +#: company/models.py:446 company/models.py:506 company/models.py:806 +#: order/models.py:303 order/models.py:1301 order/models.py:1733 +#: part/admin.py:55 part/models.py:959 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:229 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/part.js:2459 #: templates/js/translated/purchase_order.js:2040 #: templates/js/translated/purchase_order.js:2204 #: templates/js/translated/return_order.js:779 @@ -3607,28 +3648,28 @@ msgstr "" msgid "Link" msgstr "" -#: common/models.py:2992 templates/js/translated/news.js:60 +#: common/models.py:2973 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2994 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2975 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:2996 templates/js/translated/news.js:52 +#: common/models.py:2977 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2999 +#: common/models.py:2980 msgid "Read" msgstr "" -#: common/models.py:2999 +#: common/models.py:2980 msgid "Was this news item read?" msgstr "" -#: common/models.py:3016 company/models.py:159 part/models.py:965 +#: common/models.py:2997 company/models.py:159 part/models.py:969 #: 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.html:35 @@ -3638,90 +3679,94 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:3016 +#: common/models.py:2997 msgid "Image file" msgstr "" -#: common/models.py:3028 common/models.py:3227 +#: common/models.py:3009 common/models.py:3213 msgid "Target model type for this image" msgstr "" -#: common/models.py:3032 +#: common/models.py:3013 msgid "Target model ID for this image" msgstr "" -#: common/models.py:3070 +#: common/models.py:3035 +msgid "Custom Unit" +msgstr "" + +#: common/models.py:3056 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:3085 +#: common/models.py:3071 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3104 +#: common/models.py:3090 msgid "Unit name" msgstr "" -#: common/models.py:3111 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3097 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3112 +#: common/models.py:3098 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3118 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3104 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3119 +#: common/models.py:3105 msgid "Unit definition" msgstr "" -#: common/models.py:3177 common/models.py:3234 stock/models.py:2461 +#: common/models.py:3163 common/models.py:3220 stock/models.py:2471 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" msgstr "Prilog" -#: common/models.py:3189 +#: common/models.py:3175 msgid "Missing file" msgstr "Nedostaje datoteka" -#: common/models.py:3190 +#: common/models.py:3176 msgid "Missing external link" msgstr "Nedostaje eksterni link" -#: common/models.py:3235 +#: common/models.py:3221 msgid "Select file to attach" msgstr "Izaberite datoteku za prilog" -#: common/models.py:3250 templates/js/translated/attachment.js:120 +#: common/models.py:3236 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" msgstr "Komentar" -#: common/models.py:3251 +#: common/models.py:3237 msgid "Attachment comment" msgstr "" -#: common/models.py:3267 +#: common/models.py:3253 msgid "Upload date" msgstr "" -#: common/models.py:3268 +#: common/models.py:3254 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:3272 +#: common/models.py:3258 msgid "File size" msgstr "" -#: common/models.py:3272 +#: common/models.py:3258 msgid "File size in bytes" msgstr "" -#: common/models.py:3310 common/serializers.py:553 +#: common/models.py:3296 common/serializers.py:557 msgid "Invalid model type specified for attachment" msgstr "" @@ -3743,7 +3788,7 @@ msgstr "" msgid "A order that is assigned to you was canceled" msgstr "" -#: common/notifications.py:330 common/notifications.py:337 order/api.py:472 +#: common/notifications.py:330 common/notifications.py:337 order/api.py:454 msgid "Items Received" msgstr "" @@ -3759,75 +3804,75 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:371 +#: common/serializers.py:375 msgid "Is Running" msgstr "" -#: common/serializers.py:377 +#: common/serializers.py:381 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:383 +#: common/serializers.py:387 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:389 +#: common/serializers.py:393 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:404 +#: common/serializers.py:408 msgid "Task ID" msgstr "" -#: common/serializers.py:404 +#: common/serializers.py:408 msgid "Unique task ID" msgstr "" -#: common/serializers.py:406 +#: common/serializers.py:410 msgid "Lock" msgstr "" -#: common/serializers.py:406 +#: common/serializers.py:410 msgid "Lock time" msgstr "" -#: common/serializers.py:408 +#: common/serializers.py:412 msgid "Task name" msgstr "" -#: common/serializers.py:410 +#: common/serializers.py:414 msgid "Function" msgstr "" -#: common/serializers.py:410 +#: common/serializers.py:414 msgid "Function name" msgstr "" -#: common/serializers.py:412 +#: common/serializers.py:416 msgid "Arguments" msgstr "" -#: common/serializers.py:412 +#: common/serializers.py:416 msgid "Task arguments" msgstr "" -#: common/serializers.py:415 +#: common/serializers.py:419 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:415 +#: common/serializers.py:419 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:525 +#: common/serializers.py:529 msgid "Filename" msgstr "Ime datoteke" -#: common/serializers.py:532 report/api.py:100 report/serializers.py:53 +#: common/serializers.py:536 report/api.py:100 report/serializers.py:53 msgid "Model Type" msgstr "" -#: common/serializers.py:559 +#: common/serializers.py:563 msgid "User does not have permission to create or edit attachments for this model" msgstr "" @@ -3894,29 +3939,29 @@ msgstr "" msgid "Previous Step" msgstr "" -#: company/api.py:144 +#: company/api.py:141 msgid "Part is Active" msgstr "" -#: company/api.py:148 +#: company/api.py:145 msgid "Manufacturer is Active" msgstr "" -#: company/api.py:281 +#: company/api.py:278 msgid "Supplier Part is Active" msgstr "" -#: company/api.py:285 +#: company/api.py:282 msgid "Internal Part is Active" msgstr "" -#: company/api.py:289 +#: company/api.py:286 msgid "Supplier is Active" msgstr "" -#: company/models.py:100 company/models.py:365 +#: company/models.py:100 company/models.py:371 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:822 +#: company/templates/company/company_base.html:12 stock/api.py:814 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "" @@ -3956,8 +4001,9 @@ msgstr "" msgid "Contact email address" msgstr "" -#: company/models.py:142 company/templates/company/company_base.html:145 -#: order/models.py:343 order/templates/order/order_base.html:203 +#: company/models.py:142 company/models.py:275 +#: company/templates/company/company_base.html:145 order/models.py:343 +#: order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 #: order/templates/order/sales_order_base.html:218 msgid "Contact" @@ -3976,7 +4022,7 @@ msgid "Is this company active?" msgstr "" #: company/models.py:168 -msgid "is customer" +msgid "Is customer" msgstr "" #: company/models.py:169 @@ -3984,7 +4030,7 @@ msgid "Do you sell items to this company?" msgstr "" #: company/models.py:174 -msgid "is supplier" +msgid "Is supplier" msgstr "" #: company/models.py:175 @@ -3992,7 +4038,7 @@ msgid "Do you purchase items from this company?" msgstr "" #: company/models.py:180 -msgid "is manufacturer" +msgid "Is manufacturer" msgstr "" #: company/models.py:181 @@ -4003,178 +4049,189 @@ msgstr "" msgid "Default currency used for this company" msgstr "" -#: company/models.py:366 +#: company/models.py:314 company/templates/company/company_base.html:124 +#: order/models.py:353 order/templates/order/order_base.html:210 +#: order/templates/order/return_order_base.html:181 +#: order/templates/order/sales_order_base.html:225 +msgid "Address" +msgstr "" + +#: company/models.py:315 company/templates/company/sidebar.html:35 +msgid "Addresses" +msgstr "" + +#: company/models.py:372 msgid "Select company" msgstr "" -#: company/models.py:371 +#: company/models.py:377 msgid "Address title" msgstr "" -#: company/models.py:372 +#: company/models.py:378 msgid "Title describing the address entry" msgstr "" -#: company/models.py:378 +#: company/models.py:384 msgid "Primary address" msgstr "" -#: company/models.py:379 +#: company/models.py:385 msgid "Set as primary address" msgstr "" -#: company/models.py:384 templates/js/translated/company.js:914 +#: company/models.py:390 templates/js/translated/company.js:914 #: templates/js/translated/company.js:971 msgid "Line 1" msgstr "" -#: company/models.py:385 +#: company/models.py:391 msgid "Address line 1" msgstr "" -#: company/models.py:391 templates/js/translated/company.js:915 +#: company/models.py:397 templates/js/translated/company.js:915 #: templates/js/translated/company.js:977 msgid "Line 2" msgstr "" -#: company/models.py:392 +#: company/models.py:398 msgid "Address line 2" msgstr "" -#: company/models.py:398 company/models.py:399 +#: company/models.py:404 company/models.py:405 #: templates/js/translated/company.js:983 msgid "Postal code" msgstr "" -#: company/models.py:405 +#: company/models.py:411 msgid "City/Region" msgstr "" -#: company/models.py:406 +#: company/models.py:412 msgid "Postal code city/region" msgstr "" -#: company/models.py:412 +#: company/models.py:418 msgid "State/Province" msgstr "" -#: company/models.py:413 +#: company/models.py:419 msgid "State or province" msgstr "" -#: company/models.py:419 templates/js/translated/company.js:1001 +#: company/models.py:425 templates/js/translated/company.js:1001 msgid "Country" msgstr "" -#: company/models.py:420 +#: company/models.py:426 msgid "Address country" msgstr "" -#: company/models.py:426 +#: company/models.py:432 msgid "Courier shipping notes" msgstr "" -#: company/models.py:427 +#: company/models.py:433 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:433 +#: company/models.py:439 msgid "Internal shipping notes" msgstr "" -#: company/models.py:434 +#: company/models.py:440 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:441 +#: company/models.py:447 msgid "Link to address information (external)" msgstr "" -#: company/models.py:463 company/models.py:574 company/models.py:792 +#: company/models.py:469 company/models.py:581 company/models.py:799 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:217 msgid "Manufacturer Part" msgstr "" -#: company/models.py:475 company/models.py:760 stock/models.py:767 -#: stock/serializers.py:422 stock/templates/stock/item_base.html:142 +#: company/models.py:481 company/models.py:767 stock/models.py:767 +#: stock/serializers.py:442 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" -#: company/models.py:477 company/models.py:762 +#: company/models.py:483 company/models.py:769 msgid "Select part" msgstr "" -#: company/models.py:486 company/templates/company/company_base.html:82 +#: company/models.py:492 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:525 +#: company/templates/company/supplier_part.html:145 part/serializers.py:543 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 #: templates/js/translated/company.js:1296 #: templates/js/translated/company.js:1611 -#: templates/js/translated/table_filters.js:800 +#: templates/js/translated/table_filters.js:805 msgid "Manufacturer" msgstr "" -#: company/models.py:487 +#: company/models.py:493 msgid "Select manufacturer" msgstr "" -#: company/models.py:493 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:535 -#: templates/js/translated/company.js:351 +#: company/models.py:499 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:153 order/serializers.py:518 +#: part/serializers.py:553 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:1801 +#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1804 #: templates/js/translated/purchase_order.js:1851 #: templates/js/translated/purchase_order.js:2053 msgid "MPN" msgstr "" -#: company/models.py:494 -msgid "Manufacturer Part Number" -msgstr "" - -#: company/models.py:501 +#: company/models.py:507 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:510 +#: company/models.py:516 msgid "Manufacturer part description" msgstr "" -#: company/models.py:581 +#: company/models.py:569 +msgid "Manufacturer Part Parameter" +msgstr "" + +#: company/models.py:588 msgid "Parameter name" msgstr "" -#: company/models.py:587 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2453 templates/js/translated/company.js:1166 -#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1493 +#: company/models.py:594 report/templates/report/inventree_test_report.html:104 +#: stock/models.py:2463 templates/js/translated/company.js:1166 +#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1496 #: templates/js/translated/stock.js:1522 msgid "Value" msgstr "" -#: company/models.py:588 +#: company/models.py:595 msgid "Parameter value" msgstr "" -#: company/models.py:595 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1045 part/models.py:3646 +#: company/models.py:602 company/templates/company/supplier_part.html:168 +#: part/admin.py:57 part/models.py:1049 part/models.py:3667 #: part/templates/part/part_base.html:284 -#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1512 -#: templates/js/translated/part.js:1616 templates/js/translated/part.js:2370 +#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1515 +#: templates/js/translated/part.js:1619 templates/js/translated/part.js:2373 msgid "Units" msgstr "" -#: company/models.py:596 +#: company/models.py:603 msgid "Parameter units" msgstr "" -#: company/models.py:648 company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 order/api.py:452 +#: company/models.py:655 company/templates/company/supplier_part.html:7 +#: company/templates/company/supplier_part.html:24 order/api.py:434 #: stock/models.py:778 stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 @@ -4182,91 +4239,91 @@ msgstr "" msgid "Supplier Part" msgstr "" -#: company/models.py:700 +#: company/models.py:707 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:707 +#: company/models.py:714 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:721 +#: company/models.py:728 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:770 company/templates/company/company_base.html:87 +#: company/models.py:777 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:509 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:527 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 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:511 -#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1769 +#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1772 #: templates/js/translated/pricing.js:498 #: templates/js/translated/purchase_order.js:1689 -#: templates/js/translated/table_filters.js:804 +#: templates/js/translated/table_filters.js:809 msgid "Supplier" msgstr "" -#: company/models.py:771 +#: company/models.py:778 msgid "Select supplier" msgstr "" -#: company/models.py:777 part/serializers.py:520 +#: company/models.py:784 part/serializers.py:538 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:783 +#: company/models.py:790 msgid "Is this supplier part active?" msgstr "" -#: company/models.py:793 +#: company/models.py:800 msgid "Select manufacturer part" msgstr "" -#: company/models.py:800 +#: company/models.py:807 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:809 +#: company/models.py:816 msgid "Supplier part description" msgstr "" -#: company/models.py:816 company/templates/company/supplier_part.html:187 -#: part/admin.py:412 part/models.py:4093 part/templates/part/upload_bom.html:59 +#: company/models.py:823 company/templates/company/supplier_part.html:187 +#: part/admin.py:412 part/models.py:4178 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: 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:710 +#: stock/serializers.py:768 msgid "Note" msgstr "" -#: company/models.py:825 part/models.py:2003 +#: company/models.py:832 part/models.py:2013 msgid "base cost" msgstr "" -#: company/models.py:826 part/models.py:2004 +#: company/models.py:833 part/models.py:2014 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:833 company/templates/company/supplier_part.html:160 -#: stock/admin.py:228 stock/models.py:798 stock/serializers.py:1475 +#: company/models.py:840 company/templates/company/supplier_part.html:160 +#: stock/admin.py:228 stock/models.py:798 stock/serializers.py:1541 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 msgid "Packaging" msgstr "" -#: company/models.py:834 +#: company/models.py:841 msgid "Part packaging" msgstr "" -#: company/models.py:839 templates/js/translated/company.js:1651 -#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 +#: company/models.py:846 templates/js/translated/company.js:1651 +#: templates/js/translated/part.js:1825 templates/js/translated/part.js:1881 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 #: templates/js/translated/purchase_order.js:1103 @@ -4275,35 +4332,43 @@ msgstr "" msgid "Pack Quantity" msgstr "" -#: company/models.py:841 +#: company/models.py:848 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:860 part/models.py:2010 +#: company/models.py:867 part/models.py:2020 msgid "multiple" msgstr "" -#: company/models.py:861 +#: company/models.py:868 msgid "Order multiple" msgstr "" -#: company/models.py:873 +#: company/models.py:880 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:879 +#: company/models.py:886 msgid "Availability Updated" msgstr "" -#: company/models.py:880 +#: company/models.py:887 msgid "Date of last update of availability data" msgstr "" -#: company/serializers.py:161 +#: company/models.py:1015 +msgid "Supplier Price Break" +msgstr "" + +#: company/serializers.py:174 msgid "Default currency used for this supplier" msgstr "" -#: company/serializers.py:357 part/admin.py:126 +#: company/serializers.py:210 +msgid "Company Name" +msgstr "" + +#: company/serializers.py:384 part/admin.py:126 part/serializers.py:855 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:355 @@ -4315,7 +4380,7 @@ msgstr "" #: templates/js/translated/company.js:1287 #: templates/js/translated/company.js:1575 #: templates/js/translated/model_renderers.js:312 -#: templates/js/translated/part.js:815 templates/js/translated/part.js:1219 +#: templates/js/translated/part.js:814 templates/js/translated/part.js:1222 msgid "Inactive" msgstr "" @@ -4374,16 +4439,16 @@ msgid "Delete image" msgstr "" #: company/templates/company/company_base.html:92 order/models.py:938 -#: order/models.py:2032 order/templates/order/return_order_base.html:131 +#: order/models.py:2058 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:148 stock/models.py:820 -#: stock/models.py:821 stock/serializers.py:1225 +#: stock/models.py:821 stock/serializers.py:1291 #: 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:295 #: templates/js/translated/sales_order.js:820 #: templates/js/translated/stock.js:2959 -#: templates/js/translated/table_filters.js:808 +#: templates/js/translated/table_filters.js:813 msgid "Customer" msgstr "" @@ -4391,13 +4456,6 @@ msgstr "" msgid "Uses default currency" msgstr "" -#: company/templates/company/company_base.html:124 order/models.py:353 -#: order/templates/order/order_base.html:210 -#: order/templates/order/return_order_base.html:181 -#: order/templates/order/sales_order_base.html:225 -msgid "Address" -msgstr "" - #: company/templates/company/company_base.html:131 msgid "Phone" msgstr "" @@ -4577,7 +4635,8 @@ msgid "Delete manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:65 -#: company/templates/company/supplier_part.html:97 order/api.py:458 +#: company/templates/company/supplier_part.html:97 order/api.py:440 +#: order/serializers.py:526 msgid "Internal Part" msgstr "" @@ -4587,7 +4646,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:832 +#: part/admin.py:122 part/serializers.py:860 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4608,7 +4667,7 @@ msgid "New Parameter" msgstr "" #: company/templates/company/manufacturer_part.html:196 -#: templates/js/translated/part.js:1423 +#: templates/js/translated/part.js:1426 msgid "Add Parameter" msgstr "" @@ -4632,10 +4691,6 @@ msgstr "" msgid "Contacts" msgstr "" -#: company/templates/company/sidebar.html:35 -msgid "Addresses" -msgstr "" - #: company/templates/company/supplier_part.html:50 #: templates/js/translated/company.js:1526 msgid "Supplier part actions" @@ -4659,117 +4714,283 @@ msgstr "" msgid "Edit Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:68 -#: company/templates/company/supplier_part.html:69 -#: templates/js/translated/company.js:269 -msgid "Duplicate Supplier Part" +#: company/templates/company/supplier_part.html:68 +#: company/templates/company/supplier_part.html:69 +#: templates/js/translated/company.js:269 +msgid "Duplicate Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:73 +msgid "Delete Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:74 +msgid "Delete Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:133 +msgid "No supplier information available" +msgstr "" + +#: company/templates/company/supplier_part.html:139 order/serializers.py:515 +#: part/bom.py:279 part/bom.py:311 part/serializers.py:537 +#: templates/js/translated/company.js:349 templates/js/translated/part.js:1790 +#: templates/js/translated/pricing.js:510 +#: templates/js/translated/purchase_order.js:1850 +#: templates/js/translated/purchase_order.js:2028 +msgid "SKU" +msgstr "" + +#: company/templates/company/supplier_part.html:206 +msgid "Supplier Part Stock" +msgstr "" + +#: company/templates/company/supplier_part.html:209 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:207 +msgid "Create new stock item" +msgstr "" + +#: company/templates/company/supplier_part.html:210 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:208 +#: templates/js/translated/stock.js:537 +msgid "New Stock Item" +msgstr "" + +#: company/templates/company/supplier_part.html:223 +msgid "Supplier Part Orders" +msgstr "" + +#: company/templates/company/supplier_part.html:246 +msgid "Pricing Information" +msgstr "" + +#: company/templates/company/supplier_part.html:251 +#: templates/js/translated/company.js:398 +#: templates/js/translated/pricing.js:684 +msgid "Add Price Break" +msgstr "" + +#: company/templates/company/supplier_part.html:276 +msgid "Supplier Part QR Code" +msgstr "" + +#: company/templates/company/supplier_part.html:287 +msgid "Link Barcode to Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:359 +msgid "Update Part Availability" +msgstr "" + +#: company/templates/company/supplier_part_sidebar.html:5 +#: part/serializers.py:859 part/stocktake.py:224 +#: part/templates/part/category.html:183 +#: part/templates/part/category_sidebar.html:17 stock/admin.py:68 +#: stock/serializers.py:976 stock/serializers.py:1154 +#: stock/templates/stock/location.html:170 +#: 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:1064 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 +#: users/models.py:206 +msgid "Stock Items" +msgstr "" + +#: company/templates/company/supplier_part_sidebar.html:9 +msgid "Supplier Part Pricing" +msgstr "" + +#: company/views.py:32 +msgid "New Supplier" +msgstr "" + +#: company/views.py:38 +msgid "New Manufacturer" +msgstr "" + +#: company/views.py:43 templates/InvenTree/search.html:210 +#: templates/navbar.html:60 +msgid "Customers" +msgstr "" + +#: company/views.py:44 +msgid "New Customer" +msgstr "" + +#: company/views.py:52 +msgid "New Company" +msgstr "" + +#: generic/states/tests.py:18 order/status_codes.py:13 +msgid "Placed" +msgstr "Postavljen" + +#: importer/mixins.py:263 +msgid "Invalid export format" +msgstr "" + +#: importer/models.py:56 +msgid "Timestamp" +msgstr "" + +#: importer/models.py:61 +msgid "Data file to import" +msgstr "" + +#: importer/models.py:70 templates/js/translated/tables.js:558 +msgid "Columns" +msgstr "" + +#: importer/models.py:81 +msgid "Import status" +msgstr "" + +#: importer/models.py:91 +msgid "Field Defaults" +msgstr "" + +#: importer/models.py:201 +msgid "Some required fields have not been mapped" +msgstr "" + +#: importer/models.py:346 +msgid "Column is already mapped to a database field" +msgstr "" + +#: importer/models.py:351 +msgid "Field is already mapped to a data column" +msgstr "" + +#: importer/models.py:360 +msgid "Column mapping must be linked to a valid import session" +msgstr "" + +#: importer/models.py:365 +msgid "Column does not exist in the data file" +msgstr "" + +#: importer/models.py:372 +#, fuzzy +#| msgid "User does not have permission to view this model" +msgid "Field does not exist in the target model" +msgstr "Korisnik nema dozvolu za pregled ovog modela" + +#: importer/models.py:376 +msgid "Selected field is read-only" +msgstr "" + +#: importer/models.py:381 importer/models.py:452 +msgid "Import Session" msgstr "" -#: company/templates/company/supplier_part.html:73 -msgid "Delete Supplier Part" +#: importer/models.py:385 +msgid "Field" msgstr "" -#: company/templates/company/supplier_part.html:74 -msgid "Delete Supplier Part" +#: importer/models.py:387 +msgid "Column" msgstr "" -#: company/templates/company/supplier_part.html:133 -msgid "No supplier information available" +#: importer/models.py:456 +msgid "Row Index" msgstr "" -#: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:519 -#: templates/js/translated/company.js:349 templates/js/translated/part.js:1787 -#: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1850 -#: templates/js/translated/purchase_order.js:2028 -msgid "SKU" +#: importer/models.py:459 +msgid "Original row data" msgstr "" -#: company/templates/company/supplier_part.html:206 -msgid "Supplier Part Stock" +#: importer/models.py:462 part/models.py:3841 +msgid "Data" msgstr "" -#: company/templates/company/supplier_part.html:209 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:207 -msgid "Create new stock item" +#: importer/models.py:464 machine/models.py:110 +msgid "Errors" msgstr "" -#: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:208 -#: templates/js/translated/stock.js:537 -msgid "New Stock Item" +#: importer/models.py:466 part/api.py:874 +msgid "Valid" msgstr "" -#: company/templates/company/supplier_part.html:223 -msgid "Supplier Part Orders" +#: importer/operations.py:28 importer/operations.py:49 +#, fuzzy +#| msgid "Unsupported file type" +msgid "Unsupported data file format" +msgstr "Nije podržan tip datoteke" + +#: importer/operations.py:40 +msgid "Failed to open data file" msgstr "" -#: company/templates/company/supplier_part.html:246 -msgid "Pricing Information" +#: importer/operations.py:51 +msgid "Invalid data file dimensions" msgstr "" -#: company/templates/company/supplier_part.html:251 -#: templates/js/translated/company.js:398 -#: templates/js/translated/pricing.js:684 -msgid "Add Price Break" +#: importer/serializers.py:135 +msgid "Rows" msgstr "" -#: company/templates/company/supplier_part.html:276 -msgid "Supplier Part QR Code" +#: importer/serializers.py:136 +msgid "List of row IDs to accept" msgstr "" -#: company/templates/company/supplier_part.html:287 -msgid "Link Barcode to Supplier Part" +#: importer/serializers.py:149 +#, fuzzy +#| msgid "No data rows provided" +msgid "No rows provided" +msgstr "Nisu navedeni redovi podataka" + +#: importer/serializers.py:153 +msgid "Row does not belong to this session" msgstr "" -#: company/templates/company/supplier_part.html:359 -msgid "Update Part Availability" +#: importer/serializers.py:156 +msgid "Row contains invalid data" msgstr "" -#: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:831 part/stocktake.py:224 -#: part/templates/part/category.html:183 -#: part/templates/part/category_sidebar.html:17 stock/admin.py:68 -#: stock/serializers.py:918 stock/serializers.py:1091 -#: stock/templates/stock/location.html:170 -#: 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:1061 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 -#: users/models.py:206 -msgid "Stock Items" +#: importer/serializers.py:159 +msgid "Row has already been completed" msgstr "" -#: company/templates/company/supplier_part_sidebar.html:9 -msgid "Supplier Part Pricing" +#: importer/status_codes.py:11 +msgid "Initializing" msgstr "" -#: company/views.py:32 -msgid "New Supplier" +#: importer/status_codes.py:12 +msgid "Mapping Columns" msgstr "" -#: company/views.py:38 -msgid "New Manufacturer" +#: importer/status_codes.py:13 +msgid "Importing Data" msgstr "" -#: company/views.py:43 templates/InvenTree/search.html:210 -#: templates/navbar.html:60 -msgid "Customers" +#: importer/status_codes.py:16 +msgid "Processing Data" msgstr "" -#: company/views.py:44 -msgid "New Customer" +#: importer/validators.py:21 +#, fuzzy +#| msgid "Image download exceeded maximum size" +msgid "Data file exceeds maximum size limit" +msgstr "Preuzimanje slike premašilo je maksimalnu veličinu" + +#: importer/validators.py:26 +msgid "Data file contains no headers" msgstr "" -#: company/views.py:52 -msgid "New Company" +#: importer/validators.py:29 +msgid "Data file contains too many columns" msgstr "" -#: generic/states/tests.py:18 order/status_codes.py:13 -msgid "Placed" -msgstr "Postavljen" +#: importer/validators.py:32 +msgid "Data file contains too many rows" +msgstr "" + +#: importer/validators.py:49 +#, fuzzy +#| msgid "Metadata must be a python dict object" +msgid "Value must be a valid dictionary object" +msgstr "Metapodaci moraju biti \"python dict\" objekat" #: machine/machine_types/label_printer.py:212 msgid "Copies" @@ -4783,7 +5004,7 @@ msgstr "" msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:229 order/api.py:1467 +#: machine/machine_types/label_printer.py:229 order/api.py:1388 #: templates/js/translated/sales_order.js:1078 msgid "Unknown" msgstr "" @@ -4852,10 +5073,6 @@ msgstr "" msgid "Initialized" msgstr "" -#: machine/models.py:110 -msgid "Errors" -msgstr "" - #: machine/models.py:117 msgid "Machine status" msgstr "" @@ -4881,44 +5098,44 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:157 order/serializers.py:90 +#: order/api.py:149 order/serializers.py:94 #: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:113 #: order/templates/order/sales_order_base.html:122 msgid "Order Status" msgstr "" -#: order/api.py:161 templates/js/translated/table_filters.js:194 -#: templates/js/translated/table_filters.js:779 +#: order/api.py:153 templates/js/translated/table_filters.js:194 +#: templates/js/translated/table_filters.js:784 msgid "Has Pricing" msgstr "" -#: order/api.py:236 +#: order/api.py:228 msgid "No matching purchase order found" msgstr "" -#: order/api.py:435 order/api.py:801 order/models.py:1395 order/models.py:1504 -#: order/models.py:1550 order/models.py:1664 order/models.py:1818 -#: order/models.py:2231 order/models.py:2282 +#: order/api.py:417 order/api.py:755 order/models.py:1400 order/models.py:1514 +#: order/models.py:1565 order/models.py:1680 order/models.py:1839 +#: order/models.py:2258 order/models.py:2314 #: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "" -#: order/api.py:439 order/api.py:822 +#: order/api.py:421 order/api.py:776 msgid "Order Complete" msgstr "" -#: order/api.py:462 +#: order/api.py:444 msgid "Order Pending" msgstr "" -#: order/api.py:1461 order/models.py:380 order/models.py:1396 -#: order/models.py:1505 order/templates/order/order_base.html:9 +#: order/api.py:1382 order/models.py:380 order/models.py:1401 +#: order/models.py:1515 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 -#: stock/serializers.py:118 stock/templates/stock/item_base.html:176 +#: stock/serializers.py:120 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/part.js:1746 templates/js/translated/pricing.js:804 +#: templates/js/translated/part.js:1749 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:1673 @@ -4926,8 +5143,8 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1465 order/models.py:1981 order/models.py:2232 -#: order/models.py:2283 order/templates/order/return_order_base.html:9 +#: order/api.py:1386 order/models.py:2007 order/models.py:2259 +#: order/models.py:2315 order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report.html:13 #: templates/js/translated/return_order.js:280 @@ -4939,11 +5156,11 @@ msgstr "" msgid "Total price for this order" msgstr "" -#: order/models.py:96 order/serializers.py:70 +#: order/models.py:96 order/serializers.py:72 msgid "Order Currency" msgstr "" -#: order/models.py:99 order/serializers.py:71 +#: order/models.py:99 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" @@ -4959,7 +5176,7 @@ msgstr "" msgid "Select project code for this order" msgstr "" -#: order/models.py:303 order/models.py:1301 order/models.py:1717 +#: order/models.py:303 order/models.py:1301 order/models.py:1733 msgid "Link to external page" msgstr "" @@ -5008,15 +5225,15 @@ msgstr "" msgid "received by" msgstr "" -#: order/models.py:514 order/models.py:2058 +#: order/models.py:514 order/models.py:2084 msgid "Issue Date" msgstr "" -#: order/models.py:515 order/models.py:2059 +#: order/models.py:515 order/models.py:2085 msgid "Date order was issued" msgstr "" -#: order/models.py:522 order/models.py:2066 +#: order/models.py:522 order/models.py:2092 msgid "Date order was completed" msgstr "" @@ -5032,15 +5249,15 @@ msgstr "" msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:962 order/models.py:2051 +#: order/models.py:962 order/models.py:2077 msgid "Customer Reference " msgstr "" -#: order/models.py:963 order/models.py:2052 +#: order/models.py:963 order/models.py:2078 msgid "Customer order reference code" msgstr "" -#: order/models.py:967 order/models.py:1671 +#: order/models.py:967 order/models.py:1687 #: templates/js/translated/sales_order.js:879 #: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" @@ -5102,20 +5319,24 @@ msgstr "" msgid "Unit price" msgstr "" -#: order/models.py:1380 +#: order/models.py:1361 +msgid "Purchase Order Line Item" +msgstr "" + +#: order/models.py:1385 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1387 +#: order/models.py:1392 msgid "deleted" msgstr "" -#: order/models.py:1415 +#: order/models.py:1420 msgid "Supplier part" msgstr "" -#: order/models.py:1422 order/templates/order/order_base.html:196 -#: templates/js/translated/part.js:1870 templates/js/translated/part.js:1902 +#: order/models.py:1427 order/templates/order/order_base.html:196 +#: templates/js/translated/part.js:1873 templates/js/translated/part.js:1905 #: templates/js/translated/purchase_order.js:1306 #: templates/js/translated/purchase_order.js:2169 #: templates/js/translated/return_order.js:763 @@ -5124,196 +5345,224 @@ msgstr "" msgid "Received" msgstr "" -#: order/models.py:1423 +#: order/models.py:1428 msgid "Number of items received" msgstr "" -#: order/models.py:1431 stock/models.py:939 stock/serializers.py:556 +#: order/models.py:1436 stock/models.py:939 stock/serializers.py:602 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2311 msgid "Purchase Price" msgstr "" -#: order/models.py:1432 +#: order/models.py:1437 msgid "Unit purchase price" msgstr "" -#: order/models.py:1447 +#: order/models.py:1452 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1538 +#: order/models.py:1503 +msgid "Purchase Order Extra Line" +msgstr "" + +#: order/models.py:1532 +msgid "Sales Order Line Item" +msgstr "" + +#: order/models.py:1553 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1543 +#: order/models.py:1558 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1569 part/templates/part/part_pricing.html:107 +#: order/models.py:1584 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:1570 +#: order/models.py:1585 msgid "Unit sale price" msgstr "" -#: order/models.py:1579 order/status_codes.py:43 +#: order/models.py:1594 order/status_codes.py:43 #: 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" -#: order/models.py:1580 +#: order/models.py:1595 msgid "Shipped quantity" msgstr "" -#: order/models.py:1672 +#: order/models.py:1667 +msgid "Sales Order Shipment" +msgstr "" + +#: order/models.py:1688 msgid "Date of shipment" msgstr "" -#: order/models.py:1678 templates/js/translated/sales_order.js:1072 +#: order/models.py:1694 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "" -#: order/models.py:1679 +#: order/models.py:1695 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1687 +#: order/models.py:1703 msgid "Checked By" msgstr "" -#: order/models.py:1688 +#: order/models.py:1704 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1695 order/models.py:1908 order/serializers.py:1342 -#: order/serializers.py:1452 templates/js/translated/model_renderers.js:454 +#: order/models.py:1711 order/models.py:1934 order/serializers.py:1398 +#: order/serializers.py:1508 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "" -#: order/models.py:1696 +#: order/models.py:1712 msgid "Shipment number" msgstr "" -#: order/models.py:1704 +#: order/models.py:1720 msgid "Tracking Number" msgstr "" -#: order/models.py:1705 +#: order/models.py:1721 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1712 +#: order/models.py:1728 msgid "Invoice Number" msgstr "" -#: order/models.py:1713 +#: order/models.py:1729 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1733 +#: order/models.py:1749 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1736 +#: order/models.py:1752 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1854 order/models.py:1856 +#: order/models.py:1828 +msgid "Sales Order Extra Line" +msgstr "" + +#: order/models.py:1857 +msgid "Sales Order Allocation" +msgstr "" + +#: order/models.py:1880 order/models.py:1882 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1863 +#: order/models.py:1889 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1866 +#: order/models.py:1892 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1869 +#: order/models.py:1895 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1888 order/serializers.py:1219 +#: order/models.py:1914 order/serializers.py:1275 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1891 +#: order/models.py:1917 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1892 plugin/base/barcodes/api.py:481 +#: order/models.py:1918 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1900 +#: order/models.py:1926 msgid "Line" msgstr "" -#: order/models.py:1909 +#: order/models.py:1935 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1922 order/models.py:2239 +#: order/models.py:1948 order/models.py:2266 #: templates/js/translated/return_order.js:721 msgid "Item" msgstr "" -#: order/models.py:1923 +#: order/models.py:1949 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1932 +#: order/models.py:1958 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2021 +#: order/models.py:2047 msgid "Return Order reference" msgstr "" -#: order/models.py:2033 +#: order/models.py:2059 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2045 +#: order/models.py:2071 msgid "Return order status" msgstr "" -#: order/models.py:2224 +#: order/models.py:2237 +msgid "Return Order Line Item" +msgstr "" + +#: order/models.py:2251 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2240 +#: order/models.py:2267 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2246 +#: order/models.py:2273 msgid "Received Date" msgstr "" -#: order/models.py:2247 +#: order/models.py:2274 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2258 templates/js/translated/return_order.js:732 +#: order/models.py:2285 templates/js/translated/return_order.js:732 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2259 +#: order/models.py:2286 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2266 +#: order/models.py:2293 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:79 order/templates/order/po_sidebar.html:5 +#: order/models.py:2303 +msgid "Return Order Extra Line" +msgstr "" + +#: order/serializers.py:83 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_purchase_order_report.html:22 @@ -5322,163 +5571,171 @@ msgstr "" msgid "Line Items" msgstr "" -#: order/serializers.py:83 +#: order/serializers.py:87 msgid "Completed Lines" msgstr "" -#: order/serializers.py:286 +#: order/serializers.py:305 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:301 order/serializers.py:1235 +#: order/serializers.py:320 order/serializers.py:1291 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:311 order/serializers.py:1245 +#: order/serializers.py:330 order/serializers.py:1301 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:439 +#: order/serializers.py:468 msgid "Order is not open" msgstr "" -#: order/serializers.py:460 +#: order/serializers.py:489 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:462 +#: order/serializers.py:491 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:472 +#: order/serializers.py:501 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:478 +#: order/serializers.py:507 msgid "Merge Items" msgstr "" -#: order/serializers.py:480 +#: order/serializers.py:509 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:498 +#: order/serializers.py:522 part/models.py:945 +msgid "Internal Part Number" +msgstr "" + +#: order/serializers.py:530 +msgid "Internal Part Name" +msgstr "" + +#: order/serializers.py:546 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:501 +#: order/serializers.py:549 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:509 +#: order/serializers.py:557 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:510 +#: order/serializers.py:558 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:549 order/serializers.py:1313 +#: order/serializers.py:598 order/serializers.py:1369 msgid "Line Item" msgstr "" -#: order/serializers.py:555 +#: order/serializers.py:604 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:565 order/serializers.py:673 order/serializers.py:1657 +#: order/serializers.py:614 order/serializers.py:722 order/serializers.py:1715 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:581 templates/js/translated/purchase_order.js:1130 +#: order/serializers.py:630 templates/js/translated/purchase_order.js:1130 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:589 templates/js/translated/purchase_order.js:1154 +#: order/serializers.py:638 templates/js/translated/purchase_order.js:1154 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:600 templates/js/translated/barcode.js:52 +#: order/serializers.py:649 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:601 +#: order/serializers.py:650 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:617 +#: order/serializers.py:666 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:641 +#: order/serializers.py:690 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:689 order/serializers.py:1673 +#: order/serializers.py:738 order/serializers.py:1731 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:705 +#: order/serializers.py:754 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:716 +#: order/serializers.py:765 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1062 +#: order/serializers.py:1117 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1122 +#: order/serializers.py:1178 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1183 order/serializers.py:1322 +#: order/serializers.py:1239 order/serializers.py:1378 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1202 +#: order/serializers.py:1258 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1332 +#: order/serializers.py:1388 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1354 order/serializers.py:1460 +#: order/serializers.py:1410 order/serializers.py:1516 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1357 order/serializers.py:1463 +#: order/serializers.py:1413 order/serializers.py:1519 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1404 +#: order/serializers.py:1460 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1411 +#: order/serializers.py:1467 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1627 +#: order/serializers.py:1685 msgid "Return order line item" msgstr "" -#: order/serializers.py:1633 +#: order/serializers.py:1691 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1636 +#: order/serializers.py:1694 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1665 +#: order/serializers.py:1723 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1743 +#: order/serializers.py:1806 msgid "Line price currency" msgstr "" @@ -5808,7 +6065,7 @@ msgstr "" #: 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:1073 +#: templates/js/translated/part.js:1076 #: templates/js/translated/purchase_order.js:1752 #: templates/js/translated/return_order.js:380 #: templates/js/translated/sales_order.js:891 @@ -5904,34 +6161,29 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:398 part/models.py:3944 part/stocktake.py:219 +#: part/admin.py:39 part/admin.py:398 part/models.py:3991 part/stocktake.py:219 #: stock/admin.py:152 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:405 part/models.py:3945 part/stocktake.py:220 -#: stock/admin.py:156 -msgid "Part Name" -msgstr "" - #: part/admin.py:45 part/stocktake.py:221 msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:940 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:944 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 -#: templates/js/translated/part.js:1227 templates/js/translated/part.js:2341 +#: templates/js/translated/part.js:1230 templates/js/translated/part.js:2344 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:949 part/templates/part/part_base.html:277 -#: report/models.py:162 templates/js/translated/part.js:1232 -#: templates/js/translated/part.js:2347 +#: part/admin.py:50 part/models.py:953 part/templates/part/part_base.html:277 +#: report/models.py:162 templates/js/translated/part.js:1235 +#: templates/js/translated/part.js:2350 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:319 part/models.py:922 +#: part/admin.py:53 part/admin.py:319 part/models.py:926 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5944,7 +6196,8 @@ msgstr "" msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:304 part/stocktake.py:223 +#: part/admin.py:67 part/admin.py:304 part/serializers.py:837 +#: part/stocktake.py:223 msgid "Category Name" msgstr "" @@ -5956,11 +6209,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:908 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:912 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1036 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1040 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5968,18 +6221,19 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:150 part/templates/part/part_base.html:241 stock/admin.py:235 -#: templates/js/translated/part.js:715 templates/js/translated/part.js:2153 +#: part/admin.py:150 part/serializers.py:854 +#: part/templates/part/part_base.html:241 stock/admin.py:235 +#: templates/js/translated/part.js:714 templates/js/translated/part.js:2156 msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3088 part/models.py:3102 -#: templates/js/translated/part.js:970 +#: part/admin.py:155 part/models.py:3098 part/models.py:3112 +#: templates/js/translated/part.js:973 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3095 part/models.py:3109 -#: templates/js/translated/part.js:980 +#: part/admin.py:158 part/models.py:3105 part/models.py:3119 +#: templates/js/translated/part.js:983 msgid "Maximum Cost" msgstr "" @@ -5996,14 +6250,14 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:396 part/serializers.py:124 -#: part/serializers.py:267 part/serializers.py:386 +#: part/admin.py:325 part/models.py:397 part/serializers.py:130 +#: part/serializers.py:282 part/serializers.py:404 #: 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:2807 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:203 msgid "Parts" msgstr "" @@ -6020,125 +6274,117 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:402 part/models.py:3946 -msgid "Part IPN" -msgstr "" - -#: part/admin.py:415 part/serializers.py:1274 +#: part/admin.py:415 part/serializers.py:1302 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:420 part/serializers.py:1289 +#: part/admin.py:420 part/serializers.py:1317 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "" -#: part/api.py:104 +#: part/api.py:105 msgid "Starred" msgstr "" -#: part/api.py:106 +#: part/api.py:107 msgid "Filter by starred categories" msgstr "" -#: part/api.py:123 stock/api.py:312 +#: part/api.py:124 stock/api.py:312 msgid "Depth" msgstr "" -#: part/api.py:123 +#: part/api.py:124 msgid "Filter by category depth" msgstr "" -#: part/api.py:141 stock/api.py:330 +#: part/api.py:142 stock/api.py:330 msgid "Top Level" msgstr "" -#: part/api.py:143 +#: part/api.py:144 msgid "Filter by top-level categories" msgstr "" -#: part/api.py:156 stock/api.py:345 +#: part/api.py:157 stock/api.py:345 msgid "Cascade" msgstr "" -#: part/api.py:158 +#: part/api.py:159 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:179 templates/js/translated/part.js:308 +#: part/api.py:180 templates/js/translated/part.js:307 msgid "Parent" msgstr "" -#: part/api.py:181 +#: part/api.py:182 msgid "Filter by parent category" msgstr "" -#: part/api.py:214 +#: part/api.py:215 msgid "Exclude Tree" msgstr "" -#: part/api.py:216 +#: part/api.py:217 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:449 +#: part/api.py:442 msgid "Has Results" msgstr "" -#: part/api.py:616 +#: part/api.py:609 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:634 +#: part/api.py:627 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:650 +#: part/api.py:643 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:734 +#: part/api.py:727 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:881 -msgid "Valid" -msgstr "" - -#: part/api.py:882 +#: part/api.py:875 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:888 +#: part/api.py:881 msgid "This option must be selected" msgstr "" -#: part/api.py:1105 +#: part/api.py:1098 msgid "BOM Valid" msgstr "" -#: part/api.py:1508 part/models.py:932 part/models.py:3374 part/models.py:3889 -#: part/serializers.py:401 part/serializers.py:1130 -#: part/templates/part/part_base.html:260 stock/api.py:791 +#: part/api.py:1494 part/models.py:936 part/models.py:3385 part/models.py:3936 +#: part/serializers.py:419 part/serializers.py:1158 +#: part/templates/part/part_base.html:260 stock/api.py:783 #: 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:2380 msgid "Category" msgstr "" -#: part/api.py:1796 +#: part/api.py:1784 msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:104 part/models.py:975 +#: part/bom.py:170 part/models.py:104 part/models.py:979 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:833 +#: part/bom.py:171 part/serializers.py:861 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6147,7 +6393,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:85 part/models.py:3890 part/templates/part/category.html:16 +#: part/models.py:85 part/models.py:3937 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -6162,7 +6408,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:110 stock/models.py:175 templates/js/translated/part.js:2810 +#: part/models.py:110 stock/models.py:175 templates/js/translated/part.js:2813 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 @@ -6194,1002 +6440,1037 @@ msgstr "" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:485 +#: part/models.py:486 +msgid "Cannot delete this part as it is locked" +msgstr "" + +#: part/models.py:489 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:490 +#: part/models.py:494 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:528 +#: part/models.py:532 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:576 part/models.py:583 +#: part/models.py:580 part/models.py:587 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:595 +#: part/models.py:599 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:658 +#: part/models.py:662 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:736 +#: part/models.py:740 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:837 +#: part/models.py:841 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:847 +#: part/models.py:851 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:862 +#: part/models.py:866 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:891 part/models.py:3945 +#: part/models.py:895 part/models.py:3992 msgid "Part name" msgstr "" -#: part/models.py:896 +#: part/models.py:900 msgid "Is Template" msgstr "" -#: part/models.py:897 +#: part/models.py:901 msgid "Is this part a template part?" msgstr "" -#: part/models.py:907 +#: part/models.py:911 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:915 +#: part/models.py:919 msgid "Part description (optional)" msgstr "" -#: part/models.py:923 +#: part/models.py:927 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:933 +#: part/models.py:937 msgid "Part category" msgstr "" -#: part/models.py:941 -msgid "Internal Part Number" -msgstr "" - -#: part/models.py:948 +#: part/models.py:952 msgid "Part revision or version number" msgstr "" -#: part/models.py:973 +#: part/models.py:977 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1019 part/templates/part/part_base.html:376 +#: part/models.py:1023 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:1020 +#: part/models.py:1024 msgid "Default supplier part" msgstr "" -#: part/models.py:1027 +#: part/models.py:1031 msgid "Default Expiry" msgstr "" -#: part/models.py:1028 +#: part/models.py:1032 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1037 +#: part/models.py:1041 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1046 +#: part/models.py:1050 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1053 +#: part/models.py:1057 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1059 +#: part/models.py:1063 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1065 +#: part/models.py:1069 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1071 +#: part/models.py:1075 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1077 +#: part/models.py:1081 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1081 +#: part/models.py:1085 msgid "Is this part active?" msgstr "" -#: part/models.py:1087 +#: part/models.py:1090 templates/js/translated/part.js:818 +#: templates/js/translated/table_filters.js:721 +msgid "Locked" +msgstr "" + +#: part/models.py:1091 +#, fuzzy +#| msgid "Build order part cannot be changed" +msgid "Locked parts cannot be edited" +msgstr "Deo u nalogu za izradu ne može se izmeniti" + +#: part/models.py:1097 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1093 +#: part/models.py:1103 msgid "BOM checksum" msgstr "" -#: part/models.py:1094 +#: part/models.py:1104 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1102 +#: part/models.py:1112 msgid "BOM checked by" msgstr "" -#: part/models.py:1107 +#: part/models.py:1117 msgid "BOM checked date" msgstr "" -#: part/models.py:1123 +#: part/models.py:1133 msgid "Creation User" msgstr "" -#: part/models.py:1133 +#: part/models.py:1143 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1138 part/templates/part/part_base.html:339 +#: part/models.py:1148 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:2474 msgid "Last Stocktake" msgstr "" -#: part/models.py:2011 +#: part/models.py:2021 msgid "Sell multiple" msgstr "" -#: part/models.py:3002 +#: part/models.py:3012 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3018 +#: part/models.py:3028 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3019 +#: part/models.py:3029 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3025 +#: part/models.py:3035 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3026 +#: part/models.py:3036 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3032 +#: part/models.py:3042 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3033 +#: part/models.py:3043 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3039 +#: part/models.py:3049 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3040 +#: part/models.py:3050 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3046 +#: part/models.py:3056 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3047 +#: part/models.py:3057 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3053 +#: part/models.py:3063 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3054 +#: part/models.py:3064 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3060 +#: part/models.py:3070 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3061 +#: part/models.py:3071 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3067 +#: part/models.py:3077 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3068 +#: part/models.py:3078 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3074 +#: part/models.py:3084 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3075 +#: part/models.py:3085 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3081 +#: part/models.py:3091 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3082 +#: part/models.py:3092 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3089 +#: part/models.py:3099 msgid "Override minimum cost" msgstr "" -#: part/models.py:3096 +#: part/models.py:3106 msgid "Override maximum cost" msgstr "" -#: part/models.py:3103 +#: part/models.py:3113 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3110 +#: part/models.py:3120 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3116 +#: part/models.py:3126 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3117 +#: part/models.py:3127 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3123 +#: part/models.py:3133 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3124 +#: part/models.py:3134 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3130 +#: part/models.py:3140 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3131 +#: part/models.py:3141 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3137 +#: part/models.py:3147 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3138 +#: part/models.py:3148 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3157 +#: part/models.py:3167 msgid "Part for stocktake" msgstr "" -#: part/models.py:3162 +#: part/models.py:3172 msgid "Item Count" msgstr "" -#: part/models.py:3163 +#: part/models.py:3173 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3171 +#: part/models.py:3181 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3175 part/models.py:3258 +#: part/models.py:3185 part/models.py:3268 #: part/templates/part/part_scheduling.html:13 #: 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:1086 templates/js/translated/pricing.js:826 +#: templates/js/translated/part.js:1089 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 #: templates/js/translated/purchase_order.js:1731 #: templates/js/translated/stock.js:2821 msgid "Date" msgstr "" -#: part/models.py:3176 +#: part/models.py:3186 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3184 +#: part/models.py:3194 msgid "Additional notes" msgstr "" -#: part/models.py:3194 +#: part/models.py:3204 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3200 +#: part/models.py:3210 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3201 +#: part/models.py:3211 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3207 +#: part/models.py:3217 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3208 +#: part/models.py:3218 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3264 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3274 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3265 +#: part/models.py:3275 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3270 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3280 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3271 +#: part/models.py:3281 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3281 +#: part/models.py:3291 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3423 +#: part/models.py:3301 +msgid "Part Sale Price Break" +msgstr "" + +#: part/models.py:3413 +msgid "Part Test Template" +msgstr "" + +#: part/models.py:3439 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3444 part/models.py:3608 +#: part/models.py:3460 part/models.py:3629 msgid "Choices must be unique" msgstr "" -#: part/models.py:3455 +#: part/models.py:3471 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3466 +#: part/models.py:3482 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3483 templates/js/translated/part.js:2880 +#: part/models.py:3499 templates/js/translated/part.js:2883 msgid "Test Name" msgstr "" -#: part/models.py:3484 +#: part/models.py:3500 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3490 +#: part/models.py:3506 msgid "Test Key" msgstr "" -#: part/models.py:3491 +#: part/models.py:3507 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3498 +#: part/models.py:3514 msgid "Test Description" msgstr "" -#: part/models.py:3499 +#: part/models.py:3515 msgid "Enter description for this test" msgstr "" -#: part/models.py:3503 report/models.py:209 -#: templates/js/translated/part.js:2901 +#: part/models.py:3519 report/models.py:209 +#: templates/js/translated/part.js:2904 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "" -#: part/models.py:3503 +#: part/models.py:3519 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3508 templates/js/translated/part.js:2909 +#: part/models.py:3524 templates/js/translated/part.js:2912 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3509 +#: part/models.py:3525 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3514 templates/js/translated/part.js:2917 +#: part/models.py:3530 templates/js/translated/part.js:2920 msgid "Requires Value" msgstr "" -#: part/models.py:3515 +#: part/models.py:3531 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3520 templates/js/translated/part.js:2924 +#: part/models.py:3536 templates/js/translated/part.js:2927 msgid "Requires Attachment" msgstr "" -#: part/models.py:3522 +#: part/models.py:3538 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3528 part/models.py:3667 templates/js/translated/part.js:1637 +#: part/models.py:3544 part/models.py:3688 templates/js/translated/part.js:1640 msgid "Choices" msgstr "" -#: part/models.py:3529 +#: part/models.py:3545 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3583 +#: part/models.py:3577 +msgid "Part Parameter Template" +msgstr "" + +#: part/models.py:3604 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3588 +#: part/models.py:3609 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3625 +#: part/models.py:3646 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3640 +#: part/models.py:3661 msgid "Parameter Name" msgstr "" -#: part/models.py:3647 +#: part/models.py:3668 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3655 +#: part/models.py:3676 msgid "Parameter description" msgstr "" -#: part/models.py:3661 templates/js/translated/part.js:1628 -#: templates/js/translated/table_filters.js:825 +#: part/models.py:3682 templates/js/translated/part.js:1631 +#: templates/js/translated/table_filters.js:830 msgid "Checkbox" msgstr "" -#: part/models.py:3662 +#: part/models.py:3683 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3668 +#: part/models.py:3689 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3745 +#: part/models.py:3723 +msgid "Part Parameter" +msgstr "" + +#: part/models.py:3749 +msgid "Parameter cannot be modified - part is locked" +msgstr "" + +#: part/models.py:3785 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3788 +#: part/models.py:3828 msgid "Parent Part" msgstr "" -#: part/models.py:3796 part/models.py:3897 part/models.py:3898 +#: part/models.py:3836 part/models.py:3944 part/models.py:3945 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3801 -msgid "Data" +#: part/models.py:3842 +msgid "Parameter Value" msgstr "" -#: part/models.py:3802 -msgid "Parameter Value" +#: part/models.py:3892 +msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:3904 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3951 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3905 +#: part/models.py:3952 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3943 +#: part/models.py:3990 msgid "Part ID or part name" msgstr "" -#: part/models.py:3944 +#: part/models.py:3991 msgid "Unique part ID value" msgstr "" -#: part/models.py:3946 +#: part/models.py:3993 msgid "Part IPN value" msgstr "" -#: part/models.py:3947 +#: part/models.py:3994 msgid "Level" msgstr "" -#: part/models.py:3947 +#: part/models.py:3994 msgid "BOM level" msgstr "" -#: part/models.py:4037 +#: part/models.py:4105 +msgid "BOM item cannot be modified - assembly is locked" +msgstr "" + +#: part/models.py:4112 +msgid "BOM item cannot be modified - variant assembly is locked" +msgstr "" + +#: part/models.py:4122 msgid "Select parent part" msgstr "" -#: part/models.py:4047 +#: part/models.py:4132 msgid "Sub part" msgstr "" -#: part/models.py:4048 +#: part/models.py:4133 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4059 +#: part/models.py:4144 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4065 +#: part/models.py:4150 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4071 +#: part/models.py:4156 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4078 part/templates/part/upload_bom.html:55 +#: part/models.py:4163 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4079 +#: part/models.py:4164 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4086 +#: part/models.py:4171 msgid "BOM item reference" msgstr "" -#: part/models.py:4094 +#: part/models.py:4179 msgid "BOM item notes" msgstr "" -#: part/models.py:4100 +#: part/models.py:4185 msgid "Checksum" msgstr "" -#: part/models.py:4101 +#: part/models.py:4186 msgid "BOM line checksum" msgstr "" -#: part/models.py:4106 templates/js/translated/table_filters.js:174 +#: part/models.py:4191 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4107 +#: part/models.py:4192 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4112 part/templates/part/upload_bom.html:57 +#: part/models.py:4197 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:4113 +#: part/models.py:4198 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4118 part/templates/part/upload_bom.html:56 +#: part/models.py:4203 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4119 +#: part/models.py:4204 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4204 stock/models.py:663 +#: part/models.py:4289 stock/models.py:663 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4214 part/models.py:4216 +#: part/models.py:4299 part/models.py:4301 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4354 +#: part/models.py:4439 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4375 +#: part/models.py:4460 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4388 +#: part/models.py:4473 msgid "Parent BOM item" msgstr "" -#: part/models.py:4396 +#: part/models.py:4481 msgid "Substitute part" msgstr "" -#: part/models.py:4412 +#: part/models.py:4497 msgid "Part 1" msgstr "" -#: part/models.py:4420 +#: part/models.py:4505 msgid "Part 2" msgstr "" -#: part/models.py:4421 +#: part/models.py:4506 msgid "Select Related Part" msgstr "" -#: part/models.py:4440 +#: part/models.py:4525 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4445 +#: part/models.py:4530 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:118 +#: part/serializers.py:124 msgid "Parent Category" msgstr "" -#: part/serializers.py:119 templates/js/translated/part.js:309 +#: part/serializers.py:125 templates/js/translated/part.js:308 msgid "Parent part category" msgstr "" -#: part/serializers.py:126 part/serializers.py:148 +#: part/serializers.py:132 part/serializers.py:154 #: part/templates/part/category.html:122 part/templates/part/category.html:207 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" -#: part/serializers.py:180 +#: part/serializers.py:189 msgid "Results" msgstr "" -#: part/serializers.py:181 +#: part/serializers.py:190 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:205 part/serializers.py:223 stock/serializers.py:562 +#: part/serializers.py:217 part/serializers.py:235 stock/serializers.py:608 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:268 +#: part/serializers.py:283 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:392 +#: part/serializers.py:410 msgid "No parts selected" msgstr "" -#: part/serializers.py:402 +#: part/serializers.py:420 msgid "Select category" msgstr "" -#: part/serializers.py:437 +#: part/serializers.py:455 msgid "Original Part" msgstr "" -#: part/serializers.py:438 +#: part/serializers.py:456 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:461 msgid "Copy Image" msgstr "" -#: part/serializers.py:444 +#: part/serializers.py:462 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:450 part/templates/part/detail.html:277 +#: part/serializers.py:468 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:451 +#: part/serializers.py:469 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:457 +#: part/serializers.py:475 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:458 +#: part/serializers.py:476 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:464 +#: part/serializers.py:482 msgid "Copy Notes" msgstr "" -#: part/serializers.py:465 +#: part/serializers.py:483 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:483 +#: part/serializers.py:501 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:485 +#: part/serializers.py:503 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:492 +#: part/serializers.py:510 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:493 +#: part/serializers.py:511 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:510 +#: part/serializers.py:528 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:526 +#: part/serializers.py:544 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:536 +#: part/serializers.py:554 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:543 +#: part/serializers.py:561 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:552 +#: part/serializers.py:570 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:563 +#: part/serializers.py:581 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:570 +#: part/serializers.py:588 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:834 -msgid "External Stock" -msgstr "" - -#: part/serializers.py:836 +#: part/serializers.py:864 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:839 +#: part/serializers.py:867 msgid "Variant Stock" msgstr "" -#: part/serializers.py:869 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:472 +#: part/serializers.py:897 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:870 +#: part/serializers.py:898 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:876 templates/js/translated/part.js:102 +#: part/serializers.py:904 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:877 +#: part/serializers.py:905 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:883 +#: part/serializers.py:911 msgid "Supplier Information" msgstr "" -#: part/serializers.py:884 +#: part/serializers.py:912 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:892 +#: part/serializers.py:920 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:893 +#: part/serializers.py:921 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:898 +#: part/serializers.py:926 msgid "Existing Image" msgstr "" -#: part/serializers.py:899 +#: part/serializers.py:927 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:916 +#: part/serializers.py:944 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1122 +#: part/serializers.py:1150 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1132 +#: part/serializers.py:1160 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1142 +#: part/serializers.py:1170 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1148 +#: part/serializers.py:1176 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1149 +#: part/serializers.py:1177 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1154 +#: part/serializers.py:1182 msgid "Generate Report" msgstr "" -#: part/serializers.py:1155 +#: part/serializers.py:1183 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1160 +#: part/serializers.py:1188 msgid "Update Parts" msgstr "" -#: part/serializers.py:1161 +#: part/serializers.py:1189 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1169 +#: part/serializers.py:1197 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1275 +#: part/serializers.py:1303 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1282 +#: part/serializers.py:1310 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1290 +#: part/serializers.py:1318 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1297 +#: part/serializers.py:1325 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1326 +#: part/serializers.py:1354 msgid "Update" msgstr "" -#: part/serializers.py:1327 +#: part/serializers.py:1355 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1350 +#: part/serializers.py:1378 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1357 +#: part/serializers.py:1385 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1360 +#: part/serializers.py:1388 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1727 +#: part/serializers.py:1759 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1735 +#: part/serializers.py:1767 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1736 +#: part/serializers.py:1768 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1741 +#: part/serializers.py:1773 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1742 +#: part/serializers.py:1774 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1747 +#: part/serializers.py:1779 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1748 +#: part/serializers.py:1780 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1753 +#: part/serializers.py:1785 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1754 +#: part/serializers.py:1786 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1788 +#: part/serializers.py:1823 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1789 +#: part/serializers.py:1824 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1819 +#: part/serializers.py:1856 msgid "No part column specified" msgstr "" -#: part/serializers.py:1863 +#: part/serializers.py:1900 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1866 +#: part/serializers.py:1903 msgid "No matching part found" msgstr "" -#: part/serializers.py:1869 +#: part/serializers.py:1906 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1878 +#: part/serializers.py:1915 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1886 +#: part/serializers.py:1923 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1907 +#: part/serializers.py:1946 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:225 templates/js/translated/part.js:1067 -#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 +#: part/stocktake.py:225 templates/js/translated/part.js:1070 +#: templates/js/translated/part.js:1825 templates/js/translated/part.js:1881 #: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "" @@ -7507,7 +7788,7 @@ msgstr "" #: part/templates/part/part_base.html:52 #: stock/templates/stock/item_base.html:62 -#: stock/templates/stock/location.html:74 templates/js/translated/label.js:143 +#: stock/templates/stock/location.html:74 templates/js/translated/label.js:136 msgid "Print Label" msgstr "" @@ -7529,7 +7810,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:2296 msgid "Part actions" msgstr "" @@ -7569,6 +7850,10 @@ msgstr "" msgid "Part can be sold to customers" msgstr "" +#: part/templates/part/part_base.html:145 +msgid "Part is not active" +msgstr "" + #: part/templates/part/part_base.html:153 msgid "Part is virtual (not a physical part)" msgstr "" @@ -7597,7 +7882,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:322 templates/js/translated/bom.js:1071 -#: templates/js/translated/part.js:1265 templates/js/translated/part.js:2444 +#: templates/js/translated/part.js:1268 templates/js/translated/part.js:2447 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" @@ -7690,8 +7975,8 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/part.js:1243 templates/js/translated/part.js:2146 -#: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 +#: templates/js/translated/part.js:1246 templates/js/translated/part.js:2149 +#: templates/js/translated/part.js:2395 templates/js/translated/stock.js:1059 #: templates/js/translated/stock.js:2070 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -7811,8 +8096,8 @@ msgstr "" #: part/templates/part/stock_count.html:7 #: templates/js/translated/model_renderers.js:227 -#: templates/js/translated/part.js:705 templates/js/translated/part.js:2141 -#: templates/js/translated/part.js:2143 +#: templates/js/translated/part.js:704 templates/js/translated/part.js:2144 +#: templates/js/translated/part.js:2146 msgid "No Stock" msgstr "" @@ -7956,7 +8241,7 @@ msgstr "" msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2589 +#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2590 #: templates/js/translated/sales_order.js:1953 msgid "Insufficient stock available" msgstr "" @@ -8051,7 +8336,7 @@ msgstr "" msgid "Quantity to allocate" msgstr "" -#: plugin/base/label/label.py:39 templates/js/translated/label.js:155 +#: plugin/base/label/label.py:39 templates/js/translated/label.js:148 msgid "Label printing failed" msgstr "" @@ -8748,7 +9033,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report.html:25 #: report/templates/report/inventree_test_report.html:88 stock/models.py:825 -#: stock/serializers.py:149 stock/templates/stock/item_base.html:311 +#: stock/serializers.py:151 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:230 @@ -8778,7 +9063,7 @@ msgstr "" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2447 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2457 msgid "Result" msgstr "" @@ -8799,7 +9084,7 @@ msgid "No result" msgstr "" #: report/templates/report/inventree_test_report.html:153 -#: stock/templates/stock/stock_sidebar.html:16 +#: stock/serializers.py:591 stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" @@ -8829,10 +9114,6 @@ msgstr "" msgid "Location ID" msgstr "" -#: stock/admin.py:53 stock/admin.py:175 -msgid "Location Name" -msgstr "" - #: stock/admin.py:63 stock/templates/stock/location.html:131 #: stock/templates/stock/location.html:137 msgid "Location Path" @@ -8909,7 +9190,7 @@ msgstr "" msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:369 stock/serializers.py:1085 +#: stock/api.py:369 stock/serializers.py:1148 msgid "Parent Location" msgstr "" @@ -8917,44 +9198,45 @@ msgstr "" msgid "Filter by parent location" msgstr "" -#: stock/api.py:625 templates/js/translated/table_filters.js:427 +#: stock/api.py:617 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:813 +#: stock/api.py:805 msgid "Part Tree" msgstr "" -#: stock/api.py:843 +#: stock/api.py:835 msgid "Expiry date before" msgstr "" -#: stock/api.py:847 +#: stock/api.py:839 msgid "Expiry date after" msgstr "" -#: stock/api.py:850 stock/templates/stock/item_base.html:439 +#: stock/api.py:842 stock/serializers.py:596 +#: stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "" -#: stock/api.py:937 +#: stock/api.py:929 msgid "Quantity is required" msgstr "" -#: stock/api.py:943 +#: stock/api.py:935 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:974 +#: stock/api.py:966 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:984 +#: stock/api.py:976 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1015 +#: stock/api.py:1007 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -9021,7 +9303,7 @@ msgstr "" msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:669 stock/serializers.py:446 +#: stock/models.py:669 stock/serializers.py:477 msgid "Stock item cannot be created for virtual parts" msgstr "" @@ -9066,7 +9348,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:799 stock/serializers.py:1476 +#: stock/models.py:799 stock/serializers.py:1542 msgid "Packaging this stock item is stored in" msgstr "" @@ -9078,7 +9360,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:843 stock/serializers.py:1459 +#: stock/models.py:843 stock/serializers.py:1525 msgid "Batch code for this stock item" msgstr "" @@ -9155,7 +9437,7 @@ msgstr "" msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1520 stock/serializers.py:660 +#: stock/models.py:1520 stock/serializers.py:718 msgid "Serial numbers already exist" msgstr "" @@ -9187,7 +9469,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1658 stock/serializers.py:1365 +#: stock/models.py:1658 stock/serializers.py:1431 msgid "Duplicate stock items" msgstr "" @@ -9207,288 +9489,336 @@ msgstr "" msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2345 +#: stock/models.py:2317 +#, fuzzy +#| msgid "Stock item created" +msgid "Stock Item Tracking" +msgstr "Stavka na zalihi stvorena" + +#: stock/models.py:2350 msgid "Entry notes" msgstr "" -#: stock/models.py:2413 +#: stock/models.py:2390 +#, fuzzy +#| msgid "Stock item created" +msgid "Stock Item Test Result" +msgstr "Stavka na zalihi stvorena" + +#: stock/models.py:2423 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2418 +#: stock/models.py:2428 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2423 +#: stock/models.py:2433 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2447 +#: stock/models.py:2457 msgid "Test result" msgstr "" -#: stock/models.py:2454 +#: stock/models.py:2464 msgid "Test output value" msgstr "" -#: stock/models.py:2462 +#: stock/models.py:2472 msgid "Test result attachment" msgstr "" -#: stock/models.py:2466 +#: stock/models.py:2476 msgid "Test notes" msgstr "" -#: stock/models.py:2474 templates/js/translated/stock.js:1548 +#: stock/models.py:2484 templates/js/translated/stock.js:1548 msgid "Test station" msgstr "" -#: stock/models.py:2475 +#: stock/models.py:2485 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2481 +#: stock/models.py:2491 msgid "Started" msgstr "" -#: stock/models.py:2482 +#: stock/models.py:2492 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2488 +#: stock/models.py:2498 msgid "Finished" msgstr "" -#: stock/models.py:2489 +#: stock/models.py:2499 msgid "The timestamp of the test finish" msgstr "" -#: stock/serializers.py:74 +#: stock/serializers.py:76 msgid "Generated batch code" msgstr "" -#: stock/serializers.py:83 +#: stock/serializers.py:85 msgid "Select build order" msgstr "" -#: stock/serializers.py:92 +#: stock/serializers.py:94 msgid "Select stock item to generate batch code for" msgstr "" -#: stock/serializers.py:101 +#: stock/serializers.py:103 msgid "Select location to generate batch code for" msgstr "" -#: stock/serializers.py:110 +#: stock/serializers.py:112 msgid "Select part to generate batch code for" msgstr "" -#: stock/serializers.py:119 +#: stock/serializers.py:121 msgid "Select purchase order" msgstr "" -#: stock/serializers.py:126 +#: stock/serializers.py:128 msgid "Enter quantity for batch code" msgstr "" -#: stock/serializers.py:149 +#: stock/serializers.py:151 msgid "Generated serial number" msgstr "" -#: stock/serializers.py:158 +#: stock/serializers.py:160 msgid "Select part to generate serial number for" msgstr "" -#: stock/serializers.py:166 +#: stock/serializers.py:168 msgid "Quantity of serial numbers to generate" msgstr "" -#: stock/serializers.py:228 +#: stock/serializers.py:233 msgid "Test template for this result" msgstr "" -#: stock/serializers.py:247 +#: stock/serializers.py:252 msgid "Template ID or test name must be provided" msgstr "" -#: stock/serializers.py:279 +#: stock/serializers.py:284 msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:315 +#: stock/serializers.py:320 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:438 +#: stock/serializers.py:449 stock/templates/stock/item_base.html:193 +msgid "Parent Item" +msgstr "" + +#: stock/serializers.py:450 +#, fuzzy +#| msgid "Merged stock items" +msgid "Parent stock item" +msgstr "Spojene stavke zaliha" + +#: stock/serializers.py:469 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:558 +#: stock/serializers.py:585 templates/js/translated/build.js:991 +#: templates/js/translated/build.js:2344 +msgid "Allocated Quantity" +msgstr "" + +#: stock/serializers.py:588 stock/templates/stock/item_base.html:437 +#: templates/js/translated/table_filters.js:435 users/models.py:174 +msgid "Expired" +msgstr "" + +#: stock/serializers.py:594 stock/templates/stock/stock_sidebar.html:20 +msgid "Child Items" +msgstr "" + +#: stock/serializers.py:598 +msgid "Tracking Items" +msgstr "" + +#: stock/serializers.py:604 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:595 +#: stock/serializers.py:623 +msgid "Minimum Pricing" +msgstr "" + +#: stock/serializers.py:629 +msgid "Maximum Pricing" +msgstr "" + +#: stock/serializers.py:653 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:608 +#: stock/serializers.py:666 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:615 +#: stock/serializers.py:673 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:626 stock/serializers.py:1322 stock/serializers.py:1578 +#: stock/serializers.py:684 stock/serializers.py:1388 stock/serializers.py:1644 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:633 +#: stock/serializers.py:691 msgid "Optional note field" msgstr "" -#: stock/serializers.py:643 +#: stock/serializers.py:701 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:698 +#: stock/serializers.py:756 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:705 +#: stock/serializers.py:763 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:706 +#: stock/serializers.py:764 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:711 stock/serializers.py:791 stock/serializers.py:887 -#: stock/serializers.py:937 +#: stock/serializers.py:769 stock/serializers.py:849 stock/serializers.py:945 +#: stock/serializers.py:995 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:719 +#: stock/serializers.py:777 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:727 +#: stock/serializers.py:785 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:738 +#: stock/serializers.py:796 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:751 +#: stock/serializers.py:809 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:786 +#: stock/serializers.py:844 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:821 +#: stock/serializers.py:879 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:834 +#: stock/serializers.py:892 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:851 +#: stock/serializers.py:909 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:882 +#: stock/serializers.py:940 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:919 +#: stock/serializers.py:977 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:925 +#: stock/serializers.py:983 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1021 stock/serializers.py:1093 +#: stock/serializers.py:1079 stock/serializers.py:1156 #: stock/templates/stock/location.html:165 #: stock/templates/stock/location.html:222 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1086 templates/js/translated/stock.js:152 +#: stock/serializers.py:1149 templates/js/translated/stock.js:152 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1194 +#: stock/serializers.py:1260 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1198 +#: stock/serializers.py:1264 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1202 +#: stock/serializers.py:1268 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1226 +#: stock/serializers.py:1292 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1232 +#: stock/serializers.py:1298 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1240 +#: stock/serializers.py:1306 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1250 stock/serializers.py:1504 +#: stock/serializers.py:1316 stock/serializers.py:1570 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1329 +#: stock/serializers.py:1395 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1334 +#: stock/serializers.py:1400 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1335 +#: stock/serializers.py:1401 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1340 +#: stock/serializers.py:1406 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1341 +#: stock/serializers.py:1407 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1351 +#: stock/serializers.py:1417 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1418 +#: stock/serializers.py:1484 msgid "No Change" msgstr "" -#: stock/serializers.py:1447 +#: stock/serializers.py:1513 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1466 +#: stock/serializers.py:1532 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1494 +#: stock/serializers.py:1560 msgid "Stock transaction notes" msgstr "" @@ -9757,10 +10087,6 @@ msgstr "" msgid "Build" msgstr "" -#: stock/templates/stock/item_base.html:193 -msgid "Parent Item" -msgstr "" - #: stock/templates/stock/item_base.html:211 msgid "No manufacturer set" msgstr "" @@ -9836,11 +10162,6 @@ msgstr "" msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:437 -#: templates/js/translated/table_filters.js:435 users/models.py:174 -msgid "Expired" -msgstr "" - #: stock/templates/stock/item_base.html:439 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" @@ -9988,10 +10309,6 @@ msgstr "" msgid "Allocations" msgstr "" -#: stock/templates/stock/stock_sidebar.html:20 -msgid "Child Items" -msgstr "" - #: templates/403.html:6 templates/403.html:12 templates/403_csrf.html:7 msgid "Permission Denied" msgstr "" @@ -10466,8 +10783,8 @@ 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:393 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:245 users/models.py:402 +#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 +#: templates/js/translated/stock.js:245 users/models.py:406 msgid "Delete" msgstr "" @@ -10507,12 +10824,12 @@ msgid "No category parameter templates found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:308 -#: templates/js/translated/part.js:1646 +#: templates/js/translated/part.js:1649 msgid "Edit Template" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:309 -#: templates/js/translated/part.js:1647 +#: templates/js/translated/part.js:1650 msgid "Delete Template" msgstr "" @@ -11145,7 +11462,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2556 +#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2557 msgid "Required Quantity" msgstr "" @@ -11159,7 +11476,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3219 +#: templates/js/translated/part.js:3222 msgid "Minimum Quantity" msgstr "" @@ -11514,7 +11831,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2500 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2501 msgid "Variant stock allowed" msgstr "" @@ -11534,30 +11851,30 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2621 +#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2622 msgid "External stock" msgstr "" -#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2595 +#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2596 #: templates/js/translated/sales_order.js:1946 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2599 +#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2600 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2601 -#: templates/js/translated/part.js:1257 +#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2602 +#: templates/js/translated/part.js:1260 #: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2603 +#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2604 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2586 +#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2587 msgid "Consumable item" msgstr "" @@ -11589,7 +11906,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2485 +#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2486 msgid "Required Part" msgstr "" @@ -11758,10 +12075,6 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:991 templates/js/translated/build.js:2344 -msgid "Allocated Quantity" -msgstr "" - #: templates/js/translated/build.js:1005 msgid "Location not specified" msgstr "" @@ -11873,9 +12186,9 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2117 templates/js/translated/build.js:2479 +#: templates/js/translated/build.js:2117 templates/js/translated/build.js:2480 #: templates/js/translated/forms.js:2163 templates/js/translated/forms.js:2179 -#: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 +#: templates/js/translated/part.js:2319 templates/js/translated/part.js:2745 #: templates/js/translated/stock.js:1983 templates/js/translated/stock.js:2710 msgid "Select" msgstr "" @@ -11906,59 +12219,59 @@ msgstr "" msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2455 +#: templates/js/translated/build.js:2456 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2456 +#: templates/js/translated/build.js:2457 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2474 +#: templates/js/translated/build.js:2475 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2504 templates/js/translated/part.js:791 -#: templates/js/translated/part.js:1203 +#: templates/js/translated/build.js:2505 templates/js/translated/part.js:790 +#: templates/js/translated/part.js:1206 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2539 +#: templates/js/translated/build.js:2540 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2591 +#: templates/js/translated/build.js:2592 #: templates/js/translated/sales_order.js:1951 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2646 +#: templates/js/translated/build.js:2647 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2653 +#: templates/js/translated/build.js:2654 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2654 +#: templates/js/translated/build.js:2655 msgid "Allocate tracked items against individual build outputs" msgstr "" -#: templates/js/translated/build.js:2662 +#: templates/js/translated/build.js:2663 #: templates/js/translated/sales_order.js:2052 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2667 templates/js/translated/stock.js:1868 +#: templates/js/translated/build.js:2668 templates/js/translated/stock.js:1868 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2671 +#: templates/js/translated/build.js:2672 #: templates/js/translated/sales_order.js:2046 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2675 +#: templates/js/translated/build.js:2676 msgid "Remove stock allocation" msgstr "" @@ -12105,7 +12418,7 @@ msgid "Delete Parameters" msgstr "" #: templates/js/translated/company.js:1191 -#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2245 +#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2248 msgid "Order parts" msgstr "" @@ -12122,34 +12435,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:1279 -#: templates/js/translated/company.js:1567 templates/js/translated/part.js:799 -#: templates/js/translated/part.js:1211 +#: templates/js/translated/company.js:1567 templates/js/translated/part.js:798 +#: templates/js/translated/part.js:1214 msgid "Template part" msgstr "" #: templates/js/translated/company.js:1283 -#: templates/js/translated/company.js:1571 templates/js/translated/part.js:803 -#: templates/js/translated/part.js:1215 +#: templates/js/translated/company.js:1571 templates/js/translated/part.js:802 +#: templates/js/translated/part.js:1218 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1465 +#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1468 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1528 +#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1531 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1529 +#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1532 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1434 +#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1437 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1550 +#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1553 msgid "Delete Parameter" msgstr "" @@ -12323,15 +12636,15 @@ msgstr "" msgid "No parts required for builds" msgstr "" -#: templates/js/translated/label.js:55 templates/js/translated/report.js:38 +#: templates/js/translated/label.js:48 templates/js/translated/report.js:38 msgid "Select Items" msgstr "" -#: templates/js/translated/label.js:56 templates/js/translated/report.js:39 +#: templates/js/translated/label.js:49 templates/js/translated/report.js:39 msgid "No items selected for printing" msgstr "" -#: templates/js/translated/label.js:150 +#: templates/js/translated/label.js:143 msgid "Labels sent to printer" msgstr "" @@ -12400,7 +12713,7 @@ msgstr "" #: templates/js/translated/news.js:38 #: templates/js/translated/notification.js:46 -#: templates/js/translated/part.js:1605 +#: templates/js/translated/part.js:1608 msgid "ID" msgstr "" @@ -12481,343 +12794,343 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:333 templates/js/translated/stock.js:175 +#: templates/js/translated/part.js:332 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:353 +#: templates/js/translated/part.js:352 msgid "Create Part Category" msgstr "" -#: templates/js/translated/part.js:356 +#: templates/js/translated/part.js:355 msgid "Create new category after this one" msgstr "" -#: templates/js/translated/part.js:357 +#: templates/js/translated/part.js:356 msgid "Part category created" msgstr "" -#: templates/js/translated/part.js:371 +#: templates/js/translated/part.js:370 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:384 +#: templates/js/translated/part.js:383 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:389 +#: templates/js/translated/part.js:388 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:398 +#: templates/js/translated/part.js:397 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:402 +#: templates/js/translated/part.js:401 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:407 +#: templates/js/translated/part.js:406 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:431 +#: templates/js/translated/part.js:430 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:433 +#: templates/js/translated/part.js:432 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:434 +#: templates/js/translated/part.js:433 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:462 +#: templates/js/translated/part.js:461 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:464 +#: templates/js/translated/part.js:463 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:475 +#: templates/js/translated/part.js:474 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:532 +#: templates/js/translated/part.js:531 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:533 +#: templates/js/translated/part.js:532 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:547 +#: templates/js/translated/part.js:546 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:549 +#: templates/js/translated/part.js:548 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:550 +#: templates/js/translated/part.js:549 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:551 +#: templates/js/translated/part.js:550 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:558 +#: templates/js/translated/part.js:557 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:594 +#: templates/js/translated/part.js:593 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:596 +#: templates/js/translated/part.js:595 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:601 +#: templates/js/translated/part.js:600 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:603 +#: templates/js/translated/part.js:602 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:620 +#: templates/js/translated/part.js:619 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:630 +#: templates/js/translated/part.js:629 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:633 +#: templates/js/translated/part.js:632 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:658 +#: templates/js/translated/part.js:657 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:686 -#: templates/js/translated/table_filters.js:747 +#: templates/js/translated/part.js:685 +#: templates/js/translated/table_filters.js:752 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:689 +#: templates/js/translated/part.js:688 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:749 +#: templates/js/translated/part.js:748 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:772 +#: templates/js/translated/part.js:771 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:795 templates/js/translated/part.js:1207 +#: templates/js/translated/part.js:794 templates/js/translated/part.js:1210 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:807 +#: templates/js/translated/part.js:806 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:811 +#: templates/js/translated/part.js:810 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:890 +#: templates/js/translated/part.js:893 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:890 +#: templates/js/translated/part.js:893 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:898 +#: templates/js/translated/part.js:901 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:902 +#: templates/js/translated/part.js:905 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:1051 +#: templates/js/translated/part.js:1054 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1109 templates/js/translated/part.js:1145 +#: templates/js/translated/part.js:1112 templates/js/translated/part.js:1148 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1113 templates/js/translated/part.js:1155 +#: templates/js/translated/part.js:1116 templates/js/translated/part.js:1158 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1282 +#: templates/js/translated/part.js:1285 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1600 +#: templates/js/translated/part.js:1603 msgid "No part parameter templates found" msgstr "" -#: templates/js/translated/part.js:1663 +#: templates/js/translated/part.js:1666 msgid "Edit Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1675 +#: templates/js/translated/part.js:1678 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/js/translated/part.js:1683 +#: templates/js/translated/part.js:1686 msgid "Delete Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1717 +#: templates/js/translated/part.js:1720 #: templates/js/translated/purchase_order.js:1654 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/part.js:1861 +#: templates/js/translated/part.js:1864 #: 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:1907 +#: templates/js/translated/part.js:1910 #: templates/js/translated/purchase_order.js:2220 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1970 +#: templates/js/translated/part.js:1973 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1992 +#: templates/js/translated/part.js:1995 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2080 templates/js/translated/part.js:2506 +#: templates/js/translated/part.js:2083 templates/js/translated/part.js:2509 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:2201 +#: templates/js/translated/part.js:2204 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2206 +#: templates/js/translated/part.js:2209 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2236 +#: templates/js/translated/part.js:2239 msgid "Set category" msgstr "" -#: templates/js/translated/part.js:2287 +#: templates/js/translated/part.js:2290 msgid "part" msgstr "" -#: templates/js/translated/part.js:2288 +#: templates/js/translated/part.js:2291 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2384 +#: templates/js/translated/part.js:2387 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 +#: templates/js/translated/part.js:2534 templates/js/translated/part.js:2664 #: templates/js/translated/stock.js:2669 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2547 +#: templates/js/translated/part.js:2550 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2645 +#: templates/js/translated/part.js:2648 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2689 +#: templates/js/translated/part.js:2684 templates/js/translated/stock.js:2689 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2761 +#: templates/js/translated/part.js:2764 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2777 +#: templates/js/translated/part.js:2780 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2865 +#: templates/js/translated/part.js:2868 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2887 templates/js/translated/search.js:342 +#: templates/js/translated/part.js:2890 templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/part.js:2937 templates/js/translated/stock.js:1456 +#: templates/js/translated/part.js:2940 templates/js/translated/stock.js:1456 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2938 templates/js/translated/stock.js:1457 +#: templates/js/translated/part.js:2941 templates/js/translated/stock.js:1457 #: templates/js/translated/stock.js:1731 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2942 +#: templates/js/translated/part.js:2945 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2958 +#: templates/js/translated/part.js:2961 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2972 +#: templates/js/translated/part.js:2975 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3051 templates/js/translated/part.js:3052 +#: templates/js/translated/part.js:3054 templates/js/translated/part.js:3055 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3054 +#: templates/js/translated/part.js:3057 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3060 +#: templates/js/translated/part.js:3063 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3110 +#: templates/js/translated/part.js:3113 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3116 +#: templates/js/translated/part.js:3119 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3212 +#: templates/js/translated/part.js:3215 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3228 +#: templates/js/translated/part.js:3231 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3273 +#: templates/js/translated/part.js:3276 msgid "Minimum Stock Level" msgstr "" @@ -13593,7 +13906,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1042 users/models.py:392 +#: templates/js/translated/stock.js:1042 users/models.py:396 msgid "Add" msgstr "" @@ -13947,7 +14260,7 @@ msgid "Include subcategories" msgstr "" #: templates/js/translated/table_filters.js:287 -#: templates/js/translated/table_filters.js:759 +#: templates/js/translated/table_filters.js:764 msgid "Subscribed" msgstr "" @@ -14102,40 +14415,44 @@ msgstr "" msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:725 +#: templates/js/translated/table_filters.js:722 +msgid "Show locked parts" +msgstr "" + +#: templates/js/translated/table_filters.js:730 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:733 -#: templates/js/translated/table_filters.js:833 +#: templates/js/translated/table_filters.js:738 +#: templates/js/translated/table_filters.js:838 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:734 +#: templates/js/translated/table_filters.js:739 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:738 +#: templates/js/translated/table_filters.js:743 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:739 +#: templates/js/translated/table_filters.js:744 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:743 +#: templates/js/translated/table_filters.js:748 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:751 +#: templates/js/translated/table_filters.js:756 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:763 +#: templates/js/translated/table_filters.js:768 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:829 +#: templates/js/translated/table_filters.js:834 msgid "Has Choices" msgstr "" @@ -14207,10 +14524,6 @@ msgstr "" msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:558 -msgid "Columns" -msgstr "" - #: templates/js/translated/tables.js:561 msgid "All" msgstr "" @@ -14484,35 +14797,34 @@ msgstr "" msgid "Revoked" msgstr "" -#: users/models.py:375 +#: users/models.py:379 msgid "Permission set" msgstr "" -#: users/models.py:384 +#: users/models.py:388 msgid "Group" msgstr "" -#: users/models.py:388 +#: users/models.py:392 msgid "View" msgstr "" -#: users/models.py:388 +#: users/models.py:392 msgid "Permission to view items" msgstr "" -#: users/models.py:392 +#: users/models.py:396 msgid "Permission to add items" msgstr "" -#: users/models.py:396 +#: users/models.py:400 msgid "Change" msgstr "" -#: users/models.py:398 +#: users/models.py:402 msgid "Permissions to edit items" msgstr "" -#: users/models.py:404 +#: users/models.py:408 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 4f8e63748594..6a10b11fdcc2 100644 --- a/src/backend/InvenTree/locale/sv/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/sv/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-07-05 02:47+0000\n" +"POT-Creation-Date: 2024-07-08 14:46+0000\n" "PO-Revision-Date: 2024-07-05 14:58\n" "Last-Translator: \n" "Language-Team: Swedish\n" @@ -21,7 +21,7 @@ msgstr "" msgid "API endpoint not found" msgstr "API-slutpunkt hittades inte" -#: InvenTree/api.py:520 +#: InvenTree/api.py:505 msgid "User does not have permission to view this model" msgstr "Användaren har inte behörighet att se denna modell" @@ -56,21 +56,21 @@ msgstr "Information om felet finns under Error i adminpanelen" msgid "Enter date" msgstr "Ange datum" -#: InvenTree/fields.py:205 InvenTree/models.py:918 build/serializers.py:452 -#: build/serializers.py:530 build/templates/build/sidebar.html:21 -#: company/models.py:817 company/templates/company/sidebar.html:37 +#: InvenTree/fields.py:205 InvenTree/models.py:921 build/serializers.py:456 +#: build/serializers.py:534 build/templates/build/sidebar.html:21 +#: company/models.py:824 company/templates/company/sidebar.html:37 #: order/models.py:1296 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:3183 part/templates/part/part_sidebar.html:63 +#: part/models.py:3193 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:230 stock/models.py:2344 stock/models.py:2466 -#: stock/serializers.py:632 stock/serializers.py:790 stock/serializers.py:886 -#: stock/serializers.py:936 stock/serializers.py:1239 stock/serializers.py:1328 -#: stock/serializers.py:1493 stock/templates/stock/stock_sidebar.html:25 +#: stock/admin.py:230 stock/models.py:2349 stock/models.py:2476 +#: stock/serializers.py:690 stock/serializers.py:848 stock/serializers.py:944 +#: stock/serializers.py:994 stock/serializers.py:1305 stock/serializers.py:1394 +#: stock/serializers.py:1559 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:1081 +#: templates/js/translated/part.js:1084 #: templates/js/translated/purchase_order.js:2200 #: templates/js/translated/return_order.js:775 #: templates/js/translated/sales_order.js:1103 @@ -371,41 +371,41 @@ msgstr "" msgid "JSON metadata field, for use by external plugins" msgstr "" -#: InvenTree/models.py:408 +#: InvenTree/models.py:411 msgid "Improperly formatted pattern" msgstr "Felaktigt formaterat mönster" -#: InvenTree/models.py:415 +#: InvenTree/models.py:418 msgid "Unknown format key specified" msgstr "Okänd formatnyckel angiven" -#: InvenTree/models.py:421 +#: InvenTree/models.py:424 msgid "Missing required format key" msgstr "Obligatorisk formatnyckel saknas" -#: InvenTree/models.py:432 +#: InvenTree/models.py:435 msgid "Reference field cannot be empty" msgstr "Textfältet kan inte lämnas tomt" -#: InvenTree/models.py:440 +#: InvenTree/models.py:443 msgid "Reference must match required pattern" msgstr "Referensen måste matcha obligatoriskt mönster" -#: InvenTree/models.py:471 +#: InvenTree/models.py:474 msgid "Reference number is too large" msgstr "Referensnumret är för stort" -#: InvenTree/models.py:719 +#: InvenTree/models.py:722 msgid "Duplicate names cannot exist under the same parent" msgstr "" -#: InvenTree/models.py:736 +#: InvenTree/models.py:739 msgid "Invalid choice" msgstr "Ogiltigt val" -#: InvenTree/models.py:766 common/models.py:2678 common/models.py:3103 -#: common/serializers.py:408 company/models.py:580 machine/models.py:24 -#: part/models.py:891 part/models.py:3639 plugin/models.py:51 +#: InvenTree/models.py:769 common/models.py:2659 common/models.py:3089 +#: common/serializers.py:412 company/models.py:587 machine/models.py:24 +#: part/models.py:895 part/models.py:3660 plugin/models.py:51 #: report/models.py:150 stock/models.py:74 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -417,20 +417,20 @@ msgstr "Ogiltigt val" #: templates/js/translated/company.js:724 #: templates/js/translated/company.js:913 #: templates/js/translated/company.js:1165 -#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1187 -#: templates/js/translated/part.js:1475 templates/js/translated/part.js:1611 -#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2716 +#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1190 +#: templates/js/translated/part.js:1478 templates/js/translated/part.js:1614 +#: templates/js/translated/part.js:2752 templates/js/translated/stock.js:2716 msgid "Name" msgstr "Namn" -#: InvenTree/models.py:772 build/models.py:235 -#: build/templates/build/detail.html:24 common/models.py:138 -#: company/models.py:509 company/models.py:808 +#: InvenTree/models.py:775 build/models.py:242 +#: build/templates/build/detail.html:24 common/models.py:143 +#: company/models.py:515 company/models.py:815 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 -#: order/models.py:1329 part/admin.py:305 part/admin.py:408 part/models.py:914 -#: part/models.py:3654 part/templates/part/category.html:82 +#: order/models.py:1329 part/admin.py:305 part/admin.py:408 part/models.py:918 +#: part/models.py:3675 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:156 #: report/models.py:510 report/models.py:536 @@ -444,10 +444,10 @@ msgstr "Namn" #: templates/js/translated/build.js:2139 templates/js/translated/company.js:519 #: templates/js/translated/company.js:1330 #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 -#: templates/js/translated/order.js:298 templates/js/translated/part.js:1239 -#: templates/js/translated/part.js:1484 templates/js/translated/part.js:1622 -#: templates/js/translated/part.js:1959 templates/js/translated/part.js:2355 -#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2897 +#: templates/js/translated/order.js:298 templates/js/translated/part.js:1242 +#: templates/js/translated/part.js:1487 templates/js/translated/part.js:1625 +#: templates/js/translated/part.js:1962 templates/js/translated/part.js:2358 +#: templates/js/translated/part.js:2788 templates/js/translated/part.js:2900 #: templates/js/translated/plugin.js:80 #: templates/js/translated/purchase_order.js:1706 #: templates/js/translated/purchase_order.js:1849 @@ -460,53 +460,53 @@ msgstr "Namn" msgid "Description" msgstr "Beskrivning" -#: InvenTree/models.py:773 stock/models.py:81 +#: InvenTree/models.py:776 stock/models.py:81 msgid "Description (optional)" msgstr "Beskrivning (valfritt)" -#: InvenTree/models.py:788 templates/js/translated/part.js:2794 +#: InvenTree/models.py:791 templates/js/translated/part.js:2797 #: templates/js/translated/stock.js:2757 msgid "Path" msgstr "Sökväg" -#: InvenTree/models.py:918 +#: InvenTree/models.py:921 msgid "Markdown notes (optional)" msgstr "" -#: InvenTree/models.py:947 +#: InvenTree/models.py:950 msgid "Barcode Data" msgstr "Streckkodsdata" -#: InvenTree/models.py:948 +#: InvenTree/models.py:951 msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:954 +#: InvenTree/models.py:957 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:955 +#: InvenTree/models.py:958 msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:1008 +#: InvenTree/models.py:1011 msgid "Existing barcode found" msgstr "Befintlig streckkod hittades" -#: InvenTree/models.py:1051 +#: InvenTree/models.py:1054 msgid "Server Error" msgstr "Serverfel" -#: InvenTree/models.py:1052 +#: InvenTree/models.py:1055 msgid "An error has been logged by the server." msgstr "Ett fel har loggats av servern." -#: InvenTree/serializers.py:63 part/models.py:4192 +#: InvenTree/serializers.py:63 part/models.py:4277 msgid "Must be a valid number" msgstr "Måste vara ett giltigt nummer" #: InvenTree/serializers.py:100 company/models.py:186 -#: company/templates/company/company_base.html:112 part/models.py:3001 +#: company/templates/company/company_base.html:112 part/models.py:3011 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -556,16 +556,16 @@ msgstr "" msgid "Is this user a superuser" msgstr "" -#: InvenTree/serializers.py:445 common/models.py:2683 company/models.py:163 -#: company/models.py:782 machine/models.py:39 part/admin.py:88 -#: part/models.py:1081 plugin/models.py:66 +#: InvenTree/serializers.py:445 common/models.py:2664 company/models.py:163 +#: company/models.py:789 machine/models.py:39 part/admin.py:88 +#: part/models.py:1085 plugin/models.py:66 #: 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 #: templates/js/translated/table_filters.js:520 #: templates/js/translated/table_filters.js:716 -#: templates/js/translated/table_filters.js:796 users/models.py:182 +#: templates/js/translated/table_filters.js:801 users/models.py:182 msgid "Active" msgstr "" @@ -597,7 +597,7 @@ msgstr "Välkommen till InvenTree" msgid "Invalid value" msgstr "Ogiltigt värde" -#: InvenTree/serializers.py:581 +#: InvenTree/serializers.py:581 importer/models.py:60 msgid "Data File" msgstr "Datafil" @@ -651,7 +651,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:1174 +#: InvenTree/status.py:66 part/serializers.py:1202 msgid "Background worker check failed" msgstr "Kontroll av bakgrundsarbetare misslyckades" @@ -711,47 +711,48 @@ msgstr "Systeminformation" msgid "About InvenTree" msgstr "Om InvenTree" -#: build/api.py:255 +#: build/api.py:248 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:4070 templates/js/translated/bom.js:997 -#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 +#: build/api.py:292 build/serializers.py:1190 part/models.py:4155 +#: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 +#: templates/js/translated/build.js:2521 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:300 part/models.py:4064 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 +#: build/api.py:293 build/serializers.py:1191 part/models.py:4149 +#: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 +#: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2530 #: templates/js/translated/table_filters.js:186 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:587 msgid "Optional" msgstr "" -#: build/api.py:301 templates/js/translated/table_filters.js:408 +#: build/api.py:294 templates/js/translated/table_filters.js:408 #: templates/js/translated/table_filters.js:579 msgid "Tracked" msgstr "" -#: build/api.py:303 part/admin.py:144 templates/js/translated/build.js:1744 -#: templates/js/translated/build.js:2629 +#: build/api.py:296 part/admin.py:144 templates/js/translated/build.js:1744 +#: templates/js/translated/build.js:2630 #: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:571 msgid "Allocated" msgstr "" -#: build/api.py:311 company/models.py:872 company/serializers.py:359 +#: build/api.py:304 company/models.py:879 company/serializers.py:386 #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2561 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2562 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:234 -#: templates/js/translated/part.js:693 templates/js/translated/part.js:695 -#: templates/js/translated/part.js:700 +#: 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 #: templates/js/translated/table_filters.js:575 msgid "Available" @@ -760,7 +761,7 @@ msgstr "" #: build/models.py:85 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 -#: stock/serializers.py:82 templates/email/build_order_completed.html:16 +#: stock/serializers.py:84 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:2892 msgid "Build Order" @@ -781,35 +782,39 @@ msgstr "Byggordrar" msgid "Assembly BOM has not been validated" msgstr "" -#: build/models.py:134 part/templates/part/part_base.html:145 -msgid "Part is not active" +#: build/models.py:134 +msgid "Build order cannot be created for an inactive part" +msgstr "" + +#: build/models.py:141 +msgid "Build order cannot be created for an unlocked part" msgstr "" -#: build/models.py:148 +#: build/models.py:155 msgid "Invalid choice for parent build" msgstr "Ogiltigt val för överordnad bygge" -#: build/models.py:159 order/models.py:240 +#: build/models.py:166 order/models.py:240 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:165 +#: build/models.py:172 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:226 +#: build/models.py:233 msgid "Build Order Reference" msgstr "Byggorderreferens" -#: build/models.py:227 order/models.py:463 order/models.py:926 -#: order/models.py:1289 order/models.py:2020 part/admin.py:411 -#: part/models.py:4085 part/templates/part/upload_bom.html:54 +#: build/models.py:234 build/serializers.py:1189 order/models.py:463 +#: order/models.py:926 order/models.py:1289 order/models.py:2046 +#: part/admin.py:411 part/models.py:4170 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: 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/build.js:2513 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2065 #: templates/js/translated/return_order.js:728 @@ -817,27 +822,28 @@ msgstr "Byggorderreferens" msgid "Reference" msgstr "Referens" -#: build/models.py:238 +#: build/models.py:245 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:246 build/templates/build/build_base.html:183 +#: build/models.py:253 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Överordnat Bygge" -#: build/models.py:247 +#: build/models.py:254 msgid "BuildOrder to which this build is allocated" msgstr "Byggorder till vilken detta bygge är tilldelad" -#: build/models.py:252 build/templates/build/build_base.html:97 -#: build/templates/build/detail.html:29 company/models.py:1026 order/api.py:805 -#: order/models.py:1414 order/models.py:1559 order/models.py:1560 -#: part/api.py:1494 part/api.py:1788 part/models.py:395 part/models.py:3012 -#: part/models.py:3156 part/models.py:3303 part/models.py:3324 -#: part/models.py:3346 part/models.py:3477 part/models.py:3787 -#: part/models.py:3943 part/models.py:4036 part/models.py:4395 -#: part/serializers.py:1120 part/serializers.py:1726 +#: build/models.py:259 build/serializers.py:1184 +#: build/templates/build/build_base.html:97 +#: build/templates/build/detail.html:29 company/models.py:1034 order/api.py:759 +#: order/models.py:1419 order/models.py:1574 order/models.py:1575 +#: part/api.py:1480 part/api.py:1776 part/models.py:396 part/models.py:3022 +#: part/models.py:3166 part/models.py:3314 part/models.py:3335 +#: part/models.py:3357 part/models.py:3493 part/models.py:3827 +#: part/models.py:3990 part/models.py:4121 part/models.py:4480 +#: part/serializers.py:1148 part/serializers.py:1758 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -848,8 +854,8 @@ msgstr "Byggorder till vilken detta bygge är tilldelad" #: 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:109 stock/serializers.py:157 stock/serializers.py:423 -#: stock/serializers.py:820 templates/InvenTree/search.html:82 +#: stock/serializers.py:111 stock/serializers.py:159 stock/serializers.py:443 +#: stock/serializers.py:878 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 @@ -862,8 +868,8 @@ msgstr "Byggorder till vilken detta bygge är tilldelad" #: templates/js/translated/company.js:1116 #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 -#: templates/js/translated/part.js:1944 templates/js/translated/part.js:2016 -#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:1947 templates/js/translated/part.js:2019 +#: templates/js/translated/part.js:2327 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:1848 @@ -881,107 +887,107 @@ msgstr "Byggorder till vilken detta bygge är tilldelad" msgid "Part" msgstr "Del" -#: build/models.py:260 +#: build/models.py:267 msgid "Select part to build" msgstr "Välj del att bygga" -#: build/models.py:265 +#: build/models.py:272 msgid "Sales Order Reference" msgstr "Försäljningsorderreferens" -#: build/models.py:269 +#: build/models.py:276 msgid "SalesOrder to which this build is allocated" msgstr "Försäljningsorder till vilken detta bygge allokeras" -#: build/models.py:274 build/serializers.py:999 +#: build/models.py:281 build/serializers.py:1003 #: templates/js/translated/build.js:1731 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "Källa Plats" -#: build/models.py:278 +#: build/models.py:285 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:283 +#: build/models.py:290 msgid "Destination Location" msgstr "Destinationsplats" -#: build/models.py:287 +#: build/models.py:294 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:291 +#: build/models.py:298 msgid "Build Quantity" msgstr "Bygg kvantitet" -#: build/models.py:294 +#: build/models.py:301 msgid "Number of stock items to build" msgstr "Antal lagerobjekt att bygga" -#: build/models.py:298 +#: build/models.py:305 msgid "Completed items" msgstr "Slutförda objekt" -#: build/models.py:300 +#: build/models.py:307 msgid "Number of stock items which have been completed" msgstr "Antal lagerposter som har slutförts" -#: build/models.py:304 +#: build/models.py:311 msgid "Build Status" msgstr "Byggstatus" -#: build/models.py:308 +#: build/models.py:315 msgid "Build status code" msgstr "Bygg statuskod" -#: build/models.py:317 build/serializers.py:286 order/serializers.py:580 -#: stock/models.py:839 stock/serializers.py:74 stock/serializers.py:1458 +#: build/models.py:324 build/serializers.py:290 order/serializers.py:629 +#: stock/models.py:839 stock/serializers.py:76 stock/serializers.py:1524 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "Batchkod" -#: build/models.py:321 build/serializers.py:287 +#: build/models.py:328 build/serializers.py:291 msgid "Batch code for this build output" msgstr "Batch-kod för denna byggutdata" -#: build/models.py:324 order/models.py:316 order/serializers.py:119 -#: part/models.py:1115 part/templates/part/part_base.html:310 +#: build/models.py:331 order/models.py:316 order/serializers.py:127 +#: part/models.py:1125 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:328 +#: build/models.py:335 msgid "Target completion date" msgstr "Datum för slutförande" -#: build/models.py:329 +#: build/models.py:336 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:332 order/models.py:521 order/models.py:2065 +#: build/models.py:339 order/models.py:521 order/models.py:2091 #: templates/js/translated/build.js:2247 msgid "Completion Date" msgstr "Slutförandedatum" -#: build/models.py:338 +#: build/models.py:345 msgid "completed by" msgstr "slutfört av" -#: build/models.py:346 templates/js/translated/build.js:2207 +#: build/models.py:353 templates/js/translated/build.js:2207 msgid "Issued by" msgstr "Utfärdad av" -#: build/models.py:347 +#: build/models.py:354 msgid "User who issued this build order" msgstr "Användare som utfärdade denna byggorder" -#: build/models.py:355 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 common/models.py:147 +#: build/models.py:362 build/templates/build/build_base.html:204 +#: build/templates/build/detail.html:122 common/models.py:152 #: order/models.py:334 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:232 part/models.py:1132 +#: order/templates/order/sales_order_base.html:232 part/models.py:1142 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 @@ -992,11 +998,11 @@ msgstr "Användare som utfärdade denna byggorder" msgid "Responsible" msgstr "Ansvarig" -#: build/models.py:356 +#: build/models.py:363 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:361 build/templates/build/detail.html:108 +#: build/models.py:368 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 @@ -1008,21 +1014,22 @@ msgstr "" msgid "External Link" msgstr "Extern länk" -#: build/models.py:362 common/models.py:3244 part/models.py:956 +#: build/models.py:369 common/models.py:3230 part/models.py:960 #: stock/models.py:835 msgid "Link to external URL" msgstr "Länk till extern URL" -#: build/models.py:366 +#: build/models.py:373 msgid "Build Priority" msgstr "" -#: build/models.py:369 +#: build/models.py:376 msgid "Priority of this build order" msgstr "" -#: build/models.py:376 common/models.py:131 order/admin.py:18 -#: order/models.py:298 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:383 common/models.py:122 common/models.py:136 +#: order/admin.py:18 order/models.py:298 order/serializers.py:108 +#: templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 #: templates/js/translated/purchase_order.js:1710 #: templates/js/translated/return_order.js:317 @@ -1032,65 +1039,66 @@ msgstr "" msgid "Project Code" msgstr "Projektkod" -#: build/models.py:377 +#: build/models.py:384 msgid "Project code for this build order" msgstr "" -#: build/models.py:610 build/models.py:675 +#: build/models.py:617 build/models.py:682 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:632 +#: build/models.py:639 #, python-brace-format msgid "Build order {build} has been completed" msgstr "Byggorder {build} har slutförts" -#: build/models.py:638 +#: build/models.py:645 msgid "A build order has been completed" msgstr "En byggorder har slutförts" -#: build/models.py:864 build/models.py:949 +#: build/models.py:871 build/models.py:956 msgid "No build output specified" msgstr "Ingen byggutgång angiven" -#: build/models.py:867 +#: build/models.py:874 msgid "Build output is already completed" msgstr "Byggutgång är redan slutförd" -#: build/models.py:870 +#: build/models.py:877 msgid "Build output does not match Build Order" msgstr "Byggutgång matchar inte bygg order" -#: build/models.py:953 build/serializers.py:219 build/serializers.py:268 -#: build/serializers.py:866 order/models.py:559 order/serializers.py:432 -#: order/serializers.py:575 part/serializers.py:1484 part/serializers.py:1884 -#: stock/models.py:678 stock/models.py:1496 stock/serializers.py:603 +#: build/models.py:960 build/serializers.py:223 build/serializers.py:272 +#: build/serializers.py:870 order/models.py:559 order/serializers.py:461 +#: order/serializers.py:624 part/serializers.py:1515 part/serializers.py:1921 +#: stock/models.py:678 stock/models.py:1496 stock/serializers.py:661 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:958 build/serializers.py:224 +#: build/models.py:965 build/serializers.py:228 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1018 build/serializers.py:547 +#: build/models.py:1025 build/serializers.py:551 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1359 +#: build/models.py:1366 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1384 +#: build/models.py:1391 msgid "Build object" msgstr "" -#: build/models.py:1398 build/models.py:1654 build/serializers.py:206 -#: build/serializers.py:253 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2563 -#: order/models.py:1272 order/models.py:1931 order/serializers.py:1327 +#: build/models.py:1405 build/models.py:1661 build/serializers.py:210 +#: build/serializers.py:257 build/serializers.py:1194 +#: build/templates/build/build_base.html:102 +#: build/templates/build/detail.html:34 common/models.py:2544 +#: order/models.py:1272 order/models.py:1957 order/serializers.py:1383 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:410 -#: part/forms.py:48 part/models.py:3170 part/models.py:4058 +#: part/forms.py:48 part/models.py:3180 part/models.py:4143 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1100,7 +1108,7 @@ msgstr "" #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:169 stock/admin.py:159 -#: stock/serializers.py:125 stock/serializers.py:165 stock/serializers.py:594 +#: stock/serializers.py:127 stock/serializers.py:167 stock/serializers.py:652 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 @@ -1111,8 +1119,8 @@ msgstr "" #: templates/js/translated/build.js:1746 templates/js/translated/build.js:2357 #: templates/js/translated/company.js:1818 #: templates/js/translated/model_renderers.js:236 -#: templates/js/translated/order.js:304 templates/js/translated/part.js:962 -#: templates/js/translated/part.js:1812 templates/js/translated/part.js:3342 +#: templates/js/translated/order.js:304 templates/js/translated/part.js:965 +#: templates/js/translated/part.js:1815 templates/js/translated/part.js:3345 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 @@ -1132,38 +1140,38 @@ msgstr "" msgid "Quantity" msgstr "Antal" -#: build/models.py:1399 +#: build/models.py:1406 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1479 +#: build/models.py:1486 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:1488 +#: build/models.py:1495 #, 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:1498 order/models.py:1882 +#: build/models.py:1505 order/models.py:1908 msgid "Stock item is over-allocated" msgstr "Lagerposten är överallokerad" -#: build/models.py:1504 order/models.py:1885 +#: build/models.py:1511 order/models.py:1911 msgid "Allocation quantity must be greater than zero" msgstr "Allokeringsmängden måste vara större än noll" -#: build/models.py:1510 +#: build/models.py:1517 msgid "Quantity must be 1 for serialized stock" msgstr "Antal måste vara 1 för serialiserat lager" -#: build/models.py:1569 +#: build/models.py:1576 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1641 build/serializers.py:846 order/serializers.py:1171 -#: order/serializers.py:1192 stock/models.py:359 stock/serializers.py:91 -#: stock/serializers.py:697 stock/serializers.py:1177 stock/serializers.py:1289 +#: build/models.py:1648 build/serializers.py:850 order/serializers.py:1227 +#: order/serializers.py:1248 stock/models.py:359 stock/serializers.py:93 +#: stock/serializers.py:755 stock/serializers.py:1243 stock/serializers.py:1355 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 @@ -1179,70 +1187,76 @@ msgstr "" msgid "Stock Item" msgstr "Artikel i lager" -#: build/models.py:1642 +#: build/models.py:1649 msgid "Source stock item" msgstr "Källa lagervara" -#: build/models.py:1655 +#: build/models.py:1662 msgid "Stock quantity to allocate to build" msgstr "Lagersaldo att allokera för att bygga" -#: build/models.py:1663 +#: build/models.py:1670 msgid "Install into" msgstr "Installera till" -#: build/models.py:1664 +#: build/models.py:1671 msgid "Destination stock item" msgstr "Destination lagervara" -#: build/serializers.py:156 build/serializers.py:875 +#: build/serializers.py:89 build/serializers.py:1185 part/admin.py:41 +#: part/admin.py:405 part/models.py:3992 part/stocktake.py:220 +#: stock/admin.py:156 +msgid "Part Name" +msgstr "" + +#: build/serializers.py:160 build/serializers.py:879 #: templates/js/translated/build.js:1322 msgid "Build Output" msgstr "Bygg utdata" -#: build/serializers.py:168 +#: build/serializers.py:172 msgid "Build output does not match the parent build" msgstr "Byggutdata matchar inte överordnad version" -#: build/serializers.py:172 +#: build/serializers.py:176 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:176 +#: build/serializers.py:180 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:187 +#: build/serializers.py:191 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:207 build/serializers.py:254 +#: build/serializers.py:211 build/serializers.py:258 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:275 +#: build/serializers.py:279 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:278 +#: build/serializers.py:282 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:293 order/serializers.py:588 order/serializers.py:1331 -#: stock/serializers.py:614 templates/js/translated/purchase_order.js:1153 +#: build/serializers.py:297 order/serializers.py:637 order/serializers.py:1387 +#: stock/serializers.py:672 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:294 +#: build/serializers.py:298 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:299 build/serializers.py:440 build/serializers.py:512 -#: order/serializers.py:564 order/serializers.py:672 order/serializers.py:1656 -#: part/serializers.py:1140 stock/serializers.py:100 stock/serializers.py:625 -#: stock/serializers.py:785 stock/serializers.py:881 stock/serializers.py:1321 -#: stock/serializers.py:1577 stock/templates/stock/item_base.html:394 +#: build/serializers.py:303 build/serializers.py:444 build/serializers.py:516 +#: order/serializers.py:613 order/serializers.py:721 order/serializers.py:1714 +#: part/serializers.py:1168 stock/serializers.py:102 stock/serializers.py:683 +#: stock/serializers.py:843 stock/serializers.py:939 stock/serializers.py:1387 +#: stock/serializers.py:1643 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 @@ -1258,54 +1272,54 @@ msgstr "" msgid "Location" msgstr "Plats" -#: build/serializers.py:300 +#: build/serializers.py:304 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:314 +#: build/serializers.py:318 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:315 +#: build/serializers.py:319 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:330 +#: build/serializers.py:334 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:355 stock/api.py:1041 +#: build/serializers.py:359 stock/api.py:1033 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:402 build/serializers.py:464 build/serializers.py:553 +#: build/serializers.py:406 build/serializers.py:468 build/serializers.py:557 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:441 +#: build/serializers.py:445 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:447 +#: build/serializers.py:451 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:448 +#: build/serializers.py:452 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:453 +#: build/serializers.py:457 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:513 +#: build/serializers.py:517 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:519 build/templates/build/build_base.html:151 +#: build/serializers.py:523 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:950 -#: order/models.py:2044 order/serializers.py:596 stock/admin.py:164 -#: stock/serializers.py:932 stock/serializers.py:1465 +#: order/models.py:2070 order/serializers.py:645 stock/admin.py:164 +#: stock/serializers.py:990 stock/serializers.py:1531 #: 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 @@ -1317,193 +1331,247 @@ msgstr "" msgid "Status" msgstr "Status" -#: build/serializers.py:525 +#: build/serializers.py:529 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:526 +#: build/serializers.py:530 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:611 +#: build/serializers.py:615 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:612 +#: build/serializers.py:616 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:618 +#: build/serializers.py:622 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:619 +#: build/serializers.py:623 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:646 +#: build/serializers.py:650 msgid "Not permitted" msgstr "" -#: build/serializers.py:647 +#: build/serializers.py:651 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:648 +#: build/serializers.py:652 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:678 +#: build/serializers.py:682 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:680 +#: build/serializers.py:684 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:690 +#: build/serializers.py:694 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:695 +#: build/serializers.py:699 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:696 +#: build/serializers.py:700 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:706 templates/js/translated/build.js:315 +#: build/serializers.py:710 templates/js/translated/build.js:315 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:711 order/serializers.py:300 order/serializers.py:1234 +#: build/serializers.py:715 order/serializers.py:319 order/serializers.py:1290 msgid "Accept Incomplete" msgstr "Acceptera ofullständig" -#: build/serializers.py:712 +#: build/serializers.py:716 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:722 templates/js/translated/build.js:319 +#: build/serializers.py:726 templates/js/translated/build.js:319 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:731 templates/js/translated/build.js:303 +#: build/serializers.py:735 templates/js/translated/build.js:303 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:769 +#: build/serializers.py:773 msgid "Build Line" msgstr "" -#: build/serializers.py:779 +#: build/serializers.py:783 msgid "Build output" msgstr "" -#: build/serializers.py:787 +#: build/serializers.py:791 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:823 +#: build/serializers.py:827 msgid "Build Line Item" msgstr "" -#: build/serializers.py:837 +#: build/serializers.py:841 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:852 stock/serializers.py:1190 +#: build/serializers.py:856 stock/serializers.py:1256 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:900 order/serializers.py:1225 +#: build/serializers.py:904 order/serializers.py:1281 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:906 +#: build/serializers.py:910 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:913 +#: build/serializers.py:917 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:937 order/serializers.py:1477 +#: build/serializers.py:941 order/serializers.py:1533 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:1000 +#: build/serializers.py:1004 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:1008 +#: build/serializers.py:1012 msgid "Exclude Location" msgstr "" -#: build/serializers.py:1009 +#: build/serializers.py:1013 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:1014 +#: build/serializers.py:1018 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:1015 +#: build/serializers.py:1019 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:1020 +#: build/serializers.py:1024 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:1021 +#: build/serializers.py:1025 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:1026 +#: build/serializers.py:1030 msgid "Optional Items" msgstr "" -#: build/serializers.py:1027 +#: build/serializers.py:1031 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1049 +#: build/serializers.py:1053 msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1139 part/models.py:3953 part/models.py:4387 -#: stock/api.py:804 +#: build/serializers.py:1095 +#, fuzzy +#| msgid "Supplier Name" +msgid "Supplier Part Number" +msgstr "Leverantörsnamn" + +#: build/serializers.py:1096 company/models.py:500 +msgid "Manufacturer Part Number" +msgstr "" + +#: build/serializers.py:1097 stock/admin.py:53 stock/admin.py:175 +#: stock/serializers.py:454 +msgid "Location Name" +msgstr "" + +#: build/serializers.py:1098 +#, fuzzy +#| msgid "Build Order Reference" +msgid "Build Reference" +msgstr "Byggorderreferens" + +#: build/serializers.py:1099 +#, fuzzy +#| msgid "Reference" +msgid "BOM Reference" +msgstr "Referens" + +#: build/serializers.py:1186 part/admin.py:402 part/models.py:3993 +msgid "Part IPN" +msgstr "" + +#: build/serializers.py:1192 common/models.py:1488 part/admin.py:113 +#: part/models.py:1068 templates/js/translated/table_filters.js:147 +#: templates/js/translated/table_filters.js:223 +#: templates/js/translated/table_filters.js:776 +msgid "Trackable" +msgstr "" + +#: build/serializers.py:1196 part/models.py:4000 part/models.py:4472 +#: stock/api.py:796 msgid "BOM Item" msgstr "" -#: build/serializers.py:1148 templates/js/translated/index.js:130 +#: build/serializers.py:1205 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1153 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:828 part/serializers.py:1502 +#: build/serializers.py:1210 part/admin.py:132 part/bom.py:173 +#: part/serializers.py:856 part/serializers.py:1533 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2613 templates/js/translated/part.js:710 -#: templates/js/translated/part.js:2149 +#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709 +#: templates/js/translated/part.js:2152 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "" -#: build/serializers.py:1158 part/serializers.py:1504 -#: templates/js/translated/build.js:2617 +#: build/serializers.py:1215 part/serializers.py:1535 +#: templates/js/translated/build.js:2618 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1163 part/bom.py:172 part/serializers.py:1527 +#: build/serializers.py:1220 part/bom.py:172 part/serializers.py:1558 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" msgstr "" +#: build/serializers.py:1224 +msgid "Available Substitute Stock" +msgstr "" + +#: build/serializers.py:1225 +msgid "Available Variant Stock" +msgstr "" + +#: build/serializers.py:1226 +msgid "Total Available Stock" +msgstr "" + +#: build/serializers.py:1227 part/serializers.py:862 +msgid "External Stock" +msgstr "" + #: build/status_codes.py:11 generic/states/tests.py:17 order/status_codes.py:12 #: order/status_codes.py:37 order/status_codes.py:64 order/status_codes.py:82 #: templates/js/translated/table_filters.js:598 @@ -1519,7 +1587,8 @@ msgstr "Produktion" msgid "Cancelled" msgstr "Avbruten" -#: build/status_codes.py:14 generic/states/tests.py:19 order/status_codes.py:14 +#: build/status_codes.py:14 generic/states/tests.py:19 importer/models.py:468 +#: importer/status_codes.py:19 order/status_codes.py:14 #: order/status_codes.py:44 order/status_codes.py:69 #: order/templates/order/order_base.html:158 #: order/templates/order/sales_order_base.html:165 report/models.py:444 @@ -1652,11 +1721,12 @@ msgstr "" #: build/templates/build/build_base.html:160 #: build/templates/build/detail.html:138 order/models.py:309 -#: order/models.py:1307 order/templates/order/order_base.html:186 +#: order/models.py:1307 order/serializers.py:174 +#: order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: 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:1831 +#: templates/js/translated/build.js:2239 templates/js/translated/part.js:1834 #: templates/js/translated/purchase_order.js:1739 #: templates/js/translated/purchase_order.js:2147 #: templates/js/translated/return_order.js:346 @@ -1689,8 +1759,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1463 order/models.py:845 -#: order/models.py:1551 order/models.py:1665 order/models.py:1819 +#: build/templates/build/detail.html:101 order/api.py:1384 order/models.py:845 +#: order/models.py:1566 order/models.py:1681 order/models.py:1840 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 @@ -1740,7 +1810,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1443 +#: build/templates/build/detail.html:49 order/models.py:1448 #: templates/js/translated/purchase_order.js:2189 msgid "Destination" msgstr "Mål" @@ -1892,31 +1962,31 @@ msgstr "" msgid "Incomplete Outputs" msgstr "" -#: common/api.py:689 +#: common/api.py:690 msgid "Is Link" msgstr "" -#: common/api.py:697 +#: common/api.py:698 msgid "Is File" msgstr "" -#: common/api.py:739 +#: common/api.py:740 msgid "User does not have permission to delete this attachment" msgstr "" -#: common/currency.py:130 +#: common/currency.py:132 msgid "Invalid currency code" msgstr "Ogiltig valutakod" -#: common/currency.py:132 +#: common/currency.py:134 msgid "Duplicate currency code" msgstr "" -#: common/currency.py:137 +#: common/currency.py:139 msgid "No valid currency codes provided" msgstr "" -#: common/currency.py:154 +#: common/currency.py:156 msgid "No plugin" msgstr "" @@ -1970,1635 +2040,1604 @@ msgstr "" msgid "Site URL is locked by configuration" msgstr "" -#: common/models.py:132 +#: common/models.py:137 msgid "Unique project code" msgstr "Unik projektkod" -#: common/models.py:139 +#: common/models.py:144 msgid "Project description" msgstr "Projektbeskrivning" -#: common/models.py:148 +#: common/models.py:153 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:765 +#: common/models.py:770 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:769 +#: common/models.py:774 msgid "Settings value" msgstr "" -#: common/models.py:821 +#: common/models.py:826 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:837 +#: common/models.py:842 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:845 +#: common/models.py:850 msgid "Value must be an integer value" msgstr "" -#: common/models.py:882 +#: common/models.py:887 msgid "Key string must be unique" msgstr "" -#: common/models.py:1114 +#: common/models.py:1119 msgid "No group" msgstr "Ingen grupp" -#: common/models.py:1213 +#: common/models.py:1218 msgid "Restart required" msgstr "Omstart krävs" -#: common/models.py:1215 +#: common/models.py:1220 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:1222 +#: common/models.py:1227 msgid "Pending migrations" msgstr "" -#: common/models.py:1223 +#: common/models.py:1228 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1228 +#: common/models.py:1233 msgid "Server Instance Name" msgstr "Serverinstans (Namn)" -#: common/models.py:1230 +#: common/models.py:1235 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1234 +#: common/models.py:1239 msgid "Use instance name" msgstr "" -#: common/models.py:1235 +#: common/models.py:1240 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1240 +#: common/models.py:1245 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1241 +#: common/models.py:1246 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1246 company/models.py:111 company/models.py:112 +#: common/models.py:1251 company/models.py:111 company/models.py:112 msgid "Company name" msgstr "Företagsnamn" -#: common/models.py:1247 +#: common/models.py:1252 msgid "Internal company name" msgstr "Internt företagsnamn" -#: common/models.py:1251 +#: common/models.py:1256 msgid "Base URL" msgstr "Bas-URL" -#: common/models.py:1252 +#: common/models.py:1257 msgid "Base URL for server instance" msgstr "Bas-URL för serverinstans" -#: common/models.py:1258 +#: common/models.py:1263 msgid "Default Currency" msgstr "Standardvaluta" -#: common/models.py:1259 +#: common/models.py:1264 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1265 +#: common/models.py:1270 msgid "Supported Currencies" msgstr "" -#: common/models.py:1266 +#: common/models.py:1271 msgid "List of supported currency codes" msgstr "" -#: common/models.py:1272 +#: common/models.py:1277 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1274 +#: common/models.py:1279 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1277 common/models.py:1333 common/models.py:1346 -#: common/models.py:1354 common/models.py:1363 common/models.py:1372 -#: common/models.py:1596 common/models.py:1618 common/models.py:1733 -#: common/models.py:2100 +#: common/models.py:1282 common/models.py:1338 common/models.py:1351 +#: common/models.py:1359 common/models.py:1368 common/models.py:1377 +#: common/models.py:1601 common/models.py:1623 common/models.py:1738 +#: common/models.py:2111 msgid "days" msgstr "dagar" -#: common/models.py:1281 +#: common/models.py:1286 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1282 +#: common/models.py:1287 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1287 +#: common/models.py:1292 msgid "Download from URL" msgstr "Ladda ner från URL" -#: common/models.py:1289 +#: common/models.py:1294 msgid "Allow download of remote images and files from external URL" msgstr "Tillåt nedladdning av bilder och filer från extern URL" -#: common/models.py:1295 +#: common/models.py:1300 msgid "Download Size Limit" msgstr "" -#: common/models.py:1296 +#: common/models.py:1301 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1302 +#: common/models.py:1307 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1304 +#: common/models.py:1309 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/models.py:1309 +#: common/models.py:1314 msgid "Strict URL Validation" msgstr "" -#: common/models.py:1310 +#: common/models.py:1315 msgid "Require schema specification when validating URLs" msgstr "" -#: common/models.py:1315 +#: common/models.py:1320 msgid "Require confirm" msgstr "Kräv bekräftelse" -#: common/models.py:1316 +#: common/models.py:1321 msgid "Require explicit user confirmation for certain action." msgstr "Kräv uttrycklig användarbekräftelse för vissa åtgärder." -#: common/models.py:1321 +#: common/models.py:1326 msgid "Tree Depth" msgstr "" -#: common/models.py:1323 +#: common/models.py:1328 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1329 +#: common/models.py:1334 msgid "Update Check Interval" msgstr "" -#: common/models.py:1330 +#: common/models.py:1335 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:1336 +#: common/models.py:1341 msgid "Automatic Backup" msgstr "" -#: common/models.py:1337 +#: common/models.py:1342 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:1342 +#: common/models.py:1347 msgid "Auto Backup Interval" msgstr "" -#: common/models.py:1343 +#: common/models.py:1348 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1349 +#: common/models.py:1354 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1351 +#: common/models.py:1356 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1358 +#: common/models.py:1363 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1360 +#: common/models.py:1365 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1367 +#: common/models.py:1372 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1369 +#: common/models.py:1374 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1376 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1381 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "Stöd för streckkoder" -#: common/models.py:1377 +#: common/models.py:1382 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1382 +#: common/models.py:1387 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1383 +#: common/models.py:1388 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1389 +#: common/models.py:1394 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1390 +#: common/models.py:1395 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1395 +#: common/models.py:1400 msgid "Barcode Show Data" msgstr "" -#: common/models.py:1396 +#: common/models.py:1401 msgid "Display barcode data in browser as text" msgstr "" -#: common/models.py:1401 +#: common/models.py:1406 msgid "Part Revisions" msgstr "" -#: common/models.py:1402 +#: common/models.py:1407 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1407 +#: common/models.py:1412 msgid "Allow Deletion from Assembly" msgstr "" -#: common/models.py:1408 +#: common/models.py:1413 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/models.py:1413 +#: common/models.py:1418 msgid "IPN Regex" msgstr "" -#: common/models.py:1414 +#: common/models.py:1419 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1417 +#: common/models.py:1422 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1418 +#: common/models.py:1423 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1423 +#: common/models.py:1428 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1424 +#: common/models.py:1429 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1429 +#: common/models.py:1434 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1430 +#: common/models.py:1435 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1435 +#: common/models.py:1440 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1436 +#: common/models.py:1441 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1441 +#: common/models.py:1446 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1442 +#: common/models.py:1447 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1447 +#: common/models.py:1452 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1448 +#: common/models.py:1453 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1453 part/admin.py:108 part/models.py:3795 +#: common/models.py:1458 part/admin.py:108 part/models.py:3835 #: report/models.py:294 report/models.py:361 report/serializers.py:90 -#: report/serializers.py:131 stock/serializers.py:227 +#: report/serializers.py:131 stock/serializers.py:232 #: templates/js/translated/table_filters.js:139 -#: templates/js/translated/table_filters.js:767 +#: templates/js/translated/table_filters.js:772 msgid "Template" msgstr "Mall" -#: common/models.py:1454 +#: common/models.py:1459 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1459 part/admin.py:91 part/admin.py:425 part/models.py:1052 +#: common/models.py:1464 part/admin.py:91 part/admin.py:425 part/models.py:1056 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 -#: templates/js/translated/table_filters.js:721 +#: templates/js/translated/table_filters.js:726 msgid "Assembly" msgstr "" -#: common/models.py:1460 +#: common/models.py:1465 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1465 part/admin.py:95 part/models.py:1058 -#: templates/js/translated/table_filters.js:729 +#: common/models.py:1470 part/admin.py:95 part/models.py:1062 +#: templates/js/translated/table_filters.js:734 msgid "Component" msgstr "" -#: common/models.py:1466 +#: common/models.py:1471 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1471 part/admin.py:100 part/models.py:1070 +#: common/models.py:1476 part/admin.py:100 part/models.py:1074 msgid "Purchaseable" msgstr "" -#: common/models.py:1472 +#: common/models.py:1477 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1477 part/admin.py:104 part/models.py:1076 -#: templates/js/translated/table_filters.js:755 +#: common/models.py:1482 part/admin.py:104 part/models.py:1080 +#: templates/js/translated/table_filters.js:760 msgid "Salable" msgstr "" -#: common/models.py:1478 +#: common/models.py:1483 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1483 part/admin.py:113 part/models.py:1064 -#: 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:1484 +#: common/models.py:1489 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1489 part/admin.py:117 part/models.py:1086 +#: common/models.py:1494 part/admin.py:117 part/models.py:1096 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 -#: templates/js/translated/table_filters.js:775 +#: templates/js/translated/table_filters.js:780 msgid "Virtual" msgstr "Virtuell" -#: common/models.py:1490 +#: common/models.py:1495 msgid "Parts are virtual by default" msgstr "Delar är virtuella som standard" -#: common/models.py:1495 +#: common/models.py:1500 msgid "Show Import in Views" msgstr "Visa import i vyer" -#: common/models.py:1496 +#: common/models.py:1501 msgid "Display the import wizard in some part views" msgstr "Visa importguiden i vissa delvyer" -#: common/models.py:1501 +#: common/models.py:1506 msgid "Show related parts" msgstr "Visa relaterade delar" -#: common/models.py:1502 +#: common/models.py:1507 msgid "Display related parts for a part" msgstr "Visa relaterade delar för en del" -#: common/models.py:1507 +#: common/models.py:1512 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1508 +#: common/models.py:1513 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1513 templates/js/translated/part.js:107 +#: common/models.py:1518 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1515 +#: common/models.py:1520 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1521 +#: common/models.py:1526 msgid "Part Name Display Format" msgstr "Visningsformat för delnamn" -#: common/models.py:1522 +#: common/models.py:1527 msgid "Format to display the part name" msgstr "Formatera för att visa artikelnamnet" -#: common/models.py:1528 +#: common/models.py:1533 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1529 +#: common/models.py:1534 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1533 +#: common/models.py:1538 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1535 +#: common/models.py:1540 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1541 +#: common/models.py:1546 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1543 +#: common/models.py:1548 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1554 +#: common/models.py:1559 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1556 +#: common/models.py:1561 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1567 +#: common/models.py:1572 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1569 +#: common/models.py:1574 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1575 +#: common/models.py:1580 msgid "Purchase History Override" msgstr "" -#: common/models.py:1577 +#: common/models.py:1582 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1583 +#: common/models.py:1588 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1585 +#: common/models.py:1590 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1591 +#: common/models.py:1596 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1593 +#: common/models.py:1598 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1600 +#: common/models.py:1605 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1601 +#: common/models.py:1606 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1606 +#: common/models.py:1611 msgid "Active Variants Only" msgstr "" -#: common/models.py:1608 +#: common/models.py:1613 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1614 +#: common/models.py:1619 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1616 +#: common/models.py:1621 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1623 +#: common/models.py:1628 msgid "Internal Prices" msgstr "Interna priser" -#: common/models.py:1624 +#: common/models.py:1629 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1629 +#: common/models.py:1634 msgid "Internal Price Override" msgstr "" -#: common/models.py:1631 +#: common/models.py:1636 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1637 +#: common/models.py:1642 msgid "Enable label printing" msgstr "Aktivera etikettutskrift" -#: common/models.py:1638 +#: common/models.py:1643 msgid "Enable label printing from the web interface" msgstr "Aktivera etikettutskrift från webbgränssnittet" -#: common/models.py:1643 +#: common/models.py:1648 msgid "Label Image DPI" msgstr "Etikettbild DPI" -#: common/models.py:1645 +#: common/models.py:1650 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1651 +#: common/models.py:1656 msgid "Enable Reports" msgstr "Aktivera rapporter" -#: common/models.py:1652 +#: common/models.py:1657 msgid "Enable generation of reports" msgstr "Aktivera generering av rapporter" -#: common/models.py:1657 templates/stats.html:25 +#: common/models.py:1662 templates/stats.html:25 msgid "Debug Mode" msgstr "Debugläge" -#: common/models.py:1658 +#: common/models.py:1663 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1663 +#: common/models.py:1668 msgid "Log Report Errors" msgstr "" -#: common/models.py:1664 +#: common/models.py:1669 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1669 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1674 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:302 msgid "Page Size" msgstr "Sidstorlek" -#: common/models.py:1670 +#: common/models.py:1675 msgid "Default page size for PDF reports" msgstr "Standard sidstorlek för PDF-rapporter" -#: common/models.py:1675 +#: common/models.py:1680 msgid "Enable Test Reports" msgstr "Aktivera testrapporter" -#: common/models.py:1676 +#: common/models.py:1681 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1681 +#: common/models.py:1686 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1683 +#: common/models.py:1688 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1689 +#: common/models.py:1694 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1690 +#: common/models.py:1695 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1695 +#: common/models.py:1700 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1696 +#: common/models.py:1701 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1701 +#: common/models.py:1706 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1703 +#: common/models.py:1708 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1709 +#: common/models.py:1714 msgid "Batch Code Template" msgstr "" -#: common/models.py:1711 +#: common/models.py:1716 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1716 +#: common/models.py:1721 msgid "Stock Expiry" msgstr "" -#: common/models.py:1717 +#: common/models.py:1722 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1722 +#: common/models.py:1727 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1723 +#: common/models.py:1728 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1728 +#: common/models.py:1733 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1730 +#: common/models.py:1735 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1737 +#: common/models.py:1742 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1738 +#: common/models.py:1743 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1743 +#: common/models.py:1748 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1744 +#: common/models.py:1749 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1749 +#: common/models.py:1754 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1750 +#: common/models.py:1755 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1754 +#: common/models.py:1759 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1755 +#: common/models.py:1760 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1760 +#: common/models.py:1765 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1762 +#: common/models.py:1767 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1768 +#: common/models.py:1773 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1770 +#: common/models.py:1775 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1776 +#: common/models.py:1781 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1778 +#: common/models.py:1783 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1784 common/models.py:1826 common/models.py:1848 -#: common/models.py:1884 +#: common/models.py:1789 common/models.py:1837 common/models.py:1859 +#: common/models.py:1895 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1785 common/models.py:1827 common/models.py:1849 -#: common/models.py:1885 +#: common/models.py:1790 common/models.py:1838 common/models.py:1860 +#: common/models.py:1896 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1790 +#: common/models.py:1795 msgid "Require Active Part" msgstr "" -#: common/models.py:1791 +#: common/models.py:1796 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/models.py:1796 +#: common/models.py:1801 +msgid "Require Locked Part" +msgstr "" + +#: common/models.py:1802 +msgid "Prevent build order creation for unlocked parts" +msgstr "" + +#: common/models.py:1807 msgid "Require Valid BOM" msgstr "" -#: common/models.py:1798 +#: common/models.py:1809 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/models.py:1804 +#: common/models.py:1815 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1806 +#: common/models.py:1817 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1812 +#: common/models.py:1823 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1813 +#: common/models.py:1824 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1818 +#: common/models.py:1829 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1820 +#: common/models.py:1831 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1832 +#: common/models.py:1843 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1834 +#: common/models.py:1845 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1840 +#: common/models.py:1851 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1842 +#: common/models.py:1853 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1854 +#: common/models.py:1865 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1855 +#: common/models.py:1866 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1860 +#: common/models.py:1871 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1862 +#: common/models.py:1873 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1868 +#: common/models.py:1879 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1870 +#: common/models.py:1881 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1876 +#: common/models.py:1887 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1878 +#: common/models.py:1889 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1890 +#: common/models.py:1901 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1892 +#: common/models.py:1903 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1898 +#: common/models.py:1909 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1900 +#: common/models.py:1911 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1907 +#: common/models.py:1918 msgid "Enable password forgot" msgstr "" -#: common/models.py:1908 +#: common/models.py:1919 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1913 +#: common/models.py:1924 msgid "Enable registration" msgstr "Aktivera registrering" -#: common/models.py:1914 +#: common/models.py:1925 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1919 +#: common/models.py:1930 msgid "Enable SSO" msgstr "" -#: common/models.py:1920 +#: common/models.py:1931 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1925 +#: common/models.py:1936 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1927 +#: common/models.py:1938 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1933 +#: common/models.py:1944 msgid "Enable SSO group sync" msgstr "" -#: common/models.py:1935 +#: common/models.py:1946 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/models.py:1941 +#: common/models.py:1952 msgid "SSO group key" msgstr "" -#: common/models.py:1943 +#: common/models.py:1954 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/models.py:1949 +#: common/models.py:1960 msgid "SSO group map" msgstr "" -#: common/models.py:1951 +#: common/models.py:1962 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/models.py:1957 +#: common/models.py:1968 msgid "Remove groups outside of SSO" msgstr "" -#: common/models.py:1959 +#: common/models.py:1970 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/models.py:1965 +#: common/models.py:1976 msgid "Email required" msgstr "" -#: common/models.py:1966 +#: common/models.py:1977 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1971 +#: common/models.py:1982 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1973 +#: common/models.py:1984 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1979 +#: common/models.py:1990 msgid "Mail twice" msgstr "" -#: common/models.py:1980 +#: common/models.py:1991 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1985 +#: common/models.py:1996 msgid "Password twice" msgstr "" -#: common/models.py:1986 +#: common/models.py:1997 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1991 +#: common/models.py:2002 msgid "Allowed domains" msgstr "Tillåtna domäner" -#: common/models.py:1993 +#: common/models.py:2004 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1999 +#: common/models.py:2010 msgid "Group on signup" msgstr "" -#: common/models.py:2001 +#: common/models.py:2012 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/models.py:2007 +#: common/models.py:2018 msgid "Enforce MFA" msgstr "" -#: common/models.py:2008 +#: common/models.py:2019 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:2013 +#: common/models.py:2024 msgid "Check plugins on startup" msgstr "" -#: common/models.py:2015 +#: common/models.py:2026 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:2023 +#: common/models.py:2034 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2024 +#: common/models.py:2035 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2030 +#: common/models.py:2041 msgid "Enable URL integration" msgstr "" -#: common/models.py:2031 +#: common/models.py:2042 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:2037 +#: common/models.py:2048 msgid "Enable navigation integration" msgstr "" -#: common/models.py:2038 +#: common/models.py:2049 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2044 +#: common/models.py:2055 msgid "Enable app integration" msgstr "" -#: common/models.py:2045 +#: common/models.py:2056 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2051 +#: common/models.py:2062 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2052 +#: common/models.py:2063 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2058 +#: common/models.py:2069 msgid "Enable event integration" msgstr "" -#: common/models.py:2059 +#: common/models.py:2070 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2065 +#: common/models.py:2076 msgid "Enable project codes" msgstr "Aktivera projektkoder" -#: common/models.py:2066 +#: common/models.py:2077 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2071 +#: common/models.py:2082 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2073 +#: common/models.py:2084 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2079 +#: common/models.py:2090 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2081 +#: common/models.py:2092 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2087 +#: common/models.py:2098 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2089 +#: common/models.py:2100 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2095 +#: common/models.py:2106 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2097 +#: common/models.py:2108 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2104 +#: common/models.py:2115 msgid "Display Users full names" msgstr "" -#: common/models.py:2105 +#: common/models.py:2116 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2110 +#: common/models.py:2121 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2111 +#: common/models.py:2122 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2123 common/models.py:2533 +#: common/models.py:2134 common/models.py:2514 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2166 +#: common/models.py:2177 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2168 +#: common/models.py:2179 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2174 +#: common/models.py:2185 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2175 +#: common/models.py:2186 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2180 +#: common/models.py:2191 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2181 +#: common/models.py:2192 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2186 +#: common/models.py:2197 msgid "Show latest parts" msgstr "" -#: common/models.py:2187 +#: common/models.py:2198 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2192 +#: common/models.py:2203 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2193 +#: common/models.py:2204 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2198 +#: common/models.py:2209 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2199 +#: common/models.py:2210 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2204 +#: common/models.py:2215 msgid "Show low stock" msgstr "" -#: common/models.py:2205 +#: common/models.py:2216 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2210 +#: common/models.py:2221 msgid "Show depleted stock" msgstr "" -#: common/models.py:2211 +#: common/models.py:2222 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2216 +#: common/models.py:2227 msgid "Show needed stock" msgstr "" -#: common/models.py:2217 +#: common/models.py:2228 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2222 +#: common/models.py:2233 msgid "Show expired stock" msgstr "" -#: common/models.py:2223 +#: common/models.py:2234 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2228 +#: common/models.py:2239 msgid "Show stale stock" msgstr "" -#: common/models.py:2229 +#: common/models.py:2240 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2234 +#: common/models.py:2245 msgid "Show pending builds" msgstr "" -#: common/models.py:2235 +#: common/models.py:2246 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2240 +#: common/models.py:2251 msgid "Show overdue builds" msgstr "" -#: common/models.py:2241 +#: common/models.py:2252 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2246 +#: common/models.py:2257 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2247 +#: common/models.py:2258 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2252 +#: common/models.py:2263 msgid "Show overdue POs" msgstr "" -#: common/models.py:2253 +#: common/models.py:2264 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2258 +#: common/models.py:2269 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2259 +#: common/models.py:2270 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2264 +#: common/models.py:2275 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2265 +#: common/models.py:2276 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2270 +#: common/models.py:2281 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2271 +#: common/models.py:2282 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2276 +#: common/models.py:2287 msgid "Show News" msgstr "Visa nyheter" -#: common/models.py:2277 +#: common/models.py:2288 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2282 +#: common/models.py:2293 msgid "Inline label display" msgstr "" -#: common/models.py:2284 +#: common/models.py:2295 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2290 +#: common/models.py:2301 msgid "Default label printer" msgstr "" -#: common/models.py:2292 +#: common/models.py:2303 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2298 +#: common/models.py:2309 msgid "Inline report display" msgstr "" -#: common/models.py:2300 +#: common/models.py:2311 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2306 +#: common/models.py:2317 msgid "Search Parts" msgstr "Sök efter artiklar" -#: common/models.py:2307 +#: common/models.py:2318 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2312 +#: common/models.py:2323 msgid "Search Supplier Parts" msgstr "Sök efter leverantörsartikel" -#: common/models.py:2313 +#: common/models.py:2324 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2318 +#: common/models.py:2329 msgid "Search Manufacturer Parts" msgstr "Sök efter tillverkarartikel" -#: common/models.py:2319 +#: common/models.py:2330 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2324 +#: common/models.py:2335 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2325 +#: common/models.py:2336 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2330 +#: common/models.py:2341 msgid "Search Categories" msgstr "" -#: common/models.py:2331 +#: common/models.py:2342 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2336 +#: common/models.py:2347 msgid "Search Stock" msgstr "" -#: common/models.py:2337 +#: common/models.py:2348 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2342 +#: common/models.py:2353 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2344 +#: common/models.py:2355 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2350 +#: common/models.py:2361 msgid "Search Locations" msgstr "" -#: common/models.py:2351 +#: common/models.py:2362 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2356 +#: common/models.py:2367 msgid "Search Companies" msgstr "" -#: common/models.py:2357 +#: common/models.py:2368 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2362 +#: common/models.py:2373 msgid "Search Build Orders" msgstr "" -#: common/models.py:2363 +#: common/models.py:2374 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2368 +#: common/models.py:2379 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2369 +#: common/models.py:2380 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2374 +#: common/models.py:2385 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2376 +#: common/models.py:2387 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2382 +#: common/models.py:2393 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2383 +#: common/models.py:2394 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2388 +#: common/models.py:2399 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2390 +#: common/models.py:2401 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2396 +#: common/models.py:2407 msgid "Search Return Orders" msgstr "" -#: common/models.py:2397 +#: common/models.py:2408 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2402 +#: common/models.py:2413 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2404 +#: common/models.py:2415 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2410 +#: common/models.py:2421 msgid "Search Preview Results" msgstr "" -#: common/models.py:2412 +#: common/models.py:2423 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2418 +#: common/models.py:2429 msgid "Regex Search" msgstr "" -#: common/models.py:2419 +#: common/models.py:2430 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2424 +#: common/models.py:2435 msgid "Whole Word Search" msgstr "" -#: common/models.py:2425 +#: common/models.py:2436 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2430 +#: common/models.py:2441 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2431 +#: common/models.py:2442 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2436 +#: common/models.py:2447 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2437 +#: common/models.py:2448 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2442 +#: common/models.py:2453 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2443 +#: common/models.py:2454 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2448 +#: common/models.py:2459 msgid "Date Format" msgstr "Datumformat" -#: common/models.py:2449 +#: common/models.py:2460 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2462 part/templates/part/detail.html:41 +#: common/models.py:2473 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2463 +#: common/models.py:2474 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2468 part/templates/part/detail.html:62 +#: common/models.py:2479 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2470 +#: common/models.py:2481 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2476 +#: common/models.py:2487 msgid "Table String Length" msgstr "" -#: common/models.py:2478 +#: common/models.py:2489 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2484 -msgid "Default part label template" -msgstr "" - -#: common/models.py:2485 -msgid "The part label template to be automatically selected" -msgstr "" - -#: common/models.py:2490 -msgid "Default stock item template" -msgstr "" - -#: common/models.py:2492 -msgid "The stock item label template to be automatically selected" -msgstr "" - -#: common/models.py:2498 -msgid "Default stock location label template" -msgstr "" - -#: common/models.py:2500 -msgid "The stock location label template to be automatically selected" -msgstr "" - -#: common/models.py:2506 -msgid "Default build line label template" -msgstr "" - -#: common/models.py:2508 -msgid "The build line label template to be automatically selected" -msgstr "" - -#: common/models.py:2514 +#: common/models.py:2495 msgid "Receive error reports" msgstr "" -#: common/models.py:2515 +#: common/models.py:2496 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2520 +#: common/models.py:2501 msgid "Last used printing machines" msgstr "" -#: common/models.py:2521 +#: common/models.py:2502 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2541 common/models.py:2542 common/models.py:2691 -#: common/models.py:2692 common/models.py:2937 common/models.py:2938 -#: common/models.py:3259 common/models.py:3260 part/models.py:3193 -#: part/models.py:3280 part/models.py:3353 part/models.py:3381 -#: plugin/models.py:274 plugin/models.py:275 +#: common/models.py:2522 common/models.py:2523 common/models.py:2672 +#: common/models.py:2673 common/models.py:2918 common/models.py:2919 +#: common/models.py:3245 common/models.py:3246 importer/models.py:85 +#: part/models.py:3203 part/models.py:3290 part/models.py:3364 +#: part/models.py:3392 plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 msgid "User" msgstr "Användare" -#: common/models.py:2564 +#: common/models.py:2545 msgid "Price break quantity" msgstr "" -#: common/models.py:2571 company/serializers.py:472 order/admin.py:42 -#: order/models.py:1346 order/models.py:2265 -#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1886 +#: common/models.py:2552 company/serializers.py:502 order/admin.py:42 +#: order/models.py:1346 order/models.py:2292 +#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1889 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:740 msgid "Price" msgstr "" -#: common/models.py:2572 +#: common/models.py:2553 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2668 common/models.py:2853 +#: common/models.py:2649 common/models.py:2834 msgid "Endpoint" msgstr "" -#: common/models.py:2669 +#: common/models.py:2650 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2679 +#: common/models.py:2660 msgid "Name for this webhook" msgstr "" -#: common/models.py:2683 +#: common/models.py:2664 msgid "Is this webhook active" msgstr "" -#: common/models.py:2699 users/models.py:159 +#: common/models.py:2680 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2700 +#: common/models.py:2681 msgid "Token for access" msgstr "" -#: common/models.py:2708 +#: common/models.py:2689 msgid "Secret" msgstr "" -#: common/models.py:2709 +#: common/models.py:2690 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2817 +#: common/models.py:2798 msgid "Message ID" msgstr "" -#: common/models.py:2818 +#: common/models.py:2799 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2826 +#: common/models.py:2807 msgid "Host" msgstr "" -#: common/models.py:2827 +#: common/models.py:2808 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2835 +#: common/models.py:2816 msgid "Header" msgstr "" -#: common/models.py:2836 +#: common/models.py:2817 msgid "Header of this message" msgstr "" -#: common/models.py:2843 +#: common/models.py:2824 msgid "Body" msgstr "" -#: common/models.py:2844 +#: common/models.py:2825 msgid "Body of this message" msgstr "" -#: common/models.py:2854 +#: common/models.py:2835 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2859 +#: common/models.py:2840 msgid "Worked on" msgstr "" -#: common/models.py:2860 +#: common/models.py:2841 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2986 +#: common/models.py:2967 msgid "Id" msgstr "" -#: common/models.py:2988 templates/js/translated/company.js:965 +#: common/models.py:2969 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2990 common/models.py:3243 company/models.py:149 -#: company/models.py:440 company/models.py:500 company/models.py:799 -#: order/models.py:303 order/models.py:1301 order/models.py:1717 -#: part/admin.py:55 part/models.py:955 +#: common/models.py:2971 common/models.py:3229 company/models.py:149 +#: company/models.py:446 company/models.py:506 company/models.py:806 +#: order/models.py:303 order/models.py:1301 order/models.py:1733 +#: part/admin.py:55 part/models.py:959 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:229 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/part.js:2459 #: templates/js/translated/purchase_order.js:2040 #: templates/js/translated/purchase_order.js:2204 #: templates/js/translated/return_order.js:779 @@ -3607,28 +3646,28 @@ msgstr "" msgid "Link" msgstr "Länk" -#: common/models.py:2992 templates/js/translated/news.js:60 +#: common/models.py:2973 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2994 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2975 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:2996 templates/js/translated/news.js:52 +#: common/models.py:2977 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2999 +#: common/models.py:2980 msgid "Read" msgstr "" -#: common/models.py:2999 +#: common/models.py:2980 msgid "Was this news item read?" msgstr "" -#: common/models.py:3016 company/models.py:159 part/models.py:965 +#: common/models.py:2997 company/models.py:159 part/models.py:969 #: 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.html:35 @@ -3638,90 +3677,96 @@ msgstr "" msgid "Image" msgstr "Bild" -#: common/models.py:3016 +#: common/models.py:2997 msgid "Image file" msgstr "" -#: common/models.py:3028 common/models.py:3227 +#: common/models.py:3009 common/models.py:3213 msgid "Target model type for this image" msgstr "" -#: common/models.py:3032 +#: common/models.py:3013 msgid "Target model ID for this image" msgstr "" -#: common/models.py:3070 +#: common/models.py:3035 +#, fuzzy +#| msgid "Customer" +msgid "Custom Unit" +msgstr "Kund" + +#: common/models.py:3056 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:3085 +#: common/models.py:3071 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3104 +#: common/models.py:3090 msgid "Unit name" msgstr "" -#: common/models.py:3111 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3097 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3112 +#: common/models.py:3098 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3118 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3104 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3119 +#: common/models.py:3105 msgid "Unit definition" msgstr "" -#: common/models.py:3177 common/models.py:3234 stock/models.py:2461 +#: common/models.py:3163 common/models.py:3220 stock/models.py:2471 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" msgstr "Bilaga" -#: common/models.py:3189 +#: common/models.py:3175 msgid "Missing file" msgstr "Saknad fil" -#: common/models.py:3190 +#: common/models.py:3176 msgid "Missing external link" msgstr "Extern länk saknas" -#: common/models.py:3235 +#: common/models.py:3221 msgid "Select file to attach" msgstr "Välj fil att bifoga" -#: common/models.py:3250 templates/js/translated/attachment.js:120 +#: common/models.py:3236 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" msgstr "Kommentar" -#: common/models.py:3251 +#: common/models.py:3237 msgid "Attachment comment" msgstr "" -#: common/models.py:3267 +#: common/models.py:3253 msgid "Upload date" msgstr "" -#: common/models.py:3268 +#: common/models.py:3254 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:3272 +#: common/models.py:3258 msgid "File size" msgstr "Filstorlek" -#: common/models.py:3272 +#: common/models.py:3258 msgid "File size in bytes" msgstr "" -#: common/models.py:3310 common/serializers.py:553 +#: common/models.py:3296 common/serializers.py:557 msgid "Invalid model type specified for attachment" msgstr "" @@ -3743,7 +3788,7 @@ msgstr "" msgid "A order that is assigned to you was canceled" msgstr "" -#: common/notifications.py:330 common/notifications.py:337 order/api.py:472 +#: common/notifications.py:330 common/notifications.py:337 order/api.py:454 msgid "Items Received" msgstr "" @@ -3759,75 +3804,75 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:371 +#: common/serializers.py:375 msgid "Is Running" msgstr "" -#: common/serializers.py:377 +#: common/serializers.py:381 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:383 +#: common/serializers.py:387 msgid "Scheduled Tasks" msgstr "Schemalagda uppgifter" -#: common/serializers.py:389 +#: common/serializers.py:393 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:404 +#: common/serializers.py:408 msgid "Task ID" msgstr "" -#: common/serializers.py:404 +#: common/serializers.py:408 msgid "Unique task ID" msgstr "" -#: common/serializers.py:406 +#: common/serializers.py:410 msgid "Lock" msgstr "" -#: common/serializers.py:406 +#: common/serializers.py:410 msgid "Lock time" msgstr "" -#: common/serializers.py:408 +#: common/serializers.py:412 msgid "Task name" msgstr "" -#: common/serializers.py:410 +#: common/serializers.py:414 msgid "Function" msgstr "" -#: common/serializers.py:410 +#: common/serializers.py:414 msgid "Function name" msgstr "" -#: common/serializers.py:412 +#: common/serializers.py:416 msgid "Arguments" msgstr "" -#: common/serializers.py:412 +#: common/serializers.py:416 msgid "Task arguments" msgstr "" -#: common/serializers.py:415 +#: common/serializers.py:419 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:415 +#: common/serializers.py:419 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:525 +#: common/serializers.py:529 msgid "Filename" msgstr "Filnamn" -#: common/serializers.py:532 report/api.py:100 report/serializers.py:53 +#: common/serializers.py:536 report/api.py:100 report/serializers.py:53 msgid "Model Type" msgstr "" -#: common/serializers.py:559 +#: common/serializers.py:563 msgid "User does not have permission to create or edit attachments for this model" msgstr "" @@ -3894,29 +3939,29 @@ msgstr "" msgid "Previous Step" msgstr "" -#: company/api.py:144 +#: company/api.py:141 msgid "Part is Active" msgstr "" -#: company/api.py:148 +#: company/api.py:145 msgid "Manufacturer is Active" msgstr "" -#: company/api.py:281 +#: company/api.py:278 msgid "Supplier Part is Active" msgstr "" -#: company/api.py:285 +#: company/api.py:282 msgid "Internal Part is Active" msgstr "" -#: company/api.py:289 +#: company/api.py:286 msgid "Supplier is Active" msgstr "" -#: company/models.py:100 company/models.py:365 +#: company/models.py:100 company/models.py:371 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:822 +#: company/templates/company/company_base.html:12 stock/api.py:814 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "Företag" @@ -3956,8 +4001,9 @@ msgstr "" msgid "Contact email address" msgstr "" -#: company/models.py:142 company/templates/company/company_base.html:145 -#: order/models.py:343 order/templates/order/order_base.html:203 +#: company/models.py:142 company/models.py:275 +#: company/templates/company/company_base.html:145 order/models.py:343 +#: order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 #: order/templates/order/sales_order_base.html:218 msgid "Contact" @@ -3976,7 +4022,9 @@ msgid "Is this company active?" msgstr "" #: company/models.py:168 -msgid "is customer" +#, fuzzy +#| msgid "is customer" +msgid "Is customer" msgstr "är kund" #: company/models.py:169 @@ -3984,16 +4032,20 @@ msgid "Do you sell items to this company?" msgstr "" #: company/models.py:174 -msgid "is supplier" -msgstr "" +#, fuzzy +#| msgid "Supplier" +msgid "Is supplier" +msgstr "Leverantör" #: company/models.py:175 msgid "Do you purchase items from this company?" msgstr "" #: company/models.py:180 -msgid "is manufacturer" -msgstr "" +#, fuzzy +#| msgid "Manufacturer" +msgid "Is manufacturer" +msgstr "Tillverkare" #: company/models.py:181 msgid "Does this company manufacture parts?" @@ -4003,178 +4055,191 @@ msgstr "" msgid "Default currency used for this company" msgstr "" -#: company/models.py:366 +#: company/models.py:314 company/templates/company/company_base.html:124 +#: order/models.py:353 order/templates/order/order_base.html:210 +#: order/templates/order/return_order_base.html:181 +#: order/templates/order/sales_order_base.html:225 +msgid "Address" +msgstr "Adress" + +#: company/models.py:315 company/templates/company/sidebar.html:35 +msgid "Addresses" +msgstr "Adresser" + +#: company/models.py:372 msgid "Select company" msgstr "Välj företag" -#: company/models.py:371 +#: company/models.py:377 msgid "Address title" msgstr "" -#: company/models.py:372 +#: company/models.py:378 msgid "Title describing the address entry" msgstr "" -#: company/models.py:378 +#: company/models.py:384 msgid "Primary address" msgstr "Primär adress" -#: company/models.py:379 +#: company/models.py:385 msgid "Set as primary address" msgstr "" -#: company/models.py:384 templates/js/translated/company.js:914 +#: company/models.py:390 templates/js/translated/company.js:914 #: templates/js/translated/company.js:971 msgid "Line 1" msgstr "" -#: company/models.py:385 +#: company/models.py:391 msgid "Address line 1" msgstr "Adressrad 1" -#: company/models.py:391 templates/js/translated/company.js:915 +#: company/models.py:397 templates/js/translated/company.js:915 #: templates/js/translated/company.js:977 msgid "Line 2" msgstr "" -#: company/models.py:392 +#: company/models.py:398 msgid "Address line 2" msgstr "Adressrad 2" -#: company/models.py:398 company/models.py:399 +#: company/models.py:404 company/models.py:405 #: templates/js/translated/company.js:983 msgid "Postal code" msgstr "Postnummer" -#: company/models.py:405 +#: company/models.py:411 msgid "City/Region" msgstr "" -#: company/models.py:406 +#: company/models.py:412 msgid "Postal code city/region" msgstr "" -#: company/models.py:412 +#: company/models.py:418 msgid "State/Province" msgstr "" -#: company/models.py:413 +#: company/models.py:419 msgid "State or province" msgstr "" -#: company/models.py:419 templates/js/translated/company.js:1001 +#: company/models.py:425 templates/js/translated/company.js:1001 msgid "Country" msgstr "Land" -#: company/models.py:420 +#: company/models.py:426 msgid "Address country" msgstr "" -#: company/models.py:426 +#: company/models.py:432 msgid "Courier shipping notes" msgstr "" -#: company/models.py:427 +#: company/models.py:433 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:433 +#: company/models.py:439 msgid "Internal shipping notes" msgstr "" -#: company/models.py:434 +#: company/models.py:440 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:441 +#: company/models.py:447 msgid "Link to address information (external)" msgstr "" -#: company/models.py:463 company/models.py:574 company/models.py:792 +#: company/models.py:469 company/models.py:581 company/models.py:799 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:217 msgid "Manufacturer Part" msgstr "" -#: company/models.py:475 company/models.py:760 stock/models.py:767 -#: stock/serializers.py:422 stock/templates/stock/item_base.html:142 +#: company/models.py:481 company/models.py:767 stock/models.py:767 +#: stock/serializers.py:442 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" -#: company/models.py:477 company/models.py:762 +#: company/models.py:483 company/models.py:769 msgid "Select part" msgstr "" -#: company/models.py:486 company/templates/company/company_base.html:82 +#: company/models.py:492 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:525 +#: company/templates/company/supplier_part.html:145 part/serializers.py:543 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 #: templates/js/translated/company.js:1296 #: templates/js/translated/company.js:1611 -#: templates/js/translated/table_filters.js:800 +#: templates/js/translated/table_filters.js:805 msgid "Manufacturer" msgstr "Tillverkare" -#: company/models.py:487 +#: company/models.py:493 msgid "Select manufacturer" msgstr "" -#: company/models.py:493 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:535 -#: templates/js/translated/company.js:351 +#: company/models.py:499 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:153 order/serializers.py:518 +#: part/serializers.py:553 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:1801 +#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1804 #: templates/js/translated/purchase_order.js:1851 #: templates/js/translated/purchase_order.js:2053 msgid "MPN" msgstr "" -#: company/models.py:494 -msgid "Manufacturer Part Number" -msgstr "" - -#: company/models.py:501 +#: company/models.py:507 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:510 +#: company/models.py:516 msgid "Manufacturer part description" msgstr "" -#: company/models.py:581 +#: company/models.py:569 +#, fuzzy +#| msgid "Search Manufacturer Parts" +msgid "Manufacturer Part Parameter" +msgstr "Sök efter tillverkarartikel" + +#: company/models.py:588 msgid "Parameter name" msgstr "" -#: company/models.py:587 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2453 templates/js/translated/company.js:1166 -#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1493 +#: company/models.py:594 report/templates/report/inventree_test_report.html:104 +#: stock/models.py:2463 templates/js/translated/company.js:1166 +#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1496 #: templates/js/translated/stock.js:1522 msgid "Value" msgstr "" -#: company/models.py:588 +#: company/models.py:595 msgid "Parameter value" msgstr "" -#: company/models.py:595 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1045 part/models.py:3646 +#: company/models.py:602 company/templates/company/supplier_part.html:168 +#: part/admin.py:57 part/models.py:1049 part/models.py:3667 #: part/templates/part/part_base.html:284 -#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1512 -#: templates/js/translated/part.js:1616 templates/js/translated/part.js:2370 +#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1515 +#: templates/js/translated/part.js:1619 templates/js/translated/part.js:2373 msgid "Units" msgstr "" -#: company/models.py:596 +#: company/models.py:603 msgid "Parameter units" msgstr "" -#: company/models.py:648 company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 order/api.py:452 +#: company/models.py:655 company/templates/company/supplier_part.html:7 +#: company/templates/company/supplier_part.html:24 order/api.py:434 #: stock/models.py:778 stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 @@ -4182,91 +4247,91 @@ msgstr "" msgid "Supplier Part" msgstr "" -#: company/models.py:700 +#: company/models.py:707 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:707 +#: company/models.py:714 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:721 +#: company/models.py:728 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:770 company/templates/company/company_base.html:87 +#: company/models.py:777 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:509 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:527 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 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:511 -#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1769 +#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1772 #: templates/js/translated/pricing.js:498 #: templates/js/translated/purchase_order.js:1689 -#: templates/js/translated/table_filters.js:804 +#: templates/js/translated/table_filters.js:809 msgid "Supplier" msgstr "Leverantör" -#: company/models.py:771 +#: company/models.py:778 msgid "Select supplier" msgstr "Välj leverantör" -#: company/models.py:777 part/serializers.py:520 +#: company/models.py:784 part/serializers.py:538 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:783 +#: company/models.py:790 msgid "Is this supplier part active?" msgstr "" -#: company/models.py:793 +#: company/models.py:800 msgid "Select manufacturer part" msgstr "" -#: company/models.py:800 +#: company/models.py:807 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:809 +#: company/models.py:816 msgid "Supplier part description" msgstr "" -#: company/models.py:816 company/templates/company/supplier_part.html:187 -#: part/admin.py:412 part/models.py:4093 part/templates/part/upload_bom.html:59 +#: company/models.py:823 company/templates/company/supplier_part.html:187 +#: part/admin.py:412 part/models.py:4178 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: 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:710 +#: stock/serializers.py:768 msgid "Note" msgstr "" -#: company/models.py:825 part/models.py:2003 +#: company/models.py:832 part/models.py:2013 msgid "base cost" msgstr "" -#: company/models.py:826 part/models.py:2004 +#: company/models.py:833 part/models.py:2014 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:833 company/templates/company/supplier_part.html:160 -#: stock/admin.py:228 stock/models.py:798 stock/serializers.py:1475 +#: company/models.py:840 company/templates/company/supplier_part.html:160 +#: stock/admin.py:228 stock/models.py:798 stock/serializers.py:1541 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 msgid "Packaging" msgstr "" -#: company/models.py:834 +#: company/models.py:841 msgid "Part packaging" msgstr "" -#: company/models.py:839 templates/js/translated/company.js:1651 -#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 +#: company/models.py:846 templates/js/translated/company.js:1651 +#: templates/js/translated/part.js:1825 templates/js/translated/part.js:1881 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 #: templates/js/translated/purchase_order.js:1103 @@ -4275,35 +4340,47 @@ msgstr "" msgid "Pack Quantity" msgstr "" -#: company/models.py:841 +#: company/models.py:848 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:860 part/models.py:2010 +#: company/models.py:867 part/models.py:2020 msgid "multiple" msgstr "" -#: company/models.py:861 +#: company/models.py:868 msgid "Order multiple" msgstr "" -#: company/models.py:873 +#: company/models.py:880 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:879 +#: company/models.py:886 msgid "Availability Updated" msgstr "" -#: company/models.py:880 +#: company/models.py:887 msgid "Date of last update of availability data" msgstr "" -#: company/serializers.py:161 +#: company/models.py:1015 +#, fuzzy +#| msgid "Supplier Name" +msgid "Supplier Price Break" +msgstr "Leverantörsnamn" + +#: company/serializers.py:174 msgid "Default currency used for this supplier" msgstr "" -#: company/serializers.py:357 part/admin.py:126 +#: company/serializers.py:210 +#, fuzzy +#| msgid "Company name" +msgid "Company Name" +msgstr "Företagsnamn" + +#: company/serializers.py:384 part/admin.py:126 part/serializers.py:855 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:355 @@ -4315,7 +4392,7 @@ msgstr "I lager" #: templates/js/translated/company.js:1287 #: templates/js/translated/company.js:1575 #: templates/js/translated/model_renderers.js:312 -#: templates/js/translated/part.js:815 templates/js/translated/part.js:1219 +#: templates/js/translated/part.js:814 templates/js/translated/part.js:1222 msgid "Inactive" msgstr "" @@ -4374,16 +4451,16 @@ msgid "Delete image" msgstr "Radera bild" #: company/templates/company/company_base.html:92 order/models.py:938 -#: order/models.py:2032 order/templates/order/return_order_base.html:131 +#: order/models.py:2058 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:148 stock/models.py:820 -#: stock/models.py:821 stock/serializers.py:1225 +#: stock/models.py:821 stock/serializers.py:1291 #: 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:295 #: templates/js/translated/sales_order.js:820 #: templates/js/translated/stock.js:2959 -#: templates/js/translated/table_filters.js:808 +#: templates/js/translated/table_filters.js:813 msgid "Customer" msgstr "Kund" @@ -4391,13 +4468,6 @@ msgstr "Kund" msgid "Uses default currency" msgstr "" -#: company/templates/company/company_base.html:124 order/models.py:353 -#: order/templates/order/order_base.html:210 -#: order/templates/order/return_order_base.html:181 -#: order/templates/order/sales_order_base.html:225 -msgid "Address" -msgstr "Adress" - #: company/templates/company/company_base.html:131 msgid "Phone" msgstr "Telefon" @@ -4577,7 +4647,8 @@ msgid "Delete manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:65 -#: company/templates/company/supplier_part.html:97 order/api.py:458 +#: company/templates/company/supplier_part.html:97 order/api.py:440 +#: order/serializers.py:526 msgid "Internal Part" msgstr "" @@ -4587,7 +4658,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:832 +#: part/admin.py:122 part/serializers.py:860 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4608,7 +4679,7 @@ msgid "New Parameter" msgstr "" #: company/templates/company/manufacturer_part.html:196 -#: templates/js/translated/part.js:1423 +#: templates/js/translated/part.js:1426 msgid "Add Parameter" msgstr "" @@ -4632,10 +4703,6 @@ msgstr "" msgid "Contacts" msgstr "Kontakter" -#: company/templates/company/sidebar.html:35 -msgid "Addresses" -msgstr "Adresser" - #: company/templates/company/supplier_part.html:50 #: templates/js/translated/company.js:1526 msgid "Supplier part actions" @@ -4677,99 +4744,279 @@ msgstr "" msgid "No supplier information available" msgstr "" -#: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:519 -#: templates/js/translated/company.js:349 templates/js/translated/part.js:1787 -#: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1850 -#: templates/js/translated/purchase_order.js:2028 -msgid "SKU" +#: company/templates/company/supplier_part.html:139 order/serializers.py:515 +#: part/bom.py:279 part/bom.py:311 part/serializers.py:537 +#: templates/js/translated/company.js:349 templates/js/translated/part.js:1790 +#: templates/js/translated/pricing.js:510 +#: templates/js/translated/purchase_order.js:1850 +#: templates/js/translated/purchase_order.js:2028 +msgid "SKU" +msgstr "" + +#: company/templates/company/supplier_part.html:206 +msgid "Supplier Part Stock" +msgstr "" + +#: company/templates/company/supplier_part.html:209 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:207 +msgid "Create new stock item" +msgstr "" + +#: company/templates/company/supplier_part.html:210 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:208 +#: templates/js/translated/stock.js:537 +msgid "New Stock Item" +msgstr "" + +#: company/templates/company/supplier_part.html:223 +msgid "Supplier Part Orders" +msgstr "" + +#: company/templates/company/supplier_part.html:246 +msgid "Pricing Information" +msgstr "" + +#: company/templates/company/supplier_part.html:251 +#: templates/js/translated/company.js:398 +#: templates/js/translated/pricing.js:684 +msgid "Add Price Break" +msgstr "" + +#: company/templates/company/supplier_part.html:276 +msgid "Supplier Part QR Code" +msgstr "" + +#: company/templates/company/supplier_part.html:287 +msgid "Link Barcode to Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:359 +msgid "Update Part Availability" +msgstr "" + +#: company/templates/company/supplier_part_sidebar.html:5 +#: part/serializers.py:859 part/stocktake.py:224 +#: part/templates/part/category.html:183 +#: part/templates/part/category_sidebar.html:17 stock/admin.py:68 +#: stock/serializers.py:976 stock/serializers.py:1154 +#: stock/templates/stock/location.html:170 +#: 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:1064 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 +#: users/models.py:206 +msgid "Stock Items" +msgstr "" + +#: company/templates/company/supplier_part_sidebar.html:9 +msgid "Supplier Part Pricing" +msgstr "" + +#: company/views.py:32 +msgid "New Supplier" +msgstr "Ny leverantör" + +#: company/views.py:38 +msgid "New Manufacturer" +msgstr "" + +#: company/views.py:43 templates/InvenTree/search.html:210 +#: templates/navbar.html:60 +msgid "Customers" +msgstr "Kunder" + +#: company/views.py:44 +msgid "New Customer" +msgstr "Ny kund" + +#: company/views.py:52 +msgid "New Company" +msgstr "Nytt företag" + +#: generic/states/tests.py:18 order/status_codes.py:13 +msgid "Placed" +msgstr "Placerad" + +#: importer/mixins.py:263 +#, fuzzy +#| msgid "Invalid value for overage" +msgid "Invalid export format" +msgstr "Ogiltigt värde för överskott" + +#: importer/models.py:56 +msgid "Timestamp" +msgstr "" + +#: importer/models.py:61 +#, fuzzy +#| msgid "Select file to upload" +msgid "Data file to import" +msgstr "Välj en fil att ladda upp" + +#: importer/models.py:70 templates/js/translated/tables.js:558 +msgid "Columns" +msgstr "Kolumner" + +#: importer/models.py:81 +#, fuzzy +#| msgid "Stock status" +msgid "Import status" +msgstr "Lagerstatus" + +#: importer/models.py:91 +msgid "Field Defaults" +msgstr "" + +#: importer/models.py:201 +msgid "Some required fields have not been mapped" +msgstr "" + +#: importer/models.py:346 +msgid "Column is already mapped to a database field" +msgstr "" + +#: importer/models.py:351 +msgid "Field is already mapped to a data column" +msgstr "" + +#: importer/models.py:360 +msgid "Column mapping must be linked to a valid import session" +msgstr "" + +#: importer/models.py:365 +msgid "Column does not exist in the data file" +msgstr "" + +#: importer/models.py:372 +#, fuzzy +#| msgid "User does not have permission to view this model" +msgid "Field does not exist in the target model" +msgstr "Användaren har inte behörighet att se denna modell" + +#: importer/models.py:376 +msgid "Selected field is read-only" +msgstr "" + +#: importer/models.py:381 importer/models.py:452 +#, fuzzy +#| msgid "Active Sessions" +msgid "Import Session" +msgstr "Aktiva sessioner" + +#: importer/models.py:385 +msgid "Field" +msgstr "" + +#: importer/models.py:387 +#, fuzzy +#| msgid "Columns" +msgid "Column" +msgstr "Kolumner" + +#: importer/models.py:456 +msgid "Row Index" msgstr "" -#: company/templates/company/supplier_part.html:206 -msgid "Supplier Part Stock" +#: importer/models.py:459 +msgid "Original row data" msgstr "" -#: company/templates/company/supplier_part.html:209 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:207 -msgid "Create new stock item" +#: importer/models.py:462 part/models.py:3841 +msgid "Data" msgstr "" -#: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:208 -#: templates/js/translated/stock.js:537 -msgid "New Stock Item" +#: importer/models.py:464 machine/models.py:110 +msgid "Errors" msgstr "" -#: company/templates/company/supplier_part.html:223 -msgid "Supplier Part Orders" +#: importer/models.py:466 part/api.py:874 +msgid "Valid" msgstr "" -#: company/templates/company/supplier_part.html:246 -msgid "Pricing Information" +#: importer/operations.py:28 importer/operations.py:49 +#, fuzzy +#| msgid "Unsupported file type" +msgid "Unsupported data file format" +msgstr "Filtypen stöds inte" + +#: importer/operations.py:40 +msgid "Failed to open data file" msgstr "" -#: company/templates/company/supplier_part.html:251 -#: templates/js/translated/company.js:398 -#: templates/js/translated/pricing.js:684 -msgid "Add Price Break" +#: importer/operations.py:51 +msgid "Invalid data file dimensions" msgstr "" -#: company/templates/company/supplier_part.html:276 -msgid "Supplier Part QR Code" +#: importer/serializers.py:135 +msgid "Rows" msgstr "" -#: company/templates/company/supplier_part.html:287 -msgid "Link Barcode to Supplier Part" +#: importer/serializers.py:136 +msgid "List of row IDs to accept" msgstr "" -#: company/templates/company/supplier_part.html:359 -msgid "Update Part Availability" +#: importer/serializers.py:149 +#, fuzzy +#| msgid "No data rows provided" +msgid "No rows provided" +msgstr "Inga rader angivna" + +#: importer/serializers.py:153 +msgid "Row does not belong to this session" msgstr "" -#: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:831 part/stocktake.py:224 -#: part/templates/part/category.html:183 -#: part/templates/part/category_sidebar.html:17 stock/admin.py:68 -#: stock/serializers.py:918 stock/serializers.py:1091 -#: stock/templates/stock/location.html:170 -#: 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:1061 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 -#: users/models.py:206 -msgid "Stock Items" +#: importer/serializers.py:156 +msgid "Row contains invalid data" msgstr "" -#: company/templates/company/supplier_part_sidebar.html:9 -msgid "Supplier Part Pricing" +#: importer/serializers.py:159 +#, fuzzy +#| msgid "Build output is already completed" +msgid "Row has already been completed" +msgstr "Byggutgång är redan slutförd" + +#: importer/status_codes.py:11 +msgid "Initializing" msgstr "" -#: company/views.py:32 -msgid "New Supplier" -msgstr "Ny leverantör" +#: importer/status_codes.py:12 +#, fuzzy +#| msgid "Columns" +msgid "Mapping Columns" +msgstr "Kolumner" -#: company/views.py:38 -msgid "New Manufacturer" +#: importer/status_codes.py:13 +#, fuzzy +#| msgid "Completion Date" +msgid "Importing Data" +msgstr "Slutförandedatum" + +#: importer/status_codes.py:16 +msgid "Processing Data" msgstr "" -#: company/views.py:43 templates/InvenTree/search.html:210 -#: templates/navbar.html:60 -msgid "Customers" -msgstr "Kunder" +#: importer/validators.py:21 +#, fuzzy +#| msgid "Image download exceeded maximum size" +msgid "Data file exceeds maximum size limit" +msgstr "Nedladdning av bilder överskred maximal storlek" -#: company/views.py:44 -msgid "New Customer" -msgstr "Ny kund" +#: importer/validators.py:26 +msgid "Data file contains no headers" +msgstr "" -#: company/views.py:52 -msgid "New Company" -msgstr "Nytt företag" +#: importer/validators.py:29 +msgid "Data file contains too many columns" +msgstr "" -#: generic/states/tests.py:18 order/status_codes.py:13 -msgid "Placed" -msgstr "Placerad" +#: importer/validators.py:32 +msgid "Data file contains too many rows" +msgstr "" + +#: importer/validators.py:49 +msgid "Value must be a valid dictionary object" +msgstr "" #: machine/machine_types/label_printer.py:212 msgid "Copies" @@ -4783,7 +5030,7 @@ msgstr "" msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:229 order/api.py:1467 +#: machine/machine_types/label_printer.py:229 order/api.py:1388 #: templates/js/translated/sales_order.js:1078 msgid "Unknown" msgstr "" @@ -4852,10 +5099,6 @@ msgstr "" msgid "Initialized" msgstr "" -#: machine/models.py:110 -msgid "Errors" -msgstr "" - #: machine/models.py:117 msgid "Machine status" msgstr "" @@ -4881,44 +5124,44 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:157 order/serializers.py:90 +#: order/api.py:149 order/serializers.py:94 #: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:113 #: order/templates/order/sales_order_base.html:122 msgid "Order Status" msgstr "Orderstatus" -#: order/api.py:161 templates/js/translated/table_filters.js:194 -#: templates/js/translated/table_filters.js:779 +#: order/api.py:153 templates/js/translated/table_filters.js:194 +#: templates/js/translated/table_filters.js:784 msgid "Has Pricing" msgstr "" -#: order/api.py:236 +#: order/api.py:228 msgid "No matching purchase order found" msgstr "" -#: order/api.py:435 order/api.py:801 order/models.py:1395 order/models.py:1504 -#: order/models.py:1550 order/models.py:1664 order/models.py:1818 -#: order/models.py:2231 order/models.py:2282 +#: order/api.py:417 order/api.py:755 order/models.py:1400 order/models.py:1514 +#: order/models.py:1565 order/models.py:1680 order/models.py:1839 +#: order/models.py:2258 order/models.py:2314 #: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "" -#: order/api.py:439 order/api.py:822 +#: order/api.py:421 order/api.py:776 msgid "Order Complete" msgstr "" -#: order/api.py:462 +#: order/api.py:444 msgid "Order Pending" msgstr "" -#: order/api.py:1461 order/models.py:380 order/models.py:1396 -#: order/models.py:1505 order/templates/order/order_base.html:9 +#: order/api.py:1382 order/models.py:380 order/models.py:1401 +#: order/models.py:1515 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 -#: stock/serializers.py:118 stock/templates/stock/item_base.html:176 +#: stock/serializers.py:120 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/part.js:1746 templates/js/translated/pricing.js:804 +#: templates/js/translated/part.js:1749 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:1673 @@ -4926,8 +5169,8 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1465 order/models.py:1981 order/models.py:2232 -#: order/models.py:2283 order/templates/order/return_order_base.html:9 +#: order/api.py:1386 order/models.py:2007 order/models.py:2259 +#: order/models.py:2315 order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report.html:13 #: templates/js/translated/return_order.js:280 @@ -4939,11 +5182,11 @@ msgstr "" msgid "Total price for this order" msgstr "" -#: order/models.py:96 order/serializers.py:70 +#: order/models.py:96 order/serializers.py:72 msgid "Order Currency" msgstr "" -#: order/models.py:99 order/serializers.py:71 +#: order/models.py:99 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" @@ -4959,7 +5202,7 @@ msgstr "" msgid "Select project code for this order" msgstr "" -#: order/models.py:303 order/models.py:1301 order/models.py:1717 +#: order/models.py:303 order/models.py:1301 order/models.py:1733 msgid "Link to external page" msgstr "" @@ -5008,15 +5251,15 @@ msgstr "" msgid "received by" msgstr "" -#: order/models.py:514 order/models.py:2058 +#: order/models.py:514 order/models.py:2084 msgid "Issue Date" msgstr "" -#: order/models.py:515 order/models.py:2059 +#: order/models.py:515 order/models.py:2085 msgid "Date order was issued" msgstr "" -#: order/models.py:522 order/models.py:2066 +#: order/models.py:522 order/models.py:2092 msgid "Date order was completed" msgstr "" @@ -5032,15 +5275,15 @@ msgstr "" msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:962 order/models.py:2051 +#: order/models.py:962 order/models.py:2077 msgid "Customer Reference " msgstr "" -#: order/models.py:963 order/models.py:2052 +#: order/models.py:963 order/models.py:2078 msgid "Customer order reference code" msgstr "" -#: order/models.py:967 order/models.py:1671 +#: order/models.py:967 order/models.py:1687 #: templates/js/translated/sales_order.js:879 #: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" @@ -5102,20 +5345,24 @@ msgstr "" msgid "Unit price" msgstr "" -#: order/models.py:1380 +#: order/models.py:1361 +msgid "Purchase Order Line Item" +msgstr "" + +#: order/models.py:1385 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1387 +#: order/models.py:1392 msgid "deleted" msgstr "" -#: order/models.py:1415 +#: order/models.py:1420 msgid "Supplier part" msgstr "" -#: order/models.py:1422 order/templates/order/order_base.html:196 -#: templates/js/translated/part.js:1870 templates/js/translated/part.js:1902 +#: order/models.py:1427 order/templates/order/order_base.html:196 +#: templates/js/translated/part.js:1873 templates/js/translated/part.js:1905 #: templates/js/translated/purchase_order.js:1306 #: templates/js/translated/purchase_order.js:2169 #: templates/js/translated/return_order.js:763 @@ -5124,196 +5371,232 @@ msgstr "" msgid "Received" msgstr "" -#: order/models.py:1423 +#: order/models.py:1428 msgid "Number of items received" msgstr "" -#: order/models.py:1431 stock/models.py:939 stock/serializers.py:556 +#: order/models.py:1436 stock/models.py:939 stock/serializers.py:602 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2311 msgid "Purchase Price" msgstr "" -#: order/models.py:1432 +#: order/models.py:1437 msgid "Unit purchase price" msgstr "" -#: order/models.py:1447 +#: order/models.py:1452 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1538 +#: order/models.py:1503 +msgid "Purchase Order Extra Line" +msgstr "" + +#: order/models.py:1532 +#, fuzzy +#| msgid "Sales Order" +msgid "Sales Order Line Item" +msgstr "Försäljningsorder" + +#: order/models.py:1553 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1543 +#: order/models.py:1558 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1569 part/templates/part/part_pricing.html:107 +#: order/models.py:1584 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:1570 +#: order/models.py:1585 msgid "Unit sale price" msgstr "" -#: order/models.py:1579 order/status_codes.py:43 +#: order/models.py:1594 order/status_codes.py:43 #: 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" -#: order/models.py:1580 +#: order/models.py:1595 msgid "Shipped quantity" msgstr "" -#: order/models.py:1672 +#: order/models.py:1667 +#, fuzzy +#| msgid "Sales Order" +msgid "Sales Order Shipment" +msgstr "Försäljningsorder" + +#: order/models.py:1688 msgid "Date of shipment" msgstr "" -#: order/models.py:1678 templates/js/translated/sales_order.js:1072 +#: order/models.py:1694 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "Leveransdatum" -#: order/models.py:1679 +#: order/models.py:1695 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1687 +#: order/models.py:1703 msgid "Checked By" msgstr "" -#: order/models.py:1688 +#: order/models.py:1704 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1695 order/models.py:1908 order/serializers.py:1342 -#: order/serializers.py:1452 templates/js/translated/model_renderers.js:454 +#: order/models.py:1711 order/models.py:1934 order/serializers.py:1398 +#: order/serializers.py:1508 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "" -#: order/models.py:1696 +#: order/models.py:1712 msgid "Shipment number" msgstr "" -#: order/models.py:1704 +#: order/models.py:1720 msgid "Tracking Number" msgstr "" -#: order/models.py:1705 +#: order/models.py:1721 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1712 +#: order/models.py:1728 msgid "Invoice Number" msgstr "Fakturanummer" -#: order/models.py:1713 +#: order/models.py:1729 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1733 +#: order/models.py:1749 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1736 +#: order/models.py:1752 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1854 order/models.py:1856 +#: order/models.py:1828 +#, fuzzy +#| msgid "Sales Order Reference" +msgid "Sales Order Extra Line" +msgstr "Försäljningsorderreferens" + +#: order/models.py:1857 +#, fuzzy +#| msgid "Sales Order" +msgid "Sales Order Allocation" +msgstr "Försäljningsorder" + +#: order/models.py:1880 order/models.py:1882 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1863 +#: order/models.py:1889 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1866 +#: order/models.py:1892 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1869 +#: order/models.py:1895 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1888 order/serializers.py:1219 +#: order/models.py:1914 order/serializers.py:1275 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1891 +#: order/models.py:1917 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1892 plugin/base/barcodes/api.py:481 +#: order/models.py:1918 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1900 +#: order/models.py:1926 msgid "Line" msgstr "" -#: order/models.py:1909 +#: order/models.py:1935 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1922 order/models.py:2239 +#: order/models.py:1948 order/models.py:2266 #: templates/js/translated/return_order.js:721 msgid "Item" msgstr "" -#: order/models.py:1923 +#: order/models.py:1949 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1932 +#: order/models.py:1958 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2021 +#: order/models.py:2047 msgid "Return Order reference" msgstr "" -#: order/models.py:2033 +#: order/models.py:2059 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2045 +#: order/models.py:2071 msgid "Return order status" msgstr "" -#: order/models.py:2224 +#: order/models.py:2237 +msgid "Return Order Line Item" +msgstr "" + +#: order/models.py:2251 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2240 +#: order/models.py:2267 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2246 +#: order/models.py:2273 msgid "Received Date" msgstr "" -#: order/models.py:2247 +#: order/models.py:2274 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2258 templates/js/translated/return_order.js:732 +#: order/models.py:2285 templates/js/translated/return_order.js:732 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2259 +#: order/models.py:2286 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2266 +#: order/models.py:2293 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:79 order/templates/order/po_sidebar.html:5 +#: order/models.py:2303 +msgid "Return Order Extra Line" +msgstr "" + +#: order/serializers.py:83 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_purchase_order_report.html:22 @@ -5322,163 +5605,173 @@ msgstr "" msgid "Line Items" msgstr "" -#: order/serializers.py:83 +#: order/serializers.py:87 msgid "Completed Lines" msgstr "" -#: order/serializers.py:286 +#: order/serializers.py:305 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:301 order/serializers.py:1235 +#: order/serializers.py:320 order/serializers.py:1291 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:311 order/serializers.py:1245 +#: order/serializers.py:330 order/serializers.py:1301 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:439 +#: order/serializers.py:468 msgid "Order is not open" msgstr "" -#: order/serializers.py:460 +#: order/serializers.py:489 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:462 +#: order/serializers.py:491 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:472 +#: order/serializers.py:501 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:478 +#: order/serializers.py:507 msgid "Merge Items" msgstr "" -#: order/serializers.py:480 +#: order/serializers.py:509 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:498 +#: order/serializers.py:522 part/models.py:945 +msgid "Internal Part Number" +msgstr "" + +#: order/serializers.py:530 +#, fuzzy +#| msgid "Internal Prices" +msgid "Internal Part Name" +msgstr "Interna priser" + +#: order/serializers.py:546 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:501 +#: order/serializers.py:549 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:509 +#: order/serializers.py:557 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:510 +#: order/serializers.py:558 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:549 order/serializers.py:1313 +#: order/serializers.py:598 order/serializers.py:1369 msgid "Line Item" msgstr "" -#: order/serializers.py:555 +#: order/serializers.py:604 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:565 order/serializers.py:673 order/serializers.py:1657 +#: order/serializers.py:614 order/serializers.py:722 order/serializers.py:1715 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:581 templates/js/translated/purchase_order.js:1130 +#: order/serializers.py:630 templates/js/translated/purchase_order.js:1130 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:589 templates/js/translated/purchase_order.js:1154 +#: order/serializers.py:638 templates/js/translated/purchase_order.js:1154 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:600 templates/js/translated/barcode.js:52 +#: order/serializers.py:649 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "Streckkod" -#: order/serializers.py:601 +#: order/serializers.py:650 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:617 +#: order/serializers.py:666 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:641 +#: order/serializers.py:690 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:689 order/serializers.py:1673 +#: order/serializers.py:738 order/serializers.py:1731 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:705 +#: order/serializers.py:754 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:716 +#: order/serializers.py:765 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1062 +#: order/serializers.py:1117 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1122 +#: order/serializers.py:1178 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1183 order/serializers.py:1322 +#: order/serializers.py:1239 order/serializers.py:1378 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1202 +#: order/serializers.py:1258 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1332 +#: order/serializers.py:1388 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1354 order/serializers.py:1460 +#: order/serializers.py:1410 order/serializers.py:1516 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1357 order/serializers.py:1463 +#: order/serializers.py:1413 order/serializers.py:1519 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1404 +#: order/serializers.py:1460 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1411 +#: order/serializers.py:1467 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1627 +#: order/serializers.py:1685 msgid "Return order line item" msgstr "" -#: order/serializers.py:1633 +#: order/serializers.py:1691 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1636 +#: order/serializers.py:1694 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1665 +#: order/serializers.py:1723 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1743 +#: order/serializers.py:1806 msgid "Line price currency" msgstr "" @@ -5808,7 +6101,7 @@ msgstr "" #: 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:1073 +#: templates/js/translated/part.js:1076 #: templates/js/translated/purchase_order.js:1752 #: templates/js/translated/return_order.js:380 #: templates/js/translated/sales_order.js:891 @@ -5904,34 +6197,29 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:398 part/models.py:3944 part/stocktake.py:219 +#: part/admin.py:39 part/admin.py:398 part/models.py:3991 part/stocktake.py:219 #: stock/admin.py:152 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:405 part/models.py:3945 part/stocktake.py:220 -#: stock/admin.py:156 -msgid "Part Name" -msgstr "" - #: part/admin.py:45 part/stocktake.py:221 msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:940 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:944 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 -#: templates/js/translated/part.js:1227 templates/js/translated/part.js:2341 +#: templates/js/translated/part.js:1230 templates/js/translated/part.js:2344 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:949 part/templates/part/part_base.html:277 -#: report/models.py:162 templates/js/translated/part.js:1232 -#: templates/js/translated/part.js:2347 +#: part/admin.py:50 part/models.py:953 part/templates/part/part_base.html:277 +#: report/models.py:162 templates/js/translated/part.js:1235 +#: templates/js/translated/part.js:2350 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:319 part/models.py:922 +#: part/admin.py:53 part/admin.py:319 part/models.py:926 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "Nyckelord" @@ -5944,7 +6232,8 @@ msgstr "" msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:304 part/stocktake.py:223 +#: part/admin.py:67 part/admin.py:304 part/serializers.py:837 +#: part/stocktake.py:223 msgid "Category Name" msgstr "Kategorinamn" @@ -5956,11 +6245,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:908 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:912 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1036 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1040 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5968,18 +6257,19 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:150 part/templates/part/part_base.html:241 stock/admin.py:235 -#: templates/js/translated/part.js:715 templates/js/translated/part.js:2153 +#: part/admin.py:150 part/serializers.py:854 +#: part/templates/part/part_base.html:241 stock/admin.py:235 +#: templates/js/translated/part.js:714 templates/js/translated/part.js:2156 msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3088 part/models.py:3102 -#: templates/js/translated/part.js:970 +#: part/admin.py:155 part/models.py:3098 part/models.py:3112 +#: templates/js/translated/part.js:973 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3095 part/models.py:3109 -#: templates/js/translated/part.js:980 +#: part/admin.py:158 part/models.py:3105 part/models.py:3119 +#: templates/js/translated/part.js:983 msgid "Maximum Cost" msgstr "" @@ -5996,14 +6286,14 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:396 part/serializers.py:124 -#: part/serializers.py:267 part/serializers.py:386 +#: part/admin.py:325 part/models.py:397 part/serializers.py:130 +#: part/serializers.py:282 part/serializers.py:404 #: 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:2807 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:203 msgid "Parts" msgstr "Artiklar" @@ -6020,125 +6310,117 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:402 part/models.py:3946 -msgid "Part IPN" -msgstr "" - -#: part/admin.py:415 part/serializers.py:1274 +#: part/admin.py:415 part/serializers.py:1302 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:420 part/serializers.py:1289 +#: part/admin.py:420 part/serializers.py:1317 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "" -#: part/api.py:104 +#: part/api.py:105 msgid "Starred" msgstr "" -#: part/api.py:106 +#: part/api.py:107 msgid "Filter by starred categories" msgstr "" -#: part/api.py:123 stock/api.py:312 +#: part/api.py:124 stock/api.py:312 msgid "Depth" msgstr "" -#: part/api.py:123 +#: part/api.py:124 msgid "Filter by category depth" msgstr "" -#: part/api.py:141 stock/api.py:330 +#: part/api.py:142 stock/api.py:330 msgid "Top Level" msgstr "" -#: part/api.py:143 +#: part/api.py:144 msgid "Filter by top-level categories" msgstr "" -#: part/api.py:156 stock/api.py:345 +#: part/api.py:157 stock/api.py:345 msgid "Cascade" msgstr "" -#: part/api.py:158 +#: part/api.py:159 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:179 templates/js/translated/part.js:308 +#: part/api.py:180 templates/js/translated/part.js:307 msgid "Parent" msgstr "" -#: part/api.py:181 +#: part/api.py:182 msgid "Filter by parent category" msgstr "" -#: part/api.py:214 +#: part/api.py:215 msgid "Exclude Tree" msgstr "" -#: part/api.py:216 +#: part/api.py:217 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:449 +#: part/api.py:442 msgid "Has Results" msgstr "" -#: part/api.py:616 +#: part/api.py:609 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:634 +#: part/api.py:627 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:650 +#: part/api.py:643 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:734 +#: part/api.py:727 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:881 -msgid "Valid" -msgstr "" - -#: part/api.py:882 +#: part/api.py:875 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:888 +#: part/api.py:881 msgid "This option must be selected" msgstr "" -#: part/api.py:1105 +#: part/api.py:1098 msgid "BOM Valid" msgstr "" -#: part/api.py:1508 part/models.py:932 part/models.py:3374 part/models.py:3889 -#: part/serializers.py:401 part/serializers.py:1130 -#: part/templates/part/part_base.html:260 stock/api.py:791 +#: part/api.py:1494 part/models.py:936 part/models.py:3385 part/models.py:3936 +#: part/serializers.py:419 part/serializers.py:1158 +#: part/templates/part/part_base.html:260 stock/api.py:783 #: 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:2380 msgid "Category" msgstr "Kategori" -#: part/api.py:1796 +#: part/api.py:1784 msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:104 part/models.py:975 +#: part/bom.py:170 part/models.py:104 part/models.py:979 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:833 +#: part/bom.py:171 part/serializers.py:861 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6147,7 +6429,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:85 part/models.py:3890 part/templates/part/category.html:16 +#: part/models.py:85 part/models.py:3937 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -6162,7 +6444,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:110 stock/models.py:175 templates/js/translated/part.js:2810 +#: part/models.py:110 stock/models.py:175 templates/js/translated/part.js:2813 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 @@ -6194,1002 +6476,1041 @@ msgstr "Ikon (valfritt)" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:485 +#: part/models.py:486 +msgid "Cannot delete this part as it is locked" +msgstr "" + +#: part/models.py:489 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:490 +#: part/models.py:494 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:528 +#: part/models.py:532 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:576 part/models.py:583 +#: part/models.py:580 part/models.py:587 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:595 +#: part/models.py:599 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:658 +#: part/models.py:662 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:736 +#: part/models.py:740 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:837 +#: part/models.py:841 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:847 +#: part/models.py:851 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:862 +#: part/models.py:866 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:891 part/models.py:3945 +#: part/models.py:895 part/models.py:3992 msgid "Part name" msgstr "" -#: part/models.py:896 +#: part/models.py:900 msgid "Is Template" msgstr "" -#: part/models.py:897 +#: part/models.py:901 msgid "Is this part a template part?" msgstr "" -#: part/models.py:907 +#: part/models.py:911 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:915 +#: part/models.py:919 msgid "Part description (optional)" msgstr "" -#: part/models.py:923 +#: part/models.py:927 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:933 +#: part/models.py:937 msgid "Part category" msgstr "" -#: part/models.py:941 -msgid "Internal Part Number" -msgstr "" - -#: part/models.py:948 +#: part/models.py:952 msgid "Part revision or version number" msgstr "" -#: part/models.py:973 +#: part/models.py:977 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1019 part/templates/part/part_base.html:376 +#: part/models.py:1023 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "Standardleverantör" -#: part/models.py:1020 +#: part/models.py:1024 msgid "Default supplier part" msgstr "" -#: part/models.py:1027 +#: part/models.py:1031 msgid "Default Expiry" msgstr "" -#: part/models.py:1028 +#: part/models.py:1032 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1037 +#: part/models.py:1041 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1046 +#: part/models.py:1050 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1053 +#: part/models.py:1057 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1059 +#: part/models.py:1063 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1065 +#: part/models.py:1069 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1071 +#: part/models.py:1075 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1077 +#: part/models.py:1081 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1081 +#: part/models.py:1085 msgid "Is this part active?" msgstr "" -#: part/models.py:1087 +#: part/models.py:1090 templates/js/translated/part.js:818 +#: templates/js/translated/table_filters.js:721 +msgid "Locked" +msgstr "" + +#: part/models.py:1091 +msgid "Locked parts cannot be edited" +msgstr "" + +#: part/models.py:1097 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1093 +#: part/models.py:1103 msgid "BOM checksum" msgstr "" -#: part/models.py:1094 +#: part/models.py:1104 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1102 +#: part/models.py:1112 msgid "BOM checked by" msgstr "" -#: part/models.py:1107 +#: part/models.py:1117 msgid "BOM checked date" msgstr "" -#: part/models.py:1123 +#: part/models.py:1133 msgid "Creation User" msgstr "" -#: part/models.py:1133 +#: part/models.py:1143 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1138 part/templates/part/part_base.html:339 +#: part/models.py:1148 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:2474 msgid "Last Stocktake" msgstr "" -#: part/models.py:2011 +#: part/models.py:2021 msgid "Sell multiple" msgstr "" -#: part/models.py:3002 +#: part/models.py:3012 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3018 +#: part/models.py:3028 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3019 +#: part/models.py:3029 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3025 +#: part/models.py:3035 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3026 +#: part/models.py:3036 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3032 +#: part/models.py:3042 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3033 +#: part/models.py:3043 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3039 +#: part/models.py:3049 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3040 +#: part/models.py:3050 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3046 +#: part/models.py:3056 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3047 +#: part/models.py:3057 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3053 +#: part/models.py:3063 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3054 +#: part/models.py:3064 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3060 +#: part/models.py:3070 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3061 +#: part/models.py:3071 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3067 +#: part/models.py:3077 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3068 +#: part/models.py:3078 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3074 +#: part/models.py:3084 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3075 +#: part/models.py:3085 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3081 +#: part/models.py:3091 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3082 +#: part/models.py:3092 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3089 +#: part/models.py:3099 msgid "Override minimum cost" msgstr "" -#: part/models.py:3096 +#: part/models.py:3106 msgid "Override maximum cost" msgstr "" -#: part/models.py:3103 +#: part/models.py:3113 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3110 +#: part/models.py:3120 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3116 +#: part/models.py:3126 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3117 +#: part/models.py:3127 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3123 +#: part/models.py:3133 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3124 +#: part/models.py:3134 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3130 +#: part/models.py:3140 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3131 +#: part/models.py:3141 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3137 +#: part/models.py:3147 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3138 +#: part/models.py:3148 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3157 +#: part/models.py:3167 msgid "Part for stocktake" msgstr "" -#: part/models.py:3162 +#: part/models.py:3172 msgid "Item Count" msgstr "" -#: part/models.py:3163 +#: part/models.py:3173 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3171 +#: part/models.py:3181 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3175 part/models.py:3258 +#: part/models.py:3185 part/models.py:3268 #: part/templates/part/part_scheduling.html:13 #: 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:1086 templates/js/translated/pricing.js:826 +#: templates/js/translated/part.js:1089 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 #: templates/js/translated/purchase_order.js:1731 #: templates/js/translated/stock.js:2821 msgid "Date" msgstr "Datum" -#: part/models.py:3176 +#: part/models.py:3186 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3184 +#: part/models.py:3194 msgid "Additional notes" msgstr "" -#: part/models.py:3194 +#: part/models.py:3204 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3200 +#: part/models.py:3210 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3201 +#: part/models.py:3211 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3207 +#: part/models.py:3217 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3208 +#: part/models.py:3218 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3264 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3274 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3265 +#: part/models.py:3275 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3270 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3280 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3271 +#: part/models.py:3281 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3281 +#: part/models.py:3291 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3423 +#: part/models.py:3301 +msgid "Part Sale Price Break" +msgstr "" + +#: part/models.py:3413 +#, fuzzy +#| msgid "Delete Template" +msgid "Part Test Template" +msgstr "Radera mall" + +#: part/models.py:3439 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3444 part/models.py:3608 +#: part/models.py:3460 part/models.py:3629 msgid "Choices must be unique" msgstr "" -#: part/models.py:3455 +#: part/models.py:3471 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3466 +#: part/models.py:3482 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3483 templates/js/translated/part.js:2880 +#: part/models.py:3499 templates/js/translated/part.js:2883 msgid "Test Name" msgstr "" -#: part/models.py:3484 +#: part/models.py:3500 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3490 +#: part/models.py:3506 msgid "Test Key" msgstr "" -#: part/models.py:3491 +#: part/models.py:3507 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3498 +#: part/models.py:3514 msgid "Test Description" msgstr "" -#: part/models.py:3499 +#: part/models.py:3515 msgid "Enter description for this test" msgstr "" -#: part/models.py:3503 report/models.py:209 -#: templates/js/translated/part.js:2901 +#: part/models.py:3519 report/models.py:209 +#: templates/js/translated/part.js:2904 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "" -#: part/models.py:3503 +#: part/models.py:3519 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3508 templates/js/translated/part.js:2909 +#: part/models.py:3524 templates/js/translated/part.js:2912 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3509 +#: part/models.py:3525 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3514 templates/js/translated/part.js:2917 +#: part/models.py:3530 templates/js/translated/part.js:2920 msgid "Requires Value" msgstr "" -#: part/models.py:3515 +#: part/models.py:3531 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3520 templates/js/translated/part.js:2924 +#: part/models.py:3536 templates/js/translated/part.js:2927 msgid "Requires Attachment" msgstr "" -#: part/models.py:3522 +#: part/models.py:3538 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3528 part/models.py:3667 templates/js/translated/part.js:1637 +#: part/models.py:3544 part/models.py:3688 templates/js/translated/part.js:1640 msgid "Choices" msgstr "" -#: part/models.py:3529 +#: part/models.py:3545 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3583 +#: part/models.py:3577 +#, fuzzy +#| msgid "Delete Template" +msgid "Part Parameter Template" +msgstr "Radera mall" + +#: part/models.py:3604 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3588 +#: part/models.py:3609 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3625 +#: part/models.py:3646 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3640 +#: part/models.py:3661 msgid "Parameter Name" msgstr "" -#: part/models.py:3647 +#: part/models.py:3668 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3655 +#: part/models.py:3676 msgid "Parameter description" msgstr "" -#: part/models.py:3661 templates/js/translated/part.js:1628 -#: templates/js/translated/table_filters.js:825 +#: part/models.py:3682 templates/js/translated/part.js:1631 +#: templates/js/translated/table_filters.js:830 msgid "Checkbox" msgstr "" -#: part/models.py:3662 +#: part/models.py:3683 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3668 +#: part/models.py:3689 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3745 +#: part/models.py:3723 +#, fuzzy +#| msgid "Parameters" +msgid "Part Parameter" +msgstr "Parametrar" + +#: part/models.py:3749 +msgid "Parameter cannot be modified - part is locked" +msgstr "" + +#: part/models.py:3785 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3788 +#: part/models.py:3828 msgid "Parent Part" msgstr "" -#: part/models.py:3796 part/models.py:3897 part/models.py:3898 +#: part/models.py:3836 part/models.py:3944 part/models.py:3945 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3801 -msgid "Data" +#: part/models.py:3842 +msgid "Parameter Value" msgstr "" -#: part/models.py:3802 -msgid "Parameter Value" +#: part/models.py:3892 +msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:3904 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3951 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3905 +#: part/models.py:3952 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3943 +#: part/models.py:3990 msgid "Part ID or part name" msgstr "" -#: part/models.py:3944 +#: part/models.py:3991 msgid "Unique part ID value" msgstr "" -#: part/models.py:3946 +#: part/models.py:3993 msgid "Part IPN value" msgstr "" -#: part/models.py:3947 +#: part/models.py:3994 msgid "Level" msgstr "" -#: part/models.py:3947 +#: part/models.py:3994 msgid "BOM level" msgstr "" -#: part/models.py:4037 +#: part/models.py:4105 +msgid "BOM item cannot be modified - assembly is locked" +msgstr "" + +#: part/models.py:4112 +msgid "BOM item cannot be modified - variant assembly is locked" +msgstr "" + +#: part/models.py:4122 msgid "Select parent part" msgstr "" -#: part/models.py:4047 +#: part/models.py:4132 msgid "Sub part" msgstr "" -#: part/models.py:4048 +#: part/models.py:4133 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4059 +#: part/models.py:4144 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4065 +#: part/models.py:4150 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4071 +#: part/models.py:4156 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4078 part/templates/part/upload_bom.html:55 +#: part/models.py:4163 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4079 +#: part/models.py:4164 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4086 +#: part/models.py:4171 msgid "BOM item reference" msgstr "" -#: part/models.py:4094 +#: part/models.py:4179 msgid "BOM item notes" msgstr "" -#: part/models.py:4100 +#: part/models.py:4185 msgid "Checksum" msgstr "" -#: part/models.py:4101 +#: part/models.py:4186 msgid "BOM line checksum" msgstr "" -#: part/models.py:4106 templates/js/translated/table_filters.js:174 +#: part/models.py:4191 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4107 +#: part/models.py:4192 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4112 part/templates/part/upload_bom.html:57 +#: part/models.py:4197 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:4113 +#: part/models.py:4198 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4118 part/templates/part/upload_bom.html:56 +#: part/models.py:4203 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4119 +#: part/models.py:4204 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4204 stock/models.py:663 +#: part/models.py:4289 stock/models.py:663 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4214 part/models.py:4216 +#: part/models.py:4299 part/models.py:4301 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4354 +#: part/models.py:4439 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4375 +#: part/models.py:4460 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4388 +#: part/models.py:4473 msgid "Parent BOM item" msgstr "" -#: part/models.py:4396 +#: part/models.py:4481 msgid "Substitute part" msgstr "" -#: part/models.py:4412 +#: part/models.py:4497 msgid "Part 1" msgstr "" -#: part/models.py:4420 +#: part/models.py:4505 msgid "Part 2" msgstr "" -#: part/models.py:4421 +#: part/models.py:4506 msgid "Select Related Part" msgstr "" -#: part/models.py:4440 +#: part/models.py:4525 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4445 +#: part/models.py:4530 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:118 +#: part/serializers.py:124 msgid "Parent Category" msgstr "" -#: part/serializers.py:119 templates/js/translated/part.js:309 +#: part/serializers.py:125 templates/js/translated/part.js:308 msgid "Parent part category" msgstr "" -#: part/serializers.py:126 part/serializers.py:148 +#: part/serializers.py:132 part/serializers.py:154 #: part/templates/part/category.html:122 part/templates/part/category.html:207 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "Underkategorier" -#: part/serializers.py:180 +#: part/serializers.py:189 msgid "Results" msgstr "" -#: part/serializers.py:181 +#: part/serializers.py:190 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:205 part/serializers.py:223 stock/serializers.py:562 +#: part/serializers.py:217 part/serializers.py:235 stock/serializers.py:608 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:268 +#: part/serializers.py:283 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:392 +#: part/serializers.py:410 msgid "No parts selected" msgstr "" -#: part/serializers.py:402 +#: part/serializers.py:420 msgid "Select category" msgstr "Välj kategori" -#: part/serializers.py:437 +#: part/serializers.py:455 msgid "Original Part" msgstr "" -#: part/serializers.py:438 +#: part/serializers.py:456 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:461 msgid "Copy Image" msgstr "Kopiera bild" -#: part/serializers.py:444 +#: part/serializers.py:462 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:450 part/templates/part/detail.html:277 +#: part/serializers.py:468 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:451 +#: part/serializers.py:469 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:457 +#: part/serializers.py:475 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:458 +#: part/serializers.py:476 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:464 +#: part/serializers.py:482 msgid "Copy Notes" msgstr "" -#: part/serializers.py:465 +#: part/serializers.py:483 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:483 +#: part/serializers.py:501 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:485 +#: part/serializers.py:503 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:492 +#: part/serializers.py:510 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:493 +#: part/serializers.py:511 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:510 +#: part/serializers.py:528 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:526 +#: part/serializers.py:544 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:536 +#: part/serializers.py:554 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:543 +#: part/serializers.py:561 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:552 +#: part/serializers.py:570 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:563 +#: part/serializers.py:581 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:570 +#: part/serializers.py:588 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:834 -msgid "External Stock" -msgstr "" - -#: part/serializers.py:836 +#: part/serializers.py:864 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:839 +#: part/serializers.py:867 msgid "Variant Stock" msgstr "" -#: part/serializers.py:869 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:472 +#: part/serializers.py:897 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:870 +#: part/serializers.py:898 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:876 templates/js/translated/part.js:102 +#: part/serializers.py:904 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:877 +#: part/serializers.py:905 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:883 +#: part/serializers.py:911 msgid "Supplier Information" msgstr "" -#: part/serializers.py:884 +#: part/serializers.py:912 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:892 +#: part/serializers.py:920 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:893 +#: part/serializers.py:921 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:898 +#: part/serializers.py:926 msgid "Existing Image" msgstr "" -#: part/serializers.py:899 +#: part/serializers.py:927 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:916 +#: part/serializers.py:944 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1122 +#: part/serializers.py:1150 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1132 +#: part/serializers.py:1160 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1142 +#: part/serializers.py:1170 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1148 +#: part/serializers.py:1176 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1149 +#: part/serializers.py:1177 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1154 +#: part/serializers.py:1182 msgid "Generate Report" msgstr "Generera rapport" -#: part/serializers.py:1155 +#: part/serializers.py:1183 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1160 +#: part/serializers.py:1188 msgid "Update Parts" msgstr "" -#: part/serializers.py:1161 +#: part/serializers.py:1189 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1169 +#: part/serializers.py:1197 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1275 +#: part/serializers.py:1303 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1282 +#: part/serializers.py:1310 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1290 +#: part/serializers.py:1318 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1297 +#: part/serializers.py:1325 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1326 +#: part/serializers.py:1354 msgid "Update" msgstr "Uppdatera" -#: part/serializers.py:1327 +#: part/serializers.py:1355 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1350 +#: part/serializers.py:1378 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1357 +#: part/serializers.py:1385 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1360 +#: part/serializers.py:1388 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1727 +#: part/serializers.py:1759 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1735 +#: part/serializers.py:1767 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1736 +#: part/serializers.py:1768 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1741 +#: part/serializers.py:1773 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1742 +#: part/serializers.py:1774 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1747 +#: part/serializers.py:1779 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1748 +#: part/serializers.py:1780 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1753 +#: part/serializers.py:1785 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1754 +#: part/serializers.py:1786 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1788 +#: part/serializers.py:1823 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1789 +#: part/serializers.py:1824 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1819 +#: part/serializers.py:1856 msgid "No part column specified" msgstr "" -#: part/serializers.py:1863 +#: part/serializers.py:1900 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1866 +#: part/serializers.py:1903 msgid "No matching part found" msgstr "" -#: part/serializers.py:1869 +#: part/serializers.py:1906 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1878 +#: part/serializers.py:1915 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1886 +#: part/serializers.py:1923 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1907 +#: part/serializers.py:1946 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:225 templates/js/translated/part.js:1067 -#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 +#: part/stocktake.py:225 templates/js/translated/part.js:1070 +#: templates/js/translated/part.js:1825 templates/js/translated/part.js:1881 #: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "" @@ -7507,7 +7828,7 @@ msgstr "" #: part/templates/part/part_base.html:52 #: stock/templates/stock/item_base.html:62 -#: stock/templates/stock/location.html:74 templates/js/translated/label.js:143 +#: stock/templates/stock/location.html:74 templates/js/translated/label.js:136 msgid "Print Label" msgstr "" @@ -7529,7 +7850,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:2296 msgid "Part actions" msgstr "" @@ -7569,6 +7890,10 @@ msgstr "" msgid "Part can be sold to customers" msgstr "" +#: part/templates/part/part_base.html:145 +msgid "Part is not active" +msgstr "" + #: part/templates/part/part_base.html:153 msgid "Part is virtual (not a physical part)" msgstr "" @@ -7597,7 +7922,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:322 templates/js/translated/bom.js:1071 -#: templates/js/translated/part.js:1265 templates/js/translated/part.js:2444 +#: templates/js/translated/part.js:1268 templates/js/translated/part.js:2447 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" @@ -7690,8 +8015,8 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/part.js:1243 templates/js/translated/part.js:2146 -#: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 +#: templates/js/translated/part.js:1246 templates/js/translated/part.js:2149 +#: templates/js/translated/part.js:2395 templates/js/translated/stock.js:1059 #: templates/js/translated/stock.js:2070 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -7811,8 +8136,8 @@ msgstr "" #: part/templates/part/stock_count.html:7 #: templates/js/translated/model_renderers.js:227 -#: templates/js/translated/part.js:705 templates/js/translated/part.js:2141 -#: templates/js/translated/part.js:2143 +#: templates/js/translated/part.js:704 templates/js/translated/part.js:2144 +#: templates/js/translated/part.js:2146 msgid "No Stock" msgstr "" @@ -7956,7 +8281,7 @@ msgstr "" msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2589 +#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2590 #: templates/js/translated/sales_order.js:1953 msgid "Insufficient stock available" msgstr "" @@ -8051,7 +8376,7 @@ msgstr "" msgid "Quantity to allocate" msgstr "" -#: plugin/base/label/label.py:39 templates/js/translated/label.js:155 +#: plugin/base/label/label.py:39 templates/js/translated/label.js:148 msgid "Label printing failed" msgstr "" @@ -8748,7 +9073,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report.html:25 #: report/templates/report/inventree_test_report.html:88 stock/models.py:825 -#: stock/serializers.py:149 stock/templates/stock/item_base.html:311 +#: stock/serializers.py:151 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:230 @@ -8778,7 +9103,7 @@ msgstr "" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2447 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2457 msgid "Result" msgstr "" @@ -8799,7 +9124,7 @@ msgid "No result" msgstr "" #: report/templates/report/inventree_test_report.html:153 -#: stock/templates/stock/stock_sidebar.html:16 +#: stock/serializers.py:591 stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" @@ -8829,10 +9154,6 @@ msgstr "" msgid "Location ID" msgstr "" -#: stock/admin.py:53 stock/admin.py:175 -msgid "Location Name" -msgstr "" - #: stock/admin.py:63 stock/templates/stock/location.html:131 #: stock/templates/stock/location.html:137 msgid "Location Path" @@ -8909,7 +9230,7 @@ msgstr "" msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:369 stock/serializers.py:1085 +#: stock/api.py:369 stock/serializers.py:1148 msgid "Parent Location" msgstr "" @@ -8917,44 +9238,45 @@ msgstr "" msgid "Filter by parent location" msgstr "" -#: stock/api.py:625 templates/js/translated/table_filters.js:427 +#: stock/api.py:617 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:813 +#: stock/api.py:805 msgid "Part Tree" msgstr "" -#: stock/api.py:843 +#: stock/api.py:835 msgid "Expiry date before" msgstr "" -#: stock/api.py:847 +#: stock/api.py:839 msgid "Expiry date after" msgstr "" -#: stock/api.py:850 stock/templates/stock/item_base.html:439 +#: stock/api.py:842 stock/serializers.py:596 +#: stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "" -#: stock/api.py:937 +#: stock/api.py:929 msgid "Quantity is required" msgstr "" -#: stock/api.py:943 +#: stock/api.py:935 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:974 +#: stock/api.py:966 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:984 +#: stock/api.py:976 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1015 +#: stock/api.py:1007 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -9021,7 +9343,7 @@ msgstr "" msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:669 stock/serializers.py:446 +#: stock/models.py:669 stock/serializers.py:477 msgid "Stock item cannot be created for virtual parts" msgstr "" @@ -9066,7 +9388,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:799 stock/serializers.py:1476 +#: stock/models.py:799 stock/serializers.py:1542 msgid "Packaging this stock item is stored in" msgstr "" @@ -9078,7 +9400,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:843 stock/serializers.py:1459 +#: stock/models.py:843 stock/serializers.py:1525 msgid "Batch code for this stock item" msgstr "" @@ -9155,7 +9477,7 @@ msgstr "" msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1520 stock/serializers.py:660 +#: stock/models.py:1520 stock/serializers.py:718 msgid "Serial numbers already exist" msgstr "" @@ -9187,7 +9509,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1658 stock/serializers.py:1365 +#: stock/models.py:1658 stock/serializers.py:1431 msgid "Duplicate stock items" msgstr "" @@ -9207,288 +9529,336 @@ msgstr "" msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2345 +#: stock/models.py:2317 +#, fuzzy +#| msgid "Stock Item" +msgid "Stock Item Tracking" +msgstr "Artikel i lager" + +#: stock/models.py:2350 msgid "Entry notes" msgstr "" -#: stock/models.py:2413 +#: stock/models.py:2390 +#, fuzzy +#| msgid "Stock item created" +msgid "Stock Item Test Result" +msgstr "Lagerpost skapad" + +#: stock/models.py:2423 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2418 +#: stock/models.py:2428 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2423 +#: stock/models.py:2433 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2447 +#: stock/models.py:2457 msgid "Test result" msgstr "" -#: stock/models.py:2454 +#: stock/models.py:2464 msgid "Test output value" msgstr "" -#: stock/models.py:2462 +#: stock/models.py:2472 msgid "Test result attachment" msgstr "" -#: stock/models.py:2466 +#: stock/models.py:2476 msgid "Test notes" msgstr "" -#: stock/models.py:2474 templates/js/translated/stock.js:1548 +#: stock/models.py:2484 templates/js/translated/stock.js:1548 msgid "Test station" msgstr "" -#: stock/models.py:2475 +#: stock/models.py:2485 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2481 +#: stock/models.py:2491 msgid "Started" msgstr "" -#: stock/models.py:2482 +#: stock/models.py:2492 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2488 +#: stock/models.py:2498 msgid "Finished" msgstr "" -#: stock/models.py:2489 +#: stock/models.py:2499 msgid "The timestamp of the test finish" msgstr "" -#: stock/serializers.py:74 +#: stock/serializers.py:76 msgid "Generated batch code" msgstr "" -#: stock/serializers.py:83 +#: stock/serializers.py:85 msgid "Select build order" msgstr "" -#: stock/serializers.py:92 +#: stock/serializers.py:94 msgid "Select stock item to generate batch code for" msgstr "" -#: stock/serializers.py:101 +#: stock/serializers.py:103 msgid "Select location to generate batch code for" msgstr "" -#: stock/serializers.py:110 +#: stock/serializers.py:112 msgid "Select part to generate batch code for" msgstr "" -#: stock/serializers.py:119 +#: stock/serializers.py:121 msgid "Select purchase order" msgstr "" -#: stock/serializers.py:126 +#: stock/serializers.py:128 msgid "Enter quantity for batch code" msgstr "" -#: stock/serializers.py:149 +#: stock/serializers.py:151 msgid "Generated serial number" msgstr "" -#: stock/serializers.py:158 +#: stock/serializers.py:160 msgid "Select part to generate serial number for" msgstr "" -#: stock/serializers.py:166 +#: stock/serializers.py:168 msgid "Quantity of serial numbers to generate" msgstr "" -#: stock/serializers.py:228 +#: stock/serializers.py:233 msgid "Test template for this result" msgstr "" -#: stock/serializers.py:247 +#: stock/serializers.py:252 msgid "Template ID or test name must be provided" msgstr "" -#: stock/serializers.py:279 +#: stock/serializers.py:284 msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:315 +#: stock/serializers.py:320 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:438 +#: stock/serializers.py:449 stock/templates/stock/item_base.html:193 +msgid "Parent Item" +msgstr "" + +#: stock/serializers.py:450 +#, fuzzy +#| msgid "Source stock item" +msgid "Parent stock item" +msgstr "Källa lagervara" + +#: stock/serializers.py:469 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:558 +#: stock/serializers.py:585 templates/js/translated/build.js:991 +#: templates/js/translated/build.js:2344 +msgid "Allocated Quantity" +msgstr "" + +#: stock/serializers.py:588 stock/templates/stock/item_base.html:437 +#: templates/js/translated/table_filters.js:435 users/models.py:174 +msgid "Expired" +msgstr "" + +#: stock/serializers.py:594 stock/templates/stock/stock_sidebar.html:20 +msgid "Child Items" +msgstr "" + +#: stock/serializers.py:598 +msgid "Tracking Items" +msgstr "" + +#: stock/serializers.py:604 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:595 +#: stock/serializers.py:623 +msgid "Minimum Pricing" +msgstr "" + +#: stock/serializers.py:629 +msgid "Maximum Pricing" +msgstr "" + +#: stock/serializers.py:653 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:608 +#: stock/serializers.py:666 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:615 +#: stock/serializers.py:673 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:626 stock/serializers.py:1322 stock/serializers.py:1578 +#: stock/serializers.py:684 stock/serializers.py:1388 stock/serializers.py:1644 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:633 +#: stock/serializers.py:691 msgid "Optional note field" msgstr "" -#: stock/serializers.py:643 +#: stock/serializers.py:701 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:698 +#: stock/serializers.py:756 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:705 +#: stock/serializers.py:763 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:706 +#: stock/serializers.py:764 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:711 stock/serializers.py:791 stock/serializers.py:887 -#: stock/serializers.py:937 +#: stock/serializers.py:769 stock/serializers.py:849 stock/serializers.py:945 +#: stock/serializers.py:995 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:719 +#: stock/serializers.py:777 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:727 +#: stock/serializers.py:785 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:738 +#: stock/serializers.py:796 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:751 +#: stock/serializers.py:809 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:786 +#: stock/serializers.py:844 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:821 +#: stock/serializers.py:879 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:834 +#: stock/serializers.py:892 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:851 +#: stock/serializers.py:909 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:882 +#: stock/serializers.py:940 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:919 +#: stock/serializers.py:977 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:925 +#: stock/serializers.py:983 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1021 stock/serializers.py:1093 +#: stock/serializers.py:1079 stock/serializers.py:1156 #: stock/templates/stock/location.html:165 #: stock/templates/stock/location.html:222 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1086 templates/js/translated/stock.js:152 +#: stock/serializers.py:1149 templates/js/translated/stock.js:152 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1194 +#: stock/serializers.py:1260 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1198 +#: stock/serializers.py:1264 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1202 +#: stock/serializers.py:1268 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1226 +#: stock/serializers.py:1292 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1232 +#: stock/serializers.py:1298 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1240 +#: stock/serializers.py:1306 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1250 stock/serializers.py:1504 +#: stock/serializers.py:1316 stock/serializers.py:1570 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1329 +#: stock/serializers.py:1395 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1334 +#: stock/serializers.py:1400 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1335 +#: stock/serializers.py:1401 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1340 +#: stock/serializers.py:1406 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1341 +#: stock/serializers.py:1407 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1351 +#: stock/serializers.py:1417 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1418 +#: stock/serializers.py:1484 msgid "No Change" msgstr "" -#: stock/serializers.py:1447 +#: stock/serializers.py:1513 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1466 +#: stock/serializers.py:1532 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1494 +#: stock/serializers.py:1560 msgid "Stock transaction notes" msgstr "" @@ -9757,10 +10127,6 @@ msgstr "" msgid "Build" msgstr "Bygg" -#: stock/templates/stock/item_base.html:193 -msgid "Parent Item" -msgstr "" - #: stock/templates/stock/item_base.html:211 msgid "No manufacturer set" msgstr "" @@ -9836,11 +10202,6 @@ msgstr "" msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:437 -#: templates/js/translated/table_filters.js:435 users/models.py:174 -msgid "Expired" -msgstr "" - #: stock/templates/stock/item_base.html:439 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" @@ -9988,10 +10349,6 @@ msgstr "" msgid "Allocations" msgstr "" -#: stock/templates/stock/stock_sidebar.html:20 -msgid "Child Items" -msgstr "" - #: templates/403.html:6 templates/403.html:12 templates/403_csrf.html:7 msgid "Permission Denied" msgstr "" @@ -10466,8 +10823,8 @@ 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:393 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:245 users/models.py:402 +#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 +#: templates/js/translated/stock.js:245 users/models.py:406 msgid "Delete" msgstr "Radera" @@ -10507,12 +10864,12 @@ msgid "No category parameter templates found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:308 -#: templates/js/translated/part.js:1646 +#: templates/js/translated/part.js:1649 msgid "Edit Template" msgstr "Redigera mall" #: templates/InvenTree/settings/settings_staff_js.html:309 -#: templates/js/translated/part.js:1647 +#: templates/js/translated/part.js:1650 msgid "Delete Template" msgstr "Radera mall" @@ -11145,7 +11502,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2556 +#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2557 msgid "Required Quantity" msgstr "" @@ -11159,7 +11516,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3219 +#: templates/js/translated/part.js:3222 msgid "Minimum Quantity" msgstr "" @@ -11514,7 +11871,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2500 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2501 msgid "Variant stock allowed" msgstr "" @@ -11534,30 +11891,30 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2621 +#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2622 msgid "External stock" msgstr "" -#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2595 +#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2596 #: templates/js/translated/sales_order.js:1946 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2599 +#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2600 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2601 -#: templates/js/translated/part.js:1257 +#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2602 +#: templates/js/translated/part.js:1260 #: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2603 +#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2604 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2586 +#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2587 msgid "Consumable item" msgstr "" @@ -11589,7 +11946,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2485 +#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2486 msgid "Required Part" msgstr "" @@ -11758,10 +12115,6 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:991 templates/js/translated/build.js:2344 -msgid "Allocated Quantity" -msgstr "" - #: templates/js/translated/build.js:1005 msgid "Location not specified" msgstr "" @@ -11873,9 +12226,9 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2117 templates/js/translated/build.js:2479 +#: templates/js/translated/build.js:2117 templates/js/translated/build.js:2480 #: templates/js/translated/forms.js:2163 templates/js/translated/forms.js:2179 -#: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 +#: templates/js/translated/part.js:2319 templates/js/translated/part.js:2745 #: templates/js/translated/stock.js:1983 templates/js/translated/stock.js:2710 msgid "Select" msgstr "" @@ -11906,59 +12259,59 @@ msgstr "" msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2455 +#: templates/js/translated/build.js:2456 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2456 +#: templates/js/translated/build.js:2457 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2474 +#: templates/js/translated/build.js:2475 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2504 templates/js/translated/part.js:791 -#: templates/js/translated/part.js:1203 +#: templates/js/translated/build.js:2505 templates/js/translated/part.js:790 +#: templates/js/translated/part.js:1206 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2539 +#: templates/js/translated/build.js:2540 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2591 +#: templates/js/translated/build.js:2592 #: templates/js/translated/sales_order.js:1951 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2646 +#: templates/js/translated/build.js:2647 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2653 +#: templates/js/translated/build.js:2654 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2654 +#: templates/js/translated/build.js:2655 msgid "Allocate tracked items against individual build outputs" msgstr "" -#: templates/js/translated/build.js:2662 +#: templates/js/translated/build.js:2663 #: templates/js/translated/sales_order.js:2052 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2667 templates/js/translated/stock.js:1868 +#: templates/js/translated/build.js:2668 templates/js/translated/stock.js:1868 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2671 +#: templates/js/translated/build.js:2672 #: templates/js/translated/sales_order.js:2046 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2675 +#: templates/js/translated/build.js:2676 msgid "Remove stock allocation" msgstr "" @@ -12105,7 +12458,7 @@ msgid "Delete Parameters" msgstr "" #: templates/js/translated/company.js:1191 -#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2245 +#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2248 msgid "Order parts" msgstr "" @@ -12122,34 +12475,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:1279 -#: templates/js/translated/company.js:1567 templates/js/translated/part.js:799 -#: templates/js/translated/part.js:1211 +#: templates/js/translated/company.js:1567 templates/js/translated/part.js:798 +#: templates/js/translated/part.js:1214 msgid "Template part" msgstr "" #: templates/js/translated/company.js:1283 -#: templates/js/translated/company.js:1571 templates/js/translated/part.js:803 -#: templates/js/translated/part.js:1215 +#: templates/js/translated/company.js:1571 templates/js/translated/part.js:802 +#: templates/js/translated/part.js:1218 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1465 +#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1468 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1528 +#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1531 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1529 +#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1532 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1434 +#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1437 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1550 +#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1553 msgid "Delete Parameter" msgstr "" @@ -12323,15 +12676,15 @@ msgstr "" msgid "No parts required for builds" msgstr "" -#: templates/js/translated/label.js:55 templates/js/translated/report.js:38 +#: templates/js/translated/label.js:48 templates/js/translated/report.js:38 msgid "Select Items" msgstr "" -#: templates/js/translated/label.js:56 templates/js/translated/report.js:39 +#: templates/js/translated/label.js:49 templates/js/translated/report.js:39 msgid "No items selected for printing" msgstr "" -#: templates/js/translated/label.js:150 +#: templates/js/translated/label.js:143 msgid "Labels sent to printer" msgstr "" @@ -12400,7 +12753,7 @@ msgstr "" #: templates/js/translated/news.js:38 #: templates/js/translated/notification.js:46 -#: templates/js/translated/part.js:1605 +#: templates/js/translated/part.js:1608 msgid "ID" msgstr "" @@ -12481,343 +12834,343 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:333 templates/js/translated/stock.js:175 +#: templates/js/translated/part.js:332 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:353 +#: templates/js/translated/part.js:352 msgid "Create Part Category" msgstr "" -#: templates/js/translated/part.js:356 +#: templates/js/translated/part.js:355 msgid "Create new category after this one" msgstr "" -#: templates/js/translated/part.js:357 +#: templates/js/translated/part.js:356 msgid "Part category created" msgstr "" -#: templates/js/translated/part.js:371 +#: templates/js/translated/part.js:370 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:384 +#: templates/js/translated/part.js:383 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:389 +#: templates/js/translated/part.js:388 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:398 +#: templates/js/translated/part.js:397 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:402 +#: templates/js/translated/part.js:401 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:407 +#: templates/js/translated/part.js:406 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:431 +#: templates/js/translated/part.js:430 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:433 +#: templates/js/translated/part.js:432 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:434 +#: templates/js/translated/part.js:433 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:462 +#: templates/js/translated/part.js:461 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:464 +#: templates/js/translated/part.js:463 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:475 +#: templates/js/translated/part.js:474 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:532 +#: templates/js/translated/part.js:531 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:533 +#: templates/js/translated/part.js:532 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:547 +#: templates/js/translated/part.js:546 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:549 +#: templates/js/translated/part.js:548 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:550 +#: templates/js/translated/part.js:549 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:551 +#: templates/js/translated/part.js:550 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:558 +#: templates/js/translated/part.js:557 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:594 +#: templates/js/translated/part.js:593 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:596 +#: templates/js/translated/part.js:595 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:601 +#: templates/js/translated/part.js:600 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:603 +#: templates/js/translated/part.js:602 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:620 +#: templates/js/translated/part.js:619 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:630 +#: templates/js/translated/part.js:629 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:633 +#: templates/js/translated/part.js:632 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:658 +#: templates/js/translated/part.js:657 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:686 -#: templates/js/translated/table_filters.js:747 +#: templates/js/translated/part.js:685 +#: templates/js/translated/table_filters.js:752 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:689 +#: templates/js/translated/part.js:688 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:749 +#: templates/js/translated/part.js:748 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:772 +#: templates/js/translated/part.js:771 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:795 templates/js/translated/part.js:1207 +#: templates/js/translated/part.js:794 templates/js/translated/part.js:1210 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:807 +#: templates/js/translated/part.js:806 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:811 +#: templates/js/translated/part.js:810 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:890 +#: templates/js/translated/part.js:893 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:890 +#: templates/js/translated/part.js:893 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:898 +#: templates/js/translated/part.js:901 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:902 +#: templates/js/translated/part.js:905 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:1051 +#: templates/js/translated/part.js:1054 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1109 templates/js/translated/part.js:1145 +#: templates/js/translated/part.js:1112 templates/js/translated/part.js:1148 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1113 templates/js/translated/part.js:1155 +#: templates/js/translated/part.js:1116 templates/js/translated/part.js:1158 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1282 +#: templates/js/translated/part.js:1285 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1600 +#: templates/js/translated/part.js:1603 msgid "No part parameter templates found" msgstr "" -#: templates/js/translated/part.js:1663 +#: templates/js/translated/part.js:1666 msgid "Edit Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1675 +#: templates/js/translated/part.js:1678 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/js/translated/part.js:1683 +#: templates/js/translated/part.js:1686 msgid "Delete Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1717 +#: templates/js/translated/part.js:1720 #: templates/js/translated/purchase_order.js:1654 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/part.js:1861 +#: templates/js/translated/part.js:1864 #: 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:1907 +#: templates/js/translated/part.js:1910 #: templates/js/translated/purchase_order.js:2220 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1970 +#: templates/js/translated/part.js:1973 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1992 +#: templates/js/translated/part.js:1995 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2080 templates/js/translated/part.js:2506 +#: templates/js/translated/part.js:2083 templates/js/translated/part.js:2509 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:2201 +#: templates/js/translated/part.js:2204 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2206 +#: templates/js/translated/part.js:2209 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2236 +#: templates/js/translated/part.js:2239 msgid "Set category" msgstr "" -#: templates/js/translated/part.js:2287 +#: templates/js/translated/part.js:2290 msgid "part" msgstr "" -#: templates/js/translated/part.js:2288 +#: templates/js/translated/part.js:2291 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2384 +#: templates/js/translated/part.js:2387 msgid "No category" msgstr "Ingen kategori" -#: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 +#: templates/js/translated/part.js:2534 templates/js/translated/part.js:2664 #: 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:2550 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2645 +#: templates/js/translated/part.js:2648 msgid "No subcategories found" msgstr "Inga underkategorier hittades" -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2689 +#: templates/js/translated/part.js:2684 templates/js/translated/stock.js:2689 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2761 +#: templates/js/translated/part.js:2764 msgid "Load Subcategories" msgstr "Ladda underkategorier" -#: templates/js/translated/part.js:2777 +#: templates/js/translated/part.js:2780 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2865 +#: templates/js/translated/part.js:2868 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2887 templates/js/translated/search.js:342 +#: templates/js/translated/part.js:2890 templates/js/translated/search.js:342 msgid "results" msgstr "resultat" -#: templates/js/translated/part.js:2937 templates/js/translated/stock.js:1456 +#: templates/js/translated/part.js:2940 templates/js/translated/stock.js:1456 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2938 templates/js/translated/stock.js:1457 +#: templates/js/translated/part.js:2941 templates/js/translated/stock.js:1457 #: templates/js/translated/stock.js:1731 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2942 +#: templates/js/translated/part.js:2945 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2958 +#: templates/js/translated/part.js:2961 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2972 +#: templates/js/translated/part.js:2975 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3051 templates/js/translated/part.js:3052 +#: templates/js/translated/part.js:3054 templates/js/translated/part.js:3055 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3054 +#: templates/js/translated/part.js:3057 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3060 +#: templates/js/translated/part.js:3063 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3110 +#: templates/js/translated/part.js:3113 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3116 +#: templates/js/translated/part.js:3119 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3212 +#: templates/js/translated/part.js:3215 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3228 +#: templates/js/translated/part.js:3231 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3273 +#: templates/js/translated/part.js:3276 msgid "Minimum Stock Level" msgstr "" @@ -13593,7 +13946,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1042 users/models.py:392 +#: templates/js/translated/stock.js:1042 users/models.py:396 msgid "Add" msgstr "Lägg till" @@ -13947,7 +14300,7 @@ msgid "Include subcategories" msgstr "" #: templates/js/translated/table_filters.js:287 -#: templates/js/translated/table_filters.js:759 +#: templates/js/translated/table_filters.js:764 msgid "Subscribed" msgstr "" @@ -14102,40 +14455,46 @@ msgstr "" msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:725 +#: templates/js/translated/table_filters.js:722 +#, fuzzy +#| msgid "Show related parts" +msgid "Show locked parts" +msgstr "Visa relaterade delar" + +#: templates/js/translated/table_filters.js:730 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:733 -#: templates/js/translated/table_filters.js:833 +#: templates/js/translated/table_filters.js:738 +#: templates/js/translated/table_filters.js:838 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:734 +#: templates/js/translated/table_filters.js:739 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:738 +#: templates/js/translated/table_filters.js:743 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:739 +#: templates/js/translated/table_filters.js:744 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:743 +#: templates/js/translated/table_filters.js:748 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:751 +#: templates/js/translated/table_filters.js:756 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:763 +#: templates/js/translated/table_filters.js:768 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:829 +#: templates/js/translated/table_filters.js:834 msgid "Has Choices" msgstr "" @@ -14207,10 +14566,6 @@ msgstr "" msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:558 -msgid "Columns" -msgstr "Kolumner" - #: templates/js/translated/tables.js:561 msgid "All" msgstr "Alla" @@ -14484,35 +14839,34 @@ msgstr "" msgid "Revoked" msgstr "" -#: users/models.py:375 +#: users/models.py:379 msgid "Permission set" msgstr "" -#: users/models.py:384 +#: users/models.py:388 msgid "Group" msgstr "" -#: users/models.py:388 +#: users/models.py:392 msgid "View" msgstr "" -#: users/models.py:388 +#: users/models.py:392 msgid "Permission to view items" msgstr "" -#: users/models.py:392 +#: users/models.py:396 msgid "Permission to add items" msgstr "" -#: users/models.py:396 +#: users/models.py:400 msgid "Change" msgstr "" -#: users/models.py:398 +#: users/models.py:402 msgid "Permissions to edit items" msgstr "" -#: users/models.py:404 +#: users/models.py:408 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 0c47b8800918..c4d7ed65aa39 100644 --- a/src/backend/InvenTree/locale/th/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/th/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-07-05 02:47+0000\n" +"POT-Creation-Date: 2024-07-08 14:46+0000\n" "PO-Revision-Date: 2024-07-05 14:58\n" "Last-Translator: \n" "Language-Team: Thai\n" @@ -21,7 +21,7 @@ msgstr "" msgid "API endpoint not found" msgstr "ไม่พบ API endpoint" -#: InvenTree/api.py:520 +#: InvenTree/api.py:505 msgid "User does not have permission to view this model" msgstr "" @@ -56,21 +56,21 @@ msgstr "" msgid "Enter date" msgstr "ป้อนวันที่" -#: InvenTree/fields.py:205 InvenTree/models.py:918 build/serializers.py:452 -#: build/serializers.py:530 build/templates/build/sidebar.html:21 -#: company/models.py:817 company/templates/company/sidebar.html:37 +#: InvenTree/fields.py:205 InvenTree/models.py:921 build/serializers.py:456 +#: build/serializers.py:534 build/templates/build/sidebar.html:21 +#: company/models.py:824 company/templates/company/sidebar.html:37 #: order/models.py:1296 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:3183 part/templates/part/part_sidebar.html:63 +#: part/models.py:3193 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:230 stock/models.py:2344 stock/models.py:2466 -#: stock/serializers.py:632 stock/serializers.py:790 stock/serializers.py:886 -#: stock/serializers.py:936 stock/serializers.py:1239 stock/serializers.py:1328 -#: stock/serializers.py:1493 stock/templates/stock/stock_sidebar.html:25 +#: stock/admin.py:230 stock/models.py:2349 stock/models.py:2476 +#: stock/serializers.py:690 stock/serializers.py:848 stock/serializers.py:944 +#: stock/serializers.py:994 stock/serializers.py:1305 stock/serializers.py:1394 +#: stock/serializers.py:1559 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:1081 +#: templates/js/translated/part.js:1084 #: templates/js/translated/purchase_order.js:2200 #: templates/js/translated/return_order.js:775 #: templates/js/translated/sales_order.js:1103 @@ -371,41 +371,41 @@ msgstr "ข้อมูลเมตาของปลั๊กอิน" msgid "JSON metadata field, for use by external plugins" msgstr "" -#: InvenTree/models.py:408 +#: InvenTree/models.py:411 msgid "Improperly formatted pattern" msgstr "" -#: InvenTree/models.py:415 +#: InvenTree/models.py:418 msgid "Unknown format key specified" msgstr "" -#: InvenTree/models.py:421 +#: InvenTree/models.py:424 msgid "Missing required format key" msgstr "" -#: InvenTree/models.py:432 +#: InvenTree/models.py:435 msgid "Reference field cannot be empty" msgstr "" -#: InvenTree/models.py:440 +#: InvenTree/models.py:443 msgid "Reference must match required pattern" msgstr "" -#: InvenTree/models.py:471 +#: InvenTree/models.py:474 msgid "Reference number is too large" msgstr "" -#: InvenTree/models.py:719 +#: InvenTree/models.py:722 msgid "Duplicate names cannot exist under the same parent" msgstr "" -#: InvenTree/models.py:736 +#: InvenTree/models.py:739 msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:766 common/models.py:2678 common/models.py:3103 -#: common/serializers.py:408 company/models.py:580 machine/models.py:24 -#: part/models.py:891 part/models.py:3639 plugin/models.py:51 +#: InvenTree/models.py:769 common/models.py:2659 common/models.py:3089 +#: common/serializers.py:412 company/models.py:587 machine/models.py:24 +#: part/models.py:895 part/models.py:3660 plugin/models.py:51 #: report/models.py:150 stock/models.py:74 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -417,20 +417,20 @@ msgstr "" #: templates/js/translated/company.js:724 #: templates/js/translated/company.js:913 #: templates/js/translated/company.js:1165 -#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1187 -#: templates/js/translated/part.js:1475 templates/js/translated/part.js:1611 -#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2716 +#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1190 +#: templates/js/translated/part.js:1478 templates/js/translated/part.js:1614 +#: templates/js/translated/part.js:2752 templates/js/translated/stock.js:2716 msgid "Name" msgstr "ชื่อ" -#: InvenTree/models.py:772 build/models.py:235 -#: build/templates/build/detail.html:24 common/models.py:138 -#: company/models.py:509 company/models.py:808 +#: InvenTree/models.py:775 build/models.py:242 +#: build/templates/build/detail.html:24 common/models.py:143 +#: company/models.py:515 company/models.py:815 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 -#: order/models.py:1329 part/admin.py:305 part/admin.py:408 part/models.py:914 -#: part/models.py:3654 part/templates/part/category.html:82 +#: order/models.py:1329 part/admin.py:305 part/admin.py:408 part/models.py:918 +#: part/models.py:3675 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:156 #: report/models.py:510 report/models.py:536 @@ -444,10 +444,10 @@ msgstr "ชื่อ" #: templates/js/translated/build.js:2139 templates/js/translated/company.js:519 #: templates/js/translated/company.js:1330 #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 -#: templates/js/translated/order.js:298 templates/js/translated/part.js:1239 -#: templates/js/translated/part.js:1484 templates/js/translated/part.js:1622 -#: templates/js/translated/part.js:1959 templates/js/translated/part.js:2355 -#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2897 +#: templates/js/translated/order.js:298 templates/js/translated/part.js:1242 +#: templates/js/translated/part.js:1487 templates/js/translated/part.js:1625 +#: templates/js/translated/part.js:1962 templates/js/translated/part.js:2358 +#: templates/js/translated/part.js:2788 templates/js/translated/part.js:2900 #: templates/js/translated/plugin.js:80 #: templates/js/translated/purchase_order.js:1706 #: templates/js/translated/purchase_order.js:1849 @@ -460,53 +460,53 @@ msgstr "ชื่อ" msgid "Description" msgstr "คำอธิบาย" -#: InvenTree/models.py:773 stock/models.py:81 +#: InvenTree/models.py:776 stock/models.py:81 msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:788 templates/js/translated/part.js:2794 +#: InvenTree/models.py:791 templates/js/translated/part.js:2797 #: templates/js/translated/stock.js:2757 msgid "Path" msgstr "" -#: InvenTree/models.py:918 +#: InvenTree/models.py:921 msgid "Markdown notes (optional)" msgstr "" -#: InvenTree/models.py:947 +#: InvenTree/models.py:950 msgid "Barcode Data" msgstr "ข้อมูลบาร์โค้ด" -#: InvenTree/models.py:948 +#: InvenTree/models.py:951 msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:954 +#: InvenTree/models.py:957 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:955 +#: InvenTree/models.py:958 msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:1008 +#: InvenTree/models.py:1011 msgid "Existing barcode found" msgstr "บาร์โค้ดนี้มีในระบบแล้ว" -#: InvenTree/models.py:1051 +#: InvenTree/models.py:1054 msgid "Server Error" msgstr "เกิดข้อผิดพลาดที่เซิร์ฟเวอร์" -#: InvenTree/models.py:1052 +#: InvenTree/models.py:1055 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:63 part/models.py:4192 +#: InvenTree/serializers.py:63 part/models.py:4277 msgid "Must be a valid number" msgstr "ต้องเป็นตัวเลข" #: InvenTree/serializers.py:100 company/models.py:186 -#: company/templates/company/company_base.html:112 part/models.py:3001 +#: company/templates/company/company_base.html:112 part/models.py:3011 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -556,16 +556,16 @@ msgstr "" msgid "Is this user a superuser" msgstr "" -#: InvenTree/serializers.py:445 common/models.py:2683 company/models.py:163 -#: company/models.py:782 machine/models.py:39 part/admin.py:88 -#: part/models.py:1081 plugin/models.py:66 +#: InvenTree/serializers.py:445 common/models.py:2664 company/models.py:163 +#: company/models.py:789 machine/models.py:39 part/admin.py:88 +#: part/models.py:1085 plugin/models.py:66 #: 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 #: templates/js/translated/table_filters.js:520 #: templates/js/translated/table_filters.js:716 -#: templates/js/translated/table_filters.js:796 users/models.py:182 +#: templates/js/translated/table_filters.js:801 users/models.py:182 msgid "Active" msgstr "" @@ -597,7 +597,7 @@ msgstr "ยินดีต้อนรับเข้าสู่ Inventree" msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:581 +#: InvenTree/serializers.py:581 importer/models.py:60 msgid "Data File" msgstr "ไฟล์ข้อมูล" @@ -651,7 +651,7 @@ msgstr "" msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/status.py:66 part/serializers.py:1174 +#: InvenTree/status.py:66 part/serializers.py:1202 msgid "Background worker check failed" msgstr "" @@ -711,47 +711,48 @@ msgstr "ข้อมูลระบบ" msgid "About InvenTree" msgstr "เกี่ยวกับ Inventree" -#: build/api.py:255 +#: build/api.py:248 msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:299 part/models.py:4070 templates/js/translated/bom.js:997 -#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 +#: build/api.py:292 build/serializers.py:1190 part/models.py:4155 +#: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 +#: templates/js/translated/build.js:2521 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:300 part/models.py:4064 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 +#: build/api.py:293 build/serializers.py:1191 part/models.py:4149 +#: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 +#: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2530 #: templates/js/translated/table_filters.js:186 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:587 msgid "Optional" msgstr "" -#: build/api.py:301 templates/js/translated/table_filters.js:408 +#: build/api.py:294 templates/js/translated/table_filters.js:408 #: templates/js/translated/table_filters.js:579 msgid "Tracked" msgstr "" -#: build/api.py:303 part/admin.py:144 templates/js/translated/build.js:1744 -#: templates/js/translated/build.js:2629 +#: build/api.py:296 part/admin.py:144 templates/js/translated/build.js:1744 +#: templates/js/translated/build.js:2630 #: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:571 msgid "Allocated" msgstr "" -#: build/api.py:311 company/models.py:872 company/serializers.py:359 +#: build/api.py:304 company/models.py:879 company/serializers.py:386 #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2561 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2562 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:234 -#: templates/js/translated/part.js:693 templates/js/translated/part.js:695 -#: templates/js/translated/part.js:700 +#: 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 #: templates/js/translated/table_filters.js:575 msgid "Available" @@ -760,7 +761,7 @@ msgstr "" #: build/models.py:85 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 -#: stock/serializers.py:82 templates/email/build_order_completed.html:16 +#: stock/serializers.py:84 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:2892 msgid "Build Order" @@ -781,35 +782,39 @@ msgstr "" msgid "Assembly BOM has not been validated" msgstr "" -#: build/models.py:134 part/templates/part/part_base.html:145 -msgid "Part is not active" +#: build/models.py:134 +msgid "Build order cannot be created for an inactive part" +msgstr "" + +#: build/models.py:141 +msgid "Build order cannot be created for an unlocked part" msgstr "" -#: build/models.py:148 +#: build/models.py:155 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:159 order/models.py:240 +#: build/models.py:166 order/models.py:240 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:165 +#: build/models.py:172 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:226 +#: build/models.py:233 msgid "Build Order Reference" msgstr "" -#: build/models.py:227 order/models.py:463 order/models.py:926 -#: order/models.py:1289 order/models.py:2020 part/admin.py:411 -#: part/models.py:4085 part/templates/part/upload_bom.html:54 +#: build/models.py:234 build/serializers.py:1189 order/models.py:463 +#: order/models.py:926 order/models.py:1289 order/models.py:2046 +#: part/admin.py:411 part/models.py:4170 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: 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/build.js:2513 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2065 #: templates/js/translated/return_order.js:728 @@ -817,27 +822,28 @@ msgstr "" msgid "Reference" msgstr "" -#: build/models.py:238 +#: build/models.py:245 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:246 build/templates/build/build_base.html:183 +#: build/models.py:253 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/models.py:247 +#: build/models.py:254 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:252 build/templates/build/build_base.html:97 -#: build/templates/build/detail.html:29 company/models.py:1026 order/api.py:805 -#: order/models.py:1414 order/models.py:1559 order/models.py:1560 -#: part/api.py:1494 part/api.py:1788 part/models.py:395 part/models.py:3012 -#: part/models.py:3156 part/models.py:3303 part/models.py:3324 -#: part/models.py:3346 part/models.py:3477 part/models.py:3787 -#: part/models.py:3943 part/models.py:4036 part/models.py:4395 -#: part/serializers.py:1120 part/serializers.py:1726 +#: build/models.py:259 build/serializers.py:1184 +#: build/templates/build/build_base.html:97 +#: build/templates/build/detail.html:29 company/models.py:1034 order/api.py:759 +#: order/models.py:1419 order/models.py:1574 order/models.py:1575 +#: part/api.py:1480 part/api.py:1776 part/models.py:396 part/models.py:3022 +#: part/models.py:3166 part/models.py:3314 part/models.py:3335 +#: part/models.py:3357 part/models.py:3493 part/models.py:3827 +#: part/models.py:3990 part/models.py:4121 part/models.py:4480 +#: part/serializers.py:1148 part/serializers.py:1758 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -848,8 +854,8 @@ msgstr "" #: 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:109 stock/serializers.py:157 stock/serializers.py:423 -#: stock/serializers.py:820 templates/InvenTree/search.html:82 +#: stock/serializers.py:111 stock/serializers.py:159 stock/serializers.py:443 +#: stock/serializers.py:878 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 @@ -862,8 +868,8 @@ msgstr "" #: templates/js/translated/company.js:1116 #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 -#: templates/js/translated/part.js:1944 templates/js/translated/part.js:2016 -#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:1947 templates/js/translated/part.js:2019 +#: templates/js/translated/part.js:2327 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:1848 @@ -881,107 +887,107 @@ msgstr "" msgid "Part" msgstr "" -#: build/models.py:260 +#: build/models.py:267 msgid "Select part to build" msgstr "" -#: build/models.py:265 +#: build/models.py:272 msgid "Sales Order Reference" msgstr "" -#: build/models.py:269 +#: build/models.py:276 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:274 build/serializers.py:999 +#: build/models.py:281 build/serializers.py:1003 #: templates/js/translated/build.js:1731 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "" -#: build/models.py:278 +#: build/models.py:285 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:283 +#: build/models.py:290 msgid "Destination Location" msgstr "" -#: build/models.py:287 +#: build/models.py:294 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:291 +#: build/models.py:298 msgid "Build Quantity" msgstr "" -#: build/models.py:294 +#: build/models.py:301 msgid "Number of stock items to build" msgstr "" -#: build/models.py:298 +#: build/models.py:305 msgid "Completed items" msgstr "" -#: build/models.py:300 +#: build/models.py:307 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:304 +#: build/models.py:311 msgid "Build Status" msgstr "" -#: build/models.py:308 +#: build/models.py:315 msgid "Build status code" msgstr "" -#: build/models.py:317 build/serializers.py:286 order/serializers.py:580 -#: stock/models.py:839 stock/serializers.py:74 stock/serializers.py:1458 +#: build/models.py:324 build/serializers.py:290 order/serializers.py:629 +#: stock/models.py:839 stock/serializers.py:76 stock/serializers.py:1524 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "" -#: build/models.py:321 build/serializers.py:287 +#: build/models.py:328 build/serializers.py:291 msgid "Batch code for this build output" msgstr "" -#: build/models.py:324 order/models.py:316 order/serializers.py:119 -#: part/models.py:1115 part/templates/part/part_base.html:310 +#: build/models.py:331 order/models.py:316 order/serializers.py:127 +#: part/models.py:1125 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:328 +#: build/models.py:335 msgid "Target completion date" msgstr "" -#: build/models.py:329 +#: build/models.py:336 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:332 order/models.py:521 order/models.py:2065 +#: build/models.py:339 order/models.py:521 order/models.py:2091 #: templates/js/translated/build.js:2247 msgid "Completion Date" msgstr "" -#: build/models.py:338 +#: build/models.py:345 msgid "completed by" msgstr "" -#: build/models.py:346 templates/js/translated/build.js:2207 +#: build/models.py:353 templates/js/translated/build.js:2207 msgid "Issued by" msgstr "ออกโดย" -#: build/models.py:347 +#: build/models.py:354 msgid "User who issued this build order" msgstr "" -#: build/models.py:355 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 common/models.py:147 +#: build/models.py:362 build/templates/build/build_base.html:204 +#: build/templates/build/detail.html:122 common/models.py:152 #: order/models.py:334 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:232 part/models.py:1132 +#: order/templates/order/sales_order_base.html:232 part/models.py:1142 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 @@ -992,11 +998,11 @@ msgstr "" msgid "Responsible" msgstr "" -#: build/models.py:356 +#: build/models.py:363 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:361 build/templates/build/detail.html:108 +#: build/models.py:368 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 @@ -1008,21 +1014,22 @@ msgstr "" msgid "External Link" msgstr "" -#: build/models.py:362 common/models.py:3244 part/models.py:956 +#: build/models.py:369 common/models.py:3230 part/models.py:960 #: stock/models.py:835 msgid "Link to external URL" msgstr "" -#: build/models.py:366 +#: build/models.py:373 msgid "Build Priority" msgstr "" -#: build/models.py:369 +#: build/models.py:376 msgid "Priority of this build order" msgstr "" -#: build/models.py:376 common/models.py:131 order/admin.py:18 -#: order/models.py:298 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:383 common/models.py:122 common/models.py:136 +#: order/admin.py:18 order/models.py:298 order/serializers.py:108 +#: templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 #: templates/js/translated/purchase_order.js:1710 #: templates/js/translated/return_order.js:317 @@ -1032,65 +1039,66 @@ msgstr "" msgid "Project Code" msgstr "" -#: build/models.py:377 +#: build/models.py:384 msgid "Project code for this build order" msgstr "" -#: build/models.py:610 build/models.py:675 +#: build/models.py:617 build/models.py:682 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:632 +#: build/models.py:639 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:638 +#: build/models.py:645 msgid "A build order has been completed" msgstr "" -#: build/models.py:864 build/models.py:949 +#: build/models.py:871 build/models.py:956 msgid "No build output specified" msgstr "" -#: build/models.py:867 +#: build/models.py:874 msgid "Build output is already completed" msgstr "" -#: build/models.py:870 +#: build/models.py:877 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:953 build/serializers.py:219 build/serializers.py:268 -#: build/serializers.py:866 order/models.py:559 order/serializers.py:432 -#: order/serializers.py:575 part/serializers.py:1484 part/serializers.py:1884 -#: stock/models.py:678 stock/models.py:1496 stock/serializers.py:603 +#: build/models.py:960 build/serializers.py:223 build/serializers.py:272 +#: build/serializers.py:870 order/models.py:559 order/serializers.py:461 +#: order/serializers.py:624 part/serializers.py:1515 part/serializers.py:1921 +#: stock/models.py:678 stock/models.py:1496 stock/serializers.py:661 msgid "Quantity must be greater than zero" msgstr "จำนวนต้องมีค่ามากกว่า 0" -#: build/models.py:958 build/serializers.py:224 +#: build/models.py:965 build/serializers.py:228 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1018 build/serializers.py:547 +#: build/models.py:1025 build/serializers.py:551 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1359 +#: build/models.py:1366 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1384 +#: build/models.py:1391 msgid "Build object" msgstr "" -#: build/models.py:1398 build/models.py:1654 build/serializers.py:206 -#: build/serializers.py:253 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2563 -#: order/models.py:1272 order/models.py:1931 order/serializers.py:1327 +#: build/models.py:1405 build/models.py:1661 build/serializers.py:210 +#: build/serializers.py:257 build/serializers.py:1194 +#: build/templates/build/build_base.html:102 +#: build/templates/build/detail.html:34 common/models.py:2544 +#: order/models.py:1272 order/models.py:1957 order/serializers.py:1383 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:410 -#: part/forms.py:48 part/models.py:3170 part/models.py:4058 +#: part/forms.py:48 part/models.py:3180 part/models.py:4143 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1100,7 +1108,7 @@ msgstr "" #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:169 stock/admin.py:159 -#: stock/serializers.py:125 stock/serializers.py:165 stock/serializers.py:594 +#: stock/serializers.py:127 stock/serializers.py:167 stock/serializers.py:652 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 @@ -1111,8 +1119,8 @@ msgstr "" #: templates/js/translated/build.js:1746 templates/js/translated/build.js:2357 #: templates/js/translated/company.js:1818 #: templates/js/translated/model_renderers.js:236 -#: templates/js/translated/order.js:304 templates/js/translated/part.js:962 -#: templates/js/translated/part.js:1812 templates/js/translated/part.js:3342 +#: templates/js/translated/order.js:304 templates/js/translated/part.js:965 +#: templates/js/translated/part.js:1815 templates/js/translated/part.js:3345 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 @@ -1132,38 +1140,38 @@ msgstr "" msgid "Quantity" msgstr "" -#: build/models.py:1399 +#: build/models.py:1406 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1479 +#: build/models.py:1486 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1488 +#: build/models.py:1495 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1498 order/models.py:1882 +#: build/models.py:1505 order/models.py:1908 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1504 order/models.py:1885 +#: build/models.py:1511 order/models.py:1911 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1510 +#: build/models.py:1517 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1569 +#: build/models.py:1576 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1641 build/serializers.py:846 order/serializers.py:1171 -#: order/serializers.py:1192 stock/models.py:359 stock/serializers.py:91 -#: stock/serializers.py:697 stock/serializers.py:1177 stock/serializers.py:1289 +#: build/models.py:1648 build/serializers.py:850 order/serializers.py:1227 +#: order/serializers.py:1248 stock/models.py:359 stock/serializers.py:93 +#: stock/serializers.py:755 stock/serializers.py:1243 stock/serializers.py:1355 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 @@ -1179,70 +1187,76 @@ msgstr "" msgid "Stock Item" msgstr "" -#: build/models.py:1642 +#: build/models.py:1649 msgid "Source stock item" msgstr "" -#: build/models.py:1655 +#: build/models.py:1662 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1663 +#: build/models.py:1670 msgid "Install into" msgstr "" -#: build/models.py:1664 +#: build/models.py:1671 msgid "Destination stock item" msgstr "" -#: build/serializers.py:156 build/serializers.py:875 +#: build/serializers.py:89 build/serializers.py:1185 part/admin.py:41 +#: part/admin.py:405 part/models.py:3992 part/stocktake.py:220 +#: stock/admin.py:156 +msgid "Part Name" +msgstr "" + +#: build/serializers.py:160 build/serializers.py:879 #: templates/js/translated/build.js:1322 msgid "Build Output" msgstr "" -#: build/serializers.py:168 +#: build/serializers.py:172 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:172 +#: build/serializers.py:176 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:176 +#: build/serializers.py:180 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:187 +#: build/serializers.py:191 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:207 build/serializers.py:254 +#: build/serializers.py:211 build/serializers.py:258 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:275 +#: build/serializers.py:279 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:278 +#: build/serializers.py:282 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:293 order/serializers.py:588 order/serializers.py:1331 -#: stock/serializers.py:614 templates/js/translated/purchase_order.js:1153 +#: build/serializers.py:297 order/serializers.py:637 order/serializers.py:1387 +#: stock/serializers.py:672 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:294 +#: build/serializers.py:298 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:299 build/serializers.py:440 build/serializers.py:512 -#: order/serializers.py:564 order/serializers.py:672 order/serializers.py:1656 -#: part/serializers.py:1140 stock/serializers.py:100 stock/serializers.py:625 -#: stock/serializers.py:785 stock/serializers.py:881 stock/serializers.py:1321 -#: stock/serializers.py:1577 stock/templates/stock/item_base.html:394 +#: build/serializers.py:303 build/serializers.py:444 build/serializers.py:516 +#: order/serializers.py:613 order/serializers.py:721 order/serializers.py:1714 +#: part/serializers.py:1168 stock/serializers.py:102 stock/serializers.py:683 +#: stock/serializers.py:843 stock/serializers.py:939 stock/serializers.py:1387 +#: stock/serializers.py:1643 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 @@ -1258,54 +1272,54 @@ msgstr "" msgid "Location" msgstr "สถานที่" -#: build/serializers.py:300 +#: build/serializers.py:304 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:314 +#: build/serializers.py:318 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:315 +#: build/serializers.py:319 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:330 +#: build/serializers.py:334 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:355 stock/api.py:1041 +#: build/serializers.py:359 stock/api.py:1033 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:402 build/serializers.py:464 build/serializers.py:553 +#: build/serializers.py:406 build/serializers.py:468 build/serializers.py:557 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:441 +#: build/serializers.py:445 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:447 +#: build/serializers.py:451 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:448 +#: build/serializers.py:452 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:453 +#: build/serializers.py:457 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:513 +#: build/serializers.py:517 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:519 build/templates/build/build_base.html:151 +#: build/serializers.py:523 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:950 -#: order/models.py:2044 order/serializers.py:596 stock/admin.py:164 -#: stock/serializers.py:932 stock/serializers.py:1465 +#: order/models.py:2070 order/serializers.py:645 stock/admin.py:164 +#: stock/serializers.py:990 stock/serializers.py:1531 #: 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 @@ -1317,193 +1331,241 @@ msgstr "" msgid "Status" msgstr "สถานะ" -#: build/serializers.py:525 +#: build/serializers.py:529 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:526 +#: build/serializers.py:530 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:611 +#: build/serializers.py:615 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:612 +#: build/serializers.py:616 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:618 +#: build/serializers.py:622 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:619 +#: build/serializers.py:623 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:646 +#: build/serializers.py:650 msgid "Not permitted" msgstr "" -#: build/serializers.py:647 +#: build/serializers.py:651 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:648 +#: build/serializers.py:652 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:678 +#: build/serializers.py:682 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:680 +#: build/serializers.py:684 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:690 +#: build/serializers.py:694 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:695 +#: build/serializers.py:699 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:696 +#: build/serializers.py:700 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:706 templates/js/translated/build.js:315 +#: build/serializers.py:710 templates/js/translated/build.js:315 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:711 order/serializers.py:300 order/serializers.py:1234 +#: build/serializers.py:715 order/serializers.py:319 order/serializers.py:1290 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:712 +#: build/serializers.py:716 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:722 templates/js/translated/build.js:319 +#: build/serializers.py:726 templates/js/translated/build.js:319 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:731 templates/js/translated/build.js:303 +#: build/serializers.py:735 templates/js/translated/build.js:303 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:769 +#: build/serializers.py:773 msgid "Build Line" msgstr "" -#: build/serializers.py:779 +#: build/serializers.py:783 msgid "Build output" msgstr "" -#: build/serializers.py:787 +#: build/serializers.py:791 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:823 +#: build/serializers.py:827 msgid "Build Line Item" msgstr "" -#: build/serializers.py:837 +#: build/serializers.py:841 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:852 stock/serializers.py:1190 +#: build/serializers.py:856 stock/serializers.py:1256 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:900 order/serializers.py:1225 +#: build/serializers.py:904 order/serializers.py:1281 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:906 +#: build/serializers.py:910 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:913 +#: build/serializers.py:917 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:937 order/serializers.py:1477 +#: build/serializers.py:941 order/serializers.py:1533 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:1000 +#: build/serializers.py:1004 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:1008 +#: build/serializers.py:1012 msgid "Exclude Location" msgstr "" -#: build/serializers.py:1009 +#: build/serializers.py:1013 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:1014 +#: build/serializers.py:1018 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:1015 +#: build/serializers.py:1019 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:1020 +#: build/serializers.py:1024 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:1021 +#: build/serializers.py:1025 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:1026 +#: build/serializers.py:1030 msgid "Optional Items" msgstr "" -#: build/serializers.py:1027 +#: build/serializers.py:1031 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1049 +#: build/serializers.py:1053 msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1139 part/models.py:3953 part/models.py:4387 -#: stock/api.py:804 +#: build/serializers.py:1095 +msgid "Supplier Part Number" +msgstr "" + +#: build/serializers.py:1096 company/models.py:500 +msgid "Manufacturer Part Number" +msgstr "" + +#: build/serializers.py:1097 stock/admin.py:53 stock/admin.py:175 +#: stock/serializers.py:454 +msgid "Location Name" +msgstr "" + +#: build/serializers.py:1098 +msgid "Build Reference" +msgstr "" + +#: build/serializers.py:1099 +msgid "BOM Reference" +msgstr "" + +#: build/serializers.py:1186 part/admin.py:402 part/models.py:3993 +msgid "Part IPN" +msgstr "" + +#: build/serializers.py:1192 common/models.py:1488 part/admin.py:113 +#: part/models.py:1068 templates/js/translated/table_filters.js:147 +#: templates/js/translated/table_filters.js:223 +#: templates/js/translated/table_filters.js:776 +msgid "Trackable" +msgstr "" + +#: build/serializers.py:1196 part/models.py:4000 part/models.py:4472 +#: stock/api.py:796 msgid "BOM Item" msgstr "" -#: build/serializers.py:1148 templates/js/translated/index.js:130 +#: build/serializers.py:1205 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1153 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:828 part/serializers.py:1502 +#: build/serializers.py:1210 part/admin.py:132 part/bom.py:173 +#: part/serializers.py:856 part/serializers.py:1533 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2613 templates/js/translated/part.js:710 -#: templates/js/translated/part.js:2149 +#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709 +#: templates/js/translated/part.js:2152 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "" -#: build/serializers.py:1158 part/serializers.py:1504 -#: templates/js/translated/build.js:2617 +#: build/serializers.py:1215 part/serializers.py:1535 +#: templates/js/translated/build.js:2618 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1163 part/bom.py:172 part/serializers.py:1527 +#: build/serializers.py:1220 part/bom.py:172 part/serializers.py:1558 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" msgstr "" +#: build/serializers.py:1224 +msgid "Available Substitute Stock" +msgstr "" + +#: build/serializers.py:1225 +msgid "Available Variant Stock" +msgstr "" + +#: build/serializers.py:1226 +msgid "Total Available Stock" +msgstr "" + +#: build/serializers.py:1227 part/serializers.py:862 +msgid "External Stock" +msgstr "" + #: build/status_codes.py:11 generic/states/tests.py:17 order/status_codes.py:12 #: order/status_codes.py:37 order/status_codes.py:64 order/status_codes.py:82 #: templates/js/translated/table_filters.js:598 @@ -1519,7 +1581,8 @@ msgstr "" msgid "Cancelled" msgstr "ยกเลิกแล้ว" -#: build/status_codes.py:14 generic/states/tests.py:19 order/status_codes.py:14 +#: build/status_codes.py:14 generic/states/tests.py:19 importer/models.py:468 +#: importer/status_codes.py:19 order/status_codes.py:14 #: order/status_codes.py:44 order/status_codes.py:69 #: order/templates/order/order_base.html:158 #: order/templates/order/sales_order_base.html:165 report/models.py:444 @@ -1652,11 +1715,12 @@ msgstr "" #: build/templates/build/build_base.html:160 #: build/templates/build/detail.html:138 order/models.py:309 -#: order/models.py:1307 order/templates/order/order_base.html:186 +#: order/models.py:1307 order/serializers.py:174 +#: order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: 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:1831 +#: templates/js/translated/build.js:2239 templates/js/translated/part.js:1834 #: templates/js/translated/purchase_order.js:1739 #: templates/js/translated/purchase_order.js:2147 #: templates/js/translated/return_order.js:346 @@ -1689,8 +1753,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1463 order/models.py:845 -#: order/models.py:1551 order/models.py:1665 order/models.py:1819 +#: build/templates/build/detail.html:101 order/api.py:1384 order/models.py:845 +#: order/models.py:1566 order/models.py:1681 order/models.py:1840 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 @@ -1740,7 +1804,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1443 +#: build/templates/build/detail.html:49 order/models.py:1448 #: templates/js/translated/purchase_order.js:2189 msgid "Destination" msgstr "" @@ -1892,31 +1956,31 @@ msgstr "" msgid "Incomplete Outputs" msgstr "" -#: common/api.py:689 +#: common/api.py:690 msgid "Is Link" msgstr "" -#: common/api.py:697 +#: common/api.py:698 msgid "Is File" msgstr "" -#: common/api.py:739 +#: common/api.py:740 msgid "User does not have permission to delete this attachment" msgstr "" -#: common/currency.py:130 +#: common/currency.py:132 msgid "Invalid currency code" msgstr "" -#: common/currency.py:132 +#: common/currency.py:134 msgid "Duplicate currency code" msgstr "" -#: common/currency.py:137 +#: common/currency.py:139 msgid "No valid currency codes provided" msgstr "" -#: common/currency.py:154 +#: common/currency.py:156 msgid "No plugin" msgstr "" @@ -1970,1635 +2034,1604 @@ msgstr "" msgid "Site URL is locked by configuration" msgstr "" -#: common/models.py:132 +#: common/models.py:137 msgid "Unique project code" msgstr "" -#: common/models.py:139 +#: common/models.py:144 msgid "Project description" msgstr "" -#: common/models.py:148 +#: common/models.py:153 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:765 +#: common/models.py:770 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:769 +#: common/models.py:774 msgid "Settings value" msgstr "" -#: common/models.py:821 +#: common/models.py:826 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:837 +#: common/models.py:842 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:845 +#: common/models.py:850 msgid "Value must be an integer value" msgstr "" -#: common/models.py:882 +#: common/models.py:887 msgid "Key string must be unique" msgstr "" -#: common/models.py:1114 +#: common/models.py:1119 msgid "No group" msgstr "" -#: common/models.py:1213 +#: common/models.py:1218 msgid "Restart required" msgstr "" -#: common/models.py:1215 +#: common/models.py:1220 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:1222 +#: common/models.py:1227 msgid "Pending migrations" msgstr "" -#: common/models.py:1223 +#: common/models.py:1228 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1228 +#: common/models.py:1233 msgid "Server Instance Name" msgstr "" -#: common/models.py:1230 +#: common/models.py:1235 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1234 +#: common/models.py:1239 msgid "Use instance name" msgstr "" -#: common/models.py:1235 +#: common/models.py:1240 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1240 +#: common/models.py:1245 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1241 +#: common/models.py:1246 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1246 company/models.py:111 company/models.py:112 +#: common/models.py:1251 company/models.py:111 company/models.py:112 msgid "Company name" msgstr "" -#: common/models.py:1247 +#: common/models.py:1252 msgid "Internal company name" msgstr "" -#: common/models.py:1251 +#: common/models.py:1256 msgid "Base URL" msgstr "" -#: common/models.py:1252 +#: common/models.py:1257 msgid "Base URL for server instance" msgstr "" -#: common/models.py:1258 +#: common/models.py:1263 msgid "Default Currency" msgstr "" -#: common/models.py:1259 +#: common/models.py:1264 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1265 +#: common/models.py:1270 msgid "Supported Currencies" msgstr "" -#: common/models.py:1266 +#: common/models.py:1271 msgid "List of supported currency codes" msgstr "" -#: common/models.py:1272 +#: common/models.py:1277 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1274 +#: common/models.py:1279 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1277 common/models.py:1333 common/models.py:1346 -#: common/models.py:1354 common/models.py:1363 common/models.py:1372 -#: common/models.py:1596 common/models.py:1618 common/models.py:1733 -#: common/models.py:2100 +#: common/models.py:1282 common/models.py:1338 common/models.py:1351 +#: common/models.py:1359 common/models.py:1368 common/models.py:1377 +#: common/models.py:1601 common/models.py:1623 common/models.py:1738 +#: common/models.py:2111 msgid "days" msgstr "" -#: common/models.py:1281 +#: common/models.py:1286 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1282 +#: common/models.py:1287 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1287 +#: common/models.py:1292 msgid "Download from URL" msgstr "" -#: common/models.py:1289 +#: common/models.py:1294 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:1295 +#: common/models.py:1300 msgid "Download Size Limit" msgstr "" -#: common/models.py:1296 +#: common/models.py:1301 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1302 +#: common/models.py:1307 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1304 +#: common/models.py:1309 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/models.py:1309 +#: common/models.py:1314 msgid "Strict URL Validation" msgstr "" -#: common/models.py:1310 +#: common/models.py:1315 msgid "Require schema specification when validating URLs" msgstr "" -#: common/models.py:1315 +#: common/models.py:1320 msgid "Require confirm" msgstr "" -#: common/models.py:1316 +#: common/models.py:1321 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:1321 +#: common/models.py:1326 msgid "Tree Depth" msgstr "" -#: common/models.py:1323 +#: common/models.py:1328 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1329 +#: common/models.py:1334 msgid "Update Check Interval" msgstr "" -#: common/models.py:1330 +#: common/models.py:1335 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:1336 +#: common/models.py:1341 msgid "Automatic Backup" msgstr "" -#: common/models.py:1337 +#: common/models.py:1342 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:1342 +#: common/models.py:1347 msgid "Auto Backup Interval" msgstr "" -#: common/models.py:1343 +#: common/models.py:1348 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1349 +#: common/models.py:1354 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1351 +#: common/models.py:1356 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1358 +#: common/models.py:1363 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1360 +#: common/models.py:1365 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1367 +#: common/models.py:1372 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1369 +#: common/models.py:1374 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1376 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1381 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "" -#: common/models.py:1377 +#: common/models.py:1382 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1382 +#: common/models.py:1387 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1383 +#: common/models.py:1388 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1389 +#: common/models.py:1394 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1390 +#: common/models.py:1395 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1395 +#: common/models.py:1400 msgid "Barcode Show Data" msgstr "" -#: common/models.py:1396 +#: common/models.py:1401 msgid "Display barcode data in browser as text" msgstr "" -#: common/models.py:1401 +#: common/models.py:1406 msgid "Part Revisions" msgstr "" -#: common/models.py:1402 +#: common/models.py:1407 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1407 +#: common/models.py:1412 msgid "Allow Deletion from Assembly" msgstr "" -#: common/models.py:1408 +#: common/models.py:1413 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/models.py:1413 +#: common/models.py:1418 msgid "IPN Regex" msgstr "" -#: common/models.py:1414 +#: common/models.py:1419 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1417 +#: common/models.py:1422 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1418 +#: common/models.py:1423 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1423 +#: common/models.py:1428 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1424 +#: common/models.py:1429 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1429 +#: common/models.py:1434 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1430 +#: common/models.py:1435 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1435 +#: common/models.py:1440 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1436 +#: common/models.py:1441 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1441 +#: common/models.py:1446 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1442 +#: common/models.py:1447 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1447 +#: common/models.py:1452 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1448 +#: common/models.py:1453 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1453 part/admin.py:108 part/models.py:3795 +#: common/models.py:1458 part/admin.py:108 part/models.py:3835 #: report/models.py:294 report/models.py:361 report/serializers.py:90 -#: report/serializers.py:131 stock/serializers.py:227 +#: report/serializers.py:131 stock/serializers.py:232 #: templates/js/translated/table_filters.js:139 -#: templates/js/translated/table_filters.js:767 +#: templates/js/translated/table_filters.js:772 msgid "Template" msgstr "" -#: common/models.py:1454 +#: common/models.py:1459 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1459 part/admin.py:91 part/admin.py:425 part/models.py:1052 +#: common/models.py:1464 part/admin.py:91 part/admin.py:425 part/models.py:1056 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 -#: templates/js/translated/table_filters.js:721 +#: templates/js/translated/table_filters.js:726 msgid "Assembly" msgstr "" -#: common/models.py:1460 +#: common/models.py:1465 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1465 part/admin.py:95 part/models.py:1058 -#: templates/js/translated/table_filters.js:729 +#: common/models.py:1470 part/admin.py:95 part/models.py:1062 +#: templates/js/translated/table_filters.js:734 msgid "Component" msgstr "" -#: common/models.py:1466 +#: common/models.py:1471 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1471 part/admin.py:100 part/models.py:1070 +#: common/models.py:1476 part/admin.py:100 part/models.py:1074 msgid "Purchaseable" msgstr "" -#: common/models.py:1472 +#: common/models.py:1477 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1477 part/admin.py:104 part/models.py:1076 -#: templates/js/translated/table_filters.js:755 +#: common/models.py:1482 part/admin.py:104 part/models.py:1080 +#: templates/js/translated/table_filters.js:760 msgid "Salable" msgstr "" -#: common/models.py:1478 +#: common/models.py:1483 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1483 part/admin.py:113 part/models.py:1064 -#: 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:1484 +#: common/models.py:1489 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1489 part/admin.py:117 part/models.py:1086 +#: common/models.py:1494 part/admin.py:117 part/models.py:1096 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 -#: templates/js/translated/table_filters.js:775 +#: templates/js/translated/table_filters.js:780 msgid "Virtual" msgstr "" -#: common/models.py:1490 +#: common/models.py:1495 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1495 +#: common/models.py:1500 msgid "Show Import in Views" msgstr "" -#: common/models.py:1496 +#: common/models.py:1501 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1501 +#: common/models.py:1506 msgid "Show related parts" msgstr "" -#: common/models.py:1502 +#: common/models.py:1507 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1507 +#: common/models.py:1512 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1508 +#: common/models.py:1513 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1513 templates/js/translated/part.js:107 +#: common/models.py:1518 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1515 +#: common/models.py:1520 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1521 +#: common/models.py:1526 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1522 +#: common/models.py:1527 msgid "Format to display the part name" msgstr "" -#: common/models.py:1528 +#: common/models.py:1533 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1529 +#: common/models.py:1534 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1533 +#: common/models.py:1538 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1535 +#: common/models.py:1540 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1541 +#: common/models.py:1546 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1543 +#: common/models.py:1548 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1554 +#: common/models.py:1559 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1556 +#: common/models.py:1561 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1567 +#: common/models.py:1572 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1569 +#: common/models.py:1574 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1575 +#: common/models.py:1580 msgid "Purchase History Override" msgstr "" -#: common/models.py:1577 +#: common/models.py:1582 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1583 +#: common/models.py:1588 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1585 +#: common/models.py:1590 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1591 +#: common/models.py:1596 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1593 +#: common/models.py:1598 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1600 +#: common/models.py:1605 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1601 +#: common/models.py:1606 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1606 +#: common/models.py:1611 msgid "Active Variants Only" msgstr "" -#: common/models.py:1608 +#: common/models.py:1613 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1614 +#: common/models.py:1619 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1616 +#: common/models.py:1621 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1623 +#: common/models.py:1628 msgid "Internal Prices" msgstr "" -#: common/models.py:1624 +#: common/models.py:1629 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1629 +#: common/models.py:1634 msgid "Internal Price Override" msgstr "" -#: common/models.py:1631 +#: common/models.py:1636 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1637 +#: common/models.py:1642 msgid "Enable label printing" msgstr "" -#: common/models.py:1638 +#: common/models.py:1643 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1643 +#: common/models.py:1648 msgid "Label Image DPI" msgstr "" -#: common/models.py:1645 +#: common/models.py:1650 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1651 +#: common/models.py:1656 msgid "Enable Reports" msgstr "" -#: common/models.py:1652 +#: common/models.py:1657 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1657 templates/stats.html:25 +#: common/models.py:1662 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1658 +#: common/models.py:1663 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1663 +#: common/models.py:1668 msgid "Log Report Errors" msgstr "" -#: common/models.py:1664 +#: common/models.py:1669 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1669 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1674 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:302 msgid "Page Size" msgstr "" -#: common/models.py:1670 +#: common/models.py:1675 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1675 +#: common/models.py:1680 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1676 +#: common/models.py:1681 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1681 +#: common/models.py:1686 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1683 +#: common/models.py:1688 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1689 +#: common/models.py:1694 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1690 +#: common/models.py:1695 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1695 +#: common/models.py:1700 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1696 +#: common/models.py:1701 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1701 +#: common/models.py:1706 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1703 +#: common/models.py:1708 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1709 +#: common/models.py:1714 msgid "Batch Code Template" msgstr "" -#: common/models.py:1711 +#: common/models.py:1716 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1716 +#: common/models.py:1721 msgid "Stock Expiry" msgstr "" -#: common/models.py:1717 +#: common/models.py:1722 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1722 +#: common/models.py:1727 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1723 +#: common/models.py:1728 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1728 +#: common/models.py:1733 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1730 +#: common/models.py:1735 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1737 +#: common/models.py:1742 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1738 +#: common/models.py:1743 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1743 +#: common/models.py:1748 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1744 +#: common/models.py:1749 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1749 +#: common/models.py:1754 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1750 +#: common/models.py:1755 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1754 +#: common/models.py:1759 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1755 +#: common/models.py:1760 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1760 +#: common/models.py:1765 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1762 +#: common/models.py:1767 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1768 +#: common/models.py:1773 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1770 +#: common/models.py:1775 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1776 +#: common/models.py:1781 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1778 +#: common/models.py:1783 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1784 common/models.py:1826 common/models.py:1848 -#: common/models.py:1884 +#: common/models.py:1789 common/models.py:1837 common/models.py:1859 +#: common/models.py:1895 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1785 common/models.py:1827 common/models.py:1849 -#: common/models.py:1885 +#: common/models.py:1790 common/models.py:1838 common/models.py:1860 +#: common/models.py:1896 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1790 +#: common/models.py:1795 msgid "Require Active Part" msgstr "" -#: common/models.py:1791 +#: common/models.py:1796 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/models.py:1796 +#: common/models.py:1801 +msgid "Require Locked Part" +msgstr "" + +#: common/models.py:1802 +msgid "Prevent build order creation for unlocked parts" +msgstr "" + +#: common/models.py:1807 msgid "Require Valid BOM" msgstr "" -#: common/models.py:1798 +#: common/models.py:1809 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/models.py:1804 +#: common/models.py:1815 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1806 +#: common/models.py:1817 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1812 +#: common/models.py:1823 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1813 +#: common/models.py:1824 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1818 +#: common/models.py:1829 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1820 +#: common/models.py:1831 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1832 +#: common/models.py:1843 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1834 +#: common/models.py:1845 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1840 +#: common/models.py:1851 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1842 +#: common/models.py:1853 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1854 +#: common/models.py:1865 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1855 +#: common/models.py:1866 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1860 +#: common/models.py:1871 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1862 +#: common/models.py:1873 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1868 +#: common/models.py:1879 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1870 +#: common/models.py:1881 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1876 +#: common/models.py:1887 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1878 +#: common/models.py:1889 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1890 +#: common/models.py:1901 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1892 +#: common/models.py:1903 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1898 +#: common/models.py:1909 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1900 +#: common/models.py:1911 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1907 +#: common/models.py:1918 msgid "Enable password forgot" msgstr "" -#: common/models.py:1908 +#: common/models.py:1919 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1913 +#: common/models.py:1924 msgid "Enable registration" msgstr "" -#: common/models.py:1914 +#: common/models.py:1925 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1919 +#: common/models.py:1930 msgid "Enable SSO" msgstr "" -#: common/models.py:1920 +#: common/models.py:1931 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1925 +#: common/models.py:1936 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1927 +#: common/models.py:1938 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1933 +#: common/models.py:1944 msgid "Enable SSO group sync" msgstr "" -#: common/models.py:1935 +#: common/models.py:1946 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/models.py:1941 +#: common/models.py:1952 msgid "SSO group key" msgstr "" -#: common/models.py:1943 +#: common/models.py:1954 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/models.py:1949 +#: common/models.py:1960 msgid "SSO group map" msgstr "" -#: common/models.py:1951 +#: common/models.py:1962 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/models.py:1957 +#: common/models.py:1968 msgid "Remove groups outside of SSO" msgstr "" -#: common/models.py:1959 +#: common/models.py:1970 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/models.py:1965 +#: common/models.py:1976 msgid "Email required" msgstr "" -#: common/models.py:1966 +#: common/models.py:1977 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1971 +#: common/models.py:1982 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1973 +#: common/models.py:1984 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1979 +#: common/models.py:1990 msgid "Mail twice" msgstr "" -#: common/models.py:1980 +#: common/models.py:1991 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1985 +#: common/models.py:1996 msgid "Password twice" msgstr "" -#: common/models.py:1986 +#: common/models.py:1997 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1991 +#: common/models.py:2002 msgid "Allowed domains" msgstr "" -#: common/models.py:1993 +#: common/models.py:2004 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1999 +#: common/models.py:2010 msgid "Group on signup" msgstr "" -#: common/models.py:2001 +#: common/models.py:2012 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/models.py:2007 +#: common/models.py:2018 msgid "Enforce MFA" msgstr "" -#: common/models.py:2008 +#: common/models.py:2019 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:2013 +#: common/models.py:2024 msgid "Check plugins on startup" msgstr "" -#: common/models.py:2015 +#: common/models.py:2026 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:2023 +#: common/models.py:2034 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2024 +#: common/models.py:2035 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2030 +#: common/models.py:2041 msgid "Enable URL integration" msgstr "" -#: common/models.py:2031 +#: common/models.py:2042 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:2037 +#: common/models.py:2048 msgid "Enable navigation integration" msgstr "" -#: common/models.py:2038 +#: common/models.py:2049 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2044 +#: common/models.py:2055 msgid "Enable app integration" msgstr "" -#: common/models.py:2045 +#: common/models.py:2056 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2051 +#: common/models.py:2062 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2052 +#: common/models.py:2063 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2058 +#: common/models.py:2069 msgid "Enable event integration" msgstr "" -#: common/models.py:2059 +#: common/models.py:2070 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2065 +#: common/models.py:2076 msgid "Enable project codes" msgstr "" -#: common/models.py:2066 +#: common/models.py:2077 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2071 +#: common/models.py:2082 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2073 +#: common/models.py:2084 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2079 +#: common/models.py:2090 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2081 +#: common/models.py:2092 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2087 +#: common/models.py:2098 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2089 +#: common/models.py:2100 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2095 +#: common/models.py:2106 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2097 +#: common/models.py:2108 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2104 +#: common/models.py:2115 msgid "Display Users full names" msgstr "" -#: common/models.py:2105 +#: common/models.py:2116 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2110 +#: common/models.py:2121 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2111 +#: common/models.py:2122 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2123 common/models.py:2533 +#: common/models.py:2134 common/models.py:2514 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2166 +#: common/models.py:2177 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2168 +#: common/models.py:2179 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2174 +#: common/models.py:2185 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2175 +#: common/models.py:2186 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2180 +#: common/models.py:2191 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2181 +#: common/models.py:2192 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2186 +#: common/models.py:2197 msgid "Show latest parts" msgstr "" -#: common/models.py:2187 +#: common/models.py:2198 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2192 +#: common/models.py:2203 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2193 +#: common/models.py:2204 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2198 +#: common/models.py:2209 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2199 +#: common/models.py:2210 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2204 +#: common/models.py:2215 msgid "Show low stock" msgstr "" -#: common/models.py:2205 +#: common/models.py:2216 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2210 +#: common/models.py:2221 msgid "Show depleted stock" msgstr "" -#: common/models.py:2211 +#: common/models.py:2222 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2216 +#: common/models.py:2227 msgid "Show needed stock" msgstr "" -#: common/models.py:2217 +#: common/models.py:2228 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2222 +#: common/models.py:2233 msgid "Show expired stock" msgstr "" -#: common/models.py:2223 +#: common/models.py:2234 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2228 +#: common/models.py:2239 msgid "Show stale stock" msgstr "" -#: common/models.py:2229 +#: common/models.py:2240 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2234 +#: common/models.py:2245 msgid "Show pending builds" msgstr "" -#: common/models.py:2235 +#: common/models.py:2246 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2240 +#: common/models.py:2251 msgid "Show overdue builds" msgstr "" -#: common/models.py:2241 +#: common/models.py:2252 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2246 +#: common/models.py:2257 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2247 +#: common/models.py:2258 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2252 +#: common/models.py:2263 msgid "Show overdue POs" msgstr "" -#: common/models.py:2253 +#: common/models.py:2264 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2258 +#: common/models.py:2269 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2259 +#: common/models.py:2270 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2264 +#: common/models.py:2275 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2265 +#: common/models.py:2276 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2270 +#: common/models.py:2281 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2271 +#: common/models.py:2282 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2276 +#: common/models.py:2287 msgid "Show News" msgstr "" -#: common/models.py:2277 +#: common/models.py:2288 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2282 +#: common/models.py:2293 msgid "Inline label display" msgstr "" -#: common/models.py:2284 +#: common/models.py:2295 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2290 +#: common/models.py:2301 msgid "Default label printer" msgstr "" -#: common/models.py:2292 +#: common/models.py:2303 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2298 +#: common/models.py:2309 msgid "Inline report display" msgstr "" -#: common/models.py:2300 +#: common/models.py:2311 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2306 +#: common/models.py:2317 msgid "Search Parts" msgstr "" -#: common/models.py:2307 +#: common/models.py:2318 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2312 +#: common/models.py:2323 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2313 +#: common/models.py:2324 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2318 +#: common/models.py:2329 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2319 +#: common/models.py:2330 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2324 +#: common/models.py:2335 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2325 +#: common/models.py:2336 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2330 +#: common/models.py:2341 msgid "Search Categories" msgstr "" -#: common/models.py:2331 +#: common/models.py:2342 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2336 +#: common/models.py:2347 msgid "Search Stock" msgstr "" -#: common/models.py:2337 +#: common/models.py:2348 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2342 +#: common/models.py:2353 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2344 +#: common/models.py:2355 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2350 +#: common/models.py:2361 msgid "Search Locations" msgstr "" -#: common/models.py:2351 +#: common/models.py:2362 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2356 +#: common/models.py:2367 msgid "Search Companies" msgstr "" -#: common/models.py:2357 +#: common/models.py:2368 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2362 +#: common/models.py:2373 msgid "Search Build Orders" msgstr "" -#: common/models.py:2363 +#: common/models.py:2374 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2368 +#: common/models.py:2379 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2369 +#: common/models.py:2380 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2374 +#: common/models.py:2385 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2376 +#: common/models.py:2387 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2382 +#: common/models.py:2393 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2383 +#: common/models.py:2394 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2388 +#: common/models.py:2399 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2390 +#: common/models.py:2401 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2396 +#: common/models.py:2407 msgid "Search Return Orders" msgstr "" -#: common/models.py:2397 +#: common/models.py:2408 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2402 +#: common/models.py:2413 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2404 +#: common/models.py:2415 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2410 +#: common/models.py:2421 msgid "Search Preview Results" msgstr "" -#: common/models.py:2412 +#: common/models.py:2423 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2418 +#: common/models.py:2429 msgid "Regex Search" msgstr "" -#: common/models.py:2419 +#: common/models.py:2430 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2424 +#: common/models.py:2435 msgid "Whole Word Search" msgstr "" -#: common/models.py:2425 +#: common/models.py:2436 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2430 +#: common/models.py:2441 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2431 +#: common/models.py:2442 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2436 +#: common/models.py:2447 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2437 +#: common/models.py:2448 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2442 +#: common/models.py:2453 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2443 +#: common/models.py:2454 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2448 +#: common/models.py:2459 msgid "Date Format" msgstr "" -#: common/models.py:2449 +#: common/models.py:2460 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2462 part/templates/part/detail.html:41 +#: common/models.py:2473 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2463 +#: common/models.py:2474 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2468 part/templates/part/detail.html:62 +#: common/models.py:2479 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2470 +#: common/models.py:2481 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2476 +#: common/models.py:2487 msgid "Table String Length" msgstr "" -#: common/models.py:2478 +#: common/models.py:2489 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2484 -msgid "Default part label template" -msgstr "" - -#: common/models.py:2485 -msgid "The part label template to be automatically selected" -msgstr "" - -#: common/models.py:2490 -msgid "Default stock item template" -msgstr "" - -#: common/models.py:2492 -msgid "The stock item label template to be automatically selected" -msgstr "" - -#: common/models.py:2498 -msgid "Default stock location label template" -msgstr "" - -#: common/models.py:2500 -msgid "The stock location label template to be automatically selected" -msgstr "" - -#: common/models.py:2506 -msgid "Default build line label template" -msgstr "" - -#: common/models.py:2508 -msgid "The build line label template to be automatically selected" -msgstr "" - -#: common/models.py:2514 +#: common/models.py:2495 msgid "Receive error reports" msgstr "" -#: common/models.py:2515 +#: common/models.py:2496 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2520 +#: common/models.py:2501 msgid "Last used printing machines" msgstr "" -#: common/models.py:2521 +#: common/models.py:2502 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2541 common/models.py:2542 common/models.py:2691 -#: common/models.py:2692 common/models.py:2937 common/models.py:2938 -#: common/models.py:3259 common/models.py:3260 part/models.py:3193 -#: part/models.py:3280 part/models.py:3353 part/models.py:3381 -#: plugin/models.py:274 plugin/models.py:275 +#: common/models.py:2522 common/models.py:2523 common/models.py:2672 +#: common/models.py:2673 common/models.py:2918 common/models.py:2919 +#: common/models.py:3245 common/models.py:3246 importer/models.py:85 +#: part/models.py:3203 part/models.py:3290 part/models.py:3364 +#: part/models.py:3392 plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 msgid "User" msgstr "ผู้ใช้งาน" -#: common/models.py:2564 +#: common/models.py:2545 msgid "Price break quantity" msgstr "" -#: common/models.py:2571 company/serializers.py:472 order/admin.py:42 -#: order/models.py:1346 order/models.py:2265 -#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1886 +#: common/models.py:2552 company/serializers.py:502 order/admin.py:42 +#: order/models.py:1346 order/models.py:2292 +#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1889 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:740 msgid "Price" msgstr "" -#: common/models.py:2572 +#: common/models.py:2553 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2668 common/models.py:2853 +#: common/models.py:2649 common/models.py:2834 msgid "Endpoint" msgstr "" -#: common/models.py:2669 +#: common/models.py:2650 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2679 +#: common/models.py:2660 msgid "Name for this webhook" msgstr "" -#: common/models.py:2683 +#: common/models.py:2664 msgid "Is this webhook active" msgstr "" -#: common/models.py:2699 users/models.py:159 +#: common/models.py:2680 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2700 +#: common/models.py:2681 msgid "Token for access" msgstr "" -#: common/models.py:2708 +#: common/models.py:2689 msgid "Secret" msgstr "" -#: common/models.py:2709 +#: common/models.py:2690 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2817 +#: common/models.py:2798 msgid "Message ID" msgstr "" -#: common/models.py:2818 +#: common/models.py:2799 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2826 +#: common/models.py:2807 msgid "Host" msgstr "" -#: common/models.py:2827 +#: common/models.py:2808 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2835 +#: common/models.py:2816 msgid "Header" msgstr "" -#: common/models.py:2836 +#: common/models.py:2817 msgid "Header of this message" msgstr "" -#: common/models.py:2843 +#: common/models.py:2824 msgid "Body" msgstr "" -#: common/models.py:2844 +#: common/models.py:2825 msgid "Body of this message" msgstr "" -#: common/models.py:2854 +#: common/models.py:2835 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2859 +#: common/models.py:2840 msgid "Worked on" msgstr "" -#: common/models.py:2860 +#: common/models.py:2841 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2986 +#: common/models.py:2967 msgid "Id" msgstr "" -#: common/models.py:2988 templates/js/translated/company.js:965 +#: common/models.py:2969 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2990 common/models.py:3243 company/models.py:149 -#: company/models.py:440 company/models.py:500 company/models.py:799 -#: order/models.py:303 order/models.py:1301 order/models.py:1717 -#: part/admin.py:55 part/models.py:955 +#: common/models.py:2971 common/models.py:3229 company/models.py:149 +#: company/models.py:446 company/models.py:506 company/models.py:806 +#: order/models.py:303 order/models.py:1301 order/models.py:1733 +#: part/admin.py:55 part/models.py:959 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:229 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/part.js:2459 #: templates/js/translated/purchase_order.js:2040 #: templates/js/translated/purchase_order.js:2204 #: templates/js/translated/return_order.js:779 @@ -3607,28 +3640,28 @@ msgstr "" msgid "Link" msgstr "ลิงก์" -#: common/models.py:2992 templates/js/translated/news.js:60 +#: common/models.py:2973 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2994 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2975 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:2996 templates/js/translated/news.js:52 +#: common/models.py:2977 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2999 +#: common/models.py:2980 msgid "Read" msgstr "" -#: common/models.py:2999 +#: common/models.py:2980 msgid "Was this news item read?" msgstr "" -#: common/models.py:3016 company/models.py:159 part/models.py:965 +#: common/models.py:2997 company/models.py:159 part/models.py:969 #: 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.html:35 @@ -3638,90 +3671,94 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:3016 +#: common/models.py:2997 msgid "Image file" msgstr "" -#: common/models.py:3028 common/models.py:3227 +#: common/models.py:3009 common/models.py:3213 msgid "Target model type for this image" msgstr "" -#: common/models.py:3032 +#: common/models.py:3013 msgid "Target model ID for this image" msgstr "" -#: common/models.py:3070 +#: common/models.py:3035 +msgid "Custom Unit" +msgstr "" + +#: common/models.py:3056 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:3085 +#: common/models.py:3071 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3104 +#: common/models.py:3090 msgid "Unit name" msgstr "" -#: common/models.py:3111 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3097 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3112 +#: common/models.py:3098 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3118 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3104 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3119 +#: common/models.py:3105 msgid "Unit definition" msgstr "" -#: common/models.py:3177 common/models.py:3234 stock/models.py:2461 +#: common/models.py:3163 common/models.py:3220 stock/models.py:2471 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" msgstr "ไฟล์แนบ" -#: common/models.py:3189 +#: common/models.py:3175 msgid "Missing file" msgstr "ไม่พบไฟล์" -#: common/models.py:3190 +#: common/models.py:3176 msgid "Missing external link" msgstr "" -#: common/models.py:3235 +#: common/models.py:3221 msgid "Select file to attach" msgstr "เลือกไฟล์ที่ต้องการแนบ" -#: common/models.py:3250 templates/js/translated/attachment.js:120 +#: common/models.py:3236 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" msgstr "ความคิดเห็น" -#: common/models.py:3251 +#: common/models.py:3237 msgid "Attachment comment" msgstr "" -#: common/models.py:3267 +#: common/models.py:3253 msgid "Upload date" msgstr "" -#: common/models.py:3268 +#: common/models.py:3254 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:3272 +#: common/models.py:3258 msgid "File size" msgstr "" -#: common/models.py:3272 +#: common/models.py:3258 msgid "File size in bytes" msgstr "" -#: common/models.py:3310 common/serializers.py:553 +#: common/models.py:3296 common/serializers.py:557 msgid "Invalid model type specified for attachment" msgstr "" @@ -3743,7 +3780,7 @@ msgstr "" msgid "A order that is assigned to you was canceled" msgstr "" -#: common/notifications.py:330 common/notifications.py:337 order/api.py:472 +#: common/notifications.py:330 common/notifications.py:337 order/api.py:454 msgid "Items Received" msgstr "" @@ -3759,75 +3796,75 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:371 +#: common/serializers.py:375 msgid "Is Running" msgstr "" -#: common/serializers.py:377 +#: common/serializers.py:381 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:383 +#: common/serializers.py:387 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:389 +#: common/serializers.py:393 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:404 +#: common/serializers.py:408 msgid "Task ID" msgstr "" -#: common/serializers.py:404 +#: common/serializers.py:408 msgid "Unique task ID" msgstr "" -#: common/serializers.py:406 +#: common/serializers.py:410 msgid "Lock" msgstr "" -#: common/serializers.py:406 +#: common/serializers.py:410 msgid "Lock time" msgstr "" -#: common/serializers.py:408 +#: common/serializers.py:412 msgid "Task name" msgstr "" -#: common/serializers.py:410 +#: common/serializers.py:414 msgid "Function" msgstr "" -#: common/serializers.py:410 +#: common/serializers.py:414 msgid "Function name" msgstr "" -#: common/serializers.py:412 +#: common/serializers.py:416 msgid "Arguments" msgstr "" -#: common/serializers.py:412 +#: common/serializers.py:416 msgid "Task arguments" msgstr "" -#: common/serializers.py:415 +#: common/serializers.py:419 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:415 +#: common/serializers.py:419 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:525 +#: common/serializers.py:529 msgid "Filename" msgstr "ชื่อไฟล์" -#: common/serializers.py:532 report/api.py:100 report/serializers.py:53 +#: common/serializers.py:536 report/api.py:100 report/serializers.py:53 msgid "Model Type" msgstr "" -#: common/serializers.py:559 +#: common/serializers.py:563 msgid "User does not have permission to create or edit attachments for this model" msgstr "" @@ -3894,29 +3931,29 @@ msgstr "" msgid "Previous Step" msgstr "" -#: company/api.py:144 +#: company/api.py:141 msgid "Part is Active" msgstr "" -#: company/api.py:148 +#: company/api.py:145 msgid "Manufacturer is Active" msgstr "" -#: company/api.py:281 +#: company/api.py:278 msgid "Supplier Part is Active" msgstr "" -#: company/api.py:285 +#: company/api.py:282 msgid "Internal Part is Active" msgstr "" -#: company/api.py:289 +#: company/api.py:286 msgid "Supplier is Active" msgstr "" -#: company/models.py:100 company/models.py:365 +#: company/models.py:100 company/models.py:371 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:822 +#: company/templates/company/company_base.html:12 stock/api.py:814 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "" @@ -3956,8 +3993,9 @@ msgstr "" msgid "Contact email address" msgstr "" -#: company/models.py:142 company/templates/company/company_base.html:145 -#: order/models.py:343 order/templates/order/order_base.html:203 +#: company/models.py:142 company/models.py:275 +#: company/templates/company/company_base.html:145 order/models.py:343 +#: order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 #: order/templates/order/sales_order_base.html:218 msgid "Contact" @@ -3976,15 +4014,17 @@ msgid "Is this company active?" msgstr "" #: company/models.py:168 -msgid "is customer" -msgstr "" +#, fuzzy +#| msgid "Sent to customer" +msgid "Is customer" +msgstr "จัดส่งให้ลูกค้าแล้ว" #: company/models.py:169 msgid "Do you sell items to this company?" msgstr "" #: company/models.py:174 -msgid "is supplier" +msgid "Is supplier" msgstr "" #: company/models.py:175 @@ -3992,7 +4032,7 @@ msgid "Do you purchase items from this company?" msgstr "" #: company/models.py:180 -msgid "is manufacturer" +msgid "Is manufacturer" msgstr "" #: company/models.py:181 @@ -4003,178 +4043,189 @@ msgstr "" msgid "Default currency used for this company" msgstr "" -#: company/models.py:366 +#: company/models.py:314 company/templates/company/company_base.html:124 +#: order/models.py:353 order/templates/order/order_base.html:210 +#: order/templates/order/return_order_base.html:181 +#: order/templates/order/sales_order_base.html:225 +msgid "Address" +msgstr "" + +#: company/models.py:315 company/templates/company/sidebar.html:35 +msgid "Addresses" +msgstr "" + +#: company/models.py:372 msgid "Select company" msgstr "" -#: company/models.py:371 +#: company/models.py:377 msgid "Address title" msgstr "" -#: company/models.py:372 +#: company/models.py:378 msgid "Title describing the address entry" msgstr "" -#: company/models.py:378 +#: company/models.py:384 msgid "Primary address" msgstr "" -#: company/models.py:379 +#: company/models.py:385 msgid "Set as primary address" msgstr "" -#: company/models.py:384 templates/js/translated/company.js:914 +#: company/models.py:390 templates/js/translated/company.js:914 #: templates/js/translated/company.js:971 msgid "Line 1" msgstr "" -#: company/models.py:385 +#: company/models.py:391 msgid "Address line 1" msgstr "" -#: company/models.py:391 templates/js/translated/company.js:915 +#: company/models.py:397 templates/js/translated/company.js:915 #: templates/js/translated/company.js:977 msgid "Line 2" msgstr "" -#: company/models.py:392 +#: company/models.py:398 msgid "Address line 2" msgstr "" -#: company/models.py:398 company/models.py:399 +#: company/models.py:404 company/models.py:405 #: templates/js/translated/company.js:983 msgid "Postal code" msgstr "" -#: company/models.py:405 +#: company/models.py:411 msgid "City/Region" msgstr "" -#: company/models.py:406 +#: company/models.py:412 msgid "Postal code city/region" msgstr "" -#: company/models.py:412 +#: company/models.py:418 msgid "State/Province" msgstr "" -#: company/models.py:413 +#: company/models.py:419 msgid "State or province" msgstr "" -#: company/models.py:419 templates/js/translated/company.js:1001 +#: company/models.py:425 templates/js/translated/company.js:1001 msgid "Country" msgstr "" -#: company/models.py:420 +#: company/models.py:426 msgid "Address country" msgstr "" -#: company/models.py:426 +#: company/models.py:432 msgid "Courier shipping notes" msgstr "" -#: company/models.py:427 +#: company/models.py:433 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:433 +#: company/models.py:439 msgid "Internal shipping notes" msgstr "" -#: company/models.py:434 +#: company/models.py:440 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:441 +#: company/models.py:447 msgid "Link to address information (external)" msgstr "" -#: company/models.py:463 company/models.py:574 company/models.py:792 +#: company/models.py:469 company/models.py:581 company/models.py:799 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:217 msgid "Manufacturer Part" msgstr "" -#: company/models.py:475 company/models.py:760 stock/models.py:767 -#: stock/serializers.py:422 stock/templates/stock/item_base.html:142 +#: company/models.py:481 company/models.py:767 stock/models.py:767 +#: stock/serializers.py:442 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" -#: company/models.py:477 company/models.py:762 +#: company/models.py:483 company/models.py:769 msgid "Select part" msgstr "" -#: company/models.py:486 company/templates/company/company_base.html:82 +#: company/models.py:492 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:525 +#: company/templates/company/supplier_part.html:145 part/serializers.py:543 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 #: templates/js/translated/company.js:1296 #: templates/js/translated/company.js:1611 -#: templates/js/translated/table_filters.js:800 +#: templates/js/translated/table_filters.js:805 msgid "Manufacturer" msgstr "" -#: company/models.py:487 +#: company/models.py:493 msgid "Select manufacturer" msgstr "" -#: company/models.py:493 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:535 -#: templates/js/translated/company.js:351 +#: company/models.py:499 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:153 order/serializers.py:518 +#: part/serializers.py:553 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:1801 +#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1804 #: templates/js/translated/purchase_order.js:1851 #: templates/js/translated/purchase_order.js:2053 msgid "MPN" msgstr "" -#: company/models.py:494 -msgid "Manufacturer Part Number" -msgstr "" - -#: company/models.py:501 +#: company/models.py:507 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:510 +#: company/models.py:516 msgid "Manufacturer part description" msgstr "" -#: company/models.py:581 +#: company/models.py:569 +msgid "Manufacturer Part Parameter" +msgstr "" + +#: company/models.py:588 msgid "Parameter name" msgstr "" -#: company/models.py:587 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2453 templates/js/translated/company.js:1166 -#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1493 +#: company/models.py:594 report/templates/report/inventree_test_report.html:104 +#: stock/models.py:2463 templates/js/translated/company.js:1166 +#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1496 #: templates/js/translated/stock.js:1522 msgid "Value" msgstr "" -#: company/models.py:588 +#: company/models.py:595 msgid "Parameter value" msgstr "" -#: company/models.py:595 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1045 part/models.py:3646 +#: company/models.py:602 company/templates/company/supplier_part.html:168 +#: part/admin.py:57 part/models.py:1049 part/models.py:3667 #: part/templates/part/part_base.html:284 -#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1512 -#: templates/js/translated/part.js:1616 templates/js/translated/part.js:2370 +#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1515 +#: templates/js/translated/part.js:1619 templates/js/translated/part.js:2373 msgid "Units" msgstr "" -#: company/models.py:596 +#: company/models.py:603 msgid "Parameter units" msgstr "" -#: company/models.py:648 company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 order/api.py:452 +#: company/models.py:655 company/templates/company/supplier_part.html:7 +#: company/templates/company/supplier_part.html:24 order/api.py:434 #: stock/models.py:778 stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 @@ -4182,91 +4233,91 @@ msgstr "" msgid "Supplier Part" msgstr "" -#: company/models.py:700 +#: company/models.py:707 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:707 +#: company/models.py:714 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:721 +#: company/models.py:728 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:770 company/templates/company/company_base.html:87 +#: company/models.py:777 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:509 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:527 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 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:511 -#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1769 +#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1772 #: templates/js/translated/pricing.js:498 #: templates/js/translated/purchase_order.js:1689 -#: templates/js/translated/table_filters.js:804 +#: templates/js/translated/table_filters.js:809 msgid "Supplier" msgstr "" -#: company/models.py:771 +#: company/models.py:778 msgid "Select supplier" msgstr "" -#: company/models.py:777 part/serializers.py:520 +#: company/models.py:784 part/serializers.py:538 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:783 +#: company/models.py:790 msgid "Is this supplier part active?" msgstr "" -#: company/models.py:793 +#: company/models.py:800 msgid "Select manufacturer part" msgstr "" -#: company/models.py:800 +#: company/models.py:807 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:809 +#: company/models.py:816 msgid "Supplier part description" msgstr "" -#: company/models.py:816 company/templates/company/supplier_part.html:187 -#: part/admin.py:412 part/models.py:4093 part/templates/part/upload_bom.html:59 +#: company/models.py:823 company/templates/company/supplier_part.html:187 +#: part/admin.py:412 part/models.py:4178 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: 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:710 +#: stock/serializers.py:768 msgid "Note" msgstr "" -#: company/models.py:825 part/models.py:2003 +#: company/models.py:832 part/models.py:2013 msgid "base cost" msgstr "" -#: company/models.py:826 part/models.py:2004 +#: company/models.py:833 part/models.py:2014 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:833 company/templates/company/supplier_part.html:160 -#: stock/admin.py:228 stock/models.py:798 stock/serializers.py:1475 +#: company/models.py:840 company/templates/company/supplier_part.html:160 +#: stock/admin.py:228 stock/models.py:798 stock/serializers.py:1541 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 msgid "Packaging" msgstr "" -#: company/models.py:834 +#: company/models.py:841 msgid "Part packaging" msgstr "" -#: company/models.py:839 templates/js/translated/company.js:1651 -#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 +#: company/models.py:846 templates/js/translated/company.js:1651 +#: templates/js/translated/part.js:1825 templates/js/translated/part.js:1881 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 #: templates/js/translated/purchase_order.js:1103 @@ -4275,35 +4326,43 @@ msgstr "" msgid "Pack Quantity" msgstr "" -#: company/models.py:841 +#: company/models.py:848 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:860 part/models.py:2010 +#: company/models.py:867 part/models.py:2020 msgid "multiple" msgstr "" -#: company/models.py:861 +#: company/models.py:868 msgid "Order multiple" msgstr "" -#: company/models.py:873 +#: company/models.py:880 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:879 +#: company/models.py:886 msgid "Availability Updated" msgstr "" -#: company/models.py:880 +#: company/models.py:887 msgid "Date of last update of availability data" msgstr "" -#: company/serializers.py:161 +#: company/models.py:1015 +msgid "Supplier Price Break" +msgstr "" + +#: company/serializers.py:174 msgid "Default currency used for this supplier" msgstr "" -#: company/serializers.py:357 part/admin.py:126 +#: company/serializers.py:210 +msgid "Company Name" +msgstr "" + +#: company/serializers.py:384 part/admin.py:126 part/serializers.py:855 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:355 @@ -4315,7 +4374,7 @@ msgstr "" #: templates/js/translated/company.js:1287 #: templates/js/translated/company.js:1575 #: templates/js/translated/model_renderers.js:312 -#: templates/js/translated/part.js:815 templates/js/translated/part.js:1219 +#: templates/js/translated/part.js:814 templates/js/translated/part.js:1222 msgid "Inactive" msgstr "" @@ -4374,16 +4433,16 @@ msgid "Delete image" msgstr "" #: company/templates/company/company_base.html:92 order/models.py:938 -#: order/models.py:2032 order/templates/order/return_order_base.html:131 +#: order/models.py:2058 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:148 stock/models.py:820 -#: stock/models.py:821 stock/serializers.py:1225 +#: stock/models.py:821 stock/serializers.py:1291 #: 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:295 #: templates/js/translated/sales_order.js:820 #: templates/js/translated/stock.js:2959 -#: templates/js/translated/table_filters.js:808 +#: templates/js/translated/table_filters.js:813 msgid "Customer" msgstr "" @@ -4391,13 +4450,6 @@ msgstr "" msgid "Uses default currency" msgstr "" -#: company/templates/company/company_base.html:124 order/models.py:353 -#: order/templates/order/order_base.html:210 -#: order/templates/order/return_order_base.html:181 -#: order/templates/order/sales_order_base.html:225 -msgid "Address" -msgstr "" - #: company/templates/company/company_base.html:131 msgid "Phone" msgstr "" @@ -4577,7 +4629,8 @@ msgid "Delete manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:65 -#: company/templates/company/supplier_part.html:97 order/api.py:458 +#: company/templates/company/supplier_part.html:97 order/api.py:440 +#: order/serializers.py:526 msgid "Internal Part" msgstr "" @@ -4587,7 +4640,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:832 +#: part/admin.py:122 part/serializers.py:860 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4608,7 +4661,7 @@ msgid "New Parameter" msgstr "" #: company/templates/company/manufacturer_part.html:196 -#: templates/js/translated/part.js:1423 +#: templates/js/translated/part.js:1426 msgid "Add Parameter" msgstr "" @@ -4632,10 +4685,6 @@ msgstr "" msgid "Contacts" msgstr "" -#: company/templates/company/sidebar.html:35 -msgid "Addresses" -msgstr "" - #: company/templates/company/supplier_part.html:50 #: templates/js/translated/company.js:1526 msgid "Supplier part actions" @@ -4648,127 +4697,285 @@ msgstr "" msgid "Order Part" msgstr "" -#: company/templates/company/supplier_part.html:60 -#: company/templates/company/supplier_part.html:61 -msgid "Update Availability" +#: company/templates/company/supplier_part.html:60 +#: company/templates/company/supplier_part.html:61 +msgid "Update Availability" +msgstr "" + +#: company/templates/company/supplier_part.html:63 +#: company/templates/company/supplier_part.html:64 +#: templates/js/translated/company.js:294 +msgid "Edit Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:68 +#: company/templates/company/supplier_part.html:69 +#: templates/js/translated/company.js:269 +msgid "Duplicate Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:73 +msgid "Delete Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:74 +msgid "Delete Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:133 +msgid "No supplier information available" +msgstr "" + +#: company/templates/company/supplier_part.html:139 order/serializers.py:515 +#: part/bom.py:279 part/bom.py:311 part/serializers.py:537 +#: templates/js/translated/company.js:349 templates/js/translated/part.js:1790 +#: templates/js/translated/pricing.js:510 +#: templates/js/translated/purchase_order.js:1850 +#: templates/js/translated/purchase_order.js:2028 +msgid "SKU" +msgstr "" + +#: company/templates/company/supplier_part.html:206 +msgid "Supplier Part Stock" +msgstr "" + +#: company/templates/company/supplier_part.html:209 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:207 +msgid "Create new stock item" +msgstr "" + +#: company/templates/company/supplier_part.html:210 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:208 +#: templates/js/translated/stock.js:537 +msgid "New Stock Item" +msgstr "" + +#: company/templates/company/supplier_part.html:223 +msgid "Supplier Part Orders" +msgstr "" + +#: company/templates/company/supplier_part.html:246 +msgid "Pricing Information" +msgstr "" + +#: company/templates/company/supplier_part.html:251 +#: templates/js/translated/company.js:398 +#: templates/js/translated/pricing.js:684 +msgid "Add Price Break" +msgstr "" + +#: company/templates/company/supplier_part.html:276 +msgid "Supplier Part QR Code" +msgstr "" + +#: company/templates/company/supplier_part.html:287 +msgid "Link Barcode to Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:359 +msgid "Update Part Availability" +msgstr "" + +#: company/templates/company/supplier_part_sidebar.html:5 +#: part/serializers.py:859 part/stocktake.py:224 +#: part/templates/part/category.html:183 +#: part/templates/part/category_sidebar.html:17 stock/admin.py:68 +#: stock/serializers.py:976 stock/serializers.py:1154 +#: stock/templates/stock/location.html:170 +#: 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:1064 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 +#: users/models.py:206 +msgid "Stock Items" +msgstr "" + +#: company/templates/company/supplier_part_sidebar.html:9 +msgid "Supplier Part Pricing" +msgstr "" + +#: company/views.py:32 +msgid "New Supplier" +msgstr "" + +#: company/views.py:38 +msgid "New Manufacturer" +msgstr "" + +#: company/views.py:43 templates/InvenTree/search.html:210 +#: templates/navbar.html:60 +msgid "Customers" +msgstr "" + +#: company/views.py:44 +msgid "New Customer" +msgstr "" + +#: company/views.py:52 +msgid "New Company" +msgstr "" + +#: generic/states/tests.py:18 order/status_codes.py:13 +msgid "Placed" +msgstr "" + +#: importer/mixins.py:263 +msgid "Invalid export format" +msgstr "" + +#: importer/models.py:56 +msgid "Timestamp" +msgstr "" + +#: importer/models.py:61 +msgid "Data file to import" +msgstr "" + +#: importer/models.py:70 templates/js/translated/tables.js:558 +msgid "Columns" +msgstr "" + +#: importer/models.py:81 +msgid "Import status" +msgstr "" + +#: importer/models.py:91 +msgid "Field Defaults" +msgstr "" + +#: importer/models.py:201 +msgid "Some required fields have not been mapped" +msgstr "" + +#: importer/models.py:346 +msgid "Column is already mapped to a database field" +msgstr "" + +#: importer/models.py:351 +msgid "Field is already mapped to a data column" +msgstr "" + +#: importer/models.py:360 +msgid "Column mapping must be linked to a valid import session" +msgstr "" + +#: importer/models.py:365 +msgid "Column does not exist in the data file" +msgstr "" + +#: importer/models.py:372 +msgid "Field does not exist in the target model" +msgstr "" + +#: importer/models.py:376 +msgid "Selected field is read-only" +msgstr "" + +#: importer/models.py:381 importer/models.py:452 +msgid "Import Session" +msgstr "" + +#: importer/models.py:385 +msgid "Field" msgstr "" -#: company/templates/company/supplier_part.html:63 -#: company/templates/company/supplier_part.html:64 -#: templates/js/translated/company.js:294 -msgid "Edit Supplier Part" +#: importer/models.py:387 +msgid "Column" msgstr "" -#: company/templates/company/supplier_part.html:68 -#: company/templates/company/supplier_part.html:69 -#: templates/js/translated/company.js:269 -msgid "Duplicate Supplier Part" +#: importer/models.py:456 +msgid "Row Index" msgstr "" -#: company/templates/company/supplier_part.html:73 -msgid "Delete Supplier Part" +#: importer/models.py:459 +msgid "Original row data" msgstr "" -#: company/templates/company/supplier_part.html:74 -msgid "Delete Supplier Part" +#: importer/models.py:462 part/models.py:3841 +msgid "Data" msgstr "" -#: company/templates/company/supplier_part.html:133 -msgid "No supplier information available" +#: importer/models.py:464 machine/models.py:110 +msgid "Errors" msgstr "" -#: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:519 -#: templates/js/translated/company.js:349 templates/js/translated/part.js:1787 -#: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1850 -#: templates/js/translated/purchase_order.js:2028 -msgid "SKU" +#: importer/models.py:466 part/api.py:874 +msgid "Valid" msgstr "" -#: company/templates/company/supplier_part.html:206 -msgid "Supplier Part Stock" +#: importer/operations.py:28 importer/operations.py:49 +msgid "Unsupported data file format" msgstr "" -#: company/templates/company/supplier_part.html:209 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:207 -msgid "Create new stock item" +#: importer/operations.py:40 +msgid "Failed to open data file" msgstr "" -#: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:208 -#: templates/js/translated/stock.js:537 -msgid "New Stock Item" +#: importer/operations.py:51 +msgid "Invalid data file dimensions" msgstr "" -#: company/templates/company/supplier_part.html:223 -msgid "Supplier Part Orders" +#: importer/serializers.py:135 +msgid "Rows" msgstr "" -#: company/templates/company/supplier_part.html:246 -msgid "Pricing Information" +#: importer/serializers.py:136 +msgid "List of row IDs to accept" msgstr "" -#: company/templates/company/supplier_part.html:251 -#: templates/js/translated/company.js:398 -#: templates/js/translated/pricing.js:684 -msgid "Add Price Break" +#: importer/serializers.py:149 +#, fuzzy +#| msgid "Wrong password provided" +msgid "No rows provided" +msgstr "ป้อนรหัสผ่านไม่ถูกต้อง" + +#: importer/serializers.py:153 +msgid "Row does not belong to this session" msgstr "" -#: company/templates/company/supplier_part.html:276 -msgid "Supplier Part QR Code" +#: importer/serializers.py:156 +msgid "Row contains invalid data" msgstr "" -#: company/templates/company/supplier_part.html:287 -msgid "Link Barcode to Supplier Part" +#: importer/serializers.py:159 +msgid "Row has already been completed" msgstr "" -#: company/templates/company/supplier_part.html:359 -msgid "Update Part Availability" +#: importer/status_codes.py:11 +msgid "Initializing" msgstr "" -#: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:831 part/stocktake.py:224 -#: part/templates/part/category.html:183 -#: part/templates/part/category_sidebar.html:17 stock/admin.py:68 -#: stock/serializers.py:918 stock/serializers.py:1091 -#: stock/templates/stock/location.html:170 -#: 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:1061 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 -#: users/models.py:206 -msgid "Stock Items" +#: importer/status_codes.py:12 +msgid "Mapping Columns" msgstr "" -#: company/templates/company/supplier_part_sidebar.html:9 -msgid "Supplier Part Pricing" +#: importer/status_codes.py:13 +msgid "Importing Data" msgstr "" -#: company/views.py:32 -msgid "New Supplier" +#: importer/status_codes.py:16 +msgid "Processing Data" msgstr "" -#: company/views.py:38 -msgid "New Manufacturer" +#: importer/validators.py:21 +msgid "Data file exceeds maximum size limit" msgstr "" -#: company/views.py:43 templates/InvenTree/search.html:210 -#: templates/navbar.html:60 -msgid "Customers" +#: importer/validators.py:26 +msgid "Data file contains no headers" msgstr "" -#: company/views.py:44 -msgid "New Customer" +#: importer/validators.py:29 +msgid "Data file contains too many columns" msgstr "" -#: company/views.py:52 -msgid "New Company" +#: importer/validators.py:32 +msgid "Data file contains too many rows" msgstr "" -#: generic/states/tests.py:18 order/status_codes.py:13 -msgid "Placed" +#: importer/validators.py:49 +msgid "Value must be a valid dictionary object" msgstr "" #: machine/machine_types/label_printer.py:212 @@ -4783,7 +4990,7 @@ msgstr "" msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:229 order/api.py:1467 +#: machine/machine_types/label_printer.py:229 order/api.py:1388 #: templates/js/translated/sales_order.js:1078 msgid "Unknown" msgstr "" @@ -4852,10 +5059,6 @@ msgstr "" msgid "Initialized" msgstr "" -#: machine/models.py:110 -msgid "Errors" -msgstr "" - #: machine/models.py:117 msgid "Machine status" msgstr "" @@ -4881,44 +5084,44 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:157 order/serializers.py:90 +#: order/api.py:149 order/serializers.py:94 #: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:113 #: order/templates/order/sales_order_base.html:122 msgid "Order Status" msgstr "" -#: order/api.py:161 templates/js/translated/table_filters.js:194 -#: templates/js/translated/table_filters.js:779 +#: order/api.py:153 templates/js/translated/table_filters.js:194 +#: templates/js/translated/table_filters.js:784 msgid "Has Pricing" msgstr "" -#: order/api.py:236 +#: order/api.py:228 msgid "No matching purchase order found" msgstr "" -#: order/api.py:435 order/api.py:801 order/models.py:1395 order/models.py:1504 -#: order/models.py:1550 order/models.py:1664 order/models.py:1818 -#: order/models.py:2231 order/models.py:2282 +#: order/api.py:417 order/api.py:755 order/models.py:1400 order/models.py:1514 +#: order/models.py:1565 order/models.py:1680 order/models.py:1839 +#: order/models.py:2258 order/models.py:2314 #: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "" -#: order/api.py:439 order/api.py:822 +#: order/api.py:421 order/api.py:776 msgid "Order Complete" msgstr "" -#: order/api.py:462 +#: order/api.py:444 msgid "Order Pending" msgstr "" -#: order/api.py:1461 order/models.py:380 order/models.py:1396 -#: order/models.py:1505 order/templates/order/order_base.html:9 +#: order/api.py:1382 order/models.py:380 order/models.py:1401 +#: order/models.py:1515 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 -#: stock/serializers.py:118 stock/templates/stock/item_base.html:176 +#: stock/serializers.py:120 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/part.js:1746 templates/js/translated/pricing.js:804 +#: templates/js/translated/part.js:1749 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:1673 @@ -4926,8 +5129,8 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1465 order/models.py:1981 order/models.py:2232 -#: order/models.py:2283 order/templates/order/return_order_base.html:9 +#: order/api.py:1386 order/models.py:2007 order/models.py:2259 +#: order/models.py:2315 order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report.html:13 #: templates/js/translated/return_order.js:280 @@ -4939,11 +5142,11 @@ msgstr "" msgid "Total price for this order" msgstr "" -#: order/models.py:96 order/serializers.py:70 +#: order/models.py:96 order/serializers.py:72 msgid "Order Currency" msgstr "" -#: order/models.py:99 order/serializers.py:71 +#: order/models.py:99 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" @@ -4959,7 +5162,7 @@ msgstr "" msgid "Select project code for this order" msgstr "" -#: order/models.py:303 order/models.py:1301 order/models.py:1717 +#: order/models.py:303 order/models.py:1301 order/models.py:1733 msgid "Link to external page" msgstr "" @@ -5008,15 +5211,15 @@ msgstr "" msgid "received by" msgstr "" -#: order/models.py:514 order/models.py:2058 +#: order/models.py:514 order/models.py:2084 msgid "Issue Date" msgstr "" -#: order/models.py:515 order/models.py:2059 +#: order/models.py:515 order/models.py:2085 msgid "Date order was issued" msgstr "" -#: order/models.py:522 order/models.py:2066 +#: order/models.py:522 order/models.py:2092 msgid "Date order was completed" msgstr "" @@ -5032,15 +5235,15 @@ msgstr "" msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:962 order/models.py:2051 +#: order/models.py:962 order/models.py:2077 msgid "Customer Reference " msgstr "" -#: order/models.py:963 order/models.py:2052 +#: order/models.py:963 order/models.py:2078 msgid "Customer order reference code" msgstr "" -#: order/models.py:967 order/models.py:1671 +#: order/models.py:967 order/models.py:1687 #: templates/js/translated/sales_order.js:879 #: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" @@ -5102,20 +5305,24 @@ msgstr "" msgid "Unit price" msgstr "" -#: order/models.py:1380 +#: order/models.py:1361 +msgid "Purchase Order Line Item" +msgstr "" + +#: order/models.py:1385 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1387 +#: order/models.py:1392 msgid "deleted" msgstr "" -#: order/models.py:1415 +#: order/models.py:1420 msgid "Supplier part" msgstr "" -#: order/models.py:1422 order/templates/order/order_base.html:196 -#: templates/js/translated/part.js:1870 templates/js/translated/part.js:1902 +#: order/models.py:1427 order/templates/order/order_base.html:196 +#: templates/js/translated/part.js:1873 templates/js/translated/part.js:1905 #: templates/js/translated/purchase_order.js:1306 #: templates/js/translated/purchase_order.js:2169 #: templates/js/translated/return_order.js:763 @@ -5124,196 +5331,224 @@ msgstr "" msgid "Received" msgstr "" -#: order/models.py:1423 +#: order/models.py:1428 msgid "Number of items received" msgstr "" -#: order/models.py:1431 stock/models.py:939 stock/serializers.py:556 +#: order/models.py:1436 stock/models.py:939 stock/serializers.py:602 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2311 msgid "Purchase Price" msgstr "" -#: order/models.py:1432 +#: order/models.py:1437 msgid "Unit purchase price" msgstr "" -#: order/models.py:1447 +#: order/models.py:1452 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1538 +#: order/models.py:1503 +msgid "Purchase Order Extra Line" +msgstr "" + +#: order/models.py:1532 +msgid "Sales Order Line Item" +msgstr "" + +#: order/models.py:1553 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1543 +#: order/models.py:1558 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1569 part/templates/part/part_pricing.html:107 +#: order/models.py:1584 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:1570 +#: order/models.py:1585 msgid "Unit sale price" msgstr "" -#: order/models.py:1579 order/status_codes.py:43 +#: order/models.py:1594 order/status_codes.py:43 #: templates/js/translated/sales_order.js:1559 #: templates/js/translated/sales_order.js:1680 #: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "จัดส่งแล้ว" -#: order/models.py:1580 +#: order/models.py:1595 msgid "Shipped quantity" msgstr "" -#: order/models.py:1672 +#: order/models.py:1667 +msgid "Sales Order Shipment" +msgstr "" + +#: order/models.py:1688 msgid "Date of shipment" msgstr "" -#: order/models.py:1678 templates/js/translated/sales_order.js:1072 +#: order/models.py:1694 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "" -#: order/models.py:1679 +#: order/models.py:1695 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1687 +#: order/models.py:1703 msgid "Checked By" msgstr "" -#: order/models.py:1688 +#: order/models.py:1704 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1695 order/models.py:1908 order/serializers.py:1342 -#: order/serializers.py:1452 templates/js/translated/model_renderers.js:454 +#: order/models.py:1711 order/models.py:1934 order/serializers.py:1398 +#: order/serializers.py:1508 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "" -#: order/models.py:1696 +#: order/models.py:1712 msgid "Shipment number" msgstr "" -#: order/models.py:1704 +#: order/models.py:1720 msgid "Tracking Number" msgstr "" -#: order/models.py:1705 +#: order/models.py:1721 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1712 +#: order/models.py:1728 msgid "Invoice Number" msgstr "" -#: order/models.py:1713 +#: order/models.py:1729 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1733 +#: order/models.py:1749 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1736 +#: order/models.py:1752 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1854 order/models.py:1856 +#: order/models.py:1828 +msgid "Sales Order Extra Line" +msgstr "" + +#: order/models.py:1857 +msgid "Sales Order Allocation" +msgstr "" + +#: order/models.py:1880 order/models.py:1882 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1863 +#: order/models.py:1889 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1866 +#: order/models.py:1892 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1869 +#: order/models.py:1895 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1888 order/serializers.py:1219 +#: order/models.py:1914 order/serializers.py:1275 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1891 +#: order/models.py:1917 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1892 plugin/base/barcodes/api.py:481 +#: order/models.py:1918 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1900 +#: order/models.py:1926 msgid "Line" msgstr "" -#: order/models.py:1909 +#: order/models.py:1935 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1922 order/models.py:2239 +#: order/models.py:1948 order/models.py:2266 #: templates/js/translated/return_order.js:721 msgid "Item" msgstr "" -#: order/models.py:1923 +#: order/models.py:1949 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1932 +#: order/models.py:1958 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2021 +#: order/models.py:2047 msgid "Return Order reference" msgstr "" -#: order/models.py:2033 +#: order/models.py:2059 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2045 +#: order/models.py:2071 msgid "Return order status" msgstr "" -#: order/models.py:2224 +#: order/models.py:2237 +msgid "Return Order Line Item" +msgstr "" + +#: order/models.py:2251 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2240 +#: order/models.py:2267 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2246 +#: order/models.py:2273 msgid "Received Date" msgstr "" -#: order/models.py:2247 +#: order/models.py:2274 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2258 templates/js/translated/return_order.js:732 +#: order/models.py:2285 templates/js/translated/return_order.js:732 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2259 +#: order/models.py:2286 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2266 +#: order/models.py:2293 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:79 order/templates/order/po_sidebar.html:5 +#: order/models.py:2303 +msgid "Return Order Extra Line" +msgstr "" + +#: order/serializers.py:83 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_purchase_order_report.html:22 @@ -5322,163 +5557,171 @@ msgstr "" msgid "Line Items" msgstr "" -#: order/serializers.py:83 +#: order/serializers.py:87 msgid "Completed Lines" msgstr "" -#: order/serializers.py:286 +#: order/serializers.py:305 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:301 order/serializers.py:1235 +#: order/serializers.py:320 order/serializers.py:1291 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:311 order/serializers.py:1245 +#: order/serializers.py:330 order/serializers.py:1301 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:439 +#: order/serializers.py:468 msgid "Order is not open" msgstr "" -#: order/serializers.py:460 +#: order/serializers.py:489 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:462 +#: order/serializers.py:491 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:472 +#: order/serializers.py:501 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:478 +#: order/serializers.py:507 msgid "Merge Items" msgstr "" -#: order/serializers.py:480 +#: order/serializers.py:509 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:498 +#: order/serializers.py:522 part/models.py:945 +msgid "Internal Part Number" +msgstr "" + +#: order/serializers.py:530 +msgid "Internal Part Name" +msgstr "" + +#: order/serializers.py:546 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:501 +#: order/serializers.py:549 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:509 +#: order/serializers.py:557 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:510 +#: order/serializers.py:558 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:549 order/serializers.py:1313 +#: order/serializers.py:598 order/serializers.py:1369 msgid "Line Item" msgstr "" -#: order/serializers.py:555 +#: order/serializers.py:604 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:565 order/serializers.py:673 order/serializers.py:1657 +#: order/serializers.py:614 order/serializers.py:722 order/serializers.py:1715 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:581 templates/js/translated/purchase_order.js:1130 +#: order/serializers.py:630 templates/js/translated/purchase_order.js:1130 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:589 templates/js/translated/purchase_order.js:1154 +#: order/serializers.py:638 templates/js/translated/purchase_order.js:1154 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:600 templates/js/translated/barcode.js:52 +#: order/serializers.py:649 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:601 +#: order/serializers.py:650 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:617 +#: order/serializers.py:666 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:641 +#: order/serializers.py:690 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:689 order/serializers.py:1673 +#: order/serializers.py:738 order/serializers.py:1731 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:705 +#: order/serializers.py:754 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:716 +#: order/serializers.py:765 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1062 +#: order/serializers.py:1117 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1122 +#: order/serializers.py:1178 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1183 order/serializers.py:1322 +#: order/serializers.py:1239 order/serializers.py:1378 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1202 +#: order/serializers.py:1258 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1332 +#: order/serializers.py:1388 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1354 order/serializers.py:1460 +#: order/serializers.py:1410 order/serializers.py:1516 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1357 order/serializers.py:1463 +#: order/serializers.py:1413 order/serializers.py:1519 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1404 +#: order/serializers.py:1460 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1411 +#: order/serializers.py:1467 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1627 +#: order/serializers.py:1685 msgid "Return order line item" msgstr "" -#: order/serializers.py:1633 +#: order/serializers.py:1691 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1636 +#: order/serializers.py:1694 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1665 +#: order/serializers.py:1723 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1743 +#: order/serializers.py:1806 msgid "Line price currency" msgstr "" @@ -5808,7 +6051,7 @@ msgstr "" #: 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:1073 +#: templates/js/translated/part.js:1076 #: templates/js/translated/purchase_order.js:1752 #: templates/js/translated/return_order.js:380 #: templates/js/translated/sales_order.js:891 @@ -5904,34 +6147,29 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:398 part/models.py:3944 part/stocktake.py:219 +#: part/admin.py:39 part/admin.py:398 part/models.py:3991 part/stocktake.py:219 #: stock/admin.py:152 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:405 part/models.py:3945 part/stocktake.py:220 -#: stock/admin.py:156 -msgid "Part Name" -msgstr "" - #: part/admin.py:45 part/stocktake.py:221 msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:940 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:944 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 -#: templates/js/translated/part.js:1227 templates/js/translated/part.js:2341 +#: templates/js/translated/part.js:1230 templates/js/translated/part.js:2344 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:949 part/templates/part/part_base.html:277 -#: report/models.py:162 templates/js/translated/part.js:1232 -#: templates/js/translated/part.js:2347 +#: part/admin.py:50 part/models.py:953 part/templates/part/part_base.html:277 +#: report/models.py:162 templates/js/translated/part.js:1235 +#: templates/js/translated/part.js:2350 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:319 part/models.py:922 +#: part/admin.py:53 part/admin.py:319 part/models.py:926 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5944,7 +6182,8 @@ msgstr "" msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:304 part/stocktake.py:223 +#: part/admin.py:67 part/admin.py:304 part/serializers.py:837 +#: part/stocktake.py:223 msgid "Category Name" msgstr "" @@ -5956,11 +6195,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:908 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:912 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1036 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1040 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5968,18 +6207,19 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:150 part/templates/part/part_base.html:241 stock/admin.py:235 -#: templates/js/translated/part.js:715 templates/js/translated/part.js:2153 +#: part/admin.py:150 part/serializers.py:854 +#: part/templates/part/part_base.html:241 stock/admin.py:235 +#: templates/js/translated/part.js:714 templates/js/translated/part.js:2156 msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3088 part/models.py:3102 -#: templates/js/translated/part.js:970 +#: part/admin.py:155 part/models.py:3098 part/models.py:3112 +#: templates/js/translated/part.js:973 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3095 part/models.py:3109 -#: templates/js/translated/part.js:980 +#: part/admin.py:158 part/models.py:3105 part/models.py:3119 +#: templates/js/translated/part.js:983 msgid "Maximum Cost" msgstr "" @@ -5996,14 +6236,14 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:396 part/serializers.py:124 -#: part/serializers.py:267 part/serializers.py:386 +#: part/admin.py:325 part/models.py:397 part/serializers.py:130 +#: part/serializers.py:282 part/serializers.py:404 #: 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:2807 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:203 msgid "Parts" msgstr "ชิ้นส่วน" @@ -6020,125 +6260,117 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:402 part/models.py:3946 -msgid "Part IPN" -msgstr "" - -#: part/admin.py:415 part/serializers.py:1274 +#: part/admin.py:415 part/serializers.py:1302 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:420 part/serializers.py:1289 +#: part/admin.py:420 part/serializers.py:1317 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "" -#: part/api.py:104 +#: part/api.py:105 msgid "Starred" msgstr "" -#: part/api.py:106 +#: part/api.py:107 msgid "Filter by starred categories" msgstr "" -#: part/api.py:123 stock/api.py:312 +#: part/api.py:124 stock/api.py:312 msgid "Depth" msgstr "" -#: part/api.py:123 +#: part/api.py:124 msgid "Filter by category depth" msgstr "" -#: part/api.py:141 stock/api.py:330 +#: part/api.py:142 stock/api.py:330 msgid "Top Level" msgstr "" -#: part/api.py:143 +#: part/api.py:144 msgid "Filter by top-level categories" msgstr "" -#: part/api.py:156 stock/api.py:345 +#: part/api.py:157 stock/api.py:345 msgid "Cascade" msgstr "" -#: part/api.py:158 +#: part/api.py:159 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:179 templates/js/translated/part.js:308 +#: part/api.py:180 templates/js/translated/part.js:307 msgid "Parent" msgstr "" -#: part/api.py:181 +#: part/api.py:182 msgid "Filter by parent category" msgstr "" -#: part/api.py:214 +#: part/api.py:215 msgid "Exclude Tree" msgstr "" -#: part/api.py:216 +#: part/api.py:217 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:449 +#: part/api.py:442 msgid "Has Results" msgstr "" -#: part/api.py:616 +#: part/api.py:609 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:634 +#: part/api.py:627 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:650 +#: part/api.py:643 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:734 +#: part/api.py:727 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:881 -msgid "Valid" -msgstr "" - -#: part/api.py:882 +#: part/api.py:875 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:888 +#: part/api.py:881 msgid "This option must be selected" msgstr "" -#: part/api.py:1105 +#: part/api.py:1098 msgid "BOM Valid" msgstr "" -#: part/api.py:1508 part/models.py:932 part/models.py:3374 part/models.py:3889 -#: part/serializers.py:401 part/serializers.py:1130 -#: part/templates/part/part_base.html:260 stock/api.py:791 +#: part/api.py:1494 part/models.py:936 part/models.py:3385 part/models.py:3936 +#: part/serializers.py:419 part/serializers.py:1158 +#: part/templates/part/part_base.html:260 stock/api.py:783 #: 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:2380 msgid "Category" msgstr "" -#: part/api.py:1796 +#: part/api.py:1784 msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:104 part/models.py:975 +#: part/bom.py:170 part/models.py:104 part/models.py:979 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:833 +#: part/bom.py:171 part/serializers.py:861 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6147,7 +6379,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:85 part/models.py:3890 part/templates/part/category.html:16 +#: part/models.py:85 part/models.py:3937 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -6162,7 +6394,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:110 stock/models.py:175 templates/js/translated/part.js:2810 +#: part/models.py:110 stock/models.py:175 templates/js/translated/part.js:2813 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 @@ -6194,1002 +6426,1035 @@ msgstr "" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:485 +#: part/models.py:486 +msgid "Cannot delete this part as it is locked" +msgstr "" + +#: part/models.py:489 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:490 +#: part/models.py:494 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:528 +#: part/models.py:532 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:576 part/models.py:583 +#: part/models.py:580 part/models.py:587 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:595 +#: part/models.py:599 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:658 +#: part/models.py:662 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:736 +#: part/models.py:740 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:837 +#: part/models.py:841 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:847 +#: part/models.py:851 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:862 +#: part/models.py:866 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:891 part/models.py:3945 +#: part/models.py:895 part/models.py:3992 msgid "Part name" msgstr "" -#: part/models.py:896 +#: part/models.py:900 msgid "Is Template" msgstr "" -#: part/models.py:897 +#: part/models.py:901 msgid "Is this part a template part?" msgstr "" -#: part/models.py:907 +#: part/models.py:911 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:915 +#: part/models.py:919 msgid "Part description (optional)" msgstr "" -#: part/models.py:923 +#: part/models.py:927 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:933 +#: part/models.py:937 msgid "Part category" msgstr "" -#: part/models.py:941 -msgid "Internal Part Number" -msgstr "" - -#: part/models.py:948 +#: part/models.py:952 msgid "Part revision or version number" msgstr "" -#: part/models.py:973 +#: part/models.py:977 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1019 part/templates/part/part_base.html:376 +#: part/models.py:1023 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:1020 +#: part/models.py:1024 msgid "Default supplier part" msgstr "" -#: part/models.py:1027 +#: part/models.py:1031 msgid "Default Expiry" msgstr "" -#: part/models.py:1028 +#: part/models.py:1032 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1037 +#: part/models.py:1041 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1046 +#: part/models.py:1050 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1053 +#: part/models.py:1057 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1059 +#: part/models.py:1063 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1065 +#: part/models.py:1069 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1071 +#: part/models.py:1075 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1077 +#: part/models.py:1081 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1081 +#: part/models.py:1085 msgid "Is this part active?" msgstr "" -#: part/models.py:1087 +#: part/models.py:1090 templates/js/translated/part.js:818 +#: templates/js/translated/table_filters.js:721 +msgid "Locked" +msgstr "" + +#: part/models.py:1091 +msgid "Locked parts cannot be edited" +msgstr "" + +#: part/models.py:1097 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1093 +#: part/models.py:1103 msgid "BOM checksum" msgstr "" -#: part/models.py:1094 +#: part/models.py:1104 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1102 +#: part/models.py:1112 msgid "BOM checked by" msgstr "" -#: part/models.py:1107 +#: part/models.py:1117 msgid "BOM checked date" msgstr "" -#: part/models.py:1123 +#: part/models.py:1133 msgid "Creation User" msgstr "" -#: part/models.py:1133 +#: part/models.py:1143 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1138 part/templates/part/part_base.html:339 +#: part/models.py:1148 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:2474 msgid "Last Stocktake" msgstr "" -#: part/models.py:2011 +#: part/models.py:2021 msgid "Sell multiple" msgstr "" -#: part/models.py:3002 +#: part/models.py:3012 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3018 +#: part/models.py:3028 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3019 +#: part/models.py:3029 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3025 +#: part/models.py:3035 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3026 +#: part/models.py:3036 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3032 +#: part/models.py:3042 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3033 +#: part/models.py:3043 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3039 +#: part/models.py:3049 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3040 +#: part/models.py:3050 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3046 +#: part/models.py:3056 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3047 +#: part/models.py:3057 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3053 +#: part/models.py:3063 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3054 +#: part/models.py:3064 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3060 +#: part/models.py:3070 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3061 +#: part/models.py:3071 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3067 +#: part/models.py:3077 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3068 +#: part/models.py:3078 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3074 +#: part/models.py:3084 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3075 +#: part/models.py:3085 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3081 +#: part/models.py:3091 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3082 +#: part/models.py:3092 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3089 +#: part/models.py:3099 msgid "Override minimum cost" msgstr "" -#: part/models.py:3096 +#: part/models.py:3106 msgid "Override maximum cost" msgstr "" -#: part/models.py:3103 +#: part/models.py:3113 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3110 +#: part/models.py:3120 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3116 +#: part/models.py:3126 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3117 +#: part/models.py:3127 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3123 +#: part/models.py:3133 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3124 +#: part/models.py:3134 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3130 +#: part/models.py:3140 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3131 +#: part/models.py:3141 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3137 +#: part/models.py:3147 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3138 +#: part/models.py:3148 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3157 +#: part/models.py:3167 msgid "Part for stocktake" msgstr "" -#: part/models.py:3162 +#: part/models.py:3172 msgid "Item Count" msgstr "" -#: part/models.py:3163 +#: part/models.py:3173 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3171 +#: part/models.py:3181 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3175 part/models.py:3258 +#: part/models.py:3185 part/models.py:3268 #: part/templates/part/part_scheduling.html:13 #: 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:1086 templates/js/translated/pricing.js:826 +#: templates/js/translated/part.js:1089 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 #: templates/js/translated/purchase_order.js:1731 #: templates/js/translated/stock.js:2821 msgid "Date" msgstr "" -#: part/models.py:3176 +#: part/models.py:3186 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3184 +#: part/models.py:3194 msgid "Additional notes" msgstr "" -#: part/models.py:3194 +#: part/models.py:3204 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3200 +#: part/models.py:3210 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3201 +#: part/models.py:3211 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3207 +#: part/models.py:3217 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3208 +#: part/models.py:3218 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3264 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3274 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3265 +#: part/models.py:3275 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3270 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3280 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3271 +#: part/models.py:3281 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3281 +#: part/models.py:3291 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3423 +#: part/models.py:3301 +msgid "Part Sale Price Break" +msgstr "" + +#: part/models.py:3413 +msgid "Part Test Template" +msgstr "" + +#: part/models.py:3439 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3444 part/models.py:3608 +#: part/models.py:3460 part/models.py:3629 msgid "Choices must be unique" msgstr "" -#: part/models.py:3455 +#: part/models.py:3471 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3466 +#: part/models.py:3482 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3483 templates/js/translated/part.js:2880 +#: part/models.py:3499 templates/js/translated/part.js:2883 msgid "Test Name" msgstr "" -#: part/models.py:3484 +#: part/models.py:3500 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3490 +#: part/models.py:3506 msgid "Test Key" msgstr "" -#: part/models.py:3491 +#: part/models.py:3507 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3498 +#: part/models.py:3514 msgid "Test Description" msgstr "" -#: part/models.py:3499 +#: part/models.py:3515 msgid "Enter description for this test" msgstr "" -#: part/models.py:3503 report/models.py:209 -#: templates/js/translated/part.js:2901 +#: part/models.py:3519 report/models.py:209 +#: templates/js/translated/part.js:2904 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "" -#: part/models.py:3503 +#: part/models.py:3519 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3508 templates/js/translated/part.js:2909 +#: part/models.py:3524 templates/js/translated/part.js:2912 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3509 +#: part/models.py:3525 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3514 templates/js/translated/part.js:2917 +#: part/models.py:3530 templates/js/translated/part.js:2920 msgid "Requires Value" msgstr "" -#: part/models.py:3515 +#: part/models.py:3531 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3520 templates/js/translated/part.js:2924 +#: part/models.py:3536 templates/js/translated/part.js:2927 msgid "Requires Attachment" msgstr "" -#: part/models.py:3522 +#: part/models.py:3538 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3528 part/models.py:3667 templates/js/translated/part.js:1637 +#: part/models.py:3544 part/models.py:3688 templates/js/translated/part.js:1640 msgid "Choices" msgstr "" -#: part/models.py:3529 +#: part/models.py:3545 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3583 +#: part/models.py:3577 +msgid "Part Parameter Template" +msgstr "" + +#: part/models.py:3604 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3588 +#: part/models.py:3609 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3625 +#: part/models.py:3646 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3640 +#: part/models.py:3661 msgid "Parameter Name" msgstr "" -#: part/models.py:3647 +#: part/models.py:3668 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3655 +#: part/models.py:3676 msgid "Parameter description" msgstr "" -#: part/models.py:3661 templates/js/translated/part.js:1628 -#: templates/js/translated/table_filters.js:825 +#: part/models.py:3682 templates/js/translated/part.js:1631 +#: templates/js/translated/table_filters.js:830 msgid "Checkbox" msgstr "" -#: part/models.py:3662 +#: part/models.py:3683 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3668 +#: part/models.py:3689 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3745 +#: part/models.py:3723 +msgid "Part Parameter" +msgstr "" + +#: part/models.py:3749 +msgid "Parameter cannot be modified - part is locked" +msgstr "" + +#: part/models.py:3785 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3788 +#: part/models.py:3828 msgid "Parent Part" msgstr "" -#: part/models.py:3796 part/models.py:3897 part/models.py:3898 +#: part/models.py:3836 part/models.py:3944 part/models.py:3945 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3801 -msgid "Data" +#: part/models.py:3842 +msgid "Parameter Value" msgstr "" -#: part/models.py:3802 -msgid "Parameter Value" +#: part/models.py:3892 +msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:3904 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3951 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3905 +#: part/models.py:3952 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3943 +#: part/models.py:3990 msgid "Part ID or part name" msgstr "" -#: part/models.py:3944 +#: part/models.py:3991 msgid "Unique part ID value" msgstr "" -#: part/models.py:3946 +#: part/models.py:3993 msgid "Part IPN value" msgstr "" -#: part/models.py:3947 +#: part/models.py:3994 msgid "Level" msgstr "" -#: part/models.py:3947 +#: part/models.py:3994 msgid "BOM level" msgstr "" -#: part/models.py:4037 +#: part/models.py:4105 +msgid "BOM item cannot be modified - assembly is locked" +msgstr "" + +#: part/models.py:4112 +msgid "BOM item cannot be modified - variant assembly is locked" +msgstr "" + +#: part/models.py:4122 msgid "Select parent part" msgstr "" -#: part/models.py:4047 +#: part/models.py:4132 msgid "Sub part" msgstr "" -#: part/models.py:4048 +#: part/models.py:4133 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4059 +#: part/models.py:4144 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4065 +#: part/models.py:4150 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4071 +#: part/models.py:4156 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4078 part/templates/part/upload_bom.html:55 +#: part/models.py:4163 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4079 +#: part/models.py:4164 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4086 +#: part/models.py:4171 msgid "BOM item reference" msgstr "" -#: part/models.py:4094 +#: part/models.py:4179 msgid "BOM item notes" msgstr "" -#: part/models.py:4100 +#: part/models.py:4185 msgid "Checksum" msgstr "" -#: part/models.py:4101 +#: part/models.py:4186 msgid "BOM line checksum" msgstr "" -#: part/models.py:4106 templates/js/translated/table_filters.js:174 +#: part/models.py:4191 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4107 +#: part/models.py:4192 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4112 part/templates/part/upload_bom.html:57 +#: part/models.py:4197 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:4113 +#: part/models.py:4198 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4118 part/templates/part/upload_bom.html:56 +#: part/models.py:4203 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4119 +#: part/models.py:4204 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4204 stock/models.py:663 +#: part/models.py:4289 stock/models.py:663 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4214 part/models.py:4216 +#: part/models.py:4299 part/models.py:4301 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4354 +#: part/models.py:4439 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4375 +#: part/models.py:4460 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4388 +#: part/models.py:4473 msgid "Parent BOM item" msgstr "" -#: part/models.py:4396 +#: part/models.py:4481 msgid "Substitute part" msgstr "" -#: part/models.py:4412 +#: part/models.py:4497 msgid "Part 1" msgstr "" -#: part/models.py:4420 +#: part/models.py:4505 msgid "Part 2" msgstr "" -#: part/models.py:4421 +#: part/models.py:4506 msgid "Select Related Part" msgstr "" -#: part/models.py:4440 +#: part/models.py:4525 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4445 +#: part/models.py:4530 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:118 +#: part/serializers.py:124 msgid "Parent Category" msgstr "" -#: part/serializers.py:119 templates/js/translated/part.js:309 +#: part/serializers.py:125 templates/js/translated/part.js:308 msgid "Parent part category" msgstr "" -#: part/serializers.py:126 part/serializers.py:148 +#: part/serializers.py:132 part/serializers.py:154 #: part/templates/part/category.html:122 part/templates/part/category.html:207 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" -#: part/serializers.py:180 +#: part/serializers.py:189 msgid "Results" msgstr "" -#: part/serializers.py:181 +#: part/serializers.py:190 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:205 part/serializers.py:223 stock/serializers.py:562 +#: part/serializers.py:217 part/serializers.py:235 stock/serializers.py:608 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:268 +#: part/serializers.py:283 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:392 +#: part/serializers.py:410 msgid "No parts selected" msgstr "" -#: part/serializers.py:402 +#: part/serializers.py:420 msgid "Select category" msgstr "" -#: part/serializers.py:437 +#: part/serializers.py:455 msgid "Original Part" msgstr "" -#: part/serializers.py:438 +#: part/serializers.py:456 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:461 msgid "Copy Image" msgstr "" -#: part/serializers.py:444 +#: part/serializers.py:462 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:450 part/templates/part/detail.html:277 +#: part/serializers.py:468 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:451 +#: part/serializers.py:469 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:457 +#: part/serializers.py:475 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:458 +#: part/serializers.py:476 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:464 +#: part/serializers.py:482 msgid "Copy Notes" msgstr "" -#: part/serializers.py:465 +#: part/serializers.py:483 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:483 +#: part/serializers.py:501 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:485 +#: part/serializers.py:503 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:492 +#: part/serializers.py:510 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:493 +#: part/serializers.py:511 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:510 +#: part/serializers.py:528 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:526 +#: part/serializers.py:544 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:536 +#: part/serializers.py:554 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:543 +#: part/serializers.py:561 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:552 +#: part/serializers.py:570 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:563 +#: part/serializers.py:581 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:570 +#: part/serializers.py:588 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:834 -msgid "External Stock" -msgstr "" - -#: part/serializers.py:836 +#: part/serializers.py:864 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:839 +#: part/serializers.py:867 msgid "Variant Stock" msgstr "" -#: part/serializers.py:869 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:472 +#: part/serializers.py:897 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:870 +#: part/serializers.py:898 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:876 templates/js/translated/part.js:102 +#: part/serializers.py:904 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:877 +#: part/serializers.py:905 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:883 +#: part/serializers.py:911 msgid "Supplier Information" msgstr "" -#: part/serializers.py:884 +#: part/serializers.py:912 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:892 +#: part/serializers.py:920 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:893 +#: part/serializers.py:921 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:898 +#: part/serializers.py:926 msgid "Existing Image" msgstr "" -#: part/serializers.py:899 +#: part/serializers.py:927 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:916 +#: part/serializers.py:944 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1122 +#: part/serializers.py:1150 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1132 +#: part/serializers.py:1160 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1142 +#: part/serializers.py:1170 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1148 +#: part/serializers.py:1176 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1149 +#: part/serializers.py:1177 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1154 +#: part/serializers.py:1182 msgid "Generate Report" msgstr "" -#: part/serializers.py:1155 +#: part/serializers.py:1183 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1160 +#: part/serializers.py:1188 msgid "Update Parts" msgstr "" -#: part/serializers.py:1161 +#: part/serializers.py:1189 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1169 +#: part/serializers.py:1197 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1275 +#: part/serializers.py:1303 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1282 +#: part/serializers.py:1310 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1290 +#: part/serializers.py:1318 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1297 +#: part/serializers.py:1325 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1326 +#: part/serializers.py:1354 msgid "Update" msgstr "" -#: part/serializers.py:1327 +#: part/serializers.py:1355 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1350 +#: part/serializers.py:1378 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1357 +#: part/serializers.py:1385 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1360 +#: part/serializers.py:1388 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1727 +#: part/serializers.py:1759 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1735 +#: part/serializers.py:1767 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1736 +#: part/serializers.py:1768 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1741 +#: part/serializers.py:1773 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1742 +#: part/serializers.py:1774 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1747 +#: part/serializers.py:1779 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1748 +#: part/serializers.py:1780 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1753 +#: part/serializers.py:1785 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1754 +#: part/serializers.py:1786 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1788 +#: part/serializers.py:1823 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1789 +#: part/serializers.py:1824 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1819 +#: part/serializers.py:1856 msgid "No part column specified" msgstr "" -#: part/serializers.py:1863 +#: part/serializers.py:1900 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1866 +#: part/serializers.py:1903 msgid "No matching part found" msgstr "" -#: part/serializers.py:1869 +#: part/serializers.py:1906 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1878 +#: part/serializers.py:1915 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1886 +#: part/serializers.py:1923 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1907 +#: part/serializers.py:1946 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:225 templates/js/translated/part.js:1067 -#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 +#: part/stocktake.py:225 templates/js/translated/part.js:1070 +#: templates/js/translated/part.js:1825 templates/js/translated/part.js:1881 #: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "" @@ -7507,7 +7772,7 @@ msgstr "" #: part/templates/part/part_base.html:52 #: stock/templates/stock/item_base.html:62 -#: stock/templates/stock/location.html:74 templates/js/translated/label.js:143 +#: stock/templates/stock/location.html:74 templates/js/translated/label.js:136 msgid "Print Label" msgstr "" @@ -7529,7 +7794,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:2296 msgid "Part actions" msgstr "" @@ -7569,6 +7834,10 @@ msgstr "" msgid "Part can be sold to customers" msgstr "" +#: part/templates/part/part_base.html:145 +msgid "Part is not active" +msgstr "" + #: part/templates/part/part_base.html:153 msgid "Part is virtual (not a physical part)" msgstr "" @@ -7597,7 +7866,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:322 templates/js/translated/bom.js:1071 -#: templates/js/translated/part.js:1265 templates/js/translated/part.js:2444 +#: templates/js/translated/part.js:1268 templates/js/translated/part.js:2447 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" @@ -7690,8 +7959,8 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/part.js:1243 templates/js/translated/part.js:2146 -#: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 +#: templates/js/translated/part.js:1246 templates/js/translated/part.js:2149 +#: templates/js/translated/part.js:2395 templates/js/translated/stock.js:1059 #: templates/js/translated/stock.js:2070 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -7811,8 +8080,8 @@ msgstr "" #: part/templates/part/stock_count.html:7 #: templates/js/translated/model_renderers.js:227 -#: templates/js/translated/part.js:705 templates/js/translated/part.js:2141 -#: templates/js/translated/part.js:2143 +#: templates/js/translated/part.js:704 templates/js/translated/part.js:2144 +#: templates/js/translated/part.js:2146 msgid "No Stock" msgstr "" @@ -7956,7 +8225,7 @@ msgstr "" msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2589 +#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2590 #: templates/js/translated/sales_order.js:1953 msgid "Insufficient stock available" msgstr "" @@ -8051,7 +8320,7 @@ msgstr "" msgid "Quantity to allocate" msgstr "" -#: plugin/base/label/label.py:39 templates/js/translated/label.js:155 +#: plugin/base/label/label.py:39 templates/js/translated/label.js:148 msgid "Label printing failed" msgstr "" @@ -8748,7 +9017,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report.html:25 #: report/templates/report/inventree_test_report.html:88 stock/models.py:825 -#: stock/serializers.py:149 stock/templates/stock/item_base.html:311 +#: stock/serializers.py:151 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:230 @@ -8778,7 +9047,7 @@ msgstr "" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2447 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2457 msgid "Result" msgstr "" @@ -8799,7 +9068,7 @@ msgid "No result" msgstr "" #: report/templates/report/inventree_test_report.html:153 -#: stock/templates/stock/stock_sidebar.html:16 +#: stock/serializers.py:591 stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" @@ -8829,10 +9098,6 @@ msgstr "" msgid "Location ID" msgstr "" -#: stock/admin.py:53 stock/admin.py:175 -msgid "Location Name" -msgstr "" - #: stock/admin.py:63 stock/templates/stock/location.html:131 #: stock/templates/stock/location.html:137 msgid "Location Path" @@ -8909,7 +9174,7 @@ msgstr "" msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:369 stock/serializers.py:1085 +#: stock/api.py:369 stock/serializers.py:1148 msgid "Parent Location" msgstr "" @@ -8917,44 +9182,45 @@ msgstr "" msgid "Filter by parent location" msgstr "" -#: stock/api.py:625 templates/js/translated/table_filters.js:427 +#: stock/api.py:617 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:813 +#: stock/api.py:805 msgid "Part Tree" msgstr "" -#: stock/api.py:843 +#: stock/api.py:835 msgid "Expiry date before" msgstr "" -#: stock/api.py:847 +#: stock/api.py:839 msgid "Expiry date after" msgstr "" -#: stock/api.py:850 stock/templates/stock/item_base.html:439 +#: stock/api.py:842 stock/serializers.py:596 +#: stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "" -#: stock/api.py:937 +#: stock/api.py:929 msgid "Quantity is required" msgstr "" -#: stock/api.py:943 +#: stock/api.py:935 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:974 +#: stock/api.py:966 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:984 +#: stock/api.py:976 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1015 +#: stock/api.py:1007 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -9021,7 +9287,7 @@ msgstr "" msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:669 stock/serializers.py:446 +#: stock/models.py:669 stock/serializers.py:477 msgid "Stock item cannot be created for virtual parts" msgstr "" @@ -9066,7 +9332,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:799 stock/serializers.py:1476 +#: stock/models.py:799 stock/serializers.py:1542 msgid "Packaging this stock item is stored in" msgstr "" @@ -9078,7 +9344,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:843 stock/serializers.py:1459 +#: stock/models.py:843 stock/serializers.py:1525 msgid "Batch code for this stock item" msgstr "" @@ -9155,7 +9421,7 @@ msgstr "" msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1520 stock/serializers.py:660 +#: stock/models.py:1520 stock/serializers.py:718 msgid "Serial numbers already exist" msgstr "" @@ -9187,7 +9453,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1658 stock/serializers.py:1365 +#: stock/models.py:1658 stock/serializers.py:1431 msgid "Duplicate stock items" msgstr "" @@ -9207,288 +9473,330 @@ msgstr "" msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2345 +#: stock/models.py:2317 +msgid "Stock Item Tracking" +msgstr "" + +#: stock/models.py:2350 msgid "Entry notes" msgstr "" -#: stock/models.py:2413 +#: stock/models.py:2390 +msgid "Stock Item Test Result" +msgstr "" + +#: stock/models.py:2423 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2418 +#: stock/models.py:2428 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2423 +#: stock/models.py:2433 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2447 +#: stock/models.py:2457 msgid "Test result" msgstr "" -#: stock/models.py:2454 +#: stock/models.py:2464 msgid "Test output value" msgstr "" -#: stock/models.py:2462 +#: stock/models.py:2472 msgid "Test result attachment" msgstr "" -#: stock/models.py:2466 +#: stock/models.py:2476 msgid "Test notes" msgstr "" -#: stock/models.py:2474 templates/js/translated/stock.js:1548 +#: stock/models.py:2484 templates/js/translated/stock.js:1548 msgid "Test station" msgstr "" -#: stock/models.py:2475 +#: stock/models.py:2485 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2481 +#: stock/models.py:2491 msgid "Started" msgstr "" -#: stock/models.py:2482 +#: stock/models.py:2492 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2488 +#: stock/models.py:2498 msgid "Finished" msgstr "" -#: stock/models.py:2489 +#: stock/models.py:2499 msgid "The timestamp of the test finish" msgstr "" -#: stock/serializers.py:74 +#: stock/serializers.py:76 msgid "Generated batch code" msgstr "" -#: stock/serializers.py:83 +#: stock/serializers.py:85 msgid "Select build order" msgstr "" -#: stock/serializers.py:92 +#: stock/serializers.py:94 msgid "Select stock item to generate batch code for" msgstr "" -#: stock/serializers.py:101 +#: stock/serializers.py:103 msgid "Select location to generate batch code for" msgstr "" -#: stock/serializers.py:110 +#: stock/serializers.py:112 msgid "Select part to generate batch code for" msgstr "" -#: stock/serializers.py:119 +#: stock/serializers.py:121 msgid "Select purchase order" msgstr "" -#: stock/serializers.py:126 +#: stock/serializers.py:128 msgid "Enter quantity for batch code" msgstr "" -#: stock/serializers.py:149 +#: stock/serializers.py:151 msgid "Generated serial number" msgstr "" -#: stock/serializers.py:158 +#: stock/serializers.py:160 msgid "Select part to generate serial number for" msgstr "" -#: stock/serializers.py:166 +#: stock/serializers.py:168 msgid "Quantity of serial numbers to generate" msgstr "" -#: stock/serializers.py:228 +#: stock/serializers.py:233 msgid "Test template for this result" msgstr "" -#: stock/serializers.py:247 +#: stock/serializers.py:252 msgid "Template ID or test name must be provided" msgstr "" -#: stock/serializers.py:279 +#: stock/serializers.py:284 msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:315 +#: stock/serializers.py:320 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:438 +#: stock/serializers.py:449 stock/templates/stock/item_base.html:193 +msgid "Parent Item" +msgstr "" + +#: stock/serializers.py:450 +msgid "Parent stock item" +msgstr "" + +#: stock/serializers.py:469 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:558 +#: stock/serializers.py:585 templates/js/translated/build.js:991 +#: templates/js/translated/build.js:2344 +msgid "Allocated Quantity" +msgstr "" + +#: stock/serializers.py:588 stock/templates/stock/item_base.html:437 +#: templates/js/translated/table_filters.js:435 users/models.py:174 +msgid "Expired" +msgstr "" + +#: stock/serializers.py:594 stock/templates/stock/stock_sidebar.html:20 +msgid "Child Items" +msgstr "" + +#: stock/serializers.py:598 +msgid "Tracking Items" +msgstr "" + +#: stock/serializers.py:604 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:595 +#: stock/serializers.py:623 +msgid "Minimum Pricing" +msgstr "" + +#: stock/serializers.py:629 +msgid "Maximum Pricing" +msgstr "" + +#: stock/serializers.py:653 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:608 +#: stock/serializers.py:666 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:615 +#: stock/serializers.py:673 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:626 stock/serializers.py:1322 stock/serializers.py:1578 +#: stock/serializers.py:684 stock/serializers.py:1388 stock/serializers.py:1644 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:633 +#: stock/serializers.py:691 msgid "Optional note field" msgstr "" -#: stock/serializers.py:643 +#: stock/serializers.py:701 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:698 +#: stock/serializers.py:756 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:705 +#: stock/serializers.py:763 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:706 +#: stock/serializers.py:764 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:711 stock/serializers.py:791 stock/serializers.py:887 -#: stock/serializers.py:937 +#: stock/serializers.py:769 stock/serializers.py:849 stock/serializers.py:945 +#: stock/serializers.py:995 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:719 +#: stock/serializers.py:777 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:727 +#: stock/serializers.py:785 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:738 +#: stock/serializers.py:796 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:751 +#: stock/serializers.py:809 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:786 +#: stock/serializers.py:844 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:821 +#: stock/serializers.py:879 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:834 +#: stock/serializers.py:892 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:851 +#: stock/serializers.py:909 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:882 +#: stock/serializers.py:940 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:919 +#: stock/serializers.py:977 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:925 +#: stock/serializers.py:983 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1021 stock/serializers.py:1093 +#: stock/serializers.py:1079 stock/serializers.py:1156 #: stock/templates/stock/location.html:165 #: stock/templates/stock/location.html:222 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1086 templates/js/translated/stock.js:152 +#: stock/serializers.py:1149 templates/js/translated/stock.js:152 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1194 +#: stock/serializers.py:1260 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1198 +#: stock/serializers.py:1264 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1202 +#: stock/serializers.py:1268 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1226 +#: stock/serializers.py:1292 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1232 +#: stock/serializers.py:1298 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1240 +#: stock/serializers.py:1306 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1250 stock/serializers.py:1504 +#: stock/serializers.py:1316 stock/serializers.py:1570 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1329 +#: stock/serializers.py:1395 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1334 +#: stock/serializers.py:1400 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1335 +#: stock/serializers.py:1401 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1340 +#: stock/serializers.py:1406 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1341 +#: stock/serializers.py:1407 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1351 +#: stock/serializers.py:1417 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1418 +#: stock/serializers.py:1484 msgid "No Change" msgstr "" -#: stock/serializers.py:1447 +#: stock/serializers.py:1513 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1466 +#: stock/serializers.py:1532 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1494 +#: stock/serializers.py:1560 msgid "Stock transaction notes" msgstr "" @@ -9757,10 +10065,6 @@ msgstr "" msgid "Build" msgstr "" -#: stock/templates/stock/item_base.html:193 -msgid "Parent Item" -msgstr "" - #: stock/templates/stock/item_base.html:211 msgid "No manufacturer set" msgstr "" @@ -9836,11 +10140,6 @@ msgstr "" msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:437 -#: templates/js/translated/table_filters.js:435 users/models.py:174 -msgid "Expired" -msgstr "" - #: stock/templates/stock/item_base.html:439 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" @@ -9988,10 +10287,6 @@ msgstr "" msgid "Allocations" msgstr "" -#: stock/templates/stock/stock_sidebar.html:20 -msgid "Child Items" -msgstr "" - #: templates/403.html:6 templates/403.html:12 templates/403_csrf.html:7 msgid "Permission Denied" msgstr "" @@ -10466,8 +10761,8 @@ 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:393 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:245 users/models.py:402 +#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 +#: templates/js/translated/stock.js:245 users/models.py:406 msgid "Delete" msgstr "" @@ -10507,12 +10802,12 @@ msgid "No category parameter templates found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:308 -#: templates/js/translated/part.js:1646 +#: templates/js/translated/part.js:1649 msgid "Edit Template" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:309 -#: templates/js/translated/part.js:1647 +#: templates/js/translated/part.js:1650 msgid "Delete Template" msgstr "" @@ -11145,7 +11440,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2556 +#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2557 msgid "Required Quantity" msgstr "" @@ -11159,7 +11454,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3219 +#: templates/js/translated/part.js:3222 msgid "Minimum Quantity" msgstr "" @@ -11514,7 +11809,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2500 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2501 msgid "Variant stock allowed" msgstr "" @@ -11534,30 +11829,30 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2621 +#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2622 msgid "External stock" msgstr "" -#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2595 +#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2596 #: templates/js/translated/sales_order.js:1946 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2599 +#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2600 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2601 -#: templates/js/translated/part.js:1257 +#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2602 +#: templates/js/translated/part.js:1260 #: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2603 +#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2604 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2586 +#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2587 msgid "Consumable item" msgstr "" @@ -11589,7 +11884,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2485 +#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2486 msgid "Required Part" msgstr "" @@ -11758,10 +12053,6 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:991 templates/js/translated/build.js:2344 -msgid "Allocated Quantity" -msgstr "" - #: templates/js/translated/build.js:1005 msgid "Location not specified" msgstr "" @@ -11873,9 +12164,9 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2117 templates/js/translated/build.js:2479 +#: templates/js/translated/build.js:2117 templates/js/translated/build.js:2480 #: templates/js/translated/forms.js:2163 templates/js/translated/forms.js:2179 -#: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 +#: templates/js/translated/part.js:2319 templates/js/translated/part.js:2745 #: templates/js/translated/stock.js:1983 templates/js/translated/stock.js:2710 msgid "Select" msgstr "" @@ -11906,59 +12197,59 @@ msgstr "" msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2455 +#: templates/js/translated/build.js:2456 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2456 +#: templates/js/translated/build.js:2457 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2474 +#: templates/js/translated/build.js:2475 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2504 templates/js/translated/part.js:791 -#: templates/js/translated/part.js:1203 +#: templates/js/translated/build.js:2505 templates/js/translated/part.js:790 +#: templates/js/translated/part.js:1206 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2539 +#: templates/js/translated/build.js:2540 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2591 +#: templates/js/translated/build.js:2592 #: templates/js/translated/sales_order.js:1951 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2646 +#: templates/js/translated/build.js:2647 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2653 +#: templates/js/translated/build.js:2654 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2654 +#: templates/js/translated/build.js:2655 msgid "Allocate tracked items against individual build outputs" msgstr "" -#: templates/js/translated/build.js:2662 +#: templates/js/translated/build.js:2663 #: templates/js/translated/sales_order.js:2052 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2667 templates/js/translated/stock.js:1868 +#: templates/js/translated/build.js:2668 templates/js/translated/stock.js:1868 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2671 +#: templates/js/translated/build.js:2672 #: templates/js/translated/sales_order.js:2046 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2675 +#: templates/js/translated/build.js:2676 msgid "Remove stock allocation" msgstr "" @@ -12105,7 +12396,7 @@ msgid "Delete Parameters" msgstr "" #: templates/js/translated/company.js:1191 -#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2245 +#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2248 msgid "Order parts" msgstr "" @@ -12122,34 +12413,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:1279 -#: templates/js/translated/company.js:1567 templates/js/translated/part.js:799 -#: templates/js/translated/part.js:1211 +#: templates/js/translated/company.js:1567 templates/js/translated/part.js:798 +#: templates/js/translated/part.js:1214 msgid "Template part" msgstr "" #: templates/js/translated/company.js:1283 -#: templates/js/translated/company.js:1571 templates/js/translated/part.js:803 -#: templates/js/translated/part.js:1215 +#: templates/js/translated/company.js:1571 templates/js/translated/part.js:802 +#: templates/js/translated/part.js:1218 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1465 +#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1468 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1528 +#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1531 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1529 +#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1532 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1434 +#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1437 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1550 +#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1553 msgid "Delete Parameter" msgstr "" @@ -12323,15 +12614,15 @@ msgstr "" msgid "No parts required for builds" msgstr "" -#: templates/js/translated/label.js:55 templates/js/translated/report.js:38 +#: templates/js/translated/label.js:48 templates/js/translated/report.js:38 msgid "Select Items" msgstr "" -#: templates/js/translated/label.js:56 templates/js/translated/report.js:39 +#: templates/js/translated/label.js:49 templates/js/translated/report.js:39 msgid "No items selected for printing" msgstr "" -#: templates/js/translated/label.js:150 +#: templates/js/translated/label.js:143 msgid "Labels sent to printer" msgstr "" @@ -12400,7 +12691,7 @@ msgstr "" #: templates/js/translated/news.js:38 #: templates/js/translated/notification.js:46 -#: templates/js/translated/part.js:1605 +#: templates/js/translated/part.js:1608 msgid "ID" msgstr "" @@ -12481,343 +12772,343 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:333 templates/js/translated/stock.js:175 +#: templates/js/translated/part.js:332 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:353 +#: templates/js/translated/part.js:352 msgid "Create Part Category" msgstr "" -#: templates/js/translated/part.js:356 +#: templates/js/translated/part.js:355 msgid "Create new category after this one" msgstr "" -#: templates/js/translated/part.js:357 +#: templates/js/translated/part.js:356 msgid "Part category created" msgstr "" -#: templates/js/translated/part.js:371 +#: templates/js/translated/part.js:370 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:384 +#: templates/js/translated/part.js:383 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:389 +#: templates/js/translated/part.js:388 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:398 +#: templates/js/translated/part.js:397 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:402 +#: templates/js/translated/part.js:401 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:407 +#: templates/js/translated/part.js:406 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:431 +#: templates/js/translated/part.js:430 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:433 +#: templates/js/translated/part.js:432 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:434 +#: templates/js/translated/part.js:433 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:462 +#: templates/js/translated/part.js:461 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:464 +#: templates/js/translated/part.js:463 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:475 +#: templates/js/translated/part.js:474 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:532 +#: templates/js/translated/part.js:531 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:533 +#: templates/js/translated/part.js:532 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:547 +#: templates/js/translated/part.js:546 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:549 +#: templates/js/translated/part.js:548 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:550 +#: templates/js/translated/part.js:549 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:551 +#: templates/js/translated/part.js:550 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:558 +#: templates/js/translated/part.js:557 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:594 +#: templates/js/translated/part.js:593 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:596 +#: templates/js/translated/part.js:595 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:601 +#: templates/js/translated/part.js:600 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:603 +#: templates/js/translated/part.js:602 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:620 +#: templates/js/translated/part.js:619 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:630 +#: templates/js/translated/part.js:629 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:633 +#: templates/js/translated/part.js:632 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:658 +#: templates/js/translated/part.js:657 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:686 -#: templates/js/translated/table_filters.js:747 +#: templates/js/translated/part.js:685 +#: templates/js/translated/table_filters.js:752 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:689 +#: templates/js/translated/part.js:688 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:749 +#: templates/js/translated/part.js:748 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:772 +#: templates/js/translated/part.js:771 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:795 templates/js/translated/part.js:1207 +#: templates/js/translated/part.js:794 templates/js/translated/part.js:1210 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:807 +#: templates/js/translated/part.js:806 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:811 +#: templates/js/translated/part.js:810 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:890 +#: templates/js/translated/part.js:893 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:890 +#: templates/js/translated/part.js:893 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:898 +#: templates/js/translated/part.js:901 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:902 +#: templates/js/translated/part.js:905 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:1051 +#: templates/js/translated/part.js:1054 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1109 templates/js/translated/part.js:1145 +#: templates/js/translated/part.js:1112 templates/js/translated/part.js:1148 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1113 templates/js/translated/part.js:1155 +#: templates/js/translated/part.js:1116 templates/js/translated/part.js:1158 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1282 +#: templates/js/translated/part.js:1285 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1600 +#: templates/js/translated/part.js:1603 msgid "No part parameter templates found" msgstr "" -#: templates/js/translated/part.js:1663 +#: templates/js/translated/part.js:1666 msgid "Edit Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1675 +#: templates/js/translated/part.js:1678 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/js/translated/part.js:1683 +#: templates/js/translated/part.js:1686 msgid "Delete Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1717 +#: templates/js/translated/part.js:1720 #: templates/js/translated/purchase_order.js:1654 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/part.js:1861 +#: templates/js/translated/part.js:1864 #: 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:1907 +#: templates/js/translated/part.js:1910 #: templates/js/translated/purchase_order.js:2220 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1970 +#: templates/js/translated/part.js:1973 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1992 +#: templates/js/translated/part.js:1995 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2080 templates/js/translated/part.js:2506 +#: templates/js/translated/part.js:2083 templates/js/translated/part.js:2509 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:2201 +#: templates/js/translated/part.js:2204 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2206 +#: templates/js/translated/part.js:2209 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2236 +#: templates/js/translated/part.js:2239 msgid "Set category" msgstr "" -#: templates/js/translated/part.js:2287 +#: templates/js/translated/part.js:2290 msgid "part" msgstr "" -#: templates/js/translated/part.js:2288 +#: templates/js/translated/part.js:2291 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2384 +#: templates/js/translated/part.js:2387 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 +#: templates/js/translated/part.js:2534 templates/js/translated/part.js:2664 #: templates/js/translated/stock.js:2669 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2547 +#: templates/js/translated/part.js:2550 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2645 +#: templates/js/translated/part.js:2648 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2689 +#: templates/js/translated/part.js:2684 templates/js/translated/stock.js:2689 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2761 +#: templates/js/translated/part.js:2764 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2777 +#: templates/js/translated/part.js:2780 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2865 +#: templates/js/translated/part.js:2868 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2887 templates/js/translated/search.js:342 +#: templates/js/translated/part.js:2890 templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/part.js:2937 templates/js/translated/stock.js:1456 +#: templates/js/translated/part.js:2940 templates/js/translated/stock.js:1456 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2938 templates/js/translated/stock.js:1457 +#: templates/js/translated/part.js:2941 templates/js/translated/stock.js:1457 #: templates/js/translated/stock.js:1731 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2942 +#: templates/js/translated/part.js:2945 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2958 +#: templates/js/translated/part.js:2961 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2972 +#: templates/js/translated/part.js:2975 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3051 templates/js/translated/part.js:3052 +#: templates/js/translated/part.js:3054 templates/js/translated/part.js:3055 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3054 +#: templates/js/translated/part.js:3057 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3060 +#: templates/js/translated/part.js:3063 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3110 +#: templates/js/translated/part.js:3113 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3116 +#: templates/js/translated/part.js:3119 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3212 +#: templates/js/translated/part.js:3215 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3228 +#: templates/js/translated/part.js:3231 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3273 +#: templates/js/translated/part.js:3276 msgid "Minimum Stock Level" msgstr "" @@ -13593,7 +13884,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1042 users/models.py:392 +#: templates/js/translated/stock.js:1042 users/models.py:396 msgid "Add" msgstr "" @@ -13947,7 +14238,7 @@ msgid "Include subcategories" msgstr "" #: templates/js/translated/table_filters.js:287 -#: templates/js/translated/table_filters.js:759 +#: templates/js/translated/table_filters.js:764 msgid "Subscribed" msgstr "" @@ -14102,40 +14393,44 @@ msgstr "" msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:725 +#: templates/js/translated/table_filters.js:722 +msgid "Show locked parts" +msgstr "" + +#: templates/js/translated/table_filters.js:730 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:733 -#: templates/js/translated/table_filters.js:833 +#: templates/js/translated/table_filters.js:738 +#: templates/js/translated/table_filters.js:838 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:734 +#: templates/js/translated/table_filters.js:739 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:738 +#: templates/js/translated/table_filters.js:743 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:739 +#: templates/js/translated/table_filters.js:744 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:743 +#: templates/js/translated/table_filters.js:748 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:751 +#: templates/js/translated/table_filters.js:756 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:763 +#: templates/js/translated/table_filters.js:768 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:829 +#: templates/js/translated/table_filters.js:834 msgid "Has Choices" msgstr "" @@ -14207,10 +14502,6 @@ msgstr "" msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:558 -msgid "Columns" -msgstr "" - #: templates/js/translated/tables.js:561 msgid "All" msgstr "" @@ -14484,35 +14775,34 @@ msgstr "" msgid "Revoked" msgstr "" -#: users/models.py:375 +#: users/models.py:379 msgid "Permission set" msgstr "" -#: users/models.py:384 +#: users/models.py:388 msgid "Group" msgstr "" -#: users/models.py:388 +#: users/models.py:392 msgid "View" msgstr "" -#: users/models.py:388 +#: users/models.py:392 msgid "Permission to view items" msgstr "" -#: users/models.py:392 +#: users/models.py:396 msgid "Permission to add items" msgstr "" -#: users/models.py:396 +#: users/models.py:400 msgid "Change" msgstr "" -#: users/models.py:398 +#: users/models.py:402 msgid "Permissions to edit items" msgstr "" -#: users/models.py:404 +#: users/models.py:408 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 1b87caa5f2a8..087f94ccb4c4 100644 --- a/src/backend/InvenTree/locale/tr/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/tr/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-07-05 02:47+0000\n" +"POT-Creation-Date: 2024-07-08 14:46+0000\n" "PO-Revision-Date: 2024-07-05 14:58\n" "Last-Translator: \n" "Language-Team: Turkish\n" @@ -21,7 +21,7 @@ msgstr "" msgid "API endpoint not found" msgstr "API uç noktası bulunamadı" -#: InvenTree/api.py:520 +#: InvenTree/api.py:505 msgid "User does not have permission to view this model" msgstr "Kullanıcının bu modeli görüntüleme izni yok" @@ -56,21 +56,21 @@ msgstr "Hata detaylarını admin panelinde bulabilirsiniz" msgid "Enter date" msgstr "Tarih giriniz" -#: InvenTree/fields.py:205 InvenTree/models.py:918 build/serializers.py:452 -#: build/serializers.py:530 build/templates/build/sidebar.html:21 -#: company/models.py:817 company/templates/company/sidebar.html:37 +#: InvenTree/fields.py:205 InvenTree/models.py:921 build/serializers.py:456 +#: build/serializers.py:534 build/templates/build/sidebar.html:21 +#: company/models.py:824 company/templates/company/sidebar.html:37 #: order/models.py:1296 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:3183 part/templates/part/part_sidebar.html:63 +#: part/models.py:3193 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:230 stock/models.py:2344 stock/models.py:2466 -#: stock/serializers.py:632 stock/serializers.py:790 stock/serializers.py:886 -#: stock/serializers.py:936 stock/serializers.py:1239 stock/serializers.py:1328 -#: stock/serializers.py:1493 stock/templates/stock/stock_sidebar.html:25 +#: stock/admin.py:230 stock/models.py:2349 stock/models.py:2476 +#: stock/serializers.py:690 stock/serializers.py:848 stock/serializers.py:944 +#: stock/serializers.py:994 stock/serializers.py:1305 stock/serializers.py:1394 +#: stock/serializers.py:1559 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:1081 +#: templates/js/translated/part.js:1084 #: templates/js/translated/purchase_order.js:2200 #: templates/js/translated/return_order.js:775 #: templates/js/translated/sales_order.js:1103 @@ -371,41 +371,41 @@ msgstr "Plugin Metaverileri" msgid "JSON metadata field, for use by external plugins" msgstr "Harici eklentiler tarafından kullanım için JSON metadata alanı" -#: InvenTree/models.py:408 +#: InvenTree/models.py:411 msgid "Improperly formatted pattern" msgstr "Yanlış biçimlendirilmiş desen" -#: InvenTree/models.py:415 +#: InvenTree/models.py:418 msgid "Unknown format key specified" msgstr "Belirtilen bilinmeyen format anahtarı" -#: InvenTree/models.py:421 +#: InvenTree/models.py:424 msgid "Missing required format key" msgstr "Gerekli format anahtarı eksik" -#: InvenTree/models.py:432 +#: InvenTree/models.py:435 msgid "Reference field cannot be empty" msgstr "Referans alanı boş olamaz" -#: InvenTree/models.py:440 +#: InvenTree/models.py:443 msgid "Reference must match required pattern" msgstr "Referans {pattern} deseniyle mutlaka eşleşmeli" -#: InvenTree/models.py:471 +#: InvenTree/models.py:474 msgid "Reference number is too large" msgstr "Referans sayısı çok fazla" -#: InvenTree/models.py:719 +#: InvenTree/models.py:722 msgid "Duplicate names cannot exist under the same parent" msgstr "Aynı kaynak altında birden fazla aynı isim kullanılamaz" -#: InvenTree/models.py:736 +#: InvenTree/models.py:739 msgid "Invalid choice" msgstr "Geçersiz seçim" -#: InvenTree/models.py:766 common/models.py:2678 common/models.py:3103 -#: common/serializers.py:408 company/models.py:580 machine/models.py:24 -#: part/models.py:891 part/models.py:3639 plugin/models.py:51 +#: InvenTree/models.py:769 common/models.py:2659 common/models.py:3089 +#: common/serializers.py:412 company/models.py:587 machine/models.py:24 +#: part/models.py:895 part/models.py:3660 plugin/models.py:51 #: report/models.py:150 stock/models.py:74 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -417,20 +417,20 @@ msgstr "Geçersiz seçim" #: templates/js/translated/company.js:724 #: templates/js/translated/company.js:913 #: templates/js/translated/company.js:1165 -#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1187 -#: templates/js/translated/part.js:1475 templates/js/translated/part.js:1611 -#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2716 +#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1190 +#: templates/js/translated/part.js:1478 templates/js/translated/part.js:1614 +#: templates/js/translated/part.js:2752 templates/js/translated/stock.js:2716 msgid "Name" msgstr "Adı" -#: InvenTree/models.py:772 build/models.py:235 -#: build/templates/build/detail.html:24 common/models.py:138 -#: company/models.py:509 company/models.py:808 +#: InvenTree/models.py:775 build/models.py:242 +#: build/templates/build/detail.html:24 common/models.py:143 +#: company/models.py:515 company/models.py:815 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 -#: order/models.py:1329 part/admin.py:305 part/admin.py:408 part/models.py:914 -#: part/models.py:3654 part/templates/part/category.html:82 +#: order/models.py:1329 part/admin.py:305 part/admin.py:408 part/models.py:918 +#: part/models.py:3675 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:156 #: report/models.py:510 report/models.py:536 @@ -444,10 +444,10 @@ msgstr "Adı" #: templates/js/translated/build.js:2139 templates/js/translated/company.js:519 #: templates/js/translated/company.js:1330 #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 -#: templates/js/translated/order.js:298 templates/js/translated/part.js:1239 -#: templates/js/translated/part.js:1484 templates/js/translated/part.js:1622 -#: templates/js/translated/part.js:1959 templates/js/translated/part.js:2355 -#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2897 +#: templates/js/translated/order.js:298 templates/js/translated/part.js:1242 +#: templates/js/translated/part.js:1487 templates/js/translated/part.js:1625 +#: templates/js/translated/part.js:1962 templates/js/translated/part.js:2358 +#: templates/js/translated/part.js:2788 templates/js/translated/part.js:2900 #: templates/js/translated/plugin.js:80 #: templates/js/translated/purchase_order.js:1706 #: templates/js/translated/purchase_order.js:1849 @@ -460,53 +460,53 @@ msgstr "Adı" msgid "Description" msgstr "Açıklama" -#: InvenTree/models.py:773 stock/models.py:81 +#: InvenTree/models.py:776 stock/models.py:81 msgid "Description (optional)" msgstr "Açıklama (isteğe bağlı)" -#: InvenTree/models.py:788 templates/js/translated/part.js:2794 +#: InvenTree/models.py:791 templates/js/translated/part.js:2797 #: templates/js/translated/stock.js:2757 msgid "Path" msgstr "Yol" -#: InvenTree/models.py:918 +#: InvenTree/models.py:921 msgid "Markdown notes (optional)" msgstr "Markdown notları (isteğe bağlı)" -#: InvenTree/models.py:947 +#: InvenTree/models.py:950 msgid "Barcode Data" msgstr "Barkod Verisi" -#: InvenTree/models.py:948 +#: InvenTree/models.py:951 msgid "Third party barcode data" msgstr "Üçüncü parti barkod verisi" -#: InvenTree/models.py:954 +#: InvenTree/models.py:957 msgid "Barcode Hash" msgstr "Barkod Hash" -#: InvenTree/models.py:955 +#: InvenTree/models.py:958 msgid "Unique hash of barcode data" msgstr "Barkod verisinin benzersiz hash'i" -#: InvenTree/models.py:1008 +#: InvenTree/models.py:1011 msgid "Existing barcode found" msgstr "Var olan barkod bulundu" -#: InvenTree/models.py:1051 +#: InvenTree/models.py:1054 msgid "Server Error" msgstr "Sunucu Hatası" -#: InvenTree/models.py:1052 +#: InvenTree/models.py:1055 msgid "An error has been logged by the server." msgstr "Bir hafta sunucu tarafından kayıt edildi." -#: InvenTree/serializers.py:63 part/models.py:4192 +#: InvenTree/serializers.py:63 part/models.py:4277 msgid "Must be a valid number" msgstr "Geçerli bir numara olmalı" #: InvenTree/serializers.py:100 company/models.py:186 -#: company/templates/company/company_base.html:112 part/models.py:3001 +#: company/templates/company/company_base.html:112 part/models.py:3011 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -556,16 +556,16 @@ msgstr "" msgid "Is this user a superuser" msgstr "" -#: InvenTree/serializers.py:445 common/models.py:2683 company/models.py:163 -#: company/models.py:782 machine/models.py:39 part/admin.py:88 -#: part/models.py:1081 plugin/models.py:66 +#: InvenTree/serializers.py:445 common/models.py:2664 company/models.py:163 +#: company/models.py:789 machine/models.py:39 part/admin.py:88 +#: part/models.py:1085 plugin/models.py:66 #: 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 #: templates/js/translated/table_filters.js:520 #: templates/js/translated/table_filters.js:716 -#: templates/js/translated/table_filters.js:796 users/models.py:182 +#: templates/js/translated/table_filters.js:801 users/models.py:182 msgid "Active" msgstr "Aktif" @@ -597,7 +597,7 @@ msgstr "InvenTree'ye Hoşgeldiniz" msgid "Invalid value" msgstr "Geçersiz değer" -#: InvenTree/serializers.py:581 +#: InvenTree/serializers.py:581 importer/models.py:60 msgid "Data File" msgstr "Veri Dosyası" @@ -651,7 +651,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:1174 +#: InvenTree/status.py:66 part/serializers.py:1202 msgid "Background worker check failed" msgstr "Arka plan çalışanı kontrolü başarısız oldu" @@ -711,47 +711,48 @@ msgstr "Sistem Bilgisi" msgid "About InvenTree" msgstr "InvenTree Hakkında" -#: build/api.py:255 +#: build/api.py:248 msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:299 part/models.py:4070 templates/js/translated/bom.js:997 -#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 +#: build/api.py:292 build/serializers.py:1190 part/models.py:4155 +#: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 +#: templates/js/translated/build.js:2521 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:300 part/models.py:4064 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 +#: build/api.py:293 build/serializers.py:1191 part/models.py:4149 +#: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 +#: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2530 #: templates/js/translated/table_filters.js:186 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:587 msgid "Optional" msgstr "" -#: build/api.py:301 templates/js/translated/table_filters.js:408 +#: build/api.py:294 templates/js/translated/table_filters.js:408 #: templates/js/translated/table_filters.js:579 msgid "Tracked" msgstr "" -#: build/api.py:303 part/admin.py:144 templates/js/translated/build.js:1744 -#: templates/js/translated/build.js:2629 +#: build/api.py:296 part/admin.py:144 templates/js/translated/build.js:1744 +#: templates/js/translated/build.js:2630 #: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:571 msgid "Allocated" msgstr "" -#: build/api.py:311 company/models.py:872 company/serializers.py:359 +#: build/api.py:304 company/models.py:879 company/serializers.py:386 #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2561 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2562 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:234 -#: templates/js/translated/part.js:693 templates/js/translated/part.js:695 -#: templates/js/translated/part.js:700 +#: 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 #: templates/js/translated/table_filters.js:575 msgid "Available" @@ -760,7 +761,7 @@ msgstr "Mevcut" #: build/models.py:85 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 -#: stock/serializers.py:82 templates/email/build_order_completed.html:16 +#: stock/serializers.py:84 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:2892 msgid "Build Order" @@ -781,35 +782,43 @@ msgstr "Yapım İşi Emirleri" msgid "Assembly BOM has not been validated" msgstr "" -#: build/models.py:134 part/templates/part/part_base.html:145 -msgid "Part is not active" -msgstr "" +#: build/models.py:134 +#, fuzzy +#| msgid "Build Order cannot be completed as outstanding outputs remain" +msgid "Build order cannot be created for an inactive part" +msgstr "Bekleyen çıktılar kaldığı için yapım işi emri tamamlanamıyor" -#: build/models.py:148 +#: build/models.py:141 +#, fuzzy +#| msgid "Build Order cannot be completed as outstanding outputs remain" +msgid "Build order cannot be created for an unlocked part" +msgstr "Bekleyen çıktılar kaldığı için yapım işi emri tamamlanamıyor" + +#: build/models.py:155 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:159 order/models.py:240 +#: build/models.py:166 order/models.py:240 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:165 +#: build/models.py:172 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:226 +#: build/models.py:233 msgid "Build Order Reference" msgstr "Yapım İşi Emri Referansı" -#: build/models.py:227 order/models.py:463 order/models.py:926 -#: order/models.py:1289 order/models.py:2020 part/admin.py:411 -#: part/models.py:4085 part/templates/part/upload_bom.html:54 +#: build/models.py:234 build/serializers.py:1189 order/models.py:463 +#: order/models.py:926 order/models.py:1289 order/models.py:2046 +#: part/admin.py:411 part/models.py:4170 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: 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/build.js:2513 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2065 #: templates/js/translated/return_order.js:728 @@ -817,27 +826,28 @@ msgstr "Yapım İşi Emri Referansı" msgid "Reference" msgstr "Referans" -#: build/models.py:238 +#: build/models.py:245 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:246 build/templates/build/build_base.html:183 +#: build/models.py:253 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Üst Yapım İşi" -#: build/models.py:247 +#: build/models.py:254 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:252 build/templates/build/build_base.html:97 -#: build/templates/build/detail.html:29 company/models.py:1026 order/api.py:805 -#: order/models.py:1414 order/models.py:1559 order/models.py:1560 -#: part/api.py:1494 part/api.py:1788 part/models.py:395 part/models.py:3012 -#: part/models.py:3156 part/models.py:3303 part/models.py:3324 -#: part/models.py:3346 part/models.py:3477 part/models.py:3787 -#: part/models.py:3943 part/models.py:4036 part/models.py:4395 -#: part/serializers.py:1120 part/serializers.py:1726 +#: build/models.py:259 build/serializers.py:1184 +#: build/templates/build/build_base.html:97 +#: build/templates/build/detail.html:29 company/models.py:1034 order/api.py:759 +#: order/models.py:1419 order/models.py:1574 order/models.py:1575 +#: part/api.py:1480 part/api.py:1776 part/models.py:396 part/models.py:3022 +#: part/models.py:3166 part/models.py:3314 part/models.py:3335 +#: part/models.py:3357 part/models.py:3493 part/models.py:3827 +#: part/models.py:3990 part/models.py:4121 part/models.py:4480 +#: part/serializers.py:1148 part/serializers.py:1758 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -848,8 +858,8 @@ msgstr "Bu yapım işinin tahsis edildiği yapım işi emri" #: 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:109 stock/serializers.py:157 stock/serializers.py:423 -#: stock/serializers.py:820 templates/InvenTree/search.html:82 +#: stock/serializers.py:111 stock/serializers.py:159 stock/serializers.py:443 +#: stock/serializers.py:878 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 @@ -862,8 +872,8 @@ msgstr "Bu yapım işinin tahsis edildiği yapım işi emri" #: templates/js/translated/company.js:1116 #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 -#: templates/js/translated/part.js:1944 templates/js/translated/part.js:2016 -#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:1947 templates/js/translated/part.js:2019 +#: templates/js/translated/part.js:2327 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:1848 @@ -881,107 +891,107 @@ msgstr "Bu yapım işinin tahsis edildiği yapım işi emri" msgid "Part" msgstr "Parça" -#: build/models.py:260 +#: build/models.py:267 msgid "Select part to build" msgstr "Yapım işi için parça seçin" -#: build/models.py:265 +#: build/models.py:272 msgid "Sales Order Reference" msgstr "Satış Emri Referansı" -#: build/models.py:269 +#: build/models.py:276 msgid "SalesOrder to which this build is allocated" msgstr "Bu yapım işinin tahsis edildiği satış emri" -#: build/models.py:274 build/serializers.py:999 +#: build/models.py:281 build/serializers.py:1003 #: templates/js/translated/build.js:1731 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "Kaynak Konum" -#: build/models.py:278 +#: build/models.py:285 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:283 +#: build/models.py:290 msgid "Destination Location" msgstr "Hedef Konum" -#: build/models.py:287 +#: build/models.py:294 msgid "Select location where the completed items will be stored" msgstr "Tamamlanmış ögelerin saklanacağı konumu seçiniz" -#: build/models.py:291 +#: build/models.py:298 msgid "Build Quantity" msgstr "Yapım İşi Miktarı" -#: build/models.py:294 +#: build/models.py:301 msgid "Number of stock items to build" msgstr "Yapım işi stok kalemlerinin sayısı" -#: build/models.py:298 +#: build/models.py:305 msgid "Completed items" msgstr "Tamamlanmış ögeler" -#: build/models.py:300 +#: build/models.py:307 msgid "Number of stock items which have been completed" msgstr "Tamamlanan stok kalemlerinin sayısı" -#: build/models.py:304 +#: build/models.py:311 msgid "Build Status" msgstr "Yapım İşi Durumu" -#: build/models.py:308 +#: build/models.py:315 msgid "Build status code" msgstr "Yapım işi durum kodu" -#: build/models.py:317 build/serializers.py:286 order/serializers.py:580 -#: stock/models.py:839 stock/serializers.py:74 stock/serializers.py:1458 +#: build/models.py:324 build/serializers.py:290 order/serializers.py:629 +#: stock/models.py:839 stock/serializers.py:76 stock/serializers.py:1524 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "Sıra numarası" -#: build/models.py:321 build/serializers.py:287 +#: build/models.py:328 build/serializers.py:291 msgid "Batch code for this build output" msgstr "Yapım işi çıktısı için sıra numarası" -#: build/models.py:324 order/models.py:316 order/serializers.py:119 -#: part/models.py:1115 part/templates/part/part_base.html:310 +#: build/models.py:331 order/models.py:316 order/serializers.py:127 +#: part/models.py:1125 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:328 +#: build/models.py:335 msgid "Target completion date" msgstr "Hedef tamamlama tarihi" -#: build/models.py:329 +#: build/models.py:336 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:332 order/models.py:521 order/models.py:2065 +#: build/models.py:339 order/models.py:521 order/models.py:2091 #: templates/js/translated/build.js:2247 msgid "Completion Date" msgstr "Tamamlama tarihi" -#: build/models.py:338 +#: build/models.py:345 msgid "completed by" msgstr "tamamlayan" -#: build/models.py:346 templates/js/translated/build.js:2207 +#: build/models.py:353 templates/js/translated/build.js:2207 msgid "Issued by" msgstr "Veren" -#: build/models.py:347 +#: build/models.py:354 msgid "User who issued this build order" msgstr "Bu yapım işi emrini veren kullanıcı" -#: build/models.py:355 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 common/models.py:147 +#: build/models.py:362 build/templates/build/build_base.html:204 +#: build/templates/build/detail.html:122 common/models.py:152 #: order/models.py:334 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:232 part/models.py:1132 +#: order/templates/order/sales_order_base.html:232 part/models.py:1142 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 @@ -992,11 +1002,11 @@ msgstr "Bu yapım işi emrini veren kullanıcı" msgid "Responsible" msgstr "Sorumlu" -#: build/models.py:356 +#: build/models.py:363 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:361 build/templates/build/detail.html:108 +#: build/models.py:368 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 @@ -1008,21 +1018,22 @@ msgstr "" msgid "External Link" msgstr "Harici Bağlantı" -#: build/models.py:362 common/models.py:3244 part/models.py:956 +#: build/models.py:369 common/models.py:3230 part/models.py:960 #: stock/models.py:835 msgid "Link to external URL" msgstr "Harici URL'ye bağlantı" -#: build/models.py:366 +#: build/models.py:373 msgid "Build Priority" msgstr "" -#: build/models.py:369 +#: build/models.py:376 msgid "Priority of this build order" msgstr "" -#: build/models.py:376 common/models.py:131 order/admin.py:18 -#: order/models.py:298 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:383 common/models.py:122 common/models.py:136 +#: order/admin.py:18 order/models.py:298 order/serializers.py:108 +#: templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 #: templates/js/translated/purchase_order.js:1710 #: templates/js/translated/return_order.js:317 @@ -1032,65 +1043,66 @@ msgstr "" msgid "Project Code" msgstr "" -#: build/models.py:377 +#: build/models.py:384 msgid "Project code for this build order" msgstr "" -#: build/models.py:610 build/models.py:675 +#: build/models.py:617 build/models.py:682 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:632 +#: build/models.py:639 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:638 +#: build/models.py:645 msgid "A build order has been completed" msgstr "" -#: build/models.py:864 build/models.py:949 +#: build/models.py:871 build/models.py:956 msgid "No build output specified" msgstr "Yapım işi çıktısı belirtilmedi" -#: build/models.py:867 +#: build/models.py:874 msgid "Build output is already completed" msgstr "Yapım işi çıktısı zaten tamamlanmış" -#: build/models.py:870 +#: build/models.py:877 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:953 build/serializers.py:219 build/serializers.py:268 -#: build/serializers.py:866 order/models.py:559 order/serializers.py:432 -#: order/serializers.py:575 part/serializers.py:1484 part/serializers.py:1884 -#: stock/models.py:678 stock/models.py:1496 stock/serializers.py:603 +#: build/models.py:960 build/serializers.py:223 build/serializers.py:272 +#: build/serializers.py:870 order/models.py:559 order/serializers.py:461 +#: order/serializers.py:624 part/serializers.py:1515 part/serializers.py:1921 +#: stock/models.py:678 stock/models.py:1496 stock/serializers.py:661 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:958 build/serializers.py:224 +#: build/models.py:965 build/serializers.py:228 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1018 build/serializers.py:547 +#: build/models.py:1025 build/serializers.py:551 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1359 +#: build/models.py:1366 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1384 +#: build/models.py:1391 msgid "Build object" msgstr "" -#: build/models.py:1398 build/models.py:1654 build/serializers.py:206 -#: build/serializers.py:253 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2563 -#: order/models.py:1272 order/models.py:1931 order/serializers.py:1327 +#: build/models.py:1405 build/models.py:1661 build/serializers.py:210 +#: build/serializers.py:257 build/serializers.py:1194 +#: build/templates/build/build_base.html:102 +#: build/templates/build/detail.html:34 common/models.py:2544 +#: order/models.py:1272 order/models.py:1957 order/serializers.py:1383 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:410 -#: part/forms.py:48 part/models.py:3170 part/models.py:4058 +#: part/forms.py:48 part/models.py:3180 part/models.py:4143 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1100,7 +1112,7 @@ msgstr "" #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:169 stock/admin.py:159 -#: stock/serializers.py:125 stock/serializers.py:165 stock/serializers.py:594 +#: stock/serializers.py:127 stock/serializers.py:167 stock/serializers.py:652 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 @@ -1111,8 +1123,8 @@ msgstr "" #: templates/js/translated/build.js:1746 templates/js/translated/build.js:2357 #: templates/js/translated/company.js:1818 #: templates/js/translated/model_renderers.js:236 -#: templates/js/translated/order.js:304 templates/js/translated/part.js:962 -#: templates/js/translated/part.js:1812 templates/js/translated/part.js:3342 +#: templates/js/translated/order.js:304 templates/js/translated/part.js:965 +#: templates/js/translated/part.js:1815 templates/js/translated/part.js:3345 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 @@ -1132,38 +1144,38 @@ msgstr "" msgid "Quantity" msgstr "Miktar" -#: build/models.py:1399 +#: build/models.py:1406 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1479 +#: build/models.py:1486 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:1488 +#: build/models.py:1495 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1498 order/models.py:1882 +#: build/models.py:1505 order/models.py:1908 msgid "Stock item is over-allocated" msgstr "Stok kalemi fazladan tahsis edilmiş" -#: build/models.py:1504 order/models.py:1885 +#: build/models.py:1511 order/models.py:1911 msgid "Allocation quantity must be greater than zero" msgstr "Tahsis edilen miktar sıfırdan büyük olmalıdır" -#: build/models.py:1510 +#: build/models.py:1517 msgid "Quantity must be 1 for serialized stock" msgstr "Seri numaralı stok için miktar bir olmalı" -#: build/models.py:1569 +#: build/models.py:1576 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1641 build/serializers.py:846 order/serializers.py:1171 -#: order/serializers.py:1192 stock/models.py:359 stock/serializers.py:91 -#: stock/serializers.py:697 stock/serializers.py:1177 stock/serializers.py:1289 +#: build/models.py:1648 build/serializers.py:850 order/serializers.py:1227 +#: order/serializers.py:1248 stock/models.py:359 stock/serializers.py:93 +#: stock/serializers.py:755 stock/serializers.py:1243 stock/serializers.py:1355 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 @@ -1179,70 +1191,76 @@ msgstr "" msgid "Stock Item" msgstr "Stok Kalemi" -#: build/models.py:1642 +#: build/models.py:1649 msgid "Source stock item" msgstr "Kaynak stok kalemi" -#: build/models.py:1655 +#: build/models.py:1662 msgid "Stock quantity to allocate to build" msgstr "Yapım işi için tahsis edilen stok miktarı" -#: build/models.py:1663 +#: build/models.py:1670 msgid "Install into" msgstr "Kurulduğu yer" -#: build/models.py:1664 +#: build/models.py:1671 msgid "Destination stock item" msgstr "Hedef stok kalemi" -#: build/serializers.py:156 build/serializers.py:875 +#: build/serializers.py:89 build/serializers.py:1185 part/admin.py:41 +#: part/admin.py:405 part/models.py:3992 part/stocktake.py:220 +#: stock/admin.py:156 +msgid "Part Name" +msgstr "" + +#: build/serializers.py:160 build/serializers.py:879 #: templates/js/translated/build.js:1322 msgid "Build Output" msgstr "" -#: build/serializers.py:168 +#: build/serializers.py:172 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:172 +#: build/serializers.py:176 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:176 +#: build/serializers.py:180 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:187 +#: build/serializers.py:191 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:207 build/serializers.py:254 +#: build/serializers.py:211 build/serializers.py:258 msgid "Enter quantity for build output" msgstr "Yapım işi çıktısı için miktarını girin" -#: build/serializers.py:275 +#: build/serializers.py:279 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:278 +#: build/serializers.py:282 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:293 order/serializers.py:588 order/serializers.py:1331 -#: stock/serializers.py:614 templates/js/translated/purchase_order.js:1153 +#: build/serializers.py:297 order/serializers.py:637 order/serializers.py:1387 +#: stock/serializers.py:672 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:294 +#: build/serializers.py:298 msgid "Enter serial numbers for build outputs" msgstr "Yapım işi çıktısı için seri numaraları girin" -#: build/serializers.py:299 build/serializers.py:440 build/serializers.py:512 -#: order/serializers.py:564 order/serializers.py:672 order/serializers.py:1656 -#: part/serializers.py:1140 stock/serializers.py:100 stock/serializers.py:625 -#: stock/serializers.py:785 stock/serializers.py:881 stock/serializers.py:1321 -#: stock/serializers.py:1577 stock/templates/stock/item_base.html:394 +#: build/serializers.py:303 build/serializers.py:444 build/serializers.py:516 +#: order/serializers.py:613 order/serializers.py:721 order/serializers.py:1714 +#: part/serializers.py:1168 stock/serializers.py:102 stock/serializers.py:683 +#: stock/serializers.py:843 stock/serializers.py:939 stock/serializers.py:1387 +#: stock/serializers.py:1643 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 @@ -1258,54 +1276,54 @@ msgstr "Yapım işi çıktısı için seri numaraları girin" msgid "Location" msgstr "Konum" -#: build/serializers.py:300 +#: build/serializers.py:304 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:314 +#: build/serializers.py:318 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:315 +#: build/serializers.py:319 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:330 +#: build/serializers.py:334 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:355 stock/api.py:1041 +#: build/serializers.py:359 stock/api.py:1033 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:402 build/serializers.py:464 build/serializers.py:553 +#: build/serializers.py:406 build/serializers.py:468 build/serializers.py:557 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:441 +#: build/serializers.py:445 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:447 +#: build/serializers.py:451 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:448 +#: build/serializers.py:452 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:453 +#: build/serializers.py:457 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:513 +#: build/serializers.py:517 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:519 build/templates/build/build_base.html:151 +#: build/serializers.py:523 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:950 -#: order/models.py:2044 order/serializers.py:596 stock/admin.py:164 -#: stock/serializers.py:932 stock/serializers.py:1465 +#: order/models.py:2070 order/serializers.py:645 stock/admin.py:164 +#: stock/serializers.py:990 stock/serializers.py:1531 #: 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 @@ -1317,193 +1335,249 @@ msgstr "" msgid "Status" msgstr "Durum" -#: build/serializers.py:525 +#: build/serializers.py:529 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:526 +#: build/serializers.py:530 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:611 +#: build/serializers.py:615 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:612 +#: build/serializers.py:616 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:618 +#: build/serializers.py:622 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:619 +#: build/serializers.py:623 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:646 +#: build/serializers.py:650 msgid "Not permitted" msgstr "" -#: build/serializers.py:647 +#: build/serializers.py:651 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:648 +#: build/serializers.py:652 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:678 +#: build/serializers.py:682 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:680 +#: build/serializers.py:684 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:690 +#: build/serializers.py:694 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:695 +#: build/serializers.py:699 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:696 +#: build/serializers.py:700 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:706 templates/js/translated/build.js:315 +#: build/serializers.py:710 templates/js/translated/build.js:315 msgid "Required stock has not been fully allocated" msgstr "Gerekli stok tamamen tahsis edilemedi" -#: build/serializers.py:711 order/serializers.py:300 order/serializers.py:1234 +#: build/serializers.py:715 order/serializers.py:319 order/serializers.py:1290 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:712 +#: build/serializers.py:716 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:722 templates/js/translated/build.js:319 +#: build/serializers.py:726 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:731 templates/js/translated/build.js:303 +#: build/serializers.py:735 templates/js/translated/build.js:303 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:769 +#: build/serializers.py:773 msgid "Build Line" msgstr "" -#: build/serializers.py:779 +#: build/serializers.py:783 msgid "Build output" msgstr "" -#: build/serializers.py:787 +#: build/serializers.py:791 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:823 +#: build/serializers.py:827 msgid "Build Line Item" msgstr "" -#: build/serializers.py:837 +#: build/serializers.py:841 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:852 stock/serializers.py:1190 +#: build/serializers.py:856 stock/serializers.py:1256 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:900 order/serializers.py:1225 +#: build/serializers.py:904 order/serializers.py:1281 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:906 +#: build/serializers.py:910 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:913 +#: build/serializers.py:917 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:937 order/serializers.py:1477 +#: build/serializers.py:941 order/serializers.py:1533 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:1000 +#: build/serializers.py:1004 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:1008 +#: build/serializers.py:1012 msgid "Exclude Location" msgstr "" -#: build/serializers.py:1009 +#: build/serializers.py:1013 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:1014 +#: build/serializers.py:1018 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:1015 +#: build/serializers.py:1019 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:1020 +#: build/serializers.py:1024 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:1021 +#: build/serializers.py:1025 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:1026 +#: build/serializers.py:1030 msgid "Optional Items" msgstr "" -#: build/serializers.py:1027 +#: build/serializers.py:1031 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1049 +#: build/serializers.py:1053 msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1139 part/models.py:3953 part/models.py:4387 -#: stock/api.py:804 +#: build/serializers.py:1095 +#, fuzzy +#| msgid "Supplier Part Orders" +msgid "Supplier Part Number" +msgstr "Tedarikçi Parçası Emirleri" + +#: build/serializers.py:1096 company/models.py:500 +msgid "Manufacturer Part Number" +msgstr "Üretici Parça Numarası" + +#: build/serializers.py:1097 stock/admin.py:53 stock/admin.py:175 +#: stock/serializers.py:454 +msgid "Location Name" +msgstr "" + +#: build/serializers.py:1098 +#, fuzzy +#| msgid "Build Order Reference" +msgid "Build Reference" +msgstr "Yapım İşi Emri Referansı" + +#: build/serializers.py:1099 +#, fuzzy +#| msgid "Reference" +msgid "BOM Reference" +msgstr "Referans" + +#: build/serializers.py:1186 part/admin.py:402 part/models.py:3993 +msgid "Part IPN" +msgstr "" + +#: build/serializers.py:1192 common/models.py:1488 part/admin.py:113 +#: part/models.py:1068 templates/js/translated/table_filters.js:147 +#: templates/js/translated/table_filters.js:223 +#: templates/js/translated/table_filters.js:776 +msgid "Trackable" +msgstr "Takip Edilebilir" + +#: build/serializers.py:1196 part/models.py:4000 part/models.py:4472 +#: stock/api.py:796 msgid "BOM Item" msgstr "" -#: build/serializers.py:1148 templates/js/translated/index.js:130 +#: build/serializers.py:1205 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1153 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:828 part/serializers.py:1502 +#: build/serializers.py:1210 part/admin.py:132 part/bom.py:173 +#: part/serializers.py:856 part/serializers.py:1533 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2613 templates/js/translated/part.js:710 -#: templates/js/translated/part.js:2149 +#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709 +#: templates/js/translated/part.js:2152 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "" -#: build/serializers.py:1158 part/serializers.py:1504 -#: templates/js/translated/build.js:2617 +#: build/serializers.py:1215 part/serializers.py:1535 +#: templates/js/translated/build.js:2618 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1163 part/bom.py:172 part/serializers.py:1527 +#: build/serializers.py:1220 part/bom.py:172 part/serializers.py:1558 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" msgstr "" +#: build/serializers.py:1224 +msgid "Available Substitute Stock" +msgstr "" + +#: build/serializers.py:1225 +msgid "Available Variant Stock" +msgstr "" + +#: build/serializers.py:1226 +#, fuzzy +#| msgid "Available" +msgid "Total Available Stock" +msgstr "Mevcut" + +#: build/serializers.py:1227 part/serializers.py:862 +msgid "External Stock" +msgstr "" + #: build/status_codes.py:11 generic/states/tests.py:17 order/status_codes.py:12 #: order/status_codes.py:37 order/status_codes.py:64 order/status_codes.py:82 #: templates/js/translated/table_filters.js:598 @@ -1519,7 +1593,8 @@ msgstr "Üretim" msgid "Cancelled" msgstr "İptal edildi" -#: build/status_codes.py:14 generic/states/tests.py:19 order/status_codes.py:14 +#: build/status_codes.py:14 generic/states/tests.py:19 importer/models.py:468 +#: importer/status_codes.py:19 order/status_codes.py:14 #: order/status_codes.py:44 order/status_codes.py:69 #: order/templates/order/order_base.html:158 #: order/templates/order/sales_order_base.html:165 report/models.py:444 @@ -1652,11 +1727,12 @@ 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:309 -#: order/models.py:1307 order/templates/order/order_base.html:186 +#: order/models.py:1307 order/serializers.py:174 +#: order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: 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:1831 +#: templates/js/translated/build.js:2239 templates/js/translated/part.js:1834 #: templates/js/translated/purchase_order.js:1739 #: templates/js/translated/purchase_order.js:2147 #: templates/js/translated/return_order.js:346 @@ -1689,8 +1765,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1463 order/models.py:845 -#: order/models.py:1551 order/models.py:1665 order/models.py:1819 +#: build/templates/build/detail.html:101 order/api.py:1384 order/models.py:845 +#: order/models.py:1566 order/models.py:1681 order/models.py:1840 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 @@ -1740,7 +1816,7 @@ msgstr "Stok Kaynağı" msgid "Stock can be taken from any available location." msgstr "Stok herhangi bir konumdan alınabilir." -#: build/templates/build/detail.html:49 order/models.py:1443 +#: build/templates/build/detail.html:49 order/models.py:1448 #: templates/js/translated/purchase_order.js:2189 msgid "Destination" msgstr "Hedef" @@ -1892,31 +1968,31 @@ msgstr "" msgid "Incomplete Outputs" msgstr "Tamamlanmamış Çıktılar" -#: common/api.py:689 +#: common/api.py:690 msgid "Is Link" msgstr "" -#: common/api.py:697 +#: common/api.py:698 msgid "Is File" msgstr "" -#: common/api.py:739 +#: common/api.py:740 msgid "User does not have permission to delete this attachment" msgstr "" -#: common/currency.py:130 +#: common/currency.py:132 msgid "Invalid currency code" msgstr "" -#: common/currency.py:132 +#: common/currency.py:134 msgid "Duplicate currency code" msgstr "" -#: common/currency.py:137 +#: common/currency.py:139 msgid "No valid currency codes provided" msgstr "" -#: common/currency.py:154 +#: common/currency.py:156 msgid "No plugin" msgstr "" @@ -1970,1635 +2046,1606 @@ msgstr "" msgid "Site URL is locked by configuration" msgstr "" -#: common/models.py:132 +#: common/models.py:137 msgid "Unique project code" msgstr "" -#: common/models.py:139 +#: common/models.py:144 msgid "Project description" msgstr "" -#: common/models.py:148 +#: common/models.py:153 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:765 +#: common/models.py:770 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:769 +#: common/models.py:774 msgid "Settings value" msgstr "" -#: common/models.py:821 +#: common/models.py:826 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:837 +#: common/models.py:842 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:845 +#: common/models.py:850 msgid "Value must be an integer value" msgstr "" -#: common/models.py:882 +#: common/models.py:887 msgid "Key string must be unique" msgstr "Anahtar dizesi benzersiz olmalı" -#: common/models.py:1114 +#: common/models.py:1119 msgid "No group" msgstr "" -#: common/models.py:1213 +#: common/models.py:1218 msgid "Restart required" msgstr "" -#: common/models.py:1215 +#: common/models.py:1220 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:1222 +#: common/models.py:1227 msgid "Pending migrations" msgstr "" -#: common/models.py:1223 +#: common/models.py:1228 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1228 +#: common/models.py:1233 msgid "Server Instance Name" msgstr "" -#: common/models.py:1230 +#: common/models.py:1235 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1234 +#: common/models.py:1239 msgid "Use instance name" msgstr "" -#: common/models.py:1235 +#: common/models.py:1240 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1240 +#: common/models.py:1245 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1241 +#: common/models.py:1246 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1246 company/models.py:111 company/models.py:112 +#: common/models.py:1251 company/models.py:111 company/models.py:112 msgid "Company name" msgstr "Şirket adı" -#: common/models.py:1247 +#: common/models.py:1252 msgid "Internal company name" msgstr "" -#: common/models.py:1251 +#: common/models.py:1256 msgid "Base URL" msgstr "Ana URL" -#: common/models.py:1252 +#: common/models.py:1257 msgid "Base URL for server instance" msgstr "" -#: common/models.py:1258 +#: common/models.py:1263 msgid "Default Currency" msgstr "Varsayılan Para Birimi" -#: common/models.py:1259 +#: common/models.py:1264 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1265 +#: common/models.py:1270 msgid "Supported Currencies" msgstr "" -#: common/models.py:1266 +#: common/models.py:1271 msgid "List of supported currency codes" msgstr "" -#: common/models.py:1272 +#: common/models.py:1277 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1274 +#: common/models.py:1279 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1277 common/models.py:1333 common/models.py:1346 -#: common/models.py:1354 common/models.py:1363 common/models.py:1372 -#: common/models.py:1596 common/models.py:1618 common/models.py:1733 -#: common/models.py:2100 +#: common/models.py:1282 common/models.py:1338 common/models.py:1351 +#: common/models.py:1359 common/models.py:1368 common/models.py:1377 +#: common/models.py:1601 common/models.py:1623 common/models.py:1738 +#: common/models.py:2111 msgid "days" msgstr "günler" -#: common/models.py:1281 +#: common/models.py:1286 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1282 +#: common/models.py:1287 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1287 +#: common/models.py:1292 msgid "Download from URL" msgstr "URL'den indir" -#: common/models.py:1289 +#: common/models.py:1294 msgid "Allow download of remote images and files from external URL" msgstr "Harici URL'den resim ve dosyaların indirilmesine izin ver" -#: common/models.py:1295 +#: common/models.py:1300 msgid "Download Size Limit" msgstr "" -#: common/models.py:1296 +#: common/models.py:1301 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1302 +#: common/models.py:1307 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1304 +#: common/models.py:1309 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/models.py:1309 +#: common/models.py:1314 msgid "Strict URL Validation" msgstr "" -#: common/models.py:1310 +#: common/models.py:1315 msgid "Require schema specification when validating URLs" msgstr "" -#: common/models.py:1315 +#: common/models.py:1320 msgid "Require confirm" msgstr "" -#: common/models.py:1316 +#: common/models.py:1321 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:1321 +#: common/models.py:1326 msgid "Tree Depth" msgstr "" -#: common/models.py:1323 +#: common/models.py:1328 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1329 +#: common/models.py:1334 msgid "Update Check Interval" msgstr "" -#: common/models.py:1330 +#: common/models.py:1335 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:1336 +#: common/models.py:1341 msgid "Automatic Backup" msgstr "" -#: common/models.py:1337 +#: common/models.py:1342 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:1342 +#: common/models.py:1347 msgid "Auto Backup Interval" msgstr "" -#: common/models.py:1343 +#: common/models.py:1348 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1349 +#: common/models.py:1354 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1351 +#: common/models.py:1356 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1358 +#: common/models.py:1363 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1360 +#: common/models.py:1365 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1367 +#: common/models.py:1372 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1369 +#: common/models.py:1374 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1376 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1381 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "Barkod Desteği" -#: common/models.py:1377 +#: common/models.py:1382 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1382 +#: common/models.py:1387 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1383 +#: common/models.py:1388 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1389 +#: common/models.py:1394 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1390 +#: common/models.py:1395 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1395 +#: common/models.py:1400 msgid "Barcode Show Data" msgstr "" -#: common/models.py:1396 +#: common/models.py:1401 msgid "Display barcode data in browser as text" msgstr "" -#: common/models.py:1401 +#: common/models.py:1406 msgid "Part Revisions" msgstr "" -#: common/models.py:1402 +#: common/models.py:1407 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1407 +#: common/models.py:1412 msgid "Allow Deletion from Assembly" msgstr "" -#: common/models.py:1408 +#: common/models.py:1413 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/models.py:1413 +#: common/models.py:1418 msgid "IPN Regex" msgstr "DPN Regex" -#: common/models.py:1414 +#: common/models.py:1419 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:1417 +#: common/models.py:1422 msgid "Allow Duplicate IPN" msgstr "Yinelenen DPN'ye İzin Ver" -#: common/models.py:1418 +#: common/models.py:1423 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:1423 +#: common/models.py:1428 msgid "Allow Editing IPN" msgstr "DPN Düzenlemeye İzin Ver" -#: common/models.py:1424 +#: common/models.py:1429 msgid "Allow changing the IPN value while editing a part" msgstr "Parçayı düzenlerken DPN değiştirmeye izin ver" -#: common/models.py:1429 +#: common/models.py:1434 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1430 +#: common/models.py:1435 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1435 +#: common/models.py:1440 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1436 +#: common/models.py:1441 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1441 +#: common/models.py:1446 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1442 +#: common/models.py:1447 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1447 +#: common/models.py:1452 msgid "Copy Category Parameter Templates" msgstr "Kategori Paremetre Sablonu Kopyala" -#: common/models.py:1448 +#: common/models.py:1453 msgid "Copy category parameter templates when creating a part" msgstr "Parça oluştururken kategori parametre şablonlarını kopyala" -#: common/models.py:1453 part/admin.py:108 part/models.py:3795 +#: common/models.py:1458 part/admin.py:108 part/models.py:3835 #: report/models.py:294 report/models.py:361 report/serializers.py:90 -#: report/serializers.py:131 stock/serializers.py:227 +#: report/serializers.py:131 stock/serializers.py:232 #: templates/js/translated/table_filters.js:139 -#: templates/js/translated/table_filters.js:767 +#: templates/js/translated/table_filters.js:772 msgid "Template" msgstr "Şablon" -#: common/models.py:1454 +#: common/models.py:1459 msgid "Parts are templates by default" msgstr "Parçaları varsayılan olan şablondur" -#: common/models.py:1459 part/admin.py:91 part/admin.py:425 part/models.py:1052 +#: common/models.py:1464 part/admin.py:91 part/admin.py:425 part/models.py:1056 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 -#: templates/js/translated/table_filters.js:721 +#: templates/js/translated/table_filters.js:726 msgid "Assembly" msgstr "Montaj" -#: common/models.py:1460 +#: common/models.py:1465 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:1465 part/admin.py:95 part/models.py:1058 -#: templates/js/translated/table_filters.js:729 +#: common/models.py:1470 part/admin.py:95 part/models.py:1062 +#: templates/js/translated/table_filters.js:734 msgid "Component" msgstr "Bileşen" -#: common/models.py:1466 +#: common/models.py:1471 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:1471 part/admin.py:100 part/models.py:1070 +#: common/models.py:1476 part/admin.py:100 part/models.py:1074 msgid "Purchaseable" msgstr "Satın Alınabilir" -#: common/models.py:1472 +#: common/models.py:1477 msgid "Parts are purchaseable by default" msgstr "Parçalar varsayılan olarak satın alınabilir" -#: common/models.py:1477 part/admin.py:104 part/models.py:1076 -#: templates/js/translated/table_filters.js:755 +#: common/models.py:1482 part/admin.py:104 part/models.py:1080 +#: templates/js/translated/table_filters.js:760 msgid "Salable" msgstr "Satılabilir" -#: common/models.py:1478 +#: common/models.py:1483 msgid "Parts are salable by default" msgstr "Parçalar varsayılan olarak satılabilir" -#: common/models.py:1483 part/admin.py:113 part/models.py:1064 -#: 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:1484 +#: common/models.py:1489 msgid "Parts are trackable by default" msgstr "Parçalar varsayılan olarak takip edilebilir" -#: common/models.py:1489 part/admin.py:117 part/models.py:1086 +#: common/models.py:1494 part/admin.py:117 part/models.py:1096 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 -#: templates/js/translated/table_filters.js:775 +#: templates/js/translated/table_filters.js:780 msgid "Virtual" msgstr "Sanal" -#: common/models.py:1490 +#: common/models.py:1495 msgid "Parts are virtual by default" msgstr "Parçalar varsayılan olarak sanaldır" -#: common/models.py:1495 +#: common/models.py:1500 msgid "Show Import in Views" msgstr "" -#: common/models.py:1496 +#: common/models.py:1501 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1501 +#: common/models.py:1506 msgid "Show related parts" msgstr "İlgili parçaları göster" -#: common/models.py:1502 +#: common/models.py:1507 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1507 +#: common/models.py:1512 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1508 +#: common/models.py:1513 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1513 templates/js/translated/part.js:107 +#: common/models.py:1518 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1515 +#: common/models.py:1520 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1521 +#: common/models.py:1526 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1522 +#: common/models.py:1527 msgid "Format to display the part name" msgstr "" -#: common/models.py:1528 +#: common/models.py:1533 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1529 +#: common/models.py:1534 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1533 +#: common/models.py:1538 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1535 +#: common/models.py:1540 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1541 +#: common/models.py:1546 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1543 +#: common/models.py:1548 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1554 +#: common/models.py:1559 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1556 +#: common/models.py:1561 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1567 +#: common/models.py:1572 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1569 +#: common/models.py:1574 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1575 +#: common/models.py:1580 msgid "Purchase History Override" msgstr "" -#: common/models.py:1577 +#: common/models.py:1582 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1583 +#: common/models.py:1588 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1585 +#: common/models.py:1590 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1591 +#: common/models.py:1596 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1593 +#: common/models.py:1598 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1600 +#: common/models.py:1605 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1601 +#: common/models.py:1606 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1606 +#: common/models.py:1611 msgid "Active Variants Only" msgstr "" -#: common/models.py:1608 +#: common/models.py:1613 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1614 +#: common/models.py:1619 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1616 +#: common/models.py:1621 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1623 +#: common/models.py:1628 msgid "Internal Prices" msgstr "" -#: common/models.py:1624 +#: common/models.py:1629 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1629 +#: common/models.py:1634 msgid "Internal Price Override" msgstr "" -#: common/models.py:1631 +#: common/models.py:1636 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1637 +#: common/models.py:1642 msgid "Enable label printing" msgstr "" -#: common/models.py:1638 +#: common/models.py:1643 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1643 +#: common/models.py:1648 msgid "Label Image DPI" msgstr "" -#: common/models.py:1645 +#: common/models.py:1650 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1651 +#: common/models.py:1656 msgid "Enable Reports" msgstr "" -#: common/models.py:1652 +#: common/models.py:1657 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1657 templates/stats.html:25 +#: common/models.py:1662 templates/stats.html:25 msgid "Debug Mode" msgstr "Hata Ayıklama Modu" -#: common/models.py:1658 +#: common/models.py:1663 msgid "Generate reports in debug mode (HTML output)" msgstr "Raporları hata ayıklama modunda üret (HTML çıktısı)" -#: common/models.py:1663 +#: common/models.py:1668 msgid "Log Report Errors" msgstr "" -#: common/models.py:1664 +#: common/models.py:1669 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1669 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1674 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:302 msgid "Page Size" msgstr "Sayfa Boyutu" -#: common/models.py:1670 +#: common/models.py:1675 msgid "Default page size for PDF reports" msgstr "PDF raporlar için varsayılan sayfa boyutu" -#: common/models.py:1675 +#: common/models.py:1680 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1676 +#: common/models.py:1681 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1681 +#: common/models.py:1686 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1683 +#: common/models.py:1688 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1689 +#: common/models.py:1694 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1690 +#: common/models.py:1695 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1695 +#: common/models.py:1700 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1696 +#: common/models.py:1701 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1701 +#: common/models.py:1706 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1703 +#: common/models.py:1708 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1709 +#: common/models.py:1714 msgid "Batch Code Template" msgstr "" -#: common/models.py:1711 +#: common/models.py:1716 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1716 +#: common/models.py:1721 msgid "Stock Expiry" msgstr "" -#: common/models.py:1717 +#: common/models.py:1722 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1722 +#: common/models.py:1727 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1723 +#: common/models.py:1728 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1728 +#: common/models.py:1733 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1730 +#: common/models.py:1735 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1737 +#: common/models.py:1742 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1738 +#: common/models.py:1743 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1743 +#: common/models.py:1748 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1744 +#: common/models.py:1749 msgid "Enable ownership control over stock locations and items" msgstr "Stok konumu ve ögeler üzerinde sahiplik kontrolünü etkinleştirin" -#: common/models.py:1749 +#: common/models.py:1754 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1750 +#: common/models.py:1755 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1754 +#: common/models.py:1759 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1755 +#: common/models.py:1760 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1760 +#: common/models.py:1765 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1762 +#: common/models.py:1767 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1768 +#: common/models.py:1773 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1770 +#: common/models.py:1775 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1776 +#: common/models.py:1781 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1778 +#: common/models.py:1783 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1784 common/models.py:1826 common/models.py:1848 -#: common/models.py:1884 +#: common/models.py:1789 common/models.py:1837 common/models.py:1859 +#: common/models.py:1895 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1785 common/models.py:1827 common/models.py:1849 -#: common/models.py:1885 +#: common/models.py:1790 common/models.py:1838 common/models.py:1860 +#: common/models.py:1896 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1790 +#: common/models.py:1795 msgid "Require Active Part" msgstr "" -#: common/models.py:1791 +#: common/models.py:1796 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/models.py:1796 +#: common/models.py:1801 +#, fuzzy +#| msgid "Required For" +msgid "Require Locked Part" +msgstr "İçin Gerekli Olan" + +#: common/models.py:1802 +msgid "Prevent build order creation for unlocked parts" +msgstr "" + +#: common/models.py:1807 msgid "Require Valid BOM" msgstr "" -#: common/models.py:1798 +#: common/models.py:1809 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/models.py:1804 +#: common/models.py:1815 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1806 +#: common/models.py:1817 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1812 +#: common/models.py:1823 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1813 +#: common/models.py:1824 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1818 +#: common/models.py:1829 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1820 +#: common/models.py:1831 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1832 +#: common/models.py:1843 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1834 +#: common/models.py:1845 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1840 +#: common/models.py:1851 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1842 +#: common/models.py:1853 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1854 +#: common/models.py:1865 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1855 +#: common/models.py:1866 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1860 +#: common/models.py:1871 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1862 +#: common/models.py:1873 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1868 +#: common/models.py:1879 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1870 +#: common/models.py:1881 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1876 +#: common/models.py:1887 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1878 +#: common/models.py:1889 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1890 +#: common/models.py:1901 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1892 +#: common/models.py:1903 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1898 +#: common/models.py:1909 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1900 +#: common/models.py:1911 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1907 +#: common/models.py:1918 msgid "Enable password forgot" msgstr "" -#: common/models.py:1908 +#: common/models.py:1919 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1913 +#: common/models.py:1924 msgid "Enable registration" msgstr "" -#: common/models.py:1914 +#: common/models.py:1925 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1919 +#: common/models.py:1930 msgid "Enable SSO" msgstr "" -#: common/models.py:1920 +#: common/models.py:1931 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1925 +#: common/models.py:1936 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1927 +#: common/models.py:1938 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1933 +#: common/models.py:1944 msgid "Enable SSO group sync" msgstr "" -#: common/models.py:1935 +#: common/models.py:1946 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/models.py:1941 +#: common/models.py:1952 msgid "SSO group key" msgstr "" -#: common/models.py:1943 +#: common/models.py:1954 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/models.py:1949 +#: common/models.py:1960 msgid "SSO group map" msgstr "" -#: common/models.py:1951 +#: common/models.py:1962 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/models.py:1957 +#: common/models.py:1968 msgid "Remove groups outside of SSO" msgstr "" -#: common/models.py:1959 +#: common/models.py:1970 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/models.py:1965 +#: common/models.py:1976 msgid "Email required" msgstr "" -#: common/models.py:1966 +#: common/models.py:1977 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1971 +#: common/models.py:1982 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1973 +#: common/models.py:1984 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1979 +#: common/models.py:1990 msgid "Mail twice" msgstr "" -#: common/models.py:1980 +#: common/models.py:1991 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1985 +#: common/models.py:1996 msgid "Password twice" msgstr "" -#: common/models.py:1986 +#: common/models.py:1997 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1991 +#: common/models.py:2002 msgid "Allowed domains" msgstr "" -#: common/models.py:1993 +#: common/models.py:2004 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1999 +#: common/models.py:2010 msgid "Group on signup" msgstr "" -#: common/models.py:2001 +#: common/models.py:2012 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/models.py:2007 +#: common/models.py:2018 msgid "Enforce MFA" msgstr "" -#: common/models.py:2008 +#: common/models.py:2019 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:2013 +#: common/models.py:2024 msgid "Check plugins on startup" msgstr "" -#: common/models.py:2015 +#: common/models.py:2026 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:2023 +#: common/models.py:2034 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2024 +#: common/models.py:2035 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2030 +#: common/models.py:2041 msgid "Enable URL integration" msgstr "" -#: common/models.py:2031 +#: common/models.py:2042 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:2037 +#: common/models.py:2048 msgid "Enable navigation integration" msgstr "" -#: common/models.py:2038 +#: common/models.py:2049 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2044 +#: common/models.py:2055 msgid "Enable app integration" msgstr "" -#: common/models.py:2045 +#: common/models.py:2056 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2051 +#: common/models.py:2062 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2052 +#: common/models.py:2063 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2058 +#: common/models.py:2069 msgid "Enable event integration" msgstr "" -#: common/models.py:2059 +#: common/models.py:2070 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2065 +#: common/models.py:2076 msgid "Enable project codes" msgstr "" -#: common/models.py:2066 +#: common/models.py:2077 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2071 +#: common/models.py:2082 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2073 +#: common/models.py:2084 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2079 +#: common/models.py:2090 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2081 +#: common/models.py:2092 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2087 +#: common/models.py:2098 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2089 +#: common/models.py:2100 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2095 +#: common/models.py:2106 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2097 +#: common/models.py:2108 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2104 +#: common/models.py:2115 msgid "Display Users full names" msgstr "" -#: common/models.py:2105 +#: common/models.py:2116 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2110 +#: common/models.py:2121 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2111 +#: common/models.py:2122 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2123 common/models.py:2533 +#: common/models.py:2134 common/models.py:2514 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2166 +#: common/models.py:2177 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2168 +#: common/models.py:2179 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2174 +#: common/models.py:2185 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2175 +#: common/models.py:2186 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2180 +#: common/models.py:2191 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2181 +#: common/models.py:2192 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2186 +#: common/models.py:2197 msgid "Show latest parts" msgstr "" -#: common/models.py:2187 +#: common/models.py:2198 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2192 +#: common/models.py:2203 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2193 +#: common/models.py:2204 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2198 +#: common/models.py:2209 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2199 +#: common/models.py:2210 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2204 +#: common/models.py:2215 msgid "Show low stock" msgstr "" -#: common/models.py:2205 +#: common/models.py:2216 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2210 +#: common/models.py:2221 msgid "Show depleted stock" msgstr "" -#: common/models.py:2211 +#: common/models.py:2222 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2216 +#: common/models.py:2227 msgid "Show needed stock" msgstr "" -#: common/models.py:2217 +#: common/models.py:2228 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2222 +#: common/models.py:2233 msgid "Show expired stock" msgstr "" -#: common/models.py:2223 +#: common/models.py:2234 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2228 +#: common/models.py:2239 msgid "Show stale stock" msgstr "" -#: common/models.py:2229 +#: common/models.py:2240 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2234 +#: common/models.py:2245 msgid "Show pending builds" msgstr "" -#: common/models.py:2235 +#: common/models.py:2246 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2240 +#: common/models.py:2251 msgid "Show overdue builds" msgstr "" -#: common/models.py:2241 +#: common/models.py:2252 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2246 +#: common/models.py:2257 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2247 +#: common/models.py:2258 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2252 +#: common/models.py:2263 msgid "Show overdue POs" msgstr "" -#: common/models.py:2253 +#: common/models.py:2264 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2258 +#: common/models.py:2269 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2259 +#: common/models.py:2270 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2264 +#: common/models.py:2275 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2265 +#: common/models.py:2276 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2270 +#: common/models.py:2281 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2271 +#: common/models.py:2282 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2276 +#: common/models.py:2287 msgid "Show News" msgstr "" -#: common/models.py:2277 +#: common/models.py:2288 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2282 +#: common/models.py:2293 msgid "Inline label display" msgstr "" -#: common/models.py:2284 +#: common/models.py:2295 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2290 +#: common/models.py:2301 msgid "Default label printer" msgstr "" -#: common/models.py:2292 +#: common/models.py:2303 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2298 +#: common/models.py:2309 msgid "Inline report display" msgstr "" -#: common/models.py:2300 +#: common/models.py:2311 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2306 +#: common/models.py:2317 msgid "Search Parts" msgstr "" -#: common/models.py:2307 +#: common/models.py:2318 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2312 +#: common/models.py:2323 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2313 +#: common/models.py:2324 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2318 +#: common/models.py:2329 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2319 +#: common/models.py:2330 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2324 +#: common/models.py:2335 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2325 +#: common/models.py:2336 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2330 +#: common/models.py:2341 msgid "Search Categories" msgstr "" -#: common/models.py:2331 +#: common/models.py:2342 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2336 +#: common/models.py:2347 msgid "Search Stock" msgstr "" -#: common/models.py:2337 +#: common/models.py:2348 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2342 +#: common/models.py:2353 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2344 +#: common/models.py:2355 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2350 +#: common/models.py:2361 msgid "Search Locations" msgstr "" -#: common/models.py:2351 +#: common/models.py:2362 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2356 +#: common/models.py:2367 msgid "Search Companies" msgstr "" -#: common/models.py:2357 +#: common/models.py:2368 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2362 +#: common/models.py:2373 msgid "Search Build Orders" msgstr "" -#: common/models.py:2363 +#: common/models.py:2374 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2368 +#: common/models.py:2379 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2369 +#: common/models.py:2380 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2374 +#: common/models.py:2385 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2376 +#: common/models.py:2387 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2382 +#: common/models.py:2393 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2383 +#: common/models.py:2394 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2388 +#: common/models.py:2399 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2390 +#: common/models.py:2401 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2396 +#: common/models.py:2407 msgid "Search Return Orders" msgstr "" -#: common/models.py:2397 +#: common/models.py:2408 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2402 +#: common/models.py:2413 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2404 +#: common/models.py:2415 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2410 +#: common/models.py:2421 msgid "Search Preview Results" msgstr "" -#: common/models.py:2412 +#: common/models.py:2423 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2418 +#: common/models.py:2429 msgid "Regex Search" msgstr "" -#: common/models.py:2419 +#: common/models.py:2430 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2424 +#: common/models.py:2435 msgid "Whole Word Search" msgstr "" -#: common/models.py:2425 +#: common/models.py:2436 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2430 +#: common/models.py:2441 msgid "Show Quantity in Forms" msgstr "Formlarda Miktarı Göster" -#: common/models.py:2431 +#: common/models.py:2442 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2436 +#: common/models.py:2447 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2437 +#: common/models.py:2448 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2442 +#: common/models.py:2453 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2443 +#: common/models.py:2454 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2448 +#: common/models.py:2459 msgid "Date Format" msgstr "" -#: common/models.py:2449 +#: common/models.py:2460 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2462 part/templates/part/detail.html:41 +#: common/models.py:2473 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2463 +#: common/models.py:2474 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2468 part/templates/part/detail.html:62 +#: common/models.py:2479 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2470 +#: common/models.py:2481 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2476 +#: common/models.py:2487 msgid "Table String Length" msgstr "" -#: common/models.py:2478 +#: common/models.py:2489 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2484 -msgid "Default part label template" -msgstr "" - -#: common/models.py:2485 -msgid "The part label template to be automatically selected" -msgstr "" - -#: common/models.py:2490 -msgid "Default stock item template" -msgstr "" - -#: common/models.py:2492 -msgid "The stock item label template to be automatically selected" -msgstr "" - -#: common/models.py:2498 -msgid "Default stock location label template" -msgstr "" - -#: common/models.py:2500 -msgid "The stock location label template to be automatically selected" -msgstr "" - -#: common/models.py:2506 -msgid "Default build line label template" -msgstr "" - -#: common/models.py:2508 -msgid "The build line label template to be automatically selected" -msgstr "" - -#: common/models.py:2514 +#: common/models.py:2495 msgid "Receive error reports" msgstr "" -#: common/models.py:2515 +#: common/models.py:2496 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2520 +#: common/models.py:2501 msgid "Last used printing machines" msgstr "" -#: common/models.py:2521 +#: common/models.py:2502 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2541 common/models.py:2542 common/models.py:2691 -#: common/models.py:2692 common/models.py:2937 common/models.py:2938 -#: common/models.py:3259 common/models.py:3260 part/models.py:3193 -#: part/models.py:3280 part/models.py:3353 part/models.py:3381 -#: plugin/models.py:274 plugin/models.py:275 +#: common/models.py:2522 common/models.py:2523 common/models.py:2672 +#: common/models.py:2673 common/models.py:2918 common/models.py:2919 +#: common/models.py:3245 common/models.py:3246 importer/models.py:85 +#: part/models.py:3203 part/models.py:3290 part/models.py:3364 +#: part/models.py:3392 plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 msgid "User" msgstr "Kullanıcı" -#: common/models.py:2564 +#: common/models.py:2545 msgid "Price break quantity" msgstr "" -#: common/models.py:2571 company/serializers.py:472 order/admin.py:42 -#: order/models.py:1346 order/models.py:2265 -#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1886 +#: common/models.py:2552 company/serializers.py:502 order/admin.py:42 +#: order/models.py:1346 order/models.py:2292 +#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1889 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:740 msgid "Price" msgstr "Fiyat" -#: common/models.py:2572 +#: common/models.py:2553 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2668 common/models.py:2853 +#: common/models.py:2649 common/models.py:2834 msgid "Endpoint" msgstr "" -#: common/models.py:2669 +#: common/models.py:2650 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2679 +#: common/models.py:2660 msgid "Name for this webhook" msgstr "" -#: common/models.py:2683 +#: common/models.py:2664 msgid "Is this webhook active" msgstr "" -#: common/models.py:2699 users/models.py:159 +#: common/models.py:2680 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2700 +#: common/models.py:2681 msgid "Token for access" msgstr "" -#: common/models.py:2708 +#: common/models.py:2689 msgid "Secret" msgstr "" -#: common/models.py:2709 +#: common/models.py:2690 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2817 +#: common/models.py:2798 msgid "Message ID" msgstr "" -#: common/models.py:2818 +#: common/models.py:2799 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2826 +#: common/models.py:2807 msgid "Host" msgstr "" -#: common/models.py:2827 +#: common/models.py:2808 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2835 +#: common/models.py:2816 msgid "Header" msgstr "" -#: common/models.py:2836 +#: common/models.py:2817 msgid "Header of this message" msgstr "" -#: common/models.py:2843 +#: common/models.py:2824 msgid "Body" msgstr "" -#: common/models.py:2844 +#: common/models.py:2825 msgid "Body of this message" msgstr "" -#: common/models.py:2854 +#: common/models.py:2835 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2859 +#: common/models.py:2840 msgid "Worked on" msgstr "" -#: common/models.py:2860 +#: common/models.py:2841 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2986 +#: common/models.py:2967 msgid "Id" msgstr "" -#: common/models.py:2988 templates/js/translated/company.js:965 +#: common/models.py:2969 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2990 common/models.py:3243 company/models.py:149 -#: company/models.py:440 company/models.py:500 company/models.py:799 -#: order/models.py:303 order/models.py:1301 order/models.py:1717 -#: part/admin.py:55 part/models.py:955 +#: common/models.py:2971 common/models.py:3229 company/models.py:149 +#: company/models.py:446 company/models.py:506 company/models.py:806 +#: order/models.py:303 order/models.py:1301 order/models.py:1733 +#: part/admin.py:55 part/models.py:959 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:229 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/part.js:2459 #: templates/js/translated/purchase_order.js:2040 #: templates/js/translated/purchase_order.js:2204 #: templates/js/translated/return_order.js:779 @@ -3607,28 +3654,28 @@ msgstr "" msgid "Link" msgstr "Bağlantı" -#: common/models.py:2992 templates/js/translated/news.js:60 +#: common/models.py:2973 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2994 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2975 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:2996 templates/js/translated/news.js:52 +#: common/models.py:2977 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2999 +#: common/models.py:2980 msgid "Read" msgstr "" -#: common/models.py:2999 +#: common/models.py:2980 msgid "Was this news item read?" msgstr "" -#: common/models.py:3016 company/models.py:159 part/models.py:965 +#: common/models.py:2997 company/models.py:159 part/models.py:969 #: 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.html:35 @@ -3638,90 +3685,96 @@ msgstr "" msgid "Image" msgstr "Resim" -#: common/models.py:3016 +#: common/models.py:2997 msgid "Image file" msgstr "" -#: common/models.py:3028 common/models.py:3227 +#: common/models.py:3009 common/models.py:3213 msgid "Target model type for this image" msgstr "" -#: common/models.py:3032 +#: common/models.py:3013 msgid "Target model ID for this image" msgstr "" -#: common/models.py:3070 +#: common/models.py:3035 +#, fuzzy +#| msgid "Customer" +msgid "Custom Unit" +msgstr "Müşteri" + +#: common/models.py:3056 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:3085 +#: common/models.py:3071 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3104 +#: common/models.py:3090 msgid "Unit name" msgstr "" -#: common/models.py:3111 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3097 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3112 +#: common/models.py:3098 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3118 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3104 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3119 +#: common/models.py:3105 msgid "Unit definition" msgstr "" -#: common/models.py:3177 common/models.py:3234 stock/models.py:2461 +#: common/models.py:3163 common/models.py:3220 stock/models.py:2471 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" msgstr "Ek" -#: common/models.py:3189 +#: common/models.py:3175 msgid "Missing file" msgstr "Eksik dosya" -#: common/models.py:3190 +#: common/models.py:3176 msgid "Missing external link" msgstr "Bozuk dış bağlantı" -#: common/models.py:3235 +#: common/models.py:3221 msgid "Select file to attach" msgstr "Eklenecek dosyayı seç" -#: common/models.py:3250 templates/js/translated/attachment.js:120 +#: common/models.py:3236 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" msgstr "Yorum" -#: common/models.py:3251 +#: common/models.py:3237 msgid "Attachment comment" msgstr "" -#: common/models.py:3267 +#: common/models.py:3253 msgid "Upload date" msgstr "" -#: common/models.py:3268 +#: common/models.py:3254 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:3272 +#: common/models.py:3258 msgid "File size" msgstr "" -#: common/models.py:3272 +#: common/models.py:3258 msgid "File size in bytes" msgstr "" -#: common/models.py:3310 common/serializers.py:553 +#: common/models.py:3296 common/serializers.py:557 msgid "Invalid model type specified for attachment" msgstr "" @@ -3743,7 +3796,7 @@ msgstr "" msgid "A order that is assigned to you was canceled" msgstr "" -#: common/notifications.py:330 common/notifications.py:337 order/api.py:472 +#: common/notifications.py:330 common/notifications.py:337 order/api.py:454 msgid "Items Received" msgstr "" @@ -3759,75 +3812,75 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:371 +#: common/serializers.py:375 msgid "Is Running" msgstr "" -#: common/serializers.py:377 +#: common/serializers.py:381 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:383 +#: common/serializers.py:387 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:389 +#: common/serializers.py:393 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:404 +#: common/serializers.py:408 msgid "Task ID" msgstr "" -#: common/serializers.py:404 +#: common/serializers.py:408 msgid "Unique task ID" msgstr "" -#: common/serializers.py:406 +#: common/serializers.py:410 msgid "Lock" msgstr "" -#: common/serializers.py:406 +#: common/serializers.py:410 msgid "Lock time" msgstr "" -#: common/serializers.py:408 +#: common/serializers.py:412 msgid "Task name" msgstr "" -#: common/serializers.py:410 +#: common/serializers.py:414 msgid "Function" msgstr "" -#: common/serializers.py:410 +#: common/serializers.py:414 msgid "Function name" msgstr "" -#: common/serializers.py:412 +#: common/serializers.py:416 msgid "Arguments" msgstr "" -#: common/serializers.py:412 +#: common/serializers.py:416 msgid "Task arguments" msgstr "" -#: common/serializers.py:415 +#: common/serializers.py:419 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:415 +#: common/serializers.py:419 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:525 +#: common/serializers.py:529 msgid "Filename" msgstr "Dosya adı" -#: common/serializers.py:532 report/api.py:100 report/serializers.py:53 +#: common/serializers.py:536 report/api.py:100 report/serializers.py:53 msgid "Model Type" msgstr "" -#: common/serializers.py:559 +#: common/serializers.py:563 msgid "User does not have permission to create or edit attachments for this model" msgstr "" @@ -3894,29 +3947,29 @@ msgstr "" msgid "Previous Step" msgstr "" -#: company/api.py:144 +#: company/api.py:141 msgid "Part is Active" msgstr "" -#: company/api.py:148 +#: company/api.py:145 msgid "Manufacturer is Active" msgstr "" -#: company/api.py:281 +#: company/api.py:278 msgid "Supplier Part is Active" msgstr "" -#: company/api.py:285 +#: company/api.py:282 msgid "Internal Part is Active" msgstr "" -#: company/api.py:289 +#: company/api.py:286 msgid "Supplier is Active" msgstr "" -#: company/models.py:100 company/models.py:365 +#: company/models.py:100 company/models.py:371 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:822 +#: company/templates/company/company_base.html:12 stock/api.py:814 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "" @@ -3956,8 +4009,9 @@ msgstr "İletişim telefon numarası" msgid "Contact email address" msgstr "İletişim e-posta adresi" -#: company/models.py:142 company/templates/company/company_base.html:145 -#: order/models.py:343 order/templates/order/order_base.html:203 +#: company/models.py:142 company/models.py:275 +#: company/templates/company/company_base.html:145 order/models.py:343 +#: order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 #: order/templates/order/sales_order_base.html:218 msgid "Contact" @@ -3976,7 +4030,9 @@ msgid "Is this company active?" msgstr "" #: company/models.py:168 -msgid "is customer" +#, fuzzy +#| msgid "is customer" +msgid "Is customer" msgstr "müşteri mi" #: company/models.py:169 @@ -3984,7 +4040,9 @@ msgid "Do you sell items to this company?" msgstr "Bu şirkete ürün satıyor musunuz?" #: company/models.py:174 -msgid "is supplier" +#, fuzzy +#| msgid "is supplier" +msgid "Is supplier" msgstr "tedarikçi mi" #: company/models.py:175 @@ -3992,7 +4050,9 @@ msgid "Do you purchase items from this company?" msgstr "Bu şirketten ürün satın alıyor musunuz?" #: company/models.py:180 -msgid "is manufacturer" +#, fuzzy +#| msgid "is manufacturer" +msgid "Is manufacturer" msgstr "üretici mi" #: company/models.py:181 @@ -4003,178 +4063,191 @@ msgstr "Bu şirket üretim yapıyor mu?" msgid "Default currency used for this company" msgstr "Bu şirket için varsayılan para birimi" -#: company/models.py:366 +#: company/models.py:314 company/templates/company/company_base.html:124 +#: order/models.py:353 order/templates/order/order_base.html:210 +#: order/templates/order/return_order_base.html:181 +#: order/templates/order/sales_order_base.html:225 +msgid "Address" +msgstr "Adres" + +#: company/models.py:315 company/templates/company/sidebar.html:35 +msgid "Addresses" +msgstr "" + +#: company/models.py:372 msgid "Select company" msgstr "" -#: company/models.py:371 +#: company/models.py:377 msgid "Address title" msgstr "" -#: company/models.py:372 +#: company/models.py:378 msgid "Title describing the address entry" msgstr "" -#: company/models.py:378 +#: company/models.py:384 msgid "Primary address" msgstr "" -#: company/models.py:379 +#: company/models.py:385 msgid "Set as primary address" msgstr "" -#: company/models.py:384 templates/js/translated/company.js:914 +#: company/models.py:390 templates/js/translated/company.js:914 #: templates/js/translated/company.js:971 msgid "Line 1" msgstr "" -#: company/models.py:385 +#: company/models.py:391 msgid "Address line 1" msgstr "" -#: company/models.py:391 templates/js/translated/company.js:915 +#: company/models.py:397 templates/js/translated/company.js:915 #: templates/js/translated/company.js:977 msgid "Line 2" msgstr "" -#: company/models.py:392 +#: company/models.py:398 msgid "Address line 2" msgstr "" -#: company/models.py:398 company/models.py:399 +#: company/models.py:404 company/models.py:405 #: templates/js/translated/company.js:983 msgid "Postal code" msgstr "" -#: company/models.py:405 +#: company/models.py:411 msgid "City/Region" msgstr "" -#: company/models.py:406 +#: company/models.py:412 msgid "Postal code city/region" msgstr "" -#: company/models.py:412 +#: company/models.py:418 msgid "State/Province" msgstr "" -#: company/models.py:413 +#: company/models.py:419 msgid "State or province" msgstr "" -#: company/models.py:419 templates/js/translated/company.js:1001 +#: company/models.py:425 templates/js/translated/company.js:1001 msgid "Country" msgstr "" -#: company/models.py:420 +#: company/models.py:426 msgid "Address country" msgstr "" -#: company/models.py:426 +#: company/models.py:432 msgid "Courier shipping notes" msgstr "" -#: company/models.py:427 +#: company/models.py:433 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:433 +#: company/models.py:439 msgid "Internal shipping notes" msgstr "" -#: company/models.py:434 +#: company/models.py:440 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:441 +#: company/models.py:447 msgid "Link to address information (external)" msgstr "" -#: company/models.py:463 company/models.py:574 company/models.py:792 +#: company/models.py:469 company/models.py:581 company/models.py:799 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:217 msgid "Manufacturer Part" msgstr "" -#: company/models.py:475 company/models.py:760 stock/models.py:767 -#: stock/serializers.py:422 stock/templates/stock/item_base.html:142 +#: company/models.py:481 company/models.py:767 stock/models.py:767 +#: stock/serializers.py:442 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "Temel Parça" -#: company/models.py:477 company/models.py:762 +#: company/models.py:483 company/models.py:769 msgid "Select part" msgstr "Parça seçin" -#: company/models.py:486 company/templates/company/company_base.html:82 +#: company/models.py:492 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:525 +#: company/templates/company/supplier_part.html:145 part/serializers.py:543 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 #: templates/js/translated/company.js:1296 #: templates/js/translated/company.js:1611 -#: templates/js/translated/table_filters.js:800 +#: templates/js/translated/table_filters.js:805 msgid "Manufacturer" msgstr "Üretici" -#: company/models.py:487 +#: company/models.py:493 msgid "Select manufacturer" msgstr "Üretici seçin" -#: company/models.py:493 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:535 -#: templates/js/translated/company.js:351 +#: company/models.py:499 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:153 order/serializers.py:518 +#: part/serializers.py:553 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:1801 +#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1804 #: templates/js/translated/purchase_order.js:1851 #: templates/js/translated/purchase_order.js:2053 msgid "MPN" msgstr "ÜPN" -#: company/models.py:494 -msgid "Manufacturer Part Number" -msgstr "Üretici Parça Numarası" - -#: company/models.py:501 +#: company/models.py:507 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:510 +#: company/models.py:516 msgid "Manufacturer part description" msgstr "" -#: company/models.py:581 +#: company/models.py:569 +#, fuzzy +#| msgid "Manufacturer Part Number" +msgid "Manufacturer Part Parameter" +msgstr "Üretici Parça Numarası" + +#: company/models.py:588 msgid "Parameter name" msgstr "Parametre adı" -#: company/models.py:587 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2453 templates/js/translated/company.js:1166 -#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1493 +#: company/models.py:594 report/templates/report/inventree_test_report.html:104 +#: stock/models.py:2463 templates/js/translated/company.js:1166 +#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1496 #: templates/js/translated/stock.js:1522 msgid "Value" msgstr "Değer" -#: company/models.py:588 +#: company/models.py:595 msgid "Parameter value" msgstr "Parametre değeri" -#: company/models.py:595 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1045 part/models.py:3646 +#: company/models.py:602 company/templates/company/supplier_part.html:168 +#: part/admin.py:57 part/models.py:1049 part/models.py:3667 #: part/templates/part/part_base.html:284 -#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1512 -#: templates/js/translated/part.js:1616 templates/js/translated/part.js:2370 +#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1515 +#: templates/js/translated/part.js:1619 templates/js/translated/part.js:2373 msgid "Units" msgstr "" -#: company/models.py:596 +#: company/models.py:603 msgid "Parameter units" msgstr "" -#: company/models.py:648 company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 order/api.py:452 +#: company/models.py:655 company/templates/company/supplier_part.html:7 +#: company/templates/company/supplier_part.html:24 order/api.py:434 #: stock/models.py:778 stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 @@ -4182,91 +4255,91 @@ msgstr "" msgid "Supplier Part" msgstr "Tedarikçi Parçası" -#: company/models.py:700 +#: company/models.py:707 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:707 +#: company/models.py:714 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:721 +#: company/models.py:728 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:770 company/templates/company/company_base.html:87 +#: company/models.py:777 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:509 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:527 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 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:511 -#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1769 +#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1772 #: templates/js/translated/pricing.js:498 #: templates/js/translated/purchase_order.js:1689 -#: templates/js/translated/table_filters.js:804 +#: templates/js/translated/table_filters.js:809 msgid "Supplier" msgstr "Tedarikçi" -#: company/models.py:771 +#: company/models.py:778 msgid "Select supplier" msgstr "Tedarikçi seçin" -#: company/models.py:777 part/serializers.py:520 +#: company/models.py:784 part/serializers.py:538 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:783 +#: company/models.py:790 msgid "Is this supplier part active?" msgstr "" -#: company/models.py:793 +#: company/models.py:800 msgid "Select manufacturer part" msgstr "" -#: company/models.py:800 +#: company/models.py:807 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:809 +#: company/models.py:816 msgid "Supplier part description" msgstr "" -#: company/models.py:816 company/templates/company/supplier_part.html:187 -#: part/admin.py:412 part/models.py:4093 part/templates/part/upload_bom.html:59 +#: company/models.py:823 company/templates/company/supplier_part.html:187 +#: part/admin.py:412 part/models.py:4178 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: 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:710 +#: stock/serializers.py:768 msgid "Note" msgstr "Not" -#: company/models.py:825 part/models.py:2003 +#: company/models.py:832 part/models.py:2013 msgid "base cost" msgstr "temel maliyet" -#: company/models.py:826 part/models.py:2004 +#: company/models.py:833 part/models.py:2014 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:833 company/templates/company/supplier_part.html:160 -#: stock/admin.py:228 stock/models.py:798 stock/serializers.py:1475 +#: company/models.py:840 company/templates/company/supplier_part.html:160 +#: stock/admin.py:228 stock/models.py:798 stock/serializers.py:1541 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 msgid "Packaging" msgstr "Paketleme" -#: company/models.py:834 +#: company/models.py:841 msgid "Part packaging" msgstr "" -#: company/models.py:839 templates/js/translated/company.js:1651 -#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 +#: company/models.py:846 templates/js/translated/company.js:1651 +#: templates/js/translated/part.js:1825 templates/js/translated/part.js:1881 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 #: templates/js/translated/purchase_order.js:1103 @@ -4275,35 +4348,47 @@ msgstr "" msgid "Pack Quantity" msgstr "" -#: company/models.py:841 +#: company/models.py:848 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:860 part/models.py:2010 +#: company/models.py:867 part/models.py:2020 msgid "multiple" msgstr "çoklu" -#: company/models.py:861 +#: company/models.py:868 msgid "Order multiple" msgstr "" -#: company/models.py:873 +#: company/models.py:880 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:879 +#: company/models.py:886 msgid "Availability Updated" msgstr "" -#: company/models.py:880 +#: company/models.py:887 msgid "Date of last update of availability data" msgstr "" -#: company/serializers.py:161 +#: company/models.py:1015 +#, fuzzy +#| msgid "Supplier Part Orders" +msgid "Supplier Price Break" +msgstr "Tedarikçi Parçası Emirleri" + +#: company/serializers.py:174 msgid "Default currency used for this supplier" msgstr "" -#: company/serializers.py:357 part/admin.py:126 +#: company/serializers.py:210 +#, fuzzy +#| msgid "Company name" +msgid "Company Name" +msgstr "Şirket adı" + +#: company/serializers.py:384 part/admin.py:126 part/serializers.py:855 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:355 @@ -4315,7 +4400,7 @@ msgstr "" #: templates/js/translated/company.js:1287 #: templates/js/translated/company.js:1575 #: templates/js/translated/model_renderers.js:312 -#: templates/js/translated/part.js:815 templates/js/translated/part.js:1219 +#: templates/js/translated/part.js:814 templates/js/translated/part.js:1222 msgid "Inactive" msgstr "Pasif" @@ -4374,16 +4459,16 @@ msgid "Delete image" msgstr "" #: company/templates/company/company_base.html:92 order/models.py:938 -#: order/models.py:2032 order/templates/order/return_order_base.html:131 +#: order/models.py:2058 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:148 stock/models.py:820 -#: stock/models.py:821 stock/serializers.py:1225 +#: stock/models.py:821 stock/serializers.py:1291 #: 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:295 #: templates/js/translated/sales_order.js:820 #: templates/js/translated/stock.js:2959 -#: templates/js/translated/table_filters.js:808 +#: templates/js/translated/table_filters.js:813 msgid "Customer" msgstr "Müşteri" @@ -4391,13 +4476,6 @@ msgstr "Müşteri" msgid "Uses default currency" msgstr "" -#: company/templates/company/company_base.html:124 order/models.py:353 -#: order/templates/order/order_base.html:210 -#: order/templates/order/return_order_base.html:181 -#: order/templates/order/sales_order_base.html:225 -msgid "Address" -msgstr "Adres" - #: company/templates/company/company_base.html:131 msgid "Phone" msgstr "" @@ -4577,7 +4655,8 @@ msgid "Delete manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:65 -#: company/templates/company/supplier_part.html:97 order/api.py:458 +#: company/templates/company/supplier_part.html:97 order/api.py:440 +#: order/serializers.py:526 msgid "Internal Part" msgstr "" @@ -4587,7 +4666,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:832 +#: part/admin.py:122 part/serializers.py:860 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4608,7 +4687,7 @@ msgid "New Parameter" msgstr "" #: company/templates/company/manufacturer_part.html:196 -#: templates/js/translated/part.js:1423 +#: templates/js/translated/part.js:1426 msgid "Add Parameter" msgstr "" @@ -4632,10 +4711,6 @@ msgstr "" msgid "Contacts" msgstr "" -#: company/templates/company/sidebar.html:35 -msgid "Addresses" -msgstr "" - #: company/templates/company/supplier_part.html:50 #: templates/js/translated/company.js:1526 msgid "Supplier part actions" @@ -4677,9 +4752,9 @@ msgstr "" msgid "No supplier information available" msgstr "" -#: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:519 -#: templates/js/translated/company.js:349 templates/js/translated/part.js:1787 +#: company/templates/company/supplier_part.html:139 order/serializers.py:515 +#: part/bom.py:279 part/bom.py:311 part/serializers.py:537 +#: templates/js/translated/company.js:349 templates/js/translated/part.js:1790 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1850 #: templates/js/translated/purchase_order.js:2028 @@ -4690,86 +4765,268 @@ msgstr "" 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:207 -msgid "Create new stock item" +#: company/templates/company/supplier_part.html:209 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:207 +msgid "Create new stock item" +msgstr "" + +#: company/templates/company/supplier_part.html:210 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:208 +#: templates/js/translated/stock.js:537 +msgid "New Stock Item" +msgstr "" + +#: company/templates/company/supplier_part.html:223 +msgid "Supplier Part Orders" +msgstr "Tedarikçi Parçası Emirleri" + +#: company/templates/company/supplier_part.html:246 +msgid "Pricing Information" +msgstr "Fiyat Bilgisi" + +#: company/templates/company/supplier_part.html:251 +#: templates/js/translated/company.js:398 +#: templates/js/translated/pricing.js:684 +msgid "Add Price Break" +msgstr "" + +#: company/templates/company/supplier_part.html:276 +msgid "Supplier Part QR Code" +msgstr "" + +#: company/templates/company/supplier_part.html:287 +msgid "Link Barcode to Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:359 +msgid "Update Part Availability" +msgstr "" + +#: company/templates/company/supplier_part_sidebar.html:5 +#: part/serializers.py:859 part/stocktake.py:224 +#: part/templates/part/category.html:183 +#: part/templates/part/category_sidebar.html:17 stock/admin.py:68 +#: stock/serializers.py:976 stock/serializers.py:1154 +#: stock/templates/stock/location.html:170 +#: 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:1064 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 +#: users/models.py:206 +msgid "Stock Items" +msgstr "Stok Kalemleri" + +#: company/templates/company/supplier_part_sidebar.html:9 +msgid "Supplier Part Pricing" +msgstr "Tedarikçi Parçası Fiyatlandırması" + +#: company/views.py:32 +msgid "New Supplier" +msgstr "Yeni Tedarikçi" + +#: company/views.py:38 +msgid "New Manufacturer" +msgstr "Yeni Üretici" + +#: company/views.py:43 templates/InvenTree/search.html:210 +#: templates/navbar.html:60 +msgid "Customers" +msgstr "Müşteriler" + +#: company/views.py:44 +msgid "New Customer" +msgstr "Yeni Müşteri" + +#: company/views.py:52 +msgid "New Company" +msgstr "Yeni Şirket" + +#: generic/states/tests.py:18 order/status_codes.py:13 +msgid "Placed" +msgstr "Sipariş verildi" + +#: importer/mixins.py:263 +msgid "Invalid export format" +msgstr "" + +#: importer/models.py:56 +msgid "Timestamp" +msgstr "" + +#: importer/models.py:61 +#, fuzzy +#| msgid "Select file to upload" +msgid "Data file to import" +msgstr "Yüklenecek dosyayı seç" + +#: importer/models.py:70 templates/js/translated/tables.js:558 +msgid "Columns" +msgstr "" + +#: importer/models.py:81 +#, fuzzy +#| msgid "Important dates" +msgid "Import status" +msgstr "Önemli tarihler" + +#: importer/models.py:91 +#, fuzzy +#| msgid "Build Details" +msgid "Field Defaults" +msgstr "Yapım İşi Detayları" + +#: importer/models.py:201 +#, fuzzy +#| msgid "Required build quantity has not been completed" +msgid "Some required fields have not been mapped" +msgstr "Gerekli yapım işi miktarı tamamlanmadı" + +#: importer/models.py:346 +msgid "Column is already mapped to a database field" +msgstr "" + +#: importer/models.py:351 +msgid "Field is already mapped to a data column" +msgstr "" + +#: importer/models.py:360 +msgid "Column mapping must be linked to a valid import session" +msgstr "" + +#: importer/models.py:365 +msgid "Column does not exist in the data file" +msgstr "" + +#: importer/models.py:372 +#, fuzzy +#| msgid "User does not have permission to view this model" +msgid "Field does not exist in the target model" +msgstr "Kullanıcının bu modeli görüntüleme izni yok" + +#: importer/models.py:376 +msgid "Selected field is read-only" +msgstr "" + +#: importer/models.py:381 importer/models.py:452 +#, fuzzy +#| msgid "Important dates" +msgid "Import Session" +msgstr "Önemli tarihler" + +#: importer/models.py:385 +#, fuzzy +#| msgid "File Fields" +msgid "Field" +msgstr "Dosya Alanları" + +#: importer/models.py:387 +msgid "Column" +msgstr "" + +#: importer/models.py:456 +msgid "Row Index" +msgstr "" + +#: importer/models.py:459 +msgid "Original row data" +msgstr "" + +#: importer/models.py:462 part/models.py:3841 +msgid "Data" +msgstr "" + +#: importer/models.py:464 machine/models.py:110 +msgid "Errors" +msgstr "" + +#: importer/models.py:466 part/api.py:874 +msgid "Valid" msgstr "" -#: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:208 -#: templates/js/translated/stock.js:537 -msgid "New Stock Item" +#: importer/operations.py:28 importer/operations.py:49 +#, fuzzy +#| msgid "Unsupported file type" +msgid "Unsupported data file format" +msgstr "Desteklenmeyen dsoya tipi" + +#: importer/operations.py:40 +msgid "Failed to open data file" msgstr "" -#: company/templates/company/supplier_part.html:223 -msgid "Supplier Part Orders" -msgstr "Tedarikçi Parçası Emirleri" +#: importer/operations.py:51 +msgid "Invalid data file dimensions" +msgstr "" -#: company/templates/company/supplier_part.html:246 -msgid "Pricing Information" -msgstr "Fiyat Bilgisi" +#: importer/serializers.py:135 +msgid "Rows" +msgstr "" -#: company/templates/company/supplier_part.html:251 -#: templates/js/translated/company.js:398 -#: templates/js/translated/pricing.js:684 -msgid "Add Price Break" +#: importer/serializers.py:136 +msgid "List of row IDs to accept" msgstr "" -#: company/templates/company/supplier_part.html:276 -msgid "Supplier Part QR Code" +#: importer/serializers.py:149 +#, fuzzy +#| msgid "No data rows provided" +msgid "No rows provided" +msgstr "Dosyada satır bulunamadı" + +#: importer/serializers.py:153 +msgid "Row does not belong to this session" msgstr "" -#: company/templates/company/supplier_part.html:287 -msgid "Link Barcode to Supplier Part" +#: importer/serializers.py:156 +msgid "Row contains invalid data" msgstr "" -#: company/templates/company/supplier_part.html:359 -msgid "Update Part Availability" +#: importer/serializers.py:159 +#, fuzzy +#| msgid "Build output is already completed" +msgid "Row has already been completed" +msgstr "Yapım işi çıktısı zaten tamamlanmış" + +#: importer/status_codes.py:11 +msgid "Initializing" msgstr "" -#: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:831 part/stocktake.py:224 -#: part/templates/part/category.html:183 -#: part/templates/part/category_sidebar.html:17 stock/admin.py:68 -#: stock/serializers.py:918 stock/serializers.py:1091 -#: stock/templates/stock/location.html:170 -#: 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:1061 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 -#: users/models.py:206 -msgid "Stock Items" -msgstr "Stok Kalemleri" +#: importer/status_codes.py:12 +msgid "Mapping Columns" +msgstr "" -#: company/templates/company/supplier_part_sidebar.html:9 -msgid "Supplier Part Pricing" -msgstr "Tedarikçi Parçası Fiyatlandırması" +#: importer/status_codes.py:13 +#, fuzzy +#| msgid "Important dates" +msgid "Importing Data" +msgstr "Önemli tarihler" -#: company/views.py:32 -msgid "New Supplier" -msgstr "Yeni Tedarikçi" +#: importer/status_codes.py:16 +msgid "Processing Data" +msgstr "" -#: company/views.py:38 -msgid "New Manufacturer" -msgstr "Yeni Üretici" +#: importer/validators.py:21 +#, fuzzy +#| msgid "Image download exceeded maximum size" +msgid "Data file exceeds maximum size limit" +msgstr "Resim indirme boyutu izin verilenden büyük" -#: company/views.py:43 templates/InvenTree/search.html:210 -#: templates/navbar.html:60 -msgid "Customers" -msgstr "Müşteriler" +#: importer/validators.py:26 +msgid "Data file contains no headers" +msgstr "" -#: company/views.py:44 -msgid "New Customer" -msgstr "Yeni Müşteri" +#: importer/validators.py:29 +msgid "Data file contains too many columns" +msgstr "" -#: company/views.py:52 -msgid "New Company" -msgstr "Yeni Şirket" +#: importer/validators.py:32 +msgid "Data file contains too many rows" +msgstr "" -#: generic/states/tests.py:18 order/status_codes.py:13 -msgid "Placed" -msgstr "Sipariş verildi" +#: importer/validators.py:49 +#, fuzzy +#| msgid "Metadata must be a python dict object" +msgid "Value must be a valid dictionary object" +msgstr "Metadata, bir python dict nesnesi olmalıdır" #: machine/machine_types/label_printer.py:212 msgid "Copies" @@ -4783,7 +5040,7 @@ msgstr "" msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:229 order/api.py:1467 +#: machine/machine_types/label_printer.py:229 order/api.py:1388 #: templates/js/translated/sales_order.js:1078 msgid "Unknown" msgstr "" @@ -4852,10 +5109,6 @@ msgstr "" msgid "Initialized" msgstr "" -#: machine/models.py:110 -msgid "Errors" -msgstr "" - #: machine/models.py:117 msgid "Machine status" msgstr "" @@ -4881,44 +5134,44 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:157 order/serializers.py:90 +#: order/api.py:149 order/serializers.py:94 #: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:113 #: order/templates/order/sales_order_base.html:122 msgid "Order Status" msgstr "" -#: order/api.py:161 templates/js/translated/table_filters.js:194 -#: templates/js/translated/table_filters.js:779 +#: order/api.py:153 templates/js/translated/table_filters.js:194 +#: templates/js/translated/table_filters.js:784 msgid "Has Pricing" msgstr "" -#: order/api.py:236 +#: order/api.py:228 msgid "No matching purchase order found" msgstr "" -#: order/api.py:435 order/api.py:801 order/models.py:1395 order/models.py:1504 -#: order/models.py:1550 order/models.py:1664 order/models.py:1818 -#: order/models.py:2231 order/models.py:2282 +#: order/api.py:417 order/api.py:755 order/models.py:1400 order/models.py:1514 +#: order/models.py:1565 order/models.py:1680 order/models.py:1839 +#: order/models.py:2258 order/models.py:2314 #: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "" -#: order/api.py:439 order/api.py:822 +#: order/api.py:421 order/api.py:776 msgid "Order Complete" msgstr "" -#: order/api.py:462 +#: order/api.py:444 msgid "Order Pending" msgstr "" -#: order/api.py:1461 order/models.py:380 order/models.py:1396 -#: order/models.py:1505 order/templates/order/order_base.html:9 +#: order/api.py:1382 order/models.py:380 order/models.py:1401 +#: order/models.py:1515 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 -#: stock/serializers.py:118 stock/templates/stock/item_base.html:176 +#: stock/serializers.py:120 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/part.js:1746 templates/js/translated/pricing.js:804 +#: templates/js/translated/part.js:1749 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:1673 @@ -4926,8 +5179,8 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1465 order/models.py:1981 order/models.py:2232 -#: order/models.py:2283 order/templates/order/return_order_base.html:9 +#: order/api.py:1386 order/models.py:2007 order/models.py:2259 +#: order/models.py:2315 order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report.html:13 #: templates/js/translated/return_order.js:280 @@ -4939,11 +5192,11 @@ msgstr "" msgid "Total price for this order" msgstr "" -#: order/models.py:96 order/serializers.py:70 +#: order/models.py:96 order/serializers.py:72 msgid "Order Currency" msgstr "" -#: order/models.py:99 order/serializers.py:71 +#: order/models.py:99 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" @@ -4959,7 +5212,7 @@ msgstr "" msgid "Select project code for this order" msgstr "" -#: order/models.py:303 order/models.py:1301 order/models.py:1717 +#: order/models.py:303 order/models.py:1301 order/models.py:1733 msgid "Link to external page" msgstr "Harici sayfaya bağlantı" @@ -5008,15 +5261,15 @@ msgstr "" msgid "received by" msgstr "" -#: order/models.py:514 order/models.py:2058 +#: order/models.py:514 order/models.py:2084 msgid "Issue Date" msgstr "" -#: order/models.py:515 order/models.py:2059 +#: order/models.py:515 order/models.py:2085 msgid "Date order was issued" msgstr "" -#: order/models.py:522 order/models.py:2066 +#: order/models.py:522 order/models.py:2092 msgid "Date order was completed" msgstr "" @@ -5032,15 +5285,15 @@ msgstr "" msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:962 order/models.py:2051 +#: order/models.py:962 order/models.py:2077 msgid "Customer Reference " msgstr "" -#: order/models.py:963 order/models.py:2052 +#: order/models.py:963 order/models.py:2078 msgid "Customer order reference code" msgstr "" -#: order/models.py:967 order/models.py:1671 +#: order/models.py:967 order/models.py:1687 #: templates/js/translated/sales_order.js:879 #: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" @@ -5102,20 +5355,26 @@ msgstr "" msgid "Unit price" msgstr "" -#: order/models.py:1380 +#: order/models.py:1361 +#, fuzzy +#| msgid "Purchase Orders" +msgid "Purchase Order Line Item" +msgstr "Satın Alma Emirleri" + +#: order/models.py:1385 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1387 +#: order/models.py:1392 msgid "deleted" msgstr "" -#: order/models.py:1415 +#: order/models.py:1420 msgid "Supplier part" msgstr "" -#: order/models.py:1422 order/templates/order/order_base.html:196 -#: templates/js/translated/part.js:1870 templates/js/translated/part.js:1902 +#: order/models.py:1427 order/templates/order/order_base.html:196 +#: templates/js/translated/part.js:1873 templates/js/translated/part.js:1905 #: templates/js/translated/purchase_order.js:1306 #: templates/js/translated/purchase_order.js:2169 #: templates/js/translated/return_order.js:763 @@ -5124,196 +5383,234 @@ msgstr "" msgid "Received" msgstr "" -#: order/models.py:1423 +#: order/models.py:1428 msgid "Number of items received" msgstr "" -#: order/models.py:1431 stock/models.py:939 stock/serializers.py:556 +#: order/models.py:1436 stock/models.py:939 stock/serializers.py:602 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2311 msgid "Purchase Price" msgstr "" -#: order/models.py:1432 +#: order/models.py:1437 msgid "Unit purchase price" msgstr "" -#: order/models.py:1447 +#: order/models.py:1452 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1538 +#: order/models.py:1503 +#, fuzzy +#| msgid "Purchase Orders" +msgid "Purchase Order Extra Line" +msgstr "Satın Alma Emirleri" + +#: order/models.py:1532 +#, fuzzy +#| msgid "Sales Order" +msgid "Sales Order Line Item" +msgstr "Sipariş Emri" + +#: order/models.py:1553 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1543 +#: order/models.py:1558 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1569 part/templates/part/part_pricing.html:107 +#: order/models.py:1584 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:1570 +#: order/models.py:1585 msgid "Unit sale price" msgstr "" -#: order/models.py:1579 order/status_codes.py:43 +#: order/models.py:1594 order/status_codes.py:43 #: 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" -#: order/models.py:1580 +#: order/models.py:1595 msgid "Shipped quantity" msgstr "" -#: order/models.py:1672 +#: order/models.py:1667 +#, fuzzy +#| msgid "Sales Order" +msgid "Sales Order Shipment" +msgstr "Sipariş Emri" + +#: order/models.py:1688 msgid "Date of shipment" msgstr "" -#: order/models.py:1678 templates/js/translated/sales_order.js:1072 +#: order/models.py:1694 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "" -#: order/models.py:1679 +#: order/models.py:1695 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1687 +#: order/models.py:1703 msgid "Checked By" msgstr "" -#: order/models.py:1688 +#: order/models.py:1704 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1695 order/models.py:1908 order/serializers.py:1342 -#: order/serializers.py:1452 templates/js/translated/model_renderers.js:454 +#: order/models.py:1711 order/models.py:1934 order/serializers.py:1398 +#: order/serializers.py:1508 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "" -#: order/models.py:1696 +#: order/models.py:1712 msgid "Shipment number" msgstr "" -#: order/models.py:1704 +#: order/models.py:1720 msgid "Tracking Number" msgstr "" -#: order/models.py:1705 +#: order/models.py:1721 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1712 +#: order/models.py:1728 msgid "Invoice Number" msgstr "" -#: order/models.py:1713 +#: order/models.py:1729 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1733 +#: order/models.py:1749 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1736 +#: order/models.py:1752 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1854 order/models.py:1856 +#: order/models.py:1828 +#, fuzzy +#| msgid "Sales Order Reference" +msgid "Sales Order Extra Line" +msgstr "Satış Emri Referansı" + +#: order/models.py:1857 +#, fuzzy +#| msgid "Sales Order" +msgid "Sales Order Allocation" +msgstr "Sipariş Emri" + +#: order/models.py:1880 order/models.py:1882 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1863 +#: order/models.py:1889 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1866 +#: order/models.py:1892 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1869 +#: order/models.py:1895 msgid "Allocation quantity cannot exceed stock quantity" msgstr "Tahsis miktarı stok miktarını aşamaz" -#: order/models.py:1888 order/serializers.py:1219 +#: order/models.py:1914 order/serializers.py:1275 msgid "Quantity must be 1 for serialized stock item" msgstr "Seri numaralı stok kalemi için miktar bir olmalı" -#: order/models.py:1891 +#: order/models.py:1917 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1892 plugin/base/barcodes/api.py:481 +#: order/models.py:1918 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1900 +#: order/models.py:1926 msgid "Line" msgstr "" -#: order/models.py:1909 +#: order/models.py:1935 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1922 order/models.py:2239 +#: order/models.py:1948 order/models.py:2266 #: templates/js/translated/return_order.js:721 msgid "Item" msgstr "" -#: order/models.py:1923 +#: order/models.py:1949 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1932 +#: order/models.py:1958 msgid "Enter stock allocation quantity" msgstr "Stok tahsis miktarını girin" -#: order/models.py:2021 +#: order/models.py:2047 msgid "Return Order reference" msgstr "" -#: order/models.py:2033 +#: order/models.py:2059 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2045 +#: order/models.py:2071 msgid "Return order status" msgstr "" -#: order/models.py:2224 +#: order/models.py:2237 +msgid "Return Order Line Item" +msgstr "" + +#: order/models.py:2251 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2240 +#: order/models.py:2267 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2246 +#: order/models.py:2273 msgid "Received Date" msgstr "" -#: order/models.py:2247 +#: order/models.py:2274 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2258 templates/js/translated/return_order.js:732 +#: order/models.py:2285 templates/js/translated/return_order.js:732 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2259 +#: order/models.py:2286 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2266 +#: order/models.py:2293 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:79 order/templates/order/po_sidebar.html:5 +#: order/models.py:2303 +msgid "Return Order Extra Line" +msgstr "" + +#: order/serializers.py:83 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_purchase_order_report.html:22 @@ -5322,163 +5619,173 @@ msgstr "" msgid "Line Items" msgstr "" -#: order/serializers.py:83 +#: order/serializers.py:87 msgid "Completed Lines" msgstr "" -#: order/serializers.py:286 +#: order/serializers.py:305 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:301 order/serializers.py:1235 +#: order/serializers.py:320 order/serializers.py:1291 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:311 order/serializers.py:1245 +#: order/serializers.py:330 order/serializers.py:1301 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:439 +#: order/serializers.py:468 msgid "Order is not open" msgstr "" -#: order/serializers.py:460 +#: order/serializers.py:489 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:462 +#: order/serializers.py:491 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:472 +#: order/serializers.py:501 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:478 +#: order/serializers.py:507 msgid "Merge Items" msgstr "" -#: order/serializers.py:480 +#: order/serializers.py:509 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:498 +#: order/serializers.py:522 part/models.py:945 +msgid "Internal Part Number" +msgstr "" + +#: order/serializers.py:530 +#, fuzzy +#| msgid "Manufacturer Part Number" +msgid "Internal Part Name" +msgstr "Üretici Parça Numarası" + +#: order/serializers.py:546 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:501 +#: order/serializers.py:549 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:509 +#: order/serializers.py:557 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:510 +#: order/serializers.py:558 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:549 order/serializers.py:1313 +#: order/serializers.py:598 order/serializers.py:1369 msgid "Line Item" msgstr "" -#: order/serializers.py:555 +#: order/serializers.py:604 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:565 order/serializers.py:673 order/serializers.py:1657 +#: order/serializers.py:614 order/serializers.py:722 order/serializers.py:1715 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:581 templates/js/translated/purchase_order.js:1130 +#: order/serializers.py:630 templates/js/translated/purchase_order.js:1130 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:589 templates/js/translated/purchase_order.js:1154 +#: order/serializers.py:638 templates/js/translated/purchase_order.js:1154 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:600 templates/js/translated/barcode.js:52 +#: order/serializers.py:649 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:601 +#: order/serializers.py:650 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:617 +#: order/serializers.py:666 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:641 +#: order/serializers.py:690 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:689 order/serializers.py:1673 +#: order/serializers.py:738 order/serializers.py:1731 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:705 +#: order/serializers.py:754 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:716 +#: order/serializers.py:765 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1062 +#: order/serializers.py:1117 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1122 +#: order/serializers.py:1178 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1183 order/serializers.py:1322 +#: order/serializers.py:1239 order/serializers.py:1378 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1202 +#: order/serializers.py:1258 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1332 +#: order/serializers.py:1388 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1354 order/serializers.py:1460 +#: order/serializers.py:1410 order/serializers.py:1516 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1357 order/serializers.py:1463 +#: order/serializers.py:1413 order/serializers.py:1519 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1404 +#: order/serializers.py:1460 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1411 +#: order/serializers.py:1467 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1627 +#: order/serializers.py:1685 msgid "Return order line item" msgstr "" -#: order/serializers.py:1633 +#: order/serializers.py:1691 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1636 +#: order/serializers.py:1694 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1665 +#: order/serializers.py:1723 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1743 +#: order/serializers.py:1806 msgid "Line price currency" msgstr "" @@ -5808,7 +6115,7 @@ msgstr "" #: 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:1073 +#: templates/js/translated/part.js:1076 #: templates/js/translated/purchase_order.js:1752 #: templates/js/translated/return_order.js:380 #: templates/js/translated/sales_order.js:891 @@ -5904,34 +6211,29 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:398 part/models.py:3944 part/stocktake.py:219 +#: part/admin.py:39 part/admin.py:398 part/models.py:3991 part/stocktake.py:219 #: stock/admin.py:152 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:405 part/models.py:3945 part/stocktake.py:220 -#: stock/admin.py:156 -msgid "Part Name" -msgstr "" - #: part/admin.py:45 part/stocktake.py:221 msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:940 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:944 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 -#: templates/js/translated/part.js:1227 templates/js/translated/part.js:2341 +#: templates/js/translated/part.js:1230 templates/js/translated/part.js:2344 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "DPN" -#: part/admin.py:50 part/models.py:949 part/templates/part/part_base.html:277 -#: report/models.py:162 templates/js/translated/part.js:1232 -#: templates/js/translated/part.js:2347 +#: part/admin.py:50 part/models.py:953 part/templates/part/part_base.html:277 +#: report/models.py:162 templates/js/translated/part.js:1235 +#: templates/js/translated/part.js:2350 msgid "Revision" msgstr "Revizyon" -#: part/admin.py:53 part/admin.py:319 part/models.py:922 +#: part/admin.py:53 part/admin.py:319 part/models.py:926 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "Anahtar kelimeler" @@ -5944,7 +6246,8 @@ msgstr "" msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:304 part/stocktake.py:223 +#: part/admin.py:67 part/admin.py:304 part/serializers.py:837 +#: part/stocktake.py:223 msgid "Category Name" msgstr "" @@ -5956,11 +6259,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:908 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:912 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "Çeşidi" -#: part/admin.py:84 part/models.py:1036 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1040 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "Minimum Stok" @@ -5968,18 +6271,19 @@ msgstr "Minimum Stok" msgid "Used In" msgstr "" -#: part/admin.py:150 part/templates/part/part_base.html:241 stock/admin.py:235 -#: templates/js/translated/part.js:715 templates/js/translated/part.js:2153 +#: part/admin.py:150 part/serializers.py:854 +#: part/templates/part/part_base.html:241 stock/admin.py:235 +#: templates/js/translated/part.js:714 templates/js/translated/part.js:2156 msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3088 part/models.py:3102 -#: templates/js/translated/part.js:970 +#: part/admin.py:155 part/models.py:3098 part/models.py:3112 +#: templates/js/translated/part.js:973 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3095 part/models.py:3109 -#: templates/js/translated/part.js:980 +#: part/admin.py:158 part/models.py:3105 part/models.py:3119 +#: templates/js/translated/part.js:983 msgid "Maximum Cost" msgstr "" @@ -5996,14 +6300,14 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:396 part/serializers.py:124 -#: part/serializers.py:267 part/serializers.py:386 +#: part/admin.py:325 part/models.py:397 part/serializers.py:130 +#: part/serializers.py:282 part/serializers.py:404 #: 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:2807 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:203 msgid "Parts" msgstr "Parçalar" @@ -6020,125 +6324,117 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:402 part/models.py:3946 -msgid "Part IPN" -msgstr "" - -#: part/admin.py:415 part/serializers.py:1274 +#: part/admin.py:415 part/serializers.py:1302 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:420 part/serializers.py:1289 +#: part/admin.py:420 part/serializers.py:1317 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "" -#: part/api.py:104 +#: part/api.py:105 msgid "Starred" msgstr "" -#: part/api.py:106 +#: part/api.py:107 msgid "Filter by starred categories" msgstr "" -#: part/api.py:123 stock/api.py:312 +#: part/api.py:124 stock/api.py:312 msgid "Depth" msgstr "" -#: part/api.py:123 +#: part/api.py:124 msgid "Filter by category depth" msgstr "" -#: part/api.py:141 stock/api.py:330 +#: part/api.py:142 stock/api.py:330 msgid "Top Level" msgstr "" -#: part/api.py:143 +#: part/api.py:144 msgid "Filter by top-level categories" msgstr "" -#: part/api.py:156 stock/api.py:345 +#: part/api.py:157 stock/api.py:345 msgid "Cascade" msgstr "" -#: part/api.py:158 +#: part/api.py:159 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:179 templates/js/translated/part.js:308 +#: part/api.py:180 templates/js/translated/part.js:307 msgid "Parent" msgstr "" -#: part/api.py:181 +#: part/api.py:182 msgid "Filter by parent category" msgstr "" -#: part/api.py:214 +#: part/api.py:215 msgid "Exclude Tree" msgstr "" -#: part/api.py:216 +#: part/api.py:217 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:449 +#: part/api.py:442 msgid "Has Results" msgstr "" -#: part/api.py:616 +#: part/api.py:609 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:634 +#: part/api.py:627 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:650 +#: part/api.py:643 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:734 +#: part/api.py:727 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:881 -msgid "Valid" -msgstr "" - -#: part/api.py:882 +#: part/api.py:875 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:888 +#: part/api.py:881 msgid "This option must be selected" msgstr "" -#: part/api.py:1105 +#: part/api.py:1098 msgid "BOM Valid" msgstr "" -#: part/api.py:1508 part/models.py:932 part/models.py:3374 part/models.py:3889 -#: part/serializers.py:401 part/serializers.py:1130 -#: part/templates/part/part_base.html:260 stock/api.py:791 +#: part/api.py:1494 part/models.py:936 part/models.py:3385 part/models.py:3936 +#: part/serializers.py:419 part/serializers.py:1158 +#: part/templates/part/part_base.html:260 stock/api.py:783 #: 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:2380 msgid "Category" msgstr "" -#: part/api.py:1796 +#: part/api.py:1784 msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:104 part/models.py:975 +#: part/bom.py:170 part/models.py:104 part/models.py:979 #: 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:833 +#: part/bom.py:171 part/serializers.py:861 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6147,7 +6443,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:85 part/models.py:3890 part/templates/part/category.html:16 +#: part/models.py:85 part/models.py:3937 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -6162,7 +6458,7 @@ msgstr "Parça Kategorileri" msgid "Default location for parts in this category" msgstr "Bu kategori içindeki parçalar için varsayılan konum" -#: part/models.py:110 stock/models.py:175 templates/js/translated/part.js:2810 +#: part/models.py:110 stock/models.py:175 templates/js/translated/part.js:2813 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 @@ -6194,1002 +6490,1043 @@ msgstr "" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:485 +#: part/models.py:486 +msgid "Cannot delete this part as it is locked" +msgstr "" + +#: part/models.py:489 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:490 +#: part/models.py:494 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:528 +#: part/models.py:532 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:576 part/models.py:583 +#: part/models.py:580 part/models.py:587 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:595 +#: part/models.py:599 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:658 +#: part/models.py:662 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:736 +#: part/models.py:740 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:837 +#: part/models.py:841 msgid "Duplicate IPN not allowed in part settings" msgstr "Yinelenen DPN'ye parça ayarlarında izin verilmiyor" -#: part/models.py:847 +#: part/models.py:851 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:862 +#: part/models.py:866 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:891 part/models.py:3945 +#: part/models.py:895 part/models.py:3992 msgid "Part name" msgstr "Parça adı" -#: part/models.py:896 +#: part/models.py:900 msgid "Is Template" msgstr "Şablon Mu" -#: part/models.py:897 +#: part/models.py:901 msgid "Is this part a template part?" msgstr "Bu parça bir şablon parçası mı?" -#: part/models.py:907 +#: part/models.py:911 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:915 +#: part/models.py:919 msgid "Part description (optional)" msgstr "" -#: part/models.py:923 +#: part/models.py:927 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:933 +#: part/models.py:937 msgid "Part category" msgstr "" -#: part/models.py:941 -msgid "Internal Part Number" -msgstr "" - -#: part/models.py:948 +#: part/models.py:952 msgid "Part revision or version number" msgstr "Parça revizyon veya versiyon numarası" -#: part/models.py:973 +#: part/models.py:977 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1019 part/templates/part/part_base.html:376 +#: part/models.py:1023 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "Varsayılan Tedarikçi" -#: part/models.py:1020 +#: part/models.py:1024 msgid "Default supplier part" msgstr "Varsayılan tedarikçi parçası" -#: part/models.py:1027 +#: part/models.py:1031 msgid "Default Expiry" msgstr "" -#: part/models.py:1028 +#: part/models.py:1032 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1037 +#: part/models.py:1041 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1046 +#: part/models.py:1050 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1053 +#: part/models.py:1057 msgid "Can this part be built from other parts?" msgstr "Bu parça diğer parçalardan yapılabilir mi?" -#: part/models.py:1059 +#: part/models.py:1063 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:1065 +#: part/models.py:1069 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1071 +#: part/models.py:1075 msgid "Can this part be purchased from external suppliers?" msgstr "Bu parça dış tedarikçilerden satın alınabilir mi?" -#: part/models.py:1077 +#: part/models.py:1081 msgid "Can this part be sold to customers?" msgstr "Bu parça müşterilere satılabilir mi?" -#: part/models.py:1081 +#: part/models.py:1085 msgid "Is this part active?" msgstr "Bu parça aktif mi?" -#: part/models.py:1087 +#: part/models.py:1090 templates/js/translated/part.js:818 +#: templates/js/translated/table_filters.js:721 +msgid "Locked" +msgstr "" + +#: part/models.py:1091 +msgid "Locked parts cannot be edited" +msgstr "" + +#: part/models.py:1097 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1093 +#: part/models.py:1103 msgid "BOM checksum" msgstr "" -#: part/models.py:1094 +#: part/models.py:1104 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1102 +#: part/models.py:1112 msgid "BOM checked by" msgstr "" -#: part/models.py:1107 +#: part/models.py:1117 msgid "BOM checked date" msgstr "" -#: part/models.py:1123 +#: part/models.py:1133 msgid "Creation User" msgstr "Oluşturan Kullanıcı" -#: part/models.py:1133 +#: part/models.py:1143 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1138 part/templates/part/part_base.html:339 +#: part/models.py:1148 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:2474 msgid "Last Stocktake" msgstr "" -#: part/models.py:2011 +#: part/models.py:2021 msgid "Sell multiple" msgstr "" -#: part/models.py:3002 +#: part/models.py:3012 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3018 +#: part/models.py:3028 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3019 +#: part/models.py:3029 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3025 +#: part/models.py:3035 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3026 +#: part/models.py:3036 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3032 +#: part/models.py:3042 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3033 +#: part/models.py:3043 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3039 +#: part/models.py:3049 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3040 +#: part/models.py:3050 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3046 +#: part/models.py:3056 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3047 +#: part/models.py:3057 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3053 +#: part/models.py:3063 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3054 +#: part/models.py:3064 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3060 +#: part/models.py:3070 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3061 +#: part/models.py:3071 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3067 +#: part/models.py:3077 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3068 +#: part/models.py:3078 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3074 +#: part/models.py:3084 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3075 +#: part/models.py:3085 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3081 +#: part/models.py:3091 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3082 +#: part/models.py:3092 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3089 +#: part/models.py:3099 msgid "Override minimum cost" msgstr "" -#: part/models.py:3096 +#: part/models.py:3106 msgid "Override maximum cost" msgstr "" -#: part/models.py:3103 +#: part/models.py:3113 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3110 +#: part/models.py:3120 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3116 +#: part/models.py:3126 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3117 +#: part/models.py:3127 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3123 +#: part/models.py:3133 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3124 +#: part/models.py:3134 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3130 +#: part/models.py:3140 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3131 +#: part/models.py:3141 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3137 +#: part/models.py:3147 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3138 +#: part/models.py:3148 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3157 +#: part/models.py:3167 msgid "Part for stocktake" msgstr "" -#: part/models.py:3162 +#: part/models.py:3172 msgid "Item Count" msgstr "" -#: part/models.py:3163 +#: part/models.py:3173 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3171 +#: part/models.py:3181 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3175 part/models.py:3258 +#: part/models.py:3185 part/models.py:3268 #: part/templates/part/part_scheduling.html:13 #: 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:1086 templates/js/translated/pricing.js:826 +#: templates/js/translated/part.js:1089 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 #: templates/js/translated/purchase_order.js:1731 #: templates/js/translated/stock.js:2821 msgid "Date" msgstr "" -#: part/models.py:3176 +#: part/models.py:3186 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3184 +#: part/models.py:3194 msgid "Additional notes" msgstr "" -#: part/models.py:3194 +#: part/models.py:3204 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3200 +#: part/models.py:3210 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3201 +#: part/models.py:3211 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3207 +#: part/models.py:3217 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3208 +#: part/models.py:3218 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3264 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3274 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3265 +#: part/models.py:3275 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3270 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3280 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3271 +#: part/models.py:3281 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3281 +#: part/models.py:3291 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3423 +#: part/models.py:3301 +msgid "Part Sale Price Break" +msgstr "" + +#: part/models.py:3413 +#, fuzzy +#| msgid "Part Test Templates" +msgid "Part Test Template" +msgstr "Parça Test Şablonları" + +#: part/models.py:3439 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3444 part/models.py:3608 +#: part/models.py:3460 part/models.py:3629 msgid "Choices must be unique" msgstr "" -#: part/models.py:3455 +#: part/models.py:3471 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:3466 +#: part/models.py:3482 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3483 templates/js/translated/part.js:2880 +#: part/models.py:3499 templates/js/translated/part.js:2883 msgid "Test Name" msgstr "Test Adı" -#: part/models.py:3484 +#: part/models.py:3500 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3490 +#: part/models.py:3506 msgid "Test Key" msgstr "" -#: part/models.py:3491 +#: part/models.py:3507 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3498 +#: part/models.py:3514 msgid "Test Description" msgstr "Test Açıklaması" -#: part/models.py:3499 +#: part/models.py:3515 msgid "Enter description for this test" msgstr "" -#: part/models.py:3503 report/models.py:209 -#: templates/js/translated/part.js:2901 +#: part/models.py:3519 report/models.py:209 +#: templates/js/translated/part.js:2904 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "Etkin" -#: part/models.py:3503 +#: part/models.py:3519 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3508 templates/js/translated/part.js:2909 +#: part/models.py:3524 templates/js/translated/part.js:2912 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "Gerekli" -#: part/models.py:3509 +#: part/models.py:3525 msgid "Is this test required to pass?" msgstr "Testi geçmesi için bu gerekli mi?" -#: part/models.py:3514 templates/js/translated/part.js:2917 +#: part/models.py:3530 templates/js/translated/part.js:2920 msgid "Requires Value" msgstr "" -#: part/models.py:3515 +#: part/models.py:3531 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3520 templates/js/translated/part.js:2924 +#: part/models.py:3536 templates/js/translated/part.js:2927 msgid "Requires Attachment" msgstr "" -#: part/models.py:3522 +#: part/models.py:3538 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3528 part/models.py:3667 templates/js/translated/part.js:1637 +#: part/models.py:3544 part/models.py:3688 templates/js/translated/part.js:1640 msgid "Choices" msgstr "" -#: part/models.py:3529 +#: part/models.py:3545 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3583 +#: part/models.py:3577 +#, fuzzy +#| msgid "Part Parameter Templates" +msgid "Part Parameter Template" +msgstr "Parça Parametre Şablonu" + +#: part/models.py:3604 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3588 +#: part/models.py:3609 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3625 +#: part/models.py:3646 msgid "Parameter template name must be unique" msgstr "Parametre şablon adı benzersiz olmalıdır" -#: part/models.py:3640 +#: part/models.py:3661 msgid "Parameter Name" msgstr "" -#: part/models.py:3647 +#: part/models.py:3668 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3655 +#: part/models.py:3676 msgid "Parameter description" msgstr "" -#: part/models.py:3661 templates/js/translated/part.js:1628 -#: templates/js/translated/table_filters.js:825 +#: part/models.py:3682 templates/js/translated/part.js:1631 +#: templates/js/translated/table_filters.js:830 msgid "Checkbox" msgstr "" -#: part/models.py:3662 +#: part/models.py:3683 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3668 +#: part/models.py:3689 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3745 +#: part/models.py:3723 +#, fuzzy +#| msgid "Part Parameter Templates" +msgid "Part Parameter" +msgstr "Parça Parametre Şablonu" + +#: part/models.py:3749 +msgid "Parameter cannot be modified - part is locked" +msgstr "" + +#: part/models.py:3785 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3788 +#: part/models.py:3828 msgid "Parent Part" msgstr "" -#: part/models.py:3796 part/models.py:3897 part/models.py:3898 +#: part/models.py:3836 part/models.py:3944 part/models.py:3945 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "Parametre Şablonu" -#: part/models.py:3801 -msgid "Data" -msgstr "" - -#: part/models.py:3802 +#: part/models.py:3842 msgid "Parameter Value" msgstr "" -#: part/models.py:3904 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3892 +#, fuzzy +#| msgid "Copy Category Parameter Templates" +msgid "Part Category Parameter Template" +msgstr "Kategori Paremetre Sablonu Kopyala" + +#: part/models.py:3951 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3905 +#: part/models.py:3952 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3943 +#: part/models.py:3990 msgid "Part ID or part name" msgstr "" -#: part/models.py:3944 +#: part/models.py:3991 msgid "Unique part ID value" msgstr "" -#: part/models.py:3946 +#: part/models.py:3993 msgid "Part IPN value" msgstr "" -#: part/models.py:3947 +#: part/models.py:3994 msgid "Level" msgstr "" -#: part/models.py:3947 +#: part/models.py:3994 msgid "BOM level" msgstr "" -#: part/models.py:4037 +#: part/models.py:4105 +msgid "BOM item cannot be modified - assembly is locked" +msgstr "" + +#: part/models.py:4112 +msgid "BOM item cannot be modified - variant assembly is locked" +msgstr "" + +#: part/models.py:4122 msgid "Select parent part" msgstr "" -#: part/models.py:4047 +#: part/models.py:4132 msgid "Sub part" msgstr "" -#: part/models.py:4048 +#: part/models.py:4133 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4059 +#: part/models.py:4144 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4065 +#: part/models.py:4150 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4071 +#: part/models.py:4156 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4078 part/templates/part/upload_bom.html:55 +#: part/models.py:4163 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4079 +#: part/models.py:4164 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4086 +#: part/models.py:4171 msgid "BOM item reference" msgstr "" -#: part/models.py:4094 +#: part/models.py:4179 msgid "BOM item notes" msgstr "" -#: part/models.py:4100 +#: part/models.py:4185 msgid "Checksum" msgstr "" -#: part/models.py:4101 +#: part/models.py:4186 msgid "BOM line checksum" msgstr "" -#: part/models.py:4106 templates/js/translated/table_filters.js:174 +#: part/models.py:4191 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4107 +#: part/models.py:4192 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4112 part/templates/part/upload_bom.html:57 +#: part/models.py:4197 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:4113 +#: part/models.py:4198 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:4118 part/templates/part/upload_bom.html:56 +#: part/models.py:4203 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "Çeşide İzin Ver" -#: part/models.py:4119 +#: part/models.py:4204 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:4204 stock/models.py:663 +#: part/models.py:4289 stock/models.py:663 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4214 part/models.py:4216 +#: part/models.py:4299 part/models.py:4301 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4354 +#: part/models.py:4439 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4375 +#: part/models.py:4460 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4388 +#: part/models.py:4473 msgid "Parent BOM item" msgstr "" -#: part/models.py:4396 +#: part/models.py:4481 msgid "Substitute part" msgstr "" -#: part/models.py:4412 +#: part/models.py:4497 msgid "Part 1" msgstr "" -#: part/models.py:4420 +#: part/models.py:4505 msgid "Part 2" msgstr "" -#: part/models.py:4421 +#: part/models.py:4506 msgid "Select Related Part" msgstr "" -#: part/models.py:4440 +#: part/models.py:4525 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4445 +#: part/models.py:4530 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:118 +#: part/serializers.py:124 msgid "Parent Category" msgstr "" -#: part/serializers.py:119 templates/js/translated/part.js:309 +#: part/serializers.py:125 templates/js/translated/part.js:308 msgid "Parent part category" msgstr "" -#: part/serializers.py:126 part/serializers.py:148 +#: part/serializers.py:132 part/serializers.py:154 #: part/templates/part/category.html:122 part/templates/part/category.html:207 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "Alt kategoriler" -#: part/serializers.py:180 +#: part/serializers.py:189 msgid "Results" msgstr "" -#: part/serializers.py:181 +#: part/serializers.py:190 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:205 part/serializers.py:223 stock/serializers.py:562 +#: part/serializers.py:217 part/serializers.py:235 stock/serializers.py:608 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:268 +#: part/serializers.py:283 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:392 +#: part/serializers.py:410 msgid "No parts selected" msgstr "" -#: part/serializers.py:402 +#: part/serializers.py:420 msgid "Select category" msgstr "" -#: part/serializers.py:437 +#: part/serializers.py:455 msgid "Original Part" msgstr "" -#: part/serializers.py:438 +#: part/serializers.py:456 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:461 msgid "Copy Image" msgstr "" -#: part/serializers.py:444 +#: part/serializers.py:462 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:450 part/templates/part/detail.html:277 +#: part/serializers.py:468 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:451 +#: part/serializers.py:469 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:457 +#: part/serializers.py:475 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:458 +#: part/serializers.py:476 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:464 +#: part/serializers.py:482 msgid "Copy Notes" msgstr "" -#: part/serializers.py:465 +#: part/serializers.py:483 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:483 +#: part/serializers.py:501 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:485 +#: part/serializers.py:503 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:492 +#: part/serializers.py:510 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:493 +#: part/serializers.py:511 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:510 +#: part/serializers.py:528 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:526 +#: part/serializers.py:544 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:536 +#: part/serializers.py:554 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:543 +#: part/serializers.py:561 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:552 +#: part/serializers.py:570 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:563 +#: part/serializers.py:581 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:570 +#: part/serializers.py:588 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:834 -msgid "External Stock" -msgstr "" - -#: part/serializers.py:836 +#: part/serializers.py:864 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:839 +#: part/serializers.py:867 msgid "Variant Stock" msgstr "" -#: part/serializers.py:869 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:472 +#: part/serializers.py:897 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:870 +#: part/serializers.py:898 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:876 templates/js/translated/part.js:102 +#: part/serializers.py:904 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:877 +#: part/serializers.py:905 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:883 +#: part/serializers.py:911 msgid "Supplier Information" msgstr "" -#: part/serializers.py:884 +#: part/serializers.py:912 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:892 +#: part/serializers.py:920 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:893 +#: part/serializers.py:921 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:898 +#: part/serializers.py:926 msgid "Existing Image" msgstr "" -#: part/serializers.py:899 +#: part/serializers.py:927 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:916 +#: part/serializers.py:944 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1122 +#: part/serializers.py:1150 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1132 +#: part/serializers.py:1160 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1142 +#: part/serializers.py:1170 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1148 +#: part/serializers.py:1176 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1149 +#: part/serializers.py:1177 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1154 +#: part/serializers.py:1182 msgid "Generate Report" msgstr "" -#: part/serializers.py:1155 +#: part/serializers.py:1183 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1160 +#: part/serializers.py:1188 msgid "Update Parts" msgstr "" -#: part/serializers.py:1161 +#: part/serializers.py:1189 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1169 +#: part/serializers.py:1197 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1275 +#: part/serializers.py:1303 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1282 +#: part/serializers.py:1310 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1290 +#: part/serializers.py:1318 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1297 +#: part/serializers.py:1325 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1326 +#: part/serializers.py:1354 msgid "Update" msgstr "" -#: part/serializers.py:1327 +#: part/serializers.py:1355 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1350 +#: part/serializers.py:1378 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1357 +#: part/serializers.py:1385 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1360 +#: part/serializers.py:1388 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1727 +#: part/serializers.py:1759 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1735 +#: part/serializers.py:1767 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1736 +#: part/serializers.py:1768 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1741 +#: part/serializers.py:1773 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1742 +#: part/serializers.py:1774 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1747 +#: part/serializers.py:1779 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1748 +#: part/serializers.py:1780 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1753 +#: part/serializers.py:1785 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1754 +#: part/serializers.py:1786 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1788 +#: part/serializers.py:1823 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1789 +#: part/serializers.py:1824 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1819 +#: part/serializers.py:1856 msgid "No part column specified" msgstr "" -#: part/serializers.py:1863 +#: part/serializers.py:1900 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1866 +#: part/serializers.py:1903 msgid "No matching part found" msgstr "" -#: part/serializers.py:1869 +#: part/serializers.py:1906 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1878 +#: part/serializers.py:1915 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1886 +#: part/serializers.py:1923 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1907 +#: part/serializers.py:1946 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:225 templates/js/translated/part.js:1067 -#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 +#: part/stocktake.py:225 templates/js/translated/part.js:1070 +#: templates/js/translated/part.js:1825 templates/js/translated/part.js:1881 #: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "" @@ -7507,7 +7844,7 @@ msgstr "" #: part/templates/part/part_base.html:52 #: stock/templates/stock/item_base.html:62 -#: stock/templates/stock/location.html:74 templates/js/translated/label.js:143 +#: stock/templates/stock/location.html:74 templates/js/translated/label.js:136 msgid "Print Label" msgstr "Etiket Yazdır" @@ -7529,7 +7866,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:2296 msgid "Part actions" msgstr "Parça işlemleri" @@ -7569,6 +7906,10 @@ msgstr "Bu parça harici tedarikçilerden satın alınabilir" msgid "Part can be sold to customers" msgstr "" +#: part/templates/part/part_base.html:145 +msgid "Part is not active" +msgstr "" + #: part/templates/part/part_base.html:153 msgid "Part is virtual (not a physical part)" msgstr "" @@ -7597,7 +7938,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:322 templates/js/translated/bom.js:1071 -#: templates/js/translated/part.js:1265 templates/js/translated/part.js:2444 +#: templates/js/translated/part.js:1268 templates/js/translated/part.js:2447 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" @@ -7690,8 +8031,8 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/part.js:1243 templates/js/translated/part.js:2146 -#: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 +#: templates/js/translated/part.js:1246 templates/js/translated/part.js:2149 +#: templates/js/translated/part.js:2395 templates/js/translated/stock.js:1059 #: templates/js/translated/stock.js:2070 templates/navbar.html:31 msgid "Stock" msgstr "Stok" @@ -7811,8 +8152,8 @@ msgstr "" #: part/templates/part/stock_count.html:7 #: templates/js/translated/model_renderers.js:227 -#: templates/js/translated/part.js:705 templates/js/translated/part.js:2141 -#: templates/js/translated/part.js:2143 +#: templates/js/translated/part.js:704 templates/js/translated/part.js:2144 +#: templates/js/translated/part.js:2146 msgid "No Stock" msgstr "Stok Yok" @@ -7956,7 +8297,7 @@ msgstr "" msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2589 +#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2590 #: templates/js/translated/sales_order.js:1953 msgid "Insufficient stock available" msgstr "" @@ -8051,7 +8392,7 @@ msgstr "" msgid "Quantity to allocate" msgstr "" -#: plugin/base/label/label.py:39 templates/js/translated/label.js:155 +#: plugin/base/label/label.py:39 templates/js/translated/label.js:148 msgid "Label printing failed" msgstr "" @@ -8748,7 +9089,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report.html:25 #: report/templates/report/inventree_test_report.html:88 stock/models.py:825 -#: stock/serializers.py:149 stock/templates/stock/item_base.html:311 +#: stock/serializers.py:151 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:230 @@ -8778,7 +9119,7 @@ msgstr "" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2447 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2457 msgid "Result" msgstr "" @@ -8799,7 +9140,7 @@ msgid "No result" msgstr "" #: report/templates/report/inventree_test_report.html:153 -#: stock/templates/stock/stock_sidebar.html:16 +#: stock/serializers.py:591 stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" @@ -8829,10 +9170,6 @@ msgstr "" msgid "Location ID" msgstr "" -#: stock/admin.py:53 stock/admin.py:175 -msgid "Location Name" -msgstr "" - #: stock/admin.py:63 stock/templates/stock/location.html:131 #: stock/templates/stock/location.html:137 msgid "Location Path" @@ -8909,7 +9246,7 @@ msgstr "" msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:369 stock/serializers.py:1085 +#: stock/api.py:369 stock/serializers.py:1148 msgid "Parent Location" msgstr "" @@ -8917,44 +9254,45 @@ msgstr "" msgid "Filter by parent location" msgstr "" -#: stock/api.py:625 templates/js/translated/table_filters.js:427 +#: stock/api.py:617 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:813 +#: stock/api.py:805 msgid "Part Tree" msgstr "" -#: stock/api.py:843 +#: stock/api.py:835 msgid "Expiry date before" msgstr "" -#: stock/api.py:847 +#: stock/api.py:839 msgid "Expiry date after" msgstr "" -#: stock/api.py:850 stock/templates/stock/item_base.html:439 +#: stock/api.py:842 stock/serializers.py:596 +#: stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "" -#: stock/api.py:937 +#: stock/api.py:929 msgid "Quantity is required" msgstr "" -#: stock/api.py:943 +#: stock/api.py:935 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:974 +#: stock/api.py:966 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:984 +#: stock/api.py:976 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1015 +#: stock/api.py:1007 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -9021,7 +9359,7 @@ msgstr "" msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:669 stock/serializers.py:446 +#: stock/models.py:669 stock/serializers.py:477 msgid "Stock item cannot be created for virtual parts" msgstr "" @@ -9066,7 +9404,7 @@ msgstr "Bu stok kalemi için tedarikçi parçası seçin" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:799 stock/serializers.py:1476 +#: stock/models.py:799 stock/serializers.py:1542 msgid "Packaging this stock item is stored in" msgstr "" @@ -9078,7 +9416,7 @@ msgstr "" msgid "Serial number for this item" msgstr "Bu öge için seri numarası" -#: stock/models.py:843 stock/serializers.py:1459 +#: stock/models.py:843 stock/serializers.py:1525 msgid "Batch code for this stock item" msgstr "" @@ -9155,7 +9493,7 @@ msgstr "Seri numaraları tam sayı listesi olmalı" msgid "Quantity does not match serial numbers" msgstr "Miktar seri numaları ile eşleşmiyor" -#: stock/models.py:1520 stock/serializers.py:660 +#: stock/models.py:1520 stock/serializers.py:718 msgid "Serial numbers already exist" msgstr "Seri numaraları zaten mevcut" @@ -9187,7 +9525,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1658 stock/serializers.py:1365 +#: stock/models.py:1658 stock/serializers.py:1431 msgid "Duplicate stock items" msgstr "" @@ -9207,288 +9545,342 @@ msgstr "" 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:2317 +#, fuzzy +#| msgid "Stock Item" +msgid "Stock Item Tracking" +msgstr "Stok Kalemi" + +#: stock/models.py:2350 msgid "Entry notes" msgstr "" -#: stock/models.py:2413 +#: stock/models.py:2390 +#, fuzzy +#| msgid "Stock Items" +msgid "Stock Item Test Result" +msgstr "Stok Kalemleri" + +#: stock/models.py:2423 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2418 +#: stock/models.py:2428 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2423 +#: stock/models.py:2433 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2447 +#: stock/models.py:2457 msgid "Test result" msgstr "" -#: stock/models.py:2454 +#: stock/models.py:2464 msgid "Test output value" msgstr "" -#: stock/models.py:2462 +#: stock/models.py:2472 msgid "Test result attachment" msgstr "" -#: stock/models.py:2466 +#: stock/models.py:2476 msgid "Test notes" msgstr "" -#: stock/models.py:2474 templates/js/translated/stock.js:1548 +#: stock/models.py:2484 templates/js/translated/stock.js:1548 msgid "Test station" msgstr "" -#: stock/models.py:2475 +#: stock/models.py:2485 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2481 +#: stock/models.py:2491 msgid "Started" msgstr "" -#: stock/models.py:2482 +#: stock/models.py:2492 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2488 +#: stock/models.py:2498 msgid "Finished" msgstr "" -#: stock/models.py:2489 +#: stock/models.py:2499 msgid "The timestamp of the test finish" msgstr "" -#: stock/serializers.py:74 +#: stock/serializers.py:76 msgid "Generated batch code" msgstr "" -#: stock/serializers.py:83 +#: stock/serializers.py:85 msgid "Select build order" msgstr "" -#: stock/serializers.py:92 +#: stock/serializers.py:94 msgid "Select stock item to generate batch code for" msgstr "" -#: stock/serializers.py:101 +#: stock/serializers.py:103 msgid "Select location to generate batch code for" msgstr "" -#: stock/serializers.py:110 +#: stock/serializers.py:112 msgid "Select part to generate batch code for" msgstr "" -#: stock/serializers.py:119 +#: stock/serializers.py:121 msgid "Select purchase order" msgstr "" -#: stock/serializers.py:126 +#: stock/serializers.py:128 msgid "Enter quantity for batch code" msgstr "" -#: stock/serializers.py:149 +#: stock/serializers.py:151 msgid "Generated serial number" msgstr "" -#: stock/serializers.py:158 +#: stock/serializers.py:160 msgid "Select part to generate serial number for" msgstr "" -#: stock/serializers.py:166 +#: stock/serializers.py:168 msgid "Quantity of serial numbers to generate" msgstr "" -#: stock/serializers.py:228 +#: stock/serializers.py:233 msgid "Test template for this result" msgstr "" -#: stock/serializers.py:247 +#: stock/serializers.py:252 msgid "Template ID or test name must be provided" msgstr "" -#: stock/serializers.py:279 +#: stock/serializers.py:284 msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:315 +#: stock/serializers.py:320 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:438 +#: stock/serializers.py:449 stock/templates/stock/item_base.html:193 +msgid "Parent Item" +msgstr "" + +#: stock/serializers.py:450 +#, fuzzy +#| msgid "Parent Stock Item" +msgid "Parent stock item" +msgstr "Üst Stok Kalemi" + +#: stock/serializers.py:469 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:558 +#: stock/serializers.py:585 templates/js/translated/build.js:991 +#: templates/js/translated/build.js:2344 +msgid "Allocated Quantity" +msgstr "" + +#: stock/serializers.py:588 stock/templates/stock/item_base.html:437 +#: templates/js/translated/table_filters.js:435 users/models.py:174 +msgid "Expired" +msgstr "" + +#: stock/serializers.py:594 stock/templates/stock/stock_sidebar.html:20 +msgid "Child Items" +msgstr "" + +#: stock/serializers.py:598 +#, fuzzy +#| msgid "Stock Items" +msgid "Tracking Items" +msgstr "Stok Kalemleri" + +#: stock/serializers.py:604 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:595 +#: stock/serializers.py:623 +#, fuzzy +#| msgid "Minimum Stock" +msgid "Minimum Pricing" +msgstr "Minimum Stok" + +#: stock/serializers.py:629 +#, fuzzy +#| msgid "Pricing" +msgid "Maximum Pricing" +msgstr "Fiyatlandırma" + +#: stock/serializers.py:653 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:608 +#: stock/serializers.py:666 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:615 +#: stock/serializers.py:673 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:626 stock/serializers.py:1322 stock/serializers.py:1578 +#: stock/serializers.py:684 stock/serializers.py:1388 stock/serializers.py:1644 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:633 +#: stock/serializers.py:691 msgid "Optional note field" msgstr "" -#: stock/serializers.py:643 +#: stock/serializers.py:701 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:698 +#: stock/serializers.py:756 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:705 +#: stock/serializers.py:763 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:706 +#: stock/serializers.py:764 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:711 stock/serializers.py:791 stock/serializers.py:887 -#: stock/serializers.py:937 +#: stock/serializers.py:769 stock/serializers.py:849 stock/serializers.py:945 +#: stock/serializers.py:995 msgid "Add transaction note (optional)" msgstr "İşlem notu ekle (isteğe bağlı)" -#: stock/serializers.py:719 +#: stock/serializers.py:777 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:727 +#: stock/serializers.py:785 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:738 +#: stock/serializers.py:796 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:751 +#: stock/serializers.py:809 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:786 +#: stock/serializers.py:844 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:821 +#: stock/serializers.py:879 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:834 +#: stock/serializers.py:892 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:851 +#: stock/serializers.py:909 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:882 +#: stock/serializers.py:940 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:919 +#: stock/serializers.py:977 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:925 +#: stock/serializers.py:983 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1021 stock/serializers.py:1093 +#: stock/serializers.py:1079 stock/serializers.py:1156 #: stock/templates/stock/location.html:165 #: stock/templates/stock/location.html:222 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "Alt konumlar" -#: stock/serializers.py:1086 templates/js/translated/stock.js:152 +#: stock/serializers.py:1149 templates/js/translated/stock.js:152 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1194 +#: stock/serializers.py:1260 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1198 +#: stock/serializers.py:1264 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1202 +#: stock/serializers.py:1268 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1226 +#: stock/serializers.py:1292 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1232 +#: stock/serializers.py:1298 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1240 +#: stock/serializers.py:1306 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1250 stock/serializers.py:1504 +#: stock/serializers.py:1316 stock/serializers.py:1570 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1329 +#: stock/serializers.py:1395 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1334 +#: stock/serializers.py:1400 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1335 +#: stock/serializers.py:1401 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1340 +#: stock/serializers.py:1406 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1341 +#: stock/serializers.py:1407 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1351 +#: stock/serializers.py:1417 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1418 +#: stock/serializers.py:1484 msgid "No Change" msgstr "" -#: stock/serializers.py:1447 +#: stock/serializers.py:1513 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1466 +#: stock/serializers.py:1532 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1494 +#: stock/serializers.py:1560 msgid "Stock transaction notes" msgstr "" @@ -9757,10 +10149,6 @@ msgstr "" msgid "Build" msgstr "Yapım İşi" -#: stock/templates/stock/item_base.html:193 -msgid "Parent Item" -msgstr "" - #: stock/templates/stock/item_base.html:211 msgid "No manufacturer set" msgstr "" @@ -9836,11 +10224,6 @@ msgstr "Stok kalemi tüm gerekli testleri geçmedi" msgid "This StockItem expired on %(item.expiry_date)s" msgstr "Bu stok kaleminin süresi %(item.expiry_date)s tarihinde sona erdi" -#: stock/templates/stock/item_base.html:437 -#: templates/js/translated/table_filters.js:435 users/models.py:174 -msgid "Expired" -msgstr "" - #: stock/templates/stock/item_base.html:439 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" @@ -9988,10 +10371,6 @@ msgstr "" msgid "Allocations" msgstr "" -#: stock/templates/stock/stock_sidebar.html:20 -msgid "Child Items" -msgstr "" - #: templates/403.html:6 templates/403.html:12 templates/403_csrf.html:7 msgid "Permission Denied" msgstr "" @@ -10466,8 +10845,8 @@ 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:393 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:245 users/models.py:402 +#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 +#: templates/js/translated/stock.js:245 users/models.py:406 msgid "Delete" msgstr "" @@ -10507,12 +10886,12 @@ msgid "No category parameter templates found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:308 -#: templates/js/translated/part.js:1646 +#: templates/js/translated/part.js:1649 msgid "Edit Template" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:309 -#: templates/js/translated/part.js:1647 +#: templates/js/translated/part.js:1650 msgid "Delete Template" msgstr "" @@ -11145,7 +11524,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2556 +#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2557 msgid "Required Quantity" msgstr "" @@ -11159,7 +11538,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3219 +#: templates/js/translated/part.js:3222 msgid "Minimum Quantity" msgstr "" @@ -11514,7 +11893,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2500 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2501 msgid "Variant stock allowed" msgstr "" @@ -11534,30 +11913,30 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2621 +#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2622 msgid "External stock" msgstr "" -#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2595 +#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2596 #: templates/js/translated/sales_order.js:1946 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2599 +#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2600 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2601 -#: templates/js/translated/part.js:1257 +#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2602 +#: templates/js/translated/part.js:1260 #: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2603 +#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2604 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2586 +#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2587 msgid "Consumable item" msgstr "" @@ -11589,7 +11968,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2485 +#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2486 msgid "Required Part" msgstr "" @@ -11758,10 +12137,6 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:991 templates/js/translated/build.js:2344 -msgid "Allocated Quantity" -msgstr "" - #: templates/js/translated/build.js:1005 msgid "Location not specified" msgstr "" @@ -11873,9 +12248,9 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2117 templates/js/translated/build.js:2479 +#: templates/js/translated/build.js:2117 templates/js/translated/build.js:2480 #: templates/js/translated/forms.js:2163 templates/js/translated/forms.js:2179 -#: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 +#: templates/js/translated/part.js:2319 templates/js/translated/part.js:2745 #: templates/js/translated/stock.js:1983 templates/js/translated/stock.js:2710 msgid "Select" msgstr "" @@ -11906,59 +12281,59 @@ msgstr "" msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2455 +#: templates/js/translated/build.js:2456 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2456 +#: templates/js/translated/build.js:2457 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2474 +#: templates/js/translated/build.js:2475 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2504 templates/js/translated/part.js:791 -#: templates/js/translated/part.js:1203 +#: templates/js/translated/build.js:2505 templates/js/translated/part.js:790 +#: templates/js/translated/part.js:1206 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2539 +#: templates/js/translated/build.js:2540 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2591 +#: templates/js/translated/build.js:2592 #: templates/js/translated/sales_order.js:1951 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2646 +#: templates/js/translated/build.js:2647 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2653 +#: templates/js/translated/build.js:2654 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2654 +#: templates/js/translated/build.js:2655 msgid "Allocate tracked items against individual build outputs" msgstr "" -#: templates/js/translated/build.js:2662 +#: templates/js/translated/build.js:2663 #: templates/js/translated/sales_order.js:2052 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2667 templates/js/translated/stock.js:1868 +#: templates/js/translated/build.js:2668 templates/js/translated/stock.js:1868 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2671 +#: templates/js/translated/build.js:2672 #: templates/js/translated/sales_order.js:2046 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2675 +#: templates/js/translated/build.js:2676 msgid "Remove stock allocation" msgstr "" @@ -12105,7 +12480,7 @@ msgid "Delete Parameters" msgstr "" #: templates/js/translated/company.js:1191 -#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2245 +#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2248 msgid "Order parts" msgstr "" @@ -12122,34 +12497,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:1279 -#: templates/js/translated/company.js:1567 templates/js/translated/part.js:799 -#: templates/js/translated/part.js:1211 +#: templates/js/translated/company.js:1567 templates/js/translated/part.js:798 +#: templates/js/translated/part.js:1214 msgid "Template part" msgstr "" #: templates/js/translated/company.js:1283 -#: templates/js/translated/company.js:1571 templates/js/translated/part.js:803 -#: templates/js/translated/part.js:1215 +#: templates/js/translated/company.js:1571 templates/js/translated/part.js:802 +#: templates/js/translated/part.js:1218 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1465 +#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1468 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1528 +#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1531 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1529 +#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1532 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1434 +#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1437 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1550 +#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1553 msgid "Delete Parameter" msgstr "" @@ -12323,15 +12698,15 @@ msgstr "" msgid "No parts required for builds" msgstr "" -#: templates/js/translated/label.js:55 templates/js/translated/report.js:38 +#: templates/js/translated/label.js:48 templates/js/translated/report.js:38 msgid "Select Items" msgstr "" -#: templates/js/translated/label.js:56 templates/js/translated/report.js:39 +#: templates/js/translated/label.js:49 templates/js/translated/report.js:39 msgid "No items selected for printing" msgstr "" -#: templates/js/translated/label.js:150 +#: templates/js/translated/label.js:143 msgid "Labels sent to printer" msgstr "" @@ -12400,7 +12775,7 @@ msgstr "" #: templates/js/translated/news.js:38 #: templates/js/translated/notification.js:46 -#: templates/js/translated/part.js:1605 +#: templates/js/translated/part.js:1608 msgid "ID" msgstr "" @@ -12481,343 +12856,343 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:333 templates/js/translated/stock.js:175 +#: templates/js/translated/part.js:332 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:353 +#: templates/js/translated/part.js:352 msgid "Create Part Category" msgstr "" -#: templates/js/translated/part.js:356 +#: templates/js/translated/part.js:355 msgid "Create new category after this one" msgstr "" -#: templates/js/translated/part.js:357 +#: templates/js/translated/part.js:356 msgid "Part category created" msgstr "" -#: templates/js/translated/part.js:371 +#: templates/js/translated/part.js:370 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:384 +#: templates/js/translated/part.js:383 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:389 +#: templates/js/translated/part.js:388 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:398 +#: templates/js/translated/part.js:397 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:402 +#: templates/js/translated/part.js:401 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:407 +#: templates/js/translated/part.js:406 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:431 +#: templates/js/translated/part.js:430 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:433 +#: templates/js/translated/part.js:432 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:434 +#: templates/js/translated/part.js:433 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:462 +#: templates/js/translated/part.js:461 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:464 +#: templates/js/translated/part.js:463 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:475 +#: templates/js/translated/part.js:474 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:532 +#: templates/js/translated/part.js:531 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:533 +#: templates/js/translated/part.js:532 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:547 +#: templates/js/translated/part.js:546 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:549 +#: templates/js/translated/part.js:548 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:550 +#: templates/js/translated/part.js:549 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:551 +#: templates/js/translated/part.js:550 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:558 +#: templates/js/translated/part.js:557 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:594 +#: templates/js/translated/part.js:593 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:596 +#: templates/js/translated/part.js:595 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:601 +#: templates/js/translated/part.js:600 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:603 +#: templates/js/translated/part.js:602 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:620 +#: templates/js/translated/part.js:619 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:630 +#: templates/js/translated/part.js:629 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:633 +#: templates/js/translated/part.js:632 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:658 +#: templates/js/translated/part.js:657 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:686 -#: templates/js/translated/table_filters.js:747 +#: templates/js/translated/part.js:685 +#: templates/js/translated/table_filters.js:752 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:689 +#: templates/js/translated/part.js:688 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:749 +#: templates/js/translated/part.js:748 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:772 +#: templates/js/translated/part.js:771 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:795 templates/js/translated/part.js:1207 +#: templates/js/translated/part.js:794 templates/js/translated/part.js:1210 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:807 +#: templates/js/translated/part.js:806 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:811 +#: templates/js/translated/part.js:810 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:890 +#: templates/js/translated/part.js:893 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:890 +#: templates/js/translated/part.js:893 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:898 +#: templates/js/translated/part.js:901 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:902 +#: templates/js/translated/part.js:905 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:1051 +#: templates/js/translated/part.js:1054 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1109 templates/js/translated/part.js:1145 +#: templates/js/translated/part.js:1112 templates/js/translated/part.js:1148 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1113 templates/js/translated/part.js:1155 +#: templates/js/translated/part.js:1116 templates/js/translated/part.js:1158 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1282 +#: templates/js/translated/part.js:1285 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1600 +#: templates/js/translated/part.js:1603 msgid "No part parameter templates found" msgstr "" -#: templates/js/translated/part.js:1663 +#: templates/js/translated/part.js:1666 msgid "Edit Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1675 +#: templates/js/translated/part.js:1678 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/js/translated/part.js:1683 +#: templates/js/translated/part.js:1686 msgid "Delete Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1717 +#: templates/js/translated/part.js:1720 #: templates/js/translated/purchase_order.js:1654 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/part.js:1861 +#: templates/js/translated/part.js:1864 #: 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:1907 +#: templates/js/translated/part.js:1910 #: templates/js/translated/purchase_order.js:2220 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1970 +#: templates/js/translated/part.js:1973 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1992 +#: templates/js/translated/part.js:1995 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2080 templates/js/translated/part.js:2506 +#: templates/js/translated/part.js:2083 templates/js/translated/part.js:2509 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:2201 +#: templates/js/translated/part.js:2204 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2206 +#: templates/js/translated/part.js:2209 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2236 +#: templates/js/translated/part.js:2239 msgid "Set category" msgstr "" -#: templates/js/translated/part.js:2287 +#: templates/js/translated/part.js:2290 msgid "part" msgstr "" -#: templates/js/translated/part.js:2288 +#: templates/js/translated/part.js:2291 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2384 +#: templates/js/translated/part.js:2387 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 +#: templates/js/translated/part.js:2534 templates/js/translated/part.js:2664 #: templates/js/translated/stock.js:2669 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2547 +#: templates/js/translated/part.js:2550 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2645 +#: templates/js/translated/part.js:2648 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2689 +#: templates/js/translated/part.js:2684 templates/js/translated/stock.js:2689 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2761 +#: templates/js/translated/part.js:2764 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2777 +#: templates/js/translated/part.js:2780 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2865 +#: templates/js/translated/part.js:2868 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2887 templates/js/translated/search.js:342 +#: templates/js/translated/part.js:2890 templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/part.js:2937 templates/js/translated/stock.js:1456 +#: templates/js/translated/part.js:2940 templates/js/translated/stock.js:1456 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2938 templates/js/translated/stock.js:1457 +#: templates/js/translated/part.js:2941 templates/js/translated/stock.js:1457 #: templates/js/translated/stock.js:1731 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2942 +#: templates/js/translated/part.js:2945 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2958 +#: templates/js/translated/part.js:2961 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2972 +#: templates/js/translated/part.js:2975 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3051 templates/js/translated/part.js:3052 +#: templates/js/translated/part.js:3054 templates/js/translated/part.js:3055 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3054 +#: templates/js/translated/part.js:3057 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3060 +#: templates/js/translated/part.js:3063 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3110 +#: templates/js/translated/part.js:3113 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3116 +#: templates/js/translated/part.js:3119 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3212 +#: templates/js/translated/part.js:3215 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3228 +#: templates/js/translated/part.js:3231 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3273 +#: templates/js/translated/part.js:3276 msgid "Minimum Stock Level" msgstr "" @@ -13593,7 +13968,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1042 users/models.py:392 +#: templates/js/translated/stock.js:1042 users/models.py:396 msgid "Add" msgstr "" @@ -13947,7 +14322,7 @@ msgid "Include subcategories" msgstr "" #: templates/js/translated/table_filters.js:287 -#: templates/js/translated/table_filters.js:759 +#: templates/js/translated/table_filters.js:764 msgid "Subscribed" msgstr "" @@ -14102,40 +14477,46 @@ msgstr "" msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:725 +#: templates/js/translated/table_filters.js:722 +#, fuzzy +#| msgid "Show related parts" +msgid "Show locked parts" +msgstr "İlgili parçaları göster" + +#: templates/js/translated/table_filters.js:730 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:733 -#: templates/js/translated/table_filters.js:833 +#: templates/js/translated/table_filters.js:738 +#: templates/js/translated/table_filters.js:838 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:734 +#: templates/js/translated/table_filters.js:739 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:738 +#: templates/js/translated/table_filters.js:743 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:739 +#: templates/js/translated/table_filters.js:744 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:743 +#: templates/js/translated/table_filters.js:748 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:751 +#: templates/js/translated/table_filters.js:756 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:763 +#: templates/js/translated/table_filters.js:768 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:829 +#: templates/js/translated/table_filters.js:834 msgid "Has Choices" msgstr "" @@ -14207,10 +14588,6 @@ msgstr "" msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:558 -msgid "Columns" -msgstr "" - #: templates/js/translated/tables.js:561 msgid "All" msgstr "" @@ -14484,35 +14861,34 @@ msgstr "" msgid "Revoked" msgstr "" -#: users/models.py:375 +#: users/models.py:379 msgid "Permission set" msgstr "İzinleri ayarla" -#: users/models.py:384 +#: users/models.py:388 msgid "Group" msgstr "Grup" -#: users/models.py:388 +#: users/models.py:392 msgid "View" msgstr "Görünüm" -#: users/models.py:388 +#: users/models.py:392 msgid "Permission to view items" msgstr "Parçayı görüntüleme izni" -#: users/models.py:392 +#: users/models.py:396 msgid "Permission to add items" msgstr "Parça ekleme izni" -#: users/models.py:396 +#: users/models.py:400 msgid "Change" msgstr "Değiştir" -#: users/models.py:398 +#: users/models.py:402 msgid "Permissions to edit items" msgstr "Parçaları düzenleme izni" -#: users/models.py:404 +#: users/models.py:408 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 00670b26317e..d664c78fdfb4 100644 --- a/src/backend/InvenTree/locale/uk/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/uk/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-07-05 02:47+0000\n" +"POT-Creation-Date: 2024-07-08 14:46+0000\n" "PO-Revision-Date: 2024-07-05 14:58\n" "Last-Translator: \n" "Language-Team: Ukrainian\n" @@ -21,7 +21,7 @@ msgstr "" msgid "API endpoint not found" msgstr "" -#: InvenTree/api.py:520 +#: InvenTree/api.py:505 msgid "User does not have permission to view this model" msgstr "" @@ -56,21 +56,21 @@ msgstr "" msgid "Enter date" msgstr "" -#: InvenTree/fields.py:205 InvenTree/models.py:918 build/serializers.py:452 -#: build/serializers.py:530 build/templates/build/sidebar.html:21 -#: company/models.py:817 company/templates/company/sidebar.html:37 +#: InvenTree/fields.py:205 InvenTree/models.py:921 build/serializers.py:456 +#: build/serializers.py:534 build/templates/build/sidebar.html:21 +#: company/models.py:824 company/templates/company/sidebar.html:37 #: order/models.py:1296 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:3183 part/templates/part/part_sidebar.html:63 +#: part/models.py:3193 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:230 stock/models.py:2344 stock/models.py:2466 -#: stock/serializers.py:632 stock/serializers.py:790 stock/serializers.py:886 -#: stock/serializers.py:936 stock/serializers.py:1239 stock/serializers.py:1328 -#: stock/serializers.py:1493 stock/templates/stock/stock_sidebar.html:25 +#: stock/admin.py:230 stock/models.py:2349 stock/models.py:2476 +#: stock/serializers.py:690 stock/serializers.py:848 stock/serializers.py:944 +#: stock/serializers.py:994 stock/serializers.py:1305 stock/serializers.py:1394 +#: stock/serializers.py:1559 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:1081 +#: templates/js/translated/part.js:1084 #: templates/js/translated/purchase_order.js:2200 #: templates/js/translated/return_order.js:775 #: templates/js/translated/sales_order.js:1103 @@ -371,41 +371,41 @@ msgstr "" msgid "JSON metadata field, for use by external plugins" msgstr "" -#: InvenTree/models.py:408 +#: InvenTree/models.py:411 msgid "Improperly formatted pattern" msgstr "" -#: InvenTree/models.py:415 +#: InvenTree/models.py:418 msgid "Unknown format key specified" msgstr "" -#: InvenTree/models.py:421 +#: InvenTree/models.py:424 msgid "Missing required format key" msgstr "" -#: InvenTree/models.py:432 +#: InvenTree/models.py:435 msgid "Reference field cannot be empty" msgstr "" -#: InvenTree/models.py:440 +#: InvenTree/models.py:443 msgid "Reference must match required pattern" msgstr "" -#: InvenTree/models.py:471 +#: InvenTree/models.py:474 msgid "Reference number is too large" msgstr "" -#: InvenTree/models.py:719 +#: InvenTree/models.py:722 msgid "Duplicate names cannot exist under the same parent" msgstr "" -#: InvenTree/models.py:736 +#: InvenTree/models.py:739 msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:766 common/models.py:2678 common/models.py:3103 -#: common/serializers.py:408 company/models.py:580 machine/models.py:24 -#: part/models.py:891 part/models.py:3639 plugin/models.py:51 +#: InvenTree/models.py:769 common/models.py:2659 common/models.py:3089 +#: common/serializers.py:412 company/models.py:587 machine/models.py:24 +#: part/models.py:895 part/models.py:3660 plugin/models.py:51 #: report/models.py:150 stock/models.py:74 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -417,20 +417,20 @@ msgstr "" #: templates/js/translated/company.js:724 #: templates/js/translated/company.js:913 #: templates/js/translated/company.js:1165 -#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1187 -#: templates/js/translated/part.js:1475 templates/js/translated/part.js:1611 -#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2716 +#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1190 +#: templates/js/translated/part.js:1478 templates/js/translated/part.js:1614 +#: templates/js/translated/part.js:2752 templates/js/translated/stock.js:2716 msgid "Name" msgstr "" -#: InvenTree/models.py:772 build/models.py:235 -#: build/templates/build/detail.html:24 common/models.py:138 -#: company/models.py:509 company/models.py:808 +#: InvenTree/models.py:775 build/models.py:242 +#: build/templates/build/detail.html:24 common/models.py:143 +#: company/models.py:515 company/models.py:815 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 -#: order/models.py:1329 part/admin.py:305 part/admin.py:408 part/models.py:914 -#: part/models.py:3654 part/templates/part/category.html:82 +#: order/models.py:1329 part/admin.py:305 part/admin.py:408 part/models.py:918 +#: part/models.py:3675 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:156 #: report/models.py:510 report/models.py:536 @@ -444,10 +444,10 @@ msgstr "" #: templates/js/translated/build.js:2139 templates/js/translated/company.js:519 #: templates/js/translated/company.js:1330 #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 -#: templates/js/translated/order.js:298 templates/js/translated/part.js:1239 -#: templates/js/translated/part.js:1484 templates/js/translated/part.js:1622 -#: templates/js/translated/part.js:1959 templates/js/translated/part.js:2355 -#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2897 +#: templates/js/translated/order.js:298 templates/js/translated/part.js:1242 +#: templates/js/translated/part.js:1487 templates/js/translated/part.js:1625 +#: templates/js/translated/part.js:1962 templates/js/translated/part.js:2358 +#: templates/js/translated/part.js:2788 templates/js/translated/part.js:2900 #: templates/js/translated/plugin.js:80 #: templates/js/translated/purchase_order.js:1706 #: templates/js/translated/purchase_order.js:1849 @@ -460,53 +460,53 @@ msgstr "" msgid "Description" msgstr "" -#: InvenTree/models.py:773 stock/models.py:81 +#: InvenTree/models.py:776 stock/models.py:81 msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:788 templates/js/translated/part.js:2794 +#: InvenTree/models.py:791 templates/js/translated/part.js:2797 #: templates/js/translated/stock.js:2757 msgid "Path" msgstr "" -#: InvenTree/models.py:918 +#: InvenTree/models.py:921 msgid "Markdown notes (optional)" msgstr "" -#: InvenTree/models.py:947 +#: InvenTree/models.py:950 msgid "Barcode Data" msgstr "" -#: InvenTree/models.py:948 +#: InvenTree/models.py:951 msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:954 +#: InvenTree/models.py:957 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:955 +#: InvenTree/models.py:958 msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:1008 +#: InvenTree/models.py:1011 msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:1051 +#: InvenTree/models.py:1054 msgid "Server Error" msgstr "" -#: InvenTree/models.py:1052 +#: InvenTree/models.py:1055 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:63 part/models.py:4192 +#: InvenTree/serializers.py:63 part/models.py:4277 msgid "Must be a valid number" msgstr "" #: InvenTree/serializers.py:100 company/models.py:186 -#: company/templates/company/company_base.html:112 part/models.py:3001 +#: company/templates/company/company_base.html:112 part/models.py:3011 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -556,16 +556,16 @@ msgstr "" msgid "Is this user a superuser" msgstr "" -#: InvenTree/serializers.py:445 common/models.py:2683 company/models.py:163 -#: company/models.py:782 machine/models.py:39 part/admin.py:88 -#: part/models.py:1081 plugin/models.py:66 +#: InvenTree/serializers.py:445 common/models.py:2664 company/models.py:163 +#: company/models.py:789 machine/models.py:39 part/admin.py:88 +#: part/models.py:1085 plugin/models.py:66 #: 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 #: templates/js/translated/table_filters.js:520 #: templates/js/translated/table_filters.js:716 -#: templates/js/translated/table_filters.js:796 users/models.py:182 +#: templates/js/translated/table_filters.js:801 users/models.py:182 msgid "Active" msgstr "" @@ -597,7 +597,7 @@ msgstr "" msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:581 +#: InvenTree/serializers.py:581 importer/models.py:60 msgid "Data File" msgstr "" @@ -651,7 +651,7 @@ msgstr "" msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/status.py:66 part/serializers.py:1174 +#: InvenTree/status.py:66 part/serializers.py:1202 msgid "Background worker check failed" msgstr "" @@ -711,47 +711,48 @@ msgstr "" msgid "About InvenTree" msgstr "" -#: build/api.py:255 +#: build/api.py:248 msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:299 part/models.py:4070 templates/js/translated/bom.js:997 -#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 +#: build/api.py:292 build/serializers.py:1190 part/models.py:4155 +#: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 +#: templates/js/translated/build.js:2521 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:300 part/models.py:4064 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 +#: build/api.py:293 build/serializers.py:1191 part/models.py:4149 +#: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 +#: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2530 #: templates/js/translated/table_filters.js:186 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:587 msgid "Optional" msgstr "" -#: build/api.py:301 templates/js/translated/table_filters.js:408 +#: build/api.py:294 templates/js/translated/table_filters.js:408 #: templates/js/translated/table_filters.js:579 msgid "Tracked" msgstr "" -#: build/api.py:303 part/admin.py:144 templates/js/translated/build.js:1744 -#: templates/js/translated/build.js:2629 +#: build/api.py:296 part/admin.py:144 templates/js/translated/build.js:1744 +#: templates/js/translated/build.js:2630 #: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:571 msgid "Allocated" msgstr "" -#: build/api.py:311 company/models.py:872 company/serializers.py:359 +#: build/api.py:304 company/models.py:879 company/serializers.py:386 #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2561 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2562 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:234 -#: templates/js/translated/part.js:693 templates/js/translated/part.js:695 -#: templates/js/translated/part.js:700 +#: 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 #: templates/js/translated/table_filters.js:575 msgid "Available" @@ -760,7 +761,7 @@ msgstr "" #: build/models.py:85 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 -#: stock/serializers.py:82 templates/email/build_order_completed.html:16 +#: stock/serializers.py:84 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:2892 msgid "Build Order" @@ -781,35 +782,39 @@ msgstr "" msgid "Assembly BOM has not been validated" msgstr "" -#: build/models.py:134 part/templates/part/part_base.html:145 -msgid "Part is not active" +#: build/models.py:134 +msgid "Build order cannot be created for an inactive part" +msgstr "" + +#: build/models.py:141 +msgid "Build order cannot be created for an unlocked part" msgstr "" -#: build/models.py:148 +#: build/models.py:155 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:159 order/models.py:240 +#: build/models.py:166 order/models.py:240 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:165 +#: build/models.py:172 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:226 +#: build/models.py:233 msgid "Build Order Reference" msgstr "" -#: build/models.py:227 order/models.py:463 order/models.py:926 -#: order/models.py:1289 order/models.py:2020 part/admin.py:411 -#: part/models.py:4085 part/templates/part/upload_bom.html:54 +#: build/models.py:234 build/serializers.py:1189 order/models.py:463 +#: order/models.py:926 order/models.py:1289 order/models.py:2046 +#: part/admin.py:411 part/models.py:4170 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: 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/build.js:2513 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2065 #: templates/js/translated/return_order.js:728 @@ -817,27 +822,28 @@ msgstr "" msgid "Reference" msgstr "" -#: build/models.py:238 +#: build/models.py:245 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:246 build/templates/build/build_base.html:183 +#: build/models.py:253 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/models.py:247 +#: build/models.py:254 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:252 build/templates/build/build_base.html:97 -#: build/templates/build/detail.html:29 company/models.py:1026 order/api.py:805 -#: order/models.py:1414 order/models.py:1559 order/models.py:1560 -#: part/api.py:1494 part/api.py:1788 part/models.py:395 part/models.py:3012 -#: part/models.py:3156 part/models.py:3303 part/models.py:3324 -#: part/models.py:3346 part/models.py:3477 part/models.py:3787 -#: part/models.py:3943 part/models.py:4036 part/models.py:4395 -#: part/serializers.py:1120 part/serializers.py:1726 +#: build/models.py:259 build/serializers.py:1184 +#: build/templates/build/build_base.html:97 +#: build/templates/build/detail.html:29 company/models.py:1034 order/api.py:759 +#: order/models.py:1419 order/models.py:1574 order/models.py:1575 +#: part/api.py:1480 part/api.py:1776 part/models.py:396 part/models.py:3022 +#: part/models.py:3166 part/models.py:3314 part/models.py:3335 +#: part/models.py:3357 part/models.py:3493 part/models.py:3827 +#: part/models.py:3990 part/models.py:4121 part/models.py:4480 +#: part/serializers.py:1148 part/serializers.py:1758 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -848,8 +854,8 @@ msgstr "" #: 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:109 stock/serializers.py:157 stock/serializers.py:423 -#: stock/serializers.py:820 templates/InvenTree/search.html:82 +#: stock/serializers.py:111 stock/serializers.py:159 stock/serializers.py:443 +#: stock/serializers.py:878 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 @@ -862,8 +868,8 @@ msgstr "" #: templates/js/translated/company.js:1116 #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 -#: templates/js/translated/part.js:1944 templates/js/translated/part.js:2016 -#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:1947 templates/js/translated/part.js:2019 +#: templates/js/translated/part.js:2327 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:1848 @@ -881,107 +887,107 @@ msgstr "" msgid "Part" msgstr "" -#: build/models.py:260 +#: build/models.py:267 msgid "Select part to build" msgstr "" -#: build/models.py:265 +#: build/models.py:272 msgid "Sales Order Reference" msgstr "" -#: build/models.py:269 +#: build/models.py:276 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:274 build/serializers.py:999 +#: build/models.py:281 build/serializers.py:1003 #: templates/js/translated/build.js:1731 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "" -#: build/models.py:278 +#: build/models.py:285 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:283 +#: build/models.py:290 msgid "Destination Location" msgstr "" -#: build/models.py:287 +#: build/models.py:294 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:291 +#: build/models.py:298 msgid "Build Quantity" msgstr "" -#: build/models.py:294 +#: build/models.py:301 msgid "Number of stock items to build" msgstr "" -#: build/models.py:298 +#: build/models.py:305 msgid "Completed items" msgstr "" -#: build/models.py:300 +#: build/models.py:307 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:304 +#: build/models.py:311 msgid "Build Status" msgstr "" -#: build/models.py:308 +#: build/models.py:315 msgid "Build status code" msgstr "" -#: build/models.py:317 build/serializers.py:286 order/serializers.py:580 -#: stock/models.py:839 stock/serializers.py:74 stock/serializers.py:1458 +#: build/models.py:324 build/serializers.py:290 order/serializers.py:629 +#: stock/models.py:839 stock/serializers.py:76 stock/serializers.py:1524 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "" -#: build/models.py:321 build/serializers.py:287 +#: build/models.py:328 build/serializers.py:291 msgid "Batch code for this build output" msgstr "" -#: build/models.py:324 order/models.py:316 order/serializers.py:119 -#: part/models.py:1115 part/templates/part/part_base.html:310 +#: build/models.py:331 order/models.py:316 order/serializers.py:127 +#: part/models.py:1125 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:328 +#: build/models.py:335 msgid "Target completion date" msgstr "" -#: build/models.py:329 +#: build/models.py:336 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:332 order/models.py:521 order/models.py:2065 +#: build/models.py:339 order/models.py:521 order/models.py:2091 #: templates/js/translated/build.js:2247 msgid "Completion Date" msgstr "" -#: build/models.py:338 +#: build/models.py:345 msgid "completed by" msgstr "" -#: build/models.py:346 templates/js/translated/build.js:2207 +#: build/models.py:353 templates/js/translated/build.js:2207 msgid "Issued by" msgstr "" -#: build/models.py:347 +#: build/models.py:354 msgid "User who issued this build order" msgstr "" -#: build/models.py:355 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 common/models.py:147 +#: build/models.py:362 build/templates/build/build_base.html:204 +#: build/templates/build/detail.html:122 common/models.py:152 #: order/models.py:334 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:232 part/models.py:1132 +#: order/templates/order/sales_order_base.html:232 part/models.py:1142 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 @@ -992,11 +998,11 @@ msgstr "" msgid "Responsible" msgstr "" -#: build/models.py:356 +#: build/models.py:363 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:361 build/templates/build/detail.html:108 +#: build/models.py:368 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 @@ -1008,21 +1014,22 @@ msgstr "" msgid "External Link" msgstr "" -#: build/models.py:362 common/models.py:3244 part/models.py:956 +#: build/models.py:369 common/models.py:3230 part/models.py:960 #: stock/models.py:835 msgid "Link to external URL" msgstr "" -#: build/models.py:366 +#: build/models.py:373 msgid "Build Priority" msgstr "" -#: build/models.py:369 +#: build/models.py:376 msgid "Priority of this build order" msgstr "" -#: build/models.py:376 common/models.py:131 order/admin.py:18 -#: order/models.py:298 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:383 common/models.py:122 common/models.py:136 +#: order/admin.py:18 order/models.py:298 order/serializers.py:108 +#: templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 #: templates/js/translated/purchase_order.js:1710 #: templates/js/translated/return_order.js:317 @@ -1032,65 +1039,66 @@ msgstr "" msgid "Project Code" msgstr "" -#: build/models.py:377 +#: build/models.py:384 msgid "Project code for this build order" msgstr "" -#: build/models.py:610 build/models.py:675 +#: build/models.py:617 build/models.py:682 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:632 +#: build/models.py:639 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:638 +#: build/models.py:645 msgid "A build order has been completed" msgstr "" -#: build/models.py:864 build/models.py:949 +#: build/models.py:871 build/models.py:956 msgid "No build output specified" msgstr "" -#: build/models.py:867 +#: build/models.py:874 msgid "Build output is already completed" msgstr "" -#: build/models.py:870 +#: build/models.py:877 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:953 build/serializers.py:219 build/serializers.py:268 -#: build/serializers.py:866 order/models.py:559 order/serializers.py:432 -#: order/serializers.py:575 part/serializers.py:1484 part/serializers.py:1884 -#: stock/models.py:678 stock/models.py:1496 stock/serializers.py:603 +#: build/models.py:960 build/serializers.py:223 build/serializers.py:272 +#: build/serializers.py:870 order/models.py:559 order/serializers.py:461 +#: order/serializers.py:624 part/serializers.py:1515 part/serializers.py:1921 +#: stock/models.py:678 stock/models.py:1496 stock/serializers.py:661 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:958 build/serializers.py:224 +#: build/models.py:965 build/serializers.py:228 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1018 build/serializers.py:547 +#: build/models.py:1025 build/serializers.py:551 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1359 +#: build/models.py:1366 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1384 +#: build/models.py:1391 msgid "Build object" msgstr "" -#: build/models.py:1398 build/models.py:1654 build/serializers.py:206 -#: build/serializers.py:253 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2563 -#: order/models.py:1272 order/models.py:1931 order/serializers.py:1327 +#: build/models.py:1405 build/models.py:1661 build/serializers.py:210 +#: build/serializers.py:257 build/serializers.py:1194 +#: build/templates/build/build_base.html:102 +#: build/templates/build/detail.html:34 common/models.py:2544 +#: order/models.py:1272 order/models.py:1957 order/serializers.py:1383 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:410 -#: part/forms.py:48 part/models.py:3170 part/models.py:4058 +#: part/forms.py:48 part/models.py:3180 part/models.py:4143 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1100,7 +1108,7 @@ msgstr "" #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:169 stock/admin.py:159 -#: stock/serializers.py:125 stock/serializers.py:165 stock/serializers.py:594 +#: stock/serializers.py:127 stock/serializers.py:167 stock/serializers.py:652 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 @@ -1111,8 +1119,8 @@ msgstr "" #: templates/js/translated/build.js:1746 templates/js/translated/build.js:2357 #: templates/js/translated/company.js:1818 #: templates/js/translated/model_renderers.js:236 -#: templates/js/translated/order.js:304 templates/js/translated/part.js:962 -#: templates/js/translated/part.js:1812 templates/js/translated/part.js:3342 +#: templates/js/translated/order.js:304 templates/js/translated/part.js:965 +#: templates/js/translated/part.js:1815 templates/js/translated/part.js:3345 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 @@ -1132,38 +1140,38 @@ msgstr "" msgid "Quantity" msgstr "" -#: build/models.py:1399 +#: build/models.py:1406 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1479 +#: build/models.py:1486 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1488 +#: build/models.py:1495 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1498 order/models.py:1882 +#: build/models.py:1505 order/models.py:1908 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1504 order/models.py:1885 +#: build/models.py:1511 order/models.py:1911 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1510 +#: build/models.py:1517 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1569 +#: build/models.py:1576 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1641 build/serializers.py:846 order/serializers.py:1171 -#: order/serializers.py:1192 stock/models.py:359 stock/serializers.py:91 -#: stock/serializers.py:697 stock/serializers.py:1177 stock/serializers.py:1289 +#: build/models.py:1648 build/serializers.py:850 order/serializers.py:1227 +#: order/serializers.py:1248 stock/models.py:359 stock/serializers.py:93 +#: stock/serializers.py:755 stock/serializers.py:1243 stock/serializers.py:1355 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 @@ -1179,70 +1187,76 @@ msgstr "" msgid "Stock Item" msgstr "" -#: build/models.py:1642 +#: build/models.py:1649 msgid "Source stock item" msgstr "" -#: build/models.py:1655 +#: build/models.py:1662 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1663 +#: build/models.py:1670 msgid "Install into" msgstr "" -#: build/models.py:1664 +#: build/models.py:1671 msgid "Destination stock item" msgstr "" -#: build/serializers.py:156 build/serializers.py:875 +#: build/serializers.py:89 build/serializers.py:1185 part/admin.py:41 +#: part/admin.py:405 part/models.py:3992 part/stocktake.py:220 +#: stock/admin.py:156 +msgid "Part Name" +msgstr "" + +#: build/serializers.py:160 build/serializers.py:879 #: templates/js/translated/build.js:1322 msgid "Build Output" msgstr "" -#: build/serializers.py:168 +#: build/serializers.py:172 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:172 +#: build/serializers.py:176 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:176 +#: build/serializers.py:180 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:187 +#: build/serializers.py:191 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:207 build/serializers.py:254 +#: build/serializers.py:211 build/serializers.py:258 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:275 +#: build/serializers.py:279 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:278 +#: build/serializers.py:282 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:293 order/serializers.py:588 order/serializers.py:1331 -#: stock/serializers.py:614 templates/js/translated/purchase_order.js:1153 +#: build/serializers.py:297 order/serializers.py:637 order/serializers.py:1387 +#: stock/serializers.py:672 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:294 +#: build/serializers.py:298 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:299 build/serializers.py:440 build/serializers.py:512 -#: order/serializers.py:564 order/serializers.py:672 order/serializers.py:1656 -#: part/serializers.py:1140 stock/serializers.py:100 stock/serializers.py:625 -#: stock/serializers.py:785 stock/serializers.py:881 stock/serializers.py:1321 -#: stock/serializers.py:1577 stock/templates/stock/item_base.html:394 +#: build/serializers.py:303 build/serializers.py:444 build/serializers.py:516 +#: order/serializers.py:613 order/serializers.py:721 order/serializers.py:1714 +#: part/serializers.py:1168 stock/serializers.py:102 stock/serializers.py:683 +#: stock/serializers.py:843 stock/serializers.py:939 stock/serializers.py:1387 +#: stock/serializers.py:1643 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 @@ -1258,54 +1272,54 @@ msgstr "" msgid "Location" msgstr "" -#: build/serializers.py:300 +#: build/serializers.py:304 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:314 +#: build/serializers.py:318 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:315 +#: build/serializers.py:319 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:330 +#: build/serializers.py:334 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:355 stock/api.py:1041 +#: build/serializers.py:359 stock/api.py:1033 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:402 build/serializers.py:464 build/serializers.py:553 +#: build/serializers.py:406 build/serializers.py:468 build/serializers.py:557 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:441 +#: build/serializers.py:445 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:447 +#: build/serializers.py:451 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:448 +#: build/serializers.py:452 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:453 +#: build/serializers.py:457 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:513 +#: build/serializers.py:517 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:519 build/templates/build/build_base.html:151 +#: build/serializers.py:523 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:950 -#: order/models.py:2044 order/serializers.py:596 stock/admin.py:164 -#: stock/serializers.py:932 stock/serializers.py:1465 +#: order/models.py:2070 order/serializers.py:645 stock/admin.py:164 +#: stock/serializers.py:990 stock/serializers.py:1531 #: 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 @@ -1317,193 +1331,241 @@ msgstr "" msgid "Status" msgstr "" -#: build/serializers.py:525 +#: build/serializers.py:529 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:526 +#: build/serializers.py:530 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:611 +#: build/serializers.py:615 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:612 +#: build/serializers.py:616 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:618 +#: build/serializers.py:622 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:619 +#: build/serializers.py:623 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:646 +#: build/serializers.py:650 msgid "Not permitted" msgstr "" -#: build/serializers.py:647 +#: build/serializers.py:651 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:648 +#: build/serializers.py:652 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:678 +#: build/serializers.py:682 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:680 +#: build/serializers.py:684 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:690 +#: build/serializers.py:694 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:695 +#: build/serializers.py:699 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:696 +#: build/serializers.py:700 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:706 templates/js/translated/build.js:315 +#: build/serializers.py:710 templates/js/translated/build.js:315 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:711 order/serializers.py:300 order/serializers.py:1234 +#: build/serializers.py:715 order/serializers.py:319 order/serializers.py:1290 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:712 +#: build/serializers.py:716 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:722 templates/js/translated/build.js:319 +#: build/serializers.py:726 templates/js/translated/build.js:319 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:731 templates/js/translated/build.js:303 +#: build/serializers.py:735 templates/js/translated/build.js:303 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:769 +#: build/serializers.py:773 msgid "Build Line" msgstr "" -#: build/serializers.py:779 +#: build/serializers.py:783 msgid "Build output" msgstr "" -#: build/serializers.py:787 +#: build/serializers.py:791 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:823 +#: build/serializers.py:827 msgid "Build Line Item" msgstr "" -#: build/serializers.py:837 +#: build/serializers.py:841 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:852 stock/serializers.py:1190 +#: build/serializers.py:856 stock/serializers.py:1256 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:900 order/serializers.py:1225 +#: build/serializers.py:904 order/serializers.py:1281 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:906 +#: build/serializers.py:910 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:913 +#: build/serializers.py:917 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:937 order/serializers.py:1477 +#: build/serializers.py:941 order/serializers.py:1533 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:1000 +#: build/serializers.py:1004 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:1008 +#: build/serializers.py:1012 msgid "Exclude Location" msgstr "" -#: build/serializers.py:1009 +#: build/serializers.py:1013 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:1014 +#: build/serializers.py:1018 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:1015 +#: build/serializers.py:1019 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:1020 +#: build/serializers.py:1024 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:1021 +#: build/serializers.py:1025 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:1026 +#: build/serializers.py:1030 msgid "Optional Items" msgstr "" -#: build/serializers.py:1027 +#: build/serializers.py:1031 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1049 +#: build/serializers.py:1053 msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1139 part/models.py:3953 part/models.py:4387 -#: stock/api.py:804 +#: build/serializers.py:1095 +msgid "Supplier Part Number" +msgstr "" + +#: build/serializers.py:1096 company/models.py:500 +msgid "Manufacturer Part Number" +msgstr "" + +#: build/serializers.py:1097 stock/admin.py:53 stock/admin.py:175 +#: stock/serializers.py:454 +msgid "Location Name" +msgstr "" + +#: build/serializers.py:1098 +msgid "Build Reference" +msgstr "" + +#: build/serializers.py:1099 +msgid "BOM Reference" +msgstr "" + +#: build/serializers.py:1186 part/admin.py:402 part/models.py:3993 +msgid "Part IPN" +msgstr "" + +#: build/serializers.py:1192 common/models.py:1488 part/admin.py:113 +#: part/models.py:1068 templates/js/translated/table_filters.js:147 +#: templates/js/translated/table_filters.js:223 +#: templates/js/translated/table_filters.js:776 +msgid "Trackable" +msgstr "" + +#: build/serializers.py:1196 part/models.py:4000 part/models.py:4472 +#: stock/api.py:796 msgid "BOM Item" msgstr "" -#: build/serializers.py:1148 templates/js/translated/index.js:130 +#: build/serializers.py:1205 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1153 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:828 part/serializers.py:1502 +#: build/serializers.py:1210 part/admin.py:132 part/bom.py:173 +#: part/serializers.py:856 part/serializers.py:1533 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2613 templates/js/translated/part.js:710 -#: templates/js/translated/part.js:2149 +#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709 +#: templates/js/translated/part.js:2152 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "" -#: build/serializers.py:1158 part/serializers.py:1504 -#: templates/js/translated/build.js:2617 +#: build/serializers.py:1215 part/serializers.py:1535 +#: templates/js/translated/build.js:2618 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1163 part/bom.py:172 part/serializers.py:1527 +#: build/serializers.py:1220 part/bom.py:172 part/serializers.py:1558 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" msgstr "" +#: build/serializers.py:1224 +msgid "Available Substitute Stock" +msgstr "" + +#: build/serializers.py:1225 +msgid "Available Variant Stock" +msgstr "" + +#: build/serializers.py:1226 +msgid "Total Available Stock" +msgstr "" + +#: build/serializers.py:1227 part/serializers.py:862 +msgid "External Stock" +msgstr "" + #: build/status_codes.py:11 generic/states/tests.py:17 order/status_codes.py:12 #: order/status_codes.py:37 order/status_codes.py:64 order/status_codes.py:82 #: templates/js/translated/table_filters.js:598 @@ -1519,7 +1581,8 @@ msgstr "" msgid "Cancelled" msgstr "" -#: build/status_codes.py:14 generic/states/tests.py:19 order/status_codes.py:14 +#: build/status_codes.py:14 generic/states/tests.py:19 importer/models.py:468 +#: importer/status_codes.py:19 order/status_codes.py:14 #: order/status_codes.py:44 order/status_codes.py:69 #: order/templates/order/order_base.html:158 #: order/templates/order/sales_order_base.html:165 report/models.py:444 @@ -1652,11 +1715,12 @@ msgstr "" #: build/templates/build/build_base.html:160 #: build/templates/build/detail.html:138 order/models.py:309 -#: order/models.py:1307 order/templates/order/order_base.html:186 +#: order/models.py:1307 order/serializers.py:174 +#: order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: 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:1831 +#: templates/js/translated/build.js:2239 templates/js/translated/part.js:1834 #: templates/js/translated/purchase_order.js:1739 #: templates/js/translated/purchase_order.js:2147 #: templates/js/translated/return_order.js:346 @@ -1689,8 +1753,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1463 order/models.py:845 -#: order/models.py:1551 order/models.py:1665 order/models.py:1819 +#: build/templates/build/detail.html:101 order/api.py:1384 order/models.py:845 +#: order/models.py:1566 order/models.py:1681 order/models.py:1840 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 @@ -1740,7 +1804,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1443 +#: build/templates/build/detail.html:49 order/models.py:1448 #: templates/js/translated/purchase_order.js:2189 msgid "Destination" msgstr "" @@ -1892,31 +1956,31 @@ msgstr "" msgid "Incomplete Outputs" msgstr "" -#: common/api.py:689 +#: common/api.py:690 msgid "Is Link" msgstr "" -#: common/api.py:697 +#: common/api.py:698 msgid "Is File" msgstr "" -#: common/api.py:739 +#: common/api.py:740 msgid "User does not have permission to delete this attachment" msgstr "" -#: common/currency.py:130 +#: common/currency.py:132 msgid "Invalid currency code" msgstr "" -#: common/currency.py:132 +#: common/currency.py:134 msgid "Duplicate currency code" msgstr "" -#: common/currency.py:137 +#: common/currency.py:139 msgid "No valid currency codes provided" msgstr "" -#: common/currency.py:154 +#: common/currency.py:156 msgid "No plugin" msgstr "" @@ -1970,1635 +2034,1604 @@ msgstr "" msgid "Site URL is locked by configuration" msgstr "" -#: common/models.py:132 +#: common/models.py:137 msgid "Unique project code" msgstr "" -#: common/models.py:139 +#: common/models.py:144 msgid "Project description" msgstr "" -#: common/models.py:148 +#: common/models.py:153 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:765 +#: common/models.py:770 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:769 +#: common/models.py:774 msgid "Settings value" msgstr "" -#: common/models.py:821 +#: common/models.py:826 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:837 +#: common/models.py:842 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:845 +#: common/models.py:850 msgid "Value must be an integer value" msgstr "" -#: common/models.py:882 +#: common/models.py:887 msgid "Key string must be unique" msgstr "" -#: common/models.py:1114 +#: common/models.py:1119 msgid "No group" msgstr "" -#: common/models.py:1213 +#: common/models.py:1218 msgid "Restart required" msgstr "" -#: common/models.py:1215 +#: common/models.py:1220 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:1222 +#: common/models.py:1227 msgid "Pending migrations" msgstr "" -#: common/models.py:1223 +#: common/models.py:1228 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1228 +#: common/models.py:1233 msgid "Server Instance Name" msgstr "" -#: common/models.py:1230 +#: common/models.py:1235 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1234 +#: common/models.py:1239 msgid "Use instance name" msgstr "" -#: common/models.py:1235 +#: common/models.py:1240 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1240 +#: common/models.py:1245 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1241 +#: common/models.py:1246 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1246 company/models.py:111 company/models.py:112 +#: common/models.py:1251 company/models.py:111 company/models.py:112 msgid "Company name" msgstr "" -#: common/models.py:1247 +#: common/models.py:1252 msgid "Internal company name" msgstr "" -#: common/models.py:1251 +#: common/models.py:1256 msgid "Base URL" msgstr "" -#: common/models.py:1252 +#: common/models.py:1257 msgid "Base URL for server instance" msgstr "" -#: common/models.py:1258 +#: common/models.py:1263 msgid "Default Currency" msgstr "" -#: common/models.py:1259 +#: common/models.py:1264 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1265 +#: common/models.py:1270 msgid "Supported Currencies" msgstr "" -#: common/models.py:1266 +#: common/models.py:1271 msgid "List of supported currency codes" msgstr "" -#: common/models.py:1272 +#: common/models.py:1277 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1274 +#: common/models.py:1279 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1277 common/models.py:1333 common/models.py:1346 -#: common/models.py:1354 common/models.py:1363 common/models.py:1372 -#: common/models.py:1596 common/models.py:1618 common/models.py:1733 -#: common/models.py:2100 +#: common/models.py:1282 common/models.py:1338 common/models.py:1351 +#: common/models.py:1359 common/models.py:1368 common/models.py:1377 +#: common/models.py:1601 common/models.py:1623 common/models.py:1738 +#: common/models.py:2111 msgid "days" msgstr "" -#: common/models.py:1281 +#: common/models.py:1286 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1282 +#: common/models.py:1287 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1287 +#: common/models.py:1292 msgid "Download from URL" msgstr "" -#: common/models.py:1289 +#: common/models.py:1294 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:1295 +#: common/models.py:1300 msgid "Download Size Limit" msgstr "" -#: common/models.py:1296 +#: common/models.py:1301 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1302 +#: common/models.py:1307 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1304 +#: common/models.py:1309 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/models.py:1309 +#: common/models.py:1314 msgid "Strict URL Validation" msgstr "" -#: common/models.py:1310 +#: common/models.py:1315 msgid "Require schema specification when validating URLs" msgstr "" -#: common/models.py:1315 +#: common/models.py:1320 msgid "Require confirm" msgstr "" -#: common/models.py:1316 +#: common/models.py:1321 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:1321 +#: common/models.py:1326 msgid "Tree Depth" msgstr "" -#: common/models.py:1323 +#: common/models.py:1328 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1329 +#: common/models.py:1334 msgid "Update Check Interval" msgstr "" -#: common/models.py:1330 +#: common/models.py:1335 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:1336 +#: common/models.py:1341 msgid "Automatic Backup" msgstr "" -#: common/models.py:1337 +#: common/models.py:1342 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:1342 +#: common/models.py:1347 msgid "Auto Backup Interval" msgstr "" -#: common/models.py:1343 +#: common/models.py:1348 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1349 +#: common/models.py:1354 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1351 +#: common/models.py:1356 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1358 +#: common/models.py:1363 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1360 +#: common/models.py:1365 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1367 +#: common/models.py:1372 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1369 +#: common/models.py:1374 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1376 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1381 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "" -#: common/models.py:1377 +#: common/models.py:1382 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1382 +#: common/models.py:1387 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1383 +#: common/models.py:1388 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1389 +#: common/models.py:1394 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1390 +#: common/models.py:1395 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1395 +#: common/models.py:1400 msgid "Barcode Show Data" msgstr "" -#: common/models.py:1396 +#: common/models.py:1401 msgid "Display barcode data in browser as text" msgstr "" -#: common/models.py:1401 +#: common/models.py:1406 msgid "Part Revisions" msgstr "" -#: common/models.py:1402 +#: common/models.py:1407 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1407 +#: common/models.py:1412 msgid "Allow Deletion from Assembly" msgstr "" -#: common/models.py:1408 +#: common/models.py:1413 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/models.py:1413 +#: common/models.py:1418 msgid "IPN Regex" msgstr "" -#: common/models.py:1414 +#: common/models.py:1419 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1417 +#: common/models.py:1422 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1418 +#: common/models.py:1423 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1423 +#: common/models.py:1428 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1424 +#: common/models.py:1429 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1429 +#: common/models.py:1434 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1430 +#: common/models.py:1435 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1435 +#: common/models.py:1440 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1436 +#: common/models.py:1441 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1441 +#: common/models.py:1446 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1442 +#: common/models.py:1447 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1447 +#: common/models.py:1452 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1448 +#: common/models.py:1453 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1453 part/admin.py:108 part/models.py:3795 +#: common/models.py:1458 part/admin.py:108 part/models.py:3835 #: report/models.py:294 report/models.py:361 report/serializers.py:90 -#: report/serializers.py:131 stock/serializers.py:227 +#: report/serializers.py:131 stock/serializers.py:232 #: templates/js/translated/table_filters.js:139 -#: templates/js/translated/table_filters.js:767 +#: templates/js/translated/table_filters.js:772 msgid "Template" msgstr "" -#: common/models.py:1454 +#: common/models.py:1459 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1459 part/admin.py:91 part/admin.py:425 part/models.py:1052 +#: common/models.py:1464 part/admin.py:91 part/admin.py:425 part/models.py:1056 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 -#: templates/js/translated/table_filters.js:721 +#: templates/js/translated/table_filters.js:726 msgid "Assembly" msgstr "" -#: common/models.py:1460 +#: common/models.py:1465 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1465 part/admin.py:95 part/models.py:1058 -#: templates/js/translated/table_filters.js:729 +#: common/models.py:1470 part/admin.py:95 part/models.py:1062 +#: templates/js/translated/table_filters.js:734 msgid "Component" msgstr "" -#: common/models.py:1466 +#: common/models.py:1471 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1471 part/admin.py:100 part/models.py:1070 +#: common/models.py:1476 part/admin.py:100 part/models.py:1074 msgid "Purchaseable" msgstr "" -#: common/models.py:1472 +#: common/models.py:1477 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1477 part/admin.py:104 part/models.py:1076 -#: templates/js/translated/table_filters.js:755 +#: common/models.py:1482 part/admin.py:104 part/models.py:1080 +#: templates/js/translated/table_filters.js:760 msgid "Salable" msgstr "" -#: common/models.py:1478 +#: common/models.py:1483 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1483 part/admin.py:113 part/models.py:1064 -#: 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:1484 +#: common/models.py:1489 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1489 part/admin.py:117 part/models.py:1086 +#: common/models.py:1494 part/admin.py:117 part/models.py:1096 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 -#: templates/js/translated/table_filters.js:775 +#: templates/js/translated/table_filters.js:780 msgid "Virtual" msgstr "" -#: common/models.py:1490 +#: common/models.py:1495 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1495 +#: common/models.py:1500 msgid "Show Import in Views" msgstr "" -#: common/models.py:1496 +#: common/models.py:1501 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1501 +#: common/models.py:1506 msgid "Show related parts" msgstr "" -#: common/models.py:1502 +#: common/models.py:1507 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1507 +#: common/models.py:1512 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1508 +#: common/models.py:1513 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1513 templates/js/translated/part.js:107 +#: common/models.py:1518 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1515 +#: common/models.py:1520 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1521 +#: common/models.py:1526 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1522 +#: common/models.py:1527 msgid "Format to display the part name" msgstr "" -#: common/models.py:1528 +#: common/models.py:1533 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1529 +#: common/models.py:1534 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1533 +#: common/models.py:1538 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1535 +#: common/models.py:1540 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1541 +#: common/models.py:1546 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1543 +#: common/models.py:1548 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1554 +#: common/models.py:1559 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1556 +#: common/models.py:1561 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1567 +#: common/models.py:1572 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1569 +#: common/models.py:1574 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1575 +#: common/models.py:1580 msgid "Purchase History Override" msgstr "" -#: common/models.py:1577 +#: common/models.py:1582 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1583 +#: common/models.py:1588 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1585 +#: common/models.py:1590 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1591 +#: common/models.py:1596 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1593 +#: common/models.py:1598 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1600 +#: common/models.py:1605 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1601 +#: common/models.py:1606 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1606 +#: common/models.py:1611 msgid "Active Variants Only" msgstr "" -#: common/models.py:1608 +#: common/models.py:1613 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1614 +#: common/models.py:1619 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1616 +#: common/models.py:1621 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1623 +#: common/models.py:1628 msgid "Internal Prices" msgstr "" -#: common/models.py:1624 +#: common/models.py:1629 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1629 +#: common/models.py:1634 msgid "Internal Price Override" msgstr "" -#: common/models.py:1631 +#: common/models.py:1636 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1637 +#: common/models.py:1642 msgid "Enable label printing" msgstr "" -#: common/models.py:1638 +#: common/models.py:1643 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1643 +#: common/models.py:1648 msgid "Label Image DPI" msgstr "" -#: common/models.py:1645 +#: common/models.py:1650 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1651 +#: common/models.py:1656 msgid "Enable Reports" msgstr "" -#: common/models.py:1652 +#: common/models.py:1657 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1657 templates/stats.html:25 +#: common/models.py:1662 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1658 +#: common/models.py:1663 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1663 +#: common/models.py:1668 msgid "Log Report Errors" msgstr "" -#: common/models.py:1664 +#: common/models.py:1669 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1669 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1674 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:302 msgid "Page Size" msgstr "" -#: common/models.py:1670 +#: common/models.py:1675 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1675 +#: common/models.py:1680 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1676 +#: common/models.py:1681 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1681 +#: common/models.py:1686 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1683 +#: common/models.py:1688 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1689 +#: common/models.py:1694 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1690 +#: common/models.py:1695 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1695 +#: common/models.py:1700 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1696 +#: common/models.py:1701 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1701 +#: common/models.py:1706 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1703 +#: common/models.py:1708 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1709 +#: common/models.py:1714 msgid "Batch Code Template" msgstr "" -#: common/models.py:1711 +#: common/models.py:1716 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1716 +#: common/models.py:1721 msgid "Stock Expiry" msgstr "" -#: common/models.py:1717 +#: common/models.py:1722 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1722 +#: common/models.py:1727 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1723 +#: common/models.py:1728 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1728 +#: common/models.py:1733 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1730 +#: common/models.py:1735 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1737 +#: common/models.py:1742 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1738 +#: common/models.py:1743 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1743 +#: common/models.py:1748 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1744 +#: common/models.py:1749 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1749 +#: common/models.py:1754 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1750 +#: common/models.py:1755 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1754 +#: common/models.py:1759 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1755 +#: common/models.py:1760 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1760 +#: common/models.py:1765 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1762 +#: common/models.py:1767 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1768 +#: common/models.py:1773 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1770 +#: common/models.py:1775 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1776 +#: common/models.py:1781 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1778 +#: common/models.py:1783 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1784 common/models.py:1826 common/models.py:1848 -#: common/models.py:1884 +#: common/models.py:1789 common/models.py:1837 common/models.py:1859 +#: common/models.py:1895 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1785 common/models.py:1827 common/models.py:1849 -#: common/models.py:1885 +#: common/models.py:1790 common/models.py:1838 common/models.py:1860 +#: common/models.py:1896 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1790 +#: common/models.py:1795 msgid "Require Active Part" msgstr "" -#: common/models.py:1791 +#: common/models.py:1796 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/models.py:1796 +#: common/models.py:1801 +msgid "Require Locked Part" +msgstr "" + +#: common/models.py:1802 +msgid "Prevent build order creation for unlocked parts" +msgstr "" + +#: common/models.py:1807 msgid "Require Valid BOM" msgstr "" -#: common/models.py:1798 +#: common/models.py:1809 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/models.py:1804 +#: common/models.py:1815 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1806 +#: common/models.py:1817 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1812 +#: common/models.py:1823 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1813 +#: common/models.py:1824 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1818 +#: common/models.py:1829 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1820 +#: common/models.py:1831 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1832 +#: common/models.py:1843 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1834 +#: common/models.py:1845 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1840 +#: common/models.py:1851 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1842 +#: common/models.py:1853 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1854 +#: common/models.py:1865 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1855 +#: common/models.py:1866 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1860 +#: common/models.py:1871 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1862 +#: common/models.py:1873 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1868 +#: common/models.py:1879 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1870 +#: common/models.py:1881 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1876 +#: common/models.py:1887 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1878 +#: common/models.py:1889 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1890 +#: common/models.py:1901 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1892 +#: common/models.py:1903 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1898 +#: common/models.py:1909 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1900 +#: common/models.py:1911 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1907 +#: common/models.py:1918 msgid "Enable password forgot" msgstr "" -#: common/models.py:1908 +#: common/models.py:1919 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1913 +#: common/models.py:1924 msgid "Enable registration" msgstr "" -#: common/models.py:1914 +#: common/models.py:1925 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1919 +#: common/models.py:1930 msgid "Enable SSO" msgstr "" -#: common/models.py:1920 +#: common/models.py:1931 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1925 +#: common/models.py:1936 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1927 +#: common/models.py:1938 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1933 +#: common/models.py:1944 msgid "Enable SSO group sync" msgstr "" -#: common/models.py:1935 +#: common/models.py:1946 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/models.py:1941 +#: common/models.py:1952 msgid "SSO group key" msgstr "" -#: common/models.py:1943 +#: common/models.py:1954 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/models.py:1949 +#: common/models.py:1960 msgid "SSO group map" msgstr "" -#: common/models.py:1951 +#: common/models.py:1962 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/models.py:1957 +#: common/models.py:1968 msgid "Remove groups outside of SSO" msgstr "" -#: common/models.py:1959 +#: common/models.py:1970 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/models.py:1965 +#: common/models.py:1976 msgid "Email required" msgstr "" -#: common/models.py:1966 +#: common/models.py:1977 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1971 +#: common/models.py:1982 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1973 +#: common/models.py:1984 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1979 +#: common/models.py:1990 msgid "Mail twice" msgstr "" -#: common/models.py:1980 +#: common/models.py:1991 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1985 +#: common/models.py:1996 msgid "Password twice" msgstr "" -#: common/models.py:1986 +#: common/models.py:1997 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1991 +#: common/models.py:2002 msgid "Allowed domains" msgstr "" -#: common/models.py:1993 +#: common/models.py:2004 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1999 +#: common/models.py:2010 msgid "Group on signup" msgstr "" -#: common/models.py:2001 +#: common/models.py:2012 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/models.py:2007 +#: common/models.py:2018 msgid "Enforce MFA" msgstr "" -#: common/models.py:2008 +#: common/models.py:2019 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:2013 +#: common/models.py:2024 msgid "Check plugins on startup" msgstr "" -#: common/models.py:2015 +#: common/models.py:2026 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:2023 +#: common/models.py:2034 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2024 +#: common/models.py:2035 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2030 +#: common/models.py:2041 msgid "Enable URL integration" msgstr "" -#: common/models.py:2031 +#: common/models.py:2042 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:2037 +#: common/models.py:2048 msgid "Enable navigation integration" msgstr "" -#: common/models.py:2038 +#: common/models.py:2049 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2044 +#: common/models.py:2055 msgid "Enable app integration" msgstr "" -#: common/models.py:2045 +#: common/models.py:2056 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2051 +#: common/models.py:2062 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2052 +#: common/models.py:2063 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2058 +#: common/models.py:2069 msgid "Enable event integration" msgstr "" -#: common/models.py:2059 +#: common/models.py:2070 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2065 +#: common/models.py:2076 msgid "Enable project codes" msgstr "" -#: common/models.py:2066 +#: common/models.py:2077 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2071 +#: common/models.py:2082 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2073 +#: common/models.py:2084 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2079 +#: common/models.py:2090 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2081 +#: common/models.py:2092 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2087 +#: common/models.py:2098 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2089 +#: common/models.py:2100 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2095 +#: common/models.py:2106 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2097 +#: common/models.py:2108 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2104 +#: common/models.py:2115 msgid "Display Users full names" msgstr "" -#: common/models.py:2105 +#: common/models.py:2116 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2110 +#: common/models.py:2121 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2111 +#: common/models.py:2122 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2123 common/models.py:2533 +#: common/models.py:2134 common/models.py:2514 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2166 +#: common/models.py:2177 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2168 +#: common/models.py:2179 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2174 +#: common/models.py:2185 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2175 +#: common/models.py:2186 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2180 +#: common/models.py:2191 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2181 +#: common/models.py:2192 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2186 +#: common/models.py:2197 msgid "Show latest parts" msgstr "" -#: common/models.py:2187 +#: common/models.py:2198 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2192 +#: common/models.py:2203 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2193 +#: common/models.py:2204 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2198 +#: common/models.py:2209 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2199 +#: common/models.py:2210 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2204 +#: common/models.py:2215 msgid "Show low stock" msgstr "" -#: common/models.py:2205 +#: common/models.py:2216 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2210 +#: common/models.py:2221 msgid "Show depleted stock" msgstr "" -#: common/models.py:2211 +#: common/models.py:2222 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2216 +#: common/models.py:2227 msgid "Show needed stock" msgstr "" -#: common/models.py:2217 +#: common/models.py:2228 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2222 +#: common/models.py:2233 msgid "Show expired stock" msgstr "" -#: common/models.py:2223 +#: common/models.py:2234 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2228 +#: common/models.py:2239 msgid "Show stale stock" msgstr "" -#: common/models.py:2229 +#: common/models.py:2240 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2234 +#: common/models.py:2245 msgid "Show pending builds" msgstr "" -#: common/models.py:2235 +#: common/models.py:2246 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2240 +#: common/models.py:2251 msgid "Show overdue builds" msgstr "" -#: common/models.py:2241 +#: common/models.py:2252 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2246 +#: common/models.py:2257 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2247 +#: common/models.py:2258 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2252 +#: common/models.py:2263 msgid "Show overdue POs" msgstr "" -#: common/models.py:2253 +#: common/models.py:2264 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2258 +#: common/models.py:2269 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2259 +#: common/models.py:2270 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2264 +#: common/models.py:2275 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2265 +#: common/models.py:2276 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2270 +#: common/models.py:2281 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2271 +#: common/models.py:2282 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2276 +#: common/models.py:2287 msgid "Show News" msgstr "" -#: common/models.py:2277 +#: common/models.py:2288 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2282 +#: common/models.py:2293 msgid "Inline label display" msgstr "" -#: common/models.py:2284 +#: common/models.py:2295 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2290 +#: common/models.py:2301 msgid "Default label printer" msgstr "" -#: common/models.py:2292 +#: common/models.py:2303 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2298 +#: common/models.py:2309 msgid "Inline report display" msgstr "" -#: common/models.py:2300 +#: common/models.py:2311 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2306 +#: common/models.py:2317 msgid "Search Parts" msgstr "" -#: common/models.py:2307 +#: common/models.py:2318 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2312 +#: common/models.py:2323 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2313 +#: common/models.py:2324 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2318 +#: common/models.py:2329 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2319 +#: common/models.py:2330 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2324 +#: common/models.py:2335 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2325 +#: common/models.py:2336 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2330 +#: common/models.py:2341 msgid "Search Categories" msgstr "" -#: common/models.py:2331 +#: common/models.py:2342 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2336 +#: common/models.py:2347 msgid "Search Stock" msgstr "" -#: common/models.py:2337 +#: common/models.py:2348 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2342 +#: common/models.py:2353 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2344 +#: common/models.py:2355 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2350 +#: common/models.py:2361 msgid "Search Locations" msgstr "" -#: common/models.py:2351 +#: common/models.py:2362 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2356 +#: common/models.py:2367 msgid "Search Companies" msgstr "" -#: common/models.py:2357 +#: common/models.py:2368 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2362 +#: common/models.py:2373 msgid "Search Build Orders" msgstr "" -#: common/models.py:2363 +#: common/models.py:2374 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2368 +#: common/models.py:2379 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2369 +#: common/models.py:2380 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2374 +#: common/models.py:2385 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2376 +#: common/models.py:2387 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2382 +#: common/models.py:2393 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2383 +#: common/models.py:2394 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2388 +#: common/models.py:2399 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2390 +#: common/models.py:2401 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2396 +#: common/models.py:2407 msgid "Search Return Orders" msgstr "" -#: common/models.py:2397 +#: common/models.py:2408 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2402 +#: common/models.py:2413 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2404 +#: common/models.py:2415 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2410 +#: common/models.py:2421 msgid "Search Preview Results" msgstr "" -#: common/models.py:2412 +#: common/models.py:2423 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2418 +#: common/models.py:2429 msgid "Regex Search" msgstr "" -#: common/models.py:2419 +#: common/models.py:2430 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2424 +#: common/models.py:2435 msgid "Whole Word Search" msgstr "" -#: common/models.py:2425 +#: common/models.py:2436 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2430 +#: common/models.py:2441 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2431 +#: common/models.py:2442 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2436 +#: common/models.py:2447 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2437 +#: common/models.py:2448 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2442 +#: common/models.py:2453 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2443 +#: common/models.py:2454 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2448 +#: common/models.py:2459 msgid "Date Format" msgstr "" -#: common/models.py:2449 +#: common/models.py:2460 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2462 part/templates/part/detail.html:41 +#: common/models.py:2473 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2463 +#: common/models.py:2474 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2468 part/templates/part/detail.html:62 +#: common/models.py:2479 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2470 +#: common/models.py:2481 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2476 +#: common/models.py:2487 msgid "Table String Length" msgstr "" -#: common/models.py:2478 +#: common/models.py:2489 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2484 -msgid "Default part label template" -msgstr "" - -#: common/models.py:2485 -msgid "The part label template to be automatically selected" -msgstr "" - -#: common/models.py:2490 -msgid "Default stock item template" -msgstr "" - -#: common/models.py:2492 -msgid "The stock item label template to be automatically selected" -msgstr "" - -#: common/models.py:2498 -msgid "Default stock location label template" -msgstr "" - -#: common/models.py:2500 -msgid "The stock location label template to be automatically selected" -msgstr "" - -#: common/models.py:2506 -msgid "Default build line label template" -msgstr "" - -#: common/models.py:2508 -msgid "The build line label template to be automatically selected" -msgstr "" - -#: common/models.py:2514 +#: common/models.py:2495 msgid "Receive error reports" msgstr "" -#: common/models.py:2515 +#: common/models.py:2496 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2520 +#: common/models.py:2501 msgid "Last used printing machines" msgstr "" -#: common/models.py:2521 +#: common/models.py:2502 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2541 common/models.py:2542 common/models.py:2691 -#: common/models.py:2692 common/models.py:2937 common/models.py:2938 -#: common/models.py:3259 common/models.py:3260 part/models.py:3193 -#: part/models.py:3280 part/models.py:3353 part/models.py:3381 -#: plugin/models.py:274 plugin/models.py:275 +#: common/models.py:2522 common/models.py:2523 common/models.py:2672 +#: common/models.py:2673 common/models.py:2918 common/models.py:2919 +#: common/models.py:3245 common/models.py:3246 importer/models.py:85 +#: part/models.py:3203 part/models.py:3290 part/models.py:3364 +#: part/models.py:3392 plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 msgid "User" msgstr "" -#: common/models.py:2564 +#: common/models.py:2545 msgid "Price break quantity" msgstr "" -#: common/models.py:2571 company/serializers.py:472 order/admin.py:42 -#: order/models.py:1346 order/models.py:2265 -#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1886 +#: common/models.py:2552 company/serializers.py:502 order/admin.py:42 +#: order/models.py:1346 order/models.py:2292 +#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1889 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:740 msgid "Price" msgstr "" -#: common/models.py:2572 +#: common/models.py:2553 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2668 common/models.py:2853 +#: common/models.py:2649 common/models.py:2834 msgid "Endpoint" msgstr "" -#: common/models.py:2669 +#: common/models.py:2650 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2679 +#: common/models.py:2660 msgid "Name for this webhook" msgstr "" -#: common/models.py:2683 +#: common/models.py:2664 msgid "Is this webhook active" msgstr "" -#: common/models.py:2699 users/models.py:159 +#: common/models.py:2680 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2700 +#: common/models.py:2681 msgid "Token for access" msgstr "" -#: common/models.py:2708 +#: common/models.py:2689 msgid "Secret" msgstr "" -#: common/models.py:2709 +#: common/models.py:2690 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2817 +#: common/models.py:2798 msgid "Message ID" msgstr "" -#: common/models.py:2818 +#: common/models.py:2799 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2826 +#: common/models.py:2807 msgid "Host" msgstr "" -#: common/models.py:2827 +#: common/models.py:2808 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2835 +#: common/models.py:2816 msgid "Header" msgstr "" -#: common/models.py:2836 +#: common/models.py:2817 msgid "Header of this message" msgstr "" -#: common/models.py:2843 +#: common/models.py:2824 msgid "Body" msgstr "" -#: common/models.py:2844 +#: common/models.py:2825 msgid "Body of this message" msgstr "" -#: common/models.py:2854 +#: common/models.py:2835 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2859 +#: common/models.py:2840 msgid "Worked on" msgstr "" -#: common/models.py:2860 +#: common/models.py:2841 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2986 +#: common/models.py:2967 msgid "Id" msgstr "" -#: common/models.py:2988 templates/js/translated/company.js:965 +#: common/models.py:2969 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2990 common/models.py:3243 company/models.py:149 -#: company/models.py:440 company/models.py:500 company/models.py:799 -#: order/models.py:303 order/models.py:1301 order/models.py:1717 -#: part/admin.py:55 part/models.py:955 +#: common/models.py:2971 common/models.py:3229 company/models.py:149 +#: company/models.py:446 company/models.py:506 company/models.py:806 +#: order/models.py:303 order/models.py:1301 order/models.py:1733 +#: part/admin.py:55 part/models.py:959 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:229 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/part.js:2459 #: templates/js/translated/purchase_order.js:2040 #: templates/js/translated/purchase_order.js:2204 #: templates/js/translated/return_order.js:779 @@ -3607,28 +3640,28 @@ msgstr "" msgid "Link" msgstr "" -#: common/models.py:2992 templates/js/translated/news.js:60 +#: common/models.py:2973 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2994 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2975 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:2996 templates/js/translated/news.js:52 +#: common/models.py:2977 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2999 +#: common/models.py:2980 msgid "Read" msgstr "" -#: common/models.py:2999 +#: common/models.py:2980 msgid "Was this news item read?" msgstr "" -#: common/models.py:3016 company/models.py:159 part/models.py:965 +#: common/models.py:2997 company/models.py:159 part/models.py:969 #: 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.html:35 @@ -3638,90 +3671,94 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:3016 +#: common/models.py:2997 msgid "Image file" msgstr "" -#: common/models.py:3028 common/models.py:3227 +#: common/models.py:3009 common/models.py:3213 msgid "Target model type for this image" msgstr "" -#: common/models.py:3032 +#: common/models.py:3013 msgid "Target model ID for this image" msgstr "" -#: common/models.py:3070 +#: common/models.py:3035 +msgid "Custom Unit" +msgstr "" + +#: common/models.py:3056 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:3085 +#: common/models.py:3071 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3104 +#: common/models.py:3090 msgid "Unit name" msgstr "" -#: common/models.py:3111 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3097 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3112 +#: common/models.py:3098 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3118 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3104 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3119 +#: common/models.py:3105 msgid "Unit definition" msgstr "" -#: common/models.py:3177 common/models.py:3234 stock/models.py:2461 +#: common/models.py:3163 common/models.py:3220 stock/models.py:2471 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" msgstr "" -#: common/models.py:3189 +#: common/models.py:3175 msgid "Missing file" msgstr "" -#: common/models.py:3190 +#: common/models.py:3176 msgid "Missing external link" msgstr "" -#: common/models.py:3235 +#: common/models.py:3221 msgid "Select file to attach" msgstr "" -#: common/models.py:3250 templates/js/translated/attachment.js:120 +#: common/models.py:3236 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" msgstr "" -#: common/models.py:3251 +#: common/models.py:3237 msgid "Attachment comment" msgstr "" -#: common/models.py:3267 +#: common/models.py:3253 msgid "Upload date" msgstr "" -#: common/models.py:3268 +#: common/models.py:3254 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:3272 +#: common/models.py:3258 msgid "File size" msgstr "" -#: common/models.py:3272 +#: common/models.py:3258 msgid "File size in bytes" msgstr "" -#: common/models.py:3310 common/serializers.py:553 +#: common/models.py:3296 common/serializers.py:557 msgid "Invalid model type specified for attachment" msgstr "" @@ -3743,7 +3780,7 @@ msgstr "" msgid "A order that is assigned to you was canceled" msgstr "" -#: common/notifications.py:330 common/notifications.py:337 order/api.py:472 +#: common/notifications.py:330 common/notifications.py:337 order/api.py:454 msgid "Items Received" msgstr "" @@ -3759,75 +3796,75 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:371 +#: common/serializers.py:375 msgid "Is Running" msgstr "" -#: common/serializers.py:377 +#: common/serializers.py:381 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:383 +#: common/serializers.py:387 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:389 +#: common/serializers.py:393 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:404 +#: common/serializers.py:408 msgid "Task ID" msgstr "" -#: common/serializers.py:404 +#: common/serializers.py:408 msgid "Unique task ID" msgstr "" -#: common/serializers.py:406 +#: common/serializers.py:410 msgid "Lock" msgstr "" -#: common/serializers.py:406 +#: common/serializers.py:410 msgid "Lock time" msgstr "" -#: common/serializers.py:408 +#: common/serializers.py:412 msgid "Task name" msgstr "" -#: common/serializers.py:410 +#: common/serializers.py:414 msgid "Function" msgstr "" -#: common/serializers.py:410 +#: common/serializers.py:414 msgid "Function name" msgstr "" -#: common/serializers.py:412 +#: common/serializers.py:416 msgid "Arguments" msgstr "" -#: common/serializers.py:412 +#: common/serializers.py:416 msgid "Task arguments" msgstr "" -#: common/serializers.py:415 +#: common/serializers.py:419 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:415 +#: common/serializers.py:419 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:525 +#: common/serializers.py:529 msgid "Filename" msgstr "" -#: common/serializers.py:532 report/api.py:100 report/serializers.py:53 +#: common/serializers.py:536 report/api.py:100 report/serializers.py:53 msgid "Model Type" msgstr "" -#: common/serializers.py:559 +#: common/serializers.py:563 msgid "User does not have permission to create or edit attachments for this model" msgstr "" @@ -3894,29 +3931,29 @@ msgstr "" msgid "Previous Step" msgstr "" -#: company/api.py:144 +#: company/api.py:141 msgid "Part is Active" msgstr "" -#: company/api.py:148 +#: company/api.py:145 msgid "Manufacturer is Active" msgstr "" -#: company/api.py:281 +#: company/api.py:278 msgid "Supplier Part is Active" msgstr "" -#: company/api.py:285 +#: company/api.py:282 msgid "Internal Part is Active" msgstr "" -#: company/api.py:289 +#: company/api.py:286 msgid "Supplier is Active" msgstr "" -#: company/models.py:100 company/models.py:365 +#: company/models.py:100 company/models.py:371 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:822 +#: company/templates/company/company_base.html:12 stock/api.py:814 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "" @@ -3956,8 +3993,9 @@ msgstr "" msgid "Contact email address" msgstr "" -#: company/models.py:142 company/templates/company/company_base.html:145 -#: order/models.py:343 order/templates/order/order_base.html:203 +#: company/models.py:142 company/models.py:275 +#: company/templates/company/company_base.html:145 order/models.py:343 +#: order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 #: order/templates/order/sales_order_base.html:218 msgid "Contact" @@ -3976,7 +4014,7 @@ msgid "Is this company active?" msgstr "" #: company/models.py:168 -msgid "is customer" +msgid "Is customer" msgstr "" #: company/models.py:169 @@ -3984,7 +4022,7 @@ msgid "Do you sell items to this company?" msgstr "" #: company/models.py:174 -msgid "is supplier" +msgid "Is supplier" msgstr "" #: company/models.py:175 @@ -3992,7 +4030,7 @@ msgid "Do you purchase items from this company?" msgstr "" #: company/models.py:180 -msgid "is manufacturer" +msgid "Is manufacturer" msgstr "" #: company/models.py:181 @@ -4003,178 +4041,189 @@ msgstr "" msgid "Default currency used for this company" msgstr "" -#: company/models.py:366 +#: company/models.py:314 company/templates/company/company_base.html:124 +#: order/models.py:353 order/templates/order/order_base.html:210 +#: order/templates/order/return_order_base.html:181 +#: order/templates/order/sales_order_base.html:225 +msgid "Address" +msgstr "" + +#: company/models.py:315 company/templates/company/sidebar.html:35 +msgid "Addresses" +msgstr "" + +#: company/models.py:372 msgid "Select company" msgstr "" -#: company/models.py:371 +#: company/models.py:377 msgid "Address title" msgstr "" -#: company/models.py:372 +#: company/models.py:378 msgid "Title describing the address entry" msgstr "" -#: company/models.py:378 +#: company/models.py:384 msgid "Primary address" msgstr "" -#: company/models.py:379 +#: company/models.py:385 msgid "Set as primary address" msgstr "" -#: company/models.py:384 templates/js/translated/company.js:914 +#: company/models.py:390 templates/js/translated/company.js:914 #: templates/js/translated/company.js:971 msgid "Line 1" msgstr "" -#: company/models.py:385 +#: company/models.py:391 msgid "Address line 1" msgstr "" -#: company/models.py:391 templates/js/translated/company.js:915 +#: company/models.py:397 templates/js/translated/company.js:915 #: templates/js/translated/company.js:977 msgid "Line 2" msgstr "" -#: company/models.py:392 +#: company/models.py:398 msgid "Address line 2" msgstr "" -#: company/models.py:398 company/models.py:399 +#: company/models.py:404 company/models.py:405 #: templates/js/translated/company.js:983 msgid "Postal code" msgstr "" -#: company/models.py:405 +#: company/models.py:411 msgid "City/Region" msgstr "" -#: company/models.py:406 +#: company/models.py:412 msgid "Postal code city/region" msgstr "" -#: company/models.py:412 +#: company/models.py:418 msgid "State/Province" msgstr "" -#: company/models.py:413 +#: company/models.py:419 msgid "State or province" msgstr "" -#: company/models.py:419 templates/js/translated/company.js:1001 +#: company/models.py:425 templates/js/translated/company.js:1001 msgid "Country" msgstr "" -#: company/models.py:420 +#: company/models.py:426 msgid "Address country" msgstr "" -#: company/models.py:426 +#: company/models.py:432 msgid "Courier shipping notes" msgstr "" -#: company/models.py:427 +#: company/models.py:433 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:433 +#: company/models.py:439 msgid "Internal shipping notes" msgstr "" -#: company/models.py:434 +#: company/models.py:440 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:441 +#: company/models.py:447 msgid "Link to address information (external)" msgstr "" -#: company/models.py:463 company/models.py:574 company/models.py:792 +#: company/models.py:469 company/models.py:581 company/models.py:799 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:217 msgid "Manufacturer Part" msgstr "" -#: company/models.py:475 company/models.py:760 stock/models.py:767 -#: stock/serializers.py:422 stock/templates/stock/item_base.html:142 +#: company/models.py:481 company/models.py:767 stock/models.py:767 +#: stock/serializers.py:442 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" -#: company/models.py:477 company/models.py:762 +#: company/models.py:483 company/models.py:769 msgid "Select part" msgstr "" -#: company/models.py:486 company/templates/company/company_base.html:82 +#: company/models.py:492 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:525 +#: company/templates/company/supplier_part.html:145 part/serializers.py:543 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 #: templates/js/translated/company.js:1296 #: templates/js/translated/company.js:1611 -#: templates/js/translated/table_filters.js:800 +#: templates/js/translated/table_filters.js:805 msgid "Manufacturer" msgstr "" -#: company/models.py:487 +#: company/models.py:493 msgid "Select manufacturer" msgstr "" -#: company/models.py:493 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:535 -#: templates/js/translated/company.js:351 +#: company/models.py:499 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:153 order/serializers.py:518 +#: part/serializers.py:553 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:1801 +#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1804 #: templates/js/translated/purchase_order.js:1851 #: templates/js/translated/purchase_order.js:2053 msgid "MPN" msgstr "" -#: company/models.py:494 -msgid "Manufacturer Part Number" -msgstr "" - -#: company/models.py:501 +#: company/models.py:507 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:510 +#: company/models.py:516 msgid "Manufacturer part description" msgstr "" -#: company/models.py:581 +#: company/models.py:569 +msgid "Manufacturer Part Parameter" +msgstr "" + +#: company/models.py:588 msgid "Parameter name" msgstr "" -#: company/models.py:587 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2453 templates/js/translated/company.js:1166 -#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1493 +#: company/models.py:594 report/templates/report/inventree_test_report.html:104 +#: stock/models.py:2463 templates/js/translated/company.js:1166 +#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1496 #: templates/js/translated/stock.js:1522 msgid "Value" msgstr "" -#: company/models.py:588 +#: company/models.py:595 msgid "Parameter value" msgstr "" -#: company/models.py:595 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1045 part/models.py:3646 +#: company/models.py:602 company/templates/company/supplier_part.html:168 +#: part/admin.py:57 part/models.py:1049 part/models.py:3667 #: part/templates/part/part_base.html:284 -#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1512 -#: templates/js/translated/part.js:1616 templates/js/translated/part.js:2370 +#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1515 +#: templates/js/translated/part.js:1619 templates/js/translated/part.js:2373 msgid "Units" msgstr "" -#: company/models.py:596 +#: company/models.py:603 msgid "Parameter units" msgstr "" -#: company/models.py:648 company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 order/api.py:452 +#: company/models.py:655 company/templates/company/supplier_part.html:7 +#: company/templates/company/supplier_part.html:24 order/api.py:434 #: stock/models.py:778 stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 @@ -4182,91 +4231,91 @@ msgstr "" msgid "Supplier Part" msgstr "" -#: company/models.py:700 +#: company/models.py:707 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:707 +#: company/models.py:714 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:721 +#: company/models.py:728 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:770 company/templates/company/company_base.html:87 +#: company/models.py:777 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:509 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:527 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 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:511 -#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1769 +#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1772 #: templates/js/translated/pricing.js:498 #: templates/js/translated/purchase_order.js:1689 -#: templates/js/translated/table_filters.js:804 +#: templates/js/translated/table_filters.js:809 msgid "Supplier" msgstr "" -#: company/models.py:771 +#: company/models.py:778 msgid "Select supplier" msgstr "" -#: company/models.py:777 part/serializers.py:520 +#: company/models.py:784 part/serializers.py:538 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:783 +#: company/models.py:790 msgid "Is this supplier part active?" msgstr "" -#: company/models.py:793 +#: company/models.py:800 msgid "Select manufacturer part" msgstr "" -#: company/models.py:800 +#: company/models.py:807 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:809 +#: company/models.py:816 msgid "Supplier part description" msgstr "" -#: company/models.py:816 company/templates/company/supplier_part.html:187 -#: part/admin.py:412 part/models.py:4093 part/templates/part/upload_bom.html:59 +#: company/models.py:823 company/templates/company/supplier_part.html:187 +#: part/admin.py:412 part/models.py:4178 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: 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:710 +#: stock/serializers.py:768 msgid "Note" msgstr "" -#: company/models.py:825 part/models.py:2003 +#: company/models.py:832 part/models.py:2013 msgid "base cost" msgstr "" -#: company/models.py:826 part/models.py:2004 +#: company/models.py:833 part/models.py:2014 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:833 company/templates/company/supplier_part.html:160 -#: stock/admin.py:228 stock/models.py:798 stock/serializers.py:1475 +#: company/models.py:840 company/templates/company/supplier_part.html:160 +#: stock/admin.py:228 stock/models.py:798 stock/serializers.py:1541 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 msgid "Packaging" msgstr "" -#: company/models.py:834 +#: company/models.py:841 msgid "Part packaging" msgstr "" -#: company/models.py:839 templates/js/translated/company.js:1651 -#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 +#: company/models.py:846 templates/js/translated/company.js:1651 +#: templates/js/translated/part.js:1825 templates/js/translated/part.js:1881 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 #: templates/js/translated/purchase_order.js:1103 @@ -4275,35 +4324,43 @@ msgstr "" msgid "Pack Quantity" msgstr "" -#: company/models.py:841 +#: company/models.py:848 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:860 part/models.py:2010 +#: company/models.py:867 part/models.py:2020 msgid "multiple" msgstr "" -#: company/models.py:861 +#: company/models.py:868 msgid "Order multiple" msgstr "" -#: company/models.py:873 +#: company/models.py:880 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:879 +#: company/models.py:886 msgid "Availability Updated" msgstr "" -#: company/models.py:880 +#: company/models.py:887 msgid "Date of last update of availability data" msgstr "" -#: company/serializers.py:161 +#: company/models.py:1015 +msgid "Supplier Price Break" +msgstr "" + +#: company/serializers.py:174 msgid "Default currency used for this supplier" msgstr "" -#: company/serializers.py:357 part/admin.py:126 +#: company/serializers.py:210 +msgid "Company Name" +msgstr "" + +#: company/serializers.py:384 part/admin.py:126 part/serializers.py:855 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:355 @@ -4315,7 +4372,7 @@ msgstr "" #: templates/js/translated/company.js:1287 #: templates/js/translated/company.js:1575 #: templates/js/translated/model_renderers.js:312 -#: templates/js/translated/part.js:815 templates/js/translated/part.js:1219 +#: templates/js/translated/part.js:814 templates/js/translated/part.js:1222 msgid "Inactive" msgstr "" @@ -4374,16 +4431,16 @@ msgid "Delete image" msgstr "" #: company/templates/company/company_base.html:92 order/models.py:938 -#: order/models.py:2032 order/templates/order/return_order_base.html:131 +#: order/models.py:2058 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:148 stock/models.py:820 -#: stock/models.py:821 stock/serializers.py:1225 +#: stock/models.py:821 stock/serializers.py:1291 #: 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:295 #: templates/js/translated/sales_order.js:820 #: templates/js/translated/stock.js:2959 -#: templates/js/translated/table_filters.js:808 +#: templates/js/translated/table_filters.js:813 msgid "Customer" msgstr "" @@ -4391,13 +4448,6 @@ msgstr "" msgid "Uses default currency" msgstr "" -#: company/templates/company/company_base.html:124 order/models.py:353 -#: order/templates/order/order_base.html:210 -#: order/templates/order/return_order_base.html:181 -#: order/templates/order/sales_order_base.html:225 -msgid "Address" -msgstr "" - #: company/templates/company/company_base.html:131 msgid "Phone" msgstr "" @@ -4577,7 +4627,8 @@ msgid "Delete manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:65 -#: company/templates/company/supplier_part.html:97 order/api.py:458 +#: company/templates/company/supplier_part.html:97 order/api.py:440 +#: order/serializers.py:526 msgid "Internal Part" msgstr "" @@ -4587,7 +4638,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:832 +#: part/admin.py:122 part/serializers.py:860 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4608,7 +4659,7 @@ msgid "New Parameter" msgstr "" #: company/templates/company/manufacturer_part.html:196 -#: templates/js/translated/part.js:1423 +#: templates/js/translated/part.js:1426 msgid "Add Parameter" msgstr "" @@ -4632,10 +4683,6 @@ msgstr "" msgid "Contacts" msgstr "" -#: company/templates/company/sidebar.html:35 -msgid "Addresses" -msgstr "" - #: company/templates/company/supplier_part.html:50 #: templates/js/translated/company.js:1526 msgid "Supplier part actions" @@ -4648,127 +4695,283 @@ msgstr "" msgid "Order Part" msgstr "" -#: company/templates/company/supplier_part.html:60 -#: company/templates/company/supplier_part.html:61 -msgid "Update Availability" +#: company/templates/company/supplier_part.html:60 +#: company/templates/company/supplier_part.html:61 +msgid "Update Availability" +msgstr "" + +#: company/templates/company/supplier_part.html:63 +#: company/templates/company/supplier_part.html:64 +#: templates/js/translated/company.js:294 +msgid "Edit Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:68 +#: company/templates/company/supplier_part.html:69 +#: templates/js/translated/company.js:269 +msgid "Duplicate Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:73 +msgid "Delete Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:74 +msgid "Delete Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:133 +msgid "No supplier information available" +msgstr "" + +#: company/templates/company/supplier_part.html:139 order/serializers.py:515 +#: part/bom.py:279 part/bom.py:311 part/serializers.py:537 +#: templates/js/translated/company.js:349 templates/js/translated/part.js:1790 +#: templates/js/translated/pricing.js:510 +#: templates/js/translated/purchase_order.js:1850 +#: templates/js/translated/purchase_order.js:2028 +msgid "SKU" +msgstr "" + +#: company/templates/company/supplier_part.html:206 +msgid "Supplier Part Stock" +msgstr "" + +#: company/templates/company/supplier_part.html:209 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:207 +msgid "Create new stock item" +msgstr "" + +#: company/templates/company/supplier_part.html:210 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:208 +#: templates/js/translated/stock.js:537 +msgid "New Stock Item" +msgstr "" + +#: company/templates/company/supplier_part.html:223 +msgid "Supplier Part Orders" +msgstr "" + +#: company/templates/company/supplier_part.html:246 +msgid "Pricing Information" +msgstr "" + +#: company/templates/company/supplier_part.html:251 +#: templates/js/translated/company.js:398 +#: templates/js/translated/pricing.js:684 +msgid "Add Price Break" +msgstr "" + +#: company/templates/company/supplier_part.html:276 +msgid "Supplier Part QR Code" +msgstr "" + +#: company/templates/company/supplier_part.html:287 +msgid "Link Barcode to Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:359 +msgid "Update Part Availability" +msgstr "" + +#: company/templates/company/supplier_part_sidebar.html:5 +#: part/serializers.py:859 part/stocktake.py:224 +#: part/templates/part/category.html:183 +#: part/templates/part/category_sidebar.html:17 stock/admin.py:68 +#: stock/serializers.py:976 stock/serializers.py:1154 +#: stock/templates/stock/location.html:170 +#: 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:1064 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 +#: users/models.py:206 +msgid "Stock Items" +msgstr "" + +#: company/templates/company/supplier_part_sidebar.html:9 +msgid "Supplier Part Pricing" +msgstr "" + +#: company/views.py:32 +msgid "New Supplier" +msgstr "" + +#: company/views.py:38 +msgid "New Manufacturer" +msgstr "" + +#: company/views.py:43 templates/InvenTree/search.html:210 +#: templates/navbar.html:60 +msgid "Customers" +msgstr "" + +#: company/views.py:44 +msgid "New Customer" +msgstr "" + +#: company/views.py:52 +msgid "New Company" +msgstr "" + +#: generic/states/tests.py:18 order/status_codes.py:13 +msgid "Placed" +msgstr "" + +#: importer/mixins.py:263 +msgid "Invalid export format" +msgstr "" + +#: importer/models.py:56 +msgid "Timestamp" +msgstr "" + +#: importer/models.py:61 +msgid "Data file to import" +msgstr "" + +#: importer/models.py:70 templates/js/translated/tables.js:558 +msgid "Columns" +msgstr "" + +#: importer/models.py:81 +msgid "Import status" +msgstr "" + +#: importer/models.py:91 +msgid "Field Defaults" +msgstr "" + +#: importer/models.py:201 +msgid "Some required fields have not been mapped" +msgstr "" + +#: importer/models.py:346 +msgid "Column is already mapped to a database field" +msgstr "" + +#: importer/models.py:351 +msgid "Field is already mapped to a data column" +msgstr "" + +#: importer/models.py:360 +msgid "Column mapping must be linked to a valid import session" +msgstr "" + +#: importer/models.py:365 +msgid "Column does not exist in the data file" +msgstr "" + +#: importer/models.py:372 +msgid "Field does not exist in the target model" +msgstr "" + +#: importer/models.py:376 +msgid "Selected field is read-only" +msgstr "" + +#: importer/models.py:381 importer/models.py:452 +msgid "Import Session" +msgstr "" + +#: importer/models.py:385 +msgid "Field" msgstr "" -#: company/templates/company/supplier_part.html:63 -#: company/templates/company/supplier_part.html:64 -#: templates/js/translated/company.js:294 -msgid "Edit Supplier Part" +#: importer/models.py:387 +msgid "Column" msgstr "" -#: company/templates/company/supplier_part.html:68 -#: company/templates/company/supplier_part.html:69 -#: templates/js/translated/company.js:269 -msgid "Duplicate Supplier Part" +#: importer/models.py:456 +msgid "Row Index" msgstr "" -#: company/templates/company/supplier_part.html:73 -msgid "Delete Supplier Part" +#: importer/models.py:459 +msgid "Original row data" msgstr "" -#: company/templates/company/supplier_part.html:74 -msgid "Delete Supplier Part" +#: importer/models.py:462 part/models.py:3841 +msgid "Data" msgstr "" -#: company/templates/company/supplier_part.html:133 -msgid "No supplier information available" +#: importer/models.py:464 machine/models.py:110 +msgid "Errors" msgstr "" -#: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:519 -#: templates/js/translated/company.js:349 templates/js/translated/part.js:1787 -#: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1850 -#: templates/js/translated/purchase_order.js:2028 -msgid "SKU" +#: importer/models.py:466 part/api.py:874 +msgid "Valid" msgstr "" -#: company/templates/company/supplier_part.html:206 -msgid "Supplier Part Stock" +#: importer/operations.py:28 importer/operations.py:49 +msgid "Unsupported data file format" msgstr "" -#: company/templates/company/supplier_part.html:209 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:207 -msgid "Create new stock item" +#: importer/operations.py:40 +msgid "Failed to open data file" msgstr "" -#: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:208 -#: templates/js/translated/stock.js:537 -msgid "New Stock Item" +#: importer/operations.py:51 +msgid "Invalid data file dimensions" msgstr "" -#: company/templates/company/supplier_part.html:223 -msgid "Supplier Part Orders" +#: importer/serializers.py:135 +msgid "Rows" msgstr "" -#: company/templates/company/supplier_part.html:246 -msgid "Pricing Information" +#: importer/serializers.py:136 +msgid "List of row IDs to accept" msgstr "" -#: company/templates/company/supplier_part.html:251 -#: templates/js/translated/company.js:398 -#: templates/js/translated/pricing.js:684 -msgid "Add Price Break" +#: importer/serializers.py:149 +msgid "No rows provided" msgstr "" -#: company/templates/company/supplier_part.html:276 -msgid "Supplier Part QR Code" +#: importer/serializers.py:153 +msgid "Row does not belong to this session" msgstr "" -#: company/templates/company/supplier_part.html:287 -msgid "Link Barcode to Supplier Part" +#: importer/serializers.py:156 +msgid "Row contains invalid data" msgstr "" -#: company/templates/company/supplier_part.html:359 -msgid "Update Part Availability" +#: importer/serializers.py:159 +msgid "Row has already been completed" msgstr "" -#: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:831 part/stocktake.py:224 -#: part/templates/part/category.html:183 -#: part/templates/part/category_sidebar.html:17 stock/admin.py:68 -#: stock/serializers.py:918 stock/serializers.py:1091 -#: stock/templates/stock/location.html:170 -#: 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:1061 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 -#: users/models.py:206 -msgid "Stock Items" +#: importer/status_codes.py:11 +msgid "Initializing" msgstr "" -#: company/templates/company/supplier_part_sidebar.html:9 -msgid "Supplier Part Pricing" +#: importer/status_codes.py:12 +msgid "Mapping Columns" msgstr "" -#: company/views.py:32 -msgid "New Supplier" +#: importer/status_codes.py:13 +msgid "Importing Data" msgstr "" -#: company/views.py:38 -msgid "New Manufacturer" +#: importer/status_codes.py:16 +msgid "Processing Data" msgstr "" -#: company/views.py:43 templates/InvenTree/search.html:210 -#: templates/navbar.html:60 -msgid "Customers" +#: importer/validators.py:21 +msgid "Data file exceeds maximum size limit" msgstr "" -#: company/views.py:44 -msgid "New Customer" +#: importer/validators.py:26 +msgid "Data file contains no headers" msgstr "" -#: company/views.py:52 -msgid "New Company" +#: importer/validators.py:29 +msgid "Data file contains too many columns" msgstr "" -#: generic/states/tests.py:18 order/status_codes.py:13 -msgid "Placed" +#: importer/validators.py:32 +msgid "Data file contains too many rows" +msgstr "" + +#: importer/validators.py:49 +msgid "Value must be a valid dictionary object" msgstr "" #: machine/machine_types/label_printer.py:212 @@ -4783,7 +4986,7 @@ msgstr "" msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:229 order/api.py:1467 +#: machine/machine_types/label_printer.py:229 order/api.py:1388 #: templates/js/translated/sales_order.js:1078 msgid "Unknown" msgstr "" @@ -4852,10 +5055,6 @@ msgstr "" msgid "Initialized" msgstr "" -#: machine/models.py:110 -msgid "Errors" -msgstr "" - #: machine/models.py:117 msgid "Machine status" msgstr "" @@ -4881,44 +5080,44 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:157 order/serializers.py:90 +#: order/api.py:149 order/serializers.py:94 #: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:113 #: order/templates/order/sales_order_base.html:122 msgid "Order Status" msgstr "" -#: order/api.py:161 templates/js/translated/table_filters.js:194 -#: templates/js/translated/table_filters.js:779 +#: order/api.py:153 templates/js/translated/table_filters.js:194 +#: templates/js/translated/table_filters.js:784 msgid "Has Pricing" msgstr "" -#: order/api.py:236 +#: order/api.py:228 msgid "No matching purchase order found" msgstr "" -#: order/api.py:435 order/api.py:801 order/models.py:1395 order/models.py:1504 -#: order/models.py:1550 order/models.py:1664 order/models.py:1818 -#: order/models.py:2231 order/models.py:2282 +#: order/api.py:417 order/api.py:755 order/models.py:1400 order/models.py:1514 +#: order/models.py:1565 order/models.py:1680 order/models.py:1839 +#: order/models.py:2258 order/models.py:2314 #: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "" -#: order/api.py:439 order/api.py:822 +#: order/api.py:421 order/api.py:776 msgid "Order Complete" msgstr "" -#: order/api.py:462 +#: order/api.py:444 msgid "Order Pending" msgstr "" -#: order/api.py:1461 order/models.py:380 order/models.py:1396 -#: order/models.py:1505 order/templates/order/order_base.html:9 +#: order/api.py:1382 order/models.py:380 order/models.py:1401 +#: order/models.py:1515 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 -#: stock/serializers.py:118 stock/templates/stock/item_base.html:176 +#: stock/serializers.py:120 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/part.js:1746 templates/js/translated/pricing.js:804 +#: templates/js/translated/part.js:1749 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:1673 @@ -4926,8 +5125,8 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1465 order/models.py:1981 order/models.py:2232 -#: order/models.py:2283 order/templates/order/return_order_base.html:9 +#: order/api.py:1386 order/models.py:2007 order/models.py:2259 +#: order/models.py:2315 order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report.html:13 #: templates/js/translated/return_order.js:280 @@ -4939,11 +5138,11 @@ msgstr "" msgid "Total price for this order" msgstr "" -#: order/models.py:96 order/serializers.py:70 +#: order/models.py:96 order/serializers.py:72 msgid "Order Currency" msgstr "" -#: order/models.py:99 order/serializers.py:71 +#: order/models.py:99 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" @@ -4959,7 +5158,7 @@ msgstr "" msgid "Select project code for this order" msgstr "" -#: order/models.py:303 order/models.py:1301 order/models.py:1717 +#: order/models.py:303 order/models.py:1301 order/models.py:1733 msgid "Link to external page" msgstr "" @@ -5008,15 +5207,15 @@ msgstr "" msgid "received by" msgstr "" -#: order/models.py:514 order/models.py:2058 +#: order/models.py:514 order/models.py:2084 msgid "Issue Date" msgstr "" -#: order/models.py:515 order/models.py:2059 +#: order/models.py:515 order/models.py:2085 msgid "Date order was issued" msgstr "" -#: order/models.py:522 order/models.py:2066 +#: order/models.py:522 order/models.py:2092 msgid "Date order was completed" msgstr "" @@ -5032,15 +5231,15 @@ msgstr "" msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:962 order/models.py:2051 +#: order/models.py:962 order/models.py:2077 msgid "Customer Reference " msgstr "" -#: order/models.py:963 order/models.py:2052 +#: order/models.py:963 order/models.py:2078 msgid "Customer order reference code" msgstr "" -#: order/models.py:967 order/models.py:1671 +#: order/models.py:967 order/models.py:1687 #: templates/js/translated/sales_order.js:879 #: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" @@ -5102,20 +5301,24 @@ msgstr "" msgid "Unit price" msgstr "" -#: order/models.py:1380 +#: order/models.py:1361 +msgid "Purchase Order Line Item" +msgstr "" + +#: order/models.py:1385 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1387 +#: order/models.py:1392 msgid "deleted" msgstr "" -#: order/models.py:1415 +#: order/models.py:1420 msgid "Supplier part" msgstr "" -#: order/models.py:1422 order/templates/order/order_base.html:196 -#: templates/js/translated/part.js:1870 templates/js/translated/part.js:1902 +#: order/models.py:1427 order/templates/order/order_base.html:196 +#: templates/js/translated/part.js:1873 templates/js/translated/part.js:1905 #: templates/js/translated/purchase_order.js:1306 #: templates/js/translated/purchase_order.js:2169 #: templates/js/translated/return_order.js:763 @@ -5124,196 +5327,224 @@ msgstr "" msgid "Received" msgstr "" -#: order/models.py:1423 +#: order/models.py:1428 msgid "Number of items received" msgstr "" -#: order/models.py:1431 stock/models.py:939 stock/serializers.py:556 +#: order/models.py:1436 stock/models.py:939 stock/serializers.py:602 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2311 msgid "Purchase Price" msgstr "" -#: order/models.py:1432 +#: order/models.py:1437 msgid "Unit purchase price" msgstr "" -#: order/models.py:1447 +#: order/models.py:1452 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1538 +#: order/models.py:1503 +msgid "Purchase Order Extra Line" +msgstr "" + +#: order/models.py:1532 +msgid "Sales Order Line Item" +msgstr "" + +#: order/models.py:1553 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1543 +#: order/models.py:1558 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1569 part/templates/part/part_pricing.html:107 +#: order/models.py:1584 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:1570 +#: order/models.py:1585 msgid "Unit sale price" msgstr "" -#: order/models.py:1579 order/status_codes.py:43 +#: order/models.py:1594 order/status_codes.py:43 #: templates/js/translated/sales_order.js:1559 #: templates/js/translated/sales_order.js:1680 #: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "" -#: order/models.py:1580 +#: order/models.py:1595 msgid "Shipped quantity" msgstr "" -#: order/models.py:1672 +#: order/models.py:1667 +msgid "Sales Order Shipment" +msgstr "" + +#: order/models.py:1688 msgid "Date of shipment" msgstr "" -#: order/models.py:1678 templates/js/translated/sales_order.js:1072 +#: order/models.py:1694 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "" -#: order/models.py:1679 +#: order/models.py:1695 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1687 +#: order/models.py:1703 msgid "Checked By" msgstr "" -#: order/models.py:1688 +#: order/models.py:1704 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1695 order/models.py:1908 order/serializers.py:1342 -#: order/serializers.py:1452 templates/js/translated/model_renderers.js:454 +#: order/models.py:1711 order/models.py:1934 order/serializers.py:1398 +#: order/serializers.py:1508 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "" -#: order/models.py:1696 +#: order/models.py:1712 msgid "Shipment number" msgstr "" -#: order/models.py:1704 +#: order/models.py:1720 msgid "Tracking Number" msgstr "" -#: order/models.py:1705 +#: order/models.py:1721 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1712 +#: order/models.py:1728 msgid "Invoice Number" msgstr "" -#: order/models.py:1713 +#: order/models.py:1729 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1733 +#: order/models.py:1749 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1736 +#: order/models.py:1752 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1854 order/models.py:1856 +#: order/models.py:1828 +msgid "Sales Order Extra Line" +msgstr "" + +#: order/models.py:1857 +msgid "Sales Order Allocation" +msgstr "" + +#: order/models.py:1880 order/models.py:1882 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1863 +#: order/models.py:1889 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1866 +#: order/models.py:1892 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1869 +#: order/models.py:1895 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1888 order/serializers.py:1219 +#: order/models.py:1914 order/serializers.py:1275 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1891 +#: order/models.py:1917 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1892 plugin/base/barcodes/api.py:481 +#: order/models.py:1918 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1900 +#: order/models.py:1926 msgid "Line" msgstr "" -#: order/models.py:1909 +#: order/models.py:1935 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1922 order/models.py:2239 +#: order/models.py:1948 order/models.py:2266 #: templates/js/translated/return_order.js:721 msgid "Item" msgstr "" -#: order/models.py:1923 +#: order/models.py:1949 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1932 +#: order/models.py:1958 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2021 +#: order/models.py:2047 msgid "Return Order reference" msgstr "" -#: order/models.py:2033 +#: order/models.py:2059 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2045 +#: order/models.py:2071 msgid "Return order status" msgstr "" -#: order/models.py:2224 +#: order/models.py:2237 +msgid "Return Order Line Item" +msgstr "" + +#: order/models.py:2251 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2240 +#: order/models.py:2267 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2246 +#: order/models.py:2273 msgid "Received Date" msgstr "" -#: order/models.py:2247 +#: order/models.py:2274 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2258 templates/js/translated/return_order.js:732 +#: order/models.py:2285 templates/js/translated/return_order.js:732 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2259 +#: order/models.py:2286 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2266 +#: order/models.py:2293 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:79 order/templates/order/po_sidebar.html:5 +#: order/models.py:2303 +msgid "Return Order Extra Line" +msgstr "" + +#: order/serializers.py:83 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_purchase_order_report.html:22 @@ -5322,163 +5553,171 @@ msgstr "" msgid "Line Items" msgstr "" -#: order/serializers.py:83 +#: order/serializers.py:87 msgid "Completed Lines" msgstr "" -#: order/serializers.py:286 +#: order/serializers.py:305 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:301 order/serializers.py:1235 +#: order/serializers.py:320 order/serializers.py:1291 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:311 order/serializers.py:1245 +#: order/serializers.py:330 order/serializers.py:1301 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:439 +#: order/serializers.py:468 msgid "Order is not open" msgstr "" -#: order/serializers.py:460 +#: order/serializers.py:489 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:462 +#: order/serializers.py:491 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:472 +#: order/serializers.py:501 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:478 +#: order/serializers.py:507 msgid "Merge Items" msgstr "" -#: order/serializers.py:480 +#: order/serializers.py:509 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:498 +#: order/serializers.py:522 part/models.py:945 +msgid "Internal Part Number" +msgstr "" + +#: order/serializers.py:530 +msgid "Internal Part Name" +msgstr "" + +#: order/serializers.py:546 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:501 +#: order/serializers.py:549 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:509 +#: order/serializers.py:557 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:510 +#: order/serializers.py:558 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:549 order/serializers.py:1313 +#: order/serializers.py:598 order/serializers.py:1369 msgid "Line Item" msgstr "" -#: order/serializers.py:555 +#: order/serializers.py:604 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:565 order/serializers.py:673 order/serializers.py:1657 +#: order/serializers.py:614 order/serializers.py:722 order/serializers.py:1715 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:581 templates/js/translated/purchase_order.js:1130 +#: order/serializers.py:630 templates/js/translated/purchase_order.js:1130 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:589 templates/js/translated/purchase_order.js:1154 +#: order/serializers.py:638 templates/js/translated/purchase_order.js:1154 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:600 templates/js/translated/barcode.js:52 +#: order/serializers.py:649 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:601 +#: order/serializers.py:650 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:617 +#: order/serializers.py:666 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:641 +#: order/serializers.py:690 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:689 order/serializers.py:1673 +#: order/serializers.py:738 order/serializers.py:1731 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:705 +#: order/serializers.py:754 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:716 +#: order/serializers.py:765 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1062 +#: order/serializers.py:1117 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1122 +#: order/serializers.py:1178 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1183 order/serializers.py:1322 +#: order/serializers.py:1239 order/serializers.py:1378 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1202 +#: order/serializers.py:1258 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1332 +#: order/serializers.py:1388 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1354 order/serializers.py:1460 +#: order/serializers.py:1410 order/serializers.py:1516 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1357 order/serializers.py:1463 +#: order/serializers.py:1413 order/serializers.py:1519 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1404 +#: order/serializers.py:1460 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1411 +#: order/serializers.py:1467 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1627 +#: order/serializers.py:1685 msgid "Return order line item" msgstr "" -#: order/serializers.py:1633 +#: order/serializers.py:1691 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1636 +#: order/serializers.py:1694 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1665 +#: order/serializers.py:1723 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1743 +#: order/serializers.py:1806 msgid "Line price currency" msgstr "" @@ -5808,7 +6047,7 @@ msgstr "" #: 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:1073 +#: templates/js/translated/part.js:1076 #: templates/js/translated/purchase_order.js:1752 #: templates/js/translated/return_order.js:380 #: templates/js/translated/sales_order.js:891 @@ -5904,34 +6143,29 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:398 part/models.py:3944 part/stocktake.py:219 +#: part/admin.py:39 part/admin.py:398 part/models.py:3991 part/stocktake.py:219 #: stock/admin.py:152 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:405 part/models.py:3945 part/stocktake.py:220 -#: stock/admin.py:156 -msgid "Part Name" -msgstr "" - #: part/admin.py:45 part/stocktake.py:221 msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:940 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:944 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 -#: templates/js/translated/part.js:1227 templates/js/translated/part.js:2341 +#: templates/js/translated/part.js:1230 templates/js/translated/part.js:2344 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:949 part/templates/part/part_base.html:277 -#: report/models.py:162 templates/js/translated/part.js:1232 -#: templates/js/translated/part.js:2347 +#: part/admin.py:50 part/models.py:953 part/templates/part/part_base.html:277 +#: report/models.py:162 templates/js/translated/part.js:1235 +#: templates/js/translated/part.js:2350 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:319 part/models.py:922 +#: part/admin.py:53 part/admin.py:319 part/models.py:926 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5944,7 +6178,8 @@ msgstr "" msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:304 part/stocktake.py:223 +#: part/admin.py:67 part/admin.py:304 part/serializers.py:837 +#: part/stocktake.py:223 msgid "Category Name" msgstr "" @@ -5956,11 +6191,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:908 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:912 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1036 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1040 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5968,18 +6203,19 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:150 part/templates/part/part_base.html:241 stock/admin.py:235 -#: templates/js/translated/part.js:715 templates/js/translated/part.js:2153 +#: part/admin.py:150 part/serializers.py:854 +#: part/templates/part/part_base.html:241 stock/admin.py:235 +#: templates/js/translated/part.js:714 templates/js/translated/part.js:2156 msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3088 part/models.py:3102 -#: templates/js/translated/part.js:970 +#: part/admin.py:155 part/models.py:3098 part/models.py:3112 +#: templates/js/translated/part.js:973 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3095 part/models.py:3109 -#: templates/js/translated/part.js:980 +#: part/admin.py:158 part/models.py:3105 part/models.py:3119 +#: templates/js/translated/part.js:983 msgid "Maximum Cost" msgstr "" @@ -5996,14 +6232,14 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:396 part/serializers.py:124 -#: part/serializers.py:267 part/serializers.py:386 +#: part/admin.py:325 part/models.py:397 part/serializers.py:130 +#: part/serializers.py:282 part/serializers.py:404 #: 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:2807 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:203 msgid "Parts" msgstr "" @@ -6020,125 +6256,117 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:402 part/models.py:3946 -msgid "Part IPN" -msgstr "" - -#: part/admin.py:415 part/serializers.py:1274 +#: part/admin.py:415 part/serializers.py:1302 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:420 part/serializers.py:1289 +#: part/admin.py:420 part/serializers.py:1317 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "" -#: part/api.py:104 +#: part/api.py:105 msgid "Starred" msgstr "" -#: part/api.py:106 +#: part/api.py:107 msgid "Filter by starred categories" msgstr "" -#: part/api.py:123 stock/api.py:312 +#: part/api.py:124 stock/api.py:312 msgid "Depth" msgstr "" -#: part/api.py:123 +#: part/api.py:124 msgid "Filter by category depth" msgstr "" -#: part/api.py:141 stock/api.py:330 +#: part/api.py:142 stock/api.py:330 msgid "Top Level" msgstr "" -#: part/api.py:143 +#: part/api.py:144 msgid "Filter by top-level categories" msgstr "" -#: part/api.py:156 stock/api.py:345 +#: part/api.py:157 stock/api.py:345 msgid "Cascade" msgstr "" -#: part/api.py:158 +#: part/api.py:159 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:179 templates/js/translated/part.js:308 +#: part/api.py:180 templates/js/translated/part.js:307 msgid "Parent" msgstr "" -#: part/api.py:181 +#: part/api.py:182 msgid "Filter by parent category" msgstr "" -#: part/api.py:214 +#: part/api.py:215 msgid "Exclude Tree" msgstr "" -#: part/api.py:216 +#: part/api.py:217 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:449 +#: part/api.py:442 msgid "Has Results" msgstr "" -#: part/api.py:616 +#: part/api.py:609 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:634 +#: part/api.py:627 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:650 +#: part/api.py:643 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:734 +#: part/api.py:727 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:881 -msgid "Valid" -msgstr "" - -#: part/api.py:882 +#: part/api.py:875 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:888 +#: part/api.py:881 msgid "This option must be selected" msgstr "" -#: part/api.py:1105 +#: part/api.py:1098 msgid "BOM Valid" msgstr "" -#: part/api.py:1508 part/models.py:932 part/models.py:3374 part/models.py:3889 -#: part/serializers.py:401 part/serializers.py:1130 -#: part/templates/part/part_base.html:260 stock/api.py:791 +#: part/api.py:1494 part/models.py:936 part/models.py:3385 part/models.py:3936 +#: part/serializers.py:419 part/serializers.py:1158 +#: part/templates/part/part_base.html:260 stock/api.py:783 #: 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:2380 msgid "Category" msgstr "" -#: part/api.py:1796 +#: part/api.py:1784 msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:104 part/models.py:975 +#: part/bom.py:170 part/models.py:104 part/models.py:979 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:833 +#: part/bom.py:171 part/serializers.py:861 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6147,7 +6375,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:85 part/models.py:3890 part/templates/part/category.html:16 +#: part/models.py:85 part/models.py:3937 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -6162,7 +6390,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:110 stock/models.py:175 templates/js/translated/part.js:2810 +#: part/models.py:110 stock/models.py:175 templates/js/translated/part.js:2813 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 @@ -6194,1002 +6422,1035 @@ msgstr "" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:485 +#: part/models.py:486 +msgid "Cannot delete this part as it is locked" +msgstr "" + +#: part/models.py:489 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:490 +#: part/models.py:494 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:528 +#: part/models.py:532 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:576 part/models.py:583 +#: part/models.py:580 part/models.py:587 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:595 +#: part/models.py:599 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:658 +#: part/models.py:662 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:736 +#: part/models.py:740 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:837 +#: part/models.py:841 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:847 +#: part/models.py:851 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:862 +#: part/models.py:866 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:891 part/models.py:3945 +#: part/models.py:895 part/models.py:3992 msgid "Part name" msgstr "" -#: part/models.py:896 +#: part/models.py:900 msgid "Is Template" msgstr "" -#: part/models.py:897 +#: part/models.py:901 msgid "Is this part a template part?" msgstr "" -#: part/models.py:907 +#: part/models.py:911 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:915 +#: part/models.py:919 msgid "Part description (optional)" msgstr "" -#: part/models.py:923 +#: part/models.py:927 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:933 +#: part/models.py:937 msgid "Part category" msgstr "" -#: part/models.py:941 -msgid "Internal Part Number" -msgstr "" - -#: part/models.py:948 +#: part/models.py:952 msgid "Part revision or version number" msgstr "" -#: part/models.py:973 +#: part/models.py:977 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1019 part/templates/part/part_base.html:376 +#: part/models.py:1023 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:1020 +#: part/models.py:1024 msgid "Default supplier part" msgstr "" -#: part/models.py:1027 +#: part/models.py:1031 msgid "Default Expiry" msgstr "" -#: part/models.py:1028 +#: part/models.py:1032 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1037 +#: part/models.py:1041 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1046 +#: part/models.py:1050 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1053 +#: part/models.py:1057 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1059 +#: part/models.py:1063 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1065 +#: part/models.py:1069 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1071 +#: part/models.py:1075 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1077 +#: part/models.py:1081 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1081 +#: part/models.py:1085 msgid "Is this part active?" msgstr "" -#: part/models.py:1087 +#: part/models.py:1090 templates/js/translated/part.js:818 +#: templates/js/translated/table_filters.js:721 +msgid "Locked" +msgstr "" + +#: part/models.py:1091 +msgid "Locked parts cannot be edited" +msgstr "" + +#: part/models.py:1097 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1093 +#: part/models.py:1103 msgid "BOM checksum" msgstr "" -#: part/models.py:1094 +#: part/models.py:1104 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1102 +#: part/models.py:1112 msgid "BOM checked by" msgstr "" -#: part/models.py:1107 +#: part/models.py:1117 msgid "BOM checked date" msgstr "" -#: part/models.py:1123 +#: part/models.py:1133 msgid "Creation User" msgstr "" -#: part/models.py:1133 +#: part/models.py:1143 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1138 part/templates/part/part_base.html:339 +#: part/models.py:1148 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:2474 msgid "Last Stocktake" msgstr "" -#: part/models.py:2011 +#: part/models.py:2021 msgid "Sell multiple" msgstr "" -#: part/models.py:3002 +#: part/models.py:3012 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3018 +#: part/models.py:3028 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3019 +#: part/models.py:3029 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3025 +#: part/models.py:3035 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3026 +#: part/models.py:3036 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3032 +#: part/models.py:3042 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3033 +#: part/models.py:3043 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3039 +#: part/models.py:3049 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3040 +#: part/models.py:3050 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3046 +#: part/models.py:3056 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3047 +#: part/models.py:3057 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3053 +#: part/models.py:3063 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3054 +#: part/models.py:3064 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3060 +#: part/models.py:3070 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3061 +#: part/models.py:3071 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3067 +#: part/models.py:3077 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3068 +#: part/models.py:3078 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3074 +#: part/models.py:3084 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3075 +#: part/models.py:3085 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3081 +#: part/models.py:3091 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3082 +#: part/models.py:3092 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3089 +#: part/models.py:3099 msgid "Override minimum cost" msgstr "" -#: part/models.py:3096 +#: part/models.py:3106 msgid "Override maximum cost" msgstr "" -#: part/models.py:3103 +#: part/models.py:3113 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3110 +#: part/models.py:3120 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3116 +#: part/models.py:3126 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3117 +#: part/models.py:3127 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3123 +#: part/models.py:3133 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3124 +#: part/models.py:3134 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3130 +#: part/models.py:3140 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3131 +#: part/models.py:3141 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3137 +#: part/models.py:3147 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3138 +#: part/models.py:3148 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3157 +#: part/models.py:3167 msgid "Part for stocktake" msgstr "" -#: part/models.py:3162 +#: part/models.py:3172 msgid "Item Count" msgstr "" -#: part/models.py:3163 +#: part/models.py:3173 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3171 +#: part/models.py:3181 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3175 part/models.py:3258 +#: part/models.py:3185 part/models.py:3268 #: part/templates/part/part_scheduling.html:13 #: 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:1086 templates/js/translated/pricing.js:826 +#: templates/js/translated/part.js:1089 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 #: templates/js/translated/purchase_order.js:1731 #: templates/js/translated/stock.js:2821 msgid "Date" msgstr "" -#: part/models.py:3176 +#: part/models.py:3186 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3184 +#: part/models.py:3194 msgid "Additional notes" msgstr "" -#: part/models.py:3194 +#: part/models.py:3204 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3200 +#: part/models.py:3210 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3201 +#: part/models.py:3211 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3207 +#: part/models.py:3217 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3208 +#: part/models.py:3218 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3264 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3274 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3265 +#: part/models.py:3275 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3270 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3280 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3271 +#: part/models.py:3281 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3281 +#: part/models.py:3291 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3423 +#: part/models.py:3301 +msgid "Part Sale Price Break" +msgstr "" + +#: part/models.py:3413 +msgid "Part Test Template" +msgstr "" + +#: part/models.py:3439 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3444 part/models.py:3608 +#: part/models.py:3460 part/models.py:3629 msgid "Choices must be unique" msgstr "" -#: part/models.py:3455 +#: part/models.py:3471 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3466 +#: part/models.py:3482 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3483 templates/js/translated/part.js:2880 +#: part/models.py:3499 templates/js/translated/part.js:2883 msgid "Test Name" msgstr "" -#: part/models.py:3484 +#: part/models.py:3500 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3490 +#: part/models.py:3506 msgid "Test Key" msgstr "" -#: part/models.py:3491 +#: part/models.py:3507 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3498 +#: part/models.py:3514 msgid "Test Description" msgstr "" -#: part/models.py:3499 +#: part/models.py:3515 msgid "Enter description for this test" msgstr "" -#: part/models.py:3503 report/models.py:209 -#: templates/js/translated/part.js:2901 +#: part/models.py:3519 report/models.py:209 +#: templates/js/translated/part.js:2904 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "" -#: part/models.py:3503 +#: part/models.py:3519 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3508 templates/js/translated/part.js:2909 +#: part/models.py:3524 templates/js/translated/part.js:2912 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3509 +#: part/models.py:3525 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3514 templates/js/translated/part.js:2917 +#: part/models.py:3530 templates/js/translated/part.js:2920 msgid "Requires Value" msgstr "" -#: part/models.py:3515 +#: part/models.py:3531 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3520 templates/js/translated/part.js:2924 +#: part/models.py:3536 templates/js/translated/part.js:2927 msgid "Requires Attachment" msgstr "" -#: part/models.py:3522 +#: part/models.py:3538 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3528 part/models.py:3667 templates/js/translated/part.js:1637 +#: part/models.py:3544 part/models.py:3688 templates/js/translated/part.js:1640 msgid "Choices" msgstr "" -#: part/models.py:3529 +#: part/models.py:3545 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3583 +#: part/models.py:3577 +msgid "Part Parameter Template" +msgstr "" + +#: part/models.py:3604 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3588 +#: part/models.py:3609 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3625 +#: part/models.py:3646 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3640 +#: part/models.py:3661 msgid "Parameter Name" msgstr "" -#: part/models.py:3647 +#: part/models.py:3668 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3655 +#: part/models.py:3676 msgid "Parameter description" msgstr "" -#: part/models.py:3661 templates/js/translated/part.js:1628 -#: templates/js/translated/table_filters.js:825 +#: part/models.py:3682 templates/js/translated/part.js:1631 +#: templates/js/translated/table_filters.js:830 msgid "Checkbox" msgstr "" -#: part/models.py:3662 +#: part/models.py:3683 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3668 +#: part/models.py:3689 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3745 +#: part/models.py:3723 +msgid "Part Parameter" +msgstr "" + +#: part/models.py:3749 +msgid "Parameter cannot be modified - part is locked" +msgstr "" + +#: part/models.py:3785 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3788 +#: part/models.py:3828 msgid "Parent Part" msgstr "" -#: part/models.py:3796 part/models.py:3897 part/models.py:3898 +#: part/models.py:3836 part/models.py:3944 part/models.py:3945 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3801 -msgid "Data" +#: part/models.py:3842 +msgid "Parameter Value" msgstr "" -#: part/models.py:3802 -msgid "Parameter Value" +#: part/models.py:3892 +msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:3904 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3951 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3905 +#: part/models.py:3952 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3943 +#: part/models.py:3990 msgid "Part ID or part name" msgstr "" -#: part/models.py:3944 +#: part/models.py:3991 msgid "Unique part ID value" msgstr "" -#: part/models.py:3946 +#: part/models.py:3993 msgid "Part IPN value" msgstr "" -#: part/models.py:3947 +#: part/models.py:3994 msgid "Level" msgstr "" -#: part/models.py:3947 +#: part/models.py:3994 msgid "BOM level" msgstr "" -#: part/models.py:4037 +#: part/models.py:4105 +msgid "BOM item cannot be modified - assembly is locked" +msgstr "" + +#: part/models.py:4112 +msgid "BOM item cannot be modified - variant assembly is locked" +msgstr "" + +#: part/models.py:4122 msgid "Select parent part" msgstr "" -#: part/models.py:4047 +#: part/models.py:4132 msgid "Sub part" msgstr "" -#: part/models.py:4048 +#: part/models.py:4133 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4059 +#: part/models.py:4144 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4065 +#: part/models.py:4150 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4071 +#: part/models.py:4156 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4078 part/templates/part/upload_bom.html:55 +#: part/models.py:4163 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4079 +#: part/models.py:4164 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4086 +#: part/models.py:4171 msgid "BOM item reference" msgstr "" -#: part/models.py:4094 +#: part/models.py:4179 msgid "BOM item notes" msgstr "" -#: part/models.py:4100 +#: part/models.py:4185 msgid "Checksum" msgstr "" -#: part/models.py:4101 +#: part/models.py:4186 msgid "BOM line checksum" msgstr "" -#: part/models.py:4106 templates/js/translated/table_filters.js:174 +#: part/models.py:4191 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4107 +#: part/models.py:4192 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4112 part/templates/part/upload_bom.html:57 +#: part/models.py:4197 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:4113 +#: part/models.py:4198 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4118 part/templates/part/upload_bom.html:56 +#: part/models.py:4203 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4119 +#: part/models.py:4204 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4204 stock/models.py:663 +#: part/models.py:4289 stock/models.py:663 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4214 part/models.py:4216 +#: part/models.py:4299 part/models.py:4301 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4354 +#: part/models.py:4439 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4375 +#: part/models.py:4460 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4388 +#: part/models.py:4473 msgid "Parent BOM item" msgstr "" -#: part/models.py:4396 +#: part/models.py:4481 msgid "Substitute part" msgstr "" -#: part/models.py:4412 +#: part/models.py:4497 msgid "Part 1" msgstr "" -#: part/models.py:4420 +#: part/models.py:4505 msgid "Part 2" msgstr "" -#: part/models.py:4421 +#: part/models.py:4506 msgid "Select Related Part" msgstr "" -#: part/models.py:4440 +#: part/models.py:4525 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4445 +#: part/models.py:4530 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:118 +#: part/serializers.py:124 msgid "Parent Category" msgstr "" -#: part/serializers.py:119 templates/js/translated/part.js:309 +#: part/serializers.py:125 templates/js/translated/part.js:308 msgid "Parent part category" msgstr "" -#: part/serializers.py:126 part/serializers.py:148 +#: part/serializers.py:132 part/serializers.py:154 #: part/templates/part/category.html:122 part/templates/part/category.html:207 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" -#: part/serializers.py:180 +#: part/serializers.py:189 msgid "Results" msgstr "" -#: part/serializers.py:181 +#: part/serializers.py:190 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:205 part/serializers.py:223 stock/serializers.py:562 +#: part/serializers.py:217 part/serializers.py:235 stock/serializers.py:608 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:268 +#: part/serializers.py:283 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:392 +#: part/serializers.py:410 msgid "No parts selected" msgstr "" -#: part/serializers.py:402 +#: part/serializers.py:420 msgid "Select category" msgstr "" -#: part/serializers.py:437 +#: part/serializers.py:455 msgid "Original Part" msgstr "" -#: part/serializers.py:438 +#: part/serializers.py:456 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:461 msgid "Copy Image" msgstr "" -#: part/serializers.py:444 +#: part/serializers.py:462 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:450 part/templates/part/detail.html:277 +#: part/serializers.py:468 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:451 +#: part/serializers.py:469 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:457 +#: part/serializers.py:475 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:458 +#: part/serializers.py:476 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:464 +#: part/serializers.py:482 msgid "Copy Notes" msgstr "" -#: part/serializers.py:465 +#: part/serializers.py:483 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:483 +#: part/serializers.py:501 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:485 +#: part/serializers.py:503 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:492 +#: part/serializers.py:510 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:493 +#: part/serializers.py:511 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:510 +#: part/serializers.py:528 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:526 +#: part/serializers.py:544 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:536 +#: part/serializers.py:554 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:543 +#: part/serializers.py:561 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:552 +#: part/serializers.py:570 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:563 +#: part/serializers.py:581 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:570 +#: part/serializers.py:588 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:834 -msgid "External Stock" -msgstr "" - -#: part/serializers.py:836 +#: part/serializers.py:864 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:839 +#: part/serializers.py:867 msgid "Variant Stock" msgstr "" -#: part/serializers.py:869 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:472 +#: part/serializers.py:897 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:870 +#: part/serializers.py:898 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:876 templates/js/translated/part.js:102 +#: part/serializers.py:904 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:877 +#: part/serializers.py:905 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:883 +#: part/serializers.py:911 msgid "Supplier Information" msgstr "" -#: part/serializers.py:884 +#: part/serializers.py:912 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:892 +#: part/serializers.py:920 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:893 +#: part/serializers.py:921 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:898 +#: part/serializers.py:926 msgid "Existing Image" msgstr "" -#: part/serializers.py:899 +#: part/serializers.py:927 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:916 +#: part/serializers.py:944 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1122 +#: part/serializers.py:1150 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1132 +#: part/serializers.py:1160 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1142 +#: part/serializers.py:1170 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1148 +#: part/serializers.py:1176 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1149 +#: part/serializers.py:1177 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1154 +#: part/serializers.py:1182 msgid "Generate Report" msgstr "" -#: part/serializers.py:1155 +#: part/serializers.py:1183 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1160 +#: part/serializers.py:1188 msgid "Update Parts" msgstr "" -#: part/serializers.py:1161 +#: part/serializers.py:1189 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1169 +#: part/serializers.py:1197 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1275 +#: part/serializers.py:1303 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1282 +#: part/serializers.py:1310 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1290 +#: part/serializers.py:1318 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1297 +#: part/serializers.py:1325 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1326 +#: part/serializers.py:1354 msgid "Update" msgstr "" -#: part/serializers.py:1327 +#: part/serializers.py:1355 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1350 +#: part/serializers.py:1378 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1357 +#: part/serializers.py:1385 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1360 +#: part/serializers.py:1388 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1727 +#: part/serializers.py:1759 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1735 +#: part/serializers.py:1767 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1736 +#: part/serializers.py:1768 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1741 +#: part/serializers.py:1773 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1742 +#: part/serializers.py:1774 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1747 +#: part/serializers.py:1779 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1748 +#: part/serializers.py:1780 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1753 +#: part/serializers.py:1785 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1754 +#: part/serializers.py:1786 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1788 +#: part/serializers.py:1823 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1789 +#: part/serializers.py:1824 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1819 +#: part/serializers.py:1856 msgid "No part column specified" msgstr "" -#: part/serializers.py:1863 +#: part/serializers.py:1900 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1866 +#: part/serializers.py:1903 msgid "No matching part found" msgstr "" -#: part/serializers.py:1869 +#: part/serializers.py:1906 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1878 +#: part/serializers.py:1915 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1886 +#: part/serializers.py:1923 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1907 +#: part/serializers.py:1946 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:225 templates/js/translated/part.js:1067 -#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 +#: part/stocktake.py:225 templates/js/translated/part.js:1070 +#: templates/js/translated/part.js:1825 templates/js/translated/part.js:1881 #: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "" @@ -7507,7 +7768,7 @@ msgstr "" #: part/templates/part/part_base.html:52 #: stock/templates/stock/item_base.html:62 -#: stock/templates/stock/location.html:74 templates/js/translated/label.js:143 +#: stock/templates/stock/location.html:74 templates/js/translated/label.js:136 msgid "Print Label" msgstr "" @@ -7529,7 +7790,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:2296 msgid "Part actions" msgstr "" @@ -7569,6 +7830,10 @@ msgstr "" msgid "Part can be sold to customers" msgstr "" +#: part/templates/part/part_base.html:145 +msgid "Part is not active" +msgstr "" + #: part/templates/part/part_base.html:153 msgid "Part is virtual (not a physical part)" msgstr "" @@ -7597,7 +7862,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:322 templates/js/translated/bom.js:1071 -#: templates/js/translated/part.js:1265 templates/js/translated/part.js:2444 +#: templates/js/translated/part.js:1268 templates/js/translated/part.js:2447 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" @@ -7690,8 +7955,8 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/part.js:1243 templates/js/translated/part.js:2146 -#: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 +#: templates/js/translated/part.js:1246 templates/js/translated/part.js:2149 +#: templates/js/translated/part.js:2395 templates/js/translated/stock.js:1059 #: templates/js/translated/stock.js:2070 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -7811,8 +8076,8 @@ msgstr "" #: part/templates/part/stock_count.html:7 #: templates/js/translated/model_renderers.js:227 -#: templates/js/translated/part.js:705 templates/js/translated/part.js:2141 -#: templates/js/translated/part.js:2143 +#: templates/js/translated/part.js:704 templates/js/translated/part.js:2144 +#: templates/js/translated/part.js:2146 msgid "No Stock" msgstr "" @@ -7956,7 +8221,7 @@ msgstr "" msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2589 +#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2590 #: templates/js/translated/sales_order.js:1953 msgid "Insufficient stock available" msgstr "" @@ -8051,7 +8316,7 @@ msgstr "" msgid "Quantity to allocate" msgstr "" -#: plugin/base/label/label.py:39 templates/js/translated/label.js:155 +#: plugin/base/label/label.py:39 templates/js/translated/label.js:148 msgid "Label printing failed" msgstr "" @@ -8748,7 +9013,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report.html:25 #: report/templates/report/inventree_test_report.html:88 stock/models.py:825 -#: stock/serializers.py:149 stock/templates/stock/item_base.html:311 +#: stock/serializers.py:151 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:230 @@ -8778,7 +9043,7 @@ msgstr "" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2447 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2457 msgid "Result" msgstr "" @@ -8799,7 +9064,7 @@ msgid "No result" msgstr "" #: report/templates/report/inventree_test_report.html:153 -#: stock/templates/stock/stock_sidebar.html:16 +#: stock/serializers.py:591 stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" @@ -8829,10 +9094,6 @@ msgstr "" msgid "Location ID" msgstr "" -#: stock/admin.py:53 stock/admin.py:175 -msgid "Location Name" -msgstr "" - #: stock/admin.py:63 stock/templates/stock/location.html:131 #: stock/templates/stock/location.html:137 msgid "Location Path" @@ -8909,7 +9170,7 @@ msgstr "" msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:369 stock/serializers.py:1085 +#: stock/api.py:369 stock/serializers.py:1148 msgid "Parent Location" msgstr "" @@ -8917,44 +9178,45 @@ msgstr "" msgid "Filter by parent location" msgstr "" -#: stock/api.py:625 templates/js/translated/table_filters.js:427 +#: stock/api.py:617 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:813 +#: stock/api.py:805 msgid "Part Tree" msgstr "" -#: stock/api.py:843 +#: stock/api.py:835 msgid "Expiry date before" msgstr "" -#: stock/api.py:847 +#: stock/api.py:839 msgid "Expiry date after" msgstr "" -#: stock/api.py:850 stock/templates/stock/item_base.html:439 +#: stock/api.py:842 stock/serializers.py:596 +#: stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "" -#: stock/api.py:937 +#: stock/api.py:929 msgid "Quantity is required" msgstr "" -#: stock/api.py:943 +#: stock/api.py:935 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:974 +#: stock/api.py:966 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:984 +#: stock/api.py:976 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1015 +#: stock/api.py:1007 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -9021,7 +9283,7 @@ msgstr "" msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:669 stock/serializers.py:446 +#: stock/models.py:669 stock/serializers.py:477 msgid "Stock item cannot be created for virtual parts" msgstr "" @@ -9066,7 +9328,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:799 stock/serializers.py:1476 +#: stock/models.py:799 stock/serializers.py:1542 msgid "Packaging this stock item is stored in" msgstr "" @@ -9078,7 +9340,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:843 stock/serializers.py:1459 +#: stock/models.py:843 stock/serializers.py:1525 msgid "Batch code for this stock item" msgstr "" @@ -9155,7 +9417,7 @@ msgstr "" msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1520 stock/serializers.py:660 +#: stock/models.py:1520 stock/serializers.py:718 msgid "Serial numbers already exist" msgstr "" @@ -9187,7 +9449,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1658 stock/serializers.py:1365 +#: stock/models.py:1658 stock/serializers.py:1431 msgid "Duplicate stock items" msgstr "" @@ -9207,288 +9469,330 @@ msgstr "" msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2345 +#: stock/models.py:2317 +msgid "Stock Item Tracking" +msgstr "" + +#: stock/models.py:2350 msgid "Entry notes" msgstr "" -#: stock/models.py:2413 +#: stock/models.py:2390 +msgid "Stock Item Test Result" +msgstr "" + +#: stock/models.py:2423 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2418 +#: stock/models.py:2428 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2423 +#: stock/models.py:2433 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2447 +#: stock/models.py:2457 msgid "Test result" msgstr "" -#: stock/models.py:2454 +#: stock/models.py:2464 msgid "Test output value" msgstr "" -#: stock/models.py:2462 +#: stock/models.py:2472 msgid "Test result attachment" msgstr "" -#: stock/models.py:2466 +#: stock/models.py:2476 msgid "Test notes" msgstr "" -#: stock/models.py:2474 templates/js/translated/stock.js:1548 +#: stock/models.py:2484 templates/js/translated/stock.js:1548 msgid "Test station" msgstr "" -#: stock/models.py:2475 +#: stock/models.py:2485 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2481 +#: stock/models.py:2491 msgid "Started" msgstr "" -#: stock/models.py:2482 +#: stock/models.py:2492 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2488 +#: stock/models.py:2498 msgid "Finished" msgstr "" -#: stock/models.py:2489 +#: stock/models.py:2499 msgid "The timestamp of the test finish" msgstr "" -#: stock/serializers.py:74 +#: stock/serializers.py:76 msgid "Generated batch code" msgstr "" -#: stock/serializers.py:83 +#: stock/serializers.py:85 msgid "Select build order" msgstr "" -#: stock/serializers.py:92 +#: stock/serializers.py:94 msgid "Select stock item to generate batch code for" msgstr "" -#: stock/serializers.py:101 +#: stock/serializers.py:103 msgid "Select location to generate batch code for" msgstr "" -#: stock/serializers.py:110 +#: stock/serializers.py:112 msgid "Select part to generate batch code for" msgstr "" -#: stock/serializers.py:119 +#: stock/serializers.py:121 msgid "Select purchase order" msgstr "" -#: stock/serializers.py:126 +#: stock/serializers.py:128 msgid "Enter quantity for batch code" msgstr "" -#: stock/serializers.py:149 +#: stock/serializers.py:151 msgid "Generated serial number" msgstr "" -#: stock/serializers.py:158 +#: stock/serializers.py:160 msgid "Select part to generate serial number for" msgstr "" -#: stock/serializers.py:166 +#: stock/serializers.py:168 msgid "Quantity of serial numbers to generate" msgstr "" -#: stock/serializers.py:228 +#: stock/serializers.py:233 msgid "Test template for this result" msgstr "" -#: stock/serializers.py:247 +#: stock/serializers.py:252 msgid "Template ID or test name must be provided" msgstr "" -#: stock/serializers.py:279 +#: stock/serializers.py:284 msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:315 +#: stock/serializers.py:320 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:438 +#: stock/serializers.py:449 stock/templates/stock/item_base.html:193 +msgid "Parent Item" +msgstr "" + +#: stock/serializers.py:450 +msgid "Parent stock item" +msgstr "" + +#: stock/serializers.py:469 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:558 +#: stock/serializers.py:585 templates/js/translated/build.js:991 +#: templates/js/translated/build.js:2344 +msgid "Allocated Quantity" +msgstr "" + +#: stock/serializers.py:588 stock/templates/stock/item_base.html:437 +#: templates/js/translated/table_filters.js:435 users/models.py:174 +msgid "Expired" +msgstr "" + +#: stock/serializers.py:594 stock/templates/stock/stock_sidebar.html:20 +msgid "Child Items" +msgstr "" + +#: stock/serializers.py:598 +msgid "Tracking Items" +msgstr "" + +#: stock/serializers.py:604 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:595 +#: stock/serializers.py:623 +msgid "Minimum Pricing" +msgstr "" + +#: stock/serializers.py:629 +msgid "Maximum Pricing" +msgstr "" + +#: stock/serializers.py:653 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:608 +#: stock/serializers.py:666 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:615 +#: stock/serializers.py:673 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:626 stock/serializers.py:1322 stock/serializers.py:1578 +#: stock/serializers.py:684 stock/serializers.py:1388 stock/serializers.py:1644 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:633 +#: stock/serializers.py:691 msgid "Optional note field" msgstr "" -#: stock/serializers.py:643 +#: stock/serializers.py:701 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:698 +#: stock/serializers.py:756 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:705 +#: stock/serializers.py:763 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:706 +#: stock/serializers.py:764 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:711 stock/serializers.py:791 stock/serializers.py:887 -#: stock/serializers.py:937 +#: stock/serializers.py:769 stock/serializers.py:849 stock/serializers.py:945 +#: stock/serializers.py:995 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:719 +#: stock/serializers.py:777 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:727 +#: stock/serializers.py:785 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:738 +#: stock/serializers.py:796 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:751 +#: stock/serializers.py:809 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:786 +#: stock/serializers.py:844 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:821 +#: stock/serializers.py:879 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:834 +#: stock/serializers.py:892 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:851 +#: stock/serializers.py:909 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:882 +#: stock/serializers.py:940 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:919 +#: stock/serializers.py:977 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:925 +#: stock/serializers.py:983 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1021 stock/serializers.py:1093 +#: stock/serializers.py:1079 stock/serializers.py:1156 #: stock/templates/stock/location.html:165 #: stock/templates/stock/location.html:222 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1086 templates/js/translated/stock.js:152 +#: stock/serializers.py:1149 templates/js/translated/stock.js:152 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1194 +#: stock/serializers.py:1260 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1198 +#: stock/serializers.py:1264 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1202 +#: stock/serializers.py:1268 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1226 +#: stock/serializers.py:1292 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1232 +#: stock/serializers.py:1298 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1240 +#: stock/serializers.py:1306 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1250 stock/serializers.py:1504 +#: stock/serializers.py:1316 stock/serializers.py:1570 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1329 +#: stock/serializers.py:1395 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1334 +#: stock/serializers.py:1400 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1335 +#: stock/serializers.py:1401 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1340 +#: stock/serializers.py:1406 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1341 +#: stock/serializers.py:1407 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1351 +#: stock/serializers.py:1417 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1418 +#: stock/serializers.py:1484 msgid "No Change" msgstr "" -#: stock/serializers.py:1447 +#: stock/serializers.py:1513 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1466 +#: stock/serializers.py:1532 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1494 +#: stock/serializers.py:1560 msgid "Stock transaction notes" msgstr "" @@ -9757,10 +10061,6 @@ msgstr "" msgid "Build" msgstr "" -#: stock/templates/stock/item_base.html:193 -msgid "Parent Item" -msgstr "" - #: stock/templates/stock/item_base.html:211 msgid "No manufacturer set" msgstr "" @@ -9836,11 +10136,6 @@ msgstr "" msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:437 -#: templates/js/translated/table_filters.js:435 users/models.py:174 -msgid "Expired" -msgstr "" - #: stock/templates/stock/item_base.html:439 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" @@ -9988,10 +10283,6 @@ msgstr "" msgid "Allocations" msgstr "" -#: stock/templates/stock/stock_sidebar.html:20 -msgid "Child Items" -msgstr "" - #: templates/403.html:6 templates/403.html:12 templates/403_csrf.html:7 msgid "Permission Denied" msgstr "" @@ -10466,8 +10757,8 @@ 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:393 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:245 users/models.py:402 +#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 +#: templates/js/translated/stock.js:245 users/models.py:406 msgid "Delete" msgstr "" @@ -10507,12 +10798,12 @@ msgid "No category parameter templates found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:308 -#: templates/js/translated/part.js:1646 +#: templates/js/translated/part.js:1649 msgid "Edit Template" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:309 -#: templates/js/translated/part.js:1647 +#: templates/js/translated/part.js:1650 msgid "Delete Template" msgstr "" @@ -11145,7 +11436,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2556 +#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2557 msgid "Required Quantity" msgstr "" @@ -11159,7 +11450,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3219 +#: templates/js/translated/part.js:3222 msgid "Minimum Quantity" msgstr "" @@ -11514,7 +11805,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2500 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2501 msgid "Variant stock allowed" msgstr "" @@ -11534,30 +11825,30 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2621 +#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2622 msgid "External stock" msgstr "" -#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2595 +#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2596 #: templates/js/translated/sales_order.js:1946 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2599 +#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2600 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2601 -#: templates/js/translated/part.js:1257 +#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2602 +#: templates/js/translated/part.js:1260 #: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2603 +#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2604 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2586 +#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2587 msgid "Consumable item" msgstr "" @@ -11589,7 +11880,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2485 +#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2486 msgid "Required Part" msgstr "" @@ -11758,10 +12049,6 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:991 templates/js/translated/build.js:2344 -msgid "Allocated Quantity" -msgstr "" - #: templates/js/translated/build.js:1005 msgid "Location not specified" msgstr "" @@ -11873,9 +12160,9 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2117 templates/js/translated/build.js:2479 +#: templates/js/translated/build.js:2117 templates/js/translated/build.js:2480 #: templates/js/translated/forms.js:2163 templates/js/translated/forms.js:2179 -#: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 +#: templates/js/translated/part.js:2319 templates/js/translated/part.js:2745 #: templates/js/translated/stock.js:1983 templates/js/translated/stock.js:2710 msgid "Select" msgstr "" @@ -11906,59 +12193,59 @@ msgstr "" msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2455 +#: templates/js/translated/build.js:2456 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2456 +#: templates/js/translated/build.js:2457 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2474 +#: templates/js/translated/build.js:2475 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2504 templates/js/translated/part.js:791 -#: templates/js/translated/part.js:1203 +#: templates/js/translated/build.js:2505 templates/js/translated/part.js:790 +#: templates/js/translated/part.js:1206 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2539 +#: templates/js/translated/build.js:2540 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2591 +#: templates/js/translated/build.js:2592 #: templates/js/translated/sales_order.js:1951 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2646 +#: templates/js/translated/build.js:2647 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2653 +#: templates/js/translated/build.js:2654 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2654 +#: templates/js/translated/build.js:2655 msgid "Allocate tracked items against individual build outputs" msgstr "" -#: templates/js/translated/build.js:2662 +#: templates/js/translated/build.js:2663 #: templates/js/translated/sales_order.js:2052 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2667 templates/js/translated/stock.js:1868 +#: templates/js/translated/build.js:2668 templates/js/translated/stock.js:1868 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2671 +#: templates/js/translated/build.js:2672 #: templates/js/translated/sales_order.js:2046 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2675 +#: templates/js/translated/build.js:2676 msgid "Remove stock allocation" msgstr "" @@ -12105,7 +12392,7 @@ msgid "Delete Parameters" msgstr "" #: templates/js/translated/company.js:1191 -#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2245 +#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2248 msgid "Order parts" msgstr "" @@ -12122,34 +12409,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:1279 -#: templates/js/translated/company.js:1567 templates/js/translated/part.js:799 -#: templates/js/translated/part.js:1211 +#: templates/js/translated/company.js:1567 templates/js/translated/part.js:798 +#: templates/js/translated/part.js:1214 msgid "Template part" msgstr "" #: templates/js/translated/company.js:1283 -#: templates/js/translated/company.js:1571 templates/js/translated/part.js:803 -#: templates/js/translated/part.js:1215 +#: templates/js/translated/company.js:1571 templates/js/translated/part.js:802 +#: templates/js/translated/part.js:1218 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1465 +#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1468 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1528 +#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1531 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1529 +#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1532 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1434 +#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1437 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1550 +#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1553 msgid "Delete Parameter" msgstr "" @@ -12323,15 +12610,15 @@ msgstr "" msgid "No parts required for builds" msgstr "" -#: templates/js/translated/label.js:55 templates/js/translated/report.js:38 +#: templates/js/translated/label.js:48 templates/js/translated/report.js:38 msgid "Select Items" msgstr "" -#: templates/js/translated/label.js:56 templates/js/translated/report.js:39 +#: templates/js/translated/label.js:49 templates/js/translated/report.js:39 msgid "No items selected for printing" msgstr "" -#: templates/js/translated/label.js:150 +#: templates/js/translated/label.js:143 msgid "Labels sent to printer" msgstr "" @@ -12400,7 +12687,7 @@ msgstr "" #: templates/js/translated/news.js:38 #: templates/js/translated/notification.js:46 -#: templates/js/translated/part.js:1605 +#: templates/js/translated/part.js:1608 msgid "ID" msgstr "" @@ -12481,343 +12768,343 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:333 templates/js/translated/stock.js:175 +#: templates/js/translated/part.js:332 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:353 +#: templates/js/translated/part.js:352 msgid "Create Part Category" msgstr "" -#: templates/js/translated/part.js:356 +#: templates/js/translated/part.js:355 msgid "Create new category after this one" msgstr "" -#: templates/js/translated/part.js:357 +#: templates/js/translated/part.js:356 msgid "Part category created" msgstr "" -#: templates/js/translated/part.js:371 +#: templates/js/translated/part.js:370 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:384 +#: templates/js/translated/part.js:383 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:389 +#: templates/js/translated/part.js:388 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:398 +#: templates/js/translated/part.js:397 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:402 +#: templates/js/translated/part.js:401 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:407 +#: templates/js/translated/part.js:406 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:431 +#: templates/js/translated/part.js:430 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:433 +#: templates/js/translated/part.js:432 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:434 +#: templates/js/translated/part.js:433 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:462 +#: templates/js/translated/part.js:461 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:464 +#: templates/js/translated/part.js:463 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:475 +#: templates/js/translated/part.js:474 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:532 +#: templates/js/translated/part.js:531 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:533 +#: templates/js/translated/part.js:532 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:547 +#: templates/js/translated/part.js:546 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:549 +#: templates/js/translated/part.js:548 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:550 +#: templates/js/translated/part.js:549 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:551 +#: templates/js/translated/part.js:550 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:558 +#: templates/js/translated/part.js:557 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:594 +#: templates/js/translated/part.js:593 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:596 +#: templates/js/translated/part.js:595 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:601 +#: templates/js/translated/part.js:600 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:603 +#: templates/js/translated/part.js:602 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:620 +#: templates/js/translated/part.js:619 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:630 +#: templates/js/translated/part.js:629 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:633 +#: templates/js/translated/part.js:632 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:658 +#: templates/js/translated/part.js:657 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:686 -#: templates/js/translated/table_filters.js:747 +#: templates/js/translated/part.js:685 +#: templates/js/translated/table_filters.js:752 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:689 +#: templates/js/translated/part.js:688 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:749 +#: templates/js/translated/part.js:748 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:772 +#: templates/js/translated/part.js:771 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:795 templates/js/translated/part.js:1207 +#: templates/js/translated/part.js:794 templates/js/translated/part.js:1210 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:807 +#: templates/js/translated/part.js:806 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:811 +#: templates/js/translated/part.js:810 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:890 +#: templates/js/translated/part.js:893 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:890 +#: templates/js/translated/part.js:893 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:898 +#: templates/js/translated/part.js:901 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:902 +#: templates/js/translated/part.js:905 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:1051 +#: templates/js/translated/part.js:1054 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1109 templates/js/translated/part.js:1145 +#: templates/js/translated/part.js:1112 templates/js/translated/part.js:1148 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1113 templates/js/translated/part.js:1155 +#: templates/js/translated/part.js:1116 templates/js/translated/part.js:1158 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1282 +#: templates/js/translated/part.js:1285 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1600 +#: templates/js/translated/part.js:1603 msgid "No part parameter templates found" msgstr "" -#: templates/js/translated/part.js:1663 +#: templates/js/translated/part.js:1666 msgid "Edit Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1675 +#: templates/js/translated/part.js:1678 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/js/translated/part.js:1683 +#: templates/js/translated/part.js:1686 msgid "Delete Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1717 +#: templates/js/translated/part.js:1720 #: templates/js/translated/purchase_order.js:1654 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/part.js:1861 +#: templates/js/translated/part.js:1864 #: 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:1907 +#: templates/js/translated/part.js:1910 #: templates/js/translated/purchase_order.js:2220 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1970 +#: templates/js/translated/part.js:1973 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1992 +#: templates/js/translated/part.js:1995 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2080 templates/js/translated/part.js:2506 +#: templates/js/translated/part.js:2083 templates/js/translated/part.js:2509 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:2201 +#: templates/js/translated/part.js:2204 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2206 +#: templates/js/translated/part.js:2209 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2236 +#: templates/js/translated/part.js:2239 msgid "Set category" msgstr "" -#: templates/js/translated/part.js:2287 +#: templates/js/translated/part.js:2290 msgid "part" msgstr "" -#: templates/js/translated/part.js:2288 +#: templates/js/translated/part.js:2291 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2384 +#: templates/js/translated/part.js:2387 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 +#: templates/js/translated/part.js:2534 templates/js/translated/part.js:2664 #: templates/js/translated/stock.js:2669 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2547 +#: templates/js/translated/part.js:2550 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2645 +#: templates/js/translated/part.js:2648 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2689 +#: templates/js/translated/part.js:2684 templates/js/translated/stock.js:2689 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2761 +#: templates/js/translated/part.js:2764 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2777 +#: templates/js/translated/part.js:2780 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2865 +#: templates/js/translated/part.js:2868 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2887 templates/js/translated/search.js:342 +#: templates/js/translated/part.js:2890 templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/part.js:2937 templates/js/translated/stock.js:1456 +#: templates/js/translated/part.js:2940 templates/js/translated/stock.js:1456 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2938 templates/js/translated/stock.js:1457 +#: templates/js/translated/part.js:2941 templates/js/translated/stock.js:1457 #: templates/js/translated/stock.js:1731 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2942 +#: templates/js/translated/part.js:2945 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2958 +#: templates/js/translated/part.js:2961 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2972 +#: templates/js/translated/part.js:2975 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3051 templates/js/translated/part.js:3052 +#: templates/js/translated/part.js:3054 templates/js/translated/part.js:3055 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3054 +#: templates/js/translated/part.js:3057 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3060 +#: templates/js/translated/part.js:3063 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3110 +#: templates/js/translated/part.js:3113 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3116 +#: templates/js/translated/part.js:3119 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3212 +#: templates/js/translated/part.js:3215 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3228 +#: templates/js/translated/part.js:3231 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3273 +#: templates/js/translated/part.js:3276 msgid "Minimum Stock Level" msgstr "" @@ -13593,7 +13880,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1042 users/models.py:392 +#: templates/js/translated/stock.js:1042 users/models.py:396 msgid "Add" msgstr "" @@ -13947,7 +14234,7 @@ msgid "Include subcategories" msgstr "" #: templates/js/translated/table_filters.js:287 -#: templates/js/translated/table_filters.js:759 +#: templates/js/translated/table_filters.js:764 msgid "Subscribed" msgstr "" @@ -14102,40 +14389,44 @@ msgstr "" msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:725 +#: templates/js/translated/table_filters.js:722 +msgid "Show locked parts" +msgstr "" + +#: templates/js/translated/table_filters.js:730 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:733 -#: templates/js/translated/table_filters.js:833 +#: templates/js/translated/table_filters.js:738 +#: templates/js/translated/table_filters.js:838 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:734 +#: templates/js/translated/table_filters.js:739 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:738 +#: templates/js/translated/table_filters.js:743 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:739 +#: templates/js/translated/table_filters.js:744 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:743 +#: templates/js/translated/table_filters.js:748 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:751 +#: templates/js/translated/table_filters.js:756 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:763 +#: templates/js/translated/table_filters.js:768 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:829 +#: templates/js/translated/table_filters.js:834 msgid "Has Choices" msgstr "" @@ -14207,10 +14498,6 @@ msgstr "" msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:558 -msgid "Columns" -msgstr "" - #: templates/js/translated/tables.js:561 msgid "All" msgstr "" @@ -14484,35 +14771,34 @@ msgstr "" msgid "Revoked" msgstr "" -#: users/models.py:375 +#: users/models.py:379 msgid "Permission set" msgstr "" -#: users/models.py:384 +#: users/models.py:388 msgid "Group" msgstr "" -#: users/models.py:388 +#: users/models.py:392 msgid "View" msgstr "" -#: users/models.py:388 +#: users/models.py:392 msgid "Permission to view items" msgstr "" -#: users/models.py:392 +#: users/models.py:396 msgid "Permission to add items" msgstr "" -#: users/models.py:396 +#: users/models.py:400 msgid "Change" msgstr "" -#: users/models.py:398 +#: users/models.py:402 msgid "Permissions to edit items" msgstr "" -#: users/models.py:404 +#: users/models.py:408 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 5e918e804733..dc43e0200fba 100644 --- a/src/backend/InvenTree/locale/vi/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/vi/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-07-05 02:47+0000\n" +"POT-Creation-Date: 2024-07-08 14:46+0000\n" "PO-Revision-Date: 2024-07-05 14:58\n" "Last-Translator: \n" "Language-Team: Vietnamese\n" @@ -21,7 +21,7 @@ msgstr "" msgid "API endpoint not found" msgstr "API endpoint không tồn tại" -#: InvenTree/api.py:520 +#: InvenTree/api.py:505 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,21 +56,21 @@ 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:205 InvenTree/models.py:918 build/serializers.py:452 -#: build/serializers.py:530 build/templates/build/sidebar.html:21 -#: company/models.py:817 company/templates/company/sidebar.html:37 +#: InvenTree/fields.py:205 InvenTree/models.py:921 build/serializers.py:456 +#: build/serializers.py:534 build/templates/build/sidebar.html:21 +#: company/models.py:824 company/templates/company/sidebar.html:37 #: order/models.py:1296 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:3183 part/templates/part/part_sidebar.html:63 +#: part/models.py:3193 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:230 stock/models.py:2344 stock/models.py:2466 -#: stock/serializers.py:632 stock/serializers.py:790 stock/serializers.py:886 -#: stock/serializers.py:936 stock/serializers.py:1239 stock/serializers.py:1328 -#: stock/serializers.py:1493 stock/templates/stock/stock_sidebar.html:25 +#: stock/admin.py:230 stock/models.py:2349 stock/models.py:2476 +#: stock/serializers.py:690 stock/serializers.py:848 stock/serializers.py:944 +#: stock/serializers.py:994 stock/serializers.py:1305 stock/serializers.py:1394 +#: stock/serializers.py:1559 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:1081 +#: templates/js/translated/part.js:1084 #: templates/js/translated/purchase_order.js:2200 #: templates/js/translated/return_order.js:775 #: templates/js/translated/sales_order.js:1103 @@ -371,41 +371,41 @@ msgstr "Phụ trợ siêu dữ liệu" 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:408 +#: InvenTree/models.py:411 msgid "Improperly formatted pattern" msgstr "Mẫu được định dạng không thích hợp" -#: InvenTree/models.py:415 +#: InvenTree/models.py:418 msgid "Unknown format key specified" msgstr "Khóa định dạng không rõ ràng đã được chỉ định" -#: InvenTree/models.py:421 +#: InvenTree/models.py:424 msgid "Missing required format key" msgstr "Thiếu khóa định dạng cần thiết" -#: InvenTree/models.py:432 +#: InvenTree/models.py:435 msgid "Reference field cannot be empty" msgstr "Trường tham chiếu không thể rỗng" -#: InvenTree/models.py:440 +#: InvenTree/models.py:443 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:471 +#: InvenTree/models.py:474 msgid "Reference number is too large" msgstr "Số tham chiếu quá lớn" -#: InvenTree/models.py:719 +#: InvenTree/models.py:722 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:736 +#: InvenTree/models.py:739 msgid "Invalid choice" msgstr "Lựa chọn sai" -#: InvenTree/models.py:766 common/models.py:2678 common/models.py:3103 -#: common/serializers.py:408 company/models.py:580 machine/models.py:24 -#: part/models.py:891 part/models.py:3639 plugin/models.py:51 +#: InvenTree/models.py:769 common/models.py:2659 common/models.py:3089 +#: common/serializers.py:412 company/models.py:587 machine/models.py:24 +#: part/models.py:895 part/models.py:3660 plugin/models.py:51 #: report/models.py:150 stock/models.py:74 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -417,20 +417,20 @@ msgstr "Lựa chọn sai" #: templates/js/translated/company.js:724 #: templates/js/translated/company.js:913 #: templates/js/translated/company.js:1165 -#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1187 -#: templates/js/translated/part.js:1475 templates/js/translated/part.js:1611 -#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2716 +#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1190 +#: templates/js/translated/part.js:1478 templates/js/translated/part.js:1614 +#: templates/js/translated/part.js:2752 templates/js/translated/stock.js:2716 msgid "Name" msgstr "Tên" -#: InvenTree/models.py:772 build/models.py:235 -#: build/templates/build/detail.html:24 common/models.py:138 -#: company/models.py:509 company/models.py:808 +#: InvenTree/models.py:775 build/models.py:242 +#: build/templates/build/detail.html:24 common/models.py:143 +#: company/models.py:515 company/models.py:815 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 -#: order/models.py:1329 part/admin.py:305 part/admin.py:408 part/models.py:914 -#: part/models.py:3654 part/templates/part/category.html:82 +#: order/models.py:1329 part/admin.py:305 part/admin.py:408 part/models.py:918 +#: part/models.py:3675 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:156 #: report/models.py:510 report/models.py:536 @@ -444,10 +444,10 @@ msgstr "Tên" #: templates/js/translated/build.js:2139 templates/js/translated/company.js:519 #: templates/js/translated/company.js:1330 #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 -#: templates/js/translated/order.js:298 templates/js/translated/part.js:1239 -#: templates/js/translated/part.js:1484 templates/js/translated/part.js:1622 -#: templates/js/translated/part.js:1959 templates/js/translated/part.js:2355 -#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2897 +#: templates/js/translated/order.js:298 templates/js/translated/part.js:1242 +#: templates/js/translated/part.js:1487 templates/js/translated/part.js:1625 +#: templates/js/translated/part.js:1962 templates/js/translated/part.js:2358 +#: templates/js/translated/part.js:2788 templates/js/translated/part.js:2900 #: templates/js/translated/plugin.js:80 #: templates/js/translated/purchase_order.js:1706 #: templates/js/translated/purchase_order.js:1849 @@ -460,53 +460,53 @@ msgstr "Tên" msgid "Description" msgstr "Mô tả" -#: InvenTree/models.py:773 stock/models.py:81 +#: InvenTree/models.py:776 stock/models.py:81 msgid "Description (optional)" msgstr "Mô tả (tùy chọn)" -#: InvenTree/models.py:788 templates/js/translated/part.js:2794 +#: InvenTree/models.py:791 templates/js/translated/part.js:2797 #: templates/js/translated/stock.js:2757 msgid "Path" msgstr "Đường dẫn" -#: InvenTree/models.py:918 +#: InvenTree/models.py:921 msgid "Markdown notes (optional)" msgstr "Ghi chú markdown (không bắt buộc)" -#: InvenTree/models.py:947 +#: InvenTree/models.py:950 msgid "Barcode Data" msgstr "Dữ liệu mã vạch" -#: InvenTree/models.py:948 +#: InvenTree/models.py:951 msgid "Third party barcode data" msgstr "Dữ liệu mã vạch của bên thứ ba" -#: InvenTree/models.py:954 +#: InvenTree/models.py:957 msgid "Barcode Hash" msgstr "Dữ liệu băm mã vạch" -#: InvenTree/models.py:955 +#: InvenTree/models.py:958 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:1008 +#: InvenTree/models.py:1011 msgid "Existing barcode found" msgstr "Mã vạch đã tồn tại" -#: InvenTree/models.py:1051 +#: InvenTree/models.py:1054 msgid "Server Error" msgstr "Lỗi máy chủ" -#: InvenTree/models.py:1052 +#: InvenTree/models.py:1055 msgid "An error has been logged by the server." msgstr "Lỗi đã được ghi lại bởi máy chủ." -#: InvenTree/serializers.py:63 part/models.py:4192 +#: InvenTree/serializers.py:63 part/models.py:4277 msgid "Must be a valid number" msgstr "Phải là một số hợp lệ" #: InvenTree/serializers.py:100 company/models.py:186 -#: company/templates/company/company_base.html:112 part/models.py:3001 +#: company/templates/company/company_base.html:112 part/models.py:3011 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -556,16 +556,16 @@ msgstr "" msgid "Is this user a superuser" msgstr "" -#: InvenTree/serializers.py:445 common/models.py:2683 company/models.py:163 -#: company/models.py:782 machine/models.py:39 part/admin.py:88 -#: part/models.py:1081 plugin/models.py:66 +#: InvenTree/serializers.py:445 common/models.py:2664 company/models.py:163 +#: company/models.py:789 machine/models.py:39 part/admin.py:88 +#: part/models.py:1085 plugin/models.py:66 #: 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 #: templates/js/translated/table_filters.js:520 #: templates/js/translated/table_filters.js:716 -#: templates/js/translated/table_filters.js:796 users/models.py:182 +#: templates/js/translated/table_filters.js:801 users/models.py:182 msgid "Active" msgstr "Hoạt động" @@ -597,7 +597,7 @@ msgstr "Chào mừng đến với InvenTree" msgid "Invalid value" msgstr "Giá trị không hợp lệ" -#: InvenTree/serializers.py:581 +#: InvenTree/serializers.py:581 importer/models.py:60 msgid "Data File" msgstr "Tập tin dữ liệu" @@ -651,7 +651,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:1174 +#: InvenTree/status.py:66 part/serializers.py:1202 msgid "Background worker check failed" msgstr "Nhân công chạy ngầm kiểm tra thất bại" @@ -711,47 +711,48 @@ msgstr "Thông tin hệ thống" msgid "About InvenTree" msgstr "Giới thiệu" -#: build/api.py:255 +#: build/api.py:248 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:4070 templates/js/translated/bom.js:997 -#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 +#: build/api.py:292 build/serializers.py:1190 part/models.py:4155 +#: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 +#: templates/js/translated/build.js:2521 #: 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:4064 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 +#: build/api.py:293 build/serializers.py:1191 part/models.py:4149 +#: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 +#: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2530 #: templates/js/translated/table_filters.js:186 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:587 msgid "Optional" msgstr "Tuỳ chọn" -#: build/api.py:301 templates/js/translated/table_filters.js:408 +#: build/api.py:294 templates/js/translated/table_filters.js:408 #: templates/js/translated/table_filters.js:579 msgid "Tracked" msgstr "Đã theo dõi" -#: build/api.py:303 part/admin.py:144 templates/js/translated/build.js:1744 -#: templates/js/translated/build.js:2629 +#: build/api.py:296 part/admin.py:144 templates/js/translated/build.js:1744 +#: templates/js/translated/build.js:2630 #: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:571 msgid "Allocated" msgstr "Đã cấp phát" -#: build/api.py:311 company/models.py:872 company/serializers.py:359 +#: build/api.py:304 company/models.py:879 company/serializers.py:386 #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2561 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2562 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:234 -#: templates/js/translated/part.js:693 templates/js/translated/part.js:695 -#: templates/js/translated/part.js:700 +#: 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 #: templates/js/translated/table_filters.js:575 msgid "Available" @@ -760,7 +761,7 @@ msgstr "Có sẵn" #: build/models.py:85 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 -#: stock/serializers.py:82 templates/email/build_order_completed.html:16 +#: stock/serializers.py:84 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:2892 msgid "Build Order" @@ -781,35 +782,43 @@ msgstr "Tạo đơn hàng" msgid "Assembly BOM has not been validated" msgstr "" -#: build/models.py:134 part/templates/part/part_base.html:145 -msgid "Part is not active" -msgstr "Sản phẩm bị tắt" +#: build/models.py:134 +#, fuzzy +#| msgid "Stock item cannot be created for virtual parts" +msgid "Build order cannot be created for an inactive part" +msgstr "Không thể tạo hàng hóa trong kho cho sản phẩm ảo" -#: build/models.py:148 +#: build/models.py:141 +#, fuzzy +#| msgid "Build output cannot be specified for allocation of untracked parts" +msgid "Build order cannot be created for an unlocked part" +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/models.py:155 msgid "Invalid choice for parent build" msgstr "Lựa chọn sai cho bản dựng cha" -#: build/models.py:159 order/models.py:240 +#: build/models.py:166 order/models.py:240 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:165 +#: build/models.py:172 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:226 +#: build/models.py:233 msgid "Build Order Reference" msgstr "Tham chiếu đơn đặt bản dựng" -#: build/models.py:227 order/models.py:463 order/models.py:926 -#: order/models.py:1289 order/models.py:2020 part/admin.py:411 -#: part/models.py:4085 part/templates/part/upload_bom.html:54 +#: build/models.py:234 build/serializers.py:1189 order/models.py:463 +#: order/models.py:926 order/models.py:1289 order/models.py:2046 +#: part/admin.py:411 part/models.py:4170 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: 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/build.js:2513 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2065 #: templates/js/translated/return_order.js:728 @@ -817,27 +826,28 @@ msgstr "Tham chiếu đơn đặt bản dựng" msgid "Reference" msgstr "Tham chiếu" -#: build/models.py:238 +#: build/models.py:245 msgid "Brief description of the build (optional)" msgstr "Mô tả ngắn về phiên bạn (Tùy chọn)" -#: build/models.py:246 build/templates/build/build_base.html:183 +#: build/models.py:253 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:247 +#: build/models.py:254 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:252 build/templates/build/build_base.html:97 -#: build/templates/build/detail.html:29 company/models.py:1026 order/api.py:805 -#: order/models.py:1414 order/models.py:1559 order/models.py:1560 -#: part/api.py:1494 part/api.py:1788 part/models.py:395 part/models.py:3012 -#: part/models.py:3156 part/models.py:3303 part/models.py:3324 -#: part/models.py:3346 part/models.py:3477 part/models.py:3787 -#: part/models.py:3943 part/models.py:4036 part/models.py:4395 -#: part/serializers.py:1120 part/serializers.py:1726 +#: build/models.py:259 build/serializers.py:1184 +#: build/templates/build/build_base.html:97 +#: build/templates/build/detail.html:29 company/models.py:1034 order/api.py:759 +#: order/models.py:1419 order/models.py:1574 order/models.py:1575 +#: part/api.py:1480 part/api.py:1776 part/models.py:396 part/models.py:3022 +#: part/models.py:3166 part/models.py:3314 part/models.py:3335 +#: part/models.py:3357 part/models.py:3493 part/models.py:3827 +#: part/models.py:3990 part/models.py:4121 part/models.py:4480 +#: part/serializers.py:1148 part/serializers.py:1758 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -848,8 +858,8 @@ msgstr "Đơn đặt bản dựng với bản dựng này đã được phân b #: 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:109 stock/serializers.py:157 stock/serializers.py:423 -#: stock/serializers.py:820 templates/InvenTree/search.html:82 +#: stock/serializers.py:111 stock/serializers.py:159 stock/serializers.py:443 +#: stock/serializers.py:878 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 @@ -862,8 +872,8 @@ msgstr "Đơn đặt bản dựng với bản dựng này đã được phân b #: templates/js/translated/company.js:1116 #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 -#: templates/js/translated/part.js:1944 templates/js/translated/part.js:2016 -#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:1947 templates/js/translated/part.js:2019 +#: templates/js/translated/part.js:2327 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:1848 @@ -881,107 +891,107 @@ msgstr "Đơn đặt bản dựng với bản dựng này đã được phân b msgid "Part" msgstr "Nguyên liệu" -#: build/models.py:260 +#: build/models.py:267 msgid "Select part to build" msgstr "Chọn sản phẩm để xây dựng" -#: build/models.py:265 +#: build/models.py:272 msgid "Sales Order Reference" msgstr "Tham chiếu đơn đặt bản dựng" -#: build/models.py:269 +#: build/models.py:276 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:274 build/serializers.py:999 +#: build/models.py:281 build/serializers.py:1003 #: templates/js/translated/build.js:1731 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "Địa điểm nguồn" -#: build/models.py:278 +#: build/models.py:285 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:283 +#: build/models.py:290 msgid "Destination Location" msgstr "Địa điểm đích" -#: build/models.py:287 +#: build/models.py:294 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:291 +#: build/models.py:298 msgid "Build Quantity" msgstr "Xây dựng số lượng" -#: build/models.py:294 +#: build/models.py:301 msgid "Number of stock items to build" msgstr "Số kho hàng để dựng" -#: build/models.py:298 +#: build/models.py:305 msgid "Completed items" msgstr "Những mục hoàn thành" -#: build/models.py:300 +#: build/models.py:307 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:304 +#: build/models.py:311 msgid "Build Status" msgstr "Trnạg thái bản dựng" -#: build/models.py:308 +#: build/models.py:315 msgid "Build status code" msgstr "Mã trạng thái bản dựng" -#: build/models.py:317 build/serializers.py:286 order/serializers.py:580 -#: stock/models.py:839 stock/serializers.py:74 stock/serializers.py:1458 +#: build/models.py:324 build/serializers.py:290 order/serializers.py:629 +#: stock/models.py:839 stock/serializers.py:76 stock/serializers.py:1524 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "Mã lô hàng" -#: build/models.py:321 build/serializers.py:287 +#: build/models.py:328 build/serializers.py:291 msgid "Batch code for this build output" msgstr "Mã lô cho đầu ra bản dựng này" -#: build/models.py:324 order/models.py:316 order/serializers.py:119 -#: part/models.py:1115 part/templates/part/part_base.html:310 +#: build/models.py:331 order/models.py:316 order/serializers.py:127 +#: part/models.py:1125 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:328 +#: build/models.py:335 msgid "Target completion date" msgstr "Ngày hoàn thành mục tiêu" -#: build/models.py:329 +#: build/models.py:336 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:332 order/models.py:521 order/models.py:2065 +#: build/models.py:339 order/models.py:521 order/models.py:2091 #: templates/js/translated/build.js:2247 msgid "Completion Date" msgstr "Ngày hoàn thành" -#: build/models.py:338 +#: build/models.py:345 msgid "completed by" msgstr "hoàn thành bởi" -#: build/models.py:346 templates/js/translated/build.js:2207 +#: build/models.py:353 templates/js/translated/build.js:2207 msgid "Issued by" msgstr "Cấp bởi" -#: build/models.py:347 +#: build/models.py:354 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:355 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 common/models.py:147 +#: build/models.py:362 build/templates/build/build_base.html:204 +#: build/templates/build/detail.html:122 common/models.py:152 #: order/models.py:334 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:232 part/models.py:1132 +#: order/templates/order/sales_order_base.html:232 part/models.py:1142 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 @@ -992,11 +1002,11 @@ msgstr "Người dùng người đã được phân công cho đơn đặt bản msgid "Responsible" msgstr "Chịu trách nhiệm" -#: build/models.py:356 +#: build/models.py:363 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:361 build/templates/build/detail.html:108 +#: build/models.py:368 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 @@ -1008,21 +1018,22 @@ msgstr "Người dùng hoặc nhóm có trách nhiệm với đơn đặt bản msgid "External Link" msgstr "Liên kết bên ngoài" -#: build/models.py:362 common/models.py:3244 part/models.py:956 +#: build/models.py:369 common/models.py:3230 part/models.py:960 #: stock/models.py:835 msgid "Link to external URL" msgstr "Liên kết đến URL bên ngoài" -#: build/models.py:366 +#: build/models.py:373 msgid "Build Priority" msgstr "Độ ưu tiên" -#: build/models.py:369 +#: build/models.py:376 msgid "Priority of this build order" msgstr "Độ quan trọng của đơn đặt bản dựng" -#: build/models.py:376 common/models.py:131 order/admin.py:18 -#: order/models.py:298 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:383 common/models.py:122 common/models.py:136 +#: order/admin.py:18 order/models.py:298 order/serializers.py:108 +#: templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 #: templates/js/translated/purchase_order.js:1710 #: templates/js/translated/return_order.js:317 @@ -1032,65 +1043,66 @@ msgstr "Độ quan trọng của đơn đặt bản dựng" msgid "Project Code" msgstr "Mã dự án" -#: build/models.py:377 +#: build/models.py:384 msgid "Project code for this build order" msgstr "Mã dự án cho đơn đặt bản dựng này" -#: build/models.py:610 build/models.py:675 +#: build/models.py:617 build/models.py:682 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:632 +#: build/models.py:639 #, 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:638 +#: build/models.py:645 msgid "A build order has been completed" msgstr "Một đơn đặt bản dựng đã được hoàn thành" -#: build/models.py:864 build/models.py:949 +#: build/models.py:871 build/models.py:956 msgid "No build output specified" msgstr "Không có đầu ra bản dựng đã được chỉ ra" -#: build/models.py:867 +#: build/models.py:874 msgid "Build output is already completed" msgstr "Đầu ra bản dựng đã được hoàn thiện" -#: build/models.py:870 +#: build/models.py:877 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:953 build/serializers.py:219 build/serializers.py:268 -#: build/serializers.py:866 order/models.py:559 order/serializers.py:432 -#: order/serializers.py:575 part/serializers.py:1484 part/serializers.py:1884 -#: stock/models.py:678 stock/models.py:1496 stock/serializers.py:603 +#: build/models.py:960 build/serializers.py:223 build/serializers.py:272 +#: build/serializers.py:870 order/models.py:559 order/serializers.py:461 +#: order/serializers.py:624 part/serializers.py:1515 part/serializers.py:1921 +#: stock/models.py:678 stock/models.py:1496 stock/serializers.py:661 msgid "Quantity must be greater than zero" msgstr "Số lượng phải lớn hơn 0" -#: build/models.py:958 build/serializers.py:224 +#: build/models.py:965 build/serializers.py:228 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:1018 build/serializers.py:547 +#: build/models.py:1025 build/serializers.py:551 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1359 +#: build/models.py:1366 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1384 +#: build/models.py:1391 msgid "Build object" msgstr "Dựng đối tượng" -#: build/models.py:1398 build/models.py:1654 build/serializers.py:206 -#: build/serializers.py:253 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2563 -#: order/models.py:1272 order/models.py:1931 order/serializers.py:1327 +#: build/models.py:1405 build/models.py:1661 build/serializers.py:210 +#: build/serializers.py:257 build/serializers.py:1194 +#: build/templates/build/build_base.html:102 +#: build/templates/build/detail.html:34 common/models.py:2544 +#: order/models.py:1272 order/models.py:1957 order/serializers.py:1383 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:410 -#: part/forms.py:48 part/models.py:3170 part/models.py:4058 +#: part/forms.py:48 part/models.py:3180 part/models.py:4143 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1100,7 +1112,7 @@ msgstr "Dựng đối tượng" #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:169 stock/admin.py:159 -#: stock/serializers.py:125 stock/serializers.py:165 stock/serializers.py:594 +#: stock/serializers.py:127 stock/serializers.py:167 stock/serializers.py:652 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 @@ -1111,8 +1123,8 @@ msgstr "Dựng đối tượng" #: templates/js/translated/build.js:1746 templates/js/translated/build.js:2357 #: templates/js/translated/company.js:1818 #: templates/js/translated/model_renderers.js:236 -#: templates/js/translated/order.js:304 templates/js/translated/part.js:962 -#: templates/js/translated/part.js:1812 templates/js/translated/part.js:3342 +#: templates/js/translated/order.js:304 templates/js/translated/part.js:965 +#: templates/js/translated/part.js:1815 templates/js/translated/part.js:3345 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 @@ -1132,38 +1144,38 @@ msgstr "Dựng đối tượng" msgid "Quantity" msgstr "Số lượng" -#: build/models.py:1399 +#: build/models.py:1406 msgid "Required quantity for build order" msgstr "Yêu cầu số lượng để dựng đơn đặt" -#: build/models.py:1479 +#: build/models.py:1486 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:1488 +#: build/models.py:1495 #, 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:1498 order/models.py:1882 +#: build/models.py:1505 order/models.py:1908 msgid "Stock item is over-allocated" msgstr "Kho hàng đã bị phân bổ quá đà" -#: build/models.py:1504 order/models.py:1885 +#: build/models.py:1511 order/models.py:1911 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:1510 +#: build/models.py:1517 msgid "Quantity must be 1 for serialized stock" msgstr "Số lượng phải là 1 cho kho sê ri" -#: build/models.py:1569 +#: build/models.py:1576 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:1641 build/serializers.py:846 order/serializers.py:1171 -#: order/serializers.py:1192 stock/models.py:359 stock/serializers.py:91 -#: stock/serializers.py:697 stock/serializers.py:1177 stock/serializers.py:1289 +#: build/models.py:1648 build/serializers.py:850 order/serializers.py:1227 +#: order/serializers.py:1248 stock/models.py:359 stock/serializers.py:93 +#: stock/serializers.py:755 stock/serializers.py:1243 stock/serializers.py:1355 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 @@ -1179,70 +1191,76 @@ msgstr "Hàng trong kho đã chọn không phù hợp với đường BOM" msgid "Stock Item" msgstr "Kho hàng" -#: build/models.py:1642 +#: build/models.py:1649 msgid "Source stock item" msgstr "Kho hàng gốc" -#: build/models.py:1655 +#: build/models.py:1662 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:1663 +#: build/models.py:1670 msgid "Install into" msgstr "Cài đặt vào" -#: build/models.py:1664 +#: build/models.py:1671 msgid "Destination stock item" msgstr "Kho hàng đích" -#: build/serializers.py:156 build/serializers.py:875 +#: build/serializers.py:89 build/serializers.py:1185 part/admin.py:41 +#: part/admin.py:405 part/models.py:3992 part/stocktake.py:220 +#: stock/admin.py:156 +msgid "Part Name" +msgstr "Tên sản phẩm" + +#: build/serializers.py:160 build/serializers.py:879 #: templates/js/translated/build.js:1322 msgid "Build Output" msgstr "Đầu ra bản dựng" -#: build/serializers.py:168 +#: build/serializers.py:172 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:172 +#: build/serializers.py:176 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:176 +#: build/serializers.py:180 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:187 +#: build/serializers.py:191 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:207 build/serializers.py:254 +#: build/serializers.py:211 build/serializers.py:258 msgid "Enter quantity for build output" msgstr "Điền số lượng cho đầu ra bản dựng" -#: build/serializers.py:275 +#: build/serializers.py:279 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:278 +#: build/serializers.py:282 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:293 order/serializers.py:588 order/serializers.py:1331 -#: stock/serializers.py:614 templates/js/translated/purchase_order.js:1153 +#: build/serializers.py:297 order/serializers.py:637 order/serializers.py:1387 +#: stock/serializers.py:672 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:294 +#: build/serializers.py:298 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:299 build/serializers.py:440 build/serializers.py:512 -#: order/serializers.py:564 order/serializers.py:672 order/serializers.py:1656 -#: part/serializers.py:1140 stock/serializers.py:100 stock/serializers.py:625 -#: stock/serializers.py:785 stock/serializers.py:881 stock/serializers.py:1321 -#: stock/serializers.py:1577 stock/templates/stock/item_base.html:394 +#: build/serializers.py:303 build/serializers.py:444 build/serializers.py:516 +#: order/serializers.py:613 order/serializers.py:721 order/serializers.py:1714 +#: part/serializers.py:1168 stock/serializers.py:102 stock/serializers.py:683 +#: stock/serializers.py:843 stock/serializers.py:939 stock/serializers.py:1387 +#: stock/serializers.py:1643 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 @@ -1258,54 +1276,54 @@ msgstr "Nhập vào số sêri cho đầu ra bản dựng" msgid "Location" msgstr "Địa điểm" -#: build/serializers.py:300 +#: build/serializers.py:304 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:314 +#: build/serializers.py:318 msgid "Auto Allocate Serial Numbers" msgstr "Số sêri tự cấp" -#: build/serializers.py:315 +#: build/serializers.py:319 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:330 +#: build/serializers.py:334 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:355 stock/api.py:1041 +#: build/serializers.py:359 stock/api.py:1033 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:402 build/serializers.py:464 build/serializers.py:553 +#: build/serializers.py:406 build/serializers.py:468 build/serializers.py:557 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:441 +#: build/serializers.py:445 msgid "Stock location for scrapped outputs" msgstr "Vị trí kho cho đầu ra phế phẩm" -#: build/serializers.py:447 +#: build/serializers.py:451 msgid "Discard Allocations" msgstr "Hủy phân bổ" -#: build/serializers.py:448 +#: build/serializers.py:452 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:453 +#: build/serializers.py:457 msgid "Reason for scrapping build output(s)" msgstr "Lý do loại bỏ đầu ra bản dựng" -#: build/serializers.py:513 +#: build/serializers.py:517 msgid "Location for completed build outputs" msgstr "Vị trí cho đầu ra bản dựng hoàn thiện" -#: build/serializers.py:519 build/templates/build/build_base.html:151 +#: build/serializers.py:523 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:950 -#: order/models.py:2044 order/serializers.py:596 stock/admin.py:164 -#: stock/serializers.py:932 stock/serializers.py:1465 +#: order/models.py:2070 order/serializers.py:645 stock/admin.py:164 +#: stock/serializers.py:990 stock/serializers.py:1531 #: 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 @@ -1317,193 +1335,253 @@ msgstr "Vị trí cho đầu ra bản dựng hoàn thiện" msgid "Status" msgstr "Trạng thái" -#: build/serializers.py:525 +#: build/serializers.py:529 msgid "Accept Incomplete Allocation" msgstr "Chấp nhận phân kho dang dở" -#: build/serializers.py:526 +#: build/serializers.py:530 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:611 +#: build/serializers.py:615 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:612 +#: build/serializers.py:616 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:618 +#: build/serializers.py:622 msgid "Remove Incomplete Outputs" msgstr "Xóa toàn bộ đầu ra chưa hoàn thành" -#: build/serializers.py:619 +#: build/serializers.py:623 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:646 +#: build/serializers.py:650 msgid "Not permitted" msgstr "Chưa được cấp phép" -#: build/serializers.py:647 +#: build/serializers.py:651 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:648 +#: build/serializers.py:652 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:678 +#: build/serializers.py:682 msgid "Overallocated Stock" msgstr "Kho quá tải" -#: build/serializers.py:680 +#: build/serializers.py:684 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:690 +#: build/serializers.py:694 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:695 +#: build/serializers.py:699 msgid "Accept Unallocated" msgstr "Chấp nhận chưa phân bổ được" -#: build/serializers.py:696 +#: build/serializers.py:700 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:706 templates/js/translated/build.js:315 +#: build/serializers.py:710 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:711 order/serializers.py:300 order/serializers.py:1234 +#: build/serializers.py:715 order/serializers.py:319 order/serializers.py:1290 msgid "Accept Incomplete" msgstr "Chấp nhận không hoàn thành" -#: build/serializers.py:712 +#: build/serializers.py:716 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:722 templates/js/translated/build.js:319 +#: build/serializers.py:726 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:731 templates/js/translated/build.js:303 +#: build/serializers.py:735 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:769 +#: build/serializers.py:773 msgid "Build Line" msgstr "Lộ giới" -#: build/serializers.py:779 +#: build/serializers.py:783 msgid "Build output" msgstr "Đầu ra bản dựng" -#: build/serializers.py:787 +#: build/serializers.py:791 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:823 +#: build/serializers.py:827 msgid "Build Line Item" msgstr "Mục chi tiết bản dựng" -#: build/serializers.py:837 +#: build/serializers.py:841 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:852 stock/serializers.py:1190 +#: build/serializers.py:856 stock/serializers.py:1256 msgid "Item must be in stock" msgstr "Hàng hóa phải trong kho" -#: build/serializers.py:900 order/serializers.py:1225 +#: build/serializers.py:904 order/serializers.py:1281 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Số lượng có sẵn ({q}) đã bị vượt quá" -#: build/serializers.py:906 +#: build/serializers.py:910 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:913 +#: build/serializers.py:917 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:937 order/serializers.py:1477 +#: build/serializers.py:941 order/serializers.py:1533 msgid "Allocation items must be provided" msgstr "Hàng hóa phân bổ phải được cung cấp" -#: build/serializers.py:1000 +#: build/serializers.py:1004 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:1008 +#: build/serializers.py:1012 msgid "Exclude Location" msgstr "Ngoại trừ vị trí" -#: build/serializers.py:1009 +#: build/serializers.py:1013 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:1014 +#: build/serializers.py:1018 msgid "Interchangeable Stock" msgstr "Kho trao đổi" -#: build/serializers.py:1015 +#: build/serializers.py:1019 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:1020 +#: build/serializers.py:1024 msgid "Substitute Stock" msgstr "Kho thay thế" -#: build/serializers.py:1021 +#: build/serializers.py:1025 msgid "Allow allocation of substitute parts" msgstr "Cho phép phân kho sản phẩm thay thế" -#: build/serializers.py:1026 +#: build/serializers.py:1030 msgid "Optional Items" msgstr "Mục tùy chọn" -#: build/serializers.py:1027 +#: build/serializers.py:1031 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:1049 +#: build/serializers.py:1053 msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1139 part/models.py:3953 part/models.py:4387 -#: stock/api.py:804 +#: build/serializers.py:1095 +#, fuzzy +#| msgid "Supplier Part Orders" +msgid "Supplier Part Number" +msgstr "Đơn đặt hàng nhà cung cấp" + +#: build/serializers.py:1096 company/models.py:500 +msgid "Manufacturer Part Number" +msgstr "Mã số nhà sản xuất" + +#: build/serializers.py:1097 stock/admin.py:53 stock/admin.py:175 +#: stock/serializers.py:454 +msgid "Location Name" +msgstr "Tên địa điểm" + +#: build/serializers.py:1098 +#, fuzzy +#| msgid "Build Order Reference" +msgid "Build Reference" +msgstr "Tham chiếu đơn đặt bản dựng" + +#: build/serializers.py:1099 +#, fuzzy +#| msgid "Reference" +msgid "BOM Reference" +msgstr "Tham chiếu" + +#: build/serializers.py:1186 part/admin.py:402 part/models.py:3993 +msgid "Part IPN" +msgstr "IPN sản phẩm" + +#: build/serializers.py:1192 common/models.py:1488 part/admin.py:113 +#: part/models.py:1068 templates/js/translated/table_filters.js:147 +#: templates/js/translated/table_filters.js:223 +#: templates/js/translated/table_filters.js:776 +msgid "Trackable" +msgstr "Có thể theo dõi" + +#: build/serializers.py:1196 part/models.py:4000 part/models.py:4472 +#: stock/api.py:796 msgid "BOM Item" msgstr "Mục BOM" -#: build/serializers.py:1148 templates/js/translated/index.js:130 +#: build/serializers.py:1205 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1153 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:828 part/serializers.py:1502 +#: build/serializers.py:1210 part/admin.py:132 part/bom.py:173 +#: part/serializers.py:856 part/serializers.py:1533 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2613 templates/js/translated/part.js:710 -#: templates/js/translated/part.js:2149 +#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709 +#: templates/js/translated/part.js:2152 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "Bật đơn hàng" -#: build/serializers.py:1158 part/serializers.py:1504 -#: templates/js/translated/build.js:2617 +#: build/serializers.py:1215 part/serializers.py:1535 +#: templates/js/translated/build.js:2618 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "Đang sản xuất" -#: build/serializers.py:1163 part/bom.py:172 part/serializers.py:1527 +#: build/serializers.py:1220 part/bom.py:172 part/serializers.py:1558 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" msgstr "Số hàng tồn" +#: build/serializers.py:1224 +#, fuzzy +#| msgid "Substitute Stock" +msgid "Available Substitute Stock" +msgstr "Kho thay thế" + +#: build/serializers.py:1225 +#, fuzzy +#| msgid "Available Stock" +msgid "Available Variant Stock" +msgstr "Số hàng tồn" + +#: build/serializers.py:1226 +#, fuzzy +#| msgid "Available Stock" +msgid "Total Available Stock" +msgstr "Số hàng tồn" + +#: build/serializers.py:1227 part/serializers.py:862 +msgid "External Stock" +msgstr "" + #: build/status_codes.py:11 generic/states/tests.py:17 order/status_codes.py:12 #: order/status_codes.py:37 order/status_codes.py:64 order/status_codes.py:82 #: templates/js/translated/table_filters.js:598 @@ -1519,7 +1597,8 @@ msgstr "Sản xuất" msgid "Cancelled" msgstr "Đã hủy" -#: build/status_codes.py:14 generic/states/tests.py:19 order/status_codes.py:14 +#: build/status_codes.py:14 generic/states/tests.py:19 importer/models.py:468 +#: importer/status_codes.py:19 order/status_codes.py:14 #: order/status_codes.py:44 order/status_codes.py:69 #: order/templates/order/order_base.html:158 #: order/templates/order/sales_order_base.html:165 report/models.py:444 @@ -1652,11 +1731,12 @@ msgstr "Kho không được phân bổ đầy đủ với yêu cầu bản dựn #: build/templates/build/build_base.html:160 #: build/templates/build/detail.html:138 order/models.py:309 -#: order/models.py:1307 order/templates/order/order_base.html:186 +#: order/models.py:1307 order/serializers.py:174 +#: order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: 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:1831 +#: templates/js/translated/build.js:2239 templates/js/translated/part.js:1834 #: templates/js/translated/purchase_order.js:1739 #: templates/js/translated/purchase_order.js:2147 #: templates/js/translated/return_order.js:346 @@ -1689,8 +1769,8 @@ 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:1463 order/models.py:845 -#: order/models.py:1551 order/models.py:1665 order/models.py:1819 +#: build/templates/build/detail.html:101 order/api.py:1384 order/models.py:845 +#: order/models.py:1566 order/models.py:1681 order/models.py:1840 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 @@ -1740,7 +1820,7 @@ 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:1443 +#: build/templates/build/detail.html:49 order/models.py:1448 #: templates/js/translated/purchase_order.js:2189 msgid "Destination" msgstr "Đích đến" @@ -1892,31 +1972,31 @@ msgstr "Chi tiết đơn đặt bản dựng" msgid "Incomplete Outputs" msgstr "Đầu ra chưa hoàn thiện" -#: common/api.py:689 +#: common/api.py:690 msgid "Is Link" msgstr "" -#: common/api.py:697 +#: common/api.py:698 msgid "Is File" msgstr "" -#: common/api.py:739 +#: common/api.py:740 msgid "User does not have permission to delete this attachment" msgstr "" -#: common/currency.py:130 +#: common/currency.py:132 msgid "Invalid currency code" msgstr "" -#: common/currency.py:132 +#: common/currency.py:134 msgid "Duplicate currency code" msgstr "" -#: common/currency.py:137 +#: common/currency.py:139 msgid "No valid currency codes provided" msgstr "" -#: common/currency.py:154 +#: common/currency.py:156 msgid "No plugin" msgstr "Không phần mở rộng" @@ -1970,1635 +2050,1608 @@ msgstr "Nhãn thời gian của lần cập cuối cùng" msgid "Site URL is locked by configuration" msgstr "" -#: common/models.py:132 +#: common/models.py:137 msgid "Unique project code" msgstr "Mã dự án duy nhất" -#: common/models.py:139 +#: common/models.py:144 msgid "Project description" msgstr "Mô tả dự án" -#: common/models.py:148 +#: common/models.py:153 msgid "User or group responsible for this project" msgstr "Người dùng hoặc nhóm có trách nhiệm với dự án này" -#: common/models.py:765 +#: common/models.py:770 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:769 +#: common/models.py:774 msgid "Settings value" msgstr "Giá trị cài đặt" -#: common/models.py:821 +#: common/models.py:826 msgid "Chosen value is not a valid option" msgstr "Giá trị đã chọn không hợp lệ" -#: common/models.py:837 +#: common/models.py:842 msgid "Value must be a boolean value" msgstr "Giá trị phải là kiểu boolean" -#: common/models.py:845 +#: common/models.py:850 msgid "Value must be an integer value" msgstr "Giá trị phải là một số nguyên dương" -#: common/models.py:882 +#: common/models.py:887 msgid "Key string must be unique" msgstr "Chuỗi khóa phải duy nhất" -#: common/models.py:1114 +#: common/models.py:1119 msgid "No group" msgstr "Không có nhóm" -#: common/models.py:1213 +#: common/models.py:1218 msgid "Restart required" msgstr "Cần khởi động lại" -#: common/models.py:1215 +#: common/models.py:1220 msgid "A setting has been changed which requires a server restart" msgstr "Một thiết lập đã bị thay đổi yêu cầu khởi động lại máy chủ" -#: common/models.py:1222 +#: common/models.py:1227 msgid "Pending migrations" msgstr "Chuyển dữ liệu chờ xử lý" -#: common/models.py:1223 +#: common/models.py:1228 msgid "Number of pending database migrations" msgstr "Số đợt nâng cấp cơ sở dữ liệu chờ xử lý" -#: common/models.py:1228 +#: common/models.py:1233 msgid "Server Instance Name" msgstr "Tên thực thể máy chủ" -#: common/models.py:1230 +#: common/models.py:1235 msgid "String descriptor for the server instance" msgstr "Mô tả chuỗi cho thực thể máy chủ" -#: common/models.py:1234 +#: common/models.py:1239 msgid "Use instance name" msgstr "Sử dụng tên thực thể" -#: common/models.py:1235 +#: common/models.py:1240 msgid "Use the instance name in the title-bar" msgstr "Sử dụng tên thực thể trên thanh tiêu đề" -#: common/models.py:1240 +#: common/models.py:1245 msgid "Restrict showing `about`" msgstr "Cấm hiển thị `giới thiệu`" -#: common/models.py:1241 +#: common/models.py:1246 msgid "Show the `about` modal only to superusers" msgstr "Chỉ hiển thị cửa sổ `giới thiệu` với siêu người dùng" -#: common/models.py:1246 company/models.py:111 company/models.py:112 +#: common/models.py:1251 company/models.py:111 company/models.py:112 msgid "Company name" msgstr "Tên công ty" -#: common/models.py:1247 +#: common/models.py:1252 msgid "Internal company name" msgstr "Tên công ty nội bộ" -#: common/models.py:1251 +#: common/models.py:1256 msgid "Base URL" msgstr "URL cơ sở" -#: common/models.py:1252 +#: common/models.py:1257 msgid "Base URL for server instance" msgstr "URL cơ sở cho thực thể máy chủ" -#: common/models.py:1258 +#: common/models.py:1263 msgid "Default Currency" msgstr "Tiền tệ mặc định" -#: common/models.py:1259 +#: common/models.py:1264 msgid "Select base currency for pricing calculations" msgstr "Chọn tiền tệ chính khi tính giá" -#: common/models.py:1265 +#: common/models.py:1270 msgid "Supported Currencies" msgstr "" -#: common/models.py:1266 +#: common/models.py:1271 msgid "List of supported currency codes" msgstr "" -#: common/models.py:1272 +#: common/models.py:1277 msgid "Currency Update Interval" msgstr "Tần suất cập nhật tiền tệ" -#: common/models.py:1274 +#: common/models.py:1279 msgid "How often to update exchange rates (set to zero to disable)" msgstr "Mức độ thường xuyên để cập nhật tỉ giá hối đoái (điền 0 để tắt)" -#: common/models.py:1277 common/models.py:1333 common/models.py:1346 -#: common/models.py:1354 common/models.py:1363 common/models.py:1372 -#: common/models.py:1596 common/models.py:1618 common/models.py:1733 -#: common/models.py:2100 +#: common/models.py:1282 common/models.py:1338 common/models.py:1351 +#: common/models.py:1359 common/models.py:1368 common/models.py:1377 +#: common/models.py:1601 common/models.py:1623 common/models.py:1738 +#: common/models.py:2111 msgid "days" msgstr "ngày" -#: common/models.py:1281 +#: common/models.py:1286 msgid "Currency Update Plugin" msgstr "Phần mở rộng cập nhật tiền tệ" -#: common/models.py:1282 +#: common/models.py:1287 msgid "Currency update plugin to use" msgstr "Phần mở rộng cập nhật tiền tệ được sử dụng" -#: common/models.py:1287 +#: common/models.py:1292 msgid "Download from URL" msgstr "Tải về từ URL" -#: common/models.py:1289 +#: common/models.py:1294 msgid "Allow download of remote images and files from external URL" msgstr "Cho phép tải ảnh và tệp tin từ xa theo URL bên ngoài" -#: common/models.py:1295 +#: common/models.py:1300 msgid "Download Size Limit" msgstr "Giới hạn kích thước tải xuống" -#: common/models.py:1296 +#: common/models.py:1301 msgid "Maximum allowable download size for remote image" msgstr "Kích thước tải xuống tối đa với hình ảnh từ xa" -#: common/models.py:1302 +#: common/models.py:1307 msgid "User-agent used to download from URL" msgstr "User-agent được dùng để tải xuống theo URL" -#: common/models.py:1304 +#: common/models.py:1309 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "Cho phép ghi đè user-agent được dùng để tải về hình ảnh và tệp tin từ xa theo URL bên ngoài (để trống nghĩa là dùng mặc định)" -#: common/models.py:1309 +#: common/models.py:1314 msgid "Strict URL Validation" msgstr "" -#: common/models.py:1310 +#: common/models.py:1315 msgid "Require schema specification when validating URLs" msgstr "" -#: common/models.py:1315 +#: common/models.py:1320 msgid "Require confirm" msgstr "Yêu cầu xác nhận" -#: common/models.py:1316 +#: common/models.py:1321 msgid "Require explicit user confirmation for certain action." msgstr "Yêu cầu người dùng xác nhận rõ ràng với một số chức năng nhất định." -#: common/models.py:1321 +#: common/models.py:1326 msgid "Tree Depth" msgstr "Cấp độ cây" -#: common/models.py:1323 +#: common/models.py:1328 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "Độ sâu cây mặc định cho màn hình cây. Cấp độ sâu hơn sẽ sử dụng kỹ thuật tải chậm nếu cần thiết." -#: common/models.py:1329 +#: common/models.py:1334 msgid "Update Check Interval" msgstr "Thời gian kiểm tra bản cập nhật" -#: common/models.py:1330 +#: common/models.py:1335 msgid "How often to check for updates (set to zero to disable)" msgstr "Mức độ thường xuyên để kiểm tra bản cập nhật (điền 0 để tắt)" -#: common/models.py:1336 +#: common/models.py:1341 msgid "Automatic Backup" msgstr "Sao lưu tự động" -#: common/models.py:1337 +#: common/models.py:1342 msgid "Enable automatic backup of database and media files" msgstr "Bật tính năng sao lưu tự động cơ sở dữ liệu và tệp tin đa phương tiện" -#: common/models.py:1342 +#: common/models.py:1347 msgid "Auto Backup Interval" msgstr "Khoảng thời gian sao lưu tự động" -#: common/models.py:1343 +#: common/models.py:1348 msgid "Specify number of days between automated backup events" msgstr "Xác định số ngày giữa các kỳ sao lưu tự động" -#: common/models.py:1349 +#: common/models.py:1354 msgid "Task Deletion Interval" msgstr "Khoảng thời gian xóa tác vụ" -#: common/models.py:1351 +#: common/models.py:1356 msgid "Background task results will be deleted after specified number of days" msgstr "Kết quả tác vụ chạy ngầm sẽ bị xóa sau số ngày được chỉ định" -#: common/models.py:1358 +#: common/models.py:1363 msgid "Error Log Deletion Interval" msgstr "Khoảng thời gian xóa nhật ký lỗi" -#: common/models.py:1360 +#: common/models.py:1365 msgid "Error logs will be deleted after specified number of days" msgstr "Nhật ký lỗi sẽ bị xóa sau số ngày được chỉ định" -#: common/models.py:1367 +#: common/models.py:1372 msgid "Notification Deletion Interval" msgstr "Khoảng thời gian xóa thông báo" -#: common/models.py:1369 +#: common/models.py:1374 msgid "User notifications will be deleted after specified number of days" msgstr "Thông báo sẽ bị xóa sau số ngày được chỉ định" -#: common/models.py:1376 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1381 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "Hỗ trợ mã vạch" -#: common/models.py:1377 +#: common/models.py:1382 msgid "Enable barcode scanner support in the web interface" msgstr "Bật hỗ trợ máy quét mã vạch trong giao diện web" -#: common/models.py:1382 +#: common/models.py:1387 msgid "Barcode Input Delay" msgstr "Độ trễ quét mã vạch" -#: common/models.py:1383 +#: common/models.py:1388 msgid "Barcode input processing delay time" msgstr "Thời gian trễ xử lý đầu đọc mã vạch" -#: common/models.py:1389 +#: common/models.py:1394 msgid "Barcode Webcam Support" msgstr "Hỗ trợ mã vạch qua webcam" -#: common/models.py:1390 +#: common/models.py:1395 msgid "Allow barcode scanning via webcam in browser" msgstr "Cho phép quét mã vạch qua webcam bên trong trình duyệt" -#: common/models.py:1395 +#: common/models.py:1400 msgid "Barcode Show Data" msgstr "" -#: common/models.py:1396 +#: common/models.py:1401 msgid "Display barcode data in browser as text" msgstr "" -#: common/models.py:1401 +#: common/models.py:1406 msgid "Part Revisions" msgstr "Phiên bản Sản phẩm" -#: common/models.py:1402 +#: common/models.py:1407 msgid "Enable revision field for Part" msgstr "Bật trường phiên bản cho sản phẩm" -#: common/models.py:1407 +#: common/models.py:1412 msgid "Allow Deletion from Assembly" msgstr "" -#: common/models.py:1408 +#: common/models.py:1413 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/models.py:1413 +#: common/models.py:1418 msgid "IPN Regex" msgstr "Mẫu IPN" -#: common/models.py:1414 +#: common/models.py:1419 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:1417 +#: common/models.py:1422 msgid "Allow Duplicate IPN" msgstr "Cho phép trùng IPN" -#: common/models.py:1418 +#: common/models.py:1423 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:1423 +#: common/models.py:1428 msgid "Allow Editing IPN" msgstr "Cho phép sửa IPN" -#: common/models.py:1424 +#: common/models.py:1429 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:1429 +#: common/models.py:1434 msgid "Copy Part BOM Data" msgstr "Sao chép dữ liệu BOM của sản phẩm" -#: common/models.py:1430 +#: common/models.py:1435 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:1435 +#: common/models.py:1440 msgid "Copy Part Parameter Data" msgstr "Sao chép dữ liệu tham số sản phẩm" -#: common/models.py:1436 +#: common/models.py:1441 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:1441 +#: common/models.py:1446 msgid "Copy Part Test Data" msgstr "Chép thông tin kiểm thử sản phẩm" -#: common/models.py:1442 +#: common/models.py:1447 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:1447 +#: common/models.py:1452 msgid "Copy Category Parameter Templates" msgstr "Sao chéo mẫu tham số danh mục" -#: common/models.py:1448 +#: common/models.py:1453 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:1453 part/admin.py:108 part/models.py:3795 +#: common/models.py:1458 part/admin.py:108 part/models.py:3835 #: report/models.py:294 report/models.py:361 report/serializers.py:90 -#: report/serializers.py:131 stock/serializers.py:227 +#: report/serializers.py:131 stock/serializers.py:232 #: templates/js/translated/table_filters.js:139 -#: templates/js/translated/table_filters.js:767 +#: templates/js/translated/table_filters.js:772 msgid "Template" msgstr "Mẫu" -#: common/models.py:1454 +#: common/models.py:1459 msgid "Parts are templates by default" msgstr "Sản phẩm là mẫu bởi mặc định" -#: common/models.py:1459 part/admin.py:91 part/admin.py:425 part/models.py:1052 +#: common/models.py:1464 part/admin.py:91 part/admin.py:425 part/models.py:1056 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 -#: templates/js/translated/table_filters.js:721 +#: templates/js/translated/table_filters.js:726 msgid "Assembly" msgstr "Lắp ráp" -#: common/models.py:1460 +#: common/models.py:1465 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:1465 part/admin.py:95 part/models.py:1058 -#: templates/js/translated/table_filters.js:729 +#: common/models.py:1470 part/admin.py:95 part/models.py:1062 +#: templates/js/translated/table_filters.js:734 msgid "Component" msgstr "Thành phần" -#: common/models.py:1466 +#: common/models.py:1471 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:1471 part/admin.py:100 part/models.py:1070 +#: common/models.py:1476 part/admin.py:100 part/models.py:1074 msgid "Purchaseable" msgstr "Có thể mua" -#: common/models.py:1472 +#: common/models.py:1477 msgid "Parts are purchaseable by default" msgstr "Sản phẩm mặc định có thể mua được" -#: common/models.py:1477 part/admin.py:104 part/models.py:1076 -#: templates/js/translated/table_filters.js:755 +#: common/models.py:1482 part/admin.py:104 part/models.py:1080 +#: templates/js/translated/table_filters.js:760 msgid "Salable" msgstr "Có thể bán" -#: common/models.py:1478 +#: common/models.py:1483 msgid "Parts are salable by default" msgstr "Sản phẩm mặc định có thể bán được" -#: common/models.py:1483 part/admin.py:113 part/models.py:1064 -#: 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:1484 +#: common/models.py:1489 msgid "Parts are trackable by default" msgstr "Sản phẩm mặc định có thể theo dõi được" -#: common/models.py:1489 part/admin.py:117 part/models.py:1086 +#: common/models.py:1494 part/admin.py:117 part/models.py:1096 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 -#: templates/js/translated/table_filters.js:775 +#: templates/js/translated/table_filters.js:780 msgid "Virtual" msgstr "Ảo" -#: common/models.py:1490 +#: common/models.py:1495 msgid "Parts are virtual by default" msgstr "Sản phẩm mặc định là số hóa" -#: common/models.py:1495 +#: common/models.py:1500 msgid "Show Import in Views" msgstr "Hiển thị Nhập liệu trong khung xem" -#: common/models.py:1496 +#: common/models.py:1501 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:1501 +#: common/models.py:1506 msgid "Show related parts" msgstr "Hiển thị sản phẩm liên quan" -#: common/models.py:1502 +#: common/models.py:1507 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:1507 +#: common/models.py:1512 msgid "Initial Stock Data" msgstr "Số liệu tồn kho ban đầu" -#: common/models.py:1508 +#: common/models.py:1513 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:1513 templates/js/translated/part.js:107 +#: common/models.py:1518 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "Dữ liệu nhà cung cấp ban đầu" -#: common/models.py:1515 +#: common/models.py:1520 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:1521 +#: common/models.py:1526 msgid "Part Name Display Format" msgstr "Định dạng tên sản phẩm hiển thị" -#: common/models.py:1522 +#: common/models.py:1527 msgid "Format to display the part name" msgstr "Định dạng để hiển thị tên sản phẩm" -#: common/models.py:1528 +#: common/models.py:1533 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:1529 +#: common/models.py:1534 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:1533 +#: common/models.py:1538 msgid "Enforce Parameter Units" msgstr "Bắt buộc đơn vị tham số" -#: common/models.py:1535 +#: common/models.py:1540 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:1541 +#: common/models.py:1546 msgid "Minimum Pricing Decimal Places" msgstr "Vị trí phần thập phân giá bán tối thiểu" -#: common/models.py:1543 +#: common/models.py:1548 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:1554 +#: common/models.py:1559 msgid "Maximum Pricing Decimal Places" msgstr "Vị trí phần thập phân giá bán tối đa" -#: common/models.py:1556 +#: common/models.py:1561 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:1567 +#: common/models.py:1572 msgid "Use Supplier Pricing" msgstr "Sử dụng giá bán nhà cung cấp" -#: common/models.py:1569 +#: common/models.py:1574 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:1575 +#: common/models.py:1580 msgid "Purchase History Override" msgstr "Ghi đè lịch sử mua hàng" -#: common/models.py:1577 +#: common/models.py:1582 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:1583 +#: common/models.py:1588 msgid "Use Stock Item Pricing" msgstr "Sử dụng giá hàng hóa trong kho" -#: common/models.py:1585 +#: common/models.py:1590 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:1591 +#: common/models.py:1596 msgid "Stock Item Pricing Age" msgstr "Tuổi giá kho hàng" -#: common/models.py:1593 +#: common/models.py:1598 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:1600 +#: common/models.py:1605 msgid "Use Variant Pricing" msgstr "Sử dụng giá biến thể" -#: common/models.py:1601 +#: common/models.py:1606 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:1606 +#: common/models.py:1611 msgid "Active Variants Only" msgstr "Chỉ các biến thể hoạt động" -#: common/models.py:1608 +#: common/models.py:1613 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:1614 +#: common/models.py:1619 msgid "Pricing Rebuild Interval" msgstr "Tần suất tạo lại giá" -#: common/models.py:1616 +#: common/models.py:1621 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:1623 +#: common/models.py:1628 msgid "Internal Prices" msgstr "Giá nội bộ" -#: common/models.py:1624 +#: common/models.py:1629 msgid "Enable internal prices for parts" msgstr "Bật giá nội bộ cho sản phẩm" -#: common/models.py:1629 +#: common/models.py:1634 msgid "Internal Price Override" msgstr "Ghi đè giá nội bộ" -#: common/models.py:1631 +#: common/models.py:1636 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:1637 +#: common/models.py:1642 msgid "Enable label printing" msgstr "Bật in tem nhãn" -#: common/models.py:1638 +#: common/models.py:1643 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:1643 +#: common/models.py:1648 msgid "Label Image DPI" msgstr "DPI hỉnh ảnh tem nhãn" -#: common/models.py:1645 +#: common/models.py:1650 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:1651 +#: common/models.py:1656 msgid "Enable Reports" msgstr "Bật báo cáo" -#: common/models.py:1652 +#: common/models.py:1657 msgid "Enable generation of reports" msgstr "Cho phép tạo báo cáo" -#: common/models.py:1657 templates/stats.html:25 +#: common/models.py:1662 templates/stats.html:25 msgid "Debug Mode" msgstr "Chế độ gỡ lỗi" -#: common/models.py:1658 +#: common/models.py:1663 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:1663 +#: common/models.py:1668 msgid "Log Report Errors" msgstr "" -#: common/models.py:1664 +#: common/models.py:1669 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1669 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1674 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:302 msgid "Page Size" msgstr "Khổ giấy" -#: common/models.py:1670 +#: common/models.py:1675 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:1675 +#: common/models.py:1680 msgid "Enable Test Reports" msgstr "Bật báo cáo kiểm thử" -#: common/models.py:1676 +#: common/models.py:1681 msgid "Enable generation of test reports" msgstr "Cho phép tạo báo cáo kiểm thử" -#: common/models.py:1681 +#: common/models.py:1686 msgid "Attach Test Reports" msgstr "Đính kèm báo cáo kiểm thử" -#: common/models.py:1683 +#: common/models.py:1688 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:1689 +#: common/models.py:1694 msgid "Globally Unique Serials" msgstr "Sê ri toàn cục duy nhất" -#: common/models.py:1690 +#: common/models.py:1695 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:1695 +#: common/models.py:1700 msgid "Autofill Serial Numbers" msgstr "Tự động điền số sê ri" -#: common/models.py:1696 +#: common/models.py:1701 msgid "Autofill serial numbers in forms" msgstr "Tự động điền số sê ri vào biểu mẫu" -#: common/models.py:1701 +#: common/models.py:1706 msgid "Delete Depleted Stock" msgstr "Xóa kho đã hết hàng" -#: common/models.py:1703 +#: common/models.py:1708 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1709 +#: common/models.py:1714 msgid "Batch Code Template" msgstr "Mẫu sinh mã theo lô" -#: common/models.py:1711 +#: common/models.py:1716 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:1716 +#: common/models.py:1721 msgid "Stock Expiry" msgstr "Quá hạn trong kho" -#: common/models.py:1717 +#: common/models.py:1722 msgid "Enable stock expiry functionality" msgstr "Bật chức năng quá hạn tồn kho" -#: common/models.py:1722 +#: common/models.py:1727 msgid "Sell Expired Stock" msgstr "Bán kho quá hạn" -#: common/models.py:1723 +#: common/models.py:1728 msgid "Allow sale of expired stock" msgstr "Cho phép bán hàng kho quá hạn" -#: common/models.py:1728 +#: common/models.py:1733 msgid "Stock Stale Time" msgstr "Thời gian hàng cũ trong kho" -#: common/models.py:1730 +#: common/models.py:1735 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:1737 +#: common/models.py:1742 msgid "Build Expired Stock" msgstr "Dựng kho quá hạn" -#: common/models.py:1738 +#: common/models.py:1743 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:1743 +#: common/models.py:1748 msgid "Stock Ownership Control" msgstr "Kiểm soát sở hữu kho" -#: common/models.py:1744 +#: common/models.py:1749 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:1749 +#: common/models.py:1754 msgid "Stock Location Default Icon" msgstr "Biểu tượng địa điểm kho mặc định" -#: common/models.py:1750 +#: common/models.py:1755 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:1754 +#: common/models.py:1759 msgid "Show Installed Stock Items" msgstr "Hiển thị hàng hóa đã lắp đặt" -#: common/models.py:1755 +#: common/models.py:1760 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:1760 +#: common/models.py:1765 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1762 +#: common/models.py:1767 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1768 +#: common/models.py:1773 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1770 +#: common/models.py:1775 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1776 +#: common/models.py:1781 msgid "Build Order Reference Pattern" msgstr "Mã tham chiếu đơn đặt bản dựng" -#: common/models.py:1778 +#: common/models.py:1783 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:1784 common/models.py:1826 common/models.py:1848 -#: common/models.py:1884 +#: common/models.py:1789 common/models.py:1837 common/models.py:1859 +#: common/models.py:1895 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1785 common/models.py:1827 common/models.py:1849 -#: common/models.py:1885 +#: common/models.py:1790 common/models.py:1838 common/models.py:1860 +#: common/models.py:1896 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1790 +#: common/models.py:1795 msgid "Require Active Part" msgstr "" -#: common/models.py:1791 +#: common/models.py:1796 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/models.py:1796 +#: common/models.py:1801 +#, fuzzy +#| msgid "Return to Parts" +msgid "Require Locked Part" +msgstr "Quay lại sản phẩm" + +#: common/models.py:1802 +#, fuzzy +#| msgid "Print build order report" +msgid "Prevent build order creation for unlocked parts" +msgstr "Báo cáo in đơn đặt bản dựng" + +#: common/models.py:1807 msgid "Require Valid BOM" msgstr "" -#: common/models.py:1798 +#: common/models.py:1809 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/models.py:1804 +#: common/models.py:1815 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1806 +#: common/models.py:1817 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1812 +#: common/models.py:1823 msgid "Enable Return Orders" msgstr "Bật đơn hàng trả lại" -#: common/models.py:1813 +#: common/models.py:1824 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:1818 +#: common/models.py:1829 msgid "Return Order Reference Pattern" msgstr "Mẫu tham chiếu đơn hàng trả lại" -#: common/models.py:1820 +#: common/models.py:1831 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1832 +#: common/models.py:1843 msgid "Edit Completed Return Orders" msgstr "Sửa đơn hàng trả lại đã hoàn thành" -#: common/models.py:1834 +#: common/models.py:1845 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:1840 +#: common/models.py:1851 msgid "Sales Order Reference Pattern" msgstr "Mẫu tham chiếu đơn đặt hàng" -#: common/models.py:1842 +#: common/models.py:1853 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:1854 +#: common/models.py:1865 msgid "Sales Order Default Shipment" msgstr "Vận chuyển mặc định đơn đặt hàng" -#: common/models.py:1855 +#: common/models.py:1866 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:1860 +#: common/models.py:1871 msgid "Edit Completed Sales Orders" msgstr "Sửa đơn đặt hàng đã hoàn thành" -#: common/models.py:1862 +#: common/models.py:1873 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:1868 +#: common/models.py:1879 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1870 +#: common/models.py:1881 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1876 +#: common/models.py:1887 msgid "Purchase Order Reference Pattern" msgstr "Mẫu tham chiếu đơn đặt mua" -#: common/models.py:1878 +#: common/models.py:1889 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:1890 +#: common/models.py:1901 msgid "Edit Completed Purchase Orders" msgstr "Sửa đơn đặt mua đã hoàn thành" -#: common/models.py:1892 +#: common/models.py:1903 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:1898 +#: common/models.py:1909 msgid "Auto Complete Purchase Orders" msgstr "Tự động hoàn thành đơn đặt mua" -#: common/models.py:1900 +#: common/models.py:1911 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1907 +#: common/models.py:1918 msgid "Enable password forgot" msgstr "Bật quên mật khẩu" -#: common/models.py:1908 +#: common/models.py:1919 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:1913 +#: common/models.py:1924 msgid "Enable registration" msgstr "Bật đăng ký" -#: common/models.py:1914 +#: common/models.py:1925 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:1919 +#: common/models.py:1930 msgid "Enable SSO" msgstr "Bật SSO" -#: common/models.py:1920 +#: common/models.py:1931 msgid "Enable SSO on the login pages" msgstr "Cho phép SSO tại trang đăng nhập" -#: common/models.py:1925 +#: common/models.py:1936 msgid "Enable SSO registration" msgstr "Bật đăng ký SSO" -#: common/models.py:1927 +#: common/models.py:1938 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:1933 +#: common/models.py:1944 msgid "Enable SSO group sync" msgstr "" -#: common/models.py:1935 +#: common/models.py:1946 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/models.py:1941 +#: common/models.py:1952 msgid "SSO group key" msgstr "" -#: common/models.py:1943 +#: common/models.py:1954 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/models.py:1949 +#: common/models.py:1960 msgid "SSO group map" msgstr "" -#: common/models.py:1951 +#: common/models.py:1962 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/models.py:1957 +#: common/models.py:1968 msgid "Remove groups outside of SSO" msgstr "" -#: common/models.py:1959 +#: common/models.py:1970 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/models.py:1965 +#: common/models.py:1976 msgid "Email required" msgstr "Yêu cầu email" -#: common/models.py:1966 +#: common/models.py:1977 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:1971 +#: common/models.py:1982 msgid "Auto-fill SSO users" msgstr "Người dùng tự động điền SSO" -#: common/models.py:1973 +#: common/models.py:1984 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:1979 +#: common/models.py:1990 msgid "Mail twice" msgstr "Thư 2 lần" -#: common/models.py:1980 +#: common/models.py:1991 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:1985 +#: common/models.py:1996 msgid "Password twice" msgstr "Mật khẩu 2 lần" -#: common/models.py:1986 +#: common/models.py:1997 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:1991 +#: common/models.py:2002 msgid "Allowed domains" msgstr "Các tên miền được phép" -#: common/models.py:1993 +#: common/models.py:2004 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:1999 +#: common/models.py:2010 msgid "Group on signup" msgstr "Nhóm khi đăng ký" -#: common/models.py:2001 +#: common/models.py:2012 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/models.py:2007 +#: common/models.py:2018 msgid "Enforce MFA" msgstr "Bắt buộc MFA" -#: common/models.py:2008 +#: common/models.py:2019 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:2013 +#: common/models.py:2024 msgid "Check plugins on startup" msgstr "Kiểm tra phần mở rộng khi khởi động" -#: common/models.py:2015 +#: common/models.py:2026 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:2023 +#: common/models.py:2034 msgid "Check for plugin updates" msgstr "Kiểm tra cập nhật plugin" -#: common/models.py:2024 +#: common/models.py:2035 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2030 +#: common/models.py:2041 msgid "Enable URL integration" msgstr "Bật tích hợp URL" -#: common/models.py:2031 +#: common/models.py:2042 msgid "Enable plugins to add URL routes" msgstr "Bật phần mở rộng để thêm định tuyến URL" -#: common/models.py:2037 +#: common/models.py:2048 msgid "Enable navigation integration" msgstr "Bật tích hợp điều hướng" -#: common/models.py:2038 +#: common/models.py:2049 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:2044 +#: common/models.py:2055 msgid "Enable app integration" msgstr "Bật tích hợp ứng dụng" -#: common/models.py:2045 +#: common/models.py:2056 msgid "Enable plugins to add apps" msgstr "Bật phần mở rộng để thêm ứng dụng" -#: common/models.py:2051 +#: common/models.py:2062 msgid "Enable schedule integration" msgstr "Cho phép tích hợp lập lịch" -#: common/models.py:2052 +#: common/models.py:2063 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:2058 +#: common/models.py:2069 msgid "Enable event integration" msgstr "Bật tích hợp nguồn cấp sự kiện" -#: common/models.py:2059 +#: common/models.py:2070 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:2065 +#: common/models.py:2076 msgid "Enable project codes" msgstr "Bật mã dự án" -#: common/models.py:2066 +#: common/models.py:2077 msgid "Enable project codes for tracking projects" msgstr "Bật mã dự án để theo dõi dự án" -#: common/models.py:2071 +#: common/models.py:2082 msgid "Stocktake Functionality" msgstr "Chức năng kiểm kê" -#: common/models.py:2073 +#: common/models.py:2084 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:2079 +#: common/models.py:2090 msgid "Exclude External Locations" msgstr "Ngoại trừ vị trí bên ngoài" -#: common/models.py:2081 +#: common/models.py:2092 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:2087 +#: common/models.py:2098 msgid "Automatic Stocktake Period" msgstr "Giai đoạn kiểm kê tự động" -#: common/models.py:2089 +#: common/models.py:2100 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:2095 +#: common/models.py:2106 msgid "Report Deletion Interval" msgstr "Khoảng thời gian xóa báo cáo" -#: common/models.py:2097 +#: common/models.py:2108 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:2104 +#: common/models.py:2115 msgid "Display Users full names" msgstr "Hiển thị tên đầy đủ của người dùng" -#: common/models.py:2105 +#: common/models.py:2116 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:2110 +#: common/models.py:2121 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2111 +#: common/models.py:2122 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2123 common/models.py:2533 +#: common/models.py:2134 common/models.py:2514 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:2166 +#: common/models.py:2177 msgid "Hide inactive parts" msgstr "Ẩn sản phẩm ngừng hoạt động" -#: common/models.py:2168 +#: common/models.py:2179 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:2174 +#: common/models.py:2185 msgid "Show subscribed parts" msgstr "Hiện sản phẩm đã đăng ký" -#: common/models.py:2175 +#: common/models.py:2186 msgid "Show subscribed parts on the homepage" msgstr "Hiện sản phẩm đã đăng ký trên trang chủ" -#: common/models.py:2180 +#: common/models.py:2191 msgid "Show subscribed categories" msgstr "Hiện danh mục đã đăng ký" -#: common/models.py:2181 +#: common/models.py:2192 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:2186 +#: common/models.py:2197 msgid "Show latest parts" msgstr "Hiển thị nguyên liệu mới nhất" -#: common/models.py:2187 +#: common/models.py:2198 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:2192 +#: common/models.py:2203 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2193 +#: common/models.py:2204 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:2198 +#: common/models.py:2209 msgid "Show recent stock changes" msgstr "Hiện thay đổi kho hàng gần đây" -#: common/models.py:2199 +#: common/models.py:2210 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:2204 +#: common/models.py:2215 msgid "Show low stock" msgstr "Hiển thị hàng còn ít" -#: common/models.py:2205 +#: common/models.py:2216 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:2210 +#: common/models.py:2221 msgid "Show depleted stock" msgstr "Hiển thị hết hàng" -#: common/models.py:2211 +#: common/models.py:2222 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:2216 +#: common/models.py:2227 msgid "Show needed stock" msgstr "Hiển thị hàng cần thiết" -#: common/models.py:2217 +#: common/models.py:2228 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:2222 +#: common/models.py:2233 msgid "Show expired stock" msgstr "Bán kho quá hạn" -#: common/models.py:2223 +#: common/models.py:2234 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:2228 +#: common/models.py:2239 msgid "Show stale stock" msgstr "Hiện kho hàng ế" -#: common/models.py:2229 +#: common/models.py:2240 msgid "Show stale stock items on the homepage" msgstr "Hiện hàng trong kho bị ế trên trang chủ" -#: common/models.py:2234 +#: common/models.py:2245 msgid "Show pending builds" msgstr "Hiện bản dựng chờ xử lý" -#: common/models.py:2235 +#: common/models.py:2246 msgid "Show pending builds on the homepage" msgstr "Hiện bản dựng chờ xử lý trên trang chủ" -#: common/models.py:2240 +#: common/models.py:2251 msgid "Show overdue builds" msgstr "Hiện bản dựng quá hạn" -#: common/models.py:2241 +#: common/models.py:2252 msgid "Show overdue builds on the homepage" msgstr "Hiện bản dựng quá hạn trên trang chủ" -#: common/models.py:2246 +#: common/models.py:2257 msgid "Show outstanding POs" msgstr "Hiện PO nổi bật" -#: common/models.py:2247 +#: common/models.py:2258 msgid "Show outstanding POs on the homepage" msgstr "Hiện PO nổi bật trên trang chủ" -#: common/models.py:2252 +#: common/models.py:2263 msgid "Show overdue POs" msgstr "Hiện PO quá hạn" -#: common/models.py:2253 +#: common/models.py:2264 msgid "Show overdue POs on the homepage" msgstr "Hiện đơn mua hàng quá hạn trên trang chủ" -#: common/models.py:2258 +#: common/models.py:2269 msgid "Show outstanding SOs" msgstr "Hiện đơn hàng vận chuyển nổi bật" -#: common/models.py:2259 +#: common/models.py:2270 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:2264 +#: common/models.py:2275 msgid "Show overdue SOs" msgstr "Hiện đơn vận chuyển quá hạn" -#: common/models.py:2265 +#: common/models.py:2276 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:2270 +#: common/models.py:2281 msgid "Show pending SO shipments" msgstr "Hiện đơn vận chuyển chờ xử lý" -#: common/models.py:2271 +#: common/models.py:2282 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:2276 +#: common/models.py:2287 msgid "Show News" msgstr "Hiện tin tức" -#: common/models.py:2277 +#: common/models.py:2288 msgid "Show news on the homepage" msgstr "Hiện tin tức trên trang chủ" -#: common/models.py:2282 +#: common/models.py:2293 msgid "Inline label display" msgstr "Hiển thị nhãn cùng dòng" -#: common/models.py:2284 +#: common/models.py:2295 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:2290 +#: common/models.py:2301 msgid "Default label printer" msgstr "Máy in tem nhãn mặc định" -#: common/models.py:2292 +#: common/models.py:2303 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:2298 +#: common/models.py:2309 msgid "Inline report display" msgstr "Hiển thị báo cáo cùng hàng" -#: common/models.py:2300 +#: common/models.py:2311 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:2306 +#: common/models.py:2317 msgid "Search Parts" msgstr "Tìm sản phẩm" -#: common/models.py:2307 +#: common/models.py:2318 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:2312 +#: common/models.py:2323 msgid "Search Supplier Parts" msgstr "Tìm sản phẩm nhà cung cấp" -#: common/models.py:2313 +#: common/models.py:2324 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:2318 +#: common/models.py:2329 msgid "Search Manufacturer Parts" msgstr "Tìm sản phẩm nhà sản xuất" -#: common/models.py:2319 +#: common/models.py:2330 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:2324 +#: common/models.py:2335 msgid "Hide Inactive Parts" msgstr "Ẩn sản phẩm ngừng hoạt động" -#: common/models.py:2325 +#: common/models.py:2336 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:2330 +#: common/models.py:2341 msgid "Search Categories" msgstr "Tìm kiếm danh mục" -#: common/models.py:2331 +#: common/models.py:2342 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:2336 +#: common/models.py:2347 msgid "Search Stock" msgstr "Tìm kiếm kho" -#: common/models.py:2337 +#: common/models.py:2348 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:2342 +#: common/models.py:2353 msgid "Hide Unavailable Stock Items" msgstr "Ẩn hàng hóa trong kho không có sẵn" -#: common/models.py:2344 +#: common/models.py:2355 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:2350 +#: common/models.py:2361 msgid "Search Locations" msgstr "Tìm kiếm vị trí" -#: common/models.py:2351 +#: common/models.py:2362 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:2356 +#: common/models.py:2367 msgid "Search Companies" msgstr "Tìm kiếm công ty" -#: common/models.py:2357 +#: common/models.py:2368 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:2362 +#: common/models.py:2373 msgid "Search Build Orders" msgstr "Tìm kiếm đặt hàng xây dựng" -#: common/models.py:2363 +#: common/models.py:2374 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:2368 +#: common/models.py:2379 msgid "Search Purchase Orders" msgstr "Tìm kiếm đơn đặt mua" -#: common/models.py:2369 +#: common/models.py:2380 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:2374 +#: common/models.py:2385 msgid "Exclude Inactive Purchase Orders" msgstr "Loại trừ đơn đặt mua không hoạt động" -#: common/models.py:2376 +#: common/models.py:2387 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:2382 +#: common/models.py:2393 msgid "Search Sales Orders" msgstr "Tìm đơn đặt hàng người mua" -#: common/models.py:2383 +#: common/models.py:2394 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:2388 +#: common/models.py:2399 msgid "Exclude Inactive Sales Orders" msgstr "Loại trừ đơn đặt hàng người mua không hoạt động" -#: common/models.py:2390 +#: common/models.py:2401 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:2396 +#: common/models.py:2407 msgid "Search Return Orders" msgstr "Tìm kiếm đơn hàng trả lại" -#: common/models.py:2397 +#: common/models.py:2408 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:2402 +#: common/models.py:2413 msgid "Exclude Inactive Return Orders" msgstr "Loại trừ đơn hàng trả lại không hoạt động" -#: common/models.py:2404 +#: common/models.py:2415 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:2410 +#: common/models.py:2421 msgid "Search Preview Results" msgstr "Kết quả xem trước tìm kiếm" -#: common/models.py:2412 +#: common/models.py:2423 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:2418 +#: common/models.py:2429 msgid "Regex Search" msgstr "Tìm kiếm biểu thức" -#: common/models.py:2419 +#: common/models.py:2430 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:2424 +#: common/models.py:2435 msgid "Whole Word Search" msgstr "Tìm phù hợp toàn bộ chữ" -#: common/models.py:2425 +#: common/models.py:2436 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:2430 +#: common/models.py:2441 msgid "Show Quantity in Forms" msgstr "Hiện số lượng trong biểu mẫu" -#: common/models.py:2431 +#: common/models.py:2442 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:2436 +#: common/models.py:2447 msgid "Escape Key Closes Forms" msgstr "Phím escape để đóng mẫu biểu" -#: common/models.py:2437 +#: common/models.py:2448 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:2442 +#: common/models.py:2453 msgid "Fixed Navbar" msgstr "Cố định điều hướng" -#: common/models.py:2443 +#: common/models.py:2454 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:2448 +#: common/models.py:2459 msgid "Date Format" msgstr "Định dạng ngày" -#: common/models.py:2449 +#: common/models.py:2460 msgid "Preferred format for displaying dates" msgstr "Định dạng ưa chuộng khi hiển thị ngày" -#: common/models.py:2462 part/templates/part/detail.html:41 +#: common/models.py:2473 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Lập lịch sản phẩm" -#: common/models.py:2463 +#: common/models.py:2474 msgid "Display part scheduling information" msgstr "Hiển thị thông tin lịch sản phẩm" -#: common/models.py:2468 part/templates/part/detail.html:62 +#: common/models.py:2479 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "Kiểm kê sản phẩm" -#: common/models.py:2470 +#: common/models.py:2481 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:2476 +#: common/models.py:2487 msgid "Table String Length" msgstr "Độ dài chuỗi trong bảng" -#: common/models.py:2478 +#: common/models.py:2489 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:2484 -msgid "Default part label template" -msgstr "Mẫu nhãn sản phẩm mặc định" - -#: common/models.py:2485 -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:2490 -msgid "Default stock item template" -msgstr "Mẫu hàng hóa trong khi mặc định" - -#: common/models.py:2492 -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:2498 -msgid "Default stock location label template" -msgstr "Mẫu nhãn vị trí kho mặc định" - -#: common/models.py:2500 -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:2506 -msgid "Default build line label template" -msgstr "" - -#: common/models.py:2508 -msgid "The build line label template to be automatically selected" -msgstr "" - -#: common/models.py:2514 +#: common/models.py:2495 msgid "Receive error reports" msgstr "Nhận báo cáo lỗi" -#: common/models.py:2515 +#: common/models.py:2496 msgid "Receive notifications for system errors" msgstr "Nhận thông báo khi có lỗi hệ thống" -#: common/models.py:2520 +#: common/models.py:2501 msgid "Last used printing machines" msgstr "" -#: common/models.py:2521 +#: common/models.py:2502 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2541 common/models.py:2542 common/models.py:2691 -#: common/models.py:2692 common/models.py:2937 common/models.py:2938 -#: common/models.py:3259 common/models.py:3260 part/models.py:3193 -#: part/models.py:3280 part/models.py:3353 part/models.py:3381 -#: plugin/models.py:274 plugin/models.py:275 +#: common/models.py:2522 common/models.py:2523 common/models.py:2672 +#: common/models.py:2673 common/models.py:2918 common/models.py:2919 +#: common/models.py:3245 common/models.py:3246 importer/models.py:85 +#: part/models.py:3203 part/models.py:3290 part/models.py:3364 +#: part/models.py:3392 plugin/models.py:274 plugin/models.py:275 #: 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" -#: common/models.py:2564 +#: common/models.py:2545 msgid "Price break quantity" msgstr "Số lượng giá phá vỡ" -#: common/models.py:2571 company/serializers.py:472 order/admin.py:42 -#: order/models.py:1346 order/models.py:2265 -#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1886 +#: common/models.py:2552 company/serializers.py:502 order/admin.py:42 +#: order/models.py:1346 order/models.py:2292 +#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1889 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:740 msgid "Price" msgstr "Giá" -#: common/models.py:2572 +#: common/models.py:2553 msgid "Unit price at specified quantity" msgstr "Đơn vị giá theo số lượng cụ thể" -#: common/models.py:2668 common/models.py:2853 +#: common/models.py:2649 common/models.py:2834 msgid "Endpoint" msgstr "Đầu mối" -#: common/models.py:2669 +#: common/models.py:2650 msgid "Endpoint at which this webhook is received" msgstr "Đầu mối tại điểm webhook được nhận" -#: common/models.py:2679 +#: common/models.py:2660 msgid "Name for this webhook" msgstr "Tên của webhook này" -#: common/models.py:2683 +#: common/models.py:2664 msgid "Is this webhook active" msgstr "Webhook có hoạt động không" -#: common/models.py:2699 users/models.py:159 +#: common/models.py:2680 users/models.py:159 msgid "Token" msgstr "Chữ ký số" -#: common/models.py:2700 +#: common/models.py:2681 msgid "Token for access" msgstr "Chữ ký số để truy cập" -#: common/models.py:2708 +#: common/models.py:2689 msgid "Secret" msgstr "Bí mật" -#: common/models.py:2709 +#: common/models.py:2690 msgid "Shared secret for HMAC" msgstr "Mã bí mật dùng chung cho HMAC" -#: common/models.py:2817 +#: common/models.py:2798 msgid "Message ID" msgstr "Mã Tin nhắn" -#: common/models.py:2818 +#: common/models.py:2799 msgid "Unique identifier for this message" msgstr "Định danh duy nhất cho tin nhắn này" -#: common/models.py:2826 +#: common/models.py:2807 msgid "Host" msgstr "Máy chủ" -#: common/models.py:2827 +#: common/models.py:2808 msgid "Host from which this message was received" msgstr "Mãy chủ từ tin nhắn này đã được nhận" -#: common/models.py:2835 +#: common/models.py:2816 msgid "Header" msgstr "Đầu mục" -#: common/models.py:2836 +#: common/models.py:2817 msgid "Header of this message" msgstr "Đầu mục tin nhắn" -#: common/models.py:2843 +#: common/models.py:2824 msgid "Body" msgstr "Thân" -#: common/models.py:2844 +#: common/models.py:2825 msgid "Body of this message" msgstr "Thân tin nhắn này" -#: common/models.py:2854 +#: common/models.py:2835 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:2859 +#: common/models.py:2840 msgid "Worked on" msgstr "Làm việc vào" -#: common/models.py:2860 +#: common/models.py:2841 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:2986 +#: common/models.py:2967 msgid "Id" msgstr "Mã" -#: common/models.py:2988 templates/js/translated/company.js:965 +#: common/models.py:2969 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "Tiêu đề" -#: common/models.py:2990 common/models.py:3243 company/models.py:149 -#: company/models.py:440 company/models.py:500 company/models.py:799 -#: order/models.py:303 order/models.py:1301 order/models.py:1717 -#: part/admin.py:55 part/models.py:955 +#: common/models.py:2971 common/models.py:3229 company/models.py:149 +#: company/models.py:446 company/models.py:506 company/models.py:806 +#: order/models.py:303 order/models.py:1301 order/models.py:1733 +#: part/admin.py:55 part/models.py:959 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:229 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/part.js:2459 #: templates/js/translated/purchase_order.js:2040 #: templates/js/translated/purchase_order.js:2204 #: templates/js/translated/return_order.js:779 @@ -3607,28 +3660,28 @@ msgstr "Tiêu đề" msgid "Link" msgstr "Liên kết" -#: common/models.py:2992 templates/js/translated/news.js:60 +#: common/models.py:2973 templates/js/translated/news.js:60 msgid "Published" msgstr "Đã công bố" -#: common/models.py:2994 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2975 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:2996 templates/js/translated/news.js:52 +#: common/models.py:2977 templates/js/translated/news.js:52 msgid "Summary" msgstr "Tóm tắt" -#: common/models.py:2999 +#: common/models.py:2980 msgid "Read" msgstr "Đọc" -#: common/models.py:2999 +#: common/models.py:2980 msgid "Was this news item read?" msgstr "Tin này đã được đọc?" -#: common/models.py:3016 company/models.py:159 part/models.py:965 +#: common/models.py:2997 company/models.py:159 part/models.py:969 #: 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.html:35 @@ -3638,90 +3691,96 @@ msgstr "Tin này đã được đọc?" msgid "Image" msgstr "Hình ảnh" -#: common/models.py:3016 +#: common/models.py:2997 msgid "Image file" msgstr "Tệp ảnh" -#: common/models.py:3028 common/models.py:3227 +#: common/models.py:3009 common/models.py:3213 msgid "Target model type for this image" msgstr "" -#: common/models.py:3032 +#: common/models.py:3013 msgid "Target model ID for this image" msgstr "" -#: common/models.py:3070 +#: common/models.py:3035 +#, fuzzy +#| msgid "Customer ID" +msgid "Custom Unit" +msgstr "ID Khách hàng" + +#: common/models.py:3056 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:3085 +#: common/models.py:3071 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:3104 +#: common/models.py:3090 msgid "Unit name" msgstr "Tên đơn vị" -#: common/models.py:3111 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3097 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "Biểu tượng" -#: common/models.py:3112 +#: common/models.py:3098 msgid "Optional unit symbol" msgstr "Biểu tượng đơn vị tùy chọn" -#: common/models.py:3118 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3104 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "Định nghĩa" -#: common/models.py:3119 +#: common/models.py:3105 msgid "Unit definition" msgstr "Định nghĩa đơn vị" -#: common/models.py:3177 common/models.py:3234 stock/models.py:2461 +#: common/models.py:3163 common/models.py:3220 stock/models.py:2471 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" msgstr "Đính kèm" -#: common/models.py:3189 +#: common/models.py:3175 msgid "Missing file" msgstr "Tập tin bị thiếu" -#: common/models.py:3190 +#: common/models.py:3176 msgid "Missing external link" msgstr "Thiếu liên kết bên ngoài" -#: common/models.py:3235 +#: common/models.py:3221 msgid "Select file to attach" msgstr "Chọn file đính kèm" -#: common/models.py:3250 templates/js/translated/attachment.js:120 +#: common/models.py:3236 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" msgstr "Bình luận" -#: common/models.py:3251 +#: common/models.py:3237 msgid "Attachment comment" msgstr "" -#: common/models.py:3267 +#: common/models.py:3253 msgid "Upload date" msgstr "" -#: common/models.py:3268 +#: common/models.py:3254 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:3272 +#: common/models.py:3258 msgid "File size" msgstr "" -#: common/models.py:3272 +#: common/models.py:3258 msgid "File size in bytes" msgstr "" -#: common/models.py:3310 common/serializers.py:553 +#: common/models.py:3296 common/serializers.py:557 msgid "Invalid model type specified for attachment" msgstr "" @@ -3743,7 +3802,7 @@ msgstr "{verbose_name} đã bị hủy" msgid "A order that is assigned to you was canceled" msgstr "Một đơn đặt từng được phân công cho bạn đã bị hủy bỏ" -#: common/notifications.py:330 common/notifications.py:337 order/api.py:472 +#: common/notifications.py:330 common/notifications.py:337 order/api.py:454 msgid "Items Received" msgstr "Mục đã nhận" @@ -3759,75 +3818,75 @@ msgstr "Hàng đã nhận theo đơn hàng trả lại" msgid "Error raised by plugin" msgstr "Lỗi được thông báo bởi phần mở rộng" -#: common/serializers.py:371 +#: common/serializers.py:375 msgid "Is Running" msgstr "Đang chạy" -#: common/serializers.py:377 +#: common/serializers.py:381 msgid "Pending Tasks" msgstr "Công việc chờ xử lý" -#: common/serializers.py:383 +#: common/serializers.py:387 msgid "Scheduled Tasks" msgstr "Tác vụ theo lịch" -#: common/serializers.py:389 +#: common/serializers.py:393 msgid "Failed Tasks" msgstr "Tác vụ thất bại" -#: common/serializers.py:404 +#: common/serializers.py:408 msgid "Task ID" msgstr "ID tác vụ" -#: common/serializers.py:404 +#: common/serializers.py:408 msgid "Unique task ID" msgstr "ID tác vụ duy nhất" -#: common/serializers.py:406 +#: common/serializers.py:410 msgid "Lock" msgstr "Khoá" -#: common/serializers.py:406 +#: common/serializers.py:410 msgid "Lock time" msgstr "Thời gian khóa" -#: common/serializers.py:408 +#: common/serializers.py:412 msgid "Task name" msgstr "Tên công việc" -#: common/serializers.py:410 +#: common/serializers.py:414 msgid "Function" msgstr "Chức năng" -#: common/serializers.py:410 +#: common/serializers.py:414 msgid "Function name" msgstr "Tên chức năng" -#: common/serializers.py:412 +#: common/serializers.py:416 msgid "Arguments" msgstr "Đối số" -#: common/serializers.py:412 +#: common/serializers.py:416 msgid "Task arguments" msgstr "Đối số công việc" -#: common/serializers.py:415 +#: common/serializers.py:419 msgid "Keyword Arguments" msgstr "Đối số từ khóa" -#: common/serializers.py:415 +#: common/serializers.py:419 msgid "Task keyword arguments" msgstr "Đối số từ khóa công việc" -#: common/serializers.py:525 +#: common/serializers.py:529 msgid "Filename" msgstr "Tên tập tin" -#: common/serializers.py:532 report/api.py:100 report/serializers.py:53 +#: common/serializers.py:536 report/api.py:100 report/serializers.py:53 msgid "Model Type" msgstr "" -#: common/serializers.py:559 +#: common/serializers.py:563 msgid "User does not have permission to create or edit attachments for this model" msgstr "" @@ -3894,29 +3953,29 @@ msgstr "Hàng hóa đã được nhập vào" msgid "Previous Step" msgstr "Bước trước" -#: company/api.py:144 +#: company/api.py:141 msgid "Part is Active" msgstr "" -#: company/api.py:148 +#: company/api.py:145 msgid "Manufacturer is Active" msgstr "" -#: company/api.py:281 +#: company/api.py:278 msgid "Supplier Part is Active" msgstr "" -#: company/api.py:285 +#: company/api.py:282 msgid "Internal Part is Active" msgstr "" -#: company/api.py:289 +#: company/api.py:286 msgid "Supplier is Active" msgstr "" -#: company/models.py:100 company/models.py:365 +#: company/models.py:100 company/models.py:371 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:822 +#: company/templates/company/company_base.html:12 stock/api.py:814 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "Doanh nghiêp" @@ -3956,8 +4015,9 @@ msgstr "Số điện thoại liên hệ" msgid "Contact email address" msgstr "Địa chỉ email liên hệ" -#: company/models.py:142 company/templates/company/company_base.html:145 -#: order/models.py:343 order/templates/order/order_base.html:203 +#: company/models.py:142 company/models.py:275 +#: company/templates/company/company_base.html:145 order/models.py:343 +#: order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 #: order/templates/order/sales_order_base.html:218 msgid "Contact" @@ -3976,7 +4036,9 @@ msgid "Is this company active?" msgstr "" #: company/models.py:168 -msgid "is customer" +#, fuzzy +#| msgid "is customer" +msgid "Is customer" msgstr "là khách hàng" #: company/models.py:169 @@ -3984,7 +4046,9 @@ msgid "Do you sell items to this company?" msgstr "Bạn có bán hàng cho công ty này?" #: company/models.py:174 -msgid "is supplier" +#, fuzzy +#| msgid "is supplier" +msgid "Is supplier" msgstr "là nhà cung cấp" #: company/models.py:175 @@ -3992,7 +4056,9 @@ msgid "Do you purchase items from this company?" msgstr "Bạn có mua hàng từ công ty này?" #: company/models.py:180 -msgid "is manufacturer" +#, fuzzy +#| msgid "is manufacturer" +msgid "Is manufacturer" msgstr "là nhà sản xuất" #: company/models.py:181 @@ -4003,178 +4069,191 @@ msgstr "Công ty này có sản xuất sản phẩm?" msgid "Default currency used for this company" msgstr "Tiền tệ mặc định dùng cho công ty này" -#: company/models.py:366 +#: company/models.py:314 company/templates/company/company_base.html:124 +#: order/models.py:353 order/templates/order/order_base.html:210 +#: order/templates/order/return_order_base.html:181 +#: order/templates/order/sales_order_base.html:225 +msgid "Address" +msgstr "Địa chỉ" + +#: company/models.py:315 company/templates/company/sidebar.html:35 +msgid "Addresses" +msgstr "Địa chỉ" + +#: company/models.py:372 msgid "Select company" msgstr "Chọn doanh nghiệp" -#: company/models.py:371 +#: company/models.py:377 msgid "Address title" msgstr "Tiêu đề địa chỉ" -#: company/models.py:372 +#: company/models.py:378 msgid "Title describing the address entry" msgstr "Tiêu đề mô tả mục địa chỉ" -#: company/models.py:378 +#: company/models.py:384 msgid "Primary address" msgstr "Địa chỉ chính" -#: company/models.py:379 +#: company/models.py:385 msgid "Set as primary address" msgstr "Đặt làm địa chỉ chính" -#: company/models.py:384 templates/js/translated/company.js:914 +#: company/models.py:390 templates/js/translated/company.js:914 #: templates/js/translated/company.js:971 msgid "Line 1" msgstr "Dòng 1" -#: company/models.py:385 +#: company/models.py:391 msgid "Address line 1" msgstr "Địa chỉ dòng 1" -#: company/models.py:391 templates/js/translated/company.js:915 +#: company/models.py:397 templates/js/translated/company.js:915 #: templates/js/translated/company.js:977 msgid "Line 2" msgstr "Dòng 2" -#: company/models.py:392 +#: company/models.py:398 msgid "Address line 2" msgstr "Địa chỉ dòng 2" -#: company/models.py:398 company/models.py:399 +#: company/models.py:404 company/models.py:405 #: templates/js/translated/company.js:983 msgid "Postal code" msgstr "Mã bưu chính" -#: company/models.py:405 +#: company/models.py:411 msgid "City/Region" msgstr "Thành phố/Vùng" -#: company/models.py:406 +#: company/models.py:412 msgid "Postal code city/region" msgstr "Mã bưu chính thành phố/vùng" -#: company/models.py:412 +#: company/models.py:418 msgid "State/Province" msgstr "Bang/Tỉnh" -#: company/models.py:413 +#: company/models.py:419 msgid "State or province" msgstr "Bang hay tỉnh" -#: company/models.py:419 templates/js/translated/company.js:1001 +#: company/models.py:425 templates/js/translated/company.js:1001 msgid "Country" msgstr "Quốc gia" -#: company/models.py:420 +#: company/models.py:426 msgid "Address country" msgstr "Địa chỉ quốc gia" -#: company/models.py:426 +#: company/models.py:432 msgid "Courier shipping notes" msgstr "Ghi chú vận chuyển" -#: company/models.py:427 +#: company/models.py:433 msgid "Notes for shipping courier" msgstr "Ghi chú dành cho chuyển phát nhanh" -#: company/models.py:433 +#: company/models.py:439 msgid "Internal shipping notes" msgstr "Ghi chú nội bọ chuyển phát nhanh" -#: company/models.py:434 +#: company/models.py:440 msgid "Shipping notes for internal use" msgstr "Ghi chú nội bộ sử dụng cho chuyển phát nhanh" -#: company/models.py:441 +#: company/models.py:447 msgid "Link to address information (external)" msgstr "Liên kết thông tin địa chỉ (bên ngoài)" -#: company/models.py:463 company/models.py:574 company/models.py:792 +#: company/models.py:469 company/models.py:581 company/models.py:799 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:217 msgid "Manufacturer Part" msgstr "Sản phẩm nhà sản xuất" -#: company/models.py:475 company/models.py:760 stock/models.py:767 -#: stock/serializers.py:422 stock/templates/stock/item_base.html:142 +#: company/models.py:481 company/models.py:767 stock/models.py:767 +#: stock/serializers.py:442 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "Sản phẩm cơ bản" -#: company/models.py:477 company/models.py:762 +#: company/models.py:483 company/models.py:769 msgid "Select part" msgstr "Chọn sản phẩm" -#: company/models.py:486 company/templates/company/company_base.html:82 +#: company/models.py:492 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:525 +#: company/templates/company/supplier_part.html:145 part/serializers.py:543 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 #: templates/js/translated/company.js:1296 #: templates/js/translated/company.js:1611 -#: templates/js/translated/table_filters.js:800 +#: templates/js/translated/table_filters.js:805 msgid "Manufacturer" msgstr "Nhà sản xuất" -#: company/models.py:487 +#: company/models.py:493 msgid "Select manufacturer" msgstr "Chọn nhà sản xuất" -#: company/models.py:493 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:535 -#: templates/js/translated/company.js:351 +#: company/models.py:499 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:153 order/serializers.py:518 +#: part/serializers.py:553 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:1801 +#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1804 #: templates/js/translated/purchase_order.js:1851 #: templates/js/translated/purchase_order.js:2053 msgid "MPN" msgstr "" -#: company/models.py:494 -msgid "Manufacturer Part Number" -msgstr "Mã số nhà sản xuất" - -#: company/models.py:501 +#: company/models.py:507 msgid "URL for external manufacturer part link" msgstr "URL cho liên kết sản phẩm của nhà sản xuất bên ngoài" -#: company/models.py:510 +#: company/models.py:516 msgid "Manufacturer part description" msgstr "Mô tả sản phẩm của nhà sản xuất" -#: company/models.py:581 +#: company/models.py:569 +#, fuzzy +#| msgid "Manufacturer Part Number" +msgid "Manufacturer Part Parameter" +msgstr "Mã số nhà sản xuất" + +#: company/models.py:588 msgid "Parameter name" msgstr "Tên tham số" -#: company/models.py:587 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2453 templates/js/translated/company.js:1166 -#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1493 +#: company/models.py:594 report/templates/report/inventree_test_report.html:104 +#: stock/models.py:2463 templates/js/translated/company.js:1166 +#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1496 #: templates/js/translated/stock.js:1522 msgid "Value" msgstr "Giá trị" -#: company/models.py:588 +#: company/models.py:595 msgid "Parameter value" msgstr "Giá trị tham số" -#: company/models.py:595 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1045 part/models.py:3646 +#: company/models.py:602 company/templates/company/supplier_part.html:168 +#: part/admin.py:57 part/models.py:1049 part/models.py:3667 #: part/templates/part/part_base.html:284 -#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1512 -#: templates/js/translated/part.js:1616 templates/js/translated/part.js:2370 +#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1515 +#: templates/js/translated/part.js:1619 templates/js/translated/part.js:2373 msgid "Units" msgstr "Đơn vị" -#: company/models.py:596 +#: company/models.py:603 msgid "Parameter units" msgstr "Đơn vị tham số" -#: company/models.py:648 company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 order/api.py:452 +#: company/models.py:655 company/templates/company/supplier_part.html:7 +#: company/templates/company/supplier_part.html:24 order/api.py:434 #: stock/models.py:778 stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 @@ -4182,91 +4261,91 @@ msgstr "Đơn vị tham số" msgid "Supplier Part" msgstr "Sản phẩm nhà cung cấp" -#: company/models.py:700 +#: company/models.py:707 msgid "Pack units must be compatible with the base part units" msgstr "Đơn vị đóng gói phải tương thích với đơn vị sản phẩm cơ bản" -#: company/models.py:707 +#: company/models.py:714 msgid "Pack units must be greater than zero" msgstr "Đơn vị đóng gói phải lớn hơn không" -#: company/models.py:721 +#: company/models.py:728 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:770 company/templates/company/company_base.html:87 +#: company/models.py:777 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:509 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:527 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 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:511 -#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1769 +#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1772 #: templates/js/translated/pricing.js:498 #: templates/js/translated/purchase_order.js:1689 -#: templates/js/translated/table_filters.js:804 +#: templates/js/translated/table_filters.js:809 msgid "Supplier" msgstr "Nhà cung cấp" -#: company/models.py:771 +#: company/models.py:778 msgid "Select supplier" msgstr "Chọn nhà cung cấp" -#: company/models.py:777 part/serializers.py:520 +#: company/models.py:784 part/serializers.py:538 msgid "Supplier stock keeping unit" msgstr "Đơn vị quản lý kho nhà cung cấp" -#: company/models.py:783 +#: company/models.py:790 msgid "Is this supplier part active?" msgstr "" -#: company/models.py:793 +#: company/models.py:800 msgid "Select manufacturer part" msgstr "Chọn sản phẩm của nhà sản xuất" -#: company/models.py:800 +#: company/models.py:807 msgid "URL for external supplier part link" msgstr "URL cho liên kết sản phẩm của nhà cung cấp bên ngoài" -#: company/models.py:809 +#: company/models.py:816 msgid "Supplier part description" msgstr "Mô tả sản phẩm nhà cung cấp" -#: company/models.py:816 company/templates/company/supplier_part.html:187 -#: part/admin.py:412 part/models.py:4093 part/templates/part/upload_bom.html:59 +#: company/models.py:823 company/templates/company/supplier_part.html:187 +#: part/admin.py:412 part/models.py:4178 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: 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:710 +#: stock/serializers.py:768 msgid "Note" msgstr "Ghi chú" -#: company/models.py:825 part/models.py:2003 +#: company/models.py:832 part/models.py:2013 msgid "base cost" msgstr "chi phí cơ sở" -#: company/models.py:826 part/models.py:2004 +#: company/models.py:833 part/models.py:2014 msgid "Minimum charge (e.g. stocking fee)" msgstr "Thu phí tối thiểu (vd: phí kho bãi)" -#: company/models.py:833 company/templates/company/supplier_part.html:160 -#: stock/admin.py:228 stock/models.py:798 stock/serializers.py:1475 +#: company/models.py:840 company/templates/company/supplier_part.html:160 +#: stock/admin.py:228 stock/models.py:798 stock/serializers.py:1541 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 msgid "Packaging" msgstr "Đóng gói" -#: company/models.py:834 +#: company/models.py:841 msgid "Part packaging" msgstr "Đóng gói sản phẩm" -#: company/models.py:839 templates/js/translated/company.js:1651 -#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 +#: company/models.py:846 templates/js/translated/company.js:1651 +#: templates/js/translated/part.js:1825 templates/js/translated/part.js:1881 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 #: templates/js/translated/purchase_order.js:1103 @@ -4275,35 +4354,47 @@ msgstr "Đóng gói sản phẩm" msgid "Pack Quantity" msgstr "Số lượng gói" -#: company/models.py:841 +#: company/models.py:848 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:860 part/models.py:2010 +#: company/models.py:867 part/models.py:2020 msgid "multiple" msgstr "nhiều" -#: company/models.py:861 +#: company/models.py:868 msgid "Order multiple" msgstr "Đặt hàng nhiều" -#: company/models.py:873 +#: company/models.py:880 msgid "Quantity available from supplier" msgstr "Số lượng có sẵn từ nhà cung cấp" -#: company/models.py:879 +#: company/models.py:886 msgid "Availability Updated" msgstr "Sẵn hàng đã được cập nhật" -#: company/models.py:880 +#: company/models.py:887 msgid "Date of last update of availability data" msgstr "Ngày cập nhật cuối thông tin tồn kho" -#: company/serializers.py:161 +#: company/models.py:1015 +#, fuzzy +#| msgid "Supplier Pricing" +msgid "Supplier Price Break" +msgstr "Giá bán nhà cung cấp" + +#: company/serializers.py:174 msgid "Default currency used for this supplier" msgstr "Tiền tệ mặc định được sử dụng cho nhà cung cấp này" -#: company/serializers.py:357 part/admin.py:126 +#: company/serializers.py:210 +#, fuzzy +#| msgid "Company name" +msgid "Company Name" +msgstr "Tên công ty" + +#: company/serializers.py:384 part/admin.py:126 part/serializers.py:855 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:355 @@ -4315,7 +4406,7 @@ msgstr "Còn hàng" #: templates/js/translated/company.js:1287 #: templates/js/translated/company.js:1575 #: templates/js/translated/model_renderers.js:312 -#: templates/js/translated/part.js:815 templates/js/translated/part.js:1219 +#: templates/js/translated/part.js:814 templates/js/translated/part.js:1222 msgid "Inactive" msgstr "Không hoạt động" @@ -4374,16 +4465,16 @@ msgid "Delete image" msgstr "Xóa ảnh" #: company/templates/company/company_base.html:92 order/models.py:938 -#: order/models.py:2032 order/templates/order/return_order_base.html:131 +#: order/models.py:2058 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:148 stock/models.py:820 -#: stock/models.py:821 stock/serializers.py:1225 +#: stock/models.py:821 stock/serializers.py:1291 #: 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:295 #: templates/js/translated/sales_order.js:820 #: templates/js/translated/stock.js:2959 -#: templates/js/translated/table_filters.js:808 +#: templates/js/translated/table_filters.js:813 msgid "Customer" msgstr "Khách hàng" @@ -4391,13 +4482,6 @@ 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:353 -#: order/templates/order/order_base.html:210 -#: order/templates/order/return_order_base.html:181 -#: order/templates/order/sales_order_base.html:225 -msgid "Address" -msgstr "Địa chỉ" - #: company/templates/company/company_base.html:131 msgid "Phone" msgstr "Điện thoại" @@ -4577,7 +4661,8 @@ msgid "Delete manufacturer part" msgstr "Xóa sản phẩm của nhà sản xuất" #: company/templates/company/manufacturer_part.html:65 -#: company/templates/company/supplier_part.html:97 order/api.py:458 +#: company/templates/company/supplier_part.html:97 order/api.py:440 +#: order/serializers.py:526 msgid "Internal Part" msgstr "Sản phẩm nội bộ" @@ -4587,7 +4672,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:832 +#: part/admin.py:122 part/serializers.py:860 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4608,7 +4693,7 @@ msgid "New Parameter" msgstr "Tham số mới" #: company/templates/company/manufacturer_part.html:196 -#: templates/js/translated/part.js:1423 +#: templates/js/translated/part.js:1426 msgid "Add Parameter" msgstr "Thêm thông số" @@ -4632,10 +4717,6 @@ msgstr "Hàng trong kho đã được phân bổ" msgid "Contacts" msgstr "Danh bạ" -#: company/templates/company/sidebar.html:35 -msgid "Addresses" -msgstr "Địa chỉ" - #: company/templates/company/supplier_part.html:50 #: templates/js/translated/company.js:1526 msgid "Supplier part actions" @@ -4677,9 +4758,9 @@ msgstr "Xóa sản phẩm nhà cung cấp" 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:519 -#: templates/js/translated/company.js:349 templates/js/translated/part.js:1787 +#: company/templates/company/supplier_part.html:139 order/serializers.py:515 +#: part/bom.py:279 part/bom.py:311 part/serializers.py:537 +#: templates/js/translated/company.js:349 templates/js/translated/part.js:1790 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1850 #: templates/js/translated/purchase_order.js:2028 @@ -4701,75 +4782,269 @@ msgstr "Thêm mới hàng trong kho" msgid "New Stock Item" msgstr "Hàng trong kho mới" -#: company/templates/company/supplier_part.html:223 -msgid "Supplier Part Orders" -msgstr "Đơn đặt hàng nhà cung cấp" +#: company/templates/company/supplier_part.html:223 +msgid "Supplier Part Orders" +msgstr "Đơn đặt hàng nhà cung cấp" + +#: company/templates/company/supplier_part.html:246 +msgid "Pricing Information" +msgstr "Thông tin giá cả" + +#: company/templates/company/supplier_part.html:251 +#: templates/js/translated/company.js:398 +#: templates/js/translated/pricing.js:684 +msgid "Add Price Break" +msgstr "Thêm giá phá vỡ" + +#: company/templates/company/supplier_part.html:276 +msgid "Supplier Part QR Code" +msgstr "Mã QR sản phẩm nhà cung cấp" + +#: company/templates/company/supplier_part.html:287 +msgid "Link Barcode to Supplier Part" +msgstr "Liên kết mã vạch đến hàng hóa nhà cung cấp" + +#: company/templates/company/supplier_part.html:359 +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:859 part/stocktake.py:224 +#: part/templates/part/category.html:183 +#: part/templates/part/category_sidebar.html:17 stock/admin.py:68 +#: stock/serializers.py:976 stock/serializers.py:1154 +#: stock/templates/stock/location.html:170 +#: 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:1064 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 +#: users/models.py:206 +msgid "Stock Items" +msgstr "Hàng trong kho" + +#: company/templates/company/supplier_part_sidebar.html:9 +msgid "Supplier Part Pricing" +msgstr "Giá sản phẩm nhà cung cấp" + +#: company/views.py:32 +msgid "New Supplier" +msgstr "Nhà cung cấp mới" + +#: company/views.py:38 +msgid "New Manufacturer" +msgstr "Nhà sản xuất mới" + +#: company/views.py:43 templates/InvenTree/search.html:210 +#: templates/navbar.html:60 +msgid "Customers" +msgstr "Khách hàng" + +#: company/views.py:44 +msgid "New Customer" +msgstr "Khách hàng mới" + +#: company/views.py:52 +msgid "New Company" +msgstr "Doanh nghiệp mới" + +#: generic/states/tests.py:18 order/status_codes.py:13 +msgid "Placed" +msgstr "Đã đặt" + +#: importer/mixins.py:263 +#, fuzzy +#| msgid "Invalid value for overage" +msgid "Invalid export format" +msgstr "Giá trị không hợp lệ cho hàng hóa dư thừa" + +#: importer/models.py:56 +msgid "Timestamp" +msgstr "" + +#: importer/models.py:61 +#, fuzzy +#| msgid "Select file to upload" +msgid "Data file to import" +msgstr "Chọn tệp để tải lên" + +#: importer/models.py:70 templates/js/translated/tables.js:558 +msgid "Columns" +msgstr "" + +#: importer/models.py:81 +#, fuzzy +#| msgid "Import Parts" +msgid "Import status" +msgstr "Nhập sản phẩm" + +#: importer/models.py:91 +#, fuzzy +#| msgid "Build Details" +msgid "Field Defaults" +msgstr "Chi tiết bản dựng" + +#: importer/models.py:201 +#, fuzzy +#| msgid "Required build quantity has not been completed" +msgid "Some required fields have not been mapped" +msgstr "Số lượng bản dựng được yêu cầu chưa được hoàn thành" + +#: importer/models.py:346 +msgid "Column is already mapped to a database field" +msgstr "" + +#: importer/models.py:351 +msgid "Field is already mapped to a data column" +msgstr "" + +#: importer/models.py:360 +msgid "Column mapping must be linked to a valid import session" +msgstr "" + +#: importer/models.py:365 +msgid "Column does not exist in the data file" +msgstr "" + +#: importer/models.py:372 +#, fuzzy +#| msgid "User does not have permission to view this model" +msgid "Field does not exist in the target model" +msgstr "Người dùng không được phân quyền xem mẫu này" + +#: importer/models.py:376 +msgid "Selected field is read-only" +msgstr "" + +#: importer/models.py:381 importer/models.py:452 +#, fuzzy +#| msgid "Active Sessions" +msgid "Import Session" +msgstr "Các phiên hoạt động" + +#: importer/models.py:385 +#, fuzzy +#| msgid "File Fields" +msgid "Field" +msgstr "Các trường tập tin" + +#: importer/models.py:387 +msgid "Column" +msgstr "" + +#: importer/models.py:456 +#, fuzzy +#| msgid "Index" +msgid "Row Index" +msgstr "Chỉ số" + +#: importer/models.py:459 +#, fuzzy +#| msgid "Original Part" +msgid "Original row data" +msgstr "Sản phẩm gốc" + +#: importer/models.py:462 part/models.py:3841 +msgid "Data" +msgstr "Dữ liệu" + +#: importer/models.py:464 machine/models.py:110 +msgid "Errors" +msgstr "" + +#: importer/models.py:466 part/api.py:874 +msgid "Valid" +msgstr "Hợp lệ" + +#: importer/operations.py:28 importer/operations.py:49 +#, fuzzy +#| msgid "Unsupported file format: {fmt}" +msgid "Unsupported data file format" +msgstr "Định dạng tệp không được hỗ trợ {fmt}" + +#: importer/operations.py:40 +msgid "Failed to open data file" +msgstr "" + +#: importer/operations.py:51 +msgid "Invalid data file dimensions" +msgstr "" + +#: importer/serializers.py:135 +msgid "Rows" +msgstr "" -#: company/templates/company/supplier_part.html:246 -msgid "Pricing Information" -msgstr "Thông tin giá cả" +#: importer/serializers.py:136 +msgid "List of row IDs to accept" +msgstr "" -#: company/templates/company/supplier_part.html:251 -#: templates/js/translated/company.js:398 -#: templates/js/translated/pricing.js:684 -msgid "Add Price Break" -msgstr "Thêm giá phá vỡ" +#: importer/serializers.py:149 +#, fuzzy +#| msgid "No data rows provided" +msgid "No rows provided" +msgstr "Chưa có dữ liệu" -#: company/templates/company/supplier_part.html:276 -msgid "Supplier Part QR Code" -msgstr "Mã QR sản phẩm nhà cung cấp" +#: importer/serializers.py:153 +#, fuzzy +#| msgid "Item cannot belong to itself" +msgid "Row does not belong to this session" +msgstr "Hàng hóa không thể thuộc về chính nó" -#: company/templates/company/supplier_part.html:287 -msgid "Link Barcode to Supplier Part" -msgstr "Liên kết mã vạch đến hàng hóa nhà cung cấp" +#: importer/serializers.py:156 +msgid "Row contains invalid data" +msgstr "" -#: company/templates/company/supplier_part.html:359 -msgid "Update Part Availability" -msgstr "Cập nhật độ sẵn sàng sản phẩm" +#: importer/serializers.py:159 +#, fuzzy +#| msgid "This build output has already been completed" +msgid "Row has already been completed" +msgstr "Đầu ra bản dựng này đã được hoàn thành" -#: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:831 part/stocktake.py:224 -#: part/templates/part/category.html:183 -#: part/templates/part/category_sidebar.html:17 stock/admin.py:68 -#: stock/serializers.py:918 stock/serializers.py:1091 -#: stock/templates/stock/location.html:170 -#: 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:1061 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 -#: users/models.py:206 -msgid "Stock Items" -msgstr "Hàng trong kho" +#: importer/status_codes.py:11 +msgid "Initializing" +msgstr "" -#: company/templates/company/supplier_part_sidebar.html:9 -msgid "Supplier Part Pricing" -msgstr "Giá sản phẩm nhà cung cấp" +#: importer/status_codes.py:12 +msgid "Mapping Columns" +msgstr "" -#: company/views.py:32 -msgid "New Supplier" -msgstr "Nhà cung cấp mới" +#: importer/status_codes.py:13 +#, fuzzy +#| msgid "Import Part" +msgid "Importing Data" +msgstr "Nhập sản phẩm" -#: company/views.py:38 -msgid "New Manufacturer" -msgstr "Nhà sản xuất mới" +#: importer/status_codes.py:16 +#, fuzzy +#| msgid "Remove Existing Data" +msgid "Processing Data" +msgstr "Xóa dữ liệu đã tồn tại" -#: company/views.py:43 templates/InvenTree/search.html:210 -#: templates/navbar.html:60 -msgid "Customers" -msgstr "Khách hàng" +#: importer/validators.py:21 +#, fuzzy +#| msgid "Image download exceeded maximum size" +msgid "Data file exceeds maximum size limit" +msgstr "Tải xuống hình ảnh vượt quá kích thước tối đa" -#: company/views.py:44 -msgid "New Customer" -msgstr "Khách hàng mới" +#: importer/validators.py:26 +#, fuzzy +#| msgid "Stock item contains other items" +msgid "Data file contains no headers" +msgstr "Hàng trong kho chứa hàng hóa khác" -#: company/views.py:52 -msgid "New Company" -msgstr "Doanh nghiệp mới" +#: importer/validators.py:29 +msgid "Data file contains too many columns" +msgstr "" -#: generic/states/tests.py:18 order/status_codes.py:13 -msgid "Placed" -msgstr "Đã đặt" +#: importer/validators.py:32 +msgid "Data file contains too many rows" +msgstr "" + +#: importer/validators.py:49 +#, fuzzy +#| msgid "Metadata must be a python dict object" +msgid "Value must be a valid dictionary object" +msgstr "Siêu dữ liệu phải là đối tượng từ điển của python" #: machine/machine_types/label_printer.py:212 msgid "Copies" @@ -4783,7 +5058,7 @@ msgstr "" msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:229 order/api.py:1467 +#: machine/machine_types/label_printer.py:229 order/api.py:1388 #: templates/js/translated/sales_order.js:1078 msgid "Unknown" msgstr "Không rõ" @@ -4852,10 +5127,6 @@ msgstr "" msgid "Initialized" msgstr "" -#: machine/models.py:110 -msgid "Errors" -msgstr "" - #: machine/models.py:117 msgid "Machine status" msgstr "" @@ -4881,44 +5152,44 @@ msgstr "" msgid "Total Price" msgstr "Tổng tiền" -#: order/api.py:157 order/serializers.py:90 +#: order/api.py:149 order/serializers.py:94 #: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:113 #: order/templates/order/sales_order_base.html:122 msgid "Order Status" msgstr "Trạng thái đặt hàng" -#: order/api.py:161 templates/js/translated/table_filters.js:194 -#: templates/js/translated/table_filters.js:779 +#: order/api.py:153 templates/js/translated/table_filters.js:194 +#: templates/js/translated/table_filters.js:784 msgid "Has Pricing" msgstr "" -#: order/api.py:236 +#: order/api.py:228 msgid "No matching purchase order found" msgstr "Không tìm thấy đơn đặt mua phù hợp" -#: order/api.py:435 order/api.py:801 order/models.py:1395 order/models.py:1504 -#: order/models.py:1550 order/models.py:1664 order/models.py:1818 -#: order/models.py:2231 order/models.py:2282 +#: order/api.py:417 order/api.py:755 order/models.py:1400 order/models.py:1514 +#: order/models.py:1565 order/models.py:1680 order/models.py:1839 +#: order/models.py:2258 order/models.py:2314 #: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "Đặt hàng" -#: order/api.py:439 order/api.py:822 +#: order/api.py:421 order/api.py:776 msgid "Order Complete" msgstr "" -#: order/api.py:462 +#: order/api.py:444 msgid "Order Pending" msgstr "" -#: order/api.py:1461 order/models.py:380 order/models.py:1396 -#: order/models.py:1505 order/templates/order/order_base.html:9 +#: order/api.py:1382 order/models.py:380 order/models.py:1401 +#: order/models.py:1515 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 -#: stock/serializers.py:118 stock/templates/stock/item_base.html:176 +#: stock/serializers.py:120 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/part.js:1746 templates/js/translated/pricing.js:804 +#: templates/js/translated/part.js:1749 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:1673 @@ -4926,8 +5197,8 @@ msgstr "" msgid "Purchase Order" msgstr "Đơn hàng" -#: order/api.py:1465 order/models.py:1981 order/models.py:2232 -#: order/models.py:2283 order/templates/order/return_order_base.html:9 +#: order/api.py:1386 order/models.py:2007 order/models.py:2259 +#: order/models.py:2315 order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report.html:13 #: templates/js/translated/return_order.js:280 @@ -4939,11 +5210,11 @@ msgstr "Đơn hàng trả lại" msgid "Total price for this order" msgstr "Tổng tiền cho đơn hàng hàng" -#: order/models.py:96 order/serializers.py:70 +#: order/models.py:96 order/serializers.py:72 msgid "Order Currency" msgstr "Tiền tệ đơn đặt hàng" -#: order/models.py:99 order/serializers.py:71 +#: order/models.py:99 order/serializers.py:73 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)" @@ -4959,7 +5230,7 @@ msgstr "Mô tả đơn đặt (tùy chọn)" msgid "Select project code for this order" msgstr "Mã dự án đã chọn cho đơn đặt hàng này" -#: order/models.py:303 order/models.py:1301 order/models.py:1717 +#: order/models.py:303 order/models.py:1301 order/models.py:1733 msgid "Link to external page" msgstr "Liên kết đến trang bên ngoài" @@ -5008,15 +5279,15 @@ msgstr "Mã tham chiếu đơn đặt nhà cung cấp" msgid "received by" msgstr "nhận bởi" -#: order/models.py:514 order/models.py:2058 +#: order/models.py:514 order/models.py:2084 msgid "Issue Date" msgstr "Ngày phát hành" -#: order/models.py:515 order/models.py:2059 +#: order/models.py:515 order/models.py:2085 msgid "Date order was issued" msgstr "Ngày đặt hàng đã phát hành" -#: order/models.py:522 order/models.py:2066 +#: order/models.py:522 order/models.py:2092 msgid "Date order was completed" msgstr "Ngày đặt hàng đã được hoàn thiện" @@ -5032,15 +5303,15 @@ msgstr "Số lượng phải là số dương" 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:962 order/models.py:2051 +#: order/models.py:962 order/models.py:2077 msgid "Customer Reference " msgstr "Tham chiếu khách hàng " -#: order/models.py:963 order/models.py:2052 +#: order/models.py:963 order/models.py:2078 msgid "Customer order reference code" msgstr "Mã tham chiếu đơn đặt của khách hàng" -#: order/models.py:967 order/models.py:1671 +#: order/models.py:967 order/models.py:1687 #: templates/js/translated/sales_order.js:879 #: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" @@ -5102,20 +5373,26 @@ msgstr "Ngữ cảnh bổ sung" msgid "Unit price" msgstr "Đơn giá" -#: order/models.py:1380 +#: order/models.py:1361 +#, fuzzy +#| msgid "Purchase Order Items" +msgid "Purchase Order Line Item" +msgstr "Hàng hóa đặt mua" + +#: order/models.py:1385 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:1387 +#: order/models.py:1392 msgid "deleted" msgstr "đã bị xóa" -#: order/models.py:1415 +#: order/models.py:1420 msgid "Supplier part" msgstr "Sản phẩm nhà cung cấp" -#: order/models.py:1422 order/templates/order/order_base.html:196 -#: templates/js/translated/part.js:1870 templates/js/translated/part.js:1902 +#: order/models.py:1427 order/templates/order/order_base.html:196 +#: templates/js/translated/part.js:1873 templates/js/translated/part.js:1905 #: templates/js/translated/purchase_order.js:1306 #: templates/js/translated/purchase_order.js:2169 #: templates/js/translated/return_order.js:763 @@ -5124,196 +5401,238 @@ msgstr "Sản phẩm nhà cung cấp" msgid "Received" msgstr "Đã nhận" -#: order/models.py:1423 +#: order/models.py:1428 msgid "Number of items received" msgstr "Số mục đã nhận" -#: order/models.py:1431 stock/models.py:939 stock/serializers.py:556 +#: order/models.py:1436 stock/models.py:939 stock/serializers.py:602 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2311 msgid "Purchase Price" msgstr "Giá mua" -#: order/models.py:1432 +#: order/models.py:1437 msgid "Unit purchase price" msgstr "Giá đơn vị mua" -#: order/models.py:1447 +#: order/models.py:1452 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:1538 +#: order/models.py:1503 +#, fuzzy +#| msgid "Purchase Order Items" +msgid "Purchase Order Extra Line" +msgstr "Hàng hóa đặt mua" + +#: order/models.py:1532 +#, fuzzy +#| msgid "Sales Order Items" +msgid "Sales Order Line Item" +msgstr "Hàng hóa đơn hàng bán" + +#: order/models.py:1553 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:1543 +#: order/models.py:1558 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:1569 part/templates/part/part_pricing.html:107 +#: order/models.py:1584 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:1570 +#: order/models.py:1585 msgid "Unit sale price" msgstr "Giá bán đơn vị" -#: order/models.py:1579 order/status_codes.py:43 +#: order/models.py:1594 order/status_codes.py:43 #: 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" -#: order/models.py:1580 +#: order/models.py:1595 msgid "Shipped quantity" msgstr "Số lượng đã vận chuyển" -#: order/models.py:1672 +#: order/models.py:1667 +#, fuzzy +#| msgid "Sales Order Default Shipment" +msgid "Sales Order Shipment" +msgstr "Vận chuyển mặc định đơn đặt hàng" + +#: order/models.py:1688 msgid "Date of shipment" msgstr "Ngày vận chuyển" -#: order/models.py:1678 templates/js/translated/sales_order.js:1072 +#: order/models.py:1694 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "Ngày giao hàng" -#: order/models.py:1679 +#: order/models.py:1695 msgid "Date of delivery of shipment" msgstr "Ngày giao hàng của vận chuyển" -#: order/models.py:1687 +#: order/models.py:1703 msgid "Checked By" msgstr "Kiểm tra bởi" -#: order/models.py:1688 +#: order/models.py:1704 msgid "User who checked this shipment" msgstr "Người dùng đã kiểm tra vận chuyển này" -#: order/models.py:1695 order/models.py:1908 order/serializers.py:1342 -#: order/serializers.py:1452 templates/js/translated/model_renderers.js:454 +#: order/models.py:1711 order/models.py:1934 order/serializers.py:1398 +#: order/serializers.py:1508 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "Vận chuyển" -#: order/models.py:1696 +#: order/models.py:1712 msgid "Shipment number" msgstr "Mã vận chuyển" -#: order/models.py:1704 +#: order/models.py:1720 msgid "Tracking Number" msgstr "Số theo dõi" -#: order/models.py:1705 +#: order/models.py:1721 msgid "Shipment tracking information" msgstr "Thông tin theo dõi vận chuyển" -#: order/models.py:1712 +#: order/models.py:1728 msgid "Invoice Number" msgstr "Mã hóa đơn" -#: order/models.py:1713 +#: order/models.py:1729 msgid "Reference number for associated invoice" msgstr "Số tham chiếu liên kết với hóa đơn" -#: order/models.py:1733 +#: order/models.py:1749 msgid "Shipment has already been sent" msgstr "Vận đơn đã được gửi đi" -#: order/models.py:1736 +#: order/models.py:1752 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:1854 order/models.py:1856 +#: order/models.py:1828 +#, fuzzy +#| msgid "Sales Order Items" +msgid "Sales Order Extra Line" +msgstr "Hàng hóa đơn hàng bán" + +#: order/models.py:1857 +#, fuzzy +#| msgid "Sales Order Allocations" +msgid "Sales Order Allocation" +msgstr "Phân bổ đơn hàng bán" + +#: order/models.py:1880 order/models.py:1882 msgid "Stock item has not been assigned" msgstr "Hàng trong kho chưa được giao" -#: order/models.py:1863 +#: order/models.py:1889 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:1866 +#: order/models.py:1892 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:1869 +#: order/models.py:1895 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:1888 order/serializers.py:1219 +#: order/models.py:1914 order/serializers.py:1275 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:1891 +#: order/models.py:1917 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:1892 plugin/base/barcodes/api.py:481 +#: order/models.py:1918 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:1900 +#: order/models.py:1926 msgid "Line" msgstr "Dòng" -#: order/models.py:1909 +#: order/models.py:1935 msgid "Sales order shipment reference" msgstr "Tham chiếu vận đơn của đơn hàng bán" -#: order/models.py:1922 order/models.py:2239 +#: order/models.py:1948 order/models.py:2266 #: templates/js/translated/return_order.js:721 msgid "Item" msgstr "Hàng hóa" -#: order/models.py:1923 +#: order/models.py:1949 msgid "Select stock item to allocate" msgstr "Chọn hàng trong kho để phân bổ" -#: order/models.py:1932 +#: order/models.py:1958 msgid "Enter stock allocation quantity" msgstr "Nhập số lượng phân kho" -#: order/models.py:2021 +#: order/models.py:2047 msgid "Return Order reference" msgstr "Tham chiếu đơn hàng trả lại" -#: order/models.py:2033 +#: order/models.py:2059 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:2045 +#: order/models.py:2071 msgid "Return order status" msgstr "Trạng thái đơn hàng trả lại" -#: order/models.py:2224 +#: order/models.py:2237 +#, fuzzy +#| msgid "Return order line item" +msgid "Return Order Line Item" +msgstr "Dòng riêng biệt đơn hàng trả lại" + +#: 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:2240 +#: 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:2246 +#: order/models.py:2273 msgid "Received Date" msgstr "Ngày nhận được" -#: order/models.py:2247 +#: 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:2258 templates/js/translated/return_order.js:732 +#: 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:2259 +#: 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:2266 +#: 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:79 order/templates/order/po_sidebar.html:5 +#: order/models.py:2303 +#, fuzzy +#| msgid "Return Order Settings" +msgid "Return Order Extra Line" +msgstr "Cài đặt đơn trả hàng" + +#: order/serializers.py:83 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_purchase_order_report.html:22 @@ -5322,163 +5641,173 @@ msgstr "Chi phí gắn với hàng trả lại hoặc sửa chữa cho dòng hà msgid "Line Items" msgstr "Mục dòng" -#: order/serializers.py:83 +#: order/serializers.py:87 msgid "Completed Lines" msgstr "" -#: order/serializers.py:286 +#: order/serializers.py:305 msgid "Order cannot be cancelled" msgstr "Đơn đặt không thể bị hủy" -#: order/serializers.py:301 order/serializers.py:1235 +#: order/serializers.py:320 order/serializers.py:1291 msgid "Allow order to be closed with incomplete line items" msgstr "Cho phép đơn đặt phải đóng lại cùng với các mục dòng hàng hóa chưa hoàn thành" -#: order/serializers.py:311 order/serializers.py:1245 +#: order/serializers.py:330 order/serializers.py:1301 msgid "Order has incomplete line items" msgstr "Đơn đặt có dòng hàng hóa chưa hoàn thành" -#: order/serializers.py:439 +#: order/serializers.py:468 msgid "Order is not open" msgstr "Đơn đặt là không được mở" -#: order/serializers.py:460 +#: order/serializers.py:489 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:462 +#: order/serializers.py:491 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:472 +#: order/serializers.py:501 msgid "Purchase price currency" msgstr "Tiền tệ giá mua" -#: order/serializers.py:478 +#: order/serializers.py:507 msgid "Merge Items" msgstr "" -#: order/serializers.py:480 +#: order/serializers.py:509 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:498 +#: order/serializers.py:522 part/models.py:945 +msgid "Internal Part Number" +msgstr "Mã sản phẩm nội bộ" + +#: order/serializers.py:530 +#, fuzzy +#| msgid "Internal Part Number" +msgid "Internal Part Name" +msgstr "Mã sản phẩm nội bộ" + +#: order/serializers.py:546 msgid "Supplier part must be specified" msgstr "Sản phẩm nhà cung cấp phải được chỉ định" -#: order/serializers.py:501 +#: order/serializers.py:549 msgid "Purchase order must be specified" msgstr "Đơn đặt mua phải được chỉ định" -#: order/serializers.py:509 +#: order/serializers.py:557 msgid "Supplier must match purchase order" msgstr "Nhà cung cấp phải phù hợp với đơn đặt mua" -#: order/serializers.py:510 +#: order/serializers.py:558 msgid "Purchase order must match supplier" msgstr "Đơn đặt mua phải phù hợp với nhà cung cấp" -#: order/serializers.py:549 order/serializers.py:1313 +#: order/serializers.py:598 order/serializers.py:1369 msgid "Line Item" msgstr "Mục dòng" -#: order/serializers.py:555 +#: order/serializers.py:604 msgid "Line item does not match purchase order" msgstr "Mục dòng không phù hợp với đơn đặt mua" -#: order/serializers.py:565 order/serializers.py:673 order/serializers.py:1657 +#: order/serializers.py:614 order/serializers.py:722 order/serializers.py:1715 msgid "Select destination location for received items" msgstr "Chọn vị trí đích cho hàng hóa đã nhận" -#: order/serializers.py:581 templates/js/translated/purchase_order.js:1130 +#: order/serializers.py:630 templates/js/translated/purchase_order.js:1130 msgid "Enter batch code for incoming stock items" msgstr "Nhập mã lô cho hàng trong kho đang đến" -#: order/serializers.py:589 templates/js/translated/purchase_order.js:1154 +#: order/serializers.py:638 templates/js/translated/purchase_order.js:1154 msgid "Enter serial numbers for incoming stock items" msgstr "Nhập số sê ri cho hàng trong kho đang đến" -#: order/serializers.py:600 templates/js/translated/barcode.js:52 +#: order/serializers.py:649 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "Mã vạch" -#: order/serializers.py:601 +#: order/serializers.py:650 msgid "Scanned barcode" msgstr "Mã vạch đã quét" -#: order/serializers.py:617 +#: order/serializers.py:666 msgid "Barcode is already in use" msgstr "Mã vạch đã được dùng" -#: order/serializers.py:641 +#: order/serializers.py:690 msgid "An integer quantity must be provided for trackable parts" msgstr "Cần điền số nguyên cho sản phẩm có thể theo dõi" -#: order/serializers.py:689 order/serializers.py:1673 +#: order/serializers.py:738 order/serializers.py:1731 msgid "Line items must be provided" msgstr "Dòng hàng hóa phải được cung cấp" -#: order/serializers.py:705 +#: order/serializers.py:754 msgid "Destination location must be specified" msgstr "Vị trí đích phải được chỉ ra" -#: order/serializers.py:716 +#: order/serializers.py:765 msgid "Supplied barcode values must be unique" msgstr "Giá trị mã vạch đã cung cấp phải duy nhất" -#: order/serializers.py:1062 +#: order/serializers.py:1117 msgid "Sale price currency" msgstr "Tiền tệ giá bán" -#: order/serializers.py:1122 +#: order/serializers.py:1178 msgid "No shipment details provided" msgstr "Chưa cung cấp thông tin vận chuyển" -#: order/serializers.py:1183 order/serializers.py:1322 +#: order/serializers.py:1239 order/serializers.py:1378 msgid "Line item is not associated with this order" msgstr "Dòng hàng hóa chưa được gắn với đơn đặt này" -#: order/serializers.py:1202 +#: order/serializers.py:1258 msgid "Quantity must be positive" msgstr "Số lượng phải là số dương" -#: order/serializers.py:1332 +#: order/serializers.py:1388 msgid "Enter serial numbers to allocate" msgstr "Nhập số sê ri để phân bổ" -#: order/serializers.py:1354 order/serializers.py:1460 +#: order/serializers.py:1410 order/serializers.py:1516 msgid "Shipment has already been shipped" msgstr "Vận đơn đã được chuyển đi" -#: order/serializers.py:1357 order/serializers.py:1463 +#: order/serializers.py:1413 order/serializers.py:1519 msgid "Shipment is not associated with this order" msgstr "Vận đơn không được gắn với đơn đặt này" -#: order/serializers.py:1404 +#: order/serializers.py:1460 msgid "No match found for the following serial numbers" msgstr "Không tìm thấy số sê ri sau đây" -#: order/serializers.py:1411 +#: order/serializers.py:1467 msgid "The following serial numbers are already allocated" msgstr "Những số sê ri sau đây đã được phân bổ" -#: order/serializers.py:1627 +#: order/serializers.py:1685 msgid "Return order line item" msgstr "Dòng riêng biệt đơn hàng trả lại" -#: order/serializers.py:1633 +#: order/serializers.py:1691 msgid "Line item does not match return order" msgstr "Line item không phù hợp với đơn hàng trả lại" -#: order/serializers.py:1636 +#: order/serializers.py:1694 msgid "Line item has already been received" msgstr "Line item đã nhận được" -#: order/serializers.py:1665 +#: order/serializers.py:1723 msgid "Items can only be received against orders which are in progress" msgstr "Hàng hóa chỉ có thể được nhận theo đơn hàng đang trong tiến trình" -#: order/serializers.py:1743 +#: order/serializers.py:1806 msgid "Line price currency" msgstr "Tiền tệ giá đồng hạng" @@ -5808,7 +6137,7 @@ msgstr "Mã khách hàng" #: 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:1073 +#: templates/js/translated/part.js:1076 #: templates/js/translated/purchase_order.js:1752 #: templates/js/translated/return_order.js:380 #: templates/js/translated/sales_order.js:891 @@ -5904,34 +6233,29 @@ 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:398 part/models.py:3944 part/stocktake.py:219 +#: part/admin.py:39 part/admin.py:398 part/models.py:3991 part/stocktake.py:219 #: stock/admin.py:152 msgid "Part ID" msgstr "ID sản phẩm" -#: part/admin.py:41 part/admin.py:405 part/models.py:3945 part/stocktake.py:220 -#: stock/admin.py:156 -msgid "Part Name" -msgstr "Tên sản phẩm" - #: part/admin.py:45 part/stocktake.py:221 msgid "Part Description" msgstr "Mô tả sản phẩm" -#: part/admin.py:48 part/models.py:940 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:944 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 -#: templates/js/translated/part.js:1227 templates/js/translated/part.js:2341 +#: templates/js/translated/part.js:1230 templates/js/translated/part.js:2344 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:949 part/templates/part/part_base.html:277 -#: report/models.py:162 templates/js/translated/part.js:1232 -#: templates/js/translated/part.js:2347 +#: part/admin.py:50 part/models.py:953 part/templates/part/part_base.html:277 +#: report/models.py:162 templates/js/translated/part.js:1235 +#: templates/js/translated/part.js:2350 msgid "Revision" msgstr "Phiên bản" -#: part/admin.py:53 part/admin.py:319 part/models.py:922 +#: part/admin.py:53 part/admin.py:319 part/models.py:926 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "Từ khóa" @@ -5944,7 +6268,8 @@ msgstr "Ảnh sản phẩm" msgid "Category ID" msgstr "ID danh mục" -#: part/admin.py:67 part/admin.py:304 part/stocktake.py:223 +#: part/admin.py:67 part/admin.py:304 part/serializers.py:837 +#: part/stocktake.py:223 msgid "Category Name" msgstr "Tên danh mục" @@ -5956,11 +6281,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:908 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:912 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "Biến thể của" -#: part/admin.py:84 part/models.py:1036 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1040 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "Kho tối thiểu" @@ -5968,18 +6293,19 @@ msgstr "Kho tối thiểu" msgid "Used In" msgstr "Sử dụng trong" -#: part/admin.py:150 part/templates/part/part_base.html:241 stock/admin.py:235 -#: templates/js/translated/part.js:715 templates/js/translated/part.js:2153 +#: part/admin.py:150 part/serializers.py:854 +#: part/templates/part/part_base.html:241 stock/admin.py:235 +#: templates/js/translated/part.js:714 templates/js/translated/part.js:2156 msgid "Building" msgstr "Đang dựng" -#: part/admin.py:155 part/models.py:3088 part/models.py:3102 -#: templates/js/translated/part.js:970 +#: part/admin.py:155 part/models.py:3098 part/models.py:3112 +#: templates/js/translated/part.js:973 msgid "Minimum Cost" msgstr "Chi phí tối thiểu" -#: part/admin.py:158 part/models.py:3095 part/models.py:3109 -#: templates/js/translated/part.js:980 +#: part/admin.py:158 part/models.py:3105 part/models.py:3119 +#: templates/js/translated/part.js:983 msgid "Maximum Cost" msgstr "Chi phí tối đa" @@ -5996,14 +6322,14 @@ msgstr "Tên cha" msgid "Category Path" msgstr "Đưỡng dẫn danh mục" -#: part/admin.py:325 part/models.py:396 part/serializers.py:124 -#: part/serializers.py:267 part/serializers.py:386 +#: part/admin.py:325 part/models.py:397 part/serializers.py:130 +#: part/serializers.py:282 part/serializers.py:404 #: 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:2807 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:203 msgid "Parts" msgstr "Nguyên liệu" @@ -6020,125 +6346,117 @@ msgstr "ID hàng hóa BOM" msgid "Parent IPN" msgstr "IPN cha" -#: part/admin.py:402 part/models.py:3946 -msgid "Part IPN" -msgstr "IPN sản phẩm" - -#: part/admin.py:415 part/serializers.py:1274 +#: part/admin.py:415 part/serializers.py:1302 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "Giá thấp nhất" -#: part/admin.py:420 part/serializers.py:1289 +#: part/admin.py:420 part/serializers.py:1317 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "Giá cao nhất" -#: part/api.py:104 +#: part/api.py:105 msgid "Starred" msgstr "" -#: part/api.py:106 +#: part/api.py:107 msgid "Filter by starred categories" msgstr "" -#: part/api.py:123 stock/api.py:312 +#: part/api.py:124 stock/api.py:312 msgid "Depth" msgstr "" -#: part/api.py:123 +#: part/api.py:124 msgid "Filter by category depth" msgstr "" -#: part/api.py:141 stock/api.py:330 +#: part/api.py:142 stock/api.py:330 msgid "Top Level" msgstr "" -#: part/api.py:143 +#: part/api.py:144 msgid "Filter by top-level categories" msgstr "" -#: part/api.py:156 stock/api.py:345 +#: part/api.py:157 stock/api.py:345 msgid "Cascade" msgstr "" -#: part/api.py:158 +#: part/api.py:159 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:179 templates/js/translated/part.js:308 +#: part/api.py:180 templates/js/translated/part.js:307 msgid "Parent" msgstr "" -#: part/api.py:181 +#: part/api.py:182 msgid "Filter by parent category" msgstr "" -#: part/api.py:214 +#: part/api.py:215 msgid "Exclude Tree" msgstr "" -#: part/api.py:216 +#: part/api.py:217 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:449 +#: part/api.py:442 msgid "Has Results" msgstr "" -#: part/api.py:616 +#: part/api.py:609 msgid "Incoming Purchase Order" msgstr "Đơn đặt mua vào" -#: part/api.py:634 +#: part/api.py:627 msgid "Outgoing Sales Order" msgstr "Đơn hàng bán ra" -#: part/api.py:650 +#: part/api.py:643 msgid "Stock produced by Build Order" msgstr "Kho sản xuất bởi Đơn đặt bản dựng" -#: part/api.py:734 +#: part/api.py:727 msgid "Stock required for Build Order" msgstr "Kho được yêu cầu cho đơn đặt bản dựng" -#: part/api.py:881 -msgid "Valid" -msgstr "Hợp lệ" - -#: part/api.py:882 +#: part/api.py:875 msgid "Validate entire Bill of Materials" msgstr "Xác minh toàn bộ hóa đơn vật liệu" -#: part/api.py:888 +#: part/api.py:881 msgid "This option must be selected" msgstr "Tùy chọn này phải được chọn" -#: part/api.py:1105 +#: part/api.py:1098 msgid "BOM Valid" msgstr "" -#: part/api.py:1508 part/models.py:932 part/models.py:3374 part/models.py:3889 -#: part/serializers.py:401 part/serializers.py:1130 -#: part/templates/part/part_base.html:260 stock/api.py:791 +#: part/api.py:1494 part/models.py:936 part/models.py:3385 part/models.py:3936 +#: part/serializers.py:419 part/serializers.py:1158 +#: part/templates/part/part_base.html:260 stock/api.py:783 #: 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:2380 msgid "Category" msgstr "Danh mục" -#: part/api.py:1796 +#: part/api.py:1784 msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:104 part/models.py:975 +#: part/bom.py:170 part/models.py:104 part/models.py:979 #: 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:833 +#: part/bom.py:171 part/serializers.py:861 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "Tổng số lượng" @@ -6147,7 +6465,7 @@ 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:85 part/models.py:3890 part/templates/part/category.html:16 +#: part/models.py:85 part/models.py:3937 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" @@ -6162,7 +6480,7 @@ msgstr "Danh mục sản phẩm" 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:110 stock/models.py:175 templates/js/translated/part.js:2810 +#: part/models.py:110 stock/models.py:175 templates/js/translated/part.js:2813 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 @@ -6194,1002 +6512,1049 @@ msgstr "Biểu tượng (tùy chọn)" 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:485 +#: part/models.py:486 +msgid "Cannot delete this part as it is locked" +msgstr "" + +#: part/models.py:489 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:490 +#: part/models.py:494 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:528 +#: part/models.py:532 msgid "Invalid choice for parent part" msgstr "Lựa chọn sai cho sản phẩm cha" -#: part/models.py:576 part/models.py:583 +#: part/models.py:580 part/models.py:587 #, 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:595 +#: part/models.py:599 #, 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:658 +#: part/models.py:662 #, 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:736 +#: part/models.py:740 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:837 +#: part/models.py:841 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:847 +#: part/models.py:851 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:862 +#: part/models.py:866 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:891 part/models.py:3945 +#: part/models.py:895 part/models.py:3992 msgid "Part name" msgstr "Tên sản phẩm" -#: part/models.py:896 +#: part/models.py:900 msgid "Is Template" msgstr "Là Mẫu" -#: part/models.py:897 +#: part/models.py:901 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:907 +#: part/models.py:911 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:915 +#: part/models.py:919 msgid "Part description (optional)" msgstr "Mô tả (không bắt buộc)" -#: part/models.py:923 +#: part/models.py:927 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:933 +#: part/models.py:937 msgid "Part category" msgstr "Danh mục sản phẩm" -#: part/models.py:941 -msgid "Internal Part Number" -msgstr "Mã sản phẩm nội bộ" - -#: part/models.py:948 +#: part/models.py:952 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:973 +#: part/models.py:977 msgid "Where is this item normally stored?" msgstr "Hàng hóa này sẽ được cất vào đâu?" -#: part/models.py:1019 part/templates/part/part_base.html:376 +#: part/models.py:1023 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "Nhà cung ứng mặc định" -#: part/models.py:1020 +#: part/models.py:1024 msgid "Default supplier part" msgstr "Nhà cung ứng sản phẩm mặc định" -#: part/models.py:1027 +#: part/models.py:1031 msgid "Default Expiry" msgstr "Hết hạn mặc định" -#: part/models.py:1028 +#: part/models.py:1032 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:1037 +#: part/models.py:1041 msgid "Minimum allowed stock level" msgstr "Cấp độ kho tối thiểu được phép" -#: part/models.py:1046 +#: part/models.py:1050 msgid "Units of measure for this part" msgstr "Đơn vị đo cho sản phẩm này" -#: part/models.py:1053 +#: part/models.py:1057 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:1059 +#: part/models.py:1063 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:1065 +#: part/models.py:1069 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:1071 +#: part/models.py:1075 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:1077 +#: part/models.py:1081 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:1081 +#: part/models.py:1085 msgid "Is this part active?" msgstr "Sản phẩm này đang hoạt động?" -#: part/models.py:1087 +#: part/models.py:1090 templates/js/translated/part.js:818 +#: templates/js/translated/table_filters.js:721 +#, fuzzy +#| msgid "Lock" +msgid "Locked" +msgstr "Khoá" + +#: part/models.py:1091 +#, fuzzy +#| msgid "Build order part cannot be changed" +msgid "Locked parts cannot be edited" +msgstr "Sản phẩm đơn đặt bản dựng không thể thay đổi được" + +#: part/models.py:1097 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:1093 +#: part/models.py:1103 msgid "BOM checksum" msgstr "Giá trị tổng kiểm BOM" -#: part/models.py:1094 +#: part/models.py:1104 msgid "Stored BOM checksum" msgstr "Giá trị tổng kiểm BOM đã được lưu" -#: part/models.py:1102 +#: part/models.py:1112 msgid "BOM checked by" msgstr "BOM kiểm tra bởi" -#: part/models.py:1107 +#: part/models.py:1117 msgid "BOM checked date" msgstr "Ngày kiểm tra BOM" -#: part/models.py:1123 +#: part/models.py:1133 msgid "Creation User" msgstr "Tạo người dùng" -#: part/models.py:1133 +#: part/models.py:1143 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:1138 part/templates/part/part_base.html:339 +#: part/models.py:1148 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:2474 msgid "Last Stocktake" msgstr "Kiểm kê cuối cùng" -#: part/models.py:2011 +#: part/models.py:2021 msgid "Sell multiple" msgstr "Bán nhiều" -#: part/models.py:3002 +#: part/models.py:3012 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:3018 +#: part/models.py:3028 msgid "Minimum BOM Cost" msgstr "Chi phí BOM tối thiểu" -#: part/models.py:3019 +#: part/models.py:3029 msgid "Minimum cost of component parts" msgstr "Chi phí thành phần sản phẩm tối thiểu" -#: part/models.py:3025 +#: part/models.py:3035 msgid "Maximum BOM Cost" msgstr "Chi phí BOM tối đa" -#: part/models.py:3026 +#: part/models.py:3036 msgid "Maximum cost of component parts" msgstr "Chi phí thành phần sản phẩm tối đa" -#: part/models.py:3032 +#: part/models.py:3042 msgid "Minimum Purchase Cost" msgstr "Chi phí mua vào tối thiểu" -#: part/models.py:3033 +#: part/models.py:3043 msgid "Minimum historical purchase cost" msgstr "Chi phí mua vào tối thiểu trong lịch sử" -#: part/models.py:3039 +#: part/models.py:3049 msgid "Maximum Purchase Cost" msgstr "Chi phí mua tối đa" -#: part/models.py:3040 +#: part/models.py:3050 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:3046 +#: part/models.py:3056 msgid "Minimum Internal Price" msgstr "Giá nội bộ tối thiểu" -#: part/models.py:3047 +#: part/models.py:3057 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:3053 +#: part/models.py:3063 msgid "Maximum Internal Price" msgstr "Giá nội bộ tối đa" -#: part/models.py:3054 +#: part/models.py:3064 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:3060 +#: part/models.py:3070 msgid "Minimum Supplier Price" msgstr "Giá nhà cung ứng tối thiểu" -#: part/models.py:3061 +#: part/models.py:3071 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:3067 +#: part/models.py:3077 msgid "Maximum Supplier Price" msgstr "Giá nhà cung ứng tối đa" -#: part/models.py:3068 +#: part/models.py:3078 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:3074 +#: part/models.py:3084 msgid "Minimum Variant Cost" msgstr "Giá trị biến thể tối thiểu" -#: part/models.py:3075 +#: part/models.py:3085 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:3081 +#: part/models.py:3091 msgid "Maximum Variant Cost" msgstr "Chi phí biến thể tối đa" -#: part/models.py:3082 +#: part/models.py:3092 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:3089 +#: part/models.py:3099 msgid "Override minimum cost" msgstr "Ghi đề chi phí tối thiểu" -#: part/models.py:3096 +#: part/models.py:3106 msgid "Override maximum cost" msgstr "Ghi đề chi phí tối đa" -#: part/models.py:3103 +#: part/models.py:3113 msgid "Calculated overall minimum cost" msgstr "Chi phí tối thiểu tính toán tổng thể" -#: part/models.py:3110 +#: part/models.py:3120 msgid "Calculated overall maximum cost" msgstr "Chi phí tối đa tính toán tổng thể" -#: part/models.py:3116 +#: part/models.py:3126 msgid "Minimum Sale Price" msgstr "Giá bán thấp nhất" -#: part/models.py:3117 +#: part/models.py:3127 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:3123 +#: part/models.py:3133 msgid "Maximum Sale Price" msgstr "Giá bán cao nhất" -#: part/models.py:3124 +#: part/models.py:3134 msgid "Maximum sale price based on price breaks" msgstr "Giá bán cao nhất dựa trên phá giá" -#: part/models.py:3130 +#: part/models.py:3140 msgid "Minimum Sale Cost" msgstr "Chi phí bán hàng tối thiểu" -#: part/models.py:3131 +#: part/models.py:3141 msgid "Minimum historical sale price" msgstr "Giá bán hàng tối thiểu trong lịch sử" -#: part/models.py:3137 +#: part/models.py:3147 msgid "Maximum Sale Cost" msgstr "Giá bán hàng tối đa" -#: part/models.py:3138 +#: part/models.py:3148 msgid "Maximum historical sale price" msgstr "Giá bán hàng tối đa trong lịch sử" -#: part/models.py:3157 +#: part/models.py:3167 msgid "Part for stocktake" msgstr "Sản phẩm dành cho kiểm kê" -#: part/models.py:3162 +#: part/models.py:3172 msgid "Item Count" msgstr "Tổng số hàng" -#: part/models.py:3163 +#: part/models.py:3173 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:3171 +#: part/models.py:3181 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:3175 part/models.py:3258 +#: part/models.py:3185 part/models.py:3268 #: part/templates/part/part_scheduling.html:13 #: 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:1086 templates/js/translated/pricing.js:826 +#: templates/js/translated/part.js:1089 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 #: templates/js/translated/purchase_order.js:1731 #: templates/js/translated/stock.js:2821 msgid "Date" msgstr "Ngày" -#: part/models.py:3176 +#: part/models.py:3186 msgid "Date stocktake was performed" msgstr "Kiểm kê đã thực hiện" -#: part/models.py:3184 +#: part/models.py:3194 msgid "Additional notes" msgstr "Ghi chú bổ sung" -#: part/models.py:3194 +#: part/models.py:3204 msgid "User who performed this stocktake" msgstr "Người dùng đã thực hiện đợt kiểm kê này" -#: part/models.py:3200 +#: part/models.py:3210 msgid "Minimum Stock Cost" msgstr "Chi phí kho tối thiểu" -#: part/models.py:3201 +#: part/models.py:3211 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:3207 +#: part/models.py:3217 msgid "Maximum Stock Cost" msgstr "Chi phí kho tối đa" -#: part/models.py:3208 +#: part/models.py:3218 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:3264 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3274 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "Báo cáo" -#: part/models.py:3265 +#: part/models.py:3275 msgid "Stocktake report file (generated internally)" msgstr "Tệp báo cáo kiểm kê (được sinh nội bộ)" -#: part/models.py:3270 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3280 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "Bộ đếm sản phẩm" -#: part/models.py:3271 +#: part/models.py:3281 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:3281 +#: part/models.py:3291 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:3423 +#: part/models.py:3301 +#, fuzzy +#| msgid "Add Sell Price Break" +msgid "Part Sale Price Break" +msgstr "Thêm định giá bán hàng" + +#: part/models.py:3413 +#, fuzzy +#| msgid "Part Test Templates" +msgid "Part Test Template" +msgstr "Mẫu kiểm thử sản phẩm" + +#: part/models.py:3439 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3444 part/models.py:3608 +#: part/models.py:3460 part/models.py:3629 msgid "Choices must be unique" msgstr "Lựa chọn phải duy nhất" -#: part/models.py:3455 +#: part/models.py:3471 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:3466 +#: part/models.py:3482 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3483 templates/js/translated/part.js:2880 +#: part/models.py:3499 templates/js/translated/part.js:2883 msgid "Test Name" msgstr "Tên kiểm thử" -#: part/models.py:3484 +#: part/models.py:3500 msgid "Enter a name for the test" msgstr "Nhập tên cho kiểm thử" -#: part/models.py:3490 +#: part/models.py:3506 msgid "Test Key" msgstr "" -#: part/models.py:3491 +#: part/models.py:3507 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3498 +#: part/models.py:3514 msgid "Test Description" msgstr "Mô tả kiểm thử" -#: part/models.py:3499 +#: part/models.py:3515 msgid "Enter description for this test" msgstr "Nhập mô tả cho kiểm thử này" -#: part/models.py:3503 report/models.py:209 -#: templates/js/translated/part.js:2901 +#: part/models.py:3519 report/models.py:209 +#: templates/js/translated/part.js:2904 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "Đã bật" -#: part/models.py:3503 +#: part/models.py:3519 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3508 templates/js/translated/part.js:2909 +#: part/models.py:3524 templates/js/translated/part.js:2912 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "Bắt buộc" -#: part/models.py:3509 +#: part/models.py:3525 msgid "Is this test required to pass?" msgstr "Kiểm thử này bắt buộc phải đạt?" -#: part/models.py:3514 templates/js/translated/part.js:2917 +#: part/models.py:3530 templates/js/translated/part.js:2920 msgid "Requires Value" msgstr "Giá trị bắt buộc" -#: part/models.py:3515 +#: part/models.py:3531 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:3520 templates/js/translated/part.js:2924 +#: part/models.py:3536 templates/js/translated/part.js:2927 msgid "Requires Attachment" msgstr "Yêu cầu đính kèm" -#: part/models.py:3522 +#: part/models.py:3538 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:3528 part/models.py:3667 templates/js/translated/part.js:1637 +#: part/models.py:3544 part/models.py:3688 templates/js/translated/part.js:1640 msgid "Choices" msgstr "Lựa chọn" -#: part/models.py:3529 +#: part/models.py:3545 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3583 +#: part/models.py:3577 +#, fuzzy +#| msgid "Part Parameter Templates" +msgid "Part Parameter Template" +msgstr "Mẫu tham số sản phẩm" + +#: part/models.py:3604 msgid "Checkbox parameters cannot have units" msgstr "Tham số hộp kiểm tra không thể có đơn vị" -#: part/models.py:3588 +#: part/models.py:3609 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:3625 +#: part/models.py:3646 msgid "Parameter template name must be unique" msgstr "Tên tham số mẫu phải là duy nhất" -#: part/models.py:3640 +#: part/models.py:3661 msgid "Parameter Name" msgstr "Tên tham số" -#: part/models.py:3647 +#: part/models.py:3668 msgid "Physical units for this parameter" msgstr "Đơn vị vật lý cho tham số này" -#: part/models.py:3655 +#: part/models.py:3676 msgid "Parameter description" msgstr "Mô tả tham số" -#: part/models.py:3661 templates/js/translated/part.js:1628 -#: templates/js/translated/table_filters.js:825 +#: part/models.py:3682 templates/js/translated/part.js:1631 +#: templates/js/translated/table_filters.js:830 msgid "Checkbox" msgstr "Ô lựa chọn" -#: part/models.py:3662 +#: part/models.py:3683 msgid "Is this parameter a checkbox?" msgstr "Tham số này có phải là hộp kiểm tra?" -#: part/models.py:3668 +#: part/models.py:3689 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:3745 +#: part/models.py:3723 +#, fuzzy +#| msgid "Part Parameters" +msgid "Part Parameter" +msgstr "Thông số phụ tùng" + +#: part/models.py:3749 +msgid "Parameter cannot be modified - part is locked" +msgstr "" + +#: part/models.py:3785 msgid "Invalid choice for parameter value" msgstr "Lựa chọn sai cho giá trị tham số" -#: part/models.py:3788 +#: part/models.py:3828 msgid "Parent Part" msgstr "Sản phẩm cha" -#: part/models.py:3796 part/models.py:3897 part/models.py:3898 +#: part/models.py:3836 part/models.py:3944 part/models.py:3945 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "Mẫu tham số" -#: part/models.py:3801 -msgid "Data" -msgstr "Dữ liệu" - -#: part/models.py:3802 +#: part/models.py:3842 msgid "Parameter Value" msgstr "Giá trị tham số" -#: part/models.py:3904 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3892 +#, fuzzy +#| msgid "Copy Category Parameter Templates" +msgid "Part Category Parameter Template" +msgstr "Sao chéo mẫu tham số danh mục" + +#: part/models.py:3951 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "Giá trị mặc định" -#: part/models.py:3905 +#: part/models.py:3952 msgid "Default Parameter Value" msgstr "Giá trị tham số mặc định" -#: part/models.py:3943 +#: part/models.py:3990 msgid "Part ID or part name" msgstr "Tên hoặc mã sản phẩm" -#: part/models.py:3944 +#: part/models.py:3991 msgid "Unique part ID value" msgstr "Giá trị mã sản phẩm duy nhất" -#: part/models.py:3946 +#: part/models.py:3993 msgid "Part IPN value" msgstr "Giá trị IPN sản phẩm" -#: part/models.py:3947 +#: part/models.py:3994 msgid "Level" msgstr "Cấp độ" -#: part/models.py:3947 +#: part/models.py:3994 msgid "BOM level" msgstr "Cấp độ BOM" -#: part/models.py:4037 +#: part/models.py:4105 +msgid "BOM item cannot be modified - assembly is locked" +msgstr "" + +#: part/models.py:4112 +msgid "BOM item cannot be modified - variant assembly is locked" +msgstr "" + +#: part/models.py:4122 msgid "Select parent part" msgstr "Chọn sản phẩm cha" -#: part/models.py:4047 +#: part/models.py:4132 msgid "Sub part" msgstr "Sản phẩm phụ" -#: part/models.py:4048 +#: part/models.py:4133 msgid "Select part to be used in BOM" msgstr "Chọn sản phẩm được dùng trong BOM" -#: part/models.py:4059 +#: part/models.py:4144 msgid "BOM quantity for this BOM item" msgstr "Số lượng BOM cho mục BOM này" -#: part/models.py:4065 +#: part/models.py:4150 msgid "This BOM item is optional" msgstr "Mục BOM này là tùy chọn" -#: part/models.py:4071 +#: part/models.py:4156 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:4078 part/templates/part/upload_bom.html:55 +#: part/models.py:4163 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Dư thừa" -#: part/models.py:4079 +#: part/models.py:4164 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:4086 +#: part/models.py:4171 msgid "BOM item reference" msgstr "Tham chiếu mục BOM" -#: part/models.py:4094 +#: part/models.py:4179 msgid "BOM item notes" msgstr "Ghi chú mục BOM" -#: part/models.py:4100 +#: part/models.py:4185 msgid "Checksum" msgstr "Giá trị tổng kiểm" -#: part/models.py:4101 +#: part/models.py:4186 msgid "BOM line checksum" msgstr "Giá trị tổng kiểm dòng BOM" -#: part/models.py:4106 templates/js/translated/table_filters.js:174 +#: part/models.py:4191 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "Đã xác minh" -#: part/models.py:4107 +#: part/models.py:4192 msgid "This BOM item has been validated" msgstr "Mục BOM này là hợp lệ" -#: part/models.py:4112 part/templates/part/upload_bom.html:57 +#: part/models.py:4197 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:4113 +#: part/models.py:4198 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:4118 part/templates/part/upload_bom.html:56 +#: part/models.py:4203 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:4119 +#: part/models.py:4204 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:4204 stock/models.py:663 +#: part/models.py:4289 stock/models.py:663 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:4214 part/models.py:4216 +#: part/models.py:4299 part/models.py:4301 msgid "Sub part must be specified" msgstr "Sản phẩm phụ phải được chỉ định" -#: part/models.py:4354 +#: part/models.py:4439 msgid "BOM Item Substitute" msgstr "Sảm phẩm thay thế mục BOM" -#: part/models.py:4375 +#: part/models.py:4460 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:4388 +#: part/models.py:4473 msgid "Parent BOM item" msgstr "Hàng hóa BOM cha" -#: part/models.py:4396 +#: part/models.py:4481 msgid "Substitute part" msgstr "Sản phẩm thay thế" -#: part/models.py:4412 +#: part/models.py:4497 msgid "Part 1" msgstr "Sản phẩm 1" -#: part/models.py:4420 +#: part/models.py:4505 msgid "Part 2" msgstr "Sản phẩm 2" -#: part/models.py:4421 +#: part/models.py:4506 msgid "Select Related Part" msgstr "Chọn sản phẩm liên quan" -#: part/models.py:4440 +#: part/models.py:4525 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:4445 +#: part/models.py:4530 msgid "Duplicate relationship already exists" msgstr "Đã tồn tại mối quan hệ trùng lặp" -#: part/serializers.py:118 +#: part/serializers.py:124 msgid "Parent Category" msgstr "" -#: part/serializers.py:119 templates/js/translated/part.js:309 +#: part/serializers.py:125 templates/js/translated/part.js:308 msgid "Parent part category" msgstr "" -#: part/serializers.py:126 part/serializers.py:148 +#: part/serializers.py:132 part/serializers.py:154 #: part/templates/part/category.html:122 part/templates/part/category.html:207 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "Phụ mục" -#: part/serializers.py:180 +#: part/serializers.py:189 msgid "Results" msgstr "" -#: part/serializers.py:181 +#: part/serializers.py:190 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:205 part/serializers.py:223 stock/serializers.py:562 +#: part/serializers.py:217 part/serializers.py:235 stock/serializers.py:608 msgid "Purchase currency of this stock item" msgstr "Loại tiền mua hàng của hàng hóa này" -#: part/serializers.py:268 +#: part/serializers.py:283 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:392 +#: part/serializers.py:410 msgid "No parts selected" msgstr "Chưa chọn sản phẩm" -#: part/serializers.py:402 +#: part/serializers.py:420 msgid "Select category" msgstr "Chọn danh mục" -#: part/serializers.py:437 +#: part/serializers.py:455 msgid "Original Part" msgstr "Sản phẩm gốc" -#: part/serializers.py:438 +#: part/serializers.py:456 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:461 msgid "Copy Image" msgstr "Sao chép ảnh" -#: part/serializers.py:444 +#: part/serializers.py:462 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:468 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "Sao chép BOM" -#: part/serializers.py:451 +#: part/serializers.py:469 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:475 msgid "Copy Parameters" msgstr "Sao chép thông số" -#: part/serializers.py:458 +#: part/serializers.py:476 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:482 msgid "Copy Notes" msgstr "Sao chép ghi chú" -#: part/serializers.py:465 +#: part/serializers.py:483 msgid "Copy notes from original part" msgstr "Sao chép ghi chú từ sản phẩm gốc" -#: part/serializers.py:483 +#: part/serializers.py:501 msgid "Initial Stock Quantity" msgstr "Số liệu tồn kho ban đầu" -#: part/serializers.py:485 +#: part/serializers.py:503 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:492 +#: part/serializers.py:510 msgid "Initial Stock Location" msgstr "Vị trí kho ban đầu" -#: part/serializers.py:493 +#: part/serializers.py:511 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:510 +#: part/serializers.py:528 msgid "Select supplier (or leave blank to skip)" msgstr "Chọn nhà cung cấp (hoặc để trống để bỏ qua)" -#: part/serializers.py:526 +#: part/serializers.py:544 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:536 +#: part/serializers.py:554 msgid "Manufacturer part number" msgstr "Mã số nhà sản xuất" -#: part/serializers.py:543 +#: part/serializers.py:561 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:552 +#: part/serializers.py:570 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:563 +#: part/serializers.py:581 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:570 +#: part/serializers.py:588 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:834 -msgid "External Stock" -msgstr "" - -#: part/serializers.py:836 +#: part/serializers.py:864 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:839 +#: part/serializers.py:867 msgid "Variant Stock" msgstr "" -#: part/serializers.py:869 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:472 +#: part/serializers.py:897 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:870 +#: part/serializers.py:898 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:876 templates/js/translated/part.js:102 +#: part/serializers.py:904 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "Số liệu kho ban đầu" -#: part/serializers.py:877 +#: part/serializers.py:905 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:883 +#: part/serializers.py:911 msgid "Supplier Information" msgstr "Thông tin nhà cung cấp" -#: part/serializers.py:884 +#: part/serializers.py:912 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:892 +#: part/serializers.py:920 msgid "Copy Category Parameters" msgstr "Sao chép thông số nhóm hàng" -#: part/serializers.py:893 +#: part/serializers.py:921 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:898 +#: part/serializers.py:926 msgid "Existing Image" msgstr "Ảnh hiện có" -#: part/serializers.py:899 +#: part/serializers.py:927 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:916 +#: part/serializers.py:944 msgid "Image file does not exist" msgstr "Tệp hình ảnh không tồn tại" -#: part/serializers.py:1122 +#: part/serializers.py:1150 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:1132 +#: part/serializers.py:1160 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:1142 +#: part/serializers.py:1170 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:1148 +#: part/serializers.py:1176 msgid "Exclude External Stock" msgstr "Ngoại trừ kho bên ngoài" -#: part/serializers.py:1149 +#: part/serializers.py:1177 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:1154 +#: part/serializers.py:1182 msgid "Generate Report" msgstr "Tạo báo cáo" -#: part/serializers.py:1155 +#: part/serializers.py:1183 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:1160 +#: part/serializers.py:1188 msgid "Update Parts" msgstr "Cập nhật sản phẩm" -#: part/serializers.py:1161 +#: part/serializers.py:1189 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:1169 +#: part/serializers.py:1197 msgid "Stocktake functionality is not enabled" msgstr "Chức năng kiểm kê chưa được bật" -#: part/serializers.py:1275 +#: part/serializers.py:1303 msgid "Override calculated value for minimum price" msgstr "Giá trị tính toán ghi đè cho giá tối thiểu" -#: part/serializers.py:1282 +#: part/serializers.py:1310 msgid "Minimum price currency" msgstr "Tiền tế giá tối thiểu" -#: part/serializers.py:1290 +#: part/serializers.py:1318 msgid "Override calculated value for maximum price" msgstr "Giá trị tính toán ghi đè cho giá tối đa" -#: part/serializers.py:1297 +#: part/serializers.py:1325 msgid "Maximum price currency" msgstr "Tiền tế giá tối đa" -#: part/serializers.py:1326 +#: part/serializers.py:1354 msgid "Update" msgstr "Cập nhật" -#: part/serializers.py:1327 +#: part/serializers.py:1355 msgid "Update pricing for this part" msgstr "Cập nhật giá cho sản phẩm này" -#: part/serializers.py:1350 +#: part/serializers.py:1378 #, 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:1357 +#: part/serializers.py:1385 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:1360 +#: part/serializers.py:1388 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:1727 +#: part/serializers.py:1759 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:1735 +#: part/serializers.py:1767 msgid "Remove Existing Data" msgstr "Xóa dữ liệu đã tồn tại" -#: part/serializers.py:1736 +#: part/serializers.py:1768 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:1741 +#: part/serializers.py:1773 msgid "Include Inherited" msgstr "Bao gồm thừa hưởng" -#: part/serializers.py:1742 +#: part/serializers.py:1774 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:1747 +#: part/serializers.py:1779 msgid "Skip Invalid Rows" msgstr "Bỏ qua dòng không hợp lệ" -#: part/serializers.py:1748 +#: part/serializers.py:1780 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:1753 +#: part/serializers.py:1785 msgid "Copy Substitute Parts" msgstr "Sao chép sản phẩm thay thế" -#: part/serializers.py:1754 +#: part/serializers.py:1786 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:1788 +#: part/serializers.py:1823 msgid "Clear Existing BOM" msgstr "Dọn dẹp BOM đang tồn tại" -#: part/serializers.py:1789 +#: part/serializers.py:1824 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:1819 +#: part/serializers.py:1856 msgid "No part column specified" msgstr "Chưa chỉ ra cột sản phẩm" -#: part/serializers.py:1863 +#: part/serializers.py:1900 msgid "Multiple matching parts found" msgstr "Tìm thấy nhiều sản phẩm phù hợp" -#: part/serializers.py:1866 +#: part/serializers.py:1903 msgid "No matching part found" msgstr "Không tìm thấy sản phẩm nào" -#: part/serializers.py:1869 +#: part/serializers.py:1906 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:1878 +#: part/serializers.py:1915 msgid "Quantity not provided" msgstr "Chưa cung cấp số lượng" -#: part/serializers.py:1886 +#: part/serializers.py:1923 msgid "Invalid quantity" msgstr "Số lượng không hợp lệ" -#: part/serializers.py:1907 +#: part/serializers.py:1946 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:225 templates/js/translated/part.js:1067 -#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 +#: part/stocktake.py:225 templates/js/translated/part.js:1070 +#: templates/js/translated/part.js:1825 templates/js/translated/part.js:1881 #: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "Tổng số lượng" @@ -7507,7 +7872,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 templates/js/translated/label.js:143 +#: stock/templates/stock/location.html:74 templates/js/translated/label.js:136 msgid "Print Label" msgstr "In tem nhãn" @@ -7529,7 +7894,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:2296 msgid "Part actions" msgstr "Chức năng sản phẩm" @@ -7569,6 +7934,10 @@ msgstr "Có thể mua sản phẩm từ nhà cung cấp bên ngoài" msgid "Part can be sold to customers" msgstr "Có thể bán sản phẩm cho khách hàng" +#: part/templates/part/part_base.html:145 +msgid "Part is not active" +msgstr "Sản phẩm bị tắt" + #: part/templates/part/part_base.html:153 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ý)" @@ -7597,7 +7966,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:1265 templates/js/translated/part.js:2444 +#: templates/js/translated/part.js:1268 templates/js/translated/part.js:2447 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" @@ -7690,8 +8059,8 @@ msgstr "Biến thể" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/part.js:1243 templates/js/translated/part.js:2146 -#: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 +#: templates/js/translated/part.js:1246 templates/js/translated/part.js:2149 +#: templates/js/translated/part.js:2395 templates/js/translated/stock.js:1059 #: templates/js/translated/stock.js:2070 templates/navbar.html:31 msgid "Stock" msgstr "Kiện hàng" @@ -7811,8 +8180,8 @@ msgstr "Cập nhập giá bán" #: part/templates/part/stock_count.html:7 #: templates/js/translated/model_renderers.js:227 -#: templates/js/translated/part.js:705 templates/js/translated/part.js:2141 -#: templates/js/translated/part.js:2143 +#: templates/js/translated/part.js:704 templates/js/translated/part.js:2144 +#: templates/js/translated/part.js:2146 msgid "No Stock" msgstr "Hết hàng" @@ -7956,7 +8325,7 @@ msgstr "" msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2589 +#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2590 #: templates/js/translated/sales_order.js:1953 msgid "Insufficient stock available" msgstr "Kho không đủ hạn mức khả dụng" @@ -8051,7 +8420,7 @@ msgstr "" msgid "Quantity to allocate" msgstr "Số lượng cần phân bổ" -#: plugin/base/label/label.py:39 templates/js/translated/label.js:155 +#: plugin/base/label/label.py:39 templates/js/translated/label.js:148 msgid "Label printing failed" msgstr "In nhãn thất bại" @@ -8748,7 +9117,7 @@ msgstr "Tổng cộng" #: report/templates/report/inventree_return_order_report.html:25 #: report/templates/report/inventree_test_report.html:88 stock/models.py:825 -#: stock/serializers.py:149 stock/templates/stock/item_base.html:311 +#: stock/serializers.py:151 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:230 @@ -8778,7 +9147,7 @@ msgstr "Kết quả kiểm tra" msgid "Test" msgstr "Thử nghiệm" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2447 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2457 msgid "Result" msgstr "Kết quả" @@ -8799,7 +9168,7 @@ msgid "No result" msgstr "Không có kết quả" #: report/templates/report/inventree_test_report.html:153 -#: stock/templates/stock/stock_sidebar.html:16 +#: stock/serializers.py:591 stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "Mục đã cài đặt" @@ -8829,10 +9198,6 @@ msgstr "thẻ company_image yêu cầu một thực thể doanh nghiệp" msgid "Location ID" msgstr "ID địa điểm" -#: stock/admin.py:53 stock/admin.py:175 -msgid "Location Name" -msgstr "Tên địa điểm" - #: stock/admin.py:63 stock/templates/stock/location.html:131 #: stock/templates/stock/location.html:137 msgid "Location Path" @@ -8909,7 +9274,7 @@ msgstr "" msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:369 stock/serializers.py:1085 +#: stock/api.py:369 stock/serializers.py:1148 msgid "Parent Location" msgstr "" @@ -8917,44 +9282,45 @@ msgstr "" msgid "Filter by parent location" msgstr "" -#: stock/api.py:625 templates/js/translated/table_filters.js:427 +#: stock/api.py:617 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "Địa điểm bên ngoài" -#: stock/api.py:813 +#: stock/api.py:805 msgid "Part Tree" msgstr "Cây sản phẩm" -#: stock/api.py:843 +#: stock/api.py:835 msgid "Expiry date before" msgstr "Ngày hết hạn trước đó" -#: stock/api.py:847 +#: stock/api.py:839 msgid "Expiry date after" msgstr "Ngày hết hạn sau đó" -#: stock/api.py:850 stock/templates/stock/item_base.html:439 +#: stock/api.py:842 stock/serializers.py:596 +#: stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "Ế" -#: stock/api.py:937 +#: stock/api.py:929 msgid "Quantity is required" msgstr "Bắt buộc nhập số lượng" -#: stock/api.py:943 +#: stock/api.py:935 msgid "Valid part must be supplied" msgstr "Phải cung cấp sản phẩm hợp lệ" -#: stock/api.py:974 +#: stock/api.py:966 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:984 +#: stock/api.py:976 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:1015 +#: stock/api.py:1007 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" @@ -9021,7 +9387,7 @@ msgstr "Bạn không thể chuyển đổi vị trí kho hàng này thành cấu 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:669 stock/serializers.py:446 +#: stock/models.py:669 stock/serializers.py:477 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" @@ -9066,7 +9432,7 @@ msgstr "Chọn sản phẩm nhà cung cấp khớp với hàng hóa trong kho n msgid "Where is this stock item located?" msgstr "Hàng trong kho này được đặt ở đâu?" -#: stock/models.py:799 stock/serializers.py:1476 +#: stock/models.py:799 stock/serializers.py:1542 msgid "Packaging this stock item is stored in" msgstr "Đóng gói hàng hóa này được lưu trữ lại" @@ -9078,7 +9444,7 @@ msgstr "Mục này đã được cài đặt trong mục khác?" msgid "Serial number for this item" msgstr "Số sê ri cho mục này" -#: stock/models.py:843 stock/serializers.py:1459 +#: stock/models.py:843 stock/serializers.py:1525 msgid "Batch code for this stock item" msgstr "Mã lô cho hàng trong kho này" @@ -9155,7 +9521,7 @@ msgstr "Số sêri phải là một danh sách dãy số nguyên" msgid "Quantity does not match serial numbers" msgstr "Số lượng không khớp với số sêri" -#: stock/models.py:1520 stock/serializers.py:660 +#: stock/models.py:1520 stock/serializers.py:718 msgid "Serial numbers already exist" msgstr "Số sêri đã tồn tại" @@ -9187,7 +9553,7 @@ msgstr "Hàng trong kho hiện đang sản xuất" msgid "Serialized stock cannot be merged" msgstr "Không thể hợp nhất kho nối tiếp" -#: stock/models.py:1658 stock/serializers.py:1365 +#: stock/models.py:1658 stock/serializers.py:1431 msgid "Duplicate stock items" msgstr "Mặt hàng trùng lặp" @@ -9207,288 +9573,342 @@ msgstr "Mã trạng thái kho phải phù hợp" 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:2317 +#, fuzzy +#| msgid "Stock Tracking" +msgid "Stock Item Tracking" +msgstr "Theo dõi tồn kho" + +#: stock/models.py:2350 msgid "Entry notes" msgstr "Ghi chú đầu vào" -#: stock/models.py:2413 +#: stock/models.py:2390 +#, fuzzy +#| msgid "Stock Item Test Report" +msgid "Stock Item Test Result" +msgstr "Báo cáo kiểm thử mặt hàng" + +#: stock/models.py:2423 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:2418 +#: stock/models.py:2428 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:2423 +#: stock/models.py:2433 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2447 +#: stock/models.py:2457 msgid "Test result" msgstr "Kết quả kiểm thử" -#: stock/models.py:2454 +#: stock/models.py:2464 msgid "Test output value" msgstr "Giá trị đầu ra kiểm thử" -#: stock/models.py:2462 +#: stock/models.py:2472 msgid "Test result attachment" msgstr "Đính kèm kết quả kiểm thử" -#: stock/models.py:2466 +#: stock/models.py:2476 msgid "Test notes" msgstr "Ghi chú kiểm thử" -#: stock/models.py:2474 templates/js/translated/stock.js:1548 +#: stock/models.py:2484 templates/js/translated/stock.js:1548 msgid "Test station" msgstr "" -#: stock/models.py:2475 +#: stock/models.py:2485 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2481 +#: stock/models.py:2491 msgid "Started" msgstr "" -#: stock/models.py:2482 +#: stock/models.py:2492 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2488 +#: stock/models.py:2498 msgid "Finished" msgstr "" -#: stock/models.py:2489 +#: stock/models.py:2499 msgid "The timestamp of the test finish" msgstr "" -#: stock/serializers.py:74 +#: stock/serializers.py:76 msgid "Generated batch code" msgstr "" -#: stock/serializers.py:83 +#: stock/serializers.py:85 msgid "Select build order" msgstr "" -#: stock/serializers.py:92 +#: stock/serializers.py:94 msgid "Select stock item to generate batch code for" msgstr "" -#: stock/serializers.py:101 +#: stock/serializers.py:103 msgid "Select location to generate batch code for" msgstr "" -#: stock/serializers.py:110 +#: stock/serializers.py:112 msgid "Select part to generate batch code for" msgstr "" -#: stock/serializers.py:119 +#: stock/serializers.py:121 msgid "Select purchase order" msgstr "" -#: stock/serializers.py:126 +#: stock/serializers.py:128 msgid "Enter quantity for batch code" msgstr "" -#: stock/serializers.py:149 +#: stock/serializers.py:151 msgid "Generated serial number" msgstr "" -#: stock/serializers.py:158 +#: stock/serializers.py:160 msgid "Select part to generate serial number for" msgstr "" -#: stock/serializers.py:166 +#: stock/serializers.py:168 msgid "Quantity of serial numbers to generate" msgstr "" -#: stock/serializers.py:228 +#: stock/serializers.py:233 msgid "Test template for this result" msgstr "" -#: stock/serializers.py:247 +#: stock/serializers.py:252 msgid "Template ID or test name must be provided" msgstr "" -#: stock/serializers.py:279 +#: stock/serializers.py:284 msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:315 +#: stock/serializers.py:320 msgid "Serial number is too large" msgstr "Số sêri quá lớn" -#: stock/serializers.py:438 +#: stock/serializers.py:449 stock/templates/stock/item_base.html:193 +msgid "Parent Item" +msgstr "Mục cha" + +#: stock/serializers.py:450 +#, fuzzy +#| msgid "Parent Stock Item" +msgid "Parent stock item" +msgstr "Hàng trong kho cha" + +#: stock/serializers.py:469 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:558 +#: stock/serializers.py:585 templates/js/translated/build.js:991 +#: templates/js/translated/build.js:2344 +msgid "Allocated Quantity" +msgstr "" + +#: stock/serializers.py:588 stock/templates/stock/item_base.html:437 +#: templates/js/translated/table_filters.js:435 users/models.py:174 +msgid "Expired" +msgstr "Đã hết hạn" + +#: stock/serializers.py:594 stock/templates/stock/stock_sidebar.html:20 +msgid "Child Items" +msgstr "Mục con" + +#: stock/serializers.py:598 +#, fuzzy +#| msgid "Tracking Number" +msgid "Tracking Items" +msgstr "Số theo dõi" + +#: stock/serializers.py:604 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:595 +#: stock/serializers.py:623 +#, fuzzy +#| msgid "Minimum Price" +msgid "Minimum Pricing" +msgstr "Giá thấp nhất" + +#: stock/serializers.py:629 +#, fuzzy +#| msgid "Maximum Price" +msgid "Maximum Pricing" +msgstr "Giá cao nhất" + +#: stock/serializers.py:653 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:608 +#: stock/serializers.py:666 #, 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:615 +#: stock/serializers.py:673 msgid "Enter serial numbers for new items" msgstr "Điền số sêri cho hàng hóa mới" -#: stock/serializers.py:626 stock/serializers.py:1322 stock/serializers.py:1578 +#: stock/serializers.py:684 stock/serializers.py:1388 stock/serializers.py:1644 msgid "Destination stock location" msgstr "Vị trí kho đích" -#: stock/serializers.py:633 +#: stock/serializers.py:691 msgid "Optional note field" msgstr "Trường ghi chú tùy chọn" -#: stock/serializers.py:643 +#: stock/serializers.py:701 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:698 +#: stock/serializers.py:756 msgid "Select stock item to install" msgstr "Chọn mặt hàng để lắp đặt" -#: stock/serializers.py:705 +#: stock/serializers.py:763 msgid "Quantity to Install" msgstr "Số lượng để cài đặt" -#: stock/serializers.py:706 +#: stock/serializers.py:764 msgid "Enter the quantity of items to install" msgstr "Nhập số lượng hàng hóa để cài đặt" -#: stock/serializers.py:711 stock/serializers.py:791 stock/serializers.py:887 -#: stock/serializers.py:937 +#: stock/serializers.py:769 stock/serializers.py:849 stock/serializers.py:945 +#: stock/serializers.py:995 msgid "Add transaction note (optional)" msgstr "Thêm ghi chú giao dịch (tùy chọn)" -#: stock/serializers.py:719 +#: stock/serializers.py:777 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:727 +#: stock/serializers.py:785 msgid "Stock item is unavailable" msgstr "Mặt hàng không khả dụng" -#: stock/serializers.py:738 +#: stock/serializers.py:796 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:751 +#: stock/serializers.py:809 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:786 +#: stock/serializers.py:844 msgid "Destination location for uninstalled item" msgstr "Vị trí đích cho hàng hóa bị gỡ bỏ" -#: stock/serializers.py:821 +#: stock/serializers.py:879 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:834 +#: stock/serializers.py:892 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:851 +#: stock/serializers.py:909 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:882 +#: stock/serializers.py:940 msgid "Destination location for returned item" msgstr "Vị trí đích dành cho hàng hóa trả lại" -#: stock/serializers.py:919 +#: stock/serializers.py:977 msgid "Select stock items to change status" msgstr "Chọn mặt hàng để đổi trạng thái" -#: stock/serializers.py:925 +#: stock/serializers.py:983 msgid "No stock items selected" msgstr "Không có mặt hàng nào được chọn" -#: stock/serializers.py:1021 stock/serializers.py:1093 +#: stock/serializers.py:1079 stock/serializers.py:1156 #: stock/templates/stock/location.html:165 #: stock/templates/stock/location.html:222 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "Kho phụ" -#: stock/serializers.py:1086 templates/js/translated/stock.js:152 +#: stock/serializers.py:1149 templates/js/translated/stock.js:152 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1194 +#: stock/serializers.py:1260 msgid "Part must be salable" msgstr "Sản phẩm phải có thể bán được" -#: stock/serializers.py:1198 +#: stock/serializers.py:1264 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:1202 +#: stock/serializers.py:1268 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:1226 +#: stock/serializers.py:1292 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:1232 +#: stock/serializers.py:1298 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:1240 +#: stock/serializers.py:1306 msgid "Stock assignment notes" msgstr "Ghi chú phân bổ kho" -#: stock/serializers.py:1250 stock/serializers.py:1504 +#: stock/serializers.py:1316 stock/serializers.py:1570 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:1329 +#: stock/serializers.py:1395 msgid "Stock merging notes" msgstr "Ghi chú gộp kho" -#: stock/serializers.py:1334 +#: stock/serializers.py:1400 msgid "Allow mismatched suppliers" msgstr "Cho phép nhiều nhà cung không khớp" -#: stock/serializers.py:1335 +#: stock/serializers.py:1401 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:1340 +#: stock/serializers.py:1406 msgid "Allow mismatched status" msgstr "Cho phép trạng thái không khớp" -#: stock/serializers.py:1341 +#: stock/serializers.py:1407 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:1351 +#: stock/serializers.py:1417 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:1418 +#: stock/serializers.py:1484 msgid "No Change" msgstr "" -#: stock/serializers.py:1447 +#: stock/serializers.py:1513 msgid "StockItem primary key value" msgstr "Giá trị khóa chính mặt hàng" -#: stock/serializers.py:1466 +#: stock/serializers.py:1532 msgid "Stock item status code" msgstr "Mã trạng thái mặt hàng" -#: stock/serializers.py:1494 +#: stock/serializers.py:1560 msgid "Stock transaction notes" msgstr "Ghi chú giao dịch kho" @@ -9757,10 +10177,6 @@ msgstr "Xóa mặt hàng" msgid "Build" msgstr "Dựng" -#: stock/templates/stock/item_base.html:193 -msgid "Parent Item" -msgstr "Mục cha" - #: stock/templates/stock/item_base.html:211 msgid "No manufacturer set" msgstr "Chưa đặt nhà sản xuất" @@ -9836,11 +10252,6 @@ msgstr "Mặt hàng không đạt toàn bộ yêu cầu thử nghiệm" msgid "This StockItem expired on %(item.expiry_date)s" msgstr "Mặt hàng này hết hạn vào %(item.expiry_date)s" -#: stock/templates/stock/item_base.html:437 -#: templates/js/translated/table_filters.js:435 users/models.py:174 -msgid "Expired" -msgstr "Đã hết hạn" - #: stock/templates/stock/item_base.html:439 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" @@ -9988,10 +10399,6 @@ msgstr "Theo dõi tồn kho" msgid "Allocations" msgstr "Phân bổ" -#: stock/templates/stock/stock_sidebar.html:20 -msgid "Child Items" -msgstr "Mục con" - #: templates/403.html:6 templates/403.html:12 templates/403_csrf.html:7 msgid "Permission Denied" msgstr "Quyền truy cập bị từ chối" @@ -10466,8 +10873,8 @@ 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:393 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:245 users/models.py:402 +#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 +#: templates/js/translated/stock.js:245 users/models.py:406 msgid "Delete" msgstr "Xóa" @@ -10507,12 +10914,12 @@ msgid "No category parameter templates found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:308 -#: templates/js/translated/part.js:1646 +#: templates/js/translated/part.js:1649 msgid "Edit Template" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:309 -#: templates/js/translated/part.js:1647 +#: templates/js/translated/part.js:1650 msgid "Delete Template" msgstr "" @@ -11145,7 +11552,7 @@ msgid "The following parts are low on required stock" msgstr "Sản phẩm sau còn ít hàng trong kho yêu cầu" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2556 +#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2557 msgid "Required Quantity" msgstr "Số lượng bắt buộc" @@ -11159,7 +11566,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:3219 +#: templates/js/translated/part.js:3222 msgid "Minimum Quantity" msgstr "Số lượng tối thiểu" @@ -11514,7 +11921,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2500 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2501 msgid "Variant stock allowed" msgstr "" @@ -11534,30 +11941,30 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2621 +#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2622 msgid "External stock" msgstr "" -#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2595 +#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2596 #: templates/js/translated/sales_order.js:1946 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2599 +#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2600 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2601 -#: templates/js/translated/part.js:1257 +#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2602 +#: templates/js/translated/part.js:1260 #: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2603 +#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2604 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2586 +#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2587 msgid "Consumable item" msgstr "" @@ -11589,7 +11996,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2485 +#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2486 msgid "Required Part" msgstr "" @@ -11758,10 +12165,6 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:991 templates/js/translated/build.js:2344 -msgid "Allocated Quantity" -msgstr "" - #: templates/js/translated/build.js:1005 msgid "Location not specified" msgstr "" @@ -11873,9 +12276,9 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2117 templates/js/translated/build.js:2479 +#: templates/js/translated/build.js:2117 templates/js/translated/build.js:2480 #: templates/js/translated/forms.js:2163 templates/js/translated/forms.js:2179 -#: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 +#: templates/js/translated/part.js:2319 templates/js/translated/part.js:2745 #: templates/js/translated/stock.js:1983 templates/js/translated/stock.js:2710 msgid "Select" msgstr "" @@ -11906,59 +12309,59 @@ msgstr "" msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2455 +#: templates/js/translated/build.js:2456 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2456 +#: templates/js/translated/build.js:2457 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2474 +#: templates/js/translated/build.js:2475 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2504 templates/js/translated/part.js:791 -#: templates/js/translated/part.js:1203 +#: templates/js/translated/build.js:2505 templates/js/translated/part.js:790 +#: templates/js/translated/part.js:1206 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2539 +#: templates/js/translated/build.js:2540 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2591 +#: templates/js/translated/build.js:2592 #: templates/js/translated/sales_order.js:1951 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2646 +#: templates/js/translated/build.js:2647 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2653 +#: templates/js/translated/build.js:2654 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2654 +#: templates/js/translated/build.js:2655 msgid "Allocate tracked items against individual build outputs" msgstr "" -#: templates/js/translated/build.js:2662 +#: templates/js/translated/build.js:2663 #: templates/js/translated/sales_order.js:2052 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2667 templates/js/translated/stock.js:1868 +#: templates/js/translated/build.js:2668 templates/js/translated/stock.js:1868 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2671 +#: templates/js/translated/build.js:2672 #: templates/js/translated/sales_order.js:2046 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2675 +#: templates/js/translated/build.js:2676 msgid "Remove stock allocation" msgstr "" @@ -12105,7 +12508,7 @@ msgid "Delete Parameters" msgstr "" #: templates/js/translated/company.js:1191 -#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2245 +#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2248 msgid "Order parts" msgstr "" @@ -12122,34 +12525,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:1279 -#: templates/js/translated/company.js:1567 templates/js/translated/part.js:799 -#: templates/js/translated/part.js:1211 +#: templates/js/translated/company.js:1567 templates/js/translated/part.js:798 +#: templates/js/translated/part.js:1214 msgid "Template part" msgstr "" #: templates/js/translated/company.js:1283 -#: templates/js/translated/company.js:1571 templates/js/translated/part.js:803 -#: templates/js/translated/part.js:1215 +#: templates/js/translated/company.js:1571 templates/js/translated/part.js:802 +#: templates/js/translated/part.js:1218 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1465 +#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1468 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1528 +#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1531 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1529 +#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1532 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1434 +#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1437 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1550 +#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1553 msgid "Delete Parameter" msgstr "" @@ -12323,15 +12726,15 @@ msgstr "" msgid "No parts required for builds" msgstr "" -#: templates/js/translated/label.js:55 templates/js/translated/report.js:38 +#: templates/js/translated/label.js:48 templates/js/translated/report.js:38 msgid "Select Items" msgstr "" -#: templates/js/translated/label.js:56 templates/js/translated/report.js:39 +#: templates/js/translated/label.js:49 templates/js/translated/report.js:39 msgid "No items selected for printing" msgstr "" -#: templates/js/translated/label.js:150 +#: templates/js/translated/label.js:143 msgid "Labels sent to printer" msgstr "" @@ -12400,7 +12803,7 @@ msgstr "" #: templates/js/translated/news.js:38 #: templates/js/translated/notification.js:46 -#: templates/js/translated/part.js:1605 +#: templates/js/translated/part.js:1608 msgid "ID" msgstr "" @@ -12481,343 +12884,343 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:333 templates/js/translated/stock.js:175 +#: templates/js/translated/part.js:332 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:353 +#: templates/js/translated/part.js:352 msgid "Create Part Category" msgstr "" -#: templates/js/translated/part.js:356 +#: templates/js/translated/part.js:355 msgid "Create new category after this one" msgstr "" -#: templates/js/translated/part.js:357 +#: templates/js/translated/part.js:356 msgid "Part category created" msgstr "" -#: templates/js/translated/part.js:371 +#: templates/js/translated/part.js:370 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:384 +#: templates/js/translated/part.js:383 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:389 +#: templates/js/translated/part.js:388 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:398 +#: templates/js/translated/part.js:397 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:402 +#: templates/js/translated/part.js:401 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:407 +#: templates/js/translated/part.js:406 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:431 +#: templates/js/translated/part.js:430 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:433 +#: templates/js/translated/part.js:432 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:434 +#: templates/js/translated/part.js:433 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:462 +#: templates/js/translated/part.js:461 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:464 +#: templates/js/translated/part.js:463 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:475 +#: templates/js/translated/part.js:474 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:532 +#: templates/js/translated/part.js:531 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:533 +#: templates/js/translated/part.js:532 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:547 +#: templates/js/translated/part.js:546 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:549 +#: templates/js/translated/part.js:548 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:550 +#: templates/js/translated/part.js:549 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:551 +#: templates/js/translated/part.js:550 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:558 +#: templates/js/translated/part.js:557 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:594 +#: templates/js/translated/part.js:593 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:596 +#: templates/js/translated/part.js:595 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:601 +#: templates/js/translated/part.js:600 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:603 +#: templates/js/translated/part.js:602 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:620 +#: templates/js/translated/part.js:619 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:630 +#: templates/js/translated/part.js:629 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:633 +#: templates/js/translated/part.js:632 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:658 +#: templates/js/translated/part.js:657 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:686 -#: templates/js/translated/table_filters.js:747 +#: templates/js/translated/part.js:685 +#: templates/js/translated/table_filters.js:752 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:689 +#: templates/js/translated/part.js:688 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:749 +#: templates/js/translated/part.js:748 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:772 +#: templates/js/translated/part.js:771 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:795 templates/js/translated/part.js:1207 +#: templates/js/translated/part.js:794 templates/js/translated/part.js:1210 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:807 +#: templates/js/translated/part.js:806 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:811 +#: templates/js/translated/part.js:810 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:890 +#: templates/js/translated/part.js:893 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:890 +#: templates/js/translated/part.js:893 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:898 +#: templates/js/translated/part.js:901 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:902 +#: templates/js/translated/part.js:905 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:1051 +#: templates/js/translated/part.js:1054 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1109 templates/js/translated/part.js:1145 +#: templates/js/translated/part.js:1112 templates/js/translated/part.js:1148 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1113 templates/js/translated/part.js:1155 +#: templates/js/translated/part.js:1116 templates/js/translated/part.js:1158 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1282 +#: templates/js/translated/part.js:1285 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1600 +#: templates/js/translated/part.js:1603 msgid "No part parameter templates found" msgstr "" -#: templates/js/translated/part.js:1663 +#: templates/js/translated/part.js:1666 msgid "Edit Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1675 +#: templates/js/translated/part.js:1678 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/js/translated/part.js:1683 +#: templates/js/translated/part.js:1686 msgid "Delete Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1717 +#: templates/js/translated/part.js:1720 #: templates/js/translated/purchase_order.js:1654 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/part.js:1861 +#: templates/js/translated/part.js:1864 #: 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:1907 +#: templates/js/translated/part.js:1910 #: templates/js/translated/purchase_order.js:2220 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1970 +#: templates/js/translated/part.js:1973 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1992 +#: templates/js/translated/part.js:1995 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2080 templates/js/translated/part.js:2506 +#: templates/js/translated/part.js:2083 templates/js/translated/part.js:2509 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:2201 +#: templates/js/translated/part.js:2204 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2206 +#: templates/js/translated/part.js:2209 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2236 +#: templates/js/translated/part.js:2239 msgid "Set category" msgstr "" -#: templates/js/translated/part.js:2287 +#: templates/js/translated/part.js:2290 msgid "part" msgstr "" -#: templates/js/translated/part.js:2288 +#: templates/js/translated/part.js:2291 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2384 +#: templates/js/translated/part.js:2387 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 +#: templates/js/translated/part.js:2534 templates/js/translated/part.js:2664 #: templates/js/translated/stock.js:2669 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2547 +#: templates/js/translated/part.js:2550 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2645 +#: templates/js/translated/part.js:2648 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2689 +#: templates/js/translated/part.js:2684 templates/js/translated/stock.js:2689 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2761 +#: templates/js/translated/part.js:2764 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2777 +#: templates/js/translated/part.js:2780 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2865 +#: templates/js/translated/part.js:2868 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2887 templates/js/translated/search.js:342 +#: templates/js/translated/part.js:2890 templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/part.js:2937 templates/js/translated/stock.js:1456 +#: templates/js/translated/part.js:2940 templates/js/translated/stock.js:1456 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2938 templates/js/translated/stock.js:1457 +#: templates/js/translated/part.js:2941 templates/js/translated/stock.js:1457 #: templates/js/translated/stock.js:1731 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2942 +#: templates/js/translated/part.js:2945 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2958 +#: templates/js/translated/part.js:2961 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2972 +#: templates/js/translated/part.js:2975 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3051 templates/js/translated/part.js:3052 +#: templates/js/translated/part.js:3054 templates/js/translated/part.js:3055 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3054 +#: templates/js/translated/part.js:3057 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3060 +#: templates/js/translated/part.js:3063 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3110 +#: templates/js/translated/part.js:3113 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3116 +#: templates/js/translated/part.js:3119 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3212 +#: templates/js/translated/part.js:3215 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3228 +#: templates/js/translated/part.js:3231 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3273 +#: templates/js/translated/part.js:3276 msgid "Minimum Stock Level" msgstr "" @@ -13593,7 +13996,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1042 users/models.py:392 +#: templates/js/translated/stock.js:1042 users/models.py:396 msgid "Add" msgstr "Thêm" @@ -13947,7 +14350,7 @@ msgid "Include subcategories" msgstr "" #: templates/js/translated/table_filters.js:287 -#: templates/js/translated/table_filters.js:759 +#: templates/js/translated/table_filters.js:764 msgid "Subscribed" msgstr "" @@ -14102,40 +14505,46 @@ msgstr "" msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:725 +#: templates/js/translated/table_filters.js:722 +#, fuzzy +#| msgid "Show related parts" +msgid "Show locked parts" +msgstr "Hiển thị sản phẩm liên quan" + +#: templates/js/translated/table_filters.js:730 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:733 -#: templates/js/translated/table_filters.js:833 +#: templates/js/translated/table_filters.js:738 +#: templates/js/translated/table_filters.js:838 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:734 +#: templates/js/translated/table_filters.js:739 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:738 +#: templates/js/translated/table_filters.js:743 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:739 +#: templates/js/translated/table_filters.js:744 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:743 +#: templates/js/translated/table_filters.js:748 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:751 +#: templates/js/translated/table_filters.js:756 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:763 +#: templates/js/translated/table_filters.js:768 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:829 +#: templates/js/translated/table_filters.js:834 msgid "Has Choices" msgstr "" @@ -14207,10 +14616,6 @@ msgstr "" msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:558 -msgid "Columns" -msgstr "" - #: templates/js/translated/tables.js:561 msgid "All" msgstr "" @@ -14484,35 +14889,52 @@ msgstr "Lần cuối mã thông báo được sử dụng" msgid "Revoked" msgstr "Đã thu hồi" -#: users/models.py:375 +#: users/models.py:379 msgid "Permission set" msgstr "Quyền hạn đã đặt" -#: users/models.py:384 +#: users/models.py:388 msgid "Group" msgstr "Nhóm" -#: users/models.py:388 +#: users/models.py:392 msgid "View" msgstr "Xem" -#: users/models.py:388 +#: users/models.py:392 msgid "Permission to view items" msgstr "Quyền để xem mục" -#: users/models.py:392 +#: users/models.py:396 msgid "Permission to add items" msgstr "Quyền để thêm mục" -#: users/models.py:396 +#: users/models.py:400 msgid "Change" msgstr "Đổi" -#: users/models.py:398 +#: users/models.py:402 msgid "Permissions to edit items" msgstr "Quyển để sửa mục" -#: users/models.py:404 +#: users/models.py:408 msgid "Permission to delete items" msgstr "Quyền để xóa mục" +#~ msgid "Default part label template" +#~ msgstr "Mẫu nhãn sản phẩm mặc định" + +#~ 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" + +#~ msgid "Default stock item template" +#~ msgstr "Mẫu hàng hóa trong khi mặc định" + +#~ 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" + +#~ msgid "Default stock location label template" +#~ msgstr "Mẫu nhãn vị trí kho mặc định" + +#~ msgid "The stock location label template to be automatically selected" +#~ msgstr "Mẫu nhãn vị trí kho được chọn tự động" diff --git a/src/backend/InvenTree/locale/zh/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/zh/LC_MESSAGES/django.po index 9cdc905eb0d5..406acb9685f4 100644 --- a/src/backend/InvenTree/locale/zh/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/zh/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-07-05 02:47+0000\n" +"POT-Creation-Date: 2024-07-08 14:46+0000\n" "PO-Revision-Date: 2024-07-05 14:58\n" "Last-Translator: \n" "Language-Team: Chinese Traditional\n" @@ -21,7 +21,7 @@ msgstr "" msgid "API endpoint not found" msgstr "" -#: InvenTree/api.py:520 +#: InvenTree/api.py:505 msgid "User does not have permission to view this model" msgstr "" @@ -56,21 +56,21 @@ msgstr "" msgid "Enter date" msgstr "" -#: InvenTree/fields.py:205 InvenTree/models.py:918 build/serializers.py:452 -#: build/serializers.py:530 build/templates/build/sidebar.html:21 -#: company/models.py:817 company/templates/company/sidebar.html:37 +#: InvenTree/fields.py:205 InvenTree/models.py:921 build/serializers.py:456 +#: build/serializers.py:534 build/templates/build/sidebar.html:21 +#: company/models.py:824 company/templates/company/sidebar.html:37 #: order/models.py:1296 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:3183 part/templates/part/part_sidebar.html:63 +#: part/models.py:3193 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:230 stock/models.py:2344 stock/models.py:2466 -#: stock/serializers.py:632 stock/serializers.py:790 stock/serializers.py:886 -#: stock/serializers.py:936 stock/serializers.py:1239 stock/serializers.py:1328 -#: stock/serializers.py:1493 stock/templates/stock/stock_sidebar.html:25 +#: stock/admin.py:230 stock/models.py:2349 stock/models.py:2476 +#: stock/serializers.py:690 stock/serializers.py:848 stock/serializers.py:944 +#: stock/serializers.py:994 stock/serializers.py:1305 stock/serializers.py:1394 +#: stock/serializers.py:1559 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:1081 +#: templates/js/translated/part.js:1084 #: templates/js/translated/purchase_order.js:2200 #: templates/js/translated/return_order.js:775 #: templates/js/translated/sales_order.js:1103 @@ -371,41 +371,41 @@ msgstr "" msgid "JSON metadata field, for use by external plugins" msgstr "" -#: InvenTree/models.py:408 +#: InvenTree/models.py:411 msgid "Improperly formatted pattern" msgstr "" -#: InvenTree/models.py:415 +#: InvenTree/models.py:418 msgid "Unknown format key specified" msgstr "" -#: InvenTree/models.py:421 +#: InvenTree/models.py:424 msgid "Missing required format key" msgstr "" -#: InvenTree/models.py:432 +#: InvenTree/models.py:435 msgid "Reference field cannot be empty" msgstr "" -#: InvenTree/models.py:440 +#: InvenTree/models.py:443 msgid "Reference must match required pattern" msgstr "" -#: InvenTree/models.py:471 +#: InvenTree/models.py:474 msgid "Reference number is too large" msgstr "" -#: InvenTree/models.py:719 +#: InvenTree/models.py:722 msgid "Duplicate names cannot exist under the same parent" msgstr "" -#: InvenTree/models.py:736 +#: InvenTree/models.py:739 msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:766 common/models.py:2678 common/models.py:3103 -#: common/serializers.py:408 company/models.py:580 machine/models.py:24 -#: part/models.py:891 part/models.py:3639 plugin/models.py:51 +#: InvenTree/models.py:769 common/models.py:2659 common/models.py:3089 +#: common/serializers.py:412 company/models.py:587 machine/models.py:24 +#: part/models.py:895 part/models.py:3660 plugin/models.py:51 #: report/models.py:150 stock/models.py:74 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -417,20 +417,20 @@ msgstr "" #: templates/js/translated/company.js:724 #: templates/js/translated/company.js:913 #: templates/js/translated/company.js:1165 -#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1187 -#: templates/js/translated/part.js:1475 templates/js/translated/part.js:1611 -#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2716 +#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1190 +#: templates/js/translated/part.js:1478 templates/js/translated/part.js:1614 +#: templates/js/translated/part.js:2752 templates/js/translated/stock.js:2716 msgid "Name" msgstr "" -#: InvenTree/models.py:772 build/models.py:235 -#: build/templates/build/detail.html:24 common/models.py:138 -#: company/models.py:509 company/models.py:808 +#: InvenTree/models.py:775 build/models.py:242 +#: build/templates/build/detail.html:24 common/models.py:143 +#: company/models.py:515 company/models.py:815 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 -#: order/models.py:1329 part/admin.py:305 part/admin.py:408 part/models.py:914 -#: part/models.py:3654 part/templates/part/category.html:82 +#: order/models.py:1329 part/admin.py:305 part/admin.py:408 part/models.py:918 +#: part/models.py:3675 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:156 #: report/models.py:510 report/models.py:536 @@ -444,10 +444,10 @@ msgstr "" #: templates/js/translated/build.js:2139 templates/js/translated/company.js:519 #: templates/js/translated/company.js:1330 #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 -#: templates/js/translated/order.js:298 templates/js/translated/part.js:1239 -#: templates/js/translated/part.js:1484 templates/js/translated/part.js:1622 -#: templates/js/translated/part.js:1959 templates/js/translated/part.js:2355 -#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2897 +#: templates/js/translated/order.js:298 templates/js/translated/part.js:1242 +#: templates/js/translated/part.js:1487 templates/js/translated/part.js:1625 +#: templates/js/translated/part.js:1962 templates/js/translated/part.js:2358 +#: templates/js/translated/part.js:2788 templates/js/translated/part.js:2900 #: templates/js/translated/plugin.js:80 #: templates/js/translated/purchase_order.js:1706 #: templates/js/translated/purchase_order.js:1849 @@ -460,53 +460,53 @@ msgstr "" msgid "Description" msgstr "" -#: InvenTree/models.py:773 stock/models.py:81 +#: InvenTree/models.py:776 stock/models.py:81 msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:788 templates/js/translated/part.js:2794 +#: InvenTree/models.py:791 templates/js/translated/part.js:2797 #: templates/js/translated/stock.js:2757 msgid "Path" msgstr "" -#: InvenTree/models.py:918 +#: InvenTree/models.py:921 msgid "Markdown notes (optional)" msgstr "" -#: InvenTree/models.py:947 +#: InvenTree/models.py:950 msgid "Barcode Data" msgstr "" -#: InvenTree/models.py:948 +#: InvenTree/models.py:951 msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:954 +#: InvenTree/models.py:957 msgid "Barcode Hash" msgstr "" -#: InvenTree/models.py:955 +#: InvenTree/models.py:958 msgid "Unique hash of barcode data" msgstr "" -#: InvenTree/models.py:1008 +#: InvenTree/models.py:1011 msgid "Existing barcode found" msgstr "" -#: InvenTree/models.py:1051 +#: InvenTree/models.py:1054 msgid "Server Error" msgstr "" -#: InvenTree/models.py:1052 +#: InvenTree/models.py:1055 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:63 part/models.py:4192 +#: InvenTree/serializers.py:63 part/models.py:4277 msgid "Must be a valid number" msgstr "" #: InvenTree/serializers.py:100 company/models.py:186 -#: company/templates/company/company_base.html:112 part/models.py:3001 +#: company/templates/company/company_base.html:112 part/models.py:3011 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -556,16 +556,16 @@ msgstr "" msgid "Is this user a superuser" msgstr "" -#: InvenTree/serializers.py:445 common/models.py:2683 company/models.py:163 -#: company/models.py:782 machine/models.py:39 part/admin.py:88 -#: part/models.py:1081 plugin/models.py:66 +#: InvenTree/serializers.py:445 common/models.py:2664 company/models.py:163 +#: company/models.py:789 machine/models.py:39 part/admin.py:88 +#: part/models.py:1085 plugin/models.py:66 #: 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 #: templates/js/translated/table_filters.js:520 #: templates/js/translated/table_filters.js:716 -#: templates/js/translated/table_filters.js:796 users/models.py:182 +#: templates/js/translated/table_filters.js:801 users/models.py:182 msgid "Active" msgstr "" @@ -597,7 +597,7 @@ msgstr "" msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:581 +#: InvenTree/serializers.py:581 importer/models.py:60 msgid "Data File" msgstr "" @@ -651,7 +651,7 @@ msgstr "" msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/status.py:66 part/serializers.py:1174 +#: InvenTree/status.py:66 part/serializers.py:1202 msgid "Background worker check failed" msgstr "" @@ -711,47 +711,48 @@ msgstr "" msgid "About InvenTree" msgstr "" -#: build/api.py:255 +#: build/api.py:248 msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:299 part/models.py:4070 templates/js/translated/bom.js:997 -#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 +#: build/api.py:292 build/serializers.py:1190 part/models.py:4155 +#: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 +#: templates/js/translated/build.js:2521 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:300 part/models.py:4064 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 +#: build/api.py:293 build/serializers.py:1191 part/models.py:4149 +#: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 +#: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2530 #: templates/js/translated/table_filters.js:186 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:587 msgid "Optional" msgstr "" -#: build/api.py:301 templates/js/translated/table_filters.js:408 +#: build/api.py:294 templates/js/translated/table_filters.js:408 #: templates/js/translated/table_filters.js:579 msgid "Tracked" msgstr "" -#: build/api.py:303 part/admin.py:144 templates/js/translated/build.js:1744 -#: templates/js/translated/build.js:2629 +#: build/api.py:296 part/admin.py:144 templates/js/translated/build.js:1744 +#: templates/js/translated/build.js:2630 #: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:571 msgid "Allocated" msgstr "" -#: build/api.py:311 company/models.py:872 company/serializers.py:359 +#: build/api.py:304 company/models.py:879 company/serializers.py:386 #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2561 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2562 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:234 -#: templates/js/translated/part.js:693 templates/js/translated/part.js:695 -#: templates/js/translated/part.js:700 +#: 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 #: templates/js/translated/table_filters.js:575 msgid "Available" @@ -760,7 +761,7 @@ msgstr "" #: build/models.py:85 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 -#: stock/serializers.py:82 templates/email/build_order_completed.html:16 +#: stock/serializers.py:84 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:2892 msgid "Build Order" @@ -781,35 +782,39 @@ msgstr "" msgid "Assembly BOM has not been validated" msgstr "" -#: build/models.py:134 part/templates/part/part_base.html:145 -msgid "Part is not active" +#: build/models.py:134 +msgid "Build order cannot be created for an inactive part" +msgstr "" + +#: build/models.py:141 +msgid "Build order cannot be created for an unlocked part" msgstr "" -#: build/models.py:148 +#: build/models.py:155 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:159 order/models.py:240 +#: build/models.py:166 order/models.py:240 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:165 +#: build/models.py:172 msgid "Build order part cannot be changed" msgstr "" -#: build/models.py:226 +#: build/models.py:233 msgid "Build Order Reference" msgstr "" -#: build/models.py:227 order/models.py:463 order/models.py:926 -#: order/models.py:1289 order/models.py:2020 part/admin.py:411 -#: part/models.py:4085 part/templates/part/upload_bom.html:54 +#: build/models.py:234 build/serializers.py:1189 order/models.py:463 +#: order/models.py:926 order/models.py:1289 order/models.py:2046 +#: part/admin.py:411 part/models.py:4170 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: 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/build.js:2513 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2065 #: templates/js/translated/return_order.js:728 @@ -817,27 +822,28 @@ msgstr "" msgid "Reference" msgstr "" -#: build/models.py:238 +#: build/models.py:245 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:246 build/templates/build/build_base.html:183 +#: build/models.py:253 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/models.py:247 +#: build/models.py:254 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:252 build/templates/build/build_base.html:97 -#: build/templates/build/detail.html:29 company/models.py:1026 order/api.py:805 -#: order/models.py:1414 order/models.py:1559 order/models.py:1560 -#: part/api.py:1494 part/api.py:1788 part/models.py:395 part/models.py:3012 -#: part/models.py:3156 part/models.py:3303 part/models.py:3324 -#: part/models.py:3346 part/models.py:3477 part/models.py:3787 -#: part/models.py:3943 part/models.py:4036 part/models.py:4395 -#: part/serializers.py:1120 part/serializers.py:1726 +#: build/models.py:259 build/serializers.py:1184 +#: build/templates/build/build_base.html:97 +#: build/templates/build/detail.html:29 company/models.py:1034 order/api.py:759 +#: order/models.py:1419 order/models.py:1574 order/models.py:1575 +#: part/api.py:1480 part/api.py:1776 part/models.py:396 part/models.py:3022 +#: part/models.py:3166 part/models.py:3314 part/models.py:3335 +#: part/models.py:3357 part/models.py:3493 part/models.py:3827 +#: part/models.py:3990 part/models.py:4121 part/models.py:4480 +#: part/serializers.py:1148 part/serializers.py:1758 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -848,8 +854,8 @@ msgstr "" #: 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:109 stock/serializers.py:157 stock/serializers.py:423 -#: stock/serializers.py:820 templates/InvenTree/search.html:82 +#: stock/serializers.py:111 stock/serializers.py:159 stock/serializers.py:443 +#: stock/serializers.py:878 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 @@ -862,8 +868,8 @@ msgstr "" #: templates/js/translated/company.js:1116 #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 -#: templates/js/translated/part.js:1944 templates/js/translated/part.js:2016 -#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:1947 templates/js/translated/part.js:2019 +#: templates/js/translated/part.js:2327 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:1848 @@ -881,107 +887,107 @@ msgstr "" msgid "Part" msgstr "" -#: build/models.py:260 +#: build/models.py:267 msgid "Select part to build" msgstr "" -#: build/models.py:265 +#: build/models.py:272 msgid "Sales Order Reference" msgstr "" -#: build/models.py:269 +#: build/models.py:276 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:274 build/serializers.py:999 +#: build/models.py:281 build/serializers.py:1003 #: templates/js/translated/build.js:1731 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "" -#: build/models.py:278 +#: build/models.py:285 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:283 +#: build/models.py:290 msgid "Destination Location" msgstr "" -#: build/models.py:287 +#: build/models.py:294 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:291 +#: build/models.py:298 msgid "Build Quantity" msgstr "" -#: build/models.py:294 +#: build/models.py:301 msgid "Number of stock items to build" msgstr "" -#: build/models.py:298 +#: build/models.py:305 msgid "Completed items" msgstr "" -#: build/models.py:300 +#: build/models.py:307 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:304 +#: build/models.py:311 msgid "Build Status" msgstr "" -#: build/models.py:308 +#: build/models.py:315 msgid "Build status code" msgstr "" -#: build/models.py:317 build/serializers.py:286 order/serializers.py:580 -#: stock/models.py:839 stock/serializers.py:74 stock/serializers.py:1458 +#: build/models.py:324 build/serializers.py:290 order/serializers.py:629 +#: stock/models.py:839 stock/serializers.py:76 stock/serializers.py:1524 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "" -#: build/models.py:321 build/serializers.py:287 +#: build/models.py:328 build/serializers.py:291 msgid "Batch code for this build output" msgstr "" -#: build/models.py:324 order/models.py:316 order/serializers.py:119 -#: part/models.py:1115 part/templates/part/part_base.html:310 +#: build/models.py:331 order/models.py:316 order/serializers.py:127 +#: part/models.py:1125 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:328 +#: build/models.py:335 msgid "Target completion date" msgstr "" -#: build/models.py:329 +#: build/models.py:336 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:332 order/models.py:521 order/models.py:2065 +#: build/models.py:339 order/models.py:521 order/models.py:2091 #: templates/js/translated/build.js:2247 msgid "Completion Date" msgstr "" -#: build/models.py:338 +#: build/models.py:345 msgid "completed by" msgstr "" -#: build/models.py:346 templates/js/translated/build.js:2207 +#: build/models.py:353 templates/js/translated/build.js:2207 msgid "Issued by" msgstr "" -#: build/models.py:347 +#: build/models.py:354 msgid "User who issued this build order" msgstr "" -#: build/models.py:355 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 common/models.py:147 +#: build/models.py:362 build/templates/build/build_base.html:204 +#: build/templates/build/detail.html:122 common/models.py:152 #: order/models.py:334 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:232 part/models.py:1132 +#: order/templates/order/sales_order_base.html:232 part/models.py:1142 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 @@ -992,11 +998,11 @@ msgstr "" msgid "Responsible" msgstr "" -#: build/models.py:356 +#: build/models.py:363 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:361 build/templates/build/detail.html:108 +#: build/models.py:368 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 @@ -1008,21 +1014,22 @@ msgstr "" msgid "External Link" msgstr "" -#: build/models.py:362 common/models.py:3244 part/models.py:956 +#: build/models.py:369 common/models.py:3230 part/models.py:960 #: stock/models.py:835 msgid "Link to external URL" msgstr "" -#: build/models.py:366 +#: build/models.py:373 msgid "Build Priority" msgstr "" -#: build/models.py:369 +#: build/models.py:376 msgid "Priority of this build order" msgstr "" -#: build/models.py:376 common/models.py:131 order/admin.py:18 -#: order/models.py:298 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:383 common/models.py:122 common/models.py:136 +#: order/admin.py:18 order/models.py:298 order/serializers.py:108 +#: templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 #: templates/js/translated/purchase_order.js:1710 #: templates/js/translated/return_order.js:317 @@ -1032,65 +1039,66 @@ msgstr "" msgid "Project Code" msgstr "" -#: build/models.py:377 +#: build/models.py:384 msgid "Project code for this build order" msgstr "" -#: build/models.py:610 build/models.py:675 +#: build/models.py:617 build/models.py:682 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:632 +#: build/models.py:639 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:638 +#: build/models.py:645 msgid "A build order has been completed" msgstr "" -#: build/models.py:864 build/models.py:949 +#: build/models.py:871 build/models.py:956 msgid "No build output specified" msgstr "" -#: build/models.py:867 +#: build/models.py:874 msgid "Build output is already completed" msgstr "" -#: build/models.py:870 +#: build/models.py:877 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:953 build/serializers.py:219 build/serializers.py:268 -#: build/serializers.py:866 order/models.py:559 order/serializers.py:432 -#: order/serializers.py:575 part/serializers.py:1484 part/serializers.py:1884 -#: stock/models.py:678 stock/models.py:1496 stock/serializers.py:603 +#: build/models.py:960 build/serializers.py:223 build/serializers.py:272 +#: build/serializers.py:870 order/models.py:559 order/serializers.py:461 +#: order/serializers.py:624 part/serializers.py:1515 part/serializers.py:1921 +#: stock/models.py:678 stock/models.py:1496 stock/serializers.py:661 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:958 build/serializers.py:224 +#: build/models.py:965 build/serializers.py:228 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1018 build/serializers.py:547 +#: build/models.py:1025 build/serializers.py:551 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1359 +#: build/models.py:1366 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1384 +#: build/models.py:1391 msgid "Build object" msgstr "" -#: build/models.py:1398 build/models.py:1654 build/serializers.py:206 -#: build/serializers.py:253 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2563 -#: order/models.py:1272 order/models.py:1931 order/serializers.py:1327 +#: build/models.py:1405 build/models.py:1661 build/serializers.py:210 +#: build/serializers.py:257 build/serializers.py:1194 +#: build/templates/build/build_base.html:102 +#: build/templates/build/detail.html:34 common/models.py:2544 +#: order/models.py:1272 order/models.py:1957 order/serializers.py:1383 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:410 -#: part/forms.py:48 part/models.py:3170 part/models.py:4058 +#: part/forms.py:48 part/models.py:3180 part/models.py:4143 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1100,7 +1108,7 @@ msgstr "" #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:169 stock/admin.py:159 -#: stock/serializers.py:125 stock/serializers.py:165 stock/serializers.py:594 +#: stock/serializers.py:127 stock/serializers.py:167 stock/serializers.py:652 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 @@ -1111,8 +1119,8 @@ msgstr "" #: templates/js/translated/build.js:1746 templates/js/translated/build.js:2357 #: templates/js/translated/company.js:1818 #: templates/js/translated/model_renderers.js:236 -#: templates/js/translated/order.js:304 templates/js/translated/part.js:962 -#: templates/js/translated/part.js:1812 templates/js/translated/part.js:3342 +#: templates/js/translated/order.js:304 templates/js/translated/part.js:965 +#: templates/js/translated/part.js:1815 templates/js/translated/part.js:3345 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 @@ -1132,38 +1140,38 @@ msgstr "" msgid "Quantity" msgstr "" -#: build/models.py:1399 +#: build/models.py:1406 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1479 +#: build/models.py:1486 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1488 +#: build/models.py:1495 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1498 order/models.py:1882 +#: build/models.py:1505 order/models.py:1908 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1504 order/models.py:1885 +#: build/models.py:1511 order/models.py:1911 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1510 +#: build/models.py:1517 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1569 +#: build/models.py:1576 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1641 build/serializers.py:846 order/serializers.py:1171 -#: order/serializers.py:1192 stock/models.py:359 stock/serializers.py:91 -#: stock/serializers.py:697 stock/serializers.py:1177 stock/serializers.py:1289 +#: build/models.py:1648 build/serializers.py:850 order/serializers.py:1227 +#: order/serializers.py:1248 stock/models.py:359 stock/serializers.py:93 +#: stock/serializers.py:755 stock/serializers.py:1243 stock/serializers.py:1355 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 @@ -1179,70 +1187,76 @@ msgstr "" msgid "Stock Item" msgstr "" -#: build/models.py:1642 +#: build/models.py:1649 msgid "Source stock item" msgstr "" -#: build/models.py:1655 +#: build/models.py:1662 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1663 +#: build/models.py:1670 msgid "Install into" msgstr "" -#: build/models.py:1664 +#: build/models.py:1671 msgid "Destination stock item" msgstr "" -#: build/serializers.py:156 build/serializers.py:875 +#: build/serializers.py:89 build/serializers.py:1185 part/admin.py:41 +#: part/admin.py:405 part/models.py:3992 part/stocktake.py:220 +#: stock/admin.py:156 +msgid "Part Name" +msgstr "" + +#: build/serializers.py:160 build/serializers.py:879 #: templates/js/translated/build.js:1322 msgid "Build Output" msgstr "" -#: build/serializers.py:168 +#: build/serializers.py:172 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:172 +#: build/serializers.py:176 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:176 +#: build/serializers.py:180 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:187 +#: build/serializers.py:191 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:207 build/serializers.py:254 +#: build/serializers.py:211 build/serializers.py:258 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:275 +#: build/serializers.py:279 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:278 +#: build/serializers.py:282 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:293 order/serializers.py:588 order/serializers.py:1331 -#: stock/serializers.py:614 templates/js/translated/purchase_order.js:1153 +#: build/serializers.py:297 order/serializers.py:637 order/serializers.py:1387 +#: stock/serializers.py:672 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:294 +#: build/serializers.py:298 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:299 build/serializers.py:440 build/serializers.py:512 -#: order/serializers.py:564 order/serializers.py:672 order/serializers.py:1656 -#: part/serializers.py:1140 stock/serializers.py:100 stock/serializers.py:625 -#: stock/serializers.py:785 stock/serializers.py:881 stock/serializers.py:1321 -#: stock/serializers.py:1577 stock/templates/stock/item_base.html:394 +#: build/serializers.py:303 build/serializers.py:444 build/serializers.py:516 +#: order/serializers.py:613 order/serializers.py:721 order/serializers.py:1714 +#: part/serializers.py:1168 stock/serializers.py:102 stock/serializers.py:683 +#: stock/serializers.py:843 stock/serializers.py:939 stock/serializers.py:1387 +#: stock/serializers.py:1643 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 @@ -1258,54 +1272,54 @@ msgstr "" msgid "Location" msgstr "" -#: build/serializers.py:300 +#: build/serializers.py:304 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:314 +#: build/serializers.py:318 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:315 +#: build/serializers.py:319 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:330 +#: build/serializers.py:334 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/serializers.py:355 stock/api.py:1041 +#: build/serializers.py:359 stock/api.py:1033 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:402 build/serializers.py:464 build/serializers.py:553 +#: build/serializers.py:406 build/serializers.py:468 build/serializers.py:557 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:441 +#: build/serializers.py:445 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:447 +#: build/serializers.py:451 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:448 +#: build/serializers.py:452 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:453 +#: build/serializers.py:457 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:513 +#: build/serializers.py:517 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:519 build/templates/build/build_base.html:151 +#: build/serializers.py:523 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:950 -#: order/models.py:2044 order/serializers.py:596 stock/admin.py:164 -#: stock/serializers.py:932 stock/serializers.py:1465 +#: order/models.py:2070 order/serializers.py:645 stock/admin.py:164 +#: stock/serializers.py:990 stock/serializers.py:1531 #: 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 @@ -1317,193 +1331,241 @@ msgstr "" msgid "Status" msgstr "" -#: build/serializers.py:525 +#: build/serializers.py:529 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:526 +#: build/serializers.py:530 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:611 +#: build/serializers.py:615 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:612 +#: build/serializers.py:616 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:618 +#: build/serializers.py:622 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:619 +#: build/serializers.py:623 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:646 +#: build/serializers.py:650 msgid "Not permitted" msgstr "" -#: build/serializers.py:647 +#: build/serializers.py:651 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:648 +#: build/serializers.py:652 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:678 +#: build/serializers.py:682 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:680 +#: build/serializers.py:684 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:690 +#: build/serializers.py:694 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:695 +#: build/serializers.py:699 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:696 +#: build/serializers.py:700 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:706 templates/js/translated/build.js:315 +#: build/serializers.py:710 templates/js/translated/build.js:315 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:711 order/serializers.py:300 order/serializers.py:1234 +#: build/serializers.py:715 order/serializers.py:319 order/serializers.py:1290 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:712 +#: build/serializers.py:716 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:722 templates/js/translated/build.js:319 +#: build/serializers.py:726 templates/js/translated/build.js:319 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:731 templates/js/translated/build.js:303 +#: build/serializers.py:735 templates/js/translated/build.js:303 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:769 +#: build/serializers.py:773 msgid "Build Line" msgstr "" -#: build/serializers.py:779 +#: build/serializers.py:783 msgid "Build output" msgstr "" -#: build/serializers.py:787 +#: build/serializers.py:791 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:823 +#: build/serializers.py:827 msgid "Build Line Item" msgstr "" -#: build/serializers.py:837 +#: build/serializers.py:841 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:852 stock/serializers.py:1190 +#: build/serializers.py:856 stock/serializers.py:1256 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:900 order/serializers.py:1225 +#: build/serializers.py:904 order/serializers.py:1281 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:906 +#: build/serializers.py:910 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:913 +#: build/serializers.py:917 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:937 order/serializers.py:1477 +#: build/serializers.py:941 order/serializers.py:1533 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:1000 +#: build/serializers.py:1004 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:1008 +#: build/serializers.py:1012 msgid "Exclude Location" msgstr "" -#: build/serializers.py:1009 +#: build/serializers.py:1013 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:1014 +#: build/serializers.py:1018 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:1015 +#: build/serializers.py:1019 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:1020 +#: build/serializers.py:1024 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:1021 +#: build/serializers.py:1025 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:1026 +#: build/serializers.py:1030 msgid "Optional Items" msgstr "" -#: build/serializers.py:1027 +#: build/serializers.py:1031 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1049 +#: build/serializers.py:1053 msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1139 part/models.py:3953 part/models.py:4387 -#: stock/api.py:804 +#: build/serializers.py:1095 +msgid "Supplier Part Number" +msgstr "" + +#: build/serializers.py:1096 company/models.py:500 +msgid "Manufacturer Part Number" +msgstr "" + +#: build/serializers.py:1097 stock/admin.py:53 stock/admin.py:175 +#: stock/serializers.py:454 +msgid "Location Name" +msgstr "" + +#: build/serializers.py:1098 +msgid "Build Reference" +msgstr "" + +#: build/serializers.py:1099 +msgid "BOM Reference" +msgstr "" + +#: build/serializers.py:1186 part/admin.py:402 part/models.py:3993 +msgid "Part IPN" +msgstr "" + +#: build/serializers.py:1192 common/models.py:1488 part/admin.py:113 +#: part/models.py:1068 templates/js/translated/table_filters.js:147 +#: templates/js/translated/table_filters.js:223 +#: templates/js/translated/table_filters.js:776 +msgid "Trackable" +msgstr "" + +#: build/serializers.py:1196 part/models.py:4000 part/models.py:4472 +#: stock/api.py:796 msgid "BOM Item" msgstr "" -#: build/serializers.py:1148 templates/js/translated/index.js:130 +#: build/serializers.py:1205 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1153 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:828 part/serializers.py:1502 +#: build/serializers.py:1210 part/admin.py:132 part/bom.py:173 +#: part/serializers.py:856 part/serializers.py:1533 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2613 templates/js/translated/part.js:710 -#: templates/js/translated/part.js:2149 +#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709 +#: templates/js/translated/part.js:2152 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "" -#: build/serializers.py:1158 part/serializers.py:1504 -#: templates/js/translated/build.js:2617 +#: build/serializers.py:1215 part/serializers.py:1535 +#: templates/js/translated/build.js:2618 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" -#: build/serializers.py:1163 part/bom.py:172 part/serializers.py:1527 +#: build/serializers.py:1220 part/bom.py:172 part/serializers.py:1558 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" msgstr "" +#: build/serializers.py:1224 +msgid "Available Substitute Stock" +msgstr "" + +#: build/serializers.py:1225 +msgid "Available Variant Stock" +msgstr "" + +#: build/serializers.py:1226 +msgid "Total Available Stock" +msgstr "" + +#: build/serializers.py:1227 part/serializers.py:862 +msgid "External Stock" +msgstr "" + #: build/status_codes.py:11 generic/states/tests.py:17 order/status_codes.py:12 #: order/status_codes.py:37 order/status_codes.py:64 order/status_codes.py:82 #: templates/js/translated/table_filters.js:598 @@ -1519,7 +1581,8 @@ msgstr "" msgid "Cancelled" msgstr "" -#: build/status_codes.py:14 generic/states/tests.py:19 order/status_codes.py:14 +#: build/status_codes.py:14 generic/states/tests.py:19 importer/models.py:468 +#: importer/status_codes.py:19 order/status_codes.py:14 #: order/status_codes.py:44 order/status_codes.py:69 #: order/templates/order/order_base.html:158 #: order/templates/order/sales_order_base.html:165 report/models.py:444 @@ -1652,11 +1715,12 @@ msgstr "" #: build/templates/build/build_base.html:160 #: build/templates/build/detail.html:138 order/models.py:309 -#: order/models.py:1307 order/templates/order/order_base.html:186 +#: order/models.py:1307 order/serializers.py:174 +#: order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: 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:1831 +#: templates/js/translated/build.js:2239 templates/js/translated/part.js:1834 #: templates/js/translated/purchase_order.js:1739 #: templates/js/translated/purchase_order.js:2147 #: templates/js/translated/return_order.js:346 @@ -1689,8 +1753,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1463 order/models.py:845 -#: order/models.py:1551 order/models.py:1665 order/models.py:1819 +#: build/templates/build/detail.html:101 order/api.py:1384 order/models.py:845 +#: order/models.py:1566 order/models.py:1681 order/models.py:1840 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 @@ -1740,7 +1804,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1443 +#: build/templates/build/detail.html:49 order/models.py:1448 #: templates/js/translated/purchase_order.js:2189 msgid "Destination" msgstr "" @@ -1892,31 +1956,31 @@ msgstr "" msgid "Incomplete Outputs" msgstr "" -#: common/api.py:689 +#: common/api.py:690 msgid "Is Link" msgstr "" -#: common/api.py:697 +#: common/api.py:698 msgid "Is File" msgstr "" -#: common/api.py:739 +#: common/api.py:740 msgid "User does not have permission to delete this attachment" msgstr "" -#: common/currency.py:130 +#: common/currency.py:132 msgid "Invalid currency code" msgstr "" -#: common/currency.py:132 +#: common/currency.py:134 msgid "Duplicate currency code" msgstr "" -#: common/currency.py:137 +#: common/currency.py:139 msgid "No valid currency codes provided" msgstr "" -#: common/currency.py:154 +#: common/currency.py:156 msgid "No plugin" msgstr "" @@ -1970,1635 +2034,1604 @@ msgstr "" msgid "Site URL is locked by configuration" msgstr "" -#: common/models.py:132 +#: common/models.py:137 msgid "Unique project code" msgstr "" -#: common/models.py:139 +#: common/models.py:144 msgid "Project description" msgstr "" -#: common/models.py:148 +#: common/models.py:153 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:765 +#: common/models.py:770 msgid "Settings key (must be unique - case insensitive)" msgstr "" -#: common/models.py:769 +#: common/models.py:774 msgid "Settings value" msgstr "" -#: common/models.py:821 +#: common/models.py:826 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:837 +#: common/models.py:842 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:845 +#: common/models.py:850 msgid "Value must be an integer value" msgstr "" -#: common/models.py:882 +#: common/models.py:887 msgid "Key string must be unique" msgstr "" -#: common/models.py:1114 +#: common/models.py:1119 msgid "No group" msgstr "" -#: common/models.py:1213 +#: common/models.py:1218 msgid "Restart required" msgstr "" -#: common/models.py:1215 +#: common/models.py:1220 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/models.py:1222 +#: common/models.py:1227 msgid "Pending migrations" msgstr "" -#: common/models.py:1223 +#: common/models.py:1228 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1228 +#: common/models.py:1233 msgid "Server Instance Name" msgstr "" -#: common/models.py:1230 +#: common/models.py:1235 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1234 +#: common/models.py:1239 msgid "Use instance name" msgstr "" -#: common/models.py:1235 +#: common/models.py:1240 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1240 +#: common/models.py:1245 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1241 +#: common/models.py:1246 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1246 company/models.py:111 company/models.py:112 +#: common/models.py:1251 company/models.py:111 company/models.py:112 msgid "Company name" msgstr "" -#: common/models.py:1247 +#: common/models.py:1252 msgid "Internal company name" msgstr "" -#: common/models.py:1251 +#: common/models.py:1256 msgid "Base URL" msgstr "" -#: common/models.py:1252 +#: common/models.py:1257 msgid "Base URL for server instance" msgstr "" -#: common/models.py:1258 +#: common/models.py:1263 msgid "Default Currency" msgstr "" -#: common/models.py:1259 +#: common/models.py:1264 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1265 +#: common/models.py:1270 msgid "Supported Currencies" msgstr "" -#: common/models.py:1266 +#: common/models.py:1271 msgid "List of supported currency codes" msgstr "" -#: common/models.py:1272 +#: common/models.py:1277 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1274 +#: common/models.py:1279 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1277 common/models.py:1333 common/models.py:1346 -#: common/models.py:1354 common/models.py:1363 common/models.py:1372 -#: common/models.py:1596 common/models.py:1618 common/models.py:1733 -#: common/models.py:2100 +#: common/models.py:1282 common/models.py:1338 common/models.py:1351 +#: common/models.py:1359 common/models.py:1368 common/models.py:1377 +#: common/models.py:1601 common/models.py:1623 common/models.py:1738 +#: common/models.py:2111 msgid "days" msgstr "" -#: common/models.py:1281 +#: common/models.py:1286 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1282 +#: common/models.py:1287 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1287 +#: common/models.py:1292 msgid "Download from URL" msgstr "" -#: common/models.py:1289 +#: common/models.py:1294 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:1295 +#: common/models.py:1300 msgid "Download Size Limit" msgstr "" -#: common/models.py:1296 +#: common/models.py:1301 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1302 +#: common/models.py:1307 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1304 +#: common/models.py:1309 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/models.py:1309 +#: common/models.py:1314 msgid "Strict URL Validation" msgstr "" -#: common/models.py:1310 +#: common/models.py:1315 msgid "Require schema specification when validating URLs" msgstr "" -#: common/models.py:1315 +#: common/models.py:1320 msgid "Require confirm" msgstr "" -#: common/models.py:1316 +#: common/models.py:1321 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:1321 +#: common/models.py:1326 msgid "Tree Depth" msgstr "" -#: common/models.py:1323 +#: common/models.py:1328 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1329 +#: common/models.py:1334 msgid "Update Check Interval" msgstr "" -#: common/models.py:1330 +#: common/models.py:1335 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:1336 +#: common/models.py:1341 msgid "Automatic Backup" msgstr "" -#: common/models.py:1337 +#: common/models.py:1342 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:1342 +#: common/models.py:1347 msgid "Auto Backup Interval" msgstr "" -#: common/models.py:1343 +#: common/models.py:1348 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1349 +#: common/models.py:1354 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1351 +#: common/models.py:1356 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1358 +#: common/models.py:1363 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1360 +#: common/models.py:1365 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1367 +#: common/models.py:1372 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1369 +#: common/models.py:1374 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1376 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1381 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "" -#: common/models.py:1377 +#: common/models.py:1382 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/models.py:1382 +#: common/models.py:1387 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1383 +#: common/models.py:1388 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1389 +#: common/models.py:1394 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1390 +#: common/models.py:1395 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1395 +#: common/models.py:1400 msgid "Barcode Show Data" msgstr "" -#: common/models.py:1396 +#: common/models.py:1401 msgid "Display barcode data in browser as text" msgstr "" -#: common/models.py:1401 +#: common/models.py:1406 msgid "Part Revisions" msgstr "" -#: common/models.py:1402 +#: common/models.py:1407 msgid "Enable revision field for Part" msgstr "" -#: common/models.py:1407 +#: common/models.py:1412 msgid "Allow Deletion from Assembly" msgstr "" -#: common/models.py:1408 +#: common/models.py:1413 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/models.py:1413 +#: common/models.py:1418 msgid "IPN Regex" msgstr "" -#: common/models.py:1414 +#: common/models.py:1419 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1417 +#: common/models.py:1422 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1418 +#: common/models.py:1423 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1423 +#: common/models.py:1428 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1424 +#: common/models.py:1429 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1429 +#: common/models.py:1434 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1430 +#: common/models.py:1435 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1435 +#: common/models.py:1440 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1436 +#: common/models.py:1441 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1441 +#: common/models.py:1446 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1442 +#: common/models.py:1447 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1447 +#: common/models.py:1452 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1448 +#: common/models.py:1453 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1453 part/admin.py:108 part/models.py:3795 +#: common/models.py:1458 part/admin.py:108 part/models.py:3835 #: report/models.py:294 report/models.py:361 report/serializers.py:90 -#: report/serializers.py:131 stock/serializers.py:227 +#: report/serializers.py:131 stock/serializers.py:232 #: templates/js/translated/table_filters.js:139 -#: templates/js/translated/table_filters.js:767 +#: templates/js/translated/table_filters.js:772 msgid "Template" msgstr "" -#: common/models.py:1454 +#: common/models.py:1459 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1459 part/admin.py:91 part/admin.py:425 part/models.py:1052 +#: common/models.py:1464 part/admin.py:91 part/admin.py:425 part/models.py:1056 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 -#: templates/js/translated/table_filters.js:721 +#: templates/js/translated/table_filters.js:726 msgid "Assembly" msgstr "" -#: common/models.py:1460 +#: common/models.py:1465 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1465 part/admin.py:95 part/models.py:1058 -#: templates/js/translated/table_filters.js:729 +#: common/models.py:1470 part/admin.py:95 part/models.py:1062 +#: templates/js/translated/table_filters.js:734 msgid "Component" msgstr "" -#: common/models.py:1466 +#: common/models.py:1471 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1471 part/admin.py:100 part/models.py:1070 +#: common/models.py:1476 part/admin.py:100 part/models.py:1074 msgid "Purchaseable" msgstr "" -#: common/models.py:1472 +#: common/models.py:1477 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1477 part/admin.py:104 part/models.py:1076 -#: templates/js/translated/table_filters.js:755 +#: common/models.py:1482 part/admin.py:104 part/models.py:1080 +#: templates/js/translated/table_filters.js:760 msgid "Salable" msgstr "" -#: common/models.py:1478 +#: common/models.py:1483 msgid "Parts are salable by default" msgstr "" -#: common/models.py:1483 part/admin.py:113 part/models.py:1064 -#: 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:1484 +#: common/models.py:1489 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1489 part/admin.py:117 part/models.py:1086 +#: common/models.py:1494 part/admin.py:117 part/models.py:1096 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 -#: templates/js/translated/table_filters.js:775 +#: templates/js/translated/table_filters.js:780 msgid "Virtual" msgstr "" -#: common/models.py:1490 +#: common/models.py:1495 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:1495 +#: common/models.py:1500 msgid "Show Import in Views" msgstr "" -#: common/models.py:1496 +#: common/models.py:1501 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:1501 +#: common/models.py:1506 msgid "Show related parts" msgstr "" -#: common/models.py:1502 +#: common/models.py:1507 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1507 +#: common/models.py:1512 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1508 +#: common/models.py:1513 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1513 templates/js/translated/part.js:107 +#: common/models.py:1518 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1515 +#: common/models.py:1520 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1521 +#: common/models.py:1526 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1522 +#: common/models.py:1527 msgid "Format to display the part name" msgstr "" -#: common/models.py:1528 +#: common/models.py:1533 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1529 +#: common/models.py:1534 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1533 +#: common/models.py:1538 msgid "Enforce Parameter Units" msgstr "" -#: common/models.py:1535 +#: common/models.py:1540 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1541 +#: common/models.py:1546 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1543 +#: common/models.py:1548 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1554 +#: common/models.py:1559 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1556 +#: common/models.py:1561 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1567 +#: common/models.py:1572 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1569 +#: common/models.py:1574 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1575 +#: common/models.py:1580 msgid "Purchase History Override" msgstr "" -#: common/models.py:1577 +#: common/models.py:1582 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1583 +#: common/models.py:1588 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1585 +#: common/models.py:1590 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1591 +#: common/models.py:1596 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1593 +#: common/models.py:1598 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1600 +#: common/models.py:1605 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1601 +#: common/models.py:1606 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1606 +#: common/models.py:1611 msgid "Active Variants Only" msgstr "" -#: common/models.py:1608 +#: common/models.py:1613 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1614 +#: common/models.py:1619 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1616 +#: common/models.py:1621 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1623 +#: common/models.py:1628 msgid "Internal Prices" msgstr "" -#: common/models.py:1624 +#: common/models.py:1629 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1629 +#: common/models.py:1634 msgid "Internal Price Override" msgstr "" -#: common/models.py:1631 +#: common/models.py:1636 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1637 +#: common/models.py:1642 msgid "Enable label printing" msgstr "" -#: common/models.py:1638 +#: common/models.py:1643 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1643 +#: common/models.py:1648 msgid "Label Image DPI" msgstr "" -#: common/models.py:1645 +#: common/models.py:1650 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1651 +#: common/models.py:1656 msgid "Enable Reports" msgstr "" -#: common/models.py:1652 +#: common/models.py:1657 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1657 templates/stats.html:25 +#: common/models.py:1662 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1658 +#: common/models.py:1663 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1663 +#: common/models.py:1668 msgid "Log Report Errors" msgstr "" -#: common/models.py:1664 +#: common/models.py:1669 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1669 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1674 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:302 msgid "Page Size" msgstr "" -#: common/models.py:1670 +#: common/models.py:1675 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1675 +#: common/models.py:1680 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1676 +#: common/models.py:1681 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1681 +#: common/models.py:1686 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1683 +#: common/models.py:1688 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1689 +#: common/models.py:1694 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1690 +#: common/models.py:1695 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1695 +#: common/models.py:1700 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1696 +#: common/models.py:1701 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1701 +#: common/models.py:1706 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1703 +#: common/models.py:1708 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1709 +#: common/models.py:1714 msgid "Batch Code Template" msgstr "" -#: common/models.py:1711 +#: common/models.py:1716 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1716 +#: common/models.py:1721 msgid "Stock Expiry" msgstr "" -#: common/models.py:1717 +#: common/models.py:1722 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1722 +#: common/models.py:1727 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1723 +#: common/models.py:1728 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1728 +#: common/models.py:1733 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1730 +#: common/models.py:1735 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1737 +#: common/models.py:1742 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1738 +#: common/models.py:1743 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1743 +#: common/models.py:1748 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1744 +#: common/models.py:1749 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1749 +#: common/models.py:1754 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1750 +#: common/models.py:1755 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1754 +#: common/models.py:1759 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1755 +#: common/models.py:1760 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1760 +#: common/models.py:1765 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1762 +#: common/models.py:1767 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1768 +#: common/models.py:1773 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1770 +#: common/models.py:1775 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1776 +#: common/models.py:1781 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1778 +#: common/models.py:1783 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1784 common/models.py:1826 common/models.py:1848 -#: common/models.py:1884 +#: common/models.py:1789 common/models.py:1837 common/models.py:1859 +#: common/models.py:1895 msgid "Require Responsible Owner" msgstr "" -#: common/models.py:1785 common/models.py:1827 common/models.py:1849 -#: common/models.py:1885 +#: common/models.py:1790 common/models.py:1838 common/models.py:1860 +#: common/models.py:1896 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1790 +#: common/models.py:1795 msgid "Require Active Part" msgstr "" -#: common/models.py:1791 +#: common/models.py:1796 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/models.py:1796 +#: common/models.py:1801 +msgid "Require Locked Part" +msgstr "" + +#: common/models.py:1802 +msgid "Prevent build order creation for unlocked parts" +msgstr "" + +#: common/models.py:1807 msgid "Require Valid BOM" msgstr "" -#: common/models.py:1798 +#: common/models.py:1809 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/models.py:1804 +#: common/models.py:1815 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1806 +#: common/models.py:1817 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1812 +#: common/models.py:1823 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1813 +#: common/models.py:1824 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1818 +#: common/models.py:1829 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1820 +#: common/models.py:1831 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1832 +#: common/models.py:1843 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1834 +#: common/models.py:1845 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1840 +#: common/models.py:1851 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1842 +#: common/models.py:1853 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1854 +#: common/models.py:1865 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1855 +#: common/models.py:1866 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1860 +#: common/models.py:1871 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1862 +#: common/models.py:1873 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1868 +#: common/models.py:1879 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/models.py:1870 +#: common/models.py:1881 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1876 +#: common/models.py:1887 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1878 +#: common/models.py:1889 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1890 +#: common/models.py:1901 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1892 +#: common/models.py:1903 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1898 +#: common/models.py:1909 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/models.py:1900 +#: common/models.py:1911 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1907 +#: common/models.py:1918 msgid "Enable password forgot" msgstr "" -#: common/models.py:1908 +#: common/models.py:1919 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1913 +#: common/models.py:1924 msgid "Enable registration" msgstr "" -#: common/models.py:1914 +#: common/models.py:1925 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1919 +#: common/models.py:1930 msgid "Enable SSO" msgstr "" -#: common/models.py:1920 +#: common/models.py:1931 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1925 +#: common/models.py:1936 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1927 +#: common/models.py:1938 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1933 +#: common/models.py:1944 msgid "Enable SSO group sync" msgstr "" -#: common/models.py:1935 +#: common/models.py:1946 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/models.py:1941 +#: common/models.py:1952 msgid "SSO group key" msgstr "" -#: common/models.py:1943 +#: common/models.py:1954 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/models.py:1949 +#: common/models.py:1960 msgid "SSO group map" msgstr "" -#: common/models.py:1951 +#: common/models.py:1962 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/models.py:1957 +#: common/models.py:1968 msgid "Remove groups outside of SSO" msgstr "" -#: common/models.py:1959 +#: common/models.py:1970 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/models.py:1965 +#: common/models.py:1976 msgid "Email required" msgstr "" -#: common/models.py:1966 +#: common/models.py:1977 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1971 +#: common/models.py:1982 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1973 +#: common/models.py:1984 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1979 +#: common/models.py:1990 msgid "Mail twice" msgstr "" -#: common/models.py:1980 +#: common/models.py:1991 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1985 +#: common/models.py:1996 msgid "Password twice" msgstr "" -#: common/models.py:1986 +#: common/models.py:1997 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1991 +#: common/models.py:2002 msgid "Allowed domains" msgstr "" -#: common/models.py:1993 +#: common/models.py:2004 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1999 +#: common/models.py:2010 msgid "Group on signup" msgstr "" -#: common/models.py:2001 +#: common/models.py:2012 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/models.py:2007 +#: common/models.py:2018 msgid "Enforce MFA" msgstr "" -#: common/models.py:2008 +#: common/models.py:2019 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:2013 +#: common/models.py:2024 msgid "Check plugins on startup" msgstr "" -#: common/models.py:2015 +#: common/models.py:2026 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:2023 +#: common/models.py:2034 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2024 +#: common/models.py:2035 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2030 +#: common/models.py:2041 msgid "Enable URL integration" msgstr "" -#: common/models.py:2031 +#: common/models.py:2042 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:2037 +#: common/models.py:2048 msgid "Enable navigation integration" msgstr "" -#: common/models.py:2038 +#: common/models.py:2049 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2044 +#: common/models.py:2055 msgid "Enable app integration" msgstr "" -#: common/models.py:2045 +#: common/models.py:2056 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2051 +#: common/models.py:2062 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2052 +#: common/models.py:2063 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2058 +#: common/models.py:2069 msgid "Enable event integration" msgstr "" -#: common/models.py:2059 +#: common/models.py:2070 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2065 +#: common/models.py:2076 msgid "Enable project codes" msgstr "" -#: common/models.py:2066 +#: common/models.py:2077 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2071 +#: common/models.py:2082 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2073 +#: common/models.py:2084 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2079 +#: common/models.py:2090 msgid "Exclude External Locations" msgstr "" -#: common/models.py:2081 +#: common/models.py:2092 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/models.py:2087 +#: common/models.py:2098 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2089 +#: common/models.py:2100 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2095 +#: common/models.py:2106 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2097 +#: common/models.py:2108 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2104 +#: common/models.py:2115 msgid "Display Users full names" msgstr "" -#: common/models.py:2105 +#: common/models.py:2116 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2110 +#: common/models.py:2121 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2111 +#: common/models.py:2122 msgid "Enable test station data collection for test results" msgstr "" -#: common/models.py:2123 common/models.py:2533 +#: common/models.py:2134 common/models.py:2514 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2166 +#: common/models.py:2177 msgid "Hide inactive parts" msgstr "" -#: common/models.py:2168 +#: common/models.py:2179 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2174 +#: common/models.py:2185 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2175 +#: common/models.py:2186 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2180 +#: common/models.py:2191 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2181 +#: common/models.py:2192 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2186 +#: common/models.py:2197 msgid "Show latest parts" msgstr "" -#: common/models.py:2187 +#: common/models.py:2198 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:2192 +#: common/models.py:2203 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2193 +#: common/models.py:2204 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2198 +#: common/models.py:2209 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2199 +#: common/models.py:2210 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2204 +#: common/models.py:2215 msgid "Show low stock" msgstr "" -#: common/models.py:2205 +#: common/models.py:2216 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2210 +#: common/models.py:2221 msgid "Show depleted stock" msgstr "" -#: common/models.py:2211 +#: common/models.py:2222 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2216 +#: common/models.py:2227 msgid "Show needed stock" msgstr "" -#: common/models.py:2217 +#: common/models.py:2228 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2222 +#: common/models.py:2233 msgid "Show expired stock" msgstr "" -#: common/models.py:2223 +#: common/models.py:2234 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2228 +#: common/models.py:2239 msgid "Show stale stock" msgstr "" -#: common/models.py:2229 +#: common/models.py:2240 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2234 +#: common/models.py:2245 msgid "Show pending builds" msgstr "" -#: common/models.py:2235 +#: common/models.py:2246 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2240 +#: common/models.py:2251 msgid "Show overdue builds" msgstr "" -#: common/models.py:2241 +#: common/models.py:2252 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:2246 +#: common/models.py:2257 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2247 +#: common/models.py:2258 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2252 +#: common/models.py:2263 msgid "Show overdue POs" msgstr "" -#: common/models.py:2253 +#: common/models.py:2264 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2258 +#: common/models.py:2269 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2259 +#: common/models.py:2270 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2264 +#: common/models.py:2275 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2265 +#: common/models.py:2276 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2270 +#: common/models.py:2281 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2271 +#: common/models.py:2282 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:2276 +#: common/models.py:2287 msgid "Show News" msgstr "" -#: common/models.py:2277 +#: common/models.py:2288 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2282 +#: common/models.py:2293 msgid "Inline label display" msgstr "" -#: common/models.py:2284 +#: common/models.py:2295 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2290 +#: common/models.py:2301 msgid "Default label printer" msgstr "" -#: common/models.py:2292 +#: common/models.py:2303 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2298 +#: common/models.py:2309 msgid "Inline report display" msgstr "" -#: common/models.py:2300 +#: common/models.py:2311 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:2306 +#: common/models.py:2317 msgid "Search Parts" msgstr "" -#: common/models.py:2307 +#: common/models.py:2318 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2312 +#: common/models.py:2323 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2313 +#: common/models.py:2324 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2318 +#: common/models.py:2329 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2319 +#: common/models.py:2330 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2324 +#: common/models.py:2335 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2325 +#: common/models.py:2336 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2330 +#: common/models.py:2341 msgid "Search Categories" msgstr "" -#: common/models.py:2331 +#: common/models.py:2342 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2336 +#: common/models.py:2347 msgid "Search Stock" msgstr "" -#: common/models.py:2337 +#: common/models.py:2348 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2342 +#: common/models.py:2353 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2344 +#: common/models.py:2355 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2350 +#: common/models.py:2361 msgid "Search Locations" msgstr "" -#: common/models.py:2351 +#: common/models.py:2362 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2356 +#: common/models.py:2367 msgid "Search Companies" msgstr "" -#: common/models.py:2357 +#: common/models.py:2368 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2362 +#: common/models.py:2373 msgid "Search Build Orders" msgstr "" -#: common/models.py:2363 +#: common/models.py:2374 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2368 +#: common/models.py:2379 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2369 +#: common/models.py:2380 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2374 +#: common/models.py:2385 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2376 +#: common/models.py:2387 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2382 +#: common/models.py:2393 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2383 +#: common/models.py:2394 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2388 +#: common/models.py:2399 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2390 +#: common/models.py:2401 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2396 +#: common/models.py:2407 msgid "Search Return Orders" msgstr "" -#: common/models.py:2397 +#: common/models.py:2408 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2402 +#: common/models.py:2413 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2404 +#: common/models.py:2415 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2410 +#: common/models.py:2421 msgid "Search Preview Results" msgstr "" -#: common/models.py:2412 +#: common/models.py:2423 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2418 +#: common/models.py:2429 msgid "Regex Search" msgstr "" -#: common/models.py:2419 +#: common/models.py:2430 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2424 +#: common/models.py:2435 msgid "Whole Word Search" msgstr "" -#: common/models.py:2425 +#: common/models.py:2436 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2430 +#: common/models.py:2441 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2431 +#: common/models.py:2442 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2436 +#: common/models.py:2447 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2437 +#: common/models.py:2448 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2442 +#: common/models.py:2453 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2443 +#: common/models.py:2454 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2448 +#: common/models.py:2459 msgid "Date Format" msgstr "" -#: common/models.py:2449 +#: common/models.py:2460 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2462 part/templates/part/detail.html:41 +#: common/models.py:2473 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2463 +#: common/models.py:2474 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2468 part/templates/part/detail.html:62 +#: common/models.py:2479 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2470 +#: common/models.py:2481 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2476 +#: common/models.py:2487 msgid "Table String Length" msgstr "" -#: common/models.py:2478 +#: common/models.py:2489 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2484 -msgid "Default part label template" -msgstr "" - -#: common/models.py:2485 -msgid "The part label template to be automatically selected" -msgstr "" - -#: common/models.py:2490 -msgid "Default stock item template" -msgstr "" - -#: common/models.py:2492 -msgid "The stock item label template to be automatically selected" -msgstr "" - -#: common/models.py:2498 -msgid "Default stock location label template" -msgstr "" - -#: common/models.py:2500 -msgid "The stock location label template to be automatically selected" -msgstr "" - -#: common/models.py:2506 -msgid "Default build line label template" -msgstr "" - -#: common/models.py:2508 -msgid "The build line label template to be automatically selected" -msgstr "" - -#: common/models.py:2514 +#: common/models.py:2495 msgid "Receive error reports" msgstr "" -#: common/models.py:2515 +#: common/models.py:2496 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2520 +#: common/models.py:2501 msgid "Last used printing machines" msgstr "" -#: common/models.py:2521 +#: common/models.py:2502 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2541 common/models.py:2542 common/models.py:2691 -#: common/models.py:2692 common/models.py:2937 common/models.py:2938 -#: common/models.py:3259 common/models.py:3260 part/models.py:3193 -#: part/models.py:3280 part/models.py:3353 part/models.py:3381 -#: plugin/models.py:274 plugin/models.py:275 +#: common/models.py:2522 common/models.py:2523 common/models.py:2672 +#: common/models.py:2673 common/models.py:2918 common/models.py:2919 +#: common/models.py:3245 common/models.py:3246 importer/models.py:85 +#: part/models.py:3203 part/models.py:3290 part/models.py:3364 +#: part/models.py:3392 plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 msgid "User" msgstr "" -#: common/models.py:2564 +#: common/models.py:2545 msgid "Price break quantity" msgstr "" -#: common/models.py:2571 company/serializers.py:472 order/admin.py:42 -#: order/models.py:1346 order/models.py:2265 -#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1886 +#: common/models.py:2552 company/serializers.py:502 order/admin.py:42 +#: order/models.py:1346 order/models.py:2292 +#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1889 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:740 msgid "Price" msgstr "" -#: common/models.py:2572 +#: common/models.py:2553 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2668 common/models.py:2853 +#: common/models.py:2649 common/models.py:2834 msgid "Endpoint" msgstr "" -#: common/models.py:2669 +#: common/models.py:2650 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2679 +#: common/models.py:2660 msgid "Name for this webhook" msgstr "" -#: common/models.py:2683 +#: common/models.py:2664 msgid "Is this webhook active" msgstr "" -#: common/models.py:2699 users/models.py:159 +#: common/models.py:2680 users/models.py:159 msgid "Token" msgstr "" -#: common/models.py:2700 +#: common/models.py:2681 msgid "Token for access" msgstr "" -#: common/models.py:2708 +#: common/models.py:2689 msgid "Secret" msgstr "" -#: common/models.py:2709 +#: common/models.py:2690 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2817 +#: common/models.py:2798 msgid "Message ID" msgstr "" -#: common/models.py:2818 +#: common/models.py:2799 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2826 +#: common/models.py:2807 msgid "Host" msgstr "" -#: common/models.py:2827 +#: common/models.py:2808 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2835 +#: common/models.py:2816 msgid "Header" msgstr "" -#: common/models.py:2836 +#: common/models.py:2817 msgid "Header of this message" msgstr "" -#: common/models.py:2843 +#: common/models.py:2824 msgid "Body" msgstr "" -#: common/models.py:2844 +#: common/models.py:2825 msgid "Body of this message" msgstr "" -#: common/models.py:2854 +#: common/models.py:2835 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2859 +#: common/models.py:2840 msgid "Worked on" msgstr "" -#: common/models.py:2860 +#: common/models.py:2841 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2986 +#: common/models.py:2967 msgid "Id" msgstr "" -#: common/models.py:2988 templates/js/translated/company.js:965 +#: common/models.py:2969 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2990 common/models.py:3243 company/models.py:149 -#: company/models.py:440 company/models.py:500 company/models.py:799 -#: order/models.py:303 order/models.py:1301 order/models.py:1717 -#: part/admin.py:55 part/models.py:955 +#: common/models.py:2971 common/models.py:3229 company/models.py:149 +#: company/models.py:446 company/models.py:506 company/models.py:806 +#: order/models.py:303 order/models.py:1301 order/models.py:1733 +#: part/admin.py:55 part/models.py:959 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:229 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/part.js:2459 #: templates/js/translated/purchase_order.js:2040 #: templates/js/translated/purchase_order.js:2204 #: templates/js/translated/return_order.js:779 @@ -3607,28 +3640,28 @@ msgstr "" msgid "Link" msgstr "" -#: common/models.py:2992 templates/js/translated/news.js:60 +#: common/models.py:2973 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2994 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2975 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:2996 templates/js/translated/news.js:52 +#: common/models.py:2977 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2999 +#: common/models.py:2980 msgid "Read" msgstr "" -#: common/models.py:2999 +#: common/models.py:2980 msgid "Was this news item read?" msgstr "" -#: common/models.py:3016 company/models.py:159 part/models.py:965 +#: common/models.py:2997 company/models.py:159 part/models.py:969 #: 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.html:35 @@ -3638,90 +3671,94 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:3016 +#: common/models.py:2997 msgid "Image file" msgstr "" -#: common/models.py:3028 common/models.py:3227 +#: common/models.py:3009 common/models.py:3213 msgid "Target model type for this image" msgstr "" -#: common/models.py:3032 +#: common/models.py:3013 msgid "Target model ID for this image" msgstr "" -#: common/models.py:3070 +#: common/models.py:3035 +msgid "Custom Unit" +msgstr "" + +#: common/models.py:3056 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:3085 +#: common/models.py:3071 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:3104 +#: common/models.py:3090 msgid "Unit name" msgstr "" -#: common/models.py:3111 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3097 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3112 +#: common/models.py:3098 msgid "Optional unit symbol" msgstr "" -#: common/models.py:3118 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3104 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" msgstr "" -#: common/models.py:3119 +#: common/models.py:3105 msgid "Unit definition" msgstr "" -#: common/models.py:3177 common/models.py:3234 stock/models.py:2461 +#: common/models.py:3163 common/models.py:3220 stock/models.py:2471 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" msgstr "" -#: common/models.py:3189 +#: common/models.py:3175 msgid "Missing file" msgstr "" -#: common/models.py:3190 +#: common/models.py:3176 msgid "Missing external link" msgstr "" -#: common/models.py:3235 +#: common/models.py:3221 msgid "Select file to attach" msgstr "" -#: common/models.py:3250 templates/js/translated/attachment.js:120 +#: common/models.py:3236 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" msgstr "" -#: common/models.py:3251 +#: common/models.py:3237 msgid "Attachment comment" msgstr "" -#: common/models.py:3267 +#: common/models.py:3253 msgid "Upload date" msgstr "" -#: common/models.py:3268 +#: common/models.py:3254 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:3272 +#: common/models.py:3258 msgid "File size" msgstr "" -#: common/models.py:3272 +#: common/models.py:3258 msgid "File size in bytes" msgstr "" -#: common/models.py:3310 common/serializers.py:553 +#: common/models.py:3296 common/serializers.py:557 msgid "Invalid model type specified for attachment" msgstr "" @@ -3743,7 +3780,7 @@ msgstr "" msgid "A order that is assigned to you was canceled" msgstr "" -#: common/notifications.py:330 common/notifications.py:337 order/api.py:472 +#: common/notifications.py:330 common/notifications.py:337 order/api.py:454 msgid "Items Received" msgstr "" @@ -3759,75 +3796,75 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:371 +#: common/serializers.py:375 msgid "Is Running" msgstr "" -#: common/serializers.py:377 +#: common/serializers.py:381 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:383 +#: common/serializers.py:387 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:389 +#: common/serializers.py:393 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:404 +#: common/serializers.py:408 msgid "Task ID" msgstr "" -#: common/serializers.py:404 +#: common/serializers.py:408 msgid "Unique task ID" msgstr "" -#: common/serializers.py:406 +#: common/serializers.py:410 msgid "Lock" msgstr "" -#: common/serializers.py:406 +#: common/serializers.py:410 msgid "Lock time" msgstr "" -#: common/serializers.py:408 +#: common/serializers.py:412 msgid "Task name" msgstr "" -#: common/serializers.py:410 +#: common/serializers.py:414 msgid "Function" msgstr "" -#: common/serializers.py:410 +#: common/serializers.py:414 msgid "Function name" msgstr "" -#: common/serializers.py:412 +#: common/serializers.py:416 msgid "Arguments" msgstr "" -#: common/serializers.py:412 +#: common/serializers.py:416 msgid "Task arguments" msgstr "" -#: common/serializers.py:415 +#: common/serializers.py:419 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:415 +#: common/serializers.py:419 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:525 +#: common/serializers.py:529 msgid "Filename" msgstr "" -#: common/serializers.py:532 report/api.py:100 report/serializers.py:53 +#: common/serializers.py:536 report/api.py:100 report/serializers.py:53 msgid "Model Type" msgstr "" -#: common/serializers.py:559 +#: common/serializers.py:563 msgid "User does not have permission to create or edit attachments for this model" msgstr "" @@ -3894,29 +3931,29 @@ msgstr "" msgid "Previous Step" msgstr "" -#: company/api.py:144 +#: company/api.py:141 msgid "Part is Active" msgstr "" -#: company/api.py:148 +#: company/api.py:145 msgid "Manufacturer is Active" msgstr "" -#: company/api.py:281 +#: company/api.py:278 msgid "Supplier Part is Active" msgstr "" -#: company/api.py:285 +#: company/api.py:282 msgid "Internal Part is Active" msgstr "" -#: company/api.py:289 +#: company/api.py:286 msgid "Supplier is Active" msgstr "" -#: company/models.py:100 company/models.py:365 +#: company/models.py:100 company/models.py:371 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:822 +#: company/templates/company/company_base.html:12 stock/api.py:814 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "" @@ -3956,8 +3993,9 @@ msgstr "" msgid "Contact email address" msgstr "" -#: company/models.py:142 company/templates/company/company_base.html:145 -#: order/models.py:343 order/templates/order/order_base.html:203 +#: company/models.py:142 company/models.py:275 +#: company/templates/company/company_base.html:145 order/models.py:343 +#: order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 #: order/templates/order/sales_order_base.html:218 msgid "Contact" @@ -3976,7 +4014,7 @@ msgid "Is this company active?" msgstr "" #: company/models.py:168 -msgid "is customer" +msgid "Is customer" msgstr "" #: company/models.py:169 @@ -3984,7 +4022,7 @@ msgid "Do you sell items to this company?" msgstr "" #: company/models.py:174 -msgid "is supplier" +msgid "Is supplier" msgstr "" #: company/models.py:175 @@ -3992,7 +4030,7 @@ msgid "Do you purchase items from this company?" msgstr "" #: company/models.py:180 -msgid "is manufacturer" +msgid "Is manufacturer" msgstr "" #: company/models.py:181 @@ -4003,178 +4041,189 @@ msgstr "" msgid "Default currency used for this company" msgstr "" -#: company/models.py:366 +#: company/models.py:314 company/templates/company/company_base.html:124 +#: order/models.py:353 order/templates/order/order_base.html:210 +#: order/templates/order/return_order_base.html:181 +#: order/templates/order/sales_order_base.html:225 +msgid "Address" +msgstr "" + +#: company/models.py:315 company/templates/company/sidebar.html:35 +msgid "Addresses" +msgstr "" + +#: company/models.py:372 msgid "Select company" msgstr "" -#: company/models.py:371 +#: company/models.py:377 msgid "Address title" msgstr "" -#: company/models.py:372 +#: company/models.py:378 msgid "Title describing the address entry" msgstr "" -#: company/models.py:378 +#: company/models.py:384 msgid "Primary address" msgstr "" -#: company/models.py:379 +#: company/models.py:385 msgid "Set as primary address" msgstr "" -#: company/models.py:384 templates/js/translated/company.js:914 +#: company/models.py:390 templates/js/translated/company.js:914 #: templates/js/translated/company.js:971 msgid "Line 1" msgstr "" -#: company/models.py:385 +#: company/models.py:391 msgid "Address line 1" msgstr "" -#: company/models.py:391 templates/js/translated/company.js:915 +#: company/models.py:397 templates/js/translated/company.js:915 #: templates/js/translated/company.js:977 msgid "Line 2" msgstr "" -#: company/models.py:392 +#: company/models.py:398 msgid "Address line 2" msgstr "" -#: company/models.py:398 company/models.py:399 +#: company/models.py:404 company/models.py:405 #: templates/js/translated/company.js:983 msgid "Postal code" msgstr "" -#: company/models.py:405 +#: company/models.py:411 msgid "City/Region" msgstr "" -#: company/models.py:406 +#: company/models.py:412 msgid "Postal code city/region" msgstr "" -#: company/models.py:412 +#: company/models.py:418 msgid "State/Province" msgstr "" -#: company/models.py:413 +#: company/models.py:419 msgid "State or province" msgstr "" -#: company/models.py:419 templates/js/translated/company.js:1001 +#: company/models.py:425 templates/js/translated/company.js:1001 msgid "Country" msgstr "" -#: company/models.py:420 +#: company/models.py:426 msgid "Address country" msgstr "" -#: company/models.py:426 +#: company/models.py:432 msgid "Courier shipping notes" msgstr "" -#: company/models.py:427 +#: company/models.py:433 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:433 +#: company/models.py:439 msgid "Internal shipping notes" msgstr "" -#: company/models.py:434 +#: company/models.py:440 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:441 +#: company/models.py:447 msgid "Link to address information (external)" msgstr "" -#: company/models.py:463 company/models.py:574 company/models.py:792 +#: company/models.py:469 company/models.py:581 company/models.py:799 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:217 msgid "Manufacturer Part" msgstr "" -#: company/models.py:475 company/models.py:760 stock/models.py:767 -#: stock/serializers.py:422 stock/templates/stock/item_base.html:142 +#: company/models.py:481 company/models.py:767 stock/models.py:767 +#: stock/serializers.py:442 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" -#: company/models.py:477 company/models.py:762 +#: company/models.py:483 company/models.py:769 msgid "Select part" msgstr "" -#: company/models.py:486 company/templates/company/company_base.html:82 +#: company/models.py:492 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:525 +#: company/templates/company/supplier_part.html:145 part/serializers.py:543 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 #: templates/js/translated/company.js:1296 #: templates/js/translated/company.js:1611 -#: templates/js/translated/table_filters.js:800 +#: templates/js/translated/table_filters.js:805 msgid "Manufacturer" msgstr "" -#: company/models.py:487 +#: company/models.py:493 msgid "Select manufacturer" msgstr "" -#: company/models.py:493 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:535 -#: templates/js/translated/company.js:351 +#: company/models.py:499 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:153 order/serializers.py:518 +#: part/serializers.py:553 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:1801 +#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1804 #: templates/js/translated/purchase_order.js:1851 #: templates/js/translated/purchase_order.js:2053 msgid "MPN" msgstr "" -#: company/models.py:494 -msgid "Manufacturer Part Number" -msgstr "" - -#: company/models.py:501 +#: company/models.py:507 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:510 +#: company/models.py:516 msgid "Manufacturer part description" msgstr "" -#: company/models.py:581 +#: company/models.py:569 +msgid "Manufacturer Part Parameter" +msgstr "" + +#: company/models.py:588 msgid "Parameter name" msgstr "" -#: company/models.py:587 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2453 templates/js/translated/company.js:1166 -#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1493 +#: company/models.py:594 report/templates/report/inventree_test_report.html:104 +#: stock/models.py:2463 templates/js/translated/company.js:1166 +#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1496 #: templates/js/translated/stock.js:1522 msgid "Value" msgstr "" -#: company/models.py:588 +#: company/models.py:595 msgid "Parameter value" msgstr "" -#: company/models.py:595 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1045 part/models.py:3646 +#: company/models.py:602 company/templates/company/supplier_part.html:168 +#: part/admin.py:57 part/models.py:1049 part/models.py:3667 #: part/templates/part/part_base.html:284 -#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1512 -#: templates/js/translated/part.js:1616 templates/js/translated/part.js:2370 +#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1515 +#: templates/js/translated/part.js:1619 templates/js/translated/part.js:2373 msgid "Units" msgstr "" -#: company/models.py:596 +#: company/models.py:603 msgid "Parameter units" msgstr "" -#: company/models.py:648 company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 order/api.py:452 +#: company/models.py:655 company/templates/company/supplier_part.html:7 +#: company/templates/company/supplier_part.html:24 order/api.py:434 #: stock/models.py:778 stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 @@ -4182,91 +4231,91 @@ msgstr "" msgid "Supplier Part" msgstr "" -#: company/models.py:700 +#: company/models.py:707 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:707 +#: company/models.py:714 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:721 +#: company/models.py:728 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:770 company/templates/company/company_base.html:87 +#: company/models.py:777 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:509 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:527 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 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:511 -#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1769 +#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1772 #: templates/js/translated/pricing.js:498 #: templates/js/translated/purchase_order.js:1689 -#: templates/js/translated/table_filters.js:804 +#: templates/js/translated/table_filters.js:809 msgid "Supplier" msgstr "" -#: company/models.py:771 +#: company/models.py:778 msgid "Select supplier" msgstr "" -#: company/models.py:777 part/serializers.py:520 +#: company/models.py:784 part/serializers.py:538 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:783 +#: company/models.py:790 msgid "Is this supplier part active?" msgstr "" -#: company/models.py:793 +#: company/models.py:800 msgid "Select manufacturer part" msgstr "" -#: company/models.py:800 +#: company/models.py:807 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:809 +#: company/models.py:816 msgid "Supplier part description" msgstr "" -#: company/models.py:816 company/templates/company/supplier_part.html:187 -#: part/admin.py:412 part/models.py:4093 part/templates/part/upload_bom.html:59 +#: company/models.py:823 company/templates/company/supplier_part.html:187 +#: part/admin.py:412 part/models.py:4178 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: 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:710 +#: stock/serializers.py:768 msgid "Note" msgstr "" -#: company/models.py:825 part/models.py:2003 +#: company/models.py:832 part/models.py:2013 msgid "base cost" msgstr "" -#: company/models.py:826 part/models.py:2004 +#: company/models.py:833 part/models.py:2014 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:833 company/templates/company/supplier_part.html:160 -#: stock/admin.py:228 stock/models.py:798 stock/serializers.py:1475 +#: company/models.py:840 company/templates/company/supplier_part.html:160 +#: stock/admin.py:228 stock/models.py:798 stock/serializers.py:1541 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 msgid "Packaging" msgstr "" -#: company/models.py:834 +#: company/models.py:841 msgid "Part packaging" msgstr "" -#: company/models.py:839 templates/js/translated/company.js:1651 -#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 +#: company/models.py:846 templates/js/translated/company.js:1651 +#: templates/js/translated/part.js:1825 templates/js/translated/part.js:1881 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 #: templates/js/translated/purchase_order.js:1103 @@ -4275,35 +4324,43 @@ msgstr "" msgid "Pack Quantity" msgstr "" -#: company/models.py:841 +#: company/models.py:848 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:860 part/models.py:2010 +#: company/models.py:867 part/models.py:2020 msgid "multiple" msgstr "" -#: company/models.py:861 +#: company/models.py:868 msgid "Order multiple" msgstr "" -#: company/models.py:873 +#: company/models.py:880 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:879 +#: company/models.py:886 msgid "Availability Updated" msgstr "" -#: company/models.py:880 +#: company/models.py:887 msgid "Date of last update of availability data" msgstr "" -#: company/serializers.py:161 +#: company/models.py:1015 +msgid "Supplier Price Break" +msgstr "" + +#: company/serializers.py:174 msgid "Default currency used for this supplier" msgstr "" -#: company/serializers.py:357 part/admin.py:126 +#: company/serializers.py:210 +msgid "Company Name" +msgstr "" + +#: company/serializers.py:384 part/admin.py:126 part/serializers.py:855 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:355 @@ -4315,7 +4372,7 @@ msgstr "" #: templates/js/translated/company.js:1287 #: templates/js/translated/company.js:1575 #: templates/js/translated/model_renderers.js:312 -#: templates/js/translated/part.js:815 templates/js/translated/part.js:1219 +#: templates/js/translated/part.js:814 templates/js/translated/part.js:1222 msgid "Inactive" msgstr "" @@ -4374,16 +4431,16 @@ msgid "Delete image" msgstr "" #: company/templates/company/company_base.html:92 order/models.py:938 -#: order/models.py:2032 order/templates/order/return_order_base.html:131 +#: order/models.py:2058 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:148 stock/models.py:820 -#: stock/models.py:821 stock/serializers.py:1225 +#: stock/models.py:821 stock/serializers.py:1291 #: 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:295 #: templates/js/translated/sales_order.js:820 #: templates/js/translated/stock.js:2959 -#: templates/js/translated/table_filters.js:808 +#: templates/js/translated/table_filters.js:813 msgid "Customer" msgstr "" @@ -4391,13 +4448,6 @@ msgstr "" msgid "Uses default currency" msgstr "" -#: company/templates/company/company_base.html:124 order/models.py:353 -#: order/templates/order/order_base.html:210 -#: order/templates/order/return_order_base.html:181 -#: order/templates/order/sales_order_base.html:225 -msgid "Address" -msgstr "" - #: company/templates/company/company_base.html:131 msgid "Phone" msgstr "" @@ -4577,7 +4627,8 @@ msgid "Delete manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:65 -#: company/templates/company/supplier_part.html:97 order/api.py:458 +#: company/templates/company/supplier_part.html:97 order/api.py:440 +#: order/serializers.py:526 msgid "Internal Part" msgstr "" @@ -4587,7 +4638,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:832 +#: part/admin.py:122 part/serializers.py:860 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4608,7 +4659,7 @@ msgid "New Parameter" msgstr "" #: company/templates/company/manufacturer_part.html:196 -#: templates/js/translated/part.js:1423 +#: templates/js/translated/part.js:1426 msgid "Add Parameter" msgstr "" @@ -4632,10 +4683,6 @@ msgstr "" msgid "Contacts" msgstr "" -#: company/templates/company/sidebar.html:35 -msgid "Addresses" -msgstr "" - #: company/templates/company/supplier_part.html:50 #: templates/js/translated/company.js:1526 msgid "Supplier part actions" @@ -4648,127 +4695,283 @@ msgstr "" msgid "Order Part" msgstr "" -#: company/templates/company/supplier_part.html:60 -#: company/templates/company/supplier_part.html:61 -msgid "Update Availability" +#: company/templates/company/supplier_part.html:60 +#: company/templates/company/supplier_part.html:61 +msgid "Update Availability" +msgstr "" + +#: company/templates/company/supplier_part.html:63 +#: company/templates/company/supplier_part.html:64 +#: templates/js/translated/company.js:294 +msgid "Edit Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:68 +#: company/templates/company/supplier_part.html:69 +#: templates/js/translated/company.js:269 +msgid "Duplicate Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:73 +msgid "Delete Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:74 +msgid "Delete Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:133 +msgid "No supplier information available" +msgstr "" + +#: company/templates/company/supplier_part.html:139 order/serializers.py:515 +#: part/bom.py:279 part/bom.py:311 part/serializers.py:537 +#: templates/js/translated/company.js:349 templates/js/translated/part.js:1790 +#: templates/js/translated/pricing.js:510 +#: templates/js/translated/purchase_order.js:1850 +#: templates/js/translated/purchase_order.js:2028 +msgid "SKU" +msgstr "" + +#: company/templates/company/supplier_part.html:206 +msgid "Supplier Part Stock" +msgstr "" + +#: company/templates/company/supplier_part.html:209 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:207 +msgid "Create new stock item" +msgstr "" + +#: company/templates/company/supplier_part.html:210 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:208 +#: templates/js/translated/stock.js:537 +msgid "New Stock Item" +msgstr "" + +#: company/templates/company/supplier_part.html:223 +msgid "Supplier Part Orders" +msgstr "" + +#: company/templates/company/supplier_part.html:246 +msgid "Pricing Information" +msgstr "" + +#: company/templates/company/supplier_part.html:251 +#: templates/js/translated/company.js:398 +#: templates/js/translated/pricing.js:684 +msgid "Add Price Break" +msgstr "" + +#: company/templates/company/supplier_part.html:276 +msgid "Supplier Part QR Code" +msgstr "" + +#: company/templates/company/supplier_part.html:287 +msgid "Link Barcode to Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:359 +msgid "Update Part Availability" +msgstr "" + +#: company/templates/company/supplier_part_sidebar.html:5 +#: part/serializers.py:859 part/stocktake.py:224 +#: part/templates/part/category.html:183 +#: part/templates/part/category_sidebar.html:17 stock/admin.py:68 +#: stock/serializers.py:976 stock/serializers.py:1154 +#: stock/templates/stock/location.html:170 +#: 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:1064 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 +#: users/models.py:206 +msgid "Stock Items" +msgstr "" + +#: company/templates/company/supplier_part_sidebar.html:9 +msgid "Supplier Part Pricing" +msgstr "" + +#: company/views.py:32 +msgid "New Supplier" +msgstr "" + +#: company/views.py:38 +msgid "New Manufacturer" +msgstr "" + +#: company/views.py:43 templates/InvenTree/search.html:210 +#: templates/navbar.html:60 +msgid "Customers" +msgstr "" + +#: company/views.py:44 +msgid "New Customer" +msgstr "" + +#: company/views.py:52 +msgid "New Company" +msgstr "" + +#: generic/states/tests.py:18 order/status_codes.py:13 +msgid "Placed" +msgstr "" + +#: importer/mixins.py:263 +msgid "Invalid export format" +msgstr "" + +#: importer/models.py:56 +msgid "Timestamp" +msgstr "" + +#: importer/models.py:61 +msgid "Data file to import" +msgstr "" + +#: importer/models.py:70 templates/js/translated/tables.js:558 +msgid "Columns" +msgstr "" + +#: importer/models.py:81 +msgid "Import status" +msgstr "" + +#: importer/models.py:91 +msgid "Field Defaults" +msgstr "" + +#: importer/models.py:201 +msgid "Some required fields have not been mapped" +msgstr "" + +#: importer/models.py:346 +msgid "Column is already mapped to a database field" +msgstr "" + +#: importer/models.py:351 +msgid "Field is already mapped to a data column" +msgstr "" + +#: importer/models.py:360 +msgid "Column mapping must be linked to a valid import session" +msgstr "" + +#: importer/models.py:365 +msgid "Column does not exist in the data file" +msgstr "" + +#: importer/models.py:372 +msgid "Field does not exist in the target model" +msgstr "" + +#: importer/models.py:376 +msgid "Selected field is read-only" +msgstr "" + +#: importer/models.py:381 importer/models.py:452 +msgid "Import Session" +msgstr "" + +#: importer/models.py:385 +msgid "Field" msgstr "" -#: company/templates/company/supplier_part.html:63 -#: company/templates/company/supplier_part.html:64 -#: templates/js/translated/company.js:294 -msgid "Edit Supplier Part" +#: importer/models.py:387 +msgid "Column" msgstr "" -#: company/templates/company/supplier_part.html:68 -#: company/templates/company/supplier_part.html:69 -#: templates/js/translated/company.js:269 -msgid "Duplicate Supplier Part" +#: importer/models.py:456 +msgid "Row Index" msgstr "" -#: company/templates/company/supplier_part.html:73 -msgid "Delete Supplier Part" +#: importer/models.py:459 +msgid "Original row data" msgstr "" -#: company/templates/company/supplier_part.html:74 -msgid "Delete Supplier Part" +#: importer/models.py:462 part/models.py:3841 +msgid "Data" msgstr "" -#: company/templates/company/supplier_part.html:133 -msgid "No supplier information available" +#: importer/models.py:464 machine/models.py:110 +msgid "Errors" msgstr "" -#: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:519 -#: templates/js/translated/company.js:349 templates/js/translated/part.js:1787 -#: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1850 -#: templates/js/translated/purchase_order.js:2028 -msgid "SKU" +#: importer/models.py:466 part/api.py:874 +msgid "Valid" msgstr "" -#: company/templates/company/supplier_part.html:206 -msgid "Supplier Part Stock" +#: importer/operations.py:28 importer/operations.py:49 +msgid "Unsupported data file format" msgstr "" -#: company/templates/company/supplier_part.html:209 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:207 -msgid "Create new stock item" +#: importer/operations.py:40 +msgid "Failed to open data file" msgstr "" -#: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:208 -#: templates/js/translated/stock.js:537 -msgid "New Stock Item" +#: importer/operations.py:51 +msgid "Invalid data file dimensions" msgstr "" -#: company/templates/company/supplier_part.html:223 -msgid "Supplier Part Orders" +#: importer/serializers.py:135 +msgid "Rows" msgstr "" -#: company/templates/company/supplier_part.html:246 -msgid "Pricing Information" +#: importer/serializers.py:136 +msgid "List of row IDs to accept" msgstr "" -#: company/templates/company/supplier_part.html:251 -#: templates/js/translated/company.js:398 -#: templates/js/translated/pricing.js:684 -msgid "Add Price Break" +#: importer/serializers.py:149 +msgid "No rows provided" msgstr "" -#: company/templates/company/supplier_part.html:276 -msgid "Supplier Part QR Code" +#: importer/serializers.py:153 +msgid "Row does not belong to this session" msgstr "" -#: company/templates/company/supplier_part.html:287 -msgid "Link Barcode to Supplier Part" +#: importer/serializers.py:156 +msgid "Row contains invalid data" msgstr "" -#: company/templates/company/supplier_part.html:359 -msgid "Update Part Availability" +#: importer/serializers.py:159 +msgid "Row has already been completed" msgstr "" -#: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:831 part/stocktake.py:224 -#: part/templates/part/category.html:183 -#: part/templates/part/category_sidebar.html:17 stock/admin.py:68 -#: stock/serializers.py:918 stock/serializers.py:1091 -#: stock/templates/stock/location.html:170 -#: 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:1061 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 -#: users/models.py:206 -msgid "Stock Items" +#: importer/status_codes.py:11 +msgid "Initializing" msgstr "" -#: company/templates/company/supplier_part_sidebar.html:9 -msgid "Supplier Part Pricing" +#: importer/status_codes.py:12 +msgid "Mapping Columns" msgstr "" -#: company/views.py:32 -msgid "New Supplier" +#: importer/status_codes.py:13 +msgid "Importing Data" msgstr "" -#: company/views.py:38 -msgid "New Manufacturer" +#: importer/status_codes.py:16 +msgid "Processing Data" msgstr "" -#: company/views.py:43 templates/InvenTree/search.html:210 -#: templates/navbar.html:60 -msgid "Customers" +#: importer/validators.py:21 +msgid "Data file exceeds maximum size limit" msgstr "" -#: company/views.py:44 -msgid "New Customer" +#: importer/validators.py:26 +msgid "Data file contains no headers" msgstr "" -#: company/views.py:52 -msgid "New Company" +#: importer/validators.py:29 +msgid "Data file contains too many columns" msgstr "" -#: generic/states/tests.py:18 order/status_codes.py:13 -msgid "Placed" +#: importer/validators.py:32 +msgid "Data file contains too many rows" +msgstr "" + +#: importer/validators.py:49 +msgid "Value must be a valid dictionary object" msgstr "" #: machine/machine_types/label_printer.py:212 @@ -4783,7 +4986,7 @@ msgstr "" msgid "Connected" msgstr "" -#: machine/machine_types/label_printer.py:229 order/api.py:1467 +#: machine/machine_types/label_printer.py:229 order/api.py:1388 #: templates/js/translated/sales_order.js:1078 msgid "Unknown" msgstr "" @@ -4852,10 +5055,6 @@ msgstr "" msgid "Initialized" msgstr "" -#: machine/models.py:110 -msgid "Errors" -msgstr "" - #: machine/models.py:117 msgid "Machine status" msgstr "" @@ -4881,44 +5080,44 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:157 order/serializers.py:90 +#: order/api.py:149 order/serializers.py:94 #: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:113 #: order/templates/order/sales_order_base.html:122 msgid "Order Status" msgstr "" -#: order/api.py:161 templates/js/translated/table_filters.js:194 -#: templates/js/translated/table_filters.js:779 +#: order/api.py:153 templates/js/translated/table_filters.js:194 +#: templates/js/translated/table_filters.js:784 msgid "Has Pricing" msgstr "" -#: order/api.py:236 +#: order/api.py:228 msgid "No matching purchase order found" msgstr "" -#: order/api.py:435 order/api.py:801 order/models.py:1395 order/models.py:1504 -#: order/models.py:1550 order/models.py:1664 order/models.py:1818 -#: order/models.py:2231 order/models.py:2282 +#: order/api.py:417 order/api.py:755 order/models.py:1400 order/models.py:1514 +#: order/models.py:1565 order/models.py:1680 order/models.py:1839 +#: order/models.py:2258 order/models.py:2314 #: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "" -#: order/api.py:439 order/api.py:822 +#: order/api.py:421 order/api.py:776 msgid "Order Complete" msgstr "" -#: order/api.py:462 +#: order/api.py:444 msgid "Order Pending" msgstr "" -#: order/api.py:1461 order/models.py:380 order/models.py:1396 -#: order/models.py:1505 order/templates/order/order_base.html:9 +#: order/api.py:1382 order/models.py:380 order/models.py:1401 +#: order/models.py:1515 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 -#: stock/serializers.py:118 stock/templates/stock/item_base.html:176 +#: stock/serializers.py:120 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/part.js:1746 templates/js/translated/pricing.js:804 +#: templates/js/translated/part.js:1749 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:1673 @@ -4926,8 +5125,8 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1465 order/models.py:1981 order/models.py:2232 -#: order/models.py:2283 order/templates/order/return_order_base.html:9 +#: order/api.py:1386 order/models.py:2007 order/models.py:2259 +#: order/models.py:2315 order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report.html:13 #: templates/js/translated/return_order.js:280 @@ -4939,11 +5138,11 @@ msgstr "" msgid "Total price for this order" msgstr "" -#: order/models.py:96 order/serializers.py:70 +#: order/models.py:96 order/serializers.py:72 msgid "Order Currency" msgstr "" -#: order/models.py:99 order/serializers.py:71 +#: order/models.py:99 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" @@ -4959,7 +5158,7 @@ msgstr "" msgid "Select project code for this order" msgstr "" -#: order/models.py:303 order/models.py:1301 order/models.py:1717 +#: order/models.py:303 order/models.py:1301 order/models.py:1733 msgid "Link to external page" msgstr "" @@ -5008,15 +5207,15 @@ msgstr "" msgid "received by" msgstr "" -#: order/models.py:514 order/models.py:2058 +#: order/models.py:514 order/models.py:2084 msgid "Issue Date" msgstr "" -#: order/models.py:515 order/models.py:2059 +#: order/models.py:515 order/models.py:2085 msgid "Date order was issued" msgstr "" -#: order/models.py:522 order/models.py:2066 +#: order/models.py:522 order/models.py:2092 msgid "Date order was completed" msgstr "" @@ -5032,15 +5231,15 @@ msgstr "" msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:962 order/models.py:2051 +#: order/models.py:962 order/models.py:2077 msgid "Customer Reference " msgstr "" -#: order/models.py:963 order/models.py:2052 +#: order/models.py:963 order/models.py:2078 msgid "Customer order reference code" msgstr "" -#: order/models.py:967 order/models.py:1671 +#: order/models.py:967 order/models.py:1687 #: templates/js/translated/sales_order.js:879 #: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" @@ -5102,20 +5301,24 @@ msgstr "" msgid "Unit price" msgstr "" -#: order/models.py:1380 +#: order/models.py:1361 +msgid "Purchase Order Line Item" +msgstr "" + +#: order/models.py:1385 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1387 +#: order/models.py:1392 msgid "deleted" msgstr "" -#: order/models.py:1415 +#: order/models.py:1420 msgid "Supplier part" msgstr "" -#: order/models.py:1422 order/templates/order/order_base.html:196 -#: templates/js/translated/part.js:1870 templates/js/translated/part.js:1902 +#: order/models.py:1427 order/templates/order/order_base.html:196 +#: templates/js/translated/part.js:1873 templates/js/translated/part.js:1905 #: templates/js/translated/purchase_order.js:1306 #: templates/js/translated/purchase_order.js:2169 #: templates/js/translated/return_order.js:763 @@ -5124,196 +5327,224 @@ msgstr "" msgid "Received" msgstr "" -#: order/models.py:1423 +#: order/models.py:1428 msgid "Number of items received" msgstr "" -#: order/models.py:1431 stock/models.py:939 stock/serializers.py:556 +#: order/models.py:1436 stock/models.py:939 stock/serializers.py:602 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2311 msgid "Purchase Price" msgstr "" -#: order/models.py:1432 +#: order/models.py:1437 msgid "Unit purchase price" msgstr "" -#: order/models.py:1447 +#: order/models.py:1452 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1538 +#: order/models.py:1503 +msgid "Purchase Order Extra Line" +msgstr "" + +#: order/models.py:1532 +msgid "Sales Order Line Item" +msgstr "" + +#: order/models.py:1553 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1543 +#: order/models.py:1558 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1569 part/templates/part/part_pricing.html:107 +#: order/models.py:1584 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:1570 +#: order/models.py:1585 msgid "Unit sale price" msgstr "" -#: order/models.py:1579 order/status_codes.py:43 +#: order/models.py:1594 order/status_codes.py:43 #: templates/js/translated/sales_order.js:1559 #: templates/js/translated/sales_order.js:1680 #: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "" -#: order/models.py:1580 +#: order/models.py:1595 msgid "Shipped quantity" msgstr "" -#: order/models.py:1672 +#: order/models.py:1667 +msgid "Sales Order Shipment" +msgstr "" + +#: order/models.py:1688 msgid "Date of shipment" msgstr "" -#: order/models.py:1678 templates/js/translated/sales_order.js:1072 +#: order/models.py:1694 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "" -#: order/models.py:1679 +#: order/models.py:1695 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1687 +#: order/models.py:1703 msgid "Checked By" msgstr "" -#: order/models.py:1688 +#: order/models.py:1704 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1695 order/models.py:1908 order/serializers.py:1342 -#: order/serializers.py:1452 templates/js/translated/model_renderers.js:454 +#: order/models.py:1711 order/models.py:1934 order/serializers.py:1398 +#: order/serializers.py:1508 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "" -#: order/models.py:1696 +#: order/models.py:1712 msgid "Shipment number" msgstr "" -#: order/models.py:1704 +#: order/models.py:1720 msgid "Tracking Number" msgstr "" -#: order/models.py:1705 +#: order/models.py:1721 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1712 +#: order/models.py:1728 msgid "Invoice Number" msgstr "" -#: order/models.py:1713 +#: order/models.py:1729 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1733 +#: order/models.py:1749 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1736 +#: order/models.py:1752 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1854 order/models.py:1856 +#: order/models.py:1828 +msgid "Sales Order Extra Line" +msgstr "" + +#: order/models.py:1857 +msgid "Sales Order Allocation" +msgstr "" + +#: order/models.py:1880 order/models.py:1882 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1863 +#: order/models.py:1889 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1866 +#: order/models.py:1892 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1869 +#: order/models.py:1895 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1888 order/serializers.py:1219 +#: order/models.py:1914 order/serializers.py:1275 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1891 +#: order/models.py:1917 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1892 plugin/base/barcodes/api.py:481 +#: order/models.py:1918 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1900 +#: order/models.py:1926 msgid "Line" msgstr "" -#: order/models.py:1909 +#: order/models.py:1935 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1922 order/models.py:2239 +#: order/models.py:1948 order/models.py:2266 #: templates/js/translated/return_order.js:721 msgid "Item" msgstr "" -#: order/models.py:1923 +#: order/models.py:1949 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1932 +#: order/models.py:1958 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2021 +#: order/models.py:2047 msgid "Return Order reference" msgstr "" -#: order/models.py:2033 +#: order/models.py:2059 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2045 +#: order/models.py:2071 msgid "Return order status" msgstr "" -#: order/models.py:2224 +#: order/models.py:2237 +msgid "Return Order Line Item" +msgstr "" + +#: order/models.py:2251 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2240 +#: order/models.py:2267 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2246 +#: order/models.py:2273 msgid "Received Date" msgstr "" -#: order/models.py:2247 +#: order/models.py:2274 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2258 templates/js/translated/return_order.js:732 +#: order/models.py:2285 templates/js/translated/return_order.js:732 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2259 +#: order/models.py:2286 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2266 +#: order/models.py:2293 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:79 order/templates/order/po_sidebar.html:5 +#: order/models.py:2303 +msgid "Return Order Extra Line" +msgstr "" + +#: order/serializers.py:83 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_purchase_order_report.html:22 @@ -5322,163 +5553,171 @@ msgstr "" msgid "Line Items" msgstr "" -#: order/serializers.py:83 +#: order/serializers.py:87 msgid "Completed Lines" msgstr "" -#: order/serializers.py:286 +#: order/serializers.py:305 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:301 order/serializers.py:1235 +#: order/serializers.py:320 order/serializers.py:1291 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:311 order/serializers.py:1245 +#: order/serializers.py:330 order/serializers.py:1301 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:439 +#: order/serializers.py:468 msgid "Order is not open" msgstr "" -#: order/serializers.py:460 +#: order/serializers.py:489 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:462 +#: order/serializers.py:491 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:472 +#: order/serializers.py:501 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:478 +#: order/serializers.py:507 msgid "Merge Items" msgstr "" -#: order/serializers.py:480 +#: order/serializers.py:509 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:498 +#: order/serializers.py:522 part/models.py:945 +msgid "Internal Part Number" +msgstr "" + +#: order/serializers.py:530 +msgid "Internal Part Name" +msgstr "" + +#: order/serializers.py:546 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:501 +#: order/serializers.py:549 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:509 +#: order/serializers.py:557 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:510 +#: order/serializers.py:558 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:549 order/serializers.py:1313 +#: order/serializers.py:598 order/serializers.py:1369 msgid "Line Item" msgstr "" -#: order/serializers.py:555 +#: order/serializers.py:604 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:565 order/serializers.py:673 order/serializers.py:1657 +#: order/serializers.py:614 order/serializers.py:722 order/serializers.py:1715 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:581 templates/js/translated/purchase_order.js:1130 +#: order/serializers.py:630 templates/js/translated/purchase_order.js:1130 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:589 templates/js/translated/purchase_order.js:1154 +#: order/serializers.py:638 templates/js/translated/purchase_order.js:1154 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:600 templates/js/translated/barcode.js:52 +#: order/serializers.py:649 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:601 +#: order/serializers.py:650 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:617 +#: order/serializers.py:666 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:641 +#: order/serializers.py:690 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:689 order/serializers.py:1673 +#: order/serializers.py:738 order/serializers.py:1731 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:705 +#: order/serializers.py:754 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:716 +#: order/serializers.py:765 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1062 +#: order/serializers.py:1117 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1122 +#: order/serializers.py:1178 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1183 order/serializers.py:1322 +#: order/serializers.py:1239 order/serializers.py:1378 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1202 +#: order/serializers.py:1258 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1332 +#: order/serializers.py:1388 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1354 order/serializers.py:1460 +#: order/serializers.py:1410 order/serializers.py:1516 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1357 order/serializers.py:1463 +#: order/serializers.py:1413 order/serializers.py:1519 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1404 +#: order/serializers.py:1460 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1411 +#: order/serializers.py:1467 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1627 +#: order/serializers.py:1685 msgid "Return order line item" msgstr "" -#: order/serializers.py:1633 +#: order/serializers.py:1691 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1636 +#: order/serializers.py:1694 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1665 +#: order/serializers.py:1723 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1743 +#: order/serializers.py:1806 msgid "Line price currency" msgstr "" @@ -5808,7 +6047,7 @@ msgstr "" #: 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:1073 +#: templates/js/translated/part.js:1076 #: templates/js/translated/purchase_order.js:1752 #: templates/js/translated/return_order.js:380 #: templates/js/translated/sales_order.js:891 @@ -5904,34 +6143,29 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:398 part/models.py:3944 part/stocktake.py:219 +#: part/admin.py:39 part/admin.py:398 part/models.py:3991 part/stocktake.py:219 #: stock/admin.py:152 msgid "Part ID" msgstr "" -#: part/admin.py:41 part/admin.py:405 part/models.py:3945 part/stocktake.py:220 -#: stock/admin.py:156 -msgid "Part Name" -msgstr "" - #: part/admin.py:45 part/stocktake.py:221 msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:940 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:944 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 -#: templates/js/translated/part.js:1227 templates/js/translated/part.js:2341 +#: templates/js/translated/part.js:1230 templates/js/translated/part.js:2344 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:949 part/templates/part/part_base.html:277 -#: report/models.py:162 templates/js/translated/part.js:1232 -#: templates/js/translated/part.js:2347 +#: part/admin.py:50 part/models.py:953 part/templates/part/part_base.html:277 +#: report/models.py:162 templates/js/translated/part.js:1235 +#: templates/js/translated/part.js:2350 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:319 part/models.py:922 +#: part/admin.py:53 part/admin.py:319 part/models.py:926 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "" @@ -5944,7 +6178,8 @@ msgstr "" msgid "Category ID" msgstr "" -#: part/admin.py:67 part/admin.py:304 part/stocktake.py:223 +#: part/admin.py:67 part/admin.py:304 part/serializers.py:837 +#: part/stocktake.py:223 msgid "Category Name" msgstr "" @@ -5956,11 +6191,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:908 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:912 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1036 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1040 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "" @@ -5968,18 +6203,19 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:150 part/templates/part/part_base.html:241 stock/admin.py:235 -#: templates/js/translated/part.js:715 templates/js/translated/part.js:2153 +#: part/admin.py:150 part/serializers.py:854 +#: part/templates/part/part_base.html:241 stock/admin.py:235 +#: templates/js/translated/part.js:714 templates/js/translated/part.js:2156 msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3088 part/models.py:3102 -#: templates/js/translated/part.js:970 +#: part/admin.py:155 part/models.py:3098 part/models.py:3112 +#: templates/js/translated/part.js:973 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3095 part/models.py:3109 -#: templates/js/translated/part.js:980 +#: part/admin.py:158 part/models.py:3105 part/models.py:3119 +#: templates/js/translated/part.js:983 msgid "Maximum Cost" msgstr "" @@ -5996,14 +6232,14 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:325 part/models.py:396 part/serializers.py:124 -#: part/serializers.py:267 part/serializers.py:386 +#: part/admin.py:325 part/models.py:397 part/serializers.py:130 +#: part/serializers.py:282 part/serializers.py:404 #: 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:2807 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:203 msgid "Parts" msgstr "" @@ -6020,125 +6256,117 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:402 part/models.py:3946 -msgid "Part IPN" -msgstr "" - -#: part/admin.py:415 part/serializers.py:1274 +#: part/admin.py:415 part/serializers.py:1302 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:420 part/serializers.py:1289 +#: part/admin.py:420 part/serializers.py:1317 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "" -#: part/api.py:104 +#: part/api.py:105 msgid "Starred" msgstr "" -#: part/api.py:106 +#: part/api.py:107 msgid "Filter by starred categories" msgstr "" -#: part/api.py:123 stock/api.py:312 +#: part/api.py:124 stock/api.py:312 msgid "Depth" msgstr "" -#: part/api.py:123 +#: part/api.py:124 msgid "Filter by category depth" msgstr "" -#: part/api.py:141 stock/api.py:330 +#: part/api.py:142 stock/api.py:330 msgid "Top Level" msgstr "" -#: part/api.py:143 +#: part/api.py:144 msgid "Filter by top-level categories" msgstr "" -#: part/api.py:156 stock/api.py:345 +#: part/api.py:157 stock/api.py:345 msgid "Cascade" msgstr "" -#: part/api.py:158 +#: part/api.py:159 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:179 templates/js/translated/part.js:308 +#: part/api.py:180 templates/js/translated/part.js:307 msgid "Parent" msgstr "" -#: part/api.py:181 +#: part/api.py:182 msgid "Filter by parent category" msgstr "" -#: part/api.py:214 +#: part/api.py:215 msgid "Exclude Tree" msgstr "" -#: part/api.py:216 +#: part/api.py:217 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:449 +#: part/api.py:442 msgid "Has Results" msgstr "" -#: part/api.py:616 +#: part/api.py:609 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:634 +#: part/api.py:627 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:650 +#: part/api.py:643 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:734 +#: part/api.py:727 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:881 -msgid "Valid" -msgstr "" - -#: part/api.py:882 +#: part/api.py:875 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:888 +#: part/api.py:881 msgid "This option must be selected" msgstr "" -#: part/api.py:1105 +#: part/api.py:1098 msgid "BOM Valid" msgstr "" -#: part/api.py:1508 part/models.py:932 part/models.py:3374 part/models.py:3889 -#: part/serializers.py:401 part/serializers.py:1130 -#: part/templates/part/part_base.html:260 stock/api.py:791 +#: part/api.py:1494 part/models.py:936 part/models.py:3385 part/models.py:3936 +#: part/serializers.py:419 part/serializers.py:1158 +#: part/templates/part/part_base.html:260 stock/api.py:783 #: 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:2380 msgid "Category" msgstr "" -#: part/api.py:1796 +#: part/api.py:1784 msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:104 part/models.py:975 +#: part/bom.py:170 part/models.py:104 part/models.py:979 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "" -#: part/bom.py:171 part/serializers.py:833 +#: part/bom.py:171 part/serializers.py:861 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6147,7 +6375,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:85 part/models.py:3890 part/templates/part/category.html:16 +#: part/models.py:85 part/models.py:3937 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -6162,7 +6390,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:110 stock/models.py:175 templates/js/translated/part.js:2810 +#: part/models.py:110 stock/models.py:175 templates/js/translated/part.js:2813 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 @@ -6194,1002 +6422,1035 @@ msgstr "" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:485 +#: part/models.py:486 +msgid "Cannot delete this part as it is locked" +msgstr "" + +#: part/models.py:489 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:490 +#: part/models.py:494 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:528 +#: part/models.py:532 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:576 part/models.py:583 +#: part/models.py:580 part/models.py:587 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:595 +#: part/models.py:599 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:658 +#: part/models.py:662 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:736 +#: part/models.py:740 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:837 +#: part/models.py:841 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:847 +#: part/models.py:851 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:862 +#: part/models.py:866 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:891 part/models.py:3945 +#: part/models.py:895 part/models.py:3992 msgid "Part name" msgstr "" -#: part/models.py:896 +#: part/models.py:900 msgid "Is Template" msgstr "" -#: part/models.py:897 +#: part/models.py:901 msgid "Is this part a template part?" msgstr "" -#: part/models.py:907 +#: part/models.py:911 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:915 +#: part/models.py:919 msgid "Part description (optional)" msgstr "" -#: part/models.py:923 +#: part/models.py:927 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:933 +#: part/models.py:937 msgid "Part category" msgstr "" -#: part/models.py:941 -msgid "Internal Part Number" -msgstr "" - -#: part/models.py:948 +#: part/models.py:952 msgid "Part revision or version number" msgstr "" -#: part/models.py:973 +#: part/models.py:977 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1019 part/templates/part/part_base.html:376 +#: part/models.py:1023 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:1020 +#: part/models.py:1024 msgid "Default supplier part" msgstr "" -#: part/models.py:1027 +#: part/models.py:1031 msgid "Default Expiry" msgstr "" -#: part/models.py:1028 +#: part/models.py:1032 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1037 +#: part/models.py:1041 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1046 +#: part/models.py:1050 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1053 +#: part/models.py:1057 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1059 +#: part/models.py:1063 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1065 +#: part/models.py:1069 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1071 +#: part/models.py:1075 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1077 +#: part/models.py:1081 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1081 +#: part/models.py:1085 msgid "Is this part active?" msgstr "" -#: part/models.py:1087 +#: part/models.py:1090 templates/js/translated/part.js:818 +#: templates/js/translated/table_filters.js:721 +msgid "Locked" +msgstr "" + +#: part/models.py:1091 +msgid "Locked parts cannot be edited" +msgstr "" + +#: part/models.py:1097 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1093 +#: part/models.py:1103 msgid "BOM checksum" msgstr "" -#: part/models.py:1094 +#: part/models.py:1104 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1102 +#: part/models.py:1112 msgid "BOM checked by" msgstr "" -#: part/models.py:1107 +#: part/models.py:1117 msgid "BOM checked date" msgstr "" -#: part/models.py:1123 +#: part/models.py:1133 msgid "Creation User" msgstr "" -#: part/models.py:1133 +#: part/models.py:1143 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:1138 part/templates/part/part_base.html:339 +#: part/models.py:1148 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:2474 msgid "Last Stocktake" msgstr "" -#: part/models.py:2011 +#: part/models.py:2021 msgid "Sell multiple" msgstr "" -#: part/models.py:3002 +#: part/models.py:3012 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3018 +#: part/models.py:3028 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3019 +#: part/models.py:3029 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3025 +#: part/models.py:3035 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3026 +#: part/models.py:3036 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3032 +#: part/models.py:3042 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3033 +#: part/models.py:3043 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3039 +#: part/models.py:3049 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3040 +#: part/models.py:3050 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3046 +#: part/models.py:3056 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3047 +#: part/models.py:3057 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3053 +#: part/models.py:3063 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3054 +#: part/models.py:3064 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3060 +#: part/models.py:3070 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3061 +#: part/models.py:3071 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3067 +#: part/models.py:3077 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3068 +#: part/models.py:3078 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3074 +#: part/models.py:3084 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3075 +#: part/models.py:3085 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3081 +#: part/models.py:3091 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3082 +#: part/models.py:3092 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3089 +#: part/models.py:3099 msgid "Override minimum cost" msgstr "" -#: part/models.py:3096 +#: part/models.py:3106 msgid "Override maximum cost" msgstr "" -#: part/models.py:3103 +#: part/models.py:3113 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3110 +#: part/models.py:3120 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3116 +#: part/models.py:3126 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3117 +#: part/models.py:3127 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3123 +#: part/models.py:3133 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3124 +#: part/models.py:3134 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3130 +#: part/models.py:3140 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3131 +#: part/models.py:3141 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3137 +#: part/models.py:3147 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3138 +#: part/models.py:3148 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3157 +#: part/models.py:3167 msgid "Part for stocktake" msgstr "" -#: part/models.py:3162 +#: part/models.py:3172 msgid "Item Count" msgstr "" -#: part/models.py:3163 +#: part/models.py:3173 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3171 +#: part/models.py:3181 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3175 part/models.py:3258 +#: part/models.py:3185 part/models.py:3268 #: part/templates/part/part_scheduling.html:13 #: 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:1086 templates/js/translated/pricing.js:826 +#: templates/js/translated/part.js:1089 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 #: templates/js/translated/purchase_order.js:1731 #: templates/js/translated/stock.js:2821 msgid "Date" msgstr "" -#: part/models.py:3176 +#: part/models.py:3186 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3184 +#: part/models.py:3194 msgid "Additional notes" msgstr "" -#: part/models.py:3194 +#: part/models.py:3204 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3200 +#: part/models.py:3210 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3201 +#: part/models.py:3211 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3207 +#: part/models.py:3217 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3208 +#: part/models.py:3218 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3264 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3274 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3265 +#: part/models.py:3275 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3270 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3280 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3271 +#: part/models.py:3281 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3281 +#: part/models.py:3291 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3423 +#: part/models.py:3301 +msgid "Part Sale Price Break" +msgstr "" + +#: part/models.py:3413 +msgid "Part Test Template" +msgstr "" + +#: part/models.py:3439 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3444 part/models.py:3608 +#: part/models.py:3460 part/models.py:3629 msgid "Choices must be unique" msgstr "" -#: part/models.py:3455 +#: part/models.py:3471 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3466 +#: part/models.py:3482 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3483 templates/js/translated/part.js:2880 +#: part/models.py:3499 templates/js/translated/part.js:2883 msgid "Test Name" msgstr "" -#: part/models.py:3484 +#: part/models.py:3500 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3490 +#: part/models.py:3506 msgid "Test Key" msgstr "" -#: part/models.py:3491 +#: part/models.py:3507 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3498 +#: part/models.py:3514 msgid "Test Description" msgstr "" -#: part/models.py:3499 +#: part/models.py:3515 msgid "Enter description for this test" msgstr "" -#: part/models.py:3503 report/models.py:209 -#: templates/js/translated/part.js:2901 +#: part/models.py:3519 report/models.py:209 +#: templates/js/translated/part.js:2904 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "" -#: part/models.py:3503 +#: part/models.py:3519 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3508 templates/js/translated/part.js:2909 +#: part/models.py:3524 templates/js/translated/part.js:2912 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3509 +#: part/models.py:3525 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3514 templates/js/translated/part.js:2917 +#: part/models.py:3530 templates/js/translated/part.js:2920 msgid "Requires Value" msgstr "" -#: part/models.py:3515 +#: part/models.py:3531 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3520 templates/js/translated/part.js:2924 +#: part/models.py:3536 templates/js/translated/part.js:2927 msgid "Requires Attachment" msgstr "" -#: part/models.py:3522 +#: part/models.py:3538 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3528 part/models.py:3667 templates/js/translated/part.js:1637 +#: part/models.py:3544 part/models.py:3688 templates/js/translated/part.js:1640 msgid "Choices" msgstr "" -#: part/models.py:3529 +#: part/models.py:3545 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3583 +#: part/models.py:3577 +msgid "Part Parameter Template" +msgstr "" + +#: part/models.py:3604 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3588 +#: part/models.py:3609 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3625 +#: part/models.py:3646 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3640 +#: part/models.py:3661 msgid "Parameter Name" msgstr "" -#: part/models.py:3647 +#: part/models.py:3668 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3655 +#: part/models.py:3676 msgid "Parameter description" msgstr "" -#: part/models.py:3661 templates/js/translated/part.js:1628 -#: templates/js/translated/table_filters.js:825 +#: part/models.py:3682 templates/js/translated/part.js:1631 +#: templates/js/translated/table_filters.js:830 msgid "Checkbox" msgstr "" -#: part/models.py:3662 +#: part/models.py:3683 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3668 +#: part/models.py:3689 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3745 +#: part/models.py:3723 +msgid "Part Parameter" +msgstr "" + +#: part/models.py:3749 +msgid "Parameter cannot be modified - part is locked" +msgstr "" + +#: part/models.py:3785 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3788 +#: part/models.py:3828 msgid "Parent Part" msgstr "" -#: part/models.py:3796 part/models.py:3897 part/models.py:3898 +#: part/models.py:3836 part/models.py:3944 part/models.py:3945 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "" -#: part/models.py:3801 -msgid "Data" +#: part/models.py:3842 +msgid "Parameter Value" msgstr "" -#: part/models.py:3802 -msgid "Parameter Value" +#: part/models.py:3892 +msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:3904 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3951 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "" -#: part/models.py:3905 +#: part/models.py:3952 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3943 +#: part/models.py:3990 msgid "Part ID or part name" msgstr "" -#: part/models.py:3944 +#: part/models.py:3991 msgid "Unique part ID value" msgstr "" -#: part/models.py:3946 +#: part/models.py:3993 msgid "Part IPN value" msgstr "" -#: part/models.py:3947 +#: part/models.py:3994 msgid "Level" msgstr "" -#: part/models.py:3947 +#: part/models.py:3994 msgid "BOM level" msgstr "" -#: part/models.py:4037 +#: part/models.py:4105 +msgid "BOM item cannot be modified - assembly is locked" +msgstr "" + +#: part/models.py:4112 +msgid "BOM item cannot be modified - variant assembly is locked" +msgstr "" + +#: part/models.py:4122 msgid "Select parent part" msgstr "" -#: part/models.py:4047 +#: part/models.py:4132 msgid "Sub part" msgstr "" -#: part/models.py:4048 +#: part/models.py:4133 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4059 +#: part/models.py:4144 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4065 +#: part/models.py:4150 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4071 +#: part/models.py:4156 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4078 part/templates/part/upload_bom.html:55 +#: part/models.py:4163 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4079 +#: part/models.py:4164 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4086 +#: part/models.py:4171 msgid "BOM item reference" msgstr "" -#: part/models.py:4094 +#: part/models.py:4179 msgid "BOM item notes" msgstr "" -#: part/models.py:4100 +#: part/models.py:4185 msgid "Checksum" msgstr "" -#: part/models.py:4101 +#: part/models.py:4186 msgid "BOM line checksum" msgstr "" -#: part/models.py:4106 templates/js/translated/table_filters.js:174 +#: part/models.py:4191 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4107 +#: part/models.py:4192 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4112 part/templates/part/upload_bom.html:57 +#: part/models.py:4197 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:4113 +#: part/models.py:4198 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4118 part/templates/part/upload_bom.html:56 +#: part/models.py:4203 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4119 +#: part/models.py:4204 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4204 stock/models.py:663 +#: part/models.py:4289 stock/models.py:663 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4214 part/models.py:4216 +#: part/models.py:4299 part/models.py:4301 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4354 +#: part/models.py:4439 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4375 +#: part/models.py:4460 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4388 +#: part/models.py:4473 msgid "Parent BOM item" msgstr "" -#: part/models.py:4396 +#: part/models.py:4481 msgid "Substitute part" msgstr "" -#: part/models.py:4412 +#: part/models.py:4497 msgid "Part 1" msgstr "" -#: part/models.py:4420 +#: part/models.py:4505 msgid "Part 2" msgstr "" -#: part/models.py:4421 +#: part/models.py:4506 msgid "Select Related Part" msgstr "" -#: part/models.py:4440 +#: part/models.py:4525 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4445 +#: part/models.py:4530 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:118 +#: part/serializers.py:124 msgid "Parent Category" msgstr "" -#: part/serializers.py:119 templates/js/translated/part.js:309 +#: part/serializers.py:125 templates/js/translated/part.js:308 msgid "Parent part category" msgstr "" -#: part/serializers.py:126 part/serializers.py:148 +#: part/serializers.py:132 part/serializers.py:154 #: part/templates/part/category.html:122 part/templates/part/category.html:207 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" -#: part/serializers.py:180 +#: part/serializers.py:189 msgid "Results" msgstr "" -#: part/serializers.py:181 +#: part/serializers.py:190 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:205 part/serializers.py:223 stock/serializers.py:562 +#: part/serializers.py:217 part/serializers.py:235 stock/serializers.py:608 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:268 +#: part/serializers.py:283 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:392 +#: part/serializers.py:410 msgid "No parts selected" msgstr "" -#: part/serializers.py:402 +#: part/serializers.py:420 msgid "Select category" msgstr "" -#: part/serializers.py:437 +#: part/serializers.py:455 msgid "Original Part" msgstr "" -#: part/serializers.py:438 +#: part/serializers.py:456 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:461 msgid "Copy Image" msgstr "" -#: part/serializers.py:444 +#: part/serializers.py:462 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:450 part/templates/part/detail.html:277 +#: part/serializers.py:468 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:451 +#: part/serializers.py:469 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:457 +#: part/serializers.py:475 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:458 +#: part/serializers.py:476 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:464 +#: part/serializers.py:482 msgid "Copy Notes" msgstr "" -#: part/serializers.py:465 +#: part/serializers.py:483 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:483 +#: part/serializers.py:501 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:485 +#: part/serializers.py:503 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:492 +#: part/serializers.py:510 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:493 +#: part/serializers.py:511 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:510 +#: part/serializers.py:528 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:526 +#: part/serializers.py:544 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:536 +#: part/serializers.py:554 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:543 +#: part/serializers.py:561 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:552 +#: part/serializers.py:570 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:563 +#: part/serializers.py:581 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:570 +#: part/serializers.py:588 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:834 -msgid "External Stock" -msgstr "" - -#: part/serializers.py:836 +#: part/serializers.py:864 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:839 +#: part/serializers.py:867 msgid "Variant Stock" msgstr "" -#: part/serializers.py:869 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:472 +#: part/serializers.py:897 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:870 +#: part/serializers.py:898 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:876 templates/js/translated/part.js:102 +#: part/serializers.py:904 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:877 +#: part/serializers.py:905 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:883 +#: part/serializers.py:911 msgid "Supplier Information" msgstr "" -#: part/serializers.py:884 +#: part/serializers.py:912 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:892 +#: part/serializers.py:920 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:893 +#: part/serializers.py:921 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:898 +#: part/serializers.py:926 msgid "Existing Image" msgstr "" -#: part/serializers.py:899 +#: part/serializers.py:927 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:916 +#: part/serializers.py:944 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1122 +#: part/serializers.py:1150 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1132 +#: part/serializers.py:1160 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1142 +#: part/serializers.py:1170 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1148 +#: part/serializers.py:1176 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1149 +#: part/serializers.py:1177 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1154 +#: part/serializers.py:1182 msgid "Generate Report" msgstr "" -#: part/serializers.py:1155 +#: part/serializers.py:1183 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1160 +#: part/serializers.py:1188 msgid "Update Parts" msgstr "" -#: part/serializers.py:1161 +#: part/serializers.py:1189 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1169 +#: part/serializers.py:1197 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1275 +#: part/serializers.py:1303 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1282 +#: part/serializers.py:1310 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1290 +#: part/serializers.py:1318 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1297 +#: part/serializers.py:1325 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1326 +#: part/serializers.py:1354 msgid "Update" msgstr "" -#: part/serializers.py:1327 +#: part/serializers.py:1355 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1350 +#: part/serializers.py:1378 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1357 +#: part/serializers.py:1385 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1360 +#: part/serializers.py:1388 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1727 +#: part/serializers.py:1759 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1735 +#: part/serializers.py:1767 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1736 +#: part/serializers.py:1768 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1741 +#: part/serializers.py:1773 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1742 +#: part/serializers.py:1774 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1747 +#: part/serializers.py:1779 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1748 +#: part/serializers.py:1780 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1753 +#: part/serializers.py:1785 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1754 +#: part/serializers.py:1786 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1788 +#: part/serializers.py:1823 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1789 +#: part/serializers.py:1824 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1819 +#: part/serializers.py:1856 msgid "No part column specified" msgstr "" -#: part/serializers.py:1863 +#: part/serializers.py:1900 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1866 +#: part/serializers.py:1903 msgid "No matching part found" msgstr "" -#: part/serializers.py:1869 +#: part/serializers.py:1906 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1878 +#: part/serializers.py:1915 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1886 +#: part/serializers.py:1923 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1907 +#: part/serializers.py:1946 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:225 templates/js/translated/part.js:1067 -#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 +#: part/stocktake.py:225 templates/js/translated/part.js:1070 +#: templates/js/translated/part.js:1825 templates/js/translated/part.js:1881 #: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "" @@ -7507,7 +7768,7 @@ msgstr "" #: part/templates/part/part_base.html:52 #: stock/templates/stock/item_base.html:62 -#: stock/templates/stock/location.html:74 templates/js/translated/label.js:143 +#: stock/templates/stock/location.html:74 templates/js/translated/label.js:136 msgid "Print Label" msgstr "" @@ -7529,7 +7790,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:2296 msgid "Part actions" msgstr "" @@ -7569,6 +7830,10 @@ msgstr "" msgid "Part can be sold to customers" msgstr "" +#: part/templates/part/part_base.html:145 +msgid "Part is not active" +msgstr "" + #: part/templates/part/part_base.html:153 msgid "Part is virtual (not a physical part)" msgstr "" @@ -7597,7 +7862,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:322 templates/js/translated/bom.js:1071 -#: templates/js/translated/part.js:1265 templates/js/translated/part.js:2444 +#: templates/js/translated/part.js:1268 templates/js/translated/part.js:2447 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" @@ -7690,8 +7955,8 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/part.js:1243 templates/js/translated/part.js:2146 -#: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 +#: templates/js/translated/part.js:1246 templates/js/translated/part.js:2149 +#: templates/js/translated/part.js:2395 templates/js/translated/stock.js:1059 #: templates/js/translated/stock.js:2070 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -7811,8 +8076,8 @@ msgstr "" #: part/templates/part/stock_count.html:7 #: templates/js/translated/model_renderers.js:227 -#: templates/js/translated/part.js:705 templates/js/translated/part.js:2141 -#: templates/js/translated/part.js:2143 +#: templates/js/translated/part.js:704 templates/js/translated/part.js:2144 +#: templates/js/translated/part.js:2146 msgid "No Stock" msgstr "" @@ -7956,7 +8221,7 @@ msgstr "" msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2589 +#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2590 #: templates/js/translated/sales_order.js:1953 msgid "Insufficient stock available" msgstr "" @@ -8051,7 +8316,7 @@ msgstr "" msgid "Quantity to allocate" msgstr "" -#: plugin/base/label/label.py:39 templates/js/translated/label.js:155 +#: plugin/base/label/label.py:39 templates/js/translated/label.js:148 msgid "Label printing failed" msgstr "" @@ -8748,7 +9013,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report.html:25 #: report/templates/report/inventree_test_report.html:88 stock/models.py:825 -#: stock/serializers.py:149 stock/templates/stock/item_base.html:311 +#: stock/serializers.py:151 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:230 @@ -8778,7 +9043,7 @@ msgstr "" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2447 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2457 msgid "Result" msgstr "" @@ -8799,7 +9064,7 @@ msgid "No result" msgstr "" #: report/templates/report/inventree_test_report.html:153 -#: stock/templates/stock/stock_sidebar.html:16 +#: stock/serializers.py:591 stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" @@ -8829,10 +9094,6 @@ msgstr "" msgid "Location ID" msgstr "" -#: stock/admin.py:53 stock/admin.py:175 -msgid "Location Name" -msgstr "" - #: stock/admin.py:63 stock/templates/stock/location.html:131 #: stock/templates/stock/location.html:137 msgid "Location Path" @@ -8909,7 +9170,7 @@ msgstr "" msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:369 stock/serializers.py:1085 +#: stock/api.py:369 stock/serializers.py:1148 msgid "Parent Location" msgstr "" @@ -8917,44 +9178,45 @@ msgstr "" msgid "Filter by parent location" msgstr "" -#: stock/api.py:625 templates/js/translated/table_filters.js:427 +#: stock/api.py:617 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:813 +#: stock/api.py:805 msgid "Part Tree" msgstr "" -#: stock/api.py:843 +#: stock/api.py:835 msgid "Expiry date before" msgstr "" -#: stock/api.py:847 +#: stock/api.py:839 msgid "Expiry date after" msgstr "" -#: stock/api.py:850 stock/templates/stock/item_base.html:439 +#: stock/api.py:842 stock/serializers.py:596 +#: stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "" -#: stock/api.py:937 +#: stock/api.py:929 msgid "Quantity is required" msgstr "" -#: stock/api.py:943 +#: stock/api.py:935 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:974 +#: stock/api.py:966 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:984 +#: stock/api.py:976 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1015 +#: stock/api.py:1007 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -9021,7 +9283,7 @@ msgstr "" msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:669 stock/serializers.py:446 +#: stock/models.py:669 stock/serializers.py:477 msgid "Stock item cannot be created for virtual parts" msgstr "" @@ -9066,7 +9328,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:799 stock/serializers.py:1476 +#: stock/models.py:799 stock/serializers.py:1542 msgid "Packaging this stock item is stored in" msgstr "" @@ -9078,7 +9340,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:843 stock/serializers.py:1459 +#: stock/models.py:843 stock/serializers.py:1525 msgid "Batch code for this stock item" msgstr "" @@ -9155,7 +9417,7 @@ msgstr "" msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1520 stock/serializers.py:660 +#: stock/models.py:1520 stock/serializers.py:718 msgid "Serial numbers already exist" msgstr "" @@ -9187,7 +9449,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1658 stock/serializers.py:1365 +#: stock/models.py:1658 stock/serializers.py:1431 msgid "Duplicate stock items" msgstr "" @@ -9207,288 +9469,330 @@ msgstr "" msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2345 +#: stock/models.py:2317 +msgid "Stock Item Tracking" +msgstr "" + +#: stock/models.py:2350 msgid "Entry notes" msgstr "" -#: stock/models.py:2413 +#: stock/models.py:2390 +msgid "Stock Item Test Result" +msgstr "" + +#: stock/models.py:2423 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2418 +#: stock/models.py:2428 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2423 +#: stock/models.py:2433 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2447 +#: stock/models.py:2457 msgid "Test result" msgstr "" -#: stock/models.py:2454 +#: stock/models.py:2464 msgid "Test output value" msgstr "" -#: stock/models.py:2462 +#: stock/models.py:2472 msgid "Test result attachment" msgstr "" -#: stock/models.py:2466 +#: stock/models.py:2476 msgid "Test notes" msgstr "" -#: stock/models.py:2474 templates/js/translated/stock.js:1548 +#: stock/models.py:2484 templates/js/translated/stock.js:1548 msgid "Test station" msgstr "" -#: stock/models.py:2475 +#: stock/models.py:2485 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2481 +#: stock/models.py:2491 msgid "Started" msgstr "" -#: stock/models.py:2482 +#: stock/models.py:2492 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2488 +#: stock/models.py:2498 msgid "Finished" msgstr "" -#: stock/models.py:2489 +#: stock/models.py:2499 msgid "The timestamp of the test finish" msgstr "" -#: stock/serializers.py:74 +#: stock/serializers.py:76 msgid "Generated batch code" msgstr "" -#: stock/serializers.py:83 +#: stock/serializers.py:85 msgid "Select build order" msgstr "" -#: stock/serializers.py:92 +#: stock/serializers.py:94 msgid "Select stock item to generate batch code for" msgstr "" -#: stock/serializers.py:101 +#: stock/serializers.py:103 msgid "Select location to generate batch code for" msgstr "" -#: stock/serializers.py:110 +#: stock/serializers.py:112 msgid "Select part to generate batch code for" msgstr "" -#: stock/serializers.py:119 +#: stock/serializers.py:121 msgid "Select purchase order" msgstr "" -#: stock/serializers.py:126 +#: stock/serializers.py:128 msgid "Enter quantity for batch code" msgstr "" -#: stock/serializers.py:149 +#: stock/serializers.py:151 msgid "Generated serial number" msgstr "" -#: stock/serializers.py:158 +#: stock/serializers.py:160 msgid "Select part to generate serial number for" msgstr "" -#: stock/serializers.py:166 +#: stock/serializers.py:168 msgid "Quantity of serial numbers to generate" msgstr "" -#: stock/serializers.py:228 +#: stock/serializers.py:233 msgid "Test template for this result" msgstr "" -#: stock/serializers.py:247 +#: stock/serializers.py:252 msgid "Template ID or test name must be provided" msgstr "" -#: stock/serializers.py:279 +#: stock/serializers.py:284 msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:315 +#: stock/serializers.py:320 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:438 +#: stock/serializers.py:449 stock/templates/stock/item_base.html:193 +msgid "Parent Item" +msgstr "" + +#: stock/serializers.py:450 +msgid "Parent stock item" +msgstr "" + +#: stock/serializers.py:469 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:558 +#: stock/serializers.py:585 templates/js/translated/build.js:991 +#: templates/js/translated/build.js:2344 +msgid "Allocated Quantity" +msgstr "" + +#: stock/serializers.py:588 stock/templates/stock/item_base.html:437 +#: templates/js/translated/table_filters.js:435 users/models.py:174 +msgid "Expired" +msgstr "" + +#: stock/serializers.py:594 stock/templates/stock/stock_sidebar.html:20 +msgid "Child Items" +msgstr "" + +#: stock/serializers.py:598 +msgid "Tracking Items" +msgstr "" + +#: stock/serializers.py:604 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:595 +#: stock/serializers.py:623 +msgid "Minimum Pricing" +msgstr "" + +#: stock/serializers.py:629 +msgid "Maximum Pricing" +msgstr "" + +#: stock/serializers.py:653 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:608 +#: stock/serializers.py:666 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:615 +#: stock/serializers.py:673 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:626 stock/serializers.py:1322 stock/serializers.py:1578 +#: stock/serializers.py:684 stock/serializers.py:1388 stock/serializers.py:1644 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:633 +#: stock/serializers.py:691 msgid "Optional note field" msgstr "" -#: stock/serializers.py:643 +#: stock/serializers.py:701 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:698 +#: stock/serializers.py:756 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:705 +#: stock/serializers.py:763 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:706 +#: stock/serializers.py:764 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:711 stock/serializers.py:791 stock/serializers.py:887 -#: stock/serializers.py:937 +#: stock/serializers.py:769 stock/serializers.py:849 stock/serializers.py:945 +#: stock/serializers.py:995 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:719 +#: stock/serializers.py:777 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:727 +#: stock/serializers.py:785 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:738 +#: stock/serializers.py:796 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:751 +#: stock/serializers.py:809 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:786 +#: stock/serializers.py:844 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:821 +#: stock/serializers.py:879 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:834 +#: stock/serializers.py:892 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:851 +#: stock/serializers.py:909 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:882 +#: stock/serializers.py:940 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:919 +#: stock/serializers.py:977 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:925 +#: stock/serializers.py:983 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1021 stock/serializers.py:1093 +#: stock/serializers.py:1079 stock/serializers.py:1156 #: stock/templates/stock/location.html:165 #: stock/templates/stock/location.html:222 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1086 templates/js/translated/stock.js:152 +#: stock/serializers.py:1149 templates/js/translated/stock.js:152 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1194 +#: stock/serializers.py:1260 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1198 +#: stock/serializers.py:1264 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1202 +#: stock/serializers.py:1268 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1226 +#: stock/serializers.py:1292 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1232 +#: stock/serializers.py:1298 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1240 +#: stock/serializers.py:1306 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1250 stock/serializers.py:1504 +#: stock/serializers.py:1316 stock/serializers.py:1570 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1329 +#: stock/serializers.py:1395 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1334 +#: stock/serializers.py:1400 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1335 +#: stock/serializers.py:1401 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1340 +#: stock/serializers.py:1406 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1341 +#: stock/serializers.py:1407 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1351 +#: stock/serializers.py:1417 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1418 +#: stock/serializers.py:1484 msgid "No Change" msgstr "" -#: stock/serializers.py:1447 +#: stock/serializers.py:1513 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1466 +#: stock/serializers.py:1532 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1494 +#: stock/serializers.py:1560 msgid "Stock transaction notes" msgstr "" @@ -9757,10 +10061,6 @@ msgstr "" msgid "Build" msgstr "" -#: stock/templates/stock/item_base.html:193 -msgid "Parent Item" -msgstr "" - #: stock/templates/stock/item_base.html:211 msgid "No manufacturer set" msgstr "" @@ -9836,11 +10136,6 @@ msgstr "" msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:437 -#: templates/js/translated/table_filters.js:435 users/models.py:174 -msgid "Expired" -msgstr "" - #: stock/templates/stock/item_base.html:439 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" @@ -9988,10 +10283,6 @@ msgstr "" msgid "Allocations" msgstr "" -#: stock/templates/stock/stock_sidebar.html:20 -msgid "Child Items" -msgstr "" - #: templates/403.html:6 templates/403.html:12 templates/403_csrf.html:7 msgid "Permission Denied" msgstr "" @@ -10466,8 +10757,8 @@ 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:393 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:245 users/models.py:402 +#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 +#: templates/js/translated/stock.js:245 users/models.py:406 msgid "Delete" msgstr "" @@ -10507,12 +10798,12 @@ msgid "No category parameter templates found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:308 -#: templates/js/translated/part.js:1646 +#: templates/js/translated/part.js:1649 msgid "Edit Template" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:309 -#: templates/js/translated/part.js:1647 +#: templates/js/translated/part.js:1650 msgid "Delete Template" msgstr "" @@ -11145,7 +11436,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2556 +#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2557 msgid "Required Quantity" msgstr "" @@ -11159,7 +11450,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3219 +#: templates/js/translated/part.js:3222 msgid "Minimum Quantity" msgstr "" @@ -11514,7 +11805,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2500 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2501 msgid "Variant stock allowed" msgstr "" @@ -11534,30 +11825,30 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2621 +#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2622 msgid "External stock" msgstr "" -#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2595 +#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2596 #: templates/js/translated/sales_order.js:1946 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2599 +#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2600 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2601 -#: templates/js/translated/part.js:1257 +#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2602 +#: templates/js/translated/part.js:1260 #: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2603 +#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2604 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2586 +#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2587 msgid "Consumable item" msgstr "" @@ -11589,7 +11880,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2485 +#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2486 msgid "Required Part" msgstr "" @@ -11758,10 +12049,6 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:991 templates/js/translated/build.js:2344 -msgid "Allocated Quantity" -msgstr "" - #: templates/js/translated/build.js:1005 msgid "Location not specified" msgstr "" @@ -11873,9 +12160,9 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2117 templates/js/translated/build.js:2479 +#: templates/js/translated/build.js:2117 templates/js/translated/build.js:2480 #: templates/js/translated/forms.js:2163 templates/js/translated/forms.js:2179 -#: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 +#: templates/js/translated/part.js:2319 templates/js/translated/part.js:2745 #: templates/js/translated/stock.js:1983 templates/js/translated/stock.js:2710 msgid "Select" msgstr "" @@ -11906,59 +12193,59 @@ msgstr "" msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2455 +#: templates/js/translated/build.js:2456 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2456 +#: templates/js/translated/build.js:2457 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2474 +#: templates/js/translated/build.js:2475 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2504 templates/js/translated/part.js:791 -#: templates/js/translated/part.js:1203 +#: templates/js/translated/build.js:2505 templates/js/translated/part.js:790 +#: templates/js/translated/part.js:1206 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2539 +#: templates/js/translated/build.js:2540 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2591 +#: templates/js/translated/build.js:2592 #: templates/js/translated/sales_order.js:1951 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2646 +#: templates/js/translated/build.js:2647 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2653 +#: templates/js/translated/build.js:2654 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2654 +#: templates/js/translated/build.js:2655 msgid "Allocate tracked items against individual build outputs" msgstr "" -#: templates/js/translated/build.js:2662 +#: templates/js/translated/build.js:2663 #: templates/js/translated/sales_order.js:2052 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2667 templates/js/translated/stock.js:1868 +#: templates/js/translated/build.js:2668 templates/js/translated/stock.js:1868 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2671 +#: templates/js/translated/build.js:2672 #: templates/js/translated/sales_order.js:2046 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2675 +#: templates/js/translated/build.js:2676 msgid "Remove stock allocation" msgstr "" @@ -12105,7 +12392,7 @@ msgid "Delete Parameters" msgstr "" #: templates/js/translated/company.js:1191 -#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2245 +#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2248 msgid "Order parts" msgstr "" @@ -12122,34 +12409,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:1279 -#: templates/js/translated/company.js:1567 templates/js/translated/part.js:799 -#: templates/js/translated/part.js:1211 +#: templates/js/translated/company.js:1567 templates/js/translated/part.js:798 +#: templates/js/translated/part.js:1214 msgid "Template part" msgstr "" #: templates/js/translated/company.js:1283 -#: templates/js/translated/company.js:1571 templates/js/translated/part.js:803 -#: templates/js/translated/part.js:1215 +#: templates/js/translated/company.js:1571 templates/js/translated/part.js:802 +#: templates/js/translated/part.js:1218 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1465 +#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1468 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1528 +#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1531 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1529 +#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1532 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1434 +#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1437 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1550 +#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1553 msgid "Delete Parameter" msgstr "" @@ -12323,15 +12610,15 @@ msgstr "" msgid "No parts required for builds" msgstr "" -#: templates/js/translated/label.js:55 templates/js/translated/report.js:38 +#: templates/js/translated/label.js:48 templates/js/translated/report.js:38 msgid "Select Items" msgstr "" -#: templates/js/translated/label.js:56 templates/js/translated/report.js:39 +#: templates/js/translated/label.js:49 templates/js/translated/report.js:39 msgid "No items selected for printing" msgstr "" -#: templates/js/translated/label.js:150 +#: templates/js/translated/label.js:143 msgid "Labels sent to printer" msgstr "" @@ -12400,7 +12687,7 @@ msgstr "" #: templates/js/translated/news.js:38 #: templates/js/translated/notification.js:46 -#: templates/js/translated/part.js:1605 +#: templates/js/translated/part.js:1608 msgid "ID" msgstr "" @@ -12481,343 +12768,343 @@ msgstr "" msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:333 templates/js/translated/stock.js:175 +#: templates/js/translated/part.js:332 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:353 +#: templates/js/translated/part.js:352 msgid "Create Part Category" msgstr "" -#: templates/js/translated/part.js:356 +#: templates/js/translated/part.js:355 msgid "Create new category after this one" msgstr "" -#: templates/js/translated/part.js:357 +#: templates/js/translated/part.js:356 msgid "Part category created" msgstr "" -#: templates/js/translated/part.js:371 +#: templates/js/translated/part.js:370 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:384 +#: templates/js/translated/part.js:383 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:389 +#: templates/js/translated/part.js:388 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:398 +#: templates/js/translated/part.js:397 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:402 +#: templates/js/translated/part.js:401 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:407 +#: templates/js/translated/part.js:406 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:431 +#: templates/js/translated/part.js:430 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:433 +#: templates/js/translated/part.js:432 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:434 +#: templates/js/translated/part.js:433 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:462 +#: templates/js/translated/part.js:461 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:464 +#: templates/js/translated/part.js:463 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:475 +#: templates/js/translated/part.js:474 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:532 +#: templates/js/translated/part.js:531 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:533 +#: templates/js/translated/part.js:532 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:547 +#: templates/js/translated/part.js:546 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:549 +#: templates/js/translated/part.js:548 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:550 +#: templates/js/translated/part.js:549 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:551 +#: templates/js/translated/part.js:550 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:558 +#: templates/js/translated/part.js:557 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:594 +#: templates/js/translated/part.js:593 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:596 +#: templates/js/translated/part.js:595 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:601 +#: templates/js/translated/part.js:600 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:603 +#: templates/js/translated/part.js:602 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:620 +#: templates/js/translated/part.js:619 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:630 +#: templates/js/translated/part.js:629 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:633 +#: templates/js/translated/part.js:632 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:658 +#: templates/js/translated/part.js:657 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:686 -#: templates/js/translated/table_filters.js:747 +#: templates/js/translated/part.js:685 +#: templates/js/translated/table_filters.js:752 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:689 +#: templates/js/translated/part.js:688 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:749 +#: templates/js/translated/part.js:748 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:772 +#: templates/js/translated/part.js:771 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:795 templates/js/translated/part.js:1207 +#: templates/js/translated/part.js:794 templates/js/translated/part.js:1210 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:807 +#: templates/js/translated/part.js:806 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:811 +#: templates/js/translated/part.js:810 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:890 +#: templates/js/translated/part.js:893 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:890 +#: templates/js/translated/part.js:893 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:898 +#: templates/js/translated/part.js:901 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:902 +#: templates/js/translated/part.js:905 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:1051 +#: templates/js/translated/part.js:1054 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1109 templates/js/translated/part.js:1145 +#: templates/js/translated/part.js:1112 templates/js/translated/part.js:1148 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1113 templates/js/translated/part.js:1155 +#: templates/js/translated/part.js:1116 templates/js/translated/part.js:1158 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1282 +#: templates/js/translated/part.js:1285 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1600 +#: templates/js/translated/part.js:1603 msgid "No part parameter templates found" msgstr "" -#: templates/js/translated/part.js:1663 +#: templates/js/translated/part.js:1666 msgid "Edit Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1675 +#: templates/js/translated/part.js:1678 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/js/translated/part.js:1683 +#: templates/js/translated/part.js:1686 msgid "Delete Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1717 +#: templates/js/translated/part.js:1720 #: templates/js/translated/purchase_order.js:1654 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/part.js:1861 +#: templates/js/translated/part.js:1864 #: 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:1907 +#: templates/js/translated/part.js:1910 #: templates/js/translated/purchase_order.js:2220 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1970 +#: templates/js/translated/part.js:1973 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1992 +#: templates/js/translated/part.js:1995 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2080 templates/js/translated/part.js:2506 +#: templates/js/translated/part.js:2083 templates/js/translated/part.js:2509 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:2201 +#: templates/js/translated/part.js:2204 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2206 +#: templates/js/translated/part.js:2209 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2236 +#: templates/js/translated/part.js:2239 msgid "Set category" msgstr "" -#: templates/js/translated/part.js:2287 +#: templates/js/translated/part.js:2290 msgid "part" msgstr "" -#: templates/js/translated/part.js:2288 +#: templates/js/translated/part.js:2291 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2384 +#: templates/js/translated/part.js:2387 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 +#: templates/js/translated/part.js:2534 templates/js/translated/part.js:2664 #: templates/js/translated/stock.js:2669 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2547 +#: templates/js/translated/part.js:2550 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2645 +#: templates/js/translated/part.js:2648 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2689 +#: templates/js/translated/part.js:2684 templates/js/translated/stock.js:2689 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2761 +#: templates/js/translated/part.js:2764 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2777 +#: templates/js/translated/part.js:2780 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2865 +#: templates/js/translated/part.js:2868 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2887 templates/js/translated/search.js:342 +#: templates/js/translated/part.js:2890 templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/part.js:2937 templates/js/translated/stock.js:1456 +#: templates/js/translated/part.js:2940 templates/js/translated/stock.js:1456 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2938 templates/js/translated/stock.js:1457 +#: templates/js/translated/part.js:2941 templates/js/translated/stock.js:1457 #: templates/js/translated/stock.js:1731 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2942 +#: templates/js/translated/part.js:2945 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2958 +#: templates/js/translated/part.js:2961 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2972 +#: templates/js/translated/part.js:2975 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3051 templates/js/translated/part.js:3052 +#: templates/js/translated/part.js:3054 templates/js/translated/part.js:3055 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3054 +#: templates/js/translated/part.js:3057 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3060 +#: templates/js/translated/part.js:3063 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3110 +#: templates/js/translated/part.js:3113 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3116 +#: templates/js/translated/part.js:3119 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3212 +#: templates/js/translated/part.js:3215 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3228 +#: templates/js/translated/part.js:3231 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3273 +#: templates/js/translated/part.js:3276 msgid "Minimum Stock Level" msgstr "" @@ -13593,7 +13880,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1042 users/models.py:392 +#: templates/js/translated/stock.js:1042 users/models.py:396 msgid "Add" msgstr "" @@ -13947,7 +14234,7 @@ msgid "Include subcategories" msgstr "" #: templates/js/translated/table_filters.js:287 -#: templates/js/translated/table_filters.js:759 +#: templates/js/translated/table_filters.js:764 msgid "Subscribed" msgstr "" @@ -14102,40 +14389,44 @@ msgstr "" msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:725 +#: templates/js/translated/table_filters.js:722 +msgid "Show locked parts" +msgstr "" + +#: templates/js/translated/table_filters.js:730 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:733 -#: templates/js/translated/table_filters.js:833 +#: templates/js/translated/table_filters.js:738 +#: templates/js/translated/table_filters.js:838 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:734 +#: templates/js/translated/table_filters.js:739 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:738 +#: templates/js/translated/table_filters.js:743 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:739 +#: templates/js/translated/table_filters.js:744 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:743 +#: templates/js/translated/table_filters.js:748 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:751 +#: templates/js/translated/table_filters.js:756 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:763 +#: templates/js/translated/table_filters.js:768 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:829 +#: templates/js/translated/table_filters.js:834 msgid "Has Choices" msgstr "" @@ -14207,10 +14498,6 @@ msgstr "" msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:558 -msgid "Columns" -msgstr "" - #: templates/js/translated/tables.js:561 msgid "All" msgstr "" @@ -14484,35 +14771,34 @@ msgstr "" msgid "Revoked" msgstr "" -#: users/models.py:375 +#: users/models.py:379 msgid "Permission set" msgstr "" -#: users/models.py:384 +#: users/models.py:388 msgid "Group" msgstr "" -#: users/models.py:388 +#: users/models.py:392 msgid "View" msgstr "" -#: users/models.py:388 +#: users/models.py:392 msgid "Permission to view items" msgstr "" -#: users/models.py:392 +#: users/models.py:396 msgid "Permission to add items" msgstr "" -#: users/models.py:396 +#: users/models.py:400 msgid "Change" msgstr "" -#: users/models.py:398 +#: users/models.py:402 msgid "Permissions to edit items" msgstr "" -#: users/models.py:404 +#: users/models.py:408 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 f2a2a8aca1db..6e7440eeae21 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-07-05 06:40+0000\n" +"POT-Creation-Date: 2024-07-08 14:46+0000\n" "PO-Revision-Date: 2023-02-28 22:38\n" "Last-Translator: \n" "Language-Team: Chinese Simplified\n" @@ -21,7 +21,7 @@ msgstr "" msgid "API endpoint not found" msgstr "未找到 API 端点" -#: InvenTree/api.py:520 +#: InvenTree/api.py:505 msgid "User does not have permission to view this model" msgstr "" @@ -62,21 +62,21 @@ msgstr "在管理面板中可以找到错误详细信息" msgid "Enter date" msgstr "输入日期" -#: InvenTree/fields.py:205 InvenTree/models.py:918 build/serializers.py:452 -#: build/serializers.py:530 build/templates/build/sidebar.html:21 -#: company/models.py:817 company/templates/company/sidebar.html:37 +#: InvenTree/fields.py:205 InvenTree/models.py:921 build/serializers.py:456 +#: build/serializers.py:534 build/templates/build/sidebar.html:21 +#: company/models.py:824 company/templates/company/sidebar.html:37 #: order/models.py:1296 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:3183 part/templates/part/part_sidebar.html:63 +#: part/models.py:3193 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/admin.py:230 stock/models.py:2344 stock/models.py:2466 -#: stock/serializers.py:632 stock/serializers.py:790 stock/serializers.py:886 -#: stock/serializers.py:936 stock/serializers.py:1239 stock/serializers.py:1328 -#: stock/serializers.py:1493 stock/templates/stock/stock_sidebar.html:25 +#: stock/admin.py:230 stock/models.py:2349 stock/models.py:2476 +#: stock/serializers.py:690 stock/serializers.py:848 stock/serializers.py:944 +#: stock/serializers.py:994 stock/serializers.py:1305 stock/serializers.py:1394 +#: stock/serializers.py:1559 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:1081 +#: templates/js/translated/part.js:1084 #: templates/js/translated/purchase_order.js:2200 #: templates/js/translated/return_order.js:775 #: templates/js/translated/sales_order.js:1103 @@ -390,41 +390,41 @@ msgstr "" msgid "JSON metadata field, for use by external plugins" msgstr "" -#: InvenTree/models.py:408 +#: InvenTree/models.py:411 msgid "Improperly formatted pattern" msgstr "格式不正确" -#: InvenTree/models.py:415 +#: InvenTree/models.py:418 msgid "Unknown format key specified" msgstr "指定了未知格式密钥" -#: InvenTree/models.py:421 +#: InvenTree/models.py:424 msgid "Missing required format key" msgstr "缺少必需的格式密钥" -#: InvenTree/models.py:432 +#: InvenTree/models.py:435 msgid "Reference field cannot be empty" msgstr "引用字段不能为空" -#: InvenTree/models.py:440 +#: InvenTree/models.py:443 msgid "Reference must match required pattern" msgstr "引用必须匹配所需的图案" -#: InvenTree/models.py:471 +#: InvenTree/models.py:474 msgid "Reference number is too large" msgstr "参考编号过大" -#: InvenTree/models.py:719 +#: InvenTree/models.py:722 msgid "Duplicate names cannot exist under the same parent" msgstr "" -#: InvenTree/models.py:736 +#: InvenTree/models.py:739 msgid "Invalid choice" msgstr "选择无效" -#: InvenTree/models.py:766 common/models.py:2678 common/models.py:3103 -#: common/serializers.py:408 company/models.py:580 machine/models.py:24 -#: part/models.py:891 part/models.py:3639 plugin/models.py:51 +#: InvenTree/models.py:769 common/models.py:2659 common/models.py:3089 +#: common/serializers.py:412 company/models.py:587 machine/models.py:24 +#: part/models.py:895 part/models.py:3660 plugin/models.py:51 #: report/models.py:150 stock/models.py:74 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 @@ -436,20 +436,20 @@ msgstr "选择无效" #: templates/js/translated/company.js:724 #: templates/js/translated/company.js:913 #: templates/js/translated/company.js:1165 -#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1187 -#: templates/js/translated/part.js:1475 templates/js/translated/part.js:1611 -#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2716 +#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1190 +#: templates/js/translated/part.js:1478 templates/js/translated/part.js:1614 +#: templates/js/translated/part.js:2752 templates/js/translated/stock.js:2716 msgid "Name" msgstr "名称" -#: InvenTree/models.py:772 build/models.py:235 -#: build/templates/build/detail.html:24 common/models.py:138 -#: company/models.py:509 company/models.py:808 +#: InvenTree/models.py:775 build/models.py:242 +#: build/templates/build/detail.html:24 common/models.py:143 +#: company/models.py:515 company/models.py:815 #: company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:107 order/models.py:289 -#: order/models.py:1329 part/admin.py:305 part/admin.py:408 part/models.py:914 -#: part/models.py:3654 part/templates/part/category.html:82 +#: order/models.py:1329 part/admin.py:305 part/admin.py:408 part/models.py:918 +#: part/models.py:3675 part/templates/part/category.html:82 #: part/templates/part/part_base.html:170 #: part/templates/part/part_scheduling.html:12 report/models.py:156 #: report/models.py:510 report/models.py:536 @@ -463,10 +463,10 @@ msgstr "名称" #: templates/js/translated/build.js:2139 templates/js/translated/company.js:519 #: templates/js/translated/company.js:1330 #: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 -#: templates/js/translated/order.js:298 templates/js/translated/part.js:1239 -#: templates/js/translated/part.js:1484 templates/js/translated/part.js:1622 -#: templates/js/translated/part.js:1959 templates/js/translated/part.js:2355 -#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2897 +#: templates/js/translated/order.js:298 templates/js/translated/part.js:1242 +#: templates/js/translated/part.js:1487 templates/js/translated/part.js:1625 +#: templates/js/translated/part.js:1962 templates/js/translated/part.js:2358 +#: templates/js/translated/part.js:2788 templates/js/translated/part.js:2900 #: templates/js/translated/plugin.js:80 #: templates/js/translated/purchase_order.js:1706 #: templates/js/translated/purchase_order.js:1849 @@ -479,55 +479,55 @@ msgstr "名称" msgid "Description" msgstr "描述信息" -#: InvenTree/models.py:773 stock/models.py:81 +#: InvenTree/models.py:776 stock/models.py:81 msgid "Description (optional)" msgstr "描述 (可选)" -#: InvenTree/models.py:788 templates/js/translated/part.js:2794 +#: InvenTree/models.py:791 templates/js/translated/part.js:2797 #: templates/js/translated/stock.js:2757 msgid "Path" msgstr "路径" -#: InvenTree/models.py:918 +#: InvenTree/models.py:921 #, fuzzy #| msgid "Add transaction note (optional)" msgid "Markdown notes (optional)" msgstr "添加交易备注 (可选)" -#: InvenTree/models.py:947 +#: InvenTree/models.py:950 msgid "Barcode Data" msgstr "条码数据" -#: InvenTree/models.py:948 +#: InvenTree/models.py:951 msgid "Third party barcode data" msgstr "第三方条形码数据" -#: InvenTree/models.py:954 +#: InvenTree/models.py:957 msgid "Barcode Hash" msgstr "条码哈希" -#: InvenTree/models.py:955 +#: InvenTree/models.py:958 msgid "Unique hash of barcode data" msgstr "条码数据的唯一哈希" -#: InvenTree/models.py:1008 +#: InvenTree/models.py:1011 msgid "Existing barcode found" msgstr "发现现有条码" -#: InvenTree/models.py:1051 +#: InvenTree/models.py:1054 msgid "Server Error" msgstr "服务器错误" -#: InvenTree/models.py:1052 +#: InvenTree/models.py:1055 msgid "An error has been logged by the server." msgstr "服务器记录了一个错误。" -#: InvenTree/serializers.py:63 part/models.py:4192 +#: InvenTree/serializers.py:63 part/models.py:4277 msgid "Must be a valid number" msgstr "必须是有效数字" #: InvenTree/serializers.py:100 company/models.py:186 -#: company/templates/company/company_base.html:112 part/models.py:3001 +#: company/templates/company/company_base.html:112 part/models.py:3011 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -579,16 +579,16 @@ msgstr "" msgid "Is this user a superuser" msgstr "" -#: InvenTree/serializers.py:445 common/models.py:2683 company/models.py:163 -#: company/models.py:782 machine/models.py:39 part/admin.py:88 -#: part/models.py:1081 plugin/models.py:66 +#: InvenTree/serializers.py:445 common/models.py:2664 company/models.py:163 +#: company/models.py:789 machine/models.py:39 part/admin.py:88 +#: part/models.py:1085 plugin/models.py:66 #: 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 #: templates/js/translated/table_filters.js:520 #: templates/js/translated/table_filters.js:716 -#: templates/js/translated/table_filters.js:796 users/models.py:182 +#: templates/js/translated/table_filters.js:801 users/models.py:182 msgid "Active" msgstr "" @@ -624,7 +624,7 @@ msgstr "关于 InventTree" msgid "Invalid value" msgstr "无效值" -#: InvenTree/serializers.py:581 +#: InvenTree/serializers.py:581 importer/models.py:60 msgid "Data File" msgstr "数据文件" @@ -680,7 +680,7 @@ msgstr "远程图像文件的 URL" msgid "Downloading images from remote URL is not enabled" msgstr "未启用从远程 URL下载图像" -#: InvenTree/status.py:66 part/serializers.py:1174 +#: InvenTree/status.py:66 part/serializers.py:1202 msgid "Background worker check failed" msgstr "后台工作人员检查失败" @@ -742,47 +742,48 @@ msgstr "系统信息" msgid "About InvenTree" msgstr "关于 InventTree" -#: build/api.py:255 +#: build/api.py:248 msgid "Build must be cancelled before it can be deleted" msgstr "在删除前必须取消生产" -#: build/api.py:299 part/models.py:4070 templates/js/translated/bom.js:997 -#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2520 +#: build/api.py:292 build/serializers.py:1190 part/models.py:4155 +#: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 +#: templates/js/translated/build.js:2521 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" msgstr "" -#: build/api.py:300 part/models.py:4064 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 +#: build/api.py:293 build/serializers.py:1191 part/models.py:4149 +#: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 +#: templates/js/translated/bom.js:1028 templates/js/translated/build.js:2530 #: templates/js/translated/table_filters.js:186 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:587 msgid "Optional" msgstr "可选项" -#: build/api.py:301 templates/js/translated/table_filters.js:408 +#: build/api.py:294 templates/js/translated/table_filters.js:408 #: templates/js/translated/table_filters.js:579 msgid "Tracked" msgstr "" -#: build/api.py:303 part/admin.py:144 templates/js/translated/build.js:1744 -#: templates/js/translated/build.js:2629 +#: build/api.py:296 part/admin.py:144 templates/js/translated/build.js:1744 +#: templates/js/translated/build.js:2630 #: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:571 msgid "Allocated" msgstr "" -#: build/api.py:311 company/models.py:872 company/serializers.py:359 +#: build/api.py:304 company/models.py:879 company/serializers.py:386 #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2561 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2562 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:234 -#: templates/js/translated/part.js:693 templates/js/translated/part.js:695 -#: templates/js/translated/part.js:700 +#: 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 #: templates/js/translated/table_filters.js:575 msgid "Available" @@ -791,7 +792,7 @@ msgstr "空闲" #: build/models.py:85 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_report.html:105 -#: stock/serializers.py:82 templates/email/build_order_completed.html:16 +#: stock/serializers.py:84 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:2892 msgid "Build Order" @@ -814,39 +815,45 @@ msgstr "生产订单" msgid "Assembly BOM has not been validated" msgstr "一些库存项已被过度分配" -#: build/models.py:134 part/templates/part/part_base.html:145 +#: build/models.py:134 #, fuzzy -#| msgid "Print actions" -msgid "Part is not active" -msgstr "打印操作" +#| msgid "Print build order report" +msgid "Build order cannot be created for an inactive part" +msgstr "打印构建订单报告" + +#: build/models.py:141 +#, fuzzy +#| msgid "Build output cannot be specified for allocation of untracked parts" +msgid "Build order cannot be created for an unlocked part" +msgstr "对于未被追踪的部件,无法指定生产产出" -#: build/models.py:148 +#: build/models.py:155 msgid "Invalid choice for parent build" msgstr "上级生产选项无效" -#: build/models.py:159 order/models.py:240 +#: build/models.py:166 order/models.py:240 msgid "Responsible user or group must be specified" msgstr "" -#: build/models.py:165 +#: build/models.py:172 #, fuzzy #| msgid "Order cannot be cancelled" msgid "Build order part cannot be changed" msgstr "无法取消订单" -#: build/models.py:226 +#: build/models.py:233 msgid "Build Order Reference" msgstr "相关生产订单" -#: build/models.py:227 order/models.py:463 order/models.py:926 -#: order/models.py:1289 order/models.py:2020 part/admin.py:411 -#: part/models.py:4085 part/templates/part/upload_bom.html:54 +#: build/models.py:234 build/serializers.py:1189 order/models.py:463 +#: order/models.py:926 order/models.py:1289 order/models.py:2046 +#: part/admin.py:411 part/models.py:4170 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: 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/build.js:2513 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2065 #: templates/js/translated/return_order.js:728 @@ -854,29 +861,30 @@ msgstr "相关生产订单" msgid "Reference" msgstr "引用" -#: build/models.py:238 +#: build/models.py:245 #, fuzzy #| msgid "Brief description of the build" msgid "Brief description of the build (optional)" msgstr "生产的简短描述." -#: build/models.py:246 build/templates/build/build_base.html:183 +#: build/models.py:253 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "上级生产" -#: build/models.py:247 +#: build/models.py:254 msgid "BuildOrder to which this build is allocated" msgstr "此次生产匹配的订单" -#: build/models.py:252 build/templates/build/build_base.html:97 -#: build/templates/build/detail.html:29 company/models.py:1026 order/api.py:805 -#: order/models.py:1414 order/models.py:1559 order/models.py:1560 -#: part/api.py:1494 part/api.py:1788 part/models.py:395 part/models.py:3012 -#: part/models.py:3156 part/models.py:3303 part/models.py:3324 -#: part/models.py:3346 part/models.py:3477 part/models.py:3787 -#: part/models.py:3943 part/models.py:4036 part/models.py:4395 -#: part/serializers.py:1120 part/serializers.py:1726 +#: build/models.py:259 build/serializers.py:1184 +#: build/templates/build/build_base.html:97 +#: build/templates/build/detail.html:29 company/models.py:1034 order/api.py:759 +#: order/models.py:1419 order/models.py:1574 order/models.py:1575 +#: part/api.py:1480 part/api.py:1776 part/models.py:396 part/models.py:3022 +#: part/models.py:3166 part/models.py:3314 part/models.py:3335 +#: part/models.py:3357 part/models.py:3493 part/models.py:3827 +#: part/models.py:3990 part/models.py:4121 part/models.py:4480 +#: part/serializers.py:1148 part/serializers.py:1758 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -887,8 +895,8 @@ msgstr "此次生产匹配的订单" #: 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:109 stock/serializers.py:157 stock/serializers.py:423 -#: stock/serializers.py:820 templates/InvenTree/search.html:82 +#: stock/serializers.py:111 stock/serializers.py:159 stock/serializers.py:443 +#: stock/serializers.py:878 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 @@ -901,8 +909,8 @@ msgstr "此次生产匹配的订单" #: templates/js/translated/company.js:1116 #: templates/js/translated/company.js:1271 #: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 -#: templates/js/translated/part.js:1944 templates/js/translated/part.js:2016 -#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:1947 templates/js/translated/part.js:2019 +#: templates/js/translated/part.js:2327 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:1848 @@ -920,107 +928,107 @@ msgstr "此次生产匹配的订单" msgid "Part" msgstr "商品" -#: build/models.py:260 +#: build/models.py:267 msgid "Select part to build" msgstr "选择要生产的商品" -#: build/models.py:265 +#: build/models.py:272 msgid "Sales Order Reference" msgstr "相关销售订单" -#: build/models.py:269 +#: build/models.py:276 msgid "SalesOrder to which this build is allocated" msgstr "此次生产匹配的销售订单" -#: build/models.py:274 build/serializers.py:999 +#: build/models.py:281 build/serializers.py:1003 #: templates/js/translated/build.js:1731 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" msgstr "来源地点" -#: build/models.py:278 +#: build/models.py:285 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "此次生产从哪个仓储位置获取库存(留空即可从任何仓储位置取出)" -#: build/models.py:283 +#: build/models.py:290 msgid "Destination Location" msgstr "目标地点" -#: build/models.py:287 +#: build/models.py:294 msgid "Select location where the completed items will be stored" msgstr "选择已完成项目仓储地点" -#: build/models.py:291 +#: build/models.py:298 msgid "Build Quantity" msgstr "生产数量" -#: build/models.py:294 +#: build/models.py:301 msgid "Number of stock items to build" msgstr "要生产的项目数量" -#: build/models.py:298 +#: build/models.py:305 msgid "Completed items" msgstr "已完成项目" -#: build/models.py:300 +#: build/models.py:307 msgid "Number of stock items which have been completed" msgstr "已完成的库存项目数量" -#: build/models.py:304 +#: build/models.py:311 msgid "Build Status" msgstr "生产状态" -#: build/models.py:308 +#: build/models.py:315 msgid "Build status code" msgstr "生产状态代码" -#: build/models.py:317 build/serializers.py:286 order/serializers.py:580 -#: stock/models.py:839 stock/serializers.py:74 stock/serializers.py:1458 +#: build/models.py:324 build/serializers.py:290 order/serializers.py:629 +#: stock/models.py:839 stock/serializers.py:76 stock/serializers.py:1524 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" msgstr "批量代码" -#: build/models.py:321 build/serializers.py:287 +#: build/models.py:328 build/serializers.py:291 msgid "Batch code for this build output" msgstr "此生产产出的批量代码" -#: build/models.py:324 order/models.py:316 order/serializers.py:119 -#: part/models.py:1115 part/templates/part/part_base.html:310 +#: build/models.py:331 order/models.py:316 order/serializers.py:127 +#: part/models.py:1125 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:328 +#: build/models.py:335 msgid "Target completion date" msgstr "预计完成日期" -#: build/models.py:329 +#: build/models.py:336 msgid "Target date for build completion. Build will be overdue after this date." msgstr "生产完成的目标日期。生产将在此日期之后逾期。" -#: build/models.py:332 order/models.py:521 order/models.py:2065 +#: build/models.py:339 order/models.py:521 order/models.py:2091 #: templates/js/translated/build.js:2247 msgid "Completion Date" msgstr "完成日期:" -#: build/models.py:338 +#: build/models.py:345 msgid "completed by" msgstr "完成人" -#: build/models.py:346 templates/js/translated/build.js:2207 +#: build/models.py:353 templates/js/translated/build.js:2207 msgid "Issued by" msgstr "发布者" -#: build/models.py:347 +#: build/models.py:354 msgid "User who issued this build order" msgstr "发布此生产订单的用户" -#: build/models.py:355 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 common/models.py:147 +#: build/models.py:362 build/templates/build/build_base.html:204 +#: build/templates/build/detail.html:122 common/models.py:152 #: order/models.py:334 order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:188 -#: order/templates/order/sales_order_base.html:232 part/models.py:1132 +#: order/templates/order/sales_order_base.html:232 part/models.py:1142 #: part/templates/part/part_base.html:390 #: report/templates/report/inventree_build_order_report.html:158 #: templates/InvenTree/settings/settings_staff_js.html:150 @@ -1031,11 +1039,11 @@ msgstr "发布此生产订单的用户" msgid "Responsible" msgstr "责任人" -#: build/models.py:356 +#: build/models.py:363 msgid "User or group responsible for this build order" msgstr "构建此订单的用户或组" -#: build/models.py:361 build/templates/build/detail.html:108 +#: build/models.py:368 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 @@ -1047,21 +1055,22 @@ msgstr "构建此订单的用户或组" msgid "External Link" msgstr "外部链接" -#: build/models.py:362 common/models.py:3244 part/models.py:956 +#: build/models.py:369 common/models.py:3230 part/models.py:960 #: stock/models.py:835 msgid "Link to external URL" msgstr "链接到外部 URL" -#: build/models.py:366 +#: build/models.py:373 msgid "Build Priority" msgstr "创建优先级" -#: build/models.py:369 +#: build/models.py:376 msgid "Priority of this build order" msgstr "此构建订单的优先级" -#: build/models.py:376 common/models.py:131 order/admin.py:18 -#: order/models.py:298 templates/InvenTree/settings/settings_staff_js.html:146 +#: build/models.py:383 common/models.py:122 common/models.py:136 +#: order/admin.py:18 order/models.py:298 order/serializers.py:108 +#: templates/InvenTree/settings/settings_staff_js.html:146 #: templates/js/translated/build.js:2144 #: templates/js/translated/purchase_order.js:1710 #: templates/js/translated/return_order.js:317 @@ -1073,73 +1082,74 @@ msgstr "此构建订单的优先级" msgid "Project Code" msgstr "商品二维码" -#: build/models.py:377 +#: build/models.py:384 #, fuzzy #| msgid "Priority of this build order" msgid "Project code for this build order" msgstr "此构建订单的优先级" -#: build/models.py:610 build/models.py:675 +#: build/models.py:617 build/models.py:682 msgid "Failed to offload task to complete build allocations" msgstr "" -#: build/models.py:632 +#: build/models.py:639 #, python-brace-format msgid "Build order {build} has been completed" msgstr "生产订单 {build} 已完成" -#: build/models.py:638 +#: build/models.py:645 msgid "A build order has been completed" msgstr "生产订单已完成" -#: build/models.py:864 build/models.py:949 +#: build/models.py:871 build/models.py:956 msgid "No build output specified" msgstr "未指定生产产出" -#: build/models.py:867 +#: build/models.py:874 msgid "Build output is already completed" msgstr "生产产出已完成" -#: build/models.py:870 +#: build/models.py:877 msgid "Build output does not match Build Order" msgstr "生产产出与订单不匹配" -#: build/models.py:953 build/serializers.py:219 build/serializers.py:268 -#: build/serializers.py:866 order/models.py:559 order/serializers.py:432 -#: order/serializers.py:575 part/serializers.py:1484 part/serializers.py:1884 -#: stock/models.py:678 stock/models.py:1496 stock/serializers.py:603 +#: build/models.py:960 build/serializers.py:223 build/serializers.py:272 +#: build/serializers.py:870 order/models.py:559 order/serializers.py:461 +#: order/serializers.py:624 part/serializers.py:1515 part/serializers.py:1921 +#: stock/models.py:678 stock/models.py:1496 stock/serializers.py:661 msgid "Quantity must be greater than zero" msgstr "数量必须大于0" -#: build/models.py:958 build/serializers.py:224 +#: build/models.py:965 build/serializers.py:228 #, fuzzy #| msgid "Quantity must be greater than zero" msgid "Quantity cannot be greater than the output quantity" msgstr "数量必须大于0" -#: build/models.py:1018 build/serializers.py:547 +#: build/models.py:1025 build/serializers.py:551 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1359 +#: build/models.py:1366 #, fuzzy #| msgid "Delete parameters" msgid "Build Order Line Item" msgstr "删除参数" -#: build/models.py:1384 +#: build/models.py:1391 #, fuzzy #| msgid "Build Notes" msgid "Build object" msgstr "生产备注" -#: build/models.py:1398 build/models.py:1654 build/serializers.py:206 -#: build/serializers.py:253 build/templates/build/build_base.html:102 -#: build/templates/build/detail.html:34 common/models.py:2563 -#: order/models.py:1272 order/models.py:1931 order/serializers.py:1327 +#: build/models.py:1405 build/models.py:1661 build/serializers.py:210 +#: build/serializers.py:257 build/serializers.py:1194 +#: build/templates/build/build_base.html:102 +#: build/templates/build/detail.html:34 common/models.py:2544 +#: order/models.py:1272 order/models.py:1957 order/serializers.py:1383 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:410 -#: part/forms.py:48 part/models.py:3170 part/models.py:4058 +#: part/forms.py:48 part/models.py:3180 part/models.py:4143 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1149,7 +1159,7 @@ msgstr "生产备注" #: report/templates/report/inventree_stock_location_report.html:104 #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:169 stock/admin.py:159 -#: stock/serializers.py:125 stock/serializers.py:165 stock/serializers.py:594 +#: stock/serializers.py:127 stock/serializers.py:167 stock/serializers.py:652 #: stock/templates/stock/item_base.html:287 #: stock/templates/stock/item_base.html:295 #: stock/templates/stock/item_base.html:342 @@ -1160,8 +1170,8 @@ msgstr "生产备注" #: templates/js/translated/build.js:1746 templates/js/translated/build.js:2357 #: templates/js/translated/company.js:1818 #: templates/js/translated/model_renderers.js:236 -#: templates/js/translated/order.js:304 templates/js/translated/part.js:962 -#: templates/js/translated/part.js:1812 templates/js/translated/part.js:3342 +#: templates/js/translated/order.js:304 templates/js/translated/part.js:965 +#: templates/js/translated/part.js:1815 templates/js/translated/part.js:3345 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 @@ -1181,42 +1191,42 @@ msgstr "生产备注" msgid "Quantity" msgstr "数量" -#: build/models.py:1399 +#: build/models.py:1406 #, fuzzy #| msgid "Stock required for build order" msgid "Required quantity for build order" msgstr "生产订单所需的库存" -#: build/models.py:1479 +#: build/models.py:1486 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "生产项必须指定生产产出,因为主部件已经被标记为可追踪的" -#: build/models.py:1488 +#: build/models.py:1495 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "分配数量 ({q}) 不得超过可用库存数量 ({a})" -#: build/models.py:1498 order/models.py:1882 +#: build/models.py:1505 order/models.py:1908 msgid "Stock item is over-allocated" msgstr "库存物品分配过度!" -#: build/models.py:1504 order/models.py:1885 +#: build/models.py:1511 order/models.py:1911 msgid "Allocation quantity must be greater than zero" msgstr "分配数量必须大于0" -#: build/models.py:1510 +#: build/models.py:1517 msgid "Quantity must be 1 for serialized stock" msgstr "序列化库存的数量必须是 1" -#: build/models.py:1569 +#: build/models.py:1576 #, fuzzy #| msgid "Selected stock item not found in BOM" msgid "Selected stock item does not match BOM line" msgstr "在BOM中找不到选定的库存项" -#: build/models.py:1641 build/serializers.py:846 order/serializers.py:1171 -#: order/serializers.py:1192 stock/models.py:359 stock/serializers.py:91 -#: stock/serializers.py:697 stock/serializers.py:1177 stock/serializers.py:1289 +#: build/models.py:1648 build/serializers.py:850 order/serializers.py:1227 +#: order/serializers.py:1248 stock/models.py:359 stock/serializers.py:93 +#: stock/serializers.py:755 stock/serializers.py:1243 stock/serializers.py:1355 #: stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:194 @@ -1232,70 +1242,76 @@ msgstr "在BOM中找不到选定的库存项" msgid "Stock Item" msgstr "库存项" -#: build/models.py:1642 +#: build/models.py:1649 msgid "Source stock item" msgstr "源库存项" -#: build/models.py:1655 +#: build/models.py:1662 msgid "Stock quantity to allocate to build" msgstr "分配到生产的数量" -#: build/models.py:1663 +#: build/models.py:1670 msgid "Install into" msgstr "安装到" -#: build/models.py:1664 +#: build/models.py:1671 msgid "Destination stock item" msgstr "目标库存项" -#: build/serializers.py:156 build/serializers.py:875 +#: build/serializers.py:89 build/serializers.py:1185 part/admin.py:41 +#: part/admin.py:405 part/models.py:3992 part/stocktake.py:220 +#: stock/admin.py:156 +msgid "Part Name" +msgstr "" + +#: build/serializers.py:160 build/serializers.py:879 #: templates/js/translated/build.js:1322 msgid "Build Output" msgstr "生产产出" -#: build/serializers.py:168 +#: build/serializers.py:172 msgid "Build output does not match the parent build" msgstr "生产产出与对应生产不匹配" -#: build/serializers.py:172 +#: build/serializers.py:176 msgid "Output part does not match BuildOrder part" msgstr "产出部件与生产订单部件不匹配" -#: build/serializers.py:176 +#: build/serializers.py:180 msgid "This build output has already been completed" msgstr "此生产产出已经完成" -#: build/serializers.py:187 +#: build/serializers.py:191 msgid "This build output is not fully allocated" msgstr "生产产出未被完成分配" -#: build/serializers.py:207 build/serializers.py:254 +#: build/serializers.py:211 build/serializers.py:258 msgid "Enter quantity for build output" msgstr "输入生产产出数量" -#: build/serializers.py:275 +#: build/serializers.py:279 msgid "Integer quantity required for trackable parts" msgstr "对于可追踪的部件,需要整数型数值" -#: build/serializers.py:278 +#: build/serializers.py:282 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "需要整数型数值,因为BOM包含可追踪的部件" -#: build/serializers.py:293 order/serializers.py:588 order/serializers.py:1331 -#: stock/serializers.py:614 templates/js/translated/purchase_order.js:1153 +#: build/serializers.py:297 order/serializers.py:637 order/serializers.py:1387 +#: stock/serializers.py:672 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:294 +#: build/serializers.py:298 msgid "Enter serial numbers for build outputs" msgstr "输入生产产出的序列号" -#: build/serializers.py:299 build/serializers.py:440 build/serializers.py:512 -#: order/serializers.py:564 order/serializers.py:672 order/serializers.py:1656 -#: part/serializers.py:1140 stock/serializers.py:100 stock/serializers.py:625 -#: stock/serializers.py:785 stock/serializers.py:881 stock/serializers.py:1321 -#: stock/serializers.py:1577 stock/templates/stock/item_base.html:394 +#: build/serializers.py:303 build/serializers.py:444 build/serializers.py:516 +#: order/serializers.py:613 order/serializers.py:721 order/serializers.py:1714 +#: part/serializers.py:1168 stock/serializers.py:102 stock/serializers.py:683 +#: stock/serializers.py:843 stock/serializers.py:939 stock/serializers.py:1387 +#: stock/serializers.py:1643 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 @@ -1311,64 +1327,64 @@ msgstr "输入生产产出的序列号" msgid "Location" msgstr "地点" -#: build/serializers.py:300 +#: build/serializers.py:304 #, fuzzy #| msgid "Stock item created" msgid "Stock location for build output" msgstr "库存项已创建" -#: build/serializers.py:314 +#: build/serializers.py:318 msgid "Auto Allocate Serial Numbers" msgstr "自动分配序列号" -#: build/serializers.py:315 +#: build/serializers.py:319 msgid "Automatically allocate required items with matching serial numbers" msgstr "自动为所需项分配对应的序列号" -#: build/serializers.py:330 +#: build/serializers.py:334 #, fuzzy #| msgid "Integer quantity required for trackable parts" msgid "Serial numbers must be provided for trackable parts" msgstr "对于可追踪的部件,需要整数型数值" -#: build/serializers.py:355 stock/api.py:1041 +#: build/serializers.py:359 stock/api.py:1033 msgid "The following serial numbers already exist or are invalid" msgstr "以下序列号已存在或无效" -#: build/serializers.py:402 build/serializers.py:464 build/serializers.py:553 +#: build/serializers.py:406 build/serializers.py:468 build/serializers.py:557 msgid "A list of build outputs must be provided" msgstr "必须提供生产产出列表" -#: build/serializers.py:441 +#: build/serializers.py:445 #, fuzzy #| msgid "Stock item created" msgid "Stock location for scrapped outputs" msgstr "库存项已创建" -#: build/serializers.py:447 +#: build/serializers.py:451 #, fuzzy #| msgid "Stock Locations" msgid "Discard Allocations" msgstr "仓储地点" -#: build/serializers.py:448 +#: build/serializers.py:452 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:453 +#: build/serializers.py:457 #, fuzzy #| msgid "Location for completed build outputs" msgid "Reason for scrapping build output(s)" msgstr "已完成生产产出的仓储地点" -#: build/serializers.py:513 +#: build/serializers.py:517 msgid "Location for completed build outputs" msgstr "已完成生产产出的仓储地点" -#: build/serializers.py:519 build/templates/build/build_base.html:151 +#: build/serializers.py:523 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:950 -#: order/models.py:2044 order/serializers.py:596 stock/admin.py:164 -#: stock/serializers.py:932 stock/serializers.py:1465 +#: order/models.py:2070 order/serializers.py:645 stock/admin.py:164 +#: stock/serializers.py:990 stock/serializers.py:1531 #: 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 @@ -1380,201 +1396,263 @@ msgstr "已完成生产产出的仓储地点" msgid "Status" msgstr "状态" -#: build/serializers.py:525 +#: build/serializers.py:529 msgid "Accept Incomplete Allocation" msgstr "接受不完整的分配" -#: build/serializers.py:526 +#: build/serializers.py:530 msgid "Complete outputs if stock has not been fully allocated" msgstr "如果库存尚未完成分配,完成产出" -#: build/serializers.py:611 +#: build/serializers.py:615 #, fuzzy #| msgid "Remove Allocated Stock" msgid "Consume Allocated Stock" msgstr "移除已分配的库存" -#: build/serializers.py:612 +#: build/serializers.py:616 #, 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:618 +#: build/serializers.py:622 msgid "Remove Incomplete Outputs" msgstr "移除未完成的产出" -#: build/serializers.py:619 +#: build/serializers.py:623 msgid "Delete any build outputs which have not been completed" msgstr "删除所有未完成的生产产出" -#: build/serializers.py:646 +#: build/serializers.py:650 msgid "Not permitted" msgstr "" -#: build/serializers.py:647 +#: build/serializers.py:651 msgid "Accept as consumed by this build order" msgstr "接受此构建订单所消耗的内容" -#: build/serializers.py:648 +#: build/serializers.py:652 msgid "Deallocate before completing this build order" msgstr "在完成此构建订单前取消分配" -#: build/serializers.py:678 +#: build/serializers.py:682 msgid "Overallocated Stock" msgstr "超出分配的库存" -#: build/serializers.py:680 +#: build/serializers.py:684 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "你想如何处理分配给构建订单的额外库存物品" -#: build/serializers.py:690 +#: build/serializers.py:694 msgid "Some stock items have been overallocated" msgstr "一些库存项已被过度分配" -#: build/serializers.py:695 +#: build/serializers.py:699 msgid "Accept Unallocated" msgstr "接受未分配的" -#: build/serializers.py:696 +#: build/serializers.py:700 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "接受库存项未被完成分配至此生产订单" -#: build/serializers.py:706 templates/js/translated/build.js:315 +#: build/serializers.py:710 templates/js/translated/build.js:315 msgid "Required stock has not been fully allocated" msgstr "所需库存尚未完全分配" -#: build/serializers.py:711 order/serializers.py:300 order/serializers.py:1234 +#: build/serializers.py:715 order/serializers.py:319 order/serializers.py:1290 msgid "Accept Incomplete" msgstr "接受未完成" -#: build/serializers.py:712 +#: build/serializers.py:716 msgid "Accept that the required number of build outputs have not been completed" msgstr "接受所需的生产产出未完成" -#: build/serializers.py:722 templates/js/translated/build.js:319 +#: build/serializers.py:726 templates/js/translated/build.js:319 msgid "Required build quantity has not been completed" msgstr "所需生产数量尚未完成" -#: build/serializers.py:731 templates/js/translated/build.js:303 +#: build/serializers.py:735 templates/js/translated/build.js:303 msgid "Build order has incomplete outputs" msgstr "生产订单有未完成的产出" -#: build/serializers.py:769 +#: build/serializers.py:773 #, fuzzy #| msgid "Build actions" msgid "Build Line" msgstr "生产操作" -#: build/serializers.py:779 +#: build/serializers.py:783 msgid "Build output" msgstr "生产产出" -#: build/serializers.py:787 +#: build/serializers.py:791 msgid "Build output must point to the same build" msgstr "生产产出必须指向相同的生产" -#: build/serializers.py:823 +#: build/serializers.py:827 #, fuzzy #| msgid "Delete parameters" msgid "Build Line Item" msgstr "删除参数" -#: build/serializers.py:837 +#: build/serializers.py:841 msgid "bom_item.part must point to the same part as the build order" msgstr "bom_item.part 必须与生产订单指向相同的部件" -#: build/serializers.py:852 stock/serializers.py:1190 +#: build/serializers.py:856 stock/serializers.py:1256 msgid "Item must be in stock" msgstr "项目必须在库存中" -#: build/serializers.py:900 order/serializers.py:1225 +#: build/serializers.py:904 order/serializers.py:1281 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "可用量 ({q}) 超出了限制" -#: build/serializers.py:906 +#: build/serializers.py:910 msgid "Build output must be specified for allocation of tracked parts" msgstr "对于被追踪的部件的分配,必须指定生产产出" -#: build/serializers.py:913 +#: build/serializers.py:917 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "对于未被追踪的部件,无法指定生产产出" -#: build/serializers.py:937 order/serializers.py:1477 +#: build/serializers.py:941 order/serializers.py:1533 msgid "Allocation items must be provided" msgstr "必须提供分配的项" -#: build/serializers.py:1000 +#: build/serializers.py:1004 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "部件来源的仓储地点(留空则可来源于任何仓储地点)" -#: build/serializers.py:1008 +#: build/serializers.py:1012 msgid "Exclude Location" msgstr "排除地点" -#: build/serializers.py:1009 +#: build/serializers.py:1013 msgid "Exclude stock items from this selected location" msgstr "从该选定的仓储地点排除库存项" -#: build/serializers.py:1014 +#: build/serializers.py:1018 msgid "Interchangeable Stock" msgstr "可互换的库存" -#: build/serializers.py:1015 +#: build/serializers.py:1019 msgid "Stock items in multiple locations can be used interchangeably" msgstr "多处地点的库存项可以互换使用" -#: build/serializers.py:1020 +#: build/serializers.py:1024 msgid "Substitute Stock" msgstr "可替换的库存" -#: build/serializers.py:1021 +#: build/serializers.py:1025 msgid "Allow allocation of substitute parts" msgstr "允许分配可替换的部件" -#: build/serializers.py:1026 +#: build/serializers.py:1030 msgid "Optional Items" msgstr "可选项目" -#: build/serializers.py:1027 +#: build/serializers.py:1031 msgid "Allocate optional BOM items to build order" msgstr "分配可选的BOM项目来建立订单" -#: build/serializers.py:1049 +#: build/serializers.py:1053 msgid "Failed to start auto-allocation task" msgstr "" -#: build/serializers.py:1139 part/models.py:3953 part/models.py:4387 -#: stock/api.py:804 +#: build/serializers.py:1095 +#, fuzzy +#| msgid "Supplier Part Orders" +msgid "Supplier Part Number" +msgstr "供应商商品订单" + +#: build/serializers.py:1096 company/models.py:500 +msgid "Manufacturer Part Number" +msgstr "制造商商品编号" + +#: build/serializers.py:1097 stock/admin.py:53 stock/admin.py:175 +#: stock/serializers.py:454 +msgid "Location Name" +msgstr "" + +#: build/serializers.py:1098 +#, fuzzy +#| msgid "Build Order Reference" +msgid "Build Reference" +msgstr "相关生产订单" + +#: build/serializers.py:1099 +#, fuzzy +#| msgid "Reference" +msgid "BOM Reference" +msgstr "引用" + +#: build/serializers.py:1186 part/admin.py:402 part/models.py:3993 +msgid "Part IPN" +msgstr "" + +#: build/serializers.py:1192 common/models.py:1488 part/admin.py:113 +#: part/models.py:1068 templates/js/translated/table_filters.js:147 +#: templates/js/translated/table_filters.js:223 +#: templates/js/translated/table_filters.js:776 +msgid "Trackable" +msgstr "可追踪" + +#: build/serializers.py:1196 part/models.py:4000 part/models.py:4472 +#: stock/api.py:796 msgid "BOM Item" msgstr "BOM项" -#: build/serializers.py:1148 templates/js/translated/index.js:130 +#: build/serializers.py:1205 templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" -#: build/serializers.py:1153 part/admin.py:132 part/bom.py:173 -#: part/serializers.py:828 part/serializers.py:1502 +#: build/serializers.py:1210 part/admin.py:132 part/bom.py:173 +#: part/serializers.py:856 part/serializers.py:1533 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2613 templates/js/translated/part.js:710 -#: templates/js/translated/part.js:2149 +#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709 +#: templates/js/translated/part.js:2152 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "" -#: build/serializers.py:1158 part/serializers.py:1504 -#: templates/js/translated/build.js:2617 +#: build/serializers.py:1215 part/serializers.py:1535 +#: templates/js/translated/build.js:2618 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "正在生产" -#: build/serializers.py:1163 part/bom.py:172 part/serializers.py:1527 +#: build/serializers.py:1220 part/bom.py:172 part/serializers.py:1558 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" msgstr "可用库存" +#: build/serializers.py:1224 +#, fuzzy +#| msgid "Substitute Stock" +msgid "Available Substitute Stock" +msgstr "可替换的库存" + +#: build/serializers.py:1225 +#, fuzzy +#| msgid "Available Stock" +msgid "Available Variant Stock" +msgstr "可用库存" + +#: build/serializers.py:1226 +#, fuzzy +#| msgid "Available Stock" +msgid "Total Available Stock" +msgstr "可用库存" + +#: build/serializers.py:1227 part/serializers.py:862 +#, fuzzy +#| msgid "External Link" +msgid "External Stock" +msgstr "外部链接" + #: build/status_codes.py:11 generic/states/tests.py:17 order/status_codes.py:12 #: order/status_codes.py:37 order/status_codes.py:64 order/status_codes.py:82 #: templates/js/translated/table_filters.js:598 @@ -1590,7 +1668,8 @@ msgstr "生产中" msgid "Cancelled" msgstr "已取消" -#: build/status_codes.py:14 generic/states/tests.py:19 order/status_codes.py:14 +#: build/status_codes.py:14 generic/states/tests.py:19 importer/models.py:468 +#: importer/status_codes.py:19 order/status_codes.py:14 #: order/status_codes.py:44 order/status_codes.py:69 #: order/templates/order/order_base.html:158 #: order/templates/order/sales_order_base.html:165 report/models.py:444 @@ -1725,11 +1804,12 @@ msgstr "库存尚未被完全分配到此构建订单" #: build/templates/build/build_base.html:160 #: build/templates/build/detail.html:138 order/models.py:309 -#: order/models.py:1307 order/templates/order/order_base.html:186 +#: order/models.py:1307 order/serializers.py:174 +#: order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:164 #: 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:1831 +#: templates/js/translated/build.js:2239 templates/js/translated/part.js:1834 #: templates/js/translated/purchase_order.js:1739 #: templates/js/translated/purchase_order.js:2147 #: templates/js/translated/return_order.js:346 @@ -1762,8 +1842,8 @@ msgid "Completed Outputs" msgstr "已完成输出" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1463 order/models.py:845 -#: order/models.py:1551 order/models.py:1665 order/models.py:1819 +#: build/templates/build/detail.html:101 order/api.py:1384 order/models.py:845 +#: order/models.py:1566 order/models.py:1681 order/models.py:1840 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_report.html:135 @@ -1817,7 +1897,7 @@ msgstr "库存来源" msgid "Stock can be taken from any available location." msgstr "库存可以从任何可用的地点获得。" -#: build/templates/build/detail.html:49 order/models.py:1443 +#: build/templates/build/detail.html:49 order/models.py:1448 #: templates/js/translated/purchase_order.js:2189 msgid "Destination" msgstr "目的地" @@ -1979,41 +2059,41 @@ msgstr "生产订单详情" msgid "Incomplete Outputs" msgstr "未完成输出" -#: common/api.py:689 +#: common/api.py:690 #, fuzzy #| msgid "Link" msgid "Is Link" msgstr "链接" -#: common/api.py:697 +#: common/api.py:698 #, fuzzy #| msgid "File" msgid "Is File" msgstr "文件" -#: common/api.py:739 +#: common/api.py:740 msgid "User does not have permission to delete this attachment" msgstr "" -#: common/currency.py:130 +#: common/currency.py:132 #, fuzzy #| msgid "Not a valid currency code" msgid "Invalid currency code" msgstr "不是有效的货币代码" -#: common/currency.py:132 +#: common/currency.py:134 #, fuzzy #| msgid "Not a valid currency code" msgid "Duplicate currency code" msgstr "不是有效的货币代码" -#: common/currency.py:137 +#: common/currency.py:139 #, fuzzy #| msgid "Not a valid currency code" msgid "No valid currency codes provided" msgstr "不是有效的货币代码" -#: common/currency.py:154 +#: common/currency.py:156 #, fuzzy #| msgid "Subcategories" msgid "No plugin" @@ -2070,1699 +2150,1664 @@ msgstr "最后一次更新时间" msgid "Site URL is locked by configuration" msgstr "" -#: common/models.py:132 +#: common/models.py:137 msgid "Unique project code" msgstr "" -#: common/models.py:139 +#: common/models.py:144 #, fuzzy #| msgid "Part description" msgid "Project description" msgstr "商品描述" -#: common/models.py:148 +#: common/models.py:153 #, fuzzy #| msgid "User or group responsible for this order" msgid "User or group responsible for this project" msgstr "负责此订单的用户或群组" -#: common/models.py:765 +#: common/models.py:770 msgid "Settings key (must be unique - case insensitive)" msgstr "设置键值(必须是唯一的 - 大小写不敏感)" -#: common/models.py:769 +#: common/models.py:774 msgid "Settings value" msgstr "设定值" -#: common/models.py:821 +#: common/models.py:826 msgid "Chosen value is not a valid option" msgstr "选择的值不是一个有效的选项" -#: common/models.py:837 +#: common/models.py:842 msgid "Value must be a boolean value" msgstr "值必须是布尔量" -#: common/models.py:845 +#: common/models.py:850 msgid "Value must be an integer value" msgstr "值必须为整数" -#: common/models.py:882 +#: common/models.py:887 msgid "Key string must be unique" msgstr "关键字必须是唯一的" -#: common/models.py:1114 +#: common/models.py:1119 msgid "No group" msgstr "无群组" -#: common/models.py:1213 +#: common/models.py:1218 msgid "Restart required" msgstr "需要重启" -#: common/models.py:1215 +#: common/models.py:1220 msgid "A setting has been changed which requires a server restart" msgstr "设置已更改,需要服务器重启" -#: common/models.py:1222 +#: common/models.py:1227 #, fuzzy #| msgid "Printing Actions" msgid "Pending migrations" msgstr "打印操作" -#: common/models.py:1223 +#: common/models.py:1228 msgid "Number of pending database migrations" msgstr "" -#: common/models.py:1228 +#: common/models.py:1233 msgid "Server Instance Name" msgstr "服务器实例名称" -#: common/models.py:1230 +#: common/models.py:1235 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:1234 +#: common/models.py:1239 msgid "Use instance name" msgstr "" -#: common/models.py:1235 +#: common/models.py:1240 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:1240 +#: common/models.py:1245 msgid "Restrict showing `about`" msgstr "" -#: common/models.py:1241 +#: common/models.py:1246 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:1246 company/models.py:111 company/models.py:112 +#: common/models.py:1251 company/models.py:111 company/models.py:112 msgid "Company name" msgstr "公司名称" -#: common/models.py:1247 +#: common/models.py:1252 msgid "Internal company name" msgstr "内部公司名称" -#: common/models.py:1251 +#: common/models.py:1256 msgid "Base URL" msgstr "" -#: common/models.py:1252 +#: common/models.py:1257 msgid "Base URL for server instance" msgstr "" -#: common/models.py:1258 +#: common/models.py:1263 msgid "Default Currency" msgstr "" -#: common/models.py:1259 +#: common/models.py:1264 msgid "Select base currency for pricing calculations" msgstr "" -#: common/models.py:1265 +#: common/models.py:1270 msgid "Supported Currencies" msgstr "" -#: common/models.py:1266 +#: common/models.py:1271 #, fuzzy #| msgid "Not a valid currency code" msgid "List of supported currency codes" msgstr "不是有效的货币代码" -#: common/models.py:1272 +#: common/models.py:1277 msgid "Currency Update Interval" msgstr "" -#: common/models.py:1274 +#: common/models.py:1279 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/models.py:1277 common/models.py:1333 common/models.py:1346 -#: common/models.py:1354 common/models.py:1363 common/models.py:1372 -#: common/models.py:1596 common/models.py:1618 common/models.py:1733 -#: common/models.py:2100 +#: common/models.py:1282 common/models.py:1338 common/models.py:1351 +#: common/models.py:1359 common/models.py:1368 common/models.py:1377 +#: common/models.py:1601 common/models.py:1623 common/models.py:1738 +#: common/models.py:2111 msgid "days" msgstr "天" -#: common/models.py:1281 +#: common/models.py:1286 msgid "Currency Update Plugin" msgstr "" -#: common/models.py:1282 +#: common/models.py:1287 msgid "Currency update plugin to use" msgstr "" -#: common/models.py:1287 +#: common/models.py:1292 msgid "Download from URL" msgstr "" -#: common/models.py:1289 +#: common/models.py:1294 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:1295 +#: common/models.py:1300 msgid "Download Size Limit" msgstr "" -#: common/models.py:1296 +#: common/models.py:1301 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/models.py:1302 +#: common/models.py:1307 msgid "User-agent used to download from URL" msgstr "" -#: common/models.py:1304 +#: common/models.py:1309 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/models.py:1309 +#: common/models.py:1314 msgid "Strict URL Validation" msgstr "" -#: common/models.py:1310 +#: common/models.py:1315 msgid "Require schema specification when validating URLs" msgstr "" -#: common/models.py:1315 +#: common/models.py:1320 msgid "Require confirm" msgstr "" -#: common/models.py:1316 +#: common/models.py:1321 msgid "Require explicit user confirmation for certain action." msgstr "" -#: common/models.py:1321 +#: common/models.py:1326 msgid "Tree Depth" msgstr "" -#: common/models.py:1323 +#: common/models.py:1328 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." msgstr "" -#: common/models.py:1329 +#: common/models.py:1334 msgid "Update Check Interval" msgstr "" -#: common/models.py:1330 +#: common/models.py:1335 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/models.py:1336 +#: common/models.py:1341 msgid "Automatic Backup" msgstr "" -#: common/models.py:1337 +#: common/models.py:1342 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/models.py:1342 +#: common/models.py:1347 msgid "Auto Backup Interval" msgstr "" -#: common/models.py:1343 +#: common/models.py:1348 msgid "Specify number of days between automated backup events" msgstr "" -#: common/models.py:1349 +#: common/models.py:1354 msgid "Task Deletion Interval" msgstr "" -#: common/models.py:1351 +#: common/models.py:1356 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/models.py:1358 +#: common/models.py:1363 msgid "Error Log Deletion Interval" msgstr "" -#: common/models.py:1360 +#: common/models.py:1365 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/models.py:1367 +#: common/models.py:1372 msgid "Notification Deletion Interval" msgstr "" -#: common/models.py:1369 +#: common/models.py:1374 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/models.py:1376 templates/InvenTree/settings/sidebar.html:31 +#: common/models.py:1381 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" msgstr "" -#: common/models.py:1377 +#: common/models.py:1382 #, fuzzy #| msgid "Enable barcode scanner support" msgid "Enable barcode scanner support in the web interface" msgstr "启用条形码扫描支持" -#: common/models.py:1382 +#: common/models.py:1387 msgid "Barcode Input Delay" msgstr "" -#: common/models.py:1383 +#: common/models.py:1388 msgid "Barcode input processing delay time" msgstr "" -#: common/models.py:1389 +#: common/models.py:1394 msgid "Barcode Webcam Support" msgstr "" -#: common/models.py:1390 +#: common/models.py:1395 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/models.py:1395 +#: common/models.py:1400 #, fuzzy #| msgid "Barcode Data" msgid "Barcode Show Data" msgstr "条码数据" -#: common/models.py:1396 +#: common/models.py:1401 msgid "Display barcode data in browser as text" msgstr "" -#: common/models.py:1401 +#: common/models.py:1406 #, fuzzy #| msgid "Part description" msgid "Part Revisions" msgstr "商品描述" -#: common/models.py:1402 +#: common/models.py:1407 #, fuzzy #| msgid "Enable internal prices for parts" msgid "Enable revision field for Part" msgstr "启用内部商品价格" -#: common/models.py:1407 +#: common/models.py:1412 #, fuzzy #| msgid "Removed from assembly" msgid "Allow Deletion from Assembly" msgstr "已从组装中删除" -#: common/models.py:1408 +#: common/models.py:1413 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/models.py:1413 +#: common/models.py:1418 msgid "IPN Regex" msgstr "" -#: common/models.py:1414 +#: common/models.py:1419 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:1417 +#: common/models.py:1422 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:1418 +#: common/models.py:1423 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:1423 +#: common/models.py:1428 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:1424 +#: common/models.py:1429 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:1429 +#: common/models.py:1434 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:1430 +#: common/models.py:1435 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:1435 +#: common/models.py:1440 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:1436 +#: common/models.py:1441 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:1441 +#: common/models.py:1446 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:1442 +#: common/models.py:1447 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:1447 +#: common/models.py:1452 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:1448 +#: common/models.py:1453 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1453 part/admin.py:108 part/models.py:3795 +#: common/models.py:1458 part/admin.py:108 part/models.py:3835 #: report/models.py:294 report/models.py:361 report/serializers.py:90 -#: report/serializers.py:131 stock/serializers.py:227 +#: report/serializers.py:131 stock/serializers.py:232 #: templates/js/translated/table_filters.js:139 -#: templates/js/translated/table_filters.js:767 +#: templates/js/translated/table_filters.js:772 msgid "Template" msgstr "模板" -#: common/models.py:1454 +#: common/models.py:1459 msgid "Parts are templates by default" msgstr "" -#: common/models.py:1459 part/admin.py:91 part/admin.py:425 part/models.py:1052 +#: common/models.py:1464 part/admin.py:91 part/admin.py:425 part/models.py:1056 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 -#: templates/js/translated/table_filters.js:721 +#: templates/js/translated/table_filters.js:726 msgid "Assembly" msgstr "组装" -#: common/models.py:1460 +#: common/models.py:1465 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1465 part/admin.py:95 part/models.py:1058 -#: templates/js/translated/table_filters.js:729 +#: common/models.py:1470 part/admin.py:95 part/models.py:1062 +#: templates/js/translated/table_filters.js:734 msgid "Component" msgstr "组件" -#: common/models.py:1466 +#: common/models.py:1471 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1471 part/admin.py:100 part/models.py:1070 +#: common/models.py:1476 part/admin.py:100 part/models.py:1074 msgid "Purchaseable" msgstr "可购买" -#: common/models.py:1472 +#: common/models.py:1477 msgid "Parts are purchaseable by default" msgstr "商品默认可购买" -#: common/models.py:1477 part/admin.py:104 part/models.py:1076 -#: templates/js/translated/table_filters.js:755 +#: common/models.py:1482 part/admin.py:104 part/models.py:1080 +#: templates/js/translated/table_filters.js:760 msgid "Salable" msgstr "可销售" -#: common/models.py:1478 +#: common/models.py:1483 msgid "Parts are salable by default" msgstr "商品默认可销售" -#: common/models.py:1483 part/admin.py:113 part/models.py:1064 -#: 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:1484 +#: common/models.py:1489 msgid "Parts are trackable by default" msgstr "商品默认可跟踪" -#: common/models.py:1489 part/admin.py:117 part/models.py:1086 +#: common/models.py:1494 part/admin.py:117 part/models.py:1096 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 -#: templates/js/translated/table_filters.js:775 +#: templates/js/translated/table_filters.js:780 msgid "Virtual" msgstr "虚拟" -#: common/models.py:1490 +#: common/models.py:1495 msgid "Parts are virtual by default" msgstr "商品默认是虚拟的" -#: common/models.py:1495 +#: common/models.py:1500 msgid "Show Import in Views" msgstr "视图中显示导入" -#: common/models.py:1496 +#: common/models.py:1501 msgid "Display the import wizard in some part views" msgstr "在一些商品视图中显示导入向导" -#: common/models.py:1501 +#: common/models.py:1506 msgid "Show related parts" msgstr "显示相关商品" -#: common/models.py:1502 +#: common/models.py:1507 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1507 +#: common/models.py:1512 msgid "Initial Stock Data" msgstr "" -#: common/models.py:1508 +#: common/models.py:1513 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1513 templates/js/translated/part.js:107 +#: common/models.py:1518 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" -#: common/models.py:1515 +#: common/models.py:1520 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/models.py:1521 +#: common/models.py:1526 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1522 +#: common/models.py:1527 msgid "Format to display the part name" msgstr "" -#: common/models.py:1528 +#: common/models.py:1533 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1529 +#: common/models.py:1534 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1533 +#: common/models.py:1538 #, fuzzy #| msgid "Parameter units" msgid "Enforce Parameter Units" msgstr "参数单位" -#: common/models.py:1535 +#: common/models.py:1540 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/models.py:1541 +#: common/models.py:1546 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/models.py:1543 +#: common/models.py:1548 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1554 +#: common/models.py:1559 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1556 +#: common/models.py:1561 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1567 +#: common/models.py:1572 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1569 +#: common/models.py:1574 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1575 +#: common/models.py:1580 msgid "Purchase History Override" msgstr "" -#: common/models.py:1577 +#: common/models.py:1582 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1583 +#: common/models.py:1588 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1585 +#: common/models.py:1590 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1591 +#: common/models.py:1596 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1593 +#: common/models.py:1598 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1600 +#: common/models.py:1605 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1601 +#: common/models.py:1606 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1606 +#: common/models.py:1611 msgid "Active Variants Only" msgstr "" -#: common/models.py:1608 +#: common/models.py:1613 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1614 +#: common/models.py:1619 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1616 +#: common/models.py:1621 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1623 +#: common/models.py:1628 msgid "Internal Prices" msgstr "内部价格" -#: common/models.py:1624 +#: common/models.py:1629 msgid "Enable internal prices for parts" msgstr "启用内部商品价格" -#: common/models.py:1629 +#: common/models.py:1634 msgid "Internal Price Override" msgstr "" -#: common/models.py:1631 +#: common/models.py:1636 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1637 +#: common/models.py:1642 msgid "Enable label printing" msgstr "" -#: common/models.py:1638 +#: common/models.py:1643 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1643 +#: common/models.py:1648 msgid "Label Image DPI" msgstr "" -#: common/models.py:1645 +#: common/models.py:1650 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1651 +#: common/models.py:1656 msgid "Enable Reports" msgstr "" -#: common/models.py:1652 +#: common/models.py:1657 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1657 templates/stats.html:25 +#: common/models.py:1662 templates/stats.html:25 msgid "Debug Mode" msgstr "调试模式" -#: common/models.py:1658 +#: common/models.py:1663 msgid "Generate reports in debug mode (HTML output)" msgstr "在调试模式生成报告(HTML输出)" -#: common/models.py:1663 +#: common/models.py:1668 #, fuzzy #| msgid "No Reports Found" msgid "Log Report Errors" msgstr "没有找到报表" -#: common/models.py:1664 +#: common/models.py:1669 msgid "Log errors which occur when generating reports" msgstr "" -#: common/models.py:1669 plugin/builtin/labels/label_sheet.py:28 +#: common/models.py:1674 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:302 msgid "Page Size" msgstr "页面大小" -#: common/models.py:1670 +#: common/models.py:1675 msgid "Default page size for PDF reports" msgstr "PDF 报表默认页面大小" -#: common/models.py:1675 +#: common/models.py:1680 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1676 +#: common/models.py:1681 msgid "Enable generation of test reports" msgstr "启用生成测试报表" -#: common/models.py:1681 +#: common/models.py:1686 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1683 +#: common/models.py:1688 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1689 +#: common/models.py:1694 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1690 +#: common/models.py:1695 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1695 +#: common/models.py:1700 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1696 +#: common/models.py:1701 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1701 +#: common/models.py:1706 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1703 +#: common/models.py:1708 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/models.py:1709 +#: common/models.py:1714 msgid "Batch Code Template" msgstr "" -#: common/models.py:1711 +#: common/models.py:1716 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1716 +#: common/models.py:1721 msgid "Stock Expiry" msgstr "库存到期" -#: common/models.py:1717 +#: common/models.py:1722 msgid "Enable stock expiry functionality" msgstr "启用库存到期功能" -#: common/models.py:1722 +#: common/models.py:1727 msgid "Sell Expired Stock" msgstr "销售过期库存" -#: common/models.py:1723 +#: common/models.py:1728 msgid "Allow sale of expired stock" msgstr "允许销售过期库存" -#: common/models.py:1728 +#: common/models.py:1733 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1730 +#: common/models.py:1735 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1737 +#: common/models.py:1742 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1738 +#: common/models.py:1743 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1743 +#: common/models.py:1748 msgid "Stock Ownership Control" msgstr "库存所有权控制" -#: common/models.py:1744 +#: common/models.py:1749 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1749 +#: common/models.py:1754 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1750 +#: common/models.py:1755 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1754 +#: common/models.py:1759 #, fuzzy #| msgid "Select Stock Items" msgid "Show Installed Stock Items" msgstr "选择库存项" -#: common/models.py:1755 +#: common/models.py:1760 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1760 +#: common/models.py:1765 msgid "Check BOM when installing items" msgstr "" -#: common/models.py:1762 +#: common/models.py:1767 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/models.py:1768 +#: common/models.py:1773 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/models.py:1770 +#: common/models.py:1775 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/models.py:1776 +#: common/models.py:1781 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1778 +#: common/models.py:1783 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1784 common/models.py:1826 common/models.py:1848 -#: common/models.py:1884 +#: common/models.py:1789 common/models.py:1837 common/models.py:1859 +#: common/models.py:1895 #, fuzzy #| msgid "Responsible" msgid "Require Responsible Owner" msgstr "责任人" -#: common/models.py:1785 common/models.py:1827 common/models.py:1849 -#: common/models.py:1885 +#: common/models.py:1790 common/models.py:1838 common/models.py:1860 +#: common/models.py:1896 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/models.py:1790 +#: common/models.py:1795 #, fuzzy #| msgid "Build to allocate parts" msgid "Require Active Part" msgstr "生产以分配部件" -#: common/models.py:1791 +#: common/models.py:1796 #, fuzzy #| msgid "Print build order report" msgid "Prevent build order creation for inactive parts" msgstr "打印构建订单报告" -#: common/models.py:1796 +#: common/models.py:1801 +#, fuzzy +#| msgid "Build to allocate parts" +msgid "Require Locked Part" +msgstr "生产以分配部件" + +#: common/models.py:1802 +#, fuzzy +#| msgid "Print build order report" +msgid "Prevent build order creation for unlocked parts" +msgstr "打印构建订单报告" + +#: common/models.py:1807 msgid "Require Valid BOM" msgstr "" -#: common/models.py:1798 +#: common/models.py:1809 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/models.py:1804 +#: common/models.py:1815 msgid "Block Until Tests Pass" msgstr "" -#: common/models.py:1806 +#: common/models.py:1817 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/models.py:1812 +#: common/models.py:1823 #, fuzzy #| msgid "Sales Orders" msgid "Enable Return Orders" msgstr "销售订单" -#: common/models.py:1813 +#: common/models.py:1824 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1818 +#: common/models.py:1829 #, fuzzy #| msgid "Build Order Reference" msgid "Return Order Reference Pattern" msgstr "相关生产订单" -#: common/models.py:1820 +#: common/models.py:1831 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1832 +#: common/models.py:1843 #, fuzzy #| msgid "Complete Build Order" msgid "Edit Completed Return Orders" msgstr "生产订单完成" -#: common/models.py:1834 +#: common/models.py:1845 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1840 +#: common/models.py:1851 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1842 +#: common/models.py:1853 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1854 +#: common/models.py:1865 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1855 +#: common/models.py:1866 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1860 +#: common/models.py:1871 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1862 +#: common/models.py:1873 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1868 +#: common/models.py:1879 #, fuzzy #| msgid "Build Order is incomplete" msgid "Mark Shipped Orders as Complete" msgstr "生产订单未完成" -#: common/models.py:1870 +#: common/models.py:1881 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/models.py:1876 +#: common/models.py:1887 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1878 +#: common/models.py:1889 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1890 +#: common/models.py:1901 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1892 +#: common/models.py:1903 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1898 +#: common/models.py:1909 #, fuzzy #| msgid "Create Purchase Order" msgid "Auto Complete Purchase Orders" msgstr "创建采购订单" -#: common/models.py:1900 +#: common/models.py:1911 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/models.py:1907 +#: common/models.py:1918 msgid "Enable password forgot" msgstr "" -#: common/models.py:1908 +#: common/models.py:1919 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1913 +#: common/models.py:1924 msgid "Enable registration" msgstr "" -#: common/models.py:1914 +#: common/models.py:1925 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1919 +#: common/models.py:1930 msgid "Enable SSO" msgstr "" -#: common/models.py:1920 +#: common/models.py:1931 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1925 +#: common/models.py:1936 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1927 +#: common/models.py:1938 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1933 +#: common/models.py:1944 msgid "Enable SSO group sync" msgstr "" -#: common/models.py:1935 +#: common/models.py:1946 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/models.py:1941 +#: common/models.py:1952 msgid "SSO group key" msgstr "" -#: common/models.py:1943 +#: common/models.py:1954 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/models.py:1949 +#: common/models.py:1960 msgid "SSO group map" msgstr "" -#: common/models.py:1951 +#: common/models.py:1962 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/models.py:1957 +#: common/models.py:1968 msgid "Remove groups outside of SSO" msgstr "" -#: common/models.py:1959 +#: common/models.py:1970 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/models.py:1965 +#: common/models.py:1976 msgid "Email required" msgstr "" -#: common/models.py:1966 +#: common/models.py:1977 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1971 +#: common/models.py:1982 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1973 +#: common/models.py:1984 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1979 +#: common/models.py:1990 msgid "Mail twice" msgstr "" -#: common/models.py:1980 +#: common/models.py:1991 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1985 +#: common/models.py:1996 msgid "Password twice" msgstr "" -#: common/models.py:1986 +#: common/models.py:1997 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1991 +#: common/models.py:2002 msgid "Allowed domains" msgstr "" -#: common/models.py:1993 +#: common/models.py:2004 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1999 +#: common/models.py:2010 msgid "Group on signup" msgstr "" -#: common/models.py:2001 +#: common/models.py:2012 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/models.py:2007 +#: common/models.py:2018 msgid "Enforce MFA" msgstr "" -#: common/models.py:2008 +#: common/models.py:2019 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:2013 +#: common/models.py:2024 msgid "Check plugins on startup" msgstr "" -#: common/models.py:2015 +#: common/models.py:2026 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:2023 +#: common/models.py:2034 msgid "Check for plugin updates" msgstr "" -#: common/models.py:2024 +#: common/models.py:2035 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/models.py:2030 +#: common/models.py:2041 msgid "Enable URL integration" msgstr "" -#: common/models.py:2031 +#: common/models.py:2042 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:2037 +#: common/models.py:2048 msgid "Enable navigation integration" msgstr "" -#: common/models.py:2038 +#: common/models.py:2049 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:2044 +#: common/models.py:2055 msgid "Enable app integration" msgstr "" -#: common/models.py:2045 +#: common/models.py:2056 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:2051 +#: common/models.py:2062 msgid "Enable schedule integration" msgstr "" -#: common/models.py:2052 +#: common/models.py:2063 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:2058 +#: common/models.py:2069 msgid "Enable event integration" msgstr "" -#: common/models.py:2059 +#: common/models.py:2070 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:2065 +#: common/models.py:2076 #, fuzzy #| msgid "Sales Orders" msgid "Enable project codes" msgstr "销售订单" -#: common/models.py:2066 +#: common/models.py:2077 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:2071 +#: common/models.py:2082 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:2073 +#: common/models.py:2084 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:2079 +#: common/models.py:2090 #, fuzzy #| msgid "Exclude Location" msgid "Exclude External Locations" msgstr "排除地点" -#: common/models.py:2081 +#: common/models.py:2092 #, fuzzy #| msgid "Exclude stock items from this selected location" msgid "Exclude stock items in external locations from stocktake calculations" msgstr "从该选定的仓储地点排除库存项" -#: common/models.py:2087 +#: common/models.py:2098 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:2089 +#: common/models.py:2100 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:2095 +#: common/models.py:2106 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:2097 +#: common/models.py:2108 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:2104 +#: common/models.py:2115 msgid "Display Users full names" msgstr "" -#: common/models.py:2105 +#: common/models.py:2116 msgid "Display Users full names instead of usernames" msgstr "" -#: common/models.py:2110 +#: common/models.py:2121 msgid "Enable Test Station Data" msgstr "" -#: common/models.py:2111 +#: common/models.py:2122 #, fuzzy #| msgid "Enable generation of test reports" msgid "Enable test station data collection for test results" msgstr "启用生成测试报表" -#: common/models.py:2123 common/models.py:2533 +#: common/models.py:2134 common/models.py:2514 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2166 +#: common/models.py:2177 #, fuzzy #| msgid "Build to allocate parts" msgid "Hide inactive parts" msgstr "生产以分配部件" -#: common/models.py:2168 +#: common/models.py:2179 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:2174 +#: common/models.py:2185 msgid "Show subscribed parts" msgstr "" -#: common/models.py:2175 +#: common/models.py:2186 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:2180 +#: common/models.py:2191 msgid "Show subscribed categories" msgstr "" -#: common/models.py:2181 +#: common/models.py:2192 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:2186 +#: common/models.py:2197 msgid "Show latest parts" msgstr "显示最近商品" -#: common/models.py:2187 +#: common/models.py:2198 msgid "Show latest parts on the homepage" msgstr "在主页上显示最近商品" -#: common/models.py:2192 +#: common/models.py:2203 msgid "Show invalid BOMs" msgstr "" -#: common/models.py:2193 +#: common/models.py:2204 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:2198 +#: common/models.py:2209 msgid "Show recent stock changes" msgstr "" -#: common/models.py:2199 +#: common/models.py:2210 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:2204 +#: common/models.py:2215 msgid "Show low stock" msgstr "" -#: common/models.py:2205 +#: common/models.py:2216 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:2210 +#: common/models.py:2221 msgid "Show depleted stock" msgstr "" -#: common/models.py:2211 +#: common/models.py:2222 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:2216 +#: common/models.py:2227 msgid "Show needed stock" msgstr "" -#: common/models.py:2217 +#: common/models.py:2228 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:2222 +#: common/models.py:2233 msgid "Show expired stock" msgstr "" -#: common/models.py:2223 +#: common/models.py:2234 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:2228 +#: common/models.py:2239 msgid "Show stale stock" msgstr "" -#: common/models.py:2229 +#: common/models.py:2240 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:2234 +#: common/models.py:2245 msgid "Show pending builds" msgstr "" -#: common/models.py:2235 +#: common/models.py:2246 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:2240 +#: common/models.py:2251 msgid "Show overdue builds" msgstr "显示逾期生产" -#: common/models.py:2241 +#: common/models.py:2252 msgid "Show overdue builds on the homepage" msgstr "在主页上显示逾期的生产" -#: common/models.py:2246 +#: common/models.py:2257 msgid "Show outstanding POs" msgstr "" -#: common/models.py:2247 +#: common/models.py:2258 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:2252 +#: common/models.py:2263 msgid "Show overdue POs" msgstr "" -#: common/models.py:2253 +#: common/models.py:2264 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:2258 +#: common/models.py:2269 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:2259 +#: common/models.py:2270 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:2264 +#: common/models.py:2275 msgid "Show overdue SOs" msgstr "" -#: common/models.py:2265 +#: common/models.py:2276 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:2270 +#: common/models.py:2281 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:2271 +#: common/models.py:2282 #, fuzzy #| msgid "Show latest parts on the homepage" msgid "Show pending SO shipments on the homepage" msgstr "在主页上显示最近商品" -#: common/models.py:2276 +#: common/models.py:2287 msgid "Show News" msgstr "" -#: common/models.py:2277 +#: common/models.py:2288 msgid "Show news on the homepage" msgstr "" -#: common/models.py:2282 +#: common/models.py:2293 msgid "Inline label display" msgstr "内嵌标签显示" -#: common/models.py:2284 +#: common/models.py:2295 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "在浏览器中显示 PDF 标签,而不是以文件形式下载" -#: common/models.py:2290 +#: common/models.py:2301 msgid "Default label printer" msgstr "" -#: common/models.py:2292 +#: common/models.py:2303 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:2298 +#: common/models.py:2309 msgid "Inline report display" msgstr "" -#: common/models.py:2300 +#: common/models.py:2311 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "在浏览器中显示 PDF 报告,而不是以文件形式下载" -#: common/models.py:2306 +#: common/models.py:2317 msgid "Search Parts" msgstr "" -#: common/models.py:2307 +#: common/models.py:2318 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:2312 +#: common/models.py:2323 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:2313 +#: common/models.py:2324 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:2318 +#: common/models.py:2329 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:2319 +#: common/models.py:2330 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:2324 +#: common/models.py:2335 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:2325 +#: common/models.py:2336 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:2330 +#: common/models.py:2341 msgid "Search Categories" msgstr "" -#: common/models.py:2331 +#: common/models.py:2342 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:2336 +#: common/models.py:2347 msgid "Search Stock" msgstr "" -#: common/models.py:2337 +#: common/models.py:2348 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:2342 +#: common/models.py:2353 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:2344 +#: common/models.py:2355 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:2350 +#: common/models.py:2361 msgid "Search Locations" msgstr "" -#: common/models.py:2351 +#: common/models.py:2362 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:2356 +#: common/models.py:2367 msgid "Search Companies" msgstr "" -#: common/models.py:2357 +#: common/models.py:2368 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:2362 +#: common/models.py:2373 msgid "Search Build Orders" msgstr "" -#: common/models.py:2363 +#: common/models.py:2374 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:2368 +#: common/models.py:2379 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:2369 +#: common/models.py:2380 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:2374 +#: common/models.py:2385 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:2376 +#: common/models.py:2387 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2382 +#: common/models.py:2393 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2383 +#: common/models.py:2394 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2388 +#: common/models.py:2399 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2390 +#: common/models.py:2401 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2396 +#: common/models.py:2407 #, fuzzy #| msgid "Purchase Orders" msgid "Search Return Orders" msgstr "采购订单" -#: common/models.py:2397 +#: common/models.py:2408 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2402 +#: common/models.py:2413 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2404 +#: common/models.py:2415 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2410 +#: common/models.py:2421 msgid "Search Preview Results" msgstr "搜索预览结果" -#: common/models.py:2412 +#: common/models.py:2423 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2418 +#: common/models.py:2429 #, fuzzy #| msgid "Search" msgid "Regex Search" msgstr "搜索" -#: common/models.py:2419 +#: common/models.py:2430 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2424 +#: common/models.py:2435 msgid "Whole Word Search" msgstr "" -#: common/models.py:2425 +#: common/models.py:2436 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2430 +#: common/models.py:2441 msgid "Show Quantity in Forms" msgstr "在表格中显示数量" -#: common/models.py:2431 +#: common/models.py:2442 msgid "Display available part quantity in some forms" msgstr "在某些表格中显示可用的商品数量" -#: common/models.py:2436 +#: common/models.py:2447 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2437 +#: common/models.py:2448 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2442 +#: common/models.py:2453 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2443 +#: common/models.py:2454 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2448 +#: common/models.py:2459 msgid "Date Format" msgstr "" -#: common/models.py:2449 +#: common/models.py:2460 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2462 part/templates/part/detail.html:41 +#: common/models.py:2473 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2463 +#: common/models.py:2474 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2468 part/templates/part/detail.html:62 +#: common/models.py:2479 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2470 +#: common/models.py:2481 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2476 +#: common/models.py:2487 msgid "Table String Length" msgstr "" -#: common/models.py:2478 +#: common/models.py:2489 msgid "Maximum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2484 -#, fuzzy -#| msgid "Select Label Template" -msgid "Default part label template" -msgstr "选择标签模板" - -#: common/models.py:2485 -msgid "The part label template to be automatically selected" -msgstr "" - -#: common/models.py:2490 -#, fuzzy -#| msgid "stock items selected" -msgid "Default stock item template" -msgstr "已选择库存项" - -#: common/models.py:2492 -msgid "The stock item label template to be automatically selected" -msgstr "" - -#: common/models.py:2498 -#, fuzzy -#| msgid "No stock location set" -msgid "Default stock location label template" -msgstr "未设置仓储地点" - -#: common/models.py:2500 -msgid "The stock location label template to be automatically selected" -msgstr "" - -#: common/models.py:2506 -#, fuzzy -#| msgid "No stock location set" -msgid "Default build line label template" -msgstr "未设置仓储地点" - -#: common/models.py:2508 -msgid "The build line label template to be automatically selected" -msgstr "" - -#: common/models.py:2514 +#: common/models.py:2495 msgid "Receive error reports" msgstr "" -#: common/models.py:2515 +#: common/models.py:2496 msgid "Receive notifications for system errors" msgstr "" -#: common/models.py:2520 +#: common/models.py:2501 msgid "Last used printing machines" msgstr "" -#: common/models.py:2521 +#: common/models.py:2502 msgid "Save the last used printing machines for a user" msgstr "" -#: common/models.py:2541 common/models.py:2542 common/models.py:2691 -#: common/models.py:2692 common/models.py:2937 common/models.py:2938 -#: common/models.py:3259 common/models.py:3260 part/models.py:3193 -#: part/models.py:3280 part/models.py:3353 part/models.py:3381 -#: plugin/models.py:274 plugin/models.py:275 +#: common/models.py:2522 common/models.py:2523 common/models.py:2672 +#: common/models.py:2673 common/models.py:2918 common/models.py:2919 +#: common/models.py:3245 common/models.py:3246 importer/models.py:85 +#: part/models.py:3203 part/models.py:3290 part/models.py:3364 +#: part/models.py:3392 plugin/models.py:274 plugin/models.py:275 #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 msgid "User" msgstr "用户" -#: common/models.py:2564 +#: common/models.py:2545 msgid "Price break quantity" msgstr "" -#: common/models.py:2571 company/serializers.py:472 order/admin.py:42 -#: order/models.py:1346 order/models.py:2265 -#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1886 +#: common/models.py:2552 company/serializers.py:502 order/admin.py:42 +#: order/models.py:1346 order/models.py:2292 +#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1889 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:740 msgid "Price" msgstr "价格" -#: common/models.py:2572 +#: common/models.py:2553 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2668 common/models.py:2853 +#: common/models.py:2649 common/models.py:2834 msgid "Endpoint" msgstr "" -#: common/models.py:2669 +#: common/models.py:2650 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2679 +#: common/models.py:2660 msgid "Name for this webhook" msgstr "" -#: common/models.py:2683 +#: common/models.py:2664 msgid "Is this webhook active" msgstr "" -#: common/models.py:2699 users/models.py:159 +#: common/models.py:2680 users/models.py:159 msgid "Token" msgstr "令牌" -#: common/models.py:2700 +#: common/models.py:2681 msgid "Token for access" msgstr "" -#: common/models.py:2708 +#: common/models.py:2689 msgid "Secret" msgstr "" -#: common/models.py:2709 +#: common/models.py:2690 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2817 +#: common/models.py:2798 msgid "Message ID" msgstr "" -#: common/models.py:2818 +#: common/models.py:2799 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2826 +#: common/models.py:2807 msgid "Host" msgstr "" -#: common/models.py:2827 +#: common/models.py:2808 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2835 +#: common/models.py:2816 msgid "Header" msgstr "" -#: common/models.py:2836 +#: common/models.py:2817 msgid "Header of this message" msgstr "" -#: common/models.py:2843 +#: common/models.py:2824 msgid "Body" msgstr "" -#: common/models.py:2844 +#: common/models.py:2825 msgid "Body of this message" msgstr "" -#: common/models.py:2854 +#: common/models.py:2835 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2859 +#: common/models.py:2840 msgid "Worked on" msgstr "" -#: common/models.py:2860 +#: common/models.py:2841 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2986 +#: common/models.py:2967 msgid "Id" msgstr "" -#: common/models.py:2988 templates/js/translated/company.js:965 +#: common/models.py:2969 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2990 common/models.py:3243 company/models.py:149 -#: company/models.py:440 company/models.py:500 company/models.py:799 -#: order/models.py:303 order/models.py:1301 order/models.py:1717 -#: part/admin.py:55 part/models.py:955 +#: common/models.py:2971 common/models.py:3229 company/models.py:149 +#: company/models.py:446 company/models.py:506 company/models.py:806 +#: order/models.py:303 order/models.py:1301 order/models.py:1733 +#: part/admin.py:55 part/models.py:959 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_report.html:164 #: stock/admin.py:229 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/part.js:2459 #: templates/js/translated/purchase_order.js:2040 #: templates/js/translated/purchase_order.js:2204 #: templates/js/translated/return_order.js:779 @@ -3771,28 +3816,28 @@ msgstr "" msgid "Link" msgstr "链接" -#: common/models.py:2992 templates/js/translated/news.js:60 +#: common/models.py:2973 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2994 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2975 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:2996 templates/js/translated/news.js:52 +#: common/models.py:2977 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2999 +#: common/models.py:2980 msgid "Read" msgstr "" -#: common/models.py:2999 +#: common/models.py:2980 msgid "Was this news item read?" msgstr "" -#: common/models.py:3016 company/models.py:159 part/models.py:965 +#: common/models.py:2997 company/models.py:159 part/models.py:969 #: 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.html:35 @@ -3802,114 +3847,120 @@ msgstr "" msgid "Image" msgstr "图片" -#: common/models.py:3016 +#: common/models.py:2997 #, fuzzy #| msgid "Image" msgid "Image file" msgstr "图片" -#: common/models.py:3028 common/models.py:3227 +#: common/models.py:3009 common/models.py:3213 #, fuzzy #| msgid "Part Parameter Templates" msgid "Target model type for this image" msgstr "商品参数模板" -#: common/models.py:3032 +#: common/models.py:3013 #, fuzzy #| msgid "Part Parameter Templates" msgid "Target model ID for this image" msgstr "商品参数模板" -#: common/models.py:3070 +#: common/models.py:3035 +#, fuzzy +#| msgid "New Customer" +msgid "Custom Unit" +msgstr "新建客户" + +#: common/models.py:3056 #, fuzzy #| msgid "Key string must be unique" msgid "Unit symbol must be unique" msgstr "关键字必须是唯一的" -#: common/models.py:3085 +#: common/models.py:3071 #, fuzzy #| msgid "Must be a valid number" msgid "Unit name must be a valid identifier" msgstr "必须是有效数字" -#: common/models.py:3104 +#: common/models.py:3090 #, fuzzy #| msgid "Part name" msgid "Unit name" msgstr "商品名称" -#: common/models.py:3111 templates/InvenTree/settings/settings_staff_js.html:75 +#: common/models.py:3097 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" msgstr "" -#: common/models.py:3112 +#: common/models.py:3098 #, fuzzy #| msgid "Optional Items" msgid "Optional unit symbol" msgstr "可选项目" -#: common/models.py:3118 templates/InvenTree/settings/settings_staff_js.html:71 +#: common/models.py:3104 templates/InvenTree/settings/settings_staff_js.html:71 #, fuzzy #| msgid "Destination" msgid "Definition" msgstr "目的地" -#: common/models.py:3119 +#: common/models.py:3105 msgid "Unit definition" msgstr "" -#: common/models.py:3177 common/models.py:3234 stock/models.py:2461 +#: common/models.py:3163 common/models.py:3220 stock/models.py:2471 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" msgstr "附件" -#: common/models.py:3189 +#: common/models.py:3175 msgid "Missing file" msgstr "缺少文件" -#: common/models.py:3190 +#: common/models.py:3176 msgid "Missing external link" msgstr "缺少外部链接" -#: common/models.py:3235 +#: common/models.py:3221 msgid "Select file to attach" msgstr "选择附件" -#: common/models.py:3250 templates/js/translated/attachment.js:120 +#: common/models.py:3236 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" msgstr "注释" -#: common/models.py:3251 +#: common/models.py:3237 #, fuzzy #| msgid "Attachments" msgid "Attachment comment" msgstr "附件" -#: common/models.py:3267 +#: common/models.py:3253 #, fuzzy #| msgid "upload date" msgid "Upload date" msgstr "上传日期" -#: common/models.py:3268 +#: common/models.py:3254 #, fuzzy #| msgid "Select file to upload" msgid "Date the file was uploaded" msgstr "选择要上传的文件" -#: common/models.py:3272 +#: common/models.py:3258 #, fuzzy #| msgid "File Fields" msgid "File size" msgstr "文件字段" -#: common/models.py:3272 +#: common/models.py:3258 msgid "File size in bytes" msgstr "" -#: common/models.py:3310 common/serializers.py:553 +#: common/models.py:3296 common/serializers.py:557 msgid "Invalid model type specified for attachment" msgstr "" @@ -3931,7 +3982,7 @@ msgstr "" msgid "A order that is assigned to you was canceled" msgstr "" -#: common/notifications.py:330 common/notifications.py:337 order/api.py:472 +#: common/notifications.py:330 common/notifications.py:337 order/api.py:454 msgid "Items Received" msgstr "" @@ -3949,89 +4000,89 @@ msgstr "收到定购单" msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:371 +#: common/serializers.py:375 msgid "Is Running" msgstr "" -#: common/serializers.py:377 +#: common/serializers.py:381 #, fuzzy #| msgid "Pending" msgid "Pending Tasks" msgstr "待定" -#: common/serializers.py:383 +#: common/serializers.py:387 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:389 +#: common/serializers.py:393 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:404 +#: common/serializers.py:408 msgid "Task ID" msgstr "" -#: common/serializers.py:404 +#: common/serializers.py:408 msgid "Unique task ID" msgstr "" -#: common/serializers.py:406 +#: common/serializers.py:410 msgid "Lock" msgstr "" -#: common/serializers.py:406 +#: common/serializers.py:410 #, fuzzy #| msgid "Stock Item" msgid "Lock time" msgstr "库存项" -#: common/serializers.py:408 +#: common/serializers.py:412 #, fuzzy #| msgid "Part name" msgid "Task name" msgstr "商品名称" -#: common/serializers.py:410 +#: common/serializers.py:414 #, fuzzy #| msgid "Production" msgid "Function" msgstr "生产中" -#: common/serializers.py:410 +#: common/serializers.py:414 #, fuzzy #| msgid "Part name" msgid "Function name" msgstr "商品名称" -#: common/serializers.py:412 +#: common/serializers.py:416 #, fuzzy #| msgid "Attachments" msgid "Arguments" msgstr "附件" -#: common/serializers.py:412 +#: common/serializers.py:416 msgid "Task arguments" msgstr "" -#: common/serializers.py:415 +#: common/serializers.py:419 #, fuzzy #| msgid "Keywords" msgid "Keyword Arguments" msgstr "关键词" -#: common/serializers.py:415 +#: common/serializers.py:419 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:525 +#: common/serializers.py:529 msgid "Filename" msgstr "文件名" -#: common/serializers.py:532 report/api.py:100 report/serializers.py:53 +#: common/serializers.py:536 report/api.py:100 report/serializers.py:53 msgid "Model Type" msgstr "" -#: common/serializers.py:559 +#: common/serializers.py:563 msgid "User does not have permission to create or edit attachments for this model" msgstr "" @@ -4102,39 +4153,39 @@ msgstr "已导入商品" msgid "Previous Step" msgstr "" -#: company/api.py:144 +#: company/api.py:141 #, fuzzy #| msgid "Print actions" msgid "Part is Active" msgstr "打印操作" -#: company/api.py:148 +#: company/api.py:145 #, fuzzy #| msgid "Manufacturers" msgid "Manufacturer is Active" msgstr "制造商" -#: company/api.py:281 +#: company/api.py:278 #, fuzzy #| msgid "Supplier Part Pricing" msgid "Supplier Part is Active" msgstr "供应商商品价格" -#: company/api.py:285 +#: company/api.py:282 #, fuzzy #| msgid "Internal Prices" msgid "Internal Part is Active" msgstr "内部价格" -#: company/api.py:289 +#: company/api.py:286 #, fuzzy #| msgid "Supplier List" msgid "Supplier is Active" msgstr "供应商列表" -#: company/models.py:100 company/models.py:365 +#: company/models.py:100 company/models.py:371 #: company/templates/company/company_base.html:8 -#: company/templates/company/company_base.html:12 stock/api.py:822 +#: company/templates/company/company_base.html:12 stock/api.py:814 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" msgstr "公司" @@ -4174,8 +4225,9 @@ msgstr "联系电话" msgid "Contact email address" msgstr "联系人电子邮件" -#: company/models.py:142 company/templates/company/company_base.html:145 -#: order/models.py:343 order/templates/order/order_base.html:203 +#: company/models.py:142 company/models.py:275 +#: company/templates/company/company_base.html:145 order/models.py:343 +#: order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:174 #: order/templates/order/sales_order_base.html:218 msgid "Contact" @@ -4196,7 +4248,9 @@ msgid "Is this company active?" msgstr "该公司制造商品吗?" #: company/models.py:168 -msgid "is customer" +#, fuzzy +#| msgid "is customer" +msgid "Is customer" msgstr "是客户" #: company/models.py:169 @@ -4204,7 +4258,9 @@ msgid "Do you sell items to this company?" msgstr "您是否向该公司出售商品?" #: company/models.py:174 -msgid "is supplier" +#, fuzzy +#| msgid "is supplier" +msgid "Is supplier" msgstr "是供应商" #: company/models.py:175 @@ -4212,7 +4268,9 @@ msgid "Do you purchase items from this company?" msgstr "您是否从该公司采购商品?" #: company/models.py:180 -msgid "is manufacturer" +#, fuzzy +#| msgid "is manufacturer" +msgid "Is manufacturer" msgstr "是制造商" #: company/models.py:181 @@ -4223,196 +4281,211 @@ msgstr "该公司制造商品吗?" msgid "Default currency used for this company" msgstr "该公司使用的默认货币" -#: company/models.py:366 +#: company/models.py:314 company/templates/company/company_base.html:124 +#: order/models.py:353 order/templates/order/order_base.html:210 +#: order/templates/order/return_order_base.html:181 +#: order/templates/order/sales_order_base.html:225 +msgid "Address" +msgstr "地址" + +#: company/models.py:315 company/templates/company/sidebar.html:35 +#, fuzzy +#| msgid "Address" +msgid "Addresses" +msgstr "地址" + +#: company/models.py:372 #, fuzzy #| msgid "Delete Company" msgid "Select company" msgstr "删除该公司" -#: company/models.py:371 +#: company/models.py:377 #, fuzzy #| msgid "Address" msgid "Address title" msgstr "地址" -#: company/models.py:372 +#: company/models.py:378 msgid "Title describing the address entry" msgstr "" -#: company/models.py:378 +#: company/models.py:384 #, fuzzy #| msgid "Company address" msgid "Primary address" msgstr "公司地址" -#: company/models.py:379 +#: company/models.py:385 #, fuzzy #| msgid "Contact email address" msgid "Set as primary address" msgstr "联系人电子邮件" -#: company/models.py:384 templates/js/translated/company.js:914 +#: company/models.py:390 templates/js/translated/company.js:914 #: templates/js/translated/company.js:971 msgid "Line 1" msgstr "" -#: company/models.py:385 +#: company/models.py:391 #, fuzzy #| msgid "Address" msgid "Address line 1" msgstr "地址" -#: company/models.py:391 templates/js/translated/company.js:915 +#: company/models.py:397 templates/js/translated/company.js:915 #: templates/js/translated/company.js:977 msgid "Line 2" msgstr "" -#: company/models.py:392 +#: company/models.py:398 #, fuzzy #| msgid "Address" msgid "Address line 2" msgstr "地址" -#: company/models.py:398 company/models.py:399 +#: company/models.py:404 company/models.py:405 #: templates/js/translated/company.js:983 msgid "Postal code" msgstr "" -#: company/models.py:405 +#: company/models.py:411 msgid "City/Region" msgstr "" -#: company/models.py:406 +#: company/models.py:412 msgid "Postal code city/region" msgstr "" -#: company/models.py:412 +#: company/models.py:418 msgid "State/Province" msgstr "" -#: company/models.py:413 +#: company/models.py:419 msgid "State or province" msgstr "" -#: company/models.py:419 templates/js/translated/company.js:1001 +#: company/models.py:425 templates/js/translated/company.js:1001 msgid "Country" msgstr "" -#: company/models.py:420 +#: company/models.py:426 #, fuzzy #| msgid "Address" msgid "Address country" msgstr "地址" -#: company/models.py:426 +#: company/models.py:432 msgid "Courier shipping notes" msgstr "" -#: company/models.py:427 +#: company/models.py:433 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:433 +#: company/models.py:439 #, fuzzy #| msgid "Internal company name" msgid "Internal shipping notes" msgstr "内部公司名称" -#: company/models.py:434 +#: company/models.py:440 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:441 +#: company/models.py:447 #, fuzzy #| msgid "Description (optional)" msgid "Link to address information (external)" msgstr "描述 (可选)" -#: company/models.py:463 company/models.py:574 company/models.py:792 +#: company/models.py:469 company/models.py:581 company/models.py:799 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:217 msgid "Manufacturer Part" msgstr "制造商商品" -#: company/models.py:475 company/models.py:760 stock/models.py:767 -#: stock/serializers.py:422 stock/templates/stock/item_base.html:142 +#: company/models.py:481 company/models.py:767 stock/models.py:767 +#: stock/serializers.py:442 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" -#: company/models.py:477 company/models.py:762 +#: company/models.py:483 company/models.py:769 msgid "Select part" msgstr "选择商品" -#: company/models.py:486 company/templates/company/company_base.html:82 +#: company/models.py:492 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:145 part/serializers.py:525 +#: company/templates/company/supplier_part.html:145 part/serializers.py:543 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 #: templates/js/translated/company.js:1296 #: templates/js/translated/company.js:1611 -#: templates/js/translated/table_filters.js:800 +#: templates/js/translated/table_filters.js:805 msgid "Manufacturer" msgstr "制造商" -#: company/models.py:487 +#: company/models.py:493 msgid "Select manufacturer" msgstr "选择制造商" -#: company/models.py:493 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:153 part/serializers.py:535 -#: templates/js/translated/company.js:351 +#: company/models.py:499 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:153 order/serializers.py:518 +#: part/serializers.py:553 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:1801 +#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1804 #: templates/js/translated/purchase_order.js:1851 #: templates/js/translated/purchase_order.js:2053 msgid "MPN" msgstr "" -#: company/models.py:494 -msgid "Manufacturer Part Number" -msgstr "制造商商品编号" - -#: company/models.py:501 +#: company/models.py:507 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:510 +#: company/models.py:516 msgid "Manufacturer part description" msgstr "制造商商品描述" -#: company/models.py:581 +#: company/models.py:569 +#, fuzzy +#| msgid "Manufacturer Part Number" +msgid "Manufacturer Part Parameter" +msgstr "制造商商品编号" + +#: company/models.py:588 msgid "Parameter name" msgstr "参数名称" -#: company/models.py:587 report/templates/report/inventree_test_report.html:104 -#: stock/models.py:2453 templates/js/translated/company.js:1166 -#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1493 +#: company/models.py:594 report/templates/report/inventree_test_report.html:104 +#: stock/models.py:2463 templates/js/translated/company.js:1166 +#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1496 #: templates/js/translated/stock.js:1522 msgid "Value" msgstr "数值" -#: company/models.py:588 +#: company/models.py:595 msgid "Parameter value" msgstr "参数值" -#: company/models.py:595 company/templates/company/supplier_part.html:168 -#: part/admin.py:57 part/models.py:1045 part/models.py:3646 +#: company/models.py:602 company/templates/company/supplier_part.html:168 +#: part/admin.py:57 part/models.py:1049 part/models.py:3667 #: part/templates/part/part_base.html:284 -#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1512 -#: templates/js/translated/part.js:1616 templates/js/translated/part.js:2370 +#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1515 +#: templates/js/translated/part.js:1619 templates/js/translated/part.js:2373 msgid "Units" msgstr "单位" -#: company/models.py:596 +#: company/models.py:603 msgid "Parameter units" msgstr "参数单位" -#: company/models.py:648 company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 order/api.py:452 +#: company/models.py:655 company/templates/company/supplier_part.html:7 +#: company/templates/company/supplier_part.html:24 order/api.py:434 #: stock/models.py:778 stock/templates/stock/item_base.html:233 #: templates/js/translated/company.js:1600 #: templates/js/translated/purchase_order.js:752 @@ -4420,95 +4493,95 @@ msgstr "参数单位" msgid "Supplier Part" msgstr "供应商商品" -#: company/models.py:700 +#: company/models.py:707 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:707 +#: company/models.py:714 #, fuzzy #| msgid "Quantity must be greater than zero" msgid "Pack units must be greater than zero" msgstr "数量必须大于0" -#: company/models.py:721 +#: company/models.py:728 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:770 company/templates/company/company_base.html:87 +#: company/models.py:777 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 #: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 -#: part/serializers.py:509 plugin/builtin/suppliers/digikey.py:25 +#: part/serializers.py:527 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 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:511 -#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1769 +#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1772 #: templates/js/translated/pricing.js:498 #: templates/js/translated/purchase_order.js:1689 -#: templates/js/translated/table_filters.js:804 +#: templates/js/translated/table_filters.js:809 msgid "Supplier" msgstr "供应商" -#: company/models.py:771 +#: company/models.py:778 msgid "Select supplier" msgstr "选择供应商" -#: company/models.py:777 part/serializers.py:520 +#: company/models.py:784 part/serializers.py:538 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:783 +#: company/models.py:790 #, fuzzy #| msgid "Delete supplier part" msgid "Is this supplier part active?" msgstr "删除供应商商品" -#: company/models.py:793 +#: company/models.py:800 msgid "Select manufacturer part" msgstr "选择制造商商品" -#: company/models.py:800 +#: company/models.py:807 msgid "URL for external supplier part link" msgstr "外部供货商商品链接URL" -#: company/models.py:809 +#: company/models.py:816 msgid "Supplier part description" msgstr "供应商商品描述" -#: company/models.py:816 company/templates/company/supplier_part.html:187 -#: part/admin.py:412 part/models.py:4093 part/templates/part/upload_bom.html:59 +#: company/models.py:823 company/templates/company/supplier_part.html:187 +#: part/admin.py:412 part/models.py:4178 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: 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:710 +#: stock/serializers.py:768 msgid "Note" msgstr "备注" -#: company/models.py:825 part/models.py:2003 +#: company/models.py:832 part/models.py:2013 msgid "base cost" msgstr "" -#: company/models.py:826 part/models.py:2004 +#: company/models.py:833 part/models.py:2014 msgid "Minimum charge (e.g. stocking fee)" msgstr "最低收费(例如库存费)" -#: company/models.py:833 company/templates/company/supplier_part.html:160 -#: stock/admin.py:228 stock/models.py:798 stock/serializers.py:1475 +#: company/models.py:840 company/templates/company/supplier_part.html:160 +#: stock/admin.py:228 stock/models.py:798 stock/serializers.py:1541 #: stock/templates/stock/item_base.html:240 #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 msgid "Packaging" msgstr "打包" -#: company/models.py:834 +#: company/models.py:841 msgid "Part packaging" msgstr "商品打包" -#: company/models.py:839 templates/js/translated/company.js:1651 -#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 +#: company/models.py:846 templates/js/translated/company.js:1651 +#: templates/js/translated/part.js:1825 templates/js/translated/part.js:1881 #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:841 #: templates/js/translated/purchase_order.js:1103 @@ -4517,35 +4590,47 @@ msgstr "商品打包" msgid "Pack Quantity" msgstr "" -#: company/models.py:841 +#: company/models.py:848 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:860 part/models.py:2010 +#: company/models.py:867 part/models.py:2020 msgid "multiple" msgstr "" -#: company/models.py:861 +#: company/models.py:868 msgid "Order multiple" msgstr "" -#: company/models.py:873 +#: company/models.py:880 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:879 +#: company/models.py:886 msgid "Availability Updated" msgstr "" -#: company/models.py:880 +#: company/models.py:887 msgid "Date of last update of availability data" msgstr "" -#: company/serializers.py:161 +#: company/models.py:1015 +#, fuzzy +#| msgid "Supplier Part Orders" +msgid "Supplier Price Break" +msgstr "供应商商品订单" + +#: company/serializers.py:174 msgid "Default currency used for this supplier" msgstr "该公司使用的默认货币" -#: company/serializers.py:357 part/admin.py:126 +#: company/serializers.py:210 +#, fuzzy +#| msgid "Company name" +msgid "Company Name" +msgstr "公司名称" + +#: company/serializers.py:384 part/admin.py:126 part/serializers.py:855 #: part/templates/part/part_base.html:197 #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:355 @@ -4557,7 +4642,7 @@ msgstr "" #: templates/js/translated/company.js:1287 #: templates/js/translated/company.js:1575 #: templates/js/translated/model_renderers.js:312 -#: templates/js/translated/part.js:815 templates/js/translated/part.js:1219 +#: templates/js/translated/part.js:814 templates/js/translated/part.js:1222 msgid "Inactive" msgstr "" @@ -4618,16 +4703,16 @@ msgid "Delete image" msgstr "" #: company/templates/company/company_base.html:92 order/models.py:938 -#: order/models.py:2032 order/templates/order/return_order_base.html:131 +#: order/models.py:2058 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:148 stock/models.py:820 -#: stock/models.py:821 stock/serializers.py:1225 +#: stock/models.py:821 stock/serializers.py:1291 #: 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:295 #: templates/js/translated/sales_order.js:820 #: templates/js/translated/stock.js:2959 -#: templates/js/translated/table_filters.js:808 +#: templates/js/translated/table_filters.js:813 msgid "Customer" msgstr "客户" @@ -4635,13 +4720,6 @@ msgstr "客户" msgid "Uses default currency" msgstr "使用默认货币" -#: company/templates/company/company_base.html:124 order/models.py:353 -#: order/templates/order/order_base.html:210 -#: order/templates/order/return_order_base.html:181 -#: order/templates/order/sales_order_base.html:225 -msgid "Address" -msgstr "地址" - #: company/templates/company/company_base.html:131 msgid "Phone" msgstr "电话" @@ -4835,7 +4913,8 @@ msgid "Delete manufacturer part" msgstr "删除生产商商品" #: company/templates/company/manufacturer_part.html:65 -#: company/templates/company/supplier_part.html:97 order/api.py:458 +#: company/templates/company/supplier_part.html:97 order/api.py:440 +#: order/serializers.py:526 msgid "Internal Part" msgstr "内部商品" @@ -4845,7 +4924,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:832 +#: part/admin.py:122 part/serializers.py:860 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4866,7 +4945,7 @@ msgid "New Parameter" msgstr "新建参数" #: company/templates/company/manufacturer_part.html:196 -#: templates/js/translated/part.js:1423 +#: templates/js/translated/part.js:1426 msgid "Add Parameter" msgstr "添加参数" @@ -4892,12 +4971,6 @@ msgstr "" msgid "Contacts" msgstr "联系人" -#: company/templates/company/sidebar.html:35 -#, fuzzy -#| msgid "Address" -msgid "Addresses" -msgstr "地址" - #: company/templates/company/supplier_part.html:50 #: templates/js/translated/company.js:1526 msgid "Supplier part actions" @@ -4939,9 +5012,9 @@ msgstr "" msgid "No supplier information available" msgstr "" -#: company/templates/company/supplier_part.html:139 part/bom.py:279 -#: part/bom.py:311 part/serializers.py:519 -#: templates/js/translated/company.js:349 templates/js/translated/part.js:1787 +#: company/templates/company/supplier_part.html:139 order/serializers.py:515 +#: part/bom.py:279 part/bom.py:311 part/serializers.py:537 +#: templates/js/translated/company.js:349 templates/js/translated/part.js:1790 #: templates/js/translated/pricing.js:510 #: templates/js/translated/purchase_order.js:1850 #: templates/js/translated/purchase_order.js:2028 @@ -4990,15 +5063,15 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:831 part/stocktake.py:224 +#: part/serializers.py:859 part/stocktake.py:224 #: part/templates/part/category.html:183 #: part/templates/part/category_sidebar.html:17 stock/admin.py:68 -#: stock/serializers.py:918 stock/serializers.py:1091 +#: stock/serializers.py:976 stock/serializers.py:1154 #: stock/templates/stock/location.html:170 #: 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:1061 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1064 #: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 #: users/models.py:206 msgid "Stock Items" @@ -5021,17 +5094,201 @@ msgstr "新建制造商" msgid "Customers" msgstr "客户信息" -#: company/views.py:44 -msgid "New Customer" -msgstr "新建客户" +#: company/views.py:44 +msgid "New Customer" +msgstr "新建客户" + +#: company/views.py:52 +msgid "New Company" +msgstr "新建公司信息" + +#: generic/states/tests.py:18 order/status_codes.py:13 +msgid "Placed" +msgstr "已添加" + +#: importer/mixins.py:263 +#, fuzzy +#| msgid "Invalid value for overage" +msgid "Invalid export format" +msgstr "无效的备损值" + +#: importer/models.py:56 +msgid "Timestamp" +msgstr "" + +#: importer/models.py:61 +#, fuzzy +#| msgid "Select file to upload" +msgid "Data file to import" +msgstr "选择要上传的文件" + +#: importer/models.py:70 templates/js/translated/tables.js:558 +msgid "Columns" +msgstr "" + +#: importer/models.py:81 +#, fuzzy +#| msgid "Import Part" +msgid "Import status" +msgstr "导入商品" + +#: importer/models.py:91 +#, fuzzy +#| msgid "Build Details" +msgid "Field Defaults" +msgstr "生产详情" + +#: importer/models.py:201 +#, fuzzy +#| msgid "Required build quantity has not been completed" +msgid "Some required fields have not been mapped" +msgstr "所需生产数量尚未完成" + +#: importer/models.py:346 +msgid "Column is already mapped to a database field" +msgstr "" + +#: importer/models.py:351 +msgid "Field is already mapped to a data column" +msgstr "" + +#: importer/models.py:360 +msgid "Column mapping must be linked to a valid import session" +msgstr "" + +#: importer/models.py:365 +msgid "Column does not exist in the data file" +msgstr "" + +#: importer/models.py:372 +msgid "Field does not exist in the target model" +msgstr "" + +#: importer/models.py:376 +msgid "Selected field is read-only" +msgstr "" + +#: importer/models.py:381 importer/models.py:452 +#, fuzzy +#| msgid "Report Settings" +msgid "Import Session" +msgstr "报表设置" + +#: importer/models.py:385 +#, fuzzy +#| msgid "File Fields" +msgid "Field" +msgstr "文件字段" + +#: importer/models.py:387 +msgid "Column" +msgstr "" + +#: importer/models.py:456 +msgid "Row Index" +msgstr "" + +#: importer/models.py:459 +msgid "Original row data" +msgstr "" + +#: importer/models.py:462 part/models.py:3841 +msgid "Data" +msgstr "" + +#: importer/models.py:464 machine/models.py:110 +msgid "Errors" +msgstr "" + +#: importer/models.py:466 part/api.py:874 +msgid "Valid" +msgstr "" + +#: importer/operations.py:28 importer/operations.py:49 +#, fuzzy +#| msgid "Unsupported file format: {ext.upper()}" +msgid "Unsupported data file format" +msgstr "不支持的文件格式: {ext.uper()}" + +#: importer/operations.py:40 +msgid "Failed to open data file" +msgstr "" + +#: importer/operations.py:51 +#, fuzzy +#| msgid "Inline label display" +msgid "Invalid data file dimensions" +msgstr "内嵌标签显示" + +#: importer/serializers.py:135 +msgid "Rows" +msgstr "" + +#: importer/serializers.py:136 +msgid "List of row IDs to accept" +msgstr "" + +#: importer/serializers.py:149 +#, fuzzy +#| msgid "No data rows provided" +msgid "No rows provided" +msgstr "没有提供数据行" + +#: importer/serializers.py:153 +msgid "Row does not belong to this session" +msgstr "" + +#: importer/serializers.py:156 +msgid "Row contains invalid data" +msgstr "" + +#: importer/serializers.py:159 +#, fuzzy +#| msgid "This build output has already been completed" +msgid "Row has already been completed" +msgstr "此生产产出已经完成" + +#: importer/status_codes.py:11 +msgid "Initializing" +msgstr "" + +#: importer/status_codes.py:12 +msgid "Mapping Columns" +msgstr "" + +#: importer/status_codes.py:13 +#, fuzzy +#| msgid "Import Part" +msgid "Importing Data" +msgstr "导入商品" + +#: importer/status_codes.py:16 +msgid "Processing Data" +msgstr "" + +#: importer/validators.py:21 +#, fuzzy +#| msgid "Image download exceeded maximum size" +msgid "Data file exceeds maximum size limit" +msgstr "图像下载超过最大尺寸" + +#: importer/validators.py:26 +msgid "Data file contains no headers" +msgstr "" -#: company/views.py:52 -msgid "New Company" -msgstr "新建公司信息" +#: importer/validators.py:29 +msgid "Data file contains too many columns" +msgstr "" -#: generic/states/tests.py:18 order/status_codes.py:13 -msgid "Placed" -msgstr "已添加" +#: importer/validators.py:32 +msgid "Data file contains too many rows" +msgstr "" + +#: importer/validators.py:49 +#, fuzzy +#| msgid "Must be a valid number" +msgid "Value must be a valid dictionary object" +msgstr "必须是有效数字" #: machine/machine_types/label_printer.py:212 msgid "Copies" @@ -5049,7 +5306,7 @@ msgstr "要生产的项目数量" msgid "Connected" msgstr "连接错误" -#: machine/machine_types/label_printer.py:229 order/api.py:1467 +#: machine/machine_types/label_printer.py:229 order/api.py:1388 #: templates/js/translated/sales_order.js:1078 msgid "Unknown" msgstr "" @@ -5130,10 +5387,6 @@ msgstr "" msgid "Initialized" msgstr "" -#: machine/models.py:110 -msgid "Errors" -msgstr "" - #: machine/models.py:117 #, fuzzy #| msgid "Build status" @@ -5161,48 +5414,48 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:157 order/serializers.py:90 +#: order/api.py:149 order/serializers.py:94 #: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:113 #: order/templates/order/sales_order_base.html:122 msgid "Order Status" msgstr "" -#: order/api.py:161 templates/js/translated/table_filters.js:194 -#: templates/js/translated/table_filters.js:779 +#: order/api.py:153 templates/js/translated/table_filters.js:194 +#: templates/js/translated/table_filters.js:784 msgid "Has Pricing" msgstr "" -#: order/api.py:236 +#: order/api.py:228 msgid "No matching purchase order found" msgstr "" -#: order/api.py:435 order/api.py:801 order/models.py:1395 order/models.py:1504 -#: order/models.py:1550 order/models.py:1664 order/models.py:1818 -#: order/models.py:2231 order/models.py:2282 +#: order/api.py:417 order/api.py:755 order/models.py:1400 order/models.py:1514 +#: order/models.py:1565 order/models.py:1680 order/models.py:1839 +#: order/models.py:2258 order/models.py:2314 #: templates/js/translated/sales_order.js:1524 msgid "Order" msgstr "" -#: order/api.py:439 order/api.py:822 +#: order/api.py:421 order/api.py:776 #, fuzzy #| msgid "Order Code" msgid "Order Complete" msgstr "订单编码" -#: order/api.py:462 +#: order/api.py:444 #, fuzzy #| msgid "Pending" msgid "Order Pending" msgstr "待定" -#: order/api.py:1461 order/models.py:380 order/models.py:1396 -#: order/models.py:1505 order/templates/order/order_base.html:9 +#: order/api.py:1382 order/models.py:380 order/models.py:1401 +#: order/models.py:1515 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_purchase_order_report.html:14 -#: stock/serializers.py:118 stock/templates/stock/item_base.html:176 +#: stock/serializers.py:120 stock/templates/stock/item_base.html:176 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/part.js:1746 templates/js/translated/pricing.js:804 +#: templates/js/translated/part.js:1749 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:1673 @@ -5210,8 +5463,8 @@ msgstr "待定" msgid "Purchase Order" msgstr "" -#: order/api.py:1465 order/models.py:1981 order/models.py:2232 -#: order/models.py:2283 order/templates/order/return_order_base.html:9 +#: order/api.py:1386 order/models.py:2007 order/models.py:2259 +#: order/models.py:2315 order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report.html:13 #: templates/js/translated/return_order.js:280 @@ -5227,13 +5480,13 @@ msgstr "已退回" msgid "Total price for this order" msgstr "负责此订单的用户或群组" -#: order/models.py:96 order/serializers.py:70 +#: order/models.py:96 order/serializers.py:72 #, fuzzy #| msgid "Currency" msgid "Order Currency" msgstr "货币" -#: order/models.py:99 order/serializers.py:71 +#: order/models.py:99 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" msgstr "" @@ -5255,7 +5508,7 @@ msgstr "描述 (可选)" msgid "Select project code for this order" msgstr "负责此订单的用户或群组" -#: order/models.py:303 order/models.py:1301 order/models.py:1717 +#: order/models.py:303 order/models.py:1301 order/models.py:1733 msgid "Link to external page" msgstr "" @@ -5308,15 +5561,15 @@ msgstr "" msgid "received by" msgstr "" -#: order/models.py:514 order/models.py:2058 +#: order/models.py:514 order/models.py:2084 msgid "Issue Date" msgstr "" -#: order/models.py:515 order/models.py:2059 +#: order/models.py:515 order/models.py:2085 msgid "Date order was issued" msgstr "" -#: order/models.py:522 order/models.py:2066 +#: order/models.py:522 order/models.py:2092 msgid "Date order was completed" msgstr "" @@ -5332,15 +5585,15 @@ msgstr "数量必须大于0" msgid "Company to which the items are being sold" msgstr "向其出售该商品的公司" -#: order/models.py:962 order/models.py:2051 +#: order/models.py:962 order/models.py:2077 msgid "Customer Reference " msgstr "" -#: order/models.py:963 order/models.py:2052 +#: order/models.py:963 order/models.py:2078 msgid "Customer order reference code" msgstr "" -#: order/models.py:967 order/models.py:1671 +#: order/models.py:967 order/models.py:1687 #: templates/js/translated/sales_order.js:879 #: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" @@ -5410,20 +5663,26 @@ msgstr "" msgid "Unit price" msgstr "" -#: order/models.py:1380 +#: order/models.py:1361 +#, fuzzy +#| msgid "Delete parameters" +msgid "Purchase Order Line Item" +msgstr "删除参数" + +#: order/models.py:1385 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1387 +#: order/models.py:1392 msgid "deleted" msgstr "" -#: order/models.py:1415 +#: order/models.py:1420 msgid "Supplier part" msgstr "供应商商品" -#: order/models.py:1422 order/templates/order/order_base.html:196 -#: templates/js/translated/part.js:1870 templates/js/translated/part.js:1902 +#: order/models.py:1427 order/templates/order/order_base.html:196 +#: templates/js/translated/part.js:1873 templates/js/translated/part.js:1905 #: templates/js/translated/purchase_order.js:1306 #: templates/js/translated/purchase_order.js:2169 #: templates/js/translated/return_order.js:763 @@ -5432,202 +5691,244 @@ msgstr "供应商商品" msgid "Received" msgstr "" -#: order/models.py:1423 +#: order/models.py:1428 msgid "Number of items received" msgstr "" -#: order/models.py:1431 stock/models.py:939 stock/serializers.py:556 +#: order/models.py:1436 stock/models.py:939 stock/serializers.py:602 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2311 msgid "Purchase Price" msgstr "采购价格" -#: order/models.py:1432 +#: order/models.py:1437 msgid "Unit purchase price" msgstr "" -#: order/models.py:1447 +#: order/models.py:1452 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1538 +#: order/models.py:1503 +#, fuzzy +#| msgid "Purchase Order Settings" +msgid "Purchase Order Extra Line" +msgstr "采购订单设置" + +#: order/models.py:1532 +#, fuzzy +#| msgid "Delete parameters" +msgid "Sales Order Line Item" +msgstr "删除参数" + +#: order/models.py:1553 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1543 +#: order/models.py:1558 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1569 part/templates/part/part_pricing.html:107 +#: order/models.py:1584 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:1570 +#: order/models.py:1585 msgid "Unit sale price" msgstr "" -#: order/models.py:1579 order/status_codes.py:43 +#: order/models.py:1594 order/status_codes.py:43 #: templates/js/translated/sales_order.js:1559 #: templates/js/translated/sales_order.js:1680 #: templates/js/translated/sales_order.js:1993 msgid "Shipped" msgstr "已发货" -#: order/models.py:1580 +#: order/models.py:1595 msgid "Shipped quantity" msgstr "" -#: order/models.py:1672 +#: order/models.py:1667 +#, fuzzy +#| msgid "Sales Order Settings" +msgid "Sales Order Shipment" +msgstr "销售订单设置" + +#: order/models.py:1688 msgid "Date of shipment" msgstr "" -#: order/models.py:1678 templates/js/translated/sales_order.js:1072 +#: order/models.py:1694 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" msgstr "" -#: order/models.py:1679 +#: order/models.py:1695 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1687 +#: order/models.py:1703 msgid "Checked By" msgstr "" -#: order/models.py:1688 +#: order/models.py:1704 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1695 order/models.py:1908 order/serializers.py:1342 -#: order/serializers.py:1452 templates/js/translated/model_renderers.js:454 +#: order/models.py:1711 order/models.py:1934 order/serializers.py:1398 +#: order/serializers.py:1508 templates/js/translated/model_renderers.js:454 msgid "Shipment" msgstr "" -#: order/models.py:1696 +#: order/models.py:1712 msgid "Shipment number" msgstr "" -#: order/models.py:1704 +#: order/models.py:1720 msgid "Tracking Number" msgstr "" -#: order/models.py:1705 +#: order/models.py:1721 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1712 +#: order/models.py:1728 msgid "Invoice Number" msgstr "" -#: order/models.py:1713 +#: order/models.py:1729 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1733 +#: order/models.py:1749 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1736 +#: order/models.py:1752 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1854 order/models.py:1856 +#: order/models.py:1828 +#, fuzzy +#| msgid "Sales Order Settings" +msgid "Sales Order Extra Line" +msgstr "销售订单设置" + +#: order/models.py:1857 +#, fuzzy +#| msgid "Sales Order Settings" +msgid "Sales Order Allocation" +msgstr "销售订单设置" + +#: order/models.py:1880 order/models.py:1882 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1863 +#: order/models.py:1889 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1866 +#: order/models.py:1892 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1869 +#: order/models.py:1895 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1888 order/serializers.py:1219 +#: order/models.py:1914 order/serializers.py:1275 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1891 +#: order/models.py:1917 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1892 plugin/base/barcodes/api.py:481 +#: order/models.py:1918 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1900 +#: order/models.py:1926 msgid "Line" msgstr "" -#: order/models.py:1909 +#: order/models.py:1935 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1922 order/models.py:2239 +#: order/models.py:1948 order/models.py:2266 #: templates/js/translated/return_order.js:721 msgid "Item" msgstr "" -#: order/models.py:1923 +#: order/models.py:1949 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1932 +#: order/models.py:1958 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:2021 +#: order/models.py:2047 #, fuzzy #| msgid "Build Order Reference" msgid "Return Order reference" msgstr "相关生产订单" -#: order/models.py:2033 +#: order/models.py:2059 #, fuzzy #| msgid "Company from which the items are being ordered" msgid "Company from which items are being returned" msgstr "订购该商品的公司" -#: order/models.py:2045 +#: order/models.py:2071 msgid "Return order status" msgstr "" -#: order/models.py:2224 +#: order/models.py:2237 +#, fuzzy +#| msgid "Delete parameters" +msgid "Return Order Line Item" +msgstr "删除参数" + +#: order/models.py:2251 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2240 +#: order/models.py:2267 #, fuzzy #| msgid "Returned from customer" msgid "Select item to return from customer" msgstr "从客户退货" -#: order/models.py:2246 +#: order/models.py:2273 msgid "Received Date" msgstr "" -#: order/models.py:2247 +#: order/models.py:2274 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2258 templates/js/translated/return_order.js:732 +#: order/models.py:2285 templates/js/translated/return_order.js:732 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2259 +#: order/models.py:2286 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2266 +#: order/models.py:2293 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:79 order/templates/order/po_sidebar.html:5 +#: order/models.py:2303 +#, fuzzy +#| msgid "Build Order Settings" +msgid "Return Order Extra Line" +msgstr "生产订单设置" + +#: order/serializers.py:83 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_purchase_order_report.html:22 @@ -5636,175 +5937,185 @@ msgstr "" msgid "Line Items" msgstr "" -#: order/serializers.py:83 +#: order/serializers.py:87 #, fuzzy #| msgid "Completed items" msgid "Completed Lines" msgstr "已完成项目" -#: order/serializers.py:286 +#: order/serializers.py:305 msgid "Order cannot be cancelled" msgstr "无法取消订单" -#: order/serializers.py:301 order/serializers.py:1235 +#: order/serializers.py:320 order/serializers.py:1291 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:311 order/serializers.py:1245 +#: order/serializers.py:330 order/serializers.py:1301 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:439 +#: order/serializers.py:468 msgid "Order is not open" msgstr "" -#: order/serializers.py:460 +#: order/serializers.py:489 #, fuzzy #| msgid "Part Pricing" msgid "Auto Pricing" msgstr "商品价格" -#: order/serializers.py:462 +#: order/serializers.py:491 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:472 +#: order/serializers.py:501 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:478 +#: order/serializers.py:507 #, fuzzy #| msgid "Select Stock Items" msgid "Merge Items" msgstr "选择库存项" -#: order/serializers.py:480 +#: order/serializers.py:509 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:498 +#: order/serializers.py:522 part/models.py:945 +msgid "Internal Part Number" +msgstr "内部商品编号" + +#: order/serializers.py:530 +#, fuzzy +#| msgid "Internal Part Number" +msgid "Internal Part Name" +msgstr "内部商品编号" + +#: order/serializers.py:546 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:501 +#: order/serializers.py:549 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:509 +#: order/serializers.py:557 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:510 +#: order/serializers.py:558 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:549 order/serializers.py:1313 +#: order/serializers.py:598 order/serializers.py:1369 msgid "Line Item" msgstr "" -#: order/serializers.py:555 +#: order/serializers.py:604 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:565 order/serializers.py:673 order/serializers.py:1657 +#: order/serializers.py:614 order/serializers.py:722 order/serializers.py:1715 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:581 templates/js/translated/purchase_order.js:1130 +#: order/serializers.py:630 templates/js/translated/purchase_order.js:1130 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:589 templates/js/translated/purchase_order.js:1154 +#: order/serializers.py:638 templates/js/translated/purchase_order.js:1154 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:600 templates/js/translated/barcode.js:52 +#: order/serializers.py:649 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "条形码" -#: order/serializers.py:601 +#: order/serializers.py:650 #, fuzzy #| msgid "Scan Barcode" msgid "Scanned barcode" msgstr "扫描条形码" -#: order/serializers.py:617 +#: order/serializers.py:666 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:641 +#: order/serializers.py:690 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:689 order/serializers.py:1673 +#: order/serializers.py:738 order/serializers.py:1731 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:705 +#: order/serializers.py:754 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:716 +#: order/serializers.py:765 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1062 +#: order/serializers.py:1117 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1122 +#: order/serializers.py:1178 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1183 order/serializers.py:1322 +#: order/serializers.py:1239 order/serializers.py:1378 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1202 +#: order/serializers.py:1258 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1332 +#: order/serializers.py:1388 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1354 order/serializers.py:1460 +#: order/serializers.py:1410 order/serializers.py:1516 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1357 order/serializers.py:1463 +#: order/serializers.py:1413 order/serializers.py:1519 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1404 +#: order/serializers.py:1460 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1411 +#: order/serializers.py:1467 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1627 +#: order/serializers.py:1685 msgid "Return order line item" msgstr "" -#: order/serializers.py:1633 +#: order/serializers.py:1691 #, fuzzy #| msgid "Build output does not match Build Order" msgid "Line item does not match return order" msgstr "生产产出与订单不匹配" -#: order/serializers.py:1636 +#: order/serializers.py:1694 #, fuzzy #| msgid "This build output has already been completed" msgid "Line item has already been received" msgstr "此生产产出已经完成" -#: order/serializers.py:1665 +#: order/serializers.py:1723 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1743 +#: order/serializers.py:1806 #, fuzzy #| msgid "Uses default currency" msgid "Line price currency" @@ -6152,7 +6463,7 @@ msgstr "" #: 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:1073 +#: templates/js/translated/part.js:1076 #: templates/js/translated/purchase_order.js:1752 #: templates/js/translated/return_order.js:380 #: templates/js/translated/sales_order.js:891 @@ -6262,34 +6573,29 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:39 part/admin.py:398 part/models.py:3944 part/stocktake.py:219 +#: part/admin.py:39 part/admin.py:398 part/models.py:3991 part/stocktake.py:219 #: stock/admin.py:152 msgid "Part ID" msgstr "商品ID" -#: part/admin.py:41 part/admin.py:405 part/models.py:3945 part/stocktake.py:220 -#: stock/admin.py:156 -msgid "Part Name" -msgstr "" - #: part/admin.py:45 part/stocktake.py:221 msgid "Part Description" msgstr "" -#: part/admin.py:48 part/models.py:940 part/templates/part/part_base.html:269 +#: part/admin.py:48 part/models.py:944 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 -#: templates/js/translated/part.js:1227 templates/js/translated/part.js:2341 +#: templates/js/translated/part.js:1230 templates/js/translated/part.js:2344 #: templates/js/translated/stock.js:2036 msgid "IPN" msgstr "" -#: part/admin.py:50 part/models.py:949 part/templates/part/part_base.html:277 -#: report/models.py:162 templates/js/translated/part.js:1232 -#: templates/js/translated/part.js:2347 +#: part/admin.py:50 part/models.py:953 part/templates/part/part_base.html:277 +#: report/models.py:162 templates/js/translated/part.js:1235 +#: templates/js/translated/part.js:2350 msgid "Revision" msgstr "" -#: part/admin.py:53 part/admin.py:319 part/models.py:922 +#: part/admin.py:53 part/admin.py:319 part/models.py:926 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" msgstr "关键词" @@ -6304,7 +6610,8 @@ msgstr "商品名称" msgid "Category ID" msgstr "类别 ID" -#: part/admin.py:67 part/admin.py:304 part/stocktake.py:223 +#: part/admin.py:67 part/admin.py:304 part/serializers.py:837 +#: part/stocktake.py:223 msgid "Category Name" msgstr "" @@ -6316,11 +6623,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:81 part/models.py:908 part/templates/part/part_base.html:177 +#: part/admin.py:81 part/models.py:912 part/templates/part/part_base.html:177 msgid "Variant Of" msgstr "" -#: part/admin.py:84 part/models.py:1036 part/templates/part/part_base.html:203 +#: part/admin.py:84 part/models.py:1040 part/templates/part/part_base.html:203 msgid "Minimum Stock" msgstr "最低库存" @@ -6328,18 +6635,19 @@ msgstr "最低库存" msgid "Used In" msgstr "" -#: part/admin.py:150 part/templates/part/part_base.html:241 stock/admin.py:235 -#: templates/js/translated/part.js:715 templates/js/translated/part.js:2153 +#: part/admin.py:150 part/serializers.py:854 +#: part/templates/part/part_base.html:241 stock/admin.py:235 +#: templates/js/translated/part.js:714 templates/js/translated/part.js:2156 msgid "Building" msgstr "" -#: part/admin.py:155 part/models.py:3088 part/models.py:3102 -#: templates/js/translated/part.js:970 +#: part/admin.py:155 part/models.py:3098 part/models.py:3112 +#: templates/js/translated/part.js:973 msgid "Minimum Cost" msgstr "" -#: part/admin.py:158 part/models.py:3095 part/models.py:3109 -#: templates/js/translated/part.js:980 +#: part/admin.py:158 part/models.py:3105 part/models.py:3119 +#: templates/js/translated/part.js:983 msgid "Maximum Cost" msgstr "" @@ -6356,14 +6664,14 @@ msgstr "" msgid "Category Path" msgstr "类别路径" -#: part/admin.py:325 part/models.py:396 part/serializers.py:124 -#: part/serializers.py:267 part/serializers.py:386 +#: part/admin.py:325 part/models.py:397 part/serializers.py:130 +#: part/serializers.py:282 part/serializers.py:404 #: 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:2807 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:203 msgid "Parts" msgstr "商品" @@ -6380,137 +6688,129 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:402 part/models.py:3946 -msgid "Part IPN" -msgstr "" - -#: part/admin.py:415 part/serializers.py:1274 +#: part/admin.py:415 part/serializers.py:1302 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" msgstr "" -#: part/admin.py:420 part/serializers.py:1289 +#: part/admin.py:420 part/serializers.py:1317 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" msgstr "" -#: part/api.py:104 +#: part/api.py:105 msgid "Starred" msgstr "" -#: part/api.py:106 +#: part/api.py:107 msgid "Filter by starred categories" msgstr "" -#: part/api.py:123 stock/api.py:312 +#: part/api.py:124 stock/api.py:312 msgid "Depth" msgstr "" -#: part/api.py:123 +#: part/api.py:124 msgid "Filter by category depth" msgstr "" -#: part/api.py:141 stock/api.py:330 +#: part/api.py:142 stock/api.py:330 #, fuzzy #| msgid "Levels" msgid "Top Level" msgstr "等级" -#: part/api.py:143 +#: part/api.py:144 #, fuzzy #| msgid "Create new part category" msgid "Filter by top-level categories" msgstr "新建商品类别" -#: part/api.py:156 stock/api.py:345 +#: part/api.py:157 stock/api.py:345 msgid "Cascade" msgstr "" -#: part/api.py:158 +#: part/api.py:159 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:179 templates/js/translated/part.js:308 +#: part/api.py:180 templates/js/translated/part.js:307 #, fuzzy #| msgid "parent" msgid "Parent" msgstr "上级项" -#: part/api.py:181 +#: part/api.py:182 #, fuzzy #| msgid "Create new part category" msgid "Filter by parent category" msgstr "新建商品类别" -#: part/api.py:214 +#: part/api.py:215 msgid "Exclude Tree" msgstr "" -#: part/api.py:216 +#: part/api.py:217 #, fuzzy #| msgid "Exclude stock items from this selected location" msgid "Exclude sub-categories under the specified category" msgstr "从该选定的仓储地点排除库存项" -#: part/api.py:449 +#: part/api.py:442 #, fuzzy #| msgid "Units" msgid "Has Results" msgstr "单位" -#: part/api.py:616 +#: part/api.py:609 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:634 +#: part/api.py:627 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:650 +#: part/api.py:643 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:734 +#: part/api.py:727 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:881 -msgid "Valid" -msgstr "" - -#: part/api.py:882 +#: part/api.py:875 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:888 +#: part/api.py:881 msgid "This option must be selected" msgstr "" -#: part/api.py:1105 +#: part/api.py:1098 msgid "BOM Valid" msgstr "" -#: part/api.py:1508 part/models.py:932 part/models.py:3374 part/models.py:3889 -#: part/serializers.py:401 part/serializers.py:1130 -#: part/templates/part/part_base.html:260 stock/api.py:791 +#: part/api.py:1494 part/models.py:936 part/models.py:3385 part/models.py:3936 +#: part/serializers.py:419 part/serializers.py:1158 +#: part/templates/part/part_base.html:260 stock/api.py:783 #: 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:2380 msgid "Category" msgstr "类别" -#: part/api.py:1796 +#: part/api.py:1784 msgid "Uses" msgstr "" -#: part/bom.py:170 part/models.py:104 part/models.py:975 +#: part/bom.py:170 part/models.py:104 part/models.py:979 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" msgstr "默认仓储地点" -#: part/bom.py:171 part/serializers.py:833 +#: part/bom.py:171 part/serializers.py:861 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6519,7 +6819,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:85 part/models.py:3890 part/templates/part/category.html:16 +#: part/models.py:85 part/models.py:3937 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "商品类别" @@ -6534,7 +6834,7 @@ msgstr "商品类别" msgid "Default location for parts in this category" msgstr "此类别商品的默认仓储地点" -#: part/models.py:110 stock/models.py:175 templates/js/translated/part.js:2810 +#: part/models.py:110 stock/models.py:175 templates/js/translated/part.js:2813 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 @@ -6566,1041 +6866,1088 @@ msgstr "" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:485 +#: part/models.py:486 +#, fuzzy +#| msgid "Print actions" +msgid "Cannot delete this part as it is locked" +msgstr "打印操作" + +#: part/models.py:489 #, fuzzy #| msgid "Print actions" msgid "Cannot delete this part as it is still active" msgstr "打印操作" -#: part/models.py:490 +#: part/models.py:494 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:528 +#: part/models.py:532 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:576 part/models.py:583 +#: part/models.py:580 part/models.py:587 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:595 +#: part/models.py:599 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:658 +#: part/models.py:662 #, fuzzy, python-brace-format #| msgid "IPN must match regex pattern {pat}" msgid "IPN must match regex pattern {pattern}" msgstr "IPN 必须匹配正则表达式 {pat}" -#: part/models.py:736 +#: part/models.py:740 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:837 +#: part/models.py:841 msgid "Duplicate IPN not allowed in part settings" msgstr "在商品设置中不允许重复的IPN" -#: part/models.py:847 +#: part/models.py:851 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:862 +#: part/models.py:866 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:891 part/models.py:3945 +#: part/models.py:895 part/models.py:3992 msgid "Part name" msgstr "商品名称" -#: part/models.py:896 +#: part/models.py:900 msgid "Is Template" msgstr "" -#: part/models.py:897 +#: part/models.py:901 msgid "Is this part a template part?" msgstr "" -#: part/models.py:907 +#: part/models.py:911 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:915 +#: part/models.py:919 #, fuzzy #| msgid "Description (optional)" msgid "Part description (optional)" msgstr "描述 (可选)" -#: part/models.py:923 +#: part/models.py:927 msgid "Part keywords to improve visibility in search results" msgstr "提高搜索结果可见性的关键字" -#: part/models.py:933 +#: part/models.py:937 msgid "Part category" msgstr "商品类别" -#: part/models.py:941 -msgid "Internal Part Number" -msgstr "内部商品编号" - -#: part/models.py:948 +#: part/models.py:952 msgid "Part revision or version number" msgstr "商品版本号" -#: part/models.py:973 +#: part/models.py:977 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1019 part/templates/part/part_base.html:376 +#: part/models.py:1023 part/templates/part/part_base.html:376 msgid "Default Supplier" msgstr "" -#: part/models.py:1020 +#: part/models.py:1024 msgid "Default supplier part" msgstr "默认供应商商品" -#: part/models.py:1027 +#: part/models.py:1031 msgid "Default Expiry" msgstr "" -#: part/models.py:1028 +#: part/models.py:1032 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1037 +#: part/models.py:1041 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1046 +#: part/models.py:1050 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1053 +#: part/models.py:1057 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1059 +#: part/models.py:1063 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1065 +#: part/models.py:1069 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1071 +#: part/models.py:1075 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1077 +#: part/models.py:1081 msgid "Can this part be sold to customers?" msgstr "此商品可以销售给客户吗?" -#: part/models.py:1081 +#: part/models.py:1085 msgid "Is this part active?" msgstr "" -#: part/models.py:1087 +#: part/models.py:1090 templates/js/translated/part.js:818 +#: templates/js/translated/table_filters.js:721 +#, fuzzy +#| msgid "Stock Item" +msgid "Locked" +msgstr "库存项" + +#: part/models.py:1091 +#, fuzzy +#| msgid "Order cannot be cancelled" +msgid "Locked parts cannot be edited" +msgstr "无法取消订单" + +#: part/models.py:1097 msgid "Is this a virtual part, such as a software product or license?" msgstr "这是一个虚拟商品,如软件产品或许可证吗?" -#: part/models.py:1093 +#: part/models.py:1103 msgid "BOM checksum" msgstr "" -#: part/models.py:1094 +#: part/models.py:1104 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1102 +#: part/models.py:1112 msgid "BOM checked by" msgstr "" -#: part/models.py:1107 +#: part/models.py:1117 msgid "BOM checked date" msgstr "" -#: part/models.py:1123 +#: part/models.py:1133 msgid "Creation User" msgstr "新建用户" -#: part/models.py:1133 +#: part/models.py:1143 #, fuzzy #| msgid "User or group responsible for this order" msgid "Owner responsible for this part" msgstr "负责此订单的用户或群组" -#: part/models.py:1138 part/templates/part/part_base.html:339 +#: part/models.py:1148 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:2474 msgid "Last Stocktake" msgstr "" -#: part/models.py:2011 +#: part/models.py:2021 msgid "Sell multiple" msgstr "" -#: part/models.py:3002 +#: part/models.py:3012 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3018 +#: part/models.py:3028 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3019 +#: part/models.py:3029 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3025 +#: part/models.py:3035 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3026 +#: part/models.py:3036 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3032 +#: part/models.py:3042 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3033 +#: part/models.py:3043 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3039 +#: part/models.py:3049 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3040 +#: part/models.py:3050 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3046 +#: part/models.py:3056 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3047 +#: part/models.py:3057 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3053 +#: part/models.py:3063 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3054 +#: part/models.py:3064 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3060 +#: part/models.py:3070 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3061 +#: part/models.py:3071 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3067 +#: part/models.py:3077 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3068 +#: part/models.py:3078 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3074 +#: part/models.py:3084 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3075 +#: part/models.py:3085 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3081 +#: part/models.py:3091 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3082 +#: part/models.py:3092 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3089 +#: part/models.py:3099 msgid "Override minimum cost" msgstr "" -#: part/models.py:3096 +#: part/models.py:3106 msgid "Override maximum cost" msgstr "" -#: part/models.py:3103 +#: part/models.py:3113 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3110 +#: part/models.py:3120 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3116 +#: part/models.py:3126 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3117 +#: part/models.py:3127 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3123 +#: part/models.py:3133 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3124 +#: part/models.py:3134 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3130 +#: part/models.py:3140 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3131 +#: part/models.py:3141 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3137 +#: part/models.py:3147 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3138 +#: part/models.py:3148 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3157 +#: part/models.py:3167 msgid "Part for stocktake" msgstr "" -#: part/models.py:3162 +#: part/models.py:3172 msgid "Item Count" msgstr "" -#: part/models.py:3163 +#: part/models.py:3173 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3171 +#: part/models.py:3181 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3175 part/models.py:3258 +#: part/models.py:3185 part/models.py:3268 #: part/templates/part/part_scheduling.html:13 #: 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:1086 templates/js/translated/pricing.js:826 +#: templates/js/translated/part.js:1089 templates/js/translated/pricing.js:826 #: templates/js/translated/pricing.js:950 #: templates/js/translated/purchase_order.js:1731 #: templates/js/translated/stock.js:2821 msgid "Date" msgstr "" -#: part/models.py:3176 +#: part/models.py:3186 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3184 +#: part/models.py:3194 msgid "Additional notes" msgstr "" -#: part/models.py:3194 +#: part/models.py:3204 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3200 +#: part/models.py:3210 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3201 +#: part/models.py:3211 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3207 +#: part/models.py:3217 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3208 +#: part/models.py:3218 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3264 templates/InvenTree/settings/settings_staff_js.html:529 +#: part/models.py:3274 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" msgstr "" -#: part/models.py:3265 +#: part/models.py:3275 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3270 templates/InvenTree/settings/settings_staff_js.html:536 +#: part/models.py:3280 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" msgstr "" -#: part/models.py:3271 +#: part/models.py:3281 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3281 +#: part/models.py:3291 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3423 +#: part/models.py:3301 +#, fuzzy +#| msgid "Sale Price" +msgid "Part Sale Price Break" +msgstr "销售价格" + +#: part/models.py:3413 +#, fuzzy +#| msgid "Parameter Template" +msgid "Part Test Template" +msgstr "参数模板" + +#: part/models.py:3439 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3444 part/models.py:3608 +#: part/models.py:3460 part/models.py:3629 #, fuzzy #| msgid "Key string must be unique" msgid "Choices must be unique" msgstr "关键字必须是唯一的" -#: part/models.py:3455 +#: part/models.py:3471 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3466 +#: part/models.py:3482 #, fuzzy #| msgid "Attachment with this filename already exists" msgid "Test template with the same key already exists for part" msgstr "使用此文件名的附件已存在" -#: part/models.py:3483 templates/js/translated/part.js:2880 +#: part/models.py:3499 templates/js/translated/part.js:2883 msgid "Test Name" msgstr "" -#: part/models.py:3484 +#: part/models.py:3500 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3490 +#: part/models.py:3506 msgid "Test Key" msgstr "" -#: part/models.py:3491 +#: part/models.py:3507 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3498 +#: part/models.py:3514 msgid "Test Description" msgstr "" -#: part/models.py:3499 +#: part/models.py:3515 msgid "Enter description for this test" msgstr "" -#: part/models.py:3503 report/models.py:209 -#: templates/js/translated/part.js:2901 +#: part/models.py:3519 report/models.py:209 +#: templates/js/translated/part.js:2904 #: templates/js/translated/table_filters.js:481 msgid "Enabled" msgstr "已启用" -#: part/models.py:3503 +#: part/models.py:3519 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3508 templates/js/translated/part.js:2909 +#: part/models.py:3524 templates/js/translated/part.js:2912 #: templates/js/translated/table_filters.js:477 msgid "Required" msgstr "" -#: part/models.py:3509 +#: part/models.py:3525 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3514 templates/js/translated/part.js:2917 +#: part/models.py:3530 templates/js/translated/part.js:2920 msgid "Requires Value" msgstr "" -#: part/models.py:3515 +#: part/models.py:3531 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3520 templates/js/translated/part.js:2924 +#: part/models.py:3536 templates/js/translated/part.js:2927 msgid "Requires Attachment" msgstr "" -#: part/models.py:3522 +#: part/models.py:3538 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3528 part/models.py:3667 templates/js/translated/part.js:1637 +#: part/models.py:3544 part/models.py:3688 templates/js/translated/part.js:1640 msgid "Choices" msgstr "" -#: part/models.py:3529 +#: part/models.py:3545 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3583 +#: part/models.py:3577 +#, fuzzy +#| msgid "Part Parameter Templates" +msgid "Part Parameter Template" +msgstr "商品参数模板" + +#: part/models.py:3604 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3588 +#: part/models.py:3609 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3625 +#: part/models.py:3646 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3640 +#: part/models.py:3661 msgid "Parameter Name" msgstr "" -#: part/models.py:3647 +#: part/models.py:3668 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3655 +#: part/models.py:3676 msgid "Parameter description" msgstr "" -#: part/models.py:3661 templates/js/translated/part.js:1628 -#: templates/js/translated/table_filters.js:825 +#: part/models.py:3682 templates/js/translated/part.js:1631 +#: templates/js/translated/table_filters.js:830 msgid "Checkbox" msgstr "" -#: part/models.py:3662 +#: part/models.py:3683 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3668 +#: part/models.py:3689 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3745 +#: part/models.py:3723 +#, fuzzy +#| msgid "Part Parameters" +msgid "Part Parameter" +msgstr "商品参数" + +#: part/models.py:3749 +msgid "Parameter cannot be modified - part is locked" +msgstr "" + +#: part/models.py:3785 #, fuzzy #| msgid "Invalid choice for parent build" msgid "Invalid choice for parameter value" msgstr "上级生产选项无效" -#: part/models.py:3788 +#: part/models.py:3828 msgid "Parent Part" msgstr "" -#: part/models.py:3796 part/models.py:3897 part/models.py:3898 +#: part/models.py:3836 part/models.py:3944 part/models.py:3945 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" msgstr "参数模板" -#: part/models.py:3801 -msgid "Data" -msgstr "" - -#: part/models.py:3802 +#: part/models.py:3842 msgid "Parameter Value" msgstr "" -#: part/models.py:3904 templates/InvenTree/settings/settings_staff_js.html:304 +#: part/models.py:3892 +#, fuzzy +#| msgid "Create Category Parameter Template" +msgid "Part Category Parameter Template" +msgstr "创建类别参数模板" + +#: part/models.py:3951 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" msgstr "默认值" -#: part/models.py:3905 +#: part/models.py:3952 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3943 +#: part/models.py:3990 msgid "Part ID or part name" msgstr "" -#: part/models.py:3944 +#: part/models.py:3991 msgid "Unique part ID value" msgstr "" -#: part/models.py:3946 +#: part/models.py:3993 msgid "Part IPN value" msgstr "" -#: part/models.py:3947 +#: part/models.py:3994 msgid "Level" msgstr "" -#: part/models.py:3947 +#: part/models.py:3994 msgid "BOM level" msgstr "" -#: part/models.py:4037 +#: part/models.py:4105 +msgid "BOM item cannot be modified - assembly is locked" +msgstr "" + +#: part/models.py:4112 +msgid "BOM item cannot be modified - variant assembly is locked" +msgstr "" + +#: part/models.py:4122 msgid "Select parent part" msgstr "" -#: part/models.py:4047 +#: part/models.py:4132 msgid "Sub part" msgstr "" -#: part/models.py:4048 +#: part/models.py:4133 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4059 +#: part/models.py:4144 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4065 +#: part/models.py:4150 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4071 +#: part/models.py:4156 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:4078 part/templates/part/upload_bom.html:55 +#: part/models.py:4163 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4079 +#: part/models.py:4164 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4086 +#: part/models.py:4171 msgid "BOM item reference" msgstr "" -#: part/models.py:4094 +#: part/models.py:4179 msgid "BOM item notes" msgstr "" -#: part/models.py:4100 +#: part/models.py:4185 msgid "Checksum" msgstr "" -#: part/models.py:4101 +#: part/models.py:4186 msgid "BOM line checksum" msgstr "" -#: part/models.py:4106 templates/js/translated/table_filters.js:174 +#: part/models.py:4191 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4107 +#: part/models.py:4192 #, fuzzy #| msgid "Some stock items have been overallocated" msgid "This BOM item has been validated" msgstr "一些库存项已被过度分配" -#: part/models.py:4112 part/templates/part/upload_bom.html:57 +#: part/models.py:4197 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:4113 +#: part/models.py:4198 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4118 part/templates/part/upload_bom.html:56 +#: part/models.py:4203 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4119 +#: part/models.py:4204 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4204 stock/models.py:663 +#: part/models.py:4289 stock/models.py:663 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4214 part/models.py:4216 +#: part/models.py:4299 part/models.py:4301 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4354 +#: part/models.py:4439 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4375 +#: part/models.py:4460 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4388 +#: part/models.py:4473 msgid "Parent BOM item" msgstr "" -#: part/models.py:4396 +#: part/models.py:4481 msgid "Substitute part" msgstr "" -#: part/models.py:4412 +#: part/models.py:4497 msgid "Part 1" msgstr "" -#: part/models.py:4420 +#: part/models.py:4505 msgid "Part 2" msgstr "" -#: part/models.py:4421 +#: part/models.py:4506 msgid "Select Related Part" msgstr "" -#: part/models.py:4440 +#: part/models.py:4525 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4445 +#: part/models.py:4530 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:118 +#: part/serializers.py:124 #, fuzzy #| msgid "Part Category" msgid "Parent Category" msgstr "商品类别" -#: part/serializers.py:119 templates/js/translated/part.js:309 +#: part/serializers.py:125 templates/js/translated/part.js:308 msgid "Parent part category" msgstr "" -#: part/serializers.py:126 part/serializers.py:148 +#: part/serializers.py:132 part/serializers.py:154 #: part/templates/part/category.html:122 part/templates/part/category.html:207 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "子类别" -#: part/serializers.py:180 +#: part/serializers.py:189 msgid "Results" msgstr "" -#: part/serializers.py:181 +#: part/serializers.py:190 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:205 part/serializers.py:223 stock/serializers.py:562 +#: part/serializers.py:217 part/serializers.py:235 stock/serializers.py:608 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:268 +#: part/serializers.py:283 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:392 +#: part/serializers.py:410 #, fuzzy #| msgid "Rejected" msgid "No parts selected" msgstr "已拒绝" -#: part/serializers.py:402 +#: part/serializers.py:420 #, fuzzy #| msgid "Set category" msgid "Select category" msgstr "设置类别" -#: part/serializers.py:437 +#: part/serializers.py:455 msgid "Original Part" msgstr "" -#: part/serializers.py:438 +#: part/serializers.py:456 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:461 msgid "Copy Image" msgstr "" -#: part/serializers.py:444 +#: part/serializers.py:462 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:450 part/templates/part/detail.html:277 +#: part/serializers.py:468 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:451 +#: part/serializers.py:469 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:457 +#: part/serializers.py:475 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:458 +#: part/serializers.py:476 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:464 +#: part/serializers.py:482 #, fuzzy #| msgid "Company Notes" msgid "Copy Notes" msgstr "公司备注" -#: part/serializers.py:465 +#: part/serializers.py:483 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:483 +#: part/serializers.py:501 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:485 +#: part/serializers.py:503 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:492 +#: part/serializers.py:510 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:493 +#: part/serializers.py:511 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:510 +#: part/serializers.py:528 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:526 +#: part/serializers.py:544 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:536 +#: part/serializers.py:554 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:543 +#: part/serializers.py:561 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:552 +#: part/serializers.py:570 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:563 +#: part/serializers.py:581 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:570 +#: part/serializers.py:588 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:834 -#, fuzzy -#| msgid "External Link" -msgid "External Stock" -msgstr "外部链接" - -#: part/serializers.py:836 +#: part/serializers.py:864 #, fuzzy #| msgid "Unallocate Stock" msgid "Unallocated Stock" msgstr "未分配库存" -#: part/serializers.py:839 +#: part/serializers.py:867 #, fuzzy #| msgid "Part Stock" msgid "Variant Stock" msgstr "商品库存" -#: part/serializers.py:869 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:472 +#: part/serializers.py:897 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:471 msgid "Duplicate Part" msgstr "复制部件" -#: part/serializers.py:870 +#: part/serializers.py:898 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:876 templates/js/translated/part.js:102 +#: part/serializers.py:904 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:877 +#: part/serializers.py:905 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:883 +#: part/serializers.py:911 msgid "Supplier Information" msgstr "" -#: part/serializers.py:884 +#: part/serializers.py:912 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:892 +#: part/serializers.py:920 msgid "Copy Category Parameters" msgstr "复制类别参数" -#: part/serializers.py:893 +#: part/serializers.py:921 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:898 +#: part/serializers.py:926 #, fuzzy #| msgid "Existing barcode found" msgid "Existing Image" msgstr "发现现有条码" -#: part/serializers.py:899 +#: part/serializers.py:927 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:916 +#: part/serializers.py:944 #, fuzzy #| msgid "Part image not found" msgid "Image file does not exist" msgstr "未找到商品图像" -#: part/serializers.py:1122 +#: part/serializers.py:1150 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1132 +#: part/serializers.py:1160 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1142 +#: part/serializers.py:1170 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1148 +#: part/serializers.py:1176 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1149 +#: part/serializers.py:1177 #, fuzzy #| msgid "Exclude stock items from this selected location" msgid "Exclude stock items in external locations" msgstr "从该选定的仓储地点排除库存项" -#: part/serializers.py:1154 +#: part/serializers.py:1182 msgid "Generate Report" msgstr "" -#: part/serializers.py:1155 +#: part/serializers.py:1183 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1160 +#: part/serializers.py:1188 msgid "Update Parts" msgstr "" -#: part/serializers.py:1161 +#: part/serializers.py:1189 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1169 +#: part/serializers.py:1197 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1275 +#: part/serializers.py:1303 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1282 +#: part/serializers.py:1310 #, fuzzy #| msgid "Uses default currency" msgid "Minimum price currency" msgstr "使用默认货币" -#: part/serializers.py:1290 +#: part/serializers.py:1318 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1297 +#: part/serializers.py:1325 #, fuzzy #| msgid "Uses default currency" msgid "Maximum price currency" msgstr "使用默认货币" -#: part/serializers.py:1326 +#: part/serializers.py:1354 msgid "Update" msgstr "" -#: part/serializers.py:1327 +#: part/serializers.py:1355 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1350 +#: part/serializers.py:1378 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1357 +#: part/serializers.py:1385 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1360 +#: part/serializers.py:1388 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1727 +#: part/serializers.py:1759 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1735 +#: part/serializers.py:1767 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1736 +#: part/serializers.py:1768 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1741 +#: part/serializers.py:1773 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1742 +#: part/serializers.py:1774 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1747 +#: part/serializers.py:1779 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1748 +#: part/serializers.py:1780 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1753 +#: part/serializers.py:1785 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1754 +#: part/serializers.py:1786 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1788 +#: part/serializers.py:1823 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1789 +#: part/serializers.py:1824 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1819 +#: part/serializers.py:1856 msgid "No part column specified" msgstr "" -#: part/serializers.py:1863 +#: part/serializers.py:1900 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1866 +#: part/serializers.py:1903 msgid "No matching part found" msgstr "" -#: part/serializers.py:1869 +#: part/serializers.py:1906 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1878 +#: part/serializers.py:1915 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1886 +#: part/serializers.py:1923 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1907 +#: part/serializers.py:1946 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:225 templates/js/translated/part.js:1067 -#: templates/js/translated/part.js:1822 templates/js/translated/part.js:1878 +#: part/stocktake.py:225 templates/js/translated/part.js:1070 +#: templates/js/translated/part.js:1825 templates/js/translated/part.js:1881 #: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" msgstr "" @@ -7922,7 +8269,7 @@ msgstr "" #: part/templates/part/part_base.html:52 #: stock/templates/stock/item_base.html:62 -#: stock/templates/stock/location.html:74 templates/js/translated/label.js:143 +#: stock/templates/stock/location.html:74 templates/js/translated/label.js:136 msgid "Print Label" msgstr "打印标签" @@ -7944,7 +8291,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:2296 msgid "Part actions" msgstr "" @@ -7984,6 +8331,12 @@ msgstr "商品可以从外部供应商处购买" msgid "Part can be sold to customers" msgstr "商品可以销售给客户" +#: part/templates/part/part_base.html:145 +#, fuzzy +#| msgid "Print actions" +msgid "Part is not active" +msgstr "打印操作" + #: part/templates/part/part_base.html:153 msgid "Part is virtual (not a physical part)" msgstr "商品是虚拟的(不是实体零件)" @@ -8012,7 +8365,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:322 templates/js/translated/bom.js:1071 -#: templates/js/translated/part.js:1265 templates/js/translated/part.js:2444 +#: templates/js/translated/part.js:1268 templates/js/translated/part.js:2447 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" @@ -8105,8 +8458,8 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/part.js:1243 templates/js/translated/part.js:2146 -#: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 +#: templates/js/translated/part.js:1246 templates/js/translated/part.js:2149 +#: templates/js/translated/part.js:2395 templates/js/translated/stock.js:1059 #: templates/js/translated/stock.js:2070 templates/navbar.html:31 msgid "Stock" msgstr "库存" @@ -8232,8 +8585,8 @@ msgstr "商品价格" #: part/templates/part/stock_count.html:7 #: templates/js/translated/model_renderers.js:227 -#: templates/js/translated/part.js:705 templates/js/translated/part.js:2141 -#: templates/js/translated/part.js:2143 +#: templates/js/translated/part.js:704 templates/js/translated/part.js:2144 +#: templates/js/translated/part.js:2146 msgid "No Stock" msgstr "" @@ -8395,7 +8748,7 @@ msgstr "" msgid "Stock item does not match line item" msgstr "在BOM中找不到选定的库存项" -#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2589 +#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2590 #: templates/js/translated/sales_order.js:1953 msgid "Insufficient stock available" msgstr "" @@ -8522,7 +8875,7 @@ msgstr "此生产产出已经完成" msgid "Quantity to allocate" msgstr "分配到生产的数量" -#: plugin/base/label/label.py:39 templates/js/translated/label.js:155 +#: plugin/base/label/label.py:39 templates/js/translated/label.js:148 msgid "Label printing failed" msgstr "" @@ -9316,7 +9669,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report.html:25 #: report/templates/report/inventree_test_report.html:88 stock/models.py:825 -#: stock/serializers.py:149 stock/templates/stock/item_base.html:311 +#: stock/serializers.py:151 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:230 @@ -9348,7 +9701,7 @@ msgstr "" msgid "Test" msgstr "" -#: report/templates/report/inventree_test_report.html:103 stock/models.py:2447 +#: report/templates/report/inventree_test_report.html:103 stock/models.py:2457 msgid "Result" msgstr "" @@ -9371,7 +9724,7 @@ msgid "No result" msgstr "" #: report/templates/report/inventree_test_report.html:153 -#: stock/templates/stock/stock_sidebar.html:16 +#: stock/serializers.py:591 stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" msgstr "" @@ -9403,10 +9756,6 @@ msgstr "" msgid "Location ID" msgstr "" -#: stock/admin.py:53 stock/admin.py:175 -msgid "Location Name" -msgstr "" - #: stock/admin.py:63 stock/templates/stock/location.html:131 #: stock/templates/stock/location.html:137 msgid "Location Path" @@ -9493,7 +9842,7 @@ msgstr "删除仓储地" msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:369 stock/serializers.py:1085 +#: stock/api.py:369 stock/serializers.py:1148 #, fuzzy #| msgid "Print actions" msgid "Parent Location" @@ -9505,46 +9854,47 @@ msgstr "打印操作" msgid "Filter by parent location" msgstr "删除仓储地" -#: stock/api.py:625 templates/js/translated/table_filters.js:427 +#: stock/api.py:617 templates/js/translated/table_filters.js:427 msgid "External Location" msgstr "" -#: stock/api.py:813 +#: stock/api.py:805 #, fuzzy #| msgid "Part name" msgid "Part Tree" msgstr "商品名称" -#: stock/api.py:843 +#: stock/api.py:835 msgid "Expiry date before" msgstr "" -#: stock/api.py:847 +#: stock/api.py:839 msgid "Expiry date after" msgstr "" -#: stock/api.py:850 stock/templates/stock/item_base.html:439 +#: stock/api.py:842 stock/serializers.py:596 +#: stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" msgstr "" -#: stock/api.py:937 +#: stock/api.py:929 msgid "Quantity is required" msgstr "" -#: stock/api.py:943 +#: stock/api.py:935 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:974 +#: stock/api.py:966 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:984 +#: stock/api.py:976 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1015 +#: stock/api.py:1007 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -9619,7 +9969,7 @@ msgstr "" msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:669 stock/serializers.py:446 +#: stock/models.py:669 stock/serializers.py:477 msgid "Stock item cannot be created for virtual parts" msgstr "" @@ -9665,7 +10015,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:799 stock/serializers.py:1476 +#: stock/models.py:799 stock/serializers.py:1542 msgid "Packaging this stock item is stored in" msgstr "" @@ -9677,7 +10027,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:843 stock/serializers.py:1459 +#: stock/models.py:843 stock/serializers.py:1525 msgid "Batch code for this stock item" msgstr "" @@ -9759,7 +10109,7 @@ msgstr "" msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1520 stock/serializers.py:660 +#: stock/models.py:1520 stock/serializers.py:718 msgid "Serial numbers already exist" msgstr "序列号已存在" @@ -9793,7 +10143,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1658 stock/serializers.py:1365 +#: stock/models.py:1658 stock/serializers.py:1431 msgid "Duplicate stock items" msgstr "" @@ -9813,334 +10163,390 @@ msgstr "" msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2345 +#: stock/models.py:2317 +#, fuzzy +#| msgid "Stock Item" +msgid "Stock Item Tracking" +msgstr "库存项" + +#: stock/models.py:2350 msgid "Entry notes" msgstr "" -#: stock/models.py:2413 +#: stock/models.py:2390 +#, fuzzy +#| msgid "Stock Items" +msgid "Stock Item Test Result" +msgstr "库存项" + +#: stock/models.py:2423 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2418 +#: stock/models.py:2428 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2423 +#: stock/models.py:2433 #, fuzzy #| msgid "Invalid value for overage" msgid "Invalid value for this test" msgstr "无效的备损值" -#: stock/models.py:2447 +#: stock/models.py:2457 msgid "Test result" msgstr "" -#: stock/models.py:2454 +#: stock/models.py:2464 msgid "Test output value" msgstr "" -#: stock/models.py:2462 +#: stock/models.py:2472 msgid "Test result attachment" msgstr "" -#: stock/models.py:2466 +#: stock/models.py:2476 msgid "Test notes" msgstr "" -#: stock/models.py:2474 templates/js/translated/stock.js:1548 +#: stock/models.py:2484 templates/js/translated/stock.js:1548 #, fuzzy #| msgid "Destination" msgid "Test station" msgstr "目的地" -#: stock/models.py:2475 +#: stock/models.py:2485 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2481 +#: stock/models.py:2491 msgid "Started" msgstr "" -#: stock/models.py:2482 +#: stock/models.py:2492 #, fuzzy #| msgid "Timestamp of last update" msgid "The timestamp of the test start" msgstr "最后一次更新时间" -#: stock/models.py:2488 +#: stock/models.py:2498 #, fuzzy #| msgid "Danish" msgid "Finished" msgstr "丹麦语" -#: stock/models.py:2489 +#: stock/models.py:2499 #, fuzzy #| msgid "Timestamp of last update" msgid "The timestamp of the test finish" msgstr "最后一次更新时间" -#: stock/serializers.py:74 +#: stock/serializers.py:76 msgid "Generated batch code" msgstr "" -#: stock/serializers.py:83 +#: stock/serializers.py:85 #, fuzzy #| msgid "Delete Build Order" msgid "Select build order" msgstr "删除生产订单" -#: stock/serializers.py:92 +#: stock/serializers.py:94 #, fuzzy #| msgid "Selected stock item not found in BOM" msgid "Select stock item to generate batch code for" msgstr "在BOM中找不到选定的库存项" -#: stock/serializers.py:101 +#: stock/serializers.py:103 #, fuzzy #| msgid "Select location where the completed items will be stored" msgid "Select location to generate batch code for" msgstr "选择已完成项目仓储地点" -#: stock/serializers.py:110 +#: stock/serializers.py:112 #, fuzzy #| msgid "User or group responsible for this order" msgid "Select part to generate batch code for" msgstr "负责此订单的用户或群组" -#: stock/serializers.py:119 +#: stock/serializers.py:121 #, fuzzy #| msgid "Create new purchase order" msgid "Select purchase order" msgstr "新建采购订单" -#: stock/serializers.py:126 +#: stock/serializers.py:128 #, fuzzy #| msgid "Enter quantity for build output" msgid "Enter quantity for batch code" msgstr "输入生产产出数量" -#: stock/serializers.py:149 +#: stock/serializers.py:151 #, fuzzy #| msgid "Assigned serial number" msgid "Generated serial number" msgstr "已分配序列号" -#: stock/serializers.py:158 +#: stock/serializers.py:160 #, fuzzy #| msgid "Trackable parts can have serial numbers specified" msgid "Select part to generate serial number for" msgstr "可追踪商品可以指定序列号" -#: stock/serializers.py:166 +#: stock/serializers.py:168 #, fuzzy #| msgid "Enter serial numbers for new items" msgid "Quantity of serial numbers to generate" msgstr "输入新项目的序列号" -#: stock/serializers.py:228 +#: stock/serializers.py:233 #, fuzzy #| msgid "User or group responsible for this order" msgid "Test template for this result" msgstr "负责此订单的用户或群组" -#: stock/serializers.py:247 +#: stock/serializers.py:252 #, fuzzy #| msgid "Allocation items must be provided" msgid "Template ID or test name must be provided" msgstr "必须提供分配的项" -#: stock/serializers.py:279 +#: stock/serializers.py:284 msgid "The test finished time cannot be earlier than the test started time" msgstr "" -#: stock/serializers.py:315 +#: stock/serializers.py:320 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:438 +#: stock/serializers.py:449 stock/templates/stock/item_base.html:193 +msgid "Parent Item" +msgstr "" + +#: stock/serializers.py:450 +#, fuzzy +#| msgid "Source stock item" +msgid "Parent stock item" +msgstr "源库存项" + +#: stock/serializers.py:469 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:558 +#: stock/serializers.py:585 templates/js/translated/build.js:991 +#: templates/js/translated/build.js:2344 +#, fuzzy +#| msgid "Allocated Parts" +msgid "Allocated Quantity" +msgstr "已分配的部件" + +#: stock/serializers.py:588 stock/templates/stock/item_base.html:437 +#: templates/js/translated/table_filters.js:435 users/models.py:174 +msgid "Expired" +msgstr "" + +#: stock/serializers.py:594 stock/templates/stock/stock_sidebar.html:20 +msgid "Child Items" +msgstr "" + +#: stock/serializers.py:598 +#, fuzzy +#| msgid "Stock Item" +msgid "Tracking Items" +msgstr "库存项" + +#: stock/serializers.py:604 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:595 +#: stock/serializers.py:623 +#, fuzzy +#| msgid "Part Pricing" +msgid "Minimum Pricing" +msgstr "商品价格" + +#: stock/serializers.py:629 +#, fuzzy +#| msgid "Part Pricing" +msgid "Maximum Pricing" +msgstr "商品价格" + +#: stock/serializers.py:653 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:608 +#: stock/serializers.py:666 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:615 +#: stock/serializers.py:673 msgid "Enter serial numbers for new items" msgstr "输入新项目的序列号" -#: stock/serializers.py:626 stock/serializers.py:1322 stock/serializers.py:1578 +#: stock/serializers.py:684 stock/serializers.py:1388 stock/serializers.py:1644 msgid "Destination stock location" msgstr "目标库存位置" -#: stock/serializers.py:633 +#: stock/serializers.py:691 msgid "Optional note field" msgstr "" -#: stock/serializers.py:643 +#: stock/serializers.py:701 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:698 +#: stock/serializers.py:756 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:705 +#: stock/serializers.py:763 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:706 +#: stock/serializers.py:764 #, fuzzy #| msgid "Enter quantity for build output" msgid "Enter the quantity of items to install" msgstr "输入生产产出数量" -#: stock/serializers.py:711 stock/serializers.py:791 stock/serializers.py:887 -#: stock/serializers.py:937 +#: stock/serializers.py:769 stock/serializers.py:849 stock/serializers.py:945 +#: stock/serializers.py:995 msgid "Add transaction note (optional)" msgstr "添加交易备注 (可选)" -#: stock/serializers.py:719 +#: stock/serializers.py:777 #, fuzzy #| msgid "Quantity must be a positive number" msgid "Quantity to install must be at least 1" msgstr "数量必须大于0" -#: stock/serializers.py:727 +#: stock/serializers.py:785 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:738 +#: stock/serializers.py:796 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:751 +#: stock/serializers.py:809 #, 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:786 +#: stock/serializers.py:844 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:821 +#: stock/serializers.py:879 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:834 +#: stock/serializers.py:892 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:851 +#: stock/serializers.py:909 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:882 +#: stock/serializers.py:940 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:919 +#: stock/serializers.py:977 #, fuzzy #| msgid "Selected stock item not found in BOM" msgid "Select stock items to change status" msgstr "在BOM中找不到选定的库存项" -#: stock/serializers.py:925 +#: stock/serializers.py:983 #, fuzzy #| msgid "Stock item created" msgid "No stock items selected" msgstr "库存项已创建" -#: stock/serializers.py:1021 stock/serializers.py:1093 +#: stock/serializers.py:1079 stock/serializers.py:1156 #: stock/templates/stock/location.html:165 #: stock/templates/stock/location.html:222 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1086 templates/js/translated/stock.js:152 +#: stock/serializers.py:1149 templates/js/translated/stock.js:152 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1194 +#: stock/serializers.py:1260 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1198 +#: stock/serializers.py:1264 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1202 +#: stock/serializers.py:1268 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1226 +#: stock/serializers.py:1292 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1232 +#: stock/serializers.py:1298 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1240 +#: stock/serializers.py:1306 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1250 stock/serializers.py:1504 +#: stock/serializers.py:1316 stock/serializers.py:1570 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1329 +#: stock/serializers.py:1395 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1334 +#: stock/serializers.py:1400 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1335 +#: stock/serializers.py:1401 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1340 +#: stock/serializers.py:1406 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1341 +#: stock/serializers.py:1407 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1351 +#: stock/serializers.py:1417 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1418 +#: stock/serializers.py:1484 #, fuzzy #| msgid "Change" msgid "No Change" msgstr "更改" -#: stock/serializers.py:1447 +#: stock/serializers.py:1513 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1466 +#: stock/serializers.py:1532 #, fuzzy #| msgid "Stock item created" msgid "Stock item status code" msgstr "库存项已创建" -#: stock/serializers.py:1494 +#: stock/serializers.py:1560 msgid "Stock transaction notes" msgstr "" @@ -10419,10 +10825,6 @@ msgstr "" msgid "Build" msgstr "生产" -#: stock/templates/stock/item_base.html:193 -msgid "Parent Item" -msgstr "" - #: stock/templates/stock/item_base.html:211 msgid "No manufacturer set" msgstr "" @@ -10500,11 +10902,6 @@ msgstr "" msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" -#: stock/templates/stock/item_base.html:437 -#: templates/js/translated/table_filters.js:435 users/models.py:174 -msgid "Expired" -msgstr "" - #: stock/templates/stock/item_base.html:439 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" @@ -10660,10 +11057,6 @@ msgstr "" msgid "Allocations" msgstr "" -#: stock/templates/stock/stock_sidebar.html:20 -msgid "Child Items" -msgstr "" - #: templates/403.html:6 templates/403.html:12 templates/403_csrf.html:7 msgid "Permission Denied" msgstr "" @@ -11152,8 +11545,8 @@ 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:393 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:245 users/models.py:402 +#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 +#: templates/js/translated/stock.js:245 users/models.py:406 msgid "Delete" msgstr "删除" @@ -11205,12 +11598,12 @@ msgid "No category parameter templates found" msgstr "未找到类别参数模板" #: templates/InvenTree/settings/settings_staff_js.html:308 -#: templates/js/translated/part.js:1646 +#: templates/js/translated/part.js:1649 msgid "Edit Template" msgstr "编辑模板" #: templates/InvenTree/settings/settings_staff_js.html:309 -#: templates/js/translated/part.js:1647 +#: templates/js/translated/part.js:1650 msgid "Delete Template" msgstr "删除模板" @@ -11867,7 +12260,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2556 +#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2557 msgid "Required Quantity" msgstr "" @@ -11881,7 +12274,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3219 +#: templates/js/translated/part.js:3222 msgid "Minimum Quantity" msgstr "" @@ -12244,7 +12637,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2500 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2501 msgid "Variant stock allowed" msgstr "" @@ -12264,32 +12657,32 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2621 +#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2622 #, fuzzy #| msgid "External Link" msgid "External stock" msgstr "外部链接" -#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2595 +#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2596 #: templates/js/translated/sales_order.js:1946 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2599 +#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2600 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2601 -#: templates/js/translated/part.js:1257 +#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2602 +#: templates/js/translated/part.js:1260 #: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2603 +#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2604 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2586 +#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2587 msgid "Consumable item" msgstr "" @@ -12321,7 +12714,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2485 +#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2486 msgid "Required Part" msgstr "" @@ -12514,12 +12907,6 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:991 templates/js/translated/build.js:2344 -#, fuzzy -#| msgid "Allocated Parts" -msgid "Allocated Quantity" -msgstr "已分配的部件" - #: templates/js/translated/build.js:1005 msgid "Location not specified" msgstr "未指定仓储地点" @@ -12641,9 +13028,9 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2117 templates/js/translated/build.js:2479 +#: templates/js/translated/build.js:2117 templates/js/translated/build.js:2480 #: templates/js/translated/forms.js:2163 templates/js/translated/forms.js:2179 -#: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 +#: templates/js/translated/part.js:2319 templates/js/translated/part.js:2745 #: templates/js/translated/stock.js:1983 templates/js/translated/stock.js:2710 msgid "Select" msgstr "" @@ -12674,71 +13061,71 @@ msgstr "" msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2455 +#: templates/js/translated/build.js:2456 #, fuzzy #| msgid "Build actions" msgid "build line" msgstr "生产操作" -#: templates/js/translated/build.js:2456 +#: templates/js/translated/build.js:2457 #, fuzzy #| msgid "Build actions" msgid "build lines" msgstr "生产操作" -#: templates/js/translated/build.js:2474 +#: templates/js/translated/build.js:2475 #, fuzzy #| msgid "Subcategories" msgid "No build lines found" msgstr "子类别" -#: templates/js/translated/build.js:2504 templates/js/translated/part.js:791 -#: templates/js/translated/part.js:1203 +#: templates/js/translated/build.js:2505 templates/js/translated/part.js:790 +#: templates/js/translated/part.js:1206 msgid "Trackable part" msgstr "可追溯商品" -#: templates/js/translated/build.js:2539 +#: templates/js/translated/build.js:2540 #, fuzzy #| msgid "Quantity" msgid "Unit Quantity" msgstr "数量" -#: templates/js/translated/build.js:2591 +#: templates/js/translated/build.js:2592 #: templates/js/translated/sales_order.js:1951 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2646 +#: templates/js/translated/build.js:2647 #, fuzzy #| msgid "Minimum Stock" msgid "Consumable Item" msgstr "最低库存" -#: templates/js/translated/build.js:2653 +#: templates/js/translated/build.js:2654 #, fuzzy #| msgid "Stock Item" msgid "Tracked item" msgstr "库存项" -#: templates/js/translated/build.js:2654 +#: templates/js/translated/build.js:2655 msgid "Allocate tracked items against individual build outputs" msgstr "" -#: templates/js/translated/build.js:2662 +#: templates/js/translated/build.js:2663 #: templates/js/translated/sales_order.js:2052 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2667 templates/js/translated/stock.js:1868 +#: templates/js/translated/build.js:2668 templates/js/translated/stock.js:1868 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2671 +#: templates/js/translated/build.js:2672 #: templates/js/translated/sales_order.js:2046 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2675 +#: templates/js/translated/build.js:2676 #, fuzzy #| msgid "Confirm stock allocation" msgid "Remove stock allocation" @@ -12919,7 +13306,7 @@ msgid "Delete Parameters" msgstr "删除参数" #: templates/js/translated/company.js:1191 -#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2245 +#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2248 msgid "Order parts" msgstr "订购商品" @@ -12938,34 +13325,34 @@ msgid "No manufacturer parts found" msgstr "" #: templates/js/translated/company.js:1279 -#: templates/js/translated/company.js:1567 templates/js/translated/part.js:799 -#: templates/js/translated/part.js:1211 +#: templates/js/translated/company.js:1567 templates/js/translated/part.js:798 +#: templates/js/translated/part.js:1214 msgid "Template part" msgstr "" #: templates/js/translated/company.js:1283 -#: templates/js/translated/company.js:1571 templates/js/translated/part.js:803 -#: templates/js/translated/part.js:1215 +#: templates/js/translated/company.js:1571 templates/js/translated/part.js:802 +#: templates/js/translated/part.js:1218 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1465 +#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1468 msgid "No parameters found" msgstr "无指定参数" -#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1528 +#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1531 msgid "Edit parameter" msgstr "编辑参数" -#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1529 +#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1532 msgid "Delete parameter" msgstr "删除参数" -#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1434 +#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1437 msgid "Edit Parameter" msgstr "编辑参数" -#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1550 +#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1553 msgid "Delete Parameter" msgstr "删除参数" @@ -13147,19 +13534,19 @@ msgstr "" msgid "No parts required for builds" msgstr "生产订单所需的库存" -#: templates/js/translated/label.js:55 templates/js/translated/report.js:38 +#: templates/js/translated/label.js:48 templates/js/translated/report.js:38 #, fuzzy #| msgid "Select Stock Items" msgid "Select Items" msgstr "选择库存项" -#: templates/js/translated/label.js:56 templates/js/translated/report.js:39 +#: templates/js/translated/label.js:49 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:150 +#: templates/js/translated/label.js:143 msgid "Labels sent to printer" msgstr "" @@ -13228,7 +13615,7 @@ msgstr "" #: templates/js/translated/news.js:38 #: templates/js/translated/notification.js:46 -#: templates/js/translated/part.js:1605 +#: templates/js/translated/part.js:1608 msgid "ID" msgstr "" @@ -13309,353 +13696,353 @@ msgstr "商品重复选项" msgid "Add Part Category" msgstr "增加商品类别" -#: templates/js/translated/part.js:333 templates/js/translated/stock.js:175 +#: templates/js/translated/part.js:332 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:353 +#: templates/js/translated/part.js:352 msgid "Create Part Category" msgstr "创建商品类别" -#: templates/js/translated/part.js:356 +#: templates/js/translated/part.js:355 #, fuzzy #| msgid "Create new part category" msgid "Create new category after this one" msgstr "新建商品类别" -#: templates/js/translated/part.js:357 +#: templates/js/translated/part.js:356 #, fuzzy #| msgid "Part category" msgid "Part category created" msgstr "商品类别" -#: templates/js/translated/part.js:371 +#: templates/js/translated/part.js:370 msgid "Edit Part Category" msgstr "编辑商品类别" -#: templates/js/translated/part.js:384 +#: templates/js/translated/part.js:383 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:389 +#: templates/js/translated/part.js:388 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:398 +#: templates/js/translated/part.js:397 msgid "Delete Part Category" msgstr "删除商品类别" -#: templates/js/translated/part.js:402 +#: templates/js/translated/part.js:401 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:407 +#: templates/js/translated/part.js:406 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:431 +#: templates/js/translated/part.js:430 msgid "Create Part" msgstr "创建商品" -#: templates/js/translated/part.js:433 +#: templates/js/translated/part.js:432 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:434 +#: templates/js/translated/part.js:433 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:462 +#: templates/js/translated/part.js:461 msgid "Edit Part" msgstr "编辑商品" -#: templates/js/translated/part.js:464 +#: templates/js/translated/part.js:463 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:475 +#: templates/js/translated/part.js:474 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:532 +#: templates/js/translated/part.js:531 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:533 +#: templates/js/translated/part.js:532 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:547 +#: templates/js/translated/part.js:546 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:549 +#: templates/js/translated/part.js:548 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:550 +#: templates/js/translated/part.js:549 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:551 +#: templates/js/translated/part.js:550 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:558 +#: templates/js/translated/part.js:557 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:594 +#: templates/js/translated/part.js:593 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:596 +#: templates/js/translated/part.js:595 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:601 +#: templates/js/translated/part.js:600 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:603 +#: templates/js/translated/part.js:602 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:620 +#: templates/js/translated/part.js:619 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:630 +#: templates/js/translated/part.js:629 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:633 +#: templates/js/translated/part.js:632 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:658 +#: templates/js/translated/part.js:657 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:686 -#: templates/js/translated/table_filters.js:747 +#: templates/js/translated/part.js:685 +#: templates/js/translated/table_filters.js:752 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:689 +#: templates/js/translated/part.js:688 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:749 +#: templates/js/translated/part.js:748 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:772 +#: templates/js/translated/part.js:771 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:795 templates/js/translated/part.js:1207 +#: templates/js/translated/part.js:794 templates/js/translated/part.js:1210 msgid "Virtual part" msgstr "虚拟商品" -#: templates/js/translated/part.js:807 +#: templates/js/translated/part.js:806 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:811 +#: templates/js/translated/part.js:810 msgid "Salable part" msgstr "可销售商品" -#: templates/js/translated/part.js:890 +#: templates/js/translated/part.js:893 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:890 +#: templates/js/translated/part.js:893 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:898 +#: templates/js/translated/part.js:901 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:902 +#: templates/js/translated/part.js:905 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:1051 +#: templates/js/translated/part.js:1054 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1109 templates/js/translated/part.js:1145 +#: templates/js/translated/part.js:1112 templates/js/translated/part.js:1148 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1113 templates/js/translated/part.js:1155 +#: templates/js/translated/part.js:1116 templates/js/translated/part.js:1158 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1282 +#: templates/js/translated/part.js:1285 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1600 +#: templates/js/translated/part.js:1603 msgid "No part parameter templates found" msgstr "未找到商品参数模板" -#: templates/js/translated/part.js:1663 +#: templates/js/translated/part.js:1666 msgid "Edit Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1675 +#: templates/js/translated/part.js:1678 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/js/translated/part.js:1683 +#: templates/js/translated/part.js:1686 msgid "Delete Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1717 +#: templates/js/translated/part.js:1720 #: templates/js/translated/purchase_order.js:1654 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/part.js:1861 +#: templates/js/translated/part.js:1864 #: 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:1907 +#: templates/js/translated/part.js:1910 #: templates/js/translated/purchase_order.js:2220 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1970 +#: templates/js/translated/part.js:1973 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1992 +#: templates/js/translated/part.js:1995 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2080 templates/js/translated/part.js:2506 +#: templates/js/translated/part.js:2083 templates/js/translated/part.js:2509 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:2201 +#: templates/js/translated/part.js:2204 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2206 +#: templates/js/translated/part.js:2209 msgid "Set Part Category" msgstr "设置商品类别" -#: templates/js/translated/part.js:2236 +#: templates/js/translated/part.js:2239 msgid "Set category" msgstr "设置类别" -#: templates/js/translated/part.js:2287 +#: templates/js/translated/part.js:2290 #, fuzzy #| msgid "Edit part" msgid "part" msgstr "编辑商品" -#: templates/js/translated/part.js:2288 +#: templates/js/translated/part.js:2291 #, fuzzy #| msgid "Parts" msgid "parts" msgstr "商品" -#: templates/js/translated/part.js:2384 +#: templates/js/translated/part.js:2387 msgid "No category" msgstr "没有分类" -#: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 +#: templates/js/translated/part.js:2534 templates/js/translated/part.js:2664 #: templates/js/translated/stock.js:2669 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2547 +#: templates/js/translated/part.js:2550 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2645 +#: templates/js/translated/part.js:2648 #, fuzzy #| msgid "Subcategories" msgid "No subcategories found" msgstr "子类别" -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2689 +#: templates/js/translated/part.js:2684 templates/js/translated/stock.js:2689 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2761 +#: templates/js/translated/part.js:2764 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2777 +#: templates/js/translated/part.js:2780 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2865 +#: templates/js/translated/part.js:2868 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2887 templates/js/translated/search.js:342 +#: templates/js/translated/part.js:2890 templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/part.js:2937 templates/js/translated/stock.js:1456 +#: templates/js/translated/part.js:2940 templates/js/translated/stock.js:1456 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2938 templates/js/translated/stock.js:1457 +#: templates/js/translated/part.js:2941 templates/js/translated/stock.js:1457 #: templates/js/translated/stock.js:1731 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2942 +#: templates/js/translated/part.js:2945 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2958 +#: templates/js/translated/part.js:2961 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2972 +#: templates/js/translated/part.js:2975 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:3051 templates/js/translated/part.js:3052 +#: templates/js/translated/part.js:3054 templates/js/translated/part.js:3055 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:3054 +#: templates/js/translated/part.js:3057 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:3060 +#: templates/js/translated/part.js:3063 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3110 +#: templates/js/translated/part.js:3113 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3116 +#: templates/js/translated/part.js:3119 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3212 +#: templates/js/translated/part.js:3215 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3228 +#: templates/js/translated/part.js:3231 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3273 +#: templates/js/translated/part.js:3276 msgid "Minimum Stock Level" msgstr "" @@ -14489,7 +14876,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1042 users/models.py:392 +#: templates/js/translated/stock.js:1042 users/models.py:396 msgid "Add" msgstr "添加" @@ -14873,7 +15260,7 @@ msgid "Include subcategories" msgstr "" #: templates/js/translated/table_filters.js:287 -#: templates/js/translated/table_filters.js:759 +#: templates/js/translated/table_filters.js:764 msgid "Subscribed" msgstr "" @@ -15028,44 +15415,50 @@ msgstr "" msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:725 +#: templates/js/translated/table_filters.js:722 +#, fuzzy +#| msgid "Show related parts" +msgid "Show locked parts" +msgstr "显示相关商品" + +#: templates/js/translated/table_filters.js:730 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:733 -#: templates/js/translated/table_filters.js:833 +#: templates/js/translated/table_filters.js:738 +#: templates/js/translated/table_filters.js:838 #, fuzzy #| msgid "Units" msgid "Has Units" msgstr "单位" -#: templates/js/translated/table_filters.js:734 +#: templates/js/translated/table_filters.js:739 #, fuzzy #| msgid "Parameter units" msgid "Part has defined units" msgstr "参数单位" -#: templates/js/translated/table_filters.js:738 +#: templates/js/translated/table_filters.js:743 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:739 +#: templates/js/translated/table_filters.js:744 msgid "Part has internal part number" msgstr "商品有内部编号" -#: templates/js/translated/table_filters.js:743 +#: templates/js/translated/table_filters.js:748 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:751 +#: templates/js/translated/table_filters.js:756 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:763 +#: templates/js/translated/table_filters.js:768 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:829 +#: templates/js/translated/table_filters.js:834 #, fuzzy #| msgid "Units" msgid "Has Choices" @@ -15139,10 +15532,6 @@ msgstr "" msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:558 -msgid "Columns" -msgstr "" - #: templates/js/translated/tables.js:561 msgid "All" msgstr "" @@ -15432,38 +15821,58 @@ msgstr "" msgid "Revoked" msgstr "" -#: users/models.py:375 +#: users/models.py:379 msgid "Permission set" msgstr "权限设置" -#: users/models.py:384 +#: users/models.py:388 msgid "Group" msgstr "群组" -#: users/models.py:388 +#: users/models.py:392 msgid "View" msgstr "视图" -#: users/models.py:388 +#: users/models.py:392 msgid "Permission to view items" msgstr "查看项目权限" -#: users/models.py:392 +#: users/models.py:396 msgid "Permission to add items" msgstr "添加项目权限" -#: users/models.py:396 +#: users/models.py:400 msgid "Change" msgstr "更改" -#: users/models.py:398 +#: users/models.py:402 msgid "Permissions to edit items" msgstr "编辑项目权限" -#: users/models.py:404 +#: users/models.py:408 msgid "Permission to delete items" msgstr "删除项目权限" +#, fuzzy +#~| msgid "Select Label Template" +#~ msgid "Default part label template" +#~ msgstr "选择标签模板" + +#, fuzzy +#~| msgid "stock items selected" +#~ msgid "Default stock item template" +#~ msgstr "已选择库存项" + +#, fuzzy +#~| msgid "No stock location set" +#~ msgid "Default stock location label template" +#~ msgstr "未设置仓储地点" + +#, fuzzy +#~| msgid "No stock location set" +#~ msgid "Default build line label template" +#~ msgstr "未设置仓储地点" + #~ msgid "parent" #~ msgstr "上级项" diff --git a/src/frontend/src/locales/bg/messages.po b/src/frontend/src/locales/bg/messages.po index 70c1a5ae1d7d..7de687aaa729 100644 --- a/src/frontend/src/locales/bg/messages.po +++ b/src/frontend/src/locales/bg/messages.po @@ -49,16 +49,18 @@ msgstr "" #: src/components/buttons/PrintingActions.tsx:107 #: src/components/buttons/PrintingActions.tsx:144 #: src/components/editors/NotesEditor.tsx:65 -#: src/components/editors/NotesEditor.tsx:160 -#: src/components/forms/ApiForm.tsx:506 -#: src/components/forms/fields/ApiFormField.tsx:295 +#: src/components/editors/NotesEditor.tsx:165 +#: src/components/forms/ApiForm.tsx:513 +#: src/components/forms/fields/ApiFormField.tsx:306 +#: src/components/importer/ImportDataSelector.tsx:171 +#: src/components/importer/ImporterColumnSelector.tsx:112 #: src/components/modals/LicenseModal.tsx:75 #: src/components/nav/SearchDrawer.tsx:427 #: src/pages/ErrorPage.tsx:11 #: src/pages/part/PartPricingPanel.tsx:71 -#: src/tables/InvenTreeTable.tsx:451 -#: src/tables/InvenTreeTable.tsx:526 -#: src/tables/bom/BomTable.tsx:363 +#: src/tables/InvenTreeTable.tsx:470 +#: src/tables/InvenTreeTable.tsx:545 +#: src/tables/bom/BomTable.tsx:366 #: src/tables/stock/StockItemTestResultTable.tsx:294 msgid "Error" msgstr "" @@ -157,7 +159,7 @@ msgstr "" #: src/functions/forms.tsx:196 #: src/hooks/UseForm.tsx:40 #: src/tables/FilterSelectDrawer.tsx:204 -#: src/tables/InvenTreeTable.tsx:499 +#: src/tables/InvenTreeTable.tsx:518 #: src/tables/build/BuildOutputTable.tsx:225 msgid "Cancel" msgstr "" @@ -175,7 +177,7 @@ msgid "Clear" msgstr "" #: src/components/details/DetailsImage.tsx:227 -#: src/components/forms/ApiForm.tsx:573 +#: src/components/forms/ApiForm.tsx:580 #: src/contexts/ThemeContext.tsx:43 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:56 msgid "Submit" @@ -202,48 +204,61 @@ msgid "Delete image" msgstr "" #: src/components/details/PartIcons.tsx:28 +#: src/tables/ColumnRenderers.tsx:35 +msgid "Part is locked" +msgstr "" + +#: src/components/details/PartIcons.tsx:30 +#: src/pages/part/PartDetail.tsx:267 +#: src/pages/part/PartDetail.tsx:698 +#: src/tables/part/PartTable.tsx:175 +msgid "Locked" +msgstr "" + +#: src/components/details/PartIcons.tsx:35 +#: src/tables/ColumnRenderers.tsx:30 msgid "Part is not active" msgstr "" -#: src/components/details/PartIcons.tsx:34 +#: src/components/details/PartIcons.tsx:37 #: src/components/render/Plugin.tsx:17 #: src/pages/company/CompanyDetail.tsx:315 #: src/pages/company/SupplierPartDetail.tsx:307 -#: src/pages/part/PartDetail.tsx:685 +#: src/pages/part/PartDetail.tsx:704 msgid "Inactive" msgstr "" -#: src/components/details/PartIcons.tsx:41 +#: src/components/details/PartIcons.tsx:43 msgid "Part is a template part (variants can be made from this part)" msgstr "" -#: src/components/details/PartIcons.tsx:47 +#: src/components/details/PartIcons.tsx:49 msgid "Part can be assembled from other parts" msgstr "" -#: src/components/details/PartIcons.tsx:53 +#: src/components/details/PartIcons.tsx:55 msgid "Part can be used in assemblies" msgstr "" -#: src/components/details/PartIcons.tsx:59 +#: src/components/details/PartIcons.tsx:61 msgid "Part stock is tracked by serial number" msgstr "" -#: src/components/details/PartIcons.tsx:65 +#: src/components/details/PartIcons.tsx:67 msgid "Part can be purchased from external suppliers" msgstr "" -#: src/components/details/PartIcons.tsx:71 +#: src/components/details/PartIcons.tsx:73 msgid "Part can be sold to customers" msgstr "" -#: src/components/details/PartIcons.tsx:76 +#: src/components/details/PartIcons.tsx:78 msgid "Part is virtual (not a physical part)" msgstr "" -#: src/components/details/PartIcons.tsx:82 -#: src/tables/part/PartTable.tsx:234 -#: src/tables/part/PartTable.tsx:238 +#: src/components/details/PartIcons.tsx:84 +#: src/tables/part/PartTable.tsx:241 +#: src/tables/part/PartTable.tsx:245 #: src/tables/part/PartVariantTable.tsx:25 msgid "Virtual" msgstr "" @@ -252,29 +267,29 @@ msgstr "" msgid "Image upload failed" msgstr "" -#: src/components/editors/NotesEditor.tsx:151 -#: src/components/forms/ApiForm.tsx:430 -#: src/tables/bom/BomTable.tsx:354 +#: src/components/editors/NotesEditor.tsx:156 +#: src/components/forms/ApiForm.tsx:437 +#: src/tables/bom/BomTable.tsx:357 msgid "Success" msgstr "" -#: src/components/editors/NotesEditor.tsx:152 +#: src/components/editors/NotesEditor.tsx:157 msgid "Notes saved successfully" msgstr "" -#: src/components/editors/NotesEditor.tsx:161 +#: src/components/editors/NotesEditor.tsx:166 msgid "Failed to save notes" msgstr "" -#: src/components/editors/NotesEditor.tsx:193 +#: src/components/editors/NotesEditor.tsx:198 msgid "Preview Notes" msgstr "" -#: src/components/editors/NotesEditor.tsx:193 +#: src/components/editors/NotesEditor.tsx:198 msgid "Edit Notes" msgstr "" -#: src/components/editors/NotesEditor.tsx:207 +#: src/components/editors/NotesEditor.tsx:212 msgid "Save Notes" msgstr "" @@ -407,7 +422,7 @@ msgstr "" msgid "A server error occurred" msgstr "" -#: src/components/forms/ApiForm.tsx:149 +#: src/components/forms/ApiForm.tsx:151 #: src/functions/forms.tsx:259 msgid "Form Error" msgstr "" @@ -416,18 +431,18 @@ msgstr "" #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:611 +#: src/components/forms/ApiForm.tsx:618 #: src/tables/plugin/PluginListTable.tsx:388 msgid "Update" msgstr "" -#: src/components/forms/ApiForm.tsx:631 +#: src/components/forms/ApiForm.tsx:638 #: 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:498 +#: src/tables/InvenTreeTable.tsx:517 #: src/tables/RowActions.tsx:71 #: src/tables/plugin/PluginListTable.tsx:420 msgid "Delete" @@ -600,7 +615,7 @@ msgstr "" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:70 #: src/pages/part/CategoryDetail.tsx:80 -#: src/pages/part/PartDetail.tsx:122 +#: src/pages/part/PartDetail.tsx:123 #: src/pages/stock/LocationDetail.tsx:87 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 @@ -685,6 +700,124 @@ msgstr "" msgid "Thumbnail" msgstr "" +#: src/components/importer/ImportDataSelector.tsx:154 +msgid "Importing Rows" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:155 +msgid "Please wait while the data is imported" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:172 +msgid "An error occurred while importing data" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:191 +msgid "Edit Data" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:218 +msgid "Delete Row" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:248 +msgid "Row" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:266 +msgid "Row contains errors" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:307 +msgid "Accept" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:340 +msgid "Valid" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:341 +msgid "Filter by row validation status" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:346 +#: src/tables/build/BuildOutputTable.tsx:205 +msgid "Complete" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:347 +msgid "Filter by row completion status" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:364 +msgid "Import selected rows" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:46 +#: src/components/importer/ImporterColumnSelector.tsx:85 +msgid "An error occurred" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:57 +msgid "Select column, or leave blank to ignore this field." +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:91 +msgid "Select a column from the data file" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:104 +msgid "Map data columns to database fields" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:109 +msgid "Accept Column Mapping" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:117 +msgid "Database Field" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:118 +msgid "Field Description" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:119 +msgid "Imported Column Name" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:44 +msgid "Import Data" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:45 +msgid "Map Columns" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:46 +msgid "Process Data" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:47 +msgid "Complete Import" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:91 +msgid "Importing Data" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:97 +msgid "Cancel import session" +msgstr "" + +#: src/components/importer/ImporterImportProgress.tsx:36 +msgid "Importing Records" +msgstr "" + +#: src/components/importer/ImporterImportProgress.tsx:39 +msgid "Imported rows" +msgstr "" + #: src/components/items/ActionDropdown.tsx:119 #: src/pages/build/BuildDetail.tsx:358 msgid "Barcode Actions" @@ -738,7 +871,7 @@ msgid "Read More" msgstr "" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:443 +#: src/tables/InvenTreeTable.tsx:462 msgid "Unknown error" msgstr "" @@ -1039,13 +1172,13 @@ msgstr "" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:313 +#: src/pages/Index/Settings/SystemSettings.tsx:314 msgid "System Settings" msgstr "" #: src/components/nav/MainMenu.tsx:67 #: src/defaults/menuItems.tsx:63 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:198 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:209 msgid "Admin Center" msgstr "" @@ -1088,7 +1221,7 @@ msgid "Pages" msgstr "" #: src/components/nav/NavigationDrawer.tsx:65 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:157 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:168 #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:41 msgid "Plugins" msgstr "" @@ -1102,7 +1235,7 @@ msgstr "" msgid "About" msgstr "" -#: src/components/nav/NotificationDrawer.tsx:78 +#: src/components/nav/NotificationDrawer.tsx:81 #: src/pages/Index/Settings/SystemSettings.tsx:108 #: src/pages/Index/Settings/UserSettings.tsx:96 #: src/pages/Notifications.tsx:65 @@ -1110,17 +1243,17 @@ msgstr "" msgid "Notifications" msgstr "" -#: src/components/nav/NotificationDrawer.tsx:95 +#: src/components/nav/NotificationDrawer.tsx:98 msgid "You have no unread notifications." msgstr "" -#: src/components/nav/NotificationDrawer.tsx:111 -#: src/components/nav/NotificationDrawer.tsx:117 +#: src/components/nav/NotificationDrawer.tsx:114 +#: src/components/nav/NotificationDrawer.tsx:120 #: src/tables/notifications/NotificationsTable.tsx:36 msgid "Notification" msgstr "" -#: src/components/nav/NotificationDrawer.tsx:140 +#: src/components/nav/NotificationDrawer.tsx:143 #: src/pages/Notifications.tsx:73 msgid "Mark as read" msgstr "" @@ -1157,7 +1290,7 @@ msgstr "" msgid "No results available for search query" msgstr "" -#: src/components/render/Instance.tsx:166 +#: src/components/render/Instance.tsx:201 msgid "Unknown model: {model}" msgstr "" @@ -1172,7 +1305,8 @@ msgstr "" #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 #: src/pages/build/BuildDetail.tsx:85 -#: src/pages/part/PartDetail.tsx:831 +#: src/pages/part/PartDetail.tsx:872 +#: src/tables/part/PartTable.tsx:28 #: src/tables/part/RelatedPartTable.tsx:45 #: src/tables/stock/StockTrackingTable.tsx:74 msgid "Part" @@ -1185,7 +1319,7 @@ msgstr "" #: src/pages/part/CategoryDetail.tsx:112 #: src/pages/part/CategoryDetail.tsx:237 #: src/pages/part/CategoryDetail.tsx:267 -#: src/pages/part/PartDetail.tsx:639 +#: src/pages/part/PartDetail.tsx:652 msgid "Parts" msgstr "" @@ -1235,7 +1369,7 @@ msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:172 #: src/pages/part/CategoryDetail.tsx:251 #: src/pages/part/CategoryDetail.tsx:288 -#: src/pages/part/PartDetail.tsx:821 +#: src/pages/part/PartDetail.tsx:862 msgid "Part Categories" msgstr "" @@ -1317,7 +1451,7 @@ msgid "Project Code" msgstr "" #: src/components/render/ModelType.tsx:127 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:109 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:120 msgid "Project Codes" msgstr "" @@ -1329,10 +1463,10 @@ msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:134 -#: src/pages/Index/Settings/SystemSettings.tsx:257 +#: src/pages/Index/Settings/SystemSettings.tsx:258 #: src/pages/company/CompanyDetail.tsx:194 #: src/pages/company/SupplierPartDetail.tsx:226 -#: src/pages/part/PartDetail.tsx:573 +#: src/pages/part/PartDetail.tsx:586 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "" @@ -1354,9 +1488,9 @@ msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:272 +#: src/pages/Index/Settings/SystemSettings.tsx:273 #: src/pages/company/CompanyDetail.tsx:214 -#: src/pages/part/PartDetail.tsx:580 +#: src/pages/part/PartDetail.tsx:593 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" @@ -1376,7 +1510,7 @@ msgid "Return Order" msgstr "" #: src/components/render/ModelType.tsx:164 -#: src/pages/Index/Settings/SystemSettings.tsx:288 +#: src/pages/Index/Settings/SystemSettings.tsx:289 #: src/pages/company/CompanyDetail.tsx:221 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1413,40 +1547,49 @@ msgid "Owners" msgstr "" #: src/components/render/ModelType.tsx:193 +#: src/tables/settings/ImportSessionTable.tsx:122 #: src/tables/stock/StockItemTestResultTable.tsx:193 #: src/tables/stock/StockTrackingTable.tsx:195 msgid "User" msgstr "" #: src/components/render/ModelType.tsx:194 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:85 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:90 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" msgstr "" #: src/components/render/ModelType.tsx:200 -msgid "Label Template" +msgid "Import Session" msgstr "" #: src/components/render/ModelType.tsx:201 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:139 -msgid "Label Templates" +msgid "Import Sessions" msgstr "" #: src/components/render/ModelType.tsx:207 -msgid "Report Template" +msgid "Label Template" msgstr "" #: src/components/render/ModelType.tsx:208 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:145 -msgid "Report Templates" +#: src/pages/Index/Settings/AdminCenter/Index.tsx:150 +msgid "Label Templates" msgstr "" #: src/components/render/ModelType.tsx:214 -msgid "Plugin Configuration" +msgid "Report Template" msgstr "" #: src/components/render/ModelType.tsx:215 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:156 +msgid "Report Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:221 +msgid "Plugin Configuration" +msgstr "" + +#: src/components/render/ModelType.tsx:222 msgid "Plugin Configurations" msgstr "" @@ -1458,7 +1601,7 @@ msgstr "" #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 #: src/pages/Index/Settings/SystemSettings.tsx:210 -#: src/pages/part/PartDetail.tsx:492 +#: src/pages/part/PartDetail.tsx:503 #: src/pages/stock/LocationDetail.tsx:347 #: src/pages/stock/StockDetail.tsx:356 #: src/tables/stock/StockItemTable.tsx:57 @@ -1641,10 +1784,6 @@ msgstr "" #~ msgid "Comment" #~ msgstr "Comment" -#: src/components/tables/general/AttachmentTable.tsx:56 -#~ msgid "Uploaded" -#~ msgstr "Uploaded" - #: src/components/tables/part/PartCategoryTable.tsx:122 #~ msgid "Part category updated" #~ msgstr "Part category updated" @@ -2157,7 +2296,7 @@ msgid "Recently Updated" msgstr "" #: src/defaults/dashboardItems.tsx:50 -#: src/tables/part/PartTable.tsx:216 +#: src/tables/part/PartTable.tsx:223 msgid "Low Stock" msgstr "" @@ -2466,7 +2605,7 @@ msgstr "" #~ msgid "Company updated" #~ msgstr "Company updated" -#: src/forms/PartForms.tsx:100 +#: src/forms/PartForms.tsx:103 msgid "Parent part category" msgstr "" @@ -2534,7 +2673,7 @@ msgstr "" #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 #: src/pages/stock/StockDetail.tsx:173 -#: src/tables/ColumnRenderers.tsx:34 +#: src/tables/ColumnRenderers.tsx:49 #: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" msgstr "" @@ -2585,8 +2724,8 @@ msgstr "" #: src/forms/StockForms.tsx:176 #: src/pages/stock/StockDetail.tsx:379 -#: src/tables/stock/StockItemTable.tsx:382 -#: src/tables/stock/StockItemTable.tsx:499 +#: src/tables/stock/StockItemTable.tsx:404 +#: src/tables/stock/StockItemTable.tsx:521 msgid "Add Stock Item" msgstr "" @@ -2606,9 +2745,9 @@ msgstr "" #: src/forms/StockForms.tsx:606 #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 -#: src/pages/part/PartDetail.tsx:202 -#: src/pages/part/PartDetail.tsx:655 -#: src/tables/stock/StockItemTable.tsx:290 +#: src/pages/part/PartDetail.tsx:203 +#: src/pages/part/PartDetail.tsx:668 +#: src/tables/stock/StockItemTable.tsx:312 msgid "In Stock" msgstr "" @@ -2649,12 +2788,12 @@ msgid "Remove Stock" msgstr "" #: src/forms/StockForms.tsx:803 -#: src/pages/part/PartDetail.tsx:782 +#: src/pages/part/PartDetail.tsx:823 msgid "Transfer Stock" msgstr "" #: src/forms/StockForms.tsx:812 -#: src/pages/part/PartDetail.tsx:771 +#: src/pages/part/PartDetail.tsx:812 msgid "Count Stock" msgstr "" @@ -3279,53 +3418,57 @@ msgstr "" #~ msgid "Advanced Amininistrative Options for InvenTree" #~ msgstr "Advanced Amininistrative Options for InvenTree" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:91 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:96 +msgid "Data Import" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:102 msgid "Background Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:97 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:108 msgid "Error Reports" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:103 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:114 msgid "Currencies" 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:132 msgid "Custom Units" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:138 #: src/pages/part/CategoryDetail.tsx:257 msgid "Part Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 -#~ msgid "Templates" -#~ msgstr "Templates" - -#: src/pages/Index/Settings/AdminCenter/Index.tsx:133 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:144 msgid "Category Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:151 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:162 msgid "Location types" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:163 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:174 #: src/tables/machine/MachineTypeTable.tsx:287 msgid "Machines" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:173 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:184 msgid "Quick Actions" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:178 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:189 msgid "Add a new user" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:199 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:210 msgid "Advanced Options" msgstr "" @@ -3477,7 +3620,7 @@ msgid "Reporting" msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:235 -#: src/pages/part/PartDetail.tsx:593 +#: src/pages/part/PartDetail.tsx:606 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" @@ -3485,12 +3628,12 @@ msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:241 #: src/pages/build/BuildDetail.tsx:423 #: src/pages/build/BuildIndex.tsx:14 -#: src/pages/part/PartDetail.tsx:527 +#: src/pages/part/PartDetail.tsx:540 #: src/pages/sales/SalesOrderDetail.tsx:270 msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:316 +#: src/pages/Index/Settings/SystemSettings.tsx:317 msgid "Switch to User Setting" msgstr "" @@ -3555,7 +3698,8 @@ msgstr "" #: 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/settings/ImportSessionTable.tsx:116 +#: src/tables/stock/StockItemTable.tsx:281 #: src/tables/stock/StockTrackingTable.tsx:52 msgid "Status" msgstr "" @@ -3564,7 +3708,7 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:104 #: src/pages/sales/ReturnOrderDetail.tsx:73 #: src/pages/sales/SalesOrderDetail.tsx:77 -#: src/tables/ColumnRenderers.tsx:106 +#: src/tables/ColumnRenderers.tsx:121 #: src/tables/build/BuildLineTable.tsx:140 msgid "Reference" msgstr "" @@ -3574,12 +3718,12 @@ msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:78 #: src/pages/company/SupplierPartDetail.tsx:85 #: src/pages/part/CategoryDetail.tsx:94 -#: src/pages/part/PartDetail.tsx:129 +#: src/pages/part/PartDetail.tsx:130 #: src/pages/purchasing/PurchaseOrderDetail.tsx:125 #: src/pages/sales/ReturnOrderDetail.tsx:93 #: src/pages/sales/SalesOrderDetail.tsx:97 #: src/pages/stock/LocationDetail.tsx:101 -#: src/tables/ColumnRenderers.tsx:66 +#: src/tables/ColumnRenderers.tsx:81 #: src/tables/machine/MachineTypeTable.tsx:69 #: src/tables/machine/MachineTypeTable.tsx:112 #: src/tables/machine/MachineTypeTable.tsx:219 @@ -3610,7 +3754,7 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:152 -#: src/pages/part/PartDetail.tsx:317 +#: src/pages/part/PartDetail.tsx:323 #: src/pages/purchasing/PurchaseOrderDetail.tsx:217 #: src/pages/sales/ReturnOrderDetail.tsx:186 #: src/pages/sales/SalesOrderDetail.tsx:190 @@ -3630,7 +3774,7 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:210 #: src/pages/sales/ReturnOrderDetail.tsx:179 #: src/pages/sales/SalesOrderDetail.tsx:183 -#: src/tables/ColumnRenderers.tsx:191 +#: src/tables/ColumnRenderers.tsx:206 msgid "Target Date" msgstr "" @@ -3711,7 +3855,7 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:297 #: src/pages/company/CompanyDetail.tsx:257 #: src/pages/company/ManufacturerPartDetail.tsx:174 -#: src/pages/part/PartDetail.tsx:616 +#: src/pages/part/PartDetail.tsx:629 #: src/pages/purchasing/PurchaseOrderDetail.tsx:279 #: src/pages/sales/ReturnOrderDetail.tsx:230 #: src/pages/sales/SalesOrderDetail.tsx:280 @@ -3721,7 +3865,7 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:305 #: src/pages/company/CompanyDetail.tsx:268 -#: src/pages/part/PartDetail.tsx:624 +#: src/pages/part/PartDetail.tsx:637 #: src/pages/purchasing/PurchaseOrderDetail.tsx:290 #: src/pages/sales/ReturnOrderDetail.tsx:241 #: src/pages/sales/SalesOrderDetail.tsx:291 @@ -3877,12 +4021,12 @@ msgid "Manufacturer Part Details" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:148 -#: src/pages/part/PartDetail.tsx:486 +#: src/pages/part/PartDetail.tsx:492 msgid "Parameters" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:160 -#: src/pages/part/PartDetail.tsx:560 +#: src/pages/part/PartDetail.tsx:573 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" msgstr "" @@ -3907,7 +4051,7 @@ msgid "ManufacturerPart" msgstr "" #: src/pages/company/SupplierPartDetail.tsx:99 -#: src/tables/ColumnRenderers.tsx:117 +#: src/tables/ColumnRenderers.tsx:132 msgid "Note" msgstr "" @@ -4043,275 +4187,275 @@ msgstr "" msgid "Category Details" msgstr "" -#: src/pages/part/PartDetail.tsx:135 +#: src/pages/part/PartDetail.tsx:136 msgid "Variant of" msgstr "" -#: src/pages/part/PartDetail.tsx:142 +#: src/pages/part/PartDetail.tsx:143 #: src/tables/notifications/NotificationsTable.tsx:31 #: src/tables/part/PartCategoryTemplateTable.tsx:67 msgid "Category" msgstr "" -#: src/pages/part/PartDetail.tsx:148 +#: src/pages/part/PartDetail.tsx:149 msgid "Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:155 +#: src/pages/part/PartDetail.tsx:156 msgid "Category Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:162 +#: src/pages/part/PartDetail.tsx:163 msgid "IPN" msgstr "" -#: src/pages/part/PartDetail.tsx:169 +#: src/pages/part/PartDetail.tsx:170 msgid "Revision" msgstr "" -#: src/pages/part/PartDetail.tsx:176 +#: src/pages/part/PartDetail.tsx:177 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" msgstr "" -#: src/pages/part/PartDetail.tsx:183 +#: src/pages/part/PartDetail.tsx:184 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:190 +#: src/pages/part/PartDetail.tsx:191 #: src/pages/purchasing/PurchaseOrderDetail.tsx:183 #: src/pages/sales/ReturnOrderDetail.tsx:152 #: src/pages/sales/SalesOrderDetail.tsx:156 msgid "Link" msgstr "" -#: src/pages/part/PartDetail.tsx:208 -#: src/tables/bom/BomTable.tsx:276 +#: src/pages/part/PartDetail.tsx:209 +#: src/tables/bom/BomTable.tsx:279 #: src/tables/build/BuildLineTable.tsx:121 -#: src/tables/part/PartTable.tsx:256 +#: src/tables/part/PartTable.tsx:263 msgid "Available Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:215 +#: src/pages/part/PartDetail.tsx:216 msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:221 -#: src/tables/bom/BomTable.tsx:217 +#: src/pages/part/PartDetail.tsx:222 +#: src/tables/bom/BomTable.tsx:220 #: src/tables/build/BuildLineTable.tsx:95 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:230 +#: src/pages/part/PartDetail.tsx:231 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:238 +#: src/pages/part/PartDetail.tsx:239 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:245 -#: src/tables/bom/BomTable.tsx:241 +#: src/pages/part/PartDetail.tsx:246 +#: src/tables/bom/BomTable.tsx:244 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:252 -#: src/tables/bom/BomTable.tsx:225 -#: src/tables/part/PartTable.tsx:82 +#: src/pages/part/PartDetail.tsx:253 +#: src/tables/bom/BomTable.tsx:228 +#: src/tables/part/PartTable.tsx:83 msgid "Building" msgstr "" -#: src/pages/part/PartDetail.tsx:261 +#: src/pages/part/PartDetail.tsx:262 #: src/tables/bom/UsedInTable.tsx:73 #: src/tables/build/BuildOrderTable.tsx:108 #: src/tables/company/CompanyTable.tsx:61 #: src/tables/company/CompanyTable.tsx:95 #: src/tables/machine/MachineListTable.tsx:323 #: src/tables/machine/MachineListTable.tsx:585 -#: src/tables/part/PartTable.tsx:168 +#: src/tables/part/PartTable.tsx:169 #: src/tables/part/PartVariantTable.tsx:15 #: 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 +#: src/tables/stock/StockItemTable.tsx:276 msgid "Active" msgstr "" -#: src/pages/part/PartDetail.tsx:266 +#: src/pages/part/PartDetail.tsx:272 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:271 -#: src/tables/bom/BomTable.tsx:271 +#: src/pages/part/PartDetail.tsx:277 +#: src/tables/bom/BomTable.tsx:274 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:276 +#: src/pages/part/PartDetail.tsx:282 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:281 -#: src/tables/bom/BomTable.tsx:266 +#: src/pages/part/PartDetail.tsx:287 +#: src/tables/bom/BomTable.tsx:269 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:286 +#: src/pages/part/PartDetail.tsx:292 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:291 +#: src/pages/part/PartDetail.tsx:297 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:296 +#: src/pages/part/PartDetail.tsx:302 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:304 -#: src/tables/ColumnRenderers.tsx:199 +#: src/pages/part/PartDetail.tsx:310 +#: src/tables/ColumnRenderers.tsx:214 msgid "Creation Date" msgstr "" -#: src/pages/part/PartDetail.tsx:309 -msgid "Created By" -msgstr "" - #: src/pages/part/PartDetail.tsx:310 #~ msgid "Edit part" #~ msgstr "Edit part" +#: src/pages/part/PartDetail.tsx:315 +msgid "Created By" +msgstr "" + #: src/pages/part/PartDetail.tsx:322 #~ msgid "Duplicate part" #~ msgstr "Duplicate part" -#: src/pages/part/PartDetail.tsx:324 -msgid "Default Supplier" -msgstr "" - #: src/pages/part/PartDetail.tsx:327 #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:335 +#: src/pages/part/PartDetail.tsx:330 +msgid "Default Supplier" +msgstr "" + +#: src/pages/part/PartDetail.tsx:341 #: src/pages/part/pricing/BomPricingPanel.tsx:78 #: src/pages/part/pricing/VariantPricingPanel.tsx:95 -#: src/tables/part/PartTable.tsx:151 +#: src/tables/part/PartTable.tsx:152 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:374 +#: src/pages/part/PartDetail.tsx:380 #: src/pages/stock/StockDetail.tsx:133 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:409 +#: src/pages/part/PartDetail.tsx:415 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:480 +#: src/pages/part/PartDetail.tsx:486 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:506 +#: src/pages/part/PartDetail.tsx:517 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:513 +#: src/pages/part/PartDetail.tsx:524 #: src/pages/stock/StockDetail.tsx:286 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:520 +#: src/pages/part/PartDetail.tsx:531 msgid "Bill of Materials" msgstr "" -#: src/pages/part/PartDetail.tsx:534 +#: src/pages/part/PartDetail.tsx:547 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:541 +#: src/pages/part/PartDetail.tsx:554 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:547 +#: src/pages/part/PartDetail.tsx:560 #: src/pages/purchasing/PurchasingIndex.tsx:37 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:587 +#: src/pages/part/PartDetail.tsx:600 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:599 +#: src/pages/part/PartDetail.tsx:612 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:610 +#: src/pages/part/PartDetail.tsx:623 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:661 +#: src/pages/part/PartDetail.tsx:674 #: src/pages/stock/StockDetail.tsx:154 #: src/pages/stock/StockDetail.tsx:533 #: src/tables/build/BuildLineTable.tsx:36 -#: src/tables/part/PartTable.tsx:107 +#: src/tables/part/PartTable.tsx:108 #: src/tables/stock/StockItemTable.tsx:166 -#: src/tables/stock/StockItemTable.tsx:275 +#: src/tables/stock/StockItemTable.tsx:297 msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:667 +#: src/pages/part/PartDetail.tsx:680 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:673 -#: src/tables/bom/BomTable.tsx:281 -#: src/tables/part/PartTable.tsx:76 +#: src/pages/part/PartDetail.tsx:686 +#: src/tables/bom/BomTable.tsx:284 +#: src/tables/part/PartTable.tsx:77 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:679 +#: src/pages/part/PartDetail.tsx:692 #: src/pages/stock/StockDetail.tsx:516 -#: src/tables/stock/StockItemTable.tsx:295 +#: src/tables/stock/StockItemTable.tsx:317 msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:698 +#: src/pages/part/PartDetail.tsx:717 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:705 -#: src/tables/part/PartTable.tsx:289 -#: src/tables/part/PartTable.tsx:302 +#: src/pages/part/PartDetail.tsx:744 +#: src/tables/part/PartTable.tsx:296 +#: src/tables/part/PartTable.tsx:309 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:717 +#: src/pages/part/PartDetail.tsx:758 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:726 +#: src/pages/part/PartDetail.tsx:767 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:764 +#: src/pages/part/PartDetail.tsx:805 #: src/pages/stock/LocationDetail.tsx:304 -#: src/tables/stock/StockItemTable.tsx:409 +#: src/tables/stock/StockItemTable.tsx:431 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:772 +#: src/pages/part/PartDetail.tsx:813 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:824 msgid "Transfer part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:792 +#: src/pages/part/PartDetail.tsx:833 msgid "Part Actions" msgstr "" @@ -4359,8 +4503,8 @@ msgstr "" #: src/pages/part/pricing/BomPricingPanel.tsx:57 #: src/pages/part/pricing/BomPricingPanel.tsx:137 -#: src/tables/ColumnRenderers.tsx:241 -#: src/tables/bom/BomTable.tsx:165 +#: src/tables/ColumnRenderers.tsx:256 +#: src/tables/bom/BomTable.tsx:168 #: src/tables/purchasing/PurchaseOrderTable.tsx:112 #: src/tables/sales/ReturnOrderTable.tsx:104 #: src/tables/sales/SalesOrderTable.tsx:134 @@ -4369,7 +4513,7 @@ msgstr "" #: src/pages/part/pricing/BomPricingPanel.tsx:77 #: src/pages/part/pricing/BomPricingPanel.tsx:101 -#: src/tables/part/PartTable.tsx:186 +#: src/tables/part/PartTable.tsx:193 msgid "Component" msgstr "" @@ -4398,7 +4542,7 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:67 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:128 #: src/pages/part/pricing/SupplierPricingPanel.tsx:62 -#: src/tables/bom/BomTable.tsx:156 +#: src/tables/bom/BomTable.tsx:159 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 msgid "Unit Price" @@ -4498,7 +4642,7 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:40 #: src/pages/part/pricing/SaleHistoryPanel.tsx:36 -#: src/tables/ColumnRenderers.tsx:180 +#: src/tables/ColumnRenderers.tsx:195 #: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" @@ -4771,12 +4915,12 @@ msgid "Count stock" msgstr "" #: src/pages/stock/StockDetail.tsx:459 -#: src/tables/stock/StockItemTable.tsx:414 +#: src/tables/stock/StockItemTable.tsx:436 msgid "Add stock" msgstr "" #: src/pages/stock/StockDetail.tsx:467 -#: src/tables/stock/StockItemTable.tsx:423 +#: src/tables/stock/StockItemTable.tsx:445 msgid "Remove stock" msgstr "" @@ -4785,7 +4929,7 @@ msgid "Transfer" msgstr "" #: src/pages/stock/StockDetail.tsx:475 -#: src/tables/stock/StockItemTable.tsx:443 +#: src/tables/stock/StockItemTable.tsx:465 msgid "Transfer stock" msgstr "" @@ -4793,15 +4937,15 @@ msgstr "" msgid "Stock Item Actions" msgstr "" -#: src/tables/ColumnRenderers.tsx:42 +#: src/tables/ColumnRenderers.tsx:57 msgid "No location set" msgstr "" -#: src/tables/ColumnRenderers.tsx:207 +#: src/tables/ColumnRenderers.tsx:222 msgid "Shipment Date" msgstr "" -#: src/tables/ColumnRenderers.tsx:227 +#: src/tables/ColumnRenderers.tsx:242 #: src/tables/settings/CurrencyTable.tsx:23 msgid "Currency" msgstr "" @@ -4828,14 +4972,14 @@ msgid "TSV" msgstr "" #: src/tables/DownloadAction.tsx:24 -msgid "Excel (.xls)" -msgstr "" - -#: src/tables/DownloadAction.tsx:25 msgid "Excel (.xlsx)" msgstr "" -#: src/tables/DownloadAction.tsx:39 +#: src/tables/DownloadAction.tsx:24 +#~ msgid "Excel (.xls)" +#~ msgstr "" + +#: src/tables/DownloadAction.tsx:38 msgid "Download Data" msgstr "" @@ -4900,54 +5044,54 @@ msgstr "" msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:119 -#: src/tables/InvenTreeTable.tsx:390 -#: src/tables/InvenTreeTable.tsx:411 +#: src/tables/InvenTreeTable.tsx:126 +#: src/tables/InvenTreeTable.tsx:409 +#: src/tables/InvenTreeTable.tsx:430 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:422 +#: src/tables/InvenTreeTable.tsx:441 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:430 +#: src/tables/InvenTreeTable.tsx:449 msgid "Bad request" msgstr "" -#: src/tables/InvenTreeTable.tsx:433 +#: src/tables/InvenTreeTable.tsx:452 msgid "Unauthorized" msgstr "" -#: src/tables/InvenTreeTable.tsx:436 +#: src/tables/InvenTreeTable.tsx:455 msgid "Forbidden" msgstr "" -#: src/tables/InvenTreeTable.tsx:439 +#: src/tables/InvenTreeTable.tsx:458 msgid "Not found" msgstr "" -#: src/tables/InvenTreeTable.tsx:488 -#: src/tables/InvenTreeTable.tsx:606 +#: src/tables/InvenTreeTable.tsx:507 +#: src/tables/InvenTreeTable.tsx:623 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:492 +#: src/tables/InvenTreeTable.tsx:511 msgid "Are you sure you want to delete the selected records?" msgstr "" -#: src/tables/InvenTreeTable.tsx:494 +#: src/tables/InvenTreeTable.tsx:513 msgid "This action cannot be undone!" msgstr "" -#: src/tables/InvenTreeTable.tsx:517 +#: src/tables/InvenTreeTable.tsx:536 msgid "Deleted records" msgstr "" -#: src/tables/InvenTreeTable.tsx:518 +#: src/tables/InvenTreeTable.tsx:537 msgid "Records were deleted successfully" msgstr "" -#: src/tables/InvenTreeTable.tsx:527 +#: src/tables/InvenTreeTable.tsx:546 msgid "Failed to delete records" msgstr "" @@ -4956,140 +5100,144 @@ msgstr "" #~ msgid "Print actions" #~ msgstr "Print actions" -#: src/tables/InvenTreeTable.tsx:596 -#: src/tables/InvenTreeTable.tsx:597 +#: src/tables/InvenTreeTable.tsx:613 +#: src/tables/InvenTreeTable.tsx:614 msgid "Barcode actions" msgstr "" -#: src/tables/InvenTreeTable.tsx:625 +#: src/tables/InvenTreeTable.tsx:642 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTable.tsx:646 +#: src/tables/InvenTreeTable.tsx:663 msgid "Table filters" msgstr "" -#: src/tables/bom/BomTable.tsx:80 +#: src/tables/UploadAction.tsx:9 +msgid "Upload Data" +msgstr "" + +#: src/tables/bom/BomTable.tsx:83 msgid "This BOM item is defined for a different parent" msgstr "" -#: src/tables/bom/BomTable.tsx:95 +#: src/tables/bom/BomTable.tsx:98 msgid "Part Information" msgstr "" -#: src/tables/bom/BomTable.tsx:184 -#: src/tables/part/PartTable.tsx:124 +#: src/tables/bom/BomTable.tsx:187 +#: src/tables/part/PartTable.tsx:125 msgid "No stock" msgstr "" -#: src/tables/bom/BomTable.tsx:192 +#: src/tables/bom/BomTable.tsx:195 #: src/tables/build/BuildLineTable.tsx:104 -#: src/tables/part/PartTable.tsx:115 +#: src/tables/part/PartTable.tsx:116 msgid "External stock" msgstr "" -#: src/tables/bom/BomTable.tsx:200 +#: src/tables/bom/BomTable.tsx:203 #: src/tables/build/BuildLineTable.tsx:67 msgid "Includes substitute stock" msgstr "" -#: src/tables/bom/BomTable.tsx:209 +#: src/tables/bom/BomTable.tsx:212 #: src/tables/build/BuildLineTable.tsx:77 msgid "Includes variant stock" msgstr "" -#: src/tables/bom/BomTable.tsx:234 -#: src/tables/part/PartTable.tsx:143 +#: src/tables/bom/BomTable.tsx:237 +#: src/tables/part/PartTable.tsx:144 #: src/tables/stock/StockItemTable.tsx:205 msgid "Stock Information" msgstr "" -#: src/tables/bom/BomTable.tsx:246 +#: src/tables/bom/BomTable.tsx:249 #: src/tables/build/BuildLineTable.tsx:195 msgid "Consumable item" msgstr "" -#: src/tables/bom/BomTable.tsx:267 +#: src/tables/bom/BomTable.tsx:270 msgid "Show trackable items" msgstr "" -#: src/tables/bom/BomTable.tsx:272 +#: src/tables/bom/BomTable.tsx:275 msgid "Show asssmbled items" msgstr "" -#: src/tables/bom/BomTable.tsx:277 +#: src/tables/bom/BomTable.tsx:280 msgid "Show items with available stock" msgstr "" -#: src/tables/bom/BomTable.tsx:282 +#: src/tables/bom/BomTable.tsx:285 msgid "Show items on order" msgstr "" -#: src/tables/bom/BomTable.tsx:286 +#: src/tables/bom/BomTable.tsx:289 msgid "Validated" msgstr "" -#: src/tables/bom/BomTable.tsx:287 +#: src/tables/bom/BomTable.tsx:290 msgid "Show validated items" msgstr "" -#: src/tables/bom/BomTable.tsx:291 +#: src/tables/bom/BomTable.tsx:294 #: src/tables/bom/UsedInTable.tsx:63 msgid "Inherited" msgstr "" -#: src/tables/bom/BomTable.tsx:292 +#: src/tables/bom/BomTable.tsx:295 #: src/tables/bom/UsedInTable.tsx:64 msgid "Show inherited items" msgstr "" -#: src/tables/bom/BomTable.tsx:296 +#: src/tables/bom/BomTable.tsx:299 msgid "Allow Variants" msgstr "" -#: src/tables/bom/BomTable.tsx:297 +#: src/tables/bom/BomTable.tsx:300 msgid "Show items which allow variant substitution" msgstr "" #: src/tables/bom/BomTable.tsx:301 +#~ msgid "Create BOM Item" +#~ msgstr "Create BOM Item" + +#: src/tables/bom/BomTable.tsx:304 #: src/tables/bom/UsedInTable.tsx:68 #: src/tables/build/BuildLineTable.tsx:46 msgid "Optional" msgstr "" -#: src/tables/bom/BomTable.tsx:301 -#~ msgid "Create BOM Item" -#~ msgstr "Create BOM Item" - -#: src/tables/bom/BomTable.tsx:302 +#: src/tables/bom/BomTable.tsx:305 #: src/tables/bom/UsedInTable.tsx:69 msgid "Show optional items" msgstr "" -#: src/tables/bom/BomTable.tsx:306 +#: src/tables/bom/BomTable.tsx:309 #: src/tables/build/BuildLineTable.tsx:41 msgid "Consumable" msgstr "" -#: src/tables/bom/BomTable.tsx:307 +#: src/tables/bom/BomTable.tsx:310 msgid "Show consumable items" msgstr "" -#: src/tables/bom/BomTable.tsx:311 -#: src/tables/part/PartTable.tsx:250 +#: src/tables/bom/BomTable.tsx:314 +#: src/tables/part/PartTable.tsx:257 msgid "Has Pricing" msgstr "" -#: src/tables/bom/BomTable.tsx:312 +#: src/tables/bom/BomTable.tsx:315 msgid "Show items with pricing" msgstr "" -#: src/tables/bom/BomTable.tsx:321 -#: src/tables/bom/BomTable.tsx:420 +#: src/tables/bom/BomTable.tsx:324 +#: src/tables/bom/BomTable.tsx:426 msgid "Add BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:326 +#: src/tables/bom/BomTable.tsx:329 msgid "BOM item created" msgstr "" @@ -5097,23 +5245,23 @@ msgstr "" #~ msgid "Edit Bom Item" #~ msgstr "Edit Bom Item" -#: src/tables/bom/BomTable.tsx:333 -msgid "Edit BOM Item" -msgstr "" - #: src/tables/bom/BomTable.tsx:333 #~ msgid "Bom item updated" #~ msgstr "Bom item updated" -#: src/tables/bom/BomTable.tsx:335 +#: src/tables/bom/BomTable.tsx:336 +msgid "Edit BOM Item" +msgstr "" + +#: src/tables/bom/BomTable.tsx:338 msgid "BOM item updated" msgstr "" -#: src/tables/bom/BomTable.tsx:342 +#: src/tables/bom/BomTable.tsx:345 msgid "Delete BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:343 +#: src/tables/bom/BomTable.tsx:346 msgid "BOM item deleted" msgstr "" @@ -5133,32 +5281,41 @@ msgstr "" #~ msgid "Validate BOM line" #~ msgstr "Validate BOM line" -#: src/tables/bom/BomTable.tsx:355 +#: src/tables/bom/BomTable.tsx:358 msgid "BOM item validated" msgstr "" -#: src/tables/bom/BomTable.tsx:364 +#: src/tables/bom/BomTable.tsx:367 msgid "Failed to validate BOM item" msgstr "" -#: src/tables/bom/BomTable.tsx:376 +#: src/tables/bom/BomTable.tsx:379 msgid "View BOM" msgstr "" -#: src/tables/bom/BomTable.tsx:385 +#: src/tables/bom/BomTable.tsx:388 msgid "Validate BOM Line" msgstr "" -#: src/tables/bom/BomTable.tsx:399 +#: src/tables/bom/BomTable.tsx:405 msgid "Edit Substitutes" msgstr "" +#: src/tables/bom/BomTable.tsx:440 +#: src/tables/part/PartParameterTable.tsx:191 +msgid "Part is Locked" +msgstr "" + +#: src/tables/bom/BomTable.tsx:445 +msgid "Bill of materials cannot be edited, as the part is locked" +msgstr "" + #: src/tables/bom/UsedInTable.tsx:74 msgid "Show active assemblies" msgstr "" #: src/tables/bom/UsedInTable.tsx:78 -#: src/tables/part/PartTable.tsx:192 +#: src/tables/part/PartTable.tsx:199 #: src/tables/part/PartVariantTable.tsx:30 msgid "Trackable" msgstr "" @@ -5168,7 +5325,7 @@ msgid "Show trackable assemblies" msgstr "" #: src/tables/build/BuildLineTable.tsx:31 -#: src/tables/stock/StockItemTable.tsx:270 +#: src/tables/stock/StockItemTable.tsx:292 msgid "Allocated" msgstr "" @@ -5189,7 +5346,7 @@ msgid "Show optional lines" msgstr "" #: src/tables/build/BuildLineTable.tsx:51 -#: src/tables/stock/StockItemTable.tsx:329 +#: src/tables/stock/StockItemTable.tsx:351 msgid "Tracked" msgstr "" @@ -5302,10 +5459,6 @@ msgstr "" msgid "Deallocate stock from build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:205 -msgid "Complete" -msgstr "" - #: src/tables/build/BuildOutputTable.tsx:206 msgid "Complete build output" msgstr "" @@ -5635,7 +5788,7 @@ msgid "Message" msgstr "" #: src/tables/part/ParametricPartTable.tsx:76 -#: src/tables/part/PartParameterTable.tsx:88 +#: src/tables/part/PartParameterTable.tsx:95 msgid "Internal Units" msgstr "" @@ -5648,13 +5801,13 @@ msgid "Add Part Parameter" msgstr "" #: src/tables/part/ParametricPartTable.tsx:138 -#: src/tables/part/PartParameterTable.tsx:121 -#: src/tables/part/PartParameterTable.tsx:144 +#: src/tables/part/PartParameterTable.tsx:128 +#: src/tables/part/PartParameterTable.tsx:151 msgid "Edit Part Parameter" msgstr "" #: src/tables/part/PartCategoryTable.tsx:60 -#: src/tables/part/PartTable.tsx:180 +#: src/tables/part/PartTable.tsx:187 msgid "Include Subcategories" msgstr "" @@ -5667,7 +5820,7 @@ msgid "Show structural categories" msgstr "" #: src/tables/part/PartCategoryTable.tsx:70 -#: src/tables/part/PartTable.tsx:262 +#: src/tables/part/PartTable.tsx:269 msgid "Subscribed" msgstr "" @@ -5704,21 +5857,25 @@ msgstr "" #~ msgid "[{0}]" #~ msgstr "[{0}]" -#: src/tables/part/PartParameterTable.tsx:105 +#: src/tables/part/PartParameterTable.tsx:112 msgid "New Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:130 -#: src/tables/part/PartParameterTable.tsx:152 +#: src/tables/part/PartParameterTable.tsx:137 +#: src/tables/part/PartParameterTable.tsx:159 msgid "Delete Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:170 +#: src/tables/part/PartParameterTable.tsx:177 msgid "Add parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:191 -#: src/tables/stock/StockItemTable.tsx:300 +#: src/tables/part/PartParameterTable.tsx:196 +msgid "Part parameters cannot be edited, as the part is locked" +msgstr "" + +#: src/tables/part/PartParameterTable.tsx:210 +#: src/tables/stock/StockItemTable.tsx:322 msgid "Include Variants" msgstr "" @@ -5739,7 +5896,7 @@ msgid "Show templates with choices" msgstr "" #: src/tables/part/PartParameterTemplateTable.tsx:41 -#: src/tables/part/PartTable.tsx:198 +#: src/tables/part/PartTable.tsx:205 msgid "Has Units" msgstr "" @@ -5763,116 +5920,120 @@ msgstr "" msgid "Add parameter template" msgstr "" -#: src/tables/part/PartTable.tsx:67 +#: src/tables/part/PartTable.tsx:68 msgid "Minimum stock" msgstr "" -#: src/tables/part/PartTable.tsx:89 +#: src/tables/part/PartTable.tsx:90 msgid "Build Order Allocations" msgstr "" -#: src/tables/part/PartTable.tsx:98 +#: src/tables/part/PartTable.tsx:99 msgid "Sales Order Allocations" msgstr "" -#: src/tables/part/PartTable.tsx:169 +#: src/tables/part/PartTable.tsx:170 msgid "Filter by part active status" msgstr "" -#: src/tables/part/PartTable.tsx:174 -#: src/tables/stock/StockItemTable.tsx:265 +#: src/tables/part/PartTable.tsx:176 +msgid "Filter by part locked status" +msgstr "" + +#: src/tables/part/PartTable.tsx:181 +#: src/tables/stock/StockItemTable.tsx:287 msgid "Assembly" msgstr "" -#: src/tables/part/PartTable.tsx:175 +#: src/tables/part/PartTable.tsx:182 msgid "Filter by assembly attribute" msgstr "" -#: src/tables/part/PartTable.tsx:181 +#: src/tables/part/PartTable.tsx:188 msgid "Include parts in subcategories" msgstr "" -#: src/tables/part/PartTable.tsx:187 +#: src/tables/part/PartTable.tsx:194 msgid "Filter by component attribute" msgstr "" -#: src/tables/part/PartTable.tsx:193 +#: src/tables/part/PartTable.tsx:200 msgid "Filter by trackable attribute" msgstr "" -#: src/tables/part/PartTable.tsx:199 +#: src/tables/part/PartTable.tsx:206 msgid "Filter by parts which have units" msgstr "" -#: src/tables/part/PartTable.tsx:204 +#: src/tables/part/PartTable.tsx:211 msgid "Has IPN" msgstr "" -#: src/tables/part/PartTable.tsx:205 +#: src/tables/part/PartTable.tsx:212 msgid "Filter by parts which have an internal part number" msgstr "" -#: src/tables/part/PartTable.tsx:210 +#: src/tables/part/PartTable.tsx:217 msgid "Has Stock" msgstr "" -#: src/tables/part/PartTable.tsx:211 +#: src/tables/part/PartTable.tsx:218 msgid "Filter by parts which have stock" msgstr "" -#: src/tables/part/PartTable.tsx:217 +#: src/tables/part/PartTable.tsx:224 msgid "Filter by parts which have low stock" msgstr "" -#: src/tables/part/PartTable.tsx:222 +#: src/tables/part/PartTable.tsx:229 msgid "Purchaseable" msgstr "" -#: src/tables/part/PartTable.tsx:223 +#: src/tables/part/PartTable.tsx:230 msgid "Filter by parts which are purchaseable" msgstr "" -#: src/tables/part/PartTable.tsx:228 +#: src/tables/part/PartTable.tsx:235 msgid "Salable" msgstr "" -#: src/tables/part/PartTable.tsx:229 +#: src/tables/part/PartTable.tsx:236 msgid "Filter by parts which are salable" msgstr "" -#: src/tables/part/PartTable.tsx:235 +#: src/tables/part/PartTable.tsx:242 msgid "Filter by parts which are virtual" msgstr "" -#: src/tables/part/PartTable.tsx:239 +#: src/tables/part/PartTable.tsx:246 msgid "Not Virtual" msgstr "" -#: src/tables/part/PartTable.tsx:244 +#: src/tables/part/PartTable.tsx:251 msgid "Is Template" msgstr "" -#: src/tables/part/PartTable.tsx:245 +#: src/tables/part/PartTable.tsx:252 msgid "Filter by parts which are templates" msgstr "" -#: src/tables/part/PartTable.tsx:251 +#: src/tables/part/PartTable.tsx:258 msgid "Filter by parts which have pricing information" msgstr "" -#: src/tables/part/PartTable.tsx:257 +#: src/tables/part/PartTable.tsx:264 msgid "Filter by parts which have available stock" msgstr "" -#: src/tables/part/PartTable.tsx:263 +#: src/tables/part/PartTable.tsx:270 msgid "Filter by parts to which the user is subscribed" msgstr "" -#: src/tables/part/PartTable.tsx:268 +#: src/tables/part/PartTable.tsx:275 msgid "Has Stocktake" msgstr "" -#: src/tables/part/PartTable.tsx:269 +#: src/tables/part/PartTable.tsx:276 msgid "Filter by parts which have stocktake information" msgstr "" @@ -6211,7 +6372,7 @@ msgid "Sample" msgstr "" #: src/tables/plugin/PluginListTable.tsx:578 -#: src/tables/stock/StockItemTable.tsx:305 +#: src/tables/stock/StockItemTable.tsx:327 msgid "Installed" msgstr "" @@ -6486,6 +6647,41 @@ msgstr "" msgid "Edit group" msgstr "" +#: src/tables/settings/ImportSessionTable.tsx:39 +msgid "Delete Import Session" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:45 +#: src/tables/settings/ImportSessionTable.tsx:132 +msgid "Create Import Session" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:70 +msgid "Uploaded" +msgstr "Uploaded" + +#: src/tables/settings/ImportSessionTable.tsx:80 +msgid "Imported Rows" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:110 +#: src/tables/settings/TemplateTable.tsx:276 +msgid "Model Type" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:111 +#: src/tables/settings/TemplateTable.tsx:277 +msgid "Filter by target model type" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:117 +msgid "Filter by import session status" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:123 +msgid "Filter by user" +msgstr "" + #: src/tables/settings/PendingTasksTable.tsx:36 msgid "Arguments" msgstr "" @@ -6502,7 +6698,7 @@ msgstr "" msgid "Delete Project Code" msgstr "" -#: src/tables/settings/ProjectCodeTable.tsx:94 +#: src/tables/settings/ProjectCodeTable.tsx:92 msgid "Add project code" msgstr "" @@ -6571,14 +6767,6 @@ msgstr "" 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 "" @@ -6701,149 +6889,153 @@ msgstr "" msgid "This stock item has been depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:255 +#: src/tables/stock/StockItemTable.tsx:247 +msgid "Stock Value" +msgstr "" + +#: src/tables/stock/StockItemTable.tsx:277 msgid "Show stock for active parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:260 +#: src/tables/stock/StockItemTable.tsx:282 msgid "Filter by stock status" msgstr "" -#: src/tables/stock/StockItemTable.tsx:266 +#: src/tables/stock/StockItemTable.tsx:288 msgid "Show stock for assmebled parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:271 +#: src/tables/stock/StockItemTable.tsx:293 msgid "Show items which have been allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:276 +#: src/tables/stock/StockItemTable.tsx:298 msgid "Show items which are available" msgstr "" -#: src/tables/stock/StockItemTable.tsx:280 +#: src/tables/stock/StockItemTable.tsx:302 #: src/tables/stock/StockLocationTable.tsx:42 msgid "Include Sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:281 +#: src/tables/stock/StockItemTable.tsx:303 msgid "Include stock in sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:285 +#: src/tables/stock/StockItemTable.tsx:307 msgid "Depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:286 +#: src/tables/stock/StockItemTable.tsx:308 msgid "Show depleted stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:291 +#: src/tables/stock/StockItemTable.tsx:313 msgid "Show items which are in stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:296 +#: src/tables/stock/StockItemTable.tsx:318 msgid "Show items which are in production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:301 +#: src/tables/stock/StockItemTable.tsx:323 msgid "Include stock items for variant parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:306 +#: src/tables/stock/StockItemTable.tsx:328 msgid "Show stock items which are installed in other items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:310 +#: src/tables/stock/StockItemTable.tsx:332 msgid "Sent to Customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:311 +#: src/tables/stock/StockItemTable.tsx:333 msgid "Show items which have been sent to a customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:315 +#: src/tables/stock/StockItemTable.tsx:337 msgid "Is Serialized" msgstr "" -#: src/tables/stock/StockItemTable.tsx:316 +#: src/tables/stock/StockItemTable.tsx:338 msgid "Show items which have a serial number" msgstr "" -#: src/tables/stock/StockItemTable.tsx:323 +#: src/tables/stock/StockItemTable.tsx:345 msgid "Has Batch Code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:324 +#: src/tables/stock/StockItemTable.tsx:346 msgid "Show items which have a batch code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:330 +#: src/tables/stock/StockItemTable.tsx:352 msgid "Show tracked items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:334 +#: src/tables/stock/StockItemTable.tsx:356 msgid "Has Purchase Price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:335 +#: src/tables/stock/StockItemTable.tsx:357 msgid "Show items which have a purchase price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:343 +#: src/tables/stock/StockItemTable.tsx:365 msgid "External Location" msgstr "" -#: src/tables/stock/StockItemTable.tsx:344 +#: src/tables/stock/StockItemTable.tsx:366 msgid "Show items in an external location" msgstr "" -#: src/tables/stock/StockItemTable.tsx:416 +#: src/tables/stock/StockItemTable.tsx:438 msgid "Add a new stock item" msgstr "" -#: src/tables/stock/StockItemTable.tsx:425 +#: src/tables/stock/StockItemTable.tsx:447 msgid "Remove some quantity from a stock item" msgstr "" -#: src/tables/stock/StockItemTable.tsx:447 +#: src/tables/stock/StockItemTable.tsx:469 msgid "Move Stock items to new locations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:454 +#: src/tables/stock/StockItemTable.tsx:476 msgid "Change stock status" msgstr "" -#: src/tables/stock/StockItemTable.tsx:456 +#: src/tables/stock/StockItemTable.tsx:478 msgid "Change the status of stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:463 +#: src/tables/stock/StockItemTable.tsx:485 msgid "Merge stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:465 +#: src/tables/stock/StockItemTable.tsx:487 msgid "Merge stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:472 +#: src/tables/stock/StockItemTable.tsx:494 msgid "Order stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:474 -#: src/tables/stock/StockItemTable.tsx:480 +#: src/tables/stock/StockItemTable.tsx:496 +#: src/tables/stock/StockItemTable.tsx:502 msgid "Order new stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:478 +#: src/tables/stock/StockItemTable.tsx:500 msgid "Assign to customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:487 +#: src/tables/stock/StockItemTable.tsx:509 msgid "Delete stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:489 +#: src/tables/stock/StockItemTable.tsx:511 msgid "Delete stock items" msgstr "" @@ -6999,4 +7191,3 @@ msgstr "" #: src/views/MobileAppView.tsx:35 msgid "Ignore and continue to Desktop view" msgstr "" - diff --git a/src/frontend/src/locales/cs/messages.po b/src/frontend/src/locales/cs/messages.po index bb03c6ccc8c9..0b6fbbb333a4 100644 --- a/src/frontend/src/locales/cs/messages.po +++ b/src/frontend/src/locales/cs/messages.po @@ -49,16 +49,18 @@ msgstr "Tisk štítků byl úspěšně dokončen" #: src/components/buttons/PrintingActions.tsx:107 #: src/components/buttons/PrintingActions.tsx:144 #: src/components/editors/NotesEditor.tsx:65 -#: src/components/editors/NotesEditor.tsx:160 -#: src/components/forms/ApiForm.tsx:506 -#: src/components/forms/fields/ApiFormField.tsx:295 +#: src/components/editors/NotesEditor.tsx:165 +#: src/components/forms/ApiForm.tsx:513 +#: src/components/forms/fields/ApiFormField.tsx:306 +#: src/components/importer/ImportDataSelector.tsx:171 +#: src/components/importer/ImporterColumnSelector.tsx:112 #: src/components/modals/LicenseModal.tsx:75 #: src/components/nav/SearchDrawer.tsx:427 #: src/pages/ErrorPage.tsx:11 #: src/pages/part/PartPricingPanel.tsx:71 -#: src/tables/InvenTreeTable.tsx:451 -#: src/tables/InvenTreeTable.tsx:526 -#: src/tables/bom/BomTable.tsx:363 +#: src/tables/InvenTreeTable.tsx:470 +#: src/tables/InvenTreeTable.tsx:545 +#: src/tables/bom/BomTable.tsx:366 #: src/tables/stock/StockItemTestResultTable.tsx:294 msgid "Error" msgstr "Chyba" @@ -157,7 +159,7 @@ msgstr "Odstranit" #: src/functions/forms.tsx:196 #: src/hooks/UseForm.tsx:40 #: src/tables/FilterSelectDrawer.tsx:204 -#: src/tables/InvenTreeTable.tsx:499 +#: src/tables/InvenTreeTable.tsx:518 #: src/tables/build/BuildOutputTable.tsx:225 msgid "Cancel" msgstr "Zrušit" @@ -175,7 +177,7 @@ msgid "Clear" msgstr "Vymazat" #: src/components/details/DetailsImage.tsx:227 -#: src/components/forms/ApiForm.tsx:573 +#: src/components/forms/ApiForm.tsx:580 #: src/contexts/ThemeContext.tsx:43 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:56 msgid "Submit" @@ -202,48 +204,61 @@ msgid "Delete image" msgstr "Smazat obrázek" #: src/components/details/PartIcons.tsx:28 +#: src/tables/ColumnRenderers.tsx:35 +msgid "Part is locked" +msgstr "" + +#: src/components/details/PartIcons.tsx:30 +#: src/pages/part/PartDetail.tsx:267 +#: src/pages/part/PartDetail.tsx:698 +#: src/tables/part/PartTable.tsx:175 +msgid "Locked" +msgstr "" + +#: src/components/details/PartIcons.tsx:35 +#: src/tables/ColumnRenderers.tsx:30 msgid "Part is not active" msgstr "Součást není aktivní" -#: src/components/details/PartIcons.tsx:34 +#: src/components/details/PartIcons.tsx:37 #: src/components/render/Plugin.tsx:17 #: src/pages/company/CompanyDetail.tsx:315 #: src/pages/company/SupplierPartDetail.tsx:307 -#: src/pages/part/PartDetail.tsx:685 +#: src/pages/part/PartDetail.tsx:704 msgid "Inactive" msgstr "Neaktivní" -#: src/components/details/PartIcons.tsx:41 +#: src/components/details/PartIcons.tsx:43 msgid "Part is a template part (variants can be made from this part)" msgstr "Součástka je šablonou (z této součástky jdou vytvořit varianty)" -#: src/components/details/PartIcons.tsx:47 +#: src/components/details/PartIcons.tsx:49 msgid "Part can be assembled from other parts" msgstr "Součástka může být sestavena z jiných součástek" -#: src/components/details/PartIcons.tsx:53 +#: src/components/details/PartIcons.tsx:55 msgid "Part can be used in assemblies" msgstr "Součástka může být použita v sestavách" -#: src/components/details/PartIcons.tsx:59 +#: src/components/details/PartIcons.tsx:61 msgid "Part stock is tracked by serial number" msgstr "Stav zásob je sledován sériovým číslem" -#: src/components/details/PartIcons.tsx:65 +#: src/components/details/PartIcons.tsx:67 msgid "Part can be purchased from external suppliers" msgstr "Část může být zakoupena od externích dodavatelů" -#: src/components/details/PartIcons.tsx:71 +#: src/components/details/PartIcons.tsx:73 msgid "Part can be sold to customers" msgstr "Část může být prodána zákazníkům" -#: src/components/details/PartIcons.tsx:76 +#: src/components/details/PartIcons.tsx:78 msgid "Part is virtual (not a physical part)" msgstr "Část je virtuální (nikoli fyzická část)" -#: src/components/details/PartIcons.tsx:82 -#: src/tables/part/PartTable.tsx:234 -#: src/tables/part/PartTable.tsx:238 +#: src/components/details/PartIcons.tsx:84 +#: src/tables/part/PartTable.tsx:241 +#: src/tables/part/PartTable.tsx:245 #: src/tables/part/PartVariantTable.tsx:25 msgid "Virtual" msgstr "Virtuální" @@ -252,29 +267,29 @@ msgstr "Virtuální" msgid "Image upload failed" msgstr "Nahrání obrázku se nezdařilo" -#: src/components/editors/NotesEditor.tsx:151 -#: src/components/forms/ApiForm.tsx:430 -#: src/tables/bom/BomTable.tsx:354 +#: src/components/editors/NotesEditor.tsx:156 +#: src/components/forms/ApiForm.tsx:437 +#: src/tables/bom/BomTable.tsx:357 msgid "Success" msgstr "Dokončeno" -#: src/components/editors/NotesEditor.tsx:152 +#: src/components/editors/NotesEditor.tsx:157 msgid "Notes saved successfully" msgstr "Poznámky byly úspěšně uloženy" -#: src/components/editors/NotesEditor.tsx:161 +#: src/components/editors/NotesEditor.tsx:166 msgid "Failed to save notes" msgstr "Nepodařilo se uložit poznámky" -#: src/components/editors/NotesEditor.tsx:193 +#: src/components/editors/NotesEditor.tsx:198 msgid "Preview Notes" msgstr "Náhled poznámek" -#: src/components/editors/NotesEditor.tsx:193 +#: src/components/editors/NotesEditor.tsx:198 msgid "Edit Notes" msgstr "Upravit poznámky" -#: src/components/editors/NotesEditor.tsx:207 +#: src/components/editors/NotesEditor.tsx:212 msgid "Save Notes" msgstr "Uložit poznámky" @@ -407,7 +422,7 @@ msgstr "" msgid "A server error occurred" msgstr "" -#: src/components/forms/ApiForm.tsx:149 +#: src/components/forms/ApiForm.tsx:151 #: src/functions/forms.tsx:259 msgid "Form Error" msgstr "Chyba formuláře" @@ -416,18 +431,18 @@ msgstr "Chyba formuláře" #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:611 +#: src/components/forms/ApiForm.tsx:618 #: src/tables/plugin/PluginListTable.tsx:388 msgid "Update" msgstr "Aktualizovat" -#: src/components/forms/ApiForm.tsx:631 +#: src/components/forms/ApiForm.tsx:638 #: 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:498 +#: src/tables/InvenTreeTable.tsx:517 #: src/tables/RowActions.tsx:71 #: src/tables/plugin/PluginListTable.tsx:420 msgid "Delete" @@ -600,7 +615,7 @@ msgstr "Server" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:70 #: src/pages/part/CategoryDetail.tsx:80 -#: src/pages/part/PartDetail.tsx:122 +#: src/pages/part/PartDetail.tsx:123 #: src/pages/stock/LocationDetail.tsx:87 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 @@ -685,6 +700,124 @@ msgstr "Nejsou žádné záznamy" msgid "Thumbnail" msgstr "Náhled" +#: src/components/importer/ImportDataSelector.tsx:154 +msgid "Importing Rows" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:155 +msgid "Please wait while the data is imported" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:172 +msgid "An error occurred while importing data" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:191 +msgid "Edit Data" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:218 +msgid "Delete Row" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:248 +msgid "Row" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:266 +msgid "Row contains errors" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:307 +msgid "Accept" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:340 +msgid "Valid" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:341 +msgid "Filter by row validation status" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:346 +#: src/tables/build/BuildOutputTable.tsx:205 +msgid "Complete" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:347 +msgid "Filter by row completion status" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:364 +msgid "Import selected rows" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:46 +#: src/components/importer/ImporterColumnSelector.tsx:85 +msgid "An error occurred" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:57 +msgid "Select column, or leave blank to ignore this field." +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:91 +msgid "Select a column from the data file" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:104 +msgid "Map data columns to database fields" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:109 +msgid "Accept Column Mapping" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:117 +msgid "Database Field" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:118 +msgid "Field Description" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:119 +msgid "Imported Column Name" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:44 +msgid "Import Data" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:45 +msgid "Map Columns" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:46 +msgid "Process Data" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:47 +msgid "Complete Import" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:91 +msgid "Importing Data" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:97 +msgid "Cancel import session" +msgstr "" + +#: src/components/importer/ImporterImportProgress.tsx:36 +msgid "Importing Records" +msgstr "" + +#: src/components/importer/ImporterImportProgress.tsx:39 +msgid "Imported rows" +msgstr "" + #: src/components/items/ActionDropdown.tsx:119 #: src/pages/build/BuildDetail.tsx:358 msgid "Barcode Actions" @@ -738,7 +871,7 @@ msgid "Read More" msgstr "Zjistit více" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:443 +#: src/tables/InvenTreeTable.tsx:462 msgid "Unknown error" msgstr "Neznámá chyba" @@ -1039,13 +1172,13 @@ msgstr "Nastavení účtu" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:313 +#: src/pages/Index/Settings/SystemSettings.tsx:314 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:198 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:209 msgid "Admin Center" msgstr "Centrum správce" @@ -1088,7 +1221,7 @@ msgid "Pages" msgstr "Stránky" #: src/components/nav/NavigationDrawer.tsx:65 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:157 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:168 #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:41 msgid "Plugins" msgstr "Pluginy" @@ -1102,7 +1235,7 @@ msgstr "Dokumentace" msgid "About" msgstr "O aplikaci" -#: src/components/nav/NotificationDrawer.tsx:78 +#: src/components/nav/NotificationDrawer.tsx:81 #: src/pages/Index/Settings/SystemSettings.tsx:108 #: src/pages/Index/Settings/UserSettings.tsx:96 #: src/pages/Notifications.tsx:65 @@ -1110,17 +1243,17 @@ msgstr "O aplikaci" msgid "Notifications" msgstr "Notifikace" -#: src/components/nav/NotificationDrawer.tsx:95 +#: src/components/nav/NotificationDrawer.tsx:98 msgid "You have no unread notifications." msgstr "Nemáš žádné nové notifikace." -#: src/components/nav/NotificationDrawer.tsx:111 -#: src/components/nav/NotificationDrawer.tsx:117 +#: src/components/nav/NotificationDrawer.tsx:114 +#: src/components/nav/NotificationDrawer.tsx:120 #: src/tables/notifications/NotificationsTable.tsx:36 msgid "Notification" msgstr "Notifikace" -#: src/components/nav/NotificationDrawer.tsx:140 +#: src/components/nav/NotificationDrawer.tsx:143 #: src/pages/Notifications.tsx:73 msgid "Mark as read" msgstr "Označit jako přečtené" @@ -1157,7 +1290,7 @@ msgstr "" msgid "No results available for search query" msgstr "" -#: src/components/render/Instance.tsx:166 +#: src/components/render/Instance.tsx:201 msgid "Unknown model: {model}" msgstr "" @@ -1172,7 +1305,8 @@ msgstr "" #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 #: src/pages/build/BuildDetail.tsx:85 -#: src/pages/part/PartDetail.tsx:831 +#: src/pages/part/PartDetail.tsx:872 +#: src/tables/part/PartTable.tsx:28 #: src/tables/part/RelatedPartTable.tsx:45 #: src/tables/stock/StockTrackingTable.tsx:74 msgid "Part" @@ -1185,7 +1319,7 @@ msgstr "Díl" #: src/pages/part/CategoryDetail.tsx:112 #: src/pages/part/CategoryDetail.tsx:237 #: src/pages/part/CategoryDetail.tsx:267 -#: src/pages/part/PartDetail.tsx:639 +#: src/pages/part/PartDetail.tsx:652 msgid "Parts" msgstr "Díly" @@ -1235,7 +1369,7 @@ msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:172 #: src/pages/part/CategoryDetail.tsx:251 #: src/pages/part/CategoryDetail.tsx:288 -#: src/pages/part/PartDetail.tsx:821 +#: src/pages/part/PartDetail.tsx:862 msgid "Part Categories" msgstr "" @@ -1317,7 +1451,7 @@ msgid "Project Code" msgstr "Kód projektu" #: src/components/render/ModelType.tsx:127 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:109 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:120 msgid "Project Codes" msgstr "Kódy projektu" @@ -1329,10 +1463,10 @@ msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:134 -#: src/pages/Index/Settings/SystemSettings.tsx:257 +#: src/pages/Index/Settings/SystemSettings.tsx:258 #: src/pages/company/CompanyDetail.tsx:194 #: src/pages/company/SupplierPartDetail.tsx:226 -#: src/pages/part/PartDetail.tsx:573 +#: src/pages/part/PartDetail.tsx:586 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "" @@ -1354,9 +1488,9 @@ msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:272 +#: src/pages/Index/Settings/SystemSettings.tsx:273 #: src/pages/company/CompanyDetail.tsx:214 -#: src/pages/part/PartDetail.tsx:580 +#: src/pages/part/PartDetail.tsx:593 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" @@ -1376,7 +1510,7 @@ msgid "Return Order" msgstr "" #: src/components/render/ModelType.tsx:164 -#: src/pages/Index/Settings/SystemSettings.tsx:288 +#: src/pages/Index/Settings/SystemSettings.tsx:289 #: src/pages/company/CompanyDetail.tsx:221 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1413,40 +1547,49 @@ msgid "Owners" msgstr "Správci" #: src/components/render/ModelType.tsx:193 +#: src/tables/settings/ImportSessionTable.tsx:122 #: src/tables/stock/StockItemTestResultTable.tsx:193 #: src/tables/stock/StockTrackingTable.tsx:195 msgid "User" msgstr "Uživatel" #: src/components/render/ModelType.tsx:194 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:85 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:90 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" msgstr "Uživatelé" #: src/components/render/ModelType.tsx:200 -msgid "Label Template" +msgid "Import Session" msgstr "" #: src/components/render/ModelType.tsx:201 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:139 -msgid "Label Templates" +msgid "Import Sessions" msgstr "" #: src/components/render/ModelType.tsx:207 -msgid "Report Template" +msgid "Label Template" msgstr "" #: src/components/render/ModelType.tsx:208 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:145 -msgid "Report Templates" +#: src/pages/Index/Settings/AdminCenter/Index.tsx:150 +msgid "Label Templates" msgstr "" #: src/components/render/ModelType.tsx:214 -msgid "Plugin Configuration" +msgid "Report Template" msgstr "" #: src/components/render/ModelType.tsx:215 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:156 +msgid "Report Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:221 +msgid "Plugin Configuration" +msgstr "" + +#: src/components/render/ModelType.tsx:222 msgid "Plugin Configurations" msgstr "" @@ -1458,7 +1601,7 @@ msgstr "" #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 #: src/pages/Index/Settings/SystemSettings.tsx:210 -#: src/pages/part/PartDetail.tsx:492 +#: src/pages/part/PartDetail.tsx:503 #: src/pages/stock/LocationDetail.tsx:347 #: src/pages/stock/StockDetail.tsx:356 #: src/tables/stock/StockItemTable.tsx:57 @@ -1641,10 +1784,6 @@ msgstr "" #~ msgid "Comment" #~ msgstr "Comment" -#: src/components/tables/general/AttachmentTable.tsx:56 -#~ msgid "Uploaded" -#~ msgstr "Uploaded" - #: src/components/tables/part/PartCategoryTable.tsx:122 #~ msgid "Part category updated" #~ msgstr "Part category updated" @@ -2157,7 +2296,7 @@ msgid "Recently Updated" msgstr "Nedávno aktualizované" #: src/defaults/dashboardItems.tsx:50 -#: src/tables/part/PartTable.tsx:216 +#: src/tables/part/PartTable.tsx:223 msgid "Low Stock" msgstr "Nízké zásoby" @@ -2466,7 +2605,7 @@ msgstr "" #~ msgid "Company updated" #~ msgstr "Company updated" -#: src/forms/PartForms.tsx:100 +#: src/forms/PartForms.tsx:103 msgid "Parent part category" msgstr "Nadřazená kategorie" @@ -2534,7 +2673,7 @@ msgstr "" #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 #: src/pages/stock/StockDetail.tsx:173 -#: src/tables/ColumnRenderers.tsx:34 +#: src/tables/ColumnRenderers.tsx:49 #: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" msgstr "Lokace" @@ -2585,8 +2724,8 @@ msgstr "" #: src/forms/StockForms.tsx:176 #: src/pages/stock/StockDetail.tsx:379 -#: src/tables/stock/StockItemTable.tsx:382 -#: src/tables/stock/StockItemTable.tsx:499 +#: src/tables/stock/StockItemTable.tsx:404 +#: src/tables/stock/StockItemTable.tsx:521 msgid "Add Stock Item" msgstr "" @@ -2606,9 +2745,9 @@ msgstr "" #: src/forms/StockForms.tsx:606 #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 -#: src/pages/part/PartDetail.tsx:202 -#: src/pages/part/PartDetail.tsx:655 -#: src/tables/stock/StockItemTable.tsx:290 +#: src/pages/part/PartDetail.tsx:203 +#: src/pages/part/PartDetail.tsx:668 +#: src/tables/stock/StockItemTable.tsx:312 msgid "In Stock" msgstr "Na skladě" @@ -2649,12 +2788,12 @@ msgid "Remove Stock" msgstr "" #: src/forms/StockForms.tsx:803 -#: src/pages/part/PartDetail.tsx:782 +#: src/pages/part/PartDetail.tsx:823 msgid "Transfer Stock" msgstr "" #: src/forms/StockForms.tsx:812 -#: src/pages/part/PartDetail.tsx:771 +#: src/pages/part/PartDetail.tsx:812 msgid "Count Stock" msgstr "" @@ -3279,53 +3418,57 @@ msgstr "" #~ msgid "Advanced Amininistrative Options for InvenTree" #~ msgstr "Advanced Amininistrative Options for InvenTree" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:91 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:96 +msgid "Data Import" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:102 msgid "Background Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:97 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:108 msgid "Error Reports" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:103 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:114 msgid "Currencies" 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:132 msgid "Custom Units" msgstr "Vlastní jednotky" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:138 #: src/pages/part/CategoryDetail.tsx:257 msgid "Part Parameters" msgstr "Parametry dílu" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 -#~ msgid "Templates" -#~ msgstr "Templates" - -#: src/pages/Index/Settings/AdminCenter/Index.tsx:133 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:144 msgid "Category Parameters" msgstr "Parametry kategorie" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:151 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:162 msgid "Location types" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:163 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:174 #: src/tables/machine/MachineTypeTable.tsx:287 msgid "Machines" msgstr "Stroje" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:173 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:184 msgid "Quick Actions" msgstr "Rychlá volba" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:178 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:189 msgid "Add a new user" msgstr "Přidat nového uživatele" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:199 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:210 msgid "Advanced Options" msgstr "Pokročilá nastavení" @@ -3477,7 +3620,7 @@ msgid "Reporting" msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:235 -#: src/pages/part/PartDetail.tsx:593 +#: src/pages/part/PartDetail.tsx:606 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" @@ -3485,12 +3628,12 @@ msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:241 #: src/pages/build/BuildDetail.tsx:423 #: src/pages/build/BuildIndex.tsx:14 -#: src/pages/part/PartDetail.tsx:527 +#: src/pages/part/PartDetail.tsx:540 #: src/pages/sales/SalesOrderDetail.tsx:270 msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:316 +#: src/pages/Index/Settings/SystemSettings.tsx:317 msgid "Switch to User Setting" msgstr "" @@ -3555,7 +3698,8 @@ msgstr "Označit jako nepřečtenou" #: 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/settings/ImportSessionTable.tsx:116 +#: src/tables/stock/StockItemTable.tsx:281 #: src/tables/stock/StockTrackingTable.tsx:52 msgid "Status" msgstr "Stav" @@ -3564,7 +3708,7 @@ msgstr "Stav" #: src/pages/purchasing/PurchaseOrderDetail.tsx:104 #: src/pages/sales/ReturnOrderDetail.tsx:73 #: src/pages/sales/SalesOrderDetail.tsx:77 -#: src/tables/ColumnRenderers.tsx:106 +#: src/tables/ColumnRenderers.tsx:121 #: src/tables/build/BuildLineTable.tsx:140 msgid "Reference" msgstr "Reference" @@ -3574,12 +3718,12 @@ msgstr "Reference" #: src/pages/company/ManufacturerPartDetail.tsx:78 #: src/pages/company/SupplierPartDetail.tsx:85 #: src/pages/part/CategoryDetail.tsx:94 -#: src/pages/part/PartDetail.tsx:129 +#: src/pages/part/PartDetail.tsx:130 #: src/pages/purchasing/PurchaseOrderDetail.tsx:125 #: src/pages/sales/ReturnOrderDetail.tsx:93 #: src/pages/sales/SalesOrderDetail.tsx:97 #: src/pages/stock/LocationDetail.tsx:101 -#: src/tables/ColumnRenderers.tsx:66 +#: src/tables/ColumnRenderers.tsx:81 #: src/tables/machine/MachineTypeTable.tsx:69 #: src/tables/machine/MachineTypeTable.tsx:112 #: src/tables/machine/MachineTypeTable.tsx:219 @@ -3610,7 +3754,7 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:152 -#: src/pages/part/PartDetail.tsx:317 +#: src/pages/part/PartDetail.tsx:323 #: src/pages/purchasing/PurchaseOrderDetail.tsx:217 #: src/pages/sales/ReturnOrderDetail.tsx:186 #: src/pages/sales/SalesOrderDetail.tsx:190 @@ -3630,7 +3774,7 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:210 #: src/pages/sales/ReturnOrderDetail.tsx:179 #: src/pages/sales/SalesOrderDetail.tsx:183 -#: src/tables/ColumnRenderers.tsx:191 +#: src/tables/ColumnRenderers.tsx:206 msgid "Target Date" msgstr "" @@ -3711,7 +3855,7 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:297 #: src/pages/company/CompanyDetail.tsx:257 #: src/pages/company/ManufacturerPartDetail.tsx:174 -#: src/pages/part/PartDetail.tsx:616 +#: src/pages/part/PartDetail.tsx:629 #: src/pages/purchasing/PurchaseOrderDetail.tsx:279 #: src/pages/sales/ReturnOrderDetail.tsx:230 #: src/pages/sales/SalesOrderDetail.tsx:280 @@ -3721,7 +3865,7 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:305 #: src/pages/company/CompanyDetail.tsx:268 -#: src/pages/part/PartDetail.tsx:624 +#: src/pages/part/PartDetail.tsx:637 #: src/pages/purchasing/PurchaseOrderDetail.tsx:290 #: src/pages/sales/ReturnOrderDetail.tsx:241 #: src/pages/sales/SalesOrderDetail.tsx:291 @@ -3877,12 +4021,12 @@ msgid "Manufacturer Part Details" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:148 -#: src/pages/part/PartDetail.tsx:486 +#: src/pages/part/PartDetail.tsx:492 msgid "Parameters" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:160 -#: src/pages/part/PartDetail.tsx:560 +#: src/pages/part/PartDetail.tsx:573 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" msgstr "" @@ -3907,7 +4051,7 @@ msgid "ManufacturerPart" msgstr "" #: src/pages/company/SupplierPartDetail.tsx:99 -#: src/tables/ColumnRenderers.tsx:117 +#: src/tables/ColumnRenderers.tsx:132 msgid "Note" msgstr "" @@ -4043,275 +4187,275 @@ msgstr "" msgid "Category Details" msgstr "" -#: src/pages/part/PartDetail.tsx:135 +#: src/pages/part/PartDetail.tsx:136 msgid "Variant of" msgstr "" -#: src/pages/part/PartDetail.tsx:142 +#: src/pages/part/PartDetail.tsx:143 #: src/tables/notifications/NotificationsTable.tsx:31 #: src/tables/part/PartCategoryTemplateTable.tsx:67 msgid "Category" msgstr "" -#: src/pages/part/PartDetail.tsx:148 +#: src/pages/part/PartDetail.tsx:149 msgid "Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:155 +#: src/pages/part/PartDetail.tsx:156 msgid "Category Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:162 +#: src/pages/part/PartDetail.tsx:163 msgid "IPN" msgstr "" -#: src/pages/part/PartDetail.tsx:169 +#: src/pages/part/PartDetail.tsx:170 msgid "Revision" msgstr "" -#: src/pages/part/PartDetail.tsx:176 +#: src/pages/part/PartDetail.tsx:177 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" msgstr "" -#: src/pages/part/PartDetail.tsx:183 +#: src/pages/part/PartDetail.tsx:184 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:190 +#: src/pages/part/PartDetail.tsx:191 #: src/pages/purchasing/PurchaseOrderDetail.tsx:183 #: src/pages/sales/ReturnOrderDetail.tsx:152 #: src/pages/sales/SalesOrderDetail.tsx:156 msgid "Link" msgstr "" -#: src/pages/part/PartDetail.tsx:208 -#: src/tables/bom/BomTable.tsx:276 +#: src/pages/part/PartDetail.tsx:209 +#: src/tables/bom/BomTable.tsx:279 #: src/tables/build/BuildLineTable.tsx:121 -#: src/tables/part/PartTable.tsx:256 +#: src/tables/part/PartTable.tsx:263 msgid "Available Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:215 +#: src/pages/part/PartDetail.tsx:216 msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:221 -#: src/tables/bom/BomTable.tsx:217 +#: src/pages/part/PartDetail.tsx:222 +#: src/tables/bom/BomTable.tsx:220 #: src/tables/build/BuildLineTable.tsx:95 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:230 +#: src/pages/part/PartDetail.tsx:231 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:238 +#: src/pages/part/PartDetail.tsx:239 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:245 -#: src/tables/bom/BomTable.tsx:241 +#: src/pages/part/PartDetail.tsx:246 +#: src/tables/bom/BomTable.tsx:244 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:252 -#: src/tables/bom/BomTable.tsx:225 -#: src/tables/part/PartTable.tsx:82 +#: src/pages/part/PartDetail.tsx:253 +#: src/tables/bom/BomTable.tsx:228 +#: src/tables/part/PartTable.tsx:83 msgid "Building" msgstr "" -#: src/pages/part/PartDetail.tsx:261 +#: src/pages/part/PartDetail.tsx:262 #: src/tables/bom/UsedInTable.tsx:73 #: src/tables/build/BuildOrderTable.tsx:108 #: src/tables/company/CompanyTable.tsx:61 #: src/tables/company/CompanyTable.tsx:95 #: src/tables/machine/MachineListTable.tsx:323 #: src/tables/machine/MachineListTable.tsx:585 -#: src/tables/part/PartTable.tsx:168 +#: src/tables/part/PartTable.tsx:169 #: src/tables/part/PartVariantTable.tsx:15 #: 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 +#: src/tables/stock/StockItemTable.tsx:276 msgid "Active" msgstr "" -#: src/pages/part/PartDetail.tsx:266 +#: src/pages/part/PartDetail.tsx:272 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:271 -#: src/tables/bom/BomTable.tsx:271 +#: src/pages/part/PartDetail.tsx:277 +#: src/tables/bom/BomTable.tsx:274 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:276 +#: src/pages/part/PartDetail.tsx:282 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:281 -#: src/tables/bom/BomTable.tsx:266 +#: src/pages/part/PartDetail.tsx:287 +#: src/tables/bom/BomTable.tsx:269 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:286 +#: src/pages/part/PartDetail.tsx:292 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:291 +#: src/pages/part/PartDetail.tsx:297 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:296 +#: src/pages/part/PartDetail.tsx:302 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:304 -#: src/tables/ColumnRenderers.tsx:199 +#: src/pages/part/PartDetail.tsx:310 +#: src/tables/ColumnRenderers.tsx:214 msgid "Creation Date" msgstr "" -#: src/pages/part/PartDetail.tsx:309 -msgid "Created By" -msgstr "" - #: src/pages/part/PartDetail.tsx:310 #~ msgid "Edit part" #~ msgstr "Edit part" +#: src/pages/part/PartDetail.tsx:315 +msgid "Created By" +msgstr "" + #: src/pages/part/PartDetail.tsx:322 #~ msgid "Duplicate part" #~ msgstr "Duplicate part" -#: src/pages/part/PartDetail.tsx:324 -msgid "Default Supplier" -msgstr "" - #: src/pages/part/PartDetail.tsx:327 #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:335 +#: src/pages/part/PartDetail.tsx:330 +msgid "Default Supplier" +msgstr "" + +#: src/pages/part/PartDetail.tsx:341 #: src/pages/part/pricing/BomPricingPanel.tsx:78 #: src/pages/part/pricing/VariantPricingPanel.tsx:95 -#: src/tables/part/PartTable.tsx:151 +#: src/tables/part/PartTable.tsx:152 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:374 +#: src/pages/part/PartDetail.tsx:380 #: src/pages/stock/StockDetail.tsx:133 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:409 +#: src/pages/part/PartDetail.tsx:415 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:480 +#: src/pages/part/PartDetail.tsx:486 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:506 +#: src/pages/part/PartDetail.tsx:517 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:513 +#: src/pages/part/PartDetail.tsx:524 #: src/pages/stock/StockDetail.tsx:286 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:520 +#: src/pages/part/PartDetail.tsx:531 msgid "Bill of Materials" msgstr "" -#: src/pages/part/PartDetail.tsx:534 +#: src/pages/part/PartDetail.tsx:547 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:541 +#: src/pages/part/PartDetail.tsx:554 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:547 +#: src/pages/part/PartDetail.tsx:560 #: src/pages/purchasing/PurchasingIndex.tsx:37 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:587 +#: src/pages/part/PartDetail.tsx:600 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:599 +#: src/pages/part/PartDetail.tsx:612 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:610 +#: src/pages/part/PartDetail.tsx:623 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:661 +#: src/pages/part/PartDetail.tsx:674 #: src/pages/stock/StockDetail.tsx:154 #: src/pages/stock/StockDetail.tsx:533 #: src/tables/build/BuildLineTable.tsx:36 -#: src/tables/part/PartTable.tsx:107 +#: src/tables/part/PartTable.tsx:108 #: src/tables/stock/StockItemTable.tsx:166 -#: src/tables/stock/StockItemTable.tsx:275 +#: src/tables/stock/StockItemTable.tsx:297 msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:667 +#: src/pages/part/PartDetail.tsx:680 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:673 -#: src/tables/bom/BomTable.tsx:281 -#: src/tables/part/PartTable.tsx:76 +#: src/pages/part/PartDetail.tsx:686 +#: src/tables/bom/BomTable.tsx:284 +#: src/tables/part/PartTable.tsx:77 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:679 +#: src/pages/part/PartDetail.tsx:692 #: src/pages/stock/StockDetail.tsx:516 -#: src/tables/stock/StockItemTable.tsx:295 +#: src/tables/stock/StockItemTable.tsx:317 msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:698 +#: src/pages/part/PartDetail.tsx:717 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:705 -#: src/tables/part/PartTable.tsx:289 -#: src/tables/part/PartTable.tsx:302 +#: src/pages/part/PartDetail.tsx:744 +#: src/tables/part/PartTable.tsx:296 +#: src/tables/part/PartTable.tsx:309 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:717 +#: src/pages/part/PartDetail.tsx:758 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:726 +#: src/pages/part/PartDetail.tsx:767 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:764 +#: src/pages/part/PartDetail.tsx:805 #: src/pages/stock/LocationDetail.tsx:304 -#: src/tables/stock/StockItemTable.tsx:409 +#: src/tables/stock/StockItemTable.tsx:431 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:772 +#: src/pages/part/PartDetail.tsx:813 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:824 msgid "Transfer part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:792 +#: src/pages/part/PartDetail.tsx:833 msgid "Part Actions" msgstr "" @@ -4359,8 +4503,8 @@ msgstr "" #: src/pages/part/pricing/BomPricingPanel.tsx:57 #: src/pages/part/pricing/BomPricingPanel.tsx:137 -#: src/tables/ColumnRenderers.tsx:241 -#: src/tables/bom/BomTable.tsx:165 +#: src/tables/ColumnRenderers.tsx:256 +#: src/tables/bom/BomTable.tsx:168 #: src/tables/purchasing/PurchaseOrderTable.tsx:112 #: src/tables/sales/ReturnOrderTable.tsx:104 #: src/tables/sales/SalesOrderTable.tsx:134 @@ -4369,7 +4513,7 @@ msgstr "" #: src/pages/part/pricing/BomPricingPanel.tsx:77 #: src/pages/part/pricing/BomPricingPanel.tsx:101 -#: src/tables/part/PartTable.tsx:186 +#: src/tables/part/PartTable.tsx:193 msgid "Component" msgstr "" @@ -4398,7 +4542,7 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:67 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:128 #: src/pages/part/pricing/SupplierPricingPanel.tsx:62 -#: src/tables/bom/BomTable.tsx:156 +#: src/tables/bom/BomTable.tsx:159 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 msgid "Unit Price" @@ -4498,7 +4642,7 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:40 #: src/pages/part/pricing/SaleHistoryPanel.tsx:36 -#: src/tables/ColumnRenderers.tsx:180 +#: src/tables/ColumnRenderers.tsx:195 #: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" @@ -4771,12 +4915,12 @@ msgid "Count stock" msgstr "" #: src/pages/stock/StockDetail.tsx:459 -#: src/tables/stock/StockItemTable.tsx:414 +#: src/tables/stock/StockItemTable.tsx:436 msgid "Add stock" msgstr "" #: src/pages/stock/StockDetail.tsx:467 -#: src/tables/stock/StockItemTable.tsx:423 +#: src/tables/stock/StockItemTable.tsx:445 msgid "Remove stock" msgstr "" @@ -4785,7 +4929,7 @@ msgid "Transfer" msgstr "" #: src/pages/stock/StockDetail.tsx:475 -#: src/tables/stock/StockItemTable.tsx:443 +#: src/tables/stock/StockItemTable.tsx:465 msgid "Transfer stock" msgstr "" @@ -4793,15 +4937,15 @@ msgstr "" msgid "Stock Item Actions" msgstr "" -#: src/tables/ColumnRenderers.tsx:42 +#: src/tables/ColumnRenderers.tsx:57 msgid "No location set" msgstr "" -#: src/tables/ColumnRenderers.tsx:207 +#: src/tables/ColumnRenderers.tsx:222 msgid "Shipment Date" msgstr "" -#: src/tables/ColumnRenderers.tsx:227 +#: src/tables/ColumnRenderers.tsx:242 #: src/tables/settings/CurrencyTable.tsx:23 msgid "Currency" msgstr "" @@ -4828,14 +4972,14 @@ msgid "TSV" msgstr "" #: src/tables/DownloadAction.tsx:24 -msgid "Excel (.xls)" -msgstr "" - -#: src/tables/DownloadAction.tsx:25 msgid "Excel (.xlsx)" msgstr "" -#: src/tables/DownloadAction.tsx:39 +#: src/tables/DownloadAction.tsx:24 +#~ msgid "Excel (.xls)" +#~ msgstr "" + +#: src/tables/DownloadAction.tsx:38 msgid "Download Data" msgstr "" @@ -4900,54 +5044,54 @@ msgstr "" msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:119 -#: src/tables/InvenTreeTable.tsx:390 -#: src/tables/InvenTreeTable.tsx:411 +#: src/tables/InvenTreeTable.tsx:126 +#: src/tables/InvenTreeTable.tsx:409 +#: src/tables/InvenTreeTable.tsx:430 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:422 +#: src/tables/InvenTreeTable.tsx:441 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:430 +#: src/tables/InvenTreeTable.tsx:449 msgid "Bad request" msgstr "" -#: src/tables/InvenTreeTable.tsx:433 +#: src/tables/InvenTreeTable.tsx:452 msgid "Unauthorized" msgstr "" -#: src/tables/InvenTreeTable.tsx:436 +#: src/tables/InvenTreeTable.tsx:455 msgid "Forbidden" msgstr "" -#: src/tables/InvenTreeTable.tsx:439 +#: src/tables/InvenTreeTable.tsx:458 msgid "Not found" msgstr "" -#: src/tables/InvenTreeTable.tsx:488 -#: src/tables/InvenTreeTable.tsx:606 +#: src/tables/InvenTreeTable.tsx:507 +#: src/tables/InvenTreeTable.tsx:623 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:492 +#: src/tables/InvenTreeTable.tsx:511 msgid "Are you sure you want to delete the selected records?" msgstr "" -#: src/tables/InvenTreeTable.tsx:494 +#: src/tables/InvenTreeTable.tsx:513 msgid "This action cannot be undone!" msgstr "" -#: src/tables/InvenTreeTable.tsx:517 +#: src/tables/InvenTreeTable.tsx:536 msgid "Deleted records" msgstr "" -#: src/tables/InvenTreeTable.tsx:518 +#: src/tables/InvenTreeTable.tsx:537 msgid "Records were deleted successfully" msgstr "" -#: src/tables/InvenTreeTable.tsx:527 +#: src/tables/InvenTreeTable.tsx:546 msgid "Failed to delete records" msgstr "" @@ -4956,140 +5100,144 @@ msgstr "" #~ msgid "Print actions" #~ msgstr "Print actions" -#: src/tables/InvenTreeTable.tsx:596 -#: src/tables/InvenTreeTable.tsx:597 +#: src/tables/InvenTreeTable.tsx:613 +#: src/tables/InvenTreeTable.tsx:614 msgid "Barcode actions" msgstr "" -#: src/tables/InvenTreeTable.tsx:625 +#: src/tables/InvenTreeTable.tsx:642 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTable.tsx:646 +#: src/tables/InvenTreeTable.tsx:663 msgid "Table filters" msgstr "" -#: src/tables/bom/BomTable.tsx:80 +#: src/tables/UploadAction.tsx:9 +msgid "Upload Data" +msgstr "" + +#: src/tables/bom/BomTable.tsx:83 msgid "This BOM item is defined for a different parent" msgstr "" -#: src/tables/bom/BomTable.tsx:95 +#: src/tables/bom/BomTable.tsx:98 msgid "Part Information" msgstr "" -#: src/tables/bom/BomTable.tsx:184 -#: src/tables/part/PartTable.tsx:124 +#: src/tables/bom/BomTable.tsx:187 +#: src/tables/part/PartTable.tsx:125 msgid "No stock" msgstr "" -#: src/tables/bom/BomTable.tsx:192 +#: src/tables/bom/BomTable.tsx:195 #: src/tables/build/BuildLineTable.tsx:104 -#: src/tables/part/PartTable.tsx:115 +#: src/tables/part/PartTable.tsx:116 msgid "External stock" msgstr "" -#: src/tables/bom/BomTable.tsx:200 +#: src/tables/bom/BomTable.tsx:203 #: src/tables/build/BuildLineTable.tsx:67 msgid "Includes substitute stock" msgstr "" -#: src/tables/bom/BomTable.tsx:209 +#: src/tables/bom/BomTable.tsx:212 #: src/tables/build/BuildLineTable.tsx:77 msgid "Includes variant stock" msgstr "" -#: src/tables/bom/BomTable.tsx:234 -#: src/tables/part/PartTable.tsx:143 +#: src/tables/bom/BomTable.tsx:237 +#: src/tables/part/PartTable.tsx:144 #: src/tables/stock/StockItemTable.tsx:205 msgid "Stock Information" msgstr "" -#: src/tables/bom/BomTable.tsx:246 +#: src/tables/bom/BomTable.tsx:249 #: src/tables/build/BuildLineTable.tsx:195 msgid "Consumable item" msgstr "" -#: src/tables/bom/BomTable.tsx:267 +#: src/tables/bom/BomTable.tsx:270 msgid "Show trackable items" msgstr "" -#: src/tables/bom/BomTable.tsx:272 +#: src/tables/bom/BomTable.tsx:275 msgid "Show asssmbled items" msgstr "" -#: src/tables/bom/BomTable.tsx:277 +#: src/tables/bom/BomTable.tsx:280 msgid "Show items with available stock" msgstr "" -#: src/tables/bom/BomTable.tsx:282 +#: src/tables/bom/BomTable.tsx:285 msgid "Show items on order" msgstr "" -#: src/tables/bom/BomTable.tsx:286 +#: src/tables/bom/BomTable.tsx:289 msgid "Validated" msgstr "" -#: src/tables/bom/BomTable.tsx:287 +#: src/tables/bom/BomTable.tsx:290 msgid "Show validated items" msgstr "" -#: src/tables/bom/BomTable.tsx:291 +#: src/tables/bom/BomTable.tsx:294 #: src/tables/bom/UsedInTable.tsx:63 msgid "Inherited" msgstr "" -#: src/tables/bom/BomTable.tsx:292 +#: src/tables/bom/BomTable.tsx:295 #: src/tables/bom/UsedInTable.tsx:64 msgid "Show inherited items" msgstr "" -#: src/tables/bom/BomTable.tsx:296 +#: src/tables/bom/BomTable.tsx:299 msgid "Allow Variants" msgstr "" -#: src/tables/bom/BomTable.tsx:297 +#: src/tables/bom/BomTable.tsx:300 msgid "Show items which allow variant substitution" msgstr "" #: src/tables/bom/BomTable.tsx:301 +#~ msgid "Create BOM Item" +#~ msgstr "Create BOM Item" + +#: src/tables/bom/BomTable.tsx:304 #: src/tables/bom/UsedInTable.tsx:68 #: src/tables/build/BuildLineTable.tsx:46 msgid "Optional" msgstr "" -#: src/tables/bom/BomTable.tsx:301 -#~ msgid "Create BOM Item" -#~ msgstr "Create BOM Item" - -#: src/tables/bom/BomTable.tsx:302 +#: src/tables/bom/BomTable.tsx:305 #: src/tables/bom/UsedInTable.tsx:69 msgid "Show optional items" msgstr "" -#: src/tables/bom/BomTable.tsx:306 +#: src/tables/bom/BomTable.tsx:309 #: src/tables/build/BuildLineTable.tsx:41 msgid "Consumable" msgstr "" -#: src/tables/bom/BomTable.tsx:307 +#: src/tables/bom/BomTable.tsx:310 msgid "Show consumable items" msgstr "" -#: src/tables/bom/BomTable.tsx:311 -#: src/tables/part/PartTable.tsx:250 +#: src/tables/bom/BomTable.tsx:314 +#: src/tables/part/PartTable.tsx:257 msgid "Has Pricing" msgstr "" -#: src/tables/bom/BomTable.tsx:312 +#: src/tables/bom/BomTable.tsx:315 msgid "Show items with pricing" msgstr "" -#: src/tables/bom/BomTable.tsx:321 -#: src/tables/bom/BomTable.tsx:420 +#: src/tables/bom/BomTable.tsx:324 +#: src/tables/bom/BomTable.tsx:426 msgid "Add BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:326 +#: src/tables/bom/BomTable.tsx:329 msgid "BOM item created" msgstr "" @@ -5097,23 +5245,23 @@ msgstr "" #~ msgid "Edit Bom Item" #~ msgstr "Edit Bom Item" -#: src/tables/bom/BomTable.tsx:333 -msgid "Edit BOM Item" -msgstr "" - #: src/tables/bom/BomTable.tsx:333 #~ msgid "Bom item updated" #~ msgstr "Bom item updated" -#: src/tables/bom/BomTable.tsx:335 +#: src/tables/bom/BomTable.tsx:336 +msgid "Edit BOM Item" +msgstr "" + +#: src/tables/bom/BomTable.tsx:338 msgid "BOM item updated" msgstr "" -#: src/tables/bom/BomTable.tsx:342 +#: src/tables/bom/BomTable.tsx:345 msgid "Delete BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:343 +#: src/tables/bom/BomTable.tsx:346 msgid "BOM item deleted" msgstr "" @@ -5133,32 +5281,41 @@ msgstr "" #~ msgid "Validate BOM line" #~ msgstr "Validate BOM line" -#: src/tables/bom/BomTable.tsx:355 +#: src/tables/bom/BomTable.tsx:358 msgid "BOM item validated" msgstr "" -#: src/tables/bom/BomTable.tsx:364 +#: src/tables/bom/BomTable.tsx:367 msgid "Failed to validate BOM item" msgstr "" -#: src/tables/bom/BomTable.tsx:376 +#: src/tables/bom/BomTable.tsx:379 msgid "View BOM" msgstr "" -#: src/tables/bom/BomTable.tsx:385 +#: src/tables/bom/BomTable.tsx:388 msgid "Validate BOM Line" msgstr "" -#: src/tables/bom/BomTable.tsx:399 +#: src/tables/bom/BomTable.tsx:405 msgid "Edit Substitutes" msgstr "" +#: src/tables/bom/BomTable.tsx:440 +#: src/tables/part/PartParameterTable.tsx:191 +msgid "Part is Locked" +msgstr "" + +#: src/tables/bom/BomTable.tsx:445 +msgid "Bill of materials cannot be edited, as the part is locked" +msgstr "" + #: src/tables/bom/UsedInTable.tsx:74 msgid "Show active assemblies" msgstr "" #: src/tables/bom/UsedInTable.tsx:78 -#: src/tables/part/PartTable.tsx:192 +#: src/tables/part/PartTable.tsx:199 #: src/tables/part/PartVariantTable.tsx:30 msgid "Trackable" msgstr "" @@ -5168,7 +5325,7 @@ msgid "Show trackable assemblies" msgstr "" #: src/tables/build/BuildLineTable.tsx:31 -#: src/tables/stock/StockItemTable.tsx:270 +#: src/tables/stock/StockItemTable.tsx:292 msgid "Allocated" msgstr "" @@ -5189,7 +5346,7 @@ msgid "Show optional lines" msgstr "" #: src/tables/build/BuildLineTable.tsx:51 -#: src/tables/stock/StockItemTable.tsx:329 +#: src/tables/stock/StockItemTable.tsx:351 msgid "Tracked" msgstr "" @@ -5302,10 +5459,6 @@ msgstr "" msgid "Deallocate stock from build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:205 -msgid "Complete" -msgstr "" - #: src/tables/build/BuildOutputTable.tsx:206 msgid "Complete build output" msgstr "" @@ -5635,7 +5788,7 @@ msgid "Message" msgstr "" #: src/tables/part/ParametricPartTable.tsx:76 -#: src/tables/part/PartParameterTable.tsx:88 +#: src/tables/part/PartParameterTable.tsx:95 msgid "Internal Units" msgstr "" @@ -5648,13 +5801,13 @@ msgid "Add Part Parameter" msgstr "" #: src/tables/part/ParametricPartTable.tsx:138 -#: src/tables/part/PartParameterTable.tsx:121 -#: src/tables/part/PartParameterTable.tsx:144 +#: src/tables/part/PartParameterTable.tsx:128 +#: src/tables/part/PartParameterTable.tsx:151 msgid "Edit Part Parameter" msgstr "" #: src/tables/part/PartCategoryTable.tsx:60 -#: src/tables/part/PartTable.tsx:180 +#: src/tables/part/PartTable.tsx:187 msgid "Include Subcategories" msgstr "" @@ -5667,7 +5820,7 @@ msgid "Show structural categories" msgstr "" #: src/tables/part/PartCategoryTable.tsx:70 -#: src/tables/part/PartTable.tsx:262 +#: src/tables/part/PartTable.tsx:269 msgid "Subscribed" msgstr "" @@ -5704,21 +5857,25 @@ msgstr "" #~ msgid "[{0}]" #~ msgstr "[{0}]" -#: src/tables/part/PartParameterTable.tsx:105 +#: src/tables/part/PartParameterTable.tsx:112 msgid "New Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:130 -#: src/tables/part/PartParameterTable.tsx:152 +#: src/tables/part/PartParameterTable.tsx:137 +#: src/tables/part/PartParameterTable.tsx:159 msgid "Delete Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:170 +#: src/tables/part/PartParameterTable.tsx:177 msgid "Add parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:191 -#: src/tables/stock/StockItemTable.tsx:300 +#: src/tables/part/PartParameterTable.tsx:196 +msgid "Part parameters cannot be edited, as the part is locked" +msgstr "" + +#: src/tables/part/PartParameterTable.tsx:210 +#: src/tables/stock/StockItemTable.tsx:322 msgid "Include Variants" msgstr "" @@ -5739,7 +5896,7 @@ msgid "Show templates with choices" msgstr "" #: src/tables/part/PartParameterTemplateTable.tsx:41 -#: src/tables/part/PartTable.tsx:198 +#: src/tables/part/PartTable.tsx:205 msgid "Has Units" msgstr "" @@ -5763,116 +5920,120 @@ msgstr "" msgid "Add parameter template" msgstr "" -#: src/tables/part/PartTable.tsx:67 +#: src/tables/part/PartTable.tsx:68 msgid "Minimum stock" msgstr "" -#: src/tables/part/PartTable.tsx:89 +#: src/tables/part/PartTable.tsx:90 msgid "Build Order Allocations" msgstr "" -#: src/tables/part/PartTable.tsx:98 +#: src/tables/part/PartTable.tsx:99 msgid "Sales Order Allocations" msgstr "" -#: src/tables/part/PartTable.tsx:169 +#: src/tables/part/PartTable.tsx:170 msgid "Filter by part active status" msgstr "" -#: src/tables/part/PartTable.tsx:174 -#: src/tables/stock/StockItemTable.tsx:265 +#: src/tables/part/PartTable.tsx:176 +msgid "Filter by part locked status" +msgstr "" + +#: src/tables/part/PartTable.tsx:181 +#: src/tables/stock/StockItemTable.tsx:287 msgid "Assembly" msgstr "" -#: src/tables/part/PartTable.tsx:175 +#: src/tables/part/PartTable.tsx:182 msgid "Filter by assembly attribute" msgstr "" -#: src/tables/part/PartTable.tsx:181 +#: src/tables/part/PartTable.tsx:188 msgid "Include parts in subcategories" msgstr "" -#: src/tables/part/PartTable.tsx:187 +#: src/tables/part/PartTable.tsx:194 msgid "Filter by component attribute" msgstr "" -#: src/tables/part/PartTable.tsx:193 +#: src/tables/part/PartTable.tsx:200 msgid "Filter by trackable attribute" msgstr "" -#: src/tables/part/PartTable.tsx:199 +#: src/tables/part/PartTable.tsx:206 msgid "Filter by parts which have units" msgstr "" -#: src/tables/part/PartTable.tsx:204 +#: src/tables/part/PartTable.tsx:211 msgid "Has IPN" msgstr "" -#: src/tables/part/PartTable.tsx:205 +#: src/tables/part/PartTable.tsx:212 msgid "Filter by parts which have an internal part number" msgstr "" -#: src/tables/part/PartTable.tsx:210 +#: src/tables/part/PartTable.tsx:217 msgid "Has Stock" msgstr "" -#: src/tables/part/PartTable.tsx:211 +#: src/tables/part/PartTable.tsx:218 msgid "Filter by parts which have stock" msgstr "" -#: src/tables/part/PartTable.tsx:217 +#: src/tables/part/PartTable.tsx:224 msgid "Filter by parts which have low stock" msgstr "" -#: src/tables/part/PartTable.tsx:222 +#: src/tables/part/PartTable.tsx:229 msgid "Purchaseable" msgstr "" -#: src/tables/part/PartTable.tsx:223 +#: src/tables/part/PartTable.tsx:230 msgid "Filter by parts which are purchaseable" msgstr "" -#: src/tables/part/PartTable.tsx:228 +#: src/tables/part/PartTable.tsx:235 msgid "Salable" msgstr "" -#: src/tables/part/PartTable.tsx:229 +#: src/tables/part/PartTable.tsx:236 msgid "Filter by parts which are salable" msgstr "" -#: src/tables/part/PartTable.tsx:235 +#: src/tables/part/PartTable.tsx:242 msgid "Filter by parts which are virtual" msgstr "" -#: src/tables/part/PartTable.tsx:239 +#: src/tables/part/PartTable.tsx:246 msgid "Not Virtual" msgstr "" -#: src/tables/part/PartTable.tsx:244 +#: src/tables/part/PartTable.tsx:251 msgid "Is Template" msgstr "" -#: src/tables/part/PartTable.tsx:245 +#: src/tables/part/PartTable.tsx:252 msgid "Filter by parts which are templates" msgstr "" -#: src/tables/part/PartTable.tsx:251 +#: src/tables/part/PartTable.tsx:258 msgid "Filter by parts which have pricing information" msgstr "" -#: src/tables/part/PartTable.tsx:257 +#: src/tables/part/PartTable.tsx:264 msgid "Filter by parts which have available stock" msgstr "" -#: src/tables/part/PartTable.tsx:263 +#: src/tables/part/PartTable.tsx:270 msgid "Filter by parts to which the user is subscribed" msgstr "" -#: src/tables/part/PartTable.tsx:268 +#: src/tables/part/PartTable.tsx:275 msgid "Has Stocktake" msgstr "" -#: src/tables/part/PartTable.tsx:269 +#: src/tables/part/PartTable.tsx:276 msgid "Filter by parts which have stocktake information" msgstr "" @@ -6211,7 +6372,7 @@ msgid "Sample" msgstr "" #: src/tables/plugin/PluginListTable.tsx:578 -#: src/tables/stock/StockItemTable.tsx:305 +#: src/tables/stock/StockItemTable.tsx:327 msgid "Installed" msgstr "" @@ -6486,6 +6647,41 @@ msgstr "" msgid "Edit group" msgstr "" +#: src/tables/settings/ImportSessionTable.tsx:39 +msgid "Delete Import Session" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:45 +#: src/tables/settings/ImportSessionTable.tsx:132 +msgid "Create Import Session" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:70 +msgid "Uploaded" +msgstr "Uploaded" + +#: src/tables/settings/ImportSessionTable.tsx:80 +msgid "Imported Rows" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:110 +#: src/tables/settings/TemplateTable.tsx:276 +msgid "Model Type" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:111 +#: src/tables/settings/TemplateTable.tsx:277 +msgid "Filter by target model type" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:117 +msgid "Filter by import session status" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:123 +msgid "Filter by user" +msgstr "" + #: src/tables/settings/PendingTasksTable.tsx:36 msgid "Arguments" msgstr "" @@ -6502,7 +6698,7 @@ msgstr "" msgid "Delete Project Code" msgstr "" -#: src/tables/settings/ProjectCodeTable.tsx:94 +#: src/tables/settings/ProjectCodeTable.tsx:92 msgid "Add project code" msgstr "" @@ -6571,14 +6767,6 @@ msgstr "" 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 "" @@ -6701,149 +6889,153 @@ msgstr "" msgid "This stock item has been depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:255 +#: src/tables/stock/StockItemTable.tsx:247 +msgid "Stock Value" +msgstr "" + +#: src/tables/stock/StockItemTable.tsx:277 msgid "Show stock for active parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:260 +#: src/tables/stock/StockItemTable.tsx:282 msgid "Filter by stock status" msgstr "" -#: src/tables/stock/StockItemTable.tsx:266 +#: src/tables/stock/StockItemTable.tsx:288 msgid "Show stock for assmebled parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:271 +#: src/tables/stock/StockItemTable.tsx:293 msgid "Show items which have been allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:276 +#: src/tables/stock/StockItemTable.tsx:298 msgid "Show items which are available" msgstr "" -#: src/tables/stock/StockItemTable.tsx:280 +#: src/tables/stock/StockItemTable.tsx:302 #: src/tables/stock/StockLocationTable.tsx:42 msgid "Include Sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:281 +#: src/tables/stock/StockItemTable.tsx:303 msgid "Include stock in sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:285 +#: src/tables/stock/StockItemTable.tsx:307 msgid "Depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:286 +#: src/tables/stock/StockItemTable.tsx:308 msgid "Show depleted stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:291 +#: src/tables/stock/StockItemTable.tsx:313 msgid "Show items which are in stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:296 +#: src/tables/stock/StockItemTable.tsx:318 msgid "Show items which are in production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:301 +#: src/tables/stock/StockItemTable.tsx:323 msgid "Include stock items for variant parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:306 +#: src/tables/stock/StockItemTable.tsx:328 msgid "Show stock items which are installed in other items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:310 +#: src/tables/stock/StockItemTable.tsx:332 msgid "Sent to Customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:311 +#: src/tables/stock/StockItemTable.tsx:333 msgid "Show items which have been sent to a customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:315 +#: src/tables/stock/StockItemTable.tsx:337 msgid "Is Serialized" msgstr "" -#: src/tables/stock/StockItemTable.tsx:316 +#: src/tables/stock/StockItemTable.tsx:338 msgid "Show items which have a serial number" msgstr "" -#: src/tables/stock/StockItemTable.tsx:323 +#: src/tables/stock/StockItemTable.tsx:345 msgid "Has Batch Code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:324 +#: src/tables/stock/StockItemTable.tsx:346 msgid "Show items which have a batch code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:330 +#: src/tables/stock/StockItemTable.tsx:352 msgid "Show tracked items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:334 +#: src/tables/stock/StockItemTable.tsx:356 msgid "Has Purchase Price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:335 +#: src/tables/stock/StockItemTable.tsx:357 msgid "Show items which have a purchase price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:343 +#: src/tables/stock/StockItemTable.tsx:365 msgid "External Location" msgstr "" -#: src/tables/stock/StockItemTable.tsx:344 +#: src/tables/stock/StockItemTable.tsx:366 msgid "Show items in an external location" msgstr "" -#: src/tables/stock/StockItemTable.tsx:416 +#: src/tables/stock/StockItemTable.tsx:438 msgid "Add a new stock item" msgstr "" -#: src/tables/stock/StockItemTable.tsx:425 +#: src/tables/stock/StockItemTable.tsx:447 msgid "Remove some quantity from a stock item" msgstr "" -#: src/tables/stock/StockItemTable.tsx:447 +#: src/tables/stock/StockItemTable.tsx:469 msgid "Move Stock items to new locations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:454 +#: src/tables/stock/StockItemTable.tsx:476 msgid "Change stock status" msgstr "" -#: src/tables/stock/StockItemTable.tsx:456 +#: src/tables/stock/StockItemTable.tsx:478 msgid "Change the status of stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:463 +#: src/tables/stock/StockItemTable.tsx:485 msgid "Merge stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:465 +#: src/tables/stock/StockItemTable.tsx:487 msgid "Merge stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:472 +#: src/tables/stock/StockItemTable.tsx:494 msgid "Order stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:474 -#: src/tables/stock/StockItemTable.tsx:480 +#: src/tables/stock/StockItemTable.tsx:496 +#: src/tables/stock/StockItemTable.tsx:502 msgid "Order new stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:478 +#: src/tables/stock/StockItemTable.tsx:500 msgid "Assign to customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:487 +#: src/tables/stock/StockItemTable.tsx:509 msgid "Delete stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:489 +#: src/tables/stock/StockItemTable.tsx:511 msgid "Delete stock items" msgstr "" @@ -6999,4 +7191,3 @@ msgstr "" #: src/views/MobileAppView.tsx:35 msgid "Ignore and continue to Desktop view" msgstr "" - diff --git a/src/frontend/src/locales/da/messages.po b/src/frontend/src/locales/da/messages.po index 1e70aa784dd0..c33b022b6685 100644 --- a/src/frontend/src/locales/da/messages.po +++ b/src/frontend/src/locales/da/messages.po @@ -49,16 +49,18 @@ msgstr "" #: src/components/buttons/PrintingActions.tsx:107 #: src/components/buttons/PrintingActions.tsx:144 #: src/components/editors/NotesEditor.tsx:65 -#: src/components/editors/NotesEditor.tsx:160 -#: src/components/forms/ApiForm.tsx:506 -#: src/components/forms/fields/ApiFormField.tsx:295 +#: src/components/editors/NotesEditor.tsx:165 +#: src/components/forms/ApiForm.tsx:513 +#: src/components/forms/fields/ApiFormField.tsx:306 +#: src/components/importer/ImportDataSelector.tsx:171 +#: src/components/importer/ImporterColumnSelector.tsx:112 #: src/components/modals/LicenseModal.tsx:75 #: src/components/nav/SearchDrawer.tsx:427 #: src/pages/ErrorPage.tsx:11 #: src/pages/part/PartPricingPanel.tsx:71 -#: src/tables/InvenTreeTable.tsx:451 -#: src/tables/InvenTreeTable.tsx:526 -#: src/tables/bom/BomTable.tsx:363 +#: src/tables/InvenTreeTable.tsx:470 +#: src/tables/InvenTreeTable.tsx:545 +#: src/tables/bom/BomTable.tsx:366 #: src/tables/stock/StockItemTestResultTable.tsx:294 msgid "Error" msgstr "" @@ -157,7 +159,7 @@ msgstr "" #: src/functions/forms.tsx:196 #: src/hooks/UseForm.tsx:40 #: src/tables/FilterSelectDrawer.tsx:204 -#: src/tables/InvenTreeTable.tsx:499 +#: src/tables/InvenTreeTable.tsx:518 #: src/tables/build/BuildOutputTable.tsx:225 msgid "Cancel" msgstr "" @@ -175,7 +177,7 @@ msgid "Clear" msgstr "" #: src/components/details/DetailsImage.tsx:227 -#: src/components/forms/ApiForm.tsx:573 +#: src/components/forms/ApiForm.tsx:580 #: src/contexts/ThemeContext.tsx:43 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:56 msgid "Submit" @@ -202,48 +204,61 @@ msgid "Delete image" msgstr "" #: src/components/details/PartIcons.tsx:28 +#: src/tables/ColumnRenderers.tsx:35 +msgid "Part is locked" +msgstr "" + +#: src/components/details/PartIcons.tsx:30 +#: src/pages/part/PartDetail.tsx:267 +#: src/pages/part/PartDetail.tsx:698 +#: src/tables/part/PartTable.tsx:175 +msgid "Locked" +msgstr "" + +#: src/components/details/PartIcons.tsx:35 +#: src/tables/ColumnRenderers.tsx:30 msgid "Part is not active" msgstr "" -#: src/components/details/PartIcons.tsx:34 +#: src/components/details/PartIcons.tsx:37 #: src/components/render/Plugin.tsx:17 #: src/pages/company/CompanyDetail.tsx:315 #: src/pages/company/SupplierPartDetail.tsx:307 -#: src/pages/part/PartDetail.tsx:685 +#: src/pages/part/PartDetail.tsx:704 msgid "Inactive" msgstr "" -#: src/components/details/PartIcons.tsx:41 +#: src/components/details/PartIcons.tsx:43 msgid "Part is a template part (variants can be made from this part)" msgstr "" -#: src/components/details/PartIcons.tsx:47 +#: src/components/details/PartIcons.tsx:49 msgid "Part can be assembled from other parts" msgstr "" -#: src/components/details/PartIcons.tsx:53 +#: src/components/details/PartIcons.tsx:55 msgid "Part can be used in assemblies" msgstr "" -#: src/components/details/PartIcons.tsx:59 +#: src/components/details/PartIcons.tsx:61 msgid "Part stock is tracked by serial number" msgstr "" -#: src/components/details/PartIcons.tsx:65 +#: src/components/details/PartIcons.tsx:67 msgid "Part can be purchased from external suppliers" msgstr "" -#: src/components/details/PartIcons.tsx:71 +#: src/components/details/PartIcons.tsx:73 msgid "Part can be sold to customers" msgstr "" -#: src/components/details/PartIcons.tsx:76 +#: src/components/details/PartIcons.tsx:78 msgid "Part is virtual (not a physical part)" msgstr "" -#: src/components/details/PartIcons.tsx:82 -#: src/tables/part/PartTable.tsx:234 -#: src/tables/part/PartTable.tsx:238 +#: src/components/details/PartIcons.tsx:84 +#: src/tables/part/PartTable.tsx:241 +#: src/tables/part/PartTable.tsx:245 #: src/tables/part/PartVariantTable.tsx:25 msgid "Virtual" msgstr "" @@ -252,29 +267,29 @@ msgstr "" msgid "Image upload failed" msgstr "" -#: src/components/editors/NotesEditor.tsx:151 -#: src/components/forms/ApiForm.tsx:430 -#: src/tables/bom/BomTable.tsx:354 +#: src/components/editors/NotesEditor.tsx:156 +#: src/components/forms/ApiForm.tsx:437 +#: src/tables/bom/BomTable.tsx:357 msgid "Success" msgstr "" -#: src/components/editors/NotesEditor.tsx:152 +#: src/components/editors/NotesEditor.tsx:157 msgid "Notes saved successfully" msgstr "" -#: src/components/editors/NotesEditor.tsx:161 +#: src/components/editors/NotesEditor.tsx:166 msgid "Failed to save notes" msgstr "" -#: src/components/editors/NotesEditor.tsx:193 +#: src/components/editors/NotesEditor.tsx:198 msgid "Preview Notes" msgstr "" -#: src/components/editors/NotesEditor.tsx:193 +#: src/components/editors/NotesEditor.tsx:198 msgid "Edit Notes" msgstr "" -#: src/components/editors/NotesEditor.tsx:207 +#: src/components/editors/NotesEditor.tsx:212 msgid "Save Notes" msgstr "" @@ -407,7 +422,7 @@ msgstr "" msgid "A server error occurred" msgstr "" -#: src/components/forms/ApiForm.tsx:149 +#: src/components/forms/ApiForm.tsx:151 #: src/functions/forms.tsx:259 msgid "Form Error" msgstr "" @@ -416,18 +431,18 @@ msgstr "" #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:611 +#: src/components/forms/ApiForm.tsx:618 #: src/tables/plugin/PluginListTable.tsx:388 msgid "Update" msgstr "" -#: src/components/forms/ApiForm.tsx:631 +#: src/components/forms/ApiForm.tsx:638 #: 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:498 +#: src/tables/InvenTreeTable.tsx:517 #: src/tables/RowActions.tsx:71 #: src/tables/plugin/PluginListTable.tsx:420 msgid "Delete" @@ -600,7 +615,7 @@ msgstr "" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:70 #: src/pages/part/CategoryDetail.tsx:80 -#: src/pages/part/PartDetail.tsx:122 +#: src/pages/part/PartDetail.tsx:123 #: src/pages/stock/LocationDetail.tsx:87 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 @@ -685,6 +700,124 @@ msgstr "" msgid "Thumbnail" msgstr "" +#: src/components/importer/ImportDataSelector.tsx:154 +msgid "Importing Rows" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:155 +msgid "Please wait while the data is imported" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:172 +msgid "An error occurred while importing data" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:191 +msgid "Edit Data" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:218 +msgid "Delete Row" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:248 +msgid "Row" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:266 +msgid "Row contains errors" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:307 +msgid "Accept" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:340 +msgid "Valid" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:341 +msgid "Filter by row validation status" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:346 +#: src/tables/build/BuildOutputTable.tsx:205 +msgid "Complete" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:347 +msgid "Filter by row completion status" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:364 +msgid "Import selected rows" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:46 +#: src/components/importer/ImporterColumnSelector.tsx:85 +msgid "An error occurred" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:57 +msgid "Select column, or leave blank to ignore this field." +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:91 +msgid "Select a column from the data file" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:104 +msgid "Map data columns to database fields" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:109 +msgid "Accept Column Mapping" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:117 +msgid "Database Field" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:118 +msgid "Field Description" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:119 +msgid "Imported Column Name" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:44 +msgid "Import Data" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:45 +msgid "Map Columns" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:46 +msgid "Process Data" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:47 +msgid "Complete Import" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:91 +msgid "Importing Data" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:97 +msgid "Cancel import session" +msgstr "" + +#: src/components/importer/ImporterImportProgress.tsx:36 +msgid "Importing Records" +msgstr "" + +#: src/components/importer/ImporterImportProgress.tsx:39 +msgid "Imported rows" +msgstr "" + #: src/components/items/ActionDropdown.tsx:119 #: src/pages/build/BuildDetail.tsx:358 msgid "Barcode Actions" @@ -738,7 +871,7 @@ msgid "Read More" msgstr "" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:443 +#: src/tables/InvenTreeTable.tsx:462 msgid "Unknown error" msgstr "" @@ -1039,13 +1172,13 @@ msgstr "" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:313 +#: src/pages/Index/Settings/SystemSettings.tsx:314 msgid "System Settings" msgstr "" #: src/components/nav/MainMenu.tsx:67 #: src/defaults/menuItems.tsx:63 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:198 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:209 msgid "Admin Center" msgstr "" @@ -1088,7 +1221,7 @@ msgid "Pages" msgstr "" #: src/components/nav/NavigationDrawer.tsx:65 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:157 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:168 #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:41 msgid "Plugins" msgstr "" @@ -1102,7 +1235,7 @@ msgstr "" msgid "About" msgstr "" -#: src/components/nav/NotificationDrawer.tsx:78 +#: src/components/nav/NotificationDrawer.tsx:81 #: src/pages/Index/Settings/SystemSettings.tsx:108 #: src/pages/Index/Settings/UserSettings.tsx:96 #: src/pages/Notifications.tsx:65 @@ -1110,17 +1243,17 @@ msgstr "" msgid "Notifications" msgstr "" -#: src/components/nav/NotificationDrawer.tsx:95 +#: src/components/nav/NotificationDrawer.tsx:98 msgid "You have no unread notifications." msgstr "" -#: src/components/nav/NotificationDrawer.tsx:111 -#: src/components/nav/NotificationDrawer.tsx:117 +#: src/components/nav/NotificationDrawer.tsx:114 +#: src/components/nav/NotificationDrawer.tsx:120 #: src/tables/notifications/NotificationsTable.tsx:36 msgid "Notification" msgstr "" -#: src/components/nav/NotificationDrawer.tsx:140 +#: src/components/nav/NotificationDrawer.tsx:143 #: src/pages/Notifications.tsx:73 msgid "Mark as read" msgstr "" @@ -1157,7 +1290,7 @@ msgstr "" msgid "No results available for search query" msgstr "" -#: src/components/render/Instance.tsx:166 +#: src/components/render/Instance.tsx:201 msgid "Unknown model: {model}" msgstr "" @@ -1172,7 +1305,8 @@ msgstr "" #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 #: src/pages/build/BuildDetail.tsx:85 -#: src/pages/part/PartDetail.tsx:831 +#: src/pages/part/PartDetail.tsx:872 +#: src/tables/part/PartTable.tsx:28 #: src/tables/part/RelatedPartTable.tsx:45 #: src/tables/stock/StockTrackingTable.tsx:74 msgid "Part" @@ -1185,7 +1319,7 @@ msgstr "" #: src/pages/part/CategoryDetail.tsx:112 #: src/pages/part/CategoryDetail.tsx:237 #: src/pages/part/CategoryDetail.tsx:267 -#: src/pages/part/PartDetail.tsx:639 +#: src/pages/part/PartDetail.tsx:652 msgid "Parts" msgstr "" @@ -1235,7 +1369,7 @@ msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:172 #: src/pages/part/CategoryDetail.tsx:251 #: src/pages/part/CategoryDetail.tsx:288 -#: src/pages/part/PartDetail.tsx:821 +#: src/pages/part/PartDetail.tsx:862 msgid "Part Categories" msgstr "" @@ -1317,7 +1451,7 @@ msgid "Project Code" msgstr "" #: src/components/render/ModelType.tsx:127 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:109 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:120 msgid "Project Codes" msgstr "" @@ -1329,10 +1463,10 @@ msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:134 -#: src/pages/Index/Settings/SystemSettings.tsx:257 +#: src/pages/Index/Settings/SystemSettings.tsx:258 #: src/pages/company/CompanyDetail.tsx:194 #: src/pages/company/SupplierPartDetail.tsx:226 -#: src/pages/part/PartDetail.tsx:573 +#: src/pages/part/PartDetail.tsx:586 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "" @@ -1354,9 +1488,9 @@ msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:272 +#: src/pages/Index/Settings/SystemSettings.tsx:273 #: src/pages/company/CompanyDetail.tsx:214 -#: src/pages/part/PartDetail.tsx:580 +#: src/pages/part/PartDetail.tsx:593 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" @@ -1376,7 +1510,7 @@ msgid "Return Order" msgstr "" #: src/components/render/ModelType.tsx:164 -#: src/pages/Index/Settings/SystemSettings.tsx:288 +#: src/pages/Index/Settings/SystemSettings.tsx:289 #: src/pages/company/CompanyDetail.tsx:221 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1413,40 +1547,49 @@ msgid "Owners" msgstr "" #: src/components/render/ModelType.tsx:193 +#: src/tables/settings/ImportSessionTable.tsx:122 #: src/tables/stock/StockItemTestResultTable.tsx:193 #: src/tables/stock/StockTrackingTable.tsx:195 msgid "User" msgstr "" #: src/components/render/ModelType.tsx:194 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:85 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:90 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" msgstr "" #: src/components/render/ModelType.tsx:200 -msgid "Label Template" +msgid "Import Session" msgstr "" #: src/components/render/ModelType.tsx:201 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:139 -msgid "Label Templates" +msgid "Import Sessions" msgstr "" #: src/components/render/ModelType.tsx:207 -msgid "Report Template" +msgid "Label Template" msgstr "" #: src/components/render/ModelType.tsx:208 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:145 -msgid "Report Templates" +#: src/pages/Index/Settings/AdminCenter/Index.tsx:150 +msgid "Label Templates" msgstr "" #: src/components/render/ModelType.tsx:214 -msgid "Plugin Configuration" +msgid "Report Template" msgstr "" #: src/components/render/ModelType.tsx:215 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:156 +msgid "Report Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:221 +msgid "Plugin Configuration" +msgstr "" + +#: src/components/render/ModelType.tsx:222 msgid "Plugin Configurations" msgstr "" @@ -1458,7 +1601,7 @@ msgstr "" #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 #: src/pages/Index/Settings/SystemSettings.tsx:210 -#: src/pages/part/PartDetail.tsx:492 +#: src/pages/part/PartDetail.tsx:503 #: src/pages/stock/LocationDetail.tsx:347 #: src/pages/stock/StockDetail.tsx:356 #: src/tables/stock/StockItemTable.tsx:57 @@ -1641,10 +1784,6 @@ msgstr "" #~ msgid "Comment" #~ msgstr "Comment" -#: src/components/tables/general/AttachmentTable.tsx:56 -#~ msgid "Uploaded" -#~ msgstr "Uploaded" - #: src/components/tables/part/PartCategoryTable.tsx:122 #~ msgid "Part category updated" #~ msgstr "Part category updated" @@ -2157,7 +2296,7 @@ msgid "Recently Updated" msgstr "" #: src/defaults/dashboardItems.tsx:50 -#: src/tables/part/PartTable.tsx:216 +#: src/tables/part/PartTable.tsx:223 msgid "Low Stock" msgstr "" @@ -2466,7 +2605,7 @@ msgstr "" #~ msgid "Company updated" #~ msgstr "Company updated" -#: src/forms/PartForms.tsx:100 +#: src/forms/PartForms.tsx:103 msgid "Parent part category" msgstr "" @@ -2534,7 +2673,7 @@ msgstr "" #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 #: src/pages/stock/StockDetail.tsx:173 -#: src/tables/ColumnRenderers.tsx:34 +#: src/tables/ColumnRenderers.tsx:49 #: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" msgstr "" @@ -2585,8 +2724,8 @@ msgstr "" #: src/forms/StockForms.tsx:176 #: src/pages/stock/StockDetail.tsx:379 -#: src/tables/stock/StockItemTable.tsx:382 -#: src/tables/stock/StockItemTable.tsx:499 +#: src/tables/stock/StockItemTable.tsx:404 +#: src/tables/stock/StockItemTable.tsx:521 msgid "Add Stock Item" msgstr "" @@ -2606,9 +2745,9 @@ msgstr "" #: src/forms/StockForms.tsx:606 #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 -#: src/pages/part/PartDetail.tsx:202 -#: src/pages/part/PartDetail.tsx:655 -#: src/tables/stock/StockItemTable.tsx:290 +#: src/pages/part/PartDetail.tsx:203 +#: src/pages/part/PartDetail.tsx:668 +#: src/tables/stock/StockItemTable.tsx:312 msgid "In Stock" msgstr "" @@ -2649,12 +2788,12 @@ msgid "Remove Stock" msgstr "" #: src/forms/StockForms.tsx:803 -#: src/pages/part/PartDetail.tsx:782 +#: src/pages/part/PartDetail.tsx:823 msgid "Transfer Stock" msgstr "" #: src/forms/StockForms.tsx:812 -#: src/pages/part/PartDetail.tsx:771 +#: src/pages/part/PartDetail.tsx:812 msgid "Count Stock" msgstr "" @@ -3279,53 +3418,57 @@ msgstr "" #~ msgid "Advanced Amininistrative Options for InvenTree" #~ msgstr "Advanced Amininistrative Options for InvenTree" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:91 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:96 +msgid "Data Import" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:102 msgid "Background Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:97 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:108 msgid "Error Reports" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:103 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:114 msgid "Currencies" 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:132 msgid "Custom Units" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:138 #: src/pages/part/CategoryDetail.tsx:257 msgid "Part Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 -#~ msgid "Templates" -#~ msgstr "Templates" - -#: src/pages/Index/Settings/AdminCenter/Index.tsx:133 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:144 msgid "Category Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:151 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:162 msgid "Location types" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:163 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:174 #: src/tables/machine/MachineTypeTable.tsx:287 msgid "Machines" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:173 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:184 msgid "Quick Actions" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:178 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:189 msgid "Add a new user" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:199 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:210 msgid "Advanced Options" msgstr "" @@ -3477,7 +3620,7 @@ msgid "Reporting" msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:235 -#: src/pages/part/PartDetail.tsx:593 +#: src/pages/part/PartDetail.tsx:606 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" @@ -3485,12 +3628,12 @@ msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:241 #: src/pages/build/BuildDetail.tsx:423 #: src/pages/build/BuildIndex.tsx:14 -#: src/pages/part/PartDetail.tsx:527 +#: src/pages/part/PartDetail.tsx:540 #: src/pages/sales/SalesOrderDetail.tsx:270 msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:316 +#: src/pages/Index/Settings/SystemSettings.tsx:317 msgid "Switch to User Setting" msgstr "" @@ -3555,7 +3698,8 @@ msgstr "" #: 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/settings/ImportSessionTable.tsx:116 +#: src/tables/stock/StockItemTable.tsx:281 #: src/tables/stock/StockTrackingTable.tsx:52 msgid "Status" msgstr "" @@ -3564,7 +3708,7 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:104 #: src/pages/sales/ReturnOrderDetail.tsx:73 #: src/pages/sales/SalesOrderDetail.tsx:77 -#: src/tables/ColumnRenderers.tsx:106 +#: src/tables/ColumnRenderers.tsx:121 #: src/tables/build/BuildLineTable.tsx:140 msgid "Reference" msgstr "" @@ -3574,12 +3718,12 @@ msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:78 #: src/pages/company/SupplierPartDetail.tsx:85 #: src/pages/part/CategoryDetail.tsx:94 -#: src/pages/part/PartDetail.tsx:129 +#: src/pages/part/PartDetail.tsx:130 #: src/pages/purchasing/PurchaseOrderDetail.tsx:125 #: src/pages/sales/ReturnOrderDetail.tsx:93 #: src/pages/sales/SalesOrderDetail.tsx:97 #: src/pages/stock/LocationDetail.tsx:101 -#: src/tables/ColumnRenderers.tsx:66 +#: src/tables/ColumnRenderers.tsx:81 #: src/tables/machine/MachineTypeTable.tsx:69 #: src/tables/machine/MachineTypeTable.tsx:112 #: src/tables/machine/MachineTypeTable.tsx:219 @@ -3610,7 +3754,7 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:152 -#: src/pages/part/PartDetail.tsx:317 +#: src/pages/part/PartDetail.tsx:323 #: src/pages/purchasing/PurchaseOrderDetail.tsx:217 #: src/pages/sales/ReturnOrderDetail.tsx:186 #: src/pages/sales/SalesOrderDetail.tsx:190 @@ -3630,7 +3774,7 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:210 #: src/pages/sales/ReturnOrderDetail.tsx:179 #: src/pages/sales/SalesOrderDetail.tsx:183 -#: src/tables/ColumnRenderers.tsx:191 +#: src/tables/ColumnRenderers.tsx:206 msgid "Target Date" msgstr "" @@ -3711,7 +3855,7 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:297 #: src/pages/company/CompanyDetail.tsx:257 #: src/pages/company/ManufacturerPartDetail.tsx:174 -#: src/pages/part/PartDetail.tsx:616 +#: src/pages/part/PartDetail.tsx:629 #: src/pages/purchasing/PurchaseOrderDetail.tsx:279 #: src/pages/sales/ReturnOrderDetail.tsx:230 #: src/pages/sales/SalesOrderDetail.tsx:280 @@ -3721,7 +3865,7 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:305 #: src/pages/company/CompanyDetail.tsx:268 -#: src/pages/part/PartDetail.tsx:624 +#: src/pages/part/PartDetail.tsx:637 #: src/pages/purchasing/PurchaseOrderDetail.tsx:290 #: src/pages/sales/ReturnOrderDetail.tsx:241 #: src/pages/sales/SalesOrderDetail.tsx:291 @@ -3877,12 +4021,12 @@ msgid "Manufacturer Part Details" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:148 -#: src/pages/part/PartDetail.tsx:486 +#: src/pages/part/PartDetail.tsx:492 msgid "Parameters" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:160 -#: src/pages/part/PartDetail.tsx:560 +#: src/pages/part/PartDetail.tsx:573 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" msgstr "" @@ -3907,7 +4051,7 @@ msgid "ManufacturerPart" msgstr "" #: src/pages/company/SupplierPartDetail.tsx:99 -#: src/tables/ColumnRenderers.tsx:117 +#: src/tables/ColumnRenderers.tsx:132 msgid "Note" msgstr "" @@ -4043,275 +4187,275 @@ msgstr "" msgid "Category Details" msgstr "" -#: src/pages/part/PartDetail.tsx:135 +#: src/pages/part/PartDetail.tsx:136 msgid "Variant of" msgstr "" -#: src/pages/part/PartDetail.tsx:142 +#: src/pages/part/PartDetail.tsx:143 #: src/tables/notifications/NotificationsTable.tsx:31 #: src/tables/part/PartCategoryTemplateTable.tsx:67 msgid "Category" msgstr "" -#: src/pages/part/PartDetail.tsx:148 +#: src/pages/part/PartDetail.tsx:149 msgid "Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:155 +#: src/pages/part/PartDetail.tsx:156 msgid "Category Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:162 +#: src/pages/part/PartDetail.tsx:163 msgid "IPN" msgstr "" -#: src/pages/part/PartDetail.tsx:169 +#: src/pages/part/PartDetail.tsx:170 msgid "Revision" msgstr "" -#: src/pages/part/PartDetail.tsx:176 +#: src/pages/part/PartDetail.tsx:177 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" msgstr "" -#: src/pages/part/PartDetail.tsx:183 +#: src/pages/part/PartDetail.tsx:184 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:190 +#: src/pages/part/PartDetail.tsx:191 #: src/pages/purchasing/PurchaseOrderDetail.tsx:183 #: src/pages/sales/ReturnOrderDetail.tsx:152 #: src/pages/sales/SalesOrderDetail.tsx:156 msgid "Link" msgstr "" -#: src/pages/part/PartDetail.tsx:208 -#: src/tables/bom/BomTable.tsx:276 +#: src/pages/part/PartDetail.tsx:209 +#: src/tables/bom/BomTable.tsx:279 #: src/tables/build/BuildLineTable.tsx:121 -#: src/tables/part/PartTable.tsx:256 +#: src/tables/part/PartTable.tsx:263 msgid "Available Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:215 +#: src/pages/part/PartDetail.tsx:216 msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:221 -#: src/tables/bom/BomTable.tsx:217 +#: src/pages/part/PartDetail.tsx:222 +#: src/tables/bom/BomTable.tsx:220 #: src/tables/build/BuildLineTable.tsx:95 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:230 +#: src/pages/part/PartDetail.tsx:231 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:238 +#: src/pages/part/PartDetail.tsx:239 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:245 -#: src/tables/bom/BomTable.tsx:241 +#: src/pages/part/PartDetail.tsx:246 +#: src/tables/bom/BomTable.tsx:244 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:252 -#: src/tables/bom/BomTable.tsx:225 -#: src/tables/part/PartTable.tsx:82 +#: src/pages/part/PartDetail.tsx:253 +#: src/tables/bom/BomTable.tsx:228 +#: src/tables/part/PartTable.tsx:83 msgid "Building" msgstr "" -#: src/pages/part/PartDetail.tsx:261 +#: src/pages/part/PartDetail.tsx:262 #: src/tables/bom/UsedInTable.tsx:73 #: src/tables/build/BuildOrderTable.tsx:108 #: src/tables/company/CompanyTable.tsx:61 #: src/tables/company/CompanyTable.tsx:95 #: src/tables/machine/MachineListTable.tsx:323 #: src/tables/machine/MachineListTable.tsx:585 -#: src/tables/part/PartTable.tsx:168 +#: src/tables/part/PartTable.tsx:169 #: src/tables/part/PartVariantTable.tsx:15 #: 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 +#: src/tables/stock/StockItemTable.tsx:276 msgid "Active" msgstr "" -#: src/pages/part/PartDetail.tsx:266 +#: src/pages/part/PartDetail.tsx:272 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:271 -#: src/tables/bom/BomTable.tsx:271 +#: src/pages/part/PartDetail.tsx:277 +#: src/tables/bom/BomTable.tsx:274 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:276 +#: src/pages/part/PartDetail.tsx:282 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:281 -#: src/tables/bom/BomTable.tsx:266 +#: src/pages/part/PartDetail.tsx:287 +#: src/tables/bom/BomTable.tsx:269 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:286 +#: src/pages/part/PartDetail.tsx:292 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:291 +#: src/pages/part/PartDetail.tsx:297 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:296 +#: src/pages/part/PartDetail.tsx:302 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:304 -#: src/tables/ColumnRenderers.tsx:199 +#: src/pages/part/PartDetail.tsx:310 +#: src/tables/ColumnRenderers.tsx:214 msgid "Creation Date" msgstr "" -#: src/pages/part/PartDetail.tsx:309 -msgid "Created By" -msgstr "" - #: src/pages/part/PartDetail.tsx:310 #~ msgid "Edit part" #~ msgstr "Edit part" +#: src/pages/part/PartDetail.tsx:315 +msgid "Created By" +msgstr "" + #: src/pages/part/PartDetail.tsx:322 #~ msgid "Duplicate part" #~ msgstr "Duplicate part" -#: src/pages/part/PartDetail.tsx:324 -msgid "Default Supplier" -msgstr "" - #: src/pages/part/PartDetail.tsx:327 #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:335 +#: src/pages/part/PartDetail.tsx:330 +msgid "Default Supplier" +msgstr "" + +#: src/pages/part/PartDetail.tsx:341 #: src/pages/part/pricing/BomPricingPanel.tsx:78 #: src/pages/part/pricing/VariantPricingPanel.tsx:95 -#: src/tables/part/PartTable.tsx:151 +#: src/tables/part/PartTable.tsx:152 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:374 +#: src/pages/part/PartDetail.tsx:380 #: src/pages/stock/StockDetail.tsx:133 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:409 +#: src/pages/part/PartDetail.tsx:415 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:480 +#: src/pages/part/PartDetail.tsx:486 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:506 +#: src/pages/part/PartDetail.tsx:517 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:513 +#: src/pages/part/PartDetail.tsx:524 #: src/pages/stock/StockDetail.tsx:286 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:520 +#: src/pages/part/PartDetail.tsx:531 msgid "Bill of Materials" msgstr "" -#: src/pages/part/PartDetail.tsx:534 +#: src/pages/part/PartDetail.tsx:547 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:541 +#: src/pages/part/PartDetail.tsx:554 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:547 +#: src/pages/part/PartDetail.tsx:560 #: src/pages/purchasing/PurchasingIndex.tsx:37 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:587 +#: src/pages/part/PartDetail.tsx:600 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:599 +#: src/pages/part/PartDetail.tsx:612 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:610 +#: src/pages/part/PartDetail.tsx:623 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:661 +#: src/pages/part/PartDetail.tsx:674 #: src/pages/stock/StockDetail.tsx:154 #: src/pages/stock/StockDetail.tsx:533 #: src/tables/build/BuildLineTable.tsx:36 -#: src/tables/part/PartTable.tsx:107 +#: src/tables/part/PartTable.tsx:108 #: src/tables/stock/StockItemTable.tsx:166 -#: src/tables/stock/StockItemTable.tsx:275 +#: src/tables/stock/StockItemTable.tsx:297 msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:667 +#: src/pages/part/PartDetail.tsx:680 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:673 -#: src/tables/bom/BomTable.tsx:281 -#: src/tables/part/PartTable.tsx:76 +#: src/pages/part/PartDetail.tsx:686 +#: src/tables/bom/BomTable.tsx:284 +#: src/tables/part/PartTable.tsx:77 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:679 +#: src/pages/part/PartDetail.tsx:692 #: src/pages/stock/StockDetail.tsx:516 -#: src/tables/stock/StockItemTable.tsx:295 +#: src/tables/stock/StockItemTable.tsx:317 msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:698 +#: src/pages/part/PartDetail.tsx:717 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:705 -#: src/tables/part/PartTable.tsx:289 -#: src/tables/part/PartTable.tsx:302 +#: src/pages/part/PartDetail.tsx:744 +#: src/tables/part/PartTable.tsx:296 +#: src/tables/part/PartTable.tsx:309 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:717 +#: src/pages/part/PartDetail.tsx:758 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:726 +#: src/pages/part/PartDetail.tsx:767 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:764 +#: src/pages/part/PartDetail.tsx:805 #: src/pages/stock/LocationDetail.tsx:304 -#: src/tables/stock/StockItemTable.tsx:409 +#: src/tables/stock/StockItemTable.tsx:431 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:772 +#: src/pages/part/PartDetail.tsx:813 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:824 msgid "Transfer part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:792 +#: src/pages/part/PartDetail.tsx:833 msgid "Part Actions" msgstr "" @@ -4359,8 +4503,8 @@ msgstr "" #: src/pages/part/pricing/BomPricingPanel.tsx:57 #: src/pages/part/pricing/BomPricingPanel.tsx:137 -#: src/tables/ColumnRenderers.tsx:241 -#: src/tables/bom/BomTable.tsx:165 +#: src/tables/ColumnRenderers.tsx:256 +#: src/tables/bom/BomTable.tsx:168 #: src/tables/purchasing/PurchaseOrderTable.tsx:112 #: src/tables/sales/ReturnOrderTable.tsx:104 #: src/tables/sales/SalesOrderTable.tsx:134 @@ -4369,7 +4513,7 @@ msgstr "" #: src/pages/part/pricing/BomPricingPanel.tsx:77 #: src/pages/part/pricing/BomPricingPanel.tsx:101 -#: src/tables/part/PartTable.tsx:186 +#: src/tables/part/PartTable.tsx:193 msgid "Component" msgstr "" @@ -4398,7 +4542,7 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:67 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:128 #: src/pages/part/pricing/SupplierPricingPanel.tsx:62 -#: src/tables/bom/BomTable.tsx:156 +#: src/tables/bom/BomTable.tsx:159 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 msgid "Unit Price" @@ -4498,7 +4642,7 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:40 #: src/pages/part/pricing/SaleHistoryPanel.tsx:36 -#: src/tables/ColumnRenderers.tsx:180 +#: src/tables/ColumnRenderers.tsx:195 #: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" @@ -4771,12 +4915,12 @@ msgid "Count stock" msgstr "" #: src/pages/stock/StockDetail.tsx:459 -#: src/tables/stock/StockItemTable.tsx:414 +#: src/tables/stock/StockItemTable.tsx:436 msgid "Add stock" msgstr "" #: src/pages/stock/StockDetail.tsx:467 -#: src/tables/stock/StockItemTable.tsx:423 +#: src/tables/stock/StockItemTable.tsx:445 msgid "Remove stock" msgstr "" @@ -4785,7 +4929,7 @@ msgid "Transfer" msgstr "" #: src/pages/stock/StockDetail.tsx:475 -#: src/tables/stock/StockItemTable.tsx:443 +#: src/tables/stock/StockItemTable.tsx:465 msgid "Transfer stock" msgstr "" @@ -4793,15 +4937,15 @@ msgstr "" msgid "Stock Item Actions" msgstr "" -#: src/tables/ColumnRenderers.tsx:42 +#: src/tables/ColumnRenderers.tsx:57 msgid "No location set" msgstr "" -#: src/tables/ColumnRenderers.tsx:207 +#: src/tables/ColumnRenderers.tsx:222 msgid "Shipment Date" msgstr "" -#: src/tables/ColumnRenderers.tsx:227 +#: src/tables/ColumnRenderers.tsx:242 #: src/tables/settings/CurrencyTable.tsx:23 msgid "Currency" msgstr "" @@ -4828,14 +4972,14 @@ msgid "TSV" msgstr "" #: src/tables/DownloadAction.tsx:24 -msgid "Excel (.xls)" -msgstr "" - -#: src/tables/DownloadAction.tsx:25 msgid "Excel (.xlsx)" msgstr "" -#: src/tables/DownloadAction.tsx:39 +#: src/tables/DownloadAction.tsx:24 +#~ msgid "Excel (.xls)" +#~ msgstr "" + +#: src/tables/DownloadAction.tsx:38 msgid "Download Data" msgstr "" @@ -4900,54 +5044,54 @@ msgstr "" msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:119 -#: src/tables/InvenTreeTable.tsx:390 -#: src/tables/InvenTreeTable.tsx:411 +#: src/tables/InvenTreeTable.tsx:126 +#: src/tables/InvenTreeTable.tsx:409 +#: src/tables/InvenTreeTable.tsx:430 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:422 +#: src/tables/InvenTreeTable.tsx:441 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:430 +#: src/tables/InvenTreeTable.tsx:449 msgid "Bad request" msgstr "" -#: src/tables/InvenTreeTable.tsx:433 +#: src/tables/InvenTreeTable.tsx:452 msgid "Unauthorized" msgstr "" -#: src/tables/InvenTreeTable.tsx:436 +#: src/tables/InvenTreeTable.tsx:455 msgid "Forbidden" msgstr "" -#: src/tables/InvenTreeTable.tsx:439 +#: src/tables/InvenTreeTable.tsx:458 msgid "Not found" msgstr "" -#: src/tables/InvenTreeTable.tsx:488 -#: src/tables/InvenTreeTable.tsx:606 +#: src/tables/InvenTreeTable.tsx:507 +#: src/tables/InvenTreeTable.tsx:623 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:492 +#: src/tables/InvenTreeTable.tsx:511 msgid "Are you sure you want to delete the selected records?" msgstr "" -#: src/tables/InvenTreeTable.tsx:494 +#: src/tables/InvenTreeTable.tsx:513 msgid "This action cannot be undone!" msgstr "" -#: src/tables/InvenTreeTable.tsx:517 +#: src/tables/InvenTreeTable.tsx:536 msgid "Deleted records" msgstr "" -#: src/tables/InvenTreeTable.tsx:518 +#: src/tables/InvenTreeTable.tsx:537 msgid "Records were deleted successfully" msgstr "" -#: src/tables/InvenTreeTable.tsx:527 +#: src/tables/InvenTreeTable.tsx:546 msgid "Failed to delete records" msgstr "" @@ -4956,140 +5100,144 @@ msgstr "" #~ msgid "Print actions" #~ msgstr "Print actions" -#: src/tables/InvenTreeTable.tsx:596 -#: src/tables/InvenTreeTable.tsx:597 +#: src/tables/InvenTreeTable.tsx:613 +#: src/tables/InvenTreeTable.tsx:614 msgid "Barcode actions" msgstr "" -#: src/tables/InvenTreeTable.tsx:625 +#: src/tables/InvenTreeTable.tsx:642 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTable.tsx:646 +#: src/tables/InvenTreeTable.tsx:663 msgid "Table filters" msgstr "" -#: src/tables/bom/BomTable.tsx:80 +#: src/tables/UploadAction.tsx:9 +msgid "Upload Data" +msgstr "" + +#: src/tables/bom/BomTable.tsx:83 msgid "This BOM item is defined for a different parent" msgstr "" -#: src/tables/bom/BomTable.tsx:95 +#: src/tables/bom/BomTable.tsx:98 msgid "Part Information" msgstr "" -#: src/tables/bom/BomTable.tsx:184 -#: src/tables/part/PartTable.tsx:124 +#: src/tables/bom/BomTable.tsx:187 +#: src/tables/part/PartTable.tsx:125 msgid "No stock" msgstr "" -#: src/tables/bom/BomTable.tsx:192 +#: src/tables/bom/BomTable.tsx:195 #: src/tables/build/BuildLineTable.tsx:104 -#: src/tables/part/PartTable.tsx:115 +#: src/tables/part/PartTable.tsx:116 msgid "External stock" msgstr "" -#: src/tables/bom/BomTable.tsx:200 +#: src/tables/bom/BomTable.tsx:203 #: src/tables/build/BuildLineTable.tsx:67 msgid "Includes substitute stock" msgstr "" -#: src/tables/bom/BomTable.tsx:209 +#: src/tables/bom/BomTable.tsx:212 #: src/tables/build/BuildLineTable.tsx:77 msgid "Includes variant stock" msgstr "" -#: src/tables/bom/BomTable.tsx:234 -#: src/tables/part/PartTable.tsx:143 +#: src/tables/bom/BomTable.tsx:237 +#: src/tables/part/PartTable.tsx:144 #: src/tables/stock/StockItemTable.tsx:205 msgid "Stock Information" msgstr "" -#: src/tables/bom/BomTable.tsx:246 +#: src/tables/bom/BomTable.tsx:249 #: src/tables/build/BuildLineTable.tsx:195 msgid "Consumable item" msgstr "" -#: src/tables/bom/BomTable.tsx:267 +#: src/tables/bom/BomTable.tsx:270 msgid "Show trackable items" msgstr "" -#: src/tables/bom/BomTable.tsx:272 +#: src/tables/bom/BomTable.tsx:275 msgid "Show asssmbled items" msgstr "" -#: src/tables/bom/BomTable.tsx:277 +#: src/tables/bom/BomTable.tsx:280 msgid "Show items with available stock" msgstr "" -#: src/tables/bom/BomTable.tsx:282 +#: src/tables/bom/BomTable.tsx:285 msgid "Show items on order" msgstr "" -#: src/tables/bom/BomTable.tsx:286 +#: src/tables/bom/BomTable.tsx:289 msgid "Validated" msgstr "" -#: src/tables/bom/BomTable.tsx:287 +#: src/tables/bom/BomTable.tsx:290 msgid "Show validated items" msgstr "" -#: src/tables/bom/BomTable.tsx:291 +#: src/tables/bom/BomTable.tsx:294 #: src/tables/bom/UsedInTable.tsx:63 msgid "Inherited" msgstr "" -#: src/tables/bom/BomTable.tsx:292 +#: src/tables/bom/BomTable.tsx:295 #: src/tables/bom/UsedInTable.tsx:64 msgid "Show inherited items" msgstr "" -#: src/tables/bom/BomTable.tsx:296 +#: src/tables/bom/BomTable.tsx:299 msgid "Allow Variants" msgstr "" -#: src/tables/bom/BomTable.tsx:297 +#: src/tables/bom/BomTable.tsx:300 msgid "Show items which allow variant substitution" msgstr "" #: src/tables/bom/BomTable.tsx:301 +#~ msgid "Create BOM Item" +#~ msgstr "Create BOM Item" + +#: src/tables/bom/BomTable.tsx:304 #: src/tables/bom/UsedInTable.tsx:68 #: src/tables/build/BuildLineTable.tsx:46 msgid "Optional" msgstr "" -#: src/tables/bom/BomTable.tsx:301 -#~ msgid "Create BOM Item" -#~ msgstr "Create BOM Item" - -#: src/tables/bom/BomTable.tsx:302 +#: src/tables/bom/BomTable.tsx:305 #: src/tables/bom/UsedInTable.tsx:69 msgid "Show optional items" msgstr "" -#: src/tables/bom/BomTable.tsx:306 +#: src/tables/bom/BomTable.tsx:309 #: src/tables/build/BuildLineTable.tsx:41 msgid "Consumable" msgstr "" -#: src/tables/bom/BomTable.tsx:307 +#: src/tables/bom/BomTable.tsx:310 msgid "Show consumable items" msgstr "" -#: src/tables/bom/BomTable.tsx:311 -#: src/tables/part/PartTable.tsx:250 +#: src/tables/bom/BomTable.tsx:314 +#: src/tables/part/PartTable.tsx:257 msgid "Has Pricing" msgstr "" -#: src/tables/bom/BomTable.tsx:312 +#: src/tables/bom/BomTable.tsx:315 msgid "Show items with pricing" msgstr "" -#: src/tables/bom/BomTable.tsx:321 -#: src/tables/bom/BomTable.tsx:420 +#: src/tables/bom/BomTable.tsx:324 +#: src/tables/bom/BomTable.tsx:426 msgid "Add BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:326 +#: src/tables/bom/BomTable.tsx:329 msgid "BOM item created" msgstr "" @@ -5097,23 +5245,23 @@ msgstr "" #~ msgid "Edit Bom Item" #~ msgstr "Edit Bom Item" -#: src/tables/bom/BomTable.tsx:333 -msgid "Edit BOM Item" -msgstr "" - #: src/tables/bom/BomTable.tsx:333 #~ msgid "Bom item updated" #~ msgstr "Bom item updated" -#: src/tables/bom/BomTable.tsx:335 +#: src/tables/bom/BomTable.tsx:336 +msgid "Edit BOM Item" +msgstr "" + +#: src/tables/bom/BomTable.tsx:338 msgid "BOM item updated" msgstr "" -#: src/tables/bom/BomTable.tsx:342 +#: src/tables/bom/BomTable.tsx:345 msgid "Delete BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:343 +#: src/tables/bom/BomTable.tsx:346 msgid "BOM item deleted" msgstr "" @@ -5133,32 +5281,41 @@ msgstr "" #~ msgid "Validate BOM line" #~ msgstr "Validate BOM line" -#: src/tables/bom/BomTable.tsx:355 +#: src/tables/bom/BomTable.tsx:358 msgid "BOM item validated" msgstr "" -#: src/tables/bom/BomTable.tsx:364 +#: src/tables/bom/BomTable.tsx:367 msgid "Failed to validate BOM item" msgstr "" -#: src/tables/bom/BomTable.tsx:376 +#: src/tables/bom/BomTable.tsx:379 msgid "View BOM" msgstr "" -#: src/tables/bom/BomTable.tsx:385 +#: src/tables/bom/BomTable.tsx:388 msgid "Validate BOM Line" msgstr "" -#: src/tables/bom/BomTable.tsx:399 +#: src/tables/bom/BomTable.tsx:405 msgid "Edit Substitutes" msgstr "" +#: src/tables/bom/BomTable.tsx:440 +#: src/tables/part/PartParameterTable.tsx:191 +msgid "Part is Locked" +msgstr "" + +#: src/tables/bom/BomTable.tsx:445 +msgid "Bill of materials cannot be edited, as the part is locked" +msgstr "" + #: src/tables/bom/UsedInTable.tsx:74 msgid "Show active assemblies" msgstr "" #: src/tables/bom/UsedInTable.tsx:78 -#: src/tables/part/PartTable.tsx:192 +#: src/tables/part/PartTable.tsx:199 #: src/tables/part/PartVariantTable.tsx:30 msgid "Trackable" msgstr "" @@ -5168,7 +5325,7 @@ msgid "Show trackable assemblies" msgstr "" #: src/tables/build/BuildLineTable.tsx:31 -#: src/tables/stock/StockItemTable.tsx:270 +#: src/tables/stock/StockItemTable.tsx:292 msgid "Allocated" msgstr "" @@ -5189,7 +5346,7 @@ msgid "Show optional lines" msgstr "" #: src/tables/build/BuildLineTable.tsx:51 -#: src/tables/stock/StockItemTable.tsx:329 +#: src/tables/stock/StockItemTable.tsx:351 msgid "Tracked" msgstr "" @@ -5302,10 +5459,6 @@ msgstr "" msgid "Deallocate stock from build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:205 -msgid "Complete" -msgstr "" - #: src/tables/build/BuildOutputTable.tsx:206 msgid "Complete build output" msgstr "" @@ -5635,7 +5788,7 @@ msgid "Message" msgstr "" #: src/tables/part/ParametricPartTable.tsx:76 -#: src/tables/part/PartParameterTable.tsx:88 +#: src/tables/part/PartParameterTable.tsx:95 msgid "Internal Units" msgstr "" @@ -5648,13 +5801,13 @@ msgid "Add Part Parameter" msgstr "" #: src/tables/part/ParametricPartTable.tsx:138 -#: src/tables/part/PartParameterTable.tsx:121 -#: src/tables/part/PartParameterTable.tsx:144 +#: src/tables/part/PartParameterTable.tsx:128 +#: src/tables/part/PartParameterTable.tsx:151 msgid "Edit Part Parameter" msgstr "" #: src/tables/part/PartCategoryTable.tsx:60 -#: src/tables/part/PartTable.tsx:180 +#: src/tables/part/PartTable.tsx:187 msgid "Include Subcategories" msgstr "" @@ -5667,7 +5820,7 @@ msgid "Show structural categories" msgstr "" #: src/tables/part/PartCategoryTable.tsx:70 -#: src/tables/part/PartTable.tsx:262 +#: src/tables/part/PartTable.tsx:269 msgid "Subscribed" msgstr "" @@ -5704,21 +5857,25 @@ msgstr "" #~ msgid "[{0}]" #~ msgstr "[{0}]" -#: src/tables/part/PartParameterTable.tsx:105 +#: src/tables/part/PartParameterTable.tsx:112 msgid "New Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:130 -#: src/tables/part/PartParameterTable.tsx:152 +#: src/tables/part/PartParameterTable.tsx:137 +#: src/tables/part/PartParameterTable.tsx:159 msgid "Delete Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:170 +#: src/tables/part/PartParameterTable.tsx:177 msgid "Add parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:191 -#: src/tables/stock/StockItemTable.tsx:300 +#: src/tables/part/PartParameterTable.tsx:196 +msgid "Part parameters cannot be edited, as the part is locked" +msgstr "" + +#: src/tables/part/PartParameterTable.tsx:210 +#: src/tables/stock/StockItemTable.tsx:322 msgid "Include Variants" msgstr "" @@ -5739,7 +5896,7 @@ msgid "Show templates with choices" msgstr "" #: src/tables/part/PartParameterTemplateTable.tsx:41 -#: src/tables/part/PartTable.tsx:198 +#: src/tables/part/PartTable.tsx:205 msgid "Has Units" msgstr "" @@ -5763,116 +5920,120 @@ msgstr "" msgid "Add parameter template" msgstr "" -#: src/tables/part/PartTable.tsx:67 +#: src/tables/part/PartTable.tsx:68 msgid "Minimum stock" msgstr "" -#: src/tables/part/PartTable.tsx:89 +#: src/tables/part/PartTable.tsx:90 msgid "Build Order Allocations" msgstr "" -#: src/tables/part/PartTable.tsx:98 +#: src/tables/part/PartTable.tsx:99 msgid "Sales Order Allocations" msgstr "" -#: src/tables/part/PartTable.tsx:169 +#: src/tables/part/PartTable.tsx:170 msgid "Filter by part active status" msgstr "" -#: src/tables/part/PartTable.tsx:174 -#: src/tables/stock/StockItemTable.tsx:265 +#: src/tables/part/PartTable.tsx:176 +msgid "Filter by part locked status" +msgstr "" + +#: src/tables/part/PartTable.tsx:181 +#: src/tables/stock/StockItemTable.tsx:287 msgid "Assembly" msgstr "" -#: src/tables/part/PartTable.tsx:175 +#: src/tables/part/PartTable.tsx:182 msgid "Filter by assembly attribute" msgstr "" -#: src/tables/part/PartTable.tsx:181 +#: src/tables/part/PartTable.tsx:188 msgid "Include parts in subcategories" msgstr "" -#: src/tables/part/PartTable.tsx:187 +#: src/tables/part/PartTable.tsx:194 msgid "Filter by component attribute" msgstr "" -#: src/tables/part/PartTable.tsx:193 +#: src/tables/part/PartTable.tsx:200 msgid "Filter by trackable attribute" msgstr "" -#: src/tables/part/PartTable.tsx:199 +#: src/tables/part/PartTable.tsx:206 msgid "Filter by parts which have units" msgstr "" -#: src/tables/part/PartTable.tsx:204 +#: src/tables/part/PartTable.tsx:211 msgid "Has IPN" msgstr "" -#: src/tables/part/PartTable.tsx:205 +#: src/tables/part/PartTable.tsx:212 msgid "Filter by parts which have an internal part number" msgstr "" -#: src/tables/part/PartTable.tsx:210 +#: src/tables/part/PartTable.tsx:217 msgid "Has Stock" msgstr "" -#: src/tables/part/PartTable.tsx:211 +#: src/tables/part/PartTable.tsx:218 msgid "Filter by parts which have stock" msgstr "" -#: src/tables/part/PartTable.tsx:217 +#: src/tables/part/PartTable.tsx:224 msgid "Filter by parts which have low stock" msgstr "" -#: src/tables/part/PartTable.tsx:222 +#: src/tables/part/PartTable.tsx:229 msgid "Purchaseable" msgstr "" -#: src/tables/part/PartTable.tsx:223 +#: src/tables/part/PartTable.tsx:230 msgid "Filter by parts which are purchaseable" msgstr "" -#: src/tables/part/PartTable.tsx:228 +#: src/tables/part/PartTable.tsx:235 msgid "Salable" msgstr "" -#: src/tables/part/PartTable.tsx:229 +#: src/tables/part/PartTable.tsx:236 msgid "Filter by parts which are salable" msgstr "" -#: src/tables/part/PartTable.tsx:235 +#: src/tables/part/PartTable.tsx:242 msgid "Filter by parts which are virtual" msgstr "" -#: src/tables/part/PartTable.tsx:239 +#: src/tables/part/PartTable.tsx:246 msgid "Not Virtual" msgstr "" -#: src/tables/part/PartTable.tsx:244 +#: src/tables/part/PartTable.tsx:251 msgid "Is Template" msgstr "" -#: src/tables/part/PartTable.tsx:245 +#: src/tables/part/PartTable.tsx:252 msgid "Filter by parts which are templates" msgstr "" -#: src/tables/part/PartTable.tsx:251 +#: src/tables/part/PartTable.tsx:258 msgid "Filter by parts which have pricing information" msgstr "" -#: src/tables/part/PartTable.tsx:257 +#: src/tables/part/PartTable.tsx:264 msgid "Filter by parts which have available stock" msgstr "" -#: src/tables/part/PartTable.tsx:263 +#: src/tables/part/PartTable.tsx:270 msgid "Filter by parts to which the user is subscribed" msgstr "" -#: src/tables/part/PartTable.tsx:268 +#: src/tables/part/PartTable.tsx:275 msgid "Has Stocktake" msgstr "" -#: src/tables/part/PartTable.tsx:269 +#: src/tables/part/PartTable.tsx:276 msgid "Filter by parts which have stocktake information" msgstr "" @@ -6211,7 +6372,7 @@ msgid "Sample" msgstr "" #: src/tables/plugin/PluginListTable.tsx:578 -#: src/tables/stock/StockItemTable.tsx:305 +#: src/tables/stock/StockItemTable.tsx:327 msgid "Installed" msgstr "" @@ -6486,6 +6647,41 @@ msgstr "" msgid "Edit group" msgstr "" +#: src/tables/settings/ImportSessionTable.tsx:39 +msgid "Delete Import Session" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:45 +#: src/tables/settings/ImportSessionTable.tsx:132 +msgid "Create Import Session" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:70 +msgid "Uploaded" +msgstr "Uploaded" + +#: src/tables/settings/ImportSessionTable.tsx:80 +msgid "Imported Rows" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:110 +#: src/tables/settings/TemplateTable.tsx:276 +msgid "Model Type" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:111 +#: src/tables/settings/TemplateTable.tsx:277 +msgid "Filter by target model type" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:117 +msgid "Filter by import session status" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:123 +msgid "Filter by user" +msgstr "" + #: src/tables/settings/PendingTasksTable.tsx:36 msgid "Arguments" msgstr "" @@ -6502,7 +6698,7 @@ msgstr "" msgid "Delete Project Code" msgstr "" -#: src/tables/settings/ProjectCodeTable.tsx:94 +#: src/tables/settings/ProjectCodeTable.tsx:92 msgid "Add project code" msgstr "" @@ -6571,14 +6767,6 @@ msgstr "" 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 "" @@ -6701,149 +6889,153 @@ msgstr "" msgid "This stock item has been depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:255 +#: src/tables/stock/StockItemTable.tsx:247 +msgid "Stock Value" +msgstr "" + +#: src/tables/stock/StockItemTable.tsx:277 msgid "Show stock for active parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:260 +#: src/tables/stock/StockItemTable.tsx:282 msgid "Filter by stock status" msgstr "" -#: src/tables/stock/StockItemTable.tsx:266 +#: src/tables/stock/StockItemTable.tsx:288 msgid "Show stock for assmebled parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:271 +#: src/tables/stock/StockItemTable.tsx:293 msgid "Show items which have been allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:276 +#: src/tables/stock/StockItemTable.tsx:298 msgid "Show items which are available" msgstr "" -#: src/tables/stock/StockItemTable.tsx:280 +#: src/tables/stock/StockItemTable.tsx:302 #: src/tables/stock/StockLocationTable.tsx:42 msgid "Include Sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:281 +#: src/tables/stock/StockItemTable.tsx:303 msgid "Include stock in sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:285 +#: src/tables/stock/StockItemTable.tsx:307 msgid "Depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:286 +#: src/tables/stock/StockItemTable.tsx:308 msgid "Show depleted stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:291 +#: src/tables/stock/StockItemTable.tsx:313 msgid "Show items which are in stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:296 +#: src/tables/stock/StockItemTable.tsx:318 msgid "Show items which are in production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:301 +#: src/tables/stock/StockItemTable.tsx:323 msgid "Include stock items for variant parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:306 +#: src/tables/stock/StockItemTable.tsx:328 msgid "Show stock items which are installed in other items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:310 +#: src/tables/stock/StockItemTable.tsx:332 msgid "Sent to Customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:311 +#: src/tables/stock/StockItemTable.tsx:333 msgid "Show items which have been sent to a customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:315 +#: src/tables/stock/StockItemTable.tsx:337 msgid "Is Serialized" msgstr "" -#: src/tables/stock/StockItemTable.tsx:316 +#: src/tables/stock/StockItemTable.tsx:338 msgid "Show items which have a serial number" msgstr "" -#: src/tables/stock/StockItemTable.tsx:323 +#: src/tables/stock/StockItemTable.tsx:345 msgid "Has Batch Code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:324 +#: src/tables/stock/StockItemTable.tsx:346 msgid "Show items which have a batch code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:330 +#: src/tables/stock/StockItemTable.tsx:352 msgid "Show tracked items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:334 +#: src/tables/stock/StockItemTable.tsx:356 msgid "Has Purchase Price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:335 +#: src/tables/stock/StockItemTable.tsx:357 msgid "Show items which have a purchase price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:343 +#: src/tables/stock/StockItemTable.tsx:365 msgid "External Location" msgstr "" -#: src/tables/stock/StockItemTable.tsx:344 +#: src/tables/stock/StockItemTable.tsx:366 msgid "Show items in an external location" msgstr "" -#: src/tables/stock/StockItemTable.tsx:416 +#: src/tables/stock/StockItemTable.tsx:438 msgid "Add a new stock item" msgstr "" -#: src/tables/stock/StockItemTable.tsx:425 +#: src/tables/stock/StockItemTable.tsx:447 msgid "Remove some quantity from a stock item" msgstr "" -#: src/tables/stock/StockItemTable.tsx:447 +#: src/tables/stock/StockItemTable.tsx:469 msgid "Move Stock items to new locations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:454 +#: src/tables/stock/StockItemTable.tsx:476 msgid "Change stock status" msgstr "" -#: src/tables/stock/StockItemTable.tsx:456 +#: src/tables/stock/StockItemTable.tsx:478 msgid "Change the status of stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:463 +#: src/tables/stock/StockItemTable.tsx:485 msgid "Merge stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:465 +#: src/tables/stock/StockItemTable.tsx:487 msgid "Merge stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:472 +#: src/tables/stock/StockItemTable.tsx:494 msgid "Order stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:474 -#: src/tables/stock/StockItemTable.tsx:480 +#: src/tables/stock/StockItemTable.tsx:496 +#: src/tables/stock/StockItemTable.tsx:502 msgid "Order new stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:478 +#: src/tables/stock/StockItemTable.tsx:500 msgid "Assign to customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:487 +#: src/tables/stock/StockItemTable.tsx:509 msgid "Delete stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:489 +#: src/tables/stock/StockItemTable.tsx:511 msgid "Delete stock items" msgstr "" @@ -6999,4 +7191,3 @@ msgstr "" #: src/views/MobileAppView.tsx:35 msgid "Ignore and continue to Desktop view" msgstr "" - diff --git a/src/frontend/src/locales/de/messages.po b/src/frontend/src/locales/de/messages.po index d622e1b9180a..6547364de32d 100644 --- a/src/frontend/src/locales/de/messages.po +++ b/src/frontend/src/locales/de/messages.po @@ -49,16 +49,18 @@ msgstr "Etikettendruck erfolgreich abgeschlossen" #: src/components/buttons/PrintingActions.tsx:107 #: src/components/buttons/PrintingActions.tsx:144 #: src/components/editors/NotesEditor.tsx:65 -#: src/components/editors/NotesEditor.tsx:160 -#: src/components/forms/ApiForm.tsx:506 -#: src/components/forms/fields/ApiFormField.tsx:295 +#: src/components/editors/NotesEditor.tsx:165 +#: src/components/forms/ApiForm.tsx:513 +#: src/components/forms/fields/ApiFormField.tsx:306 +#: src/components/importer/ImportDataSelector.tsx:171 +#: src/components/importer/ImporterColumnSelector.tsx:112 #: src/components/modals/LicenseModal.tsx:75 #: src/components/nav/SearchDrawer.tsx:427 #: src/pages/ErrorPage.tsx:11 #: src/pages/part/PartPricingPanel.tsx:71 -#: src/tables/InvenTreeTable.tsx:451 -#: src/tables/InvenTreeTable.tsx:526 -#: src/tables/bom/BomTable.tsx:363 +#: src/tables/InvenTreeTable.tsx:470 +#: src/tables/InvenTreeTable.tsx:545 +#: src/tables/bom/BomTable.tsx:366 #: src/tables/stock/StockItemTestResultTable.tsx:294 msgid "Error" msgstr "Fehler" @@ -157,7 +159,7 @@ msgstr "Entfernen" #: src/functions/forms.tsx:196 #: src/hooks/UseForm.tsx:40 #: src/tables/FilterSelectDrawer.tsx:204 -#: src/tables/InvenTreeTable.tsx:499 +#: src/tables/InvenTreeTable.tsx:518 #: src/tables/build/BuildOutputTable.tsx:225 msgid "Cancel" msgstr "Abbrechen" @@ -175,7 +177,7 @@ msgid "Clear" msgstr "Leeren" #: src/components/details/DetailsImage.tsx:227 -#: src/components/forms/ApiForm.tsx:573 +#: src/components/forms/ApiForm.tsx:580 #: src/contexts/ThemeContext.tsx:43 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:56 msgid "Submit" @@ -202,48 +204,61 @@ msgid "Delete image" msgstr "Bild löschen" #: src/components/details/PartIcons.tsx:28 +#: src/tables/ColumnRenderers.tsx:35 +msgid "Part is locked" +msgstr "" + +#: src/components/details/PartIcons.tsx:30 +#: src/pages/part/PartDetail.tsx:267 +#: src/pages/part/PartDetail.tsx:698 +#: src/tables/part/PartTable.tsx:175 +msgid "Locked" +msgstr "" + +#: src/components/details/PartIcons.tsx:35 +#: src/tables/ColumnRenderers.tsx:30 msgid "Part is not active" msgstr "Teil ist nicht aktiv" -#: src/components/details/PartIcons.tsx:34 +#: src/components/details/PartIcons.tsx:37 #: src/components/render/Plugin.tsx:17 #: src/pages/company/CompanyDetail.tsx:315 #: src/pages/company/SupplierPartDetail.tsx:307 -#: src/pages/part/PartDetail.tsx:685 +#: src/pages/part/PartDetail.tsx:704 msgid "Inactive" msgstr "Inaktiv" -#: src/components/details/PartIcons.tsx:41 +#: src/components/details/PartIcons.tsx:43 msgid "Part is a template part (variants can be made from this part)" msgstr "Teil ist eine Vorlage (Varianten des Teils können erstellt werden)" -#: src/components/details/PartIcons.tsx:47 +#: src/components/details/PartIcons.tsx:49 msgid "Part can be assembled from other parts" msgstr "Teil kann aus anderen Teilen gefertigt werden" -#: src/components/details/PartIcons.tsx:53 +#: src/components/details/PartIcons.tsx:55 msgid "Part can be used in assemblies" msgstr "Teil kann in Baugruppen genutzt werden" -#: src/components/details/PartIcons.tsx:59 +#: src/components/details/PartIcons.tsx:61 msgid "Part stock is tracked by serial number" msgstr "Teilebestand wird über Seriennummern verfolgt" -#: src/components/details/PartIcons.tsx:65 +#: src/components/details/PartIcons.tsx:67 msgid "Part can be purchased from external suppliers" msgstr "Teil kann bei externen Zulieferern gekauft werden" -#: src/components/details/PartIcons.tsx:71 +#: src/components/details/PartIcons.tsx:73 msgid "Part can be sold to customers" msgstr "Teil kann an Kunden verkauft werden" -#: src/components/details/PartIcons.tsx:76 +#: src/components/details/PartIcons.tsx:78 msgid "Part is virtual (not a physical part)" msgstr "Teil ist virtuell (kein physischer Gegenstand)" -#: src/components/details/PartIcons.tsx:82 -#: src/tables/part/PartTable.tsx:234 -#: src/tables/part/PartTable.tsx:238 +#: src/components/details/PartIcons.tsx:84 +#: src/tables/part/PartTable.tsx:241 +#: src/tables/part/PartTable.tsx:245 #: src/tables/part/PartVariantTable.tsx:25 msgid "Virtual" msgstr "Virtuell" @@ -252,29 +267,29 @@ msgstr "Virtuell" msgid "Image upload failed" msgstr "" -#: src/components/editors/NotesEditor.tsx:151 -#: src/components/forms/ApiForm.tsx:430 -#: src/tables/bom/BomTable.tsx:354 +#: src/components/editors/NotesEditor.tsx:156 +#: src/components/forms/ApiForm.tsx:437 +#: src/tables/bom/BomTable.tsx:357 msgid "Success" msgstr "Abgeschlossen" -#: src/components/editors/NotesEditor.tsx:152 +#: src/components/editors/NotesEditor.tsx:157 msgid "Notes saved successfully" msgstr "Notizen erfolgreich gespeichert" -#: src/components/editors/NotesEditor.tsx:161 +#: src/components/editors/NotesEditor.tsx:166 msgid "Failed to save notes" msgstr "Notiz konnte nicht gespeichert werden" -#: src/components/editors/NotesEditor.tsx:193 +#: src/components/editors/NotesEditor.tsx:198 msgid "Preview Notes" msgstr "" -#: src/components/editors/NotesEditor.tsx:193 +#: src/components/editors/NotesEditor.tsx:198 msgid "Edit Notes" msgstr "Notizen bearbeiten" -#: src/components/editors/NotesEditor.tsx:207 +#: src/components/editors/NotesEditor.tsx:212 msgid "Save Notes" msgstr "Notizen speichern" @@ -407,7 +422,7 @@ msgstr "" msgid "A server error occurred" msgstr "" -#: src/components/forms/ApiForm.tsx:149 +#: src/components/forms/ApiForm.tsx:151 #: src/functions/forms.tsx:259 msgid "Form Error" msgstr "Formularfehler" @@ -416,18 +431,18 @@ msgstr "Formularfehler" #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:611 +#: src/components/forms/ApiForm.tsx:618 #: src/tables/plugin/PluginListTable.tsx:388 msgid "Update" msgstr "Aktualisieren" -#: src/components/forms/ApiForm.tsx:631 +#: src/components/forms/ApiForm.tsx:638 #: 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:498 +#: src/tables/InvenTreeTable.tsx:517 #: src/tables/RowActions.tsx:71 #: src/tables/plugin/PluginListTable.tsx:420 msgid "Delete" @@ -600,7 +615,7 @@ msgstr "Adresse" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:70 #: src/pages/part/CategoryDetail.tsx:80 -#: src/pages/part/PartDetail.tsx:122 +#: src/pages/part/PartDetail.tsx:123 #: src/pages/stock/LocationDetail.tsx:87 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 @@ -685,6 +700,124 @@ msgstr "Keine Einträge vorhanden" msgid "Thumbnail" msgstr "Vorschaubild" +#: src/components/importer/ImportDataSelector.tsx:154 +msgid "Importing Rows" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:155 +msgid "Please wait while the data is imported" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:172 +msgid "An error occurred while importing data" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:191 +msgid "Edit Data" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:218 +msgid "Delete Row" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:248 +msgid "Row" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:266 +msgid "Row contains errors" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:307 +msgid "Accept" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:340 +msgid "Valid" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:341 +msgid "Filter by row validation status" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:346 +#: src/tables/build/BuildOutputTable.tsx:205 +msgid "Complete" +msgstr "Fertigstellen" + +#: src/components/importer/ImportDataSelector.tsx:347 +msgid "Filter by row completion status" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:364 +msgid "Import selected rows" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:46 +#: src/components/importer/ImporterColumnSelector.tsx:85 +msgid "An error occurred" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:57 +msgid "Select column, or leave blank to ignore this field." +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:91 +msgid "Select a column from the data file" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:104 +msgid "Map data columns to database fields" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:109 +msgid "Accept Column Mapping" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:117 +msgid "Database Field" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:118 +msgid "Field Description" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:119 +msgid "Imported Column Name" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:44 +msgid "Import Data" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:45 +msgid "Map Columns" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:46 +msgid "Process Data" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:47 +msgid "Complete Import" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:91 +msgid "Importing Data" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:97 +msgid "Cancel import session" +msgstr "" + +#: src/components/importer/ImporterImportProgress.tsx:36 +msgid "Importing Records" +msgstr "" + +#: src/components/importer/ImporterImportProgress.tsx:39 +msgid "Imported rows" +msgstr "" + #: src/components/items/ActionDropdown.tsx:119 #: src/pages/build/BuildDetail.tsx:358 msgid "Barcode Actions" @@ -738,7 +871,7 @@ msgid "Read More" msgstr "Mehr lesen" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:443 +#: src/tables/InvenTreeTable.tsx:462 msgid "Unknown error" msgstr "Unbekannter Fehler" @@ -1039,13 +1172,13 @@ msgstr "Benutzereinstellungen" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:313 +#: src/pages/Index/Settings/SystemSettings.tsx:314 msgid "System Settings" msgstr "Einstellungen" #: src/components/nav/MainMenu.tsx:67 #: src/defaults/menuItems.tsx:63 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:198 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:209 msgid "Admin Center" msgstr "Adminbereich" @@ -1088,7 +1221,7 @@ msgid "Pages" msgstr "Seiten" #: src/components/nav/NavigationDrawer.tsx:65 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:157 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:168 #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:41 msgid "Plugins" msgstr "Plugins" @@ -1102,7 +1235,7 @@ msgstr "Dokumentation" msgid "About" msgstr "Über uns" -#: src/components/nav/NotificationDrawer.tsx:78 +#: src/components/nav/NotificationDrawer.tsx:81 #: src/pages/Index/Settings/SystemSettings.tsx:108 #: src/pages/Index/Settings/UserSettings.tsx:96 #: src/pages/Notifications.tsx:65 @@ -1110,17 +1243,17 @@ msgstr "Über uns" msgid "Notifications" msgstr "Benachrichtigungen" -#: src/components/nav/NotificationDrawer.tsx:95 +#: src/components/nav/NotificationDrawer.tsx:98 msgid "You have no unread notifications." msgstr "Du hast keine ungelesenen Benachrichtigungen. " -#: src/components/nav/NotificationDrawer.tsx:111 -#: src/components/nav/NotificationDrawer.tsx:117 +#: src/components/nav/NotificationDrawer.tsx:114 +#: src/components/nav/NotificationDrawer.tsx:120 #: src/tables/notifications/NotificationsTable.tsx:36 msgid "Notification" msgstr "Benachrichtigung" -#: src/components/nav/NotificationDrawer.tsx:140 +#: src/components/nav/NotificationDrawer.tsx:143 #: src/pages/Notifications.tsx:73 msgid "Mark as read" msgstr "Als gelesen markieren" @@ -1157,7 +1290,7 @@ msgstr "Keine Ergebnisse" msgid "No results available for search query" msgstr "Keine Ergebnisse für Suchanfrage verfügbar" -#: src/components/render/Instance.tsx:166 +#: src/components/render/Instance.tsx:201 msgid "Unknown model: {model}" msgstr "Unbekanntes Modell: {model}" @@ -1172,7 +1305,8 @@ msgstr "Unbekanntes Modell: {model}" #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 #: src/pages/build/BuildDetail.tsx:85 -#: src/pages/part/PartDetail.tsx:831 +#: src/pages/part/PartDetail.tsx:872 +#: src/tables/part/PartTable.tsx:28 #: src/tables/part/RelatedPartTable.tsx:45 #: src/tables/stock/StockTrackingTable.tsx:74 msgid "Part" @@ -1185,7 +1319,7 @@ msgstr "Teil" #: src/pages/part/CategoryDetail.tsx:112 #: src/pages/part/CategoryDetail.tsx:237 #: src/pages/part/CategoryDetail.tsx:267 -#: src/pages/part/PartDetail.tsx:639 +#: src/pages/part/PartDetail.tsx:652 msgid "Parts" msgstr "Teile" @@ -1235,7 +1369,7 @@ msgstr "Teilkategorie" #: src/pages/Index/Settings/SystemSettings.tsx:172 #: src/pages/part/CategoryDetail.tsx:251 #: src/pages/part/CategoryDetail.tsx:288 -#: src/pages/part/PartDetail.tsx:821 +#: src/pages/part/PartDetail.tsx:862 msgid "Part Categories" msgstr "Teil-Kategorien" @@ -1317,7 +1451,7 @@ msgid "Project Code" msgstr "Projekt-Code" #: src/components/render/ModelType.tsx:127 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:109 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:120 msgid "Project Codes" msgstr "Projektnummern" @@ -1329,10 +1463,10 @@ msgid "Purchase Order" msgstr "Einkaufsbestellung" #: src/components/render/ModelType.tsx:134 -#: src/pages/Index/Settings/SystemSettings.tsx:257 +#: src/pages/Index/Settings/SystemSettings.tsx:258 #: src/pages/company/CompanyDetail.tsx:194 #: src/pages/company/SupplierPartDetail.tsx:226 -#: src/pages/part/PartDetail.tsx:573 +#: src/pages/part/PartDetail.tsx:586 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "Nachbestellungen" @@ -1354,9 +1488,9 @@ msgid "Sales Order" msgstr "Verkaufsauftrag" #: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:272 +#: src/pages/Index/Settings/SystemSettings.tsx:273 #: src/pages/company/CompanyDetail.tsx:214 -#: src/pages/part/PartDetail.tsx:580 +#: src/pages/part/PartDetail.tsx:593 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "Aufträge" @@ -1376,7 +1510,7 @@ msgid "Return Order" msgstr "Rückgabe Auftrag" #: src/components/render/ModelType.tsx:164 -#: src/pages/Index/Settings/SystemSettings.tsx:288 +#: src/pages/Index/Settings/SystemSettings.tsx:289 #: src/pages/company/CompanyDetail.tsx:221 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1413,40 +1547,49 @@ msgid "Owners" msgstr "Eigentümer" #: src/components/render/ModelType.tsx:193 +#: src/tables/settings/ImportSessionTable.tsx:122 #: src/tables/stock/StockItemTestResultTable.tsx:193 #: src/tables/stock/StockTrackingTable.tsx:195 msgid "User" msgstr "Nutzer" #: src/components/render/ModelType.tsx:194 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:85 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:90 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" msgstr "Benutzer" #: src/components/render/ModelType.tsx:200 -msgid "Label Template" +msgid "Import Session" msgstr "" #: src/components/render/ModelType.tsx:201 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:139 -msgid "Label Templates" +msgid "Import Sessions" msgstr "" #: src/components/render/ModelType.tsx:207 -msgid "Report Template" +msgid "Label Template" msgstr "" #: src/components/render/ModelType.tsx:208 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:145 -msgid "Report Templates" +#: src/pages/Index/Settings/AdminCenter/Index.tsx:150 +msgid "Label Templates" msgstr "" #: src/components/render/ModelType.tsx:214 +msgid "Report Template" +msgstr "" + +#: src/components/render/ModelType.tsx:215 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:156 +msgid "Report Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:221 msgid "Plugin Configuration" msgstr "Plugin-Konfiguration" -#: src/components/render/ModelType.tsx:215 +#: src/components/render/ModelType.tsx:222 msgid "Plugin Configurations" msgstr "Plugin-Konfigurationen" @@ -1458,7 +1601,7 @@ msgstr "Sendung" #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 #: src/pages/Index/Settings/SystemSettings.tsx:210 -#: src/pages/part/PartDetail.tsx:492 +#: src/pages/part/PartDetail.tsx:503 #: src/pages/stock/LocationDetail.tsx:347 #: src/pages/stock/StockDetail.tsx:356 #: src/tables/stock/StockItemTable.tsx:57 @@ -1641,10 +1784,6 @@ msgstr "Keine Einstellungen angegeben" #~ msgid "Comment" #~ msgstr "Comment" -#: src/components/tables/general/AttachmentTable.tsx:56 -#~ msgid "Uploaded" -#~ msgstr "Uploaded" - #: src/components/tables/part/PartCategoryTable.tsx:122 #~ msgid "Part category updated" #~ msgstr "Part category updated" @@ -2157,7 +2296,7 @@ msgid "Recently Updated" msgstr "Kürzlich aktualisiert" #: src/defaults/dashboardItems.tsx:50 -#: src/tables/part/PartTable.tsx:216 +#: src/tables/part/PartTable.tsx:223 msgid "Low Stock" msgstr "Geringer Bestand" @@ -2466,7 +2605,7 @@ msgstr "Bauprodukte wurden abgebrochen" #~ msgid "Company updated" #~ msgstr "Company updated" -#: src/forms/PartForms.tsx:100 +#: src/forms/PartForms.tsx:103 msgid "Parent part category" msgstr "Übergeordnete Teilkategorie" @@ -2534,7 +2673,7 @@ msgstr "Artikel aus Liste entfernen" #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 #: src/pages/stock/StockDetail.tsx:173 -#: src/tables/ColumnRenderers.tsx:34 +#: src/tables/ColumnRenderers.tsx:49 #: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" msgstr "Lagerort" @@ -2585,8 +2724,8 @@ msgstr "Seriennummern für neue Lagerartikel eingeben (oder leer lassen)" #: src/forms/StockForms.tsx:176 #: src/pages/stock/StockDetail.tsx:379 -#: src/tables/stock/StockItemTable.tsx:382 -#: src/tables/stock/StockItemTable.tsx:499 +#: src/tables/stock/StockItemTable.tsx:404 +#: src/tables/stock/StockItemTable.tsx:521 msgid "Add Stock Item" msgstr "Lagerartikel hinzufügen" @@ -2606,9 +2745,9 @@ msgstr "Zum Standard-Lagerort verschieben" #: src/forms/StockForms.tsx:606 #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 -#: src/pages/part/PartDetail.tsx:202 -#: src/pages/part/PartDetail.tsx:655 -#: src/tables/stock/StockItemTable.tsx:290 +#: src/pages/part/PartDetail.tsx:203 +#: src/pages/part/PartDetail.tsx:668 +#: src/tables/stock/StockItemTable.tsx:312 msgid "In Stock" msgstr "Auf Lager" @@ -2649,12 +2788,12 @@ msgid "Remove Stock" msgstr "Bestand entfernen" #: src/forms/StockForms.tsx:803 -#: src/pages/part/PartDetail.tsx:782 +#: src/pages/part/PartDetail.tsx:823 msgid "Transfer Stock" msgstr "Bestand verschieben" #: src/forms/StockForms.tsx:812 -#: src/pages/part/PartDetail.tsx:771 +#: src/pages/part/PartDetail.tsx:812 msgid "Count Stock" msgstr "Bestand zählen" @@ -3279,53 +3418,57 @@ msgstr "Lader" #~ msgid "Advanced Amininistrative Options for InvenTree" #~ msgstr "Advanced Amininistrative Options for InvenTree" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:91 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:96 +msgid "Data Import" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:102 msgid "Background Tasks" msgstr "Hintergrundprozesse" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:97 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:108 msgid "Error Reports" msgstr "Fehlerberichte" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:103 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:114 msgid "Currencies" msgstr "Währungen" -#: 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:132 msgid "Custom Units" msgstr "Kundenspezifische Einheiten" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:138 #: src/pages/part/CategoryDetail.tsx:257 msgid "Part Parameters" msgstr "Teile Parameter" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 -#~ msgid "Templates" -#~ msgstr "Templates" - -#: src/pages/Index/Settings/AdminCenter/Index.tsx:133 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:144 msgid "Category Parameters" msgstr "Kategorie Parameter" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:151 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:162 msgid "Location types" msgstr "Lagerort Typen" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:163 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:174 #: src/tables/machine/MachineTypeTable.tsx:287 msgid "Machines" msgstr "Maschinen" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:173 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:184 msgid "Quick Actions" msgstr "Schnell-Auswahl" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:178 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:189 msgid "Add a new user" msgstr "Neuen Benutzer hinzufügen" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:199 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:210 msgid "Advanced Options" msgstr "Erweiterte Optionen" @@ -3477,7 +3620,7 @@ msgid "Reporting" msgstr "Berichte" #: src/pages/Index/Settings/SystemSettings.tsx:235 -#: src/pages/part/PartDetail.tsx:593 +#: src/pages/part/PartDetail.tsx:606 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "Inventur" @@ -3485,12 +3628,12 @@ msgstr "Inventur" #: src/pages/Index/Settings/SystemSettings.tsx:241 #: src/pages/build/BuildDetail.tsx:423 #: src/pages/build/BuildIndex.tsx:14 -#: src/pages/part/PartDetail.tsx:527 +#: src/pages/part/PartDetail.tsx:540 #: src/pages/sales/SalesOrderDetail.tsx:270 msgid "Build Orders" msgstr "Bauaufträge" -#: src/pages/Index/Settings/SystemSettings.tsx:316 +#: src/pages/Index/Settings/SystemSettings.tsx:317 msgid "Switch to User Setting" msgstr "Zu Benutzereinstellungen wechseln" @@ -3555,7 +3698,8 @@ msgstr "Als ungelesen markieren" #: 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/settings/ImportSessionTable.tsx:116 +#: src/tables/stock/StockItemTable.tsx:281 #: src/tables/stock/StockTrackingTable.tsx:52 msgid "Status" msgstr "Status" @@ -3564,7 +3708,7 @@ msgstr "Status" #: src/pages/purchasing/PurchaseOrderDetail.tsx:104 #: src/pages/sales/ReturnOrderDetail.tsx:73 #: src/pages/sales/SalesOrderDetail.tsx:77 -#: src/tables/ColumnRenderers.tsx:106 +#: src/tables/ColumnRenderers.tsx:121 #: src/tables/build/BuildLineTable.tsx:140 msgid "Reference" msgstr "Referenz" @@ -3574,12 +3718,12 @@ msgstr "Referenz" #: src/pages/company/ManufacturerPartDetail.tsx:78 #: src/pages/company/SupplierPartDetail.tsx:85 #: src/pages/part/CategoryDetail.tsx:94 -#: src/pages/part/PartDetail.tsx:129 +#: src/pages/part/PartDetail.tsx:130 #: src/pages/purchasing/PurchaseOrderDetail.tsx:125 #: src/pages/sales/ReturnOrderDetail.tsx:93 #: src/pages/sales/SalesOrderDetail.tsx:97 #: src/pages/stock/LocationDetail.tsx:101 -#: src/tables/ColumnRenderers.tsx:66 +#: src/tables/ColumnRenderers.tsx:81 #: src/tables/machine/MachineTypeTable.tsx:69 #: src/tables/machine/MachineTypeTable.tsx:112 #: src/tables/machine/MachineTypeTable.tsx:219 @@ -3610,7 +3754,7 @@ msgid "Issued By" msgstr "Aufgegeben von" #: src/pages/build/BuildDetail.tsx:152 -#: src/pages/part/PartDetail.tsx:317 +#: src/pages/part/PartDetail.tsx:323 #: src/pages/purchasing/PurchaseOrderDetail.tsx:217 #: src/pages/sales/ReturnOrderDetail.tsx:186 #: src/pages/sales/SalesOrderDetail.tsx:190 @@ -3630,7 +3774,7 @@ msgstr "Erstellt" #: src/pages/purchasing/PurchaseOrderDetail.tsx:210 #: src/pages/sales/ReturnOrderDetail.tsx:179 #: src/pages/sales/SalesOrderDetail.tsx:183 -#: src/tables/ColumnRenderers.tsx:191 +#: src/tables/ColumnRenderers.tsx:206 msgid "Target Date" msgstr "Zieldatum" @@ -3711,7 +3855,7 @@ msgstr "Unter-Bauaufträge" #: src/pages/build/BuildDetail.tsx:297 #: src/pages/company/CompanyDetail.tsx:257 #: src/pages/company/ManufacturerPartDetail.tsx:174 -#: src/pages/part/PartDetail.tsx:616 +#: src/pages/part/PartDetail.tsx:629 #: src/pages/purchasing/PurchaseOrderDetail.tsx:279 #: src/pages/sales/ReturnOrderDetail.tsx:230 #: src/pages/sales/SalesOrderDetail.tsx:280 @@ -3721,7 +3865,7 @@ msgstr "Anhänge" #: src/pages/build/BuildDetail.tsx:305 #: src/pages/company/CompanyDetail.tsx:268 -#: src/pages/part/PartDetail.tsx:624 +#: src/pages/part/PartDetail.tsx:637 #: src/pages/purchasing/PurchaseOrderDetail.tsx:290 #: src/pages/sales/ReturnOrderDetail.tsx:241 #: src/pages/sales/SalesOrderDetail.tsx:291 @@ -3877,12 +4021,12 @@ msgid "Manufacturer Part Details" msgstr "Herstellerteil Details" #: src/pages/company/ManufacturerPartDetail.tsx:148 -#: src/pages/part/PartDetail.tsx:486 +#: src/pages/part/PartDetail.tsx:492 msgid "Parameters" msgstr "Parameter" #: src/pages/company/ManufacturerPartDetail.tsx:160 -#: src/pages/part/PartDetail.tsx:560 +#: src/pages/part/PartDetail.tsx:573 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" msgstr "Lieferanten" @@ -3907,7 +4051,7 @@ msgid "ManufacturerPart" msgstr "Herstellerteil" #: src/pages/company/SupplierPartDetail.tsx:99 -#: src/tables/ColumnRenderers.tsx:117 +#: src/tables/ColumnRenderers.tsx:132 msgid "Note" msgstr "Notiz" @@ -4043,275 +4187,275 @@ msgstr "Kategorieaktionen" msgid "Category Details" msgstr "Kategorie-Details" -#: src/pages/part/PartDetail.tsx:135 +#: src/pages/part/PartDetail.tsx:136 msgid "Variant of" msgstr "Variante von" -#: src/pages/part/PartDetail.tsx:142 +#: src/pages/part/PartDetail.tsx:143 #: src/tables/notifications/NotificationsTable.tsx:31 #: src/tables/part/PartCategoryTemplateTable.tsx:67 msgid "Category" msgstr "Kategorie" -#: src/pages/part/PartDetail.tsx:148 +#: src/pages/part/PartDetail.tsx:149 msgid "Default Location" msgstr "Standard Lagerort" -#: src/pages/part/PartDetail.tsx:155 +#: src/pages/part/PartDetail.tsx:156 msgid "Category Default Location" msgstr "Standard-Lagerort der Kategorie" -#: src/pages/part/PartDetail.tsx:162 +#: src/pages/part/PartDetail.tsx:163 msgid "IPN" msgstr "IPN" -#: src/pages/part/PartDetail.tsx:169 +#: src/pages/part/PartDetail.tsx:170 msgid "Revision" msgstr "Version" -#: src/pages/part/PartDetail.tsx:176 +#: src/pages/part/PartDetail.tsx:177 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" msgstr "Einheiten" -#: src/pages/part/PartDetail.tsx:183 +#: src/pages/part/PartDetail.tsx:184 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" msgstr "Schlüsselwörter" -#: src/pages/part/PartDetail.tsx:190 +#: src/pages/part/PartDetail.tsx:191 #: src/pages/purchasing/PurchaseOrderDetail.tsx:183 #: src/pages/sales/ReturnOrderDetail.tsx:152 #: src/pages/sales/SalesOrderDetail.tsx:156 msgid "Link" msgstr "Link" -#: src/pages/part/PartDetail.tsx:208 -#: src/tables/bom/BomTable.tsx:276 +#: src/pages/part/PartDetail.tsx:209 +#: src/tables/bom/BomTable.tsx:279 #: src/tables/build/BuildLineTable.tsx:121 -#: src/tables/part/PartTable.tsx:256 +#: src/tables/part/PartTable.tsx:263 msgid "Available Stock" msgstr "Verfügbarer Bestand" -#: src/pages/part/PartDetail.tsx:215 +#: src/pages/part/PartDetail.tsx:216 msgid "Minimum Stock" msgstr "Minimaler Bestand" -#: src/pages/part/PartDetail.tsx:221 -#: src/tables/bom/BomTable.tsx:217 +#: src/pages/part/PartDetail.tsx:222 +#: src/tables/bom/BomTable.tsx:220 #: src/tables/build/BuildLineTable.tsx:95 msgid "On order" msgstr "Bestellt" -#: src/pages/part/PartDetail.tsx:230 +#: src/pages/part/PartDetail.tsx:231 msgid "Allocated to Build Orders" msgstr "Bauaufträgen zugeordnet" -#: src/pages/part/PartDetail.tsx:238 +#: src/pages/part/PartDetail.tsx:239 msgid "Allocated to Sales Orders" msgstr "Aufträgen zugeordnet" -#: src/pages/part/PartDetail.tsx:245 -#: src/tables/bom/BomTable.tsx:241 +#: src/pages/part/PartDetail.tsx:246 +#: src/tables/bom/BomTable.tsx:244 msgid "Can Build" msgstr "Herstellbar" -#: src/pages/part/PartDetail.tsx:252 -#: src/tables/bom/BomTable.tsx:225 -#: src/tables/part/PartTable.tsx:82 +#: src/pages/part/PartDetail.tsx:253 +#: src/tables/bom/BomTable.tsx:228 +#: src/tables/part/PartTable.tsx:83 msgid "Building" msgstr "Gebäude" -#: src/pages/part/PartDetail.tsx:261 +#: src/pages/part/PartDetail.tsx:262 #: src/tables/bom/UsedInTable.tsx:73 #: src/tables/build/BuildOrderTable.tsx:108 #: src/tables/company/CompanyTable.tsx:61 #: src/tables/company/CompanyTable.tsx:95 #: src/tables/machine/MachineListTable.tsx:323 #: src/tables/machine/MachineListTable.tsx:585 -#: src/tables/part/PartTable.tsx:168 +#: src/tables/part/PartTable.tsx:169 #: src/tables/part/PartVariantTable.tsx:15 #: 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 +#: src/tables/stock/StockItemTable.tsx:276 msgid "Active" msgstr "Aktiv" -#: src/pages/part/PartDetail.tsx:266 +#: src/pages/part/PartDetail.tsx:272 msgid "Template Part" msgstr "Vorlagenteil" -#: src/pages/part/PartDetail.tsx:271 -#: src/tables/bom/BomTable.tsx:271 +#: src/pages/part/PartDetail.tsx:277 +#: src/tables/bom/BomTable.tsx:274 msgid "Assembled Part" msgstr "Baugruppe" -#: src/pages/part/PartDetail.tsx:276 +#: src/pages/part/PartDetail.tsx:282 msgid "Component Part" msgstr "Komponente" -#: src/pages/part/PartDetail.tsx:281 -#: src/tables/bom/BomTable.tsx:266 +#: src/pages/part/PartDetail.tsx:287 +#: src/tables/bom/BomTable.tsx:269 msgid "Trackable Part" msgstr "Nachverfolgbares Teil" -#: src/pages/part/PartDetail.tsx:286 +#: src/pages/part/PartDetail.tsx:292 msgid "Purchaseable Part" msgstr "Käufliches Teil" -#: src/pages/part/PartDetail.tsx:291 +#: src/pages/part/PartDetail.tsx:297 msgid "Saleable Part" msgstr "Verkäufliches Teil" -#: src/pages/part/PartDetail.tsx:296 +#: src/pages/part/PartDetail.tsx:302 msgid "Virtual Part" msgstr "Virtuelles Teil" -#: src/pages/part/PartDetail.tsx:304 -#: src/tables/ColumnRenderers.tsx:199 +#: src/pages/part/PartDetail.tsx:310 +#: src/tables/ColumnRenderers.tsx:214 msgid "Creation Date" msgstr "Erstelldatum" -#: src/pages/part/PartDetail.tsx:309 -msgid "Created By" -msgstr "Erstellt von" - #: src/pages/part/PartDetail.tsx:310 #~ msgid "Edit part" #~ msgstr "Edit part" +#: src/pages/part/PartDetail.tsx:315 +msgid "Created By" +msgstr "Erstellt von" + #: src/pages/part/PartDetail.tsx:322 #~ msgid "Duplicate part" #~ msgstr "Duplicate part" -#: src/pages/part/PartDetail.tsx:324 -msgid "Default Supplier" -msgstr "Standard Zulieferer" - #: src/pages/part/PartDetail.tsx:327 #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:335 +#: src/pages/part/PartDetail.tsx:330 +msgid "Default Supplier" +msgstr "Standard Zulieferer" + +#: src/pages/part/PartDetail.tsx:341 #: src/pages/part/pricing/BomPricingPanel.tsx:78 #: src/pages/part/pricing/VariantPricingPanel.tsx:95 -#: src/tables/part/PartTable.tsx:151 +#: src/tables/part/PartTable.tsx:152 msgid "Price Range" msgstr "Preisspanne" -#: src/pages/part/PartDetail.tsx:374 +#: src/pages/part/PartDetail.tsx:380 #: src/pages/stock/StockDetail.tsx:133 msgid "Last Stocktake" msgstr "Letzte Inventur" -#: src/pages/part/PartDetail.tsx:409 +#: src/pages/part/PartDetail.tsx:415 msgid "Stocktake By" msgstr "Inventur durch" -#: src/pages/part/PartDetail.tsx:480 +#: src/pages/part/PartDetail.tsx:486 msgid "Part Details" msgstr "Teil-Details" -#: src/pages/part/PartDetail.tsx:506 +#: src/pages/part/PartDetail.tsx:517 msgid "Variants" msgstr "Varianten" -#: src/pages/part/PartDetail.tsx:513 +#: src/pages/part/PartDetail.tsx:524 #: src/pages/stock/StockDetail.tsx:286 msgid "Allocations" msgstr "Ferienguthaben/Freitage" -#: src/pages/part/PartDetail.tsx:520 +#: src/pages/part/PartDetail.tsx:531 msgid "Bill of Materials" msgstr "Stückliste" -#: src/pages/part/PartDetail.tsx:534 +#: src/pages/part/PartDetail.tsx:547 msgid "Used In" msgstr "Verwendet in" -#: src/pages/part/PartDetail.tsx:541 +#: src/pages/part/PartDetail.tsx:554 msgid "Part Pricing" msgstr "Teilbepreisung" -#: src/pages/part/PartDetail.tsx:547 +#: src/pages/part/PartDetail.tsx:560 #: src/pages/purchasing/PurchasingIndex.tsx:37 msgid "Manufacturers" msgstr "Hersteller" -#: src/pages/part/PartDetail.tsx:587 +#: src/pages/part/PartDetail.tsx:600 msgid "Scheduling" msgstr "Terminierung" -#: src/pages/part/PartDetail.tsx:599 +#: src/pages/part/PartDetail.tsx:612 msgid "Test Templates" msgstr "Testvorlagen" -#: src/pages/part/PartDetail.tsx:610 +#: src/pages/part/PartDetail.tsx:623 msgid "Related Parts" msgstr "Zugehörige Teile" -#: src/pages/part/PartDetail.tsx:661 +#: src/pages/part/PartDetail.tsx:674 #: src/pages/stock/StockDetail.tsx:154 #: src/pages/stock/StockDetail.tsx:533 #: src/tables/build/BuildLineTable.tsx:36 -#: src/tables/part/PartTable.tsx:107 +#: src/tables/part/PartTable.tsx:108 #: src/tables/stock/StockItemTable.tsx:166 -#: src/tables/stock/StockItemTable.tsx:275 +#: src/tables/stock/StockItemTable.tsx:297 msgid "Available" msgstr "Verfügbar" -#: src/pages/part/PartDetail.tsx:667 +#: src/pages/part/PartDetail.tsx:680 msgid "No Stock" msgstr "Kein Bestand" -#: src/pages/part/PartDetail.tsx:673 -#: src/tables/bom/BomTable.tsx:281 -#: src/tables/part/PartTable.tsx:76 +#: src/pages/part/PartDetail.tsx:686 +#: src/tables/bom/BomTable.tsx:284 +#: src/tables/part/PartTable.tsx:77 msgid "On Order" msgstr "In Bestellung" -#: src/pages/part/PartDetail.tsx:679 +#: src/pages/part/PartDetail.tsx:692 #: src/pages/stock/StockDetail.tsx:516 -#: src/tables/stock/StockItemTable.tsx:295 +#: src/tables/stock/StockItemTable.tsx:317 msgid "In Production" msgstr "In Produktion" -#: src/pages/part/PartDetail.tsx:698 +#: src/pages/part/PartDetail.tsx:717 msgid "Edit Part" msgstr "Teil bearbeiten" -#: src/pages/part/PartDetail.tsx:705 -#: src/tables/part/PartTable.tsx:289 -#: src/tables/part/PartTable.tsx:302 +#: src/pages/part/PartDetail.tsx:744 +#: src/tables/part/PartTable.tsx:296 +#: src/tables/part/PartTable.tsx:309 msgid "Add Part" msgstr "Teil hinzufügen" -#: src/pages/part/PartDetail.tsx:717 +#: src/pages/part/PartDetail.tsx:758 msgid "Delete Part" msgstr "Teil löschen" -#: src/pages/part/PartDetail.tsx:726 +#: src/pages/part/PartDetail.tsx:767 msgid "Deleting this part cannot be reversed" msgstr "Das Löschen dieses Teils kann nicht rückgängig gemacht werden" -#: src/pages/part/PartDetail.tsx:764 +#: src/pages/part/PartDetail.tsx:805 #: src/pages/stock/LocationDetail.tsx:304 -#: src/tables/stock/StockItemTable.tsx:409 +#: src/tables/stock/StockItemTable.tsx:431 msgid "Stock Actions" msgstr "Lager-Aktionen" -#: src/pages/part/PartDetail.tsx:772 +#: src/pages/part/PartDetail.tsx:813 msgid "Count part stock" msgstr "Bestand zählen" -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:824 msgid "Transfer part stock" msgstr "Bestand übertragen" -#: src/pages/part/PartDetail.tsx:792 +#: src/pages/part/PartDetail.tsx:833 msgid "Part Actions" msgstr "Teile-Aktionen" @@ -4359,8 +4503,8 @@ msgstr "Verkaufshistorie" #: src/pages/part/pricing/BomPricingPanel.tsx:57 #: src/pages/part/pricing/BomPricingPanel.tsx:137 -#: src/tables/ColumnRenderers.tsx:241 -#: src/tables/bom/BomTable.tsx:165 +#: src/tables/ColumnRenderers.tsx:256 +#: src/tables/bom/BomTable.tsx:168 #: src/tables/purchasing/PurchaseOrderTable.tsx:112 #: src/tables/sales/ReturnOrderTable.tsx:104 #: src/tables/sales/SalesOrderTable.tsx:134 @@ -4369,7 +4513,7 @@ msgstr "Gesamtpreis" #: src/pages/part/pricing/BomPricingPanel.tsx:77 #: src/pages/part/pricing/BomPricingPanel.tsx:101 -#: src/tables/part/PartTable.tsx:186 +#: src/tables/part/PartTable.tsx:193 msgid "Component" msgstr "Komponente" @@ -4398,7 +4542,7 @@ msgstr "Höchster Preis" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:67 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:128 #: src/pages/part/pricing/SupplierPricingPanel.tsx:62 -#: src/tables/bom/BomTable.tsx:156 +#: src/tables/bom/BomTable.tsx:159 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 msgid "Unit Price" @@ -4498,7 +4642,7 @@ msgstr "Lade Preisdaten" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:40 #: src/pages/part/pricing/SaleHistoryPanel.tsx:36 -#: src/tables/ColumnRenderers.tsx:180 +#: src/tables/ColumnRenderers.tsx:195 #: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "Datum" @@ -4771,12 +4915,12 @@ msgid "Count stock" msgstr "Bestand zählen" #: src/pages/stock/StockDetail.tsx:459 -#: src/tables/stock/StockItemTable.tsx:414 +#: src/tables/stock/StockItemTable.tsx:436 msgid "Add stock" msgstr "Lagerbestand hinzufügen" #: src/pages/stock/StockDetail.tsx:467 -#: src/tables/stock/StockItemTable.tsx:423 +#: src/tables/stock/StockItemTable.tsx:445 msgid "Remove stock" msgstr "Lagerbestand entfernen" @@ -4785,7 +4929,7 @@ msgid "Transfer" msgstr "Verschieben" #: src/pages/stock/StockDetail.tsx:475 -#: src/tables/stock/StockItemTable.tsx:443 +#: src/tables/stock/StockItemTable.tsx:465 msgid "Transfer stock" msgstr "Lagerbestand verschieben" @@ -4793,15 +4937,15 @@ msgstr "Lagerbestand verschieben" msgid "Stock Item Actions" msgstr "Lagerartikel Aktionen" -#: src/tables/ColumnRenderers.tsx:42 +#: src/tables/ColumnRenderers.tsx:57 msgid "No location set" msgstr "Kein Lagerort gesetzt" -#: src/tables/ColumnRenderers.tsx:207 +#: src/tables/ColumnRenderers.tsx:222 msgid "Shipment Date" msgstr "Versanddatum" -#: src/tables/ColumnRenderers.tsx:227 +#: src/tables/ColumnRenderers.tsx:242 #: src/tables/settings/CurrencyTable.tsx:23 msgid "Currency" msgstr "Währung" @@ -4828,14 +4972,14 @@ msgid "TSV" msgstr "TSV" #: src/tables/DownloadAction.tsx:24 -msgid "Excel (.xls)" -msgstr "Excel (.xls)" - -#: src/tables/DownloadAction.tsx:25 msgid "Excel (.xlsx)" msgstr "Excel (.xlsx)" -#: src/tables/DownloadAction.tsx:39 +#: src/tables/DownloadAction.tsx:24 +#~ msgid "Excel (.xls)" +#~ msgstr "Excel (.xls)" + +#: src/tables/DownloadAction.tsx:38 msgid "Download Data" msgstr "Daten herunterladen" @@ -4900,54 +5044,54 @@ msgstr "Filter hinzufügen" msgid "Clear Filters" msgstr "Filter zurücksetzen" -#: src/tables/InvenTreeTable.tsx:119 -#: src/tables/InvenTreeTable.tsx:390 -#: src/tables/InvenTreeTable.tsx:411 +#: src/tables/InvenTreeTable.tsx:126 +#: src/tables/InvenTreeTable.tsx:409 +#: src/tables/InvenTreeTable.tsx:430 msgid "No records found" msgstr "Keine Einträge gefunden" -#: src/tables/InvenTreeTable.tsx:422 +#: src/tables/InvenTreeTable.tsx:441 msgid "Server returned incorrect data type" msgstr "Der Server hat einen falschen Datentyp zurückgegeben" -#: src/tables/InvenTreeTable.tsx:430 +#: src/tables/InvenTreeTable.tsx:449 msgid "Bad request" msgstr "Ungültige Anfrage" -#: src/tables/InvenTreeTable.tsx:433 +#: src/tables/InvenTreeTable.tsx:452 msgid "Unauthorized" msgstr "Nicht autorisiert" -#: src/tables/InvenTreeTable.tsx:436 +#: src/tables/InvenTreeTable.tsx:455 msgid "Forbidden" msgstr "Verweigert" -#: src/tables/InvenTreeTable.tsx:439 +#: src/tables/InvenTreeTable.tsx:458 msgid "Not found" msgstr "Nicht gefunden" -#: src/tables/InvenTreeTable.tsx:488 -#: src/tables/InvenTreeTable.tsx:606 +#: src/tables/InvenTreeTable.tsx:507 +#: src/tables/InvenTreeTable.tsx:623 msgid "Delete selected records" msgstr "Ausgewählte Datensätze löschen" -#: src/tables/InvenTreeTable.tsx:492 +#: src/tables/InvenTreeTable.tsx:511 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 +#: src/tables/InvenTreeTable.tsx:513 msgid "This action cannot be undone!" msgstr "Diese Aktion kann nicht rückgängig gemacht werden!" -#: src/tables/InvenTreeTable.tsx:517 +#: src/tables/InvenTreeTable.tsx:536 msgid "Deleted records" msgstr "Gelöschte Datensätze" -#: src/tables/InvenTreeTable.tsx:518 +#: src/tables/InvenTreeTable.tsx:537 msgid "Records were deleted successfully" msgstr "Datensätze erfolgreich gelöscht" -#: src/tables/InvenTreeTable.tsx:527 +#: src/tables/InvenTreeTable.tsx:546 msgid "Failed to delete records" msgstr "Löschen der Datensätze fehlgeschlagen" @@ -4956,140 +5100,144 @@ msgstr "Löschen der Datensätze fehlgeschlagen" #~ msgid "Print actions" #~ msgstr "Print actions" -#: src/tables/InvenTreeTable.tsx:596 -#: src/tables/InvenTreeTable.tsx:597 +#: src/tables/InvenTreeTable.tsx:613 +#: src/tables/InvenTreeTable.tsx:614 msgid "Barcode actions" msgstr "Barcode-Aktionen" -#: src/tables/InvenTreeTable.tsx:625 +#: src/tables/InvenTreeTable.tsx:642 msgid "Refresh data" msgstr "Daten aktualisieren" -#: src/tables/InvenTreeTable.tsx:646 +#: src/tables/InvenTreeTable.tsx:663 msgid "Table filters" msgstr "Tabellenfilter" -#: src/tables/bom/BomTable.tsx:80 +#: src/tables/UploadAction.tsx:9 +msgid "Upload Data" +msgstr "" + +#: src/tables/bom/BomTable.tsx:83 msgid "This BOM item is defined for a different parent" msgstr "Diese Stücklistenposition ist für ein anderes übergeordnetes Element definiert" -#: src/tables/bom/BomTable.tsx:95 +#: src/tables/bom/BomTable.tsx:98 msgid "Part Information" msgstr "Teile-Informationen" -#: src/tables/bom/BomTable.tsx:184 -#: src/tables/part/PartTable.tsx:124 +#: src/tables/bom/BomTable.tsx:187 +#: src/tables/part/PartTable.tsx:125 msgid "No stock" msgstr "Kein Bestand" -#: src/tables/bom/BomTable.tsx:192 +#: src/tables/bom/BomTable.tsx:195 #: src/tables/build/BuildLineTable.tsx:104 -#: src/tables/part/PartTable.tsx:115 +#: src/tables/part/PartTable.tsx:116 msgid "External stock" msgstr "Externer Bestand" -#: src/tables/bom/BomTable.tsx:200 +#: src/tables/bom/BomTable.tsx:203 #: src/tables/build/BuildLineTable.tsx:67 msgid "Includes substitute stock" msgstr "Ersatz Bestand einbeziehen" -#: src/tables/bom/BomTable.tsx:209 +#: src/tables/bom/BomTable.tsx:212 #: src/tables/build/BuildLineTable.tsx:77 msgid "Includes variant stock" msgstr "Alternatives Lager einschließen" -#: src/tables/bom/BomTable.tsx:234 -#: src/tables/part/PartTable.tsx:143 +#: src/tables/bom/BomTable.tsx:237 +#: src/tables/part/PartTable.tsx:144 #: src/tables/stock/StockItemTable.tsx:205 msgid "Stock Information" msgstr "Lagerinformationen" -#: src/tables/bom/BomTable.tsx:246 +#: src/tables/bom/BomTable.tsx:249 #: src/tables/build/BuildLineTable.tsx:195 msgid "Consumable item" msgstr "Verbrauchsartikel" -#: src/tables/bom/BomTable.tsx:267 +#: src/tables/bom/BomTable.tsx:270 msgid "Show trackable items" msgstr "Nachverfolgbare Teile anzeigen" -#: src/tables/bom/BomTable.tsx:272 +#: src/tables/bom/BomTable.tsx:275 msgid "Show asssmbled items" msgstr "Zeige Baugruppen" -#: src/tables/bom/BomTable.tsx:277 +#: src/tables/bom/BomTable.tsx:280 msgid "Show items with available stock" msgstr "Artikel mit verfügbarem Lagerbestand anzeigen" -#: src/tables/bom/BomTable.tsx:282 +#: src/tables/bom/BomTable.tsx:285 msgid "Show items on order" msgstr "Artikel in Bestellung anzeigen" -#: src/tables/bom/BomTable.tsx:286 +#: src/tables/bom/BomTable.tsx:289 msgid "Validated" msgstr "Bestätigt" -#: src/tables/bom/BomTable.tsx:287 +#: src/tables/bom/BomTable.tsx:290 msgid "Show validated items" msgstr "Bestätigte Einträge anzeigen" -#: src/tables/bom/BomTable.tsx:291 +#: src/tables/bom/BomTable.tsx:294 #: src/tables/bom/UsedInTable.tsx:63 msgid "Inherited" msgstr "Vererbt" -#: src/tables/bom/BomTable.tsx:292 +#: src/tables/bom/BomTable.tsx:295 #: src/tables/bom/UsedInTable.tsx:64 msgid "Show inherited items" msgstr "Vererbte Elemente anzeigen" -#: src/tables/bom/BomTable.tsx:296 +#: src/tables/bom/BomTable.tsx:299 msgid "Allow Variants" msgstr "" -#: src/tables/bom/BomTable.tsx:297 +#: src/tables/bom/BomTable.tsx:300 msgid "Show items which allow variant substitution" msgstr "" #: src/tables/bom/BomTable.tsx:301 +#~ msgid "Create BOM Item" +#~ msgstr "Create BOM Item" + +#: src/tables/bom/BomTable.tsx:304 #: src/tables/bom/UsedInTable.tsx:68 #: src/tables/build/BuildLineTable.tsx:46 msgid "Optional" msgstr "Optional" -#: src/tables/bom/BomTable.tsx:301 -#~ msgid "Create BOM Item" -#~ msgstr "Create BOM Item" - -#: src/tables/bom/BomTable.tsx:302 +#: src/tables/bom/BomTable.tsx:305 #: src/tables/bom/UsedInTable.tsx:69 msgid "Show optional items" msgstr "Optionale Elemente anzeigen" -#: src/tables/bom/BomTable.tsx:306 +#: src/tables/bom/BomTable.tsx:309 #: src/tables/build/BuildLineTable.tsx:41 msgid "Consumable" msgstr "Verbrauchsmaterial" -#: src/tables/bom/BomTable.tsx:307 +#: src/tables/bom/BomTable.tsx:310 msgid "Show consumable items" msgstr "Verbrauchbare Artikel anzeigen" -#: src/tables/bom/BomTable.tsx:311 -#: src/tables/part/PartTable.tsx:250 +#: src/tables/bom/BomTable.tsx:314 +#: src/tables/part/PartTable.tsx:257 msgid "Has Pricing" msgstr "Hat Preise" -#: src/tables/bom/BomTable.tsx:312 +#: src/tables/bom/BomTable.tsx:315 msgid "Show items with pricing" msgstr "Artikel mit Preisen anzeigen" -#: src/tables/bom/BomTable.tsx:321 -#: src/tables/bom/BomTable.tsx:420 +#: src/tables/bom/BomTable.tsx:324 +#: src/tables/bom/BomTable.tsx:426 msgid "Add BOM Item" msgstr "Stücklisten-Position hinzufügen" -#: src/tables/bom/BomTable.tsx:326 +#: src/tables/bom/BomTable.tsx:329 msgid "BOM item created" msgstr "Stücklisten-Position erstellt" @@ -5097,23 +5245,23 @@ msgstr "Stücklisten-Position erstellt" #~ msgid "Edit Bom Item" #~ msgstr "Edit Bom Item" -#: src/tables/bom/BomTable.tsx:333 -msgid "Edit BOM Item" -msgstr "Stücklisten-Position bearbeiten" - #: src/tables/bom/BomTable.tsx:333 #~ msgid "Bom item updated" #~ msgstr "Bom item updated" -#: src/tables/bom/BomTable.tsx:335 +#: src/tables/bom/BomTable.tsx:336 +msgid "Edit BOM Item" +msgstr "Stücklisten-Position bearbeiten" + +#: src/tables/bom/BomTable.tsx:338 msgid "BOM item updated" msgstr "Stücklisten-Position aktualisiert" -#: src/tables/bom/BomTable.tsx:342 +#: src/tables/bom/BomTable.tsx:345 msgid "Delete BOM Item" msgstr "Stücklisten-Position löschen" -#: src/tables/bom/BomTable.tsx:343 +#: src/tables/bom/BomTable.tsx:346 msgid "BOM item deleted" msgstr "Stücklisten-Position gelöscht" @@ -5133,32 +5281,41 @@ msgstr "Stücklisten-Position gelöscht" #~ msgid "Validate BOM line" #~ msgstr "Validate BOM line" -#: src/tables/bom/BomTable.tsx:355 +#: src/tables/bom/BomTable.tsx:358 msgid "BOM item validated" msgstr "" -#: src/tables/bom/BomTable.tsx:364 +#: src/tables/bom/BomTable.tsx:367 msgid "Failed to validate BOM item" msgstr "" -#: src/tables/bom/BomTable.tsx:376 +#: src/tables/bom/BomTable.tsx:379 msgid "View BOM" msgstr "Stückliste anzeigen" -#: src/tables/bom/BomTable.tsx:385 +#: src/tables/bom/BomTable.tsx:388 msgid "Validate BOM Line" msgstr "" -#: src/tables/bom/BomTable.tsx:399 +#: src/tables/bom/BomTable.tsx:405 msgid "Edit Substitutes" msgstr "Ersatzteil bearbeiten" +#: src/tables/bom/BomTable.tsx:440 +#: src/tables/part/PartParameterTable.tsx:191 +msgid "Part is Locked" +msgstr "" + +#: src/tables/bom/BomTable.tsx:445 +msgid "Bill of materials cannot be edited, as the part is locked" +msgstr "" + #: src/tables/bom/UsedInTable.tsx:74 msgid "Show active assemblies" msgstr "Aktive Baugruppen anzeigen" #: src/tables/bom/UsedInTable.tsx:78 -#: src/tables/part/PartTable.tsx:192 +#: src/tables/part/PartTable.tsx:199 #: src/tables/part/PartVariantTable.tsx:30 msgid "Trackable" msgstr "Nachverfolgbar" @@ -5168,7 +5325,7 @@ msgid "Show trackable assemblies" msgstr "Nachverfolgbare Baugruppen anzeigen" #: src/tables/build/BuildLineTable.tsx:31 -#: src/tables/stock/StockItemTable.tsx:270 +#: src/tables/stock/StockItemTable.tsx:292 msgid "Allocated" msgstr "Zugewiesen" @@ -5189,7 +5346,7 @@ msgid "Show optional lines" msgstr "Optionale Positionen anzeigen" #: src/tables/build/BuildLineTable.tsx:51 -#: src/tables/stock/StockItemTable.tsx:329 +#: src/tables/stock/StockItemTable.tsx:351 msgid "Tracked" msgstr "Nachverfolgbare Freigabe" @@ -5302,10 +5459,6 @@ msgstr "Freigeben" msgid "Deallocate stock from build output" msgstr "Bestand von Bauprodukt entfernen" -#: src/tables/build/BuildOutputTable.tsx:205 -msgid "Complete" -msgstr "Fertigstellen" - #: src/tables/build/BuildOutputTable.tsx:206 msgid "Complete build output" msgstr "Bauprodukt fertigstellen" @@ -5635,7 +5788,7 @@ msgid "Message" msgstr "Nachricht" #: src/tables/part/ParametricPartTable.tsx:76 -#: src/tables/part/PartParameterTable.tsx:88 +#: src/tables/part/PartParameterTable.tsx:95 msgid "Internal Units" msgstr "Interne Einheiten" @@ -5648,13 +5801,13 @@ msgid "Add Part Parameter" msgstr "Teileparameter hinzufügen" #: src/tables/part/ParametricPartTable.tsx:138 -#: src/tables/part/PartParameterTable.tsx:121 -#: src/tables/part/PartParameterTable.tsx:144 +#: src/tables/part/PartParameterTable.tsx:128 +#: src/tables/part/PartParameterTable.tsx:151 msgid "Edit Part Parameter" msgstr "Teileparameter bearbeiten" #: src/tables/part/PartCategoryTable.tsx:60 -#: src/tables/part/PartTable.tsx:180 +#: src/tables/part/PartTable.tsx:187 msgid "Include Subcategories" msgstr "Unter-Kategorien einschließen" @@ -5667,7 +5820,7 @@ msgid "Show structural categories" msgstr "Strukturkategorien anzeigen" #: src/tables/part/PartCategoryTable.tsx:70 -#: src/tables/part/PartTable.tsx:262 +#: src/tables/part/PartTable.tsx:269 msgid "Subscribed" msgstr "" @@ -5704,21 +5857,25 @@ msgstr "Parameter Vorlage" #~ msgid "[{0}]" #~ msgstr "[{0}]" -#: src/tables/part/PartParameterTable.tsx:105 +#: src/tables/part/PartParameterTable.tsx:112 msgid "New Part Parameter" msgstr "Teileparameter hinzufügen" -#: src/tables/part/PartParameterTable.tsx:130 -#: src/tables/part/PartParameterTable.tsx:152 +#: src/tables/part/PartParameterTable.tsx:137 +#: src/tables/part/PartParameterTable.tsx:159 msgid "Delete Part Parameter" msgstr "Teilparameter löschen" -#: src/tables/part/PartParameterTable.tsx:170 +#: src/tables/part/PartParameterTable.tsx:177 msgid "Add parameter" msgstr "Parameter hinzufügen" -#: src/tables/part/PartParameterTable.tsx:191 -#: src/tables/stock/StockItemTable.tsx:300 +#: src/tables/part/PartParameterTable.tsx:196 +msgid "Part parameters cannot be edited, as the part is locked" +msgstr "" + +#: src/tables/part/PartParameterTable.tsx:210 +#: src/tables/stock/StockItemTable.tsx:322 msgid "Include Variants" msgstr "Alternativen einschließen" @@ -5739,7 +5896,7 @@ msgid "Show templates with choices" msgstr "Vorlagen mit Auswahlen anzeigen" #: src/tables/part/PartParameterTemplateTable.tsx:41 -#: src/tables/part/PartTable.tsx:198 +#: src/tables/part/PartTable.tsx:205 msgid "Has Units" msgstr "Hat Einheiten" @@ -5763,116 +5920,120 @@ msgstr "Parametervorlage löschen" msgid "Add parameter template" msgstr "Parametervorlage hinzufügen" -#: src/tables/part/PartTable.tsx:67 +#: src/tables/part/PartTable.tsx:68 msgid "Minimum stock" msgstr "Mindest-Lagerbestand" -#: src/tables/part/PartTable.tsx:89 +#: src/tables/part/PartTable.tsx:90 msgid "Build Order Allocations" msgstr "Bauauftragszuweisungen" -#: src/tables/part/PartTable.tsx:98 +#: src/tables/part/PartTable.tsx:99 msgid "Sales Order Allocations" msgstr "Verkaufsauftragszuweisungen" -#: src/tables/part/PartTable.tsx:169 +#: src/tables/part/PartTable.tsx:170 msgid "Filter by part active status" msgstr "Filtern nach Teil aktiv Status" -#: src/tables/part/PartTable.tsx:174 -#: src/tables/stock/StockItemTable.tsx:265 +#: src/tables/part/PartTable.tsx:176 +msgid "Filter by part locked status" +msgstr "" + +#: src/tables/part/PartTable.tsx:181 +#: src/tables/stock/StockItemTable.tsx:287 msgid "Assembly" msgstr "Montage" -#: src/tables/part/PartTable.tsx:175 +#: src/tables/part/PartTable.tsx:182 msgid "Filter by assembly attribute" msgstr "Filtern nach Baugruppen Attribut" -#: src/tables/part/PartTable.tsx:181 +#: src/tables/part/PartTable.tsx:188 msgid "Include parts in subcategories" msgstr "Teile in Unterkategorien einschließen" -#: src/tables/part/PartTable.tsx:187 +#: src/tables/part/PartTable.tsx:194 msgid "Filter by component attribute" msgstr "Nach Teilattributen filtern" -#: src/tables/part/PartTable.tsx:193 +#: src/tables/part/PartTable.tsx:200 msgid "Filter by trackable attribute" msgstr "Filtern nach Nachverfolgbarer Eigenschaft" -#: src/tables/part/PartTable.tsx:199 +#: src/tables/part/PartTable.tsx:206 msgid "Filter by parts which have units" msgstr "Nach Teilen mit Einheiten filtern" -#: src/tables/part/PartTable.tsx:204 +#: src/tables/part/PartTable.tsx:211 msgid "Has IPN" msgstr "Hat IPN" -#: src/tables/part/PartTable.tsx:205 +#: src/tables/part/PartTable.tsx:212 msgid "Filter by parts which have an internal part number" msgstr "Nach Teilen filtern, die eine interne Teilenummer haben" -#: src/tables/part/PartTable.tsx:210 +#: src/tables/part/PartTable.tsx:217 msgid "Has Stock" msgstr "Auf Lager" -#: src/tables/part/PartTable.tsx:211 +#: src/tables/part/PartTable.tsx:218 msgid "Filter by parts which have stock" msgstr "Nach Teilen mit Lagerbestand filtern" -#: src/tables/part/PartTable.tsx:217 +#: src/tables/part/PartTable.tsx:224 msgid "Filter by parts which have low stock" msgstr "Nach Teilen mit geringem Lagerbestand filtern" -#: src/tables/part/PartTable.tsx:222 +#: src/tables/part/PartTable.tsx:229 msgid "Purchaseable" msgstr "Kaufbar" -#: src/tables/part/PartTable.tsx:223 +#: src/tables/part/PartTable.tsx:230 msgid "Filter by parts which are purchaseable" msgstr "Nach Teilen filtern, die kaufbar sind" -#: src/tables/part/PartTable.tsx:228 +#: src/tables/part/PartTable.tsx:235 msgid "Salable" msgstr "Verkaufbar" -#: src/tables/part/PartTable.tsx:229 +#: src/tables/part/PartTable.tsx:236 msgid "Filter by parts which are salable" msgstr "Nach Teilen filtern, die verkaufbar sind" -#: src/tables/part/PartTable.tsx:235 +#: src/tables/part/PartTable.tsx:242 msgid "Filter by parts which are virtual" msgstr "Nach Teilen filtern, die virtuell sind" -#: src/tables/part/PartTable.tsx:239 +#: src/tables/part/PartTable.tsx:246 msgid "Not Virtual" msgstr "Nicht virtuell" -#: src/tables/part/PartTable.tsx:244 +#: src/tables/part/PartTable.tsx:251 msgid "Is Template" msgstr "" -#: src/tables/part/PartTable.tsx:245 +#: src/tables/part/PartTable.tsx:252 msgid "Filter by parts which are templates" msgstr "" -#: src/tables/part/PartTable.tsx:251 +#: src/tables/part/PartTable.tsx:258 msgid "Filter by parts which have pricing information" msgstr "" -#: src/tables/part/PartTable.tsx:257 +#: src/tables/part/PartTable.tsx:264 msgid "Filter by parts which have available stock" msgstr "" -#: src/tables/part/PartTable.tsx:263 +#: src/tables/part/PartTable.tsx:270 msgid "Filter by parts to which the user is subscribed" msgstr "" -#: src/tables/part/PartTable.tsx:268 +#: src/tables/part/PartTable.tsx:275 msgid "Has Stocktake" msgstr "" -#: src/tables/part/PartTable.tsx:269 +#: src/tables/part/PartTable.tsx:276 msgid "Filter by parts which have stocktake information" msgstr "" @@ -6211,7 +6372,7 @@ msgid "Sample" msgstr "Beispiel" #: src/tables/plugin/PluginListTable.tsx:578 -#: src/tables/stock/StockItemTable.tsx:305 +#: src/tables/stock/StockItemTable.tsx:327 msgid "Installed" msgstr "Installiert" @@ -6486,6 +6647,41 @@ msgstr "Gruppe hinzufügen" msgid "Edit group" msgstr "Gruppe bearbeiten" +#: src/tables/settings/ImportSessionTable.tsx:39 +msgid "Delete Import Session" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:45 +#: src/tables/settings/ImportSessionTable.tsx:132 +msgid "Create Import Session" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:70 +msgid "Uploaded" +msgstr "Uploaded" + +#: src/tables/settings/ImportSessionTable.tsx:80 +msgid "Imported Rows" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:110 +#: src/tables/settings/TemplateTable.tsx:276 +msgid "Model Type" +msgstr "Modelltyp" + +#: src/tables/settings/ImportSessionTable.tsx:111 +#: src/tables/settings/TemplateTable.tsx:277 +msgid "Filter by target model type" +msgstr "Nach Modelltyp filtern" + +#: src/tables/settings/ImportSessionTable.tsx:117 +msgid "Filter by import session status" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:123 +msgid "Filter by user" +msgstr "" + #: src/tables/settings/PendingTasksTable.tsx:36 msgid "Arguments" msgstr "Parameter" @@ -6502,7 +6698,7 @@ msgstr "Projektcode bearbeiten" msgid "Delete Project Code" msgstr "Projektcode löschen" -#: src/tables/settings/ProjectCodeTable.tsx:94 +#: src/tables/settings/ProjectCodeTable.tsx:92 msgid "Add project code" msgstr "Projektcode hinzufügen" @@ -6571,14 +6767,6 @@ msgstr "Vorlage hinzufügen" msgid "Filter by enabled status" msgstr "Nach aktiviertem Status filtern" -#: src/tables/settings/TemplateTable.tsx:276 -msgid "Model Type" -msgstr "Modelltyp" - -#: src/tables/settings/TemplateTable.tsx:277 -msgid "Filter by target model type" -msgstr "Nach Modelltyp filtern" - #: src/tables/settings/UserTable.tsx:79 msgid "User with id {id} not found" msgstr "Benutzer mit der ID {id} nicht gefunden" @@ -6701,149 +6889,153 @@ msgstr "Dieser Lagerartikel ist teilweise zugewiesen" msgid "This stock item has been depleted" msgstr "Dieser Lagerartikel wurde verbraucht" -#: src/tables/stock/StockItemTable.tsx:255 +#: src/tables/stock/StockItemTable.tsx:247 +msgid "Stock Value" +msgstr "" + +#: src/tables/stock/StockItemTable.tsx:277 msgid "Show stock for active parts" msgstr "Bestand aktiver Teile anzeigen" -#: src/tables/stock/StockItemTable.tsx:260 +#: src/tables/stock/StockItemTable.tsx:282 msgid "Filter by stock status" msgstr "Nach Lagerstatus filtern" -#: src/tables/stock/StockItemTable.tsx:266 +#: src/tables/stock/StockItemTable.tsx:288 msgid "Show stock for assmebled parts" msgstr "Zeige Bestand für Baugruppen" -#: src/tables/stock/StockItemTable.tsx:271 +#: src/tables/stock/StockItemTable.tsx:293 msgid "Show items which have been allocated" msgstr "Zugewiesene Artikel anzeigen" -#: src/tables/stock/StockItemTable.tsx:276 +#: src/tables/stock/StockItemTable.tsx:298 msgid "Show items which are available" msgstr "Verfügbare Artikel anzeigen" -#: src/tables/stock/StockItemTable.tsx:280 +#: src/tables/stock/StockItemTable.tsx:302 #: src/tables/stock/StockLocationTable.tsx:42 msgid "Include Sublocations" msgstr "Unter-Lagerorte einschließen" -#: src/tables/stock/StockItemTable.tsx:281 +#: src/tables/stock/StockItemTable.tsx:303 msgid "Include stock in sublocations" msgstr "Bestand in Unter-Lagerorten einschließen" -#: src/tables/stock/StockItemTable.tsx:285 +#: src/tables/stock/StockItemTable.tsx:307 msgid "Depleted" msgstr "Erschöpft" -#: src/tables/stock/StockItemTable.tsx:286 +#: src/tables/stock/StockItemTable.tsx:308 msgid "Show depleted stock items" msgstr "Zeige aufgebrauchte Lagerbestände" -#: src/tables/stock/StockItemTable.tsx:291 +#: src/tables/stock/StockItemTable.tsx:313 msgid "Show items which are in stock" msgstr "Zeige Teile welche im Lager sind" -#: src/tables/stock/StockItemTable.tsx:296 +#: src/tables/stock/StockItemTable.tsx:318 msgid "Show items which are in production" msgstr "Zeige Teile welche in Produktion sind" -#: src/tables/stock/StockItemTable.tsx:301 +#: src/tables/stock/StockItemTable.tsx:323 msgid "Include stock items for variant parts" msgstr "Lagerartikel für Teile-Varianten einschließen" -#: src/tables/stock/StockItemTable.tsx:306 +#: src/tables/stock/StockItemTable.tsx:328 msgid "Show stock items which are installed in other items" msgstr "Zeige Bestand, welcher in anderen Teilen verbaut ist" -#: src/tables/stock/StockItemTable.tsx:310 +#: src/tables/stock/StockItemTable.tsx:332 msgid "Sent to Customer" msgstr "Zum Kunden geschickt" -#: src/tables/stock/StockItemTable.tsx:311 +#: src/tables/stock/StockItemTable.tsx:333 msgid "Show items which have been sent to a customer" msgstr "Zeige Bestand, welcher zum Kunden gesendet wurde" -#: src/tables/stock/StockItemTable.tsx:315 +#: src/tables/stock/StockItemTable.tsx:337 msgid "Is Serialized" msgstr "Hat Seriennummer" -#: src/tables/stock/StockItemTable.tsx:316 +#: src/tables/stock/StockItemTable.tsx:338 msgid "Show items which have a serial number" msgstr "Zeige Bestand mit Seriennummer" -#: src/tables/stock/StockItemTable.tsx:323 +#: src/tables/stock/StockItemTable.tsx:345 msgid "Has Batch Code" msgstr "Hat Losnummer" -#: src/tables/stock/StockItemTable.tsx:324 +#: src/tables/stock/StockItemTable.tsx:346 msgid "Show items which have a batch code" msgstr "Zeige Bestand mit Losnummer" -#: src/tables/stock/StockItemTable.tsx:330 +#: src/tables/stock/StockItemTable.tsx:352 msgid "Show tracked items" msgstr "Verfolgbare Objekte anzeigen" -#: src/tables/stock/StockItemTable.tsx:334 +#: src/tables/stock/StockItemTable.tsx:356 msgid "Has Purchase Price" msgstr "Hat Einkaufspreis" -#: src/tables/stock/StockItemTable.tsx:335 +#: src/tables/stock/StockItemTable.tsx:357 msgid "Show items which have a purchase price" msgstr "Zeige Bestand, für welchen ein Einkaufspreis verfügbar ist" -#: src/tables/stock/StockItemTable.tsx:343 +#: src/tables/stock/StockItemTable.tsx:365 msgid "External Location" msgstr "Externer Lagerort" -#: src/tables/stock/StockItemTable.tsx:344 +#: src/tables/stock/StockItemTable.tsx:366 msgid "Show items in an external location" msgstr "Zeige Elemente an einem externen Lagerort" -#: src/tables/stock/StockItemTable.tsx:416 +#: src/tables/stock/StockItemTable.tsx:438 msgid "Add a new stock item" msgstr "Lagerartikel hinzufügen" -#: src/tables/stock/StockItemTable.tsx:425 +#: src/tables/stock/StockItemTable.tsx:447 msgid "Remove some quantity from a stock item" msgstr "Bestimmte Menge aus dem Lagerartikel entfernen" -#: src/tables/stock/StockItemTable.tsx:447 +#: src/tables/stock/StockItemTable.tsx:469 msgid "Move Stock items to new locations" msgstr "Lagerartikel an neue Standorte verschieben" -#: src/tables/stock/StockItemTable.tsx:454 +#: src/tables/stock/StockItemTable.tsx:476 msgid "Change stock status" msgstr "Bestandsstatus ändern" -#: src/tables/stock/StockItemTable.tsx:456 +#: src/tables/stock/StockItemTable.tsx:478 msgid "Change the status of stock items" msgstr "Status der Lagerbestände ändern" -#: src/tables/stock/StockItemTable.tsx:463 +#: src/tables/stock/StockItemTable.tsx:485 msgid "Merge stock" msgstr "Bestand zusammenführen" -#: src/tables/stock/StockItemTable.tsx:465 +#: src/tables/stock/StockItemTable.tsx:487 msgid "Merge stock items" msgstr "Lagerartikel zusammenführen" -#: src/tables/stock/StockItemTable.tsx:472 +#: src/tables/stock/StockItemTable.tsx:494 msgid "Order stock" msgstr "Bestand bestellen" -#: src/tables/stock/StockItemTable.tsx:474 -#: src/tables/stock/StockItemTable.tsx:480 +#: src/tables/stock/StockItemTable.tsx:496 +#: src/tables/stock/StockItemTable.tsx:502 msgid "Order new stock" msgstr "Neuen Bestand bestellen" -#: src/tables/stock/StockItemTable.tsx:478 +#: src/tables/stock/StockItemTable.tsx:500 msgid "Assign to customer" msgstr "Kunden zuweisen" -#: src/tables/stock/StockItemTable.tsx:487 +#: src/tables/stock/StockItemTable.tsx:509 msgid "Delete stock" msgstr "Bestand löschen" -#: src/tables/stock/StockItemTable.tsx:489 +#: src/tables/stock/StockItemTable.tsx:511 msgid "Delete stock items" msgstr "Lagerartikel löschen" @@ -6999,4 +7191,3 @@ msgstr "Dokumentation lesen" #: src/views/MobileAppView.tsx:35 msgid "Ignore and continue to Desktop view" 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 1a5b1478f350..831cf6678de4 100644 --- a/src/frontend/src/locales/el/messages.po +++ b/src/frontend/src/locales/el/messages.po @@ -49,16 +49,18 @@ msgstr "" #: src/components/buttons/PrintingActions.tsx:107 #: src/components/buttons/PrintingActions.tsx:144 #: src/components/editors/NotesEditor.tsx:65 -#: src/components/editors/NotesEditor.tsx:160 -#: src/components/forms/ApiForm.tsx:506 -#: src/components/forms/fields/ApiFormField.tsx:295 +#: src/components/editors/NotesEditor.tsx:165 +#: src/components/forms/ApiForm.tsx:513 +#: src/components/forms/fields/ApiFormField.tsx:306 +#: src/components/importer/ImportDataSelector.tsx:171 +#: src/components/importer/ImporterColumnSelector.tsx:112 #: src/components/modals/LicenseModal.tsx:75 #: src/components/nav/SearchDrawer.tsx:427 #: src/pages/ErrorPage.tsx:11 #: src/pages/part/PartPricingPanel.tsx:71 -#: src/tables/InvenTreeTable.tsx:451 -#: src/tables/InvenTreeTable.tsx:526 -#: src/tables/bom/BomTable.tsx:363 +#: src/tables/InvenTreeTable.tsx:470 +#: src/tables/InvenTreeTable.tsx:545 +#: src/tables/bom/BomTable.tsx:366 #: src/tables/stock/StockItemTestResultTable.tsx:294 msgid "Error" msgstr "" @@ -157,7 +159,7 @@ msgstr "Αφαίρεση" #: src/functions/forms.tsx:196 #: src/hooks/UseForm.tsx:40 #: src/tables/FilterSelectDrawer.tsx:204 -#: src/tables/InvenTreeTable.tsx:499 +#: src/tables/InvenTreeTable.tsx:518 #: src/tables/build/BuildOutputTable.tsx:225 msgid "Cancel" msgstr "Ακύρωση" @@ -175,7 +177,7 @@ msgid "Clear" msgstr "Εκκαθάριση" #: src/components/details/DetailsImage.tsx:227 -#: src/components/forms/ApiForm.tsx:573 +#: src/components/forms/ApiForm.tsx:580 #: src/contexts/ThemeContext.tsx:43 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:56 msgid "Submit" @@ -202,48 +204,61 @@ msgid "Delete image" msgstr "Διαγραφή εικόνας" #: src/components/details/PartIcons.tsx:28 +#: src/tables/ColumnRenderers.tsx:35 +msgid "Part is locked" +msgstr "" + +#: src/components/details/PartIcons.tsx:30 +#: src/pages/part/PartDetail.tsx:267 +#: src/pages/part/PartDetail.tsx:698 +#: src/tables/part/PartTable.tsx:175 +msgid "Locked" +msgstr "" + +#: src/components/details/PartIcons.tsx:35 +#: src/tables/ColumnRenderers.tsx:30 msgid "Part is not active" msgstr "Το εξάρτημα είναι ανενεργό" -#: src/components/details/PartIcons.tsx:34 +#: src/components/details/PartIcons.tsx:37 #: src/components/render/Plugin.tsx:17 #: src/pages/company/CompanyDetail.tsx:315 #: src/pages/company/SupplierPartDetail.tsx:307 -#: src/pages/part/PartDetail.tsx:685 +#: src/pages/part/PartDetail.tsx:704 msgid "Inactive" msgstr "Ανενεργό" -#: src/components/details/PartIcons.tsx:41 +#: src/components/details/PartIcons.tsx:43 msgid "Part is a template part (variants can be made from this part)" msgstr "Το εξάρτημα είναι πρότυπο (μπορούν να γίνουν παραλλαγές από αυτό το εξάρτημα)" -#: src/components/details/PartIcons.tsx:47 +#: src/components/details/PartIcons.tsx:49 msgid "Part can be assembled from other parts" msgstr "Το εξάρτημα μπορεί να συναρμολογηθεί από άλλα εξαρτήματα" -#: src/components/details/PartIcons.tsx:53 +#: src/components/details/PartIcons.tsx:55 msgid "Part can be used in assemblies" msgstr "Το εξάρτημα αυτό μπορεί να χρησιμοποιηθεί σε συναρμολόγηση" -#: src/components/details/PartIcons.tsx:59 +#: src/components/details/PartIcons.tsx:61 msgid "Part stock is tracked by serial number" msgstr "Το απόθεμα του εξαρτήματος παρακολουθείται από σειριακό αριθμό" -#: src/components/details/PartIcons.tsx:65 +#: src/components/details/PartIcons.tsx:67 msgid "Part can be purchased from external suppliers" msgstr "Το εξάρτημα μπορεί να αγοραστεί από εξωτερικούς προμηθευτές" -#: src/components/details/PartIcons.tsx:71 +#: src/components/details/PartIcons.tsx:73 msgid "Part can be sold to customers" msgstr "Το εξάρτημα μπορεί να πωληθεί σε πελάτες" -#: src/components/details/PartIcons.tsx:76 +#: src/components/details/PartIcons.tsx:78 msgid "Part is virtual (not a physical part)" msgstr "Το εξάρτημα είναι εικονικό (μη φυσικό εξάρτημα)" -#: src/components/details/PartIcons.tsx:82 -#: src/tables/part/PartTable.tsx:234 -#: src/tables/part/PartTable.tsx:238 +#: src/components/details/PartIcons.tsx:84 +#: src/tables/part/PartTable.tsx:241 +#: src/tables/part/PartTable.tsx:245 #: src/tables/part/PartVariantTable.tsx:25 msgid "Virtual" msgstr "Εικονικό" @@ -252,29 +267,29 @@ msgstr "Εικονικό" msgid "Image upload failed" msgstr "" -#: src/components/editors/NotesEditor.tsx:151 -#: src/components/forms/ApiForm.tsx:430 -#: src/tables/bom/BomTable.tsx:354 +#: src/components/editors/NotesEditor.tsx:156 +#: src/components/forms/ApiForm.tsx:437 +#: src/tables/bom/BomTable.tsx:357 msgid "Success" msgstr "Επιτυχία" -#: src/components/editors/NotesEditor.tsx:152 +#: src/components/editors/NotesEditor.tsx:157 msgid "Notes saved successfully" msgstr "" -#: src/components/editors/NotesEditor.tsx:161 +#: src/components/editors/NotesEditor.tsx:166 msgid "Failed to save notes" msgstr "" -#: src/components/editors/NotesEditor.tsx:193 +#: src/components/editors/NotesEditor.tsx:198 msgid "Preview Notes" msgstr "" -#: src/components/editors/NotesEditor.tsx:193 +#: src/components/editors/NotesEditor.tsx:198 msgid "Edit Notes" msgstr "" -#: src/components/editors/NotesEditor.tsx:207 +#: src/components/editors/NotesEditor.tsx:212 msgid "Save Notes" msgstr "" @@ -407,7 +422,7 @@ msgstr "" msgid "A server error occurred" msgstr "" -#: src/components/forms/ApiForm.tsx:149 +#: src/components/forms/ApiForm.tsx:151 #: src/functions/forms.tsx:259 msgid "Form Error" msgstr "Σφάλμα Φόρμας" @@ -416,18 +431,18 @@ msgstr "Σφάλμα Φόρμας" #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:611 +#: src/components/forms/ApiForm.tsx:618 #: src/tables/plugin/PluginListTable.tsx:388 msgid "Update" msgstr "Ενημέρωση" -#: src/components/forms/ApiForm.tsx:631 +#: src/components/forms/ApiForm.tsx:638 #: 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:498 +#: src/tables/InvenTreeTable.tsx:517 #: src/tables/RowActions.tsx:71 #: src/tables/plugin/PluginListTable.tsx:420 msgid "Delete" @@ -600,7 +615,7 @@ msgstr "" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:70 #: src/pages/part/CategoryDetail.tsx:80 -#: src/pages/part/PartDetail.tsx:122 +#: src/pages/part/PartDetail.tsx:123 #: src/pages/stock/LocationDetail.tsx:87 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 @@ -685,6 +700,124 @@ msgstr "" msgid "Thumbnail" msgstr "" +#: src/components/importer/ImportDataSelector.tsx:154 +msgid "Importing Rows" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:155 +msgid "Please wait while the data is imported" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:172 +msgid "An error occurred while importing data" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:191 +msgid "Edit Data" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:218 +msgid "Delete Row" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:248 +msgid "Row" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:266 +msgid "Row contains errors" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:307 +msgid "Accept" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:340 +msgid "Valid" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:341 +msgid "Filter by row validation status" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:346 +#: src/tables/build/BuildOutputTable.tsx:205 +msgid "Complete" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:347 +msgid "Filter by row completion status" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:364 +msgid "Import selected rows" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:46 +#: src/components/importer/ImporterColumnSelector.tsx:85 +msgid "An error occurred" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:57 +msgid "Select column, or leave blank to ignore this field." +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:91 +msgid "Select a column from the data file" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:104 +msgid "Map data columns to database fields" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:109 +msgid "Accept Column Mapping" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:117 +msgid "Database Field" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:118 +msgid "Field Description" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:119 +msgid "Imported Column Name" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:44 +msgid "Import Data" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:45 +msgid "Map Columns" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:46 +msgid "Process Data" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:47 +msgid "Complete Import" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:91 +msgid "Importing Data" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:97 +msgid "Cancel import session" +msgstr "" + +#: src/components/importer/ImporterImportProgress.tsx:36 +msgid "Importing Records" +msgstr "" + +#: src/components/importer/ImporterImportProgress.tsx:39 +msgid "Imported rows" +msgstr "" + #: src/components/items/ActionDropdown.tsx:119 #: src/pages/build/BuildDetail.tsx:358 msgid "Barcode Actions" @@ -738,7 +871,7 @@ msgid "Read More" msgstr "" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:443 +#: src/tables/InvenTreeTable.tsx:462 msgid "Unknown error" msgstr "" @@ -1039,13 +1172,13 @@ msgstr "" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:313 +#: src/pages/Index/Settings/SystemSettings.tsx:314 msgid "System Settings" msgstr "" #: src/components/nav/MainMenu.tsx:67 #: src/defaults/menuItems.tsx:63 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:198 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:209 msgid "Admin Center" msgstr "" @@ -1088,7 +1221,7 @@ msgid "Pages" msgstr "" #: src/components/nav/NavigationDrawer.tsx:65 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:157 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:168 #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:41 msgid "Plugins" msgstr "" @@ -1102,7 +1235,7 @@ msgstr "" msgid "About" msgstr "" -#: src/components/nav/NotificationDrawer.tsx:78 +#: src/components/nav/NotificationDrawer.tsx:81 #: src/pages/Index/Settings/SystemSettings.tsx:108 #: src/pages/Index/Settings/UserSettings.tsx:96 #: src/pages/Notifications.tsx:65 @@ -1110,17 +1243,17 @@ msgstr "" msgid "Notifications" msgstr "" -#: src/components/nav/NotificationDrawer.tsx:95 +#: src/components/nav/NotificationDrawer.tsx:98 msgid "You have no unread notifications." msgstr "" -#: src/components/nav/NotificationDrawer.tsx:111 -#: src/components/nav/NotificationDrawer.tsx:117 +#: src/components/nav/NotificationDrawer.tsx:114 +#: src/components/nav/NotificationDrawer.tsx:120 #: src/tables/notifications/NotificationsTable.tsx:36 msgid "Notification" msgstr "" -#: src/components/nav/NotificationDrawer.tsx:140 +#: src/components/nav/NotificationDrawer.tsx:143 #: src/pages/Notifications.tsx:73 msgid "Mark as read" msgstr "" @@ -1157,7 +1290,7 @@ msgstr "" msgid "No results available for search query" msgstr "" -#: src/components/render/Instance.tsx:166 +#: src/components/render/Instance.tsx:201 msgid "Unknown model: {model}" msgstr "" @@ -1172,7 +1305,8 @@ msgstr "" #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 #: src/pages/build/BuildDetail.tsx:85 -#: src/pages/part/PartDetail.tsx:831 +#: src/pages/part/PartDetail.tsx:872 +#: src/tables/part/PartTable.tsx:28 #: src/tables/part/RelatedPartTable.tsx:45 #: src/tables/stock/StockTrackingTable.tsx:74 msgid "Part" @@ -1185,7 +1319,7 @@ msgstr "" #: src/pages/part/CategoryDetail.tsx:112 #: src/pages/part/CategoryDetail.tsx:237 #: src/pages/part/CategoryDetail.tsx:267 -#: src/pages/part/PartDetail.tsx:639 +#: src/pages/part/PartDetail.tsx:652 msgid "Parts" msgstr "" @@ -1235,7 +1369,7 @@ msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:172 #: src/pages/part/CategoryDetail.tsx:251 #: src/pages/part/CategoryDetail.tsx:288 -#: src/pages/part/PartDetail.tsx:821 +#: src/pages/part/PartDetail.tsx:862 msgid "Part Categories" msgstr "" @@ -1317,7 +1451,7 @@ msgid "Project Code" msgstr "" #: src/components/render/ModelType.tsx:127 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:109 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:120 msgid "Project Codes" msgstr "" @@ -1329,10 +1463,10 @@ msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:134 -#: src/pages/Index/Settings/SystemSettings.tsx:257 +#: src/pages/Index/Settings/SystemSettings.tsx:258 #: src/pages/company/CompanyDetail.tsx:194 #: src/pages/company/SupplierPartDetail.tsx:226 -#: src/pages/part/PartDetail.tsx:573 +#: src/pages/part/PartDetail.tsx:586 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "" @@ -1354,9 +1488,9 @@ msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:272 +#: src/pages/Index/Settings/SystemSettings.tsx:273 #: src/pages/company/CompanyDetail.tsx:214 -#: src/pages/part/PartDetail.tsx:580 +#: src/pages/part/PartDetail.tsx:593 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" @@ -1376,7 +1510,7 @@ msgid "Return Order" msgstr "" #: src/components/render/ModelType.tsx:164 -#: src/pages/Index/Settings/SystemSettings.tsx:288 +#: src/pages/Index/Settings/SystemSettings.tsx:289 #: src/pages/company/CompanyDetail.tsx:221 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1413,40 +1547,49 @@ msgid "Owners" msgstr "" #: src/components/render/ModelType.tsx:193 +#: src/tables/settings/ImportSessionTable.tsx:122 #: src/tables/stock/StockItemTestResultTable.tsx:193 #: src/tables/stock/StockTrackingTable.tsx:195 msgid "User" msgstr "" #: src/components/render/ModelType.tsx:194 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:85 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:90 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" msgstr "" #: src/components/render/ModelType.tsx:200 -msgid "Label Template" +msgid "Import Session" msgstr "" #: src/components/render/ModelType.tsx:201 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:139 -msgid "Label Templates" +msgid "Import Sessions" msgstr "" #: src/components/render/ModelType.tsx:207 -msgid "Report Template" +msgid "Label Template" msgstr "" #: src/components/render/ModelType.tsx:208 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:145 -msgid "Report Templates" +#: src/pages/Index/Settings/AdminCenter/Index.tsx:150 +msgid "Label Templates" msgstr "" #: src/components/render/ModelType.tsx:214 -msgid "Plugin Configuration" +msgid "Report Template" msgstr "" #: src/components/render/ModelType.tsx:215 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:156 +msgid "Report Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:221 +msgid "Plugin Configuration" +msgstr "" + +#: src/components/render/ModelType.tsx:222 msgid "Plugin Configurations" msgstr "" @@ -1458,7 +1601,7 @@ msgstr "" #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 #: src/pages/Index/Settings/SystemSettings.tsx:210 -#: src/pages/part/PartDetail.tsx:492 +#: src/pages/part/PartDetail.tsx:503 #: src/pages/stock/LocationDetail.tsx:347 #: src/pages/stock/StockDetail.tsx:356 #: src/tables/stock/StockItemTable.tsx:57 @@ -1641,10 +1784,6 @@ msgstr "" #~ msgid "Comment" #~ msgstr "Comment" -#: src/components/tables/general/AttachmentTable.tsx:56 -#~ msgid "Uploaded" -#~ msgstr "Uploaded" - #: src/components/tables/part/PartCategoryTable.tsx:122 #~ msgid "Part category updated" #~ msgstr "Part category updated" @@ -2157,7 +2296,7 @@ msgid "Recently Updated" msgstr "" #: src/defaults/dashboardItems.tsx:50 -#: src/tables/part/PartTable.tsx:216 +#: src/tables/part/PartTable.tsx:223 msgid "Low Stock" msgstr "" @@ -2466,7 +2605,7 @@ msgstr "" #~ msgid "Company updated" #~ msgstr "Company updated" -#: src/forms/PartForms.tsx:100 +#: src/forms/PartForms.tsx:103 msgid "Parent part category" msgstr "" @@ -2534,7 +2673,7 @@ msgstr "" #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 #: src/pages/stock/StockDetail.tsx:173 -#: src/tables/ColumnRenderers.tsx:34 +#: src/tables/ColumnRenderers.tsx:49 #: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" msgstr "" @@ -2585,8 +2724,8 @@ msgstr "" #: src/forms/StockForms.tsx:176 #: src/pages/stock/StockDetail.tsx:379 -#: src/tables/stock/StockItemTable.tsx:382 -#: src/tables/stock/StockItemTable.tsx:499 +#: src/tables/stock/StockItemTable.tsx:404 +#: src/tables/stock/StockItemTable.tsx:521 msgid "Add Stock Item" msgstr "" @@ -2606,9 +2745,9 @@ msgstr "" #: src/forms/StockForms.tsx:606 #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 -#: src/pages/part/PartDetail.tsx:202 -#: src/pages/part/PartDetail.tsx:655 -#: src/tables/stock/StockItemTable.tsx:290 +#: src/pages/part/PartDetail.tsx:203 +#: src/pages/part/PartDetail.tsx:668 +#: src/tables/stock/StockItemTable.tsx:312 msgid "In Stock" msgstr "" @@ -2649,12 +2788,12 @@ msgid "Remove Stock" msgstr "" #: src/forms/StockForms.tsx:803 -#: src/pages/part/PartDetail.tsx:782 +#: src/pages/part/PartDetail.tsx:823 msgid "Transfer Stock" msgstr "" #: src/forms/StockForms.tsx:812 -#: src/pages/part/PartDetail.tsx:771 +#: src/pages/part/PartDetail.tsx:812 msgid "Count Stock" msgstr "" @@ -3279,53 +3418,57 @@ msgstr "" #~ msgid "Advanced Amininistrative Options for InvenTree" #~ msgstr "Advanced Amininistrative Options for InvenTree" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:91 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:96 +msgid "Data Import" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:102 msgid "Background Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:97 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:108 msgid "Error Reports" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:103 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:114 msgid "Currencies" 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:132 msgid "Custom Units" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:138 #: src/pages/part/CategoryDetail.tsx:257 msgid "Part Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 -#~ msgid "Templates" -#~ msgstr "Templates" - -#: src/pages/Index/Settings/AdminCenter/Index.tsx:133 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:144 msgid "Category Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:151 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:162 msgid "Location types" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:163 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:174 #: src/tables/machine/MachineTypeTable.tsx:287 msgid "Machines" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:173 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:184 msgid "Quick Actions" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:178 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:189 msgid "Add a new user" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:199 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:210 msgid "Advanced Options" msgstr "" @@ -3477,7 +3620,7 @@ msgid "Reporting" msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:235 -#: src/pages/part/PartDetail.tsx:593 +#: src/pages/part/PartDetail.tsx:606 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" @@ -3485,12 +3628,12 @@ msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:241 #: src/pages/build/BuildDetail.tsx:423 #: src/pages/build/BuildIndex.tsx:14 -#: src/pages/part/PartDetail.tsx:527 +#: src/pages/part/PartDetail.tsx:540 #: src/pages/sales/SalesOrderDetail.tsx:270 msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:316 +#: src/pages/Index/Settings/SystemSettings.tsx:317 msgid "Switch to User Setting" msgstr "" @@ -3555,7 +3698,8 @@ msgstr "" #: 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/settings/ImportSessionTable.tsx:116 +#: src/tables/stock/StockItemTable.tsx:281 #: src/tables/stock/StockTrackingTable.tsx:52 msgid "Status" msgstr "" @@ -3564,7 +3708,7 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:104 #: src/pages/sales/ReturnOrderDetail.tsx:73 #: src/pages/sales/SalesOrderDetail.tsx:77 -#: src/tables/ColumnRenderers.tsx:106 +#: src/tables/ColumnRenderers.tsx:121 #: src/tables/build/BuildLineTable.tsx:140 msgid "Reference" msgstr "" @@ -3574,12 +3718,12 @@ msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:78 #: src/pages/company/SupplierPartDetail.tsx:85 #: src/pages/part/CategoryDetail.tsx:94 -#: src/pages/part/PartDetail.tsx:129 +#: src/pages/part/PartDetail.tsx:130 #: src/pages/purchasing/PurchaseOrderDetail.tsx:125 #: src/pages/sales/ReturnOrderDetail.tsx:93 #: src/pages/sales/SalesOrderDetail.tsx:97 #: src/pages/stock/LocationDetail.tsx:101 -#: src/tables/ColumnRenderers.tsx:66 +#: src/tables/ColumnRenderers.tsx:81 #: src/tables/machine/MachineTypeTable.tsx:69 #: src/tables/machine/MachineTypeTable.tsx:112 #: src/tables/machine/MachineTypeTable.tsx:219 @@ -3610,7 +3754,7 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:152 -#: src/pages/part/PartDetail.tsx:317 +#: src/pages/part/PartDetail.tsx:323 #: src/pages/purchasing/PurchaseOrderDetail.tsx:217 #: src/pages/sales/ReturnOrderDetail.tsx:186 #: src/pages/sales/SalesOrderDetail.tsx:190 @@ -3630,7 +3774,7 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:210 #: src/pages/sales/ReturnOrderDetail.tsx:179 #: src/pages/sales/SalesOrderDetail.tsx:183 -#: src/tables/ColumnRenderers.tsx:191 +#: src/tables/ColumnRenderers.tsx:206 msgid "Target Date" msgstr "" @@ -3711,7 +3855,7 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:297 #: src/pages/company/CompanyDetail.tsx:257 #: src/pages/company/ManufacturerPartDetail.tsx:174 -#: src/pages/part/PartDetail.tsx:616 +#: src/pages/part/PartDetail.tsx:629 #: src/pages/purchasing/PurchaseOrderDetail.tsx:279 #: src/pages/sales/ReturnOrderDetail.tsx:230 #: src/pages/sales/SalesOrderDetail.tsx:280 @@ -3721,7 +3865,7 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:305 #: src/pages/company/CompanyDetail.tsx:268 -#: src/pages/part/PartDetail.tsx:624 +#: src/pages/part/PartDetail.tsx:637 #: src/pages/purchasing/PurchaseOrderDetail.tsx:290 #: src/pages/sales/ReturnOrderDetail.tsx:241 #: src/pages/sales/SalesOrderDetail.tsx:291 @@ -3877,12 +4021,12 @@ msgid "Manufacturer Part Details" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:148 -#: src/pages/part/PartDetail.tsx:486 +#: src/pages/part/PartDetail.tsx:492 msgid "Parameters" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:160 -#: src/pages/part/PartDetail.tsx:560 +#: src/pages/part/PartDetail.tsx:573 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" msgstr "" @@ -3907,7 +4051,7 @@ msgid "ManufacturerPart" msgstr "" #: src/pages/company/SupplierPartDetail.tsx:99 -#: src/tables/ColumnRenderers.tsx:117 +#: src/tables/ColumnRenderers.tsx:132 msgid "Note" msgstr "" @@ -4043,275 +4187,275 @@ msgstr "" msgid "Category Details" msgstr "" -#: src/pages/part/PartDetail.tsx:135 +#: src/pages/part/PartDetail.tsx:136 msgid "Variant of" msgstr "" -#: src/pages/part/PartDetail.tsx:142 +#: src/pages/part/PartDetail.tsx:143 #: src/tables/notifications/NotificationsTable.tsx:31 #: src/tables/part/PartCategoryTemplateTable.tsx:67 msgid "Category" msgstr "" -#: src/pages/part/PartDetail.tsx:148 +#: src/pages/part/PartDetail.tsx:149 msgid "Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:155 +#: src/pages/part/PartDetail.tsx:156 msgid "Category Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:162 +#: src/pages/part/PartDetail.tsx:163 msgid "IPN" msgstr "" -#: src/pages/part/PartDetail.tsx:169 +#: src/pages/part/PartDetail.tsx:170 msgid "Revision" msgstr "" -#: src/pages/part/PartDetail.tsx:176 +#: src/pages/part/PartDetail.tsx:177 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" msgstr "" -#: src/pages/part/PartDetail.tsx:183 +#: src/pages/part/PartDetail.tsx:184 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:190 +#: src/pages/part/PartDetail.tsx:191 #: src/pages/purchasing/PurchaseOrderDetail.tsx:183 #: src/pages/sales/ReturnOrderDetail.tsx:152 #: src/pages/sales/SalesOrderDetail.tsx:156 msgid "Link" msgstr "" -#: src/pages/part/PartDetail.tsx:208 -#: src/tables/bom/BomTable.tsx:276 +#: src/pages/part/PartDetail.tsx:209 +#: src/tables/bom/BomTable.tsx:279 #: src/tables/build/BuildLineTable.tsx:121 -#: src/tables/part/PartTable.tsx:256 +#: src/tables/part/PartTable.tsx:263 msgid "Available Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:215 +#: src/pages/part/PartDetail.tsx:216 msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:221 -#: src/tables/bom/BomTable.tsx:217 +#: src/pages/part/PartDetail.tsx:222 +#: src/tables/bom/BomTable.tsx:220 #: src/tables/build/BuildLineTable.tsx:95 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:230 +#: src/pages/part/PartDetail.tsx:231 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:238 +#: src/pages/part/PartDetail.tsx:239 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:245 -#: src/tables/bom/BomTable.tsx:241 +#: src/pages/part/PartDetail.tsx:246 +#: src/tables/bom/BomTable.tsx:244 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:252 -#: src/tables/bom/BomTable.tsx:225 -#: src/tables/part/PartTable.tsx:82 +#: src/pages/part/PartDetail.tsx:253 +#: src/tables/bom/BomTable.tsx:228 +#: src/tables/part/PartTable.tsx:83 msgid "Building" msgstr "" -#: src/pages/part/PartDetail.tsx:261 +#: src/pages/part/PartDetail.tsx:262 #: src/tables/bom/UsedInTable.tsx:73 #: src/tables/build/BuildOrderTable.tsx:108 #: src/tables/company/CompanyTable.tsx:61 #: src/tables/company/CompanyTable.tsx:95 #: src/tables/machine/MachineListTable.tsx:323 #: src/tables/machine/MachineListTable.tsx:585 -#: src/tables/part/PartTable.tsx:168 +#: src/tables/part/PartTable.tsx:169 #: src/tables/part/PartVariantTable.tsx:15 #: 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 +#: src/tables/stock/StockItemTable.tsx:276 msgid "Active" msgstr "" -#: src/pages/part/PartDetail.tsx:266 +#: src/pages/part/PartDetail.tsx:272 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:271 -#: src/tables/bom/BomTable.tsx:271 +#: src/pages/part/PartDetail.tsx:277 +#: src/tables/bom/BomTable.tsx:274 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:276 +#: src/pages/part/PartDetail.tsx:282 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:281 -#: src/tables/bom/BomTable.tsx:266 +#: src/pages/part/PartDetail.tsx:287 +#: src/tables/bom/BomTable.tsx:269 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:286 +#: src/pages/part/PartDetail.tsx:292 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:291 +#: src/pages/part/PartDetail.tsx:297 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:296 +#: src/pages/part/PartDetail.tsx:302 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:304 -#: src/tables/ColumnRenderers.tsx:199 +#: src/pages/part/PartDetail.tsx:310 +#: src/tables/ColumnRenderers.tsx:214 msgid "Creation Date" msgstr "" -#: src/pages/part/PartDetail.tsx:309 -msgid "Created By" -msgstr "" - #: src/pages/part/PartDetail.tsx:310 #~ msgid "Edit part" #~ msgstr "Edit part" +#: src/pages/part/PartDetail.tsx:315 +msgid "Created By" +msgstr "" + #: src/pages/part/PartDetail.tsx:322 #~ msgid "Duplicate part" #~ msgstr "Duplicate part" -#: src/pages/part/PartDetail.tsx:324 -msgid "Default Supplier" -msgstr "" - #: src/pages/part/PartDetail.tsx:327 #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:335 +#: src/pages/part/PartDetail.tsx:330 +msgid "Default Supplier" +msgstr "" + +#: src/pages/part/PartDetail.tsx:341 #: src/pages/part/pricing/BomPricingPanel.tsx:78 #: src/pages/part/pricing/VariantPricingPanel.tsx:95 -#: src/tables/part/PartTable.tsx:151 +#: src/tables/part/PartTable.tsx:152 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:374 +#: src/pages/part/PartDetail.tsx:380 #: src/pages/stock/StockDetail.tsx:133 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:409 +#: src/pages/part/PartDetail.tsx:415 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:480 +#: src/pages/part/PartDetail.tsx:486 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:506 +#: src/pages/part/PartDetail.tsx:517 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:513 +#: src/pages/part/PartDetail.tsx:524 #: src/pages/stock/StockDetail.tsx:286 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:520 +#: src/pages/part/PartDetail.tsx:531 msgid "Bill of Materials" msgstr "" -#: src/pages/part/PartDetail.tsx:534 +#: src/pages/part/PartDetail.tsx:547 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:541 +#: src/pages/part/PartDetail.tsx:554 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:547 +#: src/pages/part/PartDetail.tsx:560 #: src/pages/purchasing/PurchasingIndex.tsx:37 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:587 +#: src/pages/part/PartDetail.tsx:600 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:599 +#: src/pages/part/PartDetail.tsx:612 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:610 +#: src/pages/part/PartDetail.tsx:623 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:661 +#: src/pages/part/PartDetail.tsx:674 #: src/pages/stock/StockDetail.tsx:154 #: src/pages/stock/StockDetail.tsx:533 #: src/tables/build/BuildLineTable.tsx:36 -#: src/tables/part/PartTable.tsx:107 +#: src/tables/part/PartTable.tsx:108 #: src/tables/stock/StockItemTable.tsx:166 -#: src/tables/stock/StockItemTable.tsx:275 +#: src/tables/stock/StockItemTable.tsx:297 msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:667 +#: src/pages/part/PartDetail.tsx:680 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:673 -#: src/tables/bom/BomTable.tsx:281 -#: src/tables/part/PartTable.tsx:76 +#: src/pages/part/PartDetail.tsx:686 +#: src/tables/bom/BomTable.tsx:284 +#: src/tables/part/PartTable.tsx:77 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:679 +#: src/pages/part/PartDetail.tsx:692 #: src/pages/stock/StockDetail.tsx:516 -#: src/tables/stock/StockItemTable.tsx:295 +#: src/tables/stock/StockItemTable.tsx:317 msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:698 +#: src/pages/part/PartDetail.tsx:717 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:705 -#: src/tables/part/PartTable.tsx:289 -#: src/tables/part/PartTable.tsx:302 +#: src/pages/part/PartDetail.tsx:744 +#: src/tables/part/PartTable.tsx:296 +#: src/tables/part/PartTable.tsx:309 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:717 +#: src/pages/part/PartDetail.tsx:758 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:726 +#: src/pages/part/PartDetail.tsx:767 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:764 +#: src/pages/part/PartDetail.tsx:805 #: src/pages/stock/LocationDetail.tsx:304 -#: src/tables/stock/StockItemTable.tsx:409 +#: src/tables/stock/StockItemTable.tsx:431 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:772 +#: src/pages/part/PartDetail.tsx:813 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:824 msgid "Transfer part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:792 +#: src/pages/part/PartDetail.tsx:833 msgid "Part Actions" msgstr "" @@ -4359,8 +4503,8 @@ msgstr "" #: src/pages/part/pricing/BomPricingPanel.tsx:57 #: src/pages/part/pricing/BomPricingPanel.tsx:137 -#: src/tables/ColumnRenderers.tsx:241 -#: src/tables/bom/BomTable.tsx:165 +#: src/tables/ColumnRenderers.tsx:256 +#: src/tables/bom/BomTable.tsx:168 #: src/tables/purchasing/PurchaseOrderTable.tsx:112 #: src/tables/sales/ReturnOrderTable.tsx:104 #: src/tables/sales/SalesOrderTable.tsx:134 @@ -4369,7 +4513,7 @@ msgstr "" #: src/pages/part/pricing/BomPricingPanel.tsx:77 #: src/pages/part/pricing/BomPricingPanel.tsx:101 -#: src/tables/part/PartTable.tsx:186 +#: src/tables/part/PartTable.tsx:193 msgid "Component" msgstr "" @@ -4398,7 +4542,7 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:67 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:128 #: src/pages/part/pricing/SupplierPricingPanel.tsx:62 -#: src/tables/bom/BomTable.tsx:156 +#: src/tables/bom/BomTable.tsx:159 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 msgid "Unit Price" @@ -4498,7 +4642,7 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:40 #: src/pages/part/pricing/SaleHistoryPanel.tsx:36 -#: src/tables/ColumnRenderers.tsx:180 +#: src/tables/ColumnRenderers.tsx:195 #: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" @@ -4771,12 +4915,12 @@ msgid "Count stock" msgstr "" #: src/pages/stock/StockDetail.tsx:459 -#: src/tables/stock/StockItemTable.tsx:414 +#: src/tables/stock/StockItemTable.tsx:436 msgid "Add stock" msgstr "" #: src/pages/stock/StockDetail.tsx:467 -#: src/tables/stock/StockItemTable.tsx:423 +#: src/tables/stock/StockItemTable.tsx:445 msgid "Remove stock" msgstr "" @@ -4785,7 +4929,7 @@ msgid "Transfer" msgstr "" #: src/pages/stock/StockDetail.tsx:475 -#: src/tables/stock/StockItemTable.tsx:443 +#: src/tables/stock/StockItemTable.tsx:465 msgid "Transfer stock" msgstr "" @@ -4793,15 +4937,15 @@ msgstr "" msgid "Stock Item Actions" msgstr "" -#: src/tables/ColumnRenderers.tsx:42 +#: src/tables/ColumnRenderers.tsx:57 msgid "No location set" msgstr "" -#: src/tables/ColumnRenderers.tsx:207 +#: src/tables/ColumnRenderers.tsx:222 msgid "Shipment Date" msgstr "" -#: src/tables/ColumnRenderers.tsx:227 +#: src/tables/ColumnRenderers.tsx:242 #: src/tables/settings/CurrencyTable.tsx:23 msgid "Currency" msgstr "" @@ -4828,14 +4972,14 @@ msgid "TSV" msgstr "" #: src/tables/DownloadAction.tsx:24 -msgid "Excel (.xls)" -msgstr "" - -#: src/tables/DownloadAction.tsx:25 msgid "Excel (.xlsx)" msgstr "" -#: src/tables/DownloadAction.tsx:39 +#: src/tables/DownloadAction.tsx:24 +#~ msgid "Excel (.xls)" +#~ msgstr "" + +#: src/tables/DownloadAction.tsx:38 msgid "Download Data" msgstr "" @@ -4900,54 +5044,54 @@ msgstr "" msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:119 -#: src/tables/InvenTreeTable.tsx:390 -#: src/tables/InvenTreeTable.tsx:411 +#: src/tables/InvenTreeTable.tsx:126 +#: src/tables/InvenTreeTable.tsx:409 +#: src/tables/InvenTreeTable.tsx:430 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:422 +#: src/tables/InvenTreeTable.tsx:441 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:430 +#: src/tables/InvenTreeTable.tsx:449 msgid "Bad request" msgstr "" -#: src/tables/InvenTreeTable.tsx:433 +#: src/tables/InvenTreeTable.tsx:452 msgid "Unauthorized" msgstr "" -#: src/tables/InvenTreeTable.tsx:436 +#: src/tables/InvenTreeTable.tsx:455 msgid "Forbidden" msgstr "" -#: src/tables/InvenTreeTable.tsx:439 +#: src/tables/InvenTreeTable.tsx:458 msgid "Not found" msgstr "" -#: src/tables/InvenTreeTable.tsx:488 -#: src/tables/InvenTreeTable.tsx:606 +#: src/tables/InvenTreeTable.tsx:507 +#: src/tables/InvenTreeTable.tsx:623 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:492 +#: src/tables/InvenTreeTable.tsx:511 msgid "Are you sure you want to delete the selected records?" msgstr "" -#: src/tables/InvenTreeTable.tsx:494 +#: src/tables/InvenTreeTable.tsx:513 msgid "This action cannot be undone!" msgstr "" -#: src/tables/InvenTreeTable.tsx:517 +#: src/tables/InvenTreeTable.tsx:536 msgid "Deleted records" msgstr "" -#: src/tables/InvenTreeTable.tsx:518 +#: src/tables/InvenTreeTable.tsx:537 msgid "Records were deleted successfully" msgstr "" -#: src/tables/InvenTreeTable.tsx:527 +#: src/tables/InvenTreeTable.tsx:546 msgid "Failed to delete records" msgstr "" @@ -4956,140 +5100,144 @@ msgstr "" #~ msgid "Print actions" #~ msgstr "Print actions" -#: src/tables/InvenTreeTable.tsx:596 -#: src/tables/InvenTreeTable.tsx:597 +#: src/tables/InvenTreeTable.tsx:613 +#: src/tables/InvenTreeTable.tsx:614 msgid "Barcode actions" msgstr "" -#: src/tables/InvenTreeTable.tsx:625 +#: src/tables/InvenTreeTable.tsx:642 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTable.tsx:646 +#: src/tables/InvenTreeTable.tsx:663 msgid "Table filters" msgstr "" -#: src/tables/bom/BomTable.tsx:80 +#: src/tables/UploadAction.tsx:9 +msgid "Upload Data" +msgstr "" + +#: src/tables/bom/BomTable.tsx:83 msgid "This BOM item is defined for a different parent" msgstr "" -#: src/tables/bom/BomTable.tsx:95 +#: src/tables/bom/BomTable.tsx:98 msgid "Part Information" msgstr "" -#: src/tables/bom/BomTable.tsx:184 -#: src/tables/part/PartTable.tsx:124 +#: src/tables/bom/BomTable.tsx:187 +#: src/tables/part/PartTable.tsx:125 msgid "No stock" msgstr "" -#: src/tables/bom/BomTable.tsx:192 +#: src/tables/bom/BomTable.tsx:195 #: src/tables/build/BuildLineTable.tsx:104 -#: src/tables/part/PartTable.tsx:115 +#: src/tables/part/PartTable.tsx:116 msgid "External stock" msgstr "" -#: src/tables/bom/BomTable.tsx:200 +#: src/tables/bom/BomTable.tsx:203 #: src/tables/build/BuildLineTable.tsx:67 msgid "Includes substitute stock" msgstr "" -#: src/tables/bom/BomTable.tsx:209 +#: src/tables/bom/BomTable.tsx:212 #: src/tables/build/BuildLineTable.tsx:77 msgid "Includes variant stock" msgstr "" -#: src/tables/bom/BomTable.tsx:234 -#: src/tables/part/PartTable.tsx:143 +#: src/tables/bom/BomTable.tsx:237 +#: src/tables/part/PartTable.tsx:144 #: src/tables/stock/StockItemTable.tsx:205 msgid "Stock Information" msgstr "" -#: src/tables/bom/BomTable.tsx:246 +#: src/tables/bom/BomTable.tsx:249 #: src/tables/build/BuildLineTable.tsx:195 msgid "Consumable item" msgstr "" -#: src/tables/bom/BomTable.tsx:267 +#: src/tables/bom/BomTable.tsx:270 msgid "Show trackable items" msgstr "" -#: src/tables/bom/BomTable.tsx:272 +#: src/tables/bom/BomTable.tsx:275 msgid "Show asssmbled items" msgstr "" -#: src/tables/bom/BomTable.tsx:277 +#: src/tables/bom/BomTable.tsx:280 msgid "Show items with available stock" msgstr "" -#: src/tables/bom/BomTable.tsx:282 +#: src/tables/bom/BomTable.tsx:285 msgid "Show items on order" msgstr "" -#: src/tables/bom/BomTable.tsx:286 +#: src/tables/bom/BomTable.tsx:289 msgid "Validated" msgstr "" -#: src/tables/bom/BomTable.tsx:287 +#: src/tables/bom/BomTable.tsx:290 msgid "Show validated items" msgstr "" -#: src/tables/bom/BomTable.tsx:291 +#: src/tables/bom/BomTable.tsx:294 #: src/tables/bom/UsedInTable.tsx:63 msgid "Inherited" msgstr "" -#: src/tables/bom/BomTable.tsx:292 +#: src/tables/bom/BomTable.tsx:295 #: src/tables/bom/UsedInTable.tsx:64 msgid "Show inherited items" msgstr "" -#: src/tables/bom/BomTable.tsx:296 +#: src/tables/bom/BomTable.tsx:299 msgid "Allow Variants" msgstr "" -#: src/tables/bom/BomTable.tsx:297 +#: src/tables/bom/BomTable.tsx:300 msgid "Show items which allow variant substitution" msgstr "" #: src/tables/bom/BomTable.tsx:301 +#~ msgid "Create BOM Item" +#~ msgstr "Create BOM Item" + +#: src/tables/bom/BomTable.tsx:304 #: src/tables/bom/UsedInTable.tsx:68 #: src/tables/build/BuildLineTable.tsx:46 msgid "Optional" msgstr "" -#: src/tables/bom/BomTable.tsx:301 -#~ msgid "Create BOM Item" -#~ msgstr "Create BOM Item" - -#: src/tables/bom/BomTable.tsx:302 +#: src/tables/bom/BomTable.tsx:305 #: src/tables/bom/UsedInTable.tsx:69 msgid "Show optional items" msgstr "" -#: src/tables/bom/BomTable.tsx:306 +#: src/tables/bom/BomTable.tsx:309 #: src/tables/build/BuildLineTable.tsx:41 msgid "Consumable" msgstr "" -#: src/tables/bom/BomTable.tsx:307 +#: src/tables/bom/BomTable.tsx:310 msgid "Show consumable items" msgstr "" -#: src/tables/bom/BomTable.tsx:311 -#: src/tables/part/PartTable.tsx:250 +#: src/tables/bom/BomTable.tsx:314 +#: src/tables/part/PartTable.tsx:257 msgid "Has Pricing" msgstr "" -#: src/tables/bom/BomTable.tsx:312 +#: src/tables/bom/BomTable.tsx:315 msgid "Show items with pricing" msgstr "" -#: src/tables/bom/BomTable.tsx:321 -#: src/tables/bom/BomTable.tsx:420 +#: src/tables/bom/BomTable.tsx:324 +#: src/tables/bom/BomTable.tsx:426 msgid "Add BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:326 +#: src/tables/bom/BomTable.tsx:329 msgid "BOM item created" msgstr "" @@ -5097,23 +5245,23 @@ msgstr "" #~ msgid "Edit Bom Item" #~ msgstr "Edit Bom Item" -#: src/tables/bom/BomTable.tsx:333 -msgid "Edit BOM Item" -msgstr "" - #: src/tables/bom/BomTable.tsx:333 #~ msgid "Bom item updated" #~ msgstr "Bom item updated" -#: src/tables/bom/BomTable.tsx:335 +#: src/tables/bom/BomTable.tsx:336 +msgid "Edit BOM Item" +msgstr "" + +#: src/tables/bom/BomTable.tsx:338 msgid "BOM item updated" msgstr "" -#: src/tables/bom/BomTable.tsx:342 +#: src/tables/bom/BomTable.tsx:345 msgid "Delete BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:343 +#: src/tables/bom/BomTable.tsx:346 msgid "BOM item deleted" msgstr "" @@ -5133,32 +5281,41 @@ msgstr "" #~ msgid "Validate BOM line" #~ msgstr "Validate BOM line" -#: src/tables/bom/BomTable.tsx:355 +#: src/tables/bom/BomTable.tsx:358 msgid "BOM item validated" msgstr "" -#: src/tables/bom/BomTable.tsx:364 +#: src/tables/bom/BomTable.tsx:367 msgid "Failed to validate BOM item" msgstr "" -#: src/tables/bom/BomTable.tsx:376 +#: src/tables/bom/BomTable.tsx:379 msgid "View BOM" msgstr "" -#: src/tables/bom/BomTable.tsx:385 +#: src/tables/bom/BomTable.tsx:388 msgid "Validate BOM Line" msgstr "" -#: src/tables/bom/BomTable.tsx:399 +#: src/tables/bom/BomTable.tsx:405 msgid "Edit Substitutes" msgstr "" +#: src/tables/bom/BomTable.tsx:440 +#: src/tables/part/PartParameterTable.tsx:191 +msgid "Part is Locked" +msgstr "" + +#: src/tables/bom/BomTable.tsx:445 +msgid "Bill of materials cannot be edited, as the part is locked" +msgstr "" + #: src/tables/bom/UsedInTable.tsx:74 msgid "Show active assemblies" msgstr "" #: src/tables/bom/UsedInTable.tsx:78 -#: src/tables/part/PartTable.tsx:192 +#: src/tables/part/PartTable.tsx:199 #: src/tables/part/PartVariantTable.tsx:30 msgid "Trackable" msgstr "" @@ -5168,7 +5325,7 @@ msgid "Show trackable assemblies" msgstr "" #: src/tables/build/BuildLineTable.tsx:31 -#: src/tables/stock/StockItemTable.tsx:270 +#: src/tables/stock/StockItemTable.tsx:292 msgid "Allocated" msgstr "" @@ -5189,7 +5346,7 @@ msgid "Show optional lines" msgstr "" #: src/tables/build/BuildLineTable.tsx:51 -#: src/tables/stock/StockItemTable.tsx:329 +#: src/tables/stock/StockItemTable.tsx:351 msgid "Tracked" msgstr "" @@ -5302,10 +5459,6 @@ msgstr "" msgid "Deallocate stock from build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:205 -msgid "Complete" -msgstr "" - #: src/tables/build/BuildOutputTable.tsx:206 msgid "Complete build output" msgstr "" @@ -5635,7 +5788,7 @@ msgid "Message" msgstr "" #: src/tables/part/ParametricPartTable.tsx:76 -#: src/tables/part/PartParameterTable.tsx:88 +#: src/tables/part/PartParameterTable.tsx:95 msgid "Internal Units" msgstr "" @@ -5648,13 +5801,13 @@ msgid "Add Part Parameter" msgstr "" #: src/tables/part/ParametricPartTable.tsx:138 -#: src/tables/part/PartParameterTable.tsx:121 -#: src/tables/part/PartParameterTable.tsx:144 +#: src/tables/part/PartParameterTable.tsx:128 +#: src/tables/part/PartParameterTable.tsx:151 msgid "Edit Part Parameter" msgstr "" #: src/tables/part/PartCategoryTable.tsx:60 -#: src/tables/part/PartTable.tsx:180 +#: src/tables/part/PartTable.tsx:187 msgid "Include Subcategories" msgstr "" @@ -5667,7 +5820,7 @@ msgid "Show structural categories" msgstr "" #: src/tables/part/PartCategoryTable.tsx:70 -#: src/tables/part/PartTable.tsx:262 +#: src/tables/part/PartTable.tsx:269 msgid "Subscribed" msgstr "" @@ -5704,21 +5857,25 @@ msgstr "" #~ msgid "[{0}]" #~ msgstr "[{0}]" -#: src/tables/part/PartParameterTable.tsx:105 +#: src/tables/part/PartParameterTable.tsx:112 msgid "New Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:130 -#: src/tables/part/PartParameterTable.tsx:152 +#: src/tables/part/PartParameterTable.tsx:137 +#: src/tables/part/PartParameterTable.tsx:159 msgid "Delete Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:170 +#: src/tables/part/PartParameterTable.tsx:177 msgid "Add parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:191 -#: src/tables/stock/StockItemTable.tsx:300 +#: src/tables/part/PartParameterTable.tsx:196 +msgid "Part parameters cannot be edited, as the part is locked" +msgstr "" + +#: src/tables/part/PartParameterTable.tsx:210 +#: src/tables/stock/StockItemTable.tsx:322 msgid "Include Variants" msgstr "" @@ -5739,7 +5896,7 @@ msgid "Show templates with choices" msgstr "" #: src/tables/part/PartParameterTemplateTable.tsx:41 -#: src/tables/part/PartTable.tsx:198 +#: src/tables/part/PartTable.tsx:205 msgid "Has Units" msgstr "" @@ -5763,116 +5920,120 @@ msgstr "" msgid "Add parameter template" msgstr "" -#: src/tables/part/PartTable.tsx:67 +#: src/tables/part/PartTable.tsx:68 msgid "Minimum stock" msgstr "" -#: src/tables/part/PartTable.tsx:89 +#: src/tables/part/PartTable.tsx:90 msgid "Build Order Allocations" msgstr "" -#: src/tables/part/PartTable.tsx:98 +#: src/tables/part/PartTable.tsx:99 msgid "Sales Order Allocations" msgstr "" -#: src/tables/part/PartTable.tsx:169 +#: src/tables/part/PartTable.tsx:170 msgid "Filter by part active status" msgstr "" -#: src/tables/part/PartTable.tsx:174 -#: src/tables/stock/StockItemTable.tsx:265 +#: src/tables/part/PartTable.tsx:176 +msgid "Filter by part locked status" +msgstr "" + +#: src/tables/part/PartTable.tsx:181 +#: src/tables/stock/StockItemTable.tsx:287 msgid "Assembly" msgstr "" -#: src/tables/part/PartTable.tsx:175 +#: src/tables/part/PartTable.tsx:182 msgid "Filter by assembly attribute" msgstr "" -#: src/tables/part/PartTable.tsx:181 +#: src/tables/part/PartTable.tsx:188 msgid "Include parts in subcategories" msgstr "" -#: src/tables/part/PartTable.tsx:187 +#: src/tables/part/PartTable.tsx:194 msgid "Filter by component attribute" msgstr "" -#: src/tables/part/PartTable.tsx:193 +#: src/tables/part/PartTable.tsx:200 msgid "Filter by trackable attribute" msgstr "" -#: src/tables/part/PartTable.tsx:199 +#: src/tables/part/PartTable.tsx:206 msgid "Filter by parts which have units" msgstr "" -#: src/tables/part/PartTable.tsx:204 +#: src/tables/part/PartTable.tsx:211 msgid "Has IPN" msgstr "" -#: src/tables/part/PartTable.tsx:205 +#: src/tables/part/PartTable.tsx:212 msgid "Filter by parts which have an internal part number" msgstr "" -#: src/tables/part/PartTable.tsx:210 +#: src/tables/part/PartTable.tsx:217 msgid "Has Stock" msgstr "" -#: src/tables/part/PartTable.tsx:211 +#: src/tables/part/PartTable.tsx:218 msgid "Filter by parts which have stock" msgstr "" -#: src/tables/part/PartTable.tsx:217 +#: src/tables/part/PartTable.tsx:224 msgid "Filter by parts which have low stock" msgstr "" -#: src/tables/part/PartTable.tsx:222 +#: src/tables/part/PartTable.tsx:229 msgid "Purchaseable" msgstr "" -#: src/tables/part/PartTable.tsx:223 +#: src/tables/part/PartTable.tsx:230 msgid "Filter by parts which are purchaseable" msgstr "" -#: src/tables/part/PartTable.tsx:228 +#: src/tables/part/PartTable.tsx:235 msgid "Salable" msgstr "" -#: src/tables/part/PartTable.tsx:229 +#: src/tables/part/PartTable.tsx:236 msgid "Filter by parts which are salable" msgstr "" -#: src/tables/part/PartTable.tsx:235 +#: src/tables/part/PartTable.tsx:242 msgid "Filter by parts which are virtual" msgstr "" -#: src/tables/part/PartTable.tsx:239 +#: src/tables/part/PartTable.tsx:246 msgid "Not Virtual" msgstr "" -#: src/tables/part/PartTable.tsx:244 +#: src/tables/part/PartTable.tsx:251 msgid "Is Template" msgstr "" -#: src/tables/part/PartTable.tsx:245 +#: src/tables/part/PartTable.tsx:252 msgid "Filter by parts which are templates" msgstr "" -#: src/tables/part/PartTable.tsx:251 +#: src/tables/part/PartTable.tsx:258 msgid "Filter by parts which have pricing information" msgstr "" -#: src/tables/part/PartTable.tsx:257 +#: src/tables/part/PartTable.tsx:264 msgid "Filter by parts which have available stock" msgstr "" -#: src/tables/part/PartTable.tsx:263 +#: src/tables/part/PartTable.tsx:270 msgid "Filter by parts to which the user is subscribed" msgstr "" -#: src/tables/part/PartTable.tsx:268 +#: src/tables/part/PartTable.tsx:275 msgid "Has Stocktake" msgstr "" -#: src/tables/part/PartTable.tsx:269 +#: src/tables/part/PartTable.tsx:276 msgid "Filter by parts which have stocktake information" msgstr "" @@ -6211,7 +6372,7 @@ msgid "Sample" msgstr "" #: src/tables/plugin/PluginListTable.tsx:578 -#: src/tables/stock/StockItemTable.tsx:305 +#: src/tables/stock/StockItemTable.tsx:327 msgid "Installed" msgstr "" @@ -6486,6 +6647,41 @@ msgstr "" msgid "Edit group" msgstr "" +#: src/tables/settings/ImportSessionTable.tsx:39 +msgid "Delete Import Session" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:45 +#: src/tables/settings/ImportSessionTable.tsx:132 +msgid "Create Import Session" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:70 +msgid "Uploaded" +msgstr "Uploaded" + +#: src/tables/settings/ImportSessionTable.tsx:80 +msgid "Imported Rows" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:110 +#: src/tables/settings/TemplateTable.tsx:276 +msgid "Model Type" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:111 +#: src/tables/settings/TemplateTable.tsx:277 +msgid "Filter by target model type" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:117 +msgid "Filter by import session status" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:123 +msgid "Filter by user" +msgstr "" + #: src/tables/settings/PendingTasksTable.tsx:36 msgid "Arguments" msgstr "" @@ -6502,7 +6698,7 @@ msgstr "" msgid "Delete Project Code" msgstr "" -#: src/tables/settings/ProjectCodeTable.tsx:94 +#: src/tables/settings/ProjectCodeTable.tsx:92 msgid "Add project code" msgstr "" @@ -6571,14 +6767,6 @@ msgstr "" 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 "" @@ -6701,149 +6889,153 @@ msgstr "" msgid "This stock item has been depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:255 +#: src/tables/stock/StockItemTable.tsx:247 +msgid "Stock Value" +msgstr "" + +#: src/tables/stock/StockItemTable.tsx:277 msgid "Show stock for active parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:260 +#: src/tables/stock/StockItemTable.tsx:282 msgid "Filter by stock status" msgstr "" -#: src/tables/stock/StockItemTable.tsx:266 +#: src/tables/stock/StockItemTable.tsx:288 msgid "Show stock for assmebled parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:271 +#: src/tables/stock/StockItemTable.tsx:293 msgid "Show items which have been allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:276 +#: src/tables/stock/StockItemTable.tsx:298 msgid "Show items which are available" msgstr "" -#: src/tables/stock/StockItemTable.tsx:280 +#: src/tables/stock/StockItemTable.tsx:302 #: src/tables/stock/StockLocationTable.tsx:42 msgid "Include Sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:281 +#: src/tables/stock/StockItemTable.tsx:303 msgid "Include stock in sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:285 +#: src/tables/stock/StockItemTable.tsx:307 msgid "Depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:286 +#: src/tables/stock/StockItemTable.tsx:308 msgid "Show depleted stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:291 +#: src/tables/stock/StockItemTable.tsx:313 msgid "Show items which are in stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:296 +#: src/tables/stock/StockItemTable.tsx:318 msgid "Show items which are in production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:301 +#: src/tables/stock/StockItemTable.tsx:323 msgid "Include stock items for variant parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:306 +#: src/tables/stock/StockItemTable.tsx:328 msgid "Show stock items which are installed in other items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:310 +#: src/tables/stock/StockItemTable.tsx:332 msgid "Sent to Customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:311 +#: src/tables/stock/StockItemTable.tsx:333 msgid "Show items which have been sent to a customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:315 +#: src/tables/stock/StockItemTable.tsx:337 msgid "Is Serialized" msgstr "" -#: src/tables/stock/StockItemTable.tsx:316 +#: src/tables/stock/StockItemTable.tsx:338 msgid "Show items which have a serial number" msgstr "" -#: src/tables/stock/StockItemTable.tsx:323 +#: src/tables/stock/StockItemTable.tsx:345 msgid "Has Batch Code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:324 +#: src/tables/stock/StockItemTable.tsx:346 msgid "Show items which have a batch code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:330 +#: src/tables/stock/StockItemTable.tsx:352 msgid "Show tracked items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:334 +#: src/tables/stock/StockItemTable.tsx:356 msgid "Has Purchase Price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:335 +#: src/tables/stock/StockItemTable.tsx:357 msgid "Show items which have a purchase price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:343 +#: src/tables/stock/StockItemTable.tsx:365 msgid "External Location" msgstr "" -#: src/tables/stock/StockItemTable.tsx:344 +#: src/tables/stock/StockItemTable.tsx:366 msgid "Show items in an external location" msgstr "" -#: src/tables/stock/StockItemTable.tsx:416 +#: src/tables/stock/StockItemTable.tsx:438 msgid "Add a new stock item" msgstr "" -#: src/tables/stock/StockItemTable.tsx:425 +#: src/tables/stock/StockItemTable.tsx:447 msgid "Remove some quantity from a stock item" msgstr "" -#: src/tables/stock/StockItemTable.tsx:447 +#: src/tables/stock/StockItemTable.tsx:469 msgid "Move Stock items to new locations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:454 +#: src/tables/stock/StockItemTable.tsx:476 msgid "Change stock status" msgstr "" -#: src/tables/stock/StockItemTable.tsx:456 +#: src/tables/stock/StockItemTable.tsx:478 msgid "Change the status of stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:463 +#: src/tables/stock/StockItemTable.tsx:485 msgid "Merge stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:465 +#: src/tables/stock/StockItemTable.tsx:487 msgid "Merge stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:472 +#: src/tables/stock/StockItemTable.tsx:494 msgid "Order stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:474 -#: src/tables/stock/StockItemTable.tsx:480 +#: src/tables/stock/StockItemTable.tsx:496 +#: src/tables/stock/StockItemTable.tsx:502 msgid "Order new stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:478 +#: src/tables/stock/StockItemTable.tsx:500 msgid "Assign to customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:487 +#: src/tables/stock/StockItemTable.tsx:509 msgid "Delete stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:489 +#: src/tables/stock/StockItemTable.tsx:511 msgid "Delete stock items" msgstr "" @@ -6999,4 +7191,3 @@ msgstr "" #: src/views/MobileAppView.tsx:35 msgid "Ignore and continue to Desktop view" msgstr "" - diff --git a/src/frontend/src/locales/en/messages.po b/src/frontend/src/locales/en/messages.po index 7166f45a3ef3..90265b966005 100644 --- a/src/frontend/src/locales/en/messages.po +++ b/src/frontend/src/locales/en/messages.po @@ -44,16 +44,18 @@ msgstr "Label printing completed successfully" #: src/components/buttons/PrintingActions.tsx:107 #: src/components/buttons/PrintingActions.tsx:144 #: src/components/editors/NotesEditor.tsx:65 -#: src/components/editors/NotesEditor.tsx:160 -#: src/components/forms/ApiForm.tsx:506 -#: src/components/forms/fields/ApiFormField.tsx:295 +#: src/components/editors/NotesEditor.tsx:165 +#: src/components/forms/ApiForm.tsx:513 +#: src/components/forms/fields/ApiFormField.tsx:306 +#: src/components/importer/ImportDataSelector.tsx:171 +#: src/components/importer/ImporterColumnSelector.tsx:112 #: src/components/modals/LicenseModal.tsx:75 #: src/components/nav/SearchDrawer.tsx:427 #: src/pages/ErrorPage.tsx:11 #: src/pages/part/PartPricingPanel.tsx:71 -#: src/tables/InvenTreeTable.tsx:451 -#: src/tables/InvenTreeTable.tsx:526 -#: src/tables/bom/BomTable.tsx:363 +#: src/tables/InvenTreeTable.tsx:470 +#: src/tables/InvenTreeTable.tsx:545 +#: src/tables/bom/BomTable.tsx:366 #: src/tables/stock/StockItemTestResultTable.tsx:294 msgid "Error" msgstr "Error" @@ -152,7 +154,7 @@ msgstr "Remove" #: src/functions/forms.tsx:196 #: src/hooks/UseForm.tsx:40 #: src/tables/FilterSelectDrawer.tsx:204 -#: src/tables/InvenTreeTable.tsx:499 +#: src/tables/InvenTreeTable.tsx:518 #: src/tables/build/BuildOutputTable.tsx:225 msgid "Cancel" msgstr "Cancel" @@ -170,7 +172,7 @@ msgid "Clear" msgstr "Clear" #: src/components/details/DetailsImage.tsx:227 -#: src/components/forms/ApiForm.tsx:573 +#: src/components/forms/ApiForm.tsx:580 #: src/contexts/ThemeContext.tsx:43 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:56 msgid "Submit" @@ -197,48 +199,61 @@ msgid "Delete image" msgstr "Delete image" #: src/components/details/PartIcons.tsx:28 +#: src/tables/ColumnRenderers.tsx:35 +msgid "Part is locked" +msgstr "Part is locked" + +#: src/components/details/PartIcons.tsx:30 +#: src/pages/part/PartDetail.tsx:267 +#: src/pages/part/PartDetail.tsx:698 +#: src/tables/part/PartTable.tsx:175 +msgid "Locked" +msgstr "Locked" + +#: src/components/details/PartIcons.tsx:35 +#: src/tables/ColumnRenderers.tsx:30 msgid "Part is not active" msgstr "Part is not active" -#: src/components/details/PartIcons.tsx:34 +#: src/components/details/PartIcons.tsx:37 #: src/components/render/Plugin.tsx:17 #: src/pages/company/CompanyDetail.tsx:315 #: src/pages/company/SupplierPartDetail.tsx:307 -#: src/pages/part/PartDetail.tsx:685 +#: src/pages/part/PartDetail.tsx:704 msgid "Inactive" msgstr "Inactive" -#: src/components/details/PartIcons.tsx:41 +#: src/components/details/PartIcons.tsx:43 msgid "Part is a template part (variants can be made from this part)" msgstr "Part is a template part (variants can be made from this part)" -#: src/components/details/PartIcons.tsx:47 +#: src/components/details/PartIcons.tsx:49 msgid "Part can be assembled from other parts" msgstr "Part can be assembled from other parts" -#: src/components/details/PartIcons.tsx:53 +#: src/components/details/PartIcons.tsx:55 msgid "Part can be used in assemblies" msgstr "Part can be used in assemblies" -#: src/components/details/PartIcons.tsx:59 +#: src/components/details/PartIcons.tsx:61 msgid "Part stock is tracked by serial number" msgstr "Part stock is tracked by serial number" -#: src/components/details/PartIcons.tsx:65 +#: src/components/details/PartIcons.tsx:67 msgid "Part can be purchased from external suppliers" msgstr "Part can be purchased from external suppliers" -#: src/components/details/PartIcons.tsx:71 +#: src/components/details/PartIcons.tsx:73 msgid "Part can be sold to customers" msgstr "Part can be sold to customers" -#: src/components/details/PartIcons.tsx:76 +#: src/components/details/PartIcons.tsx:78 msgid "Part is virtual (not a physical part)" msgstr "Part is virtual (not a physical part)" -#: src/components/details/PartIcons.tsx:82 -#: src/tables/part/PartTable.tsx:234 -#: src/tables/part/PartTable.tsx:238 +#: src/components/details/PartIcons.tsx:84 +#: src/tables/part/PartTable.tsx:241 +#: src/tables/part/PartTable.tsx:245 #: src/tables/part/PartVariantTable.tsx:25 msgid "Virtual" msgstr "Virtual" @@ -247,29 +262,29 @@ msgstr "Virtual" msgid "Image upload failed" msgstr "Image upload failed" -#: src/components/editors/NotesEditor.tsx:151 -#: src/components/forms/ApiForm.tsx:430 -#: src/tables/bom/BomTable.tsx:354 +#: src/components/editors/NotesEditor.tsx:156 +#: src/components/forms/ApiForm.tsx:437 +#: src/tables/bom/BomTable.tsx:357 msgid "Success" msgstr "Success" -#: src/components/editors/NotesEditor.tsx:152 +#: src/components/editors/NotesEditor.tsx:157 msgid "Notes saved successfully" msgstr "Notes saved successfully" -#: src/components/editors/NotesEditor.tsx:161 +#: src/components/editors/NotesEditor.tsx:166 msgid "Failed to save notes" msgstr "Failed to save notes" -#: src/components/editors/NotesEditor.tsx:193 +#: src/components/editors/NotesEditor.tsx:198 msgid "Preview Notes" msgstr "Preview Notes" -#: src/components/editors/NotesEditor.tsx:193 +#: src/components/editors/NotesEditor.tsx:198 msgid "Edit Notes" msgstr "Edit Notes" -#: src/components/editors/NotesEditor.tsx:207 +#: src/components/editors/NotesEditor.tsx:212 msgid "Save Notes" msgstr "Save Notes" @@ -402,7 +417,7 @@ msgstr "Server Error" msgid "A server error occurred" msgstr "A server error occurred" -#: src/components/forms/ApiForm.tsx:149 +#: src/components/forms/ApiForm.tsx:151 #: src/functions/forms.tsx:259 msgid "Form Error" msgstr "Form Error" @@ -411,18 +426,18 @@ msgstr "Form Error" #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:611 +#: src/components/forms/ApiForm.tsx:618 #: src/tables/plugin/PluginListTable.tsx:388 msgid "Update" msgstr "Update" -#: src/components/forms/ApiForm.tsx:631 +#: src/components/forms/ApiForm.tsx:638 #: 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:498 +#: src/tables/InvenTreeTable.tsx:517 #: src/tables/RowActions.tsx:71 #: src/tables/plugin/PluginListTable.tsx:420 msgid "Delete" @@ -595,7 +610,7 @@ msgstr "Host" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:70 #: src/pages/part/CategoryDetail.tsx:80 -#: src/pages/part/PartDetail.tsx:122 +#: src/pages/part/PartDetail.tsx:123 #: src/pages/stock/LocationDetail.tsx:87 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 @@ -680,6 +695,124 @@ msgstr "No entries available" msgid "Thumbnail" msgstr "Thumbnail" +#: src/components/importer/ImportDataSelector.tsx:154 +msgid "Importing Rows" +msgstr "Importing Rows" + +#: src/components/importer/ImportDataSelector.tsx:155 +msgid "Please wait while the data is imported" +msgstr "Please wait while the data is imported" + +#: src/components/importer/ImportDataSelector.tsx:172 +msgid "An error occurred while importing data" +msgstr "An error occurred while importing data" + +#: src/components/importer/ImportDataSelector.tsx:191 +msgid "Edit Data" +msgstr "Edit Data" + +#: src/components/importer/ImportDataSelector.tsx:218 +msgid "Delete Row" +msgstr "Delete Row" + +#: src/components/importer/ImportDataSelector.tsx:248 +msgid "Row" +msgstr "Row" + +#: src/components/importer/ImportDataSelector.tsx:266 +msgid "Row contains errors" +msgstr "Row contains errors" + +#: src/components/importer/ImportDataSelector.tsx:307 +msgid "Accept" +msgstr "Accept" + +#: src/components/importer/ImportDataSelector.tsx:340 +msgid "Valid" +msgstr "Valid" + +#: src/components/importer/ImportDataSelector.tsx:341 +msgid "Filter by row validation status" +msgstr "Filter by row validation status" + +#: src/components/importer/ImportDataSelector.tsx:346 +#: src/tables/build/BuildOutputTable.tsx:205 +msgid "Complete" +msgstr "Complete" + +#: src/components/importer/ImportDataSelector.tsx:347 +msgid "Filter by row completion status" +msgstr "Filter by row completion status" + +#: src/components/importer/ImportDataSelector.tsx:364 +msgid "Import selected rows" +msgstr "Import selected rows" + +#: src/components/importer/ImporterColumnSelector.tsx:46 +#: src/components/importer/ImporterColumnSelector.tsx:85 +msgid "An error occurred" +msgstr "An error occurred" + +#: src/components/importer/ImporterColumnSelector.tsx:57 +msgid "Select column, or leave blank to ignore this field." +msgstr "Select column, or leave blank to ignore this field." + +#: src/components/importer/ImporterColumnSelector.tsx:91 +msgid "Select a column from the data file" +msgstr "Select a column from the data file" + +#: src/components/importer/ImporterColumnSelector.tsx:104 +msgid "Map data columns to database fields" +msgstr "Map data columns to database fields" + +#: src/components/importer/ImporterColumnSelector.tsx:109 +msgid "Accept Column Mapping" +msgstr "Accept Column Mapping" + +#: src/components/importer/ImporterColumnSelector.tsx:117 +msgid "Database Field" +msgstr "Database Field" + +#: src/components/importer/ImporterColumnSelector.tsx:118 +msgid "Field Description" +msgstr "Field Description" + +#: src/components/importer/ImporterColumnSelector.tsx:119 +msgid "Imported Column Name" +msgstr "Imported Column Name" + +#: src/components/importer/ImporterDrawer.tsx:44 +msgid "Import Data" +msgstr "Import Data" + +#: src/components/importer/ImporterDrawer.tsx:45 +msgid "Map Columns" +msgstr "Map Columns" + +#: src/components/importer/ImporterDrawer.tsx:46 +msgid "Process Data" +msgstr "Process Data" + +#: src/components/importer/ImporterDrawer.tsx:47 +msgid "Complete Import" +msgstr "Complete Import" + +#: src/components/importer/ImporterDrawer.tsx:91 +msgid "Importing Data" +msgstr "Importing Data" + +#: src/components/importer/ImporterDrawer.tsx:97 +msgid "Cancel import session" +msgstr "Cancel import session" + +#: src/components/importer/ImporterImportProgress.tsx:36 +msgid "Importing Records" +msgstr "Importing Records" + +#: src/components/importer/ImporterImportProgress.tsx:39 +msgid "Imported rows" +msgstr "Imported rows" + #: src/components/items/ActionDropdown.tsx:119 #: src/pages/build/BuildDetail.tsx:358 msgid "Barcode Actions" @@ -733,7 +866,7 @@ msgid "Read More" msgstr "Read More" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:443 +#: src/tables/InvenTreeTable.tsx:462 msgid "Unknown error" msgstr "Unknown error" @@ -1034,13 +1167,13 @@ msgstr "Account settings" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:313 +#: src/pages/Index/Settings/SystemSettings.tsx:314 msgid "System Settings" msgstr "System Settings" #: src/components/nav/MainMenu.tsx:67 #: src/defaults/menuItems.tsx:63 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:198 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:209 msgid "Admin Center" msgstr "Admin Center" @@ -1083,7 +1216,7 @@ msgid "Pages" msgstr "Pages" #: src/components/nav/NavigationDrawer.tsx:65 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:157 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:168 #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:41 msgid "Plugins" msgstr "Plugins" @@ -1097,7 +1230,7 @@ msgstr "Documentation" msgid "About" msgstr "About" -#: src/components/nav/NotificationDrawer.tsx:78 +#: src/components/nav/NotificationDrawer.tsx:81 #: src/pages/Index/Settings/SystemSettings.tsx:108 #: src/pages/Index/Settings/UserSettings.tsx:96 #: src/pages/Notifications.tsx:65 @@ -1105,17 +1238,17 @@ msgstr "About" msgid "Notifications" msgstr "Notifications" -#: src/components/nav/NotificationDrawer.tsx:95 +#: src/components/nav/NotificationDrawer.tsx:98 msgid "You have no unread notifications." msgstr "You have no unread notifications." -#: src/components/nav/NotificationDrawer.tsx:111 -#: src/components/nav/NotificationDrawer.tsx:117 +#: src/components/nav/NotificationDrawer.tsx:114 +#: src/components/nav/NotificationDrawer.tsx:120 #: src/tables/notifications/NotificationsTable.tsx:36 msgid "Notification" msgstr "Notification" -#: src/components/nav/NotificationDrawer.tsx:140 +#: src/components/nav/NotificationDrawer.tsx:143 #: src/pages/Notifications.tsx:73 msgid "Mark as read" msgstr "Mark as read" @@ -1152,7 +1285,7 @@ msgstr "No results" msgid "No results available for search query" msgstr "No results available for search query" -#: src/components/render/Instance.tsx:166 +#: src/components/render/Instance.tsx:201 msgid "Unknown model: {model}" msgstr "Unknown model: {model}" @@ -1167,7 +1300,8 @@ msgstr "Unknown model: {model}" #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 #: src/pages/build/BuildDetail.tsx:85 -#: src/pages/part/PartDetail.tsx:831 +#: src/pages/part/PartDetail.tsx:872 +#: src/tables/part/PartTable.tsx:28 #: src/tables/part/RelatedPartTable.tsx:45 #: src/tables/stock/StockTrackingTable.tsx:74 msgid "Part" @@ -1180,7 +1314,7 @@ msgstr "Part" #: src/pages/part/CategoryDetail.tsx:112 #: src/pages/part/CategoryDetail.tsx:237 #: src/pages/part/CategoryDetail.tsx:267 -#: src/pages/part/PartDetail.tsx:639 +#: src/pages/part/PartDetail.tsx:652 msgid "Parts" msgstr "Parts" @@ -1230,7 +1364,7 @@ msgstr "Part Category" #: src/pages/Index/Settings/SystemSettings.tsx:172 #: src/pages/part/CategoryDetail.tsx:251 #: src/pages/part/CategoryDetail.tsx:288 -#: src/pages/part/PartDetail.tsx:821 +#: src/pages/part/PartDetail.tsx:862 msgid "Part Categories" msgstr "Part Categories" @@ -1312,7 +1446,7 @@ msgid "Project Code" msgstr "Project Code" #: src/components/render/ModelType.tsx:127 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:109 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:120 msgid "Project Codes" msgstr "Project Codes" @@ -1324,10 +1458,10 @@ msgid "Purchase Order" msgstr "Purchase Order" #: src/components/render/ModelType.tsx:134 -#: src/pages/Index/Settings/SystemSettings.tsx:257 +#: src/pages/Index/Settings/SystemSettings.tsx:258 #: src/pages/company/CompanyDetail.tsx:194 #: src/pages/company/SupplierPartDetail.tsx:226 -#: src/pages/part/PartDetail.tsx:573 +#: src/pages/part/PartDetail.tsx:586 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "Purchase Orders" @@ -1349,9 +1483,9 @@ msgid "Sales Order" msgstr "Sales Order" #: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:272 +#: src/pages/Index/Settings/SystemSettings.tsx:273 #: src/pages/company/CompanyDetail.tsx:214 -#: src/pages/part/PartDetail.tsx:580 +#: src/pages/part/PartDetail.tsx:593 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "Sales Orders" @@ -1371,7 +1505,7 @@ msgid "Return Order" msgstr "Return Order" #: src/components/render/ModelType.tsx:164 -#: src/pages/Index/Settings/SystemSettings.tsx:288 +#: src/pages/Index/Settings/SystemSettings.tsx:289 #: src/pages/company/CompanyDetail.tsx:221 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1408,40 +1542,49 @@ msgid "Owners" msgstr "Owners" #: src/components/render/ModelType.tsx:193 +#: src/tables/settings/ImportSessionTable.tsx:122 #: src/tables/stock/StockItemTestResultTable.tsx:193 #: src/tables/stock/StockTrackingTable.tsx:195 msgid "User" msgstr "User" #: src/components/render/ModelType.tsx:194 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:85 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:90 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" msgstr "Users" #: src/components/render/ModelType.tsx:200 +msgid "Import Session" +msgstr "Import Session" + +#: src/components/render/ModelType.tsx:201 +msgid "Import Sessions" +msgstr "Import Sessions" + +#: src/components/render/ModelType.tsx:207 msgid "Label Template" msgstr "Label Template" -#: src/components/render/ModelType.tsx:201 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:139 +#: src/components/render/ModelType.tsx:208 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:150 msgid "Label Templates" msgstr "Label Templates" -#: src/components/render/ModelType.tsx:207 +#: src/components/render/ModelType.tsx:214 msgid "Report Template" msgstr "Report Template" -#: src/components/render/ModelType.tsx:208 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:145 +#: src/components/render/ModelType.tsx:215 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:156 msgid "Report Templates" msgstr "Report Templates" -#: src/components/render/ModelType.tsx:214 +#: src/components/render/ModelType.tsx:221 msgid "Plugin Configuration" msgstr "Plugin Configuration" -#: src/components/render/ModelType.tsx:215 +#: src/components/render/ModelType.tsx:222 msgid "Plugin Configurations" msgstr "Plugin Configurations" @@ -1453,7 +1596,7 @@ msgstr "Shipment" #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 #: src/pages/Index/Settings/SystemSettings.tsx:210 -#: src/pages/part/PartDetail.tsx:492 +#: src/pages/part/PartDetail.tsx:503 #: src/pages/stock/LocationDetail.tsx:347 #: src/pages/stock/StockDetail.tsx:356 #: src/tables/stock/StockItemTable.tsx:57 @@ -1636,10 +1779,6 @@ msgstr "No settings specified" #~ msgid "Comment" #~ msgstr "Comment" -#: src/components/tables/general/AttachmentTable.tsx:56 -#~ msgid "Uploaded" -#~ msgstr "Uploaded" - #: src/components/tables/part/PartCategoryTable.tsx:122 #~ msgid "Part category updated" #~ msgstr "Part category updated" @@ -2152,7 +2291,7 @@ msgid "Recently Updated" msgstr "Recently Updated" #: src/defaults/dashboardItems.tsx:50 -#: src/tables/part/PartTable.tsx:216 +#: src/tables/part/PartTable.tsx:223 msgid "Low Stock" msgstr "Low Stock" @@ -2461,7 +2600,7 @@ msgstr "Build outputs have been cancelled" #~ msgid "Company updated" #~ msgstr "Company updated" -#: src/forms/PartForms.tsx:100 +#: src/forms/PartForms.tsx:103 msgid "Parent part category" msgstr "Parent part category" @@ -2529,7 +2668,7 @@ msgstr "Remove item from list" #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 #: src/pages/stock/StockDetail.tsx:173 -#: src/tables/ColumnRenderers.tsx:34 +#: src/tables/ColumnRenderers.tsx:49 #: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" msgstr "Location" @@ -2580,8 +2719,8 @@ msgstr "Enter serial numbers for new stock (or leave blank)" #: src/forms/StockForms.tsx:176 #: src/pages/stock/StockDetail.tsx:379 -#: src/tables/stock/StockItemTable.tsx:382 -#: src/tables/stock/StockItemTable.tsx:499 +#: src/tables/stock/StockItemTable.tsx:404 +#: src/tables/stock/StockItemTable.tsx:521 msgid "Add Stock Item" msgstr "Add Stock Item" @@ -2601,9 +2740,9 @@ msgstr "Move to default location" #: src/forms/StockForms.tsx:606 #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 -#: src/pages/part/PartDetail.tsx:202 -#: src/pages/part/PartDetail.tsx:655 -#: src/tables/stock/StockItemTable.tsx:290 +#: src/pages/part/PartDetail.tsx:203 +#: src/pages/part/PartDetail.tsx:668 +#: src/tables/stock/StockItemTable.tsx:312 msgid "In Stock" msgstr "In Stock" @@ -2644,12 +2783,12 @@ msgid "Remove Stock" msgstr "Remove Stock" #: src/forms/StockForms.tsx:803 -#: src/pages/part/PartDetail.tsx:782 +#: src/pages/part/PartDetail.tsx:823 msgid "Transfer Stock" msgstr "Transfer Stock" #: src/forms/StockForms.tsx:812 -#: src/pages/part/PartDetail.tsx:771 +#: src/pages/part/PartDetail.tsx:812 msgid "Count Stock" msgstr "Count Stock" @@ -3274,53 +3413,57 @@ msgstr "Loader" #~ msgid "Advanced Amininistrative Options for InvenTree" #~ msgstr "Advanced Amininistrative Options for InvenTree" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:91 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:96 +msgid "Data Import" +msgstr "Data Import" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:102 msgid "Background Tasks" msgstr "Background Tasks" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:97 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:108 msgid "Error Reports" msgstr "Error Reports" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:103 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:114 msgid "Currencies" msgstr "Currencies" -#: 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:132 msgid "Custom Units" msgstr "Custom Units" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:138 #: src/pages/part/CategoryDetail.tsx:257 msgid "Part Parameters" msgstr "Part Parameters" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 -#~ msgid "Templates" -#~ msgstr "Templates" - -#: src/pages/Index/Settings/AdminCenter/Index.tsx:133 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:144 msgid "Category Parameters" msgstr "Category Parameters" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:151 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:162 msgid "Location types" msgstr "Location types" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:163 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:174 #: src/tables/machine/MachineTypeTable.tsx:287 msgid "Machines" msgstr "Machines" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:173 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:184 msgid "Quick Actions" msgstr "Quick Actions" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:178 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:189 msgid "Add a new user" msgstr "Add a new user" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:199 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:210 msgid "Advanced Options" msgstr "Advanced Options" @@ -3472,7 +3615,7 @@ msgid "Reporting" msgstr "Reporting" #: src/pages/Index/Settings/SystemSettings.tsx:235 -#: src/pages/part/PartDetail.tsx:593 +#: src/pages/part/PartDetail.tsx:606 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "Stocktake" @@ -3480,12 +3623,12 @@ msgstr "Stocktake" #: src/pages/Index/Settings/SystemSettings.tsx:241 #: src/pages/build/BuildDetail.tsx:423 #: src/pages/build/BuildIndex.tsx:14 -#: src/pages/part/PartDetail.tsx:527 +#: src/pages/part/PartDetail.tsx:540 #: src/pages/sales/SalesOrderDetail.tsx:270 msgid "Build Orders" msgstr "Build Orders" -#: src/pages/Index/Settings/SystemSettings.tsx:316 +#: src/pages/Index/Settings/SystemSettings.tsx:317 msgid "Switch to User Setting" msgstr "Switch to User Setting" @@ -3550,7 +3693,8 @@ msgstr "Mark as unread" #: 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/settings/ImportSessionTable.tsx:116 +#: src/tables/stock/StockItemTable.tsx:281 #: src/tables/stock/StockTrackingTable.tsx:52 msgid "Status" msgstr "Status" @@ -3559,7 +3703,7 @@ msgstr "Status" #: src/pages/purchasing/PurchaseOrderDetail.tsx:104 #: src/pages/sales/ReturnOrderDetail.tsx:73 #: src/pages/sales/SalesOrderDetail.tsx:77 -#: src/tables/ColumnRenderers.tsx:106 +#: src/tables/ColumnRenderers.tsx:121 #: src/tables/build/BuildLineTable.tsx:140 msgid "Reference" msgstr "Reference" @@ -3569,12 +3713,12 @@ msgstr "Reference" #: src/pages/company/ManufacturerPartDetail.tsx:78 #: src/pages/company/SupplierPartDetail.tsx:85 #: src/pages/part/CategoryDetail.tsx:94 -#: src/pages/part/PartDetail.tsx:129 +#: src/pages/part/PartDetail.tsx:130 #: src/pages/purchasing/PurchaseOrderDetail.tsx:125 #: src/pages/sales/ReturnOrderDetail.tsx:93 #: src/pages/sales/SalesOrderDetail.tsx:97 #: src/pages/stock/LocationDetail.tsx:101 -#: src/tables/ColumnRenderers.tsx:66 +#: src/tables/ColumnRenderers.tsx:81 #: src/tables/machine/MachineTypeTable.tsx:69 #: src/tables/machine/MachineTypeTable.tsx:112 #: src/tables/machine/MachineTypeTable.tsx:219 @@ -3605,7 +3749,7 @@ msgid "Issued By" msgstr "Issued By" #: src/pages/build/BuildDetail.tsx:152 -#: src/pages/part/PartDetail.tsx:317 +#: src/pages/part/PartDetail.tsx:323 #: src/pages/purchasing/PurchaseOrderDetail.tsx:217 #: src/pages/sales/ReturnOrderDetail.tsx:186 #: src/pages/sales/SalesOrderDetail.tsx:190 @@ -3625,7 +3769,7 @@ msgstr "Created" #: src/pages/purchasing/PurchaseOrderDetail.tsx:210 #: src/pages/sales/ReturnOrderDetail.tsx:179 #: src/pages/sales/SalesOrderDetail.tsx:183 -#: src/tables/ColumnRenderers.tsx:191 +#: src/tables/ColumnRenderers.tsx:206 msgid "Target Date" msgstr "Target Date" @@ -3706,7 +3850,7 @@ msgstr "Child Build Orders" #: src/pages/build/BuildDetail.tsx:297 #: src/pages/company/CompanyDetail.tsx:257 #: src/pages/company/ManufacturerPartDetail.tsx:174 -#: src/pages/part/PartDetail.tsx:616 +#: src/pages/part/PartDetail.tsx:629 #: src/pages/purchasing/PurchaseOrderDetail.tsx:279 #: src/pages/sales/ReturnOrderDetail.tsx:230 #: src/pages/sales/SalesOrderDetail.tsx:280 @@ -3716,7 +3860,7 @@ msgstr "Attachments" #: src/pages/build/BuildDetail.tsx:305 #: src/pages/company/CompanyDetail.tsx:268 -#: src/pages/part/PartDetail.tsx:624 +#: src/pages/part/PartDetail.tsx:637 #: src/pages/purchasing/PurchaseOrderDetail.tsx:290 #: src/pages/sales/ReturnOrderDetail.tsx:241 #: src/pages/sales/SalesOrderDetail.tsx:291 @@ -3872,12 +4016,12 @@ msgid "Manufacturer Part Details" msgstr "Manufacturer Part Details" #: src/pages/company/ManufacturerPartDetail.tsx:148 -#: src/pages/part/PartDetail.tsx:486 +#: src/pages/part/PartDetail.tsx:492 msgid "Parameters" msgstr "Parameters" #: src/pages/company/ManufacturerPartDetail.tsx:160 -#: src/pages/part/PartDetail.tsx:560 +#: src/pages/part/PartDetail.tsx:573 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" msgstr "Suppliers" @@ -3902,7 +4046,7 @@ msgid "ManufacturerPart" msgstr "ManufacturerPart" #: src/pages/company/SupplierPartDetail.tsx:99 -#: src/tables/ColumnRenderers.tsx:117 +#: src/tables/ColumnRenderers.tsx:132 msgid "Note" msgstr "Note" @@ -4038,275 +4182,275 @@ msgstr "Category Actions" msgid "Category Details" msgstr "Category Details" -#: src/pages/part/PartDetail.tsx:135 +#: src/pages/part/PartDetail.tsx:136 msgid "Variant of" msgstr "Variant of" -#: src/pages/part/PartDetail.tsx:142 +#: src/pages/part/PartDetail.tsx:143 #: src/tables/notifications/NotificationsTable.tsx:31 #: src/tables/part/PartCategoryTemplateTable.tsx:67 msgid "Category" msgstr "Category" -#: src/pages/part/PartDetail.tsx:148 +#: src/pages/part/PartDetail.tsx:149 msgid "Default Location" msgstr "Default Location" -#: src/pages/part/PartDetail.tsx:155 +#: src/pages/part/PartDetail.tsx:156 msgid "Category Default Location" msgstr "Category Default Location" -#: src/pages/part/PartDetail.tsx:162 +#: src/pages/part/PartDetail.tsx:163 msgid "IPN" msgstr "IPN" -#: src/pages/part/PartDetail.tsx:169 +#: src/pages/part/PartDetail.tsx:170 msgid "Revision" msgstr "Revision" -#: src/pages/part/PartDetail.tsx:176 +#: src/pages/part/PartDetail.tsx:177 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" msgstr "Units" -#: src/pages/part/PartDetail.tsx:183 +#: src/pages/part/PartDetail.tsx:184 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" msgstr "Keywords" -#: src/pages/part/PartDetail.tsx:190 +#: src/pages/part/PartDetail.tsx:191 #: src/pages/purchasing/PurchaseOrderDetail.tsx:183 #: src/pages/sales/ReturnOrderDetail.tsx:152 #: src/pages/sales/SalesOrderDetail.tsx:156 msgid "Link" msgstr "Link" -#: src/pages/part/PartDetail.tsx:208 -#: src/tables/bom/BomTable.tsx:276 +#: src/pages/part/PartDetail.tsx:209 +#: src/tables/bom/BomTable.tsx:279 #: src/tables/build/BuildLineTable.tsx:121 -#: src/tables/part/PartTable.tsx:256 +#: src/tables/part/PartTable.tsx:263 msgid "Available Stock" msgstr "Available Stock" -#: src/pages/part/PartDetail.tsx:215 +#: src/pages/part/PartDetail.tsx:216 msgid "Minimum Stock" msgstr "Minimum Stock" -#: src/pages/part/PartDetail.tsx:221 -#: src/tables/bom/BomTable.tsx:217 +#: src/pages/part/PartDetail.tsx:222 +#: src/tables/bom/BomTable.tsx:220 #: src/tables/build/BuildLineTable.tsx:95 msgid "On order" msgstr "On order" -#: src/pages/part/PartDetail.tsx:230 +#: src/pages/part/PartDetail.tsx:231 msgid "Allocated to Build Orders" msgstr "Allocated to Build Orders" -#: src/pages/part/PartDetail.tsx:238 +#: src/pages/part/PartDetail.tsx:239 msgid "Allocated to Sales Orders" msgstr "Allocated to Sales Orders" -#: src/pages/part/PartDetail.tsx:245 -#: src/tables/bom/BomTable.tsx:241 +#: src/pages/part/PartDetail.tsx:246 +#: src/tables/bom/BomTable.tsx:244 msgid "Can Build" msgstr "Can Build" -#: src/pages/part/PartDetail.tsx:252 -#: src/tables/bom/BomTable.tsx:225 -#: src/tables/part/PartTable.tsx:82 +#: src/pages/part/PartDetail.tsx:253 +#: src/tables/bom/BomTable.tsx:228 +#: src/tables/part/PartTable.tsx:83 msgid "Building" msgstr "Building" -#: src/pages/part/PartDetail.tsx:261 +#: src/pages/part/PartDetail.tsx:262 #: src/tables/bom/UsedInTable.tsx:73 #: src/tables/build/BuildOrderTable.tsx:108 #: src/tables/company/CompanyTable.tsx:61 #: src/tables/company/CompanyTable.tsx:95 #: src/tables/machine/MachineListTable.tsx:323 #: src/tables/machine/MachineListTable.tsx:585 -#: src/tables/part/PartTable.tsx:168 +#: src/tables/part/PartTable.tsx:169 #: src/tables/part/PartVariantTable.tsx:15 #: 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 +#: src/tables/stock/StockItemTable.tsx:276 msgid "Active" msgstr "Active" -#: src/pages/part/PartDetail.tsx:266 +#: src/pages/part/PartDetail.tsx:272 msgid "Template Part" msgstr "Template Part" -#: src/pages/part/PartDetail.tsx:271 -#: src/tables/bom/BomTable.tsx:271 +#: src/pages/part/PartDetail.tsx:277 +#: src/tables/bom/BomTable.tsx:274 msgid "Assembled Part" msgstr "Assembled Part" -#: src/pages/part/PartDetail.tsx:276 +#: src/pages/part/PartDetail.tsx:282 msgid "Component Part" msgstr "Component Part" -#: src/pages/part/PartDetail.tsx:281 -#: src/tables/bom/BomTable.tsx:266 +#: src/pages/part/PartDetail.tsx:287 +#: src/tables/bom/BomTable.tsx:269 msgid "Trackable Part" msgstr "Trackable Part" -#: src/pages/part/PartDetail.tsx:286 +#: src/pages/part/PartDetail.tsx:292 msgid "Purchaseable Part" msgstr "Purchaseable Part" -#: src/pages/part/PartDetail.tsx:291 +#: src/pages/part/PartDetail.tsx:297 msgid "Saleable Part" msgstr "Saleable Part" -#: src/pages/part/PartDetail.tsx:296 +#: src/pages/part/PartDetail.tsx:302 msgid "Virtual Part" msgstr "Virtual Part" -#: src/pages/part/PartDetail.tsx:304 -#: src/tables/ColumnRenderers.tsx:199 +#: src/pages/part/PartDetail.tsx:310 +#: src/tables/ColumnRenderers.tsx:214 msgid "Creation Date" msgstr "Creation Date" -#: src/pages/part/PartDetail.tsx:309 -msgid "Created By" -msgstr "Created By" - #: src/pages/part/PartDetail.tsx:310 #~ msgid "Edit part" #~ msgstr "Edit part" +#: src/pages/part/PartDetail.tsx:315 +msgid "Created By" +msgstr "Created By" + #: src/pages/part/PartDetail.tsx:322 #~ msgid "Duplicate part" #~ msgstr "Duplicate part" -#: src/pages/part/PartDetail.tsx:324 -msgid "Default Supplier" -msgstr "Default Supplier" - #: src/pages/part/PartDetail.tsx:327 #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:335 +#: src/pages/part/PartDetail.tsx:330 +msgid "Default Supplier" +msgstr "Default Supplier" + +#: src/pages/part/PartDetail.tsx:341 #: src/pages/part/pricing/BomPricingPanel.tsx:78 #: src/pages/part/pricing/VariantPricingPanel.tsx:95 -#: src/tables/part/PartTable.tsx:151 +#: src/tables/part/PartTable.tsx:152 msgid "Price Range" msgstr "Price Range" -#: src/pages/part/PartDetail.tsx:374 +#: src/pages/part/PartDetail.tsx:380 #: src/pages/stock/StockDetail.tsx:133 msgid "Last Stocktake" msgstr "Last Stocktake" -#: src/pages/part/PartDetail.tsx:409 +#: src/pages/part/PartDetail.tsx:415 msgid "Stocktake By" msgstr "Stocktake By" -#: src/pages/part/PartDetail.tsx:480 +#: src/pages/part/PartDetail.tsx:486 msgid "Part Details" msgstr "Part Details" -#: src/pages/part/PartDetail.tsx:506 +#: src/pages/part/PartDetail.tsx:517 msgid "Variants" msgstr "Variants" -#: src/pages/part/PartDetail.tsx:513 +#: src/pages/part/PartDetail.tsx:524 #: src/pages/stock/StockDetail.tsx:286 msgid "Allocations" msgstr "Allocations" -#: src/pages/part/PartDetail.tsx:520 +#: src/pages/part/PartDetail.tsx:531 msgid "Bill of Materials" msgstr "Bill of Materials" -#: src/pages/part/PartDetail.tsx:534 +#: src/pages/part/PartDetail.tsx:547 msgid "Used In" msgstr "Used In" -#: src/pages/part/PartDetail.tsx:541 +#: src/pages/part/PartDetail.tsx:554 msgid "Part Pricing" msgstr "Part Pricing" -#: src/pages/part/PartDetail.tsx:547 +#: src/pages/part/PartDetail.tsx:560 #: src/pages/purchasing/PurchasingIndex.tsx:37 msgid "Manufacturers" msgstr "Manufacturers" -#: src/pages/part/PartDetail.tsx:587 +#: src/pages/part/PartDetail.tsx:600 msgid "Scheduling" msgstr "Scheduling" -#: src/pages/part/PartDetail.tsx:599 +#: src/pages/part/PartDetail.tsx:612 msgid "Test Templates" msgstr "Test Templates" -#: src/pages/part/PartDetail.tsx:610 +#: src/pages/part/PartDetail.tsx:623 msgid "Related Parts" msgstr "Related Parts" -#: src/pages/part/PartDetail.tsx:661 +#: src/pages/part/PartDetail.tsx:674 #: src/pages/stock/StockDetail.tsx:154 #: src/pages/stock/StockDetail.tsx:533 #: src/tables/build/BuildLineTable.tsx:36 -#: src/tables/part/PartTable.tsx:107 +#: src/tables/part/PartTable.tsx:108 #: src/tables/stock/StockItemTable.tsx:166 -#: src/tables/stock/StockItemTable.tsx:275 +#: src/tables/stock/StockItemTable.tsx:297 msgid "Available" msgstr "Available" -#: src/pages/part/PartDetail.tsx:667 +#: src/pages/part/PartDetail.tsx:680 msgid "No Stock" msgstr "No Stock" -#: src/pages/part/PartDetail.tsx:673 -#: src/tables/bom/BomTable.tsx:281 -#: src/tables/part/PartTable.tsx:76 +#: src/pages/part/PartDetail.tsx:686 +#: src/tables/bom/BomTable.tsx:284 +#: src/tables/part/PartTable.tsx:77 msgid "On Order" msgstr "On Order" -#: src/pages/part/PartDetail.tsx:679 +#: src/pages/part/PartDetail.tsx:692 #: src/pages/stock/StockDetail.tsx:516 -#: src/tables/stock/StockItemTable.tsx:295 +#: src/tables/stock/StockItemTable.tsx:317 msgid "In Production" msgstr "In Production" -#: src/pages/part/PartDetail.tsx:698 +#: src/pages/part/PartDetail.tsx:717 msgid "Edit Part" msgstr "Edit Part" -#: src/pages/part/PartDetail.tsx:705 -#: src/tables/part/PartTable.tsx:289 -#: src/tables/part/PartTable.tsx:302 +#: src/pages/part/PartDetail.tsx:744 +#: src/tables/part/PartTable.tsx:296 +#: src/tables/part/PartTable.tsx:309 msgid "Add Part" msgstr "Add Part" -#: src/pages/part/PartDetail.tsx:717 +#: src/pages/part/PartDetail.tsx:758 msgid "Delete Part" msgstr "Delete Part" -#: src/pages/part/PartDetail.tsx:726 +#: src/pages/part/PartDetail.tsx:767 msgid "Deleting this part cannot be reversed" msgstr "Deleting this part cannot be reversed" -#: src/pages/part/PartDetail.tsx:764 +#: src/pages/part/PartDetail.tsx:805 #: src/pages/stock/LocationDetail.tsx:304 -#: src/tables/stock/StockItemTable.tsx:409 +#: src/tables/stock/StockItemTable.tsx:431 msgid "Stock Actions" msgstr "Stock Actions" -#: src/pages/part/PartDetail.tsx:772 +#: src/pages/part/PartDetail.tsx:813 msgid "Count part stock" msgstr "Count part stock" -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:824 msgid "Transfer part stock" msgstr "Transfer part stock" -#: src/pages/part/PartDetail.tsx:792 +#: src/pages/part/PartDetail.tsx:833 msgid "Part Actions" msgstr "Part Actions" @@ -4354,8 +4498,8 @@ msgstr "Sale History" #: src/pages/part/pricing/BomPricingPanel.tsx:57 #: src/pages/part/pricing/BomPricingPanel.tsx:137 -#: src/tables/ColumnRenderers.tsx:241 -#: src/tables/bom/BomTable.tsx:165 +#: src/tables/ColumnRenderers.tsx:256 +#: src/tables/bom/BomTable.tsx:168 #: src/tables/purchasing/PurchaseOrderTable.tsx:112 #: src/tables/sales/ReturnOrderTable.tsx:104 #: src/tables/sales/SalesOrderTable.tsx:134 @@ -4364,7 +4508,7 @@ msgstr "Total Price" #: src/pages/part/pricing/BomPricingPanel.tsx:77 #: src/pages/part/pricing/BomPricingPanel.tsx:101 -#: src/tables/part/PartTable.tsx:186 +#: src/tables/part/PartTable.tsx:193 msgid "Component" msgstr "Component" @@ -4393,7 +4537,7 @@ msgstr "Maximum Price" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:67 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:128 #: src/pages/part/pricing/SupplierPricingPanel.tsx:62 -#: src/tables/bom/BomTable.tsx:156 +#: src/tables/bom/BomTable.tsx:159 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 msgid "Unit Price" @@ -4493,7 +4637,7 @@ msgstr "Loading pricing data" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:40 #: src/pages/part/pricing/SaleHistoryPanel.tsx:36 -#: src/tables/ColumnRenderers.tsx:180 +#: src/tables/ColumnRenderers.tsx:195 #: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "Date" @@ -4766,12 +4910,12 @@ msgid "Count stock" msgstr "Count stock" #: src/pages/stock/StockDetail.tsx:459 -#: src/tables/stock/StockItemTable.tsx:414 +#: src/tables/stock/StockItemTable.tsx:436 msgid "Add stock" msgstr "Add stock" #: src/pages/stock/StockDetail.tsx:467 -#: src/tables/stock/StockItemTable.tsx:423 +#: src/tables/stock/StockItemTable.tsx:445 msgid "Remove stock" msgstr "Remove stock" @@ -4780,7 +4924,7 @@ msgid "Transfer" msgstr "Transfer" #: src/pages/stock/StockDetail.tsx:475 -#: src/tables/stock/StockItemTable.tsx:443 +#: src/tables/stock/StockItemTable.tsx:465 msgid "Transfer stock" msgstr "Transfer stock" @@ -4788,15 +4932,15 @@ msgstr "Transfer stock" msgid "Stock Item Actions" msgstr "Stock Item Actions" -#: src/tables/ColumnRenderers.tsx:42 +#: src/tables/ColumnRenderers.tsx:57 msgid "No location set" msgstr "No location set" -#: src/tables/ColumnRenderers.tsx:207 +#: src/tables/ColumnRenderers.tsx:222 msgid "Shipment Date" msgstr "Shipment Date" -#: src/tables/ColumnRenderers.tsx:227 +#: src/tables/ColumnRenderers.tsx:242 #: src/tables/settings/CurrencyTable.tsx:23 msgid "Currency" msgstr "Currency" @@ -4823,14 +4967,14 @@ msgid "TSV" msgstr "TSV" #: src/tables/DownloadAction.tsx:24 -msgid "Excel (.xls)" -msgstr "Excel (.xls)" - -#: src/tables/DownloadAction.tsx:25 msgid "Excel (.xlsx)" msgstr "Excel (.xlsx)" -#: src/tables/DownloadAction.tsx:39 +#: src/tables/DownloadAction.tsx:24 +#~ msgid "Excel (.xls)" +#~ msgstr "Excel (.xls)" + +#: src/tables/DownloadAction.tsx:38 msgid "Download Data" msgstr "Download Data" @@ -4895,54 +5039,54 @@ msgstr "Add Filter" msgid "Clear Filters" msgstr "Clear Filters" -#: src/tables/InvenTreeTable.tsx:119 -#: src/tables/InvenTreeTable.tsx:390 -#: src/tables/InvenTreeTable.tsx:411 +#: src/tables/InvenTreeTable.tsx:126 +#: src/tables/InvenTreeTable.tsx:409 +#: src/tables/InvenTreeTable.tsx:430 msgid "No records found" msgstr "No records found" -#: src/tables/InvenTreeTable.tsx:422 +#: src/tables/InvenTreeTable.tsx:441 msgid "Server returned incorrect data type" msgstr "Server returned incorrect data type" -#: src/tables/InvenTreeTable.tsx:430 +#: src/tables/InvenTreeTable.tsx:449 msgid "Bad request" msgstr "Bad request" -#: src/tables/InvenTreeTable.tsx:433 +#: src/tables/InvenTreeTable.tsx:452 msgid "Unauthorized" msgstr "Unauthorized" -#: src/tables/InvenTreeTable.tsx:436 +#: src/tables/InvenTreeTable.tsx:455 msgid "Forbidden" msgstr "Forbidden" -#: src/tables/InvenTreeTable.tsx:439 +#: src/tables/InvenTreeTable.tsx:458 msgid "Not found" msgstr "Not found" -#: src/tables/InvenTreeTable.tsx:488 -#: src/tables/InvenTreeTable.tsx:606 +#: src/tables/InvenTreeTable.tsx:507 +#: src/tables/InvenTreeTable.tsx:623 msgid "Delete selected records" msgstr "Delete selected records" -#: src/tables/InvenTreeTable.tsx:492 +#: src/tables/InvenTreeTable.tsx:511 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:494 +#: src/tables/InvenTreeTable.tsx:513 msgid "This action cannot be undone!" msgstr "This action cannot be undone!" -#: src/tables/InvenTreeTable.tsx:517 +#: src/tables/InvenTreeTable.tsx:536 msgid "Deleted records" msgstr "Deleted records" -#: src/tables/InvenTreeTable.tsx:518 +#: src/tables/InvenTreeTable.tsx:537 msgid "Records were deleted successfully" msgstr "Records were deleted successfully" -#: src/tables/InvenTreeTable.tsx:527 +#: src/tables/InvenTreeTable.tsx:546 msgid "Failed to delete records" msgstr "Failed to delete records" @@ -4951,140 +5095,144 @@ msgstr "Failed to delete records" #~ msgid "Print actions" #~ msgstr "Print actions" -#: src/tables/InvenTreeTable.tsx:596 -#: src/tables/InvenTreeTable.tsx:597 +#: src/tables/InvenTreeTable.tsx:613 +#: src/tables/InvenTreeTable.tsx:614 msgid "Barcode actions" msgstr "Barcode actions" -#: src/tables/InvenTreeTable.tsx:625 +#: src/tables/InvenTreeTable.tsx:642 msgid "Refresh data" msgstr "Refresh data" -#: src/tables/InvenTreeTable.tsx:646 +#: src/tables/InvenTreeTable.tsx:663 msgid "Table filters" msgstr "Table filters" -#: src/tables/bom/BomTable.tsx:80 +#: src/tables/UploadAction.tsx:9 +msgid "Upload Data" +msgstr "Upload Data" + +#: src/tables/bom/BomTable.tsx:83 msgid "This BOM item is defined for a different parent" msgstr "This BOM item is defined for a different parent" -#: src/tables/bom/BomTable.tsx:95 +#: src/tables/bom/BomTable.tsx:98 msgid "Part Information" msgstr "Part Information" -#: src/tables/bom/BomTable.tsx:184 -#: src/tables/part/PartTable.tsx:124 +#: src/tables/bom/BomTable.tsx:187 +#: src/tables/part/PartTable.tsx:125 msgid "No stock" msgstr "No stock" -#: src/tables/bom/BomTable.tsx:192 +#: src/tables/bom/BomTable.tsx:195 #: src/tables/build/BuildLineTable.tsx:104 -#: src/tables/part/PartTable.tsx:115 +#: src/tables/part/PartTable.tsx:116 msgid "External stock" msgstr "External stock" -#: src/tables/bom/BomTable.tsx:200 +#: src/tables/bom/BomTable.tsx:203 #: src/tables/build/BuildLineTable.tsx:67 msgid "Includes substitute stock" msgstr "Includes substitute stock" -#: src/tables/bom/BomTable.tsx:209 +#: src/tables/bom/BomTable.tsx:212 #: src/tables/build/BuildLineTable.tsx:77 msgid "Includes variant stock" msgstr "Includes variant stock" -#: src/tables/bom/BomTable.tsx:234 -#: src/tables/part/PartTable.tsx:143 +#: src/tables/bom/BomTable.tsx:237 +#: src/tables/part/PartTable.tsx:144 #: src/tables/stock/StockItemTable.tsx:205 msgid "Stock Information" msgstr "Stock Information" -#: src/tables/bom/BomTable.tsx:246 +#: src/tables/bom/BomTable.tsx:249 #: src/tables/build/BuildLineTable.tsx:195 msgid "Consumable item" msgstr "Consumable item" -#: src/tables/bom/BomTable.tsx:267 +#: src/tables/bom/BomTable.tsx:270 msgid "Show trackable items" msgstr "Show trackable items" -#: src/tables/bom/BomTable.tsx:272 +#: src/tables/bom/BomTable.tsx:275 msgid "Show asssmbled items" msgstr "Show asssmbled items" -#: src/tables/bom/BomTable.tsx:277 +#: src/tables/bom/BomTable.tsx:280 msgid "Show items with available stock" msgstr "Show items with available stock" -#: src/tables/bom/BomTable.tsx:282 +#: src/tables/bom/BomTable.tsx:285 msgid "Show items on order" msgstr "Show items on order" -#: src/tables/bom/BomTable.tsx:286 +#: src/tables/bom/BomTable.tsx:289 msgid "Validated" msgstr "Validated" -#: src/tables/bom/BomTable.tsx:287 +#: src/tables/bom/BomTable.tsx:290 msgid "Show validated items" msgstr "Show validated items" -#: src/tables/bom/BomTable.tsx:291 +#: src/tables/bom/BomTable.tsx:294 #: src/tables/bom/UsedInTable.tsx:63 msgid "Inherited" msgstr "Inherited" -#: src/tables/bom/BomTable.tsx:292 +#: src/tables/bom/BomTable.tsx:295 #: src/tables/bom/UsedInTable.tsx:64 msgid "Show inherited items" msgstr "Show inherited items" -#: src/tables/bom/BomTable.tsx:296 +#: src/tables/bom/BomTable.tsx:299 msgid "Allow Variants" msgstr "Allow Variants" -#: src/tables/bom/BomTable.tsx:297 +#: src/tables/bom/BomTable.tsx:300 msgid "Show items which allow variant substitution" msgstr "Show items which allow variant substitution" #: src/tables/bom/BomTable.tsx:301 +#~ msgid "Create BOM Item" +#~ msgstr "Create BOM Item" + +#: src/tables/bom/BomTable.tsx:304 #: src/tables/bom/UsedInTable.tsx:68 #: src/tables/build/BuildLineTable.tsx:46 msgid "Optional" msgstr "Optional" -#: src/tables/bom/BomTable.tsx:301 -#~ msgid "Create BOM Item" -#~ msgstr "Create BOM Item" - -#: src/tables/bom/BomTable.tsx:302 +#: src/tables/bom/BomTable.tsx:305 #: src/tables/bom/UsedInTable.tsx:69 msgid "Show optional items" msgstr "Show optional items" -#: src/tables/bom/BomTable.tsx:306 +#: src/tables/bom/BomTable.tsx:309 #: src/tables/build/BuildLineTable.tsx:41 msgid "Consumable" msgstr "Consumable" -#: src/tables/bom/BomTable.tsx:307 +#: src/tables/bom/BomTable.tsx:310 msgid "Show consumable items" msgstr "Show consumable items" -#: src/tables/bom/BomTable.tsx:311 -#: src/tables/part/PartTable.tsx:250 +#: src/tables/bom/BomTable.tsx:314 +#: src/tables/part/PartTable.tsx:257 msgid "Has Pricing" msgstr "Has Pricing" -#: src/tables/bom/BomTable.tsx:312 +#: src/tables/bom/BomTable.tsx:315 msgid "Show items with pricing" msgstr "Show items with pricing" -#: src/tables/bom/BomTable.tsx:321 -#: src/tables/bom/BomTable.tsx:420 +#: src/tables/bom/BomTable.tsx:324 +#: src/tables/bom/BomTable.tsx:426 msgid "Add BOM Item" msgstr "Add BOM Item" -#: src/tables/bom/BomTable.tsx:326 +#: src/tables/bom/BomTable.tsx:329 msgid "BOM item created" msgstr "BOM item created" @@ -5092,23 +5240,23 @@ msgstr "BOM item created" #~ msgid "Edit Bom Item" #~ msgstr "Edit Bom Item" -#: src/tables/bom/BomTable.tsx:333 -msgid "Edit BOM Item" -msgstr "Edit BOM Item" - #: src/tables/bom/BomTable.tsx:333 #~ msgid "Bom item updated" #~ msgstr "Bom item updated" -#: src/tables/bom/BomTable.tsx:335 +#: src/tables/bom/BomTable.tsx:336 +msgid "Edit BOM Item" +msgstr "Edit BOM Item" + +#: src/tables/bom/BomTable.tsx:338 msgid "BOM item updated" msgstr "BOM item updated" -#: src/tables/bom/BomTable.tsx:342 +#: src/tables/bom/BomTable.tsx:345 msgid "Delete BOM Item" msgstr "Delete BOM Item" -#: src/tables/bom/BomTable.tsx:343 +#: src/tables/bom/BomTable.tsx:346 msgid "BOM item deleted" msgstr "BOM item deleted" @@ -5128,32 +5276,41 @@ msgstr "BOM item deleted" #~ msgid "Validate BOM line" #~ msgstr "Validate BOM line" -#: src/tables/bom/BomTable.tsx:355 +#: src/tables/bom/BomTable.tsx:358 msgid "BOM item validated" msgstr "BOM item validated" -#: src/tables/bom/BomTable.tsx:364 +#: src/tables/bom/BomTable.tsx:367 msgid "Failed to validate BOM item" msgstr "Failed to validate BOM item" -#: src/tables/bom/BomTable.tsx:376 +#: src/tables/bom/BomTable.tsx:379 msgid "View BOM" msgstr "View BOM" -#: src/tables/bom/BomTable.tsx:385 +#: src/tables/bom/BomTable.tsx:388 msgid "Validate BOM Line" msgstr "Validate BOM Line" -#: src/tables/bom/BomTable.tsx:399 +#: src/tables/bom/BomTable.tsx:405 msgid "Edit Substitutes" msgstr "Edit Substitutes" +#: src/tables/bom/BomTable.tsx:440 +#: src/tables/part/PartParameterTable.tsx:191 +msgid "Part is Locked" +msgstr "Part is Locked" + +#: src/tables/bom/BomTable.tsx:445 +msgid "Bill of materials cannot be edited, as the part is locked" +msgstr "Bill of materials cannot be edited, as the part is locked" + #: src/tables/bom/UsedInTable.tsx:74 msgid "Show active assemblies" msgstr "Show active assemblies" #: src/tables/bom/UsedInTable.tsx:78 -#: src/tables/part/PartTable.tsx:192 +#: src/tables/part/PartTable.tsx:199 #: src/tables/part/PartVariantTable.tsx:30 msgid "Trackable" msgstr "Trackable" @@ -5163,7 +5320,7 @@ msgid "Show trackable assemblies" msgstr "Show trackable assemblies" #: src/tables/build/BuildLineTable.tsx:31 -#: src/tables/stock/StockItemTable.tsx:270 +#: src/tables/stock/StockItemTable.tsx:292 msgid "Allocated" msgstr "Allocated" @@ -5184,7 +5341,7 @@ msgid "Show optional lines" msgstr "Show optional lines" #: src/tables/build/BuildLineTable.tsx:51 -#: src/tables/stock/StockItemTable.tsx:329 +#: src/tables/stock/StockItemTable.tsx:351 msgid "Tracked" msgstr "Tracked" @@ -5297,10 +5454,6 @@ msgstr "Deallocate" msgid "Deallocate stock from build output" msgstr "Deallocate stock from build output" -#: src/tables/build/BuildOutputTable.tsx:205 -msgid "Complete" -msgstr "Complete" - #: src/tables/build/BuildOutputTable.tsx:206 msgid "Complete build output" msgstr "Complete build output" @@ -5630,7 +5783,7 @@ msgid "Message" msgstr "Message" #: src/tables/part/ParametricPartTable.tsx:76 -#: src/tables/part/PartParameterTable.tsx:88 +#: src/tables/part/PartParameterTable.tsx:95 msgid "Internal Units" msgstr "Internal Units" @@ -5643,13 +5796,13 @@ msgid "Add Part Parameter" msgstr "Add Part Parameter" #: src/tables/part/ParametricPartTable.tsx:138 -#: src/tables/part/PartParameterTable.tsx:121 -#: src/tables/part/PartParameterTable.tsx:144 +#: src/tables/part/PartParameterTable.tsx:128 +#: src/tables/part/PartParameterTable.tsx:151 msgid "Edit Part Parameter" msgstr "Edit Part Parameter" #: src/tables/part/PartCategoryTable.tsx:60 -#: src/tables/part/PartTable.tsx:180 +#: src/tables/part/PartTable.tsx:187 msgid "Include Subcategories" msgstr "Include Subcategories" @@ -5662,7 +5815,7 @@ msgid "Show structural categories" msgstr "Show structural categories" #: src/tables/part/PartCategoryTable.tsx:70 -#: src/tables/part/PartTable.tsx:262 +#: src/tables/part/PartTable.tsx:269 msgid "Subscribed" msgstr "Subscribed" @@ -5699,21 +5852,25 @@ msgstr "Parameter Template" #~ msgid "[{0}]" #~ msgstr "[{0}]" -#: src/tables/part/PartParameterTable.tsx:105 +#: src/tables/part/PartParameterTable.tsx:112 msgid "New Part Parameter" msgstr "New Part Parameter" -#: src/tables/part/PartParameterTable.tsx:130 -#: src/tables/part/PartParameterTable.tsx:152 +#: src/tables/part/PartParameterTable.tsx:137 +#: src/tables/part/PartParameterTable.tsx:159 msgid "Delete Part Parameter" msgstr "Delete Part Parameter" -#: src/tables/part/PartParameterTable.tsx:170 +#: src/tables/part/PartParameterTable.tsx:177 msgid "Add parameter" msgstr "Add parameter" -#: src/tables/part/PartParameterTable.tsx:191 -#: src/tables/stock/StockItemTable.tsx:300 +#: src/tables/part/PartParameterTable.tsx:196 +msgid "Part parameters cannot be edited, as the part is locked" +msgstr "Part parameters cannot be edited, as the part is locked" + +#: src/tables/part/PartParameterTable.tsx:210 +#: src/tables/stock/StockItemTable.tsx:322 msgid "Include Variants" msgstr "Include Variants" @@ -5734,7 +5891,7 @@ msgid "Show templates with choices" msgstr "Show templates with choices" #: src/tables/part/PartParameterTemplateTable.tsx:41 -#: src/tables/part/PartTable.tsx:198 +#: src/tables/part/PartTable.tsx:205 msgid "Has Units" msgstr "Has Units" @@ -5758,116 +5915,120 @@ msgstr "Delete Parameter Template" msgid "Add parameter template" msgstr "Add parameter template" -#: src/tables/part/PartTable.tsx:67 +#: src/tables/part/PartTable.tsx:68 msgid "Minimum stock" msgstr "Minimum stock" -#: src/tables/part/PartTable.tsx:89 +#: src/tables/part/PartTable.tsx:90 msgid "Build Order Allocations" msgstr "Build Order Allocations" -#: src/tables/part/PartTable.tsx:98 +#: src/tables/part/PartTable.tsx:99 msgid "Sales Order Allocations" msgstr "Sales Order Allocations" -#: src/tables/part/PartTable.tsx:169 +#: src/tables/part/PartTable.tsx:170 msgid "Filter by part active status" msgstr "Filter by part active status" -#: src/tables/part/PartTable.tsx:174 -#: src/tables/stock/StockItemTable.tsx:265 +#: src/tables/part/PartTable.tsx:176 +msgid "Filter by part locked status" +msgstr "Filter by part locked status" + +#: src/tables/part/PartTable.tsx:181 +#: src/tables/stock/StockItemTable.tsx:287 msgid "Assembly" msgstr "Assembly" -#: src/tables/part/PartTable.tsx:175 +#: src/tables/part/PartTable.tsx:182 msgid "Filter by assembly attribute" msgstr "Filter by assembly attribute" -#: src/tables/part/PartTable.tsx:181 +#: src/tables/part/PartTable.tsx:188 msgid "Include parts in subcategories" msgstr "Include parts in subcategories" -#: src/tables/part/PartTable.tsx:187 +#: src/tables/part/PartTable.tsx:194 msgid "Filter by component attribute" msgstr "Filter by component attribute" -#: src/tables/part/PartTable.tsx:193 +#: src/tables/part/PartTable.tsx:200 msgid "Filter by trackable attribute" msgstr "Filter by trackable attribute" -#: src/tables/part/PartTable.tsx:199 +#: src/tables/part/PartTable.tsx:206 msgid "Filter by parts which have units" msgstr "Filter by parts which have units" -#: src/tables/part/PartTable.tsx:204 +#: src/tables/part/PartTable.tsx:211 msgid "Has IPN" msgstr "Has IPN" -#: src/tables/part/PartTable.tsx:205 +#: src/tables/part/PartTable.tsx:212 msgid "Filter by parts which have an internal part number" msgstr "Filter by parts which have an internal part number" -#: src/tables/part/PartTable.tsx:210 +#: src/tables/part/PartTable.tsx:217 msgid "Has Stock" msgstr "Has Stock" -#: src/tables/part/PartTable.tsx:211 +#: src/tables/part/PartTable.tsx:218 msgid "Filter by parts which have stock" msgstr "Filter by parts which have stock" -#: src/tables/part/PartTable.tsx:217 +#: src/tables/part/PartTable.tsx:224 msgid "Filter by parts which have low stock" msgstr "Filter by parts which have low stock" -#: src/tables/part/PartTable.tsx:222 +#: src/tables/part/PartTable.tsx:229 msgid "Purchaseable" msgstr "Purchaseable" -#: src/tables/part/PartTable.tsx:223 +#: src/tables/part/PartTable.tsx:230 msgid "Filter by parts which are purchaseable" msgstr "Filter by parts which are purchaseable" -#: src/tables/part/PartTable.tsx:228 +#: src/tables/part/PartTable.tsx:235 msgid "Salable" msgstr "Salable" -#: src/tables/part/PartTable.tsx:229 +#: src/tables/part/PartTable.tsx:236 msgid "Filter by parts which are salable" msgstr "Filter by parts which are salable" -#: src/tables/part/PartTable.tsx:235 +#: src/tables/part/PartTable.tsx:242 msgid "Filter by parts which are virtual" msgstr "Filter by parts which are virtual" -#: src/tables/part/PartTable.tsx:239 +#: src/tables/part/PartTable.tsx:246 msgid "Not Virtual" msgstr "Not Virtual" -#: src/tables/part/PartTable.tsx:244 +#: src/tables/part/PartTable.tsx:251 msgid "Is Template" msgstr "Is Template" -#: src/tables/part/PartTable.tsx:245 +#: src/tables/part/PartTable.tsx:252 msgid "Filter by parts which are templates" msgstr "Filter by parts which are templates" -#: src/tables/part/PartTable.tsx:251 +#: src/tables/part/PartTable.tsx:258 msgid "Filter by parts which have pricing information" msgstr "Filter by parts which have pricing information" -#: src/tables/part/PartTable.tsx:257 +#: src/tables/part/PartTable.tsx:264 msgid "Filter by parts which have available stock" msgstr "Filter by parts which have available stock" -#: src/tables/part/PartTable.tsx:263 +#: src/tables/part/PartTable.tsx:270 msgid "Filter by parts to which the user is subscribed" msgstr "Filter by parts to which the user is subscribed" -#: src/tables/part/PartTable.tsx:268 +#: src/tables/part/PartTable.tsx:275 msgid "Has Stocktake" msgstr "Has Stocktake" -#: src/tables/part/PartTable.tsx:269 +#: src/tables/part/PartTable.tsx:276 msgid "Filter by parts which have stocktake information" msgstr "Filter by parts which have stocktake information" @@ -6206,7 +6367,7 @@ msgid "Sample" msgstr "Sample" #: src/tables/plugin/PluginListTable.tsx:578 -#: src/tables/stock/StockItemTable.tsx:305 +#: src/tables/stock/StockItemTable.tsx:327 msgid "Installed" msgstr "Installed" @@ -6481,6 +6642,41 @@ msgstr "Add group" msgid "Edit group" msgstr "Edit group" +#: src/tables/settings/ImportSessionTable.tsx:39 +msgid "Delete Import Session" +msgstr "Delete Import Session" + +#: src/tables/settings/ImportSessionTable.tsx:45 +#: src/tables/settings/ImportSessionTable.tsx:132 +msgid "Create Import Session" +msgstr "Create Import Session" + +#: src/tables/settings/ImportSessionTable.tsx:70 +msgid "Uploaded" +msgstr "Uploaded" + +#: src/tables/settings/ImportSessionTable.tsx:80 +msgid "Imported Rows" +msgstr "Imported Rows" + +#: src/tables/settings/ImportSessionTable.tsx:110 +#: src/tables/settings/TemplateTable.tsx:276 +msgid "Model Type" +msgstr "Model Type" + +#: src/tables/settings/ImportSessionTable.tsx:111 +#: src/tables/settings/TemplateTable.tsx:277 +msgid "Filter by target model type" +msgstr "Filter by target model type" + +#: src/tables/settings/ImportSessionTable.tsx:117 +msgid "Filter by import session status" +msgstr "Filter by import session status" + +#: src/tables/settings/ImportSessionTable.tsx:123 +msgid "Filter by user" +msgstr "Filter by user" + #: src/tables/settings/PendingTasksTable.tsx:36 msgid "Arguments" msgstr "Arguments" @@ -6497,7 +6693,7 @@ msgstr "Edit Project Code" msgid "Delete Project Code" msgstr "Delete Project Code" -#: src/tables/settings/ProjectCodeTable.tsx:94 +#: src/tables/settings/ProjectCodeTable.tsx:92 msgid "Add project code" msgstr "Add project code" @@ -6566,14 +6762,6 @@ msgstr "Add template" 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" @@ -6696,149 +6884,153 @@ msgstr "This stock item is partially allocated" msgid "This stock item has been depleted" msgstr "This stock item has been depleted" -#: src/tables/stock/StockItemTable.tsx:255 +#: src/tables/stock/StockItemTable.tsx:247 +msgid "Stock Value" +msgstr "Stock Value" + +#: src/tables/stock/StockItemTable.tsx:277 msgid "Show stock for active parts" msgstr "Show stock for active parts" -#: src/tables/stock/StockItemTable.tsx:260 +#: src/tables/stock/StockItemTable.tsx:282 msgid "Filter by stock status" msgstr "Filter by stock status" -#: src/tables/stock/StockItemTable.tsx:266 +#: src/tables/stock/StockItemTable.tsx:288 msgid "Show stock for assmebled parts" msgstr "Show stock for assmebled parts" -#: src/tables/stock/StockItemTable.tsx:271 +#: src/tables/stock/StockItemTable.tsx:293 msgid "Show items which have been allocated" msgstr "Show items which have been allocated" -#: src/tables/stock/StockItemTable.tsx:276 +#: src/tables/stock/StockItemTable.tsx:298 msgid "Show items which are available" msgstr "Show items which are available" -#: src/tables/stock/StockItemTable.tsx:280 +#: src/tables/stock/StockItemTable.tsx:302 #: src/tables/stock/StockLocationTable.tsx:42 msgid "Include Sublocations" msgstr "Include Sublocations" -#: src/tables/stock/StockItemTable.tsx:281 +#: src/tables/stock/StockItemTable.tsx:303 msgid "Include stock in sublocations" msgstr "Include stock in sublocations" -#: src/tables/stock/StockItemTable.tsx:285 +#: src/tables/stock/StockItemTable.tsx:307 msgid "Depleted" msgstr "Depleted" -#: src/tables/stock/StockItemTable.tsx:286 +#: src/tables/stock/StockItemTable.tsx:308 msgid "Show depleted stock items" msgstr "Show depleted stock items" -#: src/tables/stock/StockItemTable.tsx:291 +#: src/tables/stock/StockItemTable.tsx:313 msgid "Show items which are in stock" msgstr "Show items which are in stock" -#: src/tables/stock/StockItemTable.tsx:296 +#: src/tables/stock/StockItemTable.tsx:318 msgid "Show items which are in production" msgstr "Show items which are in production" -#: src/tables/stock/StockItemTable.tsx:301 +#: src/tables/stock/StockItemTable.tsx:323 msgid "Include stock items for variant parts" msgstr "Include stock items for variant parts" -#: src/tables/stock/StockItemTable.tsx:306 +#: src/tables/stock/StockItemTable.tsx:328 msgid "Show stock items which are installed in other items" msgstr "Show stock items which are installed in other items" -#: src/tables/stock/StockItemTable.tsx:310 +#: src/tables/stock/StockItemTable.tsx:332 msgid "Sent to Customer" msgstr "Sent to Customer" -#: src/tables/stock/StockItemTable.tsx:311 +#: src/tables/stock/StockItemTable.tsx:333 msgid "Show items which have been sent to a customer" msgstr "Show items which have been sent to a customer" -#: src/tables/stock/StockItemTable.tsx:315 +#: src/tables/stock/StockItemTable.tsx:337 msgid "Is Serialized" msgstr "Is Serialized" -#: src/tables/stock/StockItemTable.tsx:316 +#: src/tables/stock/StockItemTable.tsx:338 msgid "Show items which have a serial number" msgstr "Show items which have a serial number" -#: src/tables/stock/StockItemTable.tsx:323 +#: src/tables/stock/StockItemTable.tsx:345 msgid "Has Batch Code" msgstr "Has Batch Code" -#: src/tables/stock/StockItemTable.tsx:324 +#: src/tables/stock/StockItemTable.tsx:346 msgid "Show items which have a batch code" msgstr "Show items which have a batch code" -#: src/tables/stock/StockItemTable.tsx:330 +#: src/tables/stock/StockItemTable.tsx:352 msgid "Show tracked items" msgstr "Show tracked items" -#: src/tables/stock/StockItemTable.tsx:334 +#: src/tables/stock/StockItemTable.tsx:356 msgid "Has Purchase Price" msgstr "Has Purchase Price" -#: src/tables/stock/StockItemTable.tsx:335 +#: src/tables/stock/StockItemTable.tsx:357 msgid "Show items which have a purchase price" msgstr "Show items which have a purchase price" -#: src/tables/stock/StockItemTable.tsx:343 +#: src/tables/stock/StockItemTable.tsx:365 msgid "External Location" msgstr "External Location" -#: src/tables/stock/StockItemTable.tsx:344 +#: src/tables/stock/StockItemTable.tsx:366 msgid "Show items in an external location" msgstr "Show items in an external location" -#: src/tables/stock/StockItemTable.tsx:416 +#: src/tables/stock/StockItemTable.tsx:438 msgid "Add a new stock item" msgstr "Add a new stock item" -#: src/tables/stock/StockItemTable.tsx:425 +#: src/tables/stock/StockItemTable.tsx:447 msgid "Remove some quantity from a stock item" msgstr "Remove some quantity from a stock item" -#: src/tables/stock/StockItemTable.tsx:447 +#: src/tables/stock/StockItemTable.tsx:469 msgid "Move Stock items to new locations" msgstr "Move Stock items to new locations" -#: src/tables/stock/StockItemTable.tsx:454 +#: src/tables/stock/StockItemTable.tsx:476 msgid "Change stock status" msgstr "Change stock status" -#: src/tables/stock/StockItemTable.tsx:456 +#: src/tables/stock/StockItemTable.tsx:478 msgid "Change the status of stock items" msgstr "Change the status of stock items" -#: src/tables/stock/StockItemTable.tsx:463 +#: src/tables/stock/StockItemTable.tsx:485 msgid "Merge stock" msgstr "Merge stock" -#: src/tables/stock/StockItemTable.tsx:465 +#: src/tables/stock/StockItemTable.tsx:487 msgid "Merge stock items" msgstr "Merge stock items" -#: src/tables/stock/StockItemTable.tsx:472 +#: src/tables/stock/StockItemTable.tsx:494 msgid "Order stock" msgstr "Order stock" -#: src/tables/stock/StockItemTable.tsx:474 -#: src/tables/stock/StockItemTable.tsx:480 +#: src/tables/stock/StockItemTable.tsx:496 +#: src/tables/stock/StockItemTable.tsx:502 msgid "Order new stock" msgstr "Order new stock" -#: src/tables/stock/StockItemTable.tsx:478 +#: src/tables/stock/StockItemTable.tsx:500 msgid "Assign to customer" msgstr "Assign to customer" -#: src/tables/stock/StockItemTable.tsx:487 +#: src/tables/stock/StockItemTable.tsx:509 msgid "Delete stock" msgstr "Delete stock" -#: src/tables/stock/StockItemTable.tsx:489 +#: src/tables/stock/StockItemTable.tsx:511 msgid "Delete stock items" msgstr "Delete stock items" diff --git a/src/frontend/src/locales/es-mx/messages.po b/src/frontend/src/locales/es-mx/messages.po index 2d9c3da63081..b9365249ba0f 100644 --- a/src/frontend/src/locales/es-mx/messages.po +++ b/src/frontend/src/locales/es-mx/messages.po @@ -44,16 +44,18 @@ msgstr "" #: src/components/buttons/PrintingActions.tsx:107 #: src/components/buttons/PrintingActions.tsx:144 #: src/components/editors/NotesEditor.tsx:65 -#: src/components/editors/NotesEditor.tsx:160 -#: src/components/forms/ApiForm.tsx:506 -#: src/components/forms/fields/ApiFormField.tsx:295 +#: src/components/editors/NotesEditor.tsx:165 +#: src/components/forms/ApiForm.tsx:513 +#: src/components/forms/fields/ApiFormField.tsx:306 +#: src/components/importer/ImportDataSelector.tsx:171 +#: src/components/importer/ImporterColumnSelector.tsx:112 #: src/components/modals/LicenseModal.tsx:75 #: src/components/nav/SearchDrawer.tsx:427 #: src/pages/ErrorPage.tsx:11 #: src/pages/part/PartPricingPanel.tsx:71 -#: src/tables/InvenTreeTable.tsx:451 -#: src/tables/InvenTreeTable.tsx:526 -#: src/tables/bom/BomTable.tsx:363 +#: src/tables/InvenTreeTable.tsx:470 +#: src/tables/InvenTreeTable.tsx:545 +#: src/tables/bom/BomTable.tsx:366 #: src/tables/stock/StockItemTestResultTable.tsx:294 msgid "Error" msgstr "" @@ -152,7 +154,7 @@ msgstr "" #: src/functions/forms.tsx:196 #: src/hooks/UseForm.tsx:40 #: src/tables/FilterSelectDrawer.tsx:204 -#: src/tables/InvenTreeTable.tsx:499 +#: src/tables/InvenTreeTable.tsx:518 #: src/tables/build/BuildOutputTable.tsx:225 msgid "Cancel" msgstr "" @@ -170,7 +172,7 @@ msgid "Clear" msgstr "" #: src/components/details/DetailsImage.tsx:227 -#: src/components/forms/ApiForm.tsx:573 +#: src/components/forms/ApiForm.tsx:580 #: src/contexts/ThemeContext.tsx:43 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:56 msgid "Submit" @@ -197,48 +199,61 @@ msgid "Delete image" msgstr "" #: src/components/details/PartIcons.tsx:28 +#: src/tables/ColumnRenderers.tsx:35 +msgid "Part is locked" +msgstr "" + +#: src/components/details/PartIcons.tsx:30 +#: src/pages/part/PartDetail.tsx:267 +#: src/pages/part/PartDetail.tsx:698 +#: src/tables/part/PartTable.tsx:175 +msgid "Locked" +msgstr "" + +#: src/components/details/PartIcons.tsx:35 +#: src/tables/ColumnRenderers.tsx:30 msgid "Part is not active" msgstr "" -#: src/components/details/PartIcons.tsx:34 +#: src/components/details/PartIcons.tsx:37 #: src/components/render/Plugin.tsx:17 #: src/pages/company/CompanyDetail.tsx:315 #: src/pages/company/SupplierPartDetail.tsx:307 -#: src/pages/part/PartDetail.tsx:685 +#: src/pages/part/PartDetail.tsx:704 msgid "Inactive" msgstr "" -#: src/components/details/PartIcons.tsx:41 +#: src/components/details/PartIcons.tsx:43 msgid "Part is a template part (variants can be made from this part)" msgstr "" -#: src/components/details/PartIcons.tsx:47 +#: src/components/details/PartIcons.tsx:49 msgid "Part can be assembled from other parts" msgstr "" -#: src/components/details/PartIcons.tsx:53 +#: src/components/details/PartIcons.tsx:55 msgid "Part can be used in assemblies" msgstr "" -#: src/components/details/PartIcons.tsx:59 +#: src/components/details/PartIcons.tsx:61 msgid "Part stock is tracked by serial number" msgstr "" -#: src/components/details/PartIcons.tsx:65 +#: src/components/details/PartIcons.tsx:67 msgid "Part can be purchased from external suppliers" msgstr "" -#: src/components/details/PartIcons.tsx:71 +#: src/components/details/PartIcons.tsx:73 msgid "Part can be sold to customers" msgstr "" -#: src/components/details/PartIcons.tsx:76 +#: src/components/details/PartIcons.tsx:78 msgid "Part is virtual (not a physical part)" msgstr "" -#: src/components/details/PartIcons.tsx:82 -#: src/tables/part/PartTable.tsx:234 -#: src/tables/part/PartTable.tsx:238 +#: src/components/details/PartIcons.tsx:84 +#: src/tables/part/PartTable.tsx:241 +#: src/tables/part/PartTable.tsx:245 #: src/tables/part/PartVariantTable.tsx:25 msgid "Virtual" msgstr "" @@ -247,29 +262,29 @@ msgstr "" msgid "Image upload failed" msgstr "" -#: src/components/editors/NotesEditor.tsx:151 -#: src/components/forms/ApiForm.tsx:430 -#: src/tables/bom/BomTable.tsx:354 +#: src/components/editors/NotesEditor.tsx:156 +#: src/components/forms/ApiForm.tsx:437 +#: src/tables/bom/BomTable.tsx:357 msgid "Success" msgstr "" -#: src/components/editors/NotesEditor.tsx:152 +#: src/components/editors/NotesEditor.tsx:157 msgid "Notes saved successfully" msgstr "" -#: src/components/editors/NotesEditor.tsx:161 +#: src/components/editors/NotesEditor.tsx:166 msgid "Failed to save notes" msgstr "" -#: src/components/editors/NotesEditor.tsx:193 +#: src/components/editors/NotesEditor.tsx:198 msgid "Preview Notes" msgstr "" -#: src/components/editors/NotesEditor.tsx:193 +#: src/components/editors/NotesEditor.tsx:198 msgid "Edit Notes" msgstr "" -#: src/components/editors/NotesEditor.tsx:207 +#: src/components/editors/NotesEditor.tsx:212 msgid "Save Notes" msgstr "" @@ -402,7 +417,7 @@ msgstr "" msgid "A server error occurred" msgstr "" -#: src/components/forms/ApiForm.tsx:149 +#: src/components/forms/ApiForm.tsx:151 #: src/functions/forms.tsx:259 msgid "Form Error" msgstr "" @@ -411,18 +426,18 @@ msgstr "" #~ msgid "Form Errors Exist" #~ msgstr "" -#: src/components/forms/ApiForm.tsx:611 +#: src/components/forms/ApiForm.tsx:618 #: src/tables/plugin/PluginListTable.tsx:388 msgid "Update" msgstr "" -#: src/components/forms/ApiForm.tsx:631 +#: src/components/forms/ApiForm.tsx:638 #: 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:498 +#: src/tables/InvenTreeTable.tsx:517 #: src/tables/RowActions.tsx:71 #: src/tables/plugin/PluginListTable.tsx:420 msgid "Delete" @@ -576,7 +591,7 @@ msgstr "" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:70 #: src/pages/part/CategoryDetail.tsx:80 -#: src/pages/part/PartDetail.tsx:122 +#: src/pages/part/PartDetail.tsx:123 #: src/pages/stock/LocationDetail.tsx:87 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 @@ -661,6 +676,124 @@ msgstr "" msgid "Thumbnail" msgstr "" +#: src/components/importer/ImportDataSelector.tsx:154 +msgid "Importing Rows" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:155 +msgid "Please wait while the data is imported" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:172 +msgid "An error occurred while importing data" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:191 +msgid "Edit Data" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:218 +msgid "Delete Row" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:248 +msgid "Row" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:266 +msgid "Row contains errors" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:307 +msgid "Accept" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:340 +msgid "Valid" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:341 +msgid "Filter by row validation status" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:346 +#: src/tables/build/BuildOutputTable.tsx:205 +msgid "Complete" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:347 +msgid "Filter by row completion status" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:364 +msgid "Import selected rows" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:46 +#: src/components/importer/ImporterColumnSelector.tsx:85 +msgid "An error occurred" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:57 +msgid "Select column, or leave blank to ignore this field." +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:91 +msgid "Select a column from the data file" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:104 +msgid "Map data columns to database fields" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:109 +msgid "Accept Column Mapping" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:117 +msgid "Database Field" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:118 +msgid "Field Description" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:119 +msgid "Imported Column Name" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:44 +msgid "Import Data" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:45 +msgid "Map Columns" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:46 +msgid "Process Data" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:47 +msgid "Complete Import" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:91 +msgid "Importing Data" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:97 +msgid "Cancel import session" +msgstr "" + +#: src/components/importer/ImporterImportProgress.tsx:36 +msgid "Importing Records" +msgstr "" + +#: src/components/importer/ImporterImportProgress.tsx:39 +msgid "Imported rows" +msgstr "" + #: src/components/items/ActionDropdown.tsx:119 #: src/pages/build/BuildDetail.tsx:358 msgid "Barcode Actions" @@ -714,7 +847,7 @@ msgid "Read More" msgstr "" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:443 +#: src/tables/InvenTreeTable.tsx:462 msgid "Unknown error" msgstr "" @@ -1015,13 +1148,13 @@ msgstr "" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:313 +#: src/pages/Index/Settings/SystemSettings.tsx:314 msgid "System Settings" msgstr "" #: src/components/nav/MainMenu.tsx:67 #: src/defaults/menuItems.tsx:63 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:198 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:209 msgid "Admin Center" msgstr "" @@ -1056,7 +1189,7 @@ msgid "Pages" msgstr "" #: src/components/nav/NavigationDrawer.tsx:65 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:157 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:168 #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:41 msgid "Plugins" msgstr "" @@ -1070,7 +1203,7 @@ msgstr "" msgid "About" msgstr "" -#: src/components/nav/NotificationDrawer.tsx:78 +#: src/components/nav/NotificationDrawer.tsx:81 #: src/pages/Index/Settings/SystemSettings.tsx:108 #: src/pages/Index/Settings/UserSettings.tsx:96 #: src/pages/Notifications.tsx:65 @@ -1078,17 +1211,17 @@ msgstr "" msgid "Notifications" msgstr "" -#: src/components/nav/NotificationDrawer.tsx:95 +#: src/components/nav/NotificationDrawer.tsx:98 msgid "You have no unread notifications." msgstr "" -#: src/components/nav/NotificationDrawer.tsx:111 -#: src/components/nav/NotificationDrawer.tsx:117 +#: src/components/nav/NotificationDrawer.tsx:114 +#: src/components/nav/NotificationDrawer.tsx:120 #: src/tables/notifications/NotificationsTable.tsx:36 msgid "Notification" msgstr "" -#: src/components/nav/NotificationDrawer.tsx:140 +#: src/components/nav/NotificationDrawer.tsx:143 #: src/pages/Notifications.tsx:73 msgid "Mark as read" msgstr "" @@ -1125,7 +1258,7 @@ msgstr "" msgid "No results available for search query" msgstr "" -#: src/components/render/Instance.tsx:166 +#: src/components/render/Instance.tsx:201 msgid "Unknown model: {model}" msgstr "" @@ -1140,7 +1273,8 @@ msgstr "" #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 #: src/pages/build/BuildDetail.tsx:85 -#: src/pages/part/PartDetail.tsx:831 +#: src/pages/part/PartDetail.tsx:872 +#: src/tables/part/PartTable.tsx:28 #: src/tables/part/RelatedPartTable.tsx:45 #: src/tables/stock/StockTrackingTable.tsx:74 msgid "Part" @@ -1153,7 +1287,7 @@ msgstr "" #: src/pages/part/CategoryDetail.tsx:112 #: src/pages/part/CategoryDetail.tsx:237 #: src/pages/part/CategoryDetail.tsx:267 -#: src/pages/part/PartDetail.tsx:639 +#: src/pages/part/PartDetail.tsx:652 msgid "Parts" msgstr "" @@ -1203,7 +1337,7 @@ msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:172 #: src/pages/part/CategoryDetail.tsx:251 #: src/pages/part/CategoryDetail.tsx:288 -#: src/pages/part/PartDetail.tsx:821 +#: src/pages/part/PartDetail.tsx:862 msgid "Part Categories" msgstr "" @@ -1285,7 +1419,7 @@ msgid "Project Code" msgstr "" #: src/components/render/ModelType.tsx:127 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:109 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:120 msgid "Project Codes" msgstr "" @@ -1297,10 +1431,10 @@ msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:134 -#: src/pages/Index/Settings/SystemSettings.tsx:257 +#: src/pages/Index/Settings/SystemSettings.tsx:258 #: src/pages/company/CompanyDetail.tsx:194 #: src/pages/company/SupplierPartDetail.tsx:226 -#: src/pages/part/PartDetail.tsx:573 +#: src/pages/part/PartDetail.tsx:586 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "" @@ -1322,9 +1456,9 @@ msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:272 +#: src/pages/Index/Settings/SystemSettings.tsx:273 #: src/pages/company/CompanyDetail.tsx:214 -#: src/pages/part/PartDetail.tsx:580 +#: src/pages/part/PartDetail.tsx:593 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" @@ -1344,7 +1478,7 @@ msgid "Return Order" msgstr "" #: src/components/render/ModelType.tsx:164 -#: src/pages/Index/Settings/SystemSettings.tsx:288 +#: src/pages/Index/Settings/SystemSettings.tsx:289 #: src/pages/company/CompanyDetail.tsx:221 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1381,40 +1515,49 @@ msgid "Owners" msgstr "" #: src/components/render/ModelType.tsx:193 +#: src/tables/settings/ImportSessionTable.tsx:122 #: src/tables/stock/StockItemTestResultTable.tsx:193 #: src/tables/stock/StockTrackingTable.tsx:195 msgid "User" msgstr "" #: src/components/render/ModelType.tsx:194 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:85 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:90 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" msgstr "" #: src/components/render/ModelType.tsx:200 -msgid "Label Template" +msgid "Import Session" msgstr "" #: src/components/render/ModelType.tsx:201 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:139 -msgid "Label Templates" +msgid "Import Sessions" msgstr "" #: src/components/render/ModelType.tsx:207 -msgid "Report Template" +msgid "Label Template" msgstr "" #: src/components/render/ModelType.tsx:208 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:145 -msgid "Report Templates" +#: src/pages/Index/Settings/AdminCenter/Index.tsx:150 +msgid "Label Templates" msgstr "" #: src/components/render/ModelType.tsx:214 -msgid "Plugin Configuration" +msgid "Report Template" msgstr "" #: src/components/render/ModelType.tsx:215 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:156 +msgid "Report Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:221 +msgid "Plugin Configuration" +msgstr "" + +#: src/components/render/ModelType.tsx:222 msgid "Plugin Configurations" msgstr "" @@ -1426,7 +1569,7 @@ msgstr "" #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 #: src/pages/Index/Settings/SystemSettings.tsx:210 -#: src/pages/part/PartDetail.tsx:492 +#: src/pages/part/PartDetail.tsx:503 #: src/pages/stock/LocationDetail.tsx:347 #: src/pages/stock/StockDetail.tsx:356 #: src/tables/stock/StockItemTable.tsx:57 @@ -1609,10 +1752,6 @@ msgstr "" #~ msgid "Comment" #~ msgstr "" -#: src/components/tables/general/AttachmentTable.tsx:56 -#~ msgid "Uploaded" -#~ msgstr "" - #: src/components/tables/part/PartCategoryTable.tsx:122 #~ msgid "Part category updated" #~ msgstr "" @@ -2121,7 +2260,7 @@ msgid "Recently Updated" msgstr "" #: src/defaults/dashboardItems.tsx:50 -#: src/tables/part/PartTable.tsx:216 +#: src/tables/part/PartTable.tsx:223 msgid "Low Stock" msgstr "" @@ -2358,7 +2497,7 @@ msgstr "" #~ msgid "Company updated" #~ msgstr "" -#: src/forms/PartForms.tsx:100 +#: src/forms/PartForms.tsx:103 msgid "Parent part category" msgstr "" @@ -2426,7 +2565,7 @@ msgstr "" #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 #: src/pages/stock/StockDetail.tsx:173 -#: src/tables/ColumnRenderers.tsx:34 +#: src/tables/ColumnRenderers.tsx:49 #: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" msgstr "" @@ -2477,8 +2616,8 @@ msgstr "" #: src/forms/StockForms.tsx:176 #: src/pages/stock/StockDetail.tsx:379 -#: src/tables/stock/StockItemTable.tsx:382 -#: src/tables/stock/StockItemTable.tsx:499 +#: src/tables/stock/StockItemTable.tsx:404 +#: src/tables/stock/StockItemTable.tsx:521 msgid "Add Stock Item" msgstr "" @@ -2498,9 +2637,9 @@ msgstr "" #: src/forms/StockForms.tsx:606 #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 -#: src/pages/part/PartDetail.tsx:202 -#: src/pages/part/PartDetail.tsx:655 -#: src/tables/stock/StockItemTable.tsx:290 +#: src/pages/part/PartDetail.tsx:203 +#: src/pages/part/PartDetail.tsx:668 +#: src/tables/stock/StockItemTable.tsx:312 msgid "In Stock" msgstr "" @@ -2541,12 +2680,12 @@ msgid "Remove Stock" msgstr "" #: src/forms/StockForms.tsx:803 -#: src/pages/part/PartDetail.tsx:782 +#: src/pages/part/PartDetail.tsx:823 msgid "Transfer Stock" msgstr "" #: src/forms/StockForms.tsx:812 -#: src/pages/part/PartDetail.tsx:771 +#: src/pages/part/PartDetail.tsx:812 msgid "Count Stock" msgstr "" @@ -3039,53 +3178,57 @@ msgstr "" #~ msgid "Advanced Amininistrative Options for InvenTree" #~ msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:91 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:96 +msgid "Data Import" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:102 msgid "Background Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:97 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:108 msgid "Error Reports" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:103 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:114 msgid "Currencies" 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:132 msgid "Custom Units" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:138 #: src/pages/part/CategoryDetail.tsx:257 msgid "Part Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 -#~ msgid "Templates" -#~ msgstr "" - -#: src/pages/Index/Settings/AdminCenter/Index.tsx:133 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:144 msgid "Category Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:151 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:162 msgid "Location types" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:163 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:174 #: src/tables/machine/MachineTypeTable.tsx:287 msgid "Machines" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:173 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:184 msgid "Quick Actions" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:178 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:189 msgid "Add a new user" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:199 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:210 msgid "Advanced Options" msgstr "" @@ -3237,7 +3380,7 @@ msgid "Reporting" msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:235 -#: src/pages/part/PartDetail.tsx:593 +#: src/pages/part/PartDetail.tsx:606 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" @@ -3245,12 +3388,12 @@ msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:241 #: src/pages/build/BuildDetail.tsx:423 #: src/pages/build/BuildIndex.tsx:14 -#: src/pages/part/PartDetail.tsx:527 +#: src/pages/part/PartDetail.tsx:540 #: src/pages/sales/SalesOrderDetail.tsx:270 msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:316 +#: src/pages/Index/Settings/SystemSettings.tsx:317 msgid "Switch to User Setting" msgstr "" @@ -3311,7 +3454,8 @@ msgstr "" #: 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/settings/ImportSessionTable.tsx:116 +#: src/tables/stock/StockItemTable.tsx:281 #: src/tables/stock/StockTrackingTable.tsx:52 msgid "Status" msgstr "" @@ -3320,7 +3464,7 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:104 #: src/pages/sales/ReturnOrderDetail.tsx:73 #: src/pages/sales/SalesOrderDetail.tsx:77 -#: src/tables/ColumnRenderers.tsx:106 +#: src/tables/ColumnRenderers.tsx:121 #: src/tables/build/BuildLineTable.tsx:140 msgid "Reference" msgstr "" @@ -3330,12 +3474,12 @@ msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:78 #: src/pages/company/SupplierPartDetail.tsx:85 #: src/pages/part/CategoryDetail.tsx:94 -#: src/pages/part/PartDetail.tsx:129 +#: src/pages/part/PartDetail.tsx:130 #: src/pages/purchasing/PurchaseOrderDetail.tsx:125 #: src/pages/sales/ReturnOrderDetail.tsx:93 #: src/pages/sales/SalesOrderDetail.tsx:97 #: src/pages/stock/LocationDetail.tsx:101 -#: src/tables/ColumnRenderers.tsx:66 +#: src/tables/ColumnRenderers.tsx:81 #: src/tables/machine/MachineTypeTable.tsx:69 #: src/tables/machine/MachineTypeTable.tsx:112 #: src/tables/machine/MachineTypeTable.tsx:219 @@ -3366,7 +3510,7 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:152 -#: src/pages/part/PartDetail.tsx:317 +#: src/pages/part/PartDetail.tsx:323 #: src/pages/purchasing/PurchaseOrderDetail.tsx:217 #: src/pages/sales/ReturnOrderDetail.tsx:186 #: src/pages/sales/SalesOrderDetail.tsx:190 @@ -3386,7 +3530,7 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:210 #: src/pages/sales/ReturnOrderDetail.tsx:179 #: src/pages/sales/SalesOrderDetail.tsx:183 -#: src/tables/ColumnRenderers.tsx:191 +#: src/tables/ColumnRenderers.tsx:206 msgid "Target Date" msgstr "" @@ -3467,7 +3611,7 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:297 #: src/pages/company/CompanyDetail.tsx:257 #: src/pages/company/ManufacturerPartDetail.tsx:174 -#: src/pages/part/PartDetail.tsx:616 +#: src/pages/part/PartDetail.tsx:629 #: src/pages/purchasing/PurchaseOrderDetail.tsx:279 #: src/pages/sales/ReturnOrderDetail.tsx:230 #: src/pages/sales/SalesOrderDetail.tsx:280 @@ -3477,7 +3621,7 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:305 #: src/pages/company/CompanyDetail.tsx:268 -#: src/pages/part/PartDetail.tsx:624 +#: src/pages/part/PartDetail.tsx:637 #: src/pages/purchasing/PurchaseOrderDetail.tsx:290 #: src/pages/sales/ReturnOrderDetail.tsx:241 #: src/pages/sales/SalesOrderDetail.tsx:291 @@ -3633,12 +3777,12 @@ msgid "Manufacturer Part Details" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:148 -#: src/pages/part/PartDetail.tsx:486 +#: src/pages/part/PartDetail.tsx:492 msgid "Parameters" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:160 -#: src/pages/part/PartDetail.tsx:560 +#: src/pages/part/PartDetail.tsx:573 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" msgstr "" @@ -3663,7 +3807,7 @@ msgid "ManufacturerPart" msgstr "" #: src/pages/company/SupplierPartDetail.tsx:99 -#: src/tables/ColumnRenderers.tsx:117 +#: src/tables/ColumnRenderers.tsx:132 msgid "Note" msgstr "" @@ -3799,275 +3943,275 @@ msgstr "" msgid "Category Details" msgstr "" -#: src/pages/part/PartDetail.tsx:135 +#: src/pages/part/PartDetail.tsx:136 msgid "Variant of" msgstr "" -#: src/pages/part/PartDetail.tsx:142 +#: src/pages/part/PartDetail.tsx:143 #: src/tables/notifications/NotificationsTable.tsx:31 #: src/tables/part/PartCategoryTemplateTable.tsx:67 msgid "Category" msgstr "" -#: src/pages/part/PartDetail.tsx:148 +#: src/pages/part/PartDetail.tsx:149 msgid "Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:155 +#: src/pages/part/PartDetail.tsx:156 msgid "Category Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:162 +#: src/pages/part/PartDetail.tsx:163 msgid "IPN" msgstr "" -#: src/pages/part/PartDetail.tsx:169 +#: src/pages/part/PartDetail.tsx:170 msgid "Revision" msgstr "" -#: src/pages/part/PartDetail.tsx:176 +#: src/pages/part/PartDetail.tsx:177 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" msgstr "" -#: src/pages/part/PartDetail.tsx:183 +#: src/pages/part/PartDetail.tsx:184 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:190 +#: src/pages/part/PartDetail.tsx:191 #: src/pages/purchasing/PurchaseOrderDetail.tsx:183 #: src/pages/sales/ReturnOrderDetail.tsx:152 #: src/pages/sales/SalesOrderDetail.tsx:156 msgid "Link" msgstr "" -#: src/pages/part/PartDetail.tsx:208 -#: src/tables/bom/BomTable.tsx:276 +#: src/pages/part/PartDetail.tsx:209 +#: src/tables/bom/BomTable.tsx:279 #: src/tables/build/BuildLineTable.tsx:121 -#: src/tables/part/PartTable.tsx:256 +#: src/tables/part/PartTable.tsx:263 msgid "Available Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:215 +#: src/pages/part/PartDetail.tsx:216 msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:221 -#: src/tables/bom/BomTable.tsx:217 +#: src/pages/part/PartDetail.tsx:222 +#: src/tables/bom/BomTable.tsx:220 #: src/tables/build/BuildLineTable.tsx:95 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:230 +#: src/pages/part/PartDetail.tsx:231 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:238 +#: src/pages/part/PartDetail.tsx:239 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:245 -#: src/tables/bom/BomTable.tsx:241 +#: src/pages/part/PartDetail.tsx:246 +#: src/tables/bom/BomTable.tsx:244 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:252 -#: src/tables/bom/BomTable.tsx:225 -#: src/tables/part/PartTable.tsx:82 +#: src/pages/part/PartDetail.tsx:253 +#: src/tables/bom/BomTable.tsx:228 +#: src/tables/part/PartTable.tsx:83 msgid "Building" msgstr "" -#: src/pages/part/PartDetail.tsx:261 +#: src/pages/part/PartDetail.tsx:262 #: src/tables/bom/UsedInTable.tsx:73 #: src/tables/build/BuildOrderTable.tsx:108 #: src/tables/company/CompanyTable.tsx:61 #: src/tables/company/CompanyTable.tsx:95 #: src/tables/machine/MachineListTable.tsx:323 #: src/tables/machine/MachineListTable.tsx:585 -#: src/tables/part/PartTable.tsx:168 +#: src/tables/part/PartTable.tsx:169 #: src/tables/part/PartVariantTable.tsx:15 #: 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 +#: src/tables/stock/StockItemTable.tsx:276 msgid "Active" msgstr "" -#: src/pages/part/PartDetail.tsx:266 +#: src/pages/part/PartDetail.tsx:272 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:271 -#: src/tables/bom/BomTable.tsx:271 +#: src/pages/part/PartDetail.tsx:277 +#: src/tables/bom/BomTable.tsx:274 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:276 +#: src/pages/part/PartDetail.tsx:282 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:281 -#: src/tables/bom/BomTable.tsx:266 +#: src/pages/part/PartDetail.tsx:287 +#: src/tables/bom/BomTable.tsx:269 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:286 +#: src/pages/part/PartDetail.tsx:292 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:291 +#: src/pages/part/PartDetail.tsx:297 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:296 +#: src/pages/part/PartDetail.tsx:302 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:304 -#: src/tables/ColumnRenderers.tsx:199 +#: src/pages/part/PartDetail.tsx:310 +#: src/tables/ColumnRenderers.tsx:214 msgid "Creation Date" msgstr "" -#: src/pages/part/PartDetail.tsx:309 -msgid "Created By" -msgstr "" - #: src/pages/part/PartDetail.tsx:310 #~ msgid "Edit part" #~ msgstr "" +#: src/pages/part/PartDetail.tsx:315 +msgid "Created By" +msgstr "" + #: src/pages/part/PartDetail.tsx:322 #~ msgid "Duplicate part" #~ msgstr "" -#: src/pages/part/PartDetail.tsx:324 -msgid "Default Supplier" -msgstr "" - #: src/pages/part/PartDetail.tsx:327 #~ msgid "Delete part" #~ msgstr "" -#: src/pages/part/PartDetail.tsx:335 +#: src/pages/part/PartDetail.tsx:330 +msgid "Default Supplier" +msgstr "" + +#: src/pages/part/PartDetail.tsx:341 #: src/pages/part/pricing/BomPricingPanel.tsx:78 #: src/pages/part/pricing/VariantPricingPanel.tsx:95 -#: src/tables/part/PartTable.tsx:151 +#: src/tables/part/PartTable.tsx:152 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:374 +#: src/pages/part/PartDetail.tsx:380 #: src/pages/stock/StockDetail.tsx:133 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:409 +#: src/pages/part/PartDetail.tsx:415 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:480 +#: src/pages/part/PartDetail.tsx:486 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:506 +#: src/pages/part/PartDetail.tsx:517 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:513 +#: src/pages/part/PartDetail.tsx:524 #: src/pages/stock/StockDetail.tsx:286 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:520 +#: src/pages/part/PartDetail.tsx:531 msgid "Bill of Materials" msgstr "" -#: src/pages/part/PartDetail.tsx:534 +#: src/pages/part/PartDetail.tsx:547 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:541 +#: src/pages/part/PartDetail.tsx:554 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:547 +#: src/pages/part/PartDetail.tsx:560 #: src/pages/purchasing/PurchasingIndex.tsx:37 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:587 +#: src/pages/part/PartDetail.tsx:600 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:599 +#: src/pages/part/PartDetail.tsx:612 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:610 +#: src/pages/part/PartDetail.tsx:623 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:661 +#: src/pages/part/PartDetail.tsx:674 #: src/pages/stock/StockDetail.tsx:154 #: src/pages/stock/StockDetail.tsx:533 #: src/tables/build/BuildLineTable.tsx:36 -#: src/tables/part/PartTable.tsx:107 +#: src/tables/part/PartTable.tsx:108 #: src/tables/stock/StockItemTable.tsx:166 -#: src/tables/stock/StockItemTable.tsx:275 +#: src/tables/stock/StockItemTable.tsx:297 msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:667 +#: src/pages/part/PartDetail.tsx:680 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:673 -#: src/tables/bom/BomTable.tsx:281 -#: src/tables/part/PartTable.tsx:76 +#: src/pages/part/PartDetail.tsx:686 +#: src/tables/bom/BomTable.tsx:284 +#: src/tables/part/PartTable.tsx:77 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:679 +#: src/pages/part/PartDetail.tsx:692 #: src/pages/stock/StockDetail.tsx:516 -#: src/tables/stock/StockItemTable.tsx:295 +#: src/tables/stock/StockItemTable.tsx:317 msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:698 +#: src/pages/part/PartDetail.tsx:717 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:705 -#: src/tables/part/PartTable.tsx:289 -#: src/tables/part/PartTable.tsx:302 +#: src/pages/part/PartDetail.tsx:744 +#: src/tables/part/PartTable.tsx:296 +#: src/tables/part/PartTable.tsx:309 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:717 +#: src/pages/part/PartDetail.tsx:758 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:726 +#: src/pages/part/PartDetail.tsx:767 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:764 +#: src/pages/part/PartDetail.tsx:805 #: src/pages/stock/LocationDetail.tsx:304 -#: src/tables/stock/StockItemTable.tsx:409 +#: src/tables/stock/StockItemTable.tsx:431 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:772 +#: src/pages/part/PartDetail.tsx:813 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:824 msgid "Transfer part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:792 +#: src/pages/part/PartDetail.tsx:833 msgid "Part Actions" msgstr "" @@ -4111,8 +4255,8 @@ msgstr "" #: src/pages/part/pricing/BomPricingPanel.tsx:57 #: src/pages/part/pricing/BomPricingPanel.tsx:137 -#: src/tables/ColumnRenderers.tsx:241 -#: src/tables/bom/BomTable.tsx:165 +#: src/tables/ColumnRenderers.tsx:256 +#: src/tables/bom/BomTable.tsx:168 #: src/tables/purchasing/PurchaseOrderTable.tsx:112 #: src/tables/sales/ReturnOrderTable.tsx:104 #: src/tables/sales/SalesOrderTable.tsx:134 @@ -4121,7 +4265,7 @@ msgstr "" #: src/pages/part/pricing/BomPricingPanel.tsx:77 #: src/pages/part/pricing/BomPricingPanel.tsx:101 -#: src/tables/part/PartTable.tsx:186 +#: src/tables/part/PartTable.tsx:193 msgid "Component" msgstr "" @@ -4150,7 +4294,7 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:67 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:128 #: src/pages/part/pricing/SupplierPricingPanel.tsx:62 -#: src/tables/bom/BomTable.tsx:156 +#: src/tables/bom/BomTable.tsx:159 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 msgid "Unit Price" @@ -4250,7 +4394,7 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:40 #: src/pages/part/pricing/SaleHistoryPanel.tsx:36 -#: src/tables/ColumnRenderers.tsx:180 +#: src/tables/ColumnRenderers.tsx:195 #: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" @@ -4523,12 +4667,12 @@ msgid "Count stock" msgstr "" #: src/pages/stock/StockDetail.tsx:459 -#: src/tables/stock/StockItemTable.tsx:414 +#: src/tables/stock/StockItemTable.tsx:436 msgid "Add stock" msgstr "" #: src/pages/stock/StockDetail.tsx:467 -#: src/tables/stock/StockItemTable.tsx:423 +#: src/tables/stock/StockItemTable.tsx:445 msgid "Remove stock" msgstr "" @@ -4537,7 +4681,7 @@ msgid "Transfer" msgstr "" #: src/pages/stock/StockDetail.tsx:475 -#: src/tables/stock/StockItemTable.tsx:443 +#: src/tables/stock/StockItemTable.tsx:465 msgid "Transfer stock" msgstr "" @@ -4545,15 +4689,15 @@ msgstr "" msgid "Stock Item Actions" msgstr "" -#: src/tables/ColumnRenderers.tsx:42 +#: src/tables/ColumnRenderers.tsx:57 msgid "No location set" msgstr "" -#: src/tables/ColumnRenderers.tsx:207 +#: src/tables/ColumnRenderers.tsx:222 msgid "Shipment Date" msgstr "" -#: src/tables/ColumnRenderers.tsx:227 +#: src/tables/ColumnRenderers.tsx:242 #: src/tables/settings/CurrencyTable.tsx:23 msgid "Currency" msgstr "" @@ -4580,14 +4724,14 @@ msgid "TSV" msgstr "" #: src/tables/DownloadAction.tsx:24 -msgid "Excel (.xls)" -msgstr "" - -#: src/tables/DownloadAction.tsx:25 msgid "Excel (.xlsx)" msgstr "" -#: src/tables/DownloadAction.tsx:39 +#: src/tables/DownloadAction.tsx:24 +#~ msgid "Excel (.xls)" +#~ msgstr "" + +#: src/tables/DownloadAction.tsx:38 msgid "Download Data" msgstr "" @@ -4652,54 +4796,54 @@ msgstr "" msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:119 -#: src/tables/InvenTreeTable.tsx:390 -#: src/tables/InvenTreeTable.tsx:411 +#: src/tables/InvenTreeTable.tsx:126 +#: src/tables/InvenTreeTable.tsx:409 +#: src/tables/InvenTreeTable.tsx:430 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:422 +#: src/tables/InvenTreeTable.tsx:441 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:430 +#: src/tables/InvenTreeTable.tsx:449 msgid "Bad request" msgstr "" -#: src/tables/InvenTreeTable.tsx:433 +#: src/tables/InvenTreeTable.tsx:452 msgid "Unauthorized" msgstr "" -#: src/tables/InvenTreeTable.tsx:436 +#: src/tables/InvenTreeTable.tsx:455 msgid "Forbidden" msgstr "" -#: src/tables/InvenTreeTable.tsx:439 +#: src/tables/InvenTreeTable.tsx:458 msgid "Not found" msgstr "" -#: src/tables/InvenTreeTable.tsx:488 -#: src/tables/InvenTreeTable.tsx:606 +#: src/tables/InvenTreeTable.tsx:507 +#: src/tables/InvenTreeTable.tsx:623 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:492 +#: src/tables/InvenTreeTable.tsx:511 msgid "Are you sure you want to delete the selected records?" msgstr "" -#: src/tables/InvenTreeTable.tsx:494 +#: src/tables/InvenTreeTable.tsx:513 msgid "This action cannot be undone!" msgstr "" -#: src/tables/InvenTreeTable.tsx:517 +#: src/tables/InvenTreeTable.tsx:536 msgid "Deleted records" msgstr "" -#: src/tables/InvenTreeTable.tsx:518 +#: src/tables/InvenTreeTable.tsx:537 msgid "Records were deleted successfully" msgstr "" -#: src/tables/InvenTreeTable.tsx:527 +#: src/tables/InvenTreeTable.tsx:546 msgid "Failed to delete records" msgstr "" @@ -4708,140 +4852,144 @@ msgstr "" #~ msgid "Print actions" #~ msgstr "" -#: src/tables/InvenTreeTable.tsx:596 -#: src/tables/InvenTreeTable.tsx:597 +#: src/tables/InvenTreeTable.tsx:613 +#: src/tables/InvenTreeTable.tsx:614 msgid "Barcode actions" msgstr "" -#: src/tables/InvenTreeTable.tsx:625 +#: src/tables/InvenTreeTable.tsx:642 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTable.tsx:646 +#: src/tables/InvenTreeTable.tsx:663 msgid "Table filters" msgstr "" -#: src/tables/bom/BomTable.tsx:80 +#: src/tables/UploadAction.tsx:9 +msgid "Upload Data" +msgstr "" + +#: src/tables/bom/BomTable.tsx:83 msgid "This BOM item is defined for a different parent" msgstr "" -#: src/tables/bom/BomTable.tsx:95 +#: src/tables/bom/BomTable.tsx:98 msgid "Part Information" msgstr "" -#: src/tables/bom/BomTable.tsx:184 -#: src/tables/part/PartTable.tsx:124 +#: src/tables/bom/BomTable.tsx:187 +#: src/tables/part/PartTable.tsx:125 msgid "No stock" msgstr "" -#: src/tables/bom/BomTable.tsx:192 +#: src/tables/bom/BomTable.tsx:195 #: src/tables/build/BuildLineTable.tsx:104 -#: src/tables/part/PartTable.tsx:115 +#: src/tables/part/PartTable.tsx:116 msgid "External stock" msgstr "" -#: src/tables/bom/BomTable.tsx:200 +#: src/tables/bom/BomTable.tsx:203 #: src/tables/build/BuildLineTable.tsx:67 msgid "Includes substitute stock" msgstr "" -#: src/tables/bom/BomTable.tsx:209 +#: src/tables/bom/BomTable.tsx:212 #: src/tables/build/BuildLineTable.tsx:77 msgid "Includes variant stock" msgstr "" -#: src/tables/bom/BomTable.tsx:234 -#: src/tables/part/PartTable.tsx:143 +#: src/tables/bom/BomTable.tsx:237 +#: src/tables/part/PartTable.tsx:144 #: src/tables/stock/StockItemTable.tsx:205 msgid "Stock Information" msgstr "" -#: src/tables/bom/BomTable.tsx:246 +#: src/tables/bom/BomTable.tsx:249 #: src/tables/build/BuildLineTable.tsx:195 msgid "Consumable item" msgstr "" -#: src/tables/bom/BomTable.tsx:267 +#: src/tables/bom/BomTable.tsx:270 msgid "Show trackable items" msgstr "" -#: src/tables/bom/BomTable.tsx:272 +#: src/tables/bom/BomTable.tsx:275 msgid "Show asssmbled items" msgstr "" -#: src/tables/bom/BomTable.tsx:277 +#: src/tables/bom/BomTable.tsx:280 msgid "Show items with available stock" msgstr "" -#: src/tables/bom/BomTable.tsx:282 +#: src/tables/bom/BomTable.tsx:285 msgid "Show items on order" msgstr "" -#: src/tables/bom/BomTable.tsx:286 +#: src/tables/bom/BomTable.tsx:289 msgid "Validated" msgstr "" -#: src/tables/bom/BomTable.tsx:287 +#: src/tables/bom/BomTable.tsx:290 msgid "Show validated items" msgstr "" -#: src/tables/bom/BomTable.tsx:291 +#: src/tables/bom/BomTable.tsx:294 #: src/tables/bom/UsedInTable.tsx:63 msgid "Inherited" msgstr "" -#: src/tables/bom/BomTable.tsx:292 +#: src/tables/bom/BomTable.tsx:295 #: src/tables/bom/UsedInTable.tsx:64 msgid "Show inherited items" msgstr "" -#: src/tables/bom/BomTable.tsx:296 +#: src/tables/bom/BomTable.tsx:299 msgid "Allow Variants" msgstr "" -#: src/tables/bom/BomTable.tsx:297 +#: src/tables/bom/BomTable.tsx:300 msgid "Show items which allow variant substitution" msgstr "" #: src/tables/bom/BomTable.tsx:301 +#~ msgid "Create BOM Item" +#~ msgstr "" + +#: src/tables/bom/BomTable.tsx:304 #: src/tables/bom/UsedInTable.tsx:68 #: src/tables/build/BuildLineTable.tsx:46 msgid "Optional" msgstr "" -#: src/tables/bom/BomTable.tsx:301 -#~ msgid "Create BOM Item" -#~ msgstr "" - -#: src/tables/bom/BomTable.tsx:302 +#: src/tables/bom/BomTable.tsx:305 #: src/tables/bom/UsedInTable.tsx:69 msgid "Show optional items" msgstr "" -#: src/tables/bom/BomTable.tsx:306 +#: src/tables/bom/BomTable.tsx:309 #: src/tables/build/BuildLineTable.tsx:41 msgid "Consumable" msgstr "" -#: src/tables/bom/BomTable.tsx:307 +#: src/tables/bom/BomTable.tsx:310 msgid "Show consumable items" msgstr "" -#: src/tables/bom/BomTable.tsx:311 -#: src/tables/part/PartTable.tsx:250 +#: src/tables/bom/BomTable.tsx:314 +#: src/tables/part/PartTable.tsx:257 msgid "Has Pricing" msgstr "" -#: src/tables/bom/BomTable.tsx:312 +#: src/tables/bom/BomTable.tsx:315 msgid "Show items with pricing" msgstr "" -#: src/tables/bom/BomTable.tsx:321 -#: src/tables/bom/BomTable.tsx:420 +#: src/tables/bom/BomTable.tsx:324 +#: src/tables/bom/BomTable.tsx:426 msgid "Add BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:326 +#: src/tables/bom/BomTable.tsx:329 msgid "BOM item created" msgstr "" @@ -4849,23 +4997,23 @@ msgstr "" #~ msgid "Edit Bom Item" #~ msgstr "" -#: src/tables/bom/BomTable.tsx:333 -msgid "Edit BOM Item" -msgstr "" - #: src/tables/bom/BomTable.tsx:333 #~ msgid "Bom item updated" #~ msgstr "" -#: src/tables/bom/BomTable.tsx:335 +#: src/tables/bom/BomTable.tsx:336 +msgid "Edit BOM Item" +msgstr "" + +#: src/tables/bom/BomTable.tsx:338 msgid "BOM item updated" msgstr "" -#: src/tables/bom/BomTable.tsx:342 +#: src/tables/bom/BomTable.tsx:345 msgid "Delete BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:343 +#: src/tables/bom/BomTable.tsx:346 msgid "BOM item deleted" msgstr "" @@ -4885,32 +5033,41 @@ msgstr "" #~ msgid "Validate BOM line" #~ msgstr "" -#: src/tables/bom/BomTable.tsx:355 +#: src/tables/bom/BomTable.tsx:358 msgid "BOM item validated" msgstr "" -#: src/tables/bom/BomTable.tsx:364 +#: src/tables/bom/BomTable.tsx:367 msgid "Failed to validate BOM item" msgstr "" -#: src/tables/bom/BomTable.tsx:376 +#: src/tables/bom/BomTable.tsx:379 msgid "View BOM" msgstr "" -#: src/tables/bom/BomTable.tsx:385 +#: src/tables/bom/BomTable.tsx:388 msgid "Validate BOM Line" msgstr "" -#: src/tables/bom/BomTable.tsx:399 +#: src/tables/bom/BomTable.tsx:405 msgid "Edit Substitutes" msgstr "" +#: src/tables/bom/BomTable.tsx:440 +#: src/tables/part/PartParameterTable.tsx:191 +msgid "Part is Locked" +msgstr "" + +#: src/tables/bom/BomTable.tsx:445 +msgid "Bill of materials cannot be edited, as the part is locked" +msgstr "" + #: src/tables/bom/UsedInTable.tsx:74 msgid "Show active assemblies" msgstr "" #: src/tables/bom/UsedInTable.tsx:78 -#: src/tables/part/PartTable.tsx:192 +#: src/tables/part/PartTable.tsx:199 #: src/tables/part/PartVariantTable.tsx:30 msgid "Trackable" msgstr "" @@ -4920,7 +5077,7 @@ msgid "Show trackable assemblies" msgstr "" #: src/tables/build/BuildLineTable.tsx:31 -#: src/tables/stock/StockItemTable.tsx:270 +#: src/tables/stock/StockItemTable.tsx:292 msgid "Allocated" msgstr "" @@ -4941,7 +5098,7 @@ msgid "Show optional lines" msgstr "" #: src/tables/build/BuildLineTable.tsx:51 -#: src/tables/stock/StockItemTable.tsx:329 +#: src/tables/stock/StockItemTable.tsx:351 msgid "Tracked" msgstr "" @@ -5054,10 +5211,6 @@ msgstr "" msgid "Deallocate stock from build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:205 -msgid "Complete" -msgstr "" - #: src/tables/build/BuildOutputTable.tsx:206 msgid "Complete build output" msgstr "" @@ -5387,7 +5540,7 @@ msgid "Message" msgstr "" #: src/tables/part/ParametricPartTable.tsx:76 -#: src/tables/part/PartParameterTable.tsx:88 +#: src/tables/part/PartParameterTable.tsx:95 msgid "Internal Units" msgstr "" @@ -5400,13 +5553,13 @@ msgid "Add Part Parameter" msgstr "" #: src/tables/part/ParametricPartTable.tsx:138 -#: src/tables/part/PartParameterTable.tsx:121 -#: src/tables/part/PartParameterTable.tsx:144 +#: src/tables/part/PartParameterTable.tsx:128 +#: src/tables/part/PartParameterTable.tsx:151 msgid "Edit Part Parameter" msgstr "" #: src/tables/part/PartCategoryTable.tsx:60 -#: src/tables/part/PartTable.tsx:180 +#: src/tables/part/PartTable.tsx:187 msgid "Include Subcategories" msgstr "" @@ -5419,7 +5572,7 @@ msgid "Show structural categories" msgstr "" #: src/tables/part/PartCategoryTable.tsx:70 -#: src/tables/part/PartTable.tsx:262 +#: src/tables/part/PartTable.tsx:269 msgid "Subscribed" msgstr "" @@ -5456,21 +5609,25 @@ msgstr "" #~ msgid "[{0}]" #~ msgstr "" -#: src/tables/part/PartParameterTable.tsx:105 +#: src/tables/part/PartParameterTable.tsx:112 msgid "New Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:130 -#: src/tables/part/PartParameterTable.tsx:152 +#: src/tables/part/PartParameterTable.tsx:137 +#: src/tables/part/PartParameterTable.tsx:159 msgid "Delete Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:170 +#: src/tables/part/PartParameterTable.tsx:177 msgid "Add parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:191 -#: src/tables/stock/StockItemTable.tsx:300 +#: src/tables/part/PartParameterTable.tsx:196 +msgid "Part parameters cannot be edited, as the part is locked" +msgstr "" + +#: src/tables/part/PartParameterTable.tsx:210 +#: src/tables/stock/StockItemTable.tsx:322 msgid "Include Variants" msgstr "" @@ -5491,7 +5648,7 @@ msgid "Show templates with choices" msgstr "" #: src/tables/part/PartParameterTemplateTable.tsx:41 -#: src/tables/part/PartTable.tsx:198 +#: src/tables/part/PartTable.tsx:205 msgid "Has Units" msgstr "" @@ -5515,116 +5672,120 @@ msgstr "" msgid "Add parameter template" msgstr "" -#: src/tables/part/PartTable.tsx:67 +#: src/tables/part/PartTable.tsx:68 msgid "Minimum stock" msgstr "" -#: src/tables/part/PartTable.tsx:89 +#: src/tables/part/PartTable.tsx:90 msgid "Build Order Allocations" msgstr "" -#: src/tables/part/PartTable.tsx:98 +#: src/tables/part/PartTable.tsx:99 msgid "Sales Order Allocations" msgstr "" -#: src/tables/part/PartTable.tsx:169 +#: src/tables/part/PartTable.tsx:170 msgid "Filter by part active status" msgstr "" -#: src/tables/part/PartTable.tsx:174 -#: src/tables/stock/StockItemTable.tsx:265 +#: src/tables/part/PartTable.tsx:176 +msgid "Filter by part locked status" +msgstr "" + +#: src/tables/part/PartTable.tsx:181 +#: src/tables/stock/StockItemTable.tsx:287 msgid "Assembly" msgstr "" -#: src/tables/part/PartTable.tsx:175 +#: src/tables/part/PartTable.tsx:182 msgid "Filter by assembly attribute" msgstr "" -#: src/tables/part/PartTable.tsx:181 +#: src/tables/part/PartTable.tsx:188 msgid "Include parts in subcategories" msgstr "" -#: src/tables/part/PartTable.tsx:187 +#: src/tables/part/PartTable.tsx:194 msgid "Filter by component attribute" msgstr "" -#: src/tables/part/PartTable.tsx:193 +#: src/tables/part/PartTable.tsx:200 msgid "Filter by trackable attribute" msgstr "" -#: src/tables/part/PartTable.tsx:199 +#: src/tables/part/PartTable.tsx:206 msgid "Filter by parts which have units" msgstr "" -#: src/tables/part/PartTable.tsx:204 +#: src/tables/part/PartTable.tsx:211 msgid "Has IPN" msgstr "" -#: src/tables/part/PartTable.tsx:205 +#: src/tables/part/PartTable.tsx:212 msgid "Filter by parts which have an internal part number" msgstr "" -#: src/tables/part/PartTable.tsx:210 +#: src/tables/part/PartTable.tsx:217 msgid "Has Stock" msgstr "" -#: src/tables/part/PartTable.tsx:211 +#: src/tables/part/PartTable.tsx:218 msgid "Filter by parts which have stock" msgstr "" -#: src/tables/part/PartTable.tsx:217 +#: src/tables/part/PartTable.tsx:224 msgid "Filter by parts which have low stock" msgstr "" -#: src/tables/part/PartTable.tsx:222 +#: src/tables/part/PartTable.tsx:229 msgid "Purchaseable" msgstr "" -#: src/tables/part/PartTable.tsx:223 +#: src/tables/part/PartTable.tsx:230 msgid "Filter by parts which are purchaseable" msgstr "" -#: src/tables/part/PartTable.tsx:228 +#: src/tables/part/PartTable.tsx:235 msgid "Salable" msgstr "" -#: src/tables/part/PartTable.tsx:229 +#: src/tables/part/PartTable.tsx:236 msgid "Filter by parts which are salable" msgstr "" -#: src/tables/part/PartTable.tsx:235 +#: src/tables/part/PartTable.tsx:242 msgid "Filter by parts which are virtual" msgstr "" -#: src/tables/part/PartTable.tsx:239 +#: src/tables/part/PartTable.tsx:246 msgid "Not Virtual" msgstr "" -#: src/tables/part/PartTable.tsx:244 +#: src/tables/part/PartTable.tsx:251 msgid "Is Template" msgstr "" -#: src/tables/part/PartTable.tsx:245 +#: src/tables/part/PartTable.tsx:252 msgid "Filter by parts which are templates" msgstr "" -#: src/tables/part/PartTable.tsx:251 +#: src/tables/part/PartTable.tsx:258 msgid "Filter by parts which have pricing information" msgstr "" -#: src/tables/part/PartTable.tsx:257 +#: src/tables/part/PartTable.tsx:264 msgid "Filter by parts which have available stock" msgstr "" -#: src/tables/part/PartTable.tsx:263 +#: src/tables/part/PartTable.tsx:270 msgid "Filter by parts to which the user is subscribed" msgstr "" -#: src/tables/part/PartTable.tsx:268 +#: src/tables/part/PartTable.tsx:275 msgid "Has Stocktake" msgstr "" -#: src/tables/part/PartTable.tsx:269 +#: src/tables/part/PartTable.tsx:276 msgid "Filter by parts which have stocktake information" msgstr "" @@ -5963,7 +6124,7 @@ msgid "Sample" msgstr "" #: src/tables/plugin/PluginListTable.tsx:578 -#: src/tables/stock/StockItemTable.tsx:305 +#: src/tables/stock/StockItemTable.tsx:327 msgid "Installed" msgstr "" @@ -6238,6 +6399,41 @@ msgstr "" msgid "Edit group" msgstr "" +#: src/tables/settings/ImportSessionTable.tsx:39 +msgid "Delete Import Session" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:45 +#: src/tables/settings/ImportSessionTable.tsx:132 +msgid "Create Import Session" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:70 +msgid "Uploaded" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:80 +msgid "Imported Rows" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:110 +#: src/tables/settings/TemplateTable.tsx:276 +msgid "Model Type" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:111 +#: src/tables/settings/TemplateTable.tsx:277 +msgid "Filter by target model type" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:117 +msgid "Filter by import session status" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:123 +msgid "Filter by user" +msgstr "" + #: src/tables/settings/PendingTasksTable.tsx:36 msgid "Arguments" msgstr "" @@ -6254,7 +6450,7 @@ msgstr "" msgid "Delete Project Code" msgstr "" -#: src/tables/settings/ProjectCodeTable.tsx:94 +#: src/tables/settings/ProjectCodeTable.tsx:92 msgid "Add project code" msgstr "" @@ -6323,14 +6519,6 @@ msgstr "" 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 "" @@ -6453,149 +6641,153 @@ msgstr "" msgid "This stock item has been depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:255 +#: src/tables/stock/StockItemTable.tsx:247 +msgid "Stock Value" +msgstr "" + +#: src/tables/stock/StockItemTable.tsx:277 msgid "Show stock for active parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:260 +#: src/tables/stock/StockItemTable.tsx:282 msgid "Filter by stock status" msgstr "" -#: src/tables/stock/StockItemTable.tsx:266 +#: src/tables/stock/StockItemTable.tsx:288 msgid "Show stock for assmebled parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:271 +#: src/tables/stock/StockItemTable.tsx:293 msgid "Show items which have been allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:276 +#: src/tables/stock/StockItemTable.tsx:298 msgid "Show items which are available" msgstr "" -#: src/tables/stock/StockItemTable.tsx:280 +#: src/tables/stock/StockItemTable.tsx:302 #: src/tables/stock/StockLocationTable.tsx:42 msgid "Include Sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:281 +#: src/tables/stock/StockItemTable.tsx:303 msgid "Include stock in sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:285 +#: src/tables/stock/StockItemTable.tsx:307 msgid "Depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:286 +#: src/tables/stock/StockItemTable.tsx:308 msgid "Show depleted stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:291 +#: src/tables/stock/StockItemTable.tsx:313 msgid "Show items which are in stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:296 +#: src/tables/stock/StockItemTable.tsx:318 msgid "Show items which are in production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:301 +#: src/tables/stock/StockItemTable.tsx:323 msgid "Include stock items for variant parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:306 +#: src/tables/stock/StockItemTable.tsx:328 msgid "Show stock items which are installed in other items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:310 +#: src/tables/stock/StockItemTable.tsx:332 msgid "Sent to Customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:311 +#: src/tables/stock/StockItemTable.tsx:333 msgid "Show items which have been sent to a customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:315 +#: src/tables/stock/StockItemTable.tsx:337 msgid "Is Serialized" msgstr "" -#: src/tables/stock/StockItemTable.tsx:316 +#: src/tables/stock/StockItemTable.tsx:338 msgid "Show items which have a serial number" msgstr "" -#: src/tables/stock/StockItemTable.tsx:323 +#: src/tables/stock/StockItemTable.tsx:345 msgid "Has Batch Code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:324 +#: src/tables/stock/StockItemTable.tsx:346 msgid "Show items which have a batch code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:330 +#: src/tables/stock/StockItemTable.tsx:352 msgid "Show tracked items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:334 +#: src/tables/stock/StockItemTable.tsx:356 msgid "Has Purchase Price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:335 +#: src/tables/stock/StockItemTable.tsx:357 msgid "Show items which have a purchase price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:343 +#: src/tables/stock/StockItemTable.tsx:365 msgid "External Location" msgstr "" -#: src/tables/stock/StockItemTable.tsx:344 +#: src/tables/stock/StockItemTable.tsx:366 msgid "Show items in an external location" msgstr "" -#: src/tables/stock/StockItemTable.tsx:416 +#: src/tables/stock/StockItemTable.tsx:438 msgid "Add a new stock item" msgstr "" -#: src/tables/stock/StockItemTable.tsx:425 +#: src/tables/stock/StockItemTable.tsx:447 msgid "Remove some quantity from a stock item" msgstr "" -#: src/tables/stock/StockItemTable.tsx:447 +#: src/tables/stock/StockItemTable.tsx:469 msgid "Move Stock items to new locations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:454 +#: src/tables/stock/StockItemTable.tsx:476 msgid "Change stock status" msgstr "" -#: src/tables/stock/StockItemTable.tsx:456 +#: src/tables/stock/StockItemTable.tsx:478 msgid "Change the status of stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:463 +#: src/tables/stock/StockItemTable.tsx:485 msgid "Merge stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:465 +#: src/tables/stock/StockItemTable.tsx:487 msgid "Merge stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:472 +#: src/tables/stock/StockItemTable.tsx:494 msgid "Order stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:474 -#: src/tables/stock/StockItemTable.tsx:480 +#: src/tables/stock/StockItemTable.tsx:496 +#: src/tables/stock/StockItemTable.tsx:502 msgid "Order new stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:478 +#: src/tables/stock/StockItemTable.tsx:500 msgid "Assign to customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:487 +#: src/tables/stock/StockItemTable.tsx:509 msgid "Delete stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:489 +#: src/tables/stock/StockItemTable.tsx:511 msgid "Delete stock items" msgstr "" diff --git a/src/frontend/src/locales/es/messages.po b/src/frontend/src/locales/es/messages.po index 02647898ce65..92888e61a36b 100644 --- a/src/frontend/src/locales/es/messages.po +++ b/src/frontend/src/locales/es/messages.po @@ -49,16 +49,18 @@ msgstr "Impresión de etiqueta completada con éxito" #: src/components/buttons/PrintingActions.tsx:107 #: src/components/buttons/PrintingActions.tsx:144 #: src/components/editors/NotesEditor.tsx:65 -#: src/components/editors/NotesEditor.tsx:160 -#: src/components/forms/ApiForm.tsx:506 -#: src/components/forms/fields/ApiFormField.tsx:295 +#: src/components/editors/NotesEditor.tsx:165 +#: src/components/forms/ApiForm.tsx:513 +#: src/components/forms/fields/ApiFormField.tsx:306 +#: src/components/importer/ImportDataSelector.tsx:171 +#: src/components/importer/ImporterColumnSelector.tsx:112 #: src/components/modals/LicenseModal.tsx:75 #: src/components/nav/SearchDrawer.tsx:427 #: src/pages/ErrorPage.tsx:11 #: src/pages/part/PartPricingPanel.tsx:71 -#: src/tables/InvenTreeTable.tsx:451 -#: src/tables/InvenTreeTable.tsx:526 -#: src/tables/bom/BomTable.tsx:363 +#: src/tables/InvenTreeTable.tsx:470 +#: src/tables/InvenTreeTable.tsx:545 +#: src/tables/bom/BomTable.tsx:366 #: src/tables/stock/StockItemTestResultTable.tsx:294 msgid "Error" msgstr "Error" @@ -157,7 +159,7 @@ msgstr "Eliminar" #: src/functions/forms.tsx:196 #: src/hooks/UseForm.tsx:40 #: src/tables/FilterSelectDrawer.tsx:204 -#: src/tables/InvenTreeTable.tsx:499 +#: src/tables/InvenTreeTable.tsx:518 #: src/tables/build/BuildOutputTable.tsx:225 msgid "Cancel" msgstr "Cancelar" @@ -175,7 +177,7 @@ msgid "Clear" msgstr "Borrar" #: src/components/details/DetailsImage.tsx:227 -#: src/components/forms/ApiForm.tsx:573 +#: src/components/forms/ApiForm.tsx:580 #: src/contexts/ThemeContext.tsx:43 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:56 msgid "Submit" @@ -202,48 +204,61 @@ msgid "Delete image" msgstr "Eliminar imagen" #: src/components/details/PartIcons.tsx:28 +#: src/tables/ColumnRenderers.tsx:35 +msgid "Part is locked" +msgstr "" + +#: src/components/details/PartIcons.tsx:30 +#: src/pages/part/PartDetail.tsx:267 +#: src/pages/part/PartDetail.tsx:698 +#: src/tables/part/PartTable.tsx:175 +msgid "Locked" +msgstr "" + +#: src/components/details/PartIcons.tsx:35 +#: src/tables/ColumnRenderers.tsx:30 msgid "Part is not active" msgstr "La pieza no está activa" -#: src/components/details/PartIcons.tsx:34 +#: src/components/details/PartIcons.tsx:37 #: src/components/render/Plugin.tsx:17 #: src/pages/company/CompanyDetail.tsx:315 #: src/pages/company/SupplierPartDetail.tsx:307 -#: src/pages/part/PartDetail.tsx:685 +#: src/pages/part/PartDetail.tsx:704 msgid "Inactive" msgstr "Inactivo" -#: src/components/details/PartIcons.tsx:41 +#: src/components/details/PartIcons.tsx:43 msgid "Part is a template part (variants can be made from this part)" msgstr "La pieza es una pieza de plantilla (se pueden hacer variantes de esta misma)" -#: src/components/details/PartIcons.tsx:47 +#: src/components/details/PartIcons.tsx:49 msgid "Part can be assembled from other parts" msgstr "Esta pieza se puede ensamblar utilizando otras partes" -#: src/components/details/PartIcons.tsx:53 +#: src/components/details/PartIcons.tsx:55 msgid "Part can be used in assemblies" msgstr "Esta pieza se puede usar en ensamblajes" -#: src/components/details/PartIcons.tsx:59 +#: src/components/details/PartIcons.tsx:61 msgid "Part stock is tracked by serial number" msgstr "Stock de pieza será rastreado con número de serie" -#: src/components/details/PartIcons.tsx:65 +#: src/components/details/PartIcons.tsx:67 msgid "Part can be purchased from external suppliers" msgstr "" -#: src/components/details/PartIcons.tsx:71 +#: src/components/details/PartIcons.tsx:73 msgid "Part can be sold to customers" msgstr "" -#: src/components/details/PartIcons.tsx:76 +#: src/components/details/PartIcons.tsx:78 msgid "Part is virtual (not a physical part)" msgstr "" -#: src/components/details/PartIcons.tsx:82 -#: src/tables/part/PartTable.tsx:234 -#: src/tables/part/PartTable.tsx:238 +#: src/components/details/PartIcons.tsx:84 +#: src/tables/part/PartTable.tsx:241 +#: src/tables/part/PartTable.tsx:245 #: src/tables/part/PartVariantTable.tsx:25 msgid "Virtual" msgstr "" @@ -252,29 +267,29 @@ msgstr "" msgid "Image upload failed" msgstr "" -#: src/components/editors/NotesEditor.tsx:151 -#: src/components/forms/ApiForm.tsx:430 -#: src/tables/bom/BomTable.tsx:354 +#: src/components/editors/NotesEditor.tsx:156 +#: src/components/forms/ApiForm.tsx:437 +#: src/tables/bom/BomTable.tsx:357 msgid "Success" msgstr "" -#: src/components/editors/NotesEditor.tsx:152 +#: src/components/editors/NotesEditor.tsx:157 msgid "Notes saved successfully" msgstr "" -#: src/components/editors/NotesEditor.tsx:161 +#: src/components/editors/NotesEditor.tsx:166 msgid "Failed to save notes" msgstr "" -#: src/components/editors/NotesEditor.tsx:193 +#: src/components/editors/NotesEditor.tsx:198 msgid "Preview Notes" msgstr "" -#: src/components/editors/NotesEditor.tsx:193 +#: src/components/editors/NotesEditor.tsx:198 msgid "Edit Notes" msgstr "" -#: src/components/editors/NotesEditor.tsx:207 +#: src/components/editors/NotesEditor.tsx:212 msgid "Save Notes" msgstr "" @@ -407,7 +422,7 @@ msgstr "" msgid "A server error occurred" msgstr "" -#: src/components/forms/ApiForm.tsx:149 +#: src/components/forms/ApiForm.tsx:151 #: src/functions/forms.tsx:259 msgid "Form Error" msgstr "" @@ -416,18 +431,18 @@ msgstr "" #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:611 +#: src/components/forms/ApiForm.tsx:618 #: src/tables/plugin/PluginListTable.tsx:388 msgid "Update" msgstr "" -#: src/components/forms/ApiForm.tsx:631 +#: src/components/forms/ApiForm.tsx:638 #: 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:498 +#: src/tables/InvenTreeTable.tsx:517 #: src/tables/RowActions.tsx:71 #: src/tables/plugin/PluginListTable.tsx:420 msgid "Delete" @@ -600,7 +615,7 @@ msgstr "" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:70 #: src/pages/part/CategoryDetail.tsx:80 -#: src/pages/part/PartDetail.tsx:122 +#: src/pages/part/PartDetail.tsx:123 #: src/pages/stock/LocationDetail.tsx:87 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 @@ -685,6 +700,124 @@ msgstr "" msgid "Thumbnail" msgstr "" +#: src/components/importer/ImportDataSelector.tsx:154 +msgid "Importing Rows" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:155 +msgid "Please wait while the data is imported" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:172 +msgid "An error occurred while importing data" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:191 +msgid "Edit Data" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:218 +msgid "Delete Row" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:248 +msgid "Row" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:266 +msgid "Row contains errors" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:307 +msgid "Accept" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:340 +msgid "Valid" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:341 +msgid "Filter by row validation status" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:346 +#: src/tables/build/BuildOutputTable.tsx:205 +msgid "Complete" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:347 +msgid "Filter by row completion status" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:364 +msgid "Import selected rows" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:46 +#: src/components/importer/ImporterColumnSelector.tsx:85 +msgid "An error occurred" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:57 +msgid "Select column, or leave blank to ignore this field." +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:91 +msgid "Select a column from the data file" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:104 +msgid "Map data columns to database fields" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:109 +msgid "Accept Column Mapping" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:117 +msgid "Database Field" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:118 +msgid "Field Description" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:119 +msgid "Imported Column Name" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:44 +msgid "Import Data" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:45 +msgid "Map Columns" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:46 +msgid "Process Data" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:47 +msgid "Complete Import" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:91 +msgid "Importing Data" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:97 +msgid "Cancel import session" +msgstr "" + +#: src/components/importer/ImporterImportProgress.tsx:36 +msgid "Importing Records" +msgstr "" + +#: src/components/importer/ImporterImportProgress.tsx:39 +msgid "Imported rows" +msgstr "" + #: src/components/items/ActionDropdown.tsx:119 #: src/pages/build/BuildDetail.tsx:358 msgid "Barcode Actions" @@ -738,7 +871,7 @@ msgid "Read More" msgstr "" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:443 +#: src/tables/InvenTreeTable.tsx:462 msgid "Unknown error" msgstr "" @@ -1039,13 +1172,13 @@ msgstr "" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:313 +#: src/pages/Index/Settings/SystemSettings.tsx:314 msgid "System Settings" msgstr "" #: src/components/nav/MainMenu.tsx:67 #: src/defaults/menuItems.tsx:63 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:198 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:209 msgid "Admin Center" msgstr "" @@ -1088,7 +1221,7 @@ msgid "Pages" msgstr "" #: src/components/nav/NavigationDrawer.tsx:65 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:157 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:168 #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:41 msgid "Plugins" msgstr "" @@ -1102,7 +1235,7 @@ msgstr "" msgid "About" msgstr "" -#: src/components/nav/NotificationDrawer.tsx:78 +#: src/components/nav/NotificationDrawer.tsx:81 #: src/pages/Index/Settings/SystemSettings.tsx:108 #: src/pages/Index/Settings/UserSettings.tsx:96 #: src/pages/Notifications.tsx:65 @@ -1110,17 +1243,17 @@ msgstr "" msgid "Notifications" msgstr "" -#: src/components/nav/NotificationDrawer.tsx:95 +#: src/components/nav/NotificationDrawer.tsx:98 msgid "You have no unread notifications." msgstr "" -#: src/components/nav/NotificationDrawer.tsx:111 -#: src/components/nav/NotificationDrawer.tsx:117 +#: src/components/nav/NotificationDrawer.tsx:114 +#: src/components/nav/NotificationDrawer.tsx:120 #: src/tables/notifications/NotificationsTable.tsx:36 msgid "Notification" msgstr "" -#: src/components/nav/NotificationDrawer.tsx:140 +#: src/components/nav/NotificationDrawer.tsx:143 #: src/pages/Notifications.tsx:73 msgid "Mark as read" msgstr "" @@ -1157,7 +1290,7 @@ msgstr "" msgid "No results available for search query" msgstr "" -#: src/components/render/Instance.tsx:166 +#: src/components/render/Instance.tsx:201 msgid "Unknown model: {model}" msgstr "" @@ -1172,7 +1305,8 @@ msgstr "" #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 #: src/pages/build/BuildDetail.tsx:85 -#: src/pages/part/PartDetail.tsx:831 +#: src/pages/part/PartDetail.tsx:872 +#: src/tables/part/PartTable.tsx:28 #: src/tables/part/RelatedPartTable.tsx:45 #: src/tables/stock/StockTrackingTable.tsx:74 msgid "Part" @@ -1185,7 +1319,7 @@ msgstr "" #: src/pages/part/CategoryDetail.tsx:112 #: src/pages/part/CategoryDetail.tsx:237 #: src/pages/part/CategoryDetail.tsx:267 -#: src/pages/part/PartDetail.tsx:639 +#: src/pages/part/PartDetail.tsx:652 msgid "Parts" msgstr "" @@ -1235,7 +1369,7 @@ msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:172 #: src/pages/part/CategoryDetail.tsx:251 #: src/pages/part/CategoryDetail.tsx:288 -#: src/pages/part/PartDetail.tsx:821 +#: src/pages/part/PartDetail.tsx:862 msgid "Part Categories" msgstr "" @@ -1317,7 +1451,7 @@ msgid "Project Code" msgstr "" #: src/components/render/ModelType.tsx:127 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:109 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:120 msgid "Project Codes" msgstr "" @@ -1329,10 +1463,10 @@ msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:134 -#: src/pages/Index/Settings/SystemSettings.tsx:257 +#: src/pages/Index/Settings/SystemSettings.tsx:258 #: src/pages/company/CompanyDetail.tsx:194 #: src/pages/company/SupplierPartDetail.tsx:226 -#: src/pages/part/PartDetail.tsx:573 +#: src/pages/part/PartDetail.tsx:586 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "Órdenes de compra" @@ -1354,9 +1488,9 @@ msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:272 +#: src/pages/Index/Settings/SystemSettings.tsx:273 #: src/pages/company/CompanyDetail.tsx:214 -#: src/pages/part/PartDetail.tsx:580 +#: src/pages/part/PartDetail.tsx:593 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" @@ -1376,7 +1510,7 @@ msgid "Return Order" msgstr "" #: src/components/render/ModelType.tsx:164 -#: src/pages/Index/Settings/SystemSettings.tsx:288 +#: src/pages/Index/Settings/SystemSettings.tsx:289 #: src/pages/company/CompanyDetail.tsx:221 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1413,40 +1547,49 @@ msgid "Owners" msgstr "" #: src/components/render/ModelType.tsx:193 +#: src/tables/settings/ImportSessionTable.tsx:122 #: src/tables/stock/StockItemTestResultTable.tsx:193 #: src/tables/stock/StockTrackingTable.tsx:195 msgid "User" msgstr "" #: src/components/render/ModelType.tsx:194 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:85 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:90 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" msgstr "" #: src/components/render/ModelType.tsx:200 -msgid "Label Template" +msgid "Import Session" msgstr "" #: src/components/render/ModelType.tsx:201 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:139 -msgid "Label Templates" +msgid "Import Sessions" msgstr "" #: src/components/render/ModelType.tsx:207 -msgid "Report Template" +msgid "Label Template" msgstr "" #: src/components/render/ModelType.tsx:208 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:145 -msgid "Report Templates" +#: src/pages/Index/Settings/AdminCenter/Index.tsx:150 +msgid "Label Templates" msgstr "" #: src/components/render/ModelType.tsx:214 -msgid "Plugin Configuration" +msgid "Report Template" msgstr "" #: src/components/render/ModelType.tsx:215 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:156 +msgid "Report Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:221 +msgid "Plugin Configuration" +msgstr "" + +#: src/components/render/ModelType.tsx:222 msgid "Plugin Configurations" msgstr "" @@ -1458,7 +1601,7 @@ msgstr "" #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 #: src/pages/Index/Settings/SystemSettings.tsx:210 -#: src/pages/part/PartDetail.tsx:492 +#: src/pages/part/PartDetail.tsx:503 #: src/pages/stock/LocationDetail.tsx:347 #: src/pages/stock/StockDetail.tsx:356 #: src/tables/stock/StockItemTable.tsx:57 @@ -1641,10 +1784,6 @@ msgstr "" #~ msgid "Comment" #~ msgstr "Comment" -#: src/components/tables/general/AttachmentTable.tsx:56 -#~ msgid "Uploaded" -#~ msgstr "Uploaded" - #: src/components/tables/part/PartCategoryTable.tsx:122 #~ msgid "Part category updated" #~ msgstr "Part category updated" @@ -2157,7 +2296,7 @@ msgid "Recently Updated" msgstr "" #: src/defaults/dashboardItems.tsx:50 -#: src/tables/part/PartTable.tsx:216 +#: src/tables/part/PartTable.tsx:223 msgid "Low Stock" msgstr "" @@ -2466,7 +2605,7 @@ msgstr "" #~ msgid "Company updated" #~ msgstr "Company updated" -#: src/forms/PartForms.tsx:100 +#: src/forms/PartForms.tsx:103 msgid "Parent part category" msgstr "" @@ -2534,7 +2673,7 @@ msgstr "" #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 #: src/pages/stock/StockDetail.tsx:173 -#: src/tables/ColumnRenderers.tsx:34 +#: src/tables/ColumnRenderers.tsx:49 #: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" msgstr "" @@ -2585,8 +2724,8 @@ msgstr "" #: src/forms/StockForms.tsx:176 #: src/pages/stock/StockDetail.tsx:379 -#: src/tables/stock/StockItemTable.tsx:382 -#: src/tables/stock/StockItemTable.tsx:499 +#: src/tables/stock/StockItemTable.tsx:404 +#: src/tables/stock/StockItemTable.tsx:521 msgid "Add Stock Item" msgstr "" @@ -2606,9 +2745,9 @@ msgstr "" #: src/forms/StockForms.tsx:606 #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 -#: src/pages/part/PartDetail.tsx:202 -#: src/pages/part/PartDetail.tsx:655 -#: src/tables/stock/StockItemTable.tsx:290 +#: src/pages/part/PartDetail.tsx:203 +#: src/pages/part/PartDetail.tsx:668 +#: src/tables/stock/StockItemTable.tsx:312 msgid "In Stock" msgstr "En Stock" @@ -2649,12 +2788,12 @@ msgid "Remove Stock" msgstr "" #: src/forms/StockForms.tsx:803 -#: src/pages/part/PartDetail.tsx:782 +#: src/pages/part/PartDetail.tsx:823 msgid "Transfer Stock" msgstr "" #: src/forms/StockForms.tsx:812 -#: src/pages/part/PartDetail.tsx:771 +#: src/pages/part/PartDetail.tsx:812 msgid "Count Stock" msgstr "" @@ -3279,53 +3418,57 @@ msgstr "" #~ msgid "Advanced Amininistrative Options for InvenTree" #~ msgstr "Advanced Amininistrative Options for InvenTree" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:91 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:96 +msgid "Data Import" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:102 msgid "Background Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:97 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:108 msgid "Error Reports" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:103 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:114 msgid "Currencies" 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:132 msgid "Custom Units" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:138 #: src/pages/part/CategoryDetail.tsx:257 msgid "Part Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 -#~ msgid "Templates" -#~ msgstr "Templates" - -#: src/pages/Index/Settings/AdminCenter/Index.tsx:133 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:144 msgid "Category Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:151 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:162 msgid "Location types" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:163 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:174 #: src/tables/machine/MachineTypeTable.tsx:287 msgid "Machines" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:173 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:184 msgid "Quick Actions" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:178 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:189 msgid "Add a new user" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:199 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:210 msgid "Advanced Options" msgstr "" @@ -3477,7 +3620,7 @@ msgid "Reporting" msgstr "Informes" #: src/pages/Index/Settings/SystemSettings.tsx:235 -#: src/pages/part/PartDetail.tsx:593 +#: src/pages/part/PartDetail.tsx:606 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" @@ -3485,12 +3628,12 @@ msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:241 #: src/pages/build/BuildDetail.tsx:423 #: src/pages/build/BuildIndex.tsx:14 -#: src/pages/part/PartDetail.tsx:527 +#: src/pages/part/PartDetail.tsx:540 #: src/pages/sales/SalesOrderDetail.tsx:270 msgid "Build Orders" msgstr "Ordenes de Producción" -#: src/pages/Index/Settings/SystemSettings.tsx:316 +#: src/pages/Index/Settings/SystemSettings.tsx:317 msgid "Switch to User Setting" msgstr "Cambiar a Configuración de Usuario" @@ -3555,7 +3698,8 @@ msgstr "" #: 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/settings/ImportSessionTable.tsx:116 +#: src/tables/stock/StockItemTable.tsx:281 #: src/tables/stock/StockTrackingTable.tsx:52 msgid "Status" msgstr "" @@ -3564,7 +3708,7 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:104 #: src/pages/sales/ReturnOrderDetail.tsx:73 #: src/pages/sales/SalesOrderDetail.tsx:77 -#: src/tables/ColumnRenderers.tsx:106 +#: src/tables/ColumnRenderers.tsx:121 #: src/tables/build/BuildLineTable.tsx:140 msgid "Reference" msgstr "" @@ -3574,12 +3718,12 @@ msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:78 #: src/pages/company/SupplierPartDetail.tsx:85 #: src/pages/part/CategoryDetail.tsx:94 -#: src/pages/part/PartDetail.tsx:129 +#: src/pages/part/PartDetail.tsx:130 #: src/pages/purchasing/PurchaseOrderDetail.tsx:125 #: src/pages/sales/ReturnOrderDetail.tsx:93 #: src/pages/sales/SalesOrderDetail.tsx:97 #: src/pages/stock/LocationDetail.tsx:101 -#: src/tables/ColumnRenderers.tsx:66 +#: src/tables/ColumnRenderers.tsx:81 #: src/tables/machine/MachineTypeTable.tsx:69 #: src/tables/machine/MachineTypeTable.tsx:112 #: src/tables/machine/MachineTypeTable.tsx:219 @@ -3610,7 +3754,7 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:152 -#: src/pages/part/PartDetail.tsx:317 +#: src/pages/part/PartDetail.tsx:323 #: src/pages/purchasing/PurchaseOrderDetail.tsx:217 #: src/pages/sales/ReturnOrderDetail.tsx:186 #: src/pages/sales/SalesOrderDetail.tsx:190 @@ -3630,7 +3774,7 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:210 #: src/pages/sales/ReturnOrderDetail.tsx:179 #: src/pages/sales/SalesOrderDetail.tsx:183 -#: src/tables/ColumnRenderers.tsx:191 +#: src/tables/ColumnRenderers.tsx:206 msgid "Target Date" msgstr "" @@ -3711,7 +3855,7 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:297 #: src/pages/company/CompanyDetail.tsx:257 #: src/pages/company/ManufacturerPartDetail.tsx:174 -#: src/pages/part/PartDetail.tsx:616 +#: src/pages/part/PartDetail.tsx:629 #: src/pages/purchasing/PurchaseOrderDetail.tsx:279 #: src/pages/sales/ReturnOrderDetail.tsx:230 #: src/pages/sales/SalesOrderDetail.tsx:280 @@ -3721,7 +3865,7 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:305 #: src/pages/company/CompanyDetail.tsx:268 -#: src/pages/part/PartDetail.tsx:624 +#: src/pages/part/PartDetail.tsx:637 #: src/pages/purchasing/PurchaseOrderDetail.tsx:290 #: src/pages/sales/ReturnOrderDetail.tsx:241 #: src/pages/sales/SalesOrderDetail.tsx:291 @@ -3877,12 +4021,12 @@ msgid "Manufacturer Part Details" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:148 -#: src/pages/part/PartDetail.tsx:486 +#: src/pages/part/PartDetail.tsx:492 msgid "Parameters" msgstr "Parámetros" #: src/pages/company/ManufacturerPartDetail.tsx:160 -#: src/pages/part/PartDetail.tsx:560 +#: src/pages/part/PartDetail.tsx:573 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" msgstr "Proveedores" @@ -3907,7 +4051,7 @@ msgid "ManufacturerPart" msgstr "" #: src/pages/company/SupplierPartDetail.tsx:99 -#: src/tables/ColumnRenderers.tsx:117 +#: src/tables/ColumnRenderers.tsx:132 msgid "Note" msgstr "" @@ -4043,275 +4187,275 @@ msgstr "" msgid "Category Details" msgstr "" -#: src/pages/part/PartDetail.tsx:135 +#: src/pages/part/PartDetail.tsx:136 msgid "Variant of" msgstr "" -#: src/pages/part/PartDetail.tsx:142 +#: src/pages/part/PartDetail.tsx:143 #: src/tables/notifications/NotificationsTable.tsx:31 #: src/tables/part/PartCategoryTemplateTable.tsx:67 msgid "Category" msgstr "" -#: src/pages/part/PartDetail.tsx:148 +#: src/pages/part/PartDetail.tsx:149 msgid "Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:155 +#: src/pages/part/PartDetail.tsx:156 msgid "Category Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:162 +#: src/pages/part/PartDetail.tsx:163 msgid "IPN" msgstr "" -#: src/pages/part/PartDetail.tsx:169 +#: src/pages/part/PartDetail.tsx:170 msgid "Revision" msgstr "" -#: src/pages/part/PartDetail.tsx:176 +#: src/pages/part/PartDetail.tsx:177 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" msgstr "" -#: src/pages/part/PartDetail.tsx:183 +#: src/pages/part/PartDetail.tsx:184 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:190 +#: src/pages/part/PartDetail.tsx:191 #: src/pages/purchasing/PurchaseOrderDetail.tsx:183 #: src/pages/sales/ReturnOrderDetail.tsx:152 #: src/pages/sales/SalesOrderDetail.tsx:156 msgid "Link" msgstr "" -#: src/pages/part/PartDetail.tsx:208 -#: src/tables/bom/BomTable.tsx:276 +#: src/pages/part/PartDetail.tsx:209 +#: src/tables/bom/BomTable.tsx:279 #: src/tables/build/BuildLineTable.tsx:121 -#: src/tables/part/PartTable.tsx:256 +#: src/tables/part/PartTable.tsx:263 msgid "Available Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:215 +#: src/pages/part/PartDetail.tsx:216 msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:221 -#: src/tables/bom/BomTable.tsx:217 +#: src/pages/part/PartDetail.tsx:222 +#: src/tables/bom/BomTable.tsx:220 #: src/tables/build/BuildLineTable.tsx:95 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:230 +#: src/pages/part/PartDetail.tsx:231 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:238 +#: src/pages/part/PartDetail.tsx:239 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:245 -#: src/tables/bom/BomTable.tsx:241 +#: src/pages/part/PartDetail.tsx:246 +#: src/tables/bom/BomTable.tsx:244 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:252 -#: src/tables/bom/BomTable.tsx:225 -#: src/tables/part/PartTable.tsx:82 +#: src/pages/part/PartDetail.tsx:253 +#: src/tables/bom/BomTable.tsx:228 +#: src/tables/part/PartTable.tsx:83 msgid "Building" msgstr "" -#: src/pages/part/PartDetail.tsx:261 +#: src/pages/part/PartDetail.tsx:262 #: src/tables/bom/UsedInTable.tsx:73 #: src/tables/build/BuildOrderTable.tsx:108 #: src/tables/company/CompanyTable.tsx:61 #: src/tables/company/CompanyTable.tsx:95 #: src/tables/machine/MachineListTable.tsx:323 #: src/tables/machine/MachineListTable.tsx:585 -#: src/tables/part/PartTable.tsx:168 +#: src/tables/part/PartTable.tsx:169 #: src/tables/part/PartVariantTable.tsx:15 #: 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 +#: src/tables/stock/StockItemTable.tsx:276 msgid "Active" msgstr "Activo" -#: src/pages/part/PartDetail.tsx:266 +#: src/pages/part/PartDetail.tsx:272 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:271 -#: src/tables/bom/BomTable.tsx:271 +#: src/pages/part/PartDetail.tsx:277 +#: src/tables/bom/BomTable.tsx:274 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:276 +#: src/pages/part/PartDetail.tsx:282 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:281 -#: src/tables/bom/BomTable.tsx:266 +#: src/pages/part/PartDetail.tsx:287 +#: src/tables/bom/BomTable.tsx:269 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:286 +#: src/pages/part/PartDetail.tsx:292 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:291 +#: src/pages/part/PartDetail.tsx:297 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:296 +#: src/pages/part/PartDetail.tsx:302 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:304 -#: src/tables/ColumnRenderers.tsx:199 +#: src/pages/part/PartDetail.tsx:310 +#: src/tables/ColumnRenderers.tsx:214 msgid "Creation Date" msgstr "" -#: src/pages/part/PartDetail.tsx:309 -msgid "Created By" -msgstr "" - #: src/pages/part/PartDetail.tsx:310 #~ msgid "Edit part" #~ msgstr "Edit part" +#: src/pages/part/PartDetail.tsx:315 +msgid "Created By" +msgstr "" + #: src/pages/part/PartDetail.tsx:322 #~ msgid "Duplicate part" #~ msgstr "Duplicate part" -#: src/pages/part/PartDetail.tsx:324 -msgid "Default Supplier" -msgstr "" - #: src/pages/part/PartDetail.tsx:327 #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:335 +#: src/pages/part/PartDetail.tsx:330 +msgid "Default Supplier" +msgstr "" + +#: src/pages/part/PartDetail.tsx:341 #: src/pages/part/pricing/BomPricingPanel.tsx:78 #: src/pages/part/pricing/VariantPricingPanel.tsx:95 -#: src/tables/part/PartTable.tsx:151 +#: src/tables/part/PartTable.tsx:152 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:374 +#: src/pages/part/PartDetail.tsx:380 #: src/pages/stock/StockDetail.tsx:133 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:409 +#: src/pages/part/PartDetail.tsx:415 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:480 +#: src/pages/part/PartDetail.tsx:486 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:506 +#: src/pages/part/PartDetail.tsx:517 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:513 +#: src/pages/part/PartDetail.tsx:524 #: src/pages/stock/StockDetail.tsx:286 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:520 +#: src/pages/part/PartDetail.tsx:531 msgid "Bill of Materials" msgstr "" -#: src/pages/part/PartDetail.tsx:534 +#: src/pages/part/PartDetail.tsx:547 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:541 +#: src/pages/part/PartDetail.tsx:554 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:547 +#: src/pages/part/PartDetail.tsx:560 #: src/pages/purchasing/PurchasingIndex.tsx:37 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:587 +#: src/pages/part/PartDetail.tsx:600 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:599 +#: src/pages/part/PartDetail.tsx:612 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:610 +#: src/pages/part/PartDetail.tsx:623 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:661 +#: src/pages/part/PartDetail.tsx:674 #: src/pages/stock/StockDetail.tsx:154 #: src/pages/stock/StockDetail.tsx:533 #: src/tables/build/BuildLineTable.tsx:36 -#: src/tables/part/PartTable.tsx:107 +#: src/tables/part/PartTable.tsx:108 #: src/tables/stock/StockItemTable.tsx:166 -#: src/tables/stock/StockItemTable.tsx:275 +#: src/tables/stock/StockItemTable.tsx:297 msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:667 +#: src/pages/part/PartDetail.tsx:680 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:673 -#: src/tables/bom/BomTable.tsx:281 -#: src/tables/part/PartTable.tsx:76 +#: src/pages/part/PartDetail.tsx:686 +#: src/tables/bom/BomTable.tsx:284 +#: src/tables/part/PartTable.tsx:77 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:679 +#: src/pages/part/PartDetail.tsx:692 #: src/pages/stock/StockDetail.tsx:516 -#: src/tables/stock/StockItemTable.tsx:295 +#: src/tables/stock/StockItemTable.tsx:317 msgid "In Production" msgstr "En producción" -#: src/pages/part/PartDetail.tsx:698 +#: src/pages/part/PartDetail.tsx:717 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:705 -#: src/tables/part/PartTable.tsx:289 -#: src/tables/part/PartTable.tsx:302 +#: src/pages/part/PartDetail.tsx:744 +#: src/tables/part/PartTable.tsx:296 +#: src/tables/part/PartTable.tsx:309 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:717 +#: src/pages/part/PartDetail.tsx:758 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:726 +#: src/pages/part/PartDetail.tsx:767 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:764 +#: src/pages/part/PartDetail.tsx:805 #: src/pages/stock/LocationDetail.tsx:304 -#: src/tables/stock/StockItemTable.tsx:409 +#: src/tables/stock/StockItemTable.tsx:431 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:772 +#: src/pages/part/PartDetail.tsx:813 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:824 msgid "Transfer part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:792 +#: src/pages/part/PartDetail.tsx:833 msgid "Part Actions" msgstr "" @@ -4359,8 +4503,8 @@ msgstr "" #: src/pages/part/pricing/BomPricingPanel.tsx:57 #: src/pages/part/pricing/BomPricingPanel.tsx:137 -#: src/tables/ColumnRenderers.tsx:241 -#: src/tables/bom/BomTable.tsx:165 +#: src/tables/ColumnRenderers.tsx:256 +#: src/tables/bom/BomTable.tsx:168 #: src/tables/purchasing/PurchaseOrderTable.tsx:112 #: src/tables/sales/ReturnOrderTable.tsx:104 #: src/tables/sales/SalesOrderTable.tsx:134 @@ -4369,7 +4513,7 @@ msgstr "" #: src/pages/part/pricing/BomPricingPanel.tsx:77 #: src/pages/part/pricing/BomPricingPanel.tsx:101 -#: src/tables/part/PartTable.tsx:186 +#: src/tables/part/PartTable.tsx:193 msgid "Component" msgstr "" @@ -4398,7 +4542,7 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:67 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:128 #: src/pages/part/pricing/SupplierPricingPanel.tsx:62 -#: src/tables/bom/BomTable.tsx:156 +#: src/tables/bom/BomTable.tsx:159 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 msgid "Unit Price" @@ -4498,7 +4642,7 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:40 #: src/pages/part/pricing/SaleHistoryPanel.tsx:36 -#: src/tables/ColumnRenderers.tsx:180 +#: src/tables/ColumnRenderers.tsx:195 #: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" @@ -4771,12 +4915,12 @@ msgid "Count stock" msgstr "Contar stock" #: src/pages/stock/StockDetail.tsx:459 -#: src/tables/stock/StockItemTable.tsx:414 +#: src/tables/stock/StockItemTable.tsx:436 msgid "Add stock" msgstr "Agregar stock" #: src/pages/stock/StockDetail.tsx:467 -#: src/tables/stock/StockItemTable.tsx:423 +#: src/tables/stock/StockItemTable.tsx:445 msgid "Remove stock" msgstr "Remover stock" @@ -4785,7 +4929,7 @@ msgid "Transfer" msgstr "Transferir" #: src/pages/stock/StockDetail.tsx:475 -#: src/tables/stock/StockItemTable.tsx:443 +#: src/tables/stock/StockItemTable.tsx:465 msgid "Transfer stock" msgstr "Transferir stock" @@ -4793,15 +4937,15 @@ msgstr "Transferir stock" msgid "Stock Item Actions" msgstr "" -#: src/tables/ColumnRenderers.tsx:42 +#: src/tables/ColumnRenderers.tsx:57 msgid "No location set" msgstr "" -#: src/tables/ColumnRenderers.tsx:207 +#: src/tables/ColumnRenderers.tsx:222 msgid "Shipment Date" msgstr "" -#: src/tables/ColumnRenderers.tsx:227 +#: src/tables/ColumnRenderers.tsx:242 #: src/tables/settings/CurrencyTable.tsx:23 msgid "Currency" msgstr "" @@ -4828,14 +4972,14 @@ msgid "TSV" msgstr "" #: src/tables/DownloadAction.tsx:24 -msgid "Excel (.xls)" -msgstr "" - -#: src/tables/DownloadAction.tsx:25 msgid "Excel (.xlsx)" msgstr "" -#: src/tables/DownloadAction.tsx:39 +#: src/tables/DownloadAction.tsx:24 +#~ msgid "Excel (.xls)" +#~ msgstr "" + +#: src/tables/DownloadAction.tsx:38 msgid "Download Data" msgstr "" @@ -4900,54 +5044,54 @@ msgstr "" msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:119 -#: src/tables/InvenTreeTable.tsx:390 -#: src/tables/InvenTreeTable.tsx:411 +#: src/tables/InvenTreeTable.tsx:126 +#: src/tables/InvenTreeTable.tsx:409 +#: src/tables/InvenTreeTable.tsx:430 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:422 +#: src/tables/InvenTreeTable.tsx:441 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:430 +#: src/tables/InvenTreeTable.tsx:449 msgid "Bad request" msgstr "" -#: src/tables/InvenTreeTable.tsx:433 +#: src/tables/InvenTreeTable.tsx:452 msgid "Unauthorized" msgstr "" -#: src/tables/InvenTreeTable.tsx:436 +#: src/tables/InvenTreeTable.tsx:455 msgid "Forbidden" msgstr "" -#: src/tables/InvenTreeTable.tsx:439 +#: src/tables/InvenTreeTable.tsx:458 msgid "Not found" msgstr "" -#: src/tables/InvenTreeTable.tsx:488 -#: src/tables/InvenTreeTable.tsx:606 +#: src/tables/InvenTreeTable.tsx:507 +#: src/tables/InvenTreeTable.tsx:623 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:492 +#: src/tables/InvenTreeTable.tsx:511 msgid "Are you sure you want to delete the selected records?" msgstr "" -#: src/tables/InvenTreeTable.tsx:494 +#: src/tables/InvenTreeTable.tsx:513 msgid "This action cannot be undone!" msgstr "" -#: src/tables/InvenTreeTable.tsx:517 +#: src/tables/InvenTreeTable.tsx:536 msgid "Deleted records" msgstr "" -#: src/tables/InvenTreeTable.tsx:518 +#: src/tables/InvenTreeTable.tsx:537 msgid "Records were deleted successfully" msgstr "" -#: src/tables/InvenTreeTable.tsx:527 +#: src/tables/InvenTreeTable.tsx:546 msgid "Failed to delete records" msgstr "" @@ -4956,140 +5100,144 @@ msgstr "" #~ msgid "Print actions" #~ msgstr "Print actions" -#: src/tables/InvenTreeTable.tsx:596 -#: src/tables/InvenTreeTable.tsx:597 +#: src/tables/InvenTreeTable.tsx:613 +#: src/tables/InvenTreeTable.tsx:614 msgid "Barcode actions" msgstr "" -#: src/tables/InvenTreeTable.tsx:625 +#: src/tables/InvenTreeTable.tsx:642 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTable.tsx:646 +#: src/tables/InvenTreeTable.tsx:663 msgid "Table filters" msgstr "" -#: src/tables/bom/BomTable.tsx:80 +#: src/tables/UploadAction.tsx:9 +msgid "Upload Data" +msgstr "" + +#: src/tables/bom/BomTable.tsx:83 msgid "This BOM item is defined for a different parent" msgstr "" -#: src/tables/bom/BomTable.tsx:95 +#: src/tables/bom/BomTable.tsx:98 msgid "Part Information" msgstr "" -#: src/tables/bom/BomTable.tsx:184 -#: src/tables/part/PartTable.tsx:124 +#: src/tables/bom/BomTable.tsx:187 +#: src/tables/part/PartTable.tsx:125 msgid "No stock" msgstr "" -#: src/tables/bom/BomTable.tsx:192 +#: src/tables/bom/BomTable.tsx:195 #: src/tables/build/BuildLineTable.tsx:104 -#: src/tables/part/PartTable.tsx:115 +#: src/tables/part/PartTable.tsx:116 msgid "External stock" msgstr "" -#: src/tables/bom/BomTable.tsx:200 +#: src/tables/bom/BomTable.tsx:203 #: src/tables/build/BuildLineTable.tsx:67 msgid "Includes substitute stock" msgstr "" -#: src/tables/bom/BomTable.tsx:209 +#: src/tables/bom/BomTable.tsx:212 #: src/tables/build/BuildLineTable.tsx:77 msgid "Includes variant stock" msgstr "" -#: src/tables/bom/BomTable.tsx:234 -#: src/tables/part/PartTable.tsx:143 +#: src/tables/bom/BomTable.tsx:237 +#: src/tables/part/PartTable.tsx:144 #: src/tables/stock/StockItemTable.tsx:205 msgid "Stock Information" msgstr "" -#: src/tables/bom/BomTable.tsx:246 +#: src/tables/bom/BomTable.tsx:249 #: src/tables/build/BuildLineTable.tsx:195 msgid "Consumable item" msgstr "" -#: src/tables/bom/BomTable.tsx:267 +#: src/tables/bom/BomTable.tsx:270 msgid "Show trackable items" msgstr "" -#: src/tables/bom/BomTable.tsx:272 +#: src/tables/bom/BomTable.tsx:275 msgid "Show asssmbled items" msgstr "" -#: src/tables/bom/BomTable.tsx:277 +#: src/tables/bom/BomTable.tsx:280 msgid "Show items with available stock" msgstr "" -#: src/tables/bom/BomTable.tsx:282 +#: src/tables/bom/BomTable.tsx:285 msgid "Show items on order" msgstr "" -#: src/tables/bom/BomTable.tsx:286 +#: src/tables/bom/BomTable.tsx:289 msgid "Validated" msgstr "" -#: src/tables/bom/BomTable.tsx:287 +#: src/tables/bom/BomTable.tsx:290 msgid "Show validated items" msgstr "" -#: src/tables/bom/BomTable.tsx:291 +#: src/tables/bom/BomTable.tsx:294 #: src/tables/bom/UsedInTable.tsx:63 msgid "Inherited" msgstr "" -#: src/tables/bom/BomTable.tsx:292 +#: src/tables/bom/BomTable.tsx:295 #: src/tables/bom/UsedInTable.tsx:64 msgid "Show inherited items" msgstr "" -#: src/tables/bom/BomTable.tsx:296 +#: src/tables/bom/BomTable.tsx:299 msgid "Allow Variants" msgstr "" -#: src/tables/bom/BomTable.tsx:297 +#: src/tables/bom/BomTable.tsx:300 msgid "Show items which allow variant substitution" msgstr "" #: src/tables/bom/BomTable.tsx:301 +#~ msgid "Create BOM Item" +#~ msgstr "Create BOM Item" + +#: src/tables/bom/BomTable.tsx:304 #: src/tables/bom/UsedInTable.tsx:68 #: src/tables/build/BuildLineTable.tsx:46 msgid "Optional" msgstr "" -#: src/tables/bom/BomTable.tsx:301 -#~ msgid "Create BOM Item" -#~ msgstr "Create BOM Item" - -#: src/tables/bom/BomTable.tsx:302 +#: src/tables/bom/BomTable.tsx:305 #: src/tables/bom/UsedInTable.tsx:69 msgid "Show optional items" msgstr "" -#: src/tables/bom/BomTable.tsx:306 +#: src/tables/bom/BomTable.tsx:309 #: src/tables/build/BuildLineTable.tsx:41 msgid "Consumable" msgstr "" -#: src/tables/bom/BomTable.tsx:307 +#: src/tables/bom/BomTable.tsx:310 msgid "Show consumable items" msgstr "" -#: src/tables/bom/BomTable.tsx:311 -#: src/tables/part/PartTable.tsx:250 +#: src/tables/bom/BomTable.tsx:314 +#: src/tables/part/PartTable.tsx:257 msgid "Has Pricing" msgstr "" -#: src/tables/bom/BomTable.tsx:312 +#: src/tables/bom/BomTable.tsx:315 msgid "Show items with pricing" msgstr "" -#: src/tables/bom/BomTable.tsx:321 -#: src/tables/bom/BomTable.tsx:420 +#: src/tables/bom/BomTable.tsx:324 +#: src/tables/bom/BomTable.tsx:426 msgid "Add BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:326 +#: src/tables/bom/BomTable.tsx:329 msgid "BOM item created" msgstr "" @@ -5097,23 +5245,23 @@ msgstr "" #~ msgid "Edit Bom Item" #~ msgstr "Edit Bom Item" -#: src/tables/bom/BomTable.tsx:333 -msgid "Edit BOM Item" -msgstr "" - #: src/tables/bom/BomTable.tsx:333 #~ msgid "Bom item updated" #~ msgstr "Bom item updated" -#: src/tables/bom/BomTable.tsx:335 +#: src/tables/bom/BomTable.tsx:336 +msgid "Edit BOM Item" +msgstr "" + +#: src/tables/bom/BomTable.tsx:338 msgid "BOM item updated" msgstr "" -#: src/tables/bom/BomTable.tsx:342 +#: src/tables/bom/BomTable.tsx:345 msgid "Delete BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:343 +#: src/tables/bom/BomTable.tsx:346 msgid "BOM item deleted" msgstr "" @@ -5133,32 +5281,41 @@ msgstr "" #~ msgid "Validate BOM line" #~ msgstr "Validate BOM line" -#: src/tables/bom/BomTable.tsx:355 +#: src/tables/bom/BomTable.tsx:358 msgid "BOM item validated" msgstr "" -#: src/tables/bom/BomTable.tsx:364 +#: src/tables/bom/BomTable.tsx:367 msgid "Failed to validate BOM item" msgstr "" -#: src/tables/bom/BomTable.tsx:376 +#: src/tables/bom/BomTable.tsx:379 msgid "View BOM" msgstr "" -#: src/tables/bom/BomTable.tsx:385 +#: src/tables/bom/BomTable.tsx:388 msgid "Validate BOM Line" msgstr "" -#: src/tables/bom/BomTable.tsx:399 +#: src/tables/bom/BomTable.tsx:405 msgid "Edit Substitutes" msgstr "" +#: src/tables/bom/BomTable.tsx:440 +#: src/tables/part/PartParameterTable.tsx:191 +msgid "Part is Locked" +msgstr "" + +#: src/tables/bom/BomTable.tsx:445 +msgid "Bill of materials cannot be edited, as the part is locked" +msgstr "" + #: src/tables/bom/UsedInTable.tsx:74 msgid "Show active assemblies" msgstr "" #: src/tables/bom/UsedInTable.tsx:78 -#: src/tables/part/PartTable.tsx:192 +#: src/tables/part/PartTable.tsx:199 #: src/tables/part/PartVariantTable.tsx:30 msgid "Trackable" msgstr "Rastreable" @@ -5168,7 +5325,7 @@ msgid "Show trackable assemblies" msgstr "Mostrar ensamblajes rastreables" #: src/tables/build/BuildLineTable.tsx:31 -#: src/tables/stock/StockItemTable.tsx:270 +#: src/tables/stock/StockItemTable.tsx:292 msgid "Allocated" msgstr "" @@ -5189,7 +5346,7 @@ msgid "Show optional lines" msgstr "" #: src/tables/build/BuildLineTable.tsx:51 -#: src/tables/stock/StockItemTable.tsx:329 +#: src/tables/stock/StockItemTable.tsx:351 msgid "Tracked" msgstr "" @@ -5302,10 +5459,6 @@ msgstr "" msgid "Deallocate stock from build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:205 -msgid "Complete" -msgstr "" - #: src/tables/build/BuildOutputTable.tsx:206 msgid "Complete build output" msgstr "" @@ -5635,7 +5788,7 @@ msgid "Message" msgstr "" #: src/tables/part/ParametricPartTable.tsx:76 -#: src/tables/part/PartParameterTable.tsx:88 +#: src/tables/part/PartParameterTable.tsx:95 msgid "Internal Units" msgstr "" @@ -5648,13 +5801,13 @@ msgid "Add Part Parameter" msgstr "" #: src/tables/part/ParametricPartTable.tsx:138 -#: src/tables/part/PartParameterTable.tsx:121 -#: src/tables/part/PartParameterTable.tsx:144 +#: src/tables/part/PartParameterTable.tsx:128 +#: src/tables/part/PartParameterTable.tsx:151 msgid "Edit Part Parameter" msgstr "" #: src/tables/part/PartCategoryTable.tsx:60 -#: src/tables/part/PartTable.tsx:180 +#: src/tables/part/PartTable.tsx:187 msgid "Include Subcategories" msgstr "" @@ -5667,7 +5820,7 @@ msgid "Show structural categories" msgstr "" #: src/tables/part/PartCategoryTable.tsx:70 -#: src/tables/part/PartTable.tsx:262 +#: src/tables/part/PartTable.tsx:269 msgid "Subscribed" msgstr "" @@ -5704,21 +5857,25 @@ msgstr "" #~ msgid "[{0}]" #~ msgstr "[{0}]" -#: src/tables/part/PartParameterTable.tsx:105 +#: src/tables/part/PartParameterTable.tsx:112 msgid "New Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:130 -#: src/tables/part/PartParameterTable.tsx:152 +#: src/tables/part/PartParameterTable.tsx:137 +#: src/tables/part/PartParameterTable.tsx:159 msgid "Delete Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:170 +#: src/tables/part/PartParameterTable.tsx:177 msgid "Add parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:191 -#: src/tables/stock/StockItemTable.tsx:300 +#: src/tables/part/PartParameterTable.tsx:196 +msgid "Part parameters cannot be edited, as the part is locked" +msgstr "" + +#: src/tables/part/PartParameterTable.tsx:210 +#: src/tables/stock/StockItemTable.tsx:322 msgid "Include Variants" msgstr "" @@ -5739,7 +5896,7 @@ msgid "Show templates with choices" msgstr "" #: src/tables/part/PartParameterTemplateTable.tsx:41 -#: src/tables/part/PartTable.tsx:198 +#: src/tables/part/PartTable.tsx:205 msgid "Has Units" msgstr "" @@ -5763,116 +5920,120 @@ msgstr "" msgid "Add parameter template" msgstr "" -#: src/tables/part/PartTable.tsx:67 +#: src/tables/part/PartTable.tsx:68 msgid "Minimum stock" msgstr "Stock mínimo" -#: src/tables/part/PartTable.tsx:89 +#: src/tables/part/PartTable.tsx:90 msgid "Build Order Allocations" msgstr "" -#: src/tables/part/PartTable.tsx:98 +#: src/tables/part/PartTable.tsx:99 msgid "Sales Order Allocations" msgstr "" -#: src/tables/part/PartTable.tsx:169 +#: src/tables/part/PartTable.tsx:170 msgid "Filter by part active status" msgstr "" -#: src/tables/part/PartTable.tsx:174 -#: src/tables/stock/StockItemTable.tsx:265 +#: src/tables/part/PartTable.tsx:176 +msgid "Filter by part locked status" +msgstr "" + +#: src/tables/part/PartTable.tsx:181 +#: src/tables/stock/StockItemTable.tsx:287 msgid "Assembly" msgstr "" -#: src/tables/part/PartTable.tsx:175 +#: src/tables/part/PartTable.tsx:182 msgid "Filter by assembly attribute" msgstr "" -#: src/tables/part/PartTable.tsx:181 +#: src/tables/part/PartTable.tsx:188 msgid "Include parts in subcategories" msgstr "" -#: src/tables/part/PartTable.tsx:187 +#: src/tables/part/PartTable.tsx:194 msgid "Filter by component attribute" msgstr "" -#: src/tables/part/PartTable.tsx:193 +#: src/tables/part/PartTable.tsx:200 msgid "Filter by trackable attribute" msgstr "" -#: src/tables/part/PartTable.tsx:199 +#: src/tables/part/PartTable.tsx:206 msgid "Filter by parts which have units" msgstr "" -#: src/tables/part/PartTable.tsx:204 +#: src/tables/part/PartTable.tsx:211 msgid "Has IPN" msgstr "" -#: src/tables/part/PartTable.tsx:205 +#: src/tables/part/PartTable.tsx:212 msgid "Filter by parts which have an internal part number" msgstr "" -#: src/tables/part/PartTable.tsx:210 +#: src/tables/part/PartTable.tsx:217 msgid "Has Stock" msgstr "" -#: src/tables/part/PartTable.tsx:211 +#: src/tables/part/PartTable.tsx:218 msgid "Filter by parts which have stock" msgstr "" -#: src/tables/part/PartTable.tsx:217 +#: src/tables/part/PartTable.tsx:224 msgid "Filter by parts which have low stock" msgstr "" -#: src/tables/part/PartTable.tsx:222 +#: src/tables/part/PartTable.tsx:229 msgid "Purchaseable" msgstr "" -#: src/tables/part/PartTable.tsx:223 +#: src/tables/part/PartTable.tsx:230 msgid "Filter by parts which are purchaseable" msgstr "" -#: src/tables/part/PartTable.tsx:228 +#: src/tables/part/PartTable.tsx:235 msgid "Salable" msgstr "" -#: src/tables/part/PartTable.tsx:229 +#: src/tables/part/PartTable.tsx:236 msgid "Filter by parts which are salable" msgstr "" -#: src/tables/part/PartTable.tsx:235 +#: src/tables/part/PartTable.tsx:242 msgid "Filter by parts which are virtual" msgstr "" -#: src/tables/part/PartTable.tsx:239 +#: src/tables/part/PartTable.tsx:246 msgid "Not Virtual" msgstr "" -#: src/tables/part/PartTable.tsx:244 +#: src/tables/part/PartTable.tsx:251 msgid "Is Template" msgstr "" -#: src/tables/part/PartTable.tsx:245 +#: src/tables/part/PartTable.tsx:252 msgid "Filter by parts which are templates" msgstr "" -#: src/tables/part/PartTable.tsx:251 +#: src/tables/part/PartTable.tsx:258 msgid "Filter by parts which have pricing information" msgstr "" -#: src/tables/part/PartTable.tsx:257 +#: src/tables/part/PartTable.tsx:264 msgid "Filter by parts which have available stock" msgstr "" -#: src/tables/part/PartTable.tsx:263 +#: src/tables/part/PartTable.tsx:270 msgid "Filter by parts to which the user is subscribed" msgstr "" -#: src/tables/part/PartTable.tsx:268 +#: src/tables/part/PartTable.tsx:275 msgid "Has Stocktake" msgstr "" -#: src/tables/part/PartTable.tsx:269 +#: src/tables/part/PartTable.tsx:276 msgid "Filter by parts which have stocktake information" msgstr "" @@ -6211,7 +6372,7 @@ msgid "Sample" msgstr "" #: src/tables/plugin/PluginListTable.tsx:578 -#: src/tables/stock/StockItemTable.tsx:305 +#: src/tables/stock/StockItemTable.tsx:327 msgid "Installed" msgstr "" @@ -6486,6 +6647,41 @@ msgstr "Agregar grupo" msgid "Edit group" msgstr "Editar grupo" +#: src/tables/settings/ImportSessionTable.tsx:39 +msgid "Delete Import Session" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:45 +#: src/tables/settings/ImportSessionTable.tsx:132 +msgid "Create Import Session" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:70 +msgid "Uploaded" +msgstr "Uploaded" + +#: src/tables/settings/ImportSessionTable.tsx:80 +msgid "Imported Rows" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:110 +#: src/tables/settings/TemplateTable.tsx:276 +msgid "Model Type" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:111 +#: src/tables/settings/TemplateTable.tsx:277 +msgid "Filter by target model type" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:117 +msgid "Filter by import session status" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:123 +msgid "Filter by user" +msgstr "" + #: src/tables/settings/PendingTasksTable.tsx:36 msgid "Arguments" msgstr "" @@ -6502,7 +6698,7 @@ msgstr "" msgid "Delete Project Code" msgstr "" -#: src/tables/settings/ProjectCodeTable.tsx:94 +#: src/tables/settings/ProjectCodeTable.tsx:92 msgid "Add project code" msgstr "Agregar código de proyecto" @@ -6571,14 +6767,6 @@ msgstr "" 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 "" @@ -6701,149 +6889,153 @@ msgstr "" msgid "This stock item has been depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:255 +#: src/tables/stock/StockItemTable.tsx:247 +msgid "Stock Value" +msgstr "" + +#: src/tables/stock/StockItemTable.tsx:277 msgid "Show stock for active parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:260 +#: src/tables/stock/StockItemTable.tsx:282 msgid "Filter by stock status" msgstr "" -#: src/tables/stock/StockItemTable.tsx:266 +#: src/tables/stock/StockItemTable.tsx:288 msgid "Show stock for assmebled parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:271 +#: src/tables/stock/StockItemTable.tsx:293 msgid "Show items which have been allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:276 +#: src/tables/stock/StockItemTable.tsx:298 msgid "Show items which are available" msgstr "" -#: src/tables/stock/StockItemTable.tsx:280 +#: src/tables/stock/StockItemTable.tsx:302 #: src/tables/stock/StockLocationTable.tsx:42 msgid "Include Sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:281 +#: src/tables/stock/StockItemTable.tsx:303 msgid "Include stock in sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:285 +#: src/tables/stock/StockItemTable.tsx:307 msgid "Depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:286 +#: src/tables/stock/StockItemTable.tsx:308 msgid "Show depleted stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:291 +#: src/tables/stock/StockItemTable.tsx:313 msgid "Show items which are in stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:296 +#: src/tables/stock/StockItemTable.tsx:318 msgid "Show items which are in production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:301 +#: src/tables/stock/StockItemTable.tsx:323 msgid "Include stock items for variant parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:306 +#: src/tables/stock/StockItemTable.tsx:328 msgid "Show stock items which are installed in other items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:310 +#: src/tables/stock/StockItemTable.tsx:332 msgid "Sent to Customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:311 +#: src/tables/stock/StockItemTable.tsx:333 msgid "Show items which have been sent to a customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:315 +#: src/tables/stock/StockItemTable.tsx:337 msgid "Is Serialized" msgstr "" -#: src/tables/stock/StockItemTable.tsx:316 +#: src/tables/stock/StockItemTable.tsx:338 msgid "Show items which have a serial number" msgstr "" -#: src/tables/stock/StockItemTable.tsx:323 +#: src/tables/stock/StockItemTable.tsx:345 msgid "Has Batch Code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:324 +#: src/tables/stock/StockItemTable.tsx:346 msgid "Show items which have a batch code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:330 +#: src/tables/stock/StockItemTable.tsx:352 msgid "Show tracked items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:334 +#: src/tables/stock/StockItemTable.tsx:356 msgid "Has Purchase Price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:335 +#: src/tables/stock/StockItemTable.tsx:357 msgid "Show items which have a purchase price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:343 +#: src/tables/stock/StockItemTable.tsx:365 msgid "External Location" msgstr "" -#: src/tables/stock/StockItemTable.tsx:344 +#: src/tables/stock/StockItemTable.tsx:366 msgid "Show items in an external location" msgstr "" -#: src/tables/stock/StockItemTable.tsx:416 +#: src/tables/stock/StockItemTable.tsx:438 msgid "Add a new stock item" msgstr "" -#: src/tables/stock/StockItemTable.tsx:425 +#: src/tables/stock/StockItemTable.tsx:447 msgid "Remove some quantity from a stock item" msgstr "" -#: src/tables/stock/StockItemTable.tsx:447 +#: src/tables/stock/StockItemTable.tsx:469 msgid "Move Stock items to new locations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:454 +#: src/tables/stock/StockItemTable.tsx:476 msgid "Change stock status" msgstr "" -#: src/tables/stock/StockItemTable.tsx:456 +#: src/tables/stock/StockItemTable.tsx:478 msgid "Change the status of stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:463 +#: src/tables/stock/StockItemTable.tsx:485 msgid "Merge stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:465 +#: src/tables/stock/StockItemTable.tsx:487 msgid "Merge stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:472 +#: src/tables/stock/StockItemTable.tsx:494 msgid "Order stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:474 -#: src/tables/stock/StockItemTable.tsx:480 +#: src/tables/stock/StockItemTable.tsx:496 +#: src/tables/stock/StockItemTable.tsx:502 msgid "Order new stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:478 +#: src/tables/stock/StockItemTable.tsx:500 msgid "Assign to customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:487 +#: src/tables/stock/StockItemTable.tsx:509 msgid "Delete stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:489 +#: src/tables/stock/StockItemTable.tsx:511 msgid "Delete stock items" msgstr "" @@ -6999,4 +7191,3 @@ msgstr "Leer la documentación" #: src/views/MobileAppView.tsx:35 msgid "Ignore and continue to Desktop view" msgstr "" - diff --git a/src/frontend/src/locales/fa/messages.po b/src/frontend/src/locales/fa/messages.po index 86940eaedcdf..d2e0e1c52fa0 100644 --- a/src/frontend/src/locales/fa/messages.po +++ b/src/frontend/src/locales/fa/messages.po @@ -49,16 +49,18 @@ msgstr "" #: src/components/buttons/PrintingActions.tsx:107 #: src/components/buttons/PrintingActions.tsx:144 #: src/components/editors/NotesEditor.tsx:65 -#: src/components/editors/NotesEditor.tsx:160 -#: src/components/forms/ApiForm.tsx:506 -#: src/components/forms/fields/ApiFormField.tsx:295 +#: src/components/editors/NotesEditor.tsx:165 +#: src/components/forms/ApiForm.tsx:513 +#: src/components/forms/fields/ApiFormField.tsx:306 +#: src/components/importer/ImportDataSelector.tsx:171 +#: src/components/importer/ImporterColumnSelector.tsx:112 #: src/components/modals/LicenseModal.tsx:75 #: src/components/nav/SearchDrawer.tsx:427 #: src/pages/ErrorPage.tsx:11 #: src/pages/part/PartPricingPanel.tsx:71 -#: src/tables/InvenTreeTable.tsx:451 -#: src/tables/InvenTreeTable.tsx:526 -#: src/tables/bom/BomTable.tsx:363 +#: src/tables/InvenTreeTable.tsx:470 +#: src/tables/InvenTreeTable.tsx:545 +#: src/tables/bom/BomTable.tsx:366 #: src/tables/stock/StockItemTestResultTable.tsx:294 msgid "Error" msgstr "" @@ -157,7 +159,7 @@ msgstr "" #: src/functions/forms.tsx:196 #: src/hooks/UseForm.tsx:40 #: src/tables/FilterSelectDrawer.tsx:204 -#: src/tables/InvenTreeTable.tsx:499 +#: src/tables/InvenTreeTable.tsx:518 #: src/tables/build/BuildOutputTable.tsx:225 msgid "Cancel" msgstr "" @@ -175,7 +177,7 @@ msgid "Clear" msgstr "" #: src/components/details/DetailsImage.tsx:227 -#: src/components/forms/ApiForm.tsx:573 +#: src/components/forms/ApiForm.tsx:580 #: src/contexts/ThemeContext.tsx:43 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:56 msgid "Submit" @@ -202,48 +204,61 @@ msgid "Delete image" msgstr "" #: src/components/details/PartIcons.tsx:28 +#: src/tables/ColumnRenderers.tsx:35 +msgid "Part is locked" +msgstr "" + +#: src/components/details/PartIcons.tsx:30 +#: src/pages/part/PartDetail.tsx:267 +#: src/pages/part/PartDetail.tsx:698 +#: src/tables/part/PartTable.tsx:175 +msgid "Locked" +msgstr "" + +#: src/components/details/PartIcons.tsx:35 +#: src/tables/ColumnRenderers.tsx:30 msgid "Part is not active" msgstr "" -#: src/components/details/PartIcons.tsx:34 +#: src/components/details/PartIcons.tsx:37 #: src/components/render/Plugin.tsx:17 #: src/pages/company/CompanyDetail.tsx:315 #: src/pages/company/SupplierPartDetail.tsx:307 -#: src/pages/part/PartDetail.tsx:685 +#: src/pages/part/PartDetail.tsx:704 msgid "Inactive" msgstr "" -#: src/components/details/PartIcons.tsx:41 +#: src/components/details/PartIcons.tsx:43 msgid "Part is a template part (variants can be made from this part)" msgstr "" -#: src/components/details/PartIcons.tsx:47 +#: src/components/details/PartIcons.tsx:49 msgid "Part can be assembled from other parts" msgstr "" -#: src/components/details/PartIcons.tsx:53 +#: src/components/details/PartIcons.tsx:55 msgid "Part can be used in assemblies" msgstr "" -#: src/components/details/PartIcons.tsx:59 +#: src/components/details/PartIcons.tsx:61 msgid "Part stock is tracked by serial number" msgstr "" -#: src/components/details/PartIcons.tsx:65 +#: src/components/details/PartIcons.tsx:67 msgid "Part can be purchased from external suppliers" msgstr "" -#: src/components/details/PartIcons.tsx:71 +#: src/components/details/PartIcons.tsx:73 msgid "Part can be sold to customers" msgstr "" -#: src/components/details/PartIcons.tsx:76 +#: src/components/details/PartIcons.tsx:78 msgid "Part is virtual (not a physical part)" msgstr "" -#: src/components/details/PartIcons.tsx:82 -#: src/tables/part/PartTable.tsx:234 -#: src/tables/part/PartTable.tsx:238 +#: src/components/details/PartIcons.tsx:84 +#: src/tables/part/PartTable.tsx:241 +#: src/tables/part/PartTable.tsx:245 #: src/tables/part/PartVariantTable.tsx:25 msgid "Virtual" msgstr "" @@ -252,29 +267,29 @@ msgstr "" msgid "Image upload failed" msgstr "" -#: src/components/editors/NotesEditor.tsx:151 -#: src/components/forms/ApiForm.tsx:430 -#: src/tables/bom/BomTable.tsx:354 +#: src/components/editors/NotesEditor.tsx:156 +#: src/components/forms/ApiForm.tsx:437 +#: src/tables/bom/BomTable.tsx:357 msgid "Success" msgstr "" -#: src/components/editors/NotesEditor.tsx:152 +#: src/components/editors/NotesEditor.tsx:157 msgid "Notes saved successfully" msgstr "" -#: src/components/editors/NotesEditor.tsx:161 +#: src/components/editors/NotesEditor.tsx:166 msgid "Failed to save notes" msgstr "" -#: src/components/editors/NotesEditor.tsx:193 +#: src/components/editors/NotesEditor.tsx:198 msgid "Preview Notes" msgstr "" -#: src/components/editors/NotesEditor.tsx:193 +#: src/components/editors/NotesEditor.tsx:198 msgid "Edit Notes" msgstr "" -#: src/components/editors/NotesEditor.tsx:207 +#: src/components/editors/NotesEditor.tsx:212 msgid "Save Notes" msgstr "" @@ -407,7 +422,7 @@ msgstr "" msgid "A server error occurred" msgstr "" -#: src/components/forms/ApiForm.tsx:149 +#: src/components/forms/ApiForm.tsx:151 #: src/functions/forms.tsx:259 msgid "Form Error" msgstr "" @@ -416,18 +431,18 @@ msgstr "" #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:611 +#: src/components/forms/ApiForm.tsx:618 #: src/tables/plugin/PluginListTable.tsx:388 msgid "Update" msgstr "" -#: src/components/forms/ApiForm.tsx:631 +#: src/components/forms/ApiForm.tsx:638 #: 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:498 +#: src/tables/InvenTreeTable.tsx:517 #: src/tables/RowActions.tsx:71 #: src/tables/plugin/PluginListTable.tsx:420 msgid "Delete" @@ -600,7 +615,7 @@ msgstr "" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:70 #: src/pages/part/CategoryDetail.tsx:80 -#: src/pages/part/PartDetail.tsx:122 +#: src/pages/part/PartDetail.tsx:123 #: src/pages/stock/LocationDetail.tsx:87 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 @@ -685,6 +700,124 @@ msgstr "" msgid "Thumbnail" msgstr "" +#: src/components/importer/ImportDataSelector.tsx:154 +msgid "Importing Rows" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:155 +msgid "Please wait while the data is imported" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:172 +msgid "An error occurred while importing data" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:191 +msgid "Edit Data" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:218 +msgid "Delete Row" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:248 +msgid "Row" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:266 +msgid "Row contains errors" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:307 +msgid "Accept" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:340 +msgid "Valid" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:341 +msgid "Filter by row validation status" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:346 +#: src/tables/build/BuildOutputTable.tsx:205 +msgid "Complete" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:347 +msgid "Filter by row completion status" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:364 +msgid "Import selected rows" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:46 +#: src/components/importer/ImporterColumnSelector.tsx:85 +msgid "An error occurred" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:57 +msgid "Select column, or leave blank to ignore this field." +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:91 +msgid "Select a column from the data file" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:104 +msgid "Map data columns to database fields" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:109 +msgid "Accept Column Mapping" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:117 +msgid "Database Field" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:118 +msgid "Field Description" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:119 +msgid "Imported Column Name" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:44 +msgid "Import Data" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:45 +msgid "Map Columns" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:46 +msgid "Process Data" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:47 +msgid "Complete Import" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:91 +msgid "Importing Data" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:97 +msgid "Cancel import session" +msgstr "" + +#: src/components/importer/ImporterImportProgress.tsx:36 +msgid "Importing Records" +msgstr "" + +#: src/components/importer/ImporterImportProgress.tsx:39 +msgid "Imported rows" +msgstr "" + #: src/components/items/ActionDropdown.tsx:119 #: src/pages/build/BuildDetail.tsx:358 msgid "Barcode Actions" @@ -738,7 +871,7 @@ msgid "Read More" msgstr "" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:443 +#: src/tables/InvenTreeTable.tsx:462 msgid "Unknown error" msgstr "" @@ -1039,13 +1172,13 @@ msgstr "" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:313 +#: src/pages/Index/Settings/SystemSettings.tsx:314 msgid "System Settings" msgstr "" #: src/components/nav/MainMenu.tsx:67 #: src/defaults/menuItems.tsx:63 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:198 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:209 msgid "Admin Center" msgstr "" @@ -1088,7 +1221,7 @@ msgid "Pages" msgstr "" #: src/components/nav/NavigationDrawer.tsx:65 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:157 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:168 #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:41 msgid "Plugins" msgstr "" @@ -1102,7 +1235,7 @@ msgstr "" msgid "About" msgstr "" -#: src/components/nav/NotificationDrawer.tsx:78 +#: src/components/nav/NotificationDrawer.tsx:81 #: src/pages/Index/Settings/SystemSettings.tsx:108 #: src/pages/Index/Settings/UserSettings.tsx:96 #: src/pages/Notifications.tsx:65 @@ -1110,17 +1243,17 @@ msgstr "" msgid "Notifications" msgstr "" -#: src/components/nav/NotificationDrawer.tsx:95 +#: src/components/nav/NotificationDrawer.tsx:98 msgid "You have no unread notifications." msgstr "" -#: src/components/nav/NotificationDrawer.tsx:111 -#: src/components/nav/NotificationDrawer.tsx:117 +#: src/components/nav/NotificationDrawer.tsx:114 +#: src/components/nav/NotificationDrawer.tsx:120 #: src/tables/notifications/NotificationsTable.tsx:36 msgid "Notification" msgstr "" -#: src/components/nav/NotificationDrawer.tsx:140 +#: src/components/nav/NotificationDrawer.tsx:143 #: src/pages/Notifications.tsx:73 msgid "Mark as read" msgstr "" @@ -1157,7 +1290,7 @@ msgstr "" msgid "No results available for search query" msgstr "" -#: src/components/render/Instance.tsx:166 +#: src/components/render/Instance.tsx:201 msgid "Unknown model: {model}" msgstr "" @@ -1172,7 +1305,8 @@ msgstr "" #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 #: src/pages/build/BuildDetail.tsx:85 -#: src/pages/part/PartDetail.tsx:831 +#: src/pages/part/PartDetail.tsx:872 +#: src/tables/part/PartTable.tsx:28 #: src/tables/part/RelatedPartTable.tsx:45 #: src/tables/stock/StockTrackingTable.tsx:74 msgid "Part" @@ -1185,7 +1319,7 @@ msgstr "" #: src/pages/part/CategoryDetail.tsx:112 #: src/pages/part/CategoryDetail.tsx:237 #: src/pages/part/CategoryDetail.tsx:267 -#: src/pages/part/PartDetail.tsx:639 +#: src/pages/part/PartDetail.tsx:652 msgid "Parts" msgstr "" @@ -1235,7 +1369,7 @@ msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:172 #: src/pages/part/CategoryDetail.tsx:251 #: src/pages/part/CategoryDetail.tsx:288 -#: src/pages/part/PartDetail.tsx:821 +#: src/pages/part/PartDetail.tsx:862 msgid "Part Categories" msgstr "" @@ -1317,7 +1451,7 @@ msgid "Project Code" msgstr "" #: src/components/render/ModelType.tsx:127 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:109 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:120 msgid "Project Codes" msgstr "" @@ -1329,10 +1463,10 @@ msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:134 -#: src/pages/Index/Settings/SystemSettings.tsx:257 +#: src/pages/Index/Settings/SystemSettings.tsx:258 #: src/pages/company/CompanyDetail.tsx:194 #: src/pages/company/SupplierPartDetail.tsx:226 -#: src/pages/part/PartDetail.tsx:573 +#: src/pages/part/PartDetail.tsx:586 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "" @@ -1354,9 +1488,9 @@ msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:272 +#: src/pages/Index/Settings/SystemSettings.tsx:273 #: src/pages/company/CompanyDetail.tsx:214 -#: src/pages/part/PartDetail.tsx:580 +#: src/pages/part/PartDetail.tsx:593 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" @@ -1376,7 +1510,7 @@ msgid "Return Order" msgstr "" #: src/components/render/ModelType.tsx:164 -#: src/pages/Index/Settings/SystemSettings.tsx:288 +#: src/pages/Index/Settings/SystemSettings.tsx:289 #: src/pages/company/CompanyDetail.tsx:221 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1413,40 +1547,49 @@ msgid "Owners" msgstr "" #: src/components/render/ModelType.tsx:193 +#: src/tables/settings/ImportSessionTable.tsx:122 #: src/tables/stock/StockItemTestResultTable.tsx:193 #: src/tables/stock/StockTrackingTable.tsx:195 msgid "User" msgstr "" #: src/components/render/ModelType.tsx:194 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:85 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:90 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" msgstr "" #: src/components/render/ModelType.tsx:200 -msgid "Label Template" +msgid "Import Session" msgstr "" #: src/components/render/ModelType.tsx:201 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:139 -msgid "Label Templates" +msgid "Import Sessions" msgstr "" #: src/components/render/ModelType.tsx:207 -msgid "Report Template" +msgid "Label Template" msgstr "" #: src/components/render/ModelType.tsx:208 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:145 -msgid "Report Templates" +#: src/pages/Index/Settings/AdminCenter/Index.tsx:150 +msgid "Label Templates" msgstr "" #: src/components/render/ModelType.tsx:214 -msgid "Plugin Configuration" +msgid "Report Template" msgstr "" #: src/components/render/ModelType.tsx:215 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:156 +msgid "Report Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:221 +msgid "Plugin Configuration" +msgstr "" + +#: src/components/render/ModelType.tsx:222 msgid "Plugin Configurations" msgstr "" @@ -1458,7 +1601,7 @@ msgstr "" #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 #: src/pages/Index/Settings/SystemSettings.tsx:210 -#: src/pages/part/PartDetail.tsx:492 +#: src/pages/part/PartDetail.tsx:503 #: src/pages/stock/LocationDetail.tsx:347 #: src/pages/stock/StockDetail.tsx:356 #: src/tables/stock/StockItemTable.tsx:57 @@ -1641,10 +1784,6 @@ msgstr "" #~ msgid "Comment" #~ msgstr "Comment" -#: src/components/tables/general/AttachmentTable.tsx:56 -#~ msgid "Uploaded" -#~ msgstr "Uploaded" - #: src/components/tables/part/PartCategoryTable.tsx:122 #~ msgid "Part category updated" #~ msgstr "Part category updated" @@ -2157,7 +2296,7 @@ msgid "Recently Updated" msgstr "" #: src/defaults/dashboardItems.tsx:50 -#: src/tables/part/PartTable.tsx:216 +#: src/tables/part/PartTable.tsx:223 msgid "Low Stock" msgstr "" @@ -2466,7 +2605,7 @@ msgstr "" #~ msgid "Company updated" #~ msgstr "Company updated" -#: src/forms/PartForms.tsx:100 +#: src/forms/PartForms.tsx:103 msgid "Parent part category" msgstr "" @@ -2534,7 +2673,7 @@ msgstr "" #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 #: src/pages/stock/StockDetail.tsx:173 -#: src/tables/ColumnRenderers.tsx:34 +#: src/tables/ColumnRenderers.tsx:49 #: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" msgstr "" @@ -2585,8 +2724,8 @@ msgstr "" #: src/forms/StockForms.tsx:176 #: src/pages/stock/StockDetail.tsx:379 -#: src/tables/stock/StockItemTable.tsx:382 -#: src/tables/stock/StockItemTable.tsx:499 +#: src/tables/stock/StockItemTable.tsx:404 +#: src/tables/stock/StockItemTable.tsx:521 msgid "Add Stock Item" msgstr "" @@ -2606,9 +2745,9 @@ msgstr "" #: src/forms/StockForms.tsx:606 #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 -#: src/pages/part/PartDetail.tsx:202 -#: src/pages/part/PartDetail.tsx:655 -#: src/tables/stock/StockItemTable.tsx:290 +#: src/pages/part/PartDetail.tsx:203 +#: src/pages/part/PartDetail.tsx:668 +#: src/tables/stock/StockItemTable.tsx:312 msgid "In Stock" msgstr "" @@ -2649,12 +2788,12 @@ msgid "Remove Stock" msgstr "" #: src/forms/StockForms.tsx:803 -#: src/pages/part/PartDetail.tsx:782 +#: src/pages/part/PartDetail.tsx:823 msgid "Transfer Stock" msgstr "" #: src/forms/StockForms.tsx:812 -#: src/pages/part/PartDetail.tsx:771 +#: src/pages/part/PartDetail.tsx:812 msgid "Count Stock" msgstr "" @@ -3279,53 +3418,57 @@ msgstr "" #~ msgid "Advanced Amininistrative Options for InvenTree" #~ msgstr "Advanced Amininistrative Options for InvenTree" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:91 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:96 +msgid "Data Import" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:102 msgid "Background Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:97 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:108 msgid "Error Reports" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:103 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:114 msgid "Currencies" 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:132 msgid "Custom Units" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:138 #: src/pages/part/CategoryDetail.tsx:257 msgid "Part Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 -#~ msgid "Templates" -#~ msgstr "Templates" - -#: src/pages/Index/Settings/AdminCenter/Index.tsx:133 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:144 msgid "Category Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:151 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:162 msgid "Location types" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:163 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:174 #: src/tables/machine/MachineTypeTable.tsx:287 msgid "Machines" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:173 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:184 msgid "Quick Actions" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:178 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:189 msgid "Add a new user" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:199 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:210 msgid "Advanced Options" msgstr "" @@ -3477,7 +3620,7 @@ msgid "Reporting" msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:235 -#: src/pages/part/PartDetail.tsx:593 +#: src/pages/part/PartDetail.tsx:606 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" @@ -3485,12 +3628,12 @@ msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:241 #: src/pages/build/BuildDetail.tsx:423 #: src/pages/build/BuildIndex.tsx:14 -#: src/pages/part/PartDetail.tsx:527 +#: src/pages/part/PartDetail.tsx:540 #: src/pages/sales/SalesOrderDetail.tsx:270 msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:316 +#: src/pages/Index/Settings/SystemSettings.tsx:317 msgid "Switch to User Setting" msgstr "" @@ -3555,7 +3698,8 @@ msgstr "" #: 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/settings/ImportSessionTable.tsx:116 +#: src/tables/stock/StockItemTable.tsx:281 #: src/tables/stock/StockTrackingTable.tsx:52 msgid "Status" msgstr "" @@ -3564,7 +3708,7 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:104 #: src/pages/sales/ReturnOrderDetail.tsx:73 #: src/pages/sales/SalesOrderDetail.tsx:77 -#: src/tables/ColumnRenderers.tsx:106 +#: src/tables/ColumnRenderers.tsx:121 #: src/tables/build/BuildLineTable.tsx:140 msgid "Reference" msgstr "" @@ -3574,12 +3718,12 @@ msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:78 #: src/pages/company/SupplierPartDetail.tsx:85 #: src/pages/part/CategoryDetail.tsx:94 -#: src/pages/part/PartDetail.tsx:129 +#: src/pages/part/PartDetail.tsx:130 #: src/pages/purchasing/PurchaseOrderDetail.tsx:125 #: src/pages/sales/ReturnOrderDetail.tsx:93 #: src/pages/sales/SalesOrderDetail.tsx:97 #: src/pages/stock/LocationDetail.tsx:101 -#: src/tables/ColumnRenderers.tsx:66 +#: src/tables/ColumnRenderers.tsx:81 #: src/tables/machine/MachineTypeTable.tsx:69 #: src/tables/machine/MachineTypeTable.tsx:112 #: src/tables/machine/MachineTypeTable.tsx:219 @@ -3610,7 +3754,7 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:152 -#: src/pages/part/PartDetail.tsx:317 +#: src/pages/part/PartDetail.tsx:323 #: src/pages/purchasing/PurchaseOrderDetail.tsx:217 #: src/pages/sales/ReturnOrderDetail.tsx:186 #: src/pages/sales/SalesOrderDetail.tsx:190 @@ -3630,7 +3774,7 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:210 #: src/pages/sales/ReturnOrderDetail.tsx:179 #: src/pages/sales/SalesOrderDetail.tsx:183 -#: src/tables/ColumnRenderers.tsx:191 +#: src/tables/ColumnRenderers.tsx:206 msgid "Target Date" msgstr "" @@ -3711,7 +3855,7 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:297 #: src/pages/company/CompanyDetail.tsx:257 #: src/pages/company/ManufacturerPartDetail.tsx:174 -#: src/pages/part/PartDetail.tsx:616 +#: src/pages/part/PartDetail.tsx:629 #: src/pages/purchasing/PurchaseOrderDetail.tsx:279 #: src/pages/sales/ReturnOrderDetail.tsx:230 #: src/pages/sales/SalesOrderDetail.tsx:280 @@ -3721,7 +3865,7 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:305 #: src/pages/company/CompanyDetail.tsx:268 -#: src/pages/part/PartDetail.tsx:624 +#: src/pages/part/PartDetail.tsx:637 #: src/pages/purchasing/PurchaseOrderDetail.tsx:290 #: src/pages/sales/ReturnOrderDetail.tsx:241 #: src/pages/sales/SalesOrderDetail.tsx:291 @@ -3877,12 +4021,12 @@ msgid "Manufacturer Part Details" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:148 -#: src/pages/part/PartDetail.tsx:486 +#: src/pages/part/PartDetail.tsx:492 msgid "Parameters" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:160 -#: src/pages/part/PartDetail.tsx:560 +#: src/pages/part/PartDetail.tsx:573 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" msgstr "" @@ -3907,7 +4051,7 @@ msgid "ManufacturerPart" msgstr "" #: src/pages/company/SupplierPartDetail.tsx:99 -#: src/tables/ColumnRenderers.tsx:117 +#: src/tables/ColumnRenderers.tsx:132 msgid "Note" msgstr "" @@ -4043,275 +4187,275 @@ msgstr "" msgid "Category Details" msgstr "" -#: src/pages/part/PartDetail.tsx:135 +#: src/pages/part/PartDetail.tsx:136 msgid "Variant of" msgstr "" -#: src/pages/part/PartDetail.tsx:142 +#: src/pages/part/PartDetail.tsx:143 #: src/tables/notifications/NotificationsTable.tsx:31 #: src/tables/part/PartCategoryTemplateTable.tsx:67 msgid "Category" msgstr "" -#: src/pages/part/PartDetail.tsx:148 +#: src/pages/part/PartDetail.tsx:149 msgid "Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:155 +#: src/pages/part/PartDetail.tsx:156 msgid "Category Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:162 +#: src/pages/part/PartDetail.tsx:163 msgid "IPN" msgstr "" -#: src/pages/part/PartDetail.tsx:169 +#: src/pages/part/PartDetail.tsx:170 msgid "Revision" msgstr "" -#: src/pages/part/PartDetail.tsx:176 +#: src/pages/part/PartDetail.tsx:177 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" msgstr "" -#: src/pages/part/PartDetail.tsx:183 +#: src/pages/part/PartDetail.tsx:184 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:190 +#: src/pages/part/PartDetail.tsx:191 #: src/pages/purchasing/PurchaseOrderDetail.tsx:183 #: src/pages/sales/ReturnOrderDetail.tsx:152 #: src/pages/sales/SalesOrderDetail.tsx:156 msgid "Link" msgstr "" -#: src/pages/part/PartDetail.tsx:208 -#: src/tables/bom/BomTable.tsx:276 +#: src/pages/part/PartDetail.tsx:209 +#: src/tables/bom/BomTable.tsx:279 #: src/tables/build/BuildLineTable.tsx:121 -#: src/tables/part/PartTable.tsx:256 +#: src/tables/part/PartTable.tsx:263 msgid "Available Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:215 +#: src/pages/part/PartDetail.tsx:216 msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:221 -#: src/tables/bom/BomTable.tsx:217 +#: src/pages/part/PartDetail.tsx:222 +#: src/tables/bom/BomTable.tsx:220 #: src/tables/build/BuildLineTable.tsx:95 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:230 +#: src/pages/part/PartDetail.tsx:231 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:238 +#: src/pages/part/PartDetail.tsx:239 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:245 -#: src/tables/bom/BomTable.tsx:241 +#: src/pages/part/PartDetail.tsx:246 +#: src/tables/bom/BomTable.tsx:244 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:252 -#: src/tables/bom/BomTable.tsx:225 -#: src/tables/part/PartTable.tsx:82 +#: src/pages/part/PartDetail.tsx:253 +#: src/tables/bom/BomTable.tsx:228 +#: src/tables/part/PartTable.tsx:83 msgid "Building" msgstr "" -#: src/pages/part/PartDetail.tsx:261 +#: src/pages/part/PartDetail.tsx:262 #: src/tables/bom/UsedInTable.tsx:73 #: src/tables/build/BuildOrderTable.tsx:108 #: src/tables/company/CompanyTable.tsx:61 #: src/tables/company/CompanyTable.tsx:95 #: src/tables/machine/MachineListTable.tsx:323 #: src/tables/machine/MachineListTable.tsx:585 -#: src/tables/part/PartTable.tsx:168 +#: src/tables/part/PartTable.tsx:169 #: src/tables/part/PartVariantTable.tsx:15 #: 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 +#: src/tables/stock/StockItemTable.tsx:276 msgid "Active" msgstr "" -#: src/pages/part/PartDetail.tsx:266 +#: src/pages/part/PartDetail.tsx:272 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:271 -#: src/tables/bom/BomTable.tsx:271 +#: src/pages/part/PartDetail.tsx:277 +#: src/tables/bom/BomTable.tsx:274 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:276 +#: src/pages/part/PartDetail.tsx:282 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:281 -#: src/tables/bom/BomTable.tsx:266 +#: src/pages/part/PartDetail.tsx:287 +#: src/tables/bom/BomTable.tsx:269 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:286 +#: src/pages/part/PartDetail.tsx:292 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:291 +#: src/pages/part/PartDetail.tsx:297 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:296 +#: src/pages/part/PartDetail.tsx:302 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:304 -#: src/tables/ColumnRenderers.tsx:199 +#: src/pages/part/PartDetail.tsx:310 +#: src/tables/ColumnRenderers.tsx:214 msgid "Creation Date" msgstr "" -#: src/pages/part/PartDetail.tsx:309 -msgid "Created By" -msgstr "" - #: src/pages/part/PartDetail.tsx:310 #~ msgid "Edit part" #~ msgstr "Edit part" +#: src/pages/part/PartDetail.tsx:315 +msgid "Created By" +msgstr "" + #: src/pages/part/PartDetail.tsx:322 #~ msgid "Duplicate part" #~ msgstr "Duplicate part" -#: src/pages/part/PartDetail.tsx:324 -msgid "Default Supplier" -msgstr "" - #: src/pages/part/PartDetail.tsx:327 #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:335 +#: src/pages/part/PartDetail.tsx:330 +msgid "Default Supplier" +msgstr "" + +#: src/pages/part/PartDetail.tsx:341 #: src/pages/part/pricing/BomPricingPanel.tsx:78 #: src/pages/part/pricing/VariantPricingPanel.tsx:95 -#: src/tables/part/PartTable.tsx:151 +#: src/tables/part/PartTable.tsx:152 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:374 +#: src/pages/part/PartDetail.tsx:380 #: src/pages/stock/StockDetail.tsx:133 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:409 +#: src/pages/part/PartDetail.tsx:415 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:480 +#: src/pages/part/PartDetail.tsx:486 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:506 +#: src/pages/part/PartDetail.tsx:517 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:513 +#: src/pages/part/PartDetail.tsx:524 #: src/pages/stock/StockDetail.tsx:286 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:520 +#: src/pages/part/PartDetail.tsx:531 msgid "Bill of Materials" msgstr "" -#: src/pages/part/PartDetail.tsx:534 +#: src/pages/part/PartDetail.tsx:547 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:541 +#: src/pages/part/PartDetail.tsx:554 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:547 +#: src/pages/part/PartDetail.tsx:560 #: src/pages/purchasing/PurchasingIndex.tsx:37 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:587 +#: src/pages/part/PartDetail.tsx:600 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:599 +#: src/pages/part/PartDetail.tsx:612 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:610 +#: src/pages/part/PartDetail.tsx:623 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:661 +#: src/pages/part/PartDetail.tsx:674 #: src/pages/stock/StockDetail.tsx:154 #: src/pages/stock/StockDetail.tsx:533 #: src/tables/build/BuildLineTable.tsx:36 -#: src/tables/part/PartTable.tsx:107 +#: src/tables/part/PartTable.tsx:108 #: src/tables/stock/StockItemTable.tsx:166 -#: src/tables/stock/StockItemTable.tsx:275 +#: src/tables/stock/StockItemTable.tsx:297 msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:667 +#: src/pages/part/PartDetail.tsx:680 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:673 -#: src/tables/bom/BomTable.tsx:281 -#: src/tables/part/PartTable.tsx:76 +#: src/pages/part/PartDetail.tsx:686 +#: src/tables/bom/BomTable.tsx:284 +#: src/tables/part/PartTable.tsx:77 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:679 +#: src/pages/part/PartDetail.tsx:692 #: src/pages/stock/StockDetail.tsx:516 -#: src/tables/stock/StockItemTable.tsx:295 +#: src/tables/stock/StockItemTable.tsx:317 msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:698 +#: src/pages/part/PartDetail.tsx:717 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:705 -#: src/tables/part/PartTable.tsx:289 -#: src/tables/part/PartTable.tsx:302 +#: src/pages/part/PartDetail.tsx:744 +#: src/tables/part/PartTable.tsx:296 +#: src/tables/part/PartTable.tsx:309 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:717 +#: src/pages/part/PartDetail.tsx:758 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:726 +#: src/pages/part/PartDetail.tsx:767 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:764 +#: src/pages/part/PartDetail.tsx:805 #: src/pages/stock/LocationDetail.tsx:304 -#: src/tables/stock/StockItemTable.tsx:409 +#: src/tables/stock/StockItemTable.tsx:431 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:772 +#: src/pages/part/PartDetail.tsx:813 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:824 msgid "Transfer part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:792 +#: src/pages/part/PartDetail.tsx:833 msgid "Part Actions" msgstr "" @@ -4359,8 +4503,8 @@ msgstr "" #: src/pages/part/pricing/BomPricingPanel.tsx:57 #: src/pages/part/pricing/BomPricingPanel.tsx:137 -#: src/tables/ColumnRenderers.tsx:241 -#: src/tables/bom/BomTable.tsx:165 +#: src/tables/ColumnRenderers.tsx:256 +#: src/tables/bom/BomTable.tsx:168 #: src/tables/purchasing/PurchaseOrderTable.tsx:112 #: src/tables/sales/ReturnOrderTable.tsx:104 #: src/tables/sales/SalesOrderTable.tsx:134 @@ -4369,7 +4513,7 @@ msgstr "" #: src/pages/part/pricing/BomPricingPanel.tsx:77 #: src/pages/part/pricing/BomPricingPanel.tsx:101 -#: src/tables/part/PartTable.tsx:186 +#: src/tables/part/PartTable.tsx:193 msgid "Component" msgstr "" @@ -4398,7 +4542,7 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:67 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:128 #: src/pages/part/pricing/SupplierPricingPanel.tsx:62 -#: src/tables/bom/BomTable.tsx:156 +#: src/tables/bom/BomTable.tsx:159 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 msgid "Unit Price" @@ -4498,7 +4642,7 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:40 #: src/pages/part/pricing/SaleHistoryPanel.tsx:36 -#: src/tables/ColumnRenderers.tsx:180 +#: src/tables/ColumnRenderers.tsx:195 #: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" @@ -4771,12 +4915,12 @@ msgid "Count stock" msgstr "" #: src/pages/stock/StockDetail.tsx:459 -#: src/tables/stock/StockItemTable.tsx:414 +#: src/tables/stock/StockItemTable.tsx:436 msgid "Add stock" msgstr "" #: src/pages/stock/StockDetail.tsx:467 -#: src/tables/stock/StockItemTable.tsx:423 +#: src/tables/stock/StockItemTable.tsx:445 msgid "Remove stock" msgstr "" @@ -4785,7 +4929,7 @@ msgid "Transfer" msgstr "" #: src/pages/stock/StockDetail.tsx:475 -#: src/tables/stock/StockItemTable.tsx:443 +#: src/tables/stock/StockItemTable.tsx:465 msgid "Transfer stock" msgstr "" @@ -4793,15 +4937,15 @@ msgstr "" msgid "Stock Item Actions" msgstr "" -#: src/tables/ColumnRenderers.tsx:42 +#: src/tables/ColumnRenderers.tsx:57 msgid "No location set" msgstr "" -#: src/tables/ColumnRenderers.tsx:207 +#: src/tables/ColumnRenderers.tsx:222 msgid "Shipment Date" msgstr "" -#: src/tables/ColumnRenderers.tsx:227 +#: src/tables/ColumnRenderers.tsx:242 #: src/tables/settings/CurrencyTable.tsx:23 msgid "Currency" msgstr "" @@ -4828,14 +4972,14 @@ msgid "TSV" msgstr "" #: src/tables/DownloadAction.tsx:24 -msgid "Excel (.xls)" -msgstr "" - -#: src/tables/DownloadAction.tsx:25 msgid "Excel (.xlsx)" msgstr "" -#: src/tables/DownloadAction.tsx:39 +#: src/tables/DownloadAction.tsx:24 +#~ msgid "Excel (.xls)" +#~ msgstr "" + +#: src/tables/DownloadAction.tsx:38 msgid "Download Data" msgstr "" @@ -4900,54 +5044,54 @@ msgstr "" msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:119 -#: src/tables/InvenTreeTable.tsx:390 -#: src/tables/InvenTreeTable.tsx:411 +#: src/tables/InvenTreeTable.tsx:126 +#: src/tables/InvenTreeTable.tsx:409 +#: src/tables/InvenTreeTable.tsx:430 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:422 +#: src/tables/InvenTreeTable.tsx:441 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:430 +#: src/tables/InvenTreeTable.tsx:449 msgid "Bad request" msgstr "" -#: src/tables/InvenTreeTable.tsx:433 +#: src/tables/InvenTreeTable.tsx:452 msgid "Unauthorized" msgstr "" -#: src/tables/InvenTreeTable.tsx:436 +#: src/tables/InvenTreeTable.tsx:455 msgid "Forbidden" msgstr "" -#: src/tables/InvenTreeTable.tsx:439 +#: src/tables/InvenTreeTable.tsx:458 msgid "Not found" msgstr "" -#: src/tables/InvenTreeTable.tsx:488 -#: src/tables/InvenTreeTable.tsx:606 +#: src/tables/InvenTreeTable.tsx:507 +#: src/tables/InvenTreeTable.tsx:623 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:492 +#: src/tables/InvenTreeTable.tsx:511 msgid "Are you sure you want to delete the selected records?" msgstr "" -#: src/tables/InvenTreeTable.tsx:494 +#: src/tables/InvenTreeTable.tsx:513 msgid "This action cannot be undone!" msgstr "" -#: src/tables/InvenTreeTable.tsx:517 +#: src/tables/InvenTreeTable.tsx:536 msgid "Deleted records" msgstr "" -#: src/tables/InvenTreeTable.tsx:518 +#: src/tables/InvenTreeTable.tsx:537 msgid "Records were deleted successfully" msgstr "" -#: src/tables/InvenTreeTable.tsx:527 +#: src/tables/InvenTreeTable.tsx:546 msgid "Failed to delete records" msgstr "" @@ -4956,140 +5100,144 @@ msgstr "" #~ msgid "Print actions" #~ msgstr "Print actions" -#: src/tables/InvenTreeTable.tsx:596 -#: src/tables/InvenTreeTable.tsx:597 +#: src/tables/InvenTreeTable.tsx:613 +#: src/tables/InvenTreeTable.tsx:614 msgid "Barcode actions" msgstr "" -#: src/tables/InvenTreeTable.tsx:625 +#: src/tables/InvenTreeTable.tsx:642 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTable.tsx:646 +#: src/tables/InvenTreeTable.tsx:663 msgid "Table filters" msgstr "" -#: src/tables/bom/BomTable.tsx:80 +#: src/tables/UploadAction.tsx:9 +msgid "Upload Data" +msgstr "" + +#: src/tables/bom/BomTable.tsx:83 msgid "This BOM item is defined for a different parent" msgstr "" -#: src/tables/bom/BomTable.tsx:95 +#: src/tables/bom/BomTable.tsx:98 msgid "Part Information" msgstr "" -#: src/tables/bom/BomTable.tsx:184 -#: src/tables/part/PartTable.tsx:124 +#: src/tables/bom/BomTable.tsx:187 +#: src/tables/part/PartTable.tsx:125 msgid "No stock" msgstr "" -#: src/tables/bom/BomTable.tsx:192 +#: src/tables/bom/BomTable.tsx:195 #: src/tables/build/BuildLineTable.tsx:104 -#: src/tables/part/PartTable.tsx:115 +#: src/tables/part/PartTable.tsx:116 msgid "External stock" msgstr "" -#: src/tables/bom/BomTable.tsx:200 +#: src/tables/bom/BomTable.tsx:203 #: src/tables/build/BuildLineTable.tsx:67 msgid "Includes substitute stock" msgstr "" -#: src/tables/bom/BomTable.tsx:209 +#: src/tables/bom/BomTable.tsx:212 #: src/tables/build/BuildLineTable.tsx:77 msgid "Includes variant stock" msgstr "" -#: src/tables/bom/BomTable.tsx:234 -#: src/tables/part/PartTable.tsx:143 +#: src/tables/bom/BomTable.tsx:237 +#: src/tables/part/PartTable.tsx:144 #: src/tables/stock/StockItemTable.tsx:205 msgid "Stock Information" msgstr "" -#: src/tables/bom/BomTable.tsx:246 +#: src/tables/bom/BomTable.tsx:249 #: src/tables/build/BuildLineTable.tsx:195 msgid "Consumable item" msgstr "" -#: src/tables/bom/BomTable.tsx:267 +#: src/tables/bom/BomTable.tsx:270 msgid "Show trackable items" msgstr "" -#: src/tables/bom/BomTable.tsx:272 +#: src/tables/bom/BomTable.tsx:275 msgid "Show asssmbled items" msgstr "" -#: src/tables/bom/BomTable.tsx:277 +#: src/tables/bom/BomTable.tsx:280 msgid "Show items with available stock" msgstr "" -#: src/tables/bom/BomTable.tsx:282 +#: src/tables/bom/BomTable.tsx:285 msgid "Show items on order" msgstr "" -#: src/tables/bom/BomTable.tsx:286 +#: src/tables/bom/BomTable.tsx:289 msgid "Validated" msgstr "" -#: src/tables/bom/BomTable.tsx:287 +#: src/tables/bom/BomTable.tsx:290 msgid "Show validated items" msgstr "" -#: src/tables/bom/BomTable.tsx:291 +#: src/tables/bom/BomTable.tsx:294 #: src/tables/bom/UsedInTable.tsx:63 msgid "Inherited" msgstr "" -#: src/tables/bom/BomTable.tsx:292 +#: src/tables/bom/BomTable.tsx:295 #: src/tables/bom/UsedInTable.tsx:64 msgid "Show inherited items" msgstr "" -#: src/tables/bom/BomTable.tsx:296 +#: src/tables/bom/BomTable.tsx:299 msgid "Allow Variants" msgstr "" -#: src/tables/bom/BomTable.tsx:297 +#: src/tables/bom/BomTable.tsx:300 msgid "Show items which allow variant substitution" msgstr "" #: src/tables/bom/BomTable.tsx:301 +#~ msgid "Create BOM Item" +#~ msgstr "Create BOM Item" + +#: src/tables/bom/BomTable.tsx:304 #: src/tables/bom/UsedInTable.tsx:68 #: src/tables/build/BuildLineTable.tsx:46 msgid "Optional" msgstr "" -#: src/tables/bom/BomTable.tsx:301 -#~ msgid "Create BOM Item" -#~ msgstr "Create BOM Item" - -#: src/tables/bom/BomTable.tsx:302 +#: src/tables/bom/BomTable.tsx:305 #: src/tables/bom/UsedInTable.tsx:69 msgid "Show optional items" msgstr "" -#: src/tables/bom/BomTable.tsx:306 +#: src/tables/bom/BomTable.tsx:309 #: src/tables/build/BuildLineTable.tsx:41 msgid "Consumable" msgstr "" -#: src/tables/bom/BomTable.tsx:307 +#: src/tables/bom/BomTable.tsx:310 msgid "Show consumable items" msgstr "" -#: src/tables/bom/BomTable.tsx:311 -#: src/tables/part/PartTable.tsx:250 +#: src/tables/bom/BomTable.tsx:314 +#: src/tables/part/PartTable.tsx:257 msgid "Has Pricing" msgstr "" -#: src/tables/bom/BomTable.tsx:312 +#: src/tables/bom/BomTable.tsx:315 msgid "Show items with pricing" msgstr "" -#: src/tables/bom/BomTable.tsx:321 -#: src/tables/bom/BomTable.tsx:420 +#: src/tables/bom/BomTable.tsx:324 +#: src/tables/bom/BomTable.tsx:426 msgid "Add BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:326 +#: src/tables/bom/BomTable.tsx:329 msgid "BOM item created" msgstr "" @@ -5097,23 +5245,23 @@ msgstr "" #~ msgid "Edit Bom Item" #~ msgstr "Edit Bom Item" -#: src/tables/bom/BomTable.tsx:333 -msgid "Edit BOM Item" -msgstr "" - #: src/tables/bom/BomTable.tsx:333 #~ msgid "Bom item updated" #~ msgstr "Bom item updated" -#: src/tables/bom/BomTable.tsx:335 +#: src/tables/bom/BomTable.tsx:336 +msgid "Edit BOM Item" +msgstr "" + +#: src/tables/bom/BomTable.tsx:338 msgid "BOM item updated" msgstr "" -#: src/tables/bom/BomTable.tsx:342 +#: src/tables/bom/BomTable.tsx:345 msgid "Delete BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:343 +#: src/tables/bom/BomTable.tsx:346 msgid "BOM item deleted" msgstr "" @@ -5133,32 +5281,41 @@ msgstr "" #~ msgid "Validate BOM line" #~ msgstr "Validate BOM line" -#: src/tables/bom/BomTable.tsx:355 +#: src/tables/bom/BomTable.tsx:358 msgid "BOM item validated" msgstr "" -#: src/tables/bom/BomTable.tsx:364 +#: src/tables/bom/BomTable.tsx:367 msgid "Failed to validate BOM item" msgstr "" -#: src/tables/bom/BomTable.tsx:376 +#: src/tables/bom/BomTable.tsx:379 msgid "View BOM" msgstr "" -#: src/tables/bom/BomTable.tsx:385 +#: src/tables/bom/BomTable.tsx:388 msgid "Validate BOM Line" msgstr "" -#: src/tables/bom/BomTable.tsx:399 +#: src/tables/bom/BomTable.tsx:405 msgid "Edit Substitutes" msgstr "" +#: src/tables/bom/BomTable.tsx:440 +#: src/tables/part/PartParameterTable.tsx:191 +msgid "Part is Locked" +msgstr "" + +#: src/tables/bom/BomTable.tsx:445 +msgid "Bill of materials cannot be edited, as the part is locked" +msgstr "" + #: src/tables/bom/UsedInTable.tsx:74 msgid "Show active assemblies" msgstr "" #: src/tables/bom/UsedInTable.tsx:78 -#: src/tables/part/PartTable.tsx:192 +#: src/tables/part/PartTable.tsx:199 #: src/tables/part/PartVariantTable.tsx:30 msgid "Trackable" msgstr "" @@ -5168,7 +5325,7 @@ msgid "Show trackable assemblies" msgstr "" #: src/tables/build/BuildLineTable.tsx:31 -#: src/tables/stock/StockItemTable.tsx:270 +#: src/tables/stock/StockItemTable.tsx:292 msgid "Allocated" msgstr "" @@ -5189,7 +5346,7 @@ msgid "Show optional lines" msgstr "" #: src/tables/build/BuildLineTable.tsx:51 -#: src/tables/stock/StockItemTable.tsx:329 +#: src/tables/stock/StockItemTable.tsx:351 msgid "Tracked" msgstr "" @@ -5302,10 +5459,6 @@ msgstr "" msgid "Deallocate stock from build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:205 -msgid "Complete" -msgstr "" - #: src/tables/build/BuildOutputTable.tsx:206 msgid "Complete build output" msgstr "" @@ -5635,7 +5788,7 @@ msgid "Message" msgstr "" #: src/tables/part/ParametricPartTable.tsx:76 -#: src/tables/part/PartParameterTable.tsx:88 +#: src/tables/part/PartParameterTable.tsx:95 msgid "Internal Units" msgstr "" @@ -5648,13 +5801,13 @@ msgid "Add Part Parameter" msgstr "" #: src/tables/part/ParametricPartTable.tsx:138 -#: src/tables/part/PartParameterTable.tsx:121 -#: src/tables/part/PartParameterTable.tsx:144 +#: src/tables/part/PartParameterTable.tsx:128 +#: src/tables/part/PartParameterTable.tsx:151 msgid "Edit Part Parameter" msgstr "" #: src/tables/part/PartCategoryTable.tsx:60 -#: src/tables/part/PartTable.tsx:180 +#: src/tables/part/PartTable.tsx:187 msgid "Include Subcategories" msgstr "" @@ -5667,7 +5820,7 @@ msgid "Show structural categories" msgstr "" #: src/tables/part/PartCategoryTable.tsx:70 -#: src/tables/part/PartTable.tsx:262 +#: src/tables/part/PartTable.tsx:269 msgid "Subscribed" msgstr "" @@ -5704,21 +5857,25 @@ msgstr "" #~ msgid "[{0}]" #~ msgstr "[{0}]" -#: src/tables/part/PartParameterTable.tsx:105 +#: src/tables/part/PartParameterTable.tsx:112 msgid "New Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:130 -#: src/tables/part/PartParameterTable.tsx:152 +#: src/tables/part/PartParameterTable.tsx:137 +#: src/tables/part/PartParameterTable.tsx:159 msgid "Delete Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:170 +#: src/tables/part/PartParameterTable.tsx:177 msgid "Add parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:191 -#: src/tables/stock/StockItemTable.tsx:300 +#: src/tables/part/PartParameterTable.tsx:196 +msgid "Part parameters cannot be edited, as the part is locked" +msgstr "" + +#: src/tables/part/PartParameterTable.tsx:210 +#: src/tables/stock/StockItemTable.tsx:322 msgid "Include Variants" msgstr "" @@ -5739,7 +5896,7 @@ msgid "Show templates with choices" msgstr "" #: src/tables/part/PartParameterTemplateTable.tsx:41 -#: src/tables/part/PartTable.tsx:198 +#: src/tables/part/PartTable.tsx:205 msgid "Has Units" msgstr "" @@ -5763,116 +5920,120 @@ msgstr "" msgid "Add parameter template" msgstr "" -#: src/tables/part/PartTable.tsx:67 +#: src/tables/part/PartTable.tsx:68 msgid "Minimum stock" msgstr "" -#: src/tables/part/PartTable.tsx:89 +#: src/tables/part/PartTable.tsx:90 msgid "Build Order Allocations" msgstr "" -#: src/tables/part/PartTable.tsx:98 +#: src/tables/part/PartTable.tsx:99 msgid "Sales Order Allocations" msgstr "" -#: src/tables/part/PartTable.tsx:169 +#: src/tables/part/PartTable.tsx:170 msgid "Filter by part active status" msgstr "" -#: src/tables/part/PartTable.tsx:174 -#: src/tables/stock/StockItemTable.tsx:265 +#: src/tables/part/PartTable.tsx:176 +msgid "Filter by part locked status" +msgstr "" + +#: src/tables/part/PartTable.tsx:181 +#: src/tables/stock/StockItemTable.tsx:287 msgid "Assembly" msgstr "" -#: src/tables/part/PartTable.tsx:175 +#: src/tables/part/PartTable.tsx:182 msgid "Filter by assembly attribute" msgstr "" -#: src/tables/part/PartTable.tsx:181 +#: src/tables/part/PartTable.tsx:188 msgid "Include parts in subcategories" msgstr "" -#: src/tables/part/PartTable.tsx:187 +#: src/tables/part/PartTable.tsx:194 msgid "Filter by component attribute" msgstr "" -#: src/tables/part/PartTable.tsx:193 +#: src/tables/part/PartTable.tsx:200 msgid "Filter by trackable attribute" msgstr "" -#: src/tables/part/PartTable.tsx:199 +#: src/tables/part/PartTable.tsx:206 msgid "Filter by parts which have units" msgstr "" -#: src/tables/part/PartTable.tsx:204 +#: src/tables/part/PartTable.tsx:211 msgid "Has IPN" msgstr "" -#: src/tables/part/PartTable.tsx:205 +#: src/tables/part/PartTable.tsx:212 msgid "Filter by parts which have an internal part number" msgstr "" -#: src/tables/part/PartTable.tsx:210 +#: src/tables/part/PartTable.tsx:217 msgid "Has Stock" msgstr "" -#: src/tables/part/PartTable.tsx:211 +#: src/tables/part/PartTable.tsx:218 msgid "Filter by parts which have stock" msgstr "" -#: src/tables/part/PartTable.tsx:217 +#: src/tables/part/PartTable.tsx:224 msgid "Filter by parts which have low stock" msgstr "" -#: src/tables/part/PartTable.tsx:222 +#: src/tables/part/PartTable.tsx:229 msgid "Purchaseable" msgstr "" -#: src/tables/part/PartTable.tsx:223 +#: src/tables/part/PartTable.tsx:230 msgid "Filter by parts which are purchaseable" msgstr "" -#: src/tables/part/PartTable.tsx:228 +#: src/tables/part/PartTable.tsx:235 msgid "Salable" msgstr "" -#: src/tables/part/PartTable.tsx:229 +#: src/tables/part/PartTable.tsx:236 msgid "Filter by parts which are salable" msgstr "" -#: src/tables/part/PartTable.tsx:235 +#: src/tables/part/PartTable.tsx:242 msgid "Filter by parts which are virtual" msgstr "" -#: src/tables/part/PartTable.tsx:239 +#: src/tables/part/PartTable.tsx:246 msgid "Not Virtual" msgstr "" -#: src/tables/part/PartTable.tsx:244 +#: src/tables/part/PartTable.tsx:251 msgid "Is Template" msgstr "" -#: src/tables/part/PartTable.tsx:245 +#: src/tables/part/PartTable.tsx:252 msgid "Filter by parts which are templates" msgstr "" -#: src/tables/part/PartTable.tsx:251 +#: src/tables/part/PartTable.tsx:258 msgid "Filter by parts which have pricing information" msgstr "" -#: src/tables/part/PartTable.tsx:257 +#: src/tables/part/PartTable.tsx:264 msgid "Filter by parts which have available stock" msgstr "" -#: src/tables/part/PartTable.tsx:263 +#: src/tables/part/PartTable.tsx:270 msgid "Filter by parts to which the user is subscribed" msgstr "" -#: src/tables/part/PartTable.tsx:268 +#: src/tables/part/PartTable.tsx:275 msgid "Has Stocktake" msgstr "" -#: src/tables/part/PartTable.tsx:269 +#: src/tables/part/PartTable.tsx:276 msgid "Filter by parts which have stocktake information" msgstr "" @@ -6211,7 +6372,7 @@ msgid "Sample" msgstr "" #: src/tables/plugin/PluginListTable.tsx:578 -#: src/tables/stock/StockItemTable.tsx:305 +#: src/tables/stock/StockItemTable.tsx:327 msgid "Installed" msgstr "" @@ -6486,6 +6647,41 @@ msgstr "" msgid "Edit group" msgstr "" +#: src/tables/settings/ImportSessionTable.tsx:39 +msgid "Delete Import Session" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:45 +#: src/tables/settings/ImportSessionTable.tsx:132 +msgid "Create Import Session" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:70 +msgid "Uploaded" +msgstr "Uploaded" + +#: src/tables/settings/ImportSessionTable.tsx:80 +msgid "Imported Rows" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:110 +#: src/tables/settings/TemplateTable.tsx:276 +msgid "Model Type" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:111 +#: src/tables/settings/TemplateTable.tsx:277 +msgid "Filter by target model type" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:117 +msgid "Filter by import session status" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:123 +msgid "Filter by user" +msgstr "" + #: src/tables/settings/PendingTasksTable.tsx:36 msgid "Arguments" msgstr "" @@ -6502,7 +6698,7 @@ msgstr "" msgid "Delete Project Code" msgstr "" -#: src/tables/settings/ProjectCodeTable.tsx:94 +#: src/tables/settings/ProjectCodeTable.tsx:92 msgid "Add project code" msgstr "" @@ -6571,14 +6767,6 @@ msgstr "" 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 "" @@ -6701,149 +6889,153 @@ msgstr "" msgid "This stock item has been depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:255 +#: src/tables/stock/StockItemTable.tsx:247 +msgid "Stock Value" +msgstr "" + +#: src/tables/stock/StockItemTable.tsx:277 msgid "Show stock for active parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:260 +#: src/tables/stock/StockItemTable.tsx:282 msgid "Filter by stock status" msgstr "" -#: src/tables/stock/StockItemTable.tsx:266 +#: src/tables/stock/StockItemTable.tsx:288 msgid "Show stock for assmebled parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:271 +#: src/tables/stock/StockItemTable.tsx:293 msgid "Show items which have been allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:276 +#: src/tables/stock/StockItemTable.tsx:298 msgid "Show items which are available" msgstr "" -#: src/tables/stock/StockItemTable.tsx:280 +#: src/tables/stock/StockItemTable.tsx:302 #: src/tables/stock/StockLocationTable.tsx:42 msgid "Include Sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:281 +#: src/tables/stock/StockItemTable.tsx:303 msgid "Include stock in sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:285 +#: src/tables/stock/StockItemTable.tsx:307 msgid "Depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:286 +#: src/tables/stock/StockItemTable.tsx:308 msgid "Show depleted stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:291 +#: src/tables/stock/StockItemTable.tsx:313 msgid "Show items which are in stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:296 +#: src/tables/stock/StockItemTable.tsx:318 msgid "Show items which are in production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:301 +#: src/tables/stock/StockItemTable.tsx:323 msgid "Include stock items for variant parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:306 +#: src/tables/stock/StockItemTable.tsx:328 msgid "Show stock items which are installed in other items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:310 +#: src/tables/stock/StockItemTable.tsx:332 msgid "Sent to Customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:311 +#: src/tables/stock/StockItemTable.tsx:333 msgid "Show items which have been sent to a customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:315 +#: src/tables/stock/StockItemTable.tsx:337 msgid "Is Serialized" msgstr "" -#: src/tables/stock/StockItemTable.tsx:316 +#: src/tables/stock/StockItemTable.tsx:338 msgid "Show items which have a serial number" msgstr "" -#: src/tables/stock/StockItemTable.tsx:323 +#: src/tables/stock/StockItemTable.tsx:345 msgid "Has Batch Code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:324 +#: src/tables/stock/StockItemTable.tsx:346 msgid "Show items which have a batch code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:330 +#: src/tables/stock/StockItemTable.tsx:352 msgid "Show tracked items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:334 +#: src/tables/stock/StockItemTable.tsx:356 msgid "Has Purchase Price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:335 +#: src/tables/stock/StockItemTable.tsx:357 msgid "Show items which have a purchase price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:343 +#: src/tables/stock/StockItemTable.tsx:365 msgid "External Location" msgstr "" -#: src/tables/stock/StockItemTable.tsx:344 +#: src/tables/stock/StockItemTable.tsx:366 msgid "Show items in an external location" msgstr "" -#: src/tables/stock/StockItemTable.tsx:416 +#: src/tables/stock/StockItemTable.tsx:438 msgid "Add a new stock item" msgstr "" -#: src/tables/stock/StockItemTable.tsx:425 +#: src/tables/stock/StockItemTable.tsx:447 msgid "Remove some quantity from a stock item" msgstr "" -#: src/tables/stock/StockItemTable.tsx:447 +#: src/tables/stock/StockItemTable.tsx:469 msgid "Move Stock items to new locations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:454 +#: src/tables/stock/StockItemTable.tsx:476 msgid "Change stock status" msgstr "" -#: src/tables/stock/StockItemTable.tsx:456 +#: src/tables/stock/StockItemTable.tsx:478 msgid "Change the status of stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:463 +#: src/tables/stock/StockItemTable.tsx:485 msgid "Merge stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:465 +#: src/tables/stock/StockItemTable.tsx:487 msgid "Merge stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:472 +#: src/tables/stock/StockItemTable.tsx:494 msgid "Order stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:474 -#: src/tables/stock/StockItemTable.tsx:480 +#: src/tables/stock/StockItemTable.tsx:496 +#: src/tables/stock/StockItemTable.tsx:502 msgid "Order new stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:478 +#: src/tables/stock/StockItemTable.tsx:500 msgid "Assign to customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:487 +#: src/tables/stock/StockItemTable.tsx:509 msgid "Delete stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:489 +#: src/tables/stock/StockItemTable.tsx:511 msgid "Delete stock items" msgstr "" @@ -6999,4 +7191,3 @@ msgstr "" #: src/views/MobileAppView.tsx:35 msgid "Ignore and continue to Desktop view" msgstr "" - diff --git a/src/frontend/src/locales/fi/messages.po b/src/frontend/src/locales/fi/messages.po index ca636e427845..f9b199506bed 100644 --- a/src/frontend/src/locales/fi/messages.po +++ b/src/frontend/src/locales/fi/messages.po @@ -49,16 +49,18 @@ msgstr "" #: src/components/buttons/PrintingActions.tsx:107 #: src/components/buttons/PrintingActions.tsx:144 #: src/components/editors/NotesEditor.tsx:65 -#: src/components/editors/NotesEditor.tsx:160 -#: src/components/forms/ApiForm.tsx:506 -#: src/components/forms/fields/ApiFormField.tsx:295 +#: src/components/editors/NotesEditor.tsx:165 +#: src/components/forms/ApiForm.tsx:513 +#: src/components/forms/fields/ApiFormField.tsx:306 +#: src/components/importer/ImportDataSelector.tsx:171 +#: src/components/importer/ImporterColumnSelector.tsx:112 #: src/components/modals/LicenseModal.tsx:75 #: src/components/nav/SearchDrawer.tsx:427 #: src/pages/ErrorPage.tsx:11 #: src/pages/part/PartPricingPanel.tsx:71 -#: src/tables/InvenTreeTable.tsx:451 -#: src/tables/InvenTreeTable.tsx:526 -#: src/tables/bom/BomTable.tsx:363 +#: src/tables/InvenTreeTable.tsx:470 +#: src/tables/InvenTreeTable.tsx:545 +#: src/tables/bom/BomTable.tsx:366 #: src/tables/stock/StockItemTestResultTable.tsx:294 msgid "Error" msgstr "" @@ -157,7 +159,7 @@ msgstr "" #: src/functions/forms.tsx:196 #: src/hooks/UseForm.tsx:40 #: src/tables/FilterSelectDrawer.tsx:204 -#: src/tables/InvenTreeTable.tsx:499 +#: src/tables/InvenTreeTable.tsx:518 #: src/tables/build/BuildOutputTable.tsx:225 msgid "Cancel" msgstr "" @@ -175,7 +177,7 @@ msgid "Clear" msgstr "" #: src/components/details/DetailsImage.tsx:227 -#: src/components/forms/ApiForm.tsx:573 +#: src/components/forms/ApiForm.tsx:580 #: src/contexts/ThemeContext.tsx:43 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:56 msgid "Submit" @@ -202,48 +204,61 @@ msgid "Delete image" msgstr "" #: src/components/details/PartIcons.tsx:28 +#: src/tables/ColumnRenderers.tsx:35 +msgid "Part is locked" +msgstr "" + +#: src/components/details/PartIcons.tsx:30 +#: src/pages/part/PartDetail.tsx:267 +#: src/pages/part/PartDetail.tsx:698 +#: src/tables/part/PartTable.tsx:175 +msgid "Locked" +msgstr "" + +#: src/components/details/PartIcons.tsx:35 +#: src/tables/ColumnRenderers.tsx:30 msgid "Part is not active" msgstr "" -#: src/components/details/PartIcons.tsx:34 +#: src/components/details/PartIcons.tsx:37 #: src/components/render/Plugin.tsx:17 #: src/pages/company/CompanyDetail.tsx:315 #: src/pages/company/SupplierPartDetail.tsx:307 -#: src/pages/part/PartDetail.tsx:685 +#: src/pages/part/PartDetail.tsx:704 msgid "Inactive" msgstr "" -#: src/components/details/PartIcons.tsx:41 +#: src/components/details/PartIcons.tsx:43 msgid "Part is a template part (variants can be made from this part)" msgstr "" -#: src/components/details/PartIcons.tsx:47 +#: src/components/details/PartIcons.tsx:49 msgid "Part can be assembled from other parts" msgstr "" -#: src/components/details/PartIcons.tsx:53 +#: src/components/details/PartIcons.tsx:55 msgid "Part can be used in assemblies" msgstr "" -#: src/components/details/PartIcons.tsx:59 +#: src/components/details/PartIcons.tsx:61 msgid "Part stock is tracked by serial number" msgstr "" -#: src/components/details/PartIcons.tsx:65 +#: src/components/details/PartIcons.tsx:67 msgid "Part can be purchased from external suppliers" msgstr "" -#: src/components/details/PartIcons.tsx:71 +#: src/components/details/PartIcons.tsx:73 msgid "Part can be sold to customers" msgstr "" -#: src/components/details/PartIcons.tsx:76 +#: src/components/details/PartIcons.tsx:78 msgid "Part is virtual (not a physical part)" msgstr "" -#: src/components/details/PartIcons.tsx:82 -#: src/tables/part/PartTable.tsx:234 -#: src/tables/part/PartTable.tsx:238 +#: src/components/details/PartIcons.tsx:84 +#: src/tables/part/PartTable.tsx:241 +#: src/tables/part/PartTable.tsx:245 #: src/tables/part/PartVariantTable.tsx:25 msgid "Virtual" msgstr "" @@ -252,29 +267,29 @@ msgstr "" msgid "Image upload failed" msgstr "" -#: src/components/editors/NotesEditor.tsx:151 -#: src/components/forms/ApiForm.tsx:430 -#: src/tables/bom/BomTable.tsx:354 +#: src/components/editors/NotesEditor.tsx:156 +#: src/components/forms/ApiForm.tsx:437 +#: src/tables/bom/BomTable.tsx:357 msgid "Success" msgstr "" -#: src/components/editors/NotesEditor.tsx:152 +#: src/components/editors/NotesEditor.tsx:157 msgid "Notes saved successfully" msgstr "" -#: src/components/editors/NotesEditor.tsx:161 +#: src/components/editors/NotesEditor.tsx:166 msgid "Failed to save notes" msgstr "" -#: src/components/editors/NotesEditor.tsx:193 +#: src/components/editors/NotesEditor.tsx:198 msgid "Preview Notes" msgstr "" -#: src/components/editors/NotesEditor.tsx:193 +#: src/components/editors/NotesEditor.tsx:198 msgid "Edit Notes" msgstr "" -#: src/components/editors/NotesEditor.tsx:207 +#: src/components/editors/NotesEditor.tsx:212 msgid "Save Notes" msgstr "" @@ -407,7 +422,7 @@ msgstr "" msgid "A server error occurred" msgstr "" -#: src/components/forms/ApiForm.tsx:149 +#: src/components/forms/ApiForm.tsx:151 #: src/functions/forms.tsx:259 msgid "Form Error" msgstr "" @@ -416,18 +431,18 @@ msgstr "" #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:611 +#: src/components/forms/ApiForm.tsx:618 #: src/tables/plugin/PluginListTable.tsx:388 msgid "Update" msgstr "" -#: src/components/forms/ApiForm.tsx:631 +#: src/components/forms/ApiForm.tsx:638 #: 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:498 +#: src/tables/InvenTreeTable.tsx:517 #: src/tables/RowActions.tsx:71 #: src/tables/plugin/PluginListTable.tsx:420 msgid "Delete" @@ -600,7 +615,7 @@ msgstr "" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:70 #: src/pages/part/CategoryDetail.tsx:80 -#: src/pages/part/PartDetail.tsx:122 +#: src/pages/part/PartDetail.tsx:123 #: src/pages/stock/LocationDetail.tsx:87 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 @@ -685,6 +700,124 @@ msgstr "" msgid "Thumbnail" msgstr "" +#: src/components/importer/ImportDataSelector.tsx:154 +msgid "Importing Rows" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:155 +msgid "Please wait while the data is imported" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:172 +msgid "An error occurred while importing data" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:191 +msgid "Edit Data" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:218 +msgid "Delete Row" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:248 +msgid "Row" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:266 +msgid "Row contains errors" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:307 +msgid "Accept" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:340 +msgid "Valid" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:341 +msgid "Filter by row validation status" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:346 +#: src/tables/build/BuildOutputTable.tsx:205 +msgid "Complete" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:347 +msgid "Filter by row completion status" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:364 +msgid "Import selected rows" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:46 +#: src/components/importer/ImporterColumnSelector.tsx:85 +msgid "An error occurred" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:57 +msgid "Select column, or leave blank to ignore this field." +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:91 +msgid "Select a column from the data file" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:104 +msgid "Map data columns to database fields" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:109 +msgid "Accept Column Mapping" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:117 +msgid "Database Field" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:118 +msgid "Field Description" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:119 +msgid "Imported Column Name" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:44 +msgid "Import Data" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:45 +msgid "Map Columns" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:46 +msgid "Process Data" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:47 +msgid "Complete Import" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:91 +msgid "Importing Data" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:97 +msgid "Cancel import session" +msgstr "" + +#: src/components/importer/ImporterImportProgress.tsx:36 +msgid "Importing Records" +msgstr "" + +#: src/components/importer/ImporterImportProgress.tsx:39 +msgid "Imported rows" +msgstr "" + #: src/components/items/ActionDropdown.tsx:119 #: src/pages/build/BuildDetail.tsx:358 msgid "Barcode Actions" @@ -738,7 +871,7 @@ msgid "Read More" msgstr "" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:443 +#: src/tables/InvenTreeTable.tsx:462 msgid "Unknown error" msgstr "" @@ -1039,13 +1172,13 @@ msgstr "" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:313 +#: src/pages/Index/Settings/SystemSettings.tsx:314 msgid "System Settings" msgstr "" #: src/components/nav/MainMenu.tsx:67 #: src/defaults/menuItems.tsx:63 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:198 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:209 msgid "Admin Center" msgstr "" @@ -1088,7 +1221,7 @@ msgid "Pages" msgstr "" #: src/components/nav/NavigationDrawer.tsx:65 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:157 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:168 #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:41 msgid "Plugins" msgstr "" @@ -1102,7 +1235,7 @@ msgstr "" msgid "About" msgstr "" -#: src/components/nav/NotificationDrawer.tsx:78 +#: src/components/nav/NotificationDrawer.tsx:81 #: src/pages/Index/Settings/SystemSettings.tsx:108 #: src/pages/Index/Settings/UserSettings.tsx:96 #: src/pages/Notifications.tsx:65 @@ -1110,17 +1243,17 @@ msgstr "" msgid "Notifications" msgstr "" -#: src/components/nav/NotificationDrawer.tsx:95 +#: src/components/nav/NotificationDrawer.tsx:98 msgid "You have no unread notifications." msgstr "" -#: src/components/nav/NotificationDrawer.tsx:111 -#: src/components/nav/NotificationDrawer.tsx:117 +#: src/components/nav/NotificationDrawer.tsx:114 +#: src/components/nav/NotificationDrawer.tsx:120 #: src/tables/notifications/NotificationsTable.tsx:36 msgid "Notification" msgstr "" -#: src/components/nav/NotificationDrawer.tsx:140 +#: src/components/nav/NotificationDrawer.tsx:143 #: src/pages/Notifications.tsx:73 msgid "Mark as read" msgstr "" @@ -1157,7 +1290,7 @@ msgstr "" msgid "No results available for search query" msgstr "" -#: src/components/render/Instance.tsx:166 +#: src/components/render/Instance.tsx:201 msgid "Unknown model: {model}" msgstr "" @@ -1172,7 +1305,8 @@ msgstr "" #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 #: src/pages/build/BuildDetail.tsx:85 -#: src/pages/part/PartDetail.tsx:831 +#: src/pages/part/PartDetail.tsx:872 +#: src/tables/part/PartTable.tsx:28 #: src/tables/part/RelatedPartTable.tsx:45 #: src/tables/stock/StockTrackingTable.tsx:74 msgid "Part" @@ -1185,7 +1319,7 @@ msgstr "" #: src/pages/part/CategoryDetail.tsx:112 #: src/pages/part/CategoryDetail.tsx:237 #: src/pages/part/CategoryDetail.tsx:267 -#: src/pages/part/PartDetail.tsx:639 +#: src/pages/part/PartDetail.tsx:652 msgid "Parts" msgstr "" @@ -1235,7 +1369,7 @@ msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:172 #: src/pages/part/CategoryDetail.tsx:251 #: src/pages/part/CategoryDetail.tsx:288 -#: src/pages/part/PartDetail.tsx:821 +#: src/pages/part/PartDetail.tsx:862 msgid "Part Categories" msgstr "" @@ -1317,7 +1451,7 @@ msgid "Project Code" msgstr "" #: src/components/render/ModelType.tsx:127 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:109 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:120 msgid "Project Codes" msgstr "" @@ -1329,10 +1463,10 @@ msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:134 -#: src/pages/Index/Settings/SystemSettings.tsx:257 +#: src/pages/Index/Settings/SystemSettings.tsx:258 #: src/pages/company/CompanyDetail.tsx:194 #: src/pages/company/SupplierPartDetail.tsx:226 -#: src/pages/part/PartDetail.tsx:573 +#: src/pages/part/PartDetail.tsx:586 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "" @@ -1354,9 +1488,9 @@ msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:272 +#: src/pages/Index/Settings/SystemSettings.tsx:273 #: src/pages/company/CompanyDetail.tsx:214 -#: src/pages/part/PartDetail.tsx:580 +#: src/pages/part/PartDetail.tsx:593 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" @@ -1376,7 +1510,7 @@ msgid "Return Order" msgstr "" #: src/components/render/ModelType.tsx:164 -#: src/pages/Index/Settings/SystemSettings.tsx:288 +#: src/pages/Index/Settings/SystemSettings.tsx:289 #: src/pages/company/CompanyDetail.tsx:221 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1413,40 +1547,49 @@ msgid "Owners" msgstr "" #: src/components/render/ModelType.tsx:193 +#: src/tables/settings/ImportSessionTable.tsx:122 #: src/tables/stock/StockItemTestResultTable.tsx:193 #: src/tables/stock/StockTrackingTable.tsx:195 msgid "User" msgstr "" #: src/components/render/ModelType.tsx:194 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:85 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:90 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" msgstr "" #: src/components/render/ModelType.tsx:200 -msgid "Label Template" +msgid "Import Session" msgstr "" #: src/components/render/ModelType.tsx:201 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:139 -msgid "Label Templates" +msgid "Import Sessions" msgstr "" #: src/components/render/ModelType.tsx:207 -msgid "Report Template" +msgid "Label Template" msgstr "" #: src/components/render/ModelType.tsx:208 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:145 -msgid "Report Templates" +#: src/pages/Index/Settings/AdminCenter/Index.tsx:150 +msgid "Label Templates" msgstr "" #: src/components/render/ModelType.tsx:214 -msgid "Plugin Configuration" +msgid "Report Template" msgstr "" #: src/components/render/ModelType.tsx:215 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:156 +msgid "Report Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:221 +msgid "Plugin Configuration" +msgstr "" + +#: src/components/render/ModelType.tsx:222 msgid "Plugin Configurations" msgstr "" @@ -1458,7 +1601,7 @@ msgstr "" #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 #: src/pages/Index/Settings/SystemSettings.tsx:210 -#: src/pages/part/PartDetail.tsx:492 +#: src/pages/part/PartDetail.tsx:503 #: src/pages/stock/LocationDetail.tsx:347 #: src/pages/stock/StockDetail.tsx:356 #: src/tables/stock/StockItemTable.tsx:57 @@ -1641,10 +1784,6 @@ msgstr "" #~ msgid "Comment" #~ msgstr "Comment" -#: src/components/tables/general/AttachmentTable.tsx:56 -#~ msgid "Uploaded" -#~ msgstr "Uploaded" - #: src/components/tables/part/PartCategoryTable.tsx:122 #~ msgid "Part category updated" #~ msgstr "Part category updated" @@ -2157,7 +2296,7 @@ msgid "Recently Updated" msgstr "" #: src/defaults/dashboardItems.tsx:50 -#: src/tables/part/PartTable.tsx:216 +#: src/tables/part/PartTable.tsx:223 msgid "Low Stock" msgstr "" @@ -2466,7 +2605,7 @@ msgstr "" #~ msgid "Company updated" #~ msgstr "Company updated" -#: src/forms/PartForms.tsx:100 +#: src/forms/PartForms.tsx:103 msgid "Parent part category" msgstr "" @@ -2534,7 +2673,7 @@ msgstr "" #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 #: src/pages/stock/StockDetail.tsx:173 -#: src/tables/ColumnRenderers.tsx:34 +#: src/tables/ColumnRenderers.tsx:49 #: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" msgstr "" @@ -2585,8 +2724,8 @@ msgstr "" #: src/forms/StockForms.tsx:176 #: src/pages/stock/StockDetail.tsx:379 -#: src/tables/stock/StockItemTable.tsx:382 -#: src/tables/stock/StockItemTable.tsx:499 +#: src/tables/stock/StockItemTable.tsx:404 +#: src/tables/stock/StockItemTable.tsx:521 msgid "Add Stock Item" msgstr "" @@ -2606,9 +2745,9 @@ msgstr "" #: src/forms/StockForms.tsx:606 #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 -#: src/pages/part/PartDetail.tsx:202 -#: src/pages/part/PartDetail.tsx:655 -#: src/tables/stock/StockItemTable.tsx:290 +#: src/pages/part/PartDetail.tsx:203 +#: src/pages/part/PartDetail.tsx:668 +#: src/tables/stock/StockItemTable.tsx:312 msgid "In Stock" msgstr "" @@ -2649,12 +2788,12 @@ msgid "Remove Stock" msgstr "" #: src/forms/StockForms.tsx:803 -#: src/pages/part/PartDetail.tsx:782 +#: src/pages/part/PartDetail.tsx:823 msgid "Transfer Stock" msgstr "" #: src/forms/StockForms.tsx:812 -#: src/pages/part/PartDetail.tsx:771 +#: src/pages/part/PartDetail.tsx:812 msgid "Count Stock" msgstr "" @@ -3279,53 +3418,57 @@ msgstr "" #~ msgid "Advanced Amininistrative Options for InvenTree" #~ msgstr "Advanced Amininistrative Options for InvenTree" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:91 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:96 +msgid "Data Import" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:102 msgid "Background Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:97 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:108 msgid "Error Reports" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:103 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:114 msgid "Currencies" 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:132 msgid "Custom Units" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:138 #: src/pages/part/CategoryDetail.tsx:257 msgid "Part Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 -#~ msgid "Templates" -#~ msgstr "Templates" - -#: src/pages/Index/Settings/AdminCenter/Index.tsx:133 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:144 msgid "Category Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:151 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:162 msgid "Location types" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:163 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:174 #: src/tables/machine/MachineTypeTable.tsx:287 msgid "Machines" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:173 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:184 msgid "Quick Actions" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:178 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:189 msgid "Add a new user" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:199 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:210 msgid "Advanced Options" msgstr "" @@ -3477,7 +3620,7 @@ msgid "Reporting" msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:235 -#: src/pages/part/PartDetail.tsx:593 +#: src/pages/part/PartDetail.tsx:606 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" @@ -3485,12 +3628,12 @@ msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:241 #: src/pages/build/BuildDetail.tsx:423 #: src/pages/build/BuildIndex.tsx:14 -#: src/pages/part/PartDetail.tsx:527 +#: src/pages/part/PartDetail.tsx:540 #: src/pages/sales/SalesOrderDetail.tsx:270 msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:316 +#: src/pages/Index/Settings/SystemSettings.tsx:317 msgid "Switch to User Setting" msgstr "" @@ -3555,7 +3698,8 @@ msgstr "" #: 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/settings/ImportSessionTable.tsx:116 +#: src/tables/stock/StockItemTable.tsx:281 #: src/tables/stock/StockTrackingTable.tsx:52 msgid "Status" msgstr "" @@ -3564,7 +3708,7 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:104 #: src/pages/sales/ReturnOrderDetail.tsx:73 #: src/pages/sales/SalesOrderDetail.tsx:77 -#: src/tables/ColumnRenderers.tsx:106 +#: src/tables/ColumnRenderers.tsx:121 #: src/tables/build/BuildLineTable.tsx:140 msgid "Reference" msgstr "" @@ -3574,12 +3718,12 @@ msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:78 #: src/pages/company/SupplierPartDetail.tsx:85 #: src/pages/part/CategoryDetail.tsx:94 -#: src/pages/part/PartDetail.tsx:129 +#: src/pages/part/PartDetail.tsx:130 #: src/pages/purchasing/PurchaseOrderDetail.tsx:125 #: src/pages/sales/ReturnOrderDetail.tsx:93 #: src/pages/sales/SalesOrderDetail.tsx:97 #: src/pages/stock/LocationDetail.tsx:101 -#: src/tables/ColumnRenderers.tsx:66 +#: src/tables/ColumnRenderers.tsx:81 #: src/tables/machine/MachineTypeTable.tsx:69 #: src/tables/machine/MachineTypeTable.tsx:112 #: src/tables/machine/MachineTypeTable.tsx:219 @@ -3610,7 +3754,7 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:152 -#: src/pages/part/PartDetail.tsx:317 +#: src/pages/part/PartDetail.tsx:323 #: src/pages/purchasing/PurchaseOrderDetail.tsx:217 #: src/pages/sales/ReturnOrderDetail.tsx:186 #: src/pages/sales/SalesOrderDetail.tsx:190 @@ -3630,7 +3774,7 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:210 #: src/pages/sales/ReturnOrderDetail.tsx:179 #: src/pages/sales/SalesOrderDetail.tsx:183 -#: src/tables/ColumnRenderers.tsx:191 +#: src/tables/ColumnRenderers.tsx:206 msgid "Target Date" msgstr "" @@ -3711,7 +3855,7 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:297 #: src/pages/company/CompanyDetail.tsx:257 #: src/pages/company/ManufacturerPartDetail.tsx:174 -#: src/pages/part/PartDetail.tsx:616 +#: src/pages/part/PartDetail.tsx:629 #: src/pages/purchasing/PurchaseOrderDetail.tsx:279 #: src/pages/sales/ReturnOrderDetail.tsx:230 #: src/pages/sales/SalesOrderDetail.tsx:280 @@ -3721,7 +3865,7 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:305 #: src/pages/company/CompanyDetail.tsx:268 -#: src/pages/part/PartDetail.tsx:624 +#: src/pages/part/PartDetail.tsx:637 #: src/pages/purchasing/PurchaseOrderDetail.tsx:290 #: src/pages/sales/ReturnOrderDetail.tsx:241 #: src/pages/sales/SalesOrderDetail.tsx:291 @@ -3877,12 +4021,12 @@ msgid "Manufacturer Part Details" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:148 -#: src/pages/part/PartDetail.tsx:486 +#: src/pages/part/PartDetail.tsx:492 msgid "Parameters" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:160 -#: src/pages/part/PartDetail.tsx:560 +#: src/pages/part/PartDetail.tsx:573 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" msgstr "" @@ -3907,7 +4051,7 @@ msgid "ManufacturerPart" msgstr "" #: src/pages/company/SupplierPartDetail.tsx:99 -#: src/tables/ColumnRenderers.tsx:117 +#: src/tables/ColumnRenderers.tsx:132 msgid "Note" msgstr "" @@ -4043,275 +4187,275 @@ msgstr "" msgid "Category Details" msgstr "" -#: src/pages/part/PartDetail.tsx:135 +#: src/pages/part/PartDetail.tsx:136 msgid "Variant of" msgstr "" -#: src/pages/part/PartDetail.tsx:142 +#: src/pages/part/PartDetail.tsx:143 #: src/tables/notifications/NotificationsTable.tsx:31 #: src/tables/part/PartCategoryTemplateTable.tsx:67 msgid "Category" msgstr "" -#: src/pages/part/PartDetail.tsx:148 +#: src/pages/part/PartDetail.tsx:149 msgid "Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:155 +#: src/pages/part/PartDetail.tsx:156 msgid "Category Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:162 +#: src/pages/part/PartDetail.tsx:163 msgid "IPN" msgstr "" -#: src/pages/part/PartDetail.tsx:169 +#: src/pages/part/PartDetail.tsx:170 msgid "Revision" msgstr "" -#: src/pages/part/PartDetail.tsx:176 +#: src/pages/part/PartDetail.tsx:177 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" msgstr "" -#: src/pages/part/PartDetail.tsx:183 +#: src/pages/part/PartDetail.tsx:184 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:190 +#: src/pages/part/PartDetail.tsx:191 #: src/pages/purchasing/PurchaseOrderDetail.tsx:183 #: src/pages/sales/ReturnOrderDetail.tsx:152 #: src/pages/sales/SalesOrderDetail.tsx:156 msgid "Link" msgstr "" -#: src/pages/part/PartDetail.tsx:208 -#: src/tables/bom/BomTable.tsx:276 +#: src/pages/part/PartDetail.tsx:209 +#: src/tables/bom/BomTable.tsx:279 #: src/tables/build/BuildLineTable.tsx:121 -#: src/tables/part/PartTable.tsx:256 +#: src/tables/part/PartTable.tsx:263 msgid "Available Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:215 +#: src/pages/part/PartDetail.tsx:216 msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:221 -#: src/tables/bom/BomTable.tsx:217 +#: src/pages/part/PartDetail.tsx:222 +#: src/tables/bom/BomTable.tsx:220 #: src/tables/build/BuildLineTable.tsx:95 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:230 +#: src/pages/part/PartDetail.tsx:231 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:238 +#: src/pages/part/PartDetail.tsx:239 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:245 -#: src/tables/bom/BomTable.tsx:241 +#: src/pages/part/PartDetail.tsx:246 +#: src/tables/bom/BomTable.tsx:244 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:252 -#: src/tables/bom/BomTable.tsx:225 -#: src/tables/part/PartTable.tsx:82 +#: src/pages/part/PartDetail.tsx:253 +#: src/tables/bom/BomTable.tsx:228 +#: src/tables/part/PartTable.tsx:83 msgid "Building" msgstr "" -#: src/pages/part/PartDetail.tsx:261 +#: src/pages/part/PartDetail.tsx:262 #: src/tables/bom/UsedInTable.tsx:73 #: src/tables/build/BuildOrderTable.tsx:108 #: src/tables/company/CompanyTable.tsx:61 #: src/tables/company/CompanyTable.tsx:95 #: src/tables/machine/MachineListTable.tsx:323 #: src/tables/machine/MachineListTable.tsx:585 -#: src/tables/part/PartTable.tsx:168 +#: src/tables/part/PartTable.tsx:169 #: src/tables/part/PartVariantTable.tsx:15 #: 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 +#: src/tables/stock/StockItemTable.tsx:276 msgid "Active" msgstr "" -#: src/pages/part/PartDetail.tsx:266 +#: src/pages/part/PartDetail.tsx:272 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:271 -#: src/tables/bom/BomTable.tsx:271 +#: src/pages/part/PartDetail.tsx:277 +#: src/tables/bom/BomTable.tsx:274 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:276 +#: src/pages/part/PartDetail.tsx:282 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:281 -#: src/tables/bom/BomTable.tsx:266 +#: src/pages/part/PartDetail.tsx:287 +#: src/tables/bom/BomTable.tsx:269 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:286 +#: src/pages/part/PartDetail.tsx:292 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:291 +#: src/pages/part/PartDetail.tsx:297 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:296 +#: src/pages/part/PartDetail.tsx:302 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:304 -#: src/tables/ColumnRenderers.tsx:199 +#: src/pages/part/PartDetail.tsx:310 +#: src/tables/ColumnRenderers.tsx:214 msgid "Creation Date" msgstr "" -#: src/pages/part/PartDetail.tsx:309 -msgid "Created By" -msgstr "" - #: src/pages/part/PartDetail.tsx:310 #~ msgid "Edit part" #~ msgstr "Edit part" +#: src/pages/part/PartDetail.tsx:315 +msgid "Created By" +msgstr "" + #: src/pages/part/PartDetail.tsx:322 #~ msgid "Duplicate part" #~ msgstr "Duplicate part" -#: src/pages/part/PartDetail.tsx:324 -msgid "Default Supplier" -msgstr "" - #: src/pages/part/PartDetail.tsx:327 #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:335 +#: src/pages/part/PartDetail.tsx:330 +msgid "Default Supplier" +msgstr "" + +#: src/pages/part/PartDetail.tsx:341 #: src/pages/part/pricing/BomPricingPanel.tsx:78 #: src/pages/part/pricing/VariantPricingPanel.tsx:95 -#: src/tables/part/PartTable.tsx:151 +#: src/tables/part/PartTable.tsx:152 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:374 +#: src/pages/part/PartDetail.tsx:380 #: src/pages/stock/StockDetail.tsx:133 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:409 +#: src/pages/part/PartDetail.tsx:415 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:480 +#: src/pages/part/PartDetail.tsx:486 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:506 +#: src/pages/part/PartDetail.tsx:517 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:513 +#: src/pages/part/PartDetail.tsx:524 #: src/pages/stock/StockDetail.tsx:286 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:520 +#: src/pages/part/PartDetail.tsx:531 msgid "Bill of Materials" msgstr "" -#: src/pages/part/PartDetail.tsx:534 +#: src/pages/part/PartDetail.tsx:547 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:541 +#: src/pages/part/PartDetail.tsx:554 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:547 +#: src/pages/part/PartDetail.tsx:560 #: src/pages/purchasing/PurchasingIndex.tsx:37 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:587 +#: src/pages/part/PartDetail.tsx:600 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:599 +#: src/pages/part/PartDetail.tsx:612 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:610 +#: src/pages/part/PartDetail.tsx:623 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:661 +#: src/pages/part/PartDetail.tsx:674 #: src/pages/stock/StockDetail.tsx:154 #: src/pages/stock/StockDetail.tsx:533 #: src/tables/build/BuildLineTable.tsx:36 -#: src/tables/part/PartTable.tsx:107 +#: src/tables/part/PartTable.tsx:108 #: src/tables/stock/StockItemTable.tsx:166 -#: src/tables/stock/StockItemTable.tsx:275 +#: src/tables/stock/StockItemTable.tsx:297 msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:667 +#: src/pages/part/PartDetail.tsx:680 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:673 -#: src/tables/bom/BomTable.tsx:281 -#: src/tables/part/PartTable.tsx:76 +#: src/pages/part/PartDetail.tsx:686 +#: src/tables/bom/BomTable.tsx:284 +#: src/tables/part/PartTable.tsx:77 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:679 +#: src/pages/part/PartDetail.tsx:692 #: src/pages/stock/StockDetail.tsx:516 -#: src/tables/stock/StockItemTable.tsx:295 +#: src/tables/stock/StockItemTable.tsx:317 msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:698 +#: src/pages/part/PartDetail.tsx:717 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:705 -#: src/tables/part/PartTable.tsx:289 -#: src/tables/part/PartTable.tsx:302 +#: src/pages/part/PartDetail.tsx:744 +#: src/tables/part/PartTable.tsx:296 +#: src/tables/part/PartTable.tsx:309 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:717 +#: src/pages/part/PartDetail.tsx:758 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:726 +#: src/pages/part/PartDetail.tsx:767 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:764 +#: src/pages/part/PartDetail.tsx:805 #: src/pages/stock/LocationDetail.tsx:304 -#: src/tables/stock/StockItemTable.tsx:409 +#: src/tables/stock/StockItemTable.tsx:431 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:772 +#: src/pages/part/PartDetail.tsx:813 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:824 msgid "Transfer part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:792 +#: src/pages/part/PartDetail.tsx:833 msgid "Part Actions" msgstr "" @@ -4359,8 +4503,8 @@ msgstr "" #: src/pages/part/pricing/BomPricingPanel.tsx:57 #: src/pages/part/pricing/BomPricingPanel.tsx:137 -#: src/tables/ColumnRenderers.tsx:241 -#: src/tables/bom/BomTable.tsx:165 +#: src/tables/ColumnRenderers.tsx:256 +#: src/tables/bom/BomTable.tsx:168 #: src/tables/purchasing/PurchaseOrderTable.tsx:112 #: src/tables/sales/ReturnOrderTable.tsx:104 #: src/tables/sales/SalesOrderTable.tsx:134 @@ -4369,7 +4513,7 @@ msgstr "" #: src/pages/part/pricing/BomPricingPanel.tsx:77 #: src/pages/part/pricing/BomPricingPanel.tsx:101 -#: src/tables/part/PartTable.tsx:186 +#: src/tables/part/PartTable.tsx:193 msgid "Component" msgstr "" @@ -4398,7 +4542,7 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:67 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:128 #: src/pages/part/pricing/SupplierPricingPanel.tsx:62 -#: src/tables/bom/BomTable.tsx:156 +#: src/tables/bom/BomTable.tsx:159 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 msgid "Unit Price" @@ -4498,7 +4642,7 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:40 #: src/pages/part/pricing/SaleHistoryPanel.tsx:36 -#: src/tables/ColumnRenderers.tsx:180 +#: src/tables/ColumnRenderers.tsx:195 #: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" @@ -4771,12 +4915,12 @@ msgid "Count stock" msgstr "" #: src/pages/stock/StockDetail.tsx:459 -#: src/tables/stock/StockItemTable.tsx:414 +#: src/tables/stock/StockItemTable.tsx:436 msgid "Add stock" msgstr "" #: src/pages/stock/StockDetail.tsx:467 -#: src/tables/stock/StockItemTable.tsx:423 +#: src/tables/stock/StockItemTable.tsx:445 msgid "Remove stock" msgstr "" @@ -4785,7 +4929,7 @@ msgid "Transfer" msgstr "" #: src/pages/stock/StockDetail.tsx:475 -#: src/tables/stock/StockItemTable.tsx:443 +#: src/tables/stock/StockItemTable.tsx:465 msgid "Transfer stock" msgstr "" @@ -4793,15 +4937,15 @@ msgstr "" msgid "Stock Item Actions" msgstr "" -#: src/tables/ColumnRenderers.tsx:42 +#: src/tables/ColumnRenderers.tsx:57 msgid "No location set" msgstr "" -#: src/tables/ColumnRenderers.tsx:207 +#: src/tables/ColumnRenderers.tsx:222 msgid "Shipment Date" msgstr "" -#: src/tables/ColumnRenderers.tsx:227 +#: src/tables/ColumnRenderers.tsx:242 #: src/tables/settings/CurrencyTable.tsx:23 msgid "Currency" msgstr "" @@ -4828,14 +4972,14 @@ msgid "TSV" msgstr "" #: src/tables/DownloadAction.tsx:24 -msgid "Excel (.xls)" -msgstr "" - -#: src/tables/DownloadAction.tsx:25 msgid "Excel (.xlsx)" msgstr "" -#: src/tables/DownloadAction.tsx:39 +#: src/tables/DownloadAction.tsx:24 +#~ msgid "Excel (.xls)" +#~ msgstr "" + +#: src/tables/DownloadAction.tsx:38 msgid "Download Data" msgstr "" @@ -4900,54 +5044,54 @@ msgstr "" msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:119 -#: src/tables/InvenTreeTable.tsx:390 -#: src/tables/InvenTreeTable.tsx:411 +#: src/tables/InvenTreeTable.tsx:126 +#: src/tables/InvenTreeTable.tsx:409 +#: src/tables/InvenTreeTable.tsx:430 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:422 +#: src/tables/InvenTreeTable.tsx:441 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:430 +#: src/tables/InvenTreeTable.tsx:449 msgid "Bad request" msgstr "" -#: src/tables/InvenTreeTable.tsx:433 +#: src/tables/InvenTreeTable.tsx:452 msgid "Unauthorized" msgstr "" -#: src/tables/InvenTreeTable.tsx:436 +#: src/tables/InvenTreeTable.tsx:455 msgid "Forbidden" msgstr "" -#: src/tables/InvenTreeTable.tsx:439 +#: src/tables/InvenTreeTable.tsx:458 msgid "Not found" msgstr "" -#: src/tables/InvenTreeTable.tsx:488 -#: src/tables/InvenTreeTable.tsx:606 +#: src/tables/InvenTreeTable.tsx:507 +#: src/tables/InvenTreeTable.tsx:623 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:492 +#: src/tables/InvenTreeTable.tsx:511 msgid "Are you sure you want to delete the selected records?" msgstr "" -#: src/tables/InvenTreeTable.tsx:494 +#: src/tables/InvenTreeTable.tsx:513 msgid "This action cannot be undone!" msgstr "" -#: src/tables/InvenTreeTable.tsx:517 +#: src/tables/InvenTreeTable.tsx:536 msgid "Deleted records" msgstr "" -#: src/tables/InvenTreeTable.tsx:518 +#: src/tables/InvenTreeTable.tsx:537 msgid "Records were deleted successfully" msgstr "" -#: src/tables/InvenTreeTable.tsx:527 +#: src/tables/InvenTreeTable.tsx:546 msgid "Failed to delete records" msgstr "" @@ -4956,140 +5100,144 @@ msgstr "" #~ msgid "Print actions" #~ msgstr "Print actions" -#: src/tables/InvenTreeTable.tsx:596 -#: src/tables/InvenTreeTable.tsx:597 +#: src/tables/InvenTreeTable.tsx:613 +#: src/tables/InvenTreeTable.tsx:614 msgid "Barcode actions" msgstr "" -#: src/tables/InvenTreeTable.tsx:625 +#: src/tables/InvenTreeTable.tsx:642 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTable.tsx:646 +#: src/tables/InvenTreeTable.tsx:663 msgid "Table filters" msgstr "" -#: src/tables/bom/BomTable.tsx:80 +#: src/tables/UploadAction.tsx:9 +msgid "Upload Data" +msgstr "" + +#: src/tables/bom/BomTable.tsx:83 msgid "This BOM item is defined for a different parent" msgstr "" -#: src/tables/bom/BomTable.tsx:95 +#: src/tables/bom/BomTable.tsx:98 msgid "Part Information" msgstr "" -#: src/tables/bom/BomTable.tsx:184 -#: src/tables/part/PartTable.tsx:124 +#: src/tables/bom/BomTable.tsx:187 +#: src/tables/part/PartTable.tsx:125 msgid "No stock" msgstr "" -#: src/tables/bom/BomTable.tsx:192 +#: src/tables/bom/BomTable.tsx:195 #: src/tables/build/BuildLineTable.tsx:104 -#: src/tables/part/PartTable.tsx:115 +#: src/tables/part/PartTable.tsx:116 msgid "External stock" msgstr "" -#: src/tables/bom/BomTable.tsx:200 +#: src/tables/bom/BomTable.tsx:203 #: src/tables/build/BuildLineTable.tsx:67 msgid "Includes substitute stock" msgstr "" -#: src/tables/bom/BomTable.tsx:209 +#: src/tables/bom/BomTable.tsx:212 #: src/tables/build/BuildLineTable.tsx:77 msgid "Includes variant stock" msgstr "" -#: src/tables/bom/BomTable.tsx:234 -#: src/tables/part/PartTable.tsx:143 +#: src/tables/bom/BomTable.tsx:237 +#: src/tables/part/PartTable.tsx:144 #: src/tables/stock/StockItemTable.tsx:205 msgid "Stock Information" msgstr "" -#: src/tables/bom/BomTable.tsx:246 +#: src/tables/bom/BomTable.tsx:249 #: src/tables/build/BuildLineTable.tsx:195 msgid "Consumable item" msgstr "" -#: src/tables/bom/BomTable.tsx:267 +#: src/tables/bom/BomTable.tsx:270 msgid "Show trackable items" msgstr "" -#: src/tables/bom/BomTable.tsx:272 +#: src/tables/bom/BomTable.tsx:275 msgid "Show asssmbled items" msgstr "" -#: src/tables/bom/BomTable.tsx:277 +#: src/tables/bom/BomTable.tsx:280 msgid "Show items with available stock" msgstr "" -#: src/tables/bom/BomTable.tsx:282 +#: src/tables/bom/BomTable.tsx:285 msgid "Show items on order" msgstr "" -#: src/tables/bom/BomTable.tsx:286 +#: src/tables/bom/BomTable.tsx:289 msgid "Validated" msgstr "" -#: src/tables/bom/BomTable.tsx:287 +#: src/tables/bom/BomTable.tsx:290 msgid "Show validated items" msgstr "" -#: src/tables/bom/BomTable.tsx:291 +#: src/tables/bom/BomTable.tsx:294 #: src/tables/bom/UsedInTable.tsx:63 msgid "Inherited" msgstr "" -#: src/tables/bom/BomTable.tsx:292 +#: src/tables/bom/BomTable.tsx:295 #: src/tables/bom/UsedInTable.tsx:64 msgid "Show inherited items" msgstr "" -#: src/tables/bom/BomTable.tsx:296 +#: src/tables/bom/BomTable.tsx:299 msgid "Allow Variants" msgstr "" -#: src/tables/bom/BomTable.tsx:297 +#: src/tables/bom/BomTable.tsx:300 msgid "Show items which allow variant substitution" msgstr "" #: src/tables/bom/BomTable.tsx:301 +#~ msgid "Create BOM Item" +#~ msgstr "Create BOM Item" + +#: src/tables/bom/BomTable.tsx:304 #: src/tables/bom/UsedInTable.tsx:68 #: src/tables/build/BuildLineTable.tsx:46 msgid "Optional" msgstr "" -#: src/tables/bom/BomTable.tsx:301 -#~ msgid "Create BOM Item" -#~ msgstr "Create BOM Item" - -#: src/tables/bom/BomTable.tsx:302 +#: src/tables/bom/BomTable.tsx:305 #: src/tables/bom/UsedInTable.tsx:69 msgid "Show optional items" msgstr "" -#: src/tables/bom/BomTable.tsx:306 +#: src/tables/bom/BomTable.tsx:309 #: src/tables/build/BuildLineTable.tsx:41 msgid "Consumable" msgstr "" -#: src/tables/bom/BomTable.tsx:307 +#: src/tables/bom/BomTable.tsx:310 msgid "Show consumable items" msgstr "" -#: src/tables/bom/BomTable.tsx:311 -#: src/tables/part/PartTable.tsx:250 +#: src/tables/bom/BomTable.tsx:314 +#: src/tables/part/PartTable.tsx:257 msgid "Has Pricing" msgstr "" -#: src/tables/bom/BomTable.tsx:312 +#: src/tables/bom/BomTable.tsx:315 msgid "Show items with pricing" msgstr "" -#: src/tables/bom/BomTable.tsx:321 -#: src/tables/bom/BomTable.tsx:420 +#: src/tables/bom/BomTable.tsx:324 +#: src/tables/bom/BomTable.tsx:426 msgid "Add BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:326 +#: src/tables/bom/BomTable.tsx:329 msgid "BOM item created" msgstr "" @@ -5097,23 +5245,23 @@ msgstr "" #~ msgid "Edit Bom Item" #~ msgstr "Edit Bom Item" -#: src/tables/bom/BomTable.tsx:333 -msgid "Edit BOM Item" -msgstr "" - #: src/tables/bom/BomTable.tsx:333 #~ msgid "Bom item updated" #~ msgstr "Bom item updated" -#: src/tables/bom/BomTable.tsx:335 +#: src/tables/bom/BomTable.tsx:336 +msgid "Edit BOM Item" +msgstr "" + +#: src/tables/bom/BomTable.tsx:338 msgid "BOM item updated" msgstr "" -#: src/tables/bom/BomTable.tsx:342 +#: src/tables/bom/BomTable.tsx:345 msgid "Delete BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:343 +#: src/tables/bom/BomTable.tsx:346 msgid "BOM item deleted" msgstr "" @@ -5133,32 +5281,41 @@ msgstr "" #~ msgid "Validate BOM line" #~ msgstr "Validate BOM line" -#: src/tables/bom/BomTable.tsx:355 +#: src/tables/bom/BomTable.tsx:358 msgid "BOM item validated" msgstr "" -#: src/tables/bom/BomTable.tsx:364 +#: src/tables/bom/BomTable.tsx:367 msgid "Failed to validate BOM item" msgstr "" -#: src/tables/bom/BomTable.tsx:376 +#: src/tables/bom/BomTable.tsx:379 msgid "View BOM" msgstr "" -#: src/tables/bom/BomTable.tsx:385 +#: src/tables/bom/BomTable.tsx:388 msgid "Validate BOM Line" msgstr "" -#: src/tables/bom/BomTable.tsx:399 +#: src/tables/bom/BomTable.tsx:405 msgid "Edit Substitutes" msgstr "" +#: src/tables/bom/BomTable.tsx:440 +#: src/tables/part/PartParameterTable.tsx:191 +msgid "Part is Locked" +msgstr "" + +#: src/tables/bom/BomTable.tsx:445 +msgid "Bill of materials cannot be edited, as the part is locked" +msgstr "" + #: src/tables/bom/UsedInTable.tsx:74 msgid "Show active assemblies" msgstr "" #: src/tables/bom/UsedInTable.tsx:78 -#: src/tables/part/PartTable.tsx:192 +#: src/tables/part/PartTable.tsx:199 #: src/tables/part/PartVariantTable.tsx:30 msgid "Trackable" msgstr "" @@ -5168,7 +5325,7 @@ msgid "Show trackable assemblies" msgstr "" #: src/tables/build/BuildLineTable.tsx:31 -#: src/tables/stock/StockItemTable.tsx:270 +#: src/tables/stock/StockItemTable.tsx:292 msgid "Allocated" msgstr "" @@ -5189,7 +5346,7 @@ msgid "Show optional lines" msgstr "" #: src/tables/build/BuildLineTable.tsx:51 -#: src/tables/stock/StockItemTable.tsx:329 +#: src/tables/stock/StockItemTable.tsx:351 msgid "Tracked" msgstr "" @@ -5302,10 +5459,6 @@ msgstr "" msgid "Deallocate stock from build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:205 -msgid "Complete" -msgstr "" - #: src/tables/build/BuildOutputTable.tsx:206 msgid "Complete build output" msgstr "" @@ -5635,7 +5788,7 @@ msgid "Message" msgstr "" #: src/tables/part/ParametricPartTable.tsx:76 -#: src/tables/part/PartParameterTable.tsx:88 +#: src/tables/part/PartParameterTable.tsx:95 msgid "Internal Units" msgstr "" @@ -5648,13 +5801,13 @@ msgid "Add Part Parameter" msgstr "" #: src/tables/part/ParametricPartTable.tsx:138 -#: src/tables/part/PartParameterTable.tsx:121 -#: src/tables/part/PartParameterTable.tsx:144 +#: src/tables/part/PartParameterTable.tsx:128 +#: src/tables/part/PartParameterTable.tsx:151 msgid "Edit Part Parameter" msgstr "" #: src/tables/part/PartCategoryTable.tsx:60 -#: src/tables/part/PartTable.tsx:180 +#: src/tables/part/PartTable.tsx:187 msgid "Include Subcategories" msgstr "" @@ -5667,7 +5820,7 @@ msgid "Show structural categories" msgstr "" #: src/tables/part/PartCategoryTable.tsx:70 -#: src/tables/part/PartTable.tsx:262 +#: src/tables/part/PartTable.tsx:269 msgid "Subscribed" msgstr "" @@ -5704,21 +5857,25 @@ msgstr "" #~ msgid "[{0}]" #~ msgstr "[{0}]" -#: src/tables/part/PartParameterTable.tsx:105 +#: src/tables/part/PartParameterTable.tsx:112 msgid "New Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:130 -#: src/tables/part/PartParameterTable.tsx:152 +#: src/tables/part/PartParameterTable.tsx:137 +#: src/tables/part/PartParameterTable.tsx:159 msgid "Delete Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:170 +#: src/tables/part/PartParameterTable.tsx:177 msgid "Add parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:191 -#: src/tables/stock/StockItemTable.tsx:300 +#: src/tables/part/PartParameterTable.tsx:196 +msgid "Part parameters cannot be edited, as the part is locked" +msgstr "" + +#: src/tables/part/PartParameterTable.tsx:210 +#: src/tables/stock/StockItemTable.tsx:322 msgid "Include Variants" msgstr "" @@ -5739,7 +5896,7 @@ msgid "Show templates with choices" msgstr "" #: src/tables/part/PartParameterTemplateTable.tsx:41 -#: src/tables/part/PartTable.tsx:198 +#: src/tables/part/PartTable.tsx:205 msgid "Has Units" msgstr "" @@ -5763,116 +5920,120 @@ msgstr "" msgid "Add parameter template" msgstr "" -#: src/tables/part/PartTable.tsx:67 +#: src/tables/part/PartTable.tsx:68 msgid "Minimum stock" msgstr "" -#: src/tables/part/PartTable.tsx:89 +#: src/tables/part/PartTable.tsx:90 msgid "Build Order Allocations" msgstr "" -#: src/tables/part/PartTable.tsx:98 +#: src/tables/part/PartTable.tsx:99 msgid "Sales Order Allocations" msgstr "" -#: src/tables/part/PartTable.tsx:169 +#: src/tables/part/PartTable.tsx:170 msgid "Filter by part active status" msgstr "" -#: src/tables/part/PartTable.tsx:174 -#: src/tables/stock/StockItemTable.tsx:265 +#: src/tables/part/PartTable.tsx:176 +msgid "Filter by part locked status" +msgstr "" + +#: src/tables/part/PartTable.tsx:181 +#: src/tables/stock/StockItemTable.tsx:287 msgid "Assembly" msgstr "" -#: src/tables/part/PartTable.tsx:175 +#: src/tables/part/PartTable.tsx:182 msgid "Filter by assembly attribute" msgstr "" -#: src/tables/part/PartTable.tsx:181 +#: src/tables/part/PartTable.tsx:188 msgid "Include parts in subcategories" msgstr "" -#: src/tables/part/PartTable.tsx:187 +#: src/tables/part/PartTable.tsx:194 msgid "Filter by component attribute" msgstr "" -#: src/tables/part/PartTable.tsx:193 +#: src/tables/part/PartTable.tsx:200 msgid "Filter by trackable attribute" msgstr "" -#: src/tables/part/PartTable.tsx:199 +#: src/tables/part/PartTable.tsx:206 msgid "Filter by parts which have units" msgstr "" -#: src/tables/part/PartTable.tsx:204 +#: src/tables/part/PartTable.tsx:211 msgid "Has IPN" msgstr "" -#: src/tables/part/PartTable.tsx:205 +#: src/tables/part/PartTable.tsx:212 msgid "Filter by parts which have an internal part number" msgstr "" -#: src/tables/part/PartTable.tsx:210 +#: src/tables/part/PartTable.tsx:217 msgid "Has Stock" msgstr "" -#: src/tables/part/PartTable.tsx:211 +#: src/tables/part/PartTable.tsx:218 msgid "Filter by parts which have stock" msgstr "" -#: src/tables/part/PartTable.tsx:217 +#: src/tables/part/PartTable.tsx:224 msgid "Filter by parts which have low stock" msgstr "" -#: src/tables/part/PartTable.tsx:222 +#: src/tables/part/PartTable.tsx:229 msgid "Purchaseable" msgstr "" -#: src/tables/part/PartTable.tsx:223 +#: src/tables/part/PartTable.tsx:230 msgid "Filter by parts which are purchaseable" msgstr "" -#: src/tables/part/PartTable.tsx:228 +#: src/tables/part/PartTable.tsx:235 msgid "Salable" msgstr "" -#: src/tables/part/PartTable.tsx:229 +#: src/tables/part/PartTable.tsx:236 msgid "Filter by parts which are salable" msgstr "" -#: src/tables/part/PartTable.tsx:235 +#: src/tables/part/PartTable.tsx:242 msgid "Filter by parts which are virtual" msgstr "" -#: src/tables/part/PartTable.tsx:239 +#: src/tables/part/PartTable.tsx:246 msgid "Not Virtual" msgstr "" -#: src/tables/part/PartTable.tsx:244 +#: src/tables/part/PartTable.tsx:251 msgid "Is Template" msgstr "" -#: src/tables/part/PartTable.tsx:245 +#: src/tables/part/PartTable.tsx:252 msgid "Filter by parts which are templates" msgstr "" -#: src/tables/part/PartTable.tsx:251 +#: src/tables/part/PartTable.tsx:258 msgid "Filter by parts which have pricing information" msgstr "" -#: src/tables/part/PartTable.tsx:257 +#: src/tables/part/PartTable.tsx:264 msgid "Filter by parts which have available stock" msgstr "" -#: src/tables/part/PartTable.tsx:263 +#: src/tables/part/PartTable.tsx:270 msgid "Filter by parts to which the user is subscribed" msgstr "" -#: src/tables/part/PartTable.tsx:268 +#: src/tables/part/PartTable.tsx:275 msgid "Has Stocktake" msgstr "" -#: src/tables/part/PartTable.tsx:269 +#: src/tables/part/PartTable.tsx:276 msgid "Filter by parts which have stocktake information" msgstr "" @@ -6211,7 +6372,7 @@ msgid "Sample" msgstr "" #: src/tables/plugin/PluginListTable.tsx:578 -#: src/tables/stock/StockItemTable.tsx:305 +#: src/tables/stock/StockItemTable.tsx:327 msgid "Installed" msgstr "" @@ -6486,6 +6647,41 @@ msgstr "" msgid "Edit group" msgstr "" +#: src/tables/settings/ImportSessionTable.tsx:39 +msgid "Delete Import Session" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:45 +#: src/tables/settings/ImportSessionTable.tsx:132 +msgid "Create Import Session" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:70 +msgid "Uploaded" +msgstr "Uploaded" + +#: src/tables/settings/ImportSessionTable.tsx:80 +msgid "Imported Rows" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:110 +#: src/tables/settings/TemplateTable.tsx:276 +msgid "Model Type" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:111 +#: src/tables/settings/TemplateTable.tsx:277 +msgid "Filter by target model type" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:117 +msgid "Filter by import session status" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:123 +msgid "Filter by user" +msgstr "" + #: src/tables/settings/PendingTasksTable.tsx:36 msgid "Arguments" msgstr "" @@ -6502,7 +6698,7 @@ msgstr "" msgid "Delete Project Code" msgstr "" -#: src/tables/settings/ProjectCodeTable.tsx:94 +#: src/tables/settings/ProjectCodeTable.tsx:92 msgid "Add project code" msgstr "" @@ -6571,14 +6767,6 @@ msgstr "" 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 "" @@ -6701,149 +6889,153 @@ msgstr "" msgid "This stock item has been depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:255 +#: src/tables/stock/StockItemTable.tsx:247 +msgid "Stock Value" +msgstr "" + +#: src/tables/stock/StockItemTable.tsx:277 msgid "Show stock for active parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:260 +#: src/tables/stock/StockItemTable.tsx:282 msgid "Filter by stock status" msgstr "" -#: src/tables/stock/StockItemTable.tsx:266 +#: src/tables/stock/StockItemTable.tsx:288 msgid "Show stock for assmebled parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:271 +#: src/tables/stock/StockItemTable.tsx:293 msgid "Show items which have been allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:276 +#: src/tables/stock/StockItemTable.tsx:298 msgid "Show items which are available" msgstr "" -#: src/tables/stock/StockItemTable.tsx:280 +#: src/tables/stock/StockItemTable.tsx:302 #: src/tables/stock/StockLocationTable.tsx:42 msgid "Include Sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:281 +#: src/tables/stock/StockItemTable.tsx:303 msgid "Include stock in sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:285 +#: src/tables/stock/StockItemTable.tsx:307 msgid "Depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:286 +#: src/tables/stock/StockItemTable.tsx:308 msgid "Show depleted stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:291 +#: src/tables/stock/StockItemTable.tsx:313 msgid "Show items which are in stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:296 +#: src/tables/stock/StockItemTable.tsx:318 msgid "Show items which are in production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:301 +#: src/tables/stock/StockItemTable.tsx:323 msgid "Include stock items for variant parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:306 +#: src/tables/stock/StockItemTable.tsx:328 msgid "Show stock items which are installed in other items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:310 +#: src/tables/stock/StockItemTable.tsx:332 msgid "Sent to Customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:311 +#: src/tables/stock/StockItemTable.tsx:333 msgid "Show items which have been sent to a customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:315 +#: src/tables/stock/StockItemTable.tsx:337 msgid "Is Serialized" msgstr "" -#: src/tables/stock/StockItemTable.tsx:316 +#: src/tables/stock/StockItemTable.tsx:338 msgid "Show items which have a serial number" msgstr "" -#: src/tables/stock/StockItemTable.tsx:323 +#: src/tables/stock/StockItemTable.tsx:345 msgid "Has Batch Code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:324 +#: src/tables/stock/StockItemTable.tsx:346 msgid "Show items which have a batch code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:330 +#: src/tables/stock/StockItemTable.tsx:352 msgid "Show tracked items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:334 +#: src/tables/stock/StockItemTable.tsx:356 msgid "Has Purchase Price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:335 +#: src/tables/stock/StockItemTable.tsx:357 msgid "Show items which have a purchase price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:343 +#: src/tables/stock/StockItemTable.tsx:365 msgid "External Location" msgstr "" -#: src/tables/stock/StockItemTable.tsx:344 +#: src/tables/stock/StockItemTable.tsx:366 msgid "Show items in an external location" msgstr "" -#: src/tables/stock/StockItemTable.tsx:416 +#: src/tables/stock/StockItemTable.tsx:438 msgid "Add a new stock item" msgstr "" -#: src/tables/stock/StockItemTable.tsx:425 +#: src/tables/stock/StockItemTable.tsx:447 msgid "Remove some quantity from a stock item" msgstr "" -#: src/tables/stock/StockItemTable.tsx:447 +#: src/tables/stock/StockItemTable.tsx:469 msgid "Move Stock items to new locations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:454 +#: src/tables/stock/StockItemTable.tsx:476 msgid "Change stock status" msgstr "" -#: src/tables/stock/StockItemTable.tsx:456 +#: src/tables/stock/StockItemTable.tsx:478 msgid "Change the status of stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:463 +#: src/tables/stock/StockItemTable.tsx:485 msgid "Merge stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:465 +#: src/tables/stock/StockItemTable.tsx:487 msgid "Merge stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:472 +#: src/tables/stock/StockItemTable.tsx:494 msgid "Order stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:474 -#: src/tables/stock/StockItemTable.tsx:480 +#: src/tables/stock/StockItemTable.tsx:496 +#: src/tables/stock/StockItemTable.tsx:502 msgid "Order new stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:478 +#: src/tables/stock/StockItemTable.tsx:500 msgid "Assign to customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:487 +#: src/tables/stock/StockItemTable.tsx:509 msgid "Delete stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:489 +#: src/tables/stock/StockItemTable.tsx:511 msgid "Delete stock items" msgstr "" @@ -6999,4 +7191,3 @@ msgstr "" #: src/views/MobileAppView.tsx:35 msgid "Ignore and continue to Desktop view" msgstr "" - diff --git a/src/frontend/src/locales/fr/messages.po b/src/frontend/src/locales/fr/messages.po index 8ec24357ad52..305c911dac23 100644 --- a/src/frontend/src/locales/fr/messages.po +++ b/src/frontend/src/locales/fr/messages.po @@ -49,16 +49,18 @@ msgstr "Impression terminée avec succès" #: src/components/buttons/PrintingActions.tsx:107 #: src/components/buttons/PrintingActions.tsx:144 #: src/components/editors/NotesEditor.tsx:65 -#: src/components/editors/NotesEditor.tsx:160 -#: src/components/forms/ApiForm.tsx:506 -#: src/components/forms/fields/ApiFormField.tsx:295 +#: src/components/editors/NotesEditor.tsx:165 +#: src/components/forms/ApiForm.tsx:513 +#: src/components/forms/fields/ApiFormField.tsx:306 +#: src/components/importer/ImportDataSelector.tsx:171 +#: src/components/importer/ImporterColumnSelector.tsx:112 #: src/components/modals/LicenseModal.tsx:75 #: src/components/nav/SearchDrawer.tsx:427 #: src/pages/ErrorPage.tsx:11 #: src/pages/part/PartPricingPanel.tsx:71 -#: src/tables/InvenTreeTable.tsx:451 -#: src/tables/InvenTreeTable.tsx:526 -#: src/tables/bom/BomTable.tsx:363 +#: src/tables/InvenTreeTable.tsx:470 +#: src/tables/InvenTreeTable.tsx:545 +#: src/tables/bom/BomTable.tsx:366 #: src/tables/stock/StockItemTestResultTable.tsx:294 msgid "Error" msgstr "Erreur" @@ -157,7 +159,7 @@ msgstr "Supprimer" #: src/functions/forms.tsx:196 #: src/hooks/UseForm.tsx:40 #: src/tables/FilterSelectDrawer.tsx:204 -#: src/tables/InvenTreeTable.tsx:499 +#: src/tables/InvenTreeTable.tsx:518 #: src/tables/build/BuildOutputTable.tsx:225 msgid "Cancel" msgstr "Annuler" @@ -175,7 +177,7 @@ msgid "Clear" msgstr "Effacer" #: src/components/details/DetailsImage.tsx:227 -#: src/components/forms/ApiForm.tsx:573 +#: src/components/forms/ApiForm.tsx:580 #: src/contexts/ThemeContext.tsx:43 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:56 msgid "Submit" @@ -202,48 +204,61 @@ msgid "Delete image" msgstr "Supprimer l'image" #: src/components/details/PartIcons.tsx:28 +#: src/tables/ColumnRenderers.tsx:35 +msgid "Part is locked" +msgstr "" + +#: src/components/details/PartIcons.tsx:30 +#: src/pages/part/PartDetail.tsx:267 +#: src/pages/part/PartDetail.tsx:698 +#: src/tables/part/PartTable.tsx:175 +msgid "Locked" +msgstr "" + +#: src/components/details/PartIcons.tsx:35 +#: src/tables/ColumnRenderers.tsx:30 msgid "Part is not active" msgstr "La pièce n'est pas active" -#: src/components/details/PartIcons.tsx:34 +#: src/components/details/PartIcons.tsx:37 #: src/components/render/Plugin.tsx:17 #: src/pages/company/CompanyDetail.tsx:315 #: src/pages/company/SupplierPartDetail.tsx:307 -#: src/pages/part/PartDetail.tsx:685 +#: src/pages/part/PartDetail.tsx:704 msgid "Inactive" msgstr "Inactif" -#: src/components/details/PartIcons.tsx:41 +#: src/components/details/PartIcons.tsx:43 msgid "Part is a template part (variants can be made from this part)" msgstr "La pièce est une pièce modèle (des variantes peuvent être faites à partir de cette pièce)" -#: src/components/details/PartIcons.tsx:47 +#: src/components/details/PartIcons.tsx:49 msgid "Part can be assembled from other parts" msgstr "La pièce peut être assemblée à partir d'autres pièces" -#: src/components/details/PartIcons.tsx:53 +#: src/components/details/PartIcons.tsx:55 msgid "Part can be used in assemblies" msgstr "La pièce peut être utilisée dans des assemblages" -#: src/components/details/PartIcons.tsx:59 +#: src/components/details/PartIcons.tsx:61 msgid "Part stock is tracked by serial number" msgstr "Le stock de la pièce est suivi par numéro de série" -#: src/components/details/PartIcons.tsx:65 +#: src/components/details/PartIcons.tsx:67 msgid "Part can be purchased from external suppliers" msgstr "La pièce peut être achetée auprès de fournisseurs externes" -#: src/components/details/PartIcons.tsx:71 +#: src/components/details/PartIcons.tsx:73 msgid "Part can be sold to customers" msgstr "La pièce peut être vendue aux clients" -#: src/components/details/PartIcons.tsx:76 +#: src/components/details/PartIcons.tsx:78 msgid "Part is virtual (not a physical part)" msgstr "La pièce est virtuelle (pas une partie physique)" -#: src/components/details/PartIcons.tsx:82 -#: src/tables/part/PartTable.tsx:234 -#: src/tables/part/PartTable.tsx:238 +#: src/components/details/PartIcons.tsx:84 +#: src/tables/part/PartTable.tsx:241 +#: src/tables/part/PartTable.tsx:245 #: src/tables/part/PartVariantTable.tsx:25 msgid "Virtual" msgstr "Virtuel" @@ -252,29 +267,29 @@ msgstr "Virtuel" msgid "Image upload failed" msgstr "Le téléchargement de l'image a échoué" -#: src/components/editors/NotesEditor.tsx:151 -#: src/components/forms/ApiForm.tsx:430 -#: src/tables/bom/BomTable.tsx:354 +#: src/components/editors/NotesEditor.tsx:156 +#: src/components/forms/ApiForm.tsx:437 +#: src/tables/bom/BomTable.tsx:357 msgid "Success" msgstr "Succès" -#: src/components/editors/NotesEditor.tsx:152 +#: src/components/editors/NotesEditor.tsx:157 msgid "Notes saved successfully" msgstr "Notes enregistrées avec succès" -#: src/components/editors/NotesEditor.tsx:161 +#: src/components/editors/NotesEditor.tsx:166 msgid "Failed to save notes" msgstr "Échec de l'enregistrement des notes" -#: src/components/editors/NotesEditor.tsx:193 +#: src/components/editors/NotesEditor.tsx:198 msgid "Preview Notes" msgstr "Aperçu des Notes" -#: src/components/editors/NotesEditor.tsx:193 +#: src/components/editors/NotesEditor.tsx:198 msgid "Edit Notes" msgstr "Modifier les notes" -#: src/components/editors/NotesEditor.tsx:207 +#: src/components/editors/NotesEditor.tsx:212 msgid "Save Notes" msgstr "Enregistrer les notes" @@ -407,7 +422,7 @@ msgstr "" msgid "A server error occurred" msgstr "" -#: src/components/forms/ApiForm.tsx:149 +#: src/components/forms/ApiForm.tsx:151 #: src/functions/forms.tsx:259 msgid "Form Error" msgstr "Erreur de formulaire" @@ -416,18 +431,18 @@ msgstr "Erreur de formulaire" #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:611 +#: src/components/forms/ApiForm.tsx:618 #: src/tables/plugin/PluginListTable.tsx:388 msgid "Update" msgstr "Mise à jour" -#: src/components/forms/ApiForm.tsx:631 +#: src/components/forms/ApiForm.tsx:638 #: 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:498 +#: src/tables/InvenTreeTable.tsx:517 #: src/tables/RowActions.tsx:71 #: src/tables/plugin/PluginListTable.tsx:420 msgid "Delete" @@ -600,7 +615,7 @@ msgstr "Serveur" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:70 #: src/pages/part/CategoryDetail.tsx:80 -#: src/pages/part/PartDetail.tsx:122 +#: src/pages/part/PartDetail.tsx:123 #: src/pages/stock/LocationDetail.tsx:87 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 @@ -685,6 +700,124 @@ msgstr "Aucune entrée n'est disponible" msgid "Thumbnail" msgstr "Miniature" +#: src/components/importer/ImportDataSelector.tsx:154 +msgid "Importing Rows" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:155 +msgid "Please wait while the data is imported" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:172 +msgid "An error occurred while importing data" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:191 +msgid "Edit Data" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:218 +msgid "Delete Row" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:248 +msgid "Row" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:266 +msgid "Row contains errors" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:307 +msgid "Accept" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:340 +msgid "Valid" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:341 +msgid "Filter by row validation status" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:346 +#: src/tables/build/BuildOutputTable.tsx:205 +msgid "Complete" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:347 +msgid "Filter by row completion status" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:364 +msgid "Import selected rows" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:46 +#: src/components/importer/ImporterColumnSelector.tsx:85 +msgid "An error occurred" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:57 +msgid "Select column, or leave blank to ignore this field." +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:91 +msgid "Select a column from the data file" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:104 +msgid "Map data columns to database fields" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:109 +msgid "Accept Column Mapping" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:117 +msgid "Database Field" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:118 +msgid "Field Description" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:119 +msgid "Imported Column Name" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:44 +msgid "Import Data" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:45 +msgid "Map Columns" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:46 +msgid "Process Data" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:47 +msgid "Complete Import" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:91 +msgid "Importing Data" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:97 +msgid "Cancel import session" +msgstr "" + +#: src/components/importer/ImporterImportProgress.tsx:36 +msgid "Importing Records" +msgstr "" + +#: src/components/importer/ImporterImportProgress.tsx:39 +msgid "Imported rows" +msgstr "" + #: src/components/items/ActionDropdown.tsx:119 #: src/pages/build/BuildDetail.tsx:358 msgid "Barcode Actions" @@ -738,7 +871,7 @@ msgid "Read More" msgstr "En Savoir Plus" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:443 +#: src/tables/InvenTreeTable.tsx:462 msgid "Unknown error" msgstr "Erreur inconnue" @@ -1039,13 +1172,13 @@ msgstr "Paramètres du compte" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:313 +#: src/pages/Index/Settings/SystemSettings.tsx:314 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:198 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:209 msgid "Admin Center" msgstr "Centre Admin" @@ -1088,7 +1221,7 @@ msgid "Pages" msgstr "Pages" #: src/components/nav/NavigationDrawer.tsx:65 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:157 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:168 #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:41 msgid "Plugins" msgstr "Extensions" @@ -1102,7 +1235,7 @@ msgstr "Documentation" msgid "About" msgstr "À propos" -#: src/components/nav/NotificationDrawer.tsx:78 +#: src/components/nav/NotificationDrawer.tsx:81 #: src/pages/Index/Settings/SystemSettings.tsx:108 #: src/pages/Index/Settings/UserSettings.tsx:96 #: src/pages/Notifications.tsx:65 @@ -1110,17 +1243,17 @@ msgstr "À propos" msgid "Notifications" msgstr "Notifications" -#: src/components/nav/NotificationDrawer.tsx:95 +#: src/components/nav/NotificationDrawer.tsx:98 msgid "You have no unread notifications." msgstr "Vous n'avez pas de notifications non lues." -#: src/components/nav/NotificationDrawer.tsx:111 -#: src/components/nav/NotificationDrawer.tsx:117 +#: src/components/nav/NotificationDrawer.tsx:114 +#: src/components/nav/NotificationDrawer.tsx:120 #: src/tables/notifications/NotificationsTable.tsx:36 msgid "Notification" msgstr "Notification" -#: src/components/nav/NotificationDrawer.tsx:140 +#: src/components/nav/NotificationDrawer.tsx:143 #: src/pages/Notifications.tsx:73 msgid "Mark as read" msgstr "Marqué comme lu" @@ -1157,7 +1290,7 @@ msgstr "Aucun résultat" msgid "No results available for search query" msgstr "Aucun résultat disponible pour la requête" -#: src/components/render/Instance.tsx:166 +#: src/components/render/Instance.tsx:201 msgid "Unknown model: {model}" msgstr "Modèle inconnu : {model}" @@ -1172,7 +1305,8 @@ msgstr "Modèle inconnu : {model}" #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 #: src/pages/build/BuildDetail.tsx:85 -#: src/pages/part/PartDetail.tsx:831 +#: src/pages/part/PartDetail.tsx:872 +#: src/tables/part/PartTable.tsx:28 #: src/tables/part/RelatedPartTable.tsx:45 #: src/tables/stock/StockTrackingTable.tsx:74 msgid "Part" @@ -1185,7 +1319,7 @@ msgstr "Pièce" #: src/pages/part/CategoryDetail.tsx:112 #: src/pages/part/CategoryDetail.tsx:237 #: src/pages/part/CategoryDetail.tsx:267 -#: src/pages/part/PartDetail.tsx:639 +#: src/pages/part/PartDetail.tsx:652 msgid "Parts" msgstr "Composants" @@ -1235,7 +1369,7 @@ msgstr "Catégorie de composant" #: src/pages/Index/Settings/SystemSettings.tsx:172 #: src/pages/part/CategoryDetail.tsx:251 #: src/pages/part/CategoryDetail.tsx:288 -#: src/pages/part/PartDetail.tsx:821 +#: src/pages/part/PartDetail.tsx:862 msgid "Part Categories" msgstr "Catégories de composants" @@ -1317,7 +1451,7 @@ msgid "Project Code" msgstr "Code du projet" #: src/components/render/ModelType.tsx:127 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:109 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:120 msgid "Project Codes" msgstr "Codes du projet" @@ -1329,10 +1463,10 @@ msgid "Purchase Order" msgstr "Commande d’achat" #: src/components/render/ModelType.tsx:134 -#: src/pages/Index/Settings/SystemSettings.tsx:257 +#: src/pages/Index/Settings/SystemSettings.tsx:258 #: src/pages/company/CompanyDetail.tsx:194 #: src/pages/company/SupplierPartDetail.tsx:226 -#: src/pages/part/PartDetail.tsx:573 +#: src/pages/part/PartDetail.tsx:586 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "Ordres d'achat" @@ -1354,9 +1488,9 @@ msgid "Sales Order" msgstr "Ventes" #: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:272 +#: src/pages/Index/Settings/SystemSettings.tsx:273 #: src/pages/company/CompanyDetail.tsx:214 -#: src/pages/part/PartDetail.tsx:580 +#: src/pages/part/PartDetail.tsx:593 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "Ordres de vente" @@ -1376,7 +1510,7 @@ msgid "Return Order" msgstr "Retour de commande" #: src/components/render/ModelType.tsx:164 -#: src/pages/Index/Settings/SystemSettings.tsx:288 +#: src/pages/Index/Settings/SystemSettings.tsx:289 #: src/pages/company/CompanyDetail.tsx:221 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1413,40 +1547,49 @@ msgid "Owners" msgstr "" #: src/components/render/ModelType.tsx:193 +#: src/tables/settings/ImportSessionTable.tsx:122 #: src/tables/stock/StockItemTestResultTable.tsx:193 #: src/tables/stock/StockTrackingTable.tsx:195 msgid "User" msgstr "Utilisateur" #: src/components/render/ModelType.tsx:194 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:85 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:90 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" msgstr "Utilisateurs" #: src/components/render/ModelType.tsx:200 -msgid "Label Template" +msgid "Import Session" msgstr "" #: src/components/render/ModelType.tsx:201 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:139 -msgid "Label Templates" +msgid "Import Sessions" msgstr "" #: src/components/render/ModelType.tsx:207 -msgid "Report Template" +msgid "Label Template" msgstr "" #: src/components/render/ModelType.tsx:208 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:145 -msgid "Report Templates" +#: src/pages/Index/Settings/AdminCenter/Index.tsx:150 +msgid "Label Templates" msgstr "" #: src/components/render/ModelType.tsx:214 -msgid "Plugin Configuration" +msgid "Report Template" msgstr "" #: src/components/render/ModelType.tsx:215 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:156 +msgid "Report Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:221 +msgid "Plugin Configuration" +msgstr "" + +#: src/components/render/ModelType.tsx:222 msgid "Plugin Configurations" msgstr "" @@ -1458,7 +1601,7 @@ msgstr "" #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 #: src/pages/Index/Settings/SystemSettings.tsx:210 -#: src/pages/part/PartDetail.tsx:492 +#: src/pages/part/PartDetail.tsx:503 #: src/pages/stock/LocationDetail.tsx:347 #: src/pages/stock/StockDetail.tsx:356 #: src/tables/stock/StockItemTable.tsx:57 @@ -1641,10 +1784,6 @@ msgstr "" #~ msgid "Comment" #~ msgstr "Comment" -#: src/components/tables/general/AttachmentTable.tsx:56 -#~ msgid "Uploaded" -#~ msgstr "Uploaded" - #: src/components/tables/part/PartCategoryTable.tsx:122 #~ msgid "Part category updated" #~ msgstr "Part category updated" @@ -2157,7 +2296,7 @@ msgid "Recently Updated" msgstr "Mis à jour récemment" #: src/defaults/dashboardItems.tsx:50 -#: src/tables/part/PartTable.tsx:216 +#: src/tables/part/PartTable.tsx:223 msgid "Low Stock" msgstr "Stock faible" @@ -2466,7 +2605,7 @@ msgstr "" #~ msgid "Company updated" #~ msgstr "Company updated" -#: src/forms/PartForms.tsx:100 +#: src/forms/PartForms.tsx:103 msgid "Parent part category" msgstr "Catégorie de pièce parente" @@ -2534,7 +2673,7 @@ msgstr "" #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 #: src/pages/stock/StockDetail.tsx:173 -#: src/tables/ColumnRenderers.tsx:34 +#: src/tables/ColumnRenderers.tsx:49 #: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" msgstr "" @@ -2585,8 +2724,8 @@ msgstr "Entrez les numéros de série pour le nouveau stock (ou laisser vide)" #: src/forms/StockForms.tsx:176 #: src/pages/stock/StockDetail.tsx:379 -#: src/tables/stock/StockItemTable.tsx:382 -#: src/tables/stock/StockItemTable.tsx:499 +#: src/tables/stock/StockItemTable.tsx:404 +#: src/tables/stock/StockItemTable.tsx:521 msgid "Add Stock Item" msgstr "Ajouter un article en stock" @@ -2606,9 +2745,9 @@ msgstr "" #: src/forms/StockForms.tsx:606 #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 -#: src/pages/part/PartDetail.tsx:202 -#: src/pages/part/PartDetail.tsx:655 -#: src/tables/stock/StockItemTable.tsx:290 +#: src/pages/part/PartDetail.tsx:203 +#: src/pages/part/PartDetail.tsx:668 +#: src/tables/stock/StockItemTable.tsx:312 msgid "In Stock" msgstr "" @@ -2649,12 +2788,12 @@ msgid "Remove Stock" msgstr "" #: src/forms/StockForms.tsx:803 -#: src/pages/part/PartDetail.tsx:782 +#: src/pages/part/PartDetail.tsx:823 msgid "Transfer Stock" msgstr "" #: src/forms/StockForms.tsx:812 -#: src/pages/part/PartDetail.tsx:771 +#: src/pages/part/PartDetail.tsx:812 msgid "Count Stock" msgstr "" @@ -3279,53 +3418,57 @@ msgstr "Chargeur" #~ msgid "Advanced Amininistrative Options for InvenTree" #~ msgstr "Advanced Amininistrative Options for InvenTree" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:91 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:96 +msgid "Data Import" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:102 msgid "Background Tasks" msgstr "Tâches en arrière plan" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:97 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:108 msgid "Error Reports" msgstr "Rapports d'erreur" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:103 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:114 msgid "Currencies" 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:132 msgid "Custom Units" msgstr "Unités personnalisées" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:138 #: src/pages/part/CategoryDetail.tsx:257 msgid "Part Parameters" msgstr "Paramètres de la pièce" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 -#~ msgid "Templates" -#~ msgstr "Templates" - -#: src/pages/Index/Settings/AdminCenter/Index.tsx:133 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:144 msgid "Category Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:151 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:162 msgid "Location types" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:163 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:174 #: src/tables/machine/MachineTypeTable.tsx:287 msgid "Machines" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:173 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:184 msgid "Quick Actions" msgstr "Actions rapides" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:178 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:189 msgid "Add a new user" msgstr "Ajouter un utilisateur" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:199 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:210 msgid "Advanced Options" msgstr "Options avancées" @@ -3477,7 +3620,7 @@ msgid "Reporting" msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:235 -#: src/pages/part/PartDetail.tsx:593 +#: src/pages/part/PartDetail.tsx:606 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" @@ -3485,12 +3628,12 @@ msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:241 #: src/pages/build/BuildDetail.tsx:423 #: src/pages/build/BuildIndex.tsx:14 -#: src/pages/part/PartDetail.tsx:527 +#: src/pages/part/PartDetail.tsx:540 #: src/pages/sales/SalesOrderDetail.tsx:270 msgid "Build Orders" msgstr "Ordres de fabrication" -#: src/pages/Index/Settings/SystemSettings.tsx:316 +#: src/pages/Index/Settings/SystemSettings.tsx:317 msgid "Switch to User Setting" msgstr "" @@ -3555,7 +3698,8 @@ msgstr "" #: 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/settings/ImportSessionTable.tsx:116 +#: src/tables/stock/StockItemTable.tsx:281 #: src/tables/stock/StockTrackingTable.tsx:52 msgid "Status" msgstr "Status" @@ -3564,7 +3708,7 @@ msgstr "Status" #: src/pages/purchasing/PurchaseOrderDetail.tsx:104 #: src/pages/sales/ReturnOrderDetail.tsx:73 #: src/pages/sales/SalesOrderDetail.tsx:77 -#: src/tables/ColumnRenderers.tsx:106 +#: src/tables/ColumnRenderers.tsx:121 #: src/tables/build/BuildLineTable.tsx:140 msgid "Reference" msgstr "" @@ -3574,12 +3718,12 @@ msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:78 #: src/pages/company/SupplierPartDetail.tsx:85 #: src/pages/part/CategoryDetail.tsx:94 -#: src/pages/part/PartDetail.tsx:129 +#: src/pages/part/PartDetail.tsx:130 #: src/pages/purchasing/PurchaseOrderDetail.tsx:125 #: src/pages/sales/ReturnOrderDetail.tsx:93 #: src/pages/sales/SalesOrderDetail.tsx:97 #: src/pages/stock/LocationDetail.tsx:101 -#: src/tables/ColumnRenderers.tsx:66 +#: src/tables/ColumnRenderers.tsx:81 #: src/tables/machine/MachineTypeTable.tsx:69 #: src/tables/machine/MachineTypeTable.tsx:112 #: src/tables/machine/MachineTypeTable.tsx:219 @@ -3610,7 +3754,7 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:152 -#: src/pages/part/PartDetail.tsx:317 +#: src/pages/part/PartDetail.tsx:323 #: src/pages/purchasing/PurchaseOrderDetail.tsx:217 #: src/pages/sales/ReturnOrderDetail.tsx:186 #: src/pages/sales/SalesOrderDetail.tsx:190 @@ -3630,7 +3774,7 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:210 #: src/pages/sales/ReturnOrderDetail.tsx:179 #: src/pages/sales/SalesOrderDetail.tsx:183 -#: src/tables/ColumnRenderers.tsx:191 +#: src/tables/ColumnRenderers.tsx:206 msgid "Target Date" msgstr "Date cible" @@ -3711,7 +3855,7 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:297 #: src/pages/company/CompanyDetail.tsx:257 #: src/pages/company/ManufacturerPartDetail.tsx:174 -#: src/pages/part/PartDetail.tsx:616 +#: src/pages/part/PartDetail.tsx:629 #: src/pages/purchasing/PurchaseOrderDetail.tsx:279 #: src/pages/sales/ReturnOrderDetail.tsx:230 #: src/pages/sales/SalesOrderDetail.tsx:280 @@ -3721,7 +3865,7 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:305 #: src/pages/company/CompanyDetail.tsx:268 -#: src/pages/part/PartDetail.tsx:624 +#: src/pages/part/PartDetail.tsx:637 #: src/pages/purchasing/PurchaseOrderDetail.tsx:290 #: src/pages/sales/ReturnOrderDetail.tsx:241 #: src/pages/sales/SalesOrderDetail.tsx:291 @@ -3877,12 +4021,12 @@ msgid "Manufacturer Part Details" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:148 -#: src/pages/part/PartDetail.tsx:486 +#: src/pages/part/PartDetail.tsx:492 msgid "Parameters" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:160 -#: src/pages/part/PartDetail.tsx:560 +#: src/pages/part/PartDetail.tsx:573 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" msgstr "" @@ -3907,7 +4051,7 @@ msgid "ManufacturerPart" msgstr "" #: src/pages/company/SupplierPartDetail.tsx:99 -#: src/tables/ColumnRenderers.tsx:117 +#: src/tables/ColumnRenderers.tsx:132 msgid "Note" msgstr "" @@ -4043,275 +4187,275 @@ msgstr "" msgid "Category Details" msgstr "" -#: src/pages/part/PartDetail.tsx:135 +#: src/pages/part/PartDetail.tsx:136 msgid "Variant of" msgstr "" -#: src/pages/part/PartDetail.tsx:142 +#: src/pages/part/PartDetail.tsx:143 #: src/tables/notifications/NotificationsTable.tsx:31 #: src/tables/part/PartCategoryTemplateTable.tsx:67 msgid "Category" msgstr "Catégorie" -#: src/pages/part/PartDetail.tsx:148 +#: src/pages/part/PartDetail.tsx:149 msgid "Default Location" msgstr "Emplacement par défaut" -#: src/pages/part/PartDetail.tsx:155 +#: src/pages/part/PartDetail.tsx:156 msgid "Category Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:162 +#: src/pages/part/PartDetail.tsx:163 msgid "IPN" msgstr "" -#: src/pages/part/PartDetail.tsx:169 +#: src/pages/part/PartDetail.tsx:170 msgid "Revision" msgstr "Révision" -#: src/pages/part/PartDetail.tsx:176 +#: src/pages/part/PartDetail.tsx:177 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" msgstr "Unités" -#: src/pages/part/PartDetail.tsx:183 +#: src/pages/part/PartDetail.tsx:184 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" msgstr "Mots-clés" -#: src/pages/part/PartDetail.tsx:190 +#: src/pages/part/PartDetail.tsx:191 #: src/pages/purchasing/PurchaseOrderDetail.tsx:183 #: src/pages/sales/ReturnOrderDetail.tsx:152 #: src/pages/sales/SalesOrderDetail.tsx:156 msgid "Link" msgstr "Lien" -#: src/pages/part/PartDetail.tsx:208 -#: src/tables/bom/BomTable.tsx:276 +#: src/pages/part/PartDetail.tsx:209 +#: src/tables/bom/BomTable.tsx:279 #: src/tables/build/BuildLineTable.tsx:121 -#: src/tables/part/PartTable.tsx:256 +#: src/tables/part/PartTable.tsx:263 msgid "Available Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:215 +#: src/pages/part/PartDetail.tsx:216 msgid "Minimum Stock" msgstr "Stock Minimum" -#: src/pages/part/PartDetail.tsx:221 -#: src/tables/bom/BomTable.tsx:217 +#: src/pages/part/PartDetail.tsx:222 +#: src/tables/bom/BomTable.tsx:220 #: src/tables/build/BuildLineTable.tsx:95 msgid "On order" msgstr "Sur commande" -#: src/pages/part/PartDetail.tsx:230 +#: src/pages/part/PartDetail.tsx:231 msgid "Allocated to Build Orders" msgstr "Alloué à l'ordre de construction" -#: src/pages/part/PartDetail.tsx:238 +#: src/pages/part/PartDetail.tsx:239 msgid "Allocated to Sales Orders" msgstr "Alloué aux ordres de ventes" -#: src/pages/part/PartDetail.tsx:245 -#: src/tables/bom/BomTable.tsx:241 +#: src/pages/part/PartDetail.tsx:246 +#: src/tables/bom/BomTable.tsx:244 msgid "Can Build" msgstr "Peut être construit" -#: src/pages/part/PartDetail.tsx:252 -#: src/tables/bom/BomTable.tsx:225 -#: src/tables/part/PartTable.tsx:82 +#: src/pages/part/PartDetail.tsx:253 +#: src/tables/bom/BomTable.tsx:228 +#: src/tables/part/PartTable.tsx:83 msgid "Building" msgstr "Construire" -#: src/pages/part/PartDetail.tsx:261 +#: src/pages/part/PartDetail.tsx:262 #: src/tables/bom/UsedInTable.tsx:73 #: src/tables/build/BuildOrderTable.tsx:108 #: src/tables/company/CompanyTable.tsx:61 #: src/tables/company/CompanyTable.tsx:95 #: src/tables/machine/MachineListTable.tsx:323 #: src/tables/machine/MachineListTable.tsx:585 -#: src/tables/part/PartTable.tsx:168 +#: src/tables/part/PartTable.tsx:169 #: src/tables/part/PartVariantTable.tsx:15 #: 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 +#: src/tables/stock/StockItemTable.tsx:276 msgid "Active" msgstr "" -#: src/pages/part/PartDetail.tsx:266 +#: src/pages/part/PartDetail.tsx:272 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:271 -#: src/tables/bom/BomTable.tsx:271 +#: src/pages/part/PartDetail.tsx:277 +#: src/tables/bom/BomTable.tsx:274 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:276 +#: src/pages/part/PartDetail.tsx:282 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:281 -#: src/tables/bom/BomTable.tsx:266 +#: src/pages/part/PartDetail.tsx:287 +#: src/tables/bom/BomTable.tsx:269 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:286 +#: src/pages/part/PartDetail.tsx:292 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:291 +#: src/pages/part/PartDetail.tsx:297 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:296 +#: src/pages/part/PartDetail.tsx:302 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:304 -#: src/tables/ColumnRenderers.tsx:199 +#: src/pages/part/PartDetail.tsx:310 +#: src/tables/ColumnRenderers.tsx:214 msgid "Creation Date" msgstr "Date de création" -#: src/pages/part/PartDetail.tsx:309 -msgid "Created By" -msgstr "" - #: src/pages/part/PartDetail.tsx:310 #~ msgid "Edit part" #~ msgstr "Edit part" +#: src/pages/part/PartDetail.tsx:315 +msgid "Created By" +msgstr "" + #: src/pages/part/PartDetail.tsx:322 #~ msgid "Duplicate part" #~ msgstr "Duplicate part" -#: src/pages/part/PartDetail.tsx:324 -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:335 +#: src/pages/part/PartDetail.tsx:330 +msgid "Default Supplier" +msgstr "Fournisseur par Défaut" + +#: src/pages/part/PartDetail.tsx:341 #: src/pages/part/pricing/BomPricingPanel.tsx:78 #: src/pages/part/pricing/VariantPricingPanel.tsx:95 -#: src/tables/part/PartTable.tsx:151 +#: src/tables/part/PartTable.tsx:152 msgid "Price Range" msgstr "Échelle des prix" -#: src/pages/part/PartDetail.tsx:374 +#: src/pages/part/PartDetail.tsx:380 #: src/pages/stock/StockDetail.tsx:133 msgid "Last Stocktake" msgstr "Dernier inventaire" -#: src/pages/part/PartDetail.tsx:409 +#: src/pages/part/PartDetail.tsx:415 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:480 +#: src/pages/part/PartDetail.tsx:486 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:506 +#: src/pages/part/PartDetail.tsx:517 msgid "Variants" msgstr "Variants" -#: src/pages/part/PartDetail.tsx:513 +#: src/pages/part/PartDetail.tsx:524 #: src/pages/stock/StockDetail.tsx:286 msgid "Allocations" msgstr "Allocations" -#: src/pages/part/PartDetail.tsx:520 +#: src/pages/part/PartDetail.tsx:531 msgid "Bill of Materials" msgstr "" -#: src/pages/part/PartDetail.tsx:534 +#: src/pages/part/PartDetail.tsx:547 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:541 +#: src/pages/part/PartDetail.tsx:554 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:547 +#: src/pages/part/PartDetail.tsx:560 #: src/pages/purchasing/PurchasingIndex.tsx:37 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:587 +#: src/pages/part/PartDetail.tsx:600 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:599 +#: src/pages/part/PartDetail.tsx:612 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:610 +#: src/pages/part/PartDetail.tsx:623 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:661 +#: src/pages/part/PartDetail.tsx:674 #: src/pages/stock/StockDetail.tsx:154 #: src/pages/stock/StockDetail.tsx:533 #: src/tables/build/BuildLineTable.tsx:36 -#: src/tables/part/PartTable.tsx:107 +#: src/tables/part/PartTable.tsx:108 #: src/tables/stock/StockItemTable.tsx:166 -#: src/tables/stock/StockItemTable.tsx:275 +#: src/tables/stock/StockItemTable.tsx:297 msgid "Available" msgstr "Disponible" -#: src/pages/part/PartDetail.tsx:667 +#: src/pages/part/PartDetail.tsx:680 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:673 -#: src/tables/bom/BomTable.tsx:281 -#: src/tables/part/PartTable.tsx:76 +#: src/pages/part/PartDetail.tsx:686 +#: src/tables/bom/BomTable.tsx:284 +#: src/tables/part/PartTable.tsx:77 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:679 +#: src/pages/part/PartDetail.tsx:692 #: src/pages/stock/StockDetail.tsx:516 -#: src/tables/stock/StockItemTable.tsx:295 +#: src/tables/stock/StockItemTable.tsx:317 msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:698 +#: src/pages/part/PartDetail.tsx:717 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:705 -#: src/tables/part/PartTable.tsx:289 -#: src/tables/part/PartTable.tsx:302 +#: src/pages/part/PartDetail.tsx:744 +#: src/tables/part/PartTable.tsx:296 +#: src/tables/part/PartTable.tsx:309 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:717 +#: src/pages/part/PartDetail.tsx:758 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:726 +#: src/pages/part/PartDetail.tsx:767 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:764 +#: src/pages/part/PartDetail.tsx:805 #: src/pages/stock/LocationDetail.tsx:304 -#: src/tables/stock/StockItemTable.tsx:409 +#: src/tables/stock/StockItemTable.tsx:431 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:772 +#: src/pages/part/PartDetail.tsx:813 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:824 msgid "Transfer part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:792 +#: src/pages/part/PartDetail.tsx:833 msgid "Part Actions" msgstr "" @@ -4359,8 +4503,8 @@ msgstr "" #: src/pages/part/pricing/BomPricingPanel.tsx:57 #: src/pages/part/pricing/BomPricingPanel.tsx:137 -#: src/tables/ColumnRenderers.tsx:241 -#: src/tables/bom/BomTable.tsx:165 +#: src/tables/ColumnRenderers.tsx:256 +#: src/tables/bom/BomTable.tsx:168 #: src/tables/purchasing/PurchaseOrderTable.tsx:112 #: src/tables/sales/ReturnOrderTable.tsx:104 #: src/tables/sales/SalesOrderTable.tsx:134 @@ -4369,7 +4513,7 @@ msgstr "Prix total" #: src/pages/part/pricing/BomPricingPanel.tsx:77 #: src/pages/part/pricing/BomPricingPanel.tsx:101 -#: src/tables/part/PartTable.tsx:186 +#: src/tables/part/PartTable.tsx:193 msgid "Component" msgstr "" @@ -4398,7 +4542,7 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:67 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:128 #: src/pages/part/pricing/SupplierPricingPanel.tsx:62 -#: src/tables/bom/BomTable.tsx:156 +#: src/tables/bom/BomTable.tsx:159 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 msgid "Unit Price" @@ -4498,7 +4642,7 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:40 #: src/pages/part/pricing/SaleHistoryPanel.tsx:36 -#: src/tables/ColumnRenderers.tsx:180 +#: src/tables/ColumnRenderers.tsx:195 #: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" @@ -4771,12 +4915,12 @@ msgid "Count stock" msgstr "" #: src/pages/stock/StockDetail.tsx:459 -#: src/tables/stock/StockItemTable.tsx:414 +#: src/tables/stock/StockItemTable.tsx:436 msgid "Add stock" msgstr "" #: src/pages/stock/StockDetail.tsx:467 -#: src/tables/stock/StockItemTable.tsx:423 +#: src/tables/stock/StockItemTable.tsx:445 msgid "Remove stock" msgstr "" @@ -4785,7 +4929,7 @@ msgid "Transfer" msgstr "" #: src/pages/stock/StockDetail.tsx:475 -#: src/tables/stock/StockItemTable.tsx:443 +#: src/tables/stock/StockItemTable.tsx:465 msgid "Transfer stock" msgstr "" @@ -4793,15 +4937,15 @@ msgstr "" msgid "Stock Item Actions" msgstr "" -#: src/tables/ColumnRenderers.tsx:42 +#: src/tables/ColumnRenderers.tsx:57 msgid "No location set" msgstr "" -#: src/tables/ColumnRenderers.tsx:207 +#: src/tables/ColumnRenderers.tsx:222 msgid "Shipment Date" msgstr "" -#: src/tables/ColumnRenderers.tsx:227 +#: src/tables/ColumnRenderers.tsx:242 #: src/tables/settings/CurrencyTable.tsx:23 msgid "Currency" msgstr "Devise" @@ -4828,14 +4972,14 @@ msgid "TSV" msgstr "TSV" #: src/tables/DownloadAction.tsx:24 -msgid "Excel (.xls)" -msgstr "" - -#: src/tables/DownloadAction.tsx:25 msgid "Excel (.xlsx)" msgstr "" -#: src/tables/DownloadAction.tsx:39 +#: src/tables/DownloadAction.tsx:24 +#~ msgid "Excel (.xls)" +#~ msgstr "" + +#: src/tables/DownloadAction.tsx:38 msgid "Download Data" msgstr "" @@ -4900,54 +5044,54 @@ msgstr "Ajouter un filtre" msgid "Clear Filters" msgstr "Effacer filtres" -#: src/tables/InvenTreeTable.tsx:119 -#: src/tables/InvenTreeTable.tsx:390 -#: src/tables/InvenTreeTable.tsx:411 +#: src/tables/InvenTreeTable.tsx:126 +#: src/tables/InvenTreeTable.tsx:409 +#: src/tables/InvenTreeTable.tsx:430 msgid "No records found" msgstr "Pas d'enregistrement trouvé" -#: src/tables/InvenTreeTable.tsx:422 +#: src/tables/InvenTreeTable.tsx:441 msgid "Server returned incorrect data type" msgstr "Le serveur à retourner un type de donnée incorrect" -#: src/tables/InvenTreeTable.tsx:430 +#: src/tables/InvenTreeTable.tsx:449 msgid "Bad request" msgstr "Requête invalide" -#: src/tables/InvenTreeTable.tsx:433 +#: src/tables/InvenTreeTable.tsx:452 msgid "Unauthorized" msgstr "Non autorisé" -#: src/tables/InvenTreeTable.tsx:436 +#: src/tables/InvenTreeTable.tsx:455 msgid "Forbidden" msgstr "Accès interdit" -#: src/tables/InvenTreeTable.tsx:439 +#: src/tables/InvenTreeTable.tsx:458 msgid "Not found" msgstr "Elément non trouvé" -#: src/tables/InvenTreeTable.tsx:488 -#: src/tables/InvenTreeTable.tsx:606 +#: src/tables/InvenTreeTable.tsx:507 +#: src/tables/InvenTreeTable.tsx:623 msgid "Delete selected records" msgstr "Supprimer les enregistrements sélectionnés" -#: src/tables/InvenTreeTable.tsx:492 +#: src/tables/InvenTreeTable.tsx:511 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:494 +#: src/tables/InvenTreeTable.tsx:513 msgid "This action cannot be undone!" msgstr "Cette action ne peut pas être annulée !" -#: src/tables/InvenTreeTable.tsx:517 +#: src/tables/InvenTreeTable.tsx:536 msgid "Deleted records" msgstr "Enregistrement supprimé" -#: src/tables/InvenTreeTable.tsx:518 +#: src/tables/InvenTreeTable.tsx:537 msgid "Records were deleted successfully" msgstr "Les enregistrements ont été supprimés avec succès" -#: src/tables/InvenTreeTable.tsx:527 +#: src/tables/InvenTreeTable.tsx:546 msgid "Failed to delete records" msgstr "Échec de la suppression des enregistrements" @@ -4956,140 +5100,144 @@ msgstr "Échec de la suppression des enregistrements" #~ msgid "Print actions" #~ msgstr "Print actions" -#: src/tables/InvenTreeTable.tsx:596 -#: src/tables/InvenTreeTable.tsx:597 +#: src/tables/InvenTreeTable.tsx:613 +#: src/tables/InvenTreeTable.tsx:614 msgid "Barcode actions" msgstr "Actions de code-barres" -#: src/tables/InvenTreeTable.tsx:625 +#: src/tables/InvenTreeTable.tsx:642 msgid "Refresh data" msgstr "Actualiser les données" -#: src/tables/InvenTreeTable.tsx:646 +#: src/tables/InvenTreeTable.tsx:663 msgid "Table filters" msgstr "Filtres de tableau" -#: src/tables/bom/BomTable.tsx:80 +#: src/tables/UploadAction.tsx:9 +msgid "Upload Data" +msgstr "" + +#: src/tables/bom/BomTable.tsx:83 msgid "This BOM item is defined for a different parent" msgstr "Cet article de nomenclature est défini pour un autre parent" -#: src/tables/bom/BomTable.tsx:95 +#: src/tables/bom/BomTable.tsx:98 msgid "Part Information" msgstr "Information de pièce" -#: src/tables/bom/BomTable.tsx:184 -#: src/tables/part/PartTable.tsx:124 +#: src/tables/bom/BomTable.tsx:187 +#: src/tables/part/PartTable.tsx:125 msgid "No stock" msgstr "Aucun stock" -#: src/tables/bom/BomTable.tsx:192 +#: src/tables/bom/BomTable.tsx:195 #: src/tables/build/BuildLineTable.tsx:104 -#: src/tables/part/PartTable.tsx:115 +#: src/tables/part/PartTable.tsx:116 msgid "External stock" msgstr "" -#: src/tables/bom/BomTable.tsx:200 +#: src/tables/bom/BomTable.tsx:203 #: src/tables/build/BuildLineTable.tsx:67 msgid "Includes substitute stock" msgstr "Comprend un stock de remplacement" -#: src/tables/bom/BomTable.tsx:209 +#: src/tables/bom/BomTable.tsx:212 #: src/tables/build/BuildLineTable.tsx:77 msgid "Includes variant stock" msgstr "Inclut le stock de variantes" -#: src/tables/bom/BomTable.tsx:234 -#: src/tables/part/PartTable.tsx:143 +#: src/tables/bom/BomTable.tsx:237 +#: src/tables/part/PartTable.tsx:144 #: src/tables/stock/StockItemTable.tsx:205 msgid "Stock Information" msgstr "Information de stock" -#: src/tables/bom/BomTable.tsx:246 +#: src/tables/bom/BomTable.tsx:249 #: src/tables/build/BuildLineTable.tsx:195 msgid "Consumable item" msgstr "Article consommable" -#: src/tables/bom/BomTable.tsx:267 +#: src/tables/bom/BomTable.tsx:270 msgid "Show trackable items" msgstr "" -#: src/tables/bom/BomTable.tsx:272 +#: src/tables/bom/BomTable.tsx:275 msgid "Show asssmbled items" msgstr "" -#: src/tables/bom/BomTable.tsx:277 +#: src/tables/bom/BomTable.tsx:280 msgid "Show items with available stock" msgstr "" -#: src/tables/bom/BomTable.tsx:282 +#: src/tables/bom/BomTable.tsx:285 msgid "Show items on order" msgstr "" -#: src/tables/bom/BomTable.tsx:286 +#: src/tables/bom/BomTable.tsx:289 msgid "Validated" msgstr "" -#: src/tables/bom/BomTable.tsx:287 +#: src/tables/bom/BomTable.tsx:290 msgid "Show validated items" msgstr "" -#: src/tables/bom/BomTable.tsx:291 +#: src/tables/bom/BomTable.tsx:294 #: src/tables/bom/UsedInTable.tsx:63 msgid "Inherited" msgstr "" -#: src/tables/bom/BomTable.tsx:292 +#: src/tables/bom/BomTable.tsx:295 #: src/tables/bom/UsedInTable.tsx:64 msgid "Show inherited items" msgstr "" -#: src/tables/bom/BomTable.tsx:296 +#: src/tables/bom/BomTable.tsx:299 msgid "Allow Variants" msgstr "" -#: src/tables/bom/BomTable.tsx:297 +#: src/tables/bom/BomTable.tsx:300 msgid "Show items which allow variant substitution" msgstr "" #: src/tables/bom/BomTable.tsx:301 +#~ msgid "Create BOM Item" +#~ msgstr "Create BOM Item" + +#: src/tables/bom/BomTable.tsx:304 #: src/tables/bom/UsedInTable.tsx:68 #: src/tables/build/BuildLineTable.tsx:46 msgid "Optional" msgstr "Optionnel" -#: src/tables/bom/BomTable.tsx:301 -#~ msgid "Create BOM Item" -#~ msgstr "Create BOM Item" - -#: src/tables/bom/BomTable.tsx:302 +#: src/tables/bom/BomTable.tsx:305 #: src/tables/bom/UsedInTable.tsx:69 msgid "Show optional items" msgstr "" -#: src/tables/bom/BomTable.tsx:306 +#: src/tables/bom/BomTable.tsx:309 #: src/tables/build/BuildLineTable.tsx:41 msgid "Consumable" msgstr "Consommable" -#: src/tables/bom/BomTable.tsx:307 +#: src/tables/bom/BomTable.tsx:310 msgid "Show consumable items" msgstr "" -#: src/tables/bom/BomTable.tsx:311 -#: src/tables/part/PartTable.tsx:250 +#: src/tables/bom/BomTable.tsx:314 +#: src/tables/part/PartTable.tsx:257 msgid "Has Pricing" msgstr "" -#: src/tables/bom/BomTable.tsx:312 +#: src/tables/bom/BomTable.tsx:315 msgid "Show items with pricing" msgstr "" -#: src/tables/bom/BomTable.tsx:321 -#: src/tables/bom/BomTable.tsx:420 +#: src/tables/bom/BomTable.tsx:324 +#: src/tables/bom/BomTable.tsx:426 msgid "Add BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:326 +#: src/tables/bom/BomTable.tsx:329 msgid "BOM item created" msgstr "" @@ -5097,23 +5245,23 @@ msgstr "" #~ msgid "Edit Bom Item" #~ msgstr "Edit Bom Item" -#: src/tables/bom/BomTable.tsx:333 -msgid "Edit BOM Item" -msgstr "" - #: src/tables/bom/BomTable.tsx:333 #~ msgid "Bom item updated" #~ msgstr "Bom item updated" -#: src/tables/bom/BomTable.tsx:335 +#: src/tables/bom/BomTable.tsx:336 +msgid "Edit BOM Item" +msgstr "" + +#: src/tables/bom/BomTable.tsx:338 msgid "BOM item updated" msgstr "" -#: src/tables/bom/BomTable.tsx:342 +#: src/tables/bom/BomTable.tsx:345 msgid "Delete BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:343 +#: src/tables/bom/BomTable.tsx:346 msgid "BOM item deleted" msgstr "" @@ -5133,32 +5281,41 @@ msgstr "" #~ msgid "Validate BOM line" #~ msgstr "Validate BOM line" -#: src/tables/bom/BomTable.tsx:355 +#: src/tables/bom/BomTable.tsx:358 msgid "BOM item validated" msgstr "" -#: src/tables/bom/BomTable.tsx:364 +#: src/tables/bom/BomTable.tsx:367 msgid "Failed to validate BOM item" msgstr "" -#: src/tables/bom/BomTable.tsx:376 +#: src/tables/bom/BomTable.tsx:379 msgid "View BOM" msgstr "" -#: src/tables/bom/BomTable.tsx:385 +#: src/tables/bom/BomTable.tsx:388 msgid "Validate BOM Line" msgstr "" -#: src/tables/bom/BomTable.tsx:399 +#: src/tables/bom/BomTable.tsx:405 msgid "Edit Substitutes" msgstr "" +#: src/tables/bom/BomTable.tsx:440 +#: src/tables/part/PartParameterTable.tsx:191 +msgid "Part is Locked" +msgstr "" + +#: src/tables/bom/BomTable.tsx:445 +msgid "Bill of materials cannot be edited, as the part is locked" +msgstr "" + #: src/tables/bom/UsedInTable.tsx:74 msgid "Show active assemblies" msgstr "" #: src/tables/bom/UsedInTable.tsx:78 -#: src/tables/part/PartTable.tsx:192 +#: src/tables/part/PartTable.tsx:199 #: src/tables/part/PartVariantTable.tsx:30 msgid "Trackable" msgstr "" @@ -5168,7 +5325,7 @@ msgid "Show trackable assemblies" msgstr "" #: src/tables/build/BuildLineTable.tsx:31 -#: src/tables/stock/StockItemTable.tsx:270 +#: src/tables/stock/StockItemTable.tsx:292 msgid "Allocated" msgstr "" @@ -5189,7 +5346,7 @@ msgid "Show optional lines" msgstr "" #: src/tables/build/BuildLineTable.tsx:51 -#: src/tables/stock/StockItemTable.tsx:329 +#: src/tables/stock/StockItemTable.tsx:351 msgid "Tracked" msgstr "" @@ -5302,10 +5459,6 @@ msgstr "" msgid "Deallocate stock from build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:205 -msgid "Complete" -msgstr "" - #: src/tables/build/BuildOutputTable.tsx:206 msgid "Complete build output" msgstr "" @@ -5635,7 +5788,7 @@ msgid "Message" msgstr "" #: src/tables/part/ParametricPartTable.tsx:76 -#: src/tables/part/PartParameterTable.tsx:88 +#: src/tables/part/PartParameterTable.tsx:95 msgid "Internal Units" msgstr "" @@ -5648,13 +5801,13 @@ msgid "Add Part Parameter" msgstr "" #: src/tables/part/ParametricPartTable.tsx:138 -#: src/tables/part/PartParameterTable.tsx:121 -#: src/tables/part/PartParameterTable.tsx:144 +#: src/tables/part/PartParameterTable.tsx:128 +#: src/tables/part/PartParameterTable.tsx:151 msgid "Edit Part Parameter" msgstr "" #: src/tables/part/PartCategoryTable.tsx:60 -#: src/tables/part/PartTable.tsx:180 +#: src/tables/part/PartTable.tsx:187 msgid "Include Subcategories" msgstr "" @@ -5667,7 +5820,7 @@ msgid "Show structural categories" msgstr "" #: src/tables/part/PartCategoryTable.tsx:70 -#: src/tables/part/PartTable.tsx:262 +#: src/tables/part/PartTable.tsx:269 msgid "Subscribed" msgstr "" @@ -5704,21 +5857,25 @@ msgstr "" #~ msgid "[{0}]" #~ msgstr "[{0}]" -#: src/tables/part/PartParameterTable.tsx:105 +#: src/tables/part/PartParameterTable.tsx:112 msgid "New Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:130 -#: src/tables/part/PartParameterTable.tsx:152 +#: src/tables/part/PartParameterTable.tsx:137 +#: src/tables/part/PartParameterTable.tsx:159 msgid "Delete Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:170 +#: src/tables/part/PartParameterTable.tsx:177 msgid "Add parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:191 -#: src/tables/stock/StockItemTable.tsx:300 +#: src/tables/part/PartParameterTable.tsx:196 +msgid "Part parameters cannot be edited, as the part is locked" +msgstr "" + +#: src/tables/part/PartParameterTable.tsx:210 +#: src/tables/stock/StockItemTable.tsx:322 msgid "Include Variants" msgstr "" @@ -5739,7 +5896,7 @@ msgid "Show templates with choices" msgstr "" #: src/tables/part/PartParameterTemplateTable.tsx:41 -#: src/tables/part/PartTable.tsx:198 +#: src/tables/part/PartTable.tsx:205 msgid "Has Units" msgstr "" @@ -5763,116 +5920,120 @@ msgstr "" msgid "Add parameter template" msgstr "" -#: src/tables/part/PartTable.tsx:67 +#: src/tables/part/PartTable.tsx:68 msgid "Minimum stock" msgstr "" -#: src/tables/part/PartTable.tsx:89 +#: src/tables/part/PartTable.tsx:90 msgid "Build Order Allocations" msgstr "" -#: src/tables/part/PartTable.tsx:98 +#: src/tables/part/PartTable.tsx:99 msgid "Sales Order Allocations" msgstr "" -#: src/tables/part/PartTable.tsx:169 +#: src/tables/part/PartTable.tsx:170 msgid "Filter by part active status" msgstr "" -#: src/tables/part/PartTable.tsx:174 -#: src/tables/stock/StockItemTable.tsx:265 +#: src/tables/part/PartTable.tsx:176 +msgid "Filter by part locked status" +msgstr "" + +#: src/tables/part/PartTable.tsx:181 +#: src/tables/stock/StockItemTable.tsx:287 msgid "Assembly" msgstr "" -#: src/tables/part/PartTable.tsx:175 +#: src/tables/part/PartTable.tsx:182 msgid "Filter by assembly attribute" msgstr "" -#: src/tables/part/PartTable.tsx:181 +#: src/tables/part/PartTable.tsx:188 msgid "Include parts in subcategories" msgstr "" -#: src/tables/part/PartTable.tsx:187 +#: src/tables/part/PartTable.tsx:194 msgid "Filter by component attribute" msgstr "" -#: src/tables/part/PartTable.tsx:193 +#: src/tables/part/PartTable.tsx:200 msgid "Filter by trackable attribute" msgstr "" -#: src/tables/part/PartTable.tsx:199 +#: src/tables/part/PartTable.tsx:206 msgid "Filter by parts which have units" msgstr "" -#: src/tables/part/PartTable.tsx:204 +#: src/tables/part/PartTable.tsx:211 msgid "Has IPN" msgstr "" -#: src/tables/part/PartTable.tsx:205 +#: src/tables/part/PartTable.tsx:212 msgid "Filter by parts which have an internal part number" msgstr "" -#: src/tables/part/PartTable.tsx:210 +#: src/tables/part/PartTable.tsx:217 msgid "Has Stock" msgstr "" -#: src/tables/part/PartTable.tsx:211 +#: src/tables/part/PartTable.tsx:218 msgid "Filter by parts which have stock" msgstr "" -#: src/tables/part/PartTable.tsx:217 +#: src/tables/part/PartTable.tsx:224 msgid "Filter by parts which have low stock" msgstr "" -#: src/tables/part/PartTable.tsx:222 +#: src/tables/part/PartTable.tsx:229 msgid "Purchaseable" msgstr "" -#: src/tables/part/PartTable.tsx:223 +#: src/tables/part/PartTable.tsx:230 msgid "Filter by parts which are purchaseable" msgstr "" -#: src/tables/part/PartTable.tsx:228 +#: src/tables/part/PartTable.tsx:235 msgid "Salable" msgstr "" -#: src/tables/part/PartTable.tsx:229 +#: src/tables/part/PartTable.tsx:236 msgid "Filter by parts which are salable" msgstr "" -#: src/tables/part/PartTable.tsx:235 +#: src/tables/part/PartTable.tsx:242 msgid "Filter by parts which are virtual" msgstr "" -#: src/tables/part/PartTable.tsx:239 +#: src/tables/part/PartTable.tsx:246 msgid "Not Virtual" msgstr "" -#: src/tables/part/PartTable.tsx:244 +#: src/tables/part/PartTable.tsx:251 msgid "Is Template" msgstr "" -#: src/tables/part/PartTable.tsx:245 +#: src/tables/part/PartTable.tsx:252 msgid "Filter by parts which are templates" msgstr "" -#: src/tables/part/PartTable.tsx:251 +#: src/tables/part/PartTable.tsx:258 msgid "Filter by parts which have pricing information" msgstr "" -#: src/tables/part/PartTable.tsx:257 +#: src/tables/part/PartTable.tsx:264 msgid "Filter by parts which have available stock" msgstr "" -#: src/tables/part/PartTable.tsx:263 +#: src/tables/part/PartTable.tsx:270 msgid "Filter by parts to which the user is subscribed" msgstr "" -#: src/tables/part/PartTable.tsx:268 +#: src/tables/part/PartTable.tsx:275 msgid "Has Stocktake" msgstr "" -#: src/tables/part/PartTable.tsx:269 +#: src/tables/part/PartTable.tsx:276 msgid "Filter by parts which have stocktake information" msgstr "" @@ -6211,7 +6372,7 @@ msgid "Sample" msgstr "" #: src/tables/plugin/PluginListTable.tsx:578 -#: src/tables/stock/StockItemTable.tsx:305 +#: src/tables/stock/StockItemTable.tsx:327 msgid "Installed" msgstr "" @@ -6486,6 +6647,41 @@ msgstr "" msgid "Edit group" msgstr "" +#: src/tables/settings/ImportSessionTable.tsx:39 +msgid "Delete Import Session" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:45 +#: src/tables/settings/ImportSessionTable.tsx:132 +msgid "Create Import Session" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:70 +msgid "Uploaded" +msgstr "Uploaded" + +#: src/tables/settings/ImportSessionTable.tsx:80 +msgid "Imported Rows" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:110 +#: src/tables/settings/TemplateTable.tsx:276 +msgid "Model Type" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:111 +#: src/tables/settings/TemplateTable.tsx:277 +msgid "Filter by target model type" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:117 +msgid "Filter by import session status" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:123 +msgid "Filter by user" +msgstr "" + #: src/tables/settings/PendingTasksTable.tsx:36 msgid "Arguments" msgstr "" @@ -6502,7 +6698,7 @@ msgstr "" msgid "Delete Project Code" msgstr "" -#: src/tables/settings/ProjectCodeTable.tsx:94 +#: src/tables/settings/ProjectCodeTable.tsx:92 msgid "Add project code" msgstr "" @@ -6571,14 +6767,6 @@ msgstr "" 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 "" @@ -6701,149 +6889,153 @@ msgstr "" msgid "This stock item has been depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:255 +#: src/tables/stock/StockItemTable.tsx:247 +msgid "Stock Value" +msgstr "" + +#: src/tables/stock/StockItemTable.tsx:277 msgid "Show stock for active parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:260 +#: src/tables/stock/StockItemTable.tsx:282 msgid "Filter by stock status" msgstr "" -#: src/tables/stock/StockItemTable.tsx:266 +#: src/tables/stock/StockItemTable.tsx:288 msgid "Show stock for assmebled parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:271 +#: src/tables/stock/StockItemTable.tsx:293 msgid "Show items which have been allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:276 +#: src/tables/stock/StockItemTable.tsx:298 msgid "Show items which are available" msgstr "" -#: src/tables/stock/StockItemTable.tsx:280 +#: src/tables/stock/StockItemTable.tsx:302 #: src/tables/stock/StockLocationTable.tsx:42 msgid "Include Sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:281 +#: src/tables/stock/StockItemTable.tsx:303 msgid "Include stock in sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:285 +#: src/tables/stock/StockItemTable.tsx:307 msgid "Depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:286 +#: src/tables/stock/StockItemTable.tsx:308 msgid "Show depleted stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:291 +#: src/tables/stock/StockItemTable.tsx:313 msgid "Show items which are in stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:296 +#: src/tables/stock/StockItemTable.tsx:318 msgid "Show items which are in production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:301 +#: src/tables/stock/StockItemTable.tsx:323 msgid "Include stock items for variant parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:306 +#: src/tables/stock/StockItemTable.tsx:328 msgid "Show stock items which are installed in other items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:310 +#: src/tables/stock/StockItemTable.tsx:332 msgid "Sent to Customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:311 +#: src/tables/stock/StockItemTable.tsx:333 msgid "Show items which have been sent to a customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:315 +#: src/tables/stock/StockItemTable.tsx:337 msgid "Is Serialized" msgstr "" -#: src/tables/stock/StockItemTable.tsx:316 +#: src/tables/stock/StockItemTable.tsx:338 msgid "Show items which have a serial number" msgstr "" -#: src/tables/stock/StockItemTable.tsx:323 +#: src/tables/stock/StockItemTable.tsx:345 msgid "Has Batch Code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:324 +#: src/tables/stock/StockItemTable.tsx:346 msgid "Show items which have a batch code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:330 +#: src/tables/stock/StockItemTable.tsx:352 msgid "Show tracked items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:334 +#: src/tables/stock/StockItemTable.tsx:356 msgid "Has Purchase Price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:335 +#: src/tables/stock/StockItemTable.tsx:357 msgid "Show items which have a purchase price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:343 +#: src/tables/stock/StockItemTable.tsx:365 msgid "External Location" msgstr "" -#: src/tables/stock/StockItemTable.tsx:344 +#: src/tables/stock/StockItemTable.tsx:366 msgid "Show items in an external location" msgstr "" -#: src/tables/stock/StockItemTable.tsx:416 +#: src/tables/stock/StockItemTable.tsx:438 msgid "Add a new stock item" msgstr "" -#: src/tables/stock/StockItemTable.tsx:425 +#: src/tables/stock/StockItemTable.tsx:447 msgid "Remove some quantity from a stock item" msgstr "" -#: src/tables/stock/StockItemTable.tsx:447 +#: src/tables/stock/StockItemTable.tsx:469 msgid "Move Stock items to new locations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:454 +#: src/tables/stock/StockItemTable.tsx:476 msgid "Change stock status" msgstr "" -#: src/tables/stock/StockItemTable.tsx:456 +#: src/tables/stock/StockItemTable.tsx:478 msgid "Change the status of stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:463 +#: src/tables/stock/StockItemTable.tsx:485 msgid "Merge stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:465 +#: src/tables/stock/StockItemTable.tsx:487 msgid "Merge stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:472 +#: src/tables/stock/StockItemTable.tsx:494 msgid "Order stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:474 -#: src/tables/stock/StockItemTable.tsx:480 +#: src/tables/stock/StockItemTable.tsx:496 +#: src/tables/stock/StockItemTable.tsx:502 msgid "Order new stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:478 +#: src/tables/stock/StockItemTable.tsx:500 msgid "Assign to customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:487 +#: src/tables/stock/StockItemTable.tsx:509 msgid "Delete stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:489 +#: src/tables/stock/StockItemTable.tsx:511 msgid "Delete stock items" msgstr "" @@ -6999,4 +7191,3 @@ msgstr "Lire la documentation" #: src/views/MobileAppView.tsx:35 msgid "Ignore and continue to Desktop view" msgstr "" - diff --git a/src/frontend/src/locales/he/messages.po b/src/frontend/src/locales/he/messages.po index a75791f2cc04..352da7976ce1 100644 --- a/src/frontend/src/locales/he/messages.po +++ b/src/frontend/src/locales/he/messages.po @@ -49,16 +49,18 @@ msgstr "" #: src/components/buttons/PrintingActions.tsx:107 #: src/components/buttons/PrintingActions.tsx:144 #: src/components/editors/NotesEditor.tsx:65 -#: src/components/editors/NotesEditor.tsx:160 -#: src/components/forms/ApiForm.tsx:506 -#: src/components/forms/fields/ApiFormField.tsx:295 +#: src/components/editors/NotesEditor.tsx:165 +#: src/components/forms/ApiForm.tsx:513 +#: src/components/forms/fields/ApiFormField.tsx:306 +#: src/components/importer/ImportDataSelector.tsx:171 +#: src/components/importer/ImporterColumnSelector.tsx:112 #: src/components/modals/LicenseModal.tsx:75 #: src/components/nav/SearchDrawer.tsx:427 #: src/pages/ErrorPage.tsx:11 #: src/pages/part/PartPricingPanel.tsx:71 -#: src/tables/InvenTreeTable.tsx:451 -#: src/tables/InvenTreeTable.tsx:526 -#: src/tables/bom/BomTable.tsx:363 +#: src/tables/InvenTreeTable.tsx:470 +#: src/tables/InvenTreeTable.tsx:545 +#: src/tables/bom/BomTable.tsx:366 #: src/tables/stock/StockItemTestResultTable.tsx:294 msgid "Error" msgstr "" @@ -157,7 +159,7 @@ msgstr "" #: src/functions/forms.tsx:196 #: src/hooks/UseForm.tsx:40 #: src/tables/FilterSelectDrawer.tsx:204 -#: src/tables/InvenTreeTable.tsx:499 +#: src/tables/InvenTreeTable.tsx:518 #: src/tables/build/BuildOutputTable.tsx:225 msgid "Cancel" msgstr "" @@ -175,7 +177,7 @@ msgid "Clear" msgstr "" #: src/components/details/DetailsImage.tsx:227 -#: src/components/forms/ApiForm.tsx:573 +#: src/components/forms/ApiForm.tsx:580 #: src/contexts/ThemeContext.tsx:43 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:56 msgid "Submit" @@ -202,48 +204,61 @@ msgid "Delete image" msgstr "" #: src/components/details/PartIcons.tsx:28 +#: src/tables/ColumnRenderers.tsx:35 +msgid "Part is locked" +msgstr "" + +#: src/components/details/PartIcons.tsx:30 +#: src/pages/part/PartDetail.tsx:267 +#: src/pages/part/PartDetail.tsx:698 +#: src/tables/part/PartTable.tsx:175 +msgid "Locked" +msgstr "" + +#: src/components/details/PartIcons.tsx:35 +#: src/tables/ColumnRenderers.tsx:30 msgid "Part is not active" msgstr "" -#: src/components/details/PartIcons.tsx:34 +#: src/components/details/PartIcons.tsx:37 #: src/components/render/Plugin.tsx:17 #: src/pages/company/CompanyDetail.tsx:315 #: src/pages/company/SupplierPartDetail.tsx:307 -#: src/pages/part/PartDetail.tsx:685 +#: src/pages/part/PartDetail.tsx:704 msgid "Inactive" msgstr "" -#: src/components/details/PartIcons.tsx:41 +#: src/components/details/PartIcons.tsx:43 msgid "Part is a template part (variants can be made from this part)" msgstr "" -#: src/components/details/PartIcons.tsx:47 +#: src/components/details/PartIcons.tsx:49 msgid "Part can be assembled from other parts" msgstr "" -#: src/components/details/PartIcons.tsx:53 +#: src/components/details/PartIcons.tsx:55 msgid "Part can be used in assemblies" msgstr "" -#: src/components/details/PartIcons.tsx:59 +#: src/components/details/PartIcons.tsx:61 msgid "Part stock is tracked by serial number" msgstr "" -#: src/components/details/PartIcons.tsx:65 +#: src/components/details/PartIcons.tsx:67 msgid "Part can be purchased from external suppliers" msgstr "" -#: src/components/details/PartIcons.tsx:71 +#: src/components/details/PartIcons.tsx:73 msgid "Part can be sold to customers" msgstr "" -#: src/components/details/PartIcons.tsx:76 +#: src/components/details/PartIcons.tsx:78 msgid "Part is virtual (not a physical part)" msgstr "" -#: src/components/details/PartIcons.tsx:82 -#: src/tables/part/PartTable.tsx:234 -#: src/tables/part/PartTable.tsx:238 +#: src/components/details/PartIcons.tsx:84 +#: src/tables/part/PartTable.tsx:241 +#: src/tables/part/PartTable.tsx:245 #: src/tables/part/PartVariantTable.tsx:25 msgid "Virtual" msgstr "" @@ -252,29 +267,29 @@ msgstr "" msgid "Image upload failed" msgstr "" -#: src/components/editors/NotesEditor.tsx:151 -#: src/components/forms/ApiForm.tsx:430 -#: src/tables/bom/BomTable.tsx:354 +#: src/components/editors/NotesEditor.tsx:156 +#: src/components/forms/ApiForm.tsx:437 +#: src/tables/bom/BomTable.tsx:357 msgid "Success" msgstr "" -#: src/components/editors/NotesEditor.tsx:152 +#: src/components/editors/NotesEditor.tsx:157 msgid "Notes saved successfully" msgstr "" -#: src/components/editors/NotesEditor.tsx:161 +#: src/components/editors/NotesEditor.tsx:166 msgid "Failed to save notes" msgstr "" -#: src/components/editors/NotesEditor.tsx:193 +#: src/components/editors/NotesEditor.tsx:198 msgid "Preview Notes" msgstr "" -#: src/components/editors/NotesEditor.tsx:193 +#: src/components/editors/NotesEditor.tsx:198 msgid "Edit Notes" msgstr "" -#: src/components/editors/NotesEditor.tsx:207 +#: src/components/editors/NotesEditor.tsx:212 msgid "Save Notes" msgstr "" @@ -407,7 +422,7 @@ msgstr "" msgid "A server error occurred" msgstr "" -#: src/components/forms/ApiForm.tsx:149 +#: src/components/forms/ApiForm.tsx:151 #: src/functions/forms.tsx:259 msgid "Form Error" msgstr "" @@ -416,18 +431,18 @@ msgstr "" #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:611 +#: src/components/forms/ApiForm.tsx:618 #: src/tables/plugin/PluginListTable.tsx:388 msgid "Update" msgstr "" -#: src/components/forms/ApiForm.tsx:631 +#: src/components/forms/ApiForm.tsx:638 #: 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:498 +#: src/tables/InvenTreeTable.tsx:517 #: src/tables/RowActions.tsx:71 #: src/tables/plugin/PluginListTable.tsx:420 msgid "Delete" @@ -600,7 +615,7 @@ msgstr "" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:70 #: src/pages/part/CategoryDetail.tsx:80 -#: src/pages/part/PartDetail.tsx:122 +#: src/pages/part/PartDetail.tsx:123 #: src/pages/stock/LocationDetail.tsx:87 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 @@ -685,6 +700,124 @@ msgstr "" msgid "Thumbnail" msgstr "" +#: src/components/importer/ImportDataSelector.tsx:154 +msgid "Importing Rows" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:155 +msgid "Please wait while the data is imported" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:172 +msgid "An error occurred while importing data" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:191 +msgid "Edit Data" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:218 +msgid "Delete Row" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:248 +msgid "Row" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:266 +msgid "Row contains errors" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:307 +msgid "Accept" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:340 +msgid "Valid" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:341 +msgid "Filter by row validation status" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:346 +#: src/tables/build/BuildOutputTable.tsx:205 +msgid "Complete" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:347 +msgid "Filter by row completion status" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:364 +msgid "Import selected rows" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:46 +#: src/components/importer/ImporterColumnSelector.tsx:85 +msgid "An error occurred" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:57 +msgid "Select column, or leave blank to ignore this field." +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:91 +msgid "Select a column from the data file" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:104 +msgid "Map data columns to database fields" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:109 +msgid "Accept Column Mapping" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:117 +msgid "Database Field" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:118 +msgid "Field Description" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:119 +msgid "Imported Column Name" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:44 +msgid "Import Data" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:45 +msgid "Map Columns" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:46 +msgid "Process Data" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:47 +msgid "Complete Import" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:91 +msgid "Importing Data" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:97 +msgid "Cancel import session" +msgstr "" + +#: src/components/importer/ImporterImportProgress.tsx:36 +msgid "Importing Records" +msgstr "" + +#: src/components/importer/ImporterImportProgress.tsx:39 +msgid "Imported rows" +msgstr "" + #: src/components/items/ActionDropdown.tsx:119 #: src/pages/build/BuildDetail.tsx:358 msgid "Barcode Actions" @@ -738,7 +871,7 @@ msgid "Read More" msgstr "" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:443 +#: src/tables/InvenTreeTable.tsx:462 msgid "Unknown error" msgstr "" @@ -1039,13 +1172,13 @@ msgstr "" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:313 +#: src/pages/Index/Settings/SystemSettings.tsx:314 msgid "System Settings" msgstr "" #: src/components/nav/MainMenu.tsx:67 #: src/defaults/menuItems.tsx:63 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:198 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:209 msgid "Admin Center" msgstr "" @@ -1088,7 +1221,7 @@ msgid "Pages" msgstr "" #: src/components/nav/NavigationDrawer.tsx:65 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:157 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:168 #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:41 msgid "Plugins" msgstr "" @@ -1102,7 +1235,7 @@ msgstr "" msgid "About" msgstr "" -#: src/components/nav/NotificationDrawer.tsx:78 +#: src/components/nav/NotificationDrawer.tsx:81 #: src/pages/Index/Settings/SystemSettings.tsx:108 #: src/pages/Index/Settings/UserSettings.tsx:96 #: src/pages/Notifications.tsx:65 @@ -1110,17 +1243,17 @@ msgstr "" msgid "Notifications" msgstr "" -#: src/components/nav/NotificationDrawer.tsx:95 +#: src/components/nav/NotificationDrawer.tsx:98 msgid "You have no unread notifications." msgstr "" -#: src/components/nav/NotificationDrawer.tsx:111 -#: src/components/nav/NotificationDrawer.tsx:117 +#: src/components/nav/NotificationDrawer.tsx:114 +#: src/components/nav/NotificationDrawer.tsx:120 #: src/tables/notifications/NotificationsTable.tsx:36 msgid "Notification" msgstr "" -#: src/components/nav/NotificationDrawer.tsx:140 +#: src/components/nav/NotificationDrawer.tsx:143 #: src/pages/Notifications.tsx:73 msgid "Mark as read" msgstr "" @@ -1157,7 +1290,7 @@ msgstr "" msgid "No results available for search query" msgstr "" -#: src/components/render/Instance.tsx:166 +#: src/components/render/Instance.tsx:201 msgid "Unknown model: {model}" msgstr "" @@ -1172,7 +1305,8 @@ msgstr "" #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 #: src/pages/build/BuildDetail.tsx:85 -#: src/pages/part/PartDetail.tsx:831 +#: src/pages/part/PartDetail.tsx:872 +#: src/tables/part/PartTable.tsx:28 #: src/tables/part/RelatedPartTable.tsx:45 #: src/tables/stock/StockTrackingTable.tsx:74 msgid "Part" @@ -1185,7 +1319,7 @@ msgstr "" #: src/pages/part/CategoryDetail.tsx:112 #: src/pages/part/CategoryDetail.tsx:237 #: src/pages/part/CategoryDetail.tsx:267 -#: src/pages/part/PartDetail.tsx:639 +#: src/pages/part/PartDetail.tsx:652 msgid "Parts" msgstr "" @@ -1235,7 +1369,7 @@ msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:172 #: src/pages/part/CategoryDetail.tsx:251 #: src/pages/part/CategoryDetail.tsx:288 -#: src/pages/part/PartDetail.tsx:821 +#: src/pages/part/PartDetail.tsx:862 msgid "Part Categories" msgstr "" @@ -1317,7 +1451,7 @@ msgid "Project Code" msgstr "" #: src/components/render/ModelType.tsx:127 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:109 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:120 msgid "Project Codes" msgstr "" @@ -1329,10 +1463,10 @@ msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:134 -#: src/pages/Index/Settings/SystemSettings.tsx:257 +#: src/pages/Index/Settings/SystemSettings.tsx:258 #: src/pages/company/CompanyDetail.tsx:194 #: src/pages/company/SupplierPartDetail.tsx:226 -#: src/pages/part/PartDetail.tsx:573 +#: src/pages/part/PartDetail.tsx:586 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "" @@ -1354,9 +1488,9 @@ msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:272 +#: src/pages/Index/Settings/SystemSettings.tsx:273 #: src/pages/company/CompanyDetail.tsx:214 -#: src/pages/part/PartDetail.tsx:580 +#: src/pages/part/PartDetail.tsx:593 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" @@ -1376,7 +1510,7 @@ msgid "Return Order" msgstr "" #: src/components/render/ModelType.tsx:164 -#: src/pages/Index/Settings/SystemSettings.tsx:288 +#: src/pages/Index/Settings/SystemSettings.tsx:289 #: src/pages/company/CompanyDetail.tsx:221 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1413,40 +1547,49 @@ msgid "Owners" msgstr "" #: src/components/render/ModelType.tsx:193 +#: src/tables/settings/ImportSessionTable.tsx:122 #: src/tables/stock/StockItemTestResultTable.tsx:193 #: src/tables/stock/StockTrackingTable.tsx:195 msgid "User" msgstr "" #: src/components/render/ModelType.tsx:194 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:85 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:90 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" msgstr "" #: src/components/render/ModelType.tsx:200 -msgid "Label Template" +msgid "Import Session" msgstr "" #: src/components/render/ModelType.tsx:201 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:139 -msgid "Label Templates" +msgid "Import Sessions" msgstr "" #: src/components/render/ModelType.tsx:207 -msgid "Report Template" +msgid "Label Template" msgstr "" #: src/components/render/ModelType.tsx:208 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:145 -msgid "Report Templates" +#: src/pages/Index/Settings/AdminCenter/Index.tsx:150 +msgid "Label Templates" msgstr "" #: src/components/render/ModelType.tsx:214 -msgid "Plugin Configuration" +msgid "Report Template" msgstr "" #: src/components/render/ModelType.tsx:215 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:156 +msgid "Report Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:221 +msgid "Plugin Configuration" +msgstr "" + +#: src/components/render/ModelType.tsx:222 msgid "Plugin Configurations" msgstr "" @@ -1458,7 +1601,7 @@ msgstr "" #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 #: src/pages/Index/Settings/SystemSettings.tsx:210 -#: src/pages/part/PartDetail.tsx:492 +#: src/pages/part/PartDetail.tsx:503 #: src/pages/stock/LocationDetail.tsx:347 #: src/pages/stock/StockDetail.tsx:356 #: src/tables/stock/StockItemTable.tsx:57 @@ -1641,10 +1784,6 @@ msgstr "" #~ msgid "Comment" #~ msgstr "Comment" -#: src/components/tables/general/AttachmentTable.tsx:56 -#~ msgid "Uploaded" -#~ msgstr "Uploaded" - #: src/components/tables/part/PartCategoryTable.tsx:122 #~ msgid "Part category updated" #~ msgstr "Part category updated" @@ -2157,7 +2296,7 @@ msgid "Recently Updated" msgstr "" #: src/defaults/dashboardItems.tsx:50 -#: src/tables/part/PartTable.tsx:216 +#: src/tables/part/PartTable.tsx:223 msgid "Low Stock" msgstr "" @@ -2466,7 +2605,7 @@ msgstr "" #~ msgid "Company updated" #~ msgstr "Company updated" -#: src/forms/PartForms.tsx:100 +#: src/forms/PartForms.tsx:103 msgid "Parent part category" msgstr "" @@ -2534,7 +2673,7 @@ msgstr "" #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 #: src/pages/stock/StockDetail.tsx:173 -#: src/tables/ColumnRenderers.tsx:34 +#: src/tables/ColumnRenderers.tsx:49 #: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" msgstr "" @@ -2585,8 +2724,8 @@ msgstr "" #: src/forms/StockForms.tsx:176 #: src/pages/stock/StockDetail.tsx:379 -#: src/tables/stock/StockItemTable.tsx:382 -#: src/tables/stock/StockItemTable.tsx:499 +#: src/tables/stock/StockItemTable.tsx:404 +#: src/tables/stock/StockItemTable.tsx:521 msgid "Add Stock Item" msgstr "" @@ -2606,9 +2745,9 @@ msgstr "" #: src/forms/StockForms.tsx:606 #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 -#: src/pages/part/PartDetail.tsx:202 -#: src/pages/part/PartDetail.tsx:655 -#: src/tables/stock/StockItemTable.tsx:290 +#: src/pages/part/PartDetail.tsx:203 +#: src/pages/part/PartDetail.tsx:668 +#: src/tables/stock/StockItemTable.tsx:312 msgid "In Stock" msgstr "" @@ -2649,12 +2788,12 @@ msgid "Remove Stock" msgstr "" #: src/forms/StockForms.tsx:803 -#: src/pages/part/PartDetail.tsx:782 +#: src/pages/part/PartDetail.tsx:823 msgid "Transfer Stock" msgstr "" #: src/forms/StockForms.tsx:812 -#: src/pages/part/PartDetail.tsx:771 +#: src/pages/part/PartDetail.tsx:812 msgid "Count Stock" msgstr "" @@ -3279,53 +3418,57 @@ msgstr "" #~ msgid "Advanced Amininistrative Options for InvenTree" #~ msgstr "Advanced Amininistrative Options for InvenTree" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:91 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:96 +msgid "Data Import" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:102 msgid "Background Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:97 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:108 msgid "Error Reports" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:103 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:114 msgid "Currencies" 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:132 msgid "Custom Units" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:138 #: src/pages/part/CategoryDetail.tsx:257 msgid "Part Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 -#~ msgid "Templates" -#~ msgstr "Templates" - -#: src/pages/Index/Settings/AdminCenter/Index.tsx:133 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:144 msgid "Category Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:151 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:162 msgid "Location types" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:163 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:174 #: src/tables/machine/MachineTypeTable.tsx:287 msgid "Machines" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:173 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:184 msgid "Quick Actions" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:178 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:189 msgid "Add a new user" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:199 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:210 msgid "Advanced Options" msgstr "" @@ -3477,7 +3620,7 @@ msgid "Reporting" msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:235 -#: src/pages/part/PartDetail.tsx:593 +#: src/pages/part/PartDetail.tsx:606 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" @@ -3485,12 +3628,12 @@ msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:241 #: src/pages/build/BuildDetail.tsx:423 #: src/pages/build/BuildIndex.tsx:14 -#: src/pages/part/PartDetail.tsx:527 +#: src/pages/part/PartDetail.tsx:540 #: src/pages/sales/SalesOrderDetail.tsx:270 msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:316 +#: src/pages/Index/Settings/SystemSettings.tsx:317 msgid "Switch to User Setting" msgstr "" @@ -3555,7 +3698,8 @@ msgstr "" #: 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/settings/ImportSessionTable.tsx:116 +#: src/tables/stock/StockItemTable.tsx:281 #: src/tables/stock/StockTrackingTable.tsx:52 msgid "Status" msgstr "" @@ -3564,7 +3708,7 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:104 #: src/pages/sales/ReturnOrderDetail.tsx:73 #: src/pages/sales/SalesOrderDetail.tsx:77 -#: src/tables/ColumnRenderers.tsx:106 +#: src/tables/ColumnRenderers.tsx:121 #: src/tables/build/BuildLineTable.tsx:140 msgid "Reference" msgstr "" @@ -3574,12 +3718,12 @@ msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:78 #: src/pages/company/SupplierPartDetail.tsx:85 #: src/pages/part/CategoryDetail.tsx:94 -#: src/pages/part/PartDetail.tsx:129 +#: src/pages/part/PartDetail.tsx:130 #: src/pages/purchasing/PurchaseOrderDetail.tsx:125 #: src/pages/sales/ReturnOrderDetail.tsx:93 #: src/pages/sales/SalesOrderDetail.tsx:97 #: src/pages/stock/LocationDetail.tsx:101 -#: src/tables/ColumnRenderers.tsx:66 +#: src/tables/ColumnRenderers.tsx:81 #: src/tables/machine/MachineTypeTable.tsx:69 #: src/tables/machine/MachineTypeTable.tsx:112 #: src/tables/machine/MachineTypeTable.tsx:219 @@ -3610,7 +3754,7 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:152 -#: src/pages/part/PartDetail.tsx:317 +#: src/pages/part/PartDetail.tsx:323 #: src/pages/purchasing/PurchaseOrderDetail.tsx:217 #: src/pages/sales/ReturnOrderDetail.tsx:186 #: src/pages/sales/SalesOrderDetail.tsx:190 @@ -3630,7 +3774,7 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:210 #: src/pages/sales/ReturnOrderDetail.tsx:179 #: src/pages/sales/SalesOrderDetail.tsx:183 -#: src/tables/ColumnRenderers.tsx:191 +#: src/tables/ColumnRenderers.tsx:206 msgid "Target Date" msgstr "" @@ -3711,7 +3855,7 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:297 #: src/pages/company/CompanyDetail.tsx:257 #: src/pages/company/ManufacturerPartDetail.tsx:174 -#: src/pages/part/PartDetail.tsx:616 +#: src/pages/part/PartDetail.tsx:629 #: src/pages/purchasing/PurchaseOrderDetail.tsx:279 #: src/pages/sales/ReturnOrderDetail.tsx:230 #: src/pages/sales/SalesOrderDetail.tsx:280 @@ -3721,7 +3865,7 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:305 #: src/pages/company/CompanyDetail.tsx:268 -#: src/pages/part/PartDetail.tsx:624 +#: src/pages/part/PartDetail.tsx:637 #: src/pages/purchasing/PurchaseOrderDetail.tsx:290 #: src/pages/sales/ReturnOrderDetail.tsx:241 #: src/pages/sales/SalesOrderDetail.tsx:291 @@ -3877,12 +4021,12 @@ msgid "Manufacturer Part Details" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:148 -#: src/pages/part/PartDetail.tsx:486 +#: src/pages/part/PartDetail.tsx:492 msgid "Parameters" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:160 -#: src/pages/part/PartDetail.tsx:560 +#: src/pages/part/PartDetail.tsx:573 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" msgstr "" @@ -3907,7 +4051,7 @@ msgid "ManufacturerPart" msgstr "" #: src/pages/company/SupplierPartDetail.tsx:99 -#: src/tables/ColumnRenderers.tsx:117 +#: src/tables/ColumnRenderers.tsx:132 msgid "Note" msgstr "" @@ -4043,275 +4187,275 @@ msgstr "" msgid "Category Details" msgstr "" -#: src/pages/part/PartDetail.tsx:135 +#: src/pages/part/PartDetail.tsx:136 msgid "Variant of" msgstr "" -#: src/pages/part/PartDetail.tsx:142 +#: src/pages/part/PartDetail.tsx:143 #: src/tables/notifications/NotificationsTable.tsx:31 #: src/tables/part/PartCategoryTemplateTable.tsx:67 msgid "Category" msgstr "" -#: src/pages/part/PartDetail.tsx:148 +#: src/pages/part/PartDetail.tsx:149 msgid "Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:155 +#: src/pages/part/PartDetail.tsx:156 msgid "Category Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:162 +#: src/pages/part/PartDetail.tsx:163 msgid "IPN" msgstr "" -#: src/pages/part/PartDetail.tsx:169 +#: src/pages/part/PartDetail.tsx:170 msgid "Revision" msgstr "" -#: src/pages/part/PartDetail.tsx:176 +#: src/pages/part/PartDetail.tsx:177 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" msgstr "" -#: src/pages/part/PartDetail.tsx:183 +#: src/pages/part/PartDetail.tsx:184 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:190 +#: src/pages/part/PartDetail.tsx:191 #: src/pages/purchasing/PurchaseOrderDetail.tsx:183 #: src/pages/sales/ReturnOrderDetail.tsx:152 #: src/pages/sales/SalesOrderDetail.tsx:156 msgid "Link" msgstr "" -#: src/pages/part/PartDetail.tsx:208 -#: src/tables/bom/BomTable.tsx:276 +#: src/pages/part/PartDetail.tsx:209 +#: src/tables/bom/BomTable.tsx:279 #: src/tables/build/BuildLineTable.tsx:121 -#: src/tables/part/PartTable.tsx:256 +#: src/tables/part/PartTable.tsx:263 msgid "Available Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:215 +#: src/pages/part/PartDetail.tsx:216 msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:221 -#: src/tables/bom/BomTable.tsx:217 +#: src/pages/part/PartDetail.tsx:222 +#: src/tables/bom/BomTable.tsx:220 #: src/tables/build/BuildLineTable.tsx:95 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:230 +#: src/pages/part/PartDetail.tsx:231 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:238 +#: src/pages/part/PartDetail.tsx:239 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:245 -#: src/tables/bom/BomTable.tsx:241 +#: src/pages/part/PartDetail.tsx:246 +#: src/tables/bom/BomTable.tsx:244 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:252 -#: src/tables/bom/BomTable.tsx:225 -#: src/tables/part/PartTable.tsx:82 +#: src/pages/part/PartDetail.tsx:253 +#: src/tables/bom/BomTable.tsx:228 +#: src/tables/part/PartTable.tsx:83 msgid "Building" msgstr "" -#: src/pages/part/PartDetail.tsx:261 +#: src/pages/part/PartDetail.tsx:262 #: src/tables/bom/UsedInTable.tsx:73 #: src/tables/build/BuildOrderTable.tsx:108 #: src/tables/company/CompanyTable.tsx:61 #: src/tables/company/CompanyTable.tsx:95 #: src/tables/machine/MachineListTable.tsx:323 #: src/tables/machine/MachineListTable.tsx:585 -#: src/tables/part/PartTable.tsx:168 +#: src/tables/part/PartTable.tsx:169 #: src/tables/part/PartVariantTable.tsx:15 #: 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 +#: src/tables/stock/StockItemTable.tsx:276 msgid "Active" msgstr "" -#: src/pages/part/PartDetail.tsx:266 +#: src/pages/part/PartDetail.tsx:272 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:271 -#: src/tables/bom/BomTable.tsx:271 +#: src/pages/part/PartDetail.tsx:277 +#: src/tables/bom/BomTable.tsx:274 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:276 +#: src/pages/part/PartDetail.tsx:282 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:281 -#: src/tables/bom/BomTable.tsx:266 +#: src/pages/part/PartDetail.tsx:287 +#: src/tables/bom/BomTable.tsx:269 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:286 +#: src/pages/part/PartDetail.tsx:292 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:291 +#: src/pages/part/PartDetail.tsx:297 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:296 +#: src/pages/part/PartDetail.tsx:302 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:304 -#: src/tables/ColumnRenderers.tsx:199 +#: src/pages/part/PartDetail.tsx:310 +#: src/tables/ColumnRenderers.tsx:214 msgid "Creation Date" msgstr "" -#: src/pages/part/PartDetail.tsx:309 -msgid "Created By" -msgstr "" - #: src/pages/part/PartDetail.tsx:310 #~ msgid "Edit part" #~ msgstr "Edit part" +#: src/pages/part/PartDetail.tsx:315 +msgid "Created By" +msgstr "" + #: src/pages/part/PartDetail.tsx:322 #~ msgid "Duplicate part" #~ msgstr "Duplicate part" -#: src/pages/part/PartDetail.tsx:324 -msgid "Default Supplier" -msgstr "" - #: src/pages/part/PartDetail.tsx:327 #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:335 +#: src/pages/part/PartDetail.tsx:330 +msgid "Default Supplier" +msgstr "" + +#: src/pages/part/PartDetail.tsx:341 #: src/pages/part/pricing/BomPricingPanel.tsx:78 #: src/pages/part/pricing/VariantPricingPanel.tsx:95 -#: src/tables/part/PartTable.tsx:151 +#: src/tables/part/PartTable.tsx:152 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:374 +#: src/pages/part/PartDetail.tsx:380 #: src/pages/stock/StockDetail.tsx:133 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:409 +#: src/pages/part/PartDetail.tsx:415 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:480 +#: src/pages/part/PartDetail.tsx:486 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:506 +#: src/pages/part/PartDetail.tsx:517 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:513 +#: src/pages/part/PartDetail.tsx:524 #: src/pages/stock/StockDetail.tsx:286 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:520 +#: src/pages/part/PartDetail.tsx:531 msgid "Bill of Materials" msgstr "" -#: src/pages/part/PartDetail.tsx:534 +#: src/pages/part/PartDetail.tsx:547 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:541 +#: src/pages/part/PartDetail.tsx:554 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:547 +#: src/pages/part/PartDetail.tsx:560 #: src/pages/purchasing/PurchasingIndex.tsx:37 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:587 +#: src/pages/part/PartDetail.tsx:600 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:599 +#: src/pages/part/PartDetail.tsx:612 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:610 +#: src/pages/part/PartDetail.tsx:623 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:661 +#: src/pages/part/PartDetail.tsx:674 #: src/pages/stock/StockDetail.tsx:154 #: src/pages/stock/StockDetail.tsx:533 #: src/tables/build/BuildLineTable.tsx:36 -#: src/tables/part/PartTable.tsx:107 +#: src/tables/part/PartTable.tsx:108 #: src/tables/stock/StockItemTable.tsx:166 -#: src/tables/stock/StockItemTable.tsx:275 +#: src/tables/stock/StockItemTable.tsx:297 msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:667 +#: src/pages/part/PartDetail.tsx:680 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:673 -#: src/tables/bom/BomTable.tsx:281 -#: src/tables/part/PartTable.tsx:76 +#: src/pages/part/PartDetail.tsx:686 +#: src/tables/bom/BomTable.tsx:284 +#: src/tables/part/PartTable.tsx:77 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:679 +#: src/pages/part/PartDetail.tsx:692 #: src/pages/stock/StockDetail.tsx:516 -#: src/tables/stock/StockItemTable.tsx:295 +#: src/tables/stock/StockItemTable.tsx:317 msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:698 +#: src/pages/part/PartDetail.tsx:717 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:705 -#: src/tables/part/PartTable.tsx:289 -#: src/tables/part/PartTable.tsx:302 +#: src/pages/part/PartDetail.tsx:744 +#: src/tables/part/PartTable.tsx:296 +#: src/tables/part/PartTable.tsx:309 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:717 +#: src/pages/part/PartDetail.tsx:758 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:726 +#: src/pages/part/PartDetail.tsx:767 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:764 +#: src/pages/part/PartDetail.tsx:805 #: src/pages/stock/LocationDetail.tsx:304 -#: src/tables/stock/StockItemTable.tsx:409 +#: src/tables/stock/StockItemTable.tsx:431 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:772 +#: src/pages/part/PartDetail.tsx:813 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:824 msgid "Transfer part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:792 +#: src/pages/part/PartDetail.tsx:833 msgid "Part Actions" msgstr "" @@ -4359,8 +4503,8 @@ msgstr "" #: src/pages/part/pricing/BomPricingPanel.tsx:57 #: src/pages/part/pricing/BomPricingPanel.tsx:137 -#: src/tables/ColumnRenderers.tsx:241 -#: src/tables/bom/BomTable.tsx:165 +#: src/tables/ColumnRenderers.tsx:256 +#: src/tables/bom/BomTable.tsx:168 #: src/tables/purchasing/PurchaseOrderTable.tsx:112 #: src/tables/sales/ReturnOrderTable.tsx:104 #: src/tables/sales/SalesOrderTable.tsx:134 @@ -4369,7 +4513,7 @@ msgstr "" #: src/pages/part/pricing/BomPricingPanel.tsx:77 #: src/pages/part/pricing/BomPricingPanel.tsx:101 -#: src/tables/part/PartTable.tsx:186 +#: src/tables/part/PartTable.tsx:193 msgid "Component" msgstr "" @@ -4398,7 +4542,7 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:67 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:128 #: src/pages/part/pricing/SupplierPricingPanel.tsx:62 -#: src/tables/bom/BomTable.tsx:156 +#: src/tables/bom/BomTable.tsx:159 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 msgid "Unit Price" @@ -4498,7 +4642,7 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:40 #: src/pages/part/pricing/SaleHistoryPanel.tsx:36 -#: src/tables/ColumnRenderers.tsx:180 +#: src/tables/ColumnRenderers.tsx:195 #: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" @@ -4771,12 +4915,12 @@ msgid "Count stock" msgstr "" #: src/pages/stock/StockDetail.tsx:459 -#: src/tables/stock/StockItemTable.tsx:414 +#: src/tables/stock/StockItemTable.tsx:436 msgid "Add stock" msgstr "" #: src/pages/stock/StockDetail.tsx:467 -#: src/tables/stock/StockItemTable.tsx:423 +#: src/tables/stock/StockItemTable.tsx:445 msgid "Remove stock" msgstr "" @@ -4785,7 +4929,7 @@ msgid "Transfer" msgstr "" #: src/pages/stock/StockDetail.tsx:475 -#: src/tables/stock/StockItemTable.tsx:443 +#: src/tables/stock/StockItemTable.tsx:465 msgid "Transfer stock" msgstr "" @@ -4793,15 +4937,15 @@ msgstr "" msgid "Stock Item Actions" msgstr "" -#: src/tables/ColumnRenderers.tsx:42 +#: src/tables/ColumnRenderers.tsx:57 msgid "No location set" msgstr "" -#: src/tables/ColumnRenderers.tsx:207 +#: src/tables/ColumnRenderers.tsx:222 msgid "Shipment Date" msgstr "" -#: src/tables/ColumnRenderers.tsx:227 +#: src/tables/ColumnRenderers.tsx:242 #: src/tables/settings/CurrencyTable.tsx:23 msgid "Currency" msgstr "" @@ -4828,14 +4972,14 @@ msgid "TSV" msgstr "" #: src/tables/DownloadAction.tsx:24 -msgid "Excel (.xls)" -msgstr "" - -#: src/tables/DownloadAction.tsx:25 msgid "Excel (.xlsx)" msgstr "" -#: src/tables/DownloadAction.tsx:39 +#: src/tables/DownloadAction.tsx:24 +#~ msgid "Excel (.xls)" +#~ msgstr "" + +#: src/tables/DownloadAction.tsx:38 msgid "Download Data" msgstr "" @@ -4900,54 +5044,54 @@ msgstr "" msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:119 -#: src/tables/InvenTreeTable.tsx:390 -#: src/tables/InvenTreeTable.tsx:411 +#: src/tables/InvenTreeTable.tsx:126 +#: src/tables/InvenTreeTable.tsx:409 +#: src/tables/InvenTreeTable.tsx:430 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:422 +#: src/tables/InvenTreeTable.tsx:441 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:430 +#: src/tables/InvenTreeTable.tsx:449 msgid "Bad request" msgstr "" -#: src/tables/InvenTreeTable.tsx:433 +#: src/tables/InvenTreeTable.tsx:452 msgid "Unauthorized" msgstr "" -#: src/tables/InvenTreeTable.tsx:436 +#: src/tables/InvenTreeTable.tsx:455 msgid "Forbidden" msgstr "" -#: src/tables/InvenTreeTable.tsx:439 +#: src/tables/InvenTreeTable.tsx:458 msgid "Not found" msgstr "" -#: src/tables/InvenTreeTable.tsx:488 -#: src/tables/InvenTreeTable.tsx:606 +#: src/tables/InvenTreeTable.tsx:507 +#: src/tables/InvenTreeTable.tsx:623 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:492 +#: src/tables/InvenTreeTable.tsx:511 msgid "Are you sure you want to delete the selected records?" msgstr "" -#: src/tables/InvenTreeTable.tsx:494 +#: src/tables/InvenTreeTable.tsx:513 msgid "This action cannot be undone!" msgstr "" -#: src/tables/InvenTreeTable.tsx:517 +#: src/tables/InvenTreeTable.tsx:536 msgid "Deleted records" msgstr "" -#: src/tables/InvenTreeTable.tsx:518 +#: src/tables/InvenTreeTable.tsx:537 msgid "Records were deleted successfully" msgstr "" -#: src/tables/InvenTreeTable.tsx:527 +#: src/tables/InvenTreeTable.tsx:546 msgid "Failed to delete records" msgstr "" @@ -4956,140 +5100,144 @@ msgstr "" #~ msgid "Print actions" #~ msgstr "Print actions" -#: src/tables/InvenTreeTable.tsx:596 -#: src/tables/InvenTreeTable.tsx:597 +#: src/tables/InvenTreeTable.tsx:613 +#: src/tables/InvenTreeTable.tsx:614 msgid "Barcode actions" msgstr "" -#: src/tables/InvenTreeTable.tsx:625 +#: src/tables/InvenTreeTable.tsx:642 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTable.tsx:646 +#: src/tables/InvenTreeTable.tsx:663 msgid "Table filters" msgstr "" -#: src/tables/bom/BomTable.tsx:80 +#: src/tables/UploadAction.tsx:9 +msgid "Upload Data" +msgstr "" + +#: src/tables/bom/BomTable.tsx:83 msgid "This BOM item is defined for a different parent" msgstr "" -#: src/tables/bom/BomTable.tsx:95 +#: src/tables/bom/BomTable.tsx:98 msgid "Part Information" msgstr "" -#: src/tables/bom/BomTable.tsx:184 -#: src/tables/part/PartTable.tsx:124 +#: src/tables/bom/BomTable.tsx:187 +#: src/tables/part/PartTable.tsx:125 msgid "No stock" msgstr "" -#: src/tables/bom/BomTable.tsx:192 +#: src/tables/bom/BomTable.tsx:195 #: src/tables/build/BuildLineTable.tsx:104 -#: src/tables/part/PartTable.tsx:115 +#: src/tables/part/PartTable.tsx:116 msgid "External stock" msgstr "" -#: src/tables/bom/BomTable.tsx:200 +#: src/tables/bom/BomTable.tsx:203 #: src/tables/build/BuildLineTable.tsx:67 msgid "Includes substitute stock" msgstr "" -#: src/tables/bom/BomTable.tsx:209 +#: src/tables/bom/BomTable.tsx:212 #: src/tables/build/BuildLineTable.tsx:77 msgid "Includes variant stock" msgstr "" -#: src/tables/bom/BomTable.tsx:234 -#: src/tables/part/PartTable.tsx:143 +#: src/tables/bom/BomTable.tsx:237 +#: src/tables/part/PartTable.tsx:144 #: src/tables/stock/StockItemTable.tsx:205 msgid "Stock Information" msgstr "" -#: src/tables/bom/BomTable.tsx:246 +#: src/tables/bom/BomTable.tsx:249 #: src/tables/build/BuildLineTable.tsx:195 msgid "Consumable item" msgstr "" -#: src/tables/bom/BomTable.tsx:267 +#: src/tables/bom/BomTable.tsx:270 msgid "Show trackable items" msgstr "" -#: src/tables/bom/BomTable.tsx:272 +#: src/tables/bom/BomTable.tsx:275 msgid "Show asssmbled items" msgstr "" -#: src/tables/bom/BomTable.tsx:277 +#: src/tables/bom/BomTable.tsx:280 msgid "Show items with available stock" msgstr "" -#: src/tables/bom/BomTable.tsx:282 +#: src/tables/bom/BomTable.tsx:285 msgid "Show items on order" msgstr "" -#: src/tables/bom/BomTable.tsx:286 +#: src/tables/bom/BomTable.tsx:289 msgid "Validated" msgstr "" -#: src/tables/bom/BomTable.tsx:287 +#: src/tables/bom/BomTable.tsx:290 msgid "Show validated items" msgstr "" -#: src/tables/bom/BomTable.tsx:291 +#: src/tables/bom/BomTable.tsx:294 #: src/tables/bom/UsedInTable.tsx:63 msgid "Inherited" msgstr "" -#: src/tables/bom/BomTable.tsx:292 +#: src/tables/bom/BomTable.tsx:295 #: src/tables/bom/UsedInTable.tsx:64 msgid "Show inherited items" msgstr "" -#: src/tables/bom/BomTable.tsx:296 +#: src/tables/bom/BomTable.tsx:299 msgid "Allow Variants" msgstr "" -#: src/tables/bom/BomTable.tsx:297 +#: src/tables/bom/BomTable.tsx:300 msgid "Show items which allow variant substitution" msgstr "" #: src/tables/bom/BomTable.tsx:301 +#~ msgid "Create BOM Item" +#~ msgstr "Create BOM Item" + +#: src/tables/bom/BomTable.tsx:304 #: src/tables/bom/UsedInTable.tsx:68 #: src/tables/build/BuildLineTable.tsx:46 msgid "Optional" msgstr "" -#: src/tables/bom/BomTable.tsx:301 -#~ msgid "Create BOM Item" -#~ msgstr "Create BOM Item" - -#: src/tables/bom/BomTable.tsx:302 +#: src/tables/bom/BomTable.tsx:305 #: src/tables/bom/UsedInTable.tsx:69 msgid "Show optional items" msgstr "" -#: src/tables/bom/BomTable.tsx:306 +#: src/tables/bom/BomTable.tsx:309 #: src/tables/build/BuildLineTable.tsx:41 msgid "Consumable" msgstr "" -#: src/tables/bom/BomTable.tsx:307 +#: src/tables/bom/BomTable.tsx:310 msgid "Show consumable items" msgstr "" -#: src/tables/bom/BomTable.tsx:311 -#: src/tables/part/PartTable.tsx:250 +#: src/tables/bom/BomTable.tsx:314 +#: src/tables/part/PartTable.tsx:257 msgid "Has Pricing" msgstr "" -#: src/tables/bom/BomTable.tsx:312 +#: src/tables/bom/BomTable.tsx:315 msgid "Show items with pricing" msgstr "" -#: src/tables/bom/BomTable.tsx:321 -#: src/tables/bom/BomTable.tsx:420 +#: src/tables/bom/BomTable.tsx:324 +#: src/tables/bom/BomTable.tsx:426 msgid "Add BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:326 +#: src/tables/bom/BomTable.tsx:329 msgid "BOM item created" msgstr "" @@ -5097,23 +5245,23 @@ msgstr "" #~ msgid "Edit Bom Item" #~ msgstr "Edit Bom Item" -#: src/tables/bom/BomTable.tsx:333 -msgid "Edit BOM Item" -msgstr "" - #: src/tables/bom/BomTable.tsx:333 #~ msgid "Bom item updated" #~ msgstr "Bom item updated" -#: src/tables/bom/BomTable.tsx:335 +#: src/tables/bom/BomTable.tsx:336 +msgid "Edit BOM Item" +msgstr "" + +#: src/tables/bom/BomTable.tsx:338 msgid "BOM item updated" msgstr "" -#: src/tables/bom/BomTable.tsx:342 +#: src/tables/bom/BomTable.tsx:345 msgid "Delete BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:343 +#: src/tables/bom/BomTable.tsx:346 msgid "BOM item deleted" msgstr "" @@ -5133,32 +5281,41 @@ msgstr "" #~ msgid "Validate BOM line" #~ msgstr "Validate BOM line" -#: src/tables/bom/BomTable.tsx:355 +#: src/tables/bom/BomTable.tsx:358 msgid "BOM item validated" msgstr "" -#: src/tables/bom/BomTable.tsx:364 +#: src/tables/bom/BomTable.tsx:367 msgid "Failed to validate BOM item" msgstr "" -#: src/tables/bom/BomTable.tsx:376 +#: src/tables/bom/BomTable.tsx:379 msgid "View BOM" msgstr "" -#: src/tables/bom/BomTable.tsx:385 +#: src/tables/bom/BomTable.tsx:388 msgid "Validate BOM Line" msgstr "" -#: src/tables/bom/BomTable.tsx:399 +#: src/tables/bom/BomTable.tsx:405 msgid "Edit Substitutes" msgstr "" +#: src/tables/bom/BomTable.tsx:440 +#: src/tables/part/PartParameterTable.tsx:191 +msgid "Part is Locked" +msgstr "" + +#: src/tables/bom/BomTable.tsx:445 +msgid "Bill of materials cannot be edited, as the part is locked" +msgstr "" + #: src/tables/bom/UsedInTable.tsx:74 msgid "Show active assemblies" msgstr "" #: src/tables/bom/UsedInTable.tsx:78 -#: src/tables/part/PartTable.tsx:192 +#: src/tables/part/PartTable.tsx:199 #: src/tables/part/PartVariantTable.tsx:30 msgid "Trackable" msgstr "" @@ -5168,7 +5325,7 @@ msgid "Show trackable assemblies" msgstr "" #: src/tables/build/BuildLineTable.tsx:31 -#: src/tables/stock/StockItemTable.tsx:270 +#: src/tables/stock/StockItemTable.tsx:292 msgid "Allocated" msgstr "" @@ -5189,7 +5346,7 @@ msgid "Show optional lines" msgstr "" #: src/tables/build/BuildLineTable.tsx:51 -#: src/tables/stock/StockItemTable.tsx:329 +#: src/tables/stock/StockItemTable.tsx:351 msgid "Tracked" msgstr "" @@ -5302,10 +5459,6 @@ msgstr "" msgid "Deallocate stock from build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:205 -msgid "Complete" -msgstr "" - #: src/tables/build/BuildOutputTable.tsx:206 msgid "Complete build output" msgstr "" @@ -5635,7 +5788,7 @@ msgid "Message" msgstr "" #: src/tables/part/ParametricPartTable.tsx:76 -#: src/tables/part/PartParameterTable.tsx:88 +#: src/tables/part/PartParameterTable.tsx:95 msgid "Internal Units" msgstr "" @@ -5648,13 +5801,13 @@ msgid "Add Part Parameter" msgstr "" #: src/tables/part/ParametricPartTable.tsx:138 -#: src/tables/part/PartParameterTable.tsx:121 -#: src/tables/part/PartParameterTable.tsx:144 +#: src/tables/part/PartParameterTable.tsx:128 +#: src/tables/part/PartParameterTable.tsx:151 msgid "Edit Part Parameter" msgstr "" #: src/tables/part/PartCategoryTable.tsx:60 -#: src/tables/part/PartTable.tsx:180 +#: src/tables/part/PartTable.tsx:187 msgid "Include Subcategories" msgstr "" @@ -5667,7 +5820,7 @@ msgid "Show structural categories" msgstr "" #: src/tables/part/PartCategoryTable.tsx:70 -#: src/tables/part/PartTable.tsx:262 +#: src/tables/part/PartTable.tsx:269 msgid "Subscribed" msgstr "" @@ -5704,21 +5857,25 @@ msgstr "" #~ msgid "[{0}]" #~ msgstr "[{0}]" -#: src/tables/part/PartParameterTable.tsx:105 +#: src/tables/part/PartParameterTable.tsx:112 msgid "New Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:130 -#: src/tables/part/PartParameterTable.tsx:152 +#: src/tables/part/PartParameterTable.tsx:137 +#: src/tables/part/PartParameterTable.tsx:159 msgid "Delete Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:170 +#: src/tables/part/PartParameterTable.tsx:177 msgid "Add parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:191 -#: src/tables/stock/StockItemTable.tsx:300 +#: src/tables/part/PartParameterTable.tsx:196 +msgid "Part parameters cannot be edited, as the part is locked" +msgstr "" + +#: src/tables/part/PartParameterTable.tsx:210 +#: src/tables/stock/StockItemTable.tsx:322 msgid "Include Variants" msgstr "" @@ -5739,7 +5896,7 @@ msgid "Show templates with choices" msgstr "" #: src/tables/part/PartParameterTemplateTable.tsx:41 -#: src/tables/part/PartTable.tsx:198 +#: src/tables/part/PartTable.tsx:205 msgid "Has Units" msgstr "" @@ -5763,116 +5920,120 @@ msgstr "" msgid "Add parameter template" msgstr "" -#: src/tables/part/PartTable.tsx:67 +#: src/tables/part/PartTable.tsx:68 msgid "Minimum stock" msgstr "" -#: src/tables/part/PartTable.tsx:89 +#: src/tables/part/PartTable.tsx:90 msgid "Build Order Allocations" msgstr "" -#: src/tables/part/PartTable.tsx:98 +#: src/tables/part/PartTable.tsx:99 msgid "Sales Order Allocations" msgstr "" -#: src/tables/part/PartTable.tsx:169 +#: src/tables/part/PartTable.tsx:170 msgid "Filter by part active status" msgstr "" -#: src/tables/part/PartTable.tsx:174 -#: src/tables/stock/StockItemTable.tsx:265 +#: src/tables/part/PartTable.tsx:176 +msgid "Filter by part locked status" +msgstr "" + +#: src/tables/part/PartTable.tsx:181 +#: src/tables/stock/StockItemTable.tsx:287 msgid "Assembly" msgstr "" -#: src/tables/part/PartTable.tsx:175 +#: src/tables/part/PartTable.tsx:182 msgid "Filter by assembly attribute" msgstr "" -#: src/tables/part/PartTable.tsx:181 +#: src/tables/part/PartTable.tsx:188 msgid "Include parts in subcategories" msgstr "" -#: src/tables/part/PartTable.tsx:187 +#: src/tables/part/PartTable.tsx:194 msgid "Filter by component attribute" msgstr "" -#: src/tables/part/PartTable.tsx:193 +#: src/tables/part/PartTable.tsx:200 msgid "Filter by trackable attribute" msgstr "" -#: src/tables/part/PartTable.tsx:199 +#: src/tables/part/PartTable.tsx:206 msgid "Filter by parts which have units" msgstr "" -#: src/tables/part/PartTable.tsx:204 +#: src/tables/part/PartTable.tsx:211 msgid "Has IPN" msgstr "" -#: src/tables/part/PartTable.tsx:205 +#: src/tables/part/PartTable.tsx:212 msgid "Filter by parts which have an internal part number" msgstr "" -#: src/tables/part/PartTable.tsx:210 +#: src/tables/part/PartTable.tsx:217 msgid "Has Stock" msgstr "" -#: src/tables/part/PartTable.tsx:211 +#: src/tables/part/PartTable.tsx:218 msgid "Filter by parts which have stock" msgstr "" -#: src/tables/part/PartTable.tsx:217 +#: src/tables/part/PartTable.tsx:224 msgid "Filter by parts which have low stock" msgstr "" -#: src/tables/part/PartTable.tsx:222 +#: src/tables/part/PartTable.tsx:229 msgid "Purchaseable" msgstr "" -#: src/tables/part/PartTable.tsx:223 +#: src/tables/part/PartTable.tsx:230 msgid "Filter by parts which are purchaseable" msgstr "" -#: src/tables/part/PartTable.tsx:228 +#: src/tables/part/PartTable.tsx:235 msgid "Salable" msgstr "" -#: src/tables/part/PartTable.tsx:229 +#: src/tables/part/PartTable.tsx:236 msgid "Filter by parts which are salable" msgstr "" -#: src/tables/part/PartTable.tsx:235 +#: src/tables/part/PartTable.tsx:242 msgid "Filter by parts which are virtual" msgstr "" -#: src/tables/part/PartTable.tsx:239 +#: src/tables/part/PartTable.tsx:246 msgid "Not Virtual" msgstr "" -#: src/tables/part/PartTable.tsx:244 +#: src/tables/part/PartTable.tsx:251 msgid "Is Template" msgstr "" -#: src/tables/part/PartTable.tsx:245 +#: src/tables/part/PartTable.tsx:252 msgid "Filter by parts which are templates" msgstr "" -#: src/tables/part/PartTable.tsx:251 +#: src/tables/part/PartTable.tsx:258 msgid "Filter by parts which have pricing information" msgstr "" -#: src/tables/part/PartTable.tsx:257 +#: src/tables/part/PartTable.tsx:264 msgid "Filter by parts which have available stock" msgstr "" -#: src/tables/part/PartTable.tsx:263 +#: src/tables/part/PartTable.tsx:270 msgid "Filter by parts to which the user is subscribed" msgstr "" -#: src/tables/part/PartTable.tsx:268 +#: src/tables/part/PartTable.tsx:275 msgid "Has Stocktake" msgstr "" -#: src/tables/part/PartTable.tsx:269 +#: src/tables/part/PartTable.tsx:276 msgid "Filter by parts which have stocktake information" msgstr "" @@ -6211,7 +6372,7 @@ msgid "Sample" msgstr "" #: src/tables/plugin/PluginListTable.tsx:578 -#: src/tables/stock/StockItemTable.tsx:305 +#: src/tables/stock/StockItemTable.tsx:327 msgid "Installed" msgstr "" @@ -6486,6 +6647,41 @@ msgstr "" msgid "Edit group" msgstr "" +#: src/tables/settings/ImportSessionTable.tsx:39 +msgid "Delete Import Session" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:45 +#: src/tables/settings/ImportSessionTable.tsx:132 +msgid "Create Import Session" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:70 +msgid "Uploaded" +msgstr "Uploaded" + +#: src/tables/settings/ImportSessionTable.tsx:80 +msgid "Imported Rows" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:110 +#: src/tables/settings/TemplateTable.tsx:276 +msgid "Model Type" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:111 +#: src/tables/settings/TemplateTable.tsx:277 +msgid "Filter by target model type" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:117 +msgid "Filter by import session status" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:123 +msgid "Filter by user" +msgstr "" + #: src/tables/settings/PendingTasksTable.tsx:36 msgid "Arguments" msgstr "" @@ -6502,7 +6698,7 @@ msgstr "" msgid "Delete Project Code" msgstr "" -#: src/tables/settings/ProjectCodeTable.tsx:94 +#: src/tables/settings/ProjectCodeTable.tsx:92 msgid "Add project code" msgstr "" @@ -6571,14 +6767,6 @@ msgstr "" 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 "" @@ -6701,149 +6889,153 @@ msgstr "" msgid "This stock item has been depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:255 +#: src/tables/stock/StockItemTable.tsx:247 +msgid "Stock Value" +msgstr "" + +#: src/tables/stock/StockItemTable.tsx:277 msgid "Show stock for active parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:260 +#: src/tables/stock/StockItemTable.tsx:282 msgid "Filter by stock status" msgstr "" -#: src/tables/stock/StockItemTable.tsx:266 +#: src/tables/stock/StockItemTable.tsx:288 msgid "Show stock for assmebled parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:271 +#: src/tables/stock/StockItemTable.tsx:293 msgid "Show items which have been allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:276 +#: src/tables/stock/StockItemTable.tsx:298 msgid "Show items which are available" msgstr "" -#: src/tables/stock/StockItemTable.tsx:280 +#: src/tables/stock/StockItemTable.tsx:302 #: src/tables/stock/StockLocationTable.tsx:42 msgid "Include Sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:281 +#: src/tables/stock/StockItemTable.tsx:303 msgid "Include stock in sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:285 +#: src/tables/stock/StockItemTable.tsx:307 msgid "Depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:286 +#: src/tables/stock/StockItemTable.tsx:308 msgid "Show depleted stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:291 +#: src/tables/stock/StockItemTable.tsx:313 msgid "Show items which are in stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:296 +#: src/tables/stock/StockItemTable.tsx:318 msgid "Show items which are in production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:301 +#: src/tables/stock/StockItemTable.tsx:323 msgid "Include stock items for variant parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:306 +#: src/tables/stock/StockItemTable.tsx:328 msgid "Show stock items which are installed in other items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:310 +#: src/tables/stock/StockItemTable.tsx:332 msgid "Sent to Customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:311 +#: src/tables/stock/StockItemTable.tsx:333 msgid "Show items which have been sent to a customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:315 +#: src/tables/stock/StockItemTable.tsx:337 msgid "Is Serialized" msgstr "" -#: src/tables/stock/StockItemTable.tsx:316 +#: src/tables/stock/StockItemTable.tsx:338 msgid "Show items which have a serial number" msgstr "" -#: src/tables/stock/StockItemTable.tsx:323 +#: src/tables/stock/StockItemTable.tsx:345 msgid "Has Batch Code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:324 +#: src/tables/stock/StockItemTable.tsx:346 msgid "Show items which have a batch code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:330 +#: src/tables/stock/StockItemTable.tsx:352 msgid "Show tracked items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:334 +#: src/tables/stock/StockItemTable.tsx:356 msgid "Has Purchase Price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:335 +#: src/tables/stock/StockItemTable.tsx:357 msgid "Show items which have a purchase price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:343 +#: src/tables/stock/StockItemTable.tsx:365 msgid "External Location" msgstr "" -#: src/tables/stock/StockItemTable.tsx:344 +#: src/tables/stock/StockItemTable.tsx:366 msgid "Show items in an external location" msgstr "" -#: src/tables/stock/StockItemTable.tsx:416 +#: src/tables/stock/StockItemTable.tsx:438 msgid "Add a new stock item" msgstr "" -#: src/tables/stock/StockItemTable.tsx:425 +#: src/tables/stock/StockItemTable.tsx:447 msgid "Remove some quantity from a stock item" msgstr "" -#: src/tables/stock/StockItemTable.tsx:447 +#: src/tables/stock/StockItemTable.tsx:469 msgid "Move Stock items to new locations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:454 +#: src/tables/stock/StockItemTable.tsx:476 msgid "Change stock status" msgstr "" -#: src/tables/stock/StockItemTable.tsx:456 +#: src/tables/stock/StockItemTable.tsx:478 msgid "Change the status of stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:463 +#: src/tables/stock/StockItemTable.tsx:485 msgid "Merge stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:465 +#: src/tables/stock/StockItemTable.tsx:487 msgid "Merge stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:472 +#: src/tables/stock/StockItemTable.tsx:494 msgid "Order stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:474 -#: src/tables/stock/StockItemTable.tsx:480 +#: src/tables/stock/StockItemTable.tsx:496 +#: src/tables/stock/StockItemTable.tsx:502 msgid "Order new stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:478 +#: src/tables/stock/StockItemTable.tsx:500 msgid "Assign to customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:487 +#: src/tables/stock/StockItemTable.tsx:509 msgid "Delete stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:489 +#: src/tables/stock/StockItemTable.tsx:511 msgid "Delete stock items" msgstr "" @@ -6999,4 +7191,3 @@ msgstr "" #: src/views/MobileAppView.tsx:35 msgid "Ignore and continue to Desktop view" msgstr "" - diff --git a/src/frontend/src/locales/hi/messages.po b/src/frontend/src/locales/hi/messages.po index f5e8e3e4a6a6..b65822a68c09 100644 --- a/src/frontend/src/locales/hi/messages.po +++ b/src/frontend/src/locales/hi/messages.po @@ -49,16 +49,18 @@ msgstr "" #: src/components/buttons/PrintingActions.tsx:107 #: src/components/buttons/PrintingActions.tsx:144 #: src/components/editors/NotesEditor.tsx:65 -#: src/components/editors/NotesEditor.tsx:160 -#: src/components/forms/ApiForm.tsx:506 -#: src/components/forms/fields/ApiFormField.tsx:295 +#: src/components/editors/NotesEditor.tsx:165 +#: src/components/forms/ApiForm.tsx:513 +#: src/components/forms/fields/ApiFormField.tsx:306 +#: src/components/importer/ImportDataSelector.tsx:171 +#: src/components/importer/ImporterColumnSelector.tsx:112 #: src/components/modals/LicenseModal.tsx:75 #: src/components/nav/SearchDrawer.tsx:427 #: src/pages/ErrorPage.tsx:11 #: src/pages/part/PartPricingPanel.tsx:71 -#: src/tables/InvenTreeTable.tsx:451 -#: src/tables/InvenTreeTable.tsx:526 -#: src/tables/bom/BomTable.tsx:363 +#: src/tables/InvenTreeTable.tsx:470 +#: src/tables/InvenTreeTable.tsx:545 +#: src/tables/bom/BomTable.tsx:366 #: src/tables/stock/StockItemTestResultTable.tsx:294 msgid "Error" msgstr "" @@ -157,7 +159,7 @@ msgstr "" #: src/functions/forms.tsx:196 #: src/hooks/UseForm.tsx:40 #: src/tables/FilterSelectDrawer.tsx:204 -#: src/tables/InvenTreeTable.tsx:499 +#: src/tables/InvenTreeTable.tsx:518 #: src/tables/build/BuildOutputTable.tsx:225 msgid "Cancel" msgstr "" @@ -175,7 +177,7 @@ msgid "Clear" msgstr "" #: src/components/details/DetailsImage.tsx:227 -#: src/components/forms/ApiForm.tsx:573 +#: src/components/forms/ApiForm.tsx:580 #: src/contexts/ThemeContext.tsx:43 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:56 msgid "Submit" @@ -202,48 +204,61 @@ msgid "Delete image" msgstr "" #: src/components/details/PartIcons.tsx:28 +#: src/tables/ColumnRenderers.tsx:35 +msgid "Part is locked" +msgstr "" + +#: src/components/details/PartIcons.tsx:30 +#: src/pages/part/PartDetail.tsx:267 +#: src/pages/part/PartDetail.tsx:698 +#: src/tables/part/PartTable.tsx:175 +msgid "Locked" +msgstr "" + +#: src/components/details/PartIcons.tsx:35 +#: src/tables/ColumnRenderers.tsx:30 msgid "Part is not active" msgstr "" -#: src/components/details/PartIcons.tsx:34 +#: src/components/details/PartIcons.tsx:37 #: src/components/render/Plugin.tsx:17 #: src/pages/company/CompanyDetail.tsx:315 #: src/pages/company/SupplierPartDetail.tsx:307 -#: src/pages/part/PartDetail.tsx:685 +#: src/pages/part/PartDetail.tsx:704 msgid "Inactive" msgstr "" -#: src/components/details/PartIcons.tsx:41 +#: src/components/details/PartIcons.tsx:43 msgid "Part is a template part (variants can be made from this part)" msgstr "" -#: src/components/details/PartIcons.tsx:47 +#: src/components/details/PartIcons.tsx:49 msgid "Part can be assembled from other parts" msgstr "" -#: src/components/details/PartIcons.tsx:53 +#: src/components/details/PartIcons.tsx:55 msgid "Part can be used in assemblies" msgstr "" -#: src/components/details/PartIcons.tsx:59 +#: src/components/details/PartIcons.tsx:61 msgid "Part stock is tracked by serial number" msgstr "" -#: src/components/details/PartIcons.tsx:65 +#: src/components/details/PartIcons.tsx:67 msgid "Part can be purchased from external suppliers" msgstr "" -#: src/components/details/PartIcons.tsx:71 +#: src/components/details/PartIcons.tsx:73 msgid "Part can be sold to customers" msgstr "" -#: src/components/details/PartIcons.tsx:76 +#: src/components/details/PartIcons.tsx:78 msgid "Part is virtual (not a physical part)" msgstr "" -#: src/components/details/PartIcons.tsx:82 -#: src/tables/part/PartTable.tsx:234 -#: src/tables/part/PartTable.tsx:238 +#: src/components/details/PartIcons.tsx:84 +#: src/tables/part/PartTable.tsx:241 +#: src/tables/part/PartTable.tsx:245 #: src/tables/part/PartVariantTable.tsx:25 msgid "Virtual" msgstr "" @@ -252,29 +267,29 @@ msgstr "" msgid "Image upload failed" msgstr "" -#: src/components/editors/NotesEditor.tsx:151 -#: src/components/forms/ApiForm.tsx:430 -#: src/tables/bom/BomTable.tsx:354 +#: src/components/editors/NotesEditor.tsx:156 +#: src/components/forms/ApiForm.tsx:437 +#: src/tables/bom/BomTable.tsx:357 msgid "Success" msgstr "" -#: src/components/editors/NotesEditor.tsx:152 +#: src/components/editors/NotesEditor.tsx:157 msgid "Notes saved successfully" msgstr "" -#: src/components/editors/NotesEditor.tsx:161 +#: src/components/editors/NotesEditor.tsx:166 msgid "Failed to save notes" msgstr "" -#: src/components/editors/NotesEditor.tsx:193 +#: src/components/editors/NotesEditor.tsx:198 msgid "Preview Notes" msgstr "" -#: src/components/editors/NotesEditor.tsx:193 +#: src/components/editors/NotesEditor.tsx:198 msgid "Edit Notes" msgstr "" -#: src/components/editors/NotesEditor.tsx:207 +#: src/components/editors/NotesEditor.tsx:212 msgid "Save Notes" msgstr "" @@ -407,7 +422,7 @@ msgstr "" msgid "A server error occurred" msgstr "" -#: src/components/forms/ApiForm.tsx:149 +#: src/components/forms/ApiForm.tsx:151 #: src/functions/forms.tsx:259 msgid "Form Error" msgstr "" @@ -416,18 +431,18 @@ msgstr "" #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:611 +#: src/components/forms/ApiForm.tsx:618 #: src/tables/plugin/PluginListTable.tsx:388 msgid "Update" msgstr "" -#: src/components/forms/ApiForm.tsx:631 +#: src/components/forms/ApiForm.tsx:638 #: 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:498 +#: src/tables/InvenTreeTable.tsx:517 #: src/tables/RowActions.tsx:71 #: src/tables/plugin/PluginListTable.tsx:420 msgid "Delete" @@ -600,7 +615,7 @@ msgstr "" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:70 #: src/pages/part/CategoryDetail.tsx:80 -#: src/pages/part/PartDetail.tsx:122 +#: src/pages/part/PartDetail.tsx:123 #: src/pages/stock/LocationDetail.tsx:87 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 @@ -685,6 +700,124 @@ msgstr "" msgid "Thumbnail" msgstr "" +#: src/components/importer/ImportDataSelector.tsx:154 +msgid "Importing Rows" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:155 +msgid "Please wait while the data is imported" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:172 +msgid "An error occurred while importing data" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:191 +msgid "Edit Data" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:218 +msgid "Delete Row" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:248 +msgid "Row" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:266 +msgid "Row contains errors" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:307 +msgid "Accept" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:340 +msgid "Valid" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:341 +msgid "Filter by row validation status" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:346 +#: src/tables/build/BuildOutputTable.tsx:205 +msgid "Complete" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:347 +msgid "Filter by row completion status" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:364 +msgid "Import selected rows" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:46 +#: src/components/importer/ImporterColumnSelector.tsx:85 +msgid "An error occurred" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:57 +msgid "Select column, or leave blank to ignore this field." +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:91 +msgid "Select a column from the data file" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:104 +msgid "Map data columns to database fields" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:109 +msgid "Accept Column Mapping" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:117 +msgid "Database Field" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:118 +msgid "Field Description" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:119 +msgid "Imported Column Name" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:44 +msgid "Import Data" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:45 +msgid "Map Columns" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:46 +msgid "Process Data" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:47 +msgid "Complete Import" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:91 +msgid "Importing Data" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:97 +msgid "Cancel import session" +msgstr "" + +#: src/components/importer/ImporterImportProgress.tsx:36 +msgid "Importing Records" +msgstr "" + +#: src/components/importer/ImporterImportProgress.tsx:39 +msgid "Imported rows" +msgstr "" + #: src/components/items/ActionDropdown.tsx:119 #: src/pages/build/BuildDetail.tsx:358 msgid "Barcode Actions" @@ -738,7 +871,7 @@ msgid "Read More" msgstr "" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:443 +#: src/tables/InvenTreeTable.tsx:462 msgid "Unknown error" msgstr "" @@ -1039,13 +1172,13 @@ msgstr "" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:313 +#: src/pages/Index/Settings/SystemSettings.tsx:314 msgid "System Settings" msgstr "" #: src/components/nav/MainMenu.tsx:67 #: src/defaults/menuItems.tsx:63 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:198 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:209 msgid "Admin Center" msgstr "" @@ -1088,7 +1221,7 @@ msgid "Pages" msgstr "" #: src/components/nav/NavigationDrawer.tsx:65 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:157 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:168 #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:41 msgid "Plugins" msgstr "" @@ -1102,7 +1235,7 @@ msgstr "" msgid "About" msgstr "" -#: src/components/nav/NotificationDrawer.tsx:78 +#: src/components/nav/NotificationDrawer.tsx:81 #: src/pages/Index/Settings/SystemSettings.tsx:108 #: src/pages/Index/Settings/UserSettings.tsx:96 #: src/pages/Notifications.tsx:65 @@ -1110,17 +1243,17 @@ msgstr "" msgid "Notifications" msgstr "" -#: src/components/nav/NotificationDrawer.tsx:95 +#: src/components/nav/NotificationDrawer.tsx:98 msgid "You have no unread notifications." msgstr "" -#: src/components/nav/NotificationDrawer.tsx:111 -#: src/components/nav/NotificationDrawer.tsx:117 +#: src/components/nav/NotificationDrawer.tsx:114 +#: src/components/nav/NotificationDrawer.tsx:120 #: src/tables/notifications/NotificationsTable.tsx:36 msgid "Notification" msgstr "" -#: src/components/nav/NotificationDrawer.tsx:140 +#: src/components/nav/NotificationDrawer.tsx:143 #: src/pages/Notifications.tsx:73 msgid "Mark as read" msgstr "" @@ -1157,7 +1290,7 @@ msgstr "" msgid "No results available for search query" msgstr "" -#: src/components/render/Instance.tsx:166 +#: src/components/render/Instance.tsx:201 msgid "Unknown model: {model}" msgstr "" @@ -1172,7 +1305,8 @@ msgstr "" #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 #: src/pages/build/BuildDetail.tsx:85 -#: src/pages/part/PartDetail.tsx:831 +#: src/pages/part/PartDetail.tsx:872 +#: src/tables/part/PartTable.tsx:28 #: src/tables/part/RelatedPartTable.tsx:45 #: src/tables/stock/StockTrackingTable.tsx:74 msgid "Part" @@ -1185,7 +1319,7 @@ msgstr "" #: src/pages/part/CategoryDetail.tsx:112 #: src/pages/part/CategoryDetail.tsx:237 #: src/pages/part/CategoryDetail.tsx:267 -#: src/pages/part/PartDetail.tsx:639 +#: src/pages/part/PartDetail.tsx:652 msgid "Parts" msgstr "" @@ -1235,7 +1369,7 @@ msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:172 #: src/pages/part/CategoryDetail.tsx:251 #: src/pages/part/CategoryDetail.tsx:288 -#: src/pages/part/PartDetail.tsx:821 +#: src/pages/part/PartDetail.tsx:862 msgid "Part Categories" msgstr "" @@ -1317,7 +1451,7 @@ msgid "Project Code" msgstr "" #: src/components/render/ModelType.tsx:127 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:109 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:120 msgid "Project Codes" msgstr "" @@ -1329,10 +1463,10 @@ msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:134 -#: src/pages/Index/Settings/SystemSettings.tsx:257 +#: src/pages/Index/Settings/SystemSettings.tsx:258 #: src/pages/company/CompanyDetail.tsx:194 #: src/pages/company/SupplierPartDetail.tsx:226 -#: src/pages/part/PartDetail.tsx:573 +#: src/pages/part/PartDetail.tsx:586 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "" @@ -1354,9 +1488,9 @@ msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:272 +#: src/pages/Index/Settings/SystemSettings.tsx:273 #: src/pages/company/CompanyDetail.tsx:214 -#: src/pages/part/PartDetail.tsx:580 +#: src/pages/part/PartDetail.tsx:593 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" @@ -1376,7 +1510,7 @@ msgid "Return Order" msgstr "" #: src/components/render/ModelType.tsx:164 -#: src/pages/Index/Settings/SystemSettings.tsx:288 +#: src/pages/Index/Settings/SystemSettings.tsx:289 #: src/pages/company/CompanyDetail.tsx:221 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1413,40 +1547,49 @@ msgid "Owners" msgstr "" #: src/components/render/ModelType.tsx:193 +#: src/tables/settings/ImportSessionTable.tsx:122 #: src/tables/stock/StockItemTestResultTable.tsx:193 #: src/tables/stock/StockTrackingTable.tsx:195 msgid "User" msgstr "" #: src/components/render/ModelType.tsx:194 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:85 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:90 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" msgstr "" #: src/components/render/ModelType.tsx:200 -msgid "Label Template" +msgid "Import Session" msgstr "" #: src/components/render/ModelType.tsx:201 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:139 -msgid "Label Templates" +msgid "Import Sessions" msgstr "" #: src/components/render/ModelType.tsx:207 -msgid "Report Template" +msgid "Label Template" msgstr "" #: src/components/render/ModelType.tsx:208 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:145 -msgid "Report Templates" +#: src/pages/Index/Settings/AdminCenter/Index.tsx:150 +msgid "Label Templates" msgstr "" #: src/components/render/ModelType.tsx:214 -msgid "Plugin Configuration" +msgid "Report Template" msgstr "" #: src/components/render/ModelType.tsx:215 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:156 +msgid "Report Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:221 +msgid "Plugin Configuration" +msgstr "" + +#: src/components/render/ModelType.tsx:222 msgid "Plugin Configurations" msgstr "" @@ -1458,7 +1601,7 @@ msgstr "" #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 #: src/pages/Index/Settings/SystemSettings.tsx:210 -#: src/pages/part/PartDetail.tsx:492 +#: src/pages/part/PartDetail.tsx:503 #: src/pages/stock/LocationDetail.tsx:347 #: src/pages/stock/StockDetail.tsx:356 #: src/tables/stock/StockItemTable.tsx:57 @@ -1641,10 +1784,6 @@ msgstr "" #~ msgid "Comment" #~ msgstr "Comment" -#: src/components/tables/general/AttachmentTable.tsx:56 -#~ msgid "Uploaded" -#~ msgstr "Uploaded" - #: src/components/tables/part/PartCategoryTable.tsx:122 #~ msgid "Part category updated" #~ msgstr "Part category updated" @@ -2157,7 +2296,7 @@ msgid "Recently Updated" msgstr "" #: src/defaults/dashboardItems.tsx:50 -#: src/tables/part/PartTable.tsx:216 +#: src/tables/part/PartTable.tsx:223 msgid "Low Stock" msgstr "" @@ -2466,7 +2605,7 @@ msgstr "" #~ msgid "Company updated" #~ msgstr "Company updated" -#: src/forms/PartForms.tsx:100 +#: src/forms/PartForms.tsx:103 msgid "Parent part category" msgstr "" @@ -2534,7 +2673,7 @@ msgstr "" #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 #: src/pages/stock/StockDetail.tsx:173 -#: src/tables/ColumnRenderers.tsx:34 +#: src/tables/ColumnRenderers.tsx:49 #: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" msgstr "" @@ -2585,8 +2724,8 @@ msgstr "" #: src/forms/StockForms.tsx:176 #: src/pages/stock/StockDetail.tsx:379 -#: src/tables/stock/StockItemTable.tsx:382 -#: src/tables/stock/StockItemTable.tsx:499 +#: src/tables/stock/StockItemTable.tsx:404 +#: src/tables/stock/StockItemTable.tsx:521 msgid "Add Stock Item" msgstr "" @@ -2606,9 +2745,9 @@ msgstr "" #: src/forms/StockForms.tsx:606 #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 -#: src/pages/part/PartDetail.tsx:202 -#: src/pages/part/PartDetail.tsx:655 -#: src/tables/stock/StockItemTable.tsx:290 +#: src/pages/part/PartDetail.tsx:203 +#: src/pages/part/PartDetail.tsx:668 +#: src/tables/stock/StockItemTable.tsx:312 msgid "In Stock" msgstr "" @@ -2649,12 +2788,12 @@ msgid "Remove Stock" msgstr "" #: src/forms/StockForms.tsx:803 -#: src/pages/part/PartDetail.tsx:782 +#: src/pages/part/PartDetail.tsx:823 msgid "Transfer Stock" msgstr "" #: src/forms/StockForms.tsx:812 -#: src/pages/part/PartDetail.tsx:771 +#: src/pages/part/PartDetail.tsx:812 msgid "Count Stock" msgstr "" @@ -3279,53 +3418,57 @@ msgstr "" #~ msgid "Advanced Amininistrative Options for InvenTree" #~ msgstr "Advanced Amininistrative Options for InvenTree" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:91 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:96 +msgid "Data Import" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:102 msgid "Background Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:97 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:108 msgid "Error Reports" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:103 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:114 msgid "Currencies" 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:132 msgid "Custom Units" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:138 #: src/pages/part/CategoryDetail.tsx:257 msgid "Part Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 -#~ msgid "Templates" -#~ msgstr "Templates" - -#: src/pages/Index/Settings/AdminCenter/Index.tsx:133 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:144 msgid "Category Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:151 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:162 msgid "Location types" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:163 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:174 #: src/tables/machine/MachineTypeTable.tsx:287 msgid "Machines" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:173 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:184 msgid "Quick Actions" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:178 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:189 msgid "Add a new user" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:199 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:210 msgid "Advanced Options" msgstr "" @@ -3477,7 +3620,7 @@ msgid "Reporting" msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:235 -#: src/pages/part/PartDetail.tsx:593 +#: src/pages/part/PartDetail.tsx:606 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" @@ -3485,12 +3628,12 @@ msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:241 #: src/pages/build/BuildDetail.tsx:423 #: src/pages/build/BuildIndex.tsx:14 -#: src/pages/part/PartDetail.tsx:527 +#: src/pages/part/PartDetail.tsx:540 #: src/pages/sales/SalesOrderDetail.tsx:270 msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:316 +#: src/pages/Index/Settings/SystemSettings.tsx:317 msgid "Switch to User Setting" msgstr "" @@ -3555,7 +3698,8 @@ msgstr "" #: 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/settings/ImportSessionTable.tsx:116 +#: src/tables/stock/StockItemTable.tsx:281 #: src/tables/stock/StockTrackingTable.tsx:52 msgid "Status" msgstr "" @@ -3564,7 +3708,7 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:104 #: src/pages/sales/ReturnOrderDetail.tsx:73 #: src/pages/sales/SalesOrderDetail.tsx:77 -#: src/tables/ColumnRenderers.tsx:106 +#: src/tables/ColumnRenderers.tsx:121 #: src/tables/build/BuildLineTable.tsx:140 msgid "Reference" msgstr "" @@ -3574,12 +3718,12 @@ msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:78 #: src/pages/company/SupplierPartDetail.tsx:85 #: src/pages/part/CategoryDetail.tsx:94 -#: src/pages/part/PartDetail.tsx:129 +#: src/pages/part/PartDetail.tsx:130 #: src/pages/purchasing/PurchaseOrderDetail.tsx:125 #: src/pages/sales/ReturnOrderDetail.tsx:93 #: src/pages/sales/SalesOrderDetail.tsx:97 #: src/pages/stock/LocationDetail.tsx:101 -#: src/tables/ColumnRenderers.tsx:66 +#: src/tables/ColumnRenderers.tsx:81 #: src/tables/machine/MachineTypeTable.tsx:69 #: src/tables/machine/MachineTypeTable.tsx:112 #: src/tables/machine/MachineTypeTable.tsx:219 @@ -3610,7 +3754,7 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:152 -#: src/pages/part/PartDetail.tsx:317 +#: src/pages/part/PartDetail.tsx:323 #: src/pages/purchasing/PurchaseOrderDetail.tsx:217 #: src/pages/sales/ReturnOrderDetail.tsx:186 #: src/pages/sales/SalesOrderDetail.tsx:190 @@ -3630,7 +3774,7 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:210 #: src/pages/sales/ReturnOrderDetail.tsx:179 #: src/pages/sales/SalesOrderDetail.tsx:183 -#: src/tables/ColumnRenderers.tsx:191 +#: src/tables/ColumnRenderers.tsx:206 msgid "Target Date" msgstr "" @@ -3711,7 +3855,7 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:297 #: src/pages/company/CompanyDetail.tsx:257 #: src/pages/company/ManufacturerPartDetail.tsx:174 -#: src/pages/part/PartDetail.tsx:616 +#: src/pages/part/PartDetail.tsx:629 #: src/pages/purchasing/PurchaseOrderDetail.tsx:279 #: src/pages/sales/ReturnOrderDetail.tsx:230 #: src/pages/sales/SalesOrderDetail.tsx:280 @@ -3721,7 +3865,7 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:305 #: src/pages/company/CompanyDetail.tsx:268 -#: src/pages/part/PartDetail.tsx:624 +#: src/pages/part/PartDetail.tsx:637 #: src/pages/purchasing/PurchaseOrderDetail.tsx:290 #: src/pages/sales/ReturnOrderDetail.tsx:241 #: src/pages/sales/SalesOrderDetail.tsx:291 @@ -3877,12 +4021,12 @@ msgid "Manufacturer Part Details" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:148 -#: src/pages/part/PartDetail.tsx:486 +#: src/pages/part/PartDetail.tsx:492 msgid "Parameters" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:160 -#: src/pages/part/PartDetail.tsx:560 +#: src/pages/part/PartDetail.tsx:573 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" msgstr "" @@ -3907,7 +4051,7 @@ msgid "ManufacturerPart" msgstr "" #: src/pages/company/SupplierPartDetail.tsx:99 -#: src/tables/ColumnRenderers.tsx:117 +#: src/tables/ColumnRenderers.tsx:132 msgid "Note" msgstr "" @@ -4043,275 +4187,275 @@ msgstr "" msgid "Category Details" msgstr "" -#: src/pages/part/PartDetail.tsx:135 +#: src/pages/part/PartDetail.tsx:136 msgid "Variant of" msgstr "" -#: src/pages/part/PartDetail.tsx:142 +#: src/pages/part/PartDetail.tsx:143 #: src/tables/notifications/NotificationsTable.tsx:31 #: src/tables/part/PartCategoryTemplateTable.tsx:67 msgid "Category" msgstr "" -#: src/pages/part/PartDetail.tsx:148 +#: src/pages/part/PartDetail.tsx:149 msgid "Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:155 +#: src/pages/part/PartDetail.tsx:156 msgid "Category Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:162 +#: src/pages/part/PartDetail.tsx:163 msgid "IPN" msgstr "" -#: src/pages/part/PartDetail.tsx:169 +#: src/pages/part/PartDetail.tsx:170 msgid "Revision" msgstr "" -#: src/pages/part/PartDetail.tsx:176 +#: src/pages/part/PartDetail.tsx:177 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" msgstr "" -#: src/pages/part/PartDetail.tsx:183 +#: src/pages/part/PartDetail.tsx:184 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:190 +#: src/pages/part/PartDetail.tsx:191 #: src/pages/purchasing/PurchaseOrderDetail.tsx:183 #: src/pages/sales/ReturnOrderDetail.tsx:152 #: src/pages/sales/SalesOrderDetail.tsx:156 msgid "Link" msgstr "" -#: src/pages/part/PartDetail.tsx:208 -#: src/tables/bom/BomTable.tsx:276 +#: src/pages/part/PartDetail.tsx:209 +#: src/tables/bom/BomTable.tsx:279 #: src/tables/build/BuildLineTable.tsx:121 -#: src/tables/part/PartTable.tsx:256 +#: src/tables/part/PartTable.tsx:263 msgid "Available Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:215 +#: src/pages/part/PartDetail.tsx:216 msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:221 -#: src/tables/bom/BomTable.tsx:217 +#: src/pages/part/PartDetail.tsx:222 +#: src/tables/bom/BomTable.tsx:220 #: src/tables/build/BuildLineTable.tsx:95 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:230 +#: src/pages/part/PartDetail.tsx:231 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:238 +#: src/pages/part/PartDetail.tsx:239 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:245 -#: src/tables/bom/BomTable.tsx:241 +#: src/pages/part/PartDetail.tsx:246 +#: src/tables/bom/BomTable.tsx:244 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:252 -#: src/tables/bom/BomTable.tsx:225 -#: src/tables/part/PartTable.tsx:82 +#: src/pages/part/PartDetail.tsx:253 +#: src/tables/bom/BomTable.tsx:228 +#: src/tables/part/PartTable.tsx:83 msgid "Building" msgstr "" -#: src/pages/part/PartDetail.tsx:261 +#: src/pages/part/PartDetail.tsx:262 #: src/tables/bom/UsedInTable.tsx:73 #: src/tables/build/BuildOrderTable.tsx:108 #: src/tables/company/CompanyTable.tsx:61 #: src/tables/company/CompanyTable.tsx:95 #: src/tables/machine/MachineListTable.tsx:323 #: src/tables/machine/MachineListTable.tsx:585 -#: src/tables/part/PartTable.tsx:168 +#: src/tables/part/PartTable.tsx:169 #: src/tables/part/PartVariantTable.tsx:15 #: 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 +#: src/tables/stock/StockItemTable.tsx:276 msgid "Active" msgstr "" -#: src/pages/part/PartDetail.tsx:266 +#: src/pages/part/PartDetail.tsx:272 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:271 -#: src/tables/bom/BomTable.tsx:271 +#: src/pages/part/PartDetail.tsx:277 +#: src/tables/bom/BomTable.tsx:274 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:276 +#: src/pages/part/PartDetail.tsx:282 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:281 -#: src/tables/bom/BomTable.tsx:266 +#: src/pages/part/PartDetail.tsx:287 +#: src/tables/bom/BomTable.tsx:269 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:286 +#: src/pages/part/PartDetail.tsx:292 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:291 +#: src/pages/part/PartDetail.tsx:297 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:296 +#: src/pages/part/PartDetail.tsx:302 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:304 -#: src/tables/ColumnRenderers.tsx:199 +#: src/pages/part/PartDetail.tsx:310 +#: src/tables/ColumnRenderers.tsx:214 msgid "Creation Date" msgstr "" -#: src/pages/part/PartDetail.tsx:309 -msgid "Created By" -msgstr "" - #: src/pages/part/PartDetail.tsx:310 #~ msgid "Edit part" #~ msgstr "Edit part" +#: src/pages/part/PartDetail.tsx:315 +msgid "Created By" +msgstr "" + #: src/pages/part/PartDetail.tsx:322 #~ msgid "Duplicate part" #~ msgstr "Duplicate part" -#: src/pages/part/PartDetail.tsx:324 -msgid "Default Supplier" -msgstr "" - #: src/pages/part/PartDetail.tsx:327 #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:335 +#: src/pages/part/PartDetail.tsx:330 +msgid "Default Supplier" +msgstr "" + +#: src/pages/part/PartDetail.tsx:341 #: src/pages/part/pricing/BomPricingPanel.tsx:78 #: src/pages/part/pricing/VariantPricingPanel.tsx:95 -#: src/tables/part/PartTable.tsx:151 +#: src/tables/part/PartTable.tsx:152 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:374 +#: src/pages/part/PartDetail.tsx:380 #: src/pages/stock/StockDetail.tsx:133 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:409 +#: src/pages/part/PartDetail.tsx:415 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:480 +#: src/pages/part/PartDetail.tsx:486 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:506 +#: src/pages/part/PartDetail.tsx:517 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:513 +#: src/pages/part/PartDetail.tsx:524 #: src/pages/stock/StockDetail.tsx:286 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:520 +#: src/pages/part/PartDetail.tsx:531 msgid "Bill of Materials" msgstr "" -#: src/pages/part/PartDetail.tsx:534 +#: src/pages/part/PartDetail.tsx:547 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:541 +#: src/pages/part/PartDetail.tsx:554 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:547 +#: src/pages/part/PartDetail.tsx:560 #: src/pages/purchasing/PurchasingIndex.tsx:37 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:587 +#: src/pages/part/PartDetail.tsx:600 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:599 +#: src/pages/part/PartDetail.tsx:612 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:610 +#: src/pages/part/PartDetail.tsx:623 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:661 +#: src/pages/part/PartDetail.tsx:674 #: src/pages/stock/StockDetail.tsx:154 #: src/pages/stock/StockDetail.tsx:533 #: src/tables/build/BuildLineTable.tsx:36 -#: src/tables/part/PartTable.tsx:107 +#: src/tables/part/PartTable.tsx:108 #: src/tables/stock/StockItemTable.tsx:166 -#: src/tables/stock/StockItemTable.tsx:275 +#: src/tables/stock/StockItemTable.tsx:297 msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:667 +#: src/pages/part/PartDetail.tsx:680 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:673 -#: src/tables/bom/BomTable.tsx:281 -#: src/tables/part/PartTable.tsx:76 +#: src/pages/part/PartDetail.tsx:686 +#: src/tables/bom/BomTable.tsx:284 +#: src/tables/part/PartTable.tsx:77 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:679 +#: src/pages/part/PartDetail.tsx:692 #: src/pages/stock/StockDetail.tsx:516 -#: src/tables/stock/StockItemTable.tsx:295 +#: src/tables/stock/StockItemTable.tsx:317 msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:698 +#: src/pages/part/PartDetail.tsx:717 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:705 -#: src/tables/part/PartTable.tsx:289 -#: src/tables/part/PartTable.tsx:302 +#: src/pages/part/PartDetail.tsx:744 +#: src/tables/part/PartTable.tsx:296 +#: src/tables/part/PartTable.tsx:309 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:717 +#: src/pages/part/PartDetail.tsx:758 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:726 +#: src/pages/part/PartDetail.tsx:767 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:764 +#: src/pages/part/PartDetail.tsx:805 #: src/pages/stock/LocationDetail.tsx:304 -#: src/tables/stock/StockItemTable.tsx:409 +#: src/tables/stock/StockItemTable.tsx:431 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:772 +#: src/pages/part/PartDetail.tsx:813 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:824 msgid "Transfer part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:792 +#: src/pages/part/PartDetail.tsx:833 msgid "Part Actions" msgstr "" @@ -4359,8 +4503,8 @@ msgstr "" #: src/pages/part/pricing/BomPricingPanel.tsx:57 #: src/pages/part/pricing/BomPricingPanel.tsx:137 -#: src/tables/ColumnRenderers.tsx:241 -#: src/tables/bom/BomTable.tsx:165 +#: src/tables/ColumnRenderers.tsx:256 +#: src/tables/bom/BomTable.tsx:168 #: src/tables/purchasing/PurchaseOrderTable.tsx:112 #: src/tables/sales/ReturnOrderTable.tsx:104 #: src/tables/sales/SalesOrderTable.tsx:134 @@ -4369,7 +4513,7 @@ msgstr "" #: src/pages/part/pricing/BomPricingPanel.tsx:77 #: src/pages/part/pricing/BomPricingPanel.tsx:101 -#: src/tables/part/PartTable.tsx:186 +#: src/tables/part/PartTable.tsx:193 msgid "Component" msgstr "" @@ -4398,7 +4542,7 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:67 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:128 #: src/pages/part/pricing/SupplierPricingPanel.tsx:62 -#: src/tables/bom/BomTable.tsx:156 +#: src/tables/bom/BomTable.tsx:159 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 msgid "Unit Price" @@ -4498,7 +4642,7 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:40 #: src/pages/part/pricing/SaleHistoryPanel.tsx:36 -#: src/tables/ColumnRenderers.tsx:180 +#: src/tables/ColumnRenderers.tsx:195 #: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" @@ -4771,12 +4915,12 @@ msgid "Count stock" msgstr "" #: src/pages/stock/StockDetail.tsx:459 -#: src/tables/stock/StockItemTable.tsx:414 +#: src/tables/stock/StockItemTable.tsx:436 msgid "Add stock" msgstr "" #: src/pages/stock/StockDetail.tsx:467 -#: src/tables/stock/StockItemTable.tsx:423 +#: src/tables/stock/StockItemTable.tsx:445 msgid "Remove stock" msgstr "" @@ -4785,7 +4929,7 @@ msgid "Transfer" msgstr "" #: src/pages/stock/StockDetail.tsx:475 -#: src/tables/stock/StockItemTable.tsx:443 +#: src/tables/stock/StockItemTable.tsx:465 msgid "Transfer stock" msgstr "" @@ -4793,15 +4937,15 @@ msgstr "" msgid "Stock Item Actions" msgstr "" -#: src/tables/ColumnRenderers.tsx:42 +#: src/tables/ColumnRenderers.tsx:57 msgid "No location set" msgstr "" -#: src/tables/ColumnRenderers.tsx:207 +#: src/tables/ColumnRenderers.tsx:222 msgid "Shipment Date" msgstr "" -#: src/tables/ColumnRenderers.tsx:227 +#: src/tables/ColumnRenderers.tsx:242 #: src/tables/settings/CurrencyTable.tsx:23 msgid "Currency" msgstr "" @@ -4828,14 +4972,14 @@ msgid "TSV" msgstr "" #: src/tables/DownloadAction.tsx:24 -msgid "Excel (.xls)" -msgstr "" - -#: src/tables/DownloadAction.tsx:25 msgid "Excel (.xlsx)" msgstr "" -#: src/tables/DownloadAction.tsx:39 +#: src/tables/DownloadAction.tsx:24 +#~ msgid "Excel (.xls)" +#~ msgstr "" + +#: src/tables/DownloadAction.tsx:38 msgid "Download Data" msgstr "" @@ -4900,54 +5044,54 @@ msgstr "" msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:119 -#: src/tables/InvenTreeTable.tsx:390 -#: src/tables/InvenTreeTable.tsx:411 +#: src/tables/InvenTreeTable.tsx:126 +#: src/tables/InvenTreeTable.tsx:409 +#: src/tables/InvenTreeTable.tsx:430 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:422 +#: src/tables/InvenTreeTable.tsx:441 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:430 +#: src/tables/InvenTreeTable.tsx:449 msgid "Bad request" msgstr "" -#: src/tables/InvenTreeTable.tsx:433 +#: src/tables/InvenTreeTable.tsx:452 msgid "Unauthorized" msgstr "" -#: src/tables/InvenTreeTable.tsx:436 +#: src/tables/InvenTreeTable.tsx:455 msgid "Forbidden" msgstr "" -#: src/tables/InvenTreeTable.tsx:439 +#: src/tables/InvenTreeTable.tsx:458 msgid "Not found" msgstr "" -#: src/tables/InvenTreeTable.tsx:488 -#: src/tables/InvenTreeTable.tsx:606 +#: src/tables/InvenTreeTable.tsx:507 +#: src/tables/InvenTreeTable.tsx:623 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:492 +#: src/tables/InvenTreeTable.tsx:511 msgid "Are you sure you want to delete the selected records?" msgstr "" -#: src/tables/InvenTreeTable.tsx:494 +#: src/tables/InvenTreeTable.tsx:513 msgid "This action cannot be undone!" msgstr "" -#: src/tables/InvenTreeTable.tsx:517 +#: src/tables/InvenTreeTable.tsx:536 msgid "Deleted records" msgstr "" -#: src/tables/InvenTreeTable.tsx:518 +#: src/tables/InvenTreeTable.tsx:537 msgid "Records were deleted successfully" msgstr "" -#: src/tables/InvenTreeTable.tsx:527 +#: src/tables/InvenTreeTable.tsx:546 msgid "Failed to delete records" msgstr "" @@ -4956,140 +5100,144 @@ msgstr "" #~ msgid "Print actions" #~ msgstr "Print actions" -#: src/tables/InvenTreeTable.tsx:596 -#: src/tables/InvenTreeTable.tsx:597 +#: src/tables/InvenTreeTable.tsx:613 +#: src/tables/InvenTreeTable.tsx:614 msgid "Barcode actions" msgstr "" -#: src/tables/InvenTreeTable.tsx:625 +#: src/tables/InvenTreeTable.tsx:642 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTable.tsx:646 +#: src/tables/InvenTreeTable.tsx:663 msgid "Table filters" msgstr "" -#: src/tables/bom/BomTable.tsx:80 +#: src/tables/UploadAction.tsx:9 +msgid "Upload Data" +msgstr "" + +#: src/tables/bom/BomTable.tsx:83 msgid "This BOM item is defined for a different parent" msgstr "" -#: src/tables/bom/BomTable.tsx:95 +#: src/tables/bom/BomTable.tsx:98 msgid "Part Information" msgstr "" -#: src/tables/bom/BomTable.tsx:184 -#: src/tables/part/PartTable.tsx:124 +#: src/tables/bom/BomTable.tsx:187 +#: src/tables/part/PartTable.tsx:125 msgid "No stock" msgstr "" -#: src/tables/bom/BomTable.tsx:192 +#: src/tables/bom/BomTable.tsx:195 #: src/tables/build/BuildLineTable.tsx:104 -#: src/tables/part/PartTable.tsx:115 +#: src/tables/part/PartTable.tsx:116 msgid "External stock" msgstr "" -#: src/tables/bom/BomTable.tsx:200 +#: src/tables/bom/BomTable.tsx:203 #: src/tables/build/BuildLineTable.tsx:67 msgid "Includes substitute stock" msgstr "" -#: src/tables/bom/BomTable.tsx:209 +#: src/tables/bom/BomTable.tsx:212 #: src/tables/build/BuildLineTable.tsx:77 msgid "Includes variant stock" msgstr "" -#: src/tables/bom/BomTable.tsx:234 -#: src/tables/part/PartTable.tsx:143 +#: src/tables/bom/BomTable.tsx:237 +#: src/tables/part/PartTable.tsx:144 #: src/tables/stock/StockItemTable.tsx:205 msgid "Stock Information" msgstr "" -#: src/tables/bom/BomTable.tsx:246 +#: src/tables/bom/BomTable.tsx:249 #: src/tables/build/BuildLineTable.tsx:195 msgid "Consumable item" msgstr "" -#: src/tables/bom/BomTable.tsx:267 +#: src/tables/bom/BomTable.tsx:270 msgid "Show trackable items" msgstr "" -#: src/tables/bom/BomTable.tsx:272 +#: src/tables/bom/BomTable.tsx:275 msgid "Show asssmbled items" msgstr "" -#: src/tables/bom/BomTable.tsx:277 +#: src/tables/bom/BomTable.tsx:280 msgid "Show items with available stock" msgstr "" -#: src/tables/bom/BomTable.tsx:282 +#: src/tables/bom/BomTable.tsx:285 msgid "Show items on order" msgstr "" -#: src/tables/bom/BomTable.tsx:286 +#: src/tables/bom/BomTable.tsx:289 msgid "Validated" msgstr "" -#: src/tables/bom/BomTable.tsx:287 +#: src/tables/bom/BomTable.tsx:290 msgid "Show validated items" msgstr "" -#: src/tables/bom/BomTable.tsx:291 +#: src/tables/bom/BomTable.tsx:294 #: src/tables/bom/UsedInTable.tsx:63 msgid "Inherited" msgstr "" -#: src/tables/bom/BomTable.tsx:292 +#: src/tables/bom/BomTable.tsx:295 #: src/tables/bom/UsedInTable.tsx:64 msgid "Show inherited items" msgstr "" -#: src/tables/bom/BomTable.tsx:296 +#: src/tables/bom/BomTable.tsx:299 msgid "Allow Variants" msgstr "" -#: src/tables/bom/BomTable.tsx:297 +#: src/tables/bom/BomTable.tsx:300 msgid "Show items which allow variant substitution" msgstr "" #: src/tables/bom/BomTable.tsx:301 +#~ msgid "Create BOM Item" +#~ msgstr "Create BOM Item" + +#: src/tables/bom/BomTable.tsx:304 #: src/tables/bom/UsedInTable.tsx:68 #: src/tables/build/BuildLineTable.tsx:46 msgid "Optional" msgstr "" -#: src/tables/bom/BomTable.tsx:301 -#~ msgid "Create BOM Item" -#~ msgstr "Create BOM Item" - -#: src/tables/bom/BomTable.tsx:302 +#: src/tables/bom/BomTable.tsx:305 #: src/tables/bom/UsedInTable.tsx:69 msgid "Show optional items" msgstr "" -#: src/tables/bom/BomTable.tsx:306 +#: src/tables/bom/BomTable.tsx:309 #: src/tables/build/BuildLineTable.tsx:41 msgid "Consumable" msgstr "" -#: src/tables/bom/BomTable.tsx:307 +#: src/tables/bom/BomTable.tsx:310 msgid "Show consumable items" msgstr "" -#: src/tables/bom/BomTable.tsx:311 -#: src/tables/part/PartTable.tsx:250 +#: src/tables/bom/BomTable.tsx:314 +#: src/tables/part/PartTable.tsx:257 msgid "Has Pricing" msgstr "" -#: src/tables/bom/BomTable.tsx:312 +#: src/tables/bom/BomTable.tsx:315 msgid "Show items with pricing" msgstr "" -#: src/tables/bom/BomTable.tsx:321 -#: src/tables/bom/BomTable.tsx:420 +#: src/tables/bom/BomTable.tsx:324 +#: src/tables/bom/BomTable.tsx:426 msgid "Add BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:326 +#: src/tables/bom/BomTable.tsx:329 msgid "BOM item created" msgstr "" @@ -5097,23 +5245,23 @@ msgstr "" #~ msgid "Edit Bom Item" #~ msgstr "Edit Bom Item" -#: src/tables/bom/BomTable.tsx:333 -msgid "Edit BOM Item" -msgstr "" - #: src/tables/bom/BomTable.tsx:333 #~ msgid "Bom item updated" #~ msgstr "Bom item updated" -#: src/tables/bom/BomTable.tsx:335 +#: src/tables/bom/BomTable.tsx:336 +msgid "Edit BOM Item" +msgstr "" + +#: src/tables/bom/BomTable.tsx:338 msgid "BOM item updated" msgstr "" -#: src/tables/bom/BomTable.tsx:342 +#: src/tables/bom/BomTable.tsx:345 msgid "Delete BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:343 +#: src/tables/bom/BomTable.tsx:346 msgid "BOM item deleted" msgstr "" @@ -5133,32 +5281,41 @@ msgstr "" #~ msgid "Validate BOM line" #~ msgstr "Validate BOM line" -#: src/tables/bom/BomTable.tsx:355 +#: src/tables/bom/BomTable.tsx:358 msgid "BOM item validated" msgstr "" -#: src/tables/bom/BomTable.tsx:364 +#: src/tables/bom/BomTable.tsx:367 msgid "Failed to validate BOM item" msgstr "" -#: src/tables/bom/BomTable.tsx:376 +#: src/tables/bom/BomTable.tsx:379 msgid "View BOM" msgstr "" -#: src/tables/bom/BomTable.tsx:385 +#: src/tables/bom/BomTable.tsx:388 msgid "Validate BOM Line" msgstr "" -#: src/tables/bom/BomTable.tsx:399 +#: src/tables/bom/BomTable.tsx:405 msgid "Edit Substitutes" msgstr "" +#: src/tables/bom/BomTable.tsx:440 +#: src/tables/part/PartParameterTable.tsx:191 +msgid "Part is Locked" +msgstr "" + +#: src/tables/bom/BomTable.tsx:445 +msgid "Bill of materials cannot be edited, as the part is locked" +msgstr "" + #: src/tables/bom/UsedInTable.tsx:74 msgid "Show active assemblies" msgstr "" #: src/tables/bom/UsedInTable.tsx:78 -#: src/tables/part/PartTable.tsx:192 +#: src/tables/part/PartTable.tsx:199 #: src/tables/part/PartVariantTable.tsx:30 msgid "Trackable" msgstr "" @@ -5168,7 +5325,7 @@ msgid "Show trackable assemblies" msgstr "" #: src/tables/build/BuildLineTable.tsx:31 -#: src/tables/stock/StockItemTable.tsx:270 +#: src/tables/stock/StockItemTable.tsx:292 msgid "Allocated" msgstr "" @@ -5189,7 +5346,7 @@ msgid "Show optional lines" msgstr "" #: src/tables/build/BuildLineTable.tsx:51 -#: src/tables/stock/StockItemTable.tsx:329 +#: src/tables/stock/StockItemTable.tsx:351 msgid "Tracked" msgstr "" @@ -5302,10 +5459,6 @@ msgstr "" msgid "Deallocate stock from build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:205 -msgid "Complete" -msgstr "" - #: src/tables/build/BuildOutputTable.tsx:206 msgid "Complete build output" msgstr "" @@ -5635,7 +5788,7 @@ msgid "Message" msgstr "" #: src/tables/part/ParametricPartTable.tsx:76 -#: src/tables/part/PartParameterTable.tsx:88 +#: src/tables/part/PartParameterTable.tsx:95 msgid "Internal Units" msgstr "" @@ -5648,13 +5801,13 @@ msgid "Add Part Parameter" msgstr "" #: src/tables/part/ParametricPartTable.tsx:138 -#: src/tables/part/PartParameterTable.tsx:121 -#: src/tables/part/PartParameterTable.tsx:144 +#: src/tables/part/PartParameterTable.tsx:128 +#: src/tables/part/PartParameterTable.tsx:151 msgid "Edit Part Parameter" msgstr "" #: src/tables/part/PartCategoryTable.tsx:60 -#: src/tables/part/PartTable.tsx:180 +#: src/tables/part/PartTable.tsx:187 msgid "Include Subcategories" msgstr "" @@ -5667,7 +5820,7 @@ msgid "Show structural categories" msgstr "" #: src/tables/part/PartCategoryTable.tsx:70 -#: src/tables/part/PartTable.tsx:262 +#: src/tables/part/PartTable.tsx:269 msgid "Subscribed" msgstr "" @@ -5704,21 +5857,25 @@ msgstr "" #~ msgid "[{0}]" #~ msgstr "[{0}]" -#: src/tables/part/PartParameterTable.tsx:105 +#: src/tables/part/PartParameterTable.tsx:112 msgid "New Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:130 -#: src/tables/part/PartParameterTable.tsx:152 +#: src/tables/part/PartParameterTable.tsx:137 +#: src/tables/part/PartParameterTable.tsx:159 msgid "Delete Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:170 +#: src/tables/part/PartParameterTable.tsx:177 msgid "Add parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:191 -#: src/tables/stock/StockItemTable.tsx:300 +#: src/tables/part/PartParameterTable.tsx:196 +msgid "Part parameters cannot be edited, as the part is locked" +msgstr "" + +#: src/tables/part/PartParameterTable.tsx:210 +#: src/tables/stock/StockItemTable.tsx:322 msgid "Include Variants" msgstr "" @@ -5739,7 +5896,7 @@ msgid "Show templates with choices" msgstr "" #: src/tables/part/PartParameterTemplateTable.tsx:41 -#: src/tables/part/PartTable.tsx:198 +#: src/tables/part/PartTable.tsx:205 msgid "Has Units" msgstr "" @@ -5763,116 +5920,120 @@ msgstr "" msgid "Add parameter template" msgstr "" -#: src/tables/part/PartTable.tsx:67 +#: src/tables/part/PartTable.tsx:68 msgid "Minimum stock" msgstr "" -#: src/tables/part/PartTable.tsx:89 +#: src/tables/part/PartTable.tsx:90 msgid "Build Order Allocations" msgstr "" -#: src/tables/part/PartTable.tsx:98 +#: src/tables/part/PartTable.tsx:99 msgid "Sales Order Allocations" msgstr "" -#: src/tables/part/PartTable.tsx:169 +#: src/tables/part/PartTable.tsx:170 msgid "Filter by part active status" msgstr "" -#: src/tables/part/PartTable.tsx:174 -#: src/tables/stock/StockItemTable.tsx:265 +#: src/tables/part/PartTable.tsx:176 +msgid "Filter by part locked status" +msgstr "" + +#: src/tables/part/PartTable.tsx:181 +#: src/tables/stock/StockItemTable.tsx:287 msgid "Assembly" msgstr "" -#: src/tables/part/PartTable.tsx:175 +#: src/tables/part/PartTable.tsx:182 msgid "Filter by assembly attribute" msgstr "" -#: src/tables/part/PartTable.tsx:181 +#: src/tables/part/PartTable.tsx:188 msgid "Include parts in subcategories" msgstr "" -#: src/tables/part/PartTable.tsx:187 +#: src/tables/part/PartTable.tsx:194 msgid "Filter by component attribute" msgstr "" -#: src/tables/part/PartTable.tsx:193 +#: src/tables/part/PartTable.tsx:200 msgid "Filter by trackable attribute" msgstr "" -#: src/tables/part/PartTable.tsx:199 +#: src/tables/part/PartTable.tsx:206 msgid "Filter by parts which have units" msgstr "" -#: src/tables/part/PartTable.tsx:204 +#: src/tables/part/PartTable.tsx:211 msgid "Has IPN" msgstr "" -#: src/tables/part/PartTable.tsx:205 +#: src/tables/part/PartTable.tsx:212 msgid "Filter by parts which have an internal part number" msgstr "" -#: src/tables/part/PartTable.tsx:210 +#: src/tables/part/PartTable.tsx:217 msgid "Has Stock" msgstr "" -#: src/tables/part/PartTable.tsx:211 +#: src/tables/part/PartTable.tsx:218 msgid "Filter by parts which have stock" msgstr "" -#: src/tables/part/PartTable.tsx:217 +#: src/tables/part/PartTable.tsx:224 msgid "Filter by parts which have low stock" msgstr "" -#: src/tables/part/PartTable.tsx:222 +#: src/tables/part/PartTable.tsx:229 msgid "Purchaseable" msgstr "" -#: src/tables/part/PartTable.tsx:223 +#: src/tables/part/PartTable.tsx:230 msgid "Filter by parts which are purchaseable" msgstr "" -#: src/tables/part/PartTable.tsx:228 +#: src/tables/part/PartTable.tsx:235 msgid "Salable" msgstr "" -#: src/tables/part/PartTable.tsx:229 +#: src/tables/part/PartTable.tsx:236 msgid "Filter by parts which are salable" msgstr "" -#: src/tables/part/PartTable.tsx:235 +#: src/tables/part/PartTable.tsx:242 msgid "Filter by parts which are virtual" msgstr "" -#: src/tables/part/PartTable.tsx:239 +#: src/tables/part/PartTable.tsx:246 msgid "Not Virtual" msgstr "" -#: src/tables/part/PartTable.tsx:244 +#: src/tables/part/PartTable.tsx:251 msgid "Is Template" msgstr "" -#: src/tables/part/PartTable.tsx:245 +#: src/tables/part/PartTable.tsx:252 msgid "Filter by parts which are templates" msgstr "" -#: src/tables/part/PartTable.tsx:251 +#: src/tables/part/PartTable.tsx:258 msgid "Filter by parts which have pricing information" msgstr "" -#: src/tables/part/PartTable.tsx:257 +#: src/tables/part/PartTable.tsx:264 msgid "Filter by parts which have available stock" msgstr "" -#: src/tables/part/PartTable.tsx:263 +#: src/tables/part/PartTable.tsx:270 msgid "Filter by parts to which the user is subscribed" msgstr "" -#: src/tables/part/PartTable.tsx:268 +#: src/tables/part/PartTable.tsx:275 msgid "Has Stocktake" msgstr "" -#: src/tables/part/PartTable.tsx:269 +#: src/tables/part/PartTable.tsx:276 msgid "Filter by parts which have stocktake information" msgstr "" @@ -6211,7 +6372,7 @@ msgid "Sample" msgstr "" #: src/tables/plugin/PluginListTable.tsx:578 -#: src/tables/stock/StockItemTable.tsx:305 +#: src/tables/stock/StockItemTable.tsx:327 msgid "Installed" msgstr "" @@ -6486,6 +6647,41 @@ msgstr "" msgid "Edit group" msgstr "" +#: src/tables/settings/ImportSessionTable.tsx:39 +msgid "Delete Import Session" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:45 +#: src/tables/settings/ImportSessionTable.tsx:132 +msgid "Create Import Session" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:70 +msgid "Uploaded" +msgstr "Uploaded" + +#: src/tables/settings/ImportSessionTable.tsx:80 +msgid "Imported Rows" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:110 +#: src/tables/settings/TemplateTable.tsx:276 +msgid "Model Type" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:111 +#: src/tables/settings/TemplateTable.tsx:277 +msgid "Filter by target model type" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:117 +msgid "Filter by import session status" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:123 +msgid "Filter by user" +msgstr "" + #: src/tables/settings/PendingTasksTable.tsx:36 msgid "Arguments" msgstr "" @@ -6502,7 +6698,7 @@ msgstr "" msgid "Delete Project Code" msgstr "" -#: src/tables/settings/ProjectCodeTable.tsx:94 +#: src/tables/settings/ProjectCodeTable.tsx:92 msgid "Add project code" msgstr "" @@ -6571,14 +6767,6 @@ msgstr "" 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 "" @@ -6701,149 +6889,153 @@ msgstr "" msgid "This stock item has been depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:255 +#: src/tables/stock/StockItemTable.tsx:247 +msgid "Stock Value" +msgstr "" + +#: src/tables/stock/StockItemTable.tsx:277 msgid "Show stock for active parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:260 +#: src/tables/stock/StockItemTable.tsx:282 msgid "Filter by stock status" msgstr "" -#: src/tables/stock/StockItemTable.tsx:266 +#: src/tables/stock/StockItemTable.tsx:288 msgid "Show stock for assmebled parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:271 +#: src/tables/stock/StockItemTable.tsx:293 msgid "Show items which have been allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:276 +#: src/tables/stock/StockItemTable.tsx:298 msgid "Show items which are available" msgstr "" -#: src/tables/stock/StockItemTable.tsx:280 +#: src/tables/stock/StockItemTable.tsx:302 #: src/tables/stock/StockLocationTable.tsx:42 msgid "Include Sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:281 +#: src/tables/stock/StockItemTable.tsx:303 msgid "Include stock in sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:285 +#: src/tables/stock/StockItemTable.tsx:307 msgid "Depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:286 +#: src/tables/stock/StockItemTable.tsx:308 msgid "Show depleted stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:291 +#: src/tables/stock/StockItemTable.tsx:313 msgid "Show items which are in stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:296 +#: src/tables/stock/StockItemTable.tsx:318 msgid "Show items which are in production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:301 +#: src/tables/stock/StockItemTable.tsx:323 msgid "Include stock items for variant parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:306 +#: src/tables/stock/StockItemTable.tsx:328 msgid "Show stock items which are installed in other items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:310 +#: src/tables/stock/StockItemTable.tsx:332 msgid "Sent to Customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:311 +#: src/tables/stock/StockItemTable.tsx:333 msgid "Show items which have been sent to a customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:315 +#: src/tables/stock/StockItemTable.tsx:337 msgid "Is Serialized" msgstr "" -#: src/tables/stock/StockItemTable.tsx:316 +#: src/tables/stock/StockItemTable.tsx:338 msgid "Show items which have a serial number" msgstr "" -#: src/tables/stock/StockItemTable.tsx:323 +#: src/tables/stock/StockItemTable.tsx:345 msgid "Has Batch Code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:324 +#: src/tables/stock/StockItemTable.tsx:346 msgid "Show items which have a batch code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:330 +#: src/tables/stock/StockItemTable.tsx:352 msgid "Show tracked items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:334 +#: src/tables/stock/StockItemTable.tsx:356 msgid "Has Purchase Price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:335 +#: src/tables/stock/StockItemTable.tsx:357 msgid "Show items which have a purchase price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:343 +#: src/tables/stock/StockItemTable.tsx:365 msgid "External Location" msgstr "" -#: src/tables/stock/StockItemTable.tsx:344 +#: src/tables/stock/StockItemTable.tsx:366 msgid "Show items in an external location" msgstr "" -#: src/tables/stock/StockItemTable.tsx:416 +#: src/tables/stock/StockItemTable.tsx:438 msgid "Add a new stock item" msgstr "" -#: src/tables/stock/StockItemTable.tsx:425 +#: src/tables/stock/StockItemTable.tsx:447 msgid "Remove some quantity from a stock item" msgstr "" -#: src/tables/stock/StockItemTable.tsx:447 +#: src/tables/stock/StockItemTable.tsx:469 msgid "Move Stock items to new locations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:454 +#: src/tables/stock/StockItemTable.tsx:476 msgid "Change stock status" msgstr "" -#: src/tables/stock/StockItemTable.tsx:456 +#: src/tables/stock/StockItemTable.tsx:478 msgid "Change the status of stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:463 +#: src/tables/stock/StockItemTable.tsx:485 msgid "Merge stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:465 +#: src/tables/stock/StockItemTable.tsx:487 msgid "Merge stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:472 +#: src/tables/stock/StockItemTable.tsx:494 msgid "Order stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:474 -#: src/tables/stock/StockItemTable.tsx:480 +#: src/tables/stock/StockItemTable.tsx:496 +#: src/tables/stock/StockItemTable.tsx:502 msgid "Order new stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:478 +#: src/tables/stock/StockItemTable.tsx:500 msgid "Assign to customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:487 +#: src/tables/stock/StockItemTable.tsx:509 msgid "Delete stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:489 +#: src/tables/stock/StockItemTable.tsx:511 msgid "Delete stock items" msgstr "" @@ -6999,4 +7191,3 @@ msgstr "" #: src/views/MobileAppView.tsx:35 msgid "Ignore and continue to Desktop view" msgstr "" - diff --git a/src/frontend/src/locales/hu/messages.po b/src/frontend/src/locales/hu/messages.po index 7b9e4aa98bf3..720cbbfc4a1e 100644 --- a/src/frontend/src/locales/hu/messages.po +++ b/src/frontend/src/locales/hu/messages.po @@ -49,16 +49,18 @@ msgstr "" #: src/components/buttons/PrintingActions.tsx:107 #: src/components/buttons/PrintingActions.tsx:144 #: src/components/editors/NotesEditor.tsx:65 -#: src/components/editors/NotesEditor.tsx:160 -#: src/components/forms/ApiForm.tsx:506 -#: src/components/forms/fields/ApiFormField.tsx:295 +#: src/components/editors/NotesEditor.tsx:165 +#: src/components/forms/ApiForm.tsx:513 +#: src/components/forms/fields/ApiFormField.tsx:306 +#: src/components/importer/ImportDataSelector.tsx:171 +#: src/components/importer/ImporterColumnSelector.tsx:112 #: src/components/modals/LicenseModal.tsx:75 #: src/components/nav/SearchDrawer.tsx:427 #: src/pages/ErrorPage.tsx:11 #: src/pages/part/PartPricingPanel.tsx:71 -#: src/tables/InvenTreeTable.tsx:451 -#: src/tables/InvenTreeTable.tsx:526 -#: src/tables/bom/BomTable.tsx:363 +#: src/tables/InvenTreeTable.tsx:470 +#: src/tables/InvenTreeTable.tsx:545 +#: src/tables/bom/BomTable.tsx:366 #: src/tables/stock/StockItemTestResultTable.tsx:294 msgid "Error" msgstr "Hiba" @@ -157,7 +159,7 @@ msgstr "Eltávolítás" #: src/functions/forms.tsx:196 #: src/hooks/UseForm.tsx:40 #: src/tables/FilterSelectDrawer.tsx:204 -#: src/tables/InvenTreeTable.tsx:499 +#: src/tables/InvenTreeTable.tsx:518 #: src/tables/build/BuildOutputTable.tsx:225 msgid "Cancel" msgstr "Mégsem" @@ -175,7 +177,7 @@ msgid "Clear" msgstr "Törlés" #: src/components/details/DetailsImage.tsx:227 -#: src/components/forms/ApiForm.tsx:573 +#: src/components/forms/ApiForm.tsx:580 #: src/contexts/ThemeContext.tsx:43 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:56 msgid "Submit" @@ -202,48 +204,61 @@ msgid "Delete image" msgstr "Kép törlése" #: src/components/details/PartIcons.tsx:28 +#: src/tables/ColumnRenderers.tsx:35 +msgid "Part is locked" +msgstr "" + +#: src/components/details/PartIcons.tsx:30 +#: src/pages/part/PartDetail.tsx:267 +#: src/pages/part/PartDetail.tsx:698 +#: src/tables/part/PartTable.tsx:175 +msgid "Locked" +msgstr "" + +#: src/components/details/PartIcons.tsx:35 +#: src/tables/ColumnRenderers.tsx:30 msgid "Part is not active" msgstr "Az alkatrész nem aktív" -#: src/components/details/PartIcons.tsx:34 +#: src/components/details/PartIcons.tsx:37 #: src/components/render/Plugin.tsx:17 #: src/pages/company/CompanyDetail.tsx:315 #: src/pages/company/SupplierPartDetail.tsx:307 -#: src/pages/part/PartDetail.tsx:685 +#: src/pages/part/PartDetail.tsx:704 msgid "Inactive" msgstr "Inaktív" -#: src/components/details/PartIcons.tsx:41 +#: src/components/details/PartIcons.tsx:43 msgid "Part is a template part (variants can be made from this part)" msgstr "Sablon alkatrész (változatok létrehozhatók belőle)" -#: src/components/details/PartIcons.tsx:47 +#: src/components/details/PartIcons.tsx:49 msgid "Part can be assembled from other parts" msgstr "Ez az alkatrész gyártható másik alkatrészekből" -#: src/components/details/PartIcons.tsx:53 +#: src/components/details/PartIcons.tsx:55 msgid "Part can be used in assemblies" msgstr "Használható más alkatrészek gyártásához" -#: src/components/details/PartIcons.tsx:59 +#: src/components/details/PartIcons.tsx:61 msgid "Part stock is tracked by serial number" msgstr "Készlet sorozatszám alapján követendő" -#: src/components/details/PartIcons.tsx:65 +#: src/components/details/PartIcons.tsx:67 msgid "Part can be purchased from external suppliers" msgstr "Beszállítótól rendelhető" -#: src/components/details/PartIcons.tsx:71 +#: src/components/details/PartIcons.tsx:73 msgid "Part can be sold to customers" msgstr "Vevő által megvehető" -#: src/components/details/PartIcons.tsx:76 +#: src/components/details/PartIcons.tsx:78 msgid "Part is virtual (not a physical part)" msgstr "Virtuális (nem kézzelfogható alkatrész)" -#: src/components/details/PartIcons.tsx:82 -#: src/tables/part/PartTable.tsx:234 -#: src/tables/part/PartTable.tsx:238 +#: src/components/details/PartIcons.tsx:84 +#: src/tables/part/PartTable.tsx:241 +#: src/tables/part/PartTable.tsx:245 #: src/tables/part/PartVariantTable.tsx:25 msgid "Virtual" msgstr "Virtuális" @@ -252,29 +267,29 @@ msgstr "Virtuális" msgid "Image upload failed" msgstr "" -#: src/components/editors/NotesEditor.tsx:151 -#: src/components/forms/ApiForm.tsx:430 -#: src/tables/bom/BomTable.tsx:354 +#: src/components/editors/NotesEditor.tsx:156 +#: src/components/forms/ApiForm.tsx:437 +#: src/tables/bom/BomTable.tsx:357 msgid "Success" msgstr "Siker" -#: src/components/editors/NotesEditor.tsx:152 +#: src/components/editors/NotesEditor.tsx:157 msgid "Notes saved successfully" msgstr "" -#: src/components/editors/NotesEditor.tsx:161 +#: src/components/editors/NotesEditor.tsx:166 msgid "Failed to save notes" msgstr "Megjegyzések mentése nem sikerült" -#: src/components/editors/NotesEditor.tsx:193 +#: src/components/editors/NotesEditor.tsx:198 msgid "Preview Notes" msgstr "" -#: src/components/editors/NotesEditor.tsx:193 +#: src/components/editors/NotesEditor.tsx:198 msgid "Edit Notes" msgstr "" -#: src/components/editors/NotesEditor.tsx:207 +#: src/components/editors/NotesEditor.tsx:212 msgid "Save Notes" msgstr "" @@ -407,7 +422,7 @@ msgstr "" msgid "A server error occurred" msgstr "" -#: src/components/forms/ApiForm.tsx:149 +#: src/components/forms/ApiForm.tsx:151 #: src/functions/forms.tsx:259 msgid "Form Error" msgstr "Form hiba" @@ -416,18 +431,18 @@ msgstr "Form hiba" #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:611 +#: src/components/forms/ApiForm.tsx:618 #: src/tables/plugin/PluginListTable.tsx:388 msgid "Update" msgstr "Frissítés" -#: src/components/forms/ApiForm.tsx:631 +#: src/components/forms/ApiForm.tsx:638 #: 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:498 +#: src/tables/InvenTreeTable.tsx:517 #: src/tables/RowActions.tsx:71 #: src/tables/plugin/PluginListTable.tsx:420 msgid "Delete" @@ -600,7 +615,7 @@ msgstr "Kiszolgáló" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:70 #: src/pages/part/CategoryDetail.tsx:80 -#: src/pages/part/PartDetail.tsx:122 +#: src/pages/part/PartDetail.tsx:123 #: src/pages/stock/LocationDetail.tsx:87 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 @@ -685,6 +700,124 @@ msgstr "" msgid "Thumbnail" msgstr "Bélyegkép" +#: src/components/importer/ImportDataSelector.tsx:154 +msgid "Importing Rows" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:155 +msgid "Please wait while the data is imported" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:172 +msgid "An error occurred while importing data" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:191 +msgid "Edit Data" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:218 +msgid "Delete Row" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:248 +msgid "Row" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:266 +msgid "Row contains errors" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:307 +msgid "Accept" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:340 +msgid "Valid" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:341 +msgid "Filter by row validation status" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:346 +#: src/tables/build/BuildOutputTable.tsx:205 +msgid "Complete" +msgstr "Kész" + +#: src/components/importer/ImportDataSelector.tsx:347 +msgid "Filter by row completion status" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:364 +msgid "Import selected rows" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:46 +#: src/components/importer/ImporterColumnSelector.tsx:85 +msgid "An error occurred" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:57 +msgid "Select column, or leave blank to ignore this field." +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:91 +msgid "Select a column from the data file" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:104 +msgid "Map data columns to database fields" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:109 +msgid "Accept Column Mapping" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:117 +msgid "Database Field" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:118 +msgid "Field Description" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:119 +msgid "Imported Column Name" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:44 +msgid "Import Data" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:45 +msgid "Map Columns" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:46 +msgid "Process Data" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:47 +msgid "Complete Import" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:91 +msgid "Importing Data" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:97 +msgid "Cancel import session" +msgstr "" + +#: src/components/importer/ImporterImportProgress.tsx:36 +msgid "Importing Records" +msgstr "" + +#: src/components/importer/ImporterImportProgress.tsx:39 +msgid "Imported rows" +msgstr "" + #: src/components/items/ActionDropdown.tsx:119 #: src/pages/build/BuildDetail.tsx:358 msgid "Barcode Actions" @@ -738,7 +871,7 @@ msgid "Read More" msgstr "Tudj meg többet" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:443 +#: src/tables/InvenTreeTable.tsx:462 msgid "Unknown error" msgstr "Ismeretlen hiba" @@ -1039,13 +1172,13 @@ msgstr "Fiókbeállítások" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:313 +#: src/pages/Index/Settings/SystemSettings.tsx:314 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:198 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:209 msgid "Admin Center" msgstr "Admin központ" @@ -1088,7 +1221,7 @@ msgid "Pages" msgstr "Oldalak" #: src/components/nav/NavigationDrawer.tsx:65 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:157 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:168 #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:41 msgid "Plugins" msgstr "Pluginok" @@ -1102,7 +1235,7 @@ msgstr "Dokumentáció" msgid "About" msgstr "Névjegy" -#: src/components/nav/NotificationDrawer.tsx:78 +#: src/components/nav/NotificationDrawer.tsx:81 #: src/pages/Index/Settings/SystemSettings.tsx:108 #: src/pages/Index/Settings/UserSettings.tsx:96 #: src/pages/Notifications.tsx:65 @@ -1110,17 +1243,17 @@ msgstr "Névjegy" msgid "Notifications" msgstr "Értesítések" -#: src/components/nav/NotificationDrawer.tsx:95 +#: src/components/nav/NotificationDrawer.tsx:98 msgid "You have no unread notifications." msgstr "Nincs olvasatlan értesítésed." -#: src/components/nav/NotificationDrawer.tsx:111 -#: src/components/nav/NotificationDrawer.tsx:117 +#: src/components/nav/NotificationDrawer.tsx:114 +#: src/components/nav/NotificationDrawer.tsx:120 #: src/tables/notifications/NotificationsTable.tsx:36 msgid "Notification" msgstr "Értesítés" -#: src/components/nav/NotificationDrawer.tsx:140 +#: src/components/nav/NotificationDrawer.tsx:143 #: src/pages/Notifications.tsx:73 msgid "Mark as read" msgstr "Megjelölés olvasottként" @@ -1157,7 +1290,7 @@ msgstr "Nincs találat" msgid "No results available for search query" msgstr "Nincs találat a keresésre" -#: src/components/render/Instance.tsx:166 +#: src/components/render/Instance.tsx:201 msgid "Unknown model: {model}" msgstr "Ismeretlen model: {model}" @@ -1172,7 +1305,8 @@ msgstr "Ismeretlen model: {model}" #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 #: src/pages/build/BuildDetail.tsx:85 -#: src/pages/part/PartDetail.tsx:831 +#: src/pages/part/PartDetail.tsx:872 +#: src/tables/part/PartTable.tsx:28 #: src/tables/part/RelatedPartTable.tsx:45 #: src/tables/stock/StockTrackingTable.tsx:74 msgid "Part" @@ -1185,7 +1319,7 @@ msgstr "Alkatrész" #: src/pages/part/CategoryDetail.tsx:112 #: src/pages/part/CategoryDetail.tsx:237 #: src/pages/part/CategoryDetail.tsx:267 -#: src/pages/part/PartDetail.tsx:639 +#: src/pages/part/PartDetail.tsx:652 msgid "Parts" msgstr "Alkatrészek" @@ -1235,7 +1369,7 @@ msgstr "Alkatrész kategória" #: src/pages/Index/Settings/SystemSettings.tsx:172 #: src/pages/part/CategoryDetail.tsx:251 #: src/pages/part/CategoryDetail.tsx:288 -#: src/pages/part/PartDetail.tsx:821 +#: src/pages/part/PartDetail.tsx:862 msgid "Part Categories" msgstr "Alkatrész kategóriák" @@ -1317,7 +1451,7 @@ msgid "Project Code" msgstr "Projektszám" #: src/components/render/ModelType.tsx:127 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:109 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:120 msgid "Project Codes" msgstr "Projektszámok" @@ -1329,10 +1463,10 @@ msgid "Purchase Order" msgstr "Beszerzési rendelés" #: src/components/render/ModelType.tsx:134 -#: src/pages/Index/Settings/SystemSettings.tsx:257 +#: src/pages/Index/Settings/SystemSettings.tsx:258 #: src/pages/company/CompanyDetail.tsx:194 #: src/pages/company/SupplierPartDetail.tsx:226 -#: src/pages/part/PartDetail.tsx:573 +#: src/pages/part/PartDetail.tsx:586 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "Beszerzési rendelések" @@ -1354,9 +1488,9 @@ msgid "Sales Order" msgstr "Vevői rendelés" #: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:272 +#: src/pages/Index/Settings/SystemSettings.tsx:273 #: src/pages/company/CompanyDetail.tsx:214 -#: src/pages/part/PartDetail.tsx:580 +#: src/pages/part/PartDetail.tsx:593 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "Vevői rendelések" @@ -1376,7 +1510,7 @@ msgid "Return Order" msgstr "Visszavétel" #: src/components/render/ModelType.tsx:164 -#: src/pages/Index/Settings/SystemSettings.tsx:288 +#: src/pages/Index/Settings/SystemSettings.tsx:289 #: src/pages/company/CompanyDetail.tsx:221 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1413,40 +1547,49 @@ msgid "Owners" msgstr "Tulajdonosok" #: src/components/render/ModelType.tsx:193 +#: src/tables/settings/ImportSessionTable.tsx:122 #: src/tables/stock/StockItemTestResultTable.tsx:193 #: src/tables/stock/StockTrackingTable.tsx:195 msgid "User" msgstr "Felhasználó" #: src/components/render/ModelType.tsx:194 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:85 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:90 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" msgstr "Felhasználók" #: src/components/render/ModelType.tsx:200 -msgid "Label Template" +msgid "Import Session" msgstr "" #: src/components/render/ModelType.tsx:201 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:139 -msgid "Label Templates" +msgid "Import Sessions" msgstr "" #: src/components/render/ModelType.tsx:207 -msgid "Report Template" +msgid "Label Template" msgstr "" #: src/components/render/ModelType.tsx:208 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:145 -msgid "Report Templates" +#: src/pages/Index/Settings/AdminCenter/Index.tsx:150 +msgid "Label Templates" msgstr "" #: src/components/render/ModelType.tsx:214 -msgid "Plugin Configuration" +msgid "Report Template" msgstr "" #: src/components/render/ModelType.tsx:215 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:156 +msgid "Report Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:221 +msgid "Plugin Configuration" +msgstr "" + +#: src/components/render/ModelType.tsx:222 msgid "Plugin Configurations" msgstr "" @@ -1458,7 +1601,7 @@ msgstr "Szállítmány" #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 #: src/pages/Index/Settings/SystemSettings.tsx:210 -#: src/pages/part/PartDetail.tsx:492 +#: src/pages/part/PartDetail.tsx:503 #: src/pages/stock/LocationDetail.tsx:347 #: src/pages/stock/StockDetail.tsx:356 #: src/tables/stock/StockItemTable.tsx:57 @@ -1641,10 +1784,6 @@ msgstr "" #~ msgid "Comment" #~ msgstr "Comment" -#: src/components/tables/general/AttachmentTable.tsx:56 -#~ msgid "Uploaded" -#~ msgstr "Uploaded" - #: src/components/tables/part/PartCategoryTable.tsx:122 #~ msgid "Part category updated" #~ msgstr "Part category updated" @@ -2157,7 +2296,7 @@ msgid "Recently Updated" msgstr "Nemrég frissítve" #: src/defaults/dashboardItems.tsx:50 -#: src/tables/part/PartTable.tsx:216 +#: src/tables/part/PartTable.tsx:223 msgid "Low Stock" msgstr "Alacsony készlet" @@ -2466,7 +2605,7 @@ msgstr "" #~ msgid "Company updated" #~ msgstr "Company updated" -#: src/forms/PartForms.tsx:100 +#: src/forms/PartForms.tsx:103 msgid "Parent part category" msgstr "Felsőbb szintű alkatrész kategória" @@ -2534,7 +2673,7 @@ msgstr "" #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 #: src/pages/stock/StockDetail.tsx:173 -#: src/tables/ColumnRenderers.tsx:34 +#: src/tables/ColumnRenderers.tsx:49 #: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" msgstr "Hely" @@ -2585,8 +2724,8 @@ msgstr "Add meg az új készlet tételhez tartozó sorozatszámokat (vagy hagyd #: src/forms/StockForms.tsx:176 #: src/pages/stock/StockDetail.tsx:379 -#: src/tables/stock/StockItemTable.tsx:382 -#: src/tables/stock/StockItemTable.tsx:499 +#: src/tables/stock/StockItemTable.tsx:404 +#: src/tables/stock/StockItemTable.tsx:521 msgid "Add Stock Item" msgstr "Új készlet tétel" @@ -2606,9 +2745,9 @@ msgstr "Mozgatás az alapértelmezett helyre" #: src/forms/StockForms.tsx:606 #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 -#: src/pages/part/PartDetail.tsx:202 -#: src/pages/part/PartDetail.tsx:655 -#: src/tables/stock/StockItemTable.tsx:290 +#: src/pages/part/PartDetail.tsx:203 +#: src/pages/part/PartDetail.tsx:668 +#: src/tables/stock/StockItemTable.tsx:312 msgid "In Stock" msgstr "Készleten" @@ -2649,12 +2788,12 @@ msgid "Remove Stock" msgstr "Készlet csökkentése" #: src/forms/StockForms.tsx:803 -#: src/pages/part/PartDetail.tsx:782 +#: src/pages/part/PartDetail.tsx:823 msgid "Transfer Stock" msgstr "Készlet áthelyezése" #: src/forms/StockForms.tsx:812 -#: src/pages/part/PartDetail.tsx:771 +#: src/pages/part/PartDetail.tsx:812 msgid "Count Stock" msgstr "Leltározás" @@ -3279,53 +3418,57 @@ msgstr "Betöltő" #~ msgid "Advanced Amininistrative Options for InvenTree" #~ msgstr "Advanced Amininistrative Options for InvenTree" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:91 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:96 +msgid "Data Import" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:102 msgid "Background Tasks" msgstr "Háttér műveletek" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:97 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:108 msgid "Error Reports" msgstr "Hibajelentések" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:103 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:114 msgid "Currencies" msgstr "Pénznemek" -#: 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:132 msgid "Custom Units" msgstr "Egyedi mértékegységek" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:138 #: src/pages/part/CategoryDetail.tsx:257 msgid "Part Parameters" msgstr "Alkatrész paraméterek" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 -#~ msgid "Templates" -#~ msgstr "Templates" - -#: src/pages/Index/Settings/AdminCenter/Index.tsx:133 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:144 msgid "Category Parameters" msgstr "Kategória paraméterek" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:151 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:162 msgid "Location types" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:163 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:174 #: src/tables/machine/MachineTypeTable.tsx:287 msgid "Machines" msgstr "Berendezések" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:173 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:184 msgid "Quick Actions" msgstr "Gyors műveletek" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:178 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:189 msgid "Add a new user" msgstr "Új felhasználó hozzáadása" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:199 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:210 msgid "Advanced Options" msgstr "További beállítások" @@ -3477,7 +3620,7 @@ msgid "Reporting" msgstr "Riportolás" #: src/pages/Index/Settings/SystemSettings.tsx:235 -#: src/pages/part/PartDetail.tsx:593 +#: src/pages/part/PartDetail.tsx:606 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "Leltár" @@ -3485,12 +3628,12 @@ msgstr "Leltár" #: src/pages/Index/Settings/SystemSettings.tsx:241 #: src/pages/build/BuildDetail.tsx:423 #: src/pages/build/BuildIndex.tsx:14 -#: src/pages/part/PartDetail.tsx:527 +#: src/pages/part/PartDetail.tsx:540 #: src/pages/sales/SalesOrderDetail.tsx:270 msgid "Build Orders" msgstr "Gyártási utasítások" -#: src/pages/Index/Settings/SystemSettings.tsx:316 +#: src/pages/Index/Settings/SystemSettings.tsx:317 msgid "Switch to User Setting" msgstr "Felhasználói beállításra váltás" @@ -3555,7 +3698,8 @@ msgstr "Megjelölés olvasatlanként" #: 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/settings/ImportSessionTable.tsx:116 +#: src/tables/stock/StockItemTable.tsx:281 #: src/tables/stock/StockTrackingTable.tsx:52 msgid "Status" msgstr "Állapot" @@ -3564,7 +3708,7 @@ msgstr "Állapot" #: src/pages/purchasing/PurchaseOrderDetail.tsx:104 #: src/pages/sales/ReturnOrderDetail.tsx:73 #: src/pages/sales/SalesOrderDetail.tsx:77 -#: src/tables/ColumnRenderers.tsx:106 +#: src/tables/ColumnRenderers.tsx:121 #: src/tables/build/BuildLineTable.tsx:140 msgid "Reference" msgstr "Hivatkozás" @@ -3574,12 +3718,12 @@ msgstr "Hivatkozás" #: src/pages/company/ManufacturerPartDetail.tsx:78 #: src/pages/company/SupplierPartDetail.tsx:85 #: src/pages/part/CategoryDetail.tsx:94 -#: src/pages/part/PartDetail.tsx:129 +#: src/pages/part/PartDetail.tsx:130 #: src/pages/purchasing/PurchaseOrderDetail.tsx:125 #: src/pages/sales/ReturnOrderDetail.tsx:93 #: src/pages/sales/SalesOrderDetail.tsx:97 #: src/pages/stock/LocationDetail.tsx:101 -#: src/tables/ColumnRenderers.tsx:66 +#: src/tables/ColumnRenderers.tsx:81 #: src/tables/machine/MachineTypeTable.tsx:69 #: src/tables/machine/MachineTypeTable.tsx:112 #: src/tables/machine/MachineTypeTable.tsx:219 @@ -3610,7 +3754,7 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:152 -#: src/pages/part/PartDetail.tsx:317 +#: src/pages/part/PartDetail.tsx:323 #: src/pages/purchasing/PurchaseOrderDetail.tsx:217 #: src/pages/sales/ReturnOrderDetail.tsx:186 #: src/pages/sales/SalesOrderDetail.tsx:190 @@ -3630,7 +3774,7 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:210 #: src/pages/sales/ReturnOrderDetail.tsx:179 #: src/pages/sales/SalesOrderDetail.tsx:183 -#: src/tables/ColumnRenderers.tsx:191 +#: src/tables/ColumnRenderers.tsx:206 msgid "Target Date" msgstr "Cél dátum" @@ -3711,7 +3855,7 @@ msgstr "Alárendelt gyártások" #: src/pages/build/BuildDetail.tsx:297 #: src/pages/company/CompanyDetail.tsx:257 #: src/pages/company/ManufacturerPartDetail.tsx:174 -#: src/pages/part/PartDetail.tsx:616 +#: src/pages/part/PartDetail.tsx:629 #: src/pages/purchasing/PurchaseOrderDetail.tsx:279 #: src/pages/sales/ReturnOrderDetail.tsx:230 #: src/pages/sales/SalesOrderDetail.tsx:280 @@ -3721,7 +3865,7 @@ msgstr "Mellékletek" #: src/pages/build/BuildDetail.tsx:305 #: src/pages/company/CompanyDetail.tsx:268 -#: src/pages/part/PartDetail.tsx:624 +#: src/pages/part/PartDetail.tsx:637 #: src/pages/purchasing/PurchaseOrderDetail.tsx:290 #: src/pages/sales/ReturnOrderDetail.tsx:241 #: src/pages/sales/SalesOrderDetail.tsx:291 @@ -3877,12 +4021,12 @@ msgid "Manufacturer Part Details" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:148 -#: src/pages/part/PartDetail.tsx:486 +#: src/pages/part/PartDetail.tsx:492 msgid "Parameters" msgstr "Paraméterek" #: src/pages/company/ManufacturerPartDetail.tsx:160 -#: src/pages/part/PartDetail.tsx:560 +#: src/pages/part/PartDetail.tsx:573 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" msgstr "Beszállítók" @@ -3907,7 +4051,7 @@ msgid "ManufacturerPart" msgstr "" #: src/pages/company/SupplierPartDetail.tsx:99 -#: src/tables/ColumnRenderers.tsx:117 +#: src/tables/ColumnRenderers.tsx:132 msgid "Note" msgstr "" @@ -4043,275 +4187,275 @@ msgstr "" msgid "Category Details" msgstr "" -#: src/pages/part/PartDetail.tsx:135 +#: src/pages/part/PartDetail.tsx:136 msgid "Variant of" msgstr "" -#: src/pages/part/PartDetail.tsx:142 +#: src/pages/part/PartDetail.tsx:143 #: src/tables/notifications/NotificationsTable.tsx:31 #: src/tables/part/PartCategoryTemplateTable.tsx:67 msgid "Category" msgstr "Kategória" -#: src/pages/part/PartDetail.tsx:148 +#: src/pages/part/PartDetail.tsx:149 msgid "Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:155 +#: src/pages/part/PartDetail.tsx:156 msgid "Category Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:162 +#: src/pages/part/PartDetail.tsx:163 msgid "IPN" msgstr "IPN" -#: src/pages/part/PartDetail.tsx:169 +#: src/pages/part/PartDetail.tsx:170 msgid "Revision" msgstr "" -#: src/pages/part/PartDetail.tsx:176 +#: src/pages/part/PartDetail.tsx:177 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" msgstr "Mértékegységek" -#: src/pages/part/PartDetail.tsx:183 +#: src/pages/part/PartDetail.tsx:184 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:190 +#: src/pages/part/PartDetail.tsx:191 #: src/pages/purchasing/PurchaseOrderDetail.tsx:183 #: src/pages/sales/ReturnOrderDetail.tsx:152 #: src/pages/sales/SalesOrderDetail.tsx:156 msgid "Link" msgstr "Link" -#: src/pages/part/PartDetail.tsx:208 -#: src/tables/bom/BomTable.tsx:276 +#: src/pages/part/PartDetail.tsx:209 +#: src/tables/bom/BomTable.tsx:279 #: src/tables/build/BuildLineTable.tsx:121 -#: src/tables/part/PartTable.tsx:256 +#: src/tables/part/PartTable.tsx:263 msgid "Available Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:215 +#: src/pages/part/PartDetail.tsx:216 msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:221 -#: src/tables/bom/BomTable.tsx:217 +#: src/pages/part/PartDetail.tsx:222 +#: src/tables/bom/BomTable.tsx:220 #: src/tables/build/BuildLineTable.tsx:95 msgid "On order" msgstr "Rendelve" -#: src/pages/part/PartDetail.tsx:230 +#: src/pages/part/PartDetail.tsx:231 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:238 +#: src/pages/part/PartDetail.tsx:239 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:245 -#: src/tables/bom/BomTable.tsx:241 +#: src/pages/part/PartDetail.tsx:246 +#: src/tables/bom/BomTable.tsx:244 msgid "Can Build" msgstr "Gyártható" -#: src/pages/part/PartDetail.tsx:252 -#: src/tables/bom/BomTable.tsx:225 -#: src/tables/part/PartTable.tsx:82 +#: src/pages/part/PartDetail.tsx:253 +#: src/tables/bom/BomTable.tsx:228 +#: src/tables/part/PartTable.tsx:83 msgid "Building" msgstr "Gyártásban" -#: src/pages/part/PartDetail.tsx:261 +#: src/pages/part/PartDetail.tsx:262 #: src/tables/bom/UsedInTable.tsx:73 #: src/tables/build/BuildOrderTable.tsx:108 #: src/tables/company/CompanyTable.tsx:61 #: src/tables/company/CompanyTable.tsx:95 #: src/tables/machine/MachineListTable.tsx:323 #: src/tables/machine/MachineListTable.tsx:585 -#: src/tables/part/PartTable.tsx:168 +#: src/tables/part/PartTable.tsx:169 #: src/tables/part/PartVariantTable.tsx:15 #: 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 +#: src/tables/stock/StockItemTable.tsx:276 msgid "Active" msgstr "Aktív" -#: src/pages/part/PartDetail.tsx:266 +#: src/pages/part/PartDetail.tsx:272 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:271 -#: src/tables/bom/BomTable.tsx:271 +#: src/pages/part/PartDetail.tsx:277 +#: src/tables/bom/BomTable.tsx:274 msgid "Assembled Part" msgstr "Gyártmány alkatrész" -#: src/pages/part/PartDetail.tsx:276 +#: src/pages/part/PartDetail.tsx:282 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:281 -#: src/tables/bom/BomTable.tsx:266 +#: src/pages/part/PartDetail.tsx:287 +#: src/tables/bom/BomTable.tsx:269 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:286 +#: src/pages/part/PartDetail.tsx:292 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:291 +#: src/pages/part/PartDetail.tsx:297 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:296 +#: src/pages/part/PartDetail.tsx:302 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:304 -#: src/tables/ColumnRenderers.tsx:199 +#: src/pages/part/PartDetail.tsx:310 +#: src/tables/ColumnRenderers.tsx:214 msgid "Creation Date" msgstr "Létrehozás dátuma" -#: src/pages/part/PartDetail.tsx:309 -msgid "Created By" -msgstr "Készítette" - #: src/pages/part/PartDetail.tsx:310 #~ msgid "Edit part" #~ msgstr "Edit part" +#: src/pages/part/PartDetail.tsx:315 +msgid "Created By" +msgstr "Készítette" + #: src/pages/part/PartDetail.tsx:322 #~ msgid "Duplicate part" #~ msgstr "Duplicate part" -#: src/pages/part/PartDetail.tsx:324 -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:335 +#: src/pages/part/PartDetail.tsx:330 +msgid "Default Supplier" +msgstr "Alapértelmezett beszállító" + +#: src/pages/part/PartDetail.tsx:341 #: src/pages/part/pricing/BomPricingPanel.tsx:78 #: src/pages/part/pricing/VariantPricingPanel.tsx:95 -#: src/tables/part/PartTable.tsx:151 +#: src/tables/part/PartTable.tsx:152 msgid "Price Range" msgstr "Ártartomány" -#: src/pages/part/PartDetail.tsx:374 +#: src/pages/part/PartDetail.tsx:380 #: src/pages/stock/StockDetail.tsx:133 msgid "Last Stocktake" msgstr "Utolsó leltár" -#: src/pages/part/PartDetail.tsx:409 +#: src/pages/part/PartDetail.tsx:415 msgid "Stocktake By" msgstr "Leltárazta" -#: src/pages/part/PartDetail.tsx:480 +#: src/pages/part/PartDetail.tsx:486 msgid "Part Details" msgstr "Alkatrész részletei" -#: src/pages/part/PartDetail.tsx:506 +#: src/pages/part/PartDetail.tsx:517 msgid "Variants" msgstr "Változatok" -#: src/pages/part/PartDetail.tsx:513 +#: src/pages/part/PartDetail.tsx:524 #: src/pages/stock/StockDetail.tsx:286 msgid "Allocations" msgstr "Foglalások" -#: src/pages/part/PartDetail.tsx:520 +#: src/pages/part/PartDetail.tsx:531 msgid "Bill of Materials" msgstr "Alkatrészjegyzék" -#: src/pages/part/PartDetail.tsx:534 +#: src/pages/part/PartDetail.tsx:547 msgid "Used In" msgstr "Felhasználva ebben" -#: src/pages/part/PartDetail.tsx:541 +#: src/pages/part/PartDetail.tsx:554 msgid "Part Pricing" msgstr "Alkatrész árak" -#: src/pages/part/PartDetail.tsx:547 +#: src/pages/part/PartDetail.tsx:560 #: src/pages/purchasing/PurchasingIndex.tsx:37 msgid "Manufacturers" msgstr "Gyártók" -#: src/pages/part/PartDetail.tsx:587 +#: src/pages/part/PartDetail.tsx:600 msgid "Scheduling" msgstr "Ütemezés" -#: src/pages/part/PartDetail.tsx:599 +#: src/pages/part/PartDetail.tsx:612 msgid "Test Templates" msgstr "Teszt sablonok" -#: src/pages/part/PartDetail.tsx:610 +#: src/pages/part/PartDetail.tsx:623 msgid "Related Parts" msgstr "Kapcsolódó alkatrészek" -#: src/pages/part/PartDetail.tsx:661 +#: src/pages/part/PartDetail.tsx:674 #: src/pages/stock/StockDetail.tsx:154 #: src/pages/stock/StockDetail.tsx:533 #: src/tables/build/BuildLineTable.tsx:36 -#: src/tables/part/PartTable.tsx:107 +#: src/tables/part/PartTable.tsx:108 #: src/tables/stock/StockItemTable.tsx:166 -#: src/tables/stock/StockItemTable.tsx:275 +#: src/tables/stock/StockItemTable.tsx:297 msgid "Available" msgstr "Elérhető" -#: src/pages/part/PartDetail.tsx:667 +#: src/pages/part/PartDetail.tsx:680 msgid "No Stock" msgstr "Nincs készlet" -#: src/pages/part/PartDetail.tsx:673 -#: src/tables/bom/BomTable.tsx:281 -#: src/tables/part/PartTable.tsx:76 +#: src/pages/part/PartDetail.tsx:686 +#: src/tables/bom/BomTable.tsx:284 +#: src/tables/part/PartTable.tsx:77 msgid "On Order" msgstr "Rendelve" -#: src/pages/part/PartDetail.tsx:679 +#: src/pages/part/PartDetail.tsx:692 #: src/pages/stock/StockDetail.tsx:516 -#: src/tables/stock/StockItemTable.tsx:295 +#: src/tables/stock/StockItemTable.tsx:317 msgid "In Production" msgstr "Gyártásban" -#: src/pages/part/PartDetail.tsx:698 +#: src/pages/part/PartDetail.tsx:717 msgid "Edit Part" msgstr "Alkatrész szerkesztése" -#: src/pages/part/PartDetail.tsx:705 -#: src/tables/part/PartTable.tsx:289 -#: src/tables/part/PartTable.tsx:302 +#: src/pages/part/PartDetail.tsx:744 +#: src/tables/part/PartTable.tsx:296 +#: src/tables/part/PartTable.tsx:309 msgid "Add Part" msgstr "Alkatrész hozzáadása" -#: src/pages/part/PartDetail.tsx:717 +#: src/pages/part/PartDetail.tsx:758 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:726 +#: src/pages/part/PartDetail.tsx:767 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:764 +#: src/pages/part/PartDetail.tsx:805 #: src/pages/stock/LocationDetail.tsx:304 -#: src/tables/stock/StockItemTable.tsx:409 +#: src/tables/stock/StockItemTable.tsx:431 msgid "Stock Actions" msgstr "Készlet műveletek" -#: src/pages/part/PartDetail.tsx:772 +#: src/pages/part/PartDetail.tsx:813 msgid "Count part stock" msgstr "Készlet számolása" -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:824 msgid "Transfer part stock" msgstr "Készlet áthelyezése" -#: src/pages/part/PartDetail.tsx:792 +#: src/pages/part/PartDetail.tsx:833 msgid "Part Actions" msgstr "Alkatrész műveletek" @@ -4359,8 +4503,8 @@ msgstr "Eladási előzmények" #: src/pages/part/pricing/BomPricingPanel.tsx:57 #: src/pages/part/pricing/BomPricingPanel.tsx:137 -#: src/tables/ColumnRenderers.tsx:241 -#: src/tables/bom/BomTable.tsx:165 +#: src/tables/ColumnRenderers.tsx:256 +#: src/tables/bom/BomTable.tsx:168 #: src/tables/purchasing/PurchaseOrderTable.tsx:112 #: src/tables/sales/ReturnOrderTable.tsx:104 #: src/tables/sales/SalesOrderTable.tsx:134 @@ -4369,7 +4513,7 @@ msgstr "Teljes ár" #: src/pages/part/pricing/BomPricingPanel.tsx:77 #: src/pages/part/pricing/BomPricingPanel.tsx:101 -#: src/tables/part/PartTable.tsx:186 +#: src/tables/part/PartTable.tsx:193 msgid "Component" msgstr "Összetevő" @@ -4398,7 +4542,7 @@ msgstr "Maximum ár" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:67 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:128 #: src/pages/part/pricing/SupplierPricingPanel.tsx:62 -#: src/tables/bom/BomTable.tsx:156 +#: src/tables/bom/BomTable.tsx:159 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 msgid "Unit Price" @@ -4498,7 +4642,7 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:40 #: src/pages/part/pricing/SaleHistoryPanel.tsx:36 -#: src/tables/ColumnRenderers.tsx:180 +#: src/tables/ColumnRenderers.tsx:195 #: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "Dátum" @@ -4771,12 +4915,12 @@ msgid "Count stock" msgstr "Leltározás" #: src/pages/stock/StockDetail.tsx:459 -#: src/tables/stock/StockItemTable.tsx:414 +#: src/tables/stock/StockItemTable.tsx:436 msgid "Add stock" msgstr "Készlethez ad" #: src/pages/stock/StockDetail.tsx:467 -#: src/tables/stock/StockItemTable.tsx:423 +#: src/tables/stock/StockItemTable.tsx:445 msgid "Remove stock" msgstr "Készlet csökkentése" @@ -4785,7 +4929,7 @@ msgid "Transfer" msgstr "Áthelyezés" #: src/pages/stock/StockDetail.tsx:475 -#: src/tables/stock/StockItemTable.tsx:443 +#: src/tables/stock/StockItemTable.tsx:465 msgid "Transfer stock" msgstr "Készlet áthelyezése" @@ -4793,15 +4937,15 @@ msgstr "Készlet áthelyezése" msgid "Stock Item Actions" msgstr "" -#: src/tables/ColumnRenderers.tsx:42 +#: src/tables/ColumnRenderers.tsx:57 msgid "No location set" msgstr "" -#: src/tables/ColumnRenderers.tsx:207 +#: src/tables/ColumnRenderers.tsx:222 msgid "Shipment Date" msgstr "" -#: src/tables/ColumnRenderers.tsx:227 +#: src/tables/ColumnRenderers.tsx:242 #: src/tables/settings/CurrencyTable.tsx:23 msgid "Currency" msgstr "Pénznem" @@ -4828,14 +4972,14 @@ msgid "TSV" msgstr "TSV" #: src/tables/DownloadAction.tsx:24 -msgid "Excel (.xls)" -msgstr "" - -#: src/tables/DownloadAction.tsx:25 msgid "Excel (.xlsx)" msgstr "" -#: src/tables/DownloadAction.tsx:39 +#: src/tables/DownloadAction.tsx:24 +#~ msgid "Excel (.xls)" +#~ msgstr "" + +#: src/tables/DownloadAction.tsx:38 msgid "Download Data" msgstr "" @@ -4900,54 +5044,54 @@ msgstr "Szűrő hozzáadása" msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:119 -#: src/tables/InvenTreeTable.tsx:390 -#: src/tables/InvenTreeTable.tsx:411 +#: src/tables/InvenTreeTable.tsx:126 +#: src/tables/InvenTreeTable.tsx:409 +#: src/tables/InvenTreeTable.tsx:430 msgid "No records found" msgstr "Nincs találat" -#: src/tables/InvenTreeTable.tsx:422 +#: src/tables/InvenTreeTable.tsx:441 msgid "Server returned incorrect data type" msgstr "A szerver hibás adattípust küldött vissza" -#: src/tables/InvenTreeTable.tsx:430 +#: src/tables/InvenTreeTable.tsx:449 msgid "Bad request" msgstr "Hibás kérés" -#: src/tables/InvenTreeTable.tsx:433 +#: src/tables/InvenTreeTable.tsx:452 msgid "Unauthorized" msgstr "Jogosulatlan" -#: src/tables/InvenTreeTable.tsx:436 +#: src/tables/InvenTreeTable.tsx:455 msgid "Forbidden" msgstr "Tiltott" -#: src/tables/InvenTreeTable.tsx:439 +#: src/tables/InvenTreeTable.tsx:458 msgid "Not found" msgstr "Nem található" -#: src/tables/InvenTreeTable.tsx:488 -#: src/tables/InvenTreeTable.tsx:606 +#: src/tables/InvenTreeTable.tsx:507 +#: src/tables/InvenTreeTable.tsx:623 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:492 +#: src/tables/InvenTreeTable.tsx:511 msgid "Are you sure you want to delete the selected records?" msgstr "" -#: src/tables/InvenTreeTable.tsx:494 +#: src/tables/InvenTreeTable.tsx:513 msgid "This action cannot be undone!" msgstr "" -#: src/tables/InvenTreeTable.tsx:517 +#: src/tables/InvenTreeTable.tsx:536 msgid "Deleted records" msgstr "" -#: src/tables/InvenTreeTable.tsx:518 +#: src/tables/InvenTreeTable.tsx:537 msgid "Records were deleted successfully" msgstr "" -#: src/tables/InvenTreeTable.tsx:527 +#: src/tables/InvenTreeTable.tsx:546 msgid "Failed to delete records" msgstr "" @@ -4956,140 +5100,144 @@ msgstr "" #~ msgid "Print actions" #~ msgstr "Print actions" -#: src/tables/InvenTreeTable.tsx:596 -#: src/tables/InvenTreeTable.tsx:597 +#: src/tables/InvenTreeTable.tsx:613 +#: src/tables/InvenTreeTable.tsx:614 msgid "Barcode actions" msgstr "Vonalkód műveletek" -#: src/tables/InvenTreeTable.tsx:625 +#: src/tables/InvenTreeTable.tsx:642 msgid "Refresh data" msgstr "Adatok frissítése" -#: src/tables/InvenTreeTable.tsx:646 +#: src/tables/InvenTreeTable.tsx:663 msgid "Table filters" msgstr "Táblaszűrők" -#: src/tables/bom/BomTable.tsx:80 +#: src/tables/UploadAction.tsx:9 +msgid "Upload Data" +msgstr "" + +#: src/tables/bom/BomTable.tsx:83 msgid "This BOM item is defined for a different parent" msgstr "Ez a beépülő alkatrész másik szülő alkatrészhez lett felvéve" -#: src/tables/bom/BomTable.tsx:95 +#: src/tables/bom/BomTable.tsx:98 msgid "Part Information" msgstr "Alkatrész információ" -#: src/tables/bom/BomTable.tsx:184 -#: src/tables/part/PartTable.tsx:124 +#: src/tables/bom/BomTable.tsx:187 +#: src/tables/part/PartTable.tsx:125 msgid "No stock" msgstr "Nincs készlet" -#: src/tables/bom/BomTable.tsx:192 +#: src/tables/bom/BomTable.tsx:195 #: src/tables/build/BuildLineTable.tsx:104 -#: src/tables/part/PartTable.tsx:115 +#: src/tables/part/PartTable.tsx:116 msgid "External stock" msgstr "" -#: src/tables/bom/BomTable.tsx:200 +#: src/tables/bom/BomTable.tsx:203 #: src/tables/build/BuildLineTable.tsx:67 msgid "Includes substitute stock" msgstr "Helyettesítőkkel együtt" -#: src/tables/bom/BomTable.tsx:209 +#: src/tables/bom/BomTable.tsx:212 #: src/tables/build/BuildLineTable.tsx:77 msgid "Includes variant stock" msgstr "Változatokkal együtt" -#: src/tables/bom/BomTable.tsx:234 -#: src/tables/part/PartTable.tsx:143 +#: src/tables/bom/BomTable.tsx:237 +#: src/tables/part/PartTable.tsx:144 #: src/tables/stock/StockItemTable.tsx:205 msgid "Stock Information" msgstr "Készlet adatok" -#: src/tables/bom/BomTable.tsx:246 +#: src/tables/bom/BomTable.tsx:249 #: src/tables/build/BuildLineTable.tsx:195 msgid "Consumable item" msgstr "Fogyóeszköz tétel" -#: src/tables/bom/BomTable.tsx:267 +#: src/tables/bom/BomTable.tsx:270 msgid "Show trackable items" msgstr "" -#: src/tables/bom/BomTable.tsx:272 +#: src/tables/bom/BomTable.tsx:275 msgid "Show asssmbled items" msgstr "" -#: src/tables/bom/BomTable.tsx:277 +#: src/tables/bom/BomTable.tsx:280 msgid "Show items with available stock" msgstr "" -#: src/tables/bom/BomTable.tsx:282 +#: src/tables/bom/BomTable.tsx:285 msgid "Show items on order" msgstr "" -#: src/tables/bom/BomTable.tsx:286 +#: src/tables/bom/BomTable.tsx:289 msgid "Validated" msgstr "" -#: src/tables/bom/BomTable.tsx:287 +#: src/tables/bom/BomTable.tsx:290 msgid "Show validated items" msgstr "" -#: src/tables/bom/BomTable.tsx:291 +#: src/tables/bom/BomTable.tsx:294 #: src/tables/bom/UsedInTable.tsx:63 msgid "Inherited" msgstr "" -#: src/tables/bom/BomTable.tsx:292 +#: src/tables/bom/BomTable.tsx:295 #: src/tables/bom/UsedInTable.tsx:64 msgid "Show inherited items" msgstr "" -#: src/tables/bom/BomTable.tsx:296 +#: src/tables/bom/BomTable.tsx:299 msgid "Allow Variants" msgstr "" -#: src/tables/bom/BomTable.tsx:297 +#: src/tables/bom/BomTable.tsx:300 msgid "Show items which allow variant substitution" msgstr "" #: src/tables/bom/BomTable.tsx:301 +#~ msgid "Create BOM Item" +#~ msgstr "Create BOM Item" + +#: src/tables/bom/BomTable.tsx:304 #: src/tables/bom/UsedInTable.tsx:68 #: src/tables/build/BuildLineTable.tsx:46 msgid "Optional" msgstr "Opcionális" -#: src/tables/bom/BomTable.tsx:301 -#~ msgid "Create BOM Item" -#~ msgstr "Create BOM Item" - -#: src/tables/bom/BomTable.tsx:302 +#: src/tables/bom/BomTable.tsx:305 #: src/tables/bom/UsedInTable.tsx:69 msgid "Show optional items" msgstr "" -#: src/tables/bom/BomTable.tsx:306 +#: src/tables/bom/BomTable.tsx:309 #: src/tables/build/BuildLineTable.tsx:41 msgid "Consumable" msgstr "Fogyóeszköz" -#: src/tables/bom/BomTable.tsx:307 +#: src/tables/bom/BomTable.tsx:310 msgid "Show consumable items" msgstr "" -#: src/tables/bom/BomTable.tsx:311 -#: src/tables/part/PartTable.tsx:250 +#: src/tables/bom/BomTable.tsx:314 +#: src/tables/part/PartTable.tsx:257 msgid "Has Pricing" msgstr "" -#: src/tables/bom/BomTable.tsx:312 +#: src/tables/bom/BomTable.tsx:315 msgid "Show items with pricing" msgstr "" -#: src/tables/bom/BomTable.tsx:321 -#: src/tables/bom/BomTable.tsx:420 +#: src/tables/bom/BomTable.tsx:324 +#: src/tables/bom/BomTable.tsx:426 msgid "Add BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:326 +#: src/tables/bom/BomTable.tsx:329 msgid "BOM item created" msgstr "" @@ -5097,23 +5245,23 @@ msgstr "" #~ msgid "Edit Bom Item" #~ msgstr "Edit Bom Item" -#: src/tables/bom/BomTable.tsx:333 -msgid "Edit BOM Item" -msgstr "" - #: src/tables/bom/BomTable.tsx:333 #~ msgid "Bom item updated" #~ msgstr "Bom item updated" -#: src/tables/bom/BomTable.tsx:335 +#: src/tables/bom/BomTable.tsx:336 +msgid "Edit BOM Item" +msgstr "" + +#: src/tables/bom/BomTable.tsx:338 msgid "BOM item updated" msgstr "" -#: src/tables/bom/BomTable.tsx:342 +#: src/tables/bom/BomTable.tsx:345 msgid "Delete BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:343 +#: src/tables/bom/BomTable.tsx:346 msgid "BOM item deleted" msgstr "" @@ -5133,32 +5281,41 @@ msgstr "" #~ msgid "Validate BOM line" #~ msgstr "Validate BOM line" -#: src/tables/bom/BomTable.tsx:355 +#: src/tables/bom/BomTable.tsx:358 msgid "BOM item validated" msgstr "" -#: src/tables/bom/BomTable.tsx:364 +#: src/tables/bom/BomTable.tsx:367 msgid "Failed to validate BOM item" msgstr "" -#: src/tables/bom/BomTable.tsx:376 +#: src/tables/bom/BomTable.tsx:379 msgid "View BOM" msgstr "Alkatrészjegyzék megtekintése" -#: src/tables/bom/BomTable.tsx:385 +#: src/tables/bom/BomTable.tsx:388 msgid "Validate BOM Line" msgstr "" -#: src/tables/bom/BomTable.tsx:399 +#: src/tables/bom/BomTable.tsx:405 msgid "Edit Substitutes" msgstr "Helyettesítő alkatrészek szerkesztése" +#: src/tables/bom/BomTable.tsx:440 +#: src/tables/part/PartParameterTable.tsx:191 +msgid "Part is Locked" +msgstr "" + +#: src/tables/bom/BomTable.tsx:445 +msgid "Bill of materials cannot be edited, as the part is locked" +msgstr "" + #: src/tables/bom/UsedInTable.tsx:74 msgid "Show active assemblies" msgstr "" #: src/tables/bom/UsedInTable.tsx:78 -#: src/tables/part/PartTable.tsx:192 +#: src/tables/part/PartTable.tsx:199 #: src/tables/part/PartVariantTable.tsx:30 msgid "Trackable" msgstr "Követésre kötelezett" @@ -5168,7 +5325,7 @@ msgid "Show trackable assemblies" msgstr "Nyomonkövethető gyártmányok mutatása" #: src/tables/build/BuildLineTable.tsx:31 -#: src/tables/stock/StockItemTable.tsx:270 +#: src/tables/stock/StockItemTable.tsx:292 msgid "Allocated" msgstr "" @@ -5189,7 +5346,7 @@ msgid "Show optional lines" msgstr "Opcionális sorok mutatása" #: src/tables/build/BuildLineTable.tsx:51 -#: src/tables/stock/StockItemTable.tsx:329 +#: src/tables/stock/StockItemTable.tsx:351 msgid "Tracked" msgstr "Követett" @@ -5302,10 +5459,6 @@ msgstr "Foglalás felszabadítása" msgid "Deallocate stock from build output" msgstr "Készlet felszabadítása a gyártási kimenetből" -#: src/tables/build/BuildOutputTable.tsx:205 -msgid "Complete" -msgstr "Kész" - #: src/tables/build/BuildOutputTable.tsx:206 msgid "Complete build output" msgstr "Gyártási kimenet befejezése" @@ -5635,7 +5788,7 @@ msgid "Message" msgstr "Üzenet" #: src/tables/part/ParametricPartTable.tsx:76 -#: src/tables/part/PartParameterTable.tsx:88 +#: src/tables/part/PartParameterTable.tsx:95 msgid "Internal Units" msgstr "" @@ -5648,13 +5801,13 @@ msgid "Add Part Parameter" msgstr "" #: src/tables/part/ParametricPartTable.tsx:138 -#: src/tables/part/PartParameterTable.tsx:121 -#: src/tables/part/PartParameterTable.tsx:144 +#: src/tables/part/PartParameterTable.tsx:128 +#: src/tables/part/PartParameterTable.tsx:151 msgid "Edit Part Parameter" msgstr "Alkatrész paraméter szerkesztése" #: src/tables/part/PartCategoryTable.tsx:60 -#: src/tables/part/PartTable.tsx:180 +#: src/tables/part/PartTable.tsx:187 msgid "Include Subcategories" msgstr "Alkategóriákkal együtt" @@ -5667,7 +5820,7 @@ msgid "Show structural categories" msgstr "" #: src/tables/part/PartCategoryTable.tsx:70 -#: src/tables/part/PartTable.tsx:262 +#: src/tables/part/PartTable.tsx:269 msgid "Subscribed" msgstr "" @@ -5704,21 +5857,25 @@ msgstr "" #~ msgid "[{0}]" #~ msgstr "[{0}]" -#: src/tables/part/PartParameterTable.tsx:105 +#: src/tables/part/PartParameterTable.tsx:112 msgid "New Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:130 -#: src/tables/part/PartParameterTable.tsx:152 +#: src/tables/part/PartParameterTable.tsx:137 +#: src/tables/part/PartParameterTable.tsx:159 msgid "Delete Part Parameter" msgstr "Alkatrész paraméter törlése" -#: src/tables/part/PartParameterTable.tsx:170 +#: src/tables/part/PartParameterTable.tsx:177 msgid "Add parameter" msgstr "Paraméter hozzáadás" -#: src/tables/part/PartParameterTable.tsx:191 -#: src/tables/stock/StockItemTable.tsx:300 +#: src/tables/part/PartParameterTable.tsx:196 +msgid "Part parameters cannot be edited, as the part is locked" +msgstr "" + +#: src/tables/part/PartParameterTable.tsx:210 +#: src/tables/stock/StockItemTable.tsx:322 msgid "Include Variants" msgstr "Változatok is" @@ -5739,7 +5896,7 @@ msgid "Show templates with choices" msgstr "" #: src/tables/part/PartParameterTemplateTable.tsx:41 -#: src/tables/part/PartTable.tsx:198 +#: src/tables/part/PartTable.tsx:205 msgid "Has Units" msgstr "Van mértékegysége" @@ -5763,116 +5920,120 @@ msgstr "Paraméter sablon törlés" msgid "Add parameter template" msgstr "Paraméter sablon létrehozás" -#: src/tables/part/PartTable.tsx:67 +#: src/tables/part/PartTable.tsx:68 msgid "Minimum stock" msgstr "Minimális készlet" -#: src/tables/part/PartTable.tsx:89 +#: src/tables/part/PartTable.tsx:90 msgid "Build Order Allocations" msgstr "Gyártáshoz foglalások" -#: src/tables/part/PartTable.tsx:98 +#: src/tables/part/PartTable.tsx:99 msgid "Sales Order Allocations" msgstr "Vevői rendeléshez foglalások" -#: src/tables/part/PartTable.tsx:169 +#: src/tables/part/PartTable.tsx:170 msgid "Filter by part active status" msgstr "Szűrés aktív státusz szerint" -#: src/tables/part/PartTable.tsx:174 -#: src/tables/stock/StockItemTable.tsx:265 +#: src/tables/part/PartTable.tsx:176 +msgid "Filter by part locked status" +msgstr "" + +#: src/tables/part/PartTable.tsx:181 +#: src/tables/stock/StockItemTable.tsx:287 msgid "Assembly" msgstr "Gyártmány" -#: src/tables/part/PartTable.tsx:175 +#: src/tables/part/PartTable.tsx:182 msgid "Filter by assembly attribute" msgstr "Szűrés szerelési tulajdonság szerint" -#: src/tables/part/PartTable.tsx:181 +#: src/tables/part/PartTable.tsx:188 msgid "Include parts in subcategories" msgstr "Alkategóriákkal együtt" -#: src/tables/part/PartTable.tsx:187 +#: src/tables/part/PartTable.tsx:194 msgid "Filter by component attribute" msgstr "Szűrés összetevő tulajdonság szerint" -#: src/tables/part/PartTable.tsx:193 +#: src/tables/part/PartTable.tsx:200 msgid "Filter by trackable attribute" msgstr "Szűrés követésre kötelezettség szerint" -#: src/tables/part/PartTable.tsx:199 +#: src/tables/part/PartTable.tsx:206 msgid "Filter by parts which have units" msgstr "Szűrés meglévő mértékegység szerint" -#: src/tables/part/PartTable.tsx:204 +#: src/tables/part/PartTable.tsx:211 msgid "Has IPN" msgstr "Van IPN-je" -#: src/tables/part/PartTable.tsx:205 +#: src/tables/part/PartTable.tsx:212 msgid "Filter by parts which have an internal part number" msgstr "Szűrés meglévő IPN szerint" -#: src/tables/part/PartTable.tsx:210 +#: src/tables/part/PartTable.tsx:217 msgid "Has Stock" msgstr "Van készlet" -#: src/tables/part/PartTable.tsx:211 +#: src/tables/part/PartTable.tsx:218 msgid "Filter by parts which have stock" msgstr "Szűrés meglévő készlet szerint" -#: src/tables/part/PartTable.tsx:217 +#: src/tables/part/PartTable.tsx:224 msgid "Filter by parts which have low stock" msgstr "Szűrés alacsony készlet szerint" -#: src/tables/part/PartTable.tsx:222 +#: src/tables/part/PartTable.tsx:229 msgid "Purchaseable" msgstr "Beszerezhető" -#: src/tables/part/PartTable.tsx:223 +#: src/tables/part/PartTable.tsx:230 msgid "Filter by parts which are purchaseable" msgstr "Szűrés beszerezhetőség szerint" -#: src/tables/part/PartTable.tsx:228 +#: src/tables/part/PartTable.tsx:235 msgid "Salable" msgstr "Értékesíthető" -#: src/tables/part/PartTable.tsx:229 +#: src/tables/part/PartTable.tsx:236 msgid "Filter by parts which are salable" msgstr "Szűrés értékesíthetőség szerint" -#: src/tables/part/PartTable.tsx:235 +#: src/tables/part/PartTable.tsx:242 msgid "Filter by parts which are virtual" msgstr "Szűrés virtuális alkatrészek szerint" -#: src/tables/part/PartTable.tsx:239 +#: src/tables/part/PartTable.tsx:246 msgid "Not Virtual" msgstr "Nem virtuális" -#: src/tables/part/PartTable.tsx:244 +#: src/tables/part/PartTable.tsx:251 msgid "Is Template" msgstr "" -#: src/tables/part/PartTable.tsx:245 +#: src/tables/part/PartTable.tsx:252 msgid "Filter by parts which are templates" msgstr "" -#: src/tables/part/PartTable.tsx:251 +#: src/tables/part/PartTable.tsx:258 msgid "Filter by parts which have pricing information" msgstr "" -#: src/tables/part/PartTable.tsx:257 +#: src/tables/part/PartTable.tsx:264 msgid "Filter by parts which have available stock" msgstr "" -#: src/tables/part/PartTable.tsx:263 +#: src/tables/part/PartTable.tsx:270 msgid "Filter by parts to which the user is subscribed" msgstr "" -#: src/tables/part/PartTable.tsx:268 +#: src/tables/part/PartTable.tsx:275 msgid "Has Stocktake" msgstr "" -#: src/tables/part/PartTable.tsx:269 +#: src/tables/part/PartTable.tsx:276 msgid "Filter by parts which have stocktake information" msgstr "" @@ -6211,7 +6372,7 @@ msgid "Sample" msgstr "Minta" #: src/tables/plugin/PluginListTable.tsx:578 -#: src/tables/stock/StockItemTable.tsx:305 +#: src/tables/stock/StockItemTable.tsx:327 msgid "Installed" msgstr "Telepítve" @@ -6486,6 +6647,41 @@ msgstr "Csoport hozzáadása" msgid "Edit group" msgstr "Csoport szerkesztése" +#: src/tables/settings/ImportSessionTable.tsx:39 +msgid "Delete Import Session" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:45 +#: src/tables/settings/ImportSessionTable.tsx:132 +msgid "Create Import Session" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:70 +msgid "Uploaded" +msgstr "Uploaded" + +#: src/tables/settings/ImportSessionTable.tsx:80 +msgid "Imported Rows" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:110 +#: src/tables/settings/TemplateTable.tsx:276 +msgid "Model Type" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:111 +#: src/tables/settings/TemplateTable.tsx:277 +msgid "Filter by target model type" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:117 +msgid "Filter by import session status" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:123 +msgid "Filter by user" +msgstr "" + #: src/tables/settings/PendingTasksTable.tsx:36 msgid "Arguments" msgstr "" @@ -6502,7 +6698,7 @@ msgstr "" msgid "Delete Project Code" msgstr "" -#: src/tables/settings/ProjectCodeTable.tsx:94 +#: src/tables/settings/ProjectCodeTable.tsx:92 msgid "Add project code" msgstr "Projekt kód hozzáadása" @@ -6571,14 +6767,6 @@ msgstr "" 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 "" @@ -6701,149 +6889,153 @@ msgstr "Készlet tétel részlegesen foglalva" msgid "This stock item has been depleted" msgstr "Készlet tétel elfogyott" -#: src/tables/stock/StockItemTable.tsx:255 +#: src/tables/stock/StockItemTable.tsx:247 +msgid "Stock Value" +msgstr "" + +#: src/tables/stock/StockItemTable.tsx:277 msgid "Show stock for active parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:260 +#: src/tables/stock/StockItemTable.tsx:282 msgid "Filter by stock status" msgstr "" -#: src/tables/stock/StockItemTable.tsx:266 +#: src/tables/stock/StockItemTable.tsx:288 msgid "Show stock for assmebled parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:271 +#: src/tables/stock/StockItemTable.tsx:293 msgid "Show items which have been allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:276 +#: src/tables/stock/StockItemTable.tsx:298 msgid "Show items which are available" msgstr "" -#: src/tables/stock/StockItemTable.tsx:280 +#: src/tables/stock/StockItemTable.tsx:302 #: src/tables/stock/StockLocationTable.tsx:42 msgid "Include Sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:281 +#: src/tables/stock/StockItemTable.tsx:303 msgid "Include stock in sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:285 +#: src/tables/stock/StockItemTable.tsx:307 msgid "Depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:286 +#: src/tables/stock/StockItemTable.tsx:308 msgid "Show depleted stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:291 +#: src/tables/stock/StockItemTable.tsx:313 msgid "Show items which are in stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:296 +#: src/tables/stock/StockItemTable.tsx:318 msgid "Show items which are in production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:301 +#: src/tables/stock/StockItemTable.tsx:323 msgid "Include stock items for variant parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:306 +#: src/tables/stock/StockItemTable.tsx:328 msgid "Show stock items which are installed in other items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:310 +#: src/tables/stock/StockItemTable.tsx:332 msgid "Sent to Customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:311 +#: src/tables/stock/StockItemTable.tsx:333 msgid "Show items which have been sent to a customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:315 +#: src/tables/stock/StockItemTable.tsx:337 msgid "Is Serialized" msgstr "" -#: src/tables/stock/StockItemTable.tsx:316 +#: src/tables/stock/StockItemTable.tsx:338 msgid "Show items which have a serial number" msgstr "" -#: src/tables/stock/StockItemTable.tsx:323 +#: src/tables/stock/StockItemTable.tsx:345 msgid "Has Batch Code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:324 +#: src/tables/stock/StockItemTable.tsx:346 msgid "Show items which have a batch code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:330 +#: src/tables/stock/StockItemTable.tsx:352 msgid "Show tracked items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:334 +#: src/tables/stock/StockItemTable.tsx:356 msgid "Has Purchase Price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:335 +#: src/tables/stock/StockItemTable.tsx:357 msgid "Show items which have a purchase price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:343 +#: src/tables/stock/StockItemTable.tsx:365 msgid "External Location" msgstr "" -#: src/tables/stock/StockItemTable.tsx:344 +#: src/tables/stock/StockItemTable.tsx:366 msgid "Show items in an external location" msgstr "" -#: src/tables/stock/StockItemTable.tsx:416 +#: src/tables/stock/StockItemTable.tsx:438 msgid "Add a new stock item" msgstr "" -#: src/tables/stock/StockItemTable.tsx:425 +#: src/tables/stock/StockItemTable.tsx:447 msgid "Remove some quantity from a stock item" msgstr "" -#: src/tables/stock/StockItemTable.tsx:447 +#: src/tables/stock/StockItemTable.tsx:469 msgid "Move Stock items to new locations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:454 +#: src/tables/stock/StockItemTable.tsx:476 msgid "Change stock status" msgstr "" -#: src/tables/stock/StockItemTable.tsx:456 +#: src/tables/stock/StockItemTable.tsx:478 msgid "Change the status of stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:463 +#: src/tables/stock/StockItemTable.tsx:485 msgid "Merge stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:465 +#: src/tables/stock/StockItemTable.tsx:487 msgid "Merge stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:472 +#: src/tables/stock/StockItemTable.tsx:494 msgid "Order stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:474 -#: src/tables/stock/StockItemTable.tsx:480 +#: src/tables/stock/StockItemTable.tsx:496 +#: src/tables/stock/StockItemTable.tsx:502 msgid "Order new stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:478 +#: src/tables/stock/StockItemTable.tsx:500 msgid "Assign to customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:487 +#: src/tables/stock/StockItemTable.tsx:509 msgid "Delete stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:489 +#: src/tables/stock/StockItemTable.tsx:511 msgid "Delete stock items" msgstr "" @@ -6999,4 +7191,3 @@ msgstr "Olvasd el a dokumentációt" #: src/views/MobileAppView.tsx:35 msgid "Ignore and continue to Desktop view" msgstr "" - diff --git a/src/frontend/src/locales/it/messages.po b/src/frontend/src/locales/it/messages.po index 3515af3f1c92..11ebd1f65f3a 100644 --- a/src/frontend/src/locales/it/messages.po +++ b/src/frontend/src/locales/it/messages.po @@ -49,16 +49,18 @@ msgstr "" #: src/components/buttons/PrintingActions.tsx:107 #: src/components/buttons/PrintingActions.tsx:144 #: src/components/editors/NotesEditor.tsx:65 -#: src/components/editors/NotesEditor.tsx:160 -#: src/components/forms/ApiForm.tsx:506 -#: src/components/forms/fields/ApiFormField.tsx:295 +#: src/components/editors/NotesEditor.tsx:165 +#: src/components/forms/ApiForm.tsx:513 +#: src/components/forms/fields/ApiFormField.tsx:306 +#: src/components/importer/ImportDataSelector.tsx:171 +#: src/components/importer/ImporterColumnSelector.tsx:112 #: src/components/modals/LicenseModal.tsx:75 #: src/components/nav/SearchDrawer.tsx:427 #: src/pages/ErrorPage.tsx:11 #: src/pages/part/PartPricingPanel.tsx:71 -#: src/tables/InvenTreeTable.tsx:451 -#: src/tables/InvenTreeTable.tsx:526 -#: src/tables/bom/BomTable.tsx:363 +#: src/tables/InvenTreeTable.tsx:470 +#: src/tables/InvenTreeTable.tsx:545 +#: src/tables/bom/BomTable.tsx:366 #: src/tables/stock/StockItemTestResultTable.tsx:294 msgid "Error" msgstr "" @@ -157,7 +159,7 @@ msgstr "" #: src/functions/forms.tsx:196 #: src/hooks/UseForm.tsx:40 #: src/tables/FilterSelectDrawer.tsx:204 -#: src/tables/InvenTreeTable.tsx:499 +#: src/tables/InvenTreeTable.tsx:518 #: src/tables/build/BuildOutputTable.tsx:225 msgid "Cancel" msgstr "" @@ -175,7 +177,7 @@ msgid "Clear" msgstr "" #: src/components/details/DetailsImage.tsx:227 -#: src/components/forms/ApiForm.tsx:573 +#: src/components/forms/ApiForm.tsx:580 #: src/contexts/ThemeContext.tsx:43 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:56 msgid "Submit" @@ -202,48 +204,61 @@ msgid "Delete image" msgstr "" #: src/components/details/PartIcons.tsx:28 +#: src/tables/ColumnRenderers.tsx:35 +msgid "Part is locked" +msgstr "" + +#: src/components/details/PartIcons.tsx:30 +#: src/pages/part/PartDetail.tsx:267 +#: src/pages/part/PartDetail.tsx:698 +#: src/tables/part/PartTable.tsx:175 +msgid "Locked" +msgstr "" + +#: src/components/details/PartIcons.tsx:35 +#: src/tables/ColumnRenderers.tsx:30 msgid "Part is not active" msgstr "" -#: src/components/details/PartIcons.tsx:34 +#: src/components/details/PartIcons.tsx:37 #: src/components/render/Plugin.tsx:17 #: src/pages/company/CompanyDetail.tsx:315 #: src/pages/company/SupplierPartDetail.tsx:307 -#: src/pages/part/PartDetail.tsx:685 +#: src/pages/part/PartDetail.tsx:704 msgid "Inactive" msgstr "" -#: src/components/details/PartIcons.tsx:41 +#: src/components/details/PartIcons.tsx:43 msgid "Part is a template part (variants can be made from this part)" msgstr "" -#: src/components/details/PartIcons.tsx:47 +#: src/components/details/PartIcons.tsx:49 msgid "Part can be assembled from other parts" msgstr "" -#: src/components/details/PartIcons.tsx:53 +#: src/components/details/PartIcons.tsx:55 msgid "Part can be used in assemblies" msgstr "" -#: src/components/details/PartIcons.tsx:59 +#: src/components/details/PartIcons.tsx:61 msgid "Part stock is tracked by serial number" msgstr "" -#: src/components/details/PartIcons.tsx:65 +#: src/components/details/PartIcons.tsx:67 msgid "Part can be purchased from external suppliers" msgstr "L'articolo può essere acquistato da fornitori esterni" -#: src/components/details/PartIcons.tsx:71 +#: src/components/details/PartIcons.tsx:73 msgid "Part can be sold to customers" msgstr "L'articolo può essere venduto ai clienti" -#: src/components/details/PartIcons.tsx:76 +#: src/components/details/PartIcons.tsx:78 msgid "Part is virtual (not a physical part)" 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/components/details/PartIcons.tsx:84 +#: src/tables/part/PartTable.tsx:241 +#: src/tables/part/PartTable.tsx:245 #: src/tables/part/PartVariantTable.tsx:25 msgid "Virtual" msgstr "Virtuale" @@ -252,29 +267,29 @@ msgstr "Virtuale" msgid "Image upload failed" msgstr "" -#: src/components/editors/NotesEditor.tsx:151 -#: src/components/forms/ApiForm.tsx:430 -#: src/tables/bom/BomTable.tsx:354 +#: src/components/editors/NotesEditor.tsx:156 +#: src/components/forms/ApiForm.tsx:437 +#: src/tables/bom/BomTable.tsx:357 msgid "Success" msgstr "" -#: src/components/editors/NotesEditor.tsx:152 +#: src/components/editors/NotesEditor.tsx:157 msgid "Notes saved successfully" msgstr "" -#: src/components/editors/NotesEditor.tsx:161 +#: src/components/editors/NotesEditor.tsx:166 msgid "Failed to save notes" msgstr "" -#: src/components/editors/NotesEditor.tsx:193 +#: src/components/editors/NotesEditor.tsx:198 msgid "Preview Notes" msgstr "" -#: src/components/editors/NotesEditor.tsx:193 +#: src/components/editors/NotesEditor.tsx:198 msgid "Edit Notes" msgstr "" -#: src/components/editors/NotesEditor.tsx:207 +#: src/components/editors/NotesEditor.tsx:212 msgid "Save Notes" msgstr "" @@ -407,7 +422,7 @@ msgstr "" msgid "A server error occurred" msgstr "" -#: src/components/forms/ApiForm.tsx:149 +#: src/components/forms/ApiForm.tsx:151 #: src/functions/forms.tsx:259 msgid "Form Error" msgstr "" @@ -416,18 +431,18 @@ msgstr "" #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:611 +#: src/components/forms/ApiForm.tsx:618 #: src/tables/plugin/PluginListTable.tsx:388 msgid "Update" msgstr "" -#: src/components/forms/ApiForm.tsx:631 +#: src/components/forms/ApiForm.tsx:638 #: 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:498 +#: src/tables/InvenTreeTable.tsx:517 #: src/tables/RowActions.tsx:71 #: src/tables/plugin/PluginListTable.tsx:420 msgid "Delete" @@ -600,7 +615,7 @@ msgstr "" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:70 #: src/pages/part/CategoryDetail.tsx:80 -#: src/pages/part/PartDetail.tsx:122 +#: src/pages/part/PartDetail.tsx:123 #: src/pages/stock/LocationDetail.tsx:87 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 @@ -685,6 +700,124 @@ msgstr "" msgid "Thumbnail" msgstr "" +#: src/components/importer/ImportDataSelector.tsx:154 +msgid "Importing Rows" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:155 +msgid "Please wait while the data is imported" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:172 +msgid "An error occurred while importing data" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:191 +msgid "Edit Data" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:218 +msgid "Delete Row" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:248 +msgid "Row" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:266 +msgid "Row contains errors" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:307 +msgid "Accept" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:340 +msgid "Valid" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:341 +msgid "Filter by row validation status" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:346 +#: src/tables/build/BuildOutputTable.tsx:205 +msgid "Complete" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:347 +msgid "Filter by row completion status" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:364 +msgid "Import selected rows" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:46 +#: src/components/importer/ImporterColumnSelector.tsx:85 +msgid "An error occurred" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:57 +msgid "Select column, or leave blank to ignore this field." +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:91 +msgid "Select a column from the data file" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:104 +msgid "Map data columns to database fields" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:109 +msgid "Accept Column Mapping" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:117 +msgid "Database Field" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:118 +msgid "Field Description" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:119 +msgid "Imported Column Name" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:44 +msgid "Import Data" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:45 +msgid "Map Columns" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:46 +msgid "Process Data" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:47 +msgid "Complete Import" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:91 +msgid "Importing Data" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:97 +msgid "Cancel import session" +msgstr "" + +#: src/components/importer/ImporterImportProgress.tsx:36 +msgid "Importing Records" +msgstr "" + +#: src/components/importer/ImporterImportProgress.tsx:39 +msgid "Imported rows" +msgstr "" + #: src/components/items/ActionDropdown.tsx:119 #: src/pages/build/BuildDetail.tsx:358 msgid "Barcode Actions" @@ -738,7 +871,7 @@ msgid "Read More" msgstr "" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:443 +#: src/tables/InvenTreeTable.tsx:462 msgid "Unknown error" msgstr "" @@ -1039,13 +1172,13 @@ msgstr "" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:313 +#: src/pages/Index/Settings/SystemSettings.tsx:314 msgid "System Settings" msgstr "" #: src/components/nav/MainMenu.tsx:67 #: src/defaults/menuItems.tsx:63 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:198 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:209 msgid "Admin Center" msgstr "" @@ -1088,7 +1221,7 @@ msgid "Pages" msgstr "" #: src/components/nav/NavigationDrawer.tsx:65 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:157 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:168 #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:41 msgid "Plugins" msgstr "" @@ -1102,7 +1235,7 @@ msgstr "" msgid "About" msgstr "" -#: src/components/nav/NotificationDrawer.tsx:78 +#: src/components/nav/NotificationDrawer.tsx:81 #: src/pages/Index/Settings/SystemSettings.tsx:108 #: src/pages/Index/Settings/UserSettings.tsx:96 #: src/pages/Notifications.tsx:65 @@ -1110,17 +1243,17 @@ msgstr "" msgid "Notifications" msgstr "" -#: src/components/nav/NotificationDrawer.tsx:95 +#: src/components/nav/NotificationDrawer.tsx:98 msgid "You have no unread notifications." msgstr "" -#: src/components/nav/NotificationDrawer.tsx:111 -#: src/components/nav/NotificationDrawer.tsx:117 +#: src/components/nav/NotificationDrawer.tsx:114 +#: src/components/nav/NotificationDrawer.tsx:120 #: src/tables/notifications/NotificationsTable.tsx:36 msgid "Notification" msgstr "" -#: src/components/nav/NotificationDrawer.tsx:140 +#: src/components/nav/NotificationDrawer.tsx:143 #: src/pages/Notifications.tsx:73 msgid "Mark as read" msgstr "" @@ -1157,7 +1290,7 @@ msgstr "" msgid "No results available for search query" msgstr "" -#: src/components/render/Instance.tsx:166 +#: src/components/render/Instance.tsx:201 msgid "Unknown model: {model}" msgstr "" @@ -1172,7 +1305,8 @@ msgstr "" #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 #: src/pages/build/BuildDetail.tsx:85 -#: src/pages/part/PartDetail.tsx:831 +#: src/pages/part/PartDetail.tsx:872 +#: src/tables/part/PartTable.tsx:28 #: src/tables/part/RelatedPartTable.tsx:45 #: src/tables/stock/StockTrackingTable.tsx:74 msgid "Part" @@ -1185,7 +1319,7 @@ msgstr "" #: src/pages/part/CategoryDetail.tsx:112 #: src/pages/part/CategoryDetail.tsx:237 #: src/pages/part/CategoryDetail.tsx:267 -#: src/pages/part/PartDetail.tsx:639 +#: src/pages/part/PartDetail.tsx:652 msgid "Parts" msgstr "" @@ -1235,7 +1369,7 @@ msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:172 #: src/pages/part/CategoryDetail.tsx:251 #: src/pages/part/CategoryDetail.tsx:288 -#: src/pages/part/PartDetail.tsx:821 +#: src/pages/part/PartDetail.tsx:862 msgid "Part Categories" msgstr "" @@ -1317,7 +1451,7 @@ msgid "Project Code" msgstr "" #: src/components/render/ModelType.tsx:127 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:109 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:120 msgid "Project Codes" msgstr "" @@ -1329,10 +1463,10 @@ msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:134 -#: src/pages/Index/Settings/SystemSettings.tsx:257 +#: src/pages/Index/Settings/SystemSettings.tsx:258 #: src/pages/company/CompanyDetail.tsx:194 #: src/pages/company/SupplierPartDetail.tsx:226 -#: src/pages/part/PartDetail.tsx:573 +#: src/pages/part/PartDetail.tsx:586 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "" @@ -1354,9 +1488,9 @@ msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:272 +#: src/pages/Index/Settings/SystemSettings.tsx:273 #: src/pages/company/CompanyDetail.tsx:214 -#: src/pages/part/PartDetail.tsx:580 +#: src/pages/part/PartDetail.tsx:593 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" @@ -1376,7 +1510,7 @@ msgid "Return Order" msgstr "" #: src/components/render/ModelType.tsx:164 -#: src/pages/Index/Settings/SystemSettings.tsx:288 +#: src/pages/Index/Settings/SystemSettings.tsx:289 #: src/pages/company/CompanyDetail.tsx:221 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1413,40 +1547,49 @@ msgid "Owners" msgstr "" #: src/components/render/ModelType.tsx:193 +#: src/tables/settings/ImportSessionTable.tsx:122 #: src/tables/stock/StockItemTestResultTable.tsx:193 #: src/tables/stock/StockTrackingTable.tsx:195 msgid "User" msgstr "" #: src/components/render/ModelType.tsx:194 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:85 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:90 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" msgstr "" #: src/components/render/ModelType.tsx:200 -msgid "Label Template" +msgid "Import Session" msgstr "" #: src/components/render/ModelType.tsx:201 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:139 -msgid "Label Templates" +msgid "Import Sessions" msgstr "" #: src/components/render/ModelType.tsx:207 -msgid "Report Template" +msgid "Label Template" msgstr "" #: src/components/render/ModelType.tsx:208 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:145 -msgid "Report Templates" +#: src/pages/Index/Settings/AdminCenter/Index.tsx:150 +msgid "Label Templates" msgstr "" #: src/components/render/ModelType.tsx:214 -msgid "Plugin Configuration" +msgid "Report Template" msgstr "" #: src/components/render/ModelType.tsx:215 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:156 +msgid "Report Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:221 +msgid "Plugin Configuration" +msgstr "" + +#: src/components/render/ModelType.tsx:222 msgid "Plugin Configurations" msgstr "" @@ -1458,7 +1601,7 @@ msgstr "" #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 #: src/pages/Index/Settings/SystemSettings.tsx:210 -#: src/pages/part/PartDetail.tsx:492 +#: src/pages/part/PartDetail.tsx:503 #: src/pages/stock/LocationDetail.tsx:347 #: src/pages/stock/StockDetail.tsx:356 #: src/tables/stock/StockItemTable.tsx:57 @@ -1641,10 +1784,6 @@ msgstr "" #~ msgid "Comment" #~ msgstr "Comment" -#: src/components/tables/general/AttachmentTable.tsx:56 -#~ msgid "Uploaded" -#~ msgstr "Uploaded" - #: src/components/tables/part/PartCategoryTable.tsx:122 #~ msgid "Part category updated" #~ msgstr "Part category updated" @@ -2157,7 +2296,7 @@ msgid "Recently Updated" msgstr "" #: src/defaults/dashboardItems.tsx:50 -#: src/tables/part/PartTable.tsx:216 +#: src/tables/part/PartTable.tsx:223 msgid "Low Stock" msgstr "" @@ -2466,7 +2605,7 @@ msgstr "" #~ msgid "Company updated" #~ msgstr "Company updated" -#: src/forms/PartForms.tsx:100 +#: src/forms/PartForms.tsx:103 msgid "Parent part category" msgstr "" @@ -2534,7 +2673,7 @@ msgstr "" #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 #: src/pages/stock/StockDetail.tsx:173 -#: src/tables/ColumnRenderers.tsx:34 +#: src/tables/ColumnRenderers.tsx:49 #: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" msgstr "" @@ -2585,8 +2724,8 @@ msgstr "" #: src/forms/StockForms.tsx:176 #: src/pages/stock/StockDetail.tsx:379 -#: src/tables/stock/StockItemTable.tsx:382 -#: src/tables/stock/StockItemTable.tsx:499 +#: src/tables/stock/StockItemTable.tsx:404 +#: src/tables/stock/StockItemTable.tsx:521 msgid "Add Stock Item" msgstr "" @@ -2606,9 +2745,9 @@ msgstr "" #: src/forms/StockForms.tsx:606 #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 -#: src/pages/part/PartDetail.tsx:202 -#: src/pages/part/PartDetail.tsx:655 -#: src/tables/stock/StockItemTable.tsx:290 +#: src/pages/part/PartDetail.tsx:203 +#: src/pages/part/PartDetail.tsx:668 +#: src/tables/stock/StockItemTable.tsx:312 msgid "In Stock" msgstr "" @@ -2649,12 +2788,12 @@ msgid "Remove Stock" msgstr "" #: src/forms/StockForms.tsx:803 -#: src/pages/part/PartDetail.tsx:782 +#: src/pages/part/PartDetail.tsx:823 msgid "Transfer Stock" msgstr "" #: src/forms/StockForms.tsx:812 -#: src/pages/part/PartDetail.tsx:771 +#: src/pages/part/PartDetail.tsx:812 msgid "Count Stock" msgstr "" @@ -3279,53 +3418,57 @@ msgstr "" #~ msgid "Advanced Amininistrative Options for InvenTree" #~ msgstr "Advanced Amininistrative Options for InvenTree" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:91 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:96 +msgid "Data Import" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:102 msgid "Background Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:97 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:108 msgid "Error Reports" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:103 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:114 msgid "Currencies" 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:132 msgid "Custom Units" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:138 #: src/pages/part/CategoryDetail.tsx:257 msgid "Part Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 -#~ msgid "Templates" -#~ msgstr "Templates" - -#: src/pages/Index/Settings/AdminCenter/Index.tsx:133 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:144 msgid "Category Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:151 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:162 msgid "Location types" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:163 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:174 #: src/tables/machine/MachineTypeTable.tsx:287 msgid "Machines" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:173 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:184 msgid "Quick Actions" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:178 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:189 msgid "Add a new user" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:199 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:210 msgid "Advanced Options" msgstr "" @@ -3477,7 +3620,7 @@ msgid "Reporting" msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:235 -#: src/pages/part/PartDetail.tsx:593 +#: src/pages/part/PartDetail.tsx:606 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" @@ -3485,12 +3628,12 @@ msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:241 #: src/pages/build/BuildDetail.tsx:423 #: src/pages/build/BuildIndex.tsx:14 -#: src/pages/part/PartDetail.tsx:527 +#: src/pages/part/PartDetail.tsx:540 #: src/pages/sales/SalesOrderDetail.tsx:270 msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:316 +#: src/pages/Index/Settings/SystemSettings.tsx:317 msgid "Switch to User Setting" msgstr "" @@ -3555,7 +3698,8 @@ msgstr "" #: 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/settings/ImportSessionTable.tsx:116 +#: src/tables/stock/StockItemTable.tsx:281 #: src/tables/stock/StockTrackingTable.tsx:52 msgid "Status" msgstr "" @@ -3564,7 +3708,7 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:104 #: src/pages/sales/ReturnOrderDetail.tsx:73 #: src/pages/sales/SalesOrderDetail.tsx:77 -#: src/tables/ColumnRenderers.tsx:106 +#: src/tables/ColumnRenderers.tsx:121 #: src/tables/build/BuildLineTable.tsx:140 msgid "Reference" msgstr "" @@ -3574,12 +3718,12 @@ msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:78 #: src/pages/company/SupplierPartDetail.tsx:85 #: src/pages/part/CategoryDetail.tsx:94 -#: src/pages/part/PartDetail.tsx:129 +#: src/pages/part/PartDetail.tsx:130 #: src/pages/purchasing/PurchaseOrderDetail.tsx:125 #: src/pages/sales/ReturnOrderDetail.tsx:93 #: src/pages/sales/SalesOrderDetail.tsx:97 #: src/pages/stock/LocationDetail.tsx:101 -#: src/tables/ColumnRenderers.tsx:66 +#: src/tables/ColumnRenderers.tsx:81 #: src/tables/machine/MachineTypeTable.tsx:69 #: src/tables/machine/MachineTypeTable.tsx:112 #: src/tables/machine/MachineTypeTable.tsx:219 @@ -3610,7 +3754,7 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:152 -#: src/pages/part/PartDetail.tsx:317 +#: src/pages/part/PartDetail.tsx:323 #: src/pages/purchasing/PurchaseOrderDetail.tsx:217 #: src/pages/sales/ReturnOrderDetail.tsx:186 #: src/pages/sales/SalesOrderDetail.tsx:190 @@ -3630,7 +3774,7 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:210 #: src/pages/sales/ReturnOrderDetail.tsx:179 #: src/pages/sales/SalesOrderDetail.tsx:183 -#: src/tables/ColumnRenderers.tsx:191 +#: src/tables/ColumnRenderers.tsx:206 msgid "Target Date" msgstr "" @@ -3711,7 +3855,7 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:297 #: src/pages/company/CompanyDetail.tsx:257 #: src/pages/company/ManufacturerPartDetail.tsx:174 -#: src/pages/part/PartDetail.tsx:616 +#: src/pages/part/PartDetail.tsx:629 #: src/pages/purchasing/PurchaseOrderDetail.tsx:279 #: src/pages/sales/ReturnOrderDetail.tsx:230 #: src/pages/sales/SalesOrderDetail.tsx:280 @@ -3721,7 +3865,7 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:305 #: src/pages/company/CompanyDetail.tsx:268 -#: src/pages/part/PartDetail.tsx:624 +#: src/pages/part/PartDetail.tsx:637 #: src/pages/purchasing/PurchaseOrderDetail.tsx:290 #: src/pages/sales/ReturnOrderDetail.tsx:241 #: src/pages/sales/SalesOrderDetail.tsx:291 @@ -3877,12 +4021,12 @@ msgid "Manufacturer Part Details" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:148 -#: src/pages/part/PartDetail.tsx:486 +#: src/pages/part/PartDetail.tsx:492 msgid "Parameters" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:160 -#: src/pages/part/PartDetail.tsx:560 +#: src/pages/part/PartDetail.tsx:573 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" msgstr "" @@ -3907,7 +4051,7 @@ msgid "ManufacturerPart" msgstr "" #: src/pages/company/SupplierPartDetail.tsx:99 -#: src/tables/ColumnRenderers.tsx:117 +#: src/tables/ColumnRenderers.tsx:132 msgid "Note" msgstr "" @@ -4043,275 +4187,275 @@ msgstr "" msgid "Category Details" msgstr "" -#: src/pages/part/PartDetail.tsx:135 +#: src/pages/part/PartDetail.tsx:136 msgid "Variant of" msgstr "" -#: src/pages/part/PartDetail.tsx:142 +#: src/pages/part/PartDetail.tsx:143 #: src/tables/notifications/NotificationsTable.tsx:31 #: src/tables/part/PartCategoryTemplateTable.tsx:67 msgid "Category" msgstr "" -#: src/pages/part/PartDetail.tsx:148 +#: src/pages/part/PartDetail.tsx:149 msgid "Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:155 +#: src/pages/part/PartDetail.tsx:156 msgid "Category Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:162 +#: src/pages/part/PartDetail.tsx:163 msgid "IPN" msgstr "" -#: src/pages/part/PartDetail.tsx:169 +#: src/pages/part/PartDetail.tsx:170 msgid "Revision" msgstr "" -#: src/pages/part/PartDetail.tsx:176 +#: src/pages/part/PartDetail.tsx:177 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" msgstr "" -#: src/pages/part/PartDetail.tsx:183 +#: src/pages/part/PartDetail.tsx:184 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:190 +#: src/pages/part/PartDetail.tsx:191 #: src/pages/purchasing/PurchaseOrderDetail.tsx:183 #: src/pages/sales/ReturnOrderDetail.tsx:152 #: src/pages/sales/SalesOrderDetail.tsx:156 msgid "Link" msgstr "" -#: src/pages/part/PartDetail.tsx:208 -#: src/tables/bom/BomTable.tsx:276 +#: src/pages/part/PartDetail.tsx:209 +#: src/tables/bom/BomTable.tsx:279 #: src/tables/build/BuildLineTable.tsx:121 -#: src/tables/part/PartTable.tsx:256 +#: src/tables/part/PartTable.tsx:263 msgid "Available Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:215 +#: src/pages/part/PartDetail.tsx:216 msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:221 -#: src/tables/bom/BomTable.tsx:217 +#: src/pages/part/PartDetail.tsx:222 +#: src/tables/bom/BomTable.tsx:220 #: src/tables/build/BuildLineTable.tsx:95 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:230 +#: src/pages/part/PartDetail.tsx:231 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:238 +#: src/pages/part/PartDetail.tsx:239 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:245 -#: src/tables/bom/BomTable.tsx:241 +#: src/pages/part/PartDetail.tsx:246 +#: src/tables/bom/BomTable.tsx:244 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:252 -#: src/tables/bom/BomTable.tsx:225 -#: src/tables/part/PartTable.tsx:82 +#: src/pages/part/PartDetail.tsx:253 +#: src/tables/bom/BomTable.tsx:228 +#: src/tables/part/PartTable.tsx:83 msgid "Building" msgstr "" -#: src/pages/part/PartDetail.tsx:261 +#: src/pages/part/PartDetail.tsx:262 #: src/tables/bom/UsedInTable.tsx:73 #: src/tables/build/BuildOrderTable.tsx:108 #: src/tables/company/CompanyTable.tsx:61 #: src/tables/company/CompanyTable.tsx:95 #: src/tables/machine/MachineListTable.tsx:323 #: src/tables/machine/MachineListTable.tsx:585 -#: src/tables/part/PartTable.tsx:168 +#: src/tables/part/PartTable.tsx:169 #: src/tables/part/PartVariantTable.tsx:15 #: 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 +#: src/tables/stock/StockItemTable.tsx:276 msgid "Active" msgstr "" -#: src/pages/part/PartDetail.tsx:266 +#: src/pages/part/PartDetail.tsx:272 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:271 -#: src/tables/bom/BomTable.tsx:271 +#: src/pages/part/PartDetail.tsx:277 +#: src/tables/bom/BomTable.tsx:274 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:276 +#: src/pages/part/PartDetail.tsx:282 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:281 -#: src/tables/bom/BomTable.tsx:266 +#: src/pages/part/PartDetail.tsx:287 +#: src/tables/bom/BomTable.tsx:269 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:286 +#: src/pages/part/PartDetail.tsx:292 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:291 +#: src/pages/part/PartDetail.tsx:297 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:296 +#: src/pages/part/PartDetail.tsx:302 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:304 -#: src/tables/ColumnRenderers.tsx:199 +#: src/pages/part/PartDetail.tsx:310 +#: src/tables/ColumnRenderers.tsx:214 msgid "Creation Date" msgstr "" -#: src/pages/part/PartDetail.tsx:309 -msgid "Created By" -msgstr "" - #: src/pages/part/PartDetail.tsx:310 #~ msgid "Edit part" #~ msgstr "Edit part" +#: src/pages/part/PartDetail.tsx:315 +msgid "Created By" +msgstr "" + #: src/pages/part/PartDetail.tsx:322 #~ msgid "Duplicate part" #~ msgstr "Duplicate part" -#: src/pages/part/PartDetail.tsx:324 -msgid "Default Supplier" -msgstr "" - #: src/pages/part/PartDetail.tsx:327 #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:335 +#: src/pages/part/PartDetail.tsx:330 +msgid "Default Supplier" +msgstr "" + +#: src/pages/part/PartDetail.tsx:341 #: src/pages/part/pricing/BomPricingPanel.tsx:78 #: src/pages/part/pricing/VariantPricingPanel.tsx:95 -#: src/tables/part/PartTable.tsx:151 +#: src/tables/part/PartTable.tsx:152 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:374 +#: src/pages/part/PartDetail.tsx:380 #: src/pages/stock/StockDetail.tsx:133 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:409 +#: src/pages/part/PartDetail.tsx:415 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:480 +#: src/pages/part/PartDetail.tsx:486 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:506 +#: src/pages/part/PartDetail.tsx:517 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:513 +#: src/pages/part/PartDetail.tsx:524 #: src/pages/stock/StockDetail.tsx:286 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:520 +#: src/pages/part/PartDetail.tsx:531 msgid "Bill of Materials" msgstr "" -#: src/pages/part/PartDetail.tsx:534 +#: src/pages/part/PartDetail.tsx:547 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:541 +#: src/pages/part/PartDetail.tsx:554 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:547 +#: src/pages/part/PartDetail.tsx:560 #: src/pages/purchasing/PurchasingIndex.tsx:37 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:587 +#: src/pages/part/PartDetail.tsx:600 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:599 +#: src/pages/part/PartDetail.tsx:612 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:610 +#: src/pages/part/PartDetail.tsx:623 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:661 +#: src/pages/part/PartDetail.tsx:674 #: src/pages/stock/StockDetail.tsx:154 #: src/pages/stock/StockDetail.tsx:533 #: src/tables/build/BuildLineTable.tsx:36 -#: src/tables/part/PartTable.tsx:107 +#: src/tables/part/PartTable.tsx:108 #: src/tables/stock/StockItemTable.tsx:166 -#: src/tables/stock/StockItemTable.tsx:275 +#: src/tables/stock/StockItemTable.tsx:297 msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:667 +#: src/pages/part/PartDetail.tsx:680 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:673 -#: src/tables/bom/BomTable.tsx:281 -#: src/tables/part/PartTable.tsx:76 +#: src/pages/part/PartDetail.tsx:686 +#: src/tables/bom/BomTable.tsx:284 +#: src/tables/part/PartTable.tsx:77 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:679 +#: src/pages/part/PartDetail.tsx:692 #: src/pages/stock/StockDetail.tsx:516 -#: src/tables/stock/StockItemTable.tsx:295 +#: src/tables/stock/StockItemTable.tsx:317 msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:698 +#: src/pages/part/PartDetail.tsx:717 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:705 -#: src/tables/part/PartTable.tsx:289 -#: src/tables/part/PartTable.tsx:302 +#: src/pages/part/PartDetail.tsx:744 +#: src/tables/part/PartTable.tsx:296 +#: src/tables/part/PartTable.tsx:309 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:717 +#: src/pages/part/PartDetail.tsx:758 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:726 +#: src/pages/part/PartDetail.tsx:767 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:764 +#: src/pages/part/PartDetail.tsx:805 #: src/pages/stock/LocationDetail.tsx:304 -#: src/tables/stock/StockItemTable.tsx:409 +#: src/tables/stock/StockItemTable.tsx:431 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:772 +#: src/pages/part/PartDetail.tsx:813 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:824 msgid "Transfer part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:792 +#: src/pages/part/PartDetail.tsx:833 msgid "Part Actions" msgstr "" @@ -4359,8 +4503,8 @@ msgstr "" #: src/pages/part/pricing/BomPricingPanel.tsx:57 #: src/pages/part/pricing/BomPricingPanel.tsx:137 -#: src/tables/ColumnRenderers.tsx:241 -#: src/tables/bom/BomTable.tsx:165 +#: src/tables/ColumnRenderers.tsx:256 +#: src/tables/bom/BomTable.tsx:168 #: src/tables/purchasing/PurchaseOrderTable.tsx:112 #: src/tables/sales/ReturnOrderTable.tsx:104 #: src/tables/sales/SalesOrderTable.tsx:134 @@ -4369,7 +4513,7 @@ msgstr "" #: src/pages/part/pricing/BomPricingPanel.tsx:77 #: src/pages/part/pricing/BomPricingPanel.tsx:101 -#: src/tables/part/PartTable.tsx:186 +#: src/tables/part/PartTable.tsx:193 msgid "Component" msgstr "" @@ -4398,7 +4542,7 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:67 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:128 #: src/pages/part/pricing/SupplierPricingPanel.tsx:62 -#: src/tables/bom/BomTable.tsx:156 +#: src/tables/bom/BomTable.tsx:159 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 msgid "Unit Price" @@ -4498,7 +4642,7 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:40 #: src/pages/part/pricing/SaleHistoryPanel.tsx:36 -#: src/tables/ColumnRenderers.tsx:180 +#: src/tables/ColumnRenderers.tsx:195 #: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" @@ -4771,12 +4915,12 @@ msgid "Count stock" msgstr "" #: src/pages/stock/StockDetail.tsx:459 -#: src/tables/stock/StockItemTable.tsx:414 +#: src/tables/stock/StockItemTable.tsx:436 msgid "Add stock" msgstr "" #: src/pages/stock/StockDetail.tsx:467 -#: src/tables/stock/StockItemTable.tsx:423 +#: src/tables/stock/StockItemTable.tsx:445 msgid "Remove stock" msgstr "" @@ -4785,7 +4929,7 @@ msgid "Transfer" msgstr "" #: src/pages/stock/StockDetail.tsx:475 -#: src/tables/stock/StockItemTable.tsx:443 +#: src/tables/stock/StockItemTable.tsx:465 msgid "Transfer stock" msgstr "" @@ -4793,15 +4937,15 @@ msgstr "" msgid "Stock Item Actions" msgstr "" -#: src/tables/ColumnRenderers.tsx:42 +#: src/tables/ColumnRenderers.tsx:57 msgid "No location set" msgstr "" -#: src/tables/ColumnRenderers.tsx:207 +#: src/tables/ColumnRenderers.tsx:222 msgid "Shipment Date" msgstr "" -#: src/tables/ColumnRenderers.tsx:227 +#: src/tables/ColumnRenderers.tsx:242 #: src/tables/settings/CurrencyTable.tsx:23 msgid "Currency" msgstr "" @@ -4828,14 +4972,14 @@ msgid "TSV" msgstr "" #: src/tables/DownloadAction.tsx:24 -msgid "Excel (.xls)" -msgstr "" - -#: src/tables/DownloadAction.tsx:25 msgid "Excel (.xlsx)" msgstr "" -#: src/tables/DownloadAction.tsx:39 +#: src/tables/DownloadAction.tsx:24 +#~ msgid "Excel (.xls)" +#~ msgstr "" + +#: src/tables/DownloadAction.tsx:38 msgid "Download Data" msgstr "" @@ -4900,54 +5044,54 @@ msgstr "" msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:119 -#: src/tables/InvenTreeTable.tsx:390 -#: src/tables/InvenTreeTable.tsx:411 +#: src/tables/InvenTreeTable.tsx:126 +#: src/tables/InvenTreeTable.tsx:409 +#: src/tables/InvenTreeTable.tsx:430 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:422 +#: src/tables/InvenTreeTable.tsx:441 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:430 +#: src/tables/InvenTreeTable.tsx:449 msgid "Bad request" msgstr "" -#: src/tables/InvenTreeTable.tsx:433 +#: src/tables/InvenTreeTable.tsx:452 msgid "Unauthorized" msgstr "" -#: src/tables/InvenTreeTable.tsx:436 +#: src/tables/InvenTreeTable.tsx:455 msgid "Forbidden" msgstr "" -#: src/tables/InvenTreeTable.tsx:439 +#: src/tables/InvenTreeTable.tsx:458 msgid "Not found" msgstr "" -#: src/tables/InvenTreeTable.tsx:488 -#: src/tables/InvenTreeTable.tsx:606 +#: src/tables/InvenTreeTable.tsx:507 +#: src/tables/InvenTreeTable.tsx:623 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:492 +#: src/tables/InvenTreeTable.tsx:511 msgid "Are you sure you want to delete the selected records?" msgstr "" -#: src/tables/InvenTreeTable.tsx:494 +#: src/tables/InvenTreeTable.tsx:513 msgid "This action cannot be undone!" msgstr "" -#: src/tables/InvenTreeTable.tsx:517 +#: src/tables/InvenTreeTable.tsx:536 msgid "Deleted records" msgstr "" -#: src/tables/InvenTreeTable.tsx:518 +#: src/tables/InvenTreeTable.tsx:537 msgid "Records were deleted successfully" msgstr "" -#: src/tables/InvenTreeTable.tsx:527 +#: src/tables/InvenTreeTable.tsx:546 msgid "Failed to delete records" msgstr "" @@ -4956,140 +5100,144 @@ msgstr "" #~ msgid "Print actions" #~ msgstr "Print actions" -#: src/tables/InvenTreeTable.tsx:596 -#: src/tables/InvenTreeTable.tsx:597 +#: src/tables/InvenTreeTable.tsx:613 +#: src/tables/InvenTreeTable.tsx:614 msgid "Barcode actions" msgstr "" -#: src/tables/InvenTreeTable.tsx:625 +#: src/tables/InvenTreeTable.tsx:642 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTable.tsx:646 +#: src/tables/InvenTreeTable.tsx:663 msgid "Table filters" msgstr "" -#: src/tables/bom/BomTable.tsx:80 +#: src/tables/UploadAction.tsx:9 +msgid "Upload Data" +msgstr "" + +#: src/tables/bom/BomTable.tsx:83 msgid "This BOM item is defined for a different parent" msgstr "" -#: src/tables/bom/BomTable.tsx:95 +#: src/tables/bom/BomTable.tsx:98 msgid "Part Information" msgstr "" -#: src/tables/bom/BomTable.tsx:184 -#: src/tables/part/PartTable.tsx:124 +#: src/tables/bom/BomTable.tsx:187 +#: src/tables/part/PartTable.tsx:125 msgid "No stock" msgstr "" -#: src/tables/bom/BomTable.tsx:192 +#: src/tables/bom/BomTable.tsx:195 #: src/tables/build/BuildLineTable.tsx:104 -#: src/tables/part/PartTable.tsx:115 +#: src/tables/part/PartTable.tsx:116 msgid "External stock" msgstr "" -#: src/tables/bom/BomTable.tsx:200 +#: src/tables/bom/BomTable.tsx:203 #: src/tables/build/BuildLineTable.tsx:67 msgid "Includes substitute stock" msgstr "" -#: src/tables/bom/BomTable.tsx:209 +#: src/tables/bom/BomTable.tsx:212 #: src/tables/build/BuildLineTable.tsx:77 msgid "Includes variant stock" msgstr "" -#: src/tables/bom/BomTable.tsx:234 -#: src/tables/part/PartTable.tsx:143 +#: src/tables/bom/BomTable.tsx:237 +#: src/tables/part/PartTable.tsx:144 #: src/tables/stock/StockItemTable.tsx:205 msgid "Stock Information" msgstr "" -#: src/tables/bom/BomTable.tsx:246 +#: src/tables/bom/BomTable.tsx:249 #: src/tables/build/BuildLineTable.tsx:195 msgid "Consumable item" msgstr "" -#: src/tables/bom/BomTable.tsx:267 +#: src/tables/bom/BomTable.tsx:270 msgid "Show trackable items" msgstr "" -#: src/tables/bom/BomTable.tsx:272 +#: src/tables/bom/BomTable.tsx:275 msgid "Show asssmbled items" msgstr "" -#: src/tables/bom/BomTable.tsx:277 +#: src/tables/bom/BomTable.tsx:280 msgid "Show items with available stock" msgstr "" -#: src/tables/bom/BomTable.tsx:282 +#: src/tables/bom/BomTable.tsx:285 msgid "Show items on order" msgstr "" -#: src/tables/bom/BomTable.tsx:286 +#: src/tables/bom/BomTable.tsx:289 msgid "Validated" msgstr "" -#: src/tables/bom/BomTable.tsx:287 +#: src/tables/bom/BomTable.tsx:290 msgid "Show validated items" msgstr "" -#: src/tables/bom/BomTable.tsx:291 +#: src/tables/bom/BomTable.tsx:294 #: src/tables/bom/UsedInTable.tsx:63 msgid "Inherited" msgstr "" -#: src/tables/bom/BomTable.tsx:292 +#: src/tables/bom/BomTable.tsx:295 #: src/tables/bom/UsedInTable.tsx:64 msgid "Show inherited items" msgstr "" -#: src/tables/bom/BomTable.tsx:296 +#: src/tables/bom/BomTable.tsx:299 msgid "Allow Variants" msgstr "" -#: src/tables/bom/BomTable.tsx:297 +#: src/tables/bom/BomTable.tsx:300 msgid "Show items which allow variant substitution" msgstr "" #: src/tables/bom/BomTable.tsx:301 +#~ msgid "Create BOM Item" +#~ msgstr "Create BOM Item" + +#: src/tables/bom/BomTable.tsx:304 #: src/tables/bom/UsedInTable.tsx:68 #: src/tables/build/BuildLineTable.tsx:46 msgid "Optional" msgstr "" -#: src/tables/bom/BomTable.tsx:301 -#~ msgid "Create BOM Item" -#~ msgstr "Create BOM Item" - -#: src/tables/bom/BomTable.tsx:302 +#: src/tables/bom/BomTable.tsx:305 #: src/tables/bom/UsedInTable.tsx:69 msgid "Show optional items" msgstr "" -#: src/tables/bom/BomTable.tsx:306 +#: src/tables/bom/BomTable.tsx:309 #: src/tables/build/BuildLineTable.tsx:41 msgid "Consumable" msgstr "" -#: src/tables/bom/BomTable.tsx:307 +#: src/tables/bom/BomTable.tsx:310 msgid "Show consumable items" msgstr "" -#: src/tables/bom/BomTable.tsx:311 -#: src/tables/part/PartTable.tsx:250 +#: src/tables/bom/BomTable.tsx:314 +#: src/tables/part/PartTable.tsx:257 msgid "Has Pricing" msgstr "" -#: src/tables/bom/BomTable.tsx:312 +#: src/tables/bom/BomTable.tsx:315 msgid "Show items with pricing" msgstr "" -#: src/tables/bom/BomTable.tsx:321 -#: src/tables/bom/BomTable.tsx:420 +#: src/tables/bom/BomTable.tsx:324 +#: src/tables/bom/BomTable.tsx:426 msgid "Add BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:326 +#: src/tables/bom/BomTable.tsx:329 msgid "BOM item created" msgstr "" @@ -5097,23 +5245,23 @@ msgstr "" #~ msgid "Edit Bom Item" #~ msgstr "Edit Bom Item" -#: src/tables/bom/BomTable.tsx:333 -msgid "Edit BOM Item" -msgstr "" - #: src/tables/bom/BomTable.tsx:333 #~ msgid "Bom item updated" #~ msgstr "Bom item updated" -#: src/tables/bom/BomTable.tsx:335 +#: src/tables/bom/BomTable.tsx:336 +msgid "Edit BOM Item" +msgstr "" + +#: src/tables/bom/BomTable.tsx:338 msgid "BOM item updated" msgstr "" -#: src/tables/bom/BomTable.tsx:342 +#: src/tables/bom/BomTable.tsx:345 msgid "Delete BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:343 +#: src/tables/bom/BomTable.tsx:346 msgid "BOM item deleted" msgstr "" @@ -5133,32 +5281,41 @@ msgstr "" #~ msgid "Validate BOM line" #~ msgstr "Validate BOM line" -#: src/tables/bom/BomTable.tsx:355 +#: src/tables/bom/BomTable.tsx:358 msgid "BOM item validated" msgstr "" -#: src/tables/bom/BomTable.tsx:364 +#: src/tables/bom/BomTable.tsx:367 msgid "Failed to validate BOM item" msgstr "" -#: src/tables/bom/BomTable.tsx:376 +#: src/tables/bom/BomTable.tsx:379 msgid "View BOM" msgstr "" -#: src/tables/bom/BomTable.tsx:385 +#: src/tables/bom/BomTable.tsx:388 msgid "Validate BOM Line" msgstr "" -#: src/tables/bom/BomTable.tsx:399 +#: src/tables/bom/BomTable.tsx:405 msgid "Edit Substitutes" msgstr "" +#: src/tables/bom/BomTable.tsx:440 +#: src/tables/part/PartParameterTable.tsx:191 +msgid "Part is Locked" +msgstr "" + +#: src/tables/bom/BomTable.tsx:445 +msgid "Bill of materials cannot be edited, as the part is locked" +msgstr "" + #: src/tables/bom/UsedInTable.tsx:74 msgid "Show active assemblies" msgstr "" #: src/tables/bom/UsedInTable.tsx:78 -#: src/tables/part/PartTable.tsx:192 +#: src/tables/part/PartTable.tsx:199 #: src/tables/part/PartVariantTable.tsx:30 msgid "Trackable" msgstr "" @@ -5168,7 +5325,7 @@ msgid "Show trackable assemblies" msgstr "" #: src/tables/build/BuildLineTable.tsx:31 -#: src/tables/stock/StockItemTable.tsx:270 +#: src/tables/stock/StockItemTable.tsx:292 msgid "Allocated" msgstr "" @@ -5189,7 +5346,7 @@ msgid "Show optional lines" msgstr "" #: src/tables/build/BuildLineTable.tsx:51 -#: src/tables/stock/StockItemTable.tsx:329 +#: src/tables/stock/StockItemTable.tsx:351 msgid "Tracked" msgstr "" @@ -5302,10 +5459,6 @@ msgstr "" msgid "Deallocate stock from build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:205 -msgid "Complete" -msgstr "" - #: src/tables/build/BuildOutputTable.tsx:206 msgid "Complete build output" msgstr "" @@ -5635,7 +5788,7 @@ msgid "Message" msgstr "" #: src/tables/part/ParametricPartTable.tsx:76 -#: src/tables/part/PartParameterTable.tsx:88 +#: src/tables/part/PartParameterTable.tsx:95 msgid "Internal Units" msgstr "" @@ -5648,13 +5801,13 @@ msgid "Add Part Parameter" msgstr "" #: src/tables/part/ParametricPartTable.tsx:138 -#: src/tables/part/PartParameterTable.tsx:121 -#: src/tables/part/PartParameterTable.tsx:144 +#: src/tables/part/PartParameterTable.tsx:128 +#: src/tables/part/PartParameterTable.tsx:151 msgid "Edit Part Parameter" msgstr "" #: src/tables/part/PartCategoryTable.tsx:60 -#: src/tables/part/PartTable.tsx:180 +#: src/tables/part/PartTable.tsx:187 msgid "Include Subcategories" msgstr "" @@ -5667,7 +5820,7 @@ msgid "Show structural categories" msgstr "" #: src/tables/part/PartCategoryTable.tsx:70 -#: src/tables/part/PartTable.tsx:262 +#: src/tables/part/PartTable.tsx:269 msgid "Subscribed" msgstr "" @@ -5704,21 +5857,25 @@ msgstr "" #~ msgid "[{0}]" #~ msgstr "[{0}]" -#: src/tables/part/PartParameterTable.tsx:105 +#: src/tables/part/PartParameterTable.tsx:112 msgid "New Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:130 -#: src/tables/part/PartParameterTable.tsx:152 +#: src/tables/part/PartParameterTable.tsx:137 +#: src/tables/part/PartParameterTable.tsx:159 msgid "Delete Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:170 +#: src/tables/part/PartParameterTable.tsx:177 msgid "Add parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:191 -#: src/tables/stock/StockItemTable.tsx:300 +#: src/tables/part/PartParameterTable.tsx:196 +msgid "Part parameters cannot be edited, as the part is locked" +msgstr "" + +#: src/tables/part/PartParameterTable.tsx:210 +#: src/tables/stock/StockItemTable.tsx:322 msgid "Include Variants" msgstr "" @@ -5739,7 +5896,7 @@ msgid "Show templates with choices" msgstr "" #: src/tables/part/PartParameterTemplateTable.tsx:41 -#: src/tables/part/PartTable.tsx:198 +#: src/tables/part/PartTable.tsx:205 msgid "Has Units" msgstr "" @@ -5763,116 +5920,120 @@ msgstr "" msgid "Add parameter template" msgstr "" -#: src/tables/part/PartTable.tsx:67 +#: src/tables/part/PartTable.tsx:68 msgid "Minimum stock" msgstr "" -#: src/tables/part/PartTable.tsx:89 +#: src/tables/part/PartTable.tsx:90 msgid "Build Order Allocations" msgstr "" -#: src/tables/part/PartTable.tsx:98 +#: src/tables/part/PartTable.tsx:99 msgid "Sales Order Allocations" msgstr "" -#: src/tables/part/PartTable.tsx:169 +#: src/tables/part/PartTable.tsx:170 msgid "Filter by part active status" msgstr "" -#: src/tables/part/PartTable.tsx:174 -#: src/tables/stock/StockItemTable.tsx:265 +#: src/tables/part/PartTable.tsx:176 +msgid "Filter by part locked status" +msgstr "" + +#: src/tables/part/PartTable.tsx:181 +#: src/tables/stock/StockItemTable.tsx:287 msgid "Assembly" msgstr "" -#: src/tables/part/PartTable.tsx:175 +#: src/tables/part/PartTable.tsx:182 msgid "Filter by assembly attribute" msgstr "" -#: src/tables/part/PartTable.tsx:181 +#: src/tables/part/PartTable.tsx:188 msgid "Include parts in subcategories" msgstr "" -#: src/tables/part/PartTable.tsx:187 +#: src/tables/part/PartTable.tsx:194 msgid "Filter by component attribute" msgstr "" -#: src/tables/part/PartTable.tsx:193 +#: src/tables/part/PartTable.tsx:200 msgid "Filter by trackable attribute" msgstr "" -#: src/tables/part/PartTable.tsx:199 +#: src/tables/part/PartTable.tsx:206 msgid "Filter by parts which have units" msgstr "" -#: src/tables/part/PartTable.tsx:204 +#: src/tables/part/PartTable.tsx:211 msgid "Has IPN" msgstr "" -#: src/tables/part/PartTable.tsx:205 +#: src/tables/part/PartTable.tsx:212 msgid "Filter by parts which have an internal part number" msgstr "" -#: src/tables/part/PartTable.tsx:210 +#: src/tables/part/PartTable.tsx:217 msgid "Has Stock" msgstr "" -#: src/tables/part/PartTable.tsx:211 +#: src/tables/part/PartTable.tsx:218 msgid "Filter by parts which have stock" msgstr "" -#: src/tables/part/PartTable.tsx:217 +#: src/tables/part/PartTable.tsx:224 msgid "Filter by parts which have low stock" msgstr "" -#: src/tables/part/PartTable.tsx:222 +#: src/tables/part/PartTable.tsx:229 msgid "Purchaseable" msgstr "" -#: src/tables/part/PartTable.tsx:223 +#: src/tables/part/PartTable.tsx:230 msgid "Filter by parts which are purchaseable" msgstr "" -#: src/tables/part/PartTable.tsx:228 +#: src/tables/part/PartTable.tsx:235 msgid "Salable" msgstr "" -#: src/tables/part/PartTable.tsx:229 +#: src/tables/part/PartTable.tsx:236 msgid "Filter by parts which are salable" msgstr "" -#: src/tables/part/PartTable.tsx:235 +#: src/tables/part/PartTable.tsx:242 msgid "Filter by parts which are virtual" msgstr "" -#: src/tables/part/PartTable.tsx:239 +#: src/tables/part/PartTable.tsx:246 msgid "Not Virtual" msgstr "" -#: src/tables/part/PartTable.tsx:244 +#: src/tables/part/PartTable.tsx:251 msgid "Is Template" msgstr "" -#: src/tables/part/PartTable.tsx:245 +#: src/tables/part/PartTable.tsx:252 msgid "Filter by parts which are templates" msgstr "" -#: src/tables/part/PartTable.tsx:251 +#: src/tables/part/PartTable.tsx:258 msgid "Filter by parts which have pricing information" msgstr "" -#: src/tables/part/PartTable.tsx:257 +#: src/tables/part/PartTable.tsx:264 msgid "Filter by parts which have available stock" msgstr "" -#: src/tables/part/PartTable.tsx:263 +#: src/tables/part/PartTable.tsx:270 msgid "Filter by parts to which the user is subscribed" msgstr "" -#: src/tables/part/PartTable.tsx:268 +#: src/tables/part/PartTable.tsx:275 msgid "Has Stocktake" msgstr "" -#: src/tables/part/PartTable.tsx:269 +#: src/tables/part/PartTable.tsx:276 msgid "Filter by parts which have stocktake information" msgstr "" @@ -6211,7 +6372,7 @@ msgid "Sample" msgstr "" #: src/tables/plugin/PluginListTable.tsx:578 -#: src/tables/stock/StockItemTable.tsx:305 +#: src/tables/stock/StockItemTable.tsx:327 msgid "Installed" msgstr "" @@ -6486,6 +6647,41 @@ msgstr "" msgid "Edit group" msgstr "" +#: src/tables/settings/ImportSessionTable.tsx:39 +msgid "Delete Import Session" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:45 +#: src/tables/settings/ImportSessionTable.tsx:132 +msgid "Create Import Session" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:70 +msgid "Uploaded" +msgstr "Uploaded" + +#: src/tables/settings/ImportSessionTable.tsx:80 +msgid "Imported Rows" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:110 +#: src/tables/settings/TemplateTable.tsx:276 +msgid "Model Type" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:111 +#: src/tables/settings/TemplateTable.tsx:277 +msgid "Filter by target model type" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:117 +msgid "Filter by import session status" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:123 +msgid "Filter by user" +msgstr "" + #: src/tables/settings/PendingTasksTable.tsx:36 msgid "Arguments" msgstr "" @@ -6502,7 +6698,7 @@ msgstr "" msgid "Delete Project Code" msgstr "" -#: src/tables/settings/ProjectCodeTable.tsx:94 +#: src/tables/settings/ProjectCodeTable.tsx:92 msgid "Add project code" msgstr "" @@ -6571,14 +6767,6 @@ msgstr "" 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 "" @@ -6701,149 +6889,153 @@ msgstr "" msgid "This stock item has been depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:255 +#: src/tables/stock/StockItemTable.tsx:247 +msgid "Stock Value" +msgstr "" + +#: src/tables/stock/StockItemTable.tsx:277 msgid "Show stock for active parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:260 +#: src/tables/stock/StockItemTable.tsx:282 msgid "Filter by stock status" msgstr "" -#: src/tables/stock/StockItemTable.tsx:266 +#: src/tables/stock/StockItemTable.tsx:288 msgid "Show stock for assmebled parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:271 +#: src/tables/stock/StockItemTable.tsx:293 msgid "Show items which have been allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:276 +#: src/tables/stock/StockItemTable.tsx:298 msgid "Show items which are available" msgstr "" -#: src/tables/stock/StockItemTable.tsx:280 +#: src/tables/stock/StockItemTable.tsx:302 #: src/tables/stock/StockLocationTable.tsx:42 msgid "Include Sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:281 +#: src/tables/stock/StockItemTable.tsx:303 msgid "Include stock in sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:285 +#: src/tables/stock/StockItemTable.tsx:307 msgid "Depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:286 +#: src/tables/stock/StockItemTable.tsx:308 msgid "Show depleted stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:291 +#: src/tables/stock/StockItemTable.tsx:313 msgid "Show items which are in stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:296 +#: src/tables/stock/StockItemTable.tsx:318 msgid "Show items which are in production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:301 +#: src/tables/stock/StockItemTable.tsx:323 msgid "Include stock items for variant parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:306 +#: src/tables/stock/StockItemTable.tsx:328 msgid "Show stock items which are installed in other items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:310 +#: src/tables/stock/StockItemTable.tsx:332 msgid "Sent to Customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:311 +#: src/tables/stock/StockItemTable.tsx:333 msgid "Show items which have been sent to a customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:315 +#: src/tables/stock/StockItemTable.tsx:337 msgid "Is Serialized" msgstr "" -#: src/tables/stock/StockItemTable.tsx:316 +#: src/tables/stock/StockItemTable.tsx:338 msgid "Show items which have a serial number" msgstr "" -#: src/tables/stock/StockItemTable.tsx:323 +#: src/tables/stock/StockItemTable.tsx:345 msgid "Has Batch Code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:324 +#: src/tables/stock/StockItemTable.tsx:346 msgid "Show items which have a batch code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:330 +#: src/tables/stock/StockItemTable.tsx:352 msgid "Show tracked items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:334 +#: src/tables/stock/StockItemTable.tsx:356 msgid "Has Purchase Price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:335 +#: src/tables/stock/StockItemTable.tsx:357 msgid "Show items which have a purchase price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:343 +#: src/tables/stock/StockItemTable.tsx:365 msgid "External Location" msgstr "" -#: src/tables/stock/StockItemTable.tsx:344 +#: src/tables/stock/StockItemTable.tsx:366 msgid "Show items in an external location" msgstr "" -#: src/tables/stock/StockItemTable.tsx:416 +#: src/tables/stock/StockItemTable.tsx:438 msgid "Add a new stock item" msgstr "" -#: src/tables/stock/StockItemTable.tsx:425 +#: src/tables/stock/StockItemTable.tsx:447 msgid "Remove some quantity from a stock item" msgstr "" -#: src/tables/stock/StockItemTable.tsx:447 +#: src/tables/stock/StockItemTable.tsx:469 msgid "Move Stock items to new locations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:454 +#: src/tables/stock/StockItemTable.tsx:476 msgid "Change stock status" msgstr "" -#: src/tables/stock/StockItemTable.tsx:456 +#: src/tables/stock/StockItemTable.tsx:478 msgid "Change the status of stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:463 +#: src/tables/stock/StockItemTable.tsx:485 msgid "Merge stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:465 +#: src/tables/stock/StockItemTable.tsx:487 msgid "Merge stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:472 +#: src/tables/stock/StockItemTable.tsx:494 msgid "Order stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:474 -#: src/tables/stock/StockItemTable.tsx:480 +#: src/tables/stock/StockItemTable.tsx:496 +#: src/tables/stock/StockItemTable.tsx:502 msgid "Order new stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:478 +#: src/tables/stock/StockItemTable.tsx:500 msgid "Assign to customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:487 +#: src/tables/stock/StockItemTable.tsx:509 msgid "Delete stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:489 +#: src/tables/stock/StockItemTable.tsx:511 msgid "Delete stock items" msgstr "" @@ -6999,4 +7191,3 @@ msgstr "" #: src/views/MobileAppView.tsx:35 msgid "Ignore and continue to Desktop view" msgstr "" - diff --git a/src/frontend/src/locales/ja/messages.po b/src/frontend/src/locales/ja/messages.po index 34d201041395..9b59f1ed5b27 100644 --- a/src/frontend/src/locales/ja/messages.po +++ b/src/frontend/src/locales/ja/messages.po @@ -49,16 +49,18 @@ msgstr "" #: src/components/buttons/PrintingActions.tsx:107 #: src/components/buttons/PrintingActions.tsx:144 #: src/components/editors/NotesEditor.tsx:65 -#: src/components/editors/NotesEditor.tsx:160 -#: src/components/forms/ApiForm.tsx:506 -#: src/components/forms/fields/ApiFormField.tsx:295 +#: src/components/editors/NotesEditor.tsx:165 +#: src/components/forms/ApiForm.tsx:513 +#: src/components/forms/fields/ApiFormField.tsx:306 +#: src/components/importer/ImportDataSelector.tsx:171 +#: src/components/importer/ImporterColumnSelector.tsx:112 #: src/components/modals/LicenseModal.tsx:75 #: src/components/nav/SearchDrawer.tsx:427 #: src/pages/ErrorPage.tsx:11 #: src/pages/part/PartPricingPanel.tsx:71 -#: src/tables/InvenTreeTable.tsx:451 -#: src/tables/InvenTreeTable.tsx:526 -#: src/tables/bom/BomTable.tsx:363 +#: src/tables/InvenTreeTable.tsx:470 +#: src/tables/InvenTreeTable.tsx:545 +#: src/tables/bom/BomTable.tsx:366 #: src/tables/stock/StockItemTestResultTable.tsx:294 msgid "Error" msgstr "エラー" @@ -157,7 +159,7 @@ msgstr "" #: src/functions/forms.tsx:196 #: src/hooks/UseForm.tsx:40 #: src/tables/FilterSelectDrawer.tsx:204 -#: src/tables/InvenTreeTable.tsx:499 +#: src/tables/InvenTreeTable.tsx:518 #: src/tables/build/BuildOutputTable.tsx:225 msgid "Cancel" msgstr "キャンセル" @@ -175,7 +177,7 @@ msgid "Clear" msgstr "" #: src/components/details/DetailsImage.tsx:227 -#: src/components/forms/ApiForm.tsx:573 +#: src/components/forms/ApiForm.tsx:580 #: src/contexts/ThemeContext.tsx:43 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:56 msgid "Submit" @@ -202,48 +204,61 @@ msgid "Delete image" msgstr "" #: src/components/details/PartIcons.tsx:28 +#: src/tables/ColumnRenderers.tsx:35 +msgid "Part is locked" +msgstr "" + +#: src/components/details/PartIcons.tsx:30 +#: src/pages/part/PartDetail.tsx:267 +#: src/pages/part/PartDetail.tsx:698 +#: src/tables/part/PartTable.tsx:175 +msgid "Locked" +msgstr "" + +#: src/components/details/PartIcons.tsx:35 +#: src/tables/ColumnRenderers.tsx:30 msgid "Part is not active" msgstr "" -#: src/components/details/PartIcons.tsx:34 +#: src/components/details/PartIcons.tsx:37 #: src/components/render/Plugin.tsx:17 #: src/pages/company/CompanyDetail.tsx:315 #: src/pages/company/SupplierPartDetail.tsx:307 -#: src/pages/part/PartDetail.tsx:685 +#: src/pages/part/PartDetail.tsx:704 msgid "Inactive" msgstr "" -#: src/components/details/PartIcons.tsx:41 +#: src/components/details/PartIcons.tsx:43 msgid "Part is a template part (variants can be made from this part)" msgstr "" -#: src/components/details/PartIcons.tsx:47 +#: src/components/details/PartIcons.tsx:49 msgid "Part can be assembled from other parts" msgstr "" -#: src/components/details/PartIcons.tsx:53 +#: src/components/details/PartIcons.tsx:55 msgid "Part can be used in assemblies" msgstr "" -#: src/components/details/PartIcons.tsx:59 +#: src/components/details/PartIcons.tsx:61 msgid "Part stock is tracked by serial number" msgstr "" -#: src/components/details/PartIcons.tsx:65 +#: src/components/details/PartIcons.tsx:67 msgid "Part can be purchased from external suppliers" msgstr "" -#: src/components/details/PartIcons.tsx:71 +#: src/components/details/PartIcons.tsx:73 msgid "Part can be sold to customers" msgstr "" -#: src/components/details/PartIcons.tsx:76 +#: src/components/details/PartIcons.tsx:78 msgid "Part is virtual (not a physical part)" msgstr "" -#: src/components/details/PartIcons.tsx:82 -#: src/tables/part/PartTable.tsx:234 -#: src/tables/part/PartTable.tsx:238 +#: src/components/details/PartIcons.tsx:84 +#: src/tables/part/PartTable.tsx:241 +#: src/tables/part/PartTable.tsx:245 #: src/tables/part/PartVariantTable.tsx:25 msgid "Virtual" msgstr "仮想部品" @@ -252,29 +267,29 @@ msgstr "仮想部品" msgid "Image upload failed" msgstr "" -#: src/components/editors/NotesEditor.tsx:151 -#: src/components/forms/ApiForm.tsx:430 -#: src/tables/bom/BomTable.tsx:354 +#: src/components/editors/NotesEditor.tsx:156 +#: src/components/forms/ApiForm.tsx:437 +#: src/tables/bom/BomTable.tsx:357 msgid "Success" msgstr "" -#: src/components/editors/NotesEditor.tsx:152 +#: src/components/editors/NotesEditor.tsx:157 msgid "Notes saved successfully" msgstr "" -#: src/components/editors/NotesEditor.tsx:161 +#: src/components/editors/NotesEditor.tsx:166 msgid "Failed to save notes" msgstr "" -#: src/components/editors/NotesEditor.tsx:193 +#: src/components/editors/NotesEditor.tsx:198 msgid "Preview Notes" msgstr "" -#: src/components/editors/NotesEditor.tsx:193 +#: src/components/editors/NotesEditor.tsx:198 msgid "Edit Notes" msgstr "" -#: src/components/editors/NotesEditor.tsx:207 +#: src/components/editors/NotesEditor.tsx:212 msgid "Save Notes" msgstr "" @@ -407,7 +422,7 @@ msgstr "" msgid "A server error occurred" msgstr "" -#: src/components/forms/ApiForm.tsx:149 +#: src/components/forms/ApiForm.tsx:151 #: src/functions/forms.tsx:259 msgid "Form Error" msgstr "" @@ -416,18 +431,18 @@ msgstr "" #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:611 +#: src/components/forms/ApiForm.tsx:618 #: src/tables/plugin/PluginListTable.tsx:388 msgid "Update" msgstr "" -#: src/components/forms/ApiForm.tsx:631 +#: src/components/forms/ApiForm.tsx:638 #: 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:498 +#: src/tables/InvenTreeTable.tsx:517 #: src/tables/RowActions.tsx:71 #: src/tables/plugin/PluginListTable.tsx:420 msgid "Delete" @@ -600,7 +615,7 @@ msgstr "" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:70 #: src/pages/part/CategoryDetail.tsx:80 -#: src/pages/part/PartDetail.tsx:122 +#: src/pages/part/PartDetail.tsx:123 #: src/pages/stock/LocationDetail.tsx:87 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 @@ -685,6 +700,124 @@ msgstr "" msgid "Thumbnail" msgstr "サムネイル" +#: src/components/importer/ImportDataSelector.tsx:154 +msgid "Importing Rows" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:155 +msgid "Please wait while the data is imported" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:172 +msgid "An error occurred while importing data" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:191 +msgid "Edit Data" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:218 +msgid "Delete Row" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:248 +msgid "Row" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:266 +msgid "Row contains errors" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:307 +msgid "Accept" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:340 +msgid "Valid" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:341 +msgid "Filter by row validation status" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:346 +#: src/tables/build/BuildOutputTable.tsx:205 +msgid "Complete" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:347 +msgid "Filter by row completion status" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:364 +msgid "Import selected rows" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:46 +#: src/components/importer/ImporterColumnSelector.tsx:85 +msgid "An error occurred" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:57 +msgid "Select column, or leave blank to ignore this field." +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:91 +msgid "Select a column from the data file" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:104 +msgid "Map data columns to database fields" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:109 +msgid "Accept Column Mapping" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:117 +msgid "Database Field" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:118 +msgid "Field Description" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:119 +msgid "Imported Column Name" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:44 +msgid "Import Data" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:45 +msgid "Map Columns" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:46 +msgid "Process Data" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:47 +msgid "Complete Import" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:91 +msgid "Importing Data" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:97 +msgid "Cancel import session" +msgstr "" + +#: src/components/importer/ImporterImportProgress.tsx:36 +msgid "Importing Records" +msgstr "" + +#: src/components/importer/ImporterImportProgress.tsx:39 +msgid "Imported rows" +msgstr "" + #: src/components/items/ActionDropdown.tsx:119 #: src/pages/build/BuildDetail.tsx:358 msgid "Barcode Actions" @@ -738,7 +871,7 @@ msgid "Read More" msgstr "続きを読む" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:443 +#: src/tables/InvenTreeTable.tsx:462 msgid "Unknown error" msgstr "" @@ -1039,13 +1172,13 @@ msgstr "" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:313 +#: src/pages/Index/Settings/SystemSettings.tsx:314 msgid "System Settings" msgstr "" #: src/components/nav/MainMenu.tsx:67 #: src/defaults/menuItems.tsx:63 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:198 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:209 msgid "Admin Center" msgstr "" @@ -1088,7 +1221,7 @@ msgid "Pages" msgstr "" #: src/components/nav/NavigationDrawer.tsx:65 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:157 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:168 #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:41 msgid "Plugins" msgstr "" @@ -1102,7 +1235,7 @@ msgstr "" msgid "About" msgstr "" -#: src/components/nav/NotificationDrawer.tsx:78 +#: src/components/nav/NotificationDrawer.tsx:81 #: src/pages/Index/Settings/SystemSettings.tsx:108 #: src/pages/Index/Settings/UserSettings.tsx:96 #: src/pages/Notifications.tsx:65 @@ -1110,17 +1243,17 @@ msgstr "" msgid "Notifications" msgstr "" -#: src/components/nav/NotificationDrawer.tsx:95 +#: src/components/nav/NotificationDrawer.tsx:98 msgid "You have no unread notifications." msgstr "" -#: src/components/nav/NotificationDrawer.tsx:111 -#: src/components/nav/NotificationDrawer.tsx:117 +#: src/components/nav/NotificationDrawer.tsx:114 +#: src/components/nav/NotificationDrawer.tsx:120 #: src/tables/notifications/NotificationsTable.tsx:36 msgid "Notification" msgstr "" -#: src/components/nav/NotificationDrawer.tsx:140 +#: src/components/nav/NotificationDrawer.tsx:143 #: src/pages/Notifications.tsx:73 msgid "Mark as read" msgstr "既読にする" @@ -1157,7 +1290,7 @@ msgstr "" msgid "No results available for search query" msgstr "" -#: src/components/render/Instance.tsx:166 +#: src/components/render/Instance.tsx:201 msgid "Unknown model: {model}" msgstr "" @@ -1172,7 +1305,8 @@ msgstr "" #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 #: src/pages/build/BuildDetail.tsx:85 -#: src/pages/part/PartDetail.tsx:831 +#: src/pages/part/PartDetail.tsx:872 +#: src/tables/part/PartTable.tsx:28 #: src/tables/part/RelatedPartTable.tsx:45 #: src/tables/stock/StockTrackingTable.tsx:74 msgid "Part" @@ -1185,7 +1319,7 @@ msgstr "パーツ" #: src/pages/part/CategoryDetail.tsx:112 #: src/pages/part/CategoryDetail.tsx:237 #: src/pages/part/CategoryDetail.tsx:267 -#: src/pages/part/PartDetail.tsx:639 +#: src/pages/part/PartDetail.tsx:652 msgid "Parts" msgstr "パーツ" @@ -1235,7 +1369,7 @@ msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:172 #: src/pages/part/CategoryDetail.tsx:251 #: src/pages/part/CategoryDetail.tsx:288 -#: src/pages/part/PartDetail.tsx:821 +#: src/pages/part/PartDetail.tsx:862 msgid "Part Categories" msgstr "" @@ -1317,7 +1451,7 @@ msgid "Project Code" msgstr "" #: src/components/render/ModelType.tsx:127 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:109 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:120 msgid "Project Codes" msgstr "" @@ -1329,10 +1463,10 @@ msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:134 -#: src/pages/Index/Settings/SystemSettings.tsx:257 +#: src/pages/Index/Settings/SystemSettings.tsx:258 #: src/pages/company/CompanyDetail.tsx:194 #: src/pages/company/SupplierPartDetail.tsx:226 -#: src/pages/part/PartDetail.tsx:573 +#: src/pages/part/PartDetail.tsx:586 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "" @@ -1354,9 +1488,9 @@ msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:272 +#: src/pages/Index/Settings/SystemSettings.tsx:273 #: src/pages/company/CompanyDetail.tsx:214 -#: src/pages/part/PartDetail.tsx:580 +#: src/pages/part/PartDetail.tsx:593 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" @@ -1376,7 +1510,7 @@ msgid "Return Order" msgstr "" #: src/components/render/ModelType.tsx:164 -#: src/pages/Index/Settings/SystemSettings.tsx:288 +#: src/pages/Index/Settings/SystemSettings.tsx:289 #: src/pages/company/CompanyDetail.tsx:221 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1413,40 +1547,49 @@ msgid "Owners" msgstr "" #: src/components/render/ModelType.tsx:193 +#: src/tables/settings/ImportSessionTable.tsx:122 #: src/tables/stock/StockItemTestResultTable.tsx:193 #: src/tables/stock/StockTrackingTable.tsx:195 msgid "User" msgstr "ユーザー" #: src/components/render/ModelType.tsx:194 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:85 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:90 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" msgstr "" #: src/components/render/ModelType.tsx:200 -msgid "Label Template" +msgid "Import Session" msgstr "" #: src/components/render/ModelType.tsx:201 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:139 -msgid "Label Templates" +msgid "Import Sessions" msgstr "" #: src/components/render/ModelType.tsx:207 -msgid "Report Template" +msgid "Label Template" msgstr "" #: src/components/render/ModelType.tsx:208 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:145 -msgid "Report Templates" +#: src/pages/Index/Settings/AdminCenter/Index.tsx:150 +msgid "Label Templates" msgstr "" #: src/components/render/ModelType.tsx:214 -msgid "Plugin Configuration" +msgid "Report Template" msgstr "" #: src/components/render/ModelType.tsx:215 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:156 +msgid "Report Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:221 +msgid "Plugin Configuration" +msgstr "" + +#: src/components/render/ModelType.tsx:222 msgid "Plugin Configurations" msgstr "" @@ -1458,7 +1601,7 @@ msgstr "" #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 #: src/pages/Index/Settings/SystemSettings.tsx:210 -#: src/pages/part/PartDetail.tsx:492 +#: src/pages/part/PartDetail.tsx:503 #: src/pages/stock/LocationDetail.tsx:347 #: src/pages/stock/StockDetail.tsx:356 #: src/tables/stock/StockItemTable.tsx:57 @@ -1641,10 +1784,6 @@ msgstr "" #~ msgid "Comment" #~ msgstr "Comment" -#: src/components/tables/general/AttachmentTable.tsx:56 -#~ msgid "Uploaded" -#~ msgstr "Uploaded" - #: src/components/tables/part/PartCategoryTable.tsx:122 #~ msgid "Part category updated" #~ msgstr "Part category updated" @@ -2157,7 +2296,7 @@ msgid "Recently Updated" msgstr "" #: src/defaults/dashboardItems.tsx:50 -#: src/tables/part/PartTable.tsx:216 +#: src/tables/part/PartTable.tsx:223 msgid "Low Stock" msgstr "" @@ -2466,7 +2605,7 @@ msgstr "" #~ msgid "Company updated" #~ msgstr "Company updated" -#: src/forms/PartForms.tsx:100 +#: src/forms/PartForms.tsx:103 msgid "Parent part category" msgstr "" @@ -2534,7 +2673,7 @@ msgstr "" #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 #: src/pages/stock/StockDetail.tsx:173 -#: src/tables/ColumnRenderers.tsx:34 +#: src/tables/ColumnRenderers.tsx:49 #: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" msgstr "" @@ -2585,8 +2724,8 @@ msgstr "" #: src/forms/StockForms.tsx:176 #: src/pages/stock/StockDetail.tsx:379 -#: src/tables/stock/StockItemTable.tsx:382 -#: src/tables/stock/StockItemTable.tsx:499 +#: src/tables/stock/StockItemTable.tsx:404 +#: src/tables/stock/StockItemTable.tsx:521 msgid "Add Stock Item" msgstr "" @@ -2606,9 +2745,9 @@ msgstr "" #: src/forms/StockForms.tsx:606 #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 -#: src/pages/part/PartDetail.tsx:202 -#: src/pages/part/PartDetail.tsx:655 -#: src/tables/stock/StockItemTable.tsx:290 +#: src/pages/part/PartDetail.tsx:203 +#: src/pages/part/PartDetail.tsx:668 +#: src/tables/stock/StockItemTable.tsx:312 msgid "In Stock" msgstr "" @@ -2649,12 +2788,12 @@ msgid "Remove Stock" msgstr "" #: src/forms/StockForms.tsx:803 -#: src/pages/part/PartDetail.tsx:782 +#: src/pages/part/PartDetail.tsx:823 msgid "Transfer Stock" msgstr "" #: src/forms/StockForms.tsx:812 -#: src/pages/part/PartDetail.tsx:771 +#: src/pages/part/PartDetail.tsx:812 msgid "Count Stock" msgstr "" @@ -3279,53 +3418,57 @@ msgstr "" #~ msgid "Advanced Amininistrative Options for InvenTree" #~ msgstr "Advanced Amininistrative Options for InvenTree" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:91 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:96 +msgid "Data Import" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:102 msgid "Background Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:97 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:108 msgid "Error Reports" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:103 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:114 msgid "Currencies" 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:132 msgid "Custom Units" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:138 #: src/pages/part/CategoryDetail.tsx:257 msgid "Part Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 -#~ msgid "Templates" -#~ msgstr "Templates" - -#: src/pages/Index/Settings/AdminCenter/Index.tsx:133 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:144 msgid "Category Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:151 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:162 msgid "Location types" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:163 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:174 #: src/tables/machine/MachineTypeTable.tsx:287 msgid "Machines" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:173 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:184 msgid "Quick Actions" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:178 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:189 msgid "Add a new user" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:199 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:210 msgid "Advanced Options" msgstr "" @@ -3477,7 +3620,7 @@ msgid "Reporting" msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:235 -#: src/pages/part/PartDetail.tsx:593 +#: src/pages/part/PartDetail.tsx:606 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" @@ -3485,12 +3628,12 @@ msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:241 #: src/pages/build/BuildDetail.tsx:423 #: src/pages/build/BuildIndex.tsx:14 -#: src/pages/part/PartDetail.tsx:527 +#: src/pages/part/PartDetail.tsx:540 #: src/pages/sales/SalesOrderDetail.tsx:270 msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:316 +#: src/pages/Index/Settings/SystemSettings.tsx:317 msgid "Switch to User Setting" msgstr "" @@ -3555,7 +3698,8 @@ msgstr "未読にする" #: 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/settings/ImportSessionTable.tsx:116 +#: src/tables/stock/StockItemTable.tsx:281 #: src/tables/stock/StockTrackingTable.tsx:52 msgid "Status" msgstr "" @@ -3564,7 +3708,7 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:104 #: src/pages/sales/ReturnOrderDetail.tsx:73 #: src/pages/sales/SalesOrderDetail.tsx:77 -#: src/tables/ColumnRenderers.tsx:106 +#: src/tables/ColumnRenderers.tsx:121 #: src/tables/build/BuildLineTable.tsx:140 msgid "Reference" msgstr "" @@ -3574,12 +3718,12 @@ msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:78 #: src/pages/company/SupplierPartDetail.tsx:85 #: src/pages/part/CategoryDetail.tsx:94 -#: src/pages/part/PartDetail.tsx:129 +#: src/pages/part/PartDetail.tsx:130 #: src/pages/purchasing/PurchaseOrderDetail.tsx:125 #: src/pages/sales/ReturnOrderDetail.tsx:93 #: src/pages/sales/SalesOrderDetail.tsx:97 #: src/pages/stock/LocationDetail.tsx:101 -#: src/tables/ColumnRenderers.tsx:66 +#: src/tables/ColumnRenderers.tsx:81 #: src/tables/machine/MachineTypeTable.tsx:69 #: src/tables/machine/MachineTypeTable.tsx:112 #: src/tables/machine/MachineTypeTable.tsx:219 @@ -3610,7 +3754,7 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:152 -#: src/pages/part/PartDetail.tsx:317 +#: src/pages/part/PartDetail.tsx:323 #: src/pages/purchasing/PurchaseOrderDetail.tsx:217 #: src/pages/sales/ReturnOrderDetail.tsx:186 #: src/pages/sales/SalesOrderDetail.tsx:190 @@ -3630,7 +3774,7 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:210 #: src/pages/sales/ReturnOrderDetail.tsx:179 #: src/pages/sales/SalesOrderDetail.tsx:183 -#: src/tables/ColumnRenderers.tsx:191 +#: src/tables/ColumnRenderers.tsx:206 msgid "Target Date" msgstr "" @@ -3711,7 +3855,7 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:297 #: src/pages/company/CompanyDetail.tsx:257 #: src/pages/company/ManufacturerPartDetail.tsx:174 -#: src/pages/part/PartDetail.tsx:616 +#: src/pages/part/PartDetail.tsx:629 #: src/pages/purchasing/PurchaseOrderDetail.tsx:279 #: src/pages/sales/ReturnOrderDetail.tsx:230 #: src/pages/sales/SalesOrderDetail.tsx:280 @@ -3721,7 +3865,7 @@ msgstr "添付ファイル" #: src/pages/build/BuildDetail.tsx:305 #: src/pages/company/CompanyDetail.tsx:268 -#: src/pages/part/PartDetail.tsx:624 +#: src/pages/part/PartDetail.tsx:637 #: src/pages/purchasing/PurchaseOrderDetail.tsx:290 #: src/pages/sales/ReturnOrderDetail.tsx:241 #: src/pages/sales/SalesOrderDetail.tsx:291 @@ -3877,12 +4021,12 @@ msgid "Manufacturer Part Details" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:148 -#: src/pages/part/PartDetail.tsx:486 +#: src/pages/part/PartDetail.tsx:492 msgid "Parameters" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:160 -#: src/pages/part/PartDetail.tsx:560 +#: src/pages/part/PartDetail.tsx:573 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" msgstr "" @@ -3907,7 +4051,7 @@ msgid "ManufacturerPart" msgstr "" #: src/pages/company/SupplierPartDetail.tsx:99 -#: src/tables/ColumnRenderers.tsx:117 +#: src/tables/ColumnRenderers.tsx:132 msgid "Note" msgstr "" @@ -4043,275 +4187,275 @@ msgstr "" msgid "Category Details" msgstr "" -#: src/pages/part/PartDetail.tsx:135 +#: src/pages/part/PartDetail.tsx:136 msgid "Variant of" msgstr "" -#: src/pages/part/PartDetail.tsx:142 +#: src/pages/part/PartDetail.tsx:143 #: src/tables/notifications/NotificationsTable.tsx:31 #: src/tables/part/PartCategoryTemplateTable.tsx:67 msgid "Category" msgstr "" -#: src/pages/part/PartDetail.tsx:148 +#: src/pages/part/PartDetail.tsx:149 msgid "Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:155 +#: src/pages/part/PartDetail.tsx:156 msgid "Category Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:162 +#: src/pages/part/PartDetail.tsx:163 msgid "IPN" msgstr "" -#: src/pages/part/PartDetail.tsx:169 +#: src/pages/part/PartDetail.tsx:170 msgid "Revision" msgstr "" -#: src/pages/part/PartDetail.tsx:176 +#: src/pages/part/PartDetail.tsx:177 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" msgstr "" -#: src/pages/part/PartDetail.tsx:183 +#: src/pages/part/PartDetail.tsx:184 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:190 +#: src/pages/part/PartDetail.tsx:191 #: src/pages/purchasing/PurchaseOrderDetail.tsx:183 #: src/pages/sales/ReturnOrderDetail.tsx:152 #: src/pages/sales/SalesOrderDetail.tsx:156 msgid "Link" msgstr "" -#: src/pages/part/PartDetail.tsx:208 -#: src/tables/bom/BomTable.tsx:276 +#: src/pages/part/PartDetail.tsx:209 +#: src/tables/bom/BomTable.tsx:279 #: src/tables/build/BuildLineTable.tsx:121 -#: src/tables/part/PartTable.tsx:256 +#: src/tables/part/PartTable.tsx:263 msgid "Available Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:215 +#: src/pages/part/PartDetail.tsx:216 msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:221 -#: src/tables/bom/BomTable.tsx:217 +#: src/pages/part/PartDetail.tsx:222 +#: src/tables/bom/BomTable.tsx:220 #: src/tables/build/BuildLineTable.tsx:95 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:230 +#: src/pages/part/PartDetail.tsx:231 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:238 +#: src/pages/part/PartDetail.tsx:239 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:245 -#: src/tables/bom/BomTable.tsx:241 +#: src/pages/part/PartDetail.tsx:246 +#: src/tables/bom/BomTable.tsx:244 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:252 -#: src/tables/bom/BomTable.tsx:225 -#: src/tables/part/PartTable.tsx:82 +#: src/pages/part/PartDetail.tsx:253 +#: src/tables/bom/BomTable.tsx:228 +#: src/tables/part/PartTable.tsx:83 msgid "Building" msgstr "" -#: src/pages/part/PartDetail.tsx:261 +#: src/pages/part/PartDetail.tsx:262 #: src/tables/bom/UsedInTable.tsx:73 #: src/tables/build/BuildOrderTable.tsx:108 #: src/tables/company/CompanyTable.tsx:61 #: src/tables/company/CompanyTable.tsx:95 #: src/tables/machine/MachineListTable.tsx:323 #: src/tables/machine/MachineListTable.tsx:585 -#: src/tables/part/PartTable.tsx:168 +#: src/tables/part/PartTable.tsx:169 #: src/tables/part/PartVariantTable.tsx:15 #: 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 +#: src/tables/stock/StockItemTable.tsx:276 msgid "Active" msgstr "" -#: src/pages/part/PartDetail.tsx:266 +#: src/pages/part/PartDetail.tsx:272 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:271 -#: src/tables/bom/BomTable.tsx:271 +#: src/pages/part/PartDetail.tsx:277 +#: src/tables/bom/BomTable.tsx:274 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:276 +#: src/pages/part/PartDetail.tsx:282 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:281 -#: src/tables/bom/BomTable.tsx:266 +#: src/pages/part/PartDetail.tsx:287 +#: src/tables/bom/BomTable.tsx:269 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:286 +#: src/pages/part/PartDetail.tsx:292 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:291 +#: src/pages/part/PartDetail.tsx:297 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:296 +#: src/pages/part/PartDetail.tsx:302 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:304 -#: src/tables/ColumnRenderers.tsx:199 +#: src/pages/part/PartDetail.tsx:310 +#: src/tables/ColumnRenderers.tsx:214 msgid "Creation Date" msgstr "" -#: src/pages/part/PartDetail.tsx:309 -msgid "Created By" -msgstr "" - #: src/pages/part/PartDetail.tsx:310 #~ msgid "Edit part" #~ msgstr "Edit part" +#: src/pages/part/PartDetail.tsx:315 +msgid "Created By" +msgstr "" + #: src/pages/part/PartDetail.tsx:322 #~ msgid "Duplicate part" #~ msgstr "Duplicate part" -#: src/pages/part/PartDetail.tsx:324 -msgid "Default Supplier" -msgstr "" - #: src/pages/part/PartDetail.tsx:327 #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:335 +#: src/pages/part/PartDetail.tsx:330 +msgid "Default Supplier" +msgstr "" + +#: src/pages/part/PartDetail.tsx:341 #: src/pages/part/pricing/BomPricingPanel.tsx:78 #: src/pages/part/pricing/VariantPricingPanel.tsx:95 -#: src/tables/part/PartTable.tsx:151 +#: src/tables/part/PartTable.tsx:152 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:374 +#: src/pages/part/PartDetail.tsx:380 #: src/pages/stock/StockDetail.tsx:133 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:409 +#: src/pages/part/PartDetail.tsx:415 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:480 +#: src/pages/part/PartDetail.tsx:486 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:506 +#: src/pages/part/PartDetail.tsx:517 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:513 +#: src/pages/part/PartDetail.tsx:524 #: src/pages/stock/StockDetail.tsx:286 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:520 +#: src/pages/part/PartDetail.tsx:531 msgid "Bill of Materials" msgstr "" -#: src/pages/part/PartDetail.tsx:534 +#: src/pages/part/PartDetail.tsx:547 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:541 +#: src/pages/part/PartDetail.tsx:554 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:547 +#: src/pages/part/PartDetail.tsx:560 #: src/pages/purchasing/PurchasingIndex.tsx:37 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:587 +#: src/pages/part/PartDetail.tsx:600 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:599 +#: src/pages/part/PartDetail.tsx:612 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:610 +#: src/pages/part/PartDetail.tsx:623 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:661 +#: src/pages/part/PartDetail.tsx:674 #: src/pages/stock/StockDetail.tsx:154 #: src/pages/stock/StockDetail.tsx:533 #: src/tables/build/BuildLineTable.tsx:36 -#: src/tables/part/PartTable.tsx:107 +#: src/tables/part/PartTable.tsx:108 #: src/tables/stock/StockItemTable.tsx:166 -#: src/tables/stock/StockItemTable.tsx:275 +#: src/tables/stock/StockItemTable.tsx:297 msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:667 +#: src/pages/part/PartDetail.tsx:680 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:673 -#: src/tables/bom/BomTable.tsx:281 -#: src/tables/part/PartTable.tsx:76 +#: src/pages/part/PartDetail.tsx:686 +#: src/tables/bom/BomTable.tsx:284 +#: src/tables/part/PartTable.tsx:77 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:679 +#: src/pages/part/PartDetail.tsx:692 #: src/pages/stock/StockDetail.tsx:516 -#: src/tables/stock/StockItemTable.tsx:295 +#: src/tables/stock/StockItemTable.tsx:317 msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:698 +#: src/pages/part/PartDetail.tsx:717 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:705 -#: src/tables/part/PartTable.tsx:289 -#: src/tables/part/PartTable.tsx:302 +#: src/pages/part/PartDetail.tsx:744 +#: src/tables/part/PartTable.tsx:296 +#: src/tables/part/PartTable.tsx:309 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:717 +#: src/pages/part/PartDetail.tsx:758 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:726 +#: src/pages/part/PartDetail.tsx:767 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:764 +#: src/pages/part/PartDetail.tsx:805 #: src/pages/stock/LocationDetail.tsx:304 -#: src/tables/stock/StockItemTable.tsx:409 +#: src/tables/stock/StockItemTable.tsx:431 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:772 +#: src/pages/part/PartDetail.tsx:813 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:824 msgid "Transfer part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:792 +#: src/pages/part/PartDetail.tsx:833 msgid "Part Actions" msgstr "" @@ -4359,8 +4503,8 @@ msgstr "" #: src/pages/part/pricing/BomPricingPanel.tsx:57 #: src/pages/part/pricing/BomPricingPanel.tsx:137 -#: src/tables/ColumnRenderers.tsx:241 -#: src/tables/bom/BomTable.tsx:165 +#: src/tables/ColumnRenderers.tsx:256 +#: src/tables/bom/BomTable.tsx:168 #: src/tables/purchasing/PurchaseOrderTable.tsx:112 #: src/tables/sales/ReturnOrderTable.tsx:104 #: src/tables/sales/SalesOrderTable.tsx:134 @@ -4369,7 +4513,7 @@ msgstr "" #: src/pages/part/pricing/BomPricingPanel.tsx:77 #: src/pages/part/pricing/BomPricingPanel.tsx:101 -#: src/tables/part/PartTable.tsx:186 +#: src/tables/part/PartTable.tsx:193 msgid "Component" msgstr "" @@ -4398,7 +4542,7 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:67 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:128 #: src/pages/part/pricing/SupplierPricingPanel.tsx:62 -#: src/tables/bom/BomTable.tsx:156 +#: src/tables/bom/BomTable.tsx:159 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 msgid "Unit Price" @@ -4498,7 +4642,7 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:40 #: src/pages/part/pricing/SaleHistoryPanel.tsx:36 -#: src/tables/ColumnRenderers.tsx:180 +#: src/tables/ColumnRenderers.tsx:195 #: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" @@ -4771,12 +4915,12 @@ msgid "Count stock" msgstr "" #: src/pages/stock/StockDetail.tsx:459 -#: src/tables/stock/StockItemTable.tsx:414 +#: src/tables/stock/StockItemTable.tsx:436 msgid "Add stock" msgstr "" #: src/pages/stock/StockDetail.tsx:467 -#: src/tables/stock/StockItemTable.tsx:423 +#: src/tables/stock/StockItemTable.tsx:445 msgid "Remove stock" msgstr "" @@ -4785,7 +4929,7 @@ msgid "Transfer" msgstr "" #: src/pages/stock/StockDetail.tsx:475 -#: src/tables/stock/StockItemTable.tsx:443 +#: src/tables/stock/StockItemTable.tsx:465 msgid "Transfer stock" msgstr "" @@ -4793,15 +4937,15 @@ msgstr "" msgid "Stock Item Actions" msgstr "" -#: src/tables/ColumnRenderers.tsx:42 +#: src/tables/ColumnRenderers.tsx:57 msgid "No location set" msgstr "" -#: src/tables/ColumnRenderers.tsx:207 +#: src/tables/ColumnRenderers.tsx:222 msgid "Shipment Date" msgstr "" -#: src/tables/ColumnRenderers.tsx:227 +#: src/tables/ColumnRenderers.tsx:242 #: src/tables/settings/CurrencyTable.tsx:23 msgid "Currency" msgstr "" @@ -4828,14 +4972,14 @@ msgid "TSV" msgstr "" #: src/tables/DownloadAction.tsx:24 -msgid "Excel (.xls)" -msgstr "" - -#: src/tables/DownloadAction.tsx:25 msgid "Excel (.xlsx)" msgstr "" -#: src/tables/DownloadAction.tsx:39 +#: src/tables/DownloadAction.tsx:24 +#~ msgid "Excel (.xls)" +#~ msgstr "" + +#: src/tables/DownloadAction.tsx:38 msgid "Download Data" msgstr "" @@ -4900,54 +5044,54 @@ msgstr "フィルタを追加" msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:119 -#: src/tables/InvenTreeTable.tsx:390 -#: src/tables/InvenTreeTable.tsx:411 +#: src/tables/InvenTreeTable.tsx:126 +#: src/tables/InvenTreeTable.tsx:409 +#: src/tables/InvenTreeTable.tsx:430 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:422 +#: src/tables/InvenTreeTable.tsx:441 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:430 +#: src/tables/InvenTreeTable.tsx:449 msgid "Bad request" msgstr "" -#: src/tables/InvenTreeTable.tsx:433 +#: src/tables/InvenTreeTable.tsx:452 msgid "Unauthorized" msgstr "" -#: src/tables/InvenTreeTable.tsx:436 +#: src/tables/InvenTreeTable.tsx:455 msgid "Forbidden" msgstr "" -#: src/tables/InvenTreeTable.tsx:439 +#: src/tables/InvenTreeTable.tsx:458 msgid "Not found" msgstr "" -#: src/tables/InvenTreeTable.tsx:488 -#: src/tables/InvenTreeTable.tsx:606 +#: src/tables/InvenTreeTable.tsx:507 +#: src/tables/InvenTreeTable.tsx:623 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:492 +#: src/tables/InvenTreeTable.tsx:511 msgid "Are you sure you want to delete the selected records?" msgstr "" -#: src/tables/InvenTreeTable.tsx:494 +#: src/tables/InvenTreeTable.tsx:513 msgid "This action cannot be undone!" msgstr "" -#: src/tables/InvenTreeTable.tsx:517 +#: src/tables/InvenTreeTable.tsx:536 msgid "Deleted records" msgstr "" -#: src/tables/InvenTreeTable.tsx:518 +#: src/tables/InvenTreeTable.tsx:537 msgid "Records were deleted successfully" msgstr "" -#: src/tables/InvenTreeTable.tsx:527 +#: src/tables/InvenTreeTable.tsx:546 msgid "Failed to delete records" msgstr "" @@ -4956,140 +5100,144 @@ msgstr "" #~ msgid "Print actions" #~ msgstr "Print actions" -#: src/tables/InvenTreeTable.tsx:596 -#: src/tables/InvenTreeTable.tsx:597 +#: src/tables/InvenTreeTable.tsx:613 +#: src/tables/InvenTreeTable.tsx:614 msgid "Barcode actions" msgstr "" -#: src/tables/InvenTreeTable.tsx:625 +#: src/tables/InvenTreeTable.tsx:642 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTable.tsx:646 +#: src/tables/InvenTreeTable.tsx:663 msgid "Table filters" msgstr "表フィルタ" -#: src/tables/bom/BomTable.tsx:80 +#: src/tables/UploadAction.tsx:9 +msgid "Upload Data" +msgstr "" + +#: src/tables/bom/BomTable.tsx:83 msgid "This BOM item is defined for a different parent" msgstr "" -#: src/tables/bom/BomTable.tsx:95 +#: src/tables/bom/BomTable.tsx:98 msgid "Part Information" msgstr "" -#: src/tables/bom/BomTable.tsx:184 -#: src/tables/part/PartTable.tsx:124 +#: src/tables/bom/BomTable.tsx:187 +#: src/tables/part/PartTable.tsx:125 msgid "No stock" msgstr "" -#: src/tables/bom/BomTable.tsx:192 +#: src/tables/bom/BomTable.tsx:195 #: src/tables/build/BuildLineTable.tsx:104 -#: src/tables/part/PartTable.tsx:115 +#: src/tables/part/PartTable.tsx:116 msgid "External stock" msgstr "" -#: src/tables/bom/BomTable.tsx:200 +#: src/tables/bom/BomTable.tsx:203 #: src/tables/build/BuildLineTable.tsx:67 msgid "Includes substitute stock" msgstr "" -#: src/tables/bom/BomTable.tsx:209 +#: src/tables/bom/BomTable.tsx:212 #: src/tables/build/BuildLineTable.tsx:77 msgid "Includes variant stock" msgstr "" -#: src/tables/bom/BomTable.tsx:234 -#: src/tables/part/PartTable.tsx:143 +#: src/tables/bom/BomTable.tsx:237 +#: src/tables/part/PartTable.tsx:144 #: src/tables/stock/StockItemTable.tsx:205 msgid "Stock Information" msgstr "" -#: src/tables/bom/BomTable.tsx:246 +#: src/tables/bom/BomTable.tsx:249 #: src/tables/build/BuildLineTable.tsx:195 msgid "Consumable item" msgstr "" -#: src/tables/bom/BomTable.tsx:267 +#: src/tables/bom/BomTable.tsx:270 msgid "Show trackable items" msgstr "" -#: src/tables/bom/BomTable.tsx:272 +#: src/tables/bom/BomTable.tsx:275 msgid "Show asssmbled items" msgstr "" -#: src/tables/bom/BomTable.tsx:277 +#: src/tables/bom/BomTable.tsx:280 msgid "Show items with available stock" msgstr "" -#: src/tables/bom/BomTable.tsx:282 +#: src/tables/bom/BomTable.tsx:285 msgid "Show items on order" msgstr "" -#: src/tables/bom/BomTable.tsx:286 +#: src/tables/bom/BomTable.tsx:289 msgid "Validated" msgstr "" -#: src/tables/bom/BomTable.tsx:287 +#: src/tables/bom/BomTable.tsx:290 msgid "Show validated items" msgstr "" -#: src/tables/bom/BomTable.tsx:291 +#: src/tables/bom/BomTable.tsx:294 #: src/tables/bom/UsedInTable.tsx:63 msgid "Inherited" msgstr "" -#: src/tables/bom/BomTable.tsx:292 +#: src/tables/bom/BomTable.tsx:295 #: src/tables/bom/UsedInTable.tsx:64 msgid "Show inherited items" msgstr "" -#: src/tables/bom/BomTable.tsx:296 +#: src/tables/bom/BomTable.tsx:299 msgid "Allow Variants" msgstr "" -#: src/tables/bom/BomTable.tsx:297 +#: src/tables/bom/BomTable.tsx:300 msgid "Show items which allow variant substitution" msgstr "" #: src/tables/bom/BomTable.tsx:301 +#~ msgid "Create BOM Item" +#~ msgstr "Create BOM Item" + +#: src/tables/bom/BomTable.tsx:304 #: src/tables/bom/UsedInTable.tsx:68 #: src/tables/build/BuildLineTable.tsx:46 msgid "Optional" msgstr "" -#: src/tables/bom/BomTable.tsx:301 -#~ msgid "Create BOM Item" -#~ msgstr "Create BOM Item" - -#: src/tables/bom/BomTable.tsx:302 +#: src/tables/bom/BomTable.tsx:305 #: src/tables/bom/UsedInTable.tsx:69 msgid "Show optional items" msgstr "" -#: src/tables/bom/BomTable.tsx:306 +#: src/tables/bom/BomTable.tsx:309 #: src/tables/build/BuildLineTable.tsx:41 msgid "Consumable" msgstr "" -#: src/tables/bom/BomTable.tsx:307 +#: src/tables/bom/BomTable.tsx:310 msgid "Show consumable items" msgstr "" -#: src/tables/bom/BomTable.tsx:311 -#: src/tables/part/PartTable.tsx:250 +#: src/tables/bom/BomTable.tsx:314 +#: src/tables/part/PartTable.tsx:257 msgid "Has Pricing" msgstr "" -#: src/tables/bom/BomTable.tsx:312 +#: src/tables/bom/BomTable.tsx:315 msgid "Show items with pricing" msgstr "" -#: src/tables/bom/BomTable.tsx:321 -#: src/tables/bom/BomTable.tsx:420 +#: src/tables/bom/BomTable.tsx:324 +#: src/tables/bom/BomTable.tsx:426 msgid "Add BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:326 +#: src/tables/bom/BomTable.tsx:329 msgid "BOM item created" msgstr "" @@ -5097,23 +5245,23 @@ msgstr "" #~ msgid "Edit Bom Item" #~ msgstr "Edit Bom Item" -#: src/tables/bom/BomTable.tsx:333 -msgid "Edit BOM Item" -msgstr "" - #: src/tables/bom/BomTable.tsx:333 #~ msgid "Bom item updated" #~ msgstr "Bom item updated" -#: src/tables/bom/BomTable.tsx:335 +#: src/tables/bom/BomTable.tsx:336 +msgid "Edit BOM Item" +msgstr "" + +#: src/tables/bom/BomTable.tsx:338 msgid "BOM item updated" msgstr "" -#: src/tables/bom/BomTable.tsx:342 +#: src/tables/bom/BomTable.tsx:345 msgid "Delete BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:343 +#: src/tables/bom/BomTable.tsx:346 msgid "BOM item deleted" msgstr "" @@ -5133,32 +5281,41 @@ msgstr "" #~ msgid "Validate BOM line" #~ msgstr "Validate BOM line" -#: src/tables/bom/BomTable.tsx:355 +#: src/tables/bom/BomTable.tsx:358 msgid "BOM item validated" msgstr "" -#: src/tables/bom/BomTable.tsx:364 +#: src/tables/bom/BomTable.tsx:367 msgid "Failed to validate BOM item" msgstr "" -#: src/tables/bom/BomTable.tsx:376 +#: src/tables/bom/BomTable.tsx:379 msgid "View BOM" msgstr "" -#: src/tables/bom/BomTable.tsx:385 +#: src/tables/bom/BomTable.tsx:388 msgid "Validate BOM Line" msgstr "" -#: src/tables/bom/BomTable.tsx:399 +#: src/tables/bom/BomTable.tsx:405 msgid "Edit Substitutes" msgstr "" +#: src/tables/bom/BomTable.tsx:440 +#: src/tables/part/PartParameterTable.tsx:191 +msgid "Part is Locked" +msgstr "" + +#: src/tables/bom/BomTable.tsx:445 +msgid "Bill of materials cannot be edited, as the part is locked" +msgstr "" + #: src/tables/bom/UsedInTable.tsx:74 msgid "Show active assemblies" msgstr "" #: src/tables/bom/UsedInTable.tsx:78 -#: src/tables/part/PartTable.tsx:192 +#: src/tables/part/PartTable.tsx:199 #: src/tables/part/PartVariantTable.tsx:30 msgid "Trackable" msgstr "" @@ -5168,7 +5325,7 @@ msgid "Show trackable assemblies" msgstr "" #: src/tables/build/BuildLineTable.tsx:31 -#: src/tables/stock/StockItemTable.tsx:270 +#: src/tables/stock/StockItemTable.tsx:292 msgid "Allocated" msgstr "" @@ -5189,7 +5346,7 @@ msgid "Show optional lines" msgstr "" #: src/tables/build/BuildLineTable.tsx:51 -#: src/tables/stock/StockItemTable.tsx:329 +#: src/tables/stock/StockItemTable.tsx:351 msgid "Tracked" msgstr "" @@ -5302,10 +5459,6 @@ msgstr "" msgid "Deallocate stock from build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:205 -msgid "Complete" -msgstr "" - #: src/tables/build/BuildOutputTable.tsx:206 msgid "Complete build output" msgstr "" @@ -5635,7 +5788,7 @@ msgid "Message" msgstr "" #: src/tables/part/ParametricPartTable.tsx:76 -#: src/tables/part/PartParameterTable.tsx:88 +#: src/tables/part/PartParameterTable.tsx:95 msgid "Internal Units" msgstr "" @@ -5648,13 +5801,13 @@ msgid "Add Part Parameter" msgstr "" #: src/tables/part/ParametricPartTable.tsx:138 -#: src/tables/part/PartParameterTable.tsx:121 -#: src/tables/part/PartParameterTable.tsx:144 +#: src/tables/part/PartParameterTable.tsx:128 +#: src/tables/part/PartParameterTable.tsx:151 msgid "Edit Part Parameter" msgstr "" #: src/tables/part/PartCategoryTable.tsx:60 -#: src/tables/part/PartTable.tsx:180 +#: src/tables/part/PartTable.tsx:187 msgid "Include Subcategories" msgstr "サブカテゴリを含む" @@ -5667,7 +5820,7 @@ msgid "Show structural categories" msgstr "" #: src/tables/part/PartCategoryTable.tsx:70 -#: src/tables/part/PartTable.tsx:262 +#: src/tables/part/PartTable.tsx:269 msgid "Subscribed" msgstr "" @@ -5704,21 +5857,25 @@ msgstr "" #~ msgid "[{0}]" #~ msgstr "[{0}]" -#: src/tables/part/PartParameterTable.tsx:105 +#: src/tables/part/PartParameterTable.tsx:112 msgid "New Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:130 -#: src/tables/part/PartParameterTable.tsx:152 +#: src/tables/part/PartParameterTable.tsx:137 +#: src/tables/part/PartParameterTable.tsx:159 msgid "Delete Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:170 +#: src/tables/part/PartParameterTable.tsx:177 msgid "Add parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:191 -#: src/tables/stock/StockItemTable.tsx:300 +#: src/tables/part/PartParameterTable.tsx:196 +msgid "Part parameters cannot be edited, as the part is locked" +msgstr "" + +#: src/tables/part/PartParameterTable.tsx:210 +#: src/tables/stock/StockItemTable.tsx:322 msgid "Include Variants" msgstr "" @@ -5739,7 +5896,7 @@ msgid "Show templates with choices" msgstr "" #: src/tables/part/PartParameterTemplateTable.tsx:41 -#: src/tables/part/PartTable.tsx:198 +#: src/tables/part/PartTable.tsx:205 msgid "Has Units" msgstr "" @@ -5763,116 +5920,120 @@ msgstr "" msgid "Add parameter template" msgstr "" -#: src/tables/part/PartTable.tsx:67 +#: src/tables/part/PartTable.tsx:68 msgid "Minimum stock" msgstr "" -#: src/tables/part/PartTable.tsx:89 +#: src/tables/part/PartTable.tsx:90 msgid "Build Order Allocations" msgstr "" -#: src/tables/part/PartTable.tsx:98 +#: src/tables/part/PartTable.tsx:99 msgid "Sales Order Allocations" msgstr "" -#: src/tables/part/PartTable.tsx:169 +#: src/tables/part/PartTable.tsx:170 msgid "Filter by part active status" msgstr "有効なパーツでフィルタ" -#: src/tables/part/PartTable.tsx:174 -#: src/tables/stock/StockItemTable.tsx:265 +#: src/tables/part/PartTable.tsx:176 +msgid "Filter by part locked status" +msgstr "" + +#: src/tables/part/PartTable.tsx:181 +#: src/tables/stock/StockItemTable.tsx:287 msgid "Assembly" msgstr "" -#: src/tables/part/PartTable.tsx:175 +#: src/tables/part/PartTable.tsx:182 msgid "Filter by assembly attribute" msgstr "" -#: src/tables/part/PartTable.tsx:181 +#: src/tables/part/PartTable.tsx:188 msgid "Include parts in subcategories" msgstr "サブカテゴリのパーツを含む" -#: src/tables/part/PartTable.tsx:187 +#: src/tables/part/PartTable.tsx:194 msgid "Filter by component attribute" msgstr "コンポーネント属性でフィルタ" -#: src/tables/part/PartTable.tsx:193 +#: src/tables/part/PartTable.tsx:200 msgid "Filter by trackable attribute" msgstr "追跡可能属性でフィルタ" -#: src/tables/part/PartTable.tsx:199 +#: src/tables/part/PartTable.tsx:206 msgid "Filter by parts which have units" msgstr "単位のある部品でフィルタ" -#: src/tables/part/PartTable.tsx:204 +#: src/tables/part/PartTable.tsx:211 msgid "Has IPN" msgstr "" -#: src/tables/part/PartTable.tsx:205 +#: src/tables/part/PartTable.tsx:212 msgid "Filter by parts which have an internal part number" msgstr "" -#: src/tables/part/PartTable.tsx:210 +#: src/tables/part/PartTable.tsx:217 msgid "Has Stock" msgstr "" -#: src/tables/part/PartTable.tsx:211 +#: src/tables/part/PartTable.tsx:218 msgid "Filter by parts which have stock" msgstr "在庫がある部品でフィルタ" -#: src/tables/part/PartTable.tsx:217 +#: src/tables/part/PartTable.tsx:224 msgid "Filter by parts which have low stock" msgstr "" -#: src/tables/part/PartTable.tsx:222 +#: src/tables/part/PartTable.tsx:229 msgid "Purchaseable" msgstr "" -#: src/tables/part/PartTable.tsx:223 +#: src/tables/part/PartTable.tsx:230 msgid "Filter by parts which are purchaseable" msgstr "購入可能な部品でフィルタ" -#: src/tables/part/PartTable.tsx:228 +#: src/tables/part/PartTable.tsx:235 msgid "Salable" msgstr "" -#: src/tables/part/PartTable.tsx:229 +#: src/tables/part/PartTable.tsx:236 msgid "Filter by parts which are salable" msgstr "販売可能な部品でフィルタ" -#: src/tables/part/PartTable.tsx:235 +#: src/tables/part/PartTable.tsx:242 msgid "Filter by parts which are virtual" msgstr "仮想部品でフィルタ" -#: src/tables/part/PartTable.tsx:239 +#: src/tables/part/PartTable.tsx:246 msgid "Not Virtual" msgstr "仮想部品ではない" -#: src/tables/part/PartTable.tsx:244 +#: src/tables/part/PartTable.tsx:251 msgid "Is Template" msgstr "" -#: src/tables/part/PartTable.tsx:245 +#: src/tables/part/PartTable.tsx:252 msgid "Filter by parts which are templates" msgstr "" -#: src/tables/part/PartTable.tsx:251 +#: src/tables/part/PartTable.tsx:258 msgid "Filter by parts which have pricing information" msgstr "" -#: src/tables/part/PartTable.tsx:257 +#: src/tables/part/PartTable.tsx:264 msgid "Filter by parts which have available stock" msgstr "" -#: src/tables/part/PartTable.tsx:263 +#: src/tables/part/PartTable.tsx:270 msgid "Filter by parts to which the user is subscribed" msgstr "" -#: src/tables/part/PartTable.tsx:268 +#: src/tables/part/PartTable.tsx:275 msgid "Has Stocktake" msgstr "" -#: src/tables/part/PartTable.tsx:269 +#: src/tables/part/PartTable.tsx:276 msgid "Filter by parts which have stocktake information" msgstr "" @@ -6211,7 +6372,7 @@ msgid "Sample" msgstr "" #: src/tables/plugin/PluginListTable.tsx:578 -#: src/tables/stock/StockItemTable.tsx:305 +#: src/tables/stock/StockItemTable.tsx:327 msgid "Installed" msgstr "" @@ -6486,6 +6647,41 @@ msgstr "" msgid "Edit group" msgstr "" +#: src/tables/settings/ImportSessionTable.tsx:39 +msgid "Delete Import Session" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:45 +#: src/tables/settings/ImportSessionTable.tsx:132 +msgid "Create Import Session" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:70 +msgid "Uploaded" +msgstr "Uploaded" + +#: src/tables/settings/ImportSessionTable.tsx:80 +msgid "Imported Rows" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:110 +#: src/tables/settings/TemplateTable.tsx:276 +msgid "Model Type" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:111 +#: src/tables/settings/TemplateTable.tsx:277 +msgid "Filter by target model type" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:117 +msgid "Filter by import session status" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:123 +msgid "Filter by user" +msgstr "" + #: src/tables/settings/PendingTasksTable.tsx:36 msgid "Arguments" msgstr "" @@ -6502,7 +6698,7 @@ msgstr "" msgid "Delete Project Code" msgstr "" -#: src/tables/settings/ProjectCodeTable.tsx:94 +#: src/tables/settings/ProjectCodeTable.tsx:92 msgid "Add project code" msgstr "" @@ -6571,14 +6767,6 @@ msgstr "" 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 "" @@ -6701,149 +6889,153 @@ msgstr "" msgid "This stock item has been depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:255 +#: src/tables/stock/StockItemTable.tsx:247 +msgid "Stock Value" +msgstr "" + +#: src/tables/stock/StockItemTable.tsx:277 msgid "Show stock for active parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:260 +#: src/tables/stock/StockItemTable.tsx:282 msgid "Filter by stock status" msgstr "" -#: src/tables/stock/StockItemTable.tsx:266 +#: src/tables/stock/StockItemTable.tsx:288 msgid "Show stock for assmebled parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:271 +#: src/tables/stock/StockItemTable.tsx:293 msgid "Show items which have been allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:276 +#: src/tables/stock/StockItemTable.tsx:298 msgid "Show items which are available" msgstr "" -#: src/tables/stock/StockItemTable.tsx:280 +#: src/tables/stock/StockItemTable.tsx:302 #: src/tables/stock/StockLocationTable.tsx:42 msgid "Include Sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:281 +#: src/tables/stock/StockItemTable.tsx:303 msgid "Include stock in sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:285 +#: src/tables/stock/StockItemTable.tsx:307 msgid "Depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:286 +#: src/tables/stock/StockItemTable.tsx:308 msgid "Show depleted stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:291 +#: src/tables/stock/StockItemTable.tsx:313 msgid "Show items which are in stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:296 +#: src/tables/stock/StockItemTable.tsx:318 msgid "Show items which are in production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:301 +#: src/tables/stock/StockItemTable.tsx:323 msgid "Include stock items for variant parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:306 +#: src/tables/stock/StockItemTable.tsx:328 msgid "Show stock items which are installed in other items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:310 +#: src/tables/stock/StockItemTable.tsx:332 msgid "Sent to Customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:311 +#: src/tables/stock/StockItemTable.tsx:333 msgid "Show items which have been sent to a customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:315 +#: src/tables/stock/StockItemTable.tsx:337 msgid "Is Serialized" msgstr "" -#: src/tables/stock/StockItemTable.tsx:316 +#: src/tables/stock/StockItemTable.tsx:338 msgid "Show items which have a serial number" msgstr "" -#: src/tables/stock/StockItemTable.tsx:323 +#: src/tables/stock/StockItemTable.tsx:345 msgid "Has Batch Code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:324 +#: src/tables/stock/StockItemTable.tsx:346 msgid "Show items which have a batch code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:330 +#: src/tables/stock/StockItemTable.tsx:352 msgid "Show tracked items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:334 +#: src/tables/stock/StockItemTable.tsx:356 msgid "Has Purchase Price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:335 +#: src/tables/stock/StockItemTable.tsx:357 msgid "Show items which have a purchase price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:343 +#: src/tables/stock/StockItemTable.tsx:365 msgid "External Location" msgstr "" -#: src/tables/stock/StockItemTable.tsx:344 +#: src/tables/stock/StockItemTable.tsx:366 msgid "Show items in an external location" msgstr "" -#: src/tables/stock/StockItemTable.tsx:416 +#: src/tables/stock/StockItemTable.tsx:438 msgid "Add a new stock item" msgstr "" -#: src/tables/stock/StockItemTable.tsx:425 +#: src/tables/stock/StockItemTable.tsx:447 msgid "Remove some quantity from a stock item" msgstr "" -#: src/tables/stock/StockItemTable.tsx:447 +#: src/tables/stock/StockItemTable.tsx:469 msgid "Move Stock items to new locations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:454 +#: src/tables/stock/StockItemTable.tsx:476 msgid "Change stock status" msgstr "" -#: src/tables/stock/StockItemTable.tsx:456 +#: src/tables/stock/StockItemTable.tsx:478 msgid "Change the status of stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:463 +#: src/tables/stock/StockItemTable.tsx:485 msgid "Merge stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:465 +#: src/tables/stock/StockItemTable.tsx:487 msgid "Merge stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:472 +#: src/tables/stock/StockItemTable.tsx:494 msgid "Order stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:474 -#: src/tables/stock/StockItemTable.tsx:480 +#: src/tables/stock/StockItemTable.tsx:496 +#: src/tables/stock/StockItemTable.tsx:502 msgid "Order new stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:478 +#: src/tables/stock/StockItemTable.tsx:500 msgid "Assign to customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:487 +#: src/tables/stock/StockItemTable.tsx:509 msgid "Delete stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:489 +#: src/tables/stock/StockItemTable.tsx:511 msgid "Delete stock items" msgstr "" @@ -6999,4 +7191,3 @@ msgstr "" #: src/views/MobileAppView.tsx:35 msgid "Ignore and continue to Desktop view" msgstr "" - diff --git a/src/frontend/src/locales/ko/messages.po b/src/frontend/src/locales/ko/messages.po index 06813cd4b64b..cb522727c79f 100644 --- a/src/frontend/src/locales/ko/messages.po +++ b/src/frontend/src/locales/ko/messages.po @@ -49,16 +49,18 @@ msgstr "" #: src/components/buttons/PrintingActions.tsx:107 #: src/components/buttons/PrintingActions.tsx:144 #: src/components/editors/NotesEditor.tsx:65 -#: src/components/editors/NotesEditor.tsx:160 -#: src/components/forms/ApiForm.tsx:506 -#: src/components/forms/fields/ApiFormField.tsx:295 +#: src/components/editors/NotesEditor.tsx:165 +#: src/components/forms/ApiForm.tsx:513 +#: src/components/forms/fields/ApiFormField.tsx:306 +#: src/components/importer/ImportDataSelector.tsx:171 +#: src/components/importer/ImporterColumnSelector.tsx:112 #: src/components/modals/LicenseModal.tsx:75 #: src/components/nav/SearchDrawer.tsx:427 #: src/pages/ErrorPage.tsx:11 #: src/pages/part/PartPricingPanel.tsx:71 -#: src/tables/InvenTreeTable.tsx:451 -#: src/tables/InvenTreeTable.tsx:526 -#: src/tables/bom/BomTable.tsx:363 +#: src/tables/InvenTreeTable.tsx:470 +#: src/tables/InvenTreeTable.tsx:545 +#: src/tables/bom/BomTable.tsx:366 #: src/tables/stock/StockItemTestResultTable.tsx:294 msgid "Error" msgstr "" @@ -157,7 +159,7 @@ msgstr "" #: src/functions/forms.tsx:196 #: src/hooks/UseForm.tsx:40 #: src/tables/FilterSelectDrawer.tsx:204 -#: src/tables/InvenTreeTable.tsx:499 +#: src/tables/InvenTreeTable.tsx:518 #: src/tables/build/BuildOutputTable.tsx:225 msgid "Cancel" msgstr "" @@ -175,7 +177,7 @@ msgid "Clear" msgstr "" #: src/components/details/DetailsImage.tsx:227 -#: src/components/forms/ApiForm.tsx:573 +#: src/components/forms/ApiForm.tsx:580 #: src/contexts/ThemeContext.tsx:43 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:56 msgid "Submit" @@ -202,48 +204,61 @@ msgid "Delete image" msgstr "" #: src/components/details/PartIcons.tsx:28 +#: src/tables/ColumnRenderers.tsx:35 +msgid "Part is locked" +msgstr "" + +#: src/components/details/PartIcons.tsx:30 +#: src/pages/part/PartDetail.tsx:267 +#: src/pages/part/PartDetail.tsx:698 +#: src/tables/part/PartTable.tsx:175 +msgid "Locked" +msgstr "" + +#: src/components/details/PartIcons.tsx:35 +#: src/tables/ColumnRenderers.tsx:30 msgid "Part is not active" msgstr "" -#: src/components/details/PartIcons.tsx:34 +#: src/components/details/PartIcons.tsx:37 #: src/components/render/Plugin.tsx:17 #: src/pages/company/CompanyDetail.tsx:315 #: src/pages/company/SupplierPartDetail.tsx:307 -#: src/pages/part/PartDetail.tsx:685 +#: src/pages/part/PartDetail.tsx:704 msgid "Inactive" msgstr "" -#: src/components/details/PartIcons.tsx:41 +#: src/components/details/PartIcons.tsx:43 msgid "Part is a template part (variants can be made from this part)" msgstr "" -#: src/components/details/PartIcons.tsx:47 +#: src/components/details/PartIcons.tsx:49 msgid "Part can be assembled from other parts" msgstr "" -#: src/components/details/PartIcons.tsx:53 +#: src/components/details/PartIcons.tsx:55 msgid "Part can be used in assemblies" msgstr "" -#: src/components/details/PartIcons.tsx:59 +#: src/components/details/PartIcons.tsx:61 msgid "Part stock is tracked by serial number" msgstr "" -#: src/components/details/PartIcons.tsx:65 +#: src/components/details/PartIcons.tsx:67 msgid "Part can be purchased from external suppliers" msgstr "" -#: src/components/details/PartIcons.tsx:71 +#: src/components/details/PartIcons.tsx:73 msgid "Part can be sold to customers" msgstr "" -#: src/components/details/PartIcons.tsx:76 +#: src/components/details/PartIcons.tsx:78 msgid "Part is virtual (not a physical part)" msgstr "" -#: src/components/details/PartIcons.tsx:82 -#: src/tables/part/PartTable.tsx:234 -#: src/tables/part/PartTable.tsx:238 +#: src/components/details/PartIcons.tsx:84 +#: src/tables/part/PartTable.tsx:241 +#: src/tables/part/PartTable.tsx:245 #: src/tables/part/PartVariantTable.tsx:25 msgid "Virtual" msgstr "" @@ -252,29 +267,29 @@ msgstr "" msgid "Image upload failed" msgstr "" -#: src/components/editors/NotesEditor.tsx:151 -#: src/components/forms/ApiForm.tsx:430 -#: src/tables/bom/BomTable.tsx:354 +#: src/components/editors/NotesEditor.tsx:156 +#: src/components/forms/ApiForm.tsx:437 +#: src/tables/bom/BomTable.tsx:357 msgid "Success" msgstr "" -#: src/components/editors/NotesEditor.tsx:152 +#: src/components/editors/NotesEditor.tsx:157 msgid "Notes saved successfully" msgstr "" -#: src/components/editors/NotesEditor.tsx:161 +#: src/components/editors/NotesEditor.tsx:166 msgid "Failed to save notes" msgstr "" -#: src/components/editors/NotesEditor.tsx:193 +#: src/components/editors/NotesEditor.tsx:198 msgid "Preview Notes" msgstr "" -#: src/components/editors/NotesEditor.tsx:193 +#: src/components/editors/NotesEditor.tsx:198 msgid "Edit Notes" msgstr "" -#: src/components/editors/NotesEditor.tsx:207 +#: src/components/editors/NotesEditor.tsx:212 msgid "Save Notes" msgstr "" @@ -407,7 +422,7 @@ msgstr "" msgid "A server error occurred" msgstr "" -#: src/components/forms/ApiForm.tsx:149 +#: src/components/forms/ApiForm.tsx:151 #: src/functions/forms.tsx:259 msgid "Form Error" msgstr "" @@ -416,18 +431,18 @@ msgstr "" #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:611 +#: src/components/forms/ApiForm.tsx:618 #: src/tables/plugin/PluginListTable.tsx:388 msgid "Update" msgstr "" -#: src/components/forms/ApiForm.tsx:631 +#: src/components/forms/ApiForm.tsx:638 #: 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:498 +#: src/tables/InvenTreeTable.tsx:517 #: src/tables/RowActions.tsx:71 #: src/tables/plugin/PluginListTable.tsx:420 msgid "Delete" @@ -600,7 +615,7 @@ msgstr "" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:70 #: src/pages/part/CategoryDetail.tsx:80 -#: src/pages/part/PartDetail.tsx:122 +#: src/pages/part/PartDetail.tsx:123 #: src/pages/stock/LocationDetail.tsx:87 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 @@ -685,6 +700,124 @@ msgstr "" msgid "Thumbnail" msgstr "" +#: src/components/importer/ImportDataSelector.tsx:154 +msgid "Importing Rows" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:155 +msgid "Please wait while the data is imported" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:172 +msgid "An error occurred while importing data" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:191 +msgid "Edit Data" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:218 +msgid "Delete Row" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:248 +msgid "Row" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:266 +msgid "Row contains errors" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:307 +msgid "Accept" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:340 +msgid "Valid" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:341 +msgid "Filter by row validation status" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:346 +#: src/tables/build/BuildOutputTable.tsx:205 +msgid "Complete" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:347 +msgid "Filter by row completion status" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:364 +msgid "Import selected rows" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:46 +#: src/components/importer/ImporterColumnSelector.tsx:85 +msgid "An error occurred" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:57 +msgid "Select column, or leave blank to ignore this field." +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:91 +msgid "Select a column from the data file" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:104 +msgid "Map data columns to database fields" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:109 +msgid "Accept Column Mapping" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:117 +msgid "Database Field" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:118 +msgid "Field Description" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:119 +msgid "Imported Column Name" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:44 +msgid "Import Data" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:45 +msgid "Map Columns" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:46 +msgid "Process Data" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:47 +msgid "Complete Import" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:91 +msgid "Importing Data" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:97 +msgid "Cancel import session" +msgstr "" + +#: src/components/importer/ImporterImportProgress.tsx:36 +msgid "Importing Records" +msgstr "" + +#: src/components/importer/ImporterImportProgress.tsx:39 +msgid "Imported rows" +msgstr "" + #: src/components/items/ActionDropdown.tsx:119 #: src/pages/build/BuildDetail.tsx:358 msgid "Barcode Actions" @@ -738,7 +871,7 @@ msgid "Read More" msgstr "" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:443 +#: src/tables/InvenTreeTable.tsx:462 msgid "Unknown error" msgstr "" @@ -1039,13 +1172,13 @@ msgstr "" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:313 +#: src/pages/Index/Settings/SystemSettings.tsx:314 msgid "System Settings" msgstr "" #: src/components/nav/MainMenu.tsx:67 #: src/defaults/menuItems.tsx:63 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:198 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:209 msgid "Admin Center" msgstr "" @@ -1088,7 +1221,7 @@ msgid "Pages" msgstr "" #: src/components/nav/NavigationDrawer.tsx:65 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:157 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:168 #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:41 msgid "Plugins" msgstr "" @@ -1102,7 +1235,7 @@ msgstr "" msgid "About" msgstr "" -#: src/components/nav/NotificationDrawer.tsx:78 +#: src/components/nav/NotificationDrawer.tsx:81 #: src/pages/Index/Settings/SystemSettings.tsx:108 #: src/pages/Index/Settings/UserSettings.tsx:96 #: src/pages/Notifications.tsx:65 @@ -1110,17 +1243,17 @@ msgstr "" msgid "Notifications" msgstr "" -#: src/components/nav/NotificationDrawer.tsx:95 +#: src/components/nav/NotificationDrawer.tsx:98 msgid "You have no unread notifications." msgstr "" -#: src/components/nav/NotificationDrawer.tsx:111 -#: src/components/nav/NotificationDrawer.tsx:117 +#: src/components/nav/NotificationDrawer.tsx:114 +#: src/components/nav/NotificationDrawer.tsx:120 #: src/tables/notifications/NotificationsTable.tsx:36 msgid "Notification" msgstr "" -#: src/components/nav/NotificationDrawer.tsx:140 +#: src/components/nav/NotificationDrawer.tsx:143 #: src/pages/Notifications.tsx:73 msgid "Mark as read" msgstr "" @@ -1157,7 +1290,7 @@ msgstr "" msgid "No results available for search query" msgstr "" -#: src/components/render/Instance.tsx:166 +#: src/components/render/Instance.tsx:201 msgid "Unknown model: {model}" msgstr "" @@ -1172,7 +1305,8 @@ msgstr "" #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 #: src/pages/build/BuildDetail.tsx:85 -#: src/pages/part/PartDetail.tsx:831 +#: src/pages/part/PartDetail.tsx:872 +#: src/tables/part/PartTable.tsx:28 #: src/tables/part/RelatedPartTable.tsx:45 #: src/tables/stock/StockTrackingTable.tsx:74 msgid "Part" @@ -1185,7 +1319,7 @@ msgstr "" #: src/pages/part/CategoryDetail.tsx:112 #: src/pages/part/CategoryDetail.tsx:237 #: src/pages/part/CategoryDetail.tsx:267 -#: src/pages/part/PartDetail.tsx:639 +#: src/pages/part/PartDetail.tsx:652 msgid "Parts" msgstr "" @@ -1235,7 +1369,7 @@ msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:172 #: src/pages/part/CategoryDetail.tsx:251 #: src/pages/part/CategoryDetail.tsx:288 -#: src/pages/part/PartDetail.tsx:821 +#: src/pages/part/PartDetail.tsx:862 msgid "Part Categories" msgstr "" @@ -1317,7 +1451,7 @@ msgid "Project Code" msgstr "" #: src/components/render/ModelType.tsx:127 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:109 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:120 msgid "Project Codes" msgstr "" @@ -1329,10 +1463,10 @@ msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:134 -#: src/pages/Index/Settings/SystemSettings.tsx:257 +#: src/pages/Index/Settings/SystemSettings.tsx:258 #: src/pages/company/CompanyDetail.tsx:194 #: src/pages/company/SupplierPartDetail.tsx:226 -#: src/pages/part/PartDetail.tsx:573 +#: src/pages/part/PartDetail.tsx:586 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "" @@ -1354,9 +1488,9 @@ msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:272 +#: src/pages/Index/Settings/SystemSettings.tsx:273 #: src/pages/company/CompanyDetail.tsx:214 -#: src/pages/part/PartDetail.tsx:580 +#: src/pages/part/PartDetail.tsx:593 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" @@ -1376,7 +1510,7 @@ msgid "Return Order" msgstr "" #: src/components/render/ModelType.tsx:164 -#: src/pages/Index/Settings/SystemSettings.tsx:288 +#: src/pages/Index/Settings/SystemSettings.tsx:289 #: src/pages/company/CompanyDetail.tsx:221 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1413,40 +1547,49 @@ msgid "Owners" msgstr "" #: src/components/render/ModelType.tsx:193 +#: src/tables/settings/ImportSessionTable.tsx:122 #: src/tables/stock/StockItemTestResultTable.tsx:193 #: src/tables/stock/StockTrackingTable.tsx:195 msgid "User" msgstr "" #: src/components/render/ModelType.tsx:194 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:85 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:90 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" msgstr "" #: src/components/render/ModelType.tsx:200 -msgid "Label Template" +msgid "Import Session" msgstr "" #: src/components/render/ModelType.tsx:201 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:139 -msgid "Label Templates" +msgid "Import Sessions" msgstr "" #: src/components/render/ModelType.tsx:207 -msgid "Report Template" +msgid "Label Template" msgstr "" #: src/components/render/ModelType.tsx:208 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:145 -msgid "Report Templates" +#: src/pages/Index/Settings/AdminCenter/Index.tsx:150 +msgid "Label Templates" msgstr "" #: src/components/render/ModelType.tsx:214 -msgid "Plugin Configuration" +msgid "Report Template" msgstr "" #: src/components/render/ModelType.tsx:215 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:156 +msgid "Report Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:221 +msgid "Plugin Configuration" +msgstr "" + +#: src/components/render/ModelType.tsx:222 msgid "Plugin Configurations" msgstr "" @@ -1458,7 +1601,7 @@ msgstr "" #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 #: src/pages/Index/Settings/SystemSettings.tsx:210 -#: src/pages/part/PartDetail.tsx:492 +#: src/pages/part/PartDetail.tsx:503 #: src/pages/stock/LocationDetail.tsx:347 #: src/pages/stock/StockDetail.tsx:356 #: src/tables/stock/StockItemTable.tsx:57 @@ -1641,10 +1784,6 @@ msgstr "" #~ msgid "Comment" #~ msgstr "Comment" -#: src/components/tables/general/AttachmentTable.tsx:56 -#~ msgid "Uploaded" -#~ msgstr "Uploaded" - #: src/components/tables/part/PartCategoryTable.tsx:122 #~ msgid "Part category updated" #~ msgstr "Part category updated" @@ -2157,7 +2296,7 @@ msgid "Recently Updated" msgstr "" #: src/defaults/dashboardItems.tsx:50 -#: src/tables/part/PartTable.tsx:216 +#: src/tables/part/PartTable.tsx:223 msgid "Low Stock" msgstr "" @@ -2466,7 +2605,7 @@ msgstr "" #~ msgid "Company updated" #~ msgstr "Company updated" -#: src/forms/PartForms.tsx:100 +#: src/forms/PartForms.tsx:103 msgid "Parent part category" msgstr "" @@ -2534,7 +2673,7 @@ msgstr "" #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 #: src/pages/stock/StockDetail.tsx:173 -#: src/tables/ColumnRenderers.tsx:34 +#: src/tables/ColumnRenderers.tsx:49 #: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" msgstr "" @@ -2585,8 +2724,8 @@ msgstr "" #: src/forms/StockForms.tsx:176 #: src/pages/stock/StockDetail.tsx:379 -#: src/tables/stock/StockItemTable.tsx:382 -#: src/tables/stock/StockItemTable.tsx:499 +#: src/tables/stock/StockItemTable.tsx:404 +#: src/tables/stock/StockItemTable.tsx:521 msgid "Add Stock Item" msgstr "" @@ -2606,9 +2745,9 @@ msgstr "" #: src/forms/StockForms.tsx:606 #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 -#: src/pages/part/PartDetail.tsx:202 -#: src/pages/part/PartDetail.tsx:655 -#: src/tables/stock/StockItemTable.tsx:290 +#: src/pages/part/PartDetail.tsx:203 +#: src/pages/part/PartDetail.tsx:668 +#: src/tables/stock/StockItemTable.tsx:312 msgid "In Stock" msgstr "" @@ -2649,12 +2788,12 @@ msgid "Remove Stock" msgstr "" #: src/forms/StockForms.tsx:803 -#: src/pages/part/PartDetail.tsx:782 +#: src/pages/part/PartDetail.tsx:823 msgid "Transfer Stock" msgstr "" #: src/forms/StockForms.tsx:812 -#: src/pages/part/PartDetail.tsx:771 +#: src/pages/part/PartDetail.tsx:812 msgid "Count Stock" msgstr "" @@ -3279,53 +3418,57 @@ msgstr "" #~ msgid "Advanced Amininistrative Options for InvenTree" #~ msgstr "Advanced Amininistrative Options for InvenTree" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:91 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:96 +msgid "Data Import" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:102 msgid "Background Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:97 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:108 msgid "Error Reports" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:103 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:114 msgid "Currencies" 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:132 msgid "Custom Units" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:138 #: src/pages/part/CategoryDetail.tsx:257 msgid "Part Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 -#~ msgid "Templates" -#~ msgstr "Templates" - -#: src/pages/Index/Settings/AdminCenter/Index.tsx:133 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:144 msgid "Category Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:151 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:162 msgid "Location types" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:163 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:174 #: src/tables/machine/MachineTypeTable.tsx:287 msgid "Machines" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:173 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:184 msgid "Quick Actions" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:178 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:189 msgid "Add a new user" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:199 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:210 msgid "Advanced Options" msgstr "" @@ -3477,7 +3620,7 @@ msgid "Reporting" msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:235 -#: src/pages/part/PartDetail.tsx:593 +#: src/pages/part/PartDetail.tsx:606 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" @@ -3485,12 +3628,12 @@ msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:241 #: src/pages/build/BuildDetail.tsx:423 #: src/pages/build/BuildIndex.tsx:14 -#: src/pages/part/PartDetail.tsx:527 +#: src/pages/part/PartDetail.tsx:540 #: src/pages/sales/SalesOrderDetail.tsx:270 msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:316 +#: src/pages/Index/Settings/SystemSettings.tsx:317 msgid "Switch to User Setting" msgstr "" @@ -3555,7 +3698,8 @@ msgstr "" #: 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/settings/ImportSessionTable.tsx:116 +#: src/tables/stock/StockItemTable.tsx:281 #: src/tables/stock/StockTrackingTable.tsx:52 msgid "Status" msgstr "" @@ -3564,7 +3708,7 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:104 #: src/pages/sales/ReturnOrderDetail.tsx:73 #: src/pages/sales/SalesOrderDetail.tsx:77 -#: src/tables/ColumnRenderers.tsx:106 +#: src/tables/ColumnRenderers.tsx:121 #: src/tables/build/BuildLineTable.tsx:140 msgid "Reference" msgstr "" @@ -3574,12 +3718,12 @@ msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:78 #: src/pages/company/SupplierPartDetail.tsx:85 #: src/pages/part/CategoryDetail.tsx:94 -#: src/pages/part/PartDetail.tsx:129 +#: src/pages/part/PartDetail.tsx:130 #: src/pages/purchasing/PurchaseOrderDetail.tsx:125 #: src/pages/sales/ReturnOrderDetail.tsx:93 #: src/pages/sales/SalesOrderDetail.tsx:97 #: src/pages/stock/LocationDetail.tsx:101 -#: src/tables/ColumnRenderers.tsx:66 +#: src/tables/ColumnRenderers.tsx:81 #: src/tables/machine/MachineTypeTable.tsx:69 #: src/tables/machine/MachineTypeTable.tsx:112 #: src/tables/machine/MachineTypeTable.tsx:219 @@ -3610,7 +3754,7 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:152 -#: src/pages/part/PartDetail.tsx:317 +#: src/pages/part/PartDetail.tsx:323 #: src/pages/purchasing/PurchaseOrderDetail.tsx:217 #: src/pages/sales/ReturnOrderDetail.tsx:186 #: src/pages/sales/SalesOrderDetail.tsx:190 @@ -3630,7 +3774,7 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:210 #: src/pages/sales/ReturnOrderDetail.tsx:179 #: src/pages/sales/SalesOrderDetail.tsx:183 -#: src/tables/ColumnRenderers.tsx:191 +#: src/tables/ColumnRenderers.tsx:206 msgid "Target Date" msgstr "" @@ -3711,7 +3855,7 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:297 #: src/pages/company/CompanyDetail.tsx:257 #: src/pages/company/ManufacturerPartDetail.tsx:174 -#: src/pages/part/PartDetail.tsx:616 +#: src/pages/part/PartDetail.tsx:629 #: src/pages/purchasing/PurchaseOrderDetail.tsx:279 #: src/pages/sales/ReturnOrderDetail.tsx:230 #: src/pages/sales/SalesOrderDetail.tsx:280 @@ -3721,7 +3865,7 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:305 #: src/pages/company/CompanyDetail.tsx:268 -#: src/pages/part/PartDetail.tsx:624 +#: src/pages/part/PartDetail.tsx:637 #: src/pages/purchasing/PurchaseOrderDetail.tsx:290 #: src/pages/sales/ReturnOrderDetail.tsx:241 #: src/pages/sales/SalesOrderDetail.tsx:291 @@ -3877,12 +4021,12 @@ msgid "Manufacturer Part Details" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:148 -#: src/pages/part/PartDetail.tsx:486 +#: src/pages/part/PartDetail.tsx:492 msgid "Parameters" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:160 -#: src/pages/part/PartDetail.tsx:560 +#: src/pages/part/PartDetail.tsx:573 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" msgstr "" @@ -3907,7 +4051,7 @@ msgid "ManufacturerPart" msgstr "" #: src/pages/company/SupplierPartDetail.tsx:99 -#: src/tables/ColumnRenderers.tsx:117 +#: src/tables/ColumnRenderers.tsx:132 msgid "Note" msgstr "" @@ -4043,275 +4187,275 @@ msgstr "" msgid "Category Details" msgstr "" -#: src/pages/part/PartDetail.tsx:135 +#: src/pages/part/PartDetail.tsx:136 msgid "Variant of" msgstr "" -#: src/pages/part/PartDetail.tsx:142 +#: src/pages/part/PartDetail.tsx:143 #: src/tables/notifications/NotificationsTable.tsx:31 #: src/tables/part/PartCategoryTemplateTable.tsx:67 msgid "Category" msgstr "" -#: src/pages/part/PartDetail.tsx:148 +#: src/pages/part/PartDetail.tsx:149 msgid "Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:155 +#: src/pages/part/PartDetail.tsx:156 msgid "Category Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:162 +#: src/pages/part/PartDetail.tsx:163 msgid "IPN" msgstr "" -#: src/pages/part/PartDetail.tsx:169 +#: src/pages/part/PartDetail.tsx:170 msgid "Revision" msgstr "" -#: src/pages/part/PartDetail.tsx:176 +#: src/pages/part/PartDetail.tsx:177 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" msgstr "" -#: src/pages/part/PartDetail.tsx:183 +#: src/pages/part/PartDetail.tsx:184 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:190 +#: src/pages/part/PartDetail.tsx:191 #: src/pages/purchasing/PurchaseOrderDetail.tsx:183 #: src/pages/sales/ReturnOrderDetail.tsx:152 #: src/pages/sales/SalesOrderDetail.tsx:156 msgid "Link" msgstr "" -#: src/pages/part/PartDetail.tsx:208 -#: src/tables/bom/BomTable.tsx:276 +#: src/pages/part/PartDetail.tsx:209 +#: src/tables/bom/BomTable.tsx:279 #: src/tables/build/BuildLineTable.tsx:121 -#: src/tables/part/PartTable.tsx:256 +#: src/tables/part/PartTable.tsx:263 msgid "Available Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:215 +#: src/pages/part/PartDetail.tsx:216 msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:221 -#: src/tables/bom/BomTable.tsx:217 +#: src/pages/part/PartDetail.tsx:222 +#: src/tables/bom/BomTable.tsx:220 #: src/tables/build/BuildLineTable.tsx:95 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:230 +#: src/pages/part/PartDetail.tsx:231 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:238 +#: src/pages/part/PartDetail.tsx:239 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:245 -#: src/tables/bom/BomTable.tsx:241 +#: src/pages/part/PartDetail.tsx:246 +#: src/tables/bom/BomTable.tsx:244 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:252 -#: src/tables/bom/BomTable.tsx:225 -#: src/tables/part/PartTable.tsx:82 +#: src/pages/part/PartDetail.tsx:253 +#: src/tables/bom/BomTable.tsx:228 +#: src/tables/part/PartTable.tsx:83 msgid "Building" msgstr "" -#: src/pages/part/PartDetail.tsx:261 +#: src/pages/part/PartDetail.tsx:262 #: src/tables/bom/UsedInTable.tsx:73 #: src/tables/build/BuildOrderTable.tsx:108 #: src/tables/company/CompanyTable.tsx:61 #: src/tables/company/CompanyTable.tsx:95 #: src/tables/machine/MachineListTable.tsx:323 #: src/tables/machine/MachineListTable.tsx:585 -#: src/tables/part/PartTable.tsx:168 +#: src/tables/part/PartTable.tsx:169 #: src/tables/part/PartVariantTable.tsx:15 #: 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 +#: src/tables/stock/StockItemTable.tsx:276 msgid "Active" msgstr "" -#: src/pages/part/PartDetail.tsx:266 +#: src/pages/part/PartDetail.tsx:272 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:271 -#: src/tables/bom/BomTable.tsx:271 +#: src/pages/part/PartDetail.tsx:277 +#: src/tables/bom/BomTable.tsx:274 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:276 +#: src/pages/part/PartDetail.tsx:282 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:281 -#: src/tables/bom/BomTable.tsx:266 +#: src/pages/part/PartDetail.tsx:287 +#: src/tables/bom/BomTable.tsx:269 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:286 +#: src/pages/part/PartDetail.tsx:292 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:291 +#: src/pages/part/PartDetail.tsx:297 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:296 +#: src/pages/part/PartDetail.tsx:302 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:304 -#: src/tables/ColumnRenderers.tsx:199 +#: src/pages/part/PartDetail.tsx:310 +#: src/tables/ColumnRenderers.tsx:214 msgid "Creation Date" msgstr "" -#: src/pages/part/PartDetail.tsx:309 -msgid "Created By" -msgstr "" - #: src/pages/part/PartDetail.tsx:310 #~ msgid "Edit part" #~ msgstr "Edit part" +#: src/pages/part/PartDetail.tsx:315 +msgid "Created By" +msgstr "" + #: src/pages/part/PartDetail.tsx:322 #~ msgid "Duplicate part" #~ msgstr "Duplicate part" -#: src/pages/part/PartDetail.tsx:324 -msgid "Default Supplier" -msgstr "" - #: src/pages/part/PartDetail.tsx:327 #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:335 +#: src/pages/part/PartDetail.tsx:330 +msgid "Default Supplier" +msgstr "" + +#: src/pages/part/PartDetail.tsx:341 #: src/pages/part/pricing/BomPricingPanel.tsx:78 #: src/pages/part/pricing/VariantPricingPanel.tsx:95 -#: src/tables/part/PartTable.tsx:151 +#: src/tables/part/PartTable.tsx:152 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:374 +#: src/pages/part/PartDetail.tsx:380 #: src/pages/stock/StockDetail.tsx:133 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:409 +#: src/pages/part/PartDetail.tsx:415 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:480 +#: src/pages/part/PartDetail.tsx:486 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:506 +#: src/pages/part/PartDetail.tsx:517 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:513 +#: src/pages/part/PartDetail.tsx:524 #: src/pages/stock/StockDetail.tsx:286 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:520 +#: src/pages/part/PartDetail.tsx:531 msgid "Bill of Materials" msgstr "" -#: src/pages/part/PartDetail.tsx:534 +#: src/pages/part/PartDetail.tsx:547 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:541 +#: src/pages/part/PartDetail.tsx:554 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:547 +#: src/pages/part/PartDetail.tsx:560 #: src/pages/purchasing/PurchasingIndex.tsx:37 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:587 +#: src/pages/part/PartDetail.tsx:600 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:599 +#: src/pages/part/PartDetail.tsx:612 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:610 +#: src/pages/part/PartDetail.tsx:623 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:661 +#: src/pages/part/PartDetail.tsx:674 #: src/pages/stock/StockDetail.tsx:154 #: src/pages/stock/StockDetail.tsx:533 #: src/tables/build/BuildLineTable.tsx:36 -#: src/tables/part/PartTable.tsx:107 +#: src/tables/part/PartTable.tsx:108 #: src/tables/stock/StockItemTable.tsx:166 -#: src/tables/stock/StockItemTable.tsx:275 +#: src/tables/stock/StockItemTable.tsx:297 msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:667 +#: src/pages/part/PartDetail.tsx:680 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:673 -#: src/tables/bom/BomTable.tsx:281 -#: src/tables/part/PartTable.tsx:76 +#: src/pages/part/PartDetail.tsx:686 +#: src/tables/bom/BomTable.tsx:284 +#: src/tables/part/PartTable.tsx:77 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:679 +#: src/pages/part/PartDetail.tsx:692 #: src/pages/stock/StockDetail.tsx:516 -#: src/tables/stock/StockItemTable.tsx:295 +#: src/tables/stock/StockItemTable.tsx:317 msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:698 +#: src/pages/part/PartDetail.tsx:717 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:705 -#: src/tables/part/PartTable.tsx:289 -#: src/tables/part/PartTable.tsx:302 +#: src/pages/part/PartDetail.tsx:744 +#: src/tables/part/PartTable.tsx:296 +#: src/tables/part/PartTable.tsx:309 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:717 +#: src/pages/part/PartDetail.tsx:758 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:726 +#: src/pages/part/PartDetail.tsx:767 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:764 +#: src/pages/part/PartDetail.tsx:805 #: src/pages/stock/LocationDetail.tsx:304 -#: src/tables/stock/StockItemTable.tsx:409 +#: src/tables/stock/StockItemTable.tsx:431 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:772 +#: src/pages/part/PartDetail.tsx:813 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:824 msgid "Transfer part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:792 +#: src/pages/part/PartDetail.tsx:833 msgid "Part Actions" msgstr "" @@ -4359,8 +4503,8 @@ msgstr "" #: src/pages/part/pricing/BomPricingPanel.tsx:57 #: src/pages/part/pricing/BomPricingPanel.tsx:137 -#: src/tables/ColumnRenderers.tsx:241 -#: src/tables/bom/BomTable.tsx:165 +#: src/tables/ColumnRenderers.tsx:256 +#: src/tables/bom/BomTable.tsx:168 #: src/tables/purchasing/PurchaseOrderTable.tsx:112 #: src/tables/sales/ReturnOrderTable.tsx:104 #: src/tables/sales/SalesOrderTable.tsx:134 @@ -4369,7 +4513,7 @@ msgstr "" #: src/pages/part/pricing/BomPricingPanel.tsx:77 #: src/pages/part/pricing/BomPricingPanel.tsx:101 -#: src/tables/part/PartTable.tsx:186 +#: src/tables/part/PartTable.tsx:193 msgid "Component" msgstr "" @@ -4398,7 +4542,7 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:67 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:128 #: src/pages/part/pricing/SupplierPricingPanel.tsx:62 -#: src/tables/bom/BomTable.tsx:156 +#: src/tables/bom/BomTable.tsx:159 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 msgid "Unit Price" @@ -4498,7 +4642,7 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:40 #: src/pages/part/pricing/SaleHistoryPanel.tsx:36 -#: src/tables/ColumnRenderers.tsx:180 +#: src/tables/ColumnRenderers.tsx:195 #: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" @@ -4771,12 +4915,12 @@ msgid "Count stock" msgstr "" #: src/pages/stock/StockDetail.tsx:459 -#: src/tables/stock/StockItemTable.tsx:414 +#: src/tables/stock/StockItemTable.tsx:436 msgid "Add stock" msgstr "" #: src/pages/stock/StockDetail.tsx:467 -#: src/tables/stock/StockItemTable.tsx:423 +#: src/tables/stock/StockItemTable.tsx:445 msgid "Remove stock" msgstr "" @@ -4785,7 +4929,7 @@ msgid "Transfer" msgstr "" #: src/pages/stock/StockDetail.tsx:475 -#: src/tables/stock/StockItemTable.tsx:443 +#: src/tables/stock/StockItemTable.tsx:465 msgid "Transfer stock" msgstr "" @@ -4793,15 +4937,15 @@ msgstr "" msgid "Stock Item Actions" msgstr "" -#: src/tables/ColumnRenderers.tsx:42 +#: src/tables/ColumnRenderers.tsx:57 msgid "No location set" msgstr "" -#: src/tables/ColumnRenderers.tsx:207 +#: src/tables/ColumnRenderers.tsx:222 msgid "Shipment Date" msgstr "" -#: src/tables/ColumnRenderers.tsx:227 +#: src/tables/ColumnRenderers.tsx:242 #: src/tables/settings/CurrencyTable.tsx:23 msgid "Currency" msgstr "" @@ -4828,14 +4972,14 @@ msgid "TSV" msgstr "" #: src/tables/DownloadAction.tsx:24 -msgid "Excel (.xls)" -msgstr "" - -#: src/tables/DownloadAction.tsx:25 msgid "Excel (.xlsx)" msgstr "" -#: src/tables/DownloadAction.tsx:39 +#: src/tables/DownloadAction.tsx:24 +#~ msgid "Excel (.xls)" +#~ msgstr "" + +#: src/tables/DownloadAction.tsx:38 msgid "Download Data" msgstr "" @@ -4900,54 +5044,54 @@ msgstr "" msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:119 -#: src/tables/InvenTreeTable.tsx:390 -#: src/tables/InvenTreeTable.tsx:411 +#: src/tables/InvenTreeTable.tsx:126 +#: src/tables/InvenTreeTable.tsx:409 +#: src/tables/InvenTreeTable.tsx:430 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:422 +#: src/tables/InvenTreeTable.tsx:441 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:430 +#: src/tables/InvenTreeTable.tsx:449 msgid "Bad request" msgstr "" -#: src/tables/InvenTreeTable.tsx:433 +#: src/tables/InvenTreeTable.tsx:452 msgid "Unauthorized" msgstr "" -#: src/tables/InvenTreeTable.tsx:436 +#: src/tables/InvenTreeTable.tsx:455 msgid "Forbidden" msgstr "" -#: src/tables/InvenTreeTable.tsx:439 +#: src/tables/InvenTreeTable.tsx:458 msgid "Not found" msgstr "" -#: src/tables/InvenTreeTable.tsx:488 -#: src/tables/InvenTreeTable.tsx:606 +#: src/tables/InvenTreeTable.tsx:507 +#: src/tables/InvenTreeTable.tsx:623 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:492 +#: src/tables/InvenTreeTable.tsx:511 msgid "Are you sure you want to delete the selected records?" msgstr "" -#: src/tables/InvenTreeTable.tsx:494 +#: src/tables/InvenTreeTable.tsx:513 msgid "This action cannot be undone!" msgstr "" -#: src/tables/InvenTreeTable.tsx:517 +#: src/tables/InvenTreeTable.tsx:536 msgid "Deleted records" msgstr "" -#: src/tables/InvenTreeTable.tsx:518 +#: src/tables/InvenTreeTable.tsx:537 msgid "Records were deleted successfully" msgstr "" -#: src/tables/InvenTreeTable.tsx:527 +#: src/tables/InvenTreeTable.tsx:546 msgid "Failed to delete records" msgstr "" @@ -4956,140 +5100,144 @@ msgstr "" #~ msgid "Print actions" #~ msgstr "Print actions" -#: src/tables/InvenTreeTable.tsx:596 -#: src/tables/InvenTreeTable.tsx:597 +#: src/tables/InvenTreeTable.tsx:613 +#: src/tables/InvenTreeTable.tsx:614 msgid "Barcode actions" msgstr "" -#: src/tables/InvenTreeTable.tsx:625 +#: src/tables/InvenTreeTable.tsx:642 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTable.tsx:646 +#: src/tables/InvenTreeTable.tsx:663 msgid "Table filters" msgstr "" -#: src/tables/bom/BomTable.tsx:80 +#: src/tables/UploadAction.tsx:9 +msgid "Upload Data" +msgstr "" + +#: src/tables/bom/BomTable.tsx:83 msgid "This BOM item is defined for a different parent" msgstr "" -#: src/tables/bom/BomTable.tsx:95 +#: src/tables/bom/BomTable.tsx:98 msgid "Part Information" msgstr "" -#: src/tables/bom/BomTable.tsx:184 -#: src/tables/part/PartTable.tsx:124 +#: src/tables/bom/BomTable.tsx:187 +#: src/tables/part/PartTable.tsx:125 msgid "No stock" msgstr "" -#: src/tables/bom/BomTable.tsx:192 +#: src/tables/bom/BomTable.tsx:195 #: src/tables/build/BuildLineTable.tsx:104 -#: src/tables/part/PartTable.tsx:115 +#: src/tables/part/PartTable.tsx:116 msgid "External stock" msgstr "" -#: src/tables/bom/BomTable.tsx:200 +#: src/tables/bom/BomTable.tsx:203 #: src/tables/build/BuildLineTable.tsx:67 msgid "Includes substitute stock" msgstr "" -#: src/tables/bom/BomTable.tsx:209 +#: src/tables/bom/BomTable.tsx:212 #: src/tables/build/BuildLineTable.tsx:77 msgid "Includes variant stock" msgstr "" -#: src/tables/bom/BomTable.tsx:234 -#: src/tables/part/PartTable.tsx:143 +#: src/tables/bom/BomTable.tsx:237 +#: src/tables/part/PartTable.tsx:144 #: src/tables/stock/StockItemTable.tsx:205 msgid "Stock Information" msgstr "" -#: src/tables/bom/BomTable.tsx:246 +#: src/tables/bom/BomTable.tsx:249 #: src/tables/build/BuildLineTable.tsx:195 msgid "Consumable item" msgstr "" -#: src/tables/bom/BomTable.tsx:267 +#: src/tables/bom/BomTable.tsx:270 msgid "Show trackable items" msgstr "" -#: src/tables/bom/BomTable.tsx:272 +#: src/tables/bom/BomTable.tsx:275 msgid "Show asssmbled items" msgstr "" -#: src/tables/bom/BomTable.tsx:277 +#: src/tables/bom/BomTable.tsx:280 msgid "Show items with available stock" msgstr "" -#: src/tables/bom/BomTable.tsx:282 +#: src/tables/bom/BomTable.tsx:285 msgid "Show items on order" msgstr "" -#: src/tables/bom/BomTable.tsx:286 +#: src/tables/bom/BomTable.tsx:289 msgid "Validated" msgstr "" -#: src/tables/bom/BomTable.tsx:287 +#: src/tables/bom/BomTable.tsx:290 msgid "Show validated items" msgstr "" -#: src/tables/bom/BomTable.tsx:291 +#: src/tables/bom/BomTable.tsx:294 #: src/tables/bom/UsedInTable.tsx:63 msgid "Inherited" msgstr "" -#: src/tables/bom/BomTable.tsx:292 +#: src/tables/bom/BomTable.tsx:295 #: src/tables/bom/UsedInTable.tsx:64 msgid "Show inherited items" msgstr "" -#: src/tables/bom/BomTable.tsx:296 +#: src/tables/bom/BomTable.tsx:299 msgid "Allow Variants" msgstr "" -#: src/tables/bom/BomTable.tsx:297 +#: src/tables/bom/BomTable.tsx:300 msgid "Show items which allow variant substitution" msgstr "" #: src/tables/bom/BomTable.tsx:301 +#~ msgid "Create BOM Item" +#~ msgstr "Create BOM Item" + +#: src/tables/bom/BomTable.tsx:304 #: src/tables/bom/UsedInTable.tsx:68 #: src/tables/build/BuildLineTable.tsx:46 msgid "Optional" msgstr "" -#: src/tables/bom/BomTable.tsx:301 -#~ msgid "Create BOM Item" -#~ msgstr "Create BOM Item" - -#: src/tables/bom/BomTable.tsx:302 +#: src/tables/bom/BomTable.tsx:305 #: src/tables/bom/UsedInTable.tsx:69 msgid "Show optional items" msgstr "" -#: src/tables/bom/BomTable.tsx:306 +#: src/tables/bom/BomTable.tsx:309 #: src/tables/build/BuildLineTable.tsx:41 msgid "Consumable" msgstr "" -#: src/tables/bom/BomTable.tsx:307 +#: src/tables/bom/BomTable.tsx:310 msgid "Show consumable items" msgstr "" -#: src/tables/bom/BomTable.tsx:311 -#: src/tables/part/PartTable.tsx:250 +#: src/tables/bom/BomTable.tsx:314 +#: src/tables/part/PartTable.tsx:257 msgid "Has Pricing" msgstr "" -#: src/tables/bom/BomTable.tsx:312 +#: src/tables/bom/BomTable.tsx:315 msgid "Show items with pricing" msgstr "" -#: src/tables/bom/BomTable.tsx:321 -#: src/tables/bom/BomTable.tsx:420 +#: src/tables/bom/BomTable.tsx:324 +#: src/tables/bom/BomTable.tsx:426 msgid "Add BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:326 +#: src/tables/bom/BomTable.tsx:329 msgid "BOM item created" msgstr "" @@ -5097,23 +5245,23 @@ msgstr "" #~ msgid "Edit Bom Item" #~ msgstr "Edit Bom Item" -#: src/tables/bom/BomTable.tsx:333 -msgid "Edit BOM Item" -msgstr "" - #: src/tables/bom/BomTable.tsx:333 #~ msgid "Bom item updated" #~ msgstr "Bom item updated" -#: src/tables/bom/BomTable.tsx:335 +#: src/tables/bom/BomTable.tsx:336 +msgid "Edit BOM Item" +msgstr "" + +#: src/tables/bom/BomTable.tsx:338 msgid "BOM item updated" msgstr "" -#: src/tables/bom/BomTable.tsx:342 +#: src/tables/bom/BomTable.tsx:345 msgid "Delete BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:343 +#: src/tables/bom/BomTable.tsx:346 msgid "BOM item deleted" msgstr "" @@ -5133,32 +5281,41 @@ msgstr "" #~ msgid "Validate BOM line" #~ msgstr "Validate BOM line" -#: src/tables/bom/BomTable.tsx:355 +#: src/tables/bom/BomTable.tsx:358 msgid "BOM item validated" msgstr "" -#: src/tables/bom/BomTable.tsx:364 +#: src/tables/bom/BomTable.tsx:367 msgid "Failed to validate BOM item" msgstr "" -#: src/tables/bom/BomTable.tsx:376 +#: src/tables/bom/BomTable.tsx:379 msgid "View BOM" msgstr "" -#: src/tables/bom/BomTable.tsx:385 +#: src/tables/bom/BomTable.tsx:388 msgid "Validate BOM Line" msgstr "" -#: src/tables/bom/BomTable.tsx:399 +#: src/tables/bom/BomTable.tsx:405 msgid "Edit Substitutes" msgstr "" +#: src/tables/bom/BomTable.tsx:440 +#: src/tables/part/PartParameterTable.tsx:191 +msgid "Part is Locked" +msgstr "" + +#: src/tables/bom/BomTable.tsx:445 +msgid "Bill of materials cannot be edited, as the part is locked" +msgstr "" + #: src/tables/bom/UsedInTable.tsx:74 msgid "Show active assemblies" msgstr "" #: src/tables/bom/UsedInTable.tsx:78 -#: src/tables/part/PartTable.tsx:192 +#: src/tables/part/PartTable.tsx:199 #: src/tables/part/PartVariantTable.tsx:30 msgid "Trackable" msgstr "" @@ -5168,7 +5325,7 @@ msgid "Show trackable assemblies" msgstr "" #: src/tables/build/BuildLineTable.tsx:31 -#: src/tables/stock/StockItemTable.tsx:270 +#: src/tables/stock/StockItemTable.tsx:292 msgid "Allocated" msgstr "" @@ -5189,7 +5346,7 @@ msgid "Show optional lines" msgstr "" #: src/tables/build/BuildLineTable.tsx:51 -#: src/tables/stock/StockItemTable.tsx:329 +#: src/tables/stock/StockItemTable.tsx:351 msgid "Tracked" msgstr "" @@ -5302,10 +5459,6 @@ msgstr "" msgid "Deallocate stock from build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:205 -msgid "Complete" -msgstr "" - #: src/tables/build/BuildOutputTable.tsx:206 msgid "Complete build output" msgstr "" @@ -5635,7 +5788,7 @@ msgid "Message" msgstr "" #: src/tables/part/ParametricPartTable.tsx:76 -#: src/tables/part/PartParameterTable.tsx:88 +#: src/tables/part/PartParameterTable.tsx:95 msgid "Internal Units" msgstr "" @@ -5648,13 +5801,13 @@ msgid "Add Part Parameter" msgstr "" #: src/tables/part/ParametricPartTable.tsx:138 -#: src/tables/part/PartParameterTable.tsx:121 -#: src/tables/part/PartParameterTable.tsx:144 +#: src/tables/part/PartParameterTable.tsx:128 +#: src/tables/part/PartParameterTable.tsx:151 msgid "Edit Part Parameter" msgstr "" #: src/tables/part/PartCategoryTable.tsx:60 -#: src/tables/part/PartTable.tsx:180 +#: src/tables/part/PartTable.tsx:187 msgid "Include Subcategories" msgstr "" @@ -5667,7 +5820,7 @@ msgid "Show structural categories" msgstr "" #: src/tables/part/PartCategoryTable.tsx:70 -#: src/tables/part/PartTable.tsx:262 +#: src/tables/part/PartTable.tsx:269 msgid "Subscribed" msgstr "" @@ -5704,21 +5857,25 @@ msgstr "" #~ msgid "[{0}]" #~ msgstr "[{0}]" -#: src/tables/part/PartParameterTable.tsx:105 +#: src/tables/part/PartParameterTable.tsx:112 msgid "New Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:130 -#: src/tables/part/PartParameterTable.tsx:152 +#: src/tables/part/PartParameterTable.tsx:137 +#: src/tables/part/PartParameterTable.tsx:159 msgid "Delete Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:170 +#: src/tables/part/PartParameterTable.tsx:177 msgid "Add parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:191 -#: src/tables/stock/StockItemTable.tsx:300 +#: src/tables/part/PartParameterTable.tsx:196 +msgid "Part parameters cannot be edited, as the part is locked" +msgstr "" + +#: src/tables/part/PartParameterTable.tsx:210 +#: src/tables/stock/StockItemTable.tsx:322 msgid "Include Variants" msgstr "" @@ -5739,7 +5896,7 @@ msgid "Show templates with choices" msgstr "" #: src/tables/part/PartParameterTemplateTable.tsx:41 -#: src/tables/part/PartTable.tsx:198 +#: src/tables/part/PartTable.tsx:205 msgid "Has Units" msgstr "" @@ -5763,116 +5920,120 @@ msgstr "" msgid "Add parameter template" msgstr "" -#: src/tables/part/PartTable.tsx:67 +#: src/tables/part/PartTable.tsx:68 msgid "Minimum stock" msgstr "" -#: src/tables/part/PartTable.tsx:89 +#: src/tables/part/PartTable.tsx:90 msgid "Build Order Allocations" msgstr "" -#: src/tables/part/PartTable.tsx:98 +#: src/tables/part/PartTable.tsx:99 msgid "Sales Order Allocations" msgstr "" -#: src/tables/part/PartTable.tsx:169 +#: src/tables/part/PartTable.tsx:170 msgid "Filter by part active status" msgstr "" -#: src/tables/part/PartTable.tsx:174 -#: src/tables/stock/StockItemTable.tsx:265 +#: src/tables/part/PartTable.tsx:176 +msgid "Filter by part locked status" +msgstr "" + +#: src/tables/part/PartTable.tsx:181 +#: src/tables/stock/StockItemTable.tsx:287 msgid "Assembly" msgstr "" -#: src/tables/part/PartTable.tsx:175 +#: src/tables/part/PartTable.tsx:182 msgid "Filter by assembly attribute" msgstr "" -#: src/tables/part/PartTable.tsx:181 +#: src/tables/part/PartTable.tsx:188 msgid "Include parts in subcategories" msgstr "" -#: src/tables/part/PartTable.tsx:187 +#: src/tables/part/PartTable.tsx:194 msgid "Filter by component attribute" msgstr "" -#: src/tables/part/PartTable.tsx:193 +#: src/tables/part/PartTable.tsx:200 msgid "Filter by trackable attribute" msgstr "" -#: src/tables/part/PartTable.tsx:199 +#: src/tables/part/PartTable.tsx:206 msgid "Filter by parts which have units" msgstr "" -#: src/tables/part/PartTable.tsx:204 +#: src/tables/part/PartTable.tsx:211 msgid "Has IPN" msgstr "" -#: src/tables/part/PartTable.tsx:205 +#: src/tables/part/PartTable.tsx:212 msgid "Filter by parts which have an internal part number" msgstr "" -#: src/tables/part/PartTable.tsx:210 +#: src/tables/part/PartTable.tsx:217 msgid "Has Stock" msgstr "" -#: src/tables/part/PartTable.tsx:211 +#: src/tables/part/PartTable.tsx:218 msgid "Filter by parts which have stock" msgstr "" -#: src/tables/part/PartTable.tsx:217 +#: src/tables/part/PartTable.tsx:224 msgid "Filter by parts which have low stock" msgstr "" -#: src/tables/part/PartTable.tsx:222 +#: src/tables/part/PartTable.tsx:229 msgid "Purchaseable" msgstr "" -#: src/tables/part/PartTable.tsx:223 +#: src/tables/part/PartTable.tsx:230 msgid "Filter by parts which are purchaseable" msgstr "" -#: src/tables/part/PartTable.tsx:228 +#: src/tables/part/PartTable.tsx:235 msgid "Salable" msgstr "" -#: src/tables/part/PartTable.tsx:229 +#: src/tables/part/PartTable.tsx:236 msgid "Filter by parts which are salable" msgstr "" -#: src/tables/part/PartTable.tsx:235 +#: src/tables/part/PartTable.tsx:242 msgid "Filter by parts which are virtual" msgstr "" -#: src/tables/part/PartTable.tsx:239 +#: src/tables/part/PartTable.tsx:246 msgid "Not Virtual" msgstr "" -#: src/tables/part/PartTable.tsx:244 +#: src/tables/part/PartTable.tsx:251 msgid "Is Template" msgstr "" -#: src/tables/part/PartTable.tsx:245 +#: src/tables/part/PartTable.tsx:252 msgid "Filter by parts which are templates" msgstr "" -#: src/tables/part/PartTable.tsx:251 +#: src/tables/part/PartTable.tsx:258 msgid "Filter by parts which have pricing information" msgstr "" -#: src/tables/part/PartTable.tsx:257 +#: src/tables/part/PartTable.tsx:264 msgid "Filter by parts which have available stock" msgstr "" -#: src/tables/part/PartTable.tsx:263 +#: src/tables/part/PartTable.tsx:270 msgid "Filter by parts to which the user is subscribed" msgstr "" -#: src/tables/part/PartTable.tsx:268 +#: src/tables/part/PartTable.tsx:275 msgid "Has Stocktake" msgstr "" -#: src/tables/part/PartTable.tsx:269 +#: src/tables/part/PartTable.tsx:276 msgid "Filter by parts which have stocktake information" msgstr "" @@ -6211,7 +6372,7 @@ msgid "Sample" msgstr "" #: src/tables/plugin/PluginListTable.tsx:578 -#: src/tables/stock/StockItemTable.tsx:305 +#: src/tables/stock/StockItemTable.tsx:327 msgid "Installed" msgstr "" @@ -6486,6 +6647,41 @@ msgstr "" msgid "Edit group" msgstr "" +#: src/tables/settings/ImportSessionTable.tsx:39 +msgid "Delete Import Session" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:45 +#: src/tables/settings/ImportSessionTable.tsx:132 +msgid "Create Import Session" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:70 +msgid "Uploaded" +msgstr "Uploaded" + +#: src/tables/settings/ImportSessionTable.tsx:80 +msgid "Imported Rows" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:110 +#: src/tables/settings/TemplateTable.tsx:276 +msgid "Model Type" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:111 +#: src/tables/settings/TemplateTable.tsx:277 +msgid "Filter by target model type" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:117 +msgid "Filter by import session status" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:123 +msgid "Filter by user" +msgstr "" + #: src/tables/settings/PendingTasksTable.tsx:36 msgid "Arguments" msgstr "" @@ -6502,7 +6698,7 @@ msgstr "" msgid "Delete Project Code" msgstr "" -#: src/tables/settings/ProjectCodeTable.tsx:94 +#: src/tables/settings/ProjectCodeTable.tsx:92 msgid "Add project code" msgstr "" @@ -6571,14 +6767,6 @@ msgstr "" 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 "" @@ -6701,149 +6889,153 @@ msgstr "" msgid "This stock item has been depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:255 +#: src/tables/stock/StockItemTable.tsx:247 +msgid "Stock Value" +msgstr "" + +#: src/tables/stock/StockItemTable.tsx:277 msgid "Show stock for active parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:260 +#: src/tables/stock/StockItemTable.tsx:282 msgid "Filter by stock status" msgstr "" -#: src/tables/stock/StockItemTable.tsx:266 +#: src/tables/stock/StockItemTable.tsx:288 msgid "Show stock for assmebled parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:271 +#: src/tables/stock/StockItemTable.tsx:293 msgid "Show items which have been allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:276 +#: src/tables/stock/StockItemTable.tsx:298 msgid "Show items which are available" msgstr "" -#: src/tables/stock/StockItemTable.tsx:280 +#: src/tables/stock/StockItemTable.tsx:302 #: src/tables/stock/StockLocationTable.tsx:42 msgid "Include Sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:281 +#: src/tables/stock/StockItemTable.tsx:303 msgid "Include stock in sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:285 +#: src/tables/stock/StockItemTable.tsx:307 msgid "Depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:286 +#: src/tables/stock/StockItemTable.tsx:308 msgid "Show depleted stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:291 +#: src/tables/stock/StockItemTable.tsx:313 msgid "Show items which are in stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:296 +#: src/tables/stock/StockItemTable.tsx:318 msgid "Show items which are in production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:301 +#: src/tables/stock/StockItemTable.tsx:323 msgid "Include stock items for variant parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:306 +#: src/tables/stock/StockItemTable.tsx:328 msgid "Show stock items which are installed in other items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:310 +#: src/tables/stock/StockItemTable.tsx:332 msgid "Sent to Customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:311 +#: src/tables/stock/StockItemTable.tsx:333 msgid "Show items which have been sent to a customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:315 +#: src/tables/stock/StockItemTable.tsx:337 msgid "Is Serialized" msgstr "" -#: src/tables/stock/StockItemTable.tsx:316 +#: src/tables/stock/StockItemTable.tsx:338 msgid "Show items which have a serial number" msgstr "" -#: src/tables/stock/StockItemTable.tsx:323 +#: src/tables/stock/StockItemTable.tsx:345 msgid "Has Batch Code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:324 +#: src/tables/stock/StockItemTable.tsx:346 msgid "Show items which have a batch code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:330 +#: src/tables/stock/StockItemTable.tsx:352 msgid "Show tracked items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:334 +#: src/tables/stock/StockItemTable.tsx:356 msgid "Has Purchase Price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:335 +#: src/tables/stock/StockItemTable.tsx:357 msgid "Show items which have a purchase price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:343 +#: src/tables/stock/StockItemTable.tsx:365 msgid "External Location" msgstr "" -#: src/tables/stock/StockItemTable.tsx:344 +#: src/tables/stock/StockItemTable.tsx:366 msgid "Show items in an external location" msgstr "" -#: src/tables/stock/StockItemTable.tsx:416 +#: src/tables/stock/StockItemTable.tsx:438 msgid "Add a new stock item" msgstr "" -#: src/tables/stock/StockItemTable.tsx:425 +#: src/tables/stock/StockItemTable.tsx:447 msgid "Remove some quantity from a stock item" msgstr "" -#: src/tables/stock/StockItemTable.tsx:447 +#: src/tables/stock/StockItemTable.tsx:469 msgid "Move Stock items to new locations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:454 +#: src/tables/stock/StockItemTable.tsx:476 msgid "Change stock status" msgstr "" -#: src/tables/stock/StockItemTable.tsx:456 +#: src/tables/stock/StockItemTable.tsx:478 msgid "Change the status of stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:463 +#: src/tables/stock/StockItemTable.tsx:485 msgid "Merge stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:465 +#: src/tables/stock/StockItemTable.tsx:487 msgid "Merge stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:472 +#: src/tables/stock/StockItemTable.tsx:494 msgid "Order stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:474 -#: src/tables/stock/StockItemTable.tsx:480 +#: src/tables/stock/StockItemTable.tsx:496 +#: src/tables/stock/StockItemTable.tsx:502 msgid "Order new stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:478 +#: src/tables/stock/StockItemTable.tsx:500 msgid "Assign to customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:487 +#: src/tables/stock/StockItemTable.tsx:509 msgid "Delete stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:489 +#: src/tables/stock/StockItemTable.tsx:511 msgid "Delete stock items" msgstr "" @@ -6999,4 +7191,3 @@ msgstr "" #: src/views/MobileAppView.tsx:35 msgid "Ignore and continue to Desktop view" msgstr "" - diff --git a/src/frontend/src/locales/lv/messages.po b/src/frontend/src/locales/lv/messages.po index 6ea561cd52d0..42fc516a5879 100644 --- a/src/frontend/src/locales/lv/messages.po +++ b/src/frontend/src/locales/lv/messages.po @@ -49,16 +49,18 @@ msgstr "" #: src/components/buttons/PrintingActions.tsx:107 #: src/components/buttons/PrintingActions.tsx:144 #: src/components/editors/NotesEditor.tsx:65 -#: src/components/editors/NotesEditor.tsx:160 -#: src/components/forms/ApiForm.tsx:506 -#: src/components/forms/fields/ApiFormField.tsx:295 +#: src/components/editors/NotesEditor.tsx:165 +#: src/components/forms/ApiForm.tsx:513 +#: src/components/forms/fields/ApiFormField.tsx:306 +#: src/components/importer/ImportDataSelector.tsx:171 +#: src/components/importer/ImporterColumnSelector.tsx:112 #: src/components/modals/LicenseModal.tsx:75 #: src/components/nav/SearchDrawer.tsx:427 #: src/pages/ErrorPage.tsx:11 #: src/pages/part/PartPricingPanel.tsx:71 -#: src/tables/InvenTreeTable.tsx:451 -#: src/tables/InvenTreeTable.tsx:526 -#: src/tables/bom/BomTable.tsx:363 +#: src/tables/InvenTreeTable.tsx:470 +#: src/tables/InvenTreeTable.tsx:545 +#: src/tables/bom/BomTable.tsx:366 #: src/tables/stock/StockItemTestResultTable.tsx:294 msgid "Error" msgstr "" @@ -157,7 +159,7 @@ msgstr "" #: src/functions/forms.tsx:196 #: src/hooks/UseForm.tsx:40 #: src/tables/FilterSelectDrawer.tsx:204 -#: src/tables/InvenTreeTable.tsx:499 +#: src/tables/InvenTreeTable.tsx:518 #: src/tables/build/BuildOutputTable.tsx:225 msgid "Cancel" msgstr "" @@ -175,7 +177,7 @@ msgid "Clear" msgstr "" #: src/components/details/DetailsImage.tsx:227 -#: src/components/forms/ApiForm.tsx:573 +#: src/components/forms/ApiForm.tsx:580 #: src/contexts/ThemeContext.tsx:43 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:56 msgid "Submit" @@ -202,48 +204,61 @@ msgid "Delete image" msgstr "" #: src/components/details/PartIcons.tsx:28 +#: src/tables/ColumnRenderers.tsx:35 +msgid "Part is locked" +msgstr "" + +#: src/components/details/PartIcons.tsx:30 +#: src/pages/part/PartDetail.tsx:267 +#: src/pages/part/PartDetail.tsx:698 +#: src/tables/part/PartTable.tsx:175 +msgid "Locked" +msgstr "" + +#: src/components/details/PartIcons.tsx:35 +#: src/tables/ColumnRenderers.tsx:30 msgid "Part is not active" msgstr "" -#: src/components/details/PartIcons.tsx:34 +#: src/components/details/PartIcons.tsx:37 #: src/components/render/Plugin.tsx:17 #: src/pages/company/CompanyDetail.tsx:315 #: src/pages/company/SupplierPartDetail.tsx:307 -#: src/pages/part/PartDetail.tsx:685 +#: src/pages/part/PartDetail.tsx:704 msgid "Inactive" msgstr "" -#: src/components/details/PartIcons.tsx:41 +#: src/components/details/PartIcons.tsx:43 msgid "Part is a template part (variants can be made from this part)" msgstr "" -#: src/components/details/PartIcons.tsx:47 +#: src/components/details/PartIcons.tsx:49 msgid "Part can be assembled from other parts" msgstr "" -#: src/components/details/PartIcons.tsx:53 +#: src/components/details/PartIcons.tsx:55 msgid "Part can be used in assemblies" msgstr "" -#: src/components/details/PartIcons.tsx:59 +#: src/components/details/PartIcons.tsx:61 msgid "Part stock is tracked by serial number" msgstr "" -#: src/components/details/PartIcons.tsx:65 +#: src/components/details/PartIcons.tsx:67 msgid "Part can be purchased from external suppliers" msgstr "" -#: src/components/details/PartIcons.tsx:71 +#: src/components/details/PartIcons.tsx:73 msgid "Part can be sold to customers" msgstr "" -#: src/components/details/PartIcons.tsx:76 +#: src/components/details/PartIcons.tsx:78 msgid "Part is virtual (not a physical part)" msgstr "" -#: src/components/details/PartIcons.tsx:82 -#: src/tables/part/PartTable.tsx:234 -#: src/tables/part/PartTable.tsx:238 +#: src/components/details/PartIcons.tsx:84 +#: src/tables/part/PartTable.tsx:241 +#: src/tables/part/PartTable.tsx:245 #: src/tables/part/PartVariantTable.tsx:25 msgid "Virtual" msgstr "" @@ -252,29 +267,29 @@ msgstr "" msgid "Image upload failed" msgstr "" -#: src/components/editors/NotesEditor.tsx:151 -#: src/components/forms/ApiForm.tsx:430 -#: src/tables/bom/BomTable.tsx:354 +#: src/components/editors/NotesEditor.tsx:156 +#: src/components/forms/ApiForm.tsx:437 +#: src/tables/bom/BomTable.tsx:357 msgid "Success" msgstr "" -#: src/components/editors/NotesEditor.tsx:152 +#: src/components/editors/NotesEditor.tsx:157 msgid "Notes saved successfully" msgstr "" -#: src/components/editors/NotesEditor.tsx:161 +#: src/components/editors/NotesEditor.tsx:166 msgid "Failed to save notes" msgstr "" -#: src/components/editors/NotesEditor.tsx:193 +#: src/components/editors/NotesEditor.tsx:198 msgid "Preview Notes" msgstr "" -#: src/components/editors/NotesEditor.tsx:193 +#: src/components/editors/NotesEditor.tsx:198 msgid "Edit Notes" msgstr "" -#: src/components/editors/NotesEditor.tsx:207 +#: src/components/editors/NotesEditor.tsx:212 msgid "Save Notes" msgstr "" @@ -407,7 +422,7 @@ msgstr "" msgid "A server error occurred" msgstr "" -#: src/components/forms/ApiForm.tsx:149 +#: src/components/forms/ApiForm.tsx:151 #: src/functions/forms.tsx:259 msgid "Form Error" msgstr "" @@ -416,18 +431,18 @@ msgstr "" #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:611 +#: src/components/forms/ApiForm.tsx:618 #: src/tables/plugin/PluginListTable.tsx:388 msgid "Update" msgstr "" -#: src/components/forms/ApiForm.tsx:631 +#: src/components/forms/ApiForm.tsx:638 #: 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:498 +#: src/tables/InvenTreeTable.tsx:517 #: src/tables/RowActions.tsx:71 #: src/tables/plugin/PluginListTable.tsx:420 msgid "Delete" @@ -600,7 +615,7 @@ msgstr "" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:70 #: src/pages/part/CategoryDetail.tsx:80 -#: src/pages/part/PartDetail.tsx:122 +#: src/pages/part/PartDetail.tsx:123 #: src/pages/stock/LocationDetail.tsx:87 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 @@ -685,6 +700,124 @@ msgstr "" msgid "Thumbnail" msgstr "" +#: src/components/importer/ImportDataSelector.tsx:154 +msgid "Importing Rows" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:155 +msgid "Please wait while the data is imported" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:172 +msgid "An error occurred while importing data" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:191 +msgid "Edit Data" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:218 +msgid "Delete Row" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:248 +msgid "Row" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:266 +msgid "Row contains errors" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:307 +msgid "Accept" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:340 +msgid "Valid" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:341 +msgid "Filter by row validation status" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:346 +#: src/tables/build/BuildOutputTable.tsx:205 +msgid "Complete" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:347 +msgid "Filter by row completion status" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:364 +msgid "Import selected rows" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:46 +#: src/components/importer/ImporterColumnSelector.tsx:85 +msgid "An error occurred" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:57 +msgid "Select column, or leave blank to ignore this field." +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:91 +msgid "Select a column from the data file" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:104 +msgid "Map data columns to database fields" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:109 +msgid "Accept Column Mapping" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:117 +msgid "Database Field" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:118 +msgid "Field Description" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:119 +msgid "Imported Column Name" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:44 +msgid "Import Data" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:45 +msgid "Map Columns" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:46 +msgid "Process Data" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:47 +msgid "Complete Import" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:91 +msgid "Importing Data" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:97 +msgid "Cancel import session" +msgstr "" + +#: src/components/importer/ImporterImportProgress.tsx:36 +msgid "Importing Records" +msgstr "" + +#: src/components/importer/ImporterImportProgress.tsx:39 +msgid "Imported rows" +msgstr "" + #: src/components/items/ActionDropdown.tsx:119 #: src/pages/build/BuildDetail.tsx:358 msgid "Barcode Actions" @@ -738,7 +871,7 @@ msgid "Read More" msgstr "" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:443 +#: src/tables/InvenTreeTable.tsx:462 msgid "Unknown error" msgstr "" @@ -1039,13 +1172,13 @@ msgstr "" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:313 +#: src/pages/Index/Settings/SystemSettings.tsx:314 msgid "System Settings" msgstr "" #: src/components/nav/MainMenu.tsx:67 #: src/defaults/menuItems.tsx:63 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:198 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:209 msgid "Admin Center" msgstr "" @@ -1088,7 +1221,7 @@ msgid "Pages" msgstr "" #: src/components/nav/NavigationDrawer.tsx:65 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:157 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:168 #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:41 msgid "Plugins" msgstr "" @@ -1102,7 +1235,7 @@ msgstr "" msgid "About" msgstr "" -#: src/components/nav/NotificationDrawer.tsx:78 +#: src/components/nav/NotificationDrawer.tsx:81 #: src/pages/Index/Settings/SystemSettings.tsx:108 #: src/pages/Index/Settings/UserSettings.tsx:96 #: src/pages/Notifications.tsx:65 @@ -1110,17 +1243,17 @@ msgstr "" msgid "Notifications" msgstr "" -#: src/components/nav/NotificationDrawer.tsx:95 +#: src/components/nav/NotificationDrawer.tsx:98 msgid "You have no unread notifications." msgstr "" -#: src/components/nav/NotificationDrawer.tsx:111 -#: src/components/nav/NotificationDrawer.tsx:117 +#: src/components/nav/NotificationDrawer.tsx:114 +#: src/components/nav/NotificationDrawer.tsx:120 #: src/tables/notifications/NotificationsTable.tsx:36 msgid "Notification" msgstr "" -#: src/components/nav/NotificationDrawer.tsx:140 +#: src/components/nav/NotificationDrawer.tsx:143 #: src/pages/Notifications.tsx:73 msgid "Mark as read" msgstr "" @@ -1157,7 +1290,7 @@ msgstr "" msgid "No results available for search query" msgstr "" -#: src/components/render/Instance.tsx:166 +#: src/components/render/Instance.tsx:201 msgid "Unknown model: {model}" msgstr "" @@ -1172,7 +1305,8 @@ msgstr "" #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 #: src/pages/build/BuildDetail.tsx:85 -#: src/pages/part/PartDetail.tsx:831 +#: src/pages/part/PartDetail.tsx:872 +#: src/tables/part/PartTable.tsx:28 #: src/tables/part/RelatedPartTable.tsx:45 #: src/tables/stock/StockTrackingTable.tsx:74 msgid "Part" @@ -1185,7 +1319,7 @@ msgstr "" #: src/pages/part/CategoryDetail.tsx:112 #: src/pages/part/CategoryDetail.tsx:237 #: src/pages/part/CategoryDetail.tsx:267 -#: src/pages/part/PartDetail.tsx:639 +#: src/pages/part/PartDetail.tsx:652 msgid "Parts" msgstr "" @@ -1235,7 +1369,7 @@ msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:172 #: src/pages/part/CategoryDetail.tsx:251 #: src/pages/part/CategoryDetail.tsx:288 -#: src/pages/part/PartDetail.tsx:821 +#: src/pages/part/PartDetail.tsx:862 msgid "Part Categories" msgstr "" @@ -1317,7 +1451,7 @@ msgid "Project Code" msgstr "" #: src/components/render/ModelType.tsx:127 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:109 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:120 msgid "Project Codes" msgstr "" @@ -1329,10 +1463,10 @@ msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:134 -#: src/pages/Index/Settings/SystemSettings.tsx:257 +#: src/pages/Index/Settings/SystemSettings.tsx:258 #: src/pages/company/CompanyDetail.tsx:194 #: src/pages/company/SupplierPartDetail.tsx:226 -#: src/pages/part/PartDetail.tsx:573 +#: src/pages/part/PartDetail.tsx:586 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "" @@ -1354,9 +1488,9 @@ msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:272 +#: src/pages/Index/Settings/SystemSettings.tsx:273 #: src/pages/company/CompanyDetail.tsx:214 -#: src/pages/part/PartDetail.tsx:580 +#: src/pages/part/PartDetail.tsx:593 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" @@ -1376,7 +1510,7 @@ msgid "Return Order" msgstr "" #: src/components/render/ModelType.tsx:164 -#: src/pages/Index/Settings/SystemSettings.tsx:288 +#: src/pages/Index/Settings/SystemSettings.tsx:289 #: src/pages/company/CompanyDetail.tsx:221 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1413,40 +1547,49 @@ msgid "Owners" msgstr "" #: src/components/render/ModelType.tsx:193 +#: src/tables/settings/ImportSessionTable.tsx:122 #: src/tables/stock/StockItemTestResultTable.tsx:193 #: src/tables/stock/StockTrackingTable.tsx:195 msgid "User" msgstr "" #: src/components/render/ModelType.tsx:194 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:85 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:90 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" msgstr "" #: src/components/render/ModelType.tsx:200 -msgid "Label Template" +msgid "Import Session" msgstr "" #: src/components/render/ModelType.tsx:201 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:139 -msgid "Label Templates" +msgid "Import Sessions" msgstr "" #: src/components/render/ModelType.tsx:207 -msgid "Report Template" +msgid "Label Template" msgstr "" #: src/components/render/ModelType.tsx:208 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:145 -msgid "Report Templates" +#: src/pages/Index/Settings/AdminCenter/Index.tsx:150 +msgid "Label Templates" msgstr "" #: src/components/render/ModelType.tsx:214 -msgid "Plugin Configuration" +msgid "Report Template" msgstr "" #: src/components/render/ModelType.tsx:215 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:156 +msgid "Report Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:221 +msgid "Plugin Configuration" +msgstr "" + +#: src/components/render/ModelType.tsx:222 msgid "Plugin Configurations" msgstr "" @@ -1458,7 +1601,7 @@ msgstr "" #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 #: src/pages/Index/Settings/SystemSettings.tsx:210 -#: src/pages/part/PartDetail.tsx:492 +#: src/pages/part/PartDetail.tsx:503 #: src/pages/stock/LocationDetail.tsx:347 #: src/pages/stock/StockDetail.tsx:356 #: src/tables/stock/StockItemTable.tsx:57 @@ -1641,10 +1784,6 @@ msgstr "" #~ msgid "Comment" #~ msgstr "Comment" -#: src/components/tables/general/AttachmentTable.tsx:56 -#~ msgid "Uploaded" -#~ msgstr "Uploaded" - #: src/components/tables/part/PartCategoryTable.tsx:122 #~ msgid "Part category updated" #~ msgstr "Part category updated" @@ -2157,7 +2296,7 @@ msgid "Recently Updated" msgstr "" #: src/defaults/dashboardItems.tsx:50 -#: src/tables/part/PartTable.tsx:216 +#: src/tables/part/PartTable.tsx:223 msgid "Low Stock" msgstr "" @@ -2466,7 +2605,7 @@ msgstr "" #~ msgid "Company updated" #~ msgstr "Company updated" -#: src/forms/PartForms.tsx:100 +#: src/forms/PartForms.tsx:103 msgid "Parent part category" msgstr "" @@ -2534,7 +2673,7 @@ msgstr "" #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 #: src/pages/stock/StockDetail.tsx:173 -#: src/tables/ColumnRenderers.tsx:34 +#: src/tables/ColumnRenderers.tsx:49 #: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" msgstr "" @@ -2585,8 +2724,8 @@ msgstr "" #: src/forms/StockForms.tsx:176 #: src/pages/stock/StockDetail.tsx:379 -#: src/tables/stock/StockItemTable.tsx:382 -#: src/tables/stock/StockItemTable.tsx:499 +#: src/tables/stock/StockItemTable.tsx:404 +#: src/tables/stock/StockItemTable.tsx:521 msgid "Add Stock Item" msgstr "" @@ -2606,9 +2745,9 @@ msgstr "" #: src/forms/StockForms.tsx:606 #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 -#: src/pages/part/PartDetail.tsx:202 -#: src/pages/part/PartDetail.tsx:655 -#: src/tables/stock/StockItemTable.tsx:290 +#: src/pages/part/PartDetail.tsx:203 +#: src/pages/part/PartDetail.tsx:668 +#: src/tables/stock/StockItemTable.tsx:312 msgid "In Stock" msgstr "" @@ -2649,12 +2788,12 @@ msgid "Remove Stock" msgstr "" #: src/forms/StockForms.tsx:803 -#: src/pages/part/PartDetail.tsx:782 +#: src/pages/part/PartDetail.tsx:823 msgid "Transfer Stock" msgstr "" #: src/forms/StockForms.tsx:812 -#: src/pages/part/PartDetail.tsx:771 +#: src/pages/part/PartDetail.tsx:812 msgid "Count Stock" msgstr "" @@ -3279,53 +3418,57 @@ msgstr "" #~ msgid "Advanced Amininistrative Options for InvenTree" #~ msgstr "Advanced Amininistrative Options for InvenTree" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:91 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:96 +msgid "Data Import" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:102 msgid "Background Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:97 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:108 msgid "Error Reports" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:103 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:114 msgid "Currencies" 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:132 msgid "Custom Units" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:138 #: src/pages/part/CategoryDetail.tsx:257 msgid "Part Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 -#~ msgid "Templates" -#~ msgstr "Templates" - -#: src/pages/Index/Settings/AdminCenter/Index.tsx:133 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:144 msgid "Category Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:151 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:162 msgid "Location types" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:163 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:174 #: src/tables/machine/MachineTypeTable.tsx:287 msgid "Machines" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:173 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:184 msgid "Quick Actions" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:178 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:189 msgid "Add a new user" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:199 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:210 msgid "Advanced Options" msgstr "" @@ -3477,7 +3620,7 @@ msgid "Reporting" msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:235 -#: src/pages/part/PartDetail.tsx:593 +#: src/pages/part/PartDetail.tsx:606 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" @@ -3485,12 +3628,12 @@ msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:241 #: src/pages/build/BuildDetail.tsx:423 #: src/pages/build/BuildIndex.tsx:14 -#: src/pages/part/PartDetail.tsx:527 +#: src/pages/part/PartDetail.tsx:540 #: src/pages/sales/SalesOrderDetail.tsx:270 msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:316 +#: src/pages/Index/Settings/SystemSettings.tsx:317 msgid "Switch to User Setting" msgstr "" @@ -3555,7 +3698,8 @@ msgstr "" #: 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/settings/ImportSessionTable.tsx:116 +#: src/tables/stock/StockItemTable.tsx:281 #: src/tables/stock/StockTrackingTable.tsx:52 msgid "Status" msgstr "" @@ -3564,7 +3708,7 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:104 #: src/pages/sales/ReturnOrderDetail.tsx:73 #: src/pages/sales/SalesOrderDetail.tsx:77 -#: src/tables/ColumnRenderers.tsx:106 +#: src/tables/ColumnRenderers.tsx:121 #: src/tables/build/BuildLineTable.tsx:140 msgid "Reference" msgstr "" @@ -3574,12 +3718,12 @@ msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:78 #: src/pages/company/SupplierPartDetail.tsx:85 #: src/pages/part/CategoryDetail.tsx:94 -#: src/pages/part/PartDetail.tsx:129 +#: src/pages/part/PartDetail.tsx:130 #: src/pages/purchasing/PurchaseOrderDetail.tsx:125 #: src/pages/sales/ReturnOrderDetail.tsx:93 #: src/pages/sales/SalesOrderDetail.tsx:97 #: src/pages/stock/LocationDetail.tsx:101 -#: src/tables/ColumnRenderers.tsx:66 +#: src/tables/ColumnRenderers.tsx:81 #: src/tables/machine/MachineTypeTable.tsx:69 #: src/tables/machine/MachineTypeTable.tsx:112 #: src/tables/machine/MachineTypeTable.tsx:219 @@ -3610,7 +3754,7 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:152 -#: src/pages/part/PartDetail.tsx:317 +#: src/pages/part/PartDetail.tsx:323 #: src/pages/purchasing/PurchaseOrderDetail.tsx:217 #: src/pages/sales/ReturnOrderDetail.tsx:186 #: src/pages/sales/SalesOrderDetail.tsx:190 @@ -3630,7 +3774,7 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:210 #: src/pages/sales/ReturnOrderDetail.tsx:179 #: src/pages/sales/SalesOrderDetail.tsx:183 -#: src/tables/ColumnRenderers.tsx:191 +#: src/tables/ColumnRenderers.tsx:206 msgid "Target Date" msgstr "" @@ -3711,7 +3855,7 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:297 #: src/pages/company/CompanyDetail.tsx:257 #: src/pages/company/ManufacturerPartDetail.tsx:174 -#: src/pages/part/PartDetail.tsx:616 +#: src/pages/part/PartDetail.tsx:629 #: src/pages/purchasing/PurchaseOrderDetail.tsx:279 #: src/pages/sales/ReturnOrderDetail.tsx:230 #: src/pages/sales/SalesOrderDetail.tsx:280 @@ -3721,7 +3865,7 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:305 #: src/pages/company/CompanyDetail.tsx:268 -#: src/pages/part/PartDetail.tsx:624 +#: src/pages/part/PartDetail.tsx:637 #: src/pages/purchasing/PurchaseOrderDetail.tsx:290 #: src/pages/sales/ReturnOrderDetail.tsx:241 #: src/pages/sales/SalesOrderDetail.tsx:291 @@ -3877,12 +4021,12 @@ msgid "Manufacturer Part Details" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:148 -#: src/pages/part/PartDetail.tsx:486 +#: src/pages/part/PartDetail.tsx:492 msgid "Parameters" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:160 -#: src/pages/part/PartDetail.tsx:560 +#: src/pages/part/PartDetail.tsx:573 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" msgstr "" @@ -3907,7 +4051,7 @@ msgid "ManufacturerPart" msgstr "" #: src/pages/company/SupplierPartDetail.tsx:99 -#: src/tables/ColumnRenderers.tsx:117 +#: src/tables/ColumnRenderers.tsx:132 msgid "Note" msgstr "" @@ -4043,275 +4187,275 @@ msgstr "" msgid "Category Details" msgstr "" -#: src/pages/part/PartDetail.tsx:135 +#: src/pages/part/PartDetail.tsx:136 msgid "Variant of" msgstr "" -#: src/pages/part/PartDetail.tsx:142 +#: src/pages/part/PartDetail.tsx:143 #: src/tables/notifications/NotificationsTable.tsx:31 #: src/tables/part/PartCategoryTemplateTable.tsx:67 msgid "Category" msgstr "" -#: src/pages/part/PartDetail.tsx:148 +#: src/pages/part/PartDetail.tsx:149 msgid "Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:155 +#: src/pages/part/PartDetail.tsx:156 msgid "Category Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:162 +#: src/pages/part/PartDetail.tsx:163 msgid "IPN" msgstr "" -#: src/pages/part/PartDetail.tsx:169 +#: src/pages/part/PartDetail.tsx:170 msgid "Revision" msgstr "" -#: src/pages/part/PartDetail.tsx:176 +#: src/pages/part/PartDetail.tsx:177 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" msgstr "" -#: src/pages/part/PartDetail.tsx:183 +#: src/pages/part/PartDetail.tsx:184 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:190 +#: src/pages/part/PartDetail.tsx:191 #: src/pages/purchasing/PurchaseOrderDetail.tsx:183 #: src/pages/sales/ReturnOrderDetail.tsx:152 #: src/pages/sales/SalesOrderDetail.tsx:156 msgid "Link" msgstr "" -#: src/pages/part/PartDetail.tsx:208 -#: src/tables/bom/BomTable.tsx:276 +#: src/pages/part/PartDetail.tsx:209 +#: src/tables/bom/BomTable.tsx:279 #: src/tables/build/BuildLineTable.tsx:121 -#: src/tables/part/PartTable.tsx:256 +#: src/tables/part/PartTable.tsx:263 msgid "Available Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:215 +#: src/pages/part/PartDetail.tsx:216 msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:221 -#: src/tables/bom/BomTable.tsx:217 +#: src/pages/part/PartDetail.tsx:222 +#: src/tables/bom/BomTable.tsx:220 #: src/tables/build/BuildLineTable.tsx:95 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:230 +#: src/pages/part/PartDetail.tsx:231 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:238 +#: src/pages/part/PartDetail.tsx:239 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:245 -#: src/tables/bom/BomTable.tsx:241 +#: src/pages/part/PartDetail.tsx:246 +#: src/tables/bom/BomTable.tsx:244 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:252 -#: src/tables/bom/BomTable.tsx:225 -#: src/tables/part/PartTable.tsx:82 +#: src/pages/part/PartDetail.tsx:253 +#: src/tables/bom/BomTable.tsx:228 +#: src/tables/part/PartTable.tsx:83 msgid "Building" msgstr "" -#: src/pages/part/PartDetail.tsx:261 +#: src/pages/part/PartDetail.tsx:262 #: src/tables/bom/UsedInTable.tsx:73 #: src/tables/build/BuildOrderTable.tsx:108 #: src/tables/company/CompanyTable.tsx:61 #: src/tables/company/CompanyTable.tsx:95 #: src/tables/machine/MachineListTable.tsx:323 #: src/tables/machine/MachineListTable.tsx:585 -#: src/tables/part/PartTable.tsx:168 +#: src/tables/part/PartTable.tsx:169 #: src/tables/part/PartVariantTable.tsx:15 #: 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 +#: src/tables/stock/StockItemTable.tsx:276 msgid "Active" msgstr "" -#: src/pages/part/PartDetail.tsx:266 +#: src/pages/part/PartDetail.tsx:272 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:271 -#: src/tables/bom/BomTable.tsx:271 +#: src/pages/part/PartDetail.tsx:277 +#: src/tables/bom/BomTable.tsx:274 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:276 +#: src/pages/part/PartDetail.tsx:282 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:281 -#: src/tables/bom/BomTable.tsx:266 +#: src/pages/part/PartDetail.tsx:287 +#: src/tables/bom/BomTable.tsx:269 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:286 +#: src/pages/part/PartDetail.tsx:292 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:291 +#: src/pages/part/PartDetail.tsx:297 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:296 +#: src/pages/part/PartDetail.tsx:302 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:304 -#: src/tables/ColumnRenderers.tsx:199 +#: src/pages/part/PartDetail.tsx:310 +#: src/tables/ColumnRenderers.tsx:214 msgid "Creation Date" msgstr "" -#: src/pages/part/PartDetail.tsx:309 -msgid "Created By" -msgstr "" - #: src/pages/part/PartDetail.tsx:310 #~ msgid "Edit part" #~ msgstr "Edit part" +#: src/pages/part/PartDetail.tsx:315 +msgid "Created By" +msgstr "" + #: src/pages/part/PartDetail.tsx:322 #~ msgid "Duplicate part" #~ msgstr "Duplicate part" -#: src/pages/part/PartDetail.tsx:324 -msgid "Default Supplier" -msgstr "" - #: src/pages/part/PartDetail.tsx:327 #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:335 +#: src/pages/part/PartDetail.tsx:330 +msgid "Default Supplier" +msgstr "" + +#: src/pages/part/PartDetail.tsx:341 #: src/pages/part/pricing/BomPricingPanel.tsx:78 #: src/pages/part/pricing/VariantPricingPanel.tsx:95 -#: src/tables/part/PartTable.tsx:151 +#: src/tables/part/PartTable.tsx:152 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:374 +#: src/pages/part/PartDetail.tsx:380 #: src/pages/stock/StockDetail.tsx:133 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:409 +#: src/pages/part/PartDetail.tsx:415 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:480 +#: src/pages/part/PartDetail.tsx:486 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:506 +#: src/pages/part/PartDetail.tsx:517 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:513 +#: src/pages/part/PartDetail.tsx:524 #: src/pages/stock/StockDetail.tsx:286 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:520 +#: src/pages/part/PartDetail.tsx:531 msgid "Bill of Materials" msgstr "" -#: src/pages/part/PartDetail.tsx:534 +#: src/pages/part/PartDetail.tsx:547 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:541 +#: src/pages/part/PartDetail.tsx:554 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:547 +#: src/pages/part/PartDetail.tsx:560 #: src/pages/purchasing/PurchasingIndex.tsx:37 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:587 +#: src/pages/part/PartDetail.tsx:600 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:599 +#: src/pages/part/PartDetail.tsx:612 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:610 +#: src/pages/part/PartDetail.tsx:623 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:661 +#: src/pages/part/PartDetail.tsx:674 #: src/pages/stock/StockDetail.tsx:154 #: src/pages/stock/StockDetail.tsx:533 #: src/tables/build/BuildLineTable.tsx:36 -#: src/tables/part/PartTable.tsx:107 +#: src/tables/part/PartTable.tsx:108 #: src/tables/stock/StockItemTable.tsx:166 -#: src/tables/stock/StockItemTable.tsx:275 +#: src/tables/stock/StockItemTable.tsx:297 msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:667 +#: src/pages/part/PartDetail.tsx:680 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:673 -#: src/tables/bom/BomTable.tsx:281 -#: src/tables/part/PartTable.tsx:76 +#: src/pages/part/PartDetail.tsx:686 +#: src/tables/bom/BomTable.tsx:284 +#: src/tables/part/PartTable.tsx:77 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:679 +#: src/pages/part/PartDetail.tsx:692 #: src/pages/stock/StockDetail.tsx:516 -#: src/tables/stock/StockItemTable.tsx:295 +#: src/tables/stock/StockItemTable.tsx:317 msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:698 +#: src/pages/part/PartDetail.tsx:717 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:705 -#: src/tables/part/PartTable.tsx:289 -#: src/tables/part/PartTable.tsx:302 +#: src/pages/part/PartDetail.tsx:744 +#: src/tables/part/PartTable.tsx:296 +#: src/tables/part/PartTable.tsx:309 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:717 +#: src/pages/part/PartDetail.tsx:758 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:726 +#: src/pages/part/PartDetail.tsx:767 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:764 +#: src/pages/part/PartDetail.tsx:805 #: src/pages/stock/LocationDetail.tsx:304 -#: src/tables/stock/StockItemTable.tsx:409 +#: src/tables/stock/StockItemTable.tsx:431 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:772 +#: src/pages/part/PartDetail.tsx:813 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:824 msgid "Transfer part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:792 +#: src/pages/part/PartDetail.tsx:833 msgid "Part Actions" msgstr "" @@ -4359,8 +4503,8 @@ msgstr "" #: src/pages/part/pricing/BomPricingPanel.tsx:57 #: src/pages/part/pricing/BomPricingPanel.tsx:137 -#: src/tables/ColumnRenderers.tsx:241 -#: src/tables/bom/BomTable.tsx:165 +#: src/tables/ColumnRenderers.tsx:256 +#: src/tables/bom/BomTable.tsx:168 #: src/tables/purchasing/PurchaseOrderTable.tsx:112 #: src/tables/sales/ReturnOrderTable.tsx:104 #: src/tables/sales/SalesOrderTable.tsx:134 @@ -4369,7 +4513,7 @@ msgstr "" #: src/pages/part/pricing/BomPricingPanel.tsx:77 #: src/pages/part/pricing/BomPricingPanel.tsx:101 -#: src/tables/part/PartTable.tsx:186 +#: src/tables/part/PartTable.tsx:193 msgid "Component" msgstr "" @@ -4398,7 +4542,7 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:67 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:128 #: src/pages/part/pricing/SupplierPricingPanel.tsx:62 -#: src/tables/bom/BomTable.tsx:156 +#: src/tables/bom/BomTable.tsx:159 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 msgid "Unit Price" @@ -4498,7 +4642,7 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:40 #: src/pages/part/pricing/SaleHistoryPanel.tsx:36 -#: src/tables/ColumnRenderers.tsx:180 +#: src/tables/ColumnRenderers.tsx:195 #: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" @@ -4771,12 +4915,12 @@ msgid "Count stock" msgstr "" #: src/pages/stock/StockDetail.tsx:459 -#: src/tables/stock/StockItemTable.tsx:414 +#: src/tables/stock/StockItemTable.tsx:436 msgid "Add stock" msgstr "" #: src/pages/stock/StockDetail.tsx:467 -#: src/tables/stock/StockItemTable.tsx:423 +#: src/tables/stock/StockItemTable.tsx:445 msgid "Remove stock" msgstr "" @@ -4785,7 +4929,7 @@ msgid "Transfer" msgstr "" #: src/pages/stock/StockDetail.tsx:475 -#: src/tables/stock/StockItemTable.tsx:443 +#: src/tables/stock/StockItemTable.tsx:465 msgid "Transfer stock" msgstr "" @@ -4793,15 +4937,15 @@ msgstr "" msgid "Stock Item Actions" msgstr "" -#: src/tables/ColumnRenderers.tsx:42 +#: src/tables/ColumnRenderers.tsx:57 msgid "No location set" msgstr "" -#: src/tables/ColumnRenderers.tsx:207 +#: src/tables/ColumnRenderers.tsx:222 msgid "Shipment Date" msgstr "" -#: src/tables/ColumnRenderers.tsx:227 +#: src/tables/ColumnRenderers.tsx:242 #: src/tables/settings/CurrencyTable.tsx:23 msgid "Currency" msgstr "" @@ -4828,14 +4972,14 @@ msgid "TSV" msgstr "" #: src/tables/DownloadAction.tsx:24 -msgid "Excel (.xls)" -msgstr "" - -#: src/tables/DownloadAction.tsx:25 msgid "Excel (.xlsx)" msgstr "" -#: src/tables/DownloadAction.tsx:39 +#: src/tables/DownloadAction.tsx:24 +#~ msgid "Excel (.xls)" +#~ msgstr "" + +#: src/tables/DownloadAction.tsx:38 msgid "Download Data" msgstr "" @@ -4900,54 +5044,54 @@ msgstr "" msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:119 -#: src/tables/InvenTreeTable.tsx:390 -#: src/tables/InvenTreeTable.tsx:411 +#: src/tables/InvenTreeTable.tsx:126 +#: src/tables/InvenTreeTable.tsx:409 +#: src/tables/InvenTreeTable.tsx:430 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:422 +#: src/tables/InvenTreeTable.tsx:441 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:430 +#: src/tables/InvenTreeTable.tsx:449 msgid "Bad request" msgstr "" -#: src/tables/InvenTreeTable.tsx:433 +#: src/tables/InvenTreeTable.tsx:452 msgid "Unauthorized" msgstr "" -#: src/tables/InvenTreeTable.tsx:436 +#: src/tables/InvenTreeTable.tsx:455 msgid "Forbidden" msgstr "" -#: src/tables/InvenTreeTable.tsx:439 +#: src/tables/InvenTreeTable.tsx:458 msgid "Not found" msgstr "" -#: src/tables/InvenTreeTable.tsx:488 -#: src/tables/InvenTreeTable.tsx:606 +#: src/tables/InvenTreeTable.tsx:507 +#: src/tables/InvenTreeTable.tsx:623 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:492 +#: src/tables/InvenTreeTable.tsx:511 msgid "Are you sure you want to delete the selected records?" msgstr "" -#: src/tables/InvenTreeTable.tsx:494 +#: src/tables/InvenTreeTable.tsx:513 msgid "This action cannot be undone!" msgstr "" -#: src/tables/InvenTreeTable.tsx:517 +#: src/tables/InvenTreeTable.tsx:536 msgid "Deleted records" msgstr "" -#: src/tables/InvenTreeTable.tsx:518 +#: src/tables/InvenTreeTable.tsx:537 msgid "Records were deleted successfully" msgstr "" -#: src/tables/InvenTreeTable.tsx:527 +#: src/tables/InvenTreeTable.tsx:546 msgid "Failed to delete records" msgstr "" @@ -4956,140 +5100,144 @@ msgstr "" #~ msgid "Print actions" #~ msgstr "Print actions" -#: src/tables/InvenTreeTable.tsx:596 -#: src/tables/InvenTreeTable.tsx:597 +#: src/tables/InvenTreeTable.tsx:613 +#: src/tables/InvenTreeTable.tsx:614 msgid "Barcode actions" msgstr "" -#: src/tables/InvenTreeTable.tsx:625 +#: src/tables/InvenTreeTable.tsx:642 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTable.tsx:646 +#: src/tables/InvenTreeTable.tsx:663 msgid "Table filters" msgstr "" -#: src/tables/bom/BomTable.tsx:80 +#: src/tables/UploadAction.tsx:9 +msgid "Upload Data" +msgstr "" + +#: src/tables/bom/BomTable.tsx:83 msgid "This BOM item is defined for a different parent" msgstr "" -#: src/tables/bom/BomTable.tsx:95 +#: src/tables/bom/BomTable.tsx:98 msgid "Part Information" msgstr "" -#: src/tables/bom/BomTable.tsx:184 -#: src/tables/part/PartTable.tsx:124 +#: src/tables/bom/BomTable.tsx:187 +#: src/tables/part/PartTable.tsx:125 msgid "No stock" msgstr "" -#: src/tables/bom/BomTable.tsx:192 +#: src/tables/bom/BomTable.tsx:195 #: src/tables/build/BuildLineTable.tsx:104 -#: src/tables/part/PartTable.tsx:115 +#: src/tables/part/PartTable.tsx:116 msgid "External stock" msgstr "" -#: src/tables/bom/BomTable.tsx:200 +#: src/tables/bom/BomTable.tsx:203 #: src/tables/build/BuildLineTable.tsx:67 msgid "Includes substitute stock" msgstr "" -#: src/tables/bom/BomTable.tsx:209 +#: src/tables/bom/BomTable.tsx:212 #: src/tables/build/BuildLineTable.tsx:77 msgid "Includes variant stock" msgstr "" -#: src/tables/bom/BomTable.tsx:234 -#: src/tables/part/PartTable.tsx:143 +#: src/tables/bom/BomTable.tsx:237 +#: src/tables/part/PartTable.tsx:144 #: src/tables/stock/StockItemTable.tsx:205 msgid "Stock Information" msgstr "" -#: src/tables/bom/BomTable.tsx:246 +#: src/tables/bom/BomTable.tsx:249 #: src/tables/build/BuildLineTable.tsx:195 msgid "Consumable item" msgstr "" -#: src/tables/bom/BomTable.tsx:267 +#: src/tables/bom/BomTable.tsx:270 msgid "Show trackable items" msgstr "" -#: src/tables/bom/BomTable.tsx:272 +#: src/tables/bom/BomTable.tsx:275 msgid "Show asssmbled items" msgstr "" -#: src/tables/bom/BomTable.tsx:277 +#: src/tables/bom/BomTable.tsx:280 msgid "Show items with available stock" msgstr "" -#: src/tables/bom/BomTable.tsx:282 +#: src/tables/bom/BomTable.tsx:285 msgid "Show items on order" msgstr "" -#: src/tables/bom/BomTable.tsx:286 +#: src/tables/bom/BomTable.tsx:289 msgid "Validated" msgstr "" -#: src/tables/bom/BomTable.tsx:287 +#: src/tables/bom/BomTable.tsx:290 msgid "Show validated items" msgstr "" -#: src/tables/bom/BomTable.tsx:291 +#: src/tables/bom/BomTable.tsx:294 #: src/tables/bom/UsedInTable.tsx:63 msgid "Inherited" msgstr "" -#: src/tables/bom/BomTable.tsx:292 +#: src/tables/bom/BomTable.tsx:295 #: src/tables/bom/UsedInTable.tsx:64 msgid "Show inherited items" msgstr "" -#: src/tables/bom/BomTable.tsx:296 +#: src/tables/bom/BomTable.tsx:299 msgid "Allow Variants" msgstr "" -#: src/tables/bom/BomTable.tsx:297 +#: src/tables/bom/BomTable.tsx:300 msgid "Show items which allow variant substitution" msgstr "" #: src/tables/bom/BomTable.tsx:301 +#~ msgid "Create BOM Item" +#~ msgstr "Create BOM Item" + +#: src/tables/bom/BomTable.tsx:304 #: src/tables/bom/UsedInTable.tsx:68 #: src/tables/build/BuildLineTable.tsx:46 msgid "Optional" msgstr "" -#: src/tables/bom/BomTable.tsx:301 -#~ msgid "Create BOM Item" -#~ msgstr "Create BOM Item" - -#: src/tables/bom/BomTable.tsx:302 +#: src/tables/bom/BomTable.tsx:305 #: src/tables/bom/UsedInTable.tsx:69 msgid "Show optional items" msgstr "" -#: src/tables/bom/BomTable.tsx:306 +#: src/tables/bom/BomTable.tsx:309 #: src/tables/build/BuildLineTable.tsx:41 msgid "Consumable" msgstr "" -#: src/tables/bom/BomTable.tsx:307 +#: src/tables/bom/BomTable.tsx:310 msgid "Show consumable items" msgstr "" -#: src/tables/bom/BomTable.tsx:311 -#: src/tables/part/PartTable.tsx:250 +#: src/tables/bom/BomTable.tsx:314 +#: src/tables/part/PartTable.tsx:257 msgid "Has Pricing" msgstr "" -#: src/tables/bom/BomTable.tsx:312 +#: src/tables/bom/BomTable.tsx:315 msgid "Show items with pricing" msgstr "" -#: src/tables/bom/BomTable.tsx:321 -#: src/tables/bom/BomTable.tsx:420 +#: src/tables/bom/BomTable.tsx:324 +#: src/tables/bom/BomTable.tsx:426 msgid "Add BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:326 +#: src/tables/bom/BomTable.tsx:329 msgid "BOM item created" msgstr "" @@ -5097,23 +5245,23 @@ msgstr "" #~ msgid "Edit Bom Item" #~ msgstr "Edit Bom Item" -#: src/tables/bom/BomTable.tsx:333 -msgid "Edit BOM Item" -msgstr "" - #: src/tables/bom/BomTable.tsx:333 #~ msgid "Bom item updated" #~ msgstr "Bom item updated" -#: src/tables/bom/BomTable.tsx:335 +#: src/tables/bom/BomTable.tsx:336 +msgid "Edit BOM Item" +msgstr "" + +#: src/tables/bom/BomTable.tsx:338 msgid "BOM item updated" msgstr "" -#: src/tables/bom/BomTable.tsx:342 +#: src/tables/bom/BomTable.tsx:345 msgid "Delete BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:343 +#: src/tables/bom/BomTable.tsx:346 msgid "BOM item deleted" msgstr "" @@ -5133,32 +5281,41 @@ msgstr "" #~ msgid "Validate BOM line" #~ msgstr "Validate BOM line" -#: src/tables/bom/BomTable.tsx:355 +#: src/tables/bom/BomTable.tsx:358 msgid "BOM item validated" msgstr "" -#: src/tables/bom/BomTable.tsx:364 +#: src/tables/bom/BomTable.tsx:367 msgid "Failed to validate BOM item" msgstr "" -#: src/tables/bom/BomTable.tsx:376 +#: src/tables/bom/BomTable.tsx:379 msgid "View BOM" msgstr "" -#: src/tables/bom/BomTable.tsx:385 +#: src/tables/bom/BomTable.tsx:388 msgid "Validate BOM Line" msgstr "" -#: src/tables/bom/BomTable.tsx:399 +#: src/tables/bom/BomTable.tsx:405 msgid "Edit Substitutes" msgstr "" +#: src/tables/bom/BomTable.tsx:440 +#: src/tables/part/PartParameterTable.tsx:191 +msgid "Part is Locked" +msgstr "" + +#: src/tables/bom/BomTable.tsx:445 +msgid "Bill of materials cannot be edited, as the part is locked" +msgstr "" + #: src/tables/bom/UsedInTable.tsx:74 msgid "Show active assemblies" msgstr "" #: src/tables/bom/UsedInTable.tsx:78 -#: src/tables/part/PartTable.tsx:192 +#: src/tables/part/PartTable.tsx:199 #: src/tables/part/PartVariantTable.tsx:30 msgid "Trackable" msgstr "" @@ -5168,7 +5325,7 @@ msgid "Show trackable assemblies" msgstr "" #: src/tables/build/BuildLineTable.tsx:31 -#: src/tables/stock/StockItemTable.tsx:270 +#: src/tables/stock/StockItemTable.tsx:292 msgid "Allocated" msgstr "" @@ -5189,7 +5346,7 @@ msgid "Show optional lines" msgstr "" #: src/tables/build/BuildLineTable.tsx:51 -#: src/tables/stock/StockItemTable.tsx:329 +#: src/tables/stock/StockItemTable.tsx:351 msgid "Tracked" msgstr "" @@ -5302,10 +5459,6 @@ msgstr "" msgid "Deallocate stock from build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:205 -msgid "Complete" -msgstr "" - #: src/tables/build/BuildOutputTable.tsx:206 msgid "Complete build output" msgstr "" @@ -5635,7 +5788,7 @@ msgid "Message" msgstr "" #: src/tables/part/ParametricPartTable.tsx:76 -#: src/tables/part/PartParameterTable.tsx:88 +#: src/tables/part/PartParameterTable.tsx:95 msgid "Internal Units" msgstr "" @@ -5648,13 +5801,13 @@ msgid "Add Part Parameter" msgstr "" #: src/tables/part/ParametricPartTable.tsx:138 -#: src/tables/part/PartParameterTable.tsx:121 -#: src/tables/part/PartParameterTable.tsx:144 +#: src/tables/part/PartParameterTable.tsx:128 +#: src/tables/part/PartParameterTable.tsx:151 msgid "Edit Part Parameter" msgstr "" #: src/tables/part/PartCategoryTable.tsx:60 -#: src/tables/part/PartTable.tsx:180 +#: src/tables/part/PartTable.tsx:187 msgid "Include Subcategories" msgstr "" @@ -5667,7 +5820,7 @@ msgid "Show structural categories" msgstr "" #: src/tables/part/PartCategoryTable.tsx:70 -#: src/tables/part/PartTable.tsx:262 +#: src/tables/part/PartTable.tsx:269 msgid "Subscribed" msgstr "" @@ -5704,21 +5857,25 @@ msgstr "" #~ msgid "[{0}]" #~ msgstr "[{0}]" -#: src/tables/part/PartParameterTable.tsx:105 +#: src/tables/part/PartParameterTable.tsx:112 msgid "New Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:130 -#: src/tables/part/PartParameterTable.tsx:152 +#: src/tables/part/PartParameterTable.tsx:137 +#: src/tables/part/PartParameterTable.tsx:159 msgid "Delete Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:170 +#: src/tables/part/PartParameterTable.tsx:177 msgid "Add parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:191 -#: src/tables/stock/StockItemTable.tsx:300 +#: src/tables/part/PartParameterTable.tsx:196 +msgid "Part parameters cannot be edited, as the part is locked" +msgstr "" + +#: src/tables/part/PartParameterTable.tsx:210 +#: src/tables/stock/StockItemTable.tsx:322 msgid "Include Variants" msgstr "" @@ -5739,7 +5896,7 @@ msgid "Show templates with choices" msgstr "" #: src/tables/part/PartParameterTemplateTable.tsx:41 -#: src/tables/part/PartTable.tsx:198 +#: src/tables/part/PartTable.tsx:205 msgid "Has Units" msgstr "" @@ -5763,116 +5920,120 @@ msgstr "" msgid "Add parameter template" msgstr "" -#: src/tables/part/PartTable.tsx:67 +#: src/tables/part/PartTable.tsx:68 msgid "Minimum stock" msgstr "" -#: src/tables/part/PartTable.tsx:89 +#: src/tables/part/PartTable.tsx:90 msgid "Build Order Allocations" msgstr "" -#: src/tables/part/PartTable.tsx:98 +#: src/tables/part/PartTable.tsx:99 msgid "Sales Order Allocations" msgstr "" -#: src/tables/part/PartTable.tsx:169 +#: src/tables/part/PartTable.tsx:170 msgid "Filter by part active status" msgstr "" -#: src/tables/part/PartTable.tsx:174 -#: src/tables/stock/StockItemTable.tsx:265 +#: src/tables/part/PartTable.tsx:176 +msgid "Filter by part locked status" +msgstr "" + +#: src/tables/part/PartTable.tsx:181 +#: src/tables/stock/StockItemTable.tsx:287 msgid "Assembly" msgstr "" -#: src/tables/part/PartTable.tsx:175 +#: src/tables/part/PartTable.tsx:182 msgid "Filter by assembly attribute" msgstr "" -#: src/tables/part/PartTable.tsx:181 +#: src/tables/part/PartTable.tsx:188 msgid "Include parts in subcategories" msgstr "" -#: src/tables/part/PartTable.tsx:187 +#: src/tables/part/PartTable.tsx:194 msgid "Filter by component attribute" msgstr "" -#: src/tables/part/PartTable.tsx:193 +#: src/tables/part/PartTable.tsx:200 msgid "Filter by trackable attribute" msgstr "" -#: src/tables/part/PartTable.tsx:199 +#: src/tables/part/PartTable.tsx:206 msgid "Filter by parts which have units" msgstr "" -#: src/tables/part/PartTable.tsx:204 +#: src/tables/part/PartTable.tsx:211 msgid "Has IPN" msgstr "" -#: src/tables/part/PartTable.tsx:205 +#: src/tables/part/PartTable.tsx:212 msgid "Filter by parts which have an internal part number" msgstr "" -#: src/tables/part/PartTable.tsx:210 +#: src/tables/part/PartTable.tsx:217 msgid "Has Stock" msgstr "" -#: src/tables/part/PartTable.tsx:211 +#: src/tables/part/PartTable.tsx:218 msgid "Filter by parts which have stock" msgstr "" -#: src/tables/part/PartTable.tsx:217 +#: src/tables/part/PartTable.tsx:224 msgid "Filter by parts which have low stock" msgstr "" -#: src/tables/part/PartTable.tsx:222 +#: src/tables/part/PartTable.tsx:229 msgid "Purchaseable" msgstr "" -#: src/tables/part/PartTable.tsx:223 +#: src/tables/part/PartTable.tsx:230 msgid "Filter by parts which are purchaseable" msgstr "" -#: src/tables/part/PartTable.tsx:228 +#: src/tables/part/PartTable.tsx:235 msgid "Salable" msgstr "" -#: src/tables/part/PartTable.tsx:229 +#: src/tables/part/PartTable.tsx:236 msgid "Filter by parts which are salable" msgstr "" -#: src/tables/part/PartTable.tsx:235 +#: src/tables/part/PartTable.tsx:242 msgid "Filter by parts which are virtual" msgstr "" -#: src/tables/part/PartTable.tsx:239 +#: src/tables/part/PartTable.tsx:246 msgid "Not Virtual" msgstr "" -#: src/tables/part/PartTable.tsx:244 +#: src/tables/part/PartTable.tsx:251 msgid "Is Template" msgstr "" -#: src/tables/part/PartTable.tsx:245 +#: src/tables/part/PartTable.tsx:252 msgid "Filter by parts which are templates" msgstr "" -#: src/tables/part/PartTable.tsx:251 +#: src/tables/part/PartTable.tsx:258 msgid "Filter by parts which have pricing information" msgstr "" -#: src/tables/part/PartTable.tsx:257 +#: src/tables/part/PartTable.tsx:264 msgid "Filter by parts which have available stock" msgstr "" -#: src/tables/part/PartTable.tsx:263 +#: src/tables/part/PartTable.tsx:270 msgid "Filter by parts to which the user is subscribed" msgstr "" -#: src/tables/part/PartTable.tsx:268 +#: src/tables/part/PartTable.tsx:275 msgid "Has Stocktake" msgstr "" -#: src/tables/part/PartTable.tsx:269 +#: src/tables/part/PartTable.tsx:276 msgid "Filter by parts which have stocktake information" msgstr "" @@ -6211,7 +6372,7 @@ msgid "Sample" msgstr "" #: src/tables/plugin/PluginListTable.tsx:578 -#: src/tables/stock/StockItemTable.tsx:305 +#: src/tables/stock/StockItemTable.tsx:327 msgid "Installed" msgstr "" @@ -6486,6 +6647,41 @@ msgstr "" msgid "Edit group" msgstr "" +#: src/tables/settings/ImportSessionTable.tsx:39 +msgid "Delete Import Session" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:45 +#: src/tables/settings/ImportSessionTable.tsx:132 +msgid "Create Import Session" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:70 +msgid "Uploaded" +msgstr "Uploaded" + +#: src/tables/settings/ImportSessionTable.tsx:80 +msgid "Imported Rows" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:110 +#: src/tables/settings/TemplateTable.tsx:276 +msgid "Model Type" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:111 +#: src/tables/settings/TemplateTable.tsx:277 +msgid "Filter by target model type" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:117 +msgid "Filter by import session status" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:123 +msgid "Filter by user" +msgstr "" + #: src/tables/settings/PendingTasksTable.tsx:36 msgid "Arguments" msgstr "" @@ -6502,7 +6698,7 @@ msgstr "" msgid "Delete Project Code" msgstr "" -#: src/tables/settings/ProjectCodeTable.tsx:94 +#: src/tables/settings/ProjectCodeTable.tsx:92 msgid "Add project code" msgstr "" @@ -6571,14 +6767,6 @@ msgstr "" 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 "" @@ -6701,149 +6889,153 @@ msgstr "" msgid "This stock item has been depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:255 +#: src/tables/stock/StockItemTable.tsx:247 +msgid "Stock Value" +msgstr "" + +#: src/tables/stock/StockItemTable.tsx:277 msgid "Show stock for active parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:260 +#: src/tables/stock/StockItemTable.tsx:282 msgid "Filter by stock status" msgstr "" -#: src/tables/stock/StockItemTable.tsx:266 +#: src/tables/stock/StockItemTable.tsx:288 msgid "Show stock for assmebled parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:271 +#: src/tables/stock/StockItemTable.tsx:293 msgid "Show items which have been allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:276 +#: src/tables/stock/StockItemTable.tsx:298 msgid "Show items which are available" msgstr "" -#: src/tables/stock/StockItemTable.tsx:280 +#: src/tables/stock/StockItemTable.tsx:302 #: src/tables/stock/StockLocationTable.tsx:42 msgid "Include Sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:281 +#: src/tables/stock/StockItemTable.tsx:303 msgid "Include stock in sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:285 +#: src/tables/stock/StockItemTable.tsx:307 msgid "Depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:286 +#: src/tables/stock/StockItemTable.tsx:308 msgid "Show depleted stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:291 +#: src/tables/stock/StockItemTable.tsx:313 msgid "Show items which are in stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:296 +#: src/tables/stock/StockItemTable.tsx:318 msgid "Show items which are in production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:301 +#: src/tables/stock/StockItemTable.tsx:323 msgid "Include stock items for variant parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:306 +#: src/tables/stock/StockItemTable.tsx:328 msgid "Show stock items which are installed in other items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:310 +#: src/tables/stock/StockItemTable.tsx:332 msgid "Sent to Customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:311 +#: src/tables/stock/StockItemTable.tsx:333 msgid "Show items which have been sent to a customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:315 +#: src/tables/stock/StockItemTable.tsx:337 msgid "Is Serialized" msgstr "" -#: src/tables/stock/StockItemTable.tsx:316 +#: src/tables/stock/StockItemTable.tsx:338 msgid "Show items which have a serial number" msgstr "" -#: src/tables/stock/StockItemTable.tsx:323 +#: src/tables/stock/StockItemTable.tsx:345 msgid "Has Batch Code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:324 +#: src/tables/stock/StockItemTable.tsx:346 msgid "Show items which have a batch code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:330 +#: src/tables/stock/StockItemTable.tsx:352 msgid "Show tracked items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:334 +#: src/tables/stock/StockItemTable.tsx:356 msgid "Has Purchase Price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:335 +#: src/tables/stock/StockItemTable.tsx:357 msgid "Show items which have a purchase price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:343 +#: src/tables/stock/StockItemTable.tsx:365 msgid "External Location" msgstr "" -#: src/tables/stock/StockItemTable.tsx:344 +#: src/tables/stock/StockItemTable.tsx:366 msgid "Show items in an external location" msgstr "" -#: src/tables/stock/StockItemTable.tsx:416 +#: src/tables/stock/StockItemTable.tsx:438 msgid "Add a new stock item" msgstr "" -#: src/tables/stock/StockItemTable.tsx:425 +#: src/tables/stock/StockItemTable.tsx:447 msgid "Remove some quantity from a stock item" msgstr "" -#: src/tables/stock/StockItemTable.tsx:447 +#: src/tables/stock/StockItemTable.tsx:469 msgid "Move Stock items to new locations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:454 +#: src/tables/stock/StockItemTable.tsx:476 msgid "Change stock status" msgstr "" -#: src/tables/stock/StockItemTable.tsx:456 +#: src/tables/stock/StockItemTable.tsx:478 msgid "Change the status of stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:463 +#: src/tables/stock/StockItemTable.tsx:485 msgid "Merge stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:465 +#: src/tables/stock/StockItemTable.tsx:487 msgid "Merge stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:472 +#: src/tables/stock/StockItemTable.tsx:494 msgid "Order stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:474 -#: src/tables/stock/StockItemTable.tsx:480 +#: src/tables/stock/StockItemTable.tsx:496 +#: src/tables/stock/StockItemTable.tsx:502 msgid "Order new stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:478 +#: src/tables/stock/StockItemTable.tsx:500 msgid "Assign to customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:487 +#: src/tables/stock/StockItemTable.tsx:509 msgid "Delete stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:489 +#: src/tables/stock/StockItemTable.tsx:511 msgid "Delete stock items" msgstr "" @@ -6999,4 +7191,3 @@ msgstr "" #: src/views/MobileAppView.tsx:35 msgid "Ignore and continue to Desktop view" msgstr "" - diff --git a/src/frontend/src/locales/nl/messages.po b/src/frontend/src/locales/nl/messages.po index c01650df41ef..6f778af58362 100644 --- a/src/frontend/src/locales/nl/messages.po +++ b/src/frontend/src/locales/nl/messages.po @@ -49,16 +49,18 @@ msgstr "" #: src/components/buttons/PrintingActions.tsx:107 #: src/components/buttons/PrintingActions.tsx:144 #: src/components/editors/NotesEditor.tsx:65 -#: src/components/editors/NotesEditor.tsx:160 -#: src/components/forms/ApiForm.tsx:506 -#: src/components/forms/fields/ApiFormField.tsx:295 +#: src/components/editors/NotesEditor.tsx:165 +#: src/components/forms/ApiForm.tsx:513 +#: src/components/forms/fields/ApiFormField.tsx:306 +#: src/components/importer/ImportDataSelector.tsx:171 +#: src/components/importer/ImporterColumnSelector.tsx:112 #: src/components/modals/LicenseModal.tsx:75 #: src/components/nav/SearchDrawer.tsx:427 #: src/pages/ErrorPage.tsx:11 #: src/pages/part/PartPricingPanel.tsx:71 -#: src/tables/InvenTreeTable.tsx:451 -#: src/tables/InvenTreeTable.tsx:526 -#: src/tables/bom/BomTable.tsx:363 +#: src/tables/InvenTreeTable.tsx:470 +#: src/tables/InvenTreeTable.tsx:545 +#: src/tables/bom/BomTable.tsx:366 #: src/tables/stock/StockItemTestResultTable.tsx:294 msgid "Error" msgstr "" @@ -157,7 +159,7 @@ msgstr "Verwijderen" #: src/functions/forms.tsx:196 #: src/hooks/UseForm.tsx:40 #: src/tables/FilterSelectDrawer.tsx:204 -#: src/tables/InvenTreeTable.tsx:499 +#: src/tables/InvenTreeTable.tsx:518 #: src/tables/build/BuildOutputTable.tsx:225 msgid "Cancel" msgstr "Annuleer" @@ -175,7 +177,7 @@ msgid "Clear" msgstr "Wis" #: src/components/details/DetailsImage.tsx:227 -#: src/components/forms/ApiForm.tsx:573 +#: src/components/forms/ApiForm.tsx:580 #: src/contexts/ThemeContext.tsx:43 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:56 msgid "Submit" @@ -202,48 +204,61 @@ msgid "Delete image" msgstr "Afbeelding verwijderen" #: src/components/details/PartIcons.tsx:28 +#: src/tables/ColumnRenderers.tsx:35 +msgid "Part is locked" +msgstr "" + +#: src/components/details/PartIcons.tsx:30 +#: src/pages/part/PartDetail.tsx:267 +#: src/pages/part/PartDetail.tsx:698 +#: src/tables/part/PartTable.tsx:175 +msgid "Locked" +msgstr "" + +#: src/components/details/PartIcons.tsx:35 +#: src/tables/ColumnRenderers.tsx:30 msgid "Part is not active" msgstr "Onderdeel is niet actief" -#: src/components/details/PartIcons.tsx:34 +#: src/components/details/PartIcons.tsx:37 #: src/components/render/Plugin.tsx:17 #: src/pages/company/CompanyDetail.tsx:315 #: src/pages/company/SupplierPartDetail.tsx:307 -#: src/pages/part/PartDetail.tsx:685 +#: src/pages/part/PartDetail.tsx:704 msgid "Inactive" msgstr "Inactief" -#: src/components/details/PartIcons.tsx:41 +#: src/components/details/PartIcons.tsx:43 msgid "Part is a template part (variants can be made from this part)" msgstr "Onderdeel is een sjabloondeel (varianten kunnen van dit deel gemaakt worden)" -#: src/components/details/PartIcons.tsx:47 +#: src/components/details/PartIcons.tsx:49 msgid "Part can be assembled from other parts" msgstr "Onderdeel kan vanuit andere onderdelen worden samengesteld" -#: src/components/details/PartIcons.tsx:53 +#: src/components/details/PartIcons.tsx:55 msgid "Part can be used in assemblies" msgstr "Onderdeel kan gebruikt worden in samenstellingen" -#: src/components/details/PartIcons.tsx:59 +#: src/components/details/PartIcons.tsx:61 msgid "Part stock is tracked by serial number" msgstr "Voorraad onderdeel wordt bijgehouden op serienummer" -#: src/components/details/PartIcons.tsx:65 +#: src/components/details/PartIcons.tsx:67 msgid "Part can be purchased from external suppliers" msgstr "Onderdeel kan worden gekocht bij externe leveranciers" -#: src/components/details/PartIcons.tsx:71 +#: src/components/details/PartIcons.tsx:73 msgid "Part can be sold to customers" msgstr "Onderdeel kan aan klanten worden verkocht" -#: src/components/details/PartIcons.tsx:76 +#: src/components/details/PartIcons.tsx:78 msgid "Part is virtual (not a physical part)" 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/components/details/PartIcons.tsx:84 +#: src/tables/part/PartTable.tsx:241 +#: src/tables/part/PartTable.tsx:245 #: src/tables/part/PartVariantTable.tsx:25 msgid "Virtual" msgstr "Virtueel" @@ -252,29 +267,29 @@ msgstr "Virtueel" msgid "Image upload failed" msgstr "" -#: src/components/editors/NotesEditor.tsx:151 -#: src/components/forms/ApiForm.tsx:430 -#: src/tables/bom/BomTable.tsx:354 +#: src/components/editors/NotesEditor.tsx:156 +#: src/components/forms/ApiForm.tsx:437 +#: src/tables/bom/BomTable.tsx:357 msgid "Success" msgstr "" -#: src/components/editors/NotesEditor.tsx:152 +#: src/components/editors/NotesEditor.tsx:157 msgid "Notes saved successfully" msgstr "" -#: src/components/editors/NotesEditor.tsx:161 +#: src/components/editors/NotesEditor.tsx:166 msgid "Failed to save notes" msgstr "" -#: src/components/editors/NotesEditor.tsx:193 +#: src/components/editors/NotesEditor.tsx:198 msgid "Preview Notes" msgstr "" -#: src/components/editors/NotesEditor.tsx:193 +#: src/components/editors/NotesEditor.tsx:198 msgid "Edit Notes" msgstr "" -#: src/components/editors/NotesEditor.tsx:207 +#: src/components/editors/NotesEditor.tsx:212 msgid "Save Notes" msgstr "" @@ -407,7 +422,7 @@ msgstr "" msgid "A server error occurred" msgstr "" -#: src/components/forms/ApiForm.tsx:149 +#: src/components/forms/ApiForm.tsx:151 #: src/functions/forms.tsx:259 msgid "Form Error" msgstr "" @@ -416,18 +431,18 @@ msgstr "" #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:611 +#: src/components/forms/ApiForm.tsx:618 #: src/tables/plugin/PluginListTable.tsx:388 msgid "Update" msgstr "" -#: src/components/forms/ApiForm.tsx:631 +#: src/components/forms/ApiForm.tsx:638 #: 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:498 +#: src/tables/InvenTreeTable.tsx:517 #: src/tables/RowActions.tsx:71 #: src/tables/plugin/PluginListTable.tsx:420 msgid "Delete" @@ -600,7 +615,7 @@ msgstr "" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:70 #: src/pages/part/CategoryDetail.tsx:80 -#: src/pages/part/PartDetail.tsx:122 +#: src/pages/part/PartDetail.tsx:123 #: src/pages/stock/LocationDetail.tsx:87 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 @@ -685,6 +700,124 @@ msgstr "" msgid "Thumbnail" msgstr "" +#: src/components/importer/ImportDataSelector.tsx:154 +msgid "Importing Rows" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:155 +msgid "Please wait while the data is imported" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:172 +msgid "An error occurred while importing data" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:191 +msgid "Edit Data" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:218 +msgid "Delete Row" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:248 +msgid "Row" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:266 +msgid "Row contains errors" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:307 +msgid "Accept" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:340 +msgid "Valid" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:341 +msgid "Filter by row validation status" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:346 +#: src/tables/build/BuildOutputTable.tsx:205 +msgid "Complete" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:347 +msgid "Filter by row completion status" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:364 +msgid "Import selected rows" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:46 +#: src/components/importer/ImporterColumnSelector.tsx:85 +msgid "An error occurred" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:57 +msgid "Select column, or leave blank to ignore this field." +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:91 +msgid "Select a column from the data file" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:104 +msgid "Map data columns to database fields" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:109 +msgid "Accept Column Mapping" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:117 +msgid "Database Field" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:118 +msgid "Field Description" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:119 +msgid "Imported Column Name" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:44 +msgid "Import Data" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:45 +msgid "Map Columns" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:46 +msgid "Process Data" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:47 +msgid "Complete Import" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:91 +msgid "Importing Data" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:97 +msgid "Cancel import session" +msgstr "" + +#: src/components/importer/ImporterImportProgress.tsx:36 +msgid "Importing Records" +msgstr "" + +#: src/components/importer/ImporterImportProgress.tsx:39 +msgid "Imported rows" +msgstr "" + #: src/components/items/ActionDropdown.tsx:119 #: src/pages/build/BuildDetail.tsx:358 msgid "Barcode Actions" @@ -738,7 +871,7 @@ msgid "Read More" msgstr "" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:443 +#: src/tables/InvenTreeTable.tsx:462 msgid "Unknown error" msgstr "" @@ -1039,13 +1172,13 @@ msgstr "" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:313 +#: src/pages/Index/Settings/SystemSettings.tsx:314 msgid "System Settings" msgstr "" #: src/components/nav/MainMenu.tsx:67 #: src/defaults/menuItems.tsx:63 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:198 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:209 msgid "Admin Center" msgstr "" @@ -1088,7 +1221,7 @@ msgid "Pages" msgstr "" #: src/components/nav/NavigationDrawer.tsx:65 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:157 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:168 #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:41 msgid "Plugins" msgstr "" @@ -1102,7 +1235,7 @@ msgstr "" msgid "About" msgstr "" -#: src/components/nav/NotificationDrawer.tsx:78 +#: src/components/nav/NotificationDrawer.tsx:81 #: src/pages/Index/Settings/SystemSettings.tsx:108 #: src/pages/Index/Settings/UserSettings.tsx:96 #: src/pages/Notifications.tsx:65 @@ -1110,17 +1243,17 @@ msgstr "" msgid "Notifications" msgstr "" -#: src/components/nav/NotificationDrawer.tsx:95 +#: src/components/nav/NotificationDrawer.tsx:98 msgid "You have no unread notifications." msgstr "" -#: src/components/nav/NotificationDrawer.tsx:111 -#: src/components/nav/NotificationDrawer.tsx:117 +#: src/components/nav/NotificationDrawer.tsx:114 +#: src/components/nav/NotificationDrawer.tsx:120 #: src/tables/notifications/NotificationsTable.tsx:36 msgid "Notification" msgstr "" -#: src/components/nav/NotificationDrawer.tsx:140 +#: src/components/nav/NotificationDrawer.tsx:143 #: src/pages/Notifications.tsx:73 msgid "Mark as read" msgstr "" @@ -1157,7 +1290,7 @@ msgstr "" msgid "No results available for search query" msgstr "" -#: src/components/render/Instance.tsx:166 +#: src/components/render/Instance.tsx:201 msgid "Unknown model: {model}" msgstr "" @@ -1172,7 +1305,8 @@ msgstr "" #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 #: src/pages/build/BuildDetail.tsx:85 -#: src/pages/part/PartDetail.tsx:831 +#: src/pages/part/PartDetail.tsx:872 +#: src/tables/part/PartTable.tsx:28 #: src/tables/part/RelatedPartTable.tsx:45 #: src/tables/stock/StockTrackingTable.tsx:74 msgid "Part" @@ -1185,7 +1319,7 @@ msgstr "" #: src/pages/part/CategoryDetail.tsx:112 #: src/pages/part/CategoryDetail.tsx:237 #: src/pages/part/CategoryDetail.tsx:267 -#: src/pages/part/PartDetail.tsx:639 +#: src/pages/part/PartDetail.tsx:652 msgid "Parts" msgstr "" @@ -1235,7 +1369,7 @@ msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:172 #: src/pages/part/CategoryDetail.tsx:251 #: src/pages/part/CategoryDetail.tsx:288 -#: src/pages/part/PartDetail.tsx:821 +#: src/pages/part/PartDetail.tsx:862 msgid "Part Categories" msgstr "" @@ -1317,7 +1451,7 @@ msgid "Project Code" msgstr "" #: src/components/render/ModelType.tsx:127 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:109 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:120 msgid "Project Codes" msgstr "" @@ -1329,10 +1463,10 @@ msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:134 -#: src/pages/Index/Settings/SystemSettings.tsx:257 +#: src/pages/Index/Settings/SystemSettings.tsx:258 #: src/pages/company/CompanyDetail.tsx:194 #: src/pages/company/SupplierPartDetail.tsx:226 -#: src/pages/part/PartDetail.tsx:573 +#: src/pages/part/PartDetail.tsx:586 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "" @@ -1354,9 +1488,9 @@ msgid "Sales Order" msgstr "Verkooporder" #: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:272 +#: src/pages/Index/Settings/SystemSettings.tsx:273 #: src/pages/company/CompanyDetail.tsx:214 -#: src/pages/part/PartDetail.tsx:580 +#: src/pages/part/PartDetail.tsx:593 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "Verkooporders" @@ -1376,7 +1510,7 @@ msgid "Return Order" msgstr "Retourorder" #: src/components/render/ModelType.tsx:164 -#: src/pages/Index/Settings/SystemSettings.tsx:288 +#: src/pages/Index/Settings/SystemSettings.tsx:289 #: src/pages/company/CompanyDetail.tsx:221 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1413,40 +1547,49 @@ msgid "Owners" msgstr "" #: src/components/render/ModelType.tsx:193 +#: src/tables/settings/ImportSessionTable.tsx:122 #: src/tables/stock/StockItemTestResultTable.tsx:193 #: src/tables/stock/StockTrackingTable.tsx:195 msgid "User" msgstr "" #: src/components/render/ModelType.tsx:194 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:85 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:90 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" msgstr "" #: src/components/render/ModelType.tsx:200 -msgid "Label Template" +msgid "Import Session" msgstr "" #: src/components/render/ModelType.tsx:201 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:139 -msgid "Label Templates" +msgid "Import Sessions" msgstr "" #: src/components/render/ModelType.tsx:207 -msgid "Report Template" +msgid "Label Template" msgstr "" #: src/components/render/ModelType.tsx:208 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:145 -msgid "Report Templates" +#: src/pages/Index/Settings/AdminCenter/Index.tsx:150 +msgid "Label Templates" msgstr "" #: src/components/render/ModelType.tsx:214 -msgid "Plugin Configuration" +msgid "Report Template" msgstr "" #: src/components/render/ModelType.tsx:215 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:156 +msgid "Report Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:221 +msgid "Plugin Configuration" +msgstr "" + +#: src/components/render/ModelType.tsx:222 msgid "Plugin Configurations" msgstr "" @@ -1458,7 +1601,7 @@ msgstr "" #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 #: src/pages/Index/Settings/SystemSettings.tsx:210 -#: src/pages/part/PartDetail.tsx:492 +#: src/pages/part/PartDetail.tsx:503 #: src/pages/stock/LocationDetail.tsx:347 #: src/pages/stock/StockDetail.tsx:356 #: src/tables/stock/StockItemTable.tsx:57 @@ -1641,10 +1784,6 @@ msgstr "" #~ msgid "Comment" #~ msgstr "Comment" -#: src/components/tables/general/AttachmentTable.tsx:56 -#~ msgid "Uploaded" -#~ msgstr "Uploaded" - #: src/components/tables/part/PartCategoryTable.tsx:122 #~ msgid "Part category updated" #~ msgstr "Part category updated" @@ -2157,7 +2296,7 @@ msgid "Recently Updated" msgstr "" #: src/defaults/dashboardItems.tsx:50 -#: src/tables/part/PartTable.tsx:216 +#: src/tables/part/PartTable.tsx:223 msgid "Low Stock" msgstr "" @@ -2466,7 +2605,7 @@ msgstr "" #~ msgid "Company updated" #~ msgstr "Company updated" -#: src/forms/PartForms.tsx:100 +#: src/forms/PartForms.tsx:103 msgid "Parent part category" msgstr "" @@ -2534,7 +2673,7 @@ msgstr "" #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 #: src/pages/stock/StockDetail.tsx:173 -#: src/tables/ColumnRenderers.tsx:34 +#: src/tables/ColumnRenderers.tsx:49 #: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" msgstr "" @@ -2585,8 +2724,8 @@ msgstr "" #: src/forms/StockForms.tsx:176 #: src/pages/stock/StockDetail.tsx:379 -#: src/tables/stock/StockItemTable.tsx:382 -#: src/tables/stock/StockItemTable.tsx:499 +#: src/tables/stock/StockItemTable.tsx:404 +#: src/tables/stock/StockItemTable.tsx:521 msgid "Add Stock Item" msgstr "" @@ -2606,9 +2745,9 @@ msgstr "" #: src/forms/StockForms.tsx:606 #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 -#: src/pages/part/PartDetail.tsx:202 -#: src/pages/part/PartDetail.tsx:655 -#: src/tables/stock/StockItemTable.tsx:290 +#: src/pages/part/PartDetail.tsx:203 +#: src/pages/part/PartDetail.tsx:668 +#: src/tables/stock/StockItemTable.tsx:312 msgid "In Stock" msgstr "" @@ -2649,12 +2788,12 @@ msgid "Remove Stock" msgstr "" #: src/forms/StockForms.tsx:803 -#: src/pages/part/PartDetail.tsx:782 +#: src/pages/part/PartDetail.tsx:823 msgid "Transfer Stock" msgstr "" #: src/forms/StockForms.tsx:812 -#: src/pages/part/PartDetail.tsx:771 +#: src/pages/part/PartDetail.tsx:812 msgid "Count Stock" msgstr "" @@ -3279,53 +3418,57 @@ msgstr "" #~ msgid "Advanced Amininistrative Options for InvenTree" #~ msgstr "Advanced Amininistrative Options for InvenTree" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:91 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:96 +msgid "Data Import" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:102 msgid "Background Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:97 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:108 msgid "Error Reports" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:103 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:114 msgid "Currencies" 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:132 msgid "Custom Units" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:138 #: src/pages/part/CategoryDetail.tsx:257 msgid "Part Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 -#~ msgid "Templates" -#~ msgstr "Templates" - -#: src/pages/Index/Settings/AdminCenter/Index.tsx:133 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:144 msgid "Category Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:151 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:162 msgid "Location types" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:163 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:174 #: src/tables/machine/MachineTypeTable.tsx:287 msgid "Machines" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:173 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:184 msgid "Quick Actions" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:178 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:189 msgid "Add a new user" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:199 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:210 msgid "Advanced Options" msgstr "" @@ -3477,7 +3620,7 @@ msgid "Reporting" msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:235 -#: src/pages/part/PartDetail.tsx:593 +#: src/pages/part/PartDetail.tsx:606 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" @@ -3485,12 +3628,12 @@ msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:241 #: src/pages/build/BuildDetail.tsx:423 #: src/pages/build/BuildIndex.tsx:14 -#: src/pages/part/PartDetail.tsx:527 +#: src/pages/part/PartDetail.tsx:540 #: src/pages/sales/SalesOrderDetail.tsx:270 msgid "Build Orders" msgstr "Productieorders" -#: src/pages/Index/Settings/SystemSettings.tsx:316 +#: src/pages/Index/Settings/SystemSettings.tsx:317 msgid "Switch to User Setting" msgstr "" @@ -3555,7 +3698,8 @@ msgstr "" #: 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/settings/ImportSessionTable.tsx:116 +#: src/tables/stock/StockItemTable.tsx:281 #: src/tables/stock/StockTrackingTable.tsx:52 msgid "Status" msgstr "Status" @@ -3564,7 +3708,7 @@ msgstr "Status" #: src/pages/purchasing/PurchaseOrderDetail.tsx:104 #: src/pages/sales/ReturnOrderDetail.tsx:73 #: src/pages/sales/SalesOrderDetail.tsx:77 -#: src/tables/ColumnRenderers.tsx:106 +#: src/tables/ColumnRenderers.tsx:121 #: src/tables/build/BuildLineTable.tsx:140 msgid "Reference" msgstr "" @@ -3574,12 +3718,12 @@ msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:78 #: src/pages/company/SupplierPartDetail.tsx:85 #: src/pages/part/CategoryDetail.tsx:94 -#: src/pages/part/PartDetail.tsx:129 +#: src/pages/part/PartDetail.tsx:130 #: src/pages/purchasing/PurchaseOrderDetail.tsx:125 #: src/pages/sales/ReturnOrderDetail.tsx:93 #: src/pages/sales/SalesOrderDetail.tsx:97 #: src/pages/stock/LocationDetail.tsx:101 -#: src/tables/ColumnRenderers.tsx:66 +#: src/tables/ColumnRenderers.tsx:81 #: src/tables/machine/MachineTypeTable.tsx:69 #: src/tables/machine/MachineTypeTable.tsx:112 #: src/tables/machine/MachineTypeTable.tsx:219 @@ -3610,7 +3754,7 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:152 -#: src/pages/part/PartDetail.tsx:317 +#: src/pages/part/PartDetail.tsx:323 #: src/pages/purchasing/PurchaseOrderDetail.tsx:217 #: src/pages/sales/ReturnOrderDetail.tsx:186 #: src/pages/sales/SalesOrderDetail.tsx:190 @@ -3630,7 +3774,7 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:210 #: src/pages/sales/ReturnOrderDetail.tsx:179 #: src/pages/sales/SalesOrderDetail.tsx:183 -#: src/tables/ColumnRenderers.tsx:191 +#: src/tables/ColumnRenderers.tsx:206 msgid "Target Date" msgstr "" @@ -3711,7 +3855,7 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:297 #: src/pages/company/CompanyDetail.tsx:257 #: src/pages/company/ManufacturerPartDetail.tsx:174 -#: src/pages/part/PartDetail.tsx:616 +#: src/pages/part/PartDetail.tsx:629 #: src/pages/purchasing/PurchaseOrderDetail.tsx:279 #: src/pages/sales/ReturnOrderDetail.tsx:230 #: src/pages/sales/SalesOrderDetail.tsx:280 @@ -3721,7 +3865,7 @@ msgstr "Bijlagen" #: src/pages/build/BuildDetail.tsx:305 #: src/pages/company/CompanyDetail.tsx:268 -#: src/pages/part/PartDetail.tsx:624 +#: src/pages/part/PartDetail.tsx:637 #: src/pages/purchasing/PurchaseOrderDetail.tsx:290 #: src/pages/sales/ReturnOrderDetail.tsx:241 #: src/pages/sales/SalesOrderDetail.tsx:291 @@ -3877,12 +4021,12 @@ msgid "Manufacturer Part Details" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:148 -#: src/pages/part/PartDetail.tsx:486 +#: src/pages/part/PartDetail.tsx:492 msgid "Parameters" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:160 -#: src/pages/part/PartDetail.tsx:560 +#: src/pages/part/PartDetail.tsx:573 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" msgstr "" @@ -3907,7 +4051,7 @@ msgid "ManufacturerPart" msgstr "" #: src/pages/company/SupplierPartDetail.tsx:99 -#: src/tables/ColumnRenderers.tsx:117 +#: src/tables/ColumnRenderers.tsx:132 msgid "Note" msgstr "" @@ -4043,275 +4187,275 @@ msgstr "" msgid "Category Details" msgstr "" -#: src/pages/part/PartDetail.tsx:135 +#: src/pages/part/PartDetail.tsx:136 msgid "Variant of" msgstr "" -#: src/pages/part/PartDetail.tsx:142 +#: src/pages/part/PartDetail.tsx:143 #: src/tables/notifications/NotificationsTable.tsx:31 #: src/tables/part/PartCategoryTemplateTable.tsx:67 msgid "Category" msgstr "" -#: src/pages/part/PartDetail.tsx:148 +#: src/pages/part/PartDetail.tsx:149 msgid "Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:155 +#: src/pages/part/PartDetail.tsx:156 msgid "Category Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:162 +#: src/pages/part/PartDetail.tsx:163 msgid "IPN" msgstr "" -#: src/pages/part/PartDetail.tsx:169 +#: src/pages/part/PartDetail.tsx:170 msgid "Revision" msgstr "" -#: src/pages/part/PartDetail.tsx:176 +#: src/pages/part/PartDetail.tsx:177 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" msgstr "" -#: src/pages/part/PartDetail.tsx:183 +#: src/pages/part/PartDetail.tsx:184 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:190 +#: src/pages/part/PartDetail.tsx:191 #: src/pages/purchasing/PurchaseOrderDetail.tsx:183 #: src/pages/sales/ReturnOrderDetail.tsx:152 #: src/pages/sales/SalesOrderDetail.tsx:156 msgid "Link" msgstr "" -#: src/pages/part/PartDetail.tsx:208 -#: src/tables/bom/BomTable.tsx:276 +#: src/pages/part/PartDetail.tsx:209 +#: src/tables/bom/BomTable.tsx:279 #: src/tables/build/BuildLineTable.tsx:121 -#: src/tables/part/PartTable.tsx:256 +#: src/tables/part/PartTable.tsx:263 msgid "Available Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:215 +#: src/pages/part/PartDetail.tsx:216 msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:221 -#: src/tables/bom/BomTable.tsx:217 +#: src/pages/part/PartDetail.tsx:222 +#: src/tables/bom/BomTable.tsx:220 #: src/tables/build/BuildLineTable.tsx:95 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:230 +#: src/pages/part/PartDetail.tsx:231 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:238 +#: src/pages/part/PartDetail.tsx:239 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:245 -#: src/tables/bom/BomTable.tsx:241 +#: src/pages/part/PartDetail.tsx:246 +#: src/tables/bom/BomTable.tsx:244 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:252 -#: src/tables/bom/BomTable.tsx:225 -#: src/tables/part/PartTable.tsx:82 +#: src/pages/part/PartDetail.tsx:253 +#: src/tables/bom/BomTable.tsx:228 +#: src/tables/part/PartTable.tsx:83 msgid "Building" msgstr "" -#: src/pages/part/PartDetail.tsx:261 +#: src/pages/part/PartDetail.tsx:262 #: src/tables/bom/UsedInTable.tsx:73 #: src/tables/build/BuildOrderTable.tsx:108 #: src/tables/company/CompanyTable.tsx:61 #: src/tables/company/CompanyTable.tsx:95 #: src/tables/machine/MachineListTable.tsx:323 #: src/tables/machine/MachineListTable.tsx:585 -#: src/tables/part/PartTable.tsx:168 +#: src/tables/part/PartTable.tsx:169 #: src/tables/part/PartVariantTable.tsx:15 #: 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 +#: src/tables/stock/StockItemTable.tsx:276 msgid "Active" msgstr "" -#: src/pages/part/PartDetail.tsx:266 +#: src/pages/part/PartDetail.tsx:272 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:271 -#: src/tables/bom/BomTable.tsx:271 +#: src/pages/part/PartDetail.tsx:277 +#: src/tables/bom/BomTable.tsx:274 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:276 +#: src/pages/part/PartDetail.tsx:282 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:281 -#: src/tables/bom/BomTable.tsx:266 +#: src/pages/part/PartDetail.tsx:287 +#: src/tables/bom/BomTable.tsx:269 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:286 +#: src/pages/part/PartDetail.tsx:292 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:291 +#: src/pages/part/PartDetail.tsx:297 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:296 +#: src/pages/part/PartDetail.tsx:302 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:304 -#: src/tables/ColumnRenderers.tsx:199 +#: src/pages/part/PartDetail.tsx:310 +#: src/tables/ColumnRenderers.tsx:214 msgid "Creation Date" msgstr "" -#: src/pages/part/PartDetail.tsx:309 -msgid "Created By" -msgstr "" - #: src/pages/part/PartDetail.tsx:310 #~ msgid "Edit part" #~ msgstr "Edit part" +#: src/pages/part/PartDetail.tsx:315 +msgid "Created By" +msgstr "" + #: src/pages/part/PartDetail.tsx:322 #~ msgid "Duplicate part" #~ msgstr "Duplicate part" -#: src/pages/part/PartDetail.tsx:324 -msgid "Default Supplier" -msgstr "" - #: src/pages/part/PartDetail.tsx:327 #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:335 +#: src/pages/part/PartDetail.tsx:330 +msgid "Default Supplier" +msgstr "" + +#: src/pages/part/PartDetail.tsx:341 #: src/pages/part/pricing/BomPricingPanel.tsx:78 #: src/pages/part/pricing/VariantPricingPanel.tsx:95 -#: src/tables/part/PartTable.tsx:151 +#: src/tables/part/PartTable.tsx:152 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:374 +#: src/pages/part/PartDetail.tsx:380 #: src/pages/stock/StockDetail.tsx:133 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:409 +#: src/pages/part/PartDetail.tsx:415 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:480 +#: src/pages/part/PartDetail.tsx:486 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:506 +#: src/pages/part/PartDetail.tsx:517 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:513 +#: src/pages/part/PartDetail.tsx:524 #: src/pages/stock/StockDetail.tsx:286 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:520 +#: src/pages/part/PartDetail.tsx:531 msgid "Bill of Materials" msgstr "" -#: src/pages/part/PartDetail.tsx:534 +#: src/pages/part/PartDetail.tsx:547 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:541 +#: src/pages/part/PartDetail.tsx:554 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:547 +#: src/pages/part/PartDetail.tsx:560 #: src/pages/purchasing/PurchasingIndex.tsx:37 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:587 +#: src/pages/part/PartDetail.tsx:600 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:599 +#: src/pages/part/PartDetail.tsx:612 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:610 +#: src/pages/part/PartDetail.tsx:623 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:661 +#: src/pages/part/PartDetail.tsx:674 #: src/pages/stock/StockDetail.tsx:154 #: src/pages/stock/StockDetail.tsx:533 #: src/tables/build/BuildLineTable.tsx:36 -#: src/tables/part/PartTable.tsx:107 +#: src/tables/part/PartTable.tsx:108 #: src/tables/stock/StockItemTable.tsx:166 -#: src/tables/stock/StockItemTable.tsx:275 +#: src/tables/stock/StockItemTable.tsx:297 msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:667 +#: src/pages/part/PartDetail.tsx:680 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:673 -#: src/tables/bom/BomTable.tsx:281 -#: src/tables/part/PartTable.tsx:76 +#: src/pages/part/PartDetail.tsx:686 +#: src/tables/bom/BomTable.tsx:284 +#: src/tables/part/PartTable.tsx:77 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:679 +#: src/pages/part/PartDetail.tsx:692 #: src/pages/stock/StockDetail.tsx:516 -#: src/tables/stock/StockItemTable.tsx:295 +#: src/tables/stock/StockItemTable.tsx:317 msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:698 +#: src/pages/part/PartDetail.tsx:717 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:705 -#: src/tables/part/PartTable.tsx:289 -#: src/tables/part/PartTable.tsx:302 +#: src/pages/part/PartDetail.tsx:744 +#: src/tables/part/PartTable.tsx:296 +#: src/tables/part/PartTable.tsx:309 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:717 +#: src/pages/part/PartDetail.tsx:758 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:726 +#: src/pages/part/PartDetail.tsx:767 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:764 +#: src/pages/part/PartDetail.tsx:805 #: src/pages/stock/LocationDetail.tsx:304 -#: src/tables/stock/StockItemTable.tsx:409 +#: src/tables/stock/StockItemTable.tsx:431 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:772 +#: src/pages/part/PartDetail.tsx:813 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:824 msgid "Transfer part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:792 +#: src/pages/part/PartDetail.tsx:833 msgid "Part Actions" msgstr "" @@ -4359,8 +4503,8 @@ msgstr "" #: src/pages/part/pricing/BomPricingPanel.tsx:57 #: src/pages/part/pricing/BomPricingPanel.tsx:137 -#: src/tables/ColumnRenderers.tsx:241 -#: src/tables/bom/BomTable.tsx:165 +#: src/tables/ColumnRenderers.tsx:256 +#: src/tables/bom/BomTable.tsx:168 #: src/tables/purchasing/PurchaseOrderTable.tsx:112 #: src/tables/sales/ReturnOrderTable.tsx:104 #: src/tables/sales/SalesOrderTable.tsx:134 @@ -4369,7 +4513,7 @@ msgstr "" #: src/pages/part/pricing/BomPricingPanel.tsx:77 #: src/pages/part/pricing/BomPricingPanel.tsx:101 -#: src/tables/part/PartTable.tsx:186 +#: src/tables/part/PartTable.tsx:193 msgid "Component" msgstr "" @@ -4398,7 +4542,7 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:67 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:128 #: src/pages/part/pricing/SupplierPricingPanel.tsx:62 -#: src/tables/bom/BomTable.tsx:156 +#: src/tables/bom/BomTable.tsx:159 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 msgid "Unit Price" @@ -4498,7 +4642,7 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:40 #: src/pages/part/pricing/SaleHistoryPanel.tsx:36 -#: src/tables/ColumnRenderers.tsx:180 +#: src/tables/ColumnRenderers.tsx:195 #: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" @@ -4771,12 +4915,12 @@ msgid "Count stock" msgstr "" #: src/pages/stock/StockDetail.tsx:459 -#: src/tables/stock/StockItemTable.tsx:414 +#: src/tables/stock/StockItemTable.tsx:436 msgid "Add stock" msgstr "" #: src/pages/stock/StockDetail.tsx:467 -#: src/tables/stock/StockItemTable.tsx:423 +#: src/tables/stock/StockItemTable.tsx:445 msgid "Remove stock" msgstr "" @@ -4785,7 +4929,7 @@ msgid "Transfer" msgstr "" #: src/pages/stock/StockDetail.tsx:475 -#: src/tables/stock/StockItemTable.tsx:443 +#: src/tables/stock/StockItemTable.tsx:465 msgid "Transfer stock" msgstr "" @@ -4793,15 +4937,15 @@ msgstr "" msgid "Stock Item Actions" msgstr "" -#: src/tables/ColumnRenderers.tsx:42 +#: src/tables/ColumnRenderers.tsx:57 msgid "No location set" msgstr "" -#: src/tables/ColumnRenderers.tsx:207 +#: src/tables/ColumnRenderers.tsx:222 msgid "Shipment Date" msgstr "" -#: src/tables/ColumnRenderers.tsx:227 +#: src/tables/ColumnRenderers.tsx:242 #: src/tables/settings/CurrencyTable.tsx:23 msgid "Currency" msgstr "" @@ -4828,14 +4972,14 @@ msgid "TSV" msgstr "" #: src/tables/DownloadAction.tsx:24 -msgid "Excel (.xls)" -msgstr "" - -#: src/tables/DownloadAction.tsx:25 msgid "Excel (.xlsx)" msgstr "" -#: src/tables/DownloadAction.tsx:39 +#: src/tables/DownloadAction.tsx:24 +#~ msgid "Excel (.xls)" +#~ msgstr "" + +#: src/tables/DownloadAction.tsx:38 msgid "Download Data" msgstr "" @@ -4900,54 +5044,54 @@ msgstr "" msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:119 -#: src/tables/InvenTreeTable.tsx:390 -#: src/tables/InvenTreeTable.tsx:411 +#: src/tables/InvenTreeTable.tsx:126 +#: src/tables/InvenTreeTable.tsx:409 +#: src/tables/InvenTreeTable.tsx:430 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:422 +#: src/tables/InvenTreeTable.tsx:441 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:430 +#: src/tables/InvenTreeTable.tsx:449 msgid "Bad request" msgstr "" -#: src/tables/InvenTreeTable.tsx:433 +#: src/tables/InvenTreeTable.tsx:452 msgid "Unauthorized" msgstr "" -#: src/tables/InvenTreeTable.tsx:436 +#: src/tables/InvenTreeTable.tsx:455 msgid "Forbidden" msgstr "" -#: src/tables/InvenTreeTable.tsx:439 +#: src/tables/InvenTreeTable.tsx:458 msgid "Not found" msgstr "" -#: src/tables/InvenTreeTable.tsx:488 -#: src/tables/InvenTreeTable.tsx:606 +#: src/tables/InvenTreeTable.tsx:507 +#: src/tables/InvenTreeTable.tsx:623 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:492 +#: src/tables/InvenTreeTable.tsx:511 msgid "Are you sure you want to delete the selected records?" msgstr "" -#: src/tables/InvenTreeTable.tsx:494 +#: src/tables/InvenTreeTable.tsx:513 msgid "This action cannot be undone!" msgstr "" -#: src/tables/InvenTreeTable.tsx:517 +#: src/tables/InvenTreeTable.tsx:536 msgid "Deleted records" msgstr "" -#: src/tables/InvenTreeTable.tsx:518 +#: src/tables/InvenTreeTable.tsx:537 msgid "Records were deleted successfully" msgstr "" -#: src/tables/InvenTreeTable.tsx:527 +#: src/tables/InvenTreeTable.tsx:546 msgid "Failed to delete records" msgstr "" @@ -4956,140 +5100,144 @@ msgstr "" #~ msgid "Print actions" #~ msgstr "Print actions" -#: src/tables/InvenTreeTable.tsx:596 -#: src/tables/InvenTreeTable.tsx:597 +#: src/tables/InvenTreeTable.tsx:613 +#: src/tables/InvenTreeTable.tsx:614 msgid "Barcode actions" msgstr "" -#: src/tables/InvenTreeTable.tsx:625 +#: src/tables/InvenTreeTable.tsx:642 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTable.tsx:646 +#: src/tables/InvenTreeTable.tsx:663 msgid "Table filters" msgstr "" -#: src/tables/bom/BomTable.tsx:80 +#: src/tables/UploadAction.tsx:9 +msgid "Upload Data" +msgstr "" + +#: src/tables/bom/BomTable.tsx:83 msgid "This BOM item is defined for a different parent" msgstr "" -#: src/tables/bom/BomTable.tsx:95 +#: src/tables/bom/BomTable.tsx:98 msgid "Part Information" msgstr "" -#: src/tables/bom/BomTable.tsx:184 -#: src/tables/part/PartTable.tsx:124 +#: src/tables/bom/BomTable.tsx:187 +#: src/tables/part/PartTable.tsx:125 msgid "No stock" msgstr "" -#: src/tables/bom/BomTable.tsx:192 +#: src/tables/bom/BomTable.tsx:195 #: src/tables/build/BuildLineTable.tsx:104 -#: src/tables/part/PartTable.tsx:115 +#: src/tables/part/PartTable.tsx:116 msgid "External stock" msgstr "" -#: src/tables/bom/BomTable.tsx:200 +#: src/tables/bom/BomTable.tsx:203 #: src/tables/build/BuildLineTable.tsx:67 msgid "Includes substitute stock" msgstr "" -#: src/tables/bom/BomTable.tsx:209 +#: src/tables/bom/BomTable.tsx:212 #: src/tables/build/BuildLineTable.tsx:77 msgid "Includes variant stock" msgstr "" -#: src/tables/bom/BomTable.tsx:234 -#: src/tables/part/PartTable.tsx:143 +#: src/tables/bom/BomTable.tsx:237 +#: src/tables/part/PartTable.tsx:144 #: src/tables/stock/StockItemTable.tsx:205 msgid "Stock Information" msgstr "" -#: src/tables/bom/BomTable.tsx:246 +#: src/tables/bom/BomTable.tsx:249 #: src/tables/build/BuildLineTable.tsx:195 msgid "Consumable item" msgstr "" -#: src/tables/bom/BomTable.tsx:267 +#: src/tables/bom/BomTable.tsx:270 msgid "Show trackable items" msgstr "" -#: src/tables/bom/BomTable.tsx:272 +#: src/tables/bom/BomTable.tsx:275 msgid "Show asssmbled items" msgstr "" -#: src/tables/bom/BomTable.tsx:277 +#: src/tables/bom/BomTable.tsx:280 msgid "Show items with available stock" msgstr "" -#: src/tables/bom/BomTable.tsx:282 +#: src/tables/bom/BomTable.tsx:285 msgid "Show items on order" msgstr "" -#: src/tables/bom/BomTable.tsx:286 +#: src/tables/bom/BomTable.tsx:289 msgid "Validated" msgstr "" -#: src/tables/bom/BomTable.tsx:287 +#: src/tables/bom/BomTable.tsx:290 msgid "Show validated items" msgstr "" -#: src/tables/bom/BomTable.tsx:291 +#: src/tables/bom/BomTable.tsx:294 #: src/tables/bom/UsedInTable.tsx:63 msgid "Inherited" msgstr "" -#: src/tables/bom/BomTable.tsx:292 +#: src/tables/bom/BomTable.tsx:295 #: src/tables/bom/UsedInTable.tsx:64 msgid "Show inherited items" msgstr "" -#: src/tables/bom/BomTable.tsx:296 +#: src/tables/bom/BomTable.tsx:299 msgid "Allow Variants" msgstr "" -#: src/tables/bom/BomTable.tsx:297 +#: src/tables/bom/BomTable.tsx:300 msgid "Show items which allow variant substitution" msgstr "" #: src/tables/bom/BomTable.tsx:301 +#~ msgid "Create BOM Item" +#~ msgstr "Create BOM Item" + +#: src/tables/bom/BomTable.tsx:304 #: src/tables/bom/UsedInTable.tsx:68 #: src/tables/build/BuildLineTable.tsx:46 msgid "Optional" msgstr "" -#: src/tables/bom/BomTable.tsx:301 -#~ msgid "Create BOM Item" -#~ msgstr "Create BOM Item" - -#: src/tables/bom/BomTable.tsx:302 +#: src/tables/bom/BomTable.tsx:305 #: src/tables/bom/UsedInTable.tsx:69 msgid "Show optional items" msgstr "" -#: src/tables/bom/BomTable.tsx:306 +#: src/tables/bom/BomTable.tsx:309 #: src/tables/build/BuildLineTable.tsx:41 msgid "Consumable" msgstr "" -#: src/tables/bom/BomTable.tsx:307 +#: src/tables/bom/BomTable.tsx:310 msgid "Show consumable items" msgstr "" -#: src/tables/bom/BomTable.tsx:311 -#: src/tables/part/PartTable.tsx:250 +#: src/tables/bom/BomTable.tsx:314 +#: src/tables/part/PartTable.tsx:257 msgid "Has Pricing" msgstr "" -#: src/tables/bom/BomTable.tsx:312 +#: src/tables/bom/BomTable.tsx:315 msgid "Show items with pricing" msgstr "" -#: src/tables/bom/BomTable.tsx:321 -#: src/tables/bom/BomTable.tsx:420 +#: src/tables/bom/BomTable.tsx:324 +#: src/tables/bom/BomTable.tsx:426 msgid "Add BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:326 +#: src/tables/bom/BomTable.tsx:329 msgid "BOM item created" msgstr "" @@ -5097,23 +5245,23 @@ msgstr "" #~ msgid "Edit Bom Item" #~ msgstr "Edit Bom Item" -#: src/tables/bom/BomTable.tsx:333 -msgid "Edit BOM Item" -msgstr "" - #: src/tables/bom/BomTable.tsx:333 #~ msgid "Bom item updated" #~ msgstr "Bom item updated" -#: src/tables/bom/BomTable.tsx:335 +#: src/tables/bom/BomTable.tsx:336 +msgid "Edit BOM Item" +msgstr "" + +#: src/tables/bom/BomTable.tsx:338 msgid "BOM item updated" msgstr "" -#: src/tables/bom/BomTable.tsx:342 +#: src/tables/bom/BomTable.tsx:345 msgid "Delete BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:343 +#: src/tables/bom/BomTable.tsx:346 msgid "BOM item deleted" msgstr "" @@ -5133,32 +5281,41 @@ msgstr "" #~ msgid "Validate BOM line" #~ msgstr "Validate BOM line" -#: src/tables/bom/BomTable.tsx:355 +#: src/tables/bom/BomTable.tsx:358 msgid "BOM item validated" msgstr "" -#: src/tables/bom/BomTable.tsx:364 +#: src/tables/bom/BomTable.tsx:367 msgid "Failed to validate BOM item" msgstr "" -#: src/tables/bom/BomTable.tsx:376 +#: src/tables/bom/BomTable.tsx:379 msgid "View BOM" msgstr "" -#: src/tables/bom/BomTable.tsx:385 +#: src/tables/bom/BomTable.tsx:388 msgid "Validate BOM Line" msgstr "" -#: src/tables/bom/BomTable.tsx:399 +#: src/tables/bom/BomTable.tsx:405 msgid "Edit Substitutes" msgstr "" +#: src/tables/bom/BomTable.tsx:440 +#: src/tables/part/PartParameterTable.tsx:191 +msgid "Part is Locked" +msgstr "" + +#: src/tables/bom/BomTable.tsx:445 +msgid "Bill of materials cannot be edited, as the part is locked" +msgstr "" + #: src/tables/bom/UsedInTable.tsx:74 msgid "Show active assemblies" msgstr "" #: src/tables/bom/UsedInTable.tsx:78 -#: src/tables/part/PartTable.tsx:192 +#: src/tables/part/PartTable.tsx:199 #: src/tables/part/PartVariantTable.tsx:30 msgid "Trackable" msgstr "" @@ -5168,7 +5325,7 @@ msgid "Show trackable assemblies" msgstr "" #: src/tables/build/BuildLineTable.tsx:31 -#: src/tables/stock/StockItemTable.tsx:270 +#: src/tables/stock/StockItemTable.tsx:292 msgid "Allocated" msgstr "" @@ -5189,7 +5346,7 @@ msgid "Show optional lines" msgstr "" #: src/tables/build/BuildLineTable.tsx:51 -#: src/tables/stock/StockItemTable.tsx:329 +#: src/tables/stock/StockItemTable.tsx:351 msgid "Tracked" msgstr "" @@ -5302,10 +5459,6 @@ msgstr "" msgid "Deallocate stock from build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:205 -msgid "Complete" -msgstr "" - #: src/tables/build/BuildOutputTable.tsx:206 msgid "Complete build output" msgstr "" @@ -5635,7 +5788,7 @@ msgid "Message" msgstr "" #: src/tables/part/ParametricPartTable.tsx:76 -#: src/tables/part/PartParameterTable.tsx:88 +#: src/tables/part/PartParameterTable.tsx:95 msgid "Internal Units" msgstr "" @@ -5648,13 +5801,13 @@ msgid "Add Part Parameter" msgstr "" #: src/tables/part/ParametricPartTable.tsx:138 -#: src/tables/part/PartParameterTable.tsx:121 -#: src/tables/part/PartParameterTable.tsx:144 +#: src/tables/part/PartParameterTable.tsx:128 +#: src/tables/part/PartParameterTable.tsx:151 msgid "Edit Part Parameter" msgstr "" #: src/tables/part/PartCategoryTable.tsx:60 -#: src/tables/part/PartTable.tsx:180 +#: src/tables/part/PartTable.tsx:187 msgid "Include Subcategories" msgstr "" @@ -5667,7 +5820,7 @@ msgid "Show structural categories" msgstr "" #: src/tables/part/PartCategoryTable.tsx:70 -#: src/tables/part/PartTable.tsx:262 +#: src/tables/part/PartTable.tsx:269 msgid "Subscribed" msgstr "" @@ -5704,21 +5857,25 @@ msgstr "" #~ msgid "[{0}]" #~ msgstr "[{0}]" -#: src/tables/part/PartParameterTable.tsx:105 +#: src/tables/part/PartParameterTable.tsx:112 msgid "New Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:130 -#: src/tables/part/PartParameterTable.tsx:152 +#: src/tables/part/PartParameterTable.tsx:137 +#: src/tables/part/PartParameterTable.tsx:159 msgid "Delete Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:170 +#: src/tables/part/PartParameterTable.tsx:177 msgid "Add parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:191 -#: src/tables/stock/StockItemTable.tsx:300 +#: src/tables/part/PartParameterTable.tsx:196 +msgid "Part parameters cannot be edited, as the part is locked" +msgstr "" + +#: src/tables/part/PartParameterTable.tsx:210 +#: src/tables/stock/StockItemTable.tsx:322 msgid "Include Variants" msgstr "" @@ -5739,7 +5896,7 @@ msgid "Show templates with choices" msgstr "" #: src/tables/part/PartParameterTemplateTable.tsx:41 -#: src/tables/part/PartTable.tsx:198 +#: src/tables/part/PartTable.tsx:205 msgid "Has Units" msgstr "" @@ -5763,116 +5920,120 @@ msgstr "" msgid "Add parameter template" msgstr "" -#: src/tables/part/PartTable.tsx:67 +#: src/tables/part/PartTable.tsx:68 msgid "Minimum stock" msgstr "" -#: src/tables/part/PartTable.tsx:89 +#: src/tables/part/PartTable.tsx:90 msgid "Build Order Allocations" msgstr "" -#: src/tables/part/PartTable.tsx:98 +#: src/tables/part/PartTable.tsx:99 msgid "Sales Order Allocations" msgstr "Verkoopordertoewijzingen" -#: src/tables/part/PartTable.tsx:169 +#: src/tables/part/PartTable.tsx:170 msgid "Filter by part active status" msgstr "" -#: src/tables/part/PartTable.tsx:174 -#: src/tables/stock/StockItemTable.tsx:265 +#: src/tables/part/PartTable.tsx:176 +msgid "Filter by part locked status" +msgstr "" + +#: src/tables/part/PartTable.tsx:181 +#: src/tables/stock/StockItemTable.tsx:287 msgid "Assembly" msgstr "" -#: src/tables/part/PartTable.tsx:175 +#: src/tables/part/PartTable.tsx:182 msgid "Filter by assembly attribute" msgstr "" -#: src/tables/part/PartTable.tsx:181 +#: src/tables/part/PartTable.tsx:188 msgid "Include parts in subcategories" msgstr "" -#: src/tables/part/PartTable.tsx:187 +#: src/tables/part/PartTable.tsx:194 msgid "Filter by component attribute" msgstr "" -#: src/tables/part/PartTable.tsx:193 +#: src/tables/part/PartTable.tsx:200 msgid "Filter by trackable attribute" msgstr "" -#: src/tables/part/PartTable.tsx:199 +#: src/tables/part/PartTable.tsx:206 msgid "Filter by parts which have units" msgstr "" -#: src/tables/part/PartTable.tsx:204 +#: src/tables/part/PartTable.tsx:211 msgid "Has IPN" msgstr "" -#: src/tables/part/PartTable.tsx:205 +#: src/tables/part/PartTable.tsx:212 msgid "Filter by parts which have an internal part number" msgstr "" -#: src/tables/part/PartTable.tsx:210 +#: src/tables/part/PartTable.tsx:217 msgid "Has Stock" msgstr "" -#: src/tables/part/PartTable.tsx:211 +#: src/tables/part/PartTable.tsx:218 msgid "Filter by parts which have stock" msgstr "" -#: src/tables/part/PartTable.tsx:217 +#: src/tables/part/PartTable.tsx:224 msgid "Filter by parts which have low stock" msgstr "" -#: src/tables/part/PartTable.tsx:222 +#: src/tables/part/PartTable.tsx:229 msgid "Purchaseable" msgstr "" -#: src/tables/part/PartTable.tsx:223 +#: src/tables/part/PartTable.tsx:230 msgid "Filter by parts which are purchaseable" msgstr "" -#: src/tables/part/PartTable.tsx:228 +#: src/tables/part/PartTable.tsx:235 msgid "Salable" msgstr "" -#: src/tables/part/PartTable.tsx:229 +#: src/tables/part/PartTable.tsx:236 msgid "Filter by parts which are salable" msgstr "" -#: src/tables/part/PartTable.tsx:235 +#: src/tables/part/PartTable.tsx:242 msgid "Filter by parts which are virtual" msgstr "" -#: src/tables/part/PartTable.tsx:239 +#: src/tables/part/PartTable.tsx:246 msgid "Not Virtual" msgstr "" -#: src/tables/part/PartTable.tsx:244 +#: src/tables/part/PartTable.tsx:251 msgid "Is Template" msgstr "" -#: src/tables/part/PartTable.tsx:245 +#: src/tables/part/PartTable.tsx:252 msgid "Filter by parts which are templates" msgstr "" -#: src/tables/part/PartTable.tsx:251 +#: src/tables/part/PartTable.tsx:258 msgid "Filter by parts which have pricing information" msgstr "" -#: src/tables/part/PartTable.tsx:257 +#: src/tables/part/PartTable.tsx:264 msgid "Filter by parts which have available stock" msgstr "" -#: src/tables/part/PartTable.tsx:263 +#: src/tables/part/PartTable.tsx:270 msgid "Filter by parts to which the user is subscribed" msgstr "" -#: src/tables/part/PartTable.tsx:268 +#: src/tables/part/PartTable.tsx:275 msgid "Has Stocktake" msgstr "" -#: src/tables/part/PartTable.tsx:269 +#: src/tables/part/PartTable.tsx:276 msgid "Filter by parts which have stocktake information" msgstr "" @@ -6211,7 +6372,7 @@ msgid "Sample" msgstr "" #: src/tables/plugin/PluginListTable.tsx:578 -#: src/tables/stock/StockItemTable.tsx:305 +#: src/tables/stock/StockItemTable.tsx:327 msgid "Installed" msgstr "" @@ -6486,6 +6647,41 @@ msgstr "" msgid "Edit group" msgstr "" +#: src/tables/settings/ImportSessionTable.tsx:39 +msgid "Delete Import Session" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:45 +#: src/tables/settings/ImportSessionTable.tsx:132 +msgid "Create Import Session" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:70 +msgid "Uploaded" +msgstr "Uploaded" + +#: src/tables/settings/ImportSessionTable.tsx:80 +msgid "Imported Rows" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:110 +#: src/tables/settings/TemplateTable.tsx:276 +msgid "Model Type" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:111 +#: src/tables/settings/TemplateTable.tsx:277 +msgid "Filter by target model type" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:117 +msgid "Filter by import session status" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:123 +msgid "Filter by user" +msgstr "" + #: src/tables/settings/PendingTasksTable.tsx:36 msgid "Arguments" msgstr "" @@ -6502,7 +6698,7 @@ msgstr "" msgid "Delete Project Code" msgstr "" -#: src/tables/settings/ProjectCodeTable.tsx:94 +#: src/tables/settings/ProjectCodeTable.tsx:92 msgid "Add project code" msgstr "" @@ -6571,14 +6767,6 @@ msgstr "" 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 "" @@ -6701,149 +6889,153 @@ msgstr "" msgid "This stock item has been depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:255 +#: src/tables/stock/StockItemTable.tsx:247 +msgid "Stock Value" +msgstr "" + +#: src/tables/stock/StockItemTable.tsx:277 msgid "Show stock for active parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:260 +#: src/tables/stock/StockItemTable.tsx:282 msgid "Filter by stock status" msgstr "" -#: src/tables/stock/StockItemTable.tsx:266 +#: src/tables/stock/StockItemTable.tsx:288 msgid "Show stock for assmebled parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:271 +#: src/tables/stock/StockItemTable.tsx:293 msgid "Show items which have been allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:276 +#: src/tables/stock/StockItemTable.tsx:298 msgid "Show items which are available" msgstr "" -#: src/tables/stock/StockItemTable.tsx:280 +#: src/tables/stock/StockItemTable.tsx:302 #: src/tables/stock/StockLocationTable.tsx:42 msgid "Include Sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:281 +#: src/tables/stock/StockItemTable.tsx:303 msgid "Include stock in sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:285 +#: src/tables/stock/StockItemTable.tsx:307 msgid "Depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:286 +#: src/tables/stock/StockItemTable.tsx:308 msgid "Show depleted stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:291 +#: src/tables/stock/StockItemTable.tsx:313 msgid "Show items which are in stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:296 +#: src/tables/stock/StockItemTable.tsx:318 msgid "Show items which are in production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:301 +#: src/tables/stock/StockItemTable.tsx:323 msgid "Include stock items for variant parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:306 +#: src/tables/stock/StockItemTable.tsx:328 msgid "Show stock items which are installed in other items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:310 +#: src/tables/stock/StockItemTable.tsx:332 msgid "Sent to Customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:311 +#: src/tables/stock/StockItemTable.tsx:333 msgid "Show items which have been sent to a customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:315 +#: src/tables/stock/StockItemTable.tsx:337 msgid "Is Serialized" msgstr "" -#: src/tables/stock/StockItemTable.tsx:316 +#: src/tables/stock/StockItemTable.tsx:338 msgid "Show items which have a serial number" msgstr "" -#: src/tables/stock/StockItemTable.tsx:323 +#: src/tables/stock/StockItemTable.tsx:345 msgid "Has Batch Code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:324 +#: src/tables/stock/StockItemTable.tsx:346 msgid "Show items which have a batch code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:330 +#: src/tables/stock/StockItemTable.tsx:352 msgid "Show tracked items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:334 +#: src/tables/stock/StockItemTable.tsx:356 msgid "Has Purchase Price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:335 +#: src/tables/stock/StockItemTable.tsx:357 msgid "Show items which have a purchase price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:343 +#: src/tables/stock/StockItemTable.tsx:365 msgid "External Location" msgstr "" -#: src/tables/stock/StockItemTable.tsx:344 +#: src/tables/stock/StockItemTable.tsx:366 msgid "Show items in an external location" msgstr "" -#: src/tables/stock/StockItemTable.tsx:416 +#: src/tables/stock/StockItemTable.tsx:438 msgid "Add a new stock item" msgstr "" -#: src/tables/stock/StockItemTable.tsx:425 +#: src/tables/stock/StockItemTable.tsx:447 msgid "Remove some quantity from a stock item" msgstr "" -#: src/tables/stock/StockItemTable.tsx:447 +#: src/tables/stock/StockItemTable.tsx:469 msgid "Move Stock items to new locations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:454 +#: src/tables/stock/StockItemTable.tsx:476 msgid "Change stock status" msgstr "" -#: src/tables/stock/StockItemTable.tsx:456 +#: src/tables/stock/StockItemTable.tsx:478 msgid "Change the status of stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:463 +#: src/tables/stock/StockItemTable.tsx:485 msgid "Merge stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:465 +#: src/tables/stock/StockItemTable.tsx:487 msgid "Merge stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:472 +#: src/tables/stock/StockItemTable.tsx:494 msgid "Order stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:474 -#: src/tables/stock/StockItemTable.tsx:480 +#: src/tables/stock/StockItemTable.tsx:496 +#: src/tables/stock/StockItemTable.tsx:502 msgid "Order new stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:478 +#: src/tables/stock/StockItemTable.tsx:500 msgid "Assign to customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:487 +#: src/tables/stock/StockItemTable.tsx:509 msgid "Delete stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:489 +#: src/tables/stock/StockItemTable.tsx:511 msgid "Delete stock items" msgstr "" @@ -6999,4 +7191,3 @@ msgstr "" #: src/views/MobileAppView.tsx:35 msgid "Ignore and continue to Desktop view" msgstr "" - diff --git a/src/frontend/src/locales/no/messages.po b/src/frontend/src/locales/no/messages.po index 27e454436041..c17313efda9f 100644 --- a/src/frontend/src/locales/no/messages.po +++ b/src/frontend/src/locales/no/messages.po @@ -49,16 +49,18 @@ msgstr "" #: src/components/buttons/PrintingActions.tsx:107 #: src/components/buttons/PrintingActions.tsx:144 #: src/components/editors/NotesEditor.tsx:65 -#: src/components/editors/NotesEditor.tsx:160 -#: src/components/forms/ApiForm.tsx:506 -#: src/components/forms/fields/ApiFormField.tsx:295 +#: src/components/editors/NotesEditor.tsx:165 +#: src/components/forms/ApiForm.tsx:513 +#: src/components/forms/fields/ApiFormField.tsx:306 +#: src/components/importer/ImportDataSelector.tsx:171 +#: src/components/importer/ImporterColumnSelector.tsx:112 #: src/components/modals/LicenseModal.tsx:75 #: src/components/nav/SearchDrawer.tsx:427 #: src/pages/ErrorPage.tsx:11 #: src/pages/part/PartPricingPanel.tsx:71 -#: src/tables/InvenTreeTable.tsx:451 -#: src/tables/InvenTreeTable.tsx:526 -#: src/tables/bom/BomTable.tsx:363 +#: src/tables/InvenTreeTable.tsx:470 +#: src/tables/InvenTreeTable.tsx:545 +#: src/tables/bom/BomTable.tsx:366 #: src/tables/stock/StockItemTestResultTable.tsx:294 msgid "Error" msgstr "Feil" @@ -157,7 +159,7 @@ msgstr "Fjern" #: src/functions/forms.tsx:196 #: src/hooks/UseForm.tsx:40 #: src/tables/FilterSelectDrawer.tsx:204 -#: src/tables/InvenTreeTable.tsx:499 +#: src/tables/InvenTreeTable.tsx:518 #: src/tables/build/BuildOutputTable.tsx:225 msgid "Cancel" msgstr "Avbryt" @@ -175,7 +177,7 @@ msgid "Clear" msgstr "" #: src/components/details/DetailsImage.tsx:227 -#: src/components/forms/ApiForm.tsx:573 +#: src/components/forms/ApiForm.tsx:580 #: src/contexts/ThemeContext.tsx:43 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:56 msgid "Submit" @@ -202,48 +204,61 @@ msgid "Delete image" msgstr "" #: src/components/details/PartIcons.tsx:28 +#: src/tables/ColumnRenderers.tsx:35 +msgid "Part is locked" +msgstr "" + +#: src/components/details/PartIcons.tsx:30 +#: src/pages/part/PartDetail.tsx:267 +#: src/pages/part/PartDetail.tsx:698 +#: src/tables/part/PartTable.tsx:175 +msgid "Locked" +msgstr "" + +#: src/components/details/PartIcons.tsx:35 +#: src/tables/ColumnRenderers.tsx:30 msgid "Part is not active" msgstr "" -#: src/components/details/PartIcons.tsx:34 +#: src/components/details/PartIcons.tsx:37 #: src/components/render/Plugin.tsx:17 #: src/pages/company/CompanyDetail.tsx:315 #: src/pages/company/SupplierPartDetail.tsx:307 -#: src/pages/part/PartDetail.tsx:685 +#: src/pages/part/PartDetail.tsx:704 msgid "Inactive" msgstr "" -#: src/components/details/PartIcons.tsx:41 +#: src/components/details/PartIcons.tsx:43 msgid "Part is a template part (variants can be made from this part)" msgstr "" -#: src/components/details/PartIcons.tsx:47 +#: src/components/details/PartIcons.tsx:49 msgid "Part can be assembled from other parts" msgstr "" -#: src/components/details/PartIcons.tsx:53 +#: src/components/details/PartIcons.tsx:55 msgid "Part can be used in assemblies" msgstr "" -#: src/components/details/PartIcons.tsx:59 +#: src/components/details/PartIcons.tsx:61 msgid "Part stock is tracked by serial number" msgstr "" -#: src/components/details/PartIcons.tsx:65 +#: src/components/details/PartIcons.tsx:67 msgid "Part can be purchased from external suppliers" msgstr "" -#: src/components/details/PartIcons.tsx:71 +#: src/components/details/PartIcons.tsx:73 msgid "Part can be sold to customers" msgstr "" -#: src/components/details/PartIcons.tsx:76 +#: src/components/details/PartIcons.tsx:78 msgid "Part is virtual (not a physical part)" msgstr "" -#: src/components/details/PartIcons.tsx:82 -#: src/tables/part/PartTable.tsx:234 -#: src/tables/part/PartTable.tsx:238 +#: src/components/details/PartIcons.tsx:84 +#: src/tables/part/PartTable.tsx:241 +#: src/tables/part/PartTable.tsx:245 #: src/tables/part/PartVariantTable.tsx:25 msgid "Virtual" msgstr "Virtuell" @@ -252,29 +267,29 @@ msgstr "Virtuell" msgid "Image upload failed" msgstr "" -#: src/components/editors/NotesEditor.tsx:151 -#: src/components/forms/ApiForm.tsx:430 -#: src/tables/bom/BomTable.tsx:354 +#: src/components/editors/NotesEditor.tsx:156 +#: src/components/forms/ApiForm.tsx:437 +#: src/tables/bom/BomTable.tsx:357 msgid "Success" msgstr "Suksess" -#: src/components/editors/NotesEditor.tsx:152 +#: src/components/editors/NotesEditor.tsx:157 msgid "Notes saved successfully" msgstr "" -#: src/components/editors/NotesEditor.tsx:161 +#: src/components/editors/NotesEditor.tsx:166 msgid "Failed to save notes" msgstr "Kunne ikke lagre notater" -#: src/components/editors/NotesEditor.tsx:193 +#: src/components/editors/NotesEditor.tsx:198 msgid "Preview Notes" msgstr "" -#: src/components/editors/NotesEditor.tsx:193 +#: src/components/editors/NotesEditor.tsx:198 msgid "Edit Notes" msgstr "" -#: src/components/editors/NotesEditor.tsx:207 +#: src/components/editors/NotesEditor.tsx:212 msgid "Save Notes" msgstr "" @@ -407,7 +422,7 @@ msgstr "" msgid "A server error occurred" msgstr "" -#: src/components/forms/ApiForm.tsx:149 +#: src/components/forms/ApiForm.tsx:151 #: src/functions/forms.tsx:259 msgid "Form Error" msgstr "Skjemafeil" @@ -416,18 +431,18 @@ msgstr "Skjemafeil" #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:611 +#: src/components/forms/ApiForm.tsx:618 #: src/tables/plugin/PluginListTable.tsx:388 msgid "Update" msgstr "Oppdater" -#: src/components/forms/ApiForm.tsx:631 +#: src/components/forms/ApiForm.tsx:638 #: 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:498 +#: src/tables/InvenTreeTable.tsx:517 #: src/tables/RowActions.tsx:71 #: src/tables/plugin/PluginListTable.tsx:420 msgid "Delete" @@ -600,7 +615,7 @@ msgstr "Vert" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:70 #: src/pages/part/CategoryDetail.tsx:80 -#: src/pages/part/PartDetail.tsx:122 +#: src/pages/part/PartDetail.tsx:123 #: src/pages/stock/LocationDetail.tsx:87 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 @@ -685,6 +700,124 @@ msgstr "" msgid "Thumbnail" msgstr "Miniatyrbilde" +#: src/components/importer/ImportDataSelector.tsx:154 +msgid "Importing Rows" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:155 +msgid "Please wait while the data is imported" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:172 +msgid "An error occurred while importing data" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:191 +msgid "Edit Data" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:218 +msgid "Delete Row" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:248 +msgid "Row" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:266 +msgid "Row contains errors" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:307 +msgid "Accept" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:340 +msgid "Valid" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:341 +msgid "Filter by row validation status" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:346 +#: src/tables/build/BuildOutputTable.tsx:205 +msgid "Complete" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:347 +msgid "Filter by row completion status" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:364 +msgid "Import selected rows" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:46 +#: src/components/importer/ImporterColumnSelector.tsx:85 +msgid "An error occurred" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:57 +msgid "Select column, or leave blank to ignore this field." +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:91 +msgid "Select a column from the data file" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:104 +msgid "Map data columns to database fields" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:109 +msgid "Accept Column Mapping" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:117 +msgid "Database Field" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:118 +msgid "Field Description" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:119 +msgid "Imported Column Name" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:44 +msgid "Import Data" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:45 +msgid "Map Columns" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:46 +msgid "Process Data" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:47 +msgid "Complete Import" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:91 +msgid "Importing Data" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:97 +msgid "Cancel import session" +msgstr "" + +#: src/components/importer/ImporterImportProgress.tsx:36 +msgid "Importing Records" +msgstr "" + +#: src/components/importer/ImporterImportProgress.tsx:39 +msgid "Imported rows" +msgstr "" + #: src/components/items/ActionDropdown.tsx:119 #: src/pages/build/BuildDetail.tsx:358 msgid "Barcode Actions" @@ -738,7 +871,7 @@ msgid "Read More" msgstr "Les mer" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:443 +#: src/tables/InvenTreeTable.tsx:462 msgid "Unknown error" msgstr "Ukjent feil" @@ -1039,13 +1172,13 @@ msgstr "Kontoinnstillinger" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:313 +#: src/pages/Index/Settings/SystemSettings.tsx:314 msgid "System Settings" msgstr "Systeminnstillinger" #: src/components/nav/MainMenu.tsx:67 #: src/defaults/menuItems.tsx:63 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:198 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:209 msgid "Admin Center" msgstr "Adminsenter" @@ -1088,7 +1221,7 @@ msgid "Pages" msgstr "Sider" #: src/components/nav/NavigationDrawer.tsx:65 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:157 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:168 #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:41 msgid "Plugins" msgstr "Utvidelser" @@ -1102,7 +1235,7 @@ msgstr "Dokumentasjon" msgid "About" msgstr "Om" -#: src/components/nav/NotificationDrawer.tsx:78 +#: src/components/nav/NotificationDrawer.tsx:81 #: src/pages/Index/Settings/SystemSettings.tsx:108 #: src/pages/Index/Settings/UserSettings.tsx:96 #: src/pages/Notifications.tsx:65 @@ -1110,17 +1243,17 @@ msgstr "Om" msgid "Notifications" msgstr "Varlser" -#: src/components/nav/NotificationDrawer.tsx:95 +#: src/components/nav/NotificationDrawer.tsx:98 msgid "You have no unread notifications." msgstr "Du har ingen uleste varsler." -#: src/components/nav/NotificationDrawer.tsx:111 -#: src/components/nav/NotificationDrawer.tsx:117 +#: src/components/nav/NotificationDrawer.tsx:114 +#: src/components/nav/NotificationDrawer.tsx:120 #: src/tables/notifications/NotificationsTable.tsx:36 msgid "Notification" msgstr "Varsel" -#: src/components/nav/NotificationDrawer.tsx:140 +#: src/components/nav/NotificationDrawer.tsx:143 #: src/pages/Notifications.tsx:73 msgid "Mark as read" msgstr "Merk som lest" @@ -1157,7 +1290,7 @@ msgstr "Ingen resultater" msgid "No results available for search query" msgstr "Ingen resultater tilgjengelig for søk" -#: src/components/render/Instance.tsx:166 +#: src/components/render/Instance.tsx:201 msgid "Unknown model: {model}" msgstr "Ukjent modell: {model}" @@ -1172,7 +1305,8 @@ msgstr "Ukjent modell: {model}" #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 #: src/pages/build/BuildDetail.tsx:85 -#: src/pages/part/PartDetail.tsx:831 +#: src/pages/part/PartDetail.tsx:872 +#: src/tables/part/PartTable.tsx:28 #: src/tables/part/RelatedPartTable.tsx:45 #: src/tables/stock/StockTrackingTable.tsx:74 msgid "Part" @@ -1185,7 +1319,7 @@ msgstr "Del" #: src/pages/part/CategoryDetail.tsx:112 #: src/pages/part/CategoryDetail.tsx:237 #: src/pages/part/CategoryDetail.tsx:267 -#: src/pages/part/PartDetail.tsx:639 +#: src/pages/part/PartDetail.tsx:652 msgid "Parts" msgstr "Deler" @@ -1235,7 +1369,7 @@ msgstr "Delkategori" #: src/pages/Index/Settings/SystemSettings.tsx:172 #: src/pages/part/CategoryDetail.tsx:251 #: src/pages/part/CategoryDetail.tsx:288 -#: src/pages/part/PartDetail.tsx:821 +#: src/pages/part/PartDetail.tsx:862 msgid "Part Categories" msgstr "Delkategorier" @@ -1317,7 +1451,7 @@ msgid "Project Code" msgstr "Prosjektkode" #: src/components/render/ModelType.tsx:127 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:109 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:120 msgid "Project Codes" msgstr "Prosjektkoder" @@ -1329,10 +1463,10 @@ msgid "Purchase Order" msgstr "Innkjøpsordre" #: src/components/render/ModelType.tsx:134 -#: src/pages/Index/Settings/SystemSettings.tsx:257 +#: src/pages/Index/Settings/SystemSettings.tsx:258 #: src/pages/company/CompanyDetail.tsx:194 #: src/pages/company/SupplierPartDetail.tsx:226 -#: src/pages/part/PartDetail.tsx:573 +#: src/pages/part/PartDetail.tsx:586 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "Innkjøpsordrer" @@ -1354,9 +1488,9 @@ msgid "Sales Order" msgstr "Salgsordre" #: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:272 +#: src/pages/Index/Settings/SystemSettings.tsx:273 #: src/pages/company/CompanyDetail.tsx:214 -#: src/pages/part/PartDetail.tsx:580 +#: src/pages/part/PartDetail.tsx:593 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "Salgsordrer" @@ -1376,7 +1510,7 @@ msgid "Return Order" msgstr "Returordre" #: src/components/render/ModelType.tsx:164 -#: src/pages/Index/Settings/SystemSettings.tsx:288 +#: src/pages/Index/Settings/SystemSettings.tsx:289 #: src/pages/company/CompanyDetail.tsx:221 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1413,40 +1547,49 @@ msgid "Owners" msgstr "Eiere" #: src/components/render/ModelType.tsx:193 +#: src/tables/settings/ImportSessionTable.tsx:122 #: src/tables/stock/StockItemTestResultTable.tsx:193 #: src/tables/stock/StockTrackingTable.tsx:195 msgid "User" msgstr "Bruker" #: src/components/render/ModelType.tsx:194 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:85 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:90 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" msgstr "Brukere" #: src/components/render/ModelType.tsx:200 -msgid "Label Template" +msgid "Import Session" msgstr "" #: src/components/render/ModelType.tsx:201 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:139 -msgid "Label Templates" +msgid "Import Sessions" msgstr "" #: src/components/render/ModelType.tsx:207 -msgid "Report Template" +msgid "Label Template" msgstr "" #: src/components/render/ModelType.tsx:208 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:145 -msgid "Report Templates" +#: src/pages/Index/Settings/AdminCenter/Index.tsx:150 +msgid "Label Templates" msgstr "" #: src/components/render/ModelType.tsx:214 -msgid "Plugin Configuration" +msgid "Report Template" msgstr "" #: src/components/render/ModelType.tsx:215 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:156 +msgid "Report Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:221 +msgid "Plugin Configuration" +msgstr "" + +#: src/components/render/ModelType.tsx:222 msgid "Plugin Configurations" msgstr "" @@ -1458,7 +1601,7 @@ msgstr "Forsendelse" #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 #: src/pages/Index/Settings/SystemSettings.tsx:210 -#: src/pages/part/PartDetail.tsx:492 +#: src/pages/part/PartDetail.tsx:503 #: src/pages/stock/LocationDetail.tsx:347 #: src/pages/stock/StockDetail.tsx:356 #: src/tables/stock/StockItemTable.tsx:57 @@ -1641,10 +1784,6 @@ msgstr "" #~ msgid "Comment" #~ msgstr "Comment" -#: src/components/tables/general/AttachmentTable.tsx:56 -#~ msgid "Uploaded" -#~ msgstr "Uploaded" - #: src/components/tables/part/PartCategoryTable.tsx:122 #~ msgid "Part category updated" #~ msgstr "Part category updated" @@ -2157,7 +2296,7 @@ msgid "Recently Updated" msgstr "Nylig oppdatert" #: src/defaults/dashboardItems.tsx:50 -#: src/tables/part/PartTable.tsx:216 +#: src/tables/part/PartTable.tsx:223 msgid "Low Stock" msgstr "Lav lagerbeholdning" @@ -2466,7 +2605,7 @@ msgstr "" #~ msgid "Company updated" #~ msgstr "Company updated" -#: src/forms/PartForms.tsx:100 +#: src/forms/PartForms.tsx:103 msgid "Parent part category" msgstr "Overordnet del-kategori" @@ -2534,7 +2673,7 @@ msgstr "" #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 #: src/pages/stock/StockDetail.tsx:173 -#: src/tables/ColumnRenderers.tsx:34 +#: src/tables/ColumnRenderers.tsx:49 #: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" msgstr "" @@ -2585,8 +2724,8 @@ msgstr "Angi serienumre for ny lagerbeholdning (eller la stå tom)" #: src/forms/StockForms.tsx:176 #: src/pages/stock/StockDetail.tsx:379 -#: src/tables/stock/StockItemTable.tsx:382 -#: src/tables/stock/StockItemTable.tsx:499 +#: src/tables/stock/StockItemTable.tsx:404 +#: src/tables/stock/StockItemTable.tsx:521 msgid "Add Stock Item" msgstr "" @@ -2606,9 +2745,9 @@ msgstr "" #: src/forms/StockForms.tsx:606 #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 -#: src/pages/part/PartDetail.tsx:202 -#: src/pages/part/PartDetail.tsx:655 -#: src/tables/stock/StockItemTable.tsx:290 +#: src/pages/part/PartDetail.tsx:203 +#: src/pages/part/PartDetail.tsx:668 +#: src/tables/stock/StockItemTable.tsx:312 msgid "In Stock" msgstr "På lager" @@ -2649,12 +2788,12 @@ msgid "Remove Stock" msgstr "" #: src/forms/StockForms.tsx:803 -#: src/pages/part/PartDetail.tsx:782 +#: src/pages/part/PartDetail.tsx:823 msgid "Transfer Stock" msgstr "Overfør lager" #: src/forms/StockForms.tsx:812 -#: src/pages/part/PartDetail.tsx:771 +#: src/pages/part/PartDetail.tsx:812 msgid "Count Stock" msgstr "Tell beholdning" @@ -3279,53 +3418,57 @@ msgstr "Laster" #~ msgid "Advanced Amininistrative Options for InvenTree" #~ msgstr "Advanced Amininistrative Options for InvenTree" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:91 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:96 +msgid "Data Import" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:102 msgid "Background Tasks" msgstr "Bakgrunnsoppgaver" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:97 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:108 msgid "Error Reports" msgstr "Feilrapporter" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:103 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:114 msgid "Currencies" 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:132 msgid "Custom Units" msgstr "Egendefinerte enheter" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:138 #: src/pages/part/CategoryDetail.tsx:257 msgid "Part Parameters" msgstr "Delparametere" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 -#~ msgid "Templates" -#~ msgstr "Templates" - -#: src/pages/Index/Settings/AdminCenter/Index.tsx:133 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:144 msgid "Category Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:151 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:162 msgid "Location types" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:163 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:174 #: src/tables/machine/MachineTypeTable.tsx:287 msgid "Machines" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:173 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:184 msgid "Quick Actions" msgstr "Hurtighandlinger" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:178 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:189 msgid "Add a new user" msgstr "Legg til en ny bruker" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:199 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:210 msgid "Advanced Options" msgstr "Avanserte Innstillinger" @@ -3477,7 +3620,7 @@ msgid "Reporting" msgstr "Rapportering" #: src/pages/Index/Settings/SystemSettings.tsx:235 -#: src/pages/part/PartDetail.tsx:593 +#: src/pages/part/PartDetail.tsx:606 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "Lagertelling" @@ -3485,12 +3628,12 @@ msgstr "Lagertelling" #: src/pages/Index/Settings/SystemSettings.tsx:241 #: src/pages/build/BuildDetail.tsx:423 #: src/pages/build/BuildIndex.tsx:14 -#: src/pages/part/PartDetail.tsx:527 +#: src/pages/part/PartDetail.tsx:540 #: src/pages/sales/SalesOrderDetail.tsx:270 msgid "Build Orders" msgstr "Produksjonsordrer" -#: src/pages/Index/Settings/SystemSettings.tsx:316 +#: src/pages/Index/Settings/SystemSettings.tsx:317 msgid "Switch to User Setting" msgstr "Bytt til brukerinnstilling" @@ -3555,7 +3698,8 @@ msgstr "Marker som ulest" #: 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/settings/ImportSessionTable.tsx:116 +#: src/tables/stock/StockItemTable.tsx:281 #: src/tables/stock/StockTrackingTable.tsx:52 msgid "Status" msgstr "Status" @@ -3564,7 +3708,7 @@ msgstr "Status" #: src/pages/purchasing/PurchaseOrderDetail.tsx:104 #: src/pages/sales/ReturnOrderDetail.tsx:73 #: src/pages/sales/SalesOrderDetail.tsx:77 -#: src/tables/ColumnRenderers.tsx:106 +#: src/tables/ColumnRenderers.tsx:121 #: src/tables/build/BuildLineTable.tsx:140 msgid "Reference" msgstr "" @@ -3574,12 +3718,12 @@ msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:78 #: src/pages/company/SupplierPartDetail.tsx:85 #: src/pages/part/CategoryDetail.tsx:94 -#: src/pages/part/PartDetail.tsx:129 +#: src/pages/part/PartDetail.tsx:130 #: src/pages/purchasing/PurchaseOrderDetail.tsx:125 #: src/pages/sales/ReturnOrderDetail.tsx:93 #: src/pages/sales/SalesOrderDetail.tsx:97 #: src/pages/stock/LocationDetail.tsx:101 -#: src/tables/ColumnRenderers.tsx:66 +#: src/tables/ColumnRenderers.tsx:81 #: src/tables/machine/MachineTypeTable.tsx:69 #: src/tables/machine/MachineTypeTable.tsx:112 #: src/tables/machine/MachineTypeTable.tsx:219 @@ -3610,7 +3754,7 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:152 -#: src/pages/part/PartDetail.tsx:317 +#: src/pages/part/PartDetail.tsx:323 #: src/pages/purchasing/PurchaseOrderDetail.tsx:217 #: src/pages/sales/ReturnOrderDetail.tsx:186 #: src/pages/sales/SalesOrderDetail.tsx:190 @@ -3630,7 +3774,7 @@ msgstr "Opprettet" #: src/pages/purchasing/PurchaseOrderDetail.tsx:210 #: src/pages/sales/ReturnOrderDetail.tsx:179 #: src/pages/sales/SalesOrderDetail.tsx:183 -#: src/tables/ColumnRenderers.tsx:191 +#: src/tables/ColumnRenderers.tsx:206 msgid "Target Date" msgstr "Måldato" @@ -3711,7 +3855,7 @@ msgstr "Underordnede Produksjonsordrer" #: src/pages/build/BuildDetail.tsx:297 #: src/pages/company/CompanyDetail.tsx:257 #: src/pages/company/ManufacturerPartDetail.tsx:174 -#: src/pages/part/PartDetail.tsx:616 +#: src/pages/part/PartDetail.tsx:629 #: src/pages/purchasing/PurchaseOrderDetail.tsx:279 #: src/pages/sales/ReturnOrderDetail.tsx:230 #: src/pages/sales/SalesOrderDetail.tsx:280 @@ -3721,7 +3865,7 @@ msgstr "Vedlegg" #: src/pages/build/BuildDetail.tsx:305 #: src/pages/company/CompanyDetail.tsx:268 -#: src/pages/part/PartDetail.tsx:624 +#: src/pages/part/PartDetail.tsx:637 #: src/pages/purchasing/PurchaseOrderDetail.tsx:290 #: src/pages/sales/ReturnOrderDetail.tsx:241 #: src/pages/sales/SalesOrderDetail.tsx:291 @@ -3877,12 +4021,12 @@ msgid "Manufacturer Part Details" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:148 -#: src/pages/part/PartDetail.tsx:486 +#: src/pages/part/PartDetail.tsx:492 msgid "Parameters" msgstr "Parametere" #: src/pages/company/ManufacturerPartDetail.tsx:160 -#: src/pages/part/PartDetail.tsx:560 +#: src/pages/part/PartDetail.tsx:573 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" msgstr "Leverandører" @@ -3907,7 +4051,7 @@ msgid "ManufacturerPart" msgstr "" #: src/pages/company/SupplierPartDetail.tsx:99 -#: src/tables/ColumnRenderers.tsx:117 +#: src/tables/ColumnRenderers.tsx:132 msgid "Note" msgstr "" @@ -4043,275 +4187,275 @@ msgstr "" msgid "Category Details" msgstr "" -#: src/pages/part/PartDetail.tsx:135 +#: src/pages/part/PartDetail.tsx:136 msgid "Variant of" msgstr "" -#: src/pages/part/PartDetail.tsx:142 +#: src/pages/part/PartDetail.tsx:143 #: src/tables/notifications/NotificationsTable.tsx:31 #: src/tables/part/PartCategoryTemplateTable.tsx:67 msgid "Category" msgstr "Kategori" -#: src/pages/part/PartDetail.tsx:148 +#: src/pages/part/PartDetail.tsx:149 msgid "Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:155 +#: src/pages/part/PartDetail.tsx:156 msgid "Category Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:162 +#: src/pages/part/PartDetail.tsx:163 msgid "IPN" msgstr "IPN" -#: src/pages/part/PartDetail.tsx:169 +#: src/pages/part/PartDetail.tsx:170 msgid "Revision" msgstr "" -#: src/pages/part/PartDetail.tsx:176 +#: src/pages/part/PartDetail.tsx:177 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" msgstr "Enheter" -#: src/pages/part/PartDetail.tsx:183 +#: src/pages/part/PartDetail.tsx:184 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" msgstr "Nøkkelord" -#: src/pages/part/PartDetail.tsx:190 +#: src/pages/part/PartDetail.tsx:191 #: src/pages/purchasing/PurchaseOrderDetail.tsx:183 #: src/pages/sales/ReturnOrderDetail.tsx:152 #: src/pages/sales/SalesOrderDetail.tsx:156 msgid "Link" msgstr "Lenke" -#: src/pages/part/PartDetail.tsx:208 -#: src/tables/bom/BomTable.tsx:276 +#: src/pages/part/PartDetail.tsx:209 +#: src/tables/bom/BomTable.tsx:279 #: src/tables/build/BuildLineTable.tsx:121 -#: src/tables/part/PartTable.tsx:256 +#: src/tables/part/PartTable.tsx:263 msgid "Available Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:215 +#: src/pages/part/PartDetail.tsx:216 msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:221 -#: src/tables/bom/BomTable.tsx:217 +#: src/pages/part/PartDetail.tsx:222 +#: src/tables/bom/BomTable.tsx:220 #: src/tables/build/BuildLineTable.tsx:95 msgid "On order" msgstr "I bestilling" -#: src/pages/part/PartDetail.tsx:230 +#: src/pages/part/PartDetail.tsx:231 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:238 +#: src/pages/part/PartDetail.tsx:239 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:245 -#: src/tables/bom/BomTable.tsx:241 +#: src/pages/part/PartDetail.tsx:246 +#: src/tables/bom/BomTable.tsx:244 msgid "Can Build" msgstr "Kan Produsere" -#: src/pages/part/PartDetail.tsx:252 -#: src/tables/bom/BomTable.tsx:225 -#: src/tables/part/PartTable.tsx:82 +#: src/pages/part/PartDetail.tsx:253 +#: src/tables/bom/BomTable.tsx:228 +#: src/tables/part/PartTable.tsx:83 msgid "Building" msgstr "Produseres" -#: src/pages/part/PartDetail.tsx:261 +#: src/pages/part/PartDetail.tsx:262 #: src/tables/bom/UsedInTable.tsx:73 #: src/tables/build/BuildOrderTable.tsx:108 #: src/tables/company/CompanyTable.tsx:61 #: src/tables/company/CompanyTable.tsx:95 #: src/tables/machine/MachineListTable.tsx:323 #: src/tables/machine/MachineListTable.tsx:585 -#: src/tables/part/PartTable.tsx:168 +#: src/tables/part/PartTable.tsx:169 #: src/tables/part/PartVariantTable.tsx:15 #: 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 +#: src/tables/stock/StockItemTable.tsx:276 msgid "Active" msgstr "Aktiv" -#: src/pages/part/PartDetail.tsx:266 +#: src/pages/part/PartDetail.tsx:272 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:271 -#: src/tables/bom/BomTable.tsx:271 +#: src/pages/part/PartDetail.tsx:277 +#: src/tables/bom/BomTable.tsx:274 msgid "Assembled Part" msgstr "Sammenstilt del" -#: src/pages/part/PartDetail.tsx:276 +#: src/pages/part/PartDetail.tsx:282 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:281 -#: src/tables/bom/BomTable.tsx:266 +#: src/pages/part/PartDetail.tsx:287 +#: src/tables/bom/BomTable.tsx:269 msgid "Trackable Part" msgstr "Sporbar del" -#: src/pages/part/PartDetail.tsx:286 +#: src/pages/part/PartDetail.tsx:292 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:291 +#: src/pages/part/PartDetail.tsx:297 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:296 +#: src/pages/part/PartDetail.tsx:302 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:304 -#: src/tables/ColumnRenderers.tsx:199 +#: src/pages/part/PartDetail.tsx:310 +#: src/tables/ColumnRenderers.tsx:214 msgid "Creation Date" msgstr "Opprettelsesdato" -#: src/pages/part/PartDetail.tsx:309 -msgid "Created By" -msgstr "" - #: src/pages/part/PartDetail.tsx:310 #~ msgid "Edit part" #~ msgstr "Edit part" +#: src/pages/part/PartDetail.tsx:315 +msgid "Created By" +msgstr "" + #: src/pages/part/PartDetail.tsx:322 #~ msgid "Duplicate part" #~ msgstr "Duplicate part" -#: src/pages/part/PartDetail.tsx:324 -msgid "Default Supplier" -msgstr "" - #: src/pages/part/PartDetail.tsx:327 #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:335 +#: src/pages/part/PartDetail.tsx:330 +msgid "Default Supplier" +msgstr "" + +#: src/pages/part/PartDetail.tsx:341 #: src/pages/part/pricing/BomPricingPanel.tsx:78 #: src/pages/part/pricing/VariantPricingPanel.tsx:95 -#: src/tables/part/PartTable.tsx:151 +#: src/tables/part/PartTable.tsx:152 msgid "Price Range" msgstr "Prisområde" -#: src/pages/part/PartDetail.tsx:374 +#: src/pages/part/PartDetail.tsx:380 #: src/pages/stock/StockDetail.tsx:133 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:409 +#: src/pages/part/PartDetail.tsx:415 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:480 +#: src/pages/part/PartDetail.tsx:486 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:506 +#: src/pages/part/PartDetail.tsx:517 msgid "Variants" msgstr "Varianter" -#: src/pages/part/PartDetail.tsx:513 +#: src/pages/part/PartDetail.tsx:524 #: src/pages/stock/StockDetail.tsx:286 msgid "Allocations" msgstr "Tildelinger" -#: src/pages/part/PartDetail.tsx:520 +#: src/pages/part/PartDetail.tsx:531 msgid "Bill of Materials" msgstr "Stykkliste (BOM)" -#: src/pages/part/PartDetail.tsx:534 +#: src/pages/part/PartDetail.tsx:547 msgid "Used In" msgstr "Brukt i" -#: src/pages/part/PartDetail.tsx:541 +#: src/pages/part/PartDetail.tsx:554 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:547 +#: src/pages/part/PartDetail.tsx:560 #: src/pages/purchasing/PurchasingIndex.tsx:37 msgid "Manufacturers" msgstr "Produsenter" -#: src/pages/part/PartDetail.tsx:587 +#: src/pages/part/PartDetail.tsx:600 msgid "Scheduling" msgstr "Planlegging" -#: src/pages/part/PartDetail.tsx:599 +#: src/pages/part/PartDetail.tsx:612 msgid "Test Templates" msgstr "Testmaler" -#: src/pages/part/PartDetail.tsx:610 +#: src/pages/part/PartDetail.tsx:623 msgid "Related Parts" msgstr "Relaterte Deler" -#: src/pages/part/PartDetail.tsx:661 +#: src/pages/part/PartDetail.tsx:674 #: src/pages/stock/StockDetail.tsx:154 #: src/pages/stock/StockDetail.tsx:533 #: src/tables/build/BuildLineTable.tsx:36 -#: src/tables/part/PartTable.tsx:107 +#: src/tables/part/PartTable.tsx:108 #: src/tables/stock/StockItemTable.tsx:166 -#: src/tables/stock/StockItemTable.tsx:275 +#: src/tables/stock/StockItemTable.tsx:297 msgid "Available" msgstr "Tilgjengelig" -#: src/pages/part/PartDetail.tsx:667 +#: src/pages/part/PartDetail.tsx:680 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:673 -#: src/tables/bom/BomTable.tsx:281 -#: src/tables/part/PartTable.tsx:76 +#: src/pages/part/PartDetail.tsx:686 +#: src/tables/bom/BomTable.tsx:284 +#: src/tables/part/PartTable.tsx:77 msgid "On Order" msgstr "I bestilling" -#: src/pages/part/PartDetail.tsx:679 +#: src/pages/part/PartDetail.tsx:692 #: src/pages/stock/StockDetail.tsx:516 -#: src/tables/stock/StockItemTable.tsx:295 +#: src/tables/stock/StockItemTable.tsx:317 msgid "In Production" msgstr "Under produksjon" -#: src/pages/part/PartDetail.tsx:698 +#: src/pages/part/PartDetail.tsx:717 msgid "Edit Part" msgstr "Rediger del" -#: src/pages/part/PartDetail.tsx:705 -#: src/tables/part/PartTable.tsx:289 -#: src/tables/part/PartTable.tsx:302 +#: src/pages/part/PartDetail.tsx:744 +#: src/tables/part/PartTable.tsx:296 +#: src/tables/part/PartTable.tsx:309 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:717 +#: src/pages/part/PartDetail.tsx:758 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:726 +#: src/pages/part/PartDetail.tsx:767 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:764 +#: src/pages/part/PartDetail.tsx:805 #: src/pages/stock/LocationDetail.tsx:304 -#: src/tables/stock/StockItemTable.tsx:409 +#: src/tables/stock/StockItemTable.tsx:431 msgid "Stock Actions" msgstr "Lagerhandlinger" -#: src/pages/part/PartDetail.tsx:772 +#: src/pages/part/PartDetail.tsx:813 msgid "Count part stock" msgstr "Tell delbeholdning" -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:824 msgid "Transfer part stock" msgstr "Overfør delbeholdning" -#: src/pages/part/PartDetail.tsx:792 +#: src/pages/part/PartDetail.tsx:833 msgid "Part Actions" msgstr "Delhandlinger" @@ -4359,8 +4503,8 @@ msgstr "" #: src/pages/part/pricing/BomPricingPanel.tsx:57 #: src/pages/part/pricing/BomPricingPanel.tsx:137 -#: src/tables/ColumnRenderers.tsx:241 -#: src/tables/bom/BomTable.tsx:165 +#: src/tables/ColumnRenderers.tsx:256 +#: src/tables/bom/BomTable.tsx:168 #: src/tables/purchasing/PurchaseOrderTable.tsx:112 #: src/tables/sales/ReturnOrderTable.tsx:104 #: src/tables/sales/SalesOrderTable.tsx:134 @@ -4369,7 +4513,7 @@ msgstr "Total pris" #: src/pages/part/pricing/BomPricingPanel.tsx:77 #: src/pages/part/pricing/BomPricingPanel.tsx:101 -#: src/tables/part/PartTable.tsx:186 +#: src/tables/part/PartTable.tsx:193 msgid "Component" msgstr "Komponent" @@ -4398,7 +4542,7 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:67 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:128 #: src/pages/part/pricing/SupplierPricingPanel.tsx:62 -#: src/tables/bom/BomTable.tsx:156 +#: src/tables/bom/BomTable.tsx:159 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 msgid "Unit Price" @@ -4498,7 +4642,7 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:40 #: src/pages/part/pricing/SaleHistoryPanel.tsx:36 -#: src/tables/ColumnRenderers.tsx:180 +#: src/tables/ColumnRenderers.tsx:195 #: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "Dato" @@ -4771,12 +4915,12 @@ msgid "Count stock" msgstr "Tell beholdning" #: src/pages/stock/StockDetail.tsx:459 -#: src/tables/stock/StockItemTable.tsx:414 +#: src/tables/stock/StockItemTable.tsx:436 msgid "Add stock" msgstr "Legg til lager" #: src/pages/stock/StockDetail.tsx:467 -#: src/tables/stock/StockItemTable.tsx:423 +#: src/tables/stock/StockItemTable.tsx:445 msgid "Remove stock" msgstr "Fjern lager" @@ -4785,7 +4929,7 @@ msgid "Transfer" msgstr "Overfør" #: src/pages/stock/StockDetail.tsx:475 -#: src/tables/stock/StockItemTable.tsx:443 +#: src/tables/stock/StockItemTable.tsx:465 msgid "Transfer stock" msgstr "Overfør lager" @@ -4793,15 +4937,15 @@ msgstr "Overfør lager" msgid "Stock Item Actions" msgstr "" -#: src/tables/ColumnRenderers.tsx:42 +#: src/tables/ColumnRenderers.tsx:57 msgid "No location set" msgstr "" -#: src/tables/ColumnRenderers.tsx:207 +#: src/tables/ColumnRenderers.tsx:222 msgid "Shipment Date" msgstr "" -#: src/tables/ColumnRenderers.tsx:227 +#: src/tables/ColumnRenderers.tsx:242 #: src/tables/settings/CurrencyTable.tsx:23 msgid "Currency" msgstr "Valuta" @@ -4828,14 +4972,14 @@ msgid "TSV" msgstr "TSV" #: src/tables/DownloadAction.tsx:24 -msgid "Excel (.xls)" -msgstr "" - -#: src/tables/DownloadAction.tsx:25 msgid "Excel (.xlsx)" msgstr "" -#: src/tables/DownloadAction.tsx:39 +#: src/tables/DownloadAction.tsx:24 +#~ msgid "Excel (.xls)" +#~ msgstr "" + +#: src/tables/DownloadAction.tsx:38 msgid "Download Data" msgstr "" @@ -4900,54 +5044,54 @@ msgstr "Legg til filter" msgid "Clear Filters" msgstr "Fjern filtre" -#: src/tables/InvenTreeTable.tsx:119 -#: src/tables/InvenTreeTable.tsx:390 -#: src/tables/InvenTreeTable.tsx:411 +#: src/tables/InvenTreeTable.tsx:126 +#: src/tables/InvenTreeTable.tsx:409 +#: src/tables/InvenTreeTable.tsx:430 msgid "No records found" msgstr "Ingen poster funnet" -#: src/tables/InvenTreeTable.tsx:422 +#: src/tables/InvenTreeTable.tsx:441 msgid "Server returned incorrect data type" msgstr "Serveren returnerte feil datatype" -#: src/tables/InvenTreeTable.tsx:430 +#: src/tables/InvenTreeTable.tsx:449 msgid "Bad request" msgstr "Ugyldig forespørsel" -#: src/tables/InvenTreeTable.tsx:433 +#: src/tables/InvenTreeTable.tsx:452 msgid "Unauthorized" msgstr "Uautorisert" -#: src/tables/InvenTreeTable.tsx:436 +#: src/tables/InvenTreeTable.tsx:455 msgid "Forbidden" msgstr "Forbudt" -#: src/tables/InvenTreeTable.tsx:439 +#: src/tables/InvenTreeTable.tsx:458 msgid "Not found" msgstr "Ikke funnet" -#: src/tables/InvenTreeTable.tsx:488 -#: src/tables/InvenTreeTable.tsx:606 +#: src/tables/InvenTreeTable.tsx:507 +#: src/tables/InvenTreeTable.tsx:623 msgid "Delete selected records" msgstr "Slett valgte oppføringer" -#: src/tables/InvenTreeTable.tsx:492 +#: src/tables/InvenTreeTable.tsx:511 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:494 +#: src/tables/InvenTreeTable.tsx:513 msgid "This action cannot be undone!" msgstr "Denne handlingen kan ikke angres!" -#: src/tables/InvenTreeTable.tsx:517 +#: src/tables/InvenTreeTable.tsx:536 msgid "Deleted records" msgstr "Slettede oppføringer" -#: src/tables/InvenTreeTable.tsx:518 +#: src/tables/InvenTreeTable.tsx:537 msgid "Records were deleted successfully" msgstr "Oppføringer slettet" -#: src/tables/InvenTreeTable.tsx:527 +#: src/tables/InvenTreeTable.tsx:546 msgid "Failed to delete records" msgstr "Kunne ikke slette oppføringer" @@ -4956,140 +5100,144 @@ msgstr "Kunne ikke slette oppføringer" #~ msgid "Print actions" #~ msgstr "Print actions" -#: src/tables/InvenTreeTable.tsx:596 -#: src/tables/InvenTreeTable.tsx:597 +#: src/tables/InvenTreeTable.tsx:613 +#: src/tables/InvenTreeTable.tsx:614 msgid "Barcode actions" msgstr "Strekkodehandlinger" -#: src/tables/InvenTreeTable.tsx:625 +#: src/tables/InvenTreeTable.tsx:642 msgid "Refresh data" msgstr "Oppdater data" -#: src/tables/InvenTreeTable.tsx:646 +#: src/tables/InvenTreeTable.tsx:663 msgid "Table filters" msgstr "Tabellfiltre" -#: src/tables/bom/BomTable.tsx:80 +#: src/tables/UploadAction.tsx:9 +msgid "Upload Data" +msgstr "" + +#: src/tables/bom/BomTable.tsx:83 msgid "This BOM item is defined for a different parent" msgstr "Denne BOM-artikkelen er definert for en annen overordnet del" -#: src/tables/bom/BomTable.tsx:95 +#: src/tables/bom/BomTable.tsx:98 msgid "Part Information" msgstr "Delinformasjon" -#: src/tables/bom/BomTable.tsx:184 -#: src/tables/part/PartTable.tsx:124 +#: src/tables/bom/BomTable.tsx:187 +#: src/tables/part/PartTable.tsx:125 msgid "No stock" msgstr "Ingen lagerbeholdning" -#: src/tables/bom/BomTable.tsx:192 +#: src/tables/bom/BomTable.tsx:195 #: src/tables/build/BuildLineTable.tsx:104 -#: src/tables/part/PartTable.tsx:115 +#: src/tables/part/PartTable.tsx:116 msgid "External stock" msgstr "" -#: src/tables/bom/BomTable.tsx:200 +#: src/tables/bom/BomTable.tsx:203 #: src/tables/build/BuildLineTable.tsx:67 msgid "Includes substitute stock" msgstr "Inkluderer erstatningsbeholdning" -#: src/tables/bom/BomTable.tsx:209 +#: src/tables/bom/BomTable.tsx:212 #: src/tables/build/BuildLineTable.tsx:77 msgid "Includes variant stock" msgstr "Inkluderer variantbeholdning" -#: src/tables/bom/BomTable.tsx:234 -#: src/tables/part/PartTable.tsx:143 +#: src/tables/bom/BomTable.tsx:237 +#: src/tables/part/PartTable.tsx:144 #: src/tables/stock/StockItemTable.tsx:205 msgid "Stock Information" msgstr "Lagerinformasjon" -#: src/tables/bom/BomTable.tsx:246 +#: src/tables/bom/BomTable.tsx:249 #: src/tables/build/BuildLineTable.tsx:195 msgid "Consumable item" msgstr "Forbruksvare" -#: src/tables/bom/BomTable.tsx:267 +#: src/tables/bom/BomTable.tsx:270 msgid "Show trackable items" msgstr "Vis sporbare deler" -#: src/tables/bom/BomTable.tsx:272 +#: src/tables/bom/BomTable.tsx:275 msgid "Show asssmbled items" msgstr "Vis sammenstilte elementer" -#: src/tables/bom/BomTable.tsx:277 +#: src/tables/bom/BomTable.tsx:280 msgid "Show items with available stock" msgstr "Vis elementer med tilgjengelig lagerbeholdning" -#: src/tables/bom/BomTable.tsx:282 +#: src/tables/bom/BomTable.tsx:285 msgid "Show items on order" msgstr "Vis elementer i bestilling" -#: src/tables/bom/BomTable.tsx:286 +#: src/tables/bom/BomTable.tsx:289 msgid "Validated" msgstr "" -#: src/tables/bom/BomTable.tsx:287 +#: src/tables/bom/BomTable.tsx:290 msgid "Show validated items" msgstr "Vis godkjente elementer" -#: src/tables/bom/BomTable.tsx:291 +#: src/tables/bom/BomTable.tsx:294 #: src/tables/bom/UsedInTable.tsx:63 msgid "Inherited" msgstr "" -#: src/tables/bom/BomTable.tsx:292 +#: src/tables/bom/BomTable.tsx:295 #: src/tables/bom/UsedInTable.tsx:64 msgid "Show inherited items" msgstr "Vis arvede elementer" -#: src/tables/bom/BomTable.tsx:296 +#: src/tables/bom/BomTable.tsx:299 msgid "Allow Variants" msgstr "" -#: src/tables/bom/BomTable.tsx:297 +#: src/tables/bom/BomTable.tsx:300 msgid "Show items which allow variant substitution" msgstr "" #: src/tables/bom/BomTable.tsx:301 +#~ msgid "Create BOM Item" +#~ msgstr "Create BOM Item" + +#: src/tables/bom/BomTable.tsx:304 #: src/tables/bom/UsedInTable.tsx:68 #: src/tables/build/BuildLineTable.tsx:46 msgid "Optional" msgstr "Valgfritt" -#: src/tables/bom/BomTable.tsx:301 -#~ msgid "Create BOM Item" -#~ msgstr "Create BOM Item" - -#: src/tables/bom/BomTable.tsx:302 +#: src/tables/bom/BomTable.tsx:305 #: src/tables/bom/UsedInTable.tsx:69 msgid "Show optional items" msgstr "Vis valgfrie elementer" -#: src/tables/bom/BomTable.tsx:306 +#: src/tables/bom/BomTable.tsx:309 #: src/tables/build/BuildLineTable.tsx:41 msgid "Consumable" msgstr "Forbruksvare" -#: src/tables/bom/BomTable.tsx:307 +#: src/tables/bom/BomTable.tsx:310 msgid "Show consumable items" msgstr "Vis forbruksartikler" -#: src/tables/bom/BomTable.tsx:311 -#: src/tables/part/PartTable.tsx:250 +#: src/tables/bom/BomTable.tsx:314 +#: src/tables/part/PartTable.tsx:257 msgid "Has Pricing" msgstr "Har prising" -#: src/tables/bom/BomTable.tsx:312 +#: src/tables/bom/BomTable.tsx:315 msgid "Show items with pricing" msgstr "Vis varer med priser" -#: src/tables/bom/BomTable.tsx:321 -#: src/tables/bom/BomTable.tsx:420 +#: src/tables/bom/BomTable.tsx:324 +#: src/tables/bom/BomTable.tsx:426 msgid "Add BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:326 +#: src/tables/bom/BomTable.tsx:329 msgid "BOM item created" msgstr "" @@ -5097,23 +5245,23 @@ msgstr "" #~ msgid "Edit Bom Item" #~ msgstr "Edit Bom Item" -#: src/tables/bom/BomTable.tsx:333 -msgid "Edit BOM Item" -msgstr "" - #: src/tables/bom/BomTable.tsx:333 #~ msgid "Bom item updated" #~ msgstr "Bom item updated" -#: src/tables/bom/BomTable.tsx:335 +#: src/tables/bom/BomTable.tsx:336 +msgid "Edit BOM Item" +msgstr "" + +#: src/tables/bom/BomTable.tsx:338 msgid "BOM item updated" msgstr "" -#: src/tables/bom/BomTable.tsx:342 +#: src/tables/bom/BomTable.tsx:345 msgid "Delete BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:343 +#: src/tables/bom/BomTable.tsx:346 msgid "BOM item deleted" msgstr "" @@ -5133,32 +5281,41 @@ msgstr "" #~ msgid "Validate BOM line" #~ msgstr "Validate BOM line" -#: src/tables/bom/BomTable.tsx:355 +#: src/tables/bom/BomTable.tsx:358 msgid "BOM item validated" msgstr "" -#: src/tables/bom/BomTable.tsx:364 +#: src/tables/bom/BomTable.tsx:367 msgid "Failed to validate BOM item" msgstr "" -#: src/tables/bom/BomTable.tsx:376 +#: src/tables/bom/BomTable.tsx:379 msgid "View BOM" msgstr "Vis BOM" -#: src/tables/bom/BomTable.tsx:385 +#: src/tables/bom/BomTable.tsx:388 msgid "Validate BOM Line" msgstr "" -#: src/tables/bom/BomTable.tsx:399 +#: src/tables/bom/BomTable.tsx:405 msgid "Edit Substitutes" msgstr "Rediger erstatninger" +#: src/tables/bom/BomTable.tsx:440 +#: src/tables/part/PartParameterTable.tsx:191 +msgid "Part is Locked" +msgstr "" + +#: src/tables/bom/BomTable.tsx:445 +msgid "Bill of materials cannot be edited, as the part is locked" +msgstr "" + #: src/tables/bom/UsedInTable.tsx:74 msgid "Show active assemblies" msgstr "Vis aktive sammenstillinger" #: src/tables/bom/UsedInTable.tsx:78 -#: src/tables/part/PartTable.tsx:192 +#: src/tables/part/PartTable.tsx:199 #: src/tables/part/PartVariantTable.tsx:30 msgid "Trackable" msgstr "Sporbar" @@ -5168,7 +5325,7 @@ msgid "Show trackable assemblies" msgstr "Vis sporbare sammenstillinger" #: src/tables/build/BuildLineTable.tsx:31 -#: src/tables/stock/StockItemTable.tsx:270 +#: src/tables/stock/StockItemTable.tsx:292 msgid "Allocated" msgstr "Tildelt" @@ -5189,7 +5346,7 @@ msgid "Show optional lines" msgstr "" #: src/tables/build/BuildLineTable.tsx:51 -#: src/tables/stock/StockItemTable.tsx:329 +#: src/tables/stock/StockItemTable.tsx:351 msgid "Tracked" msgstr "Spores" @@ -5302,10 +5459,6 @@ msgstr "" msgid "Deallocate stock from build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:205 -msgid "Complete" -msgstr "" - #: src/tables/build/BuildOutputTable.tsx:206 msgid "Complete build output" msgstr "" @@ -5635,7 +5788,7 @@ msgid "Message" msgstr "Melding" #: src/tables/part/ParametricPartTable.tsx:76 -#: src/tables/part/PartParameterTable.tsx:88 +#: src/tables/part/PartParameterTable.tsx:95 msgid "Internal Units" msgstr "" @@ -5648,13 +5801,13 @@ msgid "Add Part Parameter" msgstr "" #: src/tables/part/ParametricPartTable.tsx:138 -#: src/tables/part/PartParameterTable.tsx:121 -#: src/tables/part/PartParameterTable.tsx:144 +#: src/tables/part/PartParameterTable.tsx:128 +#: src/tables/part/PartParameterTable.tsx:151 msgid "Edit Part Parameter" msgstr "Rediger del-parameter" #: src/tables/part/PartCategoryTable.tsx:60 -#: src/tables/part/PartTable.tsx:180 +#: src/tables/part/PartTable.tsx:187 msgid "Include Subcategories" msgstr "Inkluder underkategorier" @@ -5667,7 +5820,7 @@ msgid "Show structural categories" msgstr "Vis strukturelle kategorier" #: src/tables/part/PartCategoryTable.tsx:70 -#: src/tables/part/PartTable.tsx:262 +#: src/tables/part/PartTable.tsx:269 msgid "Subscribed" msgstr "" @@ -5704,21 +5857,25 @@ msgstr "" #~ msgid "[{0}]" #~ msgstr "[{0}]" -#: src/tables/part/PartParameterTable.tsx:105 +#: src/tables/part/PartParameterTable.tsx:112 msgid "New Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:130 -#: src/tables/part/PartParameterTable.tsx:152 +#: src/tables/part/PartParameterTable.tsx:137 +#: src/tables/part/PartParameterTable.tsx:159 msgid "Delete Part Parameter" msgstr "Slett del-parameter" -#: src/tables/part/PartParameterTable.tsx:170 +#: src/tables/part/PartParameterTable.tsx:177 msgid "Add parameter" msgstr "Legg til parameter" -#: src/tables/part/PartParameterTable.tsx:191 -#: src/tables/stock/StockItemTable.tsx:300 +#: src/tables/part/PartParameterTable.tsx:196 +msgid "Part parameters cannot be edited, as the part is locked" +msgstr "" + +#: src/tables/part/PartParameterTable.tsx:210 +#: src/tables/stock/StockItemTable.tsx:322 msgid "Include Variants" msgstr "Inkluder varianter" @@ -5739,7 +5896,7 @@ msgid "Show templates with choices" msgstr "Vis maler med valg" #: src/tables/part/PartParameterTemplateTable.tsx:41 -#: src/tables/part/PartTable.tsx:198 +#: src/tables/part/PartTable.tsx:205 msgid "Has Units" msgstr "Har enheter" @@ -5763,116 +5920,120 @@ msgstr "Slett parametermal" msgid "Add parameter template" msgstr "Legg til parametermal" -#: src/tables/part/PartTable.tsx:67 +#: src/tables/part/PartTable.tsx:68 msgid "Minimum stock" msgstr "Minimumsbeholdning" -#: src/tables/part/PartTable.tsx:89 +#: src/tables/part/PartTable.tsx:90 msgid "Build Order Allocations" msgstr "Produksjonsordre-tildelinger" -#: src/tables/part/PartTable.tsx:98 +#: src/tables/part/PartTable.tsx:99 msgid "Sales Order Allocations" msgstr "Salgsordretildelinger" -#: src/tables/part/PartTable.tsx:169 +#: src/tables/part/PartTable.tsx:170 msgid "Filter by part active status" msgstr "Filtrer etter del aktiv-status" -#: src/tables/part/PartTable.tsx:174 -#: src/tables/stock/StockItemTable.tsx:265 +#: src/tables/part/PartTable.tsx:176 +msgid "Filter by part locked status" +msgstr "" + +#: src/tables/part/PartTable.tsx:181 +#: src/tables/stock/StockItemTable.tsx:287 msgid "Assembly" msgstr "Sammenstilling" -#: src/tables/part/PartTable.tsx:175 +#: src/tables/part/PartTable.tsx:182 msgid "Filter by assembly attribute" msgstr "Filtrer etter sammenstillingsattributt" -#: src/tables/part/PartTable.tsx:181 +#: src/tables/part/PartTable.tsx:188 msgid "Include parts in subcategories" msgstr "Inkluder deler i underkategorier" -#: src/tables/part/PartTable.tsx:187 +#: src/tables/part/PartTable.tsx:194 msgid "Filter by component attribute" msgstr "Filtrer etter komponentattributt" -#: src/tables/part/PartTable.tsx:193 +#: src/tables/part/PartTable.tsx:200 msgid "Filter by trackable attribute" msgstr "Filtrer etter sporbar attributt" -#: src/tables/part/PartTable.tsx:199 +#: src/tables/part/PartTable.tsx:206 msgid "Filter by parts which have units" msgstr "Filtrer etter deler som har enheter" -#: src/tables/part/PartTable.tsx:204 +#: src/tables/part/PartTable.tsx:211 msgid "Has IPN" msgstr "Har IPN" -#: src/tables/part/PartTable.tsx:205 +#: src/tables/part/PartTable.tsx:212 msgid "Filter by parts which have an internal part number" msgstr "Filtrer etter deler som har internt delnummer" -#: src/tables/part/PartTable.tsx:210 +#: src/tables/part/PartTable.tsx:217 msgid "Has Stock" msgstr "Har beholdning" -#: src/tables/part/PartTable.tsx:211 +#: src/tables/part/PartTable.tsx:218 msgid "Filter by parts which have stock" msgstr "Filtrer etter deler som har lagerbeholdning" -#: src/tables/part/PartTable.tsx:217 +#: src/tables/part/PartTable.tsx:224 msgid "Filter by parts which have low stock" msgstr "Filtrer etter deler som har lav lagerbeholdning" -#: src/tables/part/PartTable.tsx:222 +#: src/tables/part/PartTable.tsx:229 msgid "Purchaseable" msgstr "Kjøpbar" -#: src/tables/part/PartTable.tsx:223 +#: src/tables/part/PartTable.tsx:230 msgid "Filter by parts which are purchaseable" msgstr "Filtrer etter deler som kan kjøpes" -#: src/tables/part/PartTable.tsx:228 +#: src/tables/part/PartTable.tsx:235 msgid "Salable" msgstr "Salgbar" -#: src/tables/part/PartTable.tsx:229 +#: src/tables/part/PartTable.tsx:236 msgid "Filter by parts which are salable" msgstr "Filtrer etter deler som kan selges" -#: src/tables/part/PartTable.tsx:235 +#: src/tables/part/PartTable.tsx:242 msgid "Filter by parts which are virtual" msgstr "Filtrer etter deler som er virtuelle" -#: src/tables/part/PartTable.tsx:239 +#: src/tables/part/PartTable.tsx:246 msgid "Not Virtual" msgstr "Ikke virtuell" -#: src/tables/part/PartTable.tsx:244 +#: src/tables/part/PartTable.tsx:251 msgid "Is Template" msgstr "" -#: src/tables/part/PartTable.tsx:245 +#: src/tables/part/PartTable.tsx:252 msgid "Filter by parts which are templates" msgstr "" -#: src/tables/part/PartTable.tsx:251 +#: src/tables/part/PartTable.tsx:258 msgid "Filter by parts which have pricing information" msgstr "" -#: src/tables/part/PartTable.tsx:257 +#: src/tables/part/PartTable.tsx:264 msgid "Filter by parts which have available stock" msgstr "" -#: src/tables/part/PartTable.tsx:263 +#: src/tables/part/PartTable.tsx:270 msgid "Filter by parts to which the user is subscribed" msgstr "" -#: src/tables/part/PartTable.tsx:268 +#: src/tables/part/PartTable.tsx:275 msgid "Has Stocktake" msgstr "" -#: src/tables/part/PartTable.tsx:269 +#: src/tables/part/PartTable.tsx:276 msgid "Filter by parts which have stocktake information" msgstr "" @@ -6211,7 +6372,7 @@ msgid "Sample" msgstr "Eksempel" #: src/tables/plugin/PluginListTable.tsx:578 -#: src/tables/stock/StockItemTable.tsx:305 +#: src/tables/stock/StockItemTable.tsx:327 msgid "Installed" msgstr "Installert" @@ -6486,6 +6647,41 @@ msgstr "Legg til gruppe" msgid "Edit group" msgstr "Rediger gruppe" +#: src/tables/settings/ImportSessionTable.tsx:39 +msgid "Delete Import Session" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:45 +#: src/tables/settings/ImportSessionTable.tsx:132 +msgid "Create Import Session" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:70 +msgid "Uploaded" +msgstr "Uploaded" + +#: src/tables/settings/ImportSessionTable.tsx:80 +msgid "Imported Rows" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:110 +#: src/tables/settings/TemplateTable.tsx:276 +msgid "Model Type" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:111 +#: src/tables/settings/TemplateTable.tsx:277 +msgid "Filter by target model type" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:117 +msgid "Filter by import session status" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:123 +msgid "Filter by user" +msgstr "" + #: src/tables/settings/PendingTasksTable.tsx:36 msgid "Arguments" msgstr "Argumenter" @@ -6502,7 +6698,7 @@ msgstr "" msgid "Delete Project Code" msgstr "" -#: src/tables/settings/ProjectCodeTable.tsx:94 +#: src/tables/settings/ProjectCodeTable.tsx:92 msgid "Add project code" msgstr "Legg til prosjektkode" @@ -6571,14 +6767,6 @@ msgstr "" 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" @@ -6701,149 +6889,153 @@ msgstr "Denne lagervaren er delvis tilordnet" msgid "This stock item has been depleted" msgstr "Denne lagervaren er oppbrukt" -#: src/tables/stock/StockItemTable.tsx:255 +#: src/tables/stock/StockItemTable.tsx:247 +msgid "Stock Value" +msgstr "" + +#: src/tables/stock/StockItemTable.tsx:277 msgid "Show stock for active parts" msgstr "Vis lagerbeholdning for aktive deler" -#: src/tables/stock/StockItemTable.tsx:260 +#: src/tables/stock/StockItemTable.tsx:282 msgid "Filter by stock status" msgstr "Filtrer etter lagerstatus" -#: src/tables/stock/StockItemTable.tsx:266 +#: src/tables/stock/StockItemTable.tsx:288 msgid "Show stock for assmebled parts" msgstr "Vis lagerbeholdning for sammensatte deler" -#: src/tables/stock/StockItemTable.tsx:271 +#: src/tables/stock/StockItemTable.tsx:293 msgid "Show items which have been allocated" msgstr "Vis elementer som har blitt tildelt" -#: src/tables/stock/StockItemTable.tsx:276 +#: src/tables/stock/StockItemTable.tsx:298 msgid "Show items which are available" msgstr "Vis elementer som er tilgjengelige" -#: src/tables/stock/StockItemTable.tsx:280 +#: src/tables/stock/StockItemTable.tsx:302 #: src/tables/stock/StockLocationTable.tsx:42 msgid "Include Sublocations" msgstr "Inkluder underplasseringer" -#: src/tables/stock/StockItemTable.tsx:281 +#: src/tables/stock/StockItemTable.tsx:303 msgid "Include stock in sublocations" msgstr "Inkluder lager i underplasseringer" -#: src/tables/stock/StockItemTable.tsx:285 +#: src/tables/stock/StockItemTable.tsx:307 msgid "Depleted" msgstr "Oppbrukt" -#: src/tables/stock/StockItemTable.tsx:286 +#: src/tables/stock/StockItemTable.tsx:308 msgid "Show depleted stock items" msgstr "Vis oppbrukte lagervarer" -#: src/tables/stock/StockItemTable.tsx:291 +#: src/tables/stock/StockItemTable.tsx:313 msgid "Show items which are in stock" msgstr "Vis elementer som er på lager" -#: src/tables/stock/StockItemTable.tsx:296 +#: src/tables/stock/StockItemTable.tsx:318 msgid "Show items which are in production" msgstr "Vis elementer som er under produksjon" -#: src/tables/stock/StockItemTable.tsx:301 +#: src/tables/stock/StockItemTable.tsx:323 msgid "Include stock items for variant parts" msgstr "Inkluder lagervarer for variantdeler" -#: src/tables/stock/StockItemTable.tsx:306 +#: src/tables/stock/StockItemTable.tsx:328 msgid "Show stock items which are installed in other items" msgstr "Vis lagervarer som er installert i andre elementer" -#: src/tables/stock/StockItemTable.tsx:310 +#: src/tables/stock/StockItemTable.tsx:332 msgid "Sent to Customer" msgstr "Sendt til kunde" -#: src/tables/stock/StockItemTable.tsx:311 +#: src/tables/stock/StockItemTable.tsx:333 msgid "Show items which have been sent to a customer" msgstr "Vis elementer som er sendt til en kunde" -#: src/tables/stock/StockItemTable.tsx:315 +#: src/tables/stock/StockItemTable.tsx:337 msgid "Is Serialized" msgstr "Er serialisert" -#: src/tables/stock/StockItemTable.tsx:316 +#: src/tables/stock/StockItemTable.tsx:338 msgid "Show items which have a serial number" msgstr "Vis elementer som har et serienummer" -#: src/tables/stock/StockItemTable.tsx:323 +#: src/tables/stock/StockItemTable.tsx:345 msgid "Has Batch Code" msgstr "Har batchkode" -#: src/tables/stock/StockItemTable.tsx:324 +#: src/tables/stock/StockItemTable.tsx:346 msgid "Show items which have a batch code" msgstr "Vis elementer som har en batchkode" -#: src/tables/stock/StockItemTable.tsx:330 +#: src/tables/stock/StockItemTable.tsx:352 msgid "Show tracked items" msgstr "Vis sporede deler" -#: src/tables/stock/StockItemTable.tsx:334 +#: src/tables/stock/StockItemTable.tsx:356 msgid "Has Purchase Price" msgstr "Har innkjøpspris" -#: src/tables/stock/StockItemTable.tsx:335 +#: src/tables/stock/StockItemTable.tsx:357 msgid "Show items which have a purchase price" msgstr "Vis elementer som har innkjøpspris" -#: src/tables/stock/StockItemTable.tsx:343 +#: src/tables/stock/StockItemTable.tsx:365 msgid "External Location" msgstr "Ekstern plassering" -#: src/tables/stock/StockItemTable.tsx:344 +#: src/tables/stock/StockItemTable.tsx:366 msgid "Show items in an external location" msgstr "Vis elementer ved en ekstern plassering" -#: src/tables/stock/StockItemTable.tsx:416 +#: src/tables/stock/StockItemTable.tsx:438 msgid "Add a new stock item" msgstr "" -#: src/tables/stock/StockItemTable.tsx:425 +#: src/tables/stock/StockItemTable.tsx:447 msgid "Remove some quantity from a stock item" msgstr "" -#: src/tables/stock/StockItemTable.tsx:447 +#: src/tables/stock/StockItemTable.tsx:469 msgid "Move Stock items to new locations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:454 +#: src/tables/stock/StockItemTable.tsx:476 msgid "Change stock status" msgstr "" -#: src/tables/stock/StockItemTable.tsx:456 +#: src/tables/stock/StockItemTable.tsx:478 msgid "Change the status of stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:463 +#: src/tables/stock/StockItemTable.tsx:485 msgid "Merge stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:465 +#: src/tables/stock/StockItemTable.tsx:487 msgid "Merge stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:472 +#: src/tables/stock/StockItemTable.tsx:494 msgid "Order stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:474 -#: src/tables/stock/StockItemTable.tsx:480 +#: src/tables/stock/StockItemTable.tsx:496 +#: src/tables/stock/StockItemTable.tsx:502 msgid "Order new stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:478 +#: src/tables/stock/StockItemTable.tsx:500 msgid "Assign to customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:487 +#: src/tables/stock/StockItemTable.tsx:509 msgid "Delete stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:489 +#: src/tables/stock/StockItemTable.tsx:511 msgid "Delete stock items" msgstr "" @@ -6999,4 +7191,3 @@ msgstr "Les dokumentasjonen" #: src/views/MobileAppView.tsx:35 msgid "Ignore and continue to Desktop view" msgstr "" - diff --git a/src/frontend/src/locales/pl/messages.po b/src/frontend/src/locales/pl/messages.po index 84d459889fd2..61608994eb20 100644 --- a/src/frontend/src/locales/pl/messages.po +++ b/src/frontend/src/locales/pl/messages.po @@ -49,16 +49,18 @@ msgstr "Drukowanie etykiety zakończone powodzeniem" #: src/components/buttons/PrintingActions.tsx:107 #: src/components/buttons/PrintingActions.tsx:144 #: src/components/editors/NotesEditor.tsx:65 -#: src/components/editors/NotesEditor.tsx:160 -#: src/components/forms/ApiForm.tsx:506 -#: src/components/forms/fields/ApiFormField.tsx:295 +#: src/components/editors/NotesEditor.tsx:165 +#: src/components/forms/ApiForm.tsx:513 +#: src/components/forms/fields/ApiFormField.tsx:306 +#: src/components/importer/ImportDataSelector.tsx:171 +#: src/components/importer/ImporterColumnSelector.tsx:112 #: src/components/modals/LicenseModal.tsx:75 #: src/components/nav/SearchDrawer.tsx:427 #: src/pages/ErrorPage.tsx:11 #: src/pages/part/PartPricingPanel.tsx:71 -#: src/tables/InvenTreeTable.tsx:451 -#: src/tables/InvenTreeTable.tsx:526 -#: src/tables/bom/BomTable.tsx:363 +#: src/tables/InvenTreeTable.tsx:470 +#: src/tables/InvenTreeTable.tsx:545 +#: src/tables/bom/BomTable.tsx:366 #: src/tables/stock/StockItemTestResultTable.tsx:294 msgid "Error" msgstr "Błąd" @@ -157,7 +159,7 @@ msgstr "Usuń" #: src/functions/forms.tsx:196 #: src/hooks/UseForm.tsx:40 #: src/tables/FilterSelectDrawer.tsx:204 -#: src/tables/InvenTreeTable.tsx:499 +#: src/tables/InvenTreeTable.tsx:518 #: src/tables/build/BuildOutputTable.tsx:225 msgid "Cancel" msgstr "Anuluj" @@ -175,7 +177,7 @@ msgid "Clear" msgstr "Wyczyść" #: src/components/details/DetailsImage.tsx:227 -#: src/components/forms/ApiForm.tsx:573 +#: src/components/forms/ApiForm.tsx:580 #: src/contexts/ThemeContext.tsx:43 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:56 msgid "Submit" @@ -202,48 +204,61 @@ msgid "Delete image" msgstr "Usuń obraz" #: src/components/details/PartIcons.tsx:28 +#: src/tables/ColumnRenderers.tsx:35 +msgid "Part is locked" +msgstr "" + +#: src/components/details/PartIcons.tsx:30 +#: src/pages/part/PartDetail.tsx:267 +#: src/pages/part/PartDetail.tsx:698 +#: src/tables/part/PartTable.tsx:175 +msgid "Locked" +msgstr "" + +#: src/components/details/PartIcons.tsx:35 +#: src/tables/ColumnRenderers.tsx:30 msgid "Part is not active" msgstr "Część nie jest aktywna" -#: src/components/details/PartIcons.tsx:34 +#: src/components/details/PartIcons.tsx:37 #: src/components/render/Plugin.tsx:17 #: src/pages/company/CompanyDetail.tsx:315 #: src/pages/company/SupplierPartDetail.tsx:307 -#: src/pages/part/PartDetail.tsx:685 +#: src/pages/part/PartDetail.tsx:704 msgid "Inactive" msgstr "Nieaktywny" -#: src/components/details/PartIcons.tsx:41 +#: src/components/details/PartIcons.tsx:43 msgid "Part is a template part (variants can be made from this part)" msgstr "" -#: src/components/details/PartIcons.tsx:47 +#: src/components/details/PartIcons.tsx:49 msgid "Part can be assembled from other parts" msgstr "Część może być zmontowana z innych części" -#: src/components/details/PartIcons.tsx:53 +#: src/components/details/PartIcons.tsx:55 msgid "Part can be used in assemblies" msgstr "" -#: src/components/details/PartIcons.tsx:59 +#: src/components/details/PartIcons.tsx:61 msgid "Part stock is tracked by serial number" msgstr "Zapasy części są śledzone przez numer seryjny" -#: src/components/details/PartIcons.tsx:65 +#: src/components/details/PartIcons.tsx:67 msgid "Part can be purchased from external suppliers" msgstr "Część może być zakupiona od zewnętrznych dostawców" -#: src/components/details/PartIcons.tsx:71 +#: src/components/details/PartIcons.tsx:73 msgid "Part can be sold to customers" msgstr "Część może zostać sprzedana klientom" -#: src/components/details/PartIcons.tsx:76 +#: src/components/details/PartIcons.tsx:78 msgid "Part is virtual (not a physical part)" msgstr "Część jest wirtualna (nie fizyczna)" -#: src/components/details/PartIcons.tsx:82 -#: src/tables/part/PartTable.tsx:234 -#: src/tables/part/PartTable.tsx:238 +#: src/components/details/PartIcons.tsx:84 +#: src/tables/part/PartTable.tsx:241 +#: src/tables/part/PartTable.tsx:245 #: src/tables/part/PartVariantTable.tsx:25 msgid "Virtual" msgstr "Wirtualny" @@ -252,29 +267,29 @@ msgstr "Wirtualny" msgid "Image upload failed" msgstr "Przesłanie obrazu nie powiodło się" -#: src/components/editors/NotesEditor.tsx:151 -#: src/components/forms/ApiForm.tsx:430 -#: src/tables/bom/BomTable.tsx:354 +#: src/components/editors/NotesEditor.tsx:156 +#: src/components/forms/ApiForm.tsx:437 +#: src/tables/bom/BomTable.tsx:357 msgid "Success" msgstr "Sukces" -#: src/components/editors/NotesEditor.tsx:152 +#: src/components/editors/NotesEditor.tsx:157 msgid "Notes saved successfully" msgstr "Notatki zapisane pomyślnie" -#: src/components/editors/NotesEditor.tsx:161 +#: src/components/editors/NotesEditor.tsx:166 msgid "Failed to save notes" msgstr "" -#: src/components/editors/NotesEditor.tsx:193 +#: src/components/editors/NotesEditor.tsx:198 msgid "Preview Notes" msgstr "Podgląd notatek" -#: src/components/editors/NotesEditor.tsx:193 +#: src/components/editors/NotesEditor.tsx:198 msgid "Edit Notes" msgstr "Edytuj notatki" -#: src/components/editors/NotesEditor.tsx:207 +#: src/components/editors/NotesEditor.tsx:212 msgid "Save Notes" msgstr "Zapisz notatki" @@ -407,7 +422,7 @@ msgstr "" msgid "A server error occurred" msgstr "" -#: src/components/forms/ApiForm.tsx:149 +#: src/components/forms/ApiForm.tsx:151 #: src/functions/forms.tsx:259 msgid "Form Error" msgstr "Błąd formularza" @@ -416,18 +431,18 @@ msgstr "Błąd formularza" #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:611 +#: src/components/forms/ApiForm.tsx:618 #: src/tables/plugin/PluginListTable.tsx:388 msgid "Update" msgstr "Aktualizuj" -#: src/components/forms/ApiForm.tsx:631 +#: src/components/forms/ApiForm.tsx:638 #: 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:498 +#: src/tables/InvenTreeTable.tsx:517 #: src/tables/RowActions.tsx:71 #: src/tables/plugin/PluginListTable.tsx:420 msgid "Delete" @@ -600,7 +615,7 @@ msgstr "" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:70 #: src/pages/part/CategoryDetail.tsx:80 -#: src/pages/part/PartDetail.tsx:122 +#: src/pages/part/PartDetail.tsx:123 #: src/pages/stock/LocationDetail.tsx:87 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 @@ -685,6 +700,124 @@ msgstr "" msgid "Thumbnail" msgstr "" +#: src/components/importer/ImportDataSelector.tsx:154 +msgid "Importing Rows" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:155 +msgid "Please wait while the data is imported" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:172 +msgid "An error occurred while importing data" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:191 +msgid "Edit Data" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:218 +msgid "Delete Row" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:248 +msgid "Row" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:266 +msgid "Row contains errors" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:307 +msgid "Accept" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:340 +msgid "Valid" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:341 +msgid "Filter by row validation status" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:346 +#: src/tables/build/BuildOutputTable.tsx:205 +msgid "Complete" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:347 +msgid "Filter by row completion status" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:364 +msgid "Import selected rows" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:46 +#: src/components/importer/ImporterColumnSelector.tsx:85 +msgid "An error occurred" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:57 +msgid "Select column, or leave blank to ignore this field." +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:91 +msgid "Select a column from the data file" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:104 +msgid "Map data columns to database fields" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:109 +msgid "Accept Column Mapping" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:117 +msgid "Database Field" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:118 +msgid "Field Description" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:119 +msgid "Imported Column Name" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:44 +msgid "Import Data" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:45 +msgid "Map Columns" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:46 +msgid "Process Data" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:47 +msgid "Complete Import" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:91 +msgid "Importing Data" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:97 +msgid "Cancel import session" +msgstr "" + +#: src/components/importer/ImporterImportProgress.tsx:36 +msgid "Importing Records" +msgstr "" + +#: src/components/importer/ImporterImportProgress.tsx:39 +msgid "Imported rows" +msgstr "" + #: src/components/items/ActionDropdown.tsx:119 #: src/pages/build/BuildDetail.tsx:358 msgid "Barcode Actions" @@ -738,7 +871,7 @@ msgid "Read More" msgstr "" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:443 +#: src/tables/InvenTreeTable.tsx:462 msgid "Unknown error" msgstr "" @@ -1039,13 +1172,13 @@ msgstr "Ustawienia konta" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:313 +#: src/pages/Index/Settings/SystemSettings.tsx:314 msgid "System Settings" msgstr "Ustawienia systemowe" #: src/components/nav/MainMenu.tsx:67 #: src/defaults/menuItems.tsx:63 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:198 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:209 msgid "Admin Center" msgstr "Centrum Admina" @@ -1088,7 +1221,7 @@ msgid "Pages" msgstr "Strony" #: src/components/nav/NavigationDrawer.tsx:65 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:157 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:168 #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:41 msgid "Plugins" msgstr "Wtyczki" @@ -1102,7 +1235,7 @@ msgstr "Dokumentacja" msgid "About" msgstr "O nas" -#: src/components/nav/NotificationDrawer.tsx:78 +#: src/components/nav/NotificationDrawer.tsx:81 #: src/pages/Index/Settings/SystemSettings.tsx:108 #: src/pages/Index/Settings/UserSettings.tsx:96 #: src/pages/Notifications.tsx:65 @@ -1110,17 +1243,17 @@ msgstr "O nas" msgid "Notifications" msgstr "Powiadomienia" -#: src/components/nav/NotificationDrawer.tsx:95 +#: src/components/nav/NotificationDrawer.tsx:98 msgid "You have no unread notifications." msgstr "" -#: src/components/nav/NotificationDrawer.tsx:111 -#: src/components/nav/NotificationDrawer.tsx:117 +#: src/components/nav/NotificationDrawer.tsx:114 +#: src/components/nav/NotificationDrawer.tsx:120 #: src/tables/notifications/NotificationsTable.tsx:36 msgid "Notification" msgstr "Powiadomienie" -#: src/components/nav/NotificationDrawer.tsx:140 +#: src/components/nav/NotificationDrawer.tsx:143 #: src/pages/Notifications.tsx:73 msgid "Mark as read" msgstr "Oznacz jako przeczytane" @@ -1157,7 +1290,7 @@ msgstr "Brak wyników" msgid "No results available for search query" msgstr "Brak dostępnych wyników wyszukiwania" -#: src/components/render/Instance.tsx:166 +#: src/components/render/Instance.tsx:201 msgid "Unknown model: {model}" msgstr "Nieznany model: {model}" @@ -1172,7 +1305,8 @@ msgstr "Nieznany model: {model}" #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 #: src/pages/build/BuildDetail.tsx:85 -#: src/pages/part/PartDetail.tsx:831 +#: src/pages/part/PartDetail.tsx:872 +#: src/tables/part/PartTable.tsx:28 #: src/tables/part/RelatedPartTable.tsx:45 #: src/tables/stock/StockTrackingTable.tsx:74 msgid "Part" @@ -1185,7 +1319,7 @@ msgstr "Komponent" #: src/pages/part/CategoryDetail.tsx:112 #: src/pages/part/CategoryDetail.tsx:237 #: src/pages/part/CategoryDetail.tsx:267 -#: src/pages/part/PartDetail.tsx:639 +#: src/pages/part/PartDetail.tsx:652 msgid "Parts" msgstr "Komponenty" @@ -1235,7 +1369,7 @@ msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:172 #: src/pages/part/CategoryDetail.tsx:251 #: src/pages/part/CategoryDetail.tsx:288 -#: src/pages/part/PartDetail.tsx:821 +#: src/pages/part/PartDetail.tsx:862 msgid "Part Categories" msgstr "" @@ -1317,7 +1451,7 @@ msgid "Project Code" msgstr "" #: src/components/render/ModelType.tsx:127 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:109 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:120 msgid "Project Codes" msgstr "" @@ -1329,10 +1463,10 @@ msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:134 -#: src/pages/Index/Settings/SystemSettings.tsx:257 +#: src/pages/Index/Settings/SystemSettings.tsx:258 #: src/pages/company/CompanyDetail.tsx:194 #: src/pages/company/SupplierPartDetail.tsx:226 -#: src/pages/part/PartDetail.tsx:573 +#: src/pages/part/PartDetail.tsx:586 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "" @@ -1354,9 +1488,9 @@ msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:272 +#: src/pages/Index/Settings/SystemSettings.tsx:273 #: src/pages/company/CompanyDetail.tsx:214 -#: src/pages/part/PartDetail.tsx:580 +#: src/pages/part/PartDetail.tsx:593 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" @@ -1376,7 +1510,7 @@ msgid "Return Order" msgstr "" #: src/components/render/ModelType.tsx:164 -#: src/pages/Index/Settings/SystemSettings.tsx:288 +#: src/pages/Index/Settings/SystemSettings.tsx:289 #: src/pages/company/CompanyDetail.tsx:221 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1413,40 +1547,49 @@ msgid "Owners" msgstr "Właściciele" #: src/components/render/ModelType.tsx:193 +#: src/tables/settings/ImportSessionTable.tsx:122 #: src/tables/stock/StockItemTestResultTable.tsx:193 #: src/tables/stock/StockTrackingTable.tsx:195 msgid "User" msgstr "Użytkownik" #: src/components/render/ModelType.tsx:194 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:85 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:90 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" msgstr "Użytkownicy" #: src/components/render/ModelType.tsx:200 +msgid "Import Session" +msgstr "" + +#: src/components/render/ModelType.tsx:201 +msgid "Import Sessions" +msgstr "" + +#: src/components/render/ModelType.tsx:207 msgid "Label Template" msgstr "Szablon etykiety" -#: src/components/render/ModelType.tsx:201 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:139 +#: src/components/render/ModelType.tsx:208 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:150 msgid "Label Templates" msgstr "Szablony etykiet" -#: src/components/render/ModelType.tsx:207 +#: src/components/render/ModelType.tsx:214 msgid "Report Template" msgstr "Szablon Raportu" -#: src/components/render/ModelType.tsx:208 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:145 +#: src/components/render/ModelType.tsx:215 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:156 msgid "Report Templates" msgstr "Szablony raportów" -#: src/components/render/ModelType.tsx:214 +#: src/components/render/ModelType.tsx:221 msgid "Plugin Configuration" msgstr "Konfiguracja wtyczki" -#: src/components/render/ModelType.tsx:215 +#: src/components/render/ModelType.tsx:222 msgid "Plugin Configurations" msgstr "Konfiguracje wtyczki" @@ -1458,7 +1601,7 @@ msgstr "Wysyłka" #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 #: src/pages/Index/Settings/SystemSettings.tsx:210 -#: src/pages/part/PartDetail.tsx:492 +#: src/pages/part/PartDetail.tsx:503 #: src/pages/stock/LocationDetail.tsx:347 #: src/pages/stock/StockDetail.tsx:356 #: src/tables/stock/StockItemTable.tsx:57 @@ -1641,10 +1784,6 @@ msgstr "" #~ msgid "Comment" #~ msgstr "Comment" -#: src/components/tables/general/AttachmentTable.tsx:56 -#~ msgid "Uploaded" -#~ msgstr "Uploaded" - #: src/components/tables/part/PartCategoryTable.tsx:122 #~ msgid "Part category updated" #~ msgstr "Part category updated" @@ -2157,7 +2296,7 @@ msgid "Recently Updated" msgstr "" #: src/defaults/dashboardItems.tsx:50 -#: src/tables/part/PartTable.tsx:216 +#: src/tables/part/PartTable.tsx:223 msgid "Low Stock" msgstr "Mała ilość w magazynie" @@ -2466,7 +2605,7 @@ msgstr "" #~ msgid "Company updated" #~ msgstr "Company updated" -#: src/forms/PartForms.tsx:100 +#: src/forms/PartForms.tsx:103 msgid "Parent part category" msgstr "" @@ -2534,7 +2673,7 @@ msgstr "" #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 #: src/pages/stock/StockDetail.tsx:173 -#: src/tables/ColumnRenderers.tsx:34 +#: src/tables/ColumnRenderers.tsx:49 #: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" msgstr "Lokalizacja" @@ -2585,8 +2724,8 @@ msgstr "" #: src/forms/StockForms.tsx:176 #: src/pages/stock/StockDetail.tsx:379 -#: src/tables/stock/StockItemTable.tsx:382 -#: src/tables/stock/StockItemTable.tsx:499 +#: src/tables/stock/StockItemTable.tsx:404 +#: src/tables/stock/StockItemTable.tsx:521 msgid "Add Stock Item" msgstr "" @@ -2606,9 +2745,9 @@ msgstr "" #: src/forms/StockForms.tsx:606 #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 -#: src/pages/part/PartDetail.tsx:202 -#: src/pages/part/PartDetail.tsx:655 -#: src/tables/stock/StockItemTable.tsx:290 +#: src/pages/part/PartDetail.tsx:203 +#: src/pages/part/PartDetail.tsx:668 +#: src/tables/stock/StockItemTable.tsx:312 msgid "In Stock" msgstr "" @@ -2649,12 +2788,12 @@ msgid "Remove Stock" msgstr "" #: src/forms/StockForms.tsx:803 -#: src/pages/part/PartDetail.tsx:782 +#: src/pages/part/PartDetail.tsx:823 msgid "Transfer Stock" msgstr "" #: src/forms/StockForms.tsx:812 -#: src/pages/part/PartDetail.tsx:771 +#: src/pages/part/PartDetail.tsx:812 msgid "Count Stock" msgstr "" @@ -3279,53 +3418,57 @@ msgstr "" #~ msgid "Advanced Amininistrative Options for InvenTree" #~ msgstr "Advanced Amininistrative Options for InvenTree" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:91 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:96 +msgid "Data Import" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:102 msgid "Background Tasks" msgstr "Zadania w tle" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:97 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:108 msgid "Error Reports" msgstr "Raporty o błędach" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:103 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:114 msgid "Currencies" msgstr "Waluty" -#: 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:132 msgid "Custom Units" msgstr "Jednostki niestandardowe" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:138 #: src/pages/part/CategoryDetail.tsx:257 msgid "Part Parameters" msgstr "Parametry części" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 -#~ msgid "Templates" -#~ msgstr "Templates" - -#: src/pages/Index/Settings/AdminCenter/Index.tsx:133 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:144 msgid "Category Parameters" msgstr "Parametry kategorii" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:151 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:162 msgid "Location types" msgstr "Typy lokalizacji" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:163 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:174 #: src/tables/machine/MachineTypeTable.tsx:287 msgid "Machines" msgstr "Maszyny" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:173 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:184 msgid "Quick Actions" msgstr "Szybkie akcje" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:178 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:189 msgid "Add a new user" msgstr "Dodaj nowego użytkownika" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:199 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:210 msgid "Advanced Options" msgstr "Opcje zaawansowane" @@ -3477,7 +3620,7 @@ msgid "Reporting" msgstr "Raportowanie" #: src/pages/Index/Settings/SystemSettings.tsx:235 -#: src/pages/part/PartDetail.tsx:593 +#: src/pages/part/PartDetail.tsx:606 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" @@ -3485,12 +3628,12 @@ msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:241 #: src/pages/build/BuildDetail.tsx:423 #: src/pages/build/BuildIndex.tsx:14 -#: src/pages/part/PartDetail.tsx:527 +#: src/pages/part/PartDetail.tsx:540 #: src/pages/sales/SalesOrderDetail.tsx:270 msgid "Build Orders" msgstr "Zlecenia wykonania" -#: src/pages/Index/Settings/SystemSettings.tsx:316 +#: src/pages/Index/Settings/SystemSettings.tsx:317 msgid "Switch to User Setting" msgstr "Przełącz na ustawienie użytkownika" @@ -3555,7 +3698,8 @@ msgstr "" #: 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/settings/ImportSessionTable.tsx:116 +#: src/tables/stock/StockItemTable.tsx:281 #: src/tables/stock/StockTrackingTable.tsx:52 msgid "Status" msgstr "" @@ -3564,7 +3708,7 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:104 #: src/pages/sales/ReturnOrderDetail.tsx:73 #: src/pages/sales/SalesOrderDetail.tsx:77 -#: src/tables/ColumnRenderers.tsx:106 +#: src/tables/ColumnRenderers.tsx:121 #: src/tables/build/BuildLineTable.tsx:140 msgid "Reference" msgstr "" @@ -3574,12 +3718,12 @@ msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:78 #: src/pages/company/SupplierPartDetail.tsx:85 #: src/pages/part/CategoryDetail.tsx:94 -#: src/pages/part/PartDetail.tsx:129 +#: src/pages/part/PartDetail.tsx:130 #: src/pages/purchasing/PurchaseOrderDetail.tsx:125 #: src/pages/sales/ReturnOrderDetail.tsx:93 #: src/pages/sales/SalesOrderDetail.tsx:97 #: src/pages/stock/LocationDetail.tsx:101 -#: src/tables/ColumnRenderers.tsx:66 +#: src/tables/ColumnRenderers.tsx:81 #: src/tables/machine/MachineTypeTable.tsx:69 #: src/tables/machine/MachineTypeTable.tsx:112 #: src/tables/machine/MachineTypeTable.tsx:219 @@ -3610,7 +3754,7 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:152 -#: src/pages/part/PartDetail.tsx:317 +#: src/pages/part/PartDetail.tsx:323 #: src/pages/purchasing/PurchaseOrderDetail.tsx:217 #: src/pages/sales/ReturnOrderDetail.tsx:186 #: src/pages/sales/SalesOrderDetail.tsx:190 @@ -3630,7 +3774,7 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:210 #: src/pages/sales/ReturnOrderDetail.tsx:179 #: src/pages/sales/SalesOrderDetail.tsx:183 -#: src/tables/ColumnRenderers.tsx:191 +#: src/tables/ColumnRenderers.tsx:206 msgid "Target Date" msgstr "" @@ -3711,7 +3855,7 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:297 #: src/pages/company/CompanyDetail.tsx:257 #: src/pages/company/ManufacturerPartDetail.tsx:174 -#: src/pages/part/PartDetail.tsx:616 +#: src/pages/part/PartDetail.tsx:629 #: src/pages/purchasing/PurchaseOrderDetail.tsx:279 #: src/pages/sales/ReturnOrderDetail.tsx:230 #: src/pages/sales/SalesOrderDetail.tsx:280 @@ -3721,7 +3865,7 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:305 #: src/pages/company/CompanyDetail.tsx:268 -#: src/pages/part/PartDetail.tsx:624 +#: src/pages/part/PartDetail.tsx:637 #: src/pages/purchasing/PurchaseOrderDetail.tsx:290 #: src/pages/sales/ReturnOrderDetail.tsx:241 #: src/pages/sales/SalesOrderDetail.tsx:291 @@ -3877,12 +4021,12 @@ msgid "Manufacturer Part Details" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:148 -#: src/pages/part/PartDetail.tsx:486 +#: src/pages/part/PartDetail.tsx:492 msgid "Parameters" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:160 -#: src/pages/part/PartDetail.tsx:560 +#: src/pages/part/PartDetail.tsx:573 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" msgstr "" @@ -3907,7 +4051,7 @@ msgid "ManufacturerPart" msgstr "" #: src/pages/company/SupplierPartDetail.tsx:99 -#: src/tables/ColumnRenderers.tsx:117 +#: src/tables/ColumnRenderers.tsx:132 msgid "Note" msgstr "" @@ -4043,275 +4187,275 @@ msgstr "" msgid "Category Details" msgstr "" -#: src/pages/part/PartDetail.tsx:135 +#: src/pages/part/PartDetail.tsx:136 msgid "Variant of" msgstr "" -#: src/pages/part/PartDetail.tsx:142 +#: src/pages/part/PartDetail.tsx:143 #: src/tables/notifications/NotificationsTable.tsx:31 #: src/tables/part/PartCategoryTemplateTable.tsx:67 msgid "Category" msgstr "" -#: src/pages/part/PartDetail.tsx:148 +#: src/pages/part/PartDetail.tsx:149 msgid "Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:155 +#: src/pages/part/PartDetail.tsx:156 msgid "Category Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:162 +#: src/pages/part/PartDetail.tsx:163 msgid "IPN" msgstr "" -#: src/pages/part/PartDetail.tsx:169 +#: src/pages/part/PartDetail.tsx:170 msgid "Revision" msgstr "" -#: src/pages/part/PartDetail.tsx:176 +#: src/pages/part/PartDetail.tsx:177 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" msgstr "" -#: src/pages/part/PartDetail.tsx:183 +#: src/pages/part/PartDetail.tsx:184 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:190 +#: src/pages/part/PartDetail.tsx:191 #: src/pages/purchasing/PurchaseOrderDetail.tsx:183 #: src/pages/sales/ReturnOrderDetail.tsx:152 #: src/pages/sales/SalesOrderDetail.tsx:156 msgid "Link" msgstr "" -#: src/pages/part/PartDetail.tsx:208 -#: src/tables/bom/BomTable.tsx:276 +#: src/pages/part/PartDetail.tsx:209 +#: src/tables/bom/BomTable.tsx:279 #: src/tables/build/BuildLineTable.tsx:121 -#: src/tables/part/PartTable.tsx:256 +#: src/tables/part/PartTable.tsx:263 msgid "Available Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:215 +#: src/pages/part/PartDetail.tsx:216 msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:221 -#: src/tables/bom/BomTable.tsx:217 +#: src/pages/part/PartDetail.tsx:222 +#: src/tables/bom/BomTable.tsx:220 #: src/tables/build/BuildLineTable.tsx:95 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:230 +#: src/pages/part/PartDetail.tsx:231 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:238 +#: src/pages/part/PartDetail.tsx:239 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:245 -#: src/tables/bom/BomTable.tsx:241 +#: src/pages/part/PartDetail.tsx:246 +#: src/tables/bom/BomTable.tsx:244 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:252 -#: src/tables/bom/BomTable.tsx:225 -#: src/tables/part/PartTable.tsx:82 +#: src/pages/part/PartDetail.tsx:253 +#: src/tables/bom/BomTable.tsx:228 +#: src/tables/part/PartTable.tsx:83 msgid "Building" msgstr "" -#: src/pages/part/PartDetail.tsx:261 +#: src/pages/part/PartDetail.tsx:262 #: src/tables/bom/UsedInTable.tsx:73 #: src/tables/build/BuildOrderTable.tsx:108 #: src/tables/company/CompanyTable.tsx:61 #: src/tables/company/CompanyTable.tsx:95 #: src/tables/machine/MachineListTable.tsx:323 #: src/tables/machine/MachineListTable.tsx:585 -#: src/tables/part/PartTable.tsx:168 +#: src/tables/part/PartTable.tsx:169 #: src/tables/part/PartVariantTable.tsx:15 #: 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 +#: src/tables/stock/StockItemTable.tsx:276 msgid "Active" msgstr "" -#: src/pages/part/PartDetail.tsx:266 +#: src/pages/part/PartDetail.tsx:272 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:271 -#: src/tables/bom/BomTable.tsx:271 +#: src/pages/part/PartDetail.tsx:277 +#: src/tables/bom/BomTable.tsx:274 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:276 +#: src/pages/part/PartDetail.tsx:282 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:281 -#: src/tables/bom/BomTable.tsx:266 +#: src/pages/part/PartDetail.tsx:287 +#: src/tables/bom/BomTable.tsx:269 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:286 +#: src/pages/part/PartDetail.tsx:292 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:291 +#: src/pages/part/PartDetail.tsx:297 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:296 +#: src/pages/part/PartDetail.tsx:302 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:304 -#: src/tables/ColumnRenderers.tsx:199 +#: src/pages/part/PartDetail.tsx:310 +#: src/tables/ColumnRenderers.tsx:214 msgid "Creation Date" msgstr "" -#: src/pages/part/PartDetail.tsx:309 -msgid "Created By" -msgstr "" - #: src/pages/part/PartDetail.tsx:310 #~ msgid "Edit part" #~ msgstr "Edit part" +#: src/pages/part/PartDetail.tsx:315 +msgid "Created By" +msgstr "" + #: src/pages/part/PartDetail.tsx:322 #~ msgid "Duplicate part" #~ msgstr "Duplicate part" -#: src/pages/part/PartDetail.tsx:324 -msgid "Default Supplier" -msgstr "" - #: src/pages/part/PartDetail.tsx:327 #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:335 +#: src/pages/part/PartDetail.tsx:330 +msgid "Default Supplier" +msgstr "" + +#: src/pages/part/PartDetail.tsx:341 #: src/pages/part/pricing/BomPricingPanel.tsx:78 #: src/pages/part/pricing/VariantPricingPanel.tsx:95 -#: src/tables/part/PartTable.tsx:151 +#: src/tables/part/PartTable.tsx:152 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:374 +#: src/pages/part/PartDetail.tsx:380 #: src/pages/stock/StockDetail.tsx:133 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:409 +#: src/pages/part/PartDetail.tsx:415 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:480 +#: src/pages/part/PartDetail.tsx:486 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:506 +#: src/pages/part/PartDetail.tsx:517 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:513 +#: src/pages/part/PartDetail.tsx:524 #: src/pages/stock/StockDetail.tsx:286 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:520 +#: src/pages/part/PartDetail.tsx:531 msgid "Bill of Materials" msgstr "" -#: src/pages/part/PartDetail.tsx:534 +#: src/pages/part/PartDetail.tsx:547 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:541 +#: src/pages/part/PartDetail.tsx:554 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:547 +#: src/pages/part/PartDetail.tsx:560 #: src/pages/purchasing/PurchasingIndex.tsx:37 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:587 +#: src/pages/part/PartDetail.tsx:600 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:599 +#: src/pages/part/PartDetail.tsx:612 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:610 +#: src/pages/part/PartDetail.tsx:623 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:661 +#: src/pages/part/PartDetail.tsx:674 #: src/pages/stock/StockDetail.tsx:154 #: src/pages/stock/StockDetail.tsx:533 #: src/tables/build/BuildLineTable.tsx:36 -#: src/tables/part/PartTable.tsx:107 +#: src/tables/part/PartTable.tsx:108 #: src/tables/stock/StockItemTable.tsx:166 -#: src/tables/stock/StockItemTable.tsx:275 +#: src/tables/stock/StockItemTable.tsx:297 msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:667 +#: src/pages/part/PartDetail.tsx:680 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:673 -#: src/tables/bom/BomTable.tsx:281 -#: src/tables/part/PartTable.tsx:76 +#: src/pages/part/PartDetail.tsx:686 +#: src/tables/bom/BomTable.tsx:284 +#: src/tables/part/PartTable.tsx:77 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:679 +#: src/pages/part/PartDetail.tsx:692 #: src/pages/stock/StockDetail.tsx:516 -#: src/tables/stock/StockItemTable.tsx:295 +#: src/tables/stock/StockItemTable.tsx:317 msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:698 +#: src/pages/part/PartDetail.tsx:717 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:705 -#: src/tables/part/PartTable.tsx:289 -#: src/tables/part/PartTable.tsx:302 +#: src/pages/part/PartDetail.tsx:744 +#: src/tables/part/PartTable.tsx:296 +#: src/tables/part/PartTable.tsx:309 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:717 +#: src/pages/part/PartDetail.tsx:758 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:726 +#: src/pages/part/PartDetail.tsx:767 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:764 +#: src/pages/part/PartDetail.tsx:805 #: src/pages/stock/LocationDetail.tsx:304 -#: src/tables/stock/StockItemTable.tsx:409 +#: src/tables/stock/StockItemTable.tsx:431 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:772 +#: src/pages/part/PartDetail.tsx:813 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:824 msgid "Transfer part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:792 +#: src/pages/part/PartDetail.tsx:833 msgid "Part Actions" msgstr "" @@ -4359,8 +4503,8 @@ msgstr "" #: src/pages/part/pricing/BomPricingPanel.tsx:57 #: src/pages/part/pricing/BomPricingPanel.tsx:137 -#: src/tables/ColumnRenderers.tsx:241 -#: src/tables/bom/BomTable.tsx:165 +#: src/tables/ColumnRenderers.tsx:256 +#: src/tables/bom/BomTable.tsx:168 #: src/tables/purchasing/PurchaseOrderTable.tsx:112 #: src/tables/sales/ReturnOrderTable.tsx:104 #: src/tables/sales/SalesOrderTable.tsx:134 @@ -4369,7 +4513,7 @@ msgstr "" #: src/pages/part/pricing/BomPricingPanel.tsx:77 #: src/pages/part/pricing/BomPricingPanel.tsx:101 -#: src/tables/part/PartTable.tsx:186 +#: src/tables/part/PartTable.tsx:193 msgid "Component" msgstr "" @@ -4398,7 +4542,7 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:67 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:128 #: src/pages/part/pricing/SupplierPricingPanel.tsx:62 -#: src/tables/bom/BomTable.tsx:156 +#: src/tables/bom/BomTable.tsx:159 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 msgid "Unit Price" @@ -4498,7 +4642,7 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:40 #: src/pages/part/pricing/SaleHistoryPanel.tsx:36 -#: src/tables/ColumnRenderers.tsx:180 +#: src/tables/ColumnRenderers.tsx:195 #: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" @@ -4771,12 +4915,12 @@ msgid "Count stock" msgstr "" #: src/pages/stock/StockDetail.tsx:459 -#: src/tables/stock/StockItemTable.tsx:414 +#: src/tables/stock/StockItemTable.tsx:436 msgid "Add stock" msgstr "" #: src/pages/stock/StockDetail.tsx:467 -#: src/tables/stock/StockItemTable.tsx:423 +#: src/tables/stock/StockItemTable.tsx:445 msgid "Remove stock" msgstr "" @@ -4785,7 +4929,7 @@ msgid "Transfer" msgstr "" #: src/pages/stock/StockDetail.tsx:475 -#: src/tables/stock/StockItemTable.tsx:443 +#: src/tables/stock/StockItemTable.tsx:465 msgid "Transfer stock" msgstr "" @@ -4793,15 +4937,15 @@ msgstr "" msgid "Stock Item Actions" msgstr "" -#: src/tables/ColumnRenderers.tsx:42 +#: src/tables/ColumnRenderers.tsx:57 msgid "No location set" msgstr "" -#: src/tables/ColumnRenderers.tsx:207 +#: src/tables/ColumnRenderers.tsx:222 msgid "Shipment Date" msgstr "" -#: src/tables/ColumnRenderers.tsx:227 +#: src/tables/ColumnRenderers.tsx:242 #: src/tables/settings/CurrencyTable.tsx:23 msgid "Currency" msgstr "" @@ -4828,14 +4972,14 @@ msgid "TSV" msgstr "" #: src/tables/DownloadAction.tsx:24 -msgid "Excel (.xls)" -msgstr "" - -#: src/tables/DownloadAction.tsx:25 msgid "Excel (.xlsx)" msgstr "" -#: src/tables/DownloadAction.tsx:39 +#: src/tables/DownloadAction.tsx:24 +#~ msgid "Excel (.xls)" +#~ msgstr "" + +#: src/tables/DownloadAction.tsx:38 msgid "Download Data" msgstr "" @@ -4900,54 +5044,54 @@ msgstr "" msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:119 -#: src/tables/InvenTreeTable.tsx:390 -#: src/tables/InvenTreeTable.tsx:411 +#: src/tables/InvenTreeTable.tsx:126 +#: src/tables/InvenTreeTable.tsx:409 +#: src/tables/InvenTreeTable.tsx:430 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:422 +#: src/tables/InvenTreeTable.tsx:441 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:430 +#: src/tables/InvenTreeTable.tsx:449 msgid "Bad request" msgstr "" -#: src/tables/InvenTreeTable.tsx:433 +#: src/tables/InvenTreeTable.tsx:452 msgid "Unauthorized" msgstr "" -#: src/tables/InvenTreeTable.tsx:436 +#: src/tables/InvenTreeTable.tsx:455 msgid "Forbidden" msgstr "" -#: src/tables/InvenTreeTable.tsx:439 +#: src/tables/InvenTreeTable.tsx:458 msgid "Not found" msgstr "" -#: src/tables/InvenTreeTable.tsx:488 -#: src/tables/InvenTreeTable.tsx:606 +#: src/tables/InvenTreeTable.tsx:507 +#: src/tables/InvenTreeTable.tsx:623 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:492 +#: src/tables/InvenTreeTable.tsx:511 msgid "Are you sure you want to delete the selected records?" msgstr "" -#: src/tables/InvenTreeTable.tsx:494 +#: src/tables/InvenTreeTable.tsx:513 msgid "This action cannot be undone!" msgstr "" -#: src/tables/InvenTreeTable.tsx:517 +#: src/tables/InvenTreeTable.tsx:536 msgid "Deleted records" msgstr "" -#: src/tables/InvenTreeTable.tsx:518 +#: src/tables/InvenTreeTable.tsx:537 msgid "Records were deleted successfully" msgstr "" -#: src/tables/InvenTreeTable.tsx:527 +#: src/tables/InvenTreeTable.tsx:546 msgid "Failed to delete records" msgstr "" @@ -4956,140 +5100,144 @@ msgstr "" #~ msgid "Print actions" #~ msgstr "Print actions" -#: src/tables/InvenTreeTable.tsx:596 -#: src/tables/InvenTreeTable.tsx:597 +#: src/tables/InvenTreeTable.tsx:613 +#: src/tables/InvenTreeTable.tsx:614 msgid "Barcode actions" msgstr "" -#: src/tables/InvenTreeTable.tsx:625 +#: src/tables/InvenTreeTable.tsx:642 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTable.tsx:646 +#: src/tables/InvenTreeTable.tsx:663 msgid "Table filters" msgstr "" -#: src/tables/bom/BomTable.tsx:80 +#: src/tables/UploadAction.tsx:9 +msgid "Upload Data" +msgstr "" + +#: src/tables/bom/BomTable.tsx:83 msgid "This BOM item is defined for a different parent" msgstr "" -#: src/tables/bom/BomTable.tsx:95 +#: src/tables/bom/BomTable.tsx:98 msgid "Part Information" msgstr "" -#: src/tables/bom/BomTable.tsx:184 -#: src/tables/part/PartTable.tsx:124 +#: src/tables/bom/BomTable.tsx:187 +#: src/tables/part/PartTable.tsx:125 msgid "No stock" msgstr "" -#: src/tables/bom/BomTable.tsx:192 +#: src/tables/bom/BomTable.tsx:195 #: src/tables/build/BuildLineTable.tsx:104 -#: src/tables/part/PartTable.tsx:115 +#: src/tables/part/PartTable.tsx:116 msgid "External stock" msgstr "" -#: src/tables/bom/BomTable.tsx:200 +#: src/tables/bom/BomTable.tsx:203 #: src/tables/build/BuildLineTable.tsx:67 msgid "Includes substitute stock" msgstr "" -#: src/tables/bom/BomTable.tsx:209 +#: src/tables/bom/BomTable.tsx:212 #: src/tables/build/BuildLineTable.tsx:77 msgid "Includes variant stock" msgstr "" -#: src/tables/bom/BomTable.tsx:234 -#: src/tables/part/PartTable.tsx:143 +#: src/tables/bom/BomTable.tsx:237 +#: src/tables/part/PartTable.tsx:144 #: src/tables/stock/StockItemTable.tsx:205 msgid "Stock Information" msgstr "" -#: src/tables/bom/BomTable.tsx:246 +#: src/tables/bom/BomTable.tsx:249 #: src/tables/build/BuildLineTable.tsx:195 msgid "Consumable item" msgstr "" -#: src/tables/bom/BomTable.tsx:267 +#: src/tables/bom/BomTable.tsx:270 msgid "Show trackable items" msgstr "" -#: src/tables/bom/BomTable.tsx:272 +#: src/tables/bom/BomTable.tsx:275 msgid "Show asssmbled items" msgstr "" -#: src/tables/bom/BomTable.tsx:277 +#: src/tables/bom/BomTable.tsx:280 msgid "Show items with available stock" msgstr "" -#: src/tables/bom/BomTable.tsx:282 +#: src/tables/bom/BomTable.tsx:285 msgid "Show items on order" msgstr "" -#: src/tables/bom/BomTable.tsx:286 +#: src/tables/bom/BomTable.tsx:289 msgid "Validated" msgstr "" -#: src/tables/bom/BomTable.tsx:287 +#: src/tables/bom/BomTable.tsx:290 msgid "Show validated items" msgstr "" -#: src/tables/bom/BomTable.tsx:291 +#: src/tables/bom/BomTable.tsx:294 #: src/tables/bom/UsedInTable.tsx:63 msgid "Inherited" msgstr "" -#: src/tables/bom/BomTable.tsx:292 +#: src/tables/bom/BomTable.tsx:295 #: src/tables/bom/UsedInTable.tsx:64 msgid "Show inherited items" msgstr "" -#: src/tables/bom/BomTable.tsx:296 +#: src/tables/bom/BomTable.tsx:299 msgid "Allow Variants" msgstr "" -#: src/tables/bom/BomTable.tsx:297 +#: src/tables/bom/BomTable.tsx:300 msgid "Show items which allow variant substitution" msgstr "" #: src/tables/bom/BomTable.tsx:301 +#~ msgid "Create BOM Item" +#~ msgstr "Create BOM Item" + +#: src/tables/bom/BomTable.tsx:304 #: src/tables/bom/UsedInTable.tsx:68 #: src/tables/build/BuildLineTable.tsx:46 msgid "Optional" msgstr "" -#: src/tables/bom/BomTable.tsx:301 -#~ msgid "Create BOM Item" -#~ msgstr "Create BOM Item" - -#: src/tables/bom/BomTable.tsx:302 +#: src/tables/bom/BomTable.tsx:305 #: src/tables/bom/UsedInTable.tsx:69 msgid "Show optional items" msgstr "" -#: src/tables/bom/BomTable.tsx:306 +#: src/tables/bom/BomTable.tsx:309 #: src/tables/build/BuildLineTable.tsx:41 msgid "Consumable" msgstr "" -#: src/tables/bom/BomTable.tsx:307 +#: src/tables/bom/BomTable.tsx:310 msgid "Show consumable items" msgstr "" -#: src/tables/bom/BomTable.tsx:311 -#: src/tables/part/PartTable.tsx:250 +#: src/tables/bom/BomTable.tsx:314 +#: src/tables/part/PartTable.tsx:257 msgid "Has Pricing" msgstr "" -#: src/tables/bom/BomTable.tsx:312 +#: src/tables/bom/BomTable.tsx:315 msgid "Show items with pricing" msgstr "" -#: src/tables/bom/BomTable.tsx:321 -#: src/tables/bom/BomTable.tsx:420 +#: src/tables/bom/BomTable.tsx:324 +#: src/tables/bom/BomTable.tsx:426 msgid "Add BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:326 +#: src/tables/bom/BomTable.tsx:329 msgid "BOM item created" msgstr "" @@ -5097,23 +5245,23 @@ msgstr "" #~ msgid "Edit Bom Item" #~ msgstr "Edit Bom Item" -#: src/tables/bom/BomTable.tsx:333 -msgid "Edit BOM Item" -msgstr "" - #: src/tables/bom/BomTable.tsx:333 #~ msgid "Bom item updated" #~ msgstr "Bom item updated" -#: src/tables/bom/BomTable.tsx:335 +#: src/tables/bom/BomTable.tsx:336 +msgid "Edit BOM Item" +msgstr "" + +#: src/tables/bom/BomTable.tsx:338 msgid "BOM item updated" msgstr "" -#: src/tables/bom/BomTable.tsx:342 +#: src/tables/bom/BomTable.tsx:345 msgid "Delete BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:343 +#: src/tables/bom/BomTable.tsx:346 msgid "BOM item deleted" msgstr "" @@ -5133,32 +5281,41 @@ msgstr "" #~ msgid "Validate BOM line" #~ msgstr "Validate BOM line" -#: src/tables/bom/BomTable.tsx:355 +#: src/tables/bom/BomTable.tsx:358 msgid "BOM item validated" msgstr "" -#: src/tables/bom/BomTable.tsx:364 +#: src/tables/bom/BomTable.tsx:367 msgid "Failed to validate BOM item" msgstr "" -#: src/tables/bom/BomTable.tsx:376 +#: src/tables/bom/BomTable.tsx:379 msgid "View BOM" msgstr "" -#: src/tables/bom/BomTable.tsx:385 +#: src/tables/bom/BomTable.tsx:388 msgid "Validate BOM Line" msgstr "" -#: src/tables/bom/BomTable.tsx:399 +#: src/tables/bom/BomTable.tsx:405 msgid "Edit Substitutes" msgstr "" +#: src/tables/bom/BomTable.tsx:440 +#: src/tables/part/PartParameterTable.tsx:191 +msgid "Part is Locked" +msgstr "" + +#: src/tables/bom/BomTable.tsx:445 +msgid "Bill of materials cannot be edited, as the part is locked" +msgstr "" + #: src/tables/bom/UsedInTable.tsx:74 msgid "Show active assemblies" msgstr "" #: src/tables/bom/UsedInTable.tsx:78 -#: src/tables/part/PartTable.tsx:192 +#: src/tables/part/PartTable.tsx:199 #: src/tables/part/PartVariantTable.tsx:30 msgid "Trackable" msgstr "" @@ -5168,7 +5325,7 @@ msgid "Show trackable assemblies" msgstr "" #: src/tables/build/BuildLineTable.tsx:31 -#: src/tables/stock/StockItemTable.tsx:270 +#: src/tables/stock/StockItemTable.tsx:292 msgid "Allocated" msgstr "" @@ -5189,7 +5346,7 @@ msgid "Show optional lines" msgstr "" #: src/tables/build/BuildLineTable.tsx:51 -#: src/tables/stock/StockItemTable.tsx:329 +#: src/tables/stock/StockItemTable.tsx:351 msgid "Tracked" msgstr "" @@ -5302,10 +5459,6 @@ msgstr "" msgid "Deallocate stock from build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:205 -msgid "Complete" -msgstr "" - #: src/tables/build/BuildOutputTable.tsx:206 msgid "Complete build output" msgstr "" @@ -5635,7 +5788,7 @@ msgid "Message" msgstr "" #: src/tables/part/ParametricPartTable.tsx:76 -#: src/tables/part/PartParameterTable.tsx:88 +#: src/tables/part/PartParameterTable.tsx:95 msgid "Internal Units" msgstr "" @@ -5648,13 +5801,13 @@ msgid "Add Part Parameter" msgstr "" #: src/tables/part/ParametricPartTable.tsx:138 -#: src/tables/part/PartParameterTable.tsx:121 -#: src/tables/part/PartParameterTable.tsx:144 +#: src/tables/part/PartParameterTable.tsx:128 +#: src/tables/part/PartParameterTable.tsx:151 msgid "Edit Part Parameter" msgstr "" #: src/tables/part/PartCategoryTable.tsx:60 -#: src/tables/part/PartTable.tsx:180 +#: src/tables/part/PartTable.tsx:187 msgid "Include Subcategories" msgstr "" @@ -5667,7 +5820,7 @@ msgid "Show structural categories" msgstr "" #: src/tables/part/PartCategoryTable.tsx:70 -#: src/tables/part/PartTable.tsx:262 +#: src/tables/part/PartTable.tsx:269 msgid "Subscribed" msgstr "" @@ -5704,21 +5857,25 @@ msgstr "" #~ msgid "[{0}]" #~ msgstr "[{0}]" -#: src/tables/part/PartParameterTable.tsx:105 +#: src/tables/part/PartParameterTable.tsx:112 msgid "New Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:130 -#: src/tables/part/PartParameterTable.tsx:152 +#: src/tables/part/PartParameterTable.tsx:137 +#: src/tables/part/PartParameterTable.tsx:159 msgid "Delete Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:170 +#: src/tables/part/PartParameterTable.tsx:177 msgid "Add parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:191 -#: src/tables/stock/StockItemTable.tsx:300 +#: src/tables/part/PartParameterTable.tsx:196 +msgid "Part parameters cannot be edited, as the part is locked" +msgstr "" + +#: src/tables/part/PartParameterTable.tsx:210 +#: src/tables/stock/StockItemTable.tsx:322 msgid "Include Variants" msgstr "" @@ -5739,7 +5896,7 @@ msgid "Show templates with choices" msgstr "" #: src/tables/part/PartParameterTemplateTable.tsx:41 -#: src/tables/part/PartTable.tsx:198 +#: src/tables/part/PartTable.tsx:205 msgid "Has Units" msgstr "" @@ -5763,116 +5920,120 @@ msgstr "" msgid "Add parameter template" msgstr "" -#: src/tables/part/PartTable.tsx:67 +#: src/tables/part/PartTable.tsx:68 msgid "Minimum stock" msgstr "" -#: src/tables/part/PartTable.tsx:89 +#: src/tables/part/PartTable.tsx:90 msgid "Build Order Allocations" msgstr "" -#: src/tables/part/PartTable.tsx:98 +#: src/tables/part/PartTable.tsx:99 msgid "Sales Order Allocations" msgstr "" -#: src/tables/part/PartTable.tsx:169 +#: src/tables/part/PartTable.tsx:170 msgid "Filter by part active status" msgstr "" -#: src/tables/part/PartTable.tsx:174 -#: src/tables/stock/StockItemTable.tsx:265 +#: src/tables/part/PartTable.tsx:176 +msgid "Filter by part locked status" +msgstr "" + +#: src/tables/part/PartTable.tsx:181 +#: src/tables/stock/StockItemTable.tsx:287 msgid "Assembly" msgstr "" -#: src/tables/part/PartTable.tsx:175 +#: src/tables/part/PartTable.tsx:182 msgid "Filter by assembly attribute" msgstr "" -#: src/tables/part/PartTable.tsx:181 +#: src/tables/part/PartTable.tsx:188 msgid "Include parts in subcategories" msgstr "" -#: src/tables/part/PartTable.tsx:187 +#: src/tables/part/PartTable.tsx:194 msgid "Filter by component attribute" msgstr "" -#: src/tables/part/PartTable.tsx:193 +#: src/tables/part/PartTable.tsx:200 msgid "Filter by trackable attribute" msgstr "" -#: src/tables/part/PartTable.tsx:199 +#: src/tables/part/PartTable.tsx:206 msgid "Filter by parts which have units" msgstr "" -#: src/tables/part/PartTable.tsx:204 +#: src/tables/part/PartTable.tsx:211 msgid "Has IPN" msgstr "" -#: src/tables/part/PartTable.tsx:205 +#: src/tables/part/PartTable.tsx:212 msgid "Filter by parts which have an internal part number" msgstr "" -#: src/tables/part/PartTable.tsx:210 +#: src/tables/part/PartTable.tsx:217 msgid "Has Stock" msgstr "" -#: src/tables/part/PartTable.tsx:211 +#: src/tables/part/PartTable.tsx:218 msgid "Filter by parts which have stock" msgstr "" -#: src/tables/part/PartTable.tsx:217 +#: src/tables/part/PartTable.tsx:224 msgid "Filter by parts which have low stock" msgstr "" -#: src/tables/part/PartTable.tsx:222 +#: src/tables/part/PartTable.tsx:229 msgid "Purchaseable" msgstr "" -#: src/tables/part/PartTable.tsx:223 +#: src/tables/part/PartTable.tsx:230 msgid "Filter by parts which are purchaseable" msgstr "" -#: src/tables/part/PartTable.tsx:228 +#: src/tables/part/PartTable.tsx:235 msgid "Salable" msgstr "" -#: src/tables/part/PartTable.tsx:229 +#: src/tables/part/PartTable.tsx:236 msgid "Filter by parts which are salable" msgstr "" -#: src/tables/part/PartTable.tsx:235 +#: src/tables/part/PartTable.tsx:242 msgid "Filter by parts which are virtual" msgstr "" -#: src/tables/part/PartTable.tsx:239 +#: src/tables/part/PartTable.tsx:246 msgid "Not Virtual" msgstr "" -#: src/tables/part/PartTable.tsx:244 +#: src/tables/part/PartTable.tsx:251 msgid "Is Template" msgstr "" -#: src/tables/part/PartTable.tsx:245 +#: src/tables/part/PartTable.tsx:252 msgid "Filter by parts which are templates" msgstr "" -#: src/tables/part/PartTable.tsx:251 +#: src/tables/part/PartTable.tsx:258 msgid "Filter by parts which have pricing information" msgstr "" -#: src/tables/part/PartTable.tsx:257 +#: src/tables/part/PartTable.tsx:264 msgid "Filter by parts which have available stock" msgstr "" -#: src/tables/part/PartTable.tsx:263 +#: src/tables/part/PartTable.tsx:270 msgid "Filter by parts to which the user is subscribed" msgstr "" -#: src/tables/part/PartTable.tsx:268 +#: src/tables/part/PartTable.tsx:275 msgid "Has Stocktake" msgstr "" -#: src/tables/part/PartTable.tsx:269 +#: src/tables/part/PartTable.tsx:276 msgid "Filter by parts which have stocktake information" msgstr "" @@ -6211,7 +6372,7 @@ msgid "Sample" msgstr "" #: src/tables/plugin/PluginListTable.tsx:578 -#: src/tables/stock/StockItemTable.tsx:305 +#: src/tables/stock/StockItemTable.tsx:327 msgid "Installed" msgstr "" @@ -6486,6 +6647,41 @@ msgstr "" msgid "Edit group" msgstr "" +#: src/tables/settings/ImportSessionTable.tsx:39 +msgid "Delete Import Session" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:45 +#: src/tables/settings/ImportSessionTable.tsx:132 +msgid "Create Import Session" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:70 +msgid "Uploaded" +msgstr "Uploaded" + +#: src/tables/settings/ImportSessionTable.tsx:80 +msgid "Imported Rows" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:110 +#: src/tables/settings/TemplateTable.tsx:276 +msgid "Model Type" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:111 +#: src/tables/settings/TemplateTable.tsx:277 +msgid "Filter by target model type" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:117 +msgid "Filter by import session status" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:123 +msgid "Filter by user" +msgstr "" + #: src/tables/settings/PendingTasksTable.tsx:36 msgid "Arguments" msgstr "" @@ -6502,7 +6698,7 @@ msgstr "" msgid "Delete Project Code" msgstr "" -#: src/tables/settings/ProjectCodeTable.tsx:94 +#: src/tables/settings/ProjectCodeTable.tsx:92 msgid "Add project code" msgstr "" @@ -6571,14 +6767,6 @@ msgstr "" 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 "" @@ -6701,149 +6889,153 @@ msgstr "" msgid "This stock item has been depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:255 +#: src/tables/stock/StockItemTable.tsx:247 +msgid "Stock Value" +msgstr "" + +#: src/tables/stock/StockItemTable.tsx:277 msgid "Show stock for active parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:260 +#: src/tables/stock/StockItemTable.tsx:282 msgid "Filter by stock status" msgstr "" -#: src/tables/stock/StockItemTable.tsx:266 +#: src/tables/stock/StockItemTable.tsx:288 msgid "Show stock for assmebled parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:271 +#: src/tables/stock/StockItemTable.tsx:293 msgid "Show items which have been allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:276 +#: src/tables/stock/StockItemTable.tsx:298 msgid "Show items which are available" msgstr "" -#: src/tables/stock/StockItemTable.tsx:280 +#: src/tables/stock/StockItemTable.tsx:302 #: src/tables/stock/StockLocationTable.tsx:42 msgid "Include Sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:281 +#: src/tables/stock/StockItemTable.tsx:303 msgid "Include stock in sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:285 +#: src/tables/stock/StockItemTable.tsx:307 msgid "Depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:286 +#: src/tables/stock/StockItemTable.tsx:308 msgid "Show depleted stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:291 +#: src/tables/stock/StockItemTable.tsx:313 msgid "Show items which are in stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:296 +#: src/tables/stock/StockItemTable.tsx:318 msgid "Show items which are in production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:301 +#: src/tables/stock/StockItemTable.tsx:323 msgid "Include stock items for variant parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:306 +#: src/tables/stock/StockItemTable.tsx:328 msgid "Show stock items which are installed in other items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:310 +#: src/tables/stock/StockItemTable.tsx:332 msgid "Sent to Customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:311 +#: src/tables/stock/StockItemTable.tsx:333 msgid "Show items which have been sent to a customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:315 +#: src/tables/stock/StockItemTable.tsx:337 msgid "Is Serialized" msgstr "" -#: src/tables/stock/StockItemTable.tsx:316 +#: src/tables/stock/StockItemTable.tsx:338 msgid "Show items which have a serial number" msgstr "" -#: src/tables/stock/StockItemTable.tsx:323 +#: src/tables/stock/StockItemTable.tsx:345 msgid "Has Batch Code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:324 +#: src/tables/stock/StockItemTable.tsx:346 msgid "Show items which have a batch code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:330 +#: src/tables/stock/StockItemTable.tsx:352 msgid "Show tracked items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:334 +#: src/tables/stock/StockItemTable.tsx:356 msgid "Has Purchase Price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:335 +#: src/tables/stock/StockItemTable.tsx:357 msgid "Show items which have a purchase price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:343 +#: src/tables/stock/StockItemTable.tsx:365 msgid "External Location" msgstr "" -#: src/tables/stock/StockItemTable.tsx:344 +#: src/tables/stock/StockItemTable.tsx:366 msgid "Show items in an external location" msgstr "" -#: src/tables/stock/StockItemTable.tsx:416 +#: src/tables/stock/StockItemTable.tsx:438 msgid "Add a new stock item" msgstr "" -#: src/tables/stock/StockItemTable.tsx:425 +#: src/tables/stock/StockItemTable.tsx:447 msgid "Remove some quantity from a stock item" msgstr "" -#: src/tables/stock/StockItemTable.tsx:447 +#: src/tables/stock/StockItemTable.tsx:469 msgid "Move Stock items to new locations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:454 +#: src/tables/stock/StockItemTable.tsx:476 msgid "Change stock status" msgstr "" -#: src/tables/stock/StockItemTable.tsx:456 +#: src/tables/stock/StockItemTable.tsx:478 msgid "Change the status of stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:463 +#: src/tables/stock/StockItemTable.tsx:485 msgid "Merge stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:465 +#: src/tables/stock/StockItemTable.tsx:487 msgid "Merge stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:472 +#: src/tables/stock/StockItemTable.tsx:494 msgid "Order stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:474 -#: src/tables/stock/StockItemTable.tsx:480 +#: src/tables/stock/StockItemTable.tsx:496 +#: src/tables/stock/StockItemTable.tsx:502 msgid "Order new stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:478 +#: src/tables/stock/StockItemTable.tsx:500 msgid "Assign to customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:487 +#: src/tables/stock/StockItemTable.tsx:509 msgid "Delete stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:489 +#: src/tables/stock/StockItemTable.tsx:511 msgid "Delete stock items" msgstr "" @@ -6999,4 +7191,3 @@ msgstr "" #: src/views/MobileAppView.tsx:35 msgid "Ignore and continue to Desktop view" msgstr "" - diff --git a/src/frontend/src/locales/pseudo-LOCALE/messages.po b/src/frontend/src/locales/pseudo-LOCALE/messages.po index 2ae1c332052c..d3fda252d037 100644 --- a/src/frontend/src/locales/pseudo-LOCALE/messages.po +++ b/src/frontend/src/locales/pseudo-LOCALE/messages.po @@ -84,16 +84,18 @@ msgstr "" #: src/components/buttons/PrintingActions.tsx:107 #: src/components/buttons/PrintingActions.tsx:144 #: src/components/editors/NotesEditor.tsx:65 -#: src/components/editors/NotesEditor.tsx:160 -#: src/components/forms/ApiForm.tsx:506 -#: src/components/forms/fields/ApiFormField.tsx:295 +#: src/components/editors/NotesEditor.tsx:165 +#: src/components/forms/ApiForm.tsx:513 +#: src/components/forms/fields/ApiFormField.tsx:306 +#: src/components/importer/ImportDataSelector.tsx:171 +#: src/components/importer/ImporterColumnSelector.tsx:112 #: src/components/modals/LicenseModal.tsx:75 #: src/components/nav/SearchDrawer.tsx:427 #: src/pages/ErrorPage.tsx:11 #: src/pages/part/PartPricingPanel.tsx:71 -#: src/tables/InvenTreeTable.tsx:451 -#: src/tables/InvenTreeTable.tsx:526 -#: src/tables/bom/BomTable.tsx:363 +#: src/tables/InvenTreeTable.tsx:470 +#: src/tables/InvenTreeTable.tsx:545 +#: src/tables/bom/BomTable.tsx:366 #: src/tables/stock/StockItemTestResultTable.tsx:294 msgid "Error" msgstr "" @@ -192,7 +194,7 @@ msgstr "" #: src/functions/forms.tsx:196 #: src/hooks/UseForm.tsx:40 #: src/tables/FilterSelectDrawer.tsx:204 -#: src/tables/InvenTreeTable.tsx:499 +#: src/tables/InvenTreeTable.tsx:518 #: src/tables/build/BuildOutputTable.tsx:225 msgid "Cancel" msgstr "" @@ -210,7 +212,7 @@ msgid "Clear" msgstr "" #: src/components/details/DetailsImage.tsx:227 -#: src/components/forms/ApiForm.tsx:573 +#: src/components/forms/ApiForm.tsx:580 #: src/contexts/ThemeContext.tsx:43 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:56 msgid "Submit" @@ -237,48 +239,61 @@ msgid "Delete image" msgstr "" #: src/components/details/PartIcons.tsx:28 +#: src/tables/ColumnRenderers.tsx:35 +msgid "Part is locked" +msgstr "" + +#: src/components/details/PartIcons.tsx:30 +#: src/pages/part/PartDetail.tsx:267 +#: src/pages/part/PartDetail.tsx:698 +#: src/tables/part/PartTable.tsx:175 +msgid "Locked" +msgstr "" + +#: src/components/details/PartIcons.tsx:35 +#: src/tables/ColumnRenderers.tsx:30 msgid "Part is not active" msgstr "" -#: src/components/details/PartIcons.tsx:34 +#: src/components/details/PartIcons.tsx:37 #: src/components/render/Plugin.tsx:17 #: src/pages/company/CompanyDetail.tsx:315 #: src/pages/company/SupplierPartDetail.tsx:307 -#: src/pages/part/PartDetail.tsx:685 +#: src/pages/part/PartDetail.tsx:704 msgid "Inactive" msgstr "" -#: src/components/details/PartIcons.tsx:41 +#: src/components/details/PartIcons.tsx:43 msgid "Part is a template part (variants can be made from this part)" msgstr "" -#: src/components/details/PartIcons.tsx:47 +#: src/components/details/PartIcons.tsx:49 msgid "Part can be assembled from other parts" msgstr "" -#: src/components/details/PartIcons.tsx:53 +#: src/components/details/PartIcons.tsx:55 msgid "Part can be used in assemblies" msgstr "" -#: src/components/details/PartIcons.tsx:59 +#: src/components/details/PartIcons.tsx:61 msgid "Part stock is tracked by serial number" msgstr "" -#: src/components/details/PartIcons.tsx:65 +#: src/components/details/PartIcons.tsx:67 msgid "Part can be purchased from external suppliers" msgstr "" -#: src/components/details/PartIcons.tsx:71 +#: src/components/details/PartIcons.tsx:73 msgid "Part can be sold to customers" msgstr "" -#: src/components/details/PartIcons.tsx:76 +#: src/components/details/PartIcons.tsx:78 msgid "Part is virtual (not a physical part)" msgstr "" -#: src/components/details/PartIcons.tsx:82 -#: src/tables/part/PartTable.tsx:234 -#: src/tables/part/PartTable.tsx:238 +#: src/components/details/PartIcons.tsx:84 +#: src/tables/part/PartTable.tsx:241 +#: src/tables/part/PartTable.tsx:245 #: src/tables/part/PartVariantTable.tsx:25 msgid "Virtual" msgstr "" @@ -287,29 +302,29 @@ msgstr "" msgid "Image upload failed" msgstr "" -#: src/components/editors/NotesEditor.tsx:151 -#: src/components/forms/ApiForm.tsx:430 -#: src/tables/bom/BomTable.tsx:354 +#: src/components/editors/NotesEditor.tsx:156 +#: src/components/forms/ApiForm.tsx:437 +#: src/tables/bom/BomTable.tsx:357 msgid "Success" msgstr "" -#: src/components/editors/NotesEditor.tsx:152 +#: src/components/editors/NotesEditor.tsx:157 msgid "Notes saved successfully" msgstr "" -#: src/components/editors/NotesEditor.tsx:161 +#: src/components/editors/NotesEditor.tsx:166 msgid "Failed to save notes" msgstr "" -#: src/components/editors/NotesEditor.tsx:193 +#: src/components/editors/NotesEditor.tsx:198 msgid "Preview Notes" msgstr "" -#: src/components/editors/NotesEditor.tsx:193 +#: src/components/editors/NotesEditor.tsx:198 msgid "Edit Notes" msgstr "" -#: src/components/editors/NotesEditor.tsx:207 +#: src/components/editors/NotesEditor.tsx:212 msgid "Save Notes" msgstr "" @@ -442,7 +457,7 @@ msgstr "" msgid "A server error occurred" msgstr "" -#: src/components/forms/ApiForm.tsx:149 +#: src/components/forms/ApiForm.tsx:151 #: src/functions/forms.tsx:259 msgid "Form Error" msgstr "" @@ -451,18 +466,18 @@ msgstr "" #~ msgid "Form Errors Exist" #~ msgstr "" -#: src/components/forms/ApiForm.tsx:611 +#: src/components/forms/ApiForm.tsx:618 #: src/tables/plugin/PluginListTable.tsx:388 msgid "Update" msgstr "" -#: src/components/forms/ApiForm.tsx:631 +#: src/components/forms/ApiForm.tsx:638 #: 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:498 +#: src/tables/InvenTreeTable.tsx:517 #: src/tables/RowActions.tsx:71 #: src/tables/plugin/PluginListTable.tsx:420 msgid "Delete" @@ -635,7 +650,7 @@ msgstr "" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:70 #: src/pages/part/CategoryDetail.tsx:80 -#: src/pages/part/PartDetail.tsx:122 +#: src/pages/part/PartDetail.tsx:123 #: src/pages/stock/LocationDetail.tsx:87 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 @@ -720,6 +735,124 @@ msgstr "" msgid "Thumbnail" msgstr "" +#: src/components/importer/ImportDataSelector.tsx:154 +msgid "Importing Rows" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:155 +msgid "Please wait while the data is imported" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:172 +msgid "An error occurred while importing data" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:191 +msgid "Edit Data" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:218 +msgid "Delete Row" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:248 +msgid "Row" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:266 +msgid "Row contains errors" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:307 +msgid "Accept" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:340 +msgid "Valid" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:341 +msgid "Filter by row validation status" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:346 +#: src/tables/build/BuildOutputTable.tsx:205 +msgid "Complete" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:347 +msgid "Filter by row completion status" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:364 +msgid "Import selected rows" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:46 +#: src/components/importer/ImporterColumnSelector.tsx:85 +msgid "An error occurred" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:57 +msgid "Select column, or leave blank to ignore this field." +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:91 +msgid "Select a column from the data file" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:104 +msgid "Map data columns to database fields" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:109 +msgid "Accept Column Mapping" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:117 +msgid "Database Field" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:118 +msgid "Field Description" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:119 +msgid "Imported Column Name" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:44 +msgid "Import Data" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:45 +msgid "Map Columns" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:46 +msgid "Process Data" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:47 +msgid "Complete Import" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:91 +msgid "Importing Data" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:97 +msgid "Cancel import session" +msgstr "" + +#: src/components/importer/ImporterImportProgress.tsx:36 +msgid "Importing Records" +msgstr "" + +#: src/components/importer/ImporterImportProgress.tsx:39 +msgid "Imported rows" +msgstr "" + #: src/components/items/ActionDropdown.tsx:119 #: src/pages/build/BuildDetail.tsx:358 msgid "Barcode Actions" @@ -773,7 +906,7 @@ msgid "Read More" msgstr "" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:443 +#: src/tables/InvenTreeTable.tsx:462 msgid "Unknown error" msgstr "" @@ -1078,13 +1211,13 @@ msgstr "" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:313 +#: src/pages/Index/Settings/SystemSettings.tsx:314 msgid "System Settings" msgstr "" #: src/components/nav/MainMenu.tsx:67 #: src/defaults/menuItems.tsx:63 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:198 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:209 msgid "Admin Center" msgstr "" @@ -1127,7 +1260,7 @@ msgid "Pages" msgstr "" #: src/components/nav/NavigationDrawer.tsx:65 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:157 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:168 #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:41 msgid "Plugins" msgstr "" @@ -1141,7 +1274,7 @@ msgstr "" msgid "About" msgstr "" -#: src/components/nav/NotificationDrawer.tsx:78 +#: src/components/nav/NotificationDrawer.tsx:81 #: src/pages/Index/Settings/SystemSettings.tsx:108 #: src/pages/Index/Settings/UserSettings.tsx:96 #: src/pages/Notifications.tsx:65 @@ -1149,17 +1282,17 @@ msgstr "" msgid "Notifications" msgstr "" -#: src/components/nav/NotificationDrawer.tsx:95 +#: src/components/nav/NotificationDrawer.tsx:98 msgid "You have no unread notifications." msgstr "" -#: src/components/nav/NotificationDrawer.tsx:111 -#: src/components/nav/NotificationDrawer.tsx:117 +#: src/components/nav/NotificationDrawer.tsx:114 +#: src/components/nav/NotificationDrawer.tsx:120 #: src/tables/notifications/NotificationsTable.tsx:36 msgid "Notification" msgstr "" -#: src/components/nav/NotificationDrawer.tsx:140 +#: src/components/nav/NotificationDrawer.tsx:143 #: src/pages/Notifications.tsx:73 msgid "Mark as read" msgstr "" @@ -1196,7 +1329,7 @@ msgstr "" msgid "No results available for search query" msgstr "" -#: src/components/render/Instance.tsx:166 +#: src/components/render/Instance.tsx:201 msgid "Unknown model: {model}" msgstr "" @@ -1211,7 +1344,8 @@ msgstr "" #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 #: src/pages/build/BuildDetail.tsx:85 -#: src/pages/part/PartDetail.tsx:831 +#: src/pages/part/PartDetail.tsx:872 +#: src/tables/part/PartTable.tsx:28 #: src/tables/part/RelatedPartTable.tsx:45 #: src/tables/stock/StockTrackingTable.tsx:74 msgid "Part" @@ -1224,7 +1358,7 @@ msgstr "" #: src/pages/part/CategoryDetail.tsx:112 #: src/pages/part/CategoryDetail.tsx:237 #: src/pages/part/CategoryDetail.tsx:267 -#: src/pages/part/PartDetail.tsx:639 +#: src/pages/part/PartDetail.tsx:652 msgid "Parts" msgstr "" @@ -1274,7 +1408,7 @@ msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:172 #: src/pages/part/CategoryDetail.tsx:251 #: src/pages/part/CategoryDetail.tsx:288 -#: src/pages/part/PartDetail.tsx:821 +#: src/pages/part/PartDetail.tsx:862 msgid "Part Categories" msgstr "" @@ -1356,7 +1490,7 @@ msgid "Project Code" msgstr "" #: src/components/render/ModelType.tsx:127 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:109 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:120 msgid "Project Codes" msgstr "" @@ -1368,10 +1502,10 @@ msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:134 -#: src/pages/Index/Settings/SystemSettings.tsx:257 +#: src/pages/Index/Settings/SystemSettings.tsx:258 #: src/pages/company/CompanyDetail.tsx:194 #: src/pages/company/SupplierPartDetail.tsx:226 -#: src/pages/part/PartDetail.tsx:573 +#: src/pages/part/PartDetail.tsx:586 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "" @@ -1393,9 +1527,9 @@ msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:272 +#: src/pages/Index/Settings/SystemSettings.tsx:273 #: src/pages/company/CompanyDetail.tsx:214 -#: src/pages/part/PartDetail.tsx:580 +#: src/pages/part/PartDetail.tsx:593 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" @@ -1415,7 +1549,7 @@ msgid "Return Order" msgstr "" #: src/components/render/ModelType.tsx:164 -#: src/pages/Index/Settings/SystemSettings.tsx:288 +#: src/pages/Index/Settings/SystemSettings.tsx:289 #: src/pages/company/CompanyDetail.tsx:221 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1452,40 +1586,49 @@ msgid "Owners" msgstr "" #: src/components/render/ModelType.tsx:193 +#: src/tables/settings/ImportSessionTable.tsx:122 #: src/tables/stock/StockItemTestResultTable.tsx:193 #: src/tables/stock/StockTrackingTable.tsx:195 msgid "User" msgstr "" #: src/components/render/ModelType.tsx:194 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:85 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:90 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" msgstr "" #: src/components/render/ModelType.tsx:200 -msgid "Label Template" +msgid "Import Session" msgstr "" #: src/components/render/ModelType.tsx:201 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:139 -msgid "Label Templates" +msgid "Import Sessions" msgstr "" #: src/components/render/ModelType.tsx:207 -msgid "Report Template" +msgid "Label Template" msgstr "" #: src/components/render/ModelType.tsx:208 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:145 -msgid "Report Templates" +#: src/pages/Index/Settings/AdminCenter/Index.tsx:150 +msgid "Label Templates" msgstr "" #: src/components/render/ModelType.tsx:214 -msgid "Plugin Configuration" +msgid "Report Template" msgstr "" #: src/components/render/ModelType.tsx:215 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:156 +msgid "Report Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:221 +msgid "Plugin Configuration" +msgstr "" + +#: src/components/render/ModelType.tsx:222 msgid "Plugin Configurations" msgstr "" @@ -1497,7 +1640,7 @@ msgstr "" #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 #: src/pages/Index/Settings/SystemSettings.tsx:210 -#: src/pages/part/PartDetail.tsx:492 +#: src/pages/part/PartDetail.tsx:503 #: src/pages/stock/LocationDetail.tsx:347 #: src/pages/stock/StockDetail.tsx:356 #: src/tables/stock/StockItemTable.tsx:57 @@ -1680,10 +1823,6 @@ msgstr "" #~ msgid "Comment" #~ msgstr "" -#: src/components/tables/general/AttachmentTable.tsx:56 -#~ msgid "Uploaded" -#~ msgstr "" - #: src/components/tables/part/PartCategoryTable.tsx:122 #~ msgid "Part category updated" #~ msgstr "" @@ -2196,7 +2335,7 @@ msgid "Recently Updated" msgstr "" #: src/defaults/dashboardItems.tsx:50 -#: src/tables/part/PartTable.tsx:216 +#: src/tables/part/PartTable.tsx:223 msgid "Low Stock" msgstr "" @@ -2505,7 +2644,7 @@ msgstr "" #~ msgid "Company updated" #~ msgstr "" -#: src/forms/PartForms.tsx:100 +#: src/forms/PartForms.tsx:103 msgid "Parent part category" msgstr "" @@ -2573,7 +2712,7 @@ msgstr "" #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 #: src/pages/stock/StockDetail.tsx:173 -#: src/tables/ColumnRenderers.tsx:34 +#: src/tables/ColumnRenderers.tsx:49 #: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" msgstr "" @@ -2624,8 +2763,8 @@ msgstr "" #: src/forms/StockForms.tsx:176 #: src/pages/stock/StockDetail.tsx:379 -#: src/tables/stock/StockItemTable.tsx:382 -#: src/tables/stock/StockItemTable.tsx:499 +#: src/tables/stock/StockItemTable.tsx:404 +#: src/tables/stock/StockItemTable.tsx:521 msgid "Add Stock Item" msgstr "" @@ -2645,9 +2784,9 @@ msgstr "" #: src/forms/StockForms.tsx:606 #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 -#: src/pages/part/PartDetail.tsx:202 -#: src/pages/part/PartDetail.tsx:655 -#: src/tables/stock/StockItemTable.tsx:290 +#: src/pages/part/PartDetail.tsx:203 +#: src/pages/part/PartDetail.tsx:668 +#: src/tables/stock/StockItemTable.tsx:312 msgid "In Stock" msgstr "" @@ -2688,12 +2827,12 @@ msgid "Remove Stock" msgstr "" #: src/forms/StockForms.tsx:803 -#: src/pages/part/PartDetail.tsx:782 +#: src/pages/part/PartDetail.tsx:823 msgid "Transfer Stock" msgstr "" #: src/forms/StockForms.tsx:812 -#: src/pages/part/PartDetail.tsx:771 +#: src/pages/part/PartDetail.tsx:812 msgid "Count Stock" msgstr "" @@ -3318,53 +3457,57 @@ msgstr "" #~ msgid "Advanced Amininistrative Options for InvenTree" #~ msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:91 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:96 +msgid "Data Import" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:102 msgid "Background Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:97 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:108 msgid "Error Reports" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:103 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:114 msgid "Currencies" 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:132 msgid "Custom Units" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:138 #: src/pages/part/CategoryDetail.tsx:257 msgid "Part Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 -#~ msgid "Templates" -#~ msgstr "" - -#: src/pages/Index/Settings/AdminCenter/Index.tsx:133 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:144 msgid "Category Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:151 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:162 msgid "Location types" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:163 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:174 #: src/tables/machine/MachineTypeTable.tsx:287 msgid "Machines" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:173 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:184 msgid "Quick Actions" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:178 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:189 msgid "Add a new user" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:199 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:210 msgid "Advanced Options" msgstr "" @@ -3516,7 +3659,7 @@ msgid "Reporting" msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:235 -#: src/pages/part/PartDetail.tsx:593 +#: src/pages/part/PartDetail.tsx:606 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" @@ -3524,12 +3667,12 @@ msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:241 #: src/pages/build/BuildDetail.tsx:423 #: src/pages/build/BuildIndex.tsx:14 -#: src/pages/part/PartDetail.tsx:527 +#: src/pages/part/PartDetail.tsx:540 #: src/pages/sales/SalesOrderDetail.tsx:270 msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:316 +#: src/pages/Index/Settings/SystemSettings.tsx:317 msgid "Switch to User Setting" msgstr "" @@ -3594,7 +3737,8 @@ msgstr "" #: 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/settings/ImportSessionTable.tsx:116 +#: src/tables/stock/StockItemTable.tsx:281 #: src/tables/stock/StockTrackingTable.tsx:52 msgid "Status" msgstr "" @@ -3603,7 +3747,7 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:104 #: src/pages/sales/ReturnOrderDetail.tsx:73 #: src/pages/sales/SalesOrderDetail.tsx:77 -#: src/tables/ColumnRenderers.tsx:106 +#: src/tables/ColumnRenderers.tsx:121 #: src/tables/build/BuildLineTable.tsx:140 msgid "Reference" msgstr "" @@ -3613,12 +3757,12 @@ msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:78 #: src/pages/company/SupplierPartDetail.tsx:85 #: src/pages/part/CategoryDetail.tsx:94 -#: src/pages/part/PartDetail.tsx:129 +#: src/pages/part/PartDetail.tsx:130 #: src/pages/purchasing/PurchaseOrderDetail.tsx:125 #: src/pages/sales/ReturnOrderDetail.tsx:93 #: src/pages/sales/SalesOrderDetail.tsx:97 #: src/pages/stock/LocationDetail.tsx:101 -#: src/tables/ColumnRenderers.tsx:66 +#: src/tables/ColumnRenderers.tsx:81 #: src/tables/machine/MachineTypeTable.tsx:69 #: src/tables/machine/MachineTypeTable.tsx:112 #: src/tables/machine/MachineTypeTable.tsx:219 @@ -3649,7 +3793,7 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:152 -#: src/pages/part/PartDetail.tsx:317 +#: src/pages/part/PartDetail.tsx:323 #: src/pages/purchasing/PurchaseOrderDetail.tsx:217 #: src/pages/sales/ReturnOrderDetail.tsx:186 #: src/pages/sales/SalesOrderDetail.tsx:190 @@ -3669,7 +3813,7 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:210 #: src/pages/sales/ReturnOrderDetail.tsx:179 #: src/pages/sales/SalesOrderDetail.tsx:183 -#: src/tables/ColumnRenderers.tsx:191 +#: src/tables/ColumnRenderers.tsx:206 msgid "Target Date" msgstr "" @@ -3750,7 +3894,7 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:297 #: src/pages/company/CompanyDetail.tsx:257 #: src/pages/company/ManufacturerPartDetail.tsx:174 -#: src/pages/part/PartDetail.tsx:616 +#: src/pages/part/PartDetail.tsx:629 #: src/pages/purchasing/PurchaseOrderDetail.tsx:279 #: src/pages/sales/ReturnOrderDetail.tsx:230 #: src/pages/sales/SalesOrderDetail.tsx:280 @@ -3760,7 +3904,7 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:305 #: src/pages/company/CompanyDetail.tsx:268 -#: src/pages/part/PartDetail.tsx:624 +#: src/pages/part/PartDetail.tsx:637 #: src/pages/purchasing/PurchaseOrderDetail.tsx:290 #: src/pages/sales/ReturnOrderDetail.tsx:241 #: src/pages/sales/SalesOrderDetail.tsx:291 @@ -3916,12 +4060,12 @@ msgid "Manufacturer Part Details" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:148 -#: src/pages/part/PartDetail.tsx:486 +#: src/pages/part/PartDetail.tsx:492 msgid "Parameters" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:160 -#: src/pages/part/PartDetail.tsx:560 +#: src/pages/part/PartDetail.tsx:573 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" msgstr "" @@ -3946,7 +4090,7 @@ msgid "ManufacturerPart" msgstr "" #: src/pages/company/SupplierPartDetail.tsx:99 -#: src/tables/ColumnRenderers.tsx:117 +#: src/tables/ColumnRenderers.tsx:132 msgid "Note" msgstr "" @@ -4082,275 +4226,275 @@ msgstr "" msgid "Category Details" msgstr "" -#: src/pages/part/PartDetail.tsx:135 +#: src/pages/part/PartDetail.tsx:136 msgid "Variant of" msgstr "" -#: src/pages/part/PartDetail.tsx:142 +#: src/pages/part/PartDetail.tsx:143 #: src/tables/notifications/NotificationsTable.tsx:31 #: src/tables/part/PartCategoryTemplateTable.tsx:67 msgid "Category" msgstr "" -#: src/pages/part/PartDetail.tsx:148 +#: src/pages/part/PartDetail.tsx:149 msgid "Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:155 +#: src/pages/part/PartDetail.tsx:156 msgid "Category Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:162 +#: src/pages/part/PartDetail.tsx:163 msgid "IPN" msgstr "" -#: src/pages/part/PartDetail.tsx:169 +#: src/pages/part/PartDetail.tsx:170 msgid "Revision" msgstr "" -#: src/pages/part/PartDetail.tsx:176 +#: src/pages/part/PartDetail.tsx:177 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" msgstr "" -#: src/pages/part/PartDetail.tsx:183 +#: src/pages/part/PartDetail.tsx:184 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:190 +#: src/pages/part/PartDetail.tsx:191 #: src/pages/purchasing/PurchaseOrderDetail.tsx:183 #: src/pages/sales/ReturnOrderDetail.tsx:152 #: src/pages/sales/SalesOrderDetail.tsx:156 msgid "Link" msgstr "" -#: src/pages/part/PartDetail.tsx:208 -#: src/tables/bom/BomTable.tsx:276 +#: src/pages/part/PartDetail.tsx:209 +#: src/tables/bom/BomTable.tsx:279 #: src/tables/build/BuildLineTable.tsx:121 -#: src/tables/part/PartTable.tsx:256 +#: src/tables/part/PartTable.tsx:263 msgid "Available Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:215 +#: src/pages/part/PartDetail.tsx:216 msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:221 -#: src/tables/bom/BomTable.tsx:217 +#: src/pages/part/PartDetail.tsx:222 +#: src/tables/bom/BomTable.tsx:220 #: src/tables/build/BuildLineTable.tsx:95 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:230 +#: src/pages/part/PartDetail.tsx:231 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:238 +#: src/pages/part/PartDetail.tsx:239 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:245 -#: src/tables/bom/BomTable.tsx:241 +#: src/pages/part/PartDetail.tsx:246 +#: src/tables/bom/BomTable.tsx:244 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:252 -#: src/tables/bom/BomTable.tsx:225 -#: src/tables/part/PartTable.tsx:82 +#: src/pages/part/PartDetail.tsx:253 +#: src/tables/bom/BomTable.tsx:228 +#: src/tables/part/PartTable.tsx:83 msgid "Building" msgstr "" -#: src/pages/part/PartDetail.tsx:261 +#: src/pages/part/PartDetail.tsx:262 #: src/tables/bom/UsedInTable.tsx:73 #: src/tables/build/BuildOrderTable.tsx:108 #: src/tables/company/CompanyTable.tsx:61 #: src/tables/company/CompanyTable.tsx:95 #: src/tables/machine/MachineListTable.tsx:323 #: src/tables/machine/MachineListTable.tsx:585 -#: src/tables/part/PartTable.tsx:168 +#: src/tables/part/PartTable.tsx:169 #: src/tables/part/PartVariantTable.tsx:15 #: 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 +#: src/tables/stock/StockItemTable.tsx:276 msgid "Active" msgstr "" -#: src/pages/part/PartDetail.tsx:266 +#: src/pages/part/PartDetail.tsx:272 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:271 -#: src/tables/bom/BomTable.tsx:271 +#: src/pages/part/PartDetail.tsx:277 +#: src/tables/bom/BomTable.tsx:274 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:276 +#: src/pages/part/PartDetail.tsx:282 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:281 -#: src/tables/bom/BomTable.tsx:266 +#: src/pages/part/PartDetail.tsx:287 +#: src/tables/bom/BomTable.tsx:269 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:286 +#: src/pages/part/PartDetail.tsx:292 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:291 +#: src/pages/part/PartDetail.tsx:297 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:296 +#: src/pages/part/PartDetail.tsx:302 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:304 -#: src/tables/ColumnRenderers.tsx:199 +#: src/pages/part/PartDetail.tsx:310 +#: src/tables/ColumnRenderers.tsx:214 msgid "Creation Date" msgstr "" -#: src/pages/part/PartDetail.tsx:309 -msgid "Created By" -msgstr "" - #: src/pages/part/PartDetail.tsx:310 #~ msgid "Edit part" #~ msgstr "" +#: src/pages/part/PartDetail.tsx:315 +msgid "Created By" +msgstr "" + #: src/pages/part/PartDetail.tsx:322 #~ msgid "Duplicate part" #~ msgstr "" -#: src/pages/part/PartDetail.tsx:324 -msgid "Default Supplier" -msgstr "" - #: src/pages/part/PartDetail.tsx:327 #~ msgid "Delete part" #~ msgstr "" -#: src/pages/part/PartDetail.tsx:335 +#: src/pages/part/PartDetail.tsx:330 +msgid "Default Supplier" +msgstr "" + +#: src/pages/part/PartDetail.tsx:341 #: src/pages/part/pricing/BomPricingPanel.tsx:78 #: src/pages/part/pricing/VariantPricingPanel.tsx:95 -#: src/tables/part/PartTable.tsx:151 +#: src/tables/part/PartTable.tsx:152 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:374 +#: src/pages/part/PartDetail.tsx:380 #: src/pages/stock/StockDetail.tsx:133 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:409 +#: src/pages/part/PartDetail.tsx:415 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:480 +#: src/pages/part/PartDetail.tsx:486 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:506 +#: src/pages/part/PartDetail.tsx:517 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:513 +#: src/pages/part/PartDetail.tsx:524 #: src/pages/stock/StockDetail.tsx:286 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:520 +#: src/pages/part/PartDetail.tsx:531 msgid "Bill of Materials" msgstr "" -#: src/pages/part/PartDetail.tsx:534 +#: src/pages/part/PartDetail.tsx:547 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:541 +#: src/pages/part/PartDetail.tsx:554 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:547 +#: src/pages/part/PartDetail.tsx:560 #: src/pages/purchasing/PurchasingIndex.tsx:37 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:587 +#: src/pages/part/PartDetail.tsx:600 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:599 +#: src/pages/part/PartDetail.tsx:612 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:610 +#: src/pages/part/PartDetail.tsx:623 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:661 +#: src/pages/part/PartDetail.tsx:674 #: src/pages/stock/StockDetail.tsx:154 #: src/pages/stock/StockDetail.tsx:533 #: src/tables/build/BuildLineTable.tsx:36 -#: src/tables/part/PartTable.tsx:107 +#: src/tables/part/PartTable.tsx:108 #: src/tables/stock/StockItemTable.tsx:166 -#: src/tables/stock/StockItemTable.tsx:275 +#: src/tables/stock/StockItemTable.tsx:297 msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:667 +#: src/pages/part/PartDetail.tsx:680 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:673 -#: src/tables/bom/BomTable.tsx:281 -#: src/tables/part/PartTable.tsx:76 +#: src/pages/part/PartDetail.tsx:686 +#: src/tables/bom/BomTable.tsx:284 +#: src/tables/part/PartTable.tsx:77 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:679 +#: src/pages/part/PartDetail.tsx:692 #: src/pages/stock/StockDetail.tsx:516 -#: src/tables/stock/StockItemTable.tsx:295 +#: src/tables/stock/StockItemTable.tsx:317 msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:698 +#: src/pages/part/PartDetail.tsx:717 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:705 -#: src/tables/part/PartTable.tsx:289 -#: src/tables/part/PartTable.tsx:302 +#: src/pages/part/PartDetail.tsx:744 +#: src/tables/part/PartTable.tsx:296 +#: src/tables/part/PartTable.tsx:309 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:717 +#: src/pages/part/PartDetail.tsx:758 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:726 +#: src/pages/part/PartDetail.tsx:767 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:764 +#: src/pages/part/PartDetail.tsx:805 #: src/pages/stock/LocationDetail.tsx:304 -#: src/tables/stock/StockItemTable.tsx:409 +#: src/tables/stock/StockItemTable.tsx:431 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:772 +#: src/pages/part/PartDetail.tsx:813 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:824 msgid "Transfer part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:792 +#: src/pages/part/PartDetail.tsx:833 msgid "Part Actions" msgstr "" @@ -4398,8 +4542,8 @@ msgstr "" #: src/pages/part/pricing/BomPricingPanel.tsx:57 #: src/pages/part/pricing/BomPricingPanel.tsx:137 -#: src/tables/ColumnRenderers.tsx:241 -#: src/tables/bom/BomTable.tsx:165 +#: src/tables/ColumnRenderers.tsx:256 +#: src/tables/bom/BomTable.tsx:168 #: src/tables/purchasing/PurchaseOrderTable.tsx:112 #: src/tables/sales/ReturnOrderTable.tsx:104 #: src/tables/sales/SalesOrderTable.tsx:134 @@ -4408,7 +4552,7 @@ msgstr "" #: src/pages/part/pricing/BomPricingPanel.tsx:77 #: src/pages/part/pricing/BomPricingPanel.tsx:101 -#: src/tables/part/PartTable.tsx:186 +#: src/tables/part/PartTable.tsx:193 msgid "Component" msgstr "" @@ -4437,7 +4581,7 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:67 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:128 #: src/pages/part/pricing/SupplierPricingPanel.tsx:62 -#: src/tables/bom/BomTable.tsx:156 +#: src/tables/bom/BomTable.tsx:159 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 msgid "Unit Price" @@ -4537,7 +4681,7 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:40 #: src/pages/part/pricing/SaleHistoryPanel.tsx:36 -#: src/tables/ColumnRenderers.tsx:180 +#: src/tables/ColumnRenderers.tsx:195 #: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" @@ -4810,12 +4954,12 @@ msgid "Count stock" msgstr "" #: src/pages/stock/StockDetail.tsx:459 -#: src/tables/stock/StockItemTable.tsx:414 +#: src/tables/stock/StockItemTable.tsx:436 msgid "Add stock" msgstr "" #: src/pages/stock/StockDetail.tsx:467 -#: src/tables/stock/StockItemTable.tsx:423 +#: src/tables/stock/StockItemTable.tsx:445 msgid "Remove stock" msgstr "" @@ -4824,7 +4968,7 @@ msgid "Transfer" msgstr "" #: src/pages/stock/StockDetail.tsx:475 -#: src/tables/stock/StockItemTable.tsx:443 +#: src/tables/stock/StockItemTable.tsx:465 msgid "Transfer stock" msgstr "" @@ -4832,15 +4976,15 @@ msgstr "" msgid "Stock Item Actions" msgstr "" -#: src/tables/ColumnRenderers.tsx:42 +#: src/tables/ColumnRenderers.tsx:57 msgid "No location set" msgstr "" -#: src/tables/ColumnRenderers.tsx:207 +#: src/tables/ColumnRenderers.tsx:222 msgid "Shipment Date" msgstr "" -#: src/tables/ColumnRenderers.tsx:227 +#: src/tables/ColumnRenderers.tsx:242 #: src/tables/settings/CurrencyTable.tsx:23 msgid "Currency" msgstr "" @@ -4867,14 +5011,14 @@ msgid "TSV" msgstr "" #: src/tables/DownloadAction.tsx:24 -msgid "Excel (.xls)" -msgstr "" - -#: src/tables/DownloadAction.tsx:25 msgid "Excel (.xlsx)" msgstr "" -#: src/tables/DownloadAction.tsx:39 +#: src/tables/DownloadAction.tsx:24 +#~ msgid "Excel (.xls)" +#~ msgstr "" + +#: src/tables/DownloadAction.tsx:38 msgid "Download Data" msgstr "" @@ -4939,54 +5083,54 @@ msgstr "" msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:119 -#: src/tables/InvenTreeTable.tsx:390 -#: src/tables/InvenTreeTable.tsx:411 +#: src/tables/InvenTreeTable.tsx:126 +#: src/tables/InvenTreeTable.tsx:409 +#: src/tables/InvenTreeTable.tsx:430 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:422 +#: src/tables/InvenTreeTable.tsx:441 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:430 +#: src/tables/InvenTreeTable.tsx:449 msgid "Bad request" msgstr "" -#: src/tables/InvenTreeTable.tsx:433 +#: src/tables/InvenTreeTable.tsx:452 msgid "Unauthorized" msgstr "" -#: src/tables/InvenTreeTable.tsx:436 +#: src/tables/InvenTreeTable.tsx:455 msgid "Forbidden" msgstr "" -#: src/tables/InvenTreeTable.tsx:439 +#: src/tables/InvenTreeTable.tsx:458 msgid "Not found" msgstr "" -#: src/tables/InvenTreeTable.tsx:488 -#: src/tables/InvenTreeTable.tsx:606 +#: src/tables/InvenTreeTable.tsx:507 +#: src/tables/InvenTreeTable.tsx:623 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:492 +#: src/tables/InvenTreeTable.tsx:511 msgid "Are you sure you want to delete the selected records?" msgstr "" -#: src/tables/InvenTreeTable.tsx:494 +#: src/tables/InvenTreeTable.tsx:513 msgid "This action cannot be undone!" msgstr "" -#: src/tables/InvenTreeTable.tsx:517 +#: src/tables/InvenTreeTable.tsx:536 msgid "Deleted records" msgstr "" -#: src/tables/InvenTreeTable.tsx:518 +#: src/tables/InvenTreeTable.tsx:537 msgid "Records were deleted successfully" msgstr "" -#: src/tables/InvenTreeTable.tsx:527 +#: src/tables/InvenTreeTable.tsx:546 msgid "Failed to delete records" msgstr "" @@ -4995,140 +5139,144 @@ msgstr "" #~ msgid "Print actions" #~ msgstr "" -#: src/tables/InvenTreeTable.tsx:596 -#: src/tables/InvenTreeTable.tsx:597 +#: src/tables/InvenTreeTable.tsx:613 +#: src/tables/InvenTreeTable.tsx:614 msgid "Barcode actions" msgstr "" -#: src/tables/InvenTreeTable.tsx:625 +#: src/tables/InvenTreeTable.tsx:642 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTable.tsx:646 +#: src/tables/InvenTreeTable.tsx:663 msgid "Table filters" msgstr "" -#: src/tables/bom/BomTable.tsx:80 +#: src/tables/UploadAction.tsx:9 +msgid "Upload Data" +msgstr "" + +#: src/tables/bom/BomTable.tsx:83 msgid "This BOM item is defined for a different parent" msgstr "" -#: src/tables/bom/BomTable.tsx:95 +#: src/tables/bom/BomTable.tsx:98 msgid "Part Information" msgstr "" -#: src/tables/bom/BomTable.tsx:184 -#: src/tables/part/PartTable.tsx:124 +#: src/tables/bom/BomTable.tsx:187 +#: src/tables/part/PartTable.tsx:125 msgid "No stock" msgstr "" -#: src/tables/bom/BomTable.tsx:192 +#: src/tables/bom/BomTable.tsx:195 #: src/tables/build/BuildLineTable.tsx:104 -#: src/tables/part/PartTable.tsx:115 +#: src/tables/part/PartTable.tsx:116 msgid "External stock" msgstr "" -#: src/tables/bom/BomTable.tsx:200 +#: src/tables/bom/BomTable.tsx:203 #: src/tables/build/BuildLineTable.tsx:67 msgid "Includes substitute stock" msgstr "" -#: src/tables/bom/BomTable.tsx:209 +#: src/tables/bom/BomTable.tsx:212 #: src/tables/build/BuildLineTable.tsx:77 msgid "Includes variant stock" msgstr "" -#: src/tables/bom/BomTable.tsx:234 -#: src/tables/part/PartTable.tsx:143 +#: src/tables/bom/BomTable.tsx:237 +#: src/tables/part/PartTable.tsx:144 #: src/tables/stock/StockItemTable.tsx:205 msgid "Stock Information" msgstr "" -#: src/tables/bom/BomTable.tsx:246 +#: src/tables/bom/BomTable.tsx:249 #: src/tables/build/BuildLineTable.tsx:195 msgid "Consumable item" msgstr "" -#: src/tables/bom/BomTable.tsx:267 +#: src/tables/bom/BomTable.tsx:270 msgid "Show trackable items" msgstr "" -#: src/tables/bom/BomTable.tsx:272 +#: src/tables/bom/BomTable.tsx:275 msgid "Show asssmbled items" msgstr "" -#: src/tables/bom/BomTable.tsx:277 +#: src/tables/bom/BomTable.tsx:280 msgid "Show items with available stock" msgstr "" -#: src/tables/bom/BomTable.tsx:282 +#: src/tables/bom/BomTable.tsx:285 msgid "Show items on order" msgstr "" -#: src/tables/bom/BomTable.tsx:286 +#: src/tables/bom/BomTable.tsx:289 msgid "Validated" msgstr "" -#: src/tables/bom/BomTable.tsx:287 +#: src/tables/bom/BomTable.tsx:290 msgid "Show validated items" msgstr "" -#: src/tables/bom/BomTable.tsx:291 +#: src/tables/bom/BomTable.tsx:294 #: src/tables/bom/UsedInTable.tsx:63 msgid "Inherited" msgstr "" -#: src/tables/bom/BomTable.tsx:292 +#: src/tables/bom/BomTable.tsx:295 #: src/tables/bom/UsedInTable.tsx:64 msgid "Show inherited items" msgstr "" -#: src/tables/bom/BomTable.tsx:296 +#: src/tables/bom/BomTable.tsx:299 msgid "Allow Variants" msgstr "" -#: src/tables/bom/BomTable.tsx:297 +#: src/tables/bom/BomTable.tsx:300 msgid "Show items which allow variant substitution" msgstr "" #: src/tables/bom/BomTable.tsx:301 +#~ msgid "Create BOM Item" +#~ msgstr "" + +#: src/tables/bom/BomTable.tsx:304 #: src/tables/bom/UsedInTable.tsx:68 #: src/tables/build/BuildLineTable.tsx:46 msgid "Optional" msgstr "" -#: src/tables/bom/BomTable.tsx:301 -#~ msgid "Create BOM Item" -#~ msgstr "" - -#: src/tables/bom/BomTable.tsx:302 +#: src/tables/bom/BomTable.tsx:305 #: src/tables/bom/UsedInTable.tsx:69 msgid "Show optional items" msgstr "" -#: src/tables/bom/BomTable.tsx:306 +#: src/tables/bom/BomTable.tsx:309 #: src/tables/build/BuildLineTable.tsx:41 msgid "Consumable" msgstr "" -#: src/tables/bom/BomTable.tsx:307 +#: src/tables/bom/BomTable.tsx:310 msgid "Show consumable items" msgstr "" -#: src/tables/bom/BomTable.tsx:311 -#: src/tables/part/PartTable.tsx:250 +#: src/tables/bom/BomTable.tsx:314 +#: src/tables/part/PartTable.tsx:257 msgid "Has Pricing" msgstr "" -#: src/tables/bom/BomTable.tsx:312 +#: src/tables/bom/BomTable.tsx:315 msgid "Show items with pricing" msgstr "" -#: src/tables/bom/BomTable.tsx:321 -#: src/tables/bom/BomTable.tsx:420 +#: src/tables/bom/BomTable.tsx:324 +#: src/tables/bom/BomTable.tsx:426 msgid "Add BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:326 +#: src/tables/bom/BomTable.tsx:329 msgid "BOM item created" msgstr "" @@ -5136,23 +5284,23 @@ msgstr "" #~ msgid "Edit Bom Item" #~ msgstr "" -#: src/tables/bom/BomTable.tsx:333 -msgid "Edit BOM Item" -msgstr "" - #: src/tables/bom/BomTable.tsx:333 #~ msgid "Bom item updated" #~ msgstr "" -#: src/tables/bom/BomTable.tsx:335 +#: src/tables/bom/BomTable.tsx:336 +msgid "Edit BOM Item" +msgstr "" + +#: src/tables/bom/BomTable.tsx:338 msgid "BOM item updated" msgstr "" -#: src/tables/bom/BomTable.tsx:342 +#: src/tables/bom/BomTable.tsx:345 msgid "Delete BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:343 +#: src/tables/bom/BomTable.tsx:346 msgid "BOM item deleted" msgstr "" @@ -5172,32 +5320,41 @@ msgstr "" #~ msgid "Validate BOM line" #~ msgstr "" -#: src/tables/bom/BomTable.tsx:355 +#: src/tables/bom/BomTable.tsx:358 msgid "BOM item validated" msgstr "" -#: src/tables/bom/BomTable.tsx:364 +#: src/tables/bom/BomTable.tsx:367 msgid "Failed to validate BOM item" msgstr "" -#: src/tables/bom/BomTable.tsx:376 +#: src/tables/bom/BomTable.tsx:379 msgid "View BOM" msgstr "" -#: src/tables/bom/BomTable.tsx:385 +#: src/tables/bom/BomTable.tsx:388 msgid "Validate BOM Line" msgstr "" -#: src/tables/bom/BomTable.tsx:399 +#: src/tables/bom/BomTable.tsx:405 msgid "Edit Substitutes" msgstr "" +#: src/tables/bom/BomTable.tsx:440 +#: src/tables/part/PartParameterTable.tsx:191 +msgid "Part is Locked" +msgstr "" + +#: src/tables/bom/BomTable.tsx:445 +msgid "Bill of materials cannot be edited, as the part is locked" +msgstr "" + #: src/tables/bom/UsedInTable.tsx:74 msgid "Show active assemblies" msgstr "" #: src/tables/bom/UsedInTable.tsx:78 -#: src/tables/part/PartTable.tsx:192 +#: src/tables/part/PartTable.tsx:199 #: src/tables/part/PartVariantTable.tsx:30 msgid "Trackable" msgstr "" @@ -5207,7 +5364,7 @@ msgid "Show trackable assemblies" msgstr "" #: src/tables/build/BuildLineTable.tsx:31 -#: src/tables/stock/StockItemTable.tsx:270 +#: src/tables/stock/StockItemTable.tsx:292 msgid "Allocated" msgstr "" @@ -5228,7 +5385,7 @@ msgid "Show optional lines" msgstr "" #: src/tables/build/BuildLineTable.tsx:51 -#: src/tables/stock/StockItemTable.tsx:329 +#: src/tables/stock/StockItemTable.tsx:351 msgid "Tracked" msgstr "" @@ -5341,10 +5498,6 @@ msgstr "" msgid "Deallocate stock from build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:205 -msgid "Complete" -msgstr "" - #: src/tables/build/BuildOutputTable.tsx:206 msgid "Complete build output" msgstr "" @@ -5674,7 +5827,7 @@ msgid "Message" msgstr "" #: src/tables/part/ParametricPartTable.tsx:76 -#: src/tables/part/PartParameterTable.tsx:88 +#: src/tables/part/PartParameterTable.tsx:95 msgid "Internal Units" msgstr "" @@ -5687,13 +5840,13 @@ msgid "Add Part Parameter" msgstr "" #: src/tables/part/ParametricPartTable.tsx:138 -#: src/tables/part/PartParameterTable.tsx:121 -#: src/tables/part/PartParameterTable.tsx:144 +#: src/tables/part/PartParameterTable.tsx:128 +#: src/tables/part/PartParameterTable.tsx:151 msgid "Edit Part Parameter" msgstr "" #: src/tables/part/PartCategoryTable.tsx:60 -#: src/tables/part/PartTable.tsx:180 +#: src/tables/part/PartTable.tsx:187 msgid "Include Subcategories" msgstr "" @@ -5706,7 +5859,7 @@ msgid "Show structural categories" msgstr "" #: src/tables/part/PartCategoryTable.tsx:70 -#: src/tables/part/PartTable.tsx:262 +#: src/tables/part/PartTable.tsx:269 msgid "Subscribed" msgstr "" @@ -5743,21 +5896,25 @@ msgstr "" #~ msgid "[{0}]" #~ msgstr "" -#: src/tables/part/PartParameterTable.tsx:105 +#: src/tables/part/PartParameterTable.tsx:112 msgid "New Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:130 -#: src/tables/part/PartParameterTable.tsx:152 +#: src/tables/part/PartParameterTable.tsx:137 +#: src/tables/part/PartParameterTable.tsx:159 msgid "Delete Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:170 +#: src/tables/part/PartParameterTable.tsx:177 msgid "Add parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:191 -#: src/tables/stock/StockItemTable.tsx:300 +#: src/tables/part/PartParameterTable.tsx:196 +msgid "Part parameters cannot be edited, as the part is locked" +msgstr "" + +#: src/tables/part/PartParameterTable.tsx:210 +#: src/tables/stock/StockItemTable.tsx:322 msgid "Include Variants" msgstr "" @@ -5778,7 +5935,7 @@ msgid "Show templates with choices" msgstr "" #: src/tables/part/PartParameterTemplateTable.tsx:41 -#: src/tables/part/PartTable.tsx:198 +#: src/tables/part/PartTable.tsx:205 msgid "Has Units" msgstr "" @@ -5802,116 +5959,120 @@ msgstr "" msgid "Add parameter template" msgstr "" -#: src/tables/part/PartTable.tsx:67 +#: src/tables/part/PartTable.tsx:68 msgid "Minimum stock" msgstr "" -#: src/tables/part/PartTable.tsx:89 +#: src/tables/part/PartTable.tsx:90 msgid "Build Order Allocations" msgstr "" -#: src/tables/part/PartTable.tsx:98 +#: src/tables/part/PartTable.tsx:99 msgid "Sales Order Allocations" msgstr "" -#: src/tables/part/PartTable.tsx:169 +#: src/tables/part/PartTable.tsx:170 msgid "Filter by part active status" msgstr "" -#: src/tables/part/PartTable.tsx:174 -#: src/tables/stock/StockItemTable.tsx:265 +#: src/tables/part/PartTable.tsx:176 +msgid "Filter by part locked status" +msgstr "" + +#: src/tables/part/PartTable.tsx:181 +#: src/tables/stock/StockItemTable.tsx:287 msgid "Assembly" msgstr "" -#: src/tables/part/PartTable.tsx:175 +#: src/tables/part/PartTable.tsx:182 msgid "Filter by assembly attribute" msgstr "" -#: src/tables/part/PartTable.tsx:181 +#: src/tables/part/PartTable.tsx:188 msgid "Include parts in subcategories" msgstr "" -#: src/tables/part/PartTable.tsx:187 +#: src/tables/part/PartTable.tsx:194 msgid "Filter by component attribute" msgstr "" -#: src/tables/part/PartTable.tsx:193 +#: src/tables/part/PartTable.tsx:200 msgid "Filter by trackable attribute" msgstr "" -#: src/tables/part/PartTable.tsx:199 +#: src/tables/part/PartTable.tsx:206 msgid "Filter by parts which have units" msgstr "" -#: src/tables/part/PartTable.tsx:204 +#: src/tables/part/PartTable.tsx:211 msgid "Has IPN" msgstr "" -#: src/tables/part/PartTable.tsx:205 +#: src/tables/part/PartTable.tsx:212 msgid "Filter by parts which have an internal part number" msgstr "" -#: src/tables/part/PartTable.tsx:210 +#: src/tables/part/PartTable.tsx:217 msgid "Has Stock" msgstr "" -#: src/tables/part/PartTable.tsx:211 +#: src/tables/part/PartTable.tsx:218 msgid "Filter by parts which have stock" msgstr "" -#: src/tables/part/PartTable.tsx:217 +#: src/tables/part/PartTable.tsx:224 msgid "Filter by parts which have low stock" msgstr "" -#: src/tables/part/PartTable.tsx:222 +#: src/tables/part/PartTable.tsx:229 msgid "Purchaseable" msgstr "" -#: src/tables/part/PartTable.tsx:223 +#: src/tables/part/PartTable.tsx:230 msgid "Filter by parts which are purchaseable" msgstr "" -#: src/tables/part/PartTable.tsx:228 +#: src/tables/part/PartTable.tsx:235 msgid "Salable" msgstr "" -#: src/tables/part/PartTable.tsx:229 +#: src/tables/part/PartTable.tsx:236 msgid "Filter by parts which are salable" msgstr "" -#: src/tables/part/PartTable.tsx:235 +#: src/tables/part/PartTable.tsx:242 msgid "Filter by parts which are virtual" msgstr "" -#: src/tables/part/PartTable.tsx:239 +#: src/tables/part/PartTable.tsx:246 msgid "Not Virtual" msgstr "" -#: src/tables/part/PartTable.tsx:244 +#: src/tables/part/PartTable.tsx:251 msgid "Is Template" msgstr "" -#: src/tables/part/PartTable.tsx:245 +#: src/tables/part/PartTable.tsx:252 msgid "Filter by parts which are templates" msgstr "" -#: src/tables/part/PartTable.tsx:251 +#: src/tables/part/PartTable.tsx:258 msgid "Filter by parts which have pricing information" msgstr "" -#: src/tables/part/PartTable.tsx:257 +#: src/tables/part/PartTable.tsx:264 msgid "Filter by parts which have available stock" msgstr "" -#: src/tables/part/PartTable.tsx:263 +#: src/tables/part/PartTable.tsx:270 msgid "Filter by parts to which the user is subscribed" msgstr "" -#: src/tables/part/PartTable.tsx:268 +#: src/tables/part/PartTable.tsx:275 msgid "Has Stocktake" msgstr "" -#: src/tables/part/PartTable.tsx:269 +#: src/tables/part/PartTable.tsx:276 msgid "Filter by parts which have stocktake information" msgstr "" @@ -6250,7 +6411,7 @@ msgid "Sample" msgstr "" #: src/tables/plugin/PluginListTable.tsx:578 -#: src/tables/stock/StockItemTable.tsx:305 +#: src/tables/stock/StockItemTable.tsx:327 msgid "Installed" msgstr "" @@ -6525,6 +6686,41 @@ msgstr "" msgid "Edit group" msgstr "" +#: src/tables/settings/ImportSessionTable.tsx:39 +msgid "Delete Import Session" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:45 +#: src/tables/settings/ImportSessionTable.tsx:132 +msgid "Create Import Session" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:70 +msgid "Uploaded" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:80 +msgid "Imported Rows" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:110 +#: src/tables/settings/TemplateTable.tsx:276 +msgid "Model Type" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:111 +#: src/tables/settings/TemplateTable.tsx:277 +msgid "Filter by target model type" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:117 +msgid "Filter by import session status" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:123 +msgid "Filter by user" +msgstr "" + #: src/tables/settings/PendingTasksTable.tsx:36 msgid "Arguments" msgstr "" @@ -6541,7 +6737,7 @@ msgstr "" msgid "Delete Project Code" msgstr "" -#: src/tables/settings/ProjectCodeTable.tsx:94 +#: src/tables/settings/ProjectCodeTable.tsx:92 msgid "Add project code" msgstr "" @@ -6610,14 +6806,6 @@ msgstr "" 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 "" @@ -6740,149 +6928,153 @@ msgstr "" msgid "This stock item has been depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:255 +#: src/tables/stock/StockItemTable.tsx:247 +msgid "Stock Value" +msgstr "" + +#: src/tables/stock/StockItemTable.tsx:277 msgid "Show stock for active parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:260 +#: src/tables/stock/StockItemTable.tsx:282 msgid "Filter by stock status" msgstr "" -#: src/tables/stock/StockItemTable.tsx:266 +#: src/tables/stock/StockItemTable.tsx:288 msgid "Show stock for assmebled parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:271 +#: src/tables/stock/StockItemTable.tsx:293 msgid "Show items which have been allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:276 +#: src/tables/stock/StockItemTable.tsx:298 msgid "Show items which are available" msgstr "" -#: src/tables/stock/StockItemTable.tsx:280 +#: src/tables/stock/StockItemTable.tsx:302 #: src/tables/stock/StockLocationTable.tsx:42 msgid "Include Sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:281 +#: src/tables/stock/StockItemTable.tsx:303 msgid "Include stock in sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:285 +#: src/tables/stock/StockItemTable.tsx:307 msgid "Depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:286 +#: src/tables/stock/StockItemTable.tsx:308 msgid "Show depleted stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:291 +#: src/tables/stock/StockItemTable.tsx:313 msgid "Show items which are in stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:296 +#: src/tables/stock/StockItemTable.tsx:318 msgid "Show items which are in production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:301 +#: src/tables/stock/StockItemTable.tsx:323 msgid "Include stock items for variant parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:306 +#: src/tables/stock/StockItemTable.tsx:328 msgid "Show stock items which are installed in other items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:310 +#: src/tables/stock/StockItemTable.tsx:332 msgid "Sent to Customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:311 +#: src/tables/stock/StockItemTable.tsx:333 msgid "Show items which have been sent to a customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:315 +#: src/tables/stock/StockItemTable.tsx:337 msgid "Is Serialized" msgstr "" -#: src/tables/stock/StockItemTable.tsx:316 +#: src/tables/stock/StockItemTable.tsx:338 msgid "Show items which have a serial number" msgstr "" -#: src/tables/stock/StockItemTable.tsx:323 +#: src/tables/stock/StockItemTable.tsx:345 msgid "Has Batch Code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:324 +#: src/tables/stock/StockItemTable.tsx:346 msgid "Show items which have a batch code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:330 +#: src/tables/stock/StockItemTable.tsx:352 msgid "Show tracked items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:334 +#: src/tables/stock/StockItemTable.tsx:356 msgid "Has Purchase Price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:335 +#: src/tables/stock/StockItemTable.tsx:357 msgid "Show items which have a purchase price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:343 +#: src/tables/stock/StockItemTable.tsx:365 msgid "External Location" msgstr "" -#: src/tables/stock/StockItemTable.tsx:344 +#: src/tables/stock/StockItemTable.tsx:366 msgid "Show items in an external location" msgstr "" -#: src/tables/stock/StockItemTable.tsx:416 +#: src/tables/stock/StockItemTable.tsx:438 msgid "Add a new stock item" msgstr "" -#: src/tables/stock/StockItemTable.tsx:425 +#: src/tables/stock/StockItemTable.tsx:447 msgid "Remove some quantity from a stock item" msgstr "" -#: src/tables/stock/StockItemTable.tsx:447 +#: src/tables/stock/StockItemTable.tsx:469 msgid "Move Stock items to new locations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:454 +#: src/tables/stock/StockItemTable.tsx:476 msgid "Change stock status" msgstr "" -#: src/tables/stock/StockItemTable.tsx:456 +#: src/tables/stock/StockItemTable.tsx:478 msgid "Change the status of stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:463 +#: src/tables/stock/StockItemTable.tsx:485 msgid "Merge stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:465 +#: src/tables/stock/StockItemTable.tsx:487 msgid "Merge stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:472 +#: src/tables/stock/StockItemTable.tsx:494 msgid "Order stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:474 -#: src/tables/stock/StockItemTable.tsx:480 +#: src/tables/stock/StockItemTable.tsx:496 +#: src/tables/stock/StockItemTable.tsx:502 msgid "Order new stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:478 +#: src/tables/stock/StockItemTable.tsx:500 msgid "Assign to customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:487 +#: src/tables/stock/StockItemTable.tsx:509 msgid "Delete stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:489 +#: src/tables/stock/StockItemTable.tsx:511 msgid "Delete stock items" msgstr "" diff --git a/src/frontend/src/locales/pt-br/messages.po b/src/frontend/src/locales/pt-br/messages.po index c055616c5c71..a7c3aa6d1bc0 100644 --- a/src/frontend/src/locales/pt-br/messages.po +++ b/src/frontend/src/locales/pt-br/messages.po @@ -44,16 +44,18 @@ msgstr "" #: src/components/buttons/PrintingActions.tsx:107 #: src/components/buttons/PrintingActions.tsx:144 #: src/components/editors/NotesEditor.tsx:65 -#: src/components/editors/NotesEditor.tsx:160 -#: src/components/forms/ApiForm.tsx:506 -#: src/components/forms/fields/ApiFormField.tsx:295 +#: src/components/editors/NotesEditor.tsx:165 +#: src/components/forms/ApiForm.tsx:513 +#: src/components/forms/fields/ApiFormField.tsx:306 +#: src/components/importer/ImportDataSelector.tsx:171 +#: src/components/importer/ImporterColumnSelector.tsx:112 #: src/components/modals/LicenseModal.tsx:75 #: src/components/nav/SearchDrawer.tsx:427 #: src/pages/ErrorPage.tsx:11 #: src/pages/part/PartPricingPanel.tsx:71 -#: src/tables/InvenTreeTable.tsx:451 -#: src/tables/InvenTreeTable.tsx:526 -#: src/tables/bom/BomTable.tsx:363 +#: src/tables/InvenTreeTable.tsx:470 +#: src/tables/InvenTreeTable.tsx:545 +#: src/tables/bom/BomTable.tsx:366 #: src/tables/stock/StockItemTestResultTable.tsx:294 msgid "Error" msgstr "" @@ -152,7 +154,7 @@ msgstr "" #: src/functions/forms.tsx:196 #: src/hooks/UseForm.tsx:40 #: src/tables/FilterSelectDrawer.tsx:204 -#: src/tables/InvenTreeTable.tsx:499 +#: src/tables/InvenTreeTable.tsx:518 #: src/tables/build/BuildOutputTable.tsx:225 msgid "Cancel" msgstr "" @@ -170,7 +172,7 @@ msgid "Clear" msgstr "" #: src/components/details/DetailsImage.tsx:227 -#: src/components/forms/ApiForm.tsx:573 +#: src/components/forms/ApiForm.tsx:580 #: src/contexts/ThemeContext.tsx:43 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:56 msgid "Submit" @@ -197,48 +199,61 @@ msgid "Delete image" msgstr "" #: src/components/details/PartIcons.tsx:28 +#: src/tables/ColumnRenderers.tsx:35 +msgid "Part is locked" +msgstr "" + +#: src/components/details/PartIcons.tsx:30 +#: src/pages/part/PartDetail.tsx:267 +#: src/pages/part/PartDetail.tsx:698 +#: src/tables/part/PartTable.tsx:175 +msgid "Locked" +msgstr "" + +#: src/components/details/PartIcons.tsx:35 +#: src/tables/ColumnRenderers.tsx:30 msgid "Part is not active" msgstr "" -#: src/components/details/PartIcons.tsx:34 +#: src/components/details/PartIcons.tsx:37 #: src/components/render/Plugin.tsx:17 #: src/pages/company/CompanyDetail.tsx:315 #: src/pages/company/SupplierPartDetail.tsx:307 -#: src/pages/part/PartDetail.tsx:685 +#: src/pages/part/PartDetail.tsx:704 msgid "Inactive" msgstr "" -#: src/components/details/PartIcons.tsx:41 +#: src/components/details/PartIcons.tsx:43 msgid "Part is a template part (variants can be made from this part)" msgstr "" -#: src/components/details/PartIcons.tsx:47 +#: src/components/details/PartIcons.tsx:49 msgid "Part can be assembled from other parts" msgstr "" -#: src/components/details/PartIcons.tsx:53 +#: src/components/details/PartIcons.tsx:55 msgid "Part can be used in assemblies" msgstr "" -#: src/components/details/PartIcons.tsx:59 +#: src/components/details/PartIcons.tsx:61 msgid "Part stock is tracked by serial number" msgstr "" -#: src/components/details/PartIcons.tsx:65 +#: src/components/details/PartIcons.tsx:67 msgid "Part can be purchased from external suppliers" msgstr "" -#: src/components/details/PartIcons.tsx:71 +#: src/components/details/PartIcons.tsx:73 msgid "Part can be sold to customers" msgstr "" -#: src/components/details/PartIcons.tsx:76 +#: src/components/details/PartIcons.tsx:78 msgid "Part is virtual (not a physical part)" msgstr "" -#: src/components/details/PartIcons.tsx:82 -#: src/tables/part/PartTable.tsx:234 -#: src/tables/part/PartTable.tsx:238 +#: src/components/details/PartIcons.tsx:84 +#: src/tables/part/PartTable.tsx:241 +#: src/tables/part/PartTable.tsx:245 #: src/tables/part/PartVariantTable.tsx:25 msgid "Virtual" msgstr "" @@ -247,29 +262,29 @@ msgstr "" msgid "Image upload failed" msgstr "" -#: src/components/editors/NotesEditor.tsx:151 -#: src/components/forms/ApiForm.tsx:430 -#: src/tables/bom/BomTable.tsx:354 +#: src/components/editors/NotesEditor.tsx:156 +#: src/components/forms/ApiForm.tsx:437 +#: src/tables/bom/BomTable.tsx:357 msgid "Success" msgstr "" -#: src/components/editors/NotesEditor.tsx:152 +#: src/components/editors/NotesEditor.tsx:157 msgid "Notes saved successfully" msgstr "" -#: src/components/editors/NotesEditor.tsx:161 +#: src/components/editors/NotesEditor.tsx:166 msgid "Failed to save notes" msgstr "" -#: src/components/editors/NotesEditor.tsx:193 +#: src/components/editors/NotesEditor.tsx:198 msgid "Preview Notes" msgstr "" -#: src/components/editors/NotesEditor.tsx:193 +#: src/components/editors/NotesEditor.tsx:198 msgid "Edit Notes" msgstr "" -#: src/components/editors/NotesEditor.tsx:207 +#: src/components/editors/NotesEditor.tsx:212 msgid "Save Notes" msgstr "" @@ -402,7 +417,7 @@ msgstr "" msgid "A server error occurred" msgstr "" -#: src/components/forms/ApiForm.tsx:149 +#: src/components/forms/ApiForm.tsx:151 #: src/functions/forms.tsx:259 msgid "Form Error" msgstr "" @@ -411,18 +426,18 @@ msgstr "" #~ msgid "Form Errors Exist" #~ msgstr "" -#: src/components/forms/ApiForm.tsx:611 +#: src/components/forms/ApiForm.tsx:618 #: src/tables/plugin/PluginListTable.tsx:388 msgid "Update" msgstr "" -#: src/components/forms/ApiForm.tsx:631 +#: src/components/forms/ApiForm.tsx:638 #: 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:498 +#: src/tables/InvenTreeTable.tsx:517 #: src/tables/RowActions.tsx:71 #: src/tables/plugin/PluginListTable.tsx:420 msgid "Delete" @@ -576,7 +591,7 @@ msgstr "" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:70 #: src/pages/part/CategoryDetail.tsx:80 -#: src/pages/part/PartDetail.tsx:122 +#: src/pages/part/PartDetail.tsx:123 #: src/pages/stock/LocationDetail.tsx:87 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 @@ -661,6 +676,124 @@ msgstr "" msgid "Thumbnail" msgstr "" +#: src/components/importer/ImportDataSelector.tsx:154 +msgid "Importing Rows" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:155 +msgid "Please wait while the data is imported" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:172 +msgid "An error occurred while importing data" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:191 +msgid "Edit Data" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:218 +msgid "Delete Row" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:248 +msgid "Row" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:266 +msgid "Row contains errors" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:307 +msgid "Accept" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:340 +msgid "Valid" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:341 +msgid "Filter by row validation status" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:346 +#: src/tables/build/BuildOutputTable.tsx:205 +msgid "Complete" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:347 +msgid "Filter by row completion status" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:364 +msgid "Import selected rows" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:46 +#: src/components/importer/ImporterColumnSelector.tsx:85 +msgid "An error occurred" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:57 +msgid "Select column, or leave blank to ignore this field." +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:91 +msgid "Select a column from the data file" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:104 +msgid "Map data columns to database fields" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:109 +msgid "Accept Column Mapping" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:117 +msgid "Database Field" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:118 +msgid "Field Description" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:119 +msgid "Imported Column Name" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:44 +msgid "Import Data" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:45 +msgid "Map Columns" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:46 +msgid "Process Data" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:47 +msgid "Complete Import" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:91 +msgid "Importing Data" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:97 +msgid "Cancel import session" +msgstr "" + +#: src/components/importer/ImporterImportProgress.tsx:36 +msgid "Importing Records" +msgstr "" + +#: src/components/importer/ImporterImportProgress.tsx:39 +msgid "Imported rows" +msgstr "" + #: src/components/items/ActionDropdown.tsx:119 #: src/pages/build/BuildDetail.tsx:358 msgid "Barcode Actions" @@ -714,7 +847,7 @@ msgid "Read More" msgstr "" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:443 +#: src/tables/InvenTreeTable.tsx:462 msgid "Unknown error" msgstr "" @@ -1015,13 +1148,13 @@ msgstr "" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:313 +#: src/pages/Index/Settings/SystemSettings.tsx:314 msgid "System Settings" msgstr "" #: src/components/nav/MainMenu.tsx:67 #: src/defaults/menuItems.tsx:63 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:198 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:209 msgid "Admin Center" msgstr "" @@ -1056,7 +1189,7 @@ msgid "Pages" msgstr "" #: src/components/nav/NavigationDrawer.tsx:65 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:157 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:168 #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:41 msgid "Plugins" msgstr "" @@ -1070,7 +1203,7 @@ msgstr "" msgid "About" msgstr "" -#: src/components/nav/NotificationDrawer.tsx:78 +#: src/components/nav/NotificationDrawer.tsx:81 #: src/pages/Index/Settings/SystemSettings.tsx:108 #: src/pages/Index/Settings/UserSettings.tsx:96 #: src/pages/Notifications.tsx:65 @@ -1078,17 +1211,17 @@ msgstr "" msgid "Notifications" msgstr "" -#: src/components/nav/NotificationDrawer.tsx:95 +#: src/components/nav/NotificationDrawer.tsx:98 msgid "You have no unread notifications." msgstr "" -#: src/components/nav/NotificationDrawer.tsx:111 -#: src/components/nav/NotificationDrawer.tsx:117 +#: src/components/nav/NotificationDrawer.tsx:114 +#: src/components/nav/NotificationDrawer.tsx:120 #: src/tables/notifications/NotificationsTable.tsx:36 msgid "Notification" msgstr "" -#: src/components/nav/NotificationDrawer.tsx:140 +#: src/components/nav/NotificationDrawer.tsx:143 #: src/pages/Notifications.tsx:73 msgid "Mark as read" msgstr "" @@ -1125,7 +1258,7 @@ msgstr "" msgid "No results available for search query" msgstr "" -#: src/components/render/Instance.tsx:166 +#: src/components/render/Instance.tsx:201 msgid "Unknown model: {model}" msgstr "" @@ -1140,7 +1273,8 @@ msgstr "" #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 #: src/pages/build/BuildDetail.tsx:85 -#: src/pages/part/PartDetail.tsx:831 +#: src/pages/part/PartDetail.tsx:872 +#: src/tables/part/PartTable.tsx:28 #: src/tables/part/RelatedPartTable.tsx:45 #: src/tables/stock/StockTrackingTable.tsx:74 msgid "Part" @@ -1153,7 +1287,7 @@ msgstr "" #: src/pages/part/CategoryDetail.tsx:112 #: src/pages/part/CategoryDetail.tsx:237 #: src/pages/part/CategoryDetail.tsx:267 -#: src/pages/part/PartDetail.tsx:639 +#: src/pages/part/PartDetail.tsx:652 msgid "Parts" msgstr "" @@ -1203,7 +1337,7 @@ msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:172 #: src/pages/part/CategoryDetail.tsx:251 #: src/pages/part/CategoryDetail.tsx:288 -#: src/pages/part/PartDetail.tsx:821 +#: src/pages/part/PartDetail.tsx:862 msgid "Part Categories" msgstr "" @@ -1285,7 +1419,7 @@ msgid "Project Code" msgstr "" #: src/components/render/ModelType.tsx:127 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:109 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:120 msgid "Project Codes" msgstr "" @@ -1297,10 +1431,10 @@ msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:134 -#: src/pages/Index/Settings/SystemSettings.tsx:257 +#: src/pages/Index/Settings/SystemSettings.tsx:258 #: src/pages/company/CompanyDetail.tsx:194 #: src/pages/company/SupplierPartDetail.tsx:226 -#: src/pages/part/PartDetail.tsx:573 +#: src/pages/part/PartDetail.tsx:586 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "" @@ -1322,9 +1456,9 @@ msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:272 +#: src/pages/Index/Settings/SystemSettings.tsx:273 #: src/pages/company/CompanyDetail.tsx:214 -#: src/pages/part/PartDetail.tsx:580 +#: src/pages/part/PartDetail.tsx:593 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" @@ -1344,7 +1478,7 @@ msgid "Return Order" msgstr "" #: src/components/render/ModelType.tsx:164 -#: src/pages/Index/Settings/SystemSettings.tsx:288 +#: src/pages/Index/Settings/SystemSettings.tsx:289 #: src/pages/company/CompanyDetail.tsx:221 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1381,40 +1515,49 @@ msgid "Owners" msgstr "" #: src/components/render/ModelType.tsx:193 +#: src/tables/settings/ImportSessionTable.tsx:122 #: src/tables/stock/StockItemTestResultTable.tsx:193 #: src/tables/stock/StockTrackingTable.tsx:195 msgid "User" msgstr "" #: src/components/render/ModelType.tsx:194 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:85 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:90 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" msgstr "" #: src/components/render/ModelType.tsx:200 -msgid "Label Template" +msgid "Import Session" msgstr "" #: src/components/render/ModelType.tsx:201 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:139 -msgid "Label Templates" +msgid "Import Sessions" msgstr "" #: src/components/render/ModelType.tsx:207 -msgid "Report Template" +msgid "Label Template" msgstr "" #: src/components/render/ModelType.tsx:208 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:145 -msgid "Report Templates" +#: src/pages/Index/Settings/AdminCenter/Index.tsx:150 +msgid "Label Templates" msgstr "" #: src/components/render/ModelType.tsx:214 -msgid "Plugin Configuration" +msgid "Report Template" msgstr "" #: src/components/render/ModelType.tsx:215 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:156 +msgid "Report Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:221 +msgid "Plugin Configuration" +msgstr "" + +#: src/components/render/ModelType.tsx:222 msgid "Plugin Configurations" msgstr "" @@ -1426,7 +1569,7 @@ msgstr "" #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 #: src/pages/Index/Settings/SystemSettings.tsx:210 -#: src/pages/part/PartDetail.tsx:492 +#: src/pages/part/PartDetail.tsx:503 #: src/pages/stock/LocationDetail.tsx:347 #: src/pages/stock/StockDetail.tsx:356 #: src/tables/stock/StockItemTable.tsx:57 @@ -1609,10 +1752,6 @@ msgstr "" #~ msgid "Comment" #~ msgstr "" -#: src/components/tables/general/AttachmentTable.tsx:56 -#~ msgid "Uploaded" -#~ msgstr "" - #: src/components/tables/part/PartCategoryTable.tsx:122 #~ msgid "Part category updated" #~ msgstr "" @@ -2121,7 +2260,7 @@ msgid "Recently Updated" msgstr "" #: src/defaults/dashboardItems.tsx:50 -#: src/tables/part/PartTable.tsx:216 +#: src/tables/part/PartTable.tsx:223 msgid "Low Stock" msgstr "" @@ -2358,7 +2497,7 @@ msgstr "" #~ msgid "Company updated" #~ msgstr "" -#: src/forms/PartForms.tsx:100 +#: src/forms/PartForms.tsx:103 msgid "Parent part category" msgstr "" @@ -2426,7 +2565,7 @@ msgstr "" #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 #: src/pages/stock/StockDetail.tsx:173 -#: src/tables/ColumnRenderers.tsx:34 +#: src/tables/ColumnRenderers.tsx:49 #: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" msgstr "" @@ -2477,8 +2616,8 @@ msgstr "" #: src/forms/StockForms.tsx:176 #: src/pages/stock/StockDetail.tsx:379 -#: src/tables/stock/StockItemTable.tsx:382 -#: src/tables/stock/StockItemTable.tsx:499 +#: src/tables/stock/StockItemTable.tsx:404 +#: src/tables/stock/StockItemTable.tsx:521 msgid "Add Stock Item" msgstr "" @@ -2498,9 +2637,9 @@ msgstr "" #: src/forms/StockForms.tsx:606 #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 -#: src/pages/part/PartDetail.tsx:202 -#: src/pages/part/PartDetail.tsx:655 -#: src/tables/stock/StockItemTable.tsx:290 +#: src/pages/part/PartDetail.tsx:203 +#: src/pages/part/PartDetail.tsx:668 +#: src/tables/stock/StockItemTable.tsx:312 msgid "In Stock" msgstr "" @@ -2541,12 +2680,12 @@ msgid "Remove Stock" msgstr "" #: src/forms/StockForms.tsx:803 -#: src/pages/part/PartDetail.tsx:782 +#: src/pages/part/PartDetail.tsx:823 msgid "Transfer Stock" msgstr "" #: src/forms/StockForms.tsx:812 -#: src/pages/part/PartDetail.tsx:771 +#: src/pages/part/PartDetail.tsx:812 msgid "Count Stock" msgstr "" @@ -3039,53 +3178,57 @@ msgstr "" #~ msgid "Advanced Amininistrative Options for InvenTree" #~ msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:91 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:96 +msgid "Data Import" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:102 msgid "Background Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:97 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:108 msgid "Error Reports" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:103 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:114 msgid "Currencies" 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:132 msgid "Custom Units" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:138 #: src/pages/part/CategoryDetail.tsx:257 msgid "Part Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 -#~ msgid "Templates" -#~ msgstr "" - -#: src/pages/Index/Settings/AdminCenter/Index.tsx:133 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:144 msgid "Category Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:151 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:162 msgid "Location types" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:163 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:174 #: src/tables/machine/MachineTypeTable.tsx:287 msgid "Machines" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:173 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:184 msgid "Quick Actions" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:178 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:189 msgid "Add a new user" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:199 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:210 msgid "Advanced Options" msgstr "" @@ -3237,7 +3380,7 @@ msgid "Reporting" msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:235 -#: src/pages/part/PartDetail.tsx:593 +#: src/pages/part/PartDetail.tsx:606 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" @@ -3245,12 +3388,12 @@ msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:241 #: src/pages/build/BuildDetail.tsx:423 #: src/pages/build/BuildIndex.tsx:14 -#: src/pages/part/PartDetail.tsx:527 +#: src/pages/part/PartDetail.tsx:540 #: src/pages/sales/SalesOrderDetail.tsx:270 msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:316 +#: src/pages/Index/Settings/SystemSettings.tsx:317 msgid "Switch to User Setting" msgstr "" @@ -3311,7 +3454,8 @@ msgstr "" #: 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/settings/ImportSessionTable.tsx:116 +#: src/tables/stock/StockItemTable.tsx:281 #: src/tables/stock/StockTrackingTable.tsx:52 msgid "Status" msgstr "" @@ -3320,7 +3464,7 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:104 #: src/pages/sales/ReturnOrderDetail.tsx:73 #: src/pages/sales/SalesOrderDetail.tsx:77 -#: src/tables/ColumnRenderers.tsx:106 +#: src/tables/ColumnRenderers.tsx:121 #: src/tables/build/BuildLineTable.tsx:140 msgid "Reference" msgstr "" @@ -3330,12 +3474,12 @@ msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:78 #: src/pages/company/SupplierPartDetail.tsx:85 #: src/pages/part/CategoryDetail.tsx:94 -#: src/pages/part/PartDetail.tsx:129 +#: src/pages/part/PartDetail.tsx:130 #: src/pages/purchasing/PurchaseOrderDetail.tsx:125 #: src/pages/sales/ReturnOrderDetail.tsx:93 #: src/pages/sales/SalesOrderDetail.tsx:97 #: src/pages/stock/LocationDetail.tsx:101 -#: src/tables/ColumnRenderers.tsx:66 +#: src/tables/ColumnRenderers.tsx:81 #: src/tables/machine/MachineTypeTable.tsx:69 #: src/tables/machine/MachineTypeTable.tsx:112 #: src/tables/machine/MachineTypeTable.tsx:219 @@ -3366,7 +3510,7 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:152 -#: src/pages/part/PartDetail.tsx:317 +#: src/pages/part/PartDetail.tsx:323 #: src/pages/purchasing/PurchaseOrderDetail.tsx:217 #: src/pages/sales/ReturnOrderDetail.tsx:186 #: src/pages/sales/SalesOrderDetail.tsx:190 @@ -3386,7 +3530,7 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:210 #: src/pages/sales/ReturnOrderDetail.tsx:179 #: src/pages/sales/SalesOrderDetail.tsx:183 -#: src/tables/ColumnRenderers.tsx:191 +#: src/tables/ColumnRenderers.tsx:206 msgid "Target Date" msgstr "" @@ -3467,7 +3611,7 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:297 #: src/pages/company/CompanyDetail.tsx:257 #: src/pages/company/ManufacturerPartDetail.tsx:174 -#: src/pages/part/PartDetail.tsx:616 +#: src/pages/part/PartDetail.tsx:629 #: src/pages/purchasing/PurchaseOrderDetail.tsx:279 #: src/pages/sales/ReturnOrderDetail.tsx:230 #: src/pages/sales/SalesOrderDetail.tsx:280 @@ -3477,7 +3621,7 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:305 #: src/pages/company/CompanyDetail.tsx:268 -#: src/pages/part/PartDetail.tsx:624 +#: src/pages/part/PartDetail.tsx:637 #: src/pages/purchasing/PurchaseOrderDetail.tsx:290 #: src/pages/sales/ReturnOrderDetail.tsx:241 #: src/pages/sales/SalesOrderDetail.tsx:291 @@ -3633,12 +3777,12 @@ msgid "Manufacturer Part Details" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:148 -#: src/pages/part/PartDetail.tsx:486 +#: src/pages/part/PartDetail.tsx:492 msgid "Parameters" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:160 -#: src/pages/part/PartDetail.tsx:560 +#: src/pages/part/PartDetail.tsx:573 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" msgstr "" @@ -3663,7 +3807,7 @@ msgid "ManufacturerPart" msgstr "" #: src/pages/company/SupplierPartDetail.tsx:99 -#: src/tables/ColumnRenderers.tsx:117 +#: src/tables/ColumnRenderers.tsx:132 msgid "Note" msgstr "" @@ -3799,275 +3943,275 @@ msgstr "" msgid "Category Details" msgstr "" -#: src/pages/part/PartDetail.tsx:135 +#: src/pages/part/PartDetail.tsx:136 msgid "Variant of" msgstr "" -#: src/pages/part/PartDetail.tsx:142 +#: src/pages/part/PartDetail.tsx:143 #: src/tables/notifications/NotificationsTable.tsx:31 #: src/tables/part/PartCategoryTemplateTable.tsx:67 msgid "Category" msgstr "" -#: src/pages/part/PartDetail.tsx:148 +#: src/pages/part/PartDetail.tsx:149 msgid "Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:155 +#: src/pages/part/PartDetail.tsx:156 msgid "Category Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:162 +#: src/pages/part/PartDetail.tsx:163 msgid "IPN" msgstr "" -#: src/pages/part/PartDetail.tsx:169 +#: src/pages/part/PartDetail.tsx:170 msgid "Revision" msgstr "" -#: src/pages/part/PartDetail.tsx:176 +#: src/pages/part/PartDetail.tsx:177 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" msgstr "" -#: src/pages/part/PartDetail.tsx:183 +#: src/pages/part/PartDetail.tsx:184 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:190 +#: src/pages/part/PartDetail.tsx:191 #: src/pages/purchasing/PurchaseOrderDetail.tsx:183 #: src/pages/sales/ReturnOrderDetail.tsx:152 #: src/pages/sales/SalesOrderDetail.tsx:156 msgid "Link" msgstr "" -#: src/pages/part/PartDetail.tsx:208 -#: src/tables/bom/BomTable.tsx:276 +#: src/pages/part/PartDetail.tsx:209 +#: src/tables/bom/BomTable.tsx:279 #: src/tables/build/BuildLineTable.tsx:121 -#: src/tables/part/PartTable.tsx:256 +#: src/tables/part/PartTable.tsx:263 msgid "Available Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:215 +#: src/pages/part/PartDetail.tsx:216 msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:221 -#: src/tables/bom/BomTable.tsx:217 +#: src/pages/part/PartDetail.tsx:222 +#: src/tables/bom/BomTable.tsx:220 #: src/tables/build/BuildLineTable.tsx:95 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:230 +#: src/pages/part/PartDetail.tsx:231 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:238 +#: src/pages/part/PartDetail.tsx:239 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:245 -#: src/tables/bom/BomTable.tsx:241 +#: src/pages/part/PartDetail.tsx:246 +#: src/tables/bom/BomTable.tsx:244 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:252 -#: src/tables/bom/BomTable.tsx:225 -#: src/tables/part/PartTable.tsx:82 +#: src/pages/part/PartDetail.tsx:253 +#: src/tables/bom/BomTable.tsx:228 +#: src/tables/part/PartTable.tsx:83 msgid "Building" msgstr "" -#: src/pages/part/PartDetail.tsx:261 +#: src/pages/part/PartDetail.tsx:262 #: src/tables/bom/UsedInTable.tsx:73 #: src/tables/build/BuildOrderTable.tsx:108 #: src/tables/company/CompanyTable.tsx:61 #: src/tables/company/CompanyTable.tsx:95 #: src/tables/machine/MachineListTable.tsx:323 #: src/tables/machine/MachineListTable.tsx:585 -#: src/tables/part/PartTable.tsx:168 +#: src/tables/part/PartTable.tsx:169 #: src/tables/part/PartVariantTable.tsx:15 #: 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 +#: src/tables/stock/StockItemTable.tsx:276 msgid "Active" msgstr "" -#: src/pages/part/PartDetail.tsx:266 +#: src/pages/part/PartDetail.tsx:272 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:271 -#: src/tables/bom/BomTable.tsx:271 +#: src/pages/part/PartDetail.tsx:277 +#: src/tables/bom/BomTable.tsx:274 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:276 +#: src/pages/part/PartDetail.tsx:282 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:281 -#: src/tables/bom/BomTable.tsx:266 +#: src/pages/part/PartDetail.tsx:287 +#: src/tables/bom/BomTable.tsx:269 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:286 +#: src/pages/part/PartDetail.tsx:292 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:291 +#: src/pages/part/PartDetail.tsx:297 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:296 +#: src/pages/part/PartDetail.tsx:302 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:304 -#: src/tables/ColumnRenderers.tsx:199 +#: src/pages/part/PartDetail.tsx:310 +#: src/tables/ColumnRenderers.tsx:214 msgid "Creation Date" msgstr "" -#: src/pages/part/PartDetail.tsx:309 -msgid "Created By" -msgstr "" - #: src/pages/part/PartDetail.tsx:310 #~ msgid "Edit part" #~ msgstr "" +#: src/pages/part/PartDetail.tsx:315 +msgid "Created By" +msgstr "" + #: src/pages/part/PartDetail.tsx:322 #~ msgid "Duplicate part" #~ msgstr "" -#: src/pages/part/PartDetail.tsx:324 -msgid "Default Supplier" -msgstr "" - #: src/pages/part/PartDetail.tsx:327 #~ msgid "Delete part" #~ msgstr "" -#: src/pages/part/PartDetail.tsx:335 +#: src/pages/part/PartDetail.tsx:330 +msgid "Default Supplier" +msgstr "" + +#: src/pages/part/PartDetail.tsx:341 #: src/pages/part/pricing/BomPricingPanel.tsx:78 #: src/pages/part/pricing/VariantPricingPanel.tsx:95 -#: src/tables/part/PartTable.tsx:151 +#: src/tables/part/PartTable.tsx:152 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:374 +#: src/pages/part/PartDetail.tsx:380 #: src/pages/stock/StockDetail.tsx:133 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:409 +#: src/pages/part/PartDetail.tsx:415 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:480 +#: src/pages/part/PartDetail.tsx:486 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:506 +#: src/pages/part/PartDetail.tsx:517 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:513 +#: src/pages/part/PartDetail.tsx:524 #: src/pages/stock/StockDetail.tsx:286 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:520 +#: src/pages/part/PartDetail.tsx:531 msgid "Bill of Materials" msgstr "" -#: src/pages/part/PartDetail.tsx:534 +#: src/pages/part/PartDetail.tsx:547 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:541 +#: src/pages/part/PartDetail.tsx:554 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:547 +#: src/pages/part/PartDetail.tsx:560 #: src/pages/purchasing/PurchasingIndex.tsx:37 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:587 +#: src/pages/part/PartDetail.tsx:600 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:599 +#: src/pages/part/PartDetail.tsx:612 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:610 +#: src/pages/part/PartDetail.tsx:623 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:661 +#: src/pages/part/PartDetail.tsx:674 #: src/pages/stock/StockDetail.tsx:154 #: src/pages/stock/StockDetail.tsx:533 #: src/tables/build/BuildLineTable.tsx:36 -#: src/tables/part/PartTable.tsx:107 +#: src/tables/part/PartTable.tsx:108 #: src/tables/stock/StockItemTable.tsx:166 -#: src/tables/stock/StockItemTable.tsx:275 +#: src/tables/stock/StockItemTable.tsx:297 msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:667 +#: src/pages/part/PartDetail.tsx:680 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:673 -#: src/tables/bom/BomTable.tsx:281 -#: src/tables/part/PartTable.tsx:76 +#: src/pages/part/PartDetail.tsx:686 +#: src/tables/bom/BomTable.tsx:284 +#: src/tables/part/PartTable.tsx:77 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:679 +#: src/pages/part/PartDetail.tsx:692 #: src/pages/stock/StockDetail.tsx:516 -#: src/tables/stock/StockItemTable.tsx:295 +#: src/tables/stock/StockItemTable.tsx:317 msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:698 +#: src/pages/part/PartDetail.tsx:717 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:705 -#: src/tables/part/PartTable.tsx:289 -#: src/tables/part/PartTable.tsx:302 +#: src/pages/part/PartDetail.tsx:744 +#: src/tables/part/PartTable.tsx:296 +#: src/tables/part/PartTable.tsx:309 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:717 +#: src/pages/part/PartDetail.tsx:758 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:726 +#: src/pages/part/PartDetail.tsx:767 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:764 +#: src/pages/part/PartDetail.tsx:805 #: src/pages/stock/LocationDetail.tsx:304 -#: src/tables/stock/StockItemTable.tsx:409 +#: src/tables/stock/StockItemTable.tsx:431 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:772 +#: src/pages/part/PartDetail.tsx:813 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:824 msgid "Transfer part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:792 +#: src/pages/part/PartDetail.tsx:833 msgid "Part Actions" msgstr "" @@ -4111,8 +4255,8 @@ msgstr "" #: src/pages/part/pricing/BomPricingPanel.tsx:57 #: src/pages/part/pricing/BomPricingPanel.tsx:137 -#: src/tables/ColumnRenderers.tsx:241 -#: src/tables/bom/BomTable.tsx:165 +#: src/tables/ColumnRenderers.tsx:256 +#: src/tables/bom/BomTable.tsx:168 #: src/tables/purchasing/PurchaseOrderTable.tsx:112 #: src/tables/sales/ReturnOrderTable.tsx:104 #: src/tables/sales/SalesOrderTable.tsx:134 @@ -4121,7 +4265,7 @@ msgstr "" #: src/pages/part/pricing/BomPricingPanel.tsx:77 #: src/pages/part/pricing/BomPricingPanel.tsx:101 -#: src/tables/part/PartTable.tsx:186 +#: src/tables/part/PartTable.tsx:193 msgid "Component" msgstr "" @@ -4150,7 +4294,7 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:67 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:128 #: src/pages/part/pricing/SupplierPricingPanel.tsx:62 -#: src/tables/bom/BomTable.tsx:156 +#: src/tables/bom/BomTable.tsx:159 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 msgid "Unit Price" @@ -4250,7 +4394,7 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:40 #: src/pages/part/pricing/SaleHistoryPanel.tsx:36 -#: src/tables/ColumnRenderers.tsx:180 +#: src/tables/ColumnRenderers.tsx:195 #: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" @@ -4523,12 +4667,12 @@ msgid "Count stock" msgstr "" #: src/pages/stock/StockDetail.tsx:459 -#: src/tables/stock/StockItemTable.tsx:414 +#: src/tables/stock/StockItemTable.tsx:436 msgid "Add stock" msgstr "" #: src/pages/stock/StockDetail.tsx:467 -#: src/tables/stock/StockItemTable.tsx:423 +#: src/tables/stock/StockItemTable.tsx:445 msgid "Remove stock" msgstr "" @@ -4537,7 +4681,7 @@ msgid "Transfer" msgstr "" #: src/pages/stock/StockDetail.tsx:475 -#: src/tables/stock/StockItemTable.tsx:443 +#: src/tables/stock/StockItemTable.tsx:465 msgid "Transfer stock" msgstr "" @@ -4545,15 +4689,15 @@ msgstr "" msgid "Stock Item Actions" msgstr "" -#: src/tables/ColumnRenderers.tsx:42 +#: src/tables/ColumnRenderers.tsx:57 msgid "No location set" msgstr "" -#: src/tables/ColumnRenderers.tsx:207 +#: src/tables/ColumnRenderers.tsx:222 msgid "Shipment Date" msgstr "" -#: src/tables/ColumnRenderers.tsx:227 +#: src/tables/ColumnRenderers.tsx:242 #: src/tables/settings/CurrencyTable.tsx:23 msgid "Currency" msgstr "" @@ -4580,14 +4724,14 @@ msgid "TSV" msgstr "" #: src/tables/DownloadAction.tsx:24 -msgid "Excel (.xls)" -msgstr "" - -#: src/tables/DownloadAction.tsx:25 msgid "Excel (.xlsx)" msgstr "" -#: src/tables/DownloadAction.tsx:39 +#: src/tables/DownloadAction.tsx:24 +#~ msgid "Excel (.xls)" +#~ msgstr "" + +#: src/tables/DownloadAction.tsx:38 msgid "Download Data" msgstr "" @@ -4652,54 +4796,54 @@ msgstr "" msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:119 -#: src/tables/InvenTreeTable.tsx:390 -#: src/tables/InvenTreeTable.tsx:411 +#: src/tables/InvenTreeTable.tsx:126 +#: src/tables/InvenTreeTable.tsx:409 +#: src/tables/InvenTreeTable.tsx:430 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:422 +#: src/tables/InvenTreeTable.tsx:441 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:430 +#: src/tables/InvenTreeTable.tsx:449 msgid "Bad request" msgstr "" -#: src/tables/InvenTreeTable.tsx:433 +#: src/tables/InvenTreeTable.tsx:452 msgid "Unauthorized" msgstr "" -#: src/tables/InvenTreeTable.tsx:436 +#: src/tables/InvenTreeTable.tsx:455 msgid "Forbidden" msgstr "" -#: src/tables/InvenTreeTable.tsx:439 +#: src/tables/InvenTreeTable.tsx:458 msgid "Not found" msgstr "" -#: src/tables/InvenTreeTable.tsx:488 -#: src/tables/InvenTreeTable.tsx:606 +#: src/tables/InvenTreeTable.tsx:507 +#: src/tables/InvenTreeTable.tsx:623 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:492 +#: src/tables/InvenTreeTable.tsx:511 msgid "Are you sure you want to delete the selected records?" msgstr "" -#: src/tables/InvenTreeTable.tsx:494 +#: src/tables/InvenTreeTable.tsx:513 msgid "This action cannot be undone!" msgstr "" -#: src/tables/InvenTreeTable.tsx:517 +#: src/tables/InvenTreeTable.tsx:536 msgid "Deleted records" msgstr "" -#: src/tables/InvenTreeTable.tsx:518 +#: src/tables/InvenTreeTable.tsx:537 msgid "Records were deleted successfully" msgstr "" -#: src/tables/InvenTreeTable.tsx:527 +#: src/tables/InvenTreeTable.tsx:546 msgid "Failed to delete records" msgstr "" @@ -4708,140 +4852,144 @@ msgstr "" #~ msgid "Print actions" #~ msgstr "" -#: src/tables/InvenTreeTable.tsx:596 -#: src/tables/InvenTreeTable.tsx:597 +#: src/tables/InvenTreeTable.tsx:613 +#: src/tables/InvenTreeTable.tsx:614 msgid "Barcode actions" msgstr "" -#: src/tables/InvenTreeTable.tsx:625 +#: src/tables/InvenTreeTable.tsx:642 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTable.tsx:646 +#: src/tables/InvenTreeTable.tsx:663 msgid "Table filters" msgstr "" -#: src/tables/bom/BomTable.tsx:80 +#: src/tables/UploadAction.tsx:9 +msgid "Upload Data" +msgstr "" + +#: src/tables/bom/BomTable.tsx:83 msgid "This BOM item is defined for a different parent" msgstr "" -#: src/tables/bom/BomTable.tsx:95 +#: src/tables/bom/BomTable.tsx:98 msgid "Part Information" msgstr "" -#: src/tables/bom/BomTable.tsx:184 -#: src/tables/part/PartTable.tsx:124 +#: src/tables/bom/BomTable.tsx:187 +#: src/tables/part/PartTable.tsx:125 msgid "No stock" msgstr "" -#: src/tables/bom/BomTable.tsx:192 +#: src/tables/bom/BomTable.tsx:195 #: src/tables/build/BuildLineTable.tsx:104 -#: src/tables/part/PartTable.tsx:115 +#: src/tables/part/PartTable.tsx:116 msgid "External stock" msgstr "" -#: src/tables/bom/BomTable.tsx:200 +#: src/tables/bom/BomTable.tsx:203 #: src/tables/build/BuildLineTable.tsx:67 msgid "Includes substitute stock" msgstr "" -#: src/tables/bom/BomTable.tsx:209 +#: src/tables/bom/BomTable.tsx:212 #: src/tables/build/BuildLineTable.tsx:77 msgid "Includes variant stock" msgstr "" -#: src/tables/bom/BomTable.tsx:234 -#: src/tables/part/PartTable.tsx:143 +#: src/tables/bom/BomTable.tsx:237 +#: src/tables/part/PartTable.tsx:144 #: src/tables/stock/StockItemTable.tsx:205 msgid "Stock Information" msgstr "" -#: src/tables/bom/BomTable.tsx:246 +#: src/tables/bom/BomTable.tsx:249 #: src/tables/build/BuildLineTable.tsx:195 msgid "Consumable item" msgstr "" -#: src/tables/bom/BomTable.tsx:267 +#: src/tables/bom/BomTable.tsx:270 msgid "Show trackable items" msgstr "" -#: src/tables/bom/BomTable.tsx:272 +#: src/tables/bom/BomTable.tsx:275 msgid "Show asssmbled items" msgstr "" -#: src/tables/bom/BomTable.tsx:277 +#: src/tables/bom/BomTable.tsx:280 msgid "Show items with available stock" msgstr "" -#: src/tables/bom/BomTable.tsx:282 +#: src/tables/bom/BomTable.tsx:285 msgid "Show items on order" msgstr "" -#: src/tables/bom/BomTable.tsx:286 +#: src/tables/bom/BomTable.tsx:289 msgid "Validated" msgstr "" -#: src/tables/bom/BomTable.tsx:287 +#: src/tables/bom/BomTable.tsx:290 msgid "Show validated items" msgstr "" -#: src/tables/bom/BomTable.tsx:291 +#: src/tables/bom/BomTable.tsx:294 #: src/tables/bom/UsedInTable.tsx:63 msgid "Inherited" msgstr "" -#: src/tables/bom/BomTable.tsx:292 +#: src/tables/bom/BomTable.tsx:295 #: src/tables/bom/UsedInTable.tsx:64 msgid "Show inherited items" msgstr "" -#: src/tables/bom/BomTable.tsx:296 +#: src/tables/bom/BomTable.tsx:299 msgid "Allow Variants" msgstr "" -#: src/tables/bom/BomTable.tsx:297 +#: src/tables/bom/BomTable.tsx:300 msgid "Show items which allow variant substitution" msgstr "" #: src/tables/bom/BomTable.tsx:301 +#~ msgid "Create BOM Item" +#~ msgstr "" + +#: src/tables/bom/BomTable.tsx:304 #: src/tables/bom/UsedInTable.tsx:68 #: src/tables/build/BuildLineTable.tsx:46 msgid "Optional" msgstr "" -#: src/tables/bom/BomTable.tsx:301 -#~ msgid "Create BOM Item" -#~ msgstr "" - -#: src/tables/bom/BomTable.tsx:302 +#: src/tables/bom/BomTable.tsx:305 #: src/tables/bom/UsedInTable.tsx:69 msgid "Show optional items" msgstr "" -#: src/tables/bom/BomTable.tsx:306 +#: src/tables/bom/BomTable.tsx:309 #: src/tables/build/BuildLineTable.tsx:41 msgid "Consumable" msgstr "" -#: src/tables/bom/BomTable.tsx:307 +#: src/tables/bom/BomTable.tsx:310 msgid "Show consumable items" msgstr "" -#: src/tables/bom/BomTable.tsx:311 -#: src/tables/part/PartTable.tsx:250 +#: src/tables/bom/BomTable.tsx:314 +#: src/tables/part/PartTable.tsx:257 msgid "Has Pricing" msgstr "" -#: src/tables/bom/BomTable.tsx:312 +#: src/tables/bom/BomTable.tsx:315 msgid "Show items with pricing" msgstr "" -#: src/tables/bom/BomTable.tsx:321 -#: src/tables/bom/BomTable.tsx:420 +#: src/tables/bom/BomTable.tsx:324 +#: src/tables/bom/BomTable.tsx:426 msgid "Add BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:326 +#: src/tables/bom/BomTable.tsx:329 msgid "BOM item created" msgstr "" @@ -4849,23 +4997,23 @@ msgstr "" #~ msgid "Edit Bom Item" #~ msgstr "" -#: src/tables/bom/BomTable.tsx:333 -msgid "Edit BOM Item" -msgstr "" - #: src/tables/bom/BomTable.tsx:333 #~ msgid "Bom item updated" #~ msgstr "" -#: src/tables/bom/BomTable.tsx:335 +#: src/tables/bom/BomTable.tsx:336 +msgid "Edit BOM Item" +msgstr "" + +#: src/tables/bom/BomTable.tsx:338 msgid "BOM item updated" msgstr "" -#: src/tables/bom/BomTable.tsx:342 +#: src/tables/bom/BomTable.tsx:345 msgid "Delete BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:343 +#: src/tables/bom/BomTable.tsx:346 msgid "BOM item deleted" msgstr "" @@ -4885,32 +5033,41 @@ msgstr "" #~ msgid "Validate BOM line" #~ msgstr "" -#: src/tables/bom/BomTable.tsx:355 +#: src/tables/bom/BomTable.tsx:358 msgid "BOM item validated" msgstr "" -#: src/tables/bom/BomTable.tsx:364 +#: src/tables/bom/BomTable.tsx:367 msgid "Failed to validate BOM item" msgstr "" -#: src/tables/bom/BomTable.tsx:376 +#: src/tables/bom/BomTable.tsx:379 msgid "View BOM" msgstr "" -#: src/tables/bom/BomTable.tsx:385 +#: src/tables/bom/BomTable.tsx:388 msgid "Validate BOM Line" msgstr "" -#: src/tables/bom/BomTable.tsx:399 +#: src/tables/bom/BomTable.tsx:405 msgid "Edit Substitutes" msgstr "" +#: src/tables/bom/BomTable.tsx:440 +#: src/tables/part/PartParameterTable.tsx:191 +msgid "Part is Locked" +msgstr "" + +#: src/tables/bom/BomTable.tsx:445 +msgid "Bill of materials cannot be edited, as the part is locked" +msgstr "" + #: src/tables/bom/UsedInTable.tsx:74 msgid "Show active assemblies" msgstr "" #: src/tables/bom/UsedInTable.tsx:78 -#: src/tables/part/PartTable.tsx:192 +#: src/tables/part/PartTable.tsx:199 #: src/tables/part/PartVariantTable.tsx:30 msgid "Trackable" msgstr "" @@ -4920,7 +5077,7 @@ msgid "Show trackable assemblies" msgstr "" #: src/tables/build/BuildLineTable.tsx:31 -#: src/tables/stock/StockItemTable.tsx:270 +#: src/tables/stock/StockItemTable.tsx:292 msgid "Allocated" msgstr "" @@ -4941,7 +5098,7 @@ msgid "Show optional lines" msgstr "" #: src/tables/build/BuildLineTable.tsx:51 -#: src/tables/stock/StockItemTable.tsx:329 +#: src/tables/stock/StockItemTable.tsx:351 msgid "Tracked" msgstr "" @@ -5054,10 +5211,6 @@ msgstr "" msgid "Deallocate stock from build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:205 -msgid "Complete" -msgstr "" - #: src/tables/build/BuildOutputTable.tsx:206 msgid "Complete build output" msgstr "" @@ -5387,7 +5540,7 @@ msgid "Message" msgstr "" #: src/tables/part/ParametricPartTable.tsx:76 -#: src/tables/part/PartParameterTable.tsx:88 +#: src/tables/part/PartParameterTable.tsx:95 msgid "Internal Units" msgstr "" @@ -5400,13 +5553,13 @@ msgid "Add Part Parameter" msgstr "" #: src/tables/part/ParametricPartTable.tsx:138 -#: src/tables/part/PartParameterTable.tsx:121 -#: src/tables/part/PartParameterTable.tsx:144 +#: src/tables/part/PartParameterTable.tsx:128 +#: src/tables/part/PartParameterTable.tsx:151 msgid "Edit Part Parameter" msgstr "" #: src/tables/part/PartCategoryTable.tsx:60 -#: src/tables/part/PartTable.tsx:180 +#: src/tables/part/PartTable.tsx:187 msgid "Include Subcategories" msgstr "" @@ -5419,7 +5572,7 @@ msgid "Show structural categories" msgstr "" #: src/tables/part/PartCategoryTable.tsx:70 -#: src/tables/part/PartTable.tsx:262 +#: src/tables/part/PartTable.tsx:269 msgid "Subscribed" msgstr "" @@ -5456,21 +5609,25 @@ msgstr "" #~ msgid "[{0}]" #~ msgstr "" -#: src/tables/part/PartParameterTable.tsx:105 +#: src/tables/part/PartParameterTable.tsx:112 msgid "New Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:130 -#: src/tables/part/PartParameterTable.tsx:152 +#: src/tables/part/PartParameterTable.tsx:137 +#: src/tables/part/PartParameterTable.tsx:159 msgid "Delete Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:170 +#: src/tables/part/PartParameterTable.tsx:177 msgid "Add parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:191 -#: src/tables/stock/StockItemTable.tsx:300 +#: src/tables/part/PartParameterTable.tsx:196 +msgid "Part parameters cannot be edited, as the part is locked" +msgstr "" + +#: src/tables/part/PartParameterTable.tsx:210 +#: src/tables/stock/StockItemTable.tsx:322 msgid "Include Variants" msgstr "" @@ -5491,7 +5648,7 @@ msgid "Show templates with choices" msgstr "" #: src/tables/part/PartParameterTemplateTable.tsx:41 -#: src/tables/part/PartTable.tsx:198 +#: src/tables/part/PartTable.tsx:205 msgid "Has Units" msgstr "" @@ -5515,116 +5672,120 @@ msgstr "" msgid "Add parameter template" msgstr "" -#: src/tables/part/PartTable.tsx:67 +#: src/tables/part/PartTable.tsx:68 msgid "Minimum stock" msgstr "" -#: src/tables/part/PartTable.tsx:89 +#: src/tables/part/PartTable.tsx:90 msgid "Build Order Allocations" msgstr "" -#: src/tables/part/PartTable.tsx:98 +#: src/tables/part/PartTable.tsx:99 msgid "Sales Order Allocations" msgstr "" -#: src/tables/part/PartTable.tsx:169 +#: src/tables/part/PartTable.tsx:170 msgid "Filter by part active status" msgstr "" -#: src/tables/part/PartTable.tsx:174 -#: src/tables/stock/StockItemTable.tsx:265 +#: src/tables/part/PartTable.tsx:176 +msgid "Filter by part locked status" +msgstr "" + +#: src/tables/part/PartTable.tsx:181 +#: src/tables/stock/StockItemTable.tsx:287 msgid "Assembly" msgstr "" -#: src/tables/part/PartTable.tsx:175 +#: src/tables/part/PartTable.tsx:182 msgid "Filter by assembly attribute" msgstr "" -#: src/tables/part/PartTable.tsx:181 +#: src/tables/part/PartTable.tsx:188 msgid "Include parts in subcategories" msgstr "" -#: src/tables/part/PartTable.tsx:187 +#: src/tables/part/PartTable.tsx:194 msgid "Filter by component attribute" msgstr "" -#: src/tables/part/PartTable.tsx:193 +#: src/tables/part/PartTable.tsx:200 msgid "Filter by trackable attribute" msgstr "" -#: src/tables/part/PartTable.tsx:199 +#: src/tables/part/PartTable.tsx:206 msgid "Filter by parts which have units" msgstr "" -#: src/tables/part/PartTable.tsx:204 +#: src/tables/part/PartTable.tsx:211 msgid "Has IPN" msgstr "" -#: src/tables/part/PartTable.tsx:205 +#: src/tables/part/PartTable.tsx:212 msgid "Filter by parts which have an internal part number" msgstr "" -#: src/tables/part/PartTable.tsx:210 +#: src/tables/part/PartTable.tsx:217 msgid "Has Stock" msgstr "" -#: src/tables/part/PartTable.tsx:211 +#: src/tables/part/PartTable.tsx:218 msgid "Filter by parts which have stock" msgstr "" -#: src/tables/part/PartTable.tsx:217 +#: src/tables/part/PartTable.tsx:224 msgid "Filter by parts which have low stock" msgstr "" -#: src/tables/part/PartTable.tsx:222 +#: src/tables/part/PartTable.tsx:229 msgid "Purchaseable" msgstr "" -#: src/tables/part/PartTable.tsx:223 +#: src/tables/part/PartTable.tsx:230 msgid "Filter by parts which are purchaseable" msgstr "" -#: src/tables/part/PartTable.tsx:228 +#: src/tables/part/PartTable.tsx:235 msgid "Salable" msgstr "" -#: src/tables/part/PartTable.tsx:229 +#: src/tables/part/PartTable.tsx:236 msgid "Filter by parts which are salable" msgstr "" -#: src/tables/part/PartTable.tsx:235 +#: src/tables/part/PartTable.tsx:242 msgid "Filter by parts which are virtual" msgstr "" -#: src/tables/part/PartTable.tsx:239 +#: src/tables/part/PartTable.tsx:246 msgid "Not Virtual" msgstr "" -#: src/tables/part/PartTable.tsx:244 +#: src/tables/part/PartTable.tsx:251 msgid "Is Template" msgstr "" -#: src/tables/part/PartTable.tsx:245 +#: src/tables/part/PartTable.tsx:252 msgid "Filter by parts which are templates" msgstr "" -#: src/tables/part/PartTable.tsx:251 +#: src/tables/part/PartTable.tsx:258 msgid "Filter by parts which have pricing information" msgstr "" -#: src/tables/part/PartTable.tsx:257 +#: src/tables/part/PartTable.tsx:264 msgid "Filter by parts which have available stock" msgstr "" -#: src/tables/part/PartTable.tsx:263 +#: src/tables/part/PartTable.tsx:270 msgid "Filter by parts to which the user is subscribed" msgstr "" -#: src/tables/part/PartTable.tsx:268 +#: src/tables/part/PartTable.tsx:275 msgid "Has Stocktake" msgstr "" -#: src/tables/part/PartTable.tsx:269 +#: src/tables/part/PartTable.tsx:276 msgid "Filter by parts which have stocktake information" msgstr "" @@ -5963,7 +6124,7 @@ msgid "Sample" msgstr "" #: src/tables/plugin/PluginListTable.tsx:578 -#: src/tables/stock/StockItemTable.tsx:305 +#: src/tables/stock/StockItemTable.tsx:327 msgid "Installed" msgstr "" @@ -6238,6 +6399,41 @@ msgstr "" msgid "Edit group" msgstr "" +#: src/tables/settings/ImportSessionTable.tsx:39 +msgid "Delete Import Session" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:45 +#: src/tables/settings/ImportSessionTable.tsx:132 +msgid "Create Import Session" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:70 +msgid "Uploaded" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:80 +msgid "Imported Rows" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:110 +#: src/tables/settings/TemplateTable.tsx:276 +msgid "Model Type" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:111 +#: src/tables/settings/TemplateTable.tsx:277 +msgid "Filter by target model type" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:117 +msgid "Filter by import session status" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:123 +msgid "Filter by user" +msgstr "" + #: src/tables/settings/PendingTasksTable.tsx:36 msgid "Arguments" msgstr "" @@ -6254,7 +6450,7 @@ msgstr "" msgid "Delete Project Code" msgstr "" -#: src/tables/settings/ProjectCodeTable.tsx:94 +#: src/tables/settings/ProjectCodeTable.tsx:92 msgid "Add project code" msgstr "" @@ -6323,14 +6519,6 @@ msgstr "" 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 "" @@ -6453,149 +6641,153 @@ msgstr "" msgid "This stock item has been depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:255 +#: src/tables/stock/StockItemTable.tsx:247 +msgid "Stock Value" +msgstr "" + +#: src/tables/stock/StockItemTable.tsx:277 msgid "Show stock for active parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:260 +#: src/tables/stock/StockItemTable.tsx:282 msgid "Filter by stock status" msgstr "" -#: src/tables/stock/StockItemTable.tsx:266 +#: src/tables/stock/StockItemTable.tsx:288 msgid "Show stock for assmebled parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:271 +#: src/tables/stock/StockItemTable.tsx:293 msgid "Show items which have been allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:276 +#: src/tables/stock/StockItemTable.tsx:298 msgid "Show items which are available" msgstr "" -#: src/tables/stock/StockItemTable.tsx:280 +#: src/tables/stock/StockItemTable.tsx:302 #: src/tables/stock/StockLocationTable.tsx:42 msgid "Include Sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:281 +#: src/tables/stock/StockItemTable.tsx:303 msgid "Include stock in sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:285 +#: src/tables/stock/StockItemTable.tsx:307 msgid "Depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:286 +#: src/tables/stock/StockItemTable.tsx:308 msgid "Show depleted stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:291 +#: src/tables/stock/StockItemTable.tsx:313 msgid "Show items which are in stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:296 +#: src/tables/stock/StockItemTable.tsx:318 msgid "Show items which are in production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:301 +#: src/tables/stock/StockItemTable.tsx:323 msgid "Include stock items for variant parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:306 +#: src/tables/stock/StockItemTable.tsx:328 msgid "Show stock items which are installed in other items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:310 +#: src/tables/stock/StockItemTable.tsx:332 msgid "Sent to Customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:311 +#: src/tables/stock/StockItemTable.tsx:333 msgid "Show items which have been sent to a customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:315 +#: src/tables/stock/StockItemTable.tsx:337 msgid "Is Serialized" msgstr "" -#: src/tables/stock/StockItemTable.tsx:316 +#: src/tables/stock/StockItemTable.tsx:338 msgid "Show items which have a serial number" msgstr "" -#: src/tables/stock/StockItemTable.tsx:323 +#: src/tables/stock/StockItemTable.tsx:345 msgid "Has Batch Code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:324 +#: src/tables/stock/StockItemTable.tsx:346 msgid "Show items which have a batch code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:330 +#: src/tables/stock/StockItemTable.tsx:352 msgid "Show tracked items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:334 +#: src/tables/stock/StockItemTable.tsx:356 msgid "Has Purchase Price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:335 +#: src/tables/stock/StockItemTable.tsx:357 msgid "Show items which have a purchase price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:343 +#: src/tables/stock/StockItemTable.tsx:365 msgid "External Location" msgstr "" -#: src/tables/stock/StockItemTable.tsx:344 +#: src/tables/stock/StockItemTable.tsx:366 msgid "Show items in an external location" msgstr "" -#: src/tables/stock/StockItemTable.tsx:416 +#: src/tables/stock/StockItemTable.tsx:438 msgid "Add a new stock item" msgstr "" -#: src/tables/stock/StockItemTable.tsx:425 +#: src/tables/stock/StockItemTable.tsx:447 msgid "Remove some quantity from a stock item" msgstr "" -#: src/tables/stock/StockItemTable.tsx:447 +#: src/tables/stock/StockItemTable.tsx:469 msgid "Move Stock items to new locations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:454 +#: src/tables/stock/StockItemTable.tsx:476 msgid "Change stock status" msgstr "" -#: src/tables/stock/StockItemTable.tsx:456 +#: src/tables/stock/StockItemTable.tsx:478 msgid "Change the status of stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:463 +#: src/tables/stock/StockItemTable.tsx:485 msgid "Merge stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:465 +#: src/tables/stock/StockItemTable.tsx:487 msgid "Merge stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:472 +#: src/tables/stock/StockItemTable.tsx:494 msgid "Order stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:474 -#: src/tables/stock/StockItemTable.tsx:480 +#: src/tables/stock/StockItemTable.tsx:496 +#: src/tables/stock/StockItemTable.tsx:502 msgid "Order new stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:478 +#: src/tables/stock/StockItemTable.tsx:500 msgid "Assign to customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:487 +#: src/tables/stock/StockItemTable.tsx:509 msgid "Delete stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:489 +#: src/tables/stock/StockItemTable.tsx:511 msgid "Delete stock items" msgstr "" diff --git a/src/frontend/src/locales/pt/messages.po b/src/frontend/src/locales/pt/messages.po index 9318d8a3d324..744b12065fdf 100644 --- a/src/frontend/src/locales/pt/messages.po +++ b/src/frontend/src/locales/pt/messages.po @@ -49,16 +49,18 @@ msgstr "Impressão de etiqueta finalizada com sucesso" #: src/components/buttons/PrintingActions.tsx:107 #: src/components/buttons/PrintingActions.tsx:144 #: src/components/editors/NotesEditor.tsx:65 -#: src/components/editors/NotesEditor.tsx:160 -#: src/components/forms/ApiForm.tsx:506 -#: src/components/forms/fields/ApiFormField.tsx:295 +#: src/components/editors/NotesEditor.tsx:165 +#: src/components/forms/ApiForm.tsx:513 +#: src/components/forms/fields/ApiFormField.tsx:306 +#: src/components/importer/ImportDataSelector.tsx:171 +#: src/components/importer/ImporterColumnSelector.tsx:112 #: src/components/modals/LicenseModal.tsx:75 #: src/components/nav/SearchDrawer.tsx:427 #: src/pages/ErrorPage.tsx:11 #: src/pages/part/PartPricingPanel.tsx:71 -#: src/tables/InvenTreeTable.tsx:451 -#: src/tables/InvenTreeTable.tsx:526 -#: src/tables/bom/BomTable.tsx:363 +#: src/tables/InvenTreeTable.tsx:470 +#: src/tables/InvenTreeTable.tsx:545 +#: src/tables/bom/BomTable.tsx:366 #: src/tables/stock/StockItemTestResultTable.tsx:294 msgid "Error" msgstr "Erro" @@ -157,7 +159,7 @@ msgstr "Remover" #: src/functions/forms.tsx:196 #: src/hooks/UseForm.tsx:40 #: src/tables/FilterSelectDrawer.tsx:204 -#: src/tables/InvenTreeTable.tsx:499 +#: src/tables/InvenTreeTable.tsx:518 #: src/tables/build/BuildOutputTable.tsx:225 msgid "Cancel" msgstr "Cancelar" @@ -175,7 +177,7 @@ msgid "Clear" msgstr "Limpar" #: src/components/details/DetailsImage.tsx:227 -#: src/components/forms/ApiForm.tsx:573 +#: src/components/forms/ApiForm.tsx:580 #: src/contexts/ThemeContext.tsx:43 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:56 msgid "Submit" @@ -202,48 +204,61 @@ msgid "Delete image" msgstr "Excluir imagem" #: src/components/details/PartIcons.tsx:28 +#: src/tables/ColumnRenderers.tsx:35 +msgid "Part is locked" +msgstr "" + +#: src/components/details/PartIcons.tsx:30 +#: src/pages/part/PartDetail.tsx:267 +#: src/pages/part/PartDetail.tsx:698 +#: src/tables/part/PartTable.tsx:175 +msgid "Locked" +msgstr "" + +#: src/components/details/PartIcons.tsx:35 +#: src/tables/ColumnRenderers.tsx:30 msgid "Part is not active" msgstr "Peça inativa" -#: src/components/details/PartIcons.tsx:34 +#: src/components/details/PartIcons.tsx:37 #: src/components/render/Plugin.tsx:17 #: src/pages/company/CompanyDetail.tsx:315 #: src/pages/company/SupplierPartDetail.tsx:307 -#: src/pages/part/PartDetail.tsx:685 +#: src/pages/part/PartDetail.tsx:704 msgid "Inactive" msgstr "Inativo" -#: src/components/details/PartIcons.tsx:41 +#: src/components/details/PartIcons.tsx:43 msgid "Part is a template part (variants can be made from this part)" msgstr "Esta é uma peça modelo (as variantes podem ser feitas a partir desta peça)" -#: src/components/details/PartIcons.tsx:47 +#: src/components/details/PartIcons.tsx:49 msgid "Part can be assembled from other parts" msgstr "Peça pode ser montada a partir de outras peças" -#: src/components/details/PartIcons.tsx:53 +#: src/components/details/PartIcons.tsx:55 msgid "Part can be used in assemblies" msgstr "Peça pode ser usada em montagens" -#: src/components/details/PartIcons.tsx:59 +#: src/components/details/PartIcons.tsx:61 msgid "Part stock is tracked by serial number" msgstr "Peça em estoque é controlada por número de série" -#: src/components/details/PartIcons.tsx:65 +#: src/components/details/PartIcons.tsx:67 msgid "Part can be purchased from external suppliers" msgstr "Peça pode ser comprada de fornecedores externos" -#: src/components/details/PartIcons.tsx:71 +#: src/components/details/PartIcons.tsx:73 msgid "Part can be sold to customers" msgstr "Peça pode ser vendida a clientes" -#: src/components/details/PartIcons.tsx:76 +#: src/components/details/PartIcons.tsx:78 msgid "Part is virtual (not a physical part)" msgstr "Peça é virtual (não é física)" -#: src/components/details/PartIcons.tsx:82 -#: src/tables/part/PartTable.tsx:234 -#: src/tables/part/PartTable.tsx:238 +#: src/components/details/PartIcons.tsx:84 +#: src/tables/part/PartTable.tsx:241 +#: src/tables/part/PartTable.tsx:245 #: src/tables/part/PartVariantTable.tsx:25 msgid "Virtual" msgstr "Virtual" @@ -252,29 +267,29 @@ msgstr "Virtual" msgid "Image upload failed" msgstr "Upload da imagem falhou" -#: src/components/editors/NotesEditor.tsx:151 -#: src/components/forms/ApiForm.tsx:430 -#: src/tables/bom/BomTable.tsx:354 +#: src/components/editors/NotesEditor.tsx:156 +#: src/components/forms/ApiForm.tsx:437 +#: src/tables/bom/BomTable.tsx:357 msgid "Success" msgstr "Sucesso" -#: src/components/editors/NotesEditor.tsx:152 +#: src/components/editors/NotesEditor.tsx:157 msgid "Notes saved successfully" msgstr "Notas salvas com sucesso" -#: src/components/editors/NotesEditor.tsx:161 +#: src/components/editors/NotesEditor.tsx:166 msgid "Failed to save notes" msgstr "Falha em salvar notas" -#: src/components/editors/NotesEditor.tsx:193 +#: src/components/editors/NotesEditor.tsx:198 msgid "Preview Notes" msgstr "Pré-visualizar notas" -#: src/components/editors/NotesEditor.tsx:193 +#: src/components/editors/NotesEditor.tsx:198 msgid "Edit Notes" msgstr "Editar notas" -#: src/components/editors/NotesEditor.tsx:207 +#: src/components/editors/NotesEditor.tsx:212 msgid "Save Notes" msgstr "Salvar Notas" @@ -407,7 +422,7 @@ msgstr "" msgid "A server error occurred" msgstr "" -#: src/components/forms/ApiForm.tsx:149 +#: src/components/forms/ApiForm.tsx:151 #: src/functions/forms.tsx:259 msgid "Form Error" msgstr "Erro no formulário" @@ -416,18 +431,18 @@ msgstr "Erro no formulário" #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:611 +#: src/components/forms/ApiForm.tsx:618 #: src/tables/plugin/PluginListTable.tsx:388 msgid "Update" msgstr "Atualizar" -#: src/components/forms/ApiForm.tsx:631 +#: src/components/forms/ApiForm.tsx:638 #: 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:498 +#: src/tables/InvenTreeTable.tsx:517 #: src/tables/RowActions.tsx:71 #: src/tables/plugin/PluginListTable.tsx:420 msgid "Delete" @@ -600,7 +615,7 @@ msgstr "Servidor" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:70 #: src/pages/part/CategoryDetail.tsx:80 -#: src/pages/part/PartDetail.tsx:122 +#: src/pages/part/PartDetail.tsx:123 #: src/pages/stock/LocationDetail.tsx:87 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 @@ -685,6 +700,124 @@ msgstr "Não há itens disponíveis" msgid "Thumbnail" msgstr "Miniatura" +#: src/components/importer/ImportDataSelector.tsx:154 +msgid "Importing Rows" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:155 +msgid "Please wait while the data is imported" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:172 +msgid "An error occurred while importing data" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:191 +msgid "Edit Data" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:218 +msgid "Delete Row" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:248 +msgid "Row" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:266 +msgid "Row contains errors" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:307 +msgid "Accept" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:340 +msgid "Valid" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:341 +msgid "Filter by row validation status" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:346 +#: src/tables/build/BuildOutputTable.tsx:205 +msgid "Complete" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:347 +msgid "Filter by row completion status" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:364 +msgid "Import selected rows" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:46 +#: src/components/importer/ImporterColumnSelector.tsx:85 +msgid "An error occurred" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:57 +msgid "Select column, or leave blank to ignore this field." +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:91 +msgid "Select a column from the data file" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:104 +msgid "Map data columns to database fields" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:109 +msgid "Accept Column Mapping" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:117 +msgid "Database Field" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:118 +msgid "Field Description" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:119 +msgid "Imported Column Name" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:44 +msgid "Import Data" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:45 +msgid "Map Columns" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:46 +msgid "Process Data" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:47 +msgid "Complete Import" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:91 +msgid "Importing Data" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:97 +msgid "Cancel import session" +msgstr "" + +#: src/components/importer/ImporterImportProgress.tsx:36 +msgid "Importing Records" +msgstr "" + +#: src/components/importer/ImporterImportProgress.tsx:39 +msgid "Imported rows" +msgstr "" + #: src/components/items/ActionDropdown.tsx:119 #: src/pages/build/BuildDetail.tsx:358 msgid "Barcode Actions" @@ -738,7 +871,7 @@ msgid "Read More" msgstr "Leia Mais" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:443 +#: src/tables/InvenTreeTable.tsx:462 msgid "Unknown error" msgstr "Erro desconhecido" @@ -1039,13 +1172,13 @@ msgstr "Configurações de conta" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:313 +#: src/pages/Index/Settings/SystemSettings.tsx:314 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:198 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:209 msgid "Admin Center" msgstr "Centro de Administração" @@ -1088,7 +1221,7 @@ msgid "Pages" msgstr "Páginas" #: src/components/nav/NavigationDrawer.tsx:65 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:157 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:168 #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:41 msgid "Plugins" msgstr "Extensões" @@ -1102,7 +1235,7 @@ msgstr "Documentação" msgid "About" msgstr "Sobre" -#: src/components/nav/NotificationDrawer.tsx:78 +#: src/components/nav/NotificationDrawer.tsx:81 #: src/pages/Index/Settings/SystemSettings.tsx:108 #: src/pages/Index/Settings/UserSettings.tsx:96 #: src/pages/Notifications.tsx:65 @@ -1110,17 +1243,17 @@ msgstr "Sobre" msgid "Notifications" msgstr "Notificações" -#: src/components/nav/NotificationDrawer.tsx:95 +#: src/components/nav/NotificationDrawer.tsx:98 msgid "You have no unread notifications." msgstr "Você não tem notificações não lidas." -#: src/components/nav/NotificationDrawer.tsx:111 -#: src/components/nav/NotificationDrawer.tsx:117 +#: src/components/nav/NotificationDrawer.tsx:114 +#: src/components/nav/NotificationDrawer.tsx:120 #: src/tables/notifications/NotificationsTable.tsx:36 msgid "Notification" msgstr "Notificação" -#: src/components/nav/NotificationDrawer.tsx:140 +#: src/components/nav/NotificationDrawer.tsx:143 #: src/pages/Notifications.tsx:73 msgid "Mark as read" msgstr "Marcar como lido" @@ -1157,7 +1290,7 @@ msgstr "Nenhum resultado" msgid "No results available for search query" msgstr "Não há resultados disponíveis para a pesquisa" -#: src/components/render/Instance.tsx:166 +#: src/components/render/Instance.tsx:201 msgid "Unknown model: {model}" msgstr "Modelo desconhecido: {model}" @@ -1172,7 +1305,8 @@ msgstr "Modelo desconhecido: {model}" #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 #: src/pages/build/BuildDetail.tsx:85 -#: src/pages/part/PartDetail.tsx:831 +#: src/pages/part/PartDetail.tsx:872 +#: src/tables/part/PartTable.tsx:28 #: src/tables/part/RelatedPartTable.tsx:45 #: src/tables/stock/StockTrackingTable.tsx:74 msgid "Part" @@ -1185,7 +1319,7 @@ msgstr "Peça" #: src/pages/part/CategoryDetail.tsx:112 #: src/pages/part/CategoryDetail.tsx:237 #: src/pages/part/CategoryDetail.tsx:267 -#: src/pages/part/PartDetail.tsx:639 +#: src/pages/part/PartDetail.tsx:652 msgid "Parts" msgstr "Peças" @@ -1235,7 +1369,7 @@ msgstr "Categoria da Peça" #: src/pages/Index/Settings/SystemSettings.tsx:172 #: src/pages/part/CategoryDetail.tsx:251 #: src/pages/part/CategoryDetail.tsx:288 -#: src/pages/part/PartDetail.tsx:821 +#: src/pages/part/PartDetail.tsx:862 msgid "Part Categories" msgstr "Categorias de Peça" @@ -1317,7 +1451,7 @@ msgid "Project Code" msgstr "Código do Projeto" #: src/components/render/ModelType.tsx:127 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:109 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:120 msgid "Project Codes" msgstr "Códigos de Projeto" @@ -1329,10 +1463,10 @@ msgid "Purchase Order" msgstr "Pedido de Compra" #: src/components/render/ModelType.tsx:134 -#: src/pages/Index/Settings/SystemSettings.tsx:257 +#: src/pages/Index/Settings/SystemSettings.tsx:258 #: src/pages/company/CompanyDetail.tsx:194 #: src/pages/company/SupplierPartDetail.tsx:226 -#: src/pages/part/PartDetail.tsx:573 +#: src/pages/part/PartDetail.tsx:586 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "Pedidos de compra" @@ -1354,9 +1488,9 @@ msgid "Sales Order" msgstr "Pedido de Venda" #: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:272 +#: src/pages/Index/Settings/SystemSettings.tsx:273 #: src/pages/company/CompanyDetail.tsx:214 -#: src/pages/part/PartDetail.tsx:580 +#: src/pages/part/PartDetail.tsx:593 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "Pedidos de vendas" @@ -1376,7 +1510,7 @@ msgid "Return Order" msgstr "Pedido de Devolução" #: src/components/render/ModelType.tsx:164 -#: src/pages/Index/Settings/SystemSettings.tsx:288 +#: src/pages/Index/Settings/SystemSettings.tsx:289 #: src/pages/company/CompanyDetail.tsx:221 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1413,40 +1547,49 @@ msgid "Owners" msgstr "Proprietários" #: src/components/render/ModelType.tsx:193 +#: src/tables/settings/ImportSessionTable.tsx:122 #: src/tables/stock/StockItemTestResultTable.tsx:193 #: src/tables/stock/StockTrackingTable.tsx:195 msgid "User" msgstr "Usuário" #: src/components/render/ModelType.tsx:194 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:85 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:90 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" msgstr "Usuários" #: src/components/render/ModelType.tsx:200 +msgid "Import Session" +msgstr "" + +#: src/components/render/ModelType.tsx:201 +msgid "Import Sessions" +msgstr "" + +#: src/components/render/ModelType.tsx:207 msgid "Label Template" msgstr "Modelo de Etiqueta" -#: src/components/render/ModelType.tsx:201 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:139 +#: src/components/render/ModelType.tsx:208 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:150 msgid "Label Templates" msgstr "Modelos de Etiqueta" -#: src/components/render/ModelType.tsx:207 +#: src/components/render/ModelType.tsx:214 msgid "Report Template" msgstr "Modelo de Relatório" -#: src/components/render/ModelType.tsx:208 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:145 +#: src/components/render/ModelType.tsx:215 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:156 msgid "Report Templates" msgstr "Modelos de Relatório" -#: src/components/render/ModelType.tsx:214 +#: src/components/render/ModelType.tsx:221 msgid "Plugin Configuration" msgstr "Configuração de Plugin" -#: src/components/render/ModelType.tsx:215 +#: src/components/render/ModelType.tsx:222 msgid "Plugin Configurations" msgstr "Configurações de Plugins" @@ -1458,7 +1601,7 @@ msgstr "Remessa" #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 #: src/pages/Index/Settings/SystemSettings.tsx:210 -#: src/pages/part/PartDetail.tsx:492 +#: src/pages/part/PartDetail.tsx:503 #: src/pages/stock/LocationDetail.tsx:347 #: src/pages/stock/StockDetail.tsx:356 #: src/tables/stock/StockItemTable.tsx:57 @@ -1641,10 +1784,6 @@ msgstr "Nenhuma configuração especificada" #~ msgid "Comment" #~ msgstr "Comment" -#: src/components/tables/general/AttachmentTable.tsx:56 -#~ msgid "Uploaded" -#~ msgstr "Uploaded" - #: src/components/tables/part/PartCategoryTable.tsx:122 #~ msgid "Part category updated" #~ msgstr "Part category updated" @@ -2157,7 +2296,7 @@ msgid "Recently Updated" msgstr "Atualizados Recentemente" #: src/defaults/dashboardItems.tsx:50 -#: src/tables/part/PartTable.tsx:216 +#: src/tables/part/PartTable.tsx:223 msgid "Low Stock" msgstr "Estoque Baixo" @@ -2466,7 +2605,7 @@ msgstr "Saídas de produção foram canceladas" #~ msgid "Company updated" #~ msgstr "Company updated" -#: src/forms/PartForms.tsx:100 +#: src/forms/PartForms.tsx:103 msgid "Parent part category" msgstr "Categoria de peça parental" @@ -2534,7 +2673,7 @@ msgstr "Remover item da lista" #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 #: src/pages/stock/StockDetail.tsx:173 -#: src/tables/ColumnRenderers.tsx:34 +#: src/tables/ColumnRenderers.tsx:49 #: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" msgstr "Localização" @@ -2585,8 +2724,8 @@ msgstr "Insira o número de série para novo estoque (ou deixe em branco)" #: src/forms/StockForms.tsx:176 #: src/pages/stock/StockDetail.tsx:379 -#: src/tables/stock/StockItemTable.tsx:382 -#: src/tables/stock/StockItemTable.tsx:499 +#: src/tables/stock/StockItemTable.tsx:404 +#: src/tables/stock/StockItemTable.tsx:521 msgid "Add Stock Item" msgstr "Adicionar Item do Estoque" @@ -2606,9 +2745,9 @@ msgstr "Mover para o local padrão" #: src/forms/StockForms.tsx:606 #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 -#: src/pages/part/PartDetail.tsx:202 -#: src/pages/part/PartDetail.tsx:655 -#: src/tables/stock/StockItemTable.tsx:290 +#: src/pages/part/PartDetail.tsx:203 +#: src/pages/part/PartDetail.tsx:668 +#: src/tables/stock/StockItemTable.tsx:312 msgid "In Stock" msgstr "Em Estoque" @@ -2649,12 +2788,12 @@ msgid "Remove Stock" msgstr "Remover Estoque" #: src/forms/StockForms.tsx:803 -#: src/pages/part/PartDetail.tsx:782 +#: src/pages/part/PartDetail.tsx:823 msgid "Transfer Stock" msgstr "Transferir Estoque" #: src/forms/StockForms.tsx:812 -#: src/pages/part/PartDetail.tsx:771 +#: src/pages/part/PartDetail.tsx:812 msgid "Count Stock" msgstr "Contar Estoque" @@ -3279,53 +3418,57 @@ msgstr "Carregador" #~ msgid "Advanced Amininistrative Options for InvenTree" #~ msgstr "Advanced Amininistrative Options for InvenTree" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:91 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:96 +msgid "Data Import" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:102 msgid "Background Tasks" msgstr "Tarefas de segundo plano" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:97 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:108 msgid "Error Reports" msgstr "Relatórios de Erro" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:103 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:114 msgid "Currencies" msgstr "Moedas" -#: 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:132 msgid "Custom Units" msgstr "Unidades personalizadas" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:138 #: src/pages/part/CategoryDetail.tsx:257 msgid "Part Parameters" msgstr "Parâmetros da Peça" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 -#~ msgid "Templates" -#~ msgstr "Templates" - -#: src/pages/Index/Settings/AdminCenter/Index.tsx:133 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:144 msgid "Category Parameters" msgstr "Parâmetros de Categoria" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:151 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:162 msgid "Location types" msgstr "Tipos de localização" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:163 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:174 #: src/tables/machine/MachineTypeTable.tsx:287 msgid "Machines" msgstr "Máquinas" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:173 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:184 msgid "Quick Actions" msgstr "Ações Rápidas" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:178 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:189 msgid "Add a new user" msgstr "Adicionar novo usuário" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:199 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:210 msgid "Advanced Options" msgstr "Opções Avançadas" @@ -3477,7 +3620,7 @@ msgid "Reporting" msgstr "Relatórios" #: src/pages/Index/Settings/SystemSettings.tsx:235 -#: src/pages/part/PartDetail.tsx:593 +#: src/pages/part/PartDetail.tsx:606 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "Balanço" @@ -3485,12 +3628,12 @@ msgstr "Balanço" #: src/pages/Index/Settings/SystemSettings.tsx:241 #: src/pages/build/BuildDetail.tsx:423 #: src/pages/build/BuildIndex.tsx:14 -#: src/pages/part/PartDetail.tsx:527 +#: src/pages/part/PartDetail.tsx:540 #: src/pages/sales/SalesOrderDetail.tsx:270 msgid "Build Orders" msgstr "Ordens de Produções" -#: src/pages/Index/Settings/SystemSettings.tsx:316 +#: src/pages/Index/Settings/SystemSettings.tsx:317 msgid "Switch to User Setting" msgstr "Mudar para Configuração de Usuário" @@ -3555,7 +3698,8 @@ msgstr "Marcar como não lido" #: 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/settings/ImportSessionTable.tsx:116 +#: src/tables/stock/StockItemTable.tsx:281 #: src/tables/stock/StockTrackingTable.tsx:52 msgid "Status" msgstr "Estado" @@ -3564,7 +3708,7 @@ msgstr "Estado" #: src/pages/purchasing/PurchaseOrderDetail.tsx:104 #: src/pages/sales/ReturnOrderDetail.tsx:73 #: src/pages/sales/SalesOrderDetail.tsx:77 -#: src/tables/ColumnRenderers.tsx:106 +#: src/tables/ColumnRenderers.tsx:121 #: src/tables/build/BuildLineTable.tsx:140 msgid "Reference" msgstr "Referência" @@ -3574,12 +3718,12 @@ msgstr "Referência" #: src/pages/company/ManufacturerPartDetail.tsx:78 #: src/pages/company/SupplierPartDetail.tsx:85 #: src/pages/part/CategoryDetail.tsx:94 -#: src/pages/part/PartDetail.tsx:129 +#: src/pages/part/PartDetail.tsx:130 #: src/pages/purchasing/PurchaseOrderDetail.tsx:125 #: src/pages/sales/ReturnOrderDetail.tsx:93 #: src/pages/sales/SalesOrderDetail.tsx:97 #: src/pages/stock/LocationDetail.tsx:101 -#: src/tables/ColumnRenderers.tsx:66 +#: src/tables/ColumnRenderers.tsx:81 #: src/tables/machine/MachineTypeTable.tsx:69 #: src/tables/machine/MachineTypeTable.tsx:112 #: src/tables/machine/MachineTypeTable.tsx:219 @@ -3610,7 +3754,7 @@ msgid "Issued By" msgstr "Emitido por" #: src/pages/build/BuildDetail.tsx:152 -#: src/pages/part/PartDetail.tsx:317 +#: src/pages/part/PartDetail.tsx:323 #: src/pages/purchasing/PurchaseOrderDetail.tsx:217 #: src/pages/sales/ReturnOrderDetail.tsx:186 #: src/pages/sales/SalesOrderDetail.tsx:190 @@ -3630,7 +3774,7 @@ msgstr "Criado" #: src/pages/purchasing/PurchaseOrderDetail.tsx:210 #: src/pages/sales/ReturnOrderDetail.tsx:179 #: src/pages/sales/SalesOrderDetail.tsx:183 -#: src/tables/ColumnRenderers.tsx:191 +#: src/tables/ColumnRenderers.tsx:206 msgid "Target Date" msgstr "Data Prevista" @@ -3711,7 +3855,7 @@ msgstr "Pedido de Produção Filhos" #: src/pages/build/BuildDetail.tsx:297 #: src/pages/company/CompanyDetail.tsx:257 #: src/pages/company/ManufacturerPartDetail.tsx:174 -#: src/pages/part/PartDetail.tsx:616 +#: src/pages/part/PartDetail.tsx:629 #: src/pages/purchasing/PurchaseOrderDetail.tsx:279 #: src/pages/sales/ReturnOrderDetail.tsx:230 #: src/pages/sales/SalesOrderDetail.tsx:280 @@ -3721,7 +3865,7 @@ msgstr "Anexos" #: src/pages/build/BuildDetail.tsx:305 #: src/pages/company/CompanyDetail.tsx:268 -#: src/pages/part/PartDetail.tsx:624 +#: src/pages/part/PartDetail.tsx:637 #: src/pages/purchasing/PurchaseOrderDetail.tsx:290 #: src/pages/sales/ReturnOrderDetail.tsx:241 #: src/pages/sales/SalesOrderDetail.tsx:291 @@ -3877,12 +4021,12 @@ msgid "Manufacturer Part Details" msgstr "Detalhes de peça do Fabricante" #: src/pages/company/ManufacturerPartDetail.tsx:148 -#: src/pages/part/PartDetail.tsx:486 +#: src/pages/part/PartDetail.tsx:492 msgid "Parameters" msgstr "Parâmetros" #: src/pages/company/ManufacturerPartDetail.tsx:160 -#: src/pages/part/PartDetail.tsx:560 +#: src/pages/part/PartDetail.tsx:573 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" msgstr "Fornecedores" @@ -3907,7 +4051,7 @@ msgid "ManufacturerPart" msgstr "Peça do Fabricante" #: src/pages/company/SupplierPartDetail.tsx:99 -#: src/tables/ColumnRenderers.tsx:117 +#: src/tables/ColumnRenderers.tsx:132 msgid "Note" msgstr "Anotação" @@ -4043,275 +4187,275 @@ msgstr "Ações de Categoria" msgid "Category Details" msgstr "Detalhes da categoria" -#: src/pages/part/PartDetail.tsx:135 +#: src/pages/part/PartDetail.tsx:136 msgid "Variant of" msgstr "Variante de" -#: src/pages/part/PartDetail.tsx:142 +#: src/pages/part/PartDetail.tsx:143 #: src/tables/notifications/NotificationsTable.tsx:31 #: src/tables/part/PartCategoryTemplateTable.tsx:67 msgid "Category" msgstr "Categoria" -#: src/pages/part/PartDetail.tsx:148 +#: src/pages/part/PartDetail.tsx:149 msgid "Default Location" msgstr "Local Padrão" -#: src/pages/part/PartDetail.tsx:155 +#: src/pages/part/PartDetail.tsx:156 msgid "Category Default Location" msgstr "Localização padrão da categoria" -#: src/pages/part/PartDetail.tsx:162 +#: src/pages/part/PartDetail.tsx:163 msgid "IPN" msgstr "IPN" -#: src/pages/part/PartDetail.tsx:169 +#: src/pages/part/PartDetail.tsx:170 msgid "Revision" msgstr "Revisão" -#: src/pages/part/PartDetail.tsx:176 +#: src/pages/part/PartDetail.tsx:177 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" msgstr "Unidades" -#: src/pages/part/PartDetail.tsx:183 +#: src/pages/part/PartDetail.tsx:184 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" msgstr "Palavras-chave" -#: src/pages/part/PartDetail.tsx:190 +#: src/pages/part/PartDetail.tsx:191 #: src/pages/purchasing/PurchaseOrderDetail.tsx:183 #: src/pages/sales/ReturnOrderDetail.tsx:152 #: src/pages/sales/SalesOrderDetail.tsx:156 msgid "Link" msgstr "Link" -#: src/pages/part/PartDetail.tsx:208 -#: src/tables/bom/BomTable.tsx:276 +#: src/pages/part/PartDetail.tsx:209 +#: src/tables/bom/BomTable.tsx:279 #: src/tables/build/BuildLineTable.tsx:121 -#: src/tables/part/PartTable.tsx:256 +#: src/tables/part/PartTable.tsx:263 msgid "Available Stock" msgstr "Estoque Disponível" -#: src/pages/part/PartDetail.tsx:215 +#: src/pages/part/PartDetail.tsx:216 msgid "Minimum Stock" msgstr "Estoque Mínimo" -#: src/pages/part/PartDetail.tsx:221 -#: src/tables/bom/BomTable.tsx:217 +#: src/pages/part/PartDetail.tsx:222 +#: src/tables/bom/BomTable.tsx:220 #: src/tables/build/BuildLineTable.tsx:95 msgid "On order" msgstr "No pedido" -#: src/pages/part/PartDetail.tsx:230 +#: src/pages/part/PartDetail.tsx:231 msgid "Allocated to Build Orders" msgstr "Alocado para Pedidos de Construção" -#: src/pages/part/PartDetail.tsx:238 +#: src/pages/part/PartDetail.tsx:239 msgid "Allocated to Sales Orders" msgstr "Alocado para Pedidos de Venda" -#: src/pages/part/PartDetail.tsx:245 -#: src/tables/bom/BomTable.tsx:241 +#: src/pages/part/PartDetail.tsx:246 +#: src/tables/bom/BomTable.tsx:244 msgid "Can Build" msgstr "Pode Produzir" -#: src/pages/part/PartDetail.tsx:252 -#: src/tables/bom/BomTable.tsx:225 -#: src/tables/part/PartTable.tsx:82 +#: src/pages/part/PartDetail.tsx:253 +#: src/tables/bom/BomTable.tsx:228 +#: src/tables/part/PartTable.tsx:83 msgid "Building" msgstr "Produzindo" -#: src/pages/part/PartDetail.tsx:261 +#: src/pages/part/PartDetail.tsx:262 #: src/tables/bom/UsedInTable.tsx:73 #: src/tables/build/BuildOrderTable.tsx:108 #: src/tables/company/CompanyTable.tsx:61 #: src/tables/company/CompanyTable.tsx:95 #: src/tables/machine/MachineListTable.tsx:323 #: src/tables/machine/MachineListTable.tsx:585 -#: src/tables/part/PartTable.tsx:168 +#: src/tables/part/PartTable.tsx:169 #: src/tables/part/PartVariantTable.tsx:15 #: 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 +#: src/tables/stock/StockItemTable.tsx:276 msgid "Active" msgstr "Ativo" -#: src/pages/part/PartDetail.tsx:266 +#: src/pages/part/PartDetail.tsx:272 msgid "Template Part" msgstr "Modelo de peça" -#: src/pages/part/PartDetail.tsx:271 -#: src/tables/bom/BomTable.tsx:271 +#: src/pages/part/PartDetail.tsx:277 +#: src/tables/bom/BomTable.tsx:274 msgid "Assembled Part" msgstr "Peça Montada" -#: src/pages/part/PartDetail.tsx:276 +#: src/pages/part/PartDetail.tsx:282 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:281 -#: src/tables/bom/BomTable.tsx:266 +#: src/pages/part/PartDetail.tsx:287 +#: src/tables/bom/BomTable.tsx:269 msgid "Trackable Part" msgstr "Peça Rastreável" -#: src/pages/part/PartDetail.tsx:286 +#: src/pages/part/PartDetail.tsx:292 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:291 +#: src/pages/part/PartDetail.tsx:297 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:296 +#: src/pages/part/PartDetail.tsx:302 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:304 -#: src/tables/ColumnRenderers.tsx:199 +#: src/pages/part/PartDetail.tsx:310 +#: src/tables/ColumnRenderers.tsx:214 msgid "Creation Date" msgstr "Criado em" -#: src/pages/part/PartDetail.tsx:309 -msgid "Created By" -msgstr "" - #: src/pages/part/PartDetail.tsx:310 #~ msgid "Edit part" #~ msgstr "Edit part" +#: src/pages/part/PartDetail.tsx:315 +msgid "Created By" +msgstr "" + #: src/pages/part/PartDetail.tsx:322 #~ msgid "Duplicate part" #~ msgstr "Duplicate part" -#: src/pages/part/PartDetail.tsx:324 -msgid "Default Supplier" -msgstr "Fornecedor Padrão" - #: src/pages/part/PartDetail.tsx:327 #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:335 +#: src/pages/part/PartDetail.tsx:330 +msgid "Default Supplier" +msgstr "Fornecedor Padrão" + +#: src/pages/part/PartDetail.tsx:341 #: src/pages/part/pricing/BomPricingPanel.tsx:78 #: src/pages/part/pricing/VariantPricingPanel.tsx:95 -#: src/tables/part/PartTable.tsx:151 +#: src/tables/part/PartTable.tsx:152 msgid "Price Range" msgstr "Faixa de Preço" -#: src/pages/part/PartDetail.tsx:374 +#: src/pages/part/PartDetail.tsx:380 #: src/pages/stock/StockDetail.tsx:133 msgid "Last Stocktake" msgstr "Último Balanço" -#: src/pages/part/PartDetail.tsx:409 +#: src/pages/part/PartDetail.tsx:415 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:480 +#: src/pages/part/PartDetail.tsx:486 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:506 +#: src/pages/part/PartDetail.tsx:517 msgid "Variants" msgstr "Variantes" -#: src/pages/part/PartDetail.tsx:513 +#: src/pages/part/PartDetail.tsx:524 #: src/pages/stock/StockDetail.tsx:286 msgid "Allocations" msgstr "Alocações" -#: src/pages/part/PartDetail.tsx:520 +#: src/pages/part/PartDetail.tsx:531 msgid "Bill of Materials" msgstr "Lista de Materiais" -#: src/pages/part/PartDetail.tsx:534 +#: src/pages/part/PartDetail.tsx:547 msgid "Used In" msgstr "Usado em" -#: src/pages/part/PartDetail.tsx:541 +#: src/pages/part/PartDetail.tsx:554 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:547 +#: src/pages/part/PartDetail.tsx:560 #: src/pages/purchasing/PurchasingIndex.tsx:37 msgid "Manufacturers" msgstr "Fabricantes" -#: src/pages/part/PartDetail.tsx:587 +#: src/pages/part/PartDetail.tsx:600 msgid "Scheduling" msgstr "Agendamento" -#: src/pages/part/PartDetail.tsx:599 +#: src/pages/part/PartDetail.tsx:612 msgid "Test Templates" msgstr "Testar Modelos" -#: src/pages/part/PartDetail.tsx:610 +#: src/pages/part/PartDetail.tsx:623 msgid "Related Parts" msgstr "Peças Relacionadas" -#: src/pages/part/PartDetail.tsx:661 +#: src/pages/part/PartDetail.tsx:674 #: src/pages/stock/StockDetail.tsx:154 #: src/pages/stock/StockDetail.tsx:533 #: src/tables/build/BuildLineTable.tsx:36 -#: src/tables/part/PartTable.tsx:107 +#: src/tables/part/PartTable.tsx:108 #: src/tables/stock/StockItemTable.tsx:166 -#: src/tables/stock/StockItemTable.tsx:275 +#: src/tables/stock/StockItemTable.tsx:297 msgid "Available" msgstr "Disponível" -#: src/pages/part/PartDetail.tsx:667 +#: src/pages/part/PartDetail.tsx:680 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:673 -#: src/tables/bom/BomTable.tsx:281 -#: src/tables/part/PartTable.tsx:76 +#: src/pages/part/PartDetail.tsx:686 +#: src/tables/bom/BomTable.tsx:284 +#: src/tables/part/PartTable.tsx:77 msgid "On Order" msgstr "No pedido" -#: src/pages/part/PartDetail.tsx:679 +#: src/pages/part/PartDetail.tsx:692 #: src/pages/stock/StockDetail.tsx:516 -#: src/tables/stock/StockItemTable.tsx:295 +#: src/tables/stock/StockItemTable.tsx:317 msgid "In Production" msgstr "Em Produção" -#: src/pages/part/PartDetail.tsx:698 +#: src/pages/part/PartDetail.tsx:717 msgid "Edit Part" msgstr "Editar Peça" -#: src/pages/part/PartDetail.tsx:705 -#: src/tables/part/PartTable.tsx:289 -#: src/tables/part/PartTable.tsx:302 +#: src/pages/part/PartDetail.tsx:744 +#: src/tables/part/PartTable.tsx:296 +#: src/tables/part/PartTable.tsx:309 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:717 +#: src/pages/part/PartDetail.tsx:758 msgid "Delete Part" msgstr "Excluir Peça" -#: src/pages/part/PartDetail.tsx:726 +#: src/pages/part/PartDetail.tsx:767 msgid "Deleting this part cannot be reversed" msgstr "Excluir esta peça não é reversível" -#: src/pages/part/PartDetail.tsx:764 +#: src/pages/part/PartDetail.tsx:805 #: src/pages/stock/LocationDetail.tsx:304 -#: src/tables/stock/StockItemTable.tsx:409 +#: src/tables/stock/StockItemTable.tsx:431 msgid "Stock Actions" msgstr "Ações de Estoque" -#: src/pages/part/PartDetail.tsx:772 +#: src/pages/part/PartDetail.tsx:813 msgid "Count part stock" msgstr "Contagem do estoque" -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:824 msgid "Transfer part stock" msgstr "Transferir estoque de peça" -#: src/pages/part/PartDetail.tsx:792 +#: src/pages/part/PartDetail.tsx:833 msgid "Part Actions" msgstr "Ações da Peça" @@ -4359,8 +4503,8 @@ msgstr "Histórico de Vendas" #: src/pages/part/pricing/BomPricingPanel.tsx:57 #: src/pages/part/pricing/BomPricingPanel.tsx:137 -#: src/tables/ColumnRenderers.tsx:241 -#: src/tables/bom/BomTable.tsx:165 +#: src/tables/ColumnRenderers.tsx:256 +#: src/tables/bom/BomTable.tsx:168 #: src/tables/purchasing/PurchaseOrderTable.tsx:112 #: src/tables/sales/ReturnOrderTable.tsx:104 #: src/tables/sales/SalesOrderTable.tsx:134 @@ -4369,7 +4513,7 @@ msgstr "Preço Total" #: src/pages/part/pricing/BomPricingPanel.tsx:77 #: src/pages/part/pricing/BomPricingPanel.tsx:101 -#: src/tables/part/PartTable.tsx:186 +#: src/tables/part/PartTable.tsx:193 msgid "Component" msgstr "Componente" @@ -4398,7 +4542,7 @@ msgstr "Preço Máximo" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:67 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:128 #: src/pages/part/pricing/SupplierPricingPanel.tsx:62 -#: src/tables/bom/BomTable.tsx:156 +#: src/tables/bom/BomTable.tsx:159 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 msgid "Unit Price" @@ -4498,7 +4642,7 @@ msgstr "Carregando dados de preços" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:40 #: src/pages/part/pricing/SaleHistoryPanel.tsx:36 -#: src/tables/ColumnRenderers.tsx:180 +#: src/tables/ColumnRenderers.tsx:195 #: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "Data" @@ -4771,12 +4915,12 @@ msgid "Count stock" msgstr "Contagem de estoque" #: src/pages/stock/StockDetail.tsx:459 -#: src/tables/stock/StockItemTable.tsx:414 +#: src/tables/stock/StockItemTable.tsx:436 msgid "Add stock" msgstr "Adicionar estoque" #: src/pages/stock/StockDetail.tsx:467 -#: src/tables/stock/StockItemTable.tsx:423 +#: src/tables/stock/StockItemTable.tsx:445 msgid "Remove stock" msgstr "Remover estoque" @@ -4785,7 +4929,7 @@ msgid "Transfer" msgstr "Transferir" #: src/pages/stock/StockDetail.tsx:475 -#: src/tables/stock/StockItemTable.tsx:443 +#: src/tables/stock/StockItemTable.tsx:465 msgid "Transfer stock" msgstr "Transferir estoque" @@ -4793,15 +4937,15 @@ msgstr "Transferir estoque" msgid "Stock Item Actions" msgstr "" -#: src/tables/ColumnRenderers.tsx:42 +#: src/tables/ColumnRenderers.tsx:57 msgid "No location set" msgstr "" -#: src/tables/ColumnRenderers.tsx:207 +#: src/tables/ColumnRenderers.tsx:222 msgid "Shipment Date" msgstr "" -#: src/tables/ColumnRenderers.tsx:227 +#: src/tables/ColumnRenderers.tsx:242 #: src/tables/settings/CurrencyTable.tsx:23 msgid "Currency" msgstr "Moeda" @@ -4828,14 +4972,14 @@ msgid "TSV" msgstr "TSV" #: src/tables/DownloadAction.tsx:24 -msgid "Excel (.xls)" -msgstr "" - -#: src/tables/DownloadAction.tsx:25 msgid "Excel (.xlsx)" msgstr "" -#: src/tables/DownloadAction.tsx:39 +#: src/tables/DownloadAction.tsx:24 +#~ msgid "Excel (.xls)" +#~ msgstr "" + +#: src/tables/DownloadAction.tsx:38 msgid "Download Data" msgstr "" @@ -4900,54 +5044,54 @@ msgstr "Adicionar Filtro" msgid "Clear Filters" msgstr "Limpar Filtros" -#: src/tables/InvenTreeTable.tsx:119 -#: src/tables/InvenTreeTable.tsx:390 -#: src/tables/InvenTreeTable.tsx:411 +#: src/tables/InvenTreeTable.tsx:126 +#: src/tables/InvenTreeTable.tsx:409 +#: src/tables/InvenTreeTable.tsx:430 msgid "No records found" msgstr "Nenhum registro encontrado" -#: src/tables/InvenTreeTable.tsx:422 +#: src/tables/InvenTreeTable.tsx:441 msgid "Server returned incorrect data type" msgstr "O servidor retornou um tipo de dado incorreto" -#: src/tables/InvenTreeTable.tsx:430 +#: src/tables/InvenTreeTable.tsx:449 msgid "Bad request" msgstr "Requisição inválida" -#: src/tables/InvenTreeTable.tsx:433 +#: src/tables/InvenTreeTable.tsx:452 msgid "Unauthorized" msgstr "Não autorizado" -#: src/tables/InvenTreeTable.tsx:436 +#: src/tables/InvenTreeTable.tsx:455 msgid "Forbidden" msgstr "Proibido" -#: src/tables/InvenTreeTable.tsx:439 +#: src/tables/InvenTreeTable.tsx:458 msgid "Not found" msgstr "Não encontrado" -#: src/tables/InvenTreeTable.tsx:488 -#: src/tables/InvenTreeTable.tsx:606 +#: src/tables/InvenTreeTable.tsx:507 +#: src/tables/InvenTreeTable.tsx:623 msgid "Delete selected records" msgstr "Remover registros selecionados" -#: src/tables/InvenTreeTable.tsx:492 +#: src/tables/InvenTreeTable.tsx:511 msgid "Are you sure you want to delete the selected records?" msgstr "Tem certeza que deseja apagar os registros selecionados?" -#: src/tables/InvenTreeTable.tsx:494 +#: src/tables/InvenTreeTable.tsx:513 msgid "This action cannot be undone!" msgstr "Essa ação não pode ser desfeita!" -#: src/tables/InvenTreeTable.tsx:517 +#: src/tables/InvenTreeTable.tsx:536 msgid "Deleted records" msgstr "Registos removidos" -#: src/tables/InvenTreeTable.tsx:518 +#: src/tables/InvenTreeTable.tsx:537 msgid "Records were deleted successfully" msgstr "Registros foram removidos com sucesso" -#: src/tables/InvenTreeTable.tsx:527 +#: src/tables/InvenTreeTable.tsx:546 msgid "Failed to delete records" msgstr "Falha ao remover registros" @@ -4956,140 +5100,144 @@ msgstr "Falha ao remover registros" #~ msgid "Print actions" #~ msgstr "Print actions" -#: src/tables/InvenTreeTable.tsx:596 -#: src/tables/InvenTreeTable.tsx:597 +#: src/tables/InvenTreeTable.tsx:613 +#: src/tables/InvenTreeTable.tsx:614 msgid "Barcode actions" msgstr "Ações de código de barras" -#: src/tables/InvenTreeTable.tsx:625 +#: src/tables/InvenTreeTable.tsx:642 msgid "Refresh data" msgstr "Atualizar dados" -#: src/tables/InvenTreeTable.tsx:646 +#: src/tables/InvenTreeTable.tsx:663 msgid "Table filters" msgstr "Filtros da Tabela" -#: src/tables/bom/BomTable.tsx:80 +#: src/tables/UploadAction.tsx:9 +msgid "Upload Data" +msgstr "" + +#: src/tables/bom/BomTable.tsx:83 msgid "This BOM item is defined for a different parent" msgstr "Este item da BOM é definido para um pai diferente" -#: src/tables/bom/BomTable.tsx:95 +#: src/tables/bom/BomTable.tsx:98 msgid "Part Information" msgstr "Informação da Peça" -#: src/tables/bom/BomTable.tsx:184 -#: src/tables/part/PartTable.tsx:124 +#: src/tables/bom/BomTable.tsx:187 +#: src/tables/part/PartTable.tsx:125 msgid "No stock" msgstr "Sem Estoque" -#: src/tables/bom/BomTable.tsx:192 +#: src/tables/bom/BomTable.tsx:195 #: src/tables/build/BuildLineTable.tsx:104 -#: src/tables/part/PartTable.tsx:115 +#: src/tables/part/PartTable.tsx:116 msgid "External stock" msgstr "" -#: src/tables/bom/BomTable.tsx:200 +#: src/tables/bom/BomTable.tsx:203 #: src/tables/build/BuildLineTable.tsx:67 msgid "Includes substitute stock" msgstr "Incluir estoque de substitutos" -#: src/tables/bom/BomTable.tsx:209 +#: src/tables/bom/BomTable.tsx:212 #: src/tables/build/BuildLineTable.tsx:77 msgid "Includes variant stock" msgstr "Incluir estoque de variantes" -#: src/tables/bom/BomTable.tsx:234 -#: src/tables/part/PartTable.tsx:143 +#: src/tables/bom/BomTable.tsx:237 +#: src/tables/part/PartTable.tsx:144 #: src/tables/stock/StockItemTable.tsx:205 msgid "Stock Information" msgstr "Informação do Estoque" -#: src/tables/bom/BomTable.tsx:246 +#: src/tables/bom/BomTable.tsx:249 #: src/tables/build/BuildLineTable.tsx:195 msgid "Consumable item" msgstr "Item Consumível" -#: src/tables/bom/BomTable.tsx:267 +#: src/tables/bom/BomTable.tsx:270 msgid "Show trackable items" msgstr "Mostrar itens rastreáveis" -#: src/tables/bom/BomTable.tsx:272 +#: src/tables/bom/BomTable.tsx:275 msgid "Show asssmbled items" msgstr "Exibir itens montados" -#: src/tables/bom/BomTable.tsx:277 +#: src/tables/bom/BomTable.tsx:280 msgid "Show items with available stock" msgstr "Mostrar itens com estoque disponível" -#: src/tables/bom/BomTable.tsx:282 +#: src/tables/bom/BomTable.tsx:285 msgid "Show items on order" msgstr "Mostrar itens no pedido" -#: src/tables/bom/BomTable.tsx:286 +#: src/tables/bom/BomTable.tsx:289 msgid "Validated" msgstr "" -#: src/tables/bom/BomTable.tsx:287 +#: src/tables/bom/BomTable.tsx:290 msgid "Show validated items" msgstr "Mostrar itens validados" -#: src/tables/bom/BomTable.tsx:291 +#: src/tables/bom/BomTable.tsx:294 #: src/tables/bom/UsedInTable.tsx:63 msgid "Inherited" msgstr "" -#: src/tables/bom/BomTable.tsx:292 +#: src/tables/bom/BomTable.tsx:295 #: src/tables/bom/UsedInTable.tsx:64 msgid "Show inherited items" msgstr "Mostrar itens herdados" -#: src/tables/bom/BomTable.tsx:296 +#: src/tables/bom/BomTable.tsx:299 msgid "Allow Variants" msgstr "" -#: src/tables/bom/BomTable.tsx:297 +#: src/tables/bom/BomTable.tsx:300 msgid "Show items which allow variant substitution" msgstr "" #: src/tables/bom/BomTable.tsx:301 +#~ msgid "Create BOM Item" +#~ msgstr "Create BOM Item" + +#: src/tables/bom/BomTable.tsx:304 #: src/tables/bom/UsedInTable.tsx:68 #: src/tables/build/BuildLineTable.tsx:46 msgid "Optional" msgstr "Opcional" -#: src/tables/bom/BomTable.tsx:301 -#~ msgid "Create BOM Item" -#~ msgstr "Create BOM Item" - -#: src/tables/bom/BomTable.tsx:302 +#: src/tables/bom/BomTable.tsx:305 #: src/tables/bom/UsedInTable.tsx:69 msgid "Show optional items" msgstr "Mostrar itens opcionais" -#: src/tables/bom/BomTable.tsx:306 +#: src/tables/bom/BomTable.tsx:309 #: src/tables/build/BuildLineTable.tsx:41 msgid "Consumable" msgstr "Consumível" -#: src/tables/bom/BomTable.tsx:307 +#: src/tables/bom/BomTable.tsx:310 msgid "Show consumable items" msgstr "Mostrar itens consumíveis" -#: src/tables/bom/BomTable.tsx:311 -#: src/tables/part/PartTable.tsx:250 +#: src/tables/bom/BomTable.tsx:314 +#: src/tables/part/PartTable.tsx:257 msgid "Has Pricing" msgstr "Tem Preço" -#: src/tables/bom/BomTable.tsx:312 +#: src/tables/bom/BomTable.tsx:315 msgid "Show items with pricing" msgstr "Exibir itens com preço" -#: src/tables/bom/BomTable.tsx:321 -#: src/tables/bom/BomTable.tsx:420 +#: src/tables/bom/BomTable.tsx:324 +#: src/tables/bom/BomTable.tsx:426 msgid "Add BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:326 +#: src/tables/bom/BomTable.tsx:329 msgid "BOM item created" msgstr "" @@ -5097,23 +5245,23 @@ msgstr "" #~ msgid "Edit Bom Item" #~ msgstr "Edit Bom Item" -#: src/tables/bom/BomTable.tsx:333 -msgid "Edit BOM Item" -msgstr "" - #: src/tables/bom/BomTable.tsx:333 #~ msgid "Bom item updated" #~ msgstr "Bom item updated" -#: src/tables/bom/BomTable.tsx:335 +#: src/tables/bom/BomTable.tsx:336 +msgid "Edit BOM Item" +msgstr "" + +#: src/tables/bom/BomTable.tsx:338 msgid "BOM item updated" msgstr "" -#: src/tables/bom/BomTable.tsx:342 +#: src/tables/bom/BomTable.tsx:345 msgid "Delete BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:343 +#: src/tables/bom/BomTable.tsx:346 msgid "BOM item deleted" msgstr "" @@ -5133,32 +5281,41 @@ msgstr "" #~ msgid "Validate BOM line" #~ msgstr "Validate BOM line" -#: src/tables/bom/BomTable.tsx:355 +#: src/tables/bom/BomTable.tsx:358 msgid "BOM item validated" msgstr "" -#: src/tables/bom/BomTable.tsx:364 +#: src/tables/bom/BomTable.tsx:367 msgid "Failed to validate BOM item" msgstr "" -#: src/tables/bom/BomTable.tsx:376 +#: src/tables/bom/BomTable.tsx:379 msgid "View BOM" msgstr "Ver BOM" -#: src/tables/bom/BomTable.tsx:385 +#: src/tables/bom/BomTable.tsx:388 msgid "Validate BOM Line" msgstr "" -#: src/tables/bom/BomTable.tsx:399 +#: src/tables/bom/BomTable.tsx:405 msgid "Edit Substitutes" msgstr "Editar substitutos" +#: src/tables/bom/BomTable.tsx:440 +#: src/tables/part/PartParameterTable.tsx:191 +msgid "Part is Locked" +msgstr "" + +#: src/tables/bom/BomTable.tsx:445 +msgid "Bill of materials cannot be edited, as the part is locked" +msgstr "" + #: src/tables/bom/UsedInTable.tsx:74 msgid "Show active assemblies" msgstr "Mostrar montagens ativas" #: src/tables/bom/UsedInTable.tsx:78 -#: src/tables/part/PartTable.tsx:192 +#: src/tables/part/PartTable.tsx:199 #: src/tables/part/PartVariantTable.tsx:30 msgid "Trackable" msgstr "Rastreável" @@ -5168,7 +5325,7 @@ msgid "Show trackable assemblies" msgstr "Mostrar montagens rastreáveis" #: src/tables/build/BuildLineTable.tsx:31 -#: src/tables/stock/StockItemTable.tsx:270 +#: src/tables/stock/StockItemTable.tsx:292 msgid "Allocated" msgstr "Alocado" @@ -5189,7 +5346,7 @@ msgid "Show optional lines" msgstr "Mostrar linhas opcionais" #: src/tables/build/BuildLineTable.tsx:51 -#: src/tables/stock/StockItemTable.tsx:329 +#: src/tables/stock/StockItemTable.tsx:351 msgid "Tracked" msgstr "Monitorado" @@ -5302,10 +5459,6 @@ msgstr "" msgid "Deallocate stock from build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:205 -msgid "Complete" -msgstr "" - #: src/tables/build/BuildOutputTable.tsx:206 msgid "Complete build output" msgstr "" @@ -5635,7 +5788,7 @@ msgid "Message" msgstr "Mensagem" #: src/tables/part/ParametricPartTable.tsx:76 -#: src/tables/part/PartParameterTable.tsx:88 +#: src/tables/part/PartParameterTable.tsx:95 msgid "Internal Units" msgstr "" @@ -5648,13 +5801,13 @@ msgid "Add Part Parameter" msgstr "" #: src/tables/part/ParametricPartTable.tsx:138 -#: src/tables/part/PartParameterTable.tsx:121 -#: src/tables/part/PartParameterTable.tsx:144 +#: src/tables/part/PartParameterTable.tsx:128 +#: src/tables/part/PartParameterTable.tsx:151 msgid "Edit Part Parameter" msgstr "Editar Parâmetro da Peça" #: src/tables/part/PartCategoryTable.tsx:60 -#: src/tables/part/PartTable.tsx:180 +#: src/tables/part/PartTable.tsx:187 msgid "Include Subcategories" msgstr "Incluir Subcategorias" @@ -5667,7 +5820,7 @@ msgid "Show structural categories" msgstr "Mostrar categorias estruturais" #: src/tables/part/PartCategoryTable.tsx:70 -#: src/tables/part/PartTable.tsx:262 +#: src/tables/part/PartTable.tsx:269 msgid "Subscribed" msgstr "" @@ -5704,21 +5857,25 @@ msgstr "" #~ msgid "[{0}]" #~ msgstr "[{0}]" -#: src/tables/part/PartParameterTable.tsx:105 +#: src/tables/part/PartParameterTable.tsx:112 msgid "New Part Parameter" msgstr "Novo Parâmetro de Peça" -#: src/tables/part/PartParameterTable.tsx:130 -#: src/tables/part/PartParameterTable.tsx:152 +#: src/tables/part/PartParameterTable.tsx:137 +#: src/tables/part/PartParameterTable.tsx:159 msgid "Delete Part Parameter" msgstr "Apagar Parâmetro da Peça" -#: src/tables/part/PartParameterTable.tsx:170 +#: src/tables/part/PartParameterTable.tsx:177 msgid "Add parameter" msgstr "Adiciona parâmetro" -#: src/tables/part/PartParameterTable.tsx:191 -#: src/tables/stock/StockItemTable.tsx:300 +#: src/tables/part/PartParameterTable.tsx:196 +msgid "Part parameters cannot be edited, as the part is locked" +msgstr "" + +#: src/tables/part/PartParameterTable.tsx:210 +#: src/tables/stock/StockItemTable.tsx:322 msgid "Include Variants" msgstr "Incluir Variantes" @@ -5739,7 +5896,7 @@ msgid "Show templates with choices" msgstr "Mostrar modelos com escolhas" #: src/tables/part/PartParameterTemplateTable.tsx:41 -#: src/tables/part/PartTable.tsx:198 +#: src/tables/part/PartTable.tsx:205 msgid "Has Units" msgstr "Possui unidades" @@ -5763,116 +5920,120 @@ msgstr "Excluir Modelo de Parâmetro" msgid "Add parameter template" msgstr "Adicionar modelo de parâmetro" -#: src/tables/part/PartTable.tsx:67 +#: src/tables/part/PartTable.tsx:68 msgid "Minimum stock" msgstr "Estoque mínimo" -#: src/tables/part/PartTable.tsx:89 +#: src/tables/part/PartTable.tsx:90 msgid "Build Order Allocations" msgstr "Alocações de Pedido de Produção" -#: src/tables/part/PartTable.tsx:98 +#: src/tables/part/PartTable.tsx:99 msgid "Sales Order Allocations" msgstr "Alocações do Pedido de Vendas" -#: src/tables/part/PartTable.tsx:169 +#: src/tables/part/PartTable.tsx:170 msgid "Filter by part active status" msgstr "Filtrar por peça em estado ativo" -#: src/tables/part/PartTable.tsx:174 -#: src/tables/stock/StockItemTable.tsx:265 +#: src/tables/part/PartTable.tsx:176 +msgid "Filter by part locked status" +msgstr "" + +#: src/tables/part/PartTable.tsx:181 +#: src/tables/stock/StockItemTable.tsx:287 msgid "Assembly" msgstr "Montagem" -#: src/tables/part/PartTable.tsx:175 +#: src/tables/part/PartTable.tsx:182 msgid "Filter by assembly attribute" msgstr "Filtrar por atributo de montagem" -#: src/tables/part/PartTable.tsx:181 +#: src/tables/part/PartTable.tsx:188 msgid "Include parts in subcategories" msgstr "Incluir peças em subcategorias" -#: src/tables/part/PartTable.tsx:187 +#: src/tables/part/PartTable.tsx:194 msgid "Filter by component attribute" msgstr "Filtrar por atributo do componente" -#: src/tables/part/PartTable.tsx:193 +#: src/tables/part/PartTable.tsx:200 msgid "Filter by trackable attribute" msgstr "Filtrar por atributo rastreável" -#: src/tables/part/PartTable.tsx:199 +#: src/tables/part/PartTable.tsx:206 msgid "Filter by parts which have units" msgstr "Filtrar por peças que têm unidades" -#: src/tables/part/PartTable.tsx:204 +#: src/tables/part/PartTable.tsx:211 msgid "Has IPN" msgstr "Tem IPN" -#: src/tables/part/PartTable.tsx:205 +#: src/tables/part/PartTable.tsx:212 msgid "Filter by parts which have an internal part number" msgstr "Filtrar por partes que tenham um número de peça interna" -#: src/tables/part/PartTable.tsx:210 +#: src/tables/part/PartTable.tsx:217 msgid "Has Stock" msgstr "Tem estoque" -#: src/tables/part/PartTable.tsx:211 +#: src/tables/part/PartTable.tsx:218 msgid "Filter by parts which have stock" msgstr "Filtrar por peças que têm estoque" -#: src/tables/part/PartTable.tsx:217 +#: src/tables/part/PartTable.tsx:224 msgid "Filter by parts which have low stock" msgstr "Filtrar por peças que tenham estoque baixo" -#: src/tables/part/PartTable.tsx:222 +#: src/tables/part/PartTable.tsx:229 msgid "Purchaseable" msgstr "Comprável" -#: src/tables/part/PartTable.tsx:223 +#: src/tables/part/PartTable.tsx:230 msgid "Filter by parts which are purchaseable" msgstr "Filtrar por peças que são compráveis" -#: src/tables/part/PartTable.tsx:228 +#: src/tables/part/PartTable.tsx:235 msgid "Salable" msgstr "Vendível" -#: src/tables/part/PartTable.tsx:229 +#: src/tables/part/PartTable.tsx:236 msgid "Filter by parts which are salable" msgstr "Filtrar por peças que são vendíveis" -#: src/tables/part/PartTable.tsx:235 +#: src/tables/part/PartTable.tsx:242 msgid "Filter by parts which are virtual" msgstr "Filtrar por peças que são virtuais" -#: src/tables/part/PartTable.tsx:239 +#: src/tables/part/PartTable.tsx:246 msgid "Not Virtual" msgstr "Não é Virtual" -#: src/tables/part/PartTable.tsx:244 +#: src/tables/part/PartTable.tsx:251 msgid "Is Template" msgstr "" -#: src/tables/part/PartTable.tsx:245 +#: src/tables/part/PartTable.tsx:252 msgid "Filter by parts which are templates" msgstr "" -#: src/tables/part/PartTable.tsx:251 +#: src/tables/part/PartTable.tsx:258 msgid "Filter by parts which have pricing information" msgstr "" -#: src/tables/part/PartTable.tsx:257 +#: src/tables/part/PartTable.tsx:264 msgid "Filter by parts which have available stock" msgstr "" -#: src/tables/part/PartTable.tsx:263 +#: src/tables/part/PartTable.tsx:270 msgid "Filter by parts to which the user is subscribed" msgstr "" -#: src/tables/part/PartTable.tsx:268 +#: src/tables/part/PartTable.tsx:275 msgid "Has Stocktake" msgstr "" -#: src/tables/part/PartTable.tsx:269 +#: src/tables/part/PartTable.tsx:276 msgid "Filter by parts which have stocktake information" msgstr "" @@ -6211,7 +6372,7 @@ msgid "Sample" msgstr "Amostra" #: src/tables/plugin/PluginListTable.tsx:578 -#: src/tables/stock/StockItemTable.tsx:305 +#: src/tables/stock/StockItemTable.tsx:327 msgid "Installed" msgstr "Instalado" @@ -6486,6 +6647,41 @@ msgstr "Adicionar grupo" msgid "Edit group" msgstr "Editar grupo" +#: src/tables/settings/ImportSessionTable.tsx:39 +msgid "Delete Import Session" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:45 +#: src/tables/settings/ImportSessionTable.tsx:132 +msgid "Create Import Session" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:70 +msgid "Uploaded" +msgstr "Uploaded" + +#: src/tables/settings/ImportSessionTable.tsx:80 +msgid "Imported Rows" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:110 +#: src/tables/settings/TemplateTable.tsx:276 +msgid "Model Type" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:111 +#: src/tables/settings/TemplateTable.tsx:277 +msgid "Filter by target model type" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:117 +msgid "Filter by import session status" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:123 +msgid "Filter by user" +msgstr "" + #: src/tables/settings/PendingTasksTable.tsx:36 msgid "Arguments" msgstr "Argumentos" @@ -6502,7 +6698,7 @@ msgstr "Editar Código do Projeto" msgid "Delete Project Code" msgstr "Excluir Código do Projeto" -#: src/tables/settings/ProjectCodeTable.tsx:94 +#: src/tables/settings/ProjectCodeTable.tsx:92 msgid "Add project code" msgstr "Adicionar código do projeto" @@ -6571,14 +6767,6 @@ msgstr "" 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" @@ -6701,149 +6889,153 @@ msgstr "Este item de estoque está parcialmente alocado" msgid "This stock item has been depleted" msgstr "Este item de estoque foi esgotado" -#: src/tables/stock/StockItemTable.tsx:255 +#: src/tables/stock/StockItemTable.tsx:247 +msgid "Stock Value" +msgstr "" + +#: src/tables/stock/StockItemTable.tsx:277 msgid "Show stock for active parts" msgstr "Mostrar estoque de peças ativas" -#: src/tables/stock/StockItemTable.tsx:260 +#: src/tables/stock/StockItemTable.tsx:282 msgid "Filter by stock status" msgstr "Filtrar por estado do estoque" -#: src/tables/stock/StockItemTable.tsx:266 +#: src/tables/stock/StockItemTable.tsx:288 msgid "Show stock for assmebled parts" msgstr "Mostrar estoque para peças montadas" -#: src/tables/stock/StockItemTable.tsx:271 +#: src/tables/stock/StockItemTable.tsx:293 msgid "Show items which have been allocated" msgstr "Mostrar itens que foram alocados" -#: src/tables/stock/StockItemTable.tsx:276 +#: src/tables/stock/StockItemTable.tsx:298 msgid "Show items which are available" msgstr "Mostrar itens que estão disponíveis" -#: src/tables/stock/StockItemTable.tsx:280 +#: src/tables/stock/StockItemTable.tsx:302 #: src/tables/stock/StockLocationTable.tsx:42 msgid "Include Sublocations" msgstr "Incluir Sublocais" -#: src/tables/stock/StockItemTable.tsx:281 +#: src/tables/stock/StockItemTable.tsx:303 msgid "Include stock in sublocations" msgstr "Incluir estoque em sublocais" -#: src/tables/stock/StockItemTable.tsx:285 +#: src/tables/stock/StockItemTable.tsx:307 msgid "Depleted" msgstr "Esgotado" -#: src/tables/stock/StockItemTable.tsx:286 +#: src/tables/stock/StockItemTable.tsx:308 msgid "Show depleted stock items" msgstr "Mostrar itens de estoque esgotados" -#: src/tables/stock/StockItemTable.tsx:291 +#: src/tables/stock/StockItemTable.tsx:313 msgid "Show items which are in stock" msgstr "Mostrar itens que estão em estoque" -#: src/tables/stock/StockItemTable.tsx:296 +#: src/tables/stock/StockItemTable.tsx:318 msgid "Show items which are in production" msgstr "Mostrar itens que estão em produção" -#: src/tables/stock/StockItemTable.tsx:301 +#: src/tables/stock/StockItemTable.tsx:323 msgid "Include stock items for variant parts" msgstr "Incluir itens de estoque para peças variantes" -#: src/tables/stock/StockItemTable.tsx:306 +#: src/tables/stock/StockItemTable.tsx:328 msgid "Show stock items which are installed in other items" msgstr "Mostrar itens de estoque que estão instalados em outros itens" -#: src/tables/stock/StockItemTable.tsx:310 +#: src/tables/stock/StockItemTable.tsx:332 msgid "Sent to Customer" msgstr "Enviar para Cliente" -#: src/tables/stock/StockItemTable.tsx:311 +#: src/tables/stock/StockItemTable.tsx:333 msgid "Show items which have been sent to a customer" msgstr "Mostrar itens enviados para um cliente" -#: src/tables/stock/StockItemTable.tsx:315 +#: src/tables/stock/StockItemTable.tsx:337 msgid "Is Serialized" msgstr "É Serializado" -#: src/tables/stock/StockItemTable.tsx:316 +#: src/tables/stock/StockItemTable.tsx:338 msgid "Show items which have a serial number" msgstr "Mostrar itens com um número de série" -#: src/tables/stock/StockItemTable.tsx:323 +#: src/tables/stock/StockItemTable.tsx:345 msgid "Has Batch Code" msgstr "Possuí Código de Lote" -#: src/tables/stock/StockItemTable.tsx:324 +#: src/tables/stock/StockItemTable.tsx:346 msgid "Show items which have a batch code" msgstr "Mostrar itens com um código de lote" -#: src/tables/stock/StockItemTable.tsx:330 +#: src/tables/stock/StockItemTable.tsx:352 msgid "Show tracked items" msgstr "Mostrar itens monitorados" -#: src/tables/stock/StockItemTable.tsx:334 +#: src/tables/stock/StockItemTable.tsx:356 msgid "Has Purchase Price" msgstr "Tem Preço de Compra" -#: src/tables/stock/StockItemTable.tsx:335 +#: src/tables/stock/StockItemTable.tsx:357 msgid "Show items which have a purchase price" msgstr "Mostrar itens com preço de compra" -#: src/tables/stock/StockItemTable.tsx:343 +#: src/tables/stock/StockItemTable.tsx:365 msgid "External Location" msgstr "Localização Externa" -#: src/tables/stock/StockItemTable.tsx:344 +#: src/tables/stock/StockItemTable.tsx:366 msgid "Show items in an external location" msgstr "Mostrar itens com localização externa" -#: src/tables/stock/StockItemTable.tsx:416 +#: src/tables/stock/StockItemTable.tsx:438 msgid "Add a new stock item" msgstr "" -#: src/tables/stock/StockItemTable.tsx:425 +#: src/tables/stock/StockItemTable.tsx:447 msgid "Remove some quantity from a stock item" msgstr "" -#: src/tables/stock/StockItemTable.tsx:447 +#: src/tables/stock/StockItemTable.tsx:469 msgid "Move Stock items to new locations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:454 +#: src/tables/stock/StockItemTable.tsx:476 msgid "Change stock status" msgstr "" -#: src/tables/stock/StockItemTable.tsx:456 +#: src/tables/stock/StockItemTable.tsx:478 msgid "Change the status of stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:463 +#: src/tables/stock/StockItemTable.tsx:485 msgid "Merge stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:465 +#: src/tables/stock/StockItemTable.tsx:487 msgid "Merge stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:472 +#: src/tables/stock/StockItemTable.tsx:494 msgid "Order stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:474 -#: src/tables/stock/StockItemTable.tsx:480 +#: src/tables/stock/StockItemTable.tsx:496 +#: src/tables/stock/StockItemTable.tsx:502 msgid "Order new stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:478 +#: src/tables/stock/StockItemTable.tsx:500 msgid "Assign to customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:487 +#: src/tables/stock/StockItemTable.tsx:509 msgid "Delete stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:489 +#: src/tables/stock/StockItemTable.tsx:511 msgid "Delete stock items" msgstr "" @@ -6999,4 +7191,3 @@ msgstr "Leia a documentação" #: src/views/MobileAppView.tsx:35 msgid "Ignore and continue to Desktop view" msgstr "" - diff --git a/src/frontend/src/locales/ro/messages.po b/src/frontend/src/locales/ro/messages.po index 378f49030506..22bf5d9f94e9 100644 --- a/src/frontend/src/locales/ro/messages.po +++ b/src/frontend/src/locales/ro/messages.po @@ -49,16 +49,18 @@ msgstr "" #: src/components/buttons/PrintingActions.tsx:107 #: src/components/buttons/PrintingActions.tsx:144 #: src/components/editors/NotesEditor.tsx:65 -#: src/components/editors/NotesEditor.tsx:160 -#: src/components/forms/ApiForm.tsx:506 -#: src/components/forms/fields/ApiFormField.tsx:295 +#: src/components/editors/NotesEditor.tsx:165 +#: src/components/forms/ApiForm.tsx:513 +#: src/components/forms/fields/ApiFormField.tsx:306 +#: src/components/importer/ImportDataSelector.tsx:171 +#: src/components/importer/ImporterColumnSelector.tsx:112 #: src/components/modals/LicenseModal.tsx:75 #: src/components/nav/SearchDrawer.tsx:427 #: src/pages/ErrorPage.tsx:11 #: src/pages/part/PartPricingPanel.tsx:71 -#: src/tables/InvenTreeTable.tsx:451 -#: src/tables/InvenTreeTable.tsx:526 -#: src/tables/bom/BomTable.tsx:363 +#: src/tables/InvenTreeTable.tsx:470 +#: src/tables/InvenTreeTable.tsx:545 +#: src/tables/bom/BomTable.tsx:366 #: src/tables/stock/StockItemTestResultTable.tsx:294 msgid "Error" msgstr "" @@ -157,7 +159,7 @@ msgstr "" #: src/functions/forms.tsx:196 #: src/hooks/UseForm.tsx:40 #: src/tables/FilterSelectDrawer.tsx:204 -#: src/tables/InvenTreeTable.tsx:499 +#: src/tables/InvenTreeTable.tsx:518 #: src/tables/build/BuildOutputTable.tsx:225 msgid "Cancel" msgstr "" @@ -175,7 +177,7 @@ msgid "Clear" msgstr "" #: src/components/details/DetailsImage.tsx:227 -#: src/components/forms/ApiForm.tsx:573 +#: src/components/forms/ApiForm.tsx:580 #: src/contexts/ThemeContext.tsx:43 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:56 msgid "Submit" @@ -202,48 +204,61 @@ msgid "Delete image" msgstr "" #: src/components/details/PartIcons.tsx:28 +#: src/tables/ColumnRenderers.tsx:35 +msgid "Part is locked" +msgstr "" + +#: src/components/details/PartIcons.tsx:30 +#: src/pages/part/PartDetail.tsx:267 +#: src/pages/part/PartDetail.tsx:698 +#: src/tables/part/PartTable.tsx:175 +msgid "Locked" +msgstr "" + +#: src/components/details/PartIcons.tsx:35 +#: src/tables/ColumnRenderers.tsx:30 msgid "Part is not active" msgstr "" -#: src/components/details/PartIcons.tsx:34 +#: src/components/details/PartIcons.tsx:37 #: src/components/render/Plugin.tsx:17 #: src/pages/company/CompanyDetail.tsx:315 #: src/pages/company/SupplierPartDetail.tsx:307 -#: src/pages/part/PartDetail.tsx:685 +#: src/pages/part/PartDetail.tsx:704 msgid "Inactive" msgstr "" -#: src/components/details/PartIcons.tsx:41 +#: src/components/details/PartIcons.tsx:43 msgid "Part is a template part (variants can be made from this part)" msgstr "" -#: src/components/details/PartIcons.tsx:47 +#: src/components/details/PartIcons.tsx:49 msgid "Part can be assembled from other parts" msgstr "" -#: src/components/details/PartIcons.tsx:53 +#: src/components/details/PartIcons.tsx:55 msgid "Part can be used in assemblies" msgstr "" -#: src/components/details/PartIcons.tsx:59 +#: src/components/details/PartIcons.tsx:61 msgid "Part stock is tracked by serial number" msgstr "" -#: src/components/details/PartIcons.tsx:65 +#: src/components/details/PartIcons.tsx:67 msgid "Part can be purchased from external suppliers" msgstr "" -#: src/components/details/PartIcons.tsx:71 +#: src/components/details/PartIcons.tsx:73 msgid "Part can be sold to customers" msgstr "" -#: src/components/details/PartIcons.tsx:76 +#: src/components/details/PartIcons.tsx:78 msgid "Part is virtual (not a physical part)" msgstr "" -#: src/components/details/PartIcons.tsx:82 -#: src/tables/part/PartTable.tsx:234 -#: src/tables/part/PartTable.tsx:238 +#: src/components/details/PartIcons.tsx:84 +#: src/tables/part/PartTable.tsx:241 +#: src/tables/part/PartTable.tsx:245 #: src/tables/part/PartVariantTable.tsx:25 msgid "Virtual" msgstr "" @@ -252,29 +267,29 @@ msgstr "" msgid "Image upload failed" msgstr "" -#: src/components/editors/NotesEditor.tsx:151 -#: src/components/forms/ApiForm.tsx:430 -#: src/tables/bom/BomTable.tsx:354 +#: src/components/editors/NotesEditor.tsx:156 +#: src/components/forms/ApiForm.tsx:437 +#: src/tables/bom/BomTable.tsx:357 msgid "Success" msgstr "" -#: src/components/editors/NotesEditor.tsx:152 +#: src/components/editors/NotesEditor.tsx:157 msgid "Notes saved successfully" msgstr "" -#: src/components/editors/NotesEditor.tsx:161 +#: src/components/editors/NotesEditor.tsx:166 msgid "Failed to save notes" msgstr "" -#: src/components/editors/NotesEditor.tsx:193 +#: src/components/editors/NotesEditor.tsx:198 msgid "Preview Notes" msgstr "" -#: src/components/editors/NotesEditor.tsx:193 +#: src/components/editors/NotesEditor.tsx:198 msgid "Edit Notes" msgstr "" -#: src/components/editors/NotesEditor.tsx:207 +#: src/components/editors/NotesEditor.tsx:212 msgid "Save Notes" msgstr "" @@ -407,7 +422,7 @@ msgstr "" msgid "A server error occurred" msgstr "" -#: src/components/forms/ApiForm.tsx:149 +#: src/components/forms/ApiForm.tsx:151 #: src/functions/forms.tsx:259 msgid "Form Error" msgstr "" @@ -416,18 +431,18 @@ msgstr "" #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:611 +#: src/components/forms/ApiForm.tsx:618 #: src/tables/plugin/PluginListTable.tsx:388 msgid "Update" msgstr "" -#: src/components/forms/ApiForm.tsx:631 +#: src/components/forms/ApiForm.tsx:638 #: 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:498 +#: src/tables/InvenTreeTable.tsx:517 #: src/tables/RowActions.tsx:71 #: src/tables/plugin/PluginListTable.tsx:420 msgid "Delete" @@ -600,7 +615,7 @@ msgstr "" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:70 #: src/pages/part/CategoryDetail.tsx:80 -#: src/pages/part/PartDetail.tsx:122 +#: src/pages/part/PartDetail.tsx:123 #: src/pages/stock/LocationDetail.tsx:87 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 @@ -685,6 +700,124 @@ msgstr "" msgid "Thumbnail" msgstr "" +#: src/components/importer/ImportDataSelector.tsx:154 +msgid "Importing Rows" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:155 +msgid "Please wait while the data is imported" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:172 +msgid "An error occurred while importing data" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:191 +msgid "Edit Data" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:218 +msgid "Delete Row" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:248 +msgid "Row" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:266 +msgid "Row contains errors" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:307 +msgid "Accept" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:340 +msgid "Valid" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:341 +msgid "Filter by row validation status" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:346 +#: src/tables/build/BuildOutputTable.tsx:205 +msgid "Complete" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:347 +msgid "Filter by row completion status" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:364 +msgid "Import selected rows" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:46 +#: src/components/importer/ImporterColumnSelector.tsx:85 +msgid "An error occurred" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:57 +msgid "Select column, or leave blank to ignore this field." +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:91 +msgid "Select a column from the data file" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:104 +msgid "Map data columns to database fields" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:109 +msgid "Accept Column Mapping" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:117 +msgid "Database Field" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:118 +msgid "Field Description" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:119 +msgid "Imported Column Name" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:44 +msgid "Import Data" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:45 +msgid "Map Columns" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:46 +msgid "Process Data" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:47 +msgid "Complete Import" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:91 +msgid "Importing Data" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:97 +msgid "Cancel import session" +msgstr "" + +#: src/components/importer/ImporterImportProgress.tsx:36 +msgid "Importing Records" +msgstr "" + +#: src/components/importer/ImporterImportProgress.tsx:39 +msgid "Imported rows" +msgstr "" + #: src/components/items/ActionDropdown.tsx:119 #: src/pages/build/BuildDetail.tsx:358 msgid "Barcode Actions" @@ -738,7 +871,7 @@ msgid "Read More" msgstr "" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:443 +#: src/tables/InvenTreeTable.tsx:462 msgid "Unknown error" msgstr "" @@ -1039,13 +1172,13 @@ msgstr "" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:313 +#: src/pages/Index/Settings/SystemSettings.tsx:314 msgid "System Settings" msgstr "" #: src/components/nav/MainMenu.tsx:67 #: src/defaults/menuItems.tsx:63 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:198 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:209 msgid "Admin Center" msgstr "" @@ -1088,7 +1221,7 @@ msgid "Pages" msgstr "" #: src/components/nav/NavigationDrawer.tsx:65 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:157 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:168 #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:41 msgid "Plugins" msgstr "" @@ -1102,7 +1235,7 @@ msgstr "" msgid "About" msgstr "" -#: src/components/nav/NotificationDrawer.tsx:78 +#: src/components/nav/NotificationDrawer.tsx:81 #: src/pages/Index/Settings/SystemSettings.tsx:108 #: src/pages/Index/Settings/UserSettings.tsx:96 #: src/pages/Notifications.tsx:65 @@ -1110,17 +1243,17 @@ msgstr "" msgid "Notifications" msgstr "" -#: src/components/nav/NotificationDrawer.tsx:95 +#: src/components/nav/NotificationDrawer.tsx:98 msgid "You have no unread notifications." msgstr "" -#: src/components/nav/NotificationDrawer.tsx:111 -#: src/components/nav/NotificationDrawer.tsx:117 +#: src/components/nav/NotificationDrawer.tsx:114 +#: src/components/nav/NotificationDrawer.tsx:120 #: src/tables/notifications/NotificationsTable.tsx:36 msgid "Notification" msgstr "" -#: src/components/nav/NotificationDrawer.tsx:140 +#: src/components/nav/NotificationDrawer.tsx:143 #: src/pages/Notifications.tsx:73 msgid "Mark as read" msgstr "" @@ -1157,7 +1290,7 @@ msgstr "" msgid "No results available for search query" msgstr "" -#: src/components/render/Instance.tsx:166 +#: src/components/render/Instance.tsx:201 msgid "Unknown model: {model}" msgstr "" @@ -1172,7 +1305,8 @@ msgstr "" #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 #: src/pages/build/BuildDetail.tsx:85 -#: src/pages/part/PartDetail.tsx:831 +#: src/pages/part/PartDetail.tsx:872 +#: src/tables/part/PartTable.tsx:28 #: src/tables/part/RelatedPartTable.tsx:45 #: src/tables/stock/StockTrackingTable.tsx:74 msgid "Part" @@ -1185,7 +1319,7 @@ msgstr "" #: src/pages/part/CategoryDetail.tsx:112 #: src/pages/part/CategoryDetail.tsx:237 #: src/pages/part/CategoryDetail.tsx:267 -#: src/pages/part/PartDetail.tsx:639 +#: src/pages/part/PartDetail.tsx:652 msgid "Parts" msgstr "" @@ -1235,7 +1369,7 @@ msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:172 #: src/pages/part/CategoryDetail.tsx:251 #: src/pages/part/CategoryDetail.tsx:288 -#: src/pages/part/PartDetail.tsx:821 +#: src/pages/part/PartDetail.tsx:862 msgid "Part Categories" msgstr "" @@ -1317,7 +1451,7 @@ msgid "Project Code" msgstr "" #: src/components/render/ModelType.tsx:127 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:109 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:120 msgid "Project Codes" msgstr "" @@ -1329,10 +1463,10 @@ msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:134 -#: src/pages/Index/Settings/SystemSettings.tsx:257 +#: src/pages/Index/Settings/SystemSettings.tsx:258 #: src/pages/company/CompanyDetail.tsx:194 #: src/pages/company/SupplierPartDetail.tsx:226 -#: src/pages/part/PartDetail.tsx:573 +#: src/pages/part/PartDetail.tsx:586 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "" @@ -1354,9 +1488,9 @@ msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:272 +#: src/pages/Index/Settings/SystemSettings.tsx:273 #: src/pages/company/CompanyDetail.tsx:214 -#: src/pages/part/PartDetail.tsx:580 +#: src/pages/part/PartDetail.tsx:593 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" @@ -1376,7 +1510,7 @@ msgid "Return Order" msgstr "" #: src/components/render/ModelType.tsx:164 -#: src/pages/Index/Settings/SystemSettings.tsx:288 +#: src/pages/Index/Settings/SystemSettings.tsx:289 #: src/pages/company/CompanyDetail.tsx:221 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1413,40 +1547,49 @@ msgid "Owners" msgstr "" #: src/components/render/ModelType.tsx:193 +#: src/tables/settings/ImportSessionTable.tsx:122 #: src/tables/stock/StockItemTestResultTable.tsx:193 #: src/tables/stock/StockTrackingTable.tsx:195 msgid "User" msgstr "" #: src/components/render/ModelType.tsx:194 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:85 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:90 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" msgstr "" #: src/components/render/ModelType.tsx:200 -msgid "Label Template" +msgid "Import Session" msgstr "" #: src/components/render/ModelType.tsx:201 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:139 -msgid "Label Templates" +msgid "Import Sessions" msgstr "" #: src/components/render/ModelType.tsx:207 -msgid "Report Template" +msgid "Label Template" msgstr "" #: src/components/render/ModelType.tsx:208 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:145 -msgid "Report Templates" +#: src/pages/Index/Settings/AdminCenter/Index.tsx:150 +msgid "Label Templates" msgstr "" #: src/components/render/ModelType.tsx:214 -msgid "Plugin Configuration" +msgid "Report Template" msgstr "" #: src/components/render/ModelType.tsx:215 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:156 +msgid "Report Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:221 +msgid "Plugin Configuration" +msgstr "" + +#: src/components/render/ModelType.tsx:222 msgid "Plugin Configurations" msgstr "" @@ -1458,7 +1601,7 @@ msgstr "" #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 #: src/pages/Index/Settings/SystemSettings.tsx:210 -#: src/pages/part/PartDetail.tsx:492 +#: src/pages/part/PartDetail.tsx:503 #: src/pages/stock/LocationDetail.tsx:347 #: src/pages/stock/StockDetail.tsx:356 #: src/tables/stock/StockItemTable.tsx:57 @@ -1641,10 +1784,6 @@ msgstr "" #~ msgid "Comment" #~ msgstr "Comment" -#: src/components/tables/general/AttachmentTable.tsx:56 -#~ msgid "Uploaded" -#~ msgstr "Uploaded" - #: src/components/tables/part/PartCategoryTable.tsx:122 #~ msgid "Part category updated" #~ msgstr "Part category updated" @@ -2157,7 +2296,7 @@ msgid "Recently Updated" msgstr "" #: src/defaults/dashboardItems.tsx:50 -#: src/tables/part/PartTable.tsx:216 +#: src/tables/part/PartTable.tsx:223 msgid "Low Stock" msgstr "" @@ -2466,7 +2605,7 @@ msgstr "" #~ msgid "Company updated" #~ msgstr "Company updated" -#: src/forms/PartForms.tsx:100 +#: src/forms/PartForms.tsx:103 msgid "Parent part category" msgstr "" @@ -2534,7 +2673,7 @@ msgstr "" #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 #: src/pages/stock/StockDetail.tsx:173 -#: src/tables/ColumnRenderers.tsx:34 +#: src/tables/ColumnRenderers.tsx:49 #: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" msgstr "" @@ -2585,8 +2724,8 @@ msgstr "" #: src/forms/StockForms.tsx:176 #: src/pages/stock/StockDetail.tsx:379 -#: src/tables/stock/StockItemTable.tsx:382 -#: src/tables/stock/StockItemTable.tsx:499 +#: src/tables/stock/StockItemTable.tsx:404 +#: src/tables/stock/StockItemTable.tsx:521 msgid "Add Stock Item" msgstr "" @@ -2606,9 +2745,9 @@ msgstr "" #: src/forms/StockForms.tsx:606 #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 -#: src/pages/part/PartDetail.tsx:202 -#: src/pages/part/PartDetail.tsx:655 -#: src/tables/stock/StockItemTable.tsx:290 +#: src/pages/part/PartDetail.tsx:203 +#: src/pages/part/PartDetail.tsx:668 +#: src/tables/stock/StockItemTable.tsx:312 msgid "In Stock" msgstr "" @@ -2649,12 +2788,12 @@ msgid "Remove Stock" msgstr "" #: src/forms/StockForms.tsx:803 -#: src/pages/part/PartDetail.tsx:782 +#: src/pages/part/PartDetail.tsx:823 msgid "Transfer Stock" msgstr "" #: src/forms/StockForms.tsx:812 -#: src/pages/part/PartDetail.tsx:771 +#: src/pages/part/PartDetail.tsx:812 msgid "Count Stock" msgstr "" @@ -3279,53 +3418,57 @@ msgstr "" #~ msgid "Advanced Amininistrative Options for InvenTree" #~ msgstr "Advanced Amininistrative Options for InvenTree" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:91 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:96 +msgid "Data Import" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:102 msgid "Background Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:97 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:108 msgid "Error Reports" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:103 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:114 msgid "Currencies" 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:132 msgid "Custom Units" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:138 #: src/pages/part/CategoryDetail.tsx:257 msgid "Part Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 -#~ msgid "Templates" -#~ msgstr "Templates" - -#: src/pages/Index/Settings/AdminCenter/Index.tsx:133 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:144 msgid "Category Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:151 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:162 msgid "Location types" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:163 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:174 #: src/tables/machine/MachineTypeTable.tsx:287 msgid "Machines" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:173 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:184 msgid "Quick Actions" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:178 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:189 msgid "Add a new user" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:199 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:210 msgid "Advanced Options" msgstr "" @@ -3477,7 +3620,7 @@ msgid "Reporting" msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:235 -#: src/pages/part/PartDetail.tsx:593 +#: src/pages/part/PartDetail.tsx:606 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" @@ -3485,12 +3628,12 @@ msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:241 #: src/pages/build/BuildDetail.tsx:423 #: src/pages/build/BuildIndex.tsx:14 -#: src/pages/part/PartDetail.tsx:527 +#: src/pages/part/PartDetail.tsx:540 #: src/pages/sales/SalesOrderDetail.tsx:270 msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:316 +#: src/pages/Index/Settings/SystemSettings.tsx:317 msgid "Switch to User Setting" msgstr "" @@ -3555,7 +3698,8 @@ msgstr "" #: 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/settings/ImportSessionTable.tsx:116 +#: src/tables/stock/StockItemTable.tsx:281 #: src/tables/stock/StockTrackingTable.tsx:52 msgid "Status" msgstr "" @@ -3564,7 +3708,7 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:104 #: src/pages/sales/ReturnOrderDetail.tsx:73 #: src/pages/sales/SalesOrderDetail.tsx:77 -#: src/tables/ColumnRenderers.tsx:106 +#: src/tables/ColumnRenderers.tsx:121 #: src/tables/build/BuildLineTable.tsx:140 msgid "Reference" msgstr "" @@ -3574,12 +3718,12 @@ msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:78 #: src/pages/company/SupplierPartDetail.tsx:85 #: src/pages/part/CategoryDetail.tsx:94 -#: src/pages/part/PartDetail.tsx:129 +#: src/pages/part/PartDetail.tsx:130 #: src/pages/purchasing/PurchaseOrderDetail.tsx:125 #: src/pages/sales/ReturnOrderDetail.tsx:93 #: src/pages/sales/SalesOrderDetail.tsx:97 #: src/pages/stock/LocationDetail.tsx:101 -#: src/tables/ColumnRenderers.tsx:66 +#: src/tables/ColumnRenderers.tsx:81 #: src/tables/machine/MachineTypeTable.tsx:69 #: src/tables/machine/MachineTypeTable.tsx:112 #: src/tables/machine/MachineTypeTable.tsx:219 @@ -3610,7 +3754,7 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:152 -#: src/pages/part/PartDetail.tsx:317 +#: src/pages/part/PartDetail.tsx:323 #: src/pages/purchasing/PurchaseOrderDetail.tsx:217 #: src/pages/sales/ReturnOrderDetail.tsx:186 #: src/pages/sales/SalesOrderDetail.tsx:190 @@ -3630,7 +3774,7 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:210 #: src/pages/sales/ReturnOrderDetail.tsx:179 #: src/pages/sales/SalesOrderDetail.tsx:183 -#: src/tables/ColumnRenderers.tsx:191 +#: src/tables/ColumnRenderers.tsx:206 msgid "Target Date" msgstr "" @@ -3711,7 +3855,7 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:297 #: src/pages/company/CompanyDetail.tsx:257 #: src/pages/company/ManufacturerPartDetail.tsx:174 -#: src/pages/part/PartDetail.tsx:616 +#: src/pages/part/PartDetail.tsx:629 #: src/pages/purchasing/PurchaseOrderDetail.tsx:279 #: src/pages/sales/ReturnOrderDetail.tsx:230 #: src/pages/sales/SalesOrderDetail.tsx:280 @@ -3721,7 +3865,7 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:305 #: src/pages/company/CompanyDetail.tsx:268 -#: src/pages/part/PartDetail.tsx:624 +#: src/pages/part/PartDetail.tsx:637 #: src/pages/purchasing/PurchaseOrderDetail.tsx:290 #: src/pages/sales/ReturnOrderDetail.tsx:241 #: src/pages/sales/SalesOrderDetail.tsx:291 @@ -3877,12 +4021,12 @@ msgid "Manufacturer Part Details" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:148 -#: src/pages/part/PartDetail.tsx:486 +#: src/pages/part/PartDetail.tsx:492 msgid "Parameters" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:160 -#: src/pages/part/PartDetail.tsx:560 +#: src/pages/part/PartDetail.tsx:573 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" msgstr "" @@ -3907,7 +4051,7 @@ msgid "ManufacturerPart" msgstr "" #: src/pages/company/SupplierPartDetail.tsx:99 -#: src/tables/ColumnRenderers.tsx:117 +#: src/tables/ColumnRenderers.tsx:132 msgid "Note" msgstr "" @@ -4043,275 +4187,275 @@ msgstr "" msgid "Category Details" msgstr "" -#: src/pages/part/PartDetail.tsx:135 +#: src/pages/part/PartDetail.tsx:136 msgid "Variant of" msgstr "" -#: src/pages/part/PartDetail.tsx:142 +#: src/pages/part/PartDetail.tsx:143 #: src/tables/notifications/NotificationsTable.tsx:31 #: src/tables/part/PartCategoryTemplateTable.tsx:67 msgid "Category" msgstr "" -#: src/pages/part/PartDetail.tsx:148 +#: src/pages/part/PartDetail.tsx:149 msgid "Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:155 +#: src/pages/part/PartDetail.tsx:156 msgid "Category Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:162 +#: src/pages/part/PartDetail.tsx:163 msgid "IPN" msgstr "" -#: src/pages/part/PartDetail.tsx:169 +#: src/pages/part/PartDetail.tsx:170 msgid "Revision" msgstr "" -#: src/pages/part/PartDetail.tsx:176 +#: src/pages/part/PartDetail.tsx:177 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" msgstr "" -#: src/pages/part/PartDetail.tsx:183 +#: src/pages/part/PartDetail.tsx:184 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:190 +#: src/pages/part/PartDetail.tsx:191 #: src/pages/purchasing/PurchaseOrderDetail.tsx:183 #: src/pages/sales/ReturnOrderDetail.tsx:152 #: src/pages/sales/SalesOrderDetail.tsx:156 msgid "Link" msgstr "" -#: src/pages/part/PartDetail.tsx:208 -#: src/tables/bom/BomTable.tsx:276 +#: src/pages/part/PartDetail.tsx:209 +#: src/tables/bom/BomTable.tsx:279 #: src/tables/build/BuildLineTable.tsx:121 -#: src/tables/part/PartTable.tsx:256 +#: src/tables/part/PartTable.tsx:263 msgid "Available Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:215 +#: src/pages/part/PartDetail.tsx:216 msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:221 -#: src/tables/bom/BomTable.tsx:217 +#: src/pages/part/PartDetail.tsx:222 +#: src/tables/bom/BomTable.tsx:220 #: src/tables/build/BuildLineTable.tsx:95 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:230 +#: src/pages/part/PartDetail.tsx:231 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:238 +#: src/pages/part/PartDetail.tsx:239 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:245 -#: src/tables/bom/BomTable.tsx:241 +#: src/pages/part/PartDetail.tsx:246 +#: src/tables/bom/BomTable.tsx:244 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:252 -#: src/tables/bom/BomTable.tsx:225 -#: src/tables/part/PartTable.tsx:82 +#: src/pages/part/PartDetail.tsx:253 +#: src/tables/bom/BomTable.tsx:228 +#: src/tables/part/PartTable.tsx:83 msgid "Building" msgstr "" -#: src/pages/part/PartDetail.tsx:261 +#: src/pages/part/PartDetail.tsx:262 #: src/tables/bom/UsedInTable.tsx:73 #: src/tables/build/BuildOrderTable.tsx:108 #: src/tables/company/CompanyTable.tsx:61 #: src/tables/company/CompanyTable.tsx:95 #: src/tables/machine/MachineListTable.tsx:323 #: src/tables/machine/MachineListTable.tsx:585 -#: src/tables/part/PartTable.tsx:168 +#: src/tables/part/PartTable.tsx:169 #: src/tables/part/PartVariantTable.tsx:15 #: 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 +#: src/tables/stock/StockItemTable.tsx:276 msgid "Active" msgstr "" -#: src/pages/part/PartDetail.tsx:266 +#: src/pages/part/PartDetail.tsx:272 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:271 -#: src/tables/bom/BomTable.tsx:271 +#: src/pages/part/PartDetail.tsx:277 +#: src/tables/bom/BomTable.tsx:274 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:276 +#: src/pages/part/PartDetail.tsx:282 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:281 -#: src/tables/bom/BomTable.tsx:266 +#: src/pages/part/PartDetail.tsx:287 +#: src/tables/bom/BomTable.tsx:269 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:286 +#: src/pages/part/PartDetail.tsx:292 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:291 +#: src/pages/part/PartDetail.tsx:297 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:296 +#: src/pages/part/PartDetail.tsx:302 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:304 -#: src/tables/ColumnRenderers.tsx:199 +#: src/pages/part/PartDetail.tsx:310 +#: src/tables/ColumnRenderers.tsx:214 msgid "Creation Date" msgstr "" -#: src/pages/part/PartDetail.tsx:309 -msgid "Created By" -msgstr "" - #: src/pages/part/PartDetail.tsx:310 #~ msgid "Edit part" #~ msgstr "Edit part" +#: src/pages/part/PartDetail.tsx:315 +msgid "Created By" +msgstr "" + #: src/pages/part/PartDetail.tsx:322 #~ msgid "Duplicate part" #~ msgstr "Duplicate part" -#: src/pages/part/PartDetail.tsx:324 -msgid "Default Supplier" -msgstr "" - #: src/pages/part/PartDetail.tsx:327 #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:335 +#: src/pages/part/PartDetail.tsx:330 +msgid "Default Supplier" +msgstr "" + +#: src/pages/part/PartDetail.tsx:341 #: src/pages/part/pricing/BomPricingPanel.tsx:78 #: src/pages/part/pricing/VariantPricingPanel.tsx:95 -#: src/tables/part/PartTable.tsx:151 +#: src/tables/part/PartTable.tsx:152 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:374 +#: src/pages/part/PartDetail.tsx:380 #: src/pages/stock/StockDetail.tsx:133 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:409 +#: src/pages/part/PartDetail.tsx:415 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:480 +#: src/pages/part/PartDetail.tsx:486 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:506 +#: src/pages/part/PartDetail.tsx:517 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:513 +#: src/pages/part/PartDetail.tsx:524 #: src/pages/stock/StockDetail.tsx:286 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:520 +#: src/pages/part/PartDetail.tsx:531 msgid "Bill of Materials" msgstr "" -#: src/pages/part/PartDetail.tsx:534 +#: src/pages/part/PartDetail.tsx:547 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:541 +#: src/pages/part/PartDetail.tsx:554 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:547 +#: src/pages/part/PartDetail.tsx:560 #: src/pages/purchasing/PurchasingIndex.tsx:37 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:587 +#: src/pages/part/PartDetail.tsx:600 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:599 +#: src/pages/part/PartDetail.tsx:612 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:610 +#: src/pages/part/PartDetail.tsx:623 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:661 +#: src/pages/part/PartDetail.tsx:674 #: src/pages/stock/StockDetail.tsx:154 #: src/pages/stock/StockDetail.tsx:533 #: src/tables/build/BuildLineTable.tsx:36 -#: src/tables/part/PartTable.tsx:107 +#: src/tables/part/PartTable.tsx:108 #: src/tables/stock/StockItemTable.tsx:166 -#: src/tables/stock/StockItemTable.tsx:275 +#: src/tables/stock/StockItemTable.tsx:297 msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:667 +#: src/pages/part/PartDetail.tsx:680 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:673 -#: src/tables/bom/BomTable.tsx:281 -#: src/tables/part/PartTable.tsx:76 +#: src/pages/part/PartDetail.tsx:686 +#: src/tables/bom/BomTable.tsx:284 +#: src/tables/part/PartTable.tsx:77 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:679 +#: src/pages/part/PartDetail.tsx:692 #: src/pages/stock/StockDetail.tsx:516 -#: src/tables/stock/StockItemTable.tsx:295 +#: src/tables/stock/StockItemTable.tsx:317 msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:698 +#: src/pages/part/PartDetail.tsx:717 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:705 -#: src/tables/part/PartTable.tsx:289 -#: src/tables/part/PartTable.tsx:302 +#: src/pages/part/PartDetail.tsx:744 +#: src/tables/part/PartTable.tsx:296 +#: src/tables/part/PartTable.tsx:309 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:717 +#: src/pages/part/PartDetail.tsx:758 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:726 +#: src/pages/part/PartDetail.tsx:767 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:764 +#: src/pages/part/PartDetail.tsx:805 #: src/pages/stock/LocationDetail.tsx:304 -#: src/tables/stock/StockItemTable.tsx:409 +#: src/tables/stock/StockItemTable.tsx:431 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:772 +#: src/pages/part/PartDetail.tsx:813 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:824 msgid "Transfer part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:792 +#: src/pages/part/PartDetail.tsx:833 msgid "Part Actions" msgstr "" @@ -4359,8 +4503,8 @@ msgstr "" #: src/pages/part/pricing/BomPricingPanel.tsx:57 #: src/pages/part/pricing/BomPricingPanel.tsx:137 -#: src/tables/ColumnRenderers.tsx:241 -#: src/tables/bom/BomTable.tsx:165 +#: src/tables/ColumnRenderers.tsx:256 +#: src/tables/bom/BomTable.tsx:168 #: src/tables/purchasing/PurchaseOrderTable.tsx:112 #: src/tables/sales/ReturnOrderTable.tsx:104 #: src/tables/sales/SalesOrderTable.tsx:134 @@ -4369,7 +4513,7 @@ msgstr "" #: src/pages/part/pricing/BomPricingPanel.tsx:77 #: src/pages/part/pricing/BomPricingPanel.tsx:101 -#: src/tables/part/PartTable.tsx:186 +#: src/tables/part/PartTable.tsx:193 msgid "Component" msgstr "" @@ -4398,7 +4542,7 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:67 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:128 #: src/pages/part/pricing/SupplierPricingPanel.tsx:62 -#: src/tables/bom/BomTable.tsx:156 +#: src/tables/bom/BomTable.tsx:159 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 msgid "Unit Price" @@ -4498,7 +4642,7 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:40 #: src/pages/part/pricing/SaleHistoryPanel.tsx:36 -#: src/tables/ColumnRenderers.tsx:180 +#: src/tables/ColumnRenderers.tsx:195 #: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" @@ -4771,12 +4915,12 @@ msgid "Count stock" msgstr "" #: src/pages/stock/StockDetail.tsx:459 -#: src/tables/stock/StockItemTable.tsx:414 +#: src/tables/stock/StockItemTable.tsx:436 msgid "Add stock" msgstr "" #: src/pages/stock/StockDetail.tsx:467 -#: src/tables/stock/StockItemTable.tsx:423 +#: src/tables/stock/StockItemTable.tsx:445 msgid "Remove stock" msgstr "" @@ -4785,7 +4929,7 @@ msgid "Transfer" msgstr "" #: src/pages/stock/StockDetail.tsx:475 -#: src/tables/stock/StockItemTable.tsx:443 +#: src/tables/stock/StockItemTable.tsx:465 msgid "Transfer stock" msgstr "" @@ -4793,15 +4937,15 @@ msgstr "" msgid "Stock Item Actions" msgstr "" -#: src/tables/ColumnRenderers.tsx:42 +#: src/tables/ColumnRenderers.tsx:57 msgid "No location set" msgstr "" -#: src/tables/ColumnRenderers.tsx:207 +#: src/tables/ColumnRenderers.tsx:222 msgid "Shipment Date" msgstr "" -#: src/tables/ColumnRenderers.tsx:227 +#: src/tables/ColumnRenderers.tsx:242 #: src/tables/settings/CurrencyTable.tsx:23 msgid "Currency" msgstr "" @@ -4828,14 +4972,14 @@ msgid "TSV" msgstr "" #: src/tables/DownloadAction.tsx:24 -msgid "Excel (.xls)" -msgstr "" - -#: src/tables/DownloadAction.tsx:25 msgid "Excel (.xlsx)" msgstr "" -#: src/tables/DownloadAction.tsx:39 +#: src/tables/DownloadAction.tsx:24 +#~ msgid "Excel (.xls)" +#~ msgstr "" + +#: src/tables/DownloadAction.tsx:38 msgid "Download Data" msgstr "" @@ -4900,54 +5044,54 @@ msgstr "" msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:119 -#: src/tables/InvenTreeTable.tsx:390 -#: src/tables/InvenTreeTable.tsx:411 +#: src/tables/InvenTreeTable.tsx:126 +#: src/tables/InvenTreeTable.tsx:409 +#: src/tables/InvenTreeTable.tsx:430 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:422 +#: src/tables/InvenTreeTable.tsx:441 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:430 +#: src/tables/InvenTreeTable.tsx:449 msgid "Bad request" msgstr "" -#: src/tables/InvenTreeTable.tsx:433 +#: src/tables/InvenTreeTable.tsx:452 msgid "Unauthorized" msgstr "" -#: src/tables/InvenTreeTable.tsx:436 +#: src/tables/InvenTreeTable.tsx:455 msgid "Forbidden" msgstr "" -#: src/tables/InvenTreeTable.tsx:439 +#: src/tables/InvenTreeTable.tsx:458 msgid "Not found" msgstr "" -#: src/tables/InvenTreeTable.tsx:488 -#: src/tables/InvenTreeTable.tsx:606 +#: src/tables/InvenTreeTable.tsx:507 +#: src/tables/InvenTreeTable.tsx:623 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:492 +#: src/tables/InvenTreeTable.tsx:511 msgid "Are you sure you want to delete the selected records?" msgstr "" -#: src/tables/InvenTreeTable.tsx:494 +#: src/tables/InvenTreeTable.tsx:513 msgid "This action cannot be undone!" msgstr "" -#: src/tables/InvenTreeTable.tsx:517 +#: src/tables/InvenTreeTable.tsx:536 msgid "Deleted records" msgstr "" -#: src/tables/InvenTreeTable.tsx:518 +#: src/tables/InvenTreeTable.tsx:537 msgid "Records were deleted successfully" msgstr "" -#: src/tables/InvenTreeTable.tsx:527 +#: src/tables/InvenTreeTable.tsx:546 msgid "Failed to delete records" msgstr "" @@ -4956,140 +5100,144 @@ msgstr "" #~ msgid "Print actions" #~ msgstr "Print actions" -#: src/tables/InvenTreeTable.tsx:596 -#: src/tables/InvenTreeTable.tsx:597 +#: src/tables/InvenTreeTable.tsx:613 +#: src/tables/InvenTreeTable.tsx:614 msgid "Barcode actions" msgstr "" -#: src/tables/InvenTreeTable.tsx:625 +#: src/tables/InvenTreeTable.tsx:642 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTable.tsx:646 +#: src/tables/InvenTreeTable.tsx:663 msgid "Table filters" msgstr "" -#: src/tables/bom/BomTable.tsx:80 +#: src/tables/UploadAction.tsx:9 +msgid "Upload Data" +msgstr "" + +#: src/tables/bom/BomTable.tsx:83 msgid "This BOM item is defined for a different parent" msgstr "" -#: src/tables/bom/BomTable.tsx:95 +#: src/tables/bom/BomTable.tsx:98 msgid "Part Information" msgstr "" -#: src/tables/bom/BomTable.tsx:184 -#: src/tables/part/PartTable.tsx:124 +#: src/tables/bom/BomTable.tsx:187 +#: src/tables/part/PartTable.tsx:125 msgid "No stock" msgstr "" -#: src/tables/bom/BomTable.tsx:192 +#: src/tables/bom/BomTable.tsx:195 #: src/tables/build/BuildLineTable.tsx:104 -#: src/tables/part/PartTable.tsx:115 +#: src/tables/part/PartTable.tsx:116 msgid "External stock" msgstr "" -#: src/tables/bom/BomTable.tsx:200 +#: src/tables/bom/BomTable.tsx:203 #: src/tables/build/BuildLineTable.tsx:67 msgid "Includes substitute stock" msgstr "" -#: src/tables/bom/BomTable.tsx:209 +#: src/tables/bom/BomTable.tsx:212 #: src/tables/build/BuildLineTable.tsx:77 msgid "Includes variant stock" msgstr "" -#: src/tables/bom/BomTable.tsx:234 -#: src/tables/part/PartTable.tsx:143 +#: src/tables/bom/BomTable.tsx:237 +#: src/tables/part/PartTable.tsx:144 #: src/tables/stock/StockItemTable.tsx:205 msgid "Stock Information" msgstr "" -#: src/tables/bom/BomTable.tsx:246 +#: src/tables/bom/BomTable.tsx:249 #: src/tables/build/BuildLineTable.tsx:195 msgid "Consumable item" msgstr "" -#: src/tables/bom/BomTable.tsx:267 +#: src/tables/bom/BomTable.tsx:270 msgid "Show trackable items" msgstr "" -#: src/tables/bom/BomTable.tsx:272 +#: src/tables/bom/BomTable.tsx:275 msgid "Show asssmbled items" msgstr "" -#: src/tables/bom/BomTable.tsx:277 +#: src/tables/bom/BomTable.tsx:280 msgid "Show items with available stock" msgstr "" -#: src/tables/bom/BomTable.tsx:282 +#: src/tables/bom/BomTable.tsx:285 msgid "Show items on order" msgstr "" -#: src/tables/bom/BomTable.tsx:286 +#: src/tables/bom/BomTable.tsx:289 msgid "Validated" msgstr "" -#: src/tables/bom/BomTable.tsx:287 +#: src/tables/bom/BomTable.tsx:290 msgid "Show validated items" msgstr "" -#: src/tables/bom/BomTable.tsx:291 +#: src/tables/bom/BomTable.tsx:294 #: src/tables/bom/UsedInTable.tsx:63 msgid "Inherited" msgstr "" -#: src/tables/bom/BomTable.tsx:292 +#: src/tables/bom/BomTable.tsx:295 #: src/tables/bom/UsedInTable.tsx:64 msgid "Show inherited items" msgstr "" -#: src/tables/bom/BomTable.tsx:296 +#: src/tables/bom/BomTable.tsx:299 msgid "Allow Variants" msgstr "" -#: src/tables/bom/BomTable.tsx:297 +#: src/tables/bom/BomTable.tsx:300 msgid "Show items which allow variant substitution" msgstr "" #: src/tables/bom/BomTable.tsx:301 +#~ msgid "Create BOM Item" +#~ msgstr "Create BOM Item" + +#: src/tables/bom/BomTable.tsx:304 #: src/tables/bom/UsedInTable.tsx:68 #: src/tables/build/BuildLineTable.tsx:46 msgid "Optional" msgstr "" -#: src/tables/bom/BomTable.tsx:301 -#~ msgid "Create BOM Item" -#~ msgstr "Create BOM Item" - -#: src/tables/bom/BomTable.tsx:302 +#: src/tables/bom/BomTable.tsx:305 #: src/tables/bom/UsedInTable.tsx:69 msgid "Show optional items" msgstr "" -#: src/tables/bom/BomTable.tsx:306 +#: src/tables/bom/BomTable.tsx:309 #: src/tables/build/BuildLineTable.tsx:41 msgid "Consumable" msgstr "" -#: src/tables/bom/BomTable.tsx:307 +#: src/tables/bom/BomTable.tsx:310 msgid "Show consumable items" msgstr "" -#: src/tables/bom/BomTable.tsx:311 -#: src/tables/part/PartTable.tsx:250 +#: src/tables/bom/BomTable.tsx:314 +#: src/tables/part/PartTable.tsx:257 msgid "Has Pricing" msgstr "" -#: src/tables/bom/BomTable.tsx:312 +#: src/tables/bom/BomTable.tsx:315 msgid "Show items with pricing" msgstr "" -#: src/tables/bom/BomTable.tsx:321 -#: src/tables/bom/BomTable.tsx:420 +#: src/tables/bom/BomTable.tsx:324 +#: src/tables/bom/BomTable.tsx:426 msgid "Add BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:326 +#: src/tables/bom/BomTable.tsx:329 msgid "BOM item created" msgstr "" @@ -5097,23 +5245,23 @@ msgstr "" #~ msgid "Edit Bom Item" #~ msgstr "Edit Bom Item" -#: src/tables/bom/BomTable.tsx:333 -msgid "Edit BOM Item" -msgstr "" - #: src/tables/bom/BomTable.tsx:333 #~ msgid "Bom item updated" #~ msgstr "Bom item updated" -#: src/tables/bom/BomTable.tsx:335 +#: src/tables/bom/BomTable.tsx:336 +msgid "Edit BOM Item" +msgstr "" + +#: src/tables/bom/BomTable.tsx:338 msgid "BOM item updated" msgstr "" -#: src/tables/bom/BomTable.tsx:342 +#: src/tables/bom/BomTable.tsx:345 msgid "Delete BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:343 +#: src/tables/bom/BomTable.tsx:346 msgid "BOM item deleted" msgstr "" @@ -5133,32 +5281,41 @@ msgstr "" #~ msgid "Validate BOM line" #~ msgstr "Validate BOM line" -#: src/tables/bom/BomTable.tsx:355 +#: src/tables/bom/BomTable.tsx:358 msgid "BOM item validated" msgstr "" -#: src/tables/bom/BomTable.tsx:364 +#: src/tables/bom/BomTable.tsx:367 msgid "Failed to validate BOM item" msgstr "" -#: src/tables/bom/BomTable.tsx:376 +#: src/tables/bom/BomTable.tsx:379 msgid "View BOM" msgstr "" -#: src/tables/bom/BomTable.tsx:385 +#: src/tables/bom/BomTable.tsx:388 msgid "Validate BOM Line" msgstr "" -#: src/tables/bom/BomTable.tsx:399 +#: src/tables/bom/BomTable.tsx:405 msgid "Edit Substitutes" msgstr "" +#: src/tables/bom/BomTable.tsx:440 +#: src/tables/part/PartParameterTable.tsx:191 +msgid "Part is Locked" +msgstr "" + +#: src/tables/bom/BomTable.tsx:445 +msgid "Bill of materials cannot be edited, as the part is locked" +msgstr "" + #: src/tables/bom/UsedInTable.tsx:74 msgid "Show active assemblies" msgstr "" #: src/tables/bom/UsedInTable.tsx:78 -#: src/tables/part/PartTable.tsx:192 +#: src/tables/part/PartTable.tsx:199 #: src/tables/part/PartVariantTable.tsx:30 msgid "Trackable" msgstr "" @@ -5168,7 +5325,7 @@ msgid "Show trackable assemblies" msgstr "" #: src/tables/build/BuildLineTable.tsx:31 -#: src/tables/stock/StockItemTable.tsx:270 +#: src/tables/stock/StockItemTable.tsx:292 msgid "Allocated" msgstr "" @@ -5189,7 +5346,7 @@ msgid "Show optional lines" msgstr "" #: src/tables/build/BuildLineTable.tsx:51 -#: src/tables/stock/StockItemTable.tsx:329 +#: src/tables/stock/StockItemTable.tsx:351 msgid "Tracked" msgstr "" @@ -5302,10 +5459,6 @@ msgstr "" msgid "Deallocate stock from build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:205 -msgid "Complete" -msgstr "" - #: src/tables/build/BuildOutputTable.tsx:206 msgid "Complete build output" msgstr "" @@ -5635,7 +5788,7 @@ msgid "Message" msgstr "" #: src/tables/part/ParametricPartTable.tsx:76 -#: src/tables/part/PartParameterTable.tsx:88 +#: src/tables/part/PartParameterTable.tsx:95 msgid "Internal Units" msgstr "" @@ -5648,13 +5801,13 @@ msgid "Add Part Parameter" msgstr "" #: src/tables/part/ParametricPartTable.tsx:138 -#: src/tables/part/PartParameterTable.tsx:121 -#: src/tables/part/PartParameterTable.tsx:144 +#: src/tables/part/PartParameterTable.tsx:128 +#: src/tables/part/PartParameterTable.tsx:151 msgid "Edit Part Parameter" msgstr "" #: src/tables/part/PartCategoryTable.tsx:60 -#: src/tables/part/PartTable.tsx:180 +#: src/tables/part/PartTable.tsx:187 msgid "Include Subcategories" msgstr "" @@ -5667,7 +5820,7 @@ msgid "Show structural categories" msgstr "" #: src/tables/part/PartCategoryTable.tsx:70 -#: src/tables/part/PartTable.tsx:262 +#: src/tables/part/PartTable.tsx:269 msgid "Subscribed" msgstr "" @@ -5704,21 +5857,25 @@ msgstr "" #~ msgid "[{0}]" #~ msgstr "[{0}]" -#: src/tables/part/PartParameterTable.tsx:105 +#: src/tables/part/PartParameterTable.tsx:112 msgid "New Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:130 -#: src/tables/part/PartParameterTable.tsx:152 +#: src/tables/part/PartParameterTable.tsx:137 +#: src/tables/part/PartParameterTable.tsx:159 msgid "Delete Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:170 +#: src/tables/part/PartParameterTable.tsx:177 msgid "Add parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:191 -#: src/tables/stock/StockItemTable.tsx:300 +#: src/tables/part/PartParameterTable.tsx:196 +msgid "Part parameters cannot be edited, as the part is locked" +msgstr "" + +#: src/tables/part/PartParameterTable.tsx:210 +#: src/tables/stock/StockItemTable.tsx:322 msgid "Include Variants" msgstr "" @@ -5739,7 +5896,7 @@ msgid "Show templates with choices" msgstr "" #: src/tables/part/PartParameterTemplateTable.tsx:41 -#: src/tables/part/PartTable.tsx:198 +#: src/tables/part/PartTable.tsx:205 msgid "Has Units" msgstr "" @@ -5763,116 +5920,120 @@ msgstr "" msgid "Add parameter template" msgstr "" -#: src/tables/part/PartTable.tsx:67 +#: src/tables/part/PartTable.tsx:68 msgid "Minimum stock" msgstr "" -#: src/tables/part/PartTable.tsx:89 +#: src/tables/part/PartTable.tsx:90 msgid "Build Order Allocations" msgstr "" -#: src/tables/part/PartTable.tsx:98 +#: src/tables/part/PartTable.tsx:99 msgid "Sales Order Allocations" msgstr "" -#: src/tables/part/PartTable.tsx:169 +#: src/tables/part/PartTable.tsx:170 msgid "Filter by part active status" msgstr "" -#: src/tables/part/PartTable.tsx:174 -#: src/tables/stock/StockItemTable.tsx:265 +#: src/tables/part/PartTable.tsx:176 +msgid "Filter by part locked status" +msgstr "" + +#: src/tables/part/PartTable.tsx:181 +#: src/tables/stock/StockItemTable.tsx:287 msgid "Assembly" msgstr "" -#: src/tables/part/PartTable.tsx:175 +#: src/tables/part/PartTable.tsx:182 msgid "Filter by assembly attribute" msgstr "" -#: src/tables/part/PartTable.tsx:181 +#: src/tables/part/PartTable.tsx:188 msgid "Include parts in subcategories" msgstr "" -#: src/tables/part/PartTable.tsx:187 +#: src/tables/part/PartTable.tsx:194 msgid "Filter by component attribute" msgstr "" -#: src/tables/part/PartTable.tsx:193 +#: src/tables/part/PartTable.tsx:200 msgid "Filter by trackable attribute" msgstr "" -#: src/tables/part/PartTable.tsx:199 +#: src/tables/part/PartTable.tsx:206 msgid "Filter by parts which have units" msgstr "" -#: src/tables/part/PartTable.tsx:204 +#: src/tables/part/PartTable.tsx:211 msgid "Has IPN" msgstr "" -#: src/tables/part/PartTable.tsx:205 +#: src/tables/part/PartTable.tsx:212 msgid "Filter by parts which have an internal part number" msgstr "" -#: src/tables/part/PartTable.tsx:210 +#: src/tables/part/PartTable.tsx:217 msgid "Has Stock" msgstr "" -#: src/tables/part/PartTable.tsx:211 +#: src/tables/part/PartTable.tsx:218 msgid "Filter by parts which have stock" msgstr "" -#: src/tables/part/PartTable.tsx:217 +#: src/tables/part/PartTable.tsx:224 msgid "Filter by parts which have low stock" msgstr "" -#: src/tables/part/PartTable.tsx:222 +#: src/tables/part/PartTable.tsx:229 msgid "Purchaseable" msgstr "" -#: src/tables/part/PartTable.tsx:223 +#: src/tables/part/PartTable.tsx:230 msgid "Filter by parts which are purchaseable" msgstr "" -#: src/tables/part/PartTable.tsx:228 +#: src/tables/part/PartTable.tsx:235 msgid "Salable" msgstr "" -#: src/tables/part/PartTable.tsx:229 +#: src/tables/part/PartTable.tsx:236 msgid "Filter by parts which are salable" msgstr "" -#: src/tables/part/PartTable.tsx:235 +#: src/tables/part/PartTable.tsx:242 msgid "Filter by parts which are virtual" msgstr "" -#: src/tables/part/PartTable.tsx:239 +#: src/tables/part/PartTable.tsx:246 msgid "Not Virtual" msgstr "" -#: src/tables/part/PartTable.tsx:244 +#: src/tables/part/PartTable.tsx:251 msgid "Is Template" msgstr "" -#: src/tables/part/PartTable.tsx:245 +#: src/tables/part/PartTable.tsx:252 msgid "Filter by parts which are templates" msgstr "" -#: src/tables/part/PartTable.tsx:251 +#: src/tables/part/PartTable.tsx:258 msgid "Filter by parts which have pricing information" msgstr "" -#: src/tables/part/PartTable.tsx:257 +#: src/tables/part/PartTable.tsx:264 msgid "Filter by parts which have available stock" msgstr "" -#: src/tables/part/PartTable.tsx:263 +#: src/tables/part/PartTable.tsx:270 msgid "Filter by parts to which the user is subscribed" msgstr "" -#: src/tables/part/PartTable.tsx:268 +#: src/tables/part/PartTable.tsx:275 msgid "Has Stocktake" msgstr "" -#: src/tables/part/PartTable.tsx:269 +#: src/tables/part/PartTable.tsx:276 msgid "Filter by parts which have stocktake information" msgstr "" @@ -6211,7 +6372,7 @@ msgid "Sample" msgstr "" #: src/tables/plugin/PluginListTable.tsx:578 -#: src/tables/stock/StockItemTable.tsx:305 +#: src/tables/stock/StockItemTable.tsx:327 msgid "Installed" msgstr "" @@ -6486,6 +6647,41 @@ msgstr "" msgid "Edit group" msgstr "" +#: src/tables/settings/ImportSessionTable.tsx:39 +msgid "Delete Import Session" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:45 +#: src/tables/settings/ImportSessionTable.tsx:132 +msgid "Create Import Session" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:70 +msgid "Uploaded" +msgstr "Uploaded" + +#: src/tables/settings/ImportSessionTable.tsx:80 +msgid "Imported Rows" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:110 +#: src/tables/settings/TemplateTable.tsx:276 +msgid "Model Type" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:111 +#: src/tables/settings/TemplateTable.tsx:277 +msgid "Filter by target model type" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:117 +msgid "Filter by import session status" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:123 +msgid "Filter by user" +msgstr "" + #: src/tables/settings/PendingTasksTable.tsx:36 msgid "Arguments" msgstr "" @@ -6502,7 +6698,7 @@ msgstr "" msgid "Delete Project Code" msgstr "" -#: src/tables/settings/ProjectCodeTable.tsx:94 +#: src/tables/settings/ProjectCodeTable.tsx:92 msgid "Add project code" msgstr "" @@ -6571,14 +6767,6 @@ msgstr "" 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 "" @@ -6701,149 +6889,153 @@ msgstr "" msgid "This stock item has been depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:255 +#: src/tables/stock/StockItemTable.tsx:247 +msgid "Stock Value" +msgstr "" + +#: src/tables/stock/StockItemTable.tsx:277 msgid "Show stock for active parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:260 +#: src/tables/stock/StockItemTable.tsx:282 msgid "Filter by stock status" msgstr "" -#: src/tables/stock/StockItemTable.tsx:266 +#: src/tables/stock/StockItemTable.tsx:288 msgid "Show stock for assmebled parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:271 +#: src/tables/stock/StockItemTable.tsx:293 msgid "Show items which have been allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:276 +#: src/tables/stock/StockItemTable.tsx:298 msgid "Show items which are available" msgstr "" -#: src/tables/stock/StockItemTable.tsx:280 +#: src/tables/stock/StockItemTable.tsx:302 #: src/tables/stock/StockLocationTable.tsx:42 msgid "Include Sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:281 +#: src/tables/stock/StockItemTable.tsx:303 msgid "Include stock in sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:285 +#: src/tables/stock/StockItemTable.tsx:307 msgid "Depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:286 +#: src/tables/stock/StockItemTable.tsx:308 msgid "Show depleted stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:291 +#: src/tables/stock/StockItemTable.tsx:313 msgid "Show items which are in stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:296 +#: src/tables/stock/StockItemTable.tsx:318 msgid "Show items which are in production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:301 +#: src/tables/stock/StockItemTable.tsx:323 msgid "Include stock items for variant parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:306 +#: src/tables/stock/StockItemTable.tsx:328 msgid "Show stock items which are installed in other items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:310 +#: src/tables/stock/StockItemTable.tsx:332 msgid "Sent to Customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:311 +#: src/tables/stock/StockItemTable.tsx:333 msgid "Show items which have been sent to a customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:315 +#: src/tables/stock/StockItemTable.tsx:337 msgid "Is Serialized" msgstr "" -#: src/tables/stock/StockItemTable.tsx:316 +#: src/tables/stock/StockItemTable.tsx:338 msgid "Show items which have a serial number" msgstr "" -#: src/tables/stock/StockItemTable.tsx:323 +#: src/tables/stock/StockItemTable.tsx:345 msgid "Has Batch Code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:324 +#: src/tables/stock/StockItemTable.tsx:346 msgid "Show items which have a batch code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:330 +#: src/tables/stock/StockItemTable.tsx:352 msgid "Show tracked items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:334 +#: src/tables/stock/StockItemTable.tsx:356 msgid "Has Purchase Price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:335 +#: src/tables/stock/StockItemTable.tsx:357 msgid "Show items which have a purchase price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:343 +#: src/tables/stock/StockItemTable.tsx:365 msgid "External Location" msgstr "" -#: src/tables/stock/StockItemTable.tsx:344 +#: src/tables/stock/StockItemTable.tsx:366 msgid "Show items in an external location" msgstr "" -#: src/tables/stock/StockItemTable.tsx:416 +#: src/tables/stock/StockItemTable.tsx:438 msgid "Add a new stock item" msgstr "" -#: src/tables/stock/StockItemTable.tsx:425 +#: src/tables/stock/StockItemTable.tsx:447 msgid "Remove some quantity from a stock item" msgstr "" -#: src/tables/stock/StockItemTable.tsx:447 +#: src/tables/stock/StockItemTable.tsx:469 msgid "Move Stock items to new locations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:454 +#: src/tables/stock/StockItemTable.tsx:476 msgid "Change stock status" msgstr "" -#: src/tables/stock/StockItemTable.tsx:456 +#: src/tables/stock/StockItemTable.tsx:478 msgid "Change the status of stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:463 +#: src/tables/stock/StockItemTable.tsx:485 msgid "Merge stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:465 +#: src/tables/stock/StockItemTable.tsx:487 msgid "Merge stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:472 +#: src/tables/stock/StockItemTable.tsx:494 msgid "Order stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:474 -#: src/tables/stock/StockItemTable.tsx:480 +#: src/tables/stock/StockItemTable.tsx:496 +#: src/tables/stock/StockItemTable.tsx:502 msgid "Order new stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:478 +#: src/tables/stock/StockItemTable.tsx:500 msgid "Assign to customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:487 +#: src/tables/stock/StockItemTable.tsx:509 msgid "Delete stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:489 +#: src/tables/stock/StockItemTable.tsx:511 msgid "Delete stock items" msgstr "" @@ -6999,4 +7191,3 @@ msgstr "" #: src/views/MobileAppView.tsx:35 msgid "Ignore and continue to Desktop view" msgstr "" - diff --git a/src/frontend/src/locales/ru/messages.po b/src/frontend/src/locales/ru/messages.po index 89e38964b584..8c24f384e3d0 100644 --- a/src/frontend/src/locales/ru/messages.po +++ b/src/frontend/src/locales/ru/messages.po @@ -49,16 +49,18 @@ msgstr "" #: src/components/buttons/PrintingActions.tsx:107 #: src/components/buttons/PrintingActions.tsx:144 #: src/components/editors/NotesEditor.tsx:65 -#: src/components/editors/NotesEditor.tsx:160 -#: src/components/forms/ApiForm.tsx:506 -#: src/components/forms/fields/ApiFormField.tsx:295 +#: src/components/editors/NotesEditor.tsx:165 +#: src/components/forms/ApiForm.tsx:513 +#: src/components/forms/fields/ApiFormField.tsx:306 +#: src/components/importer/ImportDataSelector.tsx:171 +#: src/components/importer/ImporterColumnSelector.tsx:112 #: src/components/modals/LicenseModal.tsx:75 #: src/components/nav/SearchDrawer.tsx:427 #: src/pages/ErrorPage.tsx:11 #: src/pages/part/PartPricingPanel.tsx:71 -#: src/tables/InvenTreeTable.tsx:451 -#: src/tables/InvenTreeTable.tsx:526 -#: src/tables/bom/BomTable.tsx:363 +#: src/tables/InvenTreeTable.tsx:470 +#: src/tables/InvenTreeTable.tsx:545 +#: src/tables/bom/BomTable.tsx:366 #: src/tables/stock/StockItemTestResultTable.tsx:294 msgid "Error" msgstr "Ошибка" @@ -157,7 +159,7 @@ msgstr "Удалить" #: src/functions/forms.tsx:196 #: src/hooks/UseForm.tsx:40 #: src/tables/FilterSelectDrawer.tsx:204 -#: src/tables/InvenTreeTable.tsx:499 +#: src/tables/InvenTreeTable.tsx:518 #: src/tables/build/BuildOutputTable.tsx:225 msgid "Cancel" msgstr "Отменить" @@ -175,7 +177,7 @@ msgid "Clear" msgstr "Очистить" #: src/components/details/DetailsImage.tsx:227 -#: src/components/forms/ApiForm.tsx:573 +#: src/components/forms/ApiForm.tsx:580 #: src/contexts/ThemeContext.tsx:43 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:56 msgid "Submit" @@ -202,48 +204,61 @@ msgid "Delete image" msgstr "" #: src/components/details/PartIcons.tsx:28 +#: src/tables/ColumnRenderers.tsx:35 +msgid "Part is locked" +msgstr "" + +#: src/components/details/PartIcons.tsx:30 +#: src/pages/part/PartDetail.tsx:267 +#: src/pages/part/PartDetail.tsx:698 +#: src/tables/part/PartTable.tsx:175 +msgid "Locked" +msgstr "" + +#: src/components/details/PartIcons.tsx:35 +#: src/tables/ColumnRenderers.tsx:30 msgid "Part is not active" msgstr "" -#: src/components/details/PartIcons.tsx:34 +#: src/components/details/PartIcons.tsx:37 #: src/components/render/Plugin.tsx:17 #: src/pages/company/CompanyDetail.tsx:315 #: src/pages/company/SupplierPartDetail.tsx:307 -#: src/pages/part/PartDetail.tsx:685 +#: src/pages/part/PartDetail.tsx:704 msgid "Inactive" msgstr "" -#: src/components/details/PartIcons.tsx:41 +#: src/components/details/PartIcons.tsx:43 msgid "Part is a template part (variants can be made from this part)" msgstr "" -#: src/components/details/PartIcons.tsx:47 +#: src/components/details/PartIcons.tsx:49 msgid "Part can be assembled from other parts" msgstr "" -#: src/components/details/PartIcons.tsx:53 +#: src/components/details/PartIcons.tsx:55 msgid "Part can be used in assemblies" msgstr "" -#: src/components/details/PartIcons.tsx:59 +#: src/components/details/PartIcons.tsx:61 msgid "Part stock is tracked by serial number" msgstr "" -#: src/components/details/PartIcons.tsx:65 +#: src/components/details/PartIcons.tsx:67 msgid "Part can be purchased from external suppliers" msgstr "" -#: src/components/details/PartIcons.tsx:71 +#: src/components/details/PartIcons.tsx:73 msgid "Part can be sold to customers" msgstr "" -#: src/components/details/PartIcons.tsx:76 +#: src/components/details/PartIcons.tsx:78 msgid "Part is virtual (not a physical part)" msgstr "" -#: src/components/details/PartIcons.tsx:82 -#: src/tables/part/PartTable.tsx:234 -#: src/tables/part/PartTable.tsx:238 +#: src/components/details/PartIcons.tsx:84 +#: src/tables/part/PartTable.tsx:241 +#: src/tables/part/PartTable.tsx:245 #: src/tables/part/PartVariantTable.tsx:25 msgid "Virtual" msgstr "" @@ -252,29 +267,29 @@ msgstr "" msgid "Image upload failed" msgstr "" -#: src/components/editors/NotesEditor.tsx:151 -#: src/components/forms/ApiForm.tsx:430 -#: src/tables/bom/BomTable.tsx:354 +#: src/components/editors/NotesEditor.tsx:156 +#: src/components/forms/ApiForm.tsx:437 +#: src/tables/bom/BomTable.tsx:357 msgid "Success" msgstr "Успешно" -#: src/components/editors/NotesEditor.tsx:152 +#: src/components/editors/NotesEditor.tsx:157 msgid "Notes saved successfully" msgstr "" -#: src/components/editors/NotesEditor.tsx:161 +#: src/components/editors/NotesEditor.tsx:166 msgid "Failed to save notes" msgstr "" -#: src/components/editors/NotesEditor.tsx:193 +#: src/components/editors/NotesEditor.tsx:198 msgid "Preview Notes" msgstr "" -#: src/components/editors/NotesEditor.tsx:193 +#: src/components/editors/NotesEditor.tsx:198 msgid "Edit Notes" msgstr "" -#: src/components/editors/NotesEditor.tsx:207 +#: src/components/editors/NotesEditor.tsx:212 msgid "Save Notes" msgstr "" @@ -407,7 +422,7 @@ msgstr "" msgid "A server error occurred" msgstr "" -#: src/components/forms/ApiForm.tsx:149 +#: src/components/forms/ApiForm.tsx:151 #: src/functions/forms.tsx:259 msgid "Form Error" msgstr "Ошибка формы" @@ -416,18 +431,18 @@ msgstr "Ошибка формы" #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:611 +#: src/components/forms/ApiForm.tsx:618 #: src/tables/plugin/PluginListTable.tsx:388 msgid "Update" msgstr "Обновить" -#: src/components/forms/ApiForm.tsx:631 +#: src/components/forms/ApiForm.tsx:638 #: 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:498 +#: src/tables/InvenTreeTable.tsx:517 #: src/tables/RowActions.tsx:71 #: src/tables/plugin/PluginListTable.tsx:420 msgid "Delete" @@ -600,7 +615,7 @@ msgstr "Узел" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:70 #: src/pages/part/CategoryDetail.tsx:80 -#: src/pages/part/PartDetail.tsx:122 +#: src/pages/part/PartDetail.tsx:123 #: src/pages/stock/LocationDetail.tsx:87 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 @@ -685,6 +700,124 @@ msgstr "" msgid "Thumbnail" msgstr "Миниатюра" +#: src/components/importer/ImportDataSelector.tsx:154 +msgid "Importing Rows" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:155 +msgid "Please wait while the data is imported" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:172 +msgid "An error occurred while importing data" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:191 +msgid "Edit Data" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:218 +msgid "Delete Row" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:248 +msgid "Row" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:266 +msgid "Row contains errors" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:307 +msgid "Accept" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:340 +msgid "Valid" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:341 +msgid "Filter by row validation status" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:346 +#: src/tables/build/BuildOutputTable.tsx:205 +msgid "Complete" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:347 +msgid "Filter by row completion status" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:364 +msgid "Import selected rows" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:46 +#: src/components/importer/ImporterColumnSelector.tsx:85 +msgid "An error occurred" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:57 +msgid "Select column, or leave blank to ignore this field." +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:91 +msgid "Select a column from the data file" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:104 +msgid "Map data columns to database fields" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:109 +msgid "Accept Column Mapping" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:117 +msgid "Database Field" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:118 +msgid "Field Description" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:119 +msgid "Imported Column Name" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:44 +msgid "Import Data" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:45 +msgid "Map Columns" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:46 +msgid "Process Data" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:47 +msgid "Complete Import" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:91 +msgid "Importing Data" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:97 +msgid "Cancel import session" +msgstr "" + +#: src/components/importer/ImporterImportProgress.tsx:36 +msgid "Importing Records" +msgstr "" + +#: src/components/importer/ImporterImportProgress.tsx:39 +msgid "Imported rows" +msgstr "" + #: src/components/items/ActionDropdown.tsx:119 #: src/pages/build/BuildDetail.tsx:358 msgid "Barcode Actions" @@ -738,7 +871,7 @@ msgid "Read More" msgstr "Подробнее" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:443 +#: src/tables/InvenTreeTable.tsx:462 msgid "Unknown error" msgstr "Неизвестная ошибка" @@ -1039,13 +1172,13 @@ msgstr "Настройки аккаунта" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:313 +#: src/pages/Index/Settings/SystemSettings.tsx:314 msgid "System Settings" msgstr "" #: src/components/nav/MainMenu.tsx:67 #: src/defaults/menuItems.tsx:63 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:198 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:209 msgid "Admin Center" msgstr "" @@ -1088,7 +1221,7 @@ msgid "Pages" msgstr "Страницы" #: src/components/nav/NavigationDrawer.tsx:65 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:157 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:168 #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:41 msgid "Plugins" msgstr "Плагины" @@ -1102,7 +1235,7 @@ msgstr "Документация" msgid "About" msgstr "" -#: src/components/nav/NotificationDrawer.tsx:78 +#: src/components/nav/NotificationDrawer.tsx:81 #: src/pages/Index/Settings/SystemSettings.tsx:108 #: src/pages/Index/Settings/UserSettings.tsx:96 #: src/pages/Notifications.tsx:65 @@ -1110,17 +1243,17 @@ msgstr "" msgid "Notifications" msgstr "Уведомления" -#: src/components/nav/NotificationDrawer.tsx:95 +#: src/components/nav/NotificationDrawer.tsx:98 msgid "You have no unread notifications." msgstr "У вас нет непрочитанных уведомлений." -#: src/components/nav/NotificationDrawer.tsx:111 -#: src/components/nav/NotificationDrawer.tsx:117 +#: src/components/nav/NotificationDrawer.tsx:114 +#: src/components/nav/NotificationDrawer.tsx:120 #: src/tables/notifications/NotificationsTable.tsx:36 msgid "Notification" msgstr "" -#: src/components/nav/NotificationDrawer.tsx:140 +#: src/components/nav/NotificationDrawer.tsx:143 #: src/pages/Notifications.tsx:73 msgid "Mark as read" msgstr "Пометить как прочитанное" @@ -1157,7 +1290,7 @@ msgstr "Нет результатов" msgid "No results available for search query" msgstr "Нет доступных результатов для поискового запроса" -#: src/components/render/Instance.tsx:166 +#: src/components/render/Instance.tsx:201 msgid "Unknown model: {model}" msgstr "Неизвестная модель: {model}" @@ -1172,7 +1305,8 @@ msgstr "Неизвестная модель: {model}" #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 #: src/pages/build/BuildDetail.tsx:85 -#: src/pages/part/PartDetail.tsx:831 +#: src/pages/part/PartDetail.tsx:872 +#: src/tables/part/PartTable.tsx:28 #: src/tables/part/RelatedPartTable.tsx:45 #: src/tables/stock/StockTrackingTable.tsx:74 msgid "Part" @@ -1185,7 +1319,7 @@ msgstr "" #: src/pages/part/CategoryDetail.tsx:112 #: src/pages/part/CategoryDetail.tsx:237 #: src/pages/part/CategoryDetail.tsx:267 -#: src/pages/part/PartDetail.tsx:639 +#: src/pages/part/PartDetail.tsx:652 msgid "Parts" msgstr "Детали" @@ -1235,7 +1369,7 @@ msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:172 #: src/pages/part/CategoryDetail.tsx:251 #: src/pages/part/CategoryDetail.tsx:288 -#: src/pages/part/PartDetail.tsx:821 +#: src/pages/part/PartDetail.tsx:862 msgid "Part Categories" msgstr "Категории деталей" @@ -1317,7 +1451,7 @@ msgid "Project Code" msgstr "" #: src/components/render/ModelType.tsx:127 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:109 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:120 msgid "Project Codes" msgstr "" @@ -1329,10 +1463,10 @@ msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:134 -#: src/pages/Index/Settings/SystemSettings.tsx:257 +#: src/pages/Index/Settings/SystemSettings.tsx:258 #: src/pages/company/CompanyDetail.tsx:194 #: src/pages/company/SupplierPartDetail.tsx:226 -#: src/pages/part/PartDetail.tsx:573 +#: src/pages/part/PartDetail.tsx:586 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "Заказы на закупку" @@ -1354,9 +1488,9 @@ msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:272 +#: src/pages/Index/Settings/SystemSettings.tsx:273 #: src/pages/company/CompanyDetail.tsx:214 -#: src/pages/part/PartDetail.tsx:580 +#: src/pages/part/PartDetail.tsx:593 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "Заказы на продажу" @@ -1376,7 +1510,7 @@ msgid "Return Order" msgstr "" #: src/components/render/ModelType.tsx:164 -#: src/pages/Index/Settings/SystemSettings.tsx:288 +#: src/pages/Index/Settings/SystemSettings.tsx:289 #: src/pages/company/CompanyDetail.tsx:221 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1413,40 +1547,49 @@ msgid "Owners" msgstr "" #: src/components/render/ModelType.tsx:193 +#: src/tables/settings/ImportSessionTable.tsx:122 #: src/tables/stock/StockItemTestResultTable.tsx:193 #: src/tables/stock/StockTrackingTable.tsx:195 msgid "User" msgstr "" #: src/components/render/ModelType.tsx:194 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:85 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:90 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" msgstr "" #: src/components/render/ModelType.tsx:200 -msgid "Label Template" +msgid "Import Session" msgstr "" #: src/components/render/ModelType.tsx:201 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:139 -msgid "Label Templates" +msgid "Import Sessions" msgstr "" #: src/components/render/ModelType.tsx:207 -msgid "Report Template" +msgid "Label Template" msgstr "" #: src/components/render/ModelType.tsx:208 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:145 -msgid "Report Templates" +#: src/pages/Index/Settings/AdminCenter/Index.tsx:150 +msgid "Label Templates" msgstr "" #: src/components/render/ModelType.tsx:214 -msgid "Plugin Configuration" +msgid "Report Template" msgstr "" #: src/components/render/ModelType.tsx:215 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:156 +msgid "Report Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:221 +msgid "Plugin Configuration" +msgstr "" + +#: src/components/render/ModelType.tsx:222 msgid "Plugin Configurations" msgstr "" @@ -1458,7 +1601,7 @@ msgstr "" #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 #: src/pages/Index/Settings/SystemSettings.tsx:210 -#: src/pages/part/PartDetail.tsx:492 +#: src/pages/part/PartDetail.tsx:503 #: src/pages/stock/LocationDetail.tsx:347 #: src/pages/stock/StockDetail.tsx:356 #: src/tables/stock/StockItemTable.tsx:57 @@ -1641,10 +1784,6 @@ msgstr "" #~ msgid "Comment" #~ msgstr "Comment" -#: src/components/tables/general/AttachmentTable.tsx:56 -#~ msgid "Uploaded" -#~ msgstr "Uploaded" - #: src/components/tables/part/PartCategoryTable.tsx:122 #~ msgid "Part category updated" #~ msgstr "Part category updated" @@ -2157,7 +2296,7 @@ msgid "Recently Updated" msgstr "" #: src/defaults/dashboardItems.tsx:50 -#: src/tables/part/PartTable.tsx:216 +#: src/tables/part/PartTable.tsx:223 msgid "Low Stock" msgstr "" @@ -2466,7 +2605,7 @@ msgstr "" #~ msgid "Company updated" #~ msgstr "Company updated" -#: src/forms/PartForms.tsx:100 +#: src/forms/PartForms.tsx:103 msgid "Parent part category" msgstr "" @@ -2534,7 +2673,7 @@ msgstr "" #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 #: src/pages/stock/StockDetail.tsx:173 -#: src/tables/ColumnRenderers.tsx:34 +#: src/tables/ColumnRenderers.tsx:49 #: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" msgstr "" @@ -2585,8 +2724,8 @@ msgstr "" #: src/forms/StockForms.tsx:176 #: src/pages/stock/StockDetail.tsx:379 -#: src/tables/stock/StockItemTable.tsx:382 -#: src/tables/stock/StockItemTable.tsx:499 +#: src/tables/stock/StockItemTable.tsx:404 +#: src/tables/stock/StockItemTable.tsx:521 msgid "Add Stock Item" msgstr "" @@ -2606,9 +2745,9 @@ msgstr "" #: src/forms/StockForms.tsx:606 #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 -#: src/pages/part/PartDetail.tsx:202 -#: src/pages/part/PartDetail.tsx:655 -#: src/tables/stock/StockItemTable.tsx:290 +#: src/pages/part/PartDetail.tsx:203 +#: src/pages/part/PartDetail.tsx:668 +#: src/tables/stock/StockItemTable.tsx:312 msgid "In Stock" msgstr "" @@ -2649,12 +2788,12 @@ msgid "Remove Stock" msgstr "" #: src/forms/StockForms.tsx:803 -#: src/pages/part/PartDetail.tsx:782 +#: src/pages/part/PartDetail.tsx:823 msgid "Transfer Stock" msgstr "" #: src/forms/StockForms.tsx:812 -#: src/pages/part/PartDetail.tsx:771 +#: src/pages/part/PartDetail.tsx:812 msgid "Count Stock" msgstr "" @@ -3279,53 +3418,57 @@ msgstr "" #~ msgid "Advanced Amininistrative Options for InvenTree" #~ msgstr "Advanced Amininistrative Options for InvenTree" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:91 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:96 +msgid "Data Import" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:102 msgid "Background Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:97 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:108 msgid "Error Reports" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:103 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:114 msgid "Currencies" 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:132 msgid "Custom Units" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:138 #: src/pages/part/CategoryDetail.tsx:257 msgid "Part Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 -#~ msgid "Templates" -#~ msgstr "Templates" - -#: src/pages/Index/Settings/AdminCenter/Index.tsx:133 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:144 msgid "Category Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:151 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:162 msgid "Location types" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:163 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:174 #: src/tables/machine/MachineTypeTable.tsx:287 msgid "Machines" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:173 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:184 msgid "Quick Actions" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:178 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:189 msgid "Add a new user" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:199 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:210 msgid "Advanced Options" msgstr "" @@ -3477,7 +3620,7 @@ msgid "Reporting" msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:235 -#: src/pages/part/PartDetail.tsx:593 +#: src/pages/part/PartDetail.tsx:606 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" @@ -3485,12 +3628,12 @@ msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:241 #: src/pages/build/BuildDetail.tsx:423 #: src/pages/build/BuildIndex.tsx:14 -#: src/pages/part/PartDetail.tsx:527 +#: src/pages/part/PartDetail.tsx:540 #: src/pages/sales/SalesOrderDetail.tsx:270 msgid "Build Orders" msgstr "Заказы на сборку" -#: src/pages/Index/Settings/SystemSettings.tsx:316 +#: src/pages/Index/Settings/SystemSettings.tsx:317 msgid "Switch to User Setting" msgstr "" @@ -3555,7 +3698,8 @@ msgstr "" #: 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/settings/ImportSessionTable.tsx:116 +#: src/tables/stock/StockItemTable.tsx:281 #: src/tables/stock/StockTrackingTable.tsx:52 msgid "Status" msgstr "" @@ -3564,7 +3708,7 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:104 #: src/pages/sales/ReturnOrderDetail.tsx:73 #: src/pages/sales/SalesOrderDetail.tsx:77 -#: src/tables/ColumnRenderers.tsx:106 +#: src/tables/ColumnRenderers.tsx:121 #: src/tables/build/BuildLineTable.tsx:140 msgid "Reference" msgstr "" @@ -3574,12 +3718,12 @@ msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:78 #: src/pages/company/SupplierPartDetail.tsx:85 #: src/pages/part/CategoryDetail.tsx:94 -#: src/pages/part/PartDetail.tsx:129 +#: src/pages/part/PartDetail.tsx:130 #: src/pages/purchasing/PurchaseOrderDetail.tsx:125 #: src/pages/sales/ReturnOrderDetail.tsx:93 #: src/pages/sales/SalesOrderDetail.tsx:97 #: src/pages/stock/LocationDetail.tsx:101 -#: src/tables/ColumnRenderers.tsx:66 +#: src/tables/ColumnRenderers.tsx:81 #: src/tables/machine/MachineTypeTable.tsx:69 #: src/tables/machine/MachineTypeTable.tsx:112 #: src/tables/machine/MachineTypeTable.tsx:219 @@ -3610,7 +3754,7 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:152 -#: src/pages/part/PartDetail.tsx:317 +#: src/pages/part/PartDetail.tsx:323 #: src/pages/purchasing/PurchaseOrderDetail.tsx:217 #: src/pages/sales/ReturnOrderDetail.tsx:186 #: src/pages/sales/SalesOrderDetail.tsx:190 @@ -3630,7 +3774,7 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:210 #: src/pages/sales/ReturnOrderDetail.tsx:179 #: src/pages/sales/SalesOrderDetail.tsx:183 -#: src/tables/ColumnRenderers.tsx:191 +#: src/tables/ColumnRenderers.tsx:206 msgid "Target Date" msgstr "" @@ -3711,7 +3855,7 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:297 #: src/pages/company/CompanyDetail.tsx:257 #: src/pages/company/ManufacturerPartDetail.tsx:174 -#: src/pages/part/PartDetail.tsx:616 +#: src/pages/part/PartDetail.tsx:629 #: src/pages/purchasing/PurchaseOrderDetail.tsx:279 #: src/pages/sales/ReturnOrderDetail.tsx:230 #: src/pages/sales/SalesOrderDetail.tsx:280 @@ -3721,7 +3865,7 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:305 #: src/pages/company/CompanyDetail.tsx:268 -#: src/pages/part/PartDetail.tsx:624 +#: src/pages/part/PartDetail.tsx:637 #: src/pages/purchasing/PurchaseOrderDetail.tsx:290 #: src/pages/sales/ReturnOrderDetail.tsx:241 #: src/pages/sales/SalesOrderDetail.tsx:291 @@ -3877,12 +4021,12 @@ msgid "Manufacturer Part Details" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:148 -#: src/pages/part/PartDetail.tsx:486 +#: src/pages/part/PartDetail.tsx:492 msgid "Parameters" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:160 -#: src/pages/part/PartDetail.tsx:560 +#: src/pages/part/PartDetail.tsx:573 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" msgstr "" @@ -3907,7 +4051,7 @@ msgid "ManufacturerPart" msgstr "" #: src/pages/company/SupplierPartDetail.tsx:99 -#: src/tables/ColumnRenderers.tsx:117 +#: src/tables/ColumnRenderers.tsx:132 msgid "Note" msgstr "" @@ -4043,275 +4187,275 @@ msgstr "" msgid "Category Details" msgstr "" -#: src/pages/part/PartDetail.tsx:135 +#: src/pages/part/PartDetail.tsx:136 msgid "Variant of" msgstr "" -#: src/pages/part/PartDetail.tsx:142 +#: src/pages/part/PartDetail.tsx:143 #: src/tables/notifications/NotificationsTable.tsx:31 #: src/tables/part/PartCategoryTemplateTable.tsx:67 msgid "Category" msgstr "" -#: src/pages/part/PartDetail.tsx:148 +#: src/pages/part/PartDetail.tsx:149 msgid "Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:155 +#: src/pages/part/PartDetail.tsx:156 msgid "Category Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:162 +#: src/pages/part/PartDetail.tsx:163 msgid "IPN" msgstr "" -#: src/pages/part/PartDetail.tsx:169 +#: src/pages/part/PartDetail.tsx:170 msgid "Revision" msgstr "" -#: src/pages/part/PartDetail.tsx:176 +#: src/pages/part/PartDetail.tsx:177 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" msgstr "" -#: src/pages/part/PartDetail.tsx:183 +#: src/pages/part/PartDetail.tsx:184 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:190 +#: src/pages/part/PartDetail.tsx:191 #: src/pages/purchasing/PurchaseOrderDetail.tsx:183 #: src/pages/sales/ReturnOrderDetail.tsx:152 #: src/pages/sales/SalesOrderDetail.tsx:156 msgid "Link" msgstr "" -#: src/pages/part/PartDetail.tsx:208 -#: src/tables/bom/BomTable.tsx:276 +#: src/pages/part/PartDetail.tsx:209 +#: src/tables/bom/BomTable.tsx:279 #: src/tables/build/BuildLineTable.tsx:121 -#: src/tables/part/PartTable.tsx:256 +#: src/tables/part/PartTable.tsx:263 msgid "Available Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:215 +#: src/pages/part/PartDetail.tsx:216 msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:221 -#: src/tables/bom/BomTable.tsx:217 +#: src/pages/part/PartDetail.tsx:222 +#: src/tables/bom/BomTable.tsx:220 #: src/tables/build/BuildLineTable.tsx:95 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:230 +#: src/pages/part/PartDetail.tsx:231 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:238 +#: src/pages/part/PartDetail.tsx:239 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:245 -#: src/tables/bom/BomTable.tsx:241 +#: src/pages/part/PartDetail.tsx:246 +#: src/tables/bom/BomTable.tsx:244 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:252 -#: src/tables/bom/BomTable.tsx:225 -#: src/tables/part/PartTable.tsx:82 +#: src/pages/part/PartDetail.tsx:253 +#: src/tables/bom/BomTable.tsx:228 +#: src/tables/part/PartTable.tsx:83 msgid "Building" msgstr "" -#: src/pages/part/PartDetail.tsx:261 +#: src/pages/part/PartDetail.tsx:262 #: src/tables/bom/UsedInTable.tsx:73 #: src/tables/build/BuildOrderTable.tsx:108 #: src/tables/company/CompanyTable.tsx:61 #: src/tables/company/CompanyTable.tsx:95 #: src/tables/machine/MachineListTable.tsx:323 #: src/tables/machine/MachineListTable.tsx:585 -#: src/tables/part/PartTable.tsx:168 +#: src/tables/part/PartTable.tsx:169 #: src/tables/part/PartVariantTable.tsx:15 #: 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 +#: src/tables/stock/StockItemTable.tsx:276 msgid "Active" msgstr "" -#: src/pages/part/PartDetail.tsx:266 +#: src/pages/part/PartDetail.tsx:272 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:271 -#: src/tables/bom/BomTable.tsx:271 +#: src/pages/part/PartDetail.tsx:277 +#: src/tables/bom/BomTable.tsx:274 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:276 +#: src/pages/part/PartDetail.tsx:282 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:281 -#: src/tables/bom/BomTable.tsx:266 +#: src/pages/part/PartDetail.tsx:287 +#: src/tables/bom/BomTable.tsx:269 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:286 +#: src/pages/part/PartDetail.tsx:292 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:291 +#: src/pages/part/PartDetail.tsx:297 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:296 +#: src/pages/part/PartDetail.tsx:302 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:304 -#: src/tables/ColumnRenderers.tsx:199 +#: src/pages/part/PartDetail.tsx:310 +#: src/tables/ColumnRenderers.tsx:214 msgid "Creation Date" msgstr "" -#: src/pages/part/PartDetail.tsx:309 -msgid "Created By" -msgstr "" - #: src/pages/part/PartDetail.tsx:310 #~ msgid "Edit part" #~ msgstr "Edit part" +#: src/pages/part/PartDetail.tsx:315 +msgid "Created By" +msgstr "" + #: src/pages/part/PartDetail.tsx:322 #~ msgid "Duplicate part" #~ msgstr "Duplicate part" -#: src/pages/part/PartDetail.tsx:324 -msgid "Default Supplier" -msgstr "" - #: src/pages/part/PartDetail.tsx:327 #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:335 +#: src/pages/part/PartDetail.tsx:330 +msgid "Default Supplier" +msgstr "" + +#: src/pages/part/PartDetail.tsx:341 #: src/pages/part/pricing/BomPricingPanel.tsx:78 #: src/pages/part/pricing/VariantPricingPanel.tsx:95 -#: src/tables/part/PartTable.tsx:151 +#: src/tables/part/PartTable.tsx:152 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:374 +#: src/pages/part/PartDetail.tsx:380 #: src/pages/stock/StockDetail.tsx:133 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:409 +#: src/pages/part/PartDetail.tsx:415 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:480 +#: src/pages/part/PartDetail.tsx:486 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:506 +#: src/pages/part/PartDetail.tsx:517 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:513 +#: src/pages/part/PartDetail.tsx:524 #: src/pages/stock/StockDetail.tsx:286 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:520 +#: src/pages/part/PartDetail.tsx:531 msgid "Bill of Materials" msgstr "" -#: src/pages/part/PartDetail.tsx:534 +#: src/pages/part/PartDetail.tsx:547 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:541 +#: src/pages/part/PartDetail.tsx:554 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:547 +#: src/pages/part/PartDetail.tsx:560 #: src/pages/purchasing/PurchasingIndex.tsx:37 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:587 +#: src/pages/part/PartDetail.tsx:600 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:599 +#: src/pages/part/PartDetail.tsx:612 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:610 +#: src/pages/part/PartDetail.tsx:623 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:661 +#: src/pages/part/PartDetail.tsx:674 #: src/pages/stock/StockDetail.tsx:154 #: src/pages/stock/StockDetail.tsx:533 #: src/tables/build/BuildLineTable.tsx:36 -#: src/tables/part/PartTable.tsx:107 +#: src/tables/part/PartTable.tsx:108 #: src/tables/stock/StockItemTable.tsx:166 -#: src/tables/stock/StockItemTable.tsx:275 +#: src/tables/stock/StockItemTable.tsx:297 msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:667 +#: src/pages/part/PartDetail.tsx:680 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:673 -#: src/tables/bom/BomTable.tsx:281 -#: src/tables/part/PartTable.tsx:76 +#: src/pages/part/PartDetail.tsx:686 +#: src/tables/bom/BomTable.tsx:284 +#: src/tables/part/PartTable.tsx:77 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:679 +#: src/pages/part/PartDetail.tsx:692 #: src/pages/stock/StockDetail.tsx:516 -#: src/tables/stock/StockItemTable.tsx:295 +#: src/tables/stock/StockItemTable.tsx:317 msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:698 +#: src/pages/part/PartDetail.tsx:717 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:705 -#: src/tables/part/PartTable.tsx:289 -#: src/tables/part/PartTable.tsx:302 +#: src/pages/part/PartDetail.tsx:744 +#: src/tables/part/PartTable.tsx:296 +#: src/tables/part/PartTable.tsx:309 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:717 +#: src/pages/part/PartDetail.tsx:758 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:726 +#: src/pages/part/PartDetail.tsx:767 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:764 +#: src/pages/part/PartDetail.tsx:805 #: src/pages/stock/LocationDetail.tsx:304 -#: src/tables/stock/StockItemTable.tsx:409 +#: src/tables/stock/StockItemTable.tsx:431 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:772 +#: src/pages/part/PartDetail.tsx:813 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:824 msgid "Transfer part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:792 +#: src/pages/part/PartDetail.tsx:833 msgid "Part Actions" msgstr "" @@ -4359,8 +4503,8 @@ msgstr "" #: src/pages/part/pricing/BomPricingPanel.tsx:57 #: src/pages/part/pricing/BomPricingPanel.tsx:137 -#: src/tables/ColumnRenderers.tsx:241 -#: src/tables/bom/BomTable.tsx:165 +#: src/tables/ColumnRenderers.tsx:256 +#: src/tables/bom/BomTable.tsx:168 #: src/tables/purchasing/PurchaseOrderTable.tsx:112 #: src/tables/sales/ReturnOrderTable.tsx:104 #: src/tables/sales/SalesOrderTable.tsx:134 @@ -4369,7 +4513,7 @@ msgstr "" #: src/pages/part/pricing/BomPricingPanel.tsx:77 #: src/pages/part/pricing/BomPricingPanel.tsx:101 -#: src/tables/part/PartTable.tsx:186 +#: src/tables/part/PartTable.tsx:193 msgid "Component" msgstr "" @@ -4398,7 +4542,7 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:67 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:128 #: src/pages/part/pricing/SupplierPricingPanel.tsx:62 -#: src/tables/bom/BomTable.tsx:156 +#: src/tables/bom/BomTable.tsx:159 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 msgid "Unit Price" @@ -4498,7 +4642,7 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:40 #: src/pages/part/pricing/SaleHistoryPanel.tsx:36 -#: src/tables/ColumnRenderers.tsx:180 +#: src/tables/ColumnRenderers.tsx:195 #: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" @@ -4771,12 +4915,12 @@ msgid "Count stock" msgstr "" #: src/pages/stock/StockDetail.tsx:459 -#: src/tables/stock/StockItemTable.tsx:414 +#: src/tables/stock/StockItemTable.tsx:436 msgid "Add stock" msgstr "" #: src/pages/stock/StockDetail.tsx:467 -#: src/tables/stock/StockItemTable.tsx:423 +#: src/tables/stock/StockItemTable.tsx:445 msgid "Remove stock" msgstr "" @@ -4785,7 +4929,7 @@ msgid "Transfer" msgstr "" #: src/pages/stock/StockDetail.tsx:475 -#: src/tables/stock/StockItemTable.tsx:443 +#: src/tables/stock/StockItemTable.tsx:465 msgid "Transfer stock" msgstr "" @@ -4793,15 +4937,15 @@ msgstr "" msgid "Stock Item Actions" msgstr "" -#: src/tables/ColumnRenderers.tsx:42 +#: src/tables/ColumnRenderers.tsx:57 msgid "No location set" msgstr "" -#: src/tables/ColumnRenderers.tsx:207 +#: src/tables/ColumnRenderers.tsx:222 msgid "Shipment Date" msgstr "" -#: src/tables/ColumnRenderers.tsx:227 +#: src/tables/ColumnRenderers.tsx:242 #: src/tables/settings/CurrencyTable.tsx:23 msgid "Currency" msgstr "" @@ -4828,14 +4972,14 @@ msgid "TSV" msgstr "TSV" #: src/tables/DownloadAction.tsx:24 -msgid "Excel (.xls)" -msgstr "" - -#: src/tables/DownloadAction.tsx:25 msgid "Excel (.xlsx)" msgstr "" -#: src/tables/DownloadAction.tsx:39 +#: src/tables/DownloadAction.tsx:24 +#~ msgid "Excel (.xls)" +#~ msgstr "" + +#: src/tables/DownloadAction.tsx:38 msgid "Download Data" msgstr "" @@ -4900,54 +5044,54 @@ msgstr "Добавить фильтр" msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:119 -#: src/tables/InvenTreeTable.tsx:390 -#: src/tables/InvenTreeTable.tsx:411 +#: src/tables/InvenTreeTable.tsx:126 +#: src/tables/InvenTreeTable.tsx:409 +#: src/tables/InvenTreeTable.tsx:430 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:422 +#: src/tables/InvenTreeTable.tsx:441 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:430 +#: src/tables/InvenTreeTable.tsx:449 msgid "Bad request" msgstr "" -#: src/tables/InvenTreeTable.tsx:433 +#: src/tables/InvenTreeTable.tsx:452 msgid "Unauthorized" msgstr "" -#: src/tables/InvenTreeTable.tsx:436 +#: src/tables/InvenTreeTable.tsx:455 msgid "Forbidden" msgstr "" -#: src/tables/InvenTreeTable.tsx:439 +#: src/tables/InvenTreeTable.tsx:458 msgid "Not found" msgstr "" -#: src/tables/InvenTreeTable.tsx:488 -#: src/tables/InvenTreeTable.tsx:606 +#: src/tables/InvenTreeTable.tsx:507 +#: src/tables/InvenTreeTable.tsx:623 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:492 +#: src/tables/InvenTreeTable.tsx:511 msgid "Are you sure you want to delete the selected records?" msgstr "" -#: src/tables/InvenTreeTable.tsx:494 +#: src/tables/InvenTreeTable.tsx:513 msgid "This action cannot be undone!" msgstr "" -#: src/tables/InvenTreeTable.tsx:517 +#: src/tables/InvenTreeTable.tsx:536 msgid "Deleted records" msgstr "" -#: src/tables/InvenTreeTable.tsx:518 +#: src/tables/InvenTreeTable.tsx:537 msgid "Records were deleted successfully" msgstr "" -#: src/tables/InvenTreeTable.tsx:527 +#: src/tables/InvenTreeTable.tsx:546 msgid "Failed to delete records" msgstr "" @@ -4956,140 +5100,144 @@ msgstr "" #~ msgid "Print actions" #~ msgstr "Print actions" -#: src/tables/InvenTreeTable.tsx:596 -#: src/tables/InvenTreeTable.tsx:597 +#: src/tables/InvenTreeTable.tsx:613 +#: src/tables/InvenTreeTable.tsx:614 msgid "Barcode actions" msgstr "" -#: src/tables/InvenTreeTable.tsx:625 +#: src/tables/InvenTreeTable.tsx:642 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTable.tsx:646 +#: src/tables/InvenTreeTable.tsx:663 msgid "Table filters" msgstr "" -#: src/tables/bom/BomTable.tsx:80 +#: src/tables/UploadAction.tsx:9 +msgid "Upload Data" +msgstr "" + +#: src/tables/bom/BomTable.tsx:83 msgid "This BOM item is defined for a different parent" msgstr "" -#: src/tables/bom/BomTable.tsx:95 +#: src/tables/bom/BomTable.tsx:98 msgid "Part Information" msgstr "" -#: src/tables/bom/BomTable.tsx:184 -#: src/tables/part/PartTable.tsx:124 +#: src/tables/bom/BomTable.tsx:187 +#: src/tables/part/PartTable.tsx:125 msgid "No stock" msgstr "" -#: src/tables/bom/BomTable.tsx:192 +#: src/tables/bom/BomTable.tsx:195 #: src/tables/build/BuildLineTable.tsx:104 -#: src/tables/part/PartTable.tsx:115 +#: src/tables/part/PartTable.tsx:116 msgid "External stock" msgstr "" -#: src/tables/bom/BomTable.tsx:200 +#: src/tables/bom/BomTable.tsx:203 #: src/tables/build/BuildLineTable.tsx:67 msgid "Includes substitute stock" msgstr "" -#: src/tables/bom/BomTable.tsx:209 +#: src/tables/bom/BomTable.tsx:212 #: src/tables/build/BuildLineTable.tsx:77 msgid "Includes variant stock" msgstr "" -#: src/tables/bom/BomTable.tsx:234 -#: src/tables/part/PartTable.tsx:143 +#: src/tables/bom/BomTable.tsx:237 +#: src/tables/part/PartTable.tsx:144 #: src/tables/stock/StockItemTable.tsx:205 msgid "Stock Information" msgstr "" -#: src/tables/bom/BomTable.tsx:246 +#: src/tables/bom/BomTable.tsx:249 #: src/tables/build/BuildLineTable.tsx:195 msgid "Consumable item" msgstr "" -#: src/tables/bom/BomTable.tsx:267 +#: src/tables/bom/BomTable.tsx:270 msgid "Show trackable items" msgstr "" -#: src/tables/bom/BomTable.tsx:272 +#: src/tables/bom/BomTable.tsx:275 msgid "Show asssmbled items" msgstr "" -#: src/tables/bom/BomTable.tsx:277 +#: src/tables/bom/BomTable.tsx:280 msgid "Show items with available stock" msgstr "" -#: src/tables/bom/BomTable.tsx:282 +#: src/tables/bom/BomTable.tsx:285 msgid "Show items on order" msgstr "" -#: src/tables/bom/BomTable.tsx:286 +#: src/tables/bom/BomTable.tsx:289 msgid "Validated" msgstr "" -#: src/tables/bom/BomTable.tsx:287 +#: src/tables/bom/BomTable.tsx:290 msgid "Show validated items" msgstr "" -#: src/tables/bom/BomTable.tsx:291 +#: src/tables/bom/BomTable.tsx:294 #: src/tables/bom/UsedInTable.tsx:63 msgid "Inherited" msgstr "" -#: src/tables/bom/BomTable.tsx:292 +#: src/tables/bom/BomTable.tsx:295 #: src/tables/bom/UsedInTable.tsx:64 msgid "Show inherited items" msgstr "" -#: src/tables/bom/BomTable.tsx:296 +#: src/tables/bom/BomTable.tsx:299 msgid "Allow Variants" msgstr "" -#: src/tables/bom/BomTable.tsx:297 +#: src/tables/bom/BomTable.tsx:300 msgid "Show items which allow variant substitution" msgstr "" #: src/tables/bom/BomTable.tsx:301 +#~ msgid "Create BOM Item" +#~ msgstr "Create BOM Item" + +#: src/tables/bom/BomTable.tsx:304 #: src/tables/bom/UsedInTable.tsx:68 #: src/tables/build/BuildLineTable.tsx:46 msgid "Optional" msgstr "" -#: src/tables/bom/BomTable.tsx:301 -#~ msgid "Create BOM Item" -#~ msgstr "Create BOM Item" - -#: src/tables/bom/BomTable.tsx:302 +#: src/tables/bom/BomTable.tsx:305 #: src/tables/bom/UsedInTable.tsx:69 msgid "Show optional items" msgstr "" -#: src/tables/bom/BomTable.tsx:306 +#: src/tables/bom/BomTable.tsx:309 #: src/tables/build/BuildLineTable.tsx:41 msgid "Consumable" msgstr "" -#: src/tables/bom/BomTable.tsx:307 +#: src/tables/bom/BomTable.tsx:310 msgid "Show consumable items" msgstr "" -#: src/tables/bom/BomTable.tsx:311 -#: src/tables/part/PartTable.tsx:250 +#: src/tables/bom/BomTable.tsx:314 +#: src/tables/part/PartTable.tsx:257 msgid "Has Pricing" msgstr "" -#: src/tables/bom/BomTable.tsx:312 +#: src/tables/bom/BomTable.tsx:315 msgid "Show items with pricing" msgstr "" -#: src/tables/bom/BomTable.tsx:321 -#: src/tables/bom/BomTable.tsx:420 +#: src/tables/bom/BomTable.tsx:324 +#: src/tables/bom/BomTable.tsx:426 msgid "Add BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:326 +#: src/tables/bom/BomTable.tsx:329 msgid "BOM item created" msgstr "" @@ -5097,23 +5245,23 @@ msgstr "" #~ msgid "Edit Bom Item" #~ msgstr "Edit Bom Item" -#: src/tables/bom/BomTable.tsx:333 -msgid "Edit BOM Item" -msgstr "" - #: src/tables/bom/BomTable.tsx:333 #~ msgid "Bom item updated" #~ msgstr "Bom item updated" -#: src/tables/bom/BomTable.tsx:335 +#: src/tables/bom/BomTable.tsx:336 +msgid "Edit BOM Item" +msgstr "" + +#: src/tables/bom/BomTable.tsx:338 msgid "BOM item updated" msgstr "" -#: src/tables/bom/BomTable.tsx:342 +#: src/tables/bom/BomTable.tsx:345 msgid "Delete BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:343 +#: src/tables/bom/BomTable.tsx:346 msgid "BOM item deleted" msgstr "" @@ -5133,32 +5281,41 @@ msgstr "" #~ msgid "Validate BOM line" #~ msgstr "Validate BOM line" -#: src/tables/bom/BomTable.tsx:355 +#: src/tables/bom/BomTable.tsx:358 msgid "BOM item validated" msgstr "" -#: src/tables/bom/BomTable.tsx:364 +#: src/tables/bom/BomTable.tsx:367 msgid "Failed to validate BOM item" msgstr "" -#: src/tables/bom/BomTable.tsx:376 +#: src/tables/bom/BomTable.tsx:379 msgid "View BOM" msgstr "" -#: src/tables/bom/BomTable.tsx:385 +#: src/tables/bom/BomTable.tsx:388 msgid "Validate BOM Line" msgstr "" -#: src/tables/bom/BomTable.tsx:399 +#: src/tables/bom/BomTable.tsx:405 msgid "Edit Substitutes" msgstr "" +#: src/tables/bom/BomTable.tsx:440 +#: src/tables/part/PartParameterTable.tsx:191 +msgid "Part is Locked" +msgstr "" + +#: src/tables/bom/BomTable.tsx:445 +msgid "Bill of materials cannot be edited, as the part is locked" +msgstr "" + #: src/tables/bom/UsedInTable.tsx:74 msgid "Show active assemblies" msgstr "" #: src/tables/bom/UsedInTable.tsx:78 -#: src/tables/part/PartTable.tsx:192 +#: src/tables/part/PartTable.tsx:199 #: src/tables/part/PartVariantTable.tsx:30 msgid "Trackable" msgstr "" @@ -5168,7 +5325,7 @@ msgid "Show trackable assemblies" msgstr "" #: src/tables/build/BuildLineTable.tsx:31 -#: src/tables/stock/StockItemTable.tsx:270 +#: src/tables/stock/StockItemTable.tsx:292 msgid "Allocated" msgstr "" @@ -5189,7 +5346,7 @@ msgid "Show optional lines" msgstr "" #: src/tables/build/BuildLineTable.tsx:51 -#: src/tables/stock/StockItemTable.tsx:329 +#: src/tables/stock/StockItemTable.tsx:351 msgid "Tracked" msgstr "" @@ -5302,10 +5459,6 @@ msgstr "" msgid "Deallocate stock from build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:205 -msgid "Complete" -msgstr "" - #: src/tables/build/BuildOutputTable.tsx:206 msgid "Complete build output" msgstr "" @@ -5635,7 +5788,7 @@ msgid "Message" msgstr "" #: src/tables/part/ParametricPartTable.tsx:76 -#: src/tables/part/PartParameterTable.tsx:88 +#: src/tables/part/PartParameterTable.tsx:95 msgid "Internal Units" msgstr "" @@ -5648,13 +5801,13 @@ msgid "Add Part Parameter" msgstr "" #: src/tables/part/ParametricPartTable.tsx:138 -#: src/tables/part/PartParameterTable.tsx:121 -#: src/tables/part/PartParameterTable.tsx:144 +#: src/tables/part/PartParameterTable.tsx:128 +#: src/tables/part/PartParameterTable.tsx:151 msgid "Edit Part Parameter" msgstr "" #: src/tables/part/PartCategoryTable.tsx:60 -#: src/tables/part/PartTable.tsx:180 +#: src/tables/part/PartTable.tsx:187 msgid "Include Subcategories" msgstr "" @@ -5667,7 +5820,7 @@ msgid "Show structural categories" msgstr "" #: src/tables/part/PartCategoryTable.tsx:70 -#: src/tables/part/PartTable.tsx:262 +#: src/tables/part/PartTable.tsx:269 msgid "Subscribed" msgstr "" @@ -5704,21 +5857,25 @@ msgstr "" #~ msgid "[{0}]" #~ msgstr "[{0}]" -#: src/tables/part/PartParameterTable.tsx:105 +#: src/tables/part/PartParameterTable.tsx:112 msgid "New Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:130 -#: src/tables/part/PartParameterTable.tsx:152 +#: src/tables/part/PartParameterTable.tsx:137 +#: src/tables/part/PartParameterTable.tsx:159 msgid "Delete Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:170 +#: src/tables/part/PartParameterTable.tsx:177 msgid "Add parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:191 -#: src/tables/stock/StockItemTable.tsx:300 +#: src/tables/part/PartParameterTable.tsx:196 +msgid "Part parameters cannot be edited, as the part is locked" +msgstr "" + +#: src/tables/part/PartParameterTable.tsx:210 +#: src/tables/stock/StockItemTable.tsx:322 msgid "Include Variants" msgstr "" @@ -5739,7 +5896,7 @@ msgid "Show templates with choices" msgstr "" #: src/tables/part/PartParameterTemplateTable.tsx:41 -#: src/tables/part/PartTable.tsx:198 +#: src/tables/part/PartTable.tsx:205 msgid "Has Units" msgstr "" @@ -5763,116 +5920,120 @@ msgstr "" msgid "Add parameter template" msgstr "" -#: src/tables/part/PartTable.tsx:67 +#: src/tables/part/PartTable.tsx:68 msgid "Minimum stock" msgstr "" -#: src/tables/part/PartTable.tsx:89 +#: src/tables/part/PartTable.tsx:90 msgid "Build Order Allocations" msgstr "" -#: src/tables/part/PartTable.tsx:98 +#: src/tables/part/PartTable.tsx:99 msgid "Sales Order Allocations" msgstr "" -#: src/tables/part/PartTable.tsx:169 +#: src/tables/part/PartTable.tsx:170 msgid "Filter by part active status" msgstr "" -#: src/tables/part/PartTable.tsx:174 -#: src/tables/stock/StockItemTable.tsx:265 +#: src/tables/part/PartTable.tsx:176 +msgid "Filter by part locked status" +msgstr "" + +#: src/tables/part/PartTable.tsx:181 +#: src/tables/stock/StockItemTable.tsx:287 msgid "Assembly" msgstr "" -#: src/tables/part/PartTable.tsx:175 +#: src/tables/part/PartTable.tsx:182 msgid "Filter by assembly attribute" msgstr "" -#: src/tables/part/PartTable.tsx:181 +#: src/tables/part/PartTable.tsx:188 msgid "Include parts in subcategories" msgstr "" -#: src/tables/part/PartTable.tsx:187 +#: src/tables/part/PartTable.tsx:194 msgid "Filter by component attribute" msgstr "" -#: src/tables/part/PartTable.tsx:193 +#: src/tables/part/PartTable.tsx:200 msgid "Filter by trackable attribute" msgstr "" -#: src/tables/part/PartTable.tsx:199 +#: src/tables/part/PartTable.tsx:206 msgid "Filter by parts which have units" msgstr "" -#: src/tables/part/PartTable.tsx:204 +#: src/tables/part/PartTable.tsx:211 msgid "Has IPN" msgstr "" -#: src/tables/part/PartTable.tsx:205 +#: src/tables/part/PartTable.tsx:212 msgid "Filter by parts which have an internal part number" msgstr "" -#: src/tables/part/PartTable.tsx:210 +#: src/tables/part/PartTable.tsx:217 msgid "Has Stock" msgstr "" -#: src/tables/part/PartTable.tsx:211 +#: src/tables/part/PartTable.tsx:218 msgid "Filter by parts which have stock" msgstr "" -#: src/tables/part/PartTable.tsx:217 +#: src/tables/part/PartTable.tsx:224 msgid "Filter by parts which have low stock" msgstr "" -#: src/tables/part/PartTable.tsx:222 +#: src/tables/part/PartTable.tsx:229 msgid "Purchaseable" msgstr "" -#: src/tables/part/PartTable.tsx:223 +#: src/tables/part/PartTable.tsx:230 msgid "Filter by parts which are purchaseable" msgstr "" -#: src/tables/part/PartTable.tsx:228 +#: src/tables/part/PartTable.tsx:235 msgid "Salable" msgstr "" -#: src/tables/part/PartTable.tsx:229 +#: src/tables/part/PartTable.tsx:236 msgid "Filter by parts which are salable" msgstr "" -#: src/tables/part/PartTable.tsx:235 +#: src/tables/part/PartTable.tsx:242 msgid "Filter by parts which are virtual" msgstr "" -#: src/tables/part/PartTable.tsx:239 +#: src/tables/part/PartTable.tsx:246 msgid "Not Virtual" msgstr "" -#: src/tables/part/PartTable.tsx:244 +#: src/tables/part/PartTable.tsx:251 msgid "Is Template" msgstr "" -#: src/tables/part/PartTable.tsx:245 +#: src/tables/part/PartTable.tsx:252 msgid "Filter by parts which are templates" msgstr "" -#: src/tables/part/PartTable.tsx:251 +#: src/tables/part/PartTable.tsx:258 msgid "Filter by parts which have pricing information" msgstr "" -#: src/tables/part/PartTable.tsx:257 +#: src/tables/part/PartTable.tsx:264 msgid "Filter by parts which have available stock" msgstr "" -#: src/tables/part/PartTable.tsx:263 +#: src/tables/part/PartTable.tsx:270 msgid "Filter by parts to which the user is subscribed" msgstr "" -#: src/tables/part/PartTable.tsx:268 +#: src/tables/part/PartTable.tsx:275 msgid "Has Stocktake" msgstr "" -#: src/tables/part/PartTable.tsx:269 +#: src/tables/part/PartTable.tsx:276 msgid "Filter by parts which have stocktake information" msgstr "" @@ -6211,7 +6372,7 @@ msgid "Sample" msgstr "" #: src/tables/plugin/PluginListTable.tsx:578 -#: src/tables/stock/StockItemTable.tsx:305 +#: src/tables/stock/StockItemTable.tsx:327 msgid "Installed" msgstr "" @@ -6486,6 +6647,41 @@ msgstr "" msgid "Edit group" msgstr "" +#: src/tables/settings/ImportSessionTable.tsx:39 +msgid "Delete Import Session" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:45 +#: src/tables/settings/ImportSessionTable.tsx:132 +msgid "Create Import Session" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:70 +msgid "Uploaded" +msgstr "Uploaded" + +#: src/tables/settings/ImportSessionTable.tsx:80 +msgid "Imported Rows" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:110 +#: src/tables/settings/TemplateTable.tsx:276 +msgid "Model Type" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:111 +#: src/tables/settings/TemplateTable.tsx:277 +msgid "Filter by target model type" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:117 +msgid "Filter by import session status" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:123 +msgid "Filter by user" +msgstr "" + #: src/tables/settings/PendingTasksTable.tsx:36 msgid "Arguments" msgstr "" @@ -6502,7 +6698,7 @@ msgstr "" msgid "Delete Project Code" msgstr "" -#: src/tables/settings/ProjectCodeTable.tsx:94 +#: src/tables/settings/ProjectCodeTable.tsx:92 msgid "Add project code" msgstr "" @@ -6571,14 +6767,6 @@ msgstr "" 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 "" @@ -6701,149 +6889,153 @@ msgstr "" msgid "This stock item has been depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:255 +#: src/tables/stock/StockItemTable.tsx:247 +msgid "Stock Value" +msgstr "" + +#: src/tables/stock/StockItemTable.tsx:277 msgid "Show stock for active parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:260 +#: src/tables/stock/StockItemTable.tsx:282 msgid "Filter by stock status" msgstr "" -#: src/tables/stock/StockItemTable.tsx:266 +#: src/tables/stock/StockItemTable.tsx:288 msgid "Show stock for assmebled parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:271 +#: src/tables/stock/StockItemTable.tsx:293 msgid "Show items which have been allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:276 +#: src/tables/stock/StockItemTable.tsx:298 msgid "Show items which are available" msgstr "" -#: src/tables/stock/StockItemTable.tsx:280 +#: src/tables/stock/StockItemTable.tsx:302 #: src/tables/stock/StockLocationTable.tsx:42 msgid "Include Sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:281 +#: src/tables/stock/StockItemTable.tsx:303 msgid "Include stock in sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:285 +#: src/tables/stock/StockItemTable.tsx:307 msgid "Depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:286 +#: src/tables/stock/StockItemTable.tsx:308 msgid "Show depleted stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:291 +#: src/tables/stock/StockItemTable.tsx:313 msgid "Show items which are in stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:296 +#: src/tables/stock/StockItemTable.tsx:318 msgid "Show items which are in production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:301 +#: src/tables/stock/StockItemTable.tsx:323 msgid "Include stock items for variant parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:306 +#: src/tables/stock/StockItemTable.tsx:328 msgid "Show stock items which are installed in other items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:310 +#: src/tables/stock/StockItemTable.tsx:332 msgid "Sent to Customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:311 +#: src/tables/stock/StockItemTable.tsx:333 msgid "Show items which have been sent to a customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:315 +#: src/tables/stock/StockItemTable.tsx:337 msgid "Is Serialized" msgstr "" -#: src/tables/stock/StockItemTable.tsx:316 +#: src/tables/stock/StockItemTable.tsx:338 msgid "Show items which have a serial number" msgstr "" -#: src/tables/stock/StockItemTable.tsx:323 +#: src/tables/stock/StockItemTable.tsx:345 msgid "Has Batch Code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:324 +#: src/tables/stock/StockItemTable.tsx:346 msgid "Show items which have a batch code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:330 +#: src/tables/stock/StockItemTable.tsx:352 msgid "Show tracked items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:334 +#: src/tables/stock/StockItemTable.tsx:356 msgid "Has Purchase Price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:335 +#: src/tables/stock/StockItemTable.tsx:357 msgid "Show items which have a purchase price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:343 +#: src/tables/stock/StockItemTable.tsx:365 msgid "External Location" msgstr "" -#: src/tables/stock/StockItemTable.tsx:344 +#: src/tables/stock/StockItemTable.tsx:366 msgid "Show items in an external location" msgstr "" -#: src/tables/stock/StockItemTable.tsx:416 +#: src/tables/stock/StockItemTable.tsx:438 msgid "Add a new stock item" msgstr "" -#: src/tables/stock/StockItemTable.tsx:425 +#: src/tables/stock/StockItemTable.tsx:447 msgid "Remove some quantity from a stock item" msgstr "" -#: src/tables/stock/StockItemTable.tsx:447 +#: src/tables/stock/StockItemTable.tsx:469 msgid "Move Stock items to new locations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:454 +#: src/tables/stock/StockItemTable.tsx:476 msgid "Change stock status" msgstr "" -#: src/tables/stock/StockItemTable.tsx:456 +#: src/tables/stock/StockItemTable.tsx:478 msgid "Change the status of stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:463 +#: src/tables/stock/StockItemTable.tsx:485 msgid "Merge stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:465 +#: src/tables/stock/StockItemTable.tsx:487 msgid "Merge stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:472 +#: src/tables/stock/StockItemTable.tsx:494 msgid "Order stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:474 -#: src/tables/stock/StockItemTable.tsx:480 +#: src/tables/stock/StockItemTable.tsx:496 +#: src/tables/stock/StockItemTable.tsx:502 msgid "Order new stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:478 +#: src/tables/stock/StockItemTable.tsx:500 msgid "Assign to customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:487 +#: src/tables/stock/StockItemTable.tsx:509 msgid "Delete stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:489 +#: src/tables/stock/StockItemTable.tsx:511 msgid "Delete stock items" msgstr "" @@ -6999,4 +7191,3 @@ msgstr "" #: src/views/MobileAppView.tsx:35 msgid "Ignore and continue to Desktop view" msgstr "" - diff --git a/src/frontend/src/locales/sk/messages.po b/src/frontend/src/locales/sk/messages.po index 9afa3ffe107d..24f078a92765 100644 --- a/src/frontend/src/locales/sk/messages.po +++ b/src/frontend/src/locales/sk/messages.po @@ -49,16 +49,18 @@ msgstr "" #: src/components/buttons/PrintingActions.tsx:107 #: src/components/buttons/PrintingActions.tsx:144 #: src/components/editors/NotesEditor.tsx:65 -#: src/components/editors/NotesEditor.tsx:160 -#: src/components/forms/ApiForm.tsx:506 -#: src/components/forms/fields/ApiFormField.tsx:295 +#: src/components/editors/NotesEditor.tsx:165 +#: src/components/forms/ApiForm.tsx:513 +#: src/components/forms/fields/ApiFormField.tsx:306 +#: src/components/importer/ImportDataSelector.tsx:171 +#: src/components/importer/ImporterColumnSelector.tsx:112 #: src/components/modals/LicenseModal.tsx:75 #: src/components/nav/SearchDrawer.tsx:427 #: src/pages/ErrorPage.tsx:11 #: src/pages/part/PartPricingPanel.tsx:71 -#: src/tables/InvenTreeTable.tsx:451 -#: src/tables/InvenTreeTable.tsx:526 -#: src/tables/bom/BomTable.tsx:363 +#: src/tables/InvenTreeTable.tsx:470 +#: src/tables/InvenTreeTable.tsx:545 +#: src/tables/bom/BomTable.tsx:366 #: src/tables/stock/StockItemTestResultTable.tsx:294 msgid "Error" msgstr "" @@ -157,7 +159,7 @@ msgstr "" #: src/functions/forms.tsx:196 #: src/hooks/UseForm.tsx:40 #: src/tables/FilterSelectDrawer.tsx:204 -#: src/tables/InvenTreeTable.tsx:499 +#: src/tables/InvenTreeTable.tsx:518 #: src/tables/build/BuildOutputTable.tsx:225 msgid "Cancel" msgstr "" @@ -175,7 +177,7 @@ msgid "Clear" msgstr "" #: src/components/details/DetailsImage.tsx:227 -#: src/components/forms/ApiForm.tsx:573 +#: src/components/forms/ApiForm.tsx:580 #: src/contexts/ThemeContext.tsx:43 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:56 msgid "Submit" @@ -202,48 +204,61 @@ msgid "Delete image" msgstr "" #: src/components/details/PartIcons.tsx:28 +#: src/tables/ColumnRenderers.tsx:35 +msgid "Part is locked" +msgstr "" + +#: src/components/details/PartIcons.tsx:30 +#: src/pages/part/PartDetail.tsx:267 +#: src/pages/part/PartDetail.tsx:698 +#: src/tables/part/PartTable.tsx:175 +msgid "Locked" +msgstr "" + +#: src/components/details/PartIcons.tsx:35 +#: src/tables/ColumnRenderers.tsx:30 msgid "Part is not active" msgstr "" -#: src/components/details/PartIcons.tsx:34 +#: src/components/details/PartIcons.tsx:37 #: src/components/render/Plugin.tsx:17 #: src/pages/company/CompanyDetail.tsx:315 #: src/pages/company/SupplierPartDetail.tsx:307 -#: src/pages/part/PartDetail.tsx:685 +#: src/pages/part/PartDetail.tsx:704 msgid "Inactive" msgstr "" -#: src/components/details/PartIcons.tsx:41 +#: src/components/details/PartIcons.tsx:43 msgid "Part is a template part (variants can be made from this part)" msgstr "" -#: src/components/details/PartIcons.tsx:47 +#: src/components/details/PartIcons.tsx:49 msgid "Part can be assembled from other parts" msgstr "" -#: src/components/details/PartIcons.tsx:53 +#: src/components/details/PartIcons.tsx:55 msgid "Part can be used in assemblies" msgstr "" -#: src/components/details/PartIcons.tsx:59 +#: src/components/details/PartIcons.tsx:61 msgid "Part stock is tracked by serial number" msgstr "" -#: src/components/details/PartIcons.tsx:65 +#: src/components/details/PartIcons.tsx:67 msgid "Part can be purchased from external suppliers" msgstr "" -#: src/components/details/PartIcons.tsx:71 +#: src/components/details/PartIcons.tsx:73 msgid "Part can be sold to customers" msgstr "" -#: src/components/details/PartIcons.tsx:76 +#: src/components/details/PartIcons.tsx:78 msgid "Part is virtual (not a physical part)" msgstr "" -#: src/components/details/PartIcons.tsx:82 -#: src/tables/part/PartTable.tsx:234 -#: src/tables/part/PartTable.tsx:238 +#: src/components/details/PartIcons.tsx:84 +#: src/tables/part/PartTable.tsx:241 +#: src/tables/part/PartTable.tsx:245 #: src/tables/part/PartVariantTable.tsx:25 msgid "Virtual" msgstr "" @@ -252,29 +267,29 @@ msgstr "" msgid "Image upload failed" msgstr "" -#: src/components/editors/NotesEditor.tsx:151 -#: src/components/forms/ApiForm.tsx:430 -#: src/tables/bom/BomTable.tsx:354 +#: src/components/editors/NotesEditor.tsx:156 +#: src/components/forms/ApiForm.tsx:437 +#: src/tables/bom/BomTable.tsx:357 msgid "Success" msgstr "" -#: src/components/editors/NotesEditor.tsx:152 +#: src/components/editors/NotesEditor.tsx:157 msgid "Notes saved successfully" msgstr "" -#: src/components/editors/NotesEditor.tsx:161 +#: src/components/editors/NotesEditor.tsx:166 msgid "Failed to save notes" msgstr "" -#: src/components/editors/NotesEditor.tsx:193 +#: src/components/editors/NotesEditor.tsx:198 msgid "Preview Notes" msgstr "" -#: src/components/editors/NotesEditor.tsx:193 +#: src/components/editors/NotesEditor.tsx:198 msgid "Edit Notes" msgstr "" -#: src/components/editors/NotesEditor.tsx:207 +#: src/components/editors/NotesEditor.tsx:212 msgid "Save Notes" msgstr "" @@ -407,7 +422,7 @@ msgstr "" msgid "A server error occurred" msgstr "" -#: src/components/forms/ApiForm.tsx:149 +#: src/components/forms/ApiForm.tsx:151 #: src/functions/forms.tsx:259 msgid "Form Error" msgstr "" @@ -416,18 +431,18 @@ msgstr "" #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:611 +#: src/components/forms/ApiForm.tsx:618 #: src/tables/plugin/PluginListTable.tsx:388 msgid "Update" msgstr "" -#: src/components/forms/ApiForm.tsx:631 +#: src/components/forms/ApiForm.tsx:638 #: 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:498 +#: src/tables/InvenTreeTable.tsx:517 #: src/tables/RowActions.tsx:71 #: src/tables/plugin/PluginListTable.tsx:420 msgid "Delete" @@ -600,7 +615,7 @@ msgstr "" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:70 #: src/pages/part/CategoryDetail.tsx:80 -#: src/pages/part/PartDetail.tsx:122 +#: src/pages/part/PartDetail.tsx:123 #: src/pages/stock/LocationDetail.tsx:87 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 @@ -685,6 +700,124 @@ msgstr "" msgid "Thumbnail" msgstr "" +#: src/components/importer/ImportDataSelector.tsx:154 +msgid "Importing Rows" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:155 +msgid "Please wait while the data is imported" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:172 +msgid "An error occurred while importing data" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:191 +msgid "Edit Data" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:218 +msgid "Delete Row" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:248 +msgid "Row" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:266 +msgid "Row contains errors" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:307 +msgid "Accept" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:340 +msgid "Valid" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:341 +msgid "Filter by row validation status" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:346 +#: src/tables/build/BuildOutputTable.tsx:205 +msgid "Complete" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:347 +msgid "Filter by row completion status" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:364 +msgid "Import selected rows" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:46 +#: src/components/importer/ImporterColumnSelector.tsx:85 +msgid "An error occurred" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:57 +msgid "Select column, or leave blank to ignore this field." +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:91 +msgid "Select a column from the data file" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:104 +msgid "Map data columns to database fields" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:109 +msgid "Accept Column Mapping" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:117 +msgid "Database Field" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:118 +msgid "Field Description" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:119 +msgid "Imported Column Name" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:44 +msgid "Import Data" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:45 +msgid "Map Columns" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:46 +msgid "Process Data" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:47 +msgid "Complete Import" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:91 +msgid "Importing Data" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:97 +msgid "Cancel import session" +msgstr "" + +#: src/components/importer/ImporterImportProgress.tsx:36 +msgid "Importing Records" +msgstr "" + +#: src/components/importer/ImporterImportProgress.tsx:39 +msgid "Imported rows" +msgstr "" + #: src/components/items/ActionDropdown.tsx:119 #: src/pages/build/BuildDetail.tsx:358 msgid "Barcode Actions" @@ -738,7 +871,7 @@ msgid "Read More" msgstr "" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:443 +#: src/tables/InvenTreeTable.tsx:462 msgid "Unknown error" msgstr "" @@ -1039,13 +1172,13 @@ msgstr "" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:313 +#: src/pages/Index/Settings/SystemSettings.tsx:314 msgid "System Settings" msgstr "" #: src/components/nav/MainMenu.tsx:67 #: src/defaults/menuItems.tsx:63 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:198 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:209 msgid "Admin Center" msgstr "" @@ -1088,7 +1221,7 @@ msgid "Pages" msgstr "" #: src/components/nav/NavigationDrawer.tsx:65 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:157 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:168 #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:41 msgid "Plugins" msgstr "" @@ -1102,7 +1235,7 @@ msgstr "" msgid "About" msgstr "" -#: src/components/nav/NotificationDrawer.tsx:78 +#: src/components/nav/NotificationDrawer.tsx:81 #: src/pages/Index/Settings/SystemSettings.tsx:108 #: src/pages/Index/Settings/UserSettings.tsx:96 #: src/pages/Notifications.tsx:65 @@ -1110,17 +1243,17 @@ msgstr "" msgid "Notifications" msgstr "" -#: src/components/nav/NotificationDrawer.tsx:95 +#: src/components/nav/NotificationDrawer.tsx:98 msgid "You have no unread notifications." msgstr "" -#: src/components/nav/NotificationDrawer.tsx:111 -#: src/components/nav/NotificationDrawer.tsx:117 +#: src/components/nav/NotificationDrawer.tsx:114 +#: src/components/nav/NotificationDrawer.tsx:120 #: src/tables/notifications/NotificationsTable.tsx:36 msgid "Notification" msgstr "" -#: src/components/nav/NotificationDrawer.tsx:140 +#: src/components/nav/NotificationDrawer.tsx:143 #: src/pages/Notifications.tsx:73 msgid "Mark as read" msgstr "" @@ -1157,7 +1290,7 @@ msgstr "" msgid "No results available for search query" msgstr "" -#: src/components/render/Instance.tsx:166 +#: src/components/render/Instance.tsx:201 msgid "Unknown model: {model}" msgstr "" @@ -1172,7 +1305,8 @@ msgstr "" #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 #: src/pages/build/BuildDetail.tsx:85 -#: src/pages/part/PartDetail.tsx:831 +#: src/pages/part/PartDetail.tsx:872 +#: src/tables/part/PartTable.tsx:28 #: src/tables/part/RelatedPartTable.tsx:45 #: src/tables/stock/StockTrackingTable.tsx:74 msgid "Part" @@ -1185,7 +1319,7 @@ msgstr "" #: src/pages/part/CategoryDetail.tsx:112 #: src/pages/part/CategoryDetail.tsx:237 #: src/pages/part/CategoryDetail.tsx:267 -#: src/pages/part/PartDetail.tsx:639 +#: src/pages/part/PartDetail.tsx:652 msgid "Parts" msgstr "" @@ -1235,7 +1369,7 @@ msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:172 #: src/pages/part/CategoryDetail.tsx:251 #: src/pages/part/CategoryDetail.tsx:288 -#: src/pages/part/PartDetail.tsx:821 +#: src/pages/part/PartDetail.tsx:862 msgid "Part Categories" msgstr "" @@ -1317,7 +1451,7 @@ msgid "Project Code" msgstr "" #: src/components/render/ModelType.tsx:127 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:109 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:120 msgid "Project Codes" msgstr "" @@ -1329,10 +1463,10 @@ msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:134 -#: src/pages/Index/Settings/SystemSettings.tsx:257 +#: src/pages/Index/Settings/SystemSettings.tsx:258 #: src/pages/company/CompanyDetail.tsx:194 #: src/pages/company/SupplierPartDetail.tsx:226 -#: src/pages/part/PartDetail.tsx:573 +#: src/pages/part/PartDetail.tsx:586 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "" @@ -1354,9 +1488,9 @@ msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:272 +#: src/pages/Index/Settings/SystemSettings.tsx:273 #: src/pages/company/CompanyDetail.tsx:214 -#: src/pages/part/PartDetail.tsx:580 +#: src/pages/part/PartDetail.tsx:593 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" @@ -1376,7 +1510,7 @@ msgid "Return Order" msgstr "" #: src/components/render/ModelType.tsx:164 -#: src/pages/Index/Settings/SystemSettings.tsx:288 +#: src/pages/Index/Settings/SystemSettings.tsx:289 #: src/pages/company/CompanyDetail.tsx:221 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1413,40 +1547,49 @@ msgid "Owners" msgstr "" #: src/components/render/ModelType.tsx:193 +#: src/tables/settings/ImportSessionTable.tsx:122 #: src/tables/stock/StockItemTestResultTable.tsx:193 #: src/tables/stock/StockTrackingTable.tsx:195 msgid "User" msgstr "" #: src/components/render/ModelType.tsx:194 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:85 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:90 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" msgstr "" #: src/components/render/ModelType.tsx:200 -msgid "Label Template" +msgid "Import Session" msgstr "" #: src/components/render/ModelType.tsx:201 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:139 -msgid "Label Templates" +msgid "Import Sessions" msgstr "" #: src/components/render/ModelType.tsx:207 -msgid "Report Template" +msgid "Label Template" msgstr "" #: src/components/render/ModelType.tsx:208 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:145 -msgid "Report Templates" +#: src/pages/Index/Settings/AdminCenter/Index.tsx:150 +msgid "Label Templates" msgstr "" #: src/components/render/ModelType.tsx:214 -msgid "Plugin Configuration" +msgid "Report Template" msgstr "" #: src/components/render/ModelType.tsx:215 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:156 +msgid "Report Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:221 +msgid "Plugin Configuration" +msgstr "" + +#: src/components/render/ModelType.tsx:222 msgid "Plugin Configurations" msgstr "" @@ -1458,7 +1601,7 @@ msgstr "" #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 #: src/pages/Index/Settings/SystemSettings.tsx:210 -#: src/pages/part/PartDetail.tsx:492 +#: src/pages/part/PartDetail.tsx:503 #: src/pages/stock/LocationDetail.tsx:347 #: src/pages/stock/StockDetail.tsx:356 #: src/tables/stock/StockItemTable.tsx:57 @@ -1641,10 +1784,6 @@ msgstr "" #~ msgid "Comment" #~ msgstr "Comment" -#: src/components/tables/general/AttachmentTable.tsx:56 -#~ msgid "Uploaded" -#~ msgstr "Uploaded" - #: src/components/tables/part/PartCategoryTable.tsx:122 #~ msgid "Part category updated" #~ msgstr "Part category updated" @@ -2157,7 +2296,7 @@ msgid "Recently Updated" msgstr "" #: src/defaults/dashboardItems.tsx:50 -#: src/tables/part/PartTable.tsx:216 +#: src/tables/part/PartTable.tsx:223 msgid "Low Stock" msgstr "" @@ -2466,7 +2605,7 @@ msgstr "" #~ msgid "Company updated" #~ msgstr "Company updated" -#: src/forms/PartForms.tsx:100 +#: src/forms/PartForms.tsx:103 msgid "Parent part category" msgstr "" @@ -2534,7 +2673,7 @@ msgstr "" #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 #: src/pages/stock/StockDetail.tsx:173 -#: src/tables/ColumnRenderers.tsx:34 +#: src/tables/ColumnRenderers.tsx:49 #: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" msgstr "" @@ -2585,8 +2724,8 @@ msgstr "" #: src/forms/StockForms.tsx:176 #: src/pages/stock/StockDetail.tsx:379 -#: src/tables/stock/StockItemTable.tsx:382 -#: src/tables/stock/StockItemTable.tsx:499 +#: src/tables/stock/StockItemTable.tsx:404 +#: src/tables/stock/StockItemTable.tsx:521 msgid "Add Stock Item" msgstr "" @@ -2606,9 +2745,9 @@ msgstr "" #: src/forms/StockForms.tsx:606 #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 -#: src/pages/part/PartDetail.tsx:202 -#: src/pages/part/PartDetail.tsx:655 -#: src/tables/stock/StockItemTable.tsx:290 +#: src/pages/part/PartDetail.tsx:203 +#: src/pages/part/PartDetail.tsx:668 +#: src/tables/stock/StockItemTable.tsx:312 msgid "In Stock" msgstr "" @@ -2649,12 +2788,12 @@ msgid "Remove Stock" msgstr "" #: src/forms/StockForms.tsx:803 -#: src/pages/part/PartDetail.tsx:782 +#: src/pages/part/PartDetail.tsx:823 msgid "Transfer Stock" msgstr "" #: src/forms/StockForms.tsx:812 -#: src/pages/part/PartDetail.tsx:771 +#: src/pages/part/PartDetail.tsx:812 msgid "Count Stock" msgstr "" @@ -3279,53 +3418,57 @@ msgstr "" #~ msgid "Advanced Amininistrative Options for InvenTree" #~ msgstr "Advanced Amininistrative Options for InvenTree" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:91 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:96 +msgid "Data Import" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:102 msgid "Background Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:97 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:108 msgid "Error Reports" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:103 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:114 msgid "Currencies" 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:132 msgid "Custom Units" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:138 #: src/pages/part/CategoryDetail.tsx:257 msgid "Part Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 -#~ msgid "Templates" -#~ msgstr "Templates" - -#: src/pages/Index/Settings/AdminCenter/Index.tsx:133 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:144 msgid "Category Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:151 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:162 msgid "Location types" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:163 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:174 #: src/tables/machine/MachineTypeTable.tsx:287 msgid "Machines" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:173 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:184 msgid "Quick Actions" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:178 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:189 msgid "Add a new user" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:199 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:210 msgid "Advanced Options" msgstr "" @@ -3477,7 +3620,7 @@ msgid "Reporting" msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:235 -#: src/pages/part/PartDetail.tsx:593 +#: src/pages/part/PartDetail.tsx:606 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" @@ -3485,12 +3628,12 @@ msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:241 #: src/pages/build/BuildDetail.tsx:423 #: src/pages/build/BuildIndex.tsx:14 -#: src/pages/part/PartDetail.tsx:527 +#: src/pages/part/PartDetail.tsx:540 #: src/pages/sales/SalesOrderDetail.tsx:270 msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:316 +#: src/pages/Index/Settings/SystemSettings.tsx:317 msgid "Switch to User Setting" msgstr "" @@ -3555,7 +3698,8 @@ msgstr "" #: 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/settings/ImportSessionTable.tsx:116 +#: src/tables/stock/StockItemTable.tsx:281 #: src/tables/stock/StockTrackingTable.tsx:52 msgid "Status" msgstr "" @@ -3564,7 +3708,7 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:104 #: src/pages/sales/ReturnOrderDetail.tsx:73 #: src/pages/sales/SalesOrderDetail.tsx:77 -#: src/tables/ColumnRenderers.tsx:106 +#: src/tables/ColumnRenderers.tsx:121 #: src/tables/build/BuildLineTable.tsx:140 msgid "Reference" msgstr "" @@ -3574,12 +3718,12 @@ msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:78 #: src/pages/company/SupplierPartDetail.tsx:85 #: src/pages/part/CategoryDetail.tsx:94 -#: src/pages/part/PartDetail.tsx:129 +#: src/pages/part/PartDetail.tsx:130 #: src/pages/purchasing/PurchaseOrderDetail.tsx:125 #: src/pages/sales/ReturnOrderDetail.tsx:93 #: src/pages/sales/SalesOrderDetail.tsx:97 #: src/pages/stock/LocationDetail.tsx:101 -#: src/tables/ColumnRenderers.tsx:66 +#: src/tables/ColumnRenderers.tsx:81 #: src/tables/machine/MachineTypeTable.tsx:69 #: src/tables/machine/MachineTypeTable.tsx:112 #: src/tables/machine/MachineTypeTable.tsx:219 @@ -3610,7 +3754,7 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:152 -#: src/pages/part/PartDetail.tsx:317 +#: src/pages/part/PartDetail.tsx:323 #: src/pages/purchasing/PurchaseOrderDetail.tsx:217 #: src/pages/sales/ReturnOrderDetail.tsx:186 #: src/pages/sales/SalesOrderDetail.tsx:190 @@ -3630,7 +3774,7 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:210 #: src/pages/sales/ReturnOrderDetail.tsx:179 #: src/pages/sales/SalesOrderDetail.tsx:183 -#: src/tables/ColumnRenderers.tsx:191 +#: src/tables/ColumnRenderers.tsx:206 msgid "Target Date" msgstr "" @@ -3711,7 +3855,7 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:297 #: src/pages/company/CompanyDetail.tsx:257 #: src/pages/company/ManufacturerPartDetail.tsx:174 -#: src/pages/part/PartDetail.tsx:616 +#: src/pages/part/PartDetail.tsx:629 #: src/pages/purchasing/PurchaseOrderDetail.tsx:279 #: src/pages/sales/ReturnOrderDetail.tsx:230 #: src/pages/sales/SalesOrderDetail.tsx:280 @@ -3721,7 +3865,7 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:305 #: src/pages/company/CompanyDetail.tsx:268 -#: src/pages/part/PartDetail.tsx:624 +#: src/pages/part/PartDetail.tsx:637 #: src/pages/purchasing/PurchaseOrderDetail.tsx:290 #: src/pages/sales/ReturnOrderDetail.tsx:241 #: src/pages/sales/SalesOrderDetail.tsx:291 @@ -3877,12 +4021,12 @@ msgid "Manufacturer Part Details" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:148 -#: src/pages/part/PartDetail.tsx:486 +#: src/pages/part/PartDetail.tsx:492 msgid "Parameters" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:160 -#: src/pages/part/PartDetail.tsx:560 +#: src/pages/part/PartDetail.tsx:573 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" msgstr "" @@ -3907,7 +4051,7 @@ msgid "ManufacturerPart" msgstr "" #: src/pages/company/SupplierPartDetail.tsx:99 -#: src/tables/ColumnRenderers.tsx:117 +#: src/tables/ColumnRenderers.tsx:132 msgid "Note" msgstr "" @@ -4043,275 +4187,275 @@ msgstr "" msgid "Category Details" msgstr "" -#: src/pages/part/PartDetail.tsx:135 +#: src/pages/part/PartDetail.tsx:136 msgid "Variant of" msgstr "" -#: src/pages/part/PartDetail.tsx:142 +#: src/pages/part/PartDetail.tsx:143 #: src/tables/notifications/NotificationsTable.tsx:31 #: src/tables/part/PartCategoryTemplateTable.tsx:67 msgid "Category" msgstr "" -#: src/pages/part/PartDetail.tsx:148 +#: src/pages/part/PartDetail.tsx:149 msgid "Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:155 +#: src/pages/part/PartDetail.tsx:156 msgid "Category Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:162 +#: src/pages/part/PartDetail.tsx:163 msgid "IPN" msgstr "" -#: src/pages/part/PartDetail.tsx:169 +#: src/pages/part/PartDetail.tsx:170 msgid "Revision" msgstr "" -#: src/pages/part/PartDetail.tsx:176 +#: src/pages/part/PartDetail.tsx:177 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" msgstr "" -#: src/pages/part/PartDetail.tsx:183 +#: src/pages/part/PartDetail.tsx:184 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:190 +#: src/pages/part/PartDetail.tsx:191 #: src/pages/purchasing/PurchaseOrderDetail.tsx:183 #: src/pages/sales/ReturnOrderDetail.tsx:152 #: src/pages/sales/SalesOrderDetail.tsx:156 msgid "Link" msgstr "" -#: src/pages/part/PartDetail.tsx:208 -#: src/tables/bom/BomTable.tsx:276 +#: src/pages/part/PartDetail.tsx:209 +#: src/tables/bom/BomTable.tsx:279 #: src/tables/build/BuildLineTable.tsx:121 -#: src/tables/part/PartTable.tsx:256 +#: src/tables/part/PartTable.tsx:263 msgid "Available Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:215 +#: src/pages/part/PartDetail.tsx:216 msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:221 -#: src/tables/bom/BomTable.tsx:217 +#: src/pages/part/PartDetail.tsx:222 +#: src/tables/bom/BomTable.tsx:220 #: src/tables/build/BuildLineTable.tsx:95 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:230 +#: src/pages/part/PartDetail.tsx:231 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:238 +#: src/pages/part/PartDetail.tsx:239 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:245 -#: src/tables/bom/BomTable.tsx:241 +#: src/pages/part/PartDetail.tsx:246 +#: src/tables/bom/BomTable.tsx:244 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:252 -#: src/tables/bom/BomTable.tsx:225 -#: src/tables/part/PartTable.tsx:82 +#: src/pages/part/PartDetail.tsx:253 +#: src/tables/bom/BomTable.tsx:228 +#: src/tables/part/PartTable.tsx:83 msgid "Building" msgstr "" -#: src/pages/part/PartDetail.tsx:261 +#: src/pages/part/PartDetail.tsx:262 #: src/tables/bom/UsedInTable.tsx:73 #: src/tables/build/BuildOrderTable.tsx:108 #: src/tables/company/CompanyTable.tsx:61 #: src/tables/company/CompanyTable.tsx:95 #: src/tables/machine/MachineListTable.tsx:323 #: src/tables/machine/MachineListTable.tsx:585 -#: src/tables/part/PartTable.tsx:168 +#: src/tables/part/PartTable.tsx:169 #: src/tables/part/PartVariantTable.tsx:15 #: 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 +#: src/tables/stock/StockItemTable.tsx:276 msgid "Active" msgstr "" -#: src/pages/part/PartDetail.tsx:266 +#: src/pages/part/PartDetail.tsx:272 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:271 -#: src/tables/bom/BomTable.tsx:271 +#: src/pages/part/PartDetail.tsx:277 +#: src/tables/bom/BomTable.tsx:274 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:276 +#: src/pages/part/PartDetail.tsx:282 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:281 -#: src/tables/bom/BomTable.tsx:266 +#: src/pages/part/PartDetail.tsx:287 +#: src/tables/bom/BomTable.tsx:269 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:286 +#: src/pages/part/PartDetail.tsx:292 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:291 +#: src/pages/part/PartDetail.tsx:297 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:296 +#: src/pages/part/PartDetail.tsx:302 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:304 -#: src/tables/ColumnRenderers.tsx:199 +#: src/pages/part/PartDetail.tsx:310 +#: src/tables/ColumnRenderers.tsx:214 msgid "Creation Date" msgstr "" -#: src/pages/part/PartDetail.tsx:309 -msgid "Created By" -msgstr "" - #: src/pages/part/PartDetail.tsx:310 #~ msgid "Edit part" #~ msgstr "Edit part" +#: src/pages/part/PartDetail.tsx:315 +msgid "Created By" +msgstr "" + #: src/pages/part/PartDetail.tsx:322 #~ msgid "Duplicate part" #~ msgstr "Duplicate part" -#: src/pages/part/PartDetail.tsx:324 -msgid "Default Supplier" -msgstr "" - #: src/pages/part/PartDetail.tsx:327 #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:335 +#: src/pages/part/PartDetail.tsx:330 +msgid "Default Supplier" +msgstr "" + +#: src/pages/part/PartDetail.tsx:341 #: src/pages/part/pricing/BomPricingPanel.tsx:78 #: src/pages/part/pricing/VariantPricingPanel.tsx:95 -#: src/tables/part/PartTable.tsx:151 +#: src/tables/part/PartTable.tsx:152 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:374 +#: src/pages/part/PartDetail.tsx:380 #: src/pages/stock/StockDetail.tsx:133 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:409 +#: src/pages/part/PartDetail.tsx:415 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:480 +#: src/pages/part/PartDetail.tsx:486 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:506 +#: src/pages/part/PartDetail.tsx:517 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:513 +#: src/pages/part/PartDetail.tsx:524 #: src/pages/stock/StockDetail.tsx:286 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:520 +#: src/pages/part/PartDetail.tsx:531 msgid "Bill of Materials" msgstr "" -#: src/pages/part/PartDetail.tsx:534 +#: src/pages/part/PartDetail.tsx:547 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:541 +#: src/pages/part/PartDetail.tsx:554 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:547 +#: src/pages/part/PartDetail.tsx:560 #: src/pages/purchasing/PurchasingIndex.tsx:37 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:587 +#: src/pages/part/PartDetail.tsx:600 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:599 +#: src/pages/part/PartDetail.tsx:612 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:610 +#: src/pages/part/PartDetail.tsx:623 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:661 +#: src/pages/part/PartDetail.tsx:674 #: src/pages/stock/StockDetail.tsx:154 #: src/pages/stock/StockDetail.tsx:533 #: src/tables/build/BuildLineTable.tsx:36 -#: src/tables/part/PartTable.tsx:107 +#: src/tables/part/PartTable.tsx:108 #: src/tables/stock/StockItemTable.tsx:166 -#: src/tables/stock/StockItemTable.tsx:275 +#: src/tables/stock/StockItemTable.tsx:297 msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:667 +#: src/pages/part/PartDetail.tsx:680 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:673 -#: src/tables/bom/BomTable.tsx:281 -#: src/tables/part/PartTable.tsx:76 +#: src/pages/part/PartDetail.tsx:686 +#: src/tables/bom/BomTable.tsx:284 +#: src/tables/part/PartTable.tsx:77 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:679 +#: src/pages/part/PartDetail.tsx:692 #: src/pages/stock/StockDetail.tsx:516 -#: src/tables/stock/StockItemTable.tsx:295 +#: src/tables/stock/StockItemTable.tsx:317 msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:698 +#: src/pages/part/PartDetail.tsx:717 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:705 -#: src/tables/part/PartTable.tsx:289 -#: src/tables/part/PartTable.tsx:302 +#: src/pages/part/PartDetail.tsx:744 +#: src/tables/part/PartTable.tsx:296 +#: src/tables/part/PartTable.tsx:309 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:717 +#: src/pages/part/PartDetail.tsx:758 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:726 +#: src/pages/part/PartDetail.tsx:767 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:764 +#: src/pages/part/PartDetail.tsx:805 #: src/pages/stock/LocationDetail.tsx:304 -#: src/tables/stock/StockItemTable.tsx:409 +#: src/tables/stock/StockItemTable.tsx:431 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:772 +#: src/pages/part/PartDetail.tsx:813 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:824 msgid "Transfer part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:792 +#: src/pages/part/PartDetail.tsx:833 msgid "Part Actions" msgstr "" @@ -4359,8 +4503,8 @@ msgstr "" #: src/pages/part/pricing/BomPricingPanel.tsx:57 #: src/pages/part/pricing/BomPricingPanel.tsx:137 -#: src/tables/ColumnRenderers.tsx:241 -#: src/tables/bom/BomTable.tsx:165 +#: src/tables/ColumnRenderers.tsx:256 +#: src/tables/bom/BomTable.tsx:168 #: src/tables/purchasing/PurchaseOrderTable.tsx:112 #: src/tables/sales/ReturnOrderTable.tsx:104 #: src/tables/sales/SalesOrderTable.tsx:134 @@ -4369,7 +4513,7 @@ msgstr "" #: src/pages/part/pricing/BomPricingPanel.tsx:77 #: src/pages/part/pricing/BomPricingPanel.tsx:101 -#: src/tables/part/PartTable.tsx:186 +#: src/tables/part/PartTable.tsx:193 msgid "Component" msgstr "" @@ -4398,7 +4542,7 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:67 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:128 #: src/pages/part/pricing/SupplierPricingPanel.tsx:62 -#: src/tables/bom/BomTable.tsx:156 +#: src/tables/bom/BomTable.tsx:159 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 msgid "Unit Price" @@ -4498,7 +4642,7 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:40 #: src/pages/part/pricing/SaleHistoryPanel.tsx:36 -#: src/tables/ColumnRenderers.tsx:180 +#: src/tables/ColumnRenderers.tsx:195 #: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" @@ -4771,12 +4915,12 @@ msgid "Count stock" msgstr "" #: src/pages/stock/StockDetail.tsx:459 -#: src/tables/stock/StockItemTable.tsx:414 +#: src/tables/stock/StockItemTable.tsx:436 msgid "Add stock" msgstr "" #: src/pages/stock/StockDetail.tsx:467 -#: src/tables/stock/StockItemTable.tsx:423 +#: src/tables/stock/StockItemTable.tsx:445 msgid "Remove stock" msgstr "" @@ -4785,7 +4929,7 @@ msgid "Transfer" msgstr "" #: src/pages/stock/StockDetail.tsx:475 -#: src/tables/stock/StockItemTable.tsx:443 +#: src/tables/stock/StockItemTable.tsx:465 msgid "Transfer stock" msgstr "" @@ -4793,15 +4937,15 @@ msgstr "" msgid "Stock Item Actions" msgstr "" -#: src/tables/ColumnRenderers.tsx:42 +#: src/tables/ColumnRenderers.tsx:57 msgid "No location set" msgstr "" -#: src/tables/ColumnRenderers.tsx:207 +#: src/tables/ColumnRenderers.tsx:222 msgid "Shipment Date" msgstr "" -#: src/tables/ColumnRenderers.tsx:227 +#: src/tables/ColumnRenderers.tsx:242 #: src/tables/settings/CurrencyTable.tsx:23 msgid "Currency" msgstr "" @@ -4828,14 +4972,14 @@ msgid "TSV" msgstr "" #: src/tables/DownloadAction.tsx:24 -msgid "Excel (.xls)" -msgstr "" - -#: src/tables/DownloadAction.tsx:25 msgid "Excel (.xlsx)" msgstr "" -#: src/tables/DownloadAction.tsx:39 +#: src/tables/DownloadAction.tsx:24 +#~ msgid "Excel (.xls)" +#~ msgstr "" + +#: src/tables/DownloadAction.tsx:38 msgid "Download Data" msgstr "" @@ -4900,54 +5044,54 @@ msgstr "" msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:119 -#: src/tables/InvenTreeTable.tsx:390 -#: src/tables/InvenTreeTable.tsx:411 +#: src/tables/InvenTreeTable.tsx:126 +#: src/tables/InvenTreeTable.tsx:409 +#: src/tables/InvenTreeTable.tsx:430 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:422 +#: src/tables/InvenTreeTable.tsx:441 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:430 +#: src/tables/InvenTreeTable.tsx:449 msgid "Bad request" msgstr "" -#: src/tables/InvenTreeTable.tsx:433 +#: src/tables/InvenTreeTable.tsx:452 msgid "Unauthorized" msgstr "" -#: src/tables/InvenTreeTable.tsx:436 +#: src/tables/InvenTreeTable.tsx:455 msgid "Forbidden" msgstr "" -#: src/tables/InvenTreeTable.tsx:439 +#: src/tables/InvenTreeTable.tsx:458 msgid "Not found" msgstr "" -#: src/tables/InvenTreeTable.tsx:488 -#: src/tables/InvenTreeTable.tsx:606 +#: src/tables/InvenTreeTable.tsx:507 +#: src/tables/InvenTreeTable.tsx:623 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:492 +#: src/tables/InvenTreeTable.tsx:511 msgid "Are you sure you want to delete the selected records?" msgstr "" -#: src/tables/InvenTreeTable.tsx:494 +#: src/tables/InvenTreeTable.tsx:513 msgid "This action cannot be undone!" msgstr "" -#: src/tables/InvenTreeTable.tsx:517 +#: src/tables/InvenTreeTable.tsx:536 msgid "Deleted records" msgstr "" -#: src/tables/InvenTreeTable.tsx:518 +#: src/tables/InvenTreeTable.tsx:537 msgid "Records were deleted successfully" msgstr "" -#: src/tables/InvenTreeTable.tsx:527 +#: src/tables/InvenTreeTable.tsx:546 msgid "Failed to delete records" msgstr "" @@ -4956,140 +5100,144 @@ msgstr "" #~ msgid "Print actions" #~ msgstr "Print actions" -#: src/tables/InvenTreeTable.tsx:596 -#: src/tables/InvenTreeTable.tsx:597 +#: src/tables/InvenTreeTable.tsx:613 +#: src/tables/InvenTreeTable.tsx:614 msgid "Barcode actions" msgstr "" -#: src/tables/InvenTreeTable.tsx:625 +#: src/tables/InvenTreeTable.tsx:642 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTable.tsx:646 +#: src/tables/InvenTreeTable.tsx:663 msgid "Table filters" msgstr "" -#: src/tables/bom/BomTable.tsx:80 +#: src/tables/UploadAction.tsx:9 +msgid "Upload Data" +msgstr "" + +#: src/tables/bom/BomTable.tsx:83 msgid "This BOM item is defined for a different parent" msgstr "" -#: src/tables/bom/BomTable.tsx:95 +#: src/tables/bom/BomTable.tsx:98 msgid "Part Information" msgstr "" -#: src/tables/bom/BomTable.tsx:184 -#: src/tables/part/PartTable.tsx:124 +#: src/tables/bom/BomTable.tsx:187 +#: src/tables/part/PartTable.tsx:125 msgid "No stock" msgstr "" -#: src/tables/bom/BomTable.tsx:192 +#: src/tables/bom/BomTable.tsx:195 #: src/tables/build/BuildLineTable.tsx:104 -#: src/tables/part/PartTable.tsx:115 +#: src/tables/part/PartTable.tsx:116 msgid "External stock" msgstr "" -#: src/tables/bom/BomTable.tsx:200 +#: src/tables/bom/BomTable.tsx:203 #: src/tables/build/BuildLineTable.tsx:67 msgid "Includes substitute stock" msgstr "" -#: src/tables/bom/BomTable.tsx:209 +#: src/tables/bom/BomTable.tsx:212 #: src/tables/build/BuildLineTable.tsx:77 msgid "Includes variant stock" msgstr "" -#: src/tables/bom/BomTable.tsx:234 -#: src/tables/part/PartTable.tsx:143 +#: src/tables/bom/BomTable.tsx:237 +#: src/tables/part/PartTable.tsx:144 #: src/tables/stock/StockItemTable.tsx:205 msgid "Stock Information" msgstr "" -#: src/tables/bom/BomTable.tsx:246 +#: src/tables/bom/BomTable.tsx:249 #: src/tables/build/BuildLineTable.tsx:195 msgid "Consumable item" msgstr "" -#: src/tables/bom/BomTable.tsx:267 +#: src/tables/bom/BomTable.tsx:270 msgid "Show trackable items" msgstr "" -#: src/tables/bom/BomTable.tsx:272 +#: src/tables/bom/BomTable.tsx:275 msgid "Show asssmbled items" msgstr "" -#: src/tables/bom/BomTable.tsx:277 +#: src/tables/bom/BomTable.tsx:280 msgid "Show items with available stock" msgstr "" -#: src/tables/bom/BomTable.tsx:282 +#: src/tables/bom/BomTable.tsx:285 msgid "Show items on order" msgstr "" -#: src/tables/bom/BomTable.tsx:286 +#: src/tables/bom/BomTable.tsx:289 msgid "Validated" msgstr "" -#: src/tables/bom/BomTable.tsx:287 +#: src/tables/bom/BomTable.tsx:290 msgid "Show validated items" msgstr "" -#: src/tables/bom/BomTable.tsx:291 +#: src/tables/bom/BomTable.tsx:294 #: src/tables/bom/UsedInTable.tsx:63 msgid "Inherited" msgstr "" -#: src/tables/bom/BomTable.tsx:292 +#: src/tables/bom/BomTable.tsx:295 #: src/tables/bom/UsedInTable.tsx:64 msgid "Show inherited items" msgstr "" -#: src/tables/bom/BomTable.tsx:296 +#: src/tables/bom/BomTable.tsx:299 msgid "Allow Variants" msgstr "" -#: src/tables/bom/BomTable.tsx:297 +#: src/tables/bom/BomTable.tsx:300 msgid "Show items which allow variant substitution" msgstr "" #: src/tables/bom/BomTable.tsx:301 +#~ msgid "Create BOM Item" +#~ msgstr "Create BOM Item" + +#: src/tables/bom/BomTable.tsx:304 #: src/tables/bom/UsedInTable.tsx:68 #: src/tables/build/BuildLineTable.tsx:46 msgid "Optional" msgstr "" -#: src/tables/bom/BomTable.tsx:301 -#~ msgid "Create BOM Item" -#~ msgstr "Create BOM Item" - -#: src/tables/bom/BomTable.tsx:302 +#: src/tables/bom/BomTable.tsx:305 #: src/tables/bom/UsedInTable.tsx:69 msgid "Show optional items" msgstr "" -#: src/tables/bom/BomTable.tsx:306 +#: src/tables/bom/BomTable.tsx:309 #: src/tables/build/BuildLineTable.tsx:41 msgid "Consumable" msgstr "" -#: src/tables/bom/BomTable.tsx:307 +#: src/tables/bom/BomTable.tsx:310 msgid "Show consumable items" msgstr "" -#: src/tables/bom/BomTable.tsx:311 -#: src/tables/part/PartTable.tsx:250 +#: src/tables/bom/BomTable.tsx:314 +#: src/tables/part/PartTable.tsx:257 msgid "Has Pricing" msgstr "" -#: src/tables/bom/BomTable.tsx:312 +#: src/tables/bom/BomTable.tsx:315 msgid "Show items with pricing" msgstr "" -#: src/tables/bom/BomTable.tsx:321 -#: src/tables/bom/BomTable.tsx:420 +#: src/tables/bom/BomTable.tsx:324 +#: src/tables/bom/BomTable.tsx:426 msgid "Add BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:326 +#: src/tables/bom/BomTable.tsx:329 msgid "BOM item created" msgstr "" @@ -5097,23 +5245,23 @@ msgstr "" #~ msgid "Edit Bom Item" #~ msgstr "Edit Bom Item" -#: src/tables/bom/BomTable.tsx:333 -msgid "Edit BOM Item" -msgstr "" - #: src/tables/bom/BomTable.tsx:333 #~ msgid "Bom item updated" #~ msgstr "Bom item updated" -#: src/tables/bom/BomTable.tsx:335 +#: src/tables/bom/BomTable.tsx:336 +msgid "Edit BOM Item" +msgstr "" + +#: src/tables/bom/BomTable.tsx:338 msgid "BOM item updated" msgstr "" -#: src/tables/bom/BomTable.tsx:342 +#: src/tables/bom/BomTable.tsx:345 msgid "Delete BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:343 +#: src/tables/bom/BomTable.tsx:346 msgid "BOM item deleted" msgstr "" @@ -5133,32 +5281,41 @@ msgstr "" #~ msgid "Validate BOM line" #~ msgstr "Validate BOM line" -#: src/tables/bom/BomTable.tsx:355 +#: src/tables/bom/BomTable.tsx:358 msgid "BOM item validated" msgstr "" -#: src/tables/bom/BomTable.tsx:364 +#: src/tables/bom/BomTable.tsx:367 msgid "Failed to validate BOM item" msgstr "" -#: src/tables/bom/BomTable.tsx:376 +#: src/tables/bom/BomTable.tsx:379 msgid "View BOM" msgstr "" -#: src/tables/bom/BomTable.tsx:385 +#: src/tables/bom/BomTable.tsx:388 msgid "Validate BOM Line" msgstr "" -#: src/tables/bom/BomTable.tsx:399 +#: src/tables/bom/BomTable.tsx:405 msgid "Edit Substitutes" msgstr "" +#: src/tables/bom/BomTable.tsx:440 +#: src/tables/part/PartParameterTable.tsx:191 +msgid "Part is Locked" +msgstr "" + +#: src/tables/bom/BomTable.tsx:445 +msgid "Bill of materials cannot be edited, as the part is locked" +msgstr "" + #: src/tables/bom/UsedInTable.tsx:74 msgid "Show active assemblies" msgstr "" #: src/tables/bom/UsedInTable.tsx:78 -#: src/tables/part/PartTable.tsx:192 +#: src/tables/part/PartTable.tsx:199 #: src/tables/part/PartVariantTable.tsx:30 msgid "Trackable" msgstr "" @@ -5168,7 +5325,7 @@ msgid "Show trackable assemblies" msgstr "" #: src/tables/build/BuildLineTable.tsx:31 -#: src/tables/stock/StockItemTable.tsx:270 +#: src/tables/stock/StockItemTable.tsx:292 msgid "Allocated" msgstr "" @@ -5189,7 +5346,7 @@ msgid "Show optional lines" msgstr "" #: src/tables/build/BuildLineTable.tsx:51 -#: src/tables/stock/StockItemTable.tsx:329 +#: src/tables/stock/StockItemTable.tsx:351 msgid "Tracked" msgstr "" @@ -5302,10 +5459,6 @@ msgstr "" msgid "Deallocate stock from build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:205 -msgid "Complete" -msgstr "" - #: src/tables/build/BuildOutputTable.tsx:206 msgid "Complete build output" msgstr "" @@ -5635,7 +5788,7 @@ msgid "Message" msgstr "" #: src/tables/part/ParametricPartTable.tsx:76 -#: src/tables/part/PartParameterTable.tsx:88 +#: src/tables/part/PartParameterTable.tsx:95 msgid "Internal Units" msgstr "" @@ -5648,13 +5801,13 @@ msgid "Add Part Parameter" msgstr "" #: src/tables/part/ParametricPartTable.tsx:138 -#: src/tables/part/PartParameterTable.tsx:121 -#: src/tables/part/PartParameterTable.tsx:144 +#: src/tables/part/PartParameterTable.tsx:128 +#: src/tables/part/PartParameterTable.tsx:151 msgid "Edit Part Parameter" msgstr "" #: src/tables/part/PartCategoryTable.tsx:60 -#: src/tables/part/PartTable.tsx:180 +#: src/tables/part/PartTable.tsx:187 msgid "Include Subcategories" msgstr "" @@ -5667,7 +5820,7 @@ msgid "Show structural categories" msgstr "" #: src/tables/part/PartCategoryTable.tsx:70 -#: src/tables/part/PartTable.tsx:262 +#: src/tables/part/PartTable.tsx:269 msgid "Subscribed" msgstr "" @@ -5704,21 +5857,25 @@ msgstr "" #~ msgid "[{0}]" #~ msgstr "[{0}]" -#: src/tables/part/PartParameterTable.tsx:105 +#: src/tables/part/PartParameterTable.tsx:112 msgid "New Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:130 -#: src/tables/part/PartParameterTable.tsx:152 +#: src/tables/part/PartParameterTable.tsx:137 +#: src/tables/part/PartParameterTable.tsx:159 msgid "Delete Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:170 +#: src/tables/part/PartParameterTable.tsx:177 msgid "Add parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:191 -#: src/tables/stock/StockItemTable.tsx:300 +#: src/tables/part/PartParameterTable.tsx:196 +msgid "Part parameters cannot be edited, as the part is locked" +msgstr "" + +#: src/tables/part/PartParameterTable.tsx:210 +#: src/tables/stock/StockItemTable.tsx:322 msgid "Include Variants" msgstr "" @@ -5739,7 +5896,7 @@ msgid "Show templates with choices" msgstr "" #: src/tables/part/PartParameterTemplateTable.tsx:41 -#: src/tables/part/PartTable.tsx:198 +#: src/tables/part/PartTable.tsx:205 msgid "Has Units" msgstr "" @@ -5763,116 +5920,120 @@ msgstr "" msgid "Add parameter template" msgstr "" -#: src/tables/part/PartTable.tsx:67 +#: src/tables/part/PartTable.tsx:68 msgid "Minimum stock" msgstr "" -#: src/tables/part/PartTable.tsx:89 +#: src/tables/part/PartTable.tsx:90 msgid "Build Order Allocations" msgstr "" -#: src/tables/part/PartTable.tsx:98 +#: src/tables/part/PartTable.tsx:99 msgid "Sales Order Allocations" msgstr "" -#: src/tables/part/PartTable.tsx:169 +#: src/tables/part/PartTable.tsx:170 msgid "Filter by part active status" msgstr "" -#: src/tables/part/PartTable.tsx:174 -#: src/tables/stock/StockItemTable.tsx:265 +#: src/tables/part/PartTable.tsx:176 +msgid "Filter by part locked status" +msgstr "" + +#: src/tables/part/PartTable.tsx:181 +#: src/tables/stock/StockItemTable.tsx:287 msgid "Assembly" msgstr "" -#: src/tables/part/PartTable.tsx:175 +#: src/tables/part/PartTable.tsx:182 msgid "Filter by assembly attribute" msgstr "" -#: src/tables/part/PartTable.tsx:181 +#: src/tables/part/PartTable.tsx:188 msgid "Include parts in subcategories" msgstr "" -#: src/tables/part/PartTable.tsx:187 +#: src/tables/part/PartTable.tsx:194 msgid "Filter by component attribute" msgstr "" -#: src/tables/part/PartTable.tsx:193 +#: src/tables/part/PartTable.tsx:200 msgid "Filter by trackable attribute" msgstr "" -#: src/tables/part/PartTable.tsx:199 +#: src/tables/part/PartTable.tsx:206 msgid "Filter by parts which have units" msgstr "" -#: src/tables/part/PartTable.tsx:204 +#: src/tables/part/PartTable.tsx:211 msgid "Has IPN" msgstr "" -#: src/tables/part/PartTable.tsx:205 +#: src/tables/part/PartTable.tsx:212 msgid "Filter by parts which have an internal part number" msgstr "" -#: src/tables/part/PartTable.tsx:210 +#: src/tables/part/PartTable.tsx:217 msgid "Has Stock" msgstr "" -#: src/tables/part/PartTable.tsx:211 +#: src/tables/part/PartTable.tsx:218 msgid "Filter by parts which have stock" msgstr "" -#: src/tables/part/PartTable.tsx:217 +#: src/tables/part/PartTable.tsx:224 msgid "Filter by parts which have low stock" msgstr "" -#: src/tables/part/PartTable.tsx:222 +#: src/tables/part/PartTable.tsx:229 msgid "Purchaseable" msgstr "" -#: src/tables/part/PartTable.tsx:223 +#: src/tables/part/PartTable.tsx:230 msgid "Filter by parts which are purchaseable" msgstr "" -#: src/tables/part/PartTable.tsx:228 +#: src/tables/part/PartTable.tsx:235 msgid "Salable" msgstr "" -#: src/tables/part/PartTable.tsx:229 +#: src/tables/part/PartTable.tsx:236 msgid "Filter by parts which are salable" msgstr "" -#: src/tables/part/PartTable.tsx:235 +#: src/tables/part/PartTable.tsx:242 msgid "Filter by parts which are virtual" msgstr "" -#: src/tables/part/PartTable.tsx:239 +#: src/tables/part/PartTable.tsx:246 msgid "Not Virtual" msgstr "" -#: src/tables/part/PartTable.tsx:244 +#: src/tables/part/PartTable.tsx:251 msgid "Is Template" msgstr "" -#: src/tables/part/PartTable.tsx:245 +#: src/tables/part/PartTable.tsx:252 msgid "Filter by parts which are templates" msgstr "" -#: src/tables/part/PartTable.tsx:251 +#: src/tables/part/PartTable.tsx:258 msgid "Filter by parts which have pricing information" msgstr "" -#: src/tables/part/PartTable.tsx:257 +#: src/tables/part/PartTable.tsx:264 msgid "Filter by parts which have available stock" msgstr "" -#: src/tables/part/PartTable.tsx:263 +#: src/tables/part/PartTable.tsx:270 msgid "Filter by parts to which the user is subscribed" msgstr "" -#: src/tables/part/PartTable.tsx:268 +#: src/tables/part/PartTable.tsx:275 msgid "Has Stocktake" msgstr "" -#: src/tables/part/PartTable.tsx:269 +#: src/tables/part/PartTable.tsx:276 msgid "Filter by parts which have stocktake information" msgstr "" @@ -6211,7 +6372,7 @@ msgid "Sample" msgstr "" #: src/tables/plugin/PluginListTable.tsx:578 -#: src/tables/stock/StockItemTable.tsx:305 +#: src/tables/stock/StockItemTable.tsx:327 msgid "Installed" msgstr "" @@ -6486,6 +6647,41 @@ msgstr "" msgid "Edit group" msgstr "" +#: src/tables/settings/ImportSessionTable.tsx:39 +msgid "Delete Import Session" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:45 +#: src/tables/settings/ImportSessionTable.tsx:132 +msgid "Create Import Session" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:70 +msgid "Uploaded" +msgstr "Uploaded" + +#: src/tables/settings/ImportSessionTable.tsx:80 +msgid "Imported Rows" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:110 +#: src/tables/settings/TemplateTable.tsx:276 +msgid "Model Type" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:111 +#: src/tables/settings/TemplateTable.tsx:277 +msgid "Filter by target model type" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:117 +msgid "Filter by import session status" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:123 +msgid "Filter by user" +msgstr "" + #: src/tables/settings/PendingTasksTable.tsx:36 msgid "Arguments" msgstr "" @@ -6502,7 +6698,7 @@ msgstr "" msgid "Delete Project Code" msgstr "" -#: src/tables/settings/ProjectCodeTable.tsx:94 +#: src/tables/settings/ProjectCodeTable.tsx:92 msgid "Add project code" msgstr "" @@ -6571,14 +6767,6 @@ msgstr "" 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 "" @@ -6701,149 +6889,153 @@ msgstr "" msgid "This stock item has been depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:255 +#: src/tables/stock/StockItemTable.tsx:247 +msgid "Stock Value" +msgstr "" + +#: src/tables/stock/StockItemTable.tsx:277 msgid "Show stock for active parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:260 +#: src/tables/stock/StockItemTable.tsx:282 msgid "Filter by stock status" msgstr "" -#: src/tables/stock/StockItemTable.tsx:266 +#: src/tables/stock/StockItemTable.tsx:288 msgid "Show stock for assmebled parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:271 +#: src/tables/stock/StockItemTable.tsx:293 msgid "Show items which have been allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:276 +#: src/tables/stock/StockItemTable.tsx:298 msgid "Show items which are available" msgstr "" -#: src/tables/stock/StockItemTable.tsx:280 +#: src/tables/stock/StockItemTable.tsx:302 #: src/tables/stock/StockLocationTable.tsx:42 msgid "Include Sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:281 +#: src/tables/stock/StockItemTable.tsx:303 msgid "Include stock in sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:285 +#: src/tables/stock/StockItemTable.tsx:307 msgid "Depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:286 +#: src/tables/stock/StockItemTable.tsx:308 msgid "Show depleted stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:291 +#: src/tables/stock/StockItemTable.tsx:313 msgid "Show items which are in stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:296 +#: src/tables/stock/StockItemTable.tsx:318 msgid "Show items which are in production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:301 +#: src/tables/stock/StockItemTable.tsx:323 msgid "Include stock items for variant parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:306 +#: src/tables/stock/StockItemTable.tsx:328 msgid "Show stock items which are installed in other items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:310 +#: src/tables/stock/StockItemTable.tsx:332 msgid "Sent to Customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:311 +#: src/tables/stock/StockItemTable.tsx:333 msgid "Show items which have been sent to a customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:315 +#: src/tables/stock/StockItemTable.tsx:337 msgid "Is Serialized" msgstr "" -#: src/tables/stock/StockItemTable.tsx:316 +#: src/tables/stock/StockItemTable.tsx:338 msgid "Show items which have a serial number" msgstr "" -#: src/tables/stock/StockItemTable.tsx:323 +#: src/tables/stock/StockItemTable.tsx:345 msgid "Has Batch Code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:324 +#: src/tables/stock/StockItemTable.tsx:346 msgid "Show items which have a batch code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:330 +#: src/tables/stock/StockItemTable.tsx:352 msgid "Show tracked items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:334 +#: src/tables/stock/StockItemTable.tsx:356 msgid "Has Purchase Price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:335 +#: src/tables/stock/StockItemTable.tsx:357 msgid "Show items which have a purchase price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:343 +#: src/tables/stock/StockItemTable.tsx:365 msgid "External Location" msgstr "" -#: src/tables/stock/StockItemTable.tsx:344 +#: src/tables/stock/StockItemTable.tsx:366 msgid "Show items in an external location" msgstr "" -#: src/tables/stock/StockItemTable.tsx:416 +#: src/tables/stock/StockItemTable.tsx:438 msgid "Add a new stock item" msgstr "" -#: src/tables/stock/StockItemTable.tsx:425 +#: src/tables/stock/StockItemTable.tsx:447 msgid "Remove some quantity from a stock item" msgstr "" -#: src/tables/stock/StockItemTable.tsx:447 +#: src/tables/stock/StockItemTable.tsx:469 msgid "Move Stock items to new locations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:454 +#: src/tables/stock/StockItemTable.tsx:476 msgid "Change stock status" msgstr "" -#: src/tables/stock/StockItemTable.tsx:456 +#: src/tables/stock/StockItemTable.tsx:478 msgid "Change the status of stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:463 +#: src/tables/stock/StockItemTable.tsx:485 msgid "Merge stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:465 +#: src/tables/stock/StockItemTable.tsx:487 msgid "Merge stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:472 +#: src/tables/stock/StockItemTable.tsx:494 msgid "Order stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:474 -#: src/tables/stock/StockItemTable.tsx:480 +#: src/tables/stock/StockItemTable.tsx:496 +#: src/tables/stock/StockItemTable.tsx:502 msgid "Order new stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:478 +#: src/tables/stock/StockItemTable.tsx:500 msgid "Assign to customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:487 +#: src/tables/stock/StockItemTable.tsx:509 msgid "Delete stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:489 +#: src/tables/stock/StockItemTable.tsx:511 msgid "Delete stock items" msgstr "" @@ -6999,4 +7191,3 @@ msgstr "" #: src/views/MobileAppView.tsx:35 msgid "Ignore and continue to Desktop view" msgstr "" - diff --git a/src/frontend/src/locales/sl/messages.po b/src/frontend/src/locales/sl/messages.po index 82bd682460fb..4e9782822c86 100644 --- a/src/frontend/src/locales/sl/messages.po +++ b/src/frontend/src/locales/sl/messages.po @@ -49,16 +49,18 @@ msgstr "" #: src/components/buttons/PrintingActions.tsx:107 #: src/components/buttons/PrintingActions.tsx:144 #: src/components/editors/NotesEditor.tsx:65 -#: src/components/editors/NotesEditor.tsx:160 -#: src/components/forms/ApiForm.tsx:506 -#: src/components/forms/fields/ApiFormField.tsx:295 +#: src/components/editors/NotesEditor.tsx:165 +#: src/components/forms/ApiForm.tsx:513 +#: src/components/forms/fields/ApiFormField.tsx:306 +#: src/components/importer/ImportDataSelector.tsx:171 +#: src/components/importer/ImporterColumnSelector.tsx:112 #: src/components/modals/LicenseModal.tsx:75 #: src/components/nav/SearchDrawer.tsx:427 #: src/pages/ErrorPage.tsx:11 #: src/pages/part/PartPricingPanel.tsx:71 -#: src/tables/InvenTreeTable.tsx:451 -#: src/tables/InvenTreeTable.tsx:526 -#: src/tables/bom/BomTable.tsx:363 +#: src/tables/InvenTreeTable.tsx:470 +#: src/tables/InvenTreeTable.tsx:545 +#: src/tables/bom/BomTable.tsx:366 #: src/tables/stock/StockItemTestResultTable.tsx:294 msgid "Error" msgstr "" @@ -157,7 +159,7 @@ msgstr "" #: src/functions/forms.tsx:196 #: src/hooks/UseForm.tsx:40 #: src/tables/FilterSelectDrawer.tsx:204 -#: src/tables/InvenTreeTable.tsx:499 +#: src/tables/InvenTreeTable.tsx:518 #: src/tables/build/BuildOutputTable.tsx:225 msgid "Cancel" msgstr "" @@ -175,7 +177,7 @@ msgid "Clear" msgstr "" #: src/components/details/DetailsImage.tsx:227 -#: src/components/forms/ApiForm.tsx:573 +#: src/components/forms/ApiForm.tsx:580 #: src/contexts/ThemeContext.tsx:43 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:56 msgid "Submit" @@ -202,48 +204,61 @@ msgid "Delete image" msgstr "" #: src/components/details/PartIcons.tsx:28 +#: src/tables/ColumnRenderers.tsx:35 +msgid "Part is locked" +msgstr "" + +#: src/components/details/PartIcons.tsx:30 +#: src/pages/part/PartDetail.tsx:267 +#: src/pages/part/PartDetail.tsx:698 +#: src/tables/part/PartTable.tsx:175 +msgid "Locked" +msgstr "" + +#: src/components/details/PartIcons.tsx:35 +#: src/tables/ColumnRenderers.tsx:30 msgid "Part is not active" msgstr "" -#: src/components/details/PartIcons.tsx:34 +#: src/components/details/PartIcons.tsx:37 #: src/components/render/Plugin.tsx:17 #: src/pages/company/CompanyDetail.tsx:315 #: src/pages/company/SupplierPartDetail.tsx:307 -#: src/pages/part/PartDetail.tsx:685 +#: src/pages/part/PartDetail.tsx:704 msgid "Inactive" msgstr "" -#: src/components/details/PartIcons.tsx:41 +#: src/components/details/PartIcons.tsx:43 msgid "Part is a template part (variants can be made from this part)" msgstr "" -#: src/components/details/PartIcons.tsx:47 +#: src/components/details/PartIcons.tsx:49 msgid "Part can be assembled from other parts" msgstr "" -#: src/components/details/PartIcons.tsx:53 +#: src/components/details/PartIcons.tsx:55 msgid "Part can be used in assemblies" msgstr "" -#: src/components/details/PartIcons.tsx:59 +#: src/components/details/PartIcons.tsx:61 msgid "Part stock is tracked by serial number" msgstr "" -#: src/components/details/PartIcons.tsx:65 +#: src/components/details/PartIcons.tsx:67 msgid "Part can be purchased from external suppliers" msgstr "" -#: src/components/details/PartIcons.tsx:71 +#: src/components/details/PartIcons.tsx:73 msgid "Part can be sold to customers" msgstr "" -#: src/components/details/PartIcons.tsx:76 +#: src/components/details/PartIcons.tsx:78 msgid "Part is virtual (not a physical part)" msgstr "" -#: src/components/details/PartIcons.tsx:82 -#: src/tables/part/PartTable.tsx:234 -#: src/tables/part/PartTable.tsx:238 +#: src/components/details/PartIcons.tsx:84 +#: src/tables/part/PartTable.tsx:241 +#: src/tables/part/PartTable.tsx:245 #: src/tables/part/PartVariantTable.tsx:25 msgid "Virtual" msgstr "" @@ -252,29 +267,29 @@ msgstr "" msgid "Image upload failed" msgstr "" -#: src/components/editors/NotesEditor.tsx:151 -#: src/components/forms/ApiForm.tsx:430 -#: src/tables/bom/BomTable.tsx:354 +#: src/components/editors/NotesEditor.tsx:156 +#: src/components/forms/ApiForm.tsx:437 +#: src/tables/bom/BomTable.tsx:357 msgid "Success" msgstr "" -#: src/components/editors/NotesEditor.tsx:152 +#: src/components/editors/NotesEditor.tsx:157 msgid "Notes saved successfully" msgstr "" -#: src/components/editors/NotesEditor.tsx:161 +#: src/components/editors/NotesEditor.tsx:166 msgid "Failed to save notes" msgstr "" -#: src/components/editors/NotesEditor.tsx:193 +#: src/components/editors/NotesEditor.tsx:198 msgid "Preview Notes" msgstr "" -#: src/components/editors/NotesEditor.tsx:193 +#: src/components/editors/NotesEditor.tsx:198 msgid "Edit Notes" msgstr "" -#: src/components/editors/NotesEditor.tsx:207 +#: src/components/editors/NotesEditor.tsx:212 msgid "Save Notes" msgstr "" @@ -407,7 +422,7 @@ msgstr "" msgid "A server error occurred" msgstr "" -#: src/components/forms/ApiForm.tsx:149 +#: src/components/forms/ApiForm.tsx:151 #: src/functions/forms.tsx:259 msgid "Form Error" msgstr "" @@ -416,18 +431,18 @@ msgstr "" #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:611 +#: src/components/forms/ApiForm.tsx:618 #: src/tables/plugin/PluginListTable.tsx:388 msgid "Update" msgstr "" -#: src/components/forms/ApiForm.tsx:631 +#: src/components/forms/ApiForm.tsx:638 #: 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:498 +#: src/tables/InvenTreeTable.tsx:517 #: src/tables/RowActions.tsx:71 #: src/tables/plugin/PluginListTable.tsx:420 msgid "Delete" @@ -600,7 +615,7 @@ msgstr "" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:70 #: src/pages/part/CategoryDetail.tsx:80 -#: src/pages/part/PartDetail.tsx:122 +#: src/pages/part/PartDetail.tsx:123 #: src/pages/stock/LocationDetail.tsx:87 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 @@ -685,6 +700,124 @@ msgstr "" msgid "Thumbnail" msgstr "" +#: src/components/importer/ImportDataSelector.tsx:154 +msgid "Importing Rows" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:155 +msgid "Please wait while the data is imported" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:172 +msgid "An error occurred while importing data" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:191 +msgid "Edit Data" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:218 +msgid "Delete Row" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:248 +msgid "Row" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:266 +msgid "Row contains errors" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:307 +msgid "Accept" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:340 +msgid "Valid" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:341 +msgid "Filter by row validation status" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:346 +#: src/tables/build/BuildOutputTable.tsx:205 +msgid "Complete" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:347 +msgid "Filter by row completion status" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:364 +msgid "Import selected rows" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:46 +#: src/components/importer/ImporterColumnSelector.tsx:85 +msgid "An error occurred" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:57 +msgid "Select column, or leave blank to ignore this field." +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:91 +msgid "Select a column from the data file" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:104 +msgid "Map data columns to database fields" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:109 +msgid "Accept Column Mapping" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:117 +msgid "Database Field" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:118 +msgid "Field Description" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:119 +msgid "Imported Column Name" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:44 +msgid "Import Data" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:45 +msgid "Map Columns" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:46 +msgid "Process Data" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:47 +msgid "Complete Import" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:91 +msgid "Importing Data" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:97 +msgid "Cancel import session" +msgstr "" + +#: src/components/importer/ImporterImportProgress.tsx:36 +msgid "Importing Records" +msgstr "" + +#: src/components/importer/ImporterImportProgress.tsx:39 +msgid "Imported rows" +msgstr "" + #: src/components/items/ActionDropdown.tsx:119 #: src/pages/build/BuildDetail.tsx:358 msgid "Barcode Actions" @@ -738,7 +871,7 @@ msgid "Read More" msgstr "" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:443 +#: src/tables/InvenTreeTable.tsx:462 msgid "Unknown error" msgstr "" @@ -1039,13 +1172,13 @@ msgstr "" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:313 +#: src/pages/Index/Settings/SystemSettings.tsx:314 msgid "System Settings" msgstr "" #: src/components/nav/MainMenu.tsx:67 #: src/defaults/menuItems.tsx:63 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:198 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:209 msgid "Admin Center" msgstr "" @@ -1088,7 +1221,7 @@ msgid "Pages" msgstr "" #: src/components/nav/NavigationDrawer.tsx:65 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:157 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:168 #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:41 msgid "Plugins" msgstr "" @@ -1102,7 +1235,7 @@ msgstr "" msgid "About" msgstr "" -#: src/components/nav/NotificationDrawer.tsx:78 +#: src/components/nav/NotificationDrawer.tsx:81 #: src/pages/Index/Settings/SystemSettings.tsx:108 #: src/pages/Index/Settings/UserSettings.tsx:96 #: src/pages/Notifications.tsx:65 @@ -1110,17 +1243,17 @@ msgstr "" msgid "Notifications" msgstr "" -#: src/components/nav/NotificationDrawer.tsx:95 +#: src/components/nav/NotificationDrawer.tsx:98 msgid "You have no unread notifications." msgstr "" -#: src/components/nav/NotificationDrawer.tsx:111 -#: src/components/nav/NotificationDrawer.tsx:117 +#: src/components/nav/NotificationDrawer.tsx:114 +#: src/components/nav/NotificationDrawer.tsx:120 #: src/tables/notifications/NotificationsTable.tsx:36 msgid "Notification" msgstr "" -#: src/components/nav/NotificationDrawer.tsx:140 +#: src/components/nav/NotificationDrawer.tsx:143 #: src/pages/Notifications.tsx:73 msgid "Mark as read" msgstr "" @@ -1157,7 +1290,7 @@ msgstr "" msgid "No results available for search query" msgstr "" -#: src/components/render/Instance.tsx:166 +#: src/components/render/Instance.tsx:201 msgid "Unknown model: {model}" msgstr "" @@ -1172,7 +1305,8 @@ msgstr "" #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 #: src/pages/build/BuildDetail.tsx:85 -#: src/pages/part/PartDetail.tsx:831 +#: src/pages/part/PartDetail.tsx:872 +#: src/tables/part/PartTable.tsx:28 #: src/tables/part/RelatedPartTable.tsx:45 #: src/tables/stock/StockTrackingTable.tsx:74 msgid "Part" @@ -1185,7 +1319,7 @@ msgstr "" #: src/pages/part/CategoryDetail.tsx:112 #: src/pages/part/CategoryDetail.tsx:237 #: src/pages/part/CategoryDetail.tsx:267 -#: src/pages/part/PartDetail.tsx:639 +#: src/pages/part/PartDetail.tsx:652 msgid "Parts" msgstr "" @@ -1235,7 +1369,7 @@ msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:172 #: src/pages/part/CategoryDetail.tsx:251 #: src/pages/part/CategoryDetail.tsx:288 -#: src/pages/part/PartDetail.tsx:821 +#: src/pages/part/PartDetail.tsx:862 msgid "Part Categories" msgstr "" @@ -1317,7 +1451,7 @@ msgid "Project Code" msgstr "" #: src/components/render/ModelType.tsx:127 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:109 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:120 msgid "Project Codes" msgstr "" @@ -1329,10 +1463,10 @@ msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:134 -#: src/pages/Index/Settings/SystemSettings.tsx:257 +#: src/pages/Index/Settings/SystemSettings.tsx:258 #: src/pages/company/CompanyDetail.tsx:194 #: src/pages/company/SupplierPartDetail.tsx:226 -#: src/pages/part/PartDetail.tsx:573 +#: src/pages/part/PartDetail.tsx:586 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "" @@ -1354,9 +1488,9 @@ msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:272 +#: src/pages/Index/Settings/SystemSettings.tsx:273 #: src/pages/company/CompanyDetail.tsx:214 -#: src/pages/part/PartDetail.tsx:580 +#: src/pages/part/PartDetail.tsx:593 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" @@ -1376,7 +1510,7 @@ msgid "Return Order" msgstr "" #: src/components/render/ModelType.tsx:164 -#: src/pages/Index/Settings/SystemSettings.tsx:288 +#: src/pages/Index/Settings/SystemSettings.tsx:289 #: src/pages/company/CompanyDetail.tsx:221 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1413,40 +1547,49 @@ msgid "Owners" msgstr "" #: src/components/render/ModelType.tsx:193 +#: src/tables/settings/ImportSessionTable.tsx:122 #: src/tables/stock/StockItemTestResultTable.tsx:193 #: src/tables/stock/StockTrackingTable.tsx:195 msgid "User" msgstr "" #: src/components/render/ModelType.tsx:194 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:85 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:90 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" msgstr "" #: src/components/render/ModelType.tsx:200 -msgid "Label Template" +msgid "Import Session" msgstr "" #: src/components/render/ModelType.tsx:201 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:139 -msgid "Label Templates" +msgid "Import Sessions" msgstr "" #: src/components/render/ModelType.tsx:207 -msgid "Report Template" +msgid "Label Template" msgstr "" #: src/components/render/ModelType.tsx:208 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:145 -msgid "Report Templates" +#: src/pages/Index/Settings/AdminCenter/Index.tsx:150 +msgid "Label Templates" msgstr "" #: src/components/render/ModelType.tsx:214 -msgid "Plugin Configuration" +msgid "Report Template" msgstr "" #: src/components/render/ModelType.tsx:215 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:156 +msgid "Report Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:221 +msgid "Plugin Configuration" +msgstr "" + +#: src/components/render/ModelType.tsx:222 msgid "Plugin Configurations" msgstr "" @@ -1458,7 +1601,7 @@ msgstr "" #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 #: src/pages/Index/Settings/SystemSettings.tsx:210 -#: src/pages/part/PartDetail.tsx:492 +#: src/pages/part/PartDetail.tsx:503 #: src/pages/stock/LocationDetail.tsx:347 #: src/pages/stock/StockDetail.tsx:356 #: src/tables/stock/StockItemTable.tsx:57 @@ -1641,10 +1784,6 @@ msgstr "" #~ msgid "Comment" #~ msgstr "Comment" -#: src/components/tables/general/AttachmentTable.tsx:56 -#~ msgid "Uploaded" -#~ msgstr "Uploaded" - #: src/components/tables/part/PartCategoryTable.tsx:122 #~ msgid "Part category updated" #~ msgstr "Part category updated" @@ -2157,7 +2296,7 @@ msgid "Recently Updated" msgstr "" #: src/defaults/dashboardItems.tsx:50 -#: src/tables/part/PartTable.tsx:216 +#: src/tables/part/PartTable.tsx:223 msgid "Low Stock" msgstr "" @@ -2466,7 +2605,7 @@ msgstr "" #~ msgid "Company updated" #~ msgstr "Company updated" -#: src/forms/PartForms.tsx:100 +#: src/forms/PartForms.tsx:103 msgid "Parent part category" msgstr "" @@ -2534,7 +2673,7 @@ msgstr "" #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 #: src/pages/stock/StockDetail.tsx:173 -#: src/tables/ColumnRenderers.tsx:34 +#: src/tables/ColumnRenderers.tsx:49 #: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" msgstr "" @@ -2585,8 +2724,8 @@ msgstr "" #: src/forms/StockForms.tsx:176 #: src/pages/stock/StockDetail.tsx:379 -#: src/tables/stock/StockItemTable.tsx:382 -#: src/tables/stock/StockItemTable.tsx:499 +#: src/tables/stock/StockItemTable.tsx:404 +#: src/tables/stock/StockItemTable.tsx:521 msgid "Add Stock Item" msgstr "" @@ -2606,9 +2745,9 @@ msgstr "" #: src/forms/StockForms.tsx:606 #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 -#: src/pages/part/PartDetail.tsx:202 -#: src/pages/part/PartDetail.tsx:655 -#: src/tables/stock/StockItemTable.tsx:290 +#: src/pages/part/PartDetail.tsx:203 +#: src/pages/part/PartDetail.tsx:668 +#: src/tables/stock/StockItemTable.tsx:312 msgid "In Stock" msgstr "" @@ -2649,12 +2788,12 @@ msgid "Remove Stock" msgstr "" #: src/forms/StockForms.tsx:803 -#: src/pages/part/PartDetail.tsx:782 +#: src/pages/part/PartDetail.tsx:823 msgid "Transfer Stock" msgstr "" #: src/forms/StockForms.tsx:812 -#: src/pages/part/PartDetail.tsx:771 +#: src/pages/part/PartDetail.tsx:812 msgid "Count Stock" msgstr "" @@ -3279,53 +3418,57 @@ msgstr "" #~ msgid "Advanced Amininistrative Options for InvenTree" #~ msgstr "Advanced Amininistrative Options for InvenTree" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:91 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:96 +msgid "Data Import" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:102 msgid "Background Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:97 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:108 msgid "Error Reports" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:103 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:114 msgid "Currencies" 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:132 msgid "Custom Units" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:138 #: src/pages/part/CategoryDetail.tsx:257 msgid "Part Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 -#~ msgid "Templates" -#~ msgstr "Templates" - -#: src/pages/Index/Settings/AdminCenter/Index.tsx:133 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:144 msgid "Category Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:151 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:162 msgid "Location types" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:163 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:174 #: src/tables/machine/MachineTypeTable.tsx:287 msgid "Machines" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:173 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:184 msgid "Quick Actions" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:178 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:189 msgid "Add a new user" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:199 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:210 msgid "Advanced Options" msgstr "" @@ -3477,7 +3620,7 @@ msgid "Reporting" msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:235 -#: src/pages/part/PartDetail.tsx:593 +#: src/pages/part/PartDetail.tsx:606 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" @@ -3485,12 +3628,12 @@ msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:241 #: src/pages/build/BuildDetail.tsx:423 #: src/pages/build/BuildIndex.tsx:14 -#: src/pages/part/PartDetail.tsx:527 +#: src/pages/part/PartDetail.tsx:540 #: src/pages/sales/SalesOrderDetail.tsx:270 msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:316 +#: src/pages/Index/Settings/SystemSettings.tsx:317 msgid "Switch to User Setting" msgstr "" @@ -3555,7 +3698,8 @@ msgstr "" #: 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/settings/ImportSessionTable.tsx:116 +#: src/tables/stock/StockItemTable.tsx:281 #: src/tables/stock/StockTrackingTable.tsx:52 msgid "Status" msgstr "" @@ -3564,7 +3708,7 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:104 #: src/pages/sales/ReturnOrderDetail.tsx:73 #: src/pages/sales/SalesOrderDetail.tsx:77 -#: src/tables/ColumnRenderers.tsx:106 +#: src/tables/ColumnRenderers.tsx:121 #: src/tables/build/BuildLineTable.tsx:140 msgid "Reference" msgstr "" @@ -3574,12 +3718,12 @@ msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:78 #: src/pages/company/SupplierPartDetail.tsx:85 #: src/pages/part/CategoryDetail.tsx:94 -#: src/pages/part/PartDetail.tsx:129 +#: src/pages/part/PartDetail.tsx:130 #: src/pages/purchasing/PurchaseOrderDetail.tsx:125 #: src/pages/sales/ReturnOrderDetail.tsx:93 #: src/pages/sales/SalesOrderDetail.tsx:97 #: src/pages/stock/LocationDetail.tsx:101 -#: src/tables/ColumnRenderers.tsx:66 +#: src/tables/ColumnRenderers.tsx:81 #: src/tables/machine/MachineTypeTable.tsx:69 #: src/tables/machine/MachineTypeTable.tsx:112 #: src/tables/machine/MachineTypeTable.tsx:219 @@ -3610,7 +3754,7 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:152 -#: src/pages/part/PartDetail.tsx:317 +#: src/pages/part/PartDetail.tsx:323 #: src/pages/purchasing/PurchaseOrderDetail.tsx:217 #: src/pages/sales/ReturnOrderDetail.tsx:186 #: src/pages/sales/SalesOrderDetail.tsx:190 @@ -3630,7 +3774,7 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:210 #: src/pages/sales/ReturnOrderDetail.tsx:179 #: src/pages/sales/SalesOrderDetail.tsx:183 -#: src/tables/ColumnRenderers.tsx:191 +#: src/tables/ColumnRenderers.tsx:206 msgid "Target Date" msgstr "" @@ -3711,7 +3855,7 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:297 #: src/pages/company/CompanyDetail.tsx:257 #: src/pages/company/ManufacturerPartDetail.tsx:174 -#: src/pages/part/PartDetail.tsx:616 +#: src/pages/part/PartDetail.tsx:629 #: src/pages/purchasing/PurchaseOrderDetail.tsx:279 #: src/pages/sales/ReturnOrderDetail.tsx:230 #: src/pages/sales/SalesOrderDetail.tsx:280 @@ -3721,7 +3865,7 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:305 #: src/pages/company/CompanyDetail.tsx:268 -#: src/pages/part/PartDetail.tsx:624 +#: src/pages/part/PartDetail.tsx:637 #: src/pages/purchasing/PurchaseOrderDetail.tsx:290 #: src/pages/sales/ReturnOrderDetail.tsx:241 #: src/pages/sales/SalesOrderDetail.tsx:291 @@ -3877,12 +4021,12 @@ msgid "Manufacturer Part Details" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:148 -#: src/pages/part/PartDetail.tsx:486 +#: src/pages/part/PartDetail.tsx:492 msgid "Parameters" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:160 -#: src/pages/part/PartDetail.tsx:560 +#: src/pages/part/PartDetail.tsx:573 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" msgstr "" @@ -3907,7 +4051,7 @@ msgid "ManufacturerPart" msgstr "" #: src/pages/company/SupplierPartDetail.tsx:99 -#: src/tables/ColumnRenderers.tsx:117 +#: src/tables/ColumnRenderers.tsx:132 msgid "Note" msgstr "" @@ -4043,275 +4187,275 @@ msgstr "" msgid "Category Details" msgstr "" -#: src/pages/part/PartDetail.tsx:135 +#: src/pages/part/PartDetail.tsx:136 msgid "Variant of" msgstr "" -#: src/pages/part/PartDetail.tsx:142 +#: src/pages/part/PartDetail.tsx:143 #: src/tables/notifications/NotificationsTable.tsx:31 #: src/tables/part/PartCategoryTemplateTable.tsx:67 msgid "Category" msgstr "" -#: src/pages/part/PartDetail.tsx:148 +#: src/pages/part/PartDetail.tsx:149 msgid "Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:155 +#: src/pages/part/PartDetail.tsx:156 msgid "Category Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:162 +#: src/pages/part/PartDetail.tsx:163 msgid "IPN" msgstr "" -#: src/pages/part/PartDetail.tsx:169 +#: src/pages/part/PartDetail.tsx:170 msgid "Revision" msgstr "" -#: src/pages/part/PartDetail.tsx:176 +#: src/pages/part/PartDetail.tsx:177 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" msgstr "" -#: src/pages/part/PartDetail.tsx:183 +#: src/pages/part/PartDetail.tsx:184 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:190 +#: src/pages/part/PartDetail.tsx:191 #: src/pages/purchasing/PurchaseOrderDetail.tsx:183 #: src/pages/sales/ReturnOrderDetail.tsx:152 #: src/pages/sales/SalesOrderDetail.tsx:156 msgid "Link" msgstr "" -#: src/pages/part/PartDetail.tsx:208 -#: src/tables/bom/BomTable.tsx:276 +#: src/pages/part/PartDetail.tsx:209 +#: src/tables/bom/BomTable.tsx:279 #: src/tables/build/BuildLineTable.tsx:121 -#: src/tables/part/PartTable.tsx:256 +#: src/tables/part/PartTable.tsx:263 msgid "Available Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:215 +#: src/pages/part/PartDetail.tsx:216 msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:221 -#: src/tables/bom/BomTable.tsx:217 +#: src/pages/part/PartDetail.tsx:222 +#: src/tables/bom/BomTable.tsx:220 #: src/tables/build/BuildLineTable.tsx:95 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:230 +#: src/pages/part/PartDetail.tsx:231 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:238 +#: src/pages/part/PartDetail.tsx:239 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:245 -#: src/tables/bom/BomTable.tsx:241 +#: src/pages/part/PartDetail.tsx:246 +#: src/tables/bom/BomTable.tsx:244 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:252 -#: src/tables/bom/BomTable.tsx:225 -#: src/tables/part/PartTable.tsx:82 +#: src/pages/part/PartDetail.tsx:253 +#: src/tables/bom/BomTable.tsx:228 +#: src/tables/part/PartTable.tsx:83 msgid "Building" msgstr "" -#: src/pages/part/PartDetail.tsx:261 +#: src/pages/part/PartDetail.tsx:262 #: src/tables/bom/UsedInTable.tsx:73 #: src/tables/build/BuildOrderTable.tsx:108 #: src/tables/company/CompanyTable.tsx:61 #: src/tables/company/CompanyTable.tsx:95 #: src/tables/machine/MachineListTable.tsx:323 #: src/tables/machine/MachineListTable.tsx:585 -#: src/tables/part/PartTable.tsx:168 +#: src/tables/part/PartTable.tsx:169 #: src/tables/part/PartVariantTable.tsx:15 #: 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 +#: src/tables/stock/StockItemTable.tsx:276 msgid "Active" msgstr "" -#: src/pages/part/PartDetail.tsx:266 +#: src/pages/part/PartDetail.tsx:272 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:271 -#: src/tables/bom/BomTable.tsx:271 +#: src/pages/part/PartDetail.tsx:277 +#: src/tables/bom/BomTable.tsx:274 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:276 +#: src/pages/part/PartDetail.tsx:282 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:281 -#: src/tables/bom/BomTable.tsx:266 +#: src/pages/part/PartDetail.tsx:287 +#: src/tables/bom/BomTable.tsx:269 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:286 +#: src/pages/part/PartDetail.tsx:292 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:291 +#: src/pages/part/PartDetail.tsx:297 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:296 +#: src/pages/part/PartDetail.tsx:302 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:304 -#: src/tables/ColumnRenderers.tsx:199 +#: src/pages/part/PartDetail.tsx:310 +#: src/tables/ColumnRenderers.tsx:214 msgid "Creation Date" msgstr "" -#: src/pages/part/PartDetail.tsx:309 -msgid "Created By" -msgstr "" - #: src/pages/part/PartDetail.tsx:310 #~ msgid "Edit part" #~ msgstr "Edit part" +#: src/pages/part/PartDetail.tsx:315 +msgid "Created By" +msgstr "" + #: src/pages/part/PartDetail.tsx:322 #~ msgid "Duplicate part" #~ msgstr "Duplicate part" -#: src/pages/part/PartDetail.tsx:324 -msgid "Default Supplier" -msgstr "" - #: src/pages/part/PartDetail.tsx:327 #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:335 +#: src/pages/part/PartDetail.tsx:330 +msgid "Default Supplier" +msgstr "" + +#: src/pages/part/PartDetail.tsx:341 #: src/pages/part/pricing/BomPricingPanel.tsx:78 #: src/pages/part/pricing/VariantPricingPanel.tsx:95 -#: src/tables/part/PartTable.tsx:151 +#: src/tables/part/PartTable.tsx:152 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:374 +#: src/pages/part/PartDetail.tsx:380 #: src/pages/stock/StockDetail.tsx:133 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:409 +#: src/pages/part/PartDetail.tsx:415 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:480 +#: src/pages/part/PartDetail.tsx:486 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:506 +#: src/pages/part/PartDetail.tsx:517 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:513 +#: src/pages/part/PartDetail.tsx:524 #: src/pages/stock/StockDetail.tsx:286 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:520 +#: src/pages/part/PartDetail.tsx:531 msgid "Bill of Materials" msgstr "" -#: src/pages/part/PartDetail.tsx:534 +#: src/pages/part/PartDetail.tsx:547 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:541 +#: src/pages/part/PartDetail.tsx:554 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:547 +#: src/pages/part/PartDetail.tsx:560 #: src/pages/purchasing/PurchasingIndex.tsx:37 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:587 +#: src/pages/part/PartDetail.tsx:600 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:599 +#: src/pages/part/PartDetail.tsx:612 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:610 +#: src/pages/part/PartDetail.tsx:623 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:661 +#: src/pages/part/PartDetail.tsx:674 #: src/pages/stock/StockDetail.tsx:154 #: src/pages/stock/StockDetail.tsx:533 #: src/tables/build/BuildLineTable.tsx:36 -#: src/tables/part/PartTable.tsx:107 +#: src/tables/part/PartTable.tsx:108 #: src/tables/stock/StockItemTable.tsx:166 -#: src/tables/stock/StockItemTable.tsx:275 +#: src/tables/stock/StockItemTable.tsx:297 msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:667 +#: src/pages/part/PartDetail.tsx:680 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:673 -#: src/tables/bom/BomTable.tsx:281 -#: src/tables/part/PartTable.tsx:76 +#: src/pages/part/PartDetail.tsx:686 +#: src/tables/bom/BomTable.tsx:284 +#: src/tables/part/PartTable.tsx:77 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:679 +#: src/pages/part/PartDetail.tsx:692 #: src/pages/stock/StockDetail.tsx:516 -#: src/tables/stock/StockItemTable.tsx:295 +#: src/tables/stock/StockItemTable.tsx:317 msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:698 +#: src/pages/part/PartDetail.tsx:717 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:705 -#: src/tables/part/PartTable.tsx:289 -#: src/tables/part/PartTable.tsx:302 +#: src/pages/part/PartDetail.tsx:744 +#: src/tables/part/PartTable.tsx:296 +#: src/tables/part/PartTable.tsx:309 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:717 +#: src/pages/part/PartDetail.tsx:758 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:726 +#: src/pages/part/PartDetail.tsx:767 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:764 +#: src/pages/part/PartDetail.tsx:805 #: src/pages/stock/LocationDetail.tsx:304 -#: src/tables/stock/StockItemTable.tsx:409 +#: src/tables/stock/StockItemTable.tsx:431 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:772 +#: src/pages/part/PartDetail.tsx:813 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:824 msgid "Transfer part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:792 +#: src/pages/part/PartDetail.tsx:833 msgid "Part Actions" msgstr "" @@ -4359,8 +4503,8 @@ msgstr "" #: src/pages/part/pricing/BomPricingPanel.tsx:57 #: src/pages/part/pricing/BomPricingPanel.tsx:137 -#: src/tables/ColumnRenderers.tsx:241 -#: src/tables/bom/BomTable.tsx:165 +#: src/tables/ColumnRenderers.tsx:256 +#: src/tables/bom/BomTable.tsx:168 #: src/tables/purchasing/PurchaseOrderTable.tsx:112 #: src/tables/sales/ReturnOrderTable.tsx:104 #: src/tables/sales/SalesOrderTable.tsx:134 @@ -4369,7 +4513,7 @@ msgstr "" #: src/pages/part/pricing/BomPricingPanel.tsx:77 #: src/pages/part/pricing/BomPricingPanel.tsx:101 -#: src/tables/part/PartTable.tsx:186 +#: src/tables/part/PartTable.tsx:193 msgid "Component" msgstr "" @@ -4398,7 +4542,7 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:67 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:128 #: src/pages/part/pricing/SupplierPricingPanel.tsx:62 -#: src/tables/bom/BomTable.tsx:156 +#: src/tables/bom/BomTable.tsx:159 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 msgid "Unit Price" @@ -4498,7 +4642,7 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:40 #: src/pages/part/pricing/SaleHistoryPanel.tsx:36 -#: src/tables/ColumnRenderers.tsx:180 +#: src/tables/ColumnRenderers.tsx:195 #: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" @@ -4771,12 +4915,12 @@ msgid "Count stock" msgstr "" #: src/pages/stock/StockDetail.tsx:459 -#: src/tables/stock/StockItemTable.tsx:414 +#: src/tables/stock/StockItemTable.tsx:436 msgid "Add stock" msgstr "" #: src/pages/stock/StockDetail.tsx:467 -#: src/tables/stock/StockItemTable.tsx:423 +#: src/tables/stock/StockItemTable.tsx:445 msgid "Remove stock" msgstr "" @@ -4785,7 +4929,7 @@ msgid "Transfer" msgstr "" #: src/pages/stock/StockDetail.tsx:475 -#: src/tables/stock/StockItemTable.tsx:443 +#: src/tables/stock/StockItemTable.tsx:465 msgid "Transfer stock" msgstr "" @@ -4793,15 +4937,15 @@ msgstr "" msgid "Stock Item Actions" msgstr "" -#: src/tables/ColumnRenderers.tsx:42 +#: src/tables/ColumnRenderers.tsx:57 msgid "No location set" msgstr "" -#: src/tables/ColumnRenderers.tsx:207 +#: src/tables/ColumnRenderers.tsx:222 msgid "Shipment Date" msgstr "" -#: src/tables/ColumnRenderers.tsx:227 +#: src/tables/ColumnRenderers.tsx:242 #: src/tables/settings/CurrencyTable.tsx:23 msgid "Currency" msgstr "" @@ -4828,14 +4972,14 @@ msgid "TSV" msgstr "" #: src/tables/DownloadAction.tsx:24 -msgid "Excel (.xls)" -msgstr "" - -#: src/tables/DownloadAction.tsx:25 msgid "Excel (.xlsx)" msgstr "" -#: src/tables/DownloadAction.tsx:39 +#: src/tables/DownloadAction.tsx:24 +#~ msgid "Excel (.xls)" +#~ msgstr "" + +#: src/tables/DownloadAction.tsx:38 msgid "Download Data" msgstr "" @@ -4900,54 +5044,54 @@ msgstr "" msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:119 -#: src/tables/InvenTreeTable.tsx:390 -#: src/tables/InvenTreeTable.tsx:411 +#: src/tables/InvenTreeTable.tsx:126 +#: src/tables/InvenTreeTable.tsx:409 +#: src/tables/InvenTreeTable.tsx:430 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:422 +#: src/tables/InvenTreeTable.tsx:441 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:430 +#: src/tables/InvenTreeTable.tsx:449 msgid "Bad request" msgstr "" -#: src/tables/InvenTreeTable.tsx:433 +#: src/tables/InvenTreeTable.tsx:452 msgid "Unauthorized" msgstr "" -#: src/tables/InvenTreeTable.tsx:436 +#: src/tables/InvenTreeTable.tsx:455 msgid "Forbidden" msgstr "" -#: src/tables/InvenTreeTable.tsx:439 +#: src/tables/InvenTreeTable.tsx:458 msgid "Not found" msgstr "" -#: src/tables/InvenTreeTable.tsx:488 -#: src/tables/InvenTreeTable.tsx:606 +#: src/tables/InvenTreeTable.tsx:507 +#: src/tables/InvenTreeTable.tsx:623 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:492 +#: src/tables/InvenTreeTable.tsx:511 msgid "Are you sure you want to delete the selected records?" msgstr "" -#: src/tables/InvenTreeTable.tsx:494 +#: src/tables/InvenTreeTable.tsx:513 msgid "This action cannot be undone!" msgstr "" -#: src/tables/InvenTreeTable.tsx:517 +#: src/tables/InvenTreeTable.tsx:536 msgid "Deleted records" msgstr "" -#: src/tables/InvenTreeTable.tsx:518 +#: src/tables/InvenTreeTable.tsx:537 msgid "Records were deleted successfully" msgstr "" -#: src/tables/InvenTreeTable.tsx:527 +#: src/tables/InvenTreeTable.tsx:546 msgid "Failed to delete records" msgstr "" @@ -4956,140 +5100,144 @@ msgstr "" #~ msgid "Print actions" #~ msgstr "Print actions" -#: src/tables/InvenTreeTable.tsx:596 -#: src/tables/InvenTreeTable.tsx:597 +#: src/tables/InvenTreeTable.tsx:613 +#: src/tables/InvenTreeTable.tsx:614 msgid "Barcode actions" msgstr "" -#: src/tables/InvenTreeTable.tsx:625 +#: src/tables/InvenTreeTable.tsx:642 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTable.tsx:646 +#: src/tables/InvenTreeTable.tsx:663 msgid "Table filters" msgstr "" -#: src/tables/bom/BomTable.tsx:80 +#: src/tables/UploadAction.tsx:9 +msgid "Upload Data" +msgstr "" + +#: src/tables/bom/BomTable.tsx:83 msgid "This BOM item is defined for a different parent" msgstr "" -#: src/tables/bom/BomTable.tsx:95 +#: src/tables/bom/BomTable.tsx:98 msgid "Part Information" msgstr "" -#: src/tables/bom/BomTable.tsx:184 -#: src/tables/part/PartTable.tsx:124 +#: src/tables/bom/BomTable.tsx:187 +#: src/tables/part/PartTable.tsx:125 msgid "No stock" msgstr "" -#: src/tables/bom/BomTable.tsx:192 +#: src/tables/bom/BomTable.tsx:195 #: src/tables/build/BuildLineTable.tsx:104 -#: src/tables/part/PartTable.tsx:115 +#: src/tables/part/PartTable.tsx:116 msgid "External stock" msgstr "" -#: src/tables/bom/BomTable.tsx:200 +#: src/tables/bom/BomTable.tsx:203 #: src/tables/build/BuildLineTable.tsx:67 msgid "Includes substitute stock" msgstr "" -#: src/tables/bom/BomTable.tsx:209 +#: src/tables/bom/BomTable.tsx:212 #: src/tables/build/BuildLineTable.tsx:77 msgid "Includes variant stock" msgstr "" -#: src/tables/bom/BomTable.tsx:234 -#: src/tables/part/PartTable.tsx:143 +#: src/tables/bom/BomTable.tsx:237 +#: src/tables/part/PartTable.tsx:144 #: src/tables/stock/StockItemTable.tsx:205 msgid "Stock Information" msgstr "" -#: src/tables/bom/BomTable.tsx:246 +#: src/tables/bom/BomTable.tsx:249 #: src/tables/build/BuildLineTable.tsx:195 msgid "Consumable item" msgstr "" -#: src/tables/bom/BomTable.tsx:267 +#: src/tables/bom/BomTable.tsx:270 msgid "Show trackable items" msgstr "" -#: src/tables/bom/BomTable.tsx:272 +#: src/tables/bom/BomTable.tsx:275 msgid "Show asssmbled items" msgstr "" -#: src/tables/bom/BomTable.tsx:277 +#: src/tables/bom/BomTable.tsx:280 msgid "Show items with available stock" msgstr "" -#: src/tables/bom/BomTable.tsx:282 +#: src/tables/bom/BomTable.tsx:285 msgid "Show items on order" msgstr "" -#: src/tables/bom/BomTable.tsx:286 +#: src/tables/bom/BomTable.tsx:289 msgid "Validated" msgstr "" -#: src/tables/bom/BomTable.tsx:287 +#: src/tables/bom/BomTable.tsx:290 msgid "Show validated items" msgstr "" -#: src/tables/bom/BomTable.tsx:291 +#: src/tables/bom/BomTable.tsx:294 #: src/tables/bom/UsedInTable.tsx:63 msgid "Inherited" msgstr "" -#: src/tables/bom/BomTable.tsx:292 +#: src/tables/bom/BomTable.tsx:295 #: src/tables/bom/UsedInTable.tsx:64 msgid "Show inherited items" msgstr "" -#: src/tables/bom/BomTable.tsx:296 +#: src/tables/bom/BomTable.tsx:299 msgid "Allow Variants" msgstr "" -#: src/tables/bom/BomTable.tsx:297 +#: src/tables/bom/BomTable.tsx:300 msgid "Show items which allow variant substitution" msgstr "" #: src/tables/bom/BomTable.tsx:301 +#~ msgid "Create BOM Item" +#~ msgstr "Create BOM Item" + +#: src/tables/bom/BomTable.tsx:304 #: src/tables/bom/UsedInTable.tsx:68 #: src/tables/build/BuildLineTable.tsx:46 msgid "Optional" msgstr "" -#: src/tables/bom/BomTable.tsx:301 -#~ msgid "Create BOM Item" -#~ msgstr "Create BOM Item" - -#: src/tables/bom/BomTable.tsx:302 +#: src/tables/bom/BomTable.tsx:305 #: src/tables/bom/UsedInTable.tsx:69 msgid "Show optional items" msgstr "" -#: src/tables/bom/BomTable.tsx:306 +#: src/tables/bom/BomTable.tsx:309 #: src/tables/build/BuildLineTable.tsx:41 msgid "Consumable" msgstr "" -#: src/tables/bom/BomTable.tsx:307 +#: src/tables/bom/BomTable.tsx:310 msgid "Show consumable items" msgstr "" -#: src/tables/bom/BomTable.tsx:311 -#: src/tables/part/PartTable.tsx:250 +#: src/tables/bom/BomTable.tsx:314 +#: src/tables/part/PartTable.tsx:257 msgid "Has Pricing" msgstr "" -#: src/tables/bom/BomTable.tsx:312 +#: src/tables/bom/BomTable.tsx:315 msgid "Show items with pricing" msgstr "" -#: src/tables/bom/BomTable.tsx:321 -#: src/tables/bom/BomTable.tsx:420 +#: src/tables/bom/BomTable.tsx:324 +#: src/tables/bom/BomTable.tsx:426 msgid "Add BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:326 +#: src/tables/bom/BomTable.tsx:329 msgid "BOM item created" msgstr "" @@ -5097,23 +5245,23 @@ msgstr "" #~ msgid "Edit Bom Item" #~ msgstr "Edit Bom Item" -#: src/tables/bom/BomTable.tsx:333 -msgid "Edit BOM Item" -msgstr "" - #: src/tables/bom/BomTable.tsx:333 #~ msgid "Bom item updated" #~ msgstr "Bom item updated" -#: src/tables/bom/BomTable.tsx:335 +#: src/tables/bom/BomTable.tsx:336 +msgid "Edit BOM Item" +msgstr "" + +#: src/tables/bom/BomTable.tsx:338 msgid "BOM item updated" msgstr "" -#: src/tables/bom/BomTable.tsx:342 +#: src/tables/bom/BomTable.tsx:345 msgid "Delete BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:343 +#: src/tables/bom/BomTable.tsx:346 msgid "BOM item deleted" msgstr "" @@ -5133,32 +5281,41 @@ msgstr "" #~ msgid "Validate BOM line" #~ msgstr "Validate BOM line" -#: src/tables/bom/BomTable.tsx:355 +#: src/tables/bom/BomTable.tsx:358 msgid "BOM item validated" msgstr "" -#: src/tables/bom/BomTable.tsx:364 +#: src/tables/bom/BomTable.tsx:367 msgid "Failed to validate BOM item" msgstr "" -#: src/tables/bom/BomTable.tsx:376 +#: src/tables/bom/BomTable.tsx:379 msgid "View BOM" msgstr "" -#: src/tables/bom/BomTable.tsx:385 +#: src/tables/bom/BomTable.tsx:388 msgid "Validate BOM Line" msgstr "" -#: src/tables/bom/BomTable.tsx:399 +#: src/tables/bom/BomTable.tsx:405 msgid "Edit Substitutes" msgstr "" +#: src/tables/bom/BomTable.tsx:440 +#: src/tables/part/PartParameterTable.tsx:191 +msgid "Part is Locked" +msgstr "" + +#: src/tables/bom/BomTable.tsx:445 +msgid "Bill of materials cannot be edited, as the part is locked" +msgstr "" + #: src/tables/bom/UsedInTable.tsx:74 msgid "Show active assemblies" msgstr "" #: src/tables/bom/UsedInTable.tsx:78 -#: src/tables/part/PartTable.tsx:192 +#: src/tables/part/PartTable.tsx:199 #: src/tables/part/PartVariantTable.tsx:30 msgid "Trackable" msgstr "" @@ -5168,7 +5325,7 @@ msgid "Show trackable assemblies" msgstr "" #: src/tables/build/BuildLineTable.tsx:31 -#: src/tables/stock/StockItemTable.tsx:270 +#: src/tables/stock/StockItemTable.tsx:292 msgid "Allocated" msgstr "" @@ -5189,7 +5346,7 @@ msgid "Show optional lines" msgstr "" #: src/tables/build/BuildLineTable.tsx:51 -#: src/tables/stock/StockItemTable.tsx:329 +#: src/tables/stock/StockItemTable.tsx:351 msgid "Tracked" msgstr "" @@ -5302,10 +5459,6 @@ msgstr "" msgid "Deallocate stock from build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:205 -msgid "Complete" -msgstr "" - #: src/tables/build/BuildOutputTable.tsx:206 msgid "Complete build output" msgstr "" @@ -5635,7 +5788,7 @@ msgid "Message" msgstr "" #: src/tables/part/ParametricPartTable.tsx:76 -#: src/tables/part/PartParameterTable.tsx:88 +#: src/tables/part/PartParameterTable.tsx:95 msgid "Internal Units" msgstr "" @@ -5648,13 +5801,13 @@ msgid "Add Part Parameter" msgstr "" #: src/tables/part/ParametricPartTable.tsx:138 -#: src/tables/part/PartParameterTable.tsx:121 -#: src/tables/part/PartParameterTable.tsx:144 +#: src/tables/part/PartParameterTable.tsx:128 +#: src/tables/part/PartParameterTable.tsx:151 msgid "Edit Part Parameter" msgstr "" #: src/tables/part/PartCategoryTable.tsx:60 -#: src/tables/part/PartTable.tsx:180 +#: src/tables/part/PartTable.tsx:187 msgid "Include Subcategories" msgstr "" @@ -5667,7 +5820,7 @@ msgid "Show structural categories" msgstr "" #: src/tables/part/PartCategoryTable.tsx:70 -#: src/tables/part/PartTable.tsx:262 +#: src/tables/part/PartTable.tsx:269 msgid "Subscribed" msgstr "" @@ -5704,21 +5857,25 @@ msgstr "" #~ msgid "[{0}]" #~ msgstr "[{0}]" -#: src/tables/part/PartParameterTable.tsx:105 +#: src/tables/part/PartParameterTable.tsx:112 msgid "New Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:130 -#: src/tables/part/PartParameterTable.tsx:152 +#: src/tables/part/PartParameterTable.tsx:137 +#: src/tables/part/PartParameterTable.tsx:159 msgid "Delete Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:170 +#: src/tables/part/PartParameterTable.tsx:177 msgid "Add parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:191 -#: src/tables/stock/StockItemTable.tsx:300 +#: src/tables/part/PartParameterTable.tsx:196 +msgid "Part parameters cannot be edited, as the part is locked" +msgstr "" + +#: src/tables/part/PartParameterTable.tsx:210 +#: src/tables/stock/StockItemTable.tsx:322 msgid "Include Variants" msgstr "" @@ -5739,7 +5896,7 @@ msgid "Show templates with choices" msgstr "" #: src/tables/part/PartParameterTemplateTable.tsx:41 -#: src/tables/part/PartTable.tsx:198 +#: src/tables/part/PartTable.tsx:205 msgid "Has Units" msgstr "" @@ -5763,116 +5920,120 @@ msgstr "" msgid "Add parameter template" msgstr "" -#: src/tables/part/PartTable.tsx:67 +#: src/tables/part/PartTable.tsx:68 msgid "Minimum stock" msgstr "" -#: src/tables/part/PartTable.tsx:89 +#: src/tables/part/PartTable.tsx:90 msgid "Build Order Allocations" msgstr "" -#: src/tables/part/PartTable.tsx:98 +#: src/tables/part/PartTable.tsx:99 msgid "Sales Order Allocations" msgstr "" -#: src/tables/part/PartTable.tsx:169 +#: src/tables/part/PartTable.tsx:170 msgid "Filter by part active status" msgstr "" -#: src/tables/part/PartTable.tsx:174 -#: src/tables/stock/StockItemTable.tsx:265 +#: src/tables/part/PartTable.tsx:176 +msgid "Filter by part locked status" +msgstr "" + +#: src/tables/part/PartTable.tsx:181 +#: src/tables/stock/StockItemTable.tsx:287 msgid "Assembly" msgstr "" -#: src/tables/part/PartTable.tsx:175 +#: src/tables/part/PartTable.tsx:182 msgid "Filter by assembly attribute" msgstr "" -#: src/tables/part/PartTable.tsx:181 +#: src/tables/part/PartTable.tsx:188 msgid "Include parts in subcategories" msgstr "" -#: src/tables/part/PartTable.tsx:187 +#: src/tables/part/PartTable.tsx:194 msgid "Filter by component attribute" msgstr "" -#: src/tables/part/PartTable.tsx:193 +#: src/tables/part/PartTable.tsx:200 msgid "Filter by trackable attribute" msgstr "" -#: src/tables/part/PartTable.tsx:199 +#: src/tables/part/PartTable.tsx:206 msgid "Filter by parts which have units" msgstr "" -#: src/tables/part/PartTable.tsx:204 +#: src/tables/part/PartTable.tsx:211 msgid "Has IPN" msgstr "" -#: src/tables/part/PartTable.tsx:205 +#: src/tables/part/PartTable.tsx:212 msgid "Filter by parts which have an internal part number" msgstr "" -#: src/tables/part/PartTable.tsx:210 +#: src/tables/part/PartTable.tsx:217 msgid "Has Stock" msgstr "" -#: src/tables/part/PartTable.tsx:211 +#: src/tables/part/PartTable.tsx:218 msgid "Filter by parts which have stock" msgstr "" -#: src/tables/part/PartTable.tsx:217 +#: src/tables/part/PartTable.tsx:224 msgid "Filter by parts which have low stock" msgstr "" -#: src/tables/part/PartTable.tsx:222 +#: src/tables/part/PartTable.tsx:229 msgid "Purchaseable" msgstr "" -#: src/tables/part/PartTable.tsx:223 +#: src/tables/part/PartTable.tsx:230 msgid "Filter by parts which are purchaseable" msgstr "" -#: src/tables/part/PartTable.tsx:228 +#: src/tables/part/PartTable.tsx:235 msgid "Salable" msgstr "" -#: src/tables/part/PartTable.tsx:229 +#: src/tables/part/PartTable.tsx:236 msgid "Filter by parts which are salable" msgstr "" -#: src/tables/part/PartTable.tsx:235 +#: src/tables/part/PartTable.tsx:242 msgid "Filter by parts which are virtual" msgstr "" -#: src/tables/part/PartTable.tsx:239 +#: src/tables/part/PartTable.tsx:246 msgid "Not Virtual" msgstr "" -#: src/tables/part/PartTable.tsx:244 +#: src/tables/part/PartTable.tsx:251 msgid "Is Template" msgstr "" -#: src/tables/part/PartTable.tsx:245 +#: src/tables/part/PartTable.tsx:252 msgid "Filter by parts which are templates" msgstr "" -#: src/tables/part/PartTable.tsx:251 +#: src/tables/part/PartTable.tsx:258 msgid "Filter by parts which have pricing information" msgstr "" -#: src/tables/part/PartTable.tsx:257 +#: src/tables/part/PartTable.tsx:264 msgid "Filter by parts which have available stock" msgstr "" -#: src/tables/part/PartTable.tsx:263 +#: src/tables/part/PartTable.tsx:270 msgid "Filter by parts to which the user is subscribed" msgstr "" -#: src/tables/part/PartTable.tsx:268 +#: src/tables/part/PartTable.tsx:275 msgid "Has Stocktake" msgstr "" -#: src/tables/part/PartTable.tsx:269 +#: src/tables/part/PartTable.tsx:276 msgid "Filter by parts which have stocktake information" msgstr "" @@ -6211,7 +6372,7 @@ msgid "Sample" msgstr "" #: src/tables/plugin/PluginListTable.tsx:578 -#: src/tables/stock/StockItemTable.tsx:305 +#: src/tables/stock/StockItemTable.tsx:327 msgid "Installed" msgstr "" @@ -6486,6 +6647,41 @@ msgstr "" msgid "Edit group" msgstr "" +#: src/tables/settings/ImportSessionTable.tsx:39 +msgid "Delete Import Session" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:45 +#: src/tables/settings/ImportSessionTable.tsx:132 +msgid "Create Import Session" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:70 +msgid "Uploaded" +msgstr "Uploaded" + +#: src/tables/settings/ImportSessionTable.tsx:80 +msgid "Imported Rows" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:110 +#: src/tables/settings/TemplateTable.tsx:276 +msgid "Model Type" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:111 +#: src/tables/settings/TemplateTable.tsx:277 +msgid "Filter by target model type" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:117 +msgid "Filter by import session status" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:123 +msgid "Filter by user" +msgstr "" + #: src/tables/settings/PendingTasksTable.tsx:36 msgid "Arguments" msgstr "" @@ -6502,7 +6698,7 @@ msgstr "" msgid "Delete Project Code" msgstr "" -#: src/tables/settings/ProjectCodeTable.tsx:94 +#: src/tables/settings/ProjectCodeTable.tsx:92 msgid "Add project code" msgstr "" @@ -6571,14 +6767,6 @@ msgstr "" 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 "" @@ -6701,149 +6889,153 @@ msgstr "" msgid "This stock item has been depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:255 +#: src/tables/stock/StockItemTable.tsx:247 +msgid "Stock Value" +msgstr "" + +#: src/tables/stock/StockItemTable.tsx:277 msgid "Show stock for active parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:260 +#: src/tables/stock/StockItemTable.tsx:282 msgid "Filter by stock status" msgstr "" -#: src/tables/stock/StockItemTable.tsx:266 +#: src/tables/stock/StockItemTable.tsx:288 msgid "Show stock for assmebled parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:271 +#: src/tables/stock/StockItemTable.tsx:293 msgid "Show items which have been allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:276 +#: src/tables/stock/StockItemTable.tsx:298 msgid "Show items which are available" msgstr "" -#: src/tables/stock/StockItemTable.tsx:280 +#: src/tables/stock/StockItemTable.tsx:302 #: src/tables/stock/StockLocationTable.tsx:42 msgid "Include Sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:281 +#: src/tables/stock/StockItemTable.tsx:303 msgid "Include stock in sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:285 +#: src/tables/stock/StockItemTable.tsx:307 msgid "Depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:286 +#: src/tables/stock/StockItemTable.tsx:308 msgid "Show depleted stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:291 +#: src/tables/stock/StockItemTable.tsx:313 msgid "Show items which are in stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:296 +#: src/tables/stock/StockItemTable.tsx:318 msgid "Show items which are in production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:301 +#: src/tables/stock/StockItemTable.tsx:323 msgid "Include stock items for variant parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:306 +#: src/tables/stock/StockItemTable.tsx:328 msgid "Show stock items which are installed in other items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:310 +#: src/tables/stock/StockItemTable.tsx:332 msgid "Sent to Customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:311 +#: src/tables/stock/StockItemTable.tsx:333 msgid "Show items which have been sent to a customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:315 +#: src/tables/stock/StockItemTable.tsx:337 msgid "Is Serialized" msgstr "" -#: src/tables/stock/StockItemTable.tsx:316 +#: src/tables/stock/StockItemTable.tsx:338 msgid "Show items which have a serial number" msgstr "" -#: src/tables/stock/StockItemTable.tsx:323 +#: src/tables/stock/StockItemTable.tsx:345 msgid "Has Batch Code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:324 +#: src/tables/stock/StockItemTable.tsx:346 msgid "Show items which have a batch code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:330 +#: src/tables/stock/StockItemTable.tsx:352 msgid "Show tracked items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:334 +#: src/tables/stock/StockItemTable.tsx:356 msgid "Has Purchase Price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:335 +#: src/tables/stock/StockItemTable.tsx:357 msgid "Show items which have a purchase price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:343 +#: src/tables/stock/StockItemTable.tsx:365 msgid "External Location" msgstr "" -#: src/tables/stock/StockItemTable.tsx:344 +#: src/tables/stock/StockItemTable.tsx:366 msgid "Show items in an external location" msgstr "" -#: src/tables/stock/StockItemTable.tsx:416 +#: src/tables/stock/StockItemTable.tsx:438 msgid "Add a new stock item" msgstr "" -#: src/tables/stock/StockItemTable.tsx:425 +#: src/tables/stock/StockItemTable.tsx:447 msgid "Remove some quantity from a stock item" msgstr "" -#: src/tables/stock/StockItemTable.tsx:447 +#: src/tables/stock/StockItemTable.tsx:469 msgid "Move Stock items to new locations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:454 +#: src/tables/stock/StockItemTable.tsx:476 msgid "Change stock status" msgstr "" -#: src/tables/stock/StockItemTable.tsx:456 +#: src/tables/stock/StockItemTable.tsx:478 msgid "Change the status of stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:463 +#: src/tables/stock/StockItemTable.tsx:485 msgid "Merge stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:465 +#: src/tables/stock/StockItemTable.tsx:487 msgid "Merge stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:472 +#: src/tables/stock/StockItemTable.tsx:494 msgid "Order stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:474 -#: src/tables/stock/StockItemTable.tsx:480 +#: src/tables/stock/StockItemTable.tsx:496 +#: src/tables/stock/StockItemTable.tsx:502 msgid "Order new stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:478 +#: src/tables/stock/StockItemTable.tsx:500 msgid "Assign to customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:487 +#: src/tables/stock/StockItemTable.tsx:509 msgid "Delete stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:489 +#: src/tables/stock/StockItemTable.tsx:511 msgid "Delete stock items" msgstr "" @@ -6999,4 +7191,3 @@ msgstr "" #: src/views/MobileAppView.tsx:35 msgid "Ignore and continue to Desktop view" msgstr "" - diff --git a/src/frontend/src/locales/sr/messages.po b/src/frontend/src/locales/sr/messages.po index 34ce2941f029..9c03153fe7a8 100644 --- a/src/frontend/src/locales/sr/messages.po +++ b/src/frontend/src/locales/sr/messages.po @@ -49,16 +49,18 @@ msgstr "" #: src/components/buttons/PrintingActions.tsx:107 #: src/components/buttons/PrintingActions.tsx:144 #: src/components/editors/NotesEditor.tsx:65 -#: src/components/editors/NotesEditor.tsx:160 -#: src/components/forms/ApiForm.tsx:506 -#: src/components/forms/fields/ApiFormField.tsx:295 +#: src/components/editors/NotesEditor.tsx:165 +#: src/components/forms/ApiForm.tsx:513 +#: src/components/forms/fields/ApiFormField.tsx:306 +#: src/components/importer/ImportDataSelector.tsx:171 +#: src/components/importer/ImporterColumnSelector.tsx:112 #: src/components/modals/LicenseModal.tsx:75 #: src/components/nav/SearchDrawer.tsx:427 #: src/pages/ErrorPage.tsx:11 #: src/pages/part/PartPricingPanel.tsx:71 -#: src/tables/InvenTreeTable.tsx:451 -#: src/tables/InvenTreeTable.tsx:526 -#: src/tables/bom/BomTable.tsx:363 +#: src/tables/InvenTreeTable.tsx:470 +#: src/tables/InvenTreeTable.tsx:545 +#: src/tables/bom/BomTable.tsx:366 #: src/tables/stock/StockItemTestResultTable.tsx:294 msgid "Error" msgstr "Grеška" @@ -157,7 +159,7 @@ msgstr "" #: src/functions/forms.tsx:196 #: src/hooks/UseForm.tsx:40 #: src/tables/FilterSelectDrawer.tsx:204 -#: src/tables/InvenTreeTable.tsx:499 +#: src/tables/InvenTreeTable.tsx:518 #: src/tables/build/BuildOutputTable.tsx:225 msgid "Cancel" msgstr "" @@ -175,7 +177,7 @@ msgid "Clear" msgstr "" #: src/components/details/DetailsImage.tsx:227 -#: src/components/forms/ApiForm.tsx:573 +#: src/components/forms/ApiForm.tsx:580 #: src/contexts/ThemeContext.tsx:43 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:56 msgid "Submit" @@ -202,48 +204,61 @@ msgid "Delete image" msgstr "" #: src/components/details/PartIcons.tsx:28 +#: src/tables/ColumnRenderers.tsx:35 +msgid "Part is locked" +msgstr "" + +#: src/components/details/PartIcons.tsx:30 +#: src/pages/part/PartDetail.tsx:267 +#: src/pages/part/PartDetail.tsx:698 +#: src/tables/part/PartTable.tsx:175 +msgid "Locked" +msgstr "" + +#: src/components/details/PartIcons.tsx:35 +#: src/tables/ColumnRenderers.tsx:30 msgid "Part is not active" msgstr "" -#: src/components/details/PartIcons.tsx:34 +#: src/components/details/PartIcons.tsx:37 #: src/components/render/Plugin.tsx:17 #: src/pages/company/CompanyDetail.tsx:315 #: src/pages/company/SupplierPartDetail.tsx:307 -#: src/pages/part/PartDetail.tsx:685 +#: src/pages/part/PartDetail.tsx:704 msgid "Inactive" msgstr "" -#: src/components/details/PartIcons.tsx:41 +#: src/components/details/PartIcons.tsx:43 msgid "Part is a template part (variants can be made from this part)" msgstr "" -#: src/components/details/PartIcons.tsx:47 +#: src/components/details/PartIcons.tsx:49 msgid "Part can be assembled from other parts" msgstr "" -#: src/components/details/PartIcons.tsx:53 +#: src/components/details/PartIcons.tsx:55 msgid "Part can be used in assemblies" msgstr "" -#: src/components/details/PartIcons.tsx:59 +#: src/components/details/PartIcons.tsx:61 msgid "Part stock is tracked by serial number" msgstr "" -#: src/components/details/PartIcons.tsx:65 +#: src/components/details/PartIcons.tsx:67 msgid "Part can be purchased from external suppliers" msgstr "" -#: src/components/details/PartIcons.tsx:71 +#: src/components/details/PartIcons.tsx:73 msgid "Part can be sold to customers" msgstr "" -#: src/components/details/PartIcons.tsx:76 +#: src/components/details/PartIcons.tsx:78 msgid "Part is virtual (not a physical part)" msgstr "" -#: src/components/details/PartIcons.tsx:82 -#: src/tables/part/PartTable.tsx:234 -#: src/tables/part/PartTable.tsx:238 +#: src/components/details/PartIcons.tsx:84 +#: src/tables/part/PartTable.tsx:241 +#: src/tables/part/PartTable.tsx:245 #: src/tables/part/PartVariantTable.tsx:25 msgid "Virtual" msgstr "" @@ -252,29 +267,29 @@ msgstr "" msgid "Image upload failed" msgstr "" -#: src/components/editors/NotesEditor.tsx:151 -#: src/components/forms/ApiForm.tsx:430 -#: src/tables/bom/BomTable.tsx:354 +#: src/components/editors/NotesEditor.tsx:156 +#: src/components/forms/ApiForm.tsx:437 +#: src/tables/bom/BomTable.tsx:357 msgid "Success" msgstr "Uspešno" -#: src/components/editors/NotesEditor.tsx:152 +#: src/components/editors/NotesEditor.tsx:157 msgid "Notes saved successfully" msgstr "" -#: src/components/editors/NotesEditor.tsx:161 +#: src/components/editors/NotesEditor.tsx:166 msgid "Failed to save notes" msgstr "" -#: src/components/editors/NotesEditor.tsx:193 +#: src/components/editors/NotesEditor.tsx:198 msgid "Preview Notes" msgstr "" -#: src/components/editors/NotesEditor.tsx:193 +#: src/components/editors/NotesEditor.tsx:198 msgid "Edit Notes" msgstr "" -#: src/components/editors/NotesEditor.tsx:207 +#: src/components/editors/NotesEditor.tsx:212 msgid "Save Notes" msgstr "" @@ -407,7 +422,7 @@ msgstr "" msgid "A server error occurred" msgstr "" -#: src/components/forms/ApiForm.tsx:149 +#: src/components/forms/ApiForm.tsx:151 #: src/functions/forms.tsx:259 msgid "Form Error" msgstr "Greška Obrasca" @@ -416,18 +431,18 @@ msgstr "Greška Obrasca" #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:611 +#: src/components/forms/ApiForm.tsx:618 #: src/tables/plugin/PluginListTable.tsx:388 msgid "Update" msgstr "Obnovi" -#: src/components/forms/ApiForm.tsx:631 +#: src/components/forms/ApiForm.tsx:638 #: 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:498 +#: src/tables/InvenTreeTable.tsx:517 #: src/tables/RowActions.tsx:71 #: src/tables/plugin/PluginListTable.tsx:420 msgid "Delete" @@ -600,7 +615,7 @@ msgstr "Host" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:70 #: src/pages/part/CategoryDetail.tsx:80 -#: src/pages/part/PartDetail.tsx:122 +#: src/pages/part/PartDetail.tsx:123 #: src/pages/stock/LocationDetail.tsx:87 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 @@ -685,6 +700,124 @@ msgstr "" msgid "Thumbnail" msgstr "Sličice" +#: src/components/importer/ImportDataSelector.tsx:154 +msgid "Importing Rows" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:155 +msgid "Please wait while the data is imported" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:172 +msgid "An error occurred while importing data" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:191 +msgid "Edit Data" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:218 +msgid "Delete Row" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:248 +msgid "Row" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:266 +msgid "Row contains errors" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:307 +msgid "Accept" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:340 +msgid "Valid" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:341 +msgid "Filter by row validation status" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:346 +#: src/tables/build/BuildOutputTable.tsx:205 +msgid "Complete" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:347 +msgid "Filter by row completion status" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:364 +msgid "Import selected rows" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:46 +#: src/components/importer/ImporterColumnSelector.tsx:85 +msgid "An error occurred" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:57 +msgid "Select column, or leave blank to ignore this field." +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:91 +msgid "Select a column from the data file" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:104 +msgid "Map data columns to database fields" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:109 +msgid "Accept Column Mapping" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:117 +msgid "Database Field" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:118 +msgid "Field Description" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:119 +msgid "Imported Column Name" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:44 +msgid "Import Data" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:45 +msgid "Map Columns" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:46 +msgid "Process Data" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:47 +msgid "Complete Import" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:91 +msgid "Importing Data" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:97 +msgid "Cancel import session" +msgstr "" + +#: src/components/importer/ImporterImportProgress.tsx:36 +msgid "Importing Records" +msgstr "" + +#: src/components/importer/ImporterImportProgress.tsx:39 +msgid "Imported rows" +msgstr "" + #: src/components/items/ActionDropdown.tsx:119 #: src/pages/build/BuildDetail.tsx:358 msgid "Barcode Actions" @@ -738,7 +871,7 @@ msgid "Read More" msgstr "Saznaj više" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:443 +#: src/tables/InvenTreeTable.tsx:462 msgid "Unknown error" msgstr "Nepoznata greška" @@ -1039,13 +1172,13 @@ msgstr "" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:313 +#: src/pages/Index/Settings/SystemSettings.tsx:314 msgid "System Settings" msgstr "" #: src/components/nav/MainMenu.tsx:67 #: src/defaults/menuItems.tsx:63 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:198 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:209 msgid "Admin Center" msgstr "" @@ -1088,7 +1221,7 @@ msgid "Pages" msgstr "" #: src/components/nav/NavigationDrawer.tsx:65 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:157 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:168 #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:41 msgid "Plugins" msgstr "" @@ -1102,7 +1235,7 @@ msgstr "" msgid "About" msgstr "" -#: src/components/nav/NotificationDrawer.tsx:78 +#: src/components/nav/NotificationDrawer.tsx:81 #: src/pages/Index/Settings/SystemSettings.tsx:108 #: src/pages/Index/Settings/UserSettings.tsx:96 #: src/pages/Notifications.tsx:65 @@ -1110,17 +1243,17 @@ msgstr "" msgid "Notifications" msgstr "" -#: src/components/nav/NotificationDrawer.tsx:95 +#: src/components/nav/NotificationDrawer.tsx:98 msgid "You have no unread notifications." msgstr "" -#: src/components/nav/NotificationDrawer.tsx:111 -#: src/components/nav/NotificationDrawer.tsx:117 +#: src/components/nav/NotificationDrawer.tsx:114 +#: src/components/nav/NotificationDrawer.tsx:120 #: src/tables/notifications/NotificationsTable.tsx:36 msgid "Notification" msgstr "" -#: src/components/nav/NotificationDrawer.tsx:140 +#: src/components/nav/NotificationDrawer.tsx:143 #: src/pages/Notifications.tsx:73 msgid "Mark as read" msgstr "" @@ -1157,7 +1290,7 @@ msgstr "" msgid "No results available for search query" msgstr "" -#: src/components/render/Instance.tsx:166 +#: src/components/render/Instance.tsx:201 msgid "Unknown model: {model}" msgstr "" @@ -1172,7 +1305,8 @@ msgstr "" #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 #: src/pages/build/BuildDetail.tsx:85 -#: src/pages/part/PartDetail.tsx:831 +#: src/pages/part/PartDetail.tsx:872 +#: src/tables/part/PartTable.tsx:28 #: src/tables/part/RelatedPartTable.tsx:45 #: src/tables/stock/StockTrackingTable.tsx:74 msgid "Part" @@ -1185,7 +1319,7 @@ msgstr "" #: src/pages/part/CategoryDetail.tsx:112 #: src/pages/part/CategoryDetail.tsx:237 #: src/pages/part/CategoryDetail.tsx:267 -#: src/pages/part/PartDetail.tsx:639 +#: src/pages/part/PartDetail.tsx:652 msgid "Parts" msgstr "" @@ -1235,7 +1369,7 @@ msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:172 #: src/pages/part/CategoryDetail.tsx:251 #: src/pages/part/CategoryDetail.tsx:288 -#: src/pages/part/PartDetail.tsx:821 +#: src/pages/part/PartDetail.tsx:862 msgid "Part Categories" msgstr "" @@ -1317,7 +1451,7 @@ msgid "Project Code" msgstr "" #: src/components/render/ModelType.tsx:127 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:109 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:120 msgid "Project Codes" msgstr "" @@ -1329,10 +1463,10 @@ msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:134 -#: src/pages/Index/Settings/SystemSettings.tsx:257 +#: src/pages/Index/Settings/SystemSettings.tsx:258 #: src/pages/company/CompanyDetail.tsx:194 #: src/pages/company/SupplierPartDetail.tsx:226 -#: src/pages/part/PartDetail.tsx:573 +#: src/pages/part/PartDetail.tsx:586 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "" @@ -1354,9 +1488,9 @@ msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:272 +#: src/pages/Index/Settings/SystemSettings.tsx:273 #: src/pages/company/CompanyDetail.tsx:214 -#: src/pages/part/PartDetail.tsx:580 +#: src/pages/part/PartDetail.tsx:593 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" @@ -1376,7 +1510,7 @@ msgid "Return Order" msgstr "" #: src/components/render/ModelType.tsx:164 -#: src/pages/Index/Settings/SystemSettings.tsx:288 +#: src/pages/Index/Settings/SystemSettings.tsx:289 #: src/pages/company/CompanyDetail.tsx:221 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1413,40 +1547,49 @@ msgid "Owners" msgstr "" #: src/components/render/ModelType.tsx:193 +#: src/tables/settings/ImportSessionTable.tsx:122 #: src/tables/stock/StockItemTestResultTable.tsx:193 #: src/tables/stock/StockTrackingTable.tsx:195 msgid "User" msgstr "" #: src/components/render/ModelType.tsx:194 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:85 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:90 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" msgstr "" #: src/components/render/ModelType.tsx:200 -msgid "Label Template" +msgid "Import Session" msgstr "" #: src/components/render/ModelType.tsx:201 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:139 -msgid "Label Templates" +msgid "Import Sessions" msgstr "" #: src/components/render/ModelType.tsx:207 -msgid "Report Template" +msgid "Label Template" msgstr "" #: src/components/render/ModelType.tsx:208 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:145 -msgid "Report Templates" +#: src/pages/Index/Settings/AdminCenter/Index.tsx:150 +msgid "Label Templates" msgstr "" #: src/components/render/ModelType.tsx:214 -msgid "Plugin Configuration" +msgid "Report Template" msgstr "" #: src/components/render/ModelType.tsx:215 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:156 +msgid "Report Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:221 +msgid "Plugin Configuration" +msgstr "" + +#: src/components/render/ModelType.tsx:222 msgid "Plugin Configurations" msgstr "" @@ -1458,7 +1601,7 @@ msgstr "" #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 #: src/pages/Index/Settings/SystemSettings.tsx:210 -#: src/pages/part/PartDetail.tsx:492 +#: src/pages/part/PartDetail.tsx:503 #: src/pages/stock/LocationDetail.tsx:347 #: src/pages/stock/StockDetail.tsx:356 #: src/tables/stock/StockItemTable.tsx:57 @@ -1641,10 +1784,6 @@ msgstr "" #~ msgid "Comment" #~ msgstr "Comment" -#: src/components/tables/general/AttachmentTable.tsx:56 -#~ msgid "Uploaded" -#~ msgstr "Uploaded" - #: src/components/tables/part/PartCategoryTable.tsx:122 #~ msgid "Part category updated" #~ msgstr "Part category updated" @@ -2157,7 +2296,7 @@ msgid "Recently Updated" msgstr "" #: src/defaults/dashboardItems.tsx:50 -#: src/tables/part/PartTable.tsx:216 +#: src/tables/part/PartTable.tsx:223 msgid "Low Stock" msgstr "" @@ -2466,7 +2605,7 @@ msgstr "" #~ msgid "Company updated" #~ msgstr "Company updated" -#: src/forms/PartForms.tsx:100 +#: src/forms/PartForms.tsx:103 msgid "Parent part category" msgstr "" @@ -2534,7 +2673,7 @@ msgstr "" #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 #: src/pages/stock/StockDetail.tsx:173 -#: src/tables/ColumnRenderers.tsx:34 +#: src/tables/ColumnRenderers.tsx:49 #: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" msgstr "" @@ -2585,8 +2724,8 @@ msgstr "" #: src/forms/StockForms.tsx:176 #: src/pages/stock/StockDetail.tsx:379 -#: src/tables/stock/StockItemTable.tsx:382 -#: src/tables/stock/StockItemTable.tsx:499 +#: src/tables/stock/StockItemTable.tsx:404 +#: src/tables/stock/StockItemTable.tsx:521 msgid "Add Stock Item" msgstr "" @@ -2606,9 +2745,9 @@ msgstr "" #: src/forms/StockForms.tsx:606 #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 -#: src/pages/part/PartDetail.tsx:202 -#: src/pages/part/PartDetail.tsx:655 -#: src/tables/stock/StockItemTable.tsx:290 +#: src/pages/part/PartDetail.tsx:203 +#: src/pages/part/PartDetail.tsx:668 +#: src/tables/stock/StockItemTable.tsx:312 msgid "In Stock" msgstr "" @@ -2649,12 +2788,12 @@ msgid "Remove Stock" msgstr "" #: src/forms/StockForms.tsx:803 -#: src/pages/part/PartDetail.tsx:782 +#: src/pages/part/PartDetail.tsx:823 msgid "Transfer Stock" msgstr "" #: src/forms/StockForms.tsx:812 -#: src/pages/part/PartDetail.tsx:771 +#: src/pages/part/PartDetail.tsx:812 msgid "Count Stock" msgstr "" @@ -3279,53 +3418,57 @@ msgstr "" #~ msgid "Advanced Amininistrative Options for InvenTree" #~ msgstr "Advanced Amininistrative Options for InvenTree" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:91 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:96 +msgid "Data Import" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:102 msgid "Background Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:97 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:108 msgid "Error Reports" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:103 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:114 msgid "Currencies" 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:132 msgid "Custom Units" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:138 #: src/pages/part/CategoryDetail.tsx:257 msgid "Part Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 -#~ msgid "Templates" -#~ msgstr "Templates" - -#: src/pages/Index/Settings/AdminCenter/Index.tsx:133 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:144 msgid "Category Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:151 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:162 msgid "Location types" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:163 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:174 #: src/tables/machine/MachineTypeTable.tsx:287 msgid "Machines" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:173 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:184 msgid "Quick Actions" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:178 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:189 msgid "Add a new user" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:199 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:210 msgid "Advanced Options" msgstr "" @@ -3477,7 +3620,7 @@ msgid "Reporting" msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:235 -#: src/pages/part/PartDetail.tsx:593 +#: src/pages/part/PartDetail.tsx:606 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" @@ -3485,12 +3628,12 @@ msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:241 #: src/pages/build/BuildDetail.tsx:423 #: src/pages/build/BuildIndex.tsx:14 -#: src/pages/part/PartDetail.tsx:527 +#: src/pages/part/PartDetail.tsx:540 #: src/pages/sales/SalesOrderDetail.tsx:270 msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:316 +#: src/pages/Index/Settings/SystemSettings.tsx:317 msgid "Switch to User Setting" msgstr "" @@ -3555,7 +3698,8 @@ msgstr "" #: 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/settings/ImportSessionTable.tsx:116 +#: src/tables/stock/StockItemTable.tsx:281 #: src/tables/stock/StockTrackingTable.tsx:52 msgid "Status" msgstr "" @@ -3564,7 +3708,7 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:104 #: src/pages/sales/ReturnOrderDetail.tsx:73 #: src/pages/sales/SalesOrderDetail.tsx:77 -#: src/tables/ColumnRenderers.tsx:106 +#: src/tables/ColumnRenderers.tsx:121 #: src/tables/build/BuildLineTable.tsx:140 msgid "Reference" msgstr "" @@ -3574,12 +3718,12 @@ msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:78 #: src/pages/company/SupplierPartDetail.tsx:85 #: src/pages/part/CategoryDetail.tsx:94 -#: src/pages/part/PartDetail.tsx:129 +#: src/pages/part/PartDetail.tsx:130 #: src/pages/purchasing/PurchaseOrderDetail.tsx:125 #: src/pages/sales/ReturnOrderDetail.tsx:93 #: src/pages/sales/SalesOrderDetail.tsx:97 #: src/pages/stock/LocationDetail.tsx:101 -#: src/tables/ColumnRenderers.tsx:66 +#: src/tables/ColumnRenderers.tsx:81 #: src/tables/machine/MachineTypeTable.tsx:69 #: src/tables/machine/MachineTypeTable.tsx:112 #: src/tables/machine/MachineTypeTable.tsx:219 @@ -3610,7 +3754,7 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:152 -#: src/pages/part/PartDetail.tsx:317 +#: src/pages/part/PartDetail.tsx:323 #: src/pages/purchasing/PurchaseOrderDetail.tsx:217 #: src/pages/sales/ReturnOrderDetail.tsx:186 #: src/pages/sales/SalesOrderDetail.tsx:190 @@ -3630,7 +3774,7 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:210 #: src/pages/sales/ReturnOrderDetail.tsx:179 #: src/pages/sales/SalesOrderDetail.tsx:183 -#: src/tables/ColumnRenderers.tsx:191 +#: src/tables/ColumnRenderers.tsx:206 msgid "Target Date" msgstr "" @@ -3711,7 +3855,7 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:297 #: src/pages/company/CompanyDetail.tsx:257 #: src/pages/company/ManufacturerPartDetail.tsx:174 -#: src/pages/part/PartDetail.tsx:616 +#: src/pages/part/PartDetail.tsx:629 #: src/pages/purchasing/PurchaseOrderDetail.tsx:279 #: src/pages/sales/ReturnOrderDetail.tsx:230 #: src/pages/sales/SalesOrderDetail.tsx:280 @@ -3721,7 +3865,7 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:305 #: src/pages/company/CompanyDetail.tsx:268 -#: src/pages/part/PartDetail.tsx:624 +#: src/pages/part/PartDetail.tsx:637 #: src/pages/purchasing/PurchaseOrderDetail.tsx:290 #: src/pages/sales/ReturnOrderDetail.tsx:241 #: src/pages/sales/SalesOrderDetail.tsx:291 @@ -3877,12 +4021,12 @@ msgid "Manufacturer Part Details" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:148 -#: src/pages/part/PartDetail.tsx:486 +#: src/pages/part/PartDetail.tsx:492 msgid "Parameters" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:160 -#: src/pages/part/PartDetail.tsx:560 +#: src/pages/part/PartDetail.tsx:573 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" msgstr "" @@ -3907,7 +4051,7 @@ msgid "ManufacturerPart" msgstr "" #: src/pages/company/SupplierPartDetail.tsx:99 -#: src/tables/ColumnRenderers.tsx:117 +#: src/tables/ColumnRenderers.tsx:132 msgid "Note" msgstr "" @@ -4043,275 +4187,275 @@ msgstr "" msgid "Category Details" msgstr "" -#: src/pages/part/PartDetail.tsx:135 +#: src/pages/part/PartDetail.tsx:136 msgid "Variant of" msgstr "" -#: src/pages/part/PartDetail.tsx:142 +#: src/pages/part/PartDetail.tsx:143 #: src/tables/notifications/NotificationsTable.tsx:31 #: src/tables/part/PartCategoryTemplateTable.tsx:67 msgid "Category" msgstr "" -#: src/pages/part/PartDetail.tsx:148 +#: src/pages/part/PartDetail.tsx:149 msgid "Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:155 +#: src/pages/part/PartDetail.tsx:156 msgid "Category Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:162 +#: src/pages/part/PartDetail.tsx:163 msgid "IPN" msgstr "" -#: src/pages/part/PartDetail.tsx:169 +#: src/pages/part/PartDetail.tsx:170 msgid "Revision" msgstr "" -#: src/pages/part/PartDetail.tsx:176 +#: src/pages/part/PartDetail.tsx:177 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" msgstr "" -#: src/pages/part/PartDetail.tsx:183 +#: src/pages/part/PartDetail.tsx:184 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:190 +#: src/pages/part/PartDetail.tsx:191 #: src/pages/purchasing/PurchaseOrderDetail.tsx:183 #: src/pages/sales/ReturnOrderDetail.tsx:152 #: src/pages/sales/SalesOrderDetail.tsx:156 msgid "Link" msgstr "" -#: src/pages/part/PartDetail.tsx:208 -#: src/tables/bom/BomTable.tsx:276 +#: src/pages/part/PartDetail.tsx:209 +#: src/tables/bom/BomTable.tsx:279 #: src/tables/build/BuildLineTable.tsx:121 -#: src/tables/part/PartTable.tsx:256 +#: src/tables/part/PartTable.tsx:263 msgid "Available Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:215 +#: src/pages/part/PartDetail.tsx:216 msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:221 -#: src/tables/bom/BomTable.tsx:217 +#: src/pages/part/PartDetail.tsx:222 +#: src/tables/bom/BomTable.tsx:220 #: src/tables/build/BuildLineTable.tsx:95 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:230 +#: src/pages/part/PartDetail.tsx:231 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:238 +#: src/pages/part/PartDetail.tsx:239 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:245 -#: src/tables/bom/BomTable.tsx:241 +#: src/pages/part/PartDetail.tsx:246 +#: src/tables/bom/BomTable.tsx:244 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:252 -#: src/tables/bom/BomTable.tsx:225 -#: src/tables/part/PartTable.tsx:82 +#: src/pages/part/PartDetail.tsx:253 +#: src/tables/bom/BomTable.tsx:228 +#: src/tables/part/PartTable.tsx:83 msgid "Building" msgstr "" -#: src/pages/part/PartDetail.tsx:261 +#: src/pages/part/PartDetail.tsx:262 #: src/tables/bom/UsedInTable.tsx:73 #: src/tables/build/BuildOrderTable.tsx:108 #: src/tables/company/CompanyTable.tsx:61 #: src/tables/company/CompanyTable.tsx:95 #: src/tables/machine/MachineListTable.tsx:323 #: src/tables/machine/MachineListTable.tsx:585 -#: src/tables/part/PartTable.tsx:168 +#: src/tables/part/PartTable.tsx:169 #: src/tables/part/PartVariantTable.tsx:15 #: 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 +#: src/tables/stock/StockItemTable.tsx:276 msgid "Active" msgstr "" -#: src/pages/part/PartDetail.tsx:266 +#: src/pages/part/PartDetail.tsx:272 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:271 -#: src/tables/bom/BomTable.tsx:271 +#: src/pages/part/PartDetail.tsx:277 +#: src/tables/bom/BomTable.tsx:274 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:276 +#: src/pages/part/PartDetail.tsx:282 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:281 -#: src/tables/bom/BomTable.tsx:266 +#: src/pages/part/PartDetail.tsx:287 +#: src/tables/bom/BomTable.tsx:269 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:286 +#: src/pages/part/PartDetail.tsx:292 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:291 +#: src/pages/part/PartDetail.tsx:297 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:296 +#: src/pages/part/PartDetail.tsx:302 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:304 -#: src/tables/ColumnRenderers.tsx:199 +#: src/pages/part/PartDetail.tsx:310 +#: src/tables/ColumnRenderers.tsx:214 msgid "Creation Date" msgstr "" -#: src/pages/part/PartDetail.tsx:309 -msgid "Created By" -msgstr "" - #: src/pages/part/PartDetail.tsx:310 #~ msgid "Edit part" #~ msgstr "Edit part" +#: src/pages/part/PartDetail.tsx:315 +msgid "Created By" +msgstr "" + #: src/pages/part/PartDetail.tsx:322 #~ msgid "Duplicate part" #~ msgstr "Duplicate part" -#: src/pages/part/PartDetail.tsx:324 -msgid "Default Supplier" -msgstr "" - #: src/pages/part/PartDetail.tsx:327 #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:335 +#: src/pages/part/PartDetail.tsx:330 +msgid "Default Supplier" +msgstr "" + +#: src/pages/part/PartDetail.tsx:341 #: src/pages/part/pricing/BomPricingPanel.tsx:78 #: src/pages/part/pricing/VariantPricingPanel.tsx:95 -#: src/tables/part/PartTable.tsx:151 +#: src/tables/part/PartTable.tsx:152 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:374 +#: src/pages/part/PartDetail.tsx:380 #: src/pages/stock/StockDetail.tsx:133 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:409 +#: src/pages/part/PartDetail.tsx:415 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:480 +#: src/pages/part/PartDetail.tsx:486 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:506 +#: src/pages/part/PartDetail.tsx:517 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:513 +#: src/pages/part/PartDetail.tsx:524 #: src/pages/stock/StockDetail.tsx:286 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:520 +#: src/pages/part/PartDetail.tsx:531 msgid "Bill of Materials" msgstr "" -#: src/pages/part/PartDetail.tsx:534 +#: src/pages/part/PartDetail.tsx:547 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:541 +#: src/pages/part/PartDetail.tsx:554 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:547 +#: src/pages/part/PartDetail.tsx:560 #: src/pages/purchasing/PurchasingIndex.tsx:37 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:587 +#: src/pages/part/PartDetail.tsx:600 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:599 +#: src/pages/part/PartDetail.tsx:612 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:610 +#: src/pages/part/PartDetail.tsx:623 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:661 +#: src/pages/part/PartDetail.tsx:674 #: src/pages/stock/StockDetail.tsx:154 #: src/pages/stock/StockDetail.tsx:533 #: src/tables/build/BuildLineTable.tsx:36 -#: src/tables/part/PartTable.tsx:107 +#: src/tables/part/PartTable.tsx:108 #: src/tables/stock/StockItemTable.tsx:166 -#: src/tables/stock/StockItemTable.tsx:275 +#: src/tables/stock/StockItemTable.tsx:297 msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:667 +#: src/pages/part/PartDetail.tsx:680 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:673 -#: src/tables/bom/BomTable.tsx:281 -#: src/tables/part/PartTable.tsx:76 +#: src/pages/part/PartDetail.tsx:686 +#: src/tables/bom/BomTable.tsx:284 +#: src/tables/part/PartTable.tsx:77 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:679 +#: src/pages/part/PartDetail.tsx:692 #: src/pages/stock/StockDetail.tsx:516 -#: src/tables/stock/StockItemTable.tsx:295 +#: src/tables/stock/StockItemTable.tsx:317 msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:698 +#: src/pages/part/PartDetail.tsx:717 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:705 -#: src/tables/part/PartTable.tsx:289 -#: src/tables/part/PartTable.tsx:302 +#: src/pages/part/PartDetail.tsx:744 +#: src/tables/part/PartTable.tsx:296 +#: src/tables/part/PartTable.tsx:309 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:717 +#: src/pages/part/PartDetail.tsx:758 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:726 +#: src/pages/part/PartDetail.tsx:767 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:764 +#: src/pages/part/PartDetail.tsx:805 #: src/pages/stock/LocationDetail.tsx:304 -#: src/tables/stock/StockItemTable.tsx:409 +#: src/tables/stock/StockItemTable.tsx:431 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:772 +#: src/pages/part/PartDetail.tsx:813 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:824 msgid "Transfer part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:792 +#: src/pages/part/PartDetail.tsx:833 msgid "Part Actions" msgstr "" @@ -4359,8 +4503,8 @@ msgstr "" #: src/pages/part/pricing/BomPricingPanel.tsx:57 #: src/pages/part/pricing/BomPricingPanel.tsx:137 -#: src/tables/ColumnRenderers.tsx:241 -#: src/tables/bom/BomTable.tsx:165 +#: src/tables/ColumnRenderers.tsx:256 +#: src/tables/bom/BomTable.tsx:168 #: src/tables/purchasing/PurchaseOrderTable.tsx:112 #: src/tables/sales/ReturnOrderTable.tsx:104 #: src/tables/sales/SalesOrderTable.tsx:134 @@ -4369,7 +4513,7 @@ msgstr "" #: src/pages/part/pricing/BomPricingPanel.tsx:77 #: src/pages/part/pricing/BomPricingPanel.tsx:101 -#: src/tables/part/PartTable.tsx:186 +#: src/tables/part/PartTable.tsx:193 msgid "Component" msgstr "" @@ -4398,7 +4542,7 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:67 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:128 #: src/pages/part/pricing/SupplierPricingPanel.tsx:62 -#: src/tables/bom/BomTable.tsx:156 +#: src/tables/bom/BomTable.tsx:159 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 msgid "Unit Price" @@ -4498,7 +4642,7 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:40 #: src/pages/part/pricing/SaleHistoryPanel.tsx:36 -#: src/tables/ColumnRenderers.tsx:180 +#: src/tables/ColumnRenderers.tsx:195 #: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" @@ -4771,12 +4915,12 @@ msgid "Count stock" msgstr "" #: src/pages/stock/StockDetail.tsx:459 -#: src/tables/stock/StockItemTable.tsx:414 +#: src/tables/stock/StockItemTable.tsx:436 msgid "Add stock" msgstr "" #: src/pages/stock/StockDetail.tsx:467 -#: src/tables/stock/StockItemTable.tsx:423 +#: src/tables/stock/StockItemTable.tsx:445 msgid "Remove stock" msgstr "" @@ -4785,7 +4929,7 @@ msgid "Transfer" msgstr "" #: src/pages/stock/StockDetail.tsx:475 -#: src/tables/stock/StockItemTable.tsx:443 +#: src/tables/stock/StockItemTable.tsx:465 msgid "Transfer stock" msgstr "" @@ -4793,15 +4937,15 @@ msgstr "" msgid "Stock Item Actions" msgstr "" -#: src/tables/ColumnRenderers.tsx:42 +#: src/tables/ColumnRenderers.tsx:57 msgid "No location set" msgstr "" -#: src/tables/ColumnRenderers.tsx:207 +#: src/tables/ColumnRenderers.tsx:222 msgid "Shipment Date" msgstr "" -#: src/tables/ColumnRenderers.tsx:227 +#: src/tables/ColumnRenderers.tsx:242 #: src/tables/settings/CurrencyTable.tsx:23 msgid "Currency" msgstr "" @@ -4828,14 +4972,14 @@ msgid "TSV" msgstr "" #: src/tables/DownloadAction.tsx:24 -msgid "Excel (.xls)" -msgstr "" - -#: src/tables/DownloadAction.tsx:25 msgid "Excel (.xlsx)" msgstr "" -#: src/tables/DownloadAction.tsx:39 +#: src/tables/DownloadAction.tsx:24 +#~ msgid "Excel (.xls)" +#~ msgstr "" + +#: src/tables/DownloadAction.tsx:38 msgid "Download Data" msgstr "" @@ -4900,54 +5044,54 @@ msgstr "" msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:119 -#: src/tables/InvenTreeTable.tsx:390 -#: src/tables/InvenTreeTable.tsx:411 +#: src/tables/InvenTreeTable.tsx:126 +#: src/tables/InvenTreeTable.tsx:409 +#: src/tables/InvenTreeTable.tsx:430 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:422 +#: src/tables/InvenTreeTable.tsx:441 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:430 +#: src/tables/InvenTreeTable.tsx:449 msgid "Bad request" msgstr "" -#: src/tables/InvenTreeTable.tsx:433 +#: src/tables/InvenTreeTable.tsx:452 msgid "Unauthorized" msgstr "" -#: src/tables/InvenTreeTable.tsx:436 +#: src/tables/InvenTreeTable.tsx:455 msgid "Forbidden" msgstr "" -#: src/tables/InvenTreeTable.tsx:439 +#: src/tables/InvenTreeTable.tsx:458 msgid "Not found" msgstr "" -#: src/tables/InvenTreeTable.tsx:488 -#: src/tables/InvenTreeTable.tsx:606 +#: src/tables/InvenTreeTable.tsx:507 +#: src/tables/InvenTreeTable.tsx:623 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:492 +#: src/tables/InvenTreeTable.tsx:511 msgid "Are you sure you want to delete the selected records?" msgstr "" -#: src/tables/InvenTreeTable.tsx:494 +#: src/tables/InvenTreeTable.tsx:513 msgid "This action cannot be undone!" msgstr "" -#: src/tables/InvenTreeTable.tsx:517 +#: src/tables/InvenTreeTable.tsx:536 msgid "Deleted records" msgstr "" -#: src/tables/InvenTreeTable.tsx:518 +#: src/tables/InvenTreeTable.tsx:537 msgid "Records were deleted successfully" msgstr "" -#: src/tables/InvenTreeTable.tsx:527 +#: src/tables/InvenTreeTable.tsx:546 msgid "Failed to delete records" msgstr "" @@ -4956,140 +5100,144 @@ msgstr "" #~ msgid "Print actions" #~ msgstr "Print actions" -#: src/tables/InvenTreeTable.tsx:596 -#: src/tables/InvenTreeTable.tsx:597 +#: src/tables/InvenTreeTable.tsx:613 +#: src/tables/InvenTreeTable.tsx:614 msgid "Barcode actions" msgstr "" -#: src/tables/InvenTreeTable.tsx:625 +#: src/tables/InvenTreeTable.tsx:642 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTable.tsx:646 +#: src/tables/InvenTreeTable.tsx:663 msgid "Table filters" msgstr "" -#: src/tables/bom/BomTable.tsx:80 +#: src/tables/UploadAction.tsx:9 +msgid "Upload Data" +msgstr "" + +#: src/tables/bom/BomTable.tsx:83 msgid "This BOM item is defined for a different parent" msgstr "" -#: src/tables/bom/BomTable.tsx:95 +#: src/tables/bom/BomTable.tsx:98 msgid "Part Information" msgstr "" -#: src/tables/bom/BomTable.tsx:184 -#: src/tables/part/PartTable.tsx:124 +#: src/tables/bom/BomTable.tsx:187 +#: src/tables/part/PartTable.tsx:125 msgid "No stock" msgstr "" -#: src/tables/bom/BomTable.tsx:192 +#: src/tables/bom/BomTable.tsx:195 #: src/tables/build/BuildLineTable.tsx:104 -#: src/tables/part/PartTable.tsx:115 +#: src/tables/part/PartTable.tsx:116 msgid "External stock" msgstr "" -#: src/tables/bom/BomTable.tsx:200 +#: src/tables/bom/BomTable.tsx:203 #: src/tables/build/BuildLineTable.tsx:67 msgid "Includes substitute stock" msgstr "" -#: src/tables/bom/BomTable.tsx:209 +#: src/tables/bom/BomTable.tsx:212 #: src/tables/build/BuildLineTable.tsx:77 msgid "Includes variant stock" msgstr "" -#: src/tables/bom/BomTable.tsx:234 -#: src/tables/part/PartTable.tsx:143 +#: src/tables/bom/BomTable.tsx:237 +#: src/tables/part/PartTable.tsx:144 #: src/tables/stock/StockItemTable.tsx:205 msgid "Stock Information" msgstr "" -#: src/tables/bom/BomTable.tsx:246 +#: src/tables/bom/BomTable.tsx:249 #: src/tables/build/BuildLineTable.tsx:195 msgid "Consumable item" msgstr "" -#: src/tables/bom/BomTable.tsx:267 +#: src/tables/bom/BomTable.tsx:270 msgid "Show trackable items" msgstr "" -#: src/tables/bom/BomTable.tsx:272 +#: src/tables/bom/BomTable.tsx:275 msgid "Show asssmbled items" msgstr "" -#: src/tables/bom/BomTable.tsx:277 +#: src/tables/bom/BomTable.tsx:280 msgid "Show items with available stock" msgstr "" -#: src/tables/bom/BomTable.tsx:282 +#: src/tables/bom/BomTable.tsx:285 msgid "Show items on order" msgstr "" -#: src/tables/bom/BomTable.tsx:286 +#: src/tables/bom/BomTable.tsx:289 msgid "Validated" msgstr "" -#: src/tables/bom/BomTable.tsx:287 +#: src/tables/bom/BomTable.tsx:290 msgid "Show validated items" msgstr "" -#: src/tables/bom/BomTable.tsx:291 +#: src/tables/bom/BomTable.tsx:294 #: src/tables/bom/UsedInTable.tsx:63 msgid "Inherited" msgstr "" -#: src/tables/bom/BomTable.tsx:292 +#: src/tables/bom/BomTable.tsx:295 #: src/tables/bom/UsedInTable.tsx:64 msgid "Show inherited items" msgstr "" -#: src/tables/bom/BomTable.tsx:296 +#: src/tables/bom/BomTable.tsx:299 msgid "Allow Variants" msgstr "" -#: src/tables/bom/BomTable.tsx:297 +#: src/tables/bom/BomTable.tsx:300 msgid "Show items which allow variant substitution" msgstr "" #: src/tables/bom/BomTable.tsx:301 +#~ msgid "Create BOM Item" +#~ msgstr "Create BOM Item" + +#: src/tables/bom/BomTable.tsx:304 #: src/tables/bom/UsedInTable.tsx:68 #: src/tables/build/BuildLineTable.tsx:46 msgid "Optional" msgstr "" -#: src/tables/bom/BomTable.tsx:301 -#~ msgid "Create BOM Item" -#~ msgstr "Create BOM Item" - -#: src/tables/bom/BomTable.tsx:302 +#: src/tables/bom/BomTable.tsx:305 #: src/tables/bom/UsedInTable.tsx:69 msgid "Show optional items" msgstr "" -#: src/tables/bom/BomTable.tsx:306 +#: src/tables/bom/BomTable.tsx:309 #: src/tables/build/BuildLineTable.tsx:41 msgid "Consumable" msgstr "" -#: src/tables/bom/BomTable.tsx:307 +#: src/tables/bom/BomTable.tsx:310 msgid "Show consumable items" msgstr "" -#: src/tables/bom/BomTable.tsx:311 -#: src/tables/part/PartTable.tsx:250 +#: src/tables/bom/BomTable.tsx:314 +#: src/tables/part/PartTable.tsx:257 msgid "Has Pricing" msgstr "" -#: src/tables/bom/BomTable.tsx:312 +#: src/tables/bom/BomTable.tsx:315 msgid "Show items with pricing" msgstr "" -#: src/tables/bom/BomTable.tsx:321 -#: src/tables/bom/BomTable.tsx:420 +#: src/tables/bom/BomTable.tsx:324 +#: src/tables/bom/BomTable.tsx:426 msgid "Add BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:326 +#: src/tables/bom/BomTable.tsx:329 msgid "BOM item created" msgstr "" @@ -5097,23 +5245,23 @@ msgstr "" #~ msgid "Edit Bom Item" #~ msgstr "Edit Bom Item" -#: src/tables/bom/BomTable.tsx:333 -msgid "Edit BOM Item" -msgstr "" - #: src/tables/bom/BomTable.tsx:333 #~ msgid "Bom item updated" #~ msgstr "Bom item updated" -#: src/tables/bom/BomTable.tsx:335 +#: src/tables/bom/BomTable.tsx:336 +msgid "Edit BOM Item" +msgstr "" + +#: src/tables/bom/BomTable.tsx:338 msgid "BOM item updated" msgstr "" -#: src/tables/bom/BomTable.tsx:342 +#: src/tables/bom/BomTable.tsx:345 msgid "Delete BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:343 +#: src/tables/bom/BomTable.tsx:346 msgid "BOM item deleted" msgstr "" @@ -5133,32 +5281,41 @@ msgstr "" #~ msgid "Validate BOM line" #~ msgstr "Validate BOM line" -#: src/tables/bom/BomTable.tsx:355 +#: src/tables/bom/BomTable.tsx:358 msgid "BOM item validated" msgstr "" -#: src/tables/bom/BomTable.tsx:364 +#: src/tables/bom/BomTable.tsx:367 msgid "Failed to validate BOM item" msgstr "" -#: src/tables/bom/BomTable.tsx:376 +#: src/tables/bom/BomTable.tsx:379 msgid "View BOM" msgstr "" -#: src/tables/bom/BomTable.tsx:385 +#: src/tables/bom/BomTable.tsx:388 msgid "Validate BOM Line" msgstr "" -#: src/tables/bom/BomTable.tsx:399 +#: src/tables/bom/BomTable.tsx:405 msgid "Edit Substitutes" msgstr "" +#: src/tables/bom/BomTable.tsx:440 +#: src/tables/part/PartParameterTable.tsx:191 +msgid "Part is Locked" +msgstr "" + +#: src/tables/bom/BomTable.tsx:445 +msgid "Bill of materials cannot be edited, as the part is locked" +msgstr "" + #: src/tables/bom/UsedInTable.tsx:74 msgid "Show active assemblies" msgstr "" #: src/tables/bom/UsedInTable.tsx:78 -#: src/tables/part/PartTable.tsx:192 +#: src/tables/part/PartTable.tsx:199 #: src/tables/part/PartVariantTable.tsx:30 msgid "Trackable" msgstr "" @@ -5168,7 +5325,7 @@ msgid "Show trackable assemblies" msgstr "" #: src/tables/build/BuildLineTable.tsx:31 -#: src/tables/stock/StockItemTable.tsx:270 +#: src/tables/stock/StockItemTable.tsx:292 msgid "Allocated" msgstr "" @@ -5189,7 +5346,7 @@ msgid "Show optional lines" msgstr "" #: src/tables/build/BuildLineTable.tsx:51 -#: src/tables/stock/StockItemTable.tsx:329 +#: src/tables/stock/StockItemTable.tsx:351 msgid "Tracked" msgstr "" @@ -5302,10 +5459,6 @@ msgstr "" msgid "Deallocate stock from build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:205 -msgid "Complete" -msgstr "" - #: src/tables/build/BuildOutputTable.tsx:206 msgid "Complete build output" msgstr "" @@ -5635,7 +5788,7 @@ msgid "Message" msgstr "" #: src/tables/part/ParametricPartTable.tsx:76 -#: src/tables/part/PartParameterTable.tsx:88 +#: src/tables/part/PartParameterTable.tsx:95 msgid "Internal Units" msgstr "" @@ -5648,13 +5801,13 @@ msgid "Add Part Parameter" msgstr "" #: src/tables/part/ParametricPartTable.tsx:138 -#: src/tables/part/PartParameterTable.tsx:121 -#: src/tables/part/PartParameterTable.tsx:144 +#: src/tables/part/PartParameterTable.tsx:128 +#: src/tables/part/PartParameterTable.tsx:151 msgid "Edit Part Parameter" msgstr "" #: src/tables/part/PartCategoryTable.tsx:60 -#: src/tables/part/PartTable.tsx:180 +#: src/tables/part/PartTable.tsx:187 msgid "Include Subcategories" msgstr "" @@ -5667,7 +5820,7 @@ msgid "Show structural categories" msgstr "" #: src/tables/part/PartCategoryTable.tsx:70 -#: src/tables/part/PartTable.tsx:262 +#: src/tables/part/PartTable.tsx:269 msgid "Subscribed" msgstr "" @@ -5704,21 +5857,25 @@ msgstr "" #~ msgid "[{0}]" #~ msgstr "[{0}]" -#: src/tables/part/PartParameterTable.tsx:105 +#: src/tables/part/PartParameterTable.tsx:112 msgid "New Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:130 -#: src/tables/part/PartParameterTable.tsx:152 +#: src/tables/part/PartParameterTable.tsx:137 +#: src/tables/part/PartParameterTable.tsx:159 msgid "Delete Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:170 +#: src/tables/part/PartParameterTable.tsx:177 msgid "Add parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:191 -#: src/tables/stock/StockItemTable.tsx:300 +#: src/tables/part/PartParameterTable.tsx:196 +msgid "Part parameters cannot be edited, as the part is locked" +msgstr "" + +#: src/tables/part/PartParameterTable.tsx:210 +#: src/tables/stock/StockItemTable.tsx:322 msgid "Include Variants" msgstr "" @@ -5739,7 +5896,7 @@ msgid "Show templates with choices" msgstr "" #: src/tables/part/PartParameterTemplateTable.tsx:41 -#: src/tables/part/PartTable.tsx:198 +#: src/tables/part/PartTable.tsx:205 msgid "Has Units" msgstr "" @@ -5763,116 +5920,120 @@ msgstr "" msgid "Add parameter template" msgstr "" -#: src/tables/part/PartTable.tsx:67 +#: src/tables/part/PartTable.tsx:68 msgid "Minimum stock" msgstr "" -#: src/tables/part/PartTable.tsx:89 +#: src/tables/part/PartTable.tsx:90 msgid "Build Order Allocations" msgstr "" -#: src/tables/part/PartTable.tsx:98 +#: src/tables/part/PartTable.tsx:99 msgid "Sales Order Allocations" msgstr "" -#: src/tables/part/PartTable.tsx:169 +#: src/tables/part/PartTable.tsx:170 msgid "Filter by part active status" msgstr "" -#: src/tables/part/PartTable.tsx:174 -#: src/tables/stock/StockItemTable.tsx:265 +#: src/tables/part/PartTable.tsx:176 +msgid "Filter by part locked status" +msgstr "" + +#: src/tables/part/PartTable.tsx:181 +#: src/tables/stock/StockItemTable.tsx:287 msgid "Assembly" msgstr "" -#: src/tables/part/PartTable.tsx:175 +#: src/tables/part/PartTable.tsx:182 msgid "Filter by assembly attribute" msgstr "" -#: src/tables/part/PartTable.tsx:181 +#: src/tables/part/PartTable.tsx:188 msgid "Include parts in subcategories" msgstr "" -#: src/tables/part/PartTable.tsx:187 +#: src/tables/part/PartTable.tsx:194 msgid "Filter by component attribute" msgstr "" -#: src/tables/part/PartTable.tsx:193 +#: src/tables/part/PartTable.tsx:200 msgid "Filter by trackable attribute" msgstr "" -#: src/tables/part/PartTable.tsx:199 +#: src/tables/part/PartTable.tsx:206 msgid "Filter by parts which have units" msgstr "" -#: src/tables/part/PartTable.tsx:204 +#: src/tables/part/PartTable.tsx:211 msgid "Has IPN" msgstr "" -#: src/tables/part/PartTable.tsx:205 +#: src/tables/part/PartTable.tsx:212 msgid "Filter by parts which have an internal part number" msgstr "" -#: src/tables/part/PartTable.tsx:210 +#: src/tables/part/PartTable.tsx:217 msgid "Has Stock" msgstr "" -#: src/tables/part/PartTable.tsx:211 +#: src/tables/part/PartTable.tsx:218 msgid "Filter by parts which have stock" msgstr "" -#: src/tables/part/PartTable.tsx:217 +#: src/tables/part/PartTable.tsx:224 msgid "Filter by parts which have low stock" msgstr "" -#: src/tables/part/PartTable.tsx:222 +#: src/tables/part/PartTable.tsx:229 msgid "Purchaseable" msgstr "" -#: src/tables/part/PartTable.tsx:223 +#: src/tables/part/PartTable.tsx:230 msgid "Filter by parts which are purchaseable" msgstr "" -#: src/tables/part/PartTable.tsx:228 +#: src/tables/part/PartTable.tsx:235 msgid "Salable" msgstr "" -#: src/tables/part/PartTable.tsx:229 +#: src/tables/part/PartTable.tsx:236 msgid "Filter by parts which are salable" msgstr "" -#: src/tables/part/PartTable.tsx:235 +#: src/tables/part/PartTable.tsx:242 msgid "Filter by parts which are virtual" msgstr "" -#: src/tables/part/PartTable.tsx:239 +#: src/tables/part/PartTable.tsx:246 msgid "Not Virtual" msgstr "" -#: src/tables/part/PartTable.tsx:244 +#: src/tables/part/PartTable.tsx:251 msgid "Is Template" msgstr "" -#: src/tables/part/PartTable.tsx:245 +#: src/tables/part/PartTable.tsx:252 msgid "Filter by parts which are templates" msgstr "" -#: src/tables/part/PartTable.tsx:251 +#: src/tables/part/PartTable.tsx:258 msgid "Filter by parts which have pricing information" msgstr "" -#: src/tables/part/PartTable.tsx:257 +#: src/tables/part/PartTable.tsx:264 msgid "Filter by parts which have available stock" msgstr "" -#: src/tables/part/PartTable.tsx:263 +#: src/tables/part/PartTable.tsx:270 msgid "Filter by parts to which the user is subscribed" msgstr "" -#: src/tables/part/PartTable.tsx:268 +#: src/tables/part/PartTable.tsx:275 msgid "Has Stocktake" msgstr "" -#: src/tables/part/PartTable.tsx:269 +#: src/tables/part/PartTable.tsx:276 msgid "Filter by parts which have stocktake information" msgstr "" @@ -6211,7 +6372,7 @@ msgid "Sample" msgstr "" #: src/tables/plugin/PluginListTable.tsx:578 -#: src/tables/stock/StockItemTable.tsx:305 +#: src/tables/stock/StockItemTable.tsx:327 msgid "Installed" msgstr "" @@ -6486,6 +6647,41 @@ msgstr "" msgid "Edit group" msgstr "" +#: src/tables/settings/ImportSessionTable.tsx:39 +msgid "Delete Import Session" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:45 +#: src/tables/settings/ImportSessionTable.tsx:132 +msgid "Create Import Session" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:70 +msgid "Uploaded" +msgstr "Uploaded" + +#: src/tables/settings/ImportSessionTable.tsx:80 +msgid "Imported Rows" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:110 +#: src/tables/settings/TemplateTable.tsx:276 +msgid "Model Type" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:111 +#: src/tables/settings/TemplateTable.tsx:277 +msgid "Filter by target model type" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:117 +msgid "Filter by import session status" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:123 +msgid "Filter by user" +msgstr "" + #: src/tables/settings/PendingTasksTable.tsx:36 msgid "Arguments" msgstr "" @@ -6502,7 +6698,7 @@ msgstr "" msgid "Delete Project Code" msgstr "" -#: src/tables/settings/ProjectCodeTable.tsx:94 +#: src/tables/settings/ProjectCodeTable.tsx:92 msgid "Add project code" msgstr "" @@ -6571,14 +6767,6 @@ msgstr "" 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 "" @@ -6701,149 +6889,153 @@ msgstr "" msgid "This stock item has been depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:255 +#: src/tables/stock/StockItemTable.tsx:247 +msgid "Stock Value" +msgstr "" + +#: src/tables/stock/StockItemTable.tsx:277 msgid "Show stock for active parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:260 +#: src/tables/stock/StockItemTable.tsx:282 msgid "Filter by stock status" msgstr "" -#: src/tables/stock/StockItemTable.tsx:266 +#: src/tables/stock/StockItemTable.tsx:288 msgid "Show stock for assmebled parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:271 +#: src/tables/stock/StockItemTable.tsx:293 msgid "Show items which have been allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:276 +#: src/tables/stock/StockItemTable.tsx:298 msgid "Show items which are available" msgstr "" -#: src/tables/stock/StockItemTable.tsx:280 +#: src/tables/stock/StockItemTable.tsx:302 #: src/tables/stock/StockLocationTable.tsx:42 msgid "Include Sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:281 +#: src/tables/stock/StockItemTable.tsx:303 msgid "Include stock in sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:285 +#: src/tables/stock/StockItemTable.tsx:307 msgid "Depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:286 +#: src/tables/stock/StockItemTable.tsx:308 msgid "Show depleted stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:291 +#: src/tables/stock/StockItemTable.tsx:313 msgid "Show items which are in stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:296 +#: src/tables/stock/StockItemTable.tsx:318 msgid "Show items which are in production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:301 +#: src/tables/stock/StockItemTable.tsx:323 msgid "Include stock items for variant parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:306 +#: src/tables/stock/StockItemTable.tsx:328 msgid "Show stock items which are installed in other items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:310 +#: src/tables/stock/StockItemTable.tsx:332 msgid "Sent to Customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:311 +#: src/tables/stock/StockItemTable.tsx:333 msgid "Show items which have been sent to a customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:315 +#: src/tables/stock/StockItemTable.tsx:337 msgid "Is Serialized" msgstr "" -#: src/tables/stock/StockItemTable.tsx:316 +#: src/tables/stock/StockItemTable.tsx:338 msgid "Show items which have a serial number" msgstr "" -#: src/tables/stock/StockItemTable.tsx:323 +#: src/tables/stock/StockItemTable.tsx:345 msgid "Has Batch Code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:324 +#: src/tables/stock/StockItemTable.tsx:346 msgid "Show items which have a batch code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:330 +#: src/tables/stock/StockItemTable.tsx:352 msgid "Show tracked items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:334 +#: src/tables/stock/StockItemTable.tsx:356 msgid "Has Purchase Price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:335 +#: src/tables/stock/StockItemTable.tsx:357 msgid "Show items which have a purchase price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:343 +#: src/tables/stock/StockItemTable.tsx:365 msgid "External Location" msgstr "" -#: src/tables/stock/StockItemTable.tsx:344 +#: src/tables/stock/StockItemTable.tsx:366 msgid "Show items in an external location" msgstr "" -#: src/tables/stock/StockItemTable.tsx:416 +#: src/tables/stock/StockItemTable.tsx:438 msgid "Add a new stock item" msgstr "" -#: src/tables/stock/StockItemTable.tsx:425 +#: src/tables/stock/StockItemTable.tsx:447 msgid "Remove some quantity from a stock item" msgstr "" -#: src/tables/stock/StockItemTable.tsx:447 +#: src/tables/stock/StockItemTable.tsx:469 msgid "Move Stock items to new locations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:454 +#: src/tables/stock/StockItemTable.tsx:476 msgid "Change stock status" msgstr "" -#: src/tables/stock/StockItemTable.tsx:456 +#: src/tables/stock/StockItemTable.tsx:478 msgid "Change the status of stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:463 +#: src/tables/stock/StockItemTable.tsx:485 msgid "Merge stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:465 +#: src/tables/stock/StockItemTable.tsx:487 msgid "Merge stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:472 +#: src/tables/stock/StockItemTable.tsx:494 msgid "Order stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:474 -#: src/tables/stock/StockItemTable.tsx:480 +#: src/tables/stock/StockItemTable.tsx:496 +#: src/tables/stock/StockItemTable.tsx:502 msgid "Order new stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:478 +#: src/tables/stock/StockItemTable.tsx:500 msgid "Assign to customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:487 +#: src/tables/stock/StockItemTable.tsx:509 msgid "Delete stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:489 +#: src/tables/stock/StockItemTable.tsx:511 msgid "Delete stock items" msgstr "" @@ -6999,4 +7191,3 @@ msgstr "" #: src/views/MobileAppView.tsx:35 msgid "Ignore and continue to Desktop view" msgstr "" - diff --git a/src/frontend/src/locales/sv/messages.po b/src/frontend/src/locales/sv/messages.po index d5e205bb38ac..7f29f402f208 100644 --- a/src/frontend/src/locales/sv/messages.po +++ b/src/frontend/src/locales/sv/messages.po @@ -49,16 +49,18 @@ msgstr "Utskrift av etiketter lyckades" #: src/components/buttons/PrintingActions.tsx:107 #: src/components/buttons/PrintingActions.tsx:144 #: src/components/editors/NotesEditor.tsx:65 -#: src/components/editors/NotesEditor.tsx:160 -#: src/components/forms/ApiForm.tsx:506 -#: src/components/forms/fields/ApiFormField.tsx:295 +#: src/components/editors/NotesEditor.tsx:165 +#: src/components/forms/ApiForm.tsx:513 +#: src/components/forms/fields/ApiFormField.tsx:306 +#: src/components/importer/ImportDataSelector.tsx:171 +#: src/components/importer/ImporterColumnSelector.tsx:112 #: src/components/modals/LicenseModal.tsx:75 #: src/components/nav/SearchDrawer.tsx:427 #: src/pages/ErrorPage.tsx:11 #: src/pages/part/PartPricingPanel.tsx:71 -#: src/tables/InvenTreeTable.tsx:451 -#: src/tables/InvenTreeTable.tsx:526 -#: src/tables/bom/BomTable.tsx:363 +#: src/tables/InvenTreeTable.tsx:470 +#: src/tables/InvenTreeTable.tsx:545 +#: src/tables/bom/BomTable.tsx:366 #: src/tables/stock/StockItemTestResultTable.tsx:294 msgid "Error" msgstr "Fel" @@ -157,7 +159,7 @@ msgstr "Ta bort" #: src/functions/forms.tsx:196 #: src/hooks/UseForm.tsx:40 #: src/tables/FilterSelectDrawer.tsx:204 -#: src/tables/InvenTreeTable.tsx:499 +#: src/tables/InvenTreeTable.tsx:518 #: src/tables/build/BuildOutputTable.tsx:225 msgid "Cancel" msgstr "Avbryt" @@ -175,7 +177,7 @@ msgid "Clear" msgstr "Rensa" #: src/components/details/DetailsImage.tsx:227 -#: src/components/forms/ApiForm.tsx:573 +#: src/components/forms/ApiForm.tsx:580 #: src/contexts/ThemeContext.tsx:43 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:56 msgid "Submit" @@ -202,48 +204,61 @@ msgid "Delete image" msgstr "Radera bild" #: src/components/details/PartIcons.tsx:28 +#: src/tables/ColumnRenderers.tsx:35 +msgid "Part is locked" +msgstr "" + +#: src/components/details/PartIcons.tsx:30 +#: src/pages/part/PartDetail.tsx:267 +#: src/pages/part/PartDetail.tsx:698 +#: src/tables/part/PartTable.tsx:175 +msgid "Locked" +msgstr "" + +#: src/components/details/PartIcons.tsx:35 +#: src/tables/ColumnRenderers.tsx:30 msgid "Part is not active" msgstr "Artikeln är inte aktiv" -#: src/components/details/PartIcons.tsx:34 +#: src/components/details/PartIcons.tsx:37 #: src/components/render/Plugin.tsx:17 #: src/pages/company/CompanyDetail.tsx:315 #: src/pages/company/SupplierPartDetail.tsx:307 -#: src/pages/part/PartDetail.tsx:685 +#: src/pages/part/PartDetail.tsx:704 msgid "Inactive" msgstr "Inaktiv" -#: src/components/details/PartIcons.tsx:41 +#: src/components/details/PartIcons.tsx:43 msgid "Part is a template part (variants can be made from this part)" msgstr "Artikeln är en mall-artikel (varianter kan skapas från denna artikel)" -#: src/components/details/PartIcons.tsx:47 +#: src/components/details/PartIcons.tsx:49 msgid "Part can be assembled from other parts" msgstr "Artikeln kan sammanställas från andra artiklar" -#: src/components/details/PartIcons.tsx:53 +#: src/components/details/PartIcons.tsx:55 msgid "Part can be used in assemblies" msgstr "Artikel kan användas i sammanställningar" -#: src/components/details/PartIcons.tsx:59 +#: src/components/details/PartIcons.tsx:61 msgid "Part stock is tracked by serial number" msgstr "Artikelns lager spåras med serienummer" -#: src/components/details/PartIcons.tsx:65 +#: src/components/details/PartIcons.tsx:67 msgid "Part can be purchased from external suppliers" msgstr "Artikeln kan köpas av externa leverantörer" -#: src/components/details/PartIcons.tsx:71 +#: src/components/details/PartIcons.tsx:73 msgid "Part can be sold to customers" msgstr "Artikeln kan säljas till kunder" -#: src/components/details/PartIcons.tsx:76 +#: src/components/details/PartIcons.tsx:78 msgid "Part is virtual (not a physical part)" msgstr "Artikeln är virtuell (ej fysisk artikel)" -#: src/components/details/PartIcons.tsx:82 -#: src/tables/part/PartTable.tsx:234 -#: src/tables/part/PartTable.tsx:238 +#: src/components/details/PartIcons.tsx:84 +#: src/tables/part/PartTable.tsx:241 +#: src/tables/part/PartTable.tsx:245 #: src/tables/part/PartVariantTable.tsx:25 msgid "Virtual" msgstr "Virtuell" @@ -252,29 +267,29 @@ msgstr "Virtuell" msgid "Image upload failed" msgstr "Bilduppladdning misslyckades" -#: src/components/editors/NotesEditor.tsx:151 -#: src/components/forms/ApiForm.tsx:430 -#: src/tables/bom/BomTable.tsx:354 +#: src/components/editors/NotesEditor.tsx:156 +#: src/components/forms/ApiForm.tsx:437 +#: src/tables/bom/BomTable.tsx:357 msgid "Success" msgstr "Lyckades" -#: src/components/editors/NotesEditor.tsx:152 +#: src/components/editors/NotesEditor.tsx:157 msgid "Notes saved successfully" msgstr "Anteckningarna sparades framgångsrikt" -#: src/components/editors/NotesEditor.tsx:161 +#: src/components/editors/NotesEditor.tsx:166 msgid "Failed to save notes" msgstr "Det gick inte att spara anteckningarna" -#: src/components/editors/NotesEditor.tsx:193 +#: src/components/editors/NotesEditor.tsx:198 msgid "Preview Notes" msgstr "Förhandsgranska anteckningar" -#: src/components/editors/NotesEditor.tsx:193 +#: src/components/editors/NotesEditor.tsx:198 msgid "Edit Notes" msgstr "Redigera anteckningar" -#: src/components/editors/NotesEditor.tsx:207 +#: src/components/editors/NotesEditor.tsx:212 msgid "Save Notes" msgstr "Spara anteckningar" @@ -407,7 +422,7 @@ msgstr "" msgid "A server error occurred" msgstr "" -#: src/components/forms/ApiForm.tsx:149 +#: src/components/forms/ApiForm.tsx:151 #: src/functions/forms.tsx:259 msgid "Form Error" msgstr "Formulär fel" @@ -416,18 +431,18 @@ msgstr "Formulär fel" #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:611 +#: src/components/forms/ApiForm.tsx:618 #: src/tables/plugin/PluginListTable.tsx:388 msgid "Update" msgstr "Uppdatera" -#: src/components/forms/ApiForm.tsx:631 +#: src/components/forms/ApiForm.tsx:638 #: 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:498 +#: src/tables/InvenTreeTable.tsx:517 #: src/tables/RowActions.tsx:71 #: src/tables/plugin/PluginListTable.tsx:420 msgid "Delete" @@ -600,7 +615,7 @@ msgstr "Värd" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:70 #: src/pages/part/CategoryDetail.tsx:80 -#: src/pages/part/PartDetail.tsx:122 +#: src/pages/part/PartDetail.tsx:123 #: src/pages/stock/LocationDetail.tsx:87 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 @@ -685,6 +700,124 @@ msgstr "Inga poster tillgängliga" msgid "Thumbnail" msgstr "Miniatyrbild" +#: src/components/importer/ImportDataSelector.tsx:154 +msgid "Importing Rows" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:155 +msgid "Please wait while the data is imported" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:172 +msgid "An error occurred while importing data" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:191 +msgid "Edit Data" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:218 +msgid "Delete Row" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:248 +msgid "Row" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:266 +msgid "Row contains errors" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:307 +msgid "Accept" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:340 +msgid "Valid" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:341 +msgid "Filter by row validation status" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:346 +#: src/tables/build/BuildOutputTable.tsx:205 +msgid "Complete" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:347 +msgid "Filter by row completion status" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:364 +msgid "Import selected rows" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:46 +#: src/components/importer/ImporterColumnSelector.tsx:85 +msgid "An error occurred" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:57 +msgid "Select column, or leave blank to ignore this field." +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:91 +msgid "Select a column from the data file" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:104 +msgid "Map data columns to database fields" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:109 +msgid "Accept Column Mapping" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:117 +msgid "Database Field" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:118 +msgid "Field Description" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:119 +msgid "Imported Column Name" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:44 +msgid "Import Data" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:45 +msgid "Map Columns" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:46 +msgid "Process Data" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:47 +msgid "Complete Import" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:91 +msgid "Importing Data" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:97 +msgid "Cancel import session" +msgstr "" + +#: src/components/importer/ImporterImportProgress.tsx:36 +msgid "Importing Records" +msgstr "" + +#: src/components/importer/ImporterImportProgress.tsx:39 +msgid "Imported rows" +msgstr "" + #: src/components/items/ActionDropdown.tsx:119 #: src/pages/build/BuildDetail.tsx:358 msgid "Barcode Actions" @@ -738,7 +871,7 @@ msgid "Read More" msgstr "Läs mer" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:443 +#: src/tables/InvenTreeTable.tsx:462 msgid "Unknown error" msgstr "Okänt fel" @@ -1039,13 +1172,13 @@ msgstr "Kontoinställningar" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:313 +#: src/pages/Index/Settings/SystemSettings.tsx:314 msgid "System Settings" msgstr "Systeminställningar" #: src/components/nav/MainMenu.tsx:67 #: src/defaults/menuItems.tsx:63 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:198 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:209 msgid "Admin Center" msgstr "Admin-center" @@ -1088,7 +1221,7 @@ msgid "Pages" msgstr "Sidor" #: src/components/nav/NavigationDrawer.tsx:65 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:157 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:168 #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:41 msgid "Plugins" msgstr "Plugins" @@ -1102,7 +1235,7 @@ msgstr "Dokumentation" msgid "About" msgstr "Om" -#: src/components/nav/NotificationDrawer.tsx:78 +#: src/components/nav/NotificationDrawer.tsx:81 #: src/pages/Index/Settings/SystemSettings.tsx:108 #: src/pages/Index/Settings/UserSettings.tsx:96 #: src/pages/Notifications.tsx:65 @@ -1110,17 +1243,17 @@ msgstr "Om" msgid "Notifications" msgstr "Notifikationer" -#: src/components/nav/NotificationDrawer.tsx:95 +#: src/components/nav/NotificationDrawer.tsx:98 msgid "You have no unread notifications." msgstr "Du har inga olästa aviseringar." -#: src/components/nav/NotificationDrawer.tsx:111 -#: src/components/nav/NotificationDrawer.tsx:117 +#: src/components/nav/NotificationDrawer.tsx:114 +#: src/components/nav/NotificationDrawer.tsx:120 #: src/tables/notifications/NotificationsTable.tsx:36 msgid "Notification" msgstr "Avisering" -#: src/components/nav/NotificationDrawer.tsx:140 +#: src/components/nav/NotificationDrawer.tsx:143 #: src/pages/Notifications.tsx:73 msgid "Mark as read" msgstr "Markera som läst" @@ -1157,7 +1290,7 @@ msgstr "Inga resultat" msgid "No results available for search query" msgstr "Inga resultat tillgängliga för sökfrågan" -#: src/components/render/Instance.tsx:166 +#: src/components/render/Instance.tsx:201 msgid "Unknown model: {model}" msgstr "Okänd modell: {model}" @@ -1172,7 +1305,8 @@ msgstr "Okänd modell: {model}" #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 #: src/pages/build/BuildDetail.tsx:85 -#: src/pages/part/PartDetail.tsx:831 +#: src/pages/part/PartDetail.tsx:872 +#: src/tables/part/PartTable.tsx:28 #: src/tables/part/RelatedPartTable.tsx:45 #: src/tables/stock/StockTrackingTable.tsx:74 msgid "Part" @@ -1185,7 +1319,7 @@ msgstr "Artkel" #: src/pages/part/CategoryDetail.tsx:112 #: src/pages/part/CategoryDetail.tsx:237 #: src/pages/part/CategoryDetail.tsx:267 -#: src/pages/part/PartDetail.tsx:639 +#: src/pages/part/PartDetail.tsx:652 msgid "Parts" msgstr "Artiklar" @@ -1235,7 +1369,7 @@ msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:172 #: src/pages/part/CategoryDetail.tsx:251 #: src/pages/part/CategoryDetail.tsx:288 -#: src/pages/part/PartDetail.tsx:821 +#: src/pages/part/PartDetail.tsx:862 msgid "Part Categories" msgstr "Artikelkategorier" @@ -1317,7 +1451,7 @@ msgid "Project Code" msgstr "Projektkod" #: src/components/render/ModelType.tsx:127 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:109 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:120 msgid "Project Codes" msgstr "Projektkoder" @@ -1329,10 +1463,10 @@ msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:134 -#: src/pages/Index/Settings/SystemSettings.tsx:257 +#: src/pages/Index/Settings/SystemSettings.tsx:258 #: src/pages/company/CompanyDetail.tsx:194 #: src/pages/company/SupplierPartDetail.tsx:226 -#: src/pages/part/PartDetail.tsx:573 +#: src/pages/part/PartDetail.tsx:586 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "Inköpsorder" @@ -1354,9 +1488,9 @@ msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:272 +#: src/pages/Index/Settings/SystemSettings.tsx:273 #: src/pages/company/CompanyDetail.tsx:214 -#: src/pages/part/PartDetail.tsx:580 +#: src/pages/part/PartDetail.tsx:593 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "Försäljningsorder" @@ -1376,7 +1510,7 @@ msgid "Return Order" msgstr "" #: src/components/render/ModelType.tsx:164 -#: src/pages/Index/Settings/SystemSettings.tsx:288 +#: src/pages/Index/Settings/SystemSettings.tsx:289 #: src/pages/company/CompanyDetail.tsx:221 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1413,40 +1547,49 @@ msgid "Owners" msgstr "" #: src/components/render/ModelType.tsx:193 +#: src/tables/settings/ImportSessionTable.tsx:122 #: src/tables/stock/StockItemTestResultTable.tsx:193 #: src/tables/stock/StockTrackingTable.tsx:195 msgid "User" msgstr "Användare" #: src/components/render/ModelType.tsx:194 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:85 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:90 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" msgstr "Användare" #: src/components/render/ModelType.tsx:200 +msgid "Import Session" +msgstr "" + +#: src/components/render/ModelType.tsx:201 +msgid "Import Sessions" +msgstr "" + +#: src/components/render/ModelType.tsx:207 msgid "Label Template" msgstr "Etikettmall" -#: src/components/render/ModelType.tsx:201 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:139 +#: src/components/render/ModelType.tsx:208 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:150 msgid "Label Templates" msgstr "Etikettmallar" -#: src/components/render/ModelType.tsx:207 +#: src/components/render/ModelType.tsx:214 msgid "Report Template" msgstr "" -#: src/components/render/ModelType.tsx:208 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:145 +#: src/components/render/ModelType.tsx:215 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:156 msgid "Report Templates" msgstr "" -#: src/components/render/ModelType.tsx:214 +#: src/components/render/ModelType.tsx:221 msgid "Plugin Configuration" msgstr "" -#: src/components/render/ModelType.tsx:215 +#: src/components/render/ModelType.tsx:222 msgid "Plugin Configurations" msgstr "" @@ -1458,7 +1601,7 @@ msgstr "" #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 #: src/pages/Index/Settings/SystemSettings.tsx:210 -#: src/pages/part/PartDetail.tsx:492 +#: src/pages/part/PartDetail.tsx:503 #: src/pages/stock/LocationDetail.tsx:347 #: src/pages/stock/StockDetail.tsx:356 #: src/tables/stock/StockItemTable.tsx:57 @@ -1641,10 +1784,6 @@ msgstr "" #~ msgid "Comment" #~ msgstr "Comment" -#: src/components/tables/general/AttachmentTable.tsx:56 -#~ msgid "Uploaded" -#~ msgstr "Uploaded" - #: src/components/tables/part/PartCategoryTable.tsx:122 #~ msgid "Part category updated" #~ msgstr "Part category updated" @@ -2157,7 +2296,7 @@ msgid "Recently Updated" msgstr "Senast uppdaterade" #: src/defaults/dashboardItems.tsx:50 -#: src/tables/part/PartTable.tsx:216 +#: src/tables/part/PartTable.tsx:223 msgid "Low Stock" msgstr "Få i lager" @@ -2466,7 +2605,7 @@ msgstr "" #~ msgid "Company updated" #~ msgstr "Company updated" -#: src/forms/PartForms.tsx:100 +#: src/forms/PartForms.tsx:103 msgid "Parent part category" msgstr "" @@ -2534,7 +2673,7 @@ msgstr "" #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 #: src/pages/stock/StockDetail.tsx:173 -#: src/tables/ColumnRenderers.tsx:34 +#: src/tables/ColumnRenderers.tsx:49 #: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" msgstr "" @@ -2585,8 +2724,8 @@ msgstr "" #: src/forms/StockForms.tsx:176 #: src/pages/stock/StockDetail.tsx:379 -#: src/tables/stock/StockItemTable.tsx:382 -#: src/tables/stock/StockItemTable.tsx:499 +#: src/tables/stock/StockItemTable.tsx:404 +#: src/tables/stock/StockItemTable.tsx:521 msgid "Add Stock Item" msgstr "" @@ -2606,9 +2745,9 @@ msgstr "" #: src/forms/StockForms.tsx:606 #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 -#: src/pages/part/PartDetail.tsx:202 -#: src/pages/part/PartDetail.tsx:655 -#: src/tables/stock/StockItemTable.tsx:290 +#: src/pages/part/PartDetail.tsx:203 +#: src/pages/part/PartDetail.tsx:668 +#: src/tables/stock/StockItemTable.tsx:312 msgid "In Stock" msgstr "" @@ -2649,12 +2788,12 @@ msgid "Remove Stock" msgstr "" #: src/forms/StockForms.tsx:803 -#: src/pages/part/PartDetail.tsx:782 +#: src/pages/part/PartDetail.tsx:823 msgid "Transfer Stock" msgstr "" #: src/forms/StockForms.tsx:812 -#: src/pages/part/PartDetail.tsx:771 +#: src/pages/part/PartDetail.tsx:812 msgid "Count Stock" msgstr "" @@ -3279,53 +3418,57 @@ msgstr "Lastare" #~ msgid "Advanced Amininistrative Options for InvenTree" #~ msgstr "Advanced Amininistrative Options for InvenTree" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:91 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:96 +msgid "Data Import" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:102 msgid "Background Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:97 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:108 msgid "Error Reports" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:103 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:114 msgid "Currencies" msgstr "Valutor" -#: 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:132 msgid "Custom Units" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:138 #: src/pages/part/CategoryDetail.tsx:257 msgid "Part Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 -#~ msgid "Templates" -#~ msgstr "Templates" - -#: src/pages/Index/Settings/AdminCenter/Index.tsx:133 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:144 msgid "Category Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:151 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:162 msgid "Location types" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:163 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:174 #: src/tables/machine/MachineTypeTable.tsx:287 msgid "Machines" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:173 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:184 msgid "Quick Actions" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:178 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:189 msgid "Add a new user" msgstr "Lägg till en ny användare" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:199 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:210 msgid "Advanced Options" msgstr "" @@ -3477,7 +3620,7 @@ msgid "Reporting" msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:235 -#: src/pages/part/PartDetail.tsx:593 +#: src/pages/part/PartDetail.tsx:606 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" @@ -3485,12 +3628,12 @@ msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:241 #: src/pages/build/BuildDetail.tsx:423 #: src/pages/build/BuildIndex.tsx:14 -#: src/pages/part/PartDetail.tsx:527 +#: src/pages/part/PartDetail.tsx:540 #: src/pages/sales/SalesOrderDetail.tsx:270 msgid "Build Orders" msgstr "Byggordrar" -#: src/pages/Index/Settings/SystemSettings.tsx:316 +#: src/pages/Index/Settings/SystemSettings.tsx:317 msgid "Switch to User Setting" msgstr "" @@ -3555,7 +3698,8 @@ msgstr "" #: 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/settings/ImportSessionTable.tsx:116 +#: src/tables/stock/StockItemTable.tsx:281 #: src/tables/stock/StockTrackingTable.tsx:52 msgid "Status" msgstr "Status" @@ -3564,7 +3708,7 @@ msgstr "Status" #: src/pages/purchasing/PurchaseOrderDetail.tsx:104 #: src/pages/sales/ReturnOrderDetail.tsx:73 #: src/pages/sales/SalesOrderDetail.tsx:77 -#: src/tables/ColumnRenderers.tsx:106 +#: src/tables/ColumnRenderers.tsx:121 #: src/tables/build/BuildLineTable.tsx:140 msgid "Reference" msgstr "" @@ -3574,12 +3718,12 @@ msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:78 #: src/pages/company/SupplierPartDetail.tsx:85 #: src/pages/part/CategoryDetail.tsx:94 -#: src/pages/part/PartDetail.tsx:129 +#: src/pages/part/PartDetail.tsx:130 #: src/pages/purchasing/PurchaseOrderDetail.tsx:125 #: src/pages/sales/ReturnOrderDetail.tsx:93 #: src/pages/sales/SalesOrderDetail.tsx:97 #: src/pages/stock/LocationDetail.tsx:101 -#: src/tables/ColumnRenderers.tsx:66 +#: src/tables/ColumnRenderers.tsx:81 #: src/tables/machine/MachineTypeTable.tsx:69 #: src/tables/machine/MachineTypeTable.tsx:112 #: src/tables/machine/MachineTypeTable.tsx:219 @@ -3610,7 +3754,7 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:152 -#: src/pages/part/PartDetail.tsx:317 +#: src/pages/part/PartDetail.tsx:323 #: src/pages/purchasing/PurchaseOrderDetail.tsx:217 #: src/pages/sales/ReturnOrderDetail.tsx:186 #: src/pages/sales/SalesOrderDetail.tsx:190 @@ -3630,7 +3774,7 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:210 #: src/pages/sales/ReturnOrderDetail.tsx:179 #: src/pages/sales/SalesOrderDetail.tsx:183 -#: src/tables/ColumnRenderers.tsx:191 +#: src/tables/ColumnRenderers.tsx:206 msgid "Target Date" msgstr "" @@ -3711,7 +3855,7 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:297 #: src/pages/company/CompanyDetail.tsx:257 #: src/pages/company/ManufacturerPartDetail.tsx:174 -#: src/pages/part/PartDetail.tsx:616 +#: src/pages/part/PartDetail.tsx:629 #: src/pages/purchasing/PurchaseOrderDetail.tsx:279 #: src/pages/sales/ReturnOrderDetail.tsx:230 #: src/pages/sales/SalesOrderDetail.tsx:280 @@ -3721,7 +3865,7 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:305 #: src/pages/company/CompanyDetail.tsx:268 -#: src/pages/part/PartDetail.tsx:624 +#: src/pages/part/PartDetail.tsx:637 #: src/pages/purchasing/PurchaseOrderDetail.tsx:290 #: src/pages/sales/ReturnOrderDetail.tsx:241 #: src/pages/sales/SalesOrderDetail.tsx:291 @@ -3877,12 +4021,12 @@ msgid "Manufacturer Part Details" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:148 -#: src/pages/part/PartDetail.tsx:486 +#: src/pages/part/PartDetail.tsx:492 msgid "Parameters" msgstr "Parametrar" #: src/pages/company/ManufacturerPartDetail.tsx:160 -#: src/pages/part/PartDetail.tsx:560 +#: src/pages/part/PartDetail.tsx:573 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" msgstr "" @@ -3907,7 +4051,7 @@ msgid "ManufacturerPart" msgstr "" #: src/pages/company/SupplierPartDetail.tsx:99 -#: src/tables/ColumnRenderers.tsx:117 +#: src/tables/ColumnRenderers.tsx:132 msgid "Note" msgstr "" @@ -4043,275 +4187,275 @@ msgstr "" msgid "Category Details" msgstr "" -#: src/pages/part/PartDetail.tsx:135 +#: src/pages/part/PartDetail.tsx:136 msgid "Variant of" msgstr "" -#: src/pages/part/PartDetail.tsx:142 +#: src/pages/part/PartDetail.tsx:143 #: src/tables/notifications/NotificationsTable.tsx:31 #: src/tables/part/PartCategoryTemplateTable.tsx:67 msgid "Category" msgstr "Kategori" -#: src/pages/part/PartDetail.tsx:148 +#: src/pages/part/PartDetail.tsx:149 msgid "Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:155 +#: src/pages/part/PartDetail.tsx:156 msgid "Category Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:162 +#: src/pages/part/PartDetail.tsx:163 msgid "IPN" msgstr "IAN" -#: src/pages/part/PartDetail.tsx:169 +#: src/pages/part/PartDetail.tsx:170 msgid "Revision" msgstr "" -#: src/pages/part/PartDetail.tsx:176 +#: src/pages/part/PartDetail.tsx:177 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" msgstr "Enheter" -#: src/pages/part/PartDetail.tsx:183 +#: src/pages/part/PartDetail.tsx:184 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:190 +#: src/pages/part/PartDetail.tsx:191 #: src/pages/purchasing/PurchaseOrderDetail.tsx:183 #: src/pages/sales/ReturnOrderDetail.tsx:152 #: src/pages/sales/SalesOrderDetail.tsx:156 msgid "Link" msgstr "Länk" -#: src/pages/part/PartDetail.tsx:208 -#: src/tables/bom/BomTable.tsx:276 +#: src/pages/part/PartDetail.tsx:209 +#: src/tables/bom/BomTable.tsx:279 #: src/tables/build/BuildLineTable.tsx:121 -#: src/tables/part/PartTable.tsx:256 +#: src/tables/part/PartTable.tsx:263 msgid "Available Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:215 +#: src/pages/part/PartDetail.tsx:216 msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:221 -#: src/tables/bom/BomTable.tsx:217 +#: src/pages/part/PartDetail.tsx:222 +#: src/tables/bom/BomTable.tsx:220 #: src/tables/build/BuildLineTable.tsx:95 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:230 +#: src/pages/part/PartDetail.tsx:231 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:238 +#: src/pages/part/PartDetail.tsx:239 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:245 -#: src/tables/bom/BomTable.tsx:241 +#: src/pages/part/PartDetail.tsx:246 +#: src/tables/bom/BomTable.tsx:244 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:252 -#: src/tables/bom/BomTable.tsx:225 -#: src/tables/part/PartTable.tsx:82 +#: src/pages/part/PartDetail.tsx:253 +#: src/tables/bom/BomTable.tsx:228 +#: src/tables/part/PartTable.tsx:83 msgid "Building" msgstr "" -#: src/pages/part/PartDetail.tsx:261 +#: src/pages/part/PartDetail.tsx:262 #: src/tables/bom/UsedInTable.tsx:73 #: src/tables/build/BuildOrderTable.tsx:108 #: src/tables/company/CompanyTable.tsx:61 #: src/tables/company/CompanyTable.tsx:95 #: src/tables/machine/MachineListTable.tsx:323 #: src/tables/machine/MachineListTable.tsx:585 -#: src/tables/part/PartTable.tsx:168 +#: src/tables/part/PartTable.tsx:169 #: src/tables/part/PartVariantTable.tsx:15 #: 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 +#: src/tables/stock/StockItemTable.tsx:276 msgid "Active" msgstr "Aktiv" -#: src/pages/part/PartDetail.tsx:266 +#: src/pages/part/PartDetail.tsx:272 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:271 -#: src/tables/bom/BomTable.tsx:271 +#: src/pages/part/PartDetail.tsx:277 +#: src/tables/bom/BomTable.tsx:274 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:276 +#: src/pages/part/PartDetail.tsx:282 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:281 -#: src/tables/bom/BomTable.tsx:266 +#: src/pages/part/PartDetail.tsx:287 +#: src/tables/bom/BomTable.tsx:269 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:286 +#: src/pages/part/PartDetail.tsx:292 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:291 +#: src/pages/part/PartDetail.tsx:297 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:296 +#: src/pages/part/PartDetail.tsx:302 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:304 -#: src/tables/ColumnRenderers.tsx:199 +#: src/pages/part/PartDetail.tsx:310 +#: src/tables/ColumnRenderers.tsx:214 msgid "Creation Date" msgstr "" -#: src/pages/part/PartDetail.tsx:309 -msgid "Created By" -msgstr "" - #: src/pages/part/PartDetail.tsx:310 #~ msgid "Edit part" #~ msgstr "Edit part" +#: src/pages/part/PartDetail.tsx:315 +msgid "Created By" +msgstr "" + #: src/pages/part/PartDetail.tsx:322 #~ msgid "Duplicate part" #~ msgstr "Duplicate part" -#: src/pages/part/PartDetail.tsx:324 -msgid "Default Supplier" -msgstr "" - #: src/pages/part/PartDetail.tsx:327 #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:335 +#: src/pages/part/PartDetail.tsx:330 +msgid "Default Supplier" +msgstr "" + +#: src/pages/part/PartDetail.tsx:341 #: src/pages/part/pricing/BomPricingPanel.tsx:78 #: src/pages/part/pricing/VariantPricingPanel.tsx:95 -#: src/tables/part/PartTable.tsx:151 +#: src/tables/part/PartTable.tsx:152 msgid "Price Range" msgstr "Prisintervall" -#: src/pages/part/PartDetail.tsx:374 +#: src/pages/part/PartDetail.tsx:380 #: src/pages/stock/StockDetail.tsx:133 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:409 +#: src/pages/part/PartDetail.tsx:415 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:480 +#: src/pages/part/PartDetail.tsx:486 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:506 +#: src/pages/part/PartDetail.tsx:517 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:513 +#: src/pages/part/PartDetail.tsx:524 #: src/pages/stock/StockDetail.tsx:286 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:520 +#: src/pages/part/PartDetail.tsx:531 msgid "Bill of Materials" msgstr "" -#: src/pages/part/PartDetail.tsx:534 +#: src/pages/part/PartDetail.tsx:547 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:541 +#: src/pages/part/PartDetail.tsx:554 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:547 +#: src/pages/part/PartDetail.tsx:560 #: src/pages/purchasing/PurchasingIndex.tsx:37 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:587 +#: src/pages/part/PartDetail.tsx:600 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:599 +#: src/pages/part/PartDetail.tsx:612 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:610 +#: src/pages/part/PartDetail.tsx:623 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:661 +#: src/pages/part/PartDetail.tsx:674 #: src/pages/stock/StockDetail.tsx:154 #: src/pages/stock/StockDetail.tsx:533 #: src/tables/build/BuildLineTable.tsx:36 -#: src/tables/part/PartTable.tsx:107 +#: src/tables/part/PartTable.tsx:108 #: src/tables/stock/StockItemTable.tsx:166 -#: src/tables/stock/StockItemTable.tsx:275 +#: src/tables/stock/StockItemTable.tsx:297 msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:667 +#: src/pages/part/PartDetail.tsx:680 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:673 -#: src/tables/bom/BomTable.tsx:281 -#: src/tables/part/PartTable.tsx:76 +#: src/pages/part/PartDetail.tsx:686 +#: src/tables/bom/BomTable.tsx:284 +#: src/tables/part/PartTable.tsx:77 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:679 +#: src/pages/part/PartDetail.tsx:692 #: src/pages/stock/StockDetail.tsx:516 -#: src/tables/stock/StockItemTable.tsx:295 +#: src/tables/stock/StockItemTable.tsx:317 msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:698 +#: src/pages/part/PartDetail.tsx:717 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:705 -#: src/tables/part/PartTable.tsx:289 -#: src/tables/part/PartTable.tsx:302 +#: src/pages/part/PartDetail.tsx:744 +#: src/tables/part/PartTable.tsx:296 +#: src/tables/part/PartTable.tsx:309 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:717 +#: src/pages/part/PartDetail.tsx:758 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:726 +#: src/pages/part/PartDetail.tsx:767 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:764 +#: src/pages/part/PartDetail.tsx:805 #: src/pages/stock/LocationDetail.tsx:304 -#: src/tables/stock/StockItemTable.tsx:409 +#: src/tables/stock/StockItemTable.tsx:431 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:772 +#: src/pages/part/PartDetail.tsx:813 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:824 msgid "Transfer part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:792 +#: src/pages/part/PartDetail.tsx:833 msgid "Part Actions" msgstr "" @@ -4359,8 +4503,8 @@ msgstr "" #: src/pages/part/pricing/BomPricingPanel.tsx:57 #: src/pages/part/pricing/BomPricingPanel.tsx:137 -#: src/tables/ColumnRenderers.tsx:241 -#: src/tables/bom/BomTable.tsx:165 +#: src/tables/ColumnRenderers.tsx:256 +#: src/tables/bom/BomTable.tsx:168 #: src/tables/purchasing/PurchaseOrderTable.tsx:112 #: src/tables/sales/ReturnOrderTable.tsx:104 #: src/tables/sales/SalesOrderTable.tsx:134 @@ -4369,7 +4513,7 @@ msgstr "" #: src/pages/part/pricing/BomPricingPanel.tsx:77 #: src/pages/part/pricing/BomPricingPanel.tsx:101 -#: src/tables/part/PartTable.tsx:186 +#: src/tables/part/PartTable.tsx:193 msgid "Component" msgstr "Komponent" @@ -4398,7 +4542,7 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:67 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:128 #: src/pages/part/pricing/SupplierPricingPanel.tsx:62 -#: src/tables/bom/BomTable.tsx:156 +#: src/tables/bom/BomTable.tsx:159 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 msgid "Unit Price" @@ -4498,7 +4642,7 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:40 #: src/pages/part/pricing/SaleHistoryPanel.tsx:36 -#: src/tables/ColumnRenderers.tsx:180 +#: src/tables/ColumnRenderers.tsx:195 #: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" @@ -4771,12 +4915,12 @@ msgid "Count stock" msgstr "" #: src/pages/stock/StockDetail.tsx:459 -#: src/tables/stock/StockItemTable.tsx:414 +#: src/tables/stock/StockItemTable.tsx:436 msgid "Add stock" msgstr "" #: src/pages/stock/StockDetail.tsx:467 -#: src/tables/stock/StockItemTable.tsx:423 +#: src/tables/stock/StockItemTable.tsx:445 msgid "Remove stock" msgstr "" @@ -4785,7 +4929,7 @@ msgid "Transfer" msgstr "" #: src/pages/stock/StockDetail.tsx:475 -#: src/tables/stock/StockItemTable.tsx:443 +#: src/tables/stock/StockItemTable.tsx:465 msgid "Transfer stock" msgstr "" @@ -4793,15 +4937,15 @@ msgstr "" msgid "Stock Item Actions" msgstr "" -#: src/tables/ColumnRenderers.tsx:42 +#: src/tables/ColumnRenderers.tsx:57 msgid "No location set" msgstr "" -#: src/tables/ColumnRenderers.tsx:207 +#: src/tables/ColumnRenderers.tsx:222 msgid "Shipment Date" msgstr "" -#: src/tables/ColumnRenderers.tsx:227 +#: src/tables/ColumnRenderers.tsx:242 #: src/tables/settings/CurrencyTable.tsx:23 msgid "Currency" msgstr "Valuta" @@ -4828,14 +4972,14 @@ msgid "TSV" msgstr "TSV" #: src/tables/DownloadAction.tsx:24 -msgid "Excel (.xls)" -msgstr "" - -#: src/tables/DownloadAction.tsx:25 msgid "Excel (.xlsx)" msgstr "" -#: src/tables/DownloadAction.tsx:39 +#: src/tables/DownloadAction.tsx:24 +#~ msgid "Excel (.xls)" +#~ msgstr "" + +#: src/tables/DownloadAction.tsx:38 msgid "Download Data" msgstr "" @@ -4900,54 +5044,54 @@ msgstr "Lägg till filter" msgid "Clear Filters" msgstr "Rensa filter" -#: src/tables/InvenTreeTable.tsx:119 -#: src/tables/InvenTreeTable.tsx:390 -#: src/tables/InvenTreeTable.tsx:411 +#: src/tables/InvenTreeTable.tsx:126 +#: src/tables/InvenTreeTable.tsx:409 +#: src/tables/InvenTreeTable.tsx:430 msgid "No records found" msgstr "Inga resultat hittades" -#: src/tables/InvenTreeTable.tsx:422 +#: src/tables/InvenTreeTable.tsx:441 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:430 +#: src/tables/InvenTreeTable.tsx:449 msgid "Bad request" msgstr "Felaktig begäran" -#: src/tables/InvenTreeTable.tsx:433 +#: src/tables/InvenTreeTable.tsx:452 msgid "Unauthorized" msgstr "Ej behörig" -#: src/tables/InvenTreeTable.tsx:436 +#: src/tables/InvenTreeTable.tsx:455 msgid "Forbidden" msgstr "Otillåten" -#: src/tables/InvenTreeTable.tsx:439 +#: src/tables/InvenTreeTable.tsx:458 msgid "Not found" msgstr "Hittades inte" -#: src/tables/InvenTreeTable.tsx:488 -#: src/tables/InvenTreeTable.tsx:606 +#: src/tables/InvenTreeTable.tsx:507 +#: src/tables/InvenTreeTable.tsx:623 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:492 +#: src/tables/InvenTreeTable.tsx:511 msgid "Are you sure you want to delete the selected records?" msgstr "" -#: src/tables/InvenTreeTable.tsx:494 +#: src/tables/InvenTreeTable.tsx:513 msgid "This action cannot be undone!" msgstr "" -#: src/tables/InvenTreeTable.tsx:517 +#: src/tables/InvenTreeTable.tsx:536 msgid "Deleted records" msgstr "" -#: src/tables/InvenTreeTable.tsx:518 +#: src/tables/InvenTreeTable.tsx:537 msgid "Records were deleted successfully" msgstr "" -#: src/tables/InvenTreeTable.tsx:527 +#: src/tables/InvenTreeTable.tsx:546 msgid "Failed to delete records" msgstr "" @@ -4956,140 +5100,144 @@ msgstr "" #~ msgid "Print actions" #~ msgstr "Print actions" -#: src/tables/InvenTreeTable.tsx:596 -#: src/tables/InvenTreeTable.tsx:597 +#: src/tables/InvenTreeTable.tsx:613 +#: src/tables/InvenTreeTable.tsx:614 msgid "Barcode actions" msgstr "Streckkods åtgärder" -#: src/tables/InvenTreeTable.tsx:625 +#: src/tables/InvenTreeTable.tsx:642 msgid "Refresh data" msgstr "Uppdatera data" -#: src/tables/InvenTreeTable.tsx:646 +#: src/tables/InvenTreeTable.tsx:663 msgid "Table filters" msgstr "Tabellfilter" -#: src/tables/bom/BomTable.tsx:80 +#: src/tables/UploadAction.tsx:9 +msgid "Upload Data" +msgstr "" + +#: src/tables/bom/BomTable.tsx:83 msgid "This BOM item is defined for a different parent" msgstr "" -#: src/tables/bom/BomTable.tsx:95 +#: src/tables/bom/BomTable.tsx:98 msgid "Part Information" msgstr "" -#: src/tables/bom/BomTable.tsx:184 -#: src/tables/part/PartTable.tsx:124 +#: src/tables/bom/BomTable.tsx:187 +#: src/tables/part/PartTable.tsx:125 msgid "No stock" msgstr "" -#: src/tables/bom/BomTable.tsx:192 +#: src/tables/bom/BomTable.tsx:195 #: src/tables/build/BuildLineTable.tsx:104 -#: src/tables/part/PartTable.tsx:115 +#: src/tables/part/PartTable.tsx:116 msgid "External stock" msgstr "" -#: src/tables/bom/BomTable.tsx:200 +#: src/tables/bom/BomTable.tsx:203 #: src/tables/build/BuildLineTable.tsx:67 msgid "Includes substitute stock" msgstr "" -#: src/tables/bom/BomTable.tsx:209 +#: src/tables/bom/BomTable.tsx:212 #: src/tables/build/BuildLineTable.tsx:77 msgid "Includes variant stock" msgstr "" -#: src/tables/bom/BomTable.tsx:234 -#: src/tables/part/PartTable.tsx:143 +#: src/tables/bom/BomTable.tsx:237 +#: src/tables/part/PartTable.tsx:144 #: src/tables/stock/StockItemTable.tsx:205 msgid "Stock Information" msgstr "" -#: src/tables/bom/BomTable.tsx:246 +#: src/tables/bom/BomTable.tsx:249 #: src/tables/build/BuildLineTable.tsx:195 msgid "Consumable item" msgstr "" -#: src/tables/bom/BomTable.tsx:267 +#: src/tables/bom/BomTable.tsx:270 msgid "Show trackable items" msgstr "" -#: src/tables/bom/BomTable.tsx:272 +#: src/tables/bom/BomTable.tsx:275 msgid "Show asssmbled items" msgstr "" -#: src/tables/bom/BomTable.tsx:277 +#: src/tables/bom/BomTable.tsx:280 msgid "Show items with available stock" msgstr "" -#: src/tables/bom/BomTable.tsx:282 +#: src/tables/bom/BomTable.tsx:285 msgid "Show items on order" msgstr "" -#: src/tables/bom/BomTable.tsx:286 +#: src/tables/bom/BomTable.tsx:289 msgid "Validated" msgstr "" -#: src/tables/bom/BomTable.tsx:287 +#: src/tables/bom/BomTable.tsx:290 msgid "Show validated items" msgstr "" -#: src/tables/bom/BomTable.tsx:291 +#: src/tables/bom/BomTable.tsx:294 #: src/tables/bom/UsedInTable.tsx:63 msgid "Inherited" msgstr "" -#: src/tables/bom/BomTable.tsx:292 +#: src/tables/bom/BomTable.tsx:295 #: src/tables/bom/UsedInTable.tsx:64 msgid "Show inherited items" msgstr "" -#: src/tables/bom/BomTable.tsx:296 +#: src/tables/bom/BomTable.tsx:299 msgid "Allow Variants" msgstr "" -#: src/tables/bom/BomTable.tsx:297 +#: src/tables/bom/BomTable.tsx:300 msgid "Show items which allow variant substitution" msgstr "" #: src/tables/bom/BomTable.tsx:301 +#~ msgid "Create BOM Item" +#~ msgstr "Create BOM Item" + +#: src/tables/bom/BomTable.tsx:304 #: src/tables/bom/UsedInTable.tsx:68 #: src/tables/build/BuildLineTable.tsx:46 msgid "Optional" msgstr "" -#: src/tables/bom/BomTable.tsx:301 -#~ msgid "Create BOM Item" -#~ msgstr "Create BOM Item" - -#: src/tables/bom/BomTable.tsx:302 +#: src/tables/bom/BomTable.tsx:305 #: src/tables/bom/UsedInTable.tsx:69 msgid "Show optional items" msgstr "" -#: src/tables/bom/BomTable.tsx:306 +#: src/tables/bom/BomTable.tsx:309 #: src/tables/build/BuildLineTable.tsx:41 msgid "Consumable" msgstr "" -#: src/tables/bom/BomTable.tsx:307 +#: src/tables/bom/BomTable.tsx:310 msgid "Show consumable items" msgstr "" -#: src/tables/bom/BomTable.tsx:311 -#: src/tables/part/PartTable.tsx:250 +#: src/tables/bom/BomTable.tsx:314 +#: src/tables/part/PartTable.tsx:257 msgid "Has Pricing" msgstr "" -#: src/tables/bom/BomTable.tsx:312 +#: src/tables/bom/BomTable.tsx:315 msgid "Show items with pricing" msgstr "" -#: src/tables/bom/BomTable.tsx:321 -#: src/tables/bom/BomTable.tsx:420 +#: src/tables/bom/BomTable.tsx:324 +#: src/tables/bom/BomTable.tsx:426 msgid "Add BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:326 +#: src/tables/bom/BomTable.tsx:329 msgid "BOM item created" msgstr "" @@ -5097,23 +5245,23 @@ msgstr "" #~ msgid "Edit Bom Item" #~ msgstr "Edit Bom Item" -#: src/tables/bom/BomTable.tsx:333 -msgid "Edit BOM Item" -msgstr "" - #: src/tables/bom/BomTable.tsx:333 #~ msgid "Bom item updated" #~ msgstr "Bom item updated" -#: src/tables/bom/BomTable.tsx:335 +#: src/tables/bom/BomTable.tsx:336 +msgid "Edit BOM Item" +msgstr "" + +#: src/tables/bom/BomTable.tsx:338 msgid "BOM item updated" msgstr "" -#: src/tables/bom/BomTable.tsx:342 +#: src/tables/bom/BomTable.tsx:345 msgid "Delete BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:343 +#: src/tables/bom/BomTable.tsx:346 msgid "BOM item deleted" msgstr "" @@ -5133,32 +5281,41 @@ msgstr "" #~ msgid "Validate BOM line" #~ msgstr "Validate BOM line" -#: src/tables/bom/BomTable.tsx:355 +#: src/tables/bom/BomTable.tsx:358 msgid "BOM item validated" msgstr "" -#: src/tables/bom/BomTable.tsx:364 +#: src/tables/bom/BomTable.tsx:367 msgid "Failed to validate BOM item" msgstr "" -#: src/tables/bom/BomTable.tsx:376 +#: src/tables/bom/BomTable.tsx:379 msgid "View BOM" msgstr "" -#: src/tables/bom/BomTable.tsx:385 +#: src/tables/bom/BomTable.tsx:388 msgid "Validate BOM Line" msgstr "" -#: src/tables/bom/BomTable.tsx:399 +#: src/tables/bom/BomTable.tsx:405 msgid "Edit Substitutes" msgstr "" +#: src/tables/bom/BomTable.tsx:440 +#: src/tables/part/PartParameterTable.tsx:191 +msgid "Part is Locked" +msgstr "" + +#: src/tables/bom/BomTable.tsx:445 +msgid "Bill of materials cannot be edited, as the part is locked" +msgstr "" + #: src/tables/bom/UsedInTable.tsx:74 msgid "Show active assemblies" msgstr "" #: src/tables/bom/UsedInTable.tsx:78 -#: src/tables/part/PartTable.tsx:192 +#: src/tables/part/PartTable.tsx:199 #: src/tables/part/PartVariantTable.tsx:30 msgid "Trackable" msgstr "Spårbart objekt" @@ -5168,7 +5325,7 @@ msgid "Show trackable assemblies" msgstr "" #: src/tables/build/BuildLineTable.tsx:31 -#: src/tables/stock/StockItemTable.tsx:270 +#: src/tables/stock/StockItemTable.tsx:292 msgid "Allocated" msgstr "" @@ -5189,7 +5346,7 @@ msgid "Show optional lines" msgstr "" #: src/tables/build/BuildLineTable.tsx:51 -#: src/tables/stock/StockItemTable.tsx:329 +#: src/tables/stock/StockItemTable.tsx:351 msgid "Tracked" msgstr "" @@ -5302,10 +5459,6 @@ msgstr "" msgid "Deallocate stock from build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:205 -msgid "Complete" -msgstr "" - #: src/tables/build/BuildOutputTable.tsx:206 msgid "Complete build output" msgstr "" @@ -5635,7 +5788,7 @@ msgid "Message" msgstr "" #: src/tables/part/ParametricPartTable.tsx:76 -#: src/tables/part/PartParameterTable.tsx:88 +#: src/tables/part/PartParameterTable.tsx:95 msgid "Internal Units" msgstr "" @@ -5648,13 +5801,13 @@ msgid "Add Part Parameter" msgstr "" #: src/tables/part/ParametricPartTable.tsx:138 -#: src/tables/part/PartParameterTable.tsx:121 -#: src/tables/part/PartParameterTable.tsx:144 +#: src/tables/part/PartParameterTable.tsx:128 +#: src/tables/part/PartParameterTable.tsx:151 msgid "Edit Part Parameter" msgstr "" #: src/tables/part/PartCategoryTable.tsx:60 -#: src/tables/part/PartTable.tsx:180 +#: src/tables/part/PartTable.tsx:187 msgid "Include Subcategories" msgstr "Inkludera underkategorier" @@ -5667,7 +5820,7 @@ msgid "Show structural categories" msgstr "" #: src/tables/part/PartCategoryTable.tsx:70 -#: src/tables/part/PartTable.tsx:262 +#: src/tables/part/PartTable.tsx:269 msgid "Subscribed" msgstr "" @@ -5704,21 +5857,25 @@ msgstr "" #~ msgid "[{0}]" #~ msgstr "[{0}]" -#: src/tables/part/PartParameterTable.tsx:105 +#: src/tables/part/PartParameterTable.tsx:112 msgid "New Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:130 -#: src/tables/part/PartParameterTable.tsx:152 +#: src/tables/part/PartParameterTable.tsx:137 +#: src/tables/part/PartParameterTable.tsx:159 msgid "Delete Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:170 +#: src/tables/part/PartParameterTable.tsx:177 msgid "Add parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:191 -#: src/tables/stock/StockItemTable.tsx:300 +#: src/tables/part/PartParameterTable.tsx:196 +msgid "Part parameters cannot be edited, as the part is locked" +msgstr "" + +#: src/tables/part/PartParameterTable.tsx:210 +#: src/tables/stock/StockItemTable.tsx:322 msgid "Include Variants" msgstr "" @@ -5739,7 +5896,7 @@ msgid "Show templates with choices" msgstr "" #: src/tables/part/PartParameterTemplateTable.tsx:41 -#: src/tables/part/PartTable.tsx:198 +#: src/tables/part/PartTable.tsx:205 msgid "Has Units" msgstr "Har enheter" @@ -5763,116 +5920,120 @@ msgstr "" msgid "Add parameter template" msgstr "" -#: src/tables/part/PartTable.tsx:67 +#: src/tables/part/PartTable.tsx:68 msgid "Minimum stock" msgstr "" -#: src/tables/part/PartTable.tsx:89 +#: src/tables/part/PartTable.tsx:90 msgid "Build Order Allocations" msgstr "" -#: src/tables/part/PartTable.tsx:98 +#: src/tables/part/PartTable.tsx:99 msgid "Sales Order Allocations" msgstr "" -#: src/tables/part/PartTable.tsx:169 +#: src/tables/part/PartTable.tsx:170 msgid "Filter by part active status" msgstr "Filtrera på aktiv artiklestatus" -#: src/tables/part/PartTable.tsx:174 -#: src/tables/stock/StockItemTable.tsx:265 +#: src/tables/part/PartTable.tsx:176 +msgid "Filter by part locked status" +msgstr "" + +#: src/tables/part/PartTable.tsx:181 +#: src/tables/stock/StockItemTable.tsx:287 msgid "Assembly" msgstr "Montering" -#: src/tables/part/PartTable.tsx:175 +#: src/tables/part/PartTable.tsx:182 msgid "Filter by assembly attribute" msgstr "Filtrera efter monteringsattribut" -#: src/tables/part/PartTable.tsx:181 +#: src/tables/part/PartTable.tsx:188 msgid "Include parts in subcategories" msgstr "Inkludera artiklar från underkategorier" -#: src/tables/part/PartTable.tsx:187 +#: src/tables/part/PartTable.tsx:194 msgid "Filter by component attribute" msgstr "Filtrera efter komponentattribut" -#: src/tables/part/PartTable.tsx:193 +#: src/tables/part/PartTable.tsx:200 msgid "Filter by trackable attribute" msgstr "Filtrera på spårbart attribut" -#: src/tables/part/PartTable.tsx:199 +#: src/tables/part/PartTable.tsx:206 msgid "Filter by parts which have units" msgstr "Filtrera efter artiklar som har enheter" -#: src/tables/part/PartTable.tsx:204 +#: src/tables/part/PartTable.tsx:211 msgid "Has IPN" msgstr "Har IAN" -#: src/tables/part/PartTable.tsx:205 +#: src/tables/part/PartTable.tsx:212 msgid "Filter by parts which have an internal part number" msgstr "Filtrera efter artiklar som har ett internt artikelnummer" -#: src/tables/part/PartTable.tsx:210 +#: src/tables/part/PartTable.tsx:217 msgid "Has Stock" msgstr "I lager" -#: src/tables/part/PartTable.tsx:211 +#: src/tables/part/PartTable.tsx:218 msgid "Filter by parts which have stock" msgstr "Filtrera efter artiklar som har enheter" -#: src/tables/part/PartTable.tsx:217 +#: src/tables/part/PartTable.tsx:224 msgid "Filter by parts which have low stock" msgstr "Filtrera på ariklar som har lågt saldo" -#: src/tables/part/PartTable.tsx:222 +#: src/tables/part/PartTable.tsx:229 msgid "Purchaseable" msgstr "Kan köpas" -#: src/tables/part/PartTable.tsx:223 +#: src/tables/part/PartTable.tsx:230 msgid "Filter by parts which are purchaseable" msgstr "Filtrera på artiklar som kan köpas" -#: src/tables/part/PartTable.tsx:228 +#: src/tables/part/PartTable.tsx:235 msgid "Salable" msgstr "Försäljningsbar" -#: src/tables/part/PartTable.tsx:229 +#: src/tables/part/PartTable.tsx:236 msgid "Filter by parts which are salable" msgstr "Filtrera på artiklar som kan säljas" -#: src/tables/part/PartTable.tsx:235 +#: src/tables/part/PartTable.tsx:242 msgid "Filter by parts which are virtual" msgstr "Filtrera efter artiklar som är virtuella" -#: src/tables/part/PartTable.tsx:239 +#: src/tables/part/PartTable.tsx:246 msgid "Not Virtual" msgstr "Inte virtuell" -#: src/tables/part/PartTable.tsx:244 +#: src/tables/part/PartTable.tsx:251 msgid "Is Template" msgstr "" -#: src/tables/part/PartTable.tsx:245 +#: src/tables/part/PartTable.tsx:252 msgid "Filter by parts which are templates" msgstr "" -#: src/tables/part/PartTable.tsx:251 +#: src/tables/part/PartTable.tsx:258 msgid "Filter by parts which have pricing information" msgstr "" -#: src/tables/part/PartTable.tsx:257 +#: src/tables/part/PartTable.tsx:264 msgid "Filter by parts which have available stock" msgstr "" -#: src/tables/part/PartTable.tsx:263 +#: src/tables/part/PartTable.tsx:270 msgid "Filter by parts to which the user is subscribed" msgstr "" -#: src/tables/part/PartTable.tsx:268 +#: src/tables/part/PartTable.tsx:275 msgid "Has Stocktake" msgstr "" -#: src/tables/part/PartTable.tsx:269 +#: src/tables/part/PartTable.tsx:276 msgid "Filter by parts which have stocktake information" msgstr "" @@ -6211,7 +6372,7 @@ msgid "Sample" msgstr "" #: src/tables/plugin/PluginListTable.tsx:578 -#: src/tables/stock/StockItemTable.tsx:305 +#: src/tables/stock/StockItemTable.tsx:327 msgid "Installed" msgstr "" @@ -6486,6 +6647,41 @@ msgstr "Lägg till grupp" msgid "Edit group" msgstr "Redigera grupp" +#: src/tables/settings/ImportSessionTable.tsx:39 +msgid "Delete Import Session" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:45 +#: src/tables/settings/ImportSessionTable.tsx:132 +msgid "Create Import Session" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:70 +msgid "Uploaded" +msgstr "Uploaded" + +#: src/tables/settings/ImportSessionTable.tsx:80 +msgid "Imported Rows" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:110 +#: src/tables/settings/TemplateTable.tsx:276 +msgid "Model Type" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:111 +#: src/tables/settings/TemplateTable.tsx:277 +msgid "Filter by target model type" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:117 +msgid "Filter by import session status" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:123 +msgid "Filter by user" +msgstr "" + #: src/tables/settings/PendingTasksTable.tsx:36 msgid "Arguments" msgstr "" @@ -6502,7 +6698,7 @@ msgstr "Redigera projektkod" msgid "Delete Project Code" msgstr "Radera projektkod" -#: src/tables/settings/ProjectCodeTable.tsx:94 +#: src/tables/settings/ProjectCodeTable.tsx:92 msgid "Add project code" msgstr "Lägg till projektkod" @@ -6571,14 +6767,6 @@ msgstr "Lägg till mall" 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 "" @@ -6701,149 +6889,153 @@ msgstr "" msgid "This stock item has been depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:255 +#: src/tables/stock/StockItemTable.tsx:247 +msgid "Stock Value" +msgstr "" + +#: src/tables/stock/StockItemTable.tsx:277 msgid "Show stock for active parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:260 +#: src/tables/stock/StockItemTable.tsx:282 msgid "Filter by stock status" msgstr "" -#: src/tables/stock/StockItemTable.tsx:266 +#: src/tables/stock/StockItemTable.tsx:288 msgid "Show stock for assmebled parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:271 +#: src/tables/stock/StockItemTable.tsx:293 msgid "Show items which have been allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:276 +#: src/tables/stock/StockItemTable.tsx:298 msgid "Show items which are available" msgstr "" -#: src/tables/stock/StockItemTable.tsx:280 +#: src/tables/stock/StockItemTable.tsx:302 #: src/tables/stock/StockLocationTable.tsx:42 msgid "Include Sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:281 +#: src/tables/stock/StockItemTable.tsx:303 msgid "Include stock in sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:285 +#: src/tables/stock/StockItemTable.tsx:307 msgid "Depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:286 +#: src/tables/stock/StockItemTable.tsx:308 msgid "Show depleted stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:291 +#: src/tables/stock/StockItemTable.tsx:313 msgid "Show items which are in stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:296 +#: src/tables/stock/StockItemTable.tsx:318 msgid "Show items which are in production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:301 +#: src/tables/stock/StockItemTable.tsx:323 msgid "Include stock items for variant parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:306 +#: src/tables/stock/StockItemTable.tsx:328 msgid "Show stock items which are installed in other items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:310 +#: src/tables/stock/StockItemTable.tsx:332 msgid "Sent to Customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:311 +#: src/tables/stock/StockItemTable.tsx:333 msgid "Show items which have been sent to a customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:315 +#: src/tables/stock/StockItemTable.tsx:337 msgid "Is Serialized" msgstr "" -#: src/tables/stock/StockItemTable.tsx:316 +#: src/tables/stock/StockItemTable.tsx:338 msgid "Show items which have a serial number" msgstr "" -#: src/tables/stock/StockItemTable.tsx:323 +#: src/tables/stock/StockItemTable.tsx:345 msgid "Has Batch Code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:324 +#: src/tables/stock/StockItemTable.tsx:346 msgid "Show items which have a batch code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:330 +#: src/tables/stock/StockItemTable.tsx:352 msgid "Show tracked items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:334 +#: src/tables/stock/StockItemTable.tsx:356 msgid "Has Purchase Price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:335 +#: src/tables/stock/StockItemTable.tsx:357 msgid "Show items which have a purchase price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:343 +#: src/tables/stock/StockItemTable.tsx:365 msgid "External Location" msgstr "" -#: src/tables/stock/StockItemTable.tsx:344 +#: src/tables/stock/StockItemTable.tsx:366 msgid "Show items in an external location" msgstr "" -#: src/tables/stock/StockItemTable.tsx:416 +#: src/tables/stock/StockItemTable.tsx:438 msgid "Add a new stock item" msgstr "" -#: src/tables/stock/StockItemTable.tsx:425 +#: src/tables/stock/StockItemTable.tsx:447 msgid "Remove some quantity from a stock item" msgstr "" -#: src/tables/stock/StockItemTable.tsx:447 +#: src/tables/stock/StockItemTable.tsx:469 msgid "Move Stock items to new locations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:454 +#: src/tables/stock/StockItemTable.tsx:476 msgid "Change stock status" msgstr "" -#: src/tables/stock/StockItemTable.tsx:456 +#: src/tables/stock/StockItemTable.tsx:478 msgid "Change the status of stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:463 +#: src/tables/stock/StockItemTable.tsx:485 msgid "Merge stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:465 +#: src/tables/stock/StockItemTable.tsx:487 msgid "Merge stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:472 +#: src/tables/stock/StockItemTable.tsx:494 msgid "Order stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:474 -#: src/tables/stock/StockItemTable.tsx:480 +#: src/tables/stock/StockItemTable.tsx:496 +#: src/tables/stock/StockItemTable.tsx:502 msgid "Order new stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:478 +#: src/tables/stock/StockItemTable.tsx:500 msgid "Assign to customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:487 +#: src/tables/stock/StockItemTable.tsx:509 msgid "Delete stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:489 +#: src/tables/stock/StockItemTable.tsx:511 msgid "Delete stock items" msgstr "" @@ -6999,4 +7191,3 @@ msgstr "Läs dokumenten" #: src/views/MobileAppView.tsx:35 msgid "Ignore and continue to Desktop view" msgstr "" - diff --git a/src/frontend/src/locales/th/messages.po b/src/frontend/src/locales/th/messages.po index ecb8b85f5ca9..07c025b6fb0d 100644 --- a/src/frontend/src/locales/th/messages.po +++ b/src/frontend/src/locales/th/messages.po @@ -49,16 +49,18 @@ msgstr "" #: src/components/buttons/PrintingActions.tsx:107 #: src/components/buttons/PrintingActions.tsx:144 #: src/components/editors/NotesEditor.tsx:65 -#: src/components/editors/NotesEditor.tsx:160 -#: src/components/forms/ApiForm.tsx:506 -#: src/components/forms/fields/ApiFormField.tsx:295 +#: src/components/editors/NotesEditor.tsx:165 +#: src/components/forms/ApiForm.tsx:513 +#: src/components/forms/fields/ApiFormField.tsx:306 +#: src/components/importer/ImportDataSelector.tsx:171 +#: src/components/importer/ImporterColumnSelector.tsx:112 #: src/components/modals/LicenseModal.tsx:75 #: src/components/nav/SearchDrawer.tsx:427 #: src/pages/ErrorPage.tsx:11 #: src/pages/part/PartPricingPanel.tsx:71 -#: src/tables/InvenTreeTable.tsx:451 -#: src/tables/InvenTreeTable.tsx:526 -#: src/tables/bom/BomTable.tsx:363 +#: src/tables/InvenTreeTable.tsx:470 +#: src/tables/InvenTreeTable.tsx:545 +#: src/tables/bom/BomTable.tsx:366 #: src/tables/stock/StockItemTestResultTable.tsx:294 msgid "Error" msgstr "" @@ -157,7 +159,7 @@ msgstr "" #: src/functions/forms.tsx:196 #: src/hooks/UseForm.tsx:40 #: src/tables/FilterSelectDrawer.tsx:204 -#: src/tables/InvenTreeTable.tsx:499 +#: src/tables/InvenTreeTable.tsx:518 #: src/tables/build/BuildOutputTable.tsx:225 msgid "Cancel" msgstr "" @@ -175,7 +177,7 @@ msgid "Clear" msgstr "" #: src/components/details/DetailsImage.tsx:227 -#: src/components/forms/ApiForm.tsx:573 +#: src/components/forms/ApiForm.tsx:580 #: src/contexts/ThemeContext.tsx:43 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:56 msgid "Submit" @@ -202,48 +204,61 @@ msgid "Delete image" msgstr "" #: src/components/details/PartIcons.tsx:28 +#: src/tables/ColumnRenderers.tsx:35 +msgid "Part is locked" +msgstr "" + +#: src/components/details/PartIcons.tsx:30 +#: src/pages/part/PartDetail.tsx:267 +#: src/pages/part/PartDetail.tsx:698 +#: src/tables/part/PartTable.tsx:175 +msgid "Locked" +msgstr "" + +#: src/components/details/PartIcons.tsx:35 +#: src/tables/ColumnRenderers.tsx:30 msgid "Part is not active" msgstr "" -#: src/components/details/PartIcons.tsx:34 +#: src/components/details/PartIcons.tsx:37 #: src/components/render/Plugin.tsx:17 #: src/pages/company/CompanyDetail.tsx:315 #: src/pages/company/SupplierPartDetail.tsx:307 -#: src/pages/part/PartDetail.tsx:685 +#: src/pages/part/PartDetail.tsx:704 msgid "Inactive" msgstr "" -#: src/components/details/PartIcons.tsx:41 +#: src/components/details/PartIcons.tsx:43 msgid "Part is a template part (variants can be made from this part)" msgstr "" -#: src/components/details/PartIcons.tsx:47 +#: src/components/details/PartIcons.tsx:49 msgid "Part can be assembled from other parts" msgstr "" -#: src/components/details/PartIcons.tsx:53 +#: src/components/details/PartIcons.tsx:55 msgid "Part can be used in assemblies" msgstr "" -#: src/components/details/PartIcons.tsx:59 +#: src/components/details/PartIcons.tsx:61 msgid "Part stock is tracked by serial number" msgstr "" -#: src/components/details/PartIcons.tsx:65 +#: src/components/details/PartIcons.tsx:67 msgid "Part can be purchased from external suppliers" msgstr "" -#: src/components/details/PartIcons.tsx:71 +#: src/components/details/PartIcons.tsx:73 msgid "Part can be sold to customers" msgstr "" -#: src/components/details/PartIcons.tsx:76 +#: src/components/details/PartIcons.tsx:78 msgid "Part is virtual (not a physical part)" msgstr "" -#: src/components/details/PartIcons.tsx:82 -#: src/tables/part/PartTable.tsx:234 -#: src/tables/part/PartTable.tsx:238 +#: src/components/details/PartIcons.tsx:84 +#: src/tables/part/PartTable.tsx:241 +#: src/tables/part/PartTable.tsx:245 #: src/tables/part/PartVariantTable.tsx:25 msgid "Virtual" msgstr "" @@ -252,29 +267,29 @@ msgstr "" msgid "Image upload failed" msgstr "" -#: src/components/editors/NotesEditor.tsx:151 -#: src/components/forms/ApiForm.tsx:430 -#: src/tables/bom/BomTable.tsx:354 +#: src/components/editors/NotesEditor.tsx:156 +#: src/components/forms/ApiForm.tsx:437 +#: src/tables/bom/BomTable.tsx:357 msgid "Success" msgstr "" -#: src/components/editors/NotesEditor.tsx:152 +#: src/components/editors/NotesEditor.tsx:157 msgid "Notes saved successfully" msgstr "" -#: src/components/editors/NotesEditor.tsx:161 +#: src/components/editors/NotesEditor.tsx:166 msgid "Failed to save notes" msgstr "" -#: src/components/editors/NotesEditor.tsx:193 +#: src/components/editors/NotesEditor.tsx:198 msgid "Preview Notes" msgstr "" -#: src/components/editors/NotesEditor.tsx:193 +#: src/components/editors/NotesEditor.tsx:198 msgid "Edit Notes" msgstr "" -#: src/components/editors/NotesEditor.tsx:207 +#: src/components/editors/NotesEditor.tsx:212 msgid "Save Notes" msgstr "" @@ -407,7 +422,7 @@ msgstr "" msgid "A server error occurred" msgstr "" -#: src/components/forms/ApiForm.tsx:149 +#: src/components/forms/ApiForm.tsx:151 #: src/functions/forms.tsx:259 msgid "Form Error" msgstr "" @@ -416,18 +431,18 @@ msgstr "" #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:611 +#: src/components/forms/ApiForm.tsx:618 #: src/tables/plugin/PluginListTable.tsx:388 msgid "Update" msgstr "" -#: src/components/forms/ApiForm.tsx:631 +#: src/components/forms/ApiForm.tsx:638 #: 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:498 +#: src/tables/InvenTreeTable.tsx:517 #: src/tables/RowActions.tsx:71 #: src/tables/plugin/PluginListTable.tsx:420 msgid "Delete" @@ -600,7 +615,7 @@ msgstr "" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:70 #: src/pages/part/CategoryDetail.tsx:80 -#: src/pages/part/PartDetail.tsx:122 +#: src/pages/part/PartDetail.tsx:123 #: src/pages/stock/LocationDetail.tsx:87 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 @@ -685,6 +700,124 @@ msgstr "" msgid "Thumbnail" msgstr "" +#: src/components/importer/ImportDataSelector.tsx:154 +msgid "Importing Rows" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:155 +msgid "Please wait while the data is imported" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:172 +msgid "An error occurred while importing data" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:191 +msgid "Edit Data" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:218 +msgid "Delete Row" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:248 +msgid "Row" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:266 +msgid "Row contains errors" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:307 +msgid "Accept" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:340 +msgid "Valid" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:341 +msgid "Filter by row validation status" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:346 +#: src/tables/build/BuildOutputTable.tsx:205 +msgid "Complete" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:347 +msgid "Filter by row completion status" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:364 +msgid "Import selected rows" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:46 +#: src/components/importer/ImporterColumnSelector.tsx:85 +msgid "An error occurred" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:57 +msgid "Select column, or leave blank to ignore this field." +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:91 +msgid "Select a column from the data file" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:104 +msgid "Map data columns to database fields" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:109 +msgid "Accept Column Mapping" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:117 +msgid "Database Field" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:118 +msgid "Field Description" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:119 +msgid "Imported Column Name" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:44 +msgid "Import Data" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:45 +msgid "Map Columns" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:46 +msgid "Process Data" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:47 +msgid "Complete Import" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:91 +msgid "Importing Data" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:97 +msgid "Cancel import session" +msgstr "" + +#: src/components/importer/ImporterImportProgress.tsx:36 +msgid "Importing Records" +msgstr "" + +#: src/components/importer/ImporterImportProgress.tsx:39 +msgid "Imported rows" +msgstr "" + #: src/components/items/ActionDropdown.tsx:119 #: src/pages/build/BuildDetail.tsx:358 msgid "Barcode Actions" @@ -738,7 +871,7 @@ msgid "Read More" msgstr "" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:443 +#: src/tables/InvenTreeTable.tsx:462 msgid "Unknown error" msgstr "" @@ -1039,13 +1172,13 @@ msgstr "" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:313 +#: src/pages/Index/Settings/SystemSettings.tsx:314 msgid "System Settings" msgstr "" #: src/components/nav/MainMenu.tsx:67 #: src/defaults/menuItems.tsx:63 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:198 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:209 msgid "Admin Center" msgstr "" @@ -1088,7 +1221,7 @@ msgid "Pages" msgstr "" #: src/components/nav/NavigationDrawer.tsx:65 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:157 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:168 #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:41 msgid "Plugins" msgstr "" @@ -1102,7 +1235,7 @@ msgstr "" msgid "About" msgstr "" -#: src/components/nav/NotificationDrawer.tsx:78 +#: src/components/nav/NotificationDrawer.tsx:81 #: src/pages/Index/Settings/SystemSettings.tsx:108 #: src/pages/Index/Settings/UserSettings.tsx:96 #: src/pages/Notifications.tsx:65 @@ -1110,17 +1243,17 @@ msgstr "" msgid "Notifications" msgstr "" -#: src/components/nav/NotificationDrawer.tsx:95 +#: src/components/nav/NotificationDrawer.tsx:98 msgid "You have no unread notifications." msgstr "" -#: src/components/nav/NotificationDrawer.tsx:111 -#: src/components/nav/NotificationDrawer.tsx:117 +#: src/components/nav/NotificationDrawer.tsx:114 +#: src/components/nav/NotificationDrawer.tsx:120 #: src/tables/notifications/NotificationsTable.tsx:36 msgid "Notification" msgstr "" -#: src/components/nav/NotificationDrawer.tsx:140 +#: src/components/nav/NotificationDrawer.tsx:143 #: src/pages/Notifications.tsx:73 msgid "Mark as read" msgstr "" @@ -1157,7 +1290,7 @@ msgstr "" msgid "No results available for search query" msgstr "" -#: src/components/render/Instance.tsx:166 +#: src/components/render/Instance.tsx:201 msgid "Unknown model: {model}" msgstr "" @@ -1172,7 +1305,8 @@ msgstr "" #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 #: src/pages/build/BuildDetail.tsx:85 -#: src/pages/part/PartDetail.tsx:831 +#: src/pages/part/PartDetail.tsx:872 +#: src/tables/part/PartTable.tsx:28 #: src/tables/part/RelatedPartTable.tsx:45 #: src/tables/stock/StockTrackingTable.tsx:74 msgid "Part" @@ -1185,7 +1319,7 @@ msgstr "" #: src/pages/part/CategoryDetail.tsx:112 #: src/pages/part/CategoryDetail.tsx:237 #: src/pages/part/CategoryDetail.tsx:267 -#: src/pages/part/PartDetail.tsx:639 +#: src/pages/part/PartDetail.tsx:652 msgid "Parts" msgstr "" @@ -1235,7 +1369,7 @@ msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:172 #: src/pages/part/CategoryDetail.tsx:251 #: src/pages/part/CategoryDetail.tsx:288 -#: src/pages/part/PartDetail.tsx:821 +#: src/pages/part/PartDetail.tsx:862 msgid "Part Categories" msgstr "" @@ -1317,7 +1451,7 @@ msgid "Project Code" msgstr "" #: src/components/render/ModelType.tsx:127 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:109 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:120 msgid "Project Codes" msgstr "" @@ -1329,10 +1463,10 @@ msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:134 -#: src/pages/Index/Settings/SystemSettings.tsx:257 +#: src/pages/Index/Settings/SystemSettings.tsx:258 #: src/pages/company/CompanyDetail.tsx:194 #: src/pages/company/SupplierPartDetail.tsx:226 -#: src/pages/part/PartDetail.tsx:573 +#: src/pages/part/PartDetail.tsx:586 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "" @@ -1354,9 +1488,9 @@ msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:272 +#: src/pages/Index/Settings/SystemSettings.tsx:273 #: src/pages/company/CompanyDetail.tsx:214 -#: src/pages/part/PartDetail.tsx:580 +#: src/pages/part/PartDetail.tsx:593 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" @@ -1376,7 +1510,7 @@ msgid "Return Order" msgstr "" #: src/components/render/ModelType.tsx:164 -#: src/pages/Index/Settings/SystemSettings.tsx:288 +#: src/pages/Index/Settings/SystemSettings.tsx:289 #: src/pages/company/CompanyDetail.tsx:221 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1413,40 +1547,49 @@ msgid "Owners" msgstr "" #: src/components/render/ModelType.tsx:193 +#: src/tables/settings/ImportSessionTable.tsx:122 #: src/tables/stock/StockItemTestResultTable.tsx:193 #: src/tables/stock/StockTrackingTable.tsx:195 msgid "User" msgstr "" #: src/components/render/ModelType.tsx:194 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:85 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:90 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" msgstr "" #: src/components/render/ModelType.tsx:200 -msgid "Label Template" +msgid "Import Session" msgstr "" #: src/components/render/ModelType.tsx:201 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:139 -msgid "Label Templates" +msgid "Import Sessions" msgstr "" #: src/components/render/ModelType.tsx:207 -msgid "Report Template" +msgid "Label Template" msgstr "" #: src/components/render/ModelType.tsx:208 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:145 -msgid "Report Templates" +#: src/pages/Index/Settings/AdminCenter/Index.tsx:150 +msgid "Label Templates" msgstr "" #: src/components/render/ModelType.tsx:214 -msgid "Plugin Configuration" +msgid "Report Template" msgstr "" #: src/components/render/ModelType.tsx:215 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:156 +msgid "Report Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:221 +msgid "Plugin Configuration" +msgstr "" + +#: src/components/render/ModelType.tsx:222 msgid "Plugin Configurations" msgstr "" @@ -1458,7 +1601,7 @@ msgstr "" #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 #: src/pages/Index/Settings/SystemSettings.tsx:210 -#: src/pages/part/PartDetail.tsx:492 +#: src/pages/part/PartDetail.tsx:503 #: src/pages/stock/LocationDetail.tsx:347 #: src/pages/stock/StockDetail.tsx:356 #: src/tables/stock/StockItemTable.tsx:57 @@ -1641,10 +1784,6 @@ msgstr "" #~ msgid "Comment" #~ msgstr "Comment" -#: src/components/tables/general/AttachmentTable.tsx:56 -#~ msgid "Uploaded" -#~ msgstr "Uploaded" - #: src/components/tables/part/PartCategoryTable.tsx:122 #~ msgid "Part category updated" #~ msgstr "Part category updated" @@ -2157,7 +2296,7 @@ msgid "Recently Updated" msgstr "" #: src/defaults/dashboardItems.tsx:50 -#: src/tables/part/PartTable.tsx:216 +#: src/tables/part/PartTable.tsx:223 msgid "Low Stock" msgstr "" @@ -2466,7 +2605,7 @@ msgstr "" #~ msgid "Company updated" #~ msgstr "Company updated" -#: src/forms/PartForms.tsx:100 +#: src/forms/PartForms.tsx:103 msgid "Parent part category" msgstr "" @@ -2534,7 +2673,7 @@ msgstr "" #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 #: src/pages/stock/StockDetail.tsx:173 -#: src/tables/ColumnRenderers.tsx:34 +#: src/tables/ColumnRenderers.tsx:49 #: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" msgstr "" @@ -2585,8 +2724,8 @@ msgstr "" #: src/forms/StockForms.tsx:176 #: src/pages/stock/StockDetail.tsx:379 -#: src/tables/stock/StockItemTable.tsx:382 -#: src/tables/stock/StockItemTable.tsx:499 +#: src/tables/stock/StockItemTable.tsx:404 +#: src/tables/stock/StockItemTable.tsx:521 msgid "Add Stock Item" msgstr "" @@ -2606,9 +2745,9 @@ msgstr "" #: src/forms/StockForms.tsx:606 #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 -#: src/pages/part/PartDetail.tsx:202 -#: src/pages/part/PartDetail.tsx:655 -#: src/tables/stock/StockItemTable.tsx:290 +#: src/pages/part/PartDetail.tsx:203 +#: src/pages/part/PartDetail.tsx:668 +#: src/tables/stock/StockItemTable.tsx:312 msgid "In Stock" msgstr "" @@ -2649,12 +2788,12 @@ msgid "Remove Stock" msgstr "" #: src/forms/StockForms.tsx:803 -#: src/pages/part/PartDetail.tsx:782 +#: src/pages/part/PartDetail.tsx:823 msgid "Transfer Stock" msgstr "" #: src/forms/StockForms.tsx:812 -#: src/pages/part/PartDetail.tsx:771 +#: src/pages/part/PartDetail.tsx:812 msgid "Count Stock" msgstr "" @@ -3279,53 +3418,57 @@ msgstr "" #~ msgid "Advanced Amininistrative Options for InvenTree" #~ msgstr "Advanced Amininistrative Options for InvenTree" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:91 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:96 +msgid "Data Import" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:102 msgid "Background Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:97 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:108 msgid "Error Reports" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:103 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:114 msgid "Currencies" 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:132 msgid "Custom Units" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:138 #: src/pages/part/CategoryDetail.tsx:257 msgid "Part Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 -#~ msgid "Templates" -#~ msgstr "Templates" - -#: src/pages/Index/Settings/AdminCenter/Index.tsx:133 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:144 msgid "Category Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:151 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:162 msgid "Location types" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:163 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:174 #: src/tables/machine/MachineTypeTable.tsx:287 msgid "Machines" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:173 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:184 msgid "Quick Actions" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:178 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:189 msgid "Add a new user" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:199 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:210 msgid "Advanced Options" msgstr "" @@ -3477,7 +3620,7 @@ msgid "Reporting" msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:235 -#: src/pages/part/PartDetail.tsx:593 +#: src/pages/part/PartDetail.tsx:606 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" @@ -3485,12 +3628,12 @@ msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:241 #: src/pages/build/BuildDetail.tsx:423 #: src/pages/build/BuildIndex.tsx:14 -#: src/pages/part/PartDetail.tsx:527 +#: src/pages/part/PartDetail.tsx:540 #: src/pages/sales/SalesOrderDetail.tsx:270 msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:316 +#: src/pages/Index/Settings/SystemSettings.tsx:317 msgid "Switch to User Setting" msgstr "" @@ -3555,7 +3698,8 @@ msgstr "" #: 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/settings/ImportSessionTable.tsx:116 +#: src/tables/stock/StockItemTable.tsx:281 #: src/tables/stock/StockTrackingTable.tsx:52 msgid "Status" msgstr "" @@ -3564,7 +3708,7 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:104 #: src/pages/sales/ReturnOrderDetail.tsx:73 #: src/pages/sales/SalesOrderDetail.tsx:77 -#: src/tables/ColumnRenderers.tsx:106 +#: src/tables/ColumnRenderers.tsx:121 #: src/tables/build/BuildLineTable.tsx:140 msgid "Reference" msgstr "" @@ -3574,12 +3718,12 @@ msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:78 #: src/pages/company/SupplierPartDetail.tsx:85 #: src/pages/part/CategoryDetail.tsx:94 -#: src/pages/part/PartDetail.tsx:129 +#: src/pages/part/PartDetail.tsx:130 #: src/pages/purchasing/PurchaseOrderDetail.tsx:125 #: src/pages/sales/ReturnOrderDetail.tsx:93 #: src/pages/sales/SalesOrderDetail.tsx:97 #: src/pages/stock/LocationDetail.tsx:101 -#: src/tables/ColumnRenderers.tsx:66 +#: src/tables/ColumnRenderers.tsx:81 #: src/tables/machine/MachineTypeTable.tsx:69 #: src/tables/machine/MachineTypeTable.tsx:112 #: src/tables/machine/MachineTypeTable.tsx:219 @@ -3610,7 +3754,7 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:152 -#: src/pages/part/PartDetail.tsx:317 +#: src/pages/part/PartDetail.tsx:323 #: src/pages/purchasing/PurchaseOrderDetail.tsx:217 #: src/pages/sales/ReturnOrderDetail.tsx:186 #: src/pages/sales/SalesOrderDetail.tsx:190 @@ -3630,7 +3774,7 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:210 #: src/pages/sales/ReturnOrderDetail.tsx:179 #: src/pages/sales/SalesOrderDetail.tsx:183 -#: src/tables/ColumnRenderers.tsx:191 +#: src/tables/ColumnRenderers.tsx:206 msgid "Target Date" msgstr "" @@ -3711,7 +3855,7 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:297 #: src/pages/company/CompanyDetail.tsx:257 #: src/pages/company/ManufacturerPartDetail.tsx:174 -#: src/pages/part/PartDetail.tsx:616 +#: src/pages/part/PartDetail.tsx:629 #: src/pages/purchasing/PurchaseOrderDetail.tsx:279 #: src/pages/sales/ReturnOrderDetail.tsx:230 #: src/pages/sales/SalesOrderDetail.tsx:280 @@ -3721,7 +3865,7 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:305 #: src/pages/company/CompanyDetail.tsx:268 -#: src/pages/part/PartDetail.tsx:624 +#: src/pages/part/PartDetail.tsx:637 #: src/pages/purchasing/PurchaseOrderDetail.tsx:290 #: src/pages/sales/ReturnOrderDetail.tsx:241 #: src/pages/sales/SalesOrderDetail.tsx:291 @@ -3877,12 +4021,12 @@ msgid "Manufacturer Part Details" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:148 -#: src/pages/part/PartDetail.tsx:486 +#: src/pages/part/PartDetail.tsx:492 msgid "Parameters" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:160 -#: src/pages/part/PartDetail.tsx:560 +#: src/pages/part/PartDetail.tsx:573 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" msgstr "" @@ -3907,7 +4051,7 @@ msgid "ManufacturerPart" msgstr "" #: src/pages/company/SupplierPartDetail.tsx:99 -#: src/tables/ColumnRenderers.tsx:117 +#: src/tables/ColumnRenderers.tsx:132 msgid "Note" msgstr "" @@ -4043,275 +4187,275 @@ msgstr "" msgid "Category Details" msgstr "" -#: src/pages/part/PartDetail.tsx:135 +#: src/pages/part/PartDetail.tsx:136 msgid "Variant of" msgstr "" -#: src/pages/part/PartDetail.tsx:142 +#: src/pages/part/PartDetail.tsx:143 #: src/tables/notifications/NotificationsTable.tsx:31 #: src/tables/part/PartCategoryTemplateTable.tsx:67 msgid "Category" msgstr "" -#: src/pages/part/PartDetail.tsx:148 +#: src/pages/part/PartDetail.tsx:149 msgid "Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:155 +#: src/pages/part/PartDetail.tsx:156 msgid "Category Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:162 +#: src/pages/part/PartDetail.tsx:163 msgid "IPN" msgstr "" -#: src/pages/part/PartDetail.tsx:169 +#: src/pages/part/PartDetail.tsx:170 msgid "Revision" msgstr "" -#: src/pages/part/PartDetail.tsx:176 +#: src/pages/part/PartDetail.tsx:177 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" msgstr "" -#: src/pages/part/PartDetail.tsx:183 +#: src/pages/part/PartDetail.tsx:184 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:190 +#: src/pages/part/PartDetail.tsx:191 #: src/pages/purchasing/PurchaseOrderDetail.tsx:183 #: src/pages/sales/ReturnOrderDetail.tsx:152 #: src/pages/sales/SalesOrderDetail.tsx:156 msgid "Link" msgstr "" -#: src/pages/part/PartDetail.tsx:208 -#: src/tables/bom/BomTable.tsx:276 +#: src/pages/part/PartDetail.tsx:209 +#: src/tables/bom/BomTable.tsx:279 #: src/tables/build/BuildLineTable.tsx:121 -#: src/tables/part/PartTable.tsx:256 +#: src/tables/part/PartTable.tsx:263 msgid "Available Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:215 +#: src/pages/part/PartDetail.tsx:216 msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:221 -#: src/tables/bom/BomTable.tsx:217 +#: src/pages/part/PartDetail.tsx:222 +#: src/tables/bom/BomTable.tsx:220 #: src/tables/build/BuildLineTable.tsx:95 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:230 +#: src/pages/part/PartDetail.tsx:231 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:238 +#: src/pages/part/PartDetail.tsx:239 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:245 -#: src/tables/bom/BomTable.tsx:241 +#: src/pages/part/PartDetail.tsx:246 +#: src/tables/bom/BomTable.tsx:244 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:252 -#: src/tables/bom/BomTable.tsx:225 -#: src/tables/part/PartTable.tsx:82 +#: src/pages/part/PartDetail.tsx:253 +#: src/tables/bom/BomTable.tsx:228 +#: src/tables/part/PartTable.tsx:83 msgid "Building" msgstr "" -#: src/pages/part/PartDetail.tsx:261 +#: src/pages/part/PartDetail.tsx:262 #: src/tables/bom/UsedInTable.tsx:73 #: src/tables/build/BuildOrderTable.tsx:108 #: src/tables/company/CompanyTable.tsx:61 #: src/tables/company/CompanyTable.tsx:95 #: src/tables/machine/MachineListTable.tsx:323 #: src/tables/machine/MachineListTable.tsx:585 -#: src/tables/part/PartTable.tsx:168 +#: src/tables/part/PartTable.tsx:169 #: src/tables/part/PartVariantTable.tsx:15 #: 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 +#: src/tables/stock/StockItemTable.tsx:276 msgid "Active" msgstr "" -#: src/pages/part/PartDetail.tsx:266 +#: src/pages/part/PartDetail.tsx:272 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:271 -#: src/tables/bom/BomTable.tsx:271 +#: src/pages/part/PartDetail.tsx:277 +#: src/tables/bom/BomTable.tsx:274 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:276 +#: src/pages/part/PartDetail.tsx:282 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:281 -#: src/tables/bom/BomTable.tsx:266 +#: src/pages/part/PartDetail.tsx:287 +#: src/tables/bom/BomTable.tsx:269 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:286 +#: src/pages/part/PartDetail.tsx:292 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:291 +#: src/pages/part/PartDetail.tsx:297 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:296 +#: src/pages/part/PartDetail.tsx:302 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:304 -#: src/tables/ColumnRenderers.tsx:199 +#: src/pages/part/PartDetail.tsx:310 +#: src/tables/ColumnRenderers.tsx:214 msgid "Creation Date" msgstr "" -#: src/pages/part/PartDetail.tsx:309 -msgid "Created By" -msgstr "" - #: src/pages/part/PartDetail.tsx:310 #~ msgid "Edit part" #~ msgstr "Edit part" +#: src/pages/part/PartDetail.tsx:315 +msgid "Created By" +msgstr "" + #: src/pages/part/PartDetail.tsx:322 #~ msgid "Duplicate part" #~ msgstr "Duplicate part" -#: src/pages/part/PartDetail.tsx:324 -msgid "Default Supplier" -msgstr "" - #: src/pages/part/PartDetail.tsx:327 #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:335 +#: src/pages/part/PartDetail.tsx:330 +msgid "Default Supplier" +msgstr "" + +#: src/pages/part/PartDetail.tsx:341 #: src/pages/part/pricing/BomPricingPanel.tsx:78 #: src/pages/part/pricing/VariantPricingPanel.tsx:95 -#: src/tables/part/PartTable.tsx:151 +#: src/tables/part/PartTable.tsx:152 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:374 +#: src/pages/part/PartDetail.tsx:380 #: src/pages/stock/StockDetail.tsx:133 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:409 +#: src/pages/part/PartDetail.tsx:415 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:480 +#: src/pages/part/PartDetail.tsx:486 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:506 +#: src/pages/part/PartDetail.tsx:517 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:513 +#: src/pages/part/PartDetail.tsx:524 #: src/pages/stock/StockDetail.tsx:286 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:520 +#: src/pages/part/PartDetail.tsx:531 msgid "Bill of Materials" msgstr "" -#: src/pages/part/PartDetail.tsx:534 +#: src/pages/part/PartDetail.tsx:547 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:541 +#: src/pages/part/PartDetail.tsx:554 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:547 +#: src/pages/part/PartDetail.tsx:560 #: src/pages/purchasing/PurchasingIndex.tsx:37 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:587 +#: src/pages/part/PartDetail.tsx:600 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:599 +#: src/pages/part/PartDetail.tsx:612 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:610 +#: src/pages/part/PartDetail.tsx:623 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:661 +#: src/pages/part/PartDetail.tsx:674 #: src/pages/stock/StockDetail.tsx:154 #: src/pages/stock/StockDetail.tsx:533 #: src/tables/build/BuildLineTable.tsx:36 -#: src/tables/part/PartTable.tsx:107 +#: src/tables/part/PartTable.tsx:108 #: src/tables/stock/StockItemTable.tsx:166 -#: src/tables/stock/StockItemTable.tsx:275 +#: src/tables/stock/StockItemTable.tsx:297 msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:667 +#: src/pages/part/PartDetail.tsx:680 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:673 -#: src/tables/bom/BomTable.tsx:281 -#: src/tables/part/PartTable.tsx:76 +#: src/pages/part/PartDetail.tsx:686 +#: src/tables/bom/BomTable.tsx:284 +#: src/tables/part/PartTable.tsx:77 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:679 +#: src/pages/part/PartDetail.tsx:692 #: src/pages/stock/StockDetail.tsx:516 -#: src/tables/stock/StockItemTable.tsx:295 +#: src/tables/stock/StockItemTable.tsx:317 msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:698 +#: src/pages/part/PartDetail.tsx:717 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:705 -#: src/tables/part/PartTable.tsx:289 -#: src/tables/part/PartTable.tsx:302 +#: src/pages/part/PartDetail.tsx:744 +#: src/tables/part/PartTable.tsx:296 +#: src/tables/part/PartTable.tsx:309 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:717 +#: src/pages/part/PartDetail.tsx:758 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:726 +#: src/pages/part/PartDetail.tsx:767 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:764 +#: src/pages/part/PartDetail.tsx:805 #: src/pages/stock/LocationDetail.tsx:304 -#: src/tables/stock/StockItemTable.tsx:409 +#: src/tables/stock/StockItemTable.tsx:431 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:772 +#: src/pages/part/PartDetail.tsx:813 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:824 msgid "Transfer part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:792 +#: src/pages/part/PartDetail.tsx:833 msgid "Part Actions" msgstr "" @@ -4359,8 +4503,8 @@ msgstr "" #: src/pages/part/pricing/BomPricingPanel.tsx:57 #: src/pages/part/pricing/BomPricingPanel.tsx:137 -#: src/tables/ColumnRenderers.tsx:241 -#: src/tables/bom/BomTable.tsx:165 +#: src/tables/ColumnRenderers.tsx:256 +#: src/tables/bom/BomTable.tsx:168 #: src/tables/purchasing/PurchaseOrderTable.tsx:112 #: src/tables/sales/ReturnOrderTable.tsx:104 #: src/tables/sales/SalesOrderTable.tsx:134 @@ -4369,7 +4513,7 @@ msgstr "" #: src/pages/part/pricing/BomPricingPanel.tsx:77 #: src/pages/part/pricing/BomPricingPanel.tsx:101 -#: src/tables/part/PartTable.tsx:186 +#: src/tables/part/PartTable.tsx:193 msgid "Component" msgstr "" @@ -4398,7 +4542,7 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:67 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:128 #: src/pages/part/pricing/SupplierPricingPanel.tsx:62 -#: src/tables/bom/BomTable.tsx:156 +#: src/tables/bom/BomTable.tsx:159 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 msgid "Unit Price" @@ -4498,7 +4642,7 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:40 #: src/pages/part/pricing/SaleHistoryPanel.tsx:36 -#: src/tables/ColumnRenderers.tsx:180 +#: src/tables/ColumnRenderers.tsx:195 #: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" @@ -4771,12 +4915,12 @@ msgid "Count stock" msgstr "" #: src/pages/stock/StockDetail.tsx:459 -#: src/tables/stock/StockItemTable.tsx:414 +#: src/tables/stock/StockItemTable.tsx:436 msgid "Add stock" msgstr "" #: src/pages/stock/StockDetail.tsx:467 -#: src/tables/stock/StockItemTable.tsx:423 +#: src/tables/stock/StockItemTable.tsx:445 msgid "Remove stock" msgstr "" @@ -4785,7 +4929,7 @@ msgid "Transfer" msgstr "" #: src/pages/stock/StockDetail.tsx:475 -#: src/tables/stock/StockItemTable.tsx:443 +#: src/tables/stock/StockItemTable.tsx:465 msgid "Transfer stock" msgstr "" @@ -4793,15 +4937,15 @@ msgstr "" msgid "Stock Item Actions" msgstr "" -#: src/tables/ColumnRenderers.tsx:42 +#: src/tables/ColumnRenderers.tsx:57 msgid "No location set" msgstr "" -#: src/tables/ColumnRenderers.tsx:207 +#: src/tables/ColumnRenderers.tsx:222 msgid "Shipment Date" msgstr "" -#: src/tables/ColumnRenderers.tsx:227 +#: src/tables/ColumnRenderers.tsx:242 #: src/tables/settings/CurrencyTable.tsx:23 msgid "Currency" msgstr "" @@ -4828,14 +4972,14 @@ msgid "TSV" msgstr "" #: src/tables/DownloadAction.tsx:24 -msgid "Excel (.xls)" -msgstr "" - -#: src/tables/DownloadAction.tsx:25 msgid "Excel (.xlsx)" msgstr "" -#: src/tables/DownloadAction.tsx:39 +#: src/tables/DownloadAction.tsx:24 +#~ msgid "Excel (.xls)" +#~ msgstr "" + +#: src/tables/DownloadAction.tsx:38 msgid "Download Data" msgstr "" @@ -4900,54 +5044,54 @@ msgstr "" msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:119 -#: src/tables/InvenTreeTable.tsx:390 -#: src/tables/InvenTreeTable.tsx:411 +#: src/tables/InvenTreeTable.tsx:126 +#: src/tables/InvenTreeTable.tsx:409 +#: src/tables/InvenTreeTable.tsx:430 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:422 +#: src/tables/InvenTreeTable.tsx:441 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:430 +#: src/tables/InvenTreeTable.tsx:449 msgid "Bad request" msgstr "" -#: src/tables/InvenTreeTable.tsx:433 +#: src/tables/InvenTreeTable.tsx:452 msgid "Unauthorized" msgstr "" -#: src/tables/InvenTreeTable.tsx:436 +#: src/tables/InvenTreeTable.tsx:455 msgid "Forbidden" msgstr "" -#: src/tables/InvenTreeTable.tsx:439 +#: src/tables/InvenTreeTable.tsx:458 msgid "Not found" msgstr "" -#: src/tables/InvenTreeTable.tsx:488 -#: src/tables/InvenTreeTable.tsx:606 +#: src/tables/InvenTreeTable.tsx:507 +#: src/tables/InvenTreeTable.tsx:623 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:492 +#: src/tables/InvenTreeTable.tsx:511 msgid "Are you sure you want to delete the selected records?" msgstr "" -#: src/tables/InvenTreeTable.tsx:494 +#: src/tables/InvenTreeTable.tsx:513 msgid "This action cannot be undone!" msgstr "" -#: src/tables/InvenTreeTable.tsx:517 +#: src/tables/InvenTreeTable.tsx:536 msgid "Deleted records" msgstr "" -#: src/tables/InvenTreeTable.tsx:518 +#: src/tables/InvenTreeTable.tsx:537 msgid "Records were deleted successfully" msgstr "" -#: src/tables/InvenTreeTable.tsx:527 +#: src/tables/InvenTreeTable.tsx:546 msgid "Failed to delete records" msgstr "" @@ -4956,140 +5100,144 @@ msgstr "" #~ msgid "Print actions" #~ msgstr "Print actions" -#: src/tables/InvenTreeTable.tsx:596 -#: src/tables/InvenTreeTable.tsx:597 +#: src/tables/InvenTreeTable.tsx:613 +#: src/tables/InvenTreeTable.tsx:614 msgid "Barcode actions" msgstr "" -#: src/tables/InvenTreeTable.tsx:625 +#: src/tables/InvenTreeTable.tsx:642 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTable.tsx:646 +#: src/tables/InvenTreeTable.tsx:663 msgid "Table filters" msgstr "" -#: src/tables/bom/BomTable.tsx:80 +#: src/tables/UploadAction.tsx:9 +msgid "Upload Data" +msgstr "" + +#: src/tables/bom/BomTable.tsx:83 msgid "This BOM item is defined for a different parent" msgstr "" -#: src/tables/bom/BomTable.tsx:95 +#: src/tables/bom/BomTable.tsx:98 msgid "Part Information" msgstr "" -#: src/tables/bom/BomTable.tsx:184 -#: src/tables/part/PartTable.tsx:124 +#: src/tables/bom/BomTable.tsx:187 +#: src/tables/part/PartTable.tsx:125 msgid "No stock" msgstr "" -#: src/tables/bom/BomTable.tsx:192 +#: src/tables/bom/BomTable.tsx:195 #: src/tables/build/BuildLineTable.tsx:104 -#: src/tables/part/PartTable.tsx:115 +#: src/tables/part/PartTable.tsx:116 msgid "External stock" msgstr "" -#: src/tables/bom/BomTable.tsx:200 +#: src/tables/bom/BomTable.tsx:203 #: src/tables/build/BuildLineTable.tsx:67 msgid "Includes substitute stock" msgstr "" -#: src/tables/bom/BomTable.tsx:209 +#: src/tables/bom/BomTable.tsx:212 #: src/tables/build/BuildLineTable.tsx:77 msgid "Includes variant stock" msgstr "" -#: src/tables/bom/BomTable.tsx:234 -#: src/tables/part/PartTable.tsx:143 +#: src/tables/bom/BomTable.tsx:237 +#: src/tables/part/PartTable.tsx:144 #: src/tables/stock/StockItemTable.tsx:205 msgid "Stock Information" msgstr "" -#: src/tables/bom/BomTable.tsx:246 +#: src/tables/bom/BomTable.tsx:249 #: src/tables/build/BuildLineTable.tsx:195 msgid "Consumable item" msgstr "" -#: src/tables/bom/BomTable.tsx:267 +#: src/tables/bom/BomTable.tsx:270 msgid "Show trackable items" msgstr "" -#: src/tables/bom/BomTable.tsx:272 +#: src/tables/bom/BomTable.tsx:275 msgid "Show asssmbled items" msgstr "" -#: src/tables/bom/BomTable.tsx:277 +#: src/tables/bom/BomTable.tsx:280 msgid "Show items with available stock" msgstr "" -#: src/tables/bom/BomTable.tsx:282 +#: src/tables/bom/BomTable.tsx:285 msgid "Show items on order" msgstr "" -#: src/tables/bom/BomTable.tsx:286 +#: src/tables/bom/BomTable.tsx:289 msgid "Validated" msgstr "" -#: src/tables/bom/BomTable.tsx:287 +#: src/tables/bom/BomTable.tsx:290 msgid "Show validated items" msgstr "" -#: src/tables/bom/BomTable.tsx:291 +#: src/tables/bom/BomTable.tsx:294 #: src/tables/bom/UsedInTable.tsx:63 msgid "Inherited" msgstr "" -#: src/tables/bom/BomTable.tsx:292 +#: src/tables/bom/BomTable.tsx:295 #: src/tables/bom/UsedInTable.tsx:64 msgid "Show inherited items" msgstr "" -#: src/tables/bom/BomTable.tsx:296 +#: src/tables/bom/BomTable.tsx:299 msgid "Allow Variants" msgstr "" -#: src/tables/bom/BomTable.tsx:297 +#: src/tables/bom/BomTable.tsx:300 msgid "Show items which allow variant substitution" msgstr "" #: src/tables/bom/BomTable.tsx:301 +#~ msgid "Create BOM Item" +#~ msgstr "Create BOM Item" + +#: src/tables/bom/BomTable.tsx:304 #: src/tables/bom/UsedInTable.tsx:68 #: src/tables/build/BuildLineTable.tsx:46 msgid "Optional" msgstr "" -#: src/tables/bom/BomTable.tsx:301 -#~ msgid "Create BOM Item" -#~ msgstr "Create BOM Item" - -#: src/tables/bom/BomTable.tsx:302 +#: src/tables/bom/BomTable.tsx:305 #: src/tables/bom/UsedInTable.tsx:69 msgid "Show optional items" msgstr "" -#: src/tables/bom/BomTable.tsx:306 +#: src/tables/bom/BomTable.tsx:309 #: src/tables/build/BuildLineTable.tsx:41 msgid "Consumable" msgstr "" -#: src/tables/bom/BomTable.tsx:307 +#: src/tables/bom/BomTable.tsx:310 msgid "Show consumable items" msgstr "" -#: src/tables/bom/BomTable.tsx:311 -#: src/tables/part/PartTable.tsx:250 +#: src/tables/bom/BomTable.tsx:314 +#: src/tables/part/PartTable.tsx:257 msgid "Has Pricing" msgstr "" -#: src/tables/bom/BomTable.tsx:312 +#: src/tables/bom/BomTable.tsx:315 msgid "Show items with pricing" msgstr "" -#: src/tables/bom/BomTable.tsx:321 -#: src/tables/bom/BomTable.tsx:420 +#: src/tables/bom/BomTable.tsx:324 +#: src/tables/bom/BomTable.tsx:426 msgid "Add BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:326 +#: src/tables/bom/BomTable.tsx:329 msgid "BOM item created" msgstr "" @@ -5097,23 +5245,23 @@ msgstr "" #~ msgid "Edit Bom Item" #~ msgstr "Edit Bom Item" -#: src/tables/bom/BomTable.tsx:333 -msgid "Edit BOM Item" -msgstr "" - #: src/tables/bom/BomTable.tsx:333 #~ msgid "Bom item updated" #~ msgstr "Bom item updated" -#: src/tables/bom/BomTable.tsx:335 +#: src/tables/bom/BomTable.tsx:336 +msgid "Edit BOM Item" +msgstr "" + +#: src/tables/bom/BomTable.tsx:338 msgid "BOM item updated" msgstr "" -#: src/tables/bom/BomTable.tsx:342 +#: src/tables/bom/BomTable.tsx:345 msgid "Delete BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:343 +#: src/tables/bom/BomTable.tsx:346 msgid "BOM item deleted" msgstr "" @@ -5133,32 +5281,41 @@ msgstr "" #~ msgid "Validate BOM line" #~ msgstr "Validate BOM line" -#: src/tables/bom/BomTable.tsx:355 +#: src/tables/bom/BomTable.tsx:358 msgid "BOM item validated" msgstr "" -#: src/tables/bom/BomTable.tsx:364 +#: src/tables/bom/BomTable.tsx:367 msgid "Failed to validate BOM item" msgstr "" -#: src/tables/bom/BomTable.tsx:376 +#: src/tables/bom/BomTable.tsx:379 msgid "View BOM" msgstr "" -#: src/tables/bom/BomTable.tsx:385 +#: src/tables/bom/BomTable.tsx:388 msgid "Validate BOM Line" msgstr "" -#: src/tables/bom/BomTable.tsx:399 +#: src/tables/bom/BomTable.tsx:405 msgid "Edit Substitutes" msgstr "" +#: src/tables/bom/BomTable.tsx:440 +#: src/tables/part/PartParameterTable.tsx:191 +msgid "Part is Locked" +msgstr "" + +#: src/tables/bom/BomTable.tsx:445 +msgid "Bill of materials cannot be edited, as the part is locked" +msgstr "" + #: src/tables/bom/UsedInTable.tsx:74 msgid "Show active assemblies" msgstr "" #: src/tables/bom/UsedInTable.tsx:78 -#: src/tables/part/PartTable.tsx:192 +#: src/tables/part/PartTable.tsx:199 #: src/tables/part/PartVariantTable.tsx:30 msgid "Trackable" msgstr "" @@ -5168,7 +5325,7 @@ msgid "Show trackable assemblies" msgstr "" #: src/tables/build/BuildLineTable.tsx:31 -#: src/tables/stock/StockItemTable.tsx:270 +#: src/tables/stock/StockItemTable.tsx:292 msgid "Allocated" msgstr "" @@ -5189,7 +5346,7 @@ msgid "Show optional lines" msgstr "" #: src/tables/build/BuildLineTable.tsx:51 -#: src/tables/stock/StockItemTable.tsx:329 +#: src/tables/stock/StockItemTable.tsx:351 msgid "Tracked" msgstr "" @@ -5302,10 +5459,6 @@ msgstr "" msgid "Deallocate stock from build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:205 -msgid "Complete" -msgstr "" - #: src/tables/build/BuildOutputTable.tsx:206 msgid "Complete build output" msgstr "" @@ -5635,7 +5788,7 @@ msgid "Message" msgstr "" #: src/tables/part/ParametricPartTable.tsx:76 -#: src/tables/part/PartParameterTable.tsx:88 +#: src/tables/part/PartParameterTable.tsx:95 msgid "Internal Units" msgstr "" @@ -5648,13 +5801,13 @@ msgid "Add Part Parameter" msgstr "" #: src/tables/part/ParametricPartTable.tsx:138 -#: src/tables/part/PartParameterTable.tsx:121 -#: src/tables/part/PartParameterTable.tsx:144 +#: src/tables/part/PartParameterTable.tsx:128 +#: src/tables/part/PartParameterTable.tsx:151 msgid "Edit Part Parameter" msgstr "" #: src/tables/part/PartCategoryTable.tsx:60 -#: src/tables/part/PartTable.tsx:180 +#: src/tables/part/PartTable.tsx:187 msgid "Include Subcategories" msgstr "" @@ -5667,7 +5820,7 @@ msgid "Show structural categories" msgstr "" #: src/tables/part/PartCategoryTable.tsx:70 -#: src/tables/part/PartTable.tsx:262 +#: src/tables/part/PartTable.tsx:269 msgid "Subscribed" msgstr "" @@ -5704,21 +5857,25 @@ msgstr "" #~ msgid "[{0}]" #~ msgstr "[{0}]" -#: src/tables/part/PartParameterTable.tsx:105 +#: src/tables/part/PartParameterTable.tsx:112 msgid "New Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:130 -#: src/tables/part/PartParameterTable.tsx:152 +#: src/tables/part/PartParameterTable.tsx:137 +#: src/tables/part/PartParameterTable.tsx:159 msgid "Delete Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:170 +#: src/tables/part/PartParameterTable.tsx:177 msgid "Add parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:191 -#: src/tables/stock/StockItemTable.tsx:300 +#: src/tables/part/PartParameterTable.tsx:196 +msgid "Part parameters cannot be edited, as the part is locked" +msgstr "" + +#: src/tables/part/PartParameterTable.tsx:210 +#: src/tables/stock/StockItemTable.tsx:322 msgid "Include Variants" msgstr "" @@ -5739,7 +5896,7 @@ msgid "Show templates with choices" msgstr "" #: src/tables/part/PartParameterTemplateTable.tsx:41 -#: src/tables/part/PartTable.tsx:198 +#: src/tables/part/PartTable.tsx:205 msgid "Has Units" msgstr "" @@ -5763,116 +5920,120 @@ msgstr "" msgid "Add parameter template" msgstr "" -#: src/tables/part/PartTable.tsx:67 +#: src/tables/part/PartTable.tsx:68 msgid "Minimum stock" msgstr "" -#: src/tables/part/PartTable.tsx:89 +#: src/tables/part/PartTable.tsx:90 msgid "Build Order Allocations" msgstr "" -#: src/tables/part/PartTable.tsx:98 +#: src/tables/part/PartTable.tsx:99 msgid "Sales Order Allocations" msgstr "" -#: src/tables/part/PartTable.tsx:169 +#: src/tables/part/PartTable.tsx:170 msgid "Filter by part active status" msgstr "" -#: src/tables/part/PartTable.tsx:174 -#: src/tables/stock/StockItemTable.tsx:265 +#: src/tables/part/PartTable.tsx:176 +msgid "Filter by part locked status" +msgstr "" + +#: src/tables/part/PartTable.tsx:181 +#: src/tables/stock/StockItemTable.tsx:287 msgid "Assembly" msgstr "" -#: src/tables/part/PartTable.tsx:175 +#: src/tables/part/PartTable.tsx:182 msgid "Filter by assembly attribute" msgstr "" -#: src/tables/part/PartTable.tsx:181 +#: src/tables/part/PartTable.tsx:188 msgid "Include parts in subcategories" msgstr "" -#: src/tables/part/PartTable.tsx:187 +#: src/tables/part/PartTable.tsx:194 msgid "Filter by component attribute" msgstr "" -#: src/tables/part/PartTable.tsx:193 +#: src/tables/part/PartTable.tsx:200 msgid "Filter by trackable attribute" msgstr "" -#: src/tables/part/PartTable.tsx:199 +#: src/tables/part/PartTable.tsx:206 msgid "Filter by parts which have units" msgstr "" -#: src/tables/part/PartTable.tsx:204 +#: src/tables/part/PartTable.tsx:211 msgid "Has IPN" msgstr "" -#: src/tables/part/PartTable.tsx:205 +#: src/tables/part/PartTable.tsx:212 msgid "Filter by parts which have an internal part number" msgstr "" -#: src/tables/part/PartTable.tsx:210 +#: src/tables/part/PartTable.tsx:217 msgid "Has Stock" msgstr "" -#: src/tables/part/PartTable.tsx:211 +#: src/tables/part/PartTable.tsx:218 msgid "Filter by parts which have stock" msgstr "" -#: src/tables/part/PartTable.tsx:217 +#: src/tables/part/PartTable.tsx:224 msgid "Filter by parts which have low stock" msgstr "" -#: src/tables/part/PartTable.tsx:222 +#: src/tables/part/PartTable.tsx:229 msgid "Purchaseable" msgstr "" -#: src/tables/part/PartTable.tsx:223 +#: src/tables/part/PartTable.tsx:230 msgid "Filter by parts which are purchaseable" msgstr "" -#: src/tables/part/PartTable.tsx:228 +#: src/tables/part/PartTable.tsx:235 msgid "Salable" msgstr "" -#: src/tables/part/PartTable.tsx:229 +#: src/tables/part/PartTable.tsx:236 msgid "Filter by parts which are salable" msgstr "" -#: src/tables/part/PartTable.tsx:235 +#: src/tables/part/PartTable.tsx:242 msgid "Filter by parts which are virtual" msgstr "" -#: src/tables/part/PartTable.tsx:239 +#: src/tables/part/PartTable.tsx:246 msgid "Not Virtual" msgstr "" -#: src/tables/part/PartTable.tsx:244 +#: src/tables/part/PartTable.tsx:251 msgid "Is Template" msgstr "" -#: src/tables/part/PartTable.tsx:245 +#: src/tables/part/PartTable.tsx:252 msgid "Filter by parts which are templates" msgstr "" -#: src/tables/part/PartTable.tsx:251 +#: src/tables/part/PartTable.tsx:258 msgid "Filter by parts which have pricing information" msgstr "" -#: src/tables/part/PartTable.tsx:257 +#: src/tables/part/PartTable.tsx:264 msgid "Filter by parts which have available stock" msgstr "" -#: src/tables/part/PartTable.tsx:263 +#: src/tables/part/PartTable.tsx:270 msgid "Filter by parts to which the user is subscribed" msgstr "" -#: src/tables/part/PartTable.tsx:268 +#: src/tables/part/PartTable.tsx:275 msgid "Has Stocktake" msgstr "" -#: src/tables/part/PartTable.tsx:269 +#: src/tables/part/PartTable.tsx:276 msgid "Filter by parts which have stocktake information" msgstr "" @@ -6211,7 +6372,7 @@ msgid "Sample" msgstr "" #: src/tables/plugin/PluginListTable.tsx:578 -#: src/tables/stock/StockItemTable.tsx:305 +#: src/tables/stock/StockItemTable.tsx:327 msgid "Installed" msgstr "" @@ -6486,6 +6647,41 @@ msgstr "" msgid "Edit group" msgstr "" +#: src/tables/settings/ImportSessionTable.tsx:39 +msgid "Delete Import Session" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:45 +#: src/tables/settings/ImportSessionTable.tsx:132 +msgid "Create Import Session" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:70 +msgid "Uploaded" +msgstr "Uploaded" + +#: src/tables/settings/ImportSessionTable.tsx:80 +msgid "Imported Rows" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:110 +#: src/tables/settings/TemplateTable.tsx:276 +msgid "Model Type" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:111 +#: src/tables/settings/TemplateTable.tsx:277 +msgid "Filter by target model type" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:117 +msgid "Filter by import session status" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:123 +msgid "Filter by user" +msgstr "" + #: src/tables/settings/PendingTasksTable.tsx:36 msgid "Arguments" msgstr "" @@ -6502,7 +6698,7 @@ msgstr "" msgid "Delete Project Code" msgstr "" -#: src/tables/settings/ProjectCodeTable.tsx:94 +#: src/tables/settings/ProjectCodeTable.tsx:92 msgid "Add project code" msgstr "" @@ -6571,14 +6767,6 @@ msgstr "" 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 "" @@ -6701,149 +6889,153 @@ msgstr "" msgid "This stock item has been depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:255 +#: src/tables/stock/StockItemTable.tsx:247 +msgid "Stock Value" +msgstr "" + +#: src/tables/stock/StockItemTable.tsx:277 msgid "Show stock for active parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:260 +#: src/tables/stock/StockItemTable.tsx:282 msgid "Filter by stock status" msgstr "" -#: src/tables/stock/StockItemTable.tsx:266 +#: src/tables/stock/StockItemTable.tsx:288 msgid "Show stock for assmebled parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:271 +#: src/tables/stock/StockItemTable.tsx:293 msgid "Show items which have been allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:276 +#: src/tables/stock/StockItemTable.tsx:298 msgid "Show items which are available" msgstr "" -#: src/tables/stock/StockItemTable.tsx:280 +#: src/tables/stock/StockItemTable.tsx:302 #: src/tables/stock/StockLocationTable.tsx:42 msgid "Include Sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:281 +#: src/tables/stock/StockItemTable.tsx:303 msgid "Include stock in sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:285 +#: src/tables/stock/StockItemTable.tsx:307 msgid "Depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:286 +#: src/tables/stock/StockItemTable.tsx:308 msgid "Show depleted stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:291 +#: src/tables/stock/StockItemTable.tsx:313 msgid "Show items which are in stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:296 +#: src/tables/stock/StockItemTable.tsx:318 msgid "Show items which are in production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:301 +#: src/tables/stock/StockItemTable.tsx:323 msgid "Include stock items for variant parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:306 +#: src/tables/stock/StockItemTable.tsx:328 msgid "Show stock items which are installed in other items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:310 +#: src/tables/stock/StockItemTable.tsx:332 msgid "Sent to Customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:311 +#: src/tables/stock/StockItemTable.tsx:333 msgid "Show items which have been sent to a customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:315 +#: src/tables/stock/StockItemTable.tsx:337 msgid "Is Serialized" msgstr "" -#: src/tables/stock/StockItemTable.tsx:316 +#: src/tables/stock/StockItemTable.tsx:338 msgid "Show items which have a serial number" msgstr "" -#: src/tables/stock/StockItemTable.tsx:323 +#: src/tables/stock/StockItemTable.tsx:345 msgid "Has Batch Code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:324 +#: src/tables/stock/StockItemTable.tsx:346 msgid "Show items which have a batch code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:330 +#: src/tables/stock/StockItemTable.tsx:352 msgid "Show tracked items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:334 +#: src/tables/stock/StockItemTable.tsx:356 msgid "Has Purchase Price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:335 +#: src/tables/stock/StockItemTable.tsx:357 msgid "Show items which have a purchase price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:343 +#: src/tables/stock/StockItemTable.tsx:365 msgid "External Location" msgstr "" -#: src/tables/stock/StockItemTable.tsx:344 +#: src/tables/stock/StockItemTable.tsx:366 msgid "Show items in an external location" msgstr "" -#: src/tables/stock/StockItemTable.tsx:416 +#: src/tables/stock/StockItemTable.tsx:438 msgid "Add a new stock item" msgstr "" -#: src/tables/stock/StockItemTable.tsx:425 +#: src/tables/stock/StockItemTable.tsx:447 msgid "Remove some quantity from a stock item" msgstr "" -#: src/tables/stock/StockItemTable.tsx:447 +#: src/tables/stock/StockItemTable.tsx:469 msgid "Move Stock items to new locations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:454 +#: src/tables/stock/StockItemTable.tsx:476 msgid "Change stock status" msgstr "" -#: src/tables/stock/StockItemTable.tsx:456 +#: src/tables/stock/StockItemTable.tsx:478 msgid "Change the status of stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:463 +#: src/tables/stock/StockItemTable.tsx:485 msgid "Merge stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:465 +#: src/tables/stock/StockItemTable.tsx:487 msgid "Merge stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:472 +#: src/tables/stock/StockItemTable.tsx:494 msgid "Order stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:474 -#: src/tables/stock/StockItemTable.tsx:480 +#: src/tables/stock/StockItemTable.tsx:496 +#: src/tables/stock/StockItemTable.tsx:502 msgid "Order new stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:478 +#: src/tables/stock/StockItemTable.tsx:500 msgid "Assign to customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:487 +#: src/tables/stock/StockItemTable.tsx:509 msgid "Delete stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:489 +#: src/tables/stock/StockItemTable.tsx:511 msgid "Delete stock items" msgstr "" @@ -6999,4 +7191,3 @@ msgstr "" #: src/views/MobileAppView.tsx:35 msgid "Ignore and continue to Desktop view" msgstr "" - diff --git a/src/frontend/src/locales/tr/messages.po b/src/frontend/src/locales/tr/messages.po index cd705cc6d11b..a573a1ec2498 100644 --- a/src/frontend/src/locales/tr/messages.po +++ b/src/frontend/src/locales/tr/messages.po @@ -49,16 +49,18 @@ msgstr "" #: src/components/buttons/PrintingActions.tsx:107 #: src/components/buttons/PrintingActions.tsx:144 #: src/components/editors/NotesEditor.tsx:65 -#: src/components/editors/NotesEditor.tsx:160 -#: src/components/forms/ApiForm.tsx:506 -#: src/components/forms/fields/ApiFormField.tsx:295 +#: src/components/editors/NotesEditor.tsx:165 +#: src/components/forms/ApiForm.tsx:513 +#: src/components/forms/fields/ApiFormField.tsx:306 +#: src/components/importer/ImportDataSelector.tsx:171 +#: src/components/importer/ImporterColumnSelector.tsx:112 #: src/components/modals/LicenseModal.tsx:75 #: src/components/nav/SearchDrawer.tsx:427 #: src/pages/ErrorPage.tsx:11 #: src/pages/part/PartPricingPanel.tsx:71 -#: src/tables/InvenTreeTable.tsx:451 -#: src/tables/InvenTreeTable.tsx:526 -#: src/tables/bom/BomTable.tsx:363 +#: src/tables/InvenTreeTable.tsx:470 +#: src/tables/InvenTreeTable.tsx:545 +#: src/tables/bom/BomTable.tsx:366 #: src/tables/stock/StockItemTestResultTable.tsx:294 msgid "Error" msgstr "Hata" @@ -157,7 +159,7 @@ msgstr "" #: src/functions/forms.tsx:196 #: src/hooks/UseForm.tsx:40 #: src/tables/FilterSelectDrawer.tsx:204 -#: src/tables/InvenTreeTable.tsx:499 +#: src/tables/InvenTreeTable.tsx:518 #: src/tables/build/BuildOutputTable.tsx:225 msgid "Cancel" msgstr "Vazgeç" @@ -175,7 +177,7 @@ msgid "Clear" msgstr "" #: src/components/details/DetailsImage.tsx:227 -#: src/components/forms/ApiForm.tsx:573 +#: src/components/forms/ApiForm.tsx:580 #: src/contexts/ThemeContext.tsx:43 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:56 msgid "Submit" @@ -202,48 +204,61 @@ msgid "Delete image" msgstr "" #: src/components/details/PartIcons.tsx:28 +#: src/tables/ColumnRenderers.tsx:35 +msgid "Part is locked" +msgstr "" + +#: src/components/details/PartIcons.tsx:30 +#: src/pages/part/PartDetail.tsx:267 +#: src/pages/part/PartDetail.tsx:698 +#: src/tables/part/PartTable.tsx:175 +msgid "Locked" +msgstr "" + +#: src/components/details/PartIcons.tsx:35 +#: src/tables/ColumnRenderers.tsx:30 msgid "Part is not active" msgstr "" -#: src/components/details/PartIcons.tsx:34 +#: src/components/details/PartIcons.tsx:37 #: src/components/render/Plugin.tsx:17 #: src/pages/company/CompanyDetail.tsx:315 #: src/pages/company/SupplierPartDetail.tsx:307 -#: src/pages/part/PartDetail.tsx:685 +#: src/pages/part/PartDetail.tsx:704 msgid "Inactive" msgstr "" -#: src/components/details/PartIcons.tsx:41 +#: src/components/details/PartIcons.tsx:43 msgid "Part is a template part (variants can be made from this part)" msgstr "" -#: src/components/details/PartIcons.tsx:47 +#: src/components/details/PartIcons.tsx:49 msgid "Part can be assembled from other parts" msgstr "" -#: src/components/details/PartIcons.tsx:53 +#: src/components/details/PartIcons.tsx:55 msgid "Part can be used in assemblies" msgstr "" -#: src/components/details/PartIcons.tsx:59 +#: src/components/details/PartIcons.tsx:61 msgid "Part stock is tracked by serial number" msgstr "" -#: src/components/details/PartIcons.tsx:65 +#: src/components/details/PartIcons.tsx:67 msgid "Part can be purchased from external suppliers" msgstr "" -#: src/components/details/PartIcons.tsx:71 +#: src/components/details/PartIcons.tsx:73 msgid "Part can be sold to customers" msgstr "" -#: src/components/details/PartIcons.tsx:76 +#: src/components/details/PartIcons.tsx:78 msgid "Part is virtual (not a physical part)" msgstr "" -#: src/components/details/PartIcons.tsx:82 -#: src/tables/part/PartTable.tsx:234 -#: src/tables/part/PartTable.tsx:238 +#: src/components/details/PartIcons.tsx:84 +#: src/tables/part/PartTable.tsx:241 +#: src/tables/part/PartTable.tsx:245 #: src/tables/part/PartVariantTable.tsx:25 msgid "Virtual" msgstr "Sanal" @@ -252,29 +267,29 @@ msgstr "Sanal" msgid "Image upload failed" msgstr "" -#: src/components/editors/NotesEditor.tsx:151 -#: src/components/forms/ApiForm.tsx:430 -#: src/tables/bom/BomTable.tsx:354 +#: src/components/editors/NotesEditor.tsx:156 +#: src/components/forms/ApiForm.tsx:437 +#: src/tables/bom/BomTable.tsx:357 msgid "Success" msgstr "Başarılı" -#: src/components/editors/NotesEditor.tsx:152 +#: src/components/editors/NotesEditor.tsx:157 msgid "Notes saved successfully" msgstr "" -#: src/components/editors/NotesEditor.tsx:161 +#: src/components/editors/NotesEditor.tsx:166 msgid "Failed to save notes" msgstr "" -#: src/components/editors/NotesEditor.tsx:193 +#: src/components/editors/NotesEditor.tsx:198 msgid "Preview Notes" msgstr "" -#: src/components/editors/NotesEditor.tsx:193 +#: src/components/editors/NotesEditor.tsx:198 msgid "Edit Notes" msgstr "" -#: src/components/editors/NotesEditor.tsx:207 +#: src/components/editors/NotesEditor.tsx:212 msgid "Save Notes" msgstr "" @@ -407,7 +422,7 @@ msgstr "" msgid "A server error occurred" msgstr "" -#: src/components/forms/ApiForm.tsx:149 +#: src/components/forms/ApiForm.tsx:151 #: src/functions/forms.tsx:259 msgid "Form Error" msgstr "" @@ -416,18 +431,18 @@ msgstr "" #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:611 +#: src/components/forms/ApiForm.tsx:618 #: src/tables/plugin/PluginListTable.tsx:388 msgid "Update" msgstr "" -#: src/components/forms/ApiForm.tsx:631 +#: src/components/forms/ApiForm.tsx:638 #: 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:498 +#: src/tables/InvenTreeTable.tsx:517 #: src/tables/RowActions.tsx:71 #: src/tables/plugin/PluginListTable.tsx:420 msgid "Delete" @@ -600,7 +615,7 @@ msgstr "Sunucu" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:70 #: src/pages/part/CategoryDetail.tsx:80 -#: src/pages/part/PartDetail.tsx:122 +#: src/pages/part/PartDetail.tsx:123 #: src/pages/stock/LocationDetail.tsx:87 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 @@ -685,6 +700,124 @@ msgstr "" msgid "Thumbnail" msgstr "Küçük resim" +#: src/components/importer/ImportDataSelector.tsx:154 +msgid "Importing Rows" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:155 +msgid "Please wait while the data is imported" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:172 +msgid "An error occurred while importing data" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:191 +msgid "Edit Data" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:218 +msgid "Delete Row" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:248 +msgid "Row" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:266 +msgid "Row contains errors" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:307 +msgid "Accept" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:340 +msgid "Valid" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:341 +msgid "Filter by row validation status" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:346 +#: src/tables/build/BuildOutputTable.tsx:205 +msgid "Complete" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:347 +msgid "Filter by row completion status" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:364 +msgid "Import selected rows" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:46 +#: src/components/importer/ImporterColumnSelector.tsx:85 +msgid "An error occurred" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:57 +msgid "Select column, or leave blank to ignore this field." +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:91 +msgid "Select a column from the data file" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:104 +msgid "Map data columns to database fields" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:109 +msgid "Accept Column Mapping" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:117 +msgid "Database Field" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:118 +msgid "Field Description" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:119 +msgid "Imported Column Name" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:44 +msgid "Import Data" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:45 +msgid "Map Columns" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:46 +msgid "Process Data" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:47 +msgid "Complete Import" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:91 +msgid "Importing Data" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:97 +msgid "Cancel import session" +msgstr "" + +#: src/components/importer/ImporterImportProgress.tsx:36 +msgid "Importing Records" +msgstr "" + +#: src/components/importer/ImporterImportProgress.tsx:39 +msgid "Imported rows" +msgstr "" + #: src/components/items/ActionDropdown.tsx:119 #: src/pages/build/BuildDetail.tsx:358 msgid "Barcode Actions" @@ -738,7 +871,7 @@ msgid "Read More" msgstr "Devamını Oku" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:443 +#: src/tables/InvenTreeTable.tsx:462 msgid "Unknown error" msgstr "Bilinmeyen hata" @@ -1039,13 +1172,13 @@ msgstr "Hesap ayarları" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:313 +#: src/pages/Index/Settings/SystemSettings.tsx:314 msgid "System Settings" msgstr "" #: src/components/nav/MainMenu.tsx:67 #: src/defaults/menuItems.tsx:63 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:198 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:209 msgid "Admin Center" msgstr "" @@ -1088,7 +1221,7 @@ msgid "Pages" msgstr "Sayfalar" #: src/components/nav/NavigationDrawer.tsx:65 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:157 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:168 #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:41 msgid "Plugins" msgstr "Eklentiler" @@ -1102,7 +1235,7 @@ msgstr "Dokümantasyon" msgid "About" msgstr "Hakkında" -#: src/components/nav/NotificationDrawer.tsx:78 +#: src/components/nav/NotificationDrawer.tsx:81 #: src/pages/Index/Settings/SystemSettings.tsx:108 #: src/pages/Index/Settings/UserSettings.tsx:96 #: src/pages/Notifications.tsx:65 @@ -1110,17 +1243,17 @@ msgstr "Hakkında" msgid "Notifications" msgstr "Bildirimler" -#: src/components/nav/NotificationDrawer.tsx:95 +#: src/components/nav/NotificationDrawer.tsx:98 msgid "You have no unread notifications." msgstr "" -#: src/components/nav/NotificationDrawer.tsx:111 -#: src/components/nav/NotificationDrawer.tsx:117 +#: src/components/nav/NotificationDrawer.tsx:114 +#: src/components/nav/NotificationDrawer.tsx:120 #: src/tables/notifications/NotificationsTable.tsx:36 msgid "Notification" msgstr "" -#: src/components/nav/NotificationDrawer.tsx:140 +#: src/components/nav/NotificationDrawer.tsx:143 #: src/pages/Notifications.tsx:73 msgid "Mark as read" msgstr "" @@ -1157,7 +1290,7 @@ msgstr "Sonuç yok" msgid "No results available for search query" msgstr "Arama sorgusu için sonuç yok" -#: src/components/render/Instance.tsx:166 +#: src/components/render/Instance.tsx:201 msgid "Unknown model: {model}" msgstr "" @@ -1172,7 +1305,8 @@ msgstr "" #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 #: src/pages/build/BuildDetail.tsx:85 -#: src/pages/part/PartDetail.tsx:831 +#: src/pages/part/PartDetail.tsx:872 +#: src/tables/part/PartTable.tsx:28 #: src/tables/part/RelatedPartTable.tsx:45 #: src/tables/stock/StockTrackingTable.tsx:74 msgid "Part" @@ -1185,7 +1319,7 @@ msgstr "Parça" #: src/pages/part/CategoryDetail.tsx:112 #: src/pages/part/CategoryDetail.tsx:237 #: src/pages/part/CategoryDetail.tsx:267 -#: src/pages/part/PartDetail.tsx:639 +#: src/pages/part/PartDetail.tsx:652 msgid "Parts" msgstr "Parçalar" @@ -1235,7 +1369,7 @@ msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:172 #: src/pages/part/CategoryDetail.tsx:251 #: src/pages/part/CategoryDetail.tsx:288 -#: src/pages/part/PartDetail.tsx:821 +#: src/pages/part/PartDetail.tsx:862 msgid "Part Categories" msgstr "Parça Kategorileri" @@ -1317,7 +1451,7 @@ msgid "Project Code" msgstr "Proje Kodu" #: src/components/render/ModelType.tsx:127 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:109 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:120 msgid "Project Codes" msgstr "" @@ -1329,10 +1463,10 @@ msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:134 -#: src/pages/Index/Settings/SystemSettings.tsx:257 +#: src/pages/Index/Settings/SystemSettings.tsx:258 #: src/pages/company/CompanyDetail.tsx:194 #: src/pages/company/SupplierPartDetail.tsx:226 -#: src/pages/part/PartDetail.tsx:573 +#: src/pages/part/PartDetail.tsx:586 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "Satın Alma Emirleri" @@ -1354,9 +1488,9 @@ msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:272 +#: src/pages/Index/Settings/SystemSettings.tsx:273 #: src/pages/company/CompanyDetail.tsx:214 -#: src/pages/part/PartDetail.tsx:580 +#: src/pages/part/PartDetail.tsx:593 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "Satış Emirleri" @@ -1376,7 +1510,7 @@ msgid "Return Order" msgstr "" #: src/components/render/ModelType.tsx:164 -#: src/pages/Index/Settings/SystemSettings.tsx:288 +#: src/pages/Index/Settings/SystemSettings.tsx:289 #: src/pages/company/CompanyDetail.tsx:221 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1413,40 +1547,49 @@ msgid "Owners" msgstr "" #: src/components/render/ModelType.tsx:193 +#: src/tables/settings/ImportSessionTable.tsx:122 #: src/tables/stock/StockItemTestResultTable.tsx:193 #: src/tables/stock/StockTrackingTable.tsx:195 msgid "User" msgstr "Kullanıcı" #: src/components/render/ModelType.tsx:194 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:85 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:90 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" msgstr "" #: src/components/render/ModelType.tsx:200 -msgid "Label Template" +msgid "Import Session" msgstr "" #: src/components/render/ModelType.tsx:201 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:139 -msgid "Label Templates" +msgid "Import Sessions" msgstr "" #: src/components/render/ModelType.tsx:207 -msgid "Report Template" +msgid "Label Template" msgstr "" #: src/components/render/ModelType.tsx:208 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:145 -msgid "Report Templates" +#: src/pages/Index/Settings/AdminCenter/Index.tsx:150 +msgid "Label Templates" msgstr "" #: src/components/render/ModelType.tsx:214 -msgid "Plugin Configuration" +msgid "Report Template" msgstr "" #: src/components/render/ModelType.tsx:215 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:156 +msgid "Report Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:221 +msgid "Plugin Configuration" +msgstr "" + +#: src/components/render/ModelType.tsx:222 msgid "Plugin Configurations" msgstr "" @@ -1458,7 +1601,7 @@ msgstr "" #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 #: src/pages/Index/Settings/SystemSettings.tsx:210 -#: src/pages/part/PartDetail.tsx:492 +#: src/pages/part/PartDetail.tsx:503 #: src/pages/stock/LocationDetail.tsx:347 #: src/pages/stock/StockDetail.tsx:356 #: src/tables/stock/StockItemTable.tsx:57 @@ -1641,10 +1784,6 @@ msgstr "" #~ msgid "Comment" #~ msgstr "Comment" -#: src/components/tables/general/AttachmentTable.tsx:56 -#~ msgid "Uploaded" -#~ msgstr "Uploaded" - #: src/components/tables/part/PartCategoryTable.tsx:122 #~ msgid "Part category updated" #~ msgstr "Part category updated" @@ -2157,7 +2296,7 @@ msgid "Recently Updated" msgstr "Son Güncellenenler" #: src/defaults/dashboardItems.tsx:50 -#: src/tables/part/PartTable.tsx:216 +#: src/tables/part/PartTable.tsx:223 msgid "Low Stock" msgstr "Düşük Stok" @@ -2466,7 +2605,7 @@ msgstr "" #~ msgid "Company updated" #~ msgstr "Company updated" -#: src/forms/PartForms.tsx:100 +#: src/forms/PartForms.tsx:103 msgid "Parent part category" msgstr "" @@ -2534,7 +2673,7 @@ msgstr "" #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 #: src/pages/stock/StockDetail.tsx:173 -#: src/tables/ColumnRenderers.tsx:34 +#: src/tables/ColumnRenderers.tsx:49 #: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" msgstr "" @@ -2585,8 +2724,8 @@ msgstr "" #: src/forms/StockForms.tsx:176 #: src/pages/stock/StockDetail.tsx:379 -#: src/tables/stock/StockItemTable.tsx:382 -#: src/tables/stock/StockItemTable.tsx:499 +#: src/tables/stock/StockItemTable.tsx:404 +#: src/tables/stock/StockItemTable.tsx:521 msgid "Add Stock Item" msgstr "" @@ -2606,9 +2745,9 @@ msgstr "" #: src/forms/StockForms.tsx:606 #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 -#: src/pages/part/PartDetail.tsx:202 -#: src/pages/part/PartDetail.tsx:655 -#: src/tables/stock/StockItemTable.tsx:290 +#: src/pages/part/PartDetail.tsx:203 +#: src/pages/part/PartDetail.tsx:668 +#: src/tables/stock/StockItemTable.tsx:312 msgid "In Stock" msgstr "" @@ -2649,12 +2788,12 @@ msgid "Remove Stock" msgstr "" #: src/forms/StockForms.tsx:803 -#: src/pages/part/PartDetail.tsx:782 +#: src/pages/part/PartDetail.tsx:823 msgid "Transfer Stock" msgstr "" #: src/forms/StockForms.tsx:812 -#: src/pages/part/PartDetail.tsx:771 +#: src/pages/part/PartDetail.tsx:812 msgid "Count Stock" msgstr "" @@ -3279,53 +3418,57 @@ msgstr "Yükleyici" #~ msgid "Advanced Amininistrative Options for InvenTree" #~ msgstr "Advanced Amininistrative Options for InvenTree" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:91 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:96 +msgid "Data Import" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:102 msgid "Background Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:97 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:108 msgid "Error Reports" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:103 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:114 msgid "Currencies" 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:132 msgid "Custom Units" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:138 #: src/pages/part/CategoryDetail.tsx:257 msgid "Part Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 -#~ msgid "Templates" -#~ msgstr "Templates" - -#: src/pages/Index/Settings/AdminCenter/Index.tsx:133 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:144 msgid "Category Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:151 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:162 msgid "Location types" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:163 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:174 #: src/tables/machine/MachineTypeTable.tsx:287 msgid "Machines" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:173 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:184 msgid "Quick Actions" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:178 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:189 msgid "Add a new user" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:199 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:210 msgid "Advanced Options" msgstr "" @@ -3477,7 +3620,7 @@ msgid "Reporting" msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:235 -#: src/pages/part/PartDetail.tsx:593 +#: src/pages/part/PartDetail.tsx:606 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" @@ -3485,12 +3628,12 @@ msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:241 #: src/pages/build/BuildDetail.tsx:423 #: src/pages/build/BuildIndex.tsx:14 -#: src/pages/part/PartDetail.tsx:527 +#: src/pages/part/PartDetail.tsx:540 #: src/pages/sales/SalesOrderDetail.tsx:270 msgid "Build Orders" msgstr "Yapım İşi Emirleri" -#: src/pages/Index/Settings/SystemSettings.tsx:316 +#: src/pages/Index/Settings/SystemSettings.tsx:317 msgid "Switch to User Setting" msgstr "" @@ -3555,7 +3698,8 @@ msgstr "" #: 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/settings/ImportSessionTable.tsx:116 +#: src/tables/stock/StockItemTable.tsx:281 #: src/tables/stock/StockTrackingTable.tsx:52 msgid "Status" msgstr "Durum" @@ -3564,7 +3708,7 @@ msgstr "Durum" #: src/pages/purchasing/PurchaseOrderDetail.tsx:104 #: src/pages/sales/ReturnOrderDetail.tsx:73 #: src/pages/sales/SalesOrderDetail.tsx:77 -#: src/tables/ColumnRenderers.tsx:106 +#: src/tables/ColumnRenderers.tsx:121 #: src/tables/build/BuildLineTable.tsx:140 msgid "Reference" msgstr "" @@ -3574,12 +3718,12 @@ msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:78 #: src/pages/company/SupplierPartDetail.tsx:85 #: src/pages/part/CategoryDetail.tsx:94 -#: src/pages/part/PartDetail.tsx:129 +#: src/pages/part/PartDetail.tsx:130 #: src/pages/purchasing/PurchaseOrderDetail.tsx:125 #: src/pages/sales/ReturnOrderDetail.tsx:93 #: src/pages/sales/SalesOrderDetail.tsx:97 #: src/pages/stock/LocationDetail.tsx:101 -#: src/tables/ColumnRenderers.tsx:66 +#: src/tables/ColumnRenderers.tsx:81 #: src/tables/machine/MachineTypeTable.tsx:69 #: src/tables/machine/MachineTypeTable.tsx:112 #: src/tables/machine/MachineTypeTable.tsx:219 @@ -3610,7 +3754,7 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:152 -#: src/pages/part/PartDetail.tsx:317 +#: src/pages/part/PartDetail.tsx:323 #: src/pages/purchasing/PurchaseOrderDetail.tsx:217 #: src/pages/sales/ReturnOrderDetail.tsx:186 #: src/pages/sales/SalesOrderDetail.tsx:190 @@ -3630,7 +3774,7 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:210 #: src/pages/sales/ReturnOrderDetail.tsx:179 #: src/pages/sales/SalesOrderDetail.tsx:183 -#: src/tables/ColumnRenderers.tsx:191 +#: src/tables/ColumnRenderers.tsx:206 msgid "Target Date" msgstr "" @@ -3711,7 +3855,7 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:297 #: src/pages/company/CompanyDetail.tsx:257 #: src/pages/company/ManufacturerPartDetail.tsx:174 -#: src/pages/part/PartDetail.tsx:616 +#: src/pages/part/PartDetail.tsx:629 #: src/pages/purchasing/PurchaseOrderDetail.tsx:279 #: src/pages/sales/ReturnOrderDetail.tsx:230 #: src/pages/sales/SalesOrderDetail.tsx:280 @@ -3721,7 +3865,7 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:305 #: src/pages/company/CompanyDetail.tsx:268 -#: src/pages/part/PartDetail.tsx:624 +#: src/pages/part/PartDetail.tsx:637 #: src/pages/purchasing/PurchaseOrderDetail.tsx:290 #: src/pages/sales/ReturnOrderDetail.tsx:241 #: src/pages/sales/SalesOrderDetail.tsx:291 @@ -3877,12 +4021,12 @@ msgid "Manufacturer Part Details" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:148 -#: src/pages/part/PartDetail.tsx:486 +#: src/pages/part/PartDetail.tsx:492 msgid "Parameters" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:160 -#: src/pages/part/PartDetail.tsx:560 +#: src/pages/part/PartDetail.tsx:573 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" msgstr "" @@ -3907,7 +4051,7 @@ msgid "ManufacturerPart" msgstr "" #: src/pages/company/SupplierPartDetail.tsx:99 -#: src/tables/ColumnRenderers.tsx:117 +#: src/tables/ColumnRenderers.tsx:132 msgid "Note" msgstr "" @@ -4043,275 +4187,275 @@ msgstr "" msgid "Category Details" msgstr "" -#: src/pages/part/PartDetail.tsx:135 +#: src/pages/part/PartDetail.tsx:136 msgid "Variant of" msgstr "" -#: src/pages/part/PartDetail.tsx:142 +#: src/pages/part/PartDetail.tsx:143 #: src/tables/notifications/NotificationsTable.tsx:31 #: src/tables/part/PartCategoryTemplateTable.tsx:67 msgid "Category" msgstr "Kategori" -#: src/pages/part/PartDetail.tsx:148 +#: src/pages/part/PartDetail.tsx:149 msgid "Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:155 +#: src/pages/part/PartDetail.tsx:156 msgid "Category Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:162 +#: src/pages/part/PartDetail.tsx:163 msgid "IPN" msgstr "DPN" -#: src/pages/part/PartDetail.tsx:169 +#: src/pages/part/PartDetail.tsx:170 msgid "Revision" msgstr "" -#: src/pages/part/PartDetail.tsx:176 +#: src/pages/part/PartDetail.tsx:177 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" msgstr "Birim" -#: src/pages/part/PartDetail.tsx:183 +#: src/pages/part/PartDetail.tsx:184 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:190 +#: src/pages/part/PartDetail.tsx:191 #: src/pages/purchasing/PurchaseOrderDetail.tsx:183 #: src/pages/sales/ReturnOrderDetail.tsx:152 #: src/pages/sales/SalesOrderDetail.tsx:156 msgid "Link" msgstr "Bağlantı" -#: src/pages/part/PartDetail.tsx:208 -#: src/tables/bom/BomTable.tsx:276 +#: src/pages/part/PartDetail.tsx:209 +#: src/tables/bom/BomTable.tsx:279 #: src/tables/build/BuildLineTable.tsx:121 -#: src/tables/part/PartTable.tsx:256 +#: src/tables/part/PartTable.tsx:263 msgid "Available Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:215 +#: src/pages/part/PartDetail.tsx:216 msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:221 -#: src/tables/bom/BomTable.tsx:217 +#: src/pages/part/PartDetail.tsx:222 +#: src/tables/bom/BomTable.tsx:220 #: src/tables/build/BuildLineTable.tsx:95 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:230 +#: src/pages/part/PartDetail.tsx:231 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:238 +#: src/pages/part/PartDetail.tsx:239 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:245 -#: src/tables/bom/BomTable.tsx:241 +#: src/pages/part/PartDetail.tsx:246 +#: src/tables/bom/BomTable.tsx:244 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:252 -#: src/tables/bom/BomTable.tsx:225 -#: src/tables/part/PartTable.tsx:82 +#: src/pages/part/PartDetail.tsx:253 +#: src/tables/bom/BomTable.tsx:228 +#: src/tables/part/PartTable.tsx:83 msgid "Building" msgstr "" -#: src/pages/part/PartDetail.tsx:261 +#: src/pages/part/PartDetail.tsx:262 #: src/tables/bom/UsedInTable.tsx:73 #: src/tables/build/BuildOrderTable.tsx:108 #: src/tables/company/CompanyTable.tsx:61 #: src/tables/company/CompanyTable.tsx:95 #: src/tables/machine/MachineListTable.tsx:323 #: src/tables/machine/MachineListTable.tsx:585 -#: src/tables/part/PartTable.tsx:168 +#: src/tables/part/PartTable.tsx:169 #: src/tables/part/PartVariantTable.tsx:15 #: 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 +#: src/tables/stock/StockItemTable.tsx:276 msgid "Active" msgstr "Aktif" -#: src/pages/part/PartDetail.tsx:266 +#: src/pages/part/PartDetail.tsx:272 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:271 -#: src/tables/bom/BomTable.tsx:271 +#: src/pages/part/PartDetail.tsx:277 +#: src/tables/bom/BomTable.tsx:274 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:276 +#: src/pages/part/PartDetail.tsx:282 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:281 -#: src/tables/bom/BomTable.tsx:266 +#: src/pages/part/PartDetail.tsx:287 +#: src/tables/bom/BomTable.tsx:269 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:286 +#: src/pages/part/PartDetail.tsx:292 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:291 +#: src/pages/part/PartDetail.tsx:297 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:296 +#: src/pages/part/PartDetail.tsx:302 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:304 -#: src/tables/ColumnRenderers.tsx:199 +#: src/pages/part/PartDetail.tsx:310 +#: src/tables/ColumnRenderers.tsx:214 msgid "Creation Date" msgstr "" -#: src/pages/part/PartDetail.tsx:309 -msgid "Created By" -msgstr "" - #: src/pages/part/PartDetail.tsx:310 #~ msgid "Edit part" #~ msgstr "Edit part" +#: src/pages/part/PartDetail.tsx:315 +msgid "Created By" +msgstr "" + #: src/pages/part/PartDetail.tsx:322 #~ msgid "Duplicate part" #~ msgstr "Duplicate part" -#: src/pages/part/PartDetail.tsx:324 -msgid "Default Supplier" -msgstr "" - #: src/pages/part/PartDetail.tsx:327 #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:335 +#: src/pages/part/PartDetail.tsx:330 +msgid "Default Supplier" +msgstr "" + +#: src/pages/part/PartDetail.tsx:341 #: src/pages/part/pricing/BomPricingPanel.tsx:78 #: src/pages/part/pricing/VariantPricingPanel.tsx:95 -#: src/tables/part/PartTable.tsx:151 +#: src/tables/part/PartTable.tsx:152 msgid "Price Range" msgstr "Fiyat Aralığı" -#: src/pages/part/PartDetail.tsx:374 +#: src/pages/part/PartDetail.tsx:380 #: src/pages/stock/StockDetail.tsx:133 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:409 +#: src/pages/part/PartDetail.tsx:415 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:480 +#: src/pages/part/PartDetail.tsx:486 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:506 +#: src/pages/part/PartDetail.tsx:517 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:513 +#: src/pages/part/PartDetail.tsx:524 #: src/pages/stock/StockDetail.tsx:286 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:520 +#: src/pages/part/PartDetail.tsx:531 msgid "Bill of Materials" msgstr "" -#: src/pages/part/PartDetail.tsx:534 +#: src/pages/part/PartDetail.tsx:547 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:541 +#: src/pages/part/PartDetail.tsx:554 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:547 +#: src/pages/part/PartDetail.tsx:560 #: src/pages/purchasing/PurchasingIndex.tsx:37 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:587 +#: src/pages/part/PartDetail.tsx:600 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:599 +#: src/pages/part/PartDetail.tsx:612 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:610 +#: src/pages/part/PartDetail.tsx:623 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:661 +#: src/pages/part/PartDetail.tsx:674 #: src/pages/stock/StockDetail.tsx:154 #: src/pages/stock/StockDetail.tsx:533 #: src/tables/build/BuildLineTable.tsx:36 -#: src/tables/part/PartTable.tsx:107 +#: src/tables/part/PartTable.tsx:108 #: src/tables/stock/StockItemTable.tsx:166 -#: src/tables/stock/StockItemTable.tsx:275 +#: src/tables/stock/StockItemTable.tsx:297 msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:667 +#: src/pages/part/PartDetail.tsx:680 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:673 -#: src/tables/bom/BomTable.tsx:281 -#: src/tables/part/PartTable.tsx:76 +#: src/pages/part/PartDetail.tsx:686 +#: src/tables/bom/BomTable.tsx:284 +#: src/tables/part/PartTable.tsx:77 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:679 +#: src/pages/part/PartDetail.tsx:692 #: src/pages/stock/StockDetail.tsx:516 -#: src/tables/stock/StockItemTable.tsx:295 +#: src/tables/stock/StockItemTable.tsx:317 msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:698 +#: src/pages/part/PartDetail.tsx:717 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:705 -#: src/tables/part/PartTable.tsx:289 -#: src/tables/part/PartTable.tsx:302 +#: src/pages/part/PartDetail.tsx:744 +#: src/tables/part/PartTable.tsx:296 +#: src/tables/part/PartTable.tsx:309 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:717 +#: src/pages/part/PartDetail.tsx:758 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:726 +#: src/pages/part/PartDetail.tsx:767 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:764 +#: src/pages/part/PartDetail.tsx:805 #: src/pages/stock/LocationDetail.tsx:304 -#: src/tables/stock/StockItemTable.tsx:409 +#: src/tables/stock/StockItemTable.tsx:431 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:772 +#: src/pages/part/PartDetail.tsx:813 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:824 msgid "Transfer part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:792 +#: src/pages/part/PartDetail.tsx:833 msgid "Part Actions" msgstr "" @@ -4359,8 +4503,8 @@ msgstr "" #: src/pages/part/pricing/BomPricingPanel.tsx:57 #: src/pages/part/pricing/BomPricingPanel.tsx:137 -#: src/tables/ColumnRenderers.tsx:241 -#: src/tables/bom/BomTable.tsx:165 +#: src/tables/ColumnRenderers.tsx:256 +#: src/tables/bom/BomTable.tsx:168 #: src/tables/purchasing/PurchaseOrderTable.tsx:112 #: src/tables/sales/ReturnOrderTable.tsx:104 #: src/tables/sales/SalesOrderTable.tsx:134 @@ -4369,7 +4513,7 @@ msgstr "" #: src/pages/part/pricing/BomPricingPanel.tsx:77 #: src/pages/part/pricing/BomPricingPanel.tsx:101 -#: src/tables/part/PartTable.tsx:186 +#: src/tables/part/PartTable.tsx:193 msgid "Component" msgstr "Bileşen" @@ -4398,7 +4542,7 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:67 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:128 #: src/pages/part/pricing/SupplierPricingPanel.tsx:62 -#: src/tables/bom/BomTable.tsx:156 +#: src/tables/bom/BomTable.tsx:159 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 msgid "Unit Price" @@ -4498,7 +4642,7 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:40 #: src/pages/part/pricing/SaleHistoryPanel.tsx:36 -#: src/tables/ColumnRenderers.tsx:180 +#: src/tables/ColumnRenderers.tsx:195 #: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" @@ -4771,12 +4915,12 @@ msgid "Count stock" msgstr "" #: src/pages/stock/StockDetail.tsx:459 -#: src/tables/stock/StockItemTable.tsx:414 +#: src/tables/stock/StockItemTable.tsx:436 msgid "Add stock" msgstr "" #: src/pages/stock/StockDetail.tsx:467 -#: src/tables/stock/StockItemTable.tsx:423 +#: src/tables/stock/StockItemTable.tsx:445 msgid "Remove stock" msgstr "" @@ -4785,7 +4929,7 @@ msgid "Transfer" msgstr "" #: src/pages/stock/StockDetail.tsx:475 -#: src/tables/stock/StockItemTable.tsx:443 +#: src/tables/stock/StockItemTable.tsx:465 msgid "Transfer stock" msgstr "" @@ -4793,15 +4937,15 @@ msgstr "" msgid "Stock Item Actions" msgstr "" -#: src/tables/ColumnRenderers.tsx:42 +#: src/tables/ColumnRenderers.tsx:57 msgid "No location set" msgstr "" -#: src/tables/ColumnRenderers.tsx:207 +#: src/tables/ColumnRenderers.tsx:222 msgid "Shipment Date" msgstr "" -#: src/tables/ColumnRenderers.tsx:227 +#: src/tables/ColumnRenderers.tsx:242 #: src/tables/settings/CurrencyTable.tsx:23 msgid "Currency" msgstr "" @@ -4828,14 +4972,14 @@ msgid "TSV" msgstr "" #: src/tables/DownloadAction.tsx:24 -msgid "Excel (.xls)" -msgstr "" - -#: src/tables/DownloadAction.tsx:25 msgid "Excel (.xlsx)" msgstr "" -#: src/tables/DownloadAction.tsx:39 +#: src/tables/DownloadAction.tsx:24 +#~ msgid "Excel (.xls)" +#~ msgstr "" + +#: src/tables/DownloadAction.tsx:38 msgid "Download Data" msgstr "" @@ -4900,54 +5044,54 @@ msgstr "Filtre Ekle" msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:119 -#: src/tables/InvenTreeTable.tsx:390 -#: src/tables/InvenTreeTable.tsx:411 +#: src/tables/InvenTreeTable.tsx:126 +#: src/tables/InvenTreeTable.tsx:409 +#: src/tables/InvenTreeTable.tsx:430 msgid "No records found" msgstr "Hiç kayıt bulunamadı" -#: src/tables/InvenTreeTable.tsx:422 +#: src/tables/InvenTreeTable.tsx:441 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:430 +#: src/tables/InvenTreeTable.tsx:449 msgid "Bad request" msgstr "Hatalı istek" -#: src/tables/InvenTreeTable.tsx:433 +#: src/tables/InvenTreeTable.tsx:452 msgid "Unauthorized" msgstr "Yetkisiz" -#: src/tables/InvenTreeTable.tsx:436 +#: src/tables/InvenTreeTable.tsx:455 msgid "Forbidden" msgstr "Yasaklı" -#: src/tables/InvenTreeTable.tsx:439 +#: src/tables/InvenTreeTable.tsx:458 msgid "Not found" msgstr "Bulunamadı" -#: src/tables/InvenTreeTable.tsx:488 -#: src/tables/InvenTreeTable.tsx:606 +#: src/tables/InvenTreeTable.tsx:507 +#: src/tables/InvenTreeTable.tsx:623 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:492 +#: src/tables/InvenTreeTable.tsx:511 msgid "Are you sure you want to delete the selected records?" msgstr "" -#: src/tables/InvenTreeTable.tsx:494 +#: src/tables/InvenTreeTable.tsx:513 msgid "This action cannot be undone!" msgstr "" -#: src/tables/InvenTreeTable.tsx:517 +#: src/tables/InvenTreeTable.tsx:536 msgid "Deleted records" msgstr "" -#: src/tables/InvenTreeTable.tsx:518 +#: src/tables/InvenTreeTable.tsx:537 msgid "Records were deleted successfully" msgstr "" -#: src/tables/InvenTreeTable.tsx:527 +#: src/tables/InvenTreeTable.tsx:546 msgid "Failed to delete records" msgstr "" @@ -4956,140 +5100,144 @@ msgstr "" #~ msgid "Print actions" #~ msgstr "Print actions" -#: src/tables/InvenTreeTable.tsx:596 -#: src/tables/InvenTreeTable.tsx:597 +#: src/tables/InvenTreeTable.tsx:613 +#: src/tables/InvenTreeTable.tsx:614 msgid "Barcode actions" msgstr "Barkod işlemleri" -#: src/tables/InvenTreeTable.tsx:625 +#: src/tables/InvenTreeTable.tsx:642 msgid "Refresh data" msgstr "Veriyi yenile" -#: src/tables/InvenTreeTable.tsx:646 +#: src/tables/InvenTreeTable.tsx:663 msgid "Table filters" msgstr "Tablo filtreleri" -#: src/tables/bom/BomTable.tsx:80 +#: src/tables/UploadAction.tsx:9 +msgid "Upload Data" +msgstr "" + +#: src/tables/bom/BomTable.tsx:83 msgid "This BOM item is defined for a different parent" msgstr "" -#: src/tables/bom/BomTable.tsx:95 +#: src/tables/bom/BomTable.tsx:98 msgid "Part Information" msgstr "" -#: src/tables/bom/BomTable.tsx:184 -#: src/tables/part/PartTable.tsx:124 +#: src/tables/bom/BomTable.tsx:187 +#: src/tables/part/PartTable.tsx:125 msgid "No stock" msgstr "" -#: src/tables/bom/BomTable.tsx:192 +#: src/tables/bom/BomTable.tsx:195 #: src/tables/build/BuildLineTable.tsx:104 -#: src/tables/part/PartTable.tsx:115 +#: src/tables/part/PartTable.tsx:116 msgid "External stock" msgstr "" -#: src/tables/bom/BomTable.tsx:200 +#: src/tables/bom/BomTable.tsx:203 #: src/tables/build/BuildLineTable.tsx:67 msgid "Includes substitute stock" msgstr "" -#: src/tables/bom/BomTable.tsx:209 +#: src/tables/bom/BomTable.tsx:212 #: src/tables/build/BuildLineTable.tsx:77 msgid "Includes variant stock" msgstr "" -#: src/tables/bom/BomTable.tsx:234 -#: src/tables/part/PartTable.tsx:143 +#: src/tables/bom/BomTable.tsx:237 +#: src/tables/part/PartTable.tsx:144 #: src/tables/stock/StockItemTable.tsx:205 msgid "Stock Information" msgstr "" -#: src/tables/bom/BomTable.tsx:246 +#: src/tables/bom/BomTable.tsx:249 #: src/tables/build/BuildLineTable.tsx:195 msgid "Consumable item" msgstr "" -#: src/tables/bom/BomTable.tsx:267 +#: src/tables/bom/BomTable.tsx:270 msgid "Show trackable items" msgstr "" -#: src/tables/bom/BomTable.tsx:272 +#: src/tables/bom/BomTable.tsx:275 msgid "Show asssmbled items" msgstr "" -#: src/tables/bom/BomTable.tsx:277 +#: src/tables/bom/BomTable.tsx:280 msgid "Show items with available stock" msgstr "" -#: src/tables/bom/BomTable.tsx:282 +#: src/tables/bom/BomTable.tsx:285 msgid "Show items on order" msgstr "" -#: src/tables/bom/BomTable.tsx:286 +#: src/tables/bom/BomTable.tsx:289 msgid "Validated" msgstr "" -#: src/tables/bom/BomTable.tsx:287 +#: src/tables/bom/BomTable.tsx:290 msgid "Show validated items" msgstr "" -#: src/tables/bom/BomTable.tsx:291 +#: src/tables/bom/BomTable.tsx:294 #: src/tables/bom/UsedInTable.tsx:63 msgid "Inherited" msgstr "" -#: src/tables/bom/BomTable.tsx:292 +#: src/tables/bom/BomTable.tsx:295 #: src/tables/bom/UsedInTable.tsx:64 msgid "Show inherited items" msgstr "" -#: src/tables/bom/BomTable.tsx:296 +#: src/tables/bom/BomTable.tsx:299 msgid "Allow Variants" msgstr "" -#: src/tables/bom/BomTable.tsx:297 +#: src/tables/bom/BomTable.tsx:300 msgid "Show items which allow variant substitution" msgstr "" #: src/tables/bom/BomTable.tsx:301 +#~ msgid "Create BOM Item" +#~ msgstr "Create BOM Item" + +#: src/tables/bom/BomTable.tsx:304 #: src/tables/bom/UsedInTable.tsx:68 #: src/tables/build/BuildLineTable.tsx:46 msgid "Optional" msgstr "" -#: src/tables/bom/BomTable.tsx:301 -#~ msgid "Create BOM Item" -#~ msgstr "Create BOM Item" - -#: src/tables/bom/BomTable.tsx:302 +#: src/tables/bom/BomTable.tsx:305 #: src/tables/bom/UsedInTable.tsx:69 msgid "Show optional items" msgstr "" -#: src/tables/bom/BomTable.tsx:306 +#: src/tables/bom/BomTable.tsx:309 #: src/tables/build/BuildLineTable.tsx:41 msgid "Consumable" msgstr "" -#: src/tables/bom/BomTable.tsx:307 +#: src/tables/bom/BomTable.tsx:310 msgid "Show consumable items" msgstr "" -#: src/tables/bom/BomTable.tsx:311 -#: src/tables/part/PartTable.tsx:250 +#: src/tables/bom/BomTable.tsx:314 +#: src/tables/part/PartTable.tsx:257 msgid "Has Pricing" msgstr "" -#: src/tables/bom/BomTable.tsx:312 +#: src/tables/bom/BomTable.tsx:315 msgid "Show items with pricing" msgstr "" -#: src/tables/bom/BomTable.tsx:321 -#: src/tables/bom/BomTable.tsx:420 +#: src/tables/bom/BomTable.tsx:324 +#: src/tables/bom/BomTable.tsx:426 msgid "Add BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:326 +#: src/tables/bom/BomTable.tsx:329 msgid "BOM item created" msgstr "" @@ -5097,23 +5245,23 @@ msgstr "" #~ msgid "Edit Bom Item" #~ msgstr "Edit Bom Item" -#: src/tables/bom/BomTable.tsx:333 -msgid "Edit BOM Item" -msgstr "" - #: src/tables/bom/BomTable.tsx:333 #~ msgid "Bom item updated" #~ msgstr "Bom item updated" -#: src/tables/bom/BomTable.tsx:335 +#: src/tables/bom/BomTable.tsx:336 +msgid "Edit BOM Item" +msgstr "" + +#: src/tables/bom/BomTable.tsx:338 msgid "BOM item updated" msgstr "" -#: src/tables/bom/BomTable.tsx:342 +#: src/tables/bom/BomTable.tsx:345 msgid "Delete BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:343 +#: src/tables/bom/BomTable.tsx:346 msgid "BOM item deleted" msgstr "" @@ -5133,32 +5281,41 @@ msgstr "" #~ msgid "Validate BOM line" #~ msgstr "Validate BOM line" -#: src/tables/bom/BomTable.tsx:355 +#: src/tables/bom/BomTable.tsx:358 msgid "BOM item validated" msgstr "" -#: src/tables/bom/BomTable.tsx:364 +#: src/tables/bom/BomTable.tsx:367 msgid "Failed to validate BOM item" msgstr "" -#: src/tables/bom/BomTable.tsx:376 +#: src/tables/bom/BomTable.tsx:379 msgid "View BOM" msgstr "" -#: src/tables/bom/BomTable.tsx:385 +#: src/tables/bom/BomTable.tsx:388 msgid "Validate BOM Line" msgstr "" -#: src/tables/bom/BomTable.tsx:399 +#: src/tables/bom/BomTable.tsx:405 msgid "Edit Substitutes" msgstr "" +#: src/tables/bom/BomTable.tsx:440 +#: src/tables/part/PartParameterTable.tsx:191 +msgid "Part is Locked" +msgstr "" + +#: src/tables/bom/BomTable.tsx:445 +msgid "Bill of materials cannot be edited, as the part is locked" +msgstr "" + #: src/tables/bom/UsedInTable.tsx:74 msgid "Show active assemblies" msgstr "" #: src/tables/bom/UsedInTable.tsx:78 -#: src/tables/part/PartTable.tsx:192 +#: src/tables/part/PartTable.tsx:199 #: src/tables/part/PartVariantTable.tsx:30 msgid "Trackable" msgstr "Takip Edilebilir" @@ -5168,7 +5325,7 @@ msgid "Show trackable assemblies" msgstr "" #: src/tables/build/BuildLineTable.tsx:31 -#: src/tables/stock/StockItemTable.tsx:270 +#: src/tables/stock/StockItemTable.tsx:292 msgid "Allocated" msgstr "" @@ -5189,7 +5346,7 @@ msgid "Show optional lines" msgstr "" #: src/tables/build/BuildLineTable.tsx:51 -#: src/tables/stock/StockItemTable.tsx:329 +#: src/tables/stock/StockItemTable.tsx:351 msgid "Tracked" msgstr "" @@ -5302,10 +5459,6 @@ msgstr "" msgid "Deallocate stock from build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:205 -msgid "Complete" -msgstr "" - #: src/tables/build/BuildOutputTable.tsx:206 msgid "Complete build output" msgstr "" @@ -5635,7 +5788,7 @@ msgid "Message" msgstr "" #: src/tables/part/ParametricPartTable.tsx:76 -#: src/tables/part/PartParameterTable.tsx:88 +#: src/tables/part/PartParameterTable.tsx:95 msgid "Internal Units" msgstr "" @@ -5648,13 +5801,13 @@ msgid "Add Part Parameter" msgstr "" #: src/tables/part/ParametricPartTable.tsx:138 -#: src/tables/part/PartParameterTable.tsx:121 -#: src/tables/part/PartParameterTable.tsx:144 +#: src/tables/part/PartParameterTable.tsx:128 +#: src/tables/part/PartParameterTable.tsx:151 msgid "Edit Part Parameter" msgstr "" #: src/tables/part/PartCategoryTable.tsx:60 -#: src/tables/part/PartTable.tsx:180 +#: src/tables/part/PartTable.tsx:187 msgid "Include Subcategories" msgstr "Alt Kategorileri Dahil Et" @@ -5667,7 +5820,7 @@ msgid "Show structural categories" msgstr "" #: src/tables/part/PartCategoryTable.tsx:70 -#: src/tables/part/PartTable.tsx:262 +#: src/tables/part/PartTable.tsx:269 msgid "Subscribed" msgstr "" @@ -5704,21 +5857,25 @@ msgstr "" #~ msgid "[{0}]" #~ msgstr "[{0}]" -#: src/tables/part/PartParameterTable.tsx:105 +#: src/tables/part/PartParameterTable.tsx:112 msgid "New Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:130 -#: src/tables/part/PartParameterTable.tsx:152 +#: src/tables/part/PartParameterTable.tsx:137 +#: src/tables/part/PartParameterTable.tsx:159 msgid "Delete Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:170 +#: src/tables/part/PartParameterTable.tsx:177 msgid "Add parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:191 -#: src/tables/stock/StockItemTable.tsx:300 +#: src/tables/part/PartParameterTable.tsx:196 +msgid "Part parameters cannot be edited, as the part is locked" +msgstr "" + +#: src/tables/part/PartParameterTable.tsx:210 +#: src/tables/stock/StockItemTable.tsx:322 msgid "Include Variants" msgstr "" @@ -5739,7 +5896,7 @@ msgid "Show templates with choices" msgstr "" #: src/tables/part/PartParameterTemplateTable.tsx:41 -#: src/tables/part/PartTable.tsx:198 +#: src/tables/part/PartTable.tsx:205 msgid "Has Units" msgstr "Birimi Var" @@ -5763,116 +5920,120 @@ msgstr "" msgid "Add parameter template" msgstr "" -#: src/tables/part/PartTable.tsx:67 +#: src/tables/part/PartTable.tsx:68 msgid "Minimum stock" msgstr "" -#: src/tables/part/PartTable.tsx:89 +#: src/tables/part/PartTable.tsx:90 msgid "Build Order Allocations" msgstr "" -#: src/tables/part/PartTable.tsx:98 +#: src/tables/part/PartTable.tsx:99 msgid "Sales Order Allocations" msgstr "" -#: src/tables/part/PartTable.tsx:169 +#: src/tables/part/PartTable.tsx:170 msgid "Filter by part active status" msgstr "Parçanın aktiflik durumuna göre filtrele" -#: src/tables/part/PartTable.tsx:174 -#: src/tables/stock/StockItemTable.tsx:265 +#: src/tables/part/PartTable.tsx:176 +msgid "Filter by part locked status" +msgstr "" + +#: src/tables/part/PartTable.tsx:181 +#: src/tables/stock/StockItemTable.tsx:287 msgid "Assembly" msgstr "Montaj" -#: src/tables/part/PartTable.tsx:175 +#: src/tables/part/PartTable.tsx:182 msgid "Filter by assembly attribute" msgstr "Montaj niteliğine göre filtrele" -#: src/tables/part/PartTable.tsx:181 +#: src/tables/part/PartTable.tsx:188 msgid "Include parts in subcategories" msgstr "Alt kategorilerdeki parçaları dahil et" -#: src/tables/part/PartTable.tsx:187 +#: src/tables/part/PartTable.tsx:194 msgid "Filter by component attribute" msgstr "Bileşen niteliğine göre filtrele" -#: src/tables/part/PartTable.tsx:193 +#: src/tables/part/PartTable.tsx:200 msgid "Filter by trackable attribute" msgstr "Takip edilebilirliğine göre filtrele" -#: src/tables/part/PartTable.tsx:199 +#: src/tables/part/PartTable.tsx:206 msgid "Filter by parts which have units" msgstr "Birimi olan parçaları filtrele" -#: src/tables/part/PartTable.tsx:204 +#: src/tables/part/PartTable.tsx:211 msgid "Has IPN" msgstr "DPN Var" -#: src/tables/part/PartTable.tsx:205 +#: src/tables/part/PartTable.tsx:212 msgid "Filter by parts which have an internal part number" msgstr "Dahili parça numarası bulunan parçaları filtrele" -#: src/tables/part/PartTable.tsx:210 +#: src/tables/part/PartTable.tsx:217 msgid "Has Stock" msgstr "Stoğu Var" -#: src/tables/part/PartTable.tsx:211 +#: src/tables/part/PartTable.tsx:218 msgid "Filter by parts which have stock" msgstr "Stoğu olan parçaları filtrele" -#: src/tables/part/PartTable.tsx:217 +#: src/tables/part/PartTable.tsx:224 msgid "Filter by parts which have low stock" msgstr "Düşük stoğu olan parçaları filtrele" -#: src/tables/part/PartTable.tsx:222 +#: src/tables/part/PartTable.tsx:229 msgid "Purchaseable" msgstr "Satın Alınabilir" -#: src/tables/part/PartTable.tsx:223 +#: src/tables/part/PartTable.tsx:230 msgid "Filter by parts which are purchaseable" msgstr "Satın alınabilir parçaları filtrele" -#: src/tables/part/PartTable.tsx:228 +#: src/tables/part/PartTable.tsx:235 msgid "Salable" msgstr "Satılabilir" -#: src/tables/part/PartTable.tsx:229 +#: src/tables/part/PartTable.tsx:236 msgid "Filter by parts which are salable" msgstr "Satılabilir parçaları filtrele" -#: src/tables/part/PartTable.tsx:235 +#: src/tables/part/PartTable.tsx:242 msgid "Filter by parts which are virtual" msgstr "Sanal parçaları filtrele" -#: src/tables/part/PartTable.tsx:239 +#: src/tables/part/PartTable.tsx:246 msgid "Not Virtual" msgstr "Sanal Değil" -#: src/tables/part/PartTable.tsx:244 +#: src/tables/part/PartTable.tsx:251 msgid "Is Template" msgstr "" -#: src/tables/part/PartTable.tsx:245 +#: src/tables/part/PartTable.tsx:252 msgid "Filter by parts which are templates" msgstr "" -#: src/tables/part/PartTable.tsx:251 +#: src/tables/part/PartTable.tsx:258 msgid "Filter by parts which have pricing information" msgstr "" -#: src/tables/part/PartTable.tsx:257 +#: src/tables/part/PartTable.tsx:264 msgid "Filter by parts which have available stock" msgstr "" -#: src/tables/part/PartTable.tsx:263 +#: src/tables/part/PartTable.tsx:270 msgid "Filter by parts to which the user is subscribed" msgstr "" -#: src/tables/part/PartTable.tsx:268 +#: src/tables/part/PartTable.tsx:275 msgid "Has Stocktake" msgstr "" -#: src/tables/part/PartTable.tsx:269 +#: src/tables/part/PartTable.tsx:276 msgid "Filter by parts which have stocktake information" msgstr "" @@ -6211,7 +6372,7 @@ msgid "Sample" msgstr "" #: src/tables/plugin/PluginListTable.tsx:578 -#: src/tables/stock/StockItemTable.tsx:305 +#: src/tables/stock/StockItemTable.tsx:327 msgid "Installed" msgstr "" @@ -6486,6 +6647,41 @@ msgstr "" msgid "Edit group" msgstr "" +#: src/tables/settings/ImportSessionTable.tsx:39 +msgid "Delete Import Session" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:45 +#: src/tables/settings/ImportSessionTable.tsx:132 +msgid "Create Import Session" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:70 +msgid "Uploaded" +msgstr "Uploaded" + +#: src/tables/settings/ImportSessionTable.tsx:80 +msgid "Imported Rows" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:110 +#: src/tables/settings/TemplateTable.tsx:276 +msgid "Model Type" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:111 +#: src/tables/settings/TemplateTable.tsx:277 +msgid "Filter by target model type" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:117 +msgid "Filter by import session status" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:123 +msgid "Filter by user" +msgstr "" + #: src/tables/settings/PendingTasksTable.tsx:36 msgid "Arguments" msgstr "" @@ -6502,7 +6698,7 @@ msgstr "" msgid "Delete Project Code" msgstr "" -#: src/tables/settings/ProjectCodeTable.tsx:94 +#: src/tables/settings/ProjectCodeTable.tsx:92 msgid "Add project code" msgstr "" @@ -6571,14 +6767,6 @@ msgstr "" 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 "" @@ -6701,149 +6889,153 @@ msgstr "" msgid "This stock item has been depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:255 +#: src/tables/stock/StockItemTable.tsx:247 +msgid "Stock Value" +msgstr "" + +#: src/tables/stock/StockItemTable.tsx:277 msgid "Show stock for active parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:260 +#: src/tables/stock/StockItemTable.tsx:282 msgid "Filter by stock status" msgstr "" -#: src/tables/stock/StockItemTable.tsx:266 +#: src/tables/stock/StockItemTable.tsx:288 msgid "Show stock for assmebled parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:271 +#: src/tables/stock/StockItemTable.tsx:293 msgid "Show items which have been allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:276 +#: src/tables/stock/StockItemTable.tsx:298 msgid "Show items which are available" msgstr "" -#: src/tables/stock/StockItemTable.tsx:280 +#: src/tables/stock/StockItemTable.tsx:302 #: src/tables/stock/StockLocationTable.tsx:42 msgid "Include Sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:281 +#: src/tables/stock/StockItemTable.tsx:303 msgid "Include stock in sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:285 +#: src/tables/stock/StockItemTable.tsx:307 msgid "Depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:286 +#: src/tables/stock/StockItemTable.tsx:308 msgid "Show depleted stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:291 +#: src/tables/stock/StockItemTable.tsx:313 msgid "Show items which are in stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:296 +#: src/tables/stock/StockItemTable.tsx:318 msgid "Show items which are in production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:301 +#: src/tables/stock/StockItemTable.tsx:323 msgid "Include stock items for variant parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:306 +#: src/tables/stock/StockItemTable.tsx:328 msgid "Show stock items which are installed in other items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:310 +#: src/tables/stock/StockItemTable.tsx:332 msgid "Sent to Customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:311 +#: src/tables/stock/StockItemTable.tsx:333 msgid "Show items which have been sent to a customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:315 +#: src/tables/stock/StockItemTable.tsx:337 msgid "Is Serialized" msgstr "" -#: src/tables/stock/StockItemTable.tsx:316 +#: src/tables/stock/StockItemTable.tsx:338 msgid "Show items which have a serial number" msgstr "" -#: src/tables/stock/StockItemTable.tsx:323 +#: src/tables/stock/StockItemTable.tsx:345 msgid "Has Batch Code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:324 +#: src/tables/stock/StockItemTable.tsx:346 msgid "Show items which have a batch code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:330 +#: src/tables/stock/StockItemTable.tsx:352 msgid "Show tracked items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:334 +#: src/tables/stock/StockItemTable.tsx:356 msgid "Has Purchase Price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:335 +#: src/tables/stock/StockItemTable.tsx:357 msgid "Show items which have a purchase price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:343 +#: src/tables/stock/StockItemTable.tsx:365 msgid "External Location" msgstr "" -#: src/tables/stock/StockItemTable.tsx:344 +#: src/tables/stock/StockItemTable.tsx:366 msgid "Show items in an external location" msgstr "" -#: src/tables/stock/StockItemTable.tsx:416 +#: src/tables/stock/StockItemTable.tsx:438 msgid "Add a new stock item" msgstr "" -#: src/tables/stock/StockItemTable.tsx:425 +#: src/tables/stock/StockItemTable.tsx:447 msgid "Remove some quantity from a stock item" msgstr "" -#: src/tables/stock/StockItemTable.tsx:447 +#: src/tables/stock/StockItemTable.tsx:469 msgid "Move Stock items to new locations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:454 +#: src/tables/stock/StockItemTable.tsx:476 msgid "Change stock status" msgstr "" -#: src/tables/stock/StockItemTable.tsx:456 +#: src/tables/stock/StockItemTable.tsx:478 msgid "Change the status of stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:463 +#: src/tables/stock/StockItemTable.tsx:485 msgid "Merge stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:465 +#: src/tables/stock/StockItemTable.tsx:487 msgid "Merge stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:472 +#: src/tables/stock/StockItemTable.tsx:494 msgid "Order stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:474 -#: src/tables/stock/StockItemTable.tsx:480 +#: src/tables/stock/StockItemTable.tsx:496 +#: src/tables/stock/StockItemTable.tsx:502 msgid "Order new stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:478 +#: src/tables/stock/StockItemTable.tsx:500 msgid "Assign to customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:487 +#: src/tables/stock/StockItemTable.tsx:509 msgid "Delete stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:489 +#: src/tables/stock/StockItemTable.tsx:511 msgid "Delete stock items" msgstr "" @@ -6999,4 +7191,3 @@ msgstr "Belgeleri okuyun" #: src/views/MobileAppView.tsx:35 msgid "Ignore and continue to Desktop view" msgstr "" - diff --git a/src/frontend/src/locales/uk/messages.po b/src/frontend/src/locales/uk/messages.po index 652c235f92ed..54a06e3a5036 100644 --- a/src/frontend/src/locales/uk/messages.po +++ b/src/frontend/src/locales/uk/messages.po @@ -49,16 +49,18 @@ msgstr "" #: src/components/buttons/PrintingActions.tsx:107 #: src/components/buttons/PrintingActions.tsx:144 #: src/components/editors/NotesEditor.tsx:65 -#: src/components/editors/NotesEditor.tsx:160 -#: src/components/forms/ApiForm.tsx:506 -#: src/components/forms/fields/ApiFormField.tsx:295 +#: src/components/editors/NotesEditor.tsx:165 +#: src/components/forms/ApiForm.tsx:513 +#: src/components/forms/fields/ApiFormField.tsx:306 +#: src/components/importer/ImportDataSelector.tsx:171 +#: src/components/importer/ImporterColumnSelector.tsx:112 #: src/components/modals/LicenseModal.tsx:75 #: src/components/nav/SearchDrawer.tsx:427 #: src/pages/ErrorPage.tsx:11 #: src/pages/part/PartPricingPanel.tsx:71 -#: src/tables/InvenTreeTable.tsx:451 -#: src/tables/InvenTreeTable.tsx:526 -#: src/tables/bom/BomTable.tsx:363 +#: src/tables/InvenTreeTable.tsx:470 +#: src/tables/InvenTreeTable.tsx:545 +#: src/tables/bom/BomTable.tsx:366 #: src/tables/stock/StockItemTestResultTable.tsx:294 msgid "Error" msgstr "" @@ -157,7 +159,7 @@ msgstr "" #: src/functions/forms.tsx:196 #: src/hooks/UseForm.tsx:40 #: src/tables/FilterSelectDrawer.tsx:204 -#: src/tables/InvenTreeTable.tsx:499 +#: src/tables/InvenTreeTable.tsx:518 #: src/tables/build/BuildOutputTable.tsx:225 msgid "Cancel" msgstr "" @@ -175,7 +177,7 @@ msgid "Clear" msgstr "" #: src/components/details/DetailsImage.tsx:227 -#: src/components/forms/ApiForm.tsx:573 +#: src/components/forms/ApiForm.tsx:580 #: src/contexts/ThemeContext.tsx:43 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:56 msgid "Submit" @@ -202,48 +204,61 @@ msgid "Delete image" msgstr "" #: src/components/details/PartIcons.tsx:28 +#: src/tables/ColumnRenderers.tsx:35 +msgid "Part is locked" +msgstr "" + +#: src/components/details/PartIcons.tsx:30 +#: src/pages/part/PartDetail.tsx:267 +#: src/pages/part/PartDetail.tsx:698 +#: src/tables/part/PartTable.tsx:175 +msgid "Locked" +msgstr "" + +#: src/components/details/PartIcons.tsx:35 +#: src/tables/ColumnRenderers.tsx:30 msgid "Part is not active" msgstr "" -#: src/components/details/PartIcons.tsx:34 +#: src/components/details/PartIcons.tsx:37 #: src/components/render/Plugin.tsx:17 #: src/pages/company/CompanyDetail.tsx:315 #: src/pages/company/SupplierPartDetail.tsx:307 -#: src/pages/part/PartDetail.tsx:685 +#: src/pages/part/PartDetail.tsx:704 msgid "Inactive" msgstr "" -#: src/components/details/PartIcons.tsx:41 +#: src/components/details/PartIcons.tsx:43 msgid "Part is a template part (variants can be made from this part)" msgstr "" -#: src/components/details/PartIcons.tsx:47 +#: src/components/details/PartIcons.tsx:49 msgid "Part can be assembled from other parts" msgstr "" -#: src/components/details/PartIcons.tsx:53 +#: src/components/details/PartIcons.tsx:55 msgid "Part can be used in assemblies" msgstr "" -#: src/components/details/PartIcons.tsx:59 +#: src/components/details/PartIcons.tsx:61 msgid "Part stock is tracked by serial number" msgstr "" -#: src/components/details/PartIcons.tsx:65 +#: src/components/details/PartIcons.tsx:67 msgid "Part can be purchased from external suppliers" msgstr "" -#: src/components/details/PartIcons.tsx:71 +#: src/components/details/PartIcons.tsx:73 msgid "Part can be sold to customers" msgstr "" -#: src/components/details/PartIcons.tsx:76 +#: src/components/details/PartIcons.tsx:78 msgid "Part is virtual (not a physical part)" msgstr "" -#: src/components/details/PartIcons.tsx:82 -#: src/tables/part/PartTable.tsx:234 -#: src/tables/part/PartTable.tsx:238 +#: src/components/details/PartIcons.tsx:84 +#: src/tables/part/PartTable.tsx:241 +#: src/tables/part/PartTable.tsx:245 #: src/tables/part/PartVariantTable.tsx:25 msgid "Virtual" msgstr "" @@ -252,29 +267,29 @@ msgstr "" msgid "Image upload failed" msgstr "" -#: src/components/editors/NotesEditor.tsx:151 -#: src/components/forms/ApiForm.tsx:430 -#: src/tables/bom/BomTable.tsx:354 +#: src/components/editors/NotesEditor.tsx:156 +#: src/components/forms/ApiForm.tsx:437 +#: src/tables/bom/BomTable.tsx:357 msgid "Success" msgstr "" -#: src/components/editors/NotesEditor.tsx:152 +#: src/components/editors/NotesEditor.tsx:157 msgid "Notes saved successfully" msgstr "" -#: src/components/editors/NotesEditor.tsx:161 +#: src/components/editors/NotesEditor.tsx:166 msgid "Failed to save notes" msgstr "" -#: src/components/editors/NotesEditor.tsx:193 +#: src/components/editors/NotesEditor.tsx:198 msgid "Preview Notes" msgstr "" -#: src/components/editors/NotesEditor.tsx:193 +#: src/components/editors/NotesEditor.tsx:198 msgid "Edit Notes" msgstr "" -#: src/components/editors/NotesEditor.tsx:207 +#: src/components/editors/NotesEditor.tsx:212 msgid "Save Notes" msgstr "" @@ -407,7 +422,7 @@ msgstr "" msgid "A server error occurred" msgstr "" -#: src/components/forms/ApiForm.tsx:149 +#: src/components/forms/ApiForm.tsx:151 #: src/functions/forms.tsx:259 msgid "Form Error" msgstr "" @@ -416,18 +431,18 @@ msgstr "" #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:611 +#: src/components/forms/ApiForm.tsx:618 #: src/tables/plugin/PluginListTable.tsx:388 msgid "Update" msgstr "" -#: src/components/forms/ApiForm.tsx:631 +#: src/components/forms/ApiForm.tsx:638 #: 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:498 +#: src/tables/InvenTreeTable.tsx:517 #: src/tables/RowActions.tsx:71 #: src/tables/plugin/PluginListTable.tsx:420 msgid "Delete" @@ -600,7 +615,7 @@ msgstr "" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:70 #: src/pages/part/CategoryDetail.tsx:80 -#: src/pages/part/PartDetail.tsx:122 +#: src/pages/part/PartDetail.tsx:123 #: src/pages/stock/LocationDetail.tsx:87 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 @@ -685,6 +700,124 @@ msgstr "" msgid "Thumbnail" msgstr "" +#: src/components/importer/ImportDataSelector.tsx:154 +msgid "Importing Rows" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:155 +msgid "Please wait while the data is imported" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:172 +msgid "An error occurred while importing data" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:191 +msgid "Edit Data" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:218 +msgid "Delete Row" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:248 +msgid "Row" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:266 +msgid "Row contains errors" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:307 +msgid "Accept" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:340 +msgid "Valid" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:341 +msgid "Filter by row validation status" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:346 +#: src/tables/build/BuildOutputTable.tsx:205 +msgid "Complete" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:347 +msgid "Filter by row completion status" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:364 +msgid "Import selected rows" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:46 +#: src/components/importer/ImporterColumnSelector.tsx:85 +msgid "An error occurred" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:57 +msgid "Select column, or leave blank to ignore this field." +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:91 +msgid "Select a column from the data file" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:104 +msgid "Map data columns to database fields" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:109 +msgid "Accept Column Mapping" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:117 +msgid "Database Field" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:118 +msgid "Field Description" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:119 +msgid "Imported Column Name" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:44 +msgid "Import Data" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:45 +msgid "Map Columns" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:46 +msgid "Process Data" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:47 +msgid "Complete Import" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:91 +msgid "Importing Data" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:97 +msgid "Cancel import session" +msgstr "" + +#: src/components/importer/ImporterImportProgress.tsx:36 +msgid "Importing Records" +msgstr "" + +#: src/components/importer/ImporterImportProgress.tsx:39 +msgid "Imported rows" +msgstr "" + #: src/components/items/ActionDropdown.tsx:119 #: src/pages/build/BuildDetail.tsx:358 msgid "Barcode Actions" @@ -738,7 +871,7 @@ msgid "Read More" msgstr "" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:443 +#: src/tables/InvenTreeTable.tsx:462 msgid "Unknown error" msgstr "" @@ -1039,13 +1172,13 @@ msgstr "" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:313 +#: src/pages/Index/Settings/SystemSettings.tsx:314 msgid "System Settings" msgstr "" #: src/components/nav/MainMenu.tsx:67 #: src/defaults/menuItems.tsx:63 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:198 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:209 msgid "Admin Center" msgstr "" @@ -1088,7 +1221,7 @@ msgid "Pages" msgstr "" #: src/components/nav/NavigationDrawer.tsx:65 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:157 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:168 #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:41 msgid "Plugins" msgstr "" @@ -1102,7 +1235,7 @@ msgstr "" msgid "About" msgstr "" -#: src/components/nav/NotificationDrawer.tsx:78 +#: src/components/nav/NotificationDrawer.tsx:81 #: src/pages/Index/Settings/SystemSettings.tsx:108 #: src/pages/Index/Settings/UserSettings.tsx:96 #: src/pages/Notifications.tsx:65 @@ -1110,17 +1243,17 @@ msgstr "" msgid "Notifications" msgstr "" -#: src/components/nav/NotificationDrawer.tsx:95 +#: src/components/nav/NotificationDrawer.tsx:98 msgid "You have no unread notifications." msgstr "" -#: src/components/nav/NotificationDrawer.tsx:111 -#: src/components/nav/NotificationDrawer.tsx:117 +#: src/components/nav/NotificationDrawer.tsx:114 +#: src/components/nav/NotificationDrawer.tsx:120 #: src/tables/notifications/NotificationsTable.tsx:36 msgid "Notification" msgstr "" -#: src/components/nav/NotificationDrawer.tsx:140 +#: src/components/nav/NotificationDrawer.tsx:143 #: src/pages/Notifications.tsx:73 msgid "Mark as read" msgstr "" @@ -1157,7 +1290,7 @@ msgstr "" msgid "No results available for search query" msgstr "" -#: src/components/render/Instance.tsx:166 +#: src/components/render/Instance.tsx:201 msgid "Unknown model: {model}" msgstr "" @@ -1172,7 +1305,8 @@ msgstr "" #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 #: src/pages/build/BuildDetail.tsx:85 -#: src/pages/part/PartDetail.tsx:831 +#: src/pages/part/PartDetail.tsx:872 +#: src/tables/part/PartTable.tsx:28 #: src/tables/part/RelatedPartTable.tsx:45 #: src/tables/stock/StockTrackingTable.tsx:74 msgid "Part" @@ -1185,7 +1319,7 @@ msgstr "" #: src/pages/part/CategoryDetail.tsx:112 #: src/pages/part/CategoryDetail.tsx:237 #: src/pages/part/CategoryDetail.tsx:267 -#: src/pages/part/PartDetail.tsx:639 +#: src/pages/part/PartDetail.tsx:652 msgid "Parts" msgstr "" @@ -1235,7 +1369,7 @@ msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:172 #: src/pages/part/CategoryDetail.tsx:251 #: src/pages/part/CategoryDetail.tsx:288 -#: src/pages/part/PartDetail.tsx:821 +#: src/pages/part/PartDetail.tsx:862 msgid "Part Categories" msgstr "" @@ -1317,7 +1451,7 @@ msgid "Project Code" msgstr "" #: src/components/render/ModelType.tsx:127 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:109 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:120 msgid "Project Codes" msgstr "" @@ -1329,10 +1463,10 @@ msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:134 -#: src/pages/Index/Settings/SystemSettings.tsx:257 +#: src/pages/Index/Settings/SystemSettings.tsx:258 #: src/pages/company/CompanyDetail.tsx:194 #: src/pages/company/SupplierPartDetail.tsx:226 -#: src/pages/part/PartDetail.tsx:573 +#: src/pages/part/PartDetail.tsx:586 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "" @@ -1354,9 +1488,9 @@ msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:272 +#: src/pages/Index/Settings/SystemSettings.tsx:273 #: src/pages/company/CompanyDetail.tsx:214 -#: src/pages/part/PartDetail.tsx:580 +#: src/pages/part/PartDetail.tsx:593 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" @@ -1376,7 +1510,7 @@ msgid "Return Order" msgstr "" #: src/components/render/ModelType.tsx:164 -#: src/pages/Index/Settings/SystemSettings.tsx:288 +#: src/pages/Index/Settings/SystemSettings.tsx:289 #: src/pages/company/CompanyDetail.tsx:221 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1413,40 +1547,49 @@ msgid "Owners" msgstr "" #: src/components/render/ModelType.tsx:193 +#: src/tables/settings/ImportSessionTable.tsx:122 #: src/tables/stock/StockItemTestResultTable.tsx:193 #: src/tables/stock/StockTrackingTable.tsx:195 msgid "User" msgstr "" #: src/components/render/ModelType.tsx:194 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:85 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:90 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" msgstr "" #: src/components/render/ModelType.tsx:200 -msgid "Label Template" +msgid "Import Session" msgstr "" #: src/components/render/ModelType.tsx:201 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:139 -msgid "Label Templates" +msgid "Import Sessions" msgstr "" #: src/components/render/ModelType.tsx:207 -msgid "Report Template" +msgid "Label Template" msgstr "" #: src/components/render/ModelType.tsx:208 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:145 -msgid "Report Templates" +#: src/pages/Index/Settings/AdminCenter/Index.tsx:150 +msgid "Label Templates" msgstr "" #: src/components/render/ModelType.tsx:214 -msgid "Plugin Configuration" +msgid "Report Template" msgstr "" #: src/components/render/ModelType.tsx:215 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:156 +msgid "Report Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:221 +msgid "Plugin Configuration" +msgstr "" + +#: src/components/render/ModelType.tsx:222 msgid "Plugin Configurations" msgstr "" @@ -1458,7 +1601,7 @@ msgstr "" #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 #: src/pages/Index/Settings/SystemSettings.tsx:210 -#: src/pages/part/PartDetail.tsx:492 +#: src/pages/part/PartDetail.tsx:503 #: src/pages/stock/LocationDetail.tsx:347 #: src/pages/stock/StockDetail.tsx:356 #: src/tables/stock/StockItemTable.tsx:57 @@ -1641,10 +1784,6 @@ msgstr "" #~ msgid "Comment" #~ msgstr "Comment" -#: src/components/tables/general/AttachmentTable.tsx:56 -#~ msgid "Uploaded" -#~ msgstr "Uploaded" - #: src/components/tables/part/PartCategoryTable.tsx:122 #~ msgid "Part category updated" #~ msgstr "Part category updated" @@ -2157,7 +2296,7 @@ msgid "Recently Updated" msgstr "" #: src/defaults/dashboardItems.tsx:50 -#: src/tables/part/PartTable.tsx:216 +#: src/tables/part/PartTable.tsx:223 msgid "Low Stock" msgstr "" @@ -2466,7 +2605,7 @@ msgstr "" #~ msgid "Company updated" #~ msgstr "Company updated" -#: src/forms/PartForms.tsx:100 +#: src/forms/PartForms.tsx:103 msgid "Parent part category" msgstr "" @@ -2534,7 +2673,7 @@ msgstr "" #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 #: src/pages/stock/StockDetail.tsx:173 -#: src/tables/ColumnRenderers.tsx:34 +#: src/tables/ColumnRenderers.tsx:49 #: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" msgstr "" @@ -2585,8 +2724,8 @@ msgstr "" #: src/forms/StockForms.tsx:176 #: src/pages/stock/StockDetail.tsx:379 -#: src/tables/stock/StockItemTable.tsx:382 -#: src/tables/stock/StockItemTable.tsx:499 +#: src/tables/stock/StockItemTable.tsx:404 +#: src/tables/stock/StockItemTable.tsx:521 msgid "Add Stock Item" msgstr "" @@ -2606,9 +2745,9 @@ msgstr "" #: src/forms/StockForms.tsx:606 #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 -#: src/pages/part/PartDetail.tsx:202 -#: src/pages/part/PartDetail.tsx:655 -#: src/tables/stock/StockItemTable.tsx:290 +#: src/pages/part/PartDetail.tsx:203 +#: src/pages/part/PartDetail.tsx:668 +#: src/tables/stock/StockItemTable.tsx:312 msgid "In Stock" msgstr "" @@ -2649,12 +2788,12 @@ msgid "Remove Stock" msgstr "" #: src/forms/StockForms.tsx:803 -#: src/pages/part/PartDetail.tsx:782 +#: src/pages/part/PartDetail.tsx:823 msgid "Transfer Stock" msgstr "" #: src/forms/StockForms.tsx:812 -#: src/pages/part/PartDetail.tsx:771 +#: src/pages/part/PartDetail.tsx:812 msgid "Count Stock" msgstr "" @@ -3279,53 +3418,57 @@ msgstr "" #~ msgid "Advanced Amininistrative Options for InvenTree" #~ msgstr "Advanced Amininistrative Options for InvenTree" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:91 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:96 +msgid "Data Import" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:102 msgid "Background Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:97 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:108 msgid "Error Reports" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:103 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:114 msgid "Currencies" 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:132 msgid "Custom Units" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:138 #: src/pages/part/CategoryDetail.tsx:257 msgid "Part Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 -#~ msgid "Templates" -#~ msgstr "Templates" - -#: src/pages/Index/Settings/AdminCenter/Index.tsx:133 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:144 msgid "Category Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:151 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:162 msgid "Location types" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:163 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:174 #: src/tables/machine/MachineTypeTable.tsx:287 msgid "Machines" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:173 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:184 msgid "Quick Actions" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:178 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:189 msgid "Add a new user" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:199 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:210 msgid "Advanced Options" msgstr "" @@ -3477,7 +3620,7 @@ msgid "Reporting" msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:235 -#: src/pages/part/PartDetail.tsx:593 +#: src/pages/part/PartDetail.tsx:606 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" @@ -3485,12 +3628,12 @@ msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:241 #: src/pages/build/BuildDetail.tsx:423 #: src/pages/build/BuildIndex.tsx:14 -#: src/pages/part/PartDetail.tsx:527 +#: src/pages/part/PartDetail.tsx:540 #: src/pages/sales/SalesOrderDetail.tsx:270 msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:316 +#: src/pages/Index/Settings/SystemSettings.tsx:317 msgid "Switch to User Setting" msgstr "" @@ -3555,7 +3698,8 @@ msgstr "" #: 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/settings/ImportSessionTable.tsx:116 +#: src/tables/stock/StockItemTable.tsx:281 #: src/tables/stock/StockTrackingTable.tsx:52 msgid "Status" msgstr "" @@ -3564,7 +3708,7 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:104 #: src/pages/sales/ReturnOrderDetail.tsx:73 #: src/pages/sales/SalesOrderDetail.tsx:77 -#: src/tables/ColumnRenderers.tsx:106 +#: src/tables/ColumnRenderers.tsx:121 #: src/tables/build/BuildLineTable.tsx:140 msgid "Reference" msgstr "" @@ -3574,12 +3718,12 @@ msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:78 #: src/pages/company/SupplierPartDetail.tsx:85 #: src/pages/part/CategoryDetail.tsx:94 -#: src/pages/part/PartDetail.tsx:129 +#: src/pages/part/PartDetail.tsx:130 #: src/pages/purchasing/PurchaseOrderDetail.tsx:125 #: src/pages/sales/ReturnOrderDetail.tsx:93 #: src/pages/sales/SalesOrderDetail.tsx:97 #: src/pages/stock/LocationDetail.tsx:101 -#: src/tables/ColumnRenderers.tsx:66 +#: src/tables/ColumnRenderers.tsx:81 #: src/tables/machine/MachineTypeTable.tsx:69 #: src/tables/machine/MachineTypeTable.tsx:112 #: src/tables/machine/MachineTypeTable.tsx:219 @@ -3610,7 +3754,7 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:152 -#: src/pages/part/PartDetail.tsx:317 +#: src/pages/part/PartDetail.tsx:323 #: src/pages/purchasing/PurchaseOrderDetail.tsx:217 #: src/pages/sales/ReturnOrderDetail.tsx:186 #: src/pages/sales/SalesOrderDetail.tsx:190 @@ -3630,7 +3774,7 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:210 #: src/pages/sales/ReturnOrderDetail.tsx:179 #: src/pages/sales/SalesOrderDetail.tsx:183 -#: src/tables/ColumnRenderers.tsx:191 +#: src/tables/ColumnRenderers.tsx:206 msgid "Target Date" msgstr "" @@ -3711,7 +3855,7 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:297 #: src/pages/company/CompanyDetail.tsx:257 #: src/pages/company/ManufacturerPartDetail.tsx:174 -#: src/pages/part/PartDetail.tsx:616 +#: src/pages/part/PartDetail.tsx:629 #: src/pages/purchasing/PurchaseOrderDetail.tsx:279 #: src/pages/sales/ReturnOrderDetail.tsx:230 #: src/pages/sales/SalesOrderDetail.tsx:280 @@ -3721,7 +3865,7 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:305 #: src/pages/company/CompanyDetail.tsx:268 -#: src/pages/part/PartDetail.tsx:624 +#: src/pages/part/PartDetail.tsx:637 #: src/pages/purchasing/PurchaseOrderDetail.tsx:290 #: src/pages/sales/ReturnOrderDetail.tsx:241 #: src/pages/sales/SalesOrderDetail.tsx:291 @@ -3877,12 +4021,12 @@ msgid "Manufacturer Part Details" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:148 -#: src/pages/part/PartDetail.tsx:486 +#: src/pages/part/PartDetail.tsx:492 msgid "Parameters" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:160 -#: src/pages/part/PartDetail.tsx:560 +#: src/pages/part/PartDetail.tsx:573 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" msgstr "" @@ -3907,7 +4051,7 @@ msgid "ManufacturerPart" msgstr "" #: src/pages/company/SupplierPartDetail.tsx:99 -#: src/tables/ColumnRenderers.tsx:117 +#: src/tables/ColumnRenderers.tsx:132 msgid "Note" msgstr "" @@ -4043,275 +4187,275 @@ msgstr "" msgid "Category Details" msgstr "" -#: src/pages/part/PartDetail.tsx:135 +#: src/pages/part/PartDetail.tsx:136 msgid "Variant of" msgstr "" -#: src/pages/part/PartDetail.tsx:142 +#: src/pages/part/PartDetail.tsx:143 #: src/tables/notifications/NotificationsTable.tsx:31 #: src/tables/part/PartCategoryTemplateTable.tsx:67 msgid "Category" msgstr "" -#: src/pages/part/PartDetail.tsx:148 +#: src/pages/part/PartDetail.tsx:149 msgid "Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:155 +#: src/pages/part/PartDetail.tsx:156 msgid "Category Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:162 +#: src/pages/part/PartDetail.tsx:163 msgid "IPN" msgstr "" -#: src/pages/part/PartDetail.tsx:169 +#: src/pages/part/PartDetail.tsx:170 msgid "Revision" msgstr "" -#: src/pages/part/PartDetail.tsx:176 +#: src/pages/part/PartDetail.tsx:177 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" msgstr "" -#: src/pages/part/PartDetail.tsx:183 +#: src/pages/part/PartDetail.tsx:184 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:190 +#: src/pages/part/PartDetail.tsx:191 #: src/pages/purchasing/PurchaseOrderDetail.tsx:183 #: src/pages/sales/ReturnOrderDetail.tsx:152 #: src/pages/sales/SalesOrderDetail.tsx:156 msgid "Link" msgstr "" -#: src/pages/part/PartDetail.tsx:208 -#: src/tables/bom/BomTable.tsx:276 +#: src/pages/part/PartDetail.tsx:209 +#: src/tables/bom/BomTable.tsx:279 #: src/tables/build/BuildLineTable.tsx:121 -#: src/tables/part/PartTable.tsx:256 +#: src/tables/part/PartTable.tsx:263 msgid "Available Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:215 +#: src/pages/part/PartDetail.tsx:216 msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:221 -#: src/tables/bom/BomTable.tsx:217 +#: src/pages/part/PartDetail.tsx:222 +#: src/tables/bom/BomTable.tsx:220 #: src/tables/build/BuildLineTable.tsx:95 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:230 +#: src/pages/part/PartDetail.tsx:231 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:238 +#: src/pages/part/PartDetail.tsx:239 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:245 -#: src/tables/bom/BomTable.tsx:241 +#: src/pages/part/PartDetail.tsx:246 +#: src/tables/bom/BomTable.tsx:244 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:252 -#: src/tables/bom/BomTable.tsx:225 -#: src/tables/part/PartTable.tsx:82 +#: src/pages/part/PartDetail.tsx:253 +#: src/tables/bom/BomTable.tsx:228 +#: src/tables/part/PartTable.tsx:83 msgid "Building" msgstr "" -#: src/pages/part/PartDetail.tsx:261 +#: src/pages/part/PartDetail.tsx:262 #: src/tables/bom/UsedInTable.tsx:73 #: src/tables/build/BuildOrderTable.tsx:108 #: src/tables/company/CompanyTable.tsx:61 #: src/tables/company/CompanyTable.tsx:95 #: src/tables/machine/MachineListTable.tsx:323 #: src/tables/machine/MachineListTable.tsx:585 -#: src/tables/part/PartTable.tsx:168 +#: src/tables/part/PartTable.tsx:169 #: src/tables/part/PartVariantTable.tsx:15 #: 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 +#: src/tables/stock/StockItemTable.tsx:276 msgid "Active" msgstr "" -#: src/pages/part/PartDetail.tsx:266 +#: src/pages/part/PartDetail.tsx:272 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:271 -#: src/tables/bom/BomTable.tsx:271 +#: src/pages/part/PartDetail.tsx:277 +#: src/tables/bom/BomTable.tsx:274 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:276 +#: src/pages/part/PartDetail.tsx:282 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:281 -#: src/tables/bom/BomTable.tsx:266 +#: src/pages/part/PartDetail.tsx:287 +#: src/tables/bom/BomTable.tsx:269 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:286 +#: src/pages/part/PartDetail.tsx:292 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:291 +#: src/pages/part/PartDetail.tsx:297 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:296 +#: src/pages/part/PartDetail.tsx:302 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:304 -#: src/tables/ColumnRenderers.tsx:199 +#: src/pages/part/PartDetail.tsx:310 +#: src/tables/ColumnRenderers.tsx:214 msgid "Creation Date" msgstr "" -#: src/pages/part/PartDetail.tsx:309 -msgid "Created By" -msgstr "" - #: src/pages/part/PartDetail.tsx:310 #~ msgid "Edit part" #~ msgstr "Edit part" +#: src/pages/part/PartDetail.tsx:315 +msgid "Created By" +msgstr "" + #: src/pages/part/PartDetail.tsx:322 #~ msgid "Duplicate part" #~ msgstr "Duplicate part" -#: src/pages/part/PartDetail.tsx:324 -msgid "Default Supplier" -msgstr "" - #: src/pages/part/PartDetail.tsx:327 #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:335 +#: src/pages/part/PartDetail.tsx:330 +msgid "Default Supplier" +msgstr "" + +#: src/pages/part/PartDetail.tsx:341 #: src/pages/part/pricing/BomPricingPanel.tsx:78 #: src/pages/part/pricing/VariantPricingPanel.tsx:95 -#: src/tables/part/PartTable.tsx:151 +#: src/tables/part/PartTable.tsx:152 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:374 +#: src/pages/part/PartDetail.tsx:380 #: src/pages/stock/StockDetail.tsx:133 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:409 +#: src/pages/part/PartDetail.tsx:415 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:480 +#: src/pages/part/PartDetail.tsx:486 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:506 +#: src/pages/part/PartDetail.tsx:517 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:513 +#: src/pages/part/PartDetail.tsx:524 #: src/pages/stock/StockDetail.tsx:286 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:520 +#: src/pages/part/PartDetail.tsx:531 msgid "Bill of Materials" msgstr "" -#: src/pages/part/PartDetail.tsx:534 +#: src/pages/part/PartDetail.tsx:547 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:541 +#: src/pages/part/PartDetail.tsx:554 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:547 +#: src/pages/part/PartDetail.tsx:560 #: src/pages/purchasing/PurchasingIndex.tsx:37 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:587 +#: src/pages/part/PartDetail.tsx:600 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:599 +#: src/pages/part/PartDetail.tsx:612 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:610 +#: src/pages/part/PartDetail.tsx:623 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:661 +#: src/pages/part/PartDetail.tsx:674 #: src/pages/stock/StockDetail.tsx:154 #: src/pages/stock/StockDetail.tsx:533 #: src/tables/build/BuildLineTable.tsx:36 -#: src/tables/part/PartTable.tsx:107 +#: src/tables/part/PartTable.tsx:108 #: src/tables/stock/StockItemTable.tsx:166 -#: src/tables/stock/StockItemTable.tsx:275 +#: src/tables/stock/StockItemTable.tsx:297 msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:667 +#: src/pages/part/PartDetail.tsx:680 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:673 -#: src/tables/bom/BomTable.tsx:281 -#: src/tables/part/PartTable.tsx:76 +#: src/pages/part/PartDetail.tsx:686 +#: src/tables/bom/BomTable.tsx:284 +#: src/tables/part/PartTable.tsx:77 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:679 +#: src/pages/part/PartDetail.tsx:692 #: src/pages/stock/StockDetail.tsx:516 -#: src/tables/stock/StockItemTable.tsx:295 +#: src/tables/stock/StockItemTable.tsx:317 msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:698 +#: src/pages/part/PartDetail.tsx:717 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:705 -#: src/tables/part/PartTable.tsx:289 -#: src/tables/part/PartTable.tsx:302 +#: src/pages/part/PartDetail.tsx:744 +#: src/tables/part/PartTable.tsx:296 +#: src/tables/part/PartTable.tsx:309 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:717 +#: src/pages/part/PartDetail.tsx:758 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:726 +#: src/pages/part/PartDetail.tsx:767 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:764 +#: src/pages/part/PartDetail.tsx:805 #: src/pages/stock/LocationDetail.tsx:304 -#: src/tables/stock/StockItemTable.tsx:409 +#: src/tables/stock/StockItemTable.tsx:431 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:772 +#: src/pages/part/PartDetail.tsx:813 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:824 msgid "Transfer part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:792 +#: src/pages/part/PartDetail.tsx:833 msgid "Part Actions" msgstr "" @@ -4359,8 +4503,8 @@ msgstr "" #: src/pages/part/pricing/BomPricingPanel.tsx:57 #: src/pages/part/pricing/BomPricingPanel.tsx:137 -#: src/tables/ColumnRenderers.tsx:241 -#: src/tables/bom/BomTable.tsx:165 +#: src/tables/ColumnRenderers.tsx:256 +#: src/tables/bom/BomTable.tsx:168 #: src/tables/purchasing/PurchaseOrderTable.tsx:112 #: src/tables/sales/ReturnOrderTable.tsx:104 #: src/tables/sales/SalesOrderTable.tsx:134 @@ -4369,7 +4513,7 @@ msgstr "" #: src/pages/part/pricing/BomPricingPanel.tsx:77 #: src/pages/part/pricing/BomPricingPanel.tsx:101 -#: src/tables/part/PartTable.tsx:186 +#: src/tables/part/PartTable.tsx:193 msgid "Component" msgstr "" @@ -4398,7 +4542,7 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:67 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:128 #: src/pages/part/pricing/SupplierPricingPanel.tsx:62 -#: src/tables/bom/BomTable.tsx:156 +#: src/tables/bom/BomTable.tsx:159 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 msgid "Unit Price" @@ -4498,7 +4642,7 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:40 #: src/pages/part/pricing/SaleHistoryPanel.tsx:36 -#: src/tables/ColumnRenderers.tsx:180 +#: src/tables/ColumnRenderers.tsx:195 #: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" @@ -4771,12 +4915,12 @@ msgid "Count stock" msgstr "" #: src/pages/stock/StockDetail.tsx:459 -#: src/tables/stock/StockItemTable.tsx:414 +#: src/tables/stock/StockItemTable.tsx:436 msgid "Add stock" msgstr "" #: src/pages/stock/StockDetail.tsx:467 -#: src/tables/stock/StockItemTable.tsx:423 +#: src/tables/stock/StockItemTable.tsx:445 msgid "Remove stock" msgstr "" @@ -4785,7 +4929,7 @@ msgid "Transfer" msgstr "" #: src/pages/stock/StockDetail.tsx:475 -#: src/tables/stock/StockItemTable.tsx:443 +#: src/tables/stock/StockItemTable.tsx:465 msgid "Transfer stock" msgstr "" @@ -4793,15 +4937,15 @@ msgstr "" msgid "Stock Item Actions" msgstr "" -#: src/tables/ColumnRenderers.tsx:42 +#: src/tables/ColumnRenderers.tsx:57 msgid "No location set" msgstr "" -#: src/tables/ColumnRenderers.tsx:207 +#: src/tables/ColumnRenderers.tsx:222 msgid "Shipment Date" msgstr "" -#: src/tables/ColumnRenderers.tsx:227 +#: src/tables/ColumnRenderers.tsx:242 #: src/tables/settings/CurrencyTable.tsx:23 msgid "Currency" msgstr "" @@ -4828,14 +4972,14 @@ msgid "TSV" msgstr "" #: src/tables/DownloadAction.tsx:24 -msgid "Excel (.xls)" -msgstr "" - -#: src/tables/DownloadAction.tsx:25 msgid "Excel (.xlsx)" msgstr "" -#: src/tables/DownloadAction.tsx:39 +#: src/tables/DownloadAction.tsx:24 +#~ msgid "Excel (.xls)" +#~ msgstr "" + +#: src/tables/DownloadAction.tsx:38 msgid "Download Data" msgstr "" @@ -4900,54 +5044,54 @@ msgstr "" msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:119 -#: src/tables/InvenTreeTable.tsx:390 -#: src/tables/InvenTreeTable.tsx:411 +#: src/tables/InvenTreeTable.tsx:126 +#: src/tables/InvenTreeTable.tsx:409 +#: src/tables/InvenTreeTable.tsx:430 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:422 +#: src/tables/InvenTreeTable.tsx:441 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:430 +#: src/tables/InvenTreeTable.tsx:449 msgid "Bad request" msgstr "" -#: src/tables/InvenTreeTable.tsx:433 +#: src/tables/InvenTreeTable.tsx:452 msgid "Unauthorized" msgstr "" -#: src/tables/InvenTreeTable.tsx:436 +#: src/tables/InvenTreeTable.tsx:455 msgid "Forbidden" msgstr "" -#: src/tables/InvenTreeTable.tsx:439 +#: src/tables/InvenTreeTable.tsx:458 msgid "Not found" msgstr "" -#: src/tables/InvenTreeTable.tsx:488 -#: src/tables/InvenTreeTable.tsx:606 +#: src/tables/InvenTreeTable.tsx:507 +#: src/tables/InvenTreeTable.tsx:623 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:492 +#: src/tables/InvenTreeTable.tsx:511 msgid "Are you sure you want to delete the selected records?" msgstr "" -#: src/tables/InvenTreeTable.tsx:494 +#: src/tables/InvenTreeTable.tsx:513 msgid "This action cannot be undone!" msgstr "" -#: src/tables/InvenTreeTable.tsx:517 +#: src/tables/InvenTreeTable.tsx:536 msgid "Deleted records" msgstr "" -#: src/tables/InvenTreeTable.tsx:518 +#: src/tables/InvenTreeTable.tsx:537 msgid "Records were deleted successfully" msgstr "" -#: src/tables/InvenTreeTable.tsx:527 +#: src/tables/InvenTreeTable.tsx:546 msgid "Failed to delete records" msgstr "" @@ -4956,140 +5100,144 @@ msgstr "" #~ msgid "Print actions" #~ msgstr "Print actions" -#: src/tables/InvenTreeTable.tsx:596 -#: src/tables/InvenTreeTable.tsx:597 +#: src/tables/InvenTreeTable.tsx:613 +#: src/tables/InvenTreeTable.tsx:614 msgid "Barcode actions" msgstr "" -#: src/tables/InvenTreeTable.tsx:625 +#: src/tables/InvenTreeTable.tsx:642 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTable.tsx:646 +#: src/tables/InvenTreeTable.tsx:663 msgid "Table filters" msgstr "" -#: src/tables/bom/BomTable.tsx:80 +#: src/tables/UploadAction.tsx:9 +msgid "Upload Data" +msgstr "" + +#: src/tables/bom/BomTable.tsx:83 msgid "This BOM item is defined for a different parent" msgstr "" -#: src/tables/bom/BomTable.tsx:95 +#: src/tables/bom/BomTable.tsx:98 msgid "Part Information" msgstr "" -#: src/tables/bom/BomTable.tsx:184 -#: src/tables/part/PartTable.tsx:124 +#: src/tables/bom/BomTable.tsx:187 +#: src/tables/part/PartTable.tsx:125 msgid "No stock" msgstr "" -#: src/tables/bom/BomTable.tsx:192 +#: src/tables/bom/BomTable.tsx:195 #: src/tables/build/BuildLineTable.tsx:104 -#: src/tables/part/PartTable.tsx:115 +#: src/tables/part/PartTable.tsx:116 msgid "External stock" msgstr "" -#: src/tables/bom/BomTable.tsx:200 +#: src/tables/bom/BomTable.tsx:203 #: src/tables/build/BuildLineTable.tsx:67 msgid "Includes substitute stock" msgstr "" -#: src/tables/bom/BomTable.tsx:209 +#: src/tables/bom/BomTable.tsx:212 #: src/tables/build/BuildLineTable.tsx:77 msgid "Includes variant stock" msgstr "" -#: src/tables/bom/BomTable.tsx:234 -#: src/tables/part/PartTable.tsx:143 +#: src/tables/bom/BomTable.tsx:237 +#: src/tables/part/PartTable.tsx:144 #: src/tables/stock/StockItemTable.tsx:205 msgid "Stock Information" msgstr "" -#: src/tables/bom/BomTable.tsx:246 +#: src/tables/bom/BomTable.tsx:249 #: src/tables/build/BuildLineTable.tsx:195 msgid "Consumable item" msgstr "" -#: src/tables/bom/BomTable.tsx:267 +#: src/tables/bom/BomTable.tsx:270 msgid "Show trackable items" msgstr "" -#: src/tables/bom/BomTable.tsx:272 +#: src/tables/bom/BomTable.tsx:275 msgid "Show asssmbled items" msgstr "" -#: src/tables/bom/BomTable.tsx:277 +#: src/tables/bom/BomTable.tsx:280 msgid "Show items with available stock" msgstr "" -#: src/tables/bom/BomTable.tsx:282 +#: src/tables/bom/BomTable.tsx:285 msgid "Show items on order" msgstr "" -#: src/tables/bom/BomTable.tsx:286 +#: src/tables/bom/BomTable.tsx:289 msgid "Validated" msgstr "" -#: src/tables/bom/BomTable.tsx:287 +#: src/tables/bom/BomTable.tsx:290 msgid "Show validated items" msgstr "" -#: src/tables/bom/BomTable.tsx:291 +#: src/tables/bom/BomTable.tsx:294 #: src/tables/bom/UsedInTable.tsx:63 msgid "Inherited" msgstr "" -#: src/tables/bom/BomTable.tsx:292 +#: src/tables/bom/BomTable.tsx:295 #: src/tables/bom/UsedInTable.tsx:64 msgid "Show inherited items" msgstr "" -#: src/tables/bom/BomTable.tsx:296 +#: src/tables/bom/BomTable.tsx:299 msgid "Allow Variants" msgstr "" -#: src/tables/bom/BomTable.tsx:297 +#: src/tables/bom/BomTable.tsx:300 msgid "Show items which allow variant substitution" msgstr "" #: src/tables/bom/BomTable.tsx:301 +#~ msgid "Create BOM Item" +#~ msgstr "Create BOM Item" + +#: src/tables/bom/BomTable.tsx:304 #: src/tables/bom/UsedInTable.tsx:68 #: src/tables/build/BuildLineTable.tsx:46 msgid "Optional" msgstr "" -#: src/tables/bom/BomTable.tsx:301 -#~ msgid "Create BOM Item" -#~ msgstr "Create BOM Item" - -#: src/tables/bom/BomTable.tsx:302 +#: src/tables/bom/BomTable.tsx:305 #: src/tables/bom/UsedInTable.tsx:69 msgid "Show optional items" msgstr "" -#: src/tables/bom/BomTable.tsx:306 +#: src/tables/bom/BomTable.tsx:309 #: src/tables/build/BuildLineTable.tsx:41 msgid "Consumable" msgstr "" -#: src/tables/bom/BomTable.tsx:307 +#: src/tables/bom/BomTable.tsx:310 msgid "Show consumable items" msgstr "" -#: src/tables/bom/BomTable.tsx:311 -#: src/tables/part/PartTable.tsx:250 +#: src/tables/bom/BomTable.tsx:314 +#: src/tables/part/PartTable.tsx:257 msgid "Has Pricing" msgstr "" -#: src/tables/bom/BomTable.tsx:312 +#: src/tables/bom/BomTable.tsx:315 msgid "Show items with pricing" msgstr "" -#: src/tables/bom/BomTable.tsx:321 -#: src/tables/bom/BomTable.tsx:420 +#: src/tables/bom/BomTable.tsx:324 +#: src/tables/bom/BomTable.tsx:426 msgid "Add BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:326 +#: src/tables/bom/BomTable.tsx:329 msgid "BOM item created" msgstr "" @@ -5097,23 +5245,23 @@ msgstr "" #~ msgid "Edit Bom Item" #~ msgstr "Edit Bom Item" -#: src/tables/bom/BomTable.tsx:333 -msgid "Edit BOM Item" -msgstr "" - #: src/tables/bom/BomTable.tsx:333 #~ msgid "Bom item updated" #~ msgstr "Bom item updated" -#: src/tables/bom/BomTable.tsx:335 +#: src/tables/bom/BomTable.tsx:336 +msgid "Edit BOM Item" +msgstr "" + +#: src/tables/bom/BomTable.tsx:338 msgid "BOM item updated" msgstr "" -#: src/tables/bom/BomTable.tsx:342 +#: src/tables/bom/BomTable.tsx:345 msgid "Delete BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:343 +#: src/tables/bom/BomTable.tsx:346 msgid "BOM item deleted" msgstr "" @@ -5133,32 +5281,41 @@ msgstr "" #~ msgid "Validate BOM line" #~ msgstr "Validate BOM line" -#: src/tables/bom/BomTable.tsx:355 +#: src/tables/bom/BomTable.tsx:358 msgid "BOM item validated" msgstr "" -#: src/tables/bom/BomTable.tsx:364 +#: src/tables/bom/BomTable.tsx:367 msgid "Failed to validate BOM item" msgstr "" -#: src/tables/bom/BomTable.tsx:376 +#: src/tables/bom/BomTable.tsx:379 msgid "View BOM" msgstr "" -#: src/tables/bom/BomTable.tsx:385 +#: src/tables/bom/BomTable.tsx:388 msgid "Validate BOM Line" msgstr "" -#: src/tables/bom/BomTable.tsx:399 +#: src/tables/bom/BomTable.tsx:405 msgid "Edit Substitutes" msgstr "" +#: src/tables/bom/BomTable.tsx:440 +#: src/tables/part/PartParameterTable.tsx:191 +msgid "Part is Locked" +msgstr "" + +#: src/tables/bom/BomTable.tsx:445 +msgid "Bill of materials cannot be edited, as the part is locked" +msgstr "" + #: src/tables/bom/UsedInTable.tsx:74 msgid "Show active assemblies" msgstr "" #: src/tables/bom/UsedInTable.tsx:78 -#: src/tables/part/PartTable.tsx:192 +#: src/tables/part/PartTable.tsx:199 #: src/tables/part/PartVariantTable.tsx:30 msgid "Trackable" msgstr "" @@ -5168,7 +5325,7 @@ msgid "Show trackable assemblies" msgstr "" #: src/tables/build/BuildLineTable.tsx:31 -#: src/tables/stock/StockItemTable.tsx:270 +#: src/tables/stock/StockItemTable.tsx:292 msgid "Allocated" msgstr "" @@ -5189,7 +5346,7 @@ msgid "Show optional lines" msgstr "" #: src/tables/build/BuildLineTable.tsx:51 -#: src/tables/stock/StockItemTable.tsx:329 +#: src/tables/stock/StockItemTable.tsx:351 msgid "Tracked" msgstr "" @@ -5302,10 +5459,6 @@ msgstr "" msgid "Deallocate stock from build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:205 -msgid "Complete" -msgstr "" - #: src/tables/build/BuildOutputTable.tsx:206 msgid "Complete build output" msgstr "" @@ -5635,7 +5788,7 @@ msgid "Message" msgstr "" #: src/tables/part/ParametricPartTable.tsx:76 -#: src/tables/part/PartParameterTable.tsx:88 +#: src/tables/part/PartParameterTable.tsx:95 msgid "Internal Units" msgstr "" @@ -5648,13 +5801,13 @@ msgid "Add Part Parameter" msgstr "" #: src/tables/part/ParametricPartTable.tsx:138 -#: src/tables/part/PartParameterTable.tsx:121 -#: src/tables/part/PartParameterTable.tsx:144 +#: src/tables/part/PartParameterTable.tsx:128 +#: src/tables/part/PartParameterTable.tsx:151 msgid "Edit Part Parameter" msgstr "" #: src/tables/part/PartCategoryTable.tsx:60 -#: src/tables/part/PartTable.tsx:180 +#: src/tables/part/PartTable.tsx:187 msgid "Include Subcategories" msgstr "" @@ -5667,7 +5820,7 @@ msgid "Show structural categories" msgstr "" #: src/tables/part/PartCategoryTable.tsx:70 -#: src/tables/part/PartTable.tsx:262 +#: src/tables/part/PartTable.tsx:269 msgid "Subscribed" msgstr "" @@ -5704,21 +5857,25 @@ msgstr "" #~ msgid "[{0}]" #~ msgstr "[{0}]" -#: src/tables/part/PartParameterTable.tsx:105 +#: src/tables/part/PartParameterTable.tsx:112 msgid "New Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:130 -#: src/tables/part/PartParameterTable.tsx:152 +#: src/tables/part/PartParameterTable.tsx:137 +#: src/tables/part/PartParameterTable.tsx:159 msgid "Delete Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:170 +#: src/tables/part/PartParameterTable.tsx:177 msgid "Add parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:191 -#: src/tables/stock/StockItemTable.tsx:300 +#: src/tables/part/PartParameterTable.tsx:196 +msgid "Part parameters cannot be edited, as the part is locked" +msgstr "" + +#: src/tables/part/PartParameterTable.tsx:210 +#: src/tables/stock/StockItemTable.tsx:322 msgid "Include Variants" msgstr "" @@ -5739,7 +5896,7 @@ msgid "Show templates with choices" msgstr "" #: src/tables/part/PartParameterTemplateTable.tsx:41 -#: src/tables/part/PartTable.tsx:198 +#: src/tables/part/PartTable.tsx:205 msgid "Has Units" msgstr "" @@ -5763,116 +5920,120 @@ msgstr "" msgid "Add parameter template" msgstr "" -#: src/tables/part/PartTable.tsx:67 +#: src/tables/part/PartTable.tsx:68 msgid "Minimum stock" msgstr "" -#: src/tables/part/PartTable.tsx:89 +#: src/tables/part/PartTable.tsx:90 msgid "Build Order Allocations" msgstr "" -#: src/tables/part/PartTable.tsx:98 +#: src/tables/part/PartTable.tsx:99 msgid "Sales Order Allocations" msgstr "" -#: src/tables/part/PartTable.tsx:169 +#: src/tables/part/PartTable.tsx:170 msgid "Filter by part active status" msgstr "" -#: src/tables/part/PartTable.tsx:174 -#: src/tables/stock/StockItemTable.tsx:265 +#: src/tables/part/PartTable.tsx:176 +msgid "Filter by part locked status" +msgstr "" + +#: src/tables/part/PartTable.tsx:181 +#: src/tables/stock/StockItemTable.tsx:287 msgid "Assembly" msgstr "" -#: src/tables/part/PartTable.tsx:175 +#: src/tables/part/PartTable.tsx:182 msgid "Filter by assembly attribute" msgstr "" -#: src/tables/part/PartTable.tsx:181 +#: src/tables/part/PartTable.tsx:188 msgid "Include parts in subcategories" msgstr "" -#: src/tables/part/PartTable.tsx:187 +#: src/tables/part/PartTable.tsx:194 msgid "Filter by component attribute" msgstr "" -#: src/tables/part/PartTable.tsx:193 +#: src/tables/part/PartTable.tsx:200 msgid "Filter by trackable attribute" msgstr "" -#: src/tables/part/PartTable.tsx:199 +#: src/tables/part/PartTable.tsx:206 msgid "Filter by parts which have units" msgstr "" -#: src/tables/part/PartTable.tsx:204 +#: src/tables/part/PartTable.tsx:211 msgid "Has IPN" msgstr "" -#: src/tables/part/PartTable.tsx:205 +#: src/tables/part/PartTable.tsx:212 msgid "Filter by parts which have an internal part number" msgstr "" -#: src/tables/part/PartTable.tsx:210 +#: src/tables/part/PartTable.tsx:217 msgid "Has Stock" msgstr "" -#: src/tables/part/PartTable.tsx:211 +#: src/tables/part/PartTable.tsx:218 msgid "Filter by parts which have stock" msgstr "" -#: src/tables/part/PartTable.tsx:217 +#: src/tables/part/PartTable.tsx:224 msgid "Filter by parts which have low stock" msgstr "" -#: src/tables/part/PartTable.tsx:222 +#: src/tables/part/PartTable.tsx:229 msgid "Purchaseable" msgstr "" -#: src/tables/part/PartTable.tsx:223 +#: src/tables/part/PartTable.tsx:230 msgid "Filter by parts which are purchaseable" msgstr "" -#: src/tables/part/PartTable.tsx:228 +#: src/tables/part/PartTable.tsx:235 msgid "Salable" msgstr "" -#: src/tables/part/PartTable.tsx:229 +#: src/tables/part/PartTable.tsx:236 msgid "Filter by parts which are salable" msgstr "" -#: src/tables/part/PartTable.tsx:235 +#: src/tables/part/PartTable.tsx:242 msgid "Filter by parts which are virtual" msgstr "" -#: src/tables/part/PartTable.tsx:239 +#: src/tables/part/PartTable.tsx:246 msgid "Not Virtual" msgstr "" -#: src/tables/part/PartTable.tsx:244 +#: src/tables/part/PartTable.tsx:251 msgid "Is Template" msgstr "" -#: src/tables/part/PartTable.tsx:245 +#: src/tables/part/PartTable.tsx:252 msgid "Filter by parts which are templates" msgstr "" -#: src/tables/part/PartTable.tsx:251 +#: src/tables/part/PartTable.tsx:258 msgid "Filter by parts which have pricing information" msgstr "" -#: src/tables/part/PartTable.tsx:257 +#: src/tables/part/PartTable.tsx:264 msgid "Filter by parts which have available stock" msgstr "" -#: src/tables/part/PartTable.tsx:263 +#: src/tables/part/PartTable.tsx:270 msgid "Filter by parts to which the user is subscribed" msgstr "" -#: src/tables/part/PartTable.tsx:268 +#: src/tables/part/PartTable.tsx:275 msgid "Has Stocktake" msgstr "" -#: src/tables/part/PartTable.tsx:269 +#: src/tables/part/PartTable.tsx:276 msgid "Filter by parts which have stocktake information" msgstr "" @@ -6211,7 +6372,7 @@ msgid "Sample" msgstr "" #: src/tables/plugin/PluginListTable.tsx:578 -#: src/tables/stock/StockItemTable.tsx:305 +#: src/tables/stock/StockItemTable.tsx:327 msgid "Installed" msgstr "" @@ -6486,6 +6647,41 @@ msgstr "" msgid "Edit group" msgstr "" +#: src/tables/settings/ImportSessionTable.tsx:39 +msgid "Delete Import Session" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:45 +#: src/tables/settings/ImportSessionTable.tsx:132 +msgid "Create Import Session" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:70 +msgid "Uploaded" +msgstr "Uploaded" + +#: src/tables/settings/ImportSessionTable.tsx:80 +msgid "Imported Rows" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:110 +#: src/tables/settings/TemplateTable.tsx:276 +msgid "Model Type" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:111 +#: src/tables/settings/TemplateTable.tsx:277 +msgid "Filter by target model type" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:117 +msgid "Filter by import session status" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:123 +msgid "Filter by user" +msgstr "" + #: src/tables/settings/PendingTasksTable.tsx:36 msgid "Arguments" msgstr "" @@ -6502,7 +6698,7 @@ msgstr "" msgid "Delete Project Code" msgstr "" -#: src/tables/settings/ProjectCodeTable.tsx:94 +#: src/tables/settings/ProjectCodeTable.tsx:92 msgid "Add project code" msgstr "" @@ -6571,14 +6767,6 @@ msgstr "" 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 "" @@ -6701,149 +6889,153 @@ msgstr "" msgid "This stock item has been depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:255 +#: src/tables/stock/StockItemTable.tsx:247 +msgid "Stock Value" +msgstr "" + +#: src/tables/stock/StockItemTable.tsx:277 msgid "Show stock for active parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:260 +#: src/tables/stock/StockItemTable.tsx:282 msgid "Filter by stock status" msgstr "" -#: src/tables/stock/StockItemTable.tsx:266 +#: src/tables/stock/StockItemTable.tsx:288 msgid "Show stock for assmebled parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:271 +#: src/tables/stock/StockItemTable.tsx:293 msgid "Show items which have been allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:276 +#: src/tables/stock/StockItemTable.tsx:298 msgid "Show items which are available" msgstr "" -#: src/tables/stock/StockItemTable.tsx:280 +#: src/tables/stock/StockItemTable.tsx:302 #: src/tables/stock/StockLocationTable.tsx:42 msgid "Include Sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:281 +#: src/tables/stock/StockItemTable.tsx:303 msgid "Include stock in sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:285 +#: src/tables/stock/StockItemTable.tsx:307 msgid "Depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:286 +#: src/tables/stock/StockItemTable.tsx:308 msgid "Show depleted stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:291 +#: src/tables/stock/StockItemTable.tsx:313 msgid "Show items which are in stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:296 +#: src/tables/stock/StockItemTable.tsx:318 msgid "Show items which are in production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:301 +#: src/tables/stock/StockItemTable.tsx:323 msgid "Include stock items for variant parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:306 +#: src/tables/stock/StockItemTable.tsx:328 msgid "Show stock items which are installed in other items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:310 +#: src/tables/stock/StockItemTable.tsx:332 msgid "Sent to Customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:311 +#: src/tables/stock/StockItemTable.tsx:333 msgid "Show items which have been sent to a customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:315 +#: src/tables/stock/StockItemTable.tsx:337 msgid "Is Serialized" msgstr "" -#: src/tables/stock/StockItemTable.tsx:316 +#: src/tables/stock/StockItemTable.tsx:338 msgid "Show items which have a serial number" msgstr "" -#: src/tables/stock/StockItemTable.tsx:323 +#: src/tables/stock/StockItemTable.tsx:345 msgid "Has Batch Code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:324 +#: src/tables/stock/StockItemTable.tsx:346 msgid "Show items which have a batch code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:330 +#: src/tables/stock/StockItemTable.tsx:352 msgid "Show tracked items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:334 +#: src/tables/stock/StockItemTable.tsx:356 msgid "Has Purchase Price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:335 +#: src/tables/stock/StockItemTable.tsx:357 msgid "Show items which have a purchase price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:343 +#: src/tables/stock/StockItemTable.tsx:365 msgid "External Location" msgstr "" -#: src/tables/stock/StockItemTable.tsx:344 +#: src/tables/stock/StockItemTable.tsx:366 msgid "Show items in an external location" msgstr "" -#: src/tables/stock/StockItemTable.tsx:416 +#: src/tables/stock/StockItemTable.tsx:438 msgid "Add a new stock item" msgstr "" -#: src/tables/stock/StockItemTable.tsx:425 +#: src/tables/stock/StockItemTable.tsx:447 msgid "Remove some quantity from a stock item" msgstr "" -#: src/tables/stock/StockItemTable.tsx:447 +#: src/tables/stock/StockItemTable.tsx:469 msgid "Move Stock items to new locations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:454 +#: src/tables/stock/StockItemTable.tsx:476 msgid "Change stock status" msgstr "" -#: src/tables/stock/StockItemTable.tsx:456 +#: src/tables/stock/StockItemTable.tsx:478 msgid "Change the status of stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:463 +#: src/tables/stock/StockItemTable.tsx:485 msgid "Merge stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:465 +#: src/tables/stock/StockItemTable.tsx:487 msgid "Merge stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:472 +#: src/tables/stock/StockItemTable.tsx:494 msgid "Order stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:474 -#: src/tables/stock/StockItemTable.tsx:480 +#: src/tables/stock/StockItemTable.tsx:496 +#: src/tables/stock/StockItemTable.tsx:502 msgid "Order new stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:478 +#: src/tables/stock/StockItemTable.tsx:500 msgid "Assign to customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:487 +#: src/tables/stock/StockItemTable.tsx:509 msgid "Delete stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:489 +#: src/tables/stock/StockItemTable.tsx:511 msgid "Delete stock items" msgstr "" @@ -6999,4 +7191,3 @@ msgstr "" #: src/views/MobileAppView.tsx:35 msgid "Ignore and continue to Desktop view" msgstr "" - diff --git a/src/frontend/src/locales/vi/messages.po b/src/frontend/src/locales/vi/messages.po index 51ccb57aa4ac..74af34e7aaf8 100644 --- a/src/frontend/src/locales/vi/messages.po +++ b/src/frontend/src/locales/vi/messages.po @@ -49,16 +49,18 @@ msgstr "" #: src/components/buttons/PrintingActions.tsx:107 #: src/components/buttons/PrintingActions.tsx:144 #: src/components/editors/NotesEditor.tsx:65 -#: src/components/editors/NotesEditor.tsx:160 -#: src/components/forms/ApiForm.tsx:506 -#: src/components/forms/fields/ApiFormField.tsx:295 +#: src/components/editors/NotesEditor.tsx:165 +#: src/components/forms/ApiForm.tsx:513 +#: src/components/forms/fields/ApiFormField.tsx:306 +#: src/components/importer/ImportDataSelector.tsx:171 +#: src/components/importer/ImporterColumnSelector.tsx:112 #: src/components/modals/LicenseModal.tsx:75 #: src/components/nav/SearchDrawer.tsx:427 #: src/pages/ErrorPage.tsx:11 #: src/pages/part/PartPricingPanel.tsx:71 -#: src/tables/InvenTreeTable.tsx:451 -#: src/tables/InvenTreeTable.tsx:526 -#: src/tables/bom/BomTable.tsx:363 +#: src/tables/InvenTreeTable.tsx:470 +#: src/tables/InvenTreeTable.tsx:545 +#: src/tables/bom/BomTable.tsx:366 #: src/tables/stock/StockItemTestResultTable.tsx:294 msgid "Error" msgstr "Lỗi" @@ -157,7 +159,7 @@ msgstr "" #: src/functions/forms.tsx:196 #: src/hooks/UseForm.tsx:40 #: src/tables/FilterSelectDrawer.tsx:204 -#: src/tables/InvenTreeTable.tsx:499 +#: src/tables/InvenTreeTable.tsx:518 #: src/tables/build/BuildOutputTable.tsx:225 msgid "Cancel" msgstr "Hủy bỏ" @@ -175,7 +177,7 @@ msgid "Clear" msgstr "" #: src/components/details/DetailsImage.tsx:227 -#: src/components/forms/ApiForm.tsx:573 +#: src/components/forms/ApiForm.tsx:580 #: src/contexts/ThemeContext.tsx:43 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:56 msgid "Submit" @@ -202,48 +204,61 @@ msgid "Delete image" msgstr "" #: src/components/details/PartIcons.tsx:28 +#: src/tables/ColumnRenderers.tsx:35 +msgid "Part is locked" +msgstr "" + +#: src/components/details/PartIcons.tsx:30 +#: src/pages/part/PartDetail.tsx:267 +#: src/pages/part/PartDetail.tsx:698 +#: src/tables/part/PartTable.tsx:175 +msgid "Locked" +msgstr "" + +#: src/components/details/PartIcons.tsx:35 +#: src/tables/ColumnRenderers.tsx:30 msgid "Part is not active" msgstr "" -#: src/components/details/PartIcons.tsx:34 +#: src/components/details/PartIcons.tsx:37 #: src/components/render/Plugin.tsx:17 #: src/pages/company/CompanyDetail.tsx:315 #: src/pages/company/SupplierPartDetail.tsx:307 -#: src/pages/part/PartDetail.tsx:685 +#: src/pages/part/PartDetail.tsx:704 msgid "Inactive" msgstr "" -#: src/components/details/PartIcons.tsx:41 +#: src/components/details/PartIcons.tsx:43 msgid "Part is a template part (variants can be made from this part)" msgstr "" -#: src/components/details/PartIcons.tsx:47 +#: src/components/details/PartIcons.tsx:49 msgid "Part can be assembled from other parts" msgstr "" -#: src/components/details/PartIcons.tsx:53 +#: src/components/details/PartIcons.tsx:55 msgid "Part can be used in assemblies" msgstr "" -#: src/components/details/PartIcons.tsx:59 +#: src/components/details/PartIcons.tsx:61 msgid "Part stock is tracked by serial number" msgstr "" -#: src/components/details/PartIcons.tsx:65 +#: src/components/details/PartIcons.tsx:67 msgid "Part can be purchased from external suppliers" msgstr "" -#: src/components/details/PartIcons.tsx:71 +#: src/components/details/PartIcons.tsx:73 msgid "Part can be sold to customers" msgstr "" -#: src/components/details/PartIcons.tsx:76 +#: src/components/details/PartIcons.tsx:78 msgid "Part is virtual (not a physical part)" msgstr "" -#: src/components/details/PartIcons.tsx:82 -#: src/tables/part/PartTable.tsx:234 -#: src/tables/part/PartTable.tsx:238 +#: src/components/details/PartIcons.tsx:84 +#: src/tables/part/PartTable.tsx:241 +#: src/tables/part/PartTable.tsx:245 #: src/tables/part/PartVariantTable.tsx:25 msgid "Virtual" msgstr "Ảo" @@ -252,29 +267,29 @@ msgstr "Ảo" msgid "Image upload failed" msgstr "" -#: src/components/editors/NotesEditor.tsx:151 -#: src/components/forms/ApiForm.tsx:430 -#: src/tables/bom/BomTable.tsx:354 +#: src/components/editors/NotesEditor.tsx:156 +#: src/components/forms/ApiForm.tsx:437 +#: src/tables/bom/BomTable.tsx:357 msgid "Success" msgstr "Thành công" -#: src/components/editors/NotesEditor.tsx:152 +#: src/components/editors/NotesEditor.tsx:157 msgid "Notes saved successfully" msgstr "" -#: src/components/editors/NotesEditor.tsx:161 +#: src/components/editors/NotesEditor.tsx:166 msgid "Failed to save notes" msgstr "Không lưu được chú thích" -#: src/components/editors/NotesEditor.tsx:193 +#: src/components/editors/NotesEditor.tsx:198 msgid "Preview Notes" msgstr "" -#: src/components/editors/NotesEditor.tsx:193 +#: src/components/editors/NotesEditor.tsx:198 msgid "Edit Notes" msgstr "" -#: src/components/editors/NotesEditor.tsx:207 +#: src/components/editors/NotesEditor.tsx:212 msgid "Save Notes" msgstr "" @@ -407,7 +422,7 @@ msgstr "" msgid "A server error occurred" msgstr "" -#: src/components/forms/ApiForm.tsx:149 +#: src/components/forms/ApiForm.tsx:151 #: src/functions/forms.tsx:259 msgid "Form Error" msgstr "Lỗi form" @@ -416,18 +431,18 @@ msgstr "Lỗi form" #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:611 +#: src/components/forms/ApiForm.tsx:618 #: src/tables/plugin/PluginListTable.tsx:388 msgid "Update" msgstr "Cập nhật" -#: src/components/forms/ApiForm.tsx:631 +#: src/components/forms/ApiForm.tsx:638 #: 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:498 +#: src/tables/InvenTreeTable.tsx:517 #: src/tables/RowActions.tsx:71 #: src/tables/plugin/PluginListTable.tsx:420 msgid "Delete" @@ -600,7 +615,7 @@ msgstr "Host" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:70 #: src/pages/part/CategoryDetail.tsx:80 -#: src/pages/part/PartDetail.tsx:122 +#: src/pages/part/PartDetail.tsx:123 #: src/pages/stock/LocationDetail.tsx:87 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 @@ -685,6 +700,124 @@ msgstr "" msgid "Thumbnail" msgstr "Ảnh thu nhỏ" +#: src/components/importer/ImportDataSelector.tsx:154 +msgid "Importing Rows" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:155 +msgid "Please wait while the data is imported" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:172 +msgid "An error occurred while importing data" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:191 +msgid "Edit Data" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:218 +msgid "Delete Row" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:248 +msgid "Row" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:266 +msgid "Row contains errors" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:307 +msgid "Accept" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:340 +msgid "Valid" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:341 +msgid "Filter by row validation status" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:346 +#: src/tables/build/BuildOutputTable.tsx:205 +msgid "Complete" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:347 +msgid "Filter by row completion status" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:364 +msgid "Import selected rows" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:46 +#: src/components/importer/ImporterColumnSelector.tsx:85 +msgid "An error occurred" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:57 +msgid "Select column, or leave blank to ignore this field." +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:91 +msgid "Select a column from the data file" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:104 +msgid "Map data columns to database fields" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:109 +msgid "Accept Column Mapping" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:117 +msgid "Database Field" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:118 +msgid "Field Description" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:119 +msgid "Imported Column Name" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:44 +msgid "Import Data" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:45 +msgid "Map Columns" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:46 +msgid "Process Data" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:47 +msgid "Complete Import" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:91 +msgid "Importing Data" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:97 +msgid "Cancel import session" +msgstr "" + +#: src/components/importer/ImporterImportProgress.tsx:36 +msgid "Importing Records" +msgstr "" + +#: src/components/importer/ImporterImportProgress.tsx:39 +msgid "Imported rows" +msgstr "" + #: src/components/items/ActionDropdown.tsx:119 #: src/pages/build/BuildDetail.tsx:358 msgid "Barcode Actions" @@ -738,7 +871,7 @@ msgid "Read More" msgstr "Xem thêm" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:443 +#: src/tables/InvenTreeTable.tsx:462 msgid "Unknown error" msgstr "Lỗi không xác định" @@ -1039,13 +1172,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:313 +#: src/pages/Index/Settings/SystemSettings.tsx:314 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:198 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:209 msgid "Admin Center" msgstr "Trung tâm quản trị" @@ -1088,7 +1221,7 @@ msgid "Pages" msgstr "Trang" #: src/components/nav/NavigationDrawer.tsx:65 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:157 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:168 #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:41 msgid "Plugins" msgstr "Plugins" @@ -1102,7 +1235,7 @@ msgstr "Tài liệu" msgid "About" msgstr "Giới thiệu" -#: src/components/nav/NotificationDrawer.tsx:78 +#: src/components/nav/NotificationDrawer.tsx:81 #: src/pages/Index/Settings/SystemSettings.tsx:108 #: src/pages/Index/Settings/UserSettings.tsx:96 #: src/pages/Notifications.tsx:65 @@ -1110,17 +1243,17 @@ msgstr "Giới thiệu" msgid "Notifications" msgstr "Thông báo" -#: src/components/nav/NotificationDrawer.tsx:95 +#: src/components/nav/NotificationDrawer.tsx:98 msgid "You have no unread notifications." msgstr "Bạn chưa có thông báo mới." -#: src/components/nav/NotificationDrawer.tsx:111 -#: src/components/nav/NotificationDrawer.tsx:117 +#: src/components/nav/NotificationDrawer.tsx:114 +#: src/components/nav/NotificationDrawer.tsx:120 #: src/tables/notifications/NotificationsTable.tsx:36 msgid "Notification" msgstr "Thông báo" -#: src/components/nav/NotificationDrawer.tsx:140 +#: src/components/nav/NotificationDrawer.tsx:143 #: src/pages/Notifications.tsx:73 msgid "Mark as read" msgstr "Đánh dấu đã đọc" @@ -1157,7 +1290,7 @@ msgstr "Không có kết quả" 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/render/Instance.tsx:166 +#: src/components/render/Instance.tsx:201 msgid "Unknown model: {model}" msgstr "Model không rõ: {model}" @@ -1172,7 +1305,8 @@ msgstr "Model không rõ: {model}" #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 #: src/pages/build/BuildDetail.tsx:85 -#: src/pages/part/PartDetail.tsx:831 +#: src/pages/part/PartDetail.tsx:872 +#: src/tables/part/PartTable.tsx:28 #: src/tables/part/RelatedPartTable.tsx:45 #: src/tables/stock/StockTrackingTable.tsx:74 msgid "Part" @@ -1185,7 +1319,7 @@ msgstr "Phụ kiện" #: src/pages/part/CategoryDetail.tsx:112 #: src/pages/part/CategoryDetail.tsx:237 #: src/pages/part/CategoryDetail.tsx:267 -#: src/pages/part/PartDetail.tsx:639 +#: src/pages/part/PartDetail.tsx:652 msgid "Parts" msgstr "Phụ tùng" @@ -1235,7 +1369,7 @@ msgstr "Danh mục phụ kiện" #: src/pages/Index/Settings/SystemSettings.tsx:172 #: src/pages/part/CategoryDetail.tsx:251 #: src/pages/part/CategoryDetail.tsx:288 -#: src/pages/part/PartDetail.tsx:821 +#: src/pages/part/PartDetail.tsx:862 msgid "Part Categories" msgstr "Danh mục phụ kiện" @@ -1317,7 +1451,7 @@ msgid "Project Code" msgstr "Mã dự án" #: src/components/render/ModelType.tsx:127 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:109 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:120 msgid "Project Codes" msgstr "Mã dự án" @@ -1329,10 +1463,10 @@ msgid "Purchase Order" msgstr "Đơn đặt mua" #: src/components/render/ModelType.tsx:134 -#: src/pages/Index/Settings/SystemSettings.tsx:257 +#: src/pages/Index/Settings/SystemSettings.tsx:258 #: src/pages/company/CompanyDetail.tsx:194 #: src/pages/company/SupplierPartDetail.tsx:226 -#: src/pages/part/PartDetail.tsx:573 +#: src/pages/part/PartDetail.tsx:586 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "Đơn hàng mua" @@ -1354,9 +1488,9 @@ msgid "Sales Order" msgstr "Đơn đặt bán" #: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:272 +#: src/pages/Index/Settings/SystemSettings.tsx:273 #: src/pages/company/CompanyDetail.tsx:214 -#: src/pages/part/PartDetail.tsx:580 +#: src/pages/part/PartDetail.tsx:593 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "Đơn hàng bán" @@ -1376,7 +1510,7 @@ msgid "Return Order" msgstr "Đơn hàng trả lại" #: src/components/render/ModelType.tsx:164 -#: src/pages/Index/Settings/SystemSettings.tsx:288 +#: src/pages/Index/Settings/SystemSettings.tsx:289 #: src/pages/company/CompanyDetail.tsx:221 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1413,40 +1547,49 @@ msgid "Owners" msgstr "Chủ sở hữu" #: src/components/render/ModelType.tsx:193 +#: src/tables/settings/ImportSessionTable.tsx:122 #: src/tables/stock/StockItemTestResultTable.tsx:193 #: src/tables/stock/StockTrackingTable.tsx:195 msgid "User" msgstr "Người dùng" #: src/components/render/ModelType.tsx:194 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:85 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:90 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" msgstr "Người dùng" #: src/components/render/ModelType.tsx:200 -msgid "Label Template" +msgid "Import Session" msgstr "" #: src/components/render/ModelType.tsx:201 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:139 -msgid "Label Templates" +msgid "Import Sessions" msgstr "" #: src/components/render/ModelType.tsx:207 -msgid "Report Template" +msgid "Label Template" msgstr "" #: src/components/render/ModelType.tsx:208 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:145 -msgid "Report Templates" +#: src/pages/Index/Settings/AdminCenter/Index.tsx:150 +msgid "Label Templates" msgstr "" #: src/components/render/ModelType.tsx:214 -msgid "Plugin Configuration" +msgid "Report Template" msgstr "" #: src/components/render/ModelType.tsx:215 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:156 +msgid "Report Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:221 +msgid "Plugin Configuration" +msgstr "" + +#: src/components/render/ModelType.tsx:222 msgid "Plugin Configurations" msgstr "" @@ -1458,7 +1601,7 @@ msgstr "Lô hàng" #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 #: src/pages/Index/Settings/SystemSettings.tsx:210 -#: src/pages/part/PartDetail.tsx:492 +#: src/pages/part/PartDetail.tsx:503 #: src/pages/stock/LocationDetail.tsx:347 #: src/pages/stock/StockDetail.tsx:356 #: src/tables/stock/StockItemTable.tsx:57 @@ -1641,10 +1784,6 @@ msgstr "" #~ msgid "Comment" #~ msgstr "Comment" -#: src/components/tables/general/AttachmentTable.tsx:56 -#~ msgid "Uploaded" -#~ msgstr "Uploaded" - #: src/components/tables/part/PartCategoryTable.tsx:122 #~ msgid "Part category updated" #~ msgstr "Part category updated" @@ -2157,7 +2296,7 @@ msgid "Recently Updated" msgstr "Mới Cập Nhật" #: src/defaults/dashboardItems.tsx:50 -#: src/tables/part/PartTable.tsx:216 +#: src/tables/part/PartTable.tsx:223 msgid "Low Stock" msgstr "Còn ít hàng" @@ -2466,7 +2605,7 @@ msgstr "" #~ msgid "Company updated" #~ msgstr "Company updated" -#: src/forms/PartForms.tsx:100 +#: src/forms/PartForms.tsx:103 msgid "Parent part category" msgstr "Danh mục phụ kiện cha" @@ -2534,7 +2673,7 @@ msgstr "" #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 #: src/pages/stock/StockDetail.tsx:173 -#: src/tables/ColumnRenderers.tsx:34 +#: src/tables/ColumnRenderers.tsx:49 #: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" msgstr "" @@ -2585,8 +2724,8 @@ msgstr "Điền số sê-ri cho kho mới (hoặc để trống)" #: src/forms/StockForms.tsx:176 #: src/pages/stock/StockDetail.tsx:379 -#: src/tables/stock/StockItemTable.tsx:382 -#: src/tables/stock/StockItemTable.tsx:499 +#: src/tables/stock/StockItemTable.tsx:404 +#: src/tables/stock/StockItemTable.tsx:521 msgid "Add Stock Item" msgstr "" @@ -2606,9 +2745,9 @@ msgstr "" #: src/forms/StockForms.tsx:606 #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 -#: src/pages/part/PartDetail.tsx:202 -#: src/pages/part/PartDetail.tsx:655 -#: src/tables/stock/StockItemTable.tsx:290 +#: src/pages/part/PartDetail.tsx:203 +#: src/pages/part/PartDetail.tsx:668 +#: src/tables/stock/StockItemTable.tsx:312 msgid "In Stock" msgstr "Còn hàng" @@ -2649,12 +2788,12 @@ msgid "Remove Stock" msgstr "" #: src/forms/StockForms.tsx:803 -#: src/pages/part/PartDetail.tsx:782 +#: src/pages/part/PartDetail.tsx:823 msgid "Transfer Stock" msgstr "" #: src/forms/StockForms.tsx:812 -#: src/pages/part/PartDetail.tsx:771 +#: src/pages/part/PartDetail.tsx:812 msgid "Count Stock" msgstr "" @@ -3279,53 +3418,57 @@ msgstr "Thanh tải" #~ msgid "Advanced Amininistrative Options for InvenTree" #~ msgstr "Advanced Amininistrative Options for InvenTree" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:91 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:96 +msgid "Data Import" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:102 msgid "Background Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:97 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:108 msgid "Error Reports" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:103 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:114 msgid "Currencies" 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:132 msgid "Custom Units" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:138 #: src/pages/part/CategoryDetail.tsx:257 msgid "Part Parameters" msgstr "Tham số phụ kiện" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 -#~ msgid "Templates" -#~ msgstr "Templates" - -#: src/pages/Index/Settings/AdminCenter/Index.tsx:133 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:144 msgid "Category Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:151 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:162 msgid "Location types" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:163 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:174 #: src/tables/machine/MachineTypeTable.tsx:287 msgid "Machines" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:173 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:184 msgid "Quick Actions" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:178 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:189 msgid "Add a new user" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:199 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:210 msgid "Advanced Options" msgstr "" @@ -3477,7 +3620,7 @@ msgid "Reporting" msgstr "Báo cáo" #: src/pages/Index/Settings/SystemSettings.tsx:235 -#: src/pages/part/PartDetail.tsx:593 +#: src/pages/part/PartDetail.tsx:606 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "Kiểm kê" @@ -3485,12 +3628,12 @@ msgstr "Kiểm kê" #: src/pages/Index/Settings/SystemSettings.tsx:241 #: src/pages/build/BuildDetail.tsx:423 #: src/pages/build/BuildIndex.tsx:14 -#: src/pages/part/PartDetail.tsx:527 +#: src/pages/part/PartDetail.tsx:540 #: src/pages/sales/SalesOrderDetail.tsx:270 msgid "Build Orders" msgstr "Đơn đặt bản dựng" -#: src/pages/Index/Settings/SystemSettings.tsx:316 +#: src/pages/Index/Settings/SystemSettings.tsx:317 msgid "Switch to User Setting" msgstr "Chuyển sang thiết lập người dùng" @@ -3555,7 +3698,8 @@ msgstr "Đánh dấu chưa đọc" #: 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/settings/ImportSessionTable.tsx:116 +#: src/tables/stock/StockItemTable.tsx:281 #: src/tables/stock/StockTrackingTable.tsx:52 msgid "Status" msgstr "Trạng thái" @@ -3564,7 +3708,7 @@ msgstr "Trạng thái" #: src/pages/purchasing/PurchaseOrderDetail.tsx:104 #: src/pages/sales/ReturnOrderDetail.tsx:73 #: src/pages/sales/SalesOrderDetail.tsx:77 -#: src/tables/ColumnRenderers.tsx:106 +#: src/tables/ColumnRenderers.tsx:121 #: src/tables/build/BuildLineTable.tsx:140 msgid "Reference" msgstr "" @@ -3574,12 +3718,12 @@ msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:78 #: src/pages/company/SupplierPartDetail.tsx:85 #: src/pages/part/CategoryDetail.tsx:94 -#: src/pages/part/PartDetail.tsx:129 +#: src/pages/part/PartDetail.tsx:130 #: src/pages/purchasing/PurchaseOrderDetail.tsx:125 #: src/pages/sales/ReturnOrderDetail.tsx:93 #: src/pages/sales/SalesOrderDetail.tsx:97 #: src/pages/stock/LocationDetail.tsx:101 -#: src/tables/ColumnRenderers.tsx:66 +#: src/tables/ColumnRenderers.tsx:81 #: src/tables/machine/MachineTypeTable.tsx:69 #: src/tables/machine/MachineTypeTable.tsx:112 #: src/tables/machine/MachineTypeTable.tsx:219 @@ -3610,7 +3754,7 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:152 -#: src/pages/part/PartDetail.tsx:317 +#: src/pages/part/PartDetail.tsx:323 #: src/pages/purchasing/PurchaseOrderDetail.tsx:217 #: src/pages/sales/ReturnOrderDetail.tsx:186 #: src/pages/sales/SalesOrderDetail.tsx:190 @@ -3630,7 +3774,7 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:210 #: src/pages/sales/ReturnOrderDetail.tsx:179 #: src/pages/sales/SalesOrderDetail.tsx:183 -#: src/tables/ColumnRenderers.tsx:191 +#: src/tables/ColumnRenderers.tsx:206 msgid "Target Date" msgstr "Ngày mục tiêu" @@ -3711,7 +3855,7 @@ msgstr "Đơn đặt bản dựng con" #: src/pages/build/BuildDetail.tsx:297 #: src/pages/company/CompanyDetail.tsx:257 #: src/pages/company/ManufacturerPartDetail.tsx:174 -#: src/pages/part/PartDetail.tsx:616 +#: src/pages/part/PartDetail.tsx:629 #: src/pages/purchasing/PurchaseOrderDetail.tsx:279 #: src/pages/sales/ReturnOrderDetail.tsx:230 #: src/pages/sales/SalesOrderDetail.tsx:280 @@ -3721,7 +3865,7 @@ msgstr "Đính kèm" #: src/pages/build/BuildDetail.tsx:305 #: src/pages/company/CompanyDetail.tsx:268 -#: src/pages/part/PartDetail.tsx:624 +#: src/pages/part/PartDetail.tsx:637 #: src/pages/purchasing/PurchaseOrderDetail.tsx:290 #: src/pages/sales/ReturnOrderDetail.tsx:241 #: src/pages/sales/SalesOrderDetail.tsx:291 @@ -3877,12 +4021,12 @@ msgid "Manufacturer Part Details" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:148 -#: src/pages/part/PartDetail.tsx:486 +#: src/pages/part/PartDetail.tsx:492 msgid "Parameters" msgstr "Thông số" #: src/pages/company/ManufacturerPartDetail.tsx:160 -#: src/pages/part/PartDetail.tsx:560 +#: src/pages/part/PartDetail.tsx:573 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" msgstr "Nhà cung cấp" @@ -3907,7 +4051,7 @@ msgid "ManufacturerPart" msgstr "" #: src/pages/company/SupplierPartDetail.tsx:99 -#: src/tables/ColumnRenderers.tsx:117 +#: src/tables/ColumnRenderers.tsx:132 msgid "Note" msgstr "" @@ -4043,275 +4187,275 @@ msgstr "" msgid "Category Details" msgstr "" -#: src/pages/part/PartDetail.tsx:135 +#: src/pages/part/PartDetail.tsx:136 msgid "Variant of" msgstr "" -#: src/pages/part/PartDetail.tsx:142 +#: src/pages/part/PartDetail.tsx:143 #: src/tables/notifications/NotificationsTable.tsx:31 #: src/tables/part/PartCategoryTemplateTable.tsx:67 msgid "Category" msgstr "Danh mục" -#: src/pages/part/PartDetail.tsx:148 +#: src/pages/part/PartDetail.tsx:149 msgid "Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:155 +#: src/pages/part/PartDetail.tsx:156 msgid "Category Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:162 +#: src/pages/part/PartDetail.tsx:163 msgid "IPN" msgstr "IPN" -#: src/pages/part/PartDetail.tsx:169 +#: src/pages/part/PartDetail.tsx:170 msgid "Revision" msgstr "" -#: src/pages/part/PartDetail.tsx:176 +#: src/pages/part/PartDetail.tsx:177 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" msgstr "Đơn vị" -#: src/pages/part/PartDetail.tsx:183 +#: src/pages/part/PartDetail.tsx:184 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:190 +#: src/pages/part/PartDetail.tsx:191 #: src/pages/purchasing/PurchaseOrderDetail.tsx:183 #: src/pages/sales/ReturnOrderDetail.tsx:152 #: src/pages/sales/SalesOrderDetail.tsx:156 msgid "Link" msgstr "Liên kết" -#: src/pages/part/PartDetail.tsx:208 -#: src/tables/bom/BomTable.tsx:276 +#: src/pages/part/PartDetail.tsx:209 +#: src/tables/bom/BomTable.tsx:279 #: src/tables/build/BuildLineTable.tsx:121 -#: src/tables/part/PartTable.tsx:256 +#: src/tables/part/PartTable.tsx:263 msgid "Available Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:215 +#: src/pages/part/PartDetail.tsx:216 msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:221 -#: src/tables/bom/BomTable.tsx:217 +#: src/pages/part/PartDetail.tsx:222 +#: src/tables/bom/BomTable.tsx:220 #: src/tables/build/BuildLineTable.tsx:95 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:230 +#: src/pages/part/PartDetail.tsx:231 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:238 +#: src/pages/part/PartDetail.tsx:239 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:245 -#: src/tables/bom/BomTable.tsx:241 +#: src/pages/part/PartDetail.tsx:246 +#: src/tables/bom/BomTable.tsx:244 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:252 -#: src/tables/bom/BomTable.tsx:225 -#: src/tables/part/PartTable.tsx:82 +#: src/pages/part/PartDetail.tsx:253 +#: src/tables/bom/BomTable.tsx:228 +#: src/tables/part/PartTable.tsx:83 msgid "Building" msgstr "" -#: src/pages/part/PartDetail.tsx:261 +#: src/pages/part/PartDetail.tsx:262 #: src/tables/bom/UsedInTable.tsx:73 #: src/tables/build/BuildOrderTable.tsx:108 #: src/tables/company/CompanyTable.tsx:61 #: src/tables/company/CompanyTable.tsx:95 #: src/tables/machine/MachineListTable.tsx:323 #: src/tables/machine/MachineListTable.tsx:585 -#: src/tables/part/PartTable.tsx:168 +#: src/tables/part/PartTable.tsx:169 #: src/tables/part/PartVariantTable.tsx:15 #: 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 +#: src/tables/stock/StockItemTable.tsx:276 msgid "Active" msgstr "Hoạt động" -#: src/pages/part/PartDetail.tsx:266 +#: src/pages/part/PartDetail.tsx:272 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:271 -#: src/tables/bom/BomTable.tsx:271 +#: src/pages/part/PartDetail.tsx:277 +#: src/tables/bom/BomTable.tsx:274 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:276 +#: src/pages/part/PartDetail.tsx:282 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:281 -#: src/tables/bom/BomTable.tsx:266 +#: src/pages/part/PartDetail.tsx:287 +#: src/tables/bom/BomTable.tsx:269 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:286 +#: src/pages/part/PartDetail.tsx:292 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:291 +#: src/pages/part/PartDetail.tsx:297 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:296 +#: src/pages/part/PartDetail.tsx:302 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:304 -#: src/tables/ColumnRenderers.tsx:199 +#: src/pages/part/PartDetail.tsx:310 +#: src/tables/ColumnRenderers.tsx:214 msgid "Creation Date" msgstr "" -#: src/pages/part/PartDetail.tsx:309 -msgid "Created By" -msgstr "" - #: src/pages/part/PartDetail.tsx:310 #~ msgid "Edit part" #~ msgstr "Edit part" +#: src/pages/part/PartDetail.tsx:315 +msgid "Created By" +msgstr "" + #: src/pages/part/PartDetail.tsx:322 #~ msgid "Duplicate part" #~ msgstr "Duplicate part" -#: src/pages/part/PartDetail.tsx:324 -msgid "Default Supplier" -msgstr "" - #: src/pages/part/PartDetail.tsx:327 #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:335 +#: src/pages/part/PartDetail.tsx:330 +msgid "Default Supplier" +msgstr "" + +#: src/pages/part/PartDetail.tsx:341 #: src/pages/part/pricing/BomPricingPanel.tsx:78 #: src/pages/part/pricing/VariantPricingPanel.tsx:95 -#: src/tables/part/PartTable.tsx:151 +#: src/tables/part/PartTable.tsx:152 msgid "Price Range" msgstr "Khoảng giá" -#: src/pages/part/PartDetail.tsx:374 +#: src/pages/part/PartDetail.tsx:380 #: src/pages/stock/StockDetail.tsx:133 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:409 +#: src/pages/part/PartDetail.tsx:415 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:480 +#: src/pages/part/PartDetail.tsx:486 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:506 +#: src/pages/part/PartDetail.tsx:517 msgid "Variants" msgstr "Biến thể" -#: src/pages/part/PartDetail.tsx:513 +#: src/pages/part/PartDetail.tsx:524 #: src/pages/stock/StockDetail.tsx:286 msgid "Allocations" msgstr "Phân bổ" -#: src/pages/part/PartDetail.tsx:520 +#: src/pages/part/PartDetail.tsx:531 msgid "Bill of Materials" msgstr "Hóa đơn nguyên vật liệu" -#: src/pages/part/PartDetail.tsx:534 +#: src/pages/part/PartDetail.tsx:547 msgid "Used In" msgstr "Sử dụng trong" -#: src/pages/part/PartDetail.tsx:541 +#: src/pages/part/PartDetail.tsx:554 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:547 +#: src/pages/part/PartDetail.tsx:560 #: src/pages/purchasing/PurchasingIndex.tsx:37 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:587 +#: src/pages/part/PartDetail.tsx:600 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:599 +#: src/pages/part/PartDetail.tsx:612 msgid "Test Templates" msgstr "Mẫu thử nghiệm" -#: src/pages/part/PartDetail.tsx:610 +#: src/pages/part/PartDetail.tsx:623 msgid "Related Parts" msgstr "Phụ kiện liên quan" -#: src/pages/part/PartDetail.tsx:661 +#: src/pages/part/PartDetail.tsx:674 #: src/pages/stock/StockDetail.tsx:154 #: src/pages/stock/StockDetail.tsx:533 #: src/tables/build/BuildLineTable.tsx:36 -#: src/tables/part/PartTable.tsx:107 +#: src/tables/part/PartTable.tsx:108 #: src/tables/stock/StockItemTable.tsx:166 -#: src/tables/stock/StockItemTable.tsx:275 +#: src/tables/stock/StockItemTable.tsx:297 msgid "Available" msgstr "Có sẵn" -#: src/pages/part/PartDetail.tsx:667 +#: src/pages/part/PartDetail.tsx:680 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:673 -#: src/tables/bom/BomTable.tsx:281 -#: src/tables/part/PartTable.tsx:76 +#: src/pages/part/PartDetail.tsx:686 +#: src/tables/bom/BomTable.tsx:284 +#: src/tables/part/PartTable.tsx:77 msgid "On Order" msgstr "On Order" -#: src/pages/part/PartDetail.tsx:679 +#: src/pages/part/PartDetail.tsx:692 #: src/pages/stock/StockDetail.tsx:516 -#: src/tables/stock/StockItemTable.tsx:295 +#: src/tables/stock/StockItemTable.tsx:317 msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:698 +#: src/pages/part/PartDetail.tsx:717 msgid "Edit Part" msgstr "Sửa phụ kiện" -#: src/pages/part/PartDetail.tsx:705 -#: src/tables/part/PartTable.tsx:289 -#: src/tables/part/PartTable.tsx:302 +#: src/pages/part/PartDetail.tsx:744 +#: src/tables/part/PartTable.tsx:296 +#: src/tables/part/PartTable.tsx:309 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:717 +#: src/pages/part/PartDetail.tsx:758 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:726 +#: src/pages/part/PartDetail.tsx:767 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:764 +#: src/pages/part/PartDetail.tsx:805 #: src/pages/stock/LocationDetail.tsx:304 -#: src/tables/stock/StockItemTable.tsx:409 +#: src/tables/stock/StockItemTable.tsx:431 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:772 +#: src/pages/part/PartDetail.tsx:813 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:824 msgid "Transfer part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:792 +#: src/pages/part/PartDetail.tsx:833 msgid "Part Actions" msgstr "" @@ -4359,8 +4503,8 @@ msgstr "" #: src/pages/part/pricing/BomPricingPanel.tsx:57 #: src/pages/part/pricing/BomPricingPanel.tsx:137 -#: src/tables/ColumnRenderers.tsx:241 -#: src/tables/bom/BomTable.tsx:165 +#: src/tables/ColumnRenderers.tsx:256 +#: src/tables/bom/BomTable.tsx:168 #: src/tables/purchasing/PurchaseOrderTable.tsx:112 #: src/tables/sales/ReturnOrderTable.tsx:104 #: src/tables/sales/SalesOrderTable.tsx:134 @@ -4369,7 +4513,7 @@ msgstr "" #: src/pages/part/pricing/BomPricingPanel.tsx:77 #: src/pages/part/pricing/BomPricingPanel.tsx:101 -#: src/tables/part/PartTable.tsx:186 +#: src/tables/part/PartTable.tsx:193 msgid "Component" msgstr "Thành phần" @@ -4398,7 +4542,7 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:67 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:128 #: src/pages/part/pricing/SupplierPricingPanel.tsx:62 -#: src/tables/bom/BomTable.tsx:156 +#: src/tables/bom/BomTable.tsx:159 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 msgid "Unit Price" @@ -4498,7 +4642,7 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:40 #: src/pages/part/pricing/SaleHistoryPanel.tsx:36 -#: src/tables/ColumnRenderers.tsx:180 +#: src/tables/ColumnRenderers.tsx:195 #: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" @@ -4771,12 +4915,12 @@ msgid "Count stock" msgstr "Đếm hàng" #: src/pages/stock/StockDetail.tsx:459 -#: src/tables/stock/StockItemTable.tsx:414 +#: src/tables/stock/StockItemTable.tsx:436 msgid "Add stock" msgstr "Thêm hàng" #: src/pages/stock/StockDetail.tsx:467 -#: src/tables/stock/StockItemTable.tsx:423 +#: src/tables/stock/StockItemTable.tsx:445 msgid "Remove stock" msgstr "Xóa hàng" @@ -4785,7 +4929,7 @@ msgid "Transfer" msgstr "Chuyển" #: src/pages/stock/StockDetail.tsx:475 -#: src/tables/stock/StockItemTable.tsx:443 +#: src/tables/stock/StockItemTable.tsx:465 msgid "Transfer stock" msgstr "Chuyển giao hàng" @@ -4793,15 +4937,15 @@ msgstr "Chuyển giao hàng" msgid "Stock Item Actions" msgstr "" -#: src/tables/ColumnRenderers.tsx:42 +#: src/tables/ColumnRenderers.tsx:57 msgid "No location set" msgstr "" -#: src/tables/ColumnRenderers.tsx:207 +#: src/tables/ColumnRenderers.tsx:222 msgid "Shipment Date" msgstr "" -#: src/tables/ColumnRenderers.tsx:227 +#: src/tables/ColumnRenderers.tsx:242 #: src/tables/settings/CurrencyTable.tsx:23 msgid "Currency" msgstr "" @@ -4828,14 +4972,14 @@ msgid "TSV" msgstr "TSV" #: src/tables/DownloadAction.tsx:24 -msgid "Excel (.xls)" -msgstr "" - -#: src/tables/DownloadAction.tsx:25 msgid "Excel (.xlsx)" msgstr "" -#: src/tables/DownloadAction.tsx:39 +#: src/tables/DownloadAction.tsx:24 +#~ msgid "Excel (.xls)" +#~ msgstr "" + +#: src/tables/DownloadAction.tsx:38 msgid "Download Data" msgstr "" @@ -4900,54 +5044,54 @@ msgstr "Thêm bộ lọc" msgid "Clear Filters" msgstr "Xóa bộ lọc" -#: src/tables/InvenTreeTable.tsx:119 -#: src/tables/InvenTreeTable.tsx:390 -#: src/tables/InvenTreeTable.tsx:411 +#: src/tables/InvenTreeTable.tsx:126 +#: src/tables/InvenTreeTable.tsx:409 +#: src/tables/InvenTreeTable.tsx:430 msgid "No records found" msgstr "Không tìm thấy biểu ghi" -#: src/tables/InvenTreeTable.tsx:422 +#: src/tables/InvenTreeTable.tsx:441 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:430 +#: src/tables/InvenTreeTable.tsx:449 msgid "Bad request" msgstr "Yêu cầu không hợp lệ" -#: src/tables/InvenTreeTable.tsx:433 +#: src/tables/InvenTreeTable.tsx:452 msgid "Unauthorized" msgstr "Chưa cấp quyền" -#: src/tables/InvenTreeTable.tsx:436 +#: src/tables/InvenTreeTable.tsx:455 msgid "Forbidden" msgstr "Bị cấm" -#: src/tables/InvenTreeTable.tsx:439 +#: src/tables/InvenTreeTable.tsx:458 msgid "Not found" msgstr "Không tìm thấy" -#: src/tables/InvenTreeTable.tsx:488 -#: src/tables/InvenTreeTable.tsx:606 +#: src/tables/InvenTreeTable.tsx:507 +#: src/tables/InvenTreeTable.tsx:623 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:492 +#: src/tables/InvenTreeTable.tsx:511 msgid "Are you sure you want to delete the selected records?" msgstr "" -#: src/tables/InvenTreeTable.tsx:494 +#: src/tables/InvenTreeTable.tsx:513 msgid "This action cannot be undone!" msgstr "" -#: src/tables/InvenTreeTable.tsx:517 +#: src/tables/InvenTreeTable.tsx:536 msgid "Deleted records" msgstr "" -#: src/tables/InvenTreeTable.tsx:518 +#: src/tables/InvenTreeTable.tsx:537 msgid "Records were deleted successfully" msgstr "" -#: src/tables/InvenTreeTable.tsx:527 +#: src/tables/InvenTreeTable.tsx:546 msgid "Failed to delete records" msgstr "" @@ -4956,140 +5100,144 @@ msgstr "" #~ msgid "Print actions" #~ msgstr "Print actions" -#: src/tables/InvenTreeTable.tsx:596 -#: src/tables/InvenTreeTable.tsx:597 +#: src/tables/InvenTreeTable.tsx:613 +#: src/tables/InvenTreeTable.tsx:614 msgid "Barcode actions" msgstr "Chức năng mã vạch" -#: src/tables/InvenTreeTable.tsx:625 +#: src/tables/InvenTreeTable.tsx:642 msgid "Refresh data" msgstr "Làm mới dữ liệu" -#: src/tables/InvenTreeTable.tsx:646 +#: src/tables/InvenTreeTable.tsx:663 msgid "Table filters" msgstr "Bộ lọc bảng" -#: src/tables/bom/BomTable.tsx:80 +#: src/tables/UploadAction.tsx:9 +msgid "Upload Data" +msgstr "" + +#: src/tables/bom/BomTable.tsx:83 msgid "This BOM item is defined for a different parent" msgstr "" -#: src/tables/bom/BomTable.tsx:95 +#: src/tables/bom/BomTable.tsx:98 msgid "Part Information" msgstr "" -#: src/tables/bom/BomTable.tsx:184 -#: src/tables/part/PartTable.tsx:124 +#: src/tables/bom/BomTable.tsx:187 +#: src/tables/part/PartTable.tsx:125 msgid "No stock" msgstr "" -#: src/tables/bom/BomTable.tsx:192 +#: src/tables/bom/BomTable.tsx:195 #: src/tables/build/BuildLineTable.tsx:104 -#: src/tables/part/PartTable.tsx:115 +#: src/tables/part/PartTable.tsx:116 msgid "External stock" msgstr "" -#: src/tables/bom/BomTable.tsx:200 +#: src/tables/bom/BomTable.tsx:203 #: src/tables/build/BuildLineTable.tsx:67 msgid "Includes substitute stock" msgstr "" -#: src/tables/bom/BomTable.tsx:209 +#: src/tables/bom/BomTable.tsx:212 #: src/tables/build/BuildLineTable.tsx:77 msgid "Includes variant stock" msgstr "" -#: src/tables/bom/BomTable.tsx:234 -#: src/tables/part/PartTable.tsx:143 +#: src/tables/bom/BomTable.tsx:237 +#: src/tables/part/PartTable.tsx:144 #: src/tables/stock/StockItemTable.tsx:205 msgid "Stock Information" msgstr "" -#: src/tables/bom/BomTable.tsx:246 +#: src/tables/bom/BomTable.tsx:249 #: src/tables/build/BuildLineTable.tsx:195 msgid "Consumable item" msgstr "" -#: src/tables/bom/BomTable.tsx:267 +#: src/tables/bom/BomTable.tsx:270 msgid "Show trackable items" msgstr "" -#: src/tables/bom/BomTable.tsx:272 +#: src/tables/bom/BomTable.tsx:275 msgid "Show asssmbled items" msgstr "" -#: src/tables/bom/BomTable.tsx:277 +#: src/tables/bom/BomTable.tsx:280 msgid "Show items with available stock" msgstr "" -#: src/tables/bom/BomTable.tsx:282 +#: src/tables/bom/BomTable.tsx:285 msgid "Show items on order" msgstr "" -#: src/tables/bom/BomTable.tsx:286 +#: src/tables/bom/BomTable.tsx:289 msgid "Validated" msgstr "" -#: src/tables/bom/BomTable.tsx:287 +#: src/tables/bom/BomTable.tsx:290 msgid "Show validated items" msgstr "" -#: src/tables/bom/BomTable.tsx:291 +#: src/tables/bom/BomTable.tsx:294 #: src/tables/bom/UsedInTable.tsx:63 msgid "Inherited" msgstr "" -#: src/tables/bom/BomTable.tsx:292 +#: src/tables/bom/BomTable.tsx:295 #: src/tables/bom/UsedInTable.tsx:64 msgid "Show inherited items" msgstr "" -#: src/tables/bom/BomTable.tsx:296 +#: src/tables/bom/BomTable.tsx:299 msgid "Allow Variants" msgstr "" -#: src/tables/bom/BomTable.tsx:297 +#: src/tables/bom/BomTable.tsx:300 msgid "Show items which allow variant substitution" msgstr "" #: src/tables/bom/BomTable.tsx:301 +#~ msgid "Create BOM Item" +#~ msgstr "Create BOM Item" + +#: src/tables/bom/BomTable.tsx:304 #: src/tables/bom/UsedInTable.tsx:68 #: src/tables/build/BuildLineTable.tsx:46 msgid "Optional" msgstr "" -#: src/tables/bom/BomTable.tsx:301 -#~ msgid "Create BOM Item" -#~ msgstr "Create BOM Item" - -#: src/tables/bom/BomTable.tsx:302 +#: src/tables/bom/BomTable.tsx:305 #: src/tables/bom/UsedInTable.tsx:69 msgid "Show optional items" msgstr "" -#: src/tables/bom/BomTable.tsx:306 +#: src/tables/bom/BomTable.tsx:309 #: src/tables/build/BuildLineTable.tsx:41 msgid "Consumable" msgstr "" -#: src/tables/bom/BomTable.tsx:307 +#: src/tables/bom/BomTable.tsx:310 msgid "Show consumable items" msgstr "" -#: src/tables/bom/BomTable.tsx:311 -#: src/tables/part/PartTable.tsx:250 +#: src/tables/bom/BomTable.tsx:314 +#: src/tables/part/PartTable.tsx:257 msgid "Has Pricing" msgstr "" -#: src/tables/bom/BomTable.tsx:312 +#: src/tables/bom/BomTable.tsx:315 msgid "Show items with pricing" msgstr "" -#: src/tables/bom/BomTable.tsx:321 -#: src/tables/bom/BomTable.tsx:420 +#: src/tables/bom/BomTable.tsx:324 +#: src/tables/bom/BomTable.tsx:426 msgid "Add BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:326 +#: src/tables/bom/BomTable.tsx:329 msgid "BOM item created" msgstr "" @@ -5097,23 +5245,23 @@ msgstr "" #~ msgid "Edit Bom Item" #~ msgstr "Edit Bom Item" -#: src/tables/bom/BomTable.tsx:333 -msgid "Edit BOM Item" -msgstr "" - #: src/tables/bom/BomTable.tsx:333 #~ msgid "Bom item updated" #~ msgstr "Bom item updated" -#: src/tables/bom/BomTable.tsx:335 +#: src/tables/bom/BomTable.tsx:336 +msgid "Edit BOM Item" +msgstr "" + +#: src/tables/bom/BomTable.tsx:338 msgid "BOM item updated" msgstr "" -#: src/tables/bom/BomTable.tsx:342 +#: src/tables/bom/BomTable.tsx:345 msgid "Delete BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:343 +#: src/tables/bom/BomTable.tsx:346 msgid "BOM item deleted" msgstr "" @@ -5133,32 +5281,41 @@ msgstr "" #~ msgid "Validate BOM line" #~ msgstr "Validate BOM line" -#: src/tables/bom/BomTable.tsx:355 +#: src/tables/bom/BomTable.tsx:358 msgid "BOM item validated" msgstr "" -#: src/tables/bom/BomTable.tsx:364 +#: src/tables/bom/BomTable.tsx:367 msgid "Failed to validate BOM item" msgstr "" -#: src/tables/bom/BomTable.tsx:376 +#: src/tables/bom/BomTable.tsx:379 msgid "View BOM" msgstr "" -#: src/tables/bom/BomTable.tsx:385 +#: src/tables/bom/BomTable.tsx:388 msgid "Validate BOM Line" msgstr "" -#: src/tables/bom/BomTable.tsx:399 +#: src/tables/bom/BomTable.tsx:405 msgid "Edit Substitutes" msgstr "" +#: src/tables/bom/BomTable.tsx:440 +#: src/tables/part/PartParameterTable.tsx:191 +msgid "Part is Locked" +msgstr "" + +#: src/tables/bom/BomTable.tsx:445 +msgid "Bill of materials cannot be edited, as the part is locked" +msgstr "" + #: src/tables/bom/UsedInTable.tsx:74 msgid "Show active assemblies" msgstr "" #: src/tables/bom/UsedInTable.tsx:78 -#: src/tables/part/PartTable.tsx:192 +#: src/tables/part/PartTable.tsx:199 #: src/tables/part/PartVariantTable.tsx:30 msgid "Trackable" msgstr "Có thể theo dõi" @@ -5168,7 +5325,7 @@ msgid "Show trackable assemblies" msgstr "" #: src/tables/build/BuildLineTable.tsx:31 -#: src/tables/stock/StockItemTable.tsx:270 +#: src/tables/stock/StockItemTable.tsx:292 msgid "Allocated" msgstr "" @@ -5189,7 +5346,7 @@ msgid "Show optional lines" msgstr "" #: src/tables/build/BuildLineTable.tsx:51 -#: src/tables/stock/StockItemTable.tsx:329 +#: src/tables/stock/StockItemTable.tsx:351 msgid "Tracked" msgstr "" @@ -5302,10 +5459,6 @@ msgstr "" msgid "Deallocate stock from build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:205 -msgid "Complete" -msgstr "" - #: src/tables/build/BuildOutputTable.tsx:206 msgid "Complete build output" msgstr "" @@ -5635,7 +5788,7 @@ msgid "Message" msgstr "Nội dụng tin nhắn" #: src/tables/part/ParametricPartTable.tsx:76 -#: src/tables/part/PartParameterTable.tsx:88 +#: src/tables/part/PartParameterTable.tsx:95 msgid "Internal Units" msgstr "" @@ -5648,13 +5801,13 @@ msgid "Add Part Parameter" msgstr "" #: src/tables/part/ParametricPartTable.tsx:138 -#: src/tables/part/PartParameterTable.tsx:121 -#: src/tables/part/PartParameterTable.tsx:144 +#: src/tables/part/PartParameterTable.tsx:128 +#: src/tables/part/PartParameterTable.tsx:151 msgid "Edit Part Parameter" msgstr "Sửa tham số phụ kiện" #: src/tables/part/PartCategoryTable.tsx:60 -#: src/tables/part/PartTable.tsx:180 +#: src/tables/part/PartTable.tsx:187 msgid "Include Subcategories" msgstr "Bao gồm danh mục con" @@ -5667,7 +5820,7 @@ msgid "Show structural categories" msgstr "" #: src/tables/part/PartCategoryTable.tsx:70 -#: src/tables/part/PartTable.tsx:262 +#: src/tables/part/PartTable.tsx:269 msgid "Subscribed" msgstr "" @@ -5704,21 +5857,25 @@ msgstr "" #~ msgid "[{0}]" #~ msgstr "[{0}]" -#: src/tables/part/PartParameterTable.tsx:105 +#: src/tables/part/PartParameterTable.tsx:112 msgid "New Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:130 -#: src/tables/part/PartParameterTable.tsx:152 +#: src/tables/part/PartParameterTable.tsx:137 +#: src/tables/part/PartParameterTable.tsx:159 msgid "Delete Part Parameter" msgstr "Xóa tham số phụ kiện" -#: src/tables/part/PartParameterTable.tsx:170 +#: src/tables/part/PartParameterTable.tsx:177 msgid "Add parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:191 -#: src/tables/stock/StockItemTable.tsx:300 +#: src/tables/part/PartParameterTable.tsx:196 +msgid "Part parameters cannot be edited, as the part is locked" +msgstr "" + +#: src/tables/part/PartParameterTable.tsx:210 +#: src/tables/stock/StockItemTable.tsx:322 msgid "Include Variants" msgstr "Bao gồm các biến thể" @@ -5739,7 +5896,7 @@ msgid "Show templates with choices" msgstr "" #: src/tables/part/PartParameterTemplateTable.tsx:41 -#: src/tables/part/PartTable.tsx:198 +#: src/tables/part/PartTable.tsx:205 msgid "Has Units" msgstr "Có đơn vị" @@ -5763,116 +5920,120 @@ msgstr "" msgid "Add parameter template" msgstr "Thêm mẫu tham số" -#: src/tables/part/PartTable.tsx:67 +#: src/tables/part/PartTable.tsx:68 msgid "Minimum stock" msgstr "Kho tối thiểu" -#: src/tables/part/PartTable.tsx:89 +#: src/tables/part/PartTable.tsx:90 msgid "Build Order Allocations" msgstr "Phân bổ đơn hàng bản dựng" -#: src/tables/part/PartTable.tsx:98 +#: src/tables/part/PartTable.tsx:99 msgid "Sales Order Allocations" msgstr "Phân bổ đơn hàng bán" -#: src/tables/part/PartTable.tsx:169 +#: src/tables/part/PartTable.tsx:170 msgid "Filter by part active status" msgstr "Lọc theo trạng thái mở phụ kiện" -#: src/tables/part/PartTable.tsx:174 -#: src/tables/stock/StockItemTable.tsx:265 +#: src/tables/part/PartTable.tsx:176 +msgid "Filter by part locked status" +msgstr "" + +#: src/tables/part/PartTable.tsx:181 +#: src/tables/stock/StockItemTable.tsx:287 msgid "Assembly" msgstr "Lắp ráp" -#: src/tables/part/PartTable.tsx:175 +#: src/tables/part/PartTable.tsx:182 msgid "Filter by assembly attribute" msgstr "Lọc theo thuộc tính lắp ráp" -#: src/tables/part/PartTable.tsx:181 +#: src/tables/part/PartTable.tsx:188 msgid "Include parts in subcategories" msgstr "Bao gồm phụ kiên trong danh mục con" -#: src/tables/part/PartTable.tsx:187 +#: src/tables/part/PartTable.tsx:194 msgid "Filter by component attribute" msgstr "Lọc theo thuộc tính thành phần" -#: src/tables/part/PartTable.tsx:193 +#: src/tables/part/PartTable.tsx:200 msgid "Filter by trackable attribute" msgstr "Lọc theo thuộc tính có thể theo dõi" -#: src/tables/part/PartTable.tsx:199 +#: src/tables/part/PartTable.tsx:206 msgid "Filter by parts which have units" msgstr "Lọc theo phụ kiện có chứa đơn vị" -#: src/tables/part/PartTable.tsx:204 +#: src/tables/part/PartTable.tsx:211 msgid "Has IPN" msgstr "Có IPN" -#: src/tables/part/PartTable.tsx:205 +#: src/tables/part/PartTable.tsx:212 msgid "Filter by parts which have an internal part number" msgstr "Lọc theo sản phẩm có số sản phẩm nội bộ" -#: src/tables/part/PartTable.tsx:210 +#: src/tables/part/PartTable.tsx:217 msgid "Has Stock" msgstr "Có kho" -#: src/tables/part/PartTable.tsx:211 +#: src/tables/part/PartTable.tsx:218 msgid "Filter by parts which have stock" msgstr "Lọc theo sản phẩm có trong kho" -#: src/tables/part/PartTable.tsx:217 +#: src/tables/part/PartTable.tsx:224 msgid "Filter by parts which have low stock" msgstr "Lọc theo sản phẩm có ít hàng" -#: src/tables/part/PartTable.tsx:222 +#: src/tables/part/PartTable.tsx:229 msgid "Purchaseable" msgstr "Có thể mua" -#: src/tables/part/PartTable.tsx:223 +#: src/tables/part/PartTable.tsx:230 msgid "Filter by parts which are purchaseable" msgstr "Lọc theo sản phẩm có thể mua" -#: src/tables/part/PartTable.tsx:228 +#: src/tables/part/PartTable.tsx:235 msgid "Salable" msgstr "Có thể bán" -#: src/tables/part/PartTable.tsx:229 +#: src/tables/part/PartTable.tsx:236 msgid "Filter by parts which are salable" msgstr "Lọc theo sản phẩm có thể bán" -#: src/tables/part/PartTable.tsx:235 +#: src/tables/part/PartTable.tsx:242 msgid "Filter by parts which are virtual" msgstr "Lọc theo sản phẩm ảo" -#: src/tables/part/PartTable.tsx:239 +#: src/tables/part/PartTable.tsx:246 msgid "Not Virtual" msgstr "Không ảo" -#: src/tables/part/PartTable.tsx:244 +#: src/tables/part/PartTable.tsx:251 msgid "Is Template" msgstr "" -#: src/tables/part/PartTable.tsx:245 +#: src/tables/part/PartTable.tsx:252 msgid "Filter by parts which are templates" msgstr "" -#: src/tables/part/PartTable.tsx:251 +#: src/tables/part/PartTable.tsx:258 msgid "Filter by parts which have pricing information" msgstr "" -#: src/tables/part/PartTable.tsx:257 +#: src/tables/part/PartTable.tsx:264 msgid "Filter by parts which have available stock" msgstr "" -#: src/tables/part/PartTable.tsx:263 +#: src/tables/part/PartTable.tsx:270 msgid "Filter by parts to which the user is subscribed" msgstr "" -#: src/tables/part/PartTable.tsx:268 +#: src/tables/part/PartTable.tsx:275 msgid "Has Stocktake" msgstr "" -#: src/tables/part/PartTable.tsx:269 +#: src/tables/part/PartTable.tsx:276 msgid "Filter by parts which have stocktake information" msgstr "" @@ -6211,7 +6372,7 @@ msgid "Sample" msgstr "Mẫu" #: src/tables/plugin/PluginListTable.tsx:578 -#: src/tables/stock/StockItemTable.tsx:305 +#: src/tables/stock/StockItemTable.tsx:327 msgid "Installed" msgstr "Đã cài đặt" @@ -6486,6 +6647,41 @@ msgstr "" msgid "Edit group" msgstr "" +#: src/tables/settings/ImportSessionTable.tsx:39 +msgid "Delete Import Session" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:45 +#: src/tables/settings/ImportSessionTable.tsx:132 +msgid "Create Import Session" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:70 +msgid "Uploaded" +msgstr "Uploaded" + +#: src/tables/settings/ImportSessionTable.tsx:80 +msgid "Imported Rows" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:110 +#: src/tables/settings/TemplateTable.tsx:276 +msgid "Model Type" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:111 +#: src/tables/settings/TemplateTable.tsx:277 +msgid "Filter by target model type" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:117 +msgid "Filter by import session status" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:123 +msgid "Filter by user" +msgstr "" + #: src/tables/settings/PendingTasksTable.tsx:36 msgid "Arguments" msgstr "" @@ -6502,7 +6698,7 @@ msgstr "" msgid "Delete Project Code" msgstr "" -#: src/tables/settings/ProjectCodeTable.tsx:94 +#: src/tables/settings/ProjectCodeTable.tsx:92 msgid "Add project code" msgstr "Thêm mã dự án" @@ -6571,14 +6767,6 @@ msgstr "" 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 "" @@ -6701,149 +6889,153 @@ msgstr "" msgid "This stock item has been depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:255 +#: src/tables/stock/StockItemTable.tsx:247 +msgid "Stock Value" +msgstr "" + +#: src/tables/stock/StockItemTable.tsx:277 msgid "Show stock for active parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:260 +#: src/tables/stock/StockItemTable.tsx:282 msgid "Filter by stock status" msgstr "" -#: src/tables/stock/StockItemTable.tsx:266 +#: src/tables/stock/StockItemTable.tsx:288 msgid "Show stock for assmebled parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:271 +#: src/tables/stock/StockItemTable.tsx:293 msgid "Show items which have been allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:276 +#: src/tables/stock/StockItemTable.tsx:298 msgid "Show items which are available" msgstr "" -#: src/tables/stock/StockItemTable.tsx:280 +#: src/tables/stock/StockItemTable.tsx:302 #: src/tables/stock/StockLocationTable.tsx:42 msgid "Include Sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:281 +#: src/tables/stock/StockItemTable.tsx:303 msgid "Include stock in sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:285 +#: src/tables/stock/StockItemTable.tsx:307 msgid "Depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:286 +#: src/tables/stock/StockItemTable.tsx:308 msgid "Show depleted stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:291 +#: src/tables/stock/StockItemTable.tsx:313 msgid "Show items which are in stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:296 +#: src/tables/stock/StockItemTable.tsx:318 msgid "Show items which are in production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:301 +#: src/tables/stock/StockItemTable.tsx:323 msgid "Include stock items for variant parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:306 +#: src/tables/stock/StockItemTable.tsx:328 msgid "Show stock items which are installed in other items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:310 +#: src/tables/stock/StockItemTable.tsx:332 msgid "Sent to Customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:311 +#: src/tables/stock/StockItemTable.tsx:333 msgid "Show items which have been sent to a customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:315 +#: src/tables/stock/StockItemTable.tsx:337 msgid "Is Serialized" msgstr "" -#: src/tables/stock/StockItemTable.tsx:316 +#: src/tables/stock/StockItemTable.tsx:338 msgid "Show items which have a serial number" msgstr "" -#: src/tables/stock/StockItemTable.tsx:323 +#: src/tables/stock/StockItemTable.tsx:345 msgid "Has Batch Code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:324 +#: src/tables/stock/StockItemTable.tsx:346 msgid "Show items which have a batch code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:330 +#: src/tables/stock/StockItemTable.tsx:352 msgid "Show tracked items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:334 +#: src/tables/stock/StockItemTable.tsx:356 msgid "Has Purchase Price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:335 +#: src/tables/stock/StockItemTable.tsx:357 msgid "Show items which have a purchase price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:343 +#: src/tables/stock/StockItemTable.tsx:365 msgid "External Location" msgstr "" -#: src/tables/stock/StockItemTable.tsx:344 +#: src/tables/stock/StockItemTable.tsx:366 msgid "Show items in an external location" msgstr "" -#: src/tables/stock/StockItemTable.tsx:416 +#: src/tables/stock/StockItemTable.tsx:438 msgid "Add a new stock item" msgstr "" -#: src/tables/stock/StockItemTable.tsx:425 +#: src/tables/stock/StockItemTable.tsx:447 msgid "Remove some quantity from a stock item" msgstr "" -#: src/tables/stock/StockItemTable.tsx:447 +#: src/tables/stock/StockItemTable.tsx:469 msgid "Move Stock items to new locations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:454 +#: src/tables/stock/StockItemTable.tsx:476 msgid "Change stock status" msgstr "" -#: src/tables/stock/StockItemTable.tsx:456 +#: src/tables/stock/StockItemTable.tsx:478 msgid "Change the status of stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:463 +#: src/tables/stock/StockItemTable.tsx:485 msgid "Merge stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:465 +#: src/tables/stock/StockItemTable.tsx:487 msgid "Merge stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:472 +#: src/tables/stock/StockItemTable.tsx:494 msgid "Order stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:474 -#: src/tables/stock/StockItemTable.tsx:480 +#: src/tables/stock/StockItemTable.tsx:496 +#: src/tables/stock/StockItemTable.tsx:502 msgid "Order new stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:478 +#: src/tables/stock/StockItemTable.tsx:500 msgid "Assign to customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:487 +#: src/tables/stock/StockItemTable.tsx:509 msgid "Delete stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:489 +#: src/tables/stock/StockItemTable.tsx:511 msgid "Delete stock items" msgstr "" @@ -6999,4 +7191,3 @@ msgstr "Đọc tài liệu" #: src/views/MobileAppView.tsx:35 msgid "Ignore and continue to Desktop view" msgstr "" - diff --git a/src/frontend/src/locales/zh-hans/messages.po b/src/frontend/src/locales/zh-hans/messages.po index 0a7f8b162af1..840259567614 100644 --- a/src/frontend/src/locales/zh-hans/messages.po +++ b/src/frontend/src/locales/zh-hans/messages.po @@ -44,16 +44,18 @@ msgstr "" #: src/components/buttons/PrintingActions.tsx:107 #: src/components/buttons/PrintingActions.tsx:144 #: src/components/editors/NotesEditor.tsx:65 -#: src/components/editors/NotesEditor.tsx:160 -#: src/components/forms/ApiForm.tsx:506 -#: src/components/forms/fields/ApiFormField.tsx:295 +#: src/components/editors/NotesEditor.tsx:165 +#: src/components/forms/ApiForm.tsx:513 +#: src/components/forms/fields/ApiFormField.tsx:306 +#: src/components/importer/ImportDataSelector.tsx:171 +#: src/components/importer/ImporterColumnSelector.tsx:112 #: src/components/modals/LicenseModal.tsx:75 #: src/components/nav/SearchDrawer.tsx:427 #: src/pages/ErrorPage.tsx:11 #: src/pages/part/PartPricingPanel.tsx:71 -#: src/tables/InvenTreeTable.tsx:451 -#: src/tables/InvenTreeTable.tsx:526 -#: src/tables/bom/BomTable.tsx:363 +#: src/tables/InvenTreeTable.tsx:470 +#: src/tables/InvenTreeTable.tsx:545 +#: src/tables/bom/BomTable.tsx:366 #: src/tables/stock/StockItemTestResultTable.tsx:294 msgid "Error" msgstr "" @@ -152,7 +154,7 @@ msgstr "" #: src/functions/forms.tsx:196 #: src/hooks/UseForm.tsx:40 #: src/tables/FilterSelectDrawer.tsx:204 -#: src/tables/InvenTreeTable.tsx:499 +#: src/tables/InvenTreeTable.tsx:518 #: src/tables/build/BuildOutputTable.tsx:225 msgid "Cancel" msgstr "" @@ -170,7 +172,7 @@ msgid "Clear" msgstr "" #: src/components/details/DetailsImage.tsx:227 -#: src/components/forms/ApiForm.tsx:573 +#: src/components/forms/ApiForm.tsx:580 #: src/contexts/ThemeContext.tsx:43 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:56 msgid "Submit" @@ -197,48 +199,61 @@ msgid "Delete image" msgstr "" #: src/components/details/PartIcons.tsx:28 +#: src/tables/ColumnRenderers.tsx:35 +msgid "Part is locked" +msgstr "" + +#: src/components/details/PartIcons.tsx:30 +#: src/pages/part/PartDetail.tsx:267 +#: src/pages/part/PartDetail.tsx:698 +#: src/tables/part/PartTable.tsx:175 +msgid "Locked" +msgstr "" + +#: src/components/details/PartIcons.tsx:35 +#: src/tables/ColumnRenderers.tsx:30 msgid "Part is not active" msgstr "" -#: src/components/details/PartIcons.tsx:34 +#: src/components/details/PartIcons.tsx:37 #: src/components/render/Plugin.tsx:17 #: src/pages/company/CompanyDetail.tsx:315 #: src/pages/company/SupplierPartDetail.tsx:307 -#: src/pages/part/PartDetail.tsx:685 +#: src/pages/part/PartDetail.tsx:704 msgid "Inactive" msgstr "" -#: src/components/details/PartIcons.tsx:41 +#: src/components/details/PartIcons.tsx:43 msgid "Part is a template part (variants can be made from this part)" msgstr "" -#: src/components/details/PartIcons.tsx:47 +#: src/components/details/PartIcons.tsx:49 msgid "Part can be assembled from other parts" msgstr "" -#: src/components/details/PartIcons.tsx:53 +#: src/components/details/PartIcons.tsx:55 msgid "Part can be used in assemblies" msgstr "" -#: src/components/details/PartIcons.tsx:59 +#: src/components/details/PartIcons.tsx:61 msgid "Part stock is tracked by serial number" msgstr "" -#: src/components/details/PartIcons.tsx:65 +#: src/components/details/PartIcons.tsx:67 msgid "Part can be purchased from external suppliers" msgstr "" -#: src/components/details/PartIcons.tsx:71 +#: src/components/details/PartIcons.tsx:73 msgid "Part can be sold to customers" msgstr "" -#: src/components/details/PartIcons.tsx:76 +#: src/components/details/PartIcons.tsx:78 msgid "Part is virtual (not a physical part)" msgstr "" -#: src/components/details/PartIcons.tsx:82 -#: src/tables/part/PartTable.tsx:234 -#: src/tables/part/PartTable.tsx:238 +#: src/components/details/PartIcons.tsx:84 +#: src/tables/part/PartTable.tsx:241 +#: src/tables/part/PartTable.tsx:245 #: src/tables/part/PartVariantTable.tsx:25 msgid "Virtual" msgstr "" @@ -247,29 +262,29 @@ msgstr "" msgid "Image upload failed" msgstr "" -#: src/components/editors/NotesEditor.tsx:151 -#: src/components/forms/ApiForm.tsx:430 -#: src/tables/bom/BomTable.tsx:354 +#: src/components/editors/NotesEditor.tsx:156 +#: src/components/forms/ApiForm.tsx:437 +#: src/tables/bom/BomTable.tsx:357 msgid "Success" msgstr "" -#: src/components/editors/NotesEditor.tsx:152 +#: src/components/editors/NotesEditor.tsx:157 msgid "Notes saved successfully" msgstr "" -#: src/components/editors/NotesEditor.tsx:161 +#: src/components/editors/NotesEditor.tsx:166 msgid "Failed to save notes" msgstr "" -#: src/components/editors/NotesEditor.tsx:193 +#: src/components/editors/NotesEditor.tsx:198 msgid "Preview Notes" msgstr "" -#: src/components/editors/NotesEditor.tsx:193 +#: src/components/editors/NotesEditor.tsx:198 msgid "Edit Notes" msgstr "" -#: src/components/editors/NotesEditor.tsx:207 +#: src/components/editors/NotesEditor.tsx:212 msgid "Save Notes" msgstr "" @@ -402,7 +417,7 @@ msgstr "" msgid "A server error occurred" msgstr "" -#: src/components/forms/ApiForm.tsx:149 +#: src/components/forms/ApiForm.tsx:151 #: src/functions/forms.tsx:259 msgid "Form Error" msgstr "" @@ -411,18 +426,18 @@ msgstr "" #~ msgid "Form Errors Exist" #~ msgstr "" -#: src/components/forms/ApiForm.tsx:611 +#: src/components/forms/ApiForm.tsx:618 #: src/tables/plugin/PluginListTable.tsx:388 msgid "Update" msgstr "" -#: src/components/forms/ApiForm.tsx:631 +#: src/components/forms/ApiForm.tsx:638 #: 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:498 +#: src/tables/InvenTreeTable.tsx:517 #: src/tables/RowActions.tsx:71 #: src/tables/plugin/PluginListTable.tsx:420 msgid "Delete" @@ -576,7 +591,7 @@ msgstr "" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:70 #: src/pages/part/CategoryDetail.tsx:80 -#: src/pages/part/PartDetail.tsx:122 +#: src/pages/part/PartDetail.tsx:123 #: src/pages/stock/LocationDetail.tsx:87 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 @@ -661,6 +676,124 @@ msgstr "" msgid "Thumbnail" msgstr "" +#: src/components/importer/ImportDataSelector.tsx:154 +msgid "Importing Rows" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:155 +msgid "Please wait while the data is imported" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:172 +msgid "An error occurred while importing data" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:191 +msgid "Edit Data" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:218 +msgid "Delete Row" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:248 +msgid "Row" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:266 +msgid "Row contains errors" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:307 +msgid "Accept" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:340 +msgid "Valid" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:341 +msgid "Filter by row validation status" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:346 +#: src/tables/build/BuildOutputTable.tsx:205 +msgid "Complete" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:347 +msgid "Filter by row completion status" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:364 +msgid "Import selected rows" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:46 +#: src/components/importer/ImporterColumnSelector.tsx:85 +msgid "An error occurred" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:57 +msgid "Select column, or leave blank to ignore this field." +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:91 +msgid "Select a column from the data file" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:104 +msgid "Map data columns to database fields" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:109 +msgid "Accept Column Mapping" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:117 +msgid "Database Field" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:118 +msgid "Field Description" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:119 +msgid "Imported Column Name" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:44 +msgid "Import Data" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:45 +msgid "Map Columns" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:46 +msgid "Process Data" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:47 +msgid "Complete Import" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:91 +msgid "Importing Data" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:97 +msgid "Cancel import session" +msgstr "" + +#: src/components/importer/ImporterImportProgress.tsx:36 +msgid "Importing Records" +msgstr "" + +#: src/components/importer/ImporterImportProgress.tsx:39 +msgid "Imported rows" +msgstr "" + #: src/components/items/ActionDropdown.tsx:119 #: src/pages/build/BuildDetail.tsx:358 msgid "Barcode Actions" @@ -714,7 +847,7 @@ msgid "Read More" msgstr "" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:443 +#: src/tables/InvenTreeTable.tsx:462 msgid "Unknown error" msgstr "" @@ -1015,13 +1148,13 @@ msgstr "" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:313 +#: src/pages/Index/Settings/SystemSettings.tsx:314 msgid "System Settings" msgstr "" #: src/components/nav/MainMenu.tsx:67 #: src/defaults/menuItems.tsx:63 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:198 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:209 msgid "Admin Center" msgstr "" @@ -1056,7 +1189,7 @@ msgid "Pages" msgstr "" #: src/components/nav/NavigationDrawer.tsx:65 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:157 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:168 #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:41 msgid "Plugins" msgstr "" @@ -1070,7 +1203,7 @@ msgstr "" msgid "About" msgstr "" -#: src/components/nav/NotificationDrawer.tsx:78 +#: src/components/nav/NotificationDrawer.tsx:81 #: src/pages/Index/Settings/SystemSettings.tsx:108 #: src/pages/Index/Settings/UserSettings.tsx:96 #: src/pages/Notifications.tsx:65 @@ -1078,17 +1211,17 @@ msgstr "" msgid "Notifications" msgstr "" -#: src/components/nav/NotificationDrawer.tsx:95 +#: src/components/nav/NotificationDrawer.tsx:98 msgid "You have no unread notifications." msgstr "" -#: src/components/nav/NotificationDrawer.tsx:111 -#: src/components/nav/NotificationDrawer.tsx:117 +#: src/components/nav/NotificationDrawer.tsx:114 +#: src/components/nav/NotificationDrawer.tsx:120 #: src/tables/notifications/NotificationsTable.tsx:36 msgid "Notification" msgstr "" -#: src/components/nav/NotificationDrawer.tsx:140 +#: src/components/nav/NotificationDrawer.tsx:143 #: src/pages/Notifications.tsx:73 msgid "Mark as read" msgstr "" @@ -1125,7 +1258,7 @@ msgstr "" msgid "No results available for search query" msgstr "" -#: src/components/render/Instance.tsx:166 +#: src/components/render/Instance.tsx:201 msgid "Unknown model: {model}" msgstr "" @@ -1140,7 +1273,8 @@ msgstr "" #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 #: src/pages/build/BuildDetail.tsx:85 -#: src/pages/part/PartDetail.tsx:831 +#: src/pages/part/PartDetail.tsx:872 +#: src/tables/part/PartTable.tsx:28 #: src/tables/part/RelatedPartTable.tsx:45 #: src/tables/stock/StockTrackingTable.tsx:74 msgid "Part" @@ -1153,7 +1287,7 @@ msgstr "" #: src/pages/part/CategoryDetail.tsx:112 #: src/pages/part/CategoryDetail.tsx:237 #: src/pages/part/CategoryDetail.tsx:267 -#: src/pages/part/PartDetail.tsx:639 +#: src/pages/part/PartDetail.tsx:652 msgid "Parts" msgstr "" @@ -1203,7 +1337,7 @@ msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:172 #: src/pages/part/CategoryDetail.tsx:251 #: src/pages/part/CategoryDetail.tsx:288 -#: src/pages/part/PartDetail.tsx:821 +#: src/pages/part/PartDetail.tsx:862 msgid "Part Categories" msgstr "" @@ -1285,7 +1419,7 @@ msgid "Project Code" msgstr "" #: src/components/render/ModelType.tsx:127 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:109 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:120 msgid "Project Codes" msgstr "" @@ -1297,10 +1431,10 @@ msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:134 -#: src/pages/Index/Settings/SystemSettings.tsx:257 +#: src/pages/Index/Settings/SystemSettings.tsx:258 #: src/pages/company/CompanyDetail.tsx:194 #: src/pages/company/SupplierPartDetail.tsx:226 -#: src/pages/part/PartDetail.tsx:573 +#: src/pages/part/PartDetail.tsx:586 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "" @@ -1322,9 +1456,9 @@ msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:272 +#: src/pages/Index/Settings/SystemSettings.tsx:273 #: src/pages/company/CompanyDetail.tsx:214 -#: src/pages/part/PartDetail.tsx:580 +#: src/pages/part/PartDetail.tsx:593 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" @@ -1344,7 +1478,7 @@ msgid "Return Order" msgstr "" #: src/components/render/ModelType.tsx:164 -#: src/pages/Index/Settings/SystemSettings.tsx:288 +#: src/pages/Index/Settings/SystemSettings.tsx:289 #: src/pages/company/CompanyDetail.tsx:221 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1381,40 +1515,49 @@ msgid "Owners" msgstr "" #: src/components/render/ModelType.tsx:193 +#: src/tables/settings/ImportSessionTable.tsx:122 #: src/tables/stock/StockItemTestResultTable.tsx:193 #: src/tables/stock/StockTrackingTable.tsx:195 msgid "User" msgstr "" #: src/components/render/ModelType.tsx:194 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:85 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:90 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" msgstr "" #: src/components/render/ModelType.tsx:200 -msgid "Label Template" +msgid "Import Session" msgstr "" #: src/components/render/ModelType.tsx:201 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:139 -msgid "Label Templates" +msgid "Import Sessions" msgstr "" #: src/components/render/ModelType.tsx:207 -msgid "Report Template" +msgid "Label Template" msgstr "" #: src/components/render/ModelType.tsx:208 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:145 -msgid "Report Templates" +#: src/pages/Index/Settings/AdminCenter/Index.tsx:150 +msgid "Label Templates" msgstr "" #: src/components/render/ModelType.tsx:214 -msgid "Plugin Configuration" +msgid "Report Template" msgstr "" #: src/components/render/ModelType.tsx:215 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:156 +msgid "Report Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:221 +msgid "Plugin Configuration" +msgstr "" + +#: src/components/render/ModelType.tsx:222 msgid "Plugin Configurations" msgstr "" @@ -1426,7 +1569,7 @@ msgstr "" #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 #: src/pages/Index/Settings/SystemSettings.tsx:210 -#: src/pages/part/PartDetail.tsx:492 +#: src/pages/part/PartDetail.tsx:503 #: src/pages/stock/LocationDetail.tsx:347 #: src/pages/stock/StockDetail.tsx:356 #: src/tables/stock/StockItemTable.tsx:57 @@ -1609,10 +1752,6 @@ msgstr "" #~ msgid "Comment" #~ msgstr "" -#: src/components/tables/general/AttachmentTable.tsx:56 -#~ msgid "Uploaded" -#~ msgstr "" - #: src/components/tables/part/PartCategoryTable.tsx:122 #~ msgid "Part category updated" #~ msgstr "" @@ -2121,7 +2260,7 @@ msgid "Recently Updated" msgstr "" #: src/defaults/dashboardItems.tsx:50 -#: src/tables/part/PartTable.tsx:216 +#: src/tables/part/PartTable.tsx:223 msgid "Low Stock" msgstr "" @@ -2358,7 +2497,7 @@ msgstr "" #~ msgid "Company updated" #~ msgstr "" -#: src/forms/PartForms.tsx:100 +#: src/forms/PartForms.tsx:103 msgid "Parent part category" msgstr "" @@ -2426,7 +2565,7 @@ msgstr "" #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 #: src/pages/stock/StockDetail.tsx:173 -#: src/tables/ColumnRenderers.tsx:34 +#: src/tables/ColumnRenderers.tsx:49 #: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" msgstr "" @@ -2477,8 +2616,8 @@ msgstr "" #: src/forms/StockForms.tsx:176 #: src/pages/stock/StockDetail.tsx:379 -#: src/tables/stock/StockItemTable.tsx:382 -#: src/tables/stock/StockItemTable.tsx:499 +#: src/tables/stock/StockItemTable.tsx:404 +#: src/tables/stock/StockItemTable.tsx:521 msgid "Add Stock Item" msgstr "" @@ -2498,9 +2637,9 @@ msgstr "" #: src/forms/StockForms.tsx:606 #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 -#: src/pages/part/PartDetail.tsx:202 -#: src/pages/part/PartDetail.tsx:655 -#: src/tables/stock/StockItemTable.tsx:290 +#: src/pages/part/PartDetail.tsx:203 +#: src/pages/part/PartDetail.tsx:668 +#: src/tables/stock/StockItemTable.tsx:312 msgid "In Stock" msgstr "" @@ -2541,12 +2680,12 @@ msgid "Remove Stock" msgstr "" #: src/forms/StockForms.tsx:803 -#: src/pages/part/PartDetail.tsx:782 +#: src/pages/part/PartDetail.tsx:823 msgid "Transfer Stock" msgstr "" #: src/forms/StockForms.tsx:812 -#: src/pages/part/PartDetail.tsx:771 +#: src/pages/part/PartDetail.tsx:812 msgid "Count Stock" msgstr "" @@ -3039,53 +3178,57 @@ msgstr "" #~ msgid "Advanced Amininistrative Options for InvenTree" #~ msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:91 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:96 +msgid "Data Import" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:102 msgid "Background Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:97 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:108 msgid "Error Reports" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:103 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:114 msgid "Currencies" 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:132 msgid "Custom Units" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:138 #: src/pages/part/CategoryDetail.tsx:257 msgid "Part Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 -#~ msgid "Templates" -#~ msgstr "" - -#: src/pages/Index/Settings/AdminCenter/Index.tsx:133 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:144 msgid "Category Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:151 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:162 msgid "Location types" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:163 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:174 #: src/tables/machine/MachineTypeTable.tsx:287 msgid "Machines" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:173 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:184 msgid "Quick Actions" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:178 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:189 msgid "Add a new user" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:199 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:210 msgid "Advanced Options" msgstr "" @@ -3237,7 +3380,7 @@ msgid "Reporting" msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:235 -#: src/pages/part/PartDetail.tsx:593 +#: src/pages/part/PartDetail.tsx:606 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" @@ -3245,12 +3388,12 @@ msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:241 #: src/pages/build/BuildDetail.tsx:423 #: src/pages/build/BuildIndex.tsx:14 -#: src/pages/part/PartDetail.tsx:527 +#: src/pages/part/PartDetail.tsx:540 #: src/pages/sales/SalesOrderDetail.tsx:270 msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:316 +#: src/pages/Index/Settings/SystemSettings.tsx:317 msgid "Switch to User Setting" msgstr "" @@ -3311,7 +3454,8 @@ msgstr "" #: 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/settings/ImportSessionTable.tsx:116 +#: src/tables/stock/StockItemTable.tsx:281 #: src/tables/stock/StockTrackingTable.tsx:52 msgid "Status" msgstr "" @@ -3320,7 +3464,7 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:104 #: src/pages/sales/ReturnOrderDetail.tsx:73 #: src/pages/sales/SalesOrderDetail.tsx:77 -#: src/tables/ColumnRenderers.tsx:106 +#: src/tables/ColumnRenderers.tsx:121 #: src/tables/build/BuildLineTable.tsx:140 msgid "Reference" msgstr "" @@ -3330,12 +3474,12 @@ msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:78 #: src/pages/company/SupplierPartDetail.tsx:85 #: src/pages/part/CategoryDetail.tsx:94 -#: src/pages/part/PartDetail.tsx:129 +#: src/pages/part/PartDetail.tsx:130 #: src/pages/purchasing/PurchaseOrderDetail.tsx:125 #: src/pages/sales/ReturnOrderDetail.tsx:93 #: src/pages/sales/SalesOrderDetail.tsx:97 #: src/pages/stock/LocationDetail.tsx:101 -#: src/tables/ColumnRenderers.tsx:66 +#: src/tables/ColumnRenderers.tsx:81 #: src/tables/machine/MachineTypeTable.tsx:69 #: src/tables/machine/MachineTypeTable.tsx:112 #: src/tables/machine/MachineTypeTable.tsx:219 @@ -3366,7 +3510,7 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:152 -#: src/pages/part/PartDetail.tsx:317 +#: src/pages/part/PartDetail.tsx:323 #: src/pages/purchasing/PurchaseOrderDetail.tsx:217 #: src/pages/sales/ReturnOrderDetail.tsx:186 #: src/pages/sales/SalesOrderDetail.tsx:190 @@ -3386,7 +3530,7 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:210 #: src/pages/sales/ReturnOrderDetail.tsx:179 #: src/pages/sales/SalesOrderDetail.tsx:183 -#: src/tables/ColumnRenderers.tsx:191 +#: src/tables/ColumnRenderers.tsx:206 msgid "Target Date" msgstr "" @@ -3467,7 +3611,7 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:297 #: src/pages/company/CompanyDetail.tsx:257 #: src/pages/company/ManufacturerPartDetail.tsx:174 -#: src/pages/part/PartDetail.tsx:616 +#: src/pages/part/PartDetail.tsx:629 #: src/pages/purchasing/PurchaseOrderDetail.tsx:279 #: src/pages/sales/ReturnOrderDetail.tsx:230 #: src/pages/sales/SalesOrderDetail.tsx:280 @@ -3477,7 +3621,7 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:305 #: src/pages/company/CompanyDetail.tsx:268 -#: src/pages/part/PartDetail.tsx:624 +#: src/pages/part/PartDetail.tsx:637 #: src/pages/purchasing/PurchaseOrderDetail.tsx:290 #: src/pages/sales/ReturnOrderDetail.tsx:241 #: src/pages/sales/SalesOrderDetail.tsx:291 @@ -3633,12 +3777,12 @@ msgid "Manufacturer Part Details" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:148 -#: src/pages/part/PartDetail.tsx:486 +#: src/pages/part/PartDetail.tsx:492 msgid "Parameters" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:160 -#: src/pages/part/PartDetail.tsx:560 +#: src/pages/part/PartDetail.tsx:573 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" msgstr "" @@ -3663,7 +3807,7 @@ msgid "ManufacturerPart" msgstr "" #: src/pages/company/SupplierPartDetail.tsx:99 -#: src/tables/ColumnRenderers.tsx:117 +#: src/tables/ColumnRenderers.tsx:132 msgid "Note" msgstr "" @@ -3799,275 +3943,275 @@ msgstr "" msgid "Category Details" msgstr "" -#: src/pages/part/PartDetail.tsx:135 +#: src/pages/part/PartDetail.tsx:136 msgid "Variant of" msgstr "" -#: src/pages/part/PartDetail.tsx:142 +#: src/pages/part/PartDetail.tsx:143 #: src/tables/notifications/NotificationsTable.tsx:31 #: src/tables/part/PartCategoryTemplateTable.tsx:67 msgid "Category" msgstr "" -#: src/pages/part/PartDetail.tsx:148 +#: src/pages/part/PartDetail.tsx:149 msgid "Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:155 +#: src/pages/part/PartDetail.tsx:156 msgid "Category Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:162 +#: src/pages/part/PartDetail.tsx:163 msgid "IPN" msgstr "" -#: src/pages/part/PartDetail.tsx:169 +#: src/pages/part/PartDetail.tsx:170 msgid "Revision" msgstr "" -#: src/pages/part/PartDetail.tsx:176 +#: src/pages/part/PartDetail.tsx:177 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" msgstr "" -#: src/pages/part/PartDetail.tsx:183 +#: src/pages/part/PartDetail.tsx:184 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:190 +#: src/pages/part/PartDetail.tsx:191 #: src/pages/purchasing/PurchaseOrderDetail.tsx:183 #: src/pages/sales/ReturnOrderDetail.tsx:152 #: src/pages/sales/SalesOrderDetail.tsx:156 msgid "Link" msgstr "" -#: src/pages/part/PartDetail.tsx:208 -#: src/tables/bom/BomTable.tsx:276 +#: src/pages/part/PartDetail.tsx:209 +#: src/tables/bom/BomTable.tsx:279 #: src/tables/build/BuildLineTable.tsx:121 -#: src/tables/part/PartTable.tsx:256 +#: src/tables/part/PartTable.tsx:263 msgid "Available Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:215 +#: src/pages/part/PartDetail.tsx:216 msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:221 -#: src/tables/bom/BomTable.tsx:217 +#: src/pages/part/PartDetail.tsx:222 +#: src/tables/bom/BomTable.tsx:220 #: src/tables/build/BuildLineTable.tsx:95 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:230 +#: src/pages/part/PartDetail.tsx:231 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:238 +#: src/pages/part/PartDetail.tsx:239 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:245 -#: src/tables/bom/BomTable.tsx:241 +#: src/pages/part/PartDetail.tsx:246 +#: src/tables/bom/BomTable.tsx:244 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:252 -#: src/tables/bom/BomTable.tsx:225 -#: src/tables/part/PartTable.tsx:82 +#: src/pages/part/PartDetail.tsx:253 +#: src/tables/bom/BomTable.tsx:228 +#: src/tables/part/PartTable.tsx:83 msgid "Building" msgstr "" -#: src/pages/part/PartDetail.tsx:261 +#: src/pages/part/PartDetail.tsx:262 #: src/tables/bom/UsedInTable.tsx:73 #: src/tables/build/BuildOrderTable.tsx:108 #: src/tables/company/CompanyTable.tsx:61 #: src/tables/company/CompanyTable.tsx:95 #: src/tables/machine/MachineListTable.tsx:323 #: src/tables/machine/MachineListTable.tsx:585 -#: src/tables/part/PartTable.tsx:168 +#: src/tables/part/PartTable.tsx:169 #: src/tables/part/PartVariantTable.tsx:15 #: 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 +#: src/tables/stock/StockItemTable.tsx:276 msgid "Active" msgstr "" -#: src/pages/part/PartDetail.tsx:266 +#: src/pages/part/PartDetail.tsx:272 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:271 -#: src/tables/bom/BomTable.tsx:271 +#: src/pages/part/PartDetail.tsx:277 +#: src/tables/bom/BomTable.tsx:274 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:276 +#: src/pages/part/PartDetail.tsx:282 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:281 -#: src/tables/bom/BomTable.tsx:266 +#: src/pages/part/PartDetail.tsx:287 +#: src/tables/bom/BomTable.tsx:269 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:286 +#: src/pages/part/PartDetail.tsx:292 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:291 +#: src/pages/part/PartDetail.tsx:297 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:296 +#: src/pages/part/PartDetail.tsx:302 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:304 -#: src/tables/ColumnRenderers.tsx:199 +#: src/pages/part/PartDetail.tsx:310 +#: src/tables/ColumnRenderers.tsx:214 msgid "Creation Date" msgstr "" -#: src/pages/part/PartDetail.tsx:309 -msgid "Created By" -msgstr "" - #: src/pages/part/PartDetail.tsx:310 #~ msgid "Edit part" #~ msgstr "" +#: src/pages/part/PartDetail.tsx:315 +msgid "Created By" +msgstr "" + #: src/pages/part/PartDetail.tsx:322 #~ msgid "Duplicate part" #~ msgstr "" -#: src/pages/part/PartDetail.tsx:324 -msgid "Default Supplier" -msgstr "" - #: src/pages/part/PartDetail.tsx:327 #~ msgid "Delete part" #~ msgstr "" -#: src/pages/part/PartDetail.tsx:335 +#: src/pages/part/PartDetail.tsx:330 +msgid "Default Supplier" +msgstr "" + +#: src/pages/part/PartDetail.tsx:341 #: src/pages/part/pricing/BomPricingPanel.tsx:78 #: src/pages/part/pricing/VariantPricingPanel.tsx:95 -#: src/tables/part/PartTable.tsx:151 +#: src/tables/part/PartTable.tsx:152 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:374 +#: src/pages/part/PartDetail.tsx:380 #: src/pages/stock/StockDetail.tsx:133 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:409 +#: src/pages/part/PartDetail.tsx:415 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:480 +#: src/pages/part/PartDetail.tsx:486 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:506 +#: src/pages/part/PartDetail.tsx:517 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:513 +#: src/pages/part/PartDetail.tsx:524 #: src/pages/stock/StockDetail.tsx:286 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:520 +#: src/pages/part/PartDetail.tsx:531 msgid "Bill of Materials" msgstr "" -#: src/pages/part/PartDetail.tsx:534 +#: src/pages/part/PartDetail.tsx:547 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:541 +#: src/pages/part/PartDetail.tsx:554 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:547 +#: src/pages/part/PartDetail.tsx:560 #: src/pages/purchasing/PurchasingIndex.tsx:37 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:587 +#: src/pages/part/PartDetail.tsx:600 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:599 +#: src/pages/part/PartDetail.tsx:612 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:610 +#: src/pages/part/PartDetail.tsx:623 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:661 +#: src/pages/part/PartDetail.tsx:674 #: src/pages/stock/StockDetail.tsx:154 #: src/pages/stock/StockDetail.tsx:533 #: src/tables/build/BuildLineTable.tsx:36 -#: src/tables/part/PartTable.tsx:107 +#: src/tables/part/PartTable.tsx:108 #: src/tables/stock/StockItemTable.tsx:166 -#: src/tables/stock/StockItemTable.tsx:275 +#: src/tables/stock/StockItemTable.tsx:297 msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:667 +#: src/pages/part/PartDetail.tsx:680 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:673 -#: src/tables/bom/BomTable.tsx:281 -#: src/tables/part/PartTable.tsx:76 +#: src/pages/part/PartDetail.tsx:686 +#: src/tables/bom/BomTable.tsx:284 +#: src/tables/part/PartTable.tsx:77 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:679 +#: src/pages/part/PartDetail.tsx:692 #: src/pages/stock/StockDetail.tsx:516 -#: src/tables/stock/StockItemTable.tsx:295 +#: src/tables/stock/StockItemTable.tsx:317 msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:698 +#: src/pages/part/PartDetail.tsx:717 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:705 -#: src/tables/part/PartTable.tsx:289 -#: src/tables/part/PartTable.tsx:302 +#: src/pages/part/PartDetail.tsx:744 +#: src/tables/part/PartTable.tsx:296 +#: src/tables/part/PartTable.tsx:309 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:717 +#: src/pages/part/PartDetail.tsx:758 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:726 +#: src/pages/part/PartDetail.tsx:767 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:764 +#: src/pages/part/PartDetail.tsx:805 #: src/pages/stock/LocationDetail.tsx:304 -#: src/tables/stock/StockItemTable.tsx:409 +#: src/tables/stock/StockItemTable.tsx:431 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:772 +#: src/pages/part/PartDetail.tsx:813 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:824 msgid "Transfer part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:792 +#: src/pages/part/PartDetail.tsx:833 msgid "Part Actions" msgstr "" @@ -4111,8 +4255,8 @@ msgstr "" #: src/pages/part/pricing/BomPricingPanel.tsx:57 #: src/pages/part/pricing/BomPricingPanel.tsx:137 -#: src/tables/ColumnRenderers.tsx:241 -#: src/tables/bom/BomTable.tsx:165 +#: src/tables/ColumnRenderers.tsx:256 +#: src/tables/bom/BomTable.tsx:168 #: src/tables/purchasing/PurchaseOrderTable.tsx:112 #: src/tables/sales/ReturnOrderTable.tsx:104 #: src/tables/sales/SalesOrderTable.tsx:134 @@ -4121,7 +4265,7 @@ msgstr "" #: src/pages/part/pricing/BomPricingPanel.tsx:77 #: src/pages/part/pricing/BomPricingPanel.tsx:101 -#: src/tables/part/PartTable.tsx:186 +#: src/tables/part/PartTable.tsx:193 msgid "Component" msgstr "" @@ -4150,7 +4294,7 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:67 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:128 #: src/pages/part/pricing/SupplierPricingPanel.tsx:62 -#: src/tables/bom/BomTable.tsx:156 +#: src/tables/bom/BomTable.tsx:159 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 msgid "Unit Price" @@ -4250,7 +4394,7 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:40 #: src/pages/part/pricing/SaleHistoryPanel.tsx:36 -#: src/tables/ColumnRenderers.tsx:180 +#: src/tables/ColumnRenderers.tsx:195 #: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" @@ -4523,12 +4667,12 @@ msgid "Count stock" msgstr "" #: src/pages/stock/StockDetail.tsx:459 -#: src/tables/stock/StockItemTable.tsx:414 +#: src/tables/stock/StockItemTable.tsx:436 msgid "Add stock" msgstr "" #: src/pages/stock/StockDetail.tsx:467 -#: src/tables/stock/StockItemTable.tsx:423 +#: src/tables/stock/StockItemTable.tsx:445 msgid "Remove stock" msgstr "" @@ -4537,7 +4681,7 @@ msgid "Transfer" msgstr "" #: src/pages/stock/StockDetail.tsx:475 -#: src/tables/stock/StockItemTable.tsx:443 +#: src/tables/stock/StockItemTable.tsx:465 msgid "Transfer stock" msgstr "" @@ -4545,15 +4689,15 @@ msgstr "" msgid "Stock Item Actions" msgstr "" -#: src/tables/ColumnRenderers.tsx:42 +#: src/tables/ColumnRenderers.tsx:57 msgid "No location set" msgstr "" -#: src/tables/ColumnRenderers.tsx:207 +#: src/tables/ColumnRenderers.tsx:222 msgid "Shipment Date" msgstr "" -#: src/tables/ColumnRenderers.tsx:227 +#: src/tables/ColumnRenderers.tsx:242 #: src/tables/settings/CurrencyTable.tsx:23 msgid "Currency" msgstr "" @@ -4580,14 +4724,14 @@ msgid "TSV" msgstr "" #: src/tables/DownloadAction.tsx:24 -msgid "Excel (.xls)" -msgstr "" - -#: src/tables/DownloadAction.tsx:25 msgid "Excel (.xlsx)" msgstr "" -#: src/tables/DownloadAction.tsx:39 +#: src/tables/DownloadAction.tsx:24 +#~ msgid "Excel (.xls)" +#~ msgstr "" + +#: src/tables/DownloadAction.tsx:38 msgid "Download Data" msgstr "" @@ -4652,54 +4796,54 @@ msgstr "" msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:119 -#: src/tables/InvenTreeTable.tsx:390 -#: src/tables/InvenTreeTable.tsx:411 +#: src/tables/InvenTreeTable.tsx:126 +#: src/tables/InvenTreeTable.tsx:409 +#: src/tables/InvenTreeTable.tsx:430 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:422 +#: src/tables/InvenTreeTable.tsx:441 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:430 +#: src/tables/InvenTreeTable.tsx:449 msgid "Bad request" msgstr "" -#: src/tables/InvenTreeTable.tsx:433 +#: src/tables/InvenTreeTable.tsx:452 msgid "Unauthorized" msgstr "" -#: src/tables/InvenTreeTable.tsx:436 +#: src/tables/InvenTreeTable.tsx:455 msgid "Forbidden" msgstr "" -#: src/tables/InvenTreeTable.tsx:439 +#: src/tables/InvenTreeTable.tsx:458 msgid "Not found" msgstr "" -#: src/tables/InvenTreeTable.tsx:488 -#: src/tables/InvenTreeTable.tsx:606 +#: src/tables/InvenTreeTable.tsx:507 +#: src/tables/InvenTreeTable.tsx:623 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:492 +#: src/tables/InvenTreeTable.tsx:511 msgid "Are you sure you want to delete the selected records?" msgstr "" -#: src/tables/InvenTreeTable.tsx:494 +#: src/tables/InvenTreeTable.tsx:513 msgid "This action cannot be undone!" msgstr "" -#: src/tables/InvenTreeTable.tsx:517 +#: src/tables/InvenTreeTable.tsx:536 msgid "Deleted records" msgstr "" -#: src/tables/InvenTreeTable.tsx:518 +#: src/tables/InvenTreeTable.tsx:537 msgid "Records were deleted successfully" msgstr "" -#: src/tables/InvenTreeTable.tsx:527 +#: src/tables/InvenTreeTable.tsx:546 msgid "Failed to delete records" msgstr "" @@ -4708,140 +4852,144 @@ msgstr "" #~ msgid "Print actions" #~ msgstr "" -#: src/tables/InvenTreeTable.tsx:596 -#: src/tables/InvenTreeTable.tsx:597 +#: src/tables/InvenTreeTable.tsx:613 +#: src/tables/InvenTreeTable.tsx:614 msgid "Barcode actions" msgstr "" -#: src/tables/InvenTreeTable.tsx:625 +#: src/tables/InvenTreeTable.tsx:642 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTable.tsx:646 +#: src/tables/InvenTreeTable.tsx:663 msgid "Table filters" msgstr "" -#: src/tables/bom/BomTable.tsx:80 +#: src/tables/UploadAction.tsx:9 +msgid "Upload Data" +msgstr "" + +#: src/tables/bom/BomTable.tsx:83 msgid "This BOM item is defined for a different parent" msgstr "" -#: src/tables/bom/BomTable.tsx:95 +#: src/tables/bom/BomTable.tsx:98 msgid "Part Information" msgstr "" -#: src/tables/bom/BomTable.tsx:184 -#: src/tables/part/PartTable.tsx:124 +#: src/tables/bom/BomTable.tsx:187 +#: src/tables/part/PartTable.tsx:125 msgid "No stock" msgstr "" -#: src/tables/bom/BomTable.tsx:192 +#: src/tables/bom/BomTable.tsx:195 #: src/tables/build/BuildLineTable.tsx:104 -#: src/tables/part/PartTable.tsx:115 +#: src/tables/part/PartTable.tsx:116 msgid "External stock" msgstr "" -#: src/tables/bom/BomTable.tsx:200 +#: src/tables/bom/BomTable.tsx:203 #: src/tables/build/BuildLineTable.tsx:67 msgid "Includes substitute stock" msgstr "" -#: src/tables/bom/BomTable.tsx:209 +#: src/tables/bom/BomTable.tsx:212 #: src/tables/build/BuildLineTable.tsx:77 msgid "Includes variant stock" msgstr "" -#: src/tables/bom/BomTable.tsx:234 -#: src/tables/part/PartTable.tsx:143 +#: src/tables/bom/BomTable.tsx:237 +#: src/tables/part/PartTable.tsx:144 #: src/tables/stock/StockItemTable.tsx:205 msgid "Stock Information" msgstr "" -#: src/tables/bom/BomTable.tsx:246 +#: src/tables/bom/BomTable.tsx:249 #: src/tables/build/BuildLineTable.tsx:195 msgid "Consumable item" msgstr "" -#: src/tables/bom/BomTable.tsx:267 +#: src/tables/bom/BomTable.tsx:270 msgid "Show trackable items" msgstr "" -#: src/tables/bom/BomTable.tsx:272 +#: src/tables/bom/BomTable.tsx:275 msgid "Show asssmbled items" msgstr "" -#: src/tables/bom/BomTable.tsx:277 +#: src/tables/bom/BomTable.tsx:280 msgid "Show items with available stock" msgstr "" -#: src/tables/bom/BomTable.tsx:282 +#: src/tables/bom/BomTable.tsx:285 msgid "Show items on order" msgstr "" -#: src/tables/bom/BomTable.tsx:286 +#: src/tables/bom/BomTable.tsx:289 msgid "Validated" msgstr "" -#: src/tables/bom/BomTable.tsx:287 +#: src/tables/bom/BomTable.tsx:290 msgid "Show validated items" msgstr "" -#: src/tables/bom/BomTable.tsx:291 +#: src/tables/bom/BomTable.tsx:294 #: src/tables/bom/UsedInTable.tsx:63 msgid "Inherited" msgstr "" -#: src/tables/bom/BomTable.tsx:292 +#: src/tables/bom/BomTable.tsx:295 #: src/tables/bom/UsedInTable.tsx:64 msgid "Show inherited items" msgstr "" -#: src/tables/bom/BomTable.tsx:296 +#: src/tables/bom/BomTable.tsx:299 msgid "Allow Variants" msgstr "" -#: src/tables/bom/BomTable.tsx:297 +#: src/tables/bom/BomTable.tsx:300 msgid "Show items which allow variant substitution" msgstr "" #: src/tables/bom/BomTable.tsx:301 +#~ msgid "Create BOM Item" +#~ msgstr "" + +#: src/tables/bom/BomTable.tsx:304 #: src/tables/bom/UsedInTable.tsx:68 #: src/tables/build/BuildLineTable.tsx:46 msgid "Optional" msgstr "" -#: src/tables/bom/BomTable.tsx:301 -#~ msgid "Create BOM Item" -#~ msgstr "" - -#: src/tables/bom/BomTable.tsx:302 +#: src/tables/bom/BomTable.tsx:305 #: src/tables/bom/UsedInTable.tsx:69 msgid "Show optional items" msgstr "" -#: src/tables/bom/BomTable.tsx:306 +#: src/tables/bom/BomTable.tsx:309 #: src/tables/build/BuildLineTable.tsx:41 msgid "Consumable" msgstr "" -#: src/tables/bom/BomTable.tsx:307 +#: src/tables/bom/BomTable.tsx:310 msgid "Show consumable items" msgstr "" -#: src/tables/bom/BomTable.tsx:311 -#: src/tables/part/PartTable.tsx:250 +#: src/tables/bom/BomTable.tsx:314 +#: src/tables/part/PartTable.tsx:257 msgid "Has Pricing" msgstr "" -#: src/tables/bom/BomTable.tsx:312 +#: src/tables/bom/BomTable.tsx:315 msgid "Show items with pricing" msgstr "" -#: src/tables/bom/BomTable.tsx:321 -#: src/tables/bom/BomTable.tsx:420 +#: src/tables/bom/BomTable.tsx:324 +#: src/tables/bom/BomTable.tsx:426 msgid "Add BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:326 +#: src/tables/bom/BomTable.tsx:329 msgid "BOM item created" msgstr "" @@ -4849,23 +4997,23 @@ msgstr "" #~ msgid "Edit Bom Item" #~ msgstr "" -#: src/tables/bom/BomTable.tsx:333 -msgid "Edit BOM Item" -msgstr "" - #: src/tables/bom/BomTable.tsx:333 #~ msgid "Bom item updated" #~ msgstr "" -#: src/tables/bom/BomTable.tsx:335 +#: src/tables/bom/BomTable.tsx:336 +msgid "Edit BOM Item" +msgstr "" + +#: src/tables/bom/BomTable.tsx:338 msgid "BOM item updated" msgstr "" -#: src/tables/bom/BomTable.tsx:342 +#: src/tables/bom/BomTable.tsx:345 msgid "Delete BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:343 +#: src/tables/bom/BomTable.tsx:346 msgid "BOM item deleted" msgstr "" @@ -4885,32 +5033,41 @@ msgstr "" #~ msgid "Validate BOM line" #~ msgstr "" -#: src/tables/bom/BomTable.tsx:355 +#: src/tables/bom/BomTable.tsx:358 msgid "BOM item validated" msgstr "" -#: src/tables/bom/BomTable.tsx:364 +#: src/tables/bom/BomTable.tsx:367 msgid "Failed to validate BOM item" msgstr "" -#: src/tables/bom/BomTable.tsx:376 +#: src/tables/bom/BomTable.tsx:379 msgid "View BOM" msgstr "" -#: src/tables/bom/BomTable.tsx:385 +#: src/tables/bom/BomTable.tsx:388 msgid "Validate BOM Line" msgstr "" -#: src/tables/bom/BomTable.tsx:399 +#: src/tables/bom/BomTable.tsx:405 msgid "Edit Substitutes" msgstr "" +#: src/tables/bom/BomTable.tsx:440 +#: src/tables/part/PartParameterTable.tsx:191 +msgid "Part is Locked" +msgstr "" + +#: src/tables/bom/BomTable.tsx:445 +msgid "Bill of materials cannot be edited, as the part is locked" +msgstr "" + #: src/tables/bom/UsedInTable.tsx:74 msgid "Show active assemblies" msgstr "" #: src/tables/bom/UsedInTable.tsx:78 -#: src/tables/part/PartTable.tsx:192 +#: src/tables/part/PartTable.tsx:199 #: src/tables/part/PartVariantTable.tsx:30 msgid "Trackable" msgstr "" @@ -4920,7 +5077,7 @@ msgid "Show trackable assemblies" msgstr "" #: src/tables/build/BuildLineTable.tsx:31 -#: src/tables/stock/StockItemTable.tsx:270 +#: src/tables/stock/StockItemTable.tsx:292 msgid "Allocated" msgstr "" @@ -4941,7 +5098,7 @@ msgid "Show optional lines" msgstr "" #: src/tables/build/BuildLineTable.tsx:51 -#: src/tables/stock/StockItemTable.tsx:329 +#: src/tables/stock/StockItemTable.tsx:351 msgid "Tracked" msgstr "" @@ -5054,10 +5211,6 @@ msgstr "" msgid "Deallocate stock from build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:205 -msgid "Complete" -msgstr "" - #: src/tables/build/BuildOutputTable.tsx:206 msgid "Complete build output" msgstr "" @@ -5387,7 +5540,7 @@ msgid "Message" msgstr "" #: src/tables/part/ParametricPartTable.tsx:76 -#: src/tables/part/PartParameterTable.tsx:88 +#: src/tables/part/PartParameterTable.tsx:95 msgid "Internal Units" msgstr "" @@ -5400,13 +5553,13 @@ msgid "Add Part Parameter" msgstr "" #: src/tables/part/ParametricPartTable.tsx:138 -#: src/tables/part/PartParameterTable.tsx:121 -#: src/tables/part/PartParameterTable.tsx:144 +#: src/tables/part/PartParameterTable.tsx:128 +#: src/tables/part/PartParameterTable.tsx:151 msgid "Edit Part Parameter" msgstr "" #: src/tables/part/PartCategoryTable.tsx:60 -#: src/tables/part/PartTable.tsx:180 +#: src/tables/part/PartTable.tsx:187 msgid "Include Subcategories" msgstr "" @@ -5419,7 +5572,7 @@ msgid "Show structural categories" msgstr "" #: src/tables/part/PartCategoryTable.tsx:70 -#: src/tables/part/PartTable.tsx:262 +#: src/tables/part/PartTable.tsx:269 msgid "Subscribed" msgstr "" @@ -5456,21 +5609,25 @@ msgstr "" #~ msgid "[{0}]" #~ msgstr "" -#: src/tables/part/PartParameterTable.tsx:105 +#: src/tables/part/PartParameterTable.tsx:112 msgid "New Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:130 -#: src/tables/part/PartParameterTable.tsx:152 +#: src/tables/part/PartParameterTable.tsx:137 +#: src/tables/part/PartParameterTable.tsx:159 msgid "Delete Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:170 +#: src/tables/part/PartParameterTable.tsx:177 msgid "Add parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:191 -#: src/tables/stock/StockItemTable.tsx:300 +#: src/tables/part/PartParameterTable.tsx:196 +msgid "Part parameters cannot be edited, as the part is locked" +msgstr "" + +#: src/tables/part/PartParameterTable.tsx:210 +#: src/tables/stock/StockItemTable.tsx:322 msgid "Include Variants" msgstr "" @@ -5491,7 +5648,7 @@ msgid "Show templates with choices" msgstr "" #: src/tables/part/PartParameterTemplateTable.tsx:41 -#: src/tables/part/PartTable.tsx:198 +#: src/tables/part/PartTable.tsx:205 msgid "Has Units" msgstr "" @@ -5515,116 +5672,120 @@ msgstr "" msgid "Add parameter template" msgstr "" -#: src/tables/part/PartTable.tsx:67 +#: src/tables/part/PartTable.tsx:68 msgid "Minimum stock" msgstr "" -#: src/tables/part/PartTable.tsx:89 +#: src/tables/part/PartTable.tsx:90 msgid "Build Order Allocations" msgstr "" -#: src/tables/part/PartTable.tsx:98 +#: src/tables/part/PartTable.tsx:99 msgid "Sales Order Allocations" msgstr "" -#: src/tables/part/PartTable.tsx:169 +#: src/tables/part/PartTable.tsx:170 msgid "Filter by part active status" msgstr "" -#: src/tables/part/PartTable.tsx:174 -#: src/tables/stock/StockItemTable.tsx:265 +#: src/tables/part/PartTable.tsx:176 +msgid "Filter by part locked status" +msgstr "" + +#: src/tables/part/PartTable.tsx:181 +#: src/tables/stock/StockItemTable.tsx:287 msgid "Assembly" msgstr "" -#: src/tables/part/PartTable.tsx:175 +#: src/tables/part/PartTable.tsx:182 msgid "Filter by assembly attribute" msgstr "" -#: src/tables/part/PartTable.tsx:181 +#: src/tables/part/PartTable.tsx:188 msgid "Include parts in subcategories" msgstr "" -#: src/tables/part/PartTable.tsx:187 +#: src/tables/part/PartTable.tsx:194 msgid "Filter by component attribute" msgstr "" -#: src/tables/part/PartTable.tsx:193 +#: src/tables/part/PartTable.tsx:200 msgid "Filter by trackable attribute" msgstr "" -#: src/tables/part/PartTable.tsx:199 +#: src/tables/part/PartTable.tsx:206 msgid "Filter by parts which have units" msgstr "" -#: src/tables/part/PartTable.tsx:204 +#: src/tables/part/PartTable.tsx:211 msgid "Has IPN" msgstr "" -#: src/tables/part/PartTable.tsx:205 +#: src/tables/part/PartTable.tsx:212 msgid "Filter by parts which have an internal part number" msgstr "" -#: src/tables/part/PartTable.tsx:210 +#: src/tables/part/PartTable.tsx:217 msgid "Has Stock" msgstr "" -#: src/tables/part/PartTable.tsx:211 +#: src/tables/part/PartTable.tsx:218 msgid "Filter by parts which have stock" msgstr "" -#: src/tables/part/PartTable.tsx:217 +#: src/tables/part/PartTable.tsx:224 msgid "Filter by parts which have low stock" msgstr "" -#: src/tables/part/PartTable.tsx:222 +#: src/tables/part/PartTable.tsx:229 msgid "Purchaseable" msgstr "" -#: src/tables/part/PartTable.tsx:223 +#: src/tables/part/PartTable.tsx:230 msgid "Filter by parts which are purchaseable" msgstr "" -#: src/tables/part/PartTable.tsx:228 +#: src/tables/part/PartTable.tsx:235 msgid "Salable" msgstr "" -#: src/tables/part/PartTable.tsx:229 +#: src/tables/part/PartTable.tsx:236 msgid "Filter by parts which are salable" msgstr "" -#: src/tables/part/PartTable.tsx:235 +#: src/tables/part/PartTable.tsx:242 msgid "Filter by parts which are virtual" msgstr "" -#: src/tables/part/PartTable.tsx:239 +#: src/tables/part/PartTable.tsx:246 msgid "Not Virtual" msgstr "" -#: src/tables/part/PartTable.tsx:244 +#: src/tables/part/PartTable.tsx:251 msgid "Is Template" msgstr "" -#: src/tables/part/PartTable.tsx:245 +#: src/tables/part/PartTable.tsx:252 msgid "Filter by parts which are templates" msgstr "" -#: src/tables/part/PartTable.tsx:251 +#: src/tables/part/PartTable.tsx:258 msgid "Filter by parts which have pricing information" msgstr "" -#: src/tables/part/PartTable.tsx:257 +#: src/tables/part/PartTable.tsx:264 msgid "Filter by parts which have available stock" msgstr "" -#: src/tables/part/PartTable.tsx:263 +#: src/tables/part/PartTable.tsx:270 msgid "Filter by parts to which the user is subscribed" msgstr "" -#: src/tables/part/PartTable.tsx:268 +#: src/tables/part/PartTable.tsx:275 msgid "Has Stocktake" msgstr "" -#: src/tables/part/PartTable.tsx:269 +#: src/tables/part/PartTable.tsx:276 msgid "Filter by parts which have stocktake information" msgstr "" @@ -5963,7 +6124,7 @@ msgid "Sample" msgstr "" #: src/tables/plugin/PluginListTable.tsx:578 -#: src/tables/stock/StockItemTable.tsx:305 +#: src/tables/stock/StockItemTable.tsx:327 msgid "Installed" msgstr "" @@ -6238,6 +6399,41 @@ msgstr "" msgid "Edit group" msgstr "" +#: src/tables/settings/ImportSessionTable.tsx:39 +msgid "Delete Import Session" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:45 +#: src/tables/settings/ImportSessionTable.tsx:132 +msgid "Create Import Session" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:70 +msgid "Uploaded" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:80 +msgid "Imported Rows" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:110 +#: src/tables/settings/TemplateTable.tsx:276 +msgid "Model Type" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:111 +#: src/tables/settings/TemplateTable.tsx:277 +msgid "Filter by target model type" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:117 +msgid "Filter by import session status" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:123 +msgid "Filter by user" +msgstr "" + #: src/tables/settings/PendingTasksTable.tsx:36 msgid "Arguments" msgstr "" @@ -6254,7 +6450,7 @@ msgstr "" msgid "Delete Project Code" msgstr "" -#: src/tables/settings/ProjectCodeTable.tsx:94 +#: src/tables/settings/ProjectCodeTable.tsx:92 msgid "Add project code" msgstr "" @@ -6323,14 +6519,6 @@ msgstr "" 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 "" @@ -6453,149 +6641,153 @@ msgstr "" msgid "This stock item has been depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:255 +#: src/tables/stock/StockItemTable.tsx:247 +msgid "Stock Value" +msgstr "" + +#: src/tables/stock/StockItemTable.tsx:277 msgid "Show stock for active parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:260 +#: src/tables/stock/StockItemTable.tsx:282 msgid "Filter by stock status" msgstr "" -#: src/tables/stock/StockItemTable.tsx:266 +#: src/tables/stock/StockItemTable.tsx:288 msgid "Show stock for assmebled parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:271 +#: src/tables/stock/StockItemTable.tsx:293 msgid "Show items which have been allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:276 +#: src/tables/stock/StockItemTable.tsx:298 msgid "Show items which are available" msgstr "" -#: src/tables/stock/StockItemTable.tsx:280 +#: src/tables/stock/StockItemTable.tsx:302 #: src/tables/stock/StockLocationTable.tsx:42 msgid "Include Sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:281 +#: src/tables/stock/StockItemTable.tsx:303 msgid "Include stock in sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:285 +#: src/tables/stock/StockItemTable.tsx:307 msgid "Depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:286 +#: src/tables/stock/StockItemTable.tsx:308 msgid "Show depleted stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:291 +#: src/tables/stock/StockItemTable.tsx:313 msgid "Show items which are in stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:296 +#: src/tables/stock/StockItemTable.tsx:318 msgid "Show items which are in production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:301 +#: src/tables/stock/StockItemTable.tsx:323 msgid "Include stock items for variant parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:306 +#: src/tables/stock/StockItemTable.tsx:328 msgid "Show stock items which are installed in other items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:310 +#: src/tables/stock/StockItemTable.tsx:332 msgid "Sent to Customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:311 +#: src/tables/stock/StockItemTable.tsx:333 msgid "Show items which have been sent to a customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:315 +#: src/tables/stock/StockItemTable.tsx:337 msgid "Is Serialized" msgstr "" -#: src/tables/stock/StockItemTable.tsx:316 +#: src/tables/stock/StockItemTable.tsx:338 msgid "Show items which have a serial number" msgstr "" -#: src/tables/stock/StockItemTable.tsx:323 +#: src/tables/stock/StockItemTable.tsx:345 msgid "Has Batch Code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:324 +#: src/tables/stock/StockItemTable.tsx:346 msgid "Show items which have a batch code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:330 +#: src/tables/stock/StockItemTable.tsx:352 msgid "Show tracked items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:334 +#: src/tables/stock/StockItemTable.tsx:356 msgid "Has Purchase Price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:335 +#: src/tables/stock/StockItemTable.tsx:357 msgid "Show items which have a purchase price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:343 +#: src/tables/stock/StockItemTable.tsx:365 msgid "External Location" msgstr "" -#: src/tables/stock/StockItemTable.tsx:344 +#: src/tables/stock/StockItemTable.tsx:366 msgid "Show items in an external location" msgstr "" -#: src/tables/stock/StockItemTable.tsx:416 +#: src/tables/stock/StockItemTable.tsx:438 msgid "Add a new stock item" msgstr "" -#: src/tables/stock/StockItemTable.tsx:425 +#: src/tables/stock/StockItemTable.tsx:447 msgid "Remove some quantity from a stock item" msgstr "" -#: src/tables/stock/StockItemTable.tsx:447 +#: src/tables/stock/StockItemTable.tsx:469 msgid "Move Stock items to new locations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:454 +#: src/tables/stock/StockItemTable.tsx:476 msgid "Change stock status" msgstr "" -#: src/tables/stock/StockItemTable.tsx:456 +#: src/tables/stock/StockItemTable.tsx:478 msgid "Change the status of stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:463 +#: src/tables/stock/StockItemTable.tsx:485 msgid "Merge stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:465 +#: src/tables/stock/StockItemTable.tsx:487 msgid "Merge stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:472 +#: src/tables/stock/StockItemTable.tsx:494 msgid "Order stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:474 -#: src/tables/stock/StockItemTable.tsx:480 +#: src/tables/stock/StockItemTable.tsx:496 +#: src/tables/stock/StockItemTable.tsx:502 msgid "Order new stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:478 +#: src/tables/stock/StockItemTable.tsx:500 msgid "Assign to customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:487 +#: src/tables/stock/StockItemTable.tsx:509 msgid "Delete stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:489 +#: src/tables/stock/StockItemTable.tsx:511 msgid "Delete stock items" msgstr "" diff --git a/src/frontend/src/locales/zh-hant/messages.po b/src/frontend/src/locales/zh-hant/messages.po index 6fa40d55e03b..742041a9f8ed 100644 --- a/src/frontend/src/locales/zh-hant/messages.po +++ b/src/frontend/src/locales/zh-hant/messages.po @@ -44,16 +44,18 @@ msgstr "" #: src/components/buttons/PrintingActions.tsx:107 #: src/components/buttons/PrintingActions.tsx:144 #: src/components/editors/NotesEditor.tsx:65 -#: src/components/editors/NotesEditor.tsx:160 -#: src/components/forms/ApiForm.tsx:506 -#: src/components/forms/fields/ApiFormField.tsx:295 +#: src/components/editors/NotesEditor.tsx:165 +#: src/components/forms/ApiForm.tsx:513 +#: src/components/forms/fields/ApiFormField.tsx:306 +#: src/components/importer/ImportDataSelector.tsx:171 +#: src/components/importer/ImporterColumnSelector.tsx:112 #: src/components/modals/LicenseModal.tsx:75 #: src/components/nav/SearchDrawer.tsx:427 #: src/pages/ErrorPage.tsx:11 #: src/pages/part/PartPricingPanel.tsx:71 -#: src/tables/InvenTreeTable.tsx:451 -#: src/tables/InvenTreeTable.tsx:526 -#: src/tables/bom/BomTable.tsx:363 +#: src/tables/InvenTreeTable.tsx:470 +#: src/tables/InvenTreeTable.tsx:545 +#: src/tables/bom/BomTable.tsx:366 #: src/tables/stock/StockItemTestResultTable.tsx:294 msgid "Error" msgstr "" @@ -152,7 +154,7 @@ msgstr "" #: src/functions/forms.tsx:196 #: src/hooks/UseForm.tsx:40 #: src/tables/FilterSelectDrawer.tsx:204 -#: src/tables/InvenTreeTable.tsx:499 +#: src/tables/InvenTreeTable.tsx:518 #: src/tables/build/BuildOutputTable.tsx:225 msgid "Cancel" msgstr "" @@ -170,7 +172,7 @@ msgid "Clear" msgstr "" #: src/components/details/DetailsImage.tsx:227 -#: src/components/forms/ApiForm.tsx:573 +#: src/components/forms/ApiForm.tsx:580 #: src/contexts/ThemeContext.tsx:43 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:56 msgid "Submit" @@ -197,48 +199,61 @@ msgid "Delete image" msgstr "" #: src/components/details/PartIcons.tsx:28 +#: src/tables/ColumnRenderers.tsx:35 +msgid "Part is locked" +msgstr "" + +#: src/components/details/PartIcons.tsx:30 +#: src/pages/part/PartDetail.tsx:267 +#: src/pages/part/PartDetail.tsx:698 +#: src/tables/part/PartTable.tsx:175 +msgid "Locked" +msgstr "" + +#: src/components/details/PartIcons.tsx:35 +#: src/tables/ColumnRenderers.tsx:30 msgid "Part is not active" msgstr "" -#: src/components/details/PartIcons.tsx:34 +#: src/components/details/PartIcons.tsx:37 #: src/components/render/Plugin.tsx:17 #: src/pages/company/CompanyDetail.tsx:315 #: src/pages/company/SupplierPartDetail.tsx:307 -#: src/pages/part/PartDetail.tsx:685 +#: src/pages/part/PartDetail.tsx:704 msgid "Inactive" msgstr "" -#: src/components/details/PartIcons.tsx:41 +#: src/components/details/PartIcons.tsx:43 msgid "Part is a template part (variants can be made from this part)" msgstr "" -#: src/components/details/PartIcons.tsx:47 +#: src/components/details/PartIcons.tsx:49 msgid "Part can be assembled from other parts" msgstr "" -#: src/components/details/PartIcons.tsx:53 +#: src/components/details/PartIcons.tsx:55 msgid "Part can be used in assemblies" msgstr "" -#: src/components/details/PartIcons.tsx:59 +#: src/components/details/PartIcons.tsx:61 msgid "Part stock is tracked by serial number" msgstr "" -#: src/components/details/PartIcons.tsx:65 +#: src/components/details/PartIcons.tsx:67 msgid "Part can be purchased from external suppliers" msgstr "" -#: src/components/details/PartIcons.tsx:71 +#: src/components/details/PartIcons.tsx:73 msgid "Part can be sold to customers" msgstr "" -#: src/components/details/PartIcons.tsx:76 +#: src/components/details/PartIcons.tsx:78 msgid "Part is virtual (not a physical part)" msgstr "" -#: src/components/details/PartIcons.tsx:82 -#: src/tables/part/PartTable.tsx:234 -#: src/tables/part/PartTable.tsx:238 +#: src/components/details/PartIcons.tsx:84 +#: src/tables/part/PartTable.tsx:241 +#: src/tables/part/PartTable.tsx:245 #: src/tables/part/PartVariantTable.tsx:25 msgid "Virtual" msgstr "" @@ -247,29 +262,29 @@ msgstr "" msgid "Image upload failed" msgstr "" -#: src/components/editors/NotesEditor.tsx:151 -#: src/components/forms/ApiForm.tsx:430 -#: src/tables/bom/BomTable.tsx:354 +#: src/components/editors/NotesEditor.tsx:156 +#: src/components/forms/ApiForm.tsx:437 +#: src/tables/bom/BomTable.tsx:357 msgid "Success" msgstr "" -#: src/components/editors/NotesEditor.tsx:152 +#: src/components/editors/NotesEditor.tsx:157 msgid "Notes saved successfully" msgstr "" -#: src/components/editors/NotesEditor.tsx:161 +#: src/components/editors/NotesEditor.tsx:166 msgid "Failed to save notes" msgstr "" -#: src/components/editors/NotesEditor.tsx:193 +#: src/components/editors/NotesEditor.tsx:198 msgid "Preview Notes" msgstr "" -#: src/components/editors/NotesEditor.tsx:193 +#: src/components/editors/NotesEditor.tsx:198 msgid "Edit Notes" msgstr "" -#: src/components/editors/NotesEditor.tsx:207 +#: src/components/editors/NotesEditor.tsx:212 msgid "Save Notes" msgstr "" @@ -402,7 +417,7 @@ msgstr "" msgid "A server error occurred" msgstr "" -#: src/components/forms/ApiForm.tsx:149 +#: src/components/forms/ApiForm.tsx:151 #: src/functions/forms.tsx:259 msgid "Form Error" msgstr "" @@ -411,18 +426,18 @@ msgstr "" #~ msgid "Form Errors Exist" #~ msgstr "" -#: src/components/forms/ApiForm.tsx:611 +#: src/components/forms/ApiForm.tsx:618 #: src/tables/plugin/PluginListTable.tsx:388 msgid "Update" msgstr "" -#: src/components/forms/ApiForm.tsx:631 +#: src/components/forms/ApiForm.tsx:638 #: 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:498 +#: src/tables/InvenTreeTable.tsx:517 #: src/tables/RowActions.tsx:71 #: src/tables/plugin/PluginListTable.tsx:420 msgid "Delete" @@ -576,7 +591,7 @@ msgstr "" #: src/components/forms/HostOptionsForm.tsx:42 #: src/components/forms/HostOptionsForm.tsx:70 #: src/pages/part/CategoryDetail.tsx:80 -#: src/pages/part/PartDetail.tsx:122 +#: src/pages/part/PartDetail.tsx:123 #: src/pages/stock/LocationDetail.tsx:87 #: src/tables/machine/MachineTypeTable.tsx:65 #: src/tables/machine/MachineTypeTable.tsx:109 @@ -661,6 +676,124 @@ msgstr "" msgid "Thumbnail" msgstr "" +#: src/components/importer/ImportDataSelector.tsx:154 +msgid "Importing Rows" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:155 +msgid "Please wait while the data is imported" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:172 +msgid "An error occurred while importing data" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:191 +msgid "Edit Data" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:218 +msgid "Delete Row" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:248 +msgid "Row" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:266 +msgid "Row contains errors" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:307 +msgid "Accept" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:340 +msgid "Valid" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:341 +msgid "Filter by row validation status" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:346 +#: src/tables/build/BuildOutputTable.tsx:205 +msgid "Complete" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:347 +msgid "Filter by row completion status" +msgstr "" + +#: src/components/importer/ImportDataSelector.tsx:364 +msgid "Import selected rows" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:46 +#: src/components/importer/ImporterColumnSelector.tsx:85 +msgid "An error occurred" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:57 +msgid "Select column, or leave blank to ignore this field." +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:91 +msgid "Select a column from the data file" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:104 +msgid "Map data columns to database fields" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:109 +msgid "Accept Column Mapping" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:117 +msgid "Database Field" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:118 +msgid "Field Description" +msgstr "" + +#: src/components/importer/ImporterColumnSelector.tsx:119 +msgid "Imported Column Name" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:44 +msgid "Import Data" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:45 +msgid "Map Columns" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:46 +msgid "Process Data" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:47 +msgid "Complete Import" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:91 +msgid "Importing Data" +msgstr "" + +#: src/components/importer/ImporterDrawer.tsx:97 +msgid "Cancel import session" +msgstr "" + +#: src/components/importer/ImporterImportProgress.tsx:36 +msgid "Importing Records" +msgstr "" + +#: src/components/importer/ImporterImportProgress.tsx:39 +msgid "Imported rows" +msgstr "" + #: src/components/items/ActionDropdown.tsx:119 #: src/pages/build/BuildDetail.tsx:358 msgid "Barcode Actions" @@ -714,7 +847,7 @@ msgid "Read More" msgstr "" #: src/components/items/ErrorItem.tsx:5 -#: src/tables/InvenTreeTable.tsx:443 +#: src/tables/InvenTreeTable.tsx:462 msgid "Unknown error" msgstr "" @@ -1015,13 +1148,13 @@ msgstr "" #: src/components/nav/MainMenu.tsx:57 #: src/defaults/menuItems.tsx:58 -#: src/pages/Index/Settings/SystemSettings.tsx:313 +#: src/pages/Index/Settings/SystemSettings.tsx:314 msgid "System Settings" msgstr "" #: src/components/nav/MainMenu.tsx:67 #: src/defaults/menuItems.tsx:63 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:198 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:209 msgid "Admin Center" msgstr "" @@ -1056,7 +1189,7 @@ msgid "Pages" msgstr "" #: src/components/nav/NavigationDrawer.tsx:65 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:157 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:168 #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:41 msgid "Plugins" msgstr "" @@ -1070,7 +1203,7 @@ msgstr "" msgid "About" msgstr "" -#: src/components/nav/NotificationDrawer.tsx:78 +#: src/components/nav/NotificationDrawer.tsx:81 #: src/pages/Index/Settings/SystemSettings.tsx:108 #: src/pages/Index/Settings/UserSettings.tsx:96 #: src/pages/Notifications.tsx:65 @@ -1078,17 +1211,17 @@ msgstr "" msgid "Notifications" msgstr "" -#: src/components/nav/NotificationDrawer.tsx:95 +#: src/components/nav/NotificationDrawer.tsx:98 msgid "You have no unread notifications." msgstr "" -#: src/components/nav/NotificationDrawer.tsx:111 -#: src/components/nav/NotificationDrawer.tsx:117 +#: src/components/nav/NotificationDrawer.tsx:114 +#: src/components/nav/NotificationDrawer.tsx:120 #: src/tables/notifications/NotificationsTable.tsx:36 msgid "Notification" msgstr "" -#: src/components/nav/NotificationDrawer.tsx:140 +#: src/components/nav/NotificationDrawer.tsx:143 #: src/pages/Notifications.tsx:73 msgid "Mark as read" msgstr "" @@ -1125,7 +1258,7 @@ msgstr "" msgid "No results available for search query" msgstr "" -#: src/components/render/Instance.tsx:166 +#: src/components/render/Instance.tsx:201 msgid "Unknown model: {model}" msgstr "" @@ -1140,7 +1273,8 @@ msgstr "" #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 #: src/pages/build/BuildDetail.tsx:85 -#: src/pages/part/PartDetail.tsx:831 +#: src/pages/part/PartDetail.tsx:872 +#: src/tables/part/PartTable.tsx:28 #: src/tables/part/RelatedPartTable.tsx:45 #: src/tables/stock/StockTrackingTable.tsx:74 msgid "Part" @@ -1153,7 +1287,7 @@ msgstr "" #: src/pages/part/CategoryDetail.tsx:112 #: src/pages/part/CategoryDetail.tsx:237 #: src/pages/part/CategoryDetail.tsx:267 -#: src/pages/part/PartDetail.tsx:639 +#: src/pages/part/PartDetail.tsx:652 msgid "Parts" msgstr "" @@ -1203,7 +1337,7 @@ msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:172 #: src/pages/part/CategoryDetail.tsx:251 #: src/pages/part/CategoryDetail.tsx:288 -#: src/pages/part/PartDetail.tsx:821 +#: src/pages/part/PartDetail.tsx:862 msgid "Part Categories" msgstr "" @@ -1285,7 +1419,7 @@ msgid "Project Code" msgstr "" #: src/components/render/ModelType.tsx:127 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:109 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:120 msgid "Project Codes" msgstr "" @@ -1297,10 +1431,10 @@ msgid "Purchase Order" msgstr "" #: src/components/render/ModelType.tsx:134 -#: src/pages/Index/Settings/SystemSettings.tsx:257 +#: src/pages/Index/Settings/SystemSettings.tsx:258 #: src/pages/company/CompanyDetail.tsx:194 #: src/pages/company/SupplierPartDetail.tsx:226 -#: src/pages/part/PartDetail.tsx:573 +#: src/pages/part/PartDetail.tsx:586 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "" @@ -1322,9 +1456,9 @@ msgid "Sales Order" msgstr "" #: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:272 +#: src/pages/Index/Settings/SystemSettings.tsx:273 #: src/pages/company/CompanyDetail.tsx:214 -#: src/pages/part/PartDetail.tsx:580 +#: src/pages/part/PartDetail.tsx:593 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" @@ -1344,7 +1478,7 @@ msgid "Return Order" msgstr "" #: src/components/render/ModelType.tsx:164 -#: src/pages/Index/Settings/SystemSettings.tsx:288 +#: src/pages/Index/Settings/SystemSettings.tsx:289 #: src/pages/company/CompanyDetail.tsx:221 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1381,40 +1515,49 @@ msgid "Owners" msgstr "" #: src/components/render/ModelType.tsx:193 +#: src/tables/settings/ImportSessionTable.tsx:122 #: src/tables/stock/StockItemTestResultTable.tsx:193 #: src/tables/stock/StockTrackingTable.tsx:195 msgid "User" msgstr "" #: src/components/render/ModelType.tsx:194 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:85 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:90 #: src/pages/Index/Settings/AdminCenter/UserManagementPanel.tsx:13 msgid "Users" msgstr "" #: src/components/render/ModelType.tsx:200 -msgid "Label Template" +msgid "Import Session" msgstr "" #: src/components/render/ModelType.tsx:201 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:139 -msgid "Label Templates" +msgid "Import Sessions" msgstr "" #: src/components/render/ModelType.tsx:207 -msgid "Report Template" +msgid "Label Template" msgstr "" #: src/components/render/ModelType.tsx:208 -#: src/pages/Index/Settings/AdminCenter/Index.tsx:145 -msgid "Report Templates" +#: src/pages/Index/Settings/AdminCenter/Index.tsx:150 +msgid "Label Templates" msgstr "" #: src/components/render/ModelType.tsx:214 -msgid "Plugin Configuration" +msgid "Report Template" msgstr "" #: src/components/render/ModelType.tsx:215 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:156 +msgid "Report Templates" +msgstr "" + +#: src/components/render/ModelType.tsx:221 +msgid "Plugin Configuration" +msgstr "" + +#: src/components/render/ModelType.tsx:222 msgid "Plugin Configurations" msgstr "" @@ -1426,7 +1569,7 @@ msgstr "" #: src/defaults/links.tsx:29 #: src/defaults/menuItems.tsx:38 #: src/pages/Index/Settings/SystemSettings.tsx:210 -#: src/pages/part/PartDetail.tsx:492 +#: src/pages/part/PartDetail.tsx:503 #: src/pages/stock/LocationDetail.tsx:347 #: src/pages/stock/StockDetail.tsx:356 #: src/tables/stock/StockItemTable.tsx:57 @@ -1609,10 +1752,6 @@ msgstr "" #~ msgid "Comment" #~ msgstr "" -#: src/components/tables/general/AttachmentTable.tsx:56 -#~ msgid "Uploaded" -#~ msgstr "" - #: src/components/tables/part/PartCategoryTable.tsx:122 #~ msgid "Part category updated" #~ msgstr "" @@ -2121,7 +2260,7 @@ msgid "Recently Updated" msgstr "" #: src/defaults/dashboardItems.tsx:50 -#: src/tables/part/PartTable.tsx:216 +#: src/tables/part/PartTable.tsx:223 msgid "Low Stock" msgstr "" @@ -2358,7 +2497,7 @@ msgstr "" #~ msgid "Company updated" #~ msgstr "" -#: src/forms/PartForms.tsx:100 +#: src/forms/PartForms.tsx:103 msgid "Parent part category" msgstr "" @@ -2426,7 +2565,7 @@ msgstr "" #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 #: src/pages/stock/StockDetail.tsx:173 -#: src/tables/ColumnRenderers.tsx:34 +#: src/tables/ColumnRenderers.tsx:49 #: src/tables/stock/StockTrackingTable.tsx:85 msgid "Location" msgstr "" @@ -2477,8 +2616,8 @@ msgstr "" #: src/forms/StockForms.tsx:176 #: src/pages/stock/StockDetail.tsx:379 -#: src/tables/stock/StockItemTable.tsx:382 -#: src/tables/stock/StockItemTable.tsx:499 +#: src/tables/stock/StockItemTable.tsx:404 +#: src/tables/stock/StockItemTable.tsx:521 msgid "Add Stock Item" msgstr "" @@ -2498,9 +2637,9 @@ msgstr "" #: src/forms/StockForms.tsx:606 #: src/forms/StockForms.tsx:648 #: src/forms/StockForms.tsx:684 -#: src/pages/part/PartDetail.tsx:202 -#: src/pages/part/PartDetail.tsx:655 -#: src/tables/stock/StockItemTable.tsx:290 +#: src/pages/part/PartDetail.tsx:203 +#: src/pages/part/PartDetail.tsx:668 +#: src/tables/stock/StockItemTable.tsx:312 msgid "In Stock" msgstr "" @@ -2541,12 +2680,12 @@ msgid "Remove Stock" msgstr "" #: src/forms/StockForms.tsx:803 -#: src/pages/part/PartDetail.tsx:782 +#: src/pages/part/PartDetail.tsx:823 msgid "Transfer Stock" msgstr "" #: src/forms/StockForms.tsx:812 -#: src/pages/part/PartDetail.tsx:771 +#: src/pages/part/PartDetail.tsx:812 msgid "Count Stock" msgstr "" @@ -3039,53 +3178,57 @@ msgstr "" #~ msgid "Advanced Amininistrative Options for InvenTree" #~ msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:91 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:96 +msgid "Data Import" +msgstr "" + +#: src/pages/Index/Settings/AdminCenter/Index.tsx:102 msgid "Background Tasks" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:97 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:108 msgid "Error Reports" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:103 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:114 msgid "Currencies" 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:132 msgid "Custom Units" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:138 #: src/pages/part/CategoryDetail.tsx:257 msgid "Part Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:127 -#~ msgid "Templates" -#~ msgstr "" - -#: src/pages/Index/Settings/AdminCenter/Index.tsx:133 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:144 msgid "Category Parameters" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:151 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:162 msgid "Location types" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:163 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:174 #: src/tables/machine/MachineTypeTable.tsx:287 msgid "Machines" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:173 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:184 msgid "Quick Actions" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:178 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:189 msgid "Add a new user" msgstr "" -#: src/pages/Index/Settings/AdminCenter/Index.tsx:199 +#: src/pages/Index/Settings/AdminCenter/Index.tsx:210 msgid "Advanced Options" msgstr "" @@ -3237,7 +3380,7 @@ msgid "Reporting" msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:235 -#: src/pages/part/PartDetail.tsx:593 +#: src/pages/part/PartDetail.tsx:606 #: src/tables/stock/StockItemTable.tsx:221 msgid "Stocktake" msgstr "" @@ -3245,12 +3388,12 @@ msgstr "" #: src/pages/Index/Settings/SystemSettings.tsx:241 #: src/pages/build/BuildDetail.tsx:423 #: src/pages/build/BuildIndex.tsx:14 -#: src/pages/part/PartDetail.tsx:527 +#: src/pages/part/PartDetail.tsx:540 #: src/pages/sales/SalesOrderDetail.tsx:270 msgid "Build Orders" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:316 +#: src/pages/Index/Settings/SystemSettings.tsx:317 msgid "Switch to User Setting" msgstr "" @@ -3311,7 +3454,8 @@ msgstr "" #: 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/settings/ImportSessionTable.tsx:116 +#: src/tables/stock/StockItemTable.tsx:281 #: src/tables/stock/StockTrackingTable.tsx:52 msgid "Status" msgstr "" @@ -3320,7 +3464,7 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:104 #: src/pages/sales/ReturnOrderDetail.tsx:73 #: src/pages/sales/SalesOrderDetail.tsx:77 -#: src/tables/ColumnRenderers.tsx:106 +#: src/tables/ColumnRenderers.tsx:121 #: src/tables/build/BuildLineTable.tsx:140 msgid "Reference" msgstr "" @@ -3330,12 +3474,12 @@ msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:78 #: src/pages/company/SupplierPartDetail.tsx:85 #: src/pages/part/CategoryDetail.tsx:94 -#: src/pages/part/PartDetail.tsx:129 +#: src/pages/part/PartDetail.tsx:130 #: src/pages/purchasing/PurchaseOrderDetail.tsx:125 #: src/pages/sales/ReturnOrderDetail.tsx:93 #: src/pages/sales/SalesOrderDetail.tsx:97 #: src/pages/stock/LocationDetail.tsx:101 -#: src/tables/ColumnRenderers.tsx:66 +#: src/tables/ColumnRenderers.tsx:81 #: src/tables/machine/MachineTypeTable.tsx:69 #: src/tables/machine/MachineTypeTable.tsx:112 #: src/tables/machine/MachineTypeTable.tsx:219 @@ -3366,7 +3510,7 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:152 -#: src/pages/part/PartDetail.tsx:317 +#: src/pages/part/PartDetail.tsx:323 #: src/pages/purchasing/PurchaseOrderDetail.tsx:217 #: src/pages/sales/ReturnOrderDetail.tsx:186 #: src/pages/sales/SalesOrderDetail.tsx:190 @@ -3386,7 +3530,7 @@ msgstr "" #: src/pages/purchasing/PurchaseOrderDetail.tsx:210 #: src/pages/sales/ReturnOrderDetail.tsx:179 #: src/pages/sales/SalesOrderDetail.tsx:183 -#: src/tables/ColumnRenderers.tsx:191 +#: src/tables/ColumnRenderers.tsx:206 msgid "Target Date" msgstr "" @@ -3467,7 +3611,7 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:297 #: src/pages/company/CompanyDetail.tsx:257 #: src/pages/company/ManufacturerPartDetail.tsx:174 -#: src/pages/part/PartDetail.tsx:616 +#: src/pages/part/PartDetail.tsx:629 #: src/pages/purchasing/PurchaseOrderDetail.tsx:279 #: src/pages/sales/ReturnOrderDetail.tsx:230 #: src/pages/sales/SalesOrderDetail.tsx:280 @@ -3477,7 +3621,7 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:305 #: src/pages/company/CompanyDetail.tsx:268 -#: src/pages/part/PartDetail.tsx:624 +#: src/pages/part/PartDetail.tsx:637 #: src/pages/purchasing/PurchaseOrderDetail.tsx:290 #: src/pages/sales/ReturnOrderDetail.tsx:241 #: src/pages/sales/SalesOrderDetail.tsx:291 @@ -3633,12 +3777,12 @@ msgid "Manufacturer Part Details" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:148 -#: src/pages/part/PartDetail.tsx:486 +#: src/pages/part/PartDetail.tsx:492 msgid "Parameters" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:160 -#: src/pages/part/PartDetail.tsx:560 +#: src/pages/part/PartDetail.tsx:573 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" msgstr "" @@ -3663,7 +3807,7 @@ msgid "ManufacturerPart" msgstr "" #: src/pages/company/SupplierPartDetail.tsx:99 -#: src/tables/ColumnRenderers.tsx:117 +#: src/tables/ColumnRenderers.tsx:132 msgid "Note" msgstr "" @@ -3799,275 +3943,275 @@ msgstr "" msgid "Category Details" msgstr "" -#: src/pages/part/PartDetail.tsx:135 +#: src/pages/part/PartDetail.tsx:136 msgid "Variant of" msgstr "" -#: src/pages/part/PartDetail.tsx:142 +#: src/pages/part/PartDetail.tsx:143 #: src/tables/notifications/NotificationsTable.tsx:31 #: src/tables/part/PartCategoryTemplateTable.tsx:67 msgid "Category" msgstr "" -#: src/pages/part/PartDetail.tsx:148 +#: src/pages/part/PartDetail.tsx:149 msgid "Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:155 +#: src/pages/part/PartDetail.tsx:156 msgid "Category Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:162 +#: src/pages/part/PartDetail.tsx:163 msgid "IPN" msgstr "" -#: src/pages/part/PartDetail.tsx:169 +#: src/pages/part/PartDetail.tsx:170 msgid "Revision" msgstr "" -#: src/pages/part/PartDetail.tsx:176 +#: src/pages/part/PartDetail.tsx:177 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" msgstr "" -#: src/pages/part/PartDetail.tsx:183 +#: src/pages/part/PartDetail.tsx:184 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:190 +#: src/pages/part/PartDetail.tsx:191 #: src/pages/purchasing/PurchaseOrderDetail.tsx:183 #: src/pages/sales/ReturnOrderDetail.tsx:152 #: src/pages/sales/SalesOrderDetail.tsx:156 msgid "Link" msgstr "" -#: src/pages/part/PartDetail.tsx:208 -#: src/tables/bom/BomTable.tsx:276 +#: src/pages/part/PartDetail.tsx:209 +#: src/tables/bom/BomTable.tsx:279 #: src/tables/build/BuildLineTable.tsx:121 -#: src/tables/part/PartTable.tsx:256 +#: src/tables/part/PartTable.tsx:263 msgid "Available Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:215 +#: src/pages/part/PartDetail.tsx:216 msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:221 -#: src/tables/bom/BomTable.tsx:217 +#: src/pages/part/PartDetail.tsx:222 +#: src/tables/bom/BomTable.tsx:220 #: src/tables/build/BuildLineTable.tsx:95 msgid "On order" msgstr "" -#: src/pages/part/PartDetail.tsx:230 +#: src/pages/part/PartDetail.tsx:231 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:238 +#: src/pages/part/PartDetail.tsx:239 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:245 -#: src/tables/bom/BomTable.tsx:241 +#: src/pages/part/PartDetail.tsx:246 +#: src/tables/bom/BomTable.tsx:244 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:252 -#: src/tables/bom/BomTable.tsx:225 -#: src/tables/part/PartTable.tsx:82 +#: src/pages/part/PartDetail.tsx:253 +#: src/tables/bom/BomTable.tsx:228 +#: src/tables/part/PartTable.tsx:83 msgid "Building" msgstr "" -#: src/pages/part/PartDetail.tsx:261 +#: src/pages/part/PartDetail.tsx:262 #: src/tables/bom/UsedInTable.tsx:73 #: src/tables/build/BuildOrderTable.tsx:108 #: src/tables/company/CompanyTable.tsx:61 #: src/tables/company/CompanyTable.tsx:95 #: src/tables/machine/MachineListTable.tsx:323 #: src/tables/machine/MachineListTable.tsx:585 -#: src/tables/part/PartTable.tsx:168 +#: src/tables/part/PartTable.tsx:169 #: src/tables/part/PartVariantTable.tsx:15 #: 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 +#: src/tables/stock/StockItemTable.tsx:276 msgid "Active" msgstr "" -#: src/pages/part/PartDetail.tsx:266 +#: src/pages/part/PartDetail.tsx:272 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:271 -#: src/tables/bom/BomTable.tsx:271 +#: src/pages/part/PartDetail.tsx:277 +#: src/tables/bom/BomTable.tsx:274 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:276 +#: src/pages/part/PartDetail.tsx:282 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:281 -#: src/tables/bom/BomTable.tsx:266 +#: src/pages/part/PartDetail.tsx:287 +#: src/tables/bom/BomTable.tsx:269 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:286 +#: src/pages/part/PartDetail.tsx:292 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:291 +#: src/pages/part/PartDetail.tsx:297 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:296 +#: src/pages/part/PartDetail.tsx:302 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:304 -#: src/tables/ColumnRenderers.tsx:199 +#: src/pages/part/PartDetail.tsx:310 +#: src/tables/ColumnRenderers.tsx:214 msgid "Creation Date" msgstr "" -#: src/pages/part/PartDetail.tsx:309 -msgid "Created By" -msgstr "" - #: src/pages/part/PartDetail.tsx:310 #~ msgid "Edit part" #~ msgstr "" +#: src/pages/part/PartDetail.tsx:315 +msgid "Created By" +msgstr "" + #: src/pages/part/PartDetail.tsx:322 #~ msgid "Duplicate part" #~ msgstr "" -#: src/pages/part/PartDetail.tsx:324 -msgid "Default Supplier" -msgstr "" - #: src/pages/part/PartDetail.tsx:327 #~ msgid "Delete part" #~ msgstr "" -#: src/pages/part/PartDetail.tsx:335 +#: src/pages/part/PartDetail.tsx:330 +msgid "Default Supplier" +msgstr "" + +#: src/pages/part/PartDetail.tsx:341 #: src/pages/part/pricing/BomPricingPanel.tsx:78 #: src/pages/part/pricing/VariantPricingPanel.tsx:95 -#: src/tables/part/PartTable.tsx:151 +#: src/tables/part/PartTable.tsx:152 msgid "Price Range" msgstr "" -#: src/pages/part/PartDetail.tsx:374 +#: src/pages/part/PartDetail.tsx:380 #: src/pages/stock/StockDetail.tsx:133 msgid "Last Stocktake" msgstr "" -#: src/pages/part/PartDetail.tsx:409 +#: src/pages/part/PartDetail.tsx:415 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:480 +#: src/pages/part/PartDetail.tsx:486 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:506 +#: src/pages/part/PartDetail.tsx:517 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:513 +#: src/pages/part/PartDetail.tsx:524 #: src/pages/stock/StockDetail.tsx:286 msgid "Allocations" msgstr "" -#: src/pages/part/PartDetail.tsx:520 +#: src/pages/part/PartDetail.tsx:531 msgid "Bill of Materials" msgstr "" -#: src/pages/part/PartDetail.tsx:534 +#: src/pages/part/PartDetail.tsx:547 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:541 +#: src/pages/part/PartDetail.tsx:554 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:547 +#: src/pages/part/PartDetail.tsx:560 #: src/pages/purchasing/PurchasingIndex.tsx:37 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:587 +#: src/pages/part/PartDetail.tsx:600 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:599 +#: src/pages/part/PartDetail.tsx:612 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:610 +#: src/pages/part/PartDetail.tsx:623 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:661 +#: src/pages/part/PartDetail.tsx:674 #: src/pages/stock/StockDetail.tsx:154 #: src/pages/stock/StockDetail.tsx:533 #: src/tables/build/BuildLineTable.tsx:36 -#: src/tables/part/PartTable.tsx:107 +#: src/tables/part/PartTable.tsx:108 #: src/tables/stock/StockItemTable.tsx:166 -#: src/tables/stock/StockItemTable.tsx:275 +#: src/tables/stock/StockItemTable.tsx:297 msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:667 +#: src/pages/part/PartDetail.tsx:680 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:673 -#: src/tables/bom/BomTable.tsx:281 -#: src/tables/part/PartTable.tsx:76 +#: src/pages/part/PartDetail.tsx:686 +#: src/tables/bom/BomTable.tsx:284 +#: src/tables/part/PartTable.tsx:77 msgid "On Order" msgstr "" -#: src/pages/part/PartDetail.tsx:679 +#: src/pages/part/PartDetail.tsx:692 #: src/pages/stock/StockDetail.tsx:516 -#: src/tables/stock/StockItemTable.tsx:295 +#: src/tables/stock/StockItemTable.tsx:317 msgid "In Production" msgstr "" -#: src/pages/part/PartDetail.tsx:698 +#: src/pages/part/PartDetail.tsx:717 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:705 -#: src/tables/part/PartTable.tsx:289 -#: src/tables/part/PartTable.tsx:302 +#: src/pages/part/PartDetail.tsx:744 +#: src/tables/part/PartTable.tsx:296 +#: src/tables/part/PartTable.tsx:309 msgid "Add Part" msgstr "" -#: src/pages/part/PartDetail.tsx:717 +#: src/pages/part/PartDetail.tsx:758 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:726 +#: src/pages/part/PartDetail.tsx:767 msgid "Deleting this part cannot be reversed" msgstr "" -#: src/pages/part/PartDetail.tsx:764 +#: src/pages/part/PartDetail.tsx:805 #: src/pages/stock/LocationDetail.tsx:304 -#: src/tables/stock/StockItemTable.tsx:409 +#: src/tables/stock/StockItemTable.tsx:431 msgid "Stock Actions" msgstr "" -#: src/pages/part/PartDetail.tsx:772 +#: src/pages/part/PartDetail.tsx:813 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:824 msgid "Transfer part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:792 +#: src/pages/part/PartDetail.tsx:833 msgid "Part Actions" msgstr "" @@ -4111,8 +4255,8 @@ msgstr "" #: src/pages/part/pricing/BomPricingPanel.tsx:57 #: src/pages/part/pricing/BomPricingPanel.tsx:137 -#: src/tables/ColumnRenderers.tsx:241 -#: src/tables/bom/BomTable.tsx:165 +#: src/tables/ColumnRenderers.tsx:256 +#: src/tables/bom/BomTable.tsx:168 #: src/tables/purchasing/PurchaseOrderTable.tsx:112 #: src/tables/sales/ReturnOrderTable.tsx:104 #: src/tables/sales/SalesOrderTable.tsx:134 @@ -4121,7 +4265,7 @@ msgstr "" #: src/pages/part/pricing/BomPricingPanel.tsx:77 #: src/pages/part/pricing/BomPricingPanel.tsx:101 -#: src/tables/part/PartTable.tsx:186 +#: src/tables/part/PartTable.tsx:193 msgid "Component" msgstr "" @@ -4150,7 +4294,7 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:67 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:128 #: src/pages/part/pricing/SupplierPricingPanel.tsx:62 -#: src/tables/bom/BomTable.tsx:156 +#: src/tables/bom/BomTable.tsx:159 #: src/tables/purchasing/PurchaseOrderLineItemTable.tsx:170 #: src/tables/purchasing/SupplierPriceBreakTable.tsx:88 msgid "Unit Price" @@ -4250,7 +4394,7 @@ msgstr "" #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:40 #: src/pages/part/pricing/SaleHistoryPanel.tsx:36 -#: src/tables/ColumnRenderers.tsx:180 +#: src/tables/ColumnRenderers.tsx:195 #: src/tables/plugin/PluginListTable.tsx:139 msgid "Date" msgstr "" @@ -4523,12 +4667,12 @@ msgid "Count stock" msgstr "" #: src/pages/stock/StockDetail.tsx:459 -#: src/tables/stock/StockItemTable.tsx:414 +#: src/tables/stock/StockItemTable.tsx:436 msgid "Add stock" msgstr "" #: src/pages/stock/StockDetail.tsx:467 -#: src/tables/stock/StockItemTable.tsx:423 +#: src/tables/stock/StockItemTable.tsx:445 msgid "Remove stock" msgstr "" @@ -4537,7 +4681,7 @@ msgid "Transfer" msgstr "" #: src/pages/stock/StockDetail.tsx:475 -#: src/tables/stock/StockItemTable.tsx:443 +#: src/tables/stock/StockItemTable.tsx:465 msgid "Transfer stock" msgstr "" @@ -4545,15 +4689,15 @@ msgstr "" msgid "Stock Item Actions" msgstr "" -#: src/tables/ColumnRenderers.tsx:42 +#: src/tables/ColumnRenderers.tsx:57 msgid "No location set" msgstr "" -#: src/tables/ColumnRenderers.tsx:207 +#: src/tables/ColumnRenderers.tsx:222 msgid "Shipment Date" msgstr "" -#: src/tables/ColumnRenderers.tsx:227 +#: src/tables/ColumnRenderers.tsx:242 #: src/tables/settings/CurrencyTable.tsx:23 msgid "Currency" msgstr "" @@ -4580,14 +4724,14 @@ msgid "TSV" msgstr "" #: src/tables/DownloadAction.tsx:24 -msgid "Excel (.xls)" -msgstr "" - -#: src/tables/DownloadAction.tsx:25 msgid "Excel (.xlsx)" msgstr "" -#: src/tables/DownloadAction.tsx:39 +#: src/tables/DownloadAction.tsx:24 +#~ msgid "Excel (.xls)" +#~ msgstr "" + +#: src/tables/DownloadAction.tsx:38 msgid "Download Data" msgstr "" @@ -4652,54 +4796,54 @@ msgstr "" msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:119 -#: src/tables/InvenTreeTable.tsx:390 -#: src/tables/InvenTreeTable.tsx:411 +#: src/tables/InvenTreeTable.tsx:126 +#: src/tables/InvenTreeTable.tsx:409 +#: src/tables/InvenTreeTable.tsx:430 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:422 +#: src/tables/InvenTreeTable.tsx:441 msgid "Server returned incorrect data type" msgstr "" -#: src/tables/InvenTreeTable.tsx:430 +#: src/tables/InvenTreeTable.tsx:449 msgid "Bad request" msgstr "" -#: src/tables/InvenTreeTable.tsx:433 +#: src/tables/InvenTreeTable.tsx:452 msgid "Unauthorized" msgstr "" -#: src/tables/InvenTreeTable.tsx:436 +#: src/tables/InvenTreeTable.tsx:455 msgid "Forbidden" msgstr "" -#: src/tables/InvenTreeTable.tsx:439 +#: src/tables/InvenTreeTable.tsx:458 msgid "Not found" msgstr "" -#: src/tables/InvenTreeTable.tsx:488 -#: src/tables/InvenTreeTable.tsx:606 +#: src/tables/InvenTreeTable.tsx:507 +#: src/tables/InvenTreeTable.tsx:623 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTable.tsx:492 +#: src/tables/InvenTreeTable.tsx:511 msgid "Are you sure you want to delete the selected records?" msgstr "" -#: src/tables/InvenTreeTable.tsx:494 +#: src/tables/InvenTreeTable.tsx:513 msgid "This action cannot be undone!" msgstr "" -#: src/tables/InvenTreeTable.tsx:517 +#: src/tables/InvenTreeTable.tsx:536 msgid "Deleted records" msgstr "" -#: src/tables/InvenTreeTable.tsx:518 +#: src/tables/InvenTreeTable.tsx:537 msgid "Records were deleted successfully" msgstr "" -#: src/tables/InvenTreeTable.tsx:527 +#: src/tables/InvenTreeTable.tsx:546 msgid "Failed to delete records" msgstr "" @@ -4708,140 +4852,144 @@ msgstr "" #~ msgid "Print actions" #~ msgstr "" -#: src/tables/InvenTreeTable.tsx:596 -#: src/tables/InvenTreeTable.tsx:597 +#: src/tables/InvenTreeTable.tsx:613 +#: src/tables/InvenTreeTable.tsx:614 msgid "Barcode actions" msgstr "" -#: src/tables/InvenTreeTable.tsx:625 +#: src/tables/InvenTreeTable.tsx:642 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTable.tsx:646 +#: src/tables/InvenTreeTable.tsx:663 msgid "Table filters" msgstr "" -#: src/tables/bom/BomTable.tsx:80 +#: src/tables/UploadAction.tsx:9 +msgid "Upload Data" +msgstr "" + +#: src/tables/bom/BomTable.tsx:83 msgid "This BOM item is defined for a different parent" msgstr "" -#: src/tables/bom/BomTable.tsx:95 +#: src/tables/bom/BomTable.tsx:98 msgid "Part Information" msgstr "" -#: src/tables/bom/BomTable.tsx:184 -#: src/tables/part/PartTable.tsx:124 +#: src/tables/bom/BomTable.tsx:187 +#: src/tables/part/PartTable.tsx:125 msgid "No stock" msgstr "" -#: src/tables/bom/BomTable.tsx:192 +#: src/tables/bom/BomTable.tsx:195 #: src/tables/build/BuildLineTable.tsx:104 -#: src/tables/part/PartTable.tsx:115 +#: src/tables/part/PartTable.tsx:116 msgid "External stock" msgstr "" -#: src/tables/bom/BomTable.tsx:200 +#: src/tables/bom/BomTable.tsx:203 #: src/tables/build/BuildLineTable.tsx:67 msgid "Includes substitute stock" msgstr "" -#: src/tables/bom/BomTable.tsx:209 +#: src/tables/bom/BomTable.tsx:212 #: src/tables/build/BuildLineTable.tsx:77 msgid "Includes variant stock" msgstr "" -#: src/tables/bom/BomTable.tsx:234 -#: src/tables/part/PartTable.tsx:143 +#: src/tables/bom/BomTable.tsx:237 +#: src/tables/part/PartTable.tsx:144 #: src/tables/stock/StockItemTable.tsx:205 msgid "Stock Information" msgstr "" -#: src/tables/bom/BomTable.tsx:246 +#: src/tables/bom/BomTable.tsx:249 #: src/tables/build/BuildLineTable.tsx:195 msgid "Consumable item" msgstr "" -#: src/tables/bom/BomTable.tsx:267 +#: src/tables/bom/BomTable.tsx:270 msgid "Show trackable items" msgstr "" -#: src/tables/bom/BomTable.tsx:272 +#: src/tables/bom/BomTable.tsx:275 msgid "Show asssmbled items" msgstr "" -#: src/tables/bom/BomTable.tsx:277 +#: src/tables/bom/BomTable.tsx:280 msgid "Show items with available stock" msgstr "" -#: src/tables/bom/BomTable.tsx:282 +#: src/tables/bom/BomTable.tsx:285 msgid "Show items on order" msgstr "" -#: src/tables/bom/BomTable.tsx:286 +#: src/tables/bom/BomTable.tsx:289 msgid "Validated" msgstr "" -#: src/tables/bom/BomTable.tsx:287 +#: src/tables/bom/BomTable.tsx:290 msgid "Show validated items" msgstr "" -#: src/tables/bom/BomTable.tsx:291 +#: src/tables/bom/BomTable.tsx:294 #: src/tables/bom/UsedInTable.tsx:63 msgid "Inherited" msgstr "" -#: src/tables/bom/BomTable.tsx:292 +#: src/tables/bom/BomTable.tsx:295 #: src/tables/bom/UsedInTable.tsx:64 msgid "Show inherited items" msgstr "" -#: src/tables/bom/BomTable.tsx:296 +#: src/tables/bom/BomTable.tsx:299 msgid "Allow Variants" msgstr "" -#: src/tables/bom/BomTable.tsx:297 +#: src/tables/bom/BomTable.tsx:300 msgid "Show items which allow variant substitution" msgstr "" #: src/tables/bom/BomTable.tsx:301 +#~ msgid "Create BOM Item" +#~ msgstr "" + +#: src/tables/bom/BomTable.tsx:304 #: src/tables/bom/UsedInTable.tsx:68 #: src/tables/build/BuildLineTable.tsx:46 msgid "Optional" msgstr "" -#: src/tables/bom/BomTable.tsx:301 -#~ msgid "Create BOM Item" -#~ msgstr "" - -#: src/tables/bom/BomTable.tsx:302 +#: src/tables/bom/BomTable.tsx:305 #: src/tables/bom/UsedInTable.tsx:69 msgid "Show optional items" msgstr "" -#: src/tables/bom/BomTable.tsx:306 +#: src/tables/bom/BomTable.tsx:309 #: src/tables/build/BuildLineTable.tsx:41 msgid "Consumable" msgstr "" -#: src/tables/bom/BomTable.tsx:307 +#: src/tables/bom/BomTable.tsx:310 msgid "Show consumable items" msgstr "" -#: src/tables/bom/BomTable.tsx:311 -#: src/tables/part/PartTable.tsx:250 +#: src/tables/bom/BomTable.tsx:314 +#: src/tables/part/PartTable.tsx:257 msgid "Has Pricing" msgstr "" -#: src/tables/bom/BomTable.tsx:312 +#: src/tables/bom/BomTable.tsx:315 msgid "Show items with pricing" msgstr "" -#: src/tables/bom/BomTable.tsx:321 -#: src/tables/bom/BomTable.tsx:420 +#: src/tables/bom/BomTable.tsx:324 +#: src/tables/bom/BomTable.tsx:426 msgid "Add BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:326 +#: src/tables/bom/BomTable.tsx:329 msgid "BOM item created" msgstr "" @@ -4849,23 +4997,23 @@ msgstr "" #~ msgid "Edit Bom Item" #~ msgstr "" -#: src/tables/bom/BomTable.tsx:333 -msgid "Edit BOM Item" -msgstr "" - #: src/tables/bom/BomTable.tsx:333 #~ msgid "Bom item updated" #~ msgstr "" -#: src/tables/bom/BomTable.tsx:335 +#: src/tables/bom/BomTable.tsx:336 +msgid "Edit BOM Item" +msgstr "" + +#: src/tables/bom/BomTable.tsx:338 msgid "BOM item updated" msgstr "" -#: src/tables/bom/BomTable.tsx:342 +#: src/tables/bom/BomTable.tsx:345 msgid "Delete BOM Item" msgstr "" -#: src/tables/bom/BomTable.tsx:343 +#: src/tables/bom/BomTable.tsx:346 msgid "BOM item deleted" msgstr "" @@ -4885,32 +5033,41 @@ msgstr "" #~ msgid "Validate BOM line" #~ msgstr "" -#: src/tables/bom/BomTable.tsx:355 +#: src/tables/bom/BomTable.tsx:358 msgid "BOM item validated" msgstr "" -#: src/tables/bom/BomTable.tsx:364 +#: src/tables/bom/BomTable.tsx:367 msgid "Failed to validate BOM item" msgstr "" -#: src/tables/bom/BomTable.tsx:376 +#: src/tables/bom/BomTable.tsx:379 msgid "View BOM" msgstr "" -#: src/tables/bom/BomTable.tsx:385 +#: src/tables/bom/BomTable.tsx:388 msgid "Validate BOM Line" msgstr "" -#: src/tables/bom/BomTable.tsx:399 +#: src/tables/bom/BomTable.tsx:405 msgid "Edit Substitutes" msgstr "" +#: src/tables/bom/BomTable.tsx:440 +#: src/tables/part/PartParameterTable.tsx:191 +msgid "Part is Locked" +msgstr "" + +#: src/tables/bom/BomTable.tsx:445 +msgid "Bill of materials cannot be edited, as the part is locked" +msgstr "" + #: src/tables/bom/UsedInTable.tsx:74 msgid "Show active assemblies" msgstr "" #: src/tables/bom/UsedInTable.tsx:78 -#: src/tables/part/PartTable.tsx:192 +#: src/tables/part/PartTable.tsx:199 #: src/tables/part/PartVariantTable.tsx:30 msgid "Trackable" msgstr "" @@ -4920,7 +5077,7 @@ msgid "Show trackable assemblies" msgstr "" #: src/tables/build/BuildLineTable.tsx:31 -#: src/tables/stock/StockItemTable.tsx:270 +#: src/tables/stock/StockItemTable.tsx:292 msgid "Allocated" msgstr "" @@ -4941,7 +5098,7 @@ msgid "Show optional lines" msgstr "" #: src/tables/build/BuildLineTable.tsx:51 -#: src/tables/stock/StockItemTable.tsx:329 +#: src/tables/stock/StockItemTable.tsx:351 msgid "Tracked" msgstr "" @@ -5054,10 +5211,6 @@ msgstr "" msgid "Deallocate stock from build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:205 -msgid "Complete" -msgstr "" - #: src/tables/build/BuildOutputTable.tsx:206 msgid "Complete build output" msgstr "" @@ -5387,7 +5540,7 @@ msgid "Message" msgstr "" #: src/tables/part/ParametricPartTable.tsx:76 -#: src/tables/part/PartParameterTable.tsx:88 +#: src/tables/part/PartParameterTable.tsx:95 msgid "Internal Units" msgstr "" @@ -5400,13 +5553,13 @@ msgid "Add Part Parameter" msgstr "" #: src/tables/part/ParametricPartTable.tsx:138 -#: src/tables/part/PartParameterTable.tsx:121 -#: src/tables/part/PartParameterTable.tsx:144 +#: src/tables/part/PartParameterTable.tsx:128 +#: src/tables/part/PartParameterTable.tsx:151 msgid "Edit Part Parameter" msgstr "" #: src/tables/part/PartCategoryTable.tsx:60 -#: src/tables/part/PartTable.tsx:180 +#: src/tables/part/PartTable.tsx:187 msgid "Include Subcategories" msgstr "" @@ -5419,7 +5572,7 @@ msgid "Show structural categories" msgstr "" #: src/tables/part/PartCategoryTable.tsx:70 -#: src/tables/part/PartTable.tsx:262 +#: src/tables/part/PartTable.tsx:269 msgid "Subscribed" msgstr "" @@ -5456,21 +5609,25 @@ msgstr "" #~ msgid "[{0}]" #~ msgstr "" -#: src/tables/part/PartParameterTable.tsx:105 +#: src/tables/part/PartParameterTable.tsx:112 msgid "New Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:130 -#: src/tables/part/PartParameterTable.tsx:152 +#: src/tables/part/PartParameterTable.tsx:137 +#: src/tables/part/PartParameterTable.tsx:159 msgid "Delete Part Parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:170 +#: src/tables/part/PartParameterTable.tsx:177 msgid "Add parameter" msgstr "" -#: src/tables/part/PartParameterTable.tsx:191 -#: src/tables/stock/StockItemTable.tsx:300 +#: src/tables/part/PartParameterTable.tsx:196 +msgid "Part parameters cannot be edited, as the part is locked" +msgstr "" + +#: src/tables/part/PartParameterTable.tsx:210 +#: src/tables/stock/StockItemTable.tsx:322 msgid "Include Variants" msgstr "" @@ -5491,7 +5648,7 @@ msgid "Show templates with choices" msgstr "" #: src/tables/part/PartParameterTemplateTable.tsx:41 -#: src/tables/part/PartTable.tsx:198 +#: src/tables/part/PartTable.tsx:205 msgid "Has Units" msgstr "" @@ -5515,116 +5672,120 @@ msgstr "" msgid "Add parameter template" msgstr "" -#: src/tables/part/PartTable.tsx:67 +#: src/tables/part/PartTable.tsx:68 msgid "Minimum stock" msgstr "" -#: src/tables/part/PartTable.tsx:89 +#: src/tables/part/PartTable.tsx:90 msgid "Build Order Allocations" msgstr "" -#: src/tables/part/PartTable.tsx:98 +#: src/tables/part/PartTable.tsx:99 msgid "Sales Order Allocations" msgstr "" -#: src/tables/part/PartTable.tsx:169 +#: src/tables/part/PartTable.tsx:170 msgid "Filter by part active status" msgstr "" -#: src/tables/part/PartTable.tsx:174 -#: src/tables/stock/StockItemTable.tsx:265 +#: src/tables/part/PartTable.tsx:176 +msgid "Filter by part locked status" +msgstr "" + +#: src/tables/part/PartTable.tsx:181 +#: src/tables/stock/StockItemTable.tsx:287 msgid "Assembly" msgstr "" -#: src/tables/part/PartTable.tsx:175 +#: src/tables/part/PartTable.tsx:182 msgid "Filter by assembly attribute" msgstr "" -#: src/tables/part/PartTable.tsx:181 +#: src/tables/part/PartTable.tsx:188 msgid "Include parts in subcategories" msgstr "" -#: src/tables/part/PartTable.tsx:187 +#: src/tables/part/PartTable.tsx:194 msgid "Filter by component attribute" msgstr "" -#: src/tables/part/PartTable.tsx:193 +#: src/tables/part/PartTable.tsx:200 msgid "Filter by trackable attribute" msgstr "" -#: src/tables/part/PartTable.tsx:199 +#: src/tables/part/PartTable.tsx:206 msgid "Filter by parts which have units" msgstr "" -#: src/tables/part/PartTable.tsx:204 +#: src/tables/part/PartTable.tsx:211 msgid "Has IPN" msgstr "" -#: src/tables/part/PartTable.tsx:205 +#: src/tables/part/PartTable.tsx:212 msgid "Filter by parts which have an internal part number" msgstr "" -#: src/tables/part/PartTable.tsx:210 +#: src/tables/part/PartTable.tsx:217 msgid "Has Stock" msgstr "" -#: src/tables/part/PartTable.tsx:211 +#: src/tables/part/PartTable.tsx:218 msgid "Filter by parts which have stock" msgstr "" -#: src/tables/part/PartTable.tsx:217 +#: src/tables/part/PartTable.tsx:224 msgid "Filter by parts which have low stock" msgstr "" -#: src/tables/part/PartTable.tsx:222 +#: src/tables/part/PartTable.tsx:229 msgid "Purchaseable" msgstr "" -#: src/tables/part/PartTable.tsx:223 +#: src/tables/part/PartTable.tsx:230 msgid "Filter by parts which are purchaseable" msgstr "" -#: src/tables/part/PartTable.tsx:228 +#: src/tables/part/PartTable.tsx:235 msgid "Salable" msgstr "" -#: src/tables/part/PartTable.tsx:229 +#: src/tables/part/PartTable.tsx:236 msgid "Filter by parts which are salable" msgstr "" -#: src/tables/part/PartTable.tsx:235 +#: src/tables/part/PartTable.tsx:242 msgid "Filter by parts which are virtual" msgstr "" -#: src/tables/part/PartTable.tsx:239 +#: src/tables/part/PartTable.tsx:246 msgid "Not Virtual" msgstr "" -#: src/tables/part/PartTable.tsx:244 +#: src/tables/part/PartTable.tsx:251 msgid "Is Template" msgstr "" -#: src/tables/part/PartTable.tsx:245 +#: src/tables/part/PartTable.tsx:252 msgid "Filter by parts which are templates" msgstr "" -#: src/tables/part/PartTable.tsx:251 +#: src/tables/part/PartTable.tsx:258 msgid "Filter by parts which have pricing information" msgstr "" -#: src/tables/part/PartTable.tsx:257 +#: src/tables/part/PartTable.tsx:264 msgid "Filter by parts which have available stock" msgstr "" -#: src/tables/part/PartTable.tsx:263 +#: src/tables/part/PartTable.tsx:270 msgid "Filter by parts to which the user is subscribed" msgstr "" -#: src/tables/part/PartTable.tsx:268 +#: src/tables/part/PartTable.tsx:275 msgid "Has Stocktake" msgstr "" -#: src/tables/part/PartTable.tsx:269 +#: src/tables/part/PartTable.tsx:276 msgid "Filter by parts which have stocktake information" msgstr "" @@ -5963,7 +6124,7 @@ msgid "Sample" msgstr "" #: src/tables/plugin/PluginListTable.tsx:578 -#: src/tables/stock/StockItemTable.tsx:305 +#: src/tables/stock/StockItemTable.tsx:327 msgid "Installed" msgstr "" @@ -6238,6 +6399,41 @@ msgstr "" msgid "Edit group" msgstr "" +#: src/tables/settings/ImportSessionTable.tsx:39 +msgid "Delete Import Session" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:45 +#: src/tables/settings/ImportSessionTable.tsx:132 +msgid "Create Import Session" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:70 +msgid "Uploaded" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:80 +msgid "Imported Rows" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:110 +#: src/tables/settings/TemplateTable.tsx:276 +msgid "Model Type" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:111 +#: src/tables/settings/TemplateTable.tsx:277 +msgid "Filter by target model type" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:117 +msgid "Filter by import session status" +msgstr "" + +#: src/tables/settings/ImportSessionTable.tsx:123 +msgid "Filter by user" +msgstr "" + #: src/tables/settings/PendingTasksTable.tsx:36 msgid "Arguments" msgstr "" @@ -6254,7 +6450,7 @@ msgstr "" msgid "Delete Project Code" msgstr "" -#: src/tables/settings/ProjectCodeTable.tsx:94 +#: src/tables/settings/ProjectCodeTable.tsx:92 msgid "Add project code" msgstr "" @@ -6323,14 +6519,6 @@ msgstr "" 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 "" @@ -6453,149 +6641,153 @@ msgstr "" msgid "This stock item has been depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:255 +#: src/tables/stock/StockItemTable.tsx:247 +msgid "Stock Value" +msgstr "" + +#: src/tables/stock/StockItemTable.tsx:277 msgid "Show stock for active parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:260 +#: src/tables/stock/StockItemTable.tsx:282 msgid "Filter by stock status" msgstr "" -#: src/tables/stock/StockItemTable.tsx:266 +#: src/tables/stock/StockItemTable.tsx:288 msgid "Show stock for assmebled parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:271 +#: src/tables/stock/StockItemTable.tsx:293 msgid "Show items which have been allocated" msgstr "" -#: src/tables/stock/StockItemTable.tsx:276 +#: src/tables/stock/StockItemTable.tsx:298 msgid "Show items which are available" msgstr "" -#: src/tables/stock/StockItemTable.tsx:280 +#: src/tables/stock/StockItemTable.tsx:302 #: src/tables/stock/StockLocationTable.tsx:42 msgid "Include Sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:281 +#: src/tables/stock/StockItemTable.tsx:303 msgid "Include stock in sublocations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:285 +#: src/tables/stock/StockItemTable.tsx:307 msgid "Depleted" msgstr "" -#: src/tables/stock/StockItemTable.tsx:286 +#: src/tables/stock/StockItemTable.tsx:308 msgid "Show depleted stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:291 +#: src/tables/stock/StockItemTable.tsx:313 msgid "Show items which are in stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:296 +#: src/tables/stock/StockItemTable.tsx:318 msgid "Show items which are in production" msgstr "" -#: src/tables/stock/StockItemTable.tsx:301 +#: src/tables/stock/StockItemTable.tsx:323 msgid "Include stock items for variant parts" msgstr "" -#: src/tables/stock/StockItemTable.tsx:306 +#: src/tables/stock/StockItemTable.tsx:328 msgid "Show stock items which are installed in other items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:310 +#: src/tables/stock/StockItemTable.tsx:332 msgid "Sent to Customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:311 +#: src/tables/stock/StockItemTable.tsx:333 msgid "Show items which have been sent to a customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:315 +#: src/tables/stock/StockItemTable.tsx:337 msgid "Is Serialized" msgstr "" -#: src/tables/stock/StockItemTable.tsx:316 +#: src/tables/stock/StockItemTable.tsx:338 msgid "Show items which have a serial number" msgstr "" -#: src/tables/stock/StockItemTable.tsx:323 +#: src/tables/stock/StockItemTable.tsx:345 msgid "Has Batch Code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:324 +#: src/tables/stock/StockItemTable.tsx:346 msgid "Show items which have a batch code" msgstr "" -#: src/tables/stock/StockItemTable.tsx:330 +#: src/tables/stock/StockItemTable.tsx:352 msgid "Show tracked items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:334 +#: src/tables/stock/StockItemTable.tsx:356 msgid "Has Purchase Price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:335 +#: src/tables/stock/StockItemTable.tsx:357 msgid "Show items which have a purchase price" msgstr "" -#: src/tables/stock/StockItemTable.tsx:343 +#: src/tables/stock/StockItemTable.tsx:365 msgid "External Location" msgstr "" -#: src/tables/stock/StockItemTable.tsx:344 +#: src/tables/stock/StockItemTable.tsx:366 msgid "Show items in an external location" msgstr "" -#: src/tables/stock/StockItemTable.tsx:416 +#: src/tables/stock/StockItemTable.tsx:438 msgid "Add a new stock item" msgstr "" -#: src/tables/stock/StockItemTable.tsx:425 +#: src/tables/stock/StockItemTable.tsx:447 msgid "Remove some quantity from a stock item" msgstr "" -#: src/tables/stock/StockItemTable.tsx:447 +#: src/tables/stock/StockItemTable.tsx:469 msgid "Move Stock items to new locations" msgstr "" -#: src/tables/stock/StockItemTable.tsx:454 +#: src/tables/stock/StockItemTable.tsx:476 msgid "Change stock status" msgstr "" -#: src/tables/stock/StockItemTable.tsx:456 +#: src/tables/stock/StockItemTable.tsx:478 msgid "Change the status of stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:463 +#: src/tables/stock/StockItemTable.tsx:485 msgid "Merge stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:465 +#: src/tables/stock/StockItemTable.tsx:487 msgid "Merge stock items" msgstr "" -#: src/tables/stock/StockItemTable.tsx:472 +#: src/tables/stock/StockItemTable.tsx:494 msgid "Order stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:474 -#: src/tables/stock/StockItemTable.tsx:480 +#: src/tables/stock/StockItemTable.tsx:496 +#: src/tables/stock/StockItemTable.tsx:502 msgid "Order new stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:478 +#: src/tables/stock/StockItemTable.tsx:500 msgid "Assign to customer" msgstr "" -#: src/tables/stock/StockItemTable.tsx:487 +#: src/tables/stock/StockItemTable.tsx:509 msgid "Delete stock" msgstr "" -#: src/tables/stock/StockItemTable.tsx:489 +#: src/tables/stock/StockItemTable.tsx:511 msgid "Delete stock items" msgstr "" From e49c8a389312b9ca5e6d5e49788291ed6ff0e486 Mon Sep 17 00:00:00 2001 From: Oliver Date: Tue, 9 Jul 2024 00:55:58 +1000 Subject: [PATCH 02/36] Fix: New translations django.po from Crowdin --- .../InvenTree/locale/fr/LC_MESSAGES/django.po | 223 +++++------------- 1 file changed, 57 insertions(+), 166 deletions(-) diff --git a/src/backend/InvenTree/locale/fr/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/fr/LC_MESSAGES/django.po index 85b8eb997de5..b44f420bb014 100644 --- a/src/backend/InvenTree/locale/fr/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/fr/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-07-08 14:46+0000\n" -"PO-Revision-Date: 2024-07-05 14:57\n" +"PO-Revision-Date: 2024-07-08 14:55\n" "Last-Translator: \n" "Language-Team: French\n" "Language: fr_FR\n" @@ -783,16 +783,12 @@ msgid "Assembly BOM has not been validated" msgstr "" #: build/models.py:134 -#, fuzzy -#| msgid "Build output cannot be specified for allocation of untracked parts" msgid "Build order cannot be created for an inactive part" -msgstr "La sortie de la construction ne peut pas être spécifiée pour l'allocation des pièces non suivies" +msgstr "" #: build/models.py:141 -#, fuzzy -#| msgid "Build output cannot be specified for allocation of untracked parts" msgid "Build order cannot be created for an unlocked part" -msgstr "La sortie de la construction ne peut pas être spécifiée pour l'allocation des pièces non suivies" +msgstr "" #: build/models.py:155 msgid "Invalid choice for parent build" @@ -1493,10 +1489,8 @@ msgid "Failed to start auto-allocation task" msgstr "" #: build/serializers.py:1095 -#, fuzzy -#| msgid "Supplier Part Orders" msgid "Supplier Part Number" -msgstr "Commandes de pièces du fournisseur" +msgstr "" #: build/serializers.py:1096 company/models.py:500 msgid "Manufacturer Part Number" @@ -1508,16 +1502,12 @@ msgid "Location Name" msgstr "" #: build/serializers.py:1098 -#, fuzzy -#| msgid "Build Order Reference" msgid "Build Reference" -msgstr "Référence de l' Ordre de Fabrication" +msgstr "" #: build/serializers.py:1099 -#, fuzzy -#| msgid "Reference" msgid "BOM Reference" -msgstr "Référence" +msgstr "" #: build/serializers.py:1186 part/admin.py:402 part/models.py:3993 msgid "Part IPN" @@ -1561,22 +1551,16 @@ msgid "Available Stock" msgstr "Stock disponible" #: build/serializers.py:1224 -#, fuzzy -#| msgid "Substitute Stock" msgid "Available Substitute Stock" -msgstr "Stock de substitution" +msgstr "" #: build/serializers.py:1225 -#, fuzzy -#| msgid "Available Stock" msgid "Available Variant Stock" -msgstr "Stock disponible" +msgstr "" #: build/serializers.py:1226 -#, fuzzy -#| msgid "Available Stock" msgid "Total Available Stock" -msgstr "Stock disponible" +msgstr "" #: build/serializers.py:1227 part/serializers.py:862 msgid "External Stock" @@ -2789,16 +2773,12 @@ msgid "Prevent build order creation for inactive parts" msgstr "" #: common/models.py:1801 -#, fuzzy -#| msgid "Required For" msgid "Require Locked Part" -msgstr "Requis pour" +msgstr "" #: common/models.py:1802 -#, fuzzy -#| msgid "Print build order report" msgid "Prevent build order creation for unlocked parts" -msgstr "Imprimer le rapport d'ordre de construction" +msgstr "" #: common/models.py:1807 msgid "Require Valid BOM" @@ -3704,10 +3684,8 @@ msgid "Target model ID for this image" msgstr "" #: common/models.py:3035 -#, fuzzy -#| msgid "Customer" msgid "Custom Unit" -msgstr "Client" +msgstr "" #: common/models.py:3056 msgid "Unit symbol must be unique" @@ -4036,30 +4014,24 @@ msgid "Is this company active?" msgstr "Cette entreprise est-elle active ?" #: company/models.py:168 -#, fuzzy -#| msgid "is customer" msgid "Is customer" -msgstr "est client" +msgstr "" #: company/models.py:169 msgid "Do you sell items to this company?" msgstr "Vendez-vous des objets à cette entreprise?" #: company/models.py:174 -#, fuzzy -#| msgid "is supplier" msgid "Is supplier" -msgstr "est fournisseur" +msgstr "" #: company/models.py:175 msgid "Do you purchase items from this company?" msgstr "Est-ce que vous achetez des articles à cette entreprise?" #: company/models.py:180 -#, fuzzy -#| msgid "is manufacturer" msgid "Is manufacturer" -msgstr "est fabricant" +msgstr "" #: company/models.py:181 msgid "Does this company manufacture parts?" @@ -4220,10 +4192,8 @@ msgid "Manufacturer part description" msgstr "" #: company/models.py:569 -#, fuzzy -#| msgid "Manufacturer Part" msgid "Manufacturer Part Parameter" -msgstr "Pièces du fabricant" +msgstr "" #: company/models.py:588 msgid "Parameter name" @@ -4379,20 +4349,16 @@ msgid "Date of last update of availability data" msgstr "Date de dernière mise à jour des données de disponibilité" #: company/models.py:1015 -#, fuzzy -#| msgid "Supplier Part Orders" msgid "Supplier Price Break" -msgstr "Commandes de pièces du fournisseur" +msgstr "" #: company/serializers.py:174 msgid "Default currency used for this supplier" msgstr "Devise par défaut utilisée pour ce fournisseur" #: company/serializers.py:210 -#, fuzzy -#| msgid "Company name" msgid "Company Name" -msgstr "Nom de la société" +msgstr "" #: company/serializers.py:384 part/admin.py:126 part/serializers.py:855 #: part/templates/part/part_base.html:197 @@ -4853,42 +4819,32 @@ msgid "Placed" msgstr "Placé" #: importer/mixins.py:263 -#, fuzzy -#| msgid "Invalid value for overage" msgid "Invalid export format" -msgstr "Valeur invalide pour le dépassement" +msgstr "" #: importer/models.py:56 msgid "Timestamp" msgstr "" #: importer/models.py:61 -#, fuzzy -#| msgid "Select file to upload" msgid "Data file to import" -msgstr "Sélectionner un fichier à téléverser" +msgstr "" #: importer/models.py:70 templates/js/translated/tables.js:558 msgid "Columns" msgstr "" #: importer/models.py:81 -#, fuzzy -#| msgid "Important dates" msgid "Import status" -msgstr "Dates importantes" +msgstr "" #: importer/models.py:91 -#, fuzzy -#| msgid "Build Details" msgid "Field Defaults" -msgstr "Détails de la construction" +msgstr "" #: importer/models.py:201 -#, fuzzy -#| msgid "Required build quantity has not been completed" msgid "Some required fields have not been mapped" -msgstr "La quantité nécessaire n'a pas encore été complétée" +msgstr "" #: importer/models.py:346 msgid "Column is already mapped to a database field" @@ -4907,26 +4863,20 @@ msgid "Column does not exist in the data file" msgstr "" #: importer/models.py:372 -#, fuzzy -#| msgid "User does not have permission to view this model" msgid "Field does not exist in the target model" -msgstr "L'utilisateur n'a pas la permission de voir ce modèle" +msgstr "" #: importer/models.py:376 msgid "Selected field is read-only" msgstr "" #: importer/models.py:381 importer/models.py:452 -#, fuzzy -#| msgid "Active Sessions" msgid "Import Session" -msgstr "Sessions actives" +msgstr "" #: importer/models.py:385 -#, fuzzy -#| msgid "File Fields" msgid "Field" -msgstr "Champs fichier" +msgstr "" #: importer/models.py:387 msgid "Column" @@ -4953,10 +4903,8 @@ msgid "Valid" msgstr "Valide" #: importer/operations.py:28 importer/operations.py:49 -#, fuzzy -#| msgid "Unsupported file format: {fmt}" msgid "Unsupported data file format" -msgstr "Type de fichier non pris en charge {fmt}" +msgstr "" #: importer/operations.py:40 msgid "Failed to open data file" @@ -4975,10 +4923,8 @@ msgid "List of row IDs to accept" msgstr "" #: importer/serializers.py:149 -#, fuzzy -#| msgid "No data rows provided" msgid "No rows provided" -msgstr "Pas de lignes de données fournies" +msgstr "" #: importer/serializers.py:153 msgid "Row does not belong to this session" @@ -4989,36 +4935,28 @@ msgid "Row contains invalid data" msgstr "" #: importer/serializers.py:159 -#, fuzzy -#| msgid "This build output has already been completed" msgid "Row has already been completed" -msgstr "Cet ordre de production a déjà été produit" +msgstr "" #: importer/status_codes.py:11 -#, fuzzy -#| msgid "Initialized" msgid "Initializing" -msgstr "Initialisé" +msgstr "" #: importer/status_codes.py:12 msgid "Mapping Columns" msgstr "" #: importer/status_codes.py:13 -#, fuzzy -#| msgid "Important dates" msgid "Importing Data" -msgstr "Dates importantes" +msgstr "" #: importer/status_codes.py:16 msgid "Processing Data" msgstr "" #: importer/validators.py:21 -#, fuzzy -#| msgid "Image download exceeded maximum size" msgid "Data file exceeds maximum size limit" -msgstr "La taille de l'image dépasse la taille maximale autorisée" +msgstr "" #: importer/validators.py:26 msgid "Data file contains no headers" @@ -5033,10 +4971,8 @@ msgid "Data file contains too many rows" msgstr "" #: importer/validators.py:49 -#, fuzzy -#| msgid "Metadata must be a python dict object" msgid "Value must be a valid dictionary object" -msgstr "Les metadata doivent être un objet python de type \"dict\"" +msgstr "" #: machine/machine_types/label_printer.py:212 msgid "Copies" @@ -5366,10 +5302,8 @@ msgid "Unit price" msgstr "Prix unitaire" #: order/models.py:1361 -#, fuzzy -#| msgid "Purchase Order Items" msgid "Purchase Order Line Item" -msgstr "Articles de la commande d'achat" +msgstr "" #: order/models.py:1385 msgid "Supplier part must match supplier" @@ -5412,16 +5346,12 @@ msgid "Where does the Purchaser want this item to be stored?" msgstr "Où l'Acheteur veut-il stocker cet article ?" #: order/models.py:1503 -#, fuzzy -#| msgid "Purchase Order Items" msgid "Purchase Order Extra Line" -msgstr "Articles de la commande d'achat" +msgstr "" #: order/models.py:1532 -#, fuzzy -#| msgid "Sales Order" msgid "Sales Order Line Item" -msgstr "Commandes" +msgstr "" #: order/models.py:1553 msgid "Virtual part cannot be assigned to a sales order" @@ -5452,10 +5382,8 @@ msgid "Shipped quantity" msgstr "Quantité expédiée" #: order/models.py:1667 -#, fuzzy -#| msgid "Sales Order Default Shipment" msgid "Sales Order Shipment" -msgstr "Expédition par défaut du bon de commande" +msgstr "" #: order/models.py:1688 msgid "Date of shipment" @@ -5511,16 +5439,12 @@ msgid "Shipment has no allocated stock items" msgstr "L'expédition n'a pas d'articles en stock alloués" #: order/models.py:1828 -#, fuzzy -#| msgid "Sales Order Reference" msgid "Sales Order Extra Line" -msgstr "Bon de commande de référence" +msgstr "" #: order/models.py:1857 -#, fuzzy -#| msgid "Discard Allocations" msgid "Sales Order Allocation" -msgstr "Ignorer les allocations" +msgstr "" #: order/models.py:1880 order/models.py:1882 msgid "Stock item has not been assigned" @@ -5584,10 +5508,8 @@ msgid "Return order status" msgstr "Statut du retour de commande" #: order/models.py:2237 -#, fuzzy -#| msgid "Return Order" msgid "Return Order Line Item" -msgstr "Retour de commande" +msgstr "" #: order/models.py:2251 msgid "Only serialized items can be assigned to a Return Order" @@ -5619,10 +5541,8 @@ msgid "Cost associated with return or repair for this line item" msgstr "" #: order/models.py:2303 -#, fuzzy -#| msgid "Return Order" msgid "Return Order Extra Line" -msgstr "Retour de commande" +msgstr "" #: order/serializers.py:83 order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 @@ -5678,10 +5598,8 @@ msgid "Internal Part Number" msgstr "" #: order/serializers.py:530 -#, fuzzy -#| msgid "Internal Part" msgid "Internal Part Name" -msgstr "Pièces Internes" +msgstr "" #: order/serializers.py:546 msgid "Supplier part must be specified" @@ -6637,16 +6555,12 @@ msgstr "Est-ce que cette pièce est active ?" #: part/models.py:1090 templates/js/translated/part.js:818 #: templates/js/translated/table_filters.js:721 -#, fuzzy -#| msgid "Lock" msgid "Locked" -msgstr "Verrouillé" +msgstr "" #: part/models.py:1091 -#, fuzzy -#| msgid "Build order part cannot be changed" msgid "Locked parts cannot be edited" -msgstr "La pièce de commande de construction ne peut pas être changée" +msgstr "" #: part/models.py:1097 msgid "Is this a virtual part, such as a software product or license?" @@ -6895,16 +6809,12 @@ msgid "User who requested this stocktake report" msgstr "" #: part/models.py:3301 -#, fuzzy -#| msgid "Add Price Break" msgid "Part Sale Price Break" -msgstr "Ajouter un prix de rupture" +msgstr "" #: part/models.py:3413 -#, fuzzy -#| msgid "Test Templates" msgid "Part Test Template" -msgstr "Tester le modèle" +msgstr "" #: part/models.py:3439 msgid "Invalid template name - must include at least one alphanumeric character" @@ -6990,10 +6900,8 @@ msgid "Valid choices for this test (comma-separated)" msgstr "" #: part/models.py:3577 -#, fuzzy -#| msgid "Copy Category Parameter Templates" msgid "Part Parameter Template" -msgstr "Copier les templates de paramètres de catégorie" +msgstr "" #: part/models.py:3604 msgid "Checkbox parameters cannot have units" @@ -7033,10 +6941,8 @@ msgid "Valid choices for this parameter (comma-separated)" msgstr "" #: part/models.py:3723 -#, fuzzy -#| msgid "Parameters" msgid "Part Parameter" -msgstr "Paramètres" +msgstr "" #: part/models.py:3749 msgid "Parameter cannot be modified - part is locked" @@ -7060,10 +6966,8 @@ msgid "Parameter Value" msgstr "" #: part/models.py:3892 -#, fuzzy -#| msgid "Copy Category Parameter Templates" msgid "Part Category Parameter Template" -msgstr "Copier les templates de paramètres de catégorie" +msgstr "" #: part/models.py:3951 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" @@ -9566,20 +9470,16 @@ msgid "StockItem cannot be moved as it is not in stock" msgstr "" #: stock/models.py:2317 -#, fuzzy -#| msgid "Use Stock Item Pricing" msgid "Stock Item Tracking" -msgstr "Utiliser les prix des articles en stock" +msgstr "" #: stock/models.py:2350 msgid "Entry notes" msgstr "" #: stock/models.py:2390 -#, fuzzy -#| msgid "Stock Items" msgid "Stock Item Test Result" -msgstr "Éléments en stock" +msgstr "" #: stock/models.py:2423 msgid "Value must be provided for this test" @@ -9694,10 +9594,8 @@ msgid "Parent Item" msgstr "" #: stock/serializers.py:450 -#, fuzzy -#| msgid "Source stock item" msgid "Parent stock item" -msgstr "Stock d'origine de l'article" +msgstr "" #: stock/serializers.py:469 msgid "Use pack size when adding: the quantity defined is the number of packs" @@ -9718,26 +9616,20 @@ msgid "Child Items" msgstr "" #: stock/serializers.py:598 -#, fuzzy -#| msgid "Tracking Number" msgid "Tracking Items" -msgstr "N° de suivi" +msgstr "" #: stock/serializers.py:604 msgid "Purchase price of this stock item, per unit or pack" msgstr "" #: stock/serializers.py:623 -#, fuzzy -#| msgid "Minimum Price" msgid "Minimum Pricing" -msgstr "Prix Minimum" +msgstr "" #: stock/serializers.py:629 -#, fuzzy -#| msgid "Maximum Price" msgid "Maximum Pricing" -msgstr "Prix Maximum" +msgstr "" #: stock/serializers.py:653 msgid "Enter number of stock items to serialize" @@ -14498,10 +14390,8 @@ msgid "Show active parts" msgstr "" #: templates/js/translated/table_filters.js:722 -#, fuzzy -#| msgid "Show related parts" msgid "Show locked parts" -msgstr "Afficher les pièces connexes" +msgstr "" #: templates/js/translated/table_filters.js:730 msgid "Available stock" @@ -14912,3 +14802,4 @@ msgstr "Droit de modifier des élément" #: users/models.py:408 msgid "Permission to delete items" msgstr "Droit de supprimer des éléments" + From 0c2c63de5a47fdf47e212eeea5281682de543d27 Mon Sep 17 00:00:00 2001 From: Oliver Date: Tue, 9 Jul 2024 00:56:00 +1000 Subject: [PATCH 03/36] Fix: New translations django.po from Crowdin --- .../InvenTree/locale/es/LC_MESSAGES/django.po | 4087 ++++++++--------- 1 file changed, 2041 insertions(+), 2046 deletions(-) diff --git a/src/backend/InvenTree/locale/es/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/es/LC_MESSAGES/django.po index 6977f96136b4..33309fd25479 100644 --- a/src/backend/InvenTree/locale/es/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/es/LC_MESSAGES/django.po @@ -3,23 +3,23 @@ msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-07-08 14:46+0000\n" -"PO-Revision-Date: 2024-07-05 14:58\n" +"PO-Revision-Date: 2024-07-08 14:55\n" "Last-Translator: \n" -"Language-Team: Spanish, Mexico\n" -"Language: es_MX\n" +"Language-Team: Spanish\n" +"Language: es_ES\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Crowdin-Project: inventree\n" "X-Crowdin-Project-ID: 452300\n" -"X-Crowdin-Language: es-MX\n" +"X-Crowdin-Language: es-ES\n" "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:272 msgid "API endpoint not found" -msgstr "Endpoint de API no encontrado" +msgstr "endpoint API no encontrado" #: InvenTree/api.py:505 msgid "User does not have permission to view this model" @@ -28,7 +28,7 @@ msgstr "El usuario no tiene permiso para ver este modelo" #: InvenTree/conversion.py:160 #, python-brace-format msgid "Invalid unit provided ({unit})" -msgstr "Unidad proporcionada no válida ({unit})" +msgstr "" #: InvenTree/conversion.py:177 msgid "No value provided" @@ -82,7 +82,7 @@ msgstr "Notas" #: InvenTree/format.py:164 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" -msgstr "" +msgstr "El valor '{name}' no aparece en formato de patrón" #: InvenTree/format.py:175 msgid "Provided value does not match required pattern: " @@ -90,7 +90,7 @@ msgstr "El valor proporcionado no coincide con el patrón requerido: " #: InvenTree/forms.py:128 msgid "Enter password" -msgstr "Ingresa tu contraseña" +msgstr "Introduzca contraseña" #: InvenTree/forms.py:129 msgid "Enter new password" @@ -98,11 +98,11 @@ msgstr "Ingrese su nueva contraseña" #: InvenTree/forms.py:138 msgid "Confirm password" -msgstr "Confirma la contraseña" +msgstr "Confirmar la contraseña" #: InvenTree/forms.py:139 msgid "Confirm new password" -msgstr "Confirma la nueva contraseña" +msgstr "Confirmar contraseña nueva" #: InvenTree/forms.py:143 msgid "Old password" @@ -114,11 +114,11 @@ msgstr "Email (de nuevo)" #: InvenTree/forms.py:186 msgid "Email address confirmation" -msgstr "Confirmación de correo electrónico" +msgstr "Confirmación de dirección de email" #: InvenTree/forms.py:209 msgid "You must type the same email each time." -msgstr "El correo electrónico debe coincidir." +msgstr "Debe escribir el mismo correo electrónico cada vez." #: InvenTree/forms.py:248 InvenTree/forms.py:256 msgid "The provided primary email address is not valid." @@ -130,7 +130,7 @@ msgstr "El dominio de correo electrónico proporcionado no está aprobado." #: InvenTree/forms.py:392 msgid "Registration is disabled." -msgstr "El registro ha sido desactivado." +msgstr "Registro deshabilitado." #: InvenTree/helpers.py:525 order/models.py:562 order/models.py:764 msgid "Invalid quantity provided" @@ -142,7 +142,7 @@ msgstr "No se ha proporcionado un número de serie" #: InvenTree/helpers.py:562 msgid "Duplicate serial" -msgstr "Número de serie duplicado" +msgstr "Serie duplicada" #: InvenTree/helpers.py:594 InvenTree/helpers.py:637 #, python-brace-format @@ -152,7 +152,7 @@ msgstr "Rango de grupo inválido: {group}" #: InvenTree/helpers.py:625 #, python-brace-format msgid "Group range {group} exceeds allowed quantity ({expected_quantity})" -msgstr "El rango del grupo {group} supera la cantidad permitida ({expected_quantity})" +msgstr "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 @@ -161,15 +161,15 @@ msgstr "Secuencia de grupo inválida: {group}" #: InvenTree/helpers.py:691 msgid "No serial numbers found" -msgstr "No se encontraron números de serie" +msgstr "Numeros de serie no encontrados" #: InvenTree/helpers.py:696 msgid "Number of unique serial numbers ({len(serials)}) must match quantity ({expected_quantity})" -msgstr "Los números de serie únicos ({len(serials)}) deben coincidir con la cantidad ({expected_quantity})" +msgstr "Los números de serie únicos ({len(serials)}) debe coincidir con la cantidad ({expected_quantity})" #: InvenTree/helpers.py:814 msgid "Remove HTML tags from this value" -msgstr "Elimine etiquetas HTML de este valor" +msgstr "Eliminar etiquetas HTML de este valor" #: InvenTree/helpers_model.py:140 msgid "Connection error" @@ -177,7 +177,7 @@ msgstr "Error de conexión" #: InvenTree/helpers_model.py:145 InvenTree/helpers_model.py:152 msgid "Server responded with invalid status code" -msgstr "El servidor respondió con un código de estado no válido" +msgstr "El servidor respondió con código de estado no válido" #: InvenTree/helpers_model.py:148 msgid "Exception occurred" @@ -193,7 +193,7 @@ msgstr "El tamaño de la imagen es demasiado grande" #: InvenTree/helpers_model.py:173 msgid "Image download exceeded maximum size" -msgstr "La imagen descargada exedió el tamaño máximo" +msgstr "La descarga de imagen excedió el tamaño máximo" #: InvenTree/helpers_model.py:178 msgid "Remote server returned empty response" @@ -253,7 +253,7 @@ msgstr "Hebreo" #: InvenTree/locales.py:30 msgid "Hindi" -msgstr "Hindi" +msgstr "" #: InvenTree/locales.py:31 msgid "Hungarian" @@ -273,7 +273,7 @@ msgstr "Coreano" #: InvenTree/locales.py:35 msgid "Latvian" -msgstr "Letón" +msgstr "" #: InvenTree/locales.py:36 msgid "Dutch" @@ -329,7 +329,7 @@ msgstr "Turco" #: InvenTree/locales.py:49 msgid "Ukrainian" -msgstr "Ucraniano" +msgstr "" #: InvenTree/locales.py:50 msgid "Vietnamese" @@ -346,7 +346,7 @@ msgstr "Chino (Tradicional)" #: InvenTree/magic_login.py:28 #, python-brace-format msgid "[{site_name}] Log in to the app" -msgstr "[{site_name}] Iniciar sesión en la aplicación" +msgstr "" #: InvenTree/magic_login.py:38 InvenTree/serializers.py:415 #: company/models.py:136 company/templates/company/company_base.html:138 @@ -357,43 +357,43 @@ msgstr "Correo electrónico" #: InvenTree/models.py:105 msgid "Error running plugin validation" -msgstr "Error al ejecutar la validación del plugin" +msgstr "" #: InvenTree/models.py:174 msgid "Metadata must be a python dict object" -msgstr "" +msgstr "Los metadatos deben ser un objeto diccionario de python" #: InvenTree/models.py:180 msgid "Plugin Metadata" -msgstr "" +msgstr "Metadatos del complemento" #: InvenTree/models.py:181 msgid "JSON metadata field, for use by external plugins" -msgstr "" +msgstr "Campo de metadatos JSON, para uso por complementos externos" #: InvenTree/models.py:411 msgid "Improperly formatted pattern" -msgstr "" +msgstr "Patrón con formato incorrecto" #: InvenTree/models.py:418 msgid "Unknown format key specified" -msgstr "" +msgstr "Clave de formato especificado desconocida" #: InvenTree/models.py:424 msgid "Missing required format key" -msgstr "" +msgstr "Falta la clave de formato necesaria" #: InvenTree/models.py:435 msgid "Reference field cannot be empty" -msgstr "" +msgstr "El campo de servidor no puede estar vacío" #: InvenTree/models.py:443 msgid "Reference must match required pattern" -msgstr "" +msgstr "La referencia debe coincidir con la expresión regular {pattern}" #: InvenTree/models.py:474 msgid "Reference number is too large" -msgstr "" +msgstr "El número de referencia es demasiado grande" #: InvenTree/models.py:722 msgid "Duplicate names cannot exist under the same parent" @@ -471,7 +471,7 @@ msgstr "Ruta" #: InvenTree/models.py:921 msgid "Markdown notes (optional)" -msgstr "Notas (opcional)" +msgstr "Notas de Markdown (opcional)" #: InvenTree/models.py:950 msgid "Barcode Data" @@ -499,30 +499,30 @@ msgstr "Error de servidor" #: InvenTree/models.py:1055 msgid "An error has been logged by the server." -msgstr "" +msgstr "Se ha registrado un error por el servidor." #: InvenTree/serializers.py:63 part/models.py:4277 msgid "Must be a valid number" -msgstr "" +msgstr "Debe ser un número válido" #: InvenTree/serializers.py:100 company/models.py:186 #: company/templates/company/company_base.html:112 part/models.py:3011 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" -msgstr "" +msgstr "Moneda" #: InvenTree/serializers.py:103 msgid "Select currency from available options" -msgstr "" +msgstr "Seleccionar moneda de las opciones disponibles" #: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:33 msgid "Username" -msgstr "" +msgstr "Nombre de usuario" #: InvenTree/serializers.py:409 templates/InvenTree/settings/user.html:37 msgid "First Name" -msgstr "" +msgstr "Nombre" #: InvenTree/serializers.py:409 msgid "First name of the user" @@ -530,7 +530,7 @@ msgstr "" #: InvenTree/serializers.py:412 templates/InvenTree/settings/user.html:41 msgid "Last Name" -msgstr "" +msgstr "Apellido" #: InvenTree/serializers.py:412 msgid "Last name of the user" @@ -567,7 +567,7 @@ msgstr "" #: templates/js/translated/table_filters.js:716 #: templates/js/translated/table_filters.js:801 users/models.py:182 msgid "Active" -msgstr "" +msgstr "Activo" #: InvenTree/serializers.py:445 msgid "Is this user account active" @@ -575,15 +575,15 @@ msgstr "" #: InvenTree/serializers.py:463 msgid "You do not have permission to change this user role." -msgstr "" +msgstr "No tiene permiso para cambiar este rol de usuario." #: InvenTree/serializers.py:475 msgid "Only superusers can create new users" -msgstr "" +msgstr "Solo los superusuarios pueden crear nuevos usuarios" #: InvenTree/serializers.py:494 msgid "Your account has been created." -msgstr "" +msgstr "Su cuenta ha sido creada." #: InvenTree/serializers.py:496 msgid "Please use the password reset function to login" @@ -591,129 +591,129 @@ msgstr "" #: InvenTree/serializers.py:503 msgid "Welcome to InvenTree" -msgstr "" +msgstr "Bienvenido a InvenTree" #: InvenTree/serializers.py:561 msgid "Invalid value" -msgstr "" +msgstr "Valor inválido" #: InvenTree/serializers.py:581 importer/models.py:60 msgid "Data File" -msgstr "" +msgstr "Archivo de datos" #: InvenTree/serializers.py:582 msgid "Select data file for upload" -msgstr "" +msgstr "Seleccione el archivo para subir" #: InvenTree/serializers.py:599 msgid "Unsupported file type" -msgstr "" +msgstr "Tipo de archivo no soportado" #: InvenTree/serializers.py:605 msgid "File is too large" -msgstr "" +msgstr "El archivo es demasiado grande" #: InvenTree/serializers.py:626 msgid "No columns found in file" -msgstr "" +msgstr "No hay columnas en el archivo" #: InvenTree/serializers.py:629 msgid "No data rows found in file" -msgstr "" +msgstr "No hay filas de datos en el archivo" #: InvenTree/serializers.py:742 msgid "No data rows provided" -msgstr "" +msgstr "No se proporcionaron filas de datos" #: InvenTree/serializers.py:745 msgid "No data columns supplied" -msgstr "" +msgstr "No hay columnas de datos proporcionadas" #: InvenTree/serializers.py:812 #, python-brace-format msgid "Missing required column: '{name}'" -msgstr "" +msgstr "Falta la columna requerida: '{name}'" #: InvenTree/serializers.py:821 #, python-brace-format msgid "Duplicate column: '{col}'" -msgstr "" +msgstr "Columna duplicada: '{col}'" #: InvenTree/serializers.py:861 msgid "Remote Image" -msgstr "" +msgstr "Imagen remota" #: InvenTree/serializers.py:862 msgid "URL of remote image file" -msgstr "" +msgstr "URL de imagen remota" #: InvenTree/serializers.py:880 msgid "Downloading images from remote URL is not enabled" -msgstr "" +msgstr "La descarga de imágenes desde la URL remota no está habilitada" #: InvenTree/status.py:66 part/serializers.py:1202 msgid "Background worker check failed" -msgstr "" +msgstr "Falló la comprobación en segundo plano del worker" #: InvenTree/status.py:70 msgid "Email backend not configured" -msgstr "" +msgstr "No se ha configurado el backend de correo" #: InvenTree/status.py:73 msgid "InvenTree system health checks failed" -msgstr "" +msgstr "Las comprobaciones de estado del sistema InvenTree fallaron" #: InvenTree/templatetags/inventree_extras.py:184 msgid "Unknown database" -msgstr "" +msgstr "Base de datos desconocida" #: InvenTree/validators.py:32 InvenTree/validators.py:34 msgid "Invalid physical unit" -msgstr "" +msgstr "Unidad física inválida" #: InvenTree/validators.py:40 msgid "Not a valid currency code" -msgstr "" +msgstr "No es un código de moneda válido" #: InvenTree/validators.py:118 InvenTree/validators.py:134 msgid "Overage value must not be negative" -msgstr "" +msgstr "El valor excedente no debe ser negativo" #: InvenTree/validators.py:136 msgid "Overage must not exceed 100%" -msgstr "" +msgstr "El excedente no debe superar el 100%" #: InvenTree/validators.py:142 msgid "Invalid value for overage" -msgstr "" +msgstr "Valor no válido para sobrecarga" #: InvenTree/views.py:400 templates/InvenTree/settings/user.html:23 msgid "Edit User Information" -msgstr "" +msgstr "Editar datos del usuario" #: InvenTree/views.py:412 templates/InvenTree/settings/user.html:20 msgid "Set Password" -msgstr "" +msgstr "Configurar contraseña" #: InvenTree/views.py:434 msgid "Password fields must match" -msgstr "" +msgstr "Los campos de contraseña deben coincidir" #: InvenTree/views.py:442 msgid "Wrong password provided" -msgstr "" +msgstr "Contraseña incorrecta proporcionada" #: InvenTree/views.py:650 templates/navbar.html:160 msgid "System Information" -msgstr "" +msgstr "Información del sistema" #: InvenTree/views.py:657 templates/navbar.html:171 msgid "About InvenTree" -msgstr "" +msgstr "Acerca de InvenTree" #: build/api.py:248 msgid "Build must be cancelled before it can be deleted" -msgstr "" +msgstr "La compilación debe cancelarse antes de poder ser eliminada" #: build/api.py:292 build/serializers.py:1190 part/models.py:4155 #: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 @@ -721,7 +721,7 @@ msgstr "" #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" -msgstr "" +msgstr "Consumible" #: build/api.py:293 build/serializers.py:1191 part/models.py:4149 #: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 @@ -730,19 +730,19 @@ msgstr "" #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:587 msgid "Optional" -msgstr "" +msgstr "Opcional" #: build/api.py:294 templates/js/translated/table_filters.js:408 #: templates/js/translated/table_filters.js:579 msgid "Tracked" -msgstr "" +msgstr "Rastreado" #: build/api.py:296 part/admin.py:144 templates/js/translated/build.js:1744 #: templates/js/translated/build.js:2630 #: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:571 msgid "Allocated" -msgstr "" +msgstr "Asignadas" #: build/api.py:304 company/models.py:879 company/serializers.py:386 #: company/templates/company/supplier_part.html:114 @@ -756,7 +756,7 @@ msgstr "" #: templates/js/translated/table_filters.js:340 #: templates/js/translated/table_filters.js:575 msgid "Available" -msgstr "" +msgstr "Disponible" #: build/models.py:85 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 @@ -765,7 +765,7 @@ msgstr "" #: templates/email/overdue_build_order.html:15 #: templates/js/translated/build.js:972 templates/js/translated/stock.js:2892 msgid "Build Order" -msgstr "" +msgstr "Construir órden" #: build/models.py:86 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 @@ -776,7 +776,7 @@ msgstr "" #: templates/InvenTree/settings/sidebar.html:55 #: templates/js/translated/search.js:186 users/models.py:207 msgid "Build Orders" -msgstr "" +msgstr "Construir órdenes" #: build/models.py:127 msgid "Assembly BOM has not been validated" @@ -792,7 +792,7 @@ msgstr "" #: build/models.py:155 msgid "Invalid choice for parent build" -msgstr "" +msgstr "Opción no válida para la construcción padre" #: build/models.py:166 order/models.py:240 msgid "Responsible user or group must be specified" @@ -800,11 +800,11 @@ msgstr "" #: build/models.py:172 msgid "Build order part cannot be changed" -msgstr "" +msgstr "La parte del pedido de construcción no puede ser modificada" #: build/models.py:233 msgid "Build Order Reference" -msgstr "" +msgstr "Número de orden de construcción o armado" #: build/models.py:234 build/serializers.py:1189 order/models.py:463 #: order/models.py:926 order/models.py:1289 order/models.py:2046 @@ -820,20 +820,20 @@ msgstr "" #: templates/js/translated/return_order.js:728 #: templates/js/translated/sales_order.js:1854 msgid "Reference" -msgstr "" +msgstr "Referencia" #: build/models.py:245 msgid "Brief description of the build (optional)" -msgstr "" +msgstr "Breve descripción de la construcción (opcional)" #: build/models.py:253 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" -msgstr "" +msgstr "Construcción o Armado Superior" #: build/models.py:254 msgid "BuildOrder to which this build is allocated" -msgstr "" +msgstr "Orden de Construcción o Armado a la que se asigna" #: build/models.py:259 build/serializers.py:1184 #: build/templates/build/build_base.html:97 @@ -885,103 +885,103 @@ msgstr "" #: templates/js/translated/stock.js:2857 templates/js/translated/stock.js:3090 #: templates/js/translated/stock.js:3236 msgid "Part" -msgstr "" +msgstr "Parte" #: build/models.py:267 msgid "Select part to build" -msgstr "" +msgstr "Seleccionar parte a construir o armar" #: build/models.py:272 msgid "Sales Order Reference" -msgstr "" +msgstr "Referencia de orden de venta" #: build/models.py:276 msgid "SalesOrder to which this build is allocated" -msgstr "" +msgstr "Orden de Venta a la que se asigna" #: build/models.py:281 build/serializers.py:1003 #: templates/js/translated/build.js:1731 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" -msgstr "" +msgstr "Ubicación de la fuente" #: build/models.py:285 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" -msgstr "" +msgstr "Seleccione la ubicación de donde tomar stock para esta construcción o armado (deje en blanco para tomar desde cualquier ubicación)" #: build/models.py:290 msgid "Destination Location" -msgstr "" +msgstr "Ubicación de destino" #: build/models.py:294 msgid "Select location where the completed items will be stored" -msgstr "" +msgstr "Seleccione la ubicación donde se almacenarán los artículos completados" #: build/models.py:298 msgid "Build Quantity" -msgstr "" +msgstr "Cantidad a crear" #: build/models.py:301 msgid "Number of stock items to build" -msgstr "" +msgstr "Número de objetos existentes a construir" #: build/models.py:305 msgid "Completed items" -msgstr "" +msgstr "Elementos completados" #: build/models.py:307 msgid "Number of stock items which have been completed" -msgstr "" +msgstr "Número de productos en stock que se han completado" #: build/models.py:311 msgid "Build Status" -msgstr "" +msgstr "Estado de la construcción" #: build/models.py:315 msgid "Build status code" -msgstr "" +msgstr "Código de estado de construcción" #: build/models.py:324 build/serializers.py:290 order/serializers.py:629 #: stock/models.py:839 stock/serializers.py:76 stock/serializers.py:1524 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" -msgstr "" +msgstr "Numero de lote" #: build/models.py:328 build/serializers.py:291 msgid "Batch code for this build output" -msgstr "" +msgstr "Número de lote de este producto final" #: build/models.py:331 order/models.py:316 order/serializers.py:127 #: part/models.py:1125 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 "" +msgstr "Fecha de Creación" #: build/models.py:335 msgid "Target completion date" -msgstr "" +msgstr "Fecha límite de finalización" #: build/models.py:336 msgid "Target date for build completion. Build will be overdue after this date." -msgstr "" +msgstr "Fecha límite para la finalización de la construcción. La construcción estará vencida después de esta fecha." #: build/models.py:339 order/models.py:521 order/models.py:2091 #: templates/js/translated/build.js:2247 msgid "Completion Date" -msgstr "" +msgstr "Fecha de finalización" #: build/models.py:345 msgid "completed by" -msgstr "" +msgstr "terminado por" #: build/models.py:353 templates/js/translated/build.js:2207 msgid "Issued by" -msgstr "" +msgstr "Emitido por" #: build/models.py:354 msgid "User who issued this build order" -msgstr "" +msgstr "El usuario que emitió esta orden" #: build/models.py:362 build/templates/build/build_base.html:204 #: build/templates/build/detail.html:122 common/models.py:152 @@ -996,11 +996,11 @@ msgstr "" #: templates/js/translated/return_order.js:358 #: templates/js/translated/table_filters.js:531 msgid "Responsible" -msgstr "" +msgstr "Responsable" #: build/models.py:363 msgid "User or group responsible for this build order" -msgstr "" +msgstr "Usuario o grupo responsable de esta orden de construcción" #: build/models.py:368 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 @@ -1012,20 +1012,20 @@ msgstr "" #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1019 msgid "External Link" -msgstr "" +msgstr "Link externo" #: build/models.py:369 common/models.py:3230 part/models.py:960 #: stock/models.py:835 msgid "Link to external URL" -msgstr "" +msgstr "Enlace a URL externa" #: build/models.py:373 msgid "Build Priority" -msgstr "" +msgstr "Prioridad de construcción" #: build/models.py:376 msgid "Priority of this build order" -msgstr "" +msgstr "Prioridad de esta orden de construcción" #: build/models.py:383 common/models.py:122 common/models.py:136 #: order/admin.py:18 order/models.py:298 order/serializers.py:108 @@ -1037,11 +1037,11 @@ msgstr "" #: templates/js/translated/table_filters.js:48 #: templates/project_code_data.html:6 msgid "Project Code" -msgstr "" +msgstr "Código del proyecto" #: build/models.py:384 msgid "Project code for this build order" -msgstr "" +msgstr "Código de proyecto para esta orden de ensamble" #: build/models.py:617 build/models.py:682 msgid "Failed to offload task to complete build allocations" @@ -1050,34 +1050,34 @@ msgstr "" #: build/models.py:639 #, python-brace-format msgid "Build order {build} has been completed" -msgstr "" +msgstr "El pedido {build} ha sido procesado" #: build/models.py:645 msgid "A build order has been completed" -msgstr "" +msgstr "Pedido #[order] ha sido procesado" #: build/models.py:871 build/models.py:956 msgid "No build output specified" -msgstr "" +msgstr "No se ha especificado salida de construcción" #: build/models.py:874 msgid "Build output is already completed" -msgstr "" +msgstr "La construcción de la salida ya está completa" #: build/models.py:877 msgid "Build output does not match Build Order" -msgstr "" +msgstr "La salida de la construcción no coincide con el orden de construcción" #: build/models.py:960 build/serializers.py:223 build/serializers.py:272 #: build/serializers.py:870 order/models.py:559 order/serializers.py:461 #: order/serializers.py:624 part/serializers.py:1515 part/serializers.py:1921 #: stock/models.py:678 stock/models.py:1496 stock/serializers.py:661 msgid "Quantity must be greater than zero" -msgstr "" +msgstr "La cantidad debe ser mayor que cero" #: build/models.py:965 build/serializers.py:228 msgid "Quantity cannot be greater than the output quantity" -msgstr "" +msgstr "La cantidad no puede ser mayor que la cantidad de salida" #: build/models.py:1025 build/serializers.py:551 #, python-brace-format @@ -1090,7 +1090,7 @@ msgstr "" #: build/models.py:1391 msgid "Build object" -msgstr "" +msgstr "Ensamblar equipo" #: build/models.py:1405 build/models.py:1661 build/serializers.py:210 #: build/serializers.py:257 build/serializers.py:1194 @@ -1138,36 +1138,36 @@ msgstr "" #: templates/js/translated/stock.js:873 templates/js/translated/stock.js:3021 #: templates/js/translated/stock.js:3104 msgid "Quantity" -msgstr "" +msgstr "Cantidad" #: build/models.py:1406 msgid "Required quantity for build order" -msgstr "" +msgstr "Cantidad requerida para orden de ensamble" #: build/models.py:1486 msgid "Build item must specify a build output, as master part is marked as trackable" -msgstr "" +msgstr "Item de construcción o armado debe especificar un resultado o salida, ya que la parte maestra está marcada como rastreable" #: build/models.py:1495 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" -msgstr "" +msgstr "Cantidad asignada ({q}) no debe exceder la cantidad disponible de stock ({a})" #: build/models.py:1505 order/models.py:1908 msgid "Stock item is over-allocated" -msgstr "" +msgstr "Artículo de stock sobreasignado" #: build/models.py:1511 order/models.py:1911 msgid "Allocation quantity must be greater than zero" -msgstr "" +msgstr "Cantidad asignada debe ser mayor que cero" #: build/models.py:1517 msgid "Quantity must be 1 for serialized stock" -msgstr "" +msgstr "La cantidad debe ser 1 para el stock serializado" #: build/models.py:1576 msgid "Selected stock item does not match BOM line" -msgstr "" +msgstr "El artículo de almacén selelccionado no coincide con la línea BOM" #: build/models.py:1648 build/serializers.py:850 order/serializers.py:1227 #: order/serializers.py:1248 stock/models.py:359 stock/serializers.py:93 @@ -1185,72 +1185,72 @@ msgstr "" #: templates/js/translated/stock.js:677 templates/js/translated/stock.js:843 #: templates/js/translated/stock.js:2977 msgid "Stock Item" -msgstr "" +msgstr "Artículo de stock" #: build/models.py:1649 msgid "Source stock item" -msgstr "" +msgstr "Producto original de stock" #: build/models.py:1662 msgid "Stock quantity to allocate to build" -msgstr "" +msgstr "Cantidad de stock a asignar para construir" #: build/models.py:1670 msgid "Install into" -msgstr "" +msgstr "Instalar en" #: build/models.py:1671 msgid "Destination stock item" -msgstr "" +msgstr "Artículo de stock de destino" #: build/serializers.py:89 build/serializers.py:1185 part/admin.py:41 #: part/admin.py:405 part/models.py:3992 part/stocktake.py:220 #: stock/admin.py:156 msgid "Part Name" -msgstr "" +msgstr "Nombre de parte" #: build/serializers.py:160 build/serializers.py:879 #: templates/js/translated/build.js:1322 msgid "Build Output" -msgstr "" +msgstr "Resultado de la construcción o armado" #: build/serializers.py:172 msgid "Build output does not match the parent build" -msgstr "" +msgstr "La salida de construcción no coincide con la construcción padre" #: build/serializers.py:176 msgid "Output part does not match BuildOrder part" -msgstr "" +msgstr "La parte de salida no coincide con la parte de la Orden de Construcción" #: build/serializers.py:180 msgid "This build output has already been completed" -msgstr "" +msgstr "Esta salida de construcción ya ha sido completada" #: build/serializers.py:191 msgid "This build output is not fully allocated" -msgstr "" +msgstr "Esta salida de construcción no está completamente asignada" #: build/serializers.py:211 build/serializers.py:258 msgid "Enter quantity for build output" -msgstr "" +msgstr "Ingrese la cantidad para la producción de la construcción" #: build/serializers.py:279 msgid "Integer quantity required for trackable parts" -msgstr "" +msgstr "Cantidad entera requerida para partes rastreables" #: build/serializers.py:282 msgid "Integer quantity required, as the bill of materials contains trackable parts" -msgstr "" +msgstr "Cantidad entera requerida, ya que la factura de materiales contiene partes rastreables" #: build/serializers.py:297 order/serializers.py:637 order/serializers.py:1387 #: stock/serializers.py:672 templates/js/translated/purchase_order.js:1153 #: templates/js/translated/stock.js:367 templates/js/translated/stock.js:565 msgid "Serial Numbers" -msgstr "" +msgstr "Números de serie" #: build/serializers.py:298 msgid "Enter serial numbers for build outputs" -msgstr "" +msgstr "Introduzca los números de serie de salidas de construcción" #: build/serializers.py:303 build/serializers.py:444 build/serializers.py:516 #: order/serializers.py:613 order/serializers.py:721 order/serializers.py:1714 @@ -1270,7 +1270,7 @@ msgstr "" #: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2201 #: templates/js/translated/stock.js:2871 msgid "Location" -msgstr "" +msgstr "Ubicación" #: build/serializers.py:304 msgid "Stock location for build output" @@ -1278,11 +1278,11 @@ msgstr "" #: build/serializers.py:318 msgid "Auto Allocate Serial Numbers" -msgstr "" +msgstr "Autoasignar Números de Serie" #: build/serializers.py:319 msgid "Automatically allocate required items with matching serial numbers" -msgstr "" +msgstr "Asignar automáticamente los artículos requeridos con números de serie coincidentes" #: build/serializers.py:334 msgid "Serial numbers must be provided for trackable parts" @@ -1290,31 +1290,31 @@ msgstr "" #: build/serializers.py:359 stock/api.py:1033 msgid "The following serial numbers already exist or are invalid" -msgstr "" +msgstr "Los siguientes números seriales ya existen o son inválidos" #: build/serializers.py:406 build/serializers.py:468 build/serializers.py:557 msgid "A list of build outputs must be provided" -msgstr "" +msgstr "Debe proporcionarse una lista de salidas de construcción" #: build/serializers.py:445 msgid "Stock location for scrapped outputs" -msgstr "" +msgstr "Ubicación de almacén para salidas descartadas" #: build/serializers.py:451 msgid "Discard Allocations" -msgstr "" +msgstr "Descartar asignaciones" #: build/serializers.py:452 msgid "Discard any stock allocations for scrapped outputs" -msgstr "" +msgstr "Descartar cualquier asignación de existencias para las salidas descartadas" #: build/serializers.py:457 msgid "Reason for scrapping build output(s)" -msgstr "" +msgstr "Razón para descartar la salida de ensamble(s)" #: build/serializers.py:517 msgid "Location for completed build outputs" -msgstr "" +msgstr "Ubicación para las salidas de construcción completadas" #: build/serializers.py:523 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:950 @@ -1329,15 +1329,15 @@ msgstr "" #: templates/js/translated/stock.js:2176 templates/js/translated/stock.js:2995 #: templates/js/translated/stock.js:3120 msgid "Status" -msgstr "" +msgstr "Estado" #: build/serializers.py:529 msgid "Accept Incomplete Allocation" -msgstr "" +msgstr "Aceptar Asignación Incompleta" #: build/serializers.py:530 msgid "Complete outputs if stock has not been fully allocated" -msgstr "" +msgstr "Completar salidas si el inventario no se ha asignado completamente" #: build/serializers.py:615 msgid "Consume Allocated Stock" @@ -1349,140 +1349,140 @@ msgstr "" #: build/serializers.py:622 msgid "Remove Incomplete Outputs" -msgstr "" +msgstr "Eliminar salidas incompletas" #: build/serializers.py:623 msgid "Delete any build outputs which have not been completed" -msgstr "" +msgstr "Eliminar cualquier salida de construcción que no se haya completado" #: build/serializers.py:650 msgid "Not permitted" -msgstr "" +msgstr "No permitido" #: build/serializers.py:651 msgid "Accept as consumed by this build order" -msgstr "" +msgstr "Aceptar como consumido por este pedido de construcción" #: build/serializers.py:652 msgid "Deallocate before completing this build order" -msgstr "" +msgstr "Liberar antes de completar esta orden de construcción" #: build/serializers.py:682 msgid "Overallocated Stock" -msgstr "" +msgstr "Stock sobreasignado" #: build/serializers.py:684 msgid "How do you want to handle extra stock items assigned to the build order" -msgstr "" +msgstr "Cómo quieres manejar los artículos extra de inventario asignados a la orden de construcción" #: build/serializers.py:694 msgid "Some stock items have been overallocated" -msgstr "" +msgstr "Algunos artículos de inventario han sido sobreasignados" #: build/serializers.py:699 msgid "Accept Unallocated" -msgstr "" +msgstr "Aceptar no asignado" #: build/serializers.py:700 msgid "Accept that stock items have not been fully allocated to this build order" -msgstr "" +msgstr "Aceptar que los artículos de stock no se han asignado completamente a este pedido de construcción" #: build/serializers.py:710 templates/js/translated/build.js:315 msgid "Required stock has not been fully allocated" -msgstr "" +msgstr "El stock requerido no ha sido completamente asignado" #: build/serializers.py:715 order/serializers.py:319 order/serializers.py:1290 msgid "Accept Incomplete" -msgstr "" +msgstr "Aceptar incompleto" #: build/serializers.py:716 msgid "Accept that the required number of build outputs have not been completed" -msgstr "" +msgstr "Aceptar que el número requerido de salidas de construcción no se han completado" #: build/serializers.py:726 templates/js/translated/build.js:319 msgid "Required build quantity has not been completed" -msgstr "" +msgstr "La cantidad de construcción requerida aún no se ha completado" #: build/serializers.py:735 templates/js/translated/build.js:303 msgid "Build order has incomplete outputs" -msgstr "" +msgstr "El orden de construcción tiene salidas incompletas" #: build/serializers.py:773 msgid "Build Line" -msgstr "" +msgstr "Linea de ensamble" #: build/serializers.py:783 msgid "Build output" -msgstr "" +msgstr "Resultado de la construcción o armado" #: build/serializers.py:791 msgid "Build output must point to the same build" -msgstr "" +msgstr "La salida de la construcción debe apuntar a la misma construcción" #: build/serializers.py:827 msgid "Build Line Item" -msgstr "" +msgstr "Crear partida" #: build/serializers.py:841 msgid "bom_item.part must point to the same part as the build order" -msgstr "" +msgstr "bom_item.part debe apuntar a la misma parte que la orden de construcción" #: build/serializers.py:856 stock/serializers.py:1256 msgid "Item must be in stock" -msgstr "" +msgstr "El artículo debe estar en stock" #: build/serializers.py:904 order/serializers.py:1281 #, python-brace-format msgid "Available quantity ({q}) exceeded" -msgstr "" +msgstr "Cantidad disponible ({q}) excedida" #: build/serializers.py:910 msgid "Build output must be specified for allocation of tracked parts" -msgstr "" +msgstr "La salida de la construcción debe especificarse para la asignación de partes rastreadas" #: build/serializers.py:917 msgid "Build output cannot be specified for allocation of untracked parts" -msgstr "" +msgstr "La salida de construcción no se puede especificar para la asignación de partes no rastreadas" #: build/serializers.py:941 order/serializers.py:1533 msgid "Allocation items must be provided" -msgstr "" +msgstr "Debe proporcionarse la adjudicación de artículos" #: build/serializers.py:1004 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" -msgstr "" +msgstr "Ubicación de inventario donde las partes deben ser obtenidas (dejar en blanco para tomar de cualquier ubicación)" #: build/serializers.py:1012 msgid "Exclude Location" -msgstr "" +msgstr "Excluir ubicación" #: build/serializers.py:1013 msgid "Exclude stock items from this selected location" -msgstr "" +msgstr "Excluir artículos de stock de esta ubicación seleccionada" #: build/serializers.py:1018 msgid "Interchangeable Stock" -msgstr "" +msgstr "Stock intercambiable" #: build/serializers.py:1019 msgid "Stock items in multiple locations can be used interchangeably" -msgstr "" +msgstr "Los artículos de inventario en múltiples ubicaciones se pueden utilizar de forma intercambiable" #: build/serializers.py:1024 msgid "Substitute Stock" -msgstr "" +msgstr "Sustituir stock" #: build/serializers.py:1025 msgid "Allow allocation of substitute parts" -msgstr "" +msgstr "Permitir la asignación de partes sustitutas" #: build/serializers.py:1030 msgid "Optional Items" -msgstr "" +msgstr "Elementos opcionales" #: build/serializers.py:1031 msgid "Allocate optional BOM items to build order" -msgstr "" +msgstr "Asignar artículos de la BOM opcionales para construir la orden" #: build/serializers.py:1053 msgid "Failed to start auto-allocation task" @@ -1494,12 +1494,12 @@ msgstr "" #: build/serializers.py:1096 company/models.py:500 msgid "Manufacturer Part Number" -msgstr "" +msgstr "Número de parte de fabricante" #: build/serializers.py:1097 stock/admin.py:53 stock/admin.py:175 #: stock/serializers.py:454 msgid "Location Name" -msgstr "" +msgstr "Nombre de localización" #: build/serializers.py:1098 msgid "Build Reference" @@ -1511,23 +1511,23 @@ msgstr "" #: build/serializers.py:1186 part/admin.py:402 part/models.py:3993 msgid "Part IPN" -msgstr "" +msgstr "IPN de la parte" #: build/serializers.py:1192 common/models.py:1488 part/admin.py:113 #: part/models.py:1068 templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:776 msgid "Trackable" -msgstr "" +msgstr "Rastreable" #: build/serializers.py:1196 part/models.py:4000 part/models.py:4472 #: stock/api.py:796 msgid "BOM Item" -msgstr "" +msgstr "Item de Lista de Materiales" #: build/serializers.py:1205 templates/js/translated/index.js:130 msgid "Allocated Stock" -msgstr "" +msgstr "Stock Asignado" #: build/serializers.py:1210 part/admin.py:132 part/bom.py:173 #: part/serializers.py:856 part/serializers.py:1533 @@ -1536,19 +1536,19 @@ msgstr "" #: templates/js/translated/part.js:2152 #: templates/js/translated/table_filters.js:170 msgid "On Order" -msgstr "" +msgstr "En pedido" #: build/serializers.py:1215 part/serializers.py:1535 #: templates/js/translated/build.js:2618 #: templates/js/translated/table_filters.js:360 msgid "In Production" -msgstr "" +msgstr "En producción" #: build/serializers.py:1220 part/bom.py:172 part/serializers.py:1558 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" -msgstr "" +msgstr "Stock Disponible" #: build/serializers.py:1224 msgid "Available Substitute Stock" @@ -1570,16 +1570,16 @@ msgstr "" #: order/status_codes.py:37 order/status_codes.py:64 order/status_codes.py:82 #: templates/js/translated/table_filters.js:598 msgid "Pending" -msgstr "" +msgstr "Pendiente" #: build/status_codes.py:12 msgid "Production" -msgstr "" +msgstr "Producción" #: build/status_codes.py:13 order/status_codes.py:15 order/status_codes.py:45 #: order/status_codes.py:70 msgid "Cancelled" -msgstr "" +msgstr "Cancelado" #: build/status_codes.py:14 generic/states/tests.py:19 importer/models.py:468 #: importer/status_codes.py:19 order/status_codes.py:14 @@ -1587,24 +1587,24 @@ msgstr "" #: order/templates/order/order_base.html:158 #: order/templates/order/sales_order_base.html:165 report/models.py:444 msgid "Complete" -msgstr "" +msgstr "Terminado" #: build/tasks.py:184 msgid "Stock required for build order" -msgstr "" +msgstr "Stock requerido para la orden de construcción" #: build/tasks.py:201 msgid "Overdue Build Order" -msgstr "" +msgstr "Orden de construcción atrasada" #: build/tasks.py:206 #, python-brace-format msgid "Build order {bo} is now overdue" -msgstr "" +msgstr "El pedido de construcción {bo} está atrasado" #: build/templates/build/build_base.html:18 msgid "Part thumbnail" -msgstr "" +msgstr "Miniatura de parte" #: build/templates/build/build_base.html:38 #: company/templates/company/supplier_part.html:35 @@ -1616,7 +1616,7 @@ msgstr "" #: stock/templates/stock/location.html:55 #: templates/js/translated/filters.js:335 msgid "Barcode actions" -msgstr "" +msgstr "Acciones para código de barras" #: build/templates/build/build_base.html:42 #: company/templates/company/supplier_part.html:39 @@ -1627,7 +1627,7 @@ msgstr "" #: stock/templates/stock/item_base.html:44 #: stock/templates/stock/location.html:57 templates/qr_button.html:1 msgid "Show QR Code" -msgstr "" +msgstr "Mostrar código QR" #: build/templates/build/build_base.html:45 #: company/templates/company/supplier_part.html:41 @@ -1640,7 +1640,7 @@ msgstr "" #: templates/js/translated/barcode.js:496 #: templates/js/translated/barcode.js:501 msgid "Unlink Barcode" -msgstr "" +msgstr "Desvincular Código de Barras" #: build/templates/build/build_base.html:47 #: company/templates/company/supplier_part.html:43 @@ -1651,67 +1651,67 @@ msgstr "" #: stock/templates/stock/item_base.html:49 #: stock/templates/stock/location.html:61 msgid "Link Barcode" -msgstr "" +msgstr "Vincular Código de Barras" #: build/templates/build/build_base.html:56 #: order/templates/order/order_base.html:46 #: order/templates/order/return_order_base.html:55 #: order/templates/order/sales_order_base.html:55 msgid "Print actions" -msgstr "" +msgstr "Imprimir acciones" #: build/templates/build/build_base.html:60 msgid "Print build order report" -msgstr "" +msgstr "Imprimir informe de orden de construcción" #: build/templates/build/build_base.html:67 msgid "Build actions" -msgstr "" +msgstr "Acciones de construcción o armado" #: build/templates/build/build_base.html:71 msgid "Edit Build" -msgstr "" +msgstr "Editar construcción o armado" #: build/templates/build/build_base.html:73 msgid "Cancel Build" -msgstr "" +msgstr "Cancelar construcción o armado" #: build/templates/build/build_base.html:76 msgid "Duplicate Build" -msgstr "" +msgstr "Construcción duplicada" #: build/templates/build/build_base.html:79 msgid "Delete Build" -msgstr "" +msgstr "Eliminar construcción o armado" #: build/templates/build/build_base.html:84 #: build/templates/build/build_base.html:85 msgid "Complete Build" -msgstr "" +msgstr "Completar construcción" #: build/templates/build/build_base.html:107 msgid "Build Description" -msgstr "" +msgstr "Descripción de Construcción" #: build/templates/build/build_base.html:117 msgid "No build outputs have been created for this build order" -msgstr "" +msgstr "No se han creado salidas para esta orden de construcción" #: build/templates/build/build_base.html:124 msgid "Build Order is ready to mark as completed" -msgstr "" +msgstr "Orden de construcción está lista para marcar como completada" #: build/templates/build/build_base.html:129 msgid "Build Order cannot be completed as outstanding outputs remain" -msgstr "" +msgstr "La orden de construcción no se puede completar ya que existen salidas pendientes" #: build/templates/build/build_base.html:134 msgid "Required build quantity has not yet been completed" -msgstr "" +msgstr "La cantidad de construcción requerida aún no se ha completado" #: build/templates/build/build_base.html:139 msgid "Stock has not been fully allocated to this Build Order" -msgstr "" +msgstr "Stock no ha sido asignado completamente a este pedido de construcción" #: build/templates/build/build_base.html:160 #: build/templates/build/detail.html:138 order/models.py:309 @@ -1728,12 +1728,12 @@ msgstr "" #: templates/js/translated/sales_order.js:871 #: templates/js/translated/sales_order.js:1903 msgid "Target Date" -msgstr "" +msgstr "Fecha objetivo" #: build/templates/build/build_base.html:165 #, python-format msgid "This build was due on %(target)s" -msgstr "" +msgstr "Esta construcción vence el %(target)s" #: build/templates/build/build_base.html:165 #: build/templates/build/build_base.html:222 @@ -1745,12 +1745,12 @@ msgstr "" #: templates/js/translated/table_filters.js:626 #: templates/js/translated/table_filters.js:667 msgid "Overdue" -msgstr "" +msgstr "Vencido" #: build/templates/build/build_base.html:177 #: build/templates/build/detail.html:67 build/templates/build/sidebar.html:13 msgid "Completed Outputs" -msgstr "" +msgstr "Salidas completadas" #: build/templates/build/build_base.html:190 #: build/templates/build/detail.html:101 order/api.py:1384 order/models.py:845 @@ -1766,27 +1766,27 @@ msgstr "" #: templates/js/translated/sales_order.js:1028 #: templates/js/translated/stock.js:2924 msgid "Sales Order" -msgstr "" +msgstr "Orden de Venta" #: build/templates/build/build_base.html:197 #: build/templates/build/detail.html:115 #: report/templates/report/inventree_build_order_report.html:152 #: templates/js/translated/table_filters.js:24 msgid "Issued By" -msgstr "" +msgstr "Emitido por" #: build/templates/build/build_base.html:211 #: build/templates/build/detail.html:94 templates/js/translated/build.js:2156 msgid "Priority" -msgstr "" +msgstr "Prioridad" #: build/templates/build/build_base.html:269 msgid "Delete Build Order" -msgstr "" +msgstr "Eliminar Orden de Trabajo" #: build/templates/build/build_base.html:279 msgid "Build Order QR Code" -msgstr "" +msgstr "Código QR de la Orden de Trabajo" #: build/templates/build/build_base.html:291 msgid "Link Barcode to Build Order" @@ -1794,28 +1794,28 @@ msgstr "" #: build/templates/build/detail.html:15 msgid "Build Details" -msgstr "" +msgstr "Detalles de Trabajo" #: build/templates/build/detail.html:38 msgid "Stock Source" -msgstr "" +msgstr "Fuente de stock" #: build/templates/build/detail.html:43 msgid "Stock can be taken from any available location." -msgstr "" +msgstr "Las existencias se pueden tomar desde cualquier ubicación disponible." #: build/templates/build/detail.html:49 order/models.py:1448 #: templates/js/translated/purchase_order.js:2189 msgid "Destination" -msgstr "" +msgstr "Destinación" #: build/templates/build/detail.html:56 msgid "Destination location not specified" -msgstr "" +msgstr "Se requiere ubicación de destino" #: build/templates/build/detail.html:73 msgid "Allocated Parts" -msgstr "" +msgstr "Partes asignadas" #: build/templates/build/detail.html:80 stock/admin.py:162 #: stock/templates/stock/item_base.html:162 @@ -1827,7 +1827,7 @@ msgstr "" #: templates/js/translated/table_filters.js:313 #: templates/js/translated/table_filters.js:404 msgid "Batch" -msgstr "" +msgstr "Lote" #: build/templates/build/detail.html:133 #: order/templates/order/order_base.html:173 @@ -1835,62 +1835,62 @@ msgstr "" #: order/templates/order/sales_order_base.html:190 #: templates/js/translated/build.js:2199 msgid "Created" -msgstr "" +msgstr "Creado" #: build/templates/build/detail.html:144 msgid "No target date set" -msgstr "" +msgstr "Sin fecha objetivo" #: build/templates/build/detail.html:149 #: order/templates/order/sales_order_base.html:206 #: templates/js/translated/table_filters.js:689 msgid "Completed" -msgstr "" +msgstr "Completados" #: build/templates/build/detail.html:153 msgid "Build not complete" -msgstr "" +msgstr "Trabajo incompleto" #: build/templates/build/detail.html:164 build/templates/build/sidebar.html:17 msgid "Child Build Orders" -msgstr "" +msgstr "Órdenes de Trabajo herederas" #: build/templates/build/detail.html:177 msgid "Allocate Stock to Build" -msgstr "" +msgstr "Asignar Stock a Trabajo" #: build/templates/build/detail.html:181 msgid "Deallocate stock" -msgstr "" +msgstr "Desasignar existencias" #: build/templates/build/detail.html:182 msgid "Deallocate Stock" -msgstr "" +msgstr "Desasignar existencias" #: build/templates/build/detail.html:184 msgid "Automatically allocate stock to build" -msgstr "" +msgstr "Asignar existencias automáticamente a contrucción" #: build/templates/build/detail.html:185 msgid "Auto Allocate" -msgstr "" +msgstr "Auto asignar" #: build/templates/build/detail.html:187 msgid "Manually allocate stock to build" -msgstr "" +msgstr "Asignar existencias manualmente a construcción" #: build/templates/build/detail.html:188 build/templates/build/sidebar.html:8 msgid "Allocate Stock" -msgstr "" +msgstr "Asignar stock" #: build/templates/build/detail.html:191 msgid "Order required parts" -msgstr "" +msgstr "Pedir partes necesarias" #: build/templates/build/detail.html:192 #: templates/js/translated/purchase_order.js:795 msgid "Order Parts" -msgstr "" +msgstr "Partes del pedido" #: build/templates/build/detail.html:205 msgid "Available stock has been filtered based on specified source location for this build order" @@ -1898,23 +1898,23 @@ msgstr "" #: build/templates/build/detail.html:215 msgid "Incomplete Build Outputs" -msgstr "" +msgstr "Salidas de Trabajo incompletas" #: build/templates/build/detail.html:219 msgid "Create new build output" -msgstr "" +msgstr "Crear nueva salida de trabajo" #: build/templates/build/detail.html:220 msgid "New Build Output" -msgstr "" +msgstr "Nueva Salida de Trabajo" #: build/templates/build/detail.html:237 build/templates/build/sidebar.html:15 msgid "Consumed Stock" -msgstr "" +msgstr "Existencias consumidas" #: build/templates/build/detail.html:249 msgid "Completed Build Outputs" -msgstr "" +msgstr "Salidas de Trabajo Completadas" #: build/templates/build/detail.html:261 build/templates/build/sidebar.html:19 #: company/templates/company/detail.html:229 @@ -1930,15 +1930,15 @@ msgstr "" #: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:110 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" -msgstr "" +msgstr "Adjuntos" #: build/templates/build/detail.html:276 msgid "Build Notes" -msgstr "" +msgstr "Notas del Trabajo" #: build/templates/build/detail.html:426 msgid "Allocation Complete" -msgstr "" +msgstr "Asignación Completa" #: build/templates/build/detail.html:427 msgid "All lines have been fully allocated" @@ -1946,15 +1946,15 @@ msgstr "" #: build/templates/build/index.html:18 part/templates/part/detail.html:319 msgid "New Build Order" -msgstr "" +msgstr "Nueva Orden de Trabajo" #: build/templates/build/sidebar.html:5 msgid "Build Order Details" -msgstr "" +msgstr "Configuración de Pedido de Trabajo" #: build/templates/build/sidebar.html:10 msgid "Incomplete Outputs" -msgstr "" +msgstr "Salidas incompletas" #: common/api.py:690 msgid "Is Link" @@ -1982,53 +1982,53 @@ msgstr "" #: common/currency.py:156 msgid "No plugin" -msgstr "" +msgstr "Sin plugin" #: common/files.py:63 #, python-brace-format msgid "Unsupported file format: {fmt}" -msgstr "" +msgstr "Formato de archivo no soportado: {fmt}" #: common/files.py:65 msgid "Error reading file (invalid encoding)" -msgstr "" +msgstr "Error al leer el archivo (codificación inválida)" #: common/files.py:70 msgid "Error reading file (invalid format)" -msgstr "" +msgstr "Error al leer el archivo (formato no válido)" #: common/files.py:72 msgid "Error reading file (incorrect dimension)" -msgstr "" +msgstr "Error leyendo el archivo (dimensión incorrecta)" #: common/files.py:74 msgid "Error reading file (data could be corrupted)" -msgstr "" +msgstr "Error al leer el archivo (los datos podrían estar corruptos)" #: common/forms.py:12 msgid "File" -msgstr "" +msgstr "Archivo" #: common/forms.py:12 msgid "Select file to upload" -msgstr "" +msgstr "Seleccione el archivo a cargar" #: common/forms.py:25 msgid "{name.title()} File" -msgstr "" +msgstr "Archivo {name.title()}" #: common/forms.py:26 #, python-brace-format msgid "Select {name} file to upload" -msgstr "" +msgstr "Seleccione el archivo {name} para subir" #: common/models.py:73 msgid "Updated" -msgstr "" +msgstr "Actualizado" #: common/models.py:74 msgid "Timestamp of last update" -msgstr "" +msgstr "Fecha y hora de la última actualización" #: common/models.py:107 msgid "Site URL is locked by configuration" @@ -2036,107 +2036,107 @@ msgstr "" #: common/models.py:137 msgid "Unique project code" -msgstr "" +msgstr "Código único del proyecto" #: common/models.py:144 msgid "Project description" -msgstr "" +msgstr "Descripción del proyecto" #: common/models.py:153 msgid "User or group responsible for this project" -msgstr "" +msgstr "Usuario o grupo responsable de este projecto" #: common/models.py:770 msgid "Settings key (must be unique - case insensitive)" -msgstr "" +msgstr "Clave de configuración (debe ser única - mayúsculas y minúsculas)" #: common/models.py:774 msgid "Settings value" -msgstr "" +msgstr "Valor de ajuste" #: common/models.py:826 msgid "Chosen value is not a valid option" -msgstr "" +msgstr "El valor elegido no es una opción válida" #: common/models.py:842 msgid "Value must be a boolean value" -msgstr "" +msgstr "El valor debe ser un valor booleano" #: common/models.py:850 msgid "Value must be an integer value" -msgstr "" +msgstr "El valor debe ser un entero" #: common/models.py:887 msgid "Key string must be unique" -msgstr "" +msgstr "Cadena de clave debe ser única" #: common/models.py:1119 msgid "No group" -msgstr "" +msgstr "Sin grupo" #: common/models.py:1218 msgid "Restart required" -msgstr "" +msgstr "Reinicio requerido" #: common/models.py:1220 msgid "A setting has been changed which requires a server restart" -msgstr "" +msgstr "Se ha cambiado una configuración que requiere un reinicio del servidor" #: common/models.py:1227 msgid "Pending migrations" -msgstr "" +msgstr "Migraciones pendientes" #: common/models.py:1228 msgid "Number of pending database migrations" -msgstr "" +msgstr "Número de migraciones de base de datos pendientes" #: common/models.py:1233 msgid "Server Instance Name" -msgstr "" +msgstr "Nombre de la instancia del servidor" #: common/models.py:1235 msgid "String descriptor for the server instance" -msgstr "" +msgstr "Descriptor de cadena para la instancia del servidor" #: common/models.py:1239 msgid "Use instance name" -msgstr "" +msgstr "Usar nombre de instancia" #: common/models.py:1240 msgid "Use the instance name in the title-bar" -msgstr "" +msgstr "Utilice el nombre de la instancia en la barra de título" #: common/models.py:1245 msgid "Restrict showing `about`" -msgstr "" +msgstr "Restringir mostrar 'acerca de'" #: common/models.py:1246 msgid "Show the `about` modal only to superusers" -msgstr "" +msgstr "Mostrar la modal `about` solo para superusuarios" #: common/models.py:1251 company/models.py:111 company/models.py:112 msgid "Company name" -msgstr "" +msgstr "Nombre de empresa" #: common/models.py:1252 msgid "Internal company name" -msgstr "" +msgstr "Nombre interno de empresa" #: common/models.py:1256 msgid "Base URL" -msgstr "" +msgstr "URL Base" #: common/models.py:1257 msgid "Base URL for server instance" -msgstr "" +msgstr "URL base para la instancia del servidor" #: common/models.py:1263 msgid "Default Currency" -msgstr "" +msgstr "Moneda predeterminada" #: common/models.py:1264 msgid "Select base currency for pricing calculations" -msgstr "" +msgstr "Seleccione la moneda base para los cálculos de precios" #: common/models.py:1270 msgid "Supported Currencies" @@ -2148,146 +2148,146 @@ msgstr "" #: common/models.py:1277 msgid "Currency Update Interval" -msgstr "" +msgstr "Intervalo de actualización de moneda" #: common/models.py:1279 msgid "How often to update exchange rates (set to zero to disable)" -msgstr "" +msgstr "Con qué frecuencia actualizar los tipos de cambio (establecer a cero para desactivar)" #: common/models.py:1282 common/models.py:1338 common/models.py:1351 #: common/models.py:1359 common/models.py:1368 common/models.py:1377 #: common/models.py:1601 common/models.py:1623 common/models.py:1738 #: common/models.py:2111 msgid "days" -msgstr "" +msgstr "días" #: common/models.py:1286 msgid "Currency Update Plugin" -msgstr "" +msgstr "Plugin de Actualización de Moneda" #: common/models.py:1287 msgid "Currency update plugin to use" -msgstr "" +msgstr "Plugin de actualización de moneda a usar" #: common/models.py:1292 msgid "Download from URL" -msgstr "" +msgstr "Descargar desde URL" #: common/models.py:1294 msgid "Allow download of remote images and files from external URL" -msgstr "" +msgstr "Permitir la descarga de imágenes y archivos remotos desde la URL externa" #: common/models.py:1300 msgid "Download Size Limit" -msgstr "" +msgstr "Límite de tamaño de descarga" #: common/models.py:1301 msgid "Maximum allowable download size for remote image" -msgstr "" +msgstr "Tamaño máximo de descarga permitido para la imagen remota" #: common/models.py:1307 msgid "User-agent used to download from URL" -msgstr "" +msgstr "Agente de usuario usado para descargar desde la URL" #: common/models.py:1309 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" -msgstr "" +msgstr "Permitir reemplazar el agente de usuario utilizado para descargar imágenes y archivos desde URL externa (dejar en blanco para el valor predeterminado)" #: common/models.py:1314 msgid "Strict URL Validation" -msgstr "" +msgstr "Validación estricta de URL" #: common/models.py:1315 msgid "Require schema specification when validating URLs" -msgstr "" +msgstr "Requerir especificación de esquema al validar URLs" #: common/models.py:1320 msgid "Require confirm" -msgstr "" +msgstr "Requiere confirmación" #: common/models.py:1321 msgid "Require explicit user confirmation for certain action." -msgstr "" +msgstr "Requiere confirmación explícita del usuario para ciertas acciones." #: common/models.py:1326 msgid "Tree Depth" -msgstr "" +msgstr "Profundidad del árbol" #: common/models.py:1328 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." -msgstr "" +msgstr "Profundidad de árbol predeterminada para treeview. Los niveles más profundos pueden ser cargados perezosamente a medida que son necesarios." #: common/models.py:1334 msgid "Update Check Interval" -msgstr "" +msgstr "Actualizar intervalo de actualización" #: common/models.py:1335 msgid "How often to check for updates (set to zero to disable)" -msgstr "" +msgstr "Con qué frecuencia comprobar actualizaciones (establecer a cero para desactivar)" #: common/models.py:1341 msgid "Automatic Backup" -msgstr "" +msgstr "Copia de seguridad automática" #: common/models.py:1342 msgid "Enable automatic backup of database and media files" -msgstr "" +msgstr "Activar copia de seguridad automática de los archivos de base de datos y medios" #: common/models.py:1347 msgid "Auto Backup Interval" -msgstr "" +msgstr "Intervalo de respaldo automático" #: common/models.py:1348 msgid "Specify number of days between automated backup events" -msgstr "" +msgstr "Especificar número de días entre eventos automatizados de copia de seguridad" #: common/models.py:1354 msgid "Task Deletion Interval" -msgstr "" +msgstr "Intervalo de eliminación de tareas" #: common/models.py:1356 msgid "Background task results will be deleted after specified number of days" -msgstr "" +msgstr "Los resultados de las tareas en segundo plano se eliminarán después del número especificado de días" #: common/models.py:1363 msgid "Error Log Deletion Interval" -msgstr "" +msgstr "Intervalo de eliminación de registro de errores" #: common/models.py:1365 msgid "Error logs will be deleted after specified number of days" -msgstr "" +msgstr "Los registros de errores se eliminarán después del número especificado de días" #: common/models.py:1372 msgid "Notification Deletion Interval" -msgstr "" +msgstr "Intervalo de eliminación de notificaciones" #: common/models.py:1374 msgid "User notifications will be deleted after specified number of days" -msgstr "" +msgstr "Las notificaciones de usuario se eliminarán después del número especificado de días" #: common/models.py:1381 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" -msgstr "" +msgstr "Soporte de código de barras" #: common/models.py:1382 msgid "Enable barcode scanner support in the web interface" -msgstr "" +msgstr "Habilitar el soporte para escáner de códigos de barras en la interfaz web" #: common/models.py:1387 msgid "Barcode Input Delay" -msgstr "" +msgstr "Retraso de entrada de código de barras" #: common/models.py:1388 msgid "Barcode input processing delay time" -msgstr "" +msgstr "Tiempo de retraso en la lectura de códigos de barras" #: common/models.py:1394 msgid "Barcode Webcam Support" -msgstr "" +msgstr "Soporte para Webcam de código de barras" #: common/models.py:1395 msgid "Allow barcode scanning via webcam in browser" -msgstr "" +msgstr "Permitir escaneo de código de barras a través de webcam en el navegador" #: common/models.py:1400 msgid "Barcode Show Data" @@ -2299,11 +2299,11 @@ msgstr "" #: common/models.py:1406 msgid "Part Revisions" -msgstr "" +msgstr "Revisiones de partes" #: common/models.py:1407 msgid "Enable revision field for Part" -msgstr "" +msgstr "Habilitar campo de revisión para parte" #: common/models.py:1412 msgid "Allow Deletion from Assembly" @@ -2315,59 +2315,59 @@ msgstr "" #: common/models.py:1418 msgid "IPN Regex" -msgstr "" +msgstr "Regex IPN" #: common/models.py:1419 msgid "Regular expression pattern for matching Part IPN" -msgstr "" +msgstr "Patrón de expresión regular para IPN de la parte coincidente" #: common/models.py:1422 msgid "Allow Duplicate IPN" -msgstr "" +msgstr "Permitir IPN duplicado" #: common/models.py:1423 msgid "Allow multiple parts to share the same IPN" -msgstr "" +msgstr "Permitir que varias partes compartan el mismo IPN" #: common/models.py:1428 msgid "Allow Editing IPN" -msgstr "" +msgstr "Permitir editar IPN" #: common/models.py:1429 msgid "Allow changing the IPN value while editing a part" -msgstr "" +msgstr "Permite cambiar el valor de IPN mientras se edita una parte" #: common/models.py:1434 msgid "Copy Part BOM Data" -msgstr "" +msgstr "Copiar parte de datos BOM" #: common/models.py:1435 msgid "Copy BOM data by default when duplicating a part" -msgstr "" +msgstr "Copiar datos BOM por defecto al duplicar una parte" #: common/models.py:1440 msgid "Copy Part Parameter Data" -msgstr "" +msgstr "Copiar parámetros de parte" #: common/models.py:1441 msgid "Copy parameter data by default when duplicating a part" -msgstr "" +msgstr "Copiar datos de parámetro por defecto al duplicar una parte" #: common/models.py:1446 msgid "Copy Part Test Data" -msgstr "" +msgstr "Copiar parte de datos de prueba" #: common/models.py:1447 msgid "Copy test data by default when duplicating a part" -msgstr "" +msgstr "Copiar datos de parámetro por defecto al duplicar una parte" #: common/models.py:1452 msgid "Copy Category Parameter Templates" -msgstr "" +msgstr "Copiar plantillas de parámetros de categoría" #: common/models.py:1453 msgid "Copy category parameter templates when creating a part" -msgstr "" +msgstr "Copiar plantillas de parámetros de categoría al crear una parte" #: common/models.py:1458 part/admin.py:108 part/models.py:3835 #: report/models.py:294 report/models.py:361 report/serializers.py:90 @@ -2375,52 +2375,52 @@ msgstr "" #: templates/js/translated/table_filters.js:139 #: templates/js/translated/table_filters.js:772 msgid "Template" -msgstr "" +msgstr "Plantilla" #: common/models.py:1459 msgid "Parts are templates by default" -msgstr "" +msgstr "Las partes son plantillas por defecto" #: common/models.py:1464 part/admin.py:91 part/admin.py:425 part/models.py:1056 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:726 msgid "Assembly" -msgstr "" +msgstr "Montaje" #: common/models.py:1465 msgid "Parts can be assembled from other components by default" -msgstr "" +msgstr "Las partes pueden ser ensambladas desde otros componentes por defecto" #: common/models.py:1470 part/admin.py:95 part/models.py:1062 #: templates/js/translated/table_filters.js:734 msgid "Component" -msgstr "" +msgstr "Componente" #: common/models.py:1471 msgid "Parts can be used as sub-components by default" -msgstr "" +msgstr "Las partes pueden ser usadas como subcomponentes por defecto" #: common/models.py:1476 part/admin.py:100 part/models.py:1074 msgid "Purchaseable" -msgstr "" +msgstr "Comprable" #: common/models.py:1477 msgid "Parts are purchaseable by default" -msgstr "" +msgstr "Las partes son comprables por defecto" #: common/models.py:1482 part/admin.py:104 part/models.py:1080 #: templates/js/translated/table_filters.js:760 msgid "Salable" -msgstr "" +msgstr "Vendible" #: common/models.py:1483 msgid "Parts are salable by default" -msgstr "" +msgstr "Las partes se pueden vender por defecto" #: common/models.py:1489 msgid "Parts are trackable by default" -msgstr "" +msgstr "Las partes son rastreables por defecto" #: common/models.py:1494 part/admin.py:117 part/models.py:1096 #: part/templates/part/part_base.html:154 @@ -2431,183 +2431,183 @@ msgstr "" #: common/models.py:1495 msgid "Parts are virtual by default" -msgstr "" +msgstr "Las partes son virtuales por defecto" #: common/models.py:1500 msgid "Show Import in Views" -msgstr "" +msgstr "Mostrar importación en vistas" #: common/models.py:1501 msgid "Display the import wizard in some part views" -msgstr "" +msgstr "Mostrar el asistente de importación en algunas vistas de partes" #: common/models.py:1506 msgid "Show related parts" -msgstr "" +msgstr "Mostrar partes relacionadas" #: common/models.py:1507 msgid "Display related parts for a part" -msgstr "" +msgstr "Mostrar partes relacionadas para una parte" #: common/models.py:1512 msgid "Initial Stock Data" -msgstr "" +msgstr "Datos iniciales de existencias" #: common/models.py:1513 msgid "Allow creation of initial stock when adding a new part" -msgstr "" +msgstr "Permitir la creación del stock inicial al añadir una nueva parte" #: common/models.py:1518 templates/js/translated/part.js:107 msgid "Initial Supplier Data" -msgstr "" +msgstr "Datos iniciales del proveedor" #: common/models.py:1520 msgid "Allow creation of initial supplier data when adding a new part" -msgstr "" +msgstr "Permitir la creación de datos iniciales del proveedor al agregar una nueva parte" #: common/models.py:1526 msgid "Part Name Display Format" -msgstr "" +msgstr "Formato de visualización de Nombre de Parte" #: common/models.py:1527 msgid "Format to display the part name" -msgstr "" +msgstr "Formato para mostrar el nombre de la parte" #: common/models.py:1533 msgid "Part Category Default Icon" -msgstr "" +msgstr "Icono por defecto de la categoría de parte" #: common/models.py:1534 msgid "Part category default icon (empty means no icon)" -msgstr "" +msgstr "Icono por defecto de la categoría de parte (vacío significa que no hay icono)" #: common/models.py:1538 msgid "Enforce Parameter Units" -msgstr "" +msgstr "Forzar unidades de parámetro" #: common/models.py:1540 msgid "If units are provided, parameter values must match the specified units" -msgstr "" +msgstr "Si se proporcionan unidades, los valores de parámetro deben coincidir con las unidades especificadas" #: common/models.py:1546 msgid "Minimum Pricing Decimal Places" -msgstr "" +msgstr "Mínimo de lugares decimales en el precio" #: common/models.py:1548 msgid "Minimum number of decimal places to display when rendering pricing data" -msgstr "" +msgstr "Número mínimo de decimales a mostrar al procesar los datos de precios" #: common/models.py:1559 msgid "Maximum Pricing Decimal Places" -msgstr "" +msgstr "Máximo de lugares decimales en el precio" #: common/models.py:1561 msgid "Maximum number of decimal places to display when rendering pricing data" -msgstr "" +msgstr "Número máximo de decimales a mostrar al procesar los datos de precios" #: common/models.py:1572 msgid "Use Supplier Pricing" -msgstr "" +msgstr "Usar precios de proveedor" #: common/models.py:1574 msgid "Include supplier price breaks in overall pricing calculations" -msgstr "" +msgstr "Incluir descuentos de precios del proveedor en los cálculos generales de precios" #: common/models.py:1580 msgid "Purchase History Override" -msgstr "" +msgstr "Anulación del historial de compra" #: common/models.py:1582 msgid "Historical purchase order pricing overrides supplier price breaks" -msgstr "" +msgstr "El precio histórico de compra anula los descuentos de precios del proveedor" #: common/models.py:1588 msgid "Use Stock Item Pricing" -msgstr "" +msgstr "Usar precio del artículo de almacén" #: common/models.py:1590 msgid "Use pricing from manually entered stock data for pricing calculations" -msgstr "" +msgstr "Usar los precios de los datos de inventario introducidos manualmente para los cálculos de precios" #: common/models.py:1596 msgid "Stock Item Pricing Age" -msgstr "" +msgstr "Edad del precio del artículo de almacén" #: common/models.py:1598 msgid "Exclude stock items older than this number of days from pricing calculations" -msgstr "" +msgstr "Excluir artículos de almacén anteriores a este número de días de los cálculos de precios" #: common/models.py:1605 msgid "Use Variant Pricing" -msgstr "" +msgstr "Usar precios variantes" #: common/models.py:1606 msgid "Include variant pricing in overall pricing calculations" -msgstr "" +msgstr "Incluir variantes de precios en los cálculos generales de precios" #: common/models.py:1611 msgid "Active Variants Only" -msgstr "" +msgstr "Solo variantes activas" #: common/models.py:1613 msgid "Only use active variant parts for calculating variant pricing" -msgstr "" +msgstr "Usar solo partes de variantes activas para calcular los precios de variantes" #: common/models.py:1619 msgid "Pricing Rebuild Interval" -msgstr "" +msgstr "Intervalo de reconstrucción de precios" #: common/models.py:1621 msgid "Number of days before part pricing is automatically updated" -msgstr "" +msgstr "Número de días antes de que el precio de la parte se actualice automáticamente" #: common/models.py:1628 msgid "Internal Prices" -msgstr "" +msgstr "Precios internos" #: common/models.py:1629 msgid "Enable internal prices for parts" -msgstr "" +msgstr "Habilitar precios internos para partes" #: common/models.py:1634 msgid "Internal Price Override" -msgstr "" +msgstr "Anulación del precio interno" #: common/models.py:1636 msgid "If available, internal prices override price range calculations" -msgstr "" +msgstr "Si está disponible, los precios internos anulan los cálculos del rango de precios" #: common/models.py:1642 msgid "Enable label printing" -msgstr "" +msgstr "Habilitar impresión de etiquetas" #: common/models.py:1643 msgid "Enable label printing from the web interface" -msgstr "" +msgstr "Habilitar impresión de etiquetas desde la interfaz web" #: common/models.py:1648 msgid "Label Image DPI" -msgstr "" +msgstr "PPP de la imagen de etiqueta" #: common/models.py:1650 msgid "DPI resolution when generating image files to supply to label printing plugins" -msgstr "" +msgstr "Resolución DPI al generar archivos de imagen que suministrar para etiquetar complementos de impresión" #: common/models.py:1656 msgid "Enable Reports" -msgstr "" +msgstr "Habilitar informes" #: common/models.py:1657 msgid "Enable generation of reports" -msgstr "" +msgstr "Habilitar generación de informes" #: common/models.py:1662 templates/stats.html:25 msgid "Debug Mode" -msgstr "" +msgstr "Modo de depuración" #: common/models.py:1663 msgid "Generate reports in debug mode (HTML output)" -msgstr "" +msgstr "Generar informes en modo de depuración (salida HTML)" #: common/models.py:1668 msgid "Log Report Errors" @@ -2620,47 +2620,47 @@ msgstr "" #: common/models.py:1674 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:302 msgid "Page Size" -msgstr "" +msgstr "Tamaño de página" #: common/models.py:1675 msgid "Default page size for PDF reports" -msgstr "" +msgstr "Tamaño de página predeterminado para informes PDF" #: common/models.py:1680 msgid "Enable Test Reports" -msgstr "" +msgstr "Habilitar informes de prueba" #: common/models.py:1681 msgid "Enable generation of test reports" -msgstr "" +msgstr "Habilitar generación de informes de prueba" #: common/models.py:1686 msgid "Attach Test Reports" -msgstr "" +msgstr "Adjuntar informes de prueba" #: common/models.py:1688 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" -msgstr "" +msgstr "Al imprimir un informe de prueba, adjuntar una copia del informe de prueba al artículo de almacén asociado" #: common/models.py:1694 msgid "Globally Unique Serials" -msgstr "" +msgstr "Seriales únicos globalmente" #: common/models.py:1695 msgid "Serial numbers for stock items must be globally unique" -msgstr "" +msgstr "Los números de serie para los artículos de inventario deben ser únicos globalmente" #: common/models.py:1700 msgid "Autofill Serial Numbers" -msgstr "" +msgstr "Autollenar números de serie" #: common/models.py:1701 msgid "Autofill serial numbers in forms" -msgstr "" +msgstr "Autorellenar números de serie en formularios" #: common/models.py:1706 msgid "Delete Depleted Stock" -msgstr "" +msgstr "Eliminar existencias agotadas" #: common/models.py:1708 msgid "Determines default behavior when a stock item is depleted" @@ -2668,67 +2668,67 @@ msgstr "" #: common/models.py:1714 msgid "Batch Code Template" -msgstr "" +msgstr "Plantilla de código de lote" #: common/models.py:1716 msgid "Template for generating default batch codes for stock items" -msgstr "" +msgstr "Plantilla para generar códigos de lote por defecto para artículos de almacén" #: common/models.py:1721 msgid "Stock Expiry" -msgstr "" +msgstr "Expiración de stock" #: common/models.py:1722 msgid "Enable stock expiry functionality" -msgstr "" +msgstr "Habilitar la funcionalidad de expiración de stock" #: common/models.py:1727 msgid "Sell Expired Stock" -msgstr "" +msgstr "Vender existencias caducadas" #: common/models.py:1728 msgid "Allow sale of expired stock" -msgstr "" +msgstr "Permitir venta de existencias caducadas" #: common/models.py:1733 msgid "Stock Stale Time" -msgstr "" +msgstr "Tiempo histórico de Stock" #: common/models.py:1735 msgid "Number of days stock items are considered stale before expiring" -msgstr "" +msgstr "Número de días de artículos de stock se consideran obsoletos antes de caducar" #: common/models.py:1742 msgid "Build Expired Stock" -msgstr "" +msgstr "Crear Stock Caducado" #: common/models.py:1743 msgid "Allow building with expired stock" -msgstr "" +msgstr "Permitir crear con stock caducado" #: common/models.py:1748 msgid "Stock Ownership Control" -msgstr "" +msgstr "Control de Stock" #: common/models.py:1749 msgid "Enable ownership control over stock locations and items" -msgstr "" +msgstr "Habilitar control de propiedad sobre ubicaciones de stock y artículos" #: common/models.py:1754 msgid "Stock Location Default Icon" -msgstr "" +msgstr "Icono por defecto de ubicación de almacén" #: common/models.py:1755 msgid "Stock location default icon (empty means no icon)" -msgstr "" +msgstr "Icono por defecto de ubicación de almacén (vacío significa que no hay icono)" #: common/models.py:1759 msgid "Show Installed Stock Items" -msgstr "" +msgstr "Mostrar Articulos de Stock Instalados" #: common/models.py:1760 msgid "Display installed stock items in stock tables" -msgstr "" +msgstr "Mostrar los artículos de stock instalados en las tablas de stock" #: common/models.py:1765 msgid "Check BOM when installing items" @@ -2748,11 +2748,11 @@ msgstr "" #: common/models.py:1781 msgid "Build Order Reference Pattern" -msgstr "" +msgstr "Patrón de Referencia de Ordenes de Armado" #: common/models.py:1783 msgid "Required pattern for generating Build Order reference field" -msgstr "" +msgstr "Patrón requerido para generar el campo de referencia de la Orden de Ensamblado" #: common/models.py:1789 common/models.py:1837 common/models.py:1859 #: common/models.py:1895 @@ -2798,15 +2798,15 @@ msgstr "" #: common/models.py:1823 msgid "Enable Return Orders" -msgstr "" +msgstr "Habilitar órdenes de devolución" #: common/models.py:1824 msgid "Enable return order functionality in the user interface" -msgstr "" +msgstr "Habilitar la funcionalidad de orden de devolución en la interfaz de usuario" #: common/models.py:1829 msgid "Return Order Reference Pattern" -msgstr "" +msgstr "Patrón de referencia de orden de devolución" #: common/models.py:1831 msgid "Required pattern for generating Return Order reference field" @@ -2814,35 +2814,35 @@ msgstr "" #: common/models.py:1843 msgid "Edit Completed Return Orders" -msgstr "" +msgstr "Editar ordenes de devolución completadas" #: common/models.py:1845 msgid "Allow editing of return orders after they have been completed" -msgstr "" +msgstr "Permitir la edición de ordenes de devolución después de que hayan sido completados" #: common/models.py:1851 msgid "Sales Order Reference Pattern" -msgstr "" +msgstr "Patrón de Referencia de Ordenes de Venta" #: common/models.py:1853 msgid "Required pattern for generating Sales Order reference field" -msgstr "" +msgstr "Patrón requerido para generar el campo de referencia de la orden de venta" #: common/models.py:1865 msgid "Sales Order Default Shipment" -msgstr "" +msgstr "Envío Predeterminado de Ordenes de Venta" #: common/models.py:1866 msgid "Enable creation of default shipment with sales orders" -msgstr "" +msgstr "Habilitar la creación de envío predeterminado con ordenes de entrega" #: common/models.py:1871 msgid "Edit Completed Sales Orders" -msgstr "" +msgstr "Editar Ordenes de Venta Completados" #: common/models.py:1873 msgid "Allow editing of sales orders after they have been shipped or completed" -msgstr "" +msgstr "Permitir la edición de ordenes de venta después de que hayan sido enviados o completados" #: common/models.py:1879 msgid "Mark Shipped Orders as Complete" @@ -2854,15 +2854,15 @@ msgstr "" #: common/models.py:1887 msgid "Purchase Order Reference Pattern" -msgstr "" +msgstr "Patrón de Referencia de Orden de Compra" #: common/models.py:1889 msgid "Required pattern for generating Purchase Order reference field" -msgstr "" +msgstr "Patrón requerido para generar el campo de referencia de la Orden de Compra" #: common/models.py:1901 msgid "Edit Completed Purchase Orders" -msgstr "" +msgstr "Editar Ordenes de Compra Completados" #: common/models.py:1903 msgid "Allow editing of purchase orders after they have been shipped or completed" @@ -2870,7 +2870,7 @@ msgstr "" #: common/models.py:1909 msgid "Auto Complete Purchase Orders" -msgstr "" +msgstr "Autocompletar Ordenes de compra" #: common/models.py:1911 msgid "Automatically mark purchase orders as complete when all line items are received" @@ -2878,35 +2878,35 @@ msgstr "" #: common/models.py:1918 msgid "Enable password forgot" -msgstr "" +msgstr "Habilitar función de contraseña olvidada" #: common/models.py:1919 msgid "Enable password forgot function on the login pages" -msgstr "" +msgstr "Activar la función olvido de contraseña en las páginas de inicio de sesión" #: common/models.py:1924 msgid "Enable registration" -msgstr "" +msgstr "Habilitar registro" #: common/models.py:1925 msgid "Enable self-registration for users on the login pages" -msgstr "" +msgstr "Activar auto-registro para usuarios en las páginas de inicio de sesión" #: common/models.py:1930 msgid "Enable SSO" -msgstr "" +msgstr "Habilitar SSO" #: common/models.py:1931 msgid "Enable SSO on the login pages" -msgstr "" +msgstr "Habilitar SSO en las páginas de inicio de sesión" #: common/models.py:1936 msgid "Enable SSO registration" -msgstr "" +msgstr "Habilitar registro SSO" #: common/models.py:1938 msgid "Enable self-registration via SSO for users on the login pages" -msgstr "" +msgstr "Activar autoregistro a través de SSO para usuarios en las páginas de inicio de sesión" #: common/models.py:1944 msgid "Enable SSO group sync" @@ -2942,39 +2942,39 @@ msgstr "" #: common/models.py:1976 msgid "Email required" -msgstr "" +msgstr "Email requerido" #: common/models.py:1977 msgid "Require user to supply mail on signup" -msgstr "" +msgstr "Requiere usuario para suministrar correo al registrarse" #: common/models.py:1982 msgid "Auto-fill SSO users" -msgstr "" +msgstr "Auto-rellenar usuarios SSO" #: common/models.py:1984 msgid "Automatically fill out user-details from SSO account-data" -msgstr "" +msgstr "Rellenar automáticamente los datos de usuario de la cuenta SSO" #: common/models.py:1990 msgid "Mail twice" -msgstr "" +msgstr "Correo dos veces" #: common/models.py:1991 msgid "On signup ask users twice for their mail" -msgstr "" +msgstr "Al registrarse pregunte dos veces a los usuarios por su correo" #: common/models.py:1996 msgid "Password twice" -msgstr "" +msgstr "Contraseña dos veces" #: common/models.py:1997 msgid "On signup ask users twice for their password" -msgstr "" +msgstr "Al registrarse, preguntar dos veces a los usuarios por su contraseña" #: common/models.py:2002 msgid "Allowed domains" -msgstr "" +msgstr "Dominios permitidos" #: common/models.py:2004 msgid "Restrict signup to certain domains (comma-separated, starting with @)" @@ -2982,7 +2982,7 @@ msgstr "" #: common/models.py:2010 msgid "Group on signup" -msgstr "" +msgstr "Grupo al registrarse" #: common/models.py:2012 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." @@ -2990,19 +2990,19 @@ msgstr "" #: common/models.py:2018 msgid "Enforce MFA" -msgstr "" +msgstr "Forzar MFA" #: common/models.py:2019 msgid "Users must use multifactor security." -msgstr "" +msgstr "Los usuarios deben utilizar seguridad multifactor." #: common/models.py:2024 msgid "Check plugins on startup" -msgstr "" +msgstr "Comprobar complementos al iniciar" #: common/models.py:2026 msgid "Check that all plugins are installed on startup - enable in container environments" -msgstr "" +msgstr "Comprobar que todos los complementos están instalados en el arranque - habilitar en entornos de contenedores" #: common/models.py:2034 msgid "Check for plugin updates" @@ -3014,51 +3014,51 @@ msgstr "" #: common/models.py:2041 msgid "Enable URL integration" -msgstr "" +msgstr "Habilitar integración de URL" #: common/models.py:2042 msgid "Enable plugins to add URL routes" -msgstr "" +msgstr "Habilitar plugins para añadir rutas de URL" #: common/models.py:2048 msgid "Enable navigation integration" -msgstr "" +msgstr "Habilitar integración de navegación" #: common/models.py:2049 msgid "Enable plugins to integrate into navigation" -msgstr "" +msgstr "Habilitar plugins para integrar en la navegación" #: common/models.py:2055 msgid "Enable app integration" -msgstr "" +msgstr "Habilitar integración de la aplicación" #: common/models.py:2056 msgid "Enable plugins to add apps" -msgstr "" +msgstr "Habilitar plugins para añadir aplicaciones" #: common/models.py:2062 msgid "Enable schedule integration" -msgstr "" +msgstr "Habilitar integración de programación" #: common/models.py:2063 msgid "Enable plugins to run scheduled tasks" -msgstr "" +msgstr "Habilitar plugins para ejecutar tareas programadas" #: common/models.py:2069 msgid "Enable event integration" -msgstr "" +msgstr "Habilitar integración de eventos" #: common/models.py:2070 msgid "Enable plugins to respond to internal events" -msgstr "" +msgstr "Habilitar plugins para responder a eventos internos" #: common/models.py:2076 msgid "Enable project codes" -msgstr "" +msgstr "Habilitar códigos de proyecto" #: common/models.py:2077 msgid "Enable project codes for tracking projects" -msgstr "" +msgstr "Habilitar códigos de proyecto para rastrear proyectos" #: common/models.py:2082 msgid "Stocktake Functionality" @@ -3070,7 +3070,7 @@ msgstr "" #: common/models.py:2090 msgid "Exclude External Locations" -msgstr "" +msgstr "Excluir Ubicaciones Externas" #: common/models.py:2092 msgid "Exclude stock items in external locations from stocktake calculations" @@ -3086,7 +3086,7 @@ msgstr "" #: common/models.py:2106 msgid "Report Deletion Interval" -msgstr "" +msgstr "Intervalo de borrado de informe" #: common/models.py:2108 msgid "Stocktake reports will be deleted after specified number of days" @@ -3094,11 +3094,11 @@ msgstr "" #: common/models.py:2115 msgid "Display Users full names" -msgstr "" +msgstr "Mostrar nombres completos de los usuarios" #: common/models.py:2116 msgid "Display Users full names instead of usernames" -msgstr "" +msgstr "Mostrar nombres completos de usuarios en lugar de nombres de usuario" #: common/models.py:2121 msgid "Enable Test Station Data" @@ -3110,39 +3110,39 @@ msgstr "" #: common/models.py:2134 common/models.py:2514 msgid "Settings key (must be unique - case insensitive" -msgstr "" +msgstr "Tecla de ajustes (debe ser única - mayúsculas y minúsculas" #: common/models.py:2177 msgid "Hide inactive parts" -msgstr "" +msgstr "Ocultar partes inactivas" #: common/models.py:2179 msgid "Hide inactive parts in results displayed on the homepage" -msgstr "" +msgstr "Ocultar partes inactivas en los resultados mostrados en la página de inicio" #: common/models.py:2185 msgid "Show subscribed parts" -msgstr "" +msgstr "Mostrar partes suscritas" #: common/models.py:2186 msgid "Show subscribed parts on the homepage" -msgstr "" +msgstr "Mostrar las partes suscritas en la página principal" #: common/models.py:2191 msgid "Show subscribed categories" -msgstr "" +msgstr "Mostrar categorías suscritas" #: common/models.py:2192 msgid "Show subscribed part categories on the homepage" -msgstr "" +msgstr "Mostrar categorías de partes suscritas en la página de inicio" #: common/models.py:2197 msgid "Show latest parts" -msgstr "" +msgstr "Mostrar últimas partes" #: common/models.py:2198 msgid "Show latest parts on the homepage" -msgstr "" +msgstr "Mostrar las últimas partes en la página de inicio" #: common/models.py:2203 msgid "Show invalid BOMs" @@ -3150,103 +3150,103 @@ msgstr "" #: common/models.py:2204 msgid "Show BOMs that await validation on the homepage" -msgstr "" +msgstr "Mostrar BOMs que esperan validación en la página de inicio" #: common/models.py:2209 msgid "Show recent stock changes" -msgstr "" +msgstr "Mostrar cambios recientes de stock" #: common/models.py:2210 msgid "Show recently changed stock items on the homepage" -msgstr "" +msgstr "Mostrar artículos de stock recientemente modificados en la página de inicio" #: common/models.py:2215 msgid "Show low stock" -msgstr "" +msgstr "Mostrar stock bajo" #: common/models.py:2216 msgid "Show low stock items on the homepage" -msgstr "" +msgstr "Mostrar artículos de stock bajo en la página de inicio" #: common/models.py:2221 msgid "Show depleted stock" -msgstr "" +msgstr "Mostrar stock agotado" #: common/models.py:2222 msgid "Show depleted stock items on the homepage" -msgstr "" +msgstr "Mostrar artículos agotados en la página de inicio" #: common/models.py:2227 msgid "Show needed stock" -msgstr "" +msgstr "Mostrar stock necesario" #: common/models.py:2228 msgid "Show stock items needed for builds on the homepage" -msgstr "" +msgstr "Mostrar artículos de stock necesarios para trabajos en la página de inicio" #: common/models.py:2233 msgid "Show expired stock" -msgstr "" +msgstr "Mostrar stock caducado" #: common/models.py:2234 msgid "Show expired stock items on the homepage" -msgstr "" +msgstr "Mostrar artículos de stock caducados en la página de inicio" #: common/models.py:2239 msgid "Show stale stock" -msgstr "" +msgstr "Mostrar stock obsoleto" #: common/models.py:2240 msgid "Show stale stock items on the homepage" -msgstr "" +msgstr "Mostrar artículos de stock obsoletos en la página de inicio" #: common/models.py:2245 msgid "Show pending builds" -msgstr "" +msgstr "Mostrar trabajos pendientes" #: common/models.py:2246 msgid "Show pending builds on the homepage" -msgstr "" +msgstr "Mostrar trabajos pendientes en la página de inicio" #: common/models.py:2251 msgid "Show overdue builds" -msgstr "" +msgstr "Mostrar trabajos vencidos" #: common/models.py:2252 msgid "Show overdue builds on the homepage" -msgstr "" +msgstr "Mostrar trabajos pendientes en la página de inicio" #: common/models.py:2257 msgid "Show outstanding POs" -msgstr "" +msgstr "Mostrar Órdenes de Compra Pendientes" #: common/models.py:2258 msgid "Show outstanding POs on the homepage" -msgstr "" +msgstr "Mostrar las OC destacadas en la página de inicio" #: common/models.py:2263 msgid "Show overdue POs" -msgstr "" +msgstr "Mostrar OC atrasadas" #: common/models.py:2264 msgid "Show overdue POs on the homepage" -msgstr "" +msgstr "Mostrar las OC vencidas en la página de inicio" #: common/models.py:2269 msgid "Show outstanding SOs" -msgstr "" +msgstr "Mostrar OV pendiemtes" #: common/models.py:2270 msgid "Show outstanding SOs on the homepage" -msgstr "" +msgstr "Mostrar OV pendientes en la página de inicio" #: common/models.py:2275 msgid "Show overdue SOs" -msgstr "" +msgstr "Mostrar OV atrasadas" #: common/models.py:2276 msgid "Show overdue SOs on the homepage" -msgstr "" +msgstr "Mostrar OV atrasadas en la página de inicio" #: common/models.py:2281 msgid "Show pending SO shipments" @@ -3258,23 +3258,23 @@ msgstr "" #: common/models.py:2287 msgid "Show News" -msgstr "" +msgstr "Mostrar novedades" #: common/models.py:2288 msgid "Show news on the homepage" -msgstr "" +msgstr "Mostrar las últimas novedades de InvenTree en la página de inicio" #: common/models.py:2293 msgid "Inline label display" -msgstr "" +msgstr "Mostrar etiqueta interior" #: common/models.py:2295 msgid "Display PDF labels in the browser, instead of downloading as a file" -msgstr "" +msgstr "Mostrar etiquetas PDF en el navegador, en lugar de descargar como un archivo" #: common/models.py:2301 msgid "Default label printer" -msgstr "" +msgstr "Impresora predeterminada" #: common/models.py:2303 msgid "Configure which label printer should be selected by default" @@ -3282,15 +3282,15 @@ msgstr "" #: common/models.py:2309 msgid "Inline report display" -msgstr "" +msgstr "Mostrar informe en línea" #: common/models.py:2311 msgid "Display PDF reports in the browser, instead of downloading as a file" -msgstr "" +msgstr "Mostrar informes PDF en el navegador, en lugar de descargar como un archivo" #: common/models.py:2317 msgid "Search Parts" -msgstr "" +msgstr "Buscar partes" #: common/models.py:2318 msgid "Display parts in search preview window" @@ -3298,7 +3298,7 @@ msgstr "" #: common/models.py:2323 msgid "Search Supplier Parts" -msgstr "" +msgstr "Buscar partes de proveedor" #: common/models.py:2324 msgid "Display supplier parts in search preview window" @@ -3306,7 +3306,7 @@ msgstr "" #: common/models.py:2329 msgid "Search Manufacturer Parts" -msgstr "" +msgstr "Buscar Partes del Fabricante" #: common/models.py:2330 msgid "Display manufacturer parts in search preview window" @@ -3314,55 +3314,55 @@ msgstr "" #: common/models.py:2335 msgid "Hide Inactive Parts" -msgstr "" +msgstr "Ocultar Partes Inactivas" #: common/models.py:2336 msgid "Excluded inactive parts from search preview window" -msgstr "" +msgstr "Excluir las partes inactivas de la ventana de previsualización de búsqueda" #: common/models.py:2341 msgid "Search Categories" -msgstr "" +msgstr "Buscar categorías" #: common/models.py:2342 msgid "Display part categories in search preview window" -msgstr "" +msgstr "Mostrar categorias de la parte en la ventana de previsualización de búsqueda" #: common/models.py:2347 msgid "Search Stock" -msgstr "" +msgstr "Buscar inventario" #: common/models.py:2348 msgid "Display stock items in search preview window" -msgstr "" +msgstr "Mostrar artículos del stock en la ventana de previsualización de búsqueda" #: common/models.py:2353 msgid "Hide Unavailable Stock Items" -msgstr "" +msgstr "Ocultar Artículos del Stock Agotados" #: common/models.py:2355 msgid "Exclude stock items which are not available from the search preview window" -msgstr "" +msgstr "Excluir artículos de stock que no están disponibles en la ventana de previsualización de búsqueda" #: common/models.py:2361 msgid "Search Locations" -msgstr "" +msgstr "Buscar ubicaciones" #: common/models.py:2362 msgid "Display stock locations in search preview window" -msgstr "" +msgstr "Mostrar ubicaciones de almacén en la ventana de vista previa de búsqueda" #: common/models.py:2367 msgid "Search Companies" -msgstr "" +msgstr "Buscar empresas" #: common/models.py:2368 msgid "Display companies in search preview window" -msgstr "" +msgstr "Mostrar empresas en la ventana de vista previa de búsqueda" #: common/models.py:2373 msgid "Search Build Orders" -msgstr "" +msgstr "Buscar Pedidos de Construcción" #: common/models.py:2374 msgid "Display build orders in search preview window" @@ -3370,7 +3370,7 @@ msgstr "" #: common/models.py:2379 msgid "Search Purchase Orders" -msgstr "" +msgstr "Buscar órdenes de compra" #: common/models.py:2380 msgid "Display purchase orders in search preview window" @@ -3378,7 +3378,7 @@ msgstr "" #: common/models.py:2385 msgid "Exclude Inactive Purchase Orders" -msgstr "" +msgstr "Excluir pedidos de compra inactivos" #: common/models.py:2387 msgid "Exclude inactive purchase orders from search preview window" @@ -3386,7 +3386,7 @@ msgstr "" #: common/models.py:2393 msgid "Search Sales Orders" -msgstr "" +msgstr "Buscar órdenes de venta" #: common/models.py:2394 msgid "Display sales orders in search preview window" @@ -3402,7 +3402,7 @@ msgstr "" #: common/models.py:2407 msgid "Search Return Orders" -msgstr "" +msgstr "Buscar órdenes de devolución" #: common/models.py:2408 msgid "Display return orders in search preview window" @@ -3418,7 +3418,7 @@ msgstr "" #: common/models.py:2421 msgid "Search Preview Results" -msgstr "" +msgstr "Resultados de la vista previa" #: common/models.py:2423 msgid "Number of results to show in each section of the search preview window" @@ -3426,55 +3426,55 @@ msgstr "" #: common/models.py:2429 msgid "Regex Search" -msgstr "" +msgstr "Búsqueda usando una expresión regular" #: common/models.py:2430 msgid "Enable regular expressions in search queries" -msgstr "" +msgstr "Habilitar expresiones regulares en las consultas de búsqueda" #: common/models.py:2435 msgid "Whole Word Search" -msgstr "" +msgstr "Búsqueda por palabra completa" #: common/models.py:2436 msgid "Search queries return results for whole word matches" -msgstr "" +msgstr "Las consultas de búsqueda devuelven resultados para palabras enteras coincidentes" #: common/models.py:2441 msgid "Show Quantity in Forms" -msgstr "" +msgstr "Mostrar cantidad en formularios" #: common/models.py:2442 msgid "Display available part quantity in some forms" -msgstr "" +msgstr "Mostrar la cantidad de partes disponibles en algunos formularios" #: common/models.py:2447 msgid "Escape Key Closes Forms" -msgstr "" +msgstr "Formularios de cierre de teclas de escape" #: common/models.py:2448 msgid "Use the escape key to close modal forms" -msgstr "" +msgstr "Usa la clave de escape para cerrar formularios modales" #: common/models.py:2453 msgid "Fixed Navbar" -msgstr "" +msgstr "Barra de navegación fija" #: common/models.py:2454 msgid "The navbar position is fixed to the top of the screen" -msgstr "" +msgstr "La posición de la barra de navegación se fija en la parte superior de la pantalla" #: common/models.py:2459 msgid "Date Format" -msgstr "" +msgstr "Formato de Fecha" #: common/models.py:2460 msgid "Preferred format for displaying dates" -msgstr "" +msgstr "Formato preferido para mostrar fechas" #: common/models.py:2473 part/templates/part/detail.html:41 msgid "Part Scheduling" -msgstr "" +msgstr "Planificación de partes" #: common/models.py:2474 msgid "Display part scheduling information" @@ -3498,7 +3498,7 @@ msgstr "" #: common/models.py:2495 msgid "Receive error reports" -msgstr "" +msgstr "Recibir reportes de error" #: common/models.py:2496 msgid "Receive notifications for system errors" @@ -3506,7 +3506,7 @@ msgstr "" #: common/models.py:2501 msgid "Last used printing machines" -msgstr "" +msgstr "Últimas impresoras usadas" #: common/models.py:2502 msgid "Save the last used printing machines for a user" @@ -3520,11 +3520,11 @@ msgstr "" #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 msgid "User" -msgstr "" +msgstr "Usuario" #: common/models.py:2545 msgid "Price break quantity" -msgstr "" +msgstr "Cantidad de salto de precio" #: common/models.py:2552 company/serializers.py:502 order/admin.py:42 #: order/models.py:1346 order/models.py:2292 @@ -3532,11 +3532,11 @@ msgstr "" #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:740 msgid "Price" -msgstr "" +msgstr "Precio" #: common/models.py:2553 msgid "Unit price at specified quantity" -msgstr "" +msgstr "Precio unitario a la cantidad especificada" #: common/models.py:2649 common/models.py:2834 msgid "Endpoint" @@ -3544,15 +3544,15 @@ msgstr "" #: common/models.py:2650 msgid "Endpoint at which this webhook is received" -msgstr "" +msgstr "Punto final en el que se recibe este webhook" #: common/models.py:2660 msgid "Name for this webhook" -msgstr "" +msgstr "Nombre para este webhook" #: common/models.py:2664 msgid "Is this webhook active" -msgstr "" +msgstr "Está activo este webhook" #: common/models.py:2680 users/models.py:159 msgid "Token" @@ -3560,23 +3560,23 @@ msgstr "" #: common/models.py:2681 msgid "Token for access" -msgstr "" +msgstr "Token para el acceso" #: common/models.py:2689 msgid "Secret" -msgstr "" +msgstr "Clave" #: common/models.py:2690 msgid "Shared secret for HMAC" -msgstr "" +msgstr "Secreto compartido para HMAC" #: common/models.py:2798 msgid "Message ID" -msgstr "" +msgstr "ID de mensaje" #: common/models.py:2799 msgid "Unique identifier for this message" -msgstr "" +msgstr "Identificador único para este mensaje" #: common/models.py:2807 msgid "Host" @@ -3584,35 +3584,35 @@ msgstr "" #: common/models.py:2808 msgid "Host from which this message was received" -msgstr "" +msgstr "Servidor desde el cual se recibió este mensaje" #: common/models.py:2816 msgid "Header" -msgstr "" +msgstr "Encabezado" #: common/models.py:2817 msgid "Header of this message" -msgstr "" +msgstr "Encabezado del mensaje" #: common/models.py:2824 msgid "Body" -msgstr "" +msgstr "Cuerpo" #: common/models.py:2825 msgid "Body of this message" -msgstr "" +msgstr "Cuerpo de este mensaje" #: common/models.py:2835 msgid "Endpoint on which this message was received" -msgstr "" +msgstr "Endpoint en el que se recibió este mensaje" #: common/models.py:2840 msgid "Worked on" -msgstr "" +msgstr "Trabajado en" #: common/models.py:2841 msgid "Was the work on this message finished?" -msgstr "" +msgstr "¿El trabajo en este mensaje ha terminado?" #: common/models.py:2967 msgid "Id" @@ -3621,7 +3621,7 @@ msgstr "" #: common/models.py:2969 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" -msgstr "" +msgstr "Título" #: common/models.py:2971 common/models.py:3229 company/models.py:149 #: company/models.py:446 company/models.py:506 company/models.py:806 @@ -3638,28 +3638,28 @@ msgstr "" #: templates/js/translated/sales_order.js:1092 #: templates/js/translated/sales_order.js:2023 msgid "Link" -msgstr "" +msgstr "Enlace" #: common/models.py:2973 templates/js/translated/news.js:60 msgid "Published" -msgstr "" +msgstr "Publicado" #: common/models.py:2975 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" -msgstr "" +msgstr "Autor" #: common/models.py:2977 templates/js/translated/news.js:52 msgid "Summary" -msgstr "" +msgstr "Resumen" #: common/models.py:2980 msgid "Read" -msgstr "" +msgstr "Leer" #: common/models.py:2980 msgid "Was this news item read?" -msgstr "" +msgstr "¿Esta noticia ya fue leída?" #: common/models.py:2997 company/models.py:159 part/models.py:969 #: report/templates/report/inventree_bill_of_materials_report.html:126 @@ -3669,11 +3669,11 @@ msgstr "" #: templates/hover_image.html:7 templates/hover_image.html:9 #: templates/modals.html:6 msgid "Image" -msgstr "" +msgstr "Imágen" #: common/models.py:2997 msgid "Image file" -msgstr "" +msgstr "Archivo de imagen" #: common/models.py:3009 common/models.py:3213 msgid "Target model type for this image" @@ -3693,50 +3693,50 @@ msgstr "" #: common/models.py:3071 msgid "Unit name must be a valid identifier" -msgstr "" +msgstr "Nombre de unidad debe ser un identificador válido" #: common/models.py:3090 msgid "Unit name" -msgstr "" +msgstr "Nombre de unidad" #: common/models.py:3097 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" -msgstr "" +msgstr "Símbolo" #: common/models.py:3098 msgid "Optional unit symbol" -msgstr "" +msgstr "Símbolo de unidad opcional" #: common/models.py:3104 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" -msgstr "" +msgstr "Definición" #: common/models.py:3105 msgid "Unit definition" -msgstr "" +msgstr "Definición de unidad" #: common/models.py:3163 common/models.py:3220 stock/models.py:2471 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" -msgstr "" +msgstr "Archivo adjunto" #: common/models.py:3175 msgid "Missing file" -msgstr "" +msgstr "Archivo no encontrado" #: common/models.py:3176 msgid "Missing external link" -msgstr "" +msgstr "Falta enlace externo" #: common/models.py:3221 msgid "Select file to attach" -msgstr "" +msgstr "Seleccionar archivo para adjuntar" #: common/models.py:3236 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" -msgstr "" +msgstr "Comentario" #: common/models.py:3237 msgid "Attachment comment" @@ -3765,16 +3765,16 @@ msgstr "" #: common/notifications.py:314 #, python-brace-format msgid "New {verbose_name}" -msgstr "" +msgstr "Nuevo {verbose_name}" #: common/notifications.py:316 msgid "A new order has been created and assigned to you" -msgstr "" +msgstr "Se ha creado un nuevo pedido y se le ha asignado" #: common/notifications.py:322 #, python-brace-format msgid "{verbose_name} canceled" -msgstr "" +msgstr "{verbose_name} cancelado" #: common/notifications.py:324 msgid "A order that is assigned to you was canceled" @@ -3782,83 +3782,83 @@ msgstr "" #: common/notifications.py:330 common/notifications.py:337 order/api.py:454 msgid "Items Received" -msgstr "" +msgstr "Artículos Recibidos" #: common/notifications.py:332 msgid "Items have been received against a purchase order" -msgstr "" +msgstr "Los artículos han sido recibidos contra una orden de compra" #: common/notifications.py:339 msgid "Items have been received against a return order" -msgstr "" +msgstr "Los artículos han sido recibidos contra una orden de devolución" #: common/notifications.py:457 msgid "Error raised by plugin" -msgstr "" +msgstr "Error generado por el complemento" #: common/serializers.py:375 msgid "Is Running" -msgstr "" +msgstr "Está en ejecución" #: common/serializers.py:381 msgid "Pending Tasks" -msgstr "" +msgstr "Tareas pendientes" #: common/serializers.py:387 msgid "Scheduled Tasks" -msgstr "" +msgstr "Tareas Programadas" #: common/serializers.py:393 msgid "Failed Tasks" -msgstr "" +msgstr "Tareas fallidas" #: common/serializers.py:408 msgid "Task ID" -msgstr "" +msgstr "Identificación de Tarea" #: common/serializers.py:408 msgid "Unique task ID" -msgstr "" +msgstr "Identificación de tarea única" #: common/serializers.py:410 msgid "Lock" -msgstr "" +msgstr "Bloquear" #: common/serializers.py:410 msgid "Lock time" -msgstr "" +msgstr "Bloquear hora" #: common/serializers.py:412 msgid "Task name" -msgstr "" +msgstr "Nombre de la tarea" #: common/serializers.py:414 msgid "Function" -msgstr "" +msgstr "Función" #: common/serializers.py:414 msgid "Function name" -msgstr "" +msgstr "Nombre de la Función" #: common/serializers.py:416 msgid "Arguments" -msgstr "" +msgstr "Argumentos" #: common/serializers.py:416 msgid "Task arguments" -msgstr "" +msgstr "Argumentos de la tarea" #: common/serializers.py:419 msgid "Keyword Arguments" -msgstr "" +msgstr "Argumentos de palabra clave" #: common/serializers.py:419 msgid "Task keyword arguments" -msgstr "" +msgstr "Argumentos de palabra clave de tarea" #: common/serializers.py:529 msgid "Filename" -msgstr "" +msgstr "Nombre de Archivo" #: common/serializers.py:536 report/api.py:100 report/serializers.py:53 msgid "Model Type" @@ -3886,19 +3886,19 @@ msgstr "" #: common/validators.py:103 msgid "An empty domain is not allowed." -msgstr "" +msgstr "Un dominio vacío no está permitido." #: common/validators.py:105 #, python-brace-format msgid "Invalid domain name: {domain}" -msgstr "" +msgstr "Nombre de dominio inválido: {domain}" #: 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 #: part/templates/part/import_wizard/part_upload.html:58 part/views.py:109 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" -msgstr "" +msgstr "Subir Archivo" #: common/views.py:84 order/templates/order/order_wizard/match_fields.html:52 #: order/views.py:119 @@ -3906,19 +3906,19 @@ msgstr "" #: part/templates/part/import_wizard/match_fields.html:52 part/views.py:110 #: templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" -msgstr "" +msgstr "Coincidir Campos" #: common/views.py:84 msgid "Match Items" -msgstr "" +msgstr "Coincidir artículos" #: common/views.py:401 msgid "Fields matching failed" -msgstr "" +msgstr "Falló la coincidencia de campos" #: common/views.py:464 msgid "Parts imported" -msgstr "" +msgstr "Partes importadas" #: common/views.py:494 order/templates/order/order_wizard/match_fields.html:27 #: order/templates/order/order_wizard/match_parts.html:19 @@ -3929,7 +3929,7 @@ msgstr "" #: templates/patterns/wizard/match_fields.html:26 #: templates/patterns/wizard/upload.html:35 msgid "Previous Step" -msgstr "" +msgstr "Paso anterior" #: company/api.py:141 msgid "Part is Active" @@ -3956,42 +3956,42 @@ msgstr "" #: company/templates/company/company_base.html:12 stock/api.py:814 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" -msgstr "" +msgstr "Empresa" #: company/models.py:101 company/views.py:51 #: templates/js/translated/search.js:192 msgid "Companies" -msgstr "" +msgstr "Empresas" #: company/models.py:117 msgid "Company description" -msgstr "" +msgstr "Descripción de la empresa" #: company/models.py:118 msgid "Description of the company" -msgstr "" +msgstr "Descripción de la empresa" #: company/models.py:123 company/templates/company/company_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:54 #: templates/js/translated/company.js:532 msgid "Website" -msgstr "" +msgstr "Página web" #: company/models.py:123 msgid "Company website URL" -msgstr "" +msgstr "URL del sitio web de la empresa" #: company/models.py:128 msgid "Phone number" -msgstr "" +msgstr "Teléfono" #: company/models.py:130 msgid "Contact phone number" -msgstr "" +msgstr "Teléfono de contacto" #: company/models.py:137 msgid "Contact email address" -msgstr "" +msgstr "Correo electrónico de contacto" #: company/models.py:142 company/models.py:275 #: company/templates/company/company_base.html:145 order/models.py:343 @@ -3999,15 +3999,15 @@ msgstr "" #: order/templates/order/return_order_base.html:174 #: order/templates/order/sales_order_base.html:218 msgid "Contact" -msgstr "" +msgstr "Contacto" #: company/models.py:144 msgid "Point of contact" -msgstr "" +msgstr "Punto de contacto" #: company/models.py:150 msgid "Link to external company information" -msgstr "" +msgstr "Enlace a información externa de la empresa" #: company/models.py:163 msgid "Is this company active?" @@ -4019,7 +4019,7 @@ msgstr "" #: company/models.py:169 msgid "Do you sell items to this company?" -msgstr "" +msgstr "¿Vendes artículos a esta empresa?" #: company/models.py:174 msgid "Is supplier" @@ -4027,7 +4027,7 @@ msgstr "" #: company/models.py:175 msgid "Do you purchase items from this company?" -msgstr "" +msgstr "¿Compras artículos de esta empresa?" #: company/models.py:180 msgid "Is manufacturer" @@ -4035,126 +4035,126 @@ msgstr "" #: company/models.py:181 msgid "Does this company manufacture parts?" -msgstr "" +msgstr "¿Esta empresa fabrica partes?" #: company/models.py:189 msgid "Default currency used for this company" -msgstr "" +msgstr "Moneda predeterminada utilizada para esta empresa" #: company/models.py:314 company/templates/company/company_base.html:124 #: order/models.py:353 order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:181 #: order/templates/order/sales_order_base.html:225 msgid "Address" -msgstr "" +msgstr "Dirección" #: company/models.py:315 company/templates/company/sidebar.html:35 msgid "Addresses" -msgstr "" +msgstr "Direcciones" #: company/models.py:372 msgid "Select company" -msgstr "" +msgstr "Seleccionar empresa" #: company/models.py:377 msgid "Address title" -msgstr "" +msgstr "Título de dirección" #: company/models.py:378 msgid "Title describing the address entry" -msgstr "" +msgstr "Título que describe la entrada de dirección" #: company/models.py:384 msgid "Primary address" -msgstr "" +msgstr "Dirección principal" #: company/models.py:385 msgid "Set as primary address" -msgstr "" +msgstr "Establecer como dirección principal" #: company/models.py:390 templates/js/translated/company.js:914 #: templates/js/translated/company.js:971 msgid "Line 1" -msgstr "" +msgstr "Línea 1" #: company/models.py:391 msgid "Address line 1" -msgstr "" +msgstr "Dirección línea 1" #: company/models.py:397 templates/js/translated/company.js:915 #: templates/js/translated/company.js:977 msgid "Line 2" -msgstr "" +msgstr "Línea 2" #: company/models.py:398 msgid "Address line 2" -msgstr "" +msgstr "Dirección línea 2" #: company/models.py:404 company/models.py:405 #: templates/js/translated/company.js:983 msgid "Postal code" -msgstr "" +msgstr "Código postal" #: company/models.py:411 msgid "City/Region" -msgstr "" +msgstr "Ciudad/región" #: company/models.py:412 msgid "Postal code city/region" -msgstr "" +msgstr "Código postal de ciudad/región" #: company/models.py:418 msgid "State/Province" -msgstr "" +msgstr "Estado/provincia" #: company/models.py:419 msgid "State or province" -msgstr "" +msgstr "Estado o provincia" #: company/models.py:425 templates/js/translated/company.js:1001 msgid "Country" -msgstr "" +msgstr "País" #: company/models.py:426 msgid "Address country" -msgstr "" +msgstr "Dirección de país" #: company/models.py:432 msgid "Courier shipping notes" -msgstr "" +msgstr "Notas de envío de mensajería" #: company/models.py:433 msgid "Notes for shipping courier" -msgstr "" +msgstr "Notas para el mensajero de envío" #: company/models.py:439 msgid "Internal shipping notes" -msgstr "" +msgstr "Notas de envío internas" #: company/models.py:440 msgid "Shipping notes for internal use" -msgstr "" +msgstr "Notas de envío para uso interno" #: company/models.py:447 msgid "Link to address information (external)" -msgstr "" +msgstr "Enlace a información de dirección (externa)" #: company/models.py:469 company/models.py:581 company/models.py:799 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:217 msgid "Manufacturer Part" -msgstr "" +msgstr "Parte del fabricante" #: company/models.py:481 company/models.py:767 stock/models.py:767 #: stock/serializers.py:442 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" -msgstr "" +msgstr "Parte base" #: company/models.py:483 company/models.py:769 msgid "Select part" -msgstr "" +msgstr "Seleccionar parte" #: company/models.py:492 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 @@ -4166,11 +4166,11 @@ msgstr "" #: templates/js/translated/company.js:1611 #: templates/js/translated/table_filters.js:805 msgid "Manufacturer" -msgstr "" +msgstr "Fabricante" #: company/models.py:493 msgid "Select manufacturer" -msgstr "" +msgstr "Seleccionar fabricante" #: company/models.py:499 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:153 order/serializers.py:518 @@ -4185,11 +4185,11 @@ msgstr "" #: company/models.py:507 msgid "URL for external manufacturer part link" -msgstr "" +msgstr "URL para el enlace de parte del fabricante externo" #: company/models.py:516 msgid "Manufacturer part description" -msgstr "" +msgstr "Descripción de la parte del fabricante" #: company/models.py:569 msgid "Manufacturer Part Parameter" @@ -4197,18 +4197,18 @@ msgstr "" #: company/models.py:588 msgid "Parameter name" -msgstr "" +msgstr "Nombre del parámetro" #: company/models.py:594 report/templates/report/inventree_test_report.html:104 #: stock/models.py:2463 templates/js/translated/company.js:1166 #: templates/js/translated/company.js:1419 templates/js/translated/part.js:1496 #: templates/js/translated/stock.js:1522 msgid "Value" -msgstr "" +msgstr "Valor" #: company/models.py:595 msgid "Parameter value" -msgstr "" +msgstr "Valor del parámetro" #: company/models.py:602 company/templates/company/supplier_part.html:168 #: part/admin.py:57 part/models.py:1049 part/models.py:3667 @@ -4216,11 +4216,11 @@ msgstr "" #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1515 #: templates/js/translated/part.js:1619 templates/js/translated/part.js:2373 msgid "Units" -msgstr "" +msgstr "Unidades" #: company/models.py:603 msgid "Parameter units" -msgstr "" +msgstr "Unidades de parámetro" #: company/models.py:655 company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 order/api.py:434 @@ -4229,19 +4229,19 @@ msgstr "" #: templates/js/translated/purchase_order.js:752 #: templates/js/translated/stock.js:2280 msgid "Supplier Part" -msgstr "" +msgstr "Parte del proveedor" #: company/models.py:707 msgid "Pack units must be compatible with the base part units" -msgstr "" +msgstr "Las unidades de paquete deben ser compatibles con las unidades de partes de base" #: company/models.py:714 msgid "Pack units must be greater than zero" -msgstr "" +msgstr "Las unidades de paquete deben ser mayor que cero" #: company/models.py:728 msgid "Linked manufacturer part must reference the same base part" -msgstr "" +msgstr "La parte vinculada del fabricante debe hacer referencia a la misma parte base" #: company/models.py:777 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 @@ -4257,15 +4257,15 @@ msgstr "" #: templates/js/translated/purchase_order.js:1689 #: templates/js/translated/table_filters.js:809 msgid "Supplier" -msgstr "" +msgstr "Proveedor" #: company/models.py:778 msgid "Select supplier" -msgstr "" +msgstr "Seleccionar proveedor" #: company/models.py:784 part/serializers.py:538 msgid "Supplier stock keeping unit" -msgstr "" +msgstr "Unidad de mantenimiento de stock de proveedores" #: company/models.py:790 msgid "Is this supplier part active?" @@ -4273,15 +4273,15 @@ msgstr "" #: company/models.py:800 msgid "Select manufacturer part" -msgstr "" +msgstr "Seleccionar parte del fabricante" #: company/models.py:807 msgid "URL for external supplier part link" -msgstr "" +msgstr "URL del enlace de parte del proveedor externo" #: company/models.py:816 msgid "Supplier part description" -msgstr "" +msgstr "Descripción de la parte del proveedor" #: company/models.py:823 company/templates/company/supplier_part.html:187 #: part/admin.py:412 part/models.py:4178 part/templates/part/upload_bom.html:59 @@ -4292,15 +4292,15 @@ msgstr "" #: report/templates/report/inventree_stock_location_report.html:105 #: stock/serializers.py:768 msgid "Note" -msgstr "" +msgstr "Nota" #: company/models.py:832 part/models.py:2013 msgid "base cost" -msgstr "" +msgstr "costo base" #: company/models.py:833 part/models.py:2014 msgid "Minimum charge (e.g. stocking fee)" -msgstr "" +msgstr "Cargo mínimo (p. ej., cuota de almacenamiento)" #: company/models.py:840 company/templates/company/supplier_part.html:160 #: stock/admin.py:228 stock/models.py:798 stock/serializers.py:1541 @@ -4308,11 +4308,11 @@ msgstr "" #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 msgid "Packaging" -msgstr "" +msgstr "Paquetes" #: company/models.py:841 msgid "Part packaging" -msgstr "" +msgstr "Embalaje de partes" #: company/models.py:846 templates/js/translated/company.js:1651 #: templates/js/translated/part.js:1825 templates/js/translated/part.js:1881 @@ -4322,31 +4322,31 @@ msgstr "" #: templates/js/translated/purchase_order.js:2084 #: templates/js/translated/purchase_order.js:2101 msgid "Pack Quantity" -msgstr "" +msgstr "Cantidad de paquete" #: company/models.py:848 msgid "Total quantity supplied in a single pack. Leave empty for single items." -msgstr "" +msgstr "Cantidad total suministrada en un solo paquete. Dejar vacío para artículos individuales." #: company/models.py:867 part/models.py:2020 msgid "multiple" -msgstr "" +msgstr "múltiple" #: company/models.py:868 msgid "Order multiple" -msgstr "" +msgstr "Pedido múltiple" #: company/models.py:880 msgid "Quantity available from supplier" -msgstr "" +msgstr "Cantidad disponible del proveedor" #: company/models.py:886 msgid "Availability Updated" -msgstr "" +msgstr "Disponibilidad actualizada" #: company/models.py:887 msgid "Date of last update of availability data" -msgstr "" +msgstr "Fecha de última actualización de los datos de disponibilidad" #: company/models.py:1015 msgid "Supplier Price Break" @@ -4354,7 +4354,7 @@ msgstr "" #: company/serializers.py:174 msgid "Default currency used for this supplier" -msgstr "" +msgstr "Moneda predeterminada utilizada para este proveedor" #: company/serializers.py:210 msgid "Company Name" @@ -4365,7 +4365,7 @@ msgstr "" #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:355 msgid "In Stock" -msgstr "" +msgstr "En Stock" #: company/templates/company/company_base.html:16 #: part/templates/part/part_base.html:146 @@ -4374,34 +4374,34 @@ msgstr "" #: templates/js/translated/model_renderers.js:312 #: templates/js/translated/part.js:814 templates/js/translated/part.js:1222 msgid "Inactive" -msgstr "" +msgstr "Inactivo" #: company/templates/company/company_base.html:27 #: templates/js/translated/purchase_order.js:242 msgid "Create Purchase Order" -msgstr "" +msgstr "Crear orden de compra" #: company/templates/company/company_base.html:33 msgid "Company actions" -msgstr "" +msgstr "Acciones de empresa" #: company/templates/company/company_base.html:38 msgid "Edit company information" -msgstr "" +msgstr "Editar datos de la empresa" #: company/templates/company/company_base.html:39 #: templates/js/translated/company.js:445 msgid "Edit Company" -msgstr "" +msgstr "Editar empresa" #: company/templates/company/company_base.html:43 msgid "Delete company" -msgstr "" +msgstr "Eliminar empresa" #: company/templates/company/company_base.html:44 #: company/templates/company/company_base.html:168 msgid "Delete Company" -msgstr "" +msgstr "Eliminar Empresa" #: company/templates/company/company_base.html:53 #: company/templates/company/manufacturer_part.html:51 @@ -4413,22 +4413,22 @@ msgstr "" #: report/templates/report/inventree_test_report.html:84 #: report/templates/report/inventree_test_report.html:162 msgid "Part image" -msgstr "" +msgstr "Imagen de parte" #: company/templates/company/company_base.html:61 #: part/templates/part/part_thumb.html:12 msgid "Upload new image" -msgstr "" +msgstr "Cargar nueva imagen" #: company/templates/company/company_base.html:64 #: part/templates/part/part_thumb.html:14 msgid "Download image from URL" -msgstr "" +msgstr "Descargar desde URL" #: company/templates/company/company_base.html:66 #: part/templates/part/part_thumb.html:16 msgid "Delete image" -msgstr "" +msgstr "Borrar imagen" #: company/templates/company/company_base.html:92 order/models.py:938 #: order/models.py:2058 order/templates/order/return_order_base.html:131 @@ -4442,74 +4442,74 @@ msgstr "" #: templates/js/translated/stock.js:2959 #: templates/js/translated/table_filters.js:813 msgid "Customer" -msgstr "" +msgstr "Cliente" #: company/templates/company/company_base.html:117 msgid "Uses default currency" -msgstr "" +msgstr "Usa la moneda predeterminada" #: company/templates/company/company_base.html:131 msgid "Phone" -msgstr "" +msgstr "Teléfono" #: company/templates/company/company_base.html:211 #: part/templates/part/part_base.html:527 msgid "Remove Image" -msgstr "" +msgstr "Eliminar imagen" #: company/templates/company/company_base.html:212 msgid "Remove associated image from this company" -msgstr "" +msgstr "Eliminar imagen asociada a esta empresa" #: company/templates/company/company_base.html:214 #: part/templates/part/part_base.html:530 #: templates/InvenTree/settings/user.html:88 #: templates/InvenTree/settings/user_sso.html:43 msgid "Remove" -msgstr "" +msgstr "Eliminar" #: company/templates/company/company_base.html:243 #: part/templates/part/part_base.html:559 msgid "Upload Image" -msgstr "" +msgstr "Subir Imagen" #: company/templates/company/company_base.html:258 #: part/templates/part/part_base.html:613 msgid "Download Image" -msgstr "" +msgstr "Descargar imagen" #: company/templates/company/detail.html:15 #: company/templates/company/manufacturer_part_sidebar.html:7 #: templates/InvenTree/search.html:120 templates/js/translated/search.js:147 msgid "Supplier Parts" -msgstr "" +msgstr "Partes de Proveedor" #: company/templates/company/detail.html:19 msgid "Create new supplier part" -msgstr "" +msgstr "Crear nueva parte del proveedor" #: company/templates/company/detail.html:20 #: company/templates/company/manufacturer_part.html:123 #: part/templates/part/detail.html:356 msgid "New Supplier Part" -msgstr "" +msgstr "Nueva Parte de Proveedor" #: company/templates/company/detail.html:41 templates/InvenTree/search.html:105 #: templates/js/translated/search.js:151 msgid "Manufacturer Parts" -msgstr "" +msgstr "Partes del fabricante" #: company/templates/company/detail.html:45 msgid "Create new manufacturer part" -msgstr "" +msgstr "Crear nueva parte de fabricante" #: company/templates/company/detail.html:46 part/templates/part/detail.html:376 msgid "New Manufacturer Part" -msgstr "" +msgstr "Nueva parte de fabricante" #: company/templates/company/detail.html:65 msgid "Supplier Stock" -msgstr "" +msgstr "Stock del Proveedor" #: company/templates/company/detail.html:75 #: company/templates/company/sidebar.html:12 @@ -4523,17 +4523,17 @@ msgstr "" #: templates/js/translated/search.js:205 templates/navbar.html:50 #: users/models.py:208 msgid "Purchase Orders" -msgstr "" +msgstr "Ordenes de compra" #: company/templates/company/detail.html:79 #: order/templates/order/purchase_orders.html:17 msgid "Create new purchase order" -msgstr "" +msgstr "Crear nueva orden de compra" #: company/templates/company/detail.html:80 #: order/templates/order/purchase_orders.html:18 msgid "New Purchase Order" -msgstr "" +msgstr "Nueva orden de compra" #: company/templates/company/detail.html:101 #: company/templates/company/sidebar.html:21 @@ -4546,21 +4546,21 @@ msgstr "" #: templates/js/translated/search.js:219 templates/navbar.html:62 #: users/models.py:209 msgid "Sales Orders" -msgstr "" +msgstr "Órdenes de venta" #: company/templates/company/detail.html:105 #: order/templates/order/sales_orders.html:20 msgid "Create new sales order" -msgstr "" +msgstr "Crear Orden de Venta" #: company/templates/company/detail.html:106 #: order/templates/order/sales_orders.html:21 msgid "New Sales Order" -msgstr "" +msgstr "Nueva orden de venta" #: company/templates/company/detail.html:126 msgid "Assigned Stock" -msgstr "" +msgstr "Stock asignado" #: company/templates/company/detail.html:142 #: company/templates/company/sidebar.html:29 @@ -4571,70 +4571,70 @@ msgstr "" #: templates/js/translated/search.js:232 templates/navbar.html:65 #: users/models.py:210 msgid "Return Orders" -msgstr "" +msgstr "Ordenes de devolución" #: company/templates/company/detail.html:146 #: order/templates/order/return_orders.html:20 msgid "Create new return order" -msgstr "" +msgstr "Crear nueva orden de devolución" #: company/templates/company/detail.html:147 #: order/templates/order/return_orders.html:21 msgid "New Return Order" -msgstr "" +msgstr "Nueva orden de devolución" #: company/templates/company/detail.html:168 msgid "Company Notes" -msgstr "" +msgstr "Notas de la empresa" #: company/templates/company/detail.html:183 msgid "Company Contacts" -msgstr "" +msgstr "Contactos de la empresa" #: company/templates/company/detail.html:187 #: company/templates/company/detail.html:188 msgid "Add Contact" -msgstr "" +msgstr "Añadir contacto" #: company/templates/company/detail.html:206 msgid "Company addresses" -msgstr "" +msgstr "Direcciones de la empresa" #: company/templates/company/detail.html:210 #: company/templates/company/detail.html:211 msgid "Add Address" -msgstr "" +msgstr "Añadir dirección" #: company/templates/company/manufacturer_part.html:15 company/views.py:37 #: templates/InvenTree/search.html:180 templates/navbar.html:49 msgid "Manufacturers" -msgstr "" +msgstr "Fabricantes" #: company/templates/company/manufacturer_part.html:35 #: company/templates/company/supplier_part.html:227 #: part/templates/part/detail.html:109 part/templates/part/part_base.html:83 msgid "Order part" -msgstr "" +msgstr "Pedir ítem" #: company/templates/company/manufacturer_part.html:39 #: templates/js/translated/company.js:1343 msgid "Edit manufacturer part" -msgstr "" +msgstr "Editar fabricante de la parte" #: company/templates/company/manufacturer_part.html:43 #: templates/js/translated/company.js:1344 msgid "Delete manufacturer part" -msgstr "" +msgstr "Eliminar fabricante de la parte" #: company/templates/company/manufacturer_part.html:65 #: company/templates/company/supplier_part.html:97 order/api.py:440 #: order/serializers.py:526 msgid "Internal Part" -msgstr "" +msgstr "Componente interno" #: company/templates/company/manufacturer_part.html:95 msgid "No manufacturer information available" -msgstr "" +msgstr "No hay información del fabricante disponible" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 @@ -4642,87 +4642,87 @@ msgstr "" #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" -msgstr "" +msgstr "Proveedores" #: company/templates/company/manufacturer_part.html:156 #: company/templates/company/manufacturer_part_sidebar.html:5 #: part/templates/part/category_sidebar.html:20 #: part/templates/part/detail.html:195 part/templates/part/part_sidebar.html:8 msgid "Parameters" -msgstr "" +msgstr "Parámetros" #: company/templates/company/manufacturer_part.html:160 #: part/templates/part/detail.html:200 #: templates/InvenTree/settings/category.html:12 #: templates/InvenTree/settings/part_parameters.html:24 msgid "New Parameter" -msgstr "" +msgstr "Nuevo parámetro" #: company/templates/company/manufacturer_part.html:196 #: templates/js/translated/part.js:1426 msgid "Add Parameter" -msgstr "" +msgstr "Añadir parámetro" #: company/templates/company/sidebar.html:6 msgid "Manufactured Parts" -msgstr "" +msgstr "Partes Manufacturadas" #: company/templates/company/sidebar.html:10 msgid "Supplied Parts" -msgstr "" +msgstr "Partes suministradas" #: company/templates/company/sidebar.html:16 msgid "Supplied Stock Items" -msgstr "" +msgstr "Elementos de stock suministrados" #: company/templates/company/sidebar.html:25 msgid "Assigned Stock Items" -msgstr "" +msgstr "Elementos de Stock Asignados" #: company/templates/company/sidebar.html:33 msgid "Contacts" -msgstr "" +msgstr "Contactos" #: company/templates/company/supplier_part.html:50 #: templates/js/translated/company.js:1526 msgid "Supplier part actions" -msgstr "" +msgstr "Acciones de partes del proveedor" #: company/templates/company/supplier_part.html:55 #: company/templates/company/supplier_part.html:56 #: company/templates/company/supplier_part.html:228 #: part/templates/part/detail.html:110 msgid "Order Part" -msgstr "" +msgstr "Pedir ítem" #: company/templates/company/supplier_part.html:60 #: company/templates/company/supplier_part.html:61 msgid "Update Availability" -msgstr "" +msgstr "Actualizar disponibilidad" #: company/templates/company/supplier_part.html:63 #: company/templates/company/supplier_part.html:64 #: templates/js/translated/company.js:294 msgid "Edit Supplier Part" -msgstr "" +msgstr "Editar Parte del Proveedor" #: company/templates/company/supplier_part.html:68 #: company/templates/company/supplier_part.html:69 #: templates/js/translated/company.js:269 msgid "Duplicate Supplier Part" -msgstr "" +msgstr "Duplicar parte del proveedor" #: company/templates/company/supplier_part.html:73 msgid "Delete Supplier Part" -msgstr "" +msgstr "Eliminar parte del proveedor" #: company/templates/company/supplier_part.html:74 msgid "Delete Supplier Part" -msgstr "" +msgstr "Eliminar parte del proveedor" #: company/templates/company/supplier_part.html:133 msgid "No supplier information available" -msgstr "" +msgstr "No hay información de proveedor disponible" #: company/templates/company/supplier_part.html:139 order/serializers.py:515 #: part/bom.py:279 part/bom.py:311 part/serializers.py:537 @@ -4735,36 +4735,36 @@ msgstr "" #: company/templates/company/supplier_part.html:206 msgid "Supplier Part Stock" -msgstr "" +msgstr "Stock del Proveedor" #: company/templates/company/supplier_part.html:209 #: part/templates/part/detail.html:24 stock/templates/stock/location.html:207 msgid "Create new stock item" -msgstr "" +msgstr "Crear nuevo artículo de stock" #: company/templates/company/supplier_part.html:210 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:208 #: templates/js/translated/stock.js:537 msgid "New Stock Item" -msgstr "" +msgstr "Nuevo artículo de stock" #: company/templates/company/supplier_part.html:223 msgid "Supplier Part Orders" -msgstr "" +msgstr "Pedidos de partes al proveedor" #: company/templates/company/supplier_part.html:246 msgid "Pricing Information" -msgstr "" +msgstr "Información de precios" #: company/templates/company/supplier_part.html:251 #: templates/js/translated/company.js:398 #: templates/js/translated/pricing.js:684 msgid "Add Price Break" -msgstr "" +msgstr "Agregar descuento de precio" #: company/templates/company/supplier_part.html:276 msgid "Supplier Part QR Code" -msgstr "" +msgstr "Código QR de parte del Proveedor" #: company/templates/company/supplier_part.html:287 msgid "Link Barcode to Supplier Part" @@ -4787,36 +4787,36 @@ msgstr "" #: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 #: users/models.py:206 msgid "Stock Items" -msgstr "" +msgstr "Elementos de stock" #: company/templates/company/supplier_part_sidebar.html:9 msgid "Supplier Part Pricing" -msgstr "" +msgstr "Precio de parte del proveedor" #: company/views.py:32 msgid "New Supplier" -msgstr "" +msgstr "Nuevo Proveedor" #: company/views.py:38 msgid "New Manufacturer" -msgstr "" +msgstr "Nuevo Fabricante" #: company/views.py:43 templates/InvenTree/search.html:210 #: templates/navbar.html:60 msgid "Customers" -msgstr "" +msgstr "Clientes" #: company/views.py:44 msgid "New Customer" -msgstr "" +msgstr "Nuevo Cliente" #: company/views.py:52 msgid "New Company" -msgstr "" +msgstr "Nueva empresa" #: generic/states/tests.py:18 order/status_codes.py:13 msgid "Placed" -msgstr "" +msgstr "Colocado" #: importer/mixins.py:263 msgid "Invalid export format" @@ -4863,10 +4863,8 @@ msgid "Column does not exist in the data file" msgstr "" #: importer/models.py:372 -#, fuzzy -#| msgid "User does not have permission to view this model" msgid "Field does not exist in the target model" -msgstr "El usuario no tiene permiso para ver este modelo" +msgstr "" #: importer/models.py:376 msgid "Selected field is read-only" @@ -4894,15 +4892,15 @@ msgstr "" #: importer/models.py:462 part/models.py:3841 msgid "Data" -msgstr "" +msgstr "Datos" #: importer/models.py:464 machine/models.py:110 msgid "Errors" -msgstr "" +msgstr "Errores" #: importer/models.py:466 part/api.py:874 msgid "Valid" -msgstr "" +msgstr "Válido" #: importer/operations.py:28 importer/operations.py:49 msgid "Unsupported data file format" @@ -4925,10 +4923,8 @@ msgid "List of row IDs to accept" msgstr "" #: importer/serializers.py:149 -#, fuzzy -#| msgid "No value provided" msgid "No rows provided" -msgstr "Ningún valor proporcionado" +msgstr "" #: importer/serializers.py:153 msgid "Row does not belong to this session" @@ -4959,10 +4955,8 @@ msgid "Processing Data" msgstr "" #: importer/validators.py:21 -#, fuzzy -#| msgid "Image download exceeded maximum size" msgid "Data file exceeds maximum size limit" -msgstr "La imagen descargada exedió el tamaño máximo" +msgstr "" #: importer/validators.py:26 msgid "Data file contains no headers" @@ -4982,7 +4976,7 @@ msgstr "" #: machine/machine_types/label_printer.py:212 msgid "Copies" -msgstr "" +msgstr "Copias" #: machine/machine_types/label_printer.py:213 msgid "Number of copies to print for each label" @@ -4990,36 +4984,36 @@ msgstr "" #: machine/machine_types/label_printer.py:228 msgid "Connected" -msgstr "" +msgstr "Conectado" #: machine/machine_types/label_printer.py:229 order/api.py:1388 #: templates/js/translated/sales_order.js:1078 msgid "Unknown" -msgstr "" +msgstr "Desconocido" #: machine/machine_types/label_printer.py:230 msgid "Printing" -msgstr "" +msgstr "Impresión" #: machine/machine_types/label_printer.py:231 msgid "No media" -msgstr "" +msgstr "Sin archivos multimedia" #: machine/machine_types/label_printer.py:232 msgid "Disconnected" -msgstr "" +msgstr "Desconectado" #: machine/machine_types/label_printer.py:239 msgid "Label Printer" -msgstr "" +msgstr "Impresora de Etiquetas" #: machine/machine_types/label_printer.py:240 msgid "Directly print labels for various items." -msgstr "" +msgstr "Imprime directamente etiquetas para varios artículos." #: machine/machine_types/label_printer.py:246 msgid "Printer Location" -msgstr "" +msgstr "Ubicación de la Impresora" #: machine/machine_types/label_printer.py:247 msgid "Scope the printer to a specific location" @@ -5027,47 +5021,47 @@ msgstr "" #: machine/models.py:25 msgid "Name of machine" -msgstr "" +msgstr "Nombre de la máquina" #: machine/models.py:29 msgid "Machine Type" -msgstr "" +msgstr "Tipo de Máquina" #: machine/models.py:29 msgid "Type of machine" -msgstr "" +msgstr "Tipo de máquina" #: machine/models.py:34 machine/models.py:146 msgid "Driver" -msgstr "" +msgstr "Controlador" #: machine/models.py:35 msgid "Driver used for the machine" -msgstr "" +msgstr "Controlador usado para la máquina" #: machine/models.py:39 msgid "Machines can be disabled" -msgstr "" +msgstr "Las máquinas pueden ser desactivadas" #: machine/models.py:95 msgid "Driver available" -msgstr "" +msgstr "Controlador disponible" #: machine/models.py:100 msgid "No errors" -msgstr "" +msgstr "Sin errores" #: machine/models.py:105 msgid "Initialized" -msgstr "" +msgstr "Inicializado" #: machine/models.py:117 msgid "Machine status" -msgstr "" +msgstr "Estado de máquina" #: machine/models.py:145 msgid "Machine" -msgstr "" +msgstr "Máquina" #: machine/models.py:151 msgid "Machine Config" @@ -5084,14 +5078,14 @@ msgstr "" #: templates/js/translated/purchase_order.js:2125 #: templates/js/translated/sales_order.js:1883 msgid "Total Price" -msgstr "" +msgstr "Precio Total" #: order/api.py:149 order/serializers.py:94 #: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:113 #: order/templates/order/sales_order_base.html:122 msgid "Order Status" -msgstr "" +msgstr "Estado del pedido" #: order/api.py:153 templates/js/translated/table_filters.js:194 #: templates/js/translated/table_filters.js:784 @@ -5100,14 +5094,14 @@ msgstr "" #: order/api.py:228 msgid "No matching purchase order found" -msgstr "" +msgstr "No se encontró ninguna orden de compra coincidente" #: order/api.py:417 order/api.py:755 order/models.py:1400 order/models.py:1514 #: order/models.py:1565 order/models.py:1680 order/models.py:1839 #: order/models.py:2258 order/models.py:2314 #: templates/js/translated/sales_order.js:1524 msgid "Order" -msgstr "" +msgstr "Orden" #: order/api.py:421 order/api.py:776 msgid "Order Complete" @@ -5129,7 +5123,7 @@ msgstr "" #: templates/js/translated/purchase_order.js:1673 #: templates/js/translated/stock.js:2260 templates/js/translated/stock.js:2907 msgid "Purchase Order" -msgstr "" +msgstr "Orden de compra" #: order/api.py:1386 order/models.py:2007 order/models.py:2259 #: order/models.py:2315 order/templates/order/return_order_base.html:9 @@ -5138,122 +5132,122 @@ msgstr "" #: templates/js/translated/return_order.js:280 #: templates/js/translated/stock.js:2941 msgid "Return Order" -msgstr "" +msgstr "Orden de devolución" #: order/models.py:91 msgid "Total price for this order" -msgstr "" +msgstr "Precio total para este pedido" #: order/models.py:96 order/serializers.py:72 msgid "Order Currency" -msgstr "" +msgstr "Moneda de pedido" #: order/models.py:99 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" -msgstr "" +msgstr "Moneda para este pedido (dejar en blanco para utilizar el valor predeterminado de la empresa)" #: order/models.py:247 msgid "Contact does not match selected company" -msgstr "" +msgstr "El contacto no coincide con la empresa seleccionada" #: order/models.py:290 msgid "Order description (optional)" -msgstr "" +msgstr "Descripción del pedido (opcional)" #: order/models.py:299 msgid "Select project code for this order" -msgstr "" +msgstr "Seleccione el código del proyecto para este pedido" #: order/models.py:303 order/models.py:1301 order/models.py:1733 msgid "Link to external page" -msgstr "" +msgstr "Enlace a Url externa" #: order/models.py:311 msgid "Expected date for order delivery. Order will be overdue after this date." -msgstr "" +msgstr "Fecha esperada para la entrega del pedido. El pedido se retrasará después de esta fecha." #: order/models.py:325 msgid "Created By" -msgstr "" +msgstr "Creado por" #: order/models.py:333 msgid "User or group responsible for this order" -msgstr "" +msgstr "Usuario o grupo responsable de este pedido" #: order/models.py:344 msgid "Point of contact for this order" -msgstr "" +msgstr "Punto de contacto para este pedido" #: order/models.py:354 msgid "Company address for this order" -msgstr "" +msgstr "Dirección de la empresa para este pedido" #: order/models.py:464 order/models.py:927 msgid "Order reference" -msgstr "" +msgstr "Referencia del pedido" #: order/models.py:472 order/models.py:951 msgid "Purchase order status" -msgstr "" +msgstr "Estado de la orden de compra" #: order/models.py:487 msgid "Company from which the items are being ordered" -msgstr "" +msgstr "Empresa de la cual se están encargando los artículos" #: order/models.py:498 order/templates/order/order_base.html:148 #: templates/js/translated/purchase_order.js:1702 msgid "Supplier Reference" -msgstr "" +msgstr "Referencia del proveedor" #: order/models.py:499 msgid "Supplier order reference code" -msgstr "" +msgstr "Código de referencia de pedido del proveedor" #: order/models.py:508 msgid "received by" -msgstr "" +msgstr "recibido por" #: order/models.py:514 order/models.py:2084 msgid "Issue Date" -msgstr "" +msgstr "Fecha de emisión" #: order/models.py:515 order/models.py:2085 msgid "Date order was issued" -msgstr "" +msgstr "Fecha de expedición del pedido" #: order/models.py:522 order/models.py:2092 msgid "Date order was completed" -msgstr "" +msgstr "La fecha de pedido fue completada" #: order/models.py:566 msgid "Part supplier must match PO supplier" -msgstr "" +msgstr "El proveedor de la parte debe coincidir con el proveedor de PO" #: order/models.py:760 msgid "Quantity must be a positive number" -msgstr "" +msgstr "La cantidad debe ser un número positivo" #: order/models.py:939 msgid "Company to which the items are being sold" -msgstr "" +msgstr "Empresa a la que se venden los artículos" #: order/models.py:962 order/models.py:2077 msgid "Customer Reference " -msgstr "" +msgstr "Referencia del cliente " #: order/models.py:963 order/models.py:2078 msgid "Customer order reference code" -msgstr "" +msgstr "Código de referencia de pedido del cliente" #: order/models.py:967 order/models.py:1687 #: templates/js/translated/sales_order.js:879 #: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" -msgstr "" +msgstr "Fecha de envío" #: order/models.py:976 msgid "shipped by" -msgstr "" +msgstr "enviado por" #: order/models.py:1025 msgid "Order is already complete" @@ -5265,47 +5259,47 @@ msgstr "" #: order/models.py:1032 msgid "Only an open order can be marked as complete" -msgstr "" +msgstr "Sólo una orden abierta puede ser marcada como completa" #: order/models.py:1036 msgid "Order cannot be completed as there are incomplete shipments" -msgstr "" +msgstr "El pedido no se puede completar porque hay envíos incompletos" #: order/models.py:1041 msgid "Order cannot be completed as there are incomplete line items" -msgstr "" +msgstr "El pedido no se puede completar porque hay partidas incompletas" #: order/models.py:1273 msgid "Item quantity" -msgstr "" +msgstr "Cantidad del artículo" #: order/models.py:1290 msgid "Line item reference" -msgstr "" +msgstr "Referencia de partida" #: order/models.py:1297 msgid "Line item notes" -msgstr "" +msgstr "Notas de partida" #: order/models.py:1309 msgid "Target date for this line item (leave blank to use the target date from the order)" -msgstr "" +msgstr "Fecha objetivo para esta partida (dejar en blanco para usar la fecha de destino de la orden)" #: order/models.py:1330 msgid "Line item description (optional)" -msgstr "" +msgstr "Descripción de partida (opcional)" #: order/models.py:1336 msgid "Context" -msgstr "" +msgstr "Contexto" #: order/models.py:1337 msgid "Additional context for this line" -msgstr "" +msgstr "Contexto adicional para esta línea" #: order/models.py:1347 msgid "Unit price" -msgstr "" +msgstr "Precio unitario" #: order/models.py:1361 msgid "Purchase Order Line Item" @@ -5313,15 +5307,15 @@ msgstr "" #: order/models.py:1385 msgid "Supplier part must match supplier" -msgstr "" +msgstr "La parte del proveedor debe coincidir con el proveedor" #: order/models.py:1392 msgid "deleted" -msgstr "" +msgstr "eliminado" #: order/models.py:1420 msgid "Supplier part" -msgstr "" +msgstr "Parte del proveedor" #: order/models.py:1427 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1873 templates/js/translated/part.js:1905 @@ -5331,25 +5325,25 @@ msgstr "" #: templates/js/translated/table_filters.js:120 #: templates/js/translated/table_filters.js:602 msgid "Received" -msgstr "" +msgstr "Recibido" #: order/models.py:1428 msgid "Number of items received" -msgstr "" +msgstr "Número de artículos recibidos" #: order/models.py:1436 stock/models.py:939 stock/serializers.py:602 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2311 msgid "Purchase Price" -msgstr "" +msgstr "Precio de Compra" #: order/models.py:1437 msgid "Unit purchase price" -msgstr "" +msgstr "Precio de compra unitario" #: order/models.py:1452 msgid "Where does the Purchaser want this item to be stored?" -msgstr "" +msgstr "¿Dónde quiere el comprador almacenar este objeto?" #: order/models.py:1503 msgid "Purchase Order Extra Line" @@ -5361,31 +5355,31 @@ msgstr "" #: order/models.py:1553 msgid "Virtual part cannot be assigned to a sales order" -msgstr "" +msgstr "Una parte virtual no puede ser asignada a un pedido de venta" #: order/models.py:1558 msgid "Only salable parts can be assigned to a sales order" -msgstr "" +msgstr "Sólo las partes vendibles pueden ser asignadas a un pedido de venta" #: order/models.py:1584 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" -msgstr "" +msgstr "Precio de Venta" #: order/models.py:1585 msgid "Unit sale price" -msgstr "" +msgstr "Precio de venta unitario" #: order/models.py:1594 order/status_codes.py:43 #: templates/js/translated/sales_order.js:1559 #: templates/js/translated/sales_order.js:1680 #: templates/js/translated/sales_order.js:1993 msgid "Shipped" -msgstr "" +msgstr "Enviado" #: order/models.py:1595 msgid "Shipped quantity" -msgstr "" +msgstr "Cantidad enviada" #: order/models.py:1667 msgid "Sales Order Shipment" @@ -5393,56 +5387,56 @@ msgstr "" #: order/models.py:1688 msgid "Date of shipment" -msgstr "" +msgstr "Fecha del envío" #: order/models.py:1694 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" -msgstr "" +msgstr "Fecha de entrega" #: order/models.py:1695 msgid "Date of delivery of shipment" -msgstr "" +msgstr "Fecha de entrega del envío" #: order/models.py:1703 msgid "Checked By" -msgstr "" +msgstr "Revisado por" #: order/models.py:1704 msgid "User who checked this shipment" -msgstr "" +msgstr "Usuario que revisó este envío" #: order/models.py:1711 order/models.py:1934 order/serializers.py:1398 #: order/serializers.py:1508 templates/js/translated/model_renderers.js:454 msgid "Shipment" -msgstr "" +msgstr "Envío" #: order/models.py:1712 msgid "Shipment number" -msgstr "" +msgstr "Número de envío" #: order/models.py:1720 msgid "Tracking Number" -msgstr "" +msgstr "Número de Seguimiento" #: order/models.py:1721 msgid "Shipment tracking information" -msgstr "" +msgstr "Información de seguimiento del envío" #: order/models.py:1728 msgid "Invoice Number" -msgstr "" +msgstr "Número de factura" #: order/models.py:1729 msgid "Reference number for associated invoice" -msgstr "" +msgstr "Número de referencia para la factura asociada" #: order/models.py:1749 msgid "Shipment has already been sent" -msgstr "" +msgstr "El envío ya ha sido enviado" #: order/models.py:1752 msgid "Shipment has no allocated stock items" -msgstr "" +msgstr "El envío no tiene artículos de stock asignados" #: order/models.py:1828 msgid "Sales Order Extra Line" @@ -5454,64 +5448,64 @@ msgstr "" #: order/models.py:1880 order/models.py:1882 msgid "Stock item has not been assigned" -msgstr "" +msgstr "El artículo de stock no ha sido asignado" #: order/models.py:1889 msgid "Cannot allocate stock item to a line with a different part" -msgstr "" +msgstr "No se puede asignar el artículo de stock a una línea con una parte diferente" #: order/models.py:1892 msgid "Cannot allocate stock to a line without a part" -msgstr "" +msgstr "No se puede asignar stock a una línea sin una parte" #: order/models.py:1895 msgid "Allocation quantity cannot exceed stock quantity" -msgstr "" +msgstr "La cantidad de asignación no puede exceder la cantidad de stock" #: order/models.py:1914 order/serializers.py:1275 msgid "Quantity must be 1 for serialized stock item" -msgstr "" +msgstr "La cantidad debe ser 1 para el stock serializado" #: order/models.py:1917 msgid "Sales order does not match shipment" -msgstr "" +msgstr "La orden de venta no coincide con el envío" #: order/models.py:1918 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" -msgstr "" +msgstr "El envío no coincide con el pedido de venta" #: order/models.py:1926 msgid "Line" -msgstr "" +msgstr "Línea" #: order/models.py:1935 msgid "Sales order shipment reference" -msgstr "" +msgstr "Referencia del envío del pedido de venta" #: order/models.py:1948 order/models.py:2266 #: templates/js/translated/return_order.js:721 msgid "Item" -msgstr "" +msgstr "Ítem" #: order/models.py:1949 msgid "Select stock item to allocate" -msgstr "" +msgstr "Seleccionar artículo de stock para asignar" #: order/models.py:1958 msgid "Enter stock allocation quantity" -msgstr "" +msgstr "Especificar la cantidad de asignación de stock" #: order/models.py:2047 msgid "Return Order reference" -msgstr "" +msgstr "Referencia de la orden de devolución" #: order/models.py:2059 msgid "Company from which items are being returned" -msgstr "" +msgstr "Empresa de la cual se están devolviendo los artículos" #: order/models.py:2071 msgid "Return order status" -msgstr "" +msgstr "Estado de la orden de devolución" #: order/models.py:2237 msgid "Return Order Line Item" @@ -5519,32 +5513,32 @@ msgstr "" #: order/models.py:2251 msgid "Only serialized items can be assigned to a Return Order" -msgstr "" +msgstr "Sólo los artículos serializados pueden ser asignados a una orden de devolución" #: order/models.py:2267 msgid "Select item to return from customer" -msgstr "" +msgstr "Seleccionar el artículo a devolver del cliente" #: order/models.py:2273 msgid "Received Date" -msgstr "" +msgstr "Fecha de recepción" #: order/models.py:2274 msgid "The date this this return item was received" -msgstr "" +msgstr "La fecha en la que se recibió este artículo de devolución" #: order/models.py:2285 templates/js/translated/return_order.js:732 #: templates/js/translated/table_filters.js:123 msgid "Outcome" -msgstr "" +msgstr "Resultado" #: order/models.py:2286 msgid "Outcome for this line item" -msgstr "" +msgstr "Salida para esta partida" #: order/models.py:2293 msgid "Cost associated with return or repair for this line item" -msgstr "" +msgstr "Costo asociado con la devolución o reparación para esta partida" #: order/models.py:2303 msgid "Return Order Extra Line" @@ -5557,7 +5551,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report.html:19 #: report/templates/report/inventree_sales_order_report.html:22 msgid "Line Items" -msgstr "" +msgstr "Partidas" #: order/serializers.py:87 msgid "Completed Lines" @@ -5565,19 +5559,19 @@ msgstr "" #: order/serializers.py:305 msgid "Order cannot be cancelled" -msgstr "" +msgstr "El pedido no puede ser cancelado" #: order/serializers.py:320 order/serializers.py:1291 msgid "Allow order to be closed with incomplete line items" -msgstr "" +msgstr "Permitir cerrar el pedido con partidas incompletas" #: order/serializers.py:330 order/serializers.py:1301 msgid "Order has incomplete line items" -msgstr "" +msgstr "El pedido tiene partidas incompletas" #: order/serializers.py:468 msgid "Order is not open" -msgstr "" +msgstr "El pedido no está abierto" #: order/serializers.py:489 msgid "Auto Pricing" @@ -5589,7 +5583,7 @@ msgstr "" #: order/serializers.py:501 msgid "Purchase price currency" -msgstr "" +msgstr "Moneda del precio de compra" #: order/serializers.py:507 msgid "Merge Items" @@ -5601,7 +5595,7 @@ msgstr "" #: order/serializers.py:522 part/models.py:945 msgid "Internal Part Number" -msgstr "" +msgstr "Número de parte interna" #: order/serializers.py:530 msgid "Internal Part Name" @@ -5609,205 +5603,205 @@ msgstr "" #: order/serializers.py:546 msgid "Supplier part must be specified" -msgstr "" +msgstr "Debe especificar la parte del proveedor" #: order/serializers.py:549 msgid "Purchase order must be specified" -msgstr "" +msgstr "La orden de compra debe especificarse" #: order/serializers.py:557 msgid "Supplier must match purchase order" -msgstr "" +msgstr "El proveedor debe coincidir con la orden de compra" #: order/serializers.py:558 msgid "Purchase order must match supplier" -msgstr "" +msgstr "La orden de compra debe coincidir con el proveedor" #: order/serializers.py:598 order/serializers.py:1369 msgid "Line Item" -msgstr "" +msgstr "Partida" #: order/serializers.py:604 msgid "Line item does not match purchase order" -msgstr "" +msgstr "La partida no coincide con la orden de compra" #: order/serializers.py:614 order/serializers.py:722 order/serializers.py:1715 msgid "Select destination location for received items" -msgstr "" +msgstr "Seleccione la ubicación de destino para los artículos recibidos" #: order/serializers.py:630 templates/js/translated/purchase_order.js:1130 msgid "Enter batch code for incoming stock items" -msgstr "" +msgstr "Introduzca el código de lote para los artículos de almacén entrantes" #: order/serializers.py:638 templates/js/translated/purchase_order.js:1154 msgid "Enter serial numbers for incoming stock items" -msgstr "" +msgstr "Introduzca números de serie para artículos de almacén entrantes" #: order/serializers.py:649 templates/js/translated/barcode.js:52 msgid "Barcode" -msgstr "" +msgstr "Código de barras" #: order/serializers.py:650 msgid "Scanned barcode" -msgstr "" +msgstr "Código de barras escaneado" #: order/serializers.py:666 msgid "Barcode is already in use" -msgstr "" +msgstr "Código de barras en uso" #: order/serializers.py:690 msgid "An integer quantity must be provided for trackable parts" -msgstr "" +msgstr "Debe proporcionarse una cantidad entera para las partes rastreables" #: order/serializers.py:738 order/serializers.py:1731 msgid "Line items must be provided" -msgstr "" +msgstr "Se deben proporcionar las partidas" #: order/serializers.py:754 msgid "Destination location must be specified" -msgstr "" +msgstr "Se requiere ubicación de destino" #: order/serializers.py:765 msgid "Supplied barcode values must be unique" -msgstr "" +msgstr "Los valores del código de barras deben ser únicos" #: order/serializers.py:1117 msgid "Sale price currency" -msgstr "" +msgstr "Moneda del precio de venta" #: order/serializers.py:1178 msgid "No shipment details provided" -msgstr "" +msgstr "No se proporcionaron detalles de envío" #: order/serializers.py:1239 order/serializers.py:1378 msgid "Line item is not associated with this order" -msgstr "" +msgstr "La partida no está asociada con este pedido" #: order/serializers.py:1258 msgid "Quantity must be positive" -msgstr "" +msgstr "La cantidad debe ser positiva" #: order/serializers.py:1388 msgid "Enter serial numbers to allocate" -msgstr "" +msgstr "Introduzca números de serie para asignar" #: order/serializers.py:1410 order/serializers.py:1516 msgid "Shipment has already been shipped" -msgstr "" +msgstr "El envío ya ha sido enviado" #: order/serializers.py:1413 order/serializers.py:1519 msgid "Shipment is not associated with this order" -msgstr "" +msgstr "El envío no está asociado con este pedido" #: order/serializers.py:1460 msgid "No match found for the following serial numbers" -msgstr "" +msgstr "No se han encontrado coincidencias para los siguientes números de serie" #: order/serializers.py:1467 msgid "The following serial numbers are already allocated" -msgstr "" +msgstr "Los siguientes números de serie ya están asignados" #: order/serializers.py:1685 msgid "Return order line item" -msgstr "" +msgstr "Partida de orden de devolución" #: order/serializers.py:1691 msgid "Line item does not match return order" -msgstr "" +msgstr "La partida no coincide con la orden de devolución" #: order/serializers.py:1694 msgid "Line item has already been received" -msgstr "" +msgstr "La partida ya ha sido recibida" #: order/serializers.py:1723 msgid "Items can only be received against orders which are in progress" -msgstr "" +msgstr "Los artículos sólo pueden ser recibidos contra pedidos en curso" #: order/serializers.py:1806 msgid "Line price currency" -msgstr "" +msgstr "Moneda de precio de línea" #: order/status_codes.py:16 order/status_codes.py:46 stock/status_codes.py:16 msgid "Lost" -msgstr "" +msgstr "Perdida" #: order/status_codes.py:17 order/status_codes.py:47 stock/status_codes.py:22 msgid "Returned" -msgstr "" +msgstr "Devuelto" #: order/status_codes.py:40 order/status_codes.py:67 msgid "In Progress" -msgstr "" +msgstr "En progreso" #: order/status_codes.py:85 msgid "Return" -msgstr "" +msgstr "Devolución" #: order/status_codes.py:88 msgid "Repair" -msgstr "" +msgstr "Reparación" #: order/status_codes.py:91 msgid "Replace" -msgstr "" +msgstr "Reemplazo" #: order/status_codes.py:94 msgid "Refund" -msgstr "" +msgstr "Reembolso" #: order/status_codes.py:97 msgid "Reject" -msgstr "" +msgstr "Rechazo" #: order/tasks.py:25 msgid "Overdue Purchase Order" -msgstr "" +msgstr "Orden de compra atrasada" #: order/tasks.py:30 #, python-brace-format msgid "Purchase order {po} is now overdue" -msgstr "" +msgstr "La orden de compra {po} está atrasada" #: order/tasks.py:75 msgid "Overdue Sales Order" -msgstr "" +msgstr "Orden de venta atrasada" #: order/tasks.py:80 #, python-brace-format msgid "Sales order {so} is now overdue" -msgstr "" +msgstr "La orden de venta {so} está atrasada" #: order/templates/order/order_base.html:51 msgid "Print purchase order report" -msgstr "" +msgstr "Imprimir informe de orden de compra" #: order/templates/order/order_base.html:53 #: order/templates/order/return_order_base.html:62 #: order/templates/order/sales_order_base.html:62 msgid "Export order to file" -msgstr "" +msgstr "Exportar pedido a archivo" #: order/templates/order/order_base.html:59 #: order/templates/order/return_order_base.html:72 #: order/templates/order/sales_order_base.html:71 msgid "Order actions" -msgstr "" +msgstr "Acciones de pedido" #: order/templates/order/order_base.html:64 #: order/templates/order/return_order_base.html:76 #: order/templates/order/sales_order_base.html:75 msgid "Edit order" -msgstr "" +msgstr "Editar pedido" #: order/templates/order/order_base.html:68 #: order/templates/order/return_order_base.html:78 #: order/templates/order/sales_order_base.html:77 msgid "Cancel order" -msgstr "" +msgstr "Cancelar orden" #: order/templates/order/order_base.html:73 msgid "Duplicate order" -msgstr "" +msgstr "Duplicar orden" #: order/templates/order/order_base.html:79 #: order/templates/order/order_base.html:80 @@ -5816,65 +5810,65 @@ msgstr "" #: order/templates/order/sales_order_base.html:83 #: order/templates/order/sales_order_base.html:84 msgid "Issue Order" -msgstr "" +msgstr "Emitir pedido" #: order/templates/order/order_base.html:83 #: order/templates/order/return_order_base.html:86 msgid "Mark order as complete" -msgstr "" +msgstr "Marcar pedido como completado" #: order/templates/order/order_base.html:84 #: order/templates/order/return_order_base.html:87 #: order/templates/order/sales_order_base.html:97 msgid "Complete Order" -msgstr "" +msgstr "Completar pedido" #: order/templates/order/order_base.html:91 msgid "Supplier part thumbnail" -msgstr "" +msgstr "Miniatura de la parte del proveedor" #: order/templates/order/order_base.html:106 #: order/templates/order/return_order_base.html:101 #: order/templates/order/sales_order_base.html:110 msgid "Order Reference" -msgstr "" +msgstr "Referencia del pedido" #: order/templates/order/order_base.html:111 #: order/templates/order/return_order_base.html:106 #: order/templates/order/sales_order_base.html:115 msgid "Order Description" -msgstr "" +msgstr "Descripción del pedido" #: order/templates/order/order_base.html:141 msgid "No suppplier information available" -msgstr "" +msgstr "No hay información disponible sobre el proveedor" #: order/templates/order/order_base.html:154 #: order/templates/order/sales_order_base.html:161 msgid "Completed Line Items" -msgstr "" +msgstr "Partidas completadas" #: order/templates/order/order_base.html:160 #: order/templates/order/sales_order_base.html:167 #: order/templates/order/sales_order_base.html:177 msgid "Incomplete" -msgstr "" +msgstr "Incompleto" #: order/templates/order/order_base.html:179 #: order/templates/order/return_order_base.html:157 #: report/templates/report/inventree_build_order_report.html:121 msgid "Issued" -msgstr "" +msgstr "Emitido" #: order/templates/order/order_base.html:224 msgid "Total cost" -msgstr "" +msgstr "Costo total" #: order/templates/order/order_base.html:228 #: order/templates/order/return_order_base.html:199 #: order/templates/order/sales_order_base.html:243 msgid "Total cost could not be calculated" -msgstr "" +msgstr "No se ha podido calcular el costo total" #: order/templates/order/order_base.html:314 msgid "Purchase Order QR Code" @@ -5889,14 +5883,14 @@ msgstr "" #: part/templates/part/import_wizard/match_fields.html:9 #: templates/patterns/wizard/match_fields.html:8 msgid "Missing selections for the following required columns" -msgstr "" +msgstr "Faltan selecciones para las siguientes columnas requeridas" #: order/templates/order/order_wizard/match_fields.html:20 #: part/templates/part/import_wizard/ajax_match_fields.html:20 #: part/templates/part/import_wizard/match_fields.html:20 #: templates/patterns/wizard/match_fields.html:19 msgid "Duplicate selections found, see below. Fix them then retry submitting." -msgstr "" +msgstr "Se han encontrado selecciones duplicadas, vea a continuación. Arreglarlas y vuelva a intentar enviarlas." #: order/templates/order/order_wizard/match_fields.html:29 #: order/templates/order/order_wizard/match_parts.html:21 @@ -5904,28 +5898,28 @@ msgstr "" #: part/templates/part/import_wizard/match_references.html:21 #: templates/patterns/wizard/match_fields.html:28 msgid "Submit Selections" -msgstr "" +msgstr "Enviar selecciones" #: order/templates/order/order_wizard/match_fields.html:35 #: part/templates/part/import_wizard/ajax_match_fields.html:28 #: part/templates/part/import_wizard/match_fields.html:35 #: templates/patterns/wizard/match_fields.html:34 msgid "File Fields" -msgstr "" +msgstr "Campos de archivo" #: order/templates/order/order_wizard/match_fields.html:42 #: part/templates/part/import_wizard/ajax_match_fields.html:35 #: part/templates/part/import_wizard/match_fields.html:42 #: templates/patterns/wizard/match_fields.html:41 msgid "Remove column" -msgstr "" +msgstr "Eliminar columna" #: order/templates/order/order_wizard/match_fields.html:60 #: part/templates/part/import_wizard/ajax_match_fields.html:53 #: part/templates/part/import_wizard/match_fields.html:60 #: templates/patterns/wizard/match_fields.html:59 msgid "Duplicate selection" -msgstr "" +msgstr "Duplicar selección" #: order/templates/order/order_wizard/match_fields.html:71 #: order/templates/order/order_wizard/match_parts.html:52 @@ -5942,35 +5936,35 @@ msgstr "" #: templates/js/translated/stock.js:714 templates/js/translated/stock.js:883 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" -msgstr "" +msgstr "Eliminar fila" #: order/templates/order/order_wizard/match_parts.html:12 #: part/templates/part/import_wizard/ajax_match_references.html:12 #: part/templates/part/import_wizard/match_references.html:12 msgid "Errors exist in the submitted data" -msgstr "" +msgstr "Existen errores en los datos enviados" #: order/templates/order/order_wizard/match_parts.html:28 #: part/templates/part/import_wizard/ajax_match_references.html:21 #: part/templates/part/import_wizard/match_references.html:28 msgid "Row" -msgstr "" +msgstr "Fila" #: order/templates/order/order_wizard/match_parts.html:29 msgid "Select Supplier Part" -msgstr "" +msgstr "Seleccionar Parte de Proveedor" #: order/templates/order/order_wizard/po_upload.html:8 msgid "Return to Orders" -msgstr "" +msgstr "Volver a Pedidos" #: order/templates/order/order_wizard/po_upload.html:13 msgid "Upload File for Purchase Order" -msgstr "" +msgstr "Subir archivo para orden de compra" #: order/templates/order/order_wizard/po_upload.html:14 msgid "Order is already processed. Files cannot be uploaded." -msgstr "" +msgstr "El pedido ya ha sido procesado. Los archivos no se pueden cargar." #: order/templates/order/order_wizard/po_upload.html:27 #: part/templates/part/import_wizard/ajax_part_upload.html:10 @@ -5978,15 +5972,15 @@ msgstr "" #: templates/patterns/wizard/upload.html:13 #, python-format msgid "Step %(step)s of %(count)s" -msgstr "" +msgstr "Paso %(step)s de %(count)s" #: order/templates/order/po_sidebar.html:7 msgid "Received Stock" -msgstr "" +msgstr "Stock Recibido" #: order/templates/order/purchase_order_detail.html:18 msgid "Purchase Order Items" -msgstr "" +msgstr "Comprar artículos de orden" #: order/templates/order/purchase_order_detail.html:27 #: order/templates/order/return_order_detail.html:24 @@ -5995,57 +5989,57 @@ msgstr "" #: templates/js/translated/return_order.js:458 #: templates/js/translated/sales_order.js:237 msgid "Add Line Item" -msgstr "" +msgstr "Añadir partida" #: 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 "Recibir partidas" #: 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 "Líneas Adicionales" #: 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 "Añadir línea adicional" #: order/templates/order/purchase_order_detail.html:74 msgid "Received Items" -msgstr "" +msgstr "Articulos Recibidos" #: order/templates/order/purchase_order_detail.html:99 #: order/templates/order/return_order_detail.html:85 #: order/templates/order/sales_order_detail.html:139 msgid "Order Notes" -msgstr "" +msgstr "Notas del pedido" #: order/templates/order/return_order_base.html:18 #: order/templates/order/sales_order_base.html:18 msgid "Customer logo thumbnail" -msgstr "" +msgstr "Miniatura del logo del cliente" #: order/templates/order/return_order_base.html:60 msgid "Print return order report" -msgstr "" +msgstr "Imprimir informe de orden de devolución" #: order/templates/order/return_order_base.html:64 #: order/templates/order/sales_order_base.html:64 msgid "Print packing list" -msgstr "" +msgstr "Imprimir lista de empaquetado" #: order/templates/order/return_order_base.html:138 #: 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 "Referencia del cliente" #: order/templates/order/return_order_base.html:195 #: order/templates/order/sales_order_base.html:239 @@ -6058,7 +6052,7 @@ msgstr "" #: templates/js/translated/return_order.js:380 #: templates/js/translated/sales_order.js:891 msgid "Total Cost" -msgstr "" +msgstr "Costo Total" #: order/templates/order/return_order_base.html:259 msgid "Return Order QR Code" @@ -6070,16 +6064,16 @@ msgstr "" #: order/templates/order/return_order_sidebar.html:5 msgid "Order Details" -msgstr "" +msgstr "Detalles del pedido" #: order/templates/order/sales_order_base.html:60 msgid "Print sales order report" -msgstr "" +msgstr "Imprimir informe de orden de venta" #: order/templates/order/sales_order_base.html:88 #: order/templates/order/sales_order_base.html:89 msgid "Ship Items" -msgstr "" +msgstr "Enviar artículos" #: order/templates/order/sales_order_base.html:92 #: order/templates/order/sales_order_base.html:93 @@ -6089,17 +6083,17 @@ msgstr "" #: order/templates/order/sales_order_base.html:96 #: templates/js/translated/sales_order.js:536 msgid "Complete Sales Order" -msgstr "" +msgstr "Ordenes de venta completas" #: order/templates/order/sales_order_base.html:135 msgid "This Sales Order has not been fully allocated" -msgstr "" +msgstr "Esta orden de venta no ha sido completamente asignada" #: 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 "" +msgstr "Envíos completados" #: order/templates/order/sales_order_base.html:321 msgid "Sales Order QR Code" @@ -6111,52 +6105,52 @@ msgstr "" #: order/templates/order/sales_order_detail.html:18 msgid "Sales Order Items" -msgstr "" +msgstr "Artículos de Pedidos de Venta" #: order/templates/order/sales_order_detail.html:67 #: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:284 msgid "Pending Shipments" -msgstr "" +msgstr "Envíos pendientes" #: order/templates/order/sales_order_detail.html:71 #: templates/js/translated/bom.js:1277 templates/js/translated/filters.js:296 msgid "Actions" -msgstr "" +msgstr "Acciones" #: order/templates/order/sales_order_detail.html:80 msgid "New Shipment" -msgstr "" +msgstr "Nuevo Envío" #: order/views.py:120 msgid "Match Supplier Parts" -msgstr "" +msgstr "Coincidir partes de proveedor" #: order/views.py:406 msgid "Sales order not found" -msgstr "" +msgstr "Orden de venta no encontrada" #: order/views.py:412 msgid "Price not found" -msgstr "" +msgstr "Precio no encontrado" #: order/views.py:415 #, python-brace-format msgid "Updated {part} unit-price to {price}" -msgstr "" +msgstr "Actualizado el precio unitario de {part} a {price}" #: order/views.py:421 #, python-brace-format msgid "Updated {part} unit-price to {price} and quantity to {qty}" -msgstr "" +msgstr "Actualizado el precio unitario de {part} a {price} y la cantidad a {qty}" #: part/admin.py:39 part/admin.py:398 part/models.py:3991 part/stocktake.py:219 #: stock/admin.py:152 msgid "Part ID" -msgstr "" +msgstr "ID de Parte" #: part/admin.py:45 part/stocktake.py:221 msgid "Part Description" -msgstr "" +msgstr "Descripción de parte" #: part/admin.py:48 part/models.py:944 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 @@ -6169,74 +6163,74 @@ msgstr "" #: report/models.py:162 templates/js/translated/part.js:1235 #: templates/js/translated/part.js:2350 msgid "Revision" -msgstr "" +msgstr "Revisión" #: part/admin.py:53 part/admin.py:319 part/models.py:926 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" -msgstr "" +msgstr "Palabras claves" #: part/admin.py:60 msgid "Part Image" -msgstr "" +msgstr "Imagen de parte" #: part/admin.py:63 part/admin.py:302 part/stocktake.py:222 msgid "Category ID" -msgstr "" +msgstr "ID de Categoría" #: part/admin.py:67 part/admin.py:304 part/serializers.py:837 #: part/stocktake.py:223 msgid "Category Name" -msgstr "" +msgstr "Nombre de categoría" #: part/admin.py:71 part/admin.py:316 msgid "Default Location ID" -msgstr "" +msgstr "ID de ubicación predeterminada" #: part/admin.py:76 msgid "Default Supplier ID" -msgstr "" +msgstr "ID de proveedor predeterminado" #: part/admin.py:81 part/models.py:912 part/templates/part/part_base.html:177 msgid "Variant Of" -msgstr "" +msgstr "Variante de" #: part/admin.py:84 part/models.py:1040 part/templates/part/part_base.html:203 msgid "Minimum Stock" -msgstr "" +msgstr "Stock mínimo" #: part/admin.py:138 part/templates/part/part_sidebar.html:27 msgid "Used In" -msgstr "" +msgstr "Usado en" #: part/admin.py:150 part/serializers.py:854 #: part/templates/part/part_base.html:241 stock/admin.py:235 #: templates/js/translated/part.js:714 templates/js/translated/part.js:2156 msgid "Building" -msgstr "" +msgstr "En construcción" #: part/admin.py:155 part/models.py:3098 part/models.py:3112 #: templates/js/translated/part.js:973 msgid "Minimum Cost" -msgstr "" +msgstr "Costo mínimo" #: part/admin.py:158 part/models.py:3105 part/models.py:3119 #: templates/js/translated/part.js:983 msgid "Maximum Cost" -msgstr "" +msgstr "Costo máximo" #: part/admin.py:308 part/admin.py:387 stock/admin.py:57 stock/admin.py:215 msgid "Parent ID" -msgstr "" +msgstr "Identificador de la clase o especie padre" #: part/admin.py:312 part/admin.py:394 stock/admin.py:61 msgid "Parent Name" -msgstr "" +msgstr "Nombre del padre" #: part/admin.py:320 part/templates/part/category.html:88 #: part/templates/part/category.html:101 msgid "Category Path" -msgstr "" +msgstr "Ruta de Categoría" #: part/admin.py:325 part/models.py:397 part/serializers.py:130 #: part/serializers.py:282 part/serializers.py:404 @@ -6248,31 +6242,31 @@ msgstr "" #: templates/js/translated/part.js:2807 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:203 msgid "Parts" -msgstr "" +msgstr "Partes" #: part/admin.py:378 msgid "BOM Level" -msgstr "" +msgstr "Nivel de BOM" #: part/admin.py:381 msgid "BOM Item ID" -msgstr "" +msgstr "ID de artículo de BOM" #: part/admin.py:391 msgid "Parent IPN" -msgstr "" +msgstr "IPN del padre" #: part/admin.py:415 part/serializers.py:1302 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" -msgstr "" +msgstr "Precio mínimo" #: part/admin.py:420 part/serializers.py:1317 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" -msgstr "" +msgstr "Precio máximo" #: part/api.py:105 msgid "Starred" @@ -6328,11 +6322,11 @@ msgstr "" #: part/api.py:609 msgid "Incoming Purchase Order" -msgstr "" +msgstr "Orden de compra entrante" #: part/api.py:627 msgid "Outgoing Sales Order" -msgstr "" +msgstr "Orden de venta saliente" #: part/api.py:643 msgid "Stock produced by Build Order" @@ -6344,11 +6338,11 @@ msgstr "" #: part/api.py:875 msgid "Validate entire Bill of Materials" -msgstr "" +msgstr "Validación de Lista de Materiales" #: part/api.py:881 msgid "This option must be selected" -msgstr "" +msgstr "Esta opción debe ser seleccionada" #: part/api.py:1098 msgid "BOM Valid" @@ -6361,7 +6355,7 @@ msgstr "" #: templates/js/translated/notification.js:60 #: templates/js/translated/part.js:2380 msgid "Category" -msgstr "" +msgstr "Categoría" #: part/api.py:1784 msgid "Uses" @@ -6370,63 +6364,63 @@ msgstr "" #: part/bom.py:170 part/models.py:104 part/models.py:979 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" -msgstr "" +msgstr "Ubicación Predeterminada" #: part/bom.py:171 part/serializers.py:861 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" -msgstr "" +msgstr "Inventario Total" #: part/forms.py:49 msgid "Input quantity for price calculation" -msgstr "" +msgstr "Cantidad de entrada para el cálculo del precio" #: part/models.py:85 part/models.py:3937 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" -msgstr "" +msgstr "Categoría de parte" #: part/models.py:86 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 "" +msgstr "Categorías de parte" #: part/models.py:105 msgid "Default location for parts in this category" -msgstr "" +msgstr "Ubicación predeterminada para partes de esta categoría" #: part/models.py:110 stock/models.py:175 templates/js/translated/part.js:2813 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" -msgstr "" +msgstr "Estructural" #: part/models.py:112 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." -msgstr "" +msgstr "Las partes no pueden asignarse directamente a una categoría estructural, pero pueden asignarse a categorías hijas." #: part/models.py:121 msgid "Default keywords" -msgstr "" +msgstr "Palabras clave predeterminadas" #: part/models.py:122 msgid "Default keywords for parts in this category" -msgstr "" +msgstr "Palabras clave por defecto para partes en esta categoría" #: part/models.py:128 stock/models.py:87 stock/models.py:158 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" -msgstr "" +msgstr "Icono" #: part/models.py:129 stock/models.py:159 msgid "Icon (optional)" -msgstr "" +msgstr "Icono (opcional)" #: part/models.py:151 msgid "You cannot make this part category structural because some parts are already assigned to it!" -msgstr "" +msgstr "¡No puedes hacer que esta categoría de partes sea estructural porque algunas partes ya están asignadas!" #: part/models.py:486 msgid "Cannot delete this part as it is locked" @@ -6442,7 +6436,7 @@ msgstr "" #: part/models.py:532 msgid "Invalid choice for parent part" -msgstr "" +msgstr "Opción no válida para la parte principal" #: part/models.py:580 part/models.py:587 #, python-brace-format @@ -6461,103 +6455,103 @@ msgstr "" #: part/models.py:740 msgid "Stock item with this serial number already exists" -msgstr "" +msgstr "Ya existe un artículo de almacén con este número de serie" #: part/models.py:841 msgid "Duplicate IPN not allowed in part settings" -msgstr "" +msgstr "IPN duplicado no permitido en la configuración de partes" #: part/models.py:851 msgid "Part with this Name, IPN and Revision already exists." -msgstr "" +msgstr "Parte con este nombre, IPN y revisión ya existe." #: part/models.py:866 msgid "Parts cannot be assigned to structural part categories!" -msgstr "" +msgstr "¡No se pueden asignar partes a las categorías de partes estructurales!" #: part/models.py:895 part/models.py:3992 msgid "Part name" -msgstr "" +msgstr "Nombre de la parte" #: part/models.py:900 msgid "Is Template" -msgstr "" +msgstr "Es plantilla" #: part/models.py:901 msgid "Is this part a template part?" -msgstr "" +msgstr "¿Es esta parte una parte de la plantilla?" #: part/models.py:911 msgid "Is this part a variant of another part?" -msgstr "" +msgstr "¿Es esta parte una variante de otra parte?" #: part/models.py:919 msgid "Part description (optional)" -msgstr "" +msgstr "Descripción de parte (opcional)" #: part/models.py:927 msgid "Part keywords to improve visibility in search results" -msgstr "" +msgstr "Palabras clave para mejorar la visibilidad en los resultados de búsqueda" #: part/models.py:937 msgid "Part category" -msgstr "" +msgstr "Categoría de parte" #: part/models.py:952 msgid "Part revision or version number" -msgstr "" +msgstr "Revisión de parte o número de versión" #: part/models.py:977 msgid "Where is this item normally stored?" -msgstr "" +msgstr "¿Dónde se almacena este artículo normalmente?" #: part/models.py:1023 part/templates/part/part_base.html:376 msgid "Default Supplier" -msgstr "" +msgstr "Proveedor por defecto" #: part/models.py:1024 msgid "Default supplier part" -msgstr "" +msgstr "Parte de proveedor predeterminada" #: part/models.py:1031 msgid "Default Expiry" -msgstr "" +msgstr "Expiración por defecto" #: part/models.py:1032 msgid "Expiry time (in days) for stock items of this part" -msgstr "" +msgstr "Tiempo de expiración (en días) para los artículos de stock de esta parte" #: part/models.py:1041 msgid "Minimum allowed stock level" -msgstr "" +msgstr "Nivel mínimo de stock permitido" #: part/models.py:1050 msgid "Units of measure for this part" -msgstr "" +msgstr "Unidades de medida para esta parte" #: part/models.py:1057 msgid "Can this part be built from other parts?" -msgstr "" +msgstr "¿Se puede construir esta parte a partir de otras partes?" #: part/models.py:1063 msgid "Can this part be used to build other parts?" -msgstr "" +msgstr "¿Se puede utilizar esta parte para construir otras partes?" #: part/models.py:1069 msgid "Does this part have tracking for unique items?" -msgstr "" +msgstr "¿Esta parte tiene seguimiento de objetos únicos?" #: part/models.py:1075 msgid "Can this part be purchased from external suppliers?" -msgstr "" +msgstr "¿Se puede comprar esta parte a proveedores externos?" #: part/models.py:1081 msgid "Can this part be sold to customers?" -msgstr "" +msgstr "¿Se puede vender esta parte a los clientes?" #: part/models.py:1085 msgid "Is this part active?" -msgstr "" +msgstr "¿Está activa esta parte?" #: part/models.py:1090 templates/js/translated/part.js:818 #: templates/js/translated/table_filters.js:721 @@ -6570,27 +6564,27 @@ msgstr "" #: part/models.py:1097 msgid "Is this a virtual part, such as a software product or license?" -msgstr "" +msgstr "¿Es ésta una parte virtual, como un producto de software o una licencia?" #: part/models.py:1103 msgid "BOM checksum" -msgstr "" +msgstr "Suma de verificación de BOM" #: part/models.py:1104 msgid "Stored BOM checksum" -msgstr "" +msgstr "Suma de verificación de BOM almacenada" #: part/models.py:1112 msgid "BOM checked by" -msgstr "" +msgstr "BOM comprobado por" #: part/models.py:1117 msgid "BOM checked date" -msgstr "" +msgstr "Fecha BOM comprobada" #: part/models.py:1133 msgid "Creation User" -msgstr "" +msgstr "Creación de Usuario" #: part/models.py:1143 msgid "Owner responsible for this part" @@ -6600,99 +6594,99 @@ msgstr "" #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2474 msgid "Last Stocktake" -msgstr "" +msgstr "Último inventario" #: part/models.py:2021 msgid "Sell multiple" -msgstr "" +msgstr "Vender múltiples" #: part/models.py:3012 msgid "Currency used to cache pricing calculations" -msgstr "" +msgstr "Moneda utilizada para almacenar en caché los cálculos de precios" #: part/models.py:3028 msgid "Minimum BOM Cost" -msgstr "" +msgstr "Costo mínimo de BOM" #: part/models.py:3029 msgid "Minimum cost of component parts" -msgstr "" +msgstr "Costo mínimo de partes de componentes" #: part/models.py:3035 msgid "Maximum BOM Cost" -msgstr "" +msgstr "Costo máximo de BOM" #: part/models.py:3036 msgid "Maximum cost of component parts" -msgstr "" +msgstr "Costo máximo de partes de componentes" #: part/models.py:3042 msgid "Minimum Purchase Cost" -msgstr "" +msgstr "Costo mínimo de compra" #: part/models.py:3043 msgid "Minimum historical purchase cost" -msgstr "" +msgstr "Costo histórico mínimo de compra" #: part/models.py:3049 msgid "Maximum Purchase Cost" -msgstr "" +msgstr "Costo máximo de compra" #: part/models.py:3050 msgid "Maximum historical purchase cost" -msgstr "" +msgstr "Costo histórico máximo de compra" #: part/models.py:3056 msgid "Minimum Internal Price" -msgstr "" +msgstr "Precio interno mínimo" #: part/models.py:3057 msgid "Minimum cost based on internal price breaks" -msgstr "" +msgstr "Costo mínimo basado en precios reducidos internos" #: part/models.py:3063 msgid "Maximum Internal Price" -msgstr "" +msgstr "Precio interno máximo" #: part/models.py:3064 msgid "Maximum cost based on internal price breaks" -msgstr "" +msgstr "Costo máximo basado en precios reducidos internos" #: part/models.py:3070 msgid "Minimum Supplier Price" -msgstr "" +msgstr "Precio mínimo de proveedor" #: part/models.py:3071 msgid "Minimum price of part from external suppliers" -msgstr "" +msgstr "Precio mínimo de la parte de proveedores externos" #: part/models.py:3077 msgid "Maximum Supplier Price" -msgstr "" +msgstr "Precio máximo de proveedor" #: part/models.py:3078 msgid "Maximum price of part from external suppliers" -msgstr "" +msgstr "Precio máximo de la parte de proveedores externos" #: part/models.py:3084 msgid "Minimum Variant Cost" -msgstr "" +msgstr "Costo mínimo de variante" #: part/models.py:3085 msgid "Calculated minimum cost of variant parts" -msgstr "" +msgstr "Costo mínimo calculado de las partes variantes" #: part/models.py:3091 msgid "Maximum Variant Cost" -msgstr "" +msgstr "Costo máximo de variante" #: part/models.py:3092 msgid "Calculated maximum cost of variant parts" -msgstr "" +msgstr "Costo máximo calculado de las partes variantes" #: part/models.py:3099 msgid "Override minimum cost" -msgstr "" +msgstr "Anular el costo mínimo" #: part/models.py:3106 msgid "Override maximum cost" @@ -6700,7 +6694,7 @@ msgstr "" #: part/models.py:3113 msgid "Calculated overall minimum cost" -msgstr "" +msgstr "Costo mínimo general calculado" #: part/models.py:3120 msgid "Calculated overall maximum cost" @@ -6708,31 +6702,31 @@ msgstr "" #: part/models.py:3126 msgid "Minimum Sale Price" -msgstr "" +msgstr "Precio de venta mínimo" #: part/models.py:3127 msgid "Minimum sale price based on price breaks" -msgstr "" +msgstr "Precio de venta mínimo basado en precios reducidos" #: part/models.py:3133 msgid "Maximum Sale Price" -msgstr "" +msgstr "Precio de venta máximo" #: part/models.py:3134 msgid "Maximum sale price based on price breaks" -msgstr "" +msgstr "Precio de venta máximo basado en precios reducidos" #: part/models.py:3140 msgid "Minimum Sale Cost" -msgstr "" +msgstr "Costo de venta mínimo" #: part/models.py:3141 msgid "Minimum historical sale price" -msgstr "" +msgstr "Precio de venta mínimo histórico" #: part/models.py:3147 msgid "Maximum Sale Cost" -msgstr "" +msgstr "Costo de Venta Máximo" #: part/models.py:3148 msgid "Maximum historical sale price" @@ -6744,7 +6738,7 @@ msgstr "" #: part/models.py:3172 msgid "Item Count" -msgstr "" +msgstr "Número de artículos" #: part/models.py:3173 msgid "Number of individual stock entries at time of stocktake" @@ -6764,7 +6758,7 @@ msgstr "" #: templates/js/translated/purchase_order.js:1731 #: templates/js/translated/stock.js:2821 msgid "Date" -msgstr "" +msgstr "Fecha" #: part/models.py:3186 msgid "Date stocktake was performed" @@ -6772,7 +6766,7 @@ msgstr "" #: part/models.py:3194 msgid "Additional notes" -msgstr "" +msgstr "Notas adicionales" #: part/models.py:3204 msgid "User who performed this stocktake" @@ -6780,11 +6774,11 @@ msgstr "" #: part/models.py:3210 msgid "Minimum Stock Cost" -msgstr "" +msgstr "Costo de Stock Mínimo" #: part/models.py:3211 msgid "Estimated minimum cost of stock on hand" -msgstr "" +msgstr "Costo mínimo estimado del stock disponible" #: part/models.py:3217 msgid "Maximum Stock Cost" @@ -6796,7 +6790,7 @@ msgstr "" #: part/models.py:3274 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" -msgstr "" +msgstr "Informe" #: part/models.py:3275 msgid "Stocktake report file (generated internally)" @@ -6804,7 +6798,7 @@ msgstr "" #: part/models.py:3280 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" -msgstr "" +msgstr "Número de partes" #: part/models.py:3281 msgid "Number of parts covered by stocktake" @@ -6832,7 +6826,7 @@ msgstr "" #: part/models.py:3471 msgid "Test templates can only be created for trackable parts" -msgstr "" +msgstr "Las plantillas de prueba sólo pueden ser creadas para partes rastreables" #: part/models.py:3482 msgid "Test template with the same key already exists for part" @@ -6840,11 +6834,11 @@ msgstr "" #: part/models.py:3499 templates/js/translated/part.js:2883 msgid "Test Name" -msgstr "" +msgstr "Nombre de prueba" #: part/models.py:3500 msgid "Enter a name for the test" -msgstr "" +msgstr "Introduzca un nombre para la prueba" #: part/models.py:3506 msgid "Test Key" @@ -6856,17 +6850,17 @@ msgstr "" #: part/models.py:3514 msgid "Test Description" -msgstr "" +msgstr "Descripción de prueba" #: part/models.py:3515 msgid "Enter description for this test" -msgstr "" +msgstr "Introduce la descripción para esta prueba" #: part/models.py:3519 report/models.py:209 #: templates/js/translated/part.js:2904 #: templates/js/translated/table_filters.js:481 msgid "Enabled" -msgstr "" +msgstr "Habilitado" #: part/models.py:3519 msgid "Is this test enabled?" @@ -6875,31 +6869,31 @@ msgstr "" #: part/models.py:3524 templates/js/translated/part.js:2912 #: templates/js/translated/table_filters.js:477 msgid "Required" -msgstr "" +msgstr "Requerido" #: part/models.py:3525 msgid "Is this test required to pass?" -msgstr "" +msgstr "¿Es necesario pasar esta prueba?" #: part/models.py:3530 templates/js/translated/part.js:2920 msgid "Requires Value" -msgstr "" +msgstr "Requiere valor" #: part/models.py:3531 msgid "Does this test require a value when adding a test result?" -msgstr "" +msgstr "¿Esta prueba requiere un valor al agregar un resultado de la prueba?" #: part/models.py:3536 templates/js/translated/part.js:2927 msgid "Requires Attachment" -msgstr "" +msgstr "Adjunto obligatorio" #: part/models.py:3538 msgid "Does this test require a file attachment when adding a test result?" -msgstr "" +msgstr "¿Esta prueba requiere un archivo adjunto al agregar un resultado de la prueba?" #: part/models.py:3544 part/models.py:3688 templates/js/translated/part.js:1640 msgid "Choices" -msgstr "" +msgstr "Opciones" #: part/models.py:3545 msgid "Valid choices for this test (comma-separated)" @@ -6919,11 +6913,11 @@ msgstr "" #: part/models.py:3646 msgid "Parameter template name must be unique" -msgstr "" +msgstr "El nombre de parámetro en la plantilla tiene que ser único" #: part/models.py:3661 msgid "Parameter Name" -msgstr "" +msgstr "Nombre de Parámetro" #: part/models.py:3668 msgid "Physical units for this parameter" @@ -6936,15 +6930,15 @@ msgstr "" #: part/models.py:3682 templates/js/translated/part.js:1631 #: templates/js/translated/table_filters.js:830 msgid "Checkbox" -msgstr "" +msgstr "Casilla de verificación" #: part/models.py:3683 msgid "Is this parameter a checkbox?" -msgstr "" +msgstr "¿Es este parámetro una casilla de verificación?" #: part/models.py:3689 msgid "Valid choices for this parameter (comma-separated)" -msgstr "" +msgstr "Opciones válidas para este parámetro (separados por comas)" #: part/models.py:3723 msgid "Part Parameter" @@ -6956,20 +6950,20 @@ msgstr "" #: part/models.py:3785 msgid "Invalid choice for parameter value" -msgstr "" +msgstr "Opción inválida para el valor del parámetro" #: part/models.py:3828 msgid "Parent Part" -msgstr "" +msgstr "Parte principal" #: part/models.py:3836 part/models.py:3944 part/models.py:3945 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" -msgstr "" +msgstr "Plantilla de parámetro" #: part/models.py:3842 msgid "Parameter Value" -msgstr "" +msgstr "Valor del parámetro" #: part/models.py:3892 msgid "Part Category Parameter Template" @@ -6977,31 +6971,31 @@ msgstr "" #: part/models.py:3951 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" -msgstr "" +msgstr "Valor predeterminado" #: part/models.py:3952 msgid "Default Parameter Value" -msgstr "" +msgstr "Valor de parámetro por defecto" #: part/models.py:3990 msgid "Part ID or part name" -msgstr "" +msgstr "ID de parte o nombre de parte" #: part/models.py:3991 msgid "Unique part ID value" -msgstr "" +msgstr "Valor de ID de parte única" #: part/models.py:3993 msgid "Part IPN value" -msgstr "" +msgstr "Valor IPN de parte" #: part/models.py:3994 msgid "Level" -msgstr "" +msgstr "Nivel" #: part/models.py:3994 msgid "BOM level" -msgstr "" +msgstr "Nivel de BOM" #: part/models.py:4105 msgid "BOM item cannot be modified - assembly is locked" @@ -7013,59 +7007,59 @@ msgstr "" #: part/models.py:4122 msgid "Select parent part" -msgstr "" +msgstr "Seleccionar parte principal" #: part/models.py:4132 msgid "Sub part" -msgstr "" +msgstr "Sub parte" #: part/models.py:4133 msgid "Select part to be used in BOM" -msgstr "" +msgstr "Seleccionar parte a utilizar en BOM" #: part/models.py:4144 msgid "BOM quantity for this BOM item" -msgstr "" +msgstr "Cantidad del artículo en BOM" #: part/models.py:4150 msgid "This BOM item is optional" -msgstr "" +msgstr "Este artículo BOM es opcional" #: part/models.py:4156 msgid "This BOM item is consumable (it is not tracked in build orders)" -msgstr "" +msgstr "Este artículo de BOM es consumible (no está rastreado en órdenes de construcción)" #: part/models.py:4163 part/templates/part/upload_bom.html:55 msgid "Overage" -msgstr "" +msgstr "Exceso" #: part/models.py:4164 msgid "Estimated build wastage quantity (absolute or percentage)" -msgstr "" +msgstr "Cantidad estimada de desperdicio de construcción (absoluta o porcentaje)" #: part/models.py:4171 msgid "BOM item reference" -msgstr "" +msgstr "Referencia de artículo de BOM" #: part/models.py:4179 msgid "BOM item notes" -msgstr "" +msgstr "Notas del artículo de BOM" #: part/models.py:4185 msgid "Checksum" -msgstr "" +msgstr "Suma de verificación" #: part/models.py:4186 msgid "BOM line checksum" -msgstr "" +msgstr "Suma de verificación de línea de BOM" #: part/models.py:4191 templates/js/translated/table_filters.js:174 msgid "Validated" -msgstr "" +msgstr "Validado" #: part/models.py:4192 msgid "This BOM item has been validated" -msgstr "" +msgstr "Este artículo de BOM ha sido validado" #: part/models.py:4197 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 @@ -7076,52 +7070,52 @@ msgstr "" #: part/models.py:4198 msgid "This BOM item is inherited by BOMs for variant parts" -msgstr "" +msgstr "Este artículo BOM es heredado por BOMs para partes variantes" #: part/models.py:4203 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" -msgstr "" +msgstr "Permitir variantes" #: part/models.py:4204 msgid "Stock items for variant parts can be used for this BOM item" -msgstr "" +msgstr "Artículos de stock para partes variantes pueden ser usados para este artículo BOM" #: part/models.py:4289 stock/models.py:663 msgid "Quantity must be integer value for trackable parts" -msgstr "" +msgstr "La cantidad debe ser un valor entero para las partes rastreables" #: part/models.py:4299 part/models.py:4301 msgid "Sub part must be specified" -msgstr "" +msgstr "Debe especificar la subparte" #: part/models.py:4439 msgid "BOM Item Substitute" -msgstr "" +msgstr "Ítem de BOM sustituto" #: part/models.py:4460 msgid "Substitute part cannot be the same as the master part" -msgstr "" +msgstr "La parte sustituta no puede ser la misma que la parte principal" #: part/models.py:4473 msgid "Parent BOM item" -msgstr "" +msgstr "Artículo BOM superior" #: part/models.py:4481 msgid "Substitute part" -msgstr "" +msgstr "Sustituir parte" #: part/models.py:4497 msgid "Part 1" -msgstr "" +msgstr "Parte 1" #: part/models.py:4505 msgid "Part 2" -msgstr "" +msgstr "Parte 2" #: part/models.py:4506 msgid "Select Related Part" -msgstr "" +msgstr "Seleccionar parte relacionada" #: part/models.py:4525 msgid "Part relationship cannot be created between a part and itself" @@ -7137,13 +7131,13 @@ msgstr "" #: part/serializers.py:125 templates/js/translated/part.js:308 msgid "Parent part category" -msgstr "" +msgstr "Categoría principal de parte" #: part/serializers.py:132 part/serializers.py:154 #: part/templates/part/category.html:122 part/templates/part/category.html:207 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" -msgstr "" +msgstr "Subcategorías" #: part/serializers.py:189 msgid "Results" @@ -7155,7 +7149,7 @@ msgstr "" #: part/serializers.py:217 part/serializers.py:235 stock/serializers.py:608 msgid "Purchase currency of this stock item" -msgstr "" +msgstr "Moneda de compra de ítem de stock" #: part/serializers.py:283 msgid "Number of parts using this template" @@ -7171,39 +7165,39 @@ msgstr "" #: part/serializers.py:455 msgid "Original Part" -msgstr "" +msgstr "Parte original" #: part/serializers.py:456 msgid "Select original part to duplicate" -msgstr "" +msgstr "Seleccione la parte original a duplicar" #: part/serializers.py:461 msgid "Copy Image" -msgstr "" +msgstr "Copiar Imagen" #: part/serializers.py:462 msgid "Copy image from original part" -msgstr "" +msgstr "Copiar imagen desde la parte original" #: part/serializers.py:468 part/templates/part/detail.html:277 msgid "Copy BOM" -msgstr "" +msgstr "Copiar BOM" #: part/serializers.py:469 msgid "Copy bill of materials from original part" -msgstr "" +msgstr "Copiar la factura de materiales de la parte original" #: part/serializers.py:475 msgid "Copy Parameters" -msgstr "" +msgstr "Copiar Parámetros" #: part/serializers.py:476 msgid "Copy parameter data from original part" -msgstr "" +msgstr "Copiar datos del parámetro de la parte original" #: part/serializers.py:482 msgid "Copy Notes" -msgstr "" +msgstr "Copiar Notas" #: part/serializers.py:483 msgid "Copy notes from original part" @@ -7211,7 +7205,7 @@ msgstr "" #: part/serializers.py:501 msgid "Initial Stock Quantity" -msgstr "" +msgstr "Cantidad Inicial de Stock" #: part/serializers.py:503 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." @@ -7227,23 +7221,23 @@ msgstr "" #: part/serializers.py:528 msgid "Select supplier (or leave blank to skip)" -msgstr "" +msgstr "Seleccione proveedor (o déjelo en blanco para saltar)" #: part/serializers.py:544 msgid "Select manufacturer (or leave blank to skip)" -msgstr "" +msgstr "Seleccionar fabricante (o dejar en blanco para saltar)" #: part/serializers.py:554 msgid "Manufacturer part number" -msgstr "" +msgstr "Número de parte del fabricante" #: part/serializers.py:561 msgid "Selected company is not a valid supplier" -msgstr "" +msgstr "La empresa seleccionada no es un proveedor válido" #: part/serializers.py:570 msgid "Selected company is not a valid manufacturer" -msgstr "" +msgstr "La empresa seleccionada no es un fabricante válido" #: part/serializers.py:581 msgid "Manufacturer part matching this MPN already exists" @@ -7264,7 +7258,7 @@ msgstr "" #: part/serializers.py:897 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:471 msgid "Duplicate Part" -msgstr "" +msgstr "Duplicar Parte" #: part/serializers.py:898 msgid "Copy initial data from another Part" @@ -7272,31 +7266,31 @@ msgstr "" #: part/serializers.py:904 templates/js/translated/part.js:102 msgid "Initial Stock" -msgstr "" +msgstr "Stock Inicial" #: part/serializers.py:905 msgid "Create Part with initial stock quantity" -msgstr "" +msgstr "Crear Parte con cantidad inicial de stock" #: part/serializers.py:911 msgid "Supplier Information" -msgstr "" +msgstr "Información del proveedor" #: part/serializers.py:912 msgid "Add initial supplier information for this part" -msgstr "" +msgstr "Añadir información inicial del proveedor para esta parte" #: part/serializers.py:920 msgid "Copy Category Parameters" -msgstr "" +msgstr "Copiar Parámetros de Categoría" #: part/serializers.py:921 msgid "Copy parameter templates from selected part category" -msgstr "" +msgstr "Copiar plantillas de parámetro de la categoría de partes seleccionada" #: part/serializers.py:926 msgid "Existing Image" -msgstr "" +msgstr "Imagen Existente" #: part/serializers.py:927 msgid "Filename of an existing part image" @@ -7304,7 +7298,7 @@ msgstr "" #: part/serializers.py:944 msgid "Image file does not exist" -msgstr "" +msgstr "El archivo de imagen no existe" #: part/serializers.py:1150 msgid "Limit stocktake report to a particular part, and any variant parts" @@ -7328,7 +7322,7 @@ msgstr "" #: part/serializers.py:1182 msgid "Generate Report" -msgstr "" +msgstr "Generar informe" #: part/serializers.py:1183 msgid "Generate report file containing calculated stocktake data" @@ -7336,7 +7330,7 @@ msgstr "" #: part/serializers.py:1188 msgid "Update Parts" -msgstr "" +msgstr "Actualizar partes" #: part/serializers.py:1189 msgid "Update specified parts with calculated stocktake data" @@ -7348,11 +7342,11 @@ msgstr "" #: part/serializers.py:1303 msgid "Override calculated value for minimum price" -msgstr "" +msgstr "Anular el valor calculado para precio mínimo" #: part/serializers.py:1310 msgid "Minimum price currency" -msgstr "" +msgstr "Precio mínimo de moneda" #: part/serializers.py:1318 msgid "Override calculated value for maximum price" @@ -7360,11 +7354,11 @@ msgstr "" #: part/serializers.py:1325 msgid "Maximum price currency" -msgstr "" +msgstr "Precio máximo de moneda" #: part/serializers.py:1354 msgid "Update" -msgstr "" +msgstr "Actualizar" #: part/serializers.py:1355 msgid "Update pricing for this part" @@ -7377,43 +7371,43 @@ msgstr "" #: part/serializers.py:1385 msgid "Minimum price must not be greater than maximum price" -msgstr "" +msgstr "El precio mínimo no debe ser mayor que el precio máximo" #: part/serializers.py:1388 msgid "Maximum price must not be less than minimum price" -msgstr "" +msgstr "El precio máximo no debe ser inferior al precio mínimo" #: part/serializers.py:1759 msgid "Select part to copy BOM from" -msgstr "" +msgstr "Seleccionar parte de la que copiar BOM" #: part/serializers.py:1767 msgid "Remove Existing Data" -msgstr "" +msgstr "Eliminar Datos Existentes" #: part/serializers.py:1768 msgid "Remove existing BOM items before copying" -msgstr "" +msgstr "Eliminar artículos BOM existentes antes de copiar" #: part/serializers.py:1773 msgid "Include Inherited" -msgstr "" +msgstr "Incluye Heredado" #: part/serializers.py:1774 msgid "Include BOM items which are inherited from templated parts" -msgstr "" +msgstr "Incluye artículos BOM que son heredados de partes con plantillas" #: part/serializers.py:1779 msgid "Skip Invalid Rows" -msgstr "" +msgstr "Omitir filas no válidas" #: part/serializers.py:1780 msgid "Enable this option to skip invalid rows" -msgstr "" +msgstr "Activar esta opción para omitir filas inválidas" #: part/serializers.py:1785 msgid "Copy Substitute Parts" -msgstr "" +msgstr "Copiar partes sustitutas" #: part/serializers.py:1786 msgid "Copy substitute parts when duplicate BOM items" @@ -7421,7 +7415,7 @@ msgstr "" #: part/serializers.py:1823 msgid "Clear Existing BOM" -msgstr "" +msgstr "Limpiar BOM Existente" #: part/serializers.py:1824 msgid "Delete existing BOM items before uploading" @@ -7433,41 +7427,41 @@ msgstr "" #: part/serializers.py:1900 msgid "Multiple matching parts found" -msgstr "" +msgstr "Varios resultados encontrados" #: part/serializers.py:1903 msgid "No matching part found" -msgstr "" +msgstr "No se encontraron partes coincidentes" #: part/serializers.py:1906 msgid "Part is not designated as a component" -msgstr "" +msgstr "La parte no está designada como componente" #: part/serializers.py:1915 msgid "Quantity not provided" -msgstr "" +msgstr "Cantidad no proporcionada" #: part/serializers.py:1923 msgid "Invalid quantity" -msgstr "" +msgstr "Cantidad no válida" #: part/serializers.py:1946 msgid "At least one BOM item is required" -msgstr "" +msgstr "Se requiere al menos un artículo BOM" #: part/stocktake.py:225 templates/js/translated/part.js:1070 #: templates/js/translated/part.js:1825 templates/js/translated/part.js:1881 #: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" -msgstr "" +msgstr "Cantidad Total" #: part/stocktake.py:226 msgid "Total Cost Min" -msgstr "" +msgstr "Costo total mínimo" #: part/stocktake.py:227 msgid "Total Cost Max" -msgstr "" +msgstr "Costo total máximo" #: part/stocktake.py:285 msgid "Stocktake Report Available" @@ -7479,16 +7473,16 @@ msgstr "" #: part/tasks.py:37 msgid "Low stock notification" -msgstr "" +msgstr "Notificación por bajo stock" #: part/tasks.py:39 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" -msgstr "" +msgstr "El stock disponible para {part.name} ha caído por debajo del nivel mínimo configurado" #: part/templates/part/bom.html:6 msgid "You do not have permission to edit the BOM." -msgstr "" +msgstr "No tienes permiso para editar la lista de materiales." #: part/templates/part/bom.html:15 msgid "The BOM this part has been changed, and must be validated" @@ -7509,89 +7503,89 @@ msgstr "" #: part/templates/part/category.html:41 part/templates/part/category.html:45 msgid "You are subscribed to notifications for this category" -msgstr "" +msgstr "Estás suscrito a las notificaciones de esta categoría" #: part/templates/part/category.html:49 msgid "Subscribe to notifications for this category" -msgstr "" +msgstr "Suscribirse a las notificaciones de esta categoría" #: part/templates/part/category.html:55 msgid "Category Actions" -msgstr "" +msgstr "Acciones de categoría" #: part/templates/part/category.html:60 msgid "Edit category" -msgstr "" +msgstr "Editar categoría" #: part/templates/part/category.html:61 msgid "Edit Category" -msgstr "" +msgstr "Editar Categoría" #: part/templates/part/category.html:65 msgid "Delete category" -msgstr "" +msgstr "Eliminar categoría" #: part/templates/part/category.html:66 msgid "Delete Category" -msgstr "" +msgstr "Eliminar Categoría" #: part/templates/part/category.html:102 msgid "Top level part category" -msgstr "" +msgstr "Categoría de partes de nivel superior" #: part/templates/part/category.html:127 msgid "Parts (Including subcategories)" -msgstr "" +msgstr "Partes (incluyendo subcategorías)" #: part/templates/part/category.html:165 msgid "Create new part" -msgstr "" +msgstr "Crear nueva parte" #: part/templates/part/category.html:166 templates/js/translated/bom.js:444 msgid "New Part" -msgstr "" +msgstr "Nueva Parte" #: part/templates/part/category.html:192 #: templates/InvenTree/settings/part_parameters.html:7 #: templates/InvenTree/settings/sidebar.html:49 msgid "Part Parameters" -msgstr "" +msgstr "Parámetros de Parte" #: part/templates/part/category.html:211 msgid "Create new part category" -msgstr "" +msgstr "Crear nueva categoría de partes" #: part/templates/part/category.html:212 msgid "New Category" -msgstr "" +msgstr "Nueva Categoría" #: part/templates/part/category_sidebar.html:13 msgid "Import Parts" -msgstr "" +msgstr "Importar Partes" #: part/templates/part/copy_part.html:10 #, python-format msgid "Make a copy of part '%(full_name)s'." -msgstr "" +msgstr "Hacer una copia de la parte '%(full_name)s'." #: part/templates/part/copy_part.html:14 #: part/templates/part/create_part.html:11 msgid "Possible Matching Parts" -msgstr "" +msgstr "Posibles Partes coincidentes" #: part/templates/part/copy_part.html:15 #: part/templates/part/create_part.html:12 msgid "The new part may be a duplicate of these existing parts" -msgstr "" +msgstr "La nueva parte puede ser un duplicado de estas partes existentes" #: part/templates/part/create_part.html:17 #, python-format msgid "%(full_name)s - %(desc)s (%(match_per)s%% match)" -msgstr "" +msgstr "%(full_name)s - %(desc)s (%(match_per)s%% coincidencia)" #: part/templates/part/detail.html:20 msgid "Part Stock" -msgstr "" +msgstr "Stock de parte" #: part/templates/part/detail.html:44 msgid "Refresh scheduling data" @@ -7600,7 +7594,7 @@ msgstr "" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 #: templates/js/translated/tables.js:552 msgid "Refresh" -msgstr "" +msgstr "Actualizar" #: part/templates/part/detail.html:66 msgid "Add stocktake information" @@ -7611,101 +7605,101 @@ msgstr "" #: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/stock.js:2216 users/models.py:204 msgid "Stocktake" -msgstr "" +msgstr "Verificación de Inventario" #: part/templates/part/detail.html:83 msgid "Part Test Templates" -msgstr "" +msgstr "Plantillas de prueba de parte" #: part/templates/part/detail.html:88 msgid "Add Test Template" -msgstr "" +msgstr "Añadir Plantilla de Prueba" #: part/templates/part/detail.html:139 stock/templates/stock/item.html:49 msgid "Sales Order Allocations" -msgstr "" +msgstr "Asignaciones de órdenes de venta" #: part/templates/part/detail.html:156 msgid "Part Notes" -msgstr "" +msgstr "Notas de parte" #: part/templates/part/detail.html:171 msgid "Part Variants" -msgstr "" +msgstr "Variantes de Parte" #: part/templates/part/detail.html:175 msgid "Create new variant" -msgstr "" +msgstr "Crear nueva variante" #: part/templates/part/detail.html:176 msgid "New Variant" -msgstr "" +msgstr "Nueva Variante" #: part/templates/part/detail.html:199 msgid "Add new parameter" -msgstr "" +msgstr "Añadir nuevo parámetro" #: part/templates/part/detail.html:232 part/templates/part/part_sidebar.html:58 msgid "Related Parts" -msgstr "" +msgstr "Partes relacionadas" #: part/templates/part/detail.html:236 part/templates/part/detail.html:237 msgid "Add Related" -msgstr "" +msgstr "Añadir Relacionado" #: part/templates/part/detail.html:255 part/templates/part/part_sidebar.html:17 #: report/templates/report/inventree_bill_of_materials_report.html:100 msgid "Bill of Materials" -msgstr "" +msgstr "Lista de Materiales" #: part/templates/part/detail.html:260 msgid "Export actions" -msgstr "" +msgstr "Exportar acciones" #: part/templates/part/detail.html:264 templates/js/translated/bom.js:340 msgid "Export BOM" -msgstr "" +msgstr "Exportar BOM" #: part/templates/part/detail.html:266 msgid "Print BOM Report" -msgstr "" +msgstr "Imprimir informe BOM" #: part/templates/part/detail.html:272 msgid "BOM actions" -msgstr "" +msgstr "Acciones BOM" #: part/templates/part/detail.html:276 msgid "Upload BOM" -msgstr "" +msgstr "Subir BOM" #: part/templates/part/detail.html:278 msgid "Validate BOM" -msgstr "" +msgstr "Validar BOM" #: part/templates/part/detail.html:283 part/templates/part/detail.html:284 #: templates/js/translated/bom.js:1320 templates/js/translated/bom.js:1321 msgid "Add BOM Item" -msgstr "" +msgstr "Añadir artículo al BOM" #: part/templates/part/detail.html:297 msgid "Assemblies" -msgstr "" +msgstr "Ensamblajes" #: part/templates/part/detail.html:313 msgid "Part Builds" -msgstr "" +msgstr "Construcción de partes" #: part/templates/part/detail.html:338 stock/templates/stock/item.html:36 msgid "Build Order Allocations" -msgstr "" +msgstr "Construir adjudicaciones de pedidos" #: part/templates/part/detail.html:352 msgid "Part Suppliers" -msgstr "" +msgstr "Proveedores de partes" #: part/templates/part/detail.html:372 msgid "Part Manufacturers" -msgstr "" +msgstr "Fabricantes de partes" #: part/templates/part/detail.html:657 msgid "Related Part" @@ -7722,15 +7716,15 @@ msgstr "" #: part/templates/part/import_wizard/ajax_part_upload.html:29 #: part/templates/part/import_wizard/part_upload.html:14 msgid "Insufficient privileges." -msgstr "" +msgstr "Privilegios insuficientes." #: part/templates/part/import_wizard/part_upload.html:8 msgid "Return to Parts" -msgstr "" +msgstr "Volver a los artículos" #: part/templates/part/import_wizard/part_upload.html:13 msgid "Import Parts from File" -msgstr "" +msgstr "Importar artículos desde archivo" #: part/templates/part/import_wizard/part_upload.html:31 msgid "Requirements for part import" @@ -7742,99 +7736,99 @@ msgstr "" #: part/templates/part/import_wizard/part_upload.html:33 msgid "Part Import Template" -msgstr "" +msgstr "Plantilla de importación de parte" #: part/templates/part/import_wizard/part_upload.html:89 msgid "Download Part Import Template" -msgstr "" +msgstr "Descargar plantilla de importación de parte" #: part/templates/part/import_wizard/part_upload.html:92 #: 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 "Formato" #: part/templates/part/import_wizard/part_upload.html:93 #: templates/js/translated/bom.js:310 templates/js/translated/bom.js:344 #: templates/js/translated/order.js:130 msgid "Select file format" -msgstr "" +msgstr "Seleccionar formato de archivo" #: part/templates/part/part_app_base.html:12 msgid "Part List" -msgstr "" +msgstr "Listado de artículos" #: part/templates/part/part_base.html:25 part/templates/part/part_base.html:29 msgid "You are subscribed to notifications for this part" -msgstr "" +msgstr "Estás suscrito a las notificaciones de este artículo" #: part/templates/part/part_base.html:33 msgid "Subscribe to notifications for this part" -msgstr "" +msgstr "Suscríbete a las notificaciones de este artículo" #: part/templates/part/part_base.html:52 #: stock/templates/stock/item_base.html:62 #: stock/templates/stock/location.html:74 templates/js/translated/label.js:136 msgid "Print Label" -msgstr "" +msgstr "Imprimir etiqueta" #: part/templates/part/part_base.html:58 msgid "Show pricing information" -msgstr "" +msgstr "Mostrar información de precios" #: part/templates/part/part_base.html:63 #: stock/templates/stock/item_base.html:110 #: stock/templates/stock/location.html:83 msgid "Stock actions" -msgstr "" +msgstr "Acciones de stock" #: part/templates/part/part_base.html:70 msgid "Count part stock" -msgstr "" +msgstr "Contar stock de partes" #: part/templates/part/part_base.html:76 msgid "Transfer part stock" -msgstr "" +msgstr "Transferir stock de partes" #: part/templates/part/part_base.html:91 templates/js/translated/part.js:2296 msgid "Part actions" -msgstr "" +msgstr "Acciones para partes" #: part/templates/part/part_base.html:94 msgid "Duplicate part" -msgstr "" +msgstr "Duplicar parte" #: part/templates/part/part_base.html:97 msgid "Edit part" -msgstr "" +msgstr "Editar parte" #: part/templates/part/part_base.html:100 msgid "Delete part" -msgstr "" +msgstr "Eliminar parte" #: part/templates/part/part_base.html:119 msgid "Part is a template part (variants can be made from this part)" -msgstr "" +msgstr "La parte es una parte de plantilla (las variantes se pueden hacer a partir de esta parte)" #: part/templates/part/part_base.html:123 msgid "Part can be assembled from other parts" -msgstr "" +msgstr "La parte puede ser ensamblada desde otras partes" #: part/templates/part/part_base.html:127 msgid "Part can be used in assemblies" -msgstr "" +msgstr "La parte puede ser usada en ensamblajes" #: part/templates/part/part_base.html:131 msgid "Part stock is tracked by serial number" -msgstr "" +msgstr "El stock de esta parte está rastreado por número de serie" #: part/templates/part/part_base.html:135 msgid "Part can be purchased from external suppliers" -msgstr "" +msgstr "La parte puede ser comprada de proveedores externos" #: part/templates/part/part_base.html:139 msgid "Part can be sold to customers" -msgstr "" +msgstr "La parte puede ser vendida a clientes" #: part/templates/part/part_base.html:145 msgid "Part is not active" @@ -7842,12 +7836,12 @@ msgstr "" #: part/templates/part/part_base.html:153 msgid "Part is virtual (not a physical part)" -msgstr "" +msgstr "La parte es virtual (no una parte física)" #: part/templates/part/part_base.html:163 #: part/templates/part/part_base.html:681 msgid "Show Part Details" -msgstr "" +msgstr "Mostrar Detalles de Parte" #: part/templates/part/part_base.html:218 #: stock/templates/stock/item_base.html:388 @@ -7861,27 +7855,27 @@ msgstr "" #: part/templates/part/part_base.html:235 templates/js/translated/bom.js:1219 msgid "Can Build" -msgstr "" +msgstr "Puede construir" #: part/templates/part/part_base.html:291 msgid "Minimum stock level" -msgstr "" +msgstr "Nivel mínimo de stock" #: part/templates/part/part_base.html:322 templates/js/translated/bom.js:1071 #: templates/js/translated/part.js:1268 templates/js/translated/part.js:2447 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" -msgstr "" +msgstr "Rango de precios" #: part/templates/part/part_base.html:352 msgid "Latest Serial Number" -msgstr "" +msgstr "Último número de serie" #: part/templates/part/part_base.html:356 #: stock/templates/stock/item_base.html:322 msgid "Search for serial number" -msgstr "" +msgstr "Buscar número de serie" #: part/templates/part/part_base.html:444 msgid "Part QR Code" @@ -7889,72 +7883,72 @@ msgstr "" #: part/templates/part/part_base.html:461 msgid "Link Barcode to Part" -msgstr "" +msgstr "Vincular código de barras a parte" #: part/templates/part/part_base.html:511 msgid "Calculate" -msgstr "" +msgstr "Calcular" #: part/templates/part/part_base.html:528 msgid "Remove associated image from this part" -msgstr "" +msgstr "Eliminar imagen asociada de esta parte" #: part/templates/part/part_base.html:579 msgid "No matching images found" -msgstr "" +msgstr "No se encontraron imágenes coincidentes" #: part/templates/part/part_base.html:675 msgid "Hide Part Details" -msgstr "" +msgstr "Ocultar Detalles de la Parte" #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:76 #: part/templates/part/prices.html:227 templates/js/translated/pricing.js:485 msgid "Supplier Pricing" -msgstr "" +msgstr "Precios del Proveedor" #: part/templates/part/part_pricing.html:26 #: part/templates/part/part_pricing.html:52 #: part/templates/part/part_pricing.html:95 #: part/templates/part/part_pricing.html:110 msgid "Unit Cost" -msgstr "" +msgstr "Costo unitario" #: part/templates/part/part_pricing.html:40 msgid "No supplier pricing available" -msgstr "" +msgstr "Ningún precio de proveedor disponible" #: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:90 #: part/templates/part/prices.html:250 msgid "BOM Pricing" -msgstr "" +msgstr "Precios BOM" #: part/templates/part/part_pricing.html:66 msgid "Unit Purchase Price" -msgstr "" +msgstr "Precio de Compra Unitario" #: part/templates/part/part_pricing.html:72 msgid "Total Purchase Price" -msgstr "" +msgstr "Precio total de compra" #: part/templates/part/part_pricing.html:83 msgid "No BOM pricing available" -msgstr "" +msgstr "No hay precios BOM disponibles" #: part/templates/part/part_pricing.html:92 msgid "Internal Price" -msgstr "" +msgstr "Precio Interno" #: part/templates/part/part_pricing.html:123 msgid "No pricing information is available for this part." -msgstr "" +msgstr "No hay información de precios disponible para esta parte." #: part/templates/part/part_scheduling.html:14 msgid "Scheduled Quantity" -msgstr "" +msgstr "Cantidad programada" #: part/templates/part/part_sidebar.html:11 msgid "Variants" -msgstr "" +msgstr "Variantes" #: part/templates/part/part_sidebar.html:14 #: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:24 @@ -7965,32 +7959,32 @@ msgstr "" #: templates/js/translated/part.js:2395 templates/js/translated/stock.js:1059 #: templates/js/translated/stock.js:2070 templates/navbar.html:31 msgid "Stock" -msgstr "" +msgstr "Inventario" #: part/templates/part/part_sidebar.html:30 #: templates/InvenTree/settings/sidebar.html:39 msgid "Pricing" -msgstr "" +msgstr "Precios" #: part/templates/part/part_sidebar.html:44 msgid "Scheduling" -msgstr "" +msgstr "Programación" #: part/templates/part/part_sidebar.html:54 msgid "Test Templates" -msgstr "" +msgstr "Plantillas de Prueba" #: part/templates/part/part_thumb.html:11 msgid "Select from existing images" -msgstr "" +msgstr "Seleccionar de imágenes existentes" #: part/templates/part/prices.html:11 msgid "Pricing Overview" -msgstr "" +msgstr "Vista general de precios" #: part/templates/part/prices.html:14 msgid "Refresh Part Pricing" -msgstr "" +msgstr "Actualizar precio de partes" #: part/templates/part/prices.html:17 msgid "Override Part Pricing" @@ -8003,7 +7997,7 @@ msgstr "" #: templates/js/translated/pricing.js:628 templates/notes_buttons.html:3 #: templates/notes_buttons.html:4 msgid "Edit" -msgstr "" +msgstr "Editar" #: part/templates/part/prices.html:28 stock/admin.py:251 #: stock/templates/stock/item_base.html:446 @@ -8011,31 +8005,31 @@ msgstr "" #: templates/js/translated/company.js:1713 #: templates/js/translated/stock.js:2246 msgid "Last Updated" -msgstr "" +msgstr "Última actualización" #: part/templates/part/prices.html:37 part/templates/part/prices.html:127 msgid "Price Category" -msgstr "" +msgstr "Categoría de precio" #: part/templates/part/prices.html:38 part/templates/part/prices.html:128 msgid "Minimum" -msgstr "" +msgstr "Mínimo" #: part/templates/part/prices.html:39 part/templates/part/prices.html:129 msgid "Maximum" -msgstr "" +msgstr "Máximo" #: part/templates/part/prices.html:51 part/templates/part/prices.html:174 msgid "Internal Pricing" -msgstr "" +msgstr "Precio Interno" #: part/templates/part/prices.html:64 part/templates/part/prices.html:206 msgid "Purchase History" -msgstr "" +msgstr "Historial de compras" #: part/templates/part/prices.html:98 part/templates/part/prices.html:274 msgid "Variant Pricing" -msgstr "" +msgstr "Precios variantes" #: part/templates/part/prices.html:106 msgid "Pricing Overrides" @@ -8043,11 +8037,11 @@ msgstr "" #: part/templates/part/prices.html:113 msgid "Overall Pricing" -msgstr "" +msgstr "Precios globales" #: part/templates/part/prices.html:149 part/templates/part/prices.html:326 msgid "Sale History" -msgstr "" +msgstr "Historial de ventas" #: part/templates/part/prices.html:157 msgid "Sale price data is not available for this part" @@ -8062,11 +8056,11 @@ msgstr "" #: part/templates/part/prices.html:275 part/templates/part/prices.html:298 #: part/templates/part/prices.html:327 msgid "Jump to overview" -msgstr "" +msgstr "Ir a la vista general" #: part/templates/part/prices.html:180 msgid "Add Internal Price Break" -msgstr "" +msgstr "Añadir salto de precio interno" #: part/templates/part/prices.html:297 msgid "Sale Pricing" @@ -8085,52 +8079,52 @@ msgstr "" #: templates/js/translated/part.js:704 templates/js/translated/part.js:2144 #: templates/js/translated/part.js:2146 msgid "No Stock" -msgstr "" +msgstr "Sin Stock" #: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:120 msgid "Low Stock" -msgstr "" +msgstr "Bajo Stock" #: part/templates/part/upload_bom.html:8 msgid "Return to BOM" -msgstr "" +msgstr "Volver al BOM" #: part/templates/part/upload_bom.html:13 msgid "Upload Bill of Materials" -msgstr "" +msgstr "Cargar Lista de Materiales" #: part/templates/part/upload_bom.html:19 msgid "BOM upload requirements" -msgstr "" +msgstr "Requisitos de subida BOM" #: part/templates/part/upload_bom.html:23 #: part/templates/part/upload_bom.html:90 msgid "Upload BOM File" -msgstr "" +msgstr "Subir archivo BOM" #: part/templates/part/upload_bom.html:29 msgid "Submit BOM Data" -msgstr "" +msgstr "Enviar datos BOM" #: part/templates/part/upload_bom.html:37 msgid "Requirements for BOM upload" -msgstr "" +msgstr "Requisitos para subir BOM" #: part/templates/part/upload_bom.html:39 msgid "The BOM file must contain the required named columns as provided in the " -msgstr "" +msgstr "El archivo BOM debe contener las columnas con nombre requeridos como se indica en el " #: part/templates/part/upload_bom.html:39 msgid "BOM Upload Template" -msgstr "" +msgstr "Plantilla de subida BOM" #: part/templates/part/upload_bom.html:40 msgid "Each part must already exist in the database" -msgstr "" +msgstr "Cada parte debe existir en la base de datos" #: part/templates/part/variant_part.html:9 msgid "Create new part variant" -msgstr "" +msgstr "Crear nueva variante de parte" #: part/templates/part/variant_part.html:10 msgid "Create a new variant part from this template" @@ -8138,7 +8132,7 @@ msgstr "" #: part/views.py:111 msgid "Match References" -msgstr "" +msgstr "Coincidir Referencias" #: part/views.py:275 #, python-brace-format @@ -8147,19 +8141,19 @@ msgstr "" #: part/views.py:425 msgid "Select Part Image" -msgstr "" +msgstr "Seleccionar Imagen de Parte" #: part/views.py:448 msgid "Updated part image" -msgstr "" +msgstr "Imagen de parte actualizada" #: part/views.py:451 msgid "Part image not found" -msgstr "" +msgstr "Imagen de parte no encontrada" #: part/views.py:545 msgid "Part Pricing" -msgstr "" +msgstr "Precio de parte" #: plugin/api.py:170 msgid "Plugin cannot be deleted as it is currently active" @@ -8167,25 +8161,25 @@ msgstr "" #: plugin/base/action/api.py:32 msgid "No action specified" -msgstr "" +msgstr "No se especificó ninguna acción" #: plugin/base/action/api.py:41 msgid "No matching action found" -msgstr "" +msgstr "No se encontró ninguna acción coincidente" #: plugin/base/barcodes/api.py:124 plugin/base/barcodes/api.py:328 #: plugin/base/barcodes/api.py:503 msgid "No match found for barcode data" -msgstr "" +msgstr "No se encontró ninguna coincidencia para los datos del código de barras" #: plugin/base/barcodes/api.py:128 msgid "Match found for barcode data" -msgstr "" +msgstr "Coincidencia encontrada para datos de códigos de barras" #: plugin/base/barcodes/api.py:154 #: templates/js/translated/purchase_order.js:1406 msgid "Barcode matches existing item" -msgstr "" +msgstr "El código de barras coincide con artículo existente" #: plugin/base/barcodes/api.py:293 msgid "No matching part data found" @@ -8324,7 +8318,7 @@ msgstr "" #: plugin/base/label/label.py:39 templates/js/translated/label.js:148 msgid "Label printing failed" -msgstr "" +msgstr "Impresión de etiquetas fallida" #: plugin/base/label/mixins.py:56 msgid "Error rendering label to PDF" @@ -8340,11 +8334,11 @@ msgstr "" #: plugin/builtin/barcodes/inventree_barcode.py:25 msgid "InvenTree Barcodes" -msgstr "" +msgstr "Códigos de barras de InvenTree" #: plugin/builtin/barcodes/inventree_barcode.py:26 msgid "Provides native support for barcodes" -msgstr "" +msgstr "Proporciona soporte nativo para códigos de barras" #: plugin/builtin/barcodes/inventree_barcode.py:28 #: plugin/builtin/integration/core_notifications.py:35 @@ -8355,45 +8349,45 @@ msgstr "" #: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 #: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 msgid "InvenTree contributors" -msgstr "" +msgstr "Contribuidores de InvenTree" #: plugin/builtin/integration/core_notifications.py:34 msgid "InvenTree Notifications" -msgstr "" +msgstr "Notificaciones de InvenTree" #: plugin/builtin/integration/core_notifications.py:36 msgid "Integrated outgoing notification methods" -msgstr "" +msgstr "Métodos de notificaciones salientes integrados" #: plugin/builtin/integration/core_notifications.py:41 #: plugin/builtin/integration/core_notifications.py:80 msgid "Enable email notifications" -msgstr "" +msgstr "Habilitar notificaciones por correo electrónico" #: plugin/builtin/integration/core_notifications.py:42 #: plugin/builtin/integration/core_notifications.py:81 msgid "Allow sending of emails for event notifications" -msgstr "" +msgstr "Permitir el envío de correos electrónicos para notificaciones de eventos" #: plugin/builtin/integration/core_notifications.py:47 msgid "Enable slack notifications" -msgstr "" +msgstr "Activar notificaciones de slack" #: plugin/builtin/integration/core_notifications.py:49 msgid "Allow sending of slack channel messages for event notifications" -msgstr "" +msgstr "Permitir el envío de mensajes por canal de slack para notificaciones de eventos" #: plugin/builtin/integration/core_notifications.py:55 msgid "Slack incoming webhook url" -msgstr "" +msgstr "URL de webhook entrante de Slack" #: plugin/builtin/integration/core_notifications.py:56 msgid "URL that is used to send messages to a slack channel" -msgstr "" +msgstr "URL que se utiliza para enviar mensajes a un canal de slack" #: plugin/builtin/integration/core_notifications.py:164 msgid "Open link" -msgstr "" +msgstr "Abrir enlace" #: plugin/builtin/integration/currency_exchange.py:22 msgid "InvenTree Currency Exchange" @@ -8405,19 +8399,19 @@ msgstr "" #: plugin/builtin/labels/inventree_label.py:19 msgid "InvenTree PDF label printer" -msgstr "" +msgstr "Impresora de etiquetas PDF de InvenTree" #: plugin/builtin/labels/inventree_label.py:20 msgid "Provides native support for printing PDF labels" -msgstr "" +msgstr "Proporciona soporte nativo para imprimir etiquetas PDF" #: plugin/builtin/labels/inventree_label.py:28 msgid "Debug mode" -msgstr "" +msgstr "Modo de depuración" #: plugin/builtin/labels/inventree_label.py:29 msgid "Enable debug mode - returns raw HTML instead of PDF" -msgstr "" +msgstr "Activar modo de depuración - devuelve código HTML en lugar de PDF" #: plugin/builtin/labels/inventree_machine.py:61 msgid "InvenTree machine label printer" @@ -8570,27 +8564,27 @@ msgstr "" #: plugin/models.py:36 msgid "Plugin Configuration" -msgstr "" +msgstr "Configuración del complemento" #: plugin/models.py:37 msgid "Plugin Configurations" -msgstr "" +msgstr "Configuraciones del Plug-in" #: plugin/models.py:43 users/models.py:100 msgid "Key" -msgstr "" +msgstr "Clave" #: plugin/models.py:44 msgid "Key of plugin" -msgstr "" +msgstr "Clave del complemento" #: plugin/models.py:52 msgid "PluginName of the plugin" -msgstr "" +msgstr "Nombre del complemento" #: plugin/models.py:59 plugin/serializers.py:90 msgid "Package Name" -msgstr "" +msgstr "Nombre de Paquete" #: plugin/models.py:61 msgid "Name of the installed package, if the plugin was installed via PIP" @@ -8598,20 +8592,20 @@ msgstr "" #: plugin/models.py:66 msgid "Is the plugin active" -msgstr "" +msgstr "Está activo el complemento" #: plugin/models.py:157 templates/js/translated/table_filters.js:370 #: templates/js/translated/table_filters.js:504 msgid "Installed" -msgstr "" +msgstr "Instalado" #: plugin/models.py:166 msgid "Sample plugin" -msgstr "" +msgstr "Complemento de ejemplo" #: plugin/models.py:174 msgid "Builtin Plugin" -msgstr "" +msgstr "Complemento integrado" #: plugin/models.py:182 msgid "Package Plugin" @@ -8621,62 +8615,62 @@ msgstr "" #: templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:51 msgid "Plugin" -msgstr "" +msgstr "Complemento" #: plugin/models.py:267 msgid "Method" -msgstr "" +msgstr "Método" #: plugin/plugin.py:270 msgid "No author found" -msgstr "" +msgstr "No se encontró autor" #: plugin/registry.py:534 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" -msgstr "" +msgstr "El complemento '{p}' no es compatible con la versión actual de InvenTree {v}" #: plugin/registry.py:537 #, python-brace-format msgid "Plugin requires at least version {v}" -msgstr "" +msgstr "El complemento requiere al menos la versión {v}" #: plugin/registry.py:539 #, python-brace-format msgid "Plugin requires at most version {v}" -msgstr "" +msgstr "El complemento requiere como máximo la versión {v}" #: plugin/samples/integration/sample.py:52 msgid "Enable PO" -msgstr "" +msgstr "Habilitar PO" #: plugin/samples/integration/sample.py:53 msgid "Enable PO functionality in InvenTree interface" -msgstr "" +msgstr "Habilitar la funcionalidad PO en la interfaz de InvenTree" #: plugin/samples/integration/sample.py:58 msgid "API Key" -msgstr "" +msgstr "Clave API" #: plugin/samples/integration/sample.py:59 msgid "Key required for accessing external API" -msgstr "" +msgstr "Clave necesaria para acceder a la API externa" #: plugin/samples/integration/sample.py:63 msgid "Numerical" -msgstr "" +msgstr "Numérico" #: plugin/samples/integration/sample.py:64 msgid "A numerical setting" -msgstr "" +msgstr "Una configuración numérica" #: plugin/samples/integration/sample.py:69 msgid "Choice Setting" -msgstr "" +msgstr "Configuración de Elección" #: plugin/samples/integration/sample.py:70 msgid "A setting with multiple choices" -msgstr "" +msgstr "Un ajuste con múltiples opciones" #: plugin/samples/integration/sample_currency_exchange.py:15 msgid "Sample currency exchange plugin" @@ -8688,21 +8682,21 @@ msgstr "" #: plugin/serializers.py:81 msgid "Source URL" -msgstr "" +msgstr "URL de origen" #: plugin/serializers.py:83 msgid "Source for the package - this can be a custom registry or a VCS path" -msgstr "" +msgstr "Fuente del paquete - puede ser un registro personalizado o una ruta VCS" #: plugin/serializers.py:92 msgid "Name for the Plugin Package - can also contain a version indicator" -msgstr "" +msgstr "Nombre del paquete Plug-in - también puede contener un indicador de versión" #: plugin/serializers.py:99 #: templates/InvenTree/settings/plugin_settings.html:42 #: templates/js/translated/plugin.js:86 msgid "Version" -msgstr "" +msgstr "Versión" #: plugin/serializers.py:101 msgid "Version specifier for the plugin. Leave blank for latest version." @@ -8710,19 +8704,19 @@ msgstr "" #: plugin/serializers.py:106 msgid "Confirm plugin installation" -msgstr "" +msgstr "Confirmar instalación del complemento" #: plugin/serializers.py:108 msgid "This will install this plugin now into the current instance. The instance will go into maintenance." -msgstr "" +msgstr "Esto instalará este plug-in en la instancia actual. La instancia entrará en mantenimiento." #: plugin/serializers.py:121 msgid "Installation not confirmed" -msgstr "" +msgstr "Instalación no confirmada" #: plugin/serializers.py:123 msgid "Either packagename of URL must be provided" -msgstr "" +msgstr "Debe proporcionar cualquier nombre de paquete de la URL" #: plugin/serializers.py:161 msgid "Full reload" @@ -8750,11 +8744,11 @@ msgstr "" #: plugin/serializers.py:205 msgid "Activate Plugin" -msgstr "" +msgstr "Activar complemento" #: plugin/serializers.py:206 msgid "Activate this plugin" -msgstr "" +msgstr "Activar este complemento" #: plugin/serializers.py:226 msgid "Delete configuration" @@ -8766,7 +8760,7 @@ msgstr "" #: report/api.py:88 msgid "No valid objects provided to template" -msgstr "" +msgstr "No se han proporcionado objetos válidos a la plantilla" #: report/api.py:103 report/models.py:439 report/serializers.py:98 #: report/serializers.py:148 templates/js/translated/purchase_order.js:1747 @@ -8819,7 +8813,7 @@ msgstr "" #: report/helpers.py:46 msgid "Letter" -msgstr "" +msgstr "Carta" #: report/models.py:119 msgid "Template file with this name already exists" @@ -8827,7 +8821,7 @@ msgstr "" #: report/models.py:151 msgid "Template name" -msgstr "" +msgstr "Nombre de la plantilla" #: report/models.py:157 msgid "Template description" @@ -8839,7 +8833,7 @@ msgstr "" #: report/models.py:203 msgid "Filename Pattern" -msgstr "" +msgstr "Patrón de Nombre de archivo" #: report/models.py:204 msgid "Pattern for generating filenames" @@ -8855,7 +8849,7 @@ msgstr "" #: report/models.py:235 msgid "Filters" -msgstr "" +msgstr "Filtros" #: report/models.py:236 msgid "Template query filters (comma-separated list of key=value pairs)" @@ -8867,7 +8861,7 @@ msgstr "" #: report/models.py:303 msgid "Page size for PDF reports" -msgstr "" +msgstr "Tamaño de página para reportes PDF" #: report/models.py:309 msgid "Render report in landscape orientation" @@ -8875,19 +8869,19 @@ msgstr "" #: report/models.py:368 msgid "Width [mm]" -msgstr "" +msgstr "Ancho [mm]" #: report/models.py:369 msgid "Label width, specified in mm" -msgstr "" +msgstr "Ancho de la etiqueta, especificado en mm" #: report/models.py:375 msgid "Height [mm]" -msgstr "" +msgstr "Altura [mm]" #: report/models.py:376 msgid "Label height, specified in mm" -msgstr "" +msgstr "Altura de la etiqueta, especificada en mm" #: report/models.py:439 msgid "Number of items to process" @@ -8899,7 +8893,7 @@ msgstr "" #: report/models.py:449 templates/js/translated/build.js:2177 msgid "Progress" -msgstr "" +msgstr "Progreso" #: report/models.py:449 msgid "Report generation progress" @@ -8927,27 +8921,27 @@ msgstr "" #: report/models.py:503 msgid "Snippet" -msgstr "" +msgstr "Fragmento" #: report/models.py:504 msgid "Report snippet file" -msgstr "" +msgstr "Archivo fragmento de informe" #: report/models.py:511 msgid "Snippet file description" -msgstr "" +msgstr "Descripción de archivo de fragmento" #: report/models.py:529 msgid "Asset" -msgstr "" +msgstr "Activo" #: report/models.py:530 msgid "Report asset file" -msgstr "" +msgstr "Reportar archivo de activos" #: report/models.py:537 msgid "Asset file description" -msgstr "" +msgstr "Descripción del archivo de activos" #: report/serializers.py:91 msgid "Select report template" @@ -8974,25 +8968,25 @@ msgstr "" #: report/templates/label/stocklocation_qr.html:20 #: templates/allauth_2fa/setup.html:18 msgid "QR Code" -msgstr "" +msgstr "Código 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 "" +msgstr "Código QR" #: report/templates/report/inventree_bill_of_materials_report.html:133 msgid "Materials needed" -msgstr "" +msgstr "Materiales necesarios" #: report/templates/report/inventree_build_order_report.html:146 msgid "Required For" -msgstr "" +msgstr "Requerido para" #: report/templates/report/inventree_purchase_order_report.html:15 msgid "Supplier was deleted" -msgstr "" +msgstr "El proveedor ha sido eliminado" #: report/templates/report/inventree_purchase_order_report.html:30 #: report/templates/report/inventree_sales_order_report.html:30 @@ -9002,13 +8996,13 @@ msgstr "" #: templates/js/translated/purchase_order.js:2115 #: templates/js/translated/sales_order.js:1873 msgid "Unit Price" -msgstr "" +msgstr "Precio Unitario" #: 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 "" +msgstr "Partida extra" #: report/templates/report/inventree_purchase_order_report.html:72 #: report/templates/report/inventree_sales_order_report.html:72 @@ -9030,7 +9024,7 @@ msgstr "" #: templates/js/translated/sales_order.js:1732 #: templates/js/translated/stock.js:596 msgid "Serial Number" -msgstr "" +msgstr "Número de serie" #: report/templates/report/inventree_stock_location_report.html:97 msgid "Stock location items" @@ -9038,41 +9032,41 @@ msgstr "" #: report/templates/report/inventree_test_report.html:21 msgid "Stock Item Test Report" -msgstr "" +msgstr "Artículo Stock Informe de prueba" #: report/templates/report/inventree_test_report.html:97 msgid "Test Results" -msgstr "" +msgstr "Resultados de la Prueba" #: report/templates/report/inventree_test_report.html:102 #: templates/js/translated/stock.js:1495 msgid "Test" -msgstr "" +msgstr "Prueba" #: report/templates/report/inventree_test_report.html:103 stock/models.py:2457 msgid "Result" -msgstr "" +msgstr "Resultado" #: report/templates/report/inventree_test_report.html:129 msgid "Pass" -msgstr "" +msgstr "Pasada" #: report/templates/report/inventree_test_report.html:131 msgid "Fail" -msgstr "" +msgstr "Fallo" #: report/templates/report/inventree_test_report.html:138 msgid "No result (required)" -msgstr "" +msgstr "Ningún resultado (requerido)" #: report/templates/report/inventree_test_report.html:140 msgid "No result" -msgstr "" +msgstr "Sin resultados" #: report/templates/report/inventree_test_report.html:153 #: stock/serializers.py:591 stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" -msgstr "" +msgstr "Elementos instalados" #: report/templates/report/inventree_test_report.html:167 stock/admin.py:161 #: templates/js/translated/stock.js:700 templates/js/translated/stock.js:871 @@ -9098,24 +9092,24 @@ msgstr "" #: stock/admin.py:51 stock/admin.py:171 msgid "Location ID" -msgstr "" +msgstr "ID de Ubicación" #: stock/admin.py:63 stock/templates/stock/location.html:131 #: stock/templates/stock/location.html:137 msgid "Location Path" -msgstr "" +msgstr "Ruta de Ubicación" #: stock/admin.py:148 msgid "Stock Item ID" -msgstr "" +msgstr "ID del artículo de almacén" #: stock/admin.py:167 msgid "Status Code" -msgstr "" +msgstr "Código de estado" #: stock/admin.py:179 msgid "Supplier Part ID" -msgstr "" +msgstr "ID Parte del Proveedor" #: stock/admin.py:184 msgid "Supplier Part SKU" @@ -9123,36 +9117,36 @@ msgstr "" #: stock/admin.py:189 msgid "Supplier ID" -msgstr "" +msgstr "ID de proveedor" #: stock/admin.py:195 msgid "Supplier Name" -msgstr "" +msgstr "Nombre del proveedor" #: stock/admin.py:200 msgid "Customer ID" -msgstr "" +msgstr "ID de cliente" #: stock/admin.py:205 stock/models.py:805 #: stock/templates/stock/item_base.html:354 msgid "Installed In" -msgstr "" +msgstr "Instalado en" #: stock/admin.py:210 msgid "Build ID" -msgstr "" +msgstr "ID de construcción" #: stock/admin.py:220 msgid "Sales Order ID" -msgstr "" +msgstr "ID de orden de venta" #: stock/admin.py:225 msgid "Purchase Order ID" -msgstr "" +msgstr "ID de orden de compra" #: stock/admin.py:240 msgid "Review Needed" -msgstr "" +msgstr "Revisión necesaria" #: stock/admin.py:245 msgid "Delete on Deplete" @@ -9162,7 +9156,7 @@ msgstr "" #: stock/templates/stock/item_base.html:433 #: templates/js/translated/stock.js:2230 users/models.py:124 msgid "Expiry Date" -msgstr "" +msgstr "Fecha de Expiración" #: stock/api.py:312 msgid "Filter by location depth" @@ -9186,7 +9180,7 @@ msgstr "" #: stock/api.py:617 templates/js/translated/table_filters.js:427 msgid "External Location" -msgstr "" +msgstr "Ubicación externa" #: stock/api.py:805 msgid "Part Tree" @@ -9204,15 +9198,15 @@ msgstr "" #: stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" -msgstr "" +msgstr "Desactualizado" #: stock/api.py:929 msgid "Quantity is required" -msgstr "" +msgstr "Cantidad requerida" #: stock/api.py:935 msgid "Valid part must be supplied" -msgstr "" +msgstr "Debe suministrarse una parte válida" #: stock/api.py:966 msgid "The given supplier part does not exist" @@ -9242,22 +9236,22 @@ msgstr "" #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" -msgstr "" +msgstr "Ubicación de Stock" #: stock/models.py:126 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 "" +msgstr "Ubicaciones de Stock" #: stock/models.py:168 stock/models.py:948 #: stock/templates/stock/item_base.html:247 msgid "Owner" -msgstr "" +msgstr "Propietario" #: stock/models.py:169 stock/models.py:949 msgid "Select Owner" -msgstr "" +msgstr "Seleccionar Propietario" #: stock/models.py:177 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." @@ -9266,7 +9260,7 @@ msgstr "" #: stock/models.py:184 templates/js/translated/stock.js:2781 #: templates/js/translated/table_filters.js:243 msgid "External" -msgstr "" +msgstr "Externo" #: stock/models.py:185 msgid "This is an external stock location" @@ -9300,71 +9294,71 @@ msgstr "" #: stock/models.py:696 stock/models.py:709 msgid "Quantity must be 1 for item with a serial number" -msgstr "" +msgstr "La cantidad debe ser 1 para el artículo con un número de serie" #: stock/models.py:699 msgid "Serial number cannot be set if quantity greater than 1" -msgstr "" +msgstr "Número de serie no se puede establecer si la cantidad es mayor que 1" #: stock/models.py:723 msgid "Item cannot belong to itself" -msgstr "" +msgstr "El objeto no puede pertenecer a sí mismo" #: stock/models.py:728 msgid "Item must have a build reference if is_building=True" -msgstr "" +msgstr "El artículo debe tener una referencia de construcción si is_building=True" #: stock/models.py:741 msgid "Build reference does not point to the same part object" -msgstr "" +msgstr "La referencia de la construcción no apunta al mismo objeto de parte" #: stock/models.py:757 msgid "Parent Stock Item" -msgstr "" +msgstr "Artículo de stock padre" #: stock/models.py:769 msgid "Base part" -msgstr "" +msgstr "Parte base" #: stock/models.py:779 msgid "Select a matching supplier part for this stock item" -msgstr "" +msgstr "Seleccione una parte del proveedor correspondiente para este artículo de stock" #: stock/models.py:791 msgid "Where is this stock item located?" -msgstr "" +msgstr "¿Dónde se encuentra este artículo de stock?" #: stock/models.py:799 stock/serializers.py:1542 msgid "Packaging this stock item is stored in" -msgstr "" +msgstr "Empaquetar este artículo de stock se almacena en" #: stock/models.py:810 msgid "Is this item installed in another item?" -msgstr "" +msgstr "¿Está este artículo instalado en otro artículo?" #: stock/models.py:829 msgid "Serial number for this item" -msgstr "" +msgstr "Número de serie para este artículo" #: stock/models.py:843 stock/serializers.py:1525 msgid "Batch code for this stock item" -msgstr "" +msgstr "Código de lote para este artículo de stock" #: stock/models.py:848 msgid "Stock Quantity" -msgstr "" +msgstr "Cantidad de Stock" #: stock/models.py:858 msgid "Source Build" -msgstr "" +msgstr "Build de origen" #: stock/models.py:861 msgid "Build for this stock item" -msgstr "" +msgstr "Build para este item de stock" #: stock/models.py:868 stock/templates/stock/item_base.html:363 msgid "Consumed By" -msgstr "" +msgstr "Consumido por" #: stock/models.py:871 msgid "Build order which consumed this stock item" @@ -9372,43 +9366,43 @@ msgstr "" #: stock/models.py:880 msgid "Source Purchase Order" -msgstr "" +msgstr "Orden de compra de origen" #: stock/models.py:884 msgid "Purchase order for this stock item" -msgstr "" +msgstr "Orden de compra para este artículo de stock" #: stock/models.py:890 msgid "Destination Sales Order" -msgstr "" +msgstr "Orden de venta de destino" #: stock/models.py:901 msgid "Expiry date for stock item. Stock will be considered expired after this date" -msgstr "" +msgstr "Fecha de caducidad del artículo de stock. El stock se considerará caducado después de esta fecha" #: stock/models.py:919 msgid "Delete on deplete" -msgstr "" +msgstr "Eliminar al agotar" #: stock/models.py:920 msgid "Delete this Stock Item when stock is depleted" -msgstr "" +msgstr "Eliminar este artículo de stock cuando se agoten las existencias" #: stock/models.py:940 msgid "Single unit purchase price at time of purchase" -msgstr "" +msgstr "Precio de compra único en el momento de la compra" #: stock/models.py:971 msgid "Converted to part" -msgstr "" +msgstr "Convertido a parte" #: stock/models.py:1487 msgid "Part is not set as trackable" -msgstr "" +msgstr "La parte no está establecida como rastreable" #: stock/models.py:1493 msgid "Quantity must be integer" -msgstr "" +msgstr "Cantidad debe ser un entero" #: stock/models.py:1501 #, python-brace-format @@ -9417,15 +9411,15 @@ msgstr "" #: stock/models.py:1507 msgid "Serial numbers must be a list of integers" -msgstr "" +msgstr "Los números de serie deben ser una lista de enteros" #: stock/models.py:1512 msgid "Quantity does not match serial numbers" -msgstr "" +msgstr "La cantidad no coincide con los números de serie" #: stock/models.py:1520 stock/serializers.py:718 msgid "Serial numbers already exist" -msgstr "" +msgstr "Números de serie ya existen" #: stock/models.py:1617 msgid "Test template does not exist" @@ -9433,47 +9427,47 @@ msgstr "" #: stock/models.py:1635 msgid "Stock item has been assigned to a sales order" -msgstr "" +msgstr "Artículo de stock ha sido asignado a un pedido de venta" #: stock/models.py:1639 msgid "Stock item is installed in another item" -msgstr "" +msgstr "Artículo de stock está instalado en otro artículo" #: stock/models.py:1642 msgid "Stock item contains other items" -msgstr "" +msgstr "Artículo de stock contiene otros artículos" #: stock/models.py:1645 msgid "Stock item has been assigned to a customer" -msgstr "" +msgstr "Artículo de stock ha sido asignado a un cliente" #: stock/models.py:1648 msgid "Stock item is currently in production" -msgstr "" +msgstr "El artículo de stock está en producción" #: stock/models.py:1651 msgid "Serialized stock cannot be merged" -msgstr "" +msgstr "Stock serializado no puede ser combinado" #: stock/models.py:1658 stock/serializers.py:1431 msgid "Duplicate stock items" -msgstr "" +msgstr "Artículos de Stock Duplicados" #: stock/models.py:1662 msgid "Stock items must refer to the same part" -msgstr "" +msgstr "Los artículos de stock deben referirse a la misma parte" #: stock/models.py:1670 msgid "Stock items must refer to the same supplier part" -msgstr "" +msgstr "Los artículos de stock deben referirse a la misma parte del proveedor" #: stock/models.py:1675 msgid "Stock status codes must match" -msgstr "" +msgstr "Los códigos de estado del stock deben coincidir" #: stock/models.py:1936 msgid "StockItem cannot be moved as it is not in stock" -msgstr "" +msgstr "Stock no se puede mover porque no está en stock" #: stock/models.py:2317 msgid "Stock Item Tracking" @@ -9481,7 +9475,7 @@ msgstr "" #: stock/models.py:2350 msgid "Entry notes" -msgstr "" +msgstr "Notas de entrada" #: stock/models.py:2390 msgid "Stock Item Test Result" @@ -9489,11 +9483,11 @@ msgstr "" #: stock/models.py:2423 msgid "Value must be provided for this test" -msgstr "" +msgstr "Debe proporcionarse un valor para esta prueba" #: stock/models.py:2428 msgid "Attachment must be uploaded for this test" -msgstr "" +msgstr "El archivo adjunto debe ser subido para esta prueba" #: stock/models.py:2433 msgid "Invalid value for this test" @@ -9501,19 +9495,19 @@ msgstr "" #: stock/models.py:2457 msgid "Test result" -msgstr "" +msgstr "Resultado de la prueba" #: stock/models.py:2464 msgid "Test output value" -msgstr "" +msgstr "Valor de salida de prueba" #: stock/models.py:2472 msgid "Test result attachment" -msgstr "" +msgstr "Adjunto de resultados de prueba" #: stock/models.py:2476 msgid "Test notes" -msgstr "" +msgstr "Notas de prueba" #: stock/models.py:2484 templates/js/translated/stock.js:1548 msgid "Test station" @@ -9593,11 +9587,11 @@ msgstr "" #: stock/serializers.py:320 msgid "Serial number is too large" -msgstr "" +msgstr "El número de serie es demasiado grande" #: stock/serializers.py:449 stock/templates/stock/item_base.html:193 msgid "Parent Item" -msgstr "" +msgstr "Elemento padre" #: stock/serializers.py:450 msgid "Parent stock item" @@ -9615,11 +9609,11 @@ msgstr "" #: stock/serializers.py:588 stock/templates/stock/item_base.html:437 #: templates/js/translated/table_filters.js:435 users/models.py:174 msgid "Expired" -msgstr "" +msgstr "Expirado" #: stock/serializers.py:594 stock/templates/stock/stock_sidebar.html:20 msgid "Child Items" -msgstr "" +msgstr "Elementos secundarios" #: stock/serializers.py:598 msgid "Tracking Items" @@ -9639,28 +9633,28 @@ msgstr "" #: stock/serializers.py:653 msgid "Enter number of stock items to serialize" -msgstr "" +msgstr "Introduzca el número de artículos de stock para serializar" #: stock/serializers.py:666 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" -msgstr "" +msgstr "La cantidad no debe exceder la cantidad disponible de stock ({q})" #: stock/serializers.py:673 msgid "Enter serial numbers for new items" -msgstr "" +msgstr "Introduzca números de serie para nuevos artículos" #: stock/serializers.py:684 stock/serializers.py:1388 stock/serializers.py:1644 msgid "Destination stock location" -msgstr "" +msgstr "Ubicación de stock de destino" #: stock/serializers.py:691 msgid "Optional note field" -msgstr "" +msgstr "Campo de nota opcional" #: stock/serializers.py:701 msgid "Serial numbers cannot be assigned to this part" -msgstr "" +msgstr "Los números de serie no se pueden asignar a esta parte" #: stock/serializers.py:756 msgid "Select stock item to install" @@ -9677,7 +9671,7 @@ msgstr "" #: stock/serializers.py:769 stock/serializers.py:849 stock/serializers.py:945 #: stock/serializers.py:995 msgid "Add transaction note (optional)" -msgstr "" +msgstr "Añadir nota de transacción (opcional)" #: stock/serializers.py:777 msgid "Quantity to install must be at least 1" @@ -9728,7 +9722,7 @@ msgstr "" #: stock/templates/stock/location.html:222 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" -msgstr "" +msgstr "Sub-ubicación" #: stock/serializers.py:1149 templates/js/translated/stock.js:152 msgid "Parent stock location" @@ -9736,55 +9730,55 @@ msgstr "" #: stock/serializers.py:1260 msgid "Part must be salable" -msgstr "" +msgstr "La parte debe ser vendible" #: stock/serializers.py:1264 msgid "Item is allocated to a sales order" -msgstr "" +msgstr "El artículo está asignado a una orden de venta" #: stock/serializers.py:1268 msgid "Item is allocated to a build order" -msgstr "" +msgstr "El artículo está asignado a una orden de creación" #: stock/serializers.py:1292 msgid "Customer to assign stock items" -msgstr "" +msgstr "Cliente para asignar artículos de stock" #: stock/serializers.py:1298 msgid "Selected company is not a customer" -msgstr "" +msgstr "La empresa seleccionada no es un cliente" #: stock/serializers.py:1306 msgid "Stock assignment notes" -msgstr "" +msgstr "Notas de asignación de stock" #: stock/serializers.py:1316 stock/serializers.py:1570 msgid "A list of stock items must be provided" -msgstr "" +msgstr "Debe proporcionarse una lista de artículos de stock" #: stock/serializers.py:1395 msgid "Stock merging notes" -msgstr "" +msgstr "Notas de fusión de stock" #: stock/serializers.py:1400 msgid "Allow mismatched suppliers" -msgstr "" +msgstr "Permitir proveedores no coincidentes" #: stock/serializers.py:1401 msgid "Allow stock items with different supplier parts to be merged" -msgstr "" +msgstr "Permitir fusionar artículos de stock con diferentes partes de proveedor" #: stock/serializers.py:1406 msgid "Allow mismatched status" -msgstr "" +msgstr "Permitir estado no coincidente" #: stock/serializers.py:1407 msgid "Allow stock items with different status codes to be merged" -msgstr "" +msgstr "Permitir fusionar artículos de stock con diferentes códigos de estado" #: stock/serializers.py:1417 msgid "At least two stock items must be provided" -msgstr "" +msgstr "Debe proporcionar al menos dos artículos de stock" #: stock/serializers.py:1484 msgid "No Change" @@ -9792,7 +9786,7 @@ msgstr "" #: stock/serializers.py:1513 msgid "StockItem primary key value" -msgstr "" +msgstr "Valor de clave primaria de Stock" #: stock/serializers.py:1532 msgid "Stock item status code" @@ -9800,7 +9794,7 @@ msgstr "" #: stock/serializers.py:1560 msgid "Stock transaction notes" -msgstr "" +msgstr "Notas de transacción de stock" #: stock/status_codes.py:11 msgid "OK" @@ -9808,168 +9802,168 @@ msgstr "" #: stock/status_codes.py:12 msgid "Attention needed" -msgstr "" +msgstr "Atención necesaria" #: stock/status_codes.py:13 msgid "Damaged" -msgstr "" +msgstr "Dañado" #: stock/status_codes.py:14 msgid "Destroyed" -msgstr "" +msgstr "Destruido" #: stock/status_codes.py:15 msgid "Rejected" -msgstr "" +msgstr "Rechazado" #: stock/status_codes.py:19 msgid "Quarantined" -msgstr "" +msgstr "En cuarentena" #: stock/status_codes.py:40 msgid "Legacy stock tracking entry" -msgstr "" +msgstr "Entrada antigua de rastreo de stock" #: stock/status_codes.py:42 templates/js/translated/stock.js:544 msgid "Stock item created" -msgstr "" +msgstr "Artículo de stock creado" #: stock/status_codes.py:45 msgid "Edited stock item" -msgstr "" +msgstr "Artículo de almacén editado" #: stock/status_codes.py:46 msgid "Assigned serial number" -msgstr "" +msgstr "Número de serie asignado" #: stock/status_codes.py:49 msgid "Stock counted" -msgstr "" +msgstr "Stock contado" #: stock/status_codes.py:50 msgid "Stock manually added" -msgstr "" +msgstr "Stock añadido manualmente" #: stock/status_codes.py:51 msgid "Stock manually removed" -msgstr "" +msgstr "Stock eliminado manualmente" #: stock/status_codes.py:54 msgid "Location changed" -msgstr "" +msgstr "Ubicación cambiada" #: stock/status_codes.py:55 msgid "Stock updated" -msgstr "" +msgstr "Existencia actualizada" #: stock/status_codes.py:58 msgid "Installed into assembly" -msgstr "" +msgstr "Instalado en el ensamblaje" #: stock/status_codes.py:59 msgid "Removed from assembly" -msgstr "" +msgstr "Retirado del ensamblaje" #: stock/status_codes.py:61 msgid "Installed component item" -msgstr "" +msgstr "Artículo del componente instalado" #: stock/status_codes.py:62 msgid "Removed component item" -msgstr "" +msgstr "Elemento de componente eliminado" #: stock/status_codes.py:65 msgid "Split from parent item" -msgstr "" +msgstr "Separar del artículo principal" #: stock/status_codes.py:66 msgid "Split child item" -msgstr "" +msgstr "Dividir artículo secundario" #: stock/status_codes.py:69 templates/js/translated/stock.js:1858 msgid "Merged stock items" -msgstr "" +msgstr "Artículos de stock combinados" #: stock/status_codes.py:72 msgid "Converted to variant" -msgstr "" +msgstr "Convertir a variante" #: stock/status_codes.py:75 msgid "Build order output created" -msgstr "" +msgstr "Trabajo de ensamblaje creado" #: stock/status_codes.py:76 msgid "Build order output completed" -msgstr "" +msgstr "Construir orden de salida completado" #: stock/status_codes.py:77 msgid "Build order output rejected" -msgstr "" +msgstr "Orden de ensamble rechazada" #: stock/status_codes.py:78 templates/js/translated/stock.js:1764 msgid "Consumed by build order" -msgstr "" +msgstr "Consumido por orden de construcción" #: stock/status_codes.py:81 msgid "Shipped against Sales Order" -msgstr "" +msgstr "Enviado contra orden de venta" #: stock/status_codes.py:84 msgid "Received against Purchase Order" -msgstr "" +msgstr "Recibido contra la orden de compra" #: stock/status_codes.py:87 msgid "Returned against Return Order" -msgstr "" +msgstr "Devuelto contra orden de devolución" #: stock/status_codes.py:90 templates/js/translated/table_filters.js:375 msgid "Sent to customer" -msgstr "" +msgstr "Enviar al cliente" #: stock/status_codes.py:91 msgid "Returned from customer" -msgstr "" +msgstr "Devolución del cliente" #: stock/templates/stock/item.html:17 msgid "Stock Tracking Information" -msgstr "" +msgstr "Información de Seguimiento de Stock" #: stock/templates/stock/item.html:63 msgid "Child Stock Items" -msgstr "" +msgstr "Elementos de Stock Hijos" #: stock/templates/stock/item.html:72 msgid "This stock item does not have any child items" -msgstr "" +msgstr "Este artículo de stock no tiene ningún artículo secundario" #: stock/templates/stock/item.html:81 #: stock/templates/stock/stock_sidebar.html:12 msgid "Test Data" -msgstr "" +msgstr "Datos de Prueba" #: stock/templates/stock/item.html:85 stock/templates/stock/item_base.html:65 msgid "Test Report" -msgstr "" +msgstr "Informe de Prueba" #: stock/templates/stock/item.html:89 stock/templates/stock/item.html:276 msgid "Delete Test Data" -msgstr "" +msgstr "Eliminar Datos de Prueba" #: stock/templates/stock/item.html:93 msgid "Add Test Data" -msgstr "" +msgstr "Añadir Datos de Prueba" #: stock/templates/stock/item.html:125 msgid "Stock Item Notes" -msgstr "" +msgstr "Notas del artículo de stock" #: stock/templates/stock/item.html:140 msgid "Installed Stock Items" -msgstr "" +msgstr "Elementos de Stock instalados" #: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3271 msgid "Install Stock Item" -msgstr "" +msgstr "Instalar artículo de stock" #: stock/templates/stock/item.html:264 msgid "Delete all test results for this stock item" @@ -9985,100 +9979,100 @@ msgstr "" #: stock/templates/stock/item_base.html:51 msgid "Scan to Location" -msgstr "" +msgstr "Escanear a la ubicación" #: stock/templates/stock/item_base.html:59 #: stock/templates/stock/location.html:70 #: templates/js/translated/filters.js:431 msgid "Printing actions" -msgstr "" +msgstr "Acciones de impresión" #: stock/templates/stock/item_base.html:75 msgid "Stock adjustment actions" -msgstr "" +msgstr "Acciones de ajuste de stock" #: stock/templates/stock/item_base.html:79 #: stock/templates/stock/location.html:90 templates/js/translated/stock.js:1824 msgid "Count stock" -msgstr "" +msgstr "Contar stock" #: stock/templates/stock/item_base.html:81 #: templates/js/translated/stock.js:1806 msgid "Add stock" -msgstr "" +msgstr "Añadir stock" #: stock/templates/stock/item_base.html:82 #: templates/js/translated/stock.js:1815 msgid "Remove stock" -msgstr "" +msgstr "Eliminar stock" #: stock/templates/stock/item_base.html:85 msgid "Serialize stock" -msgstr "" +msgstr "Serializar stock" #: stock/templates/stock/item_base.html:88 #: stock/templates/stock/location.html:96 templates/js/translated/stock.js:1833 msgid "Transfer stock" -msgstr "" +msgstr "Transferir stock" #: stock/templates/stock/item_base.html:91 #: templates/js/translated/stock.js:1887 msgid "Assign to customer" -msgstr "" +msgstr "Asignar a cliente" #: stock/templates/stock/item_base.html:94 msgid "Return to stock" -msgstr "" +msgstr "Regresar al stock" #: stock/templates/stock/item_base.html:97 msgid "Uninstall stock item" -msgstr "" +msgstr "Desinstalar artículo de stock" #: stock/templates/stock/item_base.html:97 msgid "Uninstall" -msgstr "" +msgstr "Desinstalar" #: stock/templates/stock/item_base.html:101 msgid "Install stock item" -msgstr "" +msgstr "Instalar artículo de stock" #: stock/templates/stock/item_base.html:101 msgid "Install" -msgstr "" +msgstr "Instalar" #: stock/templates/stock/item_base.html:115 msgid "Convert to variant" -msgstr "" +msgstr "Convertir a variante" #: stock/templates/stock/item_base.html:118 msgid "Duplicate stock item" -msgstr "" +msgstr "Duplicar artículo" #: stock/templates/stock/item_base.html:120 msgid "Edit stock item" -msgstr "" +msgstr "Editar artículo de almacén" #: stock/templates/stock/item_base.html:123 msgid "Delete stock item" -msgstr "" +msgstr "Eliminar artículo de stock" #: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 #: templates/js/translated/build.js:2123 templates/navbar.html:38 msgid "Build" -msgstr "" +msgstr "Construcción o Armado" #: stock/templates/stock/item_base.html:211 msgid "No manufacturer set" -msgstr "" +msgstr "Ningún fabricante establecido" #: stock/templates/stock/item_base.html:251 msgid "You are not in the list of owners of this item. This stock item cannot be edited." -msgstr "" +msgstr "No estás en la lista de propietarios de este artículo. Este artículo de stock no puede ser editado." #: stock/templates/stock/item_base.html:252 #: stock/templates/stock/location.html:149 msgid "Read only" -msgstr "" +msgstr "Solo lectura" #: stock/templates/stock/item_base.html:265 msgid "This stock item is unavailable" @@ -10086,19 +10080,19 @@ msgstr "" #: stock/templates/stock/item_base.html:271 msgid "This stock item is in production and cannot be edited." -msgstr "" +msgstr "Este artículo de stock está en producción y no puede ser editado." #: stock/templates/stock/item_base.html:272 msgid "Edit the stock item from the build view." -msgstr "" +msgstr "Editar el artículo de stock desde la vista de construcción." #: stock/templates/stock/item_base.html:287 msgid "This stock item is allocated to Sales Order" -msgstr "" +msgstr "Este artículo de stock está asignado a la orden de venta" #: stock/templates/stock/item_base.html:295 msgid "This stock item is allocated to Build Order" -msgstr "" +msgstr "Este artículo de stock está asignado al orden de construcción" #: stock/templates/stock/item_base.html:311 msgid "This stock item is serialized. It has a unique serial number and the quantity cannot be adjusted" @@ -10106,50 +10100,50 @@ msgstr "" #: stock/templates/stock/item_base.html:317 msgid "previous page" -msgstr "" +msgstr "página anterior" #: stock/templates/stock/item_base.html:317 msgid "Navigate to previous serial number" -msgstr "" +msgstr "Navegar al número de serie anterior" #: stock/templates/stock/item_base.html:326 msgid "next page" -msgstr "" +msgstr "página siguiente" #: stock/templates/stock/item_base.html:326 msgid "Navigate to next serial number" -msgstr "" +msgstr "Navegar al siguiente número de serie" #: stock/templates/stock/item_base.html:340 msgid "Available Quantity" -msgstr "" +msgstr "Cantidad disponible" #: stock/templates/stock/item_base.html:398 #: templates/js/translated/build.js:2380 msgid "No location set" -msgstr "" +msgstr "Ubicación no establecida" #: stock/templates/stock/item_base.html:413 msgid "Tests" -msgstr "" +msgstr "Pruebas" #: stock/templates/stock/item_base.html:419 msgid "This stock item has not passed all required tests" -msgstr "" +msgstr "Este artículo de stock no ha pasado todas las pruebas requeridas" #: stock/templates/stock/item_base.html:437 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" -msgstr "" +msgstr "Este ítem expiró el %(item.expiry_date)s" #: stock/templates/stock/item_base.html:439 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" -msgstr "" +msgstr "Este ítem expira el %(item.expiry_date)s" #: stock/templates/stock/item_base.html:455 msgid "No stocktake performed" -msgstr "" +msgstr "Ningún inventario realizado" #: stock/templates/stock/item_base.html:504 #: templates/js/translated/stock.js:1952 @@ -10170,15 +10164,15 @@ msgstr "" #: stock/templates/stock/item_base.html:611 msgid "Select one of the part variants listed below." -msgstr "" +msgstr "Seleccione una de las variantes de parte listadas a continuación." #: stock/templates/stock/item_base.html:614 msgid "Warning" -msgstr "" +msgstr "Advertencia" #: stock/templates/stock/item_base.html:615 msgid "This action cannot be easily undone" -msgstr "" +msgstr "Esta acción no se puede deshacer fácilmente" #: stock/templates/stock/item_base.html:623 msgid "Convert Stock Item" @@ -10190,11 +10184,11 @@ msgstr "" #: stock/templates/stock/item_serialize.html:5 msgid "Create serialized items from this stock item." -msgstr "" +msgstr "Crear artículos serializados a partir de este artículo de stock." #: stock/templates/stock/item_serialize.html:7 msgid "Select quantity to serialize, and unique serial numbers." -msgstr "" +msgstr "Seleccione la cantidad para serializar y números de serie únicos." #: stock/templates/stock/location.html:38 msgid "Perform stocktake for this stock location" @@ -10218,7 +10212,7 @@ msgstr "" #: stock/templates/stock/location.html:64 msgid "Scan In Container" -msgstr "" +msgstr "Escanear en contenedor" #: stock/templates/stock/location.html:75 msgid "Print Location Report" @@ -10226,27 +10220,27 @@ msgstr "" #: stock/templates/stock/location.html:104 msgid "Location actions" -msgstr "" +msgstr "Acciones de ubicación" #: stock/templates/stock/location.html:106 msgid "Edit location" -msgstr "" +msgstr "Editar ubicación" #: stock/templates/stock/location.html:108 msgid "Delete location" -msgstr "" +msgstr "Eliminar ubicación" #: stock/templates/stock/location.html:138 msgid "Top level stock location" -msgstr "" +msgstr "Ubicación de stock superior" #: stock/templates/stock/location.html:144 msgid "Location Owner" -msgstr "" +msgstr "Propietario de la ubicación" #: stock/templates/stock/location.html:148 msgid "You are not in the list of owners of this location. This stock location cannot be edited." -msgstr "" +msgstr "No estás en la lista de propietarios de esta ubicación. Esta ubicación de stock no puede ser editada." #: stock/templates/stock/location.html:176 msgid "Location Type" @@ -10254,11 +10248,11 @@ msgstr "" #: stock/templates/stock/location.html:226 msgid "Create new stock location" -msgstr "" +msgstr "Crear nueva ubicación de stock" #: stock/templates/stock/location.html:227 msgid "New Location" -msgstr "" +msgstr "Nueva Ubicación" #: stock/templates/stock/location.html:299 #: templates/js/translated/stock.js:2572 @@ -10279,48 +10273,48 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:16 msgid "Loading..." -msgstr "" +msgstr "Cargando..." #: stock/templates/stock/stock_sidebar.html:5 msgid "Stock Tracking" -msgstr "" +msgstr "Seguimiento de Stock" #: stock/templates/stock/stock_sidebar.html:8 msgid "Allocations" -msgstr "" +msgstr "Asignaciones" #: templates/403.html:6 templates/403.html:12 templates/403_csrf.html:7 msgid "Permission Denied" -msgstr "" +msgstr "Permiso Denegado" #: templates/403.html:15 msgid "You do not have permission to view this page." -msgstr "" +msgstr "No tiene permisos para ver esta página." #: templates/403_csrf.html:11 msgid "Authentication Failure" -msgstr "" +msgstr "Falla de autenticación" #: templates/403_csrf.html:14 msgid "You have been logged out from InvenTree." -msgstr "" +msgstr "Has cerrado sesión en InvenTree." #: templates/403_csrf.html:19 templates/InvenTree/settings/sidebar.html:29 #: templates/navbar.html:150 msgid "Login" -msgstr "" +msgstr "Iniciar sesión" #: templates/404.html:6 templates/404.html:12 msgid "Page Not Found" -msgstr "" +msgstr "Página No Encontrada" #: templates/404.html:15 msgid "The requested page does not exist" -msgstr "" +msgstr "La página solicitada no existe" #: templates/500.html:6 templates/500.html:12 msgid "Internal Server Error" -msgstr "" +msgstr "Error Interno Del Servidor" #: templates/500.html:15 #, python-format @@ -10329,19 +10323,19 @@ msgstr "" #: templates/500.html:16 msgid "Refer to the error log in the admin interface for further details" -msgstr "" +msgstr "Consulte el registro de errores en la interfaz de administración para más detalles" #: templates/503.html:11 templates/503.html:33 msgid "Site is in Maintenance" -msgstr "" +msgstr "El Sitio está en Mantenimiento" #: templates/503.html:39 msgid "The site is currently in maintenance and should be up again soon!" -msgstr "" +msgstr "El sitio está actualmente en mantenimiento y debería estar listo pronto!" #: templates/InvenTree/index.html:7 msgid "Index" -msgstr "" +msgstr "Índice" #: templates/InvenTree/index.html:39 msgid "Subscribed Parts" @@ -10413,29 +10407,29 @@ msgstr "" #: templates/InvenTree/notifications/history.html:9 msgid "Notification History" -msgstr "" +msgstr "Historial de notificaciones" #: templates/InvenTree/notifications/history.html:13 #: templates/InvenTree/notifications/history.html:14 #: templates/InvenTree/notifications/notifications.html:75 msgid "Delete Notifications" -msgstr "" +msgstr "Eliminar notificaciones" #: templates/InvenTree/notifications/inbox.html:9 msgid "Pending Notifications" -msgstr "" +msgstr "Notificaciones pendientes" #: templates/InvenTree/notifications/inbox.html:13 #: templates/InvenTree/notifications/inbox.html:14 msgid "Mark all as read" -msgstr "" +msgstr "Marcar todos como leidos" #: templates/InvenTree/notifications/notifications.html:10 #: templates/InvenTree/notifications/sidebar.html:5 #: templates/InvenTree/settings/sidebar.html:17 #: templates/InvenTree/settings/sidebar.html:37 templates/notifications.html:5 msgid "Notifications" -msgstr "" +msgstr "Notificaciones" #: templates/InvenTree/notifications/notifications.html:38 msgid "No unread notifications found" @@ -10447,7 +10441,7 @@ msgstr "" #: templates/InvenTree/notifications/notifications.html:65 msgid "Delete all read notifications" -msgstr "" +msgstr "Borrar todas las notificaciones leídas" #: templates/InvenTree/notifications/notifications.html:89 #: templates/js/translated/notification.js:85 @@ -10456,40 +10450,40 @@ msgstr "" #: templates/InvenTree/notifications/sidebar.html:8 msgid "Inbox" -msgstr "" +msgstr "Bandeja de Entrada" #: templates/InvenTree/notifications/sidebar.html:10 msgid "History" -msgstr "" +msgstr "Historial" #: templates/InvenTree/search.html:8 msgid "Search Results" -msgstr "" +msgstr "Resultados de Búsqueda" #: templates/InvenTree/settings/barcode.html:8 msgid "Barcode Settings" -msgstr "" +msgstr "Ajustes de Código de Barras" #: templates/InvenTree/settings/build.html:8 msgid "Build Order Settings" -msgstr "" +msgstr "Configuración de Pedido de Trabajo" #: templates/InvenTree/settings/category.html:7 msgid "Category Settings" -msgstr "" +msgstr "Ajustes de Categoría" #: templates/InvenTree/settings/global.html:8 msgid "Server Settings" -msgstr "" +msgstr "Configuración del Servidor" #: templates/InvenTree/settings/label.html:8 #: templates/InvenTree/settings/user_labels.html:9 msgid "Label Settings" -msgstr "" +msgstr "Ajustes de Etiqueta" #: templates/InvenTree/settings/login.html:8 msgid "Login Settings" -msgstr "" +msgstr "Configuración de Inicio de Sesión" #: templates/InvenTree/settings/login.html:15 msgid "Outgoing email has not been configured. Some login and sign-up features may not work correctly!" @@ -10498,25 +10492,25 @@ msgstr "" #: templates/InvenTree/settings/login.html:27 templates/account/signup.html:5 #: templates/socialaccount/signup.html:5 msgid "Signup" -msgstr "" +msgstr "Registrarse" #: templates/InvenTree/settings/login.html:36 msgid "Single Sign On" -msgstr "" +msgstr "Inicio de sesión único" #: templates/InvenTree/settings/mixins/settings.html:5 #: templates/InvenTree/settings/settings.html:12 templates/navbar.html:147 msgid "Settings" -msgstr "" +msgstr "Ajustes" #: templates/InvenTree/settings/mixins/urls.html:5 msgid "URLs" -msgstr "" +msgstr "Direcciones URL" #: templates/InvenTree/settings/mixins/urls.html:8 #, python-format msgid "The Base-URL for this plugin is %(base)s." -msgstr "" +msgstr "La URL base para este plugin es %(base)s." #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" @@ -10524,7 +10518,7 @@ msgstr "" #: templates/InvenTree/settings/mixins/urls.html:23 msgid "Open in new tab" -msgstr "" +msgstr "Abrir en una pestaña nueva" #: templates/InvenTree/settings/notifications.html:9 #: templates/InvenTree/settings/user_notifications.html:9 @@ -10537,19 +10531,19 @@ msgstr "" #: templates/InvenTree/settings/part.html:7 msgid "Part Settings" -msgstr "" +msgstr "Ajustes de Parte" #: templates/InvenTree/settings/part.html:43 msgid "Part Import" -msgstr "" +msgstr "Importar Parte" #: templates/InvenTree/settings/part.html:47 msgid "Import Part" -msgstr "" +msgstr "Importar Parte" #: templates/InvenTree/settings/part_parameters.html:20 msgid "Part Parameter Templates" -msgstr "" +msgstr "Plantillas de Parámetros de Partes" #: templates/InvenTree/settings/part_stocktake.html:7 msgid "Stocktake Settings" @@ -10566,102 +10560,102 @@ msgstr "" #: templates/InvenTree/settings/physical_units.html:12 msgid "Add Unit" -msgstr "" +msgstr "Añadir unidad" #: templates/InvenTree/settings/plugin.html:9 #: templates/InvenTree/settings/sidebar.html:64 msgid "Plugin Settings" -msgstr "" +msgstr "Ajustes del complemento" #: templates/InvenTree/settings/plugin.html:15 msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage." -msgstr "" +msgstr "Cambiar la configuración de abajo requiere reiniciar inmediatamente el servidor. No lo cambie mientras esté en uso activo." #: templates/InvenTree/settings/plugin.html:38 #: templates/InvenTree/settings/sidebar.html:66 msgid "Plugins" -msgstr "" +msgstr "Complementos" #: templates/InvenTree/settings/plugin.html:44 #: templates/InvenTree/settings/plugin.html:45 #: templates/js/translated/plugin.js:151 msgid "Install Plugin" -msgstr "" +msgstr "Instalar complemento" #: templates/InvenTree/settings/plugin.html:47 #: templates/InvenTree/settings/plugin.html:48 #: templates/js/translated/plugin.js:224 msgid "Reload Plugins" -msgstr "" +msgstr "Recargar Plugins" #: templates/InvenTree/settings/plugin.html:58 msgid "External plugins are not enabled for this InvenTree installation" -msgstr "" +msgstr "Los complementos externos no están habilitados para esta instalación de InvenTree" #: templates/InvenTree/settings/plugin.html:73 msgid "Plugin Error Stack" -msgstr "" +msgstr "Pila de error de complementos" #: templates/InvenTree/settings/plugin.html:82 msgid "Stage" -msgstr "" +msgstr "Etapa" #: templates/InvenTree/settings/plugin.html:84 #: templates/js/translated/notification.js:76 msgid "Message" -msgstr "" +msgstr "Mensaje" #: templates/InvenTree/settings/plugin_settings.html:16 msgid "Plugin information" -msgstr "" +msgstr "Información de Plugin" #: templates/InvenTree/settings/plugin_settings.html:47 msgid "no version information supplied" -msgstr "" +msgstr "no se proporcionó información de versión" #: templates/InvenTree/settings/plugin_settings.html:61 msgid "License" -msgstr "" +msgstr "Licencia" #: templates/InvenTree/settings/plugin_settings.html:70 msgid "The code information is pulled from the latest git commit for this plugin. It might not reflect official version numbers or information but the actual code running." -msgstr "" +msgstr "La información del código es extraída del último git commit para este plugin. Puede que no refleje los números de versión oficiales o la información, pero sí el código actual en ejecución." #: templates/InvenTree/settings/plugin_settings.html:76 msgid "Package information" -msgstr "" +msgstr "Información del paquete" #: templates/InvenTree/settings/plugin_settings.html:82 msgid "Installation method" -msgstr "" +msgstr "Método de instalación" #: templates/InvenTree/settings/plugin_settings.html:85 msgid "This plugin was installed as a package" -msgstr "" +msgstr "Este plugin fue instalado como un paquete" #: templates/InvenTree/settings/plugin_settings.html:87 msgid "This plugin was found in a local server path" -msgstr "" +msgstr "Este complemento fue encontrado en una ruta del servidor local" #: templates/InvenTree/settings/plugin_settings.html:93 msgid "Installation path" -msgstr "" +msgstr "Ruta de instalación" #: templates/InvenTree/settings/plugin_settings.html:100 #: templates/js/translated/plugin.js:68 #: templates/js/translated/table_filters.js:496 msgid "Builtin" -msgstr "" +msgstr "Integrado" #: templates/InvenTree/settings/plugin_settings.html:101 msgid "This is a builtin plugin which cannot be disabled" -msgstr "" +msgstr "Este es un complemento incorporado que no puede ser desactivado" #: templates/InvenTree/settings/plugin_settings.html:107 #: templates/js/translated/plugin.js:72 #: templates/js/translated/table_filters.js:500 msgid "Sample" -msgstr "" +msgstr "Muestra" #: templates/InvenTree/settings/plugin_settings.html:108 msgid "This is a sample plugin" @@ -10669,65 +10663,65 @@ msgstr "" #: templates/InvenTree/settings/plugin_settings.html:113 msgid "Commit Author" -msgstr "" +msgstr "Autor del Commit" #: templates/InvenTree/settings/plugin_settings.html:117 #: templates/about.html:36 msgid "Commit Date" -msgstr "" +msgstr "Fecha del Commit" #: templates/InvenTree/settings/plugin_settings.html:121 #: templates/about.html:29 msgid "Commit Hash" -msgstr "" +msgstr "Hash de Commit" #: templates/InvenTree/settings/plugin_settings.html:125 msgid "Commit Message" -msgstr "" +msgstr "Mensaje de Commit" #: templates/InvenTree/settings/po.html:7 msgid "Purchase Order Settings" -msgstr "" +msgstr "Ajustes de Orden de Compra" #: templates/InvenTree/settings/pricing.html:7 msgid "Pricing Settings" -msgstr "" +msgstr "Configuración de Precios" #: templates/InvenTree/settings/pricing.html:35 msgid "Exchange Rates" -msgstr "" +msgstr "Tipos de Cambio" #: templates/InvenTree/settings/pricing.html:39 msgid "Update Now" -msgstr "" +msgstr "Actualizar Ahora" #: templates/InvenTree/settings/pricing.html:47 #: templates/InvenTree/settings/pricing.html:51 msgid "Last Update" -msgstr "" +msgstr "Última Actualización" #: templates/InvenTree/settings/pricing.html:51 msgid "Never" -msgstr "" +msgstr "Nunca" #: templates/InvenTree/settings/project_codes.html:8 msgid "Project Code Settings" -msgstr "" +msgstr "Configuración del código de proyecto" #: templates/InvenTree/settings/project_codes.html:21 #: templates/InvenTree/settings/sidebar.html:33 msgid "Project Codes" -msgstr "" +msgstr "Códigos del proyecto" #: templates/InvenTree/settings/project_codes.html:25 #: templates/InvenTree/settings/settings_staff_js.html:216 msgid "New Project Code" -msgstr "" +msgstr "Nuevo código de proyecto" #: templates/InvenTree/settings/report.html:8 #: templates/InvenTree/settings/user_reporting.html:9 msgid "Report Settings" -msgstr "" +msgstr "Ajustes del Informe" #: templates/InvenTree/settings/returns.html:7 msgid "Return Order Settings" @@ -10735,11 +10729,11 @@ msgstr "" #: templates/InvenTree/settings/setting.html:31 msgid "No value set" -msgstr "" +msgstr "Ningún valor establecido" #: templates/InvenTree/settings/setting.html:46 msgid "Edit setting" -msgstr "" +msgstr "Editar ajustes" #: templates/InvenTree/settings/settings_js.html:58 msgid "Edit Plugin Setting" @@ -10766,7 +10760,7 @@ msgstr "" #: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 #: templates/js/translated/stock.js:245 users/models.py:406 msgid "Delete" -msgstr "" +msgstr "Eliminar" #: templates/InvenTree/settings/settings_staff_js.html:95 msgid "Edit Custom Unit" @@ -10858,55 +10852,55 @@ msgstr "" #: templates/InvenTree/settings/sidebar.html:6 #: templates/InvenTree/settings/user_settings.html:9 msgid "User Settings" -msgstr "" +msgstr "Configuración del Usuario" #: templates/InvenTree/settings/sidebar.html:9 msgid "Account" -msgstr "" +msgstr "Cuenta" #: templates/InvenTree/settings/sidebar.html:11 msgid "Display" -msgstr "" +msgstr "Mostrar" #: templates/InvenTree/settings/sidebar.html:13 msgid "Home Page" -msgstr "" +msgstr "Página de Inicio" #: templates/InvenTree/settings/sidebar.html:15 #: templates/js/translated/forms.js:2167 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" -msgstr "" +msgstr "Buscar" #: templates/InvenTree/settings/sidebar.html:19 #: templates/InvenTree/settings/sidebar.html:43 msgid "Reporting" -msgstr "" +msgstr "Informando" #: templates/InvenTree/settings/sidebar.html:24 msgid "Global Settings" -msgstr "" +msgstr "Configuración Global" #: templates/InvenTree/settings/sidebar.html:27 templates/stats.html:9 msgid "Server" -msgstr "" +msgstr "Servidor" #: templates/InvenTree/settings/sidebar.html:41 msgid "Labels" -msgstr "" +msgstr "Etiquetas" #: templates/InvenTree/settings/sidebar.html:45 msgid "Categories" -msgstr "" +msgstr "Categorías" #: templates/InvenTree/settings/so.html:7 msgid "Sales Order Settings" -msgstr "" +msgstr "Configuración de orden de venta" #: templates/InvenTree/settings/stock.html:7 msgid "Stock Settings" -msgstr "" +msgstr "Configuración de Stock" #: templates/InvenTree/settings/stock.html:34 msgid "Stock Location Types" @@ -10914,54 +10908,54 @@ msgstr "" #: templates/InvenTree/settings/user.html:13 msgid "Account Settings" -msgstr "" +msgstr "Configuración de la Cuenta" #: templates/InvenTree/settings/user.html:19 #: templates/account/password_reset_from_key.html:4 #: templates/account/password_reset_from_key.html:7 msgid "Change Password" -msgstr "" +msgstr "Cambiar Contraseña" #: templates/InvenTree/settings/user.html:55 msgid "The following email addresses are associated with your account:" -msgstr "" +msgstr "Las siguientes direcciones de correo electrónico están asociadas con tu cuenta:" #: templates/InvenTree/settings/user.html:76 msgid "Verified" -msgstr "" +msgstr "Verificado" #: templates/InvenTree/settings/user.html:78 msgid "Unverified" -msgstr "" +msgstr "Sin verificar" #: templates/InvenTree/settings/user.html:80 #: templates/js/translated/company.js:957 msgid "Primary" -msgstr "" +msgstr "Principal" #: templates/InvenTree/settings/user.html:86 msgid "Make Primary" -msgstr "" +msgstr "Hacer Principal" #: templates/InvenTree/settings/user.html:87 msgid "Re-send Verification" -msgstr "" +msgstr "Reenviar verificación" #: templates/InvenTree/settings/user.html:96 msgid "Warning:" -msgstr "" +msgstr "Advertencia:" #: templates/InvenTree/settings/user.html:97 msgid "You currently do not have any email address set up. You should really add an email address so you can receive notifications, reset your password, etc." -msgstr "" +msgstr "Actualmente no tiene ninguna dirección de correo electrónico configurada. Realmente deberías añadir una dirección de correo electrónico para que puedas recibir notificaciones, restablecer tu contraseña, etc." #: templates/InvenTree/settings/user.html:105 msgid "Add Email Address" -msgstr "" +msgstr "Añadir correo electrónico" #: templates/InvenTree/settings/user.html:110 msgid "Add Email" -msgstr "" +msgstr "Agregar Email" #: templates/InvenTree/settings/user.html:120 msgid "Multifactor" @@ -10969,7 +10963,7 @@ msgstr "" #: templates/InvenTree/settings/user.html:125 msgid "You have these factors available:" -msgstr "" +msgstr "Tienes estos factores disponibles:" #: templates/InvenTree/settings/user.html:135 msgid "TOTP" @@ -10977,65 +10971,65 @@ msgstr "" #: templates/InvenTree/settings/user.html:141 msgid "Static" -msgstr "" +msgstr "Estático" #: templates/InvenTree/settings/user.html:150 msgid "Multifactor authentication is not configured for your account" -msgstr "" +msgstr "La autenticación multifactor no está configurada para su cuenta" #: templates/InvenTree/settings/user.html:157 msgid "Change factors" -msgstr "" +msgstr "Cambiar factores" #: templates/InvenTree/settings/user.html:158 msgid "Setup multifactor" -msgstr "" +msgstr "Configurar factor múltiple" #: templates/InvenTree/settings/user.html:160 msgid "Remove multifactor" -msgstr "" +msgstr "Remover factor múltiple" #: templates/InvenTree/settings/user.html:171 msgid "Active Sessions" -msgstr "" +msgstr "Sesiones Activas" #: templates/InvenTree/settings/user.html:177 msgid "Log out active sessions (except this one)" -msgstr "" +msgstr "Cerrar sesiones activas (excepto esta)" #: templates/InvenTree/settings/user.html:178 msgid "Log Out Active Sessions" -msgstr "" +msgstr "Cerrar Sesiones Activas" #: templates/InvenTree/settings/user.html:187 msgid "unknown on unknown" -msgstr "" +msgstr "desconocido en desconocido" #: templates/InvenTree/settings/user.html:188 msgid "unknown" -msgstr "" +msgstr "desconocido" #: templates/InvenTree/settings/user.html:192 msgid "IP Address" -msgstr "" +msgstr "Dirección IP" #: templates/InvenTree/settings/user.html:193 msgid "Device" -msgstr "" +msgstr "Dispositivo" #: templates/InvenTree/settings/user.html:194 msgid "Last Activity" -msgstr "" +msgstr "Última Actividad" #: templates/InvenTree/settings/user.html:207 #, python-format msgid "%(time)s ago (this session)" -msgstr "" +msgstr "%(time)s atrás (esta sesión)" #: templates/InvenTree/settings/user.html:209 #, python-format msgid "%(time)s ago" -msgstr "" +msgstr "%(time)s atrás" #: templates/InvenTree/settings/user.html:223 msgid "Do you really want to remove the selected email address?" @@ -11043,44 +11037,44 @@ msgstr "" #: templates/InvenTree/settings/user_display.html:9 msgid "Display Settings" -msgstr "" +msgstr "Ajuste de Visualización" #: templates/InvenTree/settings/user_display.html:29 msgid "Theme Settings" -msgstr "" +msgstr "Configuración del Tema" #: templates/InvenTree/settings/user_display.html:39 msgid "Select theme" -msgstr "" +msgstr "Seleccionar tema" #: templates/InvenTree/settings/user_display.html:50 msgid "Set Theme" -msgstr "" +msgstr "Establecer tema" #: templates/InvenTree/settings/user_display.html:58 msgid "Language Settings" -msgstr "" +msgstr "Configuración de Idioma" #: templates/InvenTree/settings/user_display.html:67 msgid "Select language" -msgstr "" +msgstr "Seleccionar idioma" #: templates/InvenTree/settings/user_display.html:83 #, python-format msgid "%(lang_translated)s%% translated" -msgstr "" +msgstr "%(lang_translated)s%% traducido" #: templates/InvenTree/settings/user_display.html:85 msgid "No translations available" -msgstr "" +msgstr "No hay traducciones disponibles" #: templates/InvenTree/settings/user_display.html:92 msgid "Set Language" -msgstr "" +msgstr "Definir Idioma" #: templates/InvenTree/settings/user_display.html:95 msgid "Some languages are not complete" -msgstr "" +msgstr "Algunos idiomas no están completos" #: templates/InvenTree/settings/user_display.html:97 msgid "Show only sufficient" @@ -11088,67 +11082,67 @@ msgstr "" #: templates/InvenTree/settings/user_display.html:99 msgid "and hidden." -msgstr "" +msgstr "y oculto." #: templates/InvenTree/settings/user_display.html:99 msgid "Show them too" -msgstr "" +msgstr "Mostrar también" #: templates/InvenTree/settings/user_display.html:106 msgid "Help the translation efforts!" -msgstr "" +msgstr "¡Ayuda a los esfuerzos de traducción!" #: templates/InvenTree/settings/user_display.html:107 msgid "Native language translation of the web application is community contributed via crowdin. Contributions are welcomed and encouraged." -msgstr "" +msgstr "La aplicación web es traducida por una comunidad de voluntarios a través de crowdin. Tus contribuciones serán bienvenidas." #: templates/InvenTree/settings/user_display.html:108 msgid "InvenTree Translation Project" -msgstr "" +msgstr "Proyecto de traducción de InvenTree" #: templates/InvenTree/settings/user_homepage.html:9 msgid "Home Page Settings" -msgstr "" +msgstr "Ajustes de página de inicio" #: templates/InvenTree/settings/user_search.html:9 msgid "Search Settings" -msgstr "" +msgstr "Ajustes de Búsqueda" #: templates/InvenTree/settings/user_sso.html:9 msgid "Single Sign On Accounts" -msgstr "" +msgstr "Cuentas de inicio de sesión único" #: templates/InvenTree/settings/user_sso.html:16 msgid "You can sign in to your account using any of the following third party accounts:" -msgstr "" +msgstr "Puede iniciar sesión en su cuenta utilizando cualquiera de las siguientes cuentas de terceros:" #: templates/InvenTree/settings/user_sso.html:52 msgid "There are no social network accounts connected to this account." -msgstr "" +msgstr "No hay cuentas de redes sociales conectadas a esta cuenta." #: templates/InvenTree/settings/user_sso.html:58 msgid "Add SSO Account" -msgstr "" +msgstr "Añadir cuenta SSO" #: templates/InvenTree/settings/user_sso.html:67 msgid "Single Sign On is not enabled for this server" -msgstr "" +msgstr "El inicio de sesión único no está habilitado para este servidor" #: templates/about.html:9 msgid "InvenTree Version" -msgstr "" +msgstr "Versión de InvenTree" #: templates/about.html:14 msgid "Development Version" -msgstr "" +msgstr "Versión de Desarrollo" #: templates/about.html:17 msgid "Up to Date" -msgstr "" +msgstr "Actualizado" #: templates/about.html:19 msgid "Update Available" -msgstr "" +msgstr "Actualización Disponible" #: templates/about.html:43 msgid "Commit Branch" @@ -11156,143 +11150,143 @@ msgstr "" #: templates/about.html:49 msgid "InvenTree Documentation" -msgstr "" +msgstr "Documentación de InvenTree" #: templates/about.html:54 msgid "API Version" -msgstr "" +msgstr "Versión API" #: templates/about.html:59 msgid "Python Version" -msgstr "" +msgstr "Versión de Python" #: templates/about.html:64 msgid "Django Version" -msgstr "" +msgstr "Versión de Django" #: templates/about.html:69 msgid "View Code on GitHub" -msgstr "" +msgstr "Ver código en GitHub" #: templates/about.html:74 msgid "Credits" -msgstr "" +msgstr "Créditos" #: templates/about.html:79 msgid "Mobile App" -msgstr "" +msgstr "Aplicación Móvil" #: templates/about.html:84 msgid "Submit Bug Report" -msgstr "" +msgstr "Enviar Informe de Error" #: templates/about.html:91 templates/clip.html:4 #: templates/js/translated/helpers.js:589 msgid "copy to clipboard" -msgstr "" +msgstr "copiar al portapapeles" #: templates/about.html:91 msgid "copy version information" -msgstr "" +msgstr "copiar información de versión" #: templates/account/base.html:66 templates/navbar.html:17 msgid "InvenTree logo" -msgstr "" +msgstr "Logo de InvenTree" #: templates/account/email_confirm.html:6 #: templates/account/email_confirm.html:9 msgid "Confirm Email Address" -msgstr "" +msgstr "Confirmar Email" #: templates/account/email_confirm.html:15 #, python-format msgid "Please confirm that %(email)s is an email address for user %(user_display)s." -msgstr "" +msgstr "Confirme que %(email)s es una dirección de correo electrónico para el usuario %(user_display)s." #: templates/account/email_confirm.html:21 templates/js/translated/forms.js:774 msgid "Confirm" -msgstr "" +msgstr "Confirmar" #: templates/account/email_confirm.html:29 #, python-format msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request." -msgstr "" +msgstr "Este enlace de confirmación de correo electrónico ha caducado o no es válido. Por favor, envíe un nuevo correo electrónico de solicitud de confirmación." #: templates/account/login.html:6 templates/account/login.html:19 #: templates/account/login.html:40 templates/socialaccount/login.html:5 msgid "Sign In" -msgstr "" +msgstr "Ingresar" #: templates/account/login.html:23 msgid "Not a member?" -msgstr "" +msgstr "¿No es un miembro?" #: templates/account/login.html:25 templates/account/signup.html:11 #: templates/account/signup.html:22 templates/socialaccount/signup.html:8 #: templates/socialaccount/signup.html:23 msgid "Sign Up" -msgstr "" +msgstr "Registrarse" #: templates/account/login.html:47 msgid "Forgot Password?" -msgstr "" +msgstr "¿Ha olvidado la contraseña?" #: templates/account/login.html:55 msgid "or log in with" -msgstr "" +msgstr "o iniciar sesión con" #: templates/account/logout.html:5 templates/account/logout.html:8 #: templates/account/logout.html:20 msgid "Sign Out" -msgstr "" +msgstr "Cerrar Sesión" #: templates/account/logout.html:10 msgid "Are you sure you want to sign out?" -msgstr "" +msgstr "¿Está seguro de que desea salir?" #: templates/account/logout.html:27 templates/allauth_2fa/backup_tokens.html:35 #: templates/allauth_2fa/remove.html:24 templates/allauth_2fa/setup.html:45 msgid "Return to Site" -msgstr "" +msgstr "Volver al sitio" #: templates/account/password_reset.html:5 #: templates/account/password_reset.html:12 msgid "Password Reset" -msgstr "" +msgstr "Restablecer Contraseña" #: templates/account/password_reset.html:18 msgid "Forgotten your password? Enter your email address below, and we'll send you an email allowing you to reset it." -msgstr "" +msgstr "¿Olvidó su contraseña? Introduzca su dirección de correo electrónico a continuación y le enviaremos un correo electrónico que le permita restablecerla." #: templates/account/password_reset.html:23 msgid "Reset My Password" -msgstr "" +msgstr "Reestablecer mi Contraseña" #: templates/account/password_reset.html:27 templates/account/signup.html:37 msgid "This function is currently disabled. Please contact an administrator." -msgstr "" +msgstr "Esta función está actualmente deshabilitada. Por favor, póngase en contacto con un administrador." #: templates/account/password_reset_from_key.html:7 msgid "Bad Token" -msgstr "" +msgstr "Token Incorrecto" #: templates/account/password_reset_from_key.html:11 #, python-format msgid "The password reset link was invalid, possibly because it has already been used. Please request a new password reset." -msgstr "" +msgstr "El enlace de restablecimiento de contraseña no era válido, posiblemente porque ya ha sido utilizado. Por favor, solicite un nuevo restablecimiento de contraseña." #: templates/account/password_reset_from_key.html:18 msgid "Change password" -msgstr "" +msgstr "Cambiar contraseña" #: templates/account/password_reset_from_key.html:22 msgid "Your password is now changed." -msgstr "" +msgstr "Se ha cambiado la contraseña." #: templates/account/signup.html:13 #, python-format msgid "Already have an account? Then please sign in." -msgstr "" +msgstr "¿Ya tienes una cuenta? Entonces inicia sesión." #: templates/account/signup.html:28 msgid "Use a SSO-provider for signup" @@ -11315,23 +11309,23 @@ msgstr "" #: templates/admin_button.html:8 msgid "View in administration panel" -msgstr "" +msgstr "Ver en el panel de administración" #: templates/allauth_2fa/authenticate.html:5 msgid "Two-Factor Authentication" -msgstr "" +msgstr "Autenticación de dos factores" #: templates/allauth_2fa/authenticate.html:13 msgid "Authenticate" -msgstr "" +msgstr "Autenticar" #: templates/allauth_2fa/backup_tokens.html:6 msgid "Two-Factor Authentication Backup Tokens" -msgstr "" +msgstr "Tokens de autenticación de doble factor" #: templates/allauth_2fa/backup_tokens.html:17 msgid "Backup tokens have been generated, but are not revealed here for security reasons. Press the button below to generate new ones." -msgstr "" +msgstr "Se han generado tokens de copia de seguridad, pero no se revelan aquí por razones de seguridad. Pulse el botón de abajo para generar nuevos." #: templates/allauth_2fa/backup_tokens.html:20 msgid "No backup tokens are available. Press the button below to generate some." @@ -11339,31 +11333,31 @@ msgstr "" #: templates/allauth_2fa/backup_tokens.html:28 msgid "Generate Tokens" -msgstr "" +msgstr "Generar tokens" #: templates/allauth_2fa/remove.html:6 msgid "Disable Two-Factor Authentication" -msgstr "" +msgstr "Deshabilitar autenticación de dos factores" #: templates/allauth_2fa/remove.html:9 msgid "Are you sure?" -msgstr "" +msgstr "¿Está seguro?" #: templates/allauth_2fa/remove.html:17 msgid "Disable 2FA" -msgstr "" +msgstr "Desactivar 2FA" #: templates/allauth_2fa/setup.html:6 msgid "Setup Two-Factor Authentication" -msgstr "" +msgstr "Configurar Autenticación de Dos Factores" #: templates/allauth_2fa/setup.html:10 msgid "Step 1" -msgstr "" +msgstr "Paso 1" #: templates/allauth_2fa/setup.html:14 msgid "Scan the QR code below with a token generator of your choice (for instance Google Authenticator)." -msgstr "" +msgstr "Escanea el código QR de abajo con un generador de tokens de tu elección (por ejemplo Google Authenticator)." #: templates/allauth_2fa/setup.html:20 msgid "Secret: " @@ -11371,39 +11365,39 @@ msgstr "" #: templates/allauth_2fa/setup.html:24 msgid "Step 2" -msgstr "" +msgstr "Paso 2" #: templates/allauth_2fa/setup.html:28 msgid "Input a token generated by the app:" -msgstr "" +msgstr "Ingrese un token generado por la aplicación:" #: templates/allauth_2fa/setup.html:38 msgid "Verify" -msgstr "" +msgstr "Verificar" #: templates/attachment_button.html:4 templates/js/translated/attachment.js:70 msgid "Add Link" -msgstr "" +msgstr "Agregar Enlace" #: templates/attachment_button.html:7 templates/js/translated/attachment.js:48 msgid "Add Attachment" -msgstr "" +msgstr "Añadir archivo adjunto" #: templates/barcode_data.html:5 msgid "Barcode Identifier" -msgstr "" +msgstr "Identificador de Código de Barras" #: templates/base.html:103 msgid "Server Restart Required" -msgstr "" +msgstr "Reinicio del Servidor Requerido" #: templates/base.html:106 msgid "A configuration option has been changed which requires a server restart" -msgstr "" +msgstr "Se ha cambiado una opción de configuración que requiere reiniciar el servidor" #: templates/base.html:106 templates/base.html:116 msgid "Contact your system administrator for further information" -msgstr "" +msgstr "Póngase en contacto con su administrador para más información" #: templates/base.html:113 msgid "Pending Database Migrations" @@ -11426,39 +11420,39 @@ msgstr "" #: templates/email/build_order_required_stock.html:7 msgid "Stock is required for the following build order" -msgstr "" +msgstr "Se requiere stock para el siguiente orden de trabajo" #: templates/email/build_order_required_stock.html:8 #, python-format msgid "Build order %(build)s - building %(quantity)s x %(part)s" -msgstr "" +msgstr "Orden de trabajo %(build)s - creando %(quantity)s x %(part)s" #: templates/email/build_order_required_stock.html:10 msgid "Click on the following link to view this build order" -msgstr "" +msgstr "Haga clic en el siguiente enlace para ver esta orden de trabajo" #: templates/email/build_order_required_stock.html:14 msgid "The following parts are low on required stock" -msgstr "" +msgstr "Las siguientes partes están bajas en stock requerido" #: templates/email/build_order_required_stock.html:18 #: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2557 msgid "Required Quantity" -msgstr "" +msgstr "Cantidad requerida" #: templates/email/build_order_required_stock.html:38 #: templates/email/low_stock_notification.html:30 msgid "You are receiving this email because you are subscribed to notifications for this part " -msgstr "" +msgstr "Estás recibiendo este correo electrónico porque estás suscrito a las notificaciones de esta parte " #: templates/email/low_stock_notification.html:9 msgid "Click on the following link to view this part" -msgstr "" +msgstr "Haga clic en el siguiente enlace para ver esta parte" #: templates/email/low_stock_notification.html:18 #: templates/js/translated/part.js:3222 msgid "Minimum Quantity" -msgstr "" +msgstr "Cantidad Mínima" #: templates/js/translated/api.js:225 templates/js/translated/modals.js:1135 msgid "No Response" @@ -11607,7 +11601,7 @@ msgstr "" #: templates/js/translated/barcode.js:420 templates/navbar.html:114 msgid "Scan Barcode" -msgstr "" +msgstr "Escanear código de barras" #: templates/js/translated/barcode.js:458 msgid "No URL in response" @@ -11697,7 +11691,7 @@ msgstr "" #: templates/js/translated/purchase_order.js:797 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" -msgstr "" +msgstr "Cerrar" #: templates/js/translated/bom.js:306 msgid "Download BOM Template" @@ -12171,7 +12165,7 @@ msgstr "" #: templates/js/translated/part.js:2319 templates/js/translated/part.js:2745 #: templates/js/translated/stock.js:1983 templates/js/translated/stock.js:2710 msgid "Select" -msgstr "" +msgstr "Seleccionar" #: templates/js/translated/build.js:2131 msgid "Build order is overdue" @@ -12284,19 +12278,19 @@ msgstr "" #: templates/js/translated/company.js:360 msgid "Delete Supplier Parts" -msgstr "" +msgstr "Eliminar Partes de Proveedor" #: templates/js/translated/company.js:466 msgid "Add new Company" -msgstr "" +msgstr "Añadir nueva Empresa" #: templates/js/translated/company.js:546 msgid "Parts Supplied" -msgstr "" +msgstr "Partes Suministradas" #: templates/js/translated/company.js:555 msgid "Parts Manufactured" -msgstr "" +msgstr "Partes Fabricadas" #: templates/js/translated/company.js:570 msgid "No company information found" @@ -12304,7 +12298,7 @@ msgstr "" #: templates/js/translated/company.js:619 msgid "Create New Contact" -msgstr "" +msgstr "Crear Nuevo Contacto" #: templates/js/translated/company.js:635 #: templates/js/translated/company.js:758 @@ -12338,137 +12332,137 @@ msgstr "" #: templates/js/translated/company.js:762 msgid "Delete Contact" -msgstr "" +msgstr "Eliminar Contacto" #: templates/js/translated/company.js:859 msgid "Create New Address" -msgstr "" +msgstr "Crear Nueva Dirección" #: templates/js/translated/company.js:874 #: templates/js/translated/company.js:1035 msgid "Edit Address" -msgstr "" +msgstr "Editar Dirección" #: templates/js/translated/company.js:909 msgid "All selected addresses will be deleted" -msgstr "" +msgstr "Todos las direcciones seleccionadas serán eliminadas" #: templates/js/translated/company.js:923 msgid "Delete Addresses" -msgstr "" +msgstr "Eliminar Direcciones" #: templates/js/translated/company.js:950 msgid "No addresses found" -msgstr "" +msgstr "No se encontraron direcciones" #: templates/js/translated/company.js:989 msgid "Postal city" -msgstr "" +msgstr "Ciudad postal" #: templates/js/translated/company.js:995 msgid "State/province" -msgstr "" +msgstr "Estado/provincia" #: templates/js/translated/company.js:1007 msgid "Courier notes" -msgstr "" +msgstr "Notas del mensajero" #: templates/js/translated/company.js:1013 msgid "Internal notes" -msgstr "" +msgstr "Notas internas" #: templates/js/translated/company.js:1039 msgid "Delete Address" -msgstr "" +msgstr "Eliminar Dirección" #: templates/js/translated/company.js:1112 msgid "All selected manufacturer parts will be deleted" -msgstr "" +msgstr "Se eliminarán todas las partes del fabricante seleccionadas" #: templates/js/translated/company.js:1127 msgid "Delete Manufacturer Parts" -msgstr "" +msgstr "Eliminar Partes del Fabricante" #: templates/js/translated/company.js:1161 msgid "All selected parameters will be deleted" -msgstr "" +msgstr "Todos los parámetros seleccionados serán eliminados" #: templates/js/translated/company.js:1175 msgid "Delete Parameters" -msgstr "" +msgstr "Eliminar Parámetros" #: templates/js/translated/company.js:1191 #: templates/js/translated/company.js:1479 templates/js/translated/part.js:2248 msgid "Order parts" -msgstr "" +msgstr "Ordenar Partes" #: templates/js/translated/company.js:1208 msgid "Delete manufacturer parts" -msgstr "" +msgstr "Eliminar partes del fabricante" #: templates/js/translated/company.js:1240 msgid "Manufacturer part actions" -msgstr "" +msgstr "Acciones para partes del fabricante" #: templates/js/translated/company.js:1259 msgid "No manufacturer parts found" -msgstr "" +msgstr "No se encontraron partes del fabricante" #: templates/js/translated/company.js:1279 #: templates/js/translated/company.js:1567 templates/js/translated/part.js:798 #: templates/js/translated/part.js:1214 msgid "Template part" -msgstr "" +msgstr "Plantilla de parte" #: templates/js/translated/company.js:1283 #: templates/js/translated/company.js:1571 templates/js/translated/part.js:802 #: templates/js/translated/part.js:1218 msgid "Assembled part" -msgstr "" +msgstr "Parte ensamblada" #: templates/js/translated/company.js:1403 templates/js/translated/part.js:1468 msgid "No parameters found" -msgstr "" +msgstr "No se encontraron parámetros" #: templates/js/translated/company.js:1438 templates/js/translated/part.js:1531 msgid "Edit parameter" -msgstr "" +msgstr "Editar parámetro" #: templates/js/translated/company.js:1439 templates/js/translated/part.js:1532 msgid "Delete parameter" -msgstr "" +msgstr "Eliminar parámetro" #: templates/js/translated/company.js:1456 templates/js/translated/part.js:1437 msgid "Edit Parameter" -msgstr "" +msgstr "Editar Parámetro" #: templates/js/translated/company.js:1465 templates/js/translated/part.js:1553 msgid "Delete Parameter" -msgstr "" +msgstr "Eliminar Parámetro" #: templates/js/translated/company.js:1496 msgid "Delete supplier parts" -msgstr "" +msgstr "Eliminar piezas del proveedor" #: templates/js/translated/company.js:1546 msgid "No supplier parts found" -msgstr "" +msgstr "No se encontraron partes de proveedor" #: templates/js/translated/company.js:1664 msgid "Base Units" -msgstr "" +msgstr "Unidades base" #: templates/js/translated/company.js:1694 msgid "Availability" -msgstr "" +msgstr "Disponibilidad" #: templates/js/translated/company.js:1725 msgid "Edit supplier part" -msgstr "" +msgstr "Editar parte del proveedor" #: templates/js/translated/company.js:1726 msgid "Delete supplier part" -msgstr "" +msgstr "Eliminar parte del proveedor" #: templates/js/translated/company.js:1779 #: templates/js/translated/pricing.js:694 @@ -12486,7 +12480,7 @@ msgstr "" #: templates/js/translated/company.js:1833 msgid "Last updated" -msgstr "" +msgstr "Última actualización" #: templates/js/translated/company.js:1840 msgid "Edit price break" @@ -12499,53 +12493,53 @@ msgstr "" #: templates/js/translated/filters.js:186 #: templates/js/translated/filters.js:667 msgid "true" -msgstr "" +msgstr "verdadero" #: templates/js/translated/filters.js:190 #: templates/js/translated/filters.js:668 msgid "false" -msgstr "" +msgstr "falso" #: templates/js/translated/filters.js:214 msgid "Select filter" -msgstr "" +msgstr "Seleccionar filtro" #: templates/js/translated/filters.js:437 msgid "Print Labels" -msgstr "" +msgstr "Imprimir Etiquetas" #: templates/js/translated/filters.js:441 msgid "Print Reports" -msgstr "" +msgstr "Imprimir reportes" #: templates/js/translated/filters.js:453 msgid "Download table data" -msgstr "" +msgstr "Descargar tabla de datos" #: templates/js/translated/filters.js:460 msgid "Reload table data" -msgstr "" +msgstr "Recargar tabla de datos" #: templates/js/translated/filters.js:469 msgid "Add new filter" -msgstr "" +msgstr "Añadir un nuevo filtro" #: templates/js/translated/filters.js:477 msgid "Clear all filters" -msgstr "" +msgstr "Limpiar todos los filtros" #: templates/js/translated/filters.js:577 msgid "Create filter" -msgstr "" +msgstr "Crear filtro" #: templates/js/translated/forms.js:378 templates/js/translated/forms.js:393 #: templates/js/translated/forms.js:407 templates/js/translated/forms.js:421 msgid "Action Prohibited" -msgstr "" +msgstr "Acción Prohibida" #: templates/js/translated/forms.js:380 msgid "Create operation not allowed" -msgstr "" +msgstr "Operación de creación no permitida" #: templates/js/translated/forms.js:395 msgid "Update operation not allowed" @@ -12570,7 +12564,7 @@ msgstr "" #: templates/js/translated/forms.js:1477 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" -msgstr "" +msgstr "Existen errores en el formulario" #: templates/js/translated/forms.js:1975 msgid "No results found" @@ -12637,7 +12631,7 @@ msgstr "" #: templates/js/translated/modals.js:756 templates/js/translated/modals.js:1064 #: templates/modals.html:28 templates/modals.html:51 msgid "Submit" -msgstr "" +msgstr "Enviar" #: templates/js/translated/modals.js:157 msgid "Form Title" @@ -12719,7 +12713,7 @@ msgstr "" #: templates/js/translated/notification.js:296 templates/notifications.html:12 msgid "Notifications will load here" -msgstr "" +msgstr "Las notificaciones cargarán aquí" #: templates/js/translated/order.js:89 msgid "Add Extra Line Item" @@ -12735,44 +12729,44 @@ msgstr "" #: templates/js/translated/order.js:255 msgid "Edit Line" -msgstr "" +msgstr "Editar Línea" #: templates/js/translated/order.js:268 msgid "Delete Line" -msgstr "" +msgstr "Eliminar Línea" #: templates/js/translated/order.js:281 #: templates/js/translated/purchase_order.js:1990 msgid "No line items found" -msgstr "" +msgstr "No se encontraron artículos de línea" #: templates/js/translated/order.js:369 msgid "Duplicate line" -msgstr "" +msgstr "Duplicar línea" #: templates/js/translated/order.js:370 msgid "Edit line" -msgstr "" +msgstr "Editar línea" #: templates/js/translated/order.js:374 msgid "Delete line" -msgstr "" +msgstr "Eliminar línea" #: templates/js/translated/part.js:90 msgid "Part Attributes" -msgstr "" +msgstr "Atributos de Parte" #: templates/js/translated/part.js:94 msgid "Part Creation Options" -msgstr "" +msgstr "Opciones de Creación de Parte" #: templates/js/translated/part.js:98 msgid "Part Duplication Options" -msgstr "" +msgstr "Opciones de Duplicación de Parte" #: templates/js/translated/part.js:121 msgid "Add Part Category" -msgstr "" +msgstr "Añadir Categoría de Parte" #: templates/js/translated/part.js:332 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" @@ -12780,59 +12774,59 @@ msgstr "" #: templates/js/translated/part.js:352 msgid "Create Part Category" -msgstr "" +msgstr "Crear Categoría de Parte" #: templates/js/translated/part.js:355 msgid "Create new category after this one" -msgstr "" +msgstr "Crear nueva categoría después de esta" #: templates/js/translated/part.js:356 msgid "Part category created" -msgstr "" +msgstr "Categoría de parte creada" #: templates/js/translated/part.js:370 msgid "Edit Part Category" -msgstr "" +msgstr "Editar Categoría de Parte" #: templates/js/translated/part.js:383 msgid "Are you sure you want to delete this part category?" -msgstr "" +msgstr "¿Estás seguro de que deseas eliminar esta categoría?" #: templates/js/translated/part.js:388 msgid "Move to parent category" -msgstr "" +msgstr "Mover a la categoría principal" #: templates/js/translated/part.js:397 msgid "Delete Part Category" -msgstr "" +msgstr "Eliminar Categoría de Parte" #: templates/js/translated/part.js:401 msgid "Action for parts in this category" -msgstr "" +msgstr "Acción para partes en esta categoría" #: templates/js/translated/part.js:406 msgid "Action for child categories" -msgstr "" +msgstr "Acción para categorías secundarias" #: templates/js/translated/part.js:430 msgid "Create Part" -msgstr "" +msgstr "Crear Parte" #: templates/js/translated/part.js:432 msgid "Create another part after this one" -msgstr "" +msgstr "Crear otra parte después de esta" #: templates/js/translated/part.js:433 msgid "Part created successfully" -msgstr "" +msgstr "Parte creada exitosamente" #: templates/js/translated/part.js:461 msgid "Edit Part" -msgstr "" +msgstr "Editar Parte" #: templates/js/translated/part.js:463 msgid "Part edited" -msgstr "" +msgstr "Parte editada" #: templates/js/translated/part.js:474 msgid "Create Part Variant" @@ -12901,11 +12895,11 @@ msgstr "" #: templates/js/translated/part.js:685 #: templates/js/translated/table_filters.js:752 msgid "Low stock" -msgstr "" +msgstr "Stock bajo" #: templates/js/translated/part.js:688 msgid "No stock available" -msgstr "" +msgstr "No hay stock disponible" #: templates/js/translated/part.js:748 msgid "Demand" @@ -13022,81 +13016,81 @@ msgstr "" #: templates/js/translated/part.js:2291 msgid "parts" -msgstr "" +msgstr "partes" #: templates/js/translated/part.js:2387 msgid "No category" -msgstr "" +msgstr "Sin categoría" #: templates/js/translated/part.js:2534 templates/js/translated/part.js:2664 #: templates/js/translated/stock.js:2669 msgid "Display as list" -msgstr "" +msgstr "Mostrar como lista" #: templates/js/translated/part.js:2550 msgid "Display as grid" -msgstr "" +msgstr "Mostrar como cuadrícula" #: templates/js/translated/part.js:2648 msgid "No subcategories found" -msgstr "" +msgstr "No se encontraron subcategorías" #: templates/js/translated/part.js:2684 templates/js/translated/stock.js:2689 msgid "Display as tree" -msgstr "" +msgstr "Mostrar como árbol" #: templates/js/translated/part.js:2764 msgid "Load Subcategories" -msgstr "" +msgstr "Cargar subcategorías" #: templates/js/translated/part.js:2780 msgid "Subscribed category" -msgstr "" +msgstr "Categoría suscrita" #: templates/js/translated/part.js:2868 msgid "No test templates matching query" -msgstr "" +msgstr "No hay plantillas de prueba que coincidan con la consulta" #: templates/js/translated/part.js:2890 templates/js/translated/search.js:342 msgid "results" -msgstr "" +msgstr "resultados" #: templates/js/translated/part.js:2940 templates/js/translated/stock.js:1456 msgid "Edit test result" -msgstr "" +msgstr "Editar resultado de prueba" #: templates/js/translated/part.js:2941 templates/js/translated/stock.js:1457 #: templates/js/translated/stock.js:1731 msgid "Delete test result" -msgstr "" +msgstr "Eliminar resultado de prueba" #: templates/js/translated/part.js:2945 msgid "This test is defined for a parent part" -msgstr "" +msgstr "Esta prueba está definida para una parte principal" #: templates/js/translated/part.js:2961 msgid "Edit Test Result Template" -msgstr "" +msgstr "Editar plantilla de resultado de prueba" #: templates/js/translated/part.js:2975 msgid "Delete Test Result Template" -msgstr "" +msgstr "Eliminar plantilla de resultados de prueba" #: templates/js/translated/part.js:3054 templates/js/translated/part.js:3055 msgid "No date specified" -msgstr "" +msgstr "Sin fecha especificada" #: templates/js/translated/part.js:3057 msgid "Specified date is in the past" -msgstr "" +msgstr "Fecha especificada es en el pasado" #: templates/js/translated/part.js:3063 msgid "Speculative" -msgstr "" +msgstr "Especulativo" #: templates/js/translated/part.js:3113 msgid "No scheduling information available for this part" -msgstr "" +msgstr "No hay información de planificación disponible para esta parte" #: templates/js/translated/part.js:3119 msgid "Error fetching scheduling information for this part" @@ -13104,11 +13098,11 @@ msgstr "" #: templates/js/translated/part.js:3215 msgid "Scheduled Stock Quantities" -msgstr "" +msgstr "Cantidad de Stock Programadas" #: templates/js/translated/part.js:3231 msgid "Maximum Quantity" -msgstr "" +msgstr "Cantidad Máxima" #: templates/js/translated/part.js:3276 msgid "Minimum Stock Level" @@ -13132,35 +13126,35 @@ msgstr "" #: templates/js/translated/plugin.js:117 templates/js/translated/plugin.js:186 msgid "Disable Plugin" -msgstr "" +msgstr "Desactivar Plugin" #: templates/js/translated/plugin.js:119 templates/js/translated/plugin.js:186 msgid "Enable Plugin" -msgstr "" +msgstr "Activar Plugin" #: templates/js/translated/plugin.js:158 msgid "The Plugin was installed" -msgstr "" +msgstr "El plugin fue instalado" #: templates/js/translated/plugin.js:177 msgid "Are you sure you want to enable this plugin?" -msgstr "" +msgstr "¿Estás seguro de que deseas activar este plugin?" #: templates/js/translated/plugin.js:181 msgid "Are you sure you want to disable this plugin?" -msgstr "" +msgstr "¿Estás seguro de que deseas desactivar este plugin?" #: templates/js/translated/plugin.js:189 msgid "Enable" -msgstr "" +msgstr "Activar" #: templates/js/translated/plugin.js:189 msgid "Disable" -msgstr "" +msgstr "Desactivar" #: templates/js/translated/plugin.js:203 msgid "Plugin updated" -msgstr "" +msgstr "Plugin actualizado" #: templates/js/translated/pricing.js:159 msgid "Error fetching currency data" @@ -13692,7 +13686,7 @@ msgstr "" #: templates/js/translated/search.js:292 templates/search.html:25 msgid "Enter search query" -msgstr "" +msgstr "Ingresar consulta de búsqueda" #: templates/js/translated/search.js:342 msgid "result" @@ -13864,7 +13858,7 @@ msgstr "" #: templates/js/translated/stock.js:1025 msgid "Move" -msgstr "" +msgstr "Mover" #: templates/js/translated/stock.js:1031 msgid "Count Stock" @@ -13888,7 +13882,7 @@ msgstr "" #: templates/js/translated/stock.js:1042 users/models.py:396 msgid "Add" -msgstr "" +msgstr "Añadir" #: templates/js/translated/stock.js:1046 msgid "Delete Stock" @@ -14510,19 +14504,19 @@ msgstr "" #: templates/navbar.html:45 msgid "Buy" -msgstr "" +msgstr "Comprar" #: templates/navbar.html:57 msgid "Sell" -msgstr "" +msgstr "Vender" #: templates/navbar.html:121 msgid "Show Notifications" -msgstr "" +msgstr "Mostrar notificaciones" #: templates/navbar.html:124 msgid "New Notifications" -msgstr "" +msgstr "Notificaciones nuevas" #: templates/navbar.html:144 users/models.py:201 msgid "Admin" @@ -14530,15 +14524,15 @@ msgstr "" #: templates/navbar.html:148 msgid "Logout" -msgstr "" +msgstr "Cerrar sesión" #: templates/notes_buttons.html:6 templates/notes_buttons.html:7 msgid "Save" -msgstr "" +msgstr "Guardar" #: templates/notifications.html:9 msgid "Show all notifications and history" -msgstr "" +msgstr "Mostrar todas las notificaciones y el historial" #: templates/pui_banner.html:9 msgid "Platform UI - the new UI for InvenTree - provides more modern administration options." @@ -14558,71 +14552,71 @@ msgstr "" #: templates/qr_code.html:11 msgid "QR data not provided" -msgstr "" +msgstr "Datos QR no proporcionados" #: templates/registration/logged_out.html:7 msgid "You were logged out successfully." -msgstr "" +msgstr "Se ha cerrado la sesión correctamente." #: templates/registration/logged_out.html:9 msgid "Log in again" -msgstr "" +msgstr "Volver a ingresar" #: templates/search.html:9 msgid "Show full search results" -msgstr "" +msgstr "Mostrar resultados completos de búsqueda" #: templates/search.html:12 msgid "Clear search" -msgstr "" +msgstr "Borrar búsqueda" #: templates/search.html:15 msgid "Close search menu" -msgstr "" +msgstr "Cerrar menú de búsqueda" #: templates/socialaccount/authentication_error.html:5 msgid "Social Network Login Failure" -msgstr "" +msgstr "Fallo al iniciar sesión en la red social" #: templates/socialaccount/authentication_error.html:8 msgid "Account Login Failure" -msgstr "" +msgstr "Error al iniciar sesión en la cuenta" #: templates/socialaccount/authentication_error.html:11 msgid "An error occurred while attempting to login via your social network account." -msgstr "" +msgstr "Se ha producido un error al intentar iniciar sesión a través de su cuenta de red social." #: templates/socialaccount/authentication_error.html:13 msgid "Contact your system administrator for further information." -msgstr "" +msgstr "Póngase en contacto con su administrador para más información." #: templates/socialaccount/login.html:13 #, python-format msgid "Connect %(provider)s" -msgstr "" +msgstr "Conectar a %(provider)s" #: templates/socialaccount/login.html:15 #, python-format msgid "You are about to connect a new third party account from %(provider)s." -msgstr "" +msgstr "Estás a punto de conectar una nueva cuenta de terceros desde %(provider)s." #: templates/socialaccount/login.html:17 #, python-format msgid "Sign In Via %(provider)s" -msgstr "" +msgstr "Iniciar sesión vía %(provider)s" #: templates/socialaccount/login.html:19 #, python-format msgid "You are about to sign in using a third party account from %(provider)s." -msgstr "" +msgstr "Estás a punto de iniciar sesión usando una cuenta de terceros de %(provider)s." #: templates/socialaccount/login.html:24 msgid "Continue" -msgstr "" +msgstr "Continuar" #: templates/socialaccount/login.html:29 msgid "Invalid SSO Provider" -msgstr "" +msgstr "Proveedor SSO inválido" #: templates/socialaccount/login.html:31 msgid "The selected SSO provider is invalid, or has not been correctly configured" @@ -14647,67 +14641,67 @@ msgstr "" #: templates/stats.html:13 msgid "Instance Name" -msgstr "" +msgstr "Nombre de Instancia" #: templates/stats.html:18 msgid "Database" -msgstr "" +msgstr "Base de datos" #: templates/stats.html:26 msgid "Server is running in debug mode" -msgstr "" +msgstr "El servidor se está ejecutando en modo depuración" #: templates/stats.html:33 msgid "Docker Mode" -msgstr "" +msgstr "Modo Docker" #: templates/stats.html:34 msgid "Server is deployed using docker" -msgstr "" +msgstr "El servidor está desplegado usando docker" #: templates/stats.html:39 msgid "Plugin Support" -msgstr "" +msgstr "Soporte para Plugins" #: templates/stats.html:43 msgid "Plugin support enabled" -msgstr "" +msgstr "Soporte de plugins habilitado" #: templates/stats.html:45 msgid "Plugin support disabled" -msgstr "" +msgstr "Soporte de plugins desactivado" #: templates/stats.html:52 msgid "Server status" -msgstr "" +msgstr "Estado del servidor" #: templates/stats.html:55 msgid "Healthy" -msgstr "" +msgstr "Saludable" #: templates/stats.html:57 msgid "Issues detected" -msgstr "" +msgstr "Problemas detectados" #: templates/stats.html:64 msgid "Background Worker" -msgstr "" +msgstr "Trabajador en segundo plano" #: templates/stats.html:67 msgid "Background worker not running" -msgstr "" +msgstr "Trabajador en segundo plano no ejecutado" #: templates/stats.html:75 msgid "Email Settings" -msgstr "" +msgstr "Configuración de Email" #: templates/stats.html:78 msgid "Email settings not configured" -msgstr "" +msgstr "Configuración de correo no configurada" #: templates/yesnolabel.html:4 msgid "Yes" -msgstr "" +msgstr "Sí" #: templates/yesnolabel.html:6 msgid "No" @@ -14715,11 +14709,11 @@ msgstr "" #: users/admin.py:104 msgid "Users" -msgstr "" +msgstr "Usuarios" #: users/admin.py:105 msgid "Select which users are assigned to this group" -msgstr "" +msgstr "Seleccione qué usuarios están asignados a este grupo" #: users/admin.py:249 msgid "The following users are members of multiple groups" @@ -14727,15 +14721,15 @@ msgstr "" #: users/admin.py:283 msgid "Personal info" -msgstr "" +msgstr "Información personal" #: users/admin.py:285 msgid "Permissions" -msgstr "" +msgstr "Permisos" #: users/admin.py:288 msgid "Important dates" -msgstr "" +msgstr "Fechas importantes" #: users/authentication.py:29 users/models.py:138 msgid "Token has been revoked" @@ -14779,32 +14773,33 @@ msgstr "" #: users/models.py:379 msgid "Permission set" -msgstr "" +msgstr "Permiso establecido" #: users/models.py:388 msgid "Group" -msgstr "" +msgstr "Grupo" #: users/models.py:392 msgid "View" -msgstr "" +msgstr "Vista" #: users/models.py:392 msgid "Permission to view items" -msgstr "" +msgstr "Permiso para ver artículos" #: users/models.py:396 msgid "Permission to add items" -msgstr "" +msgstr "Permiso para añadir artículos" #: users/models.py:400 msgid "Change" -msgstr "" +msgstr "Cambiar" #: users/models.py:402 msgid "Permissions to edit items" -msgstr "" +msgstr "Permisos para editar artículos" #: users/models.py:408 msgid "Permission to delete items" -msgstr "" +msgstr "Permiso para eliminar artículos" + From 9f6339a07573313850187821712d83c98f31843e Mon Sep 17 00:00:00 2001 From: Oliver Date: Tue, 9 Jul 2024 00:56:02 +1000 Subject: [PATCH 04/36] Fix: New translations django.po from Crowdin --- .../InvenTree/locale/bg/LC_MESSAGES/django.po | 19 ++++++------------- 1 file changed, 6 insertions(+), 13 deletions(-) diff --git a/src/backend/InvenTree/locale/bg/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/bg/LC_MESSAGES/django.po index 4e16cebc6743..e430171527e2 100644 --- a/src/backend/InvenTree/locale/bg/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/bg/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-07-08 14:46+0000\n" -"PO-Revision-Date: 2024-07-05 14:57\n" +"PO-Revision-Date: 2024-07-08 14:56\n" "Last-Translator: \n" "Language-Team: Bulgarian\n" "Language: bg_BG\n" @@ -1559,10 +1559,8 @@ msgid "Available Variant Stock" msgstr "" #: build/serializers.py:1226 -#, fuzzy -#| msgid "Total Stock" msgid "Total Available Stock" -msgstr "Цялостна наличност" +msgstr "" #: build/serializers.py:1227 part/serializers.py:862 msgid "External Stock" @@ -4865,10 +4863,8 @@ msgid "Column does not exist in the data file" msgstr "" #: importer/models.py:372 -#, fuzzy -#| msgid "User does not have permission to view this model" msgid "Field does not exist in the target model" -msgstr "Потребителя няма нужното разрешение, за да вижда този модел" +msgstr "" #: importer/models.py:376 msgid "Selected field is read-only" @@ -4927,10 +4923,8 @@ msgid "List of row IDs to accept" msgstr "" #: importer/serializers.py:149 -#, fuzzy -#| msgid "No value provided" msgid "No rows provided" -msgstr "Не е зададена стойност" +msgstr "" #: importer/serializers.py:153 msgid "Row does not belong to this session" @@ -4961,10 +4955,8 @@ msgid "Processing Data" msgstr "" #: importer/validators.py:21 -#, fuzzy -#| msgid "Image download exceeded maximum size" msgid "Data file exceeds maximum size limit" -msgstr "Сваляното на изображение превиши максималния размер" +msgstr "" #: importer/validators.py:26 msgid "Data file contains no headers" @@ -14810,3 +14802,4 @@ msgstr "" #: users/models.py:408 msgid "Permission to delete items" msgstr "" + From e0ef35d97dbe33d24923e11522844829d61d034a Mon Sep 17 00:00:00 2001 From: Oliver Date: Tue, 9 Jul 2024 00:56:04 +1000 Subject: [PATCH 05/36] Fix: New translations django.po from Crowdin --- .../InvenTree/locale/cs/LC_MESSAGES/django.po | 225 ++++-------------- 1 file changed, 51 insertions(+), 174 deletions(-) diff --git a/src/backend/InvenTree/locale/cs/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/cs/LC_MESSAGES/django.po index d8c0bbb0955b..42a8ecd963ba 100644 --- a/src/backend/InvenTree/locale/cs/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/cs/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-07-08 14:46+0000\n" -"PO-Revision-Date: 2024-07-05 14:57\n" +"PO-Revision-Date: 2024-07-08 14:56\n" "Last-Translator: \n" "Language-Team: Czech\n" "Language: cs_CZ\n" @@ -783,16 +783,12 @@ msgid "Assembly BOM has not been validated" msgstr "" #: build/models.py:134 -#, fuzzy -#| msgid "Build output cannot be specified for allocation of untracked parts" msgid "Build order cannot be created for an inactive part" -msgstr "Výstup sestavy nelze zadat pro přidělení nesledovaných dílů" +msgstr "" #: build/models.py:141 -#, fuzzy -#| msgid "Build output cannot be specified for allocation of untracked parts" msgid "Build order cannot be created for an unlocked part" -msgstr "Výstup sestavy nelze zadat pro přidělení nesledovaných dílů" +msgstr "" #: build/models.py:155 msgid "Invalid choice for parent build" @@ -1493,10 +1489,8 @@ msgid "Failed to start auto-allocation task" msgstr "Nepodařilo se spustit úlohu automatického přidělování" #: build/serializers.py:1095 -#, fuzzy -#| msgid "Supplier Part Orders" msgid "Supplier Part Number" -msgstr "Objednávky dílu dodavatele" +msgstr "" #: build/serializers.py:1096 company/models.py:500 msgid "Manufacturer Part Number" @@ -1508,16 +1502,12 @@ msgid "Location Name" msgstr "" #: build/serializers.py:1098 -#, fuzzy -#| msgid "Build Order Reference" msgid "Build Reference" -msgstr "Referenční číslo objednávky" +msgstr "" #: build/serializers.py:1099 -#, fuzzy -#| msgid "Reference" msgid "BOM Reference" -msgstr "Reference" +msgstr "" #: build/serializers.py:1186 part/admin.py:402 part/models.py:3993 msgid "Part IPN" @@ -1561,22 +1551,16 @@ msgid "Available Stock" msgstr "Dostupné zásoby" #: build/serializers.py:1224 -#, fuzzy -#| msgid "Substitute Stock" msgid "Available Substitute Stock" -msgstr "Náhradní zásoby" +msgstr "" #: build/serializers.py:1225 -#, fuzzy -#| msgid "Available Stock" msgid "Available Variant Stock" -msgstr "Dostupné zásoby" +msgstr "" #: build/serializers.py:1226 -#, fuzzy -#| msgid "Available Stock" msgid "Total Available Stock" -msgstr "Dostupné zásoby" +msgstr "" #: build/serializers.py:1227 part/serializers.py:862 msgid "External Stock" @@ -2793,10 +2777,8 @@ msgid "Require Locked Part" msgstr "" #: common/models.py:1802 -#, fuzzy -#| msgid "Print build order report" msgid "Prevent build order creation for unlocked parts" -msgstr "Tisk reportu o objednávce sestavy" +msgstr "" #: common/models.py:1807 msgid "Require Valid BOM" @@ -3702,10 +3684,8 @@ msgid "Target model ID for this image" msgstr "Cílové ID modelu pro tento obrázek" #: common/models.py:3035 -#, fuzzy -#| msgid "Customer" msgid "Custom Unit" -msgstr "Zákazník" +msgstr "" #: common/models.py:3056 msgid "Unit symbol must be unique" @@ -4034,30 +4014,24 @@ msgid "Is this company active?" msgstr "Je tato společnost aktivní?" #: company/models.py:168 -#, fuzzy -#| msgid "is customer" msgid "Is customer" -msgstr "je zákazník" +msgstr "" #: company/models.py:169 msgid "Do you sell items to this company?" msgstr "Prodáváte zboží této společnosti?" #: company/models.py:174 -#, fuzzy -#| msgid "is supplier" msgid "Is supplier" -msgstr "je dodavatel" +msgstr "" #: company/models.py:175 msgid "Do you purchase items from this company?" msgstr "Zakupujete zboží od této společnosti?" #: company/models.py:180 -#, fuzzy -#| msgid "is manufacturer" msgid "Is manufacturer" -msgstr "je výrobce" +msgstr "" #: company/models.py:181 msgid "Does this company manufacture parts?" @@ -4218,10 +4192,8 @@ msgid "Manufacturer part description" msgstr "Popis dílu výrobce" #: company/models.py:569 -#, fuzzy -#| msgid "Manufacturer Part Number" msgid "Manufacturer Part Parameter" -msgstr "Číslo dílu výrobce" +msgstr "" #: company/models.py:588 msgid "Parameter name" @@ -4377,20 +4349,16 @@ msgid "Date of last update of availability data" msgstr "Datum poslední aktualizace údajů o dostupnosti" #: company/models.py:1015 -#, fuzzy -#| msgid "Supplier Part Orders" msgid "Supplier Price Break" -msgstr "Objednávky dílu dodavatele" +msgstr "" #: company/serializers.py:174 msgid "Default currency used for this supplier" msgstr "Výchozí měna používaná pro tohoto dodavatele" #: company/serializers.py:210 -#, fuzzy -#| msgid "Company name" msgid "Company Name" -msgstr "Jméno společnosti" +msgstr "" #: company/serializers.py:384 part/admin.py:126 part/serializers.py:855 #: part/templates/part/part_base.html:197 @@ -4851,20 +4819,16 @@ msgid "Placed" msgstr "Umístěno" #: importer/mixins.py:263 -#, fuzzy -#| msgid "Invalid value for overage" msgid "Invalid export format" -msgstr "Neplatná hodnota překročení" +msgstr "" #: importer/models.py:56 msgid "Timestamp" msgstr "" #: importer/models.py:61 -#, fuzzy -#| msgid "Select file to upload" msgid "Data file to import" -msgstr "Vybrat soubor k nahrání" +msgstr "" #: importer/models.py:70 templates/js/translated/tables.js:558 msgid "Columns" @@ -4875,16 +4839,12 @@ msgid "Import status" msgstr "" #: importer/models.py:91 -#, fuzzy -#| msgid "Build Details" msgid "Field Defaults" -msgstr "Detaily sestavy" +msgstr "" #: importer/models.py:201 -#, fuzzy -#| msgid "Required build quantity has not been completed" msgid "Some required fields have not been mapped" -msgstr "Požadované množství sestavy nebylo dokončeno" +msgstr "" #: importer/models.py:346 msgid "Column is already mapped to a database field" @@ -4903,10 +4863,8 @@ msgid "Column does not exist in the data file" msgstr "" #: importer/models.py:372 -#, fuzzy -#| msgid "User does not have permission to view this model" msgid "Field does not exist in the target model" -msgstr "Uživatel nemá právo zobrazit tento model" +msgstr "" #: importer/models.py:376 msgid "Selected field is read-only" @@ -4945,10 +4903,8 @@ msgid "Valid" msgstr "" #: importer/operations.py:28 importer/operations.py:49 -#, fuzzy -#| msgid "Unsupported file format: {fmt}" msgid "Unsupported data file format" -msgstr "Nepodporovaný formát souboru: {fmt}" +msgstr "" #: importer/operations.py:40 msgid "Failed to open data file" @@ -4967,10 +4923,8 @@ msgid "List of row IDs to accept" msgstr "" #: importer/serializers.py:149 -#, fuzzy -#| msgid "No data rows provided" msgid "No rows provided" -msgstr "Nebyly zadány žádné řádky s daty" +msgstr "" #: importer/serializers.py:153 msgid "Row does not belong to this session" @@ -4981,10 +4935,8 @@ msgid "Row contains invalid data" msgstr "" #: importer/serializers.py:159 -#, fuzzy -#| msgid "This build output has already been completed" msgid "Row has already been completed" -msgstr "Výstup sestavení je již dokončen" +msgstr "" #: importer/status_codes.py:11 msgid "Initializing" @@ -4995,20 +4947,16 @@ msgid "Mapping Columns" msgstr "" #: importer/status_codes.py:13 -#, fuzzy -#| msgid "Completion Date" msgid "Importing Data" -msgstr "Datum dokončení" +msgstr "" #: importer/status_codes.py:16 msgid "Processing Data" msgstr "" #: importer/validators.py:21 -#, fuzzy -#| msgid "Image download exceeded maximum size" msgid "Data file exceeds maximum size limit" -msgstr "Stahování obrázku překročilo maximální velikost" +msgstr "" #: importer/validators.py:26 msgid "Data file contains no headers" @@ -5023,10 +4971,8 @@ msgid "Data file contains too many rows" msgstr "" #: importer/validators.py:49 -#, fuzzy -#| msgid "Metadata must be a python dict object" msgid "Value must be a valid dictionary object" -msgstr "Metadata musí být objekt python dict" +msgstr "" #: machine/machine_types/label_printer.py:212 msgid "Copies" @@ -5356,10 +5302,8 @@ msgid "Unit price" msgstr "Cena za jednotku" #: order/models.py:1361 -#, fuzzy -#| msgid "Purchase Order Items" msgid "Purchase Order Line Item" -msgstr "Položky nákupní objednávky" +msgstr "" #: order/models.py:1385 msgid "Supplier part must match supplier" @@ -5402,16 +5346,12 @@ msgid "Where does the Purchaser want this item to be stored?" msgstr "Kde si kupující přeje, aby byla tato položka uložena?" #: order/models.py:1503 -#, fuzzy -#| msgid "Purchase Order Items" msgid "Purchase Order Extra Line" -msgstr "Položky nákupní objednávky" +msgstr "" #: order/models.py:1532 -#, fuzzy -#| msgid "Build Order Line Item" msgid "Sales Order Line Item" -msgstr "Vytvořit položku řádku objednávky" +msgstr "" #: order/models.py:1553 msgid "Virtual part cannot be assigned to a sales order" @@ -5442,10 +5382,8 @@ msgid "Shipped quantity" msgstr "Odeslané množství" #: order/models.py:1667 -#, fuzzy -#| msgid "Sales Order Default Shipment" msgid "Sales Order Shipment" -msgstr "Výchozí přeprava prodejní objednávky" +msgstr "" #: order/models.py:1688 msgid "Date of shipment" @@ -5501,16 +5439,12 @@ msgid "Shipment has no allocated stock items" msgstr "Zásilka nemá žádné přidělené skladové položky" #: order/models.py:1828 -#, fuzzy -#| msgid "Sales Order Reference" msgid "Sales Order Extra Line" -msgstr "Referenční číslo prodejní objednávky" +msgstr "" #: order/models.py:1857 -#, fuzzy -#| msgid "Discard Allocations" msgid "Sales Order Allocation" -msgstr "Zahodit alokace" +msgstr "" #: order/models.py:1880 order/models.py:1882 msgid "Stock item has not been assigned" @@ -5574,10 +5508,8 @@ msgid "Return order status" msgstr "Stav návratové objednávky" #: order/models.py:2237 -#, fuzzy -#| msgid "Build Order Line Item" msgid "Return Order Line Item" -msgstr "Vytvořit položku řádku objednávky" +msgstr "" #: order/models.py:2251 msgid "Only serialized items can be assigned to a Return Order" @@ -5609,10 +5541,8 @@ msgid "Cost associated with return or repair for this line item" msgstr "Náklady spojené s návratem nebo opravou této položky" #: order/models.py:2303 -#, fuzzy -#| msgid "Return Order reference" msgid "Return Order Extra Line" -msgstr "Reference návratové objednávky" +msgstr "" #: order/serializers.py:83 order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 @@ -5668,10 +5598,8 @@ msgid "Internal Part Number" msgstr "Interní číslo dílu" #: order/serializers.py:530 -#, fuzzy -#| msgid "Internal Part Number" msgid "Internal Part Name" -msgstr "Interní číslo dílu" +msgstr "" #: order/serializers.py:546 msgid "Supplier part must be specified" @@ -6627,16 +6555,12 @@ msgstr "" #: part/models.py:1090 templates/js/translated/part.js:818 #: templates/js/translated/table_filters.js:721 -#, fuzzy -#| msgid "Lock time" msgid "Locked" -msgstr "Čas uzamčení" +msgstr "" #: part/models.py:1091 -#, fuzzy -#| msgid "Build order part cannot be changed" msgid "Locked parts cannot be edited" -msgstr "Díly obědnávky sestavení nemohou být změněny" +msgstr "" #: part/models.py:1097 msgid "Is this a virtual part, such as a software product or license?" @@ -6885,16 +6809,12 @@ msgid "User who requested this stocktake report" msgstr "" #: part/models.py:3301 -#, fuzzy -#| msgid "Add Price Break" msgid "Part Sale Price Break" -msgstr "Přidat cenovou slevu" +msgstr "" #: part/models.py:3413 -#, fuzzy -#| msgid "Batch Code Template" msgid "Part Test Template" -msgstr "Šablona kódu dávky" +msgstr "" #: part/models.py:3439 msgid "Invalid template name - must include at least one alphanumeric character" @@ -6980,10 +6900,8 @@ msgid "Valid choices for this test (comma-separated)" msgstr "" #: part/models.py:3577 -#, fuzzy -#| msgid "Copy Category Parameter Templates" msgid "Part Parameter Template" -msgstr "Kopírovat šablony parametrů kategorie" +msgstr "" #: part/models.py:3604 msgid "Checkbox parameters cannot have units" @@ -7023,10 +6941,8 @@ msgid "Valid choices for this parameter (comma-separated)" msgstr "" #: part/models.py:3723 -#, fuzzy -#| msgid "Parameters" msgid "Part Parameter" -msgstr "Parametry" +msgstr "" #: part/models.py:3749 msgid "Parameter cannot be modified - part is locked" @@ -7050,10 +6966,8 @@ msgid "Parameter Value" msgstr "" #: part/models.py:3892 -#, fuzzy -#| msgid "Copy Category Parameter Templates" msgid "Part Category Parameter Template" -msgstr "Kopírovat šablony parametrů kategorie" +msgstr "" #: part/models.py:3951 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" @@ -9556,20 +9470,16 @@ msgid "StockItem cannot be moved as it is not in stock" msgstr "" #: stock/models.py:2317 -#, fuzzy -#| msgid "Use Stock Item Pricing" msgid "Stock Item Tracking" -msgstr "Použít ceny skladových položek" +msgstr "" #: stock/models.py:2350 msgid "Entry notes" msgstr "" #: stock/models.py:2390 -#, fuzzy -#| msgid "Stock Items" msgid "Stock Item Test Result" -msgstr "Skladové položky" +msgstr "" #: stock/models.py:2423 msgid "Value must be provided for this test" @@ -9684,10 +9594,8 @@ msgid "Parent Item" msgstr "" #: stock/serializers.py:450 -#, fuzzy -#| msgid "Source stock item" msgid "Parent stock item" -msgstr "Zdrojová skladová položka" +msgstr "" #: stock/serializers.py:469 msgid "Use pack size when adding: the quantity defined is the number of packs" @@ -9708,26 +9616,20 @@ msgid "Child Items" msgstr "" #: stock/serializers.py:598 -#, fuzzy -#| msgid "Tracking Number" msgid "Tracking Items" -msgstr "Sledovací číslo" +msgstr "" #: stock/serializers.py:604 msgid "Purchase price of this stock item, per unit or pack" msgstr "" #: stock/serializers.py:623 -#, fuzzy -#| msgid "Minimum Pricing Decimal Places" msgid "Minimum Pricing" -msgstr "Minimální počet desetinných míst u cen" +msgstr "" #: stock/serializers.py:629 -#, fuzzy -#| msgid "Maximum Pricing Decimal Places" msgid "Maximum Pricing" -msgstr "Maximální počet desetinných míst u cen" +msgstr "" #: stock/serializers.py:653 msgid "Enter number of stock items to serialize" @@ -14488,10 +14390,8 @@ msgid "Show active parts" msgstr "" #: templates/js/translated/table_filters.js:722 -#, fuzzy -#| msgid "Show related parts" msgid "Show locked parts" -msgstr "Zobrazit související díly" +msgstr "" #: templates/js/translated/table_filters.js:730 msgid "Available stock" @@ -14903,26 +14803,3 @@ msgstr "Oprávnění k úpravě položek" msgid "Permission to delete items" msgstr "Oprávnění k odstranění položek" -#~ msgid "Default part label template" -#~ msgstr "Výchozí šablona štítku dílu" - -#~ msgid "The part label template to be automatically selected" -#~ msgstr "Automaticky vybraná šablona štítku dílu" - -#~ msgid "Default stock item template" -#~ msgstr "Výchozí šablona skladové položky" - -#~ msgid "The stock item label template to be automatically selected" -#~ msgstr "Automaticky vybraná šablona štítku skladové položky" - -#~ msgid "Default stock location label template" -#~ msgstr "Výchozí šablona štítku umístění zásob" - -#~ msgid "The stock location label template to be automatically selected" -#~ msgstr "Automaticky vybraná šablona štítku skladového umístění" - -#~ msgid "Default build line label template" -#~ msgstr "Výchozí šablona štítku řádku sestavy" - -#~ msgid "The build line label template to be automatically selected" -#~ msgstr "Automaticky vybraná šablona štítku řádku sestavy" From 1b14835f194bca3f056612d50ad941841e40aae3 Mon Sep 17 00:00:00 2001 From: Oliver Date: Tue, 9 Jul 2024 00:56:06 +1000 Subject: [PATCH 06/36] Fix: New translations django.po from Crowdin --- .../InvenTree/locale/da/LC_MESSAGES/django.po | 95 +++++-------------- 1 file changed, 25 insertions(+), 70 deletions(-) diff --git a/src/backend/InvenTree/locale/da/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/da/LC_MESSAGES/django.po index a36355d8dc16..87c2aabf8863 100644 --- a/src/backend/InvenTree/locale/da/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/da/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-07-08 14:46+0000\n" -"PO-Revision-Date: 2024-07-05 14:57\n" +"PO-Revision-Date: 2024-07-08 14:56\n" "Last-Translator: \n" "Language-Team: Danish\n" "Language: da_DK\n" @@ -783,16 +783,12 @@ msgid "Assembly BOM has not been validated" msgstr "" #: build/models.py:134 -#, fuzzy -#| msgid "Build order part cannot be changed" msgid "Build order cannot be created for an inactive part" -msgstr "Byggeordre enhed kan ikke ændres" +msgstr "" #: build/models.py:141 -#, fuzzy -#| msgid "Build order part cannot be changed" msgid "Build order cannot be created for an unlocked part" -msgstr "Byggeordre enhed kan ikke ændres" +msgstr "" #: build/models.py:155 msgid "Invalid choice for parent build" @@ -1506,16 +1502,12 @@ msgid "Location Name" msgstr "" #: build/serializers.py:1098 -#, fuzzy -#| msgid "Build Order Reference" msgid "Build Reference" -msgstr "Produktionsordre reference" +msgstr "" #: build/serializers.py:1099 -#, fuzzy -#| msgid "Build Order Reference" msgid "BOM Reference" -msgstr "Produktionsordre reference" +msgstr "" #: build/serializers.py:1186 part/admin.py:402 part/models.py:3993 msgid "Part IPN" @@ -1567,10 +1559,8 @@ msgid "Available Variant Stock" msgstr "" #: build/serializers.py:1226 -#, fuzzy -#| msgid "Available" msgid "Total Available Stock" -msgstr "Tilgængelig" +msgstr "" #: build/serializers.py:1227 part/serializers.py:862 msgid "External Stock" @@ -4024,10 +4014,8 @@ msgid "Is this company active?" msgstr "" #: company/models.py:168 -#, fuzzy -#| msgid "Sent to customer" msgid "Is customer" -msgstr "Sendt til kunde" +msgstr "" #: company/models.py:169 msgid "Do you sell items to this company?" @@ -4831,10 +4819,8 @@ msgid "Placed" msgstr "Placeret" #: importer/mixins.py:263 -#, fuzzy -#| msgid "Invalid value for overage" msgid "Invalid export format" -msgstr "Ugyldig værdi for overskud" +msgstr "" #: importer/models.py:56 msgid "Timestamp" @@ -4877,10 +4863,8 @@ msgid "Column does not exist in the data file" msgstr "" #: importer/models.py:372 -#, fuzzy -#| msgid "User does not have permission to view this model" msgid "Field does not exist in the target model" -msgstr "Bruger har ikke tilladelse til at se denne model" +msgstr "" #: importer/models.py:376 msgid "Selected field is read-only" @@ -4919,10 +4903,8 @@ msgid "Valid" msgstr "" #: importer/operations.py:28 importer/operations.py:49 -#, fuzzy -#| msgid "Unsupported file type" msgid "Unsupported data file format" -msgstr "Filtype ikke understøttet" +msgstr "" #: importer/operations.py:40 msgid "Failed to open data file" @@ -4941,10 +4923,8 @@ msgid "List of row IDs to accept" msgstr "" #: importer/serializers.py:149 -#, fuzzy -#| msgid "No data rows provided" msgid "No rows provided" -msgstr "Ingen data-rækker angivet" +msgstr "" #: importer/serializers.py:153 msgid "Row does not belong to this session" @@ -4955,10 +4935,8 @@ msgid "Row contains invalid data" msgstr "" #: importer/serializers.py:159 -#, fuzzy -#| msgid "A build order has been completed" msgid "Row has already been completed" -msgstr "En byggeordre er fuldført" +msgstr "" #: importer/status_codes.py:11 msgid "Initializing" @@ -4969,20 +4947,16 @@ msgid "Mapping Columns" msgstr "" #: importer/status_codes.py:13 -#, fuzzy -#| msgid "Completion Date" msgid "Importing Data" -msgstr "Dato for afslutning" +msgstr "" #: importer/status_codes.py:16 msgid "Processing Data" msgstr "" #: importer/validators.py:21 -#, fuzzy -#| msgid "Image download exceeded maximum size" msgid "Data file exceeds maximum size limit" -msgstr "Billeddownload overskred maksimumstørrelsen" +msgstr "" #: importer/validators.py:26 msgid "Data file contains no headers" @@ -4997,10 +4971,8 @@ msgid "Data file contains too many rows" msgstr "" #: importer/validators.py:49 -#, fuzzy -#| msgid "Metadata must be a python dict object" msgid "Value must be a valid dictionary object" -msgstr "Metadata skal være et python dict objekt" +msgstr "" #: machine/machine_types/label_printer.py:212 msgid "Copies" @@ -5378,10 +5350,8 @@ msgid "Purchase Order Extra Line" msgstr "" #: order/models.py:1532 -#, fuzzy -#| msgid "Sales Order Reference" msgid "Sales Order Line Item" -msgstr "Salgsordrereference" +msgstr "" #: order/models.py:1553 msgid "Virtual part cannot be assigned to a sales order" @@ -5412,10 +5382,8 @@ msgid "Shipped quantity" msgstr "" #: order/models.py:1667 -#, fuzzy -#| msgid "Sales Order Reference" msgid "Sales Order Shipment" -msgstr "Salgsordrereference" +msgstr "" #: order/models.py:1688 msgid "Date of shipment" @@ -5471,16 +5439,12 @@ msgid "Shipment has no allocated stock items" msgstr "" #: order/models.py:1828 -#, fuzzy -#| msgid "Sales Order Reference" msgid "Sales Order Extra Line" -msgstr "Salgsordrereference" +msgstr "" #: order/models.py:1857 -#, fuzzy -#| msgid "Sales Order Reference" msgid "Sales Order Allocation" -msgstr "Salgsordrereference" +msgstr "" #: order/models.py:1880 order/models.py:1882 msgid "Stock item has not been assigned" @@ -6591,16 +6555,12 @@ msgstr "" #: part/models.py:1090 templates/js/translated/part.js:818 #: templates/js/translated/table_filters.js:721 -#, fuzzy -#| msgid "Tracked" msgid "Locked" -msgstr "Sporet" +msgstr "" #: part/models.py:1091 -#, fuzzy -#| msgid "Build order part cannot be changed" msgid "Locked parts cannot be edited" -msgstr "Byggeordre enhed kan ikke ændres" +msgstr "" #: part/models.py:1097 msgid "Is this a virtual part, such as a software product or license?" @@ -9510,20 +9470,16 @@ msgid "StockItem cannot be moved as it is not in stock" msgstr "" #: stock/models.py:2317 -#, fuzzy -#| msgid "Stock item created" msgid "Stock Item Tracking" -msgstr "Lager-element oprettet" +msgstr "" #: stock/models.py:2350 msgid "Entry notes" msgstr "" #: stock/models.py:2390 -#, fuzzy -#| msgid "Stock item created" msgid "Stock Item Test Result" -msgstr "Lager-element oprettet" +msgstr "" #: stock/models.py:2423 msgid "Value must be provided for this test" @@ -9638,10 +9594,8 @@ msgid "Parent Item" msgstr "" #: stock/serializers.py:450 -#, fuzzy -#| msgid "Merged stock items" msgid "Parent stock item" -msgstr "Flettede lagervarer" +msgstr "" #: stock/serializers.py:469 msgid "Use pack size when adding: the quantity defined is the number of packs" @@ -14848,3 +14802,4 @@ msgstr "" #: users/models.py:408 msgid "Permission to delete items" msgstr "" + From 8849b669904b19045d9417aeaae109a7d16b818b Mon Sep 17 00:00:00 2001 From: Oliver Date: Tue, 9 Jul 2024 00:56:09 +1000 Subject: [PATCH 07/36] Fix: New translations django.po from Crowdin --- .../InvenTree/locale/de/LC_MESSAGES/django.po | 281 ++++-------------- 1 file changed, 65 insertions(+), 216 deletions(-) diff --git a/src/backend/InvenTree/locale/de/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/de/LC_MESSAGES/django.po index 890a24eb784f..09ff7930ca54 100644 --- a/src/backend/InvenTree/locale/de/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/de/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-07-08 14:46+0000\n" -"PO-Revision-Date: 2024-07-05 14:57\n" +"PO-Revision-Date: 2024-07-08 14:56\n" "Last-Translator: \n" "Language-Team: German\n" "Language: de_DE\n" @@ -783,16 +783,12 @@ msgid "Assembly BOM has not been validated" msgstr "" #: build/models.py:134 -#, fuzzy -#| msgid "Stock item cannot be created for virtual parts" msgid "Build order cannot be created for an inactive part" -msgstr "Für virtuelle Teile können keine Lagerartikel erstellt werden" +msgstr "" #: build/models.py:141 -#, fuzzy -#| msgid "Build output cannot be specified for allocation of untracked parts" msgid "Build order cannot be created for an unlocked part" -msgstr "Endprodukt kann bei Zuweisung nicht-verfolgter Teile nicht angegeben werden" +msgstr "" #: build/models.py:155 msgid "Invalid choice for parent build" @@ -1493,10 +1489,8 @@ msgid "Failed to start auto-allocation task" msgstr "Fehler beim Starten der automatischen Zuweisung" #: build/serializers.py:1095 -#, fuzzy -#| msgid "Supplier Part Orders" msgid "Supplier Part Number" -msgstr "Zulieferer-Bestellungen" +msgstr "" #: build/serializers.py:1096 company/models.py:500 msgid "Manufacturer Part Number" @@ -1508,16 +1502,12 @@ msgid "Location Name" msgstr "Ortsname" #: build/serializers.py:1098 -#, fuzzy -#| msgid "Build Order Reference" msgid "Build Reference" -msgstr "Bauauftragsreferenz" +msgstr "" #: build/serializers.py:1099 -#, fuzzy -#| msgid "Reference" msgid "BOM Reference" -msgstr "Referenz" +msgstr "" #: build/serializers.py:1186 part/admin.py:402 part/models.py:3993 msgid "Part IPN" @@ -1561,22 +1551,16 @@ msgid "Available Stock" msgstr "Verfügbarer Bestand" #: build/serializers.py:1224 -#, fuzzy -#| msgid "Substitute Stock" msgid "Available Substitute Stock" -msgstr "Ersatzbestand" +msgstr "" #: build/serializers.py:1225 -#, fuzzy -#| msgid "Allow Variant Stock" msgid "Available Variant Stock" -msgstr "Erlaube alternatives Lager" +msgstr "" #: build/serializers.py:1226 -#, fuzzy -#| msgid "Has Available Stock" msgid "Total Available Stock" -msgstr "Hat verfügbaren Bestand" +msgstr "" #: build/serializers.py:1227 part/serializers.py:862 msgid "External Stock" @@ -2789,16 +2773,12 @@ msgid "Prevent build order creation for inactive parts" msgstr "" #: common/models.py:1801 -#, fuzzy -#| msgid "Required Part" msgid "Require Locked Part" -msgstr "Benötigtes Teil" +msgstr "" #: common/models.py:1802 -#, fuzzy -#| msgid "No build order allocations found" msgid "Prevent build order creation for unlocked parts" -msgstr "Keine Allokationen für Bauauftrag gefunden" +msgstr "" #: common/models.py:1807 msgid "Require Valid BOM" @@ -3704,10 +3684,8 @@ msgid "Target model ID for this image" msgstr "" #: common/models.py:3035 -#, fuzzy -#| msgid "New Custom Unit" msgid "Custom Unit" -msgstr "Neue benutzerdefinierte Einheit" +msgstr "" #: common/models.py:3056 msgid "Unit symbol must be unique" @@ -4036,30 +4014,24 @@ msgid "Is this company active?" msgstr "Ist dieses Unternehmen aktiv?" #: company/models.py:168 -#, fuzzy -#| msgid "is customer" msgid "Is customer" -msgstr "ist Kunde" +msgstr "" #: company/models.py:169 msgid "Do you sell items to this company?" msgstr "Verkaufen Sie Teile an diese Firma?" #: company/models.py:174 -#, fuzzy -#| msgid "is supplier" msgid "Is supplier" -msgstr "ist Zulieferer" +msgstr "" #: company/models.py:175 msgid "Do you purchase items from this company?" msgstr "Kaufen Sie Teile von dieser Firma?" #: company/models.py:180 -#, fuzzy -#| msgid "is manufacturer" msgid "Is manufacturer" -msgstr "ist Hersteller" +msgstr "" #: company/models.py:181 msgid "Does this company manufacture parts?" @@ -4220,10 +4192,8 @@ msgid "Manufacturer part description" msgstr "Teilbeschreibung des Herstellers" #: company/models.py:569 -#, fuzzy -#| msgid "Manufacturer Part Number" msgid "Manufacturer Part Parameter" -msgstr "Hersteller-Teilenummer" +msgstr "" #: company/models.py:588 msgid "Parameter name" @@ -4379,20 +4349,16 @@ msgid "Date of last update of availability data" msgstr "Datum des letzten Updates der Verfügbarkeitsdaten" #: company/models.py:1015 -#, fuzzy -#| msgid "Delete Price Break" msgid "Supplier Price Break" -msgstr "Staffelpreis löschen" +msgstr "" #: company/serializers.py:174 msgid "Default currency used for this supplier" msgstr "Standard-Währung für diesen Zulieferer" #: company/serializers.py:210 -#, fuzzy -#| msgid "Company name" msgid "Company Name" -msgstr "Firmenname" +msgstr "" #: company/serializers.py:384 part/admin.py:126 part/serializers.py:855 #: part/templates/part/part_base.html:197 @@ -4853,42 +4819,32 @@ msgid "Placed" msgstr "Platziert" #: importer/mixins.py:263 -#, fuzzy -#| msgid "Invalid value for overage" msgid "Invalid export format" -msgstr "Ungültiger Wert für Ausschuss" +msgstr "" #: importer/models.py:56 msgid "Timestamp" msgstr "" #: importer/models.py:61 -#, fuzzy -#| msgid "Select file to upload" msgid "Data file to import" -msgstr "Datei zum Hochladen auswählen" +msgstr "" #: importer/models.py:70 templates/js/translated/tables.js:558 msgid "Columns" msgstr "Spalten" #: importer/models.py:81 -#, fuzzy -#| msgid "Import Parts" msgid "Import status" -msgstr "Teile importieren" +msgstr "" #: importer/models.py:91 -#, fuzzy -#| msgid "Build Details" msgid "Field Defaults" -msgstr "Bau-Status" +msgstr "" #: importer/models.py:201 -#, fuzzy -#| msgid "Required build quantity has not been completed" msgid "Some required fields have not been mapped" -msgstr "Benötigte Teil-Anzahl wurde noch nicht fertiggestellt" +msgstr "" #: importer/models.py:346 msgid "Column is already mapped to a database field" @@ -4907,44 +4863,32 @@ msgid "Column does not exist in the data file" msgstr "" #: importer/models.py:372 -#, fuzzy -#| msgid "User does not have permission to view this model" msgid "Field does not exist in the target model" -msgstr "Benutzer hat keine Berechtigung, dieses Modell anzuzeigen" +msgstr "" #: importer/models.py:376 msgid "Selected field is read-only" msgstr "" #: importer/models.py:381 importer/models.py:452 -#, fuzzy -#| msgid "Active Sessions" msgid "Import Session" -msgstr "Aktive Sitzungen" +msgstr "" #: importer/models.py:385 -#, fuzzy -#| msgid "Field Name" msgid "Field" -msgstr "Feldname" +msgstr "" #: importer/models.py:387 -#, fuzzy -#| msgid "Columns" msgid "Column" -msgstr "Spalten" +msgstr "" #: importer/models.py:456 -#, fuzzy -#| msgid "Index" msgid "Row Index" -msgstr "Index" +msgstr "" #: importer/models.py:459 -#, fuzzy -#| msgid "Original Part" msgid "Original row data" -msgstr "Originalteil" +msgstr "" #: importer/models.py:462 part/models.py:3841 msgid "Data" @@ -4959,10 +4903,8 @@ msgid "Valid" msgstr "Gültig" #: importer/operations.py:28 importer/operations.py:49 -#, fuzzy -#| msgid "Unsupported file format: {fmt}" msgid "Unsupported data file format" -msgstr "Nicht unterstütztes Dateiformat: {fmt}" +msgstr "" #: importer/operations.py:40 msgid "Failed to open data file" @@ -4981,62 +4923,44 @@ msgid "List of row IDs to accept" msgstr "" #: importer/serializers.py:149 -#, fuzzy -#| msgid "No data rows provided" msgid "No rows provided" -msgstr "Keine Zeilen ausgewählt" +msgstr "" #: importer/serializers.py:153 -#, fuzzy -#| msgid "Item cannot belong to itself" msgid "Row does not belong to this session" -msgstr "Teil kann nicht zu sich selbst gehören" +msgstr "" #: importer/serializers.py:156 msgid "Row contains invalid data" msgstr "" #: importer/serializers.py:159 -#, fuzzy -#| msgid "This build output has already been completed" msgid "Row has already been completed" -msgstr "Dieses Endprodukt wurde bereits fertiggestellt" +msgstr "" #: importer/status_codes.py:11 -#, fuzzy -#| msgid "Initialized" msgid "Initializing" -msgstr "Initialisiert" +msgstr "" #: importer/status_codes.py:12 -#, fuzzy -#| msgid "Columns" msgid "Mapping Columns" -msgstr "Spalten" +msgstr "" #: importer/status_codes.py:13 -#, fuzzy -#| msgid "Import Part" msgid "Importing Data" -msgstr "Teil importieren" +msgstr "" #: importer/status_codes.py:16 -#, fuzzy -#| msgid "Loading Data" msgid "Processing Data" -msgstr "Lade Daten" +msgstr "" #: importer/validators.py:21 -#, fuzzy -#| msgid "Image download exceeded maximum size" msgid "Data file exceeds maximum size limit" -msgstr "Bilddownload überschreitet maximale Größe" +msgstr "" #: importer/validators.py:26 -#, fuzzy -#| msgid "Stock item contains other items" msgid "Data file contains no headers" -msgstr "Lagerartikel enthält andere Artikel" +msgstr "" #: importer/validators.py:29 msgid "Data file contains too many columns" @@ -5047,10 +4971,8 @@ msgid "Data file contains too many rows" msgstr "" #: importer/validators.py:49 -#, fuzzy -#| msgid "Metadata must be a python dict object" msgid "Value must be a valid dictionary object" -msgstr "Metadaten müssen ein Python-Dict Objekt sein" +msgstr "" #: machine/machine_types/label_printer.py:212 msgid "Copies" @@ -5380,10 +5302,8 @@ msgid "Unit price" msgstr "Stückpreis" #: order/models.py:1361 -#, fuzzy -#| msgid "Purchase Order Items" msgid "Purchase Order Line Item" -msgstr "Bestellungs-Positionen" +msgstr "" #: order/models.py:1385 msgid "Supplier part must match supplier" @@ -5426,16 +5346,12 @@ 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:1503 -#, fuzzy -#| msgid "Purchase Order Items" msgid "Purchase Order Extra Line" -msgstr "Bestellungs-Positionen" +msgstr "" #: order/models.py:1532 -#, fuzzy -#| msgid "Sales Order Items" msgid "Sales Order Line Item" -msgstr "Auftrags-Positionen" +msgstr "" #: order/models.py:1553 msgid "Virtual part cannot be assigned to a sales order" @@ -5466,10 +5382,8 @@ msgid "Shipped quantity" msgstr "Versendete Menge" #: order/models.py:1667 -#, fuzzy -#| msgid "Sales Order Default Shipment" msgid "Sales Order Shipment" -msgstr "Auftrag Standardsendung" +msgstr "" #: order/models.py:1688 msgid "Date of shipment" @@ -5525,16 +5439,12 @@ msgid "Shipment has no allocated stock items" msgstr "Sendung hat keine zugewiesene Lagerartikel" #: order/models.py:1828 -#, fuzzy -#| msgid "Sales Order Items" msgid "Sales Order Extra Line" -msgstr "Auftrags-Positionen" +msgstr "" #: order/models.py:1857 -#, fuzzy -#| msgid "Sales Order Allocations" msgid "Sales Order Allocation" -msgstr "Verkaufsauftragszuweisungen" +msgstr "" #: order/models.py:1880 order/models.py:1882 msgid "Stock item has not been assigned" @@ -5598,10 +5508,8 @@ msgid "Return order status" msgstr "Status der Rücksendung" #: order/models.py:2237 -#, fuzzy -#| msgid "Return order line item" msgid "Return Order Line Item" -msgstr "Artikel der Bestellzeile zurücksenden" +msgstr "" #: order/models.py:2251 msgid "Only serialized items can be assigned to a Return Order" @@ -5633,10 +5541,8 @@ msgid "Cost associated with return or repair for this line item" msgstr "Kosten für die Rückgabe oder Reparatur dieses Objektes" #: order/models.py:2303 -#, fuzzy -#| msgid "Return Order Settings" msgid "Return Order Extra Line" -msgstr "Retourenbestellung Einstellungen" +msgstr "" #: order/serializers.py:83 order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 @@ -5692,10 +5598,8 @@ msgid "Internal Part Number" msgstr "Interne Teilenummer" #: order/serializers.py:530 -#, fuzzy -#| msgid "Internal Part Number" msgid "Internal Part Name" -msgstr "Interne Teilenummer" +msgstr "" #: order/serializers.py:546 msgid "Supplier part must be specified" @@ -6519,10 +6423,8 @@ msgid "You cannot make this part category structural because some parts are alre msgstr "Sie können diese Teilekategorie nicht als strukturell festlegen, da ihr bereits Teile zugewiesen sind!" #: part/models.py:486 -#, fuzzy -#| msgid "Cannot delete this part as it is still active" msgid "Cannot delete this part as it is locked" -msgstr "Dieses Teil kann nicht gelöscht werden, da es noch aktiv ist" +msgstr "" #: part/models.py:489 msgid "Cannot delete this part as it is still active" @@ -6653,16 +6555,12 @@ msgstr "Ist dieses Teil aktiv?" #: part/models.py:1090 templates/js/translated/part.js:818 #: templates/js/translated/table_filters.js:721 -#, fuzzy -#| msgid "Lock" msgid "Locked" -msgstr "Sperren" +msgstr "" #: part/models.py:1091 -#, fuzzy -#| msgid "This part cannot be serialized" msgid "Locked parts cannot be edited" -msgstr "Dieser Teil kann nicht serialisiert werden" +msgstr "" #: part/models.py:1097 msgid "Is this a virtual part, such as a software product or license?" @@ -6911,16 +6809,12 @@ msgid "User who requested this stocktake report" msgstr "Benutzer, der diesen Inventurbericht angefordert hat" #: part/models.py:3301 -#, fuzzy -#| msgid "Add Sell Price Break" msgid "Part Sale Price Break" -msgstr "Verkaufspreisstaffel hinzufügen" +msgstr "" #: part/models.py:3413 -#, fuzzy -#| msgid "Part Test Templates" msgid "Part Test Template" -msgstr "Teil Test-Vorlagen" +msgstr "" #: part/models.py:3439 msgid "Invalid template name - must include at least one alphanumeric character" @@ -7006,10 +6900,8 @@ msgid "Valid choices for this test (comma-separated)" msgstr "Gültige Optionen für diesen Test (durch Komma getrennt)" #: part/models.py:3577 -#, fuzzy -#| msgid "Part Parameter Templates" msgid "Part Parameter Template" -msgstr "Teil-Parametervorlage" +msgstr "" #: part/models.py:3604 msgid "Checkbox parameters cannot have units" @@ -7049,16 +6941,12 @@ msgid "Valid choices for this parameter (comma-separated)" msgstr "Gültige Optionen für diesen Parameter (durch Kommas getrennt)" #: part/models.py:3723 -#, fuzzy -#| msgid "Part Parameters" msgid "Part Parameter" -msgstr "Teilparameter" +msgstr "" #: part/models.py:3749 -#, fuzzy -#| msgid "Part cannot be deleted as it is currently active" msgid "Parameter cannot be modified - part is locked" -msgstr "Teil kann nicht gelöscht werden, da es derzeit aktiv ist" +msgstr "" #: part/models.py:3785 msgid "Invalid choice for parameter value" @@ -7078,10 +6966,8 @@ msgid "Parameter Value" msgstr "Parameter Wert" #: part/models.py:3892 -#, fuzzy -#| msgid "Create Category Parameter Template" msgid "Part Category Parameter Template" -msgstr "Kategorieparameter Vorlage erstellen" +msgstr "" #: part/models.py:3951 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" @@ -9584,20 +9470,16 @@ 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:2317 -#, fuzzy -#| msgid "Stock Tracking" msgid "Stock Item Tracking" -msgstr "Lagerartikel-Verfolgung" +msgstr "" #: stock/models.py:2350 msgid "Entry notes" msgstr "Eintrags-Notizen" #: stock/models.py:2390 -#, fuzzy -#| msgid "Stock Item Test Report" msgid "Stock Item Test Result" -msgstr "Lagerartikel Test-Bericht" +msgstr "" #: stock/models.py:2423 msgid "Value must be provided for this test" @@ -9712,10 +9594,8 @@ msgid "Parent Item" msgstr "Elternposition" #: stock/serializers.py:450 -#, fuzzy -#| msgid "Parent Stock Item" msgid "Parent stock item" -msgstr "Eltern-Lagerartikel" +msgstr "" #: stock/serializers.py:469 msgid "Use pack size when adding: the quantity defined is the number of packs" @@ -9736,26 +9616,20 @@ msgid "Child Items" msgstr "Untergeordnete Objekte" #: stock/serializers.py:598 -#, fuzzy -#| msgid "Tracking" msgid "Tracking Items" -msgstr "Nachverfolgen" +msgstr "" #: stock/serializers.py:604 msgid "Purchase price of this stock item, per unit or pack" msgstr "Einkaufspreis dieses Lagerartikels, pro Einheit oder Verpackungseinheit" #: stock/serializers.py:623 -#, fuzzy -#| msgid "Minimum Price" msgid "Minimum Pricing" -msgstr "Niedrigster Preis" +msgstr "" #: stock/serializers.py:629 -#, fuzzy -#| msgid "Maximum Price" msgid "Maximum Pricing" -msgstr "Höchster Preis" +msgstr "" #: stock/serializers.py:653 msgid "Enter number of stock items to serialize" @@ -14516,10 +14390,8 @@ msgid "Show active parts" msgstr "Aktive Teile anzeigen" #: templates/js/translated/table_filters.js:722 -#, fuzzy -#| msgid "Show related parts" msgid "Show locked parts" -msgstr "Verwandte Teile anzeigen" +msgstr "" #: templates/js/translated/table_filters.js:730 msgid "Available stock" @@ -14931,26 +14803,3 @@ msgstr "Berechtigungen Einträge zu ändern" msgid "Permission to delete items" msgstr "Berechtigung Einträge zu löschen" -#~ msgid "Default part label template" -#~ msgstr "Standardvorlage für Teilebeschriftung" - -#~ msgid "The part label template to be automatically selected" -#~ msgstr "Die Teil-Etikettenvorlage, die automatisch ausgewählt werden soll" - -#~ msgid "Default stock item template" -#~ msgstr "Lagerartikel-Standardvorlage" - -#~ msgid "The stock item label template to be automatically selected" -#~ msgstr "Die Lagerartikel-Etikettenvorlage soll automatisch ausgewählt werden" - -#~ msgid "Default stock location label template" -#~ msgstr "Standardetikettenvorlage für Lagerstandort" - -#~ msgid "The stock location label template to be automatically selected" -#~ msgstr "Die Lagerstandort-Etikettenvorlage, die automatisch ausgewählt werden soll" - -#~ msgid "Default build line label template" -#~ msgstr "Standardetikettenvorlage für Bauauftragspositionen" - -#~ msgid "The build line label template to be automatically selected" -#~ msgstr "Die Bauauftragspositionsetikettenvorlage welche automatisch ausgewählt werden soll" From 2c8031e5ea444e7f6380a2b84b9a42d9ad70aa7b Mon Sep 17 00:00:00 2001 From: Oliver Date: Tue, 9 Jul 2024 00:56:11 +1000 Subject: [PATCH 08/36] Fix: New translations django.po from Crowdin --- .../InvenTree/locale/el/LC_MESSAGES/django.po | 119 +++++------------- 1 file changed, 31 insertions(+), 88 deletions(-) diff --git a/src/backend/InvenTree/locale/el/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/el/LC_MESSAGES/django.po index 7c6dd61c0acf..6b2243c8864b 100644 --- a/src/backend/InvenTree/locale/el/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/el/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-07-08 14:46+0000\n" -"PO-Revision-Date: 2024-07-05 14:57\n" +"PO-Revision-Date: 2024-07-08 14:56\n" "Last-Translator: \n" "Language-Team: Greek\n" "Language: el_GR\n" @@ -783,16 +783,12 @@ msgid "Assembly BOM has not been validated" msgstr "" #: build/models.py:134 -#, fuzzy -#| msgid "Build Order cannot be completed as outstanding outputs remain" msgid "Build order cannot be created for an inactive part" -msgstr "Η Εντολή Κατασκευής δεν μπορεί να ολοκληρωθεί καθώς υπάρχουν εκκρεμή προϊόντα" +msgstr "" #: build/models.py:141 -#, fuzzy -#| msgid "Build order part cannot be changed" msgid "Build order cannot be created for an unlocked part" -msgstr "Εξάρτημα από εντολή κατασκευής δεν μπορεί να αλλάξει" +msgstr "" #: build/models.py:155 msgid "Invalid choice for parent build" @@ -1493,10 +1489,8 @@ msgid "Failed to start auto-allocation task" msgstr "" #: build/serializers.py:1095 -#, fuzzy -#| msgid "Serial Numbers" msgid "Supplier Part Number" -msgstr "Σειριακοί αριθμοί" +msgstr "" #: build/serializers.py:1096 company/models.py:500 msgid "Manufacturer Part Number" @@ -1508,16 +1502,12 @@ msgid "Location Name" msgstr "" #: build/serializers.py:1098 -#, fuzzy -#| msgid "Build Order Reference" msgid "Build Reference" -msgstr "Αναφορά Παραγγελίας Κατασκευής" +msgstr "" #: build/serializers.py:1099 -#, fuzzy -#| msgid "Reference" msgid "BOM Reference" -msgstr "Αναφορά" +msgstr "" #: build/serializers.py:1186 part/admin.py:402 part/models.py:3993 msgid "Part IPN" @@ -1569,10 +1559,8 @@ msgid "Available Variant Stock" msgstr "" #: build/serializers.py:1226 -#, fuzzy -#| msgid "Available" msgid "Total Available Stock" -msgstr "Διαθέσιμο" +msgstr "" #: build/serializers.py:1227 part/serializers.py:862 msgid "External Stock" @@ -2789,10 +2777,8 @@ msgid "Require Locked Part" msgstr "" #: common/models.py:1802 -#, fuzzy -#| msgid "Print build order report" msgid "Prevent build order creation for unlocked parts" -msgstr "Εκτύπωση αναφοράς εντολών κατασκευής" +msgstr "" #: common/models.py:1807 msgid "Require Valid BOM" @@ -4028,10 +4014,8 @@ msgid "Is this company active?" msgstr "" #: company/models.py:168 -#, fuzzy -#| msgid "Sent to customer" msgid "Is customer" -msgstr "Απεστάλη στον πελάτη" +msgstr "" #: company/models.py:169 msgid "Do you sell items to this company?" @@ -4835,10 +4819,8 @@ msgid "Placed" msgstr "Τοποθετήθηκε" #: importer/mixins.py:263 -#, fuzzy -#| msgid "Invalid value for overage" msgid "Invalid export format" -msgstr "Μη έγκυρη τιμή για υπέρβαση" +msgstr "" #: importer/models.py:56 msgid "Timestamp" @@ -4857,16 +4839,12 @@ msgid "Import status" msgstr "" #: importer/models.py:91 -#, fuzzy -#| msgid "Build Details" msgid "Field Defaults" -msgstr "Λεπτομέρειες Κατασκευής" +msgstr "" #: importer/models.py:201 -#, fuzzy -#| msgid "Required build quantity has not been completed" msgid "Some required fields have not been mapped" -msgstr "Ο απαιτούμενος αριθμός προϊόντων δεν έχει ολοκληρωθεί" +msgstr "" #: importer/models.py:346 msgid "Column is already mapped to a database field" @@ -4885,10 +4863,8 @@ msgid "Column does not exist in the data file" msgstr "" #: importer/models.py:372 -#, fuzzy -#| msgid "User does not have permission to view this model" msgid "Field does not exist in the target model" -msgstr "Δεν έχετε δικαιώματα να το δείτε αυτό" +msgstr "" #: importer/models.py:376 msgid "Selected field is read-only" @@ -4927,10 +4903,8 @@ msgid "Valid" msgstr "" #: importer/operations.py:28 importer/operations.py:49 -#, fuzzy -#| msgid "Unsupported file type" msgid "Unsupported data file format" -msgstr "Μη υποστηριζόμενος τύπος αρχείου" +msgstr "" #: importer/operations.py:40 msgid "Failed to open data file" @@ -4949,10 +4923,8 @@ msgid "List of row IDs to accept" msgstr "" #: importer/serializers.py:149 -#, fuzzy -#| msgid "No data rows provided" msgid "No rows provided" -msgstr "Δεν παρασχέθηκαν σειρές δεδομένων" +msgstr "" #: importer/serializers.py:153 msgid "Row does not belong to this session" @@ -4963,10 +4935,8 @@ msgid "Row contains invalid data" msgstr "" #: importer/serializers.py:159 -#, fuzzy -#| msgid "This build output has already been completed" msgid "Row has already been completed" -msgstr "Η παραγγελία κατασκευής έχει ολοκληρωθεί" +msgstr "" #: importer/status_codes.py:11 msgid "Initializing" @@ -4977,20 +4947,16 @@ msgid "Mapping Columns" msgstr "" #: importer/status_codes.py:13 -#, fuzzy -#| msgid "Completion Date" msgid "Importing Data" -msgstr "Ημερομηνία ολοκλήρωσης" +msgstr "" #: importer/status_codes.py:16 msgid "Processing Data" msgstr "" #: importer/validators.py:21 -#, fuzzy -#| msgid "Image download exceeded maximum size" msgid "Data file exceeds maximum size limit" -msgstr "Η λήψη εικόνας ξεπέρασε το μέγιστο μέγεθος" +msgstr "" #: importer/validators.py:26 msgid "Data file contains no headers" @@ -5005,10 +4971,8 @@ msgid "Data file contains too many rows" msgstr "" #: importer/validators.py:49 -#, fuzzy -#| msgid "Metadata must be a python dict object" msgid "Value must be a valid dictionary object" -msgstr "Τα μεταδεδομένα πρέπει να είναι ένα αντικείμενο dict python" +msgstr "" #: machine/machine_types/label_printer.py:212 msgid "Copies" @@ -5338,10 +5302,8 @@ msgid "Unit price" msgstr "" #: order/models.py:1361 -#, fuzzy -#| msgid "Build Line Item" msgid "Purchase Order Line Item" -msgstr "Αντικείμενο Γραμμής Κατασκευής" +msgstr "" #: order/models.py:1385 msgid "Supplier part must match supplier" @@ -5388,10 +5350,8 @@ msgid "Purchase Order Extra Line" msgstr "" #: order/models.py:1532 -#, fuzzy -#| msgid "Sales Order" msgid "Sales Order Line Item" -msgstr "Εντολές Πώλησης" +msgstr "" #: order/models.py:1553 msgid "Virtual part cannot be assigned to a sales order" @@ -5422,10 +5382,8 @@ msgid "Shipped quantity" msgstr "" #: order/models.py:1667 -#, fuzzy -#| msgid "Sales Order" msgid "Sales Order Shipment" -msgstr "Εντολές Πώλησης" +msgstr "" #: order/models.py:1688 msgid "Date of shipment" @@ -5481,16 +5439,12 @@ msgid "Shipment has no allocated stock items" msgstr "" #: order/models.py:1828 -#, fuzzy -#| msgid "Sales Order Reference" msgid "Sales Order Extra Line" -msgstr "Κωδικός Παραγγελίας Πωλήσεων" +msgstr "" #: order/models.py:1857 -#, fuzzy -#| msgid "Discard Allocations" msgid "Sales Order Allocation" -msgstr "Απόρριψη Κατανομών" +msgstr "" #: order/models.py:1880 order/models.py:1882 msgid "Stock item has not been assigned" @@ -5554,10 +5508,8 @@ msgid "Return order status" msgstr "" #: order/models.py:2237 -#, fuzzy -#| msgid "Build Line Item" msgid "Return Order Line Item" -msgstr "Αντικείμενο Γραμμής Κατασκευής" +msgstr "" #: order/models.py:2251 msgid "Only serialized items can be assigned to a Return Order" @@ -6603,16 +6555,12 @@ msgstr "" #: part/models.py:1090 templates/js/translated/part.js:818 #: templates/js/translated/table_filters.js:721 -#, fuzzy -#| msgid "Tracked" msgid "Locked" -msgstr "Υπό παρακολούθηση" +msgstr "" #: part/models.py:1091 -#, fuzzy -#| msgid "Build order part cannot be changed" msgid "Locked parts cannot be edited" -msgstr "Εξάρτημα από εντολή κατασκευής δεν μπορεί να αλλάξει" +msgstr "" #: part/models.py:1097 msgid "Is this a virtual part, such as a software product or license?" @@ -9522,20 +9470,16 @@ msgid "StockItem cannot be moved as it is not in stock" msgstr "" #: stock/models.py:2317 -#, fuzzy -#| msgid "Stock Item" msgid "Stock Item Tracking" -msgstr "Στοιχείο Αποθέματος" +msgstr "" #: stock/models.py:2350 msgid "Entry notes" msgstr "" #: stock/models.py:2390 -#, fuzzy -#| msgid "Stock item created" msgid "Stock Item Test Result" -msgstr "Το αντικείμενο αποθεμάτων δημιουργήθηκε" +msgstr "" #: stock/models.py:2423 msgid "Value must be provided for this test" @@ -9650,10 +9594,8 @@ msgid "Parent Item" msgstr "" #: stock/serializers.py:450 -#, fuzzy -#| msgid "Source stock item" msgid "Parent stock item" -msgstr "Στοιχείο πηγαίου αποθέματος" +msgstr "" #: stock/serializers.py:469 msgid "Use pack size when adding: the quantity defined is the number of packs" @@ -14860,3 +14802,4 @@ msgstr "" #: users/models.py:408 msgid "Permission to delete items" msgstr "" + From 2da5dcd8e9b7f840c246c2d37d78e2cee988da81 Mon Sep 17 00:00:00 2001 From: Oliver Date: Tue, 9 Jul 2024 00:56:13 +1000 Subject: [PATCH 09/36] Fix: New translations django.po from Crowdin --- .../InvenTree/locale/fi/LC_MESSAGES/django.po | 99 +++++-------------- 1 file changed, 26 insertions(+), 73 deletions(-) diff --git a/src/backend/InvenTree/locale/fi/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/fi/LC_MESSAGES/django.po index fbc3a9aa75ab..f6dbd23f356c 100644 --- a/src/backend/InvenTree/locale/fi/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/fi/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-07-08 14:46+0000\n" -"PO-Revision-Date: 2024-07-05 14:57\n" +"PO-Revision-Date: 2024-07-08 14:56\n" "Last-Translator: \n" "Language-Team: Finnish\n" "Language: fi_FI\n" @@ -1489,10 +1489,8 @@ msgid "Failed to start auto-allocation task" msgstr "" #: build/serializers.py:1095 -#, fuzzy -#| msgid "Manufacturer Part Number" msgid "Supplier Part Number" -msgstr "Valmistajan osanumero" +msgstr "" #: build/serializers.py:1096 company/models.py:500 msgid "Manufacturer Part Number" @@ -1504,16 +1502,12 @@ msgid "Location Name" msgstr "" #: build/serializers.py:1098 -#, fuzzy -#| msgid "Order reference" msgid "Build Reference" -msgstr "Tilauksen viite" +msgstr "" #: build/serializers.py:1099 -#, fuzzy -#| msgid "Order reference" msgid "BOM Reference" -msgstr "Tilauksen viite" +msgstr "" #: build/serializers.py:1186 part/admin.py:402 part/models.py:3993 msgid "Part IPN" @@ -1565,10 +1559,8 @@ msgid "Available Variant Stock" msgstr "" #: build/serializers.py:1226 -#, fuzzy -#| msgid "Available" msgid "Total Available Stock" -msgstr "Saatavilla" +msgstr "" #: build/serializers.py:1227 part/serializers.py:862 msgid "External Stock" @@ -3692,10 +3684,8 @@ msgid "Target model ID for this image" msgstr "" #: common/models.py:3035 -#, fuzzy -#| msgid "Customer" msgid "Custom Unit" -msgstr "Asiakas" +msgstr "" #: common/models.py:3056 msgid "Unit symbol must be unique" @@ -4024,30 +4014,24 @@ msgid "Is this company active?" msgstr "" #: company/models.py:168 -#, fuzzy -#| msgid "is customer" msgid "Is customer" -msgstr "on asiakas" +msgstr "" #: company/models.py:169 msgid "Do you sell items to this company?" msgstr "" #: company/models.py:174 -#, fuzzy -#| msgid "is supplier" msgid "Is supplier" -msgstr "on toimittaja" +msgstr "" #: company/models.py:175 msgid "Do you purchase items from this company?" msgstr "" #: company/models.py:180 -#, fuzzy -#| msgid "is manufacturer" msgid "Is manufacturer" -msgstr "on valmistaja" +msgstr "" #: company/models.py:181 msgid "Does this company manufacture parts?" @@ -4208,10 +4192,8 @@ msgid "Manufacturer part description" msgstr "" #: company/models.py:569 -#, fuzzy -#| msgid "Manufacturer Part Number" msgid "Manufacturer Part Parameter" -msgstr "Valmistajan osanumero" +msgstr "" #: company/models.py:588 msgid "Parameter name" @@ -4375,10 +4357,8 @@ msgid "Default currency used for this supplier" msgstr "" #: company/serializers.py:210 -#, fuzzy -#| msgid "Company name" msgid "Company Name" -msgstr "Yrityksen nimi" +msgstr "" #: company/serializers.py:384 part/admin.py:126 part/serializers.py:855 #: part/templates/part/part_base.html:197 @@ -4847,20 +4827,16 @@ msgid "Timestamp" msgstr "" #: importer/models.py:61 -#, fuzzy -#| msgid "Select file to upload" msgid "Data file to import" -msgstr "Valitse lähetettävä tiedosto" +msgstr "" #: importer/models.py:70 templates/js/translated/tables.js:558 msgid "Columns" msgstr "" #: importer/models.py:81 -#, fuzzy -#| msgid "Server status" msgid "Import status" -msgstr "Palvelimen tila" +msgstr "" #: importer/models.py:91 msgid "Field Defaults" @@ -4887,20 +4863,16 @@ msgid "Column does not exist in the data file" msgstr "" #: importer/models.py:372 -#, fuzzy -#| msgid "User does not have permission to view this model" msgid "Field does not exist in the target model" -msgstr "Käyttäjän oikeudet eivät riitä kohteen tarkastelemiseen" +msgstr "" #: importer/models.py:376 msgid "Selected field is read-only" msgstr "" #: importer/models.py:381 importer/models.py:452 -#, fuzzy -#| msgid "Active Sessions" msgid "Import Session" -msgstr "Aktiiviset istunnot" +msgstr "" #: importer/models.py:385 msgid "Field" @@ -4931,10 +4903,8 @@ msgid "Valid" msgstr "" #: importer/operations.py:28 importer/operations.py:49 -#, fuzzy -#| msgid "Unsupported file format: {fmt}" msgid "Unsupported data file format" -msgstr "Tiedostomuotoa ei tueta: {fmt}" +msgstr "" #: importer/operations.py:40 msgid "Failed to open data file" @@ -4953,10 +4923,8 @@ msgid "List of row IDs to accept" msgstr "" #: importer/serializers.py:149 -#, fuzzy -#| msgid "No data rows provided" msgid "No rows provided" -msgstr "Datarivejä ei annettu" +msgstr "" #: importer/serializers.py:153 msgid "Row does not belong to this session" @@ -4967,10 +4935,8 @@ msgid "Row contains invalid data" msgstr "" #: importer/serializers.py:159 -#, fuzzy -#| msgid "Some languages are not complete" msgid "Row has already been completed" -msgstr "Jotkin kielet eivät ole valmiita" +msgstr "" #: importer/status_codes.py:11 msgid "Initializing" @@ -4989,10 +4955,8 @@ msgid "Processing Data" msgstr "" #: importer/validators.py:21 -#, fuzzy -#| msgid "Image download exceeded maximum size" msgid "Data file exceeds maximum size limit" -msgstr "Kuvan lataus ylitti enimmäiskoon" +msgstr "" #: importer/validators.py:26 msgid "Data file contains no headers" @@ -5007,10 +4971,8 @@ msgid "Data file contains too many rows" msgstr "" #: importer/validators.py:49 -#, fuzzy -#| msgid "Metadata must be a python dict object" msgid "Value must be a valid dictionary object" -msgstr "Metatietojen tulee olla python dict objekti" +msgstr "" #: machine/machine_types/label_printer.py:212 msgid "Copies" @@ -5481,10 +5443,8 @@ msgid "Sales Order Extra Line" msgstr "" #: order/models.py:1857 -#, fuzzy -#| msgid "Delete location" msgid "Sales Order Allocation" -msgstr "Poista sijainti" +msgstr "" #: order/models.py:1880 order/models.py:1882 msgid "Stock item has not been assigned" @@ -5638,10 +5598,8 @@ msgid "Internal Part Number" msgstr "" #: order/serializers.py:530 -#, fuzzy -#| msgid "Internal Prices" msgid "Internal Part Name" -msgstr "Sisäiset hinnat" +msgstr "" #: order/serializers.py:546 msgid "Supplier part must be specified" @@ -9512,20 +9470,16 @@ msgid "StockItem cannot be moved as it is not in stock" msgstr "" #: stock/models.py:2317 -#, fuzzy -#| msgid "Stock Item" msgid "Stock Item Tracking" -msgstr "Varastotuote" +msgstr "" #: stock/models.py:2350 msgid "Entry notes" msgstr "" #: stock/models.py:2390 -#, fuzzy -#| msgid "Stock item created" msgid "Stock Item Test Result" -msgstr "Varastotuote luotu" +msgstr "" #: stock/models.py:2423 msgid "Value must be provided for this test" @@ -9662,10 +9616,8 @@ msgid "Child Items" msgstr "" #: stock/serializers.py:598 -#, fuzzy -#| msgid "Tracking Number" msgid "Tracking Items" -msgstr "Seurantakoodi" +msgstr "" #: stock/serializers.py:604 msgid "Purchase price of this stock item, per unit or pack" @@ -14850,3 +14802,4 @@ msgstr "Oikeus muokata kohteita" #: users/models.py:408 msgid "Permission to delete items" msgstr "Oikeus poistaa kohteita" + From 03e628119381c8068abb01b544d7cd05cc36a65c Mon Sep 17 00:00:00 2001 From: Oliver Date: Tue, 9 Jul 2024 00:56:15 +1000 Subject: [PATCH 10/36] Fix: New translations django.po from Crowdin --- .../InvenTree/locale/he/LC_MESSAGES/django.po | 19 ++++++------------- 1 file changed, 6 insertions(+), 13 deletions(-) diff --git a/src/backend/InvenTree/locale/he/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/he/LC_MESSAGES/django.po index 4c73e1b5fe0e..f55b11cd6072 100644 --- a/src/backend/InvenTree/locale/he/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/he/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-07-08 14:46+0000\n" -"PO-Revision-Date: 2024-07-05 14:57\n" +"PO-Revision-Date: 2024-07-08 14:56\n" "Last-Translator: \n" "Language-Team: Hebrew\n" "Language: he_IL\n" @@ -1489,10 +1489,8 @@ msgid "Failed to start auto-allocation task" msgstr "" #: build/serializers.py:1095 -#, fuzzy -#| msgid "Serial Numbers" msgid "Supplier Part Number" -msgstr "מספרים סידוריים" +msgstr "" #: build/serializers.py:1096 company/models.py:500 msgid "Manufacturer Part Number" @@ -1504,16 +1502,12 @@ msgid "Location Name" msgstr "" #: build/serializers.py:1098 -#, fuzzy -#| msgid "Reference" msgid "Build Reference" -msgstr "מקט" +msgstr "" #: build/serializers.py:1099 -#, fuzzy -#| msgid "Reference" msgid "BOM Reference" -msgstr "מקט" +msgstr "" #: build/serializers.py:1186 part/admin.py:402 part/models.py:3993 msgid "Part IPN" @@ -4020,10 +4014,8 @@ msgid "Is this company active?" msgstr "" #: company/models.py:168 -#, fuzzy -#| msgid "Sent to customer" msgid "Is customer" -msgstr "נשלח ללקוח" +msgstr "" #: company/models.py:169 msgid "Do you sell items to this company?" @@ -14810,3 +14802,4 @@ msgstr "" #: users/models.py:408 msgid "Permission to delete items" msgstr "" + From 4960bf283c583701ab7c36abbcc264c9bbf157c0 Mon Sep 17 00:00:00 2001 From: Oliver Date: Tue, 9 Jul 2024 00:56:17 +1000 Subject: [PATCH 11/36] Fix: New translations django.po from Crowdin --- .../InvenTree/locale/hu/LC_MESSAGES/django.po | 284 ++++-------------- 1 file changed, 66 insertions(+), 218 deletions(-) diff --git a/src/backend/InvenTree/locale/hu/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/hu/LC_MESSAGES/django.po index ca2fa6c97a19..9ac7255c8c78 100644 --- a/src/backend/InvenTree/locale/hu/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/hu/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-07-08 14:46+0000\n" -"PO-Revision-Date: 2024-07-05 14:57\n" +"PO-Revision-Date: 2024-07-08 14:56\n" "Last-Translator: \n" "Language-Team: Hungarian\n" "Language: hu_HU\n" @@ -783,16 +783,12 @@ msgid "Assembly BOM has not been validated" msgstr "" #: build/models.py:134 -#, fuzzy -#| msgid "Stock item cannot be created for virtual parts" msgid "Build order cannot be created for an inactive part" -msgstr "Virtuális alkatrészből nem lehet készletet létrehozni" +msgstr "" #: build/models.py:141 -#, fuzzy -#| msgid "Build output cannot be specified for allocation of untracked parts" msgid "Build order cannot be created for an unlocked part" -msgstr "Gyártási kimenetet nem lehet megadni a követésre kötelezett alkatrészek lefoglalásához" +msgstr "" #: build/models.py:155 msgid "Invalid choice for parent build" @@ -1341,8 +1337,7 @@ msgstr "Hiányos foglalás elfogadása" #: build/serializers.py:530 msgid "Complete outputs if stock has not been fully allocated" -msgstr "" -"Kimenetek befejezése akkor is ha a készlet nem\n" +msgstr "Kimenetek befejezése akkor is ha a készlet nem\n" "lett teljesen lefoglalva" #: build/serializers.py:615 @@ -1495,10 +1490,8 @@ msgid "Failed to start auto-allocation task" msgstr "Nem sikerült az automatikus lefoglalás feladatot elindítani" #: build/serializers.py:1095 -#, fuzzy -#| msgid "Supplier Part Orders" msgid "Supplier Part Number" -msgstr "Beszállítói alkatrész rendelések" +msgstr "" #: build/serializers.py:1096 company/models.py:500 msgid "Manufacturer Part Number" @@ -1510,16 +1503,12 @@ msgid "Location Name" msgstr "Hely neve" #: build/serializers.py:1098 -#, fuzzy -#| msgid "Build Order Reference" msgid "Build Reference" -msgstr "Gyártási utasítás azonosító" +msgstr "" #: build/serializers.py:1099 -#, fuzzy -#| msgid "Reference" msgid "BOM Reference" -msgstr "Azonosító" +msgstr "" #: build/serializers.py:1186 part/admin.py:402 part/models.py:3993 msgid "Part IPN" @@ -1563,22 +1552,16 @@ msgid "Available Stock" msgstr "Elérhető készlet" #: build/serializers.py:1224 -#, fuzzy -#| msgid "Substitute Stock" msgid "Available Substitute Stock" -msgstr "Készlet helyettesítés" +msgstr "" #: build/serializers.py:1225 -#, fuzzy -#| msgid "Allow Variant Stock" msgid "Available Variant Stock" -msgstr "Készlet változatok engedélyezése" +msgstr "" #: build/serializers.py:1226 -#, fuzzy -#| msgid "Has Available Stock" msgid "Total Available Stock" -msgstr "Van elérhető készlete" +msgstr "" #: build/serializers.py:1227 part/serializers.py:862 msgid "External Stock" @@ -2791,16 +2774,12 @@ msgid "Prevent build order creation for inactive parts" msgstr "" #: common/models.py:1801 -#, fuzzy -#| msgid "Required Part" msgid "Require Locked Part" -msgstr "Szükséges alkatrész" +msgstr "" #: common/models.py:1802 -#, fuzzy -#| msgid "No build order allocations found" msgid "Prevent build order creation for unlocked parts" -msgstr "Nincs gyártási utasításhoz történő foglalás" +msgstr "" #: common/models.py:1807 msgid "Require Valid BOM" @@ -3706,10 +3685,8 @@ msgid "Target model ID for this image" msgstr "" #: common/models.py:3035 -#, fuzzy -#| msgid "New Custom Unit" msgid "Custom Unit" -msgstr "Új egyedi mértékegység" +msgstr "" #: common/models.py:3056 msgid "Unit symbol must be unique" @@ -4038,30 +4015,24 @@ msgid "Is this company active?" msgstr "Ez a vállalat aktív?" #: company/models.py:168 -#, fuzzy -#| msgid "is customer" msgid "Is customer" -msgstr "vevő-e" +msgstr "" #: company/models.py:169 msgid "Do you sell items to this company?" msgstr "Értékesítesz alkatrészeket ennek a cégnek?" #: company/models.py:174 -#, fuzzy -#| msgid "is supplier" msgid "Is supplier" -msgstr "beszállító-e" +msgstr "" #: company/models.py:175 msgid "Do you purchase items from this company?" msgstr "Vásárolsz alkatrészeket ettől a cégtől?" #: company/models.py:180 -#, fuzzy -#| msgid "is manufacturer" msgid "Is manufacturer" -msgstr "gyártó-e" +msgstr "" #: company/models.py:181 msgid "Does this company manufacture parts?" @@ -4222,10 +4193,8 @@ msgid "Manufacturer part description" msgstr "Gyártói alkatrész leírása" #: company/models.py:569 -#, fuzzy -#| msgid "Manufacturer Part Number" msgid "Manufacturer Part Parameter" -msgstr "Gyártói cikkszám" +msgstr "" #: company/models.py:588 msgid "Parameter name" @@ -4381,20 +4350,16 @@ msgid "Date of last update of availability data" msgstr "Utolsó elérhetőségi adat frissítés" #: company/models.py:1015 -#, fuzzy -#| msgid "Delete Price Break" msgid "Supplier Price Break" -msgstr "Ársáv törlése" +msgstr "" #: company/serializers.py:174 msgid "Default currency used for this supplier" msgstr "Beszállító által használt alapértelmezett pénznem" #: company/serializers.py:210 -#, fuzzy -#| msgid "Company name" msgid "Company Name" -msgstr "Cég neve" +msgstr "" #: company/serializers.py:384 part/admin.py:126 part/serializers.py:855 #: part/templates/part/part_base.html:197 @@ -4855,42 +4820,32 @@ msgid "Placed" msgstr "Kiküldve" #: importer/mixins.py:263 -#, fuzzy -#| msgid "Invalid value for overage" msgid "Invalid export format" -msgstr "Érvénytelen érték a túlszállításra" +msgstr "" #: importer/models.py:56 msgid "Timestamp" msgstr "" #: importer/models.py:61 -#, fuzzy -#| msgid "Select file to upload" msgid "Data file to import" -msgstr "Feltöltendő fájl kiválasztása" +msgstr "" #: importer/models.py:70 templates/js/translated/tables.js:558 msgid "Columns" msgstr "Oszlopok" #: importer/models.py:81 -#, fuzzy -#| msgid "Import Parts" msgid "Import status" -msgstr "Alkatrészek importálása" +msgstr "" #: importer/models.py:91 -#, fuzzy -#| msgid "Build Details" msgid "Field Defaults" -msgstr "Gyártás részletei" +msgstr "" #: importer/models.py:201 -#, fuzzy -#| msgid "Required build quantity has not been completed" msgid "Some required fields have not been mapped" -msgstr "Szükséges gyártási mennyiség nem lett elérve" +msgstr "" #: importer/models.py:346 msgid "Column is already mapped to a database field" @@ -4909,44 +4864,32 @@ msgid "Column does not exist in the data file" msgstr "" #: importer/models.py:372 -#, fuzzy -#| msgid "User does not have permission to view this model" msgid "Field does not exist in the target model" -msgstr "Nincs jogosultságod az adatok megtekintéséhez" +msgstr "" #: importer/models.py:376 msgid "Selected field is read-only" msgstr "" #: importer/models.py:381 importer/models.py:452 -#, fuzzy -#| msgid "Active Sessions" msgid "Import Session" -msgstr "Aktív kapcsolatok" +msgstr "" #: importer/models.py:385 -#, fuzzy -#| msgid "Field Name" msgid "Field" -msgstr "Mező név" +msgstr "" #: importer/models.py:387 -#, fuzzy -#| msgid "Columns" msgid "Column" -msgstr "Oszlopok" +msgstr "" #: importer/models.py:456 -#, fuzzy -#| msgid "Index" msgid "Row Index" -msgstr "Index" +msgstr "" #: importer/models.py:459 -#, fuzzy -#| msgid "Original Part" msgid "Original row data" -msgstr "Eredeti alkatrész" +msgstr "" #: importer/models.py:462 part/models.py:3841 msgid "Data" @@ -4961,10 +4904,8 @@ msgid "Valid" msgstr "Érvényes" #: importer/operations.py:28 importer/operations.py:49 -#, fuzzy -#| msgid "Unsupported file format: {fmt}" msgid "Unsupported data file format" -msgstr "Nem támogatott fájl formátum: {fmt}" +msgstr "" #: importer/operations.py:40 msgid "Failed to open data file" @@ -4983,62 +4924,44 @@ msgid "List of row IDs to accept" msgstr "" #: importer/serializers.py:149 -#, fuzzy -#| msgid "No data rows provided" msgid "No rows provided" -msgstr "Nincs adatsor megadva" +msgstr "" #: importer/serializers.py:153 -#, fuzzy -#| msgid "Item cannot belong to itself" msgid "Row does not belong to this session" -msgstr "A tétel nem tartozhat saját magához" +msgstr "" #: importer/serializers.py:156 msgid "Row contains invalid data" msgstr "" #: importer/serializers.py:159 -#, fuzzy -#| msgid "This build output has already been completed" msgid "Row has already been completed" -msgstr "Ez a gyártási kimenet már elkészült" +msgstr "" #: importer/status_codes.py:11 -#, fuzzy -#| msgid "Initialized" msgid "Initializing" -msgstr "Inicializálva" +msgstr "" #: importer/status_codes.py:12 -#, fuzzy -#| msgid "Columns" msgid "Mapping Columns" -msgstr "Oszlopok" +msgstr "" #: importer/status_codes.py:13 -#, fuzzy -#| msgid "Import Part" msgid "Importing Data" -msgstr "Alkatrész importálása" +msgstr "" #: importer/status_codes.py:16 -#, fuzzy -#| msgid "Loading Data" msgid "Processing Data" -msgstr "Adatok betöltése" +msgstr "" #: importer/validators.py:21 -#, fuzzy -#| msgid "Image download exceeded maximum size" msgid "Data file exceeds maximum size limit" -msgstr "A kép letöltés meghaladja a maximális méretet" +msgstr "" #: importer/validators.py:26 -#, fuzzy -#| msgid "Stock item contains other items" msgid "Data file contains no headers" -msgstr "A készlet tétel más tételeket tartalmaz" +msgstr "" #: importer/validators.py:29 msgid "Data file contains too many columns" @@ -5049,10 +4972,8 @@ msgid "Data file contains too many rows" msgstr "" #: importer/validators.py:49 -#, fuzzy -#| msgid "Metadata must be a python dict object" msgid "Value must be a valid dictionary object" -msgstr "A meta adatnak egy python dict objektumnak kell lennie" +msgstr "" #: machine/machine_types/label_printer.py:212 msgid "Copies" @@ -5382,10 +5303,8 @@ msgid "Unit price" msgstr "Egységár" #: order/models.py:1361 -#, fuzzy -#| msgid "Purchase Order Items" msgid "Purchase Order Line Item" -msgstr "Beszerzési rendelés tételei" +msgstr "" #: order/models.py:1385 msgid "Supplier part must match supplier" @@ -5428,16 +5347,12 @@ 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:1503 -#, fuzzy -#| msgid "Purchase Order Items" msgid "Purchase Order Extra Line" -msgstr "Beszerzési rendelés tételei" +msgstr "" #: order/models.py:1532 -#, fuzzy -#| msgid "Sales Order Items" msgid "Sales Order Line Item" -msgstr "Vevői rendelés tételek" +msgstr "" #: order/models.py:1553 msgid "Virtual part cannot be assigned to a sales order" @@ -5468,10 +5383,8 @@ msgid "Shipped quantity" msgstr "Szállított mennyiség" #: order/models.py:1667 -#, fuzzy -#| msgid "Sales Order Default Shipment" msgid "Sales Order Shipment" -msgstr "Vevői rendeléshez alapértelmezett szállítmány" +msgstr "" #: order/models.py:1688 msgid "Date of shipment" @@ -5527,16 +5440,12 @@ msgid "Shipment has no allocated stock items" msgstr "Szállítmány nem tartalmaz foglalt készlet tételeket" #: order/models.py:1828 -#, fuzzy -#| msgid "Sales Order Items" msgid "Sales Order Extra Line" -msgstr "Vevői rendelés tételek" +msgstr "" #: order/models.py:1857 -#, fuzzy -#| msgid "Sales Order Allocations" msgid "Sales Order Allocation" -msgstr "Vevői rendeléshez foglalások" +msgstr "" #: order/models.py:1880 order/models.py:1882 msgid "Stock item has not been assigned" @@ -5600,10 +5509,8 @@ msgid "Return order status" msgstr "Visszavétel állapota" #: order/models.py:2237 -#, fuzzy -#| msgid "Return order line item" msgid "Return Order Line Item" -msgstr "Visszavétel sortétel" +msgstr "" #: order/models.py:2251 msgid "Only serialized items can be assigned to a Return Order" @@ -5635,10 +5542,8 @@ 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/models.py:2303 -#, fuzzy -#| msgid "Return Order Settings" msgid "Return Order Extra Line" -msgstr "Visszavétel bellításai" +msgstr "" #: order/serializers.py:83 order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 @@ -5694,10 +5599,8 @@ msgid "Internal Part Number" msgstr "Belső cikkszám" #: order/serializers.py:530 -#, fuzzy -#| msgid "Internal Part Number" msgid "Internal Part Name" -msgstr "Belső cikkszám" +msgstr "" #: order/serializers.py:546 msgid "Supplier part must be specified" @@ -6521,10 +6424,8 @@ msgid "You cannot make this part category structural because some parts are alre msgstr "Nem lehet az alkatrészkategóriát szerkezeti kategóriává tenni, mert már vannak itt alkatrészek!" #: part/models.py:486 -#, fuzzy -#| msgid "Cannot be deleted as items have been allocated" msgid "Cannot delete this part as it is locked" -msgstr "Nem törölhető mivel tételek vannak lefoglalva" +msgstr "" #: part/models.py:489 msgid "Cannot delete this part as it is still active" @@ -6655,16 +6556,12 @@ msgstr "Aktív-e ez az alkatrész?" #: part/models.py:1090 templates/js/translated/part.js:818 #: templates/js/translated/table_filters.js:721 -#, fuzzy -#| msgid "Lock" msgid "Locked" -msgstr "Zárol" +msgstr "" #: part/models.py:1091 -#, fuzzy -#| msgid "This part cannot be serialized" msgid "Locked parts cannot be edited" -msgstr "Ezt az alkatrészt nem lehet sorozatszámozni" +msgstr "" #: part/models.py:1097 msgid "Is this a virtual part, such as a software product or license?" @@ -6913,16 +6810,12 @@ msgid "User who requested this stocktake report" msgstr "Felhasználó aki a leltár riportot kérte" #: part/models.py:3301 -#, fuzzy -#| msgid "Add Sell Price Break" msgid "Part Sale Price Break" -msgstr "Eladási ársáv hozzáadása" +msgstr "" #: part/models.py:3413 -#, fuzzy -#| msgid "Part Test Templates" msgid "Part Test Template" -msgstr "Alkatrész teszt sablonok" +msgstr "" #: part/models.py:3439 msgid "Invalid template name - must include at least one alphanumeric character" @@ -7008,10 +6901,8 @@ msgid "Valid choices for this test (comma-separated)" msgstr "" #: part/models.py:3577 -#, fuzzy -#| msgid "Part Parameter Templates" msgid "Part Parameter Template" -msgstr "Alkatrész paraméter sablonok" +msgstr "" #: part/models.py:3604 msgid "Checkbox parameters cannot have units" @@ -7051,16 +6942,12 @@ msgid "Valid choices for this parameter (comma-separated)" msgstr "Választható lehetőségek (vesszővel elválasztva)" #: part/models.py:3723 -#, fuzzy -#| msgid "Part Parameters" msgid "Part Parameter" -msgstr "Alkatrész paraméterek" +msgstr "" #: part/models.py:3749 -#, fuzzy -#| msgid "Part cannot be deleted as it is currently active" msgid "Parameter cannot be modified - part is locked" -msgstr "Alkatrész nem törölhető mivel még aktív" +msgstr "" #: part/models.py:3785 msgid "Invalid choice for parameter value" @@ -7080,10 +6967,8 @@ msgid "Parameter Value" msgstr "Paraméter értéke" #: part/models.py:3892 -#, fuzzy -#| msgid "Create Category Parameter Template" msgid "Part Category Parameter Template" -msgstr "Kategória paraméter sablon létrehozása" +msgstr "" #: part/models.py:3951 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" @@ -9586,20 +9471,16 @@ 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:2317 -#, fuzzy -#| msgid "Stock Tracking" msgid "Stock Item Tracking" -msgstr "Készlettörténet" +msgstr "" #: stock/models.py:2350 msgid "Entry notes" msgstr "Bejegyzés megjegyzései" #: stock/models.py:2390 -#, fuzzy -#| msgid "Stock Item Test Report" msgid "Stock Item Test Result" -msgstr "Készlet tétel teszt riport" +msgstr "" #: stock/models.py:2423 msgid "Value must be provided for this test" @@ -9714,10 +9595,8 @@ msgid "Parent Item" msgstr "Szülő tétel" #: stock/serializers.py:450 -#, fuzzy -#| msgid "Parent Stock Item" msgid "Parent stock item" -msgstr "Szülő készlet tétel" +msgstr "" #: stock/serializers.py:469 msgid "Use pack size when adding: the quantity defined is the number of packs" @@ -9738,26 +9617,20 @@ msgid "Child Items" msgstr "Gyermek tételek" #: stock/serializers.py:598 -#, fuzzy -#| msgid "Tracking" msgid "Tracking Items" -msgstr "Nyomkövetés" +msgstr "" #: stock/serializers.py:604 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:623 -#, fuzzy -#| msgid "Minimum Price" msgid "Minimum Pricing" -msgstr "Minimum ár" +msgstr "" #: stock/serializers.py:629 -#, fuzzy -#| msgid "Maximum Price" msgid "Maximum Pricing" -msgstr "Maximum ár" +msgstr "" #: stock/serializers.py:653 msgid "Enter number of stock items to serialize" @@ -14518,10 +14391,8 @@ msgid "Show active parts" msgstr "Aktív alkatrészek megjelenítése" #: templates/js/translated/table_filters.js:722 -#, fuzzy -#| msgid "Show related parts" msgid "Show locked parts" -msgstr "Kapcsolódó alkatrészek megjelenítése" +msgstr "" #: templates/js/translated/table_filters.js:730 msgid "Available stock" @@ -14933,26 +14804,3 @@ msgstr "Jogosultság tételek szerkesztéséhez" msgid "Permission to delete items" msgstr "Jogosultság tételek törléséhez" -#~ msgid "Default part label template" -#~ msgstr "Alapértelmezett alkatrész címke sablon" - -#~ msgid "The part label template to be automatically selected" -#~ msgstr "Az alapértelmezetten kiválasztott alkatrész címke sablon" - -#~ msgid "Default stock item template" -#~ msgstr "Alapértelmezett készlet címke sablon" - -#~ msgid "The stock item label template to be automatically selected" -#~ msgstr "Az alapértelmezetten kiválasztott készlet címke sablon" - -#~ msgid "Default stock location label template" -#~ msgstr "Alapértelmezett készlethely címke sablon" - -#~ msgid "The stock location label template to be automatically selected" -#~ msgstr "Az alapértelmezetten kiválasztott készlethely címke sablon" - -#~ msgid "Default build line label template" -#~ msgstr "Alapértelmezett gyártási tétel címke sablon" - -#~ msgid "The build line label template to be automatically selected" -#~ msgstr "Az alapértelmezetten kiválasztott gyártási tétel címke sablon" From 55fab8e7ac6d9aefe7b521da1285dddb7ba3f0f0 Mon Sep 17 00:00:00 2001 From: Oliver Date: Tue, 9 Jul 2024 00:56:19 +1000 Subject: [PATCH 12/36] Fix: New translations django.po from Crowdin --- .../InvenTree/locale/it/LC_MESSAGES/django.po | 239 +++++------------- 1 file changed, 61 insertions(+), 178 deletions(-) diff --git a/src/backend/InvenTree/locale/it/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/it/LC_MESSAGES/django.po index 7377f9cababe..2cc5501b2e6f 100644 --- a/src/backend/InvenTree/locale/it/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/it/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-07-08 14:46+0000\n" -"PO-Revision-Date: 2024-07-05 14:57\n" +"PO-Revision-Date: 2024-07-08 14:56\n" "Last-Translator: \n" "Language-Team: Italian\n" "Language: it_IT\n" @@ -783,16 +783,12 @@ msgid "Assembly BOM has not been validated" msgstr "" #: build/models.py:134 -#, fuzzy -#| msgid "Stock item cannot be created for virtual parts" msgid "Build order cannot be created for an inactive part" -msgstr "Non è possibile creare un elemento di magazzino per articoli virtuali" +msgstr "" #: build/models.py:141 -#, fuzzy -#| msgid "Build output cannot be specified for allocation of untracked parts" msgid "Build order cannot be created for an unlocked part" -msgstr "L'output di produzione non deve essere specificato per l'ubicazione delle parti non tracciate" +msgstr "" #: build/models.py:155 msgid "Invalid choice for parent build" @@ -1493,10 +1489,8 @@ msgid "Failed to start auto-allocation task" msgstr "" #: build/serializers.py:1095 -#, fuzzy -#| msgid "Supplier Part Orders" msgid "Supplier Part Number" -msgstr "Ordini articoli fornitore" +msgstr "" #: build/serializers.py:1096 company/models.py:500 msgid "Manufacturer Part Number" @@ -1508,16 +1502,12 @@ msgid "Location Name" msgstr "Nome Ubicazione" #: build/serializers.py:1098 -#, fuzzy -#| msgid "Build Order Reference" msgid "Build Reference" -msgstr "Riferimento Ordine Di Produzione" +msgstr "" #: build/serializers.py:1099 -#, fuzzy -#| msgid "Reference" msgid "BOM Reference" -msgstr "Riferimento" +msgstr "" #: build/serializers.py:1186 part/admin.py:402 part/models.py:3993 msgid "Part IPN" @@ -1561,22 +1551,16 @@ msgid "Available Stock" msgstr "Disponibilità in magazzino" #: build/serializers.py:1224 -#, fuzzy -#| msgid "Substitute Stock" msgid "Available Substitute Stock" -msgstr "Sostituisci Giacenze" +msgstr "" #: build/serializers.py:1225 -#, fuzzy -#| msgid "Available Stock" msgid "Available Variant Stock" -msgstr "Disponibilità in magazzino" +msgstr "" #: build/serializers.py:1226 -#, fuzzy -#| msgid "Available Stock" msgid "Total Available Stock" -msgstr "Disponibilità in magazzino" +msgstr "" #: build/serializers.py:1227 part/serializers.py:862 msgid "External Stock" @@ -2789,16 +2773,12 @@ msgid "Prevent build order creation for inactive parts" msgstr "" #: common/models.py:1801 -#, fuzzy -#| msgid "Return to Parts" msgid "Require Locked Part" -msgstr "Ritorna agli Articoli" +msgstr "" #: common/models.py:1802 -#, fuzzy -#| msgid "Print build order report" msgid "Prevent build order creation for unlocked parts" -msgstr "Stampa report ordine di produzione" +msgstr "" #: common/models.py:1807 msgid "Require Valid BOM" @@ -3704,10 +3684,8 @@ msgid "Target model ID for this image" msgstr "" #: common/models.py:3035 -#, fuzzy -#| msgid "Customer ID" msgid "Custom Unit" -msgstr "ID Cliente" +msgstr "" #: common/models.py:3056 msgid "Unit symbol must be unique" @@ -4036,30 +4014,24 @@ msgid "Is this company active?" msgstr "" #: company/models.py:168 -#, fuzzy -#| msgid "is customer" msgid "Is customer" -msgstr "è un cliente" +msgstr "" #: company/models.py:169 msgid "Do you sell items to this company?" msgstr "Vendi oggetti a questa azienda?" #: company/models.py:174 -#, fuzzy -#| msgid "is supplier" msgid "Is supplier" -msgstr "è un fornitore" +msgstr "" #: company/models.py:175 msgid "Do you purchase items from this company?" msgstr "Acquistate articoli da questa azienda?" #: company/models.py:180 -#, fuzzy -#| msgid "is manufacturer" msgid "Is manufacturer" -msgstr "è un produttore" +msgstr "" #: company/models.py:181 msgid "Does this company manufacture parts?" @@ -4220,10 +4192,8 @@ msgid "Manufacturer part description" msgstr "Descrizione articolo costruttore" #: company/models.py:569 -#, fuzzy -#| msgid "Manufacturer Part Number" msgid "Manufacturer Part Parameter" -msgstr "Codice articolo produttore" +msgstr "" #: company/models.py:588 msgid "Parameter name" @@ -4379,20 +4349,16 @@ msgid "Date of last update of availability data" msgstr "Data dell’ultimo aggiornamento dei dati sulla disponibilità" #: company/models.py:1015 -#, fuzzy -#| msgid "Supplier Pricing" msgid "Supplier Price Break" -msgstr "Prezzo del Fornitore" +msgstr "" #: company/serializers.py:174 msgid "Default currency used for this supplier" msgstr "Valuta predefinita utilizzata per questo fornitore" #: company/serializers.py:210 -#, fuzzy -#| msgid "Company name" msgid "Company Name" -msgstr "Nome azienda" +msgstr "" #: company/serializers.py:384 part/admin.py:126 part/serializers.py:855 #: part/templates/part/part_base.html:197 @@ -4853,42 +4819,32 @@ msgid "Placed" msgstr "Inviato" #: importer/mixins.py:263 -#, fuzzy -#| msgid "Invalid value for overage" msgid "Invalid export format" -msgstr "Valore non valido per eccedenza" +msgstr "" #: importer/models.py:56 msgid "Timestamp" msgstr "" #: importer/models.py:61 -#, fuzzy -#| msgid "Select file to upload" msgid "Data file to import" -msgstr "Seleziona file da caricare" +msgstr "" #: importer/models.py:70 templates/js/translated/tables.js:558 msgid "Columns" msgstr "" #: importer/models.py:81 -#, fuzzy -#| msgid "Import Parts" msgid "Import status" -msgstr "Importa Articoli" +msgstr "" #: importer/models.py:91 -#, fuzzy -#| msgid "Build Details" msgid "Field Defaults" -msgstr "Dettagli della Produzione" +msgstr "" #: importer/models.py:201 -#, fuzzy -#| msgid "Required build quantity has not been completed" msgid "Some required fields have not been mapped" -msgstr "La quantità di produzione richiesta non è stata completata" +msgstr "" #: importer/models.py:346 msgid "Column is already mapped to a database field" @@ -4907,42 +4863,32 @@ msgid "Column does not exist in the data file" msgstr "" #: importer/models.py:372 -#, fuzzy -#| msgid "User does not have permission to view this model" msgid "Field does not exist in the target model" -msgstr "L'utente non ha i permessi per vedere questo modello" +msgstr "" #: importer/models.py:376 msgid "Selected field is read-only" msgstr "" #: importer/models.py:381 importer/models.py:452 -#, fuzzy -#| msgid "Active Sessions" msgid "Import Session" -msgstr "Sessioni Attive" +msgstr "" #: importer/models.py:385 -#, fuzzy -#| msgid "File Fields" msgid "Field" -msgstr "Campi File" +msgstr "" #: importer/models.py:387 msgid "Column" msgstr "" #: importer/models.py:456 -#, fuzzy -#| msgid "Index" msgid "Row Index" -msgstr "Indice" +msgstr "" #: importer/models.py:459 -#, fuzzy -#| msgid "Original Part" msgid "Original row data" -msgstr "Articolo Originale" +msgstr "" #: importer/models.py:462 part/models.py:3841 msgid "Data" @@ -4957,10 +4903,8 @@ msgid "Valid" msgstr "Valido" #: importer/operations.py:28 importer/operations.py:49 -#, fuzzy -#| msgid "Unsupported file format: {fmt}" msgid "Unsupported data file format" -msgstr "Formato di file non supportato: {fmt}" +msgstr "" #: importer/operations.py:40 msgid "Failed to open data file" @@ -4979,26 +4923,20 @@ msgid "List of row IDs to accept" msgstr "" #: importer/serializers.py:149 -#, fuzzy -#| msgid "No data rows provided" msgid "No rows provided" -msgstr "Nessun dato fornito" +msgstr "" #: importer/serializers.py:153 -#, fuzzy -#| msgid "Item cannot belong to itself" msgid "Row does not belong to this session" -msgstr "L'elemento non può appartenere a se stesso" +msgstr "" #: importer/serializers.py:156 msgid "Row contains invalid data" msgstr "" #: importer/serializers.py:159 -#, fuzzy -#| msgid "This build output has already been completed" msgid "Row has already been completed" -msgstr "Questa produzione è stata già completata" +msgstr "" #: importer/status_codes.py:11 msgid "Initializing" @@ -5009,28 +4947,20 @@ msgid "Mapping Columns" msgstr "" #: importer/status_codes.py:13 -#, fuzzy -#| msgid "Import Part" msgid "Importing Data" -msgstr "Importa Articolo" +msgstr "" #: importer/status_codes.py:16 -#, fuzzy -#| msgid "Remove Existing Data" msgid "Processing Data" -msgstr "Rimuovi Dati Esistenti" +msgstr "" #: importer/validators.py:21 -#, fuzzy -#| msgid "Image download exceeded maximum size" msgid "Data file exceeds maximum size limit" -msgstr "Il download dell'immagine ha superato la dimensione massima" +msgstr "" #: importer/validators.py:26 -#, fuzzy -#| msgid "Stock item contains other items" msgid "Data file contains no headers" -msgstr "L'elemento di magazzino contiene altri elementi" +msgstr "" #: importer/validators.py:29 msgid "Data file contains too many columns" @@ -5041,10 +4971,8 @@ msgid "Data file contains too many rows" msgstr "" #: importer/validators.py:49 -#, fuzzy -#| msgid "Metadata must be a python dict object" msgid "Value must be a valid dictionary object" -msgstr "I metadati devono essere un oggetto python dict" +msgstr "" #: machine/machine_types/label_printer.py:212 msgid "Copies" @@ -5374,10 +5302,8 @@ msgid "Unit price" msgstr "Prezzo unitario" #: order/models.py:1361 -#, fuzzy -#| msgid "Purchase Order Items" msgid "Purchase Order Line Item" -msgstr "Elementi D'Ordine D'Acquisto" +msgstr "" #: order/models.py:1385 msgid "Supplier part must match supplier" @@ -5420,16 +5346,12 @@ msgid "Where does the Purchaser want this item to be stored?" msgstr "Dove l'Acquirente desidera che questo elemento venga immagazzinato?" #: order/models.py:1503 -#, fuzzy -#| msgid "Purchase Order Items" msgid "Purchase Order Extra Line" -msgstr "Elementi D'Ordine D'Acquisto" +msgstr "" #: order/models.py:1532 -#, fuzzy -#| msgid "Sales Order Items" msgid "Sales Order Line Item" -msgstr "Elementi Ordine di Vendita" +msgstr "" #: order/models.py:1553 msgid "Virtual part cannot be assigned to a sales order" @@ -5460,10 +5382,8 @@ msgid "Shipped quantity" msgstr "Quantità spedita" #: order/models.py:1667 -#, fuzzy -#| msgid "Sales Order Default Shipment" msgid "Sales Order Shipment" -msgstr "Spedizione Predefinita Ordine Di Vendita" +msgstr "" #: order/models.py:1688 msgid "Date of shipment" @@ -5519,16 +5439,12 @@ msgid "Shipment has no allocated stock items" msgstr "La spedizione non ha articoli di stock assegnati" #: order/models.py:1828 -#, fuzzy -#| msgid "Sales Order Items" msgid "Sales Order Extra Line" -msgstr "Elementi Ordine di Vendita" +msgstr "" #: order/models.py:1857 -#, fuzzy -#| msgid "Sales Order Allocations" msgid "Sales Order Allocation" -msgstr "Assegnazione Ordine Di Vendita" +msgstr "" #: order/models.py:1880 order/models.py:1882 msgid "Stock item has not been assigned" @@ -5592,10 +5508,8 @@ msgid "Return order status" msgstr "" #: order/models.py:2237 -#, fuzzy -#| msgid "Return Order" msgid "Return Order Line Item" -msgstr "Restituisci ordine" +msgstr "" #: order/models.py:2251 msgid "Only serialized items can be assigned to a Return Order" @@ -5627,10 +5541,8 @@ msgid "Cost associated with return or repair for this line item" msgstr "" #: order/models.py:2303 -#, fuzzy -#| msgid "Return Order Settings" msgid "Return Order Extra Line" -msgstr "Impostazioni Ordine Di Reso" +msgstr "" #: order/serializers.py:83 order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 @@ -5686,10 +5598,8 @@ msgid "Internal Part Number" msgstr "Numero Dell'articolo Interno" #: order/serializers.py:530 -#, fuzzy -#| msgid "Internal Part Number" msgid "Internal Part Name" -msgstr "Numero Dell'articolo Interno" +msgstr "" #: order/serializers.py:546 msgid "Supplier part must be specified" @@ -6645,16 +6555,12 @@ msgstr "Quest'articolo è attivo?" #: part/models.py:1090 templates/js/translated/part.js:818 #: templates/js/translated/table_filters.js:721 -#, fuzzy -#| msgid "Tracked" msgid "Locked" -msgstr "Monitorato" +msgstr "" #: part/models.py:1091 -#, fuzzy -#| msgid "Build order part cannot be changed" msgid "Locked parts cannot be edited" -msgstr "L'ordine di costruzione della parte non può essere cambiata" +msgstr "" #: part/models.py:1097 msgid "Is this a virtual part, such as a software product or license?" @@ -6903,16 +6809,12 @@ msgid "User who requested this stocktake report" msgstr "Utente che ha richiesto questo report inventario" #: part/models.py:3301 -#, fuzzy -#| msgid "Add Sell Price Break" msgid "Part Sale Price Break" -msgstr "Aggiungi Prezzo Ribassato di Vendita" +msgstr "" #: part/models.py:3413 -#, fuzzy -#| msgid "Part Test Templates" msgid "Part Test Template" -msgstr "Modelli Articoli Test" +msgstr "" #: part/models.py:3439 msgid "Invalid template name - must include at least one alphanumeric character" @@ -6998,10 +6900,8 @@ msgid "Valid choices for this test (comma-separated)" msgstr "" #: part/models.py:3577 -#, fuzzy -#| msgid "Part Parameter Templates" msgid "Part Parameter Template" -msgstr "Modelli parametro articolo" +msgstr "" #: part/models.py:3604 msgid "Checkbox parameters cannot have units" @@ -7041,10 +6941,8 @@ msgid "Valid choices for this parameter (comma-separated)" msgstr "" #: part/models.py:3723 -#, fuzzy -#| msgid "Part Parameters" msgid "Part Parameter" -msgstr "Parametri articolo" +msgstr "" #: part/models.py:3749 msgid "Parameter cannot be modified - part is locked" @@ -7068,10 +6966,8 @@ msgid "Parameter Value" msgstr "Valore del Parametro" #: part/models.py:3892 -#, fuzzy -#| msgid "Copy Category Parameter Templates" msgid "Part Category Parameter Template" -msgstr "Copia Template Parametri Categoria" +msgstr "" #: part/models.py:3951 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" @@ -9574,20 +9470,16 @@ msgid "StockItem cannot be moved as it is not in stock" msgstr "Le giacenze non possono essere spostate perché non disponibili" #: stock/models.py:2317 -#, fuzzy -#| msgid "Stock Tracking" msgid "Stock Item Tracking" -msgstr "Rilevamento Stock" +msgstr "" #: stock/models.py:2350 msgid "Entry notes" msgstr "Note d'ingresso" #: stock/models.py:2390 -#, fuzzy -#| msgid "Stock Item Test Report" msgid "Stock Item Test Result" -msgstr "Test Report Elemento Stock" +msgstr "" #: stock/models.py:2423 msgid "Value must be provided for this test" @@ -9702,10 +9594,8 @@ msgid "Parent Item" msgstr "Elemento principale" #: stock/serializers.py:450 -#, fuzzy -#| msgid "Parent Stock Item" msgid "Parent stock item" -msgstr "Elemento di magazzino principale" +msgstr "" #: stock/serializers.py:469 msgid "Use pack size when adding: the quantity defined is the number of packs" @@ -9726,26 +9616,20 @@ msgid "Child Items" msgstr "Elementi secondari" #: stock/serializers.py:598 -#, fuzzy -#| msgid "Tracking Number" msgid "Tracking Items" -msgstr "Numero di monitoraggio" +msgstr "" #: stock/serializers.py:604 msgid "Purchase price of this stock item, per unit or pack" msgstr "" #: stock/serializers.py:623 -#, fuzzy -#| msgid "Minimum Price" msgid "Minimum Pricing" -msgstr "Prezzo Minimo" +msgstr "" #: stock/serializers.py:629 -#, fuzzy -#| msgid "Maximum Price" msgid "Maximum Pricing" -msgstr "Prezzo Massimo" +msgstr "" #: stock/serializers.py:653 msgid "Enter number of stock items to serialize" @@ -14506,10 +14390,8 @@ msgid "Show active parts" msgstr "" #: templates/js/translated/table_filters.js:722 -#, fuzzy -#| msgid "Show related parts" msgid "Show locked parts" -msgstr "Mostra articoli correlati" +msgstr "" #: templates/js/translated/table_filters.js:730 msgid "Available stock" @@ -14920,3 +14802,4 @@ msgstr "Permessi per modificare gli elementi" #: users/models.py:408 msgid "Permission to delete items" msgstr "Autorizzazione ad eliminare gli elementi" + From 0bda44ae12ad5e123c922beb56484738e321b042 Mon Sep 17 00:00:00 2001 From: Oliver Date: Tue, 9 Jul 2024 00:56:21 +1000 Subject: [PATCH 13/36] Fix: New translations django.po from Crowdin --- .../InvenTree/locale/ja/LC_MESSAGES/django.po | 111 +++++------------- 1 file changed, 29 insertions(+), 82 deletions(-) diff --git a/src/backend/InvenTree/locale/ja/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/ja/LC_MESSAGES/django.po index c0a416d7842d..7517b9cbac9d 100644 --- a/src/backend/InvenTree/locale/ja/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/ja/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-07-08 14:46+0000\n" -"PO-Revision-Date: 2024-07-05 14:57\n" +"PO-Revision-Date: 2024-07-08 14:56\n" "Last-Translator: \n" "Language-Team: Japanese\n" "Language: ja_JP\n" @@ -1489,10 +1489,8 @@ msgid "Failed to start auto-allocation task" msgstr "" #: build/serializers.py:1095 -#, fuzzy -#| msgid "Supplier Parts" msgid "Supplier Part Number" -msgstr "サプライヤー・パーツ" +msgstr "" #: build/serializers.py:1096 company/models.py:500 msgid "Manufacturer Part Number" @@ -1504,10 +1502,8 @@ msgid "Location Name" msgstr "" #: build/serializers.py:1098 -#, fuzzy -#| msgid "Build Line" msgid "Build Reference" -msgstr "組立ライン" +msgstr "" #: build/serializers.py:1099 msgid "BOM Reference" @@ -3688,10 +3684,8 @@ msgid "Target model ID for this image" msgstr "" #: common/models.py:3035 -#, fuzzy -#| msgid "Customer" msgid "Custom Unit" -msgstr "顧客" +msgstr "" #: common/models.py:3056 msgid "Unit symbol must be unique" @@ -4020,30 +4014,24 @@ msgid "Is this company active?" msgstr "" #: company/models.py:168 -#, fuzzy -#| msgid "Customer" msgid "Is customer" -msgstr "顧客" +msgstr "" #: company/models.py:169 msgid "Do you sell items to this company?" msgstr "" #: company/models.py:174 -#, fuzzy -#| msgid "Supplier" msgid "Is supplier" -msgstr "仕入先" +msgstr "" #: company/models.py:175 msgid "Do you purchase items from this company?" msgstr "" #: company/models.py:180 -#, fuzzy -#| msgid "Manufacturer" msgid "Is manufacturer" -msgstr "製造元" +msgstr "" #: company/models.py:181 msgid "Does this company manufacture parts?" @@ -4204,10 +4192,8 @@ msgid "Manufacturer part description" msgstr "" #: company/models.py:569 -#, fuzzy -#| msgid "Manufacturer Part" msgid "Manufacturer Part Parameter" -msgstr "メーカー・パーツ" +msgstr "" #: company/models.py:588 msgid "Parameter name" @@ -4363,20 +4349,16 @@ msgid "Date of last update of availability data" msgstr "" #: company/models.py:1015 -#, fuzzy -#| msgid "Supplier Parts" msgid "Supplier Price Break" -msgstr "サプライヤー・パーツ" +msgstr "" #: company/serializers.py:174 msgid "Default currency used for this supplier" msgstr "" #: company/serializers.py:210 -#, fuzzy -#| msgid "Category Name" msgid "Company Name" -msgstr "カテゴリ名" +msgstr "" #: company/serializers.py:384 part/admin.py:126 part/serializers.py:855 #: part/templates/part/part_base.html:197 @@ -4853,10 +4835,8 @@ msgid "Columns" msgstr "" #: importer/models.py:81 -#, fuzzy -#| msgid "Import Parts" msgid "Import status" -msgstr "パーツをインポート" +msgstr "" #: importer/models.py:91 msgid "Field Defaults" @@ -4883,20 +4863,16 @@ msgid "Column does not exist in the data file" msgstr "" #: importer/models.py:372 -#, fuzzy -#| msgid "User does not have permission to view this model" msgid "Field does not exist in the target model" -msgstr "ユーザーにこのモデルを表示する権限がありません" +msgstr "" #: importer/models.py:376 msgid "Selected field is read-only" msgstr "" #: importer/models.py:381 importer/models.py:452 -#, fuzzy -#| msgid "Important dates" msgid "Import Session" -msgstr "重要な日付" +msgstr "" #: importer/models.py:385 msgid "Field" @@ -4927,10 +4903,8 @@ msgid "Valid" msgstr "" #: importer/operations.py:28 importer/operations.py:49 -#, fuzzy -#| msgid "Unsupported file type" msgid "Unsupported data file format" -msgstr "サポートされていないファイル形式" +msgstr "" #: importer/operations.py:40 msgid "Failed to open data file" @@ -4949,10 +4923,8 @@ msgid "List of row IDs to accept" msgstr "" #: importer/serializers.py:149 -#, fuzzy -#| msgid "No data rows provided" msgid "No rows provided" -msgstr "データが入力されていません" +msgstr "" #: importer/serializers.py:153 msgid "Row does not belong to this session" @@ -4975,20 +4947,16 @@ msgid "Mapping Columns" msgstr "" #: importer/status_codes.py:13 -#, fuzzy -#| msgid "Import Parts" msgid "Importing Data" -msgstr "パーツをインポート" +msgstr "" #: importer/status_codes.py:16 msgid "Processing Data" msgstr "" #: importer/validators.py:21 -#, fuzzy -#| msgid "Image download exceeded maximum size" msgid "Data file exceeds maximum size limit" -msgstr "画像のダウンロードが最大サイズを超えました" +msgstr "" #: importer/validators.py:26 msgid "Data file contains no headers" @@ -5334,10 +5302,8 @@ msgid "Unit price" msgstr "" #: order/models.py:1361 -#, fuzzy -#| msgid "Purchase Price" msgid "Purchase Order Line Item" -msgstr "購入金額" +msgstr "" #: order/models.py:1385 msgid "Supplier part must match supplier" @@ -5380,10 +5346,8 @@ msgid "Where does the Purchaser want this item to be stored?" msgstr "" #: order/models.py:1503 -#, fuzzy -#| msgid "Purchase Price" msgid "Purchase Order Extra Line" -msgstr "購入金額" +msgstr "" #: order/models.py:1532 msgid "Sales Order Line Item" @@ -5634,10 +5598,8 @@ msgid "Internal Part Number" msgstr "" #: order/serializers.py:530 -#, fuzzy -#| msgid "Internal Part" msgid "Internal Part Name" -msgstr "内部パーツ" +msgstr "" #: order/serializers.py:546 msgid "Supplier part must be specified" @@ -6851,10 +6813,8 @@ msgid "Part Sale Price Break" msgstr "" #: part/models.py:3413 -#, fuzzy -#| msgid "Part must be salable" msgid "Part Test Template" -msgstr "パーツは販売可能でなければなりません" +msgstr "" #: part/models.py:3439 msgid "Invalid template name - must include at least one alphanumeric character" @@ -6940,10 +6900,8 @@ msgid "Valid choices for this test (comma-separated)" msgstr "" #: part/models.py:3577 -#, fuzzy -#| msgid "Part Parameters" msgid "Part Parameter Template" -msgstr "パーツパラメータ" +msgstr "" #: part/models.py:3604 msgid "Checkbox parameters cannot have units" @@ -6983,10 +6941,8 @@ msgid "Valid choices for this parameter (comma-separated)" msgstr "" #: part/models.py:3723 -#, fuzzy -#| msgid "Part Parameters" msgid "Part Parameter" -msgstr "パーツパラメータ" +msgstr "" #: part/models.py:3749 msgid "Parameter cannot be modified - part is locked" @@ -9514,20 +9470,16 @@ msgid "StockItem cannot be moved as it is not in stock" msgstr "" #: stock/models.py:2317 -#, fuzzy -#| msgid "Stock Item" msgid "Stock Item Tracking" -msgstr "在庫商品" +msgstr "" #: stock/models.py:2350 msgid "Entry notes" msgstr "" #: stock/models.py:2390 -#, fuzzy -#| msgid "Stock Items" msgid "Stock Item Test Result" -msgstr "在庫商品" +msgstr "" #: stock/models.py:2423 msgid "Value must be provided for this test" @@ -9642,10 +9594,8 @@ msgid "Parent Item" msgstr "" #: stock/serializers.py:450 -#, fuzzy -#| msgid "Merged stock items" msgid "Parent stock item" -msgstr "商品在庫をマージしました" +msgstr "" #: stock/serializers.py:469 msgid "Use pack size when adding: the quantity defined is the number of packs" @@ -9666,10 +9616,8 @@ msgid "Child Items" msgstr "" #: stock/serializers.py:598 -#, fuzzy -#| msgid "Stock Items" msgid "Tracking Items" -msgstr "在庫商品" +msgstr "" #: stock/serializers.py:604 msgid "Purchase price of this stock item, per unit or pack" @@ -14442,10 +14390,8 @@ msgid "Show active parts" msgstr "" #: templates/js/translated/table_filters.js:722 -#, fuzzy -#| msgid "Show subscribed parts" msgid "Show locked parts" -msgstr "購読中の部品を表示" +msgstr "" #: templates/js/translated/table_filters.js:730 msgid "Available stock" @@ -14856,3 +14802,4 @@ msgstr "項目を編集する権限" #: users/models.py:408 msgid "Permission to delete items" msgstr "項目を削除する権限" + From 123d3bbeae0851cdaaa6837ffc13186128bc18ef Mon Sep 17 00:00:00 2001 From: Oliver Date: Tue, 9 Jul 2024 00:56:23 +1000 Subject: [PATCH 14/36] Fix: New translations django.po from Crowdin --- src/backend/InvenTree/locale/ko/LC_MESSAGES/django.po | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/backend/InvenTree/locale/ko/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/ko/LC_MESSAGES/django.po index a701b58bf3f7..4ac93aac3804 100644 --- a/src/backend/InvenTree/locale/ko/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/ko/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-07-08 14:46+0000\n" -"PO-Revision-Date: 2024-07-05 14:57\n" +"PO-Revision-Date: 2024-07-08 14:56\n" "Last-Translator: \n" "Language-Team: Korean\n" "Language: ko_KR\n" @@ -14802,3 +14802,4 @@ msgstr "" #: users/models.py:408 msgid "Permission to delete items" msgstr "" + From 2a54f7c58213c6da5731fd03b50057cc96997969 Mon Sep 17 00:00:00 2001 From: Oliver Date: Tue, 9 Jul 2024 00:56:25 +1000 Subject: [PATCH 15/36] Fix: New translations django.po from Crowdin --- .../InvenTree/locale/nl/LC_MESSAGES/django.po | 213 +++++------------- 1 file changed, 51 insertions(+), 162 deletions(-) diff --git a/src/backend/InvenTree/locale/nl/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/nl/LC_MESSAGES/django.po index 6bbb8e662f8f..0656e2d10186 100644 --- a/src/backend/InvenTree/locale/nl/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/nl/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-07-08 14:46+0000\n" -"PO-Revision-Date: 2024-07-05 14:57\n" +"PO-Revision-Date: 2024-07-08 14:56\n" "Last-Translator: \n" "Language-Team: Dutch\n" "Language: nl_NL\n" @@ -783,16 +783,12 @@ msgid "Assembly BOM has not been validated" msgstr "" #: build/models.py:134 -#, fuzzy -#| msgid "Build output cannot be specified for allocation of untracked parts" msgid "Build order cannot be created for an inactive part" -msgstr "Productieuitvoer kan niet worden gespecificeerd voor de toewijzing van niet gevolgde onderdelen" +msgstr "" #: build/models.py:141 -#, fuzzy -#| msgid "Build output cannot be specified for allocation of untracked parts" msgid "Build order cannot be created for an unlocked part" -msgstr "Productieuitvoer kan niet worden gespecificeerd voor de toewijzing van niet gevolgde onderdelen" +msgstr "" #: build/models.py:155 msgid "Invalid choice for parent build" @@ -1493,10 +1489,8 @@ msgid "Failed to start auto-allocation task" msgstr "" #: build/serializers.py:1095 -#, fuzzy -#| msgid "Supplier Part Orders" msgid "Supplier Part Number" -msgstr "Leverancier Onderdelenorders" +msgstr "" #: build/serializers.py:1096 company/models.py:500 msgid "Manufacturer Part Number" @@ -1508,16 +1502,12 @@ msgid "Location Name" msgstr "" #: build/serializers.py:1098 -#, fuzzy -#| msgid "Build Order Reference" msgid "Build Reference" -msgstr "Productieorderreferentie" +msgstr "" #: build/serializers.py:1099 -#, fuzzy -#| msgid "Reference" msgid "BOM Reference" -msgstr "Referentie" +msgstr "" #: build/serializers.py:1186 part/admin.py:402 part/models.py:3993 msgid "Part IPN" @@ -1561,22 +1551,16 @@ msgid "Available Stock" msgstr "Beschikbare Voorraad" #: build/serializers.py:1224 -#, fuzzy -#| msgid "Substitute Stock" msgid "Available Substitute Stock" -msgstr "Vervangende Voorraad" +msgstr "" #: build/serializers.py:1225 -#, fuzzy -#| msgid "Available Stock" msgid "Available Variant Stock" -msgstr "Beschikbare Voorraad" +msgstr "" #: build/serializers.py:1226 -#, fuzzy -#| msgid "Available Stock" msgid "Total Available Stock" -msgstr "Beschikbare Voorraad" +msgstr "" #: build/serializers.py:1227 part/serializers.py:862 msgid "External Stock" @@ -2789,16 +2773,12 @@ msgid "Prevent build order creation for inactive parts" msgstr "" #: common/models.py:1801 -#, fuzzy -#| msgid "Required For" msgid "Require Locked Part" -msgstr "Vereist Voor" +msgstr "" #: common/models.py:1802 -#, fuzzy -#| msgid "Print build order report" msgid "Prevent build order creation for unlocked parts" -msgstr "Print productieorderrapport" +msgstr "" #: common/models.py:1807 msgid "Require Valid BOM" @@ -3704,10 +3684,8 @@ msgid "Target model ID for this image" msgstr "" #: common/models.py:3035 -#, fuzzy -#| msgid "Customer" msgid "Custom Unit" -msgstr "Klant" +msgstr "" #: common/models.py:3056 msgid "Unit symbol must be unique" @@ -4036,30 +4014,24 @@ msgid "Is this company active?" msgstr "" #: company/models.py:168 -#, fuzzy -#| msgid "is customer" msgid "Is customer" -msgstr "is klant" +msgstr "" #: company/models.py:169 msgid "Do you sell items to this company?" msgstr "" #: company/models.py:174 -#, fuzzy -#| msgid "is supplier" msgid "Is supplier" -msgstr "is leverancier" +msgstr "" #: company/models.py:175 msgid "Do you purchase items from this company?" msgstr "" #: company/models.py:180 -#, fuzzy -#| msgid "is manufacturer" msgid "Is manufacturer" -msgstr "is fabrikant" +msgstr "" #: company/models.py:181 msgid "Does this company manufacture parts?" @@ -4220,10 +4192,8 @@ msgid "Manufacturer part description" msgstr "Omschrijving onderdeel fabrikant" #: company/models.py:569 -#, fuzzy -#| msgid "Manufacturer Part Number" msgid "Manufacturer Part Parameter" -msgstr "Fabrikant artikel nummer (MPN)" +msgstr "" #: company/models.py:588 msgid "Parameter name" @@ -4379,20 +4349,16 @@ msgid "Date of last update of availability data" msgstr "" #: company/models.py:1015 -#, fuzzy -#| msgid "Supplier Part Orders" msgid "Supplier Price Break" -msgstr "Leverancier Onderdelenorders" +msgstr "" #: company/serializers.py:174 msgid "Default currency used for this supplier" msgstr "" #: company/serializers.py:210 -#, fuzzy -#| msgid "Company name" msgid "Company Name" -msgstr "Bedrijfsnaam" +msgstr "" #: company/serializers.py:384 part/admin.py:126 part/serializers.py:855 #: part/templates/part/part_base.html:197 @@ -4853,20 +4819,16 @@ msgid "Placed" msgstr "Geplaatst" #: importer/mixins.py:263 -#, fuzzy -#| msgid "Invalid value for overage" msgid "Invalid export format" -msgstr "Ongeldige waarde voor overschot" +msgstr "" #: importer/models.py:56 msgid "Timestamp" msgstr "" #: importer/models.py:61 -#, fuzzy -#| msgid "Select file to upload" msgid "Data file to import" -msgstr "Selecteer bestand om te uploaden" +msgstr "" #: importer/models.py:70 templates/js/translated/tables.js:558 msgid "Columns" @@ -4877,16 +4839,12 @@ msgid "Import status" msgstr "" #: importer/models.py:91 -#, fuzzy -#| msgid "Build Details" msgid "Field Defaults" -msgstr "Productie details" +msgstr "" #: importer/models.py:201 -#, fuzzy -#| msgid "Required build quantity has not been completed" msgid "Some required fields have not been mapped" -msgstr "Vereiste productiehoeveelheid is voltooid" +msgstr "" #: importer/models.py:346 msgid "Column is already mapped to a database field" @@ -4905,10 +4863,8 @@ msgid "Column does not exist in the data file" msgstr "" #: importer/models.py:372 -#, fuzzy -#| msgid "User does not have permission to view this model" msgid "Field does not exist in the target model" -msgstr "Gebruiker heeft geen rechten om dit model te bekijken" +msgstr "" #: importer/models.py:376 msgid "Selected field is read-only" @@ -4947,10 +4903,8 @@ msgid "Valid" msgstr "" #: importer/operations.py:28 importer/operations.py:49 -#, fuzzy -#| msgid "Unsupported file format: {fmt}" msgid "Unsupported data file format" -msgstr "Niet-ondersteunde bestandsindeling: {fmt}" +msgstr "" #: importer/operations.py:40 msgid "Failed to open data file" @@ -4969,10 +4923,8 @@ msgid "List of row IDs to accept" msgstr "" #: importer/serializers.py:149 -#, fuzzy -#| msgid "No data rows provided" msgid "No rows provided" -msgstr "Geen data rijen opgegeven" +msgstr "" #: importer/serializers.py:153 msgid "Row does not belong to this session" @@ -4983,10 +4935,8 @@ msgid "Row contains invalid data" msgstr "" #: importer/serializers.py:159 -#, fuzzy -#| msgid "This build output has already been completed" msgid "Row has already been completed" -msgstr "Deze productieuitvoer is al voltooid" +msgstr "" #: importer/status_codes.py:11 msgid "Initializing" @@ -4997,20 +4947,16 @@ msgid "Mapping Columns" msgstr "" #: importer/status_codes.py:13 -#, fuzzy -#| msgid "Completion Date" msgid "Importing Data" -msgstr "Opleveringsdatum" +msgstr "" #: importer/status_codes.py:16 msgid "Processing Data" msgstr "" #: importer/validators.py:21 -#, fuzzy -#| msgid "Image download exceeded maximum size" msgid "Data file exceeds maximum size limit" -msgstr "Beelddownload overschrijdt de maximale grootte" +msgstr "" #: importer/validators.py:26 msgid "Data file contains no headers" @@ -5025,10 +4971,8 @@ msgid "Data file contains too many rows" msgstr "" #: importer/validators.py:49 -#, fuzzy -#| msgid "Metadata must be a python dict object" msgid "Value must be a valid dictionary object" -msgstr "Metadata moeten een python dict object zijn" +msgstr "" #: machine/machine_types/label_printer.py:212 msgid "Copies" @@ -5358,10 +5302,8 @@ msgid "Unit price" msgstr "Stukprijs" #: order/models.py:1361 -#, fuzzy -#| msgid "Purchase Order Items" msgid "Purchase Order Line Item" -msgstr "Inkooporder Artikelen" +msgstr "" #: order/models.py:1385 msgid "Supplier part must match supplier" @@ -5404,16 +5346,12 @@ msgid "Where does the Purchaser want this item to be stored?" msgstr "Waar wil de inkoper dat dit artikel opgeslagen wordt?" #: order/models.py:1503 -#, fuzzy -#| msgid "Purchase Order Items" msgid "Purchase Order Extra Line" -msgstr "Inkooporder Artikelen" +msgstr "" #: order/models.py:1532 -#, fuzzy -#| msgid "Sales Order Items" msgid "Sales Order Line Item" -msgstr "Verkooporder Artikelen" +msgstr "" #: order/models.py:1553 msgid "Virtual part cannot be assigned to a sales order" @@ -5444,10 +5382,8 @@ msgid "Shipped quantity" msgstr "Verzonden hoeveelheid" #: order/models.py:1667 -#, fuzzy -#| msgid "Sales Order Default Shipment" msgid "Sales Order Shipment" -msgstr "Standaard Verzending Verkooporder" +msgstr "" #: order/models.py:1688 msgid "Date of shipment" @@ -5503,16 +5439,12 @@ msgid "Shipment has no allocated stock items" msgstr "Zending heeft geen toegewezen voorraadartikelen" #: order/models.py:1828 -#, fuzzy -#| msgid "Sales Order Items" msgid "Sales Order Extra Line" -msgstr "Verkooporder Artikelen" +msgstr "" #: order/models.py:1857 -#, fuzzy -#| msgid "Sales Order Allocations" msgid "Sales Order Allocation" -msgstr "Verkoopordertoewijzingen" +msgstr "" #: order/models.py:1880 order/models.py:1882 msgid "Stock item has not been assigned" @@ -5576,10 +5508,8 @@ msgid "Return order status" msgstr "" #: order/models.py:2237 -#, fuzzy -#| msgid "Return Order Reference Pattern" msgid "Return Order Line Item" -msgstr "Retourorder referentie patroon" +msgstr "" #: order/models.py:2251 msgid "Only serialized items can be assigned to a Return Order" @@ -5611,10 +5541,8 @@ msgid "Cost associated with return or repair for this line item" msgstr "" #: order/models.py:2303 -#, fuzzy -#| msgid "Add Extra Line" msgid "Return Order Extra Line" -msgstr "Extra Regel Toevoegen" +msgstr "" #: order/serializers.py:83 order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 @@ -5670,10 +5598,8 @@ msgid "Internal Part Number" msgstr "Intern Onderdeelnummer" #: order/serializers.py:530 -#, fuzzy -#| msgid "Internal Part Number" msgid "Internal Part Name" -msgstr "Intern Onderdeelnummer" +msgstr "" #: order/serializers.py:546 msgid "Supplier part must be specified" @@ -6629,10 +6555,8 @@ msgstr "" #: part/models.py:1090 templates/js/translated/part.js:818 #: templates/js/translated/table_filters.js:721 -#, fuzzy -#| msgid "Tracked" msgid "Locked" -msgstr "Gevolgd" +msgstr "" #: part/models.py:1091 msgid "Locked parts cannot be edited" @@ -6885,16 +6809,12 @@ msgid "User who requested this stocktake report" msgstr "" #: part/models.py:3301 -#, fuzzy -#| msgid "Sale Price" msgid "Part Sale Price Break" -msgstr "Verkoopprijs" +msgstr "" #: part/models.py:3413 -#, fuzzy -#| msgid "Batch Code Template" msgid "Part Test Template" -msgstr "Batchcode Sjabloon" +msgstr "" #: part/models.py:3439 msgid "Invalid template name - must include at least one alphanumeric character" @@ -6980,10 +6900,8 @@ msgid "Valid choices for this test (comma-separated)" msgstr "" #: part/models.py:3577 -#, fuzzy -#| msgid "Copy Category Parameter Templates" msgid "Part Parameter Template" -msgstr "Kopiëer Categorieparameter Sjablonen" +msgstr "" #: part/models.py:3604 msgid "Checkbox parameters cannot have units" @@ -7023,10 +6941,8 @@ msgid "Valid choices for this parameter (comma-separated)" msgstr "" #: part/models.py:3723 -#, fuzzy -#| msgid "Part Parameters" msgid "Part Parameter" -msgstr "Onderdeel Parameters" +msgstr "" #: part/models.py:3749 msgid "Parameter cannot be modified - part is locked" @@ -7050,10 +6966,8 @@ msgid "Parameter Value" msgstr "Parameterwaarde" #: part/models.py:3892 -#, fuzzy -#| msgid "Copy Category Parameter Templates" msgid "Part Category Parameter Template" -msgstr "Kopiëer Categorieparameter Sjablonen" +msgstr "" #: part/models.py:3951 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" @@ -9556,20 +9470,16 @@ msgid "StockItem cannot be moved as it is not in stock" msgstr "" #: stock/models.py:2317 -#, fuzzy -#| msgid "Use Stock Item Pricing" msgid "Stock Item Tracking" -msgstr "Gebruik voorraaditem prijzen" +msgstr "" #: stock/models.py:2350 msgid "Entry notes" msgstr "" #: stock/models.py:2390 -#, fuzzy -#| msgid "Stock Items" msgid "Stock Item Test Result" -msgstr "Voorraadartikelen" +msgstr "" #: stock/models.py:2423 msgid "Value must be provided for this test" @@ -9684,10 +9594,8 @@ msgid "Parent Item" msgstr "" #: stock/serializers.py:450 -#, fuzzy -#| msgid "Source stock item" msgid "Parent stock item" -msgstr "Bron voorraadartikel" +msgstr "" #: stock/serializers.py:469 msgid "Use pack size when adding: the quantity defined is the number of packs" @@ -9708,26 +9616,20 @@ msgid "Child Items" msgstr "" #: stock/serializers.py:598 -#, fuzzy -#| msgid "Tracking Number" msgid "Tracking Items" -msgstr "Volgnummer" +msgstr "" #: stock/serializers.py:604 msgid "Purchase price of this stock item, per unit or pack" msgstr "" #: stock/serializers.py:623 -#, fuzzy -#| msgid "Minimum Pricing Decimal Places" msgid "Minimum Pricing" -msgstr "Minimaal aantal prijs decimalen" +msgstr "" #: stock/serializers.py:629 -#, fuzzy -#| msgid "Maximum Pricing Decimal Places" msgid "Maximum Pricing" -msgstr "Maximum prijs decimalen" +msgstr "" #: stock/serializers.py:653 msgid "Enter number of stock items to serialize" @@ -14488,10 +14390,8 @@ msgid "Show active parts" msgstr "" #: templates/js/translated/table_filters.js:722 -#, fuzzy -#| msgid "Show related parts" msgid "Show locked parts" -msgstr "Verwante onderdelen tonen" +msgstr "" #: templates/js/translated/table_filters.js:730 msgid "Available stock" @@ -14903,14 +14803,3 @@ msgstr "" msgid "Permission to delete items" msgstr "" -#~ msgid "Default part label template" -#~ msgstr "Standaard sjabloon product onderdeel" - -#~ msgid "The part label template to be automatically selected" -#~ msgstr "Het onderdeellabelsjabloon dat automatisch wordt geselecteerd" - -#~ msgid "Default stock item template" -#~ msgstr "Standaard sjabloon voorraad onderdeel" - -#~ msgid "Default stock location label template" -#~ msgstr "Standaard label van voorraadlocatie" From 2dfc41bc9e37f4590c4ab2851eab881526924993 Mon Sep 17 00:00:00 2001 From: Oliver Date: Tue, 9 Jul 2024 00:56:27 +1000 Subject: [PATCH 16/36] Fix: New translations django.po from Crowdin --- .../InvenTree/locale/no/LC_MESSAGES/django.po | 255 +++++------------- 1 file changed, 60 insertions(+), 195 deletions(-) diff --git a/src/backend/InvenTree/locale/no/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/no/LC_MESSAGES/django.po index c7f31ac85b55..9e6da5e99022 100644 --- a/src/backend/InvenTree/locale/no/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/no/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-07-08 14:46+0000\n" -"PO-Revision-Date: 2024-07-05 14:57\n" +"PO-Revision-Date: 2024-07-08 14:56\n" "Last-Translator: \n" "Language-Team: Norwegian\n" "Language: no_NO\n" @@ -783,16 +783,12 @@ msgid "Assembly BOM has not been validated" msgstr "" #: build/models.py:134 -#, fuzzy -#| msgid "Stock item cannot be created for virtual parts" msgid "Build order cannot be created for an inactive part" -msgstr "Lagervare kan ikke opprettes for virtuelle deler" +msgstr "" #: build/models.py:141 -#, fuzzy -#| msgid "Build output cannot be specified for allocation of untracked parts" msgid "Build order cannot be created for an unlocked part" -msgstr "Produksjonsartikkel kan ikke spesifiseres for tildeling av usporede deler" +msgstr "" #: build/models.py:155 msgid "Invalid choice for parent build" @@ -1493,10 +1489,8 @@ msgid "Failed to start auto-allocation task" msgstr "" #: build/serializers.py:1095 -#, fuzzy -#| msgid "Supplier Part Orders" msgid "Supplier Part Number" -msgstr "Leverandørdelordre" +msgstr "" #: build/serializers.py:1096 company/models.py:500 msgid "Manufacturer Part Number" @@ -1508,16 +1502,12 @@ msgid "Location Name" msgstr "Plasseringsnavn" #: build/serializers.py:1098 -#, fuzzy -#| msgid "Build Order Reference" msgid "Build Reference" -msgstr "Produksjonsordre-referanse" +msgstr "" #: build/serializers.py:1099 -#, fuzzy -#| msgid "Reference" msgid "BOM Reference" -msgstr "Referanse" +msgstr "" #: build/serializers.py:1186 part/admin.py:402 part/models.py:3993 msgid "Part IPN" @@ -1561,22 +1551,16 @@ msgid "Available Stock" msgstr "Tilgjengelig lagerbeholdning" #: build/serializers.py:1224 -#, fuzzy -#| msgid "Substitute Stock" msgid "Available Substitute Stock" -msgstr "Erstatning-lagerbeholdning" +msgstr "" #: build/serializers.py:1225 -#, fuzzy -#| msgid "Available Stock" msgid "Available Variant Stock" -msgstr "Tilgjengelig lagerbeholdning" +msgstr "" #: build/serializers.py:1226 -#, fuzzy -#| msgid "Available Stock" msgid "Total Available Stock" -msgstr "Tilgjengelig lagerbeholdning" +msgstr "" #: build/serializers.py:1227 part/serializers.py:862 msgid "External Stock" @@ -2789,16 +2773,12 @@ msgid "Prevent build order creation for inactive parts" msgstr "" #: common/models.py:1801 -#, fuzzy -#| msgid "Return to Parts" msgid "Require Locked Part" -msgstr "Tilbake til deler" +msgstr "" #: common/models.py:1802 -#, fuzzy -#| msgid "Print build order report" msgid "Prevent build order creation for unlocked parts" -msgstr "Skriv ut produksjonsordrerapport" +msgstr "" #: common/models.py:1807 msgid "Require Valid BOM" @@ -3704,10 +3684,8 @@ msgid "Target model ID for this image" msgstr "" #: common/models.py:3035 -#, fuzzy -#| msgid "Customer ID" msgid "Custom Unit" -msgstr "Kunde-ID" +msgstr "" #: common/models.py:3056 msgid "Unit symbol must be unique" @@ -4036,30 +4014,24 @@ msgid "Is this company active?" msgstr "" #: company/models.py:168 -#, fuzzy -#| msgid "is customer" msgid "Is customer" -msgstr "er kunde" +msgstr "" #: company/models.py:169 msgid "Do you sell items to this company?" msgstr "Selger du varer til dette firmaet?" #: company/models.py:174 -#, fuzzy -#| msgid "is supplier" msgid "Is supplier" -msgstr "er leverandør" +msgstr "" #: company/models.py:175 msgid "Do you purchase items from this company?" msgstr "Kjøper du varer fra dette firmaet?" #: company/models.py:180 -#, fuzzy -#| msgid "is manufacturer" msgid "Is manufacturer" -msgstr "er produsent" +msgstr "" #: company/models.py:181 msgid "Does this company manufacture parts?" @@ -4220,10 +4192,8 @@ msgid "Manufacturer part description" msgstr "Produsentens delbeskrivelse" #: company/models.py:569 -#, fuzzy -#| msgid "Manufacturer Part Number" msgid "Manufacturer Part Parameter" -msgstr "Produsentens varenummer" +msgstr "" #: company/models.py:588 msgid "Parameter name" @@ -4379,20 +4349,16 @@ msgid "Date of last update of availability data" msgstr "Dato for siste oppdatering av tilgjengelighetsdata" #: company/models.py:1015 -#, fuzzy -#| msgid "Supplier Pricing" msgid "Supplier Price Break" -msgstr "Leverandørprising" +msgstr "" #: company/serializers.py:174 msgid "Default currency used for this supplier" msgstr "Standardvaluta brukt for denne leverandøren" #: company/serializers.py:210 -#, fuzzy -#| msgid "Company name" msgid "Company Name" -msgstr "Firmanavn" +msgstr "" #: company/serializers.py:384 part/admin.py:126 part/serializers.py:855 #: part/templates/part/part_base.html:197 @@ -4853,42 +4819,32 @@ msgid "Placed" msgstr "Plassert" #: importer/mixins.py:263 -#, fuzzy -#| msgid "Invalid value for overage" msgid "Invalid export format" -msgstr "Ugyldig verdi for svinn" +msgstr "" #: importer/models.py:56 msgid "Timestamp" msgstr "" #: importer/models.py:61 -#, fuzzy -#| msgid "Select file to upload" msgid "Data file to import" -msgstr "Velg fil å laste opp" +msgstr "" #: importer/models.py:70 templates/js/translated/tables.js:558 msgid "Columns" msgstr "" #: importer/models.py:81 -#, fuzzy -#| msgid "Import Parts" msgid "Import status" -msgstr "Importér Deler" +msgstr "" #: importer/models.py:91 -#, fuzzy -#| msgid "Build Details" msgid "Field Defaults" -msgstr "Produksjonsdetaljer" +msgstr "" #: importer/models.py:201 -#, fuzzy -#| msgid "Required build quantity has not been completed" msgid "Some required fields have not been mapped" -msgstr "Nødvendig produksjonsmengde er ikke nådd" +msgstr "" #: importer/models.py:346 msgid "Column is already mapped to a database field" @@ -4907,42 +4863,32 @@ msgid "Column does not exist in the data file" msgstr "" #: importer/models.py:372 -#, fuzzy -#| msgid "User does not have permission to view this model" msgid "Field does not exist in the target model" -msgstr "Brukeren har ikke rettigheter til å se denne modellen" +msgstr "" #: importer/models.py:376 msgid "Selected field is read-only" msgstr "" #: importer/models.py:381 importer/models.py:452 -#, fuzzy -#| msgid "Active Sessions" msgid "Import Session" -msgstr "Aktive økter" +msgstr "" #: importer/models.py:385 -#, fuzzy -#| msgid "File Fields" msgid "Field" -msgstr "Filfelter" +msgstr "" #: importer/models.py:387 msgid "Column" msgstr "" #: importer/models.py:456 -#, fuzzy -#| msgid "Index" msgid "Row Index" -msgstr "Indeks" +msgstr "" #: importer/models.py:459 -#, fuzzy -#| msgid "Original Part" msgid "Original row data" -msgstr "Original Del" +msgstr "" #: importer/models.py:462 part/models.py:3841 msgid "Data" @@ -4957,10 +4903,8 @@ msgid "Valid" msgstr "Gyldig" #: importer/operations.py:28 importer/operations.py:49 -#, fuzzy -#| msgid "Unsupported file format: {fmt}" msgid "Unsupported data file format" -msgstr "Filformatet støttes ikke: {fmt}" +msgstr "" #: importer/operations.py:40 msgid "Failed to open data file" @@ -4979,26 +4923,20 @@ msgid "List of row IDs to accept" msgstr "" #: importer/serializers.py:149 -#, fuzzy -#| msgid "No data rows provided" msgid "No rows provided" -msgstr "Ingen datarader oppgitt" +msgstr "" #: importer/serializers.py:153 -#, fuzzy -#| msgid "Item cannot belong to itself" msgid "Row does not belong to this session" -msgstr "Elementet kan ikke tilhøre seg selv" +msgstr "" #: importer/serializers.py:156 msgid "Row contains invalid data" msgstr "" #: importer/serializers.py:159 -#, fuzzy -#| msgid "This build output has already been completed" msgid "Row has already been completed" -msgstr "Denne produksjonsartikkelen er allerede fullført" +msgstr "" #: importer/status_codes.py:11 msgid "Initializing" @@ -5009,28 +4947,20 @@ msgid "Mapping Columns" msgstr "" #: importer/status_codes.py:13 -#, fuzzy -#| msgid "Import Part" msgid "Importing Data" -msgstr "Importér Del" +msgstr "" #: importer/status_codes.py:16 -#, fuzzy -#| msgid "Remove Existing Data" msgid "Processing Data" -msgstr "Fjern eksisterende data" +msgstr "" #: importer/validators.py:21 -#, fuzzy -#| msgid "Image download exceeded maximum size" msgid "Data file exceeds maximum size limit" -msgstr "Bildenedlasting overskred maksimal størrelse" +msgstr "" #: importer/validators.py:26 -#, fuzzy -#| msgid "Stock item contains other items" msgid "Data file contains no headers" -msgstr "Lagervare inneholder andre artikler" +msgstr "" #: importer/validators.py:29 msgid "Data file contains too many columns" @@ -5041,10 +4971,8 @@ msgid "Data file contains too many rows" msgstr "" #: importer/validators.py:49 -#, fuzzy -#| msgid "Metadata must be a python dict object" msgid "Value must be a valid dictionary object" -msgstr "Metadata må være et python dict-objekt" +msgstr "" #: machine/machine_types/label_printer.py:212 msgid "Copies" @@ -5374,10 +5302,8 @@ msgid "Unit price" msgstr "Enhetspris" #: order/models.py:1361 -#, fuzzy -#| msgid "Purchase Order Items" msgid "Purchase Order Line Item" -msgstr "Innkjøpsordreartikler" +msgstr "" #: order/models.py:1385 msgid "Supplier part must match supplier" @@ -5420,16 +5346,12 @@ msgid "Where does the Purchaser want this item to be stored?" msgstr "Hvor vil innkjøper at artikkelen skal lagres?" #: order/models.py:1503 -#, fuzzy -#| msgid "Purchase Order Items" msgid "Purchase Order Extra Line" -msgstr "Innkjøpsordreartikler" +msgstr "" #: order/models.py:1532 -#, fuzzy -#| msgid "Sales Order Items" msgid "Sales Order Line Item" -msgstr "Salgsordreartikler" +msgstr "" #: order/models.py:1553 msgid "Virtual part cannot be assigned to a sales order" @@ -5460,10 +5382,8 @@ msgid "Shipped quantity" msgstr "Sendt antall" #: order/models.py:1667 -#, fuzzy -#| msgid "Sales Order Default Shipment" msgid "Sales Order Shipment" -msgstr "Salgsordre standard fraktmetode" +msgstr "" #: order/models.py:1688 msgid "Date of shipment" @@ -5519,16 +5439,12 @@ msgid "Shipment has no allocated stock items" msgstr "Forsendelsen har ingen tildelte lagervarer" #: order/models.py:1828 -#, fuzzy -#| msgid "Sales Order Items" msgid "Sales Order Extra Line" -msgstr "Salgsordreartikler" +msgstr "" #: order/models.py:1857 -#, fuzzy -#| msgid "Sales Order Allocations" msgid "Sales Order Allocation" -msgstr "Salgsordretildelinger" +msgstr "" #: order/models.py:1880 order/models.py:1882 msgid "Stock item has not been assigned" @@ -5592,10 +5508,8 @@ msgid "Return order status" msgstr "Returordrestatus" #: order/models.py:2237 -#, fuzzy -#| msgid "Return order line item" msgid "Return Order Line Item" -msgstr "Returordrelinje" +msgstr "" #: order/models.py:2251 msgid "Only serialized items can be assigned to a Return Order" @@ -5627,10 +5541,8 @@ msgid "Cost associated with return or repair for this line item" msgstr "Kostnad forbundet med retur eller reparasjon for dette linjeelementet" #: order/models.py:2303 -#, fuzzy -#| msgid "Return Order Settings" msgid "Return Order Extra Line" -msgstr "Innstillinger for Returordre" +msgstr "" #: order/serializers.py:83 order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 @@ -5686,10 +5598,8 @@ msgid "Internal Part Number" msgstr "Internt delnummer" #: order/serializers.py:530 -#, fuzzy -#| msgid "Internal Part Number" msgid "Internal Part Name" -msgstr "Internt delnummer" +msgstr "" #: order/serializers.py:546 msgid "Supplier part must be specified" @@ -6645,16 +6555,12 @@ msgstr "Er denne delen aktiv?" #: part/models.py:1090 templates/js/translated/part.js:818 #: templates/js/translated/table_filters.js:721 -#, fuzzy -#| msgid "Lock" msgid "Locked" -msgstr "Lås" +msgstr "" #: part/models.py:1091 -#, fuzzy -#| msgid "Build order part cannot be changed" msgid "Locked parts cannot be edited" -msgstr "Produksjonsordrens del kan ikke endres" +msgstr "" #: part/models.py:1097 msgid "Is this a virtual part, such as a software product or license?" @@ -6903,16 +6809,12 @@ msgid "User who requested this stocktake report" msgstr "Bruker som forespurte varetellingsrapporten" #: part/models.py:3301 -#, fuzzy -#| msgid "Add Sell Price Break" msgid "Part Sale Price Break" -msgstr "Legg til salgsprisbrudd" +msgstr "" #: part/models.py:3413 -#, fuzzy -#| msgid "Part Test Templates" msgid "Part Test Template" -msgstr "Deltestmaler" +msgstr "" #: part/models.py:3439 msgid "Invalid template name - must include at least one alphanumeric character" @@ -6998,10 +6900,8 @@ msgid "Valid choices for this test (comma-separated)" msgstr "" #: part/models.py:3577 -#, fuzzy -#| msgid "Part Parameter Templates" msgid "Part Parameter Template" -msgstr "Mal for Delparameter" +msgstr "" #: part/models.py:3604 msgid "Checkbox parameters cannot have units" @@ -7041,10 +6941,8 @@ msgid "Valid choices for this parameter (comma-separated)" msgstr "Gyldige valg for denne parameteren (kommaseparert)" #: part/models.py:3723 -#, fuzzy -#| msgid "Part Parameters" msgid "Part Parameter" -msgstr "Delparametere" +msgstr "" #: part/models.py:3749 msgid "Parameter cannot be modified - part is locked" @@ -7068,10 +6966,8 @@ msgid "Parameter Value" msgstr "Parameterverdi" #: part/models.py:3892 -#, fuzzy -#| msgid "Copy Category Parameter Templates" msgid "Part Category Parameter Template" -msgstr "Kopier designmaler for kategoriparametere" +msgstr "" #: part/models.py:3951 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" @@ -9574,20 +9470,16 @@ 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:2317 -#, fuzzy -#| msgid "Stock Tracking" msgid "Stock Item Tracking" -msgstr "Sporing av lager" +msgstr "" #: stock/models.py:2350 msgid "Entry notes" msgstr "Oppføringsnotater" #: stock/models.py:2390 -#, fuzzy -#| msgid "Stock Item Test Report" msgid "Stock Item Test Result" -msgstr "Testrapport for lagervare" +msgstr "" #: stock/models.py:2423 msgid "Value must be provided for this test" @@ -9702,10 +9594,8 @@ msgid "Parent Item" msgstr "Overodnet element" #: stock/serializers.py:450 -#, fuzzy -#| msgid "Parent Stock Item" msgid "Parent stock item" -msgstr "Overordnet lagervare" +msgstr "" #: stock/serializers.py:469 msgid "Use pack size when adding: the quantity defined is the number of packs" @@ -9726,26 +9616,20 @@ msgid "Child Items" msgstr "Underordnede artikler" #: stock/serializers.py:598 -#, fuzzy -#| msgid "Tracking Number" msgid "Tracking Items" -msgstr "Sporingsnummer" +msgstr "" #: stock/serializers.py:604 msgid "Purchase price of this stock item, per unit or pack" msgstr "Innkjøpspris for denne lagervaren, per enhet eller forpakning" #: stock/serializers.py:623 -#, fuzzy -#| msgid "Minimum Price" msgid "Minimum Pricing" -msgstr "Minstepris" +msgstr "" #: stock/serializers.py:629 -#, fuzzy -#| msgid "Maximum Price" msgid "Maximum Pricing" -msgstr "Makspris" +msgstr "" #: stock/serializers.py:653 msgid "Enter number of stock items to serialize" @@ -14506,10 +14390,8 @@ msgid "Show active parts" msgstr "" #: templates/js/translated/table_filters.js:722 -#, fuzzy -#| msgid "Show related parts" msgid "Show locked parts" -msgstr "Vis relaterte deler" +msgstr "" #: templates/js/translated/table_filters.js:730 msgid "Available stock" @@ -14921,20 +14803,3 @@ msgstr "Tillatelse til å endre elementer" msgid "Permission to delete items" msgstr "Tillatelse til å slette elementer" -#~ msgid "Default part label template" -#~ msgstr "Standard etikettmal for del" - -#~ msgid "The part label template to be automatically selected" -#~ msgstr "Etikettmalen for del som velges automatisk" - -#~ msgid "Default stock item template" -#~ msgstr "Standard etikettmal for lagervare" - -#~ msgid "The stock item label template to be automatically selected" -#~ msgstr "Etikettmalen for lagervare som velges automatisk" - -#~ msgid "Default stock location label template" -#~ msgstr "Standard etikettmal for lagerplassering" - -#~ msgid "The stock location label template to be automatically selected" -#~ msgstr "Etikettmalen for lagerplassering som velges automatisk" From 86334fc1dfee7e922b366977e76d8f97a2b83006 Mon Sep 17 00:00:00 2001 From: Oliver Date: Tue, 9 Jul 2024 00:56:29 +1000 Subject: [PATCH 17/36] Fix: New translations django.po from Crowdin --- .../InvenTree/locale/pl/LC_MESSAGES/django.po | 215 +++++------------- 1 file changed, 55 insertions(+), 160 deletions(-) diff --git a/src/backend/InvenTree/locale/pl/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/pl/LC_MESSAGES/django.po index 0b2f445b9944..560855905132 100644 --- a/src/backend/InvenTree/locale/pl/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/pl/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-07-08 14:46+0000\n" -"PO-Revision-Date: 2024-07-05 14:58\n" +"PO-Revision-Date: 2024-07-08 14:56\n" "Last-Translator: \n" "Language-Team: Polish\n" "Language: pl_PL\n" @@ -783,16 +783,12 @@ msgid "Assembly BOM has not been validated" msgstr "" #: build/models.py:134 -#, fuzzy -#| msgid "Build order part cannot be changed" msgid "Build order cannot be created for an inactive part" -msgstr "Nie można zmienić elementu kompletacji" +msgstr "" #: build/models.py:141 -#, fuzzy -#| msgid "Build order part cannot be changed" msgid "Build order cannot be created for an unlocked part" -msgstr "Nie można zmienić elementu kompletacji" +msgstr "" #: build/models.py:155 msgid "Invalid choice for parent build" @@ -1493,10 +1489,8 @@ msgid "Failed to start auto-allocation task" msgstr "" #: build/serializers.py:1095 -#, fuzzy -#| msgid "Supplier Part ID" msgid "Supplier Part Number" -msgstr "ID części dostawcy" +msgstr "" #: build/serializers.py:1096 company/models.py:500 msgid "Manufacturer Part Number" @@ -1508,16 +1502,12 @@ msgid "Location Name" msgstr "" #: build/serializers.py:1098 -#, fuzzy -#| msgid "Build Order Reference" msgid "Build Reference" -msgstr "Odwołanie do zamówienia wykonania" +msgstr "" #: build/serializers.py:1099 -#, fuzzy -#| msgid "Reference" msgid "BOM Reference" -msgstr "Referencja" +msgstr "" #: build/serializers.py:1186 part/admin.py:402 part/models.py:3993 msgid "Part IPN" @@ -1561,22 +1551,16 @@ msgid "Available Stock" msgstr "Dostępna ilość" #: build/serializers.py:1224 -#, fuzzy -#| msgid "Substitute Stock" msgid "Available Substitute Stock" -msgstr "Zastępczy magazyn" +msgstr "" #: build/serializers.py:1225 -#, fuzzy -#| msgid "Available Stock" msgid "Available Variant Stock" -msgstr "Dostępna ilość" +msgstr "" #: build/serializers.py:1226 -#, fuzzy -#| msgid "Available Stock" msgid "Total Available Stock" -msgstr "Dostępna ilość" +msgstr "" #: build/serializers.py:1227 part/serializers.py:862 msgid "External Stock" @@ -2789,10 +2773,8 @@ msgid "Prevent build order creation for inactive parts" msgstr "" #: common/models.py:1801 -#, fuzzy -#| msgid "Return to Parts" msgid "Require Locked Part" -msgstr "Powrót do części" +msgstr "" #: common/models.py:1802 msgid "Prevent build order creation for unlocked parts" @@ -3702,10 +3684,8 @@ msgid "Target model ID for this image" msgstr "" #: common/models.py:3035 -#, fuzzy -#| msgid "Customer" msgid "Custom Unit" -msgstr "Klient" +msgstr "" #: common/models.py:3056 msgid "Unit symbol must be unique" @@ -4034,30 +4014,24 @@ msgid "Is this company active?" msgstr "" #: company/models.py:168 -#, fuzzy -#| msgid "is customer" msgid "Is customer" -msgstr "jest klientem" +msgstr "" #: company/models.py:169 msgid "Do you sell items to this company?" msgstr "Czy sprzedajesz produkty tej firmie?" #: company/models.py:174 -#, fuzzy -#| msgid "is supplier" msgid "Is supplier" -msgstr "jest dostawcą" +msgstr "" #: company/models.py:175 msgid "Do you purchase items from this company?" msgstr "Czy kupujesz przedmioty od tej firmy?" #: company/models.py:180 -#, fuzzy -#| msgid "is manufacturer" msgid "Is manufacturer" -msgstr "jest producentem" +msgstr "" #: company/models.py:181 msgid "Does this company manufacture parts?" @@ -4218,10 +4192,8 @@ msgid "Manufacturer part description" msgstr "" #: company/models.py:569 -#, fuzzy -#| msgid "Manufacturer Part Number" msgid "Manufacturer Part Parameter" -msgstr "Numer producenta komponentu" +msgstr "" #: company/models.py:588 msgid "Parameter name" @@ -4377,20 +4349,16 @@ msgid "Date of last update of availability data" msgstr "" #: company/models.py:1015 -#, fuzzy -#| msgid "Supplier Pricing" msgid "Supplier Price Break" -msgstr "Cennik dostawcy" +msgstr "" #: company/serializers.py:174 msgid "Default currency used for this supplier" msgstr "Domyślna waluta używana dla tego dostawcy" #: company/serializers.py:210 -#, fuzzy -#| msgid "Company name" msgid "Company Name" -msgstr "Nazwa firmy" +msgstr "" #: company/serializers.py:384 part/admin.py:126 part/serializers.py:855 #: part/templates/part/part_base.html:197 @@ -4851,36 +4819,28 @@ msgid "Placed" msgstr "Umieszczony" #: importer/mixins.py:263 -#, fuzzy -#| msgid "Invalid value for overage" msgid "Invalid export format" -msgstr "Nieprawidłowa wartość przedawnienia" +msgstr "" #: importer/models.py:56 msgid "Timestamp" msgstr "" #: importer/models.py:61 -#, fuzzy -#| msgid "Select file to upload" msgid "Data file to import" -msgstr "Wybierz plik do przesłania" +msgstr "" #: importer/models.py:70 templates/js/translated/tables.js:558 msgid "Columns" msgstr "" #: importer/models.py:81 -#, fuzzy -#| msgid "Import Parts" msgid "Import status" -msgstr "Importuj Części" +msgstr "" #: importer/models.py:91 -#, fuzzy -#| msgid "Build Details" msgid "Field Defaults" -msgstr "Szczegóły budowy" +msgstr "" #: importer/models.py:201 msgid "Some required fields have not been mapped" @@ -4903,20 +4863,16 @@ msgid "Column does not exist in the data file" msgstr "" #: importer/models.py:372 -#, fuzzy -#| msgid "User does not have permission to view this model" msgid "Field does not exist in the target model" -msgstr "Użytkownik nie ma uprawnień do przeglądania tego modelu" +msgstr "" #: importer/models.py:376 msgid "Selected field is read-only" msgstr "" #: importer/models.py:381 importer/models.py:452 -#, fuzzy -#| msgid "Active Sessions" msgid "Import Session" -msgstr "Aktywne sesje" +msgstr "" #: importer/models.py:385 msgid "Field" @@ -4927,10 +4883,8 @@ msgid "Column" msgstr "" #: importer/models.py:456 -#, fuzzy -#| msgid "Index" msgid "Row Index" -msgstr "Indeks" +msgstr "" #: importer/models.py:459 msgid "Original row data" @@ -4949,10 +4903,8 @@ msgid "Valid" msgstr "Ważny" #: importer/operations.py:28 importer/operations.py:49 -#, fuzzy -#| msgid "Unsupported file type" msgid "Unsupported data file format" -msgstr "Nieobsługiwany typ pliku" +msgstr "" #: importer/operations.py:40 msgid "Failed to open data file" @@ -4971,10 +4923,8 @@ msgid "List of row IDs to accept" msgstr "" #: importer/serializers.py:149 -#, fuzzy -#| msgid "No data rows provided" msgid "No rows provided" -msgstr "Nie podano wierszy danych" +msgstr "" #: importer/serializers.py:153 msgid "Row does not belong to this session" @@ -4985,38 +4935,28 @@ msgid "Row contains invalid data" msgstr "" #: importer/serializers.py:159 -#, fuzzy -#| msgid "Shipment has already been sent" msgid "Row has already been completed" -msgstr "Przesyłka została już wysłana" +msgstr "" #: importer/status_codes.py:11 -#, fuzzy -#| msgid "Initialized" msgid "Initializing" -msgstr "Zainicjalizowany" +msgstr "" #: importer/status_codes.py:12 msgid "Mapping Columns" msgstr "" #: importer/status_codes.py:13 -#, fuzzy -#| msgid "Import Part" msgid "Importing Data" -msgstr "Import części" +msgstr "" #: importer/status_codes.py:16 -#, fuzzy -#| msgid "Remove Existing Data" msgid "Processing Data" -msgstr "Usuń istniejące dane" +msgstr "" #: importer/validators.py:21 -#, fuzzy -#| msgid "Image download exceeded maximum size" msgid "Data file exceeds maximum size limit" -msgstr "Przekroczono maksymalny rozmiar pobieranego obrazu" +msgstr "" #: importer/validators.py:26 msgid "Data file contains no headers" @@ -5031,10 +4971,8 @@ msgid "Data file contains too many rows" msgstr "" #: importer/validators.py:49 -#, fuzzy -#| msgid "Metadata must be a python dict object" msgid "Value must be a valid dictionary object" -msgstr "Metadane muszą być obiektem typu dict w Python" +msgstr "" #: machine/machine_types/label_printer.py:212 msgid "Copies" @@ -5364,10 +5302,8 @@ msgid "Unit price" msgstr "" #: order/models.py:1361 -#, fuzzy -#| msgid "Purchase Order Items" msgid "Purchase Order Line Item" -msgstr "Pozycje zlecenia zakupu" +msgstr "" #: order/models.py:1385 msgid "Supplier part must match supplier" @@ -5410,16 +5346,12 @@ msgid "Where does the Purchaser want this item to be stored?" msgstr "Gdzie kupujący chce przechowywać ten przedmiot?" #: order/models.py:1503 -#, fuzzy -#| msgid "Purchase Order Items" msgid "Purchase Order Extra Line" -msgstr "Pozycje zlecenia zakupu" +msgstr "" #: order/models.py:1532 -#, fuzzy -#| msgid "Sales Order" msgid "Sales Order Line Item" -msgstr "Zamówienie zakupu" +msgstr "" #: order/models.py:1553 msgid "Virtual part cannot be assigned to a sales order" @@ -5450,10 +5382,8 @@ msgid "Shipped quantity" msgstr "Wysłana ilość" #: order/models.py:1667 -#, fuzzy -#| msgid "Sales Order" msgid "Sales Order Shipment" -msgstr "Zamówienie zakupu" +msgstr "" #: order/models.py:1688 msgid "Date of shipment" @@ -5509,16 +5439,12 @@ msgid "Shipment has no allocated stock items" msgstr "" #: order/models.py:1828 -#, fuzzy -#| msgid "Sales Order Reference" msgid "Sales Order Extra Line" -msgstr "Odwołanie do zamówienia sprzedaży" +msgstr "" #: order/models.py:1857 -#, fuzzy -#| msgid "Discard Allocations" msgid "Sales Order Allocation" -msgstr "Odrzuć przydziały" +msgstr "" #: order/models.py:1880 order/models.py:1882 msgid "Stock item has not been assigned" @@ -5582,10 +5508,8 @@ msgid "Return order status" msgstr "" #: order/models.py:2237 -#, fuzzy -#| msgid "Return to Orders" msgid "Return Order Line Item" -msgstr "Wróć do zamówień" +msgstr "" #: order/models.py:2251 msgid "Only serialized items can be assigned to a Return Order" @@ -5617,10 +5541,8 @@ msgid "Cost associated with return or repair for this line item" msgstr "" #: order/models.py:2303 -#, fuzzy -#| msgid "Add Extra Line" msgid "Return Order Extra Line" -msgstr "Dodaj dodatkową linię" +msgstr "" #: order/serializers.py:83 order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 @@ -5676,10 +5598,8 @@ msgid "Internal Part Number" msgstr "" #: order/serializers.py:530 -#, fuzzy -#| msgid "Internal Part" msgid "Internal Part Name" -msgstr "Komponent wewnętrzny" +msgstr "" #: order/serializers.py:546 msgid "Supplier part must be specified" @@ -6635,16 +6555,12 @@ msgstr "Czy ta część jest aktywna?" #: part/models.py:1090 templates/js/translated/part.js:818 #: templates/js/translated/table_filters.js:721 -#, fuzzy -#| msgid "Lock" msgid "Locked" -msgstr "Blokada" +msgstr "" #: part/models.py:1091 -#, fuzzy -#| msgid "Build order part cannot be changed" msgid "Locked parts cannot be edited" -msgstr "Nie można zmienić elementu kompletacji" +msgstr "" #: part/models.py:1097 msgid "Is this a virtual part, such as a software product or license?" @@ -6893,16 +6809,12 @@ msgid "User who requested this stocktake report" msgstr "" #: part/models.py:3301 -#, fuzzy -#| msgid "Sale Price" msgid "Part Sale Price Break" -msgstr "Cena sprzedaży" +msgstr "" #: part/models.py:3413 -#, fuzzy -#| msgid "Test Templates" msgid "Part Test Template" -msgstr "Szablony testowe" +msgstr "" #: part/models.py:3439 msgid "Invalid template name - must include at least one alphanumeric character" @@ -6988,10 +6900,8 @@ msgid "Valid choices for this test (comma-separated)" msgstr "" #: part/models.py:3577 -#, fuzzy -#| msgid "Part Parameters" msgid "Part Parameter Template" -msgstr "Parametry części" +msgstr "" #: part/models.py:3604 msgid "Checkbox parameters cannot have units" @@ -7031,10 +6941,8 @@ msgid "Valid choices for this parameter (comma-separated)" msgstr "" #: part/models.py:3723 -#, fuzzy -#| msgid "Part Parameters" msgid "Part Parameter" -msgstr "Parametry części" +msgstr "" #: part/models.py:3749 msgid "Parameter cannot be modified - part is locked" @@ -9562,20 +9470,16 @@ msgid "StockItem cannot be moved as it is not in stock" msgstr "" #: stock/models.py:2317 -#, fuzzy -#| msgid "Stock Item" msgid "Stock Item Tracking" -msgstr "Element magazynowy" +msgstr "" #: stock/models.py:2350 msgid "Entry notes" msgstr "Notatki do wpisu" #: stock/models.py:2390 -#, fuzzy -#| msgid "Stock Items" msgid "Stock Item Test Result" -msgstr "Towary" +msgstr "" #: stock/models.py:2423 msgid "Value must be provided for this test" @@ -9690,10 +9594,8 @@ msgid "Parent Item" msgstr "Element nadrzędny" #: stock/serializers.py:450 -#, fuzzy -#| msgid "Parent Stock Item" msgid "Parent stock item" -msgstr "Nadrzędny towar" +msgstr "" #: stock/serializers.py:469 msgid "Use pack size when adding: the quantity defined is the number of packs" @@ -9714,26 +9616,20 @@ msgid "Child Items" msgstr "Elementy podrzędne" #: stock/serializers.py:598 -#, fuzzy -#| msgid "Tracking Number" msgid "Tracking Items" -msgstr "Numer śledzenia" +msgstr "" #: stock/serializers.py:604 msgid "Purchase price of this stock item, per unit or pack" msgstr "" #: stock/serializers.py:623 -#, fuzzy -#| msgid "Minimum Stock" msgid "Minimum Pricing" -msgstr "Minimalny stan magazynowy" +msgstr "" #: stock/serializers.py:629 -#, fuzzy -#| msgid "Has Pricing" msgid "Maximum Pricing" -msgstr "Posiada ceny" +msgstr "" #: stock/serializers.py:653 msgid "Enter number of stock items to serialize" @@ -14494,10 +14390,8 @@ msgid "Show active parts" msgstr "" #: templates/js/translated/table_filters.js:722 -#, fuzzy -#| msgid "Show related parts" msgid "Show locked parts" -msgstr "Pokaż powiązane części" +msgstr "" #: templates/js/translated/table_filters.js:730 msgid "Available stock" @@ -14908,3 +14802,4 @@ msgstr "Uprawnienie do edycji przedmiotów" #: users/models.py:408 msgid "Permission to delete items" msgstr "Uprawnienie do usuwania przedmiotów" + From b60fdadbc85b76e15bc025831324f7c6fa0f83e6 Mon Sep 17 00:00:00 2001 From: Oliver Date: Tue, 9 Jul 2024 00:56:31 +1000 Subject: [PATCH 18/36] Fix: New translations django.po from Crowdin --- .../InvenTree/locale/pt/LC_MESSAGES/django.po | 5727 +++++++++-------- 1 file changed, 2864 insertions(+), 2863 deletions(-) diff --git a/src/backend/InvenTree/locale/pt/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/pt/LC_MESSAGES/django.po index 8bd825cee6d1..855b1dd72ae6 100644 --- a/src/backend/InvenTree/locale/pt/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/pt/LC_MESSAGES/django.po @@ -3,58 +3,58 @@ msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-07-08 14:46+0000\n" -"PO-Revision-Date: 2024-07-05 14:58\n" +"PO-Revision-Date: 2024-07-08 14:56\n" "Last-Translator: \n" -"Language-Team: Portuguese, Brazilian\n" -"Language: pt_BR\n" +"Language-Team: Portuguese\n" +"Language: pt_PT\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Crowdin-Project: inventree\n" "X-Crowdin-Project-ID: 452300\n" -"X-Crowdin-Language: pt-BR\n" +"X-Crowdin-Language: pt-PT\n" "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:272 msgid "API endpoint not found" -msgstr "" +msgstr "API endpoint não encontrado" #: InvenTree/api.py:505 msgid "User does not have permission to view this model" -msgstr "" +msgstr "Usuário não tem permissão para ver este modelo" #: InvenTree/conversion.py:160 #, python-brace-format msgid "Invalid unit provided ({unit})" -msgstr "" +msgstr "Unidade inválida fornecida ({unit})" #: InvenTree/conversion.py:177 msgid "No value provided" -msgstr "" +msgstr "Nenhum valor fornecido" #: InvenTree/conversion.py:204 #, python-brace-format msgid "Could not convert {original} to {unit}" -msgstr "" +msgstr "Não foi possível converter {original} para {unit}" #: InvenTree/conversion.py:206 msgid "Invalid quantity supplied" -msgstr "" +msgstr "Quantidade fornecida inválida" #: InvenTree/conversion.py:220 #, python-brace-format msgid "Invalid quantity supplied ({exc})" -msgstr "" +msgstr "Quantidade fornecida inválida ({exc})" #: InvenTree/exceptions.py:109 msgid "Error details can be found in the admin panel" -msgstr "" +msgstr "Detalhes do erro podem ser encontrados no painel de administrador" #: InvenTree/fields.py:136 msgid "Enter date" -msgstr "" +msgstr "Insira uma Data" #: InvenTree/fields.py:205 InvenTree/models.py:921 build/serializers.py:456 #: build/serializers.py:534 build/templates/build/sidebar.html:21 @@ -77,331 +77,331 @@ msgstr "" #: templates/js/translated/sales_order.js:2018 #: templates/js/translated/stock.js:1536 templates/js/translated/stock.js:2428 msgid "Notes" -msgstr "" +msgstr "Anotações" #: InvenTree/format.py:164 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" -msgstr "" +msgstr "Valor '{name}' não está no formato correto" #: InvenTree/format.py:175 msgid "Provided value does not match required pattern: " -msgstr "" +msgstr "O valor fornecido não corresponde ao padrão exigido: " #: InvenTree/forms.py:128 msgid "Enter password" -msgstr "" +msgstr "Digite a senha" #: InvenTree/forms.py:129 msgid "Enter new password" -msgstr "" +msgstr "Insira uma nova senha" #: InvenTree/forms.py:138 msgid "Confirm password" -msgstr "" +msgstr "Confirmar senha" #: InvenTree/forms.py:139 msgid "Confirm new password" -msgstr "" +msgstr "Confirmar nova senha" #: InvenTree/forms.py:143 msgid "Old password" -msgstr "" +msgstr "Senha atual" #: InvenTree/forms.py:182 msgid "Email (again)" -msgstr "" +msgstr "E-mail (novamente)" #: InvenTree/forms.py:186 msgid "Email address confirmation" -msgstr "" +msgstr "Confirmação do endereço de email" #: InvenTree/forms.py:209 msgid "You must type the same email each time." -msgstr "" +msgstr "Você deve digitar o mesmo e-mail todas as vezes." #: InvenTree/forms.py:248 InvenTree/forms.py:256 msgid "The provided primary email address is not valid." -msgstr "" +msgstr "O endereço primário de e-mail não é válido." #: InvenTree/forms.py:263 msgid "The provided email domain is not approved." -msgstr "" +msgstr "O domínio de e-mail providenciado não foi aprovado." #: InvenTree/forms.py:392 msgid "Registration is disabled." -msgstr "" +msgstr "Cadastro está desativado." #: InvenTree/helpers.py:525 order/models.py:562 order/models.py:764 msgid "Invalid quantity provided" -msgstr "" +msgstr "Quantidade fornecida inválida" #: InvenTree/helpers.py:533 msgid "Empty serial number string" -msgstr "" +msgstr "Número serial em branco" #: InvenTree/helpers.py:562 msgid "Duplicate serial" -msgstr "" +msgstr "Número de série duplicado" #: InvenTree/helpers.py:594 InvenTree/helpers.py:637 #, python-brace-format msgid "Invalid group range: {group}" -msgstr "" +msgstr "Intervalo de grupo inválido: {group}" #: InvenTree/helpers.py:625 #, python-brace-format msgid "Group range {group} exceeds allowed quantity ({expected_quantity})" -msgstr "" +msgstr "Intervalo do grupo {group} excede a quantidade 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 "Sequência de grupo inválida:{group}" #: InvenTree/helpers.py:691 msgid "No serial numbers found" -msgstr "" +msgstr "Nenhum número de série foi encontrado" #: InvenTree/helpers.py:696 msgid "Number of unique serial numbers ({len(serials)}) must match quantity ({expected_quantity})" -msgstr "" +msgstr "Números de série únicos ({len(serials)}) deve corresponder a quantidade ({expected_quantity})" #: InvenTree/helpers.py:814 msgid "Remove HTML tags from this value" -msgstr "" +msgstr "Remova as \"tags\" HTML deste valor" #: InvenTree/helpers_model.py:140 msgid "Connection error" -msgstr "" +msgstr "Erro de conexão" #: InvenTree/helpers_model.py:145 InvenTree/helpers_model.py:152 msgid "Server responded with invalid status code" -msgstr "" +msgstr "O servidor respondeu com código estado inválido" #: InvenTree/helpers_model.py:148 msgid "Exception occurred" -msgstr "" +msgstr "Ocorreu uma exceção" #: InvenTree/helpers_model.py:158 msgid "Server responded with invalid Content-Length value" -msgstr "" +msgstr "O servidor respondeu com valor inválido do tamanho de conteúdo" #: InvenTree/helpers_model.py:161 msgid "Image size is too large" -msgstr "" +msgstr "Tamanho da imagem muito grande" #: InvenTree/helpers_model.py:173 msgid "Image download exceeded maximum size" -msgstr "" +msgstr "O download da imagem excedeu o tamanho máximo" #: InvenTree/helpers_model.py:178 msgid "Remote server returned empty response" -msgstr "" +msgstr "O servidor remoto retornou resposta vazia" #: InvenTree/helpers_model.py:186 msgid "Supplied URL is not a valid image file" -msgstr "" +msgstr "A URL fornecida não é um arquivo de imagem válido" #: InvenTree/locales.py:18 msgid "Bulgarian" -msgstr "" +msgstr "Búlgaro" #: InvenTree/locales.py:19 msgid "Czech" -msgstr "" +msgstr "Tcheco" #: InvenTree/locales.py:20 msgid "Danish" -msgstr "" +msgstr "Dinamarquês" #: InvenTree/locales.py:21 msgid "German" -msgstr "" +msgstr "Alemão" #: InvenTree/locales.py:22 msgid "Greek" -msgstr "" +msgstr "Grego" #: InvenTree/locales.py:23 msgid "English" -msgstr "" +msgstr "Inglês" #: InvenTree/locales.py:24 msgid "Spanish" -msgstr "" +msgstr "Espanhol" #: InvenTree/locales.py:25 msgid "Spanish (Mexican)" -msgstr "" +msgstr "Espanhol (Mexicano)" #: InvenTree/locales.py:26 msgid "Farsi / Persian" -msgstr "" +msgstr "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 "Hebraico" #: InvenTree/locales.py:30 msgid "Hindi" -msgstr "" +msgstr "Hindu" #: InvenTree/locales.py:31 msgid "Hungarian" -msgstr "" +msgstr "Húngaro" #: InvenTree/locales.py:32 msgid "Italian" -msgstr "" +msgstr "Italiano" #: InvenTree/locales.py:33 msgid "Japanese" -msgstr "" +msgstr "Japonês" #: InvenTree/locales.py:34 msgid "Korean" -msgstr "" +msgstr "Coreano" #: InvenTree/locales.py:35 msgid "Latvian" -msgstr "" +msgstr "Letão" #: InvenTree/locales.py:36 msgid "Dutch" -msgstr "" +msgstr "Holandês" #: InvenTree/locales.py:37 msgid "Norwegian" -msgstr "" +msgstr "Norueguês" #: InvenTree/locales.py:38 msgid "Polish" -msgstr "" +msgstr "Polonês" #: InvenTree/locales.py:39 msgid "Portuguese" -msgstr "" +msgstr "Português" #: InvenTree/locales.py:40 msgid "Portuguese (Brazilian)" -msgstr "" +msgstr "Português (Brasileiro)" #: InvenTree/locales.py:41 msgid "Romanian" -msgstr "" +msgstr "Romeno" #: InvenTree/locales.py:42 msgid "Russian" -msgstr "" +msgstr "Russo" #: InvenTree/locales.py:43 msgid "Slovak" -msgstr "" +msgstr "Eslovaco" #: InvenTree/locales.py:44 msgid "Slovenian" -msgstr "" +msgstr "Esloveno" #: InvenTree/locales.py:45 msgid "Serbian" -msgstr "" +msgstr "Sérvio" #: InvenTree/locales.py:46 msgid "Swedish" -msgstr "" +msgstr "Sueco" #: InvenTree/locales.py:47 msgid "Thai" -msgstr "" +msgstr "Tailandês" #: InvenTree/locales.py:48 msgid "Turkish" -msgstr "" +msgstr "Turco" #: InvenTree/locales.py:49 msgid "Ukrainian" -msgstr "" +msgstr "Ucraniano" #: InvenTree/locales.py:50 msgid "Vietnamese" -msgstr "" +msgstr "Vietnamita" #: InvenTree/locales.py:51 msgid "Chinese (Simplified)" -msgstr "" +msgstr "Chinês (Simplificado)" #: InvenTree/locales.py:52 msgid "Chinese (Traditional)" -msgstr "" +msgstr "Chinês (Tradicional)" #: InvenTree/magic_login.py:28 #, python-brace-format msgid "[{site_name}] Log in to the app" -msgstr "" +msgstr "[{site_name}] Entre no aplicativo" #: InvenTree/magic_login.py:38 InvenTree/serializers.py:415 #: company/models.py:136 company/templates/company/company_base.html:138 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:677 msgid "Email" -msgstr "" +msgstr "Email" #: InvenTree/models.py:105 msgid "Error running plugin validation" -msgstr "" +msgstr "Erro ao executar validação do plugin" #: InvenTree/models.py:174 msgid "Metadata must be a python dict object" -msgstr "" +msgstr "Metadados deve ser um objeto dict python" #: InvenTree/models.py:180 msgid "Plugin Metadata" -msgstr "" +msgstr "Metadados da Extensão" #: InvenTree/models.py:181 msgid "JSON metadata field, for use by external plugins" -msgstr "" +msgstr "Campo de metadados JSON, para uso por extensões externas" #: InvenTree/models.py:411 msgid "Improperly formatted pattern" -msgstr "" +msgstr "Padrão formatado incorretamente" #: InvenTree/models.py:418 msgid "Unknown format key specified" -msgstr "" +msgstr "Chave de formato desconhecida especificada" #: InvenTree/models.py:424 msgid "Missing required format key" -msgstr "" +msgstr "Chave de formato obrigatória ausente" #: InvenTree/models.py:435 msgid "Reference field cannot be empty" -msgstr "" +msgstr "O campo de referência não pode ficar vazio" #: InvenTree/models.py:443 msgid "Reference must match required pattern" -msgstr "" +msgstr "A referência deve corresponder ao padrão exigido" #: InvenTree/models.py:474 msgid "Reference number is too large" -msgstr "" +msgstr "O número de referência é muito grande" #: InvenTree/models.py:722 msgid "Duplicate names cannot exist under the same parent" -msgstr "" +msgstr "Nomes duplicados não podem existir sob o mesmo parental" #: InvenTree/models.py:739 msgid "Invalid choice" -msgstr "" +msgstr "Escolha inválida" #: InvenTree/models.py:769 common/models.py:2659 common/models.py:3089 #: common/serializers.py:412 company/models.py:587 machine/models.py:24 @@ -421,7 +421,7 @@ msgstr "" #: templates/js/translated/part.js:1478 templates/js/translated/part.js:1614 #: templates/js/translated/part.js:2752 templates/js/translated/stock.js:2716 msgid "Name" -msgstr "" +msgstr "Nome" #: InvenTree/models.py:775 build/models.py:242 #: build/templates/build/detail.html:24 common/models.py:143 @@ -458,71 +458,71 @@ msgstr "" #: 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 "Descrição" #: InvenTree/models.py:776 stock/models.py:81 msgid "Description (optional)" -msgstr "" +msgstr "Descrição (opcional)" #: InvenTree/models.py:791 templates/js/translated/part.js:2797 #: templates/js/translated/stock.js:2757 msgid "Path" -msgstr "" +msgstr "Caminho" #: InvenTree/models.py:921 msgid "Markdown notes (optional)" -msgstr "" +msgstr "Notas Markdown (opcional)" #: InvenTree/models.py:950 msgid "Barcode Data" -msgstr "" +msgstr "Dados de código de barras" #: InvenTree/models.py:951 msgid "Third party barcode data" -msgstr "" +msgstr "Dados de código de barras de terceiros" #: InvenTree/models.py:957 msgid "Barcode Hash" -msgstr "" +msgstr "Hash de código de barras" #: InvenTree/models.py:958 msgid "Unique hash of barcode data" -msgstr "" +msgstr "Hash exclusivo de dados de código de barras" #: InvenTree/models.py:1011 msgid "Existing barcode found" -msgstr "" +msgstr "Código de barras existente encontrado" #: InvenTree/models.py:1054 msgid "Server Error" -msgstr "" +msgstr "Erro de servidor" #: InvenTree/models.py:1055 msgid "An error has been logged by the server." -msgstr "" +msgstr "Log de erro salvo pelo servidor." #: InvenTree/serializers.py:63 part/models.py:4277 msgid "Must be a valid number" -msgstr "" +msgstr "Preicsa ser um numero valido" #: InvenTree/serializers.py:100 company/models.py:186 #: company/templates/company/company_base.html:112 part/models.py:3011 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" -msgstr "" +msgstr "Moeda" #: InvenTree/serializers.py:103 msgid "Select currency from available options" -msgstr "" +msgstr "Selecione a Moeda nas opções disponíveis" #: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:33 msgid "Username" -msgstr "" +msgstr "Nome de usuário" #: InvenTree/serializers.py:409 templates/InvenTree/settings/user.html:37 msgid "First Name" -msgstr "" +msgstr "Primeiro Nome" #: InvenTree/serializers.py:409 msgid "First name of the user" @@ -530,7 +530,7 @@ msgstr "" #: InvenTree/serializers.py:412 templates/InvenTree/settings/user.html:41 msgid "Last Name" -msgstr "" +msgstr "Sobrenome" #: InvenTree/serializers.py:412 msgid "Last name of the user" @@ -567,7 +567,7 @@ msgstr "" #: templates/js/translated/table_filters.js:716 #: templates/js/translated/table_filters.js:801 users/models.py:182 msgid "Active" -msgstr "" +msgstr "Ativo" #: InvenTree/serializers.py:445 msgid "Is this user account active" @@ -575,145 +575,145 @@ msgstr "" #: InvenTree/serializers.py:463 msgid "You do not have permission to change this user role." -msgstr "" +msgstr "Não tem permissões para alterar este papel do usuário." #: InvenTree/serializers.py:475 msgid "Only superusers can create new users" -msgstr "" +msgstr "Apenas superusuários podem criar novos usuários" #: InvenTree/serializers.py:494 msgid "Your account has been created." -msgstr "" +msgstr "Sua conta foi criada." #: InvenTree/serializers.py:496 msgid "Please use the password reset function to login" -msgstr "" +msgstr "Por favor, use a função de redefinir senha para acessar" #: InvenTree/serializers.py:503 msgid "Welcome to InvenTree" -msgstr "" +msgstr "Bem-vindo(a) ao InvenTree" #: InvenTree/serializers.py:561 msgid "Invalid value" -msgstr "" +msgstr "Valor inválido" #: InvenTree/serializers.py:581 importer/models.py:60 msgid "Data File" -msgstr "" +msgstr "Arquivo de dados" #: InvenTree/serializers.py:582 msgid "Select data file for upload" -msgstr "" +msgstr "Selecione um arquivo de dados para enviar" #: InvenTree/serializers.py:599 msgid "Unsupported file type" -msgstr "" +msgstr "Tipo de arquivo não suportado" #: InvenTree/serializers.py:605 msgid "File is too large" -msgstr "" +msgstr "O arquivo é muito grande" #: InvenTree/serializers.py:626 msgid "No columns found in file" -msgstr "" +msgstr "Nenhuma coluna encontrada no arquivo" #: InvenTree/serializers.py:629 msgid "No data rows found in file" -msgstr "" +msgstr "Nenhuma linha de dados encontrada no arquivo" #: InvenTree/serializers.py:742 msgid "No data rows provided" -msgstr "" +msgstr "Nenhuma linha de dados fornecida" #: InvenTree/serializers.py:745 msgid "No data columns supplied" -msgstr "" +msgstr "Nenhuma coluna de dados fornecida" #: InvenTree/serializers.py:812 #, python-brace-format msgid "Missing required column: '{name}'" -msgstr "" +msgstr "Falta a coluna obrigatória: '{name}'" #: InvenTree/serializers.py:821 #, python-brace-format msgid "Duplicate column: '{col}'" -msgstr "" +msgstr "Coluna duplicada: \"{col}\"" #: InvenTree/serializers.py:861 msgid "Remote Image" -msgstr "" +msgstr "Imagens Remota" #: InvenTree/serializers.py:862 msgid "URL of remote image file" -msgstr "" +msgstr "URL do arquivo de imagem remoto" #: InvenTree/serializers.py:880 msgid "Downloading images from remote URL is not enabled" -msgstr "" +msgstr "Baixar imagens de URL remota não está habilitado" #: InvenTree/status.py:66 part/serializers.py:1202 msgid "Background worker check failed" -msgstr "" +msgstr "Falha em verificar o histórico do trabalhador" #: InvenTree/status.py:70 msgid "Email backend not configured" -msgstr "" +msgstr "Serviço de fundo do e-mail não foi configurado" #: InvenTree/status.py:73 msgid "InvenTree system health checks failed" -msgstr "" +msgstr "Verificação de saúde do sistema InvenTree falhou" #: InvenTree/templatetags/inventree_extras.py:184 msgid "Unknown database" -msgstr "" +msgstr "Banco de dados desconhecido" #: InvenTree/validators.py:32 InvenTree/validators.py:34 msgid "Invalid physical unit" -msgstr "" +msgstr "Unidade física inválida" #: InvenTree/validators.py:40 msgid "Not a valid currency code" -msgstr "" +msgstr "Não é um código de moeda válido" #: InvenTree/validators.py:118 InvenTree/validators.py:134 msgid "Overage value must not be negative" -msgstr "" +msgstr "Valor excedente não deve ser negativo" #: InvenTree/validators.py:136 msgid "Overage must not exceed 100%" -msgstr "" +msgstr "Excedente não deve exceder 100%" #: InvenTree/validators.py:142 msgid "Invalid value for overage" -msgstr "" +msgstr "Valor de excedente inválido" #: InvenTree/views.py:400 templates/InvenTree/settings/user.html:23 msgid "Edit User Information" -msgstr "" +msgstr "Editar informações do usuário" #: InvenTree/views.py:412 templates/InvenTree/settings/user.html:20 msgid "Set Password" -msgstr "" +msgstr "Definir senha" #: InvenTree/views.py:434 msgid "Password fields must match" -msgstr "" +msgstr "Os campos de senha devem coincidir" #: InvenTree/views.py:442 msgid "Wrong password provided" -msgstr "" +msgstr "Senha incorreta fornecida" #: InvenTree/views.py:650 templates/navbar.html:160 msgid "System Information" -msgstr "" +msgstr "Informação do Sistema" #: InvenTree/views.py:657 templates/navbar.html:171 msgid "About InvenTree" -msgstr "" +msgstr "Sobre o InvenTree" #: build/api.py:248 msgid "Build must be cancelled before it can be deleted" -msgstr "" +msgstr "Produção deve ser cancelada antes de ser deletada" #: build/api.py:292 build/serializers.py:1190 part/models.py:4155 #: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 @@ -721,7 +721,7 @@ msgstr "" #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" -msgstr "" +msgstr "Consumível" #: build/api.py:293 build/serializers.py:1191 part/models.py:4149 #: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 @@ -730,19 +730,19 @@ msgstr "" #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:587 msgid "Optional" -msgstr "" +msgstr "Opcional" #: build/api.py:294 templates/js/translated/table_filters.js:408 #: templates/js/translated/table_filters.js:579 msgid "Tracked" -msgstr "" +msgstr "Monitorado" #: build/api.py:296 part/admin.py:144 templates/js/translated/build.js:1744 #: templates/js/translated/build.js:2630 #: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:571 msgid "Allocated" -msgstr "" +msgstr "Alocado" #: build/api.py:304 company/models.py:879 company/serializers.py:386 #: company/templates/company/supplier_part.html:114 @@ -756,7 +756,7 @@ msgstr "" #: templates/js/translated/table_filters.js:340 #: templates/js/translated/table_filters.js:575 msgid "Available" -msgstr "" +msgstr "Disponível" #: build/models.py:85 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 @@ -765,7 +765,7 @@ msgstr "" #: templates/email/overdue_build_order.html:15 #: templates/js/translated/build.js:972 templates/js/translated/stock.js:2892 msgid "Build Order" -msgstr "" +msgstr "Ordem de Produção" #: build/models.py:86 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 @@ -776,7 +776,7 @@ msgstr "" #: templates/InvenTree/settings/sidebar.html:55 #: templates/js/translated/search.js:186 users/models.py:207 msgid "Build Orders" -msgstr "" +msgstr "Ordens de Produções" #: build/models.py:127 msgid "Assembly BOM has not been validated" @@ -792,19 +792,19 @@ msgstr "" #: build/models.py:155 msgid "Invalid choice for parent build" -msgstr "" +msgstr "Escolha de Produção parental inválida" #: build/models.py:166 order/models.py:240 msgid "Responsible user or group must be specified" -msgstr "" +msgstr "Usuário ou grupo responsável deve ser especificado" #: build/models.py:172 msgid "Build order part cannot be changed" -msgstr "" +msgstr "Peça da ordem de produção não pode ser alterada" #: build/models.py:233 msgid "Build Order Reference" -msgstr "" +msgstr "Referência do pedido de produção" #: build/models.py:234 build/serializers.py:1189 order/models.py:463 #: order/models.py:926 order/models.py:1289 order/models.py:2046 @@ -820,20 +820,20 @@ msgstr "" #: templates/js/translated/return_order.js:728 #: templates/js/translated/sales_order.js:1854 msgid "Reference" -msgstr "" +msgstr "Referência" #: build/models.py:245 msgid "Brief description of the build (optional)" -msgstr "" +msgstr "Breve descrição da produção (opcional)" #: build/models.py:253 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" -msgstr "" +msgstr "Produção Progenitor" #: build/models.py:254 msgid "BuildOrder to which this build is allocated" -msgstr "" +msgstr "Pedido de produção para qual este serviço está alocado" #: build/models.py:259 build/serializers.py:1184 #: build/templates/build/build_base.html:97 @@ -885,103 +885,103 @@ msgstr "" #: templates/js/translated/stock.js:2857 templates/js/translated/stock.js:3090 #: templates/js/translated/stock.js:3236 msgid "Part" -msgstr "" +msgstr "Peça" #: build/models.py:267 msgid "Select part to build" -msgstr "" +msgstr "Selecionar peça para produção" #: build/models.py:272 msgid "Sales Order Reference" -msgstr "" +msgstr "Referência do pedido de venda" #: build/models.py:276 msgid "SalesOrder to which this build is allocated" -msgstr "" +msgstr "Pedido de Venda para qual esta produção está alocada" #: build/models.py:281 build/serializers.py:1003 #: templates/js/translated/build.js:1731 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" -msgstr "" +msgstr "Local de Origem" #: build/models.py:285 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" -msgstr "" +msgstr "Selecione a localização para pegar do estoque para esta produção (deixe em branco para tirar a partir de qualquer local de estoque)" #: build/models.py:290 msgid "Destination Location" -msgstr "" +msgstr "Local de Destino" #: build/models.py:294 msgid "Select location where the completed items will be stored" -msgstr "" +msgstr "Selecione o local onde os itens concluídos serão armazenados" #: build/models.py:298 msgid "Build Quantity" -msgstr "" +msgstr "Quantidade de Produção" #: build/models.py:301 msgid "Number of stock items to build" -msgstr "" +msgstr "Número de itens em estoque para produzir" #: build/models.py:305 msgid "Completed items" -msgstr "" +msgstr "Itens concluídos" #: build/models.py:307 msgid "Number of stock items which have been completed" -msgstr "" +msgstr "Número de itens em estoque concluídos" #: build/models.py:311 msgid "Build Status" -msgstr "" +msgstr "Progresso da produção" #: build/models.py:315 msgid "Build status code" -msgstr "" +msgstr "Código de situação da produção" #: build/models.py:324 build/serializers.py:290 order/serializers.py:629 #: stock/models.py:839 stock/serializers.py:76 stock/serializers.py:1524 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" -msgstr "" +msgstr "Código de Lote" #: build/models.py:328 build/serializers.py:291 msgid "Batch code for this build output" -msgstr "" +msgstr "Código do lote para esta saída de produção" #: build/models.py:331 order/models.py:316 order/serializers.py:127 #: part/models.py:1125 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 "" +msgstr "Criado em" #: build/models.py:335 msgid "Target completion date" -msgstr "" +msgstr "Data alvo final" #: build/models.py:336 msgid "Target date for build completion. Build will be overdue after this date." -msgstr "" +msgstr "Data alvo para finalização de produção. Estará atrasado a partir deste dia." #: build/models.py:339 order/models.py:521 order/models.py:2091 #: templates/js/translated/build.js:2247 msgid "Completion Date" -msgstr "" +msgstr "Data de conclusão" #: build/models.py:345 msgid "completed by" -msgstr "" +msgstr "Concluído por" #: build/models.py:353 templates/js/translated/build.js:2207 msgid "Issued by" -msgstr "" +msgstr "Emitido por" #: build/models.py:354 msgid "User who issued this build order" -msgstr "" +msgstr "Usuário que emitiu este pedido de produção" #: build/models.py:362 build/templates/build/build_base.html:204 #: build/templates/build/detail.html:122 common/models.py:152 @@ -996,11 +996,11 @@ msgstr "" #: templates/js/translated/return_order.js:358 #: templates/js/translated/table_filters.js:531 msgid "Responsible" -msgstr "" +msgstr "Responsável" #: build/models.py:363 msgid "User or group responsible for this build order" -msgstr "" +msgstr "Usuário ou grupo responsável para este pedido de produção" #: build/models.py:368 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 @@ -1012,20 +1012,20 @@ msgstr "" #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1019 msgid "External Link" -msgstr "" +msgstr "Link Externo" #: build/models.py:369 common/models.py:3230 part/models.py:960 #: stock/models.py:835 msgid "Link to external URL" -msgstr "" +msgstr "Link para URL externa" #: build/models.py:373 msgid "Build Priority" -msgstr "" +msgstr "Prioridade de Produção" #: build/models.py:376 msgid "Priority of this build order" -msgstr "" +msgstr "Prioridade deste pedido de produção" #: build/models.py:383 common/models.py:122 common/models.py:136 #: order/admin.py:18 order/models.py:298 order/serializers.py:108 @@ -1037,60 +1037,60 @@ msgstr "" #: templates/js/translated/table_filters.js:48 #: templates/project_code_data.html:6 msgid "Project Code" -msgstr "" +msgstr "Código do projeto" #: build/models.py:384 msgid "Project code for this build order" -msgstr "" +msgstr "Código do projeto para este pedido de produção" #: build/models.py:617 build/models.py:682 msgid "Failed to offload task to complete build allocations" -msgstr "" +msgstr "Falha ao descarregar tarefa para concluir alocações de construção" #: build/models.py:639 #, python-brace-format msgid "Build order {build} has been completed" -msgstr "" +msgstr "O Pedido de produção {build} foi concluído!" #: build/models.py:645 msgid "A build order has been completed" -msgstr "" +msgstr "Um pedido de produção foi concluído" #: build/models.py:871 build/models.py:956 msgid "No build output specified" -msgstr "" +msgstr "Nenhuma saída de produção especificada" #: build/models.py:874 msgid "Build output is already completed" -msgstr "" +msgstr "Saída de produção já completada" #: build/models.py:877 msgid "Build output does not match Build Order" -msgstr "" +msgstr "Saída da produção não corresponde ao Pedido de Produção" #: build/models.py:960 build/serializers.py:223 build/serializers.py:272 #: build/serializers.py:870 order/models.py:559 order/serializers.py:461 #: order/serializers.py:624 part/serializers.py:1515 part/serializers.py:1921 #: stock/models.py:678 stock/models.py:1496 stock/serializers.py:661 msgid "Quantity must be greater than zero" -msgstr "" +msgstr "Quantidade deve ser maior que zero" #: build/models.py:965 build/serializers.py:228 msgid "Quantity cannot be greater than the output quantity" -msgstr "" +msgstr "Quantidade não pode ser maior do que a quantidade de saída" #: build/models.py:1025 build/serializers.py:551 #, python-brace-format msgid "Build output {serial} has not passed all required tests" -msgstr "" +msgstr "O item de produção {serial} não passou todos os testes necessários" #: build/models.py:1366 msgid "Build Order Line Item" -msgstr "" +msgstr "Item da linha de Produção" #: build/models.py:1391 msgid "Build object" -msgstr "" +msgstr "Objeto de produção" #: build/models.py:1405 build/models.py:1661 build/serializers.py:210 #: build/serializers.py:257 build/serializers.py:1194 @@ -1138,36 +1138,36 @@ msgstr "" #: templates/js/translated/stock.js:873 templates/js/translated/stock.js:3021 #: templates/js/translated/stock.js:3104 msgid "Quantity" -msgstr "" +msgstr "Quantidade" #: build/models.py:1406 msgid "Required quantity for build order" -msgstr "" +msgstr "Quantidade necessária para o pedido de produção" #: build/models.py:1486 msgid "Build item must specify a build output, as master part is marked as trackable" -msgstr "" +msgstr "Item de produção deve especificar a saída, pois peças mestres estão marcadas como rastreáveis" #: build/models.py:1495 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" -msgstr "" +msgstr "Quantidade alocada ({q}) não deve exceder a quantidade disponível em estoque ({a})" #: build/models.py:1505 order/models.py:1908 msgid "Stock item is over-allocated" -msgstr "" +msgstr "O item do estoque está sobre-alocado" #: build/models.py:1511 order/models.py:1911 msgid "Allocation quantity must be greater than zero" -msgstr "" +msgstr "Quantidade alocada deve ser maior que zero" #: build/models.py:1517 msgid "Quantity must be 1 for serialized stock" -msgstr "" +msgstr "Quantidade deve ser 1 para estoque serializado" #: build/models.py:1576 msgid "Selected stock item does not match BOM line" -msgstr "" +msgstr "Item estoque selecionado não coincide com linha da LDM" #: build/models.py:1648 build/serializers.py:850 order/serializers.py:1227 #: order/serializers.py:1248 stock/models.py:359 stock/serializers.py:93 @@ -1185,72 +1185,72 @@ msgstr "" #: templates/js/translated/stock.js:677 templates/js/translated/stock.js:843 #: templates/js/translated/stock.js:2977 msgid "Stock Item" -msgstr "" +msgstr "Item de estoque" #: build/models.py:1649 msgid "Source stock item" -msgstr "" +msgstr "Origem do item em estoque" #: build/models.py:1662 msgid "Stock quantity to allocate to build" -msgstr "" +msgstr "Quantidade do estoque para alocar à produção" #: build/models.py:1670 msgid "Install into" -msgstr "" +msgstr "Instalar em" #: build/models.py:1671 msgid "Destination stock item" -msgstr "" +msgstr "Destino do Item do Estoque" #: build/serializers.py:89 build/serializers.py:1185 part/admin.py:41 #: part/admin.py:405 part/models.py:3992 part/stocktake.py:220 #: stock/admin.py:156 msgid "Part Name" -msgstr "" +msgstr "Nome da Peça" #: build/serializers.py:160 build/serializers.py:879 #: templates/js/translated/build.js:1322 msgid "Build Output" -msgstr "" +msgstr "Saída da Produção" #: build/serializers.py:172 msgid "Build output does not match the parent build" -msgstr "" +msgstr "Saída de produção não coincide com a produção progenitora" #: build/serializers.py:176 msgid "Output part does not match BuildOrder part" -msgstr "" +msgstr "Peça de saída não coincide com a peça da ordem de produção" #: build/serializers.py:180 msgid "This build output has already been completed" -msgstr "" +msgstr "Esta saída de produção já foi concluída" #: build/serializers.py:191 msgid "This build output is not fully allocated" -msgstr "" +msgstr "A saída de produção não está completamente alocada" #: build/serializers.py:211 build/serializers.py:258 msgid "Enter quantity for build output" -msgstr "" +msgstr "Entre a quantidade da saída de produção" #: build/serializers.py:279 msgid "Integer quantity required for trackable parts" -msgstr "" +msgstr "Quantidade inteira necessária para peças rastreáveis" #: build/serializers.py:282 msgid "Integer quantity required, as the bill of materials contains trackable parts" -msgstr "" +msgstr "Quantidade inteira necessária, pois a lista de materiais contém peças rastreáveis" #: build/serializers.py:297 order/serializers.py:637 order/serializers.py:1387 #: stock/serializers.py:672 templates/js/translated/purchase_order.js:1153 #: templates/js/translated/stock.js:367 templates/js/translated/stock.js:565 msgid "Serial Numbers" -msgstr "" +msgstr "Números de Série" #: build/serializers.py:298 msgid "Enter serial numbers for build outputs" -msgstr "" +msgstr "Digite os números de série para saídas de produção" #: build/serializers.py:303 build/serializers.py:444 build/serializers.py:516 #: order/serializers.py:613 order/serializers.py:721 order/serializers.py:1714 @@ -1270,51 +1270,51 @@ msgstr "" #: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2201 #: templates/js/translated/stock.js:2871 msgid "Location" -msgstr "" +msgstr "Local" #: build/serializers.py:304 msgid "Stock location for build output" -msgstr "" +msgstr "Local de estoque para a produção" #: build/serializers.py:318 msgid "Auto Allocate Serial Numbers" -msgstr "" +msgstr "Alocar Números de Série Automaticamente" #: build/serializers.py:319 msgid "Automatically allocate required items with matching serial numbers" -msgstr "" +msgstr "Alocar automaticamente os itens necessários com os números de série correspondentes" #: build/serializers.py:334 msgid "Serial numbers must be provided for trackable parts" -msgstr "" +msgstr "Números de série devem ser fornecidos para peças rastreáveis" #: build/serializers.py:359 stock/api.py:1033 msgid "The following serial numbers already exist or are invalid" -msgstr "" +msgstr "Os seguintes números de série já existem ou são inválidos" #: build/serializers.py:406 build/serializers.py:468 build/serializers.py:557 msgid "A list of build outputs must be provided" -msgstr "" +msgstr "Uma lista de saídas de produção deve ser fornecida" #: build/serializers.py:445 msgid "Stock location for scrapped outputs" -msgstr "" +msgstr "Local de estoque para saídas recicladas" #: build/serializers.py:451 msgid "Discard Allocations" -msgstr "" +msgstr "Descartar alocações" #: build/serializers.py:452 msgid "Discard any stock allocations for scrapped outputs" -msgstr "" +msgstr "Descartar quaisquer alocações de estoque para saídas sucateadas" #: build/serializers.py:457 msgid "Reason for scrapping build output(s)" -msgstr "" +msgstr "Motivo para sucatear saída(s) de produção" #: build/serializers.py:517 msgid "Location for completed build outputs" -msgstr "" +msgstr "Local para saídas de produção concluídas" #: build/serializers.py:523 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:950 @@ -1329,164 +1329,164 @@ msgstr "" #: templates/js/translated/stock.js:2176 templates/js/translated/stock.js:2995 #: templates/js/translated/stock.js:3120 msgid "Status" -msgstr "" +msgstr "Situação" #: build/serializers.py:529 msgid "Accept Incomplete Allocation" -msgstr "" +msgstr "Aceitar Alocação Incompleta" #: build/serializers.py:530 msgid "Complete outputs if stock has not been fully allocated" -msgstr "" +msgstr "Concluir saídas se o estoque não tiver sido totalmente alocado" #: build/serializers.py:615 msgid "Consume Allocated Stock" -msgstr "" +msgstr "Consumir Estoque Alocado" #: build/serializers.py:616 msgid "Consume any stock which has already been allocated to this build" -msgstr "" +msgstr "Consumir qualquer estoque que já tenha sido alocado para esta produção" #: build/serializers.py:622 msgid "Remove Incomplete Outputs" -msgstr "" +msgstr "Remover Saídas Incompletas" #: build/serializers.py:623 msgid "Delete any build outputs which have not been completed" -msgstr "" +msgstr "Excluir quaisquer saídas de produção que não tenham sido completadas" #: build/serializers.py:650 msgid "Not permitted" -msgstr "" +msgstr "Não permitido" #: build/serializers.py:651 msgid "Accept as consumed by this build order" -msgstr "" +msgstr "Aceitar conforme consumido por esta ordem de produção" #: build/serializers.py:652 msgid "Deallocate before completing this build order" -msgstr "" +msgstr "Desatribua antes de completar este pedido de produção" #: build/serializers.py:682 msgid "Overallocated Stock" -msgstr "" +msgstr "Estoque sobrealocado" #: build/serializers.py:684 msgid "How do you want to handle extra stock items assigned to the build order" -msgstr "" +msgstr "Como deseja manejar itens de estoque extras atribuídos ao pedido de produção" #: build/serializers.py:694 msgid "Some stock items have been overallocated" -msgstr "" +msgstr "Alguns itens de estoque foram sobrealocados" #: build/serializers.py:699 msgid "Accept Unallocated" -msgstr "" +msgstr "Aceitar não alocados" #: build/serializers.py:700 msgid "Accept that stock items have not been fully allocated to this build order" -msgstr "" +msgstr "Aceitar que os itens de estoque não foram totalmente alocados para esta produção" #: build/serializers.py:710 templates/js/translated/build.js:315 msgid "Required stock has not been fully allocated" -msgstr "" +msgstr "Estoque obrigatório não foi totalmente alocado" #: build/serializers.py:715 order/serializers.py:319 order/serializers.py:1290 msgid "Accept Incomplete" -msgstr "" +msgstr "Aceitar Incompleto" #: build/serializers.py:716 msgid "Accept that the required number of build outputs have not been completed" -msgstr "" +msgstr "Aceitar que o número requerido de saídas de produção não foi concluído" #: build/serializers.py:726 templates/js/translated/build.js:319 msgid "Required build quantity has not been completed" -msgstr "" +msgstr "Quantidade de produção requerida não foi concluída" #: build/serializers.py:735 templates/js/translated/build.js:303 msgid "Build order has incomplete outputs" -msgstr "" +msgstr "Pedido de produção tem saídas incompletas" #: build/serializers.py:773 msgid "Build Line" -msgstr "" +msgstr "Linha de produção" #: build/serializers.py:783 msgid "Build output" -msgstr "" +msgstr "Saída da Produção" #: build/serializers.py:791 msgid "Build output must point to the same build" -msgstr "" +msgstr "Saída de produção deve indicar a mesma produção" #: build/serializers.py:827 msgid "Build Line Item" -msgstr "" +msgstr "Item da linha de produção" #: build/serializers.py:841 msgid "bom_item.part must point to the same part as the build order" -msgstr "" +msgstr "bin_item.part deve indicar a mesma peça do pedido de produção" #: build/serializers.py:856 stock/serializers.py:1256 msgid "Item must be in stock" -msgstr "" +msgstr "Item deve estar em estoque" #: build/serializers.py:904 order/serializers.py:1281 #, python-brace-format msgid "Available quantity ({q}) exceeded" -msgstr "" +msgstr "Quantidade disponível ({q}) excedida" #: build/serializers.py:910 msgid "Build output must be specified for allocation of tracked parts" -msgstr "" +msgstr "Saída de produção deve ser definida para alocação de peças rastreadas" #: build/serializers.py:917 msgid "Build output cannot be specified for allocation of untracked parts" -msgstr "" +msgstr "Saída de produção deve ser definida para alocação de peças não rastreadas" #: build/serializers.py:941 order/serializers.py:1533 msgid "Allocation items must be provided" -msgstr "" +msgstr "Alocação do Item precisa ser fornecida" #: build/serializers.py:1004 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" -msgstr "" +msgstr "Local de estoque onde peças serão extraídas (deixar em branco para qualquer local)" #: build/serializers.py:1012 msgid "Exclude Location" -msgstr "" +msgstr "Local não incluso" #: build/serializers.py:1013 msgid "Exclude stock items from this selected location" -msgstr "" +msgstr "Não incluir itens de estoque deste local" #: build/serializers.py:1018 msgid "Interchangeable Stock" -msgstr "" +msgstr "Estoque permutável" #: build/serializers.py:1019 msgid "Stock items in multiple locations can be used interchangeably" -msgstr "" +msgstr "Itens de estoque em múltiplos locais pode ser permutável" #: build/serializers.py:1024 msgid "Substitute Stock" -msgstr "" +msgstr "Substituir Estoque" #: build/serializers.py:1025 msgid "Allow allocation of substitute parts" -msgstr "" +msgstr "Permitir alocação de peças substitutas" #: build/serializers.py:1030 msgid "Optional Items" -msgstr "" +msgstr "Itens opcionais" #: build/serializers.py:1031 msgid "Allocate optional BOM items to build order" -msgstr "" +msgstr "Alocar itens LDM opcionais para o pedido de produção" #: build/serializers.py:1053 msgid "Failed to start auto-allocation task" -msgstr "" +msgstr "Falha ao iniciar tarefa de auto-alocação" #: build/serializers.py:1095 msgid "Supplier Part Number" @@ -1494,12 +1494,12 @@ msgstr "" #: build/serializers.py:1096 company/models.py:500 msgid "Manufacturer Part Number" -msgstr "" +msgstr "Número de Peça do Fabricante" #: build/serializers.py:1097 stock/admin.py:53 stock/admin.py:175 #: stock/serializers.py:454 msgid "Location Name" -msgstr "" +msgstr "Nome do Local" #: build/serializers.py:1098 msgid "Build Reference" @@ -1511,23 +1511,23 @@ msgstr "" #: build/serializers.py:1186 part/admin.py:402 part/models.py:3993 msgid "Part IPN" -msgstr "" +msgstr "IPN da Peça" #: build/serializers.py:1192 common/models.py:1488 part/admin.py:113 #: part/models.py:1068 templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:776 msgid "Trackable" -msgstr "" +msgstr "Rastreável" #: build/serializers.py:1196 part/models.py:4000 part/models.py:4472 #: stock/api.py:796 msgid "BOM Item" -msgstr "" +msgstr "Item LDM" #: build/serializers.py:1205 templates/js/translated/index.js:130 msgid "Allocated Stock" -msgstr "" +msgstr "Estoque Alocado" #: build/serializers.py:1210 part/admin.py:132 part/bom.py:173 #: part/serializers.py:856 part/serializers.py:1533 @@ -1536,19 +1536,19 @@ msgstr "" #: templates/js/translated/part.js:2152 #: templates/js/translated/table_filters.js:170 msgid "On Order" -msgstr "" +msgstr "No pedido" #: build/serializers.py:1215 part/serializers.py:1535 #: templates/js/translated/build.js:2618 #: templates/js/translated/table_filters.js:360 msgid "In Production" -msgstr "" +msgstr "Em Produção" #: build/serializers.py:1220 part/bom.py:172 part/serializers.py:1558 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" -msgstr "" +msgstr "Estoque Disponível" #: build/serializers.py:1224 msgid "Available Substitute Stock" @@ -1570,16 +1570,16 @@ msgstr "" #: order/status_codes.py:37 order/status_codes.py:64 order/status_codes.py:82 #: templates/js/translated/table_filters.js:598 msgid "Pending" -msgstr "" +msgstr "Pendente" #: build/status_codes.py:12 msgid "Production" -msgstr "" +msgstr "Produção" #: build/status_codes.py:13 order/status_codes.py:15 order/status_codes.py:45 #: order/status_codes.py:70 msgid "Cancelled" -msgstr "" +msgstr "Cancelado" #: build/status_codes.py:14 generic/states/tests.py:19 importer/models.py:468 #: importer/status_codes.py:19 order/status_codes.py:14 @@ -1587,24 +1587,24 @@ msgstr "" #: order/templates/order/order_base.html:158 #: order/templates/order/sales_order_base.html:165 report/models.py:444 msgid "Complete" -msgstr "" +msgstr "Completado" #: build/tasks.py:184 msgid "Stock required for build order" -msgstr "" +msgstr "Estoque obrigatório para o pedido de produção" #: build/tasks.py:201 msgid "Overdue Build Order" -msgstr "" +msgstr "Pedido de produção vencido" #: build/tasks.py:206 #, python-brace-format msgid "Build order {bo} is now overdue" -msgstr "" +msgstr "Pedido de produção {bo} está atrasada" #: build/templates/build/build_base.html:18 msgid "Part thumbnail" -msgstr "" +msgstr "Miniatura da parte" #: build/templates/build/build_base.html:38 #: company/templates/company/supplier_part.html:35 @@ -1616,7 +1616,7 @@ msgstr "" #: stock/templates/stock/location.html:55 #: templates/js/translated/filters.js:335 msgid "Barcode actions" -msgstr "" +msgstr "Ações de código de barras" #: build/templates/build/build_base.html:42 #: company/templates/company/supplier_part.html:39 @@ -1627,7 +1627,7 @@ msgstr "" #: stock/templates/stock/item_base.html:44 #: stock/templates/stock/location.html:57 templates/qr_button.html:1 msgid "Show QR Code" -msgstr "" +msgstr "Mostrar QR Code" #: build/templates/build/build_base.html:45 #: company/templates/company/supplier_part.html:41 @@ -1640,7 +1640,7 @@ msgstr "" #: templates/js/translated/barcode.js:496 #: templates/js/translated/barcode.js:501 msgid "Unlink Barcode" -msgstr "" +msgstr "Desatribuir Código de Barras" #: build/templates/build/build_base.html:47 #: company/templates/company/supplier_part.html:43 @@ -1651,67 +1651,67 @@ msgstr "" #: stock/templates/stock/item_base.html:49 #: stock/templates/stock/location.html:61 msgid "Link Barcode" -msgstr "" +msgstr "Atribuir Código de Barras" #: build/templates/build/build_base.html:56 #: order/templates/order/order_base.html:46 #: order/templates/order/return_order_base.html:55 #: order/templates/order/sales_order_base.html:55 msgid "Print actions" -msgstr "" +msgstr "Ações de impressão" #: build/templates/build/build_base.html:60 msgid "Print build order report" -msgstr "" +msgstr "Imprimir relatório do pedido de produção" #: build/templates/build/build_base.html:67 msgid "Build actions" -msgstr "" +msgstr "Ações de produção" #: build/templates/build/build_base.html:71 msgid "Edit Build" -msgstr "" +msgstr "Editar produção" #: build/templates/build/build_base.html:73 msgid "Cancel Build" -msgstr "" +msgstr "Cancelar produção" #: build/templates/build/build_base.html:76 msgid "Duplicate Build" -msgstr "" +msgstr "Duplicar produção" #: build/templates/build/build_base.html:79 msgid "Delete Build" -msgstr "" +msgstr "Excluir produção" #: build/templates/build/build_base.html:84 #: build/templates/build/build_base.html:85 msgid "Complete Build" -msgstr "" +msgstr "Concluir produção" #: build/templates/build/build_base.html:107 msgid "Build Description" -msgstr "" +msgstr "Descrição da produção" #: build/templates/build/build_base.html:117 msgid "No build outputs have been created for this build order" -msgstr "" +msgstr "Nenhuma saída de produção foi criada para este pedido de produção" #: build/templates/build/build_base.html:124 msgid "Build Order is ready to mark as completed" -msgstr "" +msgstr "Pedido de produção está pronta para ser marcada como concluída" #: build/templates/build/build_base.html:129 msgid "Build Order cannot be completed as outstanding outputs remain" -msgstr "" +msgstr "Pedido de produção não pode ser concluída, os resultados pendentes permanecem" #: build/templates/build/build_base.html:134 msgid "Required build quantity has not yet been completed" -msgstr "" +msgstr "A quantidade de produção necessária ainda não foi concluída" #: build/templates/build/build_base.html:139 msgid "Stock has not been fully allocated to this Build Order" -msgstr "" +msgstr "Estoque não foi totalmente alocado para este Pedido de Produção" #: build/templates/build/build_base.html:160 #: build/templates/build/detail.html:138 order/models.py:309 @@ -1728,12 +1728,12 @@ msgstr "" #: templates/js/translated/sales_order.js:871 #: templates/js/translated/sales_order.js:1903 msgid "Target Date" -msgstr "" +msgstr "Data alvo" #: build/templates/build/build_base.html:165 #, python-format msgid "This build was due on %(target)s" -msgstr "" +msgstr "Essa produção expirou em %(target)s" #: build/templates/build/build_base.html:165 #: build/templates/build/build_base.html:222 @@ -1745,12 +1745,12 @@ msgstr "" #: templates/js/translated/table_filters.js:626 #: templates/js/translated/table_filters.js:667 msgid "Overdue" -msgstr "" +msgstr "Expirou" #: build/templates/build/build_base.html:177 #: build/templates/build/detail.html:67 build/templates/build/sidebar.html:13 msgid "Completed Outputs" -msgstr "" +msgstr "Saídas Concluídas" #: build/templates/build/build_base.html:190 #: build/templates/build/detail.html:101 order/api.py:1384 order/models.py:845 @@ -1766,56 +1766,56 @@ msgstr "" #: templates/js/translated/sales_order.js:1028 #: templates/js/translated/stock.js:2924 msgid "Sales Order" -msgstr "" +msgstr "Pedido de Venda" #: build/templates/build/build_base.html:197 #: build/templates/build/detail.html:115 #: report/templates/report/inventree_build_order_report.html:152 #: templates/js/translated/table_filters.js:24 msgid "Issued By" -msgstr "" +msgstr "Emitido por" #: build/templates/build/build_base.html:211 #: build/templates/build/detail.html:94 templates/js/translated/build.js:2156 msgid "Priority" -msgstr "" +msgstr "Prioridade" #: build/templates/build/build_base.html:269 msgid "Delete Build Order" -msgstr "" +msgstr "Excluir Pedido de Produção" #: build/templates/build/build_base.html:279 msgid "Build Order QR Code" -msgstr "" +msgstr "QR Code do Pedido de Produção" #: build/templates/build/build_base.html:291 msgid "Link Barcode to Build Order" -msgstr "" +msgstr "Vincular código de barras ao Pedido de Produção" #: build/templates/build/detail.html:15 msgid "Build Details" -msgstr "" +msgstr "Detalhes da produção" #: build/templates/build/detail.html:38 msgid "Stock Source" -msgstr "" +msgstr "Origem do estoque" #: build/templates/build/detail.html:43 msgid "Stock can be taken from any available location." -msgstr "" +msgstr "O estoque pode ser tirado de qualquer local disponível." #: build/templates/build/detail.html:49 order/models.py:1448 #: templates/js/translated/purchase_order.js:2189 msgid "Destination" -msgstr "" +msgstr "Destino" #: build/templates/build/detail.html:56 msgid "Destination location not specified" -msgstr "" +msgstr "Loca de destino não especificado" #: build/templates/build/detail.html:73 msgid "Allocated Parts" -msgstr "" +msgstr "Peças alocadas" #: build/templates/build/detail.html:80 stock/admin.py:162 #: stock/templates/stock/item_base.html:162 @@ -1827,7 +1827,7 @@ msgstr "" #: templates/js/translated/table_filters.js:313 #: templates/js/translated/table_filters.js:404 msgid "Batch" -msgstr "" +msgstr "Lote" #: build/templates/build/detail.html:133 #: order/templates/order/order_base.html:173 @@ -1835,86 +1835,86 @@ msgstr "" #: order/templates/order/sales_order_base.html:190 #: templates/js/translated/build.js:2199 msgid "Created" -msgstr "" +msgstr "Criado" #: build/templates/build/detail.html:144 msgid "No target date set" -msgstr "" +msgstr "Sem data alvo definida" #: build/templates/build/detail.html:149 #: order/templates/order/sales_order_base.html:206 #: templates/js/translated/table_filters.js:689 msgid "Completed" -msgstr "" +msgstr "Concluído" #: build/templates/build/detail.html:153 msgid "Build not complete" -msgstr "" +msgstr "Produção não concluída" #: build/templates/build/detail.html:164 build/templates/build/sidebar.html:17 msgid "Child Build Orders" -msgstr "" +msgstr "Pedido de Produção Filho" #: build/templates/build/detail.html:177 msgid "Allocate Stock to Build" -msgstr "" +msgstr "Alocar Estoque para Produção" #: build/templates/build/detail.html:181 msgid "Deallocate stock" -msgstr "" +msgstr "Desalocar estoque" #: build/templates/build/detail.html:182 msgid "Deallocate Stock" -msgstr "" +msgstr "Desalocar estoque" #: build/templates/build/detail.html:184 msgid "Automatically allocate stock to build" -msgstr "" +msgstr "Alocar o estoque para produção automaticamente" #: build/templates/build/detail.html:185 msgid "Auto Allocate" -msgstr "" +msgstr "Alocar automaticamente" #: build/templates/build/detail.html:187 msgid "Manually allocate stock to build" -msgstr "" +msgstr "Alocar estoque para a produção manualmente" #: build/templates/build/detail.html:188 build/templates/build/sidebar.html:8 msgid "Allocate Stock" -msgstr "" +msgstr "Alocar estoque" #: build/templates/build/detail.html:191 msgid "Order required parts" -msgstr "" +msgstr "Pedir peças necessárias" #: build/templates/build/detail.html:192 #: templates/js/translated/purchase_order.js:795 msgid "Order Parts" -msgstr "" +msgstr "Pedir Peças" #: build/templates/build/detail.html:205 msgid "Available stock has been filtered based on specified source location for this build order" -msgstr "" +msgstr "O estoque disponível foi filtrado com base no local de origem especificado para este pedido de produção" #: build/templates/build/detail.html:215 msgid "Incomplete Build Outputs" -msgstr "" +msgstr "Saída de Produção Incompletas" #: build/templates/build/detail.html:219 msgid "Create new build output" -msgstr "" +msgstr "Criar nova saída de produção" #: build/templates/build/detail.html:220 msgid "New Build Output" -msgstr "" +msgstr "Nova saída de produção" #: build/templates/build/detail.html:237 build/templates/build/sidebar.html:15 msgid "Consumed Stock" -msgstr "" +msgstr "Consumir estoque" #: build/templates/build/detail.html:249 msgid "Completed Build Outputs" -msgstr "" +msgstr "Saídas de Produção concluídas" #: build/templates/build/detail.html:261 build/templates/build/sidebar.html:19 #: company/templates/company/detail.html:229 @@ -1930,364 +1930,364 @@ msgstr "" #: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:110 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" -msgstr "" +msgstr "Anexos" #: build/templates/build/detail.html:276 msgid "Build Notes" -msgstr "" +msgstr "Notas de produção" #: build/templates/build/detail.html:426 msgid "Allocation Complete" -msgstr "" +msgstr "Alocação Completa" #: build/templates/build/detail.html:427 msgid "All lines have been fully allocated" -msgstr "" +msgstr "Todas as linhas foram totalmente alocadas" #: build/templates/build/index.html:18 part/templates/part/detail.html:319 msgid "New Build Order" -msgstr "" +msgstr "Novo Pedido de Produção" #: build/templates/build/sidebar.html:5 msgid "Build Order Details" -msgstr "" +msgstr "Detalhes do Pedido de Produção" #: build/templates/build/sidebar.html:10 msgid "Incomplete Outputs" -msgstr "" +msgstr "Saídas Incompletas" #: common/api.py:690 msgid "Is Link" -msgstr "" +msgstr "É uma Ligação" #: common/api.py:698 msgid "Is File" -msgstr "" +msgstr "É um arquivo" #: common/api.py:740 msgid "User does not have permission to delete this attachment" -msgstr "" +msgstr "O Utilizador não tem permissão para remover este anexo" #: common/currency.py:132 msgid "Invalid currency code" -msgstr "" +msgstr "Código da Moeda invalida" #: common/currency.py:134 msgid "Duplicate currency code" -msgstr "" +msgstr "Código da Moeda duplicada" #: common/currency.py:139 msgid "No valid currency codes provided" -msgstr "" +msgstr "Nenhum código de moeda válido foi fornecido" #: common/currency.py:156 msgid "No plugin" -msgstr "" +msgstr "Sem extensão" #: common/files.py:63 #, python-brace-format msgid "Unsupported file format: {fmt}" -msgstr "" +msgstr "Formato de arquivo não suportado: {fmt}" #: common/files.py:65 msgid "Error reading file (invalid encoding)" -msgstr "" +msgstr "Erro ao ler arquivo (codificação inválida)" #: common/files.py:70 msgid "Error reading file (invalid format)" -msgstr "" +msgstr "Erro ao ler arquivo (formato inválido)" #: common/files.py:72 msgid "Error reading file (incorrect dimension)" -msgstr "" +msgstr "Erro ao ler o arquivo (dimensão incorreta)" #: common/files.py:74 msgid "Error reading file (data could be corrupted)" -msgstr "" +msgstr "Erro ao ler o arquivo (dados podem estar corrompidos)" #: common/forms.py:12 msgid "File" -msgstr "" +msgstr "Arquivo" #: common/forms.py:12 msgid "Select file to upload" -msgstr "" +msgstr "Selecione um arquivo para carregar" #: common/forms.py:25 msgid "{name.title()} File" -msgstr "" +msgstr "Arquivo {name.title()}" #: common/forms.py:26 #, python-brace-format msgid "Select {name} file to upload" -msgstr "" +msgstr "Selecione {name} arquivo para carregar" #: common/models.py:73 msgid "Updated" -msgstr "" +msgstr "Atualizado" #: common/models.py:74 msgid "Timestamp of last update" -msgstr "" +msgstr "Tempo da última atualização" #: common/models.py:107 msgid "Site URL is locked by configuration" -msgstr "" +msgstr "URL do site está bloqueada por configuração" #: common/models.py:137 msgid "Unique project code" -msgstr "" +msgstr "Código único do projeto" #: common/models.py:144 msgid "Project description" -msgstr "" +msgstr "Descrição do projeto" #: common/models.py:153 msgid "User or group responsible for this project" -msgstr "" +msgstr "Usuário ou grupo responsável por este projeto" #: common/models.py:770 msgid "Settings key (must be unique - case insensitive)" -msgstr "" +msgstr "Senha de configurações (deve ser única — diferencia maiúsculas de minúsculas)" #: common/models.py:774 msgid "Settings value" -msgstr "" +msgstr "Valor da Configuração" #: common/models.py:826 msgid "Chosen value is not a valid option" -msgstr "" +msgstr "Valor escolhido não é uma opção válida" #: common/models.py:842 msgid "Value must be a boolean value" -msgstr "" +msgstr "Valor deve ser um valor booleano" #: common/models.py:850 msgid "Value must be an integer value" -msgstr "" +msgstr "Valor deve ser um número inteiro" #: common/models.py:887 msgid "Key string must be unique" -msgstr "" +msgstr "A frase senha deve ser diferenciada" #: common/models.py:1119 msgid "No group" -msgstr "" +msgstr "Nenhum grupo" #: common/models.py:1218 msgid "Restart required" -msgstr "" +msgstr "Reinicialização necessária" #: common/models.py:1220 msgid "A setting has been changed which requires a server restart" -msgstr "" +msgstr "Uma configuração que requer uma reinicialização do servidor foi alterada" #: common/models.py:1227 msgid "Pending migrations" -msgstr "" +msgstr "Migrações pendentes" #: common/models.py:1228 msgid "Number of pending database migrations" -msgstr "" +msgstr "Número de migrações pendentes na base de dados" #: common/models.py:1233 msgid "Server Instance Name" -msgstr "" +msgstr "Nome da Instância do Servidor" #: common/models.py:1235 msgid "String descriptor for the server instance" -msgstr "" +msgstr "Descritor de frases para a instância do servidor" #: common/models.py:1239 msgid "Use instance name" -msgstr "" +msgstr "Usar nome da instância" #: common/models.py:1240 msgid "Use the instance name in the title-bar" -msgstr "" +msgstr "Usar o nome da instância na barra de título" #: common/models.py:1245 msgid "Restrict showing `about`" -msgstr "" +msgstr "Restringir a exibição 'sobre'" #: common/models.py:1246 msgid "Show the `about` modal only to superusers" -msgstr "" +msgstr "Mostrar 'sobre' modal apenas para superusuários" #: common/models.py:1251 company/models.py:111 company/models.py:112 msgid "Company name" -msgstr "" +msgstr "Nome da empresa" #: common/models.py:1252 msgid "Internal company name" -msgstr "" +msgstr "Nome interno da Empresa" #: common/models.py:1256 msgid "Base URL" -msgstr "" +msgstr "URL de Base" #: common/models.py:1257 msgid "Base URL for server instance" -msgstr "" +msgstr "URL Base da instância do servidor" #: common/models.py:1263 msgid "Default Currency" -msgstr "" +msgstr "Moeda Padrão" #: common/models.py:1264 msgid "Select base currency for pricing calculations" -msgstr "" +msgstr "Selecione a moeda base para cálculos de preços" #: common/models.py:1270 msgid "Supported Currencies" -msgstr "" +msgstr "Moedas suportadas" #: common/models.py:1271 msgid "List of supported currency codes" -msgstr "" +msgstr "Lista de códigos de moeda suportados" #: common/models.py:1277 msgid "Currency Update Interval" -msgstr "" +msgstr "Intervalo de Atualização da Moeda" #: common/models.py:1279 msgid "How often to update exchange rates (set to zero to disable)" -msgstr "" +msgstr "Com que frequência atualizar as taxas de câmbio (defina como zero para desativar)" #: common/models.py:1282 common/models.py:1338 common/models.py:1351 #: common/models.py:1359 common/models.py:1368 common/models.py:1377 #: common/models.py:1601 common/models.py:1623 common/models.py:1738 #: common/models.py:2111 msgid "days" -msgstr "" +msgstr "dias" #: common/models.py:1286 msgid "Currency Update Plugin" -msgstr "" +msgstr "Extensão de Atualização de Moeda" #: common/models.py:1287 msgid "Currency update plugin to use" -msgstr "" +msgstr "Extensão de Atualização de Moeda a utilizar" #: common/models.py:1292 msgid "Download from URL" -msgstr "" +msgstr "Baixar do URL" #: common/models.py:1294 msgid "Allow download of remote images and files from external URL" -msgstr "" +msgstr "Permitir baixar imagens remotas e arquivos de URLs externos" #: common/models.py:1300 msgid "Download Size Limit" -msgstr "" +msgstr "Limite de tamanho para baixar" #: common/models.py:1301 msgid "Maximum allowable download size for remote image" -msgstr "" +msgstr "Maior tamanho de imagem remota baixada permitida" #: common/models.py:1307 msgid "User-agent used to download from URL" -msgstr "" +msgstr "Usuário-agente utilizado para baixar da URL" #: common/models.py:1309 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" -msgstr "" +msgstr "Permitir a substituição de imagens e arquivos usados baixados por usuário-agente (deixar em branco por padrão)" #: common/models.py:1314 msgid "Strict URL Validation" -msgstr "" +msgstr "Validação rigorosa de URL" #: common/models.py:1315 msgid "Require schema specification when validating URLs" -msgstr "" +msgstr "Exigir especificação de esquema ao validar URLs" #: common/models.py:1320 msgid "Require confirm" -msgstr "" +msgstr "Exigir confirmação" #: common/models.py:1321 msgid "Require explicit user confirmation for certain action." -msgstr "" +msgstr "Exigir confirmação explícita do usuário para uma certa ação." #: common/models.py:1326 msgid "Tree Depth" -msgstr "" +msgstr "Profundidade da árvore" #: common/models.py:1328 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." -msgstr "" +msgstr "Profundidade padrão de visualização da árvore. Níveis mais profundos podem ser carregados gradualmente conforme necessário." #: common/models.py:1334 msgid "Update Check Interval" -msgstr "" +msgstr "Atualizar Intervalo de Verificação" #: common/models.py:1335 msgid "How often to check for updates (set to zero to disable)" -msgstr "" +msgstr "Frequência para verificar atualizações (defina como zero para desativar)" #: common/models.py:1341 msgid "Automatic Backup" -msgstr "" +msgstr "Cópia de Segurança Automática" #: common/models.py:1342 msgid "Enable automatic backup of database and media files" -msgstr "" +msgstr "Ativar cópia de segurança automática do banco de dados e arquivos de mídia" #: common/models.py:1347 msgid "Auto Backup Interval" -msgstr "" +msgstr "Intervalo de Backup Automático" #: common/models.py:1348 msgid "Specify number of days between automated backup events" -msgstr "" +msgstr "Especificar o número de dia entre as cópias de segurança" #: common/models.py:1354 msgid "Task Deletion Interval" -msgstr "" +msgstr "Intervalo para Excluir da Tarefa" #: common/models.py:1356 msgid "Background task results will be deleted after specified number of days" -msgstr "" +msgstr "Os resultados da tarefa no plano de fundo serão excluídos após um número especificado de dias" #: common/models.py:1363 msgid "Error Log Deletion Interval" -msgstr "" +msgstr "Intervalo para Excluir do Registro de Erro" #: common/models.py:1365 msgid "Error logs will be deleted after specified number of days" -msgstr "" +msgstr "Registros de erros serão excluídos após um número especificado de dias" #: common/models.py:1372 msgid "Notification Deletion Interval" -msgstr "" +msgstr "Intervalo para Excluir de Notificação" #: common/models.py:1374 msgid "User notifications will be deleted after specified number of days" -msgstr "" +msgstr "Notificações de usuários será excluído após um número especificado de dias" #: common/models.py:1381 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" -msgstr "" +msgstr "Suporte aos códigos de barras" #: common/models.py:1382 msgid "Enable barcode scanner support in the web interface" -msgstr "" +msgstr "Ativar suporte a leitor de código de barras na interface web" #: common/models.py:1387 msgid "Barcode Input Delay" -msgstr "" +msgstr "Atraso na entrada de código de barras" #: common/models.py:1388 msgid "Barcode input processing delay time" -msgstr "" +msgstr "Tempo de atraso de processamento de entrada de barras" #: common/models.py:1394 msgid "Barcode Webcam Support" -msgstr "" +msgstr "Suporte a código de barras via Câmera" #: common/models.py:1395 msgid "Allow barcode scanning via webcam in browser" -msgstr "" +msgstr "Permitir escanear código de barras por câmera pelo navegador" #: common/models.py:1400 msgid "Barcode Show Data" @@ -2299,75 +2299,75 @@ msgstr "" #: common/models.py:1406 msgid "Part Revisions" -msgstr "" +msgstr "Revisões de peças" #: common/models.py:1407 msgid "Enable revision field for Part" -msgstr "" +msgstr "Habilitar campo de revisão para a Peça" #: common/models.py:1412 msgid "Allow Deletion from Assembly" -msgstr "" +msgstr "Permitir a exclusão da Montagem" #: common/models.py:1413 msgid "Allow deletion of parts which are used in an assembly" -msgstr "" +msgstr "Permitir a remoção de peças usadas em uma montagem" #: common/models.py:1418 msgid "IPN Regex" -msgstr "" +msgstr "Regex IPN" #: common/models.py:1419 msgid "Regular expression pattern for matching Part IPN" -msgstr "" +msgstr "Padrão de expressão regular adequado para Peça IPN" #: common/models.py:1422 msgid "Allow Duplicate IPN" -msgstr "" +msgstr "Permitir Duplicação IPN" #: common/models.py:1423 msgid "Allow multiple parts to share the same IPN" -msgstr "" +msgstr "Permitir que várias peças compartilhem o mesmo IPN" #: common/models.py:1428 msgid "Allow Editing IPN" -msgstr "" +msgstr "Permitir Edição IPN" #: common/models.py:1429 msgid "Allow changing the IPN value while editing a part" -msgstr "" +msgstr "Permitir trocar o valor do IPN enquanto se edita a peça" #: common/models.py:1434 msgid "Copy Part BOM Data" -msgstr "" +msgstr "Copiar dados da LDM da Peça" #: common/models.py:1435 msgid "Copy BOM data by default when duplicating a part" -msgstr "" +msgstr "Copiar dados da LDM por padrão quando duplicar a peça" #: common/models.py:1440 msgid "Copy Part Parameter Data" -msgstr "" +msgstr "Copiar Dados de Parâmetro da Peça" #: common/models.py:1441 msgid "Copy parameter data by default when duplicating a part" -msgstr "" +msgstr "Copiar dados de parâmetros por padrão quando duplicar uma peça" #: common/models.py:1446 msgid "Copy Part Test Data" -msgstr "" +msgstr "Copiar Dados Teste da Peça" #: common/models.py:1447 msgid "Copy test data by default when duplicating a part" -msgstr "" +msgstr "Copiar dados de teste por padrão quando duplicar a peça" #: common/models.py:1452 msgid "Copy Category Parameter Templates" -msgstr "" +msgstr "Copiar Parâmetros dos Modelos de Categoria" #: common/models.py:1453 msgid "Copy category parameter templates when creating a part" -msgstr "" +msgstr "Copiar parâmetros do modelo de categoria quando criar uma peça" #: common/models.py:1458 part/admin.py:108 part/models.py:3835 #: report/models.py:294 report/models.py:361 report/serializers.py:90 @@ -2375,394 +2375,394 @@ msgstr "" #: templates/js/translated/table_filters.js:139 #: templates/js/translated/table_filters.js:772 msgid "Template" -msgstr "" +msgstr "Modelo" #: common/models.py:1459 msgid "Parts are templates by default" -msgstr "" +msgstr "Peças são modelos por padrão" #: common/models.py:1464 part/admin.py:91 part/admin.py:425 part/models.py:1056 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:726 msgid "Assembly" -msgstr "" +msgstr "Montagem" #: common/models.py:1465 msgid "Parts can be assembled from other components by default" -msgstr "" +msgstr "Peças podem ser montadas a partir de outros componentes por padrão" #: common/models.py:1470 part/admin.py:95 part/models.py:1062 #: templates/js/translated/table_filters.js:734 msgid "Component" -msgstr "" +msgstr "Componente" #: common/models.py:1471 msgid "Parts can be used as sub-components by default" -msgstr "" +msgstr "Peças podem ser usadas como sub-componentes por padrão" #: common/models.py:1476 part/admin.py:100 part/models.py:1074 msgid "Purchaseable" -msgstr "" +msgstr "Comprável" #: common/models.py:1477 msgid "Parts are purchaseable by default" -msgstr "" +msgstr "Peças são compráveis por padrão" #: common/models.py:1482 part/admin.py:104 part/models.py:1080 #: templates/js/translated/table_filters.js:760 msgid "Salable" -msgstr "" +msgstr "Vendível" #: common/models.py:1483 msgid "Parts are salable by default" -msgstr "" +msgstr "Peças vão vendíveis por padrão" #: common/models.py:1489 msgid "Parts are trackable by default" -msgstr "" +msgstr "Peças vão rastreáveis por padrão" #: common/models.py:1494 part/admin.py:117 part/models.py:1096 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:780 msgid "Virtual" -msgstr "" +msgstr "Virtual" #: common/models.py:1495 msgid "Parts are virtual by default" -msgstr "" +msgstr "Peças são virtuais por padrão" #: common/models.py:1500 msgid "Show Import in Views" -msgstr "" +msgstr "Mostrar Importações em Visualizações" #: common/models.py:1501 msgid "Display the import wizard in some part views" -msgstr "" +msgstr "Exibir o assistente de importação em algumas visualizações de partes" #: common/models.py:1506 msgid "Show related parts" -msgstr "" +msgstr "Mostra peças relacionadas" #: common/models.py:1507 msgid "Display related parts for a part" -msgstr "" +msgstr "Mostrar peças relacionadas para uma peça" #: common/models.py:1512 msgid "Initial Stock Data" -msgstr "" +msgstr "Dados Iniciais de Estoque" #: common/models.py:1513 msgid "Allow creation of initial stock when adding a new part" -msgstr "" +msgstr "Permitir Criação de estoque inicial quando adicional uma nova peça" #: common/models.py:1518 templates/js/translated/part.js:107 msgid "Initial Supplier Data" -msgstr "" +msgstr "Dados Iniciais de Fornecedor" #: common/models.py:1520 msgid "Allow creation of initial supplier data when adding a new part" -msgstr "" +msgstr "Permitir criação de dados iniciais de fornecedor quando adicionar uma nova peça" #: common/models.py:1526 msgid "Part Name Display Format" -msgstr "" +msgstr "Formato de Exibição do Nome da Peça" #: common/models.py:1527 msgid "Format to display the part name" -msgstr "" +msgstr "Formato para exibir o nome da peça" #: common/models.py:1533 msgid "Part Category Default Icon" -msgstr "" +msgstr "Ícone de Categoria de Peça Padrão" #: common/models.py:1534 msgid "Part category default icon (empty means no icon)" -msgstr "" +msgstr "Ícone padrão de categoria de peça (vazio significa sem ícone)" #: common/models.py:1538 msgid "Enforce Parameter Units" -msgstr "" +msgstr "Forçar Unidades de Parâmetro" #: common/models.py:1540 msgid "If units are provided, parameter values must match the specified units" -msgstr "" +msgstr "Se as unidades são fornecidas, os valores do parâmetro devem corresponder às unidades especificadas" #: common/models.py:1546 msgid "Minimum Pricing Decimal Places" -msgstr "" +msgstr "Mínimo de Casas Decimais do Preço" #: common/models.py:1548 msgid "Minimum number of decimal places to display when rendering pricing data" -msgstr "" +msgstr "Mínimo número de casas decimais a exibir quando renderizar dados de preços" #: common/models.py:1559 msgid "Maximum Pricing Decimal Places" -msgstr "" +msgstr "Máximo Casas Decimais de Preço" #: common/models.py:1561 msgid "Maximum number of decimal places to display when rendering pricing data" -msgstr "" +msgstr "Número máximo de casas decimais a exibir quando renderizar dados de preços" #: common/models.py:1572 msgid "Use Supplier Pricing" -msgstr "" +msgstr "Usar Preços do Fornecedor" #: common/models.py:1574 msgid "Include supplier price breaks in overall pricing calculations" -msgstr "" +msgstr "Incluir quebras de preço do fornecedor nos cálculos de preços globais" #: common/models.py:1580 msgid "Purchase History Override" -msgstr "" +msgstr "Sobrescrever histórico de compra" #: common/models.py:1582 msgid "Historical purchase order pricing overrides supplier price breaks" -msgstr "" +msgstr "Histórico do pedido de compra substitui os intervalos dos preços do fornecedor" #: common/models.py:1588 msgid "Use Stock Item Pricing" -msgstr "" +msgstr "Usar Preços do Item em Estoque" #: common/models.py:1590 msgid "Use pricing from manually entered stock data for pricing calculations" -msgstr "" +msgstr "Usar preço inserido manualmente no estoque para cálculos de valores" #: common/models.py:1596 msgid "Stock Item Pricing Age" -msgstr "" +msgstr "Idade do preço do Item em Estoque" #: common/models.py:1598 msgid "Exclude stock items older than this number of days from pricing calculations" -msgstr "" +msgstr "Não incluir itens em estoque mais velhos que este número de dias no cálculo de preços" #: common/models.py:1605 msgid "Use Variant Pricing" -msgstr "" +msgstr "Usar Preço Variável" #: common/models.py:1606 msgid "Include variant pricing in overall pricing calculations" -msgstr "" +msgstr "Incluir preços variáveis nos cálculos de valores gerais" #: common/models.py:1611 msgid "Active Variants Only" -msgstr "" +msgstr "Apenas Ativar Variáveis" #: common/models.py:1613 msgid "Only use active variant parts for calculating variant pricing" -msgstr "" +msgstr "Apenas usar peças variáveis ativas para calcular preço variáveis" #: common/models.py:1619 msgid "Pricing Rebuild Interval" -msgstr "" +msgstr "Intervalo de Reconstrução de Preços" #: common/models.py:1621 msgid "Number of days before part pricing is automatically updated" -msgstr "" +msgstr "Número de dias antes da atualização automática dos preços das peças" #: common/models.py:1628 msgid "Internal Prices" -msgstr "" +msgstr "Preços Internos" #: common/models.py:1629 msgid "Enable internal prices for parts" -msgstr "" +msgstr "Habilitar preços internos para peças" #: common/models.py:1634 msgid "Internal Price Override" -msgstr "" +msgstr "Sobrepor Valor Interno" #: common/models.py:1636 msgid "If available, internal prices override price range calculations" -msgstr "" +msgstr "Se disponível, preços internos sobrepõe variação de cálculos de preço" #: common/models.py:1642 msgid "Enable label printing" -msgstr "" +msgstr "Ativar impressão de etiquetas" #: common/models.py:1643 msgid "Enable label printing from the web interface" -msgstr "" +msgstr "Ativar impressão de etiqueta pela interface da internet" #: common/models.py:1648 msgid "Label Image DPI" -msgstr "" +msgstr "DPI da Imagem na Etiqueta" #: common/models.py:1650 msgid "DPI resolution when generating image files to supply to label printing plugins" -msgstr "" +msgstr "Resolução de DPI quando gerar arquivo de imagens para fornecer à extensão de impressão de etiquetas" #: common/models.py:1656 msgid "Enable Reports" -msgstr "" +msgstr "Habilitar Relatórios" #: common/models.py:1657 msgid "Enable generation of reports" -msgstr "" +msgstr "Ativar geração de relatórios" #: common/models.py:1662 templates/stats.html:25 msgid "Debug Mode" -msgstr "" +msgstr "Modo de depuração" #: common/models.py:1663 msgid "Generate reports in debug mode (HTML output)" -msgstr "" +msgstr "Gerar relatórios em modo de depuração (saída HTML)" #: common/models.py:1668 msgid "Log Report Errors" -msgstr "" +msgstr "Relatório de erros" #: common/models.py:1669 msgid "Log errors which occur when generating reports" -msgstr "" +msgstr "Registro de erros que ocorrem ao gerar relatórios" #: common/models.py:1674 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:302 msgid "Page Size" -msgstr "" +msgstr "Tamanho da página" #: common/models.py:1675 msgid "Default page size for PDF reports" -msgstr "" +msgstr "Tamanho padrão da página PDF para relatórios" #: common/models.py:1680 msgid "Enable Test Reports" -msgstr "" +msgstr "Ativar Relatórios Teste" #: common/models.py:1681 msgid "Enable generation of test reports" -msgstr "" +msgstr "Ativar geração de relatórios de teste" #: common/models.py:1686 msgid "Attach Test Reports" -msgstr "" +msgstr "Anexar Relatórios de Teste" #: common/models.py:1688 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" -msgstr "" +msgstr "Quando imprimir um Relatório de Teste, anexar uma cópia do mesmo ao item de estoque associado" #: common/models.py:1694 msgid "Globally Unique Serials" -msgstr "" +msgstr "Seriais Únicos Globais" #: common/models.py:1695 msgid "Serial numbers for stock items must be globally unique" -msgstr "" +msgstr "Números de série para itens de estoque devem ser globalmente únicos" #: common/models.py:1700 msgid "Autofill Serial Numbers" -msgstr "" +msgstr "Preenchimento automático de Números Seriais" #: common/models.py:1701 msgid "Autofill serial numbers in forms" -msgstr "" +msgstr "Preencher números de série automaticamente no formulário" #: common/models.py:1706 msgid "Delete Depleted Stock" -msgstr "" +msgstr "Excluir Estoque Esgotado" #: common/models.py:1708 msgid "Determines default behavior when a stock item is depleted" -msgstr "" +msgstr "Determina o comportamento padrão quando um item de estoque é esgotado" #: common/models.py:1714 msgid "Batch Code Template" -msgstr "" +msgstr "Modelo de Código de Lote" #: common/models.py:1716 msgid "Template for generating default batch codes for stock items" -msgstr "" +msgstr "Modelo para gerar códigos de lote padrão para itens de estoque" #: common/models.py:1721 msgid "Stock Expiry" -msgstr "" +msgstr "Validade do Estoque" #: common/models.py:1722 msgid "Enable stock expiry functionality" -msgstr "" +msgstr "Ativar função de validade de estoque" #: common/models.py:1727 msgid "Sell Expired Stock" -msgstr "" +msgstr "Vender estoque expirado" #: common/models.py:1728 msgid "Allow sale of expired stock" -msgstr "" +msgstr "Permitir venda de estoque expirado" #: common/models.py:1733 msgid "Stock Stale Time" -msgstr "" +msgstr "Tempo de Estoque Inativo" #: common/models.py:1735 msgid "Number of days stock items are considered stale before expiring" -msgstr "" +msgstr "Número de dias em que os itens em estoque são considerados obsoleto antes de vencer" #: common/models.py:1742 msgid "Build Expired Stock" -msgstr "" +msgstr "Produzir Estoque Vencido" #: common/models.py:1743 msgid "Allow building with expired stock" -msgstr "" +msgstr "Permitir produção com estoque vencido" #: common/models.py:1748 msgid "Stock Ownership Control" -msgstr "" +msgstr "Controle de propriedade do estoque" #: common/models.py:1749 msgid "Enable ownership control over stock locations and items" -msgstr "" +msgstr "Ativar controle de propriedade sobre locais e itens de estoque" #: common/models.py:1754 msgid "Stock Location Default Icon" -msgstr "" +msgstr "Ícone padrão do local de estoque" #: common/models.py:1755 msgid "Stock location default icon (empty means no icon)" -msgstr "" +msgstr "Ícone padrão de local de estoque (vazio significa sem ícone)" #: common/models.py:1759 msgid "Show Installed Stock Items" -msgstr "" +msgstr "Mostrar Itens de Estoque Instalados" #: common/models.py:1760 msgid "Display installed stock items in stock tables" -msgstr "" +msgstr "Exibir itens de estoque instalados nas tabelas de estoque" #: common/models.py:1765 msgid "Check BOM when installing items" -msgstr "" +msgstr "Verificar BOM ao instalar itens" #: common/models.py:1767 msgid "Installed stock items must exist in the BOM for the parent part" -msgstr "" +msgstr "Itens de estoque instalados devem existir na BOM para a peça parente" #: common/models.py:1773 msgid "Allow Out of Stock Transfer" -msgstr "" +msgstr "Permitir Transferência Fora do Estoque" #: common/models.py:1775 msgid "Allow stock items which are not in stock to be transferred between stock locations" -msgstr "" +msgstr "Permitir que os itens que não estão em estoque sejam transferidos entre locais de estoque" #: common/models.py:1781 msgid "Build Order Reference Pattern" -msgstr "" +msgstr "Modelo de Referência de Pedidos de Produção" #: common/models.py:1783 msgid "Required pattern for generating Build Order reference field" -msgstr "" +msgstr "Modelo necessário para gerar campo de referência do Pedido de Produção" #: common/models.py:1789 common/models.py:1837 common/models.py:1859 #: common/models.py:1895 msgid "Require Responsible Owner" -msgstr "" +msgstr "Requer Proprietário Responsável" #: common/models.py:1790 common/models.py:1838 common/models.py:1860 #: common/models.py:1896 msgid "A responsible owner must be assigned to each order" -msgstr "" +msgstr "Um proprietário responsável deve ser atribuído a cada ordem" #: common/models.py:1795 msgid "Require Active Part" @@ -2790,23 +2790,23 @@ msgstr "" #: common/models.py:1815 msgid "Block Until Tests Pass" -msgstr "" +msgstr "Bloquear até os Testes serem Aprovados" #: common/models.py:1817 msgid "Prevent build outputs from being completed until all required tests pass" -msgstr "" +msgstr "Impedir que as saídas da produção sejam concluídas até que todos os testes sejam aprovados" #: common/models.py:1823 msgid "Enable Return Orders" -msgstr "" +msgstr "Ativar Pedidos de Devolução" #: common/models.py:1824 msgid "Enable return order functionality in the user interface" -msgstr "" +msgstr "Ativar funcionalidade de pedido de retorno na interface do usuário" #: common/models.py:1829 msgid "Return Order Reference Pattern" -msgstr "" +msgstr "Modelo de Referência de Pedidos de Devolução" #: common/models.py:1831 msgid "Required pattern for generating Return Order reference field" @@ -2814,35 +2814,35 @@ msgstr "" #: common/models.py:1843 msgid "Edit Completed Return Orders" -msgstr "" +msgstr "Editar os Pedidos de Devolução Concluídos" #: common/models.py:1845 msgid "Allow editing of return orders after they have been completed" -msgstr "" +msgstr "Permitir a edição de pedidos de devolução após serem enviados ou concluídos" #: common/models.py:1851 msgid "Sales Order Reference Pattern" -msgstr "" +msgstr "Modelo de Referência de Pedidos de Venda" #: common/models.py:1853 msgid "Required pattern for generating Sales Order reference field" -msgstr "" +msgstr "Modelo necessário para gerar campo de referência do Pedido de Venda" #: common/models.py:1865 msgid "Sales Order Default Shipment" -msgstr "" +msgstr "Envio Padrão de Pedidos de Venda" #: common/models.py:1866 msgid "Enable creation of default shipment with sales orders" -msgstr "" +msgstr "Habilitar criação de envio padrão com Pedidos de Vendas" #: common/models.py:1871 msgid "Edit Completed Sales Orders" -msgstr "" +msgstr "Editar os Pedidos de Vendas concluídos" #: common/models.py:1873 msgid "Allow editing of sales orders after they have been shipped or completed" -msgstr "" +msgstr "Permitir a edição de pedidos de vendas após serem enviados ou concluídos" #: common/models.py:1879 msgid "Mark Shipped Orders as Complete" @@ -2854,59 +2854,59 @@ msgstr "" #: common/models.py:1887 msgid "Purchase Order Reference Pattern" -msgstr "" +msgstr "Modelo de Referência de Pedidos de Compras" #: common/models.py:1889 msgid "Required pattern for generating Purchase Order reference field" -msgstr "" +msgstr "Modelo necessário para gerar campo de referência do Pedido de Compra" #: common/models.py:1901 msgid "Edit Completed Purchase Orders" -msgstr "" +msgstr "Editar Pedidos de Compra Concluídos" #: common/models.py:1903 msgid "Allow editing of purchase orders after they have been shipped or completed" -msgstr "" +msgstr "Permitir a edição de pedidos de compras após serem enviados ou concluídos" #: common/models.py:1909 msgid "Auto Complete Purchase Orders" -msgstr "" +msgstr "Autocompletar Pedidos de Compra" #: common/models.py:1911 msgid "Automatically mark purchase orders as complete when all line items are received" -msgstr "" +msgstr "Marcar automaticamente os pedidos de compra como concluídos quando todos os itens de linha forem recebidos" #: common/models.py:1918 msgid "Enable password forgot" -msgstr "" +msgstr "Habitar esquecer senha" #: common/models.py:1919 msgid "Enable password forgot function on the login pages" -msgstr "" +msgstr "Habilitar a função \"Esqueci minha senha\" nas páginas de acesso" #: common/models.py:1924 msgid "Enable registration" -msgstr "" +msgstr "Habilitar cadastro" #: common/models.py:1925 msgid "Enable self-registration for users on the login pages" -msgstr "" +msgstr "Ativar auto-registro para usuários na página de entrada" #: common/models.py:1930 msgid "Enable SSO" -msgstr "" +msgstr "Ativar SSO" #: common/models.py:1931 msgid "Enable SSO on the login pages" -msgstr "" +msgstr "Ativar SSO na página de acesso" #: common/models.py:1936 msgid "Enable SSO registration" -msgstr "" +msgstr "Ativar registro SSO" #: common/models.py:1938 msgid "Enable self-registration via SSO for users on the login pages" -msgstr "" +msgstr "Ativar auto-registro por SSO para usuários na página de entrada" #: common/models.py:1944 msgid "Enable SSO group sync" @@ -2942,47 +2942,47 @@ msgstr "" #: common/models.py:1976 msgid "Email required" -msgstr "" +msgstr "Email obrigatório" #: common/models.py:1977 msgid "Require user to supply mail on signup" -msgstr "" +msgstr "Exigir do usuário o e-mail no cadastro" #: common/models.py:1982 msgid "Auto-fill SSO users" -msgstr "" +msgstr "Auto-preencher usuários SSO" #: common/models.py:1984 msgid "Automatically fill out user-details from SSO account-data" -msgstr "" +msgstr "Preencher automaticamente os detalhes do usuário a partir de dados da conta SSO" #: common/models.py:1990 msgid "Mail twice" -msgstr "" +msgstr "Enviar email duplo" #: common/models.py:1991 msgid "On signup ask users twice for their mail" -msgstr "" +msgstr "No registro pedir aos usuários duas vezes pelo email" #: common/models.py:1996 msgid "Password twice" -msgstr "" +msgstr "Senha duas vezes" #: common/models.py:1997 msgid "On signup ask users twice for their password" -msgstr "" +msgstr "No registro pedir aos usuários duas vezes pela senha" #: common/models.py:2002 msgid "Allowed domains" -msgstr "" +msgstr "Domínios permitidos" #: common/models.py:2004 msgid "Restrict signup to certain domains (comma-separated, starting with @)" -msgstr "" +msgstr "Restringir registros a certos domínios (separados por vírgula, começando com @)" #: common/models.py:2010 msgid "Group on signup" -msgstr "" +msgstr "Grupo no cadastro" #: common/models.py:2012 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." @@ -2990,115 +2990,115 @@ msgstr "" #: common/models.py:2018 msgid "Enforce MFA" -msgstr "" +msgstr "Forçar AMF" #: common/models.py:2019 msgid "Users must use multifactor security." -msgstr "" +msgstr "Os usuários devem usar uma segurança multifator." #: common/models.py:2024 msgid "Check plugins on startup" -msgstr "" +msgstr "Checar extensões no início" #: common/models.py:2026 msgid "Check that all plugins are installed on startup - enable in container environments" -msgstr "" +msgstr "Checar que todas as extensões instaladas no início — ativar em ambientes de contêineres" #: common/models.py:2034 msgid "Check for plugin updates" -msgstr "" +msgstr "Verificar por atualizações de plugin" #: common/models.py:2035 msgid "Enable periodic checks for updates to installed plugins" -msgstr "" +msgstr "Habilitar verificações periódicas de atualizações para plugins instalados" #: common/models.py:2041 msgid "Enable URL integration" -msgstr "" +msgstr "Ativar integração URL" #: common/models.py:2042 msgid "Enable plugins to add URL routes" -msgstr "" +msgstr "Ativar extensão para adicionar rotas URL" #: common/models.py:2048 msgid "Enable navigation integration" -msgstr "" +msgstr "Ativar integração de navegação" #: common/models.py:2049 msgid "Enable plugins to integrate into navigation" -msgstr "" +msgstr "Ativar extensões para integrar à navegação" #: common/models.py:2055 msgid "Enable app integration" -msgstr "" +msgstr "Ativa integração com aplicativo" #: common/models.py:2056 msgid "Enable plugins to add apps" -msgstr "" +msgstr "Ativar extensões para adicionar aplicativos" #: common/models.py:2062 msgid "Enable schedule integration" -msgstr "" +msgstr "Ativar integração do calendário" #: common/models.py:2063 msgid "Enable plugins to run scheduled tasks" -msgstr "" +msgstr "Ativar extensões para executar tarefas agendadas" #: common/models.py:2069 msgid "Enable event integration" -msgstr "" +msgstr "Ativar integração de eventos" #: common/models.py:2070 msgid "Enable plugins to respond to internal events" -msgstr "" +msgstr "Ativar extensões para responder a eventos internos" #: common/models.py:2076 msgid "Enable project codes" -msgstr "" +msgstr "Habilitar códigos de projeto" #: common/models.py:2077 msgid "Enable project codes for tracking projects" -msgstr "" +msgstr "Ativar códigos de projeto para rastrear projetos" #: common/models.py:2082 msgid "Stocktake Functionality" -msgstr "" +msgstr "Funcionalidade de Balanço do Inventário" #: common/models.py:2084 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" -msgstr "" +msgstr "Ativar funcionalidade de balanço para gravar níveis de estoque e calcular seu valor" #: common/models.py:2090 msgid "Exclude External Locations" -msgstr "" +msgstr "Excluir Locais Externos" #: common/models.py:2092 msgid "Exclude stock items in external locations from stocktake calculations" -msgstr "" +msgstr "Excluir itens de estoque em locais externos dos cálculos do estoque" #: common/models.py:2098 msgid "Automatic Stocktake Period" -msgstr "" +msgstr "Período de Balanço Automático" #: common/models.py:2100 msgid "Number of days between automatic stocktake recording (set to zero to disable)" -msgstr "" +msgstr "Número de dias entre gravação do balanço de estoque (coloque zero para desativar)" #: common/models.py:2106 msgid "Report Deletion Interval" -msgstr "" +msgstr "Intervalo para Excluir o Relatório" #: common/models.py:2108 msgid "Stocktake reports will be deleted after specified number of days" -msgstr "" +msgstr "Relatórios de balanço serão apagados após um número de dias especificado" #: common/models.py:2115 msgid "Display Users full names" -msgstr "" +msgstr "Mostrar nomes completos dos usuários" #: common/models.py:2116 msgid "Display Users full names instead of usernames" -msgstr "" +msgstr "Mostrar Nomes Completos em vez de Nomes de Usuário" #: common/models.py:2121 msgid "Enable Test Station Data" @@ -3110,39 +3110,39 @@ msgstr "" #: common/models.py:2134 common/models.py:2514 msgid "Settings key (must be unique - case insensitive" -msgstr "" +msgstr "Senha de configurações (deve ser única — diferencia maiúsculas de minúsculas" #: common/models.py:2177 msgid "Hide inactive parts" -msgstr "" +msgstr "Ocultar peças inativas" #: common/models.py:2179 msgid "Hide inactive parts in results displayed on the homepage" -msgstr "" +msgstr "Ocultar peças inativas nos resultados exibidos na página inicial" #: common/models.py:2185 msgid "Show subscribed parts" -msgstr "" +msgstr "Mostrar peças subscritas" #: common/models.py:2186 msgid "Show subscribed parts on the homepage" -msgstr "" +msgstr "Mostrar peças subscritas na tela inicial" #: common/models.py:2191 msgid "Show subscribed categories" -msgstr "" +msgstr "Mostrar categorias subscritas" #: common/models.py:2192 msgid "Show subscribed part categories on the homepage" -msgstr "" +msgstr "Mostrar categorias de peças subscritas na tela inicial" #: common/models.py:2197 msgid "Show latest parts" -msgstr "" +msgstr "Mostrar peças mais recentes" #: common/models.py:2198 msgid "Show latest parts on the homepage" -msgstr "" +msgstr "Mostrar as peças mais recentes na página inicial" #: common/models.py:2203 msgid "Show invalid BOMs" @@ -3150,367 +3150,367 @@ msgstr "" #: common/models.py:2204 msgid "Show BOMs that await validation on the homepage" -msgstr "" +msgstr "Mostrar LDMs que aguardam validação na página inicial" #: common/models.py:2209 msgid "Show recent stock changes" -msgstr "" +msgstr "Mostrar alterações recentes de estoque" #: common/models.py:2210 msgid "Show recently changed stock items on the homepage" -msgstr "" +msgstr "Mostrar itens de estoque alterados recentemente na página inicial" #: common/models.py:2215 msgid "Show low stock" -msgstr "" +msgstr "Mostrar estoque baixo" #: common/models.py:2216 msgid "Show low stock items on the homepage" -msgstr "" +msgstr "Mostrar itens de baixo estoque na página inicial" #: common/models.py:2221 msgid "Show depleted stock" -msgstr "" +msgstr "Mostrar estoque esgotado" #: common/models.py:2222 msgid "Show depleted stock items on the homepage" -msgstr "" +msgstr "Mostrar itens sem estoque na página inicial" #: common/models.py:2227 msgid "Show needed stock" -msgstr "" +msgstr "Mostrar estoque necessário" #: common/models.py:2228 msgid "Show stock items needed for builds on the homepage" -msgstr "" +msgstr "Mostrar itens de estoque necessários para produções na tela inicial" #: common/models.py:2233 msgid "Show expired stock" -msgstr "" +msgstr "Mostrar estoque expirado" #: common/models.py:2234 msgid "Show expired stock items on the homepage" -msgstr "" +msgstr "Mostrar expirados itens em estoque na tela inicial" #: common/models.py:2239 msgid "Show stale stock" -msgstr "" +msgstr "Mostrar estoque inativo" #: common/models.py:2240 msgid "Show stale stock items on the homepage" -msgstr "" +msgstr "Mostrar estoque inativo na tela inicial" #: common/models.py:2245 msgid "Show pending builds" -msgstr "" +msgstr "Mostrar produções pendentes" #: common/models.py:2246 msgid "Show pending builds on the homepage" -msgstr "" +msgstr "Mostrar produções pendentes na tela inicial" #: common/models.py:2251 msgid "Show overdue builds" -msgstr "" +msgstr "Mostrar produções atrasadas" #: common/models.py:2252 msgid "Show overdue builds on the homepage" -msgstr "" +msgstr "Mostrar produções atrasadas na tela inicial" #: common/models.py:2257 msgid "Show outstanding POs" -msgstr "" +msgstr "Mostrar pedidos de compra pendentes" #: common/models.py:2258 msgid "Show outstanding POs on the homepage" -msgstr "" +msgstr "Mostrar os Pedidos de Compras pendentes na página inicial" #: common/models.py:2263 msgid "Show overdue POs" -msgstr "" +msgstr "Mostrar Pedidos de Compra atrasados" #: common/models.py:2264 msgid "Show overdue POs on the homepage" -msgstr "" +msgstr "Mostrar os Pedidos de Compras atrasadas na tela inicial" #: common/models.py:2269 msgid "Show outstanding SOs" -msgstr "" +msgstr "Mostrar pedidos de vendas pendentes" #: common/models.py:2270 msgid "Show outstanding SOs on the homepage" -msgstr "" +msgstr "Mostrar os Pedidos de Vendas pendentes na página inicial" #: common/models.py:2275 msgid "Show overdue SOs" -msgstr "" +msgstr "Mostrar Pedidos de Venda atrasados" #: common/models.py:2276 msgid "Show overdue SOs on the homepage" -msgstr "" +msgstr "Mostrar os Pedidos de Vendas atrasadas na tela inicial" #: common/models.py:2281 msgid "Show pending SO shipments" -msgstr "" +msgstr "Mostrar remessas de OV pendentes" #: common/models.py:2282 msgid "Show pending SO shipments on the homepage" -msgstr "" +msgstr "Mostrar envios OV pendentes na tela inicial" #: common/models.py:2287 msgid "Show News" -msgstr "" +msgstr "Mostrar notícias" #: common/models.py:2288 msgid "Show news on the homepage" -msgstr "" +msgstr "Mostrar notícias na tela inicial" #: common/models.py:2293 msgid "Inline label display" -msgstr "" +msgstr "Mostrar etiqueta em linha" #: common/models.py:2295 msgid "Display PDF labels in the browser, instead of downloading as a file" -msgstr "" +msgstr "Mostrar etiquetas em PDF no navegador, ao invés de baixar o arquivo" #: common/models.py:2301 msgid "Default label printer" -msgstr "" +msgstr "Impressora de etiquetas padrão" #: common/models.py:2303 msgid "Configure which label printer should be selected by default" -msgstr "" +msgstr "Configurar qual impressora de etiqueta deve ser selecionada por padrão" #: common/models.py:2309 msgid "Inline report display" -msgstr "" +msgstr "Mostrar relatório em linha" #: common/models.py:2311 msgid "Display PDF reports in the browser, instead of downloading as a file" -msgstr "" +msgstr "Mostrar relatórios em PDF no navegador, ao invés de baixar o arquivo" #: common/models.py:2317 msgid "Search Parts" -msgstr "" +msgstr "Procurar Peças" #: common/models.py:2318 msgid "Display parts in search preview window" -msgstr "" +msgstr "Mostrar peças na janela de visualização de pesquisa" #: common/models.py:2323 msgid "Search Supplier Parts" -msgstr "" +msgstr "Buscar Peças do Fornecedor" #: common/models.py:2324 msgid "Display supplier parts in search preview window" -msgstr "" +msgstr "Mostrar fornecedor de peças na janela de visualização de pesquisa" #: common/models.py:2329 msgid "Search Manufacturer Parts" -msgstr "" +msgstr "Buscar peças do fabricante" #: common/models.py:2330 msgid "Display manufacturer parts in search preview window" -msgstr "" +msgstr "Mostrar fabricante de peças na janela de visualização de pesquisa" #: common/models.py:2335 msgid "Hide Inactive Parts" -msgstr "" +msgstr "Ocultar peças inativas" #: common/models.py:2336 msgid "Excluded inactive parts from search preview window" -msgstr "" +msgstr "Não incluir peças inativas na janela de visualização de pesquisa" #: common/models.py:2341 msgid "Search Categories" -msgstr "" +msgstr "Pesquisar Categorias" #: common/models.py:2342 msgid "Display part categories in search preview window" -msgstr "" +msgstr "Mostrar categoria das peças na janela de visualização de pesquisa" #: common/models.py:2347 msgid "Search Stock" -msgstr "" +msgstr "Pesquisar Estoque" #: common/models.py:2348 msgid "Display stock items in search preview window" -msgstr "" +msgstr "Mostrar itens do estoque na janela de visualização de pesquisa" #: common/models.py:2353 msgid "Hide Unavailable Stock Items" -msgstr "" +msgstr "Ocultar itens do estoque indisponíveis" #: common/models.py:2355 msgid "Exclude stock items which are not available from the search preview window" -msgstr "" +msgstr "Não incluir itens de estoque que não estão disponíveis na janela de visualização de pesquisa" #: common/models.py:2361 msgid "Search Locations" -msgstr "" +msgstr "Procurar Locais" #: common/models.py:2362 msgid "Display stock locations in search preview window" -msgstr "" +msgstr "Mostrar locais de estoque na janela de visualização de pesquisa" #: common/models.py:2367 msgid "Search Companies" -msgstr "" +msgstr "Pesquisar empresas" #: common/models.py:2368 msgid "Display companies in search preview window" -msgstr "" +msgstr "Mostrar empresas na janela de visualização de pesquisa" #: common/models.py:2373 msgid "Search Build Orders" -msgstr "" +msgstr "Procurar Pedidos de Produção" #: common/models.py:2374 msgid "Display build orders in search preview window" -msgstr "" +msgstr "Mostrar pedidos de produção na janela de visualização de pesquisa" #: common/models.py:2379 msgid "Search Purchase Orders" -msgstr "" +msgstr "Mostrar Pedido de Compras" #: common/models.py:2380 msgid "Display purchase orders in search preview window" -msgstr "" +msgstr "Mostrar pedidos de compra na janela de visualização de pesquisa" #: common/models.py:2385 msgid "Exclude Inactive Purchase Orders" -msgstr "" +msgstr "Não incluir Pedidos de Compras Inativos" #: common/models.py:2387 msgid "Exclude inactive purchase orders from search preview window" -msgstr "" +msgstr "Não incluir pedidos de compras inativos na janela de visualização de pesquisa" #: common/models.py:2393 msgid "Search Sales Orders" -msgstr "" +msgstr "Procurar Pedidos de Vendas" #: common/models.py:2394 msgid "Display sales orders in search preview window" -msgstr "" +msgstr "Mostrar pedidos de vendas na janela de visualização de pesquisa" #: common/models.py:2399 msgid "Exclude Inactive Sales Orders" -msgstr "" +msgstr "Não Incluir Pedidos de Compras Inativas" #: common/models.py:2401 msgid "Exclude inactive sales orders from search preview window" -msgstr "" +msgstr "Não incluir pedidos de vendas inativos na janela de visualização de pesquisa" #: common/models.py:2407 msgid "Search Return Orders" -msgstr "" +msgstr "Procurar Pedidos de Devolução" #: common/models.py:2408 msgid "Display return orders in search preview window" -msgstr "" +msgstr "Mostrar pedidos de devolução na janela de visualização de pesquisa" #: common/models.py:2413 msgid "Exclude Inactive Return Orders" -msgstr "" +msgstr "Não Incluir Pedidos de Devolução Inativas" #: common/models.py:2415 msgid "Exclude inactive return orders from search preview window" -msgstr "" +msgstr "Não incluir pedidos de devolução inativos na janela de visualização de pesquisa" #: common/models.py:2421 msgid "Search Preview Results" -msgstr "" +msgstr "Mostrar Resultados Anteriores" #: common/models.py:2423 msgid "Number of results to show in each section of the search preview window" -msgstr "" +msgstr "Número de resultados mostrados em cada seção da janela de visualização de pesquisa" #: common/models.py:2429 msgid "Regex Search" -msgstr "" +msgstr "Pesquisa de Regex" #: common/models.py:2430 msgid "Enable regular expressions in search queries" -msgstr "" +msgstr "Permitir expressôes comuns nas conultas de pesquisas" #: common/models.py:2435 msgid "Whole Word Search" -msgstr "" +msgstr "Busca de Palavras Inteira" #: common/models.py:2436 msgid "Search queries return results for whole word matches" -msgstr "" +msgstr "Pesquisa retorna que palavra inteira coincide" #: common/models.py:2441 msgid "Show Quantity in Forms" -msgstr "" +msgstr "Mostrar Quantidade nos Formulários" #: common/models.py:2442 msgid "Display available part quantity in some forms" -msgstr "" +msgstr "Mostrar a quantidade de peças disponíveis em alguns formulários" #: common/models.py:2447 msgid "Escape Key Closes Forms" -msgstr "" +msgstr "Tecla Esc Fecha Formulários" #: common/models.py:2448 msgid "Use the escape key to close modal forms" -msgstr "" +msgstr "Usar a tecla Esc para fechar fomulários modais" #: common/models.py:2453 msgid "Fixed Navbar" -msgstr "" +msgstr "Fixar Navbar" #: common/models.py:2454 msgid "The navbar position is fixed to the top of the screen" -msgstr "" +msgstr "A posição do Navbar é fixa no topo da tela" #: common/models.py:2459 msgid "Date Format" -msgstr "" +msgstr "Formato da data" #: common/models.py:2460 msgid "Preferred format for displaying dates" -msgstr "" +msgstr "Formato preferido para mostrar datas" #: common/models.py:2473 part/templates/part/detail.html:41 msgid "Part Scheduling" -msgstr "" +msgstr "Agendamento de peças" #: common/models.py:2474 msgid "Display part scheduling information" -msgstr "" +msgstr "Mostrar informações de agendamento de peças" #: common/models.py:2479 part/templates/part/detail.html:62 msgid "Part Stocktake" -msgstr "" +msgstr "Balanço de Peça" #: common/models.py:2481 msgid "Display part stocktake information (if stocktake functionality is enabled)" -msgstr "" +msgstr "Mostrar informação de balanço da peça (se a funcionalidade de balanço estiver habilitada)" #: common/models.py:2487 msgid "Table String Length" -msgstr "" +msgstr "Comprimento da Tabela de Frases" #: common/models.py:2489 msgid "Maximum length limit for strings displayed in table views" -msgstr "" +msgstr "Limite máximo de comprimento para frases exibidas nas visualizações de tabela" #: common/models.py:2495 msgid "Receive error reports" -msgstr "" +msgstr "Receber relatório de erros" #: common/models.py:2496 msgid "Receive notifications for system errors" -msgstr "" +msgstr "Receber notificações para erros do sistema" #: common/models.py:2501 msgid "Last used printing machines" -msgstr "" +msgstr "Últimas máquinas de impressão utilizadas" #: common/models.py:2502 msgid "Save the last used printing machines for a user" -msgstr "" +msgstr "Salvar as últimas máquinas de impressão usadas para um usuário" #: common/models.py:2522 common/models.py:2523 common/models.py:2672 #: common/models.py:2673 common/models.py:2918 common/models.py:2919 @@ -3520,11 +3520,11 @@ msgstr "" #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 msgid "User" -msgstr "" +msgstr "Usuario" #: common/models.py:2545 msgid "Price break quantity" -msgstr "" +msgstr "Quantidade de Parcelamentos" #: common/models.py:2552 company/serializers.py:502 order/admin.py:42 #: order/models.py:1346 order/models.py:2292 @@ -3532,27 +3532,27 @@ msgstr "" #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:740 msgid "Price" -msgstr "" +msgstr "Preço" #: common/models.py:2553 msgid "Unit price at specified quantity" -msgstr "" +msgstr "Preço unitário na quantidade especificada" #: common/models.py:2649 common/models.py:2834 msgid "Endpoint" -msgstr "" +msgstr "Ponto final" #: common/models.py:2650 msgid "Endpoint at which this webhook is received" -msgstr "" +msgstr "Ponto final em qual o gancho web foi recebido" #: common/models.py:2660 msgid "Name for this webhook" -msgstr "" +msgstr "Nome para este webhook" #: common/models.py:2664 msgid "Is this webhook active" -msgstr "" +msgstr "Este gancho web está ativo" #: common/models.py:2680 users/models.py:159 msgid "Token" @@ -3560,59 +3560,59 @@ msgstr "" #: common/models.py:2681 msgid "Token for access" -msgstr "" +msgstr "Token de acesso" #: common/models.py:2689 msgid "Secret" -msgstr "" +msgstr "Segredo" #: common/models.py:2690 msgid "Shared secret for HMAC" -msgstr "" +msgstr "Segredo compartilhado para HMAC" #: common/models.py:2798 msgid "Message ID" -msgstr "" +msgstr "ID da Mensagem" #: common/models.py:2799 msgid "Unique identifier for this message" -msgstr "" +msgstr "Identificador exclusivo desta mensagem" #: common/models.py:2807 msgid "Host" -msgstr "" +msgstr "Servidor" #: common/models.py:2808 msgid "Host from which this message was received" -msgstr "" +msgstr "Servidor do qual esta mensagem foi recebida" #: common/models.py:2816 msgid "Header" -msgstr "" +msgstr "Cabeçalho" #: common/models.py:2817 msgid "Header of this message" -msgstr "" +msgstr "Cabeçalho da mensagem" #: common/models.py:2824 msgid "Body" -msgstr "" +msgstr "Corpo" #: common/models.py:2825 msgid "Body of this message" -msgstr "" +msgstr "Corpo da mensagem" #: common/models.py:2835 msgid "Endpoint on which this message was received" -msgstr "" +msgstr "Ponto do qual esta mensagem foi recebida" #: common/models.py:2840 msgid "Worked on" -msgstr "" +msgstr "Trabalhado em" #: common/models.py:2841 msgid "Was the work on this message finished?" -msgstr "" +msgstr "O trabalho desta mensagem foi concluído?" #: common/models.py:2967 msgid "Id" @@ -3621,7 +3621,7 @@ msgstr "" #: common/models.py:2969 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" -msgstr "" +msgstr "Título" #: common/models.py:2971 common/models.py:3229 company/models.py:149 #: company/models.py:446 company/models.py:506 company/models.py:806 @@ -3638,28 +3638,28 @@ msgstr "" #: templates/js/translated/sales_order.js:1092 #: templates/js/translated/sales_order.js:2023 msgid "Link" -msgstr "" +msgstr "Ligação" #: common/models.py:2973 templates/js/translated/news.js:60 msgid "Published" -msgstr "" +msgstr "Publicado" #: common/models.py:2975 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" -msgstr "" +msgstr "Autor" #: common/models.py:2977 templates/js/translated/news.js:52 msgid "Summary" -msgstr "" +msgstr "Resumo" #: common/models.py:2980 msgid "Read" -msgstr "" +msgstr "Lida" #: common/models.py:2980 msgid "Was this news item read?" -msgstr "" +msgstr "Esta notícia do item foi lida?" #: common/models.py:2997 company/models.py:159 part/models.py:969 #: report/templates/report/inventree_bill_of_materials_report.html:126 @@ -3669,11 +3669,11 @@ msgstr "" #: templates/hover_image.html:7 templates/hover_image.html:9 #: templates/modals.html:6 msgid "Image" -msgstr "" +msgstr "Imagem" #: common/models.py:2997 msgid "Image file" -msgstr "" +msgstr "Arquivo de imagem" #: common/models.py:3009 common/models.py:3213 msgid "Target model type for this image" @@ -3693,50 +3693,50 @@ msgstr "" #: common/models.py:3071 msgid "Unit name must be a valid identifier" -msgstr "" +msgstr "Nome da unidade deve ser um identificador válido" #: common/models.py:3090 msgid "Unit name" -msgstr "" +msgstr "Nome da unidade" #: common/models.py:3097 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" -msgstr "" +msgstr "Símbolo" #: common/models.py:3098 msgid "Optional unit symbol" -msgstr "" +msgstr "Símbolo de unidade opcional" #: common/models.py:3104 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" -msgstr "" +msgstr "Definição" #: common/models.py:3105 msgid "Unit definition" -msgstr "" +msgstr "Definição de unidade" #: common/models.py:3163 common/models.py:3220 stock/models.py:2471 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" -msgstr "" +msgstr "Anexo" #: common/models.py:3175 msgid "Missing file" -msgstr "" +msgstr "Arquivo ausente" #: common/models.py:3176 msgid "Missing external link" -msgstr "" +msgstr "Link externo não encontrado" #: common/models.py:3221 msgid "Select file to attach" -msgstr "" +msgstr "Selecione arquivo para anexar" #: common/models.py:3236 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" -msgstr "" +msgstr "Comentario" #: common/models.py:3237 msgid "Attachment comment" @@ -3765,100 +3765,100 @@ msgstr "" #: common/notifications.py:314 #, python-brace-format msgid "New {verbose_name}" -msgstr "" +msgstr "Novo {verbose_name}" #: common/notifications.py:316 msgid "A new order has been created and assigned to you" -msgstr "" +msgstr "Um novo pedido foi criado e atribuído a você" #: common/notifications.py:322 #, python-brace-format msgid "{verbose_name} canceled" -msgstr "" +msgstr "{verbose_name} cancelado" #: common/notifications.py:324 msgid "A order that is assigned to you was canceled" -msgstr "" +msgstr "Um pedido atribuído a você foi cancelado" #: common/notifications.py:330 common/notifications.py:337 order/api.py:454 msgid "Items Received" -msgstr "" +msgstr "Itens Recebidos" #: common/notifications.py:332 msgid "Items have been received against a purchase order" -msgstr "" +msgstr "Os itens de um pedido de compra foram recebidos" #: common/notifications.py:339 msgid "Items have been received against a return order" -msgstr "" +msgstr "Os itens de um pedido de devolução foram recebidos" #: common/notifications.py:457 msgid "Error raised by plugin" -msgstr "" +msgstr "Erro criado pela extensão" #: common/serializers.py:375 msgid "Is Running" -msgstr "" +msgstr "Executando" #: common/serializers.py:381 msgid "Pending Tasks" -msgstr "" +msgstr "Tarefas Pendentes" #: common/serializers.py:387 msgid "Scheduled Tasks" -msgstr "" +msgstr "Tarefas Agendadas" #: common/serializers.py:393 msgid "Failed Tasks" -msgstr "" +msgstr "Tarefas com Falhas" #: common/serializers.py:408 msgid "Task ID" -msgstr "" +msgstr "ID da Tarefa" #: common/serializers.py:408 msgid "Unique task ID" -msgstr "" +msgstr "ID Único da Tarefa" #: common/serializers.py:410 msgid "Lock" -msgstr "" +msgstr "Bloquear" #: common/serializers.py:410 msgid "Lock time" -msgstr "" +msgstr "Tempo de bloqueio" #: common/serializers.py:412 msgid "Task name" -msgstr "" +msgstr "Nome da tarefa" #: common/serializers.py:414 msgid "Function" -msgstr "" +msgstr "Função" #: common/serializers.py:414 msgid "Function name" -msgstr "" +msgstr "Nome da função" #: common/serializers.py:416 msgid "Arguments" -msgstr "" +msgstr "Argumentos" #: common/serializers.py:416 msgid "Task arguments" -msgstr "" +msgstr "Argumentos da tarefa" #: common/serializers.py:419 msgid "Keyword Arguments" -msgstr "" +msgstr "Argumentos de Palavra-chave" #: common/serializers.py:419 msgid "Task keyword arguments" -msgstr "" +msgstr "Argumentos Palavra-chave da Tarefa" #: common/serializers.py:529 msgid "Filename" -msgstr "" +msgstr "Nome do arquivo" #: common/serializers.py:536 report/api.py:100 report/serializers.py:53 msgid "Model Type" @@ -3886,19 +3886,19 @@ msgstr "" #: common/validators.py:103 msgid "An empty domain is not allowed." -msgstr "" +msgstr "Um domínio vazio não é permitido." #: common/validators.py:105 #, python-brace-format msgid "Invalid domain name: {domain}" -msgstr "" +msgstr "Nome de domínio inválido: {domain}" #: 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 #: part/templates/part/import_wizard/part_upload.html:58 part/views.py:109 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" -msgstr "" +msgstr "Carregar Arquivo" #: common/views.py:84 order/templates/order/order_wizard/match_fields.html:52 #: order/views.py:119 @@ -3906,19 +3906,19 @@ msgstr "" #: part/templates/part/import_wizard/match_fields.html:52 part/views.py:110 #: templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" -msgstr "" +msgstr "Coincidir campos" #: common/views.py:84 msgid "Match Items" -msgstr "" +msgstr "Coincidir Itens" #: common/views.py:401 msgid "Fields matching failed" -msgstr "" +msgstr "Os campos não correspondem" #: common/views.py:464 msgid "Parts imported" -msgstr "" +msgstr "Peças importadas" #: common/views.py:494 order/templates/order/order_wizard/match_fields.html:27 #: order/templates/order/order_wizard/match_parts.html:19 @@ -3929,7 +3929,7 @@ msgstr "" #: templates/patterns/wizard/match_fields.html:26 #: templates/patterns/wizard/upload.html:35 msgid "Previous Step" -msgstr "" +msgstr "Passo Anterior" #: company/api.py:141 msgid "Part is Active" @@ -3956,42 +3956,42 @@ msgstr "" #: company/templates/company/company_base.html:12 stock/api.py:814 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" -msgstr "" +msgstr "Empresa" #: company/models.py:101 company/views.py:51 #: templates/js/translated/search.js:192 msgid "Companies" -msgstr "" +msgstr "Empresas" #: company/models.py:117 msgid "Company description" -msgstr "" +msgstr "Descrição da empresa" #: company/models.py:118 msgid "Description of the company" -msgstr "" +msgstr "Descrição da empresa" #: company/models.py:123 company/templates/company/company_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:54 #: templates/js/translated/company.js:532 msgid "Website" -msgstr "" +msgstr "Página Web" #: company/models.py:123 msgid "Company website URL" -msgstr "" +msgstr "URL do Site da empresa" #: company/models.py:128 msgid "Phone number" -msgstr "" +msgstr "Número de telefone" #: company/models.py:130 msgid "Contact phone number" -msgstr "" +msgstr "Número de telefone do contato" #: company/models.py:137 msgid "Contact email address" -msgstr "" +msgstr "Endereço de e-mail do contato" #: company/models.py:142 company/models.py:275 #: company/templates/company/company_base.html:145 order/models.py:343 @@ -3999,15 +3999,15 @@ msgstr "" #: order/templates/order/return_order_base.html:174 #: order/templates/order/sales_order_base.html:218 msgid "Contact" -msgstr "" +msgstr "Contato" #: company/models.py:144 msgid "Point of contact" -msgstr "" +msgstr "Ponto de contato" #: company/models.py:150 msgid "Link to external company information" -msgstr "" +msgstr "Link para informações externas da empresa" #: company/models.py:163 msgid "Is this company active?" @@ -4019,7 +4019,7 @@ msgstr "" #: company/models.py:169 msgid "Do you sell items to this company?" -msgstr "" +msgstr "Você vende itens para esta empresa?" #: company/models.py:174 msgid "Is supplier" @@ -4027,7 +4027,7 @@ msgstr "" #: company/models.py:175 msgid "Do you purchase items from this company?" -msgstr "" +msgstr "Você compra itens desta empresa?" #: company/models.py:180 msgid "Is manufacturer" @@ -4035,126 +4035,126 @@ msgstr "" #: company/models.py:181 msgid "Does this company manufacture parts?" -msgstr "" +msgstr "Esta empresa fabrica peças?" #: company/models.py:189 msgid "Default currency used for this company" -msgstr "" +msgstr "Moeda padrão utilizada para esta empresa" #: company/models.py:314 company/templates/company/company_base.html:124 #: order/models.py:353 order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:181 #: order/templates/order/sales_order_base.html:225 msgid "Address" -msgstr "" +msgstr "Endereço" #: company/models.py:315 company/templates/company/sidebar.html:35 msgid "Addresses" -msgstr "" +msgstr "Endereços" #: company/models.py:372 msgid "Select company" -msgstr "" +msgstr "Selecione a Empresa" #: company/models.py:377 msgid "Address title" -msgstr "" +msgstr "Título do endereço" #: company/models.py:378 msgid "Title describing the address entry" -msgstr "" +msgstr "Título descrevendo a entrada de endereço" #: company/models.py:384 msgid "Primary address" -msgstr "" +msgstr "Endereço Principal" #: company/models.py:385 msgid "Set as primary address" -msgstr "" +msgstr "Definir como endereço principal" #: company/models.py:390 templates/js/translated/company.js:914 #: templates/js/translated/company.js:971 msgid "Line 1" -msgstr "" +msgstr "Linha 1" #: company/models.py:391 msgid "Address line 1" -msgstr "" +msgstr "Linha de endereço 1" #: company/models.py:397 templates/js/translated/company.js:915 #: templates/js/translated/company.js:977 msgid "Line 2" -msgstr "" +msgstr "Linha 2" #: company/models.py:398 msgid "Address line 2" -msgstr "" +msgstr "Linha de endereço 2" #: company/models.py:404 company/models.py:405 #: templates/js/translated/company.js:983 msgid "Postal code" -msgstr "" +msgstr "Código Postal" #: company/models.py:411 msgid "City/Region" -msgstr "" +msgstr "Cidade/Região" #: company/models.py:412 msgid "Postal code city/region" -msgstr "" +msgstr "Código Postal Cidade / Região" #: company/models.py:418 msgid "State/Province" -msgstr "" +msgstr "Estado/Provincia" #: company/models.py:419 msgid "State or province" -msgstr "" +msgstr "Estado ou Província" #: company/models.py:425 templates/js/translated/company.js:1001 msgid "Country" -msgstr "" +msgstr "País" #: company/models.py:426 msgid "Address country" -msgstr "" +msgstr "País do endereço" #: company/models.py:432 msgid "Courier shipping notes" -msgstr "" +msgstr "Notas de envio da transportadora" #: company/models.py:433 msgid "Notes for shipping courier" -msgstr "" +msgstr "Notas para o envio da transportadora" #: company/models.py:439 msgid "Internal shipping notes" -msgstr "" +msgstr "Notas de envio interno" #: company/models.py:440 msgid "Shipping notes for internal use" -msgstr "" +msgstr "Notas de envio para uso interno" #: company/models.py:447 msgid "Link to address information (external)" -msgstr "" +msgstr "Link para as informações do endereço (externo)" #: company/models.py:469 company/models.py:581 company/models.py:799 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:217 msgid "Manufacturer Part" -msgstr "" +msgstr "Peça do Fabricante" #: company/models.py:481 company/models.py:767 stock/models.py:767 #: stock/serializers.py:442 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" -msgstr "" +msgstr "Peça base" #: company/models.py:483 company/models.py:769 msgid "Select part" -msgstr "" +msgstr "Selecionar peça" #: company/models.py:492 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 @@ -4166,11 +4166,11 @@ msgstr "" #: templates/js/translated/company.js:1611 #: templates/js/translated/table_filters.js:805 msgid "Manufacturer" -msgstr "" +msgstr "Fabricante" #: company/models.py:493 msgid "Select manufacturer" -msgstr "" +msgstr "Selecionar fabricante" #: company/models.py:499 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:153 order/serializers.py:518 @@ -4181,15 +4181,15 @@ msgstr "" #: templates/js/translated/purchase_order.js:1851 #: templates/js/translated/purchase_order.js:2053 msgid "MPN" -msgstr "" +msgstr "NPF" #: company/models.py:507 msgid "URL for external manufacturer part link" -msgstr "" +msgstr "URL do link externo da peça do fabricante" #: company/models.py:516 msgid "Manufacturer part description" -msgstr "" +msgstr "Descrição da peça do fabricante" #: company/models.py:569 msgid "Manufacturer Part Parameter" @@ -4197,18 +4197,18 @@ msgstr "" #: company/models.py:588 msgid "Parameter name" -msgstr "" +msgstr "Nome do parâmetro" #: company/models.py:594 report/templates/report/inventree_test_report.html:104 #: stock/models.py:2463 templates/js/translated/company.js:1166 #: templates/js/translated/company.js:1419 templates/js/translated/part.js:1496 #: templates/js/translated/stock.js:1522 msgid "Value" -msgstr "" +msgstr "Valor" #: company/models.py:595 msgid "Parameter value" -msgstr "" +msgstr "Valor do Parâmetro" #: company/models.py:602 company/templates/company/supplier_part.html:168 #: part/admin.py:57 part/models.py:1049 part/models.py:3667 @@ -4216,11 +4216,11 @@ msgstr "" #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1515 #: templates/js/translated/part.js:1619 templates/js/translated/part.js:2373 msgid "Units" -msgstr "" +msgstr "Unidades" #: company/models.py:603 msgid "Parameter units" -msgstr "" +msgstr "Unidades do parâmetro" #: company/models.py:655 company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 order/api.py:434 @@ -4229,19 +4229,19 @@ msgstr "" #: templates/js/translated/purchase_order.js:752 #: templates/js/translated/stock.js:2280 msgid "Supplier Part" -msgstr "" +msgstr "Fornecedor da Peça" #: company/models.py:707 msgid "Pack units must be compatible with the base part units" -msgstr "" +msgstr "Unidades de pacote devem ser compatíveis com as unidades de peça base" #: company/models.py:714 msgid "Pack units must be greater than zero" -msgstr "" +msgstr "Unidades de pacote deve ser maior do que zero" #: company/models.py:728 msgid "Linked manufacturer part must reference the same base part" -msgstr "" +msgstr "Parte do fabricante vinculado deve fazer referência à mesma peça base" #: company/models.py:777 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 @@ -4257,15 +4257,15 @@ msgstr "" #: templates/js/translated/purchase_order.js:1689 #: templates/js/translated/table_filters.js:809 msgid "Supplier" -msgstr "" +msgstr "Fornecedor" #: company/models.py:778 msgid "Select supplier" -msgstr "" +msgstr "Selecione o fornecedor" #: company/models.py:784 part/serializers.py:538 msgid "Supplier stock keeping unit" -msgstr "" +msgstr "Unidade de reserva de estoque fornecedor" #: company/models.py:790 msgid "Is this supplier part active?" @@ -4273,15 +4273,15 @@ msgstr "" #: company/models.py:800 msgid "Select manufacturer part" -msgstr "" +msgstr "Selecionar peça do fabricante" #: company/models.py:807 msgid "URL for external supplier part link" -msgstr "" +msgstr "URL do link externo da peça do fabricante" #: company/models.py:816 msgid "Supplier part description" -msgstr "" +msgstr "Descrição da peça fornecedor" #: company/models.py:823 company/templates/company/supplier_part.html:187 #: part/admin.py:412 part/models.py:4178 part/templates/part/upload_bom.html:59 @@ -4292,15 +4292,15 @@ msgstr "" #: report/templates/report/inventree_stock_location_report.html:105 #: stock/serializers.py:768 msgid "Note" -msgstr "" +msgstr "Anotação" #: company/models.py:832 part/models.py:2013 msgid "base cost" -msgstr "" +msgstr "preço base" #: company/models.py:833 part/models.py:2014 msgid "Minimum charge (e.g. stocking fee)" -msgstr "" +msgstr "Taxa mínima (ex.: taxa de estoque)" #: company/models.py:840 company/templates/company/supplier_part.html:160 #: stock/admin.py:228 stock/models.py:798 stock/serializers.py:1541 @@ -4308,11 +4308,11 @@ msgstr "" #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 msgid "Packaging" -msgstr "" +msgstr "Embalagem" #: company/models.py:841 msgid "Part packaging" -msgstr "" +msgstr "Embalagem de peças" #: company/models.py:846 templates/js/translated/company.js:1651 #: templates/js/translated/part.js:1825 templates/js/translated/part.js:1881 @@ -4322,31 +4322,31 @@ msgstr "" #: templates/js/translated/purchase_order.js:2084 #: templates/js/translated/purchase_order.js:2101 msgid "Pack Quantity" -msgstr "" +msgstr "Quantidade de embalagens" #: company/models.py:848 msgid "Total quantity supplied in a single pack. Leave empty for single items." -msgstr "" +msgstr "Quantidade total fornecida em um único pacote. Deixe em branco para itens únicos." #: company/models.py:867 part/models.py:2020 msgid "multiple" -msgstr "" +msgstr "múltiplo" #: company/models.py:868 msgid "Order multiple" -msgstr "" +msgstr "Pedir múltiplos" #: company/models.py:880 msgid "Quantity available from supplier" -msgstr "" +msgstr "Quantidade disponível do fornecedor" #: company/models.py:886 msgid "Availability Updated" -msgstr "" +msgstr "Disponibilidade Atualizada" #: company/models.py:887 msgid "Date of last update of availability data" -msgstr "" +msgstr "Data da última atualização da disponibilidade dos dados" #: company/models.py:1015 msgid "Supplier Price Break" @@ -4354,7 +4354,7 @@ msgstr "" #: company/serializers.py:174 msgid "Default currency used for this supplier" -msgstr "" +msgstr "Moeda padrão utilizada para este fornecedor" #: company/serializers.py:210 msgid "Company Name" @@ -4365,7 +4365,7 @@ msgstr "" #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:355 msgid "In Stock" -msgstr "" +msgstr "Em Estoque" #: company/templates/company/company_base.html:16 #: part/templates/part/part_base.html:146 @@ -4374,34 +4374,34 @@ msgstr "" #: templates/js/translated/model_renderers.js:312 #: templates/js/translated/part.js:814 templates/js/translated/part.js:1222 msgid "Inactive" -msgstr "" +msgstr "Inativo" #: company/templates/company/company_base.html:27 #: templates/js/translated/purchase_order.js:242 msgid "Create Purchase Order" -msgstr "" +msgstr "Criar Pedido de compra" #: company/templates/company/company_base.html:33 msgid "Company actions" -msgstr "" +msgstr "Ações da empresa" #: company/templates/company/company_base.html:38 msgid "Edit company information" -msgstr "" +msgstr "Editar Informações da Empresa" #: company/templates/company/company_base.html:39 #: templates/js/translated/company.js:445 msgid "Edit Company" -msgstr "" +msgstr "Editar Empresa" #: company/templates/company/company_base.html:43 msgid "Delete company" -msgstr "" +msgstr "Excluir a empresa" #: company/templates/company/company_base.html:44 #: company/templates/company/company_base.html:168 msgid "Delete Company" -msgstr "" +msgstr "Excluir Empresa" #: company/templates/company/company_base.html:53 #: company/templates/company/manufacturer_part.html:51 @@ -4413,22 +4413,22 @@ msgstr "" #: report/templates/report/inventree_test_report.html:84 #: report/templates/report/inventree_test_report.html:162 msgid "Part image" -msgstr "" +msgstr "Imagem da peça" #: company/templates/company/company_base.html:61 #: part/templates/part/part_thumb.html:12 msgid "Upload new image" -msgstr "" +msgstr "Carregar nova imagem" #: company/templates/company/company_base.html:64 #: part/templates/part/part_thumb.html:14 msgid "Download image from URL" -msgstr "" +msgstr "Baixar imagem do URL" #: company/templates/company/company_base.html:66 #: part/templates/part/part_thumb.html:16 msgid "Delete image" -msgstr "" +msgstr "Excluir imagem" #: company/templates/company/company_base.html:92 order/models.py:938 #: order/models.py:2058 order/templates/order/return_order_base.html:131 @@ -4442,74 +4442,74 @@ msgstr "" #: templates/js/translated/stock.js:2959 #: templates/js/translated/table_filters.js:813 msgid "Customer" -msgstr "" +msgstr "Cliente" #: company/templates/company/company_base.html:117 msgid "Uses default currency" -msgstr "" +msgstr "Usar moeda padrão" #: company/templates/company/company_base.html:131 msgid "Phone" -msgstr "" +msgstr "Telefone" #: company/templates/company/company_base.html:211 #: part/templates/part/part_base.html:527 msgid "Remove Image" -msgstr "" +msgstr "Remover imagem" #: company/templates/company/company_base.html:212 msgid "Remove associated image from this company" -msgstr "" +msgstr "Remover imagem associada desta empresa" #: company/templates/company/company_base.html:214 #: part/templates/part/part_base.html:530 #: templates/InvenTree/settings/user.html:88 #: templates/InvenTree/settings/user_sso.html:43 msgid "Remove" -msgstr "" +msgstr "Remover" #: company/templates/company/company_base.html:243 #: part/templates/part/part_base.html:559 msgid "Upload Image" -msgstr "" +msgstr "Enviar Imagem" #: company/templates/company/company_base.html:258 #: part/templates/part/part_base.html:613 msgid "Download Image" -msgstr "" +msgstr "Baixar Imagem" #: company/templates/company/detail.html:15 #: company/templates/company/manufacturer_part_sidebar.html:7 #: templates/InvenTree/search.html:120 templates/js/translated/search.js:147 msgid "Supplier Parts" -msgstr "" +msgstr "Peças do Fornecedor" #: company/templates/company/detail.html:19 msgid "Create new supplier part" -msgstr "" +msgstr "Criar nova peça do fornecedor" #: company/templates/company/detail.html:20 #: company/templates/company/manufacturer_part.html:123 #: part/templates/part/detail.html:356 msgid "New Supplier Part" -msgstr "" +msgstr "Nova peça do fornecedor" #: company/templates/company/detail.html:41 templates/InvenTree/search.html:105 #: templates/js/translated/search.js:151 msgid "Manufacturer Parts" -msgstr "" +msgstr "Fabricantes de peças" #: company/templates/company/detail.html:45 msgid "Create new manufacturer part" -msgstr "" +msgstr "Criar novo fabricante de peça" #: company/templates/company/detail.html:46 part/templates/part/detail.html:376 msgid "New Manufacturer Part" -msgstr "" +msgstr "Nova peça do fabricante" #: company/templates/company/detail.html:65 msgid "Supplier Stock" -msgstr "" +msgstr "Estoque do Fornecedor" #: company/templates/company/detail.html:75 #: company/templates/company/sidebar.html:12 @@ -4523,17 +4523,17 @@ msgstr "" #: templates/js/translated/search.js:205 templates/navbar.html:50 #: users/models.py:208 msgid "Purchase Orders" -msgstr "" +msgstr "Pedidos de compra" #: company/templates/company/detail.html:79 #: order/templates/order/purchase_orders.html:17 msgid "Create new purchase order" -msgstr "" +msgstr "Criar novo pedido de compra" #: company/templates/company/detail.html:80 #: order/templates/order/purchase_orders.html:18 msgid "New Purchase Order" -msgstr "" +msgstr "Novo Pedido de Compra" #: company/templates/company/detail.html:101 #: company/templates/company/sidebar.html:21 @@ -4546,21 +4546,21 @@ msgstr "" #: templates/js/translated/search.js:219 templates/navbar.html:62 #: users/models.py:209 msgid "Sales Orders" -msgstr "" +msgstr "Pedidos de vendas" #: company/templates/company/detail.html:105 #: order/templates/order/sales_orders.html:20 msgid "Create new sales order" -msgstr "" +msgstr "Criar novo pedido de venda" #: company/templates/company/detail.html:106 #: order/templates/order/sales_orders.html:21 msgid "New Sales Order" -msgstr "" +msgstr "Novo Pedido de Venda" #: company/templates/company/detail.html:126 msgid "Assigned Stock" -msgstr "" +msgstr "Estoque Atribuído" #: company/templates/company/detail.html:142 #: company/templates/company/sidebar.html:29 @@ -4571,70 +4571,70 @@ msgstr "" #: templates/js/translated/search.js:232 templates/navbar.html:65 #: users/models.py:210 msgid "Return Orders" -msgstr "" +msgstr "Pedidos de Devolução" #: company/templates/company/detail.html:146 #: order/templates/order/return_orders.html:20 msgid "Create new return order" -msgstr "" +msgstr "Criar novo pedido de devolução" #: company/templates/company/detail.html:147 #: order/templates/order/return_orders.html:21 msgid "New Return Order" -msgstr "" +msgstr "Novo Pedido de Devolução" #: company/templates/company/detail.html:168 msgid "Company Notes" -msgstr "" +msgstr "Notas da Empresa" #: company/templates/company/detail.html:183 msgid "Company Contacts" -msgstr "" +msgstr "Contato da Empresa" #: company/templates/company/detail.html:187 #: company/templates/company/detail.html:188 msgid "Add Contact" -msgstr "" +msgstr "Adicionar Contato" #: company/templates/company/detail.html:206 msgid "Company addresses" -msgstr "" +msgstr "Endereços da empresa" #: company/templates/company/detail.html:210 #: company/templates/company/detail.html:211 msgid "Add Address" -msgstr "" +msgstr "Adicionar endereço" #: company/templates/company/manufacturer_part.html:15 company/views.py:37 #: templates/InvenTree/search.html:180 templates/navbar.html:49 msgid "Manufacturers" -msgstr "" +msgstr "Fabricantes" #: company/templates/company/manufacturer_part.html:35 #: company/templates/company/supplier_part.html:227 #: part/templates/part/detail.html:109 part/templates/part/part_base.html:83 msgid "Order part" -msgstr "" +msgstr "Pedir peça" #: company/templates/company/manufacturer_part.html:39 #: templates/js/translated/company.js:1343 msgid "Edit manufacturer part" -msgstr "" +msgstr "Editar peça do fabricante" #: company/templates/company/manufacturer_part.html:43 #: templates/js/translated/company.js:1344 msgid "Delete manufacturer part" -msgstr "" +msgstr "Excluir peça do fabricante" #: company/templates/company/manufacturer_part.html:65 #: company/templates/company/supplier_part.html:97 order/api.py:440 #: order/serializers.py:526 msgid "Internal Part" -msgstr "" +msgstr "Peça Interna" #: company/templates/company/manufacturer_part.html:95 msgid "No manufacturer information available" -msgstr "" +msgstr "Nenhuma informação do fabricante disponível" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 @@ -4642,87 +4642,87 @@ msgstr "" #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" -msgstr "" +msgstr "Fornecedores" #: company/templates/company/manufacturer_part.html:156 #: company/templates/company/manufacturer_part_sidebar.html:5 #: part/templates/part/category_sidebar.html:20 #: part/templates/part/detail.html:195 part/templates/part/part_sidebar.html:8 msgid "Parameters" -msgstr "" +msgstr "Parâmetros" #: company/templates/company/manufacturer_part.html:160 #: part/templates/part/detail.html:200 #: templates/InvenTree/settings/category.html:12 #: templates/InvenTree/settings/part_parameters.html:24 msgid "New Parameter" -msgstr "" +msgstr "Novo parâmetro" #: company/templates/company/manufacturer_part.html:196 #: templates/js/translated/part.js:1426 msgid "Add Parameter" -msgstr "" +msgstr "Adicionar Parâmetro" #: company/templates/company/sidebar.html:6 msgid "Manufactured Parts" -msgstr "" +msgstr "Peças Fabricadas" #: company/templates/company/sidebar.html:10 msgid "Supplied Parts" -msgstr "" +msgstr "Peças fornecidas" #: company/templates/company/sidebar.html:16 msgid "Supplied Stock Items" -msgstr "" +msgstr "Itens fornecidos em estoque" #: company/templates/company/sidebar.html:25 msgid "Assigned Stock Items" -msgstr "" +msgstr "Itens de Estoque atribuídos" #: company/templates/company/sidebar.html:33 msgid "Contacts" -msgstr "" +msgstr "Contatos" #: company/templates/company/supplier_part.html:50 #: templates/js/translated/company.js:1526 msgid "Supplier part actions" -msgstr "" +msgstr "Ações de peças do fornecedor" #: company/templates/company/supplier_part.html:55 #: company/templates/company/supplier_part.html:56 #: company/templates/company/supplier_part.html:228 #: part/templates/part/detail.html:110 msgid "Order Part" -msgstr "" +msgstr "Pedir Peça" #: company/templates/company/supplier_part.html:60 #: company/templates/company/supplier_part.html:61 msgid "Update Availability" -msgstr "" +msgstr "Atualizar disponibilidade" #: company/templates/company/supplier_part.html:63 #: company/templates/company/supplier_part.html:64 #: templates/js/translated/company.js:294 msgid "Edit Supplier Part" -msgstr "" +msgstr "Editar Fornecedor da Peça" #: company/templates/company/supplier_part.html:68 #: company/templates/company/supplier_part.html:69 #: templates/js/translated/company.js:269 msgid "Duplicate Supplier Part" -msgstr "" +msgstr "Duplicar Peça do Fornecedor" #: company/templates/company/supplier_part.html:73 msgid "Delete Supplier Part" -msgstr "" +msgstr "Excluir Fornecedor da Peça" #: company/templates/company/supplier_part.html:74 msgid "Delete Supplier Part" -msgstr "" +msgstr "Excluir Fornecedor da Peça" #: company/templates/company/supplier_part.html:133 msgid "No supplier information available" -msgstr "" +msgstr "Nenhuma informação do fornecedor está disponível" #: company/templates/company/supplier_part.html:139 order/serializers.py:515 #: part/bom.py:279 part/bom.py:311 part/serializers.py:537 @@ -4731,48 +4731,48 @@ msgstr "" #: templates/js/translated/purchase_order.js:1850 #: templates/js/translated/purchase_order.js:2028 msgid "SKU" -msgstr "" +msgstr "Código (SKU)" #: company/templates/company/supplier_part.html:206 msgid "Supplier Part Stock" -msgstr "" +msgstr "Estoque de Peça do Fornecedor" #: company/templates/company/supplier_part.html:209 #: part/templates/part/detail.html:24 stock/templates/stock/location.html:207 msgid "Create new stock item" -msgstr "" +msgstr "Criar novo item de estoque" #: company/templates/company/supplier_part.html:210 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:208 #: templates/js/translated/stock.js:537 msgid "New Stock Item" -msgstr "" +msgstr "Novo item de estoque" #: company/templates/company/supplier_part.html:223 msgid "Supplier Part Orders" -msgstr "" +msgstr "Pedidos de peças do fornecedor" #: company/templates/company/supplier_part.html:246 msgid "Pricing Information" -msgstr "" +msgstr "Informações de Preço" #: company/templates/company/supplier_part.html:251 #: templates/js/translated/company.js:398 #: templates/js/translated/pricing.js:684 msgid "Add Price Break" -msgstr "" +msgstr "Adicionar parcela de preço" #: company/templates/company/supplier_part.html:276 msgid "Supplier Part QR Code" -msgstr "" +msgstr "QR Code da Peça do Fornecedor" #: company/templates/company/supplier_part.html:287 msgid "Link Barcode to Supplier Part" -msgstr "" +msgstr "Vincular Código de Barras à Peça do Fornecedor" #: company/templates/company/supplier_part.html:359 msgid "Update Part Availability" -msgstr "" +msgstr "Atualizar Disponibilidade de Peças" #: company/templates/company/supplier_part_sidebar.html:5 #: part/serializers.py:859 part/stocktake.py:224 @@ -4787,36 +4787,36 @@ msgstr "" #: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 #: users/models.py:206 msgid "Stock Items" -msgstr "" +msgstr "Itens de Estoque" #: company/templates/company/supplier_part_sidebar.html:9 msgid "Supplier Part Pricing" -msgstr "" +msgstr "Preço do Fornecedor Peça" #: company/views.py:32 msgid "New Supplier" -msgstr "" +msgstr "Novo Fornecedor" #: company/views.py:38 msgid "New Manufacturer" -msgstr "" +msgstr "Novo Fabricante" #: company/views.py:43 templates/InvenTree/search.html:210 #: templates/navbar.html:60 msgid "Customers" -msgstr "" +msgstr "Clientes" #: company/views.py:44 msgid "New Customer" -msgstr "" +msgstr "Novo Cliente" #: company/views.py:52 msgid "New Company" -msgstr "" +msgstr "Nova Empresa" #: generic/states/tests.py:18 order/status_codes.py:13 msgid "Placed" -msgstr "" +msgstr "Colocado" #: importer/mixins.py:263 msgid "Invalid export format" @@ -4832,7 +4832,7 @@ msgstr "" #: importer/models.py:70 templates/js/translated/tables.js:558 msgid "Columns" -msgstr "" +msgstr "Colunas" #: importer/models.py:81 msgid "Import status" @@ -4892,7 +4892,7 @@ msgstr "" #: importer/models.py:462 part/models.py:3841 msgid "Data" -msgstr "" +msgstr "Dados" #: importer/models.py:464 machine/models.py:110 msgid "Errors" @@ -4900,7 +4900,7 @@ msgstr "" #: importer/models.py:466 part/api.py:874 msgid "Valid" -msgstr "" +msgstr "Válido" #: importer/operations.py:28 importer/operations.py:49 msgid "Unsupported data file format" @@ -4989,7 +4989,7 @@ msgstr "" #: machine/machine_types/label_printer.py:229 order/api.py:1388 #: templates/js/translated/sales_order.js:1078 msgid "Unknown" -msgstr "" +msgstr "Desconhecido" #: machine/machine_types/label_printer.py:230 msgid "Printing" @@ -5078,14 +5078,14 @@ msgstr "" #: templates/js/translated/purchase_order.js:2125 #: templates/js/translated/sales_order.js:1883 msgid "Total Price" -msgstr "" +msgstr "Preço Total" #: order/api.py:149 order/serializers.py:94 #: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:113 #: order/templates/order/sales_order_base.html:122 msgid "Order Status" -msgstr "" +msgstr "Situação do pedido" #: order/api.py:153 templates/js/translated/table_filters.js:194 #: templates/js/translated/table_filters.js:784 @@ -5094,14 +5094,14 @@ msgstr "" #: order/api.py:228 msgid "No matching purchase order found" -msgstr "" +msgstr "Nenhum pedido de compra correspondente encontrado" #: order/api.py:417 order/api.py:755 order/models.py:1400 order/models.py:1514 #: order/models.py:1565 order/models.py:1680 order/models.py:1839 #: order/models.py:2258 order/models.py:2314 #: templates/js/translated/sales_order.js:1524 msgid "Order" -msgstr "" +msgstr "Pedido" #: order/api.py:421 order/api.py:776 msgid "Order Complete" @@ -5123,7 +5123,7 @@ msgstr "" #: templates/js/translated/purchase_order.js:1673 #: templates/js/translated/stock.js:2260 templates/js/translated/stock.js:2907 msgid "Purchase Order" -msgstr "" +msgstr "Pedido de Compra" #: order/api.py:1386 order/models.py:2007 order/models.py:2259 #: order/models.py:2315 order/templates/order/return_order_base.html:9 @@ -5132,122 +5132,122 @@ msgstr "" #: templates/js/translated/return_order.js:280 #: templates/js/translated/stock.js:2941 msgid "Return Order" -msgstr "" +msgstr "Devolver pedido" #: order/models.py:91 msgid "Total price for this order" -msgstr "" +msgstr "Preço total deste pedido" #: order/models.py:96 order/serializers.py:72 msgid "Order Currency" -msgstr "" +msgstr "Moeda do pedido" #: order/models.py:99 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" -msgstr "" +msgstr "Moeda para este pedido (deixe em branco para usar o padrão da empresa)" #: order/models.py:247 msgid "Contact does not match selected company" -msgstr "" +msgstr "O contato não corresponde à empresa selecionada" #: order/models.py:290 msgid "Order description (optional)" -msgstr "" +msgstr "Descrição do pedido (opcional)" #: order/models.py:299 msgid "Select project code for this order" -msgstr "" +msgstr "Selecione o código do projeto para este pedido" #: order/models.py:303 order/models.py:1301 order/models.py:1733 msgid "Link to external page" -msgstr "" +msgstr "Link para página externa" #: order/models.py:311 msgid "Expected date for order delivery. Order will be overdue after this date." -msgstr "" +msgstr "Data esperada para entrega do pedido. O Pedido estará atrasado após esta data." #: order/models.py:325 msgid "Created By" -msgstr "" +msgstr "Criado por" #: order/models.py:333 msgid "User or group responsible for this order" -msgstr "" +msgstr "Usuário ou grupo responsável para este pedido" #: order/models.py:344 msgid "Point of contact for this order" -msgstr "" +msgstr "Ponto de contato para este pedido" #: order/models.py:354 msgid "Company address for this order" -msgstr "" +msgstr "Endereço da empresa para este pedido" #: order/models.py:464 order/models.py:927 msgid "Order reference" -msgstr "" +msgstr "Referência do pedido" #: order/models.py:472 order/models.py:951 msgid "Purchase order status" -msgstr "" +msgstr "Situação do pedido de compra" #: order/models.py:487 msgid "Company from which the items are being ordered" -msgstr "" +msgstr "Empresa da qual os itens estão sendo encomendados" #: order/models.py:498 order/templates/order/order_base.html:148 #: templates/js/translated/purchase_order.js:1702 msgid "Supplier Reference" -msgstr "" +msgstr "Referencia do fornecedor" #: order/models.py:499 msgid "Supplier order reference code" -msgstr "" +msgstr "Código de referência do pedido fornecedor" #: order/models.py:508 msgid "received by" -msgstr "" +msgstr "recebido por" #: order/models.py:514 order/models.py:2084 msgid "Issue Date" -msgstr "" +msgstr "Data de emissão" #: order/models.py:515 order/models.py:2085 msgid "Date order was issued" -msgstr "" +msgstr "Dia que o pedido foi feito" #: order/models.py:522 order/models.py:2092 msgid "Date order was completed" -msgstr "" +msgstr "Dia que o pedido foi concluído" #: order/models.py:566 msgid "Part supplier must match PO supplier" -msgstr "" +msgstr "Fornecedor de peça deve corresponder a fornecedor da OC" #: order/models.py:760 msgid "Quantity must be a positive number" -msgstr "" +msgstr "Quantidade deve ser um número positivo" #: order/models.py:939 msgid "Company to which the items are being sold" -msgstr "" +msgstr "Empresa para qual os itens foi vendidos" #: order/models.py:962 order/models.py:2077 msgid "Customer Reference " -msgstr "" +msgstr "Referência do Cliente " #: order/models.py:963 order/models.py:2078 msgid "Customer order reference code" -msgstr "" +msgstr "Código de Referência do pedido do cliente" #: order/models.py:967 order/models.py:1687 #: templates/js/translated/sales_order.js:879 #: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" -msgstr "" +msgstr "Data de Envio" #: order/models.py:976 msgid "shipped by" -msgstr "" +msgstr "enviado por" #: order/models.py:1025 msgid "Order is already complete" @@ -5259,47 +5259,47 @@ msgstr "" #: order/models.py:1032 msgid "Only an open order can be marked as complete" -msgstr "" +msgstr "Apenas um pedido aberto pode ser marcado como completo" #: order/models.py:1036 msgid "Order cannot be completed as there are incomplete shipments" -msgstr "" +msgstr "Pedido não pode ser concluído, pois, há envios incompletos" #: order/models.py:1041 msgid "Order cannot be completed as there are incomplete line items" -msgstr "" +msgstr "Pedido não pode ser concluído, pois, há itens na linha incompletos" #: order/models.py:1273 msgid "Item quantity" -msgstr "" +msgstr "Quantidade do item" #: order/models.py:1290 msgid "Line item reference" -msgstr "" +msgstr "Referência do Item em Linha" #: order/models.py:1297 msgid "Line item notes" -msgstr "" +msgstr "Observações do Item de Linha" #: order/models.py:1309 msgid "Target date for this line item (leave blank to use the target date from the order)" -msgstr "" +msgstr "Data alvo para este item de linha (deixe em branco para usar a data alvo do pedido)" #: order/models.py:1330 msgid "Line item description (optional)" -msgstr "" +msgstr "Descrição item de linha (opcional)" #: order/models.py:1336 msgid "Context" -msgstr "" +msgstr "Contexto" #: order/models.py:1337 msgid "Additional context for this line" -msgstr "" +msgstr "Contexto adicional para esta linha" #: order/models.py:1347 msgid "Unit price" -msgstr "" +msgstr "Preço Unitário" #: order/models.py:1361 msgid "Purchase Order Line Item" @@ -5307,15 +5307,15 @@ msgstr "" #: order/models.py:1385 msgid "Supplier part must match supplier" -msgstr "" +msgstr "A peça do fornecedor deve corresponder ao fornecedor" #: order/models.py:1392 msgid "deleted" -msgstr "" +msgstr "excluído" #: order/models.py:1420 msgid "Supplier part" -msgstr "" +msgstr "Fornecedor da Peça" #: order/models.py:1427 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1873 templates/js/translated/part.js:1905 @@ -5325,25 +5325,25 @@ msgstr "" #: templates/js/translated/table_filters.js:120 #: templates/js/translated/table_filters.js:602 msgid "Received" -msgstr "" +msgstr "Recebido" #: order/models.py:1428 msgid "Number of items received" -msgstr "" +msgstr "Número de itens recebidos" #: order/models.py:1436 stock/models.py:939 stock/serializers.py:602 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2311 msgid "Purchase Price" -msgstr "" +msgstr "Preço de Compra" #: order/models.py:1437 msgid "Unit purchase price" -msgstr "" +msgstr "Preço unitário de compra" #: order/models.py:1452 msgid "Where does the Purchaser want this item to be stored?" -msgstr "" +msgstr "Onde o Comprador quer que este item seja armazenado?" #: order/models.py:1503 msgid "Purchase Order Extra Line" @@ -5355,31 +5355,31 @@ msgstr "" #: order/models.py:1553 msgid "Virtual part cannot be assigned to a sales order" -msgstr "" +msgstr "Peça virtual não pode ser atribuída a um pedido de venda" #: order/models.py:1558 msgid "Only salable parts can be assigned to a sales order" -msgstr "" +msgstr "Apenas peças vendáveis podem ser atribuídas a um pedido de venda" #: order/models.py:1584 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" -msgstr "" +msgstr "Preço de Venda" #: order/models.py:1585 msgid "Unit sale price" -msgstr "" +msgstr "Preço de venda unitário" #: order/models.py:1594 order/status_codes.py:43 #: templates/js/translated/sales_order.js:1559 #: templates/js/translated/sales_order.js:1680 #: templates/js/translated/sales_order.js:1993 msgid "Shipped" -msgstr "" +msgstr "Enviado" #: order/models.py:1595 msgid "Shipped quantity" -msgstr "" +msgstr "Quantidade enviada" #: order/models.py:1667 msgid "Sales Order Shipment" @@ -5387,56 +5387,56 @@ msgstr "" #: order/models.py:1688 msgid "Date of shipment" -msgstr "" +msgstr "Data do envio" #: order/models.py:1694 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" -msgstr "" +msgstr "Data de Entrega" #: order/models.py:1695 msgid "Date of delivery of shipment" -msgstr "" +msgstr "Data da entrega do envio" #: order/models.py:1703 msgid "Checked By" -msgstr "" +msgstr "Verificado por" #: order/models.py:1704 msgid "User who checked this shipment" -msgstr "" +msgstr "Usuário que verificou esta remessa" #: order/models.py:1711 order/models.py:1934 order/serializers.py:1398 #: order/serializers.py:1508 templates/js/translated/model_renderers.js:454 msgid "Shipment" -msgstr "" +msgstr "Remessa" #: order/models.py:1712 msgid "Shipment number" -msgstr "" +msgstr "Número do Envio" #: order/models.py:1720 msgid "Tracking Number" -msgstr "" +msgstr "Número de Rastreamento" #: order/models.py:1721 msgid "Shipment tracking information" -msgstr "" +msgstr "Informação de rastreamento da remessa" #: order/models.py:1728 msgid "Invoice Number" -msgstr "" +msgstr "Número da Fatura" #: order/models.py:1729 msgid "Reference number for associated invoice" -msgstr "" +msgstr "Número de referência para fatura associada" #: order/models.py:1749 msgid "Shipment has already been sent" -msgstr "" +msgstr "O pedido já foi enviado" #: order/models.py:1752 msgid "Shipment has no allocated stock items" -msgstr "" +msgstr "Remessa não foi alocada nos itens de estoque" #: order/models.py:1828 msgid "Sales Order Extra Line" @@ -5448,39 +5448,39 @@ msgstr "" #: order/models.py:1880 order/models.py:1882 msgid "Stock item has not been assigned" -msgstr "" +msgstr "O item do estoque não foi atribuído" #: order/models.py:1889 msgid "Cannot allocate stock item to a line with a different part" -msgstr "" +msgstr "Não é possível alocar o item de estoque para uma linha de uma peça diferente" #: order/models.py:1892 msgid "Cannot allocate stock to a line without a part" -msgstr "" +msgstr "Não é possível alocar uma linha sem uma peça" #: order/models.py:1895 msgid "Allocation quantity cannot exceed stock quantity" -msgstr "" +msgstr "A quantidade de alocação não pode exceder a quantidade em estoque" #: order/models.py:1914 order/serializers.py:1275 msgid "Quantity must be 1 for serialized stock item" -msgstr "" +msgstr "Quantidade deve ser 1 para item de estoque serializado" #: order/models.py:1917 msgid "Sales order does not match shipment" -msgstr "" +msgstr "Pedidos de venda não coincidem com a remessa" #: order/models.py:1918 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" -msgstr "" +msgstr "Remessa não coincide com pedido de venda" #: order/models.py:1926 msgid "Line" -msgstr "" +msgstr "Linha" #: order/models.py:1935 msgid "Sales order shipment reference" -msgstr "" +msgstr "Referência de remessa do pedido de venda" #: order/models.py:1948 order/models.py:2266 #: templates/js/translated/return_order.js:721 @@ -5489,23 +5489,23 @@ msgstr "" #: order/models.py:1949 msgid "Select stock item to allocate" -msgstr "" +msgstr "Selecione o item de estoque para alocar" #: order/models.py:1958 msgid "Enter stock allocation quantity" -msgstr "" +msgstr "Insira a quantidade de atribuição de estoque" #: order/models.py:2047 msgid "Return Order reference" -msgstr "" +msgstr "Referência de Pedidos de Devolução" #: order/models.py:2059 msgid "Company from which items are being returned" -msgstr "" +msgstr "Empresa da qual os itens estão sendo retornados" #: order/models.py:2071 msgid "Return order status" -msgstr "" +msgstr "Estado do pedido de retorno" #: order/models.py:2237 msgid "Return Order Line Item" @@ -5513,32 +5513,32 @@ msgstr "" #: order/models.py:2251 msgid "Only serialized items can be assigned to a Return Order" -msgstr "" +msgstr "Somente itens da série podem ser devolvidos" #: order/models.py:2267 msgid "Select item to return from customer" -msgstr "" +msgstr "Selecione o item a ser devolvido pelo cliente" #: order/models.py:2273 msgid "Received Date" -msgstr "" +msgstr "Data de Recebimento" #: order/models.py:2274 msgid "The date this this return item was received" -msgstr "" +msgstr "Data que o pedido a ser devolvido foi recebido" #: order/models.py:2285 templates/js/translated/return_order.js:732 #: templates/js/translated/table_filters.js:123 msgid "Outcome" -msgstr "" +msgstr "Despesa/gastos" #: order/models.py:2286 msgid "Outcome for this line item" -msgstr "" +msgstr "Gastos com esta linha de itens" #: order/models.py:2293 msgid "Cost associated with return or repair for this line item" -msgstr "" +msgstr "Gastos para reparar e/ou devolver esta linha de itens" #: order/models.py:2303 msgid "Return Order Extra Line" @@ -5551,7 +5551,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report.html:19 #: report/templates/report/inventree_sales_order_report.html:22 msgid "Line Items" -msgstr "" +msgstr "Itens de linha" #: order/serializers.py:87 msgid "Completed Lines" @@ -5559,19 +5559,19 @@ msgstr "" #: order/serializers.py:305 msgid "Order cannot be cancelled" -msgstr "" +msgstr "Pedido não pode ser cancelado" #: order/serializers.py:320 order/serializers.py:1291 msgid "Allow order to be closed with incomplete line items" -msgstr "" +msgstr "Permitir que o pedido seja fechado com itens de linha incompletos" #: order/serializers.py:330 order/serializers.py:1301 msgid "Order has incomplete line items" -msgstr "" +msgstr "O pedido tem itens da linha incompletos" #: order/serializers.py:468 msgid "Order is not open" -msgstr "" +msgstr "O pedido não está aberto" #: order/serializers.py:489 msgid "Auto Pricing" @@ -5583,7 +5583,7 @@ msgstr "" #: order/serializers.py:501 msgid "Purchase price currency" -msgstr "" +msgstr "Moeda de preço de compra" #: order/serializers.py:507 msgid "Merge Items" @@ -5595,7 +5595,7 @@ msgstr "" #: order/serializers.py:522 part/models.py:945 msgid "Internal Part Number" -msgstr "" +msgstr "Numero interno do produto" #: order/serializers.py:530 msgid "Internal Part Name" @@ -5603,205 +5603,205 @@ msgstr "" #: order/serializers.py:546 msgid "Supplier part must be specified" -msgstr "" +msgstr "A peça do fornecedor deve ser especificada" #: order/serializers.py:549 msgid "Purchase order must be specified" -msgstr "" +msgstr "O pedido de compra deve ser especificado" #: order/serializers.py:557 msgid "Supplier must match purchase order" -msgstr "" +msgstr "O fornecedor deve corresponder o pedido de compra" #: order/serializers.py:558 msgid "Purchase order must match supplier" -msgstr "" +msgstr "Pedido de compra deve corresponder ao fornecedor" #: order/serializers.py:598 order/serializers.py:1369 msgid "Line Item" -msgstr "" +msgstr "Itens de linha" #: order/serializers.py:604 msgid "Line item does not match purchase order" -msgstr "" +msgstr "O item de linha não corresponde ao pedido de compra" #: order/serializers.py:614 order/serializers.py:722 order/serializers.py:1715 msgid "Select destination location for received items" -msgstr "" +msgstr "Selecione o local de destino para os itens recebidos" #: order/serializers.py:630 templates/js/translated/purchase_order.js:1130 msgid "Enter batch code for incoming stock items" -msgstr "" +msgstr "Digite o código do lote para itens de estoque recebidos" #: order/serializers.py:638 templates/js/translated/purchase_order.js:1154 msgid "Enter serial numbers for incoming stock items" -msgstr "" +msgstr "Digite o número de série para itens de estoque recebidos" #: order/serializers.py:649 templates/js/translated/barcode.js:52 msgid "Barcode" -msgstr "" +msgstr "Código de barras" #: order/serializers.py:650 msgid "Scanned barcode" -msgstr "" +msgstr "Código de barras lido" #: order/serializers.py:666 msgid "Barcode is already in use" -msgstr "" +msgstr "Código de barras já em uso" #: order/serializers.py:690 msgid "An integer quantity must be provided for trackable parts" -msgstr "" +msgstr "Quantidade inteira deve ser fornecida para peças rastreáveis" #: order/serializers.py:738 order/serializers.py:1731 msgid "Line items must be provided" -msgstr "" +msgstr "Itens de linha deve ser providenciados" #: order/serializers.py:754 msgid "Destination location must be specified" -msgstr "" +msgstr "Loca de destino deve ser especificado" #: order/serializers.py:765 msgid "Supplied barcode values must be unique" -msgstr "" +msgstr "Código de barras fornecido deve ser único" #: order/serializers.py:1117 msgid "Sale price currency" -msgstr "" +msgstr "Moeda de preço de venda" #: order/serializers.py:1178 msgid "No shipment details provided" -msgstr "" +msgstr "Nenhum detalhe da remessa fornecido" #: order/serializers.py:1239 order/serializers.py:1378 msgid "Line item is not associated with this order" -msgstr "" +msgstr "Item de linha não está associado a este pedido" #: order/serializers.py:1258 msgid "Quantity must be positive" -msgstr "" +msgstr "Quantidade deve ser positiva" #: order/serializers.py:1388 msgid "Enter serial numbers to allocate" -msgstr "" +msgstr "Digite números de série para alocar" #: order/serializers.py:1410 order/serializers.py:1516 msgid "Shipment has already been shipped" -msgstr "" +msgstr "O pedido já foi enviado" #: order/serializers.py:1413 order/serializers.py:1519 msgid "Shipment is not associated with this order" -msgstr "" +msgstr "O envio não está associado a este pedido" #: order/serializers.py:1460 msgid "No match found for the following serial numbers" -msgstr "" +msgstr "Nenhuma correspondência encontrada para os seguintes números de série" #: order/serializers.py:1467 msgid "The following serial numbers are already allocated" -msgstr "" +msgstr "Os seguintes números de série já estão alocados" #: order/serializers.py:1685 msgid "Return order line item" -msgstr "" +msgstr "Devolver item do pedido" #: order/serializers.py:1691 msgid "Line item does not match return order" -msgstr "" +msgstr "Item do pedido não bate com o pedido de devolução" #: order/serializers.py:1694 msgid "Line item has already been received" -msgstr "" +msgstr "Item do pedido já foi recebido" #: order/serializers.py:1723 msgid "Items can only be received against orders which are in progress" -msgstr "" +msgstr "Itens só podem ser recebidos de pedidos em processamento" #: order/serializers.py:1806 msgid "Line price currency" -msgstr "" +msgstr "Tipo de moeda para o item do pedido" #: order/status_codes.py:16 order/status_codes.py:46 stock/status_codes.py:16 msgid "Lost" -msgstr "" +msgstr "Perdido" #: order/status_codes.py:17 order/status_codes.py:47 stock/status_codes.py:22 msgid "Returned" -msgstr "" +msgstr "Retornado" #: order/status_codes.py:40 order/status_codes.py:67 msgid "In Progress" -msgstr "" +msgstr "Em Progresso" #: order/status_codes.py:85 msgid "Return" -msgstr "" +msgstr "Devolução" #: order/status_codes.py:88 msgid "Repair" -msgstr "" +msgstr "Consertar" #: order/status_codes.py:91 msgid "Replace" -msgstr "" +msgstr "Substituir" #: order/status_codes.py:94 msgid "Refund" -msgstr "" +msgstr "Reembolsar" #: order/status_codes.py:97 msgid "Reject" -msgstr "" +msgstr "Recusar" #: order/tasks.py:25 msgid "Overdue Purchase Order" -msgstr "" +msgstr "Pedido de compra vencido" #: order/tasks.py:30 #, python-brace-format msgid "Purchase order {po} is now overdue" -msgstr "" +msgstr "Pedido de compra {po} está atrasada" #: order/tasks.py:75 msgid "Overdue Sales Order" -msgstr "" +msgstr "Pedido de venda vencido" #: order/tasks.py:80 #, python-brace-format msgid "Sales order {so} is now overdue" -msgstr "" +msgstr "Pedido de venda {so} está atrasada" #: order/templates/order/order_base.html:51 msgid "Print purchase order report" -msgstr "" +msgstr "Imprimir relatório do pedido de compra" #: order/templates/order/order_base.html:53 #: order/templates/order/return_order_base.html:62 #: order/templates/order/sales_order_base.html:62 msgid "Export order to file" -msgstr "" +msgstr "Exportar pedido ao arquivo" #: order/templates/order/order_base.html:59 #: order/templates/order/return_order_base.html:72 #: order/templates/order/sales_order_base.html:71 msgid "Order actions" -msgstr "" +msgstr "Ações de pedido" #: order/templates/order/order_base.html:64 #: order/templates/order/return_order_base.html:76 #: order/templates/order/sales_order_base.html:75 msgid "Edit order" -msgstr "" +msgstr "Editar pedido" #: order/templates/order/order_base.html:68 #: order/templates/order/return_order_base.html:78 #: order/templates/order/sales_order_base.html:77 msgid "Cancel order" -msgstr "" +msgstr "Cancelar pedido" #: order/templates/order/order_base.html:73 msgid "Duplicate order" -msgstr "" +msgstr "Duplicar pedido" #: order/templates/order/order_base.html:79 #: order/templates/order/order_base.html:80 @@ -5810,87 +5810,87 @@ msgstr "" #: order/templates/order/sales_order_base.html:83 #: order/templates/order/sales_order_base.html:84 msgid "Issue Order" -msgstr "" +msgstr "Emitir Pedido" #: order/templates/order/order_base.html:83 #: order/templates/order/return_order_base.html:86 msgid "Mark order as complete" -msgstr "" +msgstr "Marcar pedido como concluído" #: order/templates/order/order_base.html:84 #: order/templates/order/return_order_base.html:87 #: order/templates/order/sales_order_base.html:97 msgid "Complete Order" -msgstr "" +msgstr "Completar Pedido" #: order/templates/order/order_base.html:91 msgid "Supplier part thumbnail" -msgstr "" +msgstr "Miniatura da peça do fornecedor" #: order/templates/order/order_base.html:106 #: order/templates/order/return_order_base.html:101 #: order/templates/order/sales_order_base.html:110 msgid "Order Reference" -msgstr "" +msgstr "Referência do Pedido" #: order/templates/order/order_base.html:111 #: order/templates/order/return_order_base.html:106 #: order/templates/order/sales_order_base.html:115 msgid "Order Description" -msgstr "" +msgstr "Descrição do Pedido" #: order/templates/order/order_base.html:141 msgid "No suppplier information available" -msgstr "" +msgstr "Nenhuma informação do fornecedor disponível" #: order/templates/order/order_base.html:154 #: order/templates/order/sales_order_base.html:161 msgid "Completed Line Items" -msgstr "" +msgstr "Itens de Linha Concluídos" #: order/templates/order/order_base.html:160 #: order/templates/order/sales_order_base.html:167 #: order/templates/order/sales_order_base.html:177 msgid "Incomplete" -msgstr "" +msgstr "Incompleto" #: order/templates/order/order_base.html:179 #: order/templates/order/return_order_base.html:157 #: report/templates/report/inventree_build_order_report.html:121 msgid "Issued" -msgstr "" +msgstr "Emitido" #: order/templates/order/order_base.html:224 msgid "Total cost" -msgstr "" +msgstr "Custo total" #: order/templates/order/order_base.html:228 #: order/templates/order/return_order_base.html:199 #: order/templates/order/sales_order_base.html:243 msgid "Total cost could not be calculated" -msgstr "" +msgstr "O custo total não pôde ser calculado" #: order/templates/order/order_base.html:314 msgid "Purchase Order QR Code" -msgstr "" +msgstr "Código QR do Pedido de Compra" #: order/templates/order/order_base.html:326 msgid "Link Barcode to Purchase Order" -msgstr "" +msgstr "Vincular o Código de Barras ao Pedido de Compra" #: order/templates/order/order_wizard/match_fields.html:9 #: part/templates/part/import_wizard/ajax_match_fields.html:9 #: part/templates/part/import_wizard/match_fields.html:9 #: templates/patterns/wizard/match_fields.html:8 msgid "Missing selections for the following required columns" -msgstr "" +msgstr "Seleções ausentes para as seguintes colunas necessárias" #: order/templates/order/order_wizard/match_fields.html:20 #: part/templates/part/import_wizard/ajax_match_fields.html:20 #: part/templates/part/import_wizard/match_fields.html:20 #: templates/patterns/wizard/match_fields.html:19 msgid "Duplicate selections found, see below. Fix them then retry submitting." -msgstr "" +msgstr "Seleções duplicadas encontradas, veja abaixo. Corrija-as e tente enviar novamente." #: order/templates/order/order_wizard/match_fields.html:29 #: order/templates/order/order_wizard/match_parts.html:21 @@ -5898,28 +5898,28 @@ msgstr "" #: part/templates/part/import_wizard/match_references.html:21 #: templates/patterns/wizard/match_fields.html:28 msgid "Submit Selections" -msgstr "" +msgstr "Enviar Seleções" #: order/templates/order/order_wizard/match_fields.html:35 #: part/templates/part/import_wizard/ajax_match_fields.html:28 #: part/templates/part/import_wizard/match_fields.html:35 #: templates/patterns/wizard/match_fields.html:34 msgid "File Fields" -msgstr "" +msgstr "Campos de arquivo" #: order/templates/order/order_wizard/match_fields.html:42 #: part/templates/part/import_wizard/ajax_match_fields.html:35 #: part/templates/part/import_wizard/match_fields.html:42 #: templates/patterns/wizard/match_fields.html:41 msgid "Remove column" -msgstr "" +msgstr "Remover coluna" #: order/templates/order/order_wizard/match_fields.html:60 #: part/templates/part/import_wizard/ajax_match_fields.html:53 #: part/templates/part/import_wizard/match_fields.html:60 #: templates/patterns/wizard/match_fields.html:59 msgid "Duplicate selection" -msgstr "" +msgstr "Duplicar seleção" #: order/templates/order/order_wizard/match_fields.html:71 #: order/templates/order/order_wizard/match_parts.html:52 @@ -5936,35 +5936,35 @@ msgstr "" #: templates/js/translated/stock.js:714 templates/js/translated/stock.js:883 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" -msgstr "" +msgstr "Remover linha" #: order/templates/order/order_wizard/match_parts.html:12 #: part/templates/part/import_wizard/ajax_match_references.html:12 #: part/templates/part/import_wizard/match_references.html:12 msgid "Errors exist in the submitted data" -msgstr "" +msgstr "Há erros nos dados enviados" #: order/templates/order/order_wizard/match_parts.html:28 #: part/templates/part/import_wizard/ajax_match_references.html:21 #: part/templates/part/import_wizard/match_references.html:28 msgid "Row" -msgstr "" +msgstr "Linha" #: order/templates/order/order_wizard/match_parts.html:29 msgid "Select Supplier Part" -msgstr "" +msgstr "Selecionar Fornecedor da Peça" #: order/templates/order/order_wizard/po_upload.html:8 msgid "Return to Orders" -msgstr "" +msgstr "Retornar para Pedidos" #: order/templates/order/order_wizard/po_upload.html:13 msgid "Upload File for Purchase Order" -msgstr "" +msgstr "Carregar Arquivo para o Pedido de Compra" #: order/templates/order/order_wizard/po_upload.html:14 msgid "Order is already processed. Files cannot be uploaded." -msgstr "" +msgstr "O pedido já está processado. Arquivos não podem ser enviados." #: order/templates/order/order_wizard/po_upload.html:27 #: part/templates/part/import_wizard/ajax_part_upload.html:10 @@ -5972,15 +5972,15 @@ msgstr "" #: templates/patterns/wizard/upload.html:13 #, python-format msgid "Step %(step)s of %(count)s" -msgstr "" +msgstr "Passo %(step)s de %(count)s" #: order/templates/order/po_sidebar.html:7 msgid "Received Stock" -msgstr "" +msgstr "Estoque Recebido" #: order/templates/order/purchase_order_detail.html:18 msgid "Purchase Order Items" -msgstr "" +msgstr "Itens do Pedido de Compra" #: order/templates/order/purchase_order_detail.html:27 #: order/templates/order/return_order_detail.html:24 @@ -5989,57 +5989,57 @@ msgstr "" #: templates/js/translated/return_order.js:458 #: templates/js/translated/sales_order.js:237 msgid "Add Line Item" -msgstr "" +msgstr "Adicionar item de linha" #: 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 "Receber os itens do pedido" #: 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 "Linhas Extra" #: 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 "Adicionar Linha Extra" #: order/templates/order/purchase_order_detail.html:74 msgid "Received Items" -msgstr "" +msgstr "Itens Recebidos" #: order/templates/order/purchase_order_detail.html:99 #: order/templates/order/return_order_detail.html:85 #: order/templates/order/sales_order_detail.html:139 msgid "Order Notes" -msgstr "" +msgstr "Notas do Pedido" #: order/templates/order/return_order_base.html:18 #: order/templates/order/sales_order_base.html:18 msgid "Customer logo thumbnail" -msgstr "" +msgstr "Miniatura logotipo do cliente" #: order/templates/order/return_order_base.html:60 msgid "Print return order report" -msgstr "" +msgstr "Imprimir guia de devolução" #: order/templates/order/return_order_base.html:64 #: order/templates/order/sales_order_base.html:64 msgid "Print packing list" -msgstr "" +msgstr "Imprimir lista de pacotes" #: order/templates/order/return_order_base.html:138 #: 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 "Referência do Cliente" #: order/templates/order/return_order_base.html:195 #: order/templates/order/sales_order_base.html:239 @@ -6052,28 +6052,28 @@ msgstr "" #: templates/js/translated/return_order.js:380 #: templates/js/translated/sales_order.js:891 msgid "Total Cost" -msgstr "" +msgstr "Custo Total" #: order/templates/order/return_order_base.html:259 msgid "Return Order QR Code" -msgstr "" +msgstr "Código QR do Pedido de Devolução" #: order/templates/order/return_order_base.html:271 msgid "Link Barcode to Return Order" -msgstr "" +msgstr "Vincular Código de Barras a Pedido de Devolução" #: order/templates/order/return_order_sidebar.html:5 msgid "Order Details" -msgstr "" +msgstr "Detalhes do pedido" #: order/templates/order/sales_order_base.html:60 msgid "Print sales order report" -msgstr "" +msgstr "Imprimir Relatório do Pedido de Venda" #: order/templates/order/sales_order_base.html:88 #: order/templates/order/sales_order_base.html:89 msgid "Ship Items" -msgstr "" +msgstr "Enviar itens" #: order/templates/order/sales_order_base.html:92 #: order/templates/order/sales_order_base.html:93 @@ -6083,74 +6083,74 @@ msgstr "" #: order/templates/order/sales_order_base.html:96 #: templates/js/translated/sales_order.js:536 msgid "Complete Sales Order" -msgstr "" +msgstr "Concluir Pedido de Venda" #: order/templates/order/sales_order_base.html:135 msgid "This Sales Order has not been fully allocated" -msgstr "" +msgstr "Este Pedido de Venda não foi totalmente alocado" #: 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 "" +msgstr "Envios concluídos" #: order/templates/order/sales_order_base.html:321 msgid "Sales Order QR Code" -msgstr "" +msgstr "Código QR do Pedido de Venda" #: order/templates/order/sales_order_base.html:333 msgid "Link Barcode to Sales Order" -msgstr "" +msgstr "Vincular Código de Barras ao Pedido de Venda" #: order/templates/order/sales_order_detail.html:18 msgid "Sales Order Items" -msgstr "" +msgstr "Itens do Pedido de Venda" #: order/templates/order/sales_order_detail.html:67 #: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:284 msgid "Pending Shipments" -msgstr "" +msgstr "Envios Pendentes" #: order/templates/order/sales_order_detail.html:71 #: templates/js/translated/bom.js:1277 templates/js/translated/filters.js:296 msgid "Actions" -msgstr "" +msgstr "Ações" #: order/templates/order/sales_order_detail.html:80 msgid "New Shipment" -msgstr "" +msgstr "Nova Remessa" #: order/views.py:120 msgid "Match Supplier Parts" -msgstr "" +msgstr "Corresponder Peças com Fornecedor" #: order/views.py:406 msgid "Sales order not found" -msgstr "" +msgstr "Pedido de Venda não encontrado" #: order/views.py:412 msgid "Price not found" -msgstr "" +msgstr "Preço não encontrado" #: order/views.py:415 #, python-brace-format msgid "Updated {part} unit-price to {price}" -msgstr "" +msgstr "Atualizado {part} unid.-preço para {price}" #: order/views.py:421 #, python-brace-format msgid "Updated {part} unit-price to {price} and quantity to {qty}" -msgstr "" +msgstr "Atualizado {part} unid.-preço para {price} e quantidade para {qty}" #: part/admin.py:39 part/admin.py:398 part/models.py:3991 part/stocktake.py:219 #: stock/admin.py:152 msgid "Part ID" -msgstr "" +msgstr "ID da Peça" #: part/admin.py:45 part/stocktake.py:221 msgid "Part Description" -msgstr "" +msgstr "Descrição da Peça" #: part/admin.py:48 part/models.py:944 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 @@ -6163,74 +6163,74 @@ msgstr "" #: report/models.py:162 templates/js/translated/part.js:1235 #: templates/js/translated/part.js:2350 msgid "Revision" -msgstr "" +msgstr "Revisão" #: part/admin.py:53 part/admin.py:319 part/models.py:926 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" -msgstr "" +msgstr "Palavras chave" #: part/admin.py:60 msgid "Part Image" -msgstr "" +msgstr "Imagem da Peça" #: part/admin.py:63 part/admin.py:302 part/stocktake.py:222 msgid "Category ID" -msgstr "" +msgstr "ID da Categoria" #: part/admin.py:67 part/admin.py:304 part/serializers.py:837 #: part/stocktake.py:223 msgid "Category Name" -msgstr "" +msgstr "Nome da Categoria" #: part/admin.py:71 part/admin.py:316 msgid "Default Location ID" -msgstr "" +msgstr "ID Local Padrão" #: part/admin.py:76 msgid "Default Supplier ID" -msgstr "" +msgstr "ID de Fornecedor Padrão" #: part/admin.py:81 part/models.py:912 part/templates/part/part_base.html:177 msgid "Variant Of" -msgstr "" +msgstr "Variante de" #: part/admin.py:84 part/models.py:1040 part/templates/part/part_base.html:203 msgid "Minimum Stock" -msgstr "" +msgstr "Estoque Mínimo" #: part/admin.py:138 part/templates/part/part_sidebar.html:27 msgid "Used In" -msgstr "" +msgstr "Usado em" #: part/admin.py:150 part/serializers.py:854 #: part/templates/part/part_base.html:241 stock/admin.py:235 #: templates/js/translated/part.js:714 templates/js/translated/part.js:2156 msgid "Building" -msgstr "" +msgstr "Produzindo" #: part/admin.py:155 part/models.py:3098 part/models.py:3112 #: templates/js/translated/part.js:973 msgid "Minimum Cost" -msgstr "" +msgstr "Custo Mínimo" #: part/admin.py:158 part/models.py:3105 part/models.py:3119 #: templates/js/translated/part.js:983 msgid "Maximum Cost" -msgstr "" +msgstr "Custo Máximo" #: part/admin.py:308 part/admin.py:387 stock/admin.py:57 stock/admin.py:215 msgid "Parent ID" -msgstr "" +msgstr "ID Paternal" #: part/admin.py:312 part/admin.py:394 stock/admin.py:61 msgid "Parent Name" -msgstr "" +msgstr "Nome Paternal" #: part/admin.py:320 part/templates/part/category.html:88 #: part/templates/part/category.html:101 msgid "Category Path" -msgstr "" +msgstr "Caminho da Categoria" #: part/admin.py:325 part/models.py:397 part/serializers.py:130 #: part/serializers.py:282 part/serializers.py:404 @@ -6242,31 +6242,31 @@ msgstr "" #: templates/js/translated/part.js:2807 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:203 msgid "Parts" -msgstr "" +msgstr "Peças" #: part/admin.py:378 msgid "BOM Level" -msgstr "" +msgstr "Nível da LDM" #: part/admin.py:381 msgid "BOM Item ID" -msgstr "" +msgstr "ID Item LDM" #: part/admin.py:391 msgid "Parent IPN" -msgstr "" +msgstr "IPN Paternal" #: part/admin.py:415 part/serializers.py:1302 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" -msgstr "" +msgstr "Preço Mínimo" #: part/admin.py:420 part/serializers.py:1317 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" -msgstr "" +msgstr "Preço Máximo" #: part/api.py:105 msgid "Starred" @@ -6322,27 +6322,27 @@ msgstr "" #: part/api.py:609 msgid "Incoming Purchase Order" -msgstr "" +msgstr "Pedido de compra recebido" #: part/api.py:627 msgid "Outgoing Sales Order" -msgstr "" +msgstr "Pedidos de Venda Feitos" #: part/api.py:643 msgid "Stock produced by Build Order" -msgstr "" +msgstr "Estoque produzido pelo Pedido de Produção" #: part/api.py:727 msgid "Stock required for Build Order" -msgstr "" +msgstr "Estoque obrigatório para Pedido de Produção" #: part/api.py:875 msgid "Validate entire Bill of Materials" -msgstr "" +msgstr "Validar a Lista de Materiais completa" #: part/api.py:881 msgid "This option must be selected" -msgstr "" +msgstr "Esta opção deve ser selecionada" #: part/api.py:1098 msgid "BOM Valid" @@ -6355,7 +6355,7 @@ msgstr "" #: templates/js/translated/notification.js:60 #: templates/js/translated/part.js:2380 msgid "Category" -msgstr "" +msgstr "Categoria" #: part/api.py:1784 msgid "Uses" @@ -6364,63 +6364,63 @@ msgstr "" #: part/bom.py:170 part/models.py:104 part/models.py:979 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" -msgstr "" +msgstr "Local Padrão" #: part/bom.py:171 part/serializers.py:861 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" -msgstr "" +msgstr "Estoque Total" #: part/forms.py:49 msgid "Input quantity for price calculation" -msgstr "" +msgstr "Quantidade para o cálculo de preço" #: part/models.py:85 part/models.py:3937 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" -msgstr "" +msgstr "Categoria da Peça" #: part/models.py:86 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 "" +msgstr "Categorias de Peça" #: part/models.py:105 msgid "Default location for parts in this category" -msgstr "" +msgstr "Local padrão para peças desta categoria" #: part/models.py:110 stock/models.py:175 templates/js/translated/part.js:2813 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" -msgstr "" +msgstr "Estrutural" #: part/models.py:112 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." -msgstr "" +msgstr "Peças não podem ser diretamente atribuídas a uma categoria estrutural, mas podem ser atribuídas a categorias filhas." #: part/models.py:121 msgid "Default keywords" -msgstr "" +msgstr "Palavras-chave Padrão" #: part/models.py:122 msgid "Default keywords for parts in this category" -msgstr "" +msgstr "Palavras-chave padrão para peças nesta categoria" #: part/models.py:128 stock/models.py:87 stock/models.py:158 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" -msgstr "" +msgstr "Ícone" #: part/models.py:129 stock/models.py:159 msgid "Icon (optional)" -msgstr "" +msgstr "Ícone (opcional)" #: part/models.py:151 msgid "You cannot make this part category structural because some parts are already assigned to it!" -msgstr "" +msgstr "Você não pode tornar esta categoria em estrutural, pois, algumas partes já estão alocadas!" #: part/models.py:486 msgid "Cannot delete this part as it is locked" @@ -6436,122 +6436,122 @@ msgstr "" #: part/models.py:532 msgid "Invalid choice for parent part" -msgstr "" +msgstr "Escolha inválida para peça parental" #: part/models.py:580 part/models.py:587 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" -msgstr "" +msgstr "Peça '{self}' não pode ser utilizada na BOM para '{parent}' (recursiva)" #: part/models.py:599 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" -msgstr "" +msgstr "Peça '{parent}' é usada na BOM para '{self}' (recursiva)" #: part/models.py:662 #, python-brace-format msgid "IPN must match regex pattern {pattern}" -msgstr "" +msgstr "IPN deve corresponder ao padrão regex {pattern}" #: part/models.py:740 msgid "Stock item with this serial number already exists" -msgstr "" +msgstr "Item em estoque com este número de série já existe" #: part/models.py:841 msgid "Duplicate IPN not allowed in part settings" -msgstr "" +msgstr "Não é permitido duplicar IPN em configurações de partes" #: part/models.py:851 msgid "Part with this Name, IPN and Revision already exists." -msgstr "" +msgstr "Uma parte com este Nome, IPN e Revisão já existe." #: part/models.py:866 msgid "Parts cannot be assigned to structural part categories!" -msgstr "" +msgstr "Peças não podem ser atribuídas a categorias estruturais!" #: part/models.py:895 part/models.py:3992 msgid "Part name" -msgstr "" +msgstr "Nome da peça" #: part/models.py:900 msgid "Is Template" -msgstr "" +msgstr "É um modelo" #: part/models.py:901 msgid "Is this part a template part?" -msgstr "" +msgstr "Esta peça é uma peça modelo?" #: part/models.py:911 msgid "Is this part a variant of another part?" -msgstr "" +msgstr "Esta peça é variante de outra peça?" #: part/models.py:919 msgid "Part description (optional)" -msgstr "" +msgstr "Descrição da peça (opcional)" #: part/models.py:927 msgid "Part keywords to improve visibility in search results" -msgstr "" +msgstr "Palavras-chave para melhorar a visibilidade nos resultados da pesquisa" #: part/models.py:937 msgid "Part category" -msgstr "" +msgstr "Categoria da Peça" #: part/models.py:952 msgid "Part revision or version number" -msgstr "" +msgstr "Revisão de peça ou número de versão" #: part/models.py:977 msgid "Where is this item normally stored?" -msgstr "" +msgstr "Onde este item é armazenado normalmente?" #: part/models.py:1023 part/templates/part/part_base.html:376 msgid "Default Supplier" -msgstr "" +msgstr "Fornecedor Padrão" #: part/models.py:1024 msgid "Default supplier part" -msgstr "" +msgstr "Fornecedor padrão da peça" #: part/models.py:1031 msgid "Default Expiry" -msgstr "" +msgstr "Validade Padrão" #: part/models.py:1032 msgid "Expiry time (in days) for stock items of this part" -msgstr "" +msgstr "Validade (em dias) para itens do estoque desta peça" #: part/models.py:1041 msgid "Minimum allowed stock level" -msgstr "" +msgstr "Nível mínimo de estoque permitido" #: part/models.py:1050 msgid "Units of measure for this part" -msgstr "" +msgstr "Unidade de medida para esta peça" #: part/models.py:1057 msgid "Can this part be built from other parts?" -msgstr "" +msgstr "Essa peça pode ser construída a partir de outras peças?" #: part/models.py:1063 msgid "Can this part be used to build other parts?" -msgstr "" +msgstr "Essa peça pode ser usada para construir outras peças?" #: part/models.py:1069 msgid "Does this part have tracking for unique items?" -msgstr "" +msgstr "Esta parte tem rastreamento para itens únicos?" #: part/models.py:1075 msgid "Can this part be purchased from external suppliers?" -msgstr "" +msgstr "Esta peça pode ser comprada de fornecedores externos?" #: part/models.py:1081 msgid "Can this part be sold to customers?" -msgstr "" +msgstr "Esta peça pode ser vendida a clientes?" #: part/models.py:1085 msgid "Is this part active?" -msgstr "" +msgstr "Esta parte está ativa?" #: part/models.py:1090 templates/js/translated/part.js:818 #: templates/js/translated/table_filters.js:721 @@ -6564,189 +6564,189 @@ msgstr "" #: part/models.py:1097 msgid "Is this a virtual part, such as a software product or license?" -msgstr "" +msgstr "Esta é uma peça virtual, como um software de produto ou licença?" #: part/models.py:1103 msgid "BOM checksum" -msgstr "" +msgstr "Soma de Verificação da LDM" #: part/models.py:1104 msgid "Stored BOM checksum" -msgstr "" +msgstr "Soma de verificação da LDM armazenada" #: part/models.py:1112 msgid "BOM checked by" -msgstr "" +msgstr "LDM conferida por" #: part/models.py:1117 msgid "BOM checked date" -msgstr "" +msgstr "LDM verificada no dia" #: part/models.py:1133 msgid "Creation User" -msgstr "" +msgstr "Criação de Usuário" #: part/models.py:1143 msgid "Owner responsible for this part" -msgstr "" +msgstr "Proprietário responsável por esta peça" #: part/models.py:1148 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2474 msgid "Last Stocktake" -msgstr "" +msgstr "Último Balanço" #: part/models.py:2021 msgid "Sell multiple" -msgstr "" +msgstr "Venda múltipla" #: part/models.py:3012 msgid "Currency used to cache pricing calculations" -msgstr "" +msgstr "Moeda usada para armazenar os cálculos de preços" #: part/models.py:3028 msgid "Minimum BOM Cost" -msgstr "" +msgstr "Custo Mínimo da LDM" #: part/models.py:3029 msgid "Minimum cost of component parts" -msgstr "" +msgstr "Custo mínimo das peças componentes" #: part/models.py:3035 msgid "Maximum BOM Cost" -msgstr "" +msgstr "Custo Máximo da LDM" #: part/models.py:3036 msgid "Maximum cost of component parts" -msgstr "" +msgstr "Custo máximo das peças componentes" #: part/models.py:3042 msgid "Minimum Purchase Cost" -msgstr "" +msgstr "Custo Mínimo de Compra" #: part/models.py:3043 msgid "Minimum historical purchase cost" -msgstr "" +msgstr "Custo mínimo histórico de compra" #: part/models.py:3049 msgid "Maximum Purchase Cost" -msgstr "" +msgstr "Custo Máximo de Compra" #: part/models.py:3050 msgid "Maximum historical purchase cost" -msgstr "" +msgstr "Custo máximo histórico de compra" #: part/models.py:3056 msgid "Minimum Internal Price" -msgstr "" +msgstr "Preço Interno Mínimo" #: part/models.py:3057 msgid "Minimum cost based on internal price breaks" -msgstr "" +msgstr "Custo mínimo baseado nos intervalos de preço internos" #: part/models.py:3063 msgid "Maximum Internal Price" -msgstr "" +msgstr "Preço Interno Máximo" #: part/models.py:3064 msgid "Maximum cost based on internal price breaks" -msgstr "" +msgstr "Custo máximo baseado nos intervalos de preço internos" #: part/models.py:3070 msgid "Minimum Supplier Price" -msgstr "" +msgstr "Preço Mínimo do Fornecedor" #: part/models.py:3071 msgid "Minimum price of part from external suppliers" -msgstr "" +msgstr "Preço mínimo da peça de fornecedores externos" #: part/models.py:3077 msgid "Maximum Supplier Price" -msgstr "" +msgstr "Preço Máximo do Fornecedor" #: part/models.py:3078 msgid "Maximum price of part from external suppliers" -msgstr "" +msgstr "Preço máximo da peça de fornecedores externos" #: part/models.py:3084 msgid "Minimum Variant Cost" -msgstr "" +msgstr "Custo Mínimo variável" #: part/models.py:3085 msgid "Calculated minimum cost of variant parts" -msgstr "" +msgstr "Custo mínimo calculado das peças variáveis" #: part/models.py:3091 msgid "Maximum Variant Cost" -msgstr "" +msgstr "Custo Máximo Variável" #: part/models.py:3092 msgid "Calculated maximum cost of variant parts" -msgstr "" +msgstr "Custo máximo calculado das peças variáveis" #: part/models.py:3099 msgid "Override minimum cost" -msgstr "" +msgstr "Sobrepor o custo mínimo" #: part/models.py:3106 msgid "Override maximum cost" -msgstr "" +msgstr "Sobrepor o custo máximo" #: part/models.py:3113 msgid "Calculated overall minimum cost" -msgstr "" +msgstr "Custo total mínimo calculado" #: part/models.py:3120 msgid "Calculated overall maximum cost" -msgstr "" +msgstr "Custo total máximo calculado" #: part/models.py:3126 msgid "Minimum Sale Price" -msgstr "" +msgstr "Preço Mínimo de Venda" #: part/models.py:3127 msgid "Minimum sale price based on price breaks" -msgstr "" +msgstr "Preço mínimo de venda baseado nos intervalos de preço" #: part/models.py:3133 msgid "Maximum Sale Price" -msgstr "" +msgstr "Preço Máximo de Venda" #: part/models.py:3134 msgid "Maximum sale price based on price breaks" -msgstr "" +msgstr "Preço máximo de venda baseado nos intervalos de preço" #: part/models.py:3140 msgid "Minimum Sale Cost" -msgstr "" +msgstr "Custo Mínimo de Venda" #: part/models.py:3141 msgid "Minimum historical sale price" -msgstr "" +msgstr "Preço histórico mínimo de venda" #: part/models.py:3147 msgid "Maximum Sale Cost" -msgstr "" +msgstr "Custo Máximo de Venda" #: part/models.py:3148 msgid "Maximum historical sale price" -msgstr "" +msgstr "Preço histórico máximo de venda" #: part/models.py:3167 msgid "Part for stocktake" -msgstr "" +msgstr "Peça para Balanço" #: part/models.py:3172 msgid "Item Count" -msgstr "" +msgstr "Total de Itens" #: part/models.py:3173 msgid "Number of individual stock entries at time of stocktake" -msgstr "" +msgstr "Número de entradas de estoques individuais no momento do balanço" #: part/models.py:3181 msgid "Total available stock at time of stocktake" -msgstr "" +msgstr "Estoque total disponível no momento do balanço" #: part/models.py:3185 part/models.py:3268 #: part/templates/part/part_scheduling.html:13 @@ -6758,55 +6758,55 @@ msgstr "" #: templates/js/translated/purchase_order.js:1731 #: templates/js/translated/stock.js:2821 msgid "Date" -msgstr "" +msgstr "Data" #: part/models.py:3186 msgid "Date stocktake was performed" -msgstr "" +msgstr "Data de realização do balanço" #: part/models.py:3194 msgid "Additional notes" -msgstr "" +msgstr "Notas adicionais" #: part/models.py:3204 msgid "User who performed this stocktake" -msgstr "" +msgstr "Usuário que fez o balanço" #: part/models.py:3210 msgid "Minimum Stock Cost" -msgstr "" +msgstr "Custo Mínimo de Estoque" #: part/models.py:3211 msgid "Estimated minimum cost of stock on hand" -msgstr "" +msgstr "Custo mínimo estimado de estoque disponível" #: part/models.py:3217 msgid "Maximum Stock Cost" -msgstr "" +msgstr "Custo Máximo de Estoque" #: part/models.py:3218 msgid "Estimated maximum cost of stock on hand" -msgstr "" +msgstr "Custo máximo estimado de estoque disponível" #: part/models.py:3274 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" -msgstr "" +msgstr "Reportar" #: part/models.py:3275 msgid "Stocktake report file (generated internally)" -msgstr "" +msgstr "Arquivo de Relatório de Balanço (gerado internamente)" #: part/models.py:3280 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" -msgstr "" +msgstr "Contagem de Peças" #: part/models.py:3281 msgid "Number of parts covered by stocktake" -msgstr "" +msgstr "Número de peças cobertas pelo Balanço" #: part/models.py:3291 msgid "User who requested this stocktake report" -msgstr "" +msgstr "Usuário que solicitou este relatório de balanço" #: part/models.py:3301 msgid "Part Sale Price Break" @@ -6822,11 +6822,11 @@ msgstr "" #: part/models.py:3460 part/models.py:3629 msgid "Choices must be unique" -msgstr "" +msgstr "Escolhas devem ser únicas" #: part/models.py:3471 msgid "Test templates can only be created for trackable parts" -msgstr "" +msgstr "Modelos de teste só podem ser criados para peças rastreáveis" #: part/models.py:3482 msgid "Test template with the same key already exists for part" @@ -6834,11 +6834,11 @@ msgstr "" #: part/models.py:3499 templates/js/translated/part.js:2883 msgid "Test Name" -msgstr "" +msgstr "Nome de Teste" #: part/models.py:3500 msgid "Enter a name for the test" -msgstr "" +msgstr "Insira um nome para o teste" #: part/models.py:3506 msgid "Test Key" @@ -6850,17 +6850,17 @@ msgstr "" #: part/models.py:3514 msgid "Test Description" -msgstr "" +msgstr "Descrição do Teste" #: part/models.py:3515 msgid "Enter description for this test" -msgstr "" +msgstr "Digite a descrição para este teste" #: part/models.py:3519 report/models.py:209 #: templates/js/translated/part.js:2904 #: templates/js/translated/table_filters.js:481 msgid "Enabled" -msgstr "" +msgstr "Habilitado" #: part/models.py:3519 msgid "Is this test enabled?" @@ -6869,31 +6869,31 @@ msgstr "" #: part/models.py:3524 templates/js/translated/part.js:2912 #: templates/js/translated/table_filters.js:477 msgid "Required" -msgstr "" +msgstr "Requerido" #: part/models.py:3525 msgid "Is this test required to pass?" -msgstr "" +msgstr "Este teste é obrigatório passar?" #: part/models.py:3530 templates/js/translated/part.js:2920 msgid "Requires Value" -msgstr "" +msgstr "Requer Valor" #: part/models.py:3531 msgid "Does this test require a value when adding a test result?" -msgstr "" +msgstr "Este teste requer um valor ao adicionar um resultado de teste?" #: part/models.py:3536 templates/js/translated/part.js:2927 msgid "Requires Attachment" -msgstr "" +msgstr "Anexo obrigatório" #: part/models.py:3538 msgid "Does this test require a file attachment when adding a test result?" -msgstr "" +msgstr "Este teste requer um anexo ao adicionar um resultado de teste?" #: part/models.py:3544 part/models.py:3688 templates/js/translated/part.js:1640 msgid "Choices" -msgstr "" +msgstr "Escolhas" #: part/models.py:3545 msgid "Valid choices for this test (comma-separated)" @@ -6905,40 +6905,40 @@ msgstr "" #: part/models.py:3604 msgid "Checkbox parameters cannot have units" -msgstr "" +msgstr "Parâmetros da caixa de seleção não podem ter unidades" #: part/models.py:3609 msgid "Checkbox parameters cannot have choices" -msgstr "" +msgstr "Os parâmetros da caixa de seleção não podem ter escolhas" #: part/models.py:3646 msgid "Parameter template name must be unique" -msgstr "" +msgstr "Nome do modelo de parâmetro deve ser único" #: part/models.py:3661 msgid "Parameter Name" -msgstr "" +msgstr "Nome do Parâmetro" #: part/models.py:3668 msgid "Physical units for this parameter" -msgstr "" +msgstr "Unidades físicas para este parâmetro" #: part/models.py:3676 msgid "Parameter description" -msgstr "" +msgstr "Descrição do Parâmetro" #: part/models.py:3682 templates/js/translated/part.js:1631 #: templates/js/translated/table_filters.js:830 msgid "Checkbox" -msgstr "" +msgstr "Caixa de seleção" #: part/models.py:3683 msgid "Is this parameter a checkbox?" -msgstr "" +msgstr "Este parâmetro é uma caixa de seleção?" #: part/models.py:3689 msgid "Valid choices for this parameter (comma-separated)" -msgstr "" +msgstr "Opções válidas para este parâmetro (separadas por vírgulas)" #: part/models.py:3723 msgid "Part Parameter" @@ -6950,20 +6950,20 @@ msgstr "" #: part/models.py:3785 msgid "Invalid choice for parameter value" -msgstr "" +msgstr "Escolha inválida para valor do parâmetro" #: part/models.py:3828 msgid "Parent Part" -msgstr "" +msgstr "Peça Paternal" #: part/models.py:3836 part/models.py:3944 part/models.py:3945 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" -msgstr "" +msgstr "Modelo de parâmetro" #: part/models.py:3842 msgid "Parameter Value" -msgstr "" +msgstr "Valor do Parâmetro" #: part/models.py:3892 msgid "Part Category Parameter Template" @@ -6971,31 +6971,31 @@ msgstr "" #: part/models.py:3951 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" -msgstr "" +msgstr "Valor Padrão" #: part/models.py:3952 msgid "Default Parameter Value" -msgstr "" +msgstr "Valor Padrão do Parâmetro" #: part/models.py:3990 msgid "Part ID or part name" -msgstr "" +msgstr "ID da peça ou nome da peça" #: part/models.py:3991 msgid "Unique part ID value" -msgstr "" +msgstr "Valor exclusivo do ID de peça" #: part/models.py:3993 msgid "Part IPN value" -msgstr "" +msgstr "Valor da parte IPN" #: part/models.py:3994 msgid "Level" -msgstr "" +msgstr "Nível" #: part/models.py:3994 msgid "BOM level" -msgstr "" +msgstr "Nível da LDM" #: part/models.py:4105 msgid "BOM item cannot be modified - assembly is locked" @@ -7007,123 +7007,123 @@ msgstr "" #: part/models.py:4122 msgid "Select parent part" -msgstr "" +msgstr "Selecione a Peça Parental" #: part/models.py:4132 msgid "Sub part" -msgstr "" +msgstr "Sub peça" #: part/models.py:4133 msgid "Select part to be used in BOM" -msgstr "" +msgstr "Selecionar peça a ser usada na LDM" #: part/models.py:4144 msgid "BOM quantity for this BOM item" -msgstr "" +msgstr "Quantidade de LDM para este item LDM" #: part/models.py:4150 msgid "This BOM item is optional" -msgstr "" +msgstr "Este item LDM é opcional" #: part/models.py:4156 msgid "This BOM item is consumable (it is not tracked in build orders)" -msgstr "" +msgstr "Este item LDM é consumível (não é rastreado nos pedidos de construção)" #: part/models.py:4163 part/templates/part/upload_bom.html:55 msgid "Overage" -msgstr "" +msgstr "Excedente" #: part/models.py:4164 msgid "Estimated build wastage quantity (absolute or percentage)" -msgstr "" +msgstr "Quantidade estimada de desperdício (absoluto ou porcentagem)" #: part/models.py:4171 msgid "BOM item reference" -msgstr "" +msgstr "Referência do Item LDM" #: part/models.py:4179 msgid "BOM item notes" -msgstr "" +msgstr "Notas do Item LDM" #: part/models.py:4185 msgid "Checksum" -msgstr "" +msgstr "Soma de verificação" #: part/models.py:4186 msgid "BOM line checksum" -msgstr "" +msgstr "Soma de Verificação da LDM da linha" #: part/models.py:4191 templates/js/translated/table_filters.js:174 msgid "Validated" -msgstr "" +msgstr "Validado" #: part/models.py:4192 msgid "This BOM item has been validated" -msgstr "" +msgstr "O item da LDM foi validado" #: part/models.py:4197 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 "" +msgstr "Obtém herdados" #: part/models.py:4198 msgid "This BOM item is inherited by BOMs for variant parts" -msgstr "" +msgstr "Este item da LDM é herdado por LDMs para peças variáveis" #: part/models.py:4203 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" -msgstr "" +msgstr "Permitir variações" #: part/models.py:4204 msgid "Stock items for variant parts can be used for this BOM item" -msgstr "" +msgstr "Itens de estoque para as peças das variantes podem ser usados para este item LDM" #: part/models.py:4289 stock/models.py:663 msgid "Quantity must be integer value for trackable parts" -msgstr "" +msgstr "Quantidade deve ser valor inteiro para peças rastreáveis" #: part/models.py:4299 part/models.py:4301 msgid "Sub part must be specified" -msgstr "" +msgstr "Sub peça deve ser especificada" #: part/models.py:4439 msgid "BOM Item Substitute" -msgstr "" +msgstr "Substituir Item da LDM" #: part/models.py:4460 msgid "Substitute part cannot be the same as the master part" -msgstr "" +msgstr "A peça de substituição não pode ser a mesma que a peça mestre" #: part/models.py:4473 msgid "Parent BOM item" -msgstr "" +msgstr "Item LDM Parental" #: part/models.py:4481 msgid "Substitute part" -msgstr "" +msgstr "Substituir peça" #: part/models.py:4497 msgid "Part 1" -msgstr "" +msgstr "Parte 1" #: part/models.py:4505 msgid "Part 2" -msgstr "" +msgstr "Parte 2" #: part/models.py:4506 msgid "Select Related Part" -msgstr "" +msgstr "Selecionar Peça Relacionada" #: part/models.py:4525 msgid "Part relationship cannot be created between a part and itself" -msgstr "" +msgstr "Relacionamento da peça não pode ser criada com ela mesma" #: part/models.py:4530 msgid "Duplicate relationship already exists" -msgstr "" +msgstr "Relação duplicada já existe" #: part/serializers.py:124 msgid "Parent Category" @@ -7131,13 +7131,13 @@ msgstr "" #: part/serializers.py:125 templates/js/translated/part.js:308 msgid "Parent part category" -msgstr "" +msgstr "Categoria de peça pai" #: part/serializers.py:132 part/serializers.py:154 #: part/templates/part/category.html:122 part/templates/part/category.html:207 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" -msgstr "" +msgstr "Sub-categorias" #: part/serializers.py:189 msgid "Results" @@ -7149,7 +7149,7 @@ msgstr "" #: part/serializers.py:217 part/serializers.py:235 stock/serializers.py:608 msgid "Purchase currency of this stock item" -msgstr "" +msgstr "Moeda de compra deste item de estoque" #: part/serializers.py:283 msgid "Number of parts using this template" @@ -7157,95 +7157,95 @@ msgstr "" #: part/serializers.py:410 msgid "No parts selected" -msgstr "" +msgstr "Nenhuma parte selecionada" #: part/serializers.py:420 msgid "Select category" -msgstr "" +msgstr "Selecionar categoria" #: part/serializers.py:455 msgid "Original Part" -msgstr "" +msgstr "Peça Original" #: part/serializers.py:456 msgid "Select original part to duplicate" -msgstr "" +msgstr "Selecione a peça original para duplicar" #: part/serializers.py:461 msgid "Copy Image" -msgstr "" +msgstr "Copiar imagem" #: part/serializers.py:462 msgid "Copy image from original part" -msgstr "" +msgstr "Copiar imagem da peça original" #: part/serializers.py:468 part/templates/part/detail.html:277 msgid "Copy BOM" -msgstr "" +msgstr "Copiar LDM" #: part/serializers.py:469 msgid "Copy bill of materials from original part" -msgstr "" +msgstr "Copiar lista de materiais da peça original" #: part/serializers.py:475 msgid "Copy Parameters" -msgstr "" +msgstr "Copiar Parâmetros" #: part/serializers.py:476 msgid "Copy parameter data from original part" -msgstr "" +msgstr "Copiar dados do parâmetro da peça original" #: part/serializers.py:482 msgid "Copy Notes" -msgstr "" +msgstr "Copiar Notas" #: part/serializers.py:483 msgid "Copy notes from original part" -msgstr "" +msgstr "Copiar imagem da peça original" #: part/serializers.py:501 msgid "Initial Stock Quantity" -msgstr "" +msgstr "Quantidade Inicial de Estoque" #: part/serializers.py:503 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." -msgstr "" +msgstr "Especificar a quantidade inicial de estoque para a peça. Se for zero, nenhum estoque é adicionado." #: part/serializers.py:510 msgid "Initial Stock Location" -msgstr "" +msgstr "Local Inicial do Estoque" #: part/serializers.py:511 msgid "Specify initial stock location for this Part" -msgstr "" +msgstr "Especifique o local do estoque inicial para esta Peça" #: part/serializers.py:528 msgid "Select supplier (or leave blank to skip)" -msgstr "" +msgstr "Selecione o fornecedor (ou deixe em branco para pular)" #: part/serializers.py:544 msgid "Select manufacturer (or leave blank to skip)" -msgstr "" +msgstr "Selecione fabricante (ou deixe em branco para pular)" #: part/serializers.py:554 msgid "Manufacturer part number" -msgstr "" +msgstr "Número de Peça do Fabricante" #: part/serializers.py:561 msgid "Selected company is not a valid supplier" -msgstr "" +msgstr "A empresa selecionada não é um fornecedor válido" #: part/serializers.py:570 msgid "Selected company is not a valid manufacturer" -msgstr "" +msgstr "A empresa selecionada não é um fabricante válido" #: part/serializers.py:581 msgid "Manufacturer part matching this MPN already exists" -msgstr "" +msgstr "A peça do fabricante que corresponde a essa MPN já existe" #: part/serializers.py:588 msgid "Supplier part matching this SKU already exists" -msgstr "" +msgstr "A peça do fornecedor que corresponde a essa SKU já existe" #: part/serializers.py:864 msgid "Unallocated Stock" @@ -7258,697 +7258,697 @@ msgstr "" #: part/serializers.py:897 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:471 msgid "Duplicate Part" -msgstr "" +msgstr "Peça duplicada" #: part/serializers.py:898 msgid "Copy initial data from another Part" -msgstr "" +msgstr "Copiar dados iniciais de outra peça" #: part/serializers.py:904 templates/js/translated/part.js:102 msgid "Initial Stock" -msgstr "" +msgstr "Estoque inicial" #: part/serializers.py:905 msgid "Create Part with initial stock quantity" -msgstr "" +msgstr "Criar peça com a quantidade inicial de estoque" #: part/serializers.py:911 msgid "Supplier Information" -msgstr "" +msgstr "Informações do Fornecedor" #: part/serializers.py:912 msgid "Add initial supplier information for this part" -msgstr "" +msgstr "Adicionar informação inicial de fornecedor para esta peça" #: part/serializers.py:920 msgid "Copy Category Parameters" -msgstr "" +msgstr "Copiar Parâmetros da Categoria" #: part/serializers.py:921 msgid "Copy parameter templates from selected part category" -msgstr "" +msgstr "Copiar modelos de parâmetros a partir de categoria de peça selecionada" #: part/serializers.py:926 msgid "Existing Image" -msgstr "" +msgstr "Imagem Existente" #: part/serializers.py:927 msgid "Filename of an existing part image" -msgstr "" +msgstr "Nome de arquivo de uma imagem de peça existente" #: part/serializers.py:944 msgid "Image file does not exist" -msgstr "" +msgstr "A imagem não existe" #: part/serializers.py:1150 msgid "Limit stocktake report to a particular part, and any variant parts" -msgstr "" +msgstr "Limitar o relatório de balanço a uma determinada peça e quaisquer peças variantes" #: part/serializers.py:1160 msgid "Limit stocktake report to a particular part category, and any child categories" -msgstr "" +msgstr "Limitar o relatório de balanço a uma determinada categoria, e qualquer peças filhas" #: part/serializers.py:1170 msgid "Limit stocktake report to a particular stock location, and any child locations" -msgstr "" +msgstr "Limitar o relatório de balanço a um determinado local de estoque, e qualquer local filho" #: part/serializers.py:1176 msgid "Exclude External Stock" -msgstr "" +msgstr "Excluir Estoque externo" #: part/serializers.py:1177 msgid "Exclude stock items in external locations" -msgstr "" +msgstr "Excluir itens de estoque em locais externos" #: part/serializers.py:1182 msgid "Generate Report" -msgstr "" +msgstr "Gerar relatório" #: part/serializers.py:1183 msgid "Generate report file containing calculated stocktake data" -msgstr "" +msgstr "Gerar arquivo de relatório contendo dados de estoque calculados" #: part/serializers.py:1188 msgid "Update Parts" -msgstr "" +msgstr "Atualizar Peças" #: part/serializers.py:1189 msgid "Update specified parts with calculated stocktake data" -msgstr "" +msgstr "Atualizar peças especificadas com dados de estoque calculados" #: part/serializers.py:1197 msgid "Stocktake functionality is not enabled" -msgstr "" +msgstr "Função de Balanço de Estoque não está ativada" #: part/serializers.py:1303 msgid "Override calculated value for minimum price" -msgstr "" +msgstr "Sobrepor valor calculado para preço mínimo" #: part/serializers.py:1310 msgid "Minimum price currency" -msgstr "" +msgstr "Moeda do preço mínimo" #: part/serializers.py:1318 msgid "Override calculated value for maximum price" -msgstr "" +msgstr "Sobrepor valor calculado para preço máximo" #: part/serializers.py:1325 msgid "Maximum price currency" -msgstr "" +msgstr "Moeda do preço máximo" #: part/serializers.py:1354 msgid "Update" -msgstr "" +msgstr "Atualizar" #: part/serializers.py:1355 msgid "Update pricing for this part" -msgstr "" +msgstr "Atualizar preços desta peça" #: part/serializers.py:1378 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" -msgstr "" +msgstr "Não foi possível converter das moedas fornecidas para {default_currency}" #: part/serializers.py:1385 msgid "Minimum price must not be greater than maximum price" -msgstr "" +msgstr "Preço mínimo não pode ser maior que o preço máximo" #: part/serializers.py:1388 msgid "Maximum price must not be less than minimum price" -msgstr "" +msgstr "Preço máximo não pode ser menor que o preço mínimo" #: part/serializers.py:1759 msgid "Select part to copy BOM from" -msgstr "" +msgstr "Selecionar peça para copiar a LDM" #: part/serializers.py:1767 msgid "Remove Existing Data" -msgstr "" +msgstr "Remover Dado Existente" #: part/serializers.py:1768 msgid "Remove existing BOM items before copying" -msgstr "" +msgstr "Remova itens LDM existentes antes de copiar" #: part/serializers.py:1773 msgid "Include Inherited" -msgstr "" +msgstr "Incluir Herdados" #: part/serializers.py:1774 msgid "Include BOM items which are inherited from templated parts" -msgstr "" +msgstr "Incluir itens LDM que são herdados de peças modelo" #: part/serializers.py:1779 msgid "Skip Invalid Rows" -msgstr "" +msgstr "Pular Linhas inválidas" #: part/serializers.py:1780 msgid "Enable this option to skip invalid rows" -msgstr "" +msgstr "Habilitar esta opção para pular linhas inválidas" #: part/serializers.py:1785 msgid "Copy Substitute Parts" -msgstr "" +msgstr "Copiar Peças Substitutas" #: part/serializers.py:1786 msgid "Copy substitute parts when duplicate BOM items" -msgstr "" +msgstr "Copiar peças de substitutas quando duplicar itens de LDM" #: part/serializers.py:1823 msgid "Clear Existing BOM" -msgstr "" +msgstr "Limpar LDM Existente" #: part/serializers.py:1824 msgid "Delete existing BOM items before uploading" -msgstr "" +msgstr "Apagar itens LDM existentes antes de carregar" #: part/serializers.py:1856 msgid "No part column specified" -msgstr "" +msgstr "Nenhuma coluna de peça especificada" #: part/serializers.py:1900 msgid "Multiple matching parts found" -msgstr "" +msgstr "Múltiplas peças correspondentes encontradas" #: part/serializers.py:1903 msgid "No matching part found" -msgstr "" +msgstr "Nenhuma peça correspondente encontrada" #: part/serializers.py:1906 msgid "Part is not designated as a component" -msgstr "" +msgstr "Peça não está designada como componente" #: part/serializers.py:1915 msgid "Quantity not provided" -msgstr "" +msgstr "Quantidade não foi fornecida" #: part/serializers.py:1923 msgid "Invalid quantity" -msgstr "" +msgstr "Quantidade Inválida" #: part/serializers.py:1946 msgid "At least one BOM item is required" -msgstr "" +msgstr "Pelo menos um item LDM é necessário" #: part/stocktake.py:225 templates/js/translated/part.js:1070 #: templates/js/translated/part.js:1825 templates/js/translated/part.js:1881 #: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" -msgstr "" +msgstr "Quantidade Total" #: part/stocktake.py:226 msgid "Total Cost Min" -msgstr "" +msgstr "Custo Min Total" #: part/stocktake.py:227 msgid "Total Cost Max" -msgstr "" +msgstr "Custo Max Total" #: part/stocktake.py:285 msgid "Stocktake Report Available" -msgstr "" +msgstr "Balanço de Estoque Disponível" #: part/stocktake.py:286 msgid "A new stocktake report is available for download" -msgstr "" +msgstr "Um novo relatório de balanço do estoque está disponível para baixar" #: part/tasks.py:37 msgid "Low stock notification" -msgstr "" +msgstr "Notificação de estoque baixo" #: part/tasks.py:39 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" -msgstr "" +msgstr "O estoque disponível para {part.name} caiu abaixo do nível mínimo definido" #: part/templates/part/bom.html:6 msgid "You do not have permission to edit the BOM." -msgstr "" +msgstr "Você não tem permissões para editar a LDM." #: part/templates/part/bom.html:15 msgid "The BOM this part has been changed, and must be validated" -msgstr "" +msgstr "A LDM dessa peça foi alterada, e deve ser validada" #: part/templates/part/bom.html:17 #, python-format msgid "This BOM was last checked by %(checker)s on %(check_date)s" -msgstr "" +msgstr "Esta BOM foi verificada por %(checker)s em %(check_date)s" #: part/templates/part/bom.html:21 msgid "This BOM has not been validated." -msgstr "" +msgstr "A BOM não foi validada." #: part/templates/part/category.html:35 msgid "Perform stocktake for this part category" -msgstr "" +msgstr "Fazer balanço de estoque para esta categoria de peça" #: part/templates/part/category.html:41 part/templates/part/category.html:45 msgid "You are subscribed to notifications for this category" -msgstr "" +msgstr "Você está inscrito para notificações desta categoria" #: part/templates/part/category.html:49 msgid "Subscribe to notifications for this category" -msgstr "" +msgstr "Inscrever-se para notificações desta categoria" #: part/templates/part/category.html:55 msgid "Category Actions" -msgstr "" +msgstr "Ações de Categoria" #: part/templates/part/category.html:60 msgid "Edit category" -msgstr "" +msgstr "Editar categoria" #: part/templates/part/category.html:61 msgid "Edit Category" -msgstr "" +msgstr "Editar Categoria" #: part/templates/part/category.html:65 msgid "Delete category" -msgstr "" +msgstr "Excluir categoria" #: part/templates/part/category.html:66 msgid "Delete Category" -msgstr "" +msgstr "Excluir Categoria" #: part/templates/part/category.html:102 msgid "Top level part category" -msgstr "" +msgstr "Categoria de peça de nível superior" #: part/templates/part/category.html:127 msgid "Parts (Including subcategories)" -msgstr "" +msgstr "Peças (incluindo subcategorias)" #: part/templates/part/category.html:165 msgid "Create new part" -msgstr "" +msgstr "Criar nova peça" #: part/templates/part/category.html:166 templates/js/translated/bom.js:444 msgid "New Part" -msgstr "" +msgstr "Nova Peça" #: part/templates/part/category.html:192 #: templates/InvenTree/settings/part_parameters.html:7 #: templates/InvenTree/settings/sidebar.html:49 msgid "Part Parameters" -msgstr "" +msgstr "Parâmetros da Peça" #: part/templates/part/category.html:211 msgid "Create new part category" -msgstr "" +msgstr "Criar categoria de peça" #: part/templates/part/category.html:212 msgid "New Category" -msgstr "" +msgstr "Nova Categoria" #: part/templates/part/category_sidebar.html:13 msgid "Import Parts" -msgstr "" +msgstr "Importar Peças" #: part/templates/part/copy_part.html:10 #, python-format msgid "Make a copy of part '%(full_name)s'." -msgstr "" +msgstr "Faça uma cópia da peça '%(full_name)s'." #: part/templates/part/copy_part.html:14 #: part/templates/part/create_part.html:11 msgid "Possible Matching Parts" -msgstr "" +msgstr "Possíveis peças correspondentes" #: part/templates/part/copy_part.html:15 #: part/templates/part/create_part.html:12 msgid "The new part may be a duplicate of these existing parts" -msgstr "" +msgstr "A nova peça pode ser uma duplicata dessas peças existentes" #: part/templates/part/create_part.html:17 #, python-format msgid "%(full_name)s - %(desc)s (%(match_per)s%% match)" -msgstr "" +msgstr "%(full_name)s - %(desc)s (%(match_per)s%% correspondência)" #: part/templates/part/detail.html:20 msgid "Part Stock" -msgstr "" +msgstr "Estoque da Peça" #: part/templates/part/detail.html:44 msgid "Refresh scheduling data" -msgstr "" +msgstr "Atualizar dados de agendamento" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 #: templates/js/translated/tables.js:552 msgid "Refresh" -msgstr "" +msgstr "Recarregar" #: part/templates/part/detail.html:66 msgid "Add stocktake information" -msgstr "" +msgstr "Adicionar informações de balanço de estoque" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:255 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/stock.js:2216 users/models.py:204 msgid "Stocktake" -msgstr "" +msgstr "Balanço" #: part/templates/part/detail.html:83 msgid "Part Test Templates" -msgstr "" +msgstr "Modelos de Teste de Peça" #: part/templates/part/detail.html:88 msgid "Add Test Template" -msgstr "" +msgstr "Adicionar Modelo de Teste" #: part/templates/part/detail.html:139 stock/templates/stock/item.html:49 msgid "Sales Order Allocations" -msgstr "" +msgstr "Alocações do Pedido de Vendas" #: part/templates/part/detail.html:156 msgid "Part Notes" -msgstr "" +msgstr "Notas de Peça" #: part/templates/part/detail.html:171 msgid "Part Variants" -msgstr "" +msgstr "Variantes de Peça" #: part/templates/part/detail.html:175 msgid "Create new variant" -msgstr "" +msgstr "Criar variante" #: part/templates/part/detail.html:176 msgid "New Variant" -msgstr "" +msgstr "Nova Variação" #: part/templates/part/detail.html:199 msgid "Add new parameter" -msgstr "" +msgstr "Adicionar um novo parâmetro" #: part/templates/part/detail.html:232 part/templates/part/part_sidebar.html:58 msgid "Related Parts" -msgstr "" +msgstr "Peças Relacionadas" #: part/templates/part/detail.html:236 part/templates/part/detail.html:237 msgid "Add Related" -msgstr "" +msgstr "Adicionar Relacionado" #: part/templates/part/detail.html:255 part/templates/part/part_sidebar.html:17 #: report/templates/report/inventree_bill_of_materials_report.html:100 msgid "Bill of Materials" -msgstr "" +msgstr "Lista de Materiais" #: part/templates/part/detail.html:260 msgid "Export actions" -msgstr "" +msgstr "Exportar Ações" #: part/templates/part/detail.html:264 templates/js/translated/bom.js:340 msgid "Export BOM" -msgstr "" +msgstr "Exportar LDM" #: part/templates/part/detail.html:266 msgid "Print BOM Report" -msgstr "" +msgstr "Imprimir Relatório da LDM" #: part/templates/part/detail.html:272 msgid "BOM actions" -msgstr "" +msgstr "Ações da LDM" #: part/templates/part/detail.html:276 msgid "Upload BOM" -msgstr "" +msgstr "Carregar LDM" #: part/templates/part/detail.html:278 msgid "Validate BOM" -msgstr "" +msgstr "Validar LDM" #: part/templates/part/detail.html:283 part/templates/part/detail.html:284 #: templates/js/translated/bom.js:1320 templates/js/translated/bom.js:1321 msgid "Add BOM Item" -msgstr "" +msgstr "Adicionar Item LDM" #: part/templates/part/detail.html:297 msgid "Assemblies" -msgstr "" +msgstr "Montagens" #: part/templates/part/detail.html:313 msgid "Part Builds" -msgstr "" +msgstr "Produções de peça" #: part/templates/part/detail.html:338 stock/templates/stock/item.html:36 msgid "Build Order Allocations" -msgstr "" +msgstr "Alocações de Pedido de Produção" #: part/templates/part/detail.html:352 msgid "Part Suppliers" -msgstr "" +msgstr "Fornecedores da peça" #: part/templates/part/detail.html:372 msgid "Part Manufacturers" -msgstr "" +msgstr "Fabricantes da peça" #: part/templates/part/detail.html:657 msgid "Related Part" -msgstr "" +msgstr "Peça Relacionada" #: part/templates/part/detail.html:665 msgid "Add Related Part" -msgstr "" +msgstr "Adicionar Peça Relacionada" #: part/templates/part/detail.html:750 msgid "Add Test Result Template" -msgstr "" +msgstr "Adicionar Modelo de Resultado de Teste" #: part/templates/part/import_wizard/ajax_part_upload.html:29 #: part/templates/part/import_wizard/part_upload.html:14 msgid "Insufficient privileges." -msgstr "" +msgstr "Permissões insuficientes." #: part/templates/part/import_wizard/part_upload.html:8 msgid "Return to Parts" -msgstr "" +msgstr "Retornar para Peças" #: part/templates/part/import_wizard/part_upload.html:13 msgid "Import Parts from File" -msgstr "" +msgstr "Importar Peças de um Arquivo" #: part/templates/part/import_wizard/part_upload.html:31 msgid "Requirements for part import" -msgstr "" +msgstr "Requerimentos para importar peça" #: part/templates/part/import_wizard/part_upload.html:33 msgid "The part import file must contain the required named columns as provided in the " -msgstr "" +msgstr "O arquivo para importar peças deve conter as colunas nomeadas como fornecido na " #: part/templates/part/import_wizard/part_upload.html:33 msgid "Part Import Template" -msgstr "" +msgstr "Modelo de importação de Peças" #: part/templates/part/import_wizard/part_upload.html:89 msgid "Download Part Import Template" -msgstr "" +msgstr "Baixar Modelo de Importação de Peça" #: part/templates/part/import_wizard/part_upload.html:92 #: 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 "Formato" #: part/templates/part/import_wizard/part_upload.html:93 #: templates/js/translated/bom.js:310 templates/js/translated/bom.js:344 #: templates/js/translated/order.js:130 msgid "Select file format" -msgstr "" +msgstr "Selecione o formato de arquivo" #: part/templates/part/part_app_base.html:12 msgid "Part List" -msgstr "" +msgstr "Lista de Peças" #: part/templates/part/part_base.html:25 part/templates/part/part_base.html:29 msgid "You are subscribed to notifications for this part" -msgstr "" +msgstr "Você está inscrito para notificações desta peça" #: part/templates/part/part_base.html:33 msgid "Subscribe to notifications for this part" -msgstr "" +msgstr "Inscrever-se para notificações desta peça" #: part/templates/part/part_base.html:52 #: stock/templates/stock/item_base.html:62 #: stock/templates/stock/location.html:74 templates/js/translated/label.js:136 msgid "Print Label" -msgstr "" +msgstr "Imprimir Etiqueta" #: part/templates/part/part_base.html:58 msgid "Show pricing information" -msgstr "" +msgstr "Mostrar informações de preços" #: part/templates/part/part_base.html:63 #: stock/templates/stock/item_base.html:110 #: stock/templates/stock/location.html:83 msgid "Stock actions" -msgstr "" +msgstr "Ações de Estoque" #: part/templates/part/part_base.html:70 msgid "Count part stock" -msgstr "" +msgstr "Contagem peça em estoque" #: part/templates/part/part_base.html:76 msgid "Transfer part stock" -msgstr "" +msgstr "Transferir estoque de peça" #: part/templates/part/part_base.html:91 templates/js/translated/part.js:2296 msgid "Part actions" -msgstr "" +msgstr "Ações de peça" #: part/templates/part/part_base.html:94 msgid "Duplicate part" -msgstr "" +msgstr "Peça duplicada" #: part/templates/part/part_base.html:97 msgid "Edit part" -msgstr "" +msgstr "Editar peça" #: part/templates/part/part_base.html:100 msgid "Delete part" -msgstr "" +msgstr "Excluir peça" #: part/templates/part/part_base.html:119 msgid "Part is a template part (variants can be made from this part)" -msgstr "" +msgstr "Esta é uma peça modelo (as variantes podem ser feitas a partir desta peça)" #: part/templates/part/part_base.html:123 msgid "Part can be assembled from other parts" -msgstr "" +msgstr "Peças pode ser montada a partir de outras peças" #: part/templates/part/part_base.html:127 msgid "Part can be used in assemblies" -msgstr "" +msgstr "Peça pode ser usada em montagens" #: part/templates/part/part_base.html:131 msgid "Part stock is tracked by serial number" -msgstr "" +msgstr "Peça em estoque é controlada por número de série" #: part/templates/part/part_base.html:135 msgid "Part can be purchased from external suppliers" -msgstr "" +msgstr "Peça pode ser comprada de fornecedores externos" #: part/templates/part/part_base.html:139 msgid "Part can be sold to customers" -msgstr "" +msgstr "Peça pode ser vendida a clientes" #: part/templates/part/part_base.html:145 msgid "Part is not active" -msgstr "" +msgstr "Peça inativa" #: part/templates/part/part_base.html:153 msgid "Part is virtual (not a physical part)" -msgstr "" +msgstr "Peça é virtual (não é algo físico)" #: part/templates/part/part_base.html:163 #: part/templates/part/part_base.html:681 msgid "Show Part Details" -msgstr "" +msgstr "Mostrar Detalhes de Peça" #: part/templates/part/part_base.html:218 #: stock/templates/stock/item_base.html:388 msgid "Allocated to Build Orders" -msgstr "" +msgstr "Alocado para Pedidos de Construção" #: part/templates/part/part_base.html:227 #: stock/templates/stock/item_base.html:381 msgid "Allocated to Sales Orders" -msgstr "" +msgstr "Alocado para Pedidos de Venda" #: part/templates/part/part_base.html:235 templates/js/translated/bom.js:1219 msgid "Can Build" -msgstr "" +msgstr "Pode Produzir" #: part/templates/part/part_base.html:291 msgid "Minimum stock level" -msgstr "" +msgstr "Nível mínimo de estoque" #: part/templates/part/part_base.html:322 templates/js/translated/bom.js:1071 #: templates/js/translated/part.js:1268 templates/js/translated/part.js:2447 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" -msgstr "" +msgstr "Faixa de Preço" #: part/templates/part/part_base.html:352 msgid "Latest Serial Number" -msgstr "" +msgstr "Último Número de Série" #: part/templates/part/part_base.html:356 #: stock/templates/stock/item_base.html:322 msgid "Search for serial number" -msgstr "" +msgstr "Procurar por número serial" #: part/templates/part/part_base.html:444 msgid "Part QR Code" -msgstr "" +msgstr "QR Code da Peça" #: part/templates/part/part_base.html:461 msgid "Link Barcode to Part" -msgstr "" +msgstr "Vincular Código de Barras à Peça" #: part/templates/part/part_base.html:511 msgid "Calculate" -msgstr "" +msgstr "Calcular" #: part/templates/part/part_base.html:528 msgid "Remove associated image from this part" -msgstr "" +msgstr "Remover imagem associada a esta peça" #: part/templates/part/part_base.html:579 msgid "No matching images found" -msgstr "" +msgstr "Nenhuma imagem correspondente encontrada" #: part/templates/part/part_base.html:675 msgid "Hide Part Details" -msgstr "" +msgstr "Esconder Detalhes da Peça" #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:76 #: part/templates/part/prices.html:227 templates/js/translated/pricing.js:485 msgid "Supplier Pricing" -msgstr "" +msgstr "Preço do fornecedor" #: part/templates/part/part_pricing.html:26 #: part/templates/part/part_pricing.html:52 #: part/templates/part/part_pricing.html:95 #: part/templates/part/part_pricing.html:110 msgid "Unit Cost" -msgstr "" +msgstr "Custo unitário" #: part/templates/part/part_pricing.html:40 msgid "No supplier pricing available" -msgstr "" +msgstr "Nenhuma informação dos preços do fornecedor disponível" #: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:90 #: part/templates/part/prices.html:250 msgid "BOM Pricing" -msgstr "" +msgstr "Preço LDM" #: part/templates/part/part_pricing.html:66 msgid "Unit Purchase Price" -msgstr "" +msgstr "Preço Unitário de Compra" #: part/templates/part/part_pricing.html:72 msgid "Total Purchase Price" -msgstr "" +msgstr "Preço Total de Compra" #: part/templates/part/part_pricing.html:83 msgid "No BOM pricing available" -msgstr "" +msgstr "Preços LDM indisponíveis" #: part/templates/part/part_pricing.html:92 msgid "Internal Price" -msgstr "" +msgstr "Preço Interno" #: part/templates/part/part_pricing.html:123 msgid "No pricing information is available for this part." -msgstr "" +msgstr "Nenhuma informação de preço está disponível para esta peça." #: part/templates/part/part_scheduling.html:14 msgid "Scheduled Quantity" -msgstr "" +msgstr "Quantidade Agendada" #: part/templates/part/part_sidebar.html:11 msgid "Variants" -msgstr "" +msgstr "Variantes" #: part/templates/part/part_sidebar.html:14 #: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:24 @@ -7959,36 +7959,36 @@ msgstr "" #: templates/js/translated/part.js:2395 templates/js/translated/stock.js:1059 #: templates/js/translated/stock.js:2070 templates/navbar.html:31 msgid "Stock" -msgstr "" +msgstr "Estoque" #: part/templates/part/part_sidebar.html:30 #: templates/InvenTree/settings/sidebar.html:39 msgid "Pricing" -msgstr "" +msgstr "Preços" #: part/templates/part/part_sidebar.html:44 msgid "Scheduling" -msgstr "" +msgstr "Agendamento" #: part/templates/part/part_sidebar.html:54 msgid "Test Templates" -msgstr "" +msgstr "Testar Modelos" #: part/templates/part/part_thumb.html:11 msgid "Select from existing images" -msgstr "" +msgstr "Selecionar de imagens existentes" #: part/templates/part/prices.html:11 msgid "Pricing Overview" -msgstr "" +msgstr "Resumo de Preços" #: part/templates/part/prices.html:14 msgid "Refresh Part Pricing" -msgstr "" +msgstr "Atualizar Preço da Peça" #: part/templates/part/prices.html:17 msgid "Override Part Pricing" -msgstr "" +msgstr "Sobrepor Preço da Peça" #: part/templates/part/prices.html:18 #: templates/InvenTree/settings/settings_staff_js.html:80 @@ -7997,7 +7997,7 @@ msgstr "" #: templates/js/translated/pricing.js:628 templates/notes_buttons.html:3 #: templates/notes_buttons.html:4 msgid "Edit" -msgstr "" +msgstr "Editar" #: part/templates/part/prices.html:28 stock/admin.py:251 #: stock/templates/stock/item_base.html:446 @@ -8005,155 +8005,155 @@ msgstr "" #: templates/js/translated/company.js:1713 #: templates/js/translated/stock.js:2246 msgid "Last Updated" -msgstr "" +msgstr "Última atualização" #: part/templates/part/prices.html:37 part/templates/part/prices.html:127 msgid "Price Category" -msgstr "" +msgstr "Categoria de preço" #: part/templates/part/prices.html:38 part/templates/part/prices.html:128 msgid "Minimum" -msgstr "" +msgstr "Mínimo" #: part/templates/part/prices.html:39 part/templates/part/prices.html:129 msgid "Maximum" -msgstr "" +msgstr "Máximo" #: part/templates/part/prices.html:51 part/templates/part/prices.html:174 msgid "Internal Pricing" -msgstr "" +msgstr "Preço Interno" #: part/templates/part/prices.html:64 part/templates/part/prices.html:206 msgid "Purchase History" -msgstr "" +msgstr "Histórico de Compras" #: part/templates/part/prices.html:98 part/templates/part/prices.html:274 msgid "Variant Pricing" -msgstr "" +msgstr "Preço Variável" #: part/templates/part/prices.html:106 msgid "Pricing Overrides" -msgstr "" +msgstr "Sobrepor preços" #: part/templates/part/prices.html:113 msgid "Overall Pricing" -msgstr "" +msgstr "Preços Gerais" #: part/templates/part/prices.html:149 part/templates/part/prices.html:326 msgid "Sale History" -msgstr "" +msgstr "Histórico de vendas" #: part/templates/part/prices.html:157 msgid "Sale price data is not available for this part" -msgstr "" +msgstr "Dados de preço de venda não estão disponíveis para esta peça" #: part/templates/part/prices.html:164 msgid "Price range data is not available for this part." -msgstr "" +msgstr "Dados do intervalo de preços não estão disponíveis para esta peça." #: part/templates/part/prices.html:175 part/templates/part/prices.html:207 #: part/templates/part/prices.html:228 part/templates/part/prices.html:251 #: part/templates/part/prices.html:275 part/templates/part/prices.html:298 #: part/templates/part/prices.html:327 msgid "Jump to overview" -msgstr "" +msgstr "Ir para visão geral" #: part/templates/part/prices.html:180 msgid "Add Internal Price Break" -msgstr "" +msgstr "Adicionar intervalo de preço interno" #: part/templates/part/prices.html:297 msgid "Sale Pricing" -msgstr "" +msgstr "Preço de Venda" #: part/templates/part/prices.html:303 msgid "Add Sell Price Break" -msgstr "" +msgstr "Adicionar intervalo de preço de venda" #: part/templates/part/pricing_javascript.html:24 msgid "Update Pricing" -msgstr "" +msgstr "Atualizar Preços" #: part/templates/part/stock_count.html:7 #: templates/js/translated/model_renderers.js:227 #: templates/js/translated/part.js:704 templates/js/translated/part.js:2144 #: templates/js/translated/part.js:2146 msgid "No Stock" -msgstr "" +msgstr "Sem Estoque" #: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:120 msgid "Low Stock" -msgstr "" +msgstr "Estoque Baixo" #: part/templates/part/upload_bom.html:8 msgid "Return to BOM" -msgstr "" +msgstr "Voltar à LDM" #: part/templates/part/upload_bom.html:13 msgid "Upload Bill of Materials" -msgstr "" +msgstr "Carregar a Lista de materiais" #: part/templates/part/upload_bom.html:19 msgid "BOM upload requirements" -msgstr "" +msgstr "Requisitos para carregar LDM" #: part/templates/part/upload_bom.html:23 #: part/templates/part/upload_bom.html:90 msgid "Upload BOM File" -msgstr "" +msgstr "Carregar Arquivo LDM" #: part/templates/part/upload_bom.html:29 msgid "Submit BOM Data" -msgstr "" +msgstr "Enviar Dados LDM" #: part/templates/part/upload_bom.html:37 msgid "Requirements for BOM upload" -msgstr "" +msgstr "Requisitos para carregar a LDM" #: part/templates/part/upload_bom.html:39 msgid "The BOM file must contain the required named columns as provided in the " -msgstr "" +msgstr "O arquivo da LDM deve conter as colunas nomeadas como fornecido na " #: part/templates/part/upload_bom.html:39 msgid "BOM Upload Template" -msgstr "" +msgstr "Carregar Modelo de LDM" #: part/templates/part/upload_bom.html:40 msgid "Each part must already exist in the database" -msgstr "" +msgstr "Cada peça deve existir no banco de dados" #: part/templates/part/variant_part.html:9 msgid "Create new part variant" -msgstr "" +msgstr "Criar variante de peça" #: part/templates/part/variant_part.html:10 msgid "Create a new variant part from this template" -msgstr "" +msgstr "Criar uma peça variante a partir deste modelo" #: part/views.py:111 msgid "Match References" -msgstr "" +msgstr "Referências de combinações" #: part/views.py:275 #, python-brace-format msgid "Can't import part {new_part.name} because there is no category assigned" -msgstr "" +msgstr "Não é possível importar a peça {new_part.name} pois não há uma categoria atribuída" #: part/views.py:425 msgid "Select Part Image" -msgstr "" +msgstr "Selecionar Imagem da Peça" #: part/views.py:448 msgid "Updated part image" -msgstr "" +msgstr "Atualizar imagem da peça" #: part/views.py:451 msgid "Part image not found" -msgstr "" +msgstr "Imagem da peça não encontrada" #: part/views.py:545 msgid "Part Pricing" -msgstr "" +msgstr "Preço Peça" #: plugin/api.py:170 msgid "Plugin cannot be deleted as it is currently active" @@ -8161,164 +8161,164 @@ msgstr "" #: plugin/base/action/api.py:32 msgid "No action specified" -msgstr "" +msgstr "Nenhuma ação especificada" #: plugin/base/action/api.py:41 msgid "No matching action found" -msgstr "" +msgstr "Nenhuma ação correspondente encontrada" #: plugin/base/barcodes/api.py:124 plugin/base/barcodes/api.py:328 #: plugin/base/barcodes/api.py:503 msgid "No match found for barcode data" -msgstr "" +msgstr "Nenhum resultado encontrado para os dados do código de barras" #: plugin/base/barcodes/api.py:128 msgid "Match found for barcode data" -msgstr "" +msgstr "Coincidência encontrada para dados de código de barras" #: plugin/base/barcodes/api.py:154 #: templates/js/translated/purchase_order.js:1406 msgid "Barcode matches existing item" -msgstr "" +msgstr "Código de barras corresponde ao item existente" #: plugin/base/barcodes/api.py:293 msgid "No matching part data found" -msgstr "" +msgstr "Nenhuma informação de peça correspondente encontrada" #: plugin/base/barcodes/api.py:310 msgid "No matching supplier parts found" -msgstr "" +msgstr "Nenhuma peça de fornecedor correspondente encontrada" #: plugin/base/barcodes/api.py:314 msgid "Multiple matching supplier parts found" -msgstr "" +msgstr "Múltiplas peças de fornecedores correspondentes encontradas" #: plugin/base/barcodes/api.py:338 msgid "Matched supplier part" -msgstr "" +msgstr "Peça de fornecedor correspondente" #: plugin/base/barcodes/api.py:387 msgid "Item has already been received" -msgstr "" +msgstr "Item do pedido já foi recebido" #: plugin/base/barcodes/api.py:424 msgid "No match for supplier barcode" -msgstr "" +msgstr "Nenhuma correspondência para o código de barras do fornecedor" #: plugin/base/barcodes/api.py:467 msgid "Multiple matching line items found" -msgstr "" +msgstr "Diversos itens de linha correspondentes encontrados" #: plugin/base/barcodes/api.py:470 msgid "No matching line item found" -msgstr "" +msgstr "Nenhum item de linha correspondente encontrado" #: plugin/base/barcodes/api.py:508 plugin/base/barcodes/api.py:515 msgid "Barcode does not match an existing stock item" -msgstr "" +msgstr "Código de barras não corresponde a item de estoque válido" #: plugin/base/barcodes/api.py:526 msgid "Stock item does not match line item" -msgstr "" +msgstr "Item do estoque não corresponde ao item de linha" #: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2590 #: templates/js/translated/sales_order.js:1953 msgid "Insufficient stock available" -msgstr "" +msgstr "Estoque insuficiente disponível" #: plugin/base/barcodes/api.py:559 msgid "Stock item allocated to sales order" -msgstr "" +msgstr "Item de estoque atribuído para pedido de venda" #: plugin/base/barcodes/api.py:563 msgid "Not enough information" -msgstr "" +msgstr "Não há informação suficiente" #: plugin/base/barcodes/mixins.py:147 plugin/base/barcodes/mixins.py:179 msgid "Found multiple matching supplier parts for barcode" -msgstr "" +msgstr "Múltiplas peças de fornecedores correspondentes encontradas para o código de barras" #: plugin/base/barcodes/mixins.py:197 #, python-brace-format msgid "Found multiple purchase orders matching '{order}'" -msgstr "" +msgstr "Encontrados vários pedidos de compra correspondentes a '{order}'" #: plugin/base/barcodes/mixins.py:201 #, python-brace-format msgid "No matching purchase order for '{order}'" -msgstr "" +msgstr "Nenhum pedido de compra correspondente a '{order}' encontrado" #: plugin/base/barcodes/mixins.py:206 msgid "Purchase order does not match supplier" -msgstr "" +msgstr "Pedido de compra não corresponde ao fornecedor" #: plugin/base/barcodes/mixins.py:440 msgid "Failed to find pending line item for supplier part" -msgstr "" +msgstr "Falha ao encontrar item de linha pendente para a parte do fornecedor" #: plugin/base/barcodes/mixins.py:471 msgid "Further information required to receive line item" -msgstr "" +msgstr "Mais informações necessárias para receber o item de linha" #: plugin/base/barcodes/mixins.py:479 msgid "Received purchase order line item" -msgstr "" +msgstr "Item de linha do pedido de compra recebido" #: plugin/base/barcodes/serializers.py:21 msgid "Scanned barcode data" -msgstr "" +msgstr "Dados do código de barras lido" #: plugin/base/barcodes/serializers.py:81 msgid "Purchase Order to allocate items against" -msgstr "" +msgstr "Pedido de compra para alocar itens contra" #: plugin/base/barcodes/serializers.py:87 msgid "Purchase order is not pending" -msgstr "" +msgstr "O pedido de compra não está pendente" #: plugin/base/barcodes/serializers.py:105 msgid "PurchaseOrder to receive items against" -msgstr "" +msgstr "Pedido de compra para receber itens contra" #: plugin/base/barcodes/serializers.py:111 msgid "Purchase order has not been placed" -msgstr "" +msgstr "O pedido de compra não foi realizado" #: plugin/base/barcodes/serializers.py:119 msgid "Location to receive items into" -msgstr "" +msgstr "Localização para receber itens" #: plugin/base/barcodes/serializers.py:125 msgid "Cannot select a structural location" -msgstr "" +msgstr "Não é possível selecionar um local estrutural" #: plugin/base/barcodes/serializers.py:139 msgid "Sales Order to allocate items against" -msgstr "" +msgstr "Pedido de compra para alocar itens contra" #: plugin/base/barcodes/serializers.py:145 msgid "Sales order is not pending" -msgstr "" +msgstr "O pedido de venda não está pendente" #: plugin/base/barcodes/serializers.py:153 msgid "Sales order line item to allocate items against" -msgstr "" +msgstr "Item de linha do pedido de venda para alocar itens contra" #: plugin/base/barcodes/serializers.py:160 msgid "Sales order shipment to allocate items against" -msgstr "" +msgstr "Envio do pedido de venda para alocar itens contra" #: plugin/base/barcodes/serializers.py:166 msgid "Shipment has already been delivered" -msgstr "" +msgstr "O envio já foi entregue" #: plugin/base/barcodes/serializers.py:171 msgid "Quantity to allocate" -msgstr "" +msgstr "Quantidade a alocar" #: plugin/base/label/label.py:39 templates/js/translated/label.js:148 msgid "Label printing failed" -msgstr "" +msgstr "Impressão de etiqueta falhou" #: plugin/base/label/mixins.py:56 msgid "Error rendering label to PDF" @@ -8334,11 +8334,11 @@ msgstr "" #: plugin/builtin/barcodes/inventree_barcode.py:25 msgid "InvenTree Barcodes" -msgstr "" +msgstr "Códigos de Barras InvenTree" #: plugin/builtin/barcodes/inventree_barcode.py:26 msgid "Provides native support for barcodes" -msgstr "" +msgstr "Fornece suporte nativo para códigos de barras" #: plugin/builtin/barcodes/inventree_barcode.py:28 #: plugin/builtin/integration/core_notifications.py:35 @@ -8349,69 +8349,69 @@ msgstr "" #: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 #: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 msgid "InvenTree contributors" -msgstr "" +msgstr "Contribuidores do InvenTree" #: plugin/builtin/integration/core_notifications.py:34 msgid "InvenTree Notifications" -msgstr "" +msgstr "Notificações do InvenTree" #: plugin/builtin/integration/core_notifications.py:36 msgid "Integrated outgoing notification methods" -msgstr "" +msgstr "Métodos de envio de notificação integrados" #: plugin/builtin/integration/core_notifications.py:41 #: plugin/builtin/integration/core_notifications.py:80 msgid "Enable email notifications" -msgstr "" +msgstr "Habilitar notificações por email" #: plugin/builtin/integration/core_notifications.py:42 #: plugin/builtin/integration/core_notifications.py:81 msgid "Allow sending of emails for event notifications" -msgstr "" +msgstr "Permitir enviar emails para notificações de eventos" #: plugin/builtin/integration/core_notifications.py:47 msgid "Enable slack notifications" -msgstr "" +msgstr "Habilitar notificações por Slack" #: plugin/builtin/integration/core_notifications.py:49 msgid "Allow sending of slack channel messages for event notifications" -msgstr "" +msgstr "Permitir envio de notificações de eventos pelo canal de mensagens do slack" #: plugin/builtin/integration/core_notifications.py:55 msgid "Slack incoming webhook url" -msgstr "" +msgstr "Link do gancho de entrada do Slack" #: plugin/builtin/integration/core_notifications.py:56 msgid "URL that is used to send messages to a slack channel" -msgstr "" +msgstr "URL usada para enviar mensagens para um canal do Slack" #: plugin/builtin/integration/core_notifications.py:164 msgid "Open link" -msgstr "" +msgstr "Abrir link" #: plugin/builtin/integration/currency_exchange.py:22 msgid "InvenTree Currency Exchange" -msgstr "" +msgstr "Câmbio de Moeda InvenTree" #: plugin/builtin/integration/currency_exchange.py:23 msgid "Default currency exchange integration" -msgstr "" +msgstr "Integração padrão de câmbio de moeda" #: plugin/builtin/labels/inventree_label.py:19 msgid "InvenTree PDF label printer" -msgstr "" +msgstr "Impressora de etiquetas PDF do InvenTree" #: plugin/builtin/labels/inventree_label.py:20 msgid "Provides native support for printing PDF labels" -msgstr "" +msgstr "Providenciar suporte nativo para impressão de etiquetas em PDF" #: plugin/builtin/labels/inventree_label.py:28 msgid "Debug mode" -msgstr "" +msgstr "Modo de depuração" #: plugin/builtin/labels/inventree_label.py:29 msgid "Enable debug mode - returns raw HTML instead of PDF" -msgstr "" +msgstr "Ativar o modo de depuração - retorna HTML bruto em vez de PDF" #: plugin/builtin/labels/inventree_machine.py:61 msgid "InvenTree machine label printer" @@ -8431,95 +8431,95 @@ msgstr "" #: plugin/builtin/labels/label_sheet.py:29 msgid "Page size for the label sheet" -msgstr "" +msgstr "Tamanho da página para folha de etiqueta" #: plugin/builtin/labels/label_sheet.py:34 msgid "Skip Labels" -msgstr "" +msgstr "Pular Etiquetas" #: plugin/builtin/labels/label_sheet.py:35 msgid "Skip this number of labels when printing label sheets" -msgstr "" +msgstr "Ignorar este número de etiquetas quando imprimir folhas de etiquetas" #: plugin/builtin/labels/label_sheet.py:41 msgid "Border" -msgstr "" +msgstr "Borda" #: plugin/builtin/labels/label_sheet.py:42 msgid "Print a border around each label" -msgstr "" +msgstr "Imprima uma borda em torno de cada etiqueta" #: plugin/builtin/labels/label_sheet.py:47 report/models.py:308 msgid "Landscape" -msgstr "" +msgstr "Paisagem" #: plugin/builtin/labels/label_sheet.py:48 msgid "Print the label sheet in landscape mode" -msgstr "" +msgstr "Imprimir a folha de etiqueta no modo paisagem" #: plugin/builtin/labels/label_sheet.py:60 msgid "InvenTree Label Sheet Printer" -msgstr "" +msgstr "Impressora de folhas de etiqueta do InvenTree" #: plugin/builtin/labels/label_sheet.py:61 msgid "Arrays multiple labels onto a single sheet" -msgstr "" +msgstr "Matriz várias etiquetas em uma única folha" #: plugin/builtin/labels/label_sheet.py:99 msgid "Label is too large for page size" -msgstr "" +msgstr "A etiqueta é muito grande para tamanho de página" #: plugin/builtin/labels/label_sheet.py:133 msgid "No labels were generated" -msgstr "" +msgstr "Nenhuma etiqueta foi gerada" #: plugin/builtin/suppliers/digikey.py:16 msgid "Supplier Integration - DigiKey" -msgstr "" +msgstr "Integração de fornecedor - DigiKey" #: plugin/builtin/suppliers/digikey.py:17 msgid "Provides support for scanning DigiKey barcodes" -msgstr "" +msgstr "Fornece suporte para escanear códigos de barras DigiKey" #: plugin/builtin/suppliers/digikey.py:26 msgid "The Supplier which acts as 'DigiKey'" -msgstr "" +msgstr "O fornecedor que atua como 'DigiKey'" #: plugin/builtin/suppliers/lcsc.py:18 msgid "Supplier Integration - LCSC" -msgstr "" +msgstr "Integração de fornecedor - LCSC" #: plugin/builtin/suppliers/lcsc.py:19 msgid "Provides support for scanning LCSC barcodes" -msgstr "" +msgstr "Fornece suporte para escanear códigos de barras LCSC" #: plugin/builtin/suppliers/lcsc.py:27 msgid "The Supplier which acts as 'LCSC'" -msgstr "" +msgstr "O fornecedor que atua como 'LCSC'" #: plugin/builtin/suppliers/mouser.py:16 msgid "Supplier Integration - Mouser" -msgstr "" +msgstr "Integração de fornecedor - Mouser" #: plugin/builtin/suppliers/mouser.py:17 msgid "Provides support for scanning Mouser barcodes" -msgstr "" +msgstr "Fornece suporte para escanear códigos de barras Mouser" #: plugin/builtin/suppliers/mouser.py:25 msgid "The Supplier which acts as 'Mouser'" -msgstr "" +msgstr "O fornecedor que atua como 'Mouser'" #: plugin/builtin/suppliers/tme.py:18 msgid "Supplier Integration - TME" -msgstr "" +msgstr "Integração de fornecedor - TME" #: plugin/builtin/suppliers/tme.py:19 msgid "Provides support for scanning TME barcodes" -msgstr "" +msgstr "Fornece suporte para escanear códigos de barras TME" #: plugin/builtin/suppliers/tme.py:27 msgid "The Supplier which acts as 'TME'" -msgstr "" +msgstr "O fornecedor que atua como 'TME'" #: plugin/installer.py:194 plugin/installer.py:282 msgid "Only staff users can administer plugins" @@ -8531,12 +8531,12 @@ msgstr "" #: plugin/installer.py:248 msgid "Installed plugin successfully" -msgstr "" +msgstr "Plugin instalado com sucesso" #: plugin/installer.py:254 #, python-brace-format msgid "Installed plugin into {path}" -msgstr "" +msgstr "Plugin instalado na {path}" #: plugin/installer.py:273 msgid "Plugin was not found in registry" @@ -8564,27 +8564,27 @@ msgstr "" #: plugin/models.py:36 msgid "Plugin Configuration" -msgstr "" +msgstr "Configuração de Extensão" #: plugin/models.py:37 msgid "Plugin Configurations" -msgstr "" +msgstr "Configuração de Extensões" #: plugin/models.py:43 users/models.py:100 msgid "Key" -msgstr "" +msgstr "Chave" #: plugin/models.py:44 msgid "Key of plugin" -msgstr "" +msgstr "Chave da extensão" #: plugin/models.py:52 msgid "PluginName of the plugin" -msgstr "" +msgstr "Nome da Extensão" #: plugin/models.py:59 plugin/serializers.py:90 msgid "Package Name" -msgstr "" +msgstr "Nome do Pacote" #: plugin/models.py:61 msgid "Name of the installed package, if the plugin was installed via PIP" @@ -8592,20 +8592,20 @@ msgstr "" #: plugin/models.py:66 msgid "Is the plugin active" -msgstr "" +msgstr "O plug-in está ativo" #: plugin/models.py:157 templates/js/translated/table_filters.js:370 #: templates/js/translated/table_filters.js:504 msgid "Installed" -msgstr "" +msgstr "Instalado" #: plugin/models.py:166 msgid "Sample plugin" -msgstr "" +msgstr "Plug-in de exemplo" #: plugin/models.py:174 msgid "Builtin Plugin" -msgstr "" +msgstr "Plugin embutido" #: plugin/models.py:182 msgid "Package Plugin" @@ -8615,88 +8615,88 @@ msgstr "" #: templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:51 msgid "Plugin" -msgstr "" +msgstr "Extensões" #: plugin/models.py:267 msgid "Method" -msgstr "" +msgstr "Método" #: plugin/plugin.py:270 msgid "No author found" -msgstr "" +msgstr "Nenhum autor encontrado" #: plugin/registry.py:534 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" -msgstr "" +msgstr "A extensão '{p}' não é compatível com a versão atual do InvenTree {v}" #: plugin/registry.py:537 #, python-brace-format msgid "Plugin requires at least version {v}" -msgstr "" +msgstr "Extensão requer pelo menos a versão {v}" #: plugin/registry.py:539 #, python-brace-format msgid "Plugin requires at most version {v}" -msgstr "" +msgstr "Extensão requer no máximo a versão {v}" #: plugin/samples/integration/sample.py:52 msgid "Enable PO" -msgstr "" +msgstr "Ativar PO" #: plugin/samples/integration/sample.py:53 msgid "Enable PO functionality in InvenTree interface" -msgstr "" +msgstr "Ativar a funcionalidade PO na interface InvenTree" #: plugin/samples/integration/sample.py:58 msgid "API Key" -msgstr "" +msgstr "Chave API" #: plugin/samples/integration/sample.py:59 msgid "Key required for accessing external API" -msgstr "" +msgstr "Chave necessária para acesso à API externa" #: plugin/samples/integration/sample.py:63 msgid "Numerical" -msgstr "" +msgstr "Numérico" #: plugin/samples/integration/sample.py:64 msgid "A numerical setting" -msgstr "" +msgstr "Uma configuração numérica" #: plugin/samples/integration/sample.py:69 msgid "Choice Setting" -msgstr "" +msgstr "Configurações de Escolha" #: plugin/samples/integration/sample.py:70 msgid "A setting with multiple choices" -msgstr "" +msgstr "Uma configuração com várias escolhas" #: plugin/samples/integration/sample_currency_exchange.py:15 msgid "Sample currency exchange plugin" -msgstr "" +msgstr "Plugin de Câmbio de exemplo" #: plugin/samples/integration/sample_currency_exchange.py:18 msgid "InvenTree Contributors" -msgstr "" +msgstr "Contribuidores do InvenTree" #: plugin/serializers.py:81 msgid "Source URL" -msgstr "" +msgstr "URL de origem" #: plugin/serializers.py:83 msgid "Source for the package - this can be a custom registry or a VCS path" -msgstr "" +msgstr "Fonte do pacote — este pode ser um registro personalizado ou um caminho de VCS" #: plugin/serializers.py:92 msgid "Name for the Plugin Package - can also contain a version indicator" -msgstr "" +msgstr "Nome para o Pacote da Extensão — também pode conter um indicador de versão" #: plugin/serializers.py:99 #: templates/InvenTree/settings/plugin_settings.html:42 #: templates/js/translated/plugin.js:86 msgid "Version" -msgstr "" +msgstr "Versão" #: plugin/serializers.py:101 msgid "Version specifier for the plugin. Leave blank for latest version." @@ -8704,51 +8704,51 @@ msgstr "" #: plugin/serializers.py:106 msgid "Confirm plugin installation" -msgstr "" +msgstr "Confirmar instalação da extensão" #: plugin/serializers.py:108 msgid "This will install this plugin now into the current instance. The instance will go into maintenance." -msgstr "" +msgstr "Isto instalará a extensão agora na instância atual. A instância irá entrar em manutenção." #: plugin/serializers.py:121 msgid "Installation not confirmed" -msgstr "" +msgstr "Instalação não confirmada" #: plugin/serializers.py:123 msgid "Either packagename of URL must be provided" -msgstr "" +msgstr "Qualquer nome do pacote URL deve ser fornecido" #: plugin/serializers.py:161 msgid "Full reload" -msgstr "" +msgstr "Recarregamento completo" #: plugin/serializers.py:162 msgid "Perform a full reload of the plugin registry" -msgstr "" +msgstr "Realize um recarregamento completo do registro de plugin" #: plugin/serializers.py:168 msgid "Force reload" -msgstr "" +msgstr "Forçar recarregamento" #: plugin/serializers.py:170 msgid "Force a reload of the plugin registry, even if it is already loaded" -msgstr "" +msgstr "Forçar um recarregamento do registro do plugin, mesmo que já esteja carregado" #: plugin/serializers.py:177 msgid "Collect plugins" -msgstr "" +msgstr "Coletar plugins" #: plugin/serializers.py:178 msgid "Collect plugins and add them to the registry" -msgstr "" +msgstr "Colete plugins e adicione-os ao registro" #: plugin/serializers.py:205 msgid "Activate Plugin" -msgstr "" +msgstr "Ativar Extensão" #: plugin/serializers.py:206 msgid "Activate this plugin" -msgstr "" +msgstr "Ativar esta extensão" #: plugin/serializers.py:226 msgid "Delete configuration" @@ -8760,7 +8760,7 @@ msgstr "" #: report/api.py:88 msgid "No valid objects provided to template" -msgstr "" +msgstr "Nenhum objeto válido fornecido para o modelo" #: report/api.py:103 report/models.py:439 report/serializers.py:98 #: report/serializers.py:148 templates/js/translated/purchase_order.js:1747 @@ -8768,7 +8768,7 @@ msgstr "" #: templates/js/translated/sales_order.js:887 #: templates/js/translated/sales_order.js:1047 msgid "Items" -msgstr "" +msgstr "Itens" #: report/api.py:180 msgid "Plugin not found" @@ -8792,12 +8792,12 @@ msgstr "" #: report/api.py:283 msgid "Error printing label" -msgstr "" +msgstr "Erro ao imprimir etiqueta" #: report/api.py:375 report/api.py:411 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" -msgstr "" +msgstr "Arquivo modelo '{template}' perdido ou não existe" #: report/helpers.py:43 msgid "A4" @@ -8809,11 +8809,11 @@ msgstr "" #: report/helpers.py:45 msgid "Legal" -msgstr "" +msgstr "Ofício" #: report/helpers.py:46 msgid "Letter" -msgstr "" +msgstr "Carta" #: report/models.py:119 msgid "Template file with this name already exists" @@ -8821,7 +8821,7 @@ msgstr "" #: report/models.py:151 msgid "Template name" -msgstr "" +msgstr "Nome do modelo" #: report/models.py:157 msgid "Template description" @@ -8833,7 +8833,7 @@ msgstr "" #: report/models.py:203 msgid "Filename Pattern" -msgstr "" +msgstr "Padrão de Nome de Arquivo" #: report/models.py:204 msgid "Pattern for generating filenames" @@ -8849,7 +8849,7 @@ msgstr "" #: report/models.py:235 msgid "Filters" -msgstr "" +msgstr "Filtros" #: report/models.py:236 msgid "Template query filters (comma-separated list of key=value pairs)" @@ -8861,27 +8861,27 @@ msgstr "" #: report/models.py:303 msgid "Page size for PDF reports" -msgstr "" +msgstr "Tamanho da página para relatórios PDF" #: report/models.py:309 msgid "Render report in landscape orientation" -msgstr "" +msgstr "Renderizar relatório em orientação paisagem" #: report/models.py:368 msgid "Width [mm]" -msgstr "" +msgstr "Largura [mm]" #: report/models.py:369 msgid "Label width, specified in mm" -msgstr "" +msgstr "Largura da etiqueta, em mm" #: report/models.py:375 msgid "Height [mm]" -msgstr "" +msgstr "Altura [mm]" #: report/models.py:376 msgid "Label height, specified in mm" -msgstr "" +msgstr "Altura da Etiqueta, em mm" #: report/models.py:439 msgid "Number of items to process" @@ -8893,7 +8893,7 @@ msgstr "" #: report/models.py:449 templates/js/translated/build.js:2177 msgid "Progress" -msgstr "" +msgstr "Progresso" #: report/models.py:449 msgid "Report generation progress" @@ -8921,27 +8921,27 @@ msgstr "" #: report/models.py:503 msgid "Snippet" -msgstr "" +msgstr "Recorte" #: report/models.py:504 msgid "Report snippet file" -msgstr "" +msgstr "Relatar arquivo de recorte" #: report/models.py:511 msgid "Snippet file description" -msgstr "" +msgstr "Descrição do arquivo de recorte" #: report/models.py:529 msgid "Asset" -msgstr "" +msgstr "Patrimônio" #: report/models.py:530 msgid "Report asset file" -msgstr "" +msgstr "Reportar arquivo de ativos" #: report/models.py:537 msgid "Asset file description" -msgstr "" +msgstr "Descrição do arquivo de ativos" #: report/serializers.py:91 msgid "Select report template" @@ -8953,7 +8953,7 @@ msgstr "" #: report/serializers.py:132 msgid "Select label template" -msgstr "" +msgstr "Selecione o modelo de etiqueta" #: report/serializers.py:140 msgid "Printing Plugin" @@ -8968,25 +8968,25 @@ msgstr "" #: report/templates/label/stocklocation_qr.html:20 #: templates/allauth_2fa/setup.html:18 msgid "QR Code" -msgstr "" +msgstr "Código 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 "" +msgstr "Código QR" #: report/templates/report/inventree_bill_of_materials_report.html:133 msgid "Materials needed" -msgstr "" +msgstr "Materiais necessários" #: report/templates/report/inventree_build_order_report.html:146 msgid "Required For" -msgstr "" +msgstr "Necessário para" #: report/templates/report/inventree_purchase_order_report.html:15 msgid "Supplier was deleted" -msgstr "" +msgstr "Fornecedor foi excluído" #: report/templates/report/inventree_purchase_order_report.html:30 #: report/templates/report/inventree_sales_order_report.html:30 @@ -8996,13 +8996,13 @@ msgstr "" #: templates/js/translated/purchase_order.js:2115 #: templates/js/translated/sales_order.js:1873 msgid "Unit Price" -msgstr "" +msgstr "Preço unitário" #: 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 "" +msgstr "Extra Itens de Linha" #: report/templates/report/inventree_purchase_order_report.html:72 #: report/templates/report/inventree_sales_order_report.html:72 @@ -9024,92 +9024,92 @@ msgstr "" #: templates/js/translated/sales_order.js:1732 #: templates/js/translated/stock.js:596 msgid "Serial Number" -msgstr "" +msgstr "Número de Sério" #: report/templates/report/inventree_stock_location_report.html:97 msgid "Stock location items" -msgstr "" +msgstr "Estoque de itens do local" #: report/templates/report/inventree_test_report.html:21 msgid "Stock Item Test Report" -msgstr "" +msgstr "Relatório Teste do Item em Estoque" #: report/templates/report/inventree_test_report.html:97 msgid "Test Results" -msgstr "" +msgstr "Resultados do teste" #: report/templates/report/inventree_test_report.html:102 #: templates/js/translated/stock.js:1495 msgid "Test" -msgstr "" +msgstr "Teste" #: report/templates/report/inventree_test_report.html:103 stock/models.py:2457 msgid "Result" -msgstr "" +msgstr "Resultado" #: report/templates/report/inventree_test_report.html:129 msgid "Pass" -msgstr "" +msgstr "Aprovado" #: report/templates/report/inventree_test_report.html:131 msgid "Fail" -msgstr "" +msgstr "Não Aprovado" #: report/templates/report/inventree_test_report.html:138 msgid "No result (required)" -msgstr "" +msgstr "Sem resultado (obrigatório)" #: report/templates/report/inventree_test_report.html:140 msgid "No result" -msgstr "" +msgstr "Nenhum resultado" #: report/templates/report/inventree_test_report.html:153 #: stock/serializers.py:591 stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" -msgstr "" +msgstr "Itens instalados" #: report/templates/report/inventree_test_report.html:167 stock/admin.py:161 #: templates/js/translated/stock.js:700 templates/js/translated/stock.js:871 #: templates/js/translated/stock.js:3110 msgid "Serial" -msgstr "" +msgstr "Série" #: report/templatetags/report.py:96 msgid "Asset file does not exist" -msgstr "" +msgstr "O arquivo não existe" #: report/templatetags/report.py:152 report/templatetags/report.py:217 msgid "Image file not found" -msgstr "" +msgstr "Arquivo de imagem não encontrado" #: report/templatetags/report.py:242 msgid "part_image tag requires a Part instance" -msgstr "" +msgstr "Tag part_image necessita de uma instância de Peça" #: report/templatetags/report.py:283 msgid "company_image tag requires a Company instance" -msgstr "" +msgstr "Tag company_image necessita de uma instância de Empresa" #: stock/admin.py:51 stock/admin.py:171 msgid "Location ID" -msgstr "" +msgstr "ID do local" #: stock/admin.py:63 stock/templates/stock/location.html:131 #: stock/templates/stock/location.html:137 msgid "Location Path" -msgstr "" +msgstr "Caminho do local" #: stock/admin.py:148 msgid "Stock Item ID" -msgstr "" +msgstr "ID do item estoque" #: stock/admin.py:167 msgid "Status Code" -msgstr "" +msgstr "Código da situação" #: stock/admin.py:179 msgid "Supplier Part ID" -msgstr "" +msgstr "Número da Peça do Fornecedor" #: stock/admin.py:184 msgid "Supplier Part SKU" @@ -9117,46 +9117,46 @@ msgstr "" #: stock/admin.py:189 msgid "Supplier ID" -msgstr "" +msgstr "ID do Fornecedor" #: stock/admin.py:195 msgid "Supplier Name" -msgstr "" +msgstr "Nome do Fornecedor" #: stock/admin.py:200 msgid "Customer ID" -msgstr "" +msgstr "ID Cliente" #: stock/admin.py:205 stock/models.py:805 #: stock/templates/stock/item_base.html:354 msgid "Installed In" -msgstr "" +msgstr "Instalado em" #: stock/admin.py:210 msgid "Build ID" -msgstr "" +msgstr "ID da Produção" #: stock/admin.py:220 msgid "Sales Order ID" -msgstr "" +msgstr "ID do pedido de venda" #: stock/admin.py:225 msgid "Purchase Order ID" -msgstr "" +msgstr "ID do pedido de compra" #: stock/admin.py:240 msgid "Review Needed" -msgstr "" +msgstr "Revisão Necessária" #: stock/admin.py:245 msgid "Delete on Deplete" -msgstr "" +msgstr "Excluir quando esgotado" #: stock/admin.py:260 stock/models.py:899 #: stock/templates/stock/item_base.html:433 #: templates/js/translated/stock.js:2230 users/models.py:124 msgid "Expiry Date" -msgstr "" +msgstr "Data de validade" #: stock/api.py:312 msgid "Filter by location depth" @@ -9180,246 +9180,246 @@ msgstr "" #: stock/api.py:617 templates/js/translated/table_filters.js:427 msgid "External Location" -msgstr "" +msgstr "Localização externa" #: stock/api.py:805 msgid "Part Tree" -msgstr "" +msgstr "Árvore de Peças" #: stock/api.py:835 msgid "Expiry date before" -msgstr "" +msgstr "Data de validade antes" #: stock/api.py:839 msgid "Expiry date after" -msgstr "" +msgstr "Data de validade depois" #: stock/api.py:842 stock/serializers.py:596 #: stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" -msgstr "" +msgstr "Inativo" #: stock/api.py:929 msgid "Quantity is required" -msgstr "" +msgstr "Quantidade obrigatória" #: stock/api.py:935 msgid "Valid part must be supplied" -msgstr "" +msgstr "Uma peça válida deve ser fornecida" #: stock/api.py:966 msgid "The given supplier part does not exist" -msgstr "" +msgstr "A peça do fornecedor informado não existe" #: stock/api.py:976 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" -msgstr "" +msgstr "A peça do fornecedor tem um tamanho de pacote definido, mas o item use_pack_size não foi definida" #: stock/api.py:1007 msgid "Serial numbers cannot be supplied for a non-trackable part" -msgstr "" +msgstr "Números de série não podem ser fornecidos para uma parte não rastreável" #: stock/models.py:61 msgid "Stock Location type" -msgstr "" +msgstr "Tipo de Local de estoque" #: stock/models.py:62 msgid "Stock Location types" -msgstr "" +msgstr "Tipos de Locais de estoque" #: stock/models.py:88 msgid "Default icon for all locations that have no icon set (optional)" -msgstr "" +msgstr "Ícone padrão para todos os locais que não tem um ícone (opcional)" #: stock/models.py:125 stock/models.py:787 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" -msgstr "" +msgstr "Localização do estoque" #: stock/models.py:126 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 "" +msgstr "Locais de estoque" #: stock/models.py:168 stock/models.py:948 #: stock/templates/stock/item_base.html:247 msgid "Owner" -msgstr "" +msgstr "Responsavel" #: stock/models.py:169 stock/models.py:949 msgid "Select Owner" -msgstr "" +msgstr "Selecionar Responsável" #: stock/models.py:177 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." -msgstr "" +msgstr "Os itens de estoque podem não estar diretamente localizados em um local de estoque estrutural, mas podem ser localizados em locais filhos." #: stock/models.py:184 templates/js/translated/stock.js:2781 #: templates/js/translated/table_filters.js:243 msgid "External" -msgstr "" +msgstr "Externo" #: stock/models.py:185 msgid "This is an external stock location" -msgstr "" +msgstr "Esta é uma localização de estoque externo" #: stock/models.py:191 templates/js/translated/stock.js:2790 #: templates/js/translated/table_filters.js:246 msgid "Location type" -msgstr "" +msgstr "Tipo de localização" #: stock/models.py:195 msgid "Stock location type of this location" -msgstr "" +msgstr "Tipo de Local de Estoque para esta locação" #: stock/models.py:262 msgid "You cannot make this stock location structural because some stock items are already located into it!" -msgstr "" +msgstr "Você não pode tornar este local do estoque estrutural, pois alguns itens de estoque já estão localizados nele!" #: stock/models.py:642 msgid "Stock items cannot be located into structural stock locations!" -msgstr "" +msgstr "Os itens de estoque não podem estar localizados em locais de estoque estrutural!" #: stock/models.py:669 stock/serializers.py:477 msgid "Stock item cannot be created for virtual parts" -msgstr "" +msgstr "Item de estoque não pode ser criado para peças virtuais" #: stock/models.py:686 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" -msgstr "" +msgstr "Tipo de peça('{self.supplier_part.part}') deve ser {self.part}" #: stock/models.py:696 stock/models.py:709 msgid "Quantity must be 1 for item with a serial number" -msgstr "" +msgstr "A quantidade deve ser 1 para um item com número de série" #: stock/models.py:699 msgid "Serial number cannot be set if quantity greater than 1" -msgstr "" +msgstr "Número de série não pode ser definido se quantidade maior que 1" #: stock/models.py:723 msgid "Item cannot belong to itself" -msgstr "" +msgstr "O item não pode pertencer a si mesmo" #: stock/models.py:728 msgid "Item must have a build reference if is_building=True" -msgstr "" +msgstr "Item deve ter uma referência de produção se is_building=True" #: stock/models.py:741 msgid "Build reference does not point to the same part object" -msgstr "" +msgstr "Referência de produção não aponta ao mesmo objeto da peça" #: stock/models.py:757 msgid "Parent Stock Item" -msgstr "" +msgstr "Item de Estoque Parental" #: stock/models.py:769 msgid "Base part" -msgstr "" +msgstr "Peça base" #: stock/models.py:779 msgid "Select a matching supplier part for this stock item" -msgstr "" +msgstr "Selecione uma peça do fornecedor correspondente para este item de estoque" #: stock/models.py:791 msgid "Where is this stock item located?" -msgstr "" +msgstr "Onde está localizado este item de estoque?" #: stock/models.py:799 stock/serializers.py:1542 msgid "Packaging this stock item is stored in" -msgstr "" +msgstr "Embalagem deste item de estoque está armazenado em" #: stock/models.py:810 msgid "Is this item installed in another item?" -msgstr "" +msgstr "Este item está instalado em outro item?" #: stock/models.py:829 msgid "Serial number for this item" -msgstr "" +msgstr "Número de série para este item" #: stock/models.py:843 stock/serializers.py:1525 msgid "Batch code for this stock item" -msgstr "" +msgstr "Código do lote para este item de estoque" #: stock/models.py:848 msgid "Stock Quantity" -msgstr "" +msgstr "Quantidade de Estoque" #: stock/models.py:858 msgid "Source Build" -msgstr "" +msgstr "Produção de Origem" #: stock/models.py:861 msgid "Build for this stock item" -msgstr "" +msgstr "Produção para este item de estoque" #: stock/models.py:868 stock/templates/stock/item_base.html:363 msgid "Consumed By" -msgstr "" +msgstr "Consumido por" #: stock/models.py:871 msgid "Build order which consumed this stock item" -msgstr "" +msgstr "Pedido de produção que consumiu este item de estoque" #: stock/models.py:880 msgid "Source Purchase Order" -msgstr "" +msgstr "Pedido de compra Fonte" #: stock/models.py:884 msgid "Purchase order for this stock item" -msgstr "" +msgstr "Pedido de Compra para este item de estoque" #: stock/models.py:890 msgid "Destination Sales Order" -msgstr "" +msgstr "Destino do Pedido de Venda" #: stock/models.py:901 msgid "Expiry date for stock item. Stock will be considered expired after this date" -msgstr "" +msgstr "Data de validade para o item de estoque. Estoque será considerado expirado após este dia" #: stock/models.py:919 msgid "Delete on deplete" -msgstr "" +msgstr "Excluir quando esgotado" #: stock/models.py:920 msgid "Delete this Stock Item when stock is depleted" -msgstr "" +msgstr "Excluir este item de estoque quando o estoque for esgotado" #: stock/models.py:940 msgid "Single unit purchase price at time of purchase" -msgstr "" +msgstr "Preço de compra unitário único no momento da compra" #: stock/models.py:971 msgid "Converted to part" -msgstr "" +msgstr "Convertido para peça" #: stock/models.py:1487 msgid "Part is not set as trackable" -msgstr "" +msgstr "Peça não está definida como rastreável" #: stock/models.py:1493 msgid "Quantity must be integer" -msgstr "" +msgstr "Quantidade deve ser inteira" #: stock/models.py:1501 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" -msgstr "" +msgstr "Quantidade não deve exceder a quantidade em estoque ({self.quantity})" #: stock/models.py:1507 msgid "Serial numbers must be a list of integers" -msgstr "" +msgstr "Números de série devem ser uma lista de números inteiros" #: stock/models.py:1512 msgid "Quantity does not match serial numbers" -msgstr "" +msgstr "A quantidade não corresponde aos números de série" #: stock/models.py:1520 stock/serializers.py:718 msgid "Serial numbers already exist" -msgstr "" +msgstr "Números de série já existem" #: stock/models.py:1617 msgid "Test template does not exist" @@ -9427,47 +9427,47 @@ msgstr "" #: stock/models.py:1635 msgid "Stock item has been assigned to a sales order" -msgstr "" +msgstr "Item em estoque foi reservado para um pedido" #: stock/models.py:1639 msgid "Stock item is installed in another item" -msgstr "" +msgstr "Item em estoque está instalado em outro item" #: stock/models.py:1642 msgid "Stock item contains other items" -msgstr "" +msgstr "item em estoque contem outro(s) items" #: stock/models.py:1645 msgid "Stock item has been assigned to a customer" -msgstr "" +msgstr "Item em estoque foi reservado para outro cliente" #: stock/models.py:1648 msgid "Stock item is currently in production" -msgstr "" +msgstr "Item no estoque está em produção no momento" #: stock/models.py:1651 msgid "Serialized stock cannot be merged" -msgstr "" +msgstr "Itens de série não podem ser mesclados" #: stock/models.py:1658 stock/serializers.py:1431 msgid "Duplicate stock items" -msgstr "" +msgstr "Item de estoque duplicado" #: stock/models.py:1662 msgid "Stock items must refer to the same part" -msgstr "" +msgstr "Itens de estoque devem se referir à mesma peça" #: stock/models.py:1670 msgid "Stock items must refer to the same supplier part" -msgstr "" +msgstr "Itens de estoque devem se referir à mesma peça do fornecedor" #: stock/models.py:1675 msgid "Stock status codes must match" -msgstr "" +msgstr "Códigos de estado do estoque devem corresponder" #: stock/models.py:1936 msgid "StockItem cannot be moved as it is not in stock" -msgstr "" +msgstr "Item do estoque não pode ser realocado se não houver estoque da mesma" #: stock/models.py:2317 msgid "Stock Item Tracking" @@ -9475,7 +9475,7 @@ msgstr "" #: stock/models.py:2350 msgid "Entry notes" -msgstr "" +msgstr "Observações de entrada" #: stock/models.py:2390 msgid "Stock Item Test Result" @@ -9483,11 +9483,11 @@ msgstr "" #: stock/models.py:2423 msgid "Value must be provided for this test" -msgstr "" +msgstr "Deve-se fornecer o valor desse teste" #: stock/models.py:2428 msgid "Attachment must be uploaded for this test" -msgstr "" +msgstr "O anexo deve ser enviado para este teste" #: stock/models.py:2433 msgid "Invalid value for this test" @@ -9495,19 +9495,19 @@ msgstr "" #: stock/models.py:2457 msgid "Test result" -msgstr "" +msgstr "Resultado do teste" #: stock/models.py:2464 msgid "Test output value" -msgstr "" +msgstr "Valor da saída do teste" #: stock/models.py:2472 msgid "Test result attachment" -msgstr "" +msgstr "Anexo do resultado do teste" #: stock/models.py:2476 msgid "Test notes" -msgstr "" +msgstr "Notas do teste" #: stock/models.py:2484 templates/js/translated/stock.js:1548 msgid "Test station" @@ -9587,11 +9587,11 @@ msgstr "" #: stock/serializers.py:320 msgid "Serial number is too large" -msgstr "" +msgstr "Número de série é muito grande" #: stock/serializers.py:449 stock/templates/stock/item_base.html:193 msgid "Parent Item" -msgstr "" +msgstr "Item Primário" #: stock/serializers.py:450 msgid "Parent stock item" @@ -9599,21 +9599,21 @@ msgstr "" #: stock/serializers.py:469 msgid "Use pack size when adding: the quantity defined is the number of packs" -msgstr "" +msgstr "Usar tamanho do pacote ao adicionar: a quantidade definida é o número de pacotes" #: stock/serializers.py:585 templates/js/translated/build.js:991 #: templates/js/translated/build.js:2344 msgid "Allocated Quantity" -msgstr "" +msgstr "Quantidade Alocada" #: stock/serializers.py:588 stock/templates/stock/item_base.html:437 #: templates/js/translated/table_filters.js:435 users/models.py:174 msgid "Expired" -msgstr "" +msgstr "Expirado" #: stock/serializers.py:594 stock/templates/stock/stock_sidebar.html:20 msgid "Child Items" -msgstr "" +msgstr "Itens Filhos" #: stock/serializers.py:598 msgid "Tracking Items" @@ -9621,7 +9621,7 @@ msgstr "" #: stock/serializers.py:604 msgid "Purchase price of this stock item, per unit or pack" -msgstr "" +msgstr "Preço de compra para este item de estoque, por unidade ou pacote" #: stock/serializers.py:623 msgid "Minimum Pricing" @@ -9633,96 +9633,96 @@ msgstr "" #: stock/serializers.py:653 msgid "Enter number of stock items to serialize" -msgstr "" +msgstr "Insira o número de itens de estoque para serializar" #: stock/serializers.py:666 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" -msgstr "" +msgstr "Quantidade não deve exceder a quantidade disponível em estoque ({q})" #: stock/serializers.py:673 msgid "Enter serial numbers for new items" -msgstr "" +msgstr "Inserir número de série para novos itens" #: stock/serializers.py:684 stock/serializers.py:1388 stock/serializers.py:1644 msgid "Destination stock location" -msgstr "" +msgstr "Local de destino do estoque" #: stock/serializers.py:691 msgid "Optional note field" -msgstr "" +msgstr "Campo opcional de notas" #: stock/serializers.py:701 msgid "Serial numbers cannot be assigned to this part" -msgstr "" +msgstr "Números de série não podem ser atribuídos a esta peça" #: stock/serializers.py:756 msgid "Select stock item to install" -msgstr "" +msgstr "Selecione o item de estoque para instalar" #: stock/serializers.py:763 msgid "Quantity to Install" -msgstr "" +msgstr "Quantidade a Instalar" #: stock/serializers.py:764 msgid "Enter the quantity of items to install" -msgstr "" +msgstr "Insira a quantidade de itens a instalar" #: stock/serializers.py:769 stock/serializers.py:849 stock/serializers.py:945 #: stock/serializers.py:995 msgid "Add transaction note (optional)" -msgstr "" +msgstr "Adicionar nota de transação (opcional)" #: stock/serializers.py:777 msgid "Quantity to install must be at least 1" -msgstr "" +msgstr "A quantidade para instalar deve ser pelo menos 1" #: stock/serializers.py:785 msgid "Stock item is unavailable" -msgstr "" +msgstr "Item de estoque indisponível" #: stock/serializers.py:796 msgid "Selected part is not in the Bill of Materials" -msgstr "" +msgstr "Peça selecionada não está na Lista de Materiais" #: stock/serializers.py:809 msgid "Quantity to install must not exceed available quantity" -msgstr "" +msgstr "Quantidade a instalar não deve exceder a quantidade disponível" #: stock/serializers.py:844 msgid "Destination location for uninstalled item" -msgstr "" +msgstr "Local de destino para o item desinstalado" #: stock/serializers.py:879 msgid "Select part to convert stock item into" -msgstr "" +msgstr "Selecione peça para converter o item de estoque em" #: stock/serializers.py:892 msgid "Selected part is not a valid option for conversion" -msgstr "" +msgstr "Peça selecionada não é uma opção válida para conversão" #: stock/serializers.py:909 msgid "Cannot convert stock item with assigned SupplierPart" -msgstr "" +msgstr "Não é possível converter o item de estoque com a Peça de Fornecedor atribuída" #: stock/serializers.py:940 msgid "Destination location for returned item" -msgstr "" +msgstr "Local de destino para item retornado" #: stock/serializers.py:977 msgid "Select stock items to change status" -msgstr "" +msgstr "Selecionar itens de estoque para mudar estados" #: stock/serializers.py:983 msgid "No stock items selected" -msgstr "" +msgstr "Nenhum item de estoque selecionado" #: stock/serializers.py:1079 stock/serializers.py:1156 #: stock/templates/stock/location.html:165 #: stock/templates/stock/location.html:222 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" -msgstr "" +msgstr "Sub-locais" #: stock/serializers.py:1149 templates/js/translated/stock.js:152 msgid "Parent stock location" @@ -9730,55 +9730,55 @@ msgstr "" #: stock/serializers.py:1260 msgid "Part must be salable" -msgstr "" +msgstr "Parte deve ser comercializável" #: stock/serializers.py:1264 msgid "Item is allocated to a sales order" -msgstr "" +msgstr "Item é alocado para um pedido de venda" #: stock/serializers.py:1268 msgid "Item is allocated to a build order" -msgstr "" +msgstr "Item está alocado a um pedido de produção" #: stock/serializers.py:1292 msgid "Customer to assign stock items" -msgstr "" +msgstr "Cliente para atribuir itens de estoque" #: stock/serializers.py:1298 msgid "Selected company is not a customer" -msgstr "" +msgstr "A empresa selecionada não é um cliente" #: stock/serializers.py:1306 msgid "Stock assignment notes" -msgstr "" +msgstr "Nodas atribuídas a estoque" #: stock/serializers.py:1316 stock/serializers.py:1570 msgid "A list of stock items must be provided" -msgstr "" +msgstr "Uma lista de item de estoque deve ser providenciada" #: stock/serializers.py:1395 msgid "Stock merging notes" -msgstr "" +msgstr "Notas de fusão de estoque" #: stock/serializers.py:1400 msgid "Allow mismatched suppliers" -msgstr "" +msgstr "Permitir fornecedores divergentes" #: stock/serializers.py:1401 msgid "Allow stock items with different supplier parts to be merged" -msgstr "" +msgstr "Permitir a fusão de itens de estoque de fornecedores diferentes" #: stock/serializers.py:1406 msgid "Allow mismatched status" -msgstr "" +msgstr "Permitir estado incompatível" #: stock/serializers.py:1407 msgid "Allow stock items with different status codes to be merged" -msgstr "" +msgstr "Permitir a fusão de itens de estoque com estado diferentes" #: stock/serializers.py:1417 msgid "At least two stock items must be provided" -msgstr "" +msgstr "Ao menos dois itens de estoque devem ser providenciados" #: stock/serializers.py:1484 msgid "No Change" @@ -9786,15 +9786,15 @@ msgstr "" #: stock/serializers.py:1513 msgid "StockItem primary key value" -msgstr "" +msgstr "Valor da chave primária do Item Estoque" #: stock/serializers.py:1532 msgid "Stock item status code" -msgstr "" +msgstr "Código de estado do item estoque" #: stock/serializers.py:1560 msgid "Stock transaction notes" -msgstr "" +msgstr "Notas da transação de estoque" #: stock/status_codes.py:11 msgid "OK" @@ -9802,445 +9802,445 @@ msgstr "" #: stock/status_codes.py:12 msgid "Attention needed" -msgstr "" +msgstr "Necessita de atenção" #: stock/status_codes.py:13 msgid "Damaged" -msgstr "" +msgstr "Danificado" #: stock/status_codes.py:14 msgid "Destroyed" -msgstr "" +msgstr "Destruído" #: stock/status_codes.py:15 msgid "Rejected" -msgstr "" +msgstr "Rejeitado" #: stock/status_codes.py:19 msgid "Quarantined" -msgstr "" +msgstr "Em quarentena" #: stock/status_codes.py:40 msgid "Legacy stock tracking entry" -msgstr "" +msgstr "Entrada de rastreamento de estoque antiga" #: stock/status_codes.py:42 templates/js/translated/stock.js:544 msgid "Stock item created" -msgstr "" +msgstr "Item de estoque criado" #: stock/status_codes.py:45 msgid "Edited stock item" -msgstr "" +msgstr "Item de estoque editado" #: stock/status_codes.py:46 msgid "Assigned serial number" -msgstr "" +msgstr "Número de série atribuído" #: stock/status_codes.py:49 msgid "Stock counted" -msgstr "" +msgstr "Estoque contado" #: stock/status_codes.py:50 msgid "Stock manually added" -msgstr "" +msgstr "Estoque adicionado manualmente" #: stock/status_codes.py:51 msgid "Stock manually removed" -msgstr "" +msgstr "Estoque removido manualmente" #: stock/status_codes.py:54 msgid "Location changed" -msgstr "" +msgstr "Local alterado" #: stock/status_codes.py:55 msgid "Stock updated" -msgstr "" +msgstr "Estoque atualizado" #: stock/status_codes.py:58 msgid "Installed into assembly" -msgstr "" +msgstr "Instalado na montagem" #: stock/status_codes.py:59 msgid "Removed from assembly" -msgstr "" +msgstr "Removido da montagem" #: stock/status_codes.py:61 msgid "Installed component item" -msgstr "" +msgstr "Instalado componente do Item" #: stock/status_codes.py:62 msgid "Removed component item" -msgstr "" +msgstr "Removido componente do Item" #: stock/status_codes.py:65 msgid "Split from parent item" -msgstr "" +msgstr "Separado do Item Paternal" #: stock/status_codes.py:66 msgid "Split child item" -msgstr "" +msgstr "Separar o Item filho" #: stock/status_codes.py:69 templates/js/translated/stock.js:1858 msgid "Merged stock items" -msgstr "" +msgstr "Itens de estoque mesclados" #: stock/status_codes.py:72 msgid "Converted to variant" -msgstr "" +msgstr "Convertido para variável" #: stock/status_codes.py:75 msgid "Build order output created" -msgstr "" +msgstr "Criação dos pedidos de produção criado" #: stock/status_codes.py:76 msgid "Build order output completed" -msgstr "" +msgstr "Criação do pedido de produção completado" #: stock/status_codes.py:77 msgid "Build order output rejected" -msgstr "" +msgstr "Saída do pedido de produção rejeitada" #: stock/status_codes.py:78 templates/js/translated/stock.js:1764 msgid "Consumed by build order" -msgstr "" +msgstr "Usado no pedido de produção" #: stock/status_codes.py:81 msgid "Shipped against Sales Order" -msgstr "" +msgstr "Enviado contra o Pedido de Venda" #: stock/status_codes.py:84 msgid "Received against Purchase Order" -msgstr "" +msgstr "Recebido referente ao Pedido de Compra" #: stock/status_codes.py:87 msgid "Returned against Return Order" -msgstr "" +msgstr "Devolvido contra Pedido de Retorno" #: stock/status_codes.py:90 templates/js/translated/table_filters.js:375 msgid "Sent to customer" -msgstr "" +msgstr "Enviado ao cliente" #: stock/status_codes.py:91 msgid "Returned from customer" -msgstr "" +msgstr "Devolvido pelo cliente" #: stock/templates/stock/item.html:17 msgid "Stock Tracking Information" -msgstr "" +msgstr "Informações de Rastrrio de Estoque" #: stock/templates/stock/item.html:63 msgid "Child Stock Items" -msgstr "" +msgstr "Itens de Estoque Filhos" #: stock/templates/stock/item.html:72 msgid "This stock item does not have any child items" -msgstr "" +msgstr "Este item de estoque não possuí nenhum filho" #: stock/templates/stock/item.html:81 #: stock/templates/stock/stock_sidebar.html:12 msgid "Test Data" -msgstr "" +msgstr "Dados de teste" #: stock/templates/stock/item.html:85 stock/templates/stock/item_base.html:65 msgid "Test Report" -msgstr "" +msgstr "Relatório do teste" #: stock/templates/stock/item.html:89 stock/templates/stock/item.html:276 msgid "Delete Test Data" -msgstr "" +msgstr "Excluir dados de teste" #: stock/templates/stock/item.html:93 msgid "Add Test Data" -msgstr "" +msgstr "Adicionar dados de teste" #: stock/templates/stock/item.html:125 msgid "Stock Item Notes" -msgstr "" +msgstr "Notas de Item Estoque" #: stock/templates/stock/item.html:140 msgid "Installed Stock Items" -msgstr "" +msgstr "Itens de Estoque Instalados" #: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3271 msgid "Install Stock Item" -msgstr "" +msgstr "Instalar Item de Estoque" #: stock/templates/stock/item.html:264 msgid "Delete all test results for this stock item" -msgstr "" +msgstr "Excluir todos os resultados de teste deste item de estoque" #: stock/templates/stock/item.html:294 templates/js/translated/stock.js:1701 msgid "Add Test Result" -msgstr "" +msgstr "Adicionar Resultado de Teste" #: stock/templates/stock/item_base.html:33 msgid "Locate stock item" -msgstr "" +msgstr "Localizar item de estoque" #: stock/templates/stock/item_base.html:51 msgid "Scan to Location" -msgstr "" +msgstr "Escanear a Localização" #: stock/templates/stock/item_base.html:59 #: stock/templates/stock/location.html:70 #: templates/js/translated/filters.js:431 msgid "Printing actions" -msgstr "" +msgstr "Ações de Impressão" #: stock/templates/stock/item_base.html:75 msgid "Stock adjustment actions" -msgstr "" +msgstr "Ações de ajuste de estoque" #: stock/templates/stock/item_base.html:79 #: stock/templates/stock/location.html:90 templates/js/translated/stock.js:1824 msgid "Count stock" -msgstr "" +msgstr "Contagem de estoque" #: stock/templates/stock/item_base.html:81 #: templates/js/translated/stock.js:1806 msgid "Add stock" -msgstr "" +msgstr "Adicionar estoque" #: stock/templates/stock/item_base.html:82 #: templates/js/translated/stock.js:1815 msgid "Remove stock" -msgstr "" +msgstr "Remover estoque" #: stock/templates/stock/item_base.html:85 msgid "Serialize stock" -msgstr "" +msgstr "Serializar estoque" #: stock/templates/stock/item_base.html:88 #: stock/templates/stock/location.html:96 templates/js/translated/stock.js:1833 msgid "Transfer stock" -msgstr "" +msgstr "Transferir estoque" #: stock/templates/stock/item_base.html:91 #: templates/js/translated/stock.js:1887 msgid "Assign to customer" -msgstr "" +msgstr "Disponibilizar para o cliente" #: stock/templates/stock/item_base.html:94 msgid "Return to stock" -msgstr "" +msgstr "Devolver ao estoque" #: stock/templates/stock/item_base.html:97 msgid "Uninstall stock item" -msgstr "" +msgstr "Desinstalar o item do estoque" #: stock/templates/stock/item_base.html:97 msgid "Uninstall" -msgstr "" +msgstr "Desinstalar" #: stock/templates/stock/item_base.html:101 msgid "Install stock item" -msgstr "" +msgstr "Instalar item do estoque" #: stock/templates/stock/item_base.html:101 msgid "Install" -msgstr "" +msgstr "Instalar" #: stock/templates/stock/item_base.html:115 msgid "Convert to variant" -msgstr "" +msgstr "Converter em variante" #: stock/templates/stock/item_base.html:118 msgid "Duplicate stock item" -msgstr "" +msgstr "Duplicar item" #: stock/templates/stock/item_base.html:120 msgid "Edit stock item" -msgstr "" +msgstr "Editar item de estoque" #: stock/templates/stock/item_base.html:123 msgid "Delete stock item" -msgstr "" +msgstr "Excluir item de estoque" #: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 #: templates/js/translated/build.js:2123 templates/navbar.html:38 msgid "Build" -msgstr "" +msgstr "Produção" #: stock/templates/stock/item_base.html:211 msgid "No manufacturer set" -msgstr "" +msgstr "Nenhum fabricante definido" #: stock/templates/stock/item_base.html:251 msgid "You are not in the list of owners of this item. This stock item cannot be edited." -msgstr "" +msgstr "Você não está autorizado a editar esse item." #: stock/templates/stock/item_base.html:252 #: stock/templates/stock/location.html:149 msgid "Read only" -msgstr "" +msgstr "Somente leitura" #: stock/templates/stock/item_base.html:265 msgid "This stock item is unavailable" -msgstr "" +msgstr "Este item não está disponível no estoque" #: stock/templates/stock/item_base.html:271 msgid "This stock item is in production and cannot be edited." -msgstr "" +msgstr "Este item de estoque está em produção e não pode ser editado." #: stock/templates/stock/item_base.html:272 msgid "Edit the stock item from the build view." -msgstr "" +msgstr "Edite este item usando o formulário de construçao." #: stock/templates/stock/item_base.html:287 msgid "This stock item is allocated to Sales Order" -msgstr "" +msgstr "Este item de estoque está alocado a um pedido de venda" #: stock/templates/stock/item_base.html:295 msgid "This stock item is allocated to Build Order" -msgstr "" +msgstr "Este item de estoque está alocado a um pedido de produção" #: stock/templates/stock/item_base.html:311 msgid "This stock item is serialized. It has a unique serial number and the quantity cannot be adjusted" -msgstr "" +msgstr "Este item de estoque é serializado. Tem um único número de série e a quantidade não pode ser ajustada" #: stock/templates/stock/item_base.html:317 msgid "previous page" -msgstr "" +msgstr "página anterior" #: stock/templates/stock/item_base.html:317 msgid "Navigate to previous serial number" -msgstr "" +msgstr "Navegar para o número de série anterior" #: stock/templates/stock/item_base.html:326 msgid "next page" -msgstr "" +msgstr "próxima página" #: stock/templates/stock/item_base.html:326 msgid "Navigate to next serial number" -msgstr "" +msgstr "Navegar para o próximo número de série" #: stock/templates/stock/item_base.html:340 msgid "Available Quantity" -msgstr "" +msgstr "Quantidade Disponível" #: stock/templates/stock/item_base.html:398 #: templates/js/translated/build.js:2380 msgid "No location set" -msgstr "" +msgstr "Nenhum local definido" #: stock/templates/stock/item_base.html:413 msgid "Tests" -msgstr "" +msgstr "Testes" #: stock/templates/stock/item_base.html:419 msgid "This stock item has not passed all required tests" -msgstr "" +msgstr "Este item de estoque não passou todos os testes necessários" #: stock/templates/stock/item_base.html:437 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" -msgstr "" +msgstr "Este Item do Estoque expirou em %(item.expiry_date)s" #: stock/templates/stock/item_base.html:439 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" -msgstr "" +msgstr "Este Item do Estoque expira em %(item.expiry_date)s" #: stock/templates/stock/item_base.html:455 msgid "No stocktake performed" -msgstr "" +msgstr "Nenhum balanço feito" #: stock/templates/stock/item_base.html:504 #: templates/js/translated/stock.js:1952 msgid "stock item" -msgstr "" +msgstr "item de estoque" #: stock/templates/stock/item_base.html:527 msgid "Edit Stock Status" -msgstr "" +msgstr "Editar Situação do Estoque" #: stock/templates/stock/item_base.html:536 msgid "Stock Item QR Code" -msgstr "" +msgstr "QR Code do Item de Estoque" #: stock/templates/stock/item_base.html:547 msgid "Link Barcode to Stock Item" -msgstr "" +msgstr "Vincular Código de barras ao item de estoque" #: stock/templates/stock/item_base.html:611 msgid "Select one of the part variants listed below." -msgstr "" +msgstr "Selecione uma das peças variantes listada abaixo." #: stock/templates/stock/item_base.html:614 msgid "Warning" -msgstr "" +msgstr "Atenção" #: stock/templates/stock/item_base.html:615 msgid "This action cannot be easily undone" -msgstr "" +msgstr "Esta ação não pode ser facilmente desfeita" #: stock/templates/stock/item_base.html:623 msgid "Convert Stock Item" -msgstr "" +msgstr "Converter Item de Estoque" #: stock/templates/stock/item_base.html:657 msgid "Return to Stock" -msgstr "" +msgstr "Retornar ao Estoque" #: stock/templates/stock/item_serialize.html:5 msgid "Create serialized items from this stock item." -msgstr "" +msgstr "Criar itens serializados deste item de estoque." #: stock/templates/stock/item_serialize.html:7 msgid "Select quantity to serialize, and unique serial numbers." -msgstr "" +msgstr "Selecione a quantidade para serializar e números de série único." #: stock/templates/stock/location.html:38 msgid "Perform stocktake for this stock location" -msgstr "" +msgstr "Fazer balanço para o estoque deste local" #: stock/templates/stock/location.html:45 msgid "Locate stock location" -msgstr "" +msgstr "Localizar o local de estoque" #: stock/templates/stock/location.html:63 msgid "Scan stock items into this location" -msgstr "" +msgstr "Buscar itens de estoque neste local" #: stock/templates/stock/location.html:63 msgid "Scan In Stock Items" -msgstr "" +msgstr "Buscar nos Itens de Estoque" #: stock/templates/stock/location.html:64 msgid "Scan stock container into this location" -msgstr "" +msgstr "Buscar recipiente do estoque neste local" #: stock/templates/stock/location.html:64 msgid "Scan In Container" -msgstr "" +msgstr "Buscar no recipiente" #: stock/templates/stock/location.html:75 msgid "Print Location Report" -msgstr "" +msgstr "Imprimir Relatório da Localização" #: stock/templates/stock/location.html:104 msgid "Location actions" -msgstr "" +msgstr "Ações de Locais" #: stock/templates/stock/location.html:106 msgid "Edit location" -msgstr "" +msgstr "Editar Local" #: stock/templates/stock/location.html:108 msgid "Delete location" -msgstr "" +msgstr "Excluir Local" #: stock/templates/stock/location.html:138 msgid "Top level stock location" -msgstr "" +msgstr "Local de estoque de alto nível" #: stock/templates/stock/location.html:144 msgid "Location Owner" -msgstr "" +msgstr "Dono do Local" #: stock/templates/stock/location.html:148 msgid "You are not in the list of owners of this location. This stock location cannot be edited." -msgstr "" +msgstr "Você não está na lista de donos deste local. Este local de estoque não pode ser editado." #: stock/templates/stock/location.html:176 msgid "Location Type" @@ -10248,260 +10248,260 @@ msgstr "" #: stock/templates/stock/location.html:226 msgid "Create new stock location" -msgstr "" +msgstr "Criar novo local de estoque" #: stock/templates/stock/location.html:227 msgid "New Location" -msgstr "" +msgstr "Novo local" #: stock/templates/stock/location.html:299 #: templates/js/translated/stock.js:2572 msgid "stock location" -msgstr "" +msgstr "local de estoque" #: stock/templates/stock/location.html:321 msgid "Scanned stock container into this location" -msgstr "" +msgstr "Escaneado o recipiente de estoque neste local" #: stock/templates/stock/location.html:394 msgid "Stock Location QR Code" -msgstr "" +msgstr "Código QR do Local de Estoque" #: stock/templates/stock/location.html:405 msgid "Link Barcode to Stock Location" -msgstr "" +msgstr "Ligar Código de barras ao Local de Estoque" #: stock/templates/stock/stock_app_base.html:16 msgid "Loading..." -msgstr "" +msgstr "Carregando..." #: stock/templates/stock/stock_sidebar.html:5 msgid "Stock Tracking" -msgstr "" +msgstr "Rastreamento de estoque" #: stock/templates/stock/stock_sidebar.html:8 msgid "Allocations" -msgstr "" +msgstr "Alocações" #: templates/403.html:6 templates/403.html:12 templates/403_csrf.html:7 msgid "Permission Denied" -msgstr "" +msgstr "Permissão Negada" #: templates/403.html:15 msgid "You do not have permission to view this page." -msgstr "" +msgstr "Você não tem permissão para visualizar esta página." #: templates/403_csrf.html:11 msgid "Authentication Failure" -msgstr "" +msgstr "Falha na Autenticação" #: templates/403_csrf.html:14 msgid "You have been logged out from InvenTree." -msgstr "" +msgstr "Você foi desconectado do InvenTree." #: templates/403_csrf.html:19 templates/InvenTree/settings/sidebar.html:29 #: templates/navbar.html:150 msgid "Login" -msgstr "" +msgstr "Iniciar sessão" #: templates/404.html:6 templates/404.html:12 msgid "Page Not Found" -msgstr "" +msgstr "Página não encontrada" #: templates/404.html:15 msgid "The requested page does not exist" -msgstr "" +msgstr "A página solicitada não existe" #: templates/500.html:6 templates/500.html:12 msgid "Internal Server Error" -msgstr "" +msgstr "Erro interno do servidor" #: templates/500.html:15 #, python-format msgid "The %(inventree_title)s server raised an internal error" -msgstr "" +msgstr "O servidor %(inventree_title)s gerou um erro interno" #: templates/500.html:16 msgid "Refer to the error log in the admin interface for further details" -msgstr "" +msgstr "Consulte o login de erro na interface admin para mais detalhes" #: templates/503.html:11 templates/503.html:33 msgid "Site is in Maintenance" -msgstr "" +msgstr "Site está em Manutenção" #: templates/503.html:39 msgid "The site is currently in maintenance and should be up again soon!" -msgstr "" +msgstr "O site está atualmente em manutenção e estará de volta em breve!" #: templates/InvenTree/index.html:7 msgid "Index" -msgstr "" +msgstr "Índice" #: templates/InvenTree/index.html:39 msgid "Subscribed Parts" -msgstr "" +msgstr "Peças Inscritas" #: templates/InvenTree/index.html:52 msgid "Subscribed Categories" -msgstr "" +msgstr "Categorias Inscritas" #: templates/InvenTree/index.html:62 msgid "Latest Parts" -msgstr "" +msgstr "Peças Recentes" #: templates/InvenTree/index.html:77 msgid "BOM Waiting Validation" -msgstr "" +msgstr "BOM Aguardando Validação" #: templates/InvenTree/index.html:106 msgid "Recently Updated" -msgstr "" +msgstr "Atualizados Recentemente" #: templates/InvenTree/index.html:134 msgid "Depleted Stock" -msgstr "" +msgstr "Estoque Esgotado" #: templates/InvenTree/index.html:148 msgid "Required for Build Orders" -msgstr "" +msgstr "Necessário para pedidos de produção" #: templates/InvenTree/index.html:156 msgid "Expired Stock" -msgstr "" +msgstr "Estoque Expirado" #: templates/InvenTree/index.html:172 msgid "Stale Stock" -msgstr "" +msgstr "Estoque Parado" #: templates/InvenTree/index.html:199 msgid "Build Orders In Progress" -msgstr "" +msgstr "Pedido de Produção em Progresso" #: templates/InvenTree/index.html:210 msgid "Overdue Build Orders" -msgstr "" +msgstr "Pedido de Produção Vencido" #: templates/InvenTree/index.html:230 msgid "Outstanding Purchase Orders" -msgstr "" +msgstr "Pedidos de Compra Pendentes" #: templates/InvenTree/index.html:241 msgid "Overdue Purchase Orders" -msgstr "" +msgstr "Pedidos de Compra Vencidos" #: templates/InvenTree/index.html:262 msgid "Outstanding Sales Orders" -msgstr "" +msgstr "Pedidos de Venda Pendentes" #: templates/InvenTree/index.html:273 msgid "Overdue Sales Orders" -msgstr "" +msgstr "Pedidos de Venda Vencidos" #: templates/InvenTree/index.html:299 msgid "InvenTree News" -msgstr "" +msgstr "Notícias do InvenTree" #: templates/InvenTree/index.html:301 msgid "Current News" -msgstr "" +msgstr "Notícias Atuais" #: templates/InvenTree/notifications/history.html:9 msgid "Notification History" -msgstr "" +msgstr "Histórico de Notificações" #: templates/InvenTree/notifications/history.html:13 #: templates/InvenTree/notifications/history.html:14 #: templates/InvenTree/notifications/notifications.html:75 msgid "Delete Notifications" -msgstr "" +msgstr "Apagar notificações" #: templates/InvenTree/notifications/inbox.html:9 msgid "Pending Notifications" -msgstr "" +msgstr "Notificações Pendentes" #: templates/InvenTree/notifications/inbox.html:13 #: templates/InvenTree/notifications/inbox.html:14 msgid "Mark all as read" -msgstr "" +msgstr "Marcar tudo como lido" #: templates/InvenTree/notifications/notifications.html:10 #: templates/InvenTree/notifications/sidebar.html:5 #: templates/InvenTree/settings/sidebar.html:17 #: templates/InvenTree/settings/sidebar.html:37 templates/notifications.html:5 msgid "Notifications" -msgstr "" +msgstr "Notificações" #: templates/InvenTree/notifications/notifications.html:38 msgid "No unread notifications found" -msgstr "" +msgstr "Nenhuma notificação pendente encontrada" #: templates/InvenTree/notifications/notifications.html:58 msgid "No notification history found" -msgstr "" +msgstr "Sem histórico de notificação encontrado" #: templates/InvenTree/notifications/notifications.html:65 msgid "Delete all read notifications" -msgstr "" +msgstr "Excluir todas as notificações lidas" #: templates/InvenTree/notifications/notifications.html:89 #: templates/js/translated/notification.js:85 msgid "Delete Notification" -msgstr "" +msgstr "Apagar Notificação" #: templates/InvenTree/notifications/sidebar.html:8 msgid "Inbox" -msgstr "" +msgstr "Caixa de entrada" #: templates/InvenTree/notifications/sidebar.html:10 msgid "History" -msgstr "" +msgstr "Histórico" #: templates/InvenTree/search.html:8 msgid "Search Results" -msgstr "" +msgstr "Resultados da busca" #: templates/InvenTree/settings/barcode.html:8 msgid "Barcode Settings" -msgstr "" +msgstr "Definições do código de barras" #: templates/InvenTree/settings/build.html:8 msgid "Build Order Settings" -msgstr "" +msgstr "Configurações do Pedido de Produção" #: templates/InvenTree/settings/category.html:7 msgid "Category Settings" -msgstr "" +msgstr "Configurações de categoria" #: templates/InvenTree/settings/global.html:8 msgid "Server Settings" -msgstr "" +msgstr "Configurações do servidor" #: templates/InvenTree/settings/label.html:8 #: templates/InvenTree/settings/user_labels.html:9 msgid "Label Settings" -msgstr "" +msgstr "Configurações de etiqueta" #: templates/InvenTree/settings/login.html:8 msgid "Login Settings" -msgstr "" +msgstr "Configurações de Acesso" #: templates/InvenTree/settings/login.html:15 msgid "Outgoing email has not been configured. Some login and sign-up features may not work correctly!" -msgstr "" +msgstr "O e-mail de saída não foi configurado. Alguns recursos de acesso e inscrição podem não funcionar corretamente!" #: templates/InvenTree/settings/login.html:27 templates/account/signup.html:5 #: templates/socialaccount/signup.html:5 msgid "Signup" -msgstr "" +msgstr "Registrar-se" #: templates/InvenTree/settings/login.html:36 msgid "Single Sign On" -msgstr "" +msgstr "Início de sessão única" #: templates/InvenTree/settings/mixins/settings.html:5 #: templates/InvenTree/settings/settings.html:12 templates/navbar.html:147 msgid "Settings" -msgstr "" +msgstr "Configurações" #: templates/InvenTree/settings/mixins/urls.html:5 msgid "URLs" @@ -10510,20 +10510,20 @@ msgstr "" #: templates/InvenTree/settings/mixins/urls.html:8 #, python-format msgid "The Base-URL for this plugin is %(base)s." -msgstr "" +msgstr "A Base-URL para esta extensão é %(base)s." #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" -msgstr "" +msgstr "Endereço da URL" #: templates/InvenTree/settings/mixins/urls.html:23 msgid "Open in new tab" -msgstr "" +msgstr "Abrir em uma nova aba" #: templates/InvenTree/settings/notifications.html:9 #: templates/InvenTree/settings/user_notifications.html:9 msgid "Notification Settings" -msgstr "" +msgstr "Configurações de Notificação" #: templates/InvenTree/settings/notifications.html:18 msgid "Slug" @@ -10531,439 +10531,439 @@ msgstr "" #: templates/InvenTree/settings/part.html:7 msgid "Part Settings" -msgstr "" +msgstr "Configurações de Peça" #: templates/InvenTree/settings/part.html:43 msgid "Part Import" -msgstr "" +msgstr "Peça importada" #: templates/InvenTree/settings/part.html:47 msgid "Import Part" -msgstr "" +msgstr "Importar Peça" #: templates/InvenTree/settings/part_parameters.html:20 msgid "Part Parameter Templates" -msgstr "" +msgstr "Modelo de Parâmetro da Peça" #: templates/InvenTree/settings/part_stocktake.html:7 msgid "Stocktake Settings" -msgstr "" +msgstr "Configurações de Balanço" #: templates/InvenTree/settings/part_stocktake.html:25 msgid "Stocktake Reports" -msgstr "" +msgstr "Relatório de Balanço" #: templates/InvenTree/settings/physical_units.html:8 #: templates/InvenTree/settings/sidebar.html:35 msgid "Physical Units" -msgstr "" +msgstr "Unidades Físicas" #: templates/InvenTree/settings/physical_units.html:12 msgid "Add Unit" -msgstr "" +msgstr "Adicionar Unidade" #: templates/InvenTree/settings/plugin.html:9 #: templates/InvenTree/settings/sidebar.html:64 msgid "Plugin Settings" -msgstr "" +msgstr "Configurações da Extensão" #: templates/InvenTree/settings/plugin.html:15 msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage." -msgstr "" +msgstr "Alterar as configurações abaixo requer que você reinicie imediatamente o servidor. Não altere isso enquanto estiver em uso." #: templates/InvenTree/settings/plugin.html:38 #: templates/InvenTree/settings/sidebar.html:66 msgid "Plugins" -msgstr "" +msgstr "Extensões" #: templates/InvenTree/settings/plugin.html:44 #: templates/InvenTree/settings/plugin.html:45 #: templates/js/translated/plugin.js:151 msgid "Install Plugin" -msgstr "" +msgstr "Instalar extensão" #: templates/InvenTree/settings/plugin.html:47 #: templates/InvenTree/settings/plugin.html:48 #: templates/js/translated/plugin.js:224 msgid "Reload Plugins" -msgstr "" +msgstr "Recarregar plugins" #: templates/InvenTree/settings/plugin.html:58 msgid "External plugins are not enabled for this InvenTree installation" -msgstr "" +msgstr "Extensões externos não estão ativados para esta instalação do InvenTree" #: templates/InvenTree/settings/plugin.html:73 msgid "Plugin Error Stack" -msgstr "" +msgstr "Erro da Pilha da Extensão" #: templates/InvenTree/settings/plugin.html:82 msgid "Stage" -msgstr "" +msgstr "Fase" #: templates/InvenTree/settings/plugin.html:84 #: templates/js/translated/notification.js:76 msgid "Message" -msgstr "" +msgstr "Mensagem" #: templates/InvenTree/settings/plugin_settings.html:16 msgid "Plugin information" -msgstr "" +msgstr "Informações da extensões" #: templates/InvenTree/settings/plugin_settings.html:47 msgid "no version information supplied" -msgstr "" +msgstr "nenhuma informação de versão fornecida" #: templates/InvenTree/settings/plugin_settings.html:61 msgid "License" -msgstr "" +msgstr "Licença" #: templates/InvenTree/settings/plugin_settings.html:70 msgid "The code information is pulled from the latest git commit for this plugin. It might not reflect official version numbers or information but the actual code running." -msgstr "" +msgstr "A informação de código é retirada do último git commit para esta extensão. Pode não refletir números de versão ou informações oficiais, mas sim o código em execução." #: templates/InvenTree/settings/plugin_settings.html:76 msgid "Package information" -msgstr "" +msgstr "Informações do pacote" #: templates/InvenTree/settings/plugin_settings.html:82 msgid "Installation method" -msgstr "" +msgstr "Método de instalação" #: templates/InvenTree/settings/plugin_settings.html:85 msgid "This plugin was installed as a package" -msgstr "" +msgstr "Esta extensão foi instalada como um pacote" #: templates/InvenTree/settings/plugin_settings.html:87 msgid "This plugin was found in a local server path" -msgstr "" +msgstr "Esta extensão foi encontrada no caminho do servidor local" #: templates/InvenTree/settings/plugin_settings.html:93 msgid "Installation path" -msgstr "" +msgstr "Caminho de instalação" #: templates/InvenTree/settings/plugin_settings.html:100 #: templates/js/translated/plugin.js:68 #: templates/js/translated/table_filters.js:496 msgid "Builtin" -msgstr "" +msgstr "Embutido" #: templates/InvenTree/settings/plugin_settings.html:101 msgid "This is a builtin plugin which cannot be disabled" -msgstr "" +msgstr "Esse é uma extensão embutida que não pode ser desativado" #: templates/InvenTree/settings/plugin_settings.html:107 #: templates/js/translated/plugin.js:72 #: templates/js/translated/table_filters.js:500 msgid "Sample" -msgstr "" +msgstr "Amostra" #: templates/InvenTree/settings/plugin_settings.html:108 msgid "This is a sample plugin" -msgstr "" +msgstr "Este é um plugin de exemplo" #: templates/InvenTree/settings/plugin_settings.html:113 msgid "Commit Author" -msgstr "" +msgstr "Autor do Commit" #: templates/InvenTree/settings/plugin_settings.html:117 #: templates/about.html:36 msgid "Commit Date" -msgstr "" +msgstr "Data do commit" #: templates/InvenTree/settings/plugin_settings.html:121 #: templates/about.html:29 msgid "Commit Hash" -msgstr "" +msgstr "Hash do Commit" #: templates/InvenTree/settings/plugin_settings.html:125 msgid "Commit Message" -msgstr "" +msgstr "Mensagem do Commit" #: templates/InvenTree/settings/po.html:7 msgid "Purchase Order Settings" -msgstr "" +msgstr "Configurações do Pedido de Compra" #: templates/InvenTree/settings/pricing.html:7 msgid "Pricing Settings" -msgstr "" +msgstr "Configurações de preços" #: templates/InvenTree/settings/pricing.html:35 msgid "Exchange Rates" -msgstr "" +msgstr "Taxas de Câmbio" #: templates/InvenTree/settings/pricing.html:39 msgid "Update Now" -msgstr "" +msgstr "Atualizar agora" #: templates/InvenTree/settings/pricing.html:47 #: templates/InvenTree/settings/pricing.html:51 msgid "Last Update" -msgstr "" +msgstr "Última Atualização" #: templates/InvenTree/settings/pricing.html:51 msgid "Never" -msgstr "" +msgstr "Nunca" #: templates/InvenTree/settings/project_codes.html:8 msgid "Project Code Settings" -msgstr "" +msgstr "Configurações de código do projeto" #: templates/InvenTree/settings/project_codes.html:21 #: templates/InvenTree/settings/sidebar.html:33 msgid "Project Codes" -msgstr "" +msgstr "Códigos de Projeto" #: templates/InvenTree/settings/project_codes.html:25 #: templates/InvenTree/settings/settings_staff_js.html:216 msgid "New Project Code" -msgstr "" +msgstr "Novo Código de Projeto" #: templates/InvenTree/settings/report.html:8 #: templates/InvenTree/settings/user_reporting.html:9 msgid "Report Settings" -msgstr "" +msgstr "Configurações de relatórios" #: templates/InvenTree/settings/returns.html:7 msgid "Return Order Settings" -msgstr "" +msgstr "Configurações de Pedido de Devolução" #: templates/InvenTree/settings/setting.html:31 msgid "No value set" -msgstr "" +msgstr "Nenhum valor definido" #: templates/InvenTree/settings/setting.html:46 msgid "Edit setting" -msgstr "" +msgstr "Editar configurações" #: templates/InvenTree/settings/settings_js.html:58 msgid "Edit Plugin Setting" -msgstr "" +msgstr "Editar Configurações do Plug-in" #: templates/InvenTree/settings/settings_js.html:60 msgid "Edit Notification Setting" -msgstr "" +msgstr "Editar Configurações de Notificação" #: templates/InvenTree/settings/settings_js.html:63 msgid "Edit Global Setting" -msgstr "" +msgstr "Editar Configurações Globais" #: templates/InvenTree/settings/settings_js.html:65 msgid "Edit User Setting" -msgstr "" +msgstr "Editar Configurações de Usuário" #: templates/InvenTree/settings/settings_staff_js.html:49 msgid "Rate" -msgstr "" +msgstr "Taxa" #: 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:406 msgid "Delete" -msgstr "" +msgstr "Excluir" #: templates/InvenTree/settings/settings_staff_js.html:95 msgid "Edit Custom Unit" -msgstr "" +msgstr "Editar Unidade Personalizada" #: templates/InvenTree/settings/settings_staff_js.html:110 msgid "Delete Custom Unit" -msgstr "" +msgstr "Excluir Unidade Personalizada" #: templates/InvenTree/settings/settings_staff_js.html:124 msgid "New Custom Unit" -msgstr "" +msgstr "Nova Unidade Personalizada" #: templates/InvenTree/settings/settings_staff_js.html:140 msgid "No project codes found" -msgstr "" +msgstr "Nenhum código de projetos encontrado" #: templates/InvenTree/settings/settings_staff_js.html:158 #: templates/js/translated/build.js:2228 msgid "group" -msgstr "" +msgstr "grupo" #: templates/InvenTree/settings/settings_staff_js.html:175 #: templates/InvenTree/settings/settings_staff_js.html:189 msgid "Edit Project Code" -msgstr "" +msgstr "Editar Código do Projeto" #: templates/InvenTree/settings/settings_staff_js.html:176 #: templates/InvenTree/settings/settings_staff_js.html:203 msgid "Delete Project Code" -msgstr "" +msgstr "Excluir Código do Projeto" #: templates/InvenTree/settings/settings_staff_js.html:285 msgid "No category parameter templates found" -msgstr "" +msgstr "Nenhum modelo de parâmetro de categoria encontrado" #: templates/InvenTree/settings/settings_staff_js.html:308 #: templates/js/translated/part.js:1649 msgid "Edit Template" -msgstr "" +msgstr "Editar Modelo" #: templates/InvenTree/settings/settings_staff_js.html:309 #: templates/js/translated/part.js:1650 msgid "Delete Template" -msgstr "" +msgstr "Excluir Modelo" #: templates/InvenTree/settings/settings_staff_js.html:326 msgid "Edit Category Parameter Template" -msgstr "" +msgstr "Editar Parâmetros dos Modelos de Categoria" #: templates/InvenTree/settings/settings_staff_js.html:353 msgid "Delete Category Parameter Template" -msgstr "" +msgstr "Excluir Parâmetros dos Modelos de Categoria" #: templates/InvenTree/settings/settings_staff_js.html:388 msgid "Create Category Parameter Template" -msgstr "" +msgstr "Criar Modelo de Parâmetro de Categoria" #: templates/InvenTree/settings/settings_staff_js.html:418 msgid "Create Part Parameter Template" -msgstr "" +msgstr "Criar Modelo de Parâmetro de Peça" #: templates/InvenTree/settings/settings_staff_js.html:440 msgid "No stock location types found" -msgstr "" +msgstr "Nenhum tipo de local de estoque encontrado" #: templates/InvenTree/settings/settings_staff_js.html:461 msgid "Location count" -msgstr "" +msgstr "Contagem Localizações" #: templates/InvenTree/settings/settings_staff_js.html:466 #: templates/InvenTree/settings/settings_staff_js.html:480 msgid "Edit Location Type" -msgstr "" +msgstr "Editar Tipo de Localização" #: templates/InvenTree/settings/settings_staff_js.html:467 msgid "Delete Location type" -msgstr "" +msgstr "Apagar Tipo de localização" #: templates/InvenTree/settings/settings_staff_js.html:490 msgid "Delete Location Type" -msgstr "" +msgstr "Apagar Tipo de Localização" #: templates/InvenTree/settings/settings_staff_js.html:500 #: templates/InvenTree/settings/stock.html:38 msgid "New Location Type" -msgstr "" +msgstr "Novo Tipo de localização" #: templates/InvenTree/settings/sidebar.html:6 #: templates/InvenTree/settings/user_settings.html:9 msgid "User Settings" -msgstr "" +msgstr "Configurações de usuário" #: templates/InvenTree/settings/sidebar.html:9 msgid "Account" -msgstr "" +msgstr "Conta" #: templates/InvenTree/settings/sidebar.html:11 msgid "Display" -msgstr "" +msgstr "Visualização" #: templates/InvenTree/settings/sidebar.html:13 msgid "Home Page" -msgstr "" +msgstr "Página Inicial" #: templates/InvenTree/settings/sidebar.html:15 #: templates/js/translated/forms.js:2167 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" -msgstr "" +msgstr "Buscar" #: templates/InvenTree/settings/sidebar.html:19 #: templates/InvenTree/settings/sidebar.html:43 msgid "Reporting" -msgstr "" +msgstr "Reportar" #: templates/InvenTree/settings/sidebar.html:24 msgid "Global Settings" -msgstr "" +msgstr "Configurações globais" #: templates/InvenTree/settings/sidebar.html:27 templates/stats.html:9 msgid "Server" -msgstr "" +msgstr "Servidor" #: templates/InvenTree/settings/sidebar.html:41 msgid "Labels" -msgstr "" +msgstr "Etiquetas" #: templates/InvenTree/settings/sidebar.html:45 msgid "Categories" -msgstr "" +msgstr "Categorias" #: templates/InvenTree/settings/so.html:7 msgid "Sales Order Settings" -msgstr "" +msgstr "Configurações do Pedido de Venda" #: templates/InvenTree/settings/stock.html:7 msgid "Stock Settings" -msgstr "" +msgstr "Configurações de Estoque" #: templates/InvenTree/settings/stock.html:34 msgid "Stock Location Types" -msgstr "" +msgstr "Tipos de Locais de estoque" #: templates/InvenTree/settings/user.html:13 msgid "Account Settings" -msgstr "" +msgstr "Configurações de Conta" #: templates/InvenTree/settings/user.html:19 #: templates/account/password_reset_from_key.html:4 #: templates/account/password_reset_from_key.html:7 msgid "Change Password" -msgstr "" +msgstr "Alterar Senha" #: templates/InvenTree/settings/user.html:55 msgid "The following email addresses are associated with your account:" -msgstr "" +msgstr "Os seguintes endereços de e-mail estão associados à sua conta:" #: templates/InvenTree/settings/user.html:76 msgid "Verified" -msgstr "" +msgstr "Verificado" #: templates/InvenTree/settings/user.html:78 msgid "Unverified" -msgstr "" +msgstr "Não verificado" #: templates/InvenTree/settings/user.html:80 #: templates/js/translated/company.js:957 msgid "Primary" -msgstr "" +msgstr "Principal" #: templates/InvenTree/settings/user.html:86 msgid "Make Primary" -msgstr "" +msgstr "Tornar principal" #: templates/InvenTree/settings/user.html:87 msgid "Re-send Verification" -msgstr "" +msgstr "Reenviar verificação" #: templates/InvenTree/settings/user.html:96 msgid "Warning:" -msgstr "" +msgstr "Atenção:" #: templates/InvenTree/settings/user.html:97 msgid "You currently do not have any email address set up. You should really add an email address so you can receive notifications, reset your password, etc." -msgstr "" +msgstr "Atualmente, você não tem nenhum endereço de e-mail configurado. Você deveria realmente adicionar um endereço de e-mail para receber notificações, redefinir sua senha, etc." #: templates/InvenTree/settings/user.html:105 msgid "Add Email Address" -msgstr "" +msgstr "Adicionar endereço de E-mail" #: templates/InvenTree/settings/user.html:110 msgid "Add Email" -msgstr "" +msgstr "Adicionar e-mail" #: templates/InvenTree/settings/user.html:120 msgid "Multifactor" -msgstr "" +msgstr "Multifator" #: templates/InvenTree/settings/user.html:125 msgid "You have these factors available:" -msgstr "" +msgstr "Você tem estes fatores disponíveis:" #: templates/InvenTree/settings/user.html:135 msgid "TOTP" @@ -10971,393 +10971,393 @@ msgstr "" #: templates/InvenTree/settings/user.html:141 msgid "Static" -msgstr "" +msgstr "Estático" #: templates/InvenTree/settings/user.html:150 msgid "Multifactor authentication is not configured for your account" -msgstr "" +msgstr "A autenticação de múltiplos fatores não está configurada para sua conta" #: templates/InvenTree/settings/user.html:157 msgid "Change factors" -msgstr "" +msgstr "Alterar fatores" #: templates/InvenTree/settings/user.html:158 msgid "Setup multifactor" -msgstr "" +msgstr "Configurar multifator" #: templates/InvenTree/settings/user.html:160 msgid "Remove multifactor" -msgstr "" +msgstr "Remover multifator" #: templates/InvenTree/settings/user.html:171 msgid "Active Sessions" -msgstr "" +msgstr "Sessões Ativas" #: templates/InvenTree/settings/user.html:177 msgid "Log out active sessions (except this one)" -msgstr "" +msgstr "Encerrar sessões ativas (exceto esta)" #: templates/InvenTree/settings/user.html:178 msgid "Log Out Active Sessions" -msgstr "" +msgstr "Encerrar Sessões Ativas" #: templates/InvenTree/settings/user.html:187 msgid "unknown on unknown" -msgstr "" +msgstr "desconhecido em desconhecido" #: templates/InvenTree/settings/user.html:188 msgid "unknown" -msgstr "" +msgstr "desconhecido" #: templates/InvenTree/settings/user.html:192 msgid "IP Address" -msgstr "" +msgstr "Endereço IP" #: templates/InvenTree/settings/user.html:193 msgid "Device" -msgstr "" +msgstr "Dispositivo" #: templates/InvenTree/settings/user.html:194 msgid "Last Activity" -msgstr "" +msgstr "Última Atividade" #: templates/InvenTree/settings/user.html:207 #, python-format msgid "%(time)s ago (this session)" -msgstr "" +msgstr "%(time)s atrás (esta sessão)" #: templates/InvenTree/settings/user.html:209 #, python-format msgid "%(time)s ago" -msgstr "" +msgstr "%(time)s atrás" #: templates/InvenTree/settings/user.html:223 msgid "Do you really want to remove the selected email address?" -msgstr "" +msgstr "Você realmente deseja remover o endereço de e-mail selecionado?" #: templates/InvenTree/settings/user_display.html:9 msgid "Display Settings" -msgstr "" +msgstr "Definições de Exibição" #: templates/InvenTree/settings/user_display.html:29 msgid "Theme Settings" -msgstr "" +msgstr "Configurações de tema" #: templates/InvenTree/settings/user_display.html:39 msgid "Select theme" -msgstr "" +msgstr "Selecionar tema" #: templates/InvenTree/settings/user_display.html:50 msgid "Set Theme" -msgstr "" +msgstr "Definir Tema" #: templates/InvenTree/settings/user_display.html:58 msgid "Language Settings" -msgstr "" +msgstr "Configurações de idioma" #: templates/InvenTree/settings/user_display.html:67 msgid "Select language" -msgstr "" +msgstr "Selecionar idioma" #: templates/InvenTree/settings/user_display.html:83 #, python-format msgid "%(lang_translated)s%% translated" -msgstr "" +msgstr "%(lang_translated)s%% traduzido" #: templates/InvenTree/settings/user_display.html:85 msgid "No translations available" -msgstr "" +msgstr "Não há traduções disponíveis" #: templates/InvenTree/settings/user_display.html:92 msgid "Set Language" -msgstr "" +msgstr "Definir Idioma" #: templates/InvenTree/settings/user_display.html:95 msgid "Some languages are not complete" -msgstr "" +msgstr "Alguns idiomas não estão completos" #: templates/InvenTree/settings/user_display.html:97 msgid "Show only sufficient" -msgstr "" +msgstr "Mostrar apenas o suficiente" #: templates/InvenTree/settings/user_display.html:99 msgid "and hidden." -msgstr "" +msgstr "e oculto." #: templates/InvenTree/settings/user_display.html:99 msgid "Show them too" -msgstr "" +msgstr "Mostrar outros também" #: templates/InvenTree/settings/user_display.html:106 msgid "Help the translation efforts!" -msgstr "" +msgstr "Ajude os esforços de tradução!" #: templates/InvenTree/settings/user_display.html:107 msgid "Native language translation of the web application is community contributed via crowdin. Contributions are welcomed and encouraged." -msgstr "" +msgstr "A tradução nativa do aplicativo web é contribuição da comunidade pelo crowdin. Contribuições são encorajadas e bem vindas." #: templates/InvenTree/settings/user_display.html:108 msgid "InvenTree Translation Project" -msgstr "" +msgstr "Projeto de Tradução do InvenTree" #: templates/InvenTree/settings/user_homepage.html:9 msgid "Home Page Settings" -msgstr "" +msgstr "Configuração da Página Inicial" #: templates/InvenTree/settings/user_search.html:9 msgid "Search Settings" -msgstr "" +msgstr "Configurações de Busca" #: templates/InvenTree/settings/user_sso.html:9 msgid "Single Sign On Accounts" -msgstr "" +msgstr "Contas de Login Único" #: templates/InvenTree/settings/user_sso.html:16 msgid "You can sign in to your account using any of the following third party accounts:" -msgstr "" +msgstr "Você pode entrar na sua conta usando qualquer uma das seguintes contas de terceiros:" #: templates/InvenTree/settings/user_sso.html:52 msgid "There are no social network accounts connected to this account." -msgstr "" +msgstr "Não há nenhuma rede social conectadas a essa conta." #: templates/InvenTree/settings/user_sso.html:58 msgid "Add SSO Account" -msgstr "" +msgstr "Adicionar conta SSO" #: templates/InvenTree/settings/user_sso.html:67 msgid "Single Sign On is not enabled for this server" -msgstr "" +msgstr "Acesso único não está habilitado para este servidor" #: templates/about.html:9 msgid "InvenTree Version" -msgstr "" +msgstr "Versão do InvenTree" #: templates/about.html:14 msgid "Development Version" -msgstr "" +msgstr "Versão de desenvolvimento" #: templates/about.html:17 msgid "Up to Date" -msgstr "" +msgstr "Atualizado" #: templates/about.html:19 msgid "Update Available" -msgstr "" +msgstr "Atualização disponível" #: templates/about.html:43 msgid "Commit Branch" -msgstr "" +msgstr "Ramo de commits" #: templates/about.html:49 msgid "InvenTree Documentation" -msgstr "" +msgstr "Documentação do InvenTree" #: templates/about.html:54 msgid "API Version" -msgstr "" +msgstr "Versão do API" #: templates/about.html:59 msgid "Python Version" -msgstr "" +msgstr "Versão do Python" #: templates/about.html:64 msgid "Django Version" -msgstr "" +msgstr "Versão Django" #: templates/about.html:69 msgid "View Code on GitHub" -msgstr "" +msgstr "Veja o código no GitHub" #: templates/about.html:74 msgid "Credits" -msgstr "" +msgstr "Créditos" #: templates/about.html:79 msgid "Mobile App" -msgstr "" +msgstr "Aplicativo Móvel" #: templates/about.html:84 msgid "Submit Bug Report" -msgstr "" +msgstr "Enviar relatório de erro" #: templates/about.html:91 templates/clip.html:4 #: templates/js/translated/helpers.js:589 msgid "copy to clipboard" -msgstr "" +msgstr "copiar para área de transferência" #: templates/about.html:91 msgid "copy version information" -msgstr "" +msgstr "copiar informações da versão" #: templates/account/base.html:66 templates/navbar.html:17 msgid "InvenTree logo" -msgstr "" +msgstr "Logotipo InvenTree" #: templates/account/email_confirm.html:6 #: templates/account/email_confirm.html:9 msgid "Confirm Email Address" -msgstr "" +msgstr "Confirmar endereço de e-mail" #: templates/account/email_confirm.html:15 #, python-format msgid "Please confirm that %(email)s is an email address for user %(user_display)s." -msgstr "" +msgstr "Por favor, confirme que %(email)s é um endereço de e-mail para o usuário %(user_display)s." #: templates/account/email_confirm.html:21 templates/js/translated/forms.js:774 msgid "Confirm" -msgstr "" +msgstr "Confirmar" #: templates/account/email_confirm.html:29 #, python-format msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request." -msgstr "" +msgstr "Este link de confirmação expirou ou é inválido. Por favor, envie uma nova solicitação de confirmação de e-mail." #: templates/account/login.html:6 templates/account/login.html:19 #: templates/account/login.html:40 templates/socialaccount/login.html:5 msgid "Sign In" -msgstr "" +msgstr "Acessar" #: templates/account/login.html:23 msgid "Not a member?" -msgstr "" +msgstr "Não é membro?" #: templates/account/login.html:25 templates/account/signup.html:11 #: templates/account/signup.html:22 templates/socialaccount/signup.html:8 #: templates/socialaccount/signup.html:23 msgid "Sign Up" -msgstr "" +msgstr "Cadastre-se" #: templates/account/login.html:47 msgid "Forgot Password?" -msgstr "" +msgstr "Esqueceu a senha?" #: templates/account/login.html:55 msgid "or log in with" -msgstr "" +msgstr "ou acesse com" #: templates/account/logout.html:5 templates/account/logout.html:8 #: templates/account/logout.html:20 msgid "Sign Out" -msgstr "" +msgstr "Sair" #: templates/account/logout.html:10 msgid "Are you sure you want to sign out?" -msgstr "" +msgstr "Você tem certeza que deseja sair?" #: templates/account/logout.html:27 templates/allauth_2fa/backup_tokens.html:35 #: templates/allauth_2fa/remove.html:24 templates/allauth_2fa/setup.html:45 msgid "Return to Site" -msgstr "" +msgstr "Retornar ao site" #: templates/account/password_reset.html:5 #: templates/account/password_reset.html:12 msgid "Password Reset" -msgstr "" +msgstr "Redefinir senha" #: templates/account/password_reset.html:18 msgid "Forgotten your password? Enter your email address below, and we'll send you an email allowing you to reset it." -msgstr "" +msgstr "Esqueceu sua senha? Digite seu endereço de e-mail abaixo e enviaremos um e-mail para você redefinir sua senha." #: templates/account/password_reset.html:23 msgid "Reset My Password" -msgstr "" +msgstr "Redefinir Minha Senha" #: templates/account/password_reset.html:27 templates/account/signup.html:37 msgid "This function is currently disabled. Please contact an administrator." -msgstr "" +msgstr "Esta função está desativada. Por favor, contate um administrador." #: templates/account/password_reset_from_key.html:7 msgid "Bad Token" -msgstr "" +msgstr "Token Inválido" #: templates/account/password_reset_from_key.html:11 #, python-format msgid "The password reset link was invalid, possibly because it has already been used. Please request a new password reset." -msgstr "" +msgstr "O link de redefinição de senha era inválido, possivelmente porque já foi usado. Solicite um nova redefinição de senha." #: templates/account/password_reset_from_key.html:18 msgid "Change password" -msgstr "" +msgstr "Alterar senha" #: templates/account/password_reset_from_key.html:22 msgid "Your password is now changed." -msgstr "" +msgstr "Sua senha foi alterada." #: templates/account/signup.html:13 #, python-format msgid "Already have an account? Then please sign in." -msgstr "" +msgstr "Já tem uma conta? Então, por favor Entrar." #: templates/account/signup.html:28 msgid "Use a SSO-provider for signup" -msgstr "" +msgstr "Use um provedor SSO para inscrição" #: templates/account/signup_closed.html:5 #: templates/account/signup_closed.html:8 msgid "Sign Up Closed" -msgstr "" +msgstr "Registro fechado" #: templates/account/signup_closed.html:10 msgid "Sign up is currently closed." -msgstr "" +msgstr "Registro está atualmente fechado." #: templates/account/signup_closed.html:15 #: templates/socialaccount/authentication_error.html:19 #: templates/socialaccount/login.html:38 templates/socialaccount/signup.html:30 msgid "Return to login page" -msgstr "" +msgstr "Voltar a página de acesso" #: templates/admin_button.html:8 msgid "View in administration panel" -msgstr "" +msgstr "Ver no Painel de Administração" #: templates/allauth_2fa/authenticate.html:5 msgid "Two-Factor Authentication" -msgstr "" +msgstr "Autenticação de dois fatores" #: templates/allauth_2fa/authenticate.html:13 msgid "Authenticate" -msgstr "" +msgstr "Autenticar" #: templates/allauth_2fa/backup_tokens.html:6 msgid "Two-Factor Authentication Backup Tokens" -msgstr "" +msgstr "Backup de Tokens de Autenticação Dois-Fatores" #: templates/allauth_2fa/backup_tokens.html:17 msgid "Backup tokens have been generated, but are not revealed here for security reasons. Press the button below to generate new ones." -msgstr "" +msgstr "Os tokens de backup foram gerados, mas não são revelados aqui por razões de segurança. Pressione o botão abaixo para gerar novos." #: templates/allauth_2fa/backup_tokens.html:20 msgid "No backup tokens are available. Press the button below to generate some." -msgstr "" +msgstr "Nenhum token de backup está disponível. Pressione o botão abaixo para gerar alguns." #: templates/allauth_2fa/backup_tokens.html:28 msgid "Generate Tokens" -msgstr "" +msgstr "Gerar Tokens" #: templates/allauth_2fa/remove.html:6 msgid "Disable Two-Factor Authentication" -msgstr "" +msgstr "Desativar Autenticação de Dois Fatores" #: templates/allauth_2fa/remove.html:9 msgid "Are you sure?" -msgstr "" +msgstr "Você tem certeza?" #: templates/allauth_2fa/remove.html:17 msgid "Disable 2FA" -msgstr "" +msgstr "Desativar A2F" #: templates/allauth_2fa/setup.html:6 msgid "Setup Two-Factor Authentication" -msgstr "" +msgstr "Configurar Autenticação de Dois Fatores" #: templates/allauth_2fa/setup.html:10 msgid "Step 1" -msgstr "" +msgstr "Passo 1" #: templates/allauth_2fa/setup.html:14 msgid "Scan the QR code below with a token generator of your choice (for instance Google Authenticator)." -msgstr "" +msgstr "Escaneie o código QR abaixo com um gerador de token de sua escolha (por exemplo, Google Authenticator)." #: templates/allauth_2fa/setup.html:20 msgid "Secret: " @@ -11365,47 +11365,47 @@ msgstr "" #: templates/allauth_2fa/setup.html:24 msgid "Step 2" -msgstr "" +msgstr "Passo 2" #: templates/allauth_2fa/setup.html:28 msgid "Input a token generated by the app:" -msgstr "" +msgstr "Insira um token gerado pelo aplicativo:" #: templates/allauth_2fa/setup.html:38 msgid "Verify" -msgstr "" +msgstr "Verificar" #: templates/attachment_button.html:4 templates/js/translated/attachment.js:70 msgid "Add Link" -msgstr "" +msgstr "Adicionar Link" #: templates/attachment_button.html:7 templates/js/translated/attachment.js:48 msgid "Add Attachment" -msgstr "" +msgstr "Adicionar anexo" #: templates/barcode_data.html:5 msgid "Barcode Identifier" -msgstr "" +msgstr "Identificador de Código de Barras" #: templates/base.html:103 msgid "Server Restart Required" -msgstr "" +msgstr "Reinicialização do Servidor é Necessária" #: templates/base.html:106 msgid "A configuration option has been changed which requires a server restart" -msgstr "" +msgstr "Uma opção de configuração foi alterada, o que requer uma reinicialização do servidor" #: templates/base.html:106 templates/base.html:116 msgid "Contact your system administrator for further information" -msgstr "" +msgstr "Contate seu administrador de sistema para mais informações" #: templates/base.html:113 msgid "Pending Database Migrations" -msgstr "" +msgstr "Migrações de Banco de Dados Pendentes" #: templates/base.html:116 msgid "There are pending database migrations which require attention" -msgstr "" +msgstr "Existem migrações pendentes do banco de dados que requerem atenção" #: templates/email/build_order_completed.html:9 #: templates/email/canceled_order_assigned.html:9 @@ -11416,274 +11416,274 @@ msgstr "" #: templates/email/purchase_order_received.html:9 #: templates/email/return_order_received.html:9 msgid "Click on the following link to view this order" -msgstr "" +msgstr "Clique no link abaixo para ver este pedido" #: templates/email/build_order_required_stock.html:7 msgid "Stock is required for the following build order" -msgstr "" +msgstr "Estoque é necessário para o pedido de produção a seguir" #: templates/email/build_order_required_stock.html:8 #, python-format msgid "Build order %(build)s - building %(quantity)s x %(part)s" -msgstr "" +msgstr "O pedido de Produção %(build)s - construindo %(quantity)s x %(part)s" #: templates/email/build_order_required_stock.html:10 msgid "Click on the following link to view this build order" -msgstr "" +msgstr "Clique no link abaixo para ver este pedido de produção" #: templates/email/build_order_required_stock.html:14 msgid "The following parts are low on required stock" -msgstr "" +msgstr "As peças a seguir estão abaixo do estoque requerido" #: templates/email/build_order_required_stock.html:18 #: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2557 msgid "Required Quantity" -msgstr "" +msgstr "Quantidade Requerida" #: templates/email/build_order_required_stock.html:38 #: templates/email/low_stock_notification.html:30 msgid "You are receiving this email because you are subscribed to notifications for this part " -msgstr "" +msgstr "Você está recebendo este e-mail porque está inscrito para notificações dessa peça " #: templates/email/low_stock_notification.html:9 msgid "Click on the following link to view this part" -msgstr "" +msgstr "Clique no link abaixo para ver esta peça" #: templates/email/low_stock_notification.html:18 #: templates/js/translated/part.js:3222 msgid "Minimum Quantity" -msgstr "" +msgstr "Quantidade Mínima" #: templates/js/translated/api.js:225 templates/js/translated/modals.js:1135 msgid "No Response" -msgstr "" +msgstr "Sem Resposta" #: templates/js/translated/api.js:226 templates/js/translated/modals.js:1136 msgid "No response from the InvenTree server" -msgstr "" +msgstr "Sem resposta do servidor InvenTree" #: templates/js/translated/api.js:232 msgid "Error 400: Bad request" -msgstr "" +msgstr "Erro 400: Requisição ruim" #: templates/js/translated/api.js:233 msgid "API request returned error code 400" -msgstr "" +msgstr "Solicitação de API retornou o código de erro 400" #: templates/js/translated/api.js:237 templates/js/translated/modals.js:1145 msgid "Error 401: Not Authenticated" -msgstr "" +msgstr "Erro 401: Não Autenticado" #: templates/js/translated/api.js:238 templates/js/translated/modals.js:1146 msgid "Authentication credentials not supplied" -msgstr "" +msgstr "Credenciais de autenticação não fornecidas" #: templates/js/translated/api.js:242 templates/js/translated/modals.js:1150 msgid "Error 403: Permission Denied" -msgstr "" +msgstr "Erro 403: Permissão Negada" #: templates/js/translated/api.js:243 templates/js/translated/modals.js:1151 msgid "You do not have the required permissions to access this function" -msgstr "" +msgstr "Você não tem as permissões necessárias para acessar esta função" #: templates/js/translated/api.js:247 templates/js/translated/modals.js:1155 msgid "Error 404: Resource Not Found" -msgstr "" +msgstr "Erro 404: Recurso Não Encontrado" #: templates/js/translated/api.js:248 templates/js/translated/modals.js:1156 msgid "The requested resource could not be located on the server" -msgstr "" +msgstr "O recurso requisitado não pôde ser encontrado no servidor" #: templates/js/translated/api.js:252 msgid "Error 405: Method Not Allowed" -msgstr "" +msgstr "Erro 405: Método Não Permitido" #: templates/js/translated/api.js:253 msgid "HTTP method not allowed at URL" -msgstr "" +msgstr "Método HTTP não permitido na URL" #: templates/js/translated/api.js:257 templates/js/translated/modals.js:1160 msgid "Error 408: Timeout" -msgstr "" +msgstr "Erro 408: Tempo Limite" #: templates/js/translated/api.js:258 templates/js/translated/modals.js:1161 msgid "Connection timeout while requesting data from server" -msgstr "" +msgstr "Tempo limite da conexão atingido ao solicitar dados do servidor" #: templates/js/translated/api.js:261 msgid "Error 503: Service Unavailable" -msgstr "" +msgstr "Erro 503: Serviço Indisponível" #: templates/js/translated/api.js:262 msgid "The server is currently unavailable" -msgstr "" +msgstr "O servidor está atualmente indisponível" #: templates/js/translated/api.js:265 msgid "Unhandled Error Code" -msgstr "" +msgstr "Código de erro não tratado" #: templates/js/translated/api.js:266 msgid "Error code" -msgstr "" +msgstr "Código do erro" #: templates/js/translated/attachment.js:114 msgid "All selected attachments will be deleted" -msgstr "" +msgstr "Todos os anexos selecionados serão excluídos" #: templates/js/translated/attachment.js:129 msgid "Delete Attachments" -msgstr "" +msgstr "Excluir Anexos" #: templates/js/translated/attachment.js:205 msgid "Delete attachments" -msgstr "" +msgstr "Excluir anexos" #: templates/js/translated/attachment.js:260 msgid "Attachment actions" -msgstr "" +msgstr "Ações de anexos" #: templates/js/translated/attachment.js:294 msgid "No attachments found" -msgstr "" +msgstr "Nenhum anexo encontrado" #: templates/js/translated/attachment.js:334 msgid "Edit Attachment" -msgstr "" +msgstr "Editar Anexo" #: templates/js/translated/attachment.js:365 msgid "Upload Date" -msgstr "" +msgstr "Data de Envio" #: templates/js/translated/attachment.js:385 msgid "Edit attachment" -msgstr "" +msgstr "Editar anexo" #: templates/js/translated/attachment.js:393 msgid "Delete attachment" -msgstr "" +msgstr "Apagar anexo" #: templates/js/translated/barcode.js:43 msgid "Scan barcode data here using barcode scanner" -msgstr "" +msgstr "Leia o código de barras aqui usando um leitor de código de barras" #: templates/js/translated/barcode.js:45 msgid "Enter barcode data" -msgstr "" +msgstr "Digitar informações do código de barras" #: templates/js/translated/barcode.js:59 msgid "Scan barcode using connected webcam" -msgstr "" +msgstr "Ler código de barras usando webcam conectada" #: templates/js/translated/barcode.js:138 msgid "Enter optional notes for stock transfer" -msgstr "" +msgstr "Digite notas opcionais para transferência de estoque" #: templates/js/translated/barcode.js:139 msgid "Enter notes" -msgstr "" +msgstr "Inserir anotações" #: templates/js/translated/barcode.js:188 msgid "Server error" -msgstr "" +msgstr "Erro no servidor" #: templates/js/translated/barcode.js:217 msgid "Unknown response from server" -msgstr "" +msgstr "Resposta desconhecida do servidor" #: templates/js/translated/barcode.js:252 #: templates/js/translated/modals.js:1125 msgid "Invalid server response" -msgstr "" +msgstr "Resposta do servidor inválida" #: templates/js/translated/barcode.js:372 msgid "Scan barcode data" -msgstr "" +msgstr "Ler dados do código de barras" #: templates/js/translated/barcode.js:420 templates/navbar.html:114 msgid "Scan Barcode" -msgstr "" +msgstr "Ler Código de Barras" #: templates/js/translated/barcode.js:458 msgid "No URL in response" -msgstr "" +msgstr "Nenhuma URL na resposta" #: templates/js/translated/barcode.js:498 msgid "This will remove the link to the associated barcode" -msgstr "" +msgstr "Isto irá remover o link com o código de barras associado" #: templates/js/translated/barcode.js:504 msgid "Unlink" -msgstr "" +msgstr "Desassociar" #: templates/js/translated/barcode.js:567 templates/js/translated/stock.js:1158 msgid "Remove stock item" -msgstr "" +msgstr "Remover item de estoque" #: templates/js/translated/barcode.js:610 msgid "Scan Stock Items Into Location" -msgstr "" +msgstr "Escanear Itens de Estoque para Local" #: templates/js/translated/barcode.js:612 msgid "Scan stock item barcode to check in to this location" -msgstr "" +msgstr "Digitalize o código de barras dos itens de estoque para fazer check-in nesta localização" #: templates/js/translated/barcode.js:615 #: templates/js/translated/barcode.js:812 msgid "Check In" -msgstr "" +msgstr "Check-in" #: templates/js/translated/barcode.js:647 msgid "No barcode provided" -msgstr "" +msgstr "Nenhum código de barras fornecido" #: templates/js/translated/barcode.js:687 msgid "Stock Item already scanned" -msgstr "" +msgstr "Item de estoque já escaneado" #: templates/js/translated/barcode.js:691 msgid "Stock Item already in this location" -msgstr "" +msgstr "Item de estoque já está nesta localização" #: templates/js/translated/barcode.js:698 msgid "Added stock item" -msgstr "" +msgstr "Item de estoque adicionado" #: templates/js/translated/barcode.js:707 msgid "Barcode does not match valid stock item" -msgstr "" +msgstr "Código de barras não corresponde a item de estoque válido" #: templates/js/translated/barcode.js:726 msgid "Scan Stock Container Into Location" -msgstr "" +msgstr "Escanear o Recipiente de Estoque em Local" #: templates/js/translated/barcode.js:728 msgid "Scan stock container barcode to check in to this location" -msgstr "" +msgstr "Digitalize o código de barras do contêiner para fazer check-in para esta localização" #: templates/js/translated/barcode.js:762 msgid "Barcode does not match valid stock location" -msgstr "" +msgstr "Código de barras não corresponde ao local de estoque válido" #: templates/js/translated/barcode.js:806 msgid "Check Into Location" -msgstr "" +msgstr "Registrar no Local" #: templates/js/translated/barcode.js:875 #: templates/js/translated/barcode.js:884 msgid "Barcode does not match a valid location" -msgstr "" +msgstr "Código de barras não corresponde a um local válido" #: templates/js/translated/bom.js:78 msgid "Create BOM Item" -msgstr "" +msgstr "Criar Item da BOM" #: templates/js/translated/bom.js:132 msgid "Display row data" -msgstr "" +msgstr "Mostrar dados da linha" #: templates/js/translated/bom.js:188 msgid "Row Data" -msgstr "" +msgstr "Dados da Linha" #: templates/js/translated/bom.js:189 templates/js/translated/bom.js:700 #: templates/js/translated/modals.js:75 templates/js/translated/modals.js:629 @@ -11691,139 +11691,139 @@ msgstr "" #: templates/js/translated/purchase_order.js:797 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" -msgstr "" +msgstr "Fechar" #: templates/js/translated/bom.js:306 msgid "Download BOM Template" -msgstr "" +msgstr "Baixar modelo de BOM" #: templates/js/translated/bom.js:351 msgid "Multi Level BOM" -msgstr "" +msgstr "BOM Multinível" #: templates/js/translated/bom.js:352 msgid "Include BOM data for subassemblies" -msgstr "" +msgstr "Incluir dados BOM para sub-montagens" #: templates/js/translated/bom.js:357 msgid "Levels" -msgstr "" +msgstr "Níveis" #: templates/js/translated/bom.js:358 msgid "Select maximum number of BOM levels to export (0 = all levels)" -msgstr "" +msgstr "Selecione o número máximo de níveis BOM para exportar (0= todos os níveis)" #: templates/js/translated/bom.js:365 msgid "Include Alternative Parts" -msgstr "" +msgstr "Incluir Peças Alternativas" #: templates/js/translated/bom.js:366 msgid "Include alternative parts in exported BOM" -msgstr "" +msgstr "Incluir peças alternativas na BOM exportada" #: templates/js/translated/bom.js:371 msgid "Include Parameter Data" -msgstr "" +msgstr "Incluir Parâmetros de Dados" #: templates/js/translated/bom.js:372 msgid "Include part parameter data in exported BOM" -msgstr "" +msgstr "Incluir dados do parâmetro da peça na BOM exportada" #: templates/js/translated/bom.js:377 msgid "Include Stock Data" -msgstr "" +msgstr "Incluir Dados do Estoque" #: templates/js/translated/bom.js:378 msgid "Include part stock data in exported BOM" -msgstr "" +msgstr "Incluir dados do estoque da peça na BOM exportada" #: templates/js/translated/bom.js:383 msgid "Include Manufacturer Data" -msgstr "" +msgstr "Incluir Dados do Fabricante" #: templates/js/translated/bom.js:384 msgid "Include part manufacturer data in exported BOM" -msgstr "" +msgstr "Incluir dados da peça do fabricante na BOM exportada" #: templates/js/translated/bom.js:389 msgid "Include Supplier Data" -msgstr "" +msgstr "Incluir Dodos do Fornecedor" #: templates/js/translated/bom.js:390 msgid "Include part supplier data in exported BOM" -msgstr "" +msgstr "Incluir dados da peça do fornecedor na BOM exportada" #: templates/js/translated/bom.js:395 msgid "Include Pricing Data" -msgstr "" +msgstr "Incluir Dados de Preço" #: templates/js/translated/bom.js:396 msgid "Include part pricing data in exported BOM" -msgstr "" +msgstr "Incluir dados de preço na BOM exportada" #: templates/js/translated/bom.js:591 msgid "Remove substitute part" -msgstr "" +msgstr "Remover peça substituta" #: templates/js/translated/bom.js:645 msgid "Select and add a new substitute part using the input below" -msgstr "" +msgstr "Selecione e adicione uma nova peça substituída usando a entrada abaixo" #: templates/js/translated/bom.js:656 msgid "Are you sure you wish to remove this substitute part link?" -msgstr "" +msgstr "Tem certeza que deseja remover este link de peça substituta?" #: templates/js/translated/bom.js:662 msgid "Remove Substitute Part" -msgstr "" +msgstr "Remover Peça Substituta" #: templates/js/translated/bom.js:701 msgid "Add Substitute" -msgstr "" +msgstr "Adicionar Substituto" #: templates/js/translated/bom.js:702 msgid "Edit BOM Item Substitutes" -msgstr "" +msgstr "Editar Itens Substitutos da BOM" #: templates/js/translated/bom.js:764 msgid "All selected BOM items will be deleted" -msgstr "" +msgstr "Todos os itens selecionados da BOM serão apagados" #: templates/js/translated/bom.js:780 msgid "Delete selected BOM items?" -msgstr "" +msgstr "Apagar itens selecionados da BOM?" #: templates/js/translated/bom.js:826 msgid "Delete items" -msgstr "" +msgstr "Apagar items" #: templates/js/translated/bom.js:936 msgid "Load BOM for subassembly" -msgstr "" +msgstr "Carregar BOM para a submontagem" #: templates/js/translated/bom.js:946 msgid "Substitutes Available" -msgstr "" +msgstr "Substitutos Disponíveis" #: templates/js/translated/bom.js:950 templates/js/translated/build.js:2501 msgid "Variant stock allowed" -msgstr "" +msgstr "Estoque de variantes permitido" #: templates/js/translated/bom.js:1014 msgid "Substitutes" -msgstr "" +msgstr "Substitutos" #: templates/js/translated/bom.js:1139 msgid "BOM pricing is complete" -msgstr "" +msgstr "Preços da BOM estão completos" #: templates/js/translated/bom.js:1144 msgid "BOM pricing is incomplete" -msgstr "" +msgstr "Preços da BOM estão incompletos" #: templates/js/translated/bom.js:1151 msgid "No pricing available" -msgstr "" +msgstr "Nenhum preço disponível" #: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2622 msgid "External stock" @@ -11832,400 +11832,400 @@ msgstr "" #: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2596 #: templates/js/translated/sales_order.js:1946 msgid "No Stock Available" -msgstr "" +msgstr "Nenhum Estoque Disponível" #: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2600 msgid "Includes variant and substitute stock" -msgstr "" +msgstr "Incluir estoque de variantes e substitutos" #: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2602 #: templates/js/translated/part.js:1260 #: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" -msgstr "" +msgstr "Incluir estoque de variantes" #: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2604 msgid "Includes substitute stock" -msgstr "" +msgstr "Incluir estoque de substitutos" #: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2587 msgid "Consumable item" -msgstr "" +msgstr "Itens consumíveis" #: templates/js/translated/bom.js:1285 msgid "Validate BOM Item" -msgstr "" +msgstr "Validar Item da BOM" #: templates/js/translated/bom.js:1287 msgid "This line has been validated" -msgstr "" +msgstr "Esta linha foi validada" #: templates/js/translated/bom.js:1289 msgid "Edit substitute parts" -msgstr "" +msgstr "Editar peças substitutas" #: templates/js/translated/bom.js:1291 templates/js/translated/bom.js:1486 msgid "Edit BOM Item" -msgstr "" +msgstr "Editar Item da BOM" #: templates/js/translated/bom.js:1293 msgid "Delete BOM Item" -msgstr "" +msgstr "Apagar Item da BOM" #: templates/js/translated/bom.js:1313 msgid "View BOM" -msgstr "" +msgstr "Ver BOM" #: templates/js/translated/bom.js:1397 msgid "No BOM items found" -msgstr "" +msgstr "Nenhum item da BOM encontrado" #: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2486 msgid "Required Part" -msgstr "" +msgstr "Peça Requerida" #: templates/js/translated/bom.js:1683 msgid "Inherited from parent BOM" -msgstr "" +msgstr "Herdado da BOM paternal" #: templates/js/translated/build.js:142 msgid "Edit Build Order" -msgstr "" +msgstr "Editar Pedido de Produção" #: templates/js/translated/build.js:190 msgid "Create Build Order" -msgstr "" +msgstr "Criar Pedido de Produção" #: templates/js/translated/build.js:222 msgid "Cancel Build Order" -msgstr "" +msgstr "Cancelar Pedido de Produção" #: templates/js/translated/build.js:231 msgid "Are you sure you wish to cancel this build?" -msgstr "" +msgstr "Tem certeza que deseja cancelar essa produção?" #: templates/js/translated/build.js:237 msgid "Stock items have been allocated to this build order" -msgstr "" +msgstr "Itens de estoque foram alocados para este pedido de produção" #: templates/js/translated/build.js:244 msgid "There are incomplete outputs remaining for this build order" -msgstr "" +msgstr "Há saídas incompletas restantes para este pedido de produção" #: templates/js/translated/build.js:296 msgid "Build order is ready to be completed" -msgstr "" +msgstr "Pedido de produção está pronto para ser concluído" #: templates/js/translated/build.js:304 msgid "This build order cannot be completed as there are incomplete outputs" -msgstr "" +msgstr "Este pedido de produção não pode ser concluído pois há saídas incompletas" #: templates/js/translated/build.js:309 msgid "Build Order is incomplete" -msgstr "" +msgstr "Pedido de Produção está incompleto" #: templates/js/translated/build.js:327 msgid "Complete Build Order" -msgstr "" +msgstr "Completar Pedido de Produção" #: templates/js/translated/build.js:368 templates/js/translated/stock.js:119 #: templates/js/translated/stock.js:294 msgid "Next available serial number" -msgstr "" +msgstr "Próximo número de série disponível" #: templates/js/translated/build.js:370 templates/js/translated/stock.js:121 #: templates/js/translated/stock.js:296 msgid "Latest serial number" -msgstr "" +msgstr "Último número de série" #: templates/js/translated/build.js:379 msgid "The Bill of Materials contains trackable parts" -msgstr "" +msgstr "A Lista de Materiais (BOM) contém peças rastreáveis" #: templates/js/translated/build.js:380 msgid "Build outputs must be generated individually" -msgstr "" +msgstr "Saída de produção deve ser gerada individualmente" #: templates/js/translated/build.js:388 msgid "Trackable parts can have serial numbers specified" -msgstr "" +msgstr "Peças rastreáveis podem ter números de séries especificados" #: templates/js/translated/build.js:389 msgid "Enter serial numbers to generate multiple single build outputs" -msgstr "" +msgstr "Digite números de série para gerar várias saídas de produção simples" #: templates/js/translated/build.js:396 msgid "Create Build Output" -msgstr "" +msgstr "Criar Saída de Produção" #: templates/js/translated/build.js:427 msgid "Allocate stock items to this build output" -msgstr "" +msgstr "Alocar itens de estoque para a saída de produção" #: templates/js/translated/build.js:435 msgid "Deallocate stock from build output" -msgstr "" +msgstr "Desalocar estoque da saída de produção" #: templates/js/translated/build.js:444 msgid "Complete build output" -msgstr "" +msgstr "Concluir saída de produção" #: templates/js/translated/build.js:452 msgid "Scrap build output" -msgstr "" +msgstr "Sucatear saída de produção" #: templates/js/translated/build.js:459 msgid "Delete build output" -msgstr "" +msgstr "Excluir saída de produção" #: templates/js/translated/build.js:479 msgid "Are you sure you wish to deallocate the selected stock items from this build?" -msgstr "" +msgstr "Tem certeza que deseja desalocar os itens de estoque selecionados desta produção?" #: templates/js/translated/build.js:497 msgid "Deallocate Stock Items" -msgstr "" +msgstr "Desalocar Items de Estoque" #: templates/js/translated/build.js:583 templates/js/translated/build.js:711 #: templates/js/translated/build.js:837 msgid "Select Build Outputs" -msgstr "" +msgstr "Selecionar Saída de Produção" #: templates/js/translated/build.js:584 templates/js/translated/build.js:712 #: templates/js/translated/build.js:838 msgid "At least one build output must be selected" -msgstr "" +msgstr "Ao menos uma saída de produção deve ser selecionada" #: templates/js/translated/build.js:598 msgid "Selected build outputs will be marked as complete" -msgstr "" +msgstr "Saídas de produção selecionadas serão marcadas como completas" #: templates/js/translated/build.js:602 templates/js/translated/build.js:736 #: templates/js/translated/build.js:860 msgid "Output" -msgstr "" +msgstr "Saída" #: templates/js/translated/build.js:630 msgid "Complete Build Outputs" -msgstr "" +msgstr "Concluir Saídas de Produção" #: templates/js/translated/build.js:727 msgid "Selected build outputs will be marked as scrapped" -msgstr "" +msgstr "Saídas de produção selecionadas serão marcadas como sucatas" #: templates/js/translated/build.js:729 msgid "Scrapped output are marked as rejected" -msgstr "" +msgstr "Saídas sucateadas são marcadas como rejeitada" #: templates/js/translated/build.js:730 msgid "Allocated stock items will no longer be available" -msgstr "" +msgstr "Itens de estoque alocados não estarão mais disponíveis" #: templates/js/translated/build.js:731 msgid "The completion status of the build order will not be adjusted" -msgstr "" +msgstr "O estado de conclusão do pedido de produção não será ajustado" #: templates/js/translated/build.js:762 msgid "Scrap Build Outputs" -msgstr "" +msgstr "Sucatear Saídas de Produção" #: templates/js/translated/build.js:852 msgid "Selected build outputs will be deleted" -msgstr "" +msgstr "Saídas de produção selecionadas serão apagadas" #: templates/js/translated/build.js:854 msgid "Build output data will be permanently deleted" -msgstr "" +msgstr "Dados da saída de produção serão excluídos permanentemente" #: templates/js/translated/build.js:855 msgid "Allocated stock items will be returned to stock" -msgstr "" +msgstr "Itens de estoque alocados serão retornados ao estoque" #: templates/js/translated/build.js:873 msgid "Delete Build Outputs" -msgstr "" +msgstr "Deletar Saída de Produção" #: templates/js/translated/build.js:960 msgid "No build order allocations found" -msgstr "" +msgstr "Nenhuma alocação de pedido de produção encontrada" #: templates/js/translated/build.js:1005 msgid "Location not specified" -msgstr "" +msgstr "Local não especificado" #: templates/js/translated/build.js:1027 msgid "Complete outputs" -msgstr "" +msgstr "Saídas concluídas" #: templates/js/translated/build.js:1045 msgid "Scrap outputs" -msgstr "" +msgstr "Sucatear saídas" #: templates/js/translated/build.js:1063 msgid "Delete outputs" -msgstr "" +msgstr "Exlcuir saídas" #: templates/js/translated/build.js:1116 msgid "build output" -msgstr "" +msgstr "saída da produção" #: templates/js/translated/build.js:1117 msgid "build outputs" -msgstr "" +msgstr "saídas da produção" #: templates/js/translated/build.js:1121 msgid "Build output actions" -msgstr "" +msgstr "Ações da saída de produção" #: templates/js/translated/build.js:1297 msgid "No active build outputs found" -msgstr "" +msgstr "Nenhuma saída de produção ativa encontrada" #: templates/js/translated/build.js:1390 msgid "Allocated Lines" -msgstr "" +msgstr "Linhas Alocadas" #: templates/js/translated/build.js:1404 msgid "Required Tests" -msgstr "" +msgstr "Testes Obrigatórios" #: templates/js/translated/build.js:1576 #: templates/js/translated/purchase_order.js:611 #: templates/js/translated/sales_order.js:1207 msgid "Select Parts" -msgstr "" +msgstr "Selecionar Peças" #: templates/js/translated/build.js:1577 #: templates/js/translated/sales_order.js:1208 msgid "You must select at least one part to allocate" -msgstr "" +msgstr "Você deve selecionar ao menos uma peça para alocar" #: templates/js/translated/build.js:1640 #: templates/js/translated/sales_order.js:1157 msgid "Specify stock allocation quantity" -msgstr "" +msgstr "Especifique a quantidade de alocação de estoque" #: templates/js/translated/build.js:1717 msgid "All Parts Allocated" -msgstr "" +msgstr "Todas as Peças Alocadas" #: templates/js/translated/build.js:1718 msgid "All selected parts have been fully allocated" -msgstr "" +msgstr "Todas as peças selecionadas foram completamente alocadas" #: templates/js/translated/build.js:1732 #: templates/js/translated/sales_order.js:1222 msgid "Select source location (leave blank to take from all locations)" -msgstr "" +msgstr "Selecione o local de origem (deixe em branco para tirar de todos os locais)" #: templates/js/translated/build.js:1760 msgid "Allocate Stock Items to Build Order" -msgstr "" +msgstr "Alocar Itens de Estoque para o Pedido de Produção" #: templates/js/translated/build.js:1771 #: templates/js/translated/sales_order.js:1319 msgid "No matching stock locations" -msgstr "" +msgstr "Nenhum local de estoque correspondente" #: templates/js/translated/build.js:1844 #: templates/js/translated/sales_order.js:1398 msgid "No matching stock items" -msgstr "" +msgstr "Nenhum item de estoque correspondente" #: templates/js/translated/build.js:1941 msgid "Automatic Stock Allocation" -msgstr "" +msgstr "Alocação Automática de Estoque" #: templates/js/translated/build.js:1942 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" -msgstr "" +msgstr "Itens de estoque serão automaticamente alocados para este pedido de produção, conforme as diretrizes fornecidas" #: templates/js/translated/build.js:1944 msgid "If a location is specified, stock will only be allocated from that location" -msgstr "" +msgstr "Se um local for especificado o estoque será apenas alocado deste local" #: templates/js/translated/build.js:1945 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" -msgstr "" +msgstr "Se o estoque é considerado intercambiável será alocado a partir da primeira localização encontrada" #: templates/js/translated/build.js:1946 msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found" -msgstr "" +msgstr "Se estoque substituto é permitido será utilizado quando o estoque primário não for encontrado" #: templates/js/translated/build.js:1977 msgid "Allocate Stock Items" -msgstr "" +msgstr "Alocar Itens de Estoque" #: templates/js/translated/build.js:2082 msgid "No builds matching query" -msgstr "" +msgstr "Nenhuma produção corresponde a consulta" #: templates/js/translated/build.js:2117 templates/js/translated/build.js:2480 #: templates/js/translated/forms.js:2163 templates/js/translated/forms.js:2179 #: templates/js/translated/part.js:2319 templates/js/translated/part.js:2745 #: templates/js/translated/stock.js:1983 templates/js/translated/stock.js:2710 msgid "Select" -msgstr "" +msgstr "Selecionar" #: templates/js/translated/build.js:2131 msgid "Build order is overdue" -msgstr "" +msgstr "Pedido de produção está atrasada" #: templates/js/translated/build.js:2213 templates/js/translated/stock.js:3042 msgid "No user information" -msgstr "" +msgstr "Sem informações de usuário" #: templates/js/translated/build.js:2389 #: templates/js/translated/sales_order.js:1682 msgid "Edit stock allocation" -msgstr "" +msgstr "Editar alocação de estoque" #: templates/js/translated/build.js:2390 #: templates/js/translated/sales_order.js:1683 msgid "Delete stock allocation" -msgstr "" +msgstr "Excluir alocação de estoque" #: templates/js/translated/build.js:2405 msgid "Edit Allocation" -msgstr "" +msgstr "Editar Alocação" #: templates/js/translated/build.js:2417 msgid "Remove Allocation" -msgstr "" +msgstr "Remover Alocação" #: templates/js/translated/build.js:2456 msgid "build line" -msgstr "" +msgstr "linha de produção" #: templates/js/translated/build.js:2457 msgid "build lines" -msgstr "" +msgstr "linhas de produção" #: templates/js/translated/build.js:2475 msgid "No build lines found" -msgstr "" +msgstr "Nenhuma linha produção encontrada" #: templates/js/translated/build.js:2505 templates/js/translated/part.js:790 #: templates/js/translated/part.js:1206 msgid "Trackable part" -msgstr "" +msgstr "Peça rastreável" #: templates/js/translated/build.js:2540 msgid "Unit Quantity" -msgstr "" +msgstr "Quantidade Unitária" #: templates/js/translated/build.js:2592 #: templates/js/translated/sales_order.js:1951 msgid "Sufficient stock available" -msgstr "" +msgstr "Estoque suficiente disponível" #: templates/js/translated/build.js:2647 msgid "Consumable Item" -msgstr "" +msgstr "Item Consumível" #: templates/js/translated/build.js:2654 msgid "Tracked item" -msgstr "" +msgstr "Item rastreado" #: templates/js/translated/build.js:2655 msgid "Allocate tracked items against individual build outputs" @@ -12234,456 +12234,456 @@ msgstr "" #: templates/js/translated/build.js:2663 #: templates/js/translated/sales_order.js:2052 msgid "Build stock" -msgstr "" +msgstr "Estoque de produção" #: templates/js/translated/build.js:2668 templates/js/translated/stock.js:1868 msgid "Order stock" -msgstr "" +msgstr "Pedir Estoque" #: templates/js/translated/build.js:2672 #: templates/js/translated/sales_order.js:2046 msgid "Allocate stock" -msgstr "" +msgstr "Alocar Estoque" #: templates/js/translated/build.js:2676 msgid "Remove stock allocation" -msgstr "" +msgstr "Remover alocação de estoque" #: templates/js/translated/company.js:98 msgid "Add Manufacturer" -msgstr "" +msgstr "Adicionar Fabricante" #: templates/js/translated/company.js:111 #: templates/js/translated/company.js:213 msgid "Add Manufacturer Part" -msgstr "" +msgstr "Adicionar Peça do Fabricante" #: templates/js/translated/company.js:132 msgid "Edit Manufacturer Part" -msgstr "" +msgstr "Editar Peça do Fabricante" #: templates/js/translated/company.js:201 #: templates/js/translated/purchase_order.js:93 msgid "Add Supplier" -msgstr "" +msgstr "Adicionar Fornecedor" #: templates/js/translated/company.js:243 #: templates/js/translated/purchase_order.js:318 msgid "Add Supplier Part" -msgstr "" +msgstr "Adicionar Peça do Fornecedor" #: templates/js/translated/company.js:344 msgid "All selected supplier parts will be deleted" -msgstr "" +msgstr "Todas as peças selecionadas do fornecedor serão apagadas" #: templates/js/translated/company.js:360 msgid "Delete Supplier Parts" -msgstr "" +msgstr "Excluir Peças do Fornecedor" #: templates/js/translated/company.js:466 msgid "Add new Company" -msgstr "" +msgstr "Adicionar nova Empresa" #: templates/js/translated/company.js:546 msgid "Parts Supplied" -msgstr "" +msgstr "Peças Fornecidas" #: templates/js/translated/company.js:555 msgid "Parts Manufactured" -msgstr "" +msgstr "Peças Fabricadas" #: templates/js/translated/company.js:570 msgid "No company information found" -msgstr "" +msgstr "Nenhuma informação da empresa encontrada" #: templates/js/translated/company.js:619 msgid "Create New Contact" -msgstr "" +msgstr "Criar Novo Contato" #: templates/js/translated/company.js:635 #: templates/js/translated/company.js:758 msgid "Edit Contact" -msgstr "" +msgstr "Editar Contato" #: templates/js/translated/company.js:672 msgid "All selected contacts will be deleted" -msgstr "" +msgstr "Todos os contatos selecionados serão apagados" #: templates/js/translated/company.js:678 #: templates/js/translated/company.js:742 msgid "Role" -msgstr "" +msgstr "Função" #: templates/js/translated/company.js:686 msgid "Delete Contacts" -msgstr "" +msgstr "Excluir Contatos" #: templates/js/translated/company.js:717 msgid "No contacts found" -msgstr "" +msgstr "Nenhum contato encontrado" #: templates/js/translated/company.js:730 msgid "Phone Number" -msgstr "" +msgstr "Número de telefone" #: templates/js/translated/company.js:736 msgid "Email Address" -msgstr "" +msgstr "Endereço de e-mail" #: templates/js/translated/company.js:762 msgid "Delete Contact" -msgstr "" +msgstr "Excluir Contato" #: templates/js/translated/company.js:859 msgid "Create New Address" -msgstr "" +msgstr "Criar Novo Endereço" #: templates/js/translated/company.js:874 #: templates/js/translated/company.js:1035 msgid "Edit Address" -msgstr "" +msgstr "Editar o Endereço" #: templates/js/translated/company.js:909 msgid "All selected addresses will be deleted" -msgstr "" +msgstr "Todos os endereços selecionados serão excluídos" #: templates/js/translated/company.js:923 msgid "Delete Addresses" -msgstr "" +msgstr "Excluir Endereço" #: templates/js/translated/company.js:950 msgid "No addresses found" -msgstr "" +msgstr "Nenhum endereço encontrado" #: templates/js/translated/company.js:989 msgid "Postal city" -msgstr "" +msgstr "Cidade Postal" #: templates/js/translated/company.js:995 msgid "State/province" -msgstr "" +msgstr "Estado/Provincia" #: templates/js/translated/company.js:1007 msgid "Courier notes" -msgstr "" +msgstr "Notas do entregador" #: templates/js/translated/company.js:1013 msgid "Internal notes" -msgstr "" +msgstr "Notas internas" #: templates/js/translated/company.js:1039 msgid "Delete Address" -msgstr "" +msgstr "Excluir Endereço" #: templates/js/translated/company.js:1112 msgid "All selected manufacturer parts will be deleted" -msgstr "" +msgstr "Todas as peças do fabricante selecionado serão excluídas" #: templates/js/translated/company.js:1127 msgid "Delete Manufacturer Parts" -msgstr "" +msgstr "Excluir Peças do Fabricante" #: templates/js/translated/company.js:1161 msgid "All selected parameters will be deleted" -msgstr "" +msgstr "Todos os parâmetros selecionados serão excluídos" #: templates/js/translated/company.js:1175 msgid "Delete Parameters" -msgstr "" +msgstr "Excluir Parâmetros" #: templates/js/translated/company.js:1191 #: templates/js/translated/company.js:1479 templates/js/translated/part.js:2248 msgid "Order parts" -msgstr "" +msgstr "Pedir peças" #: templates/js/translated/company.js:1208 msgid "Delete manufacturer parts" -msgstr "" +msgstr "Apagar peças do fabricante" #: templates/js/translated/company.js:1240 msgid "Manufacturer part actions" -msgstr "" +msgstr "Ações de peça do fabricante" #: templates/js/translated/company.js:1259 msgid "No manufacturer parts found" -msgstr "" +msgstr "Nenhuma peça do fabricante encontrada" #: templates/js/translated/company.js:1279 #: templates/js/translated/company.js:1567 templates/js/translated/part.js:798 #: templates/js/translated/part.js:1214 msgid "Template part" -msgstr "" +msgstr "Modelo de peça" #: templates/js/translated/company.js:1283 #: templates/js/translated/company.js:1571 templates/js/translated/part.js:802 #: templates/js/translated/part.js:1218 msgid "Assembled part" -msgstr "" +msgstr "Peça montada" #: templates/js/translated/company.js:1403 templates/js/translated/part.js:1468 msgid "No parameters found" -msgstr "" +msgstr "Nenhum parâmetro encontrado" #: templates/js/translated/company.js:1438 templates/js/translated/part.js:1531 msgid "Edit parameter" -msgstr "" +msgstr "Editar parâmetro" #: templates/js/translated/company.js:1439 templates/js/translated/part.js:1532 msgid "Delete parameter" -msgstr "" +msgstr "Excluir parâmetro" #: templates/js/translated/company.js:1456 templates/js/translated/part.js:1437 msgid "Edit Parameter" -msgstr "" +msgstr "Editar Parâmetro" #: templates/js/translated/company.js:1465 templates/js/translated/part.js:1553 msgid "Delete Parameter" -msgstr "" +msgstr "Excluir Parâmetro" #: templates/js/translated/company.js:1496 msgid "Delete supplier parts" -msgstr "" +msgstr "Excluir peças do fornecedor" #: templates/js/translated/company.js:1546 msgid "No supplier parts found" -msgstr "" +msgstr "Nenhum peça do fornecedor encontrada" #: templates/js/translated/company.js:1664 msgid "Base Units" -msgstr "" +msgstr "Unidade Base" #: templates/js/translated/company.js:1694 msgid "Availability" -msgstr "" +msgstr "Disponibilidade" #: templates/js/translated/company.js:1725 msgid "Edit supplier part" -msgstr "" +msgstr "Editar fornecedor da peça" #: templates/js/translated/company.js:1726 msgid "Delete supplier part" -msgstr "" +msgstr "Excluir peça do fornecedor" #: templates/js/translated/company.js:1779 #: templates/js/translated/pricing.js:694 msgid "Delete Price Break" -msgstr "" +msgstr "Excluir quebras de preço" #: templates/js/translated/company.js:1789 #: templates/js/translated/pricing.js:712 msgid "Edit Price Break" -msgstr "" +msgstr "Editar Quebra de Preço" #: templates/js/translated/company.js:1804 msgid "No price break information found" -msgstr "" +msgstr "Nenhuma informação de quebra de preço" #: templates/js/translated/company.js:1833 msgid "Last updated" -msgstr "" +msgstr "Última atualização" #: templates/js/translated/company.js:1840 msgid "Edit price break" -msgstr "" +msgstr "Editar quebra de preço" #: templates/js/translated/company.js:1841 msgid "Delete price break" -msgstr "" +msgstr "Excluir quebra de preço" #: templates/js/translated/filters.js:186 #: templates/js/translated/filters.js:667 msgid "true" -msgstr "" +msgstr "verdadeiro" #: templates/js/translated/filters.js:190 #: templates/js/translated/filters.js:668 msgid "false" -msgstr "" +msgstr "falso" #: templates/js/translated/filters.js:214 msgid "Select filter" -msgstr "" +msgstr "Selecionar filtro" #: templates/js/translated/filters.js:437 msgid "Print Labels" -msgstr "" +msgstr "Imprimir Etiquetas" #: templates/js/translated/filters.js:441 msgid "Print Reports" -msgstr "" +msgstr "Imprimir Relatórios" #: templates/js/translated/filters.js:453 msgid "Download table data" -msgstr "" +msgstr "Baixar dados da tabela" #: templates/js/translated/filters.js:460 msgid "Reload table data" -msgstr "" +msgstr "Recarregar dados da tabela" #: templates/js/translated/filters.js:469 msgid "Add new filter" -msgstr "" +msgstr "Adicionar novo filtro" #: templates/js/translated/filters.js:477 msgid "Clear all filters" -msgstr "" +msgstr "Limpar todos os filtros" #: templates/js/translated/filters.js:577 msgid "Create filter" -msgstr "" +msgstr "Criar filtro" #: templates/js/translated/forms.js:378 templates/js/translated/forms.js:393 #: templates/js/translated/forms.js:407 templates/js/translated/forms.js:421 msgid "Action Prohibited" -msgstr "" +msgstr "Ação proibida" #: templates/js/translated/forms.js:380 msgid "Create operation not allowed" -msgstr "" +msgstr "Operação de criação não permitida" #: templates/js/translated/forms.js:395 msgid "Update operation not allowed" -msgstr "" +msgstr "Operação de atualização não permitida" #: templates/js/translated/forms.js:409 msgid "Delete operation not allowed" -msgstr "" +msgstr "Operação de excluir não permitida" #: templates/js/translated/forms.js:423 msgid "View operation not allowed" -msgstr "" +msgstr "Operação de visualização não permitida" #: templates/js/translated/forms.js:800 msgid "Keep this form open" -msgstr "" +msgstr "Manter este formulário aberto" #: templates/js/translated/forms.js:903 msgid "Enter a valid number" -msgstr "" +msgstr "Insira um número válido" #: templates/js/translated/forms.js:1477 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" -msgstr "" +msgstr "Há erros de formulário" #: templates/js/translated/forms.js:1975 msgid "No results found" -msgstr "" +msgstr "Nenhum resultado encontrado" #: templates/js/translated/forms.js:2286 templates/js/translated/search.js:239 msgid "Searching" -msgstr "" +msgstr "Buscando" #: templates/js/translated/forms.js:2500 msgid "Clear input" -msgstr "" +msgstr "Limpar entrada" #: templates/js/translated/forms.js:3102 msgid "File Column" -msgstr "" +msgstr "Coluna de arquivos" #: templates/js/translated/forms.js:3102 msgid "Field Name" -msgstr "" +msgstr "Nome do Campo" #: templates/js/translated/forms.js:3114 msgid "Select Columns" -msgstr "" +msgstr "Selecionar Colunas" #: templates/js/translated/helpers.js:77 msgid "YES" -msgstr "" +msgstr "SIM" #: templates/js/translated/helpers.js:80 msgid "NO" -msgstr "" +msgstr "NÃO" #: templates/js/translated/helpers.js:93 msgid "True" -msgstr "" +msgstr "Verdadeiro" #: templates/js/translated/helpers.js:94 msgid "False" -msgstr "" +msgstr "Falso" #: templates/js/translated/index.js:104 msgid "No parts required for builds" -msgstr "" +msgstr "Nenhuma parte necessária para produção" #: templates/js/translated/label.js:48 templates/js/translated/report.js:38 msgid "Select Items" -msgstr "" +msgstr "Selecione os Itens" #: templates/js/translated/label.js:49 templates/js/translated/report.js:39 msgid "No items selected for printing" -msgstr "" +msgstr "Nenhum item selecionado para impressão" #: templates/js/translated/label.js:143 msgid "Labels sent to printer" -msgstr "" +msgstr "Etiquetas enviadas à impressora" #: templates/js/translated/modals.js:59 templates/js/translated/modals.js:159 #: templates/js/translated/modals.js:688 msgid "Cancel" -msgstr "" +msgstr "Cancelar" #: templates/js/translated/modals.js:64 templates/js/translated/modals.js:158 #: templates/js/translated/modals.js:756 templates/js/translated/modals.js:1064 #: templates/modals.html:28 templates/modals.html:51 msgid "Submit" -msgstr "" +msgstr "Enviar" #: templates/js/translated/modals.js:157 msgid "Form Title" -msgstr "" +msgstr "Título do Formulário" #: templates/js/translated/modals.js:446 msgid "Waiting for server..." -msgstr "" +msgstr "Aguardando o servidor..." #: templates/js/translated/modals.js:597 msgid "Show Error Information" -msgstr "" +msgstr "Mostrar Informação do Erro" #: templates/js/translated/modals.js:687 msgid "Accept" -msgstr "" +msgstr "Aceitar" #: templates/js/translated/modals.js:745 msgid "Loading Data" -msgstr "" +msgstr "Carregando dados" #: templates/js/translated/modals.js:1016 msgid "Invalid response from server" -msgstr "" +msgstr "Resposta inválida do servidor" #: templates/js/translated/modals.js:1016 msgid "Form data missing from server response" -msgstr "" +msgstr "Dado de formulário faltando na resposta do servidor" #: templates/js/translated/modals.js:1028 msgid "Error posting form data" -msgstr "" +msgstr "Erro ao postar os dados de formulários" #: templates/js/translated/modals.js:1125 msgid "JSON response missing form data" -msgstr "" +msgstr "Dados de formulário faltando na resposta JSON" #: templates/js/translated/modals.js:1140 msgid "Error 400: Bad Request" -msgstr "" +msgstr "Erro 400: Requisição Ruim" #: templates/js/translated/modals.js:1141 msgid "Server returned error code 400" -msgstr "" +msgstr "Servidor retornou o código de erro 400" #: templates/js/translated/modals.js:1164 msgid "Error requesting form data" -msgstr "" +msgstr "Erro ao pedir dados de formulário" #: templates/js/translated/news.js:33 msgid "No news found" -msgstr "" +msgstr "Nenhuma notícia encontrada" #: templates/js/translated/news.js:38 #: templates/js/translated/notification.js:46 @@ -12693,363 +12693,363 @@ msgstr "" #: templates/js/translated/notification.js:52 msgid "Age" -msgstr "" +msgstr "Idade" #: templates/js/translated/notification.js:65 msgid "Notification" -msgstr "" +msgstr "Notificação" #: templates/js/translated/notification.js:224 msgid "Mark as unread" -msgstr "" +msgstr "Marcar como não lido" #: templates/js/translated/notification.js:228 msgid "Mark as read" -msgstr "" +msgstr "Marcar como lido" #: templates/js/translated/notification.js:254 msgid "No unread notifications" -msgstr "" +msgstr "Nenhuma notificação pendente" #: templates/js/translated/notification.js:296 templates/notifications.html:12 msgid "Notifications will load here" -msgstr "" +msgstr "Notificações irão carregar aqui" #: templates/js/translated/order.js:89 msgid "Add Extra Line Item" -msgstr "" +msgstr "Adicionar Item de Linha Extra" #: templates/js/translated/order.js:126 msgid "Export Order" -msgstr "" +msgstr "Ordem de Exportação" #: templates/js/translated/order.js:241 msgid "Duplicate Line" -msgstr "" +msgstr "Duplicar Linha" #: templates/js/translated/order.js:255 msgid "Edit Line" -msgstr "" +msgstr "Editar Linha" #: templates/js/translated/order.js:268 msgid "Delete Line" -msgstr "" +msgstr "Apagar Linha" #: templates/js/translated/order.js:281 #: templates/js/translated/purchase_order.js:1990 msgid "No line items found" -msgstr "" +msgstr "Nenhum item de linha encontrado" #: templates/js/translated/order.js:369 msgid "Duplicate line" -msgstr "" +msgstr "Duplicar linha" #: templates/js/translated/order.js:370 msgid "Edit line" -msgstr "" +msgstr "Editar linha" #: templates/js/translated/order.js:374 msgid "Delete line" -msgstr "" +msgstr "Apagar linha" #: templates/js/translated/part.js:90 msgid "Part Attributes" -msgstr "" +msgstr "Atributos da Peça" #: templates/js/translated/part.js:94 msgid "Part Creation Options" -msgstr "" +msgstr "Opções de Criação de Peça" #: templates/js/translated/part.js:98 msgid "Part Duplication Options" -msgstr "" +msgstr "Opções de Duplicação de Peça" #: templates/js/translated/part.js:121 msgid "Add Part Category" -msgstr "" +msgstr "Adicionar Categoria de Peça" #: templates/js/translated/part.js:332 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" -msgstr "" +msgstr "Ícone (opcional) - Explorar todos os ícones disponíveis em" #: templates/js/translated/part.js:352 msgid "Create Part Category" -msgstr "" +msgstr "Criar Categoria de Peça" #: templates/js/translated/part.js:355 msgid "Create new category after this one" -msgstr "" +msgstr "Criar nova categoria após esta" #: templates/js/translated/part.js:356 msgid "Part category created" -msgstr "" +msgstr "Categoria da peça criada" #: templates/js/translated/part.js:370 msgid "Edit Part Category" -msgstr "" +msgstr "Editar Categoria da Peça" #: templates/js/translated/part.js:383 msgid "Are you sure you want to delete this part category?" -msgstr "" +msgstr "Você tem certeza que deseja excluir essa categoria de peça?" #: templates/js/translated/part.js:388 msgid "Move to parent category" -msgstr "" +msgstr "Mover para categoria parental" #: templates/js/translated/part.js:397 msgid "Delete Part Category" -msgstr "" +msgstr "Excluir Categoria de Peça" #: templates/js/translated/part.js:401 msgid "Action for parts in this category" -msgstr "" +msgstr "Ação para peças nesta categoria" #: templates/js/translated/part.js:406 msgid "Action for child categories" -msgstr "" +msgstr "Ação para categorias filhas" #: templates/js/translated/part.js:430 msgid "Create Part" -msgstr "" +msgstr "Criar Peça" #: templates/js/translated/part.js:432 msgid "Create another part after this one" -msgstr "" +msgstr "Criar outra peça após esta" #: templates/js/translated/part.js:433 msgid "Part created successfully" -msgstr "" +msgstr "Peça criada com sucesso" #: templates/js/translated/part.js:461 msgid "Edit Part" -msgstr "" +msgstr "Editar Peça" #: templates/js/translated/part.js:463 msgid "Part edited" -msgstr "" +msgstr "Peça editada" #: templates/js/translated/part.js:474 msgid "Create Part Variant" -msgstr "" +msgstr "Criar Variante da Peça" #: templates/js/translated/part.js:531 msgid "Active Part" -msgstr "" +msgstr "Peça Ativa" #: templates/js/translated/part.js:532 msgid "Part cannot be deleted as it is currently active" -msgstr "" +msgstr "Peça não pode ser excluída enquanto estiver ativa" #: templates/js/translated/part.js:546 msgid "Deleting this part cannot be reversed" -msgstr "" +msgstr "Excluir esta peça não é reversível" #: templates/js/translated/part.js:548 msgid "Any stock items for this part will be deleted" -msgstr "" +msgstr "Qualquer item de estoque desta peça será excluído" #: templates/js/translated/part.js:549 msgid "This part will be removed from any Bills of Material" -msgstr "" +msgstr "Esta peça será removida de quaisquer Lista de Materiais (BOM)" #: templates/js/translated/part.js:550 msgid "All manufacturer and supplier information for this part will be deleted" -msgstr "" +msgstr "Toda informação de fabricante e fornecedor dessa peça será excluída" #: templates/js/translated/part.js:557 msgid "Delete Part" -msgstr "" +msgstr "Excluir Peça" #: templates/js/translated/part.js:593 msgid "You are subscribed to notifications for this item" -msgstr "" +msgstr "Você está inscrito para receber notificações para este item" #: templates/js/translated/part.js:595 msgid "You have subscribed to notifications for this item" -msgstr "" +msgstr "Você se inscreveu para notificações deste item" #: templates/js/translated/part.js:600 msgid "Subscribe to notifications for this item" -msgstr "" +msgstr "Inscreva-se para receber notificações deste item" #: templates/js/translated/part.js:602 msgid "You have unsubscribed to notifications for this item" -msgstr "" +msgstr "Você descadastrou para notificações deste item" #: templates/js/translated/part.js:619 msgid "Validating the BOM will mark each line item as valid" -msgstr "" +msgstr "Validando a BOM irá marcar como cada linha válida" #: templates/js/translated/part.js:629 msgid "Validate Bill of Materials" -msgstr "" +msgstr "Validar Lista de Materiais (BOM)" #: templates/js/translated/part.js:632 msgid "Validated Bill of Materials" -msgstr "" +msgstr "Lista de Materiais Validada" #: templates/js/translated/part.js:657 msgid "Copy Bill of Materials" -msgstr "" +msgstr "Copiar Lista de Materiais (BOM)" #: templates/js/translated/part.js:685 #: templates/js/translated/table_filters.js:752 msgid "Low stock" -msgstr "" +msgstr "Estoque baixo" #: templates/js/translated/part.js:688 msgid "No stock available" -msgstr "" +msgstr "Nenhum estoque disponível" #: templates/js/translated/part.js:748 msgid "Demand" -msgstr "" +msgstr "Demanda" #: templates/js/translated/part.js:771 msgid "Unit" -msgstr "" +msgstr "Unidade" #: templates/js/translated/part.js:794 templates/js/translated/part.js:1210 msgid "Virtual part" -msgstr "" +msgstr "Peça virtual" #: templates/js/translated/part.js:806 msgid "Subscribed part" -msgstr "" +msgstr "Peça inscrita" #: templates/js/translated/part.js:810 msgid "Salable part" -msgstr "" +msgstr "Peça vendível" #: templates/js/translated/part.js:893 msgid "Schedule generation of a new stocktake report." -msgstr "" +msgstr "Programar geração de um novo relatório de balanço." #: templates/js/translated/part.js:893 msgid "Once complete, the stocktake report will be available for download." -msgstr "" +msgstr "Uma vez concluído, o relatório de estoque estará disponível para baixar." #: templates/js/translated/part.js:901 msgid "Generate Stocktake Report" -msgstr "" +msgstr "Gerar Relatório de Balanço" #: templates/js/translated/part.js:905 msgid "Stocktake report scheduled" -msgstr "" +msgstr "Relatório de balanço agendado" #: templates/js/translated/part.js:1054 msgid "No stocktake information available" -msgstr "" +msgstr "Nenhuma informação de balanço disponível" #: templates/js/translated/part.js:1112 templates/js/translated/part.js:1148 msgid "Edit Stocktake Entry" -msgstr "" +msgstr "Editar Lançamento de Balanço" #: templates/js/translated/part.js:1116 templates/js/translated/part.js:1158 msgid "Delete Stocktake Entry" -msgstr "" +msgstr "Apagar Lançamento de Balanço" #: templates/js/translated/part.js:1285 msgid "No variants found" -msgstr "" +msgstr "Nenhuma variante encontrada" #: templates/js/translated/part.js:1603 msgid "No part parameter templates found" -msgstr "" +msgstr "Nenhum modelo parâmetro de peça encontrado" #: templates/js/translated/part.js:1666 msgid "Edit Part Parameter Template" -msgstr "" +msgstr "Editar Modelo de Parâmetro da Peça" #: templates/js/translated/part.js:1678 msgid "Any parameters which reference this template will also be deleted" -msgstr "" +msgstr "Quaisquer parâmetros que se referencie este modelo serão excluídos" #: templates/js/translated/part.js:1686 msgid "Delete Part Parameter Template" -msgstr "" +msgstr "Excluir Modelo de Parâmetro de Peça" #: templates/js/translated/part.js:1720 #: templates/js/translated/purchase_order.js:1654 msgid "No purchase orders found" -msgstr "" +msgstr "Nenhum pedido de compra encontrado" #: templates/js/translated/part.js:1864 #: 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 "" +msgstr "Este item de linha está atrasado" #: templates/js/translated/part.js:1910 #: templates/js/translated/purchase_order.js:2220 msgid "Receive line item" -msgstr "" +msgstr "Receber item de linha" #: templates/js/translated/part.js:1973 msgid "Delete part relationship" -msgstr "" +msgstr "Excluir relação de peças" #: templates/js/translated/part.js:1995 msgid "Delete Part Relationship" -msgstr "" +msgstr "Excluir Relação de Peça" #: templates/js/translated/part.js:2083 templates/js/translated/part.js:2509 msgid "No parts found" -msgstr "" +msgstr "Nenhuma peça encontrada" #: templates/js/translated/part.js:2204 msgid "Set the part category for the selected parts" -msgstr "" +msgstr "Definir a categoria das peças selecionadas" #: templates/js/translated/part.js:2209 msgid "Set Part Category" -msgstr "" +msgstr "Definir Categoria da Peça" #: templates/js/translated/part.js:2239 msgid "Set category" -msgstr "" +msgstr "Definir categoria" #: templates/js/translated/part.js:2290 msgid "part" -msgstr "" +msgstr "peça" #: templates/js/translated/part.js:2291 msgid "parts" -msgstr "" +msgstr "peças" #: templates/js/translated/part.js:2387 msgid "No category" -msgstr "" +msgstr "Nenhuma categoria" #: templates/js/translated/part.js:2534 templates/js/translated/part.js:2664 #: templates/js/translated/stock.js:2669 msgid "Display as list" -msgstr "" +msgstr "Visualizar como lista" #: templates/js/translated/part.js:2550 msgid "Display as grid" -msgstr "" +msgstr "Exibir como grade" #: templates/js/translated/part.js:2648 msgid "No subcategories found" -msgstr "" +msgstr "Nenhuma subcategoria encontrada" #: templates/js/translated/part.js:2684 templates/js/translated/stock.js:2689 msgid "Display as tree" -msgstr "" +msgstr "Exibir como árvore" #: templates/js/translated/part.js:2764 msgid "Load Subcategories" -msgstr "" +msgstr "Carregar Subcategorias" #: templates/js/translated/part.js:2780 msgid "Subscribed category" -msgstr "" +msgstr "Categoria inscrita" #: templates/js/translated/part.js:2868 msgid "No test templates matching query" -msgstr "" +msgstr "Nenhum modelo de teste corresponde à consulta" #: templates/js/translated/part.js:2890 templates/js/translated/search.js:342 msgid "results" @@ -13057,112 +13057,112 @@ msgstr "" #: templates/js/translated/part.js:2940 templates/js/translated/stock.js:1456 msgid "Edit test result" -msgstr "" +msgstr "Editar resultados de teste" #: templates/js/translated/part.js:2941 templates/js/translated/stock.js:1457 #: templates/js/translated/stock.js:1731 msgid "Delete test result" -msgstr "" +msgstr "Excluir resultado do teste" #: templates/js/translated/part.js:2945 msgid "This test is defined for a parent part" -msgstr "" +msgstr "Este teste é definido para uma peça parental" #: templates/js/translated/part.js:2961 msgid "Edit Test Result Template" -msgstr "" +msgstr "Editar Modelo de Resultado de Teste" #: templates/js/translated/part.js:2975 msgid "Delete Test Result Template" -msgstr "" +msgstr "Excluir Modelo de Resultado de Teste" #: templates/js/translated/part.js:3054 templates/js/translated/part.js:3055 msgid "No date specified" -msgstr "" +msgstr "Nenhuma data especificada" #: templates/js/translated/part.js:3057 msgid "Specified date is in the past" -msgstr "" +msgstr "Data especificada está no passado" #: templates/js/translated/part.js:3063 msgid "Speculative" -msgstr "" +msgstr "Especulativo" #: templates/js/translated/part.js:3113 msgid "No scheduling information available for this part" -msgstr "" +msgstr "Nenhuma informação de agendamento para esta peça" #: templates/js/translated/part.js:3119 msgid "Error fetching scheduling information for this part" -msgstr "" +msgstr "Erro ao obter informações de agendamento para esta peça" #: templates/js/translated/part.js:3215 msgid "Scheduled Stock Quantities" -msgstr "" +msgstr "Quantidades de Estoque Agendadas" #: templates/js/translated/part.js:3231 msgid "Maximum Quantity" -msgstr "" +msgstr "Quantidade Máxima" #: templates/js/translated/part.js:3276 msgid "Minimum Stock Level" -msgstr "" +msgstr "Nível Mínimo de Estoque" #: templates/js/translated/plugin.js:46 msgid "No plugins found" -msgstr "" +msgstr "Nenhum plug-in encontrado" #: templates/js/translated/plugin.js:58 msgid "This plugin is no longer installed" -msgstr "" +msgstr "Este plug-in não está mais instalado" #: templates/js/translated/plugin.js:60 msgid "This plugin is active" -msgstr "" +msgstr "Este plug-in está ativo" #: templates/js/translated/plugin.js:62 msgid "This plugin is installed but not active" -msgstr "" +msgstr "Este plug-in está instalado mas não está ativo" #: templates/js/translated/plugin.js:117 templates/js/translated/plugin.js:186 msgid "Disable Plugin" -msgstr "" +msgstr "Desativar Plug-in" #: templates/js/translated/plugin.js:119 templates/js/translated/plugin.js:186 msgid "Enable Plugin" -msgstr "" +msgstr "Habilitar Plug-in" #: templates/js/translated/plugin.js:158 msgid "The Plugin was installed" -msgstr "" +msgstr "O Plug-in foi instalado" #: templates/js/translated/plugin.js:177 msgid "Are you sure you want to enable this plugin?" -msgstr "" +msgstr "Tem certeza que deseja habilitar este plug-in?" #: templates/js/translated/plugin.js:181 msgid "Are you sure you want to disable this plugin?" -msgstr "" +msgstr "Tem certeza que deseja desabilitar este plug-in?" #: templates/js/translated/plugin.js:189 msgid "Enable" -msgstr "" +msgstr "Habilitar" #: templates/js/translated/plugin.js:189 msgid "Disable" -msgstr "" +msgstr "Desabilitar" #: templates/js/translated/plugin.js:203 msgid "Plugin updated" -msgstr "" +msgstr "Plug-in atualizado" #: templates/js/translated/pricing.js:159 msgid "Error fetching currency data" -msgstr "" +msgstr "Erro ao buscar dados monetários" #: templates/js/translated/pricing.js:321 msgid "No BOM data available" -msgstr "" +msgstr "Nenhum dado da BOM disponível" #: templates/js/translated/pricing.js:463 msgid "No supplier pricing data available" @@ -13186,15 +13186,15 @@ msgstr "" #: templates/js/translated/pricing.js:916 msgid "Sale Price History" -msgstr "" +msgstr "Histórico de Preço de Venda" #: templates/js/translated/pricing.js:1005 msgid "No variant data available" -msgstr "" +msgstr "Nenhum dado de variante disponível" #: templates/js/translated/pricing.js:1045 msgid "Variant Part" -msgstr "" +msgstr "Peça Variante" #: templates/js/translated/purchase_order.js:169 msgid "Select purchase order to duplicate" @@ -13343,56 +13343,56 @@ msgstr "" #: templates/js/translated/purchase_order.js:1280 msgid "Serials" -msgstr "" +msgstr "Seriais" #: templates/js/translated/purchase_order.js:1305 msgid "Order Code" -msgstr "" +msgstr "Código do Pedido" #: templates/js/translated/purchase_order.js:1307 msgid "Quantity to Receive" -msgstr "" +msgstr "Quantidade a Receber" #: templates/js/translated/purchase_order.js:1333 #: templates/js/translated/return_order.js:560 msgid "Confirm receipt of items" -msgstr "" +msgstr "Confirmar o recebimento dos itens" #: templates/js/translated/purchase_order.js:1334 msgid "Receive Purchase Order Items" -msgstr "" +msgstr "Receber Itens do Pedido de Compra" #: templates/js/translated/purchase_order.js:1402 msgid "Scan Item Barcode" -msgstr "" +msgstr "Escanar o Código de Barras do Item" #: templates/js/translated/purchase_order.js:1403 msgid "Scan barcode on incoming item (must not match any existing stock items)" -msgstr "" +msgstr "Ler código de barras no item de entrada (não deve corresponder a nenhum item de estoque existente)" #: templates/js/translated/purchase_order.js:1417 msgid "Invalid barcode data" -msgstr "" +msgstr "Dados do código de barras inválido" #: 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 "" +msgstr "O pedido está atrasado" #: templates/js/translated/purchase_order.js:1843 msgid "All selected Line items will be deleted" -msgstr "" +msgstr "Todos os Itens de Linha selecionadas serão excluídos" #: templates/js/translated/purchase_order.js:1861 msgid "Delete selected Line items?" -msgstr "" +msgstr "Excluir itens de linha selecionados?" #: templates/js/translated/purchase_order.js:1916 #: templates/js/translated/sales_order.js:2106 msgid "Duplicate Line Item" -msgstr "" +msgstr "Duplicar Item de Linha" #: templates/js/translated/purchase_order.js:1931 #: templates/js/translated/return_order.js:475 @@ -13443,53 +13443,53 @@ msgstr "" #: templates/js/translated/return_order.js:134 msgid "Create Return Order" -msgstr "" +msgstr "Criar Pedido de Devolução" #: templates/js/translated/return_order.js:149 msgid "Edit Return Order" -msgstr "" +msgstr "Editar Pedido de Devolução" #: templates/js/translated/return_order.js:169 msgid "Issue Return Order" -msgstr "" +msgstr "Emitir Pedido de Devolução" #: templates/js/translated/return_order.js:186 msgid "Are you sure you wish to cancel this Return Order?" -msgstr "" +msgstr "Tem certeza que deseja cancelar este Pedido de Devolução?" #: templates/js/translated/return_order.js:193 msgid "Cancel Return Order" -msgstr "" +msgstr "Cancelar Pedido de Devolução" #: templates/js/translated/return_order.js:218 msgid "Complete Return Order" -msgstr "" +msgstr "Completar Pedido de Devolução" #: templates/js/translated/return_order.js:265 msgid "No return orders found" -msgstr "" +msgstr "Nenhum pedido de devolução encontrado" #: templates/js/translated/return_order.js:299 #: templates/js/translated/sales_order.js:824 msgid "Invalid Customer" -msgstr "" +msgstr "Cliente Inválido" #: templates/js/translated/return_order.js:561 msgid "Receive Return Order Items" -msgstr "" +msgstr "Receber Itens do Pedido de Devolução" #: templates/js/translated/return_order.js:692 #: templates/js/translated/sales_order.js:2267 msgid "No matching line items" -msgstr "" +msgstr "Nenhum item de linha correspondente" #: templates/js/translated/return_order.js:797 msgid "Mark item as received" -msgstr "" +msgstr "Marcar item como recebido" #: templates/js/translated/sales_order.js:161 msgid "Create Sales Order" -msgstr "" +msgstr "Criar Pedido de Venda" #: templates/js/translated/sales_order.js:176 msgid "Edit Sales Order" @@ -13606,15 +13606,15 @@ msgstr "" #: templates/js/translated/sales_order.js:1084 msgid "Tracking" -msgstr "" +msgstr "Rastreamento" #: templates/js/translated/sales_order.js:1088 msgid "Invoice" -msgstr "" +msgstr "Fatura" #: templates/js/translated/sales_order.js:1255 msgid "Add Shipment" -msgstr "" +msgstr "Adicionar Envio" #: templates/js/translated/sales_order.js:1306 msgid "Confirm stock allocation" @@ -13653,16 +13653,16 @@ msgstr "" #: templates/js/translated/sales_order.js:2044 msgid "Allocate serial numbers" -msgstr "" +msgstr "Alocar números de série" #: templates/js/translated/sales_order.js:2048 msgid "Purchase stock" -msgstr "" +msgstr "Comprar estoque" #: templates/js/translated/sales_order.js:2057 #: templates/js/translated/sales_order.js:2245 msgid "Calculate price" -msgstr "" +msgstr "Calcular preço" #: templates/js/translated/sales_order.js:2071 msgid "Cannot be deleted as items have been shipped" @@ -13678,15 +13678,15 @@ msgstr "" #: templates/js/translated/sales_order.js:2253 msgid "Update Unit Price" -msgstr "" +msgstr "Atualizar Preço Unitário" #: templates/js/translated/search.js:270 msgid "No results" -msgstr "" +msgstr "Nenhum resultado" #: templates/js/translated/search.js:292 templates/search.html:25 msgid "Enter search query" -msgstr "" +msgstr "Inserir entrada de pesquisa" #: templates/js/translated/search.js:342 msgid "result" @@ -13706,23 +13706,23 @@ msgstr "" #: templates/js/translated/stock.js:129 msgid "Confirm Stock Serialization" -msgstr "" +msgstr "Confirmar Serialização de Estoque" #: templates/js/translated/stock.js:139 msgid "Default icon for all locations that have no icon set (optional) - Explore all available icons on" -msgstr "" +msgstr "Ícone padrão para todas as locações que não têm um ícone definido (opcional) - Explorar todos os ícones disponíveis em" #: templates/js/translated/stock.js:166 msgid "Add Location type" -msgstr "" +msgstr "Adicionar Tipo de Localização" #: templates/js/translated/stock.js:202 msgid "Edit Stock Location" -msgstr "" +msgstr "Editar Local de Estoque" #: templates/js/translated/stock.js:217 msgid "New Stock Location" -msgstr "" +msgstr "Novo Local de Estoque" #: templates/js/translated/stock.js:219 msgid "Create another location after this one" @@ -13762,31 +13762,31 @@ msgstr "" #: templates/js/translated/stock.js:362 msgid "Enter initial quantity for this stock item" -msgstr "" +msgstr "Inserir quantidade inicial deste item de estoque" #: templates/js/translated/stock.js:368 msgid "Enter serial numbers for new stock (or leave blank)" -msgstr "" +msgstr "Insira os números de série para novo estoque (ou deixe em branco)" #: templates/js/translated/stock.js:439 msgid "Stock item duplicated" -msgstr "" +msgstr "Item de estoque duplicado" #: templates/js/translated/stock.js:459 msgid "Duplicate Stock Item" -msgstr "" +msgstr "Duplicar Item de Estoque" #: templates/js/translated/stock.js:475 msgid "Are you sure you want to delete this stock item?" -msgstr "" +msgstr "Você tem certeza que deseja excluir este item de estoque?" #: templates/js/translated/stock.js:480 msgid "Delete Stock Item" -msgstr "" +msgstr "Excluir Item de Estoque" #: templates/js/translated/stock.js:501 msgid "Edit Stock Item" -msgstr "" +msgstr "Editar Item do Estoque" #: templates/js/translated/stock.js:543 msgid "Create another item after this one" @@ -13854,55 +13854,55 @@ msgstr "" #: templates/js/translated/stock.js:1024 msgid "Transfer Stock" -msgstr "" +msgstr "Transferir Estoque" #: templates/js/translated/stock.js:1025 msgid "Move" -msgstr "" +msgstr "Mover" #: templates/js/translated/stock.js:1031 msgid "Count Stock" -msgstr "" +msgstr "Contar Estoque" #: templates/js/translated/stock.js:1032 msgid "Count" -msgstr "" +msgstr "Contar" #: templates/js/translated/stock.js:1036 msgid "Remove Stock" -msgstr "" +msgstr "Remover Estoque" #: templates/js/translated/stock.js:1037 msgid "Take" -msgstr "" +msgstr "Pegar" #: templates/js/translated/stock.js:1041 msgid "Add Stock" -msgstr "" +msgstr "Adicionar Estoque" #: templates/js/translated/stock.js:1042 users/models.py:396 msgid "Add" -msgstr "" +msgstr "Adicionar" #: templates/js/translated/stock.js:1046 msgid "Delete Stock" -msgstr "" +msgstr "Excluir Estoque" #: templates/js/translated/stock.js:1146 msgid "Quantity cannot be adjusted for serialized stock" -msgstr "" +msgstr "Quantidade não pode ser ajustada para estoque serializado" #: templates/js/translated/stock.js:1146 msgid "Specify stock quantity" -msgstr "" +msgstr "Especifique quantidade no estoque" #: templates/js/translated/stock.js:1180 templates/js/translated/stock.js:3299 msgid "Select Stock Items" -msgstr "" +msgstr "Selecionar Itens de Estoque" #: templates/js/translated/stock.js:1181 msgid "Select at least one available stock item" -msgstr "" +msgstr "Selecione ao menos um item de estoque disponível" #: templates/js/translated/stock.js:1227 msgid "Confirm stock adjustment" @@ -13910,31 +13910,31 @@ msgstr "" #: templates/js/translated/stock.js:1363 msgid "PASS" -msgstr "" +msgstr "PASSOU" #: templates/js/translated/stock.js:1365 msgid "FAIL" -msgstr "" +msgstr "FALHOU" #: templates/js/translated/stock.js:1370 msgid "NO RESULT" -msgstr "" +msgstr "SEM RESULTADO" #: templates/js/translated/stock.js:1450 msgid "Pass test" -msgstr "" +msgstr "Passou no teste" #: templates/js/translated/stock.js:1453 msgid "Add test result" -msgstr "" +msgstr "Adicionar resultado de teste" #: templates/js/translated/stock.js:1476 msgid "No test results found" -msgstr "" +msgstr "Nenhum resultado de teste encontrado" #: templates/js/translated/stock.js:1540 msgid "Test Date" -msgstr "" +msgstr "Data do Teste" #: templates/js/translated/stock.js:1553 msgid "Test started" @@ -13946,55 +13946,55 @@ msgstr "" #: templates/js/translated/stock.js:1716 msgid "Edit Test Result" -msgstr "" +msgstr "Editar Resultado do Teste" #: templates/js/translated/stock.js:1736 msgid "Delete Test Result" -msgstr "" +msgstr "Excluir Resultado do Teste" #: templates/js/translated/stock.js:1768 msgid "In production" -msgstr "" +msgstr "Em produção" #: templates/js/translated/stock.js:1772 msgid "Installed in Stock Item" -msgstr "" +msgstr "Instalado em Item de Estoque" #: templates/js/translated/stock.js:1780 msgid "Assigned to Sales Order" -msgstr "" +msgstr "Atribuir para o Pedido de Venda" #: templates/js/translated/stock.js:1786 msgid "No stock location set" -msgstr "" +msgstr "Sem local de estoque definido" #: templates/js/translated/stock.js:1842 msgid "Change stock status" -msgstr "" +msgstr "Mudar estado do estoque" #: templates/js/translated/stock.js:1851 msgid "Merge stock" -msgstr "" +msgstr "Mesclar estoque" #: templates/js/translated/stock.js:1900 msgid "Delete stock" -msgstr "" +msgstr "Excluir estoque" #: templates/js/translated/stock.js:1953 msgid "stock items" -msgstr "" +msgstr "itens de estoque" #: templates/js/translated/stock.js:1958 msgid "Scan to location" -msgstr "" +msgstr "Escanear para local" #: templates/js/translated/stock.js:1969 msgid "Stock Actions" -msgstr "" +msgstr "Ações de Estoque" #: templates/js/translated/stock.js:2013 msgid "Load installed items" -msgstr "" +msgstr "Carregar itens instalados" #: templates/js/translated/stock.js:2091 msgid "Stock item is in production" @@ -14075,11 +14075,11 @@ msgstr "" #: templates/js/translated/stock.js:2846 msgid "Details" -msgstr "" +msgstr "Detalhes" #: templates/js/translated/stock.js:2850 msgid "No changes" -msgstr "" +msgstr "Nenhuma mudança" #: templates/js/translated/stock.js:2862 msgid "Part information unavailable" @@ -14115,15 +14115,15 @@ msgstr "" #: templates/js/translated/stock.js:3005 msgid "Added" -msgstr "" +msgstr "Adicionado" #: templates/js/translated/stock.js:3013 msgid "Removed" -msgstr "" +msgstr "Removido" #: templates/js/translated/stock.js:3085 msgid "No installed items" -msgstr "" +msgstr "Nenhum item instalado" #: templates/js/translated/stock.js:3139 templates/js/translated/stock.js:3175 msgid "Uninstall Stock Item" @@ -14143,7 +14143,7 @@ msgstr "" #: templates/js/translated/stock.js:3221 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" -msgstr "" +msgstr "O Item de Estoque conecta a uma peça que é um BOM deste Item de Estoque" #: templates/js/translated/stock.js:3222 msgid "The Stock Item is currently available in stock" @@ -14231,58 +14231,58 @@ msgstr "" #: templates/js/translated/table_filters.js:279 #: templates/js/translated/table_filters.js:711 msgid "Include subcategories" -msgstr "" +msgstr "Incluir subcategorias" #: templates/js/translated/table_filters.js:287 #: templates/js/translated/table_filters.js:764 msgid "Subscribed" -msgstr "" +msgstr "Inscrito" #: templates/js/translated/table_filters.js:298 #: templates/js/translated/table_filters.js:380 msgid "Is Serialized" -msgstr "" +msgstr "É Serializado" #: templates/js/translated/table_filters.js:301 #: templates/js/translated/table_filters.js:387 msgid "Serial number GTE" -msgstr "" +msgstr "Número de série GTE" #: templates/js/translated/table_filters.js:302 #: templates/js/translated/table_filters.js:388 msgid "Serial number greater than or equal to" -msgstr "" +msgstr "Número de série maior ou igual a" #: templates/js/translated/table_filters.js:305 #: templates/js/translated/table_filters.js:391 msgid "Serial number LTE" -msgstr "" +msgstr "Número de série LTE" #: templates/js/translated/table_filters.js:306 #: templates/js/translated/table_filters.js:392 msgid "Serial number less than or equal to" -msgstr "" +msgstr "Número de série menor ou igual a" #: 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 "Número de série" #: templates/js/translated/table_filters.js:314 #: templates/js/translated/table_filters.js:405 msgid "Batch code" -msgstr "" +msgstr "Código do lote" #: templates/js/translated/table_filters.js:325 #: templates/js/translated/table_filters.js:700 msgid "Active parts" -msgstr "" +msgstr "Peças Ativas" #: templates/js/translated/table_filters.js:326 msgid "Show stock for active parts" -msgstr "" +msgstr "Mostrar estoque de peças ativas" #: templates/js/translated/table_filters.js:331 msgid "Part is an assembly" @@ -14492,47 +14492,47 @@ msgstr "" #: templates/js/translated/tables.js:549 msgid "Hide/Show pagination" -msgstr "" +msgstr "Ocultar/Mostrar paginação" #: templates/js/translated/tables.js:555 msgid "Toggle" -msgstr "" +msgstr "Alternar" #: templates/js/translated/tables.js:561 msgid "All" -msgstr "" +msgstr "Todos" #: templates/navbar.html:45 msgid "Buy" -msgstr "" +msgstr "Comprar" #: templates/navbar.html:57 msgid "Sell" -msgstr "" +msgstr "Vender" #: templates/navbar.html:121 msgid "Show Notifications" -msgstr "" +msgstr "Mostrar Notificações" #: templates/navbar.html:124 msgid "New Notifications" -msgstr "" +msgstr "Novas Notificações" #: templates/navbar.html:144 users/models.py:201 msgid "Admin" -msgstr "" +msgstr "Administrador" #: templates/navbar.html:148 msgid "Logout" -msgstr "" +msgstr "Encerrar sessão" #: templates/notes_buttons.html:6 templates/notes_buttons.html:7 msgid "Save" -msgstr "" +msgstr "Salvar" #: templates/notifications.html:9 msgid "Show all notifications and history" -msgstr "" +msgstr "Mostrar todas as notificações e histórico" #: templates/pui_banner.html:9 msgid "Platform UI - the new UI for InvenTree - provides more modern administration options." @@ -14552,80 +14552,80 @@ msgstr "" #: templates/qr_code.html:11 msgid "QR data not provided" -msgstr "" +msgstr "Nenhum dado QR providenciado" #: templates/registration/logged_out.html:7 msgid "You were logged out successfully." -msgstr "" +msgstr "Você foi desconectado com sucesso." #: templates/registration/logged_out.html:9 msgid "Log in again" -msgstr "" +msgstr "Entrar novamente" #: templates/search.html:9 msgid "Show full search results" -msgstr "" +msgstr "Mostrar todos os resultados da pesquisa" #: templates/search.html:12 msgid "Clear search" -msgstr "" +msgstr "Limpar pesquisa" #: templates/search.html:15 msgid "Close search menu" -msgstr "" +msgstr "Fechar menu de pesuisa" #: templates/socialaccount/authentication_error.html:5 msgid "Social Network Login Failure" -msgstr "" +msgstr "Falha ao acessar a rede social" #: templates/socialaccount/authentication_error.html:8 msgid "Account Login Failure" -msgstr "" +msgstr "Falha ao acessar conta" #: templates/socialaccount/authentication_error.html:11 msgid "An error occurred while attempting to login via your social network account." -msgstr "" +msgstr "Ocorreu um erro ao tentar entrar com a sua conta de rede social." #: templates/socialaccount/authentication_error.html:13 msgid "Contact your system administrator for further information." -msgstr "" +msgstr "Contate seu administrador de sistema para mais informações." #: templates/socialaccount/login.html:13 #, python-format msgid "Connect %(provider)s" -msgstr "" +msgstr "Conectar %(provider)s" #: templates/socialaccount/login.html:15 #, python-format msgid "You are about to connect a new third party account from %(provider)s." -msgstr "" +msgstr "Você está prestes a conectar uma nova conta de terceiros do %(provider)s." #: templates/socialaccount/login.html:17 #, python-format msgid "Sign In Via %(provider)s" -msgstr "" +msgstr "Entrar através %(provider)s" #: templates/socialaccount/login.html:19 #, python-format msgid "You are about to sign in using a third party account from %(provider)s." -msgstr "" +msgstr "Você está prestes a entrar utilizando uma conta de terceiros de %(provider)s." #: templates/socialaccount/login.html:24 msgid "Continue" -msgstr "" +msgstr "Continuar" #: templates/socialaccount/login.html:29 msgid "Invalid SSO Provider" -msgstr "" +msgstr "Provedor SSO inválido" #: templates/socialaccount/login.html:31 msgid "The selected SSO provider is invalid, or has not been correctly configured" -msgstr "" +msgstr "O provedor de SSO selecionado é inválido ou não foi configurado corretamente" #: 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 "Você está prestes a usar sua conta %(provider_name)s para entrar no %(site_name)s." #: templates/socialaccount/signup.html:13 msgid "As a final step, please complete the following form" @@ -14633,172 +14633,173 @@ msgstr "" #: templates/socialaccount/snippets/provider_list.html:26 msgid "Provider has not been configured" -msgstr "" +msgstr "O provedor não foi configurado" #: templates/socialaccount/snippets/provider_list.html:35 msgid "No SSO providers have been configured" -msgstr "" +msgstr "Nenhum provedor de SSO foi configurado" #: templates/stats.html:13 msgid "Instance Name" -msgstr "" +msgstr "Nome da Instância" #: templates/stats.html:18 msgid "Database" -msgstr "" +msgstr "Banco de Dados" #: templates/stats.html:26 msgid "Server is running in debug mode" -msgstr "" +msgstr "O servidor está executando no modo de depuração" #: templates/stats.html:33 msgid "Docker Mode" -msgstr "" +msgstr "Modo Docker" #: templates/stats.html:34 msgid "Server is deployed using docker" -msgstr "" +msgstr "O servidor está implantado usando o docker" #: templates/stats.html:39 msgid "Plugin Support" -msgstr "" +msgstr "Suporte a Extensões" #: templates/stats.html:43 msgid "Plugin support enabled" -msgstr "" +msgstr "Suporte a extensões habilitado" #: templates/stats.html:45 msgid "Plugin support disabled" -msgstr "" +msgstr "Suporte de extensão desativado" #: templates/stats.html:52 msgid "Server status" -msgstr "" +msgstr "Estado do Servidor" #: templates/stats.html:55 msgid "Healthy" -msgstr "" +msgstr "Saudável" #: templates/stats.html:57 msgid "Issues detected" -msgstr "" +msgstr "Problemas detectados" #: templates/stats.html:64 msgid "Background Worker" -msgstr "" +msgstr "Funcionário em segundo plano" #: templates/stats.html:67 msgid "Background worker not running" -msgstr "" +msgstr "Trabalhador de fundo não está em execução" #: templates/stats.html:75 msgid "Email Settings" -msgstr "" +msgstr "Configurações de Email" #: templates/stats.html:78 msgid "Email settings not configured" -msgstr "" +msgstr "Configurações de e-mail não configuradas" #: templates/yesnolabel.html:4 msgid "Yes" -msgstr "" +msgstr "Sim" #: templates/yesnolabel.html:6 msgid "No" -msgstr "" +msgstr "Não" #: users/admin.py:104 msgid "Users" -msgstr "" +msgstr "Usuários" #: users/admin.py:105 msgid "Select which users are assigned to this group" -msgstr "" +msgstr "Selecione quais usuários estão atribuídos a este grupo" #: users/admin.py:249 msgid "The following users are members of multiple groups" -msgstr "" +msgstr "Os seguintes usuários são membros de vários grupos" #: users/admin.py:283 msgid "Personal info" -msgstr "" +msgstr "Informações pessoais" #: users/admin.py:285 msgid "Permissions" -msgstr "" +msgstr "Permissões" #: users/admin.py:288 msgid "Important dates" -msgstr "" +msgstr "Datas importantes" #: users/authentication.py:29 users/models.py:138 msgid "Token has been revoked" -msgstr "" +msgstr "O token foi revogado" #: users/authentication.py:32 msgid "Token has expired" -msgstr "" +msgstr "Token expirou" #: users/models.py:81 msgid "API Token" -msgstr "" +msgstr "Token da API" #: users/models.py:82 msgid "API Tokens" -msgstr "" +msgstr "Tokens de API" #: users/models.py:118 msgid "Token Name" -msgstr "" +msgstr "Nome do Token" #: users/models.py:119 msgid "Custom token name" -msgstr "" +msgstr "Nome de token personalizado" #: users/models.py:125 msgid "Token expiry date" -msgstr "" +msgstr "Data de validade do token" #: users/models.py:133 msgid "Last Seen" -msgstr "" +msgstr "Visto pela Última Vez" #: users/models.py:134 msgid "Last time the token was used" -msgstr "" +msgstr "Última vez que o token foi usado" #: users/models.py:138 msgid "Revoked" -msgstr "" +msgstr "Revogado" #: users/models.py:379 msgid "Permission set" -msgstr "" +msgstr "Permissão definida" #: users/models.py:388 msgid "Group" -msgstr "" +msgstr "Grupo" #: users/models.py:392 msgid "View" -msgstr "" +msgstr "Visualizar" #: users/models.py:392 msgid "Permission to view items" -msgstr "" +msgstr "Permissão para ver itens" #: users/models.py:396 msgid "Permission to add items" -msgstr "" +msgstr "Permissão para adicionar itens" #: users/models.py:400 msgid "Change" -msgstr "" +msgstr "Alterar" #: users/models.py:402 msgid "Permissions to edit items" -msgstr "" +msgstr "Permissões para editar itens" #: users/models.py:408 msgid "Permission to delete items" -msgstr "" +msgstr "Permissão para excluir itens" + From df0988328fac0411e3e0bc308d9183f388f1434b Mon Sep 17 00:00:00 2001 From: Oliver Date: Tue, 9 Jul 2024 00:56:33 +1000 Subject: [PATCH 19/36] Fix: New translations django.po from Crowdin --- .../InvenTree/locale/ru/LC_MESSAGES/django.po | 247 +++++------------- 1 file changed, 61 insertions(+), 186 deletions(-) diff --git a/src/backend/InvenTree/locale/ru/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/ru/LC_MESSAGES/django.po index 49319f63a010..b9e39649a28d 100644 --- a/src/backend/InvenTree/locale/ru/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/ru/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-07-08 14:46+0000\n" -"PO-Revision-Date: 2024-07-05 14:58\n" +"PO-Revision-Date: 2024-07-08 14:56\n" "Last-Translator: \n" "Language-Team: Russian\n" "Language: ru_RU\n" @@ -783,16 +783,12 @@ msgid "Assembly BOM has not been validated" msgstr "" #: build/models.py:134 -#, fuzzy -#| msgid "Stock item cannot be created for virtual parts" msgid "Build order cannot be created for an inactive part" -msgstr "Складская позиция не может быть создана для виртуальных деталей" +msgstr "" #: build/models.py:141 -#, fuzzy -#| msgid "Build output cannot be specified for allocation of untracked parts" msgid "Build order cannot be created for an unlocked part" -msgstr "Продукция не может быть указана для резервирования не отслеживаемых частей" +msgstr "" #: build/models.py:155 msgid "Invalid choice for parent build" @@ -1493,10 +1489,8 @@ msgid "Failed to start auto-allocation task" msgstr "Не удалось запустить задачу автораспределения" #: build/serializers.py:1095 -#, fuzzy -#| msgid "Supplier Part" msgid "Supplier Part Number" -msgstr "Деталь поставщика" +msgstr "" #: build/serializers.py:1096 company/models.py:500 msgid "Manufacturer Part Number" @@ -1508,16 +1502,12 @@ msgid "Location Name" msgstr "Имя Места Хранения" #: build/serializers.py:1098 -#, fuzzy -#| msgid "Build Order Reference" msgid "Build Reference" -msgstr "Ссылка на заказ на производство" +msgstr "" #: build/serializers.py:1099 -#, fuzzy -#| msgid "Reference" msgid "BOM Reference" -msgstr "Отсылка" +msgstr "" #: build/serializers.py:1186 part/admin.py:402 part/models.py:3993 msgid "Part IPN" @@ -1561,22 +1551,16 @@ msgid "Available Stock" msgstr "Доступный запас" #: build/serializers.py:1224 -#, fuzzy -#| msgid "Substitute Stock" msgid "Available Substitute Stock" -msgstr "Заменить остатки" +msgstr "" #: build/serializers.py:1225 -#, fuzzy -#| msgid "Available Stock" msgid "Available Variant Stock" -msgstr "Доступный запас" +msgstr "" #: build/serializers.py:1226 -#, fuzzy -#| msgid "Available Stock" msgid "Total Available Stock" -msgstr "Доступный запас" +msgstr "" #: build/serializers.py:1227 part/serializers.py:862 msgid "External Stock" @@ -2789,16 +2773,12 @@ msgid "Prevent build order creation for inactive parts" msgstr "" #: common/models.py:1801 -#, fuzzy -#| msgid "Required Part" msgid "Require Locked Part" -msgstr "Необходимая деталь" +msgstr "" #: common/models.py:1802 -#, fuzzy -#| msgid "Print build order report" msgid "Prevent build order creation for unlocked parts" -msgstr "Печать отчета о заказе на производство" +msgstr "" #: common/models.py:1807 msgid "Require Valid BOM" @@ -3704,10 +3684,8 @@ msgid "Target model ID for this image" msgstr "" #: common/models.py:3035 -#, fuzzy -#| msgid "New Custom Unit" msgid "Custom Unit" -msgstr "Новая пользовательская единица" +msgstr "" #: common/models.py:3056 msgid "Unit symbol must be unique" @@ -4036,30 +4014,24 @@ msgid "Is this company active?" msgstr "" #: company/models.py:168 -#, fuzzy -#| msgid "is customer" msgid "Is customer" -msgstr "покупатель" +msgstr "" #: company/models.py:169 msgid "Do you sell items to this company?" msgstr "Вы продаёте детали этой компании?" #: company/models.py:174 -#, fuzzy -#| msgid "is supplier" msgid "Is supplier" -msgstr "поставщик" +msgstr "" #: company/models.py:175 msgid "Do you purchase items from this company?" msgstr "Вы закупаете детали у этой компании?" #: company/models.py:180 -#, fuzzy -#| msgid "is manufacturer" msgid "Is manufacturer" -msgstr "производитель" +msgstr "" #: company/models.py:181 msgid "Does this company manufacture parts?" @@ -4220,10 +4192,8 @@ msgid "Manufacturer part description" msgstr "" #: company/models.py:569 -#, fuzzy -#| msgid "Manufacturer Part Number" msgid "Manufacturer Part Parameter" -msgstr "Код производителя" +msgstr "" #: company/models.py:588 msgid "Parameter name" @@ -4379,20 +4349,16 @@ msgid "Date of last update of availability data" msgstr "" #: company/models.py:1015 -#, fuzzy -#| msgid "Supplier Pricing" msgid "Supplier Price Break" -msgstr "Цены поставщика" +msgstr "" #: company/serializers.py:174 msgid "Default currency used for this supplier" msgstr "Валюта по умолчанию для этого поставщика" #: company/serializers.py:210 -#, fuzzy -#| msgid "Company name" msgid "Company Name" -msgstr "Название компании" +msgstr "" #: company/serializers.py:384 part/admin.py:126 part/serializers.py:855 #: part/templates/part/part_base.html:197 @@ -4853,42 +4819,32 @@ msgid "Placed" msgstr "Размещены" #: importer/mixins.py:263 -#, fuzzy -#| msgid "Invalid value for overage" msgid "Invalid export format" -msgstr "Неверное значение для избытка" +msgstr "" #: importer/models.py:56 msgid "Timestamp" msgstr "" #: importer/models.py:61 -#, fuzzy -#| msgid "Select file to upload" msgid "Data file to import" -msgstr "Выберите файл для загрузки" +msgstr "" #: importer/models.py:70 templates/js/translated/tables.js:558 msgid "Columns" msgstr "Столбцы" #: importer/models.py:81 -#, fuzzy -#| msgid "Import Parts" msgid "Import status" -msgstr "Импортировать детали" +msgstr "" #: importer/models.py:91 -#, fuzzy -#| msgid "Build Details" msgid "Field Defaults" -msgstr "Подробности производства" +msgstr "" #: importer/models.py:201 -#, fuzzy -#| msgid "Required build quantity has not been completed" msgid "Some required fields have not been mapped" -msgstr "Требуемое количество деталей не было произведено" +msgstr "" #: importer/models.py:346 msgid "Column is already mapped to a database field" @@ -4907,44 +4863,32 @@ msgid "Column does not exist in the data file" msgstr "" #: importer/models.py:372 -#, fuzzy -#| msgid "User does not have permission to view this model" msgid "Field does not exist in the target model" -msgstr "У пользователя недостаточно прав для просмотра этой модели!" +msgstr "" #: importer/models.py:376 msgid "Selected field is read-only" msgstr "" #: importer/models.py:381 importer/models.py:452 -#, fuzzy -#| msgid "Active Sessions" msgid "Import Session" -msgstr "Активные Сессии" +msgstr "" #: importer/models.py:385 -#, fuzzy -#| msgid "Field Name" msgid "Field" -msgstr "Имя Поля" +msgstr "" #: importer/models.py:387 -#, fuzzy -#| msgid "Columns" msgid "Column" -msgstr "Столбцы" +msgstr "" #: importer/models.py:456 -#, fuzzy -#| msgid "Index" msgid "Row Index" -msgstr "Индекс" +msgstr "" #: importer/models.py:459 -#, fuzzy -#| msgid "Original Part" msgid "Original row data" -msgstr "Оригинальная деталь" +msgstr "" #: importer/models.py:462 part/models.py:3841 msgid "Data" @@ -4959,10 +4903,8 @@ msgid "Valid" msgstr "Корректный" #: importer/operations.py:28 importer/operations.py:49 -#, fuzzy -#| msgid "Unsupported file format: {fmt}" msgid "Unsupported data file format" -msgstr "Неподдерживаемый формат файла: {fmt}" +msgstr "" #: importer/operations.py:40 msgid "Failed to open data file" @@ -4981,10 +4923,8 @@ msgid "List of row IDs to accept" msgstr "" #: importer/serializers.py:149 -#, fuzzy -#| msgid "No data rows provided" msgid "No rows provided" -msgstr "Строки данных в файле не найдены" +msgstr "" #: importer/serializers.py:153 msgid "Row does not belong to this session" @@ -4995,44 +4935,32 @@ msgid "Row contains invalid data" msgstr "" #: importer/serializers.py:159 -#, fuzzy -#| msgid "This build output has already been completed" msgid "Row has already been completed" -msgstr "Эта продукция уже помечена как завершенная" +msgstr "" #: importer/status_codes.py:11 msgid "Initializing" msgstr "" #: importer/status_codes.py:12 -#, fuzzy -#| msgid "Columns" msgid "Mapping Columns" -msgstr "Столбцы" +msgstr "" #: importer/status_codes.py:13 -#, fuzzy -#| msgid "Import Part" msgid "Importing Data" -msgstr "Импорт детали" +msgstr "" #: importer/status_codes.py:16 -#, fuzzy -#| msgid "Loading Data" msgid "Processing Data" -msgstr "Загрузка данных" +msgstr "" #: importer/validators.py:21 -#, fuzzy -#| msgid "Image download exceeded maximum size" msgid "Data file exceeds maximum size limit" -msgstr "Загрузка изображения превышен максимальный размер" +msgstr "" #: importer/validators.py:26 -#, fuzzy -#| msgid "Stock item contains other items" msgid "Data file contains no headers" -msgstr "Складская позиция содержит другие детали" +msgstr "" #: importer/validators.py:29 msgid "Data file contains too many columns" @@ -5043,10 +4971,8 @@ msgid "Data file contains too many rows" msgstr "" #: importer/validators.py:49 -#, fuzzy -#| msgid "Metadata must be a python dict object" msgid "Value must be a valid dictionary object" -msgstr "Метаданные должны быть объектом python dict" +msgstr "" #: machine/machine_types/label_printer.py:212 msgid "Copies" @@ -5376,10 +5302,8 @@ msgid "Unit price" msgstr "Цена за единицу" #: order/models.py:1361 -#, fuzzy -#| msgid "Purchase Order Items" msgid "Purchase Order Line Item" -msgstr "Позиции заказа на закупку" +msgstr "" #: order/models.py:1385 msgid "Supplier part must match supplier" @@ -5422,16 +5346,12 @@ msgid "Where does the Purchaser want this item to be stored?" msgstr "" #: order/models.py:1503 -#, fuzzy -#| msgid "Purchase Order Items" msgid "Purchase Order Extra Line" -msgstr "Позиции заказа на закупку" +msgstr "" #: order/models.py:1532 -#, fuzzy -#| msgid "Sales Order Items" msgid "Sales Order Line Item" -msgstr "Позиции заказа на закупку" +msgstr "" #: order/models.py:1553 msgid "Virtual part cannot be assigned to a sales order" @@ -5462,10 +5382,8 @@ msgid "Shipped quantity" msgstr "Отгруженное кол-во" #: order/models.py:1667 -#, fuzzy -#| msgid "Sales Order Settings" msgid "Sales Order Shipment" -msgstr "Настройки заказов на продажу" +msgstr "" #: order/models.py:1688 msgid "Date of shipment" @@ -5521,16 +5439,12 @@ msgid "Shipment has no allocated stock items" msgstr "Отправка не имеет зарезервированных складских позиций" #: order/models.py:1828 -#, fuzzy -#| msgid "Sales Order Items" msgid "Sales Order Extra Line" -msgstr "Позиции заказа на закупку" +msgstr "" #: order/models.py:1857 -#, fuzzy -#| msgid "Build Order Allocations" msgid "Sales Order Allocation" -msgstr "Резервы заказа на производство" +msgstr "" #: order/models.py:1880 order/models.py:1882 msgid "Stock item has not been assigned" @@ -5594,10 +5508,8 @@ msgid "Return order status" msgstr "" #: order/models.py:2237 -#, fuzzy -#| msgid "Return Order" msgid "Return Order Line Item" -msgstr "Заказ на возврат" +msgstr "" #: order/models.py:2251 msgid "Only serialized items can be assigned to a Return Order" @@ -5629,10 +5541,8 @@ msgid "Cost associated with return or repair for this line item" msgstr "" #: order/models.py:2303 -#, fuzzy -#| msgid "Return Order" msgid "Return Order Extra Line" -msgstr "Заказ на возврат" +msgstr "" #: order/serializers.py:83 order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 @@ -5688,10 +5598,8 @@ msgid "Internal Part Number" msgstr "Внутренний код детали" #: order/serializers.py:530 -#, fuzzy -#| msgid "Internal Part Number" msgid "Internal Part Name" -msgstr "Внутренний код детали" +msgstr "" #: order/serializers.py:546 msgid "Supplier part must be specified" @@ -6647,16 +6555,12 @@ msgstr "Эта деталь активна?" #: part/models.py:1090 templates/js/translated/part.js:818 #: templates/js/translated/table_filters.js:721 -#, fuzzy -#| msgid "Lock" msgid "Locked" -msgstr "Заблокировать" +msgstr "" #: part/models.py:1091 -#, fuzzy -#| msgid "Build order part cannot be changed" msgid "Locked parts cannot be edited" -msgstr "Деталь заказа на производства не может быть изменена" +msgstr "" #: part/models.py:1097 msgid "Is this a virtual part, such as a software product or license?" @@ -6905,16 +6809,12 @@ msgid "User who requested this stocktake report" msgstr "" #: part/models.py:3301 -#, fuzzy -#| msgid "Edit Price Break" msgid "Part Sale Price Break" -msgstr "Изменить разрыв цен" +msgstr "" #: part/models.py:3413 -#, fuzzy -#| msgid "Part Test Templates" msgid "Part Test Template" -msgstr "Шаблоны тестирования детали" +msgstr "" #: part/models.py:3439 msgid "Invalid template name - must include at least one alphanumeric character" @@ -7000,10 +6900,8 @@ msgid "Valid choices for this test (comma-separated)" msgstr "" #: part/models.py:3577 -#, fuzzy -#| msgid "Part Parameter Templates" msgid "Part Parameter Template" -msgstr "Шаблон параметра детали" +msgstr "" #: part/models.py:3604 msgid "Checkbox parameters cannot have units" @@ -7043,10 +6941,8 @@ msgid "Valid choices for this parameter (comma-separated)" msgstr "" #: part/models.py:3723 -#, fuzzy -#| msgid "Part Parameters" msgid "Part Parameter" -msgstr "Параметры детали" +msgstr "" #: part/models.py:3749 msgid "Parameter cannot be modified - part is locked" @@ -7070,10 +6966,8 @@ msgid "Parameter Value" msgstr "Значение Параметра" #: part/models.py:3892 -#, fuzzy -#| msgid "Copy Category Parameter Templates" msgid "Part Category Parameter Template" -msgstr "Скопировать параметры по шаблону категории" +msgstr "" #: part/models.py:3951 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" @@ -9576,20 +9470,16 @@ msgid "StockItem cannot be moved as it is not in stock" msgstr "" #: stock/models.py:2317 -#, fuzzy -#| msgid "Stock Tracking" msgid "Stock Item Tracking" -msgstr "Запас" +msgstr "" #: stock/models.py:2350 msgid "Entry notes" msgstr "" #: stock/models.py:2390 -#, fuzzy -#| msgid "Stock Item Test Report" msgid "Stock Item Test Result" -msgstr "Отчет тестирования складской позиции" +msgstr "" #: stock/models.py:2423 msgid "Value must be provided for this test" @@ -9704,10 +9594,8 @@ msgid "Parent Item" msgstr "Родительский элемент" #: stock/serializers.py:450 -#, fuzzy -#| msgid "Parent Stock Item" msgid "Parent stock item" -msgstr "Складская позиция" +msgstr "" #: stock/serializers.py:469 msgid "Use pack size when adding: the quantity defined is the number of packs" @@ -9728,26 +9616,20 @@ msgid "Child Items" msgstr "Дочерние элементы" #: stock/serializers.py:598 -#, fuzzy -#| msgid "Tracking" msgid "Tracking Items" -msgstr "Отслеживание" +msgstr "" #: stock/serializers.py:604 msgid "Purchase price of this stock item, per unit or pack" msgstr "Закупочная цена для этой складской позиции, за единицу или за упаковку" #: stock/serializers.py:623 -#, fuzzy -#| msgid "Minimum Price" msgid "Minimum Pricing" -msgstr "Минимальная цена" +msgstr "" #: stock/serializers.py:629 -#, fuzzy -#| msgid "Maximum Price" msgid "Maximum Pricing" -msgstr "Максимальная цена" +msgstr "" #: stock/serializers.py:653 msgid "Enter number of stock items to serialize" @@ -14508,10 +14390,8 @@ msgid "Show active parts" msgstr "" #: templates/js/translated/table_filters.js:722 -#, fuzzy -#| msgid "Show related parts" msgid "Show locked parts" -msgstr "Показывать связанные детали" +msgstr "" #: templates/js/translated/table_filters.js:730 msgid "Available stock" @@ -14923,8 +14803,3 @@ msgstr "Разрешение на редактирование элементо msgid "Permission to delete items" msgstr "Разрешение на удаление элементов" -#~ msgid "Default stock item template" -#~ msgstr "Шаблон складской позиции по умолчанию" - -#~ msgid "The stock item label template to be automatically selected" -#~ msgstr "Шаблон метки складской позиции для автоматического выбора" From e7ec205212089b59b5f546a247fde4463c28bdab Mon Sep 17 00:00:00 2001 From: Oliver Date: Tue, 9 Jul 2024 00:56:35 +1000 Subject: [PATCH 20/36] Fix: New translations django.po from Crowdin --- src/backend/InvenTree/locale/sk/LC_MESSAGES/django.po | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/backend/InvenTree/locale/sk/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/sk/LC_MESSAGES/django.po index e143d6f4bbe5..c476427bff34 100644 --- a/src/backend/InvenTree/locale/sk/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/sk/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-07-08 14:46+0000\n" -"PO-Revision-Date: 2024-07-05 14:58\n" +"PO-Revision-Date: 2024-07-08 14:56\n" "Last-Translator: \n" "Language-Team: Slovak\n" "Language: sk_SK\n" @@ -14802,3 +14802,4 @@ msgstr "" #: users/models.py:408 msgid "Permission to delete items" msgstr "" + From b84b5a3c16c2395eae20f4fcf86aad18bb253574 Mon Sep 17 00:00:00 2001 From: Oliver Date: Tue, 9 Jul 2024 00:56:37 +1000 Subject: [PATCH 21/36] Fix: New translations django.po from Crowdin --- .../InvenTree/locale/sl/LC_MESSAGES/django.po | 75 +++++-------------- 1 file changed, 20 insertions(+), 55 deletions(-) diff --git a/src/backend/InvenTree/locale/sl/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/sl/LC_MESSAGES/django.po index 87554de26636..fdb9e1c91941 100644 --- a/src/backend/InvenTree/locale/sl/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/sl/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-07-08 14:46+0000\n" -"PO-Revision-Date: 2024-07-05 14:58\n" +"PO-Revision-Date: 2024-07-08 14:56\n" "Last-Translator: \n" "Language-Team: Slovenian\n" "Language: sl_SI\n" @@ -1502,16 +1502,12 @@ msgid "Location Name" msgstr "" #: build/serializers.py:1098 -#, fuzzy -#| msgid "Build Order Reference" msgid "Build Reference" -msgstr "Referenca naloga izgradnje" +msgstr "" #: build/serializers.py:1099 -#, fuzzy -#| msgid "Reference" msgid "BOM Reference" -msgstr "Referenca" +msgstr "" #: build/serializers.py:1186 part/admin.py:402 part/models.py:3993 msgid "Part IPN" @@ -4018,10 +4014,8 @@ msgid "Is this company active?" msgstr "" #: company/models.py:168 -#, fuzzy -#| msgid "Sent to customer" msgid "Is customer" -msgstr "Posalno stranki" +msgstr "" #: company/models.py:169 msgid "Do you sell items to this company?" @@ -4825,10 +4819,8 @@ msgid "Placed" msgstr "Postavljeno" #: importer/mixins.py:263 -#, fuzzy -#| msgid "Invalid value for overage" msgid "Invalid export format" -msgstr "Neveljavna vrednost za prestarost" +msgstr "" #: importer/models.py:56 msgid "Timestamp" @@ -4871,10 +4863,8 @@ msgid "Column does not exist in the data file" msgstr "" #: importer/models.py:372 -#, fuzzy -#| msgid "User does not have permission to view this model" msgid "Field does not exist in the target model" -msgstr "Uporabnik nima dovoljenja pogleda tega modela" +msgstr "" #: importer/models.py:376 msgid "Selected field is read-only" @@ -4913,10 +4903,8 @@ msgid "Valid" msgstr "" #: importer/operations.py:28 importer/operations.py:49 -#, fuzzy -#| msgid "Unsupported file type" msgid "Unsupported data file format" -msgstr "Nepodprta vrsta datotek" +msgstr "" #: importer/operations.py:40 msgid "Failed to open data file" @@ -4935,10 +4923,8 @@ msgid "List of row IDs to accept" msgstr "" #: importer/serializers.py:149 -#, fuzzy -#| msgid "No data rows provided" msgid "No rows provided" -msgstr "Niso bile podane vrste s podatki" +msgstr "" #: importer/serializers.py:153 msgid "Row does not belong to this session" @@ -4949,10 +4935,8 @@ msgid "Row contains invalid data" msgstr "" #: importer/serializers.py:159 -#, fuzzy -#| msgid "This build output has already been completed" msgid "Row has already been completed" -msgstr "Ta sestava je že zaključena" +msgstr "" #: importer/status_codes.py:11 msgid "Initializing" @@ -4963,20 +4947,16 @@ msgid "Mapping Columns" msgstr "" #: importer/status_codes.py:13 -#, fuzzy -#| msgid "Completion Date" msgid "Importing Data" -msgstr "Datom končanja" +msgstr "" #: importer/status_codes.py:16 msgid "Processing Data" msgstr "" #: importer/validators.py:21 -#, fuzzy -#| msgid "Image download exceeded maximum size" msgid "Data file exceeds maximum size limit" -msgstr "Prenos slike presegel največjo velikost" +msgstr "" #: importer/validators.py:26 msgid "Data file contains no headers" @@ -4991,10 +4971,8 @@ msgid "Data file contains too many rows" msgstr "" #: importer/validators.py:49 -#, fuzzy -#| msgid "Metadata must be a python dict object" msgid "Value must be a valid dictionary object" -msgstr "Metapodatki morajo biti objekt tipa python dict" +msgstr "" #: machine/machine_types/label_printer.py:212 msgid "Copies" @@ -5372,10 +5350,8 @@ msgid "Purchase Order Extra Line" msgstr "" #: order/models.py:1532 -#, fuzzy -#| msgid "Sales Order Reference" msgid "Sales Order Line Item" -msgstr "Referenca dobavnica" +msgstr "" #: order/models.py:1553 msgid "Virtual part cannot be assigned to a sales order" @@ -5406,10 +5382,8 @@ msgid "Shipped quantity" msgstr "" #: order/models.py:1667 -#, fuzzy -#| msgid "Sales Order Reference" msgid "Sales Order Shipment" -msgstr "Referenca dobavnica" +msgstr "" #: order/models.py:1688 msgid "Date of shipment" @@ -5465,16 +5439,12 @@ msgid "Shipment has no allocated stock items" msgstr "" #: order/models.py:1828 -#, fuzzy -#| msgid "Sales Order Reference" msgid "Sales Order Extra Line" -msgstr "Referenca dobavnica" +msgstr "" #: order/models.py:1857 -#, fuzzy -#| msgid "Sales Order Reference" msgid "Sales Order Allocation" -msgstr "Referenca dobavnica" +msgstr "" #: order/models.py:1880 order/models.py:1882 msgid "Stock item has not been assigned" @@ -9500,20 +9470,16 @@ msgid "StockItem cannot be moved as it is not in stock" msgstr "" #: stock/models.py:2317 -#, fuzzy -#| msgid "Stock Item" msgid "Stock Item Tracking" -msgstr "Postavka zaloge" +msgstr "" #: stock/models.py:2350 msgid "Entry notes" msgstr "" #: stock/models.py:2390 -#, fuzzy -#| msgid "Stock item created" msgid "Stock Item Test Result" -msgstr "Postavka zaloge ustvarjena" +msgstr "" #: stock/models.py:2423 msgid "Value must be provided for this test" @@ -9628,10 +9594,8 @@ msgid "Parent Item" msgstr "" #: stock/serializers.py:450 -#, fuzzy -#| msgid "Source stock item" msgid "Parent stock item" -msgstr "Izvorna postavka zaloge" +msgstr "" #: stock/serializers.py:469 msgid "Use pack size when adding: the quantity defined is the number of packs" @@ -14838,3 +14802,4 @@ msgstr "" #: users/models.py:408 msgid "Permission to delete items" msgstr "" + From 84107a27088264c7a91852d3464076f874f38ee8 Mon Sep 17 00:00:00 2001 From: Oliver Date: Tue, 9 Jul 2024 00:56:40 +1000 Subject: [PATCH 22/36] Fix: New translations django.po from Crowdin --- .../InvenTree/locale/sv/LC_MESSAGES/django.po | 139 +++++------------- 1 file changed, 36 insertions(+), 103 deletions(-) diff --git a/src/backend/InvenTree/locale/sv/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/sv/LC_MESSAGES/django.po index 6a10b11fdcc2..6681a2ac8b37 100644 --- a/src/backend/InvenTree/locale/sv/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/sv/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-07-08 14:46+0000\n" -"PO-Revision-Date: 2024-07-05 14:58\n" +"PO-Revision-Date: 2024-07-08 14:56\n" "Last-Translator: \n" "Language-Team: Swedish\n" "Language: sv_SE\n" @@ -1489,10 +1489,8 @@ msgid "Failed to start auto-allocation task" msgstr "" #: build/serializers.py:1095 -#, fuzzy -#| msgid "Supplier Name" msgid "Supplier Part Number" -msgstr "Leverantörsnamn" +msgstr "" #: build/serializers.py:1096 company/models.py:500 msgid "Manufacturer Part Number" @@ -1504,16 +1502,12 @@ msgid "Location Name" msgstr "" #: build/serializers.py:1098 -#, fuzzy -#| msgid "Build Order Reference" msgid "Build Reference" -msgstr "Byggorderreferens" +msgstr "" #: build/serializers.py:1099 -#, fuzzy -#| msgid "Reference" msgid "BOM Reference" -msgstr "Referens" +msgstr "" #: build/serializers.py:1186 part/admin.py:402 part/models.py:3993 msgid "Part IPN" @@ -3690,10 +3684,8 @@ msgid "Target model ID for this image" msgstr "" #: common/models.py:3035 -#, fuzzy -#| msgid "Customer" msgid "Custom Unit" -msgstr "Kund" +msgstr "" #: common/models.py:3056 msgid "Unit symbol must be unique" @@ -4022,30 +4014,24 @@ msgid "Is this company active?" msgstr "" #: company/models.py:168 -#, fuzzy -#| msgid "is customer" msgid "Is customer" -msgstr "är kund" +msgstr "" #: company/models.py:169 msgid "Do you sell items to this company?" msgstr "" #: company/models.py:174 -#, fuzzy -#| msgid "Supplier" msgid "Is supplier" -msgstr "Leverantör" +msgstr "" #: company/models.py:175 msgid "Do you purchase items from this company?" msgstr "" #: company/models.py:180 -#, fuzzy -#| msgid "Manufacturer" msgid "Is manufacturer" -msgstr "Tillverkare" +msgstr "" #: company/models.py:181 msgid "Does this company manufacture parts?" @@ -4206,10 +4192,8 @@ msgid "Manufacturer part description" msgstr "" #: company/models.py:569 -#, fuzzy -#| msgid "Search Manufacturer Parts" msgid "Manufacturer Part Parameter" -msgstr "Sök efter tillverkarartikel" +msgstr "" #: company/models.py:588 msgid "Parameter name" @@ -4365,20 +4349,16 @@ msgid "Date of last update of availability data" msgstr "" #: company/models.py:1015 -#, fuzzy -#| msgid "Supplier Name" msgid "Supplier Price Break" -msgstr "Leverantörsnamn" +msgstr "" #: company/serializers.py:174 msgid "Default currency used for this supplier" msgstr "" #: company/serializers.py:210 -#, fuzzy -#| msgid "Company name" msgid "Company Name" -msgstr "Företagsnamn" +msgstr "" #: company/serializers.py:384 part/admin.py:126 part/serializers.py:855 #: part/templates/part/part_base.html:197 @@ -4839,30 +4819,24 @@ msgid "Placed" msgstr "Placerad" #: importer/mixins.py:263 -#, fuzzy -#| msgid "Invalid value for overage" msgid "Invalid export format" -msgstr "Ogiltigt värde för överskott" +msgstr "" #: importer/models.py:56 msgid "Timestamp" msgstr "" #: importer/models.py:61 -#, fuzzy -#| msgid "Select file to upload" msgid "Data file to import" -msgstr "Välj en fil att ladda upp" +msgstr "" #: importer/models.py:70 templates/js/translated/tables.js:558 msgid "Columns" msgstr "Kolumner" #: importer/models.py:81 -#, fuzzy -#| msgid "Stock status" msgid "Import status" -msgstr "Lagerstatus" +msgstr "" #: importer/models.py:91 msgid "Field Defaults" @@ -4889,30 +4863,24 @@ msgid "Column does not exist in the data file" msgstr "" #: importer/models.py:372 -#, fuzzy -#| msgid "User does not have permission to view this model" msgid "Field does not exist in the target model" -msgstr "Användaren har inte behörighet att se denna modell" +msgstr "" #: importer/models.py:376 msgid "Selected field is read-only" msgstr "" #: importer/models.py:381 importer/models.py:452 -#, fuzzy -#| msgid "Active Sessions" msgid "Import Session" -msgstr "Aktiva sessioner" +msgstr "" #: importer/models.py:385 msgid "Field" msgstr "" #: importer/models.py:387 -#, fuzzy -#| msgid "Columns" msgid "Column" -msgstr "Kolumner" +msgstr "" #: importer/models.py:456 msgid "Row Index" @@ -4935,10 +4903,8 @@ msgid "Valid" msgstr "" #: importer/operations.py:28 importer/operations.py:49 -#, fuzzy -#| msgid "Unsupported file type" msgid "Unsupported data file format" -msgstr "Filtypen stöds inte" +msgstr "" #: importer/operations.py:40 msgid "Failed to open data file" @@ -4957,10 +4923,8 @@ msgid "List of row IDs to accept" msgstr "" #: importer/serializers.py:149 -#, fuzzy -#| msgid "No data rows provided" msgid "No rows provided" -msgstr "Inga rader angivna" +msgstr "" #: importer/serializers.py:153 msgid "Row does not belong to this session" @@ -4971,36 +4935,28 @@ msgid "Row contains invalid data" msgstr "" #: importer/serializers.py:159 -#, fuzzy -#| msgid "Build output is already completed" msgid "Row has already been completed" -msgstr "Byggutgång är redan slutförd" +msgstr "" #: importer/status_codes.py:11 msgid "Initializing" msgstr "" #: importer/status_codes.py:12 -#, fuzzy -#| msgid "Columns" msgid "Mapping Columns" -msgstr "Kolumner" +msgstr "" #: importer/status_codes.py:13 -#, fuzzy -#| msgid "Completion Date" msgid "Importing Data" -msgstr "Slutförandedatum" +msgstr "" #: importer/status_codes.py:16 msgid "Processing Data" msgstr "" #: importer/validators.py:21 -#, fuzzy -#| msgid "Image download exceeded maximum size" msgid "Data file exceeds maximum size limit" -msgstr "Nedladdning av bilder överskred maximal storlek" +msgstr "" #: importer/validators.py:26 msgid "Data file contains no headers" @@ -5394,10 +5350,8 @@ msgid "Purchase Order Extra Line" msgstr "" #: order/models.py:1532 -#, fuzzy -#| msgid "Sales Order" msgid "Sales Order Line Item" -msgstr "Försäljningsorder" +msgstr "" #: order/models.py:1553 msgid "Virtual part cannot be assigned to a sales order" @@ -5428,10 +5382,8 @@ msgid "Shipped quantity" msgstr "" #: order/models.py:1667 -#, fuzzy -#| msgid "Sales Order" msgid "Sales Order Shipment" -msgstr "Försäljningsorder" +msgstr "" #: order/models.py:1688 msgid "Date of shipment" @@ -5487,16 +5439,12 @@ msgid "Shipment has no allocated stock items" msgstr "" #: order/models.py:1828 -#, fuzzy -#| msgid "Sales Order Reference" msgid "Sales Order Extra Line" -msgstr "Försäljningsorderreferens" +msgstr "" #: order/models.py:1857 -#, fuzzy -#| msgid "Sales Order" msgid "Sales Order Allocation" -msgstr "Försäljningsorder" +msgstr "" #: order/models.py:1880 order/models.py:1882 msgid "Stock item has not been assigned" @@ -5650,10 +5598,8 @@ msgid "Internal Part Number" msgstr "" #: order/serializers.py:530 -#, fuzzy -#| msgid "Internal Prices" msgid "Internal Part Name" -msgstr "Interna priser" +msgstr "" #: order/serializers.py:546 msgid "Supplier part must be specified" @@ -6867,10 +6813,8 @@ msgid "Part Sale Price Break" msgstr "" #: part/models.py:3413 -#, fuzzy -#| msgid "Delete Template" msgid "Part Test Template" -msgstr "Radera mall" +msgstr "" #: part/models.py:3439 msgid "Invalid template name - must include at least one alphanumeric character" @@ -6956,10 +6900,8 @@ msgid "Valid choices for this test (comma-separated)" msgstr "" #: part/models.py:3577 -#, fuzzy -#| msgid "Delete Template" msgid "Part Parameter Template" -msgstr "Radera mall" +msgstr "" #: part/models.py:3604 msgid "Checkbox parameters cannot have units" @@ -6999,10 +6941,8 @@ msgid "Valid choices for this parameter (comma-separated)" msgstr "" #: part/models.py:3723 -#, fuzzy -#| msgid "Parameters" msgid "Part Parameter" -msgstr "Parametrar" +msgstr "" #: part/models.py:3749 msgid "Parameter cannot be modified - part is locked" @@ -9530,20 +9470,16 @@ msgid "StockItem cannot be moved as it is not in stock" msgstr "" #: stock/models.py:2317 -#, fuzzy -#| msgid "Stock Item" msgid "Stock Item Tracking" -msgstr "Artikel i lager" +msgstr "" #: stock/models.py:2350 msgid "Entry notes" msgstr "" #: stock/models.py:2390 -#, fuzzy -#| msgid "Stock item created" msgid "Stock Item Test Result" -msgstr "Lagerpost skapad" +msgstr "" #: stock/models.py:2423 msgid "Value must be provided for this test" @@ -9658,10 +9594,8 @@ msgid "Parent Item" msgstr "" #: stock/serializers.py:450 -#, fuzzy -#| msgid "Source stock item" msgid "Parent stock item" -msgstr "Källa lagervara" +msgstr "" #: stock/serializers.py:469 msgid "Use pack size when adding: the quantity defined is the number of packs" @@ -14456,10 +14390,8 @@ msgid "Show active parts" msgstr "" #: templates/js/translated/table_filters.js:722 -#, fuzzy -#| msgid "Show related parts" msgid "Show locked parts" -msgstr "Visa relaterade delar" +msgstr "" #: templates/js/translated/table_filters.js:730 msgid "Available stock" @@ -14870,3 +14802,4 @@ msgstr "" #: users/models.py:408 msgid "Permission to delete items" msgstr "" + From e450d4bed43ff232a5d206e2b2a0b312a42c6fea Mon Sep 17 00:00:00 2001 From: Oliver Date: Tue, 9 Jul 2024 00:56:42 +1000 Subject: [PATCH 23/36] Fix: New translations django.po from Crowdin --- .../InvenTree/locale/tr/LC_MESSAGES/django.po | 183 +++++------------- 1 file changed, 47 insertions(+), 136 deletions(-) diff --git a/src/backend/InvenTree/locale/tr/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/tr/LC_MESSAGES/django.po index 087f94ccb4c4..8a1c55e82bb7 100644 --- a/src/backend/InvenTree/locale/tr/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/tr/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-07-08 14:46+0000\n" -"PO-Revision-Date: 2024-07-05 14:58\n" +"PO-Revision-Date: 2024-07-08 14:56\n" "Last-Translator: \n" "Language-Team: Turkish\n" "Language: tr_TR\n" @@ -783,16 +783,12 @@ msgid "Assembly BOM has not been validated" msgstr "" #: build/models.py:134 -#, fuzzy -#| msgid "Build Order cannot be completed as outstanding outputs remain" msgid "Build order cannot be created for an inactive part" -msgstr "Bekleyen çıktılar kaldığı için yapım işi emri tamamlanamıyor" +msgstr "" #: build/models.py:141 -#, fuzzy -#| msgid "Build Order cannot be completed as outstanding outputs remain" msgid "Build order cannot be created for an unlocked part" -msgstr "Bekleyen çıktılar kaldığı için yapım işi emri tamamlanamıyor" +msgstr "" #: build/models.py:155 msgid "Invalid choice for parent build" @@ -1493,10 +1489,8 @@ msgid "Failed to start auto-allocation task" msgstr "" #: build/serializers.py:1095 -#, fuzzy -#| msgid "Supplier Part Orders" msgid "Supplier Part Number" -msgstr "Tedarikçi Parçası Emirleri" +msgstr "" #: build/serializers.py:1096 company/models.py:500 msgid "Manufacturer Part Number" @@ -1508,16 +1502,12 @@ msgid "Location Name" msgstr "" #: build/serializers.py:1098 -#, fuzzy -#| msgid "Build Order Reference" msgid "Build Reference" -msgstr "Yapım İşi Emri Referansı" +msgstr "" #: build/serializers.py:1099 -#, fuzzy -#| msgid "Reference" msgid "BOM Reference" -msgstr "Referans" +msgstr "" #: build/serializers.py:1186 part/admin.py:402 part/models.py:3993 msgid "Part IPN" @@ -1569,10 +1559,8 @@ msgid "Available Variant Stock" msgstr "" #: build/serializers.py:1226 -#, fuzzy -#| msgid "Available" msgid "Total Available Stock" -msgstr "Mevcut" +msgstr "" #: build/serializers.py:1227 part/serializers.py:862 msgid "External Stock" @@ -2785,10 +2773,8 @@ msgid "Prevent build order creation for inactive parts" msgstr "" #: common/models.py:1801 -#, fuzzy -#| msgid "Required For" msgid "Require Locked Part" -msgstr "İçin Gerekli Olan" +msgstr "" #: common/models.py:1802 msgid "Prevent build order creation for unlocked parts" @@ -3698,10 +3684,8 @@ msgid "Target model ID for this image" msgstr "" #: common/models.py:3035 -#, fuzzy -#| msgid "Customer" msgid "Custom Unit" -msgstr "Müşteri" +msgstr "" #: common/models.py:3056 msgid "Unit symbol must be unique" @@ -4030,30 +4014,24 @@ msgid "Is this company active?" msgstr "" #: company/models.py:168 -#, fuzzy -#| msgid "is customer" msgid "Is customer" -msgstr "müşteri mi" +msgstr "" #: company/models.py:169 msgid "Do you sell items to this company?" msgstr "Bu şirkete ürün satıyor musunuz?" #: company/models.py:174 -#, fuzzy -#| msgid "is supplier" msgid "Is supplier" -msgstr "tedarikçi mi" +msgstr "" #: company/models.py:175 msgid "Do you purchase items from this company?" msgstr "Bu şirketten ürün satın alıyor musunuz?" #: company/models.py:180 -#, fuzzy -#| msgid "is manufacturer" msgid "Is manufacturer" -msgstr "üretici mi" +msgstr "" #: company/models.py:181 msgid "Does this company manufacture parts?" @@ -4214,10 +4192,8 @@ msgid "Manufacturer part description" msgstr "" #: company/models.py:569 -#, fuzzy -#| msgid "Manufacturer Part Number" msgid "Manufacturer Part Parameter" -msgstr "Üretici Parça Numarası" +msgstr "" #: company/models.py:588 msgid "Parameter name" @@ -4373,20 +4349,16 @@ msgid "Date of last update of availability data" msgstr "" #: company/models.py:1015 -#, fuzzy -#| msgid "Supplier Part Orders" msgid "Supplier Price Break" -msgstr "Tedarikçi Parçası Emirleri" +msgstr "" #: company/serializers.py:174 msgid "Default currency used for this supplier" msgstr "" #: company/serializers.py:210 -#, fuzzy -#| msgid "Company name" msgid "Company Name" -msgstr "Şirket adı" +msgstr "" #: company/serializers.py:384 part/admin.py:126 part/serializers.py:855 #: part/templates/part/part_base.html:197 @@ -4855,32 +4827,24 @@ msgid "Timestamp" msgstr "" #: importer/models.py:61 -#, fuzzy -#| msgid "Select file to upload" msgid "Data file to import" -msgstr "Yüklenecek dosyayı seç" +msgstr "" #: importer/models.py:70 templates/js/translated/tables.js:558 msgid "Columns" msgstr "" #: importer/models.py:81 -#, fuzzy -#| msgid "Important dates" msgid "Import status" -msgstr "Önemli tarihler" +msgstr "" #: importer/models.py:91 -#, fuzzy -#| msgid "Build Details" msgid "Field Defaults" -msgstr "Yapım İşi Detayları" +msgstr "" #: importer/models.py:201 -#, fuzzy -#| msgid "Required build quantity has not been completed" msgid "Some required fields have not been mapped" -msgstr "Gerekli yapım işi miktarı tamamlanmadı" +msgstr "" #: importer/models.py:346 msgid "Column is already mapped to a database field" @@ -4899,26 +4863,20 @@ msgid "Column does not exist in the data file" msgstr "" #: importer/models.py:372 -#, fuzzy -#| msgid "User does not have permission to view this model" msgid "Field does not exist in the target model" -msgstr "Kullanıcının bu modeli görüntüleme izni yok" +msgstr "" #: importer/models.py:376 msgid "Selected field is read-only" msgstr "" #: importer/models.py:381 importer/models.py:452 -#, fuzzy -#| msgid "Important dates" msgid "Import Session" -msgstr "Önemli tarihler" +msgstr "" #: importer/models.py:385 -#, fuzzy -#| msgid "File Fields" msgid "Field" -msgstr "Dosya Alanları" +msgstr "" #: importer/models.py:387 msgid "Column" @@ -4945,10 +4903,8 @@ msgid "Valid" msgstr "" #: importer/operations.py:28 importer/operations.py:49 -#, fuzzy -#| msgid "Unsupported file type" msgid "Unsupported data file format" -msgstr "Desteklenmeyen dsoya tipi" +msgstr "" #: importer/operations.py:40 msgid "Failed to open data file" @@ -4967,10 +4923,8 @@ msgid "List of row IDs to accept" msgstr "" #: importer/serializers.py:149 -#, fuzzy -#| msgid "No data rows provided" msgid "No rows provided" -msgstr "Dosyada satır bulunamadı" +msgstr "" #: importer/serializers.py:153 msgid "Row does not belong to this session" @@ -4981,10 +4935,8 @@ msgid "Row contains invalid data" msgstr "" #: importer/serializers.py:159 -#, fuzzy -#| msgid "Build output is already completed" msgid "Row has already been completed" -msgstr "Yapım işi çıktısı zaten tamamlanmış" +msgstr "" #: importer/status_codes.py:11 msgid "Initializing" @@ -4995,20 +4947,16 @@ msgid "Mapping Columns" msgstr "" #: importer/status_codes.py:13 -#, fuzzy -#| msgid "Important dates" msgid "Importing Data" -msgstr "Önemli tarihler" +msgstr "" #: importer/status_codes.py:16 msgid "Processing Data" msgstr "" #: importer/validators.py:21 -#, fuzzy -#| msgid "Image download exceeded maximum size" msgid "Data file exceeds maximum size limit" -msgstr "Resim indirme boyutu izin verilenden büyük" +msgstr "" #: importer/validators.py:26 msgid "Data file contains no headers" @@ -5023,10 +4971,8 @@ msgid "Data file contains too many rows" msgstr "" #: importer/validators.py:49 -#, fuzzy -#| msgid "Metadata must be a python dict object" msgid "Value must be a valid dictionary object" -msgstr "Metadata, bir python dict nesnesi olmalıdır" +msgstr "" #: machine/machine_types/label_printer.py:212 msgid "Copies" @@ -5356,10 +5302,8 @@ msgid "Unit price" msgstr "" #: order/models.py:1361 -#, fuzzy -#| msgid "Purchase Orders" msgid "Purchase Order Line Item" -msgstr "Satın Alma Emirleri" +msgstr "" #: order/models.py:1385 msgid "Supplier part must match supplier" @@ -5402,16 +5346,12 @@ msgid "Where does the Purchaser want this item to be stored?" msgstr "" #: order/models.py:1503 -#, fuzzy -#| msgid "Purchase Orders" msgid "Purchase Order Extra Line" -msgstr "Satın Alma Emirleri" +msgstr "" #: order/models.py:1532 -#, fuzzy -#| msgid "Sales Order" msgid "Sales Order Line Item" -msgstr "Sipariş Emri" +msgstr "" #: order/models.py:1553 msgid "Virtual part cannot be assigned to a sales order" @@ -5442,10 +5382,8 @@ msgid "Shipped quantity" msgstr "" #: order/models.py:1667 -#, fuzzy -#| msgid "Sales Order" msgid "Sales Order Shipment" -msgstr "Sipariş Emri" +msgstr "" #: order/models.py:1688 msgid "Date of shipment" @@ -5501,16 +5439,12 @@ msgid "Shipment has no allocated stock items" msgstr "" #: order/models.py:1828 -#, fuzzy -#| msgid "Sales Order Reference" msgid "Sales Order Extra Line" -msgstr "Satış Emri Referansı" +msgstr "" #: order/models.py:1857 -#, fuzzy -#| msgid "Sales Order" msgid "Sales Order Allocation" -msgstr "Sipariş Emri" +msgstr "" #: order/models.py:1880 order/models.py:1882 msgid "Stock item has not been assigned" @@ -5664,10 +5598,8 @@ msgid "Internal Part Number" msgstr "" #: order/serializers.py:530 -#, fuzzy -#| msgid "Manufacturer Part Number" msgid "Internal Part Name" -msgstr "Üretici Parça Numarası" +msgstr "" #: order/serializers.py:546 msgid "Supplier part must be specified" @@ -6881,10 +6813,8 @@ msgid "Part Sale Price Break" msgstr "" #: part/models.py:3413 -#, fuzzy -#| msgid "Part Test Templates" msgid "Part Test Template" -msgstr "Parça Test Şablonları" +msgstr "" #: part/models.py:3439 msgid "Invalid template name - must include at least one alphanumeric character" @@ -6970,10 +6900,8 @@ msgid "Valid choices for this test (comma-separated)" msgstr "" #: part/models.py:3577 -#, fuzzy -#| msgid "Part Parameter Templates" msgid "Part Parameter Template" -msgstr "Parça Parametre Şablonu" +msgstr "" #: part/models.py:3604 msgid "Checkbox parameters cannot have units" @@ -7013,10 +6941,8 @@ msgid "Valid choices for this parameter (comma-separated)" msgstr "" #: part/models.py:3723 -#, fuzzy -#| msgid "Part Parameter Templates" msgid "Part Parameter" -msgstr "Parça Parametre Şablonu" +msgstr "" #: part/models.py:3749 msgid "Parameter cannot be modified - part is locked" @@ -7040,10 +6966,8 @@ msgid "Parameter Value" msgstr "" #: part/models.py:3892 -#, fuzzy -#| msgid "Copy Category Parameter Templates" msgid "Part Category Parameter Template" -msgstr "Kategori Paremetre Sablonu Kopyala" +msgstr "" #: part/models.py:3951 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" @@ -9546,20 +9470,16 @@ msgid "StockItem cannot be moved as it is not in stock" msgstr "Stok kalemi stokta olmadığı için taşınamaz" #: stock/models.py:2317 -#, fuzzy -#| msgid "Stock Item" msgid "Stock Item Tracking" -msgstr "Stok Kalemi" +msgstr "" #: stock/models.py:2350 msgid "Entry notes" msgstr "" #: stock/models.py:2390 -#, fuzzy -#| msgid "Stock Items" msgid "Stock Item Test Result" -msgstr "Stok Kalemleri" +msgstr "" #: stock/models.py:2423 msgid "Value must be provided for this test" @@ -9674,10 +9594,8 @@ msgid "Parent Item" msgstr "" #: stock/serializers.py:450 -#, fuzzy -#| msgid "Parent Stock Item" msgid "Parent stock item" -msgstr "Üst Stok Kalemi" +msgstr "" #: stock/serializers.py:469 msgid "Use pack size when adding: the quantity defined is the number of packs" @@ -9698,26 +9616,20 @@ msgid "Child Items" msgstr "" #: stock/serializers.py:598 -#, fuzzy -#| msgid "Stock Items" msgid "Tracking Items" -msgstr "Stok Kalemleri" +msgstr "" #: stock/serializers.py:604 msgid "Purchase price of this stock item, per unit or pack" msgstr "" #: stock/serializers.py:623 -#, fuzzy -#| msgid "Minimum Stock" msgid "Minimum Pricing" -msgstr "Minimum Stok" +msgstr "" #: stock/serializers.py:629 -#, fuzzy -#| msgid "Pricing" msgid "Maximum Pricing" -msgstr "Fiyatlandırma" +msgstr "" #: stock/serializers.py:653 msgid "Enter number of stock items to serialize" @@ -14478,10 +14390,8 @@ msgid "Show active parts" msgstr "" #: templates/js/translated/table_filters.js:722 -#, fuzzy -#| msgid "Show related parts" msgid "Show locked parts" -msgstr "İlgili parçaları göster" +msgstr "" #: templates/js/translated/table_filters.js:730 msgid "Available stock" @@ -14892,3 +14802,4 @@ msgstr "Parçaları düzenleme izni" #: users/models.py:408 msgid "Permission to delete items" msgstr "Parçaları silme izni" + From 87fc7ac04c4d4f98e857d2f082ae459612dbc8aa Mon Sep 17 00:00:00 2001 From: Oliver Date: Tue, 9 Jul 2024 00:56:44 +1000 Subject: [PATCH 24/36] Fix: New translations django.po from Crowdin --- src/backend/InvenTree/locale/uk/LC_MESSAGES/django.po | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/backend/InvenTree/locale/uk/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/uk/LC_MESSAGES/django.po index d664c78fdfb4..9d6729840478 100644 --- a/src/backend/InvenTree/locale/uk/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/uk/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-07-08 14:46+0000\n" -"PO-Revision-Date: 2024-07-05 14:58\n" +"PO-Revision-Date: 2024-07-08 14:56\n" "Last-Translator: \n" "Language-Team: Ukrainian\n" "Language: uk_UA\n" @@ -14802,3 +14802,4 @@ msgstr "" #: users/models.py:408 msgid "Permission to delete items" msgstr "" + From 62e4338c6241f30aa8713801e2bfa12741b150d3 Mon Sep 17 00:00:00 2001 From: Oliver Date: Tue, 9 Jul 2024 00:56:45 +1000 Subject: [PATCH 25/36] Fix: New translations django.po from Crowdin --- .../InvenTree/locale/zh/LC_MESSAGES/django.po | 1229 +++++++++-------- 1 file changed, 615 insertions(+), 614 deletions(-) diff --git a/src/backend/InvenTree/locale/zh/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/zh/LC_MESSAGES/django.po index 406acb9685f4..489b6eb43a36 100644 --- a/src/backend/InvenTree/locale/zh/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/zh/LC_MESSAGES/django.po @@ -3,58 +3,58 @@ msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-07-08 14:46+0000\n" -"PO-Revision-Date: 2024-07-05 14:58\n" +"PO-Revision-Date: 2024-07-08 14:56\n" "Last-Translator: \n" -"Language-Team: Chinese Traditional\n" -"Language: zh_TW\n" +"Language-Team: Chinese Simplified\n" +"Language: zh_CN\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Crowdin-Project: inventree\n" "X-Crowdin-Project-ID: 452300\n" -"X-Crowdin-Language: zh-TW\n" +"X-Crowdin-Language: zh-CN\n" "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:272 msgid "API endpoint not found" -msgstr "" +msgstr "未找到 API 端点" #: InvenTree/api.py:505 msgid "User does not have permission to view this model" -msgstr "" +msgstr "用户没有权限查阅当前模型。" #: InvenTree/conversion.py:160 #, python-brace-format msgid "Invalid unit provided ({unit})" -msgstr "" +msgstr "提供了无效的单位 ({unit})" #: InvenTree/conversion.py:177 msgid "No value provided" -msgstr "" +msgstr "没有提供数值" #: InvenTree/conversion.py:204 #, python-brace-format msgid "Could not convert {original} to {unit}" -msgstr "" +msgstr "不能将 {original} 转换到 {unit}" #: InvenTree/conversion.py:206 msgid "Invalid quantity supplied" -msgstr "" +msgstr "提供的数量无效" #: InvenTree/conversion.py:220 #, python-brace-format msgid "Invalid quantity supplied ({exc})" -msgstr "" +msgstr "提供的数量无效 ({exc})" #: InvenTree/exceptions.py:109 msgid "Error details can be found in the admin panel" -msgstr "" +msgstr "在管理面板中可以找到错误详细信息" #: InvenTree/fields.py:136 msgid "Enter date" -msgstr "" +msgstr "输入日期" #: InvenTree/fields.py:205 InvenTree/models.py:921 build/serializers.py:456 #: build/serializers.py:534 build/templates/build/sidebar.html:21 @@ -77,223 +77,223 @@ msgstr "" #: templates/js/translated/sales_order.js:2018 #: templates/js/translated/stock.js:1536 templates/js/translated/stock.js:2428 msgid "Notes" -msgstr "" +msgstr "备注" #: InvenTree/format.py:164 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" -msgstr "" +msgstr "值' {name}' 未出现在模式格式中" #: InvenTree/format.py:175 msgid "Provided value does not match required pattern: " -msgstr "" +msgstr "提供的值与所需模式不匹配:" #: InvenTree/forms.py:128 msgid "Enter password" -msgstr "" +msgstr "输入密码" #: InvenTree/forms.py:129 msgid "Enter new password" -msgstr "" +msgstr "输入新密码" #: InvenTree/forms.py:138 msgid "Confirm password" -msgstr "" +msgstr "确认密码" #: InvenTree/forms.py:139 msgid "Confirm new password" -msgstr "" +msgstr "确认新密码" #: InvenTree/forms.py:143 msgid "Old password" -msgstr "" +msgstr "旧密码" #: InvenTree/forms.py:182 msgid "Email (again)" -msgstr "" +msgstr "电子邮件 (重复)" #: InvenTree/forms.py:186 msgid "Email address confirmation" -msgstr "" +msgstr "邮箱地址已确认" #: InvenTree/forms.py:209 msgid "You must type the same email each time." -msgstr "" +msgstr "您必须每次输入相同的电子邮件。" #: InvenTree/forms.py:248 InvenTree/forms.py:256 msgid "The provided primary email address is not valid." -msgstr "" +msgstr "提供的主电子邮件地址无效。" #: InvenTree/forms.py:263 msgid "The provided email domain is not approved." -msgstr "" +msgstr "提供的邮箱域名未被批准。" #: InvenTree/forms.py:392 msgid "Registration is disabled." -msgstr "" +msgstr "注册已禁用。" #: InvenTree/helpers.py:525 order/models.py:562 order/models.py:764 msgid "Invalid quantity provided" -msgstr "" +msgstr "提供的数量无效" #: InvenTree/helpers.py:533 msgid "Empty serial number string" -msgstr "" +msgstr "序號為空白" #: InvenTree/helpers.py:562 msgid "Duplicate serial" -msgstr "" +msgstr "复制序列号" #: InvenTree/helpers.py:594 InvenTree/helpers.py:637 #, python-brace-format msgid "Invalid group range: {group}" -msgstr "" +msgstr "无效的组范围: {group}" #: InvenTree/helpers.py:625 #, python-brace-format msgid "Group range {group} exceeds allowed quantity ({expected_quantity})" -msgstr "" +msgstr "组范围 {group} 超出了允许的数量 ({expected_quantity})" #: InvenTree/helpers.py:655 InvenTree/helpers.py:662 InvenTree/helpers.py:681 #, python-brace-format msgid "Invalid group sequence: {group}" -msgstr "" +msgstr "无效的组序列: {group}" #: InvenTree/helpers.py:691 msgid "No serial numbers found" -msgstr "" +msgstr "未找到序列号" #: InvenTree/helpers.py:696 msgid "Number of unique serial numbers ({len(serials)}) must match quantity ({expected_quantity})" -msgstr "" +msgstr "唯一序列号的数量 ({len(serials)}) 必须与数量匹配 ({expected_quantity})" #: InvenTree/helpers.py:814 msgid "Remove HTML tags from this value" -msgstr "" +msgstr "从这个值中删除 HTML 标签" #: InvenTree/helpers_model.py:140 msgid "Connection error" -msgstr "" +msgstr "连接错误" #: InvenTree/helpers_model.py:145 InvenTree/helpers_model.py:152 msgid "Server responded with invalid status code" -msgstr "" +msgstr "服务器响应状态码无效" #: InvenTree/helpers_model.py:148 msgid "Exception occurred" -msgstr "" +msgstr "发生异常" #: InvenTree/helpers_model.py:158 msgid "Server responded with invalid Content-Length value" -msgstr "" +msgstr "服务器响应的内容长度值无效" #: InvenTree/helpers_model.py:161 msgid "Image size is too large" -msgstr "" +msgstr "图片尺寸过大" #: InvenTree/helpers_model.py:173 msgid "Image download exceeded maximum size" -msgstr "" +msgstr "图片下载超出最大尺寸" #: InvenTree/helpers_model.py:178 msgid "Remote server returned empty response" -msgstr "" +msgstr "远程服务器返回了空响应" #: InvenTree/helpers_model.py:186 msgid "Supplied URL is not a valid image file" -msgstr "" +msgstr "提供的 URL 不是一个有效的图片文件" #: InvenTree/locales.py:18 msgid "Bulgarian" -msgstr "" +msgstr "Bulgarian" #: InvenTree/locales.py:19 msgid "Czech" -msgstr "" +msgstr "Czech" #: InvenTree/locales.py:20 msgid "Danish" -msgstr "" +msgstr "Danish" #: InvenTree/locales.py:21 msgid "German" -msgstr "" +msgstr "German" #: InvenTree/locales.py:22 msgid "Greek" -msgstr "" +msgstr "Greek" #: InvenTree/locales.py:23 msgid "English" -msgstr "" +msgstr "English" #: InvenTree/locales.py:24 msgid "Spanish" -msgstr "" +msgstr "Spanish" #: InvenTree/locales.py:25 msgid "Spanish (Mexican)" -msgstr "" +msgstr "Spanish (Mexican)" #: InvenTree/locales.py:26 msgid "Farsi / Persian" -msgstr "" +msgstr "Farsi / Persian" #: InvenTree/locales.py:27 msgid "Finnish" -msgstr "" +msgstr "Finnish" #: InvenTree/locales.py:28 msgid "French" -msgstr "" +msgstr "French" #: InvenTree/locales.py:29 msgid "Hebrew" -msgstr "" +msgstr "Hebrew" #: InvenTree/locales.py:30 msgid "Hindi" -msgstr "" +msgstr "Hindi" #: InvenTree/locales.py:31 msgid "Hungarian" -msgstr "" +msgstr "Hungarian" #: InvenTree/locales.py:32 msgid "Italian" -msgstr "" +msgstr "Italian" #: InvenTree/locales.py:33 msgid "Japanese" -msgstr "" +msgstr "Japanese" #: InvenTree/locales.py:34 msgid "Korean" -msgstr "" +msgstr "Korean" #: InvenTree/locales.py:35 msgid "Latvian" -msgstr "" +msgstr "Latvian" #: InvenTree/locales.py:36 msgid "Dutch" -msgstr "" +msgstr "Dutch" #: InvenTree/locales.py:37 msgid "Norwegian" -msgstr "" +msgstr "Norwegian" #: InvenTree/locales.py:38 msgid "Polish" -msgstr "" +msgstr "Polish" #: InvenTree/locales.py:39 msgid "Portuguese" -msgstr "" +msgstr "Portuguese" #: InvenTree/locales.py:40 msgid "Portuguese (Brazilian)" -msgstr "" +msgstr "Portuguese (Brazilian)" #: InvenTree/locales.py:41 msgid "Romanian" @@ -301,107 +301,107 @@ msgstr "" #: InvenTree/locales.py:42 msgid "Russian" -msgstr "" +msgstr "Russian" #: InvenTree/locales.py:43 msgid "Slovak" -msgstr "" +msgstr "Slovak" #: InvenTree/locales.py:44 msgid "Slovenian" -msgstr "" +msgstr "Slovenian" #: InvenTree/locales.py:45 msgid "Serbian" -msgstr "" +msgstr "Serbian" #: InvenTree/locales.py:46 msgid "Swedish" -msgstr "" +msgstr "Swedish" #: InvenTree/locales.py:47 msgid "Thai" -msgstr "" +msgstr "Thai" #: InvenTree/locales.py:48 msgid "Turkish" -msgstr "" +msgstr "Turkish" #: InvenTree/locales.py:49 msgid "Ukrainian" -msgstr "" +msgstr "乌克兰语" #: InvenTree/locales.py:50 msgid "Vietnamese" -msgstr "" +msgstr "Vietnamese" #: InvenTree/locales.py:51 msgid "Chinese (Simplified)" -msgstr "" +msgstr "中文 (简体)" #: InvenTree/locales.py:52 msgid "Chinese (Traditional)" -msgstr "" +msgstr "中文 (繁体)" #: InvenTree/magic_login.py:28 #, python-brace-format msgid "[{site_name}] Log in to the app" -msgstr "" +msgstr "[{site_name}] 登录到应用程序" #: InvenTree/magic_login.py:38 InvenTree/serializers.py:415 #: company/models.py:136 company/templates/company/company_base.html:138 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:677 msgid "Email" -msgstr "" +msgstr "电子邮件" #: InvenTree/models.py:105 msgid "Error running plugin validation" -msgstr "" +msgstr "驗證外掛程式時發生錯誤" #: InvenTree/models.py:174 msgid "Metadata must be a python dict object" -msgstr "" +msgstr "Metadata必須是一個Python Dictionary物件" #: InvenTree/models.py:180 msgid "Plugin Metadata" -msgstr "" +msgstr "外掛程式Metadata" #: InvenTree/models.py:181 msgid "JSON metadata field, for use by external plugins" -msgstr "" +msgstr "外掛程式使用的JSON Metadata欄位" #: InvenTree/models.py:411 msgid "Improperly formatted pattern" -msgstr "" +msgstr "格式錯誤" #: InvenTree/models.py:418 msgid "Unknown format key specified" -msgstr "" +msgstr "指定了不明的格式鍵值" #: InvenTree/models.py:424 msgid "Missing required format key" -msgstr "" +msgstr "缺少必須的格式鍵值" #: InvenTree/models.py:435 msgid "Reference field cannot be empty" -msgstr "" +msgstr "參考欄位不能空白" #: InvenTree/models.py:443 msgid "Reference must match required pattern" -msgstr "" +msgstr "參考欄位並須符合格式" #: InvenTree/models.py:474 msgid "Reference number is too large" -msgstr "" +msgstr "參考編號過大" #: InvenTree/models.py:722 msgid "Duplicate names cannot exist under the same parent" -msgstr "" +msgstr "同一個上層元件下不能有重複的名字" #: InvenTree/models.py:739 msgid "Invalid choice" -msgstr "" +msgstr "無效的選項" #: InvenTree/models.py:769 common/models.py:2659 common/models.py:3089 #: common/serializers.py:412 company/models.py:587 machine/models.py:24 @@ -421,7 +421,7 @@ msgstr "" #: templates/js/translated/part.js:1478 templates/js/translated/part.js:1614 #: templates/js/translated/part.js:2752 templates/js/translated/stock.js:2716 msgid "Name" -msgstr "" +msgstr "名稱" #: InvenTree/models.py:775 build/models.py:242 #: build/templates/build/detail.html:24 common/models.py:143 @@ -458,63 +458,63 @@ msgstr "" #: 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 "描述" #: InvenTree/models.py:776 stock/models.py:81 msgid "Description (optional)" -msgstr "" +msgstr "描述(選填)" #: InvenTree/models.py:791 templates/js/translated/part.js:2797 #: templates/js/translated/stock.js:2757 msgid "Path" -msgstr "" +msgstr "路徑" #: InvenTree/models.py:921 msgid "Markdown notes (optional)" -msgstr "" +msgstr "Markdown 註記(選填)" #: InvenTree/models.py:950 msgid "Barcode Data" -msgstr "" +msgstr "條碼資料" #: InvenTree/models.py:951 msgid "Third party barcode data" -msgstr "" +msgstr "第三方條碼資料" #: InvenTree/models.py:957 msgid "Barcode Hash" -msgstr "" +msgstr "條碼雜湊值" #: InvenTree/models.py:958 msgid "Unique hash of barcode data" -msgstr "" +msgstr "條碼資料的唯一雜湊值" #: InvenTree/models.py:1011 msgid "Existing barcode found" -msgstr "" +msgstr "發現現有條碼" #: InvenTree/models.py:1054 msgid "Server Error" -msgstr "" +msgstr "伺服器錯誤" #: InvenTree/models.py:1055 msgid "An error has been logged by the server." -msgstr "" +msgstr "伺服器紀錄了一個錯誤。" #: InvenTree/serializers.py:63 part/models.py:4277 msgid "Must be a valid number" -msgstr "" +msgstr "必須是有效的數字" #: InvenTree/serializers.py:100 company/models.py:186 #: company/templates/company/company_base.html:112 part/models.py:3011 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" -msgstr "" +msgstr "貨幣" #: InvenTree/serializers.py:103 msgid "Select currency from available options" -msgstr "" +msgstr "從可用選項中選擇貨幣" #: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:33 msgid "Username" @@ -575,145 +575,145 @@ msgstr "" #: InvenTree/serializers.py:463 msgid "You do not have permission to change this user role." -msgstr "" +msgstr "您沒有更改這個使用者角色的權限" #: InvenTree/serializers.py:475 msgid "Only superusers can create new users" -msgstr "" +msgstr "只有管理員帳戶可以建立新的使用者" #: InvenTree/serializers.py:494 msgid "Your account has been created." -msgstr "" +msgstr "您的帳號已經建立完成。" #: InvenTree/serializers.py:496 msgid "Please use the password reset function to login" -msgstr "" +msgstr "請使用重設密碼功能來登入" #: InvenTree/serializers.py:503 msgid "Welcome to InvenTree" -msgstr "" +msgstr "歡迎使用 InvenTree" #: InvenTree/serializers.py:561 msgid "Invalid value" -msgstr "" +msgstr "无效值" #: InvenTree/serializers.py:581 importer/models.py:60 msgid "Data File" -msgstr "" +msgstr "数据文件" #: InvenTree/serializers.py:582 msgid "Select data file for upload" -msgstr "" +msgstr "选择要上传的数据文件" #: InvenTree/serializers.py:599 msgid "Unsupported file type" -msgstr "" +msgstr "不支持的文件类型" #: InvenTree/serializers.py:605 msgid "File is too large" -msgstr "" +msgstr "文件过大" #: InvenTree/serializers.py:626 msgid "No columns found in file" -msgstr "" +msgstr "在文件中没有找到列" #: InvenTree/serializers.py:629 msgid "No data rows found in file" -msgstr "" +msgstr "在文件中没有找到数据行" #: InvenTree/serializers.py:742 msgid "No data rows provided" -msgstr "" +msgstr "没有提供数据行" #: InvenTree/serializers.py:745 msgid "No data columns supplied" -msgstr "" +msgstr "没有提供数据列" #: InvenTree/serializers.py:812 #, python-brace-format msgid "Missing required column: '{name}'" -msgstr "" +msgstr "缺少必需的列:'{name}'" #: InvenTree/serializers.py:821 #, python-brace-format msgid "Duplicate column: '{col}'" -msgstr "" +msgstr "重复列: '{col}'" #: InvenTree/serializers.py:861 msgid "Remote Image" -msgstr "" +msgstr "远程图片" #: InvenTree/serializers.py:862 msgid "URL of remote image file" -msgstr "" +msgstr "远程图片文件的 URL" #: InvenTree/serializers.py:880 msgid "Downloading images from remote URL is not enabled" -msgstr "" +msgstr "未启用从远程 URL下载图片" #: InvenTree/status.py:66 part/serializers.py:1202 msgid "Background worker check failed" -msgstr "" +msgstr "后台执行器检查失败" #: InvenTree/status.py:70 msgid "Email backend not configured" -msgstr "" +msgstr "未配置电子邮件后端" #: InvenTree/status.py:73 msgid "InvenTree system health checks failed" -msgstr "" +msgstr "InventTree 系统健康检查失败" #: InvenTree/templatetags/inventree_extras.py:184 msgid "Unknown database" -msgstr "" +msgstr "未知的資料庫" #: InvenTree/validators.py:32 InvenTree/validators.py:34 msgid "Invalid physical unit" -msgstr "" +msgstr "無效的物理單位" #: InvenTree/validators.py:40 msgid "Not a valid currency code" -msgstr "" +msgstr "無效的貨幣代碼" #: InvenTree/validators.py:118 InvenTree/validators.py:134 msgid "Overage value must not be negative" -msgstr "" +msgstr "損失值不能為負" #: InvenTree/validators.py:136 msgid "Overage must not exceed 100%" -msgstr "" +msgstr "損失率不能超過100%" #: InvenTree/validators.py:142 msgid "Invalid value for overage" -msgstr "" +msgstr "無效的損失值" #: InvenTree/views.py:400 templates/InvenTree/settings/user.html:23 msgid "Edit User Information" -msgstr "" +msgstr "編輯使用者資訊" #: InvenTree/views.py:412 templates/InvenTree/settings/user.html:20 msgid "Set Password" -msgstr "" +msgstr "設定密碼" #: InvenTree/views.py:434 msgid "Password fields must match" -msgstr "" +msgstr "密碼必須相符" #: InvenTree/views.py:442 msgid "Wrong password provided" -msgstr "" +msgstr "密碼錯誤" #: InvenTree/views.py:650 templates/navbar.html:160 msgid "System Information" -msgstr "" +msgstr "系統資訊" #: InvenTree/views.py:657 templates/navbar.html:171 msgid "About InvenTree" -msgstr "" +msgstr "關於InvenTree" #: build/api.py:248 msgid "Build must be cancelled before it can be deleted" -msgstr "" +msgstr "工單必須被取消才能被刪除" #: build/api.py:292 build/serializers.py:1190 part/models.py:4155 #: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 @@ -721,7 +721,7 @@ msgstr "" #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" -msgstr "" +msgstr "耗材" #: build/api.py:293 build/serializers.py:1191 part/models.py:4149 #: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 @@ -730,19 +730,19 @@ msgstr "" #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:587 msgid "Optional" -msgstr "" +msgstr "非必須項目" #: build/api.py:294 templates/js/translated/table_filters.js:408 #: templates/js/translated/table_filters.js:579 msgid "Tracked" -msgstr "" +msgstr "追蹤中" #: build/api.py:296 part/admin.py:144 templates/js/translated/build.js:1744 #: templates/js/translated/build.js:2630 #: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:571 msgid "Allocated" -msgstr "" +msgstr "已分配" #: build/api.py:304 company/models.py:879 company/serializers.py:386 #: company/templates/company/supplier_part.html:114 @@ -756,7 +756,7 @@ msgstr "" #: templates/js/translated/table_filters.js:340 #: templates/js/translated/table_filters.js:575 msgid "Available" -msgstr "" +msgstr "可用數量" #: build/models.py:85 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 @@ -765,7 +765,7 @@ msgstr "" #: templates/email/overdue_build_order.html:15 #: templates/js/translated/build.js:972 templates/js/translated/stock.js:2892 msgid "Build Order" -msgstr "" +msgstr "生產工單" #: build/models.py:86 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 @@ -776,7 +776,7 @@ msgstr "" #: templates/InvenTree/settings/sidebar.html:55 #: templates/js/translated/search.js:186 users/models.py:207 msgid "Build Orders" -msgstr "" +msgstr "生產工單" #: build/models.py:127 msgid "Assembly BOM has not been validated" @@ -792,19 +792,19 @@ msgstr "" #: build/models.py:155 msgid "Invalid choice for parent build" -msgstr "" +msgstr "無效的上層生產工單選擇" #: build/models.py:166 order/models.py:240 msgid "Responsible user or group must be specified" -msgstr "" +msgstr "必须指定负责的用户或组" #: build/models.py:172 msgid "Build order part cannot be changed" -msgstr "" +msgstr "無法更改生產工單" #: build/models.py:233 msgid "Build Order Reference" -msgstr "" +msgstr "生產工單代號" #: build/models.py:234 build/serializers.py:1189 order/models.py:463 #: order/models.py:926 order/models.py:1289 order/models.py:2046 @@ -820,20 +820,20 @@ msgstr "" #: templates/js/translated/return_order.js:728 #: templates/js/translated/sales_order.js:1854 msgid "Reference" -msgstr "" +msgstr "參考代號" #: build/models.py:245 msgid "Brief description of the build (optional)" -msgstr "" +msgstr "關於生產工單的簡單說明(選填)" #: build/models.py:253 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" -msgstr "" +msgstr "上層生產工單" #: build/models.py:254 msgid "BuildOrder to which this build is allocated" -msgstr "" +msgstr "這張生產工單對應的上層生產工單" #: build/models.py:259 build/serializers.py:1184 #: build/templates/build/build_base.html:97 @@ -885,103 +885,103 @@ msgstr "" #: templates/js/translated/stock.js:2857 templates/js/translated/stock.js:3090 #: templates/js/translated/stock.js:3236 msgid "Part" -msgstr "" +msgstr "零件" #: build/models.py:267 msgid "Select part to build" -msgstr "" +msgstr "選擇要生產的零件" #: build/models.py:272 msgid "Sales Order Reference" -msgstr "" +msgstr "銷售訂單代號" #: build/models.py:276 msgid "SalesOrder to which this build is allocated" -msgstr "" +msgstr "這張生產工單對應的銷售訂單" #: build/models.py:281 build/serializers.py:1003 #: templates/js/translated/build.js:1731 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" -msgstr "" +msgstr "來源倉儲地點" #: build/models.py:285 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" -msgstr "" +msgstr "選擇領取料件的倉儲地點(留白表示可以從任何地點領取)" #: build/models.py:290 msgid "Destination Location" -msgstr "" +msgstr "目標倉儲地點" #: build/models.py:294 msgid "Select location where the completed items will be stored" -msgstr "" +msgstr "选择已完成项目库存地点" #: build/models.py:298 msgid "Build Quantity" -msgstr "" +msgstr "生产数量" #: build/models.py:301 msgid "Number of stock items to build" -msgstr "" +msgstr "要生产的项目数量" #: build/models.py:305 msgid "Completed items" -msgstr "" +msgstr "已完成项目" #: build/models.py:307 msgid "Number of stock items which have been completed" -msgstr "" +msgstr "已經完成的庫存品數量" #: build/models.py:311 msgid "Build Status" -msgstr "" +msgstr "生產狀態" #: build/models.py:315 msgid "Build status code" -msgstr "" +msgstr "生產狀態代碼" #: build/models.py:324 build/serializers.py:290 order/serializers.py:629 #: stock/models.py:839 stock/serializers.py:76 stock/serializers.py:1524 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" -msgstr "" +msgstr "批号" #: build/models.py:328 build/serializers.py:291 msgid "Batch code for this build output" -msgstr "" +msgstr "此产出的批号" #: build/models.py:331 order/models.py:316 order/serializers.py:127 #: part/models.py:1125 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 "" +msgstr "建立日期" #: build/models.py:335 msgid "Target completion date" -msgstr "" +msgstr "目標完成日期" #: build/models.py:336 msgid "Target date for build completion. Build will be overdue after this date." -msgstr "" +msgstr "生產的預計完成日期。若超過此日期則工單會逾期。" #: build/models.py:339 order/models.py:521 order/models.py:2091 #: templates/js/translated/build.js:2247 msgid "Completion Date" -msgstr "" +msgstr "完成日期" #: build/models.py:345 msgid "completed by" -msgstr "" +msgstr "完成者" #: build/models.py:353 templates/js/translated/build.js:2207 msgid "Issued by" -msgstr "" +msgstr "發布者" #: build/models.py:354 msgid "User who issued this build order" -msgstr "" +msgstr "發布此生產工單的使用者" #: build/models.py:362 build/templates/build/build_base.html:204 #: build/templates/build/detail.html:122 common/models.py:152 @@ -996,11 +996,11 @@ msgstr "" #: templates/js/translated/return_order.js:358 #: templates/js/translated/table_filters.js:531 msgid "Responsible" -msgstr "" +msgstr "負責人" #: build/models.py:363 msgid "User or group responsible for this build order" -msgstr "" +msgstr "負責此生產工單的使用者或群組" #: build/models.py:368 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 @@ -1012,20 +1012,20 @@ msgstr "" #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1019 msgid "External Link" -msgstr "" +msgstr "外部連結" #: build/models.py:369 common/models.py:3230 part/models.py:960 #: stock/models.py:835 msgid "Link to external URL" -msgstr "" +msgstr "外部URL連結" #: build/models.py:373 msgid "Build Priority" -msgstr "" +msgstr "製造優先度" #: build/models.py:376 msgid "Priority of this build order" -msgstr "" +msgstr "此生產工單的優先程度" #: build/models.py:383 common/models.py:122 common/models.py:136 #: order/admin.py:18 order/models.py:298 order/serializers.py:108 @@ -1037,60 +1037,60 @@ msgstr "" #: templates/js/translated/table_filters.js:48 #: templates/project_code_data.html:6 msgid "Project Code" -msgstr "" +msgstr "專案代碼" #: build/models.py:384 msgid "Project code for this build order" -msgstr "" +msgstr "此生產工單隸屬的專案代碼" #: build/models.py:617 build/models.py:682 msgid "Failed to offload task to complete build allocations" -msgstr "" +msgstr "未能卸载任务以完成生产分配" #: build/models.py:639 #, python-brace-format msgid "Build order {build} has been completed" -msgstr "" +msgstr "生產工單 {build} 已經完成" #: build/models.py:645 msgid "A build order has been completed" -msgstr "" +msgstr "一張生產工單已經完成" #: build/models.py:871 build/models.py:956 msgid "No build output specified" -msgstr "" +msgstr "未指定产出" #: build/models.py:874 msgid "Build output is already completed" -msgstr "" +msgstr "产出已完成" #: build/models.py:877 msgid "Build output does not match Build Order" -msgstr "" +msgstr "产出与生产订单不匹配" #: build/models.py:960 build/serializers.py:223 build/serializers.py:272 #: build/serializers.py:870 order/models.py:559 order/serializers.py:461 #: order/serializers.py:624 part/serializers.py:1515 part/serializers.py:1921 #: stock/models.py:678 stock/models.py:1496 stock/serializers.py:661 msgid "Quantity must be greater than zero" -msgstr "" +msgstr "數量必須大於零" #: build/models.py:965 build/serializers.py:228 msgid "Quantity cannot be greater than the output quantity" -msgstr "" +msgstr "数量不能大于输出数量" #: build/models.py:1025 build/serializers.py:551 #, python-brace-format msgid "Build output {serial} has not passed all required tests" -msgstr "" +msgstr "产出 {serial} 未通过所有必要测试" #: build/models.py:1366 msgid "Build Order Line Item" -msgstr "" +msgstr "生产订单行项目" #: build/models.py:1391 msgid "Build object" -msgstr "" +msgstr "生产对象" #: build/models.py:1405 build/models.py:1661 build/serializers.py:210 #: build/serializers.py:257 build/serializers.py:1194 @@ -1138,36 +1138,36 @@ msgstr "" #: templates/js/translated/stock.js:873 templates/js/translated/stock.js:3021 #: templates/js/translated/stock.js:3104 msgid "Quantity" -msgstr "" +msgstr "數量" #: build/models.py:1406 msgid "Required quantity for build order" -msgstr "" +msgstr "生產工單所需數量" #: build/models.py:1486 msgid "Build item must specify a build output, as master part is marked as trackable" -msgstr "" +msgstr "生产项必须指定产出,因为主零件已经被标记为可追踪的" #: build/models.py:1495 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" -msgstr "" +msgstr "分配的數量({q})不能超過可用的庫存數量({a})" #: build/models.py:1505 order/models.py:1908 msgid "Stock item is over-allocated" -msgstr "" +msgstr "庫存品項超額分配" #: build/models.py:1511 order/models.py:1911 msgid "Allocation quantity must be greater than zero" -msgstr "" +msgstr "分配的數量必須大於零" #: build/models.py:1517 msgid "Quantity must be 1 for serialized stock" -msgstr "" +msgstr "有序號的品項數量必須為1" #: build/models.py:1576 msgid "Selected stock item does not match BOM line" -msgstr "" +msgstr "選擇的庫存品項和BOM的項目不符" #: build/models.py:1648 build/serializers.py:850 order/serializers.py:1227 #: order/serializers.py:1248 stock/models.py:359 stock/serializers.py:93 @@ -1185,23 +1185,23 @@ msgstr "" #: templates/js/translated/stock.js:677 templates/js/translated/stock.js:843 #: templates/js/translated/stock.js:2977 msgid "Stock Item" -msgstr "" +msgstr "庫存品項" #: build/models.py:1649 msgid "Source stock item" -msgstr "" +msgstr "來源庫存項目" #: build/models.py:1662 msgid "Stock quantity to allocate to build" -msgstr "" +msgstr "要分配的庫存數量" #: build/models.py:1670 msgid "Install into" -msgstr "" +msgstr "安裝到" #: build/models.py:1671 msgid "Destination stock item" -msgstr "" +msgstr "目的庫存品項" #: build/serializers.py:89 build/serializers.py:1185 part/admin.py:41 #: part/admin.py:405 part/models.py:3992 part/stocktake.py:220 @@ -1212,45 +1212,45 @@ msgstr "" #: build/serializers.py:160 build/serializers.py:879 #: templates/js/translated/build.js:1322 msgid "Build Output" -msgstr "" +msgstr "产出" #: build/serializers.py:172 msgid "Build output does not match the parent build" -msgstr "" +msgstr "产出与之前的生产不匹配" #: build/serializers.py:176 msgid "Output part does not match BuildOrder part" -msgstr "" +msgstr "产出零件与生产订单零件不匹配" #: build/serializers.py:180 msgid "This build output has already been completed" -msgstr "" +msgstr "此产出已经完成" #: build/serializers.py:191 msgid "This build output is not fully allocated" -msgstr "" +msgstr "此产出尚未完全分配" #: build/serializers.py:211 build/serializers.py:258 msgid "Enter quantity for build output" -msgstr "" +msgstr "输入产出数量" #: build/serializers.py:279 msgid "Integer quantity required for trackable parts" -msgstr "" +msgstr "可追蹤的零件數量必須為整數" #: build/serializers.py:282 msgid "Integer quantity required, as the bill of materials contains trackable parts" -msgstr "" +msgstr "因為BOM包含可追蹤的零件,所以數量必須為整數" #: build/serializers.py:297 order/serializers.py:637 order/serializers.py:1387 #: stock/serializers.py:672 templates/js/translated/purchase_order.js:1153 #: templates/js/translated/stock.js:367 templates/js/translated/stock.js:565 msgid "Serial Numbers" -msgstr "" +msgstr "序號" #: build/serializers.py:298 msgid "Enter serial numbers for build outputs" -msgstr "" +msgstr "输出产出的序列号" #: build/serializers.py:303 build/serializers.py:444 build/serializers.py:516 #: order/serializers.py:613 order/serializers.py:721 order/serializers.py:1714 @@ -1270,51 +1270,51 @@ msgstr "" #: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2201 #: templates/js/translated/stock.js:2871 msgid "Location" -msgstr "" +msgstr "地點" #: build/serializers.py:304 msgid "Stock location for build output" -msgstr "" +msgstr "生产输出的库存地点" #: build/serializers.py:318 msgid "Auto Allocate Serial Numbers" -msgstr "" +msgstr "自動分配序號" #: build/serializers.py:319 msgid "Automatically allocate required items with matching serial numbers" -msgstr "" +msgstr "自動為需要項目分配對應的序號" #: build/serializers.py:334 msgid "Serial numbers must be provided for trackable parts" -msgstr "" +msgstr "对于可跟踪的零件,必须提供序列号" #: build/serializers.py:359 stock/api.py:1033 msgid "The following serial numbers already exist or are invalid" -msgstr "" +msgstr "序號已存在或無效" #: build/serializers.py:406 build/serializers.py:468 build/serializers.py:557 msgid "A list of build outputs must be provided" -msgstr "" +msgstr "必须提供产出清单" #: build/serializers.py:445 msgid "Stock location for scrapped outputs" -msgstr "" +msgstr "废品产出的库存位置" #: build/serializers.py:451 msgid "Discard Allocations" -msgstr "" +msgstr "放棄分配" #: build/serializers.py:452 msgid "Discard any stock allocations for scrapped outputs" -msgstr "" +msgstr "取消对废品产出的任何库存分配" #: build/serializers.py:457 msgid "Reason for scrapping build output(s)" -msgstr "" +msgstr "废品产出的原因" #: build/serializers.py:517 msgid "Location for completed build outputs" -msgstr "" +msgstr "已完成删除的库存地点" #: build/serializers.py:523 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:950 @@ -1329,164 +1329,164 @@ msgstr "" #: templates/js/translated/stock.js:2176 templates/js/translated/stock.js:2995 #: templates/js/translated/stock.js:3120 msgid "Status" -msgstr "" +msgstr "狀態" #: build/serializers.py:529 msgid "Accept Incomplete Allocation" -msgstr "" +msgstr "接受不完整的分配" #: build/serializers.py:530 msgid "Complete outputs if stock has not been fully allocated" -msgstr "" +msgstr "如果库存尚未全部分配,则完成产出" #: build/serializers.py:615 msgid "Consume Allocated Stock" -msgstr "" +msgstr "消费已分配的库存" #: build/serializers.py:616 msgid "Consume any stock which has already been allocated to this build" -msgstr "" +msgstr "消耗已分配给此生产的任何库存" #: build/serializers.py:622 msgid "Remove Incomplete Outputs" -msgstr "" +msgstr "移除未完成的产出" #: build/serializers.py:623 msgid "Delete any build outputs which have not been completed" -msgstr "" +msgstr "删除所有未完成的产出" #: build/serializers.py:650 msgid "Not permitted" -msgstr "" +msgstr "不允许" #: build/serializers.py:651 msgid "Accept as consumed by this build order" -msgstr "" +msgstr "接受作为此生产订单的消费" #: build/serializers.py:652 msgid "Deallocate before completing this build order" -msgstr "" +msgstr "完成此生产订单前取消分配" #: build/serializers.py:682 msgid "Overallocated Stock" -msgstr "" +msgstr "超出分配的库存" #: build/serializers.py:684 msgid "How do you want to handle extra stock items assigned to the build order" -msgstr "" +msgstr "如何处理分配给生产订单的额外库存项" #: build/serializers.py:694 msgid "Some stock items have been overallocated" -msgstr "" +msgstr "有库存项目已被过度分配" #: build/serializers.py:699 msgid "Accept Unallocated" -msgstr "" +msgstr "接受未分配" #: build/serializers.py:700 msgid "Accept that stock items have not been fully allocated to this build order" -msgstr "" +msgstr "接受库存项未被完全分配至生产订单" #: build/serializers.py:710 templates/js/translated/build.js:315 msgid "Required stock has not been fully allocated" -msgstr "" +msgstr "所需库存尚未完全分配" #: build/serializers.py:715 order/serializers.py:319 order/serializers.py:1290 msgid "Accept Incomplete" -msgstr "" +msgstr "接受不完整" #: build/serializers.py:716 msgid "Accept that the required number of build outputs have not been completed" -msgstr "" +msgstr "允许所需数量的产出未完成" #: build/serializers.py:726 templates/js/translated/build.js:319 msgid "Required build quantity has not been completed" -msgstr "" +msgstr "未完成所需生产数量" #: build/serializers.py:735 templates/js/translated/build.js:303 msgid "Build order has incomplete outputs" -msgstr "" +msgstr "生产订单有未完成的产出" #: build/serializers.py:773 msgid "Build Line" -msgstr "" +msgstr "生产行" #: build/serializers.py:783 msgid "Build output" -msgstr "" +msgstr "产出" #: build/serializers.py:791 msgid "Build output must point to the same build" -msgstr "" +msgstr "生产产出必须指向相同的生产" #: build/serializers.py:827 msgid "Build Line Item" -msgstr "" +msgstr "生产行项目" #: build/serializers.py:841 msgid "bom_item.part must point to the same part as the build order" -msgstr "" +msgstr "bom_item.part 必须与生产订单零件相同" #: build/serializers.py:856 stock/serializers.py:1256 msgid "Item must be in stock" -msgstr "" +msgstr "商品必須有庫存" #: build/serializers.py:904 order/serializers.py:1281 #, python-brace-format msgid "Available quantity ({q}) exceeded" -msgstr "" +msgstr "可用量 ({q}) 超出限制" #: build/serializers.py:910 msgid "Build output must be specified for allocation of tracked parts" -msgstr "" +msgstr "对于被追踪的零件的分配,必须指定生产产出" #: build/serializers.py:917 msgid "Build output cannot be specified for allocation of untracked parts" -msgstr "" +msgstr "对于未被追踪的零件,无法指定生产产出" #: build/serializers.py:941 order/serializers.py:1533 msgid "Allocation items must be provided" -msgstr "" +msgstr "必须提供分配项目" #: build/serializers.py:1004 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" -msgstr "" +msgstr "零件来源的库存地点(留空则可来源于任何库存地点)" #: build/serializers.py:1012 msgid "Exclude Location" -msgstr "" +msgstr "排除位置" #: build/serializers.py:1013 msgid "Exclude stock items from this selected location" -msgstr "" +msgstr "从该选定的库存地点排除库存项" #: build/serializers.py:1018 msgid "Interchangeable Stock" -msgstr "" +msgstr "可互換庫存" #: build/serializers.py:1019 msgid "Stock items in multiple locations can be used interchangeably" -msgstr "" +msgstr "在多个位置的库存项目可以互换使用" #: build/serializers.py:1024 msgid "Substitute Stock" -msgstr "" +msgstr "替代品库存" #: build/serializers.py:1025 msgid "Allow allocation of substitute parts" -msgstr "" +msgstr "允许分配可替换的零件" #: build/serializers.py:1030 msgid "Optional Items" -msgstr "" +msgstr "可选项目" #: build/serializers.py:1031 msgid "Allocate optional BOM items to build order" -msgstr "" +msgstr "分配可选的物料清单给生产订单" #: build/serializers.py:1053 msgid "Failed to start auto-allocation task" -msgstr "" +msgstr "启动自动分配任务失败" #: build/serializers.py:1095 msgid "Supplier Part Number" @@ -1523,11 +1523,11 @@ msgstr "" #: build/serializers.py:1196 part/models.py:4000 part/models.py:4472 #: stock/api.py:796 msgid "BOM Item" -msgstr "" +msgstr "物料清单项" #: build/serializers.py:1205 templates/js/translated/index.js:130 msgid "Allocated Stock" -msgstr "" +msgstr "分配库存" #: build/serializers.py:1210 part/admin.py:132 part/bom.py:173 #: part/serializers.py:856 part/serializers.py:1533 @@ -1536,19 +1536,19 @@ msgstr "" #: templates/js/translated/part.js:2152 #: templates/js/translated/table_filters.js:170 msgid "On Order" -msgstr "" +msgstr "已订购" #: build/serializers.py:1215 part/serializers.py:1535 #: templates/js/translated/build.js:2618 #: templates/js/translated/table_filters.js:360 msgid "In Production" -msgstr "" +msgstr "生产中" #: build/serializers.py:1220 part/bom.py:172 part/serializers.py:1558 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" -msgstr "" +msgstr "可用库存" #: build/serializers.py:1224 msgid "Available Substitute Stock" @@ -1570,16 +1570,16 @@ msgstr "" #: order/status_codes.py:37 order/status_codes.py:64 order/status_codes.py:82 #: templates/js/translated/table_filters.js:598 msgid "Pending" -msgstr "" +msgstr "待定" #: build/status_codes.py:12 msgid "Production" -msgstr "" +msgstr "生產" #: build/status_codes.py:13 order/status_codes.py:15 order/status_codes.py:45 #: order/status_codes.py:70 msgid "Cancelled" -msgstr "" +msgstr "已取消" #: build/status_codes.py:14 generic/states/tests.py:19 importer/models.py:468 #: importer/status_codes.py:19 order/status_codes.py:14 @@ -1587,24 +1587,24 @@ msgstr "" #: order/templates/order/order_base.html:158 #: order/templates/order/sales_order_base.html:165 report/models.py:444 msgid "Complete" -msgstr "" +msgstr "完成" #: build/tasks.py:184 msgid "Stock required for build order" -msgstr "" +msgstr "生产订单所需库存" #: build/tasks.py:201 msgid "Overdue Build Order" -msgstr "" +msgstr "逾期的生产订单" #: build/tasks.py:206 #, python-brace-format msgid "Build order {bo} is now overdue" -msgstr "" +msgstr "生产订单 {bo} 现已逾期" #: build/templates/build/build_base.html:18 msgid "Part thumbnail" -msgstr "" +msgstr "零件缩略图" #: build/templates/build/build_base.html:38 #: company/templates/company/supplier_part.html:35 @@ -1616,7 +1616,7 @@ msgstr "" #: stock/templates/stock/location.html:55 #: templates/js/translated/filters.js:335 msgid "Barcode actions" -msgstr "" +msgstr "条形码操作" #: build/templates/build/build_base.html:42 #: company/templates/company/supplier_part.html:39 @@ -1627,7 +1627,7 @@ msgstr "" #: stock/templates/stock/item_base.html:44 #: stock/templates/stock/location.html:57 templates/qr_button.html:1 msgid "Show QR Code" -msgstr "" +msgstr "显示二维码" #: build/templates/build/build_base.html:45 #: company/templates/company/supplier_part.html:41 @@ -1640,7 +1640,7 @@ msgstr "" #: templates/js/translated/barcode.js:496 #: templates/js/translated/barcode.js:501 msgid "Unlink Barcode" -msgstr "" +msgstr "取消关联条形码" #: build/templates/build/build_base.html:47 #: company/templates/company/supplier_part.html:43 @@ -1651,67 +1651,67 @@ msgstr "" #: stock/templates/stock/item_base.html:49 #: stock/templates/stock/location.html:61 msgid "Link Barcode" -msgstr "" +msgstr "关联条形码" #: build/templates/build/build_base.html:56 #: order/templates/order/order_base.html:46 #: order/templates/order/return_order_base.html:55 #: order/templates/order/sales_order_base.html:55 msgid "Print actions" -msgstr "" +msgstr "打印操作" #: build/templates/build/build_base.html:60 msgid "Print build order report" -msgstr "" +msgstr "打印生产订单报告" #: build/templates/build/build_base.html:67 msgid "Build actions" -msgstr "" +msgstr "生产操作" #: build/templates/build/build_base.html:71 msgid "Edit Build" -msgstr "" +msgstr "编辑生产操作" #: build/templates/build/build_base.html:73 msgid "Cancel Build" -msgstr "" +msgstr "取消生产操作" #: build/templates/build/build_base.html:76 msgid "Duplicate Build" -msgstr "" +msgstr "复制生产操作" #: build/templates/build/build_base.html:79 msgid "Delete Build" -msgstr "" +msgstr "删除生产操作" #: build/templates/build/build_base.html:84 #: build/templates/build/build_base.html:85 msgid "Complete Build" -msgstr "" +msgstr "生产操作完成" #: build/templates/build/build_base.html:107 msgid "Build Description" -msgstr "" +msgstr "生产操作描述" #: build/templates/build/build_base.html:117 msgid "No build outputs have been created for this build order" -msgstr "" +msgstr "没有为此生产订单创建生产产出" #: build/templates/build/build_base.html:124 msgid "Build Order is ready to mark as completed" -msgstr "" +msgstr "生产订单已准备好标记为已完成" #: build/templates/build/build_base.html:129 msgid "Build Order cannot be completed as outstanding outputs remain" -msgstr "" +msgstr "由于仍有未完成的产出,生产订单无法完成" #: build/templates/build/build_base.html:134 msgid "Required build quantity has not yet been completed" -msgstr "" +msgstr "未完成所需生产数量" #: build/templates/build/build_base.html:139 msgid "Stock has not been fully allocated to this Build Order" -msgstr "" +msgstr "库存尚未被完全分配到此生产订单" #: build/templates/build/build_base.html:160 #: build/templates/build/detail.html:138 order/models.py:309 @@ -1728,12 +1728,12 @@ msgstr "" #: templates/js/translated/sales_order.js:871 #: templates/js/translated/sales_order.js:1903 msgid "Target Date" -msgstr "" +msgstr "预计日期" #: build/templates/build/build_base.html:165 #, python-format msgid "This build was due on %(target)s" -msgstr "" +msgstr "此次生产的截止日期为 %(target)s" #: build/templates/build/build_base.html:165 #: build/templates/build/build_base.html:222 @@ -1745,12 +1745,12 @@ msgstr "" #: templates/js/translated/table_filters.js:626 #: templates/js/translated/table_filters.js:667 msgid "Overdue" -msgstr "" +msgstr "逾期" #: build/templates/build/build_base.html:177 #: build/templates/build/detail.html:67 build/templates/build/sidebar.html:13 msgid "Completed Outputs" -msgstr "" +msgstr "产出已完成" #: build/templates/build/build_base.html:190 #: build/templates/build/detail.html:101 order/api.py:1384 order/models.py:845 @@ -1766,56 +1766,56 @@ msgstr "" #: templates/js/translated/sales_order.js:1028 #: templates/js/translated/stock.js:2924 msgid "Sales Order" -msgstr "" +msgstr "销售订单" #: build/templates/build/build_base.html:197 #: build/templates/build/detail.html:115 #: report/templates/report/inventree_build_order_report.html:152 #: templates/js/translated/table_filters.js:24 msgid "Issued By" -msgstr "" +msgstr "发布者" #: build/templates/build/build_base.html:211 #: build/templates/build/detail.html:94 templates/js/translated/build.js:2156 msgid "Priority" -msgstr "" +msgstr "優先等級" #: build/templates/build/build_base.html:269 msgid "Delete Build Order" -msgstr "" +msgstr "删除生产订单" #: build/templates/build/build_base.html:279 msgid "Build Order QR Code" -msgstr "" +msgstr "生产订单二维码" #: build/templates/build/build_base.html:291 msgid "Link Barcode to Build Order" -msgstr "" +msgstr "将条形码链接到生产订单" #: build/templates/build/detail.html:15 msgid "Build Details" -msgstr "" +msgstr "生产详情" #: build/templates/build/detail.html:38 msgid "Stock Source" -msgstr "" +msgstr "库存来源" #: build/templates/build/detail.html:43 msgid "Stock can be taken from any available location." -msgstr "" +msgstr "库存可以从任何可用地点获得。" #: build/templates/build/detail.html:49 order/models.py:1448 #: templates/js/translated/purchase_order.js:2189 msgid "Destination" -msgstr "" +msgstr "目的地" #: build/templates/build/detail.html:56 msgid "Destination location not specified" -msgstr "" +msgstr "未指定目的地" #: build/templates/build/detail.html:73 msgid "Allocated Parts" -msgstr "" +msgstr "已分配的零件" #: build/templates/build/detail.html:80 stock/admin.py:162 #: stock/templates/stock/item_base.html:162 @@ -1827,7 +1827,7 @@ msgstr "" #: templates/js/translated/table_filters.js:313 #: templates/js/translated/table_filters.js:404 msgid "Batch" -msgstr "" +msgstr "队列" #: build/templates/build/detail.html:133 #: order/templates/order/order_base.html:173 @@ -1835,86 +1835,86 @@ msgstr "" #: order/templates/order/sales_order_base.html:190 #: templates/js/translated/build.js:2199 msgid "Created" -msgstr "" +msgstr "已创建" #: build/templates/build/detail.html:144 msgid "No target date set" -msgstr "" +msgstr "未设置目标日期" #: build/templates/build/detail.html:149 #: order/templates/order/sales_order_base.html:206 #: templates/js/translated/table_filters.js:689 msgid "Completed" -msgstr "" +msgstr "已完成" #: build/templates/build/detail.html:153 msgid "Build not complete" -msgstr "" +msgstr "生产未完成" #: build/templates/build/detail.html:164 build/templates/build/sidebar.html:17 msgid "Child Build Orders" -msgstr "" +msgstr "子生产订单" #: build/templates/build/detail.html:177 msgid "Allocate Stock to Build" -msgstr "" +msgstr "为生产分配库存" #: build/templates/build/detail.html:181 msgid "Deallocate stock" -msgstr "" +msgstr "取消库存分配" #: build/templates/build/detail.html:182 msgid "Deallocate Stock" -msgstr "" +msgstr "取消库存分配" #: build/templates/build/detail.html:184 msgid "Automatically allocate stock to build" -msgstr "" +msgstr "自动分配库存以生产" #: build/templates/build/detail.html:185 msgid "Auto Allocate" -msgstr "" +msgstr "自動分配" #: build/templates/build/detail.html:187 msgid "Manually allocate stock to build" -msgstr "" +msgstr "手動分配庫存進行生產" #: build/templates/build/detail.html:188 build/templates/build/sidebar.html:8 msgid "Allocate Stock" -msgstr "" +msgstr "分配庫存" #: build/templates/build/detail.html:191 msgid "Order required parts" -msgstr "" +msgstr "订单所需零件" #: build/templates/build/detail.html:192 #: templates/js/translated/purchase_order.js:795 msgid "Order Parts" -msgstr "" +msgstr "订购零件" #: build/templates/build/detail.html:205 msgid "Available stock has been filtered based on specified source location for this build order" -msgstr "" +msgstr "可用库存已根据此生产订单指定的来源位置进行筛选" #: build/templates/build/detail.html:215 msgid "Incomplete Build Outputs" -msgstr "" +msgstr "未完成产出" #: build/templates/build/detail.html:219 msgid "Create new build output" -msgstr "" +msgstr "创建新的生产产出" #: build/templates/build/detail.html:220 msgid "New Build Output" -msgstr "" +msgstr "新建生产产出" #: build/templates/build/detail.html:237 build/templates/build/sidebar.html:15 msgid "Consumed Stock" -msgstr "" +msgstr "已消耗的库存" #: build/templates/build/detail.html:249 msgid "Completed Build Outputs" -msgstr "" +msgstr "已完成的产出" #: build/templates/build/detail.html:261 build/templates/build/sidebar.html:19 #: company/templates/company/detail.html:229 @@ -1930,121 +1930,121 @@ msgstr "" #: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:110 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" -msgstr "" +msgstr "附件" #: build/templates/build/detail.html:276 msgid "Build Notes" -msgstr "" +msgstr "生产备注" #: build/templates/build/detail.html:426 msgid "Allocation Complete" -msgstr "" +msgstr "分配完成" #: build/templates/build/detail.html:427 msgid "All lines have been fully allocated" -msgstr "" +msgstr "所有行项目已全部分配" #: build/templates/build/index.html:18 part/templates/part/detail.html:319 msgid "New Build Order" -msgstr "" +msgstr "新建生产订单" #: build/templates/build/sidebar.html:5 msgid "Build Order Details" -msgstr "" +msgstr "生产订单详情" #: build/templates/build/sidebar.html:10 msgid "Incomplete Outputs" -msgstr "" +msgstr "未完成的产出" #: common/api.py:690 msgid "Is Link" -msgstr "" +msgstr "是否链接" #: common/api.py:698 msgid "Is File" -msgstr "" +msgstr "是否为文件" #: common/api.py:740 msgid "User does not have permission to delete this attachment" -msgstr "" +msgstr "用户没有权限删除此附件" #: common/currency.py:132 msgid "Invalid currency code" -msgstr "" +msgstr "无效的货币代码" #: common/currency.py:134 msgid "Duplicate currency code" -msgstr "" +msgstr "重复的货币代码" #: common/currency.py:139 msgid "No valid currency codes provided" -msgstr "" +msgstr "未提供有效的货币代码" #: common/currency.py:156 msgid "No plugin" -msgstr "" +msgstr "暂无插件" #: common/files.py:63 #, python-brace-format msgid "Unsupported file format: {fmt}" -msgstr "" +msgstr "不支持的文件格式: {fmt}" #: common/files.py:65 msgid "Error reading file (invalid encoding)" -msgstr "" +msgstr "读取文件时发生错误 (无效编码)" #: common/files.py:70 msgid "Error reading file (invalid format)" -msgstr "" +msgstr "读取文件时发生错误 (无效格式)" #: common/files.py:72 msgid "Error reading file (incorrect dimension)" -msgstr "" +msgstr "读取文件时发生错误 (尺寸错误)" #: common/files.py:74 msgid "Error reading file (data could be corrupted)" -msgstr "" +msgstr "读取文件时发生错误 (数据可能已损坏)" #: common/forms.py:12 msgid "File" -msgstr "" +msgstr "檔案" #: common/forms.py:12 msgid "Select file to upload" -msgstr "" +msgstr "選擇要上傳的檔案" #: common/forms.py:25 msgid "{name.title()} File" -msgstr "" +msgstr "{name.title()} 文件" #: common/forms.py:26 #, python-brace-format msgid "Select {name} file to upload" -msgstr "" +msgstr "选择 {name} 文件上传" #: common/models.py:73 msgid "Updated" -msgstr "" +msgstr "已是最新" #: common/models.py:74 msgid "Timestamp of last update" -msgstr "" +msgstr "最后更新时间戳" #: common/models.py:107 msgid "Site URL is locked by configuration" -msgstr "" +msgstr "网站 URL 已配置为锁定" #: common/models.py:137 msgid "Unique project code" -msgstr "" +msgstr "唯一项目编码" #: common/models.py:144 msgid "Project description" -msgstr "" +msgstr "项目描述" #: common/models.py:153 msgid "User or group responsible for this project" -msgstr "" +msgstr "负责此项目的用户或群组" #: common/models.py:770 msgid "Settings key (must be unique - case insensitive)" @@ -2052,242 +2052,242 @@ msgstr "" #: common/models.py:774 msgid "Settings value" -msgstr "" +msgstr "设定值" #: common/models.py:826 msgid "Chosen value is not a valid option" -msgstr "" +msgstr "所选值不是一个有效的选项" #: common/models.py:842 msgid "Value must be a boolean value" -msgstr "" +msgstr "该值必须是布尔值" #: common/models.py:850 msgid "Value must be an integer value" -msgstr "" +msgstr "该值必须为整数" #: common/models.py:887 msgid "Key string must be unique" -msgstr "" +msgstr "键字符串必须是唯一的" #: common/models.py:1119 msgid "No group" -msgstr "" +msgstr "无分组" #: common/models.py:1218 msgid "Restart required" -msgstr "" +msgstr "需要重启" #: common/models.py:1220 msgid "A setting has been changed which requires a server restart" -msgstr "" +msgstr "设置已更改,需要服务器重启" #: common/models.py:1227 msgid "Pending migrations" -msgstr "" +msgstr "等待迁移" #: common/models.py:1228 msgid "Number of pending database migrations" -msgstr "" +msgstr "待处理的数据库迁移数" #: common/models.py:1233 msgid "Server Instance Name" -msgstr "" +msgstr "服务器实例名称" #: common/models.py:1235 msgid "String descriptor for the server instance" -msgstr "" +msgstr "服务器实例的字符串描述符" #: common/models.py:1239 msgid "Use instance name" -msgstr "" +msgstr "使用实例名称" #: common/models.py:1240 msgid "Use the instance name in the title-bar" -msgstr "" +msgstr "在标题栏中使用实例名称" #: common/models.py:1245 msgid "Restrict showing `about`" -msgstr "" +msgstr "限制显示 `关于` 信息" #: common/models.py:1246 msgid "Show the `about` modal only to superusers" -msgstr "" +msgstr "只向超级管理员显示关于信息" #: common/models.py:1251 company/models.py:111 company/models.py:112 msgid "Company name" -msgstr "" +msgstr "公司名称" #: common/models.py:1252 msgid "Internal company name" -msgstr "" +msgstr "内部公司名称" #: common/models.py:1256 msgid "Base URL" -msgstr "" +msgstr "基本 URL" #: common/models.py:1257 msgid "Base URL for server instance" -msgstr "" +msgstr "服务器实例的基准 URL" #: common/models.py:1263 msgid "Default Currency" -msgstr "" +msgstr "默认货币单位" #: common/models.py:1264 msgid "Select base currency for pricing calculations" -msgstr "" +msgstr "选择价格计算的默认货币" #: common/models.py:1270 msgid "Supported Currencies" -msgstr "" +msgstr "支持币种" #: common/models.py:1271 msgid "List of supported currency codes" -msgstr "" +msgstr "支持的货币代码列表" #: common/models.py:1277 msgid "Currency Update Interval" -msgstr "" +msgstr "货币更新间隔时间" #: common/models.py:1279 msgid "How often to update exchange rates (set to zero to disable)" -msgstr "" +msgstr "检查更新的频率(设置为零以禁用)" #: common/models.py:1282 common/models.py:1338 common/models.py:1351 #: common/models.py:1359 common/models.py:1368 common/models.py:1377 #: common/models.py:1601 common/models.py:1623 common/models.py:1738 #: common/models.py:2111 msgid "days" -msgstr "" +msgstr "天" #: common/models.py:1286 msgid "Currency Update Plugin" -msgstr "" +msgstr "币种更新插件" #: common/models.py:1287 msgid "Currency update plugin to use" -msgstr "" +msgstr "使用货币更新插件" #: common/models.py:1292 msgid "Download from URL" -msgstr "" +msgstr "从URL下载" #: common/models.py:1294 msgid "Allow download of remote images and files from external URL" -msgstr "" +msgstr "允许从外部 URL 下载远程图片和文件" #: common/models.py:1300 msgid "Download Size Limit" -msgstr "" +msgstr "下载大小限制" #: common/models.py:1301 msgid "Maximum allowable download size for remote image" -msgstr "" +msgstr "远程图片的最大允许下载大小" #: common/models.py:1307 msgid "User-agent used to download from URL" -msgstr "" +msgstr "用于从 URL 下载的 User-agent" #: common/models.py:1309 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" -msgstr "" +msgstr "允许覆盖用于从外部 URL 下载图片和文件的 user-agent(留空为默认值)" #: common/models.py:1314 msgid "Strict URL Validation" -msgstr "" +msgstr "严格的 URL 验证" #: common/models.py:1315 msgid "Require schema specification when validating URLs" -msgstr "" +msgstr "验证 URL 时需要 schema 规范" #: common/models.py:1320 msgid "Require confirm" -msgstr "" +msgstr "需要确认" #: common/models.py:1321 msgid "Require explicit user confirmation for certain action." -msgstr "" +msgstr "对某些操作需要用户明确确认。" #: common/models.py:1326 msgid "Tree Depth" -msgstr "" +msgstr "树深度" #: common/models.py:1328 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." -msgstr "" +msgstr "树视图的默认树深度。更深的层级可以在需要时延迟加载。" #: common/models.py:1334 msgid "Update Check Interval" -msgstr "" +msgstr "更新检查间隔" #: common/models.py:1335 msgid "How often to check for updates (set to zero to disable)" -msgstr "" +msgstr "检查更新的频率(设置为零以禁用)" #: common/models.py:1341 msgid "Automatic Backup" -msgstr "" +msgstr "自動備份" #: common/models.py:1342 msgid "Enable automatic backup of database and media files" -msgstr "" +msgstr "啟動資料庫和媒體文件自動備份" #: common/models.py:1347 msgid "Auto Backup Interval" -msgstr "" +msgstr "自動備份間隔" #: common/models.py:1348 msgid "Specify number of days between automated backup events" -msgstr "" +msgstr "指定自动备份之间的间隔天数" #: common/models.py:1354 msgid "Task Deletion Interval" -msgstr "" +msgstr "任务删除间隔" #: common/models.py:1356 msgid "Background task results will be deleted after specified number of days" -msgstr "" +msgstr "后台任务结果将在指定天数后删除" #: common/models.py:1363 msgid "Error Log Deletion Interval" -msgstr "" +msgstr "错误日志删除间隔" #: common/models.py:1365 msgid "Error logs will be deleted after specified number of days" -msgstr "" +msgstr "错误日志将在指定天数后被删除" #: common/models.py:1372 msgid "Notification Deletion Interval" -msgstr "" +msgstr "通知删除间隔" #: common/models.py:1374 msgid "User notifications will be deleted after specified number of days" -msgstr "" +msgstr "用户通知将在指定天数后被删除" #: common/models.py:1381 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" -msgstr "" +msgstr "条形码支持" #: common/models.py:1382 msgid "Enable barcode scanner support in the web interface" -msgstr "" +msgstr "在网页界面启用条形码扫描器支持" #: common/models.py:1387 msgid "Barcode Input Delay" -msgstr "" +msgstr "条形码扫描延迟设置" #: common/models.py:1388 msgid "Barcode input processing delay time" -msgstr "" +msgstr "条形码输入处理延迟时间" #: common/models.py:1394 msgid "Barcode Webcam Support" -msgstr "" +msgstr "条码摄像头支持" #: common/models.py:1395 msgid "Allow barcode scanning via webcam in browser" -msgstr "" +msgstr "允许通过网络摄像头扫描条形码" #: common/models.py:1400 msgid "Barcode Show Data" @@ -2299,39 +2299,39 @@ msgstr "" #: common/models.py:1406 msgid "Part Revisions" -msgstr "" +msgstr "零件修订" #: common/models.py:1407 msgid "Enable revision field for Part" -msgstr "" +msgstr "启用零件修订字段" #: common/models.py:1412 msgid "Allow Deletion from Assembly" -msgstr "" +msgstr "允许从装配中删除" #: common/models.py:1413 msgid "Allow deletion of parts which are used in an assembly" -msgstr "" +msgstr "允许删除已在装配中使用的零件" #: common/models.py:1418 msgid "IPN Regex" -msgstr "" +msgstr "IPN 内部零件号" #: common/models.py:1419 msgid "Regular expression pattern for matching Part IPN" -msgstr "" +msgstr "匹配零件 IPN(内部零件号)的正则表达式模式" #: common/models.py:1422 msgid "Allow Duplicate IPN" -msgstr "" +msgstr "允许重复的 IPN(内部零件号)" #: common/models.py:1423 msgid "Allow multiple parts to share the same IPN" -msgstr "" +msgstr "允许多个零件共享相同的 IPN(内部零件号)" #: common/models.py:1428 msgid "Allow Editing IPN" -msgstr "" +msgstr "允许编辑 IPN(内部零件号)" #: common/models.py:1429 msgid "Allow changing the IPN value while editing a part" @@ -2375,7 +2375,7 @@ msgstr "" #: templates/js/translated/table_filters.js:139 #: templates/js/translated/table_filters.js:772 msgid "Template" -msgstr "" +msgstr "模板" #: common/models.py:1459 msgid "Parts are templates by default" @@ -2395,7 +2395,7 @@ msgstr "" #: common/models.py:1470 part/admin.py:95 part/models.py:1062 #: templates/js/translated/table_filters.js:734 msgid "Component" -msgstr "" +msgstr "组件" #: common/models.py:1471 msgid "Parts can be used as sub-components by default" @@ -2443,7 +2443,7 @@ msgstr "" #: common/models.py:1506 msgid "Show related parts" -msgstr "" +msgstr "显示相关零件" #: common/models.py:1507 msgid "Display related parts for a part" @@ -2547,222 +2547,222 @@ msgstr "" #: common/models.py:1611 msgid "Active Variants Only" -msgstr "" +msgstr "仅限活跃变体" #: common/models.py:1613 msgid "Only use active variant parts for calculating variant pricing" -msgstr "" +msgstr "仅使用活跃变体零件计算变体价格" #: common/models.py:1619 msgid "Pricing Rebuild Interval" -msgstr "" +msgstr "价格重建间隔" #: common/models.py:1621 msgid "Number of days before part pricing is automatically updated" -msgstr "" +msgstr "零件价格自动更新前的天数" #: common/models.py:1628 msgid "Internal Prices" -msgstr "" +msgstr "内部价格" #: common/models.py:1629 msgid "Enable internal prices for parts" -msgstr "" +msgstr "启用内部零件价格" #: common/models.py:1634 msgid "Internal Price Override" -msgstr "" +msgstr "覆盖内部价格" #: common/models.py:1636 msgid "If available, internal prices override price range calculations" -msgstr "" +msgstr "如果有内部价格,内部价格将覆盖价格范围计算" #: common/models.py:1642 msgid "Enable label printing" -msgstr "" +msgstr "启用标签打印功能" #: common/models.py:1643 msgid "Enable label printing from the web interface" -msgstr "" +msgstr "启用从网络界面打印标签" #: common/models.py:1648 msgid "Label Image DPI" -msgstr "" +msgstr "标签图片 DPI" #: common/models.py:1650 msgid "DPI resolution when generating image files to supply to label printing plugins" -msgstr "" +msgstr "生成图像文件以供标签打印插件使用时的 DPI 分辨率" #: common/models.py:1656 msgid "Enable Reports" -msgstr "" +msgstr "启用报告" #: common/models.py:1657 msgid "Enable generation of reports" -msgstr "" +msgstr "启用报告生成" #: common/models.py:1662 templates/stats.html:25 msgid "Debug Mode" -msgstr "" +msgstr "调试模式" #: common/models.py:1663 msgid "Generate reports in debug mode (HTML output)" -msgstr "" +msgstr "以调试模式生成报告(HTML 输出)" #: common/models.py:1668 msgid "Log Report Errors" -msgstr "" +msgstr "日志错误报告" #: common/models.py:1669 msgid "Log errors which occur when generating reports" -msgstr "" +msgstr "记录生成报告时出现的错误" #: common/models.py:1674 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:302 msgid "Page Size" -msgstr "" +msgstr "页面大小" #: common/models.py:1675 msgid "Default page size for PDF reports" -msgstr "" +msgstr "PDF 报告默认页面大小" #: common/models.py:1680 msgid "Enable Test Reports" -msgstr "" +msgstr "启用测试报告" #: common/models.py:1681 msgid "Enable generation of test reports" -msgstr "" +msgstr "启用生成测试报表" #: common/models.py:1686 msgid "Attach Test Reports" -msgstr "" +msgstr "添加测试报告" #: common/models.py:1688 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" -msgstr "" +msgstr "在打印测试报告时,将测试报告副本附加到相关的库存项" #: common/models.py:1694 msgid "Globally Unique Serials" -msgstr "" +msgstr "全局唯一序列号" #: common/models.py:1695 msgid "Serial numbers for stock items must be globally unique" -msgstr "" +msgstr "库存项的序列号必须全局唯一" #: common/models.py:1700 msgid "Autofill Serial Numbers" -msgstr "" +msgstr "自动填充序列号" #: common/models.py:1701 msgid "Autofill serial numbers in forms" -msgstr "" +msgstr "在表格中自动填充序列号" #: common/models.py:1706 msgid "Delete Depleted Stock" -msgstr "" +msgstr "删除已耗尽的库存" #: common/models.py:1708 msgid "Determines default behavior when a stock item is depleted" -msgstr "" +msgstr "设置库存耗尽时的默认行为" #: common/models.py:1714 msgid "Batch Code Template" -msgstr "" +msgstr "批号模板" #: common/models.py:1716 msgid "Template for generating default batch codes for stock items" -msgstr "" +msgstr "为库存项生成默认批号的模板" #: common/models.py:1721 msgid "Stock Expiry" -msgstr "" +msgstr "库存过期" #: common/models.py:1722 msgid "Enable stock expiry functionality" -msgstr "" +msgstr "启用库存过期功能" #: common/models.py:1727 msgid "Sell Expired Stock" -msgstr "" +msgstr "销售过期库存" #: common/models.py:1728 msgid "Allow sale of expired stock" -msgstr "" +msgstr "允许销售过期库存" #: common/models.py:1733 msgid "Stock Stale Time" -msgstr "" +msgstr "库存过期时间" #: common/models.py:1735 msgid "Number of days stock items are considered stale before expiring" -msgstr "" +msgstr "库存项在到期前被视为过期的天数" #: common/models.py:1742 msgid "Build Expired Stock" -msgstr "" +msgstr "生产过期库存" #: common/models.py:1743 msgid "Allow building with expired stock" -msgstr "" +msgstr "允许用过期的库存生产" #: common/models.py:1748 msgid "Stock Ownership Control" -msgstr "" +msgstr "库存所有权控制" #: common/models.py:1749 msgid "Enable ownership control over stock locations and items" -msgstr "" +msgstr "启用库存地点和项目的所有权控制" #: common/models.py:1754 msgid "Stock Location Default Icon" -msgstr "" +msgstr "库存地点默认图标" #: common/models.py:1755 msgid "Stock location default icon (empty means no icon)" -msgstr "" +msgstr "库存地点默认图标 (空表示没有图标)" #: common/models.py:1759 msgid "Show Installed Stock Items" -msgstr "" +msgstr "显示已安装的库存项" #: common/models.py:1760 msgid "Display installed stock items in stock tables" -msgstr "" +msgstr "在库存表中显示已安装的库存项" #: common/models.py:1765 msgid "Check BOM when installing items" -msgstr "" +msgstr "在安装项目时检查物料清单" #: common/models.py:1767 msgid "Installed stock items must exist in the BOM for the parent part" -msgstr "" +msgstr "已安装的库存项目必须存在于上级零件的物料清单中" #: common/models.py:1773 msgid "Allow Out of Stock Transfer" -msgstr "" +msgstr "允许超出库存转移" #: common/models.py:1775 msgid "Allow stock items which are not in stock to be transferred between stock locations" -msgstr "" +msgstr "允许非库存的库存项目在库存位置之间转移" #: common/models.py:1781 msgid "Build Order Reference Pattern" -msgstr "" +msgstr "生产订单参考模式" #: common/models.py:1783 msgid "Required pattern for generating Build Order reference field" -msgstr "" +msgstr "生成生产订单参考字段所需的模式" #: common/models.py:1789 common/models.py:1837 common/models.py:1859 #: common/models.py:1895 msgid "Require Responsible Owner" -msgstr "" +msgstr "要求负责人" #: common/models.py:1790 common/models.py:1838 common/models.py:1860 #: common/models.py:1896 msgid "A responsible owner must be assigned to each order" -msgstr "" +msgstr "必须为每个订单分配一个负责人" #: common/models.py:1795 msgid "Require Active Part" @@ -2790,87 +2790,87 @@ msgstr "" #: common/models.py:1815 msgid "Block Until Tests Pass" -msgstr "" +msgstr "阻止直到测试通过" #: common/models.py:1817 msgid "Prevent build outputs from being completed until all required tests pass" -msgstr "" +msgstr "在所有必要的测试通过之前,阻止产出完成" #: common/models.py:1823 msgid "Enable Return Orders" -msgstr "" +msgstr "启用订单退货" #: common/models.py:1824 msgid "Enable return order functionality in the user interface" -msgstr "" +msgstr "在用户界面中启用订单退货功能" #: common/models.py:1829 msgid "Return Order Reference Pattern" -msgstr "" +msgstr "退货订单参考模式" #: common/models.py:1831 msgid "Required pattern for generating Return Order reference field" -msgstr "" +msgstr "生成退货订单参考字段所需的模式" #: common/models.py:1843 msgid "Edit Completed Return Orders" -msgstr "" +msgstr "编辑已完成的退货订单" #: common/models.py:1845 msgid "Allow editing of return orders after they have been completed" -msgstr "" +msgstr "允许编辑已完成的退货订单" #: common/models.py:1851 msgid "Sales Order Reference Pattern" -msgstr "" +msgstr "销售订单参考模式" #: common/models.py:1853 msgid "Required pattern for generating Sales Order reference field" -msgstr "" +msgstr "生成销售订单参考字段所需参照模式" #: common/models.py:1865 msgid "Sales Order Default Shipment" -msgstr "" +msgstr "销售订单默认配送方式" #: common/models.py:1866 msgid "Enable creation of default shipment with sales orders" -msgstr "" +msgstr "启用创建销售订单的默认配送功能" #: common/models.py:1871 msgid "Edit Completed Sales Orders" -msgstr "" +msgstr "编辑已完成的销售订单" #: common/models.py:1873 msgid "Allow editing of sales orders after they have been shipped or completed" -msgstr "" +msgstr "允许在订单配送或完成后编辑销售订单" #: common/models.py:1879 msgid "Mark Shipped Orders as Complete" -msgstr "" +msgstr "标记该订单为已完成?" #: common/models.py:1881 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" -msgstr "" +msgstr "标记为已发货的销售订单将自动完成,绕过“已发货”状态" #: common/models.py:1887 msgid "Purchase Order Reference Pattern" -msgstr "" +msgstr "采购订单参考模式" #: common/models.py:1889 msgid "Required pattern for generating Purchase Order reference field" -msgstr "" +msgstr "生成采购订单参考字段所需的模式" #: common/models.py:1901 msgid "Edit Completed Purchase Orders" -msgstr "" +msgstr "编辑已完成的采购订单" #: common/models.py:1903 msgid "Allow editing of purchase orders after they have been shipped or completed" -msgstr "" +msgstr "允许在采购订单已配送或完成后编辑订单" #: common/models.py:1909 msgid "Auto Complete Purchase Orders" -msgstr "" +msgstr "自动完成采购订单" #: common/models.py:1911 msgid "Automatically mark purchase orders as complete when all line items are received" @@ -3520,7 +3520,7 @@ msgstr "" #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 msgid "User" -msgstr "" +msgstr "使用者" #: common/models.py:2545 msgid "Price break quantity" @@ -3638,7 +3638,7 @@ msgstr "" #: templates/js/translated/sales_order.js:1092 #: templates/js/translated/sales_order.js:2023 msgid "Link" -msgstr "" +msgstr "連結" #: common/models.py:2973 templates/js/translated/news.js:60 msgid "Published" @@ -3719,24 +3719,24 @@ msgstr "" #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" -msgstr "" +msgstr "附件" #: common/models.py:3175 msgid "Missing file" -msgstr "" +msgstr "缺少檔案" #: common/models.py:3176 msgid "Missing external link" -msgstr "" +msgstr "缺少外部連結" #: common/models.py:3221 msgid "Select file to attach" -msgstr "" +msgstr "選擇附件" #: common/models.py:3236 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" -msgstr "" +msgstr "註解" #: common/models.py:3237 msgid "Attachment comment" @@ -3858,7 +3858,7 @@ msgstr "" #: common/serializers.py:529 msgid "Filename" -msgstr "" +msgstr "檔案名稱" #: common/serializers.py:536 report/api.py:100 report/serializers.py:53 msgid "Model Type" @@ -3886,12 +3886,12 @@ msgstr "" #: common/validators.py:103 msgid "An empty domain is not allowed." -msgstr "" +msgstr "不允许空域。" #: common/validators.py:105 #, python-brace-format msgid "Invalid domain name: {domain}" -msgstr "" +msgstr "无效的域名: {domain}" #: 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 @@ -4546,7 +4546,7 @@ msgstr "" #: templates/js/translated/search.js:219 templates/navbar.html:62 #: users/models.py:209 msgid "Sales Orders" -msgstr "" +msgstr "銷售訂單" #: company/templates/company/detail.html:105 #: order/templates/order/sales_orders.html:20 @@ -4816,7 +4816,7 @@ msgstr "" #: generic/states/tests.py:18 order/status_codes.py:13 msgid "Placed" -msgstr "" +msgstr "放置" #: importer/mixins.py:263 msgid "Invalid export format" @@ -5375,7 +5375,7 @@ msgstr "" #: templates/js/translated/sales_order.js:1680 #: templates/js/translated/sales_order.js:1993 msgid "Shipped" -msgstr "" +msgstr "已配送" #: order/models.py:1595 msgid "Shipped quantity" @@ -5631,7 +5631,7 @@ msgstr "" #: order/serializers.py:630 templates/js/translated/purchase_order.js:1130 msgid "Enter batch code for incoming stock items" -msgstr "" +msgstr "输入入库项目的批号" #: order/serializers.py:638 templates/js/translated/purchase_order.js:1154 msgid "Enter serial numbers for incoming stock items" @@ -5723,35 +5723,35 @@ msgstr "" #: order/status_codes.py:16 order/status_codes.py:46 stock/status_codes.py:16 msgid "Lost" -msgstr "" +msgstr "丢失" #: order/status_codes.py:17 order/status_codes.py:47 stock/status_codes.py:22 msgid "Returned" -msgstr "" +msgstr "已退回" #: order/status_codes.py:40 order/status_codes.py:67 msgid "In Progress" -msgstr "" +msgstr "正在进行" #: order/status_codes.py:85 msgid "Return" -msgstr "" +msgstr "退回" #: order/status_codes.py:88 msgid "Repair" -msgstr "" +msgstr "維修" #: order/status_codes.py:91 msgid "Replace" -msgstr "" +msgstr "替換" #: order/status_codes.py:94 msgid "Refund" -msgstr "" +msgstr "退款" #: order/status_codes.py:97 msgid "Reject" -msgstr "" +msgstr "拒絕" #: order/tasks.py:25 msgid "Overdue Purchase Order" @@ -6242,7 +6242,7 @@ msgstr "" #: templates/js/translated/part.js:2807 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:203 msgid "Parts" -msgstr "" +msgstr "零件" #: part/admin.py:378 msgid "BOM Level" @@ -7959,7 +7959,7 @@ msgstr "" #: templates/js/translated/part.js:2395 templates/js/translated/stock.js:1059 #: templates/js/translated/stock.js:2070 templates/navbar.html:31 msgid "Stock" -msgstr "" +msgstr "庫存" #: part/templates/part/part_sidebar.html:30 #: templates/InvenTree/settings/sidebar.html:39 @@ -8083,7 +8083,7 @@ msgstr "" #: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:120 msgid "Low Stock" -msgstr "" +msgstr "低庫存" #: part/templates/part/upload_bom.html:8 msgid "Return to BOM" @@ -9342,7 +9342,7 @@ msgstr "" #: stock/models.py:843 stock/serializers.py:1525 msgid "Batch code for this stock item" -msgstr "" +msgstr "此库存项的批号" #: stock/models.py:848 msgid "Stock Quantity" @@ -9499,7 +9499,7 @@ msgstr "" #: stock/models.py:2464 msgid "Test output value" -msgstr "" +msgstr "测试输出值" #: stock/models.py:2472 msgid "Test result attachment" @@ -9798,131 +9798,131 @@ msgstr "" #: stock/status_codes.py:11 msgid "OK" -msgstr "" +msgstr "OK" #: stock/status_codes.py:12 msgid "Attention needed" -msgstr "" +msgstr "需要关注" #: stock/status_codes.py:13 msgid "Damaged" -msgstr "" +msgstr "破损" #: stock/status_codes.py:14 msgid "Destroyed" -msgstr "" +msgstr "销毁" #: stock/status_codes.py:15 msgid "Rejected" -msgstr "" +msgstr "拒绝" #: stock/status_codes.py:19 msgid "Quarantined" -msgstr "" +msgstr "隔离" #: stock/status_codes.py:40 msgid "Legacy stock tracking entry" -msgstr "" +msgstr "旧库存跟踪条目" #: stock/status_codes.py:42 templates/js/translated/stock.js:544 msgid "Stock item created" -msgstr "" +msgstr "库存项已创建" #: stock/status_codes.py:45 msgid "Edited stock item" -msgstr "" +msgstr "已编辑库存项" #: stock/status_codes.py:46 msgid "Assigned serial number" -msgstr "" +msgstr "已分配序列号" #: stock/status_codes.py:49 msgid "Stock counted" -msgstr "" +msgstr "库存计数" #: stock/status_codes.py:50 msgid "Stock manually added" -msgstr "" +msgstr "已手动添加库存" #: stock/status_codes.py:51 msgid "Stock manually removed" -msgstr "" +msgstr "已手动删除库存" #: stock/status_codes.py:54 msgid "Location changed" -msgstr "" +msgstr "地点已更改" #: stock/status_codes.py:55 msgid "Stock updated" -msgstr "" +msgstr "库存已更新" #: stock/status_codes.py:58 msgid "Installed into assembly" -msgstr "" +msgstr "已安装到装配中" #: stock/status_codes.py:59 msgid "Removed from assembly" -msgstr "" +msgstr "已从装配中删除" #: stock/status_codes.py:61 msgid "Installed component item" -msgstr "" +msgstr "已安装组件项" #: stock/status_codes.py:62 msgid "Removed component item" -msgstr "" +msgstr "已删除组件项" #: stock/status_codes.py:65 msgid "Split from parent item" -msgstr "" +msgstr "从上级项拆分" #: stock/status_codes.py:66 msgid "Split child item" -msgstr "" +msgstr "拆分子项" #: stock/status_codes.py:69 templates/js/translated/stock.js:1858 msgid "Merged stock items" -msgstr "" +msgstr "合并的库存项" #: stock/status_codes.py:72 msgid "Converted to variant" -msgstr "" +msgstr "转换为变体" #: stock/status_codes.py:75 msgid "Build order output created" -msgstr "" +msgstr "已创建生产订单产出" #: stock/status_codes.py:76 msgid "Build order output completed" -msgstr "" +msgstr "生产订单已出产" #: stock/status_codes.py:77 msgid "Build order output rejected" -msgstr "" +msgstr "生产订单产出被拒绝" #: stock/status_codes.py:78 templates/js/translated/stock.js:1764 msgid "Consumed by build order" -msgstr "" +msgstr "被工單消耗的" #: stock/status_codes.py:81 msgid "Shipped against Sales Order" -msgstr "" +msgstr "按銷售訂單出貨" #: stock/status_codes.py:84 msgid "Received against Purchase Order" -msgstr "" +msgstr "按採購訂單接收" #: stock/status_codes.py:87 msgid "Returned against Return Order" -msgstr "" +msgstr "按退貨訂單退回" #: stock/status_codes.py:90 templates/js/translated/table_filters.js:375 msgid "Sent to customer" -msgstr "" +msgstr "寄送給客戶" #: stock/status_codes.py:91 msgid "Returned from customer" -msgstr "" +msgstr "從客戶端退回" #: stock/templates/stock/item.html:17 msgid "Stock Tracking Information" @@ -11910,7 +11910,7 @@ msgstr "" #: templates/js/translated/build.js:244 msgid "There are incomplete outputs remaining for this build order" -msgstr "" +msgstr "此生产订单还有未完成的产出" #: templates/js/translated/build.js:296 msgid "Build order is ready to be completed" @@ -11918,7 +11918,7 @@ msgstr "" #: templates/js/translated/build.js:304 msgid "This build order cannot be completed as there are incomplete outputs" -msgstr "" +msgstr "由于产出不完整,无法完成此生产订单" #: templates/js/translated/build.js:309 msgid "Build Order is incomplete" @@ -11944,7 +11944,7 @@ msgstr "" #: templates/js/translated/build.js:380 msgid "Build outputs must be generated individually" -msgstr "" +msgstr "必须单独生成生产输出" #: templates/js/translated/build.js:388 msgid "Trackable parts can have serial numbers specified" @@ -11952,31 +11952,31 @@ msgstr "" #: templates/js/translated/build.js:389 msgid "Enter serial numbers to generate multiple single build outputs" -msgstr "" +msgstr "输入序列号来生成多个单一生产输出" #: templates/js/translated/build.js:396 msgid "Create Build Output" -msgstr "" +msgstr "创建生产输出" #: templates/js/translated/build.js:427 msgid "Allocate stock items to this build output" -msgstr "" +msgstr "分配库存项到此生产输出" #: templates/js/translated/build.js:435 msgid "Deallocate stock from build output" -msgstr "" +msgstr "从生产输出中取消分配库存" #: templates/js/translated/build.js:444 msgid "Complete build output" -msgstr "" +msgstr "完成生产输出" #: templates/js/translated/build.js:452 msgid "Scrap build output" -msgstr "" +msgstr "报废生产输出" #: templates/js/translated/build.js:459 msgid "Delete build output" -msgstr "" +msgstr "删除生产输出" #: templates/js/translated/build.js:479 msgid "Are you sure you wish to deallocate the selected stock items from this build?" @@ -11989,33 +11989,33 @@ msgstr "" #: templates/js/translated/build.js:583 templates/js/translated/build.js:711 #: templates/js/translated/build.js:837 msgid "Select Build Outputs" -msgstr "" +msgstr "选择生产输出" #: templates/js/translated/build.js:584 templates/js/translated/build.js:712 #: templates/js/translated/build.js:838 msgid "At least one build output must be selected" -msgstr "" +msgstr "必须选择至少一个生产输出" #: templates/js/translated/build.js:598 msgid "Selected build outputs will be marked as complete" -msgstr "" +msgstr "选择的生产输出将被标记为完成" #: templates/js/translated/build.js:602 templates/js/translated/build.js:736 #: templates/js/translated/build.js:860 msgid "Output" -msgstr "" +msgstr "输出" #: templates/js/translated/build.js:630 msgid "Complete Build Outputs" -msgstr "" +msgstr "完成生产输出" #: templates/js/translated/build.js:727 msgid "Selected build outputs will be marked as scrapped" -msgstr "" +msgstr "选择的生产输出将被标记为已报废" #: templates/js/translated/build.js:729 msgid "Scrapped output are marked as rejected" -msgstr "" +msgstr "报废的输出被标记为拒收" #: templates/js/translated/build.js:730 msgid "Allocated stock items will no longer be available" @@ -12027,15 +12027,15 @@ msgstr "" #: templates/js/translated/build.js:762 msgid "Scrap Build Outputs" -msgstr "" +msgstr "报废生产输出" #: templates/js/translated/build.js:852 msgid "Selected build outputs will be deleted" -msgstr "" +msgstr "选定的生产输出将被删除" #: templates/js/translated/build.js:854 msgid "Build output data will be permanently deleted" -msgstr "" +msgstr "生产输出数据将被永久删除" #: templates/js/translated/build.js:855 msgid "Allocated stock items will be returned to stock" @@ -12043,7 +12043,7 @@ msgstr "" #: templates/js/translated/build.js:873 msgid "Delete Build Outputs" -msgstr "" +msgstr "删除生产输出" #: templates/js/translated/build.js:960 msgid "No build order allocations found" @@ -12055,31 +12055,31 @@ msgstr "" #: templates/js/translated/build.js:1027 msgid "Complete outputs" -msgstr "" +msgstr "已完成输出" #: templates/js/translated/build.js:1045 msgid "Scrap outputs" -msgstr "" +msgstr "报废输出" #: templates/js/translated/build.js:1063 msgid "Delete outputs" -msgstr "" +msgstr "删除输出" #: templates/js/translated/build.js:1116 msgid "build output" -msgstr "" +msgstr "生产输出" #: templates/js/translated/build.js:1117 msgid "build outputs" -msgstr "" +msgstr "生产输出" #: templates/js/translated/build.js:1121 msgid "Build output actions" -msgstr "" +msgstr "生产输出操作" #: templates/js/translated/build.js:1297 msgid "No active build outputs found" -msgstr "" +msgstr "未找到激活的生产输出" #: templates/js/translated/build.js:1390 msgid "Allocated Lines" @@ -13335,7 +13335,7 @@ msgstr "" #: templates/js/translated/purchase_order.js:1217 msgid "Add batch code" -msgstr "" +msgstr "添加批号" #: templates/js/translated/purchase_order.js:1228 msgid "Add serial numbers" @@ -14155,7 +14155,7 @@ msgstr "" #: templates/js/translated/stock.js:3224 msgid "The Stock Item is tracked by either a batch code or serial number" -msgstr "" +msgstr "库存项被批号或序列号跟踪" #: templates/js/translated/stock.js:3237 msgid "Select part to install" @@ -14273,7 +14273,7 @@ msgstr "" #: templates/js/translated/table_filters.js:314 #: templates/js/translated/table_filters.js:405 msgid "Batch code" -msgstr "" +msgstr "批号" #: templates/js/translated/table_filters.js:325 #: templates/js/translated/table_filters.js:700 @@ -14339,11 +14339,11 @@ msgstr "" #: templates/js/translated/table_filters.js:400 msgid "Has batch code" -msgstr "" +msgstr "有批号" #: templates/js/translated/table_filters.js:409 msgid "Stock item is tracked by either batch code or serial number" -msgstr "" +msgstr "库存项被批号或序列号追踪" #: templates/js/translated/table_filters.js:414 msgid "Has purchase price" @@ -14504,11 +14504,11 @@ msgstr "" #: templates/navbar.html:45 msgid "Buy" -msgstr "" +msgstr "採購" #: templates/navbar.html:57 msgid "Sell" -msgstr "" +msgstr "銷售" #: templates/navbar.html:121 msgid "Show Notifications" @@ -14524,11 +14524,11 @@ msgstr "" #: templates/navbar.html:148 msgid "Logout" -msgstr "" +msgstr "登出" #: templates/notes_buttons.html:6 templates/notes_buttons.html:7 msgid "Save" -msgstr "" +msgstr "儲存" #: templates/notifications.html:9 msgid "Show all notifications and history" @@ -14556,7 +14556,7 @@ msgstr "" #: templates/registration/logged_out.html:7 msgid "You were logged out successfully." -msgstr "" +msgstr "您已成功登出。" #: templates/registration/logged_out.html:9 msgid "Log in again" @@ -14802,3 +14802,4 @@ msgstr "" #: users/models.py:408 msgid "Permission to delete items" msgstr "" + From 8e50d9bef6c36c224a18384d54b070d39512521b Mon Sep 17 00:00:00 2001 From: Oliver Date: Tue, 9 Jul 2024 00:56:47 +1000 Subject: [PATCH 26/36] Fix: New translations django.po from Crowdin --- .../InvenTree/locale/zh/LC_MESSAGES/django.po | 1226 ++++++++--------- 1 file changed, 613 insertions(+), 613 deletions(-) diff --git a/src/backend/InvenTree/locale/zh/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/zh/LC_MESSAGES/django.po index 489b6eb43a36..3cdfbd30a881 100644 --- a/src/backend/InvenTree/locale/zh/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/zh/LC_MESSAGES/django.po @@ -5,56 +5,56 @@ msgstr "" "POT-Creation-Date: 2024-07-08 14:46+0000\n" "PO-Revision-Date: 2024-07-08 14:56\n" "Last-Translator: \n" -"Language-Team: Chinese Simplified\n" -"Language: zh_CN\n" +"Language-Team: Chinese Traditional\n" +"Language: zh_TW\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Crowdin-Project: inventree\n" "X-Crowdin-Project-ID: 452300\n" -"X-Crowdin-Language: zh-CN\n" +"X-Crowdin-Language: zh-TW\n" "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:272 msgid "API endpoint not found" -msgstr "未找到 API 端点" +msgstr "" #: InvenTree/api.py:505 msgid "User does not have permission to view this model" -msgstr "用户没有权限查阅当前模型。" +msgstr "" #: InvenTree/conversion.py:160 #, python-brace-format msgid "Invalid unit provided ({unit})" -msgstr "提供了无效的单位 ({unit})" +msgstr "" #: InvenTree/conversion.py:177 msgid "No value provided" -msgstr "没有提供数值" +msgstr "" #: InvenTree/conversion.py:204 #, python-brace-format msgid "Could not convert {original} to {unit}" -msgstr "不能将 {original} 转换到 {unit}" +msgstr "" #: InvenTree/conversion.py:206 msgid "Invalid quantity supplied" -msgstr "提供的数量无效" +msgstr "" #: InvenTree/conversion.py:220 #, python-brace-format msgid "Invalid quantity supplied ({exc})" -msgstr "提供的数量无效 ({exc})" +msgstr "" #: InvenTree/exceptions.py:109 msgid "Error details can be found in the admin panel" -msgstr "在管理面板中可以找到错误详细信息" +msgstr "" #: InvenTree/fields.py:136 msgid "Enter date" -msgstr "输入日期" +msgstr "" #: InvenTree/fields.py:205 InvenTree/models.py:921 build/serializers.py:456 #: build/serializers.py:534 build/templates/build/sidebar.html:21 @@ -77,223 +77,223 @@ msgstr "输入日期" #: templates/js/translated/sales_order.js:2018 #: templates/js/translated/stock.js:1536 templates/js/translated/stock.js:2428 msgid "Notes" -msgstr "备注" +msgstr "" #: InvenTree/format.py:164 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" -msgstr "值' {name}' 未出现在模式格式中" +msgstr "" #: InvenTree/format.py:175 msgid "Provided value does not match required pattern: " -msgstr "提供的值与所需模式不匹配:" +msgstr "" #: InvenTree/forms.py:128 msgid "Enter password" -msgstr "输入密码" +msgstr "" #: InvenTree/forms.py:129 msgid "Enter new password" -msgstr "输入新密码" +msgstr "" #: InvenTree/forms.py:138 msgid "Confirm password" -msgstr "确认密码" +msgstr "" #: InvenTree/forms.py:139 msgid "Confirm new password" -msgstr "确认新密码" +msgstr "" #: InvenTree/forms.py:143 msgid "Old password" -msgstr "旧密码" +msgstr "" #: InvenTree/forms.py:182 msgid "Email (again)" -msgstr "电子邮件 (重复)" +msgstr "" #: InvenTree/forms.py:186 msgid "Email address confirmation" -msgstr "邮箱地址已确认" +msgstr "" #: InvenTree/forms.py:209 msgid "You must type the same email each time." -msgstr "您必须每次输入相同的电子邮件。" +msgstr "" #: InvenTree/forms.py:248 InvenTree/forms.py:256 msgid "The provided primary email address is not valid." -msgstr "提供的主电子邮件地址无效。" +msgstr "" #: InvenTree/forms.py:263 msgid "The provided email domain is not approved." -msgstr "提供的邮箱域名未被批准。" +msgstr "" #: InvenTree/forms.py:392 msgid "Registration is disabled." -msgstr "注册已禁用。" +msgstr "" #: InvenTree/helpers.py:525 order/models.py:562 order/models.py:764 msgid "Invalid quantity provided" -msgstr "提供的数量无效" +msgstr "" #: InvenTree/helpers.py:533 msgid "Empty serial number string" -msgstr "序號為空白" +msgstr "" #: InvenTree/helpers.py:562 msgid "Duplicate serial" -msgstr "复制序列号" +msgstr "" #: InvenTree/helpers.py:594 InvenTree/helpers.py:637 #, python-brace-format msgid "Invalid group range: {group}" -msgstr "无效的组范围: {group}" +msgstr "" #: InvenTree/helpers.py:625 #, python-brace-format msgid "Group range {group} exceeds allowed quantity ({expected_quantity})" -msgstr "组范围 {group} 超出了允许的数量 ({expected_quantity})" +msgstr "" #: InvenTree/helpers.py:655 InvenTree/helpers.py:662 InvenTree/helpers.py:681 #, python-brace-format msgid "Invalid group sequence: {group}" -msgstr "无效的组序列: {group}" +msgstr "" #: InvenTree/helpers.py:691 msgid "No serial numbers found" -msgstr "未找到序列号" +msgstr "" #: InvenTree/helpers.py:696 msgid "Number of unique serial numbers ({len(serials)}) must match quantity ({expected_quantity})" -msgstr "唯一序列号的数量 ({len(serials)}) 必须与数量匹配 ({expected_quantity})" +msgstr "" #: InvenTree/helpers.py:814 msgid "Remove HTML tags from this value" -msgstr "从这个值中删除 HTML 标签" +msgstr "" #: InvenTree/helpers_model.py:140 msgid "Connection error" -msgstr "连接错误" +msgstr "" #: InvenTree/helpers_model.py:145 InvenTree/helpers_model.py:152 msgid "Server responded with invalid status code" -msgstr "服务器响应状态码无效" +msgstr "" #: InvenTree/helpers_model.py:148 msgid "Exception occurred" -msgstr "发生异常" +msgstr "" #: InvenTree/helpers_model.py:158 msgid "Server responded with invalid Content-Length value" -msgstr "服务器响应的内容长度值无效" +msgstr "" #: InvenTree/helpers_model.py:161 msgid "Image size is too large" -msgstr "图片尺寸过大" +msgstr "" #: InvenTree/helpers_model.py:173 msgid "Image download exceeded maximum size" -msgstr "图片下载超出最大尺寸" +msgstr "" #: InvenTree/helpers_model.py:178 msgid "Remote server returned empty response" -msgstr "远程服务器返回了空响应" +msgstr "" #: InvenTree/helpers_model.py:186 msgid "Supplied URL is not a valid image file" -msgstr "提供的 URL 不是一个有效的图片文件" +msgstr "" #: InvenTree/locales.py:18 msgid "Bulgarian" -msgstr "Bulgarian" +msgstr "" #: InvenTree/locales.py:19 msgid "Czech" -msgstr "Czech" +msgstr "" #: InvenTree/locales.py:20 msgid "Danish" -msgstr "Danish" +msgstr "" #: InvenTree/locales.py:21 msgid "German" -msgstr "German" +msgstr "" #: InvenTree/locales.py:22 msgid "Greek" -msgstr "Greek" +msgstr "" #: InvenTree/locales.py:23 msgid "English" -msgstr "English" +msgstr "" #: InvenTree/locales.py:24 msgid "Spanish" -msgstr "Spanish" +msgstr "" #: InvenTree/locales.py:25 msgid "Spanish (Mexican)" -msgstr "Spanish (Mexican)" +msgstr "" #: InvenTree/locales.py:26 msgid "Farsi / Persian" -msgstr "Farsi / Persian" +msgstr "" #: InvenTree/locales.py:27 msgid "Finnish" -msgstr "Finnish" +msgstr "" #: InvenTree/locales.py:28 msgid "French" -msgstr "French" +msgstr "" #: InvenTree/locales.py:29 msgid "Hebrew" -msgstr "Hebrew" +msgstr "" #: InvenTree/locales.py:30 msgid "Hindi" -msgstr "Hindi" +msgstr "" #: InvenTree/locales.py:31 msgid "Hungarian" -msgstr "Hungarian" +msgstr "" #: InvenTree/locales.py:32 msgid "Italian" -msgstr "Italian" +msgstr "" #: InvenTree/locales.py:33 msgid "Japanese" -msgstr "Japanese" +msgstr "" #: InvenTree/locales.py:34 msgid "Korean" -msgstr "Korean" +msgstr "" #: InvenTree/locales.py:35 msgid "Latvian" -msgstr "Latvian" +msgstr "" #: InvenTree/locales.py:36 msgid "Dutch" -msgstr "Dutch" +msgstr "" #: InvenTree/locales.py:37 msgid "Norwegian" -msgstr "Norwegian" +msgstr "" #: InvenTree/locales.py:38 msgid "Polish" -msgstr "Polish" +msgstr "" #: InvenTree/locales.py:39 msgid "Portuguese" -msgstr "Portuguese" +msgstr "" #: InvenTree/locales.py:40 msgid "Portuguese (Brazilian)" -msgstr "Portuguese (Brazilian)" +msgstr "" #: InvenTree/locales.py:41 msgid "Romanian" @@ -301,107 +301,107 @@ msgstr "" #: InvenTree/locales.py:42 msgid "Russian" -msgstr "Russian" +msgstr "" #: InvenTree/locales.py:43 msgid "Slovak" -msgstr "Slovak" +msgstr "" #: InvenTree/locales.py:44 msgid "Slovenian" -msgstr "Slovenian" +msgstr "" #: InvenTree/locales.py:45 msgid "Serbian" -msgstr "Serbian" +msgstr "" #: InvenTree/locales.py:46 msgid "Swedish" -msgstr "Swedish" +msgstr "" #: InvenTree/locales.py:47 msgid "Thai" -msgstr "Thai" +msgstr "" #: InvenTree/locales.py:48 msgid "Turkish" -msgstr "Turkish" +msgstr "" #: InvenTree/locales.py:49 msgid "Ukrainian" -msgstr "乌克兰语" +msgstr "" #: InvenTree/locales.py:50 msgid "Vietnamese" -msgstr "Vietnamese" +msgstr "" #: InvenTree/locales.py:51 msgid "Chinese (Simplified)" -msgstr "中文 (简体)" +msgstr "" #: InvenTree/locales.py:52 msgid "Chinese (Traditional)" -msgstr "中文 (繁体)" +msgstr "" #: InvenTree/magic_login.py:28 #, python-brace-format msgid "[{site_name}] Log in to the app" -msgstr "[{site_name}] 登录到应用程序" +msgstr "" #: InvenTree/magic_login.py:38 InvenTree/serializers.py:415 #: company/models.py:136 company/templates/company/company_base.html:138 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:677 msgid "Email" -msgstr "电子邮件" +msgstr "" #: InvenTree/models.py:105 msgid "Error running plugin validation" -msgstr "驗證外掛程式時發生錯誤" +msgstr "" #: InvenTree/models.py:174 msgid "Metadata must be a python dict object" -msgstr "Metadata必須是一個Python Dictionary物件" +msgstr "" #: InvenTree/models.py:180 msgid "Plugin Metadata" -msgstr "外掛程式Metadata" +msgstr "" #: InvenTree/models.py:181 msgid "JSON metadata field, for use by external plugins" -msgstr "外掛程式使用的JSON Metadata欄位" +msgstr "" #: InvenTree/models.py:411 msgid "Improperly formatted pattern" -msgstr "格式錯誤" +msgstr "" #: InvenTree/models.py:418 msgid "Unknown format key specified" -msgstr "指定了不明的格式鍵值" +msgstr "" #: InvenTree/models.py:424 msgid "Missing required format key" -msgstr "缺少必須的格式鍵值" +msgstr "" #: InvenTree/models.py:435 msgid "Reference field cannot be empty" -msgstr "參考欄位不能空白" +msgstr "" #: InvenTree/models.py:443 msgid "Reference must match required pattern" -msgstr "參考欄位並須符合格式" +msgstr "" #: InvenTree/models.py:474 msgid "Reference number is too large" -msgstr "參考編號過大" +msgstr "" #: InvenTree/models.py:722 msgid "Duplicate names cannot exist under the same parent" -msgstr "同一個上層元件下不能有重複的名字" +msgstr "" #: InvenTree/models.py:739 msgid "Invalid choice" -msgstr "無效的選項" +msgstr "" #: InvenTree/models.py:769 common/models.py:2659 common/models.py:3089 #: common/serializers.py:412 company/models.py:587 machine/models.py:24 @@ -421,7 +421,7 @@ msgstr "無效的選項" #: templates/js/translated/part.js:1478 templates/js/translated/part.js:1614 #: templates/js/translated/part.js:2752 templates/js/translated/stock.js:2716 msgid "Name" -msgstr "名稱" +msgstr "" #: InvenTree/models.py:775 build/models.py:242 #: build/templates/build/detail.html:24 common/models.py:143 @@ -458,63 +458,63 @@ msgstr "名稱" #: 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 "" #: InvenTree/models.py:776 stock/models.py:81 msgid "Description (optional)" -msgstr "描述(選填)" +msgstr "" #: InvenTree/models.py:791 templates/js/translated/part.js:2797 #: templates/js/translated/stock.js:2757 msgid "Path" -msgstr "路徑" +msgstr "" #: InvenTree/models.py:921 msgid "Markdown notes (optional)" -msgstr "Markdown 註記(選填)" +msgstr "" #: InvenTree/models.py:950 msgid "Barcode Data" -msgstr "條碼資料" +msgstr "" #: InvenTree/models.py:951 msgid "Third party barcode data" -msgstr "第三方條碼資料" +msgstr "" #: InvenTree/models.py:957 msgid "Barcode Hash" -msgstr "條碼雜湊值" +msgstr "" #: InvenTree/models.py:958 msgid "Unique hash of barcode data" -msgstr "條碼資料的唯一雜湊值" +msgstr "" #: InvenTree/models.py:1011 msgid "Existing barcode found" -msgstr "發現現有條碼" +msgstr "" #: InvenTree/models.py:1054 msgid "Server Error" -msgstr "伺服器錯誤" +msgstr "" #: InvenTree/models.py:1055 msgid "An error has been logged by the server." -msgstr "伺服器紀錄了一個錯誤。" +msgstr "" #: InvenTree/serializers.py:63 part/models.py:4277 msgid "Must be a valid number" -msgstr "必須是有效的數字" +msgstr "" #: InvenTree/serializers.py:100 company/models.py:186 #: company/templates/company/company_base.html:112 part/models.py:3011 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" -msgstr "貨幣" +msgstr "" #: InvenTree/serializers.py:103 msgid "Select currency from available options" -msgstr "從可用選項中選擇貨幣" +msgstr "" #: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:33 msgid "Username" @@ -575,145 +575,145 @@ msgstr "" #: InvenTree/serializers.py:463 msgid "You do not have permission to change this user role." -msgstr "您沒有更改這個使用者角色的權限" +msgstr "" #: InvenTree/serializers.py:475 msgid "Only superusers can create new users" -msgstr "只有管理員帳戶可以建立新的使用者" +msgstr "" #: InvenTree/serializers.py:494 msgid "Your account has been created." -msgstr "您的帳號已經建立完成。" +msgstr "" #: InvenTree/serializers.py:496 msgid "Please use the password reset function to login" -msgstr "請使用重設密碼功能來登入" +msgstr "" #: InvenTree/serializers.py:503 msgid "Welcome to InvenTree" -msgstr "歡迎使用 InvenTree" +msgstr "" #: InvenTree/serializers.py:561 msgid "Invalid value" -msgstr "无效值" +msgstr "" #: InvenTree/serializers.py:581 importer/models.py:60 msgid "Data File" -msgstr "数据文件" +msgstr "" #: InvenTree/serializers.py:582 msgid "Select data file for upload" -msgstr "选择要上传的数据文件" +msgstr "" #: InvenTree/serializers.py:599 msgid "Unsupported file type" -msgstr "不支持的文件类型" +msgstr "" #: InvenTree/serializers.py:605 msgid "File is too large" -msgstr "文件过大" +msgstr "" #: InvenTree/serializers.py:626 msgid "No columns found in file" -msgstr "在文件中没有找到列" +msgstr "" #: InvenTree/serializers.py:629 msgid "No data rows found in file" -msgstr "在文件中没有找到数据行" +msgstr "" #: InvenTree/serializers.py:742 msgid "No data rows provided" -msgstr "没有提供数据行" +msgstr "" #: InvenTree/serializers.py:745 msgid "No data columns supplied" -msgstr "没有提供数据列" +msgstr "" #: InvenTree/serializers.py:812 #, python-brace-format msgid "Missing required column: '{name}'" -msgstr "缺少必需的列:'{name}'" +msgstr "" #: InvenTree/serializers.py:821 #, python-brace-format msgid "Duplicate column: '{col}'" -msgstr "重复列: '{col}'" +msgstr "" #: InvenTree/serializers.py:861 msgid "Remote Image" -msgstr "远程图片" +msgstr "" #: InvenTree/serializers.py:862 msgid "URL of remote image file" -msgstr "远程图片文件的 URL" +msgstr "" #: InvenTree/serializers.py:880 msgid "Downloading images from remote URL is not enabled" -msgstr "未启用从远程 URL下载图片" +msgstr "" #: InvenTree/status.py:66 part/serializers.py:1202 msgid "Background worker check failed" -msgstr "后台执行器检查失败" +msgstr "" #: InvenTree/status.py:70 msgid "Email backend not configured" -msgstr "未配置电子邮件后端" +msgstr "" #: InvenTree/status.py:73 msgid "InvenTree system health checks failed" -msgstr "InventTree 系统健康检查失败" +msgstr "" #: InvenTree/templatetags/inventree_extras.py:184 msgid "Unknown database" -msgstr "未知的資料庫" +msgstr "" #: InvenTree/validators.py:32 InvenTree/validators.py:34 msgid "Invalid physical unit" -msgstr "無效的物理單位" +msgstr "" #: InvenTree/validators.py:40 msgid "Not a valid currency code" -msgstr "無效的貨幣代碼" +msgstr "" #: InvenTree/validators.py:118 InvenTree/validators.py:134 msgid "Overage value must not be negative" -msgstr "損失值不能為負" +msgstr "" #: InvenTree/validators.py:136 msgid "Overage must not exceed 100%" -msgstr "損失率不能超過100%" +msgstr "" #: InvenTree/validators.py:142 msgid "Invalid value for overage" -msgstr "無效的損失值" +msgstr "" #: InvenTree/views.py:400 templates/InvenTree/settings/user.html:23 msgid "Edit User Information" -msgstr "編輯使用者資訊" +msgstr "" #: InvenTree/views.py:412 templates/InvenTree/settings/user.html:20 msgid "Set Password" -msgstr "設定密碼" +msgstr "" #: InvenTree/views.py:434 msgid "Password fields must match" -msgstr "密碼必須相符" +msgstr "" #: InvenTree/views.py:442 msgid "Wrong password provided" -msgstr "密碼錯誤" +msgstr "" #: InvenTree/views.py:650 templates/navbar.html:160 msgid "System Information" -msgstr "系統資訊" +msgstr "" #: InvenTree/views.py:657 templates/navbar.html:171 msgid "About InvenTree" -msgstr "關於InvenTree" +msgstr "" #: build/api.py:248 msgid "Build must be cancelled before it can be deleted" -msgstr "工單必須被取消才能被刪除" +msgstr "" #: build/api.py:292 build/serializers.py:1190 part/models.py:4155 #: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 @@ -721,7 +721,7 @@ msgstr "工單必須被取消才能被刪除" #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" -msgstr "耗材" +msgstr "" #: build/api.py:293 build/serializers.py:1191 part/models.py:4149 #: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 @@ -730,19 +730,19 @@ msgstr "耗材" #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:587 msgid "Optional" -msgstr "非必須項目" +msgstr "" #: build/api.py:294 templates/js/translated/table_filters.js:408 #: templates/js/translated/table_filters.js:579 msgid "Tracked" -msgstr "追蹤中" +msgstr "" #: build/api.py:296 part/admin.py:144 templates/js/translated/build.js:1744 #: templates/js/translated/build.js:2630 #: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:571 msgid "Allocated" -msgstr "已分配" +msgstr "" #: build/api.py:304 company/models.py:879 company/serializers.py:386 #: company/templates/company/supplier_part.html:114 @@ -756,7 +756,7 @@ msgstr "已分配" #: templates/js/translated/table_filters.js:340 #: templates/js/translated/table_filters.js:575 msgid "Available" -msgstr "可用數量" +msgstr "" #: build/models.py:85 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 @@ -765,7 +765,7 @@ msgstr "可用數量" #: templates/email/overdue_build_order.html:15 #: templates/js/translated/build.js:972 templates/js/translated/stock.js:2892 msgid "Build Order" -msgstr "生產工單" +msgstr "" #: build/models.py:86 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 @@ -776,7 +776,7 @@ msgstr "生產工單" #: templates/InvenTree/settings/sidebar.html:55 #: templates/js/translated/search.js:186 users/models.py:207 msgid "Build Orders" -msgstr "生產工單" +msgstr "" #: build/models.py:127 msgid "Assembly BOM has not been validated" @@ -792,19 +792,19 @@ msgstr "" #: build/models.py:155 msgid "Invalid choice for parent build" -msgstr "無效的上層生產工單選擇" +msgstr "" #: build/models.py:166 order/models.py:240 msgid "Responsible user or group must be specified" -msgstr "必须指定负责的用户或组" +msgstr "" #: build/models.py:172 msgid "Build order part cannot be changed" -msgstr "無法更改生產工單" +msgstr "" #: build/models.py:233 msgid "Build Order Reference" -msgstr "生產工單代號" +msgstr "" #: build/models.py:234 build/serializers.py:1189 order/models.py:463 #: order/models.py:926 order/models.py:1289 order/models.py:2046 @@ -820,20 +820,20 @@ msgstr "生產工單代號" #: templates/js/translated/return_order.js:728 #: templates/js/translated/sales_order.js:1854 msgid "Reference" -msgstr "參考代號" +msgstr "" #: build/models.py:245 msgid "Brief description of the build (optional)" -msgstr "關於生產工單的簡單說明(選填)" +msgstr "" #: build/models.py:253 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" -msgstr "上層生產工單" +msgstr "" #: build/models.py:254 msgid "BuildOrder to which this build is allocated" -msgstr "這張生產工單對應的上層生產工單" +msgstr "" #: build/models.py:259 build/serializers.py:1184 #: build/templates/build/build_base.html:97 @@ -885,103 +885,103 @@ msgstr "這張生產工單對應的上層生產工單" #: templates/js/translated/stock.js:2857 templates/js/translated/stock.js:3090 #: templates/js/translated/stock.js:3236 msgid "Part" -msgstr "零件" +msgstr "" #: build/models.py:267 msgid "Select part to build" -msgstr "選擇要生產的零件" +msgstr "" #: build/models.py:272 msgid "Sales Order Reference" -msgstr "銷售訂單代號" +msgstr "" #: build/models.py:276 msgid "SalesOrder to which this build is allocated" -msgstr "這張生產工單對應的銷售訂單" +msgstr "" #: build/models.py:281 build/serializers.py:1003 #: templates/js/translated/build.js:1731 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" -msgstr "來源倉儲地點" +msgstr "" #: build/models.py:285 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" -msgstr "選擇領取料件的倉儲地點(留白表示可以從任何地點領取)" +msgstr "" #: build/models.py:290 msgid "Destination Location" -msgstr "目標倉儲地點" +msgstr "" #: build/models.py:294 msgid "Select location where the completed items will be stored" -msgstr "选择已完成项目库存地点" +msgstr "" #: build/models.py:298 msgid "Build Quantity" -msgstr "生产数量" +msgstr "" #: build/models.py:301 msgid "Number of stock items to build" -msgstr "要生产的项目数量" +msgstr "" #: build/models.py:305 msgid "Completed items" -msgstr "已完成项目" +msgstr "" #: build/models.py:307 msgid "Number of stock items which have been completed" -msgstr "已經完成的庫存品數量" +msgstr "" #: build/models.py:311 msgid "Build Status" -msgstr "生產狀態" +msgstr "" #: build/models.py:315 msgid "Build status code" -msgstr "生產狀態代碼" +msgstr "" #: build/models.py:324 build/serializers.py:290 order/serializers.py:629 #: stock/models.py:839 stock/serializers.py:76 stock/serializers.py:1524 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" -msgstr "批号" +msgstr "" #: build/models.py:328 build/serializers.py:291 msgid "Batch code for this build output" -msgstr "此产出的批号" +msgstr "" #: build/models.py:331 order/models.py:316 order/serializers.py:127 #: part/models.py:1125 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 "建立日期" +msgstr "" #: build/models.py:335 msgid "Target completion date" -msgstr "目標完成日期" +msgstr "" #: build/models.py:336 msgid "Target date for build completion. Build will be overdue after this date." -msgstr "生產的預計完成日期。若超過此日期則工單會逾期。" +msgstr "" #: build/models.py:339 order/models.py:521 order/models.py:2091 #: templates/js/translated/build.js:2247 msgid "Completion Date" -msgstr "完成日期" +msgstr "" #: build/models.py:345 msgid "completed by" -msgstr "完成者" +msgstr "" #: build/models.py:353 templates/js/translated/build.js:2207 msgid "Issued by" -msgstr "發布者" +msgstr "" #: build/models.py:354 msgid "User who issued this build order" -msgstr "發布此生產工單的使用者" +msgstr "" #: build/models.py:362 build/templates/build/build_base.html:204 #: build/templates/build/detail.html:122 common/models.py:152 @@ -996,11 +996,11 @@ msgstr "發布此生產工單的使用者" #: templates/js/translated/return_order.js:358 #: templates/js/translated/table_filters.js:531 msgid "Responsible" -msgstr "負責人" +msgstr "" #: build/models.py:363 msgid "User or group responsible for this build order" -msgstr "負責此生產工單的使用者或群組" +msgstr "" #: build/models.py:368 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 @@ -1012,20 +1012,20 @@ msgstr "負責此生產工單的使用者或群組" #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1019 msgid "External Link" -msgstr "外部連結" +msgstr "" #: build/models.py:369 common/models.py:3230 part/models.py:960 #: stock/models.py:835 msgid "Link to external URL" -msgstr "外部URL連結" +msgstr "" #: build/models.py:373 msgid "Build Priority" -msgstr "製造優先度" +msgstr "" #: build/models.py:376 msgid "Priority of this build order" -msgstr "此生產工單的優先程度" +msgstr "" #: build/models.py:383 common/models.py:122 common/models.py:136 #: order/admin.py:18 order/models.py:298 order/serializers.py:108 @@ -1037,60 +1037,60 @@ msgstr "此生產工單的優先程度" #: templates/js/translated/table_filters.js:48 #: templates/project_code_data.html:6 msgid "Project Code" -msgstr "專案代碼" +msgstr "" #: build/models.py:384 msgid "Project code for this build order" -msgstr "此生產工單隸屬的專案代碼" +msgstr "" #: build/models.py:617 build/models.py:682 msgid "Failed to offload task to complete build allocations" -msgstr "未能卸载任务以完成生产分配" +msgstr "" #: build/models.py:639 #, python-brace-format msgid "Build order {build} has been completed" -msgstr "生產工單 {build} 已經完成" +msgstr "" #: build/models.py:645 msgid "A build order has been completed" -msgstr "一張生產工單已經完成" +msgstr "" #: build/models.py:871 build/models.py:956 msgid "No build output specified" -msgstr "未指定产出" +msgstr "" #: build/models.py:874 msgid "Build output is already completed" -msgstr "产出已完成" +msgstr "" #: build/models.py:877 msgid "Build output does not match Build Order" -msgstr "产出与生产订单不匹配" +msgstr "" #: build/models.py:960 build/serializers.py:223 build/serializers.py:272 #: build/serializers.py:870 order/models.py:559 order/serializers.py:461 #: order/serializers.py:624 part/serializers.py:1515 part/serializers.py:1921 #: stock/models.py:678 stock/models.py:1496 stock/serializers.py:661 msgid "Quantity must be greater than zero" -msgstr "數量必須大於零" +msgstr "" #: build/models.py:965 build/serializers.py:228 msgid "Quantity cannot be greater than the output quantity" -msgstr "数量不能大于输出数量" +msgstr "" #: build/models.py:1025 build/serializers.py:551 #, python-brace-format msgid "Build output {serial} has not passed all required tests" -msgstr "产出 {serial} 未通过所有必要测试" +msgstr "" #: build/models.py:1366 msgid "Build Order Line Item" -msgstr "生产订单行项目" +msgstr "" #: build/models.py:1391 msgid "Build object" -msgstr "生产对象" +msgstr "" #: build/models.py:1405 build/models.py:1661 build/serializers.py:210 #: build/serializers.py:257 build/serializers.py:1194 @@ -1138,36 +1138,36 @@ msgstr "生产对象" #: templates/js/translated/stock.js:873 templates/js/translated/stock.js:3021 #: templates/js/translated/stock.js:3104 msgid "Quantity" -msgstr "數量" +msgstr "" #: build/models.py:1406 msgid "Required quantity for build order" -msgstr "生產工單所需數量" +msgstr "" #: build/models.py:1486 msgid "Build item must specify a build output, as master part is marked as trackable" -msgstr "生产项必须指定产出,因为主零件已经被标记为可追踪的" +msgstr "" #: build/models.py:1495 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" -msgstr "分配的數量({q})不能超過可用的庫存數量({a})" +msgstr "" #: build/models.py:1505 order/models.py:1908 msgid "Stock item is over-allocated" -msgstr "庫存品項超額分配" +msgstr "" #: build/models.py:1511 order/models.py:1911 msgid "Allocation quantity must be greater than zero" -msgstr "分配的數量必須大於零" +msgstr "" #: build/models.py:1517 msgid "Quantity must be 1 for serialized stock" -msgstr "有序號的品項數量必須為1" +msgstr "" #: build/models.py:1576 msgid "Selected stock item does not match BOM line" -msgstr "選擇的庫存品項和BOM的項目不符" +msgstr "" #: build/models.py:1648 build/serializers.py:850 order/serializers.py:1227 #: order/serializers.py:1248 stock/models.py:359 stock/serializers.py:93 @@ -1185,23 +1185,23 @@ msgstr "選擇的庫存品項和BOM的項目不符" #: templates/js/translated/stock.js:677 templates/js/translated/stock.js:843 #: templates/js/translated/stock.js:2977 msgid "Stock Item" -msgstr "庫存品項" +msgstr "" #: build/models.py:1649 msgid "Source stock item" -msgstr "來源庫存項目" +msgstr "" #: build/models.py:1662 msgid "Stock quantity to allocate to build" -msgstr "要分配的庫存數量" +msgstr "" #: build/models.py:1670 msgid "Install into" -msgstr "安裝到" +msgstr "" #: build/models.py:1671 msgid "Destination stock item" -msgstr "目的庫存品項" +msgstr "" #: build/serializers.py:89 build/serializers.py:1185 part/admin.py:41 #: part/admin.py:405 part/models.py:3992 part/stocktake.py:220 @@ -1212,45 +1212,45 @@ msgstr "" #: build/serializers.py:160 build/serializers.py:879 #: templates/js/translated/build.js:1322 msgid "Build Output" -msgstr "产出" +msgstr "" #: build/serializers.py:172 msgid "Build output does not match the parent build" -msgstr "产出与之前的生产不匹配" +msgstr "" #: build/serializers.py:176 msgid "Output part does not match BuildOrder part" -msgstr "产出零件与生产订单零件不匹配" +msgstr "" #: build/serializers.py:180 msgid "This build output has already been completed" -msgstr "此产出已经完成" +msgstr "" #: build/serializers.py:191 msgid "This build output is not fully allocated" -msgstr "此产出尚未完全分配" +msgstr "" #: build/serializers.py:211 build/serializers.py:258 msgid "Enter quantity for build output" -msgstr "输入产出数量" +msgstr "" #: build/serializers.py:279 msgid "Integer quantity required for trackable parts" -msgstr "可追蹤的零件數量必須為整數" +msgstr "" #: build/serializers.py:282 msgid "Integer quantity required, as the bill of materials contains trackable parts" -msgstr "因為BOM包含可追蹤的零件,所以數量必須為整數" +msgstr "" #: build/serializers.py:297 order/serializers.py:637 order/serializers.py:1387 #: stock/serializers.py:672 templates/js/translated/purchase_order.js:1153 #: templates/js/translated/stock.js:367 templates/js/translated/stock.js:565 msgid "Serial Numbers" -msgstr "序號" +msgstr "" #: build/serializers.py:298 msgid "Enter serial numbers for build outputs" -msgstr "输出产出的序列号" +msgstr "" #: build/serializers.py:303 build/serializers.py:444 build/serializers.py:516 #: order/serializers.py:613 order/serializers.py:721 order/serializers.py:1714 @@ -1270,51 +1270,51 @@ msgstr "输出产出的序列号" #: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2201 #: templates/js/translated/stock.js:2871 msgid "Location" -msgstr "地點" +msgstr "" #: build/serializers.py:304 msgid "Stock location for build output" -msgstr "生产输出的库存地点" +msgstr "" #: build/serializers.py:318 msgid "Auto Allocate Serial Numbers" -msgstr "自動分配序號" +msgstr "" #: build/serializers.py:319 msgid "Automatically allocate required items with matching serial numbers" -msgstr "自動為需要項目分配對應的序號" +msgstr "" #: build/serializers.py:334 msgid "Serial numbers must be provided for trackable parts" -msgstr "对于可跟踪的零件,必须提供序列号" +msgstr "" #: build/serializers.py:359 stock/api.py:1033 msgid "The following serial numbers already exist or are invalid" -msgstr "序號已存在或無效" +msgstr "" #: build/serializers.py:406 build/serializers.py:468 build/serializers.py:557 msgid "A list of build outputs must be provided" -msgstr "必须提供产出清单" +msgstr "" #: build/serializers.py:445 msgid "Stock location for scrapped outputs" -msgstr "废品产出的库存位置" +msgstr "" #: build/serializers.py:451 msgid "Discard Allocations" -msgstr "放棄分配" +msgstr "" #: build/serializers.py:452 msgid "Discard any stock allocations for scrapped outputs" -msgstr "取消对废品产出的任何库存分配" +msgstr "" #: build/serializers.py:457 msgid "Reason for scrapping build output(s)" -msgstr "废品产出的原因" +msgstr "" #: build/serializers.py:517 msgid "Location for completed build outputs" -msgstr "已完成删除的库存地点" +msgstr "" #: build/serializers.py:523 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:950 @@ -1329,164 +1329,164 @@ msgstr "已完成删除的库存地点" #: templates/js/translated/stock.js:2176 templates/js/translated/stock.js:2995 #: templates/js/translated/stock.js:3120 msgid "Status" -msgstr "狀態" +msgstr "" #: build/serializers.py:529 msgid "Accept Incomplete Allocation" -msgstr "接受不完整的分配" +msgstr "" #: build/serializers.py:530 msgid "Complete outputs if stock has not been fully allocated" -msgstr "如果库存尚未全部分配,则完成产出" +msgstr "" #: build/serializers.py:615 msgid "Consume Allocated Stock" -msgstr "消费已分配的库存" +msgstr "" #: build/serializers.py:616 msgid "Consume any stock which has already been allocated to this build" -msgstr "消耗已分配给此生产的任何库存" +msgstr "" #: build/serializers.py:622 msgid "Remove Incomplete Outputs" -msgstr "移除未完成的产出" +msgstr "" #: build/serializers.py:623 msgid "Delete any build outputs which have not been completed" -msgstr "删除所有未完成的产出" +msgstr "" #: build/serializers.py:650 msgid "Not permitted" -msgstr "不允许" +msgstr "" #: build/serializers.py:651 msgid "Accept as consumed by this build order" -msgstr "接受作为此生产订单的消费" +msgstr "" #: build/serializers.py:652 msgid "Deallocate before completing this build order" -msgstr "完成此生产订单前取消分配" +msgstr "" #: build/serializers.py:682 msgid "Overallocated Stock" -msgstr "超出分配的库存" +msgstr "" #: build/serializers.py:684 msgid "How do you want to handle extra stock items assigned to the build order" -msgstr "如何处理分配给生产订单的额外库存项" +msgstr "" #: build/serializers.py:694 msgid "Some stock items have been overallocated" -msgstr "有库存项目已被过度分配" +msgstr "" #: build/serializers.py:699 msgid "Accept Unallocated" -msgstr "接受未分配" +msgstr "" #: build/serializers.py:700 msgid "Accept that stock items have not been fully allocated to this build order" -msgstr "接受库存项未被完全分配至生产订单" +msgstr "" #: build/serializers.py:710 templates/js/translated/build.js:315 msgid "Required stock has not been fully allocated" -msgstr "所需库存尚未完全分配" +msgstr "" #: build/serializers.py:715 order/serializers.py:319 order/serializers.py:1290 msgid "Accept Incomplete" -msgstr "接受不完整" +msgstr "" #: build/serializers.py:716 msgid "Accept that the required number of build outputs have not been completed" -msgstr "允许所需数量的产出未完成" +msgstr "" #: build/serializers.py:726 templates/js/translated/build.js:319 msgid "Required build quantity has not been completed" -msgstr "未完成所需生产数量" +msgstr "" #: build/serializers.py:735 templates/js/translated/build.js:303 msgid "Build order has incomplete outputs" -msgstr "生产订单有未完成的产出" +msgstr "" #: build/serializers.py:773 msgid "Build Line" -msgstr "生产行" +msgstr "" #: build/serializers.py:783 msgid "Build output" -msgstr "产出" +msgstr "" #: build/serializers.py:791 msgid "Build output must point to the same build" -msgstr "生产产出必须指向相同的生产" +msgstr "" #: build/serializers.py:827 msgid "Build Line Item" -msgstr "生产行项目" +msgstr "" #: build/serializers.py:841 msgid "bom_item.part must point to the same part as the build order" -msgstr "bom_item.part 必须与生产订单零件相同" +msgstr "" #: build/serializers.py:856 stock/serializers.py:1256 msgid "Item must be in stock" -msgstr "商品必須有庫存" +msgstr "" #: build/serializers.py:904 order/serializers.py:1281 #, python-brace-format msgid "Available quantity ({q}) exceeded" -msgstr "可用量 ({q}) 超出限制" +msgstr "" #: build/serializers.py:910 msgid "Build output must be specified for allocation of tracked parts" -msgstr "对于被追踪的零件的分配,必须指定生产产出" +msgstr "" #: build/serializers.py:917 msgid "Build output cannot be specified for allocation of untracked parts" -msgstr "对于未被追踪的零件,无法指定生产产出" +msgstr "" #: build/serializers.py:941 order/serializers.py:1533 msgid "Allocation items must be provided" -msgstr "必须提供分配项目" +msgstr "" #: build/serializers.py:1004 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" -msgstr "零件来源的库存地点(留空则可来源于任何库存地点)" +msgstr "" #: build/serializers.py:1012 msgid "Exclude Location" -msgstr "排除位置" +msgstr "" #: build/serializers.py:1013 msgid "Exclude stock items from this selected location" -msgstr "从该选定的库存地点排除库存项" +msgstr "" #: build/serializers.py:1018 msgid "Interchangeable Stock" -msgstr "可互換庫存" +msgstr "" #: build/serializers.py:1019 msgid "Stock items in multiple locations can be used interchangeably" -msgstr "在多个位置的库存项目可以互换使用" +msgstr "" #: build/serializers.py:1024 msgid "Substitute Stock" -msgstr "替代品库存" +msgstr "" #: build/serializers.py:1025 msgid "Allow allocation of substitute parts" -msgstr "允许分配可替换的零件" +msgstr "" #: build/serializers.py:1030 msgid "Optional Items" -msgstr "可选项目" +msgstr "" #: build/serializers.py:1031 msgid "Allocate optional BOM items to build order" -msgstr "分配可选的物料清单给生产订单" +msgstr "" #: build/serializers.py:1053 msgid "Failed to start auto-allocation task" -msgstr "启动自动分配任务失败" +msgstr "" #: build/serializers.py:1095 msgid "Supplier Part Number" @@ -1523,11 +1523,11 @@ msgstr "" #: build/serializers.py:1196 part/models.py:4000 part/models.py:4472 #: stock/api.py:796 msgid "BOM Item" -msgstr "物料清单项" +msgstr "" #: build/serializers.py:1205 templates/js/translated/index.js:130 msgid "Allocated Stock" -msgstr "分配库存" +msgstr "" #: build/serializers.py:1210 part/admin.py:132 part/bom.py:173 #: part/serializers.py:856 part/serializers.py:1533 @@ -1536,19 +1536,19 @@ msgstr "分配库存" #: templates/js/translated/part.js:2152 #: templates/js/translated/table_filters.js:170 msgid "On Order" -msgstr "已订购" +msgstr "" #: build/serializers.py:1215 part/serializers.py:1535 #: templates/js/translated/build.js:2618 #: templates/js/translated/table_filters.js:360 msgid "In Production" -msgstr "生产中" +msgstr "" #: build/serializers.py:1220 part/bom.py:172 part/serializers.py:1558 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" -msgstr "可用库存" +msgstr "" #: build/serializers.py:1224 msgid "Available Substitute Stock" @@ -1570,16 +1570,16 @@ msgstr "" #: order/status_codes.py:37 order/status_codes.py:64 order/status_codes.py:82 #: templates/js/translated/table_filters.js:598 msgid "Pending" -msgstr "待定" +msgstr "" #: build/status_codes.py:12 msgid "Production" -msgstr "生產" +msgstr "" #: build/status_codes.py:13 order/status_codes.py:15 order/status_codes.py:45 #: order/status_codes.py:70 msgid "Cancelled" -msgstr "已取消" +msgstr "" #: build/status_codes.py:14 generic/states/tests.py:19 importer/models.py:468 #: importer/status_codes.py:19 order/status_codes.py:14 @@ -1587,24 +1587,24 @@ msgstr "已取消" #: order/templates/order/order_base.html:158 #: order/templates/order/sales_order_base.html:165 report/models.py:444 msgid "Complete" -msgstr "完成" +msgstr "" #: build/tasks.py:184 msgid "Stock required for build order" -msgstr "生产订单所需库存" +msgstr "" #: build/tasks.py:201 msgid "Overdue Build Order" -msgstr "逾期的生产订单" +msgstr "" #: build/tasks.py:206 #, python-brace-format msgid "Build order {bo} is now overdue" -msgstr "生产订单 {bo} 现已逾期" +msgstr "" #: build/templates/build/build_base.html:18 msgid "Part thumbnail" -msgstr "零件缩略图" +msgstr "" #: build/templates/build/build_base.html:38 #: company/templates/company/supplier_part.html:35 @@ -1616,7 +1616,7 @@ msgstr "零件缩略图" #: stock/templates/stock/location.html:55 #: templates/js/translated/filters.js:335 msgid "Barcode actions" -msgstr "条形码操作" +msgstr "" #: build/templates/build/build_base.html:42 #: company/templates/company/supplier_part.html:39 @@ -1627,7 +1627,7 @@ msgstr "条形码操作" #: stock/templates/stock/item_base.html:44 #: stock/templates/stock/location.html:57 templates/qr_button.html:1 msgid "Show QR Code" -msgstr "显示二维码" +msgstr "" #: build/templates/build/build_base.html:45 #: company/templates/company/supplier_part.html:41 @@ -1640,7 +1640,7 @@ msgstr "显示二维码" #: templates/js/translated/barcode.js:496 #: templates/js/translated/barcode.js:501 msgid "Unlink Barcode" -msgstr "取消关联条形码" +msgstr "" #: build/templates/build/build_base.html:47 #: company/templates/company/supplier_part.html:43 @@ -1651,67 +1651,67 @@ msgstr "取消关联条形码" #: stock/templates/stock/item_base.html:49 #: stock/templates/stock/location.html:61 msgid "Link Barcode" -msgstr "关联条形码" +msgstr "" #: build/templates/build/build_base.html:56 #: order/templates/order/order_base.html:46 #: order/templates/order/return_order_base.html:55 #: order/templates/order/sales_order_base.html:55 msgid "Print actions" -msgstr "打印操作" +msgstr "" #: build/templates/build/build_base.html:60 msgid "Print build order report" -msgstr "打印生产订单报告" +msgstr "" #: build/templates/build/build_base.html:67 msgid "Build actions" -msgstr "生产操作" +msgstr "" #: build/templates/build/build_base.html:71 msgid "Edit Build" -msgstr "编辑生产操作" +msgstr "" #: build/templates/build/build_base.html:73 msgid "Cancel Build" -msgstr "取消生产操作" +msgstr "" #: build/templates/build/build_base.html:76 msgid "Duplicate Build" -msgstr "复制生产操作" +msgstr "" #: build/templates/build/build_base.html:79 msgid "Delete Build" -msgstr "删除生产操作" +msgstr "" #: build/templates/build/build_base.html:84 #: build/templates/build/build_base.html:85 msgid "Complete Build" -msgstr "生产操作完成" +msgstr "" #: build/templates/build/build_base.html:107 msgid "Build Description" -msgstr "生产操作描述" +msgstr "" #: build/templates/build/build_base.html:117 msgid "No build outputs have been created for this build order" -msgstr "没有为此生产订单创建生产产出" +msgstr "" #: build/templates/build/build_base.html:124 msgid "Build Order is ready to mark as completed" -msgstr "生产订单已准备好标记为已完成" +msgstr "" #: build/templates/build/build_base.html:129 msgid "Build Order cannot be completed as outstanding outputs remain" -msgstr "由于仍有未完成的产出,生产订单无法完成" +msgstr "" #: build/templates/build/build_base.html:134 msgid "Required build quantity has not yet been completed" -msgstr "未完成所需生产数量" +msgstr "" #: build/templates/build/build_base.html:139 msgid "Stock has not been fully allocated to this Build Order" -msgstr "库存尚未被完全分配到此生产订单" +msgstr "" #: build/templates/build/build_base.html:160 #: build/templates/build/detail.html:138 order/models.py:309 @@ -1728,12 +1728,12 @@ msgstr "库存尚未被完全分配到此生产订单" #: templates/js/translated/sales_order.js:871 #: templates/js/translated/sales_order.js:1903 msgid "Target Date" -msgstr "预计日期" +msgstr "" #: build/templates/build/build_base.html:165 #, python-format msgid "This build was due on %(target)s" -msgstr "此次生产的截止日期为 %(target)s" +msgstr "" #: build/templates/build/build_base.html:165 #: build/templates/build/build_base.html:222 @@ -1745,12 +1745,12 @@ msgstr "此次生产的截止日期为 %(target)s" #: templates/js/translated/table_filters.js:626 #: templates/js/translated/table_filters.js:667 msgid "Overdue" -msgstr "逾期" +msgstr "" #: build/templates/build/build_base.html:177 #: build/templates/build/detail.html:67 build/templates/build/sidebar.html:13 msgid "Completed Outputs" -msgstr "产出已完成" +msgstr "" #: build/templates/build/build_base.html:190 #: build/templates/build/detail.html:101 order/api.py:1384 order/models.py:845 @@ -1766,56 +1766,56 @@ msgstr "产出已完成" #: templates/js/translated/sales_order.js:1028 #: templates/js/translated/stock.js:2924 msgid "Sales Order" -msgstr "销售订单" +msgstr "" #: build/templates/build/build_base.html:197 #: build/templates/build/detail.html:115 #: report/templates/report/inventree_build_order_report.html:152 #: templates/js/translated/table_filters.js:24 msgid "Issued By" -msgstr "发布者" +msgstr "" #: build/templates/build/build_base.html:211 #: build/templates/build/detail.html:94 templates/js/translated/build.js:2156 msgid "Priority" -msgstr "優先等級" +msgstr "" #: build/templates/build/build_base.html:269 msgid "Delete Build Order" -msgstr "删除生产订单" +msgstr "" #: build/templates/build/build_base.html:279 msgid "Build Order QR Code" -msgstr "生产订单二维码" +msgstr "" #: build/templates/build/build_base.html:291 msgid "Link Barcode to Build Order" -msgstr "将条形码链接到生产订单" +msgstr "" #: build/templates/build/detail.html:15 msgid "Build Details" -msgstr "生产详情" +msgstr "" #: build/templates/build/detail.html:38 msgid "Stock Source" -msgstr "库存来源" +msgstr "" #: build/templates/build/detail.html:43 msgid "Stock can be taken from any available location." -msgstr "库存可以从任何可用地点获得。" +msgstr "" #: build/templates/build/detail.html:49 order/models.py:1448 #: templates/js/translated/purchase_order.js:2189 msgid "Destination" -msgstr "目的地" +msgstr "" #: build/templates/build/detail.html:56 msgid "Destination location not specified" -msgstr "未指定目的地" +msgstr "" #: build/templates/build/detail.html:73 msgid "Allocated Parts" -msgstr "已分配的零件" +msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:162 #: stock/templates/stock/item_base.html:162 @@ -1827,7 +1827,7 @@ msgstr "已分配的零件" #: templates/js/translated/table_filters.js:313 #: templates/js/translated/table_filters.js:404 msgid "Batch" -msgstr "队列" +msgstr "" #: build/templates/build/detail.html:133 #: order/templates/order/order_base.html:173 @@ -1835,86 +1835,86 @@ msgstr "队列" #: order/templates/order/sales_order_base.html:190 #: templates/js/translated/build.js:2199 msgid "Created" -msgstr "已创建" +msgstr "" #: build/templates/build/detail.html:144 msgid "No target date set" -msgstr "未设置目标日期" +msgstr "" #: build/templates/build/detail.html:149 #: order/templates/order/sales_order_base.html:206 #: templates/js/translated/table_filters.js:689 msgid "Completed" -msgstr "已完成" +msgstr "" #: build/templates/build/detail.html:153 msgid "Build not complete" -msgstr "生产未完成" +msgstr "" #: build/templates/build/detail.html:164 build/templates/build/sidebar.html:17 msgid "Child Build Orders" -msgstr "子生产订单" +msgstr "" #: build/templates/build/detail.html:177 msgid "Allocate Stock to Build" -msgstr "为生产分配库存" +msgstr "" #: build/templates/build/detail.html:181 msgid "Deallocate stock" -msgstr "取消库存分配" +msgstr "" #: build/templates/build/detail.html:182 msgid "Deallocate Stock" -msgstr "取消库存分配" +msgstr "" #: build/templates/build/detail.html:184 msgid "Automatically allocate stock to build" -msgstr "自动分配库存以生产" +msgstr "" #: build/templates/build/detail.html:185 msgid "Auto Allocate" -msgstr "自動分配" +msgstr "" #: build/templates/build/detail.html:187 msgid "Manually allocate stock to build" -msgstr "手動分配庫存進行生產" +msgstr "" #: build/templates/build/detail.html:188 build/templates/build/sidebar.html:8 msgid "Allocate Stock" -msgstr "分配庫存" +msgstr "" #: build/templates/build/detail.html:191 msgid "Order required parts" -msgstr "订单所需零件" +msgstr "" #: build/templates/build/detail.html:192 #: templates/js/translated/purchase_order.js:795 msgid "Order Parts" -msgstr "订购零件" +msgstr "" #: build/templates/build/detail.html:205 msgid "Available stock has been filtered based on specified source location for this build order" -msgstr "可用库存已根据此生产订单指定的来源位置进行筛选" +msgstr "" #: build/templates/build/detail.html:215 msgid "Incomplete Build Outputs" -msgstr "未完成产出" +msgstr "" #: build/templates/build/detail.html:219 msgid "Create new build output" -msgstr "创建新的生产产出" +msgstr "" #: build/templates/build/detail.html:220 msgid "New Build Output" -msgstr "新建生产产出" +msgstr "" #: build/templates/build/detail.html:237 build/templates/build/sidebar.html:15 msgid "Consumed Stock" -msgstr "已消耗的库存" +msgstr "" #: build/templates/build/detail.html:249 msgid "Completed Build Outputs" -msgstr "已完成的产出" +msgstr "" #: build/templates/build/detail.html:261 build/templates/build/sidebar.html:19 #: company/templates/company/detail.html:229 @@ -1930,121 +1930,121 @@ msgstr "已完成的产出" #: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:110 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" -msgstr "附件" +msgstr "" #: build/templates/build/detail.html:276 msgid "Build Notes" -msgstr "生产备注" +msgstr "" #: build/templates/build/detail.html:426 msgid "Allocation Complete" -msgstr "分配完成" +msgstr "" #: build/templates/build/detail.html:427 msgid "All lines have been fully allocated" -msgstr "所有行项目已全部分配" +msgstr "" #: build/templates/build/index.html:18 part/templates/part/detail.html:319 msgid "New Build Order" -msgstr "新建生产订单" +msgstr "" #: build/templates/build/sidebar.html:5 msgid "Build Order Details" -msgstr "生产订单详情" +msgstr "" #: build/templates/build/sidebar.html:10 msgid "Incomplete Outputs" -msgstr "未完成的产出" +msgstr "" #: common/api.py:690 msgid "Is Link" -msgstr "是否链接" +msgstr "" #: common/api.py:698 msgid "Is File" -msgstr "是否为文件" +msgstr "" #: common/api.py:740 msgid "User does not have permission to delete this attachment" -msgstr "用户没有权限删除此附件" +msgstr "" #: common/currency.py:132 msgid "Invalid currency code" -msgstr "无效的货币代码" +msgstr "" #: common/currency.py:134 msgid "Duplicate currency code" -msgstr "重复的货币代码" +msgstr "" #: common/currency.py:139 msgid "No valid currency codes provided" -msgstr "未提供有效的货币代码" +msgstr "" #: common/currency.py:156 msgid "No plugin" -msgstr "暂无插件" +msgstr "" #: common/files.py:63 #, python-brace-format msgid "Unsupported file format: {fmt}" -msgstr "不支持的文件格式: {fmt}" +msgstr "" #: common/files.py:65 msgid "Error reading file (invalid encoding)" -msgstr "读取文件时发生错误 (无效编码)" +msgstr "" #: common/files.py:70 msgid "Error reading file (invalid format)" -msgstr "读取文件时发生错误 (无效格式)" +msgstr "" #: common/files.py:72 msgid "Error reading file (incorrect dimension)" -msgstr "读取文件时发生错误 (尺寸错误)" +msgstr "" #: common/files.py:74 msgid "Error reading file (data could be corrupted)" -msgstr "读取文件时发生错误 (数据可能已损坏)" +msgstr "" #: common/forms.py:12 msgid "File" -msgstr "檔案" +msgstr "" #: common/forms.py:12 msgid "Select file to upload" -msgstr "選擇要上傳的檔案" +msgstr "" #: common/forms.py:25 msgid "{name.title()} File" -msgstr "{name.title()} 文件" +msgstr "" #: common/forms.py:26 #, python-brace-format msgid "Select {name} file to upload" -msgstr "选择 {name} 文件上传" +msgstr "" #: common/models.py:73 msgid "Updated" -msgstr "已是最新" +msgstr "" #: common/models.py:74 msgid "Timestamp of last update" -msgstr "最后更新时间戳" +msgstr "" #: common/models.py:107 msgid "Site URL is locked by configuration" -msgstr "网站 URL 已配置为锁定" +msgstr "" #: common/models.py:137 msgid "Unique project code" -msgstr "唯一项目编码" +msgstr "" #: common/models.py:144 msgid "Project description" -msgstr "项目描述" +msgstr "" #: common/models.py:153 msgid "User or group responsible for this project" -msgstr "负责此项目的用户或群组" +msgstr "" #: common/models.py:770 msgid "Settings key (must be unique - case insensitive)" @@ -2052,242 +2052,242 @@ msgstr "" #: common/models.py:774 msgid "Settings value" -msgstr "设定值" +msgstr "" #: common/models.py:826 msgid "Chosen value is not a valid option" -msgstr "所选值不是一个有效的选项" +msgstr "" #: common/models.py:842 msgid "Value must be a boolean value" -msgstr "该值必须是布尔值" +msgstr "" #: common/models.py:850 msgid "Value must be an integer value" -msgstr "该值必须为整数" +msgstr "" #: common/models.py:887 msgid "Key string must be unique" -msgstr "键字符串必须是唯一的" +msgstr "" #: common/models.py:1119 msgid "No group" -msgstr "无分组" +msgstr "" #: common/models.py:1218 msgid "Restart required" -msgstr "需要重启" +msgstr "" #: common/models.py:1220 msgid "A setting has been changed which requires a server restart" -msgstr "设置已更改,需要服务器重启" +msgstr "" #: common/models.py:1227 msgid "Pending migrations" -msgstr "等待迁移" +msgstr "" #: common/models.py:1228 msgid "Number of pending database migrations" -msgstr "待处理的数据库迁移数" +msgstr "" #: common/models.py:1233 msgid "Server Instance Name" -msgstr "服务器实例名称" +msgstr "" #: common/models.py:1235 msgid "String descriptor for the server instance" -msgstr "服务器实例的字符串描述符" +msgstr "" #: common/models.py:1239 msgid "Use instance name" -msgstr "使用实例名称" +msgstr "" #: common/models.py:1240 msgid "Use the instance name in the title-bar" -msgstr "在标题栏中使用实例名称" +msgstr "" #: common/models.py:1245 msgid "Restrict showing `about`" -msgstr "限制显示 `关于` 信息" +msgstr "" #: common/models.py:1246 msgid "Show the `about` modal only to superusers" -msgstr "只向超级管理员显示关于信息" +msgstr "" #: common/models.py:1251 company/models.py:111 company/models.py:112 msgid "Company name" -msgstr "公司名称" +msgstr "" #: common/models.py:1252 msgid "Internal company name" -msgstr "内部公司名称" +msgstr "" #: common/models.py:1256 msgid "Base URL" -msgstr "基本 URL" +msgstr "" #: common/models.py:1257 msgid "Base URL for server instance" -msgstr "服务器实例的基准 URL" +msgstr "" #: common/models.py:1263 msgid "Default Currency" -msgstr "默认货币单位" +msgstr "" #: common/models.py:1264 msgid "Select base currency for pricing calculations" -msgstr "选择价格计算的默认货币" +msgstr "" #: common/models.py:1270 msgid "Supported Currencies" -msgstr "支持币种" +msgstr "" #: common/models.py:1271 msgid "List of supported currency codes" -msgstr "支持的货币代码列表" +msgstr "" #: common/models.py:1277 msgid "Currency Update Interval" -msgstr "货币更新间隔时间" +msgstr "" #: common/models.py:1279 msgid "How often to update exchange rates (set to zero to disable)" -msgstr "检查更新的频率(设置为零以禁用)" +msgstr "" #: common/models.py:1282 common/models.py:1338 common/models.py:1351 #: common/models.py:1359 common/models.py:1368 common/models.py:1377 #: common/models.py:1601 common/models.py:1623 common/models.py:1738 #: common/models.py:2111 msgid "days" -msgstr "天" +msgstr "" #: common/models.py:1286 msgid "Currency Update Plugin" -msgstr "币种更新插件" +msgstr "" #: common/models.py:1287 msgid "Currency update plugin to use" -msgstr "使用货币更新插件" +msgstr "" #: common/models.py:1292 msgid "Download from URL" -msgstr "从URL下载" +msgstr "" #: common/models.py:1294 msgid "Allow download of remote images and files from external URL" -msgstr "允许从外部 URL 下载远程图片和文件" +msgstr "" #: common/models.py:1300 msgid "Download Size Limit" -msgstr "下载大小限制" +msgstr "" #: common/models.py:1301 msgid "Maximum allowable download size for remote image" -msgstr "远程图片的最大允许下载大小" +msgstr "" #: common/models.py:1307 msgid "User-agent used to download from URL" -msgstr "用于从 URL 下载的 User-agent" +msgstr "" #: common/models.py:1309 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" -msgstr "允许覆盖用于从外部 URL 下载图片和文件的 user-agent(留空为默认值)" +msgstr "" #: common/models.py:1314 msgid "Strict URL Validation" -msgstr "严格的 URL 验证" +msgstr "" #: common/models.py:1315 msgid "Require schema specification when validating URLs" -msgstr "验证 URL 时需要 schema 规范" +msgstr "" #: common/models.py:1320 msgid "Require confirm" -msgstr "需要确认" +msgstr "" #: common/models.py:1321 msgid "Require explicit user confirmation for certain action." -msgstr "对某些操作需要用户明确确认。" +msgstr "" #: common/models.py:1326 msgid "Tree Depth" -msgstr "树深度" +msgstr "" #: common/models.py:1328 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." -msgstr "树视图的默认树深度。更深的层级可以在需要时延迟加载。" +msgstr "" #: common/models.py:1334 msgid "Update Check Interval" -msgstr "更新检查间隔" +msgstr "" #: common/models.py:1335 msgid "How often to check for updates (set to zero to disable)" -msgstr "检查更新的频率(设置为零以禁用)" +msgstr "" #: common/models.py:1341 msgid "Automatic Backup" -msgstr "自動備份" +msgstr "" #: common/models.py:1342 msgid "Enable automatic backup of database and media files" -msgstr "啟動資料庫和媒體文件自動備份" +msgstr "" #: common/models.py:1347 msgid "Auto Backup Interval" -msgstr "自動備份間隔" +msgstr "" #: common/models.py:1348 msgid "Specify number of days between automated backup events" -msgstr "指定自动备份之间的间隔天数" +msgstr "" #: common/models.py:1354 msgid "Task Deletion Interval" -msgstr "任务删除间隔" +msgstr "" #: common/models.py:1356 msgid "Background task results will be deleted after specified number of days" -msgstr "后台任务结果将在指定天数后删除" +msgstr "" #: common/models.py:1363 msgid "Error Log Deletion Interval" -msgstr "错误日志删除间隔" +msgstr "" #: common/models.py:1365 msgid "Error logs will be deleted after specified number of days" -msgstr "错误日志将在指定天数后被删除" +msgstr "" #: common/models.py:1372 msgid "Notification Deletion Interval" -msgstr "通知删除间隔" +msgstr "" #: common/models.py:1374 msgid "User notifications will be deleted after specified number of days" -msgstr "用户通知将在指定天数后被删除" +msgstr "" #: common/models.py:1381 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" -msgstr "条形码支持" +msgstr "" #: common/models.py:1382 msgid "Enable barcode scanner support in the web interface" -msgstr "在网页界面启用条形码扫描器支持" +msgstr "" #: common/models.py:1387 msgid "Barcode Input Delay" -msgstr "条形码扫描延迟设置" +msgstr "" #: common/models.py:1388 msgid "Barcode input processing delay time" -msgstr "条形码输入处理延迟时间" +msgstr "" #: common/models.py:1394 msgid "Barcode Webcam Support" -msgstr "条码摄像头支持" +msgstr "" #: common/models.py:1395 msgid "Allow barcode scanning via webcam in browser" -msgstr "允许通过网络摄像头扫描条形码" +msgstr "" #: common/models.py:1400 msgid "Barcode Show Data" @@ -2299,39 +2299,39 @@ msgstr "" #: common/models.py:1406 msgid "Part Revisions" -msgstr "零件修订" +msgstr "" #: common/models.py:1407 msgid "Enable revision field for Part" -msgstr "启用零件修订字段" +msgstr "" #: common/models.py:1412 msgid "Allow Deletion from Assembly" -msgstr "允许从装配中删除" +msgstr "" #: common/models.py:1413 msgid "Allow deletion of parts which are used in an assembly" -msgstr "允许删除已在装配中使用的零件" +msgstr "" #: common/models.py:1418 msgid "IPN Regex" -msgstr "IPN 内部零件号" +msgstr "" #: common/models.py:1419 msgid "Regular expression pattern for matching Part IPN" -msgstr "匹配零件 IPN(内部零件号)的正则表达式模式" +msgstr "" #: common/models.py:1422 msgid "Allow Duplicate IPN" -msgstr "允许重复的 IPN(内部零件号)" +msgstr "" #: common/models.py:1423 msgid "Allow multiple parts to share the same IPN" -msgstr "允许多个零件共享相同的 IPN(内部零件号)" +msgstr "" #: common/models.py:1428 msgid "Allow Editing IPN" -msgstr "允许编辑 IPN(内部零件号)" +msgstr "" #: common/models.py:1429 msgid "Allow changing the IPN value while editing a part" @@ -2375,7 +2375,7 @@ msgstr "" #: templates/js/translated/table_filters.js:139 #: templates/js/translated/table_filters.js:772 msgid "Template" -msgstr "模板" +msgstr "" #: common/models.py:1459 msgid "Parts are templates by default" @@ -2395,7 +2395,7 @@ msgstr "" #: common/models.py:1470 part/admin.py:95 part/models.py:1062 #: templates/js/translated/table_filters.js:734 msgid "Component" -msgstr "组件" +msgstr "" #: common/models.py:1471 msgid "Parts can be used as sub-components by default" @@ -2443,7 +2443,7 @@ msgstr "" #: common/models.py:1506 msgid "Show related parts" -msgstr "显示相关零件" +msgstr "" #: common/models.py:1507 msgid "Display related parts for a part" @@ -2547,222 +2547,222 @@ msgstr "" #: common/models.py:1611 msgid "Active Variants Only" -msgstr "仅限活跃变体" +msgstr "" #: common/models.py:1613 msgid "Only use active variant parts for calculating variant pricing" -msgstr "仅使用活跃变体零件计算变体价格" +msgstr "" #: common/models.py:1619 msgid "Pricing Rebuild Interval" -msgstr "价格重建间隔" +msgstr "" #: common/models.py:1621 msgid "Number of days before part pricing is automatically updated" -msgstr "零件价格自动更新前的天数" +msgstr "" #: common/models.py:1628 msgid "Internal Prices" -msgstr "内部价格" +msgstr "" #: common/models.py:1629 msgid "Enable internal prices for parts" -msgstr "启用内部零件价格" +msgstr "" #: common/models.py:1634 msgid "Internal Price Override" -msgstr "覆盖内部价格" +msgstr "" #: common/models.py:1636 msgid "If available, internal prices override price range calculations" -msgstr "如果有内部价格,内部价格将覆盖价格范围计算" +msgstr "" #: common/models.py:1642 msgid "Enable label printing" -msgstr "启用标签打印功能" +msgstr "" #: common/models.py:1643 msgid "Enable label printing from the web interface" -msgstr "启用从网络界面打印标签" +msgstr "" #: common/models.py:1648 msgid "Label Image DPI" -msgstr "标签图片 DPI" +msgstr "" #: common/models.py:1650 msgid "DPI resolution when generating image files to supply to label printing plugins" -msgstr "生成图像文件以供标签打印插件使用时的 DPI 分辨率" +msgstr "" #: common/models.py:1656 msgid "Enable Reports" -msgstr "启用报告" +msgstr "" #: common/models.py:1657 msgid "Enable generation of reports" -msgstr "启用报告生成" +msgstr "" #: common/models.py:1662 templates/stats.html:25 msgid "Debug Mode" -msgstr "调试模式" +msgstr "" #: common/models.py:1663 msgid "Generate reports in debug mode (HTML output)" -msgstr "以调试模式生成报告(HTML 输出)" +msgstr "" #: common/models.py:1668 msgid "Log Report Errors" -msgstr "日志错误报告" +msgstr "" #: common/models.py:1669 msgid "Log errors which occur when generating reports" -msgstr "记录生成报告时出现的错误" +msgstr "" #: common/models.py:1674 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:302 msgid "Page Size" -msgstr "页面大小" +msgstr "" #: common/models.py:1675 msgid "Default page size for PDF reports" -msgstr "PDF 报告默认页面大小" +msgstr "" #: common/models.py:1680 msgid "Enable Test Reports" -msgstr "启用测试报告" +msgstr "" #: common/models.py:1681 msgid "Enable generation of test reports" -msgstr "启用生成测试报表" +msgstr "" #: common/models.py:1686 msgid "Attach Test Reports" -msgstr "添加测试报告" +msgstr "" #: common/models.py:1688 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" -msgstr "在打印测试报告时,将测试报告副本附加到相关的库存项" +msgstr "" #: common/models.py:1694 msgid "Globally Unique Serials" -msgstr "全局唯一序列号" +msgstr "" #: common/models.py:1695 msgid "Serial numbers for stock items must be globally unique" -msgstr "库存项的序列号必须全局唯一" +msgstr "" #: common/models.py:1700 msgid "Autofill Serial Numbers" -msgstr "自动填充序列号" +msgstr "" #: common/models.py:1701 msgid "Autofill serial numbers in forms" -msgstr "在表格中自动填充序列号" +msgstr "" #: common/models.py:1706 msgid "Delete Depleted Stock" -msgstr "删除已耗尽的库存" +msgstr "" #: common/models.py:1708 msgid "Determines default behavior when a stock item is depleted" -msgstr "设置库存耗尽时的默认行为" +msgstr "" #: common/models.py:1714 msgid "Batch Code Template" -msgstr "批号模板" +msgstr "" #: common/models.py:1716 msgid "Template for generating default batch codes for stock items" -msgstr "为库存项生成默认批号的模板" +msgstr "" #: common/models.py:1721 msgid "Stock Expiry" -msgstr "库存过期" +msgstr "" #: common/models.py:1722 msgid "Enable stock expiry functionality" -msgstr "启用库存过期功能" +msgstr "" #: common/models.py:1727 msgid "Sell Expired Stock" -msgstr "销售过期库存" +msgstr "" #: common/models.py:1728 msgid "Allow sale of expired stock" -msgstr "允许销售过期库存" +msgstr "" #: common/models.py:1733 msgid "Stock Stale Time" -msgstr "库存过期时间" +msgstr "" #: common/models.py:1735 msgid "Number of days stock items are considered stale before expiring" -msgstr "库存项在到期前被视为过期的天数" +msgstr "" #: common/models.py:1742 msgid "Build Expired Stock" -msgstr "生产过期库存" +msgstr "" #: common/models.py:1743 msgid "Allow building with expired stock" -msgstr "允许用过期的库存生产" +msgstr "" #: common/models.py:1748 msgid "Stock Ownership Control" -msgstr "库存所有权控制" +msgstr "" #: common/models.py:1749 msgid "Enable ownership control over stock locations and items" -msgstr "启用库存地点和项目的所有权控制" +msgstr "" #: common/models.py:1754 msgid "Stock Location Default Icon" -msgstr "库存地点默认图标" +msgstr "" #: common/models.py:1755 msgid "Stock location default icon (empty means no icon)" -msgstr "库存地点默认图标 (空表示没有图标)" +msgstr "" #: common/models.py:1759 msgid "Show Installed Stock Items" -msgstr "显示已安装的库存项" +msgstr "" #: common/models.py:1760 msgid "Display installed stock items in stock tables" -msgstr "在库存表中显示已安装的库存项" +msgstr "" #: common/models.py:1765 msgid "Check BOM when installing items" -msgstr "在安装项目时检查物料清单" +msgstr "" #: common/models.py:1767 msgid "Installed stock items must exist in the BOM for the parent part" -msgstr "已安装的库存项目必须存在于上级零件的物料清单中" +msgstr "" #: common/models.py:1773 msgid "Allow Out of Stock Transfer" -msgstr "允许超出库存转移" +msgstr "" #: common/models.py:1775 msgid "Allow stock items which are not in stock to be transferred between stock locations" -msgstr "允许非库存的库存项目在库存位置之间转移" +msgstr "" #: common/models.py:1781 msgid "Build Order Reference Pattern" -msgstr "生产订单参考模式" +msgstr "" #: common/models.py:1783 msgid "Required pattern for generating Build Order reference field" -msgstr "生成生产订单参考字段所需的模式" +msgstr "" #: common/models.py:1789 common/models.py:1837 common/models.py:1859 #: common/models.py:1895 msgid "Require Responsible Owner" -msgstr "要求负责人" +msgstr "" #: common/models.py:1790 common/models.py:1838 common/models.py:1860 #: common/models.py:1896 msgid "A responsible owner must be assigned to each order" -msgstr "必须为每个订单分配一个负责人" +msgstr "" #: common/models.py:1795 msgid "Require Active Part" @@ -2790,87 +2790,87 @@ msgstr "" #: common/models.py:1815 msgid "Block Until Tests Pass" -msgstr "阻止直到测试通过" +msgstr "" #: common/models.py:1817 msgid "Prevent build outputs from being completed until all required tests pass" -msgstr "在所有必要的测试通过之前,阻止产出完成" +msgstr "" #: common/models.py:1823 msgid "Enable Return Orders" -msgstr "启用订单退货" +msgstr "" #: common/models.py:1824 msgid "Enable return order functionality in the user interface" -msgstr "在用户界面中启用订单退货功能" +msgstr "" #: common/models.py:1829 msgid "Return Order Reference Pattern" -msgstr "退货订单参考模式" +msgstr "" #: common/models.py:1831 msgid "Required pattern for generating Return Order reference field" -msgstr "生成退货订单参考字段所需的模式" +msgstr "" #: common/models.py:1843 msgid "Edit Completed Return Orders" -msgstr "编辑已完成的退货订单" +msgstr "" #: common/models.py:1845 msgid "Allow editing of return orders after they have been completed" -msgstr "允许编辑已完成的退货订单" +msgstr "" #: common/models.py:1851 msgid "Sales Order Reference Pattern" -msgstr "销售订单参考模式" +msgstr "" #: common/models.py:1853 msgid "Required pattern for generating Sales Order reference field" -msgstr "生成销售订单参考字段所需参照模式" +msgstr "" #: common/models.py:1865 msgid "Sales Order Default Shipment" -msgstr "销售订单默认配送方式" +msgstr "" #: common/models.py:1866 msgid "Enable creation of default shipment with sales orders" -msgstr "启用创建销售订单的默认配送功能" +msgstr "" #: common/models.py:1871 msgid "Edit Completed Sales Orders" -msgstr "编辑已完成的销售订单" +msgstr "" #: common/models.py:1873 msgid "Allow editing of sales orders after they have been shipped or completed" -msgstr "允许在订单配送或完成后编辑销售订单" +msgstr "" #: common/models.py:1879 msgid "Mark Shipped Orders as Complete" -msgstr "标记该订单为已完成?" +msgstr "" #: common/models.py:1881 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" -msgstr "标记为已发货的销售订单将自动完成,绕过“已发货”状态" +msgstr "" #: common/models.py:1887 msgid "Purchase Order Reference Pattern" -msgstr "采购订单参考模式" +msgstr "" #: common/models.py:1889 msgid "Required pattern for generating Purchase Order reference field" -msgstr "生成采购订单参考字段所需的模式" +msgstr "" #: common/models.py:1901 msgid "Edit Completed Purchase Orders" -msgstr "编辑已完成的采购订单" +msgstr "" #: common/models.py:1903 msgid "Allow editing of purchase orders after they have been shipped or completed" -msgstr "允许在采购订单已配送或完成后编辑订单" +msgstr "" #: common/models.py:1909 msgid "Auto Complete Purchase Orders" -msgstr "自动完成采购订单" +msgstr "" #: common/models.py:1911 msgid "Automatically mark purchase orders as complete when all line items are received" @@ -3520,7 +3520,7 @@ msgstr "" #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 msgid "User" -msgstr "使用者" +msgstr "" #: common/models.py:2545 msgid "Price break quantity" @@ -3638,7 +3638,7 @@ msgstr "" #: templates/js/translated/sales_order.js:1092 #: templates/js/translated/sales_order.js:2023 msgid "Link" -msgstr "連結" +msgstr "" #: common/models.py:2973 templates/js/translated/news.js:60 msgid "Published" @@ -3719,24 +3719,24 @@ msgstr "" #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" -msgstr "附件" +msgstr "" #: common/models.py:3175 msgid "Missing file" -msgstr "缺少檔案" +msgstr "" #: common/models.py:3176 msgid "Missing external link" -msgstr "缺少外部連結" +msgstr "" #: common/models.py:3221 msgid "Select file to attach" -msgstr "選擇附件" +msgstr "" #: common/models.py:3236 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" -msgstr "註解" +msgstr "" #: common/models.py:3237 msgid "Attachment comment" @@ -3858,7 +3858,7 @@ msgstr "" #: common/serializers.py:529 msgid "Filename" -msgstr "檔案名稱" +msgstr "" #: common/serializers.py:536 report/api.py:100 report/serializers.py:53 msgid "Model Type" @@ -3886,12 +3886,12 @@ msgstr "" #: common/validators.py:103 msgid "An empty domain is not allowed." -msgstr "不允许空域。" +msgstr "" #: common/validators.py:105 #, python-brace-format msgid "Invalid domain name: {domain}" -msgstr "无效的域名: {domain}" +msgstr "" #: 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 @@ -4546,7 +4546,7 @@ msgstr "" #: templates/js/translated/search.js:219 templates/navbar.html:62 #: users/models.py:209 msgid "Sales Orders" -msgstr "銷售訂單" +msgstr "" #: company/templates/company/detail.html:105 #: order/templates/order/sales_orders.html:20 @@ -4816,7 +4816,7 @@ msgstr "" #: generic/states/tests.py:18 order/status_codes.py:13 msgid "Placed" -msgstr "放置" +msgstr "" #: importer/mixins.py:263 msgid "Invalid export format" @@ -5375,7 +5375,7 @@ msgstr "" #: templates/js/translated/sales_order.js:1680 #: templates/js/translated/sales_order.js:1993 msgid "Shipped" -msgstr "已配送" +msgstr "" #: order/models.py:1595 msgid "Shipped quantity" @@ -5631,7 +5631,7 @@ msgstr "" #: order/serializers.py:630 templates/js/translated/purchase_order.js:1130 msgid "Enter batch code for incoming stock items" -msgstr "输入入库项目的批号" +msgstr "" #: order/serializers.py:638 templates/js/translated/purchase_order.js:1154 msgid "Enter serial numbers for incoming stock items" @@ -5723,35 +5723,35 @@ msgstr "" #: order/status_codes.py:16 order/status_codes.py:46 stock/status_codes.py:16 msgid "Lost" -msgstr "丢失" +msgstr "" #: order/status_codes.py:17 order/status_codes.py:47 stock/status_codes.py:22 msgid "Returned" -msgstr "已退回" +msgstr "" #: order/status_codes.py:40 order/status_codes.py:67 msgid "In Progress" -msgstr "正在进行" +msgstr "" #: order/status_codes.py:85 msgid "Return" -msgstr "退回" +msgstr "" #: order/status_codes.py:88 msgid "Repair" -msgstr "維修" +msgstr "" #: order/status_codes.py:91 msgid "Replace" -msgstr "替換" +msgstr "" #: order/status_codes.py:94 msgid "Refund" -msgstr "退款" +msgstr "" #: order/status_codes.py:97 msgid "Reject" -msgstr "拒絕" +msgstr "" #: order/tasks.py:25 msgid "Overdue Purchase Order" @@ -6242,7 +6242,7 @@ msgstr "" #: templates/js/translated/part.js:2807 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:203 msgid "Parts" -msgstr "零件" +msgstr "" #: part/admin.py:378 msgid "BOM Level" @@ -7959,7 +7959,7 @@ msgstr "" #: templates/js/translated/part.js:2395 templates/js/translated/stock.js:1059 #: templates/js/translated/stock.js:2070 templates/navbar.html:31 msgid "Stock" -msgstr "庫存" +msgstr "" #: part/templates/part/part_sidebar.html:30 #: templates/InvenTree/settings/sidebar.html:39 @@ -8083,7 +8083,7 @@ msgstr "" #: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:120 msgid "Low Stock" -msgstr "低庫存" +msgstr "" #: part/templates/part/upload_bom.html:8 msgid "Return to BOM" @@ -9342,7 +9342,7 @@ msgstr "" #: stock/models.py:843 stock/serializers.py:1525 msgid "Batch code for this stock item" -msgstr "此库存项的批号" +msgstr "" #: stock/models.py:848 msgid "Stock Quantity" @@ -9499,7 +9499,7 @@ msgstr "" #: stock/models.py:2464 msgid "Test output value" -msgstr "测试输出值" +msgstr "" #: stock/models.py:2472 msgid "Test result attachment" @@ -9798,131 +9798,131 @@ msgstr "" #: stock/status_codes.py:11 msgid "OK" -msgstr "OK" +msgstr "" #: stock/status_codes.py:12 msgid "Attention needed" -msgstr "需要关注" +msgstr "" #: stock/status_codes.py:13 msgid "Damaged" -msgstr "破损" +msgstr "" #: stock/status_codes.py:14 msgid "Destroyed" -msgstr "销毁" +msgstr "" #: stock/status_codes.py:15 msgid "Rejected" -msgstr "拒绝" +msgstr "" #: stock/status_codes.py:19 msgid "Quarantined" -msgstr "隔离" +msgstr "" #: stock/status_codes.py:40 msgid "Legacy stock tracking entry" -msgstr "旧库存跟踪条目" +msgstr "" #: stock/status_codes.py:42 templates/js/translated/stock.js:544 msgid "Stock item created" -msgstr "库存项已创建" +msgstr "" #: stock/status_codes.py:45 msgid "Edited stock item" -msgstr "已编辑库存项" +msgstr "" #: stock/status_codes.py:46 msgid "Assigned serial number" -msgstr "已分配序列号" +msgstr "" #: stock/status_codes.py:49 msgid "Stock counted" -msgstr "库存计数" +msgstr "" #: stock/status_codes.py:50 msgid "Stock manually added" -msgstr "已手动添加库存" +msgstr "" #: stock/status_codes.py:51 msgid "Stock manually removed" -msgstr "已手动删除库存" +msgstr "" #: stock/status_codes.py:54 msgid "Location changed" -msgstr "地点已更改" +msgstr "" #: stock/status_codes.py:55 msgid "Stock updated" -msgstr "库存已更新" +msgstr "" #: stock/status_codes.py:58 msgid "Installed into assembly" -msgstr "已安装到装配中" +msgstr "" #: stock/status_codes.py:59 msgid "Removed from assembly" -msgstr "已从装配中删除" +msgstr "" #: stock/status_codes.py:61 msgid "Installed component item" -msgstr "已安装组件项" +msgstr "" #: stock/status_codes.py:62 msgid "Removed component item" -msgstr "已删除组件项" +msgstr "" #: stock/status_codes.py:65 msgid "Split from parent item" -msgstr "从上级项拆分" +msgstr "" #: stock/status_codes.py:66 msgid "Split child item" -msgstr "拆分子项" +msgstr "" #: stock/status_codes.py:69 templates/js/translated/stock.js:1858 msgid "Merged stock items" -msgstr "合并的库存项" +msgstr "" #: stock/status_codes.py:72 msgid "Converted to variant" -msgstr "转换为变体" +msgstr "" #: stock/status_codes.py:75 msgid "Build order output created" -msgstr "已创建生产订单产出" +msgstr "" #: stock/status_codes.py:76 msgid "Build order output completed" -msgstr "生产订单已出产" +msgstr "" #: stock/status_codes.py:77 msgid "Build order output rejected" -msgstr "生产订单产出被拒绝" +msgstr "" #: stock/status_codes.py:78 templates/js/translated/stock.js:1764 msgid "Consumed by build order" -msgstr "被工單消耗的" +msgstr "" #: stock/status_codes.py:81 msgid "Shipped against Sales Order" -msgstr "按銷售訂單出貨" +msgstr "" #: stock/status_codes.py:84 msgid "Received against Purchase Order" -msgstr "按採購訂單接收" +msgstr "" #: stock/status_codes.py:87 msgid "Returned against Return Order" -msgstr "按退貨訂單退回" +msgstr "" #: stock/status_codes.py:90 templates/js/translated/table_filters.js:375 msgid "Sent to customer" -msgstr "寄送給客戶" +msgstr "" #: stock/status_codes.py:91 msgid "Returned from customer" -msgstr "從客戶端退回" +msgstr "" #: stock/templates/stock/item.html:17 msgid "Stock Tracking Information" @@ -11910,7 +11910,7 @@ msgstr "" #: templates/js/translated/build.js:244 msgid "There are incomplete outputs remaining for this build order" -msgstr "此生产订单还有未完成的产出" +msgstr "" #: templates/js/translated/build.js:296 msgid "Build order is ready to be completed" @@ -11918,7 +11918,7 @@ msgstr "" #: templates/js/translated/build.js:304 msgid "This build order cannot be completed as there are incomplete outputs" -msgstr "由于产出不完整,无法完成此生产订单" +msgstr "" #: templates/js/translated/build.js:309 msgid "Build Order is incomplete" @@ -11944,7 +11944,7 @@ msgstr "" #: templates/js/translated/build.js:380 msgid "Build outputs must be generated individually" -msgstr "必须单独生成生产输出" +msgstr "" #: templates/js/translated/build.js:388 msgid "Trackable parts can have serial numbers specified" @@ -11952,31 +11952,31 @@ msgstr "" #: templates/js/translated/build.js:389 msgid "Enter serial numbers to generate multiple single build outputs" -msgstr "输入序列号来生成多个单一生产输出" +msgstr "" #: templates/js/translated/build.js:396 msgid "Create Build Output" -msgstr "创建生产输出" +msgstr "" #: templates/js/translated/build.js:427 msgid "Allocate stock items to this build output" -msgstr "分配库存项到此生产输出" +msgstr "" #: templates/js/translated/build.js:435 msgid "Deallocate stock from build output" -msgstr "从生产输出中取消分配库存" +msgstr "" #: templates/js/translated/build.js:444 msgid "Complete build output" -msgstr "完成生产输出" +msgstr "" #: templates/js/translated/build.js:452 msgid "Scrap build output" -msgstr "报废生产输出" +msgstr "" #: templates/js/translated/build.js:459 msgid "Delete build output" -msgstr "删除生产输出" +msgstr "" #: templates/js/translated/build.js:479 msgid "Are you sure you wish to deallocate the selected stock items from this build?" @@ -11989,33 +11989,33 @@ msgstr "" #: templates/js/translated/build.js:583 templates/js/translated/build.js:711 #: templates/js/translated/build.js:837 msgid "Select Build Outputs" -msgstr "选择生产输出" +msgstr "" #: templates/js/translated/build.js:584 templates/js/translated/build.js:712 #: templates/js/translated/build.js:838 msgid "At least one build output must be selected" -msgstr "必须选择至少一个生产输出" +msgstr "" #: templates/js/translated/build.js:598 msgid "Selected build outputs will be marked as complete" -msgstr "选择的生产输出将被标记为完成" +msgstr "" #: templates/js/translated/build.js:602 templates/js/translated/build.js:736 #: templates/js/translated/build.js:860 msgid "Output" -msgstr "输出" +msgstr "" #: templates/js/translated/build.js:630 msgid "Complete Build Outputs" -msgstr "完成生产输出" +msgstr "" #: templates/js/translated/build.js:727 msgid "Selected build outputs will be marked as scrapped" -msgstr "选择的生产输出将被标记为已报废" +msgstr "" #: templates/js/translated/build.js:729 msgid "Scrapped output are marked as rejected" -msgstr "报废的输出被标记为拒收" +msgstr "" #: templates/js/translated/build.js:730 msgid "Allocated stock items will no longer be available" @@ -12027,15 +12027,15 @@ msgstr "" #: templates/js/translated/build.js:762 msgid "Scrap Build Outputs" -msgstr "报废生产输出" +msgstr "" #: templates/js/translated/build.js:852 msgid "Selected build outputs will be deleted" -msgstr "选定的生产输出将被删除" +msgstr "" #: templates/js/translated/build.js:854 msgid "Build output data will be permanently deleted" -msgstr "生产输出数据将被永久删除" +msgstr "" #: templates/js/translated/build.js:855 msgid "Allocated stock items will be returned to stock" @@ -12043,7 +12043,7 @@ msgstr "" #: templates/js/translated/build.js:873 msgid "Delete Build Outputs" -msgstr "删除生产输出" +msgstr "" #: templates/js/translated/build.js:960 msgid "No build order allocations found" @@ -12055,31 +12055,31 @@ msgstr "" #: templates/js/translated/build.js:1027 msgid "Complete outputs" -msgstr "已完成输出" +msgstr "" #: templates/js/translated/build.js:1045 msgid "Scrap outputs" -msgstr "报废输出" +msgstr "" #: templates/js/translated/build.js:1063 msgid "Delete outputs" -msgstr "删除输出" +msgstr "" #: templates/js/translated/build.js:1116 msgid "build output" -msgstr "生产输出" +msgstr "" #: templates/js/translated/build.js:1117 msgid "build outputs" -msgstr "生产输出" +msgstr "" #: templates/js/translated/build.js:1121 msgid "Build output actions" -msgstr "生产输出操作" +msgstr "" #: templates/js/translated/build.js:1297 msgid "No active build outputs found" -msgstr "未找到激活的生产输出" +msgstr "" #: templates/js/translated/build.js:1390 msgid "Allocated Lines" @@ -13335,7 +13335,7 @@ msgstr "" #: templates/js/translated/purchase_order.js:1217 msgid "Add batch code" -msgstr "添加批号" +msgstr "" #: templates/js/translated/purchase_order.js:1228 msgid "Add serial numbers" @@ -14155,7 +14155,7 @@ msgstr "" #: templates/js/translated/stock.js:3224 msgid "The Stock Item is tracked by either a batch code or serial number" -msgstr "库存项被批号或序列号跟踪" +msgstr "" #: templates/js/translated/stock.js:3237 msgid "Select part to install" @@ -14273,7 +14273,7 @@ msgstr "" #: templates/js/translated/table_filters.js:314 #: templates/js/translated/table_filters.js:405 msgid "Batch code" -msgstr "批号" +msgstr "" #: templates/js/translated/table_filters.js:325 #: templates/js/translated/table_filters.js:700 @@ -14339,11 +14339,11 @@ msgstr "" #: templates/js/translated/table_filters.js:400 msgid "Has batch code" -msgstr "有批号" +msgstr "" #: templates/js/translated/table_filters.js:409 msgid "Stock item is tracked by either batch code or serial number" -msgstr "库存项被批号或序列号追踪" +msgstr "" #: templates/js/translated/table_filters.js:414 msgid "Has purchase price" @@ -14504,11 +14504,11 @@ msgstr "" #: templates/navbar.html:45 msgid "Buy" -msgstr "採購" +msgstr "" #: templates/navbar.html:57 msgid "Sell" -msgstr "銷售" +msgstr "" #: templates/navbar.html:121 msgid "Show Notifications" @@ -14524,11 +14524,11 @@ msgstr "" #: templates/navbar.html:148 msgid "Logout" -msgstr "登出" +msgstr "" #: templates/notes_buttons.html:6 templates/notes_buttons.html:7 msgid "Save" -msgstr "儲存" +msgstr "" #: templates/notifications.html:9 msgid "Show all notifications and history" @@ -14556,7 +14556,7 @@ msgstr "" #: templates/registration/logged_out.html:7 msgid "You were logged out successfully." -msgstr "您已成功登出。" +msgstr "" #: templates/registration/logged_out.html:9 msgid "Log in again" From cf9d715d8b8092bacb9cc726b7f3aa5c3265e484 Mon Sep 17 00:00:00 2001 From: Oliver Date: Tue, 9 Jul 2024 00:56:50 +1000 Subject: [PATCH 27/36] Fix: New translations django.po from Crowdin --- .../InvenTree/locale/vi/LC_MESSAGES/django.po | 255 +++++------------- 1 file changed, 60 insertions(+), 195 deletions(-) diff --git a/src/backend/InvenTree/locale/vi/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/vi/LC_MESSAGES/django.po index dc43e0200fba..81dcba6000cb 100644 --- a/src/backend/InvenTree/locale/vi/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/vi/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-07-08 14:46+0000\n" -"PO-Revision-Date: 2024-07-05 14:58\n" +"PO-Revision-Date: 2024-07-08 14:56\n" "Last-Translator: \n" "Language-Team: Vietnamese\n" "Language: vi_VN\n" @@ -783,16 +783,12 @@ msgid "Assembly BOM has not been validated" msgstr "" #: build/models.py:134 -#, fuzzy -#| msgid "Stock item cannot be created for virtual parts" msgid "Build order cannot be created for an inactive part" -msgstr "Không thể tạo hàng hóa trong kho cho sản phẩm ảo" +msgstr "" #: build/models.py:141 -#, fuzzy -#| msgid "Build output cannot be specified for allocation of untracked parts" msgid "Build order cannot be created for an unlocked part" -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" +msgstr "" #: build/models.py:155 msgid "Invalid choice for parent build" @@ -1493,10 +1489,8 @@ msgid "Failed to start auto-allocation task" msgstr "" #: build/serializers.py:1095 -#, fuzzy -#| msgid "Supplier Part Orders" msgid "Supplier Part Number" -msgstr "Đơn đặt hàng nhà cung cấp" +msgstr "" #: build/serializers.py:1096 company/models.py:500 msgid "Manufacturer Part Number" @@ -1508,16 +1502,12 @@ msgid "Location Name" msgstr "Tên địa điểm" #: build/serializers.py:1098 -#, fuzzy -#| msgid "Build Order Reference" msgid "Build Reference" -msgstr "Tham chiếu đơn đặt bản dựng" +msgstr "" #: build/serializers.py:1099 -#, fuzzy -#| msgid "Reference" msgid "BOM Reference" -msgstr "Tham chiếu" +msgstr "" #: build/serializers.py:1186 part/admin.py:402 part/models.py:3993 msgid "Part IPN" @@ -1561,22 +1551,16 @@ msgid "Available Stock" msgstr "Số hàng tồn" #: build/serializers.py:1224 -#, fuzzy -#| msgid "Substitute Stock" msgid "Available Substitute Stock" -msgstr "Kho thay thế" +msgstr "" #: build/serializers.py:1225 -#, fuzzy -#| msgid "Available Stock" msgid "Available Variant Stock" -msgstr "Số hàng tồn" +msgstr "" #: build/serializers.py:1226 -#, fuzzy -#| msgid "Available Stock" msgid "Total Available Stock" -msgstr "Số hàng tồn" +msgstr "" #: build/serializers.py:1227 part/serializers.py:862 msgid "External Stock" @@ -2789,16 +2773,12 @@ msgid "Prevent build order creation for inactive parts" msgstr "" #: common/models.py:1801 -#, fuzzy -#| msgid "Return to Parts" msgid "Require Locked Part" -msgstr "Quay lại sản phẩm" +msgstr "" #: common/models.py:1802 -#, fuzzy -#| msgid "Print build order report" msgid "Prevent build order creation for unlocked parts" -msgstr "Báo cáo in đơn đặt bản dựng" +msgstr "" #: common/models.py:1807 msgid "Require Valid BOM" @@ -3704,10 +3684,8 @@ msgid "Target model ID for this image" msgstr "" #: common/models.py:3035 -#, fuzzy -#| msgid "Customer ID" msgid "Custom Unit" -msgstr "ID Khách hàng" +msgstr "" #: common/models.py:3056 msgid "Unit symbol must be unique" @@ -4036,30 +4014,24 @@ msgid "Is this company active?" msgstr "" #: company/models.py:168 -#, fuzzy -#| msgid "is customer" msgid "Is customer" -msgstr "là khách hàng" +msgstr "" #: company/models.py:169 msgid "Do you sell items to this company?" msgstr "Bạn có bán hàng cho công ty này?" #: company/models.py:174 -#, fuzzy -#| msgid "is supplier" msgid "Is supplier" -msgstr "là nhà cung cấp" +msgstr "" #: company/models.py:175 msgid "Do you purchase items from this company?" msgstr "Bạn có mua hàng từ công ty này?" #: company/models.py:180 -#, fuzzy -#| msgid "is manufacturer" msgid "Is manufacturer" -msgstr "là nhà sản xuất" +msgstr "" #: company/models.py:181 msgid "Does this company manufacture parts?" @@ -4220,10 +4192,8 @@ msgid "Manufacturer part description" msgstr "Mô tả sản phẩm của nhà sản xuất" #: company/models.py:569 -#, fuzzy -#| msgid "Manufacturer Part Number" msgid "Manufacturer Part Parameter" -msgstr "Mã số nhà sản xuất" +msgstr "" #: company/models.py:588 msgid "Parameter name" @@ -4379,20 +4349,16 @@ msgid "Date of last update of availability data" msgstr "Ngày cập nhật cuối thông tin tồn kho" #: company/models.py:1015 -#, fuzzy -#| msgid "Supplier Pricing" msgid "Supplier Price Break" -msgstr "Giá bán nhà cung cấp" +msgstr "" #: company/serializers.py:174 msgid "Default currency used for this supplier" msgstr "Tiền tệ mặc định được sử dụng cho nhà cung cấp này" #: company/serializers.py:210 -#, fuzzy -#| msgid "Company name" msgid "Company Name" -msgstr "Tên công ty" +msgstr "" #: company/serializers.py:384 part/admin.py:126 part/serializers.py:855 #: part/templates/part/part_base.html:197 @@ -4853,42 +4819,32 @@ msgid "Placed" msgstr "Đã đặt" #: importer/mixins.py:263 -#, fuzzy -#| msgid "Invalid value for overage" msgid "Invalid export format" -msgstr "Giá trị không hợp lệ cho hàng hóa dư thừa" +msgstr "" #: importer/models.py:56 msgid "Timestamp" msgstr "" #: importer/models.py:61 -#, fuzzy -#| msgid "Select file to upload" msgid "Data file to import" -msgstr "Chọn tệp để tải lên" +msgstr "" #: importer/models.py:70 templates/js/translated/tables.js:558 msgid "Columns" msgstr "" #: importer/models.py:81 -#, fuzzy -#| msgid "Import Parts" msgid "Import status" -msgstr "Nhập sản phẩm" +msgstr "" #: importer/models.py:91 -#, fuzzy -#| msgid "Build Details" msgid "Field Defaults" -msgstr "Chi tiết bản dựng" +msgstr "" #: importer/models.py:201 -#, fuzzy -#| msgid "Required build quantity has not been completed" msgid "Some required fields have not been mapped" -msgstr "Số lượng bản dựng được yêu cầu chưa được hoàn thành" +msgstr "" #: importer/models.py:346 msgid "Column is already mapped to a database field" @@ -4907,42 +4863,32 @@ msgid "Column does not exist in the data file" msgstr "" #: importer/models.py:372 -#, fuzzy -#| msgid "User does not have permission to view this model" msgid "Field does not exist in the target model" -msgstr "Người dùng không được phân quyền xem mẫu này" +msgstr "" #: importer/models.py:376 msgid "Selected field is read-only" msgstr "" #: importer/models.py:381 importer/models.py:452 -#, fuzzy -#| msgid "Active Sessions" msgid "Import Session" -msgstr "Các phiên hoạt động" +msgstr "" #: importer/models.py:385 -#, fuzzy -#| msgid "File Fields" msgid "Field" -msgstr "Các trường tập tin" +msgstr "" #: importer/models.py:387 msgid "Column" msgstr "" #: importer/models.py:456 -#, fuzzy -#| msgid "Index" msgid "Row Index" -msgstr "Chỉ số" +msgstr "" #: importer/models.py:459 -#, fuzzy -#| msgid "Original Part" msgid "Original row data" -msgstr "Sản phẩm gốc" +msgstr "" #: importer/models.py:462 part/models.py:3841 msgid "Data" @@ -4957,10 +4903,8 @@ msgid "Valid" msgstr "Hợp lệ" #: importer/operations.py:28 importer/operations.py:49 -#, fuzzy -#| msgid "Unsupported file format: {fmt}" msgid "Unsupported data file format" -msgstr "Định dạng tệp không được hỗ trợ {fmt}" +msgstr "" #: importer/operations.py:40 msgid "Failed to open data file" @@ -4979,26 +4923,20 @@ msgid "List of row IDs to accept" msgstr "" #: importer/serializers.py:149 -#, fuzzy -#| msgid "No data rows provided" msgid "No rows provided" -msgstr "Chưa có dữ liệu" +msgstr "" #: importer/serializers.py:153 -#, fuzzy -#| msgid "Item cannot belong to itself" msgid "Row does not belong to this session" -msgstr "Hàng hóa không thể thuộc về chính nó" +msgstr "" #: importer/serializers.py:156 msgid "Row contains invalid data" msgstr "" #: importer/serializers.py:159 -#, fuzzy -#| msgid "This build output has already been completed" msgid "Row has already been completed" -msgstr "Đầu ra bản dựng này đã được hoàn thành" +msgstr "" #: importer/status_codes.py:11 msgid "Initializing" @@ -5009,28 +4947,20 @@ msgid "Mapping Columns" msgstr "" #: importer/status_codes.py:13 -#, fuzzy -#| msgid "Import Part" msgid "Importing Data" -msgstr "Nhập sản phẩm" +msgstr "" #: importer/status_codes.py:16 -#, fuzzy -#| msgid "Remove Existing Data" msgid "Processing Data" -msgstr "Xóa dữ liệu đã tồn tại" +msgstr "" #: importer/validators.py:21 -#, fuzzy -#| msgid "Image download exceeded maximum size" msgid "Data file exceeds maximum size limit" -msgstr "Tải xuống hình ảnh vượt quá kích thước tối đa" +msgstr "" #: importer/validators.py:26 -#, fuzzy -#| msgid "Stock item contains other items" msgid "Data file contains no headers" -msgstr "Hàng trong kho chứa hàng hóa khác" +msgstr "" #: importer/validators.py:29 msgid "Data file contains too many columns" @@ -5041,10 +4971,8 @@ msgid "Data file contains too many rows" msgstr "" #: importer/validators.py:49 -#, fuzzy -#| msgid "Metadata must be a python dict object" msgid "Value must be a valid dictionary object" -msgstr "Siêu dữ liệu phải là đối tượng từ điển của python" +msgstr "" #: machine/machine_types/label_printer.py:212 msgid "Copies" @@ -5374,10 +5302,8 @@ msgid "Unit price" msgstr "Đơn giá" #: order/models.py:1361 -#, fuzzy -#| msgid "Purchase Order Items" msgid "Purchase Order Line Item" -msgstr "Hàng hóa đặt mua" +msgstr "" #: order/models.py:1385 msgid "Supplier part must match supplier" @@ -5420,16 +5346,12 @@ 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:1503 -#, fuzzy -#| msgid "Purchase Order Items" msgid "Purchase Order Extra Line" -msgstr "Hàng hóa đặt mua" +msgstr "" #: order/models.py:1532 -#, fuzzy -#| msgid "Sales Order Items" msgid "Sales Order Line Item" -msgstr "Hàng hóa đơn hàng bán" +msgstr "" #: order/models.py:1553 msgid "Virtual part cannot be assigned to a sales order" @@ -5460,10 +5382,8 @@ msgid "Shipped quantity" msgstr "Số lượng đã vận chuyển" #: order/models.py:1667 -#, fuzzy -#| msgid "Sales Order Default Shipment" msgid "Sales Order Shipment" -msgstr "Vận chuyển mặc định đơn đặt hàng" +msgstr "" #: order/models.py:1688 msgid "Date of shipment" @@ -5519,16 +5439,12 @@ 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:1828 -#, fuzzy -#| msgid "Sales Order Items" msgid "Sales Order Extra Line" -msgstr "Hàng hóa đơn hàng bán" +msgstr "" #: order/models.py:1857 -#, fuzzy -#| msgid "Sales Order Allocations" msgid "Sales Order Allocation" -msgstr "Phân bổ đơn hàng bán" +msgstr "" #: order/models.py:1880 order/models.py:1882 msgid "Stock item has not been assigned" @@ -5592,10 +5508,8 @@ msgid "Return order status" msgstr "Trạng thái đơn hàng trả lại" #: order/models.py:2237 -#, fuzzy -#| msgid "Return order line item" msgid "Return Order Line Item" -msgstr "Dòng riêng biệt đơn hàng trả lại" +msgstr "" #: order/models.py:2251 msgid "Only serialized items can be assigned to a Return Order" @@ -5627,10 +5541,8 @@ 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/models.py:2303 -#, fuzzy -#| msgid "Return Order Settings" msgid "Return Order Extra Line" -msgstr "Cài đặt đơn trả hàng" +msgstr "" #: order/serializers.py:83 order/templates/order/po_sidebar.html:5 #: order/templates/order/return_order_detail.html:18 @@ -5686,10 +5598,8 @@ msgid "Internal Part Number" msgstr "Mã sản phẩm nội bộ" #: order/serializers.py:530 -#, fuzzy -#| msgid "Internal Part Number" msgid "Internal Part Name" -msgstr "Mã sản phẩm nội bộ" +msgstr "" #: order/serializers.py:546 msgid "Supplier part must be specified" @@ -6645,16 +6555,12 @@ msgstr "Sản phẩm này đang hoạt động?" #: part/models.py:1090 templates/js/translated/part.js:818 #: templates/js/translated/table_filters.js:721 -#, fuzzy -#| msgid "Lock" msgid "Locked" -msgstr "Khoá" +msgstr "" #: part/models.py:1091 -#, fuzzy -#| msgid "Build order part cannot be changed" msgid "Locked parts cannot be edited" -msgstr "Sản phẩm đơn đặt bản dựng không thể thay đổi được" +msgstr "" #: part/models.py:1097 msgid "Is this a virtual part, such as a software product or license?" @@ -6903,16 +6809,12 @@ 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:3301 -#, fuzzy -#| msgid "Add Sell Price Break" msgid "Part Sale Price Break" -msgstr "Thêm định giá bán hàng" +msgstr "" #: part/models.py:3413 -#, fuzzy -#| msgid "Part Test Templates" msgid "Part Test Template" -msgstr "Mẫu kiểm thử sản phẩm" +msgstr "" #: part/models.py:3439 msgid "Invalid template name - must include at least one alphanumeric character" @@ -6998,10 +6900,8 @@ msgid "Valid choices for this test (comma-separated)" msgstr "" #: part/models.py:3577 -#, fuzzy -#| msgid "Part Parameter Templates" msgid "Part Parameter Template" -msgstr "Mẫu tham số sản phẩm" +msgstr "" #: part/models.py:3604 msgid "Checkbox parameters cannot have units" @@ -7041,10 +6941,8 @@ 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:3723 -#, fuzzy -#| msgid "Part Parameters" msgid "Part Parameter" -msgstr "Thông số phụ tùng" +msgstr "" #: part/models.py:3749 msgid "Parameter cannot be modified - part is locked" @@ -7068,10 +6966,8 @@ msgid "Parameter Value" msgstr "Giá trị tham số" #: part/models.py:3892 -#, fuzzy -#| msgid "Copy Category Parameter Templates" msgid "Part Category Parameter Template" -msgstr "Sao chéo mẫu tham số danh mục" +msgstr "" #: part/models.py:3951 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" @@ -9574,20 +9470,16 @@ 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:2317 -#, fuzzy -#| msgid "Stock Tracking" msgid "Stock Item Tracking" -msgstr "Theo dõi tồn kho" +msgstr "" #: stock/models.py:2350 msgid "Entry notes" msgstr "Ghi chú đầu vào" #: stock/models.py:2390 -#, fuzzy -#| msgid "Stock Item Test Report" msgid "Stock Item Test Result" -msgstr "Báo cáo kiểm thử mặt hàng" +msgstr "" #: stock/models.py:2423 msgid "Value must be provided for this test" @@ -9702,10 +9594,8 @@ msgid "Parent Item" msgstr "Mục cha" #: stock/serializers.py:450 -#, fuzzy -#| msgid "Parent Stock Item" msgid "Parent stock item" -msgstr "Hàng trong kho cha" +msgstr "" #: stock/serializers.py:469 msgid "Use pack size when adding: the quantity defined is the number of packs" @@ -9726,26 +9616,20 @@ msgid "Child Items" msgstr "Mục con" #: stock/serializers.py:598 -#, fuzzy -#| msgid "Tracking Number" msgid "Tracking Items" -msgstr "Số theo dõi" +msgstr "" #: stock/serializers.py:604 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:623 -#, fuzzy -#| msgid "Minimum Price" msgid "Minimum Pricing" -msgstr "Giá thấp nhất" +msgstr "" #: stock/serializers.py:629 -#, fuzzy -#| msgid "Maximum Price" msgid "Maximum Pricing" -msgstr "Giá cao nhất" +msgstr "" #: stock/serializers.py:653 msgid "Enter number of stock items to serialize" @@ -14506,10 +14390,8 @@ msgid "Show active parts" msgstr "" #: templates/js/translated/table_filters.js:722 -#, fuzzy -#| msgid "Show related parts" msgid "Show locked parts" -msgstr "Hiển thị sản phẩm liên quan" +msgstr "" #: templates/js/translated/table_filters.js:730 msgid "Available stock" @@ -14921,20 +14803,3 @@ msgstr "Quyển để sửa mục" msgid "Permission to delete items" msgstr "Quyền để xóa mục" -#~ msgid "Default part label template" -#~ msgstr "Mẫu nhãn sản phẩm mặc định" - -#~ 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" - -#~ msgid "Default stock item template" -#~ msgstr "Mẫu hàng hóa trong khi mặc định" - -#~ 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" - -#~ msgid "Default stock location label template" -#~ msgstr "Mẫu nhãn vị trí kho mặc định" - -#~ msgid "The stock location label template to be automatically selected" -#~ msgstr "Mẫu nhãn vị trí kho được chọn tự động" From b1d3f9004747dba803cbc9fe004bf8bf0f2cdd90 Mon Sep 17 00:00:00 2001 From: Oliver Date: Tue, 9 Jul 2024 00:56:51 +1000 Subject: [PATCH 28/36] Fix: New translations django.po from Crowdin --- .../InvenTree/locale/pt/LC_MESSAGES/django.po | 5724 ++++++++--------- 1 file changed, 2862 insertions(+), 2862 deletions(-) diff --git a/src/backend/InvenTree/locale/pt/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/pt/LC_MESSAGES/django.po index 855b1dd72ae6..54c7d4bc2a1f 100644 --- a/src/backend/InvenTree/locale/pt/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/pt/LC_MESSAGES/django.po @@ -5,56 +5,56 @@ msgstr "" "POT-Creation-Date: 2024-07-08 14:46+0000\n" "PO-Revision-Date: 2024-07-08 14:56\n" "Last-Translator: \n" -"Language-Team: Portuguese\n" -"Language: pt_PT\n" +"Language-Team: Portuguese, Brazilian\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Crowdin-Project: inventree\n" "X-Crowdin-Project-ID: 452300\n" -"X-Crowdin-Language: pt-PT\n" +"X-Crowdin-Language: pt-BR\n" "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:272 msgid "API endpoint not found" -msgstr "API endpoint não encontrado" +msgstr "" #: InvenTree/api.py:505 msgid "User does not have permission to view this model" -msgstr "Usuário não tem permissão para ver este modelo" +msgstr "" #: InvenTree/conversion.py:160 #, python-brace-format msgid "Invalid unit provided ({unit})" -msgstr "Unidade inválida fornecida ({unit})" +msgstr "" #: InvenTree/conversion.py:177 msgid "No value provided" -msgstr "Nenhum valor fornecido" +msgstr "" #: InvenTree/conversion.py:204 #, python-brace-format msgid "Could not convert {original} to {unit}" -msgstr "Não foi possível converter {original} para {unit}" +msgstr "" #: InvenTree/conversion.py:206 msgid "Invalid quantity supplied" -msgstr "Quantidade fornecida inválida" +msgstr "" #: InvenTree/conversion.py:220 #, python-brace-format msgid "Invalid quantity supplied ({exc})" -msgstr "Quantidade fornecida inválida ({exc})" +msgstr "" #: InvenTree/exceptions.py:109 msgid "Error details can be found in the admin panel" -msgstr "Detalhes do erro podem ser encontrados no painel de administrador" +msgstr "" #: InvenTree/fields.py:136 msgid "Enter date" -msgstr "Insira uma Data" +msgstr "" #: InvenTree/fields.py:205 InvenTree/models.py:921 build/serializers.py:456 #: build/serializers.py:534 build/templates/build/sidebar.html:21 @@ -77,331 +77,331 @@ msgstr "Insira uma Data" #: templates/js/translated/sales_order.js:2018 #: templates/js/translated/stock.js:1536 templates/js/translated/stock.js:2428 msgid "Notes" -msgstr "Anotações" +msgstr "" #: InvenTree/format.py:164 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" -msgstr "Valor '{name}' não está no formato correto" +msgstr "" #: InvenTree/format.py:175 msgid "Provided value does not match required pattern: " -msgstr "O valor fornecido não corresponde ao padrão exigido: " +msgstr "" #: InvenTree/forms.py:128 msgid "Enter password" -msgstr "Digite a senha" +msgstr "" #: InvenTree/forms.py:129 msgid "Enter new password" -msgstr "Insira uma nova senha" +msgstr "" #: InvenTree/forms.py:138 msgid "Confirm password" -msgstr "Confirmar senha" +msgstr "" #: InvenTree/forms.py:139 msgid "Confirm new password" -msgstr "Confirmar nova senha" +msgstr "" #: InvenTree/forms.py:143 msgid "Old password" -msgstr "Senha atual" +msgstr "" #: InvenTree/forms.py:182 msgid "Email (again)" -msgstr "E-mail (novamente)" +msgstr "" #: InvenTree/forms.py:186 msgid "Email address confirmation" -msgstr "Confirmação do endereço de email" +msgstr "" #: InvenTree/forms.py:209 msgid "You must type the same email each time." -msgstr "Você deve digitar o mesmo e-mail todas as vezes." +msgstr "" #: InvenTree/forms.py:248 InvenTree/forms.py:256 msgid "The provided primary email address is not valid." -msgstr "O endereço primário de e-mail não é válido." +msgstr "" #: InvenTree/forms.py:263 msgid "The provided email domain is not approved." -msgstr "O domínio de e-mail providenciado não foi aprovado." +msgstr "" #: InvenTree/forms.py:392 msgid "Registration is disabled." -msgstr "Cadastro está desativado." +msgstr "" #: InvenTree/helpers.py:525 order/models.py:562 order/models.py:764 msgid "Invalid quantity provided" -msgstr "Quantidade fornecida inválida" +msgstr "" #: InvenTree/helpers.py:533 msgid "Empty serial number string" -msgstr "Número serial em branco" +msgstr "" #: InvenTree/helpers.py:562 msgid "Duplicate serial" -msgstr "Número de série duplicado" +msgstr "" #: InvenTree/helpers.py:594 InvenTree/helpers.py:637 #, python-brace-format msgid "Invalid group range: {group}" -msgstr "Intervalo de grupo inválido: {group}" +msgstr "" #: InvenTree/helpers.py:625 #, python-brace-format msgid "Group range {group} exceeds allowed quantity ({expected_quantity})" -msgstr "Intervalo do grupo {group} excede a quantidade permitida ({expected_quantity})" +msgstr "" #: InvenTree/helpers.py:655 InvenTree/helpers.py:662 InvenTree/helpers.py:681 #, python-brace-format msgid "Invalid group sequence: {group}" -msgstr "Sequência de grupo inválida:{group}" +msgstr "" #: InvenTree/helpers.py:691 msgid "No serial numbers found" -msgstr "Nenhum número de série foi encontrado" +msgstr "" #: InvenTree/helpers.py:696 msgid "Number of unique serial numbers ({len(serials)}) must match quantity ({expected_quantity})" -msgstr "Números de série únicos ({len(serials)}) deve corresponder a quantidade ({expected_quantity})" +msgstr "" #: InvenTree/helpers.py:814 msgid "Remove HTML tags from this value" -msgstr "Remova as \"tags\" HTML deste valor" +msgstr "" #: InvenTree/helpers_model.py:140 msgid "Connection error" -msgstr "Erro de conexão" +msgstr "" #: InvenTree/helpers_model.py:145 InvenTree/helpers_model.py:152 msgid "Server responded with invalid status code" -msgstr "O servidor respondeu com código estado inválido" +msgstr "" #: InvenTree/helpers_model.py:148 msgid "Exception occurred" -msgstr "Ocorreu uma exceção" +msgstr "" #: InvenTree/helpers_model.py:158 msgid "Server responded with invalid Content-Length value" -msgstr "O servidor respondeu com valor inválido do tamanho de conteúdo" +msgstr "" #: InvenTree/helpers_model.py:161 msgid "Image size is too large" -msgstr "Tamanho da imagem muito grande" +msgstr "" #: InvenTree/helpers_model.py:173 msgid "Image download exceeded maximum size" -msgstr "O download da imagem excedeu o tamanho máximo" +msgstr "" #: InvenTree/helpers_model.py:178 msgid "Remote server returned empty response" -msgstr "O servidor remoto retornou resposta vazia" +msgstr "" #: InvenTree/helpers_model.py:186 msgid "Supplied URL is not a valid image file" -msgstr "A URL fornecida não é um arquivo de imagem válido" +msgstr "" #: InvenTree/locales.py:18 msgid "Bulgarian" -msgstr "Búlgaro" +msgstr "" #: InvenTree/locales.py:19 msgid "Czech" -msgstr "Tcheco" +msgstr "" #: InvenTree/locales.py:20 msgid "Danish" -msgstr "Dinamarquês" +msgstr "" #: InvenTree/locales.py:21 msgid "German" -msgstr "Alemão" +msgstr "" #: InvenTree/locales.py:22 msgid "Greek" -msgstr "Grego" +msgstr "" #: InvenTree/locales.py:23 msgid "English" -msgstr "Inglês" +msgstr "" #: InvenTree/locales.py:24 msgid "Spanish" -msgstr "Espanhol" +msgstr "" #: InvenTree/locales.py:25 msgid "Spanish (Mexican)" -msgstr "Espanhol (Mexicano)" +msgstr "" #: InvenTree/locales.py:26 msgid "Farsi / Persian" -msgstr "Persa" +msgstr "" #: InvenTree/locales.py:27 msgid "Finnish" -msgstr "Finlandês" +msgstr "" #: InvenTree/locales.py:28 msgid "French" -msgstr "Francês" +msgstr "" #: InvenTree/locales.py:29 msgid "Hebrew" -msgstr "Hebraico" +msgstr "" #: InvenTree/locales.py:30 msgid "Hindi" -msgstr "Hindu" +msgstr "" #: InvenTree/locales.py:31 msgid "Hungarian" -msgstr "Húngaro" +msgstr "" #: InvenTree/locales.py:32 msgid "Italian" -msgstr "Italiano" +msgstr "" #: InvenTree/locales.py:33 msgid "Japanese" -msgstr "Japonês" +msgstr "" #: InvenTree/locales.py:34 msgid "Korean" -msgstr "Coreano" +msgstr "" #: InvenTree/locales.py:35 msgid "Latvian" -msgstr "Letão" +msgstr "" #: InvenTree/locales.py:36 msgid "Dutch" -msgstr "Holandês" +msgstr "" #: InvenTree/locales.py:37 msgid "Norwegian" -msgstr "Norueguês" +msgstr "" #: InvenTree/locales.py:38 msgid "Polish" -msgstr "Polonês" +msgstr "" #: InvenTree/locales.py:39 msgid "Portuguese" -msgstr "Português" +msgstr "" #: InvenTree/locales.py:40 msgid "Portuguese (Brazilian)" -msgstr "Português (Brasileiro)" +msgstr "" #: InvenTree/locales.py:41 msgid "Romanian" -msgstr "Romeno" +msgstr "" #: InvenTree/locales.py:42 msgid "Russian" -msgstr "Russo" +msgstr "" #: InvenTree/locales.py:43 msgid "Slovak" -msgstr "Eslovaco" +msgstr "" #: InvenTree/locales.py:44 msgid "Slovenian" -msgstr "Esloveno" +msgstr "" #: InvenTree/locales.py:45 msgid "Serbian" -msgstr "Sérvio" +msgstr "" #: InvenTree/locales.py:46 msgid "Swedish" -msgstr "Sueco" +msgstr "" #: InvenTree/locales.py:47 msgid "Thai" -msgstr "Tailandês" +msgstr "" #: InvenTree/locales.py:48 msgid "Turkish" -msgstr "Turco" +msgstr "" #: InvenTree/locales.py:49 msgid "Ukrainian" -msgstr "Ucraniano" +msgstr "" #: InvenTree/locales.py:50 msgid "Vietnamese" -msgstr "Vietnamita" +msgstr "" #: InvenTree/locales.py:51 msgid "Chinese (Simplified)" -msgstr "Chinês (Simplificado)" +msgstr "" #: InvenTree/locales.py:52 msgid "Chinese (Traditional)" -msgstr "Chinês (Tradicional)" +msgstr "" #: InvenTree/magic_login.py:28 #, python-brace-format msgid "[{site_name}] Log in to the app" -msgstr "[{site_name}] Entre no aplicativo" +msgstr "" #: InvenTree/magic_login.py:38 InvenTree/serializers.py:415 #: company/models.py:136 company/templates/company/company_base.html:138 #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:677 msgid "Email" -msgstr "Email" +msgstr "" #: InvenTree/models.py:105 msgid "Error running plugin validation" -msgstr "Erro ao executar validação do plugin" +msgstr "" #: InvenTree/models.py:174 msgid "Metadata must be a python dict object" -msgstr "Metadados deve ser um objeto dict python" +msgstr "" #: InvenTree/models.py:180 msgid "Plugin Metadata" -msgstr "Metadados da Extensão" +msgstr "" #: InvenTree/models.py:181 msgid "JSON metadata field, for use by external plugins" -msgstr "Campo de metadados JSON, para uso por extensões externas" +msgstr "" #: InvenTree/models.py:411 msgid "Improperly formatted pattern" -msgstr "Padrão formatado incorretamente" +msgstr "" #: InvenTree/models.py:418 msgid "Unknown format key specified" -msgstr "Chave de formato desconhecida especificada" +msgstr "" #: InvenTree/models.py:424 msgid "Missing required format key" -msgstr "Chave de formato obrigatória ausente" +msgstr "" #: InvenTree/models.py:435 msgid "Reference field cannot be empty" -msgstr "O campo de referência não pode ficar vazio" +msgstr "" #: InvenTree/models.py:443 msgid "Reference must match required pattern" -msgstr "A referência deve corresponder ao padrão exigido" +msgstr "" #: InvenTree/models.py:474 msgid "Reference number is too large" -msgstr "O número de referência é muito grande" +msgstr "" #: InvenTree/models.py:722 msgid "Duplicate names cannot exist under the same parent" -msgstr "Nomes duplicados não podem existir sob o mesmo parental" +msgstr "" #: InvenTree/models.py:739 msgid "Invalid choice" -msgstr "Escolha inválida" +msgstr "" #: InvenTree/models.py:769 common/models.py:2659 common/models.py:3089 #: common/serializers.py:412 company/models.py:587 machine/models.py:24 @@ -421,7 +421,7 @@ msgstr "Escolha inválida" #: templates/js/translated/part.js:1478 templates/js/translated/part.js:1614 #: templates/js/translated/part.js:2752 templates/js/translated/stock.js:2716 msgid "Name" -msgstr "Nome" +msgstr "" #: InvenTree/models.py:775 build/models.py:242 #: build/templates/build/detail.html:24 common/models.py:143 @@ -458,71 +458,71 @@ msgstr "Nome" #: 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 "Descrição" +msgstr "" #: InvenTree/models.py:776 stock/models.py:81 msgid "Description (optional)" -msgstr "Descrição (opcional)" +msgstr "" #: InvenTree/models.py:791 templates/js/translated/part.js:2797 #: templates/js/translated/stock.js:2757 msgid "Path" -msgstr "Caminho" +msgstr "" #: InvenTree/models.py:921 msgid "Markdown notes (optional)" -msgstr "Notas Markdown (opcional)" +msgstr "" #: InvenTree/models.py:950 msgid "Barcode Data" -msgstr "Dados de código de barras" +msgstr "" #: InvenTree/models.py:951 msgid "Third party barcode data" -msgstr "Dados de código de barras de terceiros" +msgstr "" #: InvenTree/models.py:957 msgid "Barcode Hash" -msgstr "Hash de código de barras" +msgstr "" #: InvenTree/models.py:958 msgid "Unique hash of barcode data" -msgstr "Hash exclusivo de dados de código de barras" +msgstr "" #: InvenTree/models.py:1011 msgid "Existing barcode found" -msgstr "Código de barras existente encontrado" +msgstr "" #: InvenTree/models.py:1054 msgid "Server Error" -msgstr "Erro de servidor" +msgstr "" #: InvenTree/models.py:1055 msgid "An error has been logged by the server." -msgstr "Log de erro salvo pelo servidor." +msgstr "" #: InvenTree/serializers.py:63 part/models.py:4277 msgid "Must be a valid number" -msgstr "Preicsa ser um numero valido" +msgstr "" #: InvenTree/serializers.py:100 company/models.py:186 #: company/templates/company/company_base.html:112 part/models.py:3011 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" -msgstr "Moeda" +msgstr "" #: InvenTree/serializers.py:103 msgid "Select currency from available options" -msgstr "Selecione a Moeda nas opções disponíveis" +msgstr "" #: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:33 msgid "Username" -msgstr "Nome de usuário" +msgstr "" #: InvenTree/serializers.py:409 templates/InvenTree/settings/user.html:37 msgid "First Name" -msgstr "Primeiro Nome" +msgstr "" #: InvenTree/serializers.py:409 msgid "First name of the user" @@ -530,7 +530,7 @@ msgstr "" #: InvenTree/serializers.py:412 templates/InvenTree/settings/user.html:41 msgid "Last Name" -msgstr "Sobrenome" +msgstr "" #: InvenTree/serializers.py:412 msgid "Last name of the user" @@ -567,7 +567,7 @@ msgstr "" #: templates/js/translated/table_filters.js:716 #: templates/js/translated/table_filters.js:801 users/models.py:182 msgid "Active" -msgstr "Ativo" +msgstr "" #: InvenTree/serializers.py:445 msgid "Is this user account active" @@ -575,145 +575,145 @@ msgstr "" #: InvenTree/serializers.py:463 msgid "You do not have permission to change this user role." -msgstr "Não tem permissões para alterar este papel do usuário." +msgstr "" #: InvenTree/serializers.py:475 msgid "Only superusers can create new users" -msgstr "Apenas superusuários podem criar novos usuários" +msgstr "" #: InvenTree/serializers.py:494 msgid "Your account has been created." -msgstr "Sua conta foi criada." +msgstr "" #: InvenTree/serializers.py:496 msgid "Please use the password reset function to login" -msgstr "Por favor, use a função de redefinir senha para acessar" +msgstr "" #: InvenTree/serializers.py:503 msgid "Welcome to InvenTree" -msgstr "Bem-vindo(a) ao InvenTree" +msgstr "" #: InvenTree/serializers.py:561 msgid "Invalid value" -msgstr "Valor inválido" +msgstr "" #: InvenTree/serializers.py:581 importer/models.py:60 msgid "Data File" -msgstr "Arquivo de dados" +msgstr "" #: InvenTree/serializers.py:582 msgid "Select data file for upload" -msgstr "Selecione um arquivo de dados para enviar" +msgstr "" #: InvenTree/serializers.py:599 msgid "Unsupported file type" -msgstr "Tipo de arquivo não suportado" +msgstr "" #: InvenTree/serializers.py:605 msgid "File is too large" -msgstr "O arquivo é muito grande" +msgstr "" #: InvenTree/serializers.py:626 msgid "No columns found in file" -msgstr "Nenhuma coluna encontrada no arquivo" +msgstr "" #: InvenTree/serializers.py:629 msgid "No data rows found in file" -msgstr "Nenhuma linha de dados encontrada no arquivo" +msgstr "" #: InvenTree/serializers.py:742 msgid "No data rows provided" -msgstr "Nenhuma linha de dados fornecida" +msgstr "" #: InvenTree/serializers.py:745 msgid "No data columns supplied" -msgstr "Nenhuma coluna de dados fornecida" +msgstr "" #: InvenTree/serializers.py:812 #, python-brace-format msgid "Missing required column: '{name}'" -msgstr "Falta a coluna obrigatória: '{name}'" +msgstr "" #: InvenTree/serializers.py:821 #, python-brace-format msgid "Duplicate column: '{col}'" -msgstr "Coluna duplicada: \"{col}\"" +msgstr "" #: InvenTree/serializers.py:861 msgid "Remote Image" -msgstr "Imagens Remota" +msgstr "" #: InvenTree/serializers.py:862 msgid "URL of remote image file" -msgstr "URL do arquivo de imagem remoto" +msgstr "" #: InvenTree/serializers.py:880 msgid "Downloading images from remote URL is not enabled" -msgstr "Baixar imagens de URL remota não está habilitado" +msgstr "" #: InvenTree/status.py:66 part/serializers.py:1202 msgid "Background worker check failed" -msgstr "Falha em verificar o histórico do trabalhador" +msgstr "" #: InvenTree/status.py:70 msgid "Email backend not configured" -msgstr "Serviço de fundo do e-mail não foi configurado" +msgstr "" #: InvenTree/status.py:73 msgid "InvenTree system health checks failed" -msgstr "Verificação de saúde do sistema InvenTree falhou" +msgstr "" #: InvenTree/templatetags/inventree_extras.py:184 msgid "Unknown database" -msgstr "Banco de dados desconhecido" +msgstr "" #: InvenTree/validators.py:32 InvenTree/validators.py:34 msgid "Invalid physical unit" -msgstr "Unidade física inválida" +msgstr "" #: InvenTree/validators.py:40 msgid "Not a valid currency code" -msgstr "Não é um código de moeda válido" +msgstr "" #: InvenTree/validators.py:118 InvenTree/validators.py:134 msgid "Overage value must not be negative" -msgstr "Valor excedente não deve ser negativo" +msgstr "" #: InvenTree/validators.py:136 msgid "Overage must not exceed 100%" -msgstr "Excedente não deve exceder 100%" +msgstr "" #: InvenTree/validators.py:142 msgid "Invalid value for overage" -msgstr "Valor de excedente inválido" +msgstr "" #: InvenTree/views.py:400 templates/InvenTree/settings/user.html:23 msgid "Edit User Information" -msgstr "Editar informações do usuário" +msgstr "" #: InvenTree/views.py:412 templates/InvenTree/settings/user.html:20 msgid "Set Password" -msgstr "Definir senha" +msgstr "" #: InvenTree/views.py:434 msgid "Password fields must match" -msgstr "Os campos de senha devem coincidir" +msgstr "" #: InvenTree/views.py:442 msgid "Wrong password provided" -msgstr "Senha incorreta fornecida" +msgstr "" #: InvenTree/views.py:650 templates/navbar.html:160 msgid "System Information" -msgstr "Informação do Sistema" +msgstr "" #: InvenTree/views.py:657 templates/navbar.html:171 msgid "About InvenTree" -msgstr "Sobre o InvenTree" +msgstr "" #: build/api.py:248 msgid "Build must be cancelled before it can be deleted" -msgstr "Produção deve ser cancelada antes de ser deletada" +msgstr "" #: build/api.py:292 build/serializers.py:1190 part/models.py:4155 #: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 @@ -721,7 +721,7 @@ msgstr "Produção deve ser cancelada antes de ser deletada" #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" -msgstr "Consumível" +msgstr "" #: build/api.py:293 build/serializers.py:1191 part/models.py:4149 #: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 @@ -730,19 +730,19 @@ msgstr "Consumível" #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:587 msgid "Optional" -msgstr "Opcional" +msgstr "" #: build/api.py:294 templates/js/translated/table_filters.js:408 #: templates/js/translated/table_filters.js:579 msgid "Tracked" -msgstr "Monitorado" +msgstr "" #: build/api.py:296 part/admin.py:144 templates/js/translated/build.js:1744 #: templates/js/translated/build.js:2630 #: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:571 msgid "Allocated" -msgstr "Alocado" +msgstr "" #: build/api.py:304 company/models.py:879 company/serializers.py:386 #: company/templates/company/supplier_part.html:114 @@ -756,7 +756,7 @@ msgstr "Alocado" #: templates/js/translated/table_filters.js:340 #: templates/js/translated/table_filters.js:575 msgid "Available" -msgstr "Disponível" +msgstr "" #: build/models.py:85 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 @@ -765,7 +765,7 @@ msgstr "Disponível" #: templates/email/overdue_build_order.html:15 #: templates/js/translated/build.js:972 templates/js/translated/stock.js:2892 msgid "Build Order" -msgstr "Ordem de Produção" +msgstr "" #: build/models.py:86 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 @@ -776,7 +776,7 @@ msgstr "Ordem de Produção" #: templates/InvenTree/settings/sidebar.html:55 #: templates/js/translated/search.js:186 users/models.py:207 msgid "Build Orders" -msgstr "Ordens de Produções" +msgstr "" #: build/models.py:127 msgid "Assembly BOM has not been validated" @@ -792,19 +792,19 @@ msgstr "" #: build/models.py:155 msgid "Invalid choice for parent build" -msgstr "Escolha de Produção parental inválida" +msgstr "" #: build/models.py:166 order/models.py:240 msgid "Responsible user or group must be specified" -msgstr "Usuário ou grupo responsável deve ser especificado" +msgstr "" #: build/models.py:172 msgid "Build order part cannot be changed" -msgstr "Peça da ordem de produção não pode ser alterada" +msgstr "" #: build/models.py:233 msgid "Build Order Reference" -msgstr "Referência do pedido de produção" +msgstr "" #: build/models.py:234 build/serializers.py:1189 order/models.py:463 #: order/models.py:926 order/models.py:1289 order/models.py:2046 @@ -820,20 +820,20 @@ msgstr "Referência do pedido de produção" #: templates/js/translated/return_order.js:728 #: templates/js/translated/sales_order.js:1854 msgid "Reference" -msgstr "Referência" +msgstr "" #: build/models.py:245 msgid "Brief description of the build (optional)" -msgstr "Breve descrição da produção (opcional)" +msgstr "" #: build/models.py:253 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" -msgstr "Produção Progenitor" +msgstr "" #: build/models.py:254 msgid "BuildOrder to which this build is allocated" -msgstr "Pedido de produção para qual este serviço está alocado" +msgstr "" #: build/models.py:259 build/serializers.py:1184 #: build/templates/build/build_base.html:97 @@ -885,103 +885,103 @@ msgstr "Pedido de produção para qual este serviço está alocado" #: templates/js/translated/stock.js:2857 templates/js/translated/stock.js:3090 #: templates/js/translated/stock.js:3236 msgid "Part" -msgstr "Peça" +msgstr "" #: build/models.py:267 msgid "Select part to build" -msgstr "Selecionar peça para produção" +msgstr "" #: build/models.py:272 msgid "Sales Order Reference" -msgstr "Referência do pedido de venda" +msgstr "" #: build/models.py:276 msgid "SalesOrder to which this build is allocated" -msgstr "Pedido de Venda para qual esta produção está alocada" +msgstr "" #: build/models.py:281 build/serializers.py:1003 #: templates/js/translated/build.js:1731 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" -msgstr "Local de Origem" +msgstr "" #: build/models.py:285 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" -msgstr "Selecione a localização para pegar do estoque para esta produção (deixe em branco para tirar a partir de qualquer local de estoque)" +msgstr "" #: build/models.py:290 msgid "Destination Location" -msgstr "Local de Destino" +msgstr "" #: build/models.py:294 msgid "Select location where the completed items will be stored" -msgstr "Selecione o local onde os itens concluídos serão armazenados" +msgstr "" #: build/models.py:298 msgid "Build Quantity" -msgstr "Quantidade de Produção" +msgstr "" #: build/models.py:301 msgid "Number of stock items to build" -msgstr "Número de itens em estoque para produzir" +msgstr "" #: build/models.py:305 msgid "Completed items" -msgstr "Itens concluídos" +msgstr "" #: build/models.py:307 msgid "Number of stock items which have been completed" -msgstr "Número de itens em estoque concluídos" +msgstr "" #: build/models.py:311 msgid "Build Status" -msgstr "Progresso da produção" +msgstr "" #: build/models.py:315 msgid "Build status code" -msgstr "Código de situação da produção" +msgstr "" #: build/models.py:324 build/serializers.py:290 order/serializers.py:629 #: stock/models.py:839 stock/serializers.py:76 stock/serializers.py:1524 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" -msgstr "Código de Lote" +msgstr "" #: build/models.py:328 build/serializers.py:291 msgid "Batch code for this build output" -msgstr "Código do lote para esta saída de produção" +msgstr "" #: build/models.py:331 order/models.py:316 order/serializers.py:127 #: part/models.py:1125 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 "Criado em" +msgstr "" #: build/models.py:335 msgid "Target completion date" -msgstr "Data alvo final" +msgstr "" #: build/models.py:336 msgid "Target date for build completion. Build will be overdue after this date." -msgstr "Data alvo para finalização de produção. Estará atrasado a partir deste dia." +msgstr "" #: build/models.py:339 order/models.py:521 order/models.py:2091 #: templates/js/translated/build.js:2247 msgid "Completion Date" -msgstr "Data de conclusão" +msgstr "" #: build/models.py:345 msgid "completed by" -msgstr "Concluído por" +msgstr "" #: build/models.py:353 templates/js/translated/build.js:2207 msgid "Issued by" -msgstr "Emitido por" +msgstr "" #: build/models.py:354 msgid "User who issued this build order" -msgstr "Usuário que emitiu este pedido de produção" +msgstr "" #: build/models.py:362 build/templates/build/build_base.html:204 #: build/templates/build/detail.html:122 common/models.py:152 @@ -996,11 +996,11 @@ msgstr "Usuário que emitiu este pedido de produção" #: templates/js/translated/return_order.js:358 #: templates/js/translated/table_filters.js:531 msgid "Responsible" -msgstr "Responsável" +msgstr "" #: build/models.py:363 msgid "User or group responsible for this build order" -msgstr "Usuário ou grupo responsável para este pedido de produção" +msgstr "" #: build/models.py:368 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 @@ -1012,20 +1012,20 @@ msgstr "Usuário ou grupo responsável para este pedido de produção" #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1019 msgid "External Link" -msgstr "Link Externo" +msgstr "" #: build/models.py:369 common/models.py:3230 part/models.py:960 #: stock/models.py:835 msgid "Link to external URL" -msgstr "Link para URL externa" +msgstr "" #: build/models.py:373 msgid "Build Priority" -msgstr "Prioridade de Produção" +msgstr "" #: build/models.py:376 msgid "Priority of this build order" -msgstr "Prioridade deste pedido de produção" +msgstr "" #: build/models.py:383 common/models.py:122 common/models.py:136 #: order/admin.py:18 order/models.py:298 order/serializers.py:108 @@ -1037,60 +1037,60 @@ msgstr "Prioridade deste pedido de produção" #: templates/js/translated/table_filters.js:48 #: templates/project_code_data.html:6 msgid "Project Code" -msgstr "Código do projeto" +msgstr "" #: build/models.py:384 msgid "Project code for this build order" -msgstr "Código do projeto para este pedido de produção" +msgstr "" #: build/models.py:617 build/models.py:682 msgid "Failed to offload task to complete build allocations" -msgstr "Falha ao descarregar tarefa para concluir alocações de construção" +msgstr "" #: build/models.py:639 #, python-brace-format msgid "Build order {build} has been completed" -msgstr "O Pedido de produção {build} foi concluído!" +msgstr "" #: build/models.py:645 msgid "A build order has been completed" -msgstr "Um pedido de produção foi concluído" +msgstr "" #: build/models.py:871 build/models.py:956 msgid "No build output specified" -msgstr "Nenhuma saída de produção especificada" +msgstr "" #: build/models.py:874 msgid "Build output is already completed" -msgstr "Saída de produção já completada" +msgstr "" #: build/models.py:877 msgid "Build output does not match Build Order" -msgstr "Saída da produção não corresponde ao Pedido de Produção" +msgstr "" #: build/models.py:960 build/serializers.py:223 build/serializers.py:272 #: build/serializers.py:870 order/models.py:559 order/serializers.py:461 #: order/serializers.py:624 part/serializers.py:1515 part/serializers.py:1921 #: stock/models.py:678 stock/models.py:1496 stock/serializers.py:661 msgid "Quantity must be greater than zero" -msgstr "Quantidade deve ser maior que zero" +msgstr "" #: build/models.py:965 build/serializers.py:228 msgid "Quantity cannot be greater than the output quantity" -msgstr "Quantidade não pode ser maior do que a quantidade de saída" +msgstr "" #: build/models.py:1025 build/serializers.py:551 #, python-brace-format msgid "Build output {serial} has not passed all required tests" -msgstr "O item de produção {serial} não passou todos os testes necessários" +msgstr "" #: build/models.py:1366 msgid "Build Order Line Item" -msgstr "Item da linha de Produção" +msgstr "" #: build/models.py:1391 msgid "Build object" -msgstr "Objeto de produção" +msgstr "" #: build/models.py:1405 build/models.py:1661 build/serializers.py:210 #: build/serializers.py:257 build/serializers.py:1194 @@ -1138,36 +1138,36 @@ msgstr "Objeto de produção" #: templates/js/translated/stock.js:873 templates/js/translated/stock.js:3021 #: templates/js/translated/stock.js:3104 msgid "Quantity" -msgstr "Quantidade" +msgstr "" #: build/models.py:1406 msgid "Required quantity for build order" -msgstr "Quantidade necessária para o pedido de produção" +msgstr "" #: build/models.py:1486 msgid "Build item must specify a build output, as master part is marked as trackable" -msgstr "Item de produção deve especificar a saída, pois peças mestres estão marcadas como rastreáveis" +msgstr "" #: build/models.py:1495 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" -msgstr "Quantidade alocada ({q}) não deve exceder a quantidade disponível em estoque ({a})" +msgstr "" #: build/models.py:1505 order/models.py:1908 msgid "Stock item is over-allocated" -msgstr "O item do estoque está sobre-alocado" +msgstr "" #: build/models.py:1511 order/models.py:1911 msgid "Allocation quantity must be greater than zero" -msgstr "Quantidade alocada deve ser maior que zero" +msgstr "" #: build/models.py:1517 msgid "Quantity must be 1 for serialized stock" -msgstr "Quantidade deve ser 1 para estoque serializado" +msgstr "" #: build/models.py:1576 msgid "Selected stock item does not match BOM line" -msgstr "Item estoque selecionado não coincide com linha da LDM" +msgstr "" #: build/models.py:1648 build/serializers.py:850 order/serializers.py:1227 #: order/serializers.py:1248 stock/models.py:359 stock/serializers.py:93 @@ -1185,72 +1185,72 @@ msgstr "Item estoque selecionado não coincide com linha da LDM" #: templates/js/translated/stock.js:677 templates/js/translated/stock.js:843 #: templates/js/translated/stock.js:2977 msgid "Stock Item" -msgstr "Item de estoque" +msgstr "" #: build/models.py:1649 msgid "Source stock item" -msgstr "Origem do item em estoque" +msgstr "" #: build/models.py:1662 msgid "Stock quantity to allocate to build" -msgstr "Quantidade do estoque para alocar à produção" +msgstr "" #: build/models.py:1670 msgid "Install into" -msgstr "Instalar em" +msgstr "" #: build/models.py:1671 msgid "Destination stock item" -msgstr "Destino do Item do Estoque" +msgstr "" #: build/serializers.py:89 build/serializers.py:1185 part/admin.py:41 #: part/admin.py:405 part/models.py:3992 part/stocktake.py:220 #: stock/admin.py:156 msgid "Part Name" -msgstr "Nome da Peça" +msgstr "" #: build/serializers.py:160 build/serializers.py:879 #: templates/js/translated/build.js:1322 msgid "Build Output" -msgstr "Saída da Produção" +msgstr "" #: build/serializers.py:172 msgid "Build output does not match the parent build" -msgstr "Saída de produção não coincide com a produção progenitora" +msgstr "" #: build/serializers.py:176 msgid "Output part does not match BuildOrder part" -msgstr "Peça de saída não coincide com a peça da ordem de produção" +msgstr "" #: build/serializers.py:180 msgid "This build output has already been completed" -msgstr "Esta saída de produção já foi concluída" +msgstr "" #: build/serializers.py:191 msgid "This build output is not fully allocated" -msgstr "A saída de produção não está completamente alocada" +msgstr "" #: build/serializers.py:211 build/serializers.py:258 msgid "Enter quantity for build output" -msgstr "Entre a quantidade da saída de produção" +msgstr "" #: build/serializers.py:279 msgid "Integer quantity required for trackable parts" -msgstr "Quantidade inteira necessária para peças rastreáveis" +msgstr "" #: build/serializers.py:282 msgid "Integer quantity required, as the bill of materials contains trackable parts" -msgstr "Quantidade inteira necessária, pois a lista de materiais contém peças rastreáveis" +msgstr "" #: build/serializers.py:297 order/serializers.py:637 order/serializers.py:1387 #: stock/serializers.py:672 templates/js/translated/purchase_order.js:1153 #: templates/js/translated/stock.js:367 templates/js/translated/stock.js:565 msgid "Serial Numbers" -msgstr "Números de Série" +msgstr "" #: build/serializers.py:298 msgid "Enter serial numbers for build outputs" -msgstr "Digite os números de série para saídas de produção" +msgstr "" #: build/serializers.py:303 build/serializers.py:444 build/serializers.py:516 #: order/serializers.py:613 order/serializers.py:721 order/serializers.py:1714 @@ -1270,51 +1270,51 @@ msgstr "Digite os números de série para saídas de produção" #: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2201 #: templates/js/translated/stock.js:2871 msgid "Location" -msgstr "Local" +msgstr "" #: build/serializers.py:304 msgid "Stock location for build output" -msgstr "Local de estoque para a produção" +msgstr "" #: build/serializers.py:318 msgid "Auto Allocate Serial Numbers" -msgstr "Alocar Números de Série Automaticamente" +msgstr "" #: build/serializers.py:319 msgid "Automatically allocate required items with matching serial numbers" -msgstr "Alocar automaticamente os itens necessários com os números de série correspondentes" +msgstr "" #: build/serializers.py:334 msgid "Serial numbers must be provided for trackable parts" -msgstr "Números de série devem ser fornecidos para peças rastreáveis" +msgstr "" #: build/serializers.py:359 stock/api.py:1033 msgid "The following serial numbers already exist or are invalid" -msgstr "Os seguintes números de série já existem ou são inválidos" +msgstr "" #: build/serializers.py:406 build/serializers.py:468 build/serializers.py:557 msgid "A list of build outputs must be provided" -msgstr "Uma lista de saídas de produção deve ser fornecida" +msgstr "" #: build/serializers.py:445 msgid "Stock location for scrapped outputs" -msgstr "Local de estoque para saídas recicladas" +msgstr "" #: build/serializers.py:451 msgid "Discard Allocations" -msgstr "Descartar alocações" +msgstr "" #: build/serializers.py:452 msgid "Discard any stock allocations for scrapped outputs" -msgstr "Descartar quaisquer alocações de estoque para saídas sucateadas" +msgstr "" #: build/serializers.py:457 msgid "Reason for scrapping build output(s)" -msgstr "Motivo para sucatear saída(s) de produção" +msgstr "" #: build/serializers.py:517 msgid "Location for completed build outputs" -msgstr "Local para saídas de produção concluídas" +msgstr "" #: build/serializers.py:523 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:950 @@ -1329,164 +1329,164 @@ msgstr "Local para saídas de produção concluídas" #: templates/js/translated/stock.js:2176 templates/js/translated/stock.js:2995 #: templates/js/translated/stock.js:3120 msgid "Status" -msgstr "Situação" +msgstr "" #: build/serializers.py:529 msgid "Accept Incomplete Allocation" -msgstr "Aceitar Alocação Incompleta" +msgstr "" #: build/serializers.py:530 msgid "Complete outputs if stock has not been fully allocated" -msgstr "Concluir saídas se o estoque não tiver sido totalmente alocado" +msgstr "" #: build/serializers.py:615 msgid "Consume Allocated Stock" -msgstr "Consumir Estoque Alocado" +msgstr "" #: build/serializers.py:616 msgid "Consume any stock which has already been allocated to this build" -msgstr "Consumir qualquer estoque que já tenha sido alocado para esta produção" +msgstr "" #: build/serializers.py:622 msgid "Remove Incomplete Outputs" -msgstr "Remover Saídas Incompletas" +msgstr "" #: build/serializers.py:623 msgid "Delete any build outputs which have not been completed" -msgstr "Excluir quaisquer saídas de produção que não tenham sido completadas" +msgstr "" #: build/serializers.py:650 msgid "Not permitted" -msgstr "Não permitido" +msgstr "" #: build/serializers.py:651 msgid "Accept as consumed by this build order" -msgstr "Aceitar conforme consumido por esta ordem de produção" +msgstr "" #: build/serializers.py:652 msgid "Deallocate before completing this build order" -msgstr "Desatribua antes de completar este pedido de produção" +msgstr "" #: build/serializers.py:682 msgid "Overallocated Stock" -msgstr "Estoque sobrealocado" +msgstr "" #: build/serializers.py:684 msgid "How do you want to handle extra stock items assigned to the build order" -msgstr "Como deseja manejar itens de estoque extras atribuídos ao pedido de produção" +msgstr "" #: build/serializers.py:694 msgid "Some stock items have been overallocated" -msgstr "Alguns itens de estoque foram sobrealocados" +msgstr "" #: build/serializers.py:699 msgid "Accept Unallocated" -msgstr "Aceitar não alocados" +msgstr "" #: build/serializers.py:700 msgid "Accept that stock items have not been fully allocated to this build order" -msgstr "Aceitar que os itens de estoque não foram totalmente alocados para esta produção" +msgstr "" #: build/serializers.py:710 templates/js/translated/build.js:315 msgid "Required stock has not been fully allocated" -msgstr "Estoque obrigatório não foi totalmente alocado" +msgstr "" #: build/serializers.py:715 order/serializers.py:319 order/serializers.py:1290 msgid "Accept Incomplete" -msgstr "Aceitar Incompleto" +msgstr "" #: build/serializers.py:716 msgid "Accept that the required number of build outputs have not been completed" -msgstr "Aceitar que o número requerido de saídas de produção não foi concluído" +msgstr "" #: build/serializers.py:726 templates/js/translated/build.js:319 msgid "Required build quantity has not been completed" -msgstr "Quantidade de produção requerida não foi concluída" +msgstr "" #: build/serializers.py:735 templates/js/translated/build.js:303 msgid "Build order has incomplete outputs" -msgstr "Pedido de produção tem saídas incompletas" +msgstr "" #: build/serializers.py:773 msgid "Build Line" -msgstr "Linha de produção" +msgstr "" #: build/serializers.py:783 msgid "Build output" -msgstr "Saída da Produção" +msgstr "" #: build/serializers.py:791 msgid "Build output must point to the same build" -msgstr "Saída de produção deve indicar a mesma produção" +msgstr "" #: build/serializers.py:827 msgid "Build Line Item" -msgstr "Item da linha de produção" +msgstr "" #: build/serializers.py:841 msgid "bom_item.part must point to the same part as the build order" -msgstr "bin_item.part deve indicar a mesma peça do pedido de produção" +msgstr "" #: build/serializers.py:856 stock/serializers.py:1256 msgid "Item must be in stock" -msgstr "Item deve estar em estoque" +msgstr "" #: build/serializers.py:904 order/serializers.py:1281 #, python-brace-format msgid "Available quantity ({q}) exceeded" -msgstr "Quantidade disponível ({q}) excedida" +msgstr "" #: build/serializers.py:910 msgid "Build output must be specified for allocation of tracked parts" -msgstr "Saída de produção deve ser definida para alocação de peças rastreadas" +msgstr "" #: build/serializers.py:917 msgid "Build output cannot be specified for allocation of untracked parts" -msgstr "Saída de produção deve ser definida para alocação de peças não rastreadas" +msgstr "" #: build/serializers.py:941 order/serializers.py:1533 msgid "Allocation items must be provided" -msgstr "Alocação do Item precisa ser fornecida" +msgstr "" #: build/serializers.py:1004 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" -msgstr "Local de estoque onde peças serão extraídas (deixar em branco para qualquer local)" +msgstr "" #: build/serializers.py:1012 msgid "Exclude Location" -msgstr "Local não incluso" +msgstr "" #: build/serializers.py:1013 msgid "Exclude stock items from this selected location" -msgstr "Não incluir itens de estoque deste local" +msgstr "" #: build/serializers.py:1018 msgid "Interchangeable Stock" -msgstr "Estoque permutável" +msgstr "" #: build/serializers.py:1019 msgid "Stock items in multiple locations can be used interchangeably" -msgstr "Itens de estoque em múltiplos locais pode ser permutável" +msgstr "" #: build/serializers.py:1024 msgid "Substitute Stock" -msgstr "Substituir Estoque" +msgstr "" #: build/serializers.py:1025 msgid "Allow allocation of substitute parts" -msgstr "Permitir alocação de peças substitutas" +msgstr "" #: build/serializers.py:1030 msgid "Optional Items" -msgstr "Itens opcionais" +msgstr "" #: build/serializers.py:1031 msgid "Allocate optional BOM items to build order" -msgstr "Alocar itens LDM opcionais para o pedido de produção" +msgstr "" #: build/serializers.py:1053 msgid "Failed to start auto-allocation task" -msgstr "Falha ao iniciar tarefa de auto-alocação" +msgstr "" #: build/serializers.py:1095 msgid "Supplier Part Number" @@ -1494,12 +1494,12 @@ msgstr "" #: build/serializers.py:1096 company/models.py:500 msgid "Manufacturer Part Number" -msgstr "Número de Peça do Fabricante" +msgstr "" #: build/serializers.py:1097 stock/admin.py:53 stock/admin.py:175 #: stock/serializers.py:454 msgid "Location Name" -msgstr "Nome do Local" +msgstr "" #: build/serializers.py:1098 msgid "Build Reference" @@ -1511,23 +1511,23 @@ msgstr "" #: build/serializers.py:1186 part/admin.py:402 part/models.py:3993 msgid "Part IPN" -msgstr "IPN da Peça" +msgstr "" #: build/serializers.py:1192 common/models.py:1488 part/admin.py:113 #: part/models.py:1068 templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:776 msgid "Trackable" -msgstr "Rastreável" +msgstr "" #: build/serializers.py:1196 part/models.py:4000 part/models.py:4472 #: stock/api.py:796 msgid "BOM Item" -msgstr "Item LDM" +msgstr "" #: build/serializers.py:1205 templates/js/translated/index.js:130 msgid "Allocated Stock" -msgstr "Estoque Alocado" +msgstr "" #: build/serializers.py:1210 part/admin.py:132 part/bom.py:173 #: part/serializers.py:856 part/serializers.py:1533 @@ -1536,19 +1536,19 @@ msgstr "Estoque Alocado" #: templates/js/translated/part.js:2152 #: templates/js/translated/table_filters.js:170 msgid "On Order" -msgstr "No pedido" +msgstr "" #: build/serializers.py:1215 part/serializers.py:1535 #: templates/js/translated/build.js:2618 #: templates/js/translated/table_filters.js:360 msgid "In Production" -msgstr "Em Produção" +msgstr "" #: build/serializers.py:1220 part/bom.py:172 part/serializers.py:1558 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" -msgstr "Estoque Disponível" +msgstr "" #: build/serializers.py:1224 msgid "Available Substitute Stock" @@ -1570,16 +1570,16 @@ msgstr "" #: order/status_codes.py:37 order/status_codes.py:64 order/status_codes.py:82 #: templates/js/translated/table_filters.js:598 msgid "Pending" -msgstr "Pendente" +msgstr "" #: build/status_codes.py:12 msgid "Production" -msgstr "Produção" +msgstr "" #: build/status_codes.py:13 order/status_codes.py:15 order/status_codes.py:45 #: order/status_codes.py:70 msgid "Cancelled" -msgstr "Cancelado" +msgstr "" #: build/status_codes.py:14 generic/states/tests.py:19 importer/models.py:468 #: importer/status_codes.py:19 order/status_codes.py:14 @@ -1587,24 +1587,24 @@ msgstr "Cancelado" #: order/templates/order/order_base.html:158 #: order/templates/order/sales_order_base.html:165 report/models.py:444 msgid "Complete" -msgstr "Completado" +msgstr "" #: build/tasks.py:184 msgid "Stock required for build order" -msgstr "Estoque obrigatório para o pedido de produção" +msgstr "" #: build/tasks.py:201 msgid "Overdue Build Order" -msgstr "Pedido de produção vencido" +msgstr "" #: build/tasks.py:206 #, python-brace-format msgid "Build order {bo} is now overdue" -msgstr "Pedido de produção {bo} está atrasada" +msgstr "" #: build/templates/build/build_base.html:18 msgid "Part thumbnail" -msgstr "Miniatura da parte" +msgstr "" #: build/templates/build/build_base.html:38 #: company/templates/company/supplier_part.html:35 @@ -1616,7 +1616,7 @@ msgstr "Miniatura da parte" #: stock/templates/stock/location.html:55 #: templates/js/translated/filters.js:335 msgid "Barcode actions" -msgstr "Ações de código de barras" +msgstr "" #: build/templates/build/build_base.html:42 #: company/templates/company/supplier_part.html:39 @@ -1627,7 +1627,7 @@ msgstr "Ações de código de barras" #: stock/templates/stock/item_base.html:44 #: stock/templates/stock/location.html:57 templates/qr_button.html:1 msgid "Show QR Code" -msgstr "Mostrar QR Code" +msgstr "" #: build/templates/build/build_base.html:45 #: company/templates/company/supplier_part.html:41 @@ -1640,7 +1640,7 @@ msgstr "Mostrar QR Code" #: templates/js/translated/barcode.js:496 #: templates/js/translated/barcode.js:501 msgid "Unlink Barcode" -msgstr "Desatribuir Código de Barras" +msgstr "" #: build/templates/build/build_base.html:47 #: company/templates/company/supplier_part.html:43 @@ -1651,67 +1651,67 @@ msgstr "Desatribuir Código de Barras" #: stock/templates/stock/item_base.html:49 #: stock/templates/stock/location.html:61 msgid "Link Barcode" -msgstr "Atribuir Código de Barras" +msgstr "" #: build/templates/build/build_base.html:56 #: order/templates/order/order_base.html:46 #: order/templates/order/return_order_base.html:55 #: order/templates/order/sales_order_base.html:55 msgid "Print actions" -msgstr "Ações de impressão" +msgstr "" #: build/templates/build/build_base.html:60 msgid "Print build order report" -msgstr "Imprimir relatório do pedido de produção" +msgstr "" #: build/templates/build/build_base.html:67 msgid "Build actions" -msgstr "Ações de produção" +msgstr "" #: build/templates/build/build_base.html:71 msgid "Edit Build" -msgstr "Editar produção" +msgstr "" #: build/templates/build/build_base.html:73 msgid "Cancel Build" -msgstr "Cancelar produção" +msgstr "" #: build/templates/build/build_base.html:76 msgid "Duplicate Build" -msgstr "Duplicar produção" +msgstr "" #: build/templates/build/build_base.html:79 msgid "Delete Build" -msgstr "Excluir produção" +msgstr "" #: build/templates/build/build_base.html:84 #: build/templates/build/build_base.html:85 msgid "Complete Build" -msgstr "Concluir produção" +msgstr "" #: build/templates/build/build_base.html:107 msgid "Build Description" -msgstr "Descrição da produção" +msgstr "" #: build/templates/build/build_base.html:117 msgid "No build outputs have been created for this build order" -msgstr "Nenhuma saída de produção foi criada para este pedido de produção" +msgstr "" #: build/templates/build/build_base.html:124 msgid "Build Order is ready to mark as completed" -msgstr "Pedido de produção está pronta para ser marcada como concluída" +msgstr "" #: build/templates/build/build_base.html:129 msgid "Build Order cannot be completed as outstanding outputs remain" -msgstr "Pedido de produção não pode ser concluída, os resultados pendentes permanecem" +msgstr "" #: build/templates/build/build_base.html:134 msgid "Required build quantity has not yet been completed" -msgstr "A quantidade de produção necessária ainda não foi concluída" +msgstr "" #: build/templates/build/build_base.html:139 msgid "Stock has not been fully allocated to this Build Order" -msgstr "Estoque não foi totalmente alocado para este Pedido de Produção" +msgstr "" #: build/templates/build/build_base.html:160 #: build/templates/build/detail.html:138 order/models.py:309 @@ -1728,12 +1728,12 @@ msgstr "Estoque não foi totalmente alocado para este Pedido de Produção" #: templates/js/translated/sales_order.js:871 #: templates/js/translated/sales_order.js:1903 msgid "Target Date" -msgstr "Data alvo" +msgstr "" #: build/templates/build/build_base.html:165 #, python-format msgid "This build was due on %(target)s" -msgstr "Essa produção expirou em %(target)s" +msgstr "" #: build/templates/build/build_base.html:165 #: build/templates/build/build_base.html:222 @@ -1745,12 +1745,12 @@ msgstr "Essa produção expirou em %(target)s" #: templates/js/translated/table_filters.js:626 #: templates/js/translated/table_filters.js:667 msgid "Overdue" -msgstr "Expirou" +msgstr "" #: build/templates/build/build_base.html:177 #: build/templates/build/detail.html:67 build/templates/build/sidebar.html:13 msgid "Completed Outputs" -msgstr "Saídas Concluídas" +msgstr "" #: build/templates/build/build_base.html:190 #: build/templates/build/detail.html:101 order/api.py:1384 order/models.py:845 @@ -1766,56 +1766,56 @@ msgstr "Saídas Concluídas" #: templates/js/translated/sales_order.js:1028 #: templates/js/translated/stock.js:2924 msgid "Sales Order" -msgstr "Pedido de Venda" +msgstr "" #: build/templates/build/build_base.html:197 #: build/templates/build/detail.html:115 #: report/templates/report/inventree_build_order_report.html:152 #: templates/js/translated/table_filters.js:24 msgid "Issued By" -msgstr "Emitido por" +msgstr "" #: build/templates/build/build_base.html:211 #: build/templates/build/detail.html:94 templates/js/translated/build.js:2156 msgid "Priority" -msgstr "Prioridade" +msgstr "" #: build/templates/build/build_base.html:269 msgid "Delete Build Order" -msgstr "Excluir Pedido de Produção" +msgstr "" #: build/templates/build/build_base.html:279 msgid "Build Order QR Code" -msgstr "QR Code do Pedido de Produção" +msgstr "" #: build/templates/build/build_base.html:291 msgid "Link Barcode to Build Order" -msgstr "Vincular código de barras ao Pedido de Produção" +msgstr "" #: build/templates/build/detail.html:15 msgid "Build Details" -msgstr "Detalhes da produção" +msgstr "" #: build/templates/build/detail.html:38 msgid "Stock Source" -msgstr "Origem do estoque" +msgstr "" #: build/templates/build/detail.html:43 msgid "Stock can be taken from any available location." -msgstr "O estoque pode ser tirado de qualquer local disponível." +msgstr "" #: build/templates/build/detail.html:49 order/models.py:1448 #: templates/js/translated/purchase_order.js:2189 msgid "Destination" -msgstr "Destino" +msgstr "" #: build/templates/build/detail.html:56 msgid "Destination location not specified" -msgstr "Loca de destino não especificado" +msgstr "" #: build/templates/build/detail.html:73 msgid "Allocated Parts" -msgstr "Peças alocadas" +msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:162 #: stock/templates/stock/item_base.html:162 @@ -1827,7 +1827,7 @@ msgstr "Peças alocadas" #: templates/js/translated/table_filters.js:313 #: templates/js/translated/table_filters.js:404 msgid "Batch" -msgstr "Lote" +msgstr "" #: build/templates/build/detail.html:133 #: order/templates/order/order_base.html:173 @@ -1835,86 +1835,86 @@ msgstr "Lote" #: order/templates/order/sales_order_base.html:190 #: templates/js/translated/build.js:2199 msgid "Created" -msgstr "Criado" +msgstr "" #: build/templates/build/detail.html:144 msgid "No target date set" -msgstr "Sem data alvo definida" +msgstr "" #: build/templates/build/detail.html:149 #: order/templates/order/sales_order_base.html:206 #: templates/js/translated/table_filters.js:689 msgid "Completed" -msgstr "Concluído" +msgstr "" #: build/templates/build/detail.html:153 msgid "Build not complete" -msgstr "Produção não concluída" +msgstr "" #: build/templates/build/detail.html:164 build/templates/build/sidebar.html:17 msgid "Child Build Orders" -msgstr "Pedido de Produção Filho" +msgstr "" #: build/templates/build/detail.html:177 msgid "Allocate Stock to Build" -msgstr "Alocar Estoque para Produção" +msgstr "" #: build/templates/build/detail.html:181 msgid "Deallocate stock" -msgstr "Desalocar estoque" +msgstr "" #: build/templates/build/detail.html:182 msgid "Deallocate Stock" -msgstr "Desalocar estoque" +msgstr "" #: build/templates/build/detail.html:184 msgid "Automatically allocate stock to build" -msgstr "Alocar o estoque para produção automaticamente" +msgstr "" #: build/templates/build/detail.html:185 msgid "Auto Allocate" -msgstr "Alocar automaticamente" +msgstr "" #: build/templates/build/detail.html:187 msgid "Manually allocate stock to build" -msgstr "Alocar estoque para a produção manualmente" +msgstr "" #: build/templates/build/detail.html:188 build/templates/build/sidebar.html:8 msgid "Allocate Stock" -msgstr "Alocar estoque" +msgstr "" #: build/templates/build/detail.html:191 msgid "Order required parts" -msgstr "Pedir peças necessárias" +msgstr "" #: build/templates/build/detail.html:192 #: templates/js/translated/purchase_order.js:795 msgid "Order Parts" -msgstr "Pedir Peças" +msgstr "" #: build/templates/build/detail.html:205 msgid "Available stock has been filtered based on specified source location for this build order" -msgstr "O estoque disponível foi filtrado com base no local de origem especificado para este pedido de produção" +msgstr "" #: build/templates/build/detail.html:215 msgid "Incomplete Build Outputs" -msgstr "Saída de Produção Incompletas" +msgstr "" #: build/templates/build/detail.html:219 msgid "Create new build output" -msgstr "Criar nova saída de produção" +msgstr "" #: build/templates/build/detail.html:220 msgid "New Build Output" -msgstr "Nova saída de produção" +msgstr "" #: build/templates/build/detail.html:237 build/templates/build/sidebar.html:15 msgid "Consumed Stock" -msgstr "Consumir estoque" +msgstr "" #: build/templates/build/detail.html:249 msgid "Completed Build Outputs" -msgstr "Saídas de Produção concluídas" +msgstr "" #: build/templates/build/detail.html:261 build/templates/build/sidebar.html:19 #: company/templates/company/detail.html:229 @@ -1930,364 +1930,364 @@ msgstr "Saídas de Produção concluídas" #: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:110 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" -msgstr "Anexos" +msgstr "" #: build/templates/build/detail.html:276 msgid "Build Notes" -msgstr "Notas de produção" +msgstr "" #: build/templates/build/detail.html:426 msgid "Allocation Complete" -msgstr "Alocação Completa" +msgstr "" #: build/templates/build/detail.html:427 msgid "All lines have been fully allocated" -msgstr "Todas as linhas foram totalmente alocadas" +msgstr "" #: build/templates/build/index.html:18 part/templates/part/detail.html:319 msgid "New Build Order" -msgstr "Novo Pedido de Produção" +msgstr "" #: build/templates/build/sidebar.html:5 msgid "Build Order Details" -msgstr "Detalhes do Pedido de Produção" +msgstr "" #: build/templates/build/sidebar.html:10 msgid "Incomplete Outputs" -msgstr "Saídas Incompletas" +msgstr "" #: common/api.py:690 msgid "Is Link" -msgstr "É uma Ligação" +msgstr "" #: common/api.py:698 msgid "Is File" -msgstr "É um arquivo" +msgstr "" #: common/api.py:740 msgid "User does not have permission to delete this attachment" -msgstr "O Utilizador não tem permissão para remover este anexo" +msgstr "" #: common/currency.py:132 msgid "Invalid currency code" -msgstr "Código da Moeda invalida" +msgstr "" #: common/currency.py:134 msgid "Duplicate currency code" -msgstr "Código da Moeda duplicada" +msgstr "" #: common/currency.py:139 msgid "No valid currency codes provided" -msgstr "Nenhum código de moeda válido foi fornecido" +msgstr "" #: common/currency.py:156 msgid "No plugin" -msgstr "Sem extensão" +msgstr "" #: common/files.py:63 #, python-brace-format msgid "Unsupported file format: {fmt}" -msgstr "Formato de arquivo não suportado: {fmt}" +msgstr "" #: common/files.py:65 msgid "Error reading file (invalid encoding)" -msgstr "Erro ao ler arquivo (codificação inválida)" +msgstr "" #: common/files.py:70 msgid "Error reading file (invalid format)" -msgstr "Erro ao ler arquivo (formato inválido)" +msgstr "" #: common/files.py:72 msgid "Error reading file (incorrect dimension)" -msgstr "Erro ao ler o arquivo (dimensão incorreta)" +msgstr "" #: common/files.py:74 msgid "Error reading file (data could be corrupted)" -msgstr "Erro ao ler o arquivo (dados podem estar corrompidos)" +msgstr "" #: common/forms.py:12 msgid "File" -msgstr "Arquivo" +msgstr "" #: common/forms.py:12 msgid "Select file to upload" -msgstr "Selecione um arquivo para carregar" +msgstr "" #: common/forms.py:25 msgid "{name.title()} File" -msgstr "Arquivo {name.title()}" +msgstr "" #: common/forms.py:26 #, python-brace-format msgid "Select {name} file to upload" -msgstr "Selecione {name} arquivo para carregar" +msgstr "" #: common/models.py:73 msgid "Updated" -msgstr "Atualizado" +msgstr "" #: common/models.py:74 msgid "Timestamp of last update" -msgstr "Tempo da última atualização" +msgstr "" #: common/models.py:107 msgid "Site URL is locked by configuration" -msgstr "URL do site está bloqueada por configuração" +msgstr "" #: common/models.py:137 msgid "Unique project code" -msgstr "Código único do projeto" +msgstr "" #: common/models.py:144 msgid "Project description" -msgstr "Descrição do projeto" +msgstr "" #: common/models.py:153 msgid "User or group responsible for this project" -msgstr "Usuário ou grupo responsável por este projeto" +msgstr "" #: common/models.py:770 msgid "Settings key (must be unique - case insensitive)" -msgstr "Senha de configurações (deve ser única — diferencia maiúsculas de minúsculas)" +msgstr "" #: common/models.py:774 msgid "Settings value" -msgstr "Valor da Configuração" +msgstr "" #: common/models.py:826 msgid "Chosen value is not a valid option" -msgstr "Valor escolhido não é uma opção válida" +msgstr "" #: common/models.py:842 msgid "Value must be a boolean value" -msgstr "Valor deve ser um valor booleano" +msgstr "" #: common/models.py:850 msgid "Value must be an integer value" -msgstr "Valor deve ser um número inteiro" +msgstr "" #: common/models.py:887 msgid "Key string must be unique" -msgstr "A frase senha deve ser diferenciada" +msgstr "" #: common/models.py:1119 msgid "No group" -msgstr "Nenhum grupo" +msgstr "" #: common/models.py:1218 msgid "Restart required" -msgstr "Reinicialização necessária" +msgstr "" #: common/models.py:1220 msgid "A setting has been changed which requires a server restart" -msgstr "Uma configuração que requer uma reinicialização do servidor foi alterada" +msgstr "" #: common/models.py:1227 msgid "Pending migrations" -msgstr "Migrações pendentes" +msgstr "" #: common/models.py:1228 msgid "Number of pending database migrations" -msgstr "Número de migrações pendentes na base de dados" +msgstr "" #: common/models.py:1233 msgid "Server Instance Name" -msgstr "Nome da Instância do Servidor" +msgstr "" #: common/models.py:1235 msgid "String descriptor for the server instance" -msgstr "Descritor de frases para a instância do servidor" +msgstr "" #: common/models.py:1239 msgid "Use instance name" -msgstr "Usar nome da instância" +msgstr "" #: common/models.py:1240 msgid "Use the instance name in the title-bar" -msgstr "Usar o nome da instância na barra de título" +msgstr "" #: common/models.py:1245 msgid "Restrict showing `about`" -msgstr "Restringir a exibição 'sobre'" +msgstr "" #: common/models.py:1246 msgid "Show the `about` modal only to superusers" -msgstr "Mostrar 'sobre' modal apenas para superusuários" +msgstr "" #: common/models.py:1251 company/models.py:111 company/models.py:112 msgid "Company name" -msgstr "Nome da empresa" +msgstr "" #: common/models.py:1252 msgid "Internal company name" -msgstr "Nome interno da Empresa" +msgstr "" #: common/models.py:1256 msgid "Base URL" -msgstr "URL de Base" +msgstr "" #: common/models.py:1257 msgid "Base URL for server instance" -msgstr "URL Base da instância do servidor" +msgstr "" #: common/models.py:1263 msgid "Default Currency" -msgstr "Moeda Padrão" +msgstr "" #: common/models.py:1264 msgid "Select base currency for pricing calculations" -msgstr "Selecione a moeda base para cálculos de preços" +msgstr "" #: common/models.py:1270 msgid "Supported Currencies" -msgstr "Moedas suportadas" +msgstr "" #: common/models.py:1271 msgid "List of supported currency codes" -msgstr "Lista de códigos de moeda suportados" +msgstr "" #: common/models.py:1277 msgid "Currency Update Interval" -msgstr "Intervalo de Atualização da Moeda" +msgstr "" #: common/models.py:1279 msgid "How often to update exchange rates (set to zero to disable)" -msgstr "Com que frequência atualizar as taxas de câmbio (defina como zero para desativar)" +msgstr "" #: common/models.py:1282 common/models.py:1338 common/models.py:1351 #: common/models.py:1359 common/models.py:1368 common/models.py:1377 #: common/models.py:1601 common/models.py:1623 common/models.py:1738 #: common/models.py:2111 msgid "days" -msgstr "dias" +msgstr "" #: common/models.py:1286 msgid "Currency Update Plugin" -msgstr "Extensão de Atualização de Moeda" +msgstr "" #: common/models.py:1287 msgid "Currency update plugin to use" -msgstr "Extensão de Atualização de Moeda a utilizar" +msgstr "" #: common/models.py:1292 msgid "Download from URL" -msgstr "Baixar do URL" +msgstr "" #: common/models.py:1294 msgid "Allow download of remote images and files from external URL" -msgstr "Permitir baixar imagens remotas e arquivos de URLs externos" +msgstr "" #: common/models.py:1300 msgid "Download Size Limit" -msgstr "Limite de tamanho para baixar" +msgstr "" #: common/models.py:1301 msgid "Maximum allowable download size for remote image" -msgstr "Maior tamanho de imagem remota baixada permitida" +msgstr "" #: common/models.py:1307 msgid "User-agent used to download from URL" -msgstr "Usuário-agente utilizado para baixar da URL" +msgstr "" #: common/models.py:1309 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" -msgstr "Permitir a substituição de imagens e arquivos usados baixados por usuário-agente (deixar em branco por padrão)" +msgstr "" #: common/models.py:1314 msgid "Strict URL Validation" -msgstr "Validação rigorosa de URL" +msgstr "" #: common/models.py:1315 msgid "Require schema specification when validating URLs" -msgstr "Exigir especificação de esquema ao validar URLs" +msgstr "" #: common/models.py:1320 msgid "Require confirm" -msgstr "Exigir confirmação" +msgstr "" #: common/models.py:1321 msgid "Require explicit user confirmation for certain action." -msgstr "Exigir confirmação explícita do usuário para uma certa ação." +msgstr "" #: common/models.py:1326 msgid "Tree Depth" -msgstr "Profundidade da árvore" +msgstr "" #: common/models.py:1328 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." -msgstr "Profundidade padrão de visualização da árvore. Níveis mais profundos podem ser carregados gradualmente conforme necessário." +msgstr "" #: common/models.py:1334 msgid "Update Check Interval" -msgstr "Atualizar Intervalo de Verificação" +msgstr "" #: common/models.py:1335 msgid "How often to check for updates (set to zero to disable)" -msgstr "Frequência para verificar atualizações (defina como zero para desativar)" +msgstr "" #: common/models.py:1341 msgid "Automatic Backup" -msgstr "Cópia de Segurança Automática" +msgstr "" #: common/models.py:1342 msgid "Enable automatic backup of database and media files" -msgstr "Ativar cópia de segurança automática do banco de dados e arquivos de mídia" +msgstr "" #: common/models.py:1347 msgid "Auto Backup Interval" -msgstr "Intervalo de Backup Automático" +msgstr "" #: common/models.py:1348 msgid "Specify number of days between automated backup events" -msgstr "Especificar o número de dia entre as cópias de segurança" +msgstr "" #: common/models.py:1354 msgid "Task Deletion Interval" -msgstr "Intervalo para Excluir da Tarefa" +msgstr "" #: common/models.py:1356 msgid "Background task results will be deleted after specified number of days" -msgstr "Os resultados da tarefa no plano de fundo serão excluídos após um número especificado de dias" +msgstr "" #: common/models.py:1363 msgid "Error Log Deletion Interval" -msgstr "Intervalo para Excluir do Registro de Erro" +msgstr "" #: common/models.py:1365 msgid "Error logs will be deleted after specified number of days" -msgstr "Registros de erros serão excluídos após um número especificado de dias" +msgstr "" #: common/models.py:1372 msgid "Notification Deletion Interval" -msgstr "Intervalo para Excluir de Notificação" +msgstr "" #: common/models.py:1374 msgid "User notifications will be deleted after specified number of days" -msgstr "Notificações de usuários será excluído após um número especificado de dias" +msgstr "" #: common/models.py:1381 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" -msgstr "Suporte aos códigos de barras" +msgstr "" #: common/models.py:1382 msgid "Enable barcode scanner support in the web interface" -msgstr "Ativar suporte a leitor de código de barras na interface web" +msgstr "" #: common/models.py:1387 msgid "Barcode Input Delay" -msgstr "Atraso na entrada de código de barras" +msgstr "" #: common/models.py:1388 msgid "Barcode input processing delay time" -msgstr "Tempo de atraso de processamento de entrada de barras" +msgstr "" #: common/models.py:1394 msgid "Barcode Webcam Support" -msgstr "Suporte a código de barras via Câmera" +msgstr "" #: common/models.py:1395 msgid "Allow barcode scanning via webcam in browser" -msgstr "Permitir escanear código de barras por câmera pelo navegador" +msgstr "" #: common/models.py:1400 msgid "Barcode Show Data" @@ -2299,75 +2299,75 @@ msgstr "" #: common/models.py:1406 msgid "Part Revisions" -msgstr "Revisões de peças" +msgstr "" #: common/models.py:1407 msgid "Enable revision field for Part" -msgstr "Habilitar campo de revisão para a Peça" +msgstr "" #: common/models.py:1412 msgid "Allow Deletion from Assembly" -msgstr "Permitir a exclusão da Montagem" +msgstr "" #: common/models.py:1413 msgid "Allow deletion of parts which are used in an assembly" -msgstr "Permitir a remoção de peças usadas em uma montagem" +msgstr "" #: common/models.py:1418 msgid "IPN Regex" -msgstr "Regex IPN" +msgstr "" #: common/models.py:1419 msgid "Regular expression pattern for matching Part IPN" -msgstr "Padrão de expressão regular adequado para Peça IPN" +msgstr "" #: common/models.py:1422 msgid "Allow Duplicate IPN" -msgstr "Permitir Duplicação IPN" +msgstr "" #: common/models.py:1423 msgid "Allow multiple parts to share the same IPN" -msgstr "Permitir que várias peças compartilhem o mesmo IPN" +msgstr "" #: common/models.py:1428 msgid "Allow Editing IPN" -msgstr "Permitir Edição IPN" +msgstr "" #: common/models.py:1429 msgid "Allow changing the IPN value while editing a part" -msgstr "Permitir trocar o valor do IPN enquanto se edita a peça" +msgstr "" #: common/models.py:1434 msgid "Copy Part BOM Data" -msgstr "Copiar dados da LDM da Peça" +msgstr "" #: common/models.py:1435 msgid "Copy BOM data by default when duplicating a part" -msgstr "Copiar dados da LDM por padrão quando duplicar a peça" +msgstr "" #: common/models.py:1440 msgid "Copy Part Parameter Data" -msgstr "Copiar Dados de Parâmetro da Peça" +msgstr "" #: common/models.py:1441 msgid "Copy parameter data by default when duplicating a part" -msgstr "Copiar dados de parâmetros por padrão quando duplicar uma peça" +msgstr "" #: common/models.py:1446 msgid "Copy Part Test Data" -msgstr "Copiar Dados Teste da Peça" +msgstr "" #: common/models.py:1447 msgid "Copy test data by default when duplicating a part" -msgstr "Copiar dados de teste por padrão quando duplicar a peça" +msgstr "" #: common/models.py:1452 msgid "Copy Category Parameter Templates" -msgstr "Copiar Parâmetros dos Modelos de Categoria" +msgstr "" #: common/models.py:1453 msgid "Copy category parameter templates when creating a part" -msgstr "Copiar parâmetros do modelo de categoria quando criar uma peça" +msgstr "" #: common/models.py:1458 part/admin.py:108 part/models.py:3835 #: report/models.py:294 report/models.py:361 report/serializers.py:90 @@ -2375,394 +2375,394 @@ msgstr "Copiar parâmetros do modelo de categoria quando criar uma peça" #: templates/js/translated/table_filters.js:139 #: templates/js/translated/table_filters.js:772 msgid "Template" -msgstr "Modelo" +msgstr "" #: common/models.py:1459 msgid "Parts are templates by default" -msgstr "Peças são modelos por padrão" +msgstr "" #: common/models.py:1464 part/admin.py:91 part/admin.py:425 part/models.py:1056 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:726 msgid "Assembly" -msgstr "Montagem" +msgstr "" #: common/models.py:1465 msgid "Parts can be assembled from other components by default" -msgstr "Peças podem ser montadas a partir de outros componentes por padrão" +msgstr "" #: common/models.py:1470 part/admin.py:95 part/models.py:1062 #: templates/js/translated/table_filters.js:734 msgid "Component" -msgstr "Componente" +msgstr "" #: common/models.py:1471 msgid "Parts can be used as sub-components by default" -msgstr "Peças podem ser usadas como sub-componentes por padrão" +msgstr "" #: common/models.py:1476 part/admin.py:100 part/models.py:1074 msgid "Purchaseable" -msgstr "Comprável" +msgstr "" #: common/models.py:1477 msgid "Parts are purchaseable by default" -msgstr "Peças são compráveis por padrão" +msgstr "" #: common/models.py:1482 part/admin.py:104 part/models.py:1080 #: templates/js/translated/table_filters.js:760 msgid "Salable" -msgstr "Vendível" +msgstr "" #: common/models.py:1483 msgid "Parts are salable by default" -msgstr "Peças vão vendíveis por padrão" +msgstr "" #: common/models.py:1489 msgid "Parts are trackable by default" -msgstr "Peças vão rastreáveis por padrão" +msgstr "" #: common/models.py:1494 part/admin.py:117 part/models.py:1096 #: part/templates/part/part_base.html:154 #: templates/js/translated/table_filters.js:143 #: templates/js/translated/table_filters.js:780 msgid "Virtual" -msgstr "Virtual" +msgstr "" #: common/models.py:1495 msgid "Parts are virtual by default" -msgstr "Peças são virtuais por padrão" +msgstr "" #: common/models.py:1500 msgid "Show Import in Views" -msgstr "Mostrar Importações em Visualizações" +msgstr "" #: common/models.py:1501 msgid "Display the import wizard in some part views" -msgstr "Exibir o assistente de importação em algumas visualizações de partes" +msgstr "" #: common/models.py:1506 msgid "Show related parts" -msgstr "Mostra peças relacionadas" +msgstr "" #: common/models.py:1507 msgid "Display related parts for a part" -msgstr "Mostrar peças relacionadas para uma peça" +msgstr "" #: common/models.py:1512 msgid "Initial Stock Data" -msgstr "Dados Iniciais de Estoque" +msgstr "" #: common/models.py:1513 msgid "Allow creation of initial stock when adding a new part" -msgstr "Permitir Criação de estoque inicial quando adicional uma nova peça" +msgstr "" #: common/models.py:1518 templates/js/translated/part.js:107 msgid "Initial Supplier Data" -msgstr "Dados Iniciais de Fornecedor" +msgstr "" #: common/models.py:1520 msgid "Allow creation of initial supplier data when adding a new part" -msgstr "Permitir criação de dados iniciais de fornecedor quando adicionar uma nova peça" +msgstr "" #: common/models.py:1526 msgid "Part Name Display Format" -msgstr "Formato de Exibição do Nome da Peça" +msgstr "" #: common/models.py:1527 msgid "Format to display the part name" -msgstr "Formato para exibir o nome da peça" +msgstr "" #: common/models.py:1533 msgid "Part Category Default Icon" -msgstr "Ícone de Categoria de Peça Padrão" +msgstr "" #: common/models.py:1534 msgid "Part category default icon (empty means no icon)" -msgstr "Ícone padrão de categoria de peça (vazio significa sem ícone)" +msgstr "" #: common/models.py:1538 msgid "Enforce Parameter Units" -msgstr "Forçar Unidades de Parâmetro" +msgstr "" #: common/models.py:1540 msgid "If units are provided, parameter values must match the specified units" -msgstr "Se as unidades são fornecidas, os valores do parâmetro devem corresponder às unidades especificadas" +msgstr "" #: common/models.py:1546 msgid "Minimum Pricing Decimal Places" -msgstr "Mínimo de Casas Decimais do Preço" +msgstr "" #: common/models.py:1548 msgid "Minimum number of decimal places to display when rendering pricing data" -msgstr "Mínimo número de casas decimais a exibir quando renderizar dados de preços" +msgstr "" #: common/models.py:1559 msgid "Maximum Pricing Decimal Places" -msgstr "Máximo Casas Decimais de Preço" +msgstr "" #: common/models.py:1561 msgid "Maximum number of decimal places to display when rendering pricing data" -msgstr "Número máximo de casas decimais a exibir quando renderizar dados de preços" +msgstr "" #: common/models.py:1572 msgid "Use Supplier Pricing" -msgstr "Usar Preços do Fornecedor" +msgstr "" #: common/models.py:1574 msgid "Include supplier price breaks in overall pricing calculations" -msgstr "Incluir quebras de preço do fornecedor nos cálculos de preços globais" +msgstr "" #: common/models.py:1580 msgid "Purchase History Override" -msgstr "Sobrescrever histórico de compra" +msgstr "" #: common/models.py:1582 msgid "Historical purchase order pricing overrides supplier price breaks" -msgstr "Histórico do pedido de compra substitui os intervalos dos preços do fornecedor" +msgstr "" #: common/models.py:1588 msgid "Use Stock Item Pricing" -msgstr "Usar Preços do Item em Estoque" +msgstr "" #: common/models.py:1590 msgid "Use pricing from manually entered stock data for pricing calculations" -msgstr "Usar preço inserido manualmente no estoque para cálculos de valores" +msgstr "" #: common/models.py:1596 msgid "Stock Item Pricing Age" -msgstr "Idade do preço do Item em Estoque" +msgstr "" #: common/models.py:1598 msgid "Exclude stock items older than this number of days from pricing calculations" -msgstr "Não incluir itens em estoque mais velhos que este número de dias no cálculo de preços" +msgstr "" #: common/models.py:1605 msgid "Use Variant Pricing" -msgstr "Usar Preço Variável" +msgstr "" #: common/models.py:1606 msgid "Include variant pricing in overall pricing calculations" -msgstr "Incluir preços variáveis nos cálculos de valores gerais" +msgstr "" #: common/models.py:1611 msgid "Active Variants Only" -msgstr "Apenas Ativar Variáveis" +msgstr "" #: common/models.py:1613 msgid "Only use active variant parts for calculating variant pricing" -msgstr "Apenas usar peças variáveis ativas para calcular preço variáveis" +msgstr "" #: common/models.py:1619 msgid "Pricing Rebuild Interval" -msgstr "Intervalo de Reconstrução de Preços" +msgstr "" #: common/models.py:1621 msgid "Number of days before part pricing is automatically updated" -msgstr "Número de dias antes da atualização automática dos preços das peças" +msgstr "" #: common/models.py:1628 msgid "Internal Prices" -msgstr "Preços Internos" +msgstr "" #: common/models.py:1629 msgid "Enable internal prices for parts" -msgstr "Habilitar preços internos para peças" +msgstr "" #: common/models.py:1634 msgid "Internal Price Override" -msgstr "Sobrepor Valor Interno" +msgstr "" #: common/models.py:1636 msgid "If available, internal prices override price range calculations" -msgstr "Se disponível, preços internos sobrepõe variação de cálculos de preço" +msgstr "" #: common/models.py:1642 msgid "Enable label printing" -msgstr "Ativar impressão de etiquetas" +msgstr "" #: common/models.py:1643 msgid "Enable label printing from the web interface" -msgstr "Ativar impressão de etiqueta pela interface da internet" +msgstr "" #: common/models.py:1648 msgid "Label Image DPI" -msgstr "DPI da Imagem na Etiqueta" +msgstr "" #: common/models.py:1650 msgid "DPI resolution when generating image files to supply to label printing plugins" -msgstr "Resolução de DPI quando gerar arquivo de imagens para fornecer à extensão de impressão de etiquetas" +msgstr "" #: common/models.py:1656 msgid "Enable Reports" -msgstr "Habilitar Relatórios" +msgstr "" #: common/models.py:1657 msgid "Enable generation of reports" -msgstr "Ativar geração de relatórios" +msgstr "" #: common/models.py:1662 templates/stats.html:25 msgid "Debug Mode" -msgstr "Modo de depuração" +msgstr "" #: common/models.py:1663 msgid "Generate reports in debug mode (HTML output)" -msgstr "Gerar relatórios em modo de depuração (saída HTML)" +msgstr "" #: common/models.py:1668 msgid "Log Report Errors" -msgstr "Relatório de erros" +msgstr "" #: common/models.py:1669 msgid "Log errors which occur when generating reports" -msgstr "Registro de erros que ocorrem ao gerar relatórios" +msgstr "" #: common/models.py:1674 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:302 msgid "Page Size" -msgstr "Tamanho da página" +msgstr "" #: common/models.py:1675 msgid "Default page size for PDF reports" -msgstr "Tamanho padrão da página PDF para relatórios" +msgstr "" #: common/models.py:1680 msgid "Enable Test Reports" -msgstr "Ativar Relatórios Teste" +msgstr "" #: common/models.py:1681 msgid "Enable generation of test reports" -msgstr "Ativar geração de relatórios de teste" +msgstr "" #: common/models.py:1686 msgid "Attach Test Reports" -msgstr "Anexar Relatórios de Teste" +msgstr "" #: common/models.py:1688 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" -msgstr "Quando imprimir um Relatório de Teste, anexar uma cópia do mesmo ao item de estoque associado" +msgstr "" #: common/models.py:1694 msgid "Globally Unique Serials" -msgstr "Seriais Únicos Globais" +msgstr "" #: common/models.py:1695 msgid "Serial numbers for stock items must be globally unique" -msgstr "Números de série para itens de estoque devem ser globalmente únicos" +msgstr "" #: common/models.py:1700 msgid "Autofill Serial Numbers" -msgstr "Preenchimento automático de Números Seriais" +msgstr "" #: common/models.py:1701 msgid "Autofill serial numbers in forms" -msgstr "Preencher números de série automaticamente no formulário" +msgstr "" #: common/models.py:1706 msgid "Delete Depleted Stock" -msgstr "Excluir Estoque Esgotado" +msgstr "" #: common/models.py:1708 msgid "Determines default behavior when a stock item is depleted" -msgstr "Determina o comportamento padrão quando um item de estoque é esgotado" +msgstr "" #: common/models.py:1714 msgid "Batch Code Template" -msgstr "Modelo de Código de Lote" +msgstr "" #: common/models.py:1716 msgid "Template for generating default batch codes for stock items" -msgstr "Modelo para gerar códigos de lote padrão para itens de estoque" +msgstr "" #: common/models.py:1721 msgid "Stock Expiry" -msgstr "Validade do Estoque" +msgstr "" #: common/models.py:1722 msgid "Enable stock expiry functionality" -msgstr "Ativar função de validade de estoque" +msgstr "" #: common/models.py:1727 msgid "Sell Expired Stock" -msgstr "Vender estoque expirado" +msgstr "" #: common/models.py:1728 msgid "Allow sale of expired stock" -msgstr "Permitir venda de estoque expirado" +msgstr "" #: common/models.py:1733 msgid "Stock Stale Time" -msgstr "Tempo de Estoque Inativo" +msgstr "" #: common/models.py:1735 msgid "Number of days stock items are considered stale before expiring" -msgstr "Número de dias em que os itens em estoque são considerados obsoleto antes de vencer" +msgstr "" #: common/models.py:1742 msgid "Build Expired Stock" -msgstr "Produzir Estoque Vencido" +msgstr "" #: common/models.py:1743 msgid "Allow building with expired stock" -msgstr "Permitir produção com estoque vencido" +msgstr "" #: common/models.py:1748 msgid "Stock Ownership Control" -msgstr "Controle de propriedade do estoque" +msgstr "" #: common/models.py:1749 msgid "Enable ownership control over stock locations and items" -msgstr "Ativar controle de propriedade sobre locais e itens de estoque" +msgstr "" #: common/models.py:1754 msgid "Stock Location Default Icon" -msgstr "Ícone padrão do local de estoque" +msgstr "" #: common/models.py:1755 msgid "Stock location default icon (empty means no icon)" -msgstr "Ícone padrão de local de estoque (vazio significa sem ícone)" +msgstr "" #: common/models.py:1759 msgid "Show Installed Stock Items" -msgstr "Mostrar Itens de Estoque Instalados" +msgstr "" #: common/models.py:1760 msgid "Display installed stock items in stock tables" -msgstr "Exibir itens de estoque instalados nas tabelas de estoque" +msgstr "" #: common/models.py:1765 msgid "Check BOM when installing items" -msgstr "Verificar BOM ao instalar itens" +msgstr "" #: common/models.py:1767 msgid "Installed stock items must exist in the BOM for the parent part" -msgstr "Itens de estoque instalados devem existir na BOM para a peça parente" +msgstr "" #: common/models.py:1773 msgid "Allow Out of Stock Transfer" -msgstr "Permitir Transferência Fora do Estoque" +msgstr "" #: common/models.py:1775 msgid "Allow stock items which are not in stock to be transferred between stock locations" -msgstr "Permitir que os itens que não estão em estoque sejam transferidos entre locais de estoque" +msgstr "" #: common/models.py:1781 msgid "Build Order Reference Pattern" -msgstr "Modelo de Referência de Pedidos de Produção" +msgstr "" #: common/models.py:1783 msgid "Required pattern for generating Build Order reference field" -msgstr "Modelo necessário para gerar campo de referência do Pedido de Produção" +msgstr "" #: common/models.py:1789 common/models.py:1837 common/models.py:1859 #: common/models.py:1895 msgid "Require Responsible Owner" -msgstr "Requer Proprietário Responsável" +msgstr "" #: common/models.py:1790 common/models.py:1838 common/models.py:1860 #: common/models.py:1896 msgid "A responsible owner must be assigned to each order" -msgstr "Um proprietário responsável deve ser atribuído a cada ordem" +msgstr "" #: common/models.py:1795 msgid "Require Active Part" @@ -2790,23 +2790,23 @@ msgstr "" #: common/models.py:1815 msgid "Block Until Tests Pass" -msgstr "Bloquear até os Testes serem Aprovados" +msgstr "" #: common/models.py:1817 msgid "Prevent build outputs from being completed until all required tests pass" -msgstr "Impedir que as saídas da produção sejam concluídas até que todos os testes sejam aprovados" +msgstr "" #: common/models.py:1823 msgid "Enable Return Orders" -msgstr "Ativar Pedidos de Devolução" +msgstr "" #: common/models.py:1824 msgid "Enable return order functionality in the user interface" -msgstr "Ativar funcionalidade de pedido de retorno na interface do usuário" +msgstr "" #: common/models.py:1829 msgid "Return Order Reference Pattern" -msgstr "Modelo de Referência de Pedidos de Devolução" +msgstr "" #: common/models.py:1831 msgid "Required pattern for generating Return Order reference field" @@ -2814,35 +2814,35 @@ msgstr "" #: common/models.py:1843 msgid "Edit Completed Return Orders" -msgstr "Editar os Pedidos de Devolução Concluídos" +msgstr "" #: common/models.py:1845 msgid "Allow editing of return orders after they have been completed" -msgstr "Permitir a edição de pedidos de devolução após serem enviados ou concluídos" +msgstr "" #: common/models.py:1851 msgid "Sales Order Reference Pattern" -msgstr "Modelo de Referência de Pedidos de Venda" +msgstr "" #: common/models.py:1853 msgid "Required pattern for generating Sales Order reference field" -msgstr "Modelo necessário para gerar campo de referência do Pedido de Venda" +msgstr "" #: common/models.py:1865 msgid "Sales Order Default Shipment" -msgstr "Envio Padrão de Pedidos de Venda" +msgstr "" #: common/models.py:1866 msgid "Enable creation of default shipment with sales orders" -msgstr "Habilitar criação de envio padrão com Pedidos de Vendas" +msgstr "" #: common/models.py:1871 msgid "Edit Completed Sales Orders" -msgstr "Editar os Pedidos de Vendas concluídos" +msgstr "" #: common/models.py:1873 msgid "Allow editing of sales orders after they have been shipped or completed" -msgstr "Permitir a edição de pedidos de vendas após serem enviados ou concluídos" +msgstr "" #: common/models.py:1879 msgid "Mark Shipped Orders as Complete" @@ -2854,59 +2854,59 @@ msgstr "" #: common/models.py:1887 msgid "Purchase Order Reference Pattern" -msgstr "Modelo de Referência de Pedidos de Compras" +msgstr "" #: common/models.py:1889 msgid "Required pattern for generating Purchase Order reference field" -msgstr "Modelo necessário para gerar campo de referência do Pedido de Compra" +msgstr "" #: common/models.py:1901 msgid "Edit Completed Purchase Orders" -msgstr "Editar Pedidos de Compra Concluídos" +msgstr "" #: common/models.py:1903 msgid "Allow editing of purchase orders after they have been shipped or completed" -msgstr "Permitir a edição de pedidos de compras após serem enviados ou concluídos" +msgstr "" #: common/models.py:1909 msgid "Auto Complete Purchase Orders" -msgstr "Autocompletar Pedidos de Compra" +msgstr "" #: common/models.py:1911 msgid "Automatically mark purchase orders as complete when all line items are received" -msgstr "Marcar automaticamente os pedidos de compra como concluídos quando todos os itens de linha forem recebidos" +msgstr "" #: common/models.py:1918 msgid "Enable password forgot" -msgstr "Habitar esquecer senha" +msgstr "" #: common/models.py:1919 msgid "Enable password forgot function on the login pages" -msgstr "Habilitar a função \"Esqueci minha senha\" nas páginas de acesso" +msgstr "" #: common/models.py:1924 msgid "Enable registration" -msgstr "Habilitar cadastro" +msgstr "" #: common/models.py:1925 msgid "Enable self-registration for users on the login pages" -msgstr "Ativar auto-registro para usuários na página de entrada" +msgstr "" #: common/models.py:1930 msgid "Enable SSO" -msgstr "Ativar SSO" +msgstr "" #: common/models.py:1931 msgid "Enable SSO on the login pages" -msgstr "Ativar SSO na página de acesso" +msgstr "" #: common/models.py:1936 msgid "Enable SSO registration" -msgstr "Ativar registro SSO" +msgstr "" #: common/models.py:1938 msgid "Enable self-registration via SSO for users on the login pages" -msgstr "Ativar auto-registro por SSO para usuários na página de entrada" +msgstr "" #: common/models.py:1944 msgid "Enable SSO group sync" @@ -2942,47 +2942,47 @@ msgstr "" #: common/models.py:1976 msgid "Email required" -msgstr "Email obrigatório" +msgstr "" #: common/models.py:1977 msgid "Require user to supply mail on signup" -msgstr "Exigir do usuário o e-mail no cadastro" +msgstr "" #: common/models.py:1982 msgid "Auto-fill SSO users" -msgstr "Auto-preencher usuários SSO" +msgstr "" #: common/models.py:1984 msgid "Automatically fill out user-details from SSO account-data" -msgstr "Preencher automaticamente os detalhes do usuário a partir de dados da conta SSO" +msgstr "" #: common/models.py:1990 msgid "Mail twice" -msgstr "Enviar email duplo" +msgstr "" #: common/models.py:1991 msgid "On signup ask users twice for their mail" -msgstr "No registro pedir aos usuários duas vezes pelo email" +msgstr "" #: common/models.py:1996 msgid "Password twice" -msgstr "Senha duas vezes" +msgstr "" #: common/models.py:1997 msgid "On signup ask users twice for their password" -msgstr "No registro pedir aos usuários duas vezes pela senha" +msgstr "" #: common/models.py:2002 msgid "Allowed domains" -msgstr "Domínios permitidos" +msgstr "" #: common/models.py:2004 msgid "Restrict signup to certain domains (comma-separated, starting with @)" -msgstr "Restringir registros a certos domínios (separados por vírgula, começando com @)" +msgstr "" #: common/models.py:2010 msgid "Group on signup" -msgstr "Grupo no cadastro" +msgstr "" #: common/models.py:2012 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." @@ -2990,115 +2990,115 @@ msgstr "" #: common/models.py:2018 msgid "Enforce MFA" -msgstr "Forçar AMF" +msgstr "" #: common/models.py:2019 msgid "Users must use multifactor security." -msgstr "Os usuários devem usar uma segurança multifator." +msgstr "" #: common/models.py:2024 msgid "Check plugins on startup" -msgstr "Checar extensões no início" +msgstr "" #: common/models.py:2026 msgid "Check that all plugins are installed on startup - enable in container environments" -msgstr "Checar que todas as extensões instaladas no início — ativar em ambientes de contêineres" +msgstr "" #: common/models.py:2034 msgid "Check for plugin updates" -msgstr "Verificar por atualizações de plugin" +msgstr "" #: common/models.py:2035 msgid "Enable periodic checks for updates to installed plugins" -msgstr "Habilitar verificações periódicas de atualizações para plugins instalados" +msgstr "" #: common/models.py:2041 msgid "Enable URL integration" -msgstr "Ativar integração URL" +msgstr "" #: common/models.py:2042 msgid "Enable plugins to add URL routes" -msgstr "Ativar extensão para adicionar rotas URL" +msgstr "" #: common/models.py:2048 msgid "Enable navigation integration" -msgstr "Ativar integração de navegação" +msgstr "" #: common/models.py:2049 msgid "Enable plugins to integrate into navigation" -msgstr "Ativar extensões para integrar à navegação" +msgstr "" #: common/models.py:2055 msgid "Enable app integration" -msgstr "Ativa integração com aplicativo" +msgstr "" #: common/models.py:2056 msgid "Enable plugins to add apps" -msgstr "Ativar extensões para adicionar aplicativos" +msgstr "" #: common/models.py:2062 msgid "Enable schedule integration" -msgstr "Ativar integração do calendário" +msgstr "" #: common/models.py:2063 msgid "Enable plugins to run scheduled tasks" -msgstr "Ativar extensões para executar tarefas agendadas" +msgstr "" #: common/models.py:2069 msgid "Enable event integration" -msgstr "Ativar integração de eventos" +msgstr "" #: common/models.py:2070 msgid "Enable plugins to respond to internal events" -msgstr "Ativar extensões para responder a eventos internos" +msgstr "" #: common/models.py:2076 msgid "Enable project codes" -msgstr "Habilitar códigos de projeto" +msgstr "" #: common/models.py:2077 msgid "Enable project codes for tracking projects" -msgstr "Ativar códigos de projeto para rastrear projetos" +msgstr "" #: common/models.py:2082 msgid "Stocktake Functionality" -msgstr "Funcionalidade de Balanço do Inventário" +msgstr "" #: common/models.py:2084 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" -msgstr "Ativar funcionalidade de balanço para gravar níveis de estoque e calcular seu valor" +msgstr "" #: common/models.py:2090 msgid "Exclude External Locations" -msgstr "Excluir Locais Externos" +msgstr "" #: common/models.py:2092 msgid "Exclude stock items in external locations from stocktake calculations" -msgstr "Excluir itens de estoque em locais externos dos cálculos do estoque" +msgstr "" #: common/models.py:2098 msgid "Automatic Stocktake Period" -msgstr "Período de Balanço Automático" +msgstr "" #: common/models.py:2100 msgid "Number of days between automatic stocktake recording (set to zero to disable)" -msgstr "Número de dias entre gravação do balanço de estoque (coloque zero para desativar)" +msgstr "" #: common/models.py:2106 msgid "Report Deletion Interval" -msgstr "Intervalo para Excluir o Relatório" +msgstr "" #: common/models.py:2108 msgid "Stocktake reports will be deleted after specified number of days" -msgstr "Relatórios de balanço serão apagados após um número de dias especificado" +msgstr "" #: common/models.py:2115 msgid "Display Users full names" -msgstr "Mostrar nomes completos dos usuários" +msgstr "" #: common/models.py:2116 msgid "Display Users full names instead of usernames" -msgstr "Mostrar Nomes Completos em vez de Nomes de Usuário" +msgstr "" #: common/models.py:2121 msgid "Enable Test Station Data" @@ -3110,39 +3110,39 @@ msgstr "" #: common/models.py:2134 common/models.py:2514 msgid "Settings key (must be unique - case insensitive" -msgstr "Senha de configurações (deve ser única — diferencia maiúsculas de minúsculas" +msgstr "" #: common/models.py:2177 msgid "Hide inactive parts" -msgstr "Ocultar peças inativas" +msgstr "" #: common/models.py:2179 msgid "Hide inactive parts in results displayed on the homepage" -msgstr "Ocultar peças inativas nos resultados exibidos na página inicial" +msgstr "" #: common/models.py:2185 msgid "Show subscribed parts" -msgstr "Mostrar peças subscritas" +msgstr "" #: common/models.py:2186 msgid "Show subscribed parts on the homepage" -msgstr "Mostrar peças subscritas na tela inicial" +msgstr "" #: common/models.py:2191 msgid "Show subscribed categories" -msgstr "Mostrar categorias subscritas" +msgstr "" #: common/models.py:2192 msgid "Show subscribed part categories on the homepage" -msgstr "Mostrar categorias de peças subscritas na tela inicial" +msgstr "" #: common/models.py:2197 msgid "Show latest parts" -msgstr "Mostrar peças mais recentes" +msgstr "" #: common/models.py:2198 msgid "Show latest parts on the homepage" -msgstr "Mostrar as peças mais recentes na página inicial" +msgstr "" #: common/models.py:2203 msgid "Show invalid BOMs" @@ -3150,367 +3150,367 @@ msgstr "" #: common/models.py:2204 msgid "Show BOMs that await validation on the homepage" -msgstr "Mostrar LDMs que aguardam validação na página inicial" +msgstr "" #: common/models.py:2209 msgid "Show recent stock changes" -msgstr "Mostrar alterações recentes de estoque" +msgstr "" #: common/models.py:2210 msgid "Show recently changed stock items on the homepage" -msgstr "Mostrar itens de estoque alterados recentemente na página inicial" +msgstr "" #: common/models.py:2215 msgid "Show low stock" -msgstr "Mostrar estoque baixo" +msgstr "" #: common/models.py:2216 msgid "Show low stock items on the homepage" -msgstr "Mostrar itens de baixo estoque na página inicial" +msgstr "" #: common/models.py:2221 msgid "Show depleted stock" -msgstr "Mostrar estoque esgotado" +msgstr "" #: common/models.py:2222 msgid "Show depleted stock items on the homepage" -msgstr "Mostrar itens sem estoque na página inicial" +msgstr "" #: common/models.py:2227 msgid "Show needed stock" -msgstr "Mostrar estoque necessário" +msgstr "" #: common/models.py:2228 msgid "Show stock items needed for builds on the homepage" -msgstr "Mostrar itens de estoque necessários para produções na tela inicial" +msgstr "" #: common/models.py:2233 msgid "Show expired stock" -msgstr "Mostrar estoque expirado" +msgstr "" #: common/models.py:2234 msgid "Show expired stock items on the homepage" -msgstr "Mostrar expirados itens em estoque na tela inicial" +msgstr "" #: common/models.py:2239 msgid "Show stale stock" -msgstr "Mostrar estoque inativo" +msgstr "" #: common/models.py:2240 msgid "Show stale stock items on the homepage" -msgstr "Mostrar estoque inativo na tela inicial" +msgstr "" #: common/models.py:2245 msgid "Show pending builds" -msgstr "Mostrar produções pendentes" +msgstr "" #: common/models.py:2246 msgid "Show pending builds on the homepage" -msgstr "Mostrar produções pendentes na tela inicial" +msgstr "" #: common/models.py:2251 msgid "Show overdue builds" -msgstr "Mostrar produções atrasadas" +msgstr "" #: common/models.py:2252 msgid "Show overdue builds on the homepage" -msgstr "Mostrar produções atrasadas na tela inicial" +msgstr "" #: common/models.py:2257 msgid "Show outstanding POs" -msgstr "Mostrar pedidos de compra pendentes" +msgstr "" #: common/models.py:2258 msgid "Show outstanding POs on the homepage" -msgstr "Mostrar os Pedidos de Compras pendentes na página inicial" +msgstr "" #: common/models.py:2263 msgid "Show overdue POs" -msgstr "Mostrar Pedidos de Compra atrasados" +msgstr "" #: common/models.py:2264 msgid "Show overdue POs on the homepage" -msgstr "Mostrar os Pedidos de Compras atrasadas na tela inicial" +msgstr "" #: common/models.py:2269 msgid "Show outstanding SOs" -msgstr "Mostrar pedidos de vendas pendentes" +msgstr "" #: common/models.py:2270 msgid "Show outstanding SOs on the homepage" -msgstr "Mostrar os Pedidos de Vendas pendentes na página inicial" +msgstr "" #: common/models.py:2275 msgid "Show overdue SOs" -msgstr "Mostrar Pedidos de Venda atrasados" +msgstr "" #: common/models.py:2276 msgid "Show overdue SOs on the homepage" -msgstr "Mostrar os Pedidos de Vendas atrasadas na tela inicial" +msgstr "" #: common/models.py:2281 msgid "Show pending SO shipments" -msgstr "Mostrar remessas de OV pendentes" +msgstr "" #: common/models.py:2282 msgid "Show pending SO shipments on the homepage" -msgstr "Mostrar envios OV pendentes na tela inicial" +msgstr "" #: common/models.py:2287 msgid "Show News" -msgstr "Mostrar notícias" +msgstr "" #: common/models.py:2288 msgid "Show news on the homepage" -msgstr "Mostrar notícias na tela inicial" +msgstr "" #: common/models.py:2293 msgid "Inline label display" -msgstr "Mostrar etiqueta em linha" +msgstr "" #: common/models.py:2295 msgid "Display PDF labels in the browser, instead of downloading as a file" -msgstr "Mostrar etiquetas em PDF no navegador, ao invés de baixar o arquivo" +msgstr "" #: common/models.py:2301 msgid "Default label printer" -msgstr "Impressora de etiquetas padrão" +msgstr "" #: common/models.py:2303 msgid "Configure which label printer should be selected by default" -msgstr "Configurar qual impressora de etiqueta deve ser selecionada por padrão" +msgstr "" #: common/models.py:2309 msgid "Inline report display" -msgstr "Mostrar relatório em linha" +msgstr "" #: common/models.py:2311 msgid "Display PDF reports in the browser, instead of downloading as a file" -msgstr "Mostrar relatórios em PDF no navegador, ao invés de baixar o arquivo" +msgstr "" #: common/models.py:2317 msgid "Search Parts" -msgstr "Procurar Peças" +msgstr "" #: common/models.py:2318 msgid "Display parts in search preview window" -msgstr "Mostrar peças na janela de visualização de pesquisa" +msgstr "" #: common/models.py:2323 msgid "Search Supplier Parts" -msgstr "Buscar Peças do Fornecedor" +msgstr "" #: common/models.py:2324 msgid "Display supplier parts in search preview window" -msgstr "Mostrar fornecedor de peças na janela de visualização de pesquisa" +msgstr "" #: common/models.py:2329 msgid "Search Manufacturer Parts" -msgstr "Buscar peças do fabricante" +msgstr "" #: common/models.py:2330 msgid "Display manufacturer parts in search preview window" -msgstr "Mostrar fabricante de peças na janela de visualização de pesquisa" +msgstr "" #: common/models.py:2335 msgid "Hide Inactive Parts" -msgstr "Ocultar peças inativas" +msgstr "" #: common/models.py:2336 msgid "Excluded inactive parts from search preview window" -msgstr "Não incluir peças inativas na janela de visualização de pesquisa" +msgstr "" #: common/models.py:2341 msgid "Search Categories" -msgstr "Pesquisar Categorias" +msgstr "" #: common/models.py:2342 msgid "Display part categories in search preview window" -msgstr "Mostrar categoria das peças na janela de visualização de pesquisa" +msgstr "" #: common/models.py:2347 msgid "Search Stock" -msgstr "Pesquisar Estoque" +msgstr "" #: common/models.py:2348 msgid "Display stock items in search preview window" -msgstr "Mostrar itens do estoque na janela de visualização de pesquisa" +msgstr "" #: common/models.py:2353 msgid "Hide Unavailable Stock Items" -msgstr "Ocultar itens do estoque indisponíveis" +msgstr "" #: common/models.py:2355 msgid "Exclude stock items which are not available from the search preview window" -msgstr "Não incluir itens de estoque que não estão disponíveis na janela de visualização de pesquisa" +msgstr "" #: common/models.py:2361 msgid "Search Locations" -msgstr "Procurar Locais" +msgstr "" #: common/models.py:2362 msgid "Display stock locations in search preview window" -msgstr "Mostrar locais de estoque na janela de visualização de pesquisa" +msgstr "" #: common/models.py:2367 msgid "Search Companies" -msgstr "Pesquisar empresas" +msgstr "" #: common/models.py:2368 msgid "Display companies in search preview window" -msgstr "Mostrar empresas na janela de visualização de pesquisa" +msgstr "" #: common/models.py:2373 msgid "Search Build Orders" -msgstr "Procurar Pedidos de Produção" +msgstr "" #: common/models.py:2374 msgid "Display build orders in search preview window" -msgstr "Mostrar pedidos de produção na janela de visualização de pesquisa" +msgstr "" #: common/models.py:2379 msgid "Search Purchase Orders" -msgstr "Mostrar Pedido de Compras" +msgstr "" #: common/models.py:2380 msgid "Display purchase orders in search preview window" -msgstr "Mostrar pedidos de compra na janela de visualização de pesquisa" +msgstr "" #: common/models.py:2385 msgid "Exclude Inactive Purchase Orders" -msgstr "Não incluir Pedidos de Compras Inativos" +msgstr "" #: common/models.py:2387 msgid "Exclude inactive purchase orders from search preview window" -msgstr "Não incluir pedidos de compras inativos na janela de visualização de pesquisa" +msgstr "" #: common/models.py:2393 msgid "Search Sales Orders" -msgstr "Procurar Pedidos de Vendas" +msgstr "" #: common/models.py:2394 msgid "Display sales orders in search preview window" -msgstr "Mostrar pedidos de vendas na janela de visualização de pesquisa" +msgstr "" #: common/models.py:2399 msgid "Exclude Inactive Sales Orders" -msgstr "Não Incluir Pedidos de Compras Inativas" +msgstr "" #: common/models.py:2401 msgid "Exclude inactive sales orders from search preview window" -msgstr "Não incluir pedidos de vendas inativos na janela de visualização de pesquisa" +msgstr "" #: common/models.py:2407 msgid "Search Return Orders" -msgstr "Procurar Pedidos de Devolução" +msgstr "" #: common/models.py:2408 msgid "Display return orders in search preview window" -msgstr "Mostrar pedidos de devolução na janela de visualização de pesquisa" +msgstr "" #: common/models.py:2413 msgid "Exclude Inactive Return Orders" -msgstr "Não Incluir Pedidos de Devolução Inativas" +msgstr "" #: common/models.py:2415 msgid "Exclude inactive return orders from search preview window" -msgstr "Não incluir pedidos de devolução inativos na janela de visualização de pesquisa" +msgstr "" #: common/models.py:2421 msgid "Search Preview Results" -msgstr "Mostrar Resultados Anteriores" +msgstr "" #: common/models.py:2423 msgid "Number of results to show in each section of the search preview window" -msgstr "Número de resultados mostrados em cada seção da janela de visualização de pesquisa" +msgstr "" #: common/models.py:2429 msgid "Regex Search" -msgstr "Pesquisa de Regex" +msgstr "" #: common/models.py:2430 msgid "Enable regular expressions in search queries" -msgstr "Permitir expressôes comuns nas conultas de pesquisas" +msgstr "" #: common/models.py:2435 msgid "Whole Word Search" -msgstr "Busca de Palavras Inteira" +msgstr "" #: common/models.py:2436 msgid "Search queries return results for whole word matches" -msgstr "Pesquisa retorna que palavra inteira coincide" +msgstr "" #: common/models.py:2441 msgid "Show Quantity in Forms" -msgstr "Mostrar Quantidade nos Formulários" +msgstr "" #: common/models.py:2442 msgid "Display available part quantity in some forms" -msgstr "Mostrar a quantidade de peças disponíveis em alguns formulários" +msgstr "" #: common/models.py:2447 msgid "Escape Key Closes Forms" -msgstr "Tecla Esc Fecha Formulários" +msgstr "" #: common/models.py:2448 msgid "Use the escape key to close modal forms" -msgstr "Usar a tecla Esc para fechar fomulários modais" +msgstr "" #: common/models.py:2453 msgid "Fixed Navbar" -msgstr "Fixar Navbar" +msgstr "" #: common/models.py:2454 msgid "The navbar position is fixed to the top of the screen" -msgstr "A posição do Navbar é fixa no topo da tela" +msgstr "" #: common/models.py:2459 msgid "Date Format" -msgstr "Formato da data" +msgstr "" #: common/models.py:2460 msgid "Preferred format for displaying dates" -msgstr "Formato preferido para mostrar datas" +msgstr "" #: common/models.py:2473 part/templates/part/detail.html:41 msgid "Part Scheduling" -msgstr "Agendamento de peças" +msgstr "" #: common/models.py:2474 msgid "Display part scheduling information" -msgstr "Mostrar informações de agendamento de peças" +msgstr "" #: common/models.py:2479 part/templates/part/detail.html:62 msgid "Part Stocktake" -msgstr "Balanço de Peça" +msgstr "" #: common/models.py:2481 msgid "Display part stocktake information (if stocktake functionality is enabled)" -msgstr "Mostrar informação de balanço da peça (se a funcionalidade de balanço estiver habilitada)" +msgstr "" #: common/models.py:2487 msgid "Table String Length" -msgstr "Comprimento da Tabela de Frases" +msgstr "" #: common/models.py:2489 msgid "Maximum length limit for strings displayed in table views" -msgstr "Limite máximo de comprimento para frases exibidas nas visualizações de tabela" +msgstr "" #: common/models.py:2495 msgid "Receive error reports" -msgstr "Receber relatório de erros" +msgstr "" #: common/models.py:2496 msgid "Receive notifications for system errors" -msgstr "Receber notificações para erros do sistema" +msgstr "" #: common/models.py:2501 msgid "Last used printing machines" -msgstr "Últimas máquinas de impressão utilizadas" +msgstr "" #: common/models.py:2502 msgid "Save the last used printing machines for a user" -msgstr "Salvar as últimas máquinas de impressão usadas para um usuário" +msgstr "" #: common/models.py:2522 common/models.py:2523 common/models.py:2672 #: common/models.py:2673 common/models.py:2918 common/models.py:2919 @@ -3520,11 +3520,11 @@ msgstr "Salvar as últimas máquinas de impressão usadas para um usuário" #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 msgid "User" -msgstr "Usuario" +msgstr "" #: common/models.py:2545 msgid "Price break quantity" -msgstr "Quantidade de Parcelamentos" +msgstr "" #: common/models.py:2552 company/serializers.py:502 order/admin.py:42 #: order/models.py:1346 order/models.py:2292 @@ -3532,27 +3532,27 @@ msgstr "Quantidade de Parcelamentos" #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:740 msgid "Price" -msgstr "Preço" +msgstr "" #: common/models.py:2553 msgid "Unit price at specified quantity" -msgstr "Preço unitário na quantidade especificada" +msgstr "" #: common/models.py:2649 common/models.py:2834 msgid "Endpoint" -msgstr "Ponto final" +msgstr "" #: common/models.py:2650 msgid "Endpoint at which this webhook is received" -msgstr "Ponto final em qual o gancho web foi recebido" +msgstr "" #: common/models.py:2660 msgid "Name for this webhook" -msgstr "Nome para este webhook" +msgstr "" #: common/models.py:2664 msgid "Is this webhook active" -msgstr "Este gancho web está ativo" +msgstr "" #: common/models.py:2680 users/models.py:159 msgid "Token" @@ -3560,59 +3560,59 @@ msgstr "" #: common/models.py:2681 msgid "Token for access" -msgstr "Token de acesso" +msgstr "" #: common/models.py:2689 msgid "Secret" -msgstr "Segredo" +msgstr "" #: common/models.py:2690 msgid "Shared secret for HMAC" -msgstr "Segredo compartilhado para HMAC" +msgstr "" #: common/models.py:2798 msgid "Message ID" -msgstr "ID da Mensagem" +msgstr "" #: common/models.py:2799 msgid "Unique identifier for this message" -msgstr "Identificador exclusivo desta mensagem" +msgstr "" #: common/models.py:2807 msgid "Host" -msgstr "Servidor" +msgstr "" #: common/models.py:2808 msgid "Host from which this message was received" -msgstr "Servidor do qual esta mensagem foi recebida" +msgstr "" #: common/models.py:2816 msgid "Header" -msgstr "Cabeçalho" +msgstr "" #: common/models.py:2817 msgid "Header of this message" -msgstr "Cabeçalho da mensagem" +msgstr "" #: common/models.py:2824 msgid "Body" -msgstr "Corpo" +msgstr "" #: common/models.py:2825 msgid "Body of this message" -msgstr "Corpo da mensagem" +msgstr "" #: common/models.py:2835 msgid "Endpoint on which this message was received" -msgstr "Ponto do qual esta mensagem foi recebida" +msgstr "" #: common/models.py:2840 msgid "Worked on" -msgstr "Trabalhado em" +msgstr "" #: common/models.py:2841 msgid "Was the work on this message finished?" -msgstr "O trabalho desta mensagem foi concluído?" +msgstr "" #: common/models.py:2967 msgid "Id" @@ -3621,7 +3621,7 @@ msgstr "" #: common/models.py:2969 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" -msgstr "Título" +msgstr "" #: common/models.py:2971 common/models.py:3229 company/models.py:149 #: company/models.py:446 company/models.py:506 company/models.py:806 @@ -3638,28 +3638,28 @@ msgstr "Título" #: templates/js/translated/sales_order.js:1092 #: templates/js/translated/sales_order.js:2023 msgid "Link" -msgstr "Ligação" +msgstr "" #: common/models.py:2973 templates/js/translated/news.js:60 msgid "Published" -msgstr "Publicado" +msgstr "" #: common/models.py:2975 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" -msgstr "Autor" +msgstr "" #: common/models.py:2977 templates/js/translated/news.js:52 msgid "Summary" -msgstr "Resumo" +msgstr "" #: common/models.py:2980 msgid "Read" -msgstr "Lida" +msgstr "" #: common/models.py:2980 msgid "Was this news item read?" -msgstr "Esta notícia do item foi lida?" +msgstr "" #: common/models.py:2997 company/models.py:159 part/models.py:969 #: report/templates/report/inventree_bill_of_materials_report.html:126 @@ -3669,11 +3669,11 @@ msgstr "Esta notícia do item foi lida?" #: templates/hover_image.html:7 templates/hover_image.html:9 #: templates/modals.html:6 msgid "Image" -msgstr "Imagem" +msgstr "" #: common/models.py:2997 msgid "Image file" -msgstr "Arquivo de imagem" +msgstr "" #: common/models.py:3009 common/models.py:3213 msgid "Target model type for this image" @@ -3693,50 +3693,50 @@ msgstr "" #: common/models.py:3071 msgid "Unit name must be a valid identifier" -msgstr "Nome da unidade deve ser um identificador válido" +msgstr "" #: common/models.py:3090 msgid "Unit name" -msgstr "Nome da unidade" +msgstr "" #: common/models.py:3097 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" -msgstr "Símbolo" +msgstr "" #: common/models.py:3098 msgid "Optional unit symbol" -msgstr "Símbolo de unidade opcional" +msgstr "" #: common/models.py:3104 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" -msgstr "Definição" +msgstr "" #: common/models.py:3105 msgid "Unit definition" -msgstr "Definição de unidade" +msgstr "" #: common/models.py:3163 common/models.py:3220 stock/models.py:2471 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" -msgstr "Anexo" +msgstr "" #: common/models.py:3175 msgid "Missing file" -msgstr "Arquivo ausente" +msgstr "" #: common/models.py:3176 msgid "Missing external link" -msgstr "Link externo não encontrado" +msgstr "" #: common/models.py:3221 msgid "Select file to attach" -msgstr "Selecione arquivo para anexar" +msgstr "" #: common/models.py:3236 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" -msgstr "Comentario" +msgstr "" #: common/models.py:3237 msgid "Attachment comment" @@ -3765,100 +3765,100 @@ msgstr "" #: common/notifications.py:314 #, python-brace-format msgid "New {verbose_name}" -msgstr "Novo {verbose_name}" +msgstr "" #: common/notifications.py:316 msgid "A new order has been created and assigned to you" -msgstr "Um novo pedido foi criado e atribuído a você" +msgstr "" #: common/notifications.py:322 #, python-brace-format msgid "{verbose_name} canceled" -msgstr "{verbose_name} cancelado" +msgstr "" #: common/notifications.py:324 msgid "A order that is assigned to you was canceled" -msgstr "Um pedido atribuído a você foi cancelado" +msgstr "" #: common/notifications.py:330 common/notifications.py:337 order/api.py:454 msgid "Items Received" -msgstr "Itens Recebidos" +msgstr "" #: common/notifications.py:332 msgid "Items have been received against a purchase order" -msgstr "Os itens de um pedido de compra foram recebidos" +msgstr "" #: common/notifications.py:339 msgid "Items have been received against a return order" -msgstr "Os itens de um pedido de devolução foram recebidos" +msgstr "" #: common/notifications.py:457 msgid "Error raised by plugin" -msgstr "Erro criado pela extensão" +msgstr "" #: common/serializers.py:375 msgid "Is Running" -msgstr "Executando" +msgstr "" #: common/serializers.py:381 msgid "Pending Tasks" -msgstr "Tarefas Pendentes" +msgstr "" #: common/serializers.py:387 msgid "Scheduled Tasks" -msgstr "Tarefas Agendadas" +msgstr "" #: common/serializers.py:393 msgid "Failed Tasks" -msgstr "Tarefas com Falhas" +msgstr "" #: common/serializers.py:408 msgid "Task ID" -msgstr "ID da Tarefa" +msgstr "" #: common/serializers.py:408 msgid "Unique task ID" -msgstr "ID Único da Tarefa" +msgstr "" #: common/serializers.py:410 msgid "Lock" -msgstr "Bloquear" +msgstr "" #: common/serializers.py:410 msgid "Lock time" -msgstr "Tempo de bloqueio" +msgstr "" #: common/serializers.py:412 msgid "Task name" -msgstr "Nome da tarefa" +msgstr "" #: common/serializers.py:414 msgid "Function" -msgstr "Função" +msgstr "" #: common/serializers.py:414 msgid "Function name" -msgstr "Nome da função" +msgstr "" #: common/serializers.py:416 msgid "Arguments" -msgstr "Argumentos" +msgstr "" #: common/serializers.py:416 msgid "Task arguments" -msgstr "Argumentos da tarefa" +msgstr "" #: common/serializers.py:419 msgid "Keyword Arguments" -msgstr "Argumentos de Palavra-chave" +msgstr "" #: common/serializers.py:419 msgid "Task keyword arguments" -msgstr "Argumentos Palavra-chave da Tarefa" +msgstr "" #: common/serializers.py:529 msgid "Filename" -msgstr "Nome do arquivo" +msgstr "" #: common/serializers.py:536 report/api.py:100 report/serializers.py:53 msgid "Model Type" @@ -3886,19 +3886,19 @@ msgstr "" #: common/validators.py:103 msgid "An empty domain is not allowed." -msgstr "Um domínio vazio não é permitido." +msgstr "" #: common/validators.py:105 #, python-brace-format msgid "Invalid domain name: {domain}" -msgstr "Nome de domínio inválido: {domain}" +msgstr "" #: 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 #: part/templates/part/import_wizard/part_upload.html:58 part/views.py:109 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" -msgstr "Carregar Arquivo" +msgstr "" #: common/views.py:84 order/templates/order/order_wizard/match_fields.html:52 #: order/views.py:119 @@ -3906,19 +3906,19 @@ msgstr "Carregar Arquivo" #: part/templates/part/import_wizard/match_fields.html:52 part/views.py:110 #: templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" -msgstr "Coincidir campos" +msgstr "" #: common/views.py:84 msgid "Match Items" -msgstr "Coincidir Itens" +msgstr "" #: common/views.py:401 msgid "Fields matching failed" -msgstr "Os campos não correspondem" +msgstr "" #: common/views.py:464 msgid "Parts imported" -msgstr "Peças importadas" +msgstr "" #: common/views.py:494 order/templates/order/order_wizard/match_fields.html:27 #: order/templates/order/order_wizard/match_parts.html:19 @@ -3929,7 +3929,7 @@ msgstr "Peças importadas" #: templates/patterns/wizard/match_fields.html:26 #: templates/patterns/wizard/upload.html:35 msgid "Previous Step" -msgstr "Passo Anterior" +msgstr "" #: company/api.py:141 msgid "Part is Active" @@ -3956,42 +3956,42 @@ msgstr "" #: company/templates/company/company_base.html:12 stock/api.py:814 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" -msgstr "Empresa" +msgstr "" #: company/models.py:101 company/views.py:51 #: templates/js/translated/search.js:192 msgid "Companies" -msgstr "Empresas" +msgstr "" #: company/models.py:117 msgid "Company description" -msgstr "Descrição da empresa" +msgstr "" #: company/models.py:118 msgid "Description of the company" -msgstr "Descrição da empresa" +msgstr "" #: company/models.py:123 company/templates/company/company_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:54 #: templates/js/translated/company.js:532 msgid "Website" -msgstr "Página Web" +msgstr "" #: company/models.py:123 msgid "Company website URL" -msgstr "URL do Site da empresa" +msgstr "" #: company/models.py:128 msgid "Phone number" -msgstr "Número de telefone" +msgstr "" #: company/models.py:130 msgid "Contact phone number" -msgstr "Número de telefone do contato" +msgstr "" #: company/models.py:137 msgid "Contact email address" -msgstr "Endereço de e-mail do contato" +msgstr "" #: company/models.py:142 company/models.py:275 #: company/templates/company/company_base.html:145 order/models.py:343 @@ -3999,15 +3999,15 @@ msgstr "Endereço de e-mail do contato" #: order/templates/order/return_order_base.html:174 #: order/templates/order/sales_order_base.html:218 msgid "Contact" -msgstr "Contato" +msgstr "" #: company/models.py:144 msgid "Point of contact" -msgstr "Ponto de contato" +msgstr "" #: company/models.py:150 msgid "Link to external company information" -msgstr "Link para informações externas da empresa" +msgstr "" #: company/models.py:163 msgid "Is this company active?" @@ -4019,7 +4019,7 @@ msgstr "" #: company/models.py:169 msgid "Do you sell items to this company?" -msgstr "Você vende itens para esta empresa?" +msgstr "" #: company/models.py:174 msgid "Is supplier" @@ -4027,7 +4027,7 @@ msgstr "" #: company/models.py:175 msgid "Do you purchase items from this company?" -msgstr "Você compra itens desta empresa?" +msgstr "" #: company/models.py:180 msgid "Is manufacturer" @@ -4035,126 +4035,126 @@ msgstr "" #: company/models.py:181 msgid "Does this company manufacture parts?" -msgstr "Esta empresa fabrica peças?" +msgstr "" #: company/models.py:189 msgid "Default currency used for this company" -msgstr "Moeda padrão utilizada para esta empresa" +msgstr "" #: company/models.py:314 company/templates/company/company_base.html:124 #: order/models.py:353 order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:181 #: order/templates/order/sales_order_base.html:225 msgid "Address" -msgstr "Endereço" +msgstr "" #: company/models.py:315 company/templates/company/sidebar.html:35 msgid "Addresses" -msgstr "Endereços" +msgstr "" #: company/models.py:372 msgid "Select company" -msgstr "Selecione a Empresa" +msgstr "" #: company/models.py:377 msgid "Address title" -msgstr "Título do endereço" +msgstr "" #: company/models.py:378 msgid "Title describing the address entry" -msgstr "Título descrevendo a entrada de endereço" +msgstr "" #: company/models.py:384 msgid "Primary address" -msgstr "Endereço Principal" +msgstr "" #: company/models.py:385 msgid "Set as primary address" -msgstr "Definir como endereço principal" +msgstr "" #: company/models.py:390 templates/js/translated/company.js:914 #: templates/js/translated/company.js:971 msgid "Line 1" -msgstr "Linha 1" +msgstr "" #: company/models.py:391 msgid "Address line 1" -msgstr "Linha de endereço 1" +msgstr "" #: company/models.py:397 templates/js/translated/company.js:915 #: templates/js/translated/company.js:977 msgid "Line 2" -msgstr "Linha 2" +msgstr "" #: company/models.py:398 msgid "Address line 2" -msgstr "Linha de endereço 2" +msgstr "" #: company/models.py:404 company/models.py:405 #: templates/js/translated/company.js:983 msgid "Postal code" -msgstr "Código Postal" +msgstr "" #: company/models.py:411 msgid "City/Region" -msgstr "Cidade/Região" +msgstr "" #: company/models.py:412 msgid "Postal code city/region" -msgstr "Código Postal Cidade / Região" +msgstr "" #: company/models.py:418 msgid "State/Province" -msgstr "Estado/Provincia" +msgstr "" #: company/models.py:419 msgid "State or province" -msgstr "Estado ou Província" +msgstr "" #: company/models.py:425 templates/js/translated/company.js:1001 msgid "Country" -msgstr "País" +msgstr "" #: company/models.py:426 msgid "Address country" -msgstr "País do endereço" +msgstr "" #: company/models.py:432 msgid "Courier shipping notes" -msgstr "Notas de envio da transportadora" +msgstr "" #: company/models.py:433 msgid "Notes for shipping courier" -msgstr "Notas para o envio da transportadora" +msgstr "" #: company/models.py:439 msgid "Internal shipping notes" -msgstr "Notas de envio interno" +msgstr "" #: company/models.py:440 msgid "Shipping notes for internal use" -msgstr "Notas de envio para uso interno" +msgstr "" #: company/models.py:447 msgid "Link to address information (external)" -msgstr "Link para as informações do endereço (externo)" +msgstr "" #: company/models.py:469 company/models.py:581 company/models.py:799 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:217 msgid "Manufacturer Part" -msgstr "Peça do Fabricante" +msgstr "" #: company/models.py:481 company/models.py:767 stock/models.py:767 #: stock/serializers.py:442 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" -msgstr "Peça base" +msgstr "" #: company/models.py:483 company/models.py:769 msgid "Select part" -msgstr "Selecionar peça" +msgstr "" #: company/models.py:492 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 @@ -4166,11 +4166,11 @@ msgstr "Selecionar peça" #: templates/js/translated/company.js:1611 #: templates/js/translated/table_filters.js:805 msgid "Manufacturer" -msgstr "Fabricante" +msgstr "" #: company/models.py:493 msgid "Select manufacturer" -msgstr "Selecionar fabricante" +msgstr "" #: company/models.py:499 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:153 order/serializers.py:518 @@ -4181,15 +4181,15 @@ msgstr "Selecionar fabricante" #: templates/js/translated/purchase_order.js:1851 #: templates/js/translated/purchase_order.js:2053 msgid "MPN" -msgstr "NPF" +msgstr "" #: company/models.py:507 msgid "URL for external manufacturer part link" -msgstr "URL do link externo da peça do fabricante" +msgstr "" #: company/models.py:516 msgid "Manufacturer part description" -msgstr "Descrição da peça do fabricante" +msgstr "" #: company/models.py:569 msgid "Manufacturer Part Parameter" @@ -4197,18 +4197,18 @@ msgstr "" #: company/models.py:588 msgid "Parameter name" -msgstr "Nome do parâmetro" +msgstr "" #: company/models.py:594 report/templates/report/inventree_test_report.html:104 #: stock/models.py:2463 templates/js/translated/company.js:1166 #: templates/js/translated/company.js:1419 templates/js/translated/part.js:1496 #: templates/js/translated/stock.js:1522 msgid "Value" -msgstr "Valor" +msgstr "" #: company/models.py:595 msgid "Parameter value" -msgstr "Valor do Parâmetro" +msgstr "" #: company/models.py:602 company/templates/company/supplier_part.html:168 #: part/admin.py:57 part/models.py:1049 part/models.py:3667 @@ -4216,11 +4216,11 @@ msgstr "Valor do Parâmetro" #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1515 #: templates/js/translated/part.js:1619 templates/js/translated/part.js:2373 msgid "Units" -msgstr "Unidades" +msgstr "" #: company/models.py:603 msgid "Parameter units" -msgstr "Unidades do parâmetro" +msgstr "" #: company/models.py:655 company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 order/api.py:434 @@ -4229,19 +4229,19 @@ msgstr "Unidades do parâmetro" #: templates/js/translated/purchase_order.js:752 #: templates/js/translated/stock.js:2280 msgid "Supplier Part" -msgstr "Fornecedor da Peça" +msgstr "" #: company/models.py:707 msgid "Pack units must be compatible with the base part units" -msgstr "Unidades de pacote devem ser compatíveis com as unidades de peça base" +msgstr "" #: company/models.py:714 msgid "Pack units must be greater than zero" -msgstr "Unidades de pacote deve ser maior do que zero" +msgstr "" #: company/models.py:728 msgid "Linked manufacturer part must reference the same base part" -msgstr "Parte do fabricante vinculado deve fazer referência à mesma peça base" +msgstr "" #: company/models.py:777 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 @@ -4257,15 +4257,15 @@ msgstr "Parte do fabricante vinculado deve fazer referência à mesma peça base #: templates/js/translated/purchase_order.js:1689 #: templates/js/translated/table_filters.js:809 msgid "Supplier" -msgstr "Fornecedor" +msgstr "" #: company/models.py:778 msgid "Select supplier" -msgstr "Selecione o fornecedor" +msgstr "" #: company/models.py:784 part/serializers.py:538 msgid "Supplier stock keeping unit" -msgstr "Unidade de reserva de estoque fornecedor" +msgstr "" #: company/models.py:790 msgid "Is this supplier part active?" @@ -4273,15 +4273,15 @@ msgstr "" #: company/models.py:800 msgid "Select manufacturer part" -msgstr "Selecionar peça do fabricante" +msgstr "" #: company/models.py:807 msgid "URL for external supplier part link" -msgstr "URL do link externo da peça do fabricante" +msgstr "" #: company/models.py:816 msgid "Supplier part description" -msgstr "Descrição da peça fornecedor" +msgstr "" #: company/models.py:823 company/templates/company/supplier_part.html:187 #: part/admin.py:412 part/models.py:4178 part/templates/part/upload_bom.html:59 @@ -4292,15 +4292,15 @@ msgstr "Descrição da peça fornecedor" #: report/templates/report/inventree_stock_location_report.html:105 #: stock/serializers.py:768 msgid "Note" -msgstr "Anotação" +msgstr "" #: company/models.py:832 part/models.py:2013 msgid "base cost" -msgstr "preço base" +msgstr "" #: company/models.py:833 part/models.py:2014 msgid "Minimum charge (e.g. stocking fee)" -msgstr "Taxa mínima (ex.: taxa de estoque)" +msgstr "" #: company/models.py:840 company/templates/company/supplier_part.html:160 #: stock/admin.py:228 stock/models.py:798 stock/serializers.py:1541 @@ -4308,11 +4308,11 @@ msgstr "Taxa mínima (ex.: taxa de estoque)" #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 msgid "Packaging" -msgstr "Embalagem" +msgstr "" #: company/models.py:841 msgid "Part packaging" -msgstr "Embalagem de peças" +msgstr "" #: company/models.py:846 templates/js/translated/company.js:1651 #: templates/js/translated/part.js:1825 templates/js/translated/part.js:1881 @@ -4322,31 +4322,31 @@ msgstr "Embalagem de peças" #: templates/js/translated/purchase_order.js:2084 #: templates/js/translated/purchase_order.js:2101 msgid "Pack Quantity" -msgstr "Quantidade de embalagens" +msgstr "" #: company/models.py:848 msgid "Total quantity supplied in a single pack. Leave empty for single items." -msgstr "Quantidade total fornecida em um único pacote. Deixe em branco para itens únicos." +msgstr "" #: company/models.py:867 part/models.py:2020 msgid "multiple" -msgstr "múltiplo" +msgstr "" #: company/models.py:868 msgid "Order multiple" -msgstr "Pedir múltiplos" +msgstr "" #: company/models.py:880 msgid "Quantity available from supplier" -msgstr "Quantidade disponível do fornecedor" +msgstr "" #: company/models.py:886 msgid "Availability Updated" -msgstr "Disponibilidade Atualizada" +msgstr "" #: company/models.py:887 msgid "Date of last update of availability data" -msgstr "Data da última atualização da disponibilidade dos dados" +msgstr "" #: company/models.py:1015 msgid "Supplier Price Break" @@ -4354,7 +4354,7 @@ msgstr "" #: company/serializers.py:174 msgid "Default currency used for this supplier" -msgstr "Moeda padrão utilizada para este fornecedor" +msgstr "" #: company/serializers.py:210 msgid "Company Name" @@ -4365,7 +4365,7 @@ msgstr "" #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:355 msgid "In Stock" -msgstr "Em Estoque" +msgstr "" #: company/templates/company/company_base.html:16 #: part/templates/part/part_base.html:146 @@ -4374,34 +4374,34 @@ msgstr "Em Estoque" #: templates/js/translated/model_renderers.js:312 #: templates/js/translated/part.js:814 templates/js/translated/part.js:1222 msgid "Inactive" -msgstr "Inativo" +msgstr "" #: company/templates/company/company_base.html:27 #: templates/js/translated/purchase_order.js:242 msgid "Create Purchase Order" -msgstr "Criar Pedido de compra" +msgstr "" #: company/templates/company/company_base.html:33 msgid "Company actions" -msgstr "Ações da empresa" +msgstr "" #: company/templates/company/company_base.html:38 msgid "Edit company information" -msgstr "Editar Informações da Empresa" +msgstr "" #: company/templates/company/company_base.html:39 #: templates/js/translated/company.js:445 msgid "Edit Company" -msgstr "Editar Empresa" +msgstr "" #: company/templates/company/company_base.html:43 msgid "Delete company" -msgstr "Excluir a empresa" +msgstr "" #: company/templates/company/company_base.html:44 #: company/templates/company/company_base.html:168 msgid "Delete Company" -msgstr "Excluir Empresa" +msgstr "" #: company/templates/company/company_base.html:53 #: company/templates/company/manufacturer_part.html:51 @@ -4413,22 +4413,22 @@ msgstr "Excluir Empresa" #: report/templates/report/inventree_test_report.html:84 #: report/templates/report/inventree_test_report.html:162 msgid "Part image" -msgstr "Imagem da peça" +msgstr "" #: company/templates/company/company_base.html:61 #: part/templates/part/part_thumb.html:12 msgid "Upload new image" -msgstr "Carregar nova imagem" +msgstr "" #: company/templates/company/company_base.html:64 #: part/templates/part/part_thumb.html:14 msgid "Download image from URL" -msgstr "Baixar imagem do URL" +msgstr "" #: company/templates/company/company_base.html:66 #: part/templates/part/part_thumb.html:16 msgid "Delete image" -msgstr "Excluir imagem" +msgstr "" #: company/templates/company/company_base.html:92 order/models.py:938 #: order/models.py:2058 order/templates/order/return_order_base.html:131 @@ -4442,74 +4442,74 @@ msgstr "Excluir imagem" #: templates/js/translated/stock.js:2959 #: templates/js/translated/table_filters.js:813 msgid "Customer" -msgstr "Cliente" +msgstr "" #: company/templates/company/company_base.html:117 msgid "Uses default currency" -msgstr "Usar moeda padrão" +msgstr "" #: company/templates/company/company_base.html:131 msgid "Phone" -msgstr "Telefone" +msgstr "" #: company/templates/company/company_base.html:211 #: part/templates/part/part_base.html:527 msgid "Remove Image" -msgstr "Remover imagem" +msgstr "" #: company/templates/company/company_base.html:212 msgid "Remove associated image from this company" -msgstr "Remover imagem associada desta empresa" +msgstr "" #: company/templates/company/company_base.html:214 #: part/templates/part/part_base.html:530 #: templates/InvenTree/settings/user.html:88 #: templates/InvenTree/settings/user_sso.html:43 msgid "Remove" -msgstr "Remover" +msgstr "" #: company/templates/company/company_base.html:243 #: part/templates/part/part_base.html:559 msgid "Upload Image" -msgstr "Enviar Imagem" +msgstr "" #: company/templates/company/company_base.html:258 #: part/templates/part/part_base.html:613 msgid "Download Image" -msgstr "Baixar Imagem" +msgstr "" #: company/templates/company/detail.html:15 #: company/templates/company/manufacturer_part_sidebar.html:7 #: templates/InvenTree/search.html:120 templates/js/translated/search.js:147 msgid "Supplier Parts" -msgstr "Peças do Fornecedor" +msgstr "" #: company/templates/company/detail.html:19 msgid "Create new supplier part" -msgstr "Criar nova peça do fornecedor" +msgstr "" #: company/templates/company/detail.html:20 #: company/templates/company/manufacturer_part.html:123 #: part/templates/part/detail.html:356 msgid "New Supplier Part" -msgstr "Nova peça do fornecedor" +msgstr "" #: company/templates/company/detail.html:41 templates/InvenTree/search.html:105 #: templates/js/translated/search.js:151 msgid "Manufacturer Parts" -msgstr "Fabricantes de peças" +msgstr "" #: company/templates/company/detail.html:45 msgid "Create new manufacturer part" -msgstr "Criar novo fabricante de peça" +msgstr "" #: company/templates/company/detail.html:46 part/templates/part/detail.html:376 msgid "New Manufacturer Part" -msgstr "Nova peça do fabricante" +msgstr "" #: company/templates/company/detail.html:65 msgid "Supplier Stock" -msgstr "Estoque do Fornecedor" +msgstr "" #: company/templates/company/detail.html:75 #: company/templates/company/sidebar.html:12 @@ -4523,17 +4523,17 @@ msgstr "Estoque do Fornecedor" #: templates/js/translated/search.js:205 templates/navbar.html:50 #: users/models.py:208 msgid "Purchase Orders" -msgstr "Pedidos de compra" +msgstr "" #: company/templates/company/detail.html:79 #: order/templates/order/purchase_orders.html:17 msgid "Create new purchase order" -msgstr "Criar novo pedido de compra" +msgstr "" #: company/templates/company/detail.html:80 #: order/templates/order/purchase_orders.html:18 msgid "New Purchase Order" -msgstr "Novo Pedido de Compra" +msgstr "" #: company/templates/company/detail.html:101 #: company/templates/company/sidebar.html:21 @@ -4546,21 +4546,21 @@ msgstr "Novo Pedido de Compra" #: templates/js/translated/search.js:219 templates/navbar.html:62 #: users/models.py:209 msgid "Sales Orders" -msgstr "Pedidos de vendas" +msgstr "" #: company/templates/company/detail.html:105 #: order/templates/order/sales_orders.html:20 msgid "Create new sales order" -msgstr "Criar novo pedido de venda" +msgstr "" #: company/templates/company/detail.html:106 #: order/templates/order/sales_orders.html:21 msgid "New Sales Order" -msgstr "Novo Pedido de Venda" +msgstr "" #: company/templates/company/detail.html:126 msgid "Assigned Stock" -msgstr "Estoque Atribuído" +msgstr "" #: company/templates/company/detail.html:142 #: company/templates/company/sidebar.html:29 @@ -4571,70 +4571,70 @@ msgstr "Estoque Atribuído" #: templates/js/translated/search.js:232 templates/navbar.html:65 #: users/models.py:210 msgid "Return Orders" -msgstr "Pedidos de Devolução" +msgstr "" #: company/templates/company/detail.html:146 #: order/templates/order/return_orders.html:20 msgid "Create new return order" -msgstr "Criar novo pedido de devolução" +msgstr "" #: company/templates/company/detail.html:147 #: order/templates/order/return_orders.html:21 msgid "New Return Order" -msgstr "Novo Pedido de Devolução" +msgstr "" #: company/templates/company/detail.html:168 msgid "Company Notes" -msgstr "Notas da Empresa" +msgstr "" #: company/templates/company/detail.html:183 msgid "Company Contacts" -msgstr "Contato da Empresa" +msgstr "" #: company/templates/company/detail.html:187 #: company/templates/company/detail.html:188 msgid "Add Contact" -msgstr "Adicionar Contato" +msgstr "" #: company/templates/company/detail.html:206 msgid "Company addresses" -msgstr "Endereços da empresa" +msgstr "" #: company/templates/company/detail.html:210 #: company/templates/company/detail.html:211 msgid "Add Address" -msgstr "Adicionar endereço" +msgstr "" #: company/templates/company/manufacturer_part.html:15 company/views.py:37 #: templates/InvenTree/search.html:180 templates/navbar.html:49 msgid "Manufacturers" -msgstr "Fabricantes" +msgstr "" #: company/templates/company/manufacturer_part.html:35 #: company/templates/company/supplier_part.html:227 #: part/templates/part/detail.html:109 part/templates/part/part_base.html:83 msgid "Order part" -msgstr "Pedir peça" +msgstr "" #: company/templates/company/manufacturer_part.html:39 #: templates/js/translated/company.js:1343 msgid "Edit manufacturer part" -msgstr "Editar peça do fabricante" +msgstr "" #: company/templates/company/manufacturer_part.html:43 #: templates/js/translated/company.js:1344 msgid "Delete manufacturer part" -msgstr "Excluir peça do fabricante" +msgstr "" #: company/templates/company/manufacturer_part.html:65 #: company/templates/company/supplier_part.html:97 order/api.py:440 #: order/serializers.py:526 msgid "Internal Part" -msgstr "Peça Interna" +msgstr "" #: company/templates/company/manufacturer_part.html:95 msgid "No manufacturer information available" -msgstr "Nenhuma informação do fabricante disponível" +msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 @@ -4642,87 +4642,87 @@ msgstr "Nenhuma informação do fabricante disponível" #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" -msgstr "Fornecedores" +msgstr "" #: company/templates/company/manufacturer_part.html:156 #: company/templates/company/manufacturer_part_sidebar.html:5 #: part/templates/part/category_sidebar.html:20 #: part/templates/part/detail.html:195 part/templates/part/part_sidebar.html:8 msgid "Parameters" -msgstr "Parâmetros" +msgstr "" #: company/templates/company/manufacturer_part.html:160 #: part/templates/part/detail.html:200 #: templates/InvenTree/settings/category.html:12 #: templates/InvenTree/settings/part_parameters.html:24 msgid "New Parameter" -msgstr "Novo parâmetro" +msgstr "" #: company/templates/company/manufacturer_part.html:196 #: templates/js/translated/part.js:1426 msgid "Add Parameter" -msgstr "Adicionar Parâmetro" +msgstr "" #: company/templates/company/sidebar.html:6 msgid "Manufactured Parts" -msgstr "Peças Fabricadas" +msgstr "" #: company/templates/company/sidebar.html:10 msgid "Supplied Parts" -msgstr "Peças fornecidas" +msgstr "" #: company/templates/company/sidebar.html:16 msgid "Supplied Stock Items" -msgstr "Itens fornecidos em estoque" +msgstr "" #: company/templates/company/sidebar.html:25 msgid "Assigned Stock Items" -msgstr "Itens de Estoque atribuídos" +msgstr "" #: company/templates/company/sidebar.html:33 msgid "Contacts" -msgstr "Contatos" +msgstr "" #: company/templates/company/supplier_part.html:50 #: templates/js/translated/company.js:1526 msgid "Supplier part actions" -msgstr "Ações de peças do fornecedor" +msgstr "" #: company/templates/company/supplier_part.html:55 #: company/templates/company/supplier_part.html:56 #: company/templates/company/supplier_part.html:228 #: part/templates/part/detail.html:110 msgid "Order Part" -msgstr "Pedir Peça" +msgstr "" #: company/templates/company/supplier_part.html:60 #: company/templates/company/supplier_part.html:61 msgid "Update Availability" -msgstr "Atualizar disponibilidade" +msgstr "" #: company/templates/company/supplier_part.html:63 #: company/templates/company/supplier_part.html:64 #: templates/js/translated/company.js:294 msgid "Edit Supplier Part" -msgstr "Editar Fornecedor da Peça" +msgstr "" #: company/templates/company/supplier_part.html:68 #: company/templates/company/supplier_part.html:69 #: templates/js/translated/company.js:269 msgid "Duplicate Supplier Part" -msgstr "Duplicar Peça do Fornecedor" +msgstr "" #: company/templates/company/supplier_part.html:73 msgid "Delete Supplier Part" -msgstr "Excluir Fornecedor da Peça" +msgstr "" #: company/templates/company/supplier_part.html:74 msgid "Delete Supplier Part" -msgstr "Excluir Fornecedor da Peça" +msgstr "" #: company/templates/company/supplier_part.html:133 msgid "No supplier information available" -msgstr "Nenhuma informação do fornecedor está disponível" +msgstr "" #: company/templates/company/supplier_part.html:139 order/serializers.py:515 #: part/bom.py:279 part/bom.py:311 part/serializers.py:537 @@ -4731,48 +4731,48 @@ msgstr "Nenhuma informação do fornecedor está disponível" #: templates/js/translated/purchase_order.js:1850 #: templates/js/translated/purchase_order.js:2028 msgid "SKU" -msgstr "Código (SKU)" +msgstr "" #: company/templates/company/supplier_part.html:206 msgid "Supplier Part Stock" -msgstr "Estoque de Peça do Fornecedor" +msgstr "" #: company/templates/company/supplier_part.html:209 #: part/templates/part/detail.html:24 stock/templates/stock/location.html:207 msgid "Create new stock item" -msgstr "Criar novo item de estoque" +msgstr "" #: company/templates/company/supplier_part.html:210 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:208 #: templates/js/translated/stock.js:537 msgid "New Stock Item" -msgstr "Novo item de estoque" +msgstr "" #: company/templates/company/supplier_part.html:223 msgid "Supplier Part Orders" -msgstr "Pedidos de peças do fornecedor" +msgstr "" #: company/templates/company/supplier_part.html:246 msgid "Pricing Information" -msgstr "Informações de Preço" +msgstr "" #: company/templates/company/supplier_part.html:251 #: templates/js/translated/company.js:398 #: templates/js/translated/pricing.js:684 msgid "Add Price Break" -msgstr "Adicionar parcela de preço" +msgstr "" #: company/templates/company/supplier_part.html:276 msgid "Supplier Part QR Code" -msgstr "QR Code da Peça do Fornecedor" +msgstr "" #: company/templates/company/supplier_part.html:287 msgid "Link Barcode to Supplier Part" -msgstr "Vincular Código de Barras à Peça do Fornecedor" +msgstr "" #: company/templates/company/supplier_part.html:359 msgid "Update Part Availability" -msgstr "Atualizar Disponibilidade de Peças" +msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 #: part/serializers.py:859 part/stocktake.py:224 @@ -4787,36 +4787,36 @@ msgstr "Atualizar Disponibilidade de Peças" #: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 #: users/models.py:206 msgid "Stock Items" -msgstr "Itens de Estoque" +msgstr "" #: company/templates/company/supplier_part_sidebar.html:9 msgid "Supplier Part Pricing" -msgstr "Preço do Fornecedor Peça" +msgstr "" #: company/views.py:32 msgid "New Supplier" -msgstr "Novo Fornecedor" +msgstr "" #: company/views.py:38 msgid "New Manufacturer" -msgstr "Novo Fabricante" +msgstr "" #: company/views.py:43 templates/InvenTree/search.html:210 #: templates/navbar.html:60 msgid "Customers" -msgstr "Clientes" +msgstr "" #: company/views.py:44 msgid "New Customer" -msgstr "Novo Cliente" +msgstr "" #: company/views.py:52 msgid "New Company" -msgstr "Nova Empresa" +msgstr "" #: generic/states/tests.py:18 order/status_codes.py:13 msgid "Placed" -msgstr "Colocado" +msgstr "" #: importer/mixins.py:263 msgid "Invalid export format" @@ -4832,7 +4832,7 @@ msgstr "" #: importer/models.py:70 templates/js/translated/tables.js:558 msgid "Columns" -msgstr "Colunas" +msgstr "" #: importer/models.py:81 msgid "Import status" @@ -4892,7 +4892,7 @@ msgstr "" #: importer/models.py:462 part/models.py:3841 msgid "Data" -msgstr "Dados" +msgstr "" #: importer/models.py:464 machine/models.py:110 msgid "Errors" @@ -4900,7 +4900,7 @@ msgstr "" #: importer/models.py:466 part/api.py:874 msgid "Valid" -msgstr "Válido" +msgstr "" #: importer/operations.py:28 importer/operations.py:49 msgid "Unsupported data file format" @@ -4989,7 +4989,7 @@ msgstr "" #: machine/machine_types/label_printer.py:229 order/api.py:1388 #: templates/js/translated/sales_order.js:1078 msgid "Unknown" -msgstr "Desconhecido" +msgstr "" #: machine/machine_types/label_printer.py:230 msgid "Printing" @@ -5078,14 +5078,14 @@ msgstr "" #: templates/js/translated/purchase_order.js:2125 #: templates/js/translated/sales_order.js:1883 msgid "Total Price" -msgstr "Preço Total" +msgstr "" #: order/api.py:149 order/serializers.py:94 #: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:113 #: order/templates/order/sales_order_base.html:122 msgid "Order Status" -msgstr "Situação do pedido" +msgstr "" #: order/api.py:153 templates/js/translated/table_filters.js:194 #: templates/js/translated/table_filters.js:784 @@ -5094,14 +5094,14 @@ msgstr "" #: order/api.py:228 msgid "No matching purchase order found" -msgstr "Nenhum pedido de compra correspondente encontrado" +msgstr "" #: order/api.py:417 order/api.py:755 order/models.py:1400 order/models.py:1514 #: order/models.py:1565 order/models.py:1680 order/models.py:1839 #: order/models.py:2258 order/models.py:2314 #: templates/js/translated/sales_order.js:1524 msgid "Order" -msgstr "Pedido" +msgstr "" #: order/api.py:421 order/api.py:776 msgid "Order Complete" @@ -5123,7 +5123,7 @@ msgstr "" #: templates/js/translated/purchase_order.js:1673 #: templates/js/translated/stock.js:2260 templates/js/translated/stock.js:2907 msgid "Purchase Order" -msgstr "Pedido de Compra" +msgstr "" #: order/api.py:1386 order/models.py:2007 order/models.py:2259 #: order/models.py:2315 order/templates/order/return_order_base.html:9 @@ -5132,122 +5132,122 @@ msgstr "Pedido de Compra" #: templates/js/translated/return_order.js:280 #: templates/js/translated/stock.js:2941 msgid "Return Order" -msgstr "Devolver pedido" +msgstr "" #: order/models.py:91 msgid "Total price for this order" -msgstr "Preço total deste pedido" +msgstr "" #: order/models.py:96 order/serializers.py:72 msgid "Order Currency" -msgstr "Moeda do pedido" +msgstr "" #: order/models.py:99 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" -msgstr "Moeda para este pedido (deixe em branco para usar o padrão da empresa)" +msgstr "" #: order/models.py:247 msgid "Contact does not match selected company" -msgstr "O contato não corresponde à empresa selecionada" +msgstr "" #: order/models.py:290 msgid "Order description (optional)" -msgstr "Descrição do pedido (opcional)" +msgstr "" #: order/models.py:299 msgid "Select project code for this order" -msgstr "Selecione o código do projeto para este pedido" +msgstr "" #: order/models.py:303 order/models.py:1301 order/models.py:1733 msgid "Link to external page" -msgstr "Link para página externa" +msgstr "" #: order/models.py:311 msgid "Expected date for order delivery. Order will be overdue after this date." -msgstr "Data esperada para entrega do pedido. O Pedido estará atrasado após esta data." +msgstr "" #: order/models.py:325 msgid "Created By" -msgstr "Criado por" +msgstr "" #: order/models.py:333 msgid "User or group responsible for this order" -msgstr "Usuário ou grupo responsável para este pedido" +msgstr "" #: order/models.py:344 msgid "Point of contact for this order" -msgstr "Ponto de contato para este pedido" +msgstr "" #: order/models.py:354 msgid "Company address for this order" -msgstr "Endereço da empresa para este pedido" +msgstr "" #: order/models.py:464 order/models.py:927 msgid "Order reference" -msgstr "Referência do pedido" +msgstr "" #: order/models.py:472 order/models.py:951 msgid "Purchase order status" -msgstr "Situação do pedido de compra" +msgstr "" #: order/models.py:487 msgid "Company from which the items are being ordered" -msgstr "Empresa da qual os itens estão sendo encomendados" +msgstr "" #: order/models.py:498 order/templates/order/order_base.html:148 #: templates/js/translated/purchase_order.js:1702 msgid "Supplier Reference" -msgstr "Referencia do fornecedor" +msgstr "" #: order/models.py:499 msgid "Supplier order reference code" -msgstr "Código de referência do pedido fornecedor" +msgstr "" #: order/models.py:508 msgid "received by" -msgstr "recebido por" +msgstr "" #: order/models.py:514 order/models.py:2084 msgid "Issue Date" -msgstr "Data de emissão" +msgstr "" #: order/models.py:515 order/models.py:2085 msgid "Date order was issued" -msgstr "Dia que o pedido foi feito" +msgstr "" #: order/models.py:522 order/models.py:2092 msgid "Date order was completed" -msgstr "Dia que o pedido foi concluído" +msgstr "" #: order/models.py:566 msgid "Part supplier must match PO supplier" -msgstr "Fornecedor de peça deve corresponder a fornecedor da OC" +msgstr "" #: order/models.py:760 msgid "Quantity must be a positive number" -msgstr "Quantidade deve ser um número positivo" +msgstr "" #: order/models.py:939 msgid "Company to which the items are being sold" -msgstr "Empresa para qual os itens foi vendidos" +msgstr "" #: order/models.py:962 order/models.py:2077 msgid "Customer Reference " -msgstr "Referência do Cliente " +msgstr "" #: order/models.py:963 order/models.py:2078 msgid "Customer order reference code" -msgstr "Código de Referência do pedido do cliente" +msgstr "" #: order/models.py:967 order/models.py:1687 #: templates/js/translated/sales_order.js:879 #: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" -msgstr "Data de Envio" +msgstr "" #: order/models.py:976 msgid "shipped by" -msgstr "enviado por" +msgstr "" #: order/models.py:1025 msgid "Order is already complete" @@ -5259,47 +5259,47 @@ msgstr "" #: order/models.py:1032 msgid "Only an open order can be marked as complete" -msgstr "Apenas um pedido aberto pode ser marcado como completo" +msgstr "" #: order/models.py:1036 msgid "Order cannot be completed as there are incomplete shipments" -msgstr "Pedido não pode ser concluído, pois, há envios incompletos" +msgstr "" #: order/models.py:1041 msgid "Order cannot be completed as there are incomplete line items" -msgstr "Pedido não pode ser concluído, pois, há itens na linha incompletos" +msgstr "" #: order/models.py:1273 msgid "Item quantity" -msgstr "Quantidade do item" +msgstr "" #: order/models.py:1290 msgid "Line item reference" -msgstr "Referência do Item em Linha" +msgstr "" #: order/models.py:1297 msgid "Line item notes" -msgstr "Observações do Item de Linha" +msgstr "" #: order/models.py:1309 msgid "Target date for this line item (leave blank to use the target date from the order)" -msgstr "Data alvo para este item de linha (deixe em branco para usar a data alvo do pedido)" +msgstr "" #: order/models.py:1330 msgid "Line item description (optional)" -msgstr "Descrição item de linha (opcional)" +msgstr "" #: order/models.py:1336 msgid "Context" -msgstr "Contexto" +msgstr "" #: order/models.py:1337 msgid "Additional context for this line" -msgstr "Contexto adicional para esta linha" +msgstr "" #: order/models.py:1347 msgid "Unit price" -msgstr "Preço Unitário" +msgstr "" #: order/models.py:1361 msgid "Purchase Order Line Item" @@ -5307,15 +5307,15 @@ msgstr "" #: order/models.py:1385 msgid "Supplier part must match supplier" -msgstr "A peça do fornecedor deve corresponder ao fornecedor" +msgstr "" #: order/models.py:1392 msgid "deleted" -msgstr "excluído" +msgstr "" #: order/models.py:1420 msgid "Supplier part" -msgstr "Fornecedor da Peça" +msgstr "" #: order/models.py:1427 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1873 templates/js/translated/part.js:1905 @@ -5325,25 +5325,25 @@ msgstr "Fornecedor da Peça" #: templates/js/translated/table_filters.js:120 #: templates/js/translated/table_filters.js:602 msgid "Received" -msgstr "Recebido" +msgstr "" #: order/models.py:1428 msgid "Number of items received" -msgstr "Número de itens recebidos" +msgstr "" #: order/models.py:1436 stock/models.py:939 stock/serializers.py:602 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2311 msgid "Purchase Price" -msgstr "Preço de Compra" +msgstr "" #: order/models.py:1437 msgid "Unit purchase price" -msgstr "Preço unitário de compra" +msgstr "" #: order/models.py:1452 msgid "Where does the Purchaser want this item to be stored?" -msgstr "Onde o Comprador quer que este item seja armazenado?" +msgstr "" #: order/models.py:1503 msgid "Purchase Order Extra Line" @@ -5355,31 +5355,31 @@ msgstr "" #: order/models.py:1553 msgid "Virtual part cannot be assigned to a sales order" -msgstr "Peça virtual não pode ser atribuída a um pedido de venda" +msgstr "" #: order/models.py:1558 msgid "Only salable parts can be assigned to a sales order" -msgstr "Apenas peças vendáveis podem ser atribuídas a um pedido de venda" +msgstr "" #: order/models.py:1584 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" -msgstr "Preço de Venda" +msgstr "" #: order/models.py:1585 msgid "Unit sale price" -msgstr "Preço de venda unitário" +msgstr "" #: order/models.py:1594 order/status_codes.py:43 #: templates/js/translated/sales_order.js:1559 #: templates/js/translated/sales_order.js:1680 #: templates/js/translated/sales_order.js:1993 msgid "Shipped" -msgstr "Enviado" +msgstr "" #: order/models.py:1595 msgid "Shipped quantity" -msgstr "Quantidade enviada" +msgstr "" #: order/models.py:1667 msgid "Sales Order Shipment" @@ -5387,56 +5387,56 @@ msgstr "" #: order/models.py:1688 msgid "Date of shipment" -msgstr "Data do envio" +msgstr "" #: order/models.py:1694 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" -msgstr "Data de Entrega" +msgstr "" #: order/models.py:1695 msgid "Date of delivery of shipment" -msgstr "Data da entrega do envio" +msgstr "" #: order/models.py:1703 msgid "Checked By" -msgstr "Verificado por" +msgstr "" #: order/models.py:1704 msgid "User who checked this shipment" -msgstr "Usuário que verificou esta remessa" +msgstr "" #: order/models.py:1711 order/models.py:1934 order/serializers.py:1398 #: order/serializers.py:1508 templates/js/translated/model_renderers.js:454 msgid "Shipment" -msgstr "Remessa" +msgstr "" #: order/models.py:1712 msgid "Shipment number" -msgstr "Número do Envio" +msgstr "" #: order/models.py:1720 msgid "Tracking Number" -msgstr "Número de Rastreamento" +msgstr "" #: order/models.py:1721 msgid "Shipment tracking information" -msgstr "Informação de rastreamento da remessa" +msgstr "" #: order/models.py:1728 msgid "Invoice Number" -msgstr "Número da Fatura" +msgstr "" #: order/models.py:1729 msgid "Reference number for associated invoice" -msgstr "Número de referência para fatura associada" +msgstr "" #: order/models.py:1749 msgid "Shipment has already been sent" -msgstr "O pedido já foi enviado" +msgstr "" #: order/models.py:1752 msgid "Shipment has no allocated stock items" -msgstr "Remessa não foi alocada nos itens de estoque" +msgstr "" #: order/models.py:1828 msgid "Sales Order Extra Line" @@ -5448,39 +5448,39 @@ msgstr "" #: order/models.py:1880 order/models.py:1882 msgid "Stock item has not been assigned" -msgstr "O item do estoque não foi atribuído" +msgstr "" #: order/models.py:1889 msgid "Cannot allocate stock item to a line with a different part" -msgstr "Não é possível alocar o item de estoque para uma linha de uma peça diferente" +msgstr "" #: order/models.py:1892 msgid "Cannot allocate stock to a line without a part" -msgstr "Não é possível alocar uma linha sem uma peça" +msgstr "" #: order/models.py:1895 msgid "Allocation quantity cannot exceed stock quantity" -msgstr "A quantidade de alocação não pode exceder a quantidade em estoque" +msgstr "" #: order/models.py:1914 order/serializers.py:1275 msgid "Quantity must be 1 for serialized stock item" -msgstr "Quantidade deve ser 1 para item de estoque serializado" +msgstr "" #: order/models.py:1917 msgid "Sales order does not match shipment" -msgstr "Pedidos de venda não coincidem com a remessa" +msgstr "" #: order/models.py:1918 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" -msgstr "Remessa não coincide com pedido de venda" +msgstr "" #: order/models.py:1926 msgid "Line" -msgstr "Linha" +msgstr "" #: order/models.py:1935 msgid "Sales order shipment reference" -msgstr "Referência de remessa do pedido de venda" +msgstr "" #: order/models.py:1948 order/models.py:2266 #: templates/js/translated/return_order.js:721 @@ -5489,23 +5489,23 @@ msgstr "" #: order/models.py:1949 msgid "Select stock item to allocate" -msgstr "Selecione o item de estoque para alocar" +msgstr "" #: order/models.py:1958 msgid "Enter stock allocation quantity" -msgstr "Insira a quantidade de atribuição de estoque" +msgstr "" #: order/models.py:2047 msgid "Return Order reference" -msgstr "Referência de Pedidos de Devolução" +msgstr "" #: order/models.py:2059 msgid "Company from which items are being returned" -msgstr "Empresa da qual os itens estão sendo retornados" +msgstr "" #: order/models.py:2071 msgid "Return order status" -msgstr "Estado do pedido de retorno" +msgstr "" #: order/models.py:2237 msgid "Return Order Line Item" @@ -5513,32 +5513,32 @@ msgstr "" #: order/models.py:2251 msgid "Only serialized items can be assigned to a Return Order" -msgstr "Somente itens da série podem ser devolvidos" +msgstr "" #: order/models.py:2267 msgid "Select item to return from customer" -msgstr "Selecione o item a ser devolvido pelo cliente" +msgstr "" #: order/models.py:2273 msgid "Received Date" -msgstr "Data de Recebimento" +msgstr "" #: order/models.py:2274 msgid "The date this this return item was received" -msgstr "Data que o pedido a ser devolvido foi recebido" +msgstr "" #: order/models.py:2285 templates/js/translated/return_order.js:732 #: templates/js/translated/table_filters.js:123 msgid "Outcome" -msgstr "Despesa/gastos" +msgstr "" #: order/models.py:2286 msgid "Outcome for this line item" -msgstr "Gastos com esta linha de itens" +msgstr "" #: order/models.py:2293 msgid "Cost associated with return or repair for this line item" -msgstr "Gastos para reparar e/ou devolver esta linha de itens" +msgstr "" #: order/models.py:2303 msgid "Return Order Extra Line" @@ -5551,7 +5551,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report.html:19 #: report/templates/report/inventree_sales_order_report.html:22 msgid "Line Items" -msgstr "Itens de linha" +msgstr "" #: order/serializers.py:87 msgid "Completed Lines" @@ -5559,19 +5559,19 @@ msgstr "" #: order/serializers.py:305 msgid "Order cannot be cancelled" -msgstr "Pedido não pode ser cancelado" +msgstr "" #: order/serializers.py:320 order/serializers.py:1291 msgid "Allow order to be closed with incomplete line items" -msgstr "Permitir que o pedido seja fechado com itens de linha incompletos" +msgstr "" #: order/serializers.py:330 order/serializers.py:1301 msgid "Order has incomplete line items" -msgstr "O pedido tem itens da linha incompletos" +msgstr "" #: order/serializers.py:468 msgid "Order is not open" -msgstr "O pedido não está aberto" +msgstr "" #: order/serializers.py:489 msgid "Auto Pricing" @@ -5583,7 +5583,7 @@ msgstr "" #: order/serializers.py:501 msgid "Purchase price currency" -msgstr "Moeda de preço de compra" +msgstr "" #: order/serializers.py:507 msgid "Merge Items" @@ -5595,7 +5595,7 @@ msgstr "" #: order/serializers.py:522 part/models.py:945 msgid "Internal Part Number" -msgstr "Numero interno do produto" +msgstr "" #: order/serializers.py:530 msgid "Internal Part Name" @@ -5603,205 +5603,205 @@ msgstr "" #: order/serializers.py:546 msgid "Supplier part must be specified" -msgstr "A peça do fornecedor deve ser especificada" +msgstr "" #: order/serializers.py:549 msgid "Purchase order must be specified" -msgstr "O pedido de compra deve ser especificado" +msgstr "" #: order/serializers.py:557 msgid "Supplier must match purchase order" -msgstr "O fornecedor deve corresponder o pedido de compra" +msgstr "" #: order/serializers.py:558 msgid "Purchase order must match supplier" -msgstr "Pedido de compra deve corresponder ao fornecedor" +msgstr "" #: order/serializers.py:598 order/serializers.py:1369 msgid "Line Item" -msgstr "Itens de linha" +msgstr "" #: order/serializers.py:604 msgid "Line item does not match purchase order" -msgstr "O item de linha não corresponde ao pedido de compra" +msgstr "" #: order/serializers.py:614 order/serializers.py:722 order/serializers.py:1715 msgid "Select destination location for received items" -msgstr "Selecione o local de destino para os itens recebidos" +msgstr "" #: order/serializers.py:630 templates/js/translated/purchase_order.js:1130 msgid "Enter batch code for incoming stock items" -msgstr "Digite o código do lote para itens de estoque recebidos" +msgstr "" #: order/serializers.py:638 templates/js/translated/purchase_order.js:1154 msgid "Enter serial numbers for incoming stock items" -msgstr "Digite o número de série para itens de estoque recebidos" +msgstr "" #: order/serializers.py:649 templates/js/translated/barcode.js:52 msgid "Barcode" -msgstr "Código de barras" +msgstr "" #: order/serializers.py:650 msgid "Scanned barcode" -msgstr "Código de barras lido" +msgstr "" #: order/serializers.py:666 msgid "Barcode is already in use" -msgstr "Código de barras já em uso" +msgstr "" #: order/serializers.py:690 msgid "An integer quantity must be provided for trackable parts" -msgstr "Quantidade inteira deve ser fornecida para peças rastreáveis" +msgstr "" #: order/serializers.py:738 order/serializers.py:1731 msgid "Line items must be provided" -msgstr "Itens de linha deve ser providenciados" +msgstr "" #: order/serializers.py:754 msgid "Destination location must be specified" -msgstr "Loca de destino deve ser especificado" +msgstr "" #: order/serializers.py:765 msgid "Supplied barcode values must be unique" -msgstr "Código de barras fornecido deve ser único" +msgstr "" #: order/serializers.py:1117 msgid "Sale price currency" -msgstr "Moeda de preço de venda" +msgstr "" #: order/serializers.py:1178 msgid "No shipment details provided" -msgstr "Nenhum detalhe da remessa fornecido" +msgstr "" #: order/serializers.py:1239 order/serializers.py:1378 msgid "Line item is not associated with this order" -msgstr "Item de linha não está associado a este pedido" +msgstr "" #: order/serializers.py:1258 msgid "Quantity must be positive" -msgstr "Quantidade deve ser positiva" +msgstr "" #: order/serializers.py:1388 msgid "Enter serial numbers to allocate" -msgstr "Digite números de série para alocar" +msgstr "" #: order/serializers.py:1410 order/serializers.py:1516 msgid "Shipment has already been shipped" -msgstr "O pedido já foi enviado" +msgstr "" #: order/serializers.py:1413 order/serializers.py:1519 msgid "Shipment is not associated with this order" -msgstr "O envio não está associado a este pedido" +msgstr "" #: order/serializers.py:1460 msgid "No match found for the following serial numbers" -msgstr "Nenhuma correspondência encontrada para os seguintes números de série" +msgstr "" #: order/serializers.py:1467 msgid "The following serial numbers are already allocated" -msgstr "Os seguintes números de série já estão alocados" +msgstr "" #: order/serializers.py:1685 msgid "Return order line item" -msgstr "Devolver item do pedido" +msgstr "" #: order/serializers.py:1691 msgid "Line item does not match return order" -msgstr "Item do pedido não bate com o pedido de devolução" +msgstr "" #: order/serializers.py:1694 msgid "Line item has already been received" -msgstr "Item do pedido já foi recebido" +msgstr "" #: order/serializers.py:1723 msgid "Items can only be received against orders which are in progress" -msgstr "Itens só podem ser recebidos de pedidos em processamento" +msgstr "" #: order/serializers.py:1806 msgid "Line price currency" -msgstr "Tipo de moeda para o item do pedido" +msgstr "" #: order/status_codes.py:16 order/status_codes.py:46 stock/status_codes.py:16 msgid "Lost" -msgstr "Perdido" +msgstr "" #: order/status_codes.py:17 order/status_codes.py:47 stock/status_codes.py:22 msgid "Returned" -msgstr "Retornado" +msgstr "" #: order/status_codes.py:40 order/status_codes.py:67 msgid "In Progress" -msgstr "Em Progresso" +msgstr "" #: order/status_codes.py:85 msgid "Return" -msgstr "Devolução" +msgstr "" #: order/status_codes.py:88 msgid "Repair" -msgstr "Consertar" +msgstr "" #: order/status_codes.py:91 msgid "Replace" -msgstr "Substituir" +msgstr "" #: order/status_codes.py:94 msgid "Refund" -msgstr "Reembolsar" +msgstr "" #: order/status_codes.py:97 msgid "Reject" -msgstr "Recusar" +msgstr "" #: order/tasks.py:25 msgid "Overdue Purchase Order" -msgstr "Pedido de compra vencido" +msgstr "" #: order/tasks.py:30 #, python-brace-format msgid "Purchase order {po} is now overdue" -msgstr "Pedido de compra {po} está atrasada" +msgstr "" #: order/tasks.py:75 msgid "Overdue Sales Order" -msgstr "Pedido de venda vencido" +msgstr "" #: order/tasks.py:80 #, python-brace-format msgid "Sales order {so} is now overdue" -msgstr "Pedido de venda {so} está atrasada" +msgstr "" #: order/templates/order/order_base.html:51 msgid "Print purchase order report" -msgstr "Imprimir relatório do pedido de compra" +msgstr "" #: order/templates/order/order_base.html:53 #: order/templates/order/return_order_base.html:62 #: order/templates/order/sales_order_base.html:62 msgid "Export order to file" -msgstr "Exportar pedido ao arquivo" +msgstr "" #: order/templates/order/order_base.html:59 #: order/templates/order/return_order_base.html:72 #: order/templates/order/sales_order_base.html:71 msgid "Order actions" -msgstr "Ações de pedido" +msgstr "" #: order/templates/order/order_base.html:64 #: order/templates/order/return_order_base.html:76 #: order/templates/order/sales_order_base.html:75 msgid "Edit order" -msgstr "Editar pedido" +msgstr "" #: order/templates/order/order_base.html:68 #: order/templates/order/return_order_base.html:78 #: order/templates/order/sales_order_base.html:77 msgid "Cancel order" -msgstr "Cancelar pedido" +msgstr "" #: order/templates/order/order_base.html:73 msgid "Duplicate order" -msgstr "Duplicar pedido" +msgstr "" #: order/templates/order/order_base.html:79 #: order/templates/order/order_base.html:80 @@ -5810,87 +5810,87 @@ msgstr "Duplicar pedido" #: order/templates/order/sales_order_base.html:83 #: order/templates/order/sales_order_base.html:84 msgid "Issue Order" -msgstr "Emitir Pedido" +msgstr "" #: order/templates/order/order_base.html:83 #: order/templates/order/return_order_base.html:86 msgid "Mark order as complete" -msgstr "Marcar pedido como concluído" +msgstr "" #: order/templates/order/order_base.html:84 #: order/templates/order/return_order_base.html:87 #: order/templates/order/sales_order_base.html:97 msgid "Complete Order" -msgstr "Completar Pedido" +msgstr "" #: order/templates/order/order_base.html:91 msgid "Supplier part thumbnail" -msgstr "Miniatura da peça do fornecedor" +msgstr "" #: order/templates/order/order_base.html:106 #: order/templates/order/return_order_base.html:101 #: order/templates/order/sales_order_base.html:110 msgid "Order Reference" -msgstr "Referência do Pedido" +msgstr "" #: order/templates/order/order_base.html:111 #: order/templates/order/return_order_base.html:106 #: order/templates/order/sales_order_base.html:115 msgid "Order Description" -msgstr "Descrição do Pedido" +msgstr "" #: order/templates/order/order_base.html:141 msgid "No suppplier information available" -msgstr "Nenhuma informação do fornecedor disponível" +msgstr "" #: order/templates/order/order_base.html:154 #: order/templates/order/sales_order_base.html:161 msgid "Completed Line Items" -msgstr "Itens de Linha Concluídos" +msgstr "" #: order/templates/order/order_base.html:160 #: order/templates/order/sales_order_base.html:167 #: order/templates/order/sales_order_base.html:177 msgid "Incomplete" -msgstr "Incompleto" +msgstr "" #: order/templates/order/order_base.html:179 #: order/templates/order/return_order_base.html:157 #: report/templates/report/inventree_build_order_report.html:121 msgid "Issued" -msgstr "Emitido" +msgstr "" #: order/templates/order/order_base.html:224 msgid "Total cost" -msgstr "Custo total" +msgstr "" #: order/templates/order/order_base.html:228 #: order/templates/order/return_order_base.html:199 #: order/templates/order/sales_order_base.html:243 msgid "Total cost could not be calculated" -msgstr "O custo total não pôde ser calculado" +msgstr "" #: order/templates/order/order_base.html:314 msgid "Purchase Order QR Code" -msgstr "Código QR do Pedido de Compra" +msgstr "" #: order/templates/order/order_base.html:326 msgid "Link Barcode to Purchase Order" -msgstr "Vincular o Código de Barras ao Pedido de Compra" +msgstr "" #: order/templates/order/order_wizard/match_fields.html:9 #: part/templates/part/import_wizard/ajax_match_fields.html:9 #: part/templates/part/import_wizard/match_fields.html:9 #: templates/patterns/wizard/match_fields.html:8 msgid "Missing selections for the following required columns" -msgstr "Seleções ausentes para as seguintes colunas necessárias" +msgstr "" #: order/templates/order/order_wizard/match_fields.html:20 #: part/templates/part/import_wizard/ajax_match_fields.html:20 #: part/templates/part/import_wizard/match_fields.html:20 #: templates/patterns/wizard/match_fields.html:19 msgid "Duplicate selections found, see below. Fix them then retry submitting." -msgstr "Seleções duplicadas encontradas, veja abaixo. Corrija-as e tente enviar novamente." +msgstr "" #: order/templates/order/order_wizard/match_fields.html:29 #: order/templates/order/order_wizard/match_parts.html:21 @@ -5898,28 +5898,28 @@ msgstr "Seleções duplicadas encontradas, veja abaixo. Corrija-as e tente envia #: part/templates/part/import_wizard/match_references.html:21 #: templates/patterns/wizard/match_fields.html:28 msgid "Submit Selections" -msgstr "Enviar Seleções" +msgstr "" #: order/templates/order/order_wizard/match_fields.html:35 #: part/templates/part/import_wizard/ajax_match_fields.html:28 #: part/templates/part/import_wizard/match_fields.html:35 #: templates/patterns/wizard/match_fields.html:34 msgid "File Fields" -msgstr "Campos de arquivo" +msgstr "" #: order/templates/order/order_wizard/match_fields.html:42 #: part/templates/part/import_wizard/ajax_match_fields.html:35 #: part/templates/part/import_wizard/match_fields.html:42 #: templates/patterns/wizard/match_fields.html:41 msgid "Remove column" -msgstr "Remover coluna" +msgstr "" #: order/templates/order/order_wizard/match_fields.html:60 #: part/templates/part/import_wizard/ajax_match_fields.html:53 #: part/templates/part/import_wizard/match_fields.html:60 #: templates/patterns/wizard/match_fields.html:59 msgid "Duplicate selection" -msgstr "Duplicar seleção" +msgstr "" #: order/templates/order/order_wizard/match_fields.html:71 #: order/templates/order/order_wizard/match_parts.html:52 @@ -5936,35 +5936,35 @@ msgstr "Duplicar seleção" #: templates/js/translated/stock.js:714 templates/js/translated/stock.js:883 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" -msgstr "Remover linha" +msgstr "" #: order/templates/order/order_wizard/match_parts.html:12 #: part/templates/part/import_wizard/ajax_match_references.html:12 #: part/templates/part/import_wizard/match_references.html:12 msgid "Errors exist in the submitted data" -msgstr "Há erros nos dados enviados" +msgstr "" #: order/templates/order/order_wizard/match_parts.html:28 #: part/templates/part/import_wizard/ajax_match_references.html:21 #: part/templates/part/import_wizard/match_references.html:28 msgid "Row" -msgstr "Linha" +msgstr "" #: order/templates/order/order_wizard/match_parts.html:29 msgid "Select Supplier Part" -msgstr "Selecionar Fornecedor da Peça" +msgstr "" #: order/templates/order/order_wizard/po_upload.html:8 msgid "Return to Orders" -msgstr "Retornar para Pedidos" +msgstr "" #: order/templates/order/order_wizard/po_upload.html:13 msgid "Upload File for Purchase Order" -msgstr "Carregar Arquivo para o Pedido de Compra" +msgstr "" #: order/templates/order/order_wizard/po_upload.html:14 msgid "Order is already processed. Files cannot be uploaded." -msgstr "O pedido já está processado. Arquivos não podem ser enviados." +msgstr "" #: order/templates/order/order_wizard/po_upload.html:27 #: part/templates/part/import_wizard/ajax_part_upload.html:10 @@ -5972,15 +5972,15 @@ msgstr "O pedido já está processado. Arquivos não podem ser enviados." #: templates/patterns/wizard/upload.html:13 #, python-format msgid "Step %(step)s of %(count)s" -msgstr "Passo %(step)s de %(count)s" +msgstr "" #: order/templates/order/po_sidebar.html:7 msgid "Received Stock" -msgstr "Estoque Recebido" +msgstr "" #: order/templates/order/purchase_order_detail.html:18 msgid "Purchase Order Items" -msgstr "Itens do Pedido de Compra" +msgstr "" #: order/templates/order/purchase_order_detail.html:27 #: order/templates/order/return_order_detail.html:24 @@ -5989,57 +5989,57 @@ msgstr "Itens do Pedido de Compra" #: templates/js/translated/return_order.js:458 #: templates/js/translated/sales_order.js:237 msgid "Add Line Item" -msgstr "Adicionar item de linha" +msgstr "" #: 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 "Receber os itens do pedido" +msgstr "" #: 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 "Linhas Extra" +msgstr "" #: 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 "Adicionar Linha Extra" +msgstr "" #: order/templates/order/purchase_order_detail.html:74 msgid "Received Items" -msgstr "Itens Recebidos" +msgstr "" #: order/templates/order/purchase_order_detail.html:99 #: order/templates/order/return_order_detail.html:85 #: order/templates/order/sales_order_detail.html:139 msgid "Order Notes" -msgstr "Notas do Pedido" +msgstr "" #: order/templates/order/return_order_base.html:18 #: order/templates/order/sales_order_base.html:18 msgid "Customer logo thumbnail" -msgstr "Miniatura logotipo do cliente" +msgstr "" #: order/templates/order/return_order_base.html:60 msgid "Print return order report" -msgstr "Imprimir guia de devolução" +msgstr "" #: order/templates/order/return_order_base.html:64 #: order/templates/order/sales_order_base.html:64 msgid "Print packing list" -msgstr "Imprimir lista de pacotes" +msgstr "" #: order/templates/order/return_order_base.html:138 #: 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 "Referência do Cliente" +msgstr "" #: order/templates/order/return_order_base.html:195 #: order/templates/order/sales_order_base.html:239 @@ -6052,28 +6052,28 @@ msgstr "Referência do Cliente" #: templates/js/translated/return_order.js:380 #: templates/js/translated/sales_order.js:891 msgid "Total Cost" -msgstr "Custo Total" +msgstr "" #: order/templates/order/return_order_base.html:259 msgid "Return Order QR Code" -msgstr "Código QR do Pedido de Devolução" +msgstr "" #: order/templates/order/return_order_base.html:271 msgid "Link Barcode to Return Order" -msgstr "Vincular Código de Barras a Pedido de Devolução" +msgstr "" #: order/templates/order/return_order_sidebar.html:5 msgid "Order Details" -msgstr "Detalhes do pedido" +msgstr "" #: order/templates/order/sales_order_base.html:60 msgid "Print sales order report" -msgstr "Imprimir Relatório do Pedido de Venda" +msgstr "" #: order/templates/order/sales_order_base.html:88 #: order/templates/order/sales_order_base.html:89 msgid "Ship Items" -msgstr "Enviar itens" +msgstr "" #: order/templates/order/sales_order_base.html:92 #: order/templates/order/sales_order_base.html:93 @@ -6083,74 +6083,74 @@ msgstr "" #: order/templates/order/sales_order_base.html:96 #: templates/js/translated/sales_order.js:536 msgid "Complete Sales Order" -msgstr "Concluir Pedido de Venda" +msgstr "" #: order/templates/order/sales_order_base.html:135 msgid "This Sales Order has not been fully allocated" -msgstr "Este Pedido de Venda não foi totalmente alocado" +msgstr "" #: 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 "Envios concluídos" +msgstr "" #: order/templates/order/sales_order_base.html:321 msgid "Sales Order QR Code" -msgstr "Código QR do Pedido de Venda" +msgstr "" #: order/templates/order/sales_order_base.html:333 msgid "Link Barcode to Sales Order" -msgstr "Vincular Código de Barras ao Pedido de Venda" +msgstr "" #: order/templates/order/sales_order_detail.html:18 msgid "Sales Order Items" -msgstr "Itens do Pedido de Venda" +msgstr "" #: order/templates/order/sales_order_detail.html:67 #: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:284 msgid "Pending Shipments" -msgstr "Envios Pendentes" +msgstr "" #: order/templates/order/sales_order_detail.html:71 #: templates/js/translated/bom.js:1277 templates/js/translated/filters.js:296 msgid "Actions" -msgstr "Ações" +msgstr "" #: order/templates/order/sales_order_detail.html:80 msgid "New Shipment" -msgstr "Nova Remessa" +msgstr "" #: order/views.py:120 msgid "Match Supplier Parts" -msgstr "Corresponder Peças com Fornecedor" +msgstr "" #: order/views.py:406 msgid "Sales order not found" -msgstr "Pedido de Venda não encontrado" +msgstr "" #: order/views.py:412 msgid "Price not found" -msgstr "Preço não encontrado" +msgstr "" #: order/views.py:415 #, python-brace-format msgid "Updated {part} unit-price to {price}" -msgstr "Atualizado {part} unid.-preço para {price}" +msgstr "" #: order/views.py:421 #, python-brace-format msgid "Updated {part} unit-price to {price} and quantity to {qty}" -msgstr "Atualizado {part} unid.-preço para {price} e quantidade para {qty}" +msgstr "" #: part/admin.py:39 part/admin.py:398 part/models.py:3991 part/stocktake.py:219 #: stock/admin.py:152 msgid "Part ID" -msgstr "ID da Peça" +msgstr "" #: part/admin.py:45 part/stocktake.py:221 msgid "Part Description" -msgstr "Descrição da Peça" +msgstr "" #: part/admin.py:48 part/models.py:944 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 @@ -6163,74 +6163,74 @@ msgstr "" #: report/models.py:162 templates/js/translated/part.js:1235 #: templates/js/translated/part.js:2350 msgid "Revision" -msgstr "Revisão" +msgstr "" #: part/admin.py:53 part/admin.py:319 part/models.py:926 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" -msgstr "Palavras chave" +msgstr "" #: part/admin.py:60 msgid "Part Image" -msgstr "Imagem da Peça" +msgstr "" #: part/admin.py:63 part/admin.py:302 part/stocktake.py:222 msgid "Category ID" -msgstr "ID da Categoria" +msgstr "" #: part/admin.py:67 part/admin.py:304 part/serializers.py:837 #: part/stocktake.py:223 msgid "Category Name" -msgstr "Nome da Categoria" +msgstr "" #: part/admin.py:71 part/admin.py:316 msgid "Default Location ID" -msgstr "ID Local Padrão" +msgstr "" #: part/admin.py:76 msgid "Default Supplier ID" -msgstr "ID de Fornecedor Padrão" +msgstr "" #: part/admin.py:81 part/models.py:912 part/templates/part/part_base.html:177 msgid "Variant Of" -msgstr "Variante de" +msgstr "" #: part/admin.py:84 part/models.py:1040 part/templates/part/part_base.html:203 msgid "Minimum Stock" -msgstr "Estoque Mínimo" +msgstr "" #: part/admin.py:138 part/templates/part/part_sidebar.html:27 msgid "Used In" -msgstr "Usado em" +msgstr "" #: part/admin.py:150 part/serializers.py:854 #: part/templates/part/part_base.html:241 stock/admin.py:235 #: templates/js/translated/part.js:714 templates/js/translated/part.js:2156 msgid "Building" -msgstr "Produzindo" +msgstr "" #: part/admin.py:155 part/models.py:3098 part/models.py:3112 #: templates/js/translated/part.js:973 msgid "Minimum Cost" -msgstr "Custo Mínimo" +msgstr "" #: part/admin.py:158 part/models.py:3105 part/models.py:3119 #: templates/js/translated/part.js:983 msgid "Maximum Cost" -msgstr "Custo Máximo" +msgstr "" #: part/admin.py:308 part/admin.py:387 stock/admin.py:57 stock/admin.py:215 msgid "Parent ID" -msgstr "ID Paternal" +msgstr "" #: part/admin.py:312 part/admin.py:394 stock/admin.py:61 msgid "Parent Name" -msgstr "Nome Paternal" +msgstr "" #: part/admin.py:320 part/templates/part/category.html:88 #: part/templates/part/category.html:101 msgid "Category Path" -msgstr "Caminho da Categoria" +msgstr "" #: part/admin.py:325 part/models.py:397 part/serializers.py:130 #: part/serializers.py:282 part/serializers.py:404 @@ -6242,31 +6242,31 @@ msgstr "Caminho da Categoria" #: templates/js/translated/part.js:2807 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:203 msgid "Parts" -msgstr "Peças" +msgstr "" #: part/admin.py:378 msgid "BOM Level" -msgstr "Nível da LDM" +msgstr "" #: part/admin.py:381 msgid "BOM Item ID" -msgstr "ID Item LDM" +msgstr "" #: part/admin.py:391 msgid "Parent IPN" -msgstr "IPN Paternal" +msgstr "" #: part/admin.py:415 part/serializers.py:1302 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" -msgstr "Preço Mínimo" +msgstr "" #: part/admin.py:420 part/serializers.py:1317 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" -msgstr "Preço Máximo" +msgstr "" #: part/api.py:105 msgid "Starred" @@ -6322,27 +6322,27 @@ msgstr "" #: part/api.py:609 msgid "Incoming Purchase Order" -msgstr "Pedido de compra recebido" +msgstr "" #: part/api.py:627 msgid "Outgoing Sales Order" -msgstr "Pedidos de Venda Feitos" +msgstr "" #: part/api.py:643 msgid "Stock produced by Build Order" -msgstr "Estoque produzido pelo Pedido de Produção" +msgstr "" #: part/api.py:727 msgid "Stock required for Build Order" -msgstr "Estoque obrigatório para Pedido de Produção" +msgstr "" #: part/api.py:875 msgid "Validate entire Bill of Materials" -msgstr "Validar a Lista de Materiais completa" +msgstr "" #: part/api.py:881 msgid "This option must be selected" -msgstr "Esta opção deve ser selecionada" +msgstr "" #: part/api.py:1098 msgid "BOM Valid" @@ -6355,7 +6355,7 @@ msgstr "" #: templates/js/translated/notification.js:60 #: templates/js/translated/part.js:2380 msgid "Category" -msgstr "Categoria" +msgstr "" #: part/api.py:1784 msgid "Uses" @@ -6364,63 +6364,63 @@ msgstr "" #: part/bom.py:170 part/models.py:104 part/models.py:979 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" -msgstr "Local Padrão" +msgstr "" #: part/bom.py:171 part/serializers.py:861 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" -msgstr "Estoque Total" +msgstr "" #: part/forms.py:49 msgid "Input quantity for price calculation" -msgstr "Quantidade para o cálculo de preço" +msgstr "" #: part/models.py:85 part/models.py:3937 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" -msgstr "Categoria da Peça" +msgstr "" #: part/models.py:86 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 "Categorias de Peça" +msgstr "" #: part/models.py:105 msgid "Default location for parts in this category" -msgstr "Local padrão para peças desta categoria" +msgstr "" #: part/models.py:110 stock/models.py:175 templates/js/translated/part.js:2813 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" -msgstr "Estrutural" +msgstr "" #: part/models.py:112 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." -msgstr "Peças não podem ser diretamente atribuídas a uma categoria estrutural, mas podem ser atribuídas a categorias filhas." +msgstr "" #: part/models.py:121 msgid "Default keywords" -msgstr "Palavras-chave Padrão" +msgstr "" #: part/models.py:122 msgid "Default keywords for parts in this category" -msgstr "Palavras-chave padrão para peças nesta categoria" +msgstr "" #: part/models.py:128 stock/models.py:87 stock/models.py:158 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" -msgstr "Ícone" +msgstr "" #: part/models.py:129 stock/models.py:159 msgid "Icon (optional)" -msgstr "Ícone (opcional)" +msgstr "" #: part/models.py:151 msgid "You cannot make this part category structural because some parts are already assigned to it!" -msgstr "Você não pode tornar esta categoria em estrutural, pois, algumas partes já estão alocadas!" +msgstr "" #: part/models.py:486 msgid "Cannot delete this part as it is locked" @@ -6436,122 +6436,122 @@ msgstr "" #: part/models.py:532 msgid "Invalid choice for parent part" -msgstr "Escolha inválida para peça parental" +msgstr "" #: part/models.py:580 part/models.py:587 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" -msgstr "Peça '{self}' não pode ser utilizada na BOM para '{parent}' (recursiva)" +msgstr "" #: part/models.py:599 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" -msgstr "Peça '{parent}' é usada na BOM para '{self}' (recursiva)" +msgstr "" #: part/models.py:662 #, python-brace-format msgid "IPN must match regex pattern {pattern}" -msgstr "IPN deve corresponder ao padrão regex {pattern}" +msgstr "" #: part/models.py:740 msgid "Stock item with this serial number already exists" -msgstr "Item em estoque com este número de série já existe" +msgstr "" #: part/models.py:841 msgid "Duplicate IPN not allowed in part settings" -msgstr "Não é permitido duplicar IPN em configurações de partes" +msgstr "" #: part/models.py:851 msgid "Part with this Name, IPN and Revision already exists." -msgstr "Uma parte com este Nome, IPN e Revisão já existe." +msgstr "" #: part/models.py:866 msgid "Parts cannot be assigned to structural part categories!" -msgstr "Peças não podem ser atribuídas a categorias estruturais!" +msgstr "" #: part/models.py:895 part/models.py:3992 msgid "Part name" -msgstr "Nome da peça" +msgstr "" #: part/models.py:900 msgid "Is Template" -msgstr "É um modelo" +msgstr "" #: part/models.py:901 msgid "Is this part a template part?" -msgstr "Esta peça é uma peça modelo?" +msgstr "" #: part/models.py:911 msgid "Is this part a variant of another part?" -msgstr "Esta peça é variante de outra peça?" +msgstr "" #: part/models.py:919 msgid "Part description (optional)" -msgstr "Descrição da peça (opcional)" +msgstr "" #: part/models.py:927 msgid "Part keywords to improve visibility in search results" -msgstr "Palavras-chave para melhorar a visibilidade nos resultados da pesquisa" +msgstr "" #: part/models.py:937 msgid "Part category" -msgstr "Categoria da Peça" +msgstr "" #: part/models.py:952 msgid "Part revision or version number" -msgstr "Revisão de peça ou número de versão" +msgstr "" #: part/models.py:977 msgid "Where is this item normally stored?" -msgstr "Onde este item é armazenado normalmente?" +msgstr "" #: part/models.py:1023 part/templates/part/part_base.html:376 msgid "Default Supplier" -msgstr "Fornecedor Padrão" +msgstr "" #: part/models.py:1024 msgid "Default supplier part" -msgstr "Fornecedor padrão da peça" +msgstr "" #: part/models.py:1031 msgid "Default Expiry" -msgstr "Validade Padrão" +msgstr "" #: part/models.py:1032 msgid "Expiry time (in days) for stock items of this part" -msgstr "Validade (em dias) para itens do estoque desta peça" +msgstr "" #: part/models.py:1041 msgid "Minimum allowed stock level" -msgstr "Nível mínimo de estoque permitido" +msgstr "" #: part/models.py:1050 msgid "Units of measure for this part" -msgstr "Unidade de medida para esta peça" +msgstr "" #: part/models.py:1057 msgid "Can this part be built from other parts?" -msgstr "Essa peça pode ser construída a partir de outras peças?" +msgstr "" #: part/models.py:1063 msgid "Can this part be used to build other parts?" -msgstr "Essa peça pode ser usada para construir outras peças?" +msgstr "" #: part/models.py:1069 msgid "Does this part have tracking for unique items?" -msgstr "Esta parte tem rastreamento para itens únicos?" +msgstr "" #: part/models.py:1075 msgid "Can this part be purchased from external suppliers?" -msgstr "Esta peça pode ser comprada de fornecedores externos?" +msgstr "" #: part/models.py:1081 msgid "Can this part be sold to customers?" -msgstr "Esta peça pode ser vendida a clientes?" +msgstr "" #: part/models.py:1085 msgid "Is this part active?" -msgstr "Esta parte está ativa?" +msgstr "" #: part/models.py:1090 templates/js/translated/part.js:818 #: templates/js/translated/table_filters.js:721 @@ -6564,189 +6564,189 @@ msgstr "" #: part/models.py:1097 msgid "Is this a virtual part, such as a software product or license?" -msgstr "Esta é uma peça virtual, como um software de produto ou licença?" +msgstr "" #: part/models.py:1103 msgid "BOM checksum" -msgstr "Soma de Verificação da LDM" +msgstr "" #: part/models.py:1104 msgid "Stored BOM checksum" -msgstr "Soma de verificação da LDM armazenada" +msgstr "" #: part/models.py:1112 msgid "BOM checked by" -msgstr "LDM conferida por" +msgstr "" #: part/models.py:1117 msgid "BOM checked date" -msgstr "LDM verificada no dia" +msgstr "" #: part/models.py:1133 msgid "Creation User" -msgstr "Criação de Usuário" +msgstr "" #: part/models.py:1143 msgid "Owner responsible for this part" -msgstr "Proprietário responsável por esta peça" +msgstr "" #: part/models.py:1148 part/templates/part/part_base.html:339 #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2474 msgid "Last Stocktake" -msgstr "Último Balanço" +msgstr "" #: part/models.py:2021 msgid "Sell multiple" -msgstr "Venda múltipla" +msgstr "" #: part/models.py:3012 msgid "Currency used to cache pricing calculations" -msgstr "Moeda usada para armazenar os cálculos de preços" +msgstr "" #: part/models.py:3028 msgid "Minimum BOM Cost" -msgstr "Custo Mínimo da LDM" +msgstr "" #: part/models.py:3029 msgid "Minimum cost of component parts" -msgstr "Custo mínimo das peças componentes" +msgstr "" #: part/models.py:3035 msgid "Maximum BOM Cost" -msgstr "Custo Máximo da LDM" +msgstr "" #: part/models.py:3036 msgid "Maximum cost of component parts" -msgstr "Custo máximo das peças componentes" +msgstr "" #: part/models.py:3042 msgid "Minimum Purchase Cost" -msgstr "Custo Mínimo de Compra" +msgstr "" #: part/models.py:3043 msgid "Minimum historical purchase cost" -msgstr "Custo mínimo histórico de compra" +msgstr "" #: part/models.py:3049 msgid "Maximum Purchase Cost" -msgstr "Custo Máximo de Compra" +msgstr "" #: part/models.py:3050 msgid "Maximum historical purchase cost" -msgstr "Custo máximo histórico de compra" +msgstr "" #: part/models.py:3056 msgid "Minimum Internal Price" -msgstr "Preço Interno Mínimo" +msgstr "" #: part/models.py:3057 msgid "Minimum cost based on internal price breaks" -msgstr "Custo mínimo baseado nos intervalos de preço internos" +msgstr "" #: part/models.py:3063 msgid "Maximum Internal Price" -msgstr "Preço Interno Máximo" +msgstr "" #: part/models.py:3064 msgid "Maximum cost based on internal price breaks" -msgstr "Custo máximo baseado nos intervalos de preço internos" +msgstr "" #: part/models.py:3070 msgid "Minimum Supplier Price" -msgstr "Preço Mínimo do Fornecedor" +msgstr "" #: part/models.py:3071 msgid "Minimum price of part from external suppliers" -msgstr "Preço mínimo da peça de fornecedores externos" +msgstr "" #: part/models.py:3077 msgid "Maximum Supplier Price" -msgstr "Preço Máximo do Fornecedor" +msgstr "" #: part/models.py:3078 msgid "Maximum price of part from external suppliers" -msgstr "Preço máximo da peça de fornecedores externos" +msgstr "" #: part/models.py:3084 msgid "Minimum Variant Cost" -msgstr "Custo Mínimo variável" +msgstr "" #: part/models.py:3085 msgid "Calculated minimum cost of variant parts" -msgstr "Custo mínimo calculado das peças variáveis" +msgstr "" #: part/models.py:3091 msgid "Maximum Variant Cost" -msgstr "Custo Máximo Variável" +msgstr "" #: part/models.py:3092 msgid "Calculated maximum cost of variant parts" -msgstr "Custo máximo calculado das peças variáveis" +msgstr "" #: part/models.py:3099 msgid "Override minimum cost" -msgstr "Sobrepor o custo mínimo" +msgstr "" #: part/models.py:3106 msgid "Override maximum cost" -msgstr "Sobrepor o custo máximo" +msgstr "" #: part/models.py:3113 msgid "Calculated overall minimum cost" -msgstr "Custo total mínimo calculado" +msgstr "" #: part/models.py:3120 msgid "Calculated overall maximum cost" -msgstr "Custo total máximo calculado" +msgstr "" #: part/models.py:3126 msgid "Minimum Sale Price" -msgstr "Preço Mínimo de Venda" +msgstr "" #: part/models.py:3127 msgid "Minimum sale price based on price breaks" -msgstr "Preço mínimo de venda baseado nos intervalos de preço" +msgstr "" #: part/models.py:3133 msgid "Maximum Sale Price" -msgstr "Preço Máximo de Venda" +msgstr "" #: part/models.py:3134 msgid "Maximum sale price based on price breaks" -msgstr "Preço máximo de venda baseado nos intervalos de preço" +msgstr "" #: part/models.py:3140 msgid "Minimum Sale Cost" -msgstr "Custo Mínimo de Venda" +msgstr "" #: part/models.py:3141 msgid "Minimum historical sale price" -msgstr "Preço histórico mínimo de venda" +msgstr "" #: part/models.py:3147 msgid "Maximum Sale Cost" -msgstr "Custo Máximo de Venda" +msgstr "" #: part/models.py:3148 msgid "Maximum historical sale price" -msgstr "Preço histórico máximo de venda" +msgstr "" #: part/models.py:3167 msgid "Part for stocktake" -msgstr "Peça para Balanço" +msgstr "" #: part/models.py:3172 msgid "Item Count" -msgstr "Total de Itens" +msgstr "" #: part/models.py:3173 msgid "Number of individual stock entries at time of stocktake" -msgstr "Número de entradas de estoques individuais no momento do balanço" +msgstr "" #: part/models.py:3181 msgid "Total available stock at time of stocktake" -msgstr "Estoque total disponível no momento do balanço" +msgstr "" #: part/models.py:3185 part/models.py:3268 #: part/templates/part/part_scheduling.html:13 @@ -6758,55 +6758,55 @@ msgstr "Estoque total disponível no momento do balanço" #: templates/js/translated/purchase_order.js:1731 #: templates/js/translated/stock.js:2821 msgid "Date" -msgstr "Data" +msgstr "" #: part/models.py:3186 msgid "Date stocktake was performed" -msgstr "Data de realização do balanço" +msgstr "" #: part/models.py:3194 msgid "Additional notes" -msgstr "Notas adicionais" +msgstr "" #: part/models.py:3204 msgid "User who performed this stocktake" -msgstr "Usuário que fez o balanço" +msgstr "" #: part/models.py:3210 msgid "Minimum Stock Cost" -msgstr "Custo Mínimo de Estoque" +msgstr "" #: part/models.py:3211 msgid "Estimated minimum cost of stock on hand" -msgstr "Custo mínimo estimado de estoque disponível" +msgstr "" #: part/models.py:3217 msgid "Maximum Stock Cost" -msgstr "Custo Máximo de Estoque" +msgstr "" #: part/models.py:3218 msgid "Estimated maximum cost of stock on hand" -msgstr "Custo máximo estimado de estoque disponível" +msgstr "" #: part/models.py:3274 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" -msgstr "Reportar" +msgstr "" #: part/models.py:3275 msgid "Stocktake report file (generated internally)" -msgstr "Arquivo de Relatório de Balanço (gerado internamente)" +msgstr "" #: part/models.py:3280 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" -msgstr "Contagem de Peças" +msgstr "" #: part/models.py:3281 msgid "Number of parts covered by stocktake" -msgstr "Número de peças cobertas pelo Balanço" +msgstr "" #: part/models.py:3291 msgid "User who requested this stocktake report" -msgstr "Usuário que solicitou este relatório de balanço" +msgstr "" #: part/models.py:3301 msgid "Part Sale Price Break" @@ -6822,11 +6822,11 @@ msgstr "" #: part/models.py:3460 part/models.py:3629 msgid "Choices must be unique" -msgstr "Escolhas devem ser únicas" +msgstr "" #: part/models.py:3471 msgid "Test templates can only be created for trackable parts" -msgstr "Modelos de teste só podem ser criados para peças rastreáveis" +msgstr "" #: part/models.py:3482 msgid "Test template with the same key already exists for part" @@ -6834,11 +6834,11 @@ msgstr "" #: part/models.py:3499 templates/js/translated/part.js:2883 msgid "Test Name" -msgstr "Nome de Teste" +msgstr "" #: part/models.py:3500 msgid "Enter a name for the test" -msgstr "Insira um nome para o teste" +msgstr "" #: part/models.py:3506 msgid "Test Key" @@ -6850,17 +6850,17 @@ msgstr "" #: part/models.py:3514 msgid "Test Description" -msgstr "Descrição do Teste" +msgstr "" #: part/models.py:3515 msgid "Enter description for this test" -msgstr "Digite a descrição para este teste" +msgstr "" #: part/models.py:3519 report/models.py:209 #: templates/js/translated/part.js:2904 #: templates/js/translated/table_filters.js:481 msgid "Enabled" -msgstr "Habilitado" +msgstr "" #: part/models.py:3519 msgid "Is this test enabled?" @@ -6869,31 +6869,31 @@ msgstr "" #: part/models.py:3524 templates/js/translated/part.js:2912 #: templates/js/translated/table_filters.js:477 msgid "Required" -msgstr "Requerido" +msgstr "" #: part/models.py:3525 msgid "Is this test required to pass?" -msgstr "Este teste é obrigatório passar?" +msgstr "" #: part/models.py:3530 templates/js/translated/part.js:2920 msgid "Requires Value" -msgstr "Requer Valor" +msgstr "" #: part/models.py:3531 msgid "Does this test require a value when adding a test result?" -msgstr "Este teste requer um valor ao adicionar um resultado de teste?" +msgstr "" #: part/models.py:3536 templates/js/translated/part.js:2927 msgid "Requires Attachment" -msgstr "Anexo obrigatório" +msgstr "" #: part/models.py:3538 msgid "Does this test require a file attachment when adding a test result?" -msgstr "Este teste requer um anexo ao adicionar um resultado de teste?" +msgstr "" #: part/models.py:3544 part/models.py:3688 templates/js/translated/part.js:1640 msgid "Choices" -msgstr "Escolhas" +msgstr "" #: part/models.py:3545 msgid "Valid choices for this test (comma-separated)" @@ -6905,40 +6905,40 @@ msgstr "" #: part/models.py:3604 msgid "Checkbox parameters cannot have units" -msgstr "Parâmetros da caixa de seleção não podem ter unidades" +msgstr "" #: part/models.py:3609 msgid "Checkbox parameters cannot have choices" -msgstr "Os parâmetros da caixa de seleção não podem ter escolhas" +msgstr "" #: part/models.py:3646 msgid "Parameter template name must be unique" -msgstr "Nome do modelo de parâmetro deve ser único" +msgstr "" #: part/models.py:3661 msgid "Parameter Name" -msgstr "Nome do Parâmetro" +msgstr "" #: part/models.py:3668 msgid "Physical units for this parameter" -msgstr "Unidades físicas para este parâmetro" +msgstr "" #: part/models.py:3676 msgid "Parameter description" -msgstr "Descrição do Parâmetro" +msgstr "" #: part/models.py:3682 templates/js/translated/part.js:1631 #: templates/js/translated/table_filters.js:830 msgid "Checkbox" -msgstr "Caixa de seleção" +msgstr "" #: part/models.py:3683 msgid "Is this parameter a checkbox?" -msgstr "Este parâmetro é uma caixa de seleção?" +msgstr "" #: part/models.py:3689 msgid "Valid choices for this parameter (comma-separated)" -msgstr "Opções válidas para este parâmetro (separadas por vírgulas)" +msgstr "" #: part/models.py:3723 msgid "Part Parameter" @@ -6950,20 +6950,20 @@ msgstr "" #: part/models.py:3785 msgid "Invalid choice for parameter value" -msgstr "Escolha inválida para valor do parâmetro" +msgstr "" #: part/models.py:3828 msgid "Parent Part" -msgstr "Peça Paternal" +msgstr "" #: part/models.py:3836 part/models.py:3944 part/models.py:3945 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" -msgstr "Modelo de parâmetro" +msgstr "" #: part/models.py:3842 msgid "Parameter Value" -msgstr "Valor do Parâmetro" +msgstr "" #: part/models.py:3892 msgid "Part Category Parameter Template" @@ -6971,31 +6971,31 @@ msgstr "" #: part/models.py:3951 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" -msgstr "Valor Padrão" +msgstr "" #: part/models.py:3952 msgid "Default Parameter Value" -msgstr "Valor Padrão do Parâmetro" +msgstr "" #: part/models.py:3990 msgid "Part ID or part name" -msgstr "ID da peça ou nome da peça" +msgstr "" #: part/models.py:3991 msgid "Unique part ID value" -msgstr "Valor exclusivo do ID de peça" +msgstr "" #: part/models.py:3993 msgid "Part IPN value" -msgstr "Valor da parte IPN" +msgstr "" #: part/models.py:3994 msgid "Level" -msgstr "Nível" +msgstr "" #: part/models.py:3994 msgid "BOM level" -msgstr "Nível da LDM" +msgstr "" #: part/models.py:4105 msgid "BOM item cannot be modified - assembly is locked" @@ -7007,123 +7007,123 @@ msgstr "" #: part/models.py:4122 msgid "Select parent part" -msgstr "Selecione a Peça Parental" +msgstr "" #: part/models.py:4132 msgid "Sub part" -msgstr "Sub peça" +msgstr "" #: part/models.py:4133 msgid "Select part to be used in BOM" -msgstr "Selecionar peça a ser usada na LDM" +msgstr "" #: part/models.py:4144 msgid "BOM quantity for this BOM item" -msgstr "Quantidade de LDM para este item LDM" +msgstr "" #: part/models.py:4150 msgid "This BOM item is optional" -msgstr "Este item LDM é opcional" +msgstr "" #: part/models.py:4156 msgid "This BOM item is consumable (it is not tracked in build orders)" -msgstr "Este item LDM é consumível (não é rastreado nos pedidos de construção)" +msgstr "" #: part/models.py:4163 part/templates/part/upload_bom.html:55 msgid "Overage" -msgstr "Excedente" +msgstr "" #: part/models.py:4164 msgid "Estimated build wastage quantity (absolute or percentage)" -msgstr "Quantidade estimada de desperdício (absoluto ou porcentagem)" +msgstr "" #: part/models.py:4171 msgid "BOM item reference" -msgstr "Referência do Item LDM" +msgstr "" #: part/models.py:4179 msgid "BOM item notes" -msgstr "Notas do Item LDM" +msgstr "" #: part/models.py:4185 msgid "Checksum" -msgstr "Soma de verificação" +msgstr "" #: part/models.py:4186 msgid "BOM line checksum" -msgstr "Soma de Verificação da LDM da linha" +msgstr "" #: part/models.py:4191 templates/js/translated/table_filters.js:174 msgid "Validated" -msgstr "Validado" +msgstr "" #: part/models.py:4192 msgid "This BOM item has been validated" -msgstr "O item da LDM foi validado" +msgstr "" #: part/models.py:4197 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 "Obtém herdados" +msgstr "" #: part/models.py:4198 msgid "This BOM item is inherited by BOMs for variant parts" -msgstr "Este item da LDM é herdado por LDMs para peças variáveis" +msgstr "" #: part/models.py:4203 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" -msgstr "Permitir variações" +msgstr "" #: part/models.py:4204 msgid "Stock items for variant parts can be used for this BOM item" -msgstr "Itens de estoque para as peças das variantes podem ser usados para este item LDM" +msgstr "" #: part/models.py:4289 stock/models.py:663 msgid "Quantity must be integer value for trackable parts" -msgstr "Quantidade deve ser valor inteiro para peças rastreáveis" +msgstr "" #: part/models.py:4299 part/models.py:4301 msgid "Sub part must be specified" -msgstr "Sub peça deve ser especificada" +msgstr "" #: part/models.py:4439 msgid "BOM Item Substitute" -msgstr "Substituir Item da LDM" +msgstr "" #: part/models.py:4460 msgid "Substitute part cannot be the same as the master part" -msgstr "A peça de substituição não pode ser a mesma que a peça mestre" +msgstr "" #: part/models.py:4473 msgid "Parent BOM item" -msgstr "Item LDM Parental" +msgstr "" #: part/models.py:4481 msgid "Substitute part" -msgstr "Substituir peça" +msgstr "" #: part/models.py:4497 msgid "Part 1" -msgstr "Parte 1" +msgstr "" #: part/models.py:4505 msgid "Part 2" -msgstr "Parte 2" +msgstr "" #: part/models.py:4506 msgid "Select Related Part" -msgstr "Selecionar Peça Relacionada" +msgstr "" #: part/models.py:4525 msgid "Part relationship cannot be created between a part and itself" -msgstr "Relacionamento da peça não pode ser criada com ela mesma" +msgstr "" #: part/models.py:4530 msgid "Duplicate relationship already exists" -msgstr "Relação duplicada já existe" +msgstr "" #: part/serializers.py:124 msgid "Parent Category" @@ -7131,13 +7131,13 @@ msgstr "" #: part/serializers.py:125 templates/js/translated/part.js:308 msgid "Parent part category" -msgstr "Categoria de peça pai" +msgstr "" #: part/serializers.py:132 part/serializers.py:154 #: part/templates/part/category.html:122 part/templates/part/category.html:207 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" -msgstr "Sub-categorias" +msgstr "" #: part/serializers.py:189 msgid "Results" @@ -7149,7 +7149,7 @@ msgstr "" #: part/serializers.py:217 part/serializers.py:235 stock/serializers.py:608 msgid "Purchase currency of this stock item" -msgstr "Moeda de compra deste item de estoque" +msgstr "" #: part/serializers.py:283 msgid "Number of parts using this template" @@ -7157,95 +7157,95 @@ msgstr "" #: part/serializers.py:410 msgid "No parts selected" -msgstr "Nenhuma parte selecionada" +msgstr "" #: part/serializers.py:420 msgid "Select category" -msgstr "Selecionar categoria" +msgstr "" #: part/serializers.py:455 msgid "Original Part" -msgstr "Peça Original" +msgstr "" #: part/serializers.py:456 msgid "Select original part to duplicate" -msgstr "Selecione a peça original para duplicar" +msgstr "" #: part/serializers.py:461 msgid "Copy Image" -msgstr "Copiar imagem" +msgstr "" #: part/serializers.py:462 msgid "Copy image from original part" -msgstr "Copiar imagem da peça original" +msgstr "" #: part/serializers.py:468 part/templates/part/detail.html:277 msgid "Copy BOM" -msgstr "Copiar LDM" +msgstr "" #: part/serializers.py:469 msgid "Copy bill of materials from original part" -msgstr "Copiar lista de materiais da peça original" +msgstr "" #: part/serializers.py:475 msgid "Copy Parameters" -msgstr "Copiar Parâmetros" +msgstr "" #: part/serializers.py:476 msgid "Copy parameter data from original part" -msgstr "Copiar dados do parâmetro da peça original" +msgstr "" #: part/serializers.py:482 msgid "Copy Notes" -msgstr "Copiar Notas" +msgstr "" #: part/serializers.py:483 msgid "Copy notes from original part" -msgstr "Copiar imagem da peça original" +msgstr "" #: part/serializers.py:501 msgid "Initial Stock Quantity" -msgstr "Quantidade Inicial de Estoque" +msgstr "" #: part/serializers.py:503 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." -msgstr "Especificar a quantidade inicial de estoque para a peça. Se for zero, nenhum estoque é adicionado." +msgstr "" #: part/serializers.py:510 msgid "Initial Stock Location" -msgstr "Local Inicial do Estoque" +msgstr "" #: part/serializers.py:511 msgid "Specify initial stock location for this Part" -msgstr "Especifique o local do estoque inicial para esta Peça" +msgstr "" #: part/serializers.py:528 msgid "Select supplier (or leave blank to skip)" -msgstr "Selecione o fornecedor (ou deixe em branco para pular)" +msgstr "" #: part/serializers.py:544 msgid "Select manufacturer (or leave blank to skip)" -msgstr "Selecione fabricante (ou deixe em branco para pular)" +msgstr "" #: part/serializers.py:554 msgid "Manufacturer part number" -msgstr "Número de Peça do Fabricante" +msgstr "" #: part/serializers.py:561 msgid "Selected company is not a valid supplier" -msgstr "A empresa selecionada não é um fornecedor válido" +msgstr "" #: part/serializers.py:570 msgid "Selected company is not a valid manufacturer" -msgstr "A empresa selecionada não é um fabricante válido" +msgstr "" #: part/serializers.py:581 msgid "Manufacturer part matching this MPN already exists" -msgstr "A peça do fabricante que corresponde a essa MPN já existe" +msgstr "" #: part/serializers.py:588 msgid "Supplier part matching this SKU already exists" -msgstr "A peça do fornecedor que corresponde a essa SKU já existe" +msgstr "" #: part/serializers.py:864 msgid "Unallocated Stock" @@ -7258,697 +7258,697 @@ msgstr "" #: part/serializers.py:897 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:471 msgid "Duplicate Part" -msgstr "Peça duplicada" +msgstr "" #: part/serializers.py:898 msgid "Copy initial data from another Part" -msgstr "Copiar dados iniciais de outra peça" +msgstr "" #: part/serializers.py:904 templates/js/translated/part.js:102 msgid "Initial Stock" -msgstr "Estoque inicial" +msgstr "" #: part/serializers.py:905 msgid "Create Part with initial stock quantity" -msgstr "Criar peça com a quantidade inicial de estoque" +msgstr "" #: part/serializers.py:911 msgid "Supplier Information" -msgstr "Informações do Fornecedor" +msgstr "" #: part/serializers.py:912 msgid "Add initial supplier information for this part" -msgstr "Adicionar informação inicial de fornecedor para esta peça" +msgstr "" #: part/serializers.py:920 msgid "Copy Category Parameters" -msgstr "Copiar Parâmetros da Categoria" +msgstr "" #: part/serializers.py:921 msgid "Copy parameter templates from selected part category" -msgstr "Copiar modelos de parâmetros a partir de categoria de peça selecionada" +msgstr "" #: part/serializers.py:926 msgid "Existing Image" -msgstr "Imagem Existente" +msgstr "" #: part/serializers.py:927 msgid "Filename of an existing part image" -msgstr "Nome de arquivo de uma imagem de peça existente" +msgstr "" #: part/serializers.py:944 msgid "Image file does not exist" -msgstr "A imagem não existe" +msgstr "" #: part/serializers.py:1150 msgid "Limit stocktake report to a particular part, and any variant parts" -msgstr "Limitar o relatório de balanço a uma determinada peça e quaisquer peças variantes" +msgstr "" #: part/serializers.py:1160 msgid "Limit stocktake report to a particular part category, and any child categories" -msgstr "Limitar o relatório de balanço a uma determinada categoria, e qualquer peças filhas" +msgstr "" #: part/serializers.py:1170 msgid "Limit stocktake report to a particular stock location, and any child locations" -msgstr "Limitar o relatório de balanço a um determinado local de estoque, e qualquer local filho" +msgstr "" #: part/serializers.py:1176 msgid "Exclude External Stock" -msgstr "Excluir Estoque externo" +msgstr "" #: part/serializers.py:1177 msgid "Exclude stock items in external locations" -msgstr "Excluir itens de estoque em locais externos" +msgstr "" #: part/serializers.py:1182 msgid "Generate Report" -msgstr "Gerar relatório" +msgstr "" #: part/serializers.py:1183 msgid "Generate report file containing calculated stocktake data" -msgstr "Gerar arquivo de relatório contendo dados de estoque calculados" +msgstr "" #: part/serializers.py:1188 msgid "Update Parts" -msgstr "Atualizar Peças" +msgstr "" #: part/serializers.py:1189 msgid "Update specified parts with calculated stocktake data" -msgstr "Atualizar peças especificadas com dados de estoque calculados" +msgstr "" #: part/serializers.py:1197 msgid "Stocktake functionality is not enabled" -msgstr "Função de Balanço de Estoque não está ativada" +msgstr "" #: part/serializers.py:1303 msgid "Override calculated value for minimum price" -msgstr "Sobrepor valor calculado para preço mínimo" +msgstr "" #: part/serializers.py:1310 msgid "Minimum price currency" -msgstr "Moeda do preço mínimo" +msgstr "" #: part/serializers.py:1318 msgid "Override calculated value for maximum price" -msgstr "Sobrepor valor calculado para preço máximo" +msgstr "" #: part/serializers.py:1325 msgid "Maximum price currency" -msgstr "Moeda do preço máximo" +msgstr "" #: part/serializers.py:1354 msgid "Update" -msgstr "Atualizar" +msgstr "" #: part/serializers.py:1355 msgid "Update pricing for this part" -msgstr "Atualizar preços desta peça" +msgstr "" #: part/serializers.py:1378 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" -msgstr "Não foi possível converter das moedas fornecidas para {default_currency}" +msgstr "" #: part/serializers.py:1385 msgid "Minimum price must not be greater than maximum price" -msgstr "Preço mínimo não pode ser maior que o preço máximo" +msgstr "" #: part/serializers.py:1388 msgid "Maximum price must not be less than minimum price" -msgstr "Preço máximo não pode ser menor que o preço mínimo" +msgstr "" #: part/serializers.py:1759 msgid "Select part to copy BOM from" -msgstr "Selecionar peça para copiar a LDM" +msgstr "" #: part/serializers.py:1767 msgid "Remove Existing Data" -msgstr "Remover Dado Existente" +msgstr "" #: part/serializers.py:1768 msgid "Remove existing BOM items before copying" -msgstr "Remova itens LDM existentes antes de copiar" +msgstr "" #: part/serializers.py:1773 msgid "Include Inherited" -msgstr "Incluir Herdados" +msgstr "" #: part/serializers.py:1774 msgid "Include BOM items which are inherited from templated parts" -msgstr "Incluir itens LDM que são herdados de peças modelo" +msgstr "" #: part/serializers.py:1779 msgid "Skip Invalid Rows" -msgstr "Pular Linhas inválidas" +msgstr "" #: part/serializers.py:1780 msgid "Enable this option to skip invalid rows" -msgstr "Habilitar esta opção para pular linhas inválidas" +msgstr "" #: part/serializers.py:1785 msgid "Copy Substitute Parts" -msgstr "Copiar Peças Substitutas" +msgstr "" #: part/serializers.py:1786 msgid "Copy substitute parts when duplicate BOM items" -msgstr "Copiar peças de substitutas quando duplicar itens de LDM" +msgstr "" #: part/serializers.py:1823 msgid "Clear Existing BOM" -msgstr "Limpar LDM Existente" +msgstr "" #: part/serializers.py:1824 msgid "Delete existing BOM items before uploading" -msgstr "Apagar itens LDM existentes antes de carregar" +msgstr "" #: part/serializers.py:1856 msgid "No part column specified" -msgstr "Nenhuma coluna de peça especificada" +msgstr "" #: part/serializers.py:1900 msgid "Multiple matching parts found" -msgstr "Múltiplas peças correspondentes encontradas" +msgstr "" #: part/serializers.py:1903 msgid "No matching part found" -msgstr "Nenhuma peça correspondente encontrada" +msgstr "" #: part/serializers.py:1906 msgid "Part is not designated as a component" -msgstr "Peça não está designada como componente" +msgstr "" #: part/serializers.py:1915 msgid "Quantity not provided" -msgstr "Quantidade não foi fornecida" +msgstr "" #: part/serializers.py:1923 msgid "Invalid quantity" -msgstr "Quantidade Inválida" +msgstr "" #: part/serializers.py:1946 msgid "At least one BOM item is required" -msgstr "Pelo menos um item LDM é necessário" +msgstr "" #: part/stocktake.py:225 templates/js/translated/part.js:1070 #: templates/js/translated/part.js:1825 templates/js/translated/part.js:1881 #: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" -msgstr "Quantidade Total" +msgstr "" #: part/stocktake.py:226 msgid "Total Cost Min" -msgstr "Custo Min Total" +msgstr "" #: part/stocktake.py:227 msgid "Total Cost Max" -msgstr "Custo Max Total" +msgstr "" #: part/stocktake.py:285 msgid "Stocktake Report Available" -msgstr "Balanço de Estoque Disponível" +msgstr "" #: part/stocktake.py:286 msgid "A new stocktake report is available for download" -msgstr "Um novo relatório de balanço do estoque está disponível para baixar" +msgstr "" #: part/tasks.py:37 msgid "Low stock notification" -msgstr "Notificação de estoque baixo" +msgstr "" #: part/tasks.py:39 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" -msgstr "O estoque disponível para {part.name} caiu abaixo do nível mínimo definido" +msgstr "" #: part/templates/part/bom.html:6 msgid "You do not have permission to edit the BOM." -msgstr "Você não tem permissões para editar a LDM." +msgstr "" #: part/templates/part/bom.html:15 msgid "The BOM this part has been changed, and must be validated" -msgstr "A LDM dessa peça foi alterada, e deve ser validada" +msgstr "" #: part/templates/part/bom.html:17 #, python-format msgid "This BOM was last checked by %(checker)s on %(check_date)s" -msgstr "Esta BOM foi verificada por %(checker)s em %(check_date)s" +msgstr "" #: part/templates/part/bom.html:21 msgid "This BOM has not been validated." -msgstr "A BOM não foi validada." +msgstr "" #: part/templates/part/category.html:35 msgid "Perform stocktake for this part category" -msgstr "Fazer balanço de estoque para esta categoria de peça" +msgstr "" #: part/templates/part/category.html:41 part/templates/part/category.html:45 msgid "You are subscribed to notifications for this category" -msgstr "Você está inscrito para notificações desta categoria" +msgstr "" #: part/templates/part/category.html:49 msgid "Subscribe to notifications for this category" -msgstr "Inscrever-se para notificações desta categoria" +msgstr "" #: part/templates/part/category.html:55 msgid "Category Actions" -msgstr "Ações de Categoria" +msgstr "" #: part/templates/part/category.html:60 msgid "Edit category" -msgstr "Editar categoria" +msgstr "" #: part/templates/part/category.html:61 msgid "Edit Category" -msgstr "Editar Categoria" +msgstr "" #: part/templates/part/category.html:65 msgid "Delete category" -msgstr "Excluir categoria" +msgstr "" #: part/templates/part/category.html:66 msgid "Delete Category" -msgstr "Excluir Categoria" +msgstr "" #: part/templates/part/category.html:102 msgid "Top level part category" -msgstr "Categoria de peça de nível superior" +msgstr "" #: part/templates/part/category.html:127 msgid "Parts (Including subcategories)" -msgstr "Peças (incluindo subcategorias)" +msgstr "" #: part/templates/part/category.html:165 msgid "Create new part" -msgstr "Criar nova peça" +msgstr "" #: part/templates/part/category.html:166 templates/js/translated/bom.js:444 msgid "New Part" -msgstr "Nova Peça" +msgstr "" #: part/templates/part/category.html:192 #: templates/InvenTree/settings/part_parameters.html:7 #: templates/InvenTree/settings/sidebar.html:49 msgid "Part Parameters" -msgstr "Parâmetros da Peça" +msgstr "" #: part/templates/part/category.html:211 msgid "Create new part category" -msgstr "Criar categoria de peça" +msgstr "" #: part/templates/part/category.html:212 msgid "New Category" -msgstr "Nova Categoria" +msgstr "" #: part/templates/part/category_sidebar.html:13 msgid "Import Parts" -msgstr "Importar Peças" +msgstr "" #: part/templates/part/copy_part.html:10 #, python-format msgid "Make a copy of part '%(full_name)s'." -msgstr "Faça uma cópia da peça '%(full_name)s'." +msgstr "" #: part/templates/part/copy_part.html:14 #: part/templates/part/create_part.html:11 msgid "Possible Matching Parts" -msgstr "Possíveis peças correspondentes" +msgstr "" #: part/templates/part/copy_part.html:15 #: part/templates/part/create_part.html:12 msgid "The new part may be a duplicate of these existing parts" -msgstr "A nova peça pode ser uma duplicata dessas peças existentes" +msgstr "" #: part/templates/part/create_part.html:17 #, python-format msgid "%(full_name)s - %(desc)s (%(match_per)s%% match)" -msgstr "%(full_name)s - %(desc)s (%(match_per)s%% correspondência)" +msgstr "" #: part/templates/part/detail.html:20 msgid "Part Stock" -msgstr "Estoque da Peça" +msgstr "" #: part/templates/part/detail.html:44 msgid "Refresh scheduling data" -msgstr "Atualizar dados de agendamento" +msgstr "" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 #: templates/js/translated/tables.js:552 msgid "Refresh" -msgstr "Recarregar" +msgstr "" #: part/templates/part/detail.html:66 msgid "Add stocktake information" -msgstr "Adicionar informações de balanço de estoque" +msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:255 templates/InvenTree/settings/part_stocktake.html:30 #: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/stock.js:2216 users/models.py:204 msgid "Stocktake" -msgstr "Balanço" +msgstr "" #: part/templates/part/detail.html:83 msgid "Part Test Templates" -msgstr "Modelos de Teste de Peça" +msgstr "" #: part/templates/part/detail.html:88 msgid "Add Test Template" -msgstr "Adicionar Modelo de Teste" +msgstr "" #: part/templates/part/detail.html:139 stock/templates/stock/item.html:49 msgid "Sales Order Allocations" -msgstr "Alocações do Pedido de Vendas" +msgstr "" #: part/templates/part/detail.html:156 msgid "Part Notes" -msgstr "Notas de Peça" +msgstr "" #: part/templates/part/detail.html:171 msgid "Part Variants" -msgstr "Variantes de Peça" +msgstr "" #: part/templates/part/detail.html:175 msgid "Create new variant" -msgstr "Criar variante" +msgstr "" #: part/templates/part/detail.html:176 msgid "New Variant" -msgstr "Nova Variação" +msgstr "" #: part/templates/part/detail.html:199 msgid "Add new parameter" -msgstr "Adicionar um novo parâmetro" +msgstr "" #: part/templates/part/detail.html:232 part/templates/part/part_sidebar.html:58 msgid "Related Parts" -msgstr "Peças Relacionadas" +msgstr "" #: part/templates/part/detail.html:236 part/templates/part/detail.html:237 msgid "Add Related" -msgstr "Adicionar Relacionado" +msgstr "" #: part/templates/part/detail.html:255 part/templates/part/part_sidebar.html:17 #: report/templates/report/inventree_bill_of_materials_report.html:100 msgid "Bill of Materials" -msgstr "Lista de Materiais" +msgstr "" #: part/templates/part/detail.html:260 msgid "Export actions" -msgstr "Exportar Ações" +msgstr "" #: part/templates/part/detail.html:264 templates/js/translated/bom.js:340 msgid "Export BOM" -msgstr "Exportar LDM" +msgstr "" #: part/templates/part/detail.html:266 msgid "Print BOM Report" -msgstr "Imprimir Relatório da LDM" +msgstr "" #: part/templates/part/detail.html:272 msgid "BOM actions" -msgstr "Ações da LDM" +msgstr "" #: part/templates/part/detail.html:276 msgid "Upload BOM" -msgstr "Carregar LDM" +msgstr "" #: part/templates/part/detail.html:278 msgid "Validate BOM" -msgstr "Validar LDM" +msgstr "" #: part/templates/part/detail.html:283 part/templates/part/detail.html:284 #: templates/js/translated/bom.js:1320 templates/js/translated/bom.js:1321 msgid "Add BOM Item" -msgstr "Adicionar Item LDM" +msgstr "" #: part/templates/part/detail.html:297 msgid "Assemblies" -msgstr "Montagens" +msgstr "" #: part/templates/part/detail.html:313 msgid "Part Builds" -msgstr "Produções de peça" +msgstr "" #: part/templates/part/detail.html:338 stock/templates/stock/item.html:36 msgid "Build Order Allocations" -msgstr "Alocações de Pedido de Produção" +msgstr "" #: part/templates/part/detail.html:352 msgid "Part Suppliers" -msgstr "Fornecedores da peça" +msgstr "" #: part/templates/part/detail.html:372 msgid "Part Manufacturers" -msgstr "Fabricantes da peça" +msgstr "" #: part/templates/part/detail.html:657 msgid "Related Part" -msgstr "Peça Relacionada" +msgstr "" #: part/templates/part/detail.html:665 msgid "Add Related Part" -msgstr "Adicionar Peça Relacionada" +msgstr "" #: part/templates/part/detail.html:750 msgid "Add Test Result Template" -msgstr "Adicionar Modelo de Resultado de Teste" +msgstr "" #: part/templates/part/import_wizard/ajax_part_upload.html:29 #: part/templates/part/import_wizard/part_upload.html:14 msgid "Insufficient privileges." -msgstr "Permissões insuficientes." +msgstr "" #: part/templates/part/import_wizard/part_upload.html:8 msgid "Return to Parts" -msgstr "Retornar para Peças" +msgstr "" #: part/templates/part/import_wizard/part_upload.html:13 msgid "Import Parts from File" -msgstr "Importar Peças de um Arquivo" +msgstr "" #: part/templates/part/import_wizard/part_upload.html:31 msgid "Requirements for part import" -msgstr "Requerimentos para importar peça" +msgstr "" #: part/templates/part/import_wizard/part_upload.html:33 msgid "The part import file must contain the required named columns as provided in the " -msgstr "O arquivo para importar peças deve conter as colunas nomeadas como fornecido na " +msgstr "" #: part/templates/part/import_wizard/part_upload.html:33 msgid "Part Import Template" -msgstr "Modelo de importação de Peças" +msgstr "" #: part/templates/part/import_wizard/part_upload.html:89 msgid "Download Part Import Template" -msgstr "Baixar Modelo de Importação de Peça" +msgstr "" #: part/templates/part/import_wizard/part_upload.html:92 #: 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 "Formato" +msgstr "" #: part/templates/part/import_wizard/part_upload.html:93 #: templates/js/translated/bom.js:310 templates/js/translated/bom.js:344 #: templates/js/translated/order.js:130 msgid "Select file format" -msgstr "Selecione o formato de arquivo" +msgstr "" #: part/templates/part/part_app_base.html:12 msgid "Part List" -msgstr "Lista de Peças" +msgstr "" #: part/templates/part/part_base.html:25 part/templates/part/part_base.html:29 msgid "You are subscribed to notifications for this part" -msgstr "Você está inscrito para notificações desta peça" +msgstr "" #: part/templates/part/part_base.html:33 msgid "Subscribe to notifications for this part" -msgstr "Inscrever-se para notificações desta peça" +msgstr "" #: part/templates/part/part_base.html:52 #: stock/templates/stock/item_base.html:62 #: stock/templates/stock/location.html:74 templates/js/translated/label.js:136 msgid "Print Label" -msgstr "Imprimir Etiqueta" +msgstr "" #: part/templates/part/part_base.html:58 msgid "Show pricing information" -msgstr "Mostrar informações de preços" +msgstr "" #: part/templates/part/part_base.html:63 #: stock/templates/stock/item_base.html:110 #: stock/templates/stock/location.html:83 msgid "Stock actions" -msgstr "Ações de Estoque" +msgstr "" #: part/templates/part/part_base.html:70 msgid "Count part stock" -msgstr "Contagem peça em estoque" +msgstr "" #: part/templates/part/part_base.html:76 msgid "Transfer part stock" -msgstr "Transferir estoque de peça" +msgstr "" #: part/templates/part/part_base.html:91 templates/js/translated/part.js:2296 msgid "Part actions" -msgstr "Ações de peça" +msgstr "" #: part/templates/part/part_base.html:94 msgid "Duplicate part" -msgstr "Peça duplicada" +msgstr "" #: part/templates/part/part_base.html:97 msgid "Edit part" -msgstr "Editar peça" +msgstr "" #: part/templates/part/part_base.html:100 msgid "Delete part" -msgstr "Excluir peça" +msgstr "" #: part/templates/part/part_base.html:119 msgid "Part is a template part (variants can be made from this part)" -msgstr "Esta é uma peça modelo (as variantes podem ser feitas a partir desta peça)" +msgstr "" #: part/templates/part/part_base.html:123 msgid "Part can be assembled from other parts" -msgstr "Peças pode ser montada a partir de outras peças" +msgstr "" #: part/templates/part/part_base.html:127 msgid "Part can be used in assemblies" -msgstr "Peça pode ser usada em montagens" +msgstr "" #: part/templates/part/part_base.html:131 msgid "Part stock is tracked by serial number" -msgstr "Peça em estoque é controlada por número de série" +msgstr "" #: part/templates/part/part_base.html:135 msgid "Part can be purchased from external suppliers" -msgstr "Peça pode ser comprada de fornecedores externos" +msgstr "" #: part/templates/part/part_base.html:139 msgid "Part can be sold to customers" -msgstr "Peça pode ser vendida a clientes" +msgstr "" #: part/templates/part/part_base.html:145 msgid "Part is not active" -msgstr "Peça inativa" +msgstr "" #: part/templates/part/part_base.html:153 msgid "Part is virtual (not a physical part)" -msgstr "Peça é virtual (não é algo físico)" +msgstr "" #: part/templates/part/part_base.html:163 #: part/templates/part/part_base.html:681 msgid "Show Part Details" -msgstr "Mostrar Detalhes de Peça" +msgstr "" #: part/templates/part/part_base.html:218 #: stock/templates/stock/item_base.html:388 msgid "Allocated to Build Orders" -msgstr "Alocado para Pedidos de Construção" +msgstr "" #: part/templates/part/part_base.html:227 #: stock/templates/stock/item_base.html:381 msgid "Allocated to Sales Orders" -msgstr "Alocado para Pedidos de Venda" +msgstr "" #: part/templates/part/part_base.html:235 templates/js/translated/bom.js:1219 msgid "Can Build" -msgstr "Pode Produzir" +msgstr "" #: part/templates/part/part_base.html:291 msgid "Minimum stock level" -msgstr "Nível mínimo de estoque" +msgstr "" #: part/templates/part/part_base.html:322 templates/js/translated/bom.js:1071 #: templates/js/translated/part.js:1268 templates/js/translated/part.js:2447 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" -msgstr "Faixa de Preço" +msgstr "" #: part/templates/part/part_base.html:352 msgid "Latest Serial Number" -msgstr "Último Número de Série" +msgstr "" #: part/templates/part/part_base.html:356 #: stock/templates/stock/item_base.html:322 msgid "Search for serial number" -msgstr "Procurar por número serial" +msgstr "" #: part/templates/part/part_base.html:444 msgid "Part QR Code" -msgstr "QR Code da Peça" +msgstr "" #: part/templates/part/part_base.html:461 msgid "Link Barcode to Part" -msgstr "Vincular Código de Barras à Peça" +msgstr "" #: part/templates/part/part_base.html:511 msgid "Calculate" -msgstr "Calcular" +msgstr "" #: part/templates/part/part_base.html:528 msgid "Remove associated image from this part" -msgstr "Remover imagem associada a esta peça" +msgstr "" #: part/templates/part/part_base.html:579 msgid "No matching images found" -msgstr "Nenhuma imagem correspondente encontrada" +msgstr "" #: part/templates/part/part_base.html:675 msgid "Hide Part Details" -msgstr "Esconder Detalhes da Peça" +msgstr "" #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:76 #: part/templates/part/prices.html:227 templates/js/translated/pricing.js:485 msgid "Supplier Pricing" -msgstr "Preço do fornecedor" +msgstr "" #: part/templates/part/part_pricing.html:26 #: part/templates/part/part_pricing.html:52 #: part/templates/part/part_pricing.html:95 #: part/templates/part/part_pricing.html:110 msgid "Unit Cost" -msgstr "Custo unitário" +msgstr "" #: part/templates/part/part_pricing.html:40 msgid "No supplier pricing available" -msgstr "Nenhuma informação dos preços do fornecedor disponível" +msgstr "" #: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:90 #: part/templates/part/prices.html:250 msgid "BOM Pricing" -msgstr "Preço LDM" +msgstr "" #: part/templates/part/part_pricing.html:66 msgid "Unit Purchase Price" -msgstr "Preço Unitário de Compra" +msgstr "" #: part/templates/part/part_pricing.html:72 msgid "Total Purchase Price" -msgstr "Preço Total de Compra" +msgstr "" #: part/templates/part/part_pricing.html:83 msgid "No BOM pricing available" -msgstr "Preços LDM indisponíveis" +msgstr "" #: part/templates/part/part_pricing.html:92 msgid "Internal Price" -msgstr "Preço Interno" +msgstr "" #: part/templates/part/part_pricing.html:123 msgid "No pricing information is available for this part." -msgstr "Nenhuma informação de preço está disponível para esta peça." +msgstr "" #: part/templates/part/part_scheduling.html:14 msgid "Scheduled Quantity" -msgstr "Quantidade Agendada" +msgstr "" #: part/templates/part/part_sidebar.html:11 msgid "Variants" -msgstr "Variantes" +msgstr "" #: part/templates/part/part_sidebar.html:14 #: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:24 @@ -7959,36 +7959,36 @@ msgstr "Variantes" #: templates/js/translated/part.js:2395 templates/js/translated/stock.js:1059 #: templates/js/translated/stock.js:2070 templates/navbar.html:31 msgid "Stock" -msgstr "Estoque" +msgstr "" #: part/templates/part/part_sidebar.html:30 #: templates/InvenTree/settings/sidebar.html:39 msgid "Pricing" -msgstr "Preços" +msgstr "" #: part/templates/part/part_sidebar.html:44 msgid "Scheduling" -msgstr "Agendamento" +msgstr "" #: part/templates/part/part_sidebar.html:54 msgid "Test Templates" -msgstr "Testar Modelos" +msgstr "" #: part/templates/part/part_thumb.html:11 msgid "Select from existing images" -msgstr "Selecionar de imagens existentes" +msgstr "" #: part/templates/part/prices.html:11 msgid "Pricing Overview" -msgstr "Resumo de Preços" +msgstr "" #: part/templates/part/prices.html:14 msgid "Refresh Part Pricing" -msgstr "Atualizar Preço da Peça" +msgstr "" #: part/templates/part/prices.html:17 msgid "Override Part Pricing" -msgstr "Sobrepor Preço da Peça" +msgstr "" #: part/templates/part/prices.html:18 #: templates/InvenTree/settings/settings_staff_js.html:80 @@ -7997,7 +7997,7 @@ msgstr "Sobrepor Preço da Peça" #: templates/js/translated/pricing.js:628 templates/notes_buttons.html:3 #: templates/notes_buttons.html:4 msgid "Edit" -msgstr "Editar" +msgstr "" #: part/templates/part/prices.html:28 stock/admin.py:251 #: stock/templates/stock/item_base.html:446 @@ -8005,155 +8005,155 @@ msgstr "Editar" #: templates/js/translated/company.js:1713 #: templates/js/translated/stock.js:2246 msgid "Last Updated" -msgstr "Última atualização" +msgstr "" #: part/templates/part/prices.html:37 part/templates/part/prices.html:127 msgid "Price Category" -msgstr "Categoria de preço" +msgstr "" #: part/templates/part/prices.html:38 part/templates/part/prices.html:128 msgid "Minimum" -msgstr "Mínimo" +msgstr "" #: part/templates/part/prices.html:39 part/templates/part/prices.html:129 msgid "Maximum" -msgstr "Máximo" +msgstr "" #: part/templates/part/prices.html:51 part/templates/part/prices.html:174 msgid "Internal Pricing" -msgstr "Preço Interno" +msgstr "" #: part/templates/part/prices.html:64 part/templates/part/prices.html:206 msgid "Purchase History" -msgstr "Histórico de Compras" +msgstr "" #: part/templates/part/prices.html:98 part/templates/part/prices.html:274 msgid "Variant Pricing" -msgstr "Preço Variável" +msgstr "" #: part/templates/part/prices.html:106 msgid "Pricing Overrides" -msgstr "Sobrepor preços" +msgstr "" #: part/templates/part/prices.html:113 msgid "Overall Pricing" -msgstr "Preços Gerais" +msgstr "" #: part/templates/part/prices.html:149 part/templates/part/prices.html:326 msgid "Sale History" -msgstr "Histórico de vendas" +msgstr "" #: part/templates/part/prices.html:157 msgid "Sale price data is not available for this part" -msgstr "Dados de preço de venda não estão disponíveis para esta peça" +msgstr "" #: part/templates/part/prices.html:164 msgid "Price range data is not available for this part." -msgstr "Dados do intervalo de preços não estão disponíveis para esta peça." +msgstr "" #: part/templates/part/prices.html:175 part/templates/part/prices.html:207 #: part/templates/part/prices.html:228 part/templates/part/prices.html:251 #: part/templates/part/prices.html:275 part/templates/part/prices.html:298 #: part/templates/part/prices.html:327 msgid "Jump to overview" -msgstr "Ir para visão geral" +msgstr "" #: part/templates/part/prices.html:180 msgid "Add Internal Price Break" -msgstr "Adicionar intervalo de preço interno" +msgstr "" #: part/templates/part/prices.html:297 msgid "Sale Pricing" -msgstr "Preço de Venda" +msgstr "" #: part/templates/part/prices.html:303 msgid "Add Sell Price Break" -msgstr "Adicionar intervalo de preço de venda" +msgstr "" #: part/templates/part/pricing_javascript.html:24 msgid "Update Pricing" -msgstr "Atualizar Preços" +msgstr "" #: part/templates/part/stock_count.html:7 #: templates/js/translated/model_renderers.js:227 #: templates/js/translated/part.js:704 templates/js/translated/part.js:2144 #: templates/js/translated/part.js:2146 msgid "No Stock" -msgstr "Sem Estoque" +msgstr "" #: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:120 msgid "Low Stock" -msgstr "Estoque Baixo" +msgstr "" #: part/templates/part/upload_bom.html:8 msgid "Return to BOM" -msgstr "Voltar à LDM" +msgstr "" #: part/templates/part/upload_bom.html:13 msgid "Upload Bill of Materials" -msgstr "Carregar a Lista de materiais" +msgstr "" #: part/templates/part/upload_bom.html:19 msgid "BOM upload requirements" -msgstr "Requisitos para carregar LDM" +msgstr "" #: part/templates/part/upload_bom.html:23 #: part/templates/part/upload_bom.html:90 msgid "Upload BOM File" -msgstr "Carregar Arquivo LDM" +msgstr "" #: part/templates/part/upload_bom.html:29 msgid "Submit BOM Data" -msgstr "Enviar Dados LDM" +msgstr "" #: part/templates/part/upload_bom.html:37 msgid "Requirements for BOM upload" -msgstr "Requisitos para carregar a LDM" +msgstr "" #: part/templates/part/upload_bom.html:39 msgid "The BOM file must contain the required named columns as provided in the " -msgstr "O arquivo da LDM deve conter as colunas nomeadas como fornecido na " +msgstr "" #: part/templates/part/upload_bom.html:39 msgid "BOM Upload Template" -msgstr "Carregar Modelo de LDM" +msgstr "" #: part/templates/part/upload_bom.html:40 msgid "Each part must already exist in the database" -msgstr "Cada peça deve existir no banco de dados" +msgstr "" #: part/templates/part/variant_part.html:9 msgid "Create new part variant" -msgstr "Criar variante de peça" +msgstr "" #: part/templates/part/variant_part.html:10 msgid "Create a new variant part from this template" -msgstr "Criar uma peça variante a partir deste modelo" +msgstr "" #: part/views.py:111 msgid "Match References" -msgstr "Referências de combinações" +msgstr "" #: part/views.py:275 #, python-brace-format msgid "Can't import part {new_part.name} because there is no category assigned" -msgstr "Não é possível importar a peça {new_part.name} pois não há uma categoria atribuída" +msgstr "" #: part/views.py:425 msgid "Select Part Image" -msgstr "Selecionar Imagem da Peça" +msgstr "" #: part/views.py:448 msgid "Updated part image" -msgstr "Atualizar imagem da peça" +msgstr "" #: part/views.py:451 msgid "Part image not found" -msgstr "Imagem da peça não encontrada" +msgstr "" #: part/views.py:545 msgid "Part Pricing" -msgstr "Preço Peça" +msgstr "" #: plugin/api.py:170 msgid "Plugin cannot be deleted as it is currently active" @@ -8161,164 +8161,164 @@ msgstr "" #: plugin/base/action/api.py:32 msgid "No action specified" -msgstr "Nenhuma ação especificada" +msgstr "" #: plugin/base/action/api.py:41 msgid "No matching action found" -msgstr "Nenhuma ação correspondente encontrada" +msgstr "" #: plugin/base/barcodes/api.py:124 plugin/base/barcodes/api.py:328 #: plugin/base/barcodes/api.py:503 msgid "No match found for barcode data" -msgstr "Nenhum resultado encontrado para os dados do código de barras" +msgstr "" #: plugin/base/barcodes/api.py:128 msgid "Match found for barcode data" -msgstr "Coincidência encontrada para dados de código de barras" +msgstr "" #: plugin/base/barcodes/api.py:154 #: templates/js/translated/purchase_order.js:1406 msgid "Barcode matches existing item" -msgstr "Código de barras corresponde ao item existente" +msgstr "" #: plugin/base/barcodes/api.py:293 msgid "No matching part data found" -msgstr "Nenhuma informação de peça correspondente encontrada" +msgstr "" #: plugin/base/barcodes/api.py:310 msgid "No matching supplier parts found" -msgstr "Nenhuma peça de fornecedor correspondente encontrada" +msgstr "" #: plugin/base/barcodes/api.py:314 msgid "Multiple matching supplier parts found" -msgstr "Múltiplas peças de fornecedores correspondentes encontradas" +msgstr "" #: plugin/base/barcodes/api.py:338 msgid "Matched supplier part" -msgstr "Peça de fornecedor correspondente" +msgstr "" #: plugin/base/barcodes/api.py:387 msgid "Item has already been received" -msgstr "Item do pedido já foi recebido" +msgstr "" #: plugin/base/barcodes/api.py:424 msgid "No match for supplier barcode" -msgstr "Nenhuma correspondência para o código de barras do fornecedor" +msgstr "" #: plugin/base/barcodes/api.py:467 msgid "Multiple matching line items found" -msgstr "Diversos itens de linha correspondentes encontrados" +msgstr "" #: plugin/base/barcodes/api.py:470 msgid "No matching line item found" -msgstr "Nenhum item de linha correspondente encontrado" +msgstr "" #: plugin/base/barcodes/api.py:508 plugin/base/barcodes/api.py:515 msgid "Barcode does not match an existing stock item" -msgstr "Código de barras não corresponde a item de estoque válido" +msgstr "" #: plugin/base/barcodes/api.py:526 msgid "Stock item does not match line item" -msgstr "Item do estoque não corresponde ao item de linha" +msgstr "" #: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2590 #: templates/js/translated/sales_order.js:1953 msgid "Insufficient stock available" -msgstr "Estoque insuficiente disponível" +msgstr "" #: plugin/base/barcodes/api.py:559 msgid "Stock item allocated to sales order" -msgstr "Item de estoque atribuído para pedido de venda" +msgstr "" #: plugin/base/barcodes/api.py:563 msgid "Not enough information" -msgstr "Não há informação suficiente" +msgstr "" #: plugin/base/barcodes/mixins.py:147 plugin/base/barcodes/mixins.py:179 msgid "Found multiple matching supplier parts for barcode" -msgstr "Múltiplas peças de fornecedores correspondentes encontradas para o código de barras" +msgstr "" #: plugin/base/barcodes/mixins.py:197 #, python-brace-format msgid "Found multiple purchase orders matching '{order}'" -msgstr "Encontrados vários pedidos de compra correspondentes a '{order}'" +msgstr "" #: plugin/base/barcodes/mixins.py:201 #, python-brace-format msgid "No matching purchase order for '{order}'" -msgstr "Nenhum pedido de compra correspondente a '{order}' encontrado" +msgstr "" #: plugin/base/barcodes/mixins.py:206 msgid "Purchase order does not match supplier" -msgstr "Pedido de compra não corresponde ao fornecedor" +msgstr "" #: plugin/base/barcodes/mixins.py:440 msgid "Failed to find pending line item for supplier part" -msgstr "Falha ao encontrar item de linha pendente para a parte do fornecedor" +msgstr "" #: plugin/base/barcodes/mixins.py:471 msgid "Further information required to receive line item" -msgstr "Mais informações necessárias para receber o item de linha" +msgstr "" #: plugin/base/barcodes/mixins.py:479 msgid "Received purchase order line item" -msgstr "Item de linha do pedido de compra recebido" +msgstr "" #: plugin/base/barcodes/serializers.py:21 msgid "Scanned barcode data" -msgstr "Dados do código de barras lido" +msgstr "" #: plugin/base/barcodes/serializers.py:81 msgid "Purchase Order to allocate items against" -msgstr "Pedido de compra para alocar itens contra" +msgstr "" #: plugin/base/barcodes/serializers.py:87 msgid "Purchase order is not pending" -msgstr "O pedido de compra não está pendente" +msgstr "" #: plugin/base/barcodes/serializers.py:105 msgid "PurchaseOrder to receive items against" -msgstr "Pedido de compra para receber itens contra" +msgstr "" #: plugin/base/barcodes/serializers.py:111 msgid "Purchase order has not been placed" -msgstr "O pedido de compra não foi realizado" +msgstr "" #: plugin/base/barcodes/serializers.py:119 msgid "Location to receive items into" -msgstr "Localização para receber itens" +msgstr "" #: plugin/base/barcodes/serializers.py:125 msgid "Cannot select a structural location" -msgstr "Não é possível selecionar um local estrutural" +msgstr "" #: plugin/base/barcodes/serializers.py:139 msgid "Sales Order to allocate items against" -msgstr "Pedido de compra para alocar itens contra" +msgstr "" #: plugin/base/barcodes/serializers.py:145 msgid "Sales order is not pending" -msgstr "O pedido de venda não está pendente" +msgstr "" #: plugin/base/barcodes/serializers.py:153 msgid "Sales order line item to allocate items against" -msgstr "Item de linha do pedido de venda para alocar itens contra" +msgstr "" #: plugin/base/barcodes/serializers.py:160 msgid "Sales order shipment to allocate items against" -msgstr "Envio do pedido de venda para alocar itens contra" +msgstr "" #: plugin/base/barcodes/serializers.py:166 msgid "Shipment has already been delivered" -msgstr "O envio já foi entregue" +msgstr "" #: plugin/base/barcodes/serializers.py:171 msgid "Quantity to allocate" -msgstr "Quantidade a alocar" +msgstr "" #: plugin/base/label/label.py:39 templates/js/translated/label.js:148 msgid "Label printing failed" -msgstr "Impressão de etiqueta falhou" +msgstr "" #: plugin/base/label/mixins.py:56 msgid "Error rendering label to PDF" @@ -8334,11 +8334,11 @@ msgstr "" #: plugin/builtin/barcodes/inventree_barcode.py:25 msgid "InvenTree Barcodes" -msgstr "Códigos de Barras InvenTree" +msgstr "" #: plugin/builtin/barcodes/inventree_barcode.py:26 msgid "Provides native support for barcodes" -msgstr "Fornece suporte nativo para códigos de barras" +msgstr "" #: plugin/builtin/barcodes/inventree_barcode.py:28 #: plugin/builtin/integration/core_notifications.py:35 @@ -8349,69 +8349,69 @@ msgstr "Fornece suporte nativo para códigos de barras" #: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 #: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 msgid "InvenTree contributors" -msgstr "Contribuidores do InvenTree" +msgstr "" #: plugin/builtin/integration/core_notifications.py:34 msgid "InvenTree Notifications" -msgstr "Notificações do InvenTree" +msgstr "" #: plugin/builtin/integration/core_notifications.py:36 msgid "Integrated outgoing notification methods" -msgstr "Métodos de envio de notificação integrados" +msgstr "" #: plugin/builtin/integration/core_notifications.py:41 #: plugin/builtin/integration/core_notifications.py:80 msgid "Enable email notifications" -msgstr "Habilitar notificações por email" +msgstr "" #: plugin/builtin/integration/core_notifications.py:42 #: plugin/builtin/integration/core_notifications.py:81 msgid "Allow sending of emails for event notifications" -msgstr "Permitir enviar emails para notificações de eventos" +msgstr "" #: plugin/builtin/integration/core_notifications.py:47 msgid "Enable slack notifications" -msgstr "Habilitar notificações por Slack" +msgstr "" #: plugin/builtin/integration/core_notifications.py:49 msgid "Allow sending of slack channel messages for event notifications" -msgstr "Permitir envio de notificações de eventos pelo canal de mensagens do slack" +msgstr "" #: plugin/builtin/integration/core_notifications.py:55 msgid "Slack incoming webhook url" -msgstr "Link do gancho de entrada do Slack" +msgstr "" #: plugin/builtin/integration/core_notifications.py:56 msgid "URL that is used to send messages to a slack channel" -msgstr "URL usada para enviar mensagens para um canal do Slack" +msgstr "" #: plugin/builtin/integration/core_notifications.py:164 msgid "Open link" -msgstr "Abrir link" +msgstr "" #: plugin/builtin/integration/currency_exchange.py:22 msgid "InvenTree Currency Exchange" -msgstr "Câmbio de Moeda InvenTree" +msgstr "" #: plugin/builtin/integration/currency_exchange.py:23 msgid "Default currency exchange integration" -msgstr "Integração padrão de câmbio de moeda" +msgstr "" #: plugin/builtin/labels/inventree_label.py:19 msgid "InvenTree PDF label printer" -msgstr "Impressora de etiquetas PDF do InvenTree" +msgstr "" #: plugin/builtin/labels/inventree_label.py:20 msgid "Provides native support for printing PDF labels" -msgstr "Providenciar suporte nativo para impressão de etiquetas em PDF" +msgstr "" #: plugin/builtin/labels/inventree_label.py:28 msgid "Debug mode" -msgstr "Modo de depuração" +msgstr "" #: plugin/builtin/labels/inventree_label.py:29 msgid "Enable debug mode - returns raw HTML instead of PDF" -msgstr "Ativar o modo de depuração - retorna HTML bruto em vez de PDF" +msgstr "" #: plugin/builtin/labels/inventree_machine.py:61 msgid "InvenTree machine label printer" @@ -8431,95 +8431,95 @@ msgstr "" #: plugin/builtin/labels/label_sheet.py:29 msgid "Page size for the label sheet" -msgstr "Tamanho da página para folha de etiqueta" +msgstr "" #: plugin/builtin/labels/label_sheet.py:34 msgid "Skip Labels" -msgstr "Pular Etiquetas" +msgstr "" #: plugin/builtin/labels/label_sheet.py:35 msgid "Skip this number of labels when printing label sheets" -msgstr "Ignorar este número de etiquetas quando imprimir folhas de etiquetas" +msgstr "" #: plugin/builtin/labels/label_sheet.py:41 msgid "Border" -msgstr "Borda" +msgstr "" #: plugin/builtin/labels/label_sheet.py:42 msgid "Print a border around each label" -msgstr "Imprima uma borda em torno de cada etiqueta" +msgstr "" #: plugin/builtin/labels/label_sheet.py:47 report/models.py:308 msgid "Landscape" -msgstr "Paisagem" +msgstr "" #: plugin/builtin/labels/label_sheet.py:48 msgid "Print the label sheet in landscape mode" -msgstr "Imprimir a folha de etiqueta no modo paisagem" +msgstr "" #: plugin/builtin/labels/label_sheet.py:60 msgid "InvenTree Label Sheet Printer" -msgstr "Impressora de folhas de etiqueta do InvenTree" +msgstr "" #: plugin/builtin/labels/label_sheet.py:61 msgid "Arrays multiple labels onto a single sheet" -msgstr "Matriz várias etiquetas em uma única folha" +msgstr "" #: plugin/builtin/labels/label_sheet.py:99 msgid "Label is too large for page size" -msgstr "A etiqueta é muito grande para tamanho de página" +msgstr "" #: plugin/builtin/labels/label_sheet.py:133 msgid "No labels were generated" -msgstr "Nenhuma etiqueta foi gerada" +msgstr "" #: plugin/builtin/suppliers/digikey.py:16 msgid "Supplier Integration - DigiKey" -msgstr "Integração de fornecedor - DigiKey" +msgstr "" #: plugin/builtin/suppliers/digikey.py:17 msgid "Provides support for scanning DigiKey barcodes" -msgstr "Fornece suporte para escanear códigos de barras DigiKey" +msgstr "" #: plugin/builtin/suppliers/digikey.py:26 msgid "The Supplier which acts as 'DigiKey'" -msgstr "O fornecedor que atua como 'DigiKey'" +msgstr "" #: plugin/builtin/suppliers/lcsc.py:18 msgid "Supplier Integration - LCSC" -msgstr "Integração de fornecedor - LCSC" +msgstr "" #: plugin/builtin/suppliers/lcsc.py:19 msgid "Provides support for scanning LCSC barcodes" -msgstr "Fornece suporte para escanear códigos de barras LCSC" +msgstr "" #: plugin/builtin/suppliers/lcsc.py:27 msgid "The Supplier which acts as 'LCSC'" -msgstr "O fornecedor que atua como 'LCSC'" +msgstr "" #: plugin/builtin/suppliers/mouser.py:16 msgid "Supplier Integration - Mouser" -msgstr "Integração de fornecedor - Mouser" +msgstr "" #: plugin/builtin/suppliers/mouser.py:17 msgid "Provides support for scanning Mouser barcodes" -msgstr "Fornece suporte para escanear códigos de barras Mouser" +msgstr "" #: plugin/builtin/suppliers/mouser.py:25 msgid "The Supplier which acts as 'Mouser'" -msgstr "O fornecedor que atua como 'Mouser'" +msgstr "" #: plugin/builtin/suppliers/tme.py:18 msgid "Supplier Integration - TME" -msgstr "Integração de fornecedor - TME" +msgstr "" #: plugin/builtin/suppliers/tme.py:19 msgid "Provides support for scanning TME barcodes" -msgstr "Fornece suporte para escanear códigos de barras TME" +msgstr "" #: plugin/builtin/suppliers/tme.py:27 msgid "The Supplier which acts as 'TME'" -msgstr "O fornecedor que atua como 'TME'" +msgstr "" #: plugin/installer.py:194 plugin/installer.py:282 msgid "Only staff users can administer plugins" @@ -8531,12 +8531,12 @@ msgstr "" #: plugin/installer.py:248 msgid "Installed plugin successfully" -msgstr "Plugin instalado com sucesso" +msgstr "" #: plugin/installer.py:254 #, python-brace-format msgid "Installed plugin into {path}" -msgstr "Plugin instalado na {path}" +msgstr "" #: plugin/installer.py:273 msgid "Plugin was not found in registry" @@ -8564,27 +8564,27 @@ msgstr "" #: plugin/models.py:36 msgid "Plugin Configuration" -msgstr "Configuração de Extensão" +msgstr "" #: plugin/models.py:37 msgid "Plugin Configurations" -msgstr "Configuração de Extensões" +msgstr "" #: plugin/models.py:43 users/models.py:100 msgid "Key" -msgstr "Chave" +msgstr "" #: plugin/models.py:44 msgid "Key of plugin" -msgstr "Chave da extensão" +msgstr "" #: plugin/models.py:52 msgid "PluginName of the plugin" -msgstr "Nome da Extensão" +msgstr "" #: plugin/models.py:59 plugin/serializers.py:90 msgid "Package Name" -msgstr "Nome do Pacote" +msgstr "" #: plugin/models.py:61 msgid "Name of the installed package, if the plugin was installed via PIP" @@ -8592,20 +8592,20 @@ msgstr "" #: plugin/models.py:66 msgid "Is the plugin active" -msgstr "O plug-in está ativo" +msgstr "" #: plugin/models.py:157 templates/js/translated/table_filters.js:370 #: templates/js/translated/table_filters.js:504 msgid "Installed" -msgstr "Instalado" +msgstr "" #: plugin/models.py:166 msgid "Sample plugin" -msgstr "Plug-in de exemplo" +msgstr "" #: plugin/models.py:174 msgid "Builtin Plugin" -msgstr "Plugin embutido" +msgstr "" #: plugin/models.py:182 msgid "Package Plugin" @@ -8615,88 +8615,88 @@ msgstr "" #: templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:51 msgid "Plugin" -msgstr "Extensões" +msgstr "" #: plugin/models.py:267 msgid "Method" -msgstr "Método" +msgstr "" #: plugin/plugin.py:270 msgid "No author found" -msgstr "Nenhum autor encontrado" +msgstr "" #: plugin/registry.py:534 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" -msgstr "A extensão '{p}' não é compatível com a versão atual do InvenTree {v}" +msgstr "" #: plugin/registry.py:537 #, python-brace-format msgid "Plugin requires at least version {v}" -msgstr "Extensão requer pelo menos a versão {v}" +msgstr "" #: plugin/registry.py:539 #, python-brace-format msgid "Plugin requires at most version {v}" -msgstr "Extensão requer no máximo a versão {v}" +msgstr "" #: plugin/samples/integration/sample.py:52 msgid "Enable PO" -msgstr "Ativar PO" +msgstr "" #: plugin/samples/integration/sample.py:53 msgid "Enable PO functionality in InvenTree interface" -msgstr "Ativar a funcionalidade PO na interface InvenTree" +msgstr "" #: plugin/samples/integration/sample.py:58 msgid "API Key" -msgstr "Chave API" +msgstr "" #: plugin/samples/integration/sample.py:59 msgid "Key required for accessing external API" -msgstr "Chave necessária para acesso à API externa" +msgstr "" #: plugin/samples/integration/sample.py:63 msgid "Numerical" -msgstr "Numérico" +msgstr "" #: plugin/samples/integration/sample.py:64 msgid "A numerical setting" -msgstr "Uma configuração numérica" +msgstr "" #: plugin/samples/integration/sample.py:69 msgid "Choice Setting" -msgstr "Configurações de Escolha" +msgstr "" #: plugin/samples/integration/sample.py:70 msgid "A setting with multiple choices" -msgstr "Uma configuração com várias escolhas" +msgstr "" #: plugin/samples/integration/sample_currency_exchange.py:15 msgid "Sample currency exchange plugin" -msgstr "Plugin de Câmbio de exemplo" +msgstr "" #: plugin/samples/integration/sample_currency_exchange.py:18 msgid "InvenTree Contributors" -msgstr "Contribuidores do InvenTree" +msgstr "" #: plugin/serializers.py:81 msgid "Source URL" -msgstr "URL de origem" +msgstr "" #: plugin/serializers.py:83 msgid "Source for the package - this can be a custom registry or a VCS path" -msgstr "Fonte do pacote — este pode ser um registro personalizado ou um caminho de VCS" +msgstr "" #: plugin/serializers.py:92 msgid "Name for the Plugin Package - can also contain a version indicator" -msgstr "Nome para o Pacote da Extensão — também pode conter um indicador de versão" +msgstr "" #: plugin/serializers.py:99 #: templates/InvenTree/settings/plugin_settings.html:42 #: templates/js/translated/plugin.js:86 msgid "Version" -msgstr "Versão" +msgstr "" #: plugin/serializers.py:101 msgid "Version specifier for the plugin. Leave blank for latest version." @@ -8704,51 +8704,51 @@ msgstr "" #: plugin/serializers.py:106 msgid "Confirm plugin installation" -msgstr "Confirmar instalação da extensão" +msgstr "" #: plugin/serializers.py:108 msgid "This will install this plugin now into the current instance. The instance will go into maintenance." -msgstr "Isto instalará a extensão agora na instância atual. A instância irá entrar em manutenção." +msgstr "" #: plugin/serializers.py:121 msgid "Installation not confirmed" -msgstr "Instalação não confirmada" +msgstr "" #: plugin/serializers.py:123 msgid "Either packagename of URL must be provided" -msgstr "Qualquer nome do pacote URL deve ser fornecido" +msgstr "" #: plugin/serializers.py:161 msgid "Full reload" -msgstr "Recarregamento completo" +msgstr "" #: plugin/serializers.py:162 msgid "Perform a full reload of the plugin registry" -msgstr "Realize um recarregamento completo do registro de plugin" +msgstr "" #: plugin/serializers.py:168 msgid "Force reload" -msgstr "Forçar recarregamento" +msgstr "" #: plugin/serializers.py:170 msgid "Force a reload of the plugin registry, even if it is already loaded" -msgstr "Forçar um recarregamento do registro do plugin, mesmo que já esteja carregado" +msgstr "" #: plugin/serializers.py:177 msgid "Collect plugins" -msgstr "Coletar plugins" +msgstr "" #: plugin/serializers.py:178 msgid "Collect plugins and add them to the registry" -msgstr "Colete plugins e adicione-os ao registro" +msgstr "" #: plugin/serializers.py:205 msgid "Activate Plugin" -msgstr "Ativar Extensão" +msgstr "" #: plugin/serializers.py:206 msgid "Activate this plugin" -msgstr "Ativar esta extensão" +msgstr "" #: plugin/serializers.py:226 msgid "Delete configuration" @@ -8760,7 +8760,7 @@ msgstr "" #: report/api.py:88 msgid "No valid objects provided to template" -msgstr "Nenhum objeto válido fornecido para o modelo" +msgstr "" #: report/api.py:103 report/models.py:439 report/serializers.py:98 #: report/serializers.py:148 templates/js/translated/purchase_order.js:1747 @@ -8768,7 +8768,7 @@ msgstr "Nenhum objeto válido fornecido para o modelo" #: templates/js/translated/sales_order.js:887 #: templates/js/translated/sales_order.js:1047 msgid "Items" -msgstr "Itens" +msgstr "" #: report/api.py:180 msgid "Plugin not found" @@ -8792,12 +8792,12 @@ msgstr "" #: report/api.py:283 msgid "Error printing label" -msgstr "Erro ao imprimir etiqueta" +msgstr "" #: report/api.py:375 report/api.py:411 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" -msgstr "Arquivo modelo '{template}' perdido ou não existe" +msgstr "" #: report/helpers.py:43 msgid "A4" @@ -8809,11 +8809,11 @@ msgstr "" #: report/helpers.py:45 msgid "Legal" -msgstr "Ofício" +msgstr "" #: report/helpers.py:46 msgid "Letter" -msgstr "Carta" +msgstr "" #: report/models.py:119 msgid "Template file with this name already exists" @@ -8821,7 +8821,7 @@ msgstr "" #: report/models.py:151 msgid "Template name" -msgstr "Nome do modelo" +msgstr "" #: report/models.py:157 msgid "Template description" @@ -8833,7 +8833,7 @@ msgstr "" #: report/models.py:203 msgid "Filename Pattern" -msgstr "Padrão de Nome de Arquivo" +msgstr "" #: report/models.py:204 msgid "Pattern for generating filenames" @@ -8849,7 +8849,7 @@ msgstr "" #: report/models.py:235 msgid "Filters" -msgstr "Filtros" +msgstr "" #: report/models.py:236 msgid "Template query filters (comma-separated list of key=value pairs)" @@ -8861,27 +8861,27 @@ msgstr "" #: report/models.py:303 msgid "Page size for PDF reports" -msgstr "Tamanho da página para relatórios PDF" +msgstr "" #: report/models.py:309 msgid "Render report in landscape orientation" -msgstr "Renderizar relatório em orientação paisagem" +msgstr "" #: report/models.py:368 msgid "Width [mm]" -msgstr "Largura [mm]" +msgstr "" #: report/models.py:369 msgid "Label width, specified in mm" -msgstr "Largura da etiqueta, em mm" +msgstr "" #: report/models.py:375 msgid "Height [mm]" -msgstr "Altura [mm]" +msgstr "" #: report/models.py:376 msgid "Label height, specified in mm" -msgstr "Altura da Etiqueta, em mm" +msgstr "" #: report/models.py:439 msgid "Number of items to process" @@ -8893,7 +8893,7 @@ msgstr "" #: report/models.py:449 templates/js/translated/build.js:2177 msgid "Progress" -msgstr "Progresso" +msgstr "" #: report/models.py:449 msgid "Report generation progress" @@ -8921,27 +8921,27 @@ msgstr "" #: report/models.py:503 msgid "Snippet" -msgstr "Recorte" +msgstr "" #: report/models.py:504 msgid "Report snippet file" -msgstr "Relatar arquivo de recorte" +msgstr "" #: report/models.py:511 msgid "Snippet file description" -msgstr "Descrição do arquivo de recorte" +msgstr "" #: report/models.py:529 msgid "Asset" -msgstr "Patrimônio" +msgstr "" #: report/models.py:530 msgid "Report asset file" -msgstr "Reportar arquivo de ativos" +msgstr "" #: report/models.py:537 msgid "Asset file description" -msgstr "Descrição do arquivo de ativos" +msgstr "" #: report/serializers.py:91 msgid "Select report template" @@ -8953,7 +8953,7 @@ msgstr "" #: report/serializers.py:132 msgid "Select label template" -msgstr "Selecione o modelo de etiqueta" +msgstr "" #: report/serializers.py:140 msgid "Printing Plugin" @@ -8968,25 +8968,25 @@ msgstr "" #: report/templates/label/stocklocation_qr.html:20 #: templates/allauth_2fa/setup.html:18 msgid "QR Code" -msgstr "Código QR" +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 "Código QR" +msgstr "" #: report/templates/report/inventree_bill_of_materials_report.html:133 msgid "Materials needed" -msgstr "Materiais necessários" +msgstr "" #: report/templates/report/inventree_build_order_report.html:146 msgid "Required For" -msgstr "Necessário para" +msgstr "" #: report/templates/report/inventree_purchase_order_report.html:15 msgid "Supplier was deleted" -msgstr "Fornecedor foi excluído" +msgstr "" #: report/templates/report/inventree_purchase_order_report.html:30 #: report/templates/report/inventree_sales_order_report.html:30 @@ -8996,13 +8996,13 @@ msgstr "Fornecedor foi excluído" #: templates/js/translated/purchase_order.js:2115 #: templates/js/translated/sales_order.js:1873 msgid "Unit Price" -msgstr "Preço unitário" +msgstr "" #: 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 "Extra Itens de Linha" +msgstr "" #: report/templates/report/inventree_purchase_order_report.html:72 #: report/templates/report/inventree_sales_order_report.html:72 @@ -9024,92 +9024,92 @@ msgstr "" #: templates/js/translated/sales_order.js:1732 #: templates/js/translated/stock.js:596 msgid "Serial Number" -msgstr "Número de Sério" +msgstr "" #: report/templates/report/inventree_stock_location_report.html:97 msgid "Stock location items" -msgstr "Estoque de itens do local" +msgstr "" #: report/templates/report/inventree_test_report.html:21 msgid "Stock Item Test Report" -msgstr "Relatório Teste do Item em Estoque" +msgstr "" #: report/templates/report/inventree_test_report.html:97 msgid "Test Results" -msgstr "Resultados do teste" +msgstr "" #: report/templates/report/inventree_test_report.html:102 #: templates/js/translated/stock.js:1495 msgid "Test" -msgstr "Teste" +msgstr "" #: report/templates/report/inventree_test_report.html:103 stock/models.py:2457 msgid "Result" -msgstr "Resultado" +msgstr "" #: report/templates/report/inventree_test_report.html:129 msgid "Pass" -msgstr "Aprovado" +msgstr "" #: report/templates/report/inventree_test_report.html:131 msgid "Fail" -msgstr "Não Aprovado" +msgstr "" #: report/templates/report/inventree_test_report.html:138 msgid "No result (required)" -msgstr "Sem resultado (obrigatório)" +msgstr "" #: report/templates/report/inventree_test_report.html:140 msgid "No result" -msgstr "Nenhum resultado" +msgstr "" #: report/templates/report/inventree_test_report.html:153 #: stock/serializers.py:591 stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" -msgstr "Itens instalados" +msgstr "" #: report/templates/report/inventree_test_report.html:167 stock/admin.py:161 #: templates/js/translated/stock.js:700 templates/js/translated/stock.js:871 #: templates/js/translated/stock.js:3110 msgid "Serial" -msgstr "Série" +msgstr "" #: report/templatetags/report.py:96 msgid "Asset file does not exist" -msgstr "O arquivo não existe" +msgstr "" #: report/templatetags/report.py:152 report/templatetags/report.py:217 msgid "Image file not found" -msgstr "Arquivo de imagem não encontrado" +msgstr "" #: report/templatetags/report.py:242 msgid "part_image tag requires a Part instance" -msgstr "Tag part_image necessita de uma instância de Peça" +msgstr "" #: report/templatetags/report.py:283 msgid "company_image tag requires a Company instance" -msgstr "Tag company_image necessita de uma instância de Empresa" +msgstr "" #: stock/admin.py:51 stock/admin.py:171 msgid "Location ID" -msgstr "ID do local" +msgstr "" #: stock/admin.py:63 stock/templates/stock/location.html:131 #: stock/templates/stock/location.html:137 msgid "Location Path" -msgstr "Caminho do local" +msgstr "" #: stock/admin.py:148 msgid "Stock Item ID" -msgstr "ID do item estoque" +msgstr "" #: stock/admin.py:167 msgid "Status Code" -msgstr "Código da situação" +msgstr "" #: stock/admin.py:179 msgid "Supplier Part ID" -msgstr "Número da Peça do Fornecedor" +msgstr "" #: stock/admin.py:184 msgid "Supplier Part SKU" @@ -9117,46 +9117,46 @@ msgstr "" #: stock/admin.py:189 msgid "Supplier ID" -msgstr "ID do Fornecedor" +msgstr "" #: stock/admin.py:195 msgid "Supplier Name" -msgstr "Nome do Fornecedor" +msgstr "" #: stock/admin.py:200 msgid "Customer ID" -msgstr "ID Cliente" +msgstr "" #: stock/admin.py:205 stock/models.py:805 #: stock/templates/stock/item_base.html:354 msgid "Installed In" -msgstr "Instalado em" +msgstr "" #: stock/admin.py:210 msgid "Build ID" -msgstr "ID da Produção" +msgstr "" #: stock/admin.py:220 msgid "Sales Order ID" -msgstr "ID do pedido de venda" +msgstr "" #: stock/admin.py:225 msgid "Purchase Order ID" -msgstr "ID do pedido de compra" +msgstr "" #: stock/admin.py:240 msgid "Review Needed" -msgstr "Revisão Necessária" +msgstr "" #: stock/admin.py:245 msgid "Delete on Deplete" -msgstr "Excluir quando esgotado" +msgstr "" #: stock/admin.py:260 stock/models.py:899 #: stock/templates/stock/item_base.html:433 #: templates/js/translated/stock.js:2230 users/models.py:124 msgid "Expiry Date" -msgstr "Data de validade" +msgstr "" #: stock/api.py:312 msgid "Filter by location depth" @@ -9180,246 +9180,246 @@ msgstr "" #: stock/api.py:617 templates/js/translated/table_filters.js:427 msgid "External Location" -msgstr "Localização externa" +msgstr "" #: stock/api.py:805 msgid "Part Tree" -msgstr "Árvore de Peças" +msgstr "" #: stock/api.py:835 msgid "Expiry date before" -msgstr "Data de validade antes" +msgstr "" #: stock/api.py:839 msgid "Expiry date after" -msgstr "Data de validade depois" +msgstr "" #: stock/api.py:842 stock/serializers.py:596 #: stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" -msgstr "Inativo" +msgstr "" #: stock/api.py:929 msgid "Quantity is required" -msgstr "Quantidade obrigatória" +msgstr "" #: stock/api.py:935 msgid "Valid part must be supplied" -msgstr "Uma peça válida deve ser fornecida" +msgstr "" #: stock/api.py:966 msgid "The given supplier part does not exist" -msgstr "A peça do fornecedor informado não existe" +msgstr "" #: stock/api.py:976 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" -msgstr "A peça do fornecedor tem um tamanho de pacote definido, mas o item use_pack_size não foi definida" +msgstr "" #: stock/api.py:1007 msgid "Serial numbers cannot be supplied for a non-trackable part" -msgstr "Números de série não podem ser fornecidos para uma parte não rastreável" +msgstr "" #: stock/models.py:61 msgid "Stock Location type" -msgstr "Tipo de Local de estoque" +msgstr "" #: stock/models.py:62 msgid "Stock Location types" -msgstr "Tipos de Locais de estoque" +msgstr "" #: stock/models.py:88 msgid "Default icon for all locations that have no icon set (optional)" -msgstr "Ícone padrão para todos os locais que não tem um ícone (opcional)" +msgstr "" #: stock/models.py:125 stock/models.py:787 #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" -msgstr "Localização do estoque" +msgstr "" #: stock/models.py:126 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 "Locais de estoque" +msgstr "" #: stock/models.py:168 stock/models.py:948 #: stock/templates/stock/item_base.html:247 msgid "Owner" -msgstr "Responsavel" +msgstr "" #: stock/models.py:169 stock/models.py:949 msgid "Select Owner" -msgstr "Selecionar Responsável" +msgstr "" #: stock/models.py:177 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." -msgstr "Os itens de estoque podem não estar diretamente localizados em um local de estoque estrutural, mas podem ser localizados em locais filhos." +msgstr "" #: stock/models.py:184 templates/js/translated/stock.js:2781 #: templates/js/translated/table_filters.js:243 msgid "External" -msgstr "Externo" +msgstr "" #: stock/models.py:185 msgid "This is an external stock location" -msgstr "Esta é uma localização de estoque externo" +msgstr "" #: stock/models.py:191 templates/js/translated/stock.js:2790 #: templates/js/translated/table_filters.js:246 msgid "Location type" -msgstr "Tipo de localização" +msgstr "" #: stock/models.py:195 msgid "Stock location type of this location" -msgstr "Tipo de Local de Estoque para esta locação" +msgstr "" #: stock/models.py:262 msgid "You cannot make this stock location structural because some stock items are already located into it!" -msgstr "Você não pode tornar este local do estoque estrutural, pois alguns itens de estoque já estão localizados nele!" +msgstr "" #: stock/models.py:642 msgid "Stock items cannot be located into structural stock locations!" -msgstr "Os itens de estoque não podem estar localizados em locais de estoque estrutural!" +msgstr "" #: stock/models.py:669 stock/serializers.py:477 msgid "Stock item cannot be created for virtual parts" -msgstr "Item de estoque não pode ser criado para peças virtuais" +msgstr "" #: stock/models.py:686 #, python-brace-format msgid "Part type ('{self.supplier_part.part}') must be {self.part}" -msgstr "Tipo de peça('{self.supplier_part.part}') deve ser {self.part}" +msgstr "" #: stock/models.py:696 stock/models.py:709 msgid "Quantity must be 1 for item with a serial number" -msgstr "A quantidade deve ser 1 para um item com número de série" +msgstr "" #: stock/models.py:699 msgid "Serial number cannot be set if quantity greater than 1" -msgstr "Número de série não pode ser definido se quantidade maior que 1" +msgstr "" #: stock/models.py:723 msgid "Item cannot belong to itself" -msgstr "O item não pode pertencer a si mesmo" +msgstr "" #: stock/models.py:728 msgid "Item must have a build reference if is_building=True" -msgstr "Item deve ter uma referência de produção se is_building=True" +msgstr "" #: stock/models.py:741 msgid "Build reference does not point to the same part object" -msgstr "Referência de produção não aponta ao mesmo objeto da peça" +msgstr "" #: stock/models.py:757 msgid "Parent Stock Item" -msgstr "Item de Estoque Parental" +msgstr "" #: stock/models.py:769 msgid "Base part" -msgstr "Peça base" +msgstr "" #: stock/models.py:779 msgid "Select a matching supplier part for this stock item" -msgstr "Selecione uma peça do fornecedor correspondente para este item de estoque" +msgstr "" #: stock/models.py:791 msgid "Where is this stock item located?" -msgstr "Onde está localizado este item de estoque?" +msgstr "" #: stock/models.py:799 stock/serializers.py:1542 msgid "Packaging this stock item is stored in" -msgstr "Embalagem deste item de estoque está armazenado em" +msgstr "" #: stock/models.py:810 msgid "Is this item installed in another item?" -msgstr "Este item está instalado em outro item?" +msgstr "" #: stock/models.py:829 msgid "Serial number for this item" -msgstr "Número de série para este item" +msgstr "" #: stock/models.py:843 stock/serializers.py:1525 msgid "Batch code for this stock item" -msgstr "Código do lote para este item de estoque" +msgstr "" #: stock/models.py:848 msgid "Stock Quantity" -msgstr "Quantidade de Estoque" +msgstr "" #: stock/models.py:858 msgid "Source Build" -msgstr "Produção de Origem" +msgstr "" #: stock/models.py:861 msgid "Build for this stock item" -msgstr "Produção para este item de estoque" +msgstr "" #: stock/models.py:868 stock/templates/stock/item_base.html:363 msgid "Consumed By" -msgstr "Consumido por" +msgstr "" #: stock/models.py:871 msgid "Build order which consumed this stock item" -msgstr "Pedido de produção que consumiu este item de estoque" +msgstr "" #: stock/models.py:880 msgid "Source Purchase Order" -msgstr "Pedido de compra Fonte" +msgstr "" #: stock/models.py:884 msgid "Purchase order for this stock item" -msgstr "Pedido de Compra para este item de estoque" +msgstr "" #: stock/models.py:890 msgid "Destination Sales Order" -msgstr "Destino do Pedido de Venda" +msgstr "" #: stock/models.py:901 msgid "Expiry date for stock item. Stock will be considered expired after this date" -msgstr "Data de validade para o item de estoque. Estoque será considerado expirado após este dia" +msgstr "" #: stock/models.py:919 msgid "Delete on deplete" -msgstr "Excluir quando esgotado" +msgstr "" #: stock/models.py:920 msgid "Delete this Stock Item when stock is depleted" -msgstr "Excluir este item de estoque quando o estoque for esgotado" +msgstr "" #: stock/models.py:940 msgid "Single unit purchase price at time of purchase" -msgstr "Preço de compra unitário único no momento da compra" +msgstr "" #: stock/models.py:971 msgid "Converted to part" -msgstr "Convertido para peça" +msgstr "" #: stock/models.py:1487 msgid "Part is not set as trackable" -msgstr "Peça não está definida como rastreável" +msgstr "" #: stock/models.py:1493 msgid "Quantity must be integer" -msgstr "Quantidade deve ser inteira" +msgstr "" #: stock/models.py:1501 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" -msgstr "Quantidade não deve exceder a quantidade em estoque ({self.quantity})" +msgstr "" #: stock/models.py:1507 msgid "Serial numbers must be a list of integers" -msgstr "Números de série devem ser uma lista de números inteiros" +msgstr "" #: stock/models.py:1512 msgid "Quantity does not match serial numbers" -msgstr "A quantidade não corresponde aos números de série" +msgstr "" #: stock/models.py:1520 stock/serializers.py:718 msgid "Serial numbers already exist" -msgstr "Números de série já existem" +msgstr "" #: stock/models.py:1617 msgid "Test template does not exist" @@ -9427,47 +9427,47 @@ msgstr "" #: stock/models.py:1635 msgid "Stock item has been assigned to a sales order" -msgstr "Item em estoque foi reservado para um pedido" +msgstr "" #: stock/models.py:1639 msgid "Stock item is installed in another item" -msgstr "Item em estoque está instalado em outro item" +msgstr "" #: stock/models.py:1642 msgid "Stock item contains other items" -msgstr "item em estoque contem outro(s) items" +msgstr "" #: stock/models.py:1645 msgid "Stock item has been assigned to a customer" -msgstr "Item em estoque foi reservado para outro cliente" +msgstr "" #: stock/models.py:1648 msgid "Stock item is currently in production" -msgstr "Item no estoque está em produção no momento" +msgstr "" #: stock/models.py:1651 msgid "Serialized stock cannot be merged" -msgstr "Itens de série não podem ser mesclados" +msgstr "" #: stock/models.py:1658 stock/serializers.py:1431 msgid "Duplicate stock items" -msgstr "Item de estoque duplicado" +msgstr "" #: stock/models.py:1662 msgid "Stock items must refer to the same part" -msgstr "Itens de estoque devem se referir à mesma peça" +msgstr "" #: stock/models.py:1670 msgid "Stock items must refer to the same supplier part" -msgstr "Itens de estoque devem se referir à mesma peça do fornecedor" +msgstr "" #: stock/models.py:1675 msgid "Stock status codes must match" -msgstr "Códigos de estado do estoque devem corresponder" +msgstr "" #: stock/models.py:1936 msgid "StockItem cannot be moved as it is not in stock" -msgstr "Item do estoque não pode ser realocado se não houver estoque da mesma" +msgstr "" #: stock/models.py:2317 msgid "Stock Item Tracking" @@ -9475,7 +9475,7 @@ msgstr "" #: stock/models.py:2350 msgid "Entry notes" -msgstr "Observações de entrada" +msgstr "" #: stock/models.py:2390 msgid "Stock Item Test Result" @@ -9483,11 +9483,11 @@ msgstr "" #: stock/models.py:2423 msgid "Value must be provided for this test" -msgstr "Deve-se fornecer o valor desse teste" +msgstr "" #: stock/models.py:2428 msgid "Attachment must be uploaded for this test" -msgstr "O anexo deve ser enviado para este teste" +msgstr "" #: stock/models.py:2433 msgid "Invalid value for this test" @@ -9495,19 +9495,19 @@ msgstr "" #: stock/models.py:2457 msgid "Test result" -msgstr "Resultado do teste" +msgstr "" #: stock/models.py:2464 msgid "Test output value" -msgstr "Valor da saída do teste" +msgstr "" #: stock/models.py:2472 msgid "Test result attachment" -msgstr "Anexo do resultado do teste" +msgstr "" #: stock/models.py:2476 msgid "Test notes" -msgstr "Notas do teste" +msgstr "" #: stock/models.py:2484 templates/js/translated/stock.js:1548 msgid "Test station" @@ -9587,11 +9587,11 @@ msgstr "" #: stock/serializers.py:320 msgid "Serial number is too large" -msgstr "Número de série é muito grande" +msgstr "" #: stock/serializers.py:449 stock/templates/stock/item_base.html:193 msgid "Parent Item" -msgstr "Item Primário" +msgstr "" #: stock/serializers.py:450 msgid "Parent stock item" @@ -9599,21 +9599,21 @@ msgstr "" #: stock/serializers.py:469 msgid "Use pack size when adding: the quantity defined is the number of packs" -msgstr "Usar tamanho do pacote ao adicionar: a quantidade definida é o número de pacotes" +msgstr "" #: stock/serializers.py:585 templates/js/translated/build.js:991 #: templates/js/translated/build.js:2344 msgid "Allocated Quantity" -msgstr "Quantidade Alocada" +msgstr "" #: stock/serializers.py:588 stock/templates/stock/item_base.html:437 #: templates/js/translated/table_filters.js:435 users/models.py:174 msgid "Expired" -msgstr "Expirado" +msgstr "" #: stock/serializers.py:594 stock/templates/stock/stock_sidebar.html:20 msgid "Child Items" -msgstr "Itens Filhos" +msgstr "" #: stock/serializers.py:598 msgid "Tracking Items" @@ -9621,7 +9621,7 @@ msgstr "" #: stock/serializers.py:604 msgid "Purchase price of this stock item, per unit or pack" -msgstr "Preço de compra para este item de estoque, por unidade ou pacote" +msgstr "" #: stock/serializers.py:623 msgid "Minimum Pricing" @@ -9633,96 +9633,96 @@ msgstr "" #: stock/serializers.py:653 msgid "Enter number of stock items to serialize" -msgstr "Insira o número de itens de estoque para serializar" +msgstr "" #: stock/serializers.py:666 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" -msgstr "Quantidade não deve exceder a quantidade disponível em estoque ({q})" +msgstr "" #: stock/serializers.py:673 msgid "Enter serial numbers for new items" -msgstr "Inserir número de série para novos itens" +msgstr "" #: stock/serializers.py:684 stock/serializers.py:1388 stock/serializers.py:1644 msgid "Destination stock location" -msgstr "Local de destino do estoque" +msgstr "" #: stock/serializers.py:691 msgid "Optional note field" -msgstr "Campo opcional de notas" +msgstr "" #: stock/serializers.py:701 msgid "Serial numbers cannot be assigned to this part" -msgstr "Números de série não podem ser atribuídos a esta peça" +msgstr "" #: stock/serializers.py:756 msgid "Select stock item to install" -msgstr "Selecione o item de estoque para instalar" +msgstr "" #: stock/serializers.py:763 msgid "Quantity to Install" -msgstr "Quantidade a Instalar" +msgstr "" #: stock/serializers.py:764 msgid "Enter the quantity of items to install" -msgstr "Insira a quantidade de itens a instalar" +msgstr "" #: stock/serializers.py:769 stock/serializers.py:849 stock/serializers.py:945 #: stock/serializers.py:995 msgid "Add transaction note (optional)" -msgstr "Adicionar nota de transação (opcional)" +msgstr "" #: stock/serializers.py:777 msgid "Quantity to install must be at least 1" -msgstr "A quantidade para instalar deve ser pelo menos 1" +msgstr "" #: stock/serializers.py:785 msgid "Stock item is unavailable" -msgstr "Item de estoque indisponível" +msgstr "" #: stock/serializers.py:796 msgid "Selected part is not in the Bill of Materials" -msgstr "Peça selecionada não está na Lista de Materiais" +msgstr "" #: stock/serializers.py:809 msgid "Quantity to install must not exceed available quantity" -msgstr "Quantidade a instalar não deve exceder a quantidade disponível" +msgstr "" #: stock/serializers.py:844 msgid "Destination location for uninstalled item" -msgstr "Local de destino para o item desinstalado" +msgstr "" #: stock/serializers.py:879 msgid "Select part to convert stock item into" -msgstr "Selecione peça para converter o item de estoque em" +msgstr "" #: stock/serializers.py:892 msgid "Selected part is not a valid option for conversion" -msgstr "Peça selecionada não é uma opção válida para conversão" +msgstr "" #: stock/serializers.py:909 msgid "Cannot convert stock item with assigned SupplierPart" -msgstr "Não é possível converter o item de estoque com a Peça de Fornecedor atribuída" +msgstr "" #: stock/serializers.py:940 msgid "Destination location for returned item" -msgstr "Local de destino para item retornado" +msgstr "" #: stock/serializers.py:977 msgid "Select stock items to change status" -msgstr "Selecionar itens de estoque para mudar estados" +msgstr "" #: stock/serializers.py:983 msgid "No stock items selected" -msgstr "Nenhum item de estoque selecionado" +msgstr "" #: stock/serializers.py:1079 stock/serializers.py:1156 #: stock/templates/stock/location.html:165 #: stock/templates/stock/location.html:222 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" -msgstr "Sub-locais" +msgstr "" #: stock/serializers.py:1149 templates/js/translated/stock.js:152 msgid "Parent stock location" @@ -9730,55 +9730,55 @@ msgstr "" #: stock/serializers.py:1260 msgid "Part must be salable" -msgstr "Parte deve ser comercializável" +msgstr "" #: stock/serializers.py:1264 msgid "Item is allocated to a sales order" -msgstr "Item é alocado para um pedido de venda" +msgstr "" #: stock/serializers.py:1268 msgid "Item is allocated to a build order" -msgstr "Item está alocado a um pedido de produção" +msgstr "" #: stock/serializers.py:1292 msgid "Customer to assign stock items" -msgstr "Cliente para atribuir itens de estoque" +msgstr "" #: stock/serializers.py:1298 msgid "Selected company is not a customer" -msgstr "A empresa selecionada não é um cliente" +msgstr "" #: stock/serializers.py:1306 msgid "Stock assignment notes" -msgstr "Nodas atribuídas a estoque" +msgstr "" #: stock/serializers.py:1316 stock/serializers.py:1570 msgid "A list of stock items must be provided" -msgstr "Uma lista de item de estoque deve ser providenciada" +msgstr "" #: stock/serializers.py:1395 msgid "Stock merging notes" -msgstr "Notas de fusão de estoque" +msgstr "" #: stock/serializers.py:1400 msgid "Allow mismatched suppliers" -msgstr "Permitir fornecedores divergentes" +msgstr "" #: stock/serializers.py:1401 msgid "Allow stock items with different supplier parts to be merged" -msgstr "Permitir a fusão de itens de estoque de fornecedores diferentes" +msgstr "" #: stock/serializers.py:1406 msgid "Allow mismatched status" -msgstr "Permitir estado incompatível" +msgstr "" #: stock/serializers.py:1407 msgid "Allow stock items with different status codes to be merged" -msgstr "Permitir a fusão de itens de estoque com estado diferentes" +msgstr "" #: stock/serializers.py:1417 msgid "At least two stock items must be provided" -msgstr "Ao menos dois itens de estoque devem ser providenciados" +msgstr "" #: stock/serializers.py:1484 msgid "No Change" @@ -9786,15 +9786,15 @@ msgstr "" #: stock/serializers.py:1513 msgid "StockItem primary key value" -msgstr "Valor da chave primária do Item Estoque" +msgstr "" #: stock/serializers.py:1532 msgid "Stock item status code" -msgstr "Código de estado do item estoque" +msgstr "" #: stock/serializers.py:1560 msgid "Stock transaction notes" -msgstr "Notas da transação de estoque" +msgstr "" #: stock/status_codes.py:11 msgid "OK" @@ -9802,445 +9802,445 @@ msgstr "" #: stock/status_codes.py:12 msgid "Attention needed" -msgstr "Necessita de atenção" +msgstr "" #: stock/status_codes.py:13 msgid "Damaged" -msgstr "Danificado" +msgstr "" #: stock/status_codes.py:14 msgid "Destroyed" -msgstr "Destruído" +msgstr "" #: stock/status_codes.py:15 msgid "Rejected" -msgstr "Rejeitado" +msgstr "" #: stock/status_codes.py:19 msgid "Quarantined" -msgstr "Em quarentena" +msgstr "" #: stock/status_codes.py:40 msgid "Legacy stock tracking entry" -msgstr "Entrada de rastreamento de estoque antiga" +msgstr "" #: stock/status_codes.py:42 templates/js/translated/stock.js:544 msgid "Stock item created" -msgstr "Item de estoque criado" +msgstr "" #: stock/status_codes.py:45 msgid "Edited stock item" -msgstr "Item de estoque editado" +msgstr "" #: stock/status_codes.py:46 msgid "Assigned serial number" -msgstr "Número de série atribuído" +msgstr "" #: stock/status_codes.py:49 msgid "Stock counted" -msgstr "Estoque contado" +msgstr "" #: stock/status_codes.py:50 msgid "Stock manually added" -msgstr "Estoque adicionado manualmente" +msgstr "" #: stock/status_codes.py:51 msgid "Stock manually removed" -msgstr "Estoque removido manualmente" +msgstr "" #: stock/status_codes.py:54 msgid "Location changed" -msgstr "Local alterado" +msgstr "" #: stock/status_codes.py:55 msgid "Stock updated" -msgstr "Estoque atualizado" +msgstr "" #: stock/status_codes.py:58 msgid "Installed into assembly" -msgstr "Instalado na montagem" +msgstr "" #: stock/status_codes.py:59 msgid "Removed from assembly" -msgstr "Removido da montagem" +msgstr "" #: stock/status_codes.py:61 msgid "Installed component item" -msgstr "Instalado componente do Item" +msgstr "" #: stock/status_codes.py:62 msgid "Removed component item" -msgstr "Removido componente do Item" +msgstr "" #: stock/status_codes.py:65 msgid "Split from parent item" -msgstr "Separado do Item Paternal" +msgstr "" #: stock/status_codes.py:66 msgid "Split child item" -msgstr "Separar o Item filho" +msgstr "" #: stock/status_codes.py:69 templates/js/translated/stock.js:1858 msgid "Merged stock items" -msgstr "Itens de estoque mesclados" +msgstr "" #: stock/status_codes.py:72 msgid "Converted to variant" -msgstr "Convertido para variável" +msgstr "" #: stock/status_codes.py:75 msgid "Build order output created" -msgstr "Criação dos pedidos de produção criado" +msgstr "" #: stock/status_codes.py:76 msgid "Build order output completed" -msgstr "Criação do pedido de produção completado" +msgstr "" #: stock/status_codes.py:77 msgid "Build order output rejected" -msgstr "Saída do pedido de produção rejeitada" +msgstr "" #: stock/status_codes.py:78 templates/js/translated/stock.js:1764 msgid "Consumed by build order" -msgstr "Usado no pedido de produção" +msgstr "" #: stock/status_codes.py:81 msgid "Shipped against Sales Order" -msgstr "Enviado contra o Pedido de Venda" +msgstr "" #: stock/status_codes.py:84 msgid "Received against Purchase Order" -msgstr "Recebido referente ao Pedido de Compra" +msgstr "" #: stock/status_codes.py:87 msgid "Returned against Return Order" -msgstr "Devolvido contra Pedido de Retorno" +msgstr "" #: stock/status_codes.py:90 templates/js/translated/table_filters.js:375 msgid "Sent to customer" -msgstr "Enviado ao cliente" +msgstr "" #: stock/status_codes.py:91 msgid "Returned from customer" -msgstr "Devolvido pelo cliente" +msgstr "" #: stock/templates/stock/item.html:17 msgid "Stock Tracking Information" -msgstr "Informações de Rastrrio de Estoque" +msgstr "" #: stock/templates/stock/item.html:63 msgid "Child Stock Items" -msgstr "Itens de Estoque Filhos" +msgstr "" #: stock/templates/stock/item.html:72 msgid "This stock item does not have any child items" -msgstr "Este item de estoque não possuí nenhum filho" +msgstr "" #: stock/templates/stock/item.html:81 #: stock/templates/stock/stock_sidebar.html:12 msgid "Test Data" -msgstr "Dados de teste" +msgstr "" #: stock/templates/stock/item.html:85 stock/templates/stock/item_base.html:65 msgid "Test Report" -msgstr "Relatório do teste" +msgstr "" #: stock/templates/stock/item.html:89 stock/templates/stock/item.html:276 msgid "Delete Test Data" -msgstr "Excluir dados de teste" +msgstr "" #: stock/templates/stock/item.html:93 msgid "Add Test Data" -msgstr "Adicionar dados de teste" +msgstr "" #: stock/templates/stock/item.html:125 msgid "Stock Item Notes" -msgstr "Notas de Item Estoque" +msgstr "" #: stock/templates/stock/item.html:140 msgid "Installed Stock Items" -msgstr "Itens de Estoque Instalados" +msgstr "" #: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3271 msgid "Install Stock Item" -msgstr "Instalar Item de Estoque" +msgstr "" #: stock/templates/stock/item.html:264 msgid "Delete all test results for this stock item" -msgstr "Excluir todos os resultados de teste deste item de estoque" +msgstr "" #: stock/templates/stock/item.html:294 templates/js/translated/stock.js:1701 msgid "Add Test Result" -msgstr "Adicionar Resultado de Teste" +msgstr "" #: stock/templates/stock/item_base.html:33 msgid "Locate stock item" -msgstr "Localizar item de estoque" +msgstr "" #: stock/templates/stock/item_base.html:51 msgid "Scan to Location" -msgstr "Escanear a Localização" +msgstr "" #: stock/templates/stock/item_base.html:59 #: stock/templates/stock/location.html:70 #: templates/js/translated/filters.js:431 msgid "Printing actions" -msgstr "Ações de Impressão" +msgstr "" #: stock/templates/stock/item_base.html:75 msgid "Stock adjustment actions" -msgstr "Ações de ajuste de estoque" +msgstr "" #: stock/templates/stock/item_base.html:79 #: stock/templates/stock/location.html:90 templates/js/translated/stock.js:1824 msgid "Count stock" -msgstr "Contagem de estoque" +msgstr "" #: stock/templates/stock/item_base.html:81 #: templates/js/translated/stock.js:1806 msgid "Add stock" -msgstr "Adicionar estoque" +msgstr "" #: stock/templates/stock/item_base.html:82 #: templates/js/translated/stock.js:1815 msgid "Remove stock" -msgstr "Remover estoque" +msgstr "" #: stock/templates/stock/item_base.html:85 msgid "Serialize stock" -msgstr "Serializar estoque" +msgstr "" #: stock/templates/stock/item_base.html:88 #: stock/templates/stock/location.html:96 templates/js/translated/stock.js:1833 msgid "Transfer stock" -msgstr "Transferir estoque" +msgstr "" #: stock/templates/stock/item_base.html:91 #: templates/js/translated/stock.js:1887 msgid "Assign to customer" -msgstr "Disponibilizar para o cliente" +msgstr "" #: stock/templates/stock/item_base.html:94 msgid "Return to stock" -msgstr "Devolver ao estoque" +msgstr "" #: stock/templates/stock/item_base.html:97 msgid "Uninstall stock item" -msgstr "Desinstalar o item do estoque" +msgstr "" #: stock/templates/stock/item_base.html:97 msgid "Uninstall" -msgstr "Desinstalar" +msgstr "" #: stock/templates/stock/item_base.html:101 msgid "Install stock item" -msgstr "Instalar item do estoque" +msgstr "" #: stock/templates/stock/item_base.html:101 msgid "Install" -msgstr "Instalar" +msgstr "" #: stock/templates/stock/item_base.html:115 msgid "Convert to variant" -msgstr "Converter em variante" +msgstr "" #: stock/templates/stock/item_base.html:118 msgid "Duplicate stock item" -msgstr "Duplicar item" +msgstr "" #: stock/templates/stock/item_base.html:120 msgid "Edit stock item" -msgstr "Editar item de estoque" +msgstr "" #: stock/templates/stock/item_base.html:123 msgid "Delete stock item" -msgstr "Excluir item de estoque" +msgstr "" #: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 #: templates/js/translated/build.js:2123 templates/navbar.html:38 msgid "Build" -msgstr "Produção" +msgstr "" #: stock/templates/stock/item_base.html:211 msgid "No manufacturer set" -msgstr "Nenhum fabricante definido" +msgstr "" #: stock/templates/stock/item_base.html:251 msgid "You are not in the list of owners of this item. This stock item cannot be edited." -msgstr "Você não está autorizado a editar esse item." +msgstr "" #: stock/templates/stock/item_base.html:252 #: stock/templates/stock/location.html:149 msgid "Read only" -msgstr "Somente leitura" +msgstr "" #: stock/templates/stock/item_base.html:265 msgid "This stock item is unavailable" -msgstr "Este item não está disponível no estoque" +msgstr "" #: stock/templates/stock/item_base.html:271 msgid "This stock item is in production and cannot be edited." -msgstr "Este item de estoque está em produção e não pode ser editado." +msgstr "" #: stock/templates/stock/item_base.html:272 msgid "Edit the stock item from the build view." -msgstr "Edite este item usando o formulário de construçao." +msgstr "" #: stock/templates/stock/item_base.html:287 msgid "This stock item is allocated to Sales Order" -msgstr "Este item de estoque está alocado a um pedido de venda" +msgstr "" #: stock/templates/stock/item_base.html:295 msgid "This stock item is allocated to Build Order" -msgstr "Este item de estoque está alocado a um pedido de produção" +msgstr "" #: stock/templates/stock/item_base.html:311 msgid "This stock item is serialized. It has a unique serial number and the quantity cannot be adjusted" -msgstr "Este item de estoque é serializado. Tem um único número de série e a quantidade não pode ser ajustada" +msgstr "" #: stock/templates/stock/item_base.html:317 msgid "previous page" -msgstr "página anterior" +msgstr "" #: stock/templates/stock/item_base.html:317 msgid "Navigate to previous serial number" -msgstr "Navegar para o número de série anterior" +msgstr "" #: stock/templates/stock/item_base.html:326 msgid "next page" -msgstr "próxima página" +msgstr "" #: stock/templates/stock/item_base.html:326 msgid "Navigate to next serial number" -msgstr "Navegar para o próximo número de série" +msgstr "" #: stock/templates/stock/item_base.html:340 msgid "Available Quantity" -msgstr "Quantidade Disponível" +msgstr "" #: stock/templates/stock/item_base.html:398 #: templates/js/translated/build.js:2380 msgid "No location set" -msgstr "Nenhum local definido" +msgstr "" #: stock/templates/stock/item_base.html:413 msgid "Tests" -msgstr "Testes" +msgstr "" #: stock/templates/stock/item_base.html:419 msgid "This stock item has not passed all required tests" -msgstr "Este item de estoque não passou todos os testes necessários" +msgstr "" #: stock/templates/stock/item_base.html:437 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" -msgstr "Este Item do Estoque expirou em %(item.expiry_date)s" +msgstr "" #: stock/templates/stock/item_base.html:439 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" -msgstr "Este Item do Estoque expira em %(item.expiry_date)s" +msgstr "" #: stock/templates/stock/item_base.html:455 msgid "No stocktake performed" -msgstr "Nenhum balanço feito" +msgstr "" #: stock/templates/stock/item_base.html:504 #: templates/js/translated/stock.js:1952 msgid "stock item" -msgstr "item de estoque" +msgstr "" #: stock/templates/stock/item_base.html:527 msgid "Edit Stock Status" -msgstr "Editar Situação do Estoque" +msgstr "" #: stock/templates/stock/item_base.html:536 msgid "Stock Item QR Code" -msgstr "QR Code do Item de Estoque" +msgstr "" #: stock/templates/stock/item_base.html:547 msgid "Link Barcode to Stock Item" -msgstr "Vincular Código de barras ao item de estoque" +msgstr "" #: stock/templates/stock/item_base.html:611 msgid "Select one of the part variants listed below." -msgstr "Selecione uma das peças variantes listada abaixo." +msgstr "" #: stock/templates/stock/item_base.html:614 msgid "Warning" -msgstr "Atenção" +msgstr "" #: stock/templates/stock/item_base.html:615 msgid "This action cannot be easily undone" -msgstr "Esta ação não pode ser facilmente desfeita" +msgstr "" #: stock/templates/stock/item_base.html:623 msgid "Convert Stock Item" -msgstr "Converter Item de Estoque" +msgstr "" #: stock/templates/stock/item_base.html:657 msgid "Return to Stock" -msgstr "Retornar ao Estoque" +msgstr "" #: stock/templates/stock/item_serialize.html:5 msgid "Create serialized items from this stock item." -msgstr "Criar itens serializados deste item de estoque." +msgstr "" #: stock/templates/stock/item_serialize.html:7 msgid "Select quantity to serialize, and unique serial numbers." -msgstr "Selecione a quantidade para serializar e números de série único." +msgstr "" #: stock/templates/stock/location.html:38 msgid "Perform stocktake for this stock location" -msgstr "Fazer balanço para o estoque deste local" +msgstr "" #: stock/templates/stock/location.html:45 msgid "Locate stock location" -msgstr "Localizar o local de estoque" +msgstr "" #: stock/templates/stock/location.html:63 msgid "Scan stock items into this location" -msgstr "Buscar itens de estoque neste local" +msgstr "" #: stock/templates/stock/location.html:63 msgid "Scan In Stock Items" -msgstr "Buscar nos Itens de Estoque" +msgstr "" #: stock/templates/stock/location.html:64 msgid "Scan stock container into this location" -msgstr "Buscar recipiente do estoque neste local" +msgstr "" #: stock/templates/stock/location.html:64 msgid "Scan In Container" -msgstr "Buscar no recipiente" +msgstr "" #: stock/templates/stock/location.html:75 msgid "Print Location Report" -msgstr "Imprimir Relatório da Localização" +msgstr "" #: stock/templates/stock/location.html:104 msgid "Location actions" -msgstr "Ações de Locais" +msgstr "" #: stock/templates/stock/location.html:106 msgid "Edit location" -msgstr "Editar Local" +msgstr "" #: stock/templates/stock/location.html:108 msgid "Delete location" -msgstr "Excluir Local" +msgstr "" #: stock/templates/stock/location.html:138 msgid "Top level stock location" -msgstr "Local de estoque de alto nível" +msgstr "" #: stock/templates/stock/location.html:144 msgid "Location Owner" -msgstr "Dono do Local" +msgstr "" #: stock/templates/stock/location.html:148 msgid "You are not in the list of owners of this location. This stock location cannot be edited." -msgstr "Você não está na lista de donos deste local. Este local de estoque não pode ser editado." +msgstr "" #: stock/templates/stock/location.html:176 msgid "Location Type" @@ -10248,260 +10248,260 @@ msgstr "" #: stock/templates/stock/location.html:226 msgid "Create new stock location" -msgstr "Criar novo local de estoque" +msgstr "" #: stock/templates/stock/location.html:227 msgid "New Location" -msgstr "Novo local" +msgstr "" #: stock/templates/stock/location.html:299 #: templates/js/translated/stock.js:2572 msgid "stock location" -msgstr "local de estoque" +msgstr "" #: stock/templates/stock/location.html:321 msgid "Scanned stock container into this location" -msgstr "Escaneado o recipiente de estoque neste local" +msgstr "" #: stock/templates/stock/location.html:394 msgid "Stock Location QR Code" -msgstr "Código QR do Local de Estoque" +msgstr "" #: stock/templates/stock/location.html:405 msgid "Link Barcode to Stock Location" -msgstr "Ligar Código de barras ao Local de Estoque" +msgstr "" #: stock/templates/stock/stock_app_base.html:16 msgid "Loading..." -msgstr "Carregando..." +msgstr "" #: stock/templates/stock/stock_sidebar.html:5 msgid "Stock Tracking" -msgstr "Rastreamento de estoque" +msgstr "" #: stock/templates/stock/stock_sidebar.html:8 msgid "Allocations" -msgstr "Alocações" +msgstr "" #: templates/403.html:6 templates/403.html:12 templates/403_csrf.html:7 msgid "Permission Denied" -msgstr "Permissão Negada" +msgstr "" #: templates/403.html:15 msgid "You do not have permission to view this page." -msgstr "Você não tem permissão para visualizar esta página." +msgstr "" #: templates/403_csrf.html:11 msgid "Authentication Failure" -msgstr "Falha na Autenticação" +msgstr "" #: templates/403_csrf.html:14 msgid "You have been logged out from InvenTree." -msgstr "Você foi desconectado do InvenTree." +msgstr "" #: templates/403_csrf.html:19 templates/InvenTree/settings/sidebar.html:29 #: templates/navbar.html:150 msgid "Login" -msgstr "Iniciar sessão" +msgstr "" #: templates/404.html:6 templates/404.html:12 msgid "Page Not Found" -msgstr "Página não encontrada" +msgstr "" #: templates/404.html:15 msgid "The requested page does not exist" -msgstr "A página solicitada não existe" +msgstr "" #: templates/500.html:6 templates/500.html:12 msgid "Internal Server Error" -msgstr "Erro interno do servidor" +msgstr "" #: templates/500.html:15 #, python-format msgid "The %(inventree_title)s server raised an internal error" -msgstr "O servidor %(inventree_title)s gerou um erro interno" +msgstr "" #: templates/500.html:16 msgid "Refer to the error log in the admin interface for further details" -msgstr "Consulte o login de erro na interface admin para mais detalhes" +msgstr "" #: templates/503.html:11 templates/503.html:33 msgid "Site is in Maintenance" -msgstr "Site está em Manutenção" +msgstr "" #: templates/503.html:39 msgid "The site is currently in maintenance and should be up again soon!" -msgstr "O site está atualmente em manutenção e estará de volta em breve!" +msgstr "" #: templates/InvenTree/index.html:7 msgid "Index" -msgstr "Índice" +msgstr "" #: templates/InvenTree/index.html:39 msgid "Subscribed Parts" -msgstr "Peças Inscritas" +msgstr "" #: templates/InvenTree/index.html:52 msgid "Subscribed Categories" -msgstr "Categorias Inscritas" +msgstr "" #: templates/InvenTree/index.html:62 msgid "Latest Parts" -msgstr "Peças Recentes" +msgstr "" #: templates/InvenTree/index.html:77 msgid "BOM Waiting Validation" -msgstr "BOM Aguardando Validação" +msgstr "" #: templates/InvenTree/index.html:106 msgid "Recently Updated" -msgstr "Atualizados Recentemente" +msgstr "" #: templates/InvenTree/index.html:134 msgid "Depleted Stock" -msgstr "Estoque Esgotado" +msgstr "" #: templates/InvenTree/index.html:148 msgid "Required for Build Orders" -msgstr "Necessário para pedidos de produção" +msgstr "" #: templates/InvenTree/index.html:156 msgid "Expired Stock" -msgstr "Estoque Expirado" +msgstr "" #: templates/InvenTree/index.html:172 msgid "Stale Stock" -msgstr "Estoque Parado" +msgstr "" #: templates/InvenTree/index.html:199 msgid "Build Orders In Progress" -msgstr "Pedido de Produção em Progresso" +msgstr "" #: templates/InvenTree/index.html:210 msgid "Overdue Build Orders" -msgstr "Pedido de Produção Vencido" +msgstr "" #: templates/InvenTree/index.html:230 msgid "Outstanding Purchase Orders" -msgstr "Pedidos de Compra Pendentes" +msgstr "" #: templates/InvenTree/index.html:241 msgid "Overdue Purchase Orders" -msgstr "Pedidos de Compra Vencidos" +msgstr "" #: templates/InvenTree/index.html:262 msgid "Outstanding Sales Orders" -msgstr "Pedidos de Venda Pendentes" +msgstr "" #: templates/InvenTree/index.html:273 msgid "Overdue Sales Orders" -msgstr "Pedidos de Venda Vencidos" +msgstr "" #: templates/InvenTree/index.html:299 msgid "InvenTree News" -msgstr "Notícias do InvenTree" +msgstr "" #: templates/InvenTree/index.html:301 msgid "Current News" -msgstr "Notícias Atuais" +msgstr "" #: templates/InvenTree/notifications/history.html:9 msgid "Notification History" -msgstr "Histórico de Notificações" +msgstr "" #: templates/InvenTree/notifications/history.html:13 #: templates/InvenTree/notifications/history.html:14 #: templates/InvenTree/notifications/notifications.html:75 msgid "Delete Notifications" -msgstr "Apagar notificações" +msgstr "" #: templates/InvenTree/notifications/inbox.html:9 msgid "Pending Notifications" -msgstr "Notificações Pendentes" +msgstr "" #: templates/InvenTree/notifications/inbox.html:13 #: templates/InvenTree/notifications/inbox.html:14 msgid "Mark all as read" -msgstr "Marcar tudo como lido" +msgstr "" #: templates/InvenTree/notifications/notifications.html:10 #: templates/InvenTree/notifications/sidebar.html:5 #: templates/InvenTree/settings/sidebar.html:17 #: templates/InvenTree/settings/sidebar.html:37 templates/notifications.html:5 msgid "Notifications" -msgstr "Notificações" +msgstr "" #: templates/InvenTree/notifications/notifications.html:38 msgid "No unread notifications found" -msgstr "Nenhuma notificação pendente encontrada" +msgstr "" #: templates/InvenTree/notifications/notifications.html:58 msgid "No notification history found" -msgstr "Sem histórico de notificação encontrado" +msgstr "" #: templates/InvenTree/notifications/notifications.html:65 msgid "Delete all read notifications" -msgstr "Excluir todas as notificações lidas" +msgstr "" #: templates/InvenTree/notifications/notifications.html:89 #: templates/js/translated/notification.js:85 msgid "Delete Notification" -msgstr "Apagar Notificação" +msgstr "" #: templates/InvenTree/notifications/sidebar.html:8 msgid "Inbox" -msgstr "Caixa de entrada" +msgstr "" #: templates/InvenTree/notifications/sidebar.html:10 msgid "History" -msgstr "Histórico" +msgstr "" #: templates/InvenTree/search.html:8 msgid "Search Results" -msgstr "Resultados da busca" +msgstr "" #: templates/InvenTree/settings/barcode.html:8 msgid "Barcode Settings" -msgstr "Definições do código de barras" +msgstr "" #: templates/InvenTree/settings/build.html:8 msgid "Build Order Settings" -msgstr "Configurações do Pedido de Produção" +msgstr "" #: templates/InvenTree/settings/category.html:7 msgid "Category Settings" -msgstr "Configurações de categoria" +msgstr "" #: templates/InvenTree/settings/global.html:8 msgid "Server Settings" -msgstr "Configurações do servidor" +msgstr "" #: templates/InvenTree/settings/label.html:8 #: templates/InvenTree/settings/user_labels.html:9 msgid "Label Settings" -msgstr "Configurações de etiqueta" +msgstr "" #: templates/InvenTree/settings/login.html:8 msgid "Login Settings" -msgstr "Configurações de Acesso" +msgstr "" #: templates/InvenTree/settings/login.html:15 msgid "Outgoing email has not been configured. Some login and sign-up features may not work correctly!" -msgstr "O e-mail de saída não foi configurado. Alguns recursos de acesso e inscrição podem não funcionar corretamente!" +msgstr "" #: templates/InvenTree/settings/login.html:27 templates/account/signup.html:5 #: templates/socialaccount/signup.html:5 msgid "Signup" -msgstr "Registrar-se" +msgstr "" #: templates/InvenTree/settings/login.html:36 msgid "Single Sign On" -msgstr "Início de sessão única" +msgstr "" #: templates/InvenTree/settings/mixins/settings.html:5 #: templates/InvenTree/settings/settings.html:12 templates/navbar.html:147 msgid "Settings" -msgstr "Configurações" +msgstr "" #: templates/InvenTree/settings/mixins/urls.html:5 msgid "URLs" @@ -10510,20 +10510,20 @@ msgstr "" #: templates/InvenTree/settings/mixins/urls.html:8 #, python-format msgid "The Base-URL for this plugin is %(base)s." -msgstr "A Base-URL para esta extensão é %(base)s." +msgstr "" #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" -msgstr "Endereço da URL" +msgstr "" #: templates/InvenTree/settings/mixins/urls.html:23 msgid "Open in new tab" -msgstr "Abrir em uma nova aba" +msgstr "" #: templates/InvenTree/settings/notifications.html:9 #: templates/InvenTree/settings/user_notifications.html:9 msgid "Notification Settings" -msgstr "Configurações de Notificação" +msgstr "" #: templates/InvenTree/settings/notifications.html:18 msgid "Slug" @@ -10531,439 +10531,439 @@ msgstr "" #: templates/InvenTree/settings/part.html:7 msgid "Part Settings" -msgstr "Configurações de Peça" +msgstr "" #: templates/InvenTree/settings/part.html:43 msgid "Part Import" -msgstr "Peça importada" +msgstr "" #: templates/InvenTree/settings/part.html:47 msgid "Import Part" -msgstr "Importar Peça" +msgstr "" #: templates/InvenTree/settings/part_parameters.html:20 msgid "Part Parameter Templates" -msgstr "Modelo de Parâmetro da Peça" +msgstr "" #: templates/InvenTree/settings/part_stocktake.html:7 msgid "Stocktake Settings" -msgstr "Configurações de Balanço" +msgstr "" #: templates/InvenTree/settings/part_stocktake.html:25 msgid "Stocktake Reports" -msgstr "Relatório de Balanço" +msgstr "" #: templates/InvenTree/settings/physical_units.html:8 #: templates/InvenTree/settings/sidebar.html:35 msgid "Physical Units" -msgstr "Unidades Físicas" +msgstr "" #: templates/InvenTree/settings/physical_units.html:12 msgid "Add Unit" -msgstr "Adicionar Unidade" +msgstr "" #: templates/InvenTree/settings/plugin.html:9 #: templates/InvenTree/settings/sidebar.html:64 msgid "Plugin Settings" -msgstr "Configurações da Extensão" +msgstr "" #: templates/InvenTree/settings/plugin.html:15 msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage." -msgstr "Alterar as configurações abaixo requer que você reinicie imediatamente o servidor. Não altere isso enquanto estiver em uso." +msgstr "" #: templates/InvenTree/settings/plugin.html:38 #: templates/InvenTree/settings/sidebar.html:66 msgid "Plugins" -msgstr "Extensões" +msgstr "" #: templates/InvenTree/settings/plugin.html:44 #: templates/InvenTree/settings/plugin.html:45 #: templates/js/translated/plugin.js:151 msgid "Install Plugin" -msgstr "Instalar extensão" +msgstr "" #: templates/InvenTree/settings/plugin.html:47 #: templates/InvenTree/settings/plugin.html:48 #: templates/js/translated/plugin.js:224 msgid "Reload Plugins" -msgstr "Recarregar plugins" +msgstr "" #: templates/InvenTree/settings/plugin.html:58 msgid "External plugins are not enabled for this InvenTree installation" -msgstr "Extensões externos não estão ativados para esta instalação do InvenTree" +msgstr "" #: templates/InvenTree/settings/plugin.html:73 msgid "Plugin Error Stack" -msgstr "Erro da Pilha da Extensão" +msgstr "" #: templates/InvenTree/settings/plugin.html:82 msgid "Stage" -msgstr "Fase" +msgstr "" #: templates/InvenTree/settings/plugin.html:84 #: templates/js/translated/notification.js:76 msgid "Message" -msgstr "Mensagem" +msgstr "" #: templates/InvenTree/settings/plugin_settings.html:16 msgid "Plugin information" -msgstr "Informações da extensões" +msgstr "" #: templates/InvenTree/settings/plugin_settings.html:47 msgid "no version information supplied" -msgstr "nenhuma informação de versão fornecida" +msgstr "" #: templates/InvenTree/settings/plugin_settings.html:61 msgid "License" -msgstr "Licença" +msgstr "" #: templates/InvenTree/settings/plugin_settings.html:70 msgid "The code information is pulled from the latest git commit for this plugin. It might not reflect official version numbers or information but the actual code running." -msgstr "A informação de código é retirada do último git commit para esta extensão. Pode não refletir números de versão ou informações oficiais, mas sim o código em execução." +msgstr "" #: templates/InvenTree/settings/plugin_settings.html:76 msgid "Package information" -msgstr "Informações do pacote" +msgstr "" #: templates/InvenTree/settings/plugin_settings.html:82 msgid "Installation method" -msgstr "Método de instalação" +msgstr "" #: templates/InvenTree/settings/plugin_settings.html:85 msgid "This plugin was installed as a package" -msgstr "Esta extensão foi instalada como um pacote" +msgstr "" #: templates/InvenTree/settings/plugin_settings.html:87 msgid "This plugin was found in a local server path" -msgstr "Esta extensão foi encontrada no caminho do servidor local" +msgstr "" #: templates/InvenTree/settings/plugin_settings.html:93 msgid "Installation path" -msgstr "Caminho de instalação" +msgstr "" #: templates/InvenTree/settings/plugin_settings.html:100 #: templates/js/translated/plugin.js:68 #: templates/js/translated/table_filters.js:496 msgid "Builtin" -msgstr "Embutido" +msgstr "" #: templates/InvenTree/settings/plugin_settings.html:101 msgid "This is a builtin plugin which cannot be disabled" -msgstr "Esse é uma extensão embutida que não pode ser desativado" +msgstr "" #: templates/InvenTree/settings/plugin_settings.html:107 #: templates/js/translated/plugin.js:72 #: templates/js/translated/table_filters.js:500 msgid "Sample" -msgstr "Amostra" +msgstr "" #: templates/InvenTree/settings/plugin_settings.html:108 msgid "This is a sample plugin" -msgstr "Este é um plugin de exemplo" +msgstr "" #: templates/InvenTree/settings/plugin_settings.html:113 msgid "Commit Author" -msgstr "Autor do Commit" +msgstr "" #: templates/InvenTree/settings/plugin_settings.html:117 #: templates/about.html:36 msgid "Commit Date" -msgstr "Data do commit" +msgstr "" #: templates/InvenTree/settings/plugin_settings.html:121 #: templates/about.html:29 msgid "Commit Hash" -msgstr "Hash do Commit" +msgstr "" #: templates/InvenTree/settings/plugin_settings.html:125 msgid "Commit Message" -msgstr "Mensagem do Commit" +msgstr "" #: templates/InvenTree/settings/po.html:7 msgid "Purchase Order Settings" -msgstr "Configurações do Pedido de Compra" +msgstr "" #: templates/InvenTree/settings/pricing.html:7 msgid "Pricing Settings" -msgstr "Configurações de preços" +msgstr "" #: templates/InvenTree/settings/pricing.html:35 msgid "Exchange Rates" -msgstr "Taxas de Câmbio" +msgstr "" #: templates/InvenTree/settings/pricing.html:39 msgid "Update Now" -msgstr "Atualizar agora" +msgstr "" #: templates/InvenTree/settings/pricing.html:47 #: templates/InvenTree/settings/pricing.html:51 msgid "Last Update" -msgstr "Última Atualização" +msgstr "" #: templates/InvenTree/settings/pricing.html:51 msgid "Never" -msgstr "Nunca" +msgstr "" #: templates/InvenTree/settings/project_codes.html:8 msgid "Project Code Settings" -msgstr "Configurações de código do projeto" +msgstr "" #: templates/InvenTree/settings/project_codes.html:21 #: templates/InvenTree/settings/sidebar.html:33 msgid "Project Codes" -msgstr "Códigos de Projeto" +msgstr "" #: templates/InvenTree/settings/project_codes.html:25 #: templates/InvenTree/settings/settings_staff_js.html:216 msgid "New Project Code" -msgstr "Novo Código de Projeto" +msgstr "" #: templates/InvenTree/settings/report.html:8 #: templates/InvenTree/settings/user_reporting.html:9 msgid "Report Settings" -msgstr "Configurações de relatórios" +msgstr "" #: templates/InvenTree/settings/returns.html:7 msgid "Return Order Settings" -msgstr "Configurações de Pedido de Devolução" +msgstr "" #: templates/InvenTree/settings/setting.html:31 msgid "No value set" -msgstr "Nenhum valor definido" +msgstr "" #: templates/InvenTree/settings/setting.html:46 msgid "Edit setting" -msgstr "Editar configurações" +msgstr "" #: templates/InvenTree/settings/settings_js.html:58 msgid "Edit Plugin Setting" -msgstr "Editar Configurações do Plug-in" +msgstr "" #: templates/InvenTree/settings/settings_js.html:60 msgid "Edit Notification Setting" -msgstr "Editar Configurações de Notificação" +msgstr "" #: templates/InvenTree/settings/settings_js.html:63 msgid "Edit Global Setting" -msgstr "Editar Configurações Globais" +msgstr "" #: templates/InvenTree/settings/settings_js.html:65 msgid "Edit User Setting" -msgstr "Editar Configurações de Usuário" +msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:49 msgid "Rate" -msgstr "Taxa" +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:406 msgid "Delete" -msgstr "Excluir" +msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:95 msgid "Edit Custom Unit" -msgstr "Editar Unidade Personalizada" +msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:110 msgid "Delete Custom Unit" -msgstr "Excluir Unidade Personalizada" +msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:124 msgid "New Custom Unit" -msgstr "Nova Unidade Personalizada" +msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:140 msgid "No project codes found" -msgstr "Nenhum código de projetos encontrado" +msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:158 #: templates/js/translated/build.js:2228 msgid "group" -msgstr "grupo" +msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:175 #: templates/InvenTree/settings/settings_staff_js.html:189 msgid "Edit Project Code" -msgstr "Editar Código do Projeto" +msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:176 #: templates/InvenTree/settings/settings_staff_js.html:203 msgid "Delete Project Code" -msgstr "Excluir Código do Projeto" +msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:285 msgid "No category parameter templates found" -msgstr "Nenhum modelo de parâmetro de categoria encontrado" +msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:308 #: templates/js/translated/part.js:1649 msgid "Edit Template" -msgstr "Editar Modelo" +msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:309 #: templates/js/translated/part.js:1650 msgid "Delete Template" -msgstr "Excluir Modelo" +msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:326 msgid "Edit Category Parameter Template" -msgstr "Editar Parâmetros dos Modelos de Categoria" +msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:353 msgid "Delete Category Parameter Template" -msgstr "Excluir Parâmetros dos Modelos de Categoria" +msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:388 msgid "Create Category Parameter Template" -msgstr "Criar Modelo de Parâmetro de Categoria" +msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:418 msgid "Create Part Parameter Template" -msgstr "Criar Modelo de Parâmetro de Peça" +msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:440 msgid "No stock location types found" -msgstr "Nenhum tipo de local de estoque encontrado" +msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:461 msgid "Location count" -msgstr "Contagem Localizações" +msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:466 #: templates/InvenTree/settings/settings_staff_js.html:480 msgid "Edit Location Type" -msgstr "Editar Tipo de Localização" +msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:467 msgid "Delete Location type" -msgstr "Apagar Tipo de localização" +msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:490 msgid "Delete Location Type" -msgstr "Apagar Tipo de Localização" +msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:500 #: templates/InvenTree/settings/stock.html:38 msgid "New Location Type" -msgstr "Novo Tipo de localização" +msgstr "" #: templates/InvenTree/settings/sidebar.html:6 #: templates/InvenTree/settings/user_settings.html:9 msgid "User Settings" -msgstr "Configurações de usuário" +msgstr "" #: templates/InvenTree/settings/sidebar.html:9 msgid "Account" -msgstr "Conta" +msgstr "" #: templates/InvenTree/settings/sidebar.html:11 msgid "Display" -msgstr "Visualização" +msgstr "" #: templates/InvenTree/settings/sidebar.html:13 msgid "Home Page" -msgstr "Página Inicial" +msgstr "" #: templates/InvenTree/settings/sidebar.html:15 #: templates/js/translated/forms.js:2167 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" -msgstr "Buscar" +msgstr "" #: templates/InvenTree/settings/sidebar.html:19 #: templates/InvenTree/settings/sidebar.html:43 msgid "Reporting" -msgstr "Reportar" +msgstr "" #: templates/InvenTree/settings/sidebar.html:24 msgid "Global Settings" -msgstr "Configurações globais" +msgstr "" #: templates/InvenTree/settings/sidebar.html:27 templates/stats.html:9 msgid "Server" -msgstr "Servidor" +msgstr "" #: templates/InvenTree/settings/sidebar.html:41 msgid "Labels" -msgstr "Etiquetas" +msgstr "" #: templates/InvenTree/settings/sidebar.html:45 msgid "Categories" -msgstr "Categorias" +msgstr "" #: templates/InvenTree/settings/so.html:7 msgid "Sales Order Settings" -msgstr "Configurações do Pedido de Venda" +msgstr "" #: templates/InvenTree/settings/stock.html:7 msgid "Stock Settings" -msgstr "Configurações de Estoque" +msgstr "" #: templates/InvenTree/settings/stock.html:34 msgid "Stock Location Types" -msgstr "Tipos de Locais de estoque" +msgstr "" #: templates/InvenTree/settings/user.html:13 msgid "Account Settings" -msgstr "Configurações de Conta" +msgstr "" #: templates/InvenTree/settings/user.html:19 #: templates/account/password_reset_from_key.html:4 #: templates/account/password_reset_from_key.html:7 msgid "Change Password" -msgstr "Alterar Senha" +msgstr "" #: templates/InvenTree/settings/user.html:55 msgid "The following email addresses are associated with your account:" -msgstr "Os seguintes endereços de e-mail estão associados à sua conta:" +msgstr "" #: templates/InvenTree/settings/user.html:76 msgid "Verified" -msgstr "Verificado" +msgstr "" #: templates/InvenTree/settings/user.html:78 msgid "Unverified" -msgstr "Não verificado" +msgstr "" #: templates/InvenTree/settings/user.html:80 #: templates/js/translated/company.js:957 msgid "Primary" -msgstr "Principal" +msgstr "" #: templates/InvenTree/settings/user.html:86 msgid "Make Primary" -msgstr "Tornar principal" +msgstr "" #: templates/InvenTree/settings/user.html:87 msgid "Re-send Verification" -msgstr "Reenviar verificação" +msgstr "" #: templates/InvenTree/settings/user.html:96 msgid "Warning:" -msgstr "Atenção:" +msgstr "" #: templates/InvenTree/settings/user.html:97 msgid "You currently do not have any email address set up. You should really add an email address so you can receive notifications, reset your password, etc." -msgstr "Atualmente, você não tem nenhum endereço de e-mail configurado. Você deveria realmente adicionar um endereço de e-mail para receber notificações, redefinir sua senha, etc." +msgstr "" #: templates/InvenTree/settings/user.html:105 msgid "Add Email Address" -msgstr "Adicionar endereço de E-mail" +msgstr "" #: templates/InvenTree/settings/user.html:110 msgid "Add Email" -msgstr "Adicionar e-mail" +msgstr "" #: templates/InvenTree/settings/user.html:120 msgid "Multifactor" -msgstr "Multifator" +msgstr "" #: templates/InvenTree/settings/user.html:125 msgid "You have these factors available:" -msgstr "Você tem estes fatores disponíveis:" +msgstr "" #: templates/InvenTree/settings/user.html:135 msgid "TOTP" @@ -10971,393 +10971,393 @@ msgstr "" #: templates/InvenTree/settings/user.html:141 msgid "Static" -msgstr "Estático" +msgstr "" #: templates/InvenTree/settings/user.html:150 msgid "Multifactor authentication is not configured for your account" -msgstr "A autenticação de múltiplos fatores não está configurada para sua conta" +msgstr "" #: templates/InvenTree/settings/user.html:157 msgid "Change factors" -msgstr "Alterar fatores" +msgstr "" #: templates/InvenTree/settings/user.html:158 msgid "Setup multifactor" -msgstr "Configurar multifator" +msgstr "" #: templates/InvenTree/settings/user.html:160 msgid "Remove multifactor" -msgstr "Remover multifator" +msgstr "" #: templates/InvenTree/settings/user.html:171 msgid "Active Sessions" -msgstr "Sessões Ativas" +msgstr "" #: templates/InvenTree/settings/user.html:177 msgid "Log out active sessions (except this one)" -msgstr "Encerrar sessões ativas (exceto esta)" +msgstr "" #: templates/InvenTree/settings/user.html:178 msgid "Log Out Active Sessions" -msgstr "Encerrar Sessões Ativas" +msgstr "" #: templates/InvenTree/settings/user.html:187 msgid "unknown on unknown" -msgstr "desconhecido em desconhecido" +msgstr "" #: templates/InvenTree/settings/user.html:188 msgid "unknown" -msgstr "desconhecido" +msgstr "" #: templates/InvenTree/settings/user.html:192 msgid "IP Address" -msgstr "Endereço IP" +msgstr "" #: templates/InvenTree/settings/user.html:193 msgid "Device" -msgstr "Dispositivo" +msgstr "" #: templates/InvenTree/settings/user.html:194 msgid "Last Activity" -msgstr "Última Atividade" +msgstr "" #: templates/InvenTree/settings/user.html:207 #, python-format msgid "%(time)s ago (this session)" -msgstr "%(time)s atrás (esta sessão)" +msgstr "" #: templates/InvenTree/settings/user.html:209 #, python-format msgid "%(time)s ago" -msgstr "%(time)s atrás" +msgstr "" #: templates/InvenTree/settings/user.html:223 msgid "Do you really want to remove the selected email address?" -msgstr "Você realmente deseja remover o endereço de e-mail selecionado?" +msgstr "" #: templates/InvenTree/settings/user_display.html:9 msgid "Display Settings" -msgstr "Definições de Exibição" +msgstr "" #: templates/InvenTree/settings/user_display.html:29 msgid "Theme Settings" -msgstr "Configurações de tema" +msgstr "" #: templates/InvenTree/settings/user_display.html:39 msgid "Select theme" -msgstr "Selecionar tema" +msgstr "" #: templates/InvenTree/settings/user_display.html:50 msgid "Set Theme" -msgstr "Definir Tema" +msgstr "" #: templates/InvenTree/settings/user_display.html:58 msgid "Language Settings" -msgstr "Configurações de idioma" +msgstr "" #: templates/InvenTree/settings/user_display.html:67 msgid "Select language" -msgstr "Selecionar idioma" +msgstr "" #: templates/InvenTree/settings/user_display.html:83 #, python-format msgid "%(lang_translated)s%% translated" -msgstr "%(lang_translated)s%% traduzido" +msgstr "" #: templates/InvenTree/settings/user_display.html:85 msgid "No translations available" -msgstr "Não há traduções disponíveis" +msgstr "" #: templates/InvenTree/settings/user_display.html:92 msgid "Set Language" -msgstr "Definir Idioma" +msgstr "" #: templates/InvenTree/settings/user_display.html:95 msgid "Some languages are not complete" -msgstr "Alguns idiomas não estão completos" +msgstr "" #: templates/InvenTree/settings/user_display.html:97 msgid "Show only sufficient" -msgstr "Mostrar apenas o suficiente" +msgstr "" #: templates/InvenTree/settings/user_display.html:99 msgid "and hidden." -msgstr "e oculto." +msgstr "" #: templates/InvenTree/settings/user_display.html:99 msgid "Show them too" -msgstr "Mostrar outros também" +msgstr "" #: templates/InvenTree/settings/user_display.html:106 msgid "Help the translation efforts!" -msgstr "Ajude os esforços de tradução!" +msgstr "" #: templates/InvenTree/settings/user_display.html:107 msgid "Native language translation of the web application is community contributed via crowdin. Contributions are welcomed and encouraged." -msgstr "A tradução nativa do aplicativo web é contribuição da comunidade pelo crowdin. Contribuições são encorajadas e bem vindas." +msgstr "" #: templates/InvenTree/settings/user_display.html:108 msgid "InvenTree Translation Project" -msgstr "Projeto de Tradução do InvenTree" +msgstr "" #: templates/InvenTree/settings/user_homepage.html:9 msgid "Home Page Settings" -msgstr "Configuração da Página Inicial" +msgstr "" #: templates/InvenTree/settings/user_search.html:9 msgid "Search Settings" -msgstr "Configurações de Busca" +msgstr "" #: templates/InvenTree/settings/user_sso.html:9 msgid "Single Sign On Accounts" -msgstr "Contas de Login Único" +msgstr "" #: templates/InvenTree/settings/user_sso.html:16 msgid "You can sign in to your account using any of the following third party accounts:" -msgstr "Você pode entrar na sua conta usando qualquer uma das seguintes contas de terceiros:" +msgstr "" #: templates/InvenTree/settings/user_sso.html:52 msgid "There are no social network accounts connected to this account." -msgstr "Não há nenhuma rede social conectadas a essa conta." +msgstr "" #: templates/InvenTree/settings/user_sso.html:58 msgid "Add SSO Account" -msgstr "Adicionar conta SSO" +msgstr "" #: templates/InvenTree/settings/user_sso.html:67 msgid "Single Sign On is not enabled for this server" -msgstr "Acesso único não está habilitado para este servidor" +msgstr "" #: templates/about.html:9 msgid "InvenTree Version" -msgstr "Versão do InvenTree" +msgstr "" #: templates/about.html:14 msgid "Development Version" -msgstr "Versão de desenvolvimento" +msgstr "" #: templates/about.html:17 msgid "Up to Date" -msgstr "Atualizado" +msgstr "" #: templates/about.html:19 msgid "Update Available" -msgstr "Atualização disponível" +msgstr "" #: templates/about.html:43 msgid "Commit Branch" -msgstr "Ramo de commits" +msgstr "" #: templates/about.html:49 msgid "InvenTree Documentation" -msgstr "Documentação do InvenTree" +msgstr "" #: templates/about.html:54 msgid "API Version" -msgstr "Versão do API" +msgstr "" #: templates/about.html:59 msgid "Python Version" -msgstr "Versão do Python" +msgstr "" #: templates/about.html:64 msgid "Django Version" -msgstr "Versão Django" +msgstr "" #: templates/about.html:69 msgid "View Code on GitHub" -msgstr "Veja o código no GitHub" +msgstr "" #: templates/about.html:74 msgid "Credits" -msgstr "Créditos" +msgstr "" #: templates/about.html:79 msgid "Mobile App" -msgstr "Aplicativo Móvel" +msgstr "" #: templates/about.html:84 msgid "Submit Bug Report" -msgstr "Enviar relatório de erro" +msgstr "" #: templates/about.html:91 templates/clip.html:4 #: templates/js/translated/helpers.js:589 msgid "copy to clipboard" -msgstr "copiar para área de transferência" +msgstr "" #: templates/about.html:91 msgid "copy version information" -msgstr "copiar informações da versão" +msgstr "" #: templates/account/base.html:66 templates/navbar.html:17 msgid "InvenTree logo" -msgstr "Logotipo InvenTree" +msgstr "" #: templates/account/email_confirm.html:6 #: templates/account/email_confirm.html:9 msgid "Confirm Email Address" -msgstr "Confirmar endereço de e-mail" +msgstr "" #: templates/account/email_confirm.html:15 #, python-format msgid "Please confirm that %(email)s is an email address for user %(user_display)s." -msgstr "Por favor, confirme que %(email)s é um endereço de e-mail para o usuário %(user_display)s." +msgstr "" #: templates/account/email_confirm.html:21 templates/js/translated/forms.js:774 msgid "Confirm" -msgstr "Confirmar" +msgstr "" #: templates/account/email_confirm.html:29 #, python-format msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request." -msgstr "Este link de confirmação expirou ou é inválido. Por favor, envie uma nova solicitação de confirmação de e-mail." +msgstr "" #: templates/account/login.html:6 templates/account/login.html:19 #: templates/account/login.html:40 templates/socialaccount/login.html:5 msgid "Sign In" -msgstr "Acessar" +msgstr "" #: templates/account/login.html:23 msgid "Not a member?" -msgstr "Não é membro?" +msgstr "" #: templates/account/login.html:25 templates/account/signup.html:11 #: templates/account/signup.html:22 templates/socialaccount/signup.html:8 #: templates/socialaccount/signup.html:23 msgid "Sign Up" -msgstr "Cadastre-se" +msgstr "" #: templates/account/login.html:47 msgid "Forgot Password?" -msgstr "Esqueceu a senha?" +msgstr "" #: templates/account/login.html:55 msgid "or log in with" -msgstr "ou acesse com" +msgstr "" #: templates/account/logout.html:5 templates/account/logout.html:8 #: templates/account/logout.html:20 msgid "Sign Out" -msgstr "Sair" +msgstr "" #: templates/account/logout.html:10 msgid "Are you sure you want to sign out?" -msgstr "Você tem certeza que deseja sair?" +msgstr "" #: templates/account/logout.html:27 templates/allauth_2fa/backup_tokens.html:35 #: templates/allauth_2fa/remove.html:24 templates/allauth_2fa/setup.html:45 msgid "Return to Site" -msgstr "Retornar ao site" +msgstr "" #: templates/account/password_reset.html:5 #: templates/account/password_reset.html:12 msgid "Password Reset" -msgstr "Redefinir senha" +msgstr "" #: templates/account/password_reset.html:18 msgid "Forgotten your password? Enter your email address below, and we'll send you an email allowing you to reset it." -msgstr "Esqueceu sua senha? Digite seu endereço de e-mail abaixo e enviaremos um e-mail para você redefinir sua senha." +msgstr "" #: templates/account/password_reset.html:23 msgid "Reset My Password" -msgstr "Redefinir Minha Senha" +msgstr "" #: templates/account/password_reset.html:27 templates/account/signup.html:37 msgid "This function is currently disabled. Please contact an administrator." -msgstr "Esta função está desativada. Por favor, contate um administrador." +msgstr "" #: templates/account/password_reset_from_key.html:7 msgid "Bad Token" -msgstr "Token Inválido" +msgstr "" #: templates/account/password_reset_from_key.html:11 #, python-format msgid "The password reset link was invalid, possibly because it has already been used. Please request a new password reset." -msgstr "O link de redefinição de senha era inválido, possivelmente porque já foi usado. Solicite um nova redefinição de senha." +msgstr "" #: templates/account/password_reset_from_key.html:18 msgid "Change password" -msgstr "Alterar senha" +msgstr "" #: templates/account/password_reset_from_key.html:22 msgid "Your password is now changed." -msgstr "Sua senha foi alterada." +msgstr "" #: templates/account/signup.html:13 #, python-format msgid "Already have an account? Then please sign in." -msgstr "Já tem uma conta? Então, por favor Entrar." +msgstr "" #: templates/account/signup.html:28 msgid "Use a SSO-provider for signup" -msgstr "Use um provedor SSO para inscrição" +msgstr "" #: templates/account/signup_closed.html:5 #: templates/account/signup_closed.html:8 msgid "Sign Up Closed" -msgstr "Registro fechado" +msgstr "" #: templates/account/signup_closed.html:10 msgid "Sign up is currently closed." -msgstr "Registro está atualmente fechado." +msgstr "" #: templates/account/signup_closed.html:15 #: templates/socialaccount/authentication_error.html:19 #: templates/socialaccount/login.html:38 templates/socialaccount/signup.html:30 msgid "Return to login page" -msgstr "Voltar a página de acesso" +msgstr "" #: templates/admin_button.html:8 msgid "View in administration panel" -msgstr "Ver no Painel de Administração" +msgstr "" #: templates/allauth_2fa/authenticate.html:5 msgid "Two-Factor Authentication" -msgstr "Autenticação de dois fatores" +msgstr "" #: templates/allauth_2fa/authenticate.html:13 msgid "Authenticate" -msgstr "Autenticar" +msgstr "" #: templates/allauth_2fa/backup_tokens.html:6 msgid "Two-Factor Authentication Backup Tokens" -msgstr "Backup de Tokens de Autenticação Dois-Fatores" +msgstr "" #: templates/allauth_2fa/backup_tokens.html:17 msgid "Backup tokens have been generated, but are not revealed here for security reasons. Press the button below to generate new ones." -msgstr "Os tokens de backup foram gerados, mas não são revelados aqui por razões de segurança. Pressione o botão abaixo para gerar novos." +msgstr "" #: templates/allauth_2fa/backup_tokens.html:20 msgid "No backup tokens are available. Press the button below to generate some." -msgstr "Nenhum token de backup está disponível. Pressione o botão abaixo para gerar alguns." +msgstr "" #: templates/allauth_2fa/backup_tokens.html:28 msgid "Generate Tokens" -msgstr "Gerar Tokens" +msgstr "" #: templates/allauth_2fa/remove.html:6 msgid "Disable Two-Factor Authentication" -msgstr "Desativar Autenticação de Dois Fatores" +msgstr "" #: templates/allauth_2fa/remove.html:9 msgid "Are you sure?" -msgstr "Você tem certeza?" +msgstr "" #: templates/allauth_2fa/remove.html:17 msgid "Disable 2FA" -msgstr "Desativar A2F" +msgstr "" #: templates/allauth_2fa/setup.html:6 msgid "Setup Two-Factor Authentication" -msgstr "Configurar Autenticação de Dois Fatores" +msgstr "" #: templates/allauth_2fa/setup.html:10 msgid "Step 1" -msgstr "Passo 1" +msgstr "" #: templates/allauth_2fa/setup.html:14 msgid "Scan the QR code below with a token generator of your choice (for instance Google Authenticator)." -msgstr "Escaneie o código QR abaixo com um gerador de token de sua escolha (por exemplo, Google Authenticator)." +msgstr "" #: templates/allauth_2fa/setup.html:20 msgid "Secret: " @@ -11365,47 +11365,47 @@ msgstr "" #: templates/allauth_2fa/setup.html:24 msgid "Step 2" -msgstr "Passo 2" +msgstr "" #: templates/allauth_2fa/setup.html:28 msgid "Input a token generated by the app:" -msgstr "Insira um token gerado pelo aplicativo:" +msgstr "" #: templates/allauth_2fa/setup.html:38 msgid "Verify" -msgstr "Verificar" +msgstr "" #: templates/attachment_button.html:4 templates/js/translated/attachment.js:70 msgid "Add Link" -msgstr "Adicionar Link" +msgstr "" #: templates/attachment_button.html:7 templates/js/translated/attachment.js:48 msgid "Add Attachment" -msgstr "Adicionar anexo" +msgstr "" #: templates/barcode_data.html:5 msgid "Barcode Identifier" -msgstr "Identificador de Código de Barras" +msgstr "" #: templates/base.html:103 msgid "Server Restart Required" -msgstr "Reinicialização do Servidor é Necessária" +msgstr "" #: templates/base.html:106 msgid "A configuration option has been changed which requires a server restart" -msgstr "Uma opção de configuração foi alterada, o que requer uma reinicialização do servidor" +msgstr "" #: templates/base.html:106 templates/base.html:116 msgid "Contact your system administrator for further information" -msgstr "Contate seu administrador de sistema para mais informações" +msgstr "" #: templates/base.html:113 msgid "Pending Database Migrations" -msgstr "Migrações de Banco de Dados Pendentes" +msgstr "" #: templates/base.html:116 msgid "There are pending database migrations which require attention" -msgstr "Existem migrações pendentes do banco de dados que requerem atenção" +msgstr "" #: templates/email/build_order_completed.html:9 #: templates/email/canceled_order_assigned.html:9 @@ -11416,274 +11416,274 @@ msgstr "Existem migrações pendentes do banco de dados que requerem atenção" #: templates/email/purchase_order_received.html:9 #: templates/email/return_order_received.html:9 msgid "Click on the following link to view this order" -msgstr "Clique no link abaixo para ver este pedido" +msgstr "" #: templates/email/build_order_required_stock.html:7 msgid "Stock is required for the following build order" -msgstr "Estoque é necessário para o pedido de produção a seguir" +msgstr "" #: templates/email/build_order_required_stock.html:8 #, python-format msgid "Build order %(build)s - building %(quantity)s x %(part)s" -msgstr "O pedido de Produção %(build)s - construindo %(quantity)s x %(part)s" +msgstr "" #: templates/email/build_order_required_stock.html:10 msgid "Click on the following link to view this build order" -msgstr "Clique no link abaixo para ver este pedido de produção" +msgstr "" #: templates/email/build_order_required_stock.html:14 msgid "The following parts are low on required stock" -msgstr "As peças a seguir estão abaixo do estoque requerido" +msgstr "" #: templates/email/build_order_required_stock.html:18 #: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2557 msgid "Required Quantity" -msgstr "Quantidade Requerida" +msgstr "" #: templates/email/build_order_required_stock.html:38 #: templates/email/low_stock_notification.html:30 msgid "You are receiving this email because you are subscribed to notifications for this part " -msgstr "Você está recebendo este e-mail porque está inscrito para notificações dessa peça " +msgstr "" #: templates/email/low_stock_notification.html:9 msgid "Click on the following link to view this part" -msgstr "Clique no link abaixo para ver esta peça" +msgstr "" #: templates/email/low_stock_notification.html:18 #: templates/js/translated/part.js:3222 msgid "Minimum Quantity" -msgstr "Quantidade Mínima" +msgstr "" #: templates/js/translated/api.js:225 templates/js/translated/modals.js:1135 msgid "No Response" -msgstr "Sem Resposta" +msgstr "" #: templates/js/translated/api.js:226 templates/js/translated/modals.js:1136 msgid "No response from the InvenTree server" -msgstr "Sem resposta do servidor InvenTree" +msgstr "" #: templates/js/translated/api.js:232 msgid "Error 400: Bad request" -msgstr "Erro 400: Requisição ruim" +msgstr "" #: templates/js/translated/api.js:233 msgid "API request returned error code 400" -msgstr "Solicitação de API retornou o código de erro 400" +msgstr "" #: templates/js/translated/api.js:237 templates/js/translated/modals.js:1145 msgid "Error 401: Not Authenticated" -msgstr "Erro 401: Não Autenticado" +msgstr "" #: templates/js/translated/api.js:238 templates/js/translated/modals.js:1146 msgid "Authentication credentials not supplied" -msgstr "Credenciais de autenticação não fornecidas" +msgstr "" #: templates/js/translated/api.js:242 templates/js/translated/modals.js:1150 msgid "Error 403: Permission Denied" -msgstr "Erro 403: Permissão Negada" +msgstr "" #: templates/js/translated/api.js:243 templates/js/translated/modals.js:1151 msgid "You do not have the required permissions to access this function" -msgstr "Você não tem as permissões necessárias para acessar esta função" +msgstr "" #: templates/js/translated/api.js:247 templates/js/translated/modals.js:1155 msgid "Error 404: Resource Not Found" -msgstr "Erro 404: Recurso Não Encontrado" +msgstr "" #: templates/js/translated/api.js:248 templates/js/translated/modals.js:1156 msgid "The requested resource could not be located on the server" -msgstr "O recurso requisitado não pôde ser encontrado no servidor" +msgstr "" #: templates/js/translated/api.js:252 msgid "Error 405: Method Not Allowed" -msgstr "Erro 405: Método Não Permitido" +msgstr "" #: templates/js/translated/api.js:253 msgid "HTTP method not allowed at URL" -msgstr "Método HTTP não permitido na URL" +msgstr "" #: templates/js/translated/api.js:257 templates/js/translated/modals.js:1160 msgid "Error 408: Timeout" -msgstr "Erro 408: Tempo Limite" +msgstr "" #: templates/js/translated/api.js:258 templates/js/translated/modals.js:1161 msgid "Connection timeout while requesting data from server" -msgstr "Tempo limite da conexão atingido ao solicitar dados do servidor" +msgstr "" #: templates/js/translated/api.js:261 msgid "Error 503: Service Unavailable" -msgstr "Erro 503: Serviço Indisponível" +msgstr "" #: templates/js/translated/api.js:262 msgid "The server is currently unavailable" -msgstr "O servidor está atualmente indisponível" +msgstr "" #: templates/js/translated/api.js:265 msgid "Unhandled Error Code" -msgstr "Código de erro não tratado" +msgstr "" #: templates/js/translated/api.js:266 msgid "Error code" -msgstr "Código do erro" +msgstr "" #: templates/js/translated/attachment.js:114 msgid "All selected attachments will be deleted" -msgstr "Todos os anexos selecionados serão excluídos" +msgstr "" #: templates/js/translated/attachment.js:129 msgid "Delete Attachments" -msgstr "Excluir Anexos" +msgstr "" #: templates/js/translated/attachment.js:205 msgid "Delete attachments" -msgstr "Excluir anexos" +msgstr "" #: templates/js/translated/attachment.js:260 msgid "Attachment actions" -msgstr "Ações de anexos" +msgstr "" #: templates/js/translated/attachment.js:294 msgid "No attachments found" -msgstr "Nenhum anexo encontrado" +msgstr "" #: templates/js/translated/attachment.js:334 msgid "Edit Attachment" -msgstr "Editar Anexo" +msgstr "" #: templates/js/translated/attachment.js:365 msgid "Upload Date" -msgstr "Data de Envio" +msgstr "" #: templates/js/translated/attachment.js:385 msgid "Edit attachment" -msgstr "Editar anexo" +msgstr "" #: templates/js/translated/attachment.js:393 msgid "Delete attachment" -msgstr "Apagar anexo" +msgstr "" #: templates/js/translated/barcode.js:43 msgid "Scan barcode data here using barcode scanner" -msgstr "Leia o código de barras aqui usando um leitor de código de barras" +msgstr "" #: templates/js/translated/barcode.js:45 msgid "Enter barcode data" -msgstr "Digitar informações do código de barras" +msgstr "" #: templates/js/translated/barcode.js:59 msgid "Scan barcode using connected webcam" -msgstr "Ler código de barras usando webcam conectada" +msgstr "" #: templates/js/translated/barcode.js:138 msgid "Enter optional notes for stock transfer" -msgstr "Digite notas opcionais para transferência de estoque" +msgstr "" #: templates/js/translated/barcode.js:139 msgid "Enter notes" -msgstr "Inserir anotações" +msgstr "" #: templates/js/translated/barcode.js:188 msgid "Server error" -msgstr "Erro no servidor" +msgstr "" #: templates/js/translated/barcode.js:217 msgid "Unknown response from server" -msgstr "Resposta desconhecida do servidor" +msgstr "" #: templates/js/translated/barcode.js:252 #: templates/js/translated/modals.js:1125 msgid "Invalid server response" -msgstr "Resposta do servidor inválida" +msgstr "" #: templates/js/translated/barcode.js:372 msgid "Scan barcode data" -msgstr "Ler dados do código de barras" +msgstr "" #: templates/js/translated/barcode.js:420 templates/navbar.html:114 msgid "Scan Barcode" -msgstr "Ler Código de Barras" +msgstr "" #: templates/js/translated/barcode.js:458 msgid "No URL in response" -msgstr "Nenhuma URL na resposta" +msgstr "" #: templates/js/translated/barcode.js:498 msgid "This will remove the link to the associated barcode" -msgstr "Isto irá remover o link com o código de barras associado" +msgstr "" #: templates/js/translated/barcode.js:504 msgid "Unlink" -msgstr "Desassociar" +msgstr "" #: templates/js/translated/barcode.js:567 templates/js/translated/stock.js:1158 msgid "Remove stock item" -msgstr "Remover item de estoque" +msgstr "" #: templates/js/translated/barcode.js:610 msgid "Scan Stock Items Into Location" -msgstr "Escanear Itens de Estoque para Local" +msgstr "" #: templates/js/translated/barcode.js:612 msgid "Scan stock item barcode to check in to this location" -msgstr "Digitalize o código de barras dos itens de estoque para fazer check-in nesta localização" +msgstr "" #: templates/js/translated/barcode.js:615 #: templates/js/translated/barcode.js:812 msgid "Check In" -msgstr "Check-in" +msgstr "" #: templates/js/translated/barcode.js:647 msgid "No barcode provided" -msgstr "Nenhum código de barras fornecido" +msgstr "" #: templates/js/translated/barcode.js:687 msgid "Stock Item already scanned" -msgstr "Item de estoque já escaneado" +msgstr "" #: templates/js/translated/barcode.js:691 msgid "Stock Item already in this location" -msgstr "Item de estoque já está nesta localização" +msgstr "" #: templates/js/translated/barcode.js:698 msgid "Added stock item" -msgstr "Item de estoque adicionado" +msgstr "" #: templates/js/translated/barcode.js:707 msgid "Barcode does not match valid stock item" -msgstr "Código de barras não corresponde a item de estoque válido" +msgstr "" #: templates/js/translated/barcode.js:726 msgid "Scan Stock Container Into Location" -msgstr "Escanear o Recipiente de Estoque em Local" +msgstr "" #: templates/js/translated/barcode.js:728 msgid "Scan stock container barcode to check in to this location" -msgstr "Digitalize o código de barras do contêiner para fazer check-in para esta localização" +msgstr "" #: templates/js/translated/barcode.js:762 msgid "Barcode does not match valid stock location" -msgstr "Código de barras não corresponde ao local de estoque válido" +msgstr "" #: templates/js/translated/barcode.js:806 msgid "Check Into Location" -msgstr "Registrar no Local" +msgstr "" #: templates/js/translated/barcode.js:875 #: templates/js/translated/barcode.js:884 msgid "Barcode does not match a valid location" -msgstr "Código de barras não corresponde a um local válido" +msgstr "" #: templates/js/translated/bom.js:78 msgid "Create BOM Item" -msgstr "Criar Item da BOM" +msgstr "" #: templates/js/translated/bom.js:132 msgid "Display row data" -msgstr "Mostrar dados da linha" +msgstr "" #: templates/js/translated/bom.js:188 msgid "Row Data" -msgstr "Dados da Linha" +msgstr "" #: templates/js/translated/bom.js:189 templates/js/translated/bom.js:700 #: templates/js/translated/modals.js:75 templates/js/translated/modals.js:629 @@ -11691,139 +11691,139 @@ msgstr "Dados da Linha" #: templates/js/translated/purchase_order.js:797 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" -msgstr "Fechar" +msgstr "" #: templates/js/translated/bom.js:306 msgid "Download BOM Template" -msgstr "Baixar modelo de BOM" +msgstr "" #: templates/js/translated/bom.js:351 msgid "Multi Level BOM" -msgstr "BOM Multinível" +msgstr "" #: templates/js/translated/bom.js:352 msgid "Include BOM data for subassemblies" -msgstr "Incluir dados BOM para sub-montagens" +msgstr "" #: templates/js/translated/bom.js:357 msgid "Levels" -msgstr "Níveis" +msgstr "" #: templates/js/translated/bom.js:358 msgid "Select maximum number of BOM levels to export (0 = all levels)" -msgstr "Selecione o número máximo de níveis BOM para exportar (0= todos os níveis)" +msgstr "" #: templates/js/translated/bom.js:365 msgid "Include Alternative Parts" -msgstr "Incluir Peças Alternativas" +msgstr "" #: templates/js/translated/bom.js:366 msgid "Include alternative parts in exported BOM" -msgstr "Incluir peças alternativas na BOM exportada" +msgstr "" #: templates/js/translated/bom.js:371 msgid "Include Parameter Data" -msgstr "Incluir Parâmetros de Dados" +msgstr "" #: templates/js/translated/bom.js:372 msgid "Include part parameter data in exported BOM" -msgstr "Incluir dados do parâmetro da peça na BOM exportada" +msgstr "" #: templates/js/translated/bom.js:377 msgid "Include Stock Data" -msgstr "Incluir Dados do Estoque" +msgstr "" #: templates/js/translated/bom.js:378 msgid "Include part stock data in exported BOM" -msgstr "Incluir dados do estoque da peça na BOM exportada" +msgstr "" #: templates/js/translated/bom.js:383 msgid "Include Manufacturer Data" -msgstr "Incluir Dados do Fabricante" +msgstr "" #: templates/js/translated/bom.js:384 msgid "Include part manufacturer data in exported BOM" -msgstr "Incluir dados da peça do fabricante na BOM exportada" +msgstr "" #: templates/js/translated/bom.js:389 msgid "Include Supplier Data" -msgstr "Incluir Dodos do Fornecedor" +msgstr "" #: templates/js/translated/bom.js:390 msgid "Include part supplier data in exported BOM" -msgstr "Incluir dados da peça do fornecedor na BOM exportada" +msgstr "" #: templates/js/translated/bom.js:395 msgid "Include Pricing Data" -msgstr "Incluir Dados de Preço" +msgstr "" #: templates/js/translated/bom.js:396 msgid "Include part pricing data in exported BOM" -msgstr "Incluir dados de preço na BOM exportada" +msgstr "" #: templates/js/translated/bom.js:591 msgid "Remove substitute part" -msgstr "Remover peça substituta" +msgstr "" #: templates/js/translated/bom.js:645 msgid "Select and add a new substitute part using the input below" -msgstr "Selecione e adicione uma nova peça substituída usando a entrada abaixo" +msgstr "" #: templates/js/translated/bom.js:656 msgid "Are you sure you wish to remove this substitute part link?" -msgstr "Tem certeza que deseja remover este link de peça substituta?" +msgstr "" #: templates/js/translated/bom.js:662 msgid "Remove Substitute Part" -msgstr "Remover Peça Substituta" +msgstr "" #: templates/js/translated/bom.js:701 msgid "Add Substitute" -msgstr "Adicionar Substituto" +msgstr "" #: templates/js/translated/bom.js:702 msgid "Edit BOM Item Substitutes" -msgstr "Editar Itens Substitutos da BOM" +msgstr "" #: templates/js/translated/bom.js:764 msgid "All selected BOM items will be deleted" -msgstr "Todos os itens selecionados da BOM serão apagados" +msgstr "" #: templates/js/translated/bom.js:780 msgid "Delete selected BOM items?" -msgstr "Apagar itens selecionados da BOM?" +msgstr "" #: templates/js/translated/bom.js:826 msgid "Delete items" -msgstr "Apagar items" +msgstr "" #: templates/js/translated/bom.js:936 msgid "Load BOM for subassembly" -msgstr "Carregar BOM para a submontagem" +msgstr "" #: templates/js/translated/bom.js:946 msgid "Substitutes Available" -msgstr "Substitutos Disponíveis" +msgstr "" #: templates/js/translated/bom.js:950 templates/js/translated/build.js:2501 msgid "Variant stock allowed" -msgstr "Estoque de variantes permitido" +msgstr "" #: templates/js/translated/bom.js:1014 msgid "Substitutes" -msgstr "Substitutos" +msgstr "" #: templates/js/translated/bom.js:1139 msgid "BOM pricing is complete" -msgstr "Preços da BOM estão completos" +msgstr "" #: templates/js/translated/bom.js:1144 msgid "BOM pricing is incomplete" -msgstr "Preços da BOM estão incompletos" +msgstr "" #: templates/js/translated/bom.js:1151 msgid "No pricing available" -msgstr "Nenhum preço disponível" +msgstr "" #: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2622 msgid "External stock" @@ -11832,400 +11832,400 @@ msgstr "" #: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2596 #: templates/js/translated/sales_order.js:1946 msgid "No Stock Available" -msgstr "Nenhum Estoque Disponível" +msgstr "" #: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2600 msgid "Includes variant and substitute stock" -msgstr "Incluir estoque de variantes e substitutos" +msgstr "" #: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2602 #: templates/js/translated/part.js:1260 #: templates/js/translated/sales_order.js:1943 msgid "Includes variant stock" -msgstr "Incluir estoque de variantes" +msgstr "" #: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2604 msgid "Includes substitute stock" -msgstr "Incluir estoque de substitutos" +msgstr "" #: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2587 msgid "Consumable item" -msgstr "Itens consumíveis" +msgstr "" #: templates/js/translated/bom.js:1285 msgid "Validate BOM Item" -msgstr "Validar Item da BOM" +msgstr "" #: templates/js/translated/bom.js:1287 msgid "This line has been validated" -msgstr "Esta linha foi validada" +msgstr "" #: templates/js/translated/bom.js:1289 msgid "Edit substitute parts" -msgstr "Editar peças substitutas" +msgstr "" #: templates/js/translated/bom.js:1291 templates/js/translated/bom.js:1486 msgid "Edit BOM Item" -msgstr "Editar Item da BOM" +msgstr "" #: templates/js/translated/bom.js:1293 msgid "Delete BOM Item" -msgstr "Apagar Item da BOM" +msgstr "" #: templates/js/translated/bom.js:1313 msgid "View BOM" -msgstr "Ver BOM" +msgstr "" #: templates/js/translated/bom.js:1397 msgid "No BOM items found" -msgstr "Nenhum item da BOM encontrado" +msgstr "" #: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2486 msgid "Required Part" -msgstr "Peça Requerida" +msgstr "" #: templates/js/translated/bom.js:1683 msgid "Inherited from parent BOM" -msgstr "Herdado da BOM paternal" +msgstr "" #: templates/js/translated/build.js:142 msgid "Edit Build Order" -msgstr "Editar Pedido de Produção" +msgstr "" #: templates/js/translated/build.js:190 msgid "Create Build Order" -msgstr "Criar Pedido de Produção" +msgstr "" #: templates/js/translated/build.js:222 msgid "Cancel Build Order" -msgstr "Cancelar Pedido de Produção" +msgstr "" #: templates/js/translated/build.js:231 msgid "Are you sure you wish to cancel this build?" -msgstr "Tem certeza que deseja cancelar essa produção?" +msgstr "" #: templates/js/translated/build.js:237 msgid "Stock items have been allocated to this build order" -msgstr "Itens de estoque foram alocados para este pedido de produção" +msgstr "" #: templates/js/translated/build.js:244 msgid "There are incomplete outputs remaining for this build order" -msgstr "Há saídas incompletas restantes para este pedido de produção" +msgstr "" #: templates/js/translated/build.js:296 msgid "Build order is ready to be completed" -msgstr "Pedido de produção está pronto para ser concluído" +msgstr "" #: templates/js/translated/build.js:304 msgid "This build order cannot be completed as there are incomplete outputs" -msgstr "Este pedido de produção não pode ser concluído pois há saídas incompletas" +msgstr "" #: templates/js/translated/build.js:309 msgid "Build Order is incomplete" -msgstr "Pedido de Produção está incompleto" +msgstr "" #: templates/js/translated/build.js:327 msgid "Complete Build Order" -msgstr "Completar Pedido de Produção" +msgstr "" #: templates/js/translated/build.js:368 templates/js/translated/stock.js:119 #: templates/js/translated/stock.js:294 msgid "Next available serial number" -msgstr "Próximo número de série disponível" +msgstr "" #: templates/js/translated/build.js:370 templates/js/translated/stock.js:121 #: templates/js/translated/stock.js:296 msgid "Latest serial number" -msgstr "Último número de série" +msgstr "" #: templates/js/translated/build.js:379 msgid "The Bill of Materials contains trackable parts" -msgstr "A Lista de Materiais (BOM) contém peças rastreáveis" +msgstr "" #: templates/js/translated/build.js:380 msgid "Build outputs must be generated individually" -msgstr "Saída de produção deve ser gerada individualmente" +msgstr "" #: templates/js/translated/build.js:388 msgid "Trackable parts can have serial numbers specified" -msgstr "Peças rastreáveis podem ter números de séries especificados" +msgstr "" #: templates/js/translated/build.js:389 msgid "Enter serial numbers to generate multiple single build outputs" -msgstr "Digite números de série para gerar várias saídas de produção simples" +msgstr "" #: templates/js/translated/build.js:396 msgid "Create Build Output" -msgstr "Criar Saída de Produção" +msgstr "" #: templates/js/translated/build.js:427 msgid "Allocate stock items to this build output" -msgstr "Alocar itens de estoque para a saída de produção" +msgstr "" #: templates/js/translated/build.js:435 msgid "Deallocate stock from build output" -msgstr "Desalocar estoque da saída de produção" +msgstr "" #: templates/js/translated/build.js:444 msgid "Complete build output" -msgstr "Concluir saída de produção" +msgstr "" #: templates/js/translated/build.js:452 msgid "Scrap build output" -msgstr "Sucatear saída de produção" +msgstr "" #: templates/js/translated/build.js:459 msgid "Delete build output" -msgstr "Excluir saída de produção" +msgstr "" #: templates/js/translated/build.js:479 msgid "Are you sure you wish to deallocate the selected stock items from this build?" -msgstr "Tem certeza que deseja desalocar os itens de estoque selecionados desta produção?" +msgstr "" #: templates/js/translated/build.js:497 msgid "Deallocate Stock Items" -msgstr "Desalocar Items de Estoque" +msgstr "" #: templates/js/translated/build.js:583 templates/js/translated/build.js:711 #: templates/js/translated/build.js:837 msgid "Select Build Outputs" -msgstr "Selecionar Saída de Produção" +msgstr "" #: templates/js/translated/build.js:584 templates/js/translated/build.js:712 #: templates/js/translated/build.js:838 msgid "At least one build output must be selected" -msgstr "Ao menos uma saída de produção deve ser selecionada" +msgstr "" #: templates/js/translated/build.js:598 msgid "Selected build outputs will be marked as complete" -msgstr "Saídas de produção selecionadas serão marcadas como completas" +msgstr "" #: templates/js/translated/build.js:602 templates/js/translated/build.js:736 #: templates/js/translated/build.js:860 msgid "Output" -msgstr "Saída" +msgstr "" #: templates/js/translated/build.js:630 msgid "Complete Build Outputs" -msgstr "Concluir Saídas de Produção" +msgstr "" #: templates/js/translated/build.js:727 msgid "Selected build outputs will be marked as scrapped" -msgstr "Saídas de produção selecionadas serão marcadas como sucatas" +msgstr "" #: templates/js/translated/build.js:729 msgid "Scrapped output are marked as rejected" -msgstr "Saídas sucateadas são marcadas como rejeitada" +msgstr "" #: templates/js/translated/build.js:730 msgid "Allocated stock items will no longer be available" -msgstr "Itens de estoque alocados não estarão mais disponíveis" +msgstr "" #: templates/js/translated/build.js:731 msgid "The completion status of the build order will not be adjusted" -msgstr "O estado de conclusão do pedido de produção não será ajustado" +msgstr "" #: templates/js/translated/build.js:762 msgid "Scrap Build Outputs" -msgstr "Sucatear Saídas de Produção" +msgstr "" #: templates/js/translated/build.js:852 msgid "Selected build outputs will be deleted" -msgstr "Saídas de produção selecionadas serão apagadas" +msgstr "" #: templates/js/translated/build.js:854 msgid "Build output data will be permanently deleted" -msgstr "Dados da saída de produção serão excluídos permanentemente" +msgstr "" #: templates/js/translated/build.js:855 msgid "Allocated stock items will be returned to stock" -msgstr "Itens de estoque alocados serão retornados ao estoque" +msgstr "" #: templates/js/translated/build.js:873 msgid "Delete Build Outputs" -msgstr "Deletar Saída de Produção" +msgstr "" #: templates/js/translated/build.js:960 msgid "No build order allocations found" -msgstr "Nenhuma alocação de pedido de produção encontrada" +msgstr "" #: templates/js/translated/build.js:1005 msgid "Location not specified" -msgstr "Local não especificado" +msgstr "" #: templates/js/translated/build.js:1027 msgid "Complete outputs" -msgstr "Saídas concluídas" +msgstr "" #: templates/js/translated/build.js:1045 msgid "Scrap outputs" -msgstr "Sucatear saídas" +msgstr "" #: templates/js/translated/build.js:1063 msgid "Delete outputs" -msgstr "Exlcuir saídas" +msgstr "" #: templates/js/translated/build.js:1116 msgid "build output" -msgstr "saída da produção" +msgstr "" #: templates/js/translated/build.js:1117 msgid "build outputs" -msgstr "saídas da produção" +msgstr "" #: templates/js/translated/build.js:1121 msgid "Build output actions" -msgstr "Ações da saída de produção" +msgstr "" #: templates/js/translated/build.js:1297 msgid "No active build outputs found" -msgstr "Nenhuma saída de produção ativa encontrada" +msgstr "" #: templates/js/translated/build.js:1390 msgid "Allocated Lines" -msgstr "Linhas Alocadas" +msgstr "" #: templates/js/translated/build.js:1404 msgid "Required Tests" -msgstr "Testes Obrigatórios" +msgstr "" #: templates/js/translated/build.js:1576 #: templates/js/translated/purchase_order.js:611 #: templates/js/translated/sales_order.js:1207 msgid "Select Parts" -msgstr "Selecionar Peças" +msgstr "" #: templates/js/translated/build.js:1577 #: templates/js/translated/sales_order.js:1208 msgid "You must select at least one part to allocate" -msgstr "Você deve selecionar ao menos uma peça para alocar" +msgstr "" #: templates/js/translated/build.js:1640 #: templates/js/translated/sales_order.js:1157 msgid "Specify stock allocation quantity" -msgstr "Especifique a quantidade de alocação de estoque" +msgstr "" #: templates/js/translated/build.js:1717 msgid "All Parts Allocated" -msgstr "Todas as Peças Alocadas" +msgstr "" #: templates/js/translated/build.js:1718 msgid "All selected parts have been fully allocated" -msgstr "Todas as peças selecionadas foram completamente alocadas" +msgstr "" #: templates/js/translated/build.js:1732 #: templates/js/translated/sales_order.js:1222 msgid "Select source location (leave blank to take from all locations)" -msgstr "Selecione o local de origem (deixe em branco para tirar de todos os locais)" +msgstr "" #: templates/js/translated/build.js:1760 msgid "Allocate Stock Items to Build Order" -msgstr "Alocar Itens de Estoque para o Pedido de Produção" +msgstr "" #: templates/js/translated/build.js:1771 #: templates/js/translated/sales_order.js:1319 msgid "No matching stock locations" -msgstr "Nenhum local de estoque correspondente" +msgstr "" #: templates/js/translated/build.js:1844 #: templates/js/translated/sales_order.js:1398 msgid "No matching stock items" -msgstr "Nenhum item de estoque correspondente" +msgstr "" #: templates/js/translated/build.js:1941 msgid "Automatic Stock Allocation" -msgstr "Alocação Automática de Estoque" +msgstr "" #: templates/js/translated/build.js:1942 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" -msgstr "Itens de estoque serão automaticamente alocados para este pedido de produção, conforme as diretrizes fornecidas" +msgstr "" #: templates/js/translated/build.js:1944 msgid "If a location is specified, stock will only be allocated from that location" -msgstr "Se um local for especificado o estoque será apenas alocado deste local" +msgstr "" #: templates/js/translated/build.js:1945 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" -msgstr "Se o estoque é considerado intercambiável será alocado a partir da primeira localização encontrada" +msgstr "" #: templates/js/translated/build.js:1946 msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found" -msgstr "Se estoque substituto é permitido será utilizado quando o estoque primário não for encontrado" +msgstr "" #: templates/js/translated/build.js:1977 msgid "Allocate Stock Items" -msgstr "Alocar Itens de Estoque" +msgstr "" #: templates/js/translated/build.js:2082 msgid "No builds matching query" -msgstr "Nenhuma produção corresponde a consulta" +msgstr "" #: templates/js/translated/build.js:2117 templates/js/translated/build.js:2480 #: templates/js/translated/forms.js:2163 templates/js/translated/forms.js:2179 #: templates/js/translated/part.js:2319 templates/js/translated/part.js:2745 #: templates/js/translated/stock.js:1983 templates/js/translated/stock.js:2710 msgid "Select" -msgstr "Selecionar" +msgstr "" #: templates/js/translated/build.js:2131 msgid "Build order is overdue" -msgstr "Pedido de produção está atrasada" +msgstr "" #: templates/js/translated/build.js:2213 templates/js/translated/stock.js:3042 msgid "No user information" -msgstr "Sem informações de usuário" +msgstr "" #: templates/js/translated/build.js:2389 #: templates/js/translated/sales_order.js:1682 msgid "Edit stock allocation" -msgstr "Editar alocação de estoque" +msgstr "" #: templates/js/translated/build.js:2390 #: templates/js/translated/sales_order.js:1683 msgid "Delete stock allocation" -msgstr "Excluir alocação de estoque" +msgstr "" #: templates/js/translated/build.js:2405 msgid "Edit Allocation" -msgstr "Editar Alocação" +msgstr "" #: templates/js/translated/build.js:2417 msgid "Remove Allocation" -msgstr "Remover Alocação" +msgstr "" #: templates/js/translated/build.js:2456 msgid "build line" -msgstr "linha de produção" +msgstr "" #: templates/js/translated/build.js:2457 msgid "build lines" -msgstr "linhas de produção" +msgstr "" #: templates/js/translated/build.js:2475 msgid "No build lines found" -msgstr "Nenhuma linha produção encontrada" +msgstr "" #: templates/js/translated/build.js:2505 templates/js/translated/part.js:790 #: templates/js/translated/part.js:1206 msgid "Trackable part" -msgstr "Peça rastreável" +msgstr "" #: templates/js/translated/build.js:2540 msgid "Unit Quantity" -msgstr "Quantidade Unitária" +msgstr "" #: templates/js/translated/build.js:2592 #: templates/js/translated/sales_order.js:1951 msgid "Sufficient stock available" -msgstr "Estoque suficiente disponível" +msgstr "" #: templates/js/translated/build.js:2647 msgid "Consumable Item" -msgstr "Item Consumível" +msgstr "" #: templates/js/translated/build.js:2654 msgid "Tracked item" -msgstr "Item rastreado" +msgstr "" #: templates/js/translated/build.js:2655 msgid "Allocate tracked items against individual build outputs" @@ -12234,456 +12234,456 @@ msgstr "" #: templates/js/translated/build.js:2663 #: templates/js/translated/sales_order.js:2052 msgid "Build stock" -msgstr "Estoque de produção" +msgstr "" #: templates/js/translated/build.js:2668 templates/js/translated/stock.js:1868 msgid "Order stock" -msgstr "Pedir Estoque" +msgstr "" #: templates/js/translated/build.js:2672 #: templates/js/translated/sales_order.js:2046 msgid "Allocate stock" -msgstr "Alocar Estoque" +msgstr "" #: templates/js/translated/build.js:2676 msgid "Remove stock allocation" -msgstr "Remover alocação de estoque" +msgstr "" #: templates/js/translated/company.js:98 msgid "Add Manufacturer" -msgstr "Adicionar Fabricante" +msgstr "" #: templates/js/translated/company.js:111 #: templates/js/translated/company.js:213 msgid "Add Manufacturer Part" -msgstr "Adicionar Peça do Fabricante" +msgstr "" #: templates/js/translated/company.js:132 msgid "Edit Manufacturer Part" -msgstr "Editar Peça do Fabricante" +msgstr "" #: templates/js/translated/company.js:201 #: templates/js/translated/purchase_order.js:93 msgid "Add Supplier" -msgstr "Adicionar Fornecedor" +msgstr "" #: templates/js/translated/company.js:243 #: templates/js/translated/purchase_order.js:318 msgid "Add Supplier Part" -msgstr "Adicionar Peça do Fornecedor" +msgstr "" #: templates/js/translated/company.js:344 msgid "All selected supplier parts will be deleted" -msgstr "Todas as peças selecionadas do fornecedor serão apagadas" +msgstr "" #: templates/js/translated/company.js:360 msgid "Delete Supplier Parts" -msgstr "Excluir Peças do Fornecedor" +msgstr "" #: templates/js/translated/company.js:466 msgid "Add new Company" -msgstr "Adicionar nova Empresa" +msgstr "" #: templates/js/translated/company.js:546 msgid "Parts Supplied" -msgstr "Peças Fornecidas" +msgstr "" #: templates/js/translated/company.js:555 msgid "Parts Manufactured" -msgstr "Peças Fabricadas" +msgstr "" #: templates/js/translated/company.js:570 msgid "No company information found" -msgstr "Nenhuma informação da empresa encontrada" +msgstr "" #: templates/js/translated/company.js:619 msgid "Create New Contact" -msgstr "Criar Novo Contato" +msgstr "" #: templates/js/translated/company.js:635 #: templates/js/translated/company.js:758 msgid "Edit Contact" -msgstr "Editar Contato" +msgstr "" #: templates/js/translated/company.js:672 msgid "All selected contacts will be deleted" -msgstr "Todos os contatos selecionados serão apagados" +msgstr "" #: templates/js/translated/company.js:678 #: templates/js/translated/company.js:742 msgid "Role" -msgstr "Função" +msgstr "" #: templates/js/translated/company.js:686 msgid "Delete Contacts" -msgstr "Excluir Contatos" +msgstr "" #: templates/js/translated/company.js:717 msgid "No contacts found" -msgstr "Nenhum contato encontrado" +msgstr "" #: templates/js/translated/company.js:730 msgid "Phone Number" -msgstr "Número de telefone" +msgstr "" #: templates/js/translated/company.js:736 msgid "Email Address" -msgstr "Endereço de e-mail" +msgstr "" #: templates/js/translated/company.js:762 msgid "Delete Contact" -msgstr "Excluir Contato" +msgstr "" #: templates/js/translated/company.js:859 msgid "Create New Address" -msgstr "Criar Novo Endereço" +msgstr "" #: templates/js/translated/company.js:874 #: templates/js/translated/company.js:1035 msgid "Edit Address" -msgstr "Editar o Endereço" +msgstr "" #: templates/js/translated/company.js:909 msgid "All selected addresses will be deleted" -msgstr "Todos os endereços selecionados serão excluídos" +msgstr "" #: templates/js/translated/company.js:923 msgid "Delete Addresses" -msgstr "Excluir Endereço" +msgstr "" #: templates/js/translated/company.js:950 msgid "No addresses found" -msgstr "Nenhum endereço encontrado" +msgstr "" #: templates/js/translated/company.js:989 msgid "Postal city" -msgstr "Cidade Postal" +msgstr "" #: templates/js/translated/company.js:995 msgid "State/province" -msgstr "Estado/Provincia" +msgstr "" #: templates/js/translated/company.js:1007 msgid "Courier notes" -msgstr "Notas do entregador" +msgstr "" #: templates/js/translated/company.js:1013 msgid "Internal notes" -msgstr "Notas internas" +msgstr "" #: templates/js/translated/company.js:1039 msgid "Delete Address" -msgstr "Excluir Endereço" +msgstr "" #: templates/js/translated/company.js:1112 msgid "All selected manufacturer parts will be deleted" -msgstr "Todas as peças do fabricante selecionado serão excluídas" +msgstr "" #: templates/js/translated/company.js:1127 msgid "Delete Manufacturer Parts" -msgstr "Excluir Peças do Fabricante" +msgstr "" #: templates/js/translated/company.js:1161 msgid "All selected parameters will be deleted" -msgstr "Todos os parâmetros selecionados serão excluídos" +msgstr "" #: templates/js/translated/company.js:1175 msgid "Delete Parameters" -msgstr "Excluir Parâmetros" +msgstr "" #: templates/js/translated/company.js:1191 #: templates/js/translated/company.js:1479 templates/js/translated/part.js:2248 msgid "Order parts" -msgstr "Pedir peças" +msgstr "" #: templates/js/translated/company.js:1208 msgid "Delete manufacturer parts" -msgstr "Apagar peças do fabricante" +msgstr "" #: templates/js/translated/company.js:1240 msgid "Manufacturer part actions" -msgstr "Ações de peça do fabricante" +msgstr "" #: templates/js/translated/company.js:1259 msgid "No manufacturer parts found" -msgstr "Nenhuma peça do fabricante encontrada" +msgstr "" #: templates/js/translated/company.js:1279 #: templates/js/translated/company.js:1567 templates/js/translated/part.js:798 #: templates/js/translated/part.js:1214 msgid "Template part" -msgstr "Modelo de peça" +msgstr "" #: templates/js/translated/company.js:1283 #: templates/js/translated/company.js:1571 templates/js/translated/part.js:802 #: templates/js/translated/part.js:1218 msgid "Assembled part" -msgstr "Peça montada" +msgstr "" #: templates/js/translated/company.js:1403 templates/js/translated/part.js:1468 msgid "No parameters found" -msgstr "Nenhum parâmetro encontrado" +msgstr "" #: templates/js/translated/company.js:1438 templates/js/translated/part.js:1531 msgid "Edit parameter" -msgstr "Editar parâmetro" +msgstr "" #: templates/js/translated/company.js:1439 templates/js/translated/part.js:1532 msgid "Delete parameter" -msgstr "Excluir parâmetro" +msgstr "" #: templates/js/translated/company.js:1456 templates/js/translated/part.js:1437 msgid "Edit Parameter" -msgstr "Editar Parâmetro" +msgstr "" #: templates/js/translated/company.js:1465 templates/js/translated/part.js:1553 msgid "Delete Parameter" -msgstr "Excluir Parâmetro" +msgstr "" #: templates/js/translated/company.js:1496 msgid "Delete supplier parts" -msgstr "Excluir peças do fornecedor" +msgstr "" #: templates/js/translated/company.js:1546 msgid "No supplier parts found" -msgstr "Nenhum peça do fornecedor encontrada" +msgstr "" #: templates/js/translated/company.js:1664 msgid "Base Units" -msgstr "Unidade Base" +msgstr "" #: templates/js/translated/company.js:1694 msgid "Availability" -msgstr "Disponibilidade" +msgstr "" #: templates/js/translated/company.js:1725 msgid "Edit supplier part" -msgstr "Editar fornecedor da peça" +msgstr "" #: templates/js/translated/company.js:1726 msgid "Delete supplier part" -msgstr "Excluir peça do fornecedor" +msgstr "" #: templates/js/translated/company.js:1779 #: templates/js/translated/pricing.js:694 msgid "Delete Price Break" -msgstr "Excluir quebras de preço" +msgstr "" #: templates/js/translated/company.js:1789 #: templates/js/translated/pricing.js:712 msgid "Edit Price Break" -msgstr "Editar Quebra de Preço" +msgstr "" #: templates/js/translated/company.js:1804 msgid "No price break information found" -msgstr "Nenhuma informação de quebra de preço" +msgstr "" #: templates/js/translated/company.js:1833 msgid "Last updated" -msgstr "Última atualização" +msgstr "" #: templates/js/translated/company.js:1840 msgid "Edit price break" -msgstr "Editar quebra de preço" +msgstr "" #: templates/js/translated/company.js:1841 msgid "Delete price break" -msgstr "Excluir quebra de preço" +msgstr "" #: templates/js/translated/filters.js:186 #: templates/js/translated/filters.js:667 msgid "true" -msgstr "verdadeiro" +msgstr "" #: templates/js/translated/filters.js:190 #: templates/js/translated/filters.js:668 msgid "false" -msgstr "falso" +msgstr "" #: templates/js/translated/filters.js:214 msgid "Select filter" -msgstr "Selecionar filtro" +msgstr "" #: templates/js/translated/filters.js:437 msgid "Print Labels" -msgstr "Imprimir Etiquetas" +msgstr "" #: templates/js/translated/filters.js:441 msgid "Print Reports" -msgstr "Imprimir Relatórios" +msgstr "" #: templates/js/translated/filters.js:453 msgid "Download table data" -msgstr "Baixar dados da tabela" +msgstr "" #: templates/js/translated/filters.js:460 msgid "Reload table data" -msgstr "Recarregar dados da tabela" +msgstr "" #: templates/js/translated/filters.js:469 msgid "Add new filter" -msgstr "Adicionar novo filtro" +msgstr "" #: templates/js/translated/filters.js:477 msgid "Clear all filters" -msgstr "Limpar todos os filtros" +msgstr "" #: templates/js/translated/filters.js:577 msgid "Create filter" -msgstr "Criar filtro" +msgstr "" #: templates/js/translated/forms.js:378 templates/js/translated/forms.js:393 #: templates/js/translated/forms.js:407 templates/js/translated/forms.js:421 msgid "Action Prohibited" -msgstr "Ação proibida" +msgstr "" #: templates/js/translated/forms.js:380 msgid "Create operation not allowed" -msgstr "Operação de criação não permitida" +msgstr "" #: templates/js/translated/forms.js:395 msgid "Update operation not allowed" -msgstr "Operação de atualização não permitida" +msgstr "" #: templates/js/translated/forms.js:409 msgid "Delete operation not allowed" -msgstr "Operação de excluir não permitida" +msgstr "" #: templates/js/translated/forms.js:423 msgid "View operation not allowed" -msgstr "Operação de visualização não permitida" +msgstr "" #: templates/js/translated/forms.js:800 msgid "Keep this form open" -msgstr "Manter este formulário aberto" +msgstr "" #: templates/js/translated/forms.js:903 msgid "Enter a valid number" -msgstr "Insira um número válido" +msgstr "" #: templates/js/translated/forms.js:1477 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" -msgstr "Há erros de formulário" +msgstr "" #: templates/js/translated/forms.js:1975 msgid "No results found" -msgstr "Nenhum resultado encontrado" +msgstr "" #: templates/js/translated/forms.js:2286 templates/js/translated/search.js:239 msgid "Searching" -msgstr "Buscando" +msgstr "" #: templates/js/translated/forms.js:2500 msgid "Clear input" -msgstr "Limpar entrada" +msgstr "" #: templates/js/translated/forms.js:3102 msgid "File Column" -msgstr "Coluna de arquivos" +msgstr "" #: templates/js/translated/forms.js:3102 msgid "Field Name" -msgstr "Nome do Campo" +msgstr "" #: templates/js/translated/forms.js:3114 msgid "Select Columns" -msgstr "Selecionar Colunas" +msgstr "" #: templates/js/translated/helpers.js:77 msgid "YES" -msgstr "SIM" +msgstr "" #: templates/js/translated/helpers.js:80 msgid "NO" -msgstr "NÃO" +msgstr "" #: templates/js/translated/helpers.js:93 msgid "True" -msgstr "Verdadeiro" +msgstr "" #: templates/js/translated/helpers.js:94 msgid "False" -msgstr "Falso" +msgstr "" #: templates/js/translated/index.js:104 msgid "No parts required for builds" -msgstr "Nenhuma parte necessária para produção" +msgstr "" #: templates/js/translated/label.js:48 templates/js/translated/report.js:38 msgid "Select Items" -msgstr "Selecione os Itens" +msgstr "" #: templates/js/translated/label.js:49 templates/js/translated/report.js:39 msgid "No items selected for printing" -msgstr "Nenhum item selecionado para impressão" +msgstr "" #: templates/js/translated/label.js:143 msgid "Labels sent to printer" -msgstr "Etiquetas enviadas à impressora" +msgstr "" #: templates/js/translated/modals.js:59 templates/js/translated/modals.js:159 #: templates/js/translated/modals.js:688 msgid "Cancel" -msgstr "Cancelar" +msgstr "" #: templates/js/translated/modals.js:64 templates/js/translated/modals.js:158 #: templates/js/translated/modals.js:756 templates/js/translated/modals.js:1064 #: templates/modals.html:28 templates/modals.html:51 msgid "Submit" -msgstr "Enviar" +msgstr "" #: templates/js/translated/modals.js:157 msgid "Form Title" -msgstr "Título do Formulário" +msgstr "" #: templates/js/translated/modals.js:446 msgid "Waiting for server..." -msgstr "Aguardando o servidor..." +msgstr "" #: templates/js/translated/modals.js:597 msgid "Show Error Information" -msgstr "Mostrar Informação do Erro" +msgstr "" #: templates/js/translated/modals.js:687 msgid "Accept" -msgstr "Aceitar" +msgstr "" #: templates/js/translated/modals.js:745 msgid "Loading Data" -msgstr "Carregando dados" +msgstr "" #: templates/js/translated/modals.js:1016 msgid "Invalid response from server" -msgstr "Resposta inválida do servidor" +msgstr "" #: templates/js/translated/modals.js:1016 msgid "Form data missing from server response" -msgstr "Dado de formulário faltando na resposta do servidor" +msgstr "" #: templates/js/translated/modals.js:1028 msgid "Error posting form data" -msgstr "Erro ao postar os dados de formulários" +msgstr "" #: templates/js/translated/modals.js:1125 msgid "JSON response missing form data" -msgstr "Dados de formulário faltando na resposta JSON" +msgstr "" #: templates/js/translated/modals.js:1140 msgid "Error 400: Bad Request" -msgstr "Erro 400: Requisição Ruim" +msgstr "" #: templates/js/translated/modals.js:1141 msgid "Server returned error code 400" -msgstr "Servidor retornou o código de erro 400" +msgstr "" #: templates/js/translated/modals.js:1164 msgid "Error requesting form data" -msgstr "Erro ao pedir dados de formulário" +msgstr "" #: templates/js/translated/news.js:33 msgid "No news found" -msgstr "Nenhuma notícia encontrada" +msgstr "" #: templates/js/translated/news.js:38 #: templates/js/translated/notification.js:46 @@ -12693,363 +12693,363 @@ msgstr "" #: templates/js/translated/notification.js:52 msgid "Age" -msgstr "Idade" +msgstr "" #: templates/js/translated/notification.js:65 msgid "Notification" -msgstr "Notificação" +msgstr "" #: templates/js/translated/notification.js:224 msgid "Mark as unread" -msgstr "Marcar como não lido" +msgstr "" #: templates/js/translated/notification.js:228 msgid "Mark as read" -msgstr "Marcar como lido" +msgstr "" #: templates/js/translated/notification.js:254 msgid "No unread notifications" -msgstr "Nenhuma notificação pendente" +msgstr "" #: templates/js/translated/notification.js:296 templates/notifications.html:12 msgid "Notifications will load here" -msgstr "Notificações irão carregar aqui" +msgstr "" #: templates/js/translated/order.js:89 msgid "Add Extra Line Item" -msgstr "Adicionar Item de Linha Extra" +msgstr "" #: templates/js/translated/order.js:126 msgid "Export Order" -msgstr "Ordem de Exportação" +msgstr "" #: templates/js/translated/order.js:241 msgid "Duplicate Line" -msgstr "Duplicar Linha" +msgstr "" #: templates/js/translated/order.js:255 msgid "Edit Line" -msgstr "Editar Linha" +msgstr "" #: templates/js/translated/order.js:268 msgid "Delete Line" -msgstr "Apagar Linha" +msgstr "" #: templates/js/translated/order.js:281 #: templates/js/translated/purchase_order.js:1990 msgid "No line items found" -msgstr "Nenhum item de linha encontrado" +msgstr "" #: templates/js/translated/order.js:369 msgid "Duplicate line" -msgstr "Duplicar linha" +msgstr "" #: templates/js/translated/order.js:370 msgid "Edit line" -msgstr "Editar linha" +msgstr "" #: templates/js/translated/order.js:374 msgid "Delete line" -msgstr "Apagar linha" +msgstr "" #: templates/js/translated/part.js:90 msgid "Part Attributes" -msgstr "Atributos da Peça" +msgstr "" #: templates/js/translated/part.js:94 msgid "Part Creation Options" -msgstr "Opções de Criação de Peça" +msgstr "" #: templates/js/translated/part.js:98 msgid "Part Duplication Options" -msgstr "Opções de Duplicação de Peça" +msgstr "" #: templates/js/translated/part.js:121 msgid "Add Part Category" -msgstr "Adicionar Categoria de Peça" +msgstr "" #: templates/js/translated/part.js:332 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" -msgstr "Ícone (opcional) - Explorar todos os ícones disponíveis em" +msgstr "" #: templates/js/translated/part.js:352 msgid "Create Part Category" -msgstr "Criar Categoria de Peça" +msgstr "" #: templates/js/translated/part.js:355 msgid "Create new category after this one" -msgstr "Criar nova categoria após esta" +msgstr "" #: templates/js/translated/part.js:356 msgid "Part category created" -msgstr "Categoria da peça criada" +msgstr "" #: templates/js/translated/part.js:370 msgid "Edit Part Category" -msgstr "Editar Categoria da Peça" +msgstr "" #: templates/js/translated/part.js:383 msgid "Are you sure you want to delete this part category?" -msgstr "Você tem certeza que deseja excluir essa categoria de peça?" +msgstr "" #: templates/js/translated/part.js:388 msgid "Move to parent category" -msgstr "Mover para categoria parental" +msgstr "" #: templates/js/translated/part.js:397 msgid "Delete Part Category" -msgstr "Excluir Categoria de Peça" +msgstr "" #: templates/js/translated/part.js:401 msgid "Action for parts in this category" -msgstr "Ação para peças nesta categoria" +msgstr "" #: templates/js/translated/part.js:406 msgid "Action for child categories" -msgstr "Ação para categorias filhas" +msgstr "" #: templates/js/translated/part.js:430 msgid "Create Part" -msgstr "Criar Peça" +msgstr "" #: templates/js/translated/part.js:432 msgid "Create another part after this one" -msgstr "Criar outra peça após esta" +msgstr "" #: templates/js/translated/part.js:433 msgid "Part created successfully" -msgstr "Peça criada com sucesso" +msgstr "" #: templates/js/translated/part.js:461 msgid "Edit Part" -msgstr "Editar Peça" +msgstr "" #: templates/js/translated/part.js:463 msgid "Part edited" -msgstr "Peça editada" +msgstr "" #: templates/js/translated/part.js:474 msgid "Create Part Variant" -msgstr "Criar Variante da Peça" +msgstr "" #: templates/js/translated/part.js:531 msgid "Active Part" -msgstr "Peça Ativa" +msgstr "" #: templates/js/translated/part.js:532 msgid "Part cannot be deleted as it is currently active" -msgstr "Peça não pode ser excluída enquanto estiver ativa" +msgstr "" #: templates/js/translated/part.js:546 msgid "Deleting this part cannot be reversed" -msgstr "Excluir esta peça não é reversível" +msgstr "" #: templates/js/translated/part.js:548 msgid "Any stock items for this part will be deleted" -msgstr "Qualquer item de estoque desta peça será excluído" +msgstr "" #: templates/js/translated/part.js:549 msgid "This part will be removed from any Bills of Material" -msgstr "Esta peça será removida de quaisquer Lista de Materiais (BOM)" +msgstr "" #: templates/js/translated/part.js:550 msgid "All manufacturer and supplier information for this part will be deleted" -msgstr "Toda informação de fabricante e fornecedor dessa peça será excluída" +msgstr "" #: templates/js/translated/part.js:557 msgid "Delete Part" -msgstr "Excluir Peça" +msgstr "" #: templates/js/translated/part.js:593 msgid "You are subscribed to notifications for this item" -msgstr "Você está inscrito para receber notificações para este item" +msgstr "" #: templates/js/translated/part.js:595 msgid "You have subscribed to notifications for this item" -msgstr "Você se inscreveu para notificações deste item" +msgstr "" #: templates/js/translated/part.js:600 msgid "Subscribe to notifications for this item" -msgstr "Inscreva-se para receber notificações deste item" +msgstr "" #: templates/js/translated/part.js:602 msgid "You have unsubscribed to notifications for this item" -msgstr "Você descadastrou para notificações deste item" +msgstr "" #: templates/js/translated/part.js:619 msgid "Validating the BOM will mark each line item as valid" -msgstr "Validando a BOM irá marcar como cada linha válida" +msgstr "" #: templates/js/translated/part.js:629 msgid "Validate Bill of Materials" -msgstr "Validar Lista de Materiais (BOM)" +msgstr "" #: templates/js/translated/part.js:632 msgid "Validated Bill of Materials" -msgstr "Lista de Materiais Validada" +msgstr "" #: templates/js/translated/part.js:657 msgid "Copy Bill of Materials" -msgstr "Copiar Lista de Materiais (BOM)" +msgstr "" #: templates/js/translated/part.js:685 #: templates/js/translated/table_filters.js:752 msgid "Low stock" -msgstr "Estoque baixo" +msgstr "" #: templates/js/translated/part.js:688 msgid "No stock available" -msgstr "Nenhum estoque disponível" +msgstr "" #: templates/js/translated/part.js:748 msgid "Demand" -msgstr "Demanda" +msgstr "" #: templates/js/translated/part.js:771 msgid "Unit" -msgstr "Unidade" +msgstr "" #: templates/js/translated/part.js:794 templates/js/translated/part.js:1210 msgid "Virtual part" -msgstr "Peça virtual" +msgstr "" #: templates/js/translated/part.js:806 msgid "Subscribed part" -msgstr "Peça inscrita" +msgstr "" #: templates/js/translated/part.js:810 msgid "Salable part" -msgstr "Peça vendível" +msgstr "" #: templates/js/translated/part.js:893 msgid "Schedule generation of a new stocktake report." -msgstr "Programar geração de um novo relatório de balanço." +msgstr "" #: templates/js/translated/part.js:893 msgid "Once complete, the stocktake report will be available for download." -msgstr "Uma vez concluído, o relatório de estoque estará disponível para baixar." +msgstr "" #: templates/js/translated/part.js:901 msgid "Generate Stocktake Report" -msgstr "Gerar Relatório de Balanço" +msgstr "" #: templates/js/translated/part.js:905 msgid "Stocktake report scheduled" -msgstr "Relatório de balanço agendado" +msgstr "" #: templates/js/translated/part.js:1054 msgid "No stocktake information available" -msgstr "Nenhuma informação de balanço disponível" +msgstr "" #: templates/js/translated/part.js:1112 templates/js/translated/part.js:1148 msgid "Edit Stocktake Entry" -msgstr "Editar Lançamento de Balanço" +msgstr "" #: templates/js/translated/part.js:1116 templates/js/translated/part.js:1158 msgid "Delete Stocktake Entry" -msgstr "Apagar Lançamento de Balanço" +msgstr "" #: templates/js/translated/part.js:1285 msgid "No variants found" -msgstr "Nenhuma variante encontrada" +msgstr "" #: templates/js/translated/part.js:1603 msgid "No part parameter templates found" -msgstr "Nenhum modelo parâmetro de peça encontrado" +msgstr "" #: templates/js/translated/part.js:1666 msgid "Edit Part Parameter Template" -msgstr "Editar Modelo de Parâmetro da Peça" +msgstr "" #: templates/js/translated/part.js:1678 msgid "Any parameters which reference this template will also be deleted" -msgstr "Quaisquer parâmetros que se referencie este modelo serão excluídos" +msgstr "" #: templates/js/translated/part.js:1686 msgid "Delete Part Parameter Template" -msgstr "Excluir Modelo de Parâmetro de Peça" +msgstr "" #: templates/js/translated/part.js:1720 #: templates/js/translated/purchase_order.js:1654 msgid "No purchase orders found" -msgstr "Nenhum pedido de compra encontrado" +msgstr "" #: templates/js/translated/part.js:1864 #: 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 "Este item de linha está atrasado" +msgstr "" #: templates/js/translated/part.js:1910 #: templates/js/translated/purchase_order.js:2220 msgid "Receive line item" -msgstr "Receber item de linha" +msgstr "" #: templates/js/translated/part.js:1973 msgid "Delete part relationship" -msgstr "Excluir relação de peças" +msgstr "" #: templates/js/translated/part.js:1995 msgid "Delete Part Relationship" -msgstr "Excluir Relação de Peça" +msgstr "" #: templates/js/translated/part.js:2083 templates/js/translated/part.js:2509 msgid "No parts found" -msgstr "Nenhuma peça encontrada" +msgstr "" #: templates/js/translated/part.js:2204 msgid "Set the part category for the selected parts" -msgstr "Definir a categoria das peças selecionadas" +msgstr "" #: templates/js/translated/part.js:2209 msgid "Set Part Category" -msgstr "Definir Categoria da Peça" +msgstr "" #: templates/js/translated/part.js:2239 msgid "Set category" -msgstr "Definir categoria" +msgstr "" #: templates/js/translated/part.js:2290 msgid "part" -msgstr "peça" +msgstr "" #: templates/js/translated/part.js:2291 msgid "parts" -msgstr "peças" +msgstr "" #: templates/js/translated/part.js:2387 msgid "No category" -msgstr "Nenhuma categoria" +msgstr "" #: templates/js/translated/part.js:2534 templates/js/translated/part.js:2664 #: templates/js/translated/stock.js:2669 msgid "Display as list" -msgstr "Visualizar como lista" +msgstr "" #: templates/js/translated/part.js:2550 msgid "Display as grid" -msgstr "Exibir como grade" +msgstr "" #: templates/js/translated/part.js:2648 msgid "No subcategories found" -msgstr "Nenhuma subcategoria encontrada" +msgstr "" #: templates/js/translated/part.js:2684 templates/js/translated/stock.js:2689 msgid "Display as tree" -msgstr "Exibir como árvore" +msgstr "" #: templates/js/translated/part.js:2764 msgid "Load Subcategories" -msgstr "Carregar Subcategorias" +msgstr "" #: templates/js/translated/part.js:2780 msgid "Subscribed category" -msgstr "Categoria inscrita" +msgstr "" #: templates/js/translated/part.js:2868 msgid "No test templates matching query" -msgstr "Nenhum modelo de teste corresponde à consulta" +msgstr "" #: templates/js/translated/part.js:2890 templates/js/translated/search.js:342 msgid "results" @@ -13057,112 +13057,112 @@ msgstr "" #: templates/js/translated/part.js:2940 templates/js/translated/stock.js:1456 msgid "Edit test result" -msgstr "Editar resultados de teste" +msgstr "" #: templates/js/translated/part.js:2941 templates/js/translated/stock.js:1457 #: templates/js/translated/stock.js:1731 msgid "Delete test result" -msgstr "Excluir resultado do teste" +msgstr "" #: templates/js/translated/part.js:2945 msgid "This test is defined for a parent part" -msgstr "Este teste é definido para uma peça parental" +msgstr "" #: templates/js/translated/part.js:2961 msgid "Edit Test Result Template" -msgstr "Editar Modelo de Resultado de Teste" +msgstr "" #: templates/js/translated/part.js:2975 msgid "Delete Test Result Template" -msgstr "Excluir Modelo de Resultado de Teste" +msgstr "" #: templates/js/translated/part.js:3054 templates/js/translated/part.js:3055 msgid "No date specified" -msgstr "Nenhuma data especificada" +msgstr "" #: templates/js/translated/part.js:3057 msgid "Specified date is in the past" -msgstr "Data especificada está no passado" +msgstr "" #: templates/js/translated/part.js:3063 msgid "Speculative" -msgstr "Especulativo" +msgstr "" #: templates/js/translated/part.js:3113 msgid "No scheduling information available for this part" -msgstr "Nenhuma informação de agendamento para esta peça" +msgstr "" #: templates/js/translated/part.js:3119 msgid "Error fetching scheduling information for this part" -msgstr "Erro ao obter informações de agendamento para esta peça" +msgstr "" #: templates/js/translated/part.js:3215 msgid "Scheduled Stock Quantities" -msgstr "Quantidades de Estoque Agendadas" +msgstr "" #: templates/js/translated/part.js:3231 msgid "Maximum Quantity" -msgstr "Quantidade Máxima" +msgstr "" #: templates/js/translated/part.js:3276 msgid "Minimum Stock Level" -msgstr "Nível Mínimo de Estoque" +msgstr "" #: templates/js/translated/plugin.js:46 msgid "No plugins found" -msgstr "Nenhum plug-in encontrado" +msgstr "" #: templates/js/translated/plugin.js:58 msgid "This plugin is no longer installed" -msgstr "Este plug-in não está mais instalado" +msgstr "" #: templates/js/translated/plugin.js:60 msgid "This plugin is active" -msgstr "Este plug-in está ativo" +msgstr "" #: templates/js/translated/plugin.js:62 msgid "This plugin is installed but not active" -msgstr "Este plug-in está instalado mas não está ativo" +msgstr "" #: templates/js/translated/plugin.js:117 templates/js/translated/plugin.js:186 msgid "Disable Plugin" -msgstr "Desativar Plug-in" +msgstr "" #: templates/js/translated/plugin.js:119 templates/js/translated/plugin.js:186 msgid "Enable Plugin" -msgstr "Habilitar Plug-in" +msgstr "" #: templates/js/translated/plugin.js:158 msgid "The Plugin was installed" -msgstr "O Plug-in foi instalado" +msgstr "" #: templates/js/translated/plugin.js:177 msgid "Are you sure you want to enable this plugin?" -msgstr "Tem certeza que deseja habilitar este plug-in?" +msgstr "" #: templates/js/translated/plugin.js:181 msgid "Are you sure you want to disable this plugin?" -msgstr "Tem certeza que deseja desabilitar este plug-in?" +msgstr "" #: templates/js/translated/plugin.js:189 msgid "Enable" -msgstr "Habilitar" +msgstr "" #: templates/js/translated/plugin.js:189 msgid "Disable" -msgstr "Desabilitar" +msgstr "" #: templates/js/translated/plugin.js:203 msgid "Plugin updated" -msgstr "Plug-in atualizado" +msgstr "" #: templates/js/translated/pricing.js:159 msgid "Error fetching currency data" -msgstr "Erro ao buscar dados monetários" +msgstr "" #: templates/js/translated/pricing.js:321 msgid "No BOM data available" -msgstr "Nenhum dado da BOM disponível" +msgstr "" #: templates/js/translated/pricing.js:463 msgid "No supplier pricing data available" @@ -13186,15 +13186,15 @@ msgstr "" #: templates/js/translated/pricing.js:916 msgid "Sale Price History" -msgstr "Histórico de Preço de Venda" +msgstr "" #: templates/js/translated/pricing.js:1005 msgid "No variant data available" -msgstr "Nenhum dado de variante disponível" +msgstr "" #: templates/js/translated/pricing.js:1045 msgid "Variant Part" -msgstr "Peça Variante" +msgstr "" #: templates/js/translated/purchase_order.js:169 msgid "Select purchase order to duplicate" @@ -13343,56 +13343,56 @@ msgstr "" #: templates/js/translated/purchase_order.js:1280 msgid "Serials" -msgstr "Seriais" +msgstr "" #: templates/js/translated/purchase_order.js:1305 msgid "Order Code" -msgstr "Código do Pedido" +msgstr "" #: templates/js/translated/purchase_order.js:1307 msgid "Quantity to Receive" -msgstr "Quantidade a Receber" +msgstr "" #: templates/js/translated/purchase_order.js:1333 #: templates/js/translated/return_order.js:560 msgid "Confirm receipt of items" -msgstr "Confirmar o recebimento dos itens" +msgstr "" #: templates/js/translated/purchase_order.js:1334 msgid "Receive Purchase Order Items" -msgstr "Receber Itens do Pedido de Compra" +msgstr "" #: templates/js/translated/purchase_order.js:1402 msgid "Scan Item Barcode" -msgstr "Escanar o Código de Barras do Item" +msgstr "" #: templates/js/translated/purchase_order.js:1403 msgid "Scan barcode on incoming item (must not match any existing stock items)" -msgstr "Ler código de barras no item de entrada (não deve corresponder a nenhum item de estoque existente)" +msgstr "" #: templates/js/translated/purchase_order.js:1417 msgid "Invalid barcode data" -msgstr "Dados do código de barras inválido" +msgstr "" #: 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 "O pedido está atrasado" +msgstr "" #: templates/js/translated/purchase_order.js:1843 msgid "All selected Line items will be deleted" -msgstr "Todos os Itens de Linha selecionadas serão excluídos" +msgstr "" #: templates/js/translated/purchase_order.js:1861 msgid "Delete selected Line items?" -msgstr "Excluir itens de linha selecionados?" +msgstr "" #: templates/js/translated/purchase_order.js:1916 #: templates/js/translated/sales_order.js:2106 msgid "Duplicate Line Item" -msgstr "Duplicar Item de Linha" +msgstr "" #: templates/js/translated/purchase_order.js:1931 #: templates/js/translated/return_order.js:475 @@ -13443,53 +13443,53 @@ msgstr "" #: templates/js/translated/return_order.js:134 msgid "Create Return Order" -msgstr "Criar Pedido de Devolução" +msgstr "" #: templates/js/translated/return_order.js:149 msgid "Edit Return Order" -msgstr "Editar Pedido de Devolução" +msgstr "" #: templates/js/translated/return_order.js:169 msgid "Issue Return Order" -msgstr "Emitir Pedido de Devolução" +msgstr "" #: templates/js/translated/return_order.js:186 msgid "Are you sure you wish to cancel this Return Order?" -msgstr "Tem certeza que deseja cancelar este Pedido de Devolução?" +msgstr "" #: templates/js/translated/return_order.js:193 msgid "Cancel Return Order" -msgstr "Cancelar Pedido de Devolução" +msgstr "" #: templates/js/translated/return_order.js:218 msgid "Complete Return Order" -msgstr "Completar Pedido de Devolução" +msgstr "" #: templates/js/translated/return_order.js:265 msgid "No return orders found" -msgstr "Nenhum pedido de devolução encontrado" +msgstr "" #: templates/js/translated/return_order.js:299 #: templates/js/translated/sales_order.js:824 msgid "Invalid Customer" -msgstr "Cliente Inválido" +msgstr "" #: templates/js/translated/return_order.js:561 msgid "Receive Return Order Items" -msgstr "Receber Itens do Pedido de Devolução" +msgstr "" #: templates/js/translated/return_order.js:692 #: templates/js/translated/sales_order.js:2267 msgid "No matching line items" -msgstr "Nenhum item de linha correspondente" +msgstr "" #: templates/js/translated/return_order.js:797 msgid "Mark item as received" -msgstr "Marcar item como recebido" +msgstr "" #: templates/js/translated/sales_order.js:161 msgid "Create Sales Order" -msgstr "Criar Pedido de Venda" +msgstr "" #: templates/js/translated/sales_order.js:176 msgid "Edit Sales Order" @@ -13606,15 +13606,15 @@ msgstr "" #: templates/js/translated/sales_order.js:1084 msgid "Tracking" -msgstr "Rastreamento" +msgstr "" #: templates/js/translated/sales_order.js:1088 msgid "Invoice" -msgstr "Fatura" +msgstr "" #: templates/js/translated/sales_order.js:1255 msgid "Add Shipment" -msgstr "Adicionar Envio" +msgstr "" #: templates/js/translated/sales_order.js:1306 msgid "Confirm stock allocation" @@ -13653,16 +13653,16 @@ msgstr "" #: templates/js/translated/sales_order.js:2044 msgid "Allocate serial numbers" -msgstr "Alocar números de série" +msgstr "" #: templates/js/translated/sales_order.js:2048 msgid "Purchase stock" -msgstr "Comprar estoque" +msgstr "" #: templates/js/translated/sales_order.js:2057 #: templates/js/translated/sales_order.js:2245 msgid "Calculate price" -msgstr "Calcular preço" +msgstr "" #: templates/js/translated/sales_order.js:2071 msgid "Cannot be deleted as items have been shipped" @@ -13678,15 +13678,15 @@ msgstr "" #: templates/js/translated/sales_order.js:2253 msgid "Update Unit Price" -msgstr "Atualizar Preço Unitário" +msgstr "" #: templates/js/translated/search.js:270 msgid "No results" -msgstr "Nenhum resultado" +msgstr "" #: templates/js/translated/search.js:292 templates/search.html:25 msgid "Enter search query" -msgstr "Inserir entrada de pesquisa" +msgstr "" #: templates/js/translated/search.js:342 msgid "result" @@ -13706,23 +13706,23 @@ msgstr "" #: templates/js/translated/stock.js:129 msgid "Confirm Stock Serialization" -msgstr "Confirmar Serialização de Estoque" +msgstr "" #: templates/js/translated/stock.js:139 msgid "Default icon for all locations that have no icon set (optional) - Explore all available icons on" -msgstr "Ícone padrão para todas as locações que não têm um ícone definido (opcional) - Explorar todos os ícones disponíveis em" +msgstr "" #: templates/js/translated/stock.js:166 msgid "Add Location type" -msgstr "Adicionar Tipo de Localização" +msgstr "" #: templates/js/translated/stock.js:202 msgid "Edit Stock Location" -msgstr "Editar Local de Estoque" +msgstr "" #: templates/js/translated/stock.js:217 msgid "New Stock Location" -msgstr "Novo Local de Estoque" +msgstr "" #: templates/js/translated/stock.js:219 msgid "Create another location after this one" @@ -13762,31 +13762,31 @@ msgstr "" #: templates/js/translated/stock.js:362 msgid "Enter initial quantity for this stock item" -msgstr "Inserir quantidade inicial deste item de estoque" +msgstr "" #: templates/js/translated/stock.js:368 msgid "Enter serial numbers for new stock (or leave blank)" -msgstr "Insira os números de série para novo estoque (ou deixe em branco)" +msgstr "" #: templates/js/translated/stock.js:439 msgid "Stock item duplicated" -msgstr "Item de estoque duplicado" +msgstr "" #: templates/js/translated/stock.js:459 msgid "Duplicate Stock Item" -msgstr "Duplicar Item de Estoque" +msgstr "" #: templates/js/translated/stock.js:475 msgid "Are you sure you want to delete this stock item?" -msgstr "Você tem certeza que deseja excluir este item de estoque?" +msgstr "" #: templates/js/translated/stock.js:480 msgid "Delete Stock Item" -msgstr "Excluir Item de Estoque" +msgstr "" #: templates/js/translated/stock.js:501 msgid "Edit Stock Item" -msgstr "Editar Item do Estoque" +msgstr "" #: templates/js/translated/stock.js:543 msgid "Create another item after this one" @@ -13854,55 +13854,55 @@ msgstr "" #: templates/js/translated/stock.js:1024 msgid "Transfer Stock" -msgstr "Transferir Estoque" +msgstr "" #: templates/js/translated/stock.js:1025 msgid "Move" -msgstr "Mover" +msgstr "" #: templates/js/translated/stock.js:1031 msgid "Count Stock" -msgstr "Contar Estoque" +msgstr "" #: templates/js/translated/stock.js:1032 msgid "Count" -msgstr "Contar" +msgstr "" #: templates/js/translated/stock.js:1036 msgid "Remove Stock" -msgstr "Remover Estoque" +msgstr "" #: templates/js/translated/stock.js:1037 msgid "Take" -msgstr "Pegar" +msgstr "" #: templates/js/translated/stock.js:1041 msgid "Add Stock" -msgstr "Adicionar Estoque" +msgstr "" #: templates/js/translated/stock.js:1042 users/models.py:396 msgid "Add" -msgstr "Adicionar" +msgstr "" #: templates/js/translated/stock.js:1046 msgid "Delete Stock" -msgstr "Excluir Estoque" +msgstr "" #: templates/js/translated/stock.js:1146 msgid "Quantity cannot be adjusted for serialized stock" -msgstr "Quantidade não pode ser ajustada para estoque serializado" +msgstr "" #: templates/js/translated/stock.js:1146 msgid "Specify stock quantity" -msgstr "Especifique quantidade no estoque" +msgstr "" #: templates/js/translated/stock.js:1180 templates/js/translated/stock.js:3299 msgid "Select Stock Items" -msgstr "Selecionar Itens de Estoque" +msgstr "" #: templates/js/translated/stock.js:1181 msgid "Select at least one available stock item" -msgstr "Selecione ao menos um item de estoque disponível" +msgstr "" #: templates/js/translated/stock.js:1227 msgid "Confirm stock adjustment" @@ -13910,31 +13910,31 @@ msgstr "" #: templates/js/translated/stock.js:1363 msgid "PASS" -msgstr "PASSOU" +msgstr "" #: templates/js/translated/stock.js:1365 msgid "FAIL" -msgstr "FALHOU" +msgstr "" #: templates/js/translated/stock.js:1370 msgid "NO RESULT" -msgstr "SEM RESULTADO" +msgstr "" #: templates/js/translated/stock.js:1450 msgid "Pass test" -msgstr "Passou no teste" +msgstr "" #: templates/js/translated/stock.js:1453 msgid "Add test result" -msgstr "Adicionar resultado de teste" +msgstr "" #: templates/js/translated/stock.js:1476 msgid "No test results found" -msgstr "Nenhum resultado de teste encontrado" +msgstr "" #: templates/js/translated/stock.js:1540 msgid "Test Date" -msgstr "Data do Teste" +msgstr "" #: templates/js/translated/stock.js:1553 msgid "Test started" @@ -13946,55 +13946,55 @@ msgstr "" #: templates/js/translated/stock.js:1716 msgid "Edit Test Result" -msgstr "Editar Resultado do Teste" +msgstr "" #: templates/js/translated/stock.js:1736 msgid "Delete Test Result" -msgstr "Excluir Resultado do Teste" +msgstr "" #: templates/js/translated/stock.js:1768 msgid "In production" -msgstr "Em produção" +msgstr "" #: templates/js/translated/stock.js:1772 msgid "Installed in Stock Item" -msgstr "Instalado em Item de Estoque" +msgstr "" #: templates/js/translated/stock.js:1780 msgid "Assigned to Sales Order" -msgstr "Atribuir para o Pedido de Venda" +msgstr "" #: templates/js/translated/stock.js:1786 msgid "No stock location set" -msgstr "Sem local de estoque definido" +msgstr "" #: templates/js/translated/stock.js:1842 msgid "Change stock status" -msgstr "Mudar estado do estoque" +msgstr "" #: templates/js/translated/stock.js:1851 msgid "Merge stock" -msgstr "Mesclar estoque" +msgstr "" #: templates/js/translated/stock.js:1900 msgid "Delete stock" -msgstr "Excluir estoque" +msgstr "" #: templates/js/translated/stock.js:1953 msgid "stock items" -msgstr "itens de estoque" +msgstr "" #: templates/js/translated/stock.js:1958 msgid "Scan to location" -msgstr "Escanear para local" +msgstr "" #: templates/js/translated/stock.js:1969 msgid "Stock Actions" -msgstr "Ações de Estoque" +msgstr "" #: templates/js/translated/stock.js:2013 msgid "Load installed items" -msgstr "Carregar itens instalados" +msgstr "" #: templates/js/translated/stock.js:2091 msgid "Stock item is in production" @@ -14075,11 +14075,11 @@ msgstr "" #: templates/js/translated/stock.js:2846 msgid "Details" -msgstr "Detalhes" +msgstr "" #: templates/js/translated/stock.js:2850 msgid "No changes" -msgstr "Nenhuma mudança" +msgstr "" #: templates/js/translated/stock.js:2862 msgid "Part information unavailable" @@ -14115,15 +14115,15 @@ msgstr "" #: templates/js/translated/stock.js:3005 msgid "Added" -msgstr "Adicionado" +msgstr "" #: templates/js/translated/stock.js:3013 msgid "Removed" -msgstr "Removido" +msgstr "" #: templates/js/translated/stock.js:3085 msgid "No installed items" -msgstr "Nenhum item instalado" +msgstr "" #: templates/js/translated/stock.js:3139 templates/js/translated/stock.js:3175 msgid "Uninstall Stock Item" @@ -14143,7 +14143,7 @@ msgstr "" #: templates/js/translated/stock.js:3221 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" -msgstr "O Item de Estoque conecta a uma peça que é um BOM deste Item de Estoque" +msgstr "" #: templates/js/translated/stock.js:3222 msgid "The Stock Item is currently available in stock" @@ -14231,58 +14231,58 @@ msgstr "" #: templates/js/translated/table_filters.js:279 #: templates/js/translated/table_filters.js:711 msgid "Include subcategories" -msgstr "Incluir subcategorias" +msgstr "" #: templates/js/translated/table_filters.js:287 #: templates/js/translated/table_filters.js:764 msgid "Subscribed" -msgstr "Inscrito" +msgstr "" #: templates/js/translated/table_filters.js:298 #: templates/js/translated/table_filters.js:380 msgid "Is Serialized" -msgstr "É Serializado" +msgstr "" #: templates/js/translated/table_filters.js:301 #: templates/js/translated/table_filters.js:387 msgid "Serial number GTE" -msgstr "Número de série GTE" +msgstr "" #: templates/js/translated/table_filters.js:302 #: templates/js/translated/table_filters.js:388 msgid "Serial number greater than or equal to" -msgstr "Número de série maior ou igual a" +msgstr "" #: templates/js/translated/table_filters.js:305 #: templates/js/translated/table_filters.js:391 msgid "Serial number LTE" -msgstr "Número de série LTE" +msgstr "" #: templates/js/translated/table_filters.js:306 #: templates/js/translated/table_filters.js:392 msgid "Serial number less than or equal to" -msgstr "Número de série menor ou igual a" +msgstr "" #: 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 "Número de série" +msgstr "" #: templates/js/translated/table_filters.js:314 #: templates/js/translated/table_filters.js:405 msgid "Batch code" -msgstr "Código do lote" +msgstr "" #: templates/js/translated/table_filters.js:325 #: templates/js/translated/table_filters.js:700 msgid "Active parts" -msgstr "Peças Ativas" +msgstr "" #: templates/js/translated/table_filters.js:326 msgid "Show stock for active parts" -msgstr "Mostrar estoque de peças ativas" +msgstr "" #: templates/js/translated/table_filters.js:331 msgid "Part is an assembly" @@ -14492,47 +14492,47 @@ msgstr "" #: templates/js/translated/tables.js:549 msgid "Hide/Show pagination" -msgstr "Ocultar/Mostrar paginação" +msgstr "" #: templates/js/translated/tables.js:555 msgid "Toggle" -msgstr "Alternar" +msgstr "" #: templates/js/translated/tables.js:561 msgid "All" -msgstr "Todos" +msgstr "" #: templates/navbar.html:45 msgid "Buy" -msgstr "Comprar" +msgstr "" #: templates/navbar.html:57 msgid "Sell" -msgstr "Vender" +msgstr "" #: templates/navbar.html:121 msgid "Show Notifications" -msgstr "Mostrar Notificações" +msgstr "" #: templates/navbar.html:124 msgid "New Notifications" -msgstr "Novas Notificações" +msgstr "" #: templates/navbar.html:144 users/models.py:201 msgid "Admin" -msgstr "Administrador" +msgstr "" #: templates/navbar.html:148 msgid "Logout" -msgstr "Encerrar sessão" +msgstr "" #: templates/notes_buttons.html:6 templates/notes_buttons.html:7 msgid "Save" -msgstr "Salvar" +msgstr "" #: templates/notifications.html:9 msgid "Show all notifications and history" -msgstr "Mostrar todas as notificações e histórico" +msgstr "" #: templates/pui_banner.html:9 msgid "Platform UI - the new UI for InvenTree - provides more modern administration options." @@ -14552,80 +14552,80 @@ msgstr "" #: templates/qr_code.html:11 msgid "QR data not provided" -msgstr "Nenhum dado QR providenciado" +msgstr "" #: templates/registration/logged_out.html:7 msgid "You were logged out successfully." -msgstr "Você foi desconectado com sucesso." +msgstr "" #: templates/registration/logged_out.html:9 msgid "Log in again" -msgstr "Entrar novamente" +msgstr "" #: templates/search.html:9 msgid "Show full search results" -msgstr "Mostrar todos os resultados da pesquisa" +msgstr "" #: templates/search.html:12 msgid "Clear search" -msgstr "Limpar pesquisa" +msgstr "" #: templates/search.html:15 msgid "Close search menu" -msgstr "Fechar menu de pesuisa" +msgstr "" #: templates/socialaccount/authentication_error.html:5 msgid "Social Network Login Failure" -msgstr "Falha ao acessar a rede social" +msgstr "" #: templates/socialaccount/authentication_error.html:8 msgid "Account Login Failure" -msgstr "Falha ao acessar conta" +msgstr "" #: templates/socialaccount/authentication_error.html:11 msgid "An error occurred while attempting to login via your social network account." -msgstr "Ocorreu um erro ao tentar entrar com a sua conta de rede social." +msgstr "" #: templates/socialaccount/authentication_error.html:13 msgid "Contact your system administrator for further information." -msgstr "Contate seu administrador de sistema para mais informações." +msgstr "" #: templates/socialaccount/login.html:13 #, python-format msgid "Connect %(provider)s" -msgstr "Conectar %(provider)s" +msgstr "" #: templates/socialaccount/login.html:15 #, python-format msgid "You are about to connect a new third party account from %(provider)s." -msgstr "Você está prestes a conectar uma nova conta de terceiros do %(provider)s." +msgstr "" #: templates/socialaccount/login.html:17 #, python-format msgid "Sign In Via %(provider)s" -msgstr "Entrar através %(provider)s" +msgstr "" #: templates/socialaccount/login.html:19 #, python-format msgid "You are about to sign in using a third party account from %(provider)s." -msgstr "Você está prestes a entrar utilizando uma conta de terceiros de %(provider)s." +msgstr "" #: templates/socialaccount/login.html:24 msgid "Continue" -msgstr "Continuar" +msgstr "" #: templates/socialaccount/login.html:29 msgid "Invalid SSO Provider" -msgstr "Provedor SSO inválido" +msgstr "" #: templates/socialaccount/login.html:31 msgid "The selected SSO provider is invalid, or has not been correctly configured" -msgstr "O provedor de SSO selecionado é inválido ou não foi configurado corretamente" +msgstr "" #: 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 "Você está prestes a usar sua conta %(provider_name)s para entrar no %(site_name)s." +msgstr "" #: templates/socialaccount/signup.html:13 msgid "As a final step, please complete the following form" @@ -14633,173 +14633,173 @@ msgstr "" #: templates/socialaccount/snippets/provider_list.html:26 msgid "Provider has not been configured" -msgstr "O provedor não foi configurado" +msgstr "" #: templates/socialaccount/snippets/provider_list.html:35 msgid "No SSO providers have been configured" -msgstr "Nenhum provedor de SSO foi configurado" +msgstr "" #: templates/stats.html:13 msgid "Instance Name" -msgstr "Nome da Instância" +msgstr "" #: templates/stats.html:18 msgid "Database" -msgstr "Banco de Dados" +msgstr "" #: templates/stats.html:26 msgid "Server is running in debug mode" -msgstr "O servidor está executando no modo de depuração" +msgstr "" #: templates/stats.html:33 msgid "Docker Mode" -msgstr "Modo Docker" +msgstr "" #: templates/stats.html:34 msgid "Server is deployed using docker" -msgstr "O servidor está implantado usando o docker" +msgstr "" #: templates/stats.html:39 msgid "Plugin Support" -msgstr "Suporte a Extensões" +msgstr "" #: templates/stats.html:43 msgid "Plugin support enabled" -msgstr "Suporte a extensões habilitado" +msgstr "" #: templates/stats.html:45 msgid "Plugin support disabled" -msgstr "Suporte de extensão desativado" +msgstr "" #: templates/stats.html:52 msgid "Server status" -msgstr "Estado do Servidor" +msgstr "" #: templates/stats.html:55 msgid "Healthy" -msgstr "Saudável" +msgstr "" #: templates/stats.html:57 msgid "Issues detected" -msgstr "Problemas detectados" +msgstr "" #: templates/stats.html:64 msgid "Background Worker" -msgstr "Funcionário em segundo plano" +msgstr "" #: templates/stats.html:67 msgid "Background worker not running" -msgstr "Trabalhador de fundo não está em execução" +msgstr "" #: templates/stats.html:75 msgid "Email Settings" -msgstr "Configurações de Email" +msgstr "" #: templates/stats.html:78 msgid "Email settings not configured" -msgstr "Configurações de e-mail não configuradas" +msgstr "" #: templates/yesnolabel.html:4 msgid "Yes" -msgstr "Sim" +msgstr "" #: templates/yesnolabel.html:6 msgid "No" -msgstr "Não" +msgstr "" #: users/admin.py:104 msgid "Users" -msgstr "Usuários" +msgstr "" #: users/admin.py:105 msgid "Select which users are assigned to this group" -msgstr "Selecione quais usuários estão atribuídos a este grupo" +msgstr "" #: users/admin.py:249 msgid "The following users are members of multiple groups" -msgstr "Os seguintes usuários são membros de vários grupos" +msgstr "" #: users/admin.py:283 msgid "Personal info" -msgstr "Informações pessoais" +msgstr "" #: users/admin.py:285 msgid "Permissions" -msgstr "Permissões" +msgstr "" #: users/admin.py:288 msgid "Important dates" -msgstr "Datas importantes" +msgstr "" #: users/authentication.py:29 users/models.py:138 msgid "Token has been revoked" -msgstr "O token foi revogado" +msgstr "" #: users/authentication.py:32 msgid "Token has expired" -msgstr "Token expirou" +msgstr "" #: users/models.py:81 msgid "API Token" -msgstr "Token da API" +msgstr "" #: users/models.py:82 msgid "API Tokens" -msgstr "Tokens de API" +msgstr "" #: users/models.py:118 msgid "Token Name" -msgstr "Nome do Token" +msgstr "" #: users/models.py:119 msgid "Custom token name" -msgstr "Nome de token personalizado" +msgstr "" #: users/models.py:125 msgid "Token expiry date" -msgstr "Data de validade do token" +msgstr "" #: users/models.py:133 msgid "Last Seen" -msgstr "Visto pela Última Vez" +msgstr "" #: users/models.py:134 msgid "Last time the token was used" -msgstr "Última vez que o token foi usado" +msgstr "" #: users/models.py:138 msgid "Revoked" -msgstr "Revogado" +msgstr "" #: users/models.py:379 msgid "Permission set" -msgstr "Permissão definida" +msgstr "" #: users/models.py:388 msgid "Group" -msgstr "Grupo" +msgstr "" #: users/models.py:392 msgid "View" -msgstr "Visualizar" +msgstr "" #: users/models.py:392 msgid "Permission to view items" -msgstr "Permissão para ver itens" +msgstr "" #: users/models.py:396 msgid "Permission to add items" -msgstr "Permissão para adicionar itens" +msgstr "" #: users/models.py:400 msgid "Change" -msgstr "Alterar" +msgstr "" #: users/models.py:402 msgid "Permissions to edit items" -msgstr "Permissões para editar itens" +msgstr "" #: users/models.py:408 msgid "Permission to delete items" -msgstr "Permissão para excluir itens" +msgstr "" From dd08d488c7a2283235f8ab7f65992dcf09d693f6 Mon Sep 17 00:00:00 2001 From: Oliver Date: Tue, 9 Jul 2024 00:56:54 +1000 Subject: [PATCH 29/36] Fix: New translations django.po from Crowdin --- .../InvenTree/locale/id/LC_MESSAGES/django.po | 91 +++++-------------- 1 file changed, 24 insertions(+), 67 deletions(-) diff --git a/src/backend/InvenTree/locale/id/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/id/LC_MESSAGES/django.po index 769f841b493d..5de3f426f021 100644 --- a/src/backend/InvenTree/locale/id/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/id/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-07-08 14:46+0000\n" -"PO-Revision-Date: 2024-07-05 14:58\n" +"PO-Revision-Date: 2024-07-08 14:56\n" "Last-Translator: \n" "Language-Team: Indonesian\n" "Language: id_ID\n" @@ -783,16 +783,12 @@ msgid "Assembly BOM has not been validated" msgstr "" #: build/models.py:134 -#, fuzzy -#| msgid "Build output cannot be specified for allocation of untracked parts" msgid "Build order cannot be created for an inactive part" -msgstr "Hasil produksi tidak dapat ditentukan untuk alokasi barang yang tidak terlacak" +msgstr "" #: build/models.py:141 -#, fuzzy -#| msgid "Build output cannot be specified for allocation of untracked parts" msgid "Build order cannot be created for an unlocked part" -msgstr "Hasil produksi tidak dapat ditentukan untuk alokasi barang yang tidak terlacak" +msgstr "" #: build/models.py:155 msgid "Invalid choice for parent build" @@ -1493,10 +1489,8 @@ msgid "Failed to start auto-allocation task" msgstr "" #: build/serializers.py:1095 -#, fuzzy -#| msgid "Serial Numbers" msgid "Supplier Part Number" -msgstr "Nomor Seri" +msgstr "" #: build/serializers.py:1096 company/models.py:500 msgid "Manufacturer Part Number" @@ -1508,16 +1502,12 @@ msgid "Location Name" msgstr "" #: build/serializers.py:1098 -#, fuzzy -#| msgid "Build Order Reference" msgid "Build Reference" -msgstr "Referensi Order Produksi" +msgstr "" #: build/serializers.py:1099 -#, fuzzy -#| msgid "Reference" msgid "BOM Reference" -msgstr "Referensi" +msgstr "" #: build/serializers.py:1186 part/admin.py:402 part/models.py:3993 msgid "Part IPN" @@ -1561,10 +1551,8 @@ msgid "Available Stock" msgstr "" #: build/serializers.py:1224 -#, fuzzy -#| msgid "Substitute Stock" msgid "Available Substitute Stock" -msgstr "Stok pengganti" +msgstr "" #: build/serializers.py:1225 msgid "Available Variant Stock" @@ -2789,10 +2777,8 @@ msgid "Require Locked Part" msgstr "" #: common/models.py:1802 -#, fuzzy -#| msgid "Print build order report" msgid "Prevent build order creation for unlocked parts" -msgstr "Cetak laporan order produksi" +msgstr "" #: common/models.py:1807 msgid "Require Valid BOM" @@ -4028,10 +4014,8 @@ msgid "Is this company active?" msgstr "" #: company/models.py:168 -#, fuzzy -#| msgid "Sent to customer" msgid "Is customer" -msgstr "Terkirim ke pelanggan" +msgstr "" #: company/models.py:169 msgid "Do you sell items to this company?" @@ -4835,10 +4819,8 @@ msgid "Placed" msgstr "Diletakkan" #: importer/mixins.py:263 -#, fuzzy -#| msgid "Invalid value for overage" msgid "Invalid export format" -msgstr "Nilai kelebihan tidak valid" +msgstr "" #: importer/models.py:56 msgid "Timestamp" @@ -4861,10 +4843,8 @@ msgid "Field Defaults" msgstr "" #: importer/models.py:201 -#, fuzzy -#| msgid "Required build quantity has not been completed" msgid "Some required fields have not been mapped" -msgstr "Jumlah produksi yang diperlukan masih belum cukup" +msgstr "" #: importer/models.py:346 msgid "Column is already mapped to a database field" @@ -4883,10 +4863,8 @@ msgid "Column does not exist in the data file" msgstr "" #: importer/models.py:372 -#, fuzzy -#| msgid "User does not have permission to view this model" msgid "Field does not exist in the target model" -msgstr "Pengguna tidak memiliki izin untuk melihat model ini" +msgstr "" #: importer/models.py:376 msgid "Selected field is read-only" @@ -4925,10 +4903,8 @@ msgid "Valid" msgstr "" #: importer/operations.py:28 importer/operations.py:49 -#, fuzzy -#| msgid "Unsupported file type" msgid "Unsupported data file format" -msgstr "Jenis file tidak didukung" +msgstr "" #: importer/operations.py:40 msgid "Failed to open data file" @@ -4947,10 +4923,8 @@ msgid "List of row IDs to accept" msgstr "" #: importer/serializers.py:149 -#, fuzzy -#| msgid "No data rows provided" msgid "No rows provided" -msgstr "Tidak ada barisan data tersedia" +msgstr "" #: importer/serializers.py:153 msgid "Row does not belong to this session" @@ -4961,10 +4935,8 @@ msgid "Row contains invalid data" msgstr "" #: importer/serializers.py:159 -#, fuzzy -#| msgid "This build output has already been completed" msgid "Row has already been completed" -msgstr "Hasil produksi ini sudah diselesaikan" +msgstr "" #: importer/status_codes.py:11 msgid "Initializing" @@ -4975,10 +4947,8 @@ msgid "Mapping Columns" msgstr "" #: importer/status_codes.py:13 -#, fuzzy -#| msgid "Completion Date" msgid "Importing Data" -msgstr "Tanggal selesai" +msgstr "" #: importer/status_codes.py:16 msgid "Processing Data" @@ -5380,10 +5350,8 @@ msgid "Purchase Order Extra Line" msgstr "" #: order/models.py:1532 -#, fuzzy -#| msgid "Sales Order Reference" msgid "Sales Order Line Item" -msgstr "Referensi Order Penjualan" +msgstr "" #: order/models.py:1553 msgid "Virtual part cannot be assigned to a sales order" @@ -5414,10 +5382,8 @@ msgid "Shipped quantity" msgstr "" #: order/models.py:1667 -#, fuzzy -#| msgid "Sales Order Reference" msgid "Sales Order Shipment" -msgstr "Referensi Order Penjualan" +msgstr "" #: order/models.py:1688 msgid "Date of shipment" @@ -5473,16 +5439,12 @@ msgid "Shipment has no allocated stock items" msgstr "" #: order/models.py:1828 -#, fuzzy -#| msgid "Sales Order Reference" msgid "Sales Order Extra Line" -msgstr "Referensi Order Penjualan" +msgstr "" #: order/models.py:1857 -#, fuzzy -#| msgid "Sales Order Reference" msgid "Sales Order Allocation" -msgstr "Referensi Order Penjualan" +msgstr "" #: order/models.py:1880 order/models.py:1882 msgid "Stock item has not been assigned" @@ -9508,20 +9470,16 @@ msgid "StockItem cannot be moved as it is not in stock" msgstr "" #: stock/models.py:2317 -#, fuzzy -#| msgid "Stock Item" msgid "Stock Item Tracking" -msgstr "Stok Item" +msgstr "" #: stock/models.py:2350 msgid "Entry notes" msgstr "" #: stock/models.py:2390 -#, fuzzy -#| msgid "Stock item created" msgid "Stock Item Test Result" -msgstr "Item stok dibuat" +msgstr "" #: stock/models.py:2423 msgid "Value must be provided for this test" @@ -9636,10 +9594,8 @@ msgid "Parent Item" msgstr "" #: stock/serializers.py:450 -#, fuzzy -#| msgid "Source stock item" msgid "Parent stock item" -msgstr "Sumber stok item" +msgstr "" #: stock/serializers.py:469 msgid "Use pack size when adding: the quantity defined is the number of packs" @@ -14846,3 +14802,4 @@ msgstr "" #: users/models.py:408 msgid "Permission to delete items" msgstr "" + From 8b22d3411b58d7da2aef0e389dcdd26ebcbec1d2 Mon Sep 17 00:00:00 2001 From: Oliver Date: Tue, 9 Jul 2024 00:56:55 +1000 Subject: [PATCH 30/36] Fix: New translations django.po from Crowdin --- .../InvenTree/locale/fa/LC_MESSAGES/django.po | 39 ++++++------------- 1 file changed, 11 insertions(+), 28 deletions(-) diff --git a/src/backend/InvenTree/locale/fa/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/fa/LC_MESSAGES/django.po index 191d906209dd..96c62781be30 100644 --- a/src/backend/InvenTree/locale/fa/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/fa/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-07-08 14:46+0000\n" -"PO-Revision-Date: 2024-07-05 14:58\n" +"PO-Revision-Date: 2024-07-08 14:56\n" "Last-Translator: \n" "Language-Team: Persian\n" "Language: fa_IR\n" @@ -1502,16 +1502,12 @@ msgid "Location Name" msgstr "" #: build/serializers.py:1098 -#, fuzzy -#| msgid "Sales Order Reference" msgid "Build Reference" -msgstr "مرجع سفارش فروش" +msgstr "" #: build/serializers.py:1099 -#, fuzzy -#| msgid "Sales Order Reference" msgid "BOM Reference" -msgstr "مرجع سفارش فروش" +msgstr "" #: build/serializers.py:1186 part/admin.py:402 part/models.py:3993 msgid "Part IPN" @@ -4867,10 +4863,8 @@ msgid "Column does not exist in the data file" msgstr "" #: importer/models.py:372 -#, fuzzy -#| msgid "User does not have permission to view this model" msgid "Field does not exist in the target model" -msgstr "کاربر سطح دسترسی نمایش این مدل را ندارد" +msgstr "" #: importer/models.py:376 msgid "Selected field is read-only" @@ -4909,10 +4903,8 @@ msgid "Valid" msgstr "" #: importer/operations.py:28 importer/operations.py:49 -#, fuzzy -#| msgid "Unsupported file type" msgid "Unsupported data file format" -msgstr "این نوع فایل پشتیبانی نمی‌شود" +msgstr "" #: importer/operations.py:40 msgid "Failed to open data file" @@ -4931,10 +4923,8 @@ msgid "List of row IDs to accept" msgstr "" #: importer/serializers.py:149 -#, fuzzy -#| msgid "No data rows provided" msgid "No rows provided" -msgstr "هیچ ردیف داده ای ارائه نشده است" +msgstr "" #: importer/serializers.py:153 msgid "Row does not belong to this session" @@ -5360,10 +5350,8 @@ msgid "Purchase Order Extra Line" msgstr "" #: order/models.py:1532 -#, fuzzy -#| msgid "Sales Order Reference" msgid "Sales Order Line Item" -msgstr "مرجع سفارش فروش" +msgstr "" #: order/models.py:1553 msgid "Virtual part cannot be assigned to a sales order" @@ -5394,10 +5382,8 @@ msgid "Shipped quantity" msgstr "" #: order/models.py:1667 -#, fuzzy -#| msgid "Sales Order Reference" msgid "Sales Order Shipment" -msgstr "مرجع سفارش فروش" +msgstr "" #: order/models.py:1688 msgid "Date of shipment" @@ -5453,16 +5439,12 @@ msgid "Shipment has no allocated stock items" msgstr "" #: order/models.py:1828 -#, fuzzy -#| msgid "Sales Order Reference" msgid "Sales Order Extra Line" -msgstr "مرجع سفارش فروش" +msgstr "" #: order/models.py:1857 -#, fuzzy -#| msgid "Sales Order Reference" msgid "Sales Order Allocation" -msgstr "مرجع سفارش فروش" +msgstr "" #: order/models.py:1880 order/models.py:1882 msgid "Stock item has not been assigned" @@ -14820,3 +14802,4 @@ msgstr "" #: users/models.py:408 msgid "Permission to delete items" msgstr "" + From 105622c9a404872f4d55530030d597830d652d33 Mon Sep 17 00:00:00 2001 From: Oliver Date: Tue, 9 Jul 2024 00:56:58 +1000 Subject: [PATCH 31/36] Fix: New translations django.po from Crowdin --- .../InvenTree/locale/es/LC_MESSAGES/django.po | 4074 ++++++++--------- 1 file changed, 2037 insertions(+), 2037 deletions(-) diff --git a/src/backend/InvenTree/locale/es/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/es/LC_MESSAGES/django.po index 33309fd25479..22db8eee9161 100644 --- a/src/backend/InvenTree/locale/es/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/es/LC_MESSAGES/django.po @@ -3,23 +3,23 @@ msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-07-08 14:46+0000\n" -"PO-Revision-Date: 2024-07-08 14:55\n" +"PO-Revision-Date: 2024-07-08 14:56\n" "Last-Translator: \n" -"Language-Team: Spanish\n" -"Language: es_ES\n" +"Language-Team: Spanish, Mexico\n" +"Language: es_MX\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Crowdin-Project: inventree\n" "X-Crowdin-Project-ID: 452300\n" -"X-Crowdin-Language: es-ES\n" +"X-Crowdin-Language: es-MX\n" "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:272 msgid "API endpoint not found" -msgstr "endpoint API no encontrado" +msgstr "Endpoint de API no encontrado" #: InvenTree/api.py:505 msgid "User does not have permission to view this model" @@ -28,7 +28,7 @@ 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" @@ -82,7 +82,7 @@ msgstr "Notas" #: InvenTree/format.py:164 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" -msgstr "El valor '{name}' no aparece en formato de patrón" +msgstr "" #: InvenTree/format.py:175 msgid "Provided value does not match required pattern: " @@ -90,7 +90,7 @@ msgstr "El valor proporcionado no coincide con el patrón requerido: " #: InvenTree/forms.py:128 msgid "Enter password" -msgstr "Introduzca contraseña" +msgstr "Ingresa tu contraseña" #: InvenTree/forms.py:129 msgid "Enter new password" @@ -98,11 +98,11 @@ msgstr "Ingrese su nueva contraseña" #: InvenTree/forms.py:138 msgid "Confirm password" -msgstr "Confirmar la contraseña" +msgstr "Confirma la contraseña" #: InvenTree/forms.py:139 msgid "Confirm new password" -msgstr "Confirmar contraseña nueva" +msgstr "Confirma la nueva contraseña" #: InvenTree/forms.py:143 msgid "Old password" @@ -114,11 +114,11 @@ msgstr "Email (de nuevo)" #: InvenTree/forms.py:186 msgid "Email address confirmation" -msgstr "Confirmación de dirección de email" +msgstr "Confirmación de correo electrónico" #: InvenTree/forms.py:209 msgid "You must type the same email each time." -msgstr "Debe escribir el mismo correo electrónico cada vez." +msgstr "El correo electrónico debe coincidir." #: InvenTree/forms.py:248 InvenTree/forms.py:256 msgid "The provided primary email address is not valid." @@ -130,7 +130,7 @@ msgstr "El dominio de correo electrónico proporcionado no está aprobado." #: InvenTree/forms.py:392 msgid "Registration is disabled." -msgstr "Registro deshabilitado." +msgstr "El registro ha sido desactivado." #: InvenTree/helpers.py:525 order/models.py:562 order/models.py:764 msgid "Invalid quantity provided" @@ -142,7 +142,7 @@ msgstr "No se ha proporcionado un número de serie" #: InvenTree/helpers.py:562 msgid "Duplicate serial" -msgstr "Serie duplicada" +msgstr "Número de serie duplicado" #: InvenTree/helpers.py:594 InvenTree/helpers.py:637 #, python-brace-format @@ -152,7 +152,7 @@ msgstr "Rango de grupo inválido: {group}" #: InvenTree/helpers.py:625 #, python-brace-format msgid "Group range {group} exceeds allowed quantity ({expected_quantity})" -msgstr "Rango del grupo {group} supera la cantidad permitida ({expected_quantity})" +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 @@ -161,15 +161,15 @@ msgstr "Secuencia de grupo inválida: {group}" #: InvenTree/helpers.py:691 msgid "No serial numbers found" -msgstr "Numeros de serie no encontrados" +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 "Los números de serie únicos ({len(serials)}) debe coincidir con la cantidad ({expected_quantity})" +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 "Eliminar etiquetas HTML de este valor" +msgstr "Elimine etiquetas HTML de este valor" #: InvenTree/helpers_model.py:140 msgid "Connection error" @@ -177,7 +177,7 @@ msgstr "Error de conexión" #: InvenTree/helpers_model.py:145 InvenTree/helpers_model.py:152 msgid "Server responded with invalid status code" -msgstr "El servidor respondió con código de estado no válido" +msgstr "El servidor respondió con un código de estado no válido" #: InvenTree/helpers_model.py:148 msgid "Exception occurred" @@ -193,7 +193,7 @@ msgstr "El tamaño de la imagen es demasiado grande" #: InvenTree/helpers_model.py:173 msgid "Image download exceeded maximum size" -msgstr "La descarga de imagen excedió el tamaño máximo" +msgstr "La imagen descargada exedió el tamaño máximo" #: InvenTree/helpers_model.py:178 msgid "Remote server returned empty response" @@ -253,7 +253,7 @@ msgstr "Hebreo" #: InvenTree/locales.py:30 msgid "Hindi" -msgstr "" +msgstr "Hindi" #: InvenTree/locales.py:31 msgid "Hungarian" @@ -273,7 +273,7 @@ msgstr "Coreano" #: InvenTree/locales.py:35 msgid "Latvian" -msgstr "" +msgstr "Letón" #: InvenTree/locales.py:36 msgid "Dutch" @@ -329,7 +329,7 @@ msgstr "Turco" #: InvenTree/locales.py:49 msgid "Ukrainian" -msgstr "" +msgstr "Ucraniano" #: InvenTree/locales.py:50 msgid "Vietnamese" @@ -346,7 +346,7 @@ msgstr "Chino (Tradicional)" #: InvenTree/magic_login.py:28 #, python-brace-format msgid "[{site_name}] Log in to the app" -msgstr "" +msgstr "[{site_name}] Iniciar sesión en la aplicación" #: InvenTree/magic_login.py:38 InvenTree/serializers.py:415 #: company/models.py:136 company/templates/company/company_base.html:138 @@ -357,43 +357,43 @@ msgstr "Correo electrónico" #: InvenTree/models.py:105 msgid "Error running plugin validation" -msgstr "" +msgstr "Error al ejecutar la validación del plugin" #: InvenTree/models.py:174 msgid "Metadata must be a python dict object" -msgstr "Los metadatos deben ser un objeto diccionario de python" +msgstr "" #: InvenTree/models.py:180 msgid "Plugin Metadata" -msgstr "Metadatos del complemento" +msgstr "" #: InvenTree/models.py:181 msgid "JSON metadata field, for use by external plugins" -msgstr "Campo de metadatos JSON, para uso por complementos externos" +msgstr "" #: InvenTree/models.py:411 msgid "Improperly formatted pattern" -msgstr "Patrón con formato incorrecto" +msgstr "" #: InvenTree/models.py:418 msgid "Unknown format key specified" -msgstr "Clave de formato especificado desconocida" +msgstr "" #: InvenTree/models.py:424 msgid "Missing required format key" -msgstr "Falta la clave de formato necesaria" +msgstr "" #: InvenTree/models.py:435 msgid "Reference field cannot be empty" -msgstr "El campo de servidor no puede estar vacío" +msgstr "" #: InvenTree/models.py:443 msgid "Reference must match required pattern" -msgstr "La referencia debe coincidir con la expresión regular {pattern}" +msgstr "" #: InvenTree/models.py:474 msgid "Reference number is too large" -msgstr "El número de referencia es demasiado grande" +msgstr "" #: InvenTree/models.py:722 msgid "Duplicate names cannot exist under the same parent" @@ -471,7 +471,7 @@ msgstr "Ruta" #: InvenTree/models.py:921 msgid "Markdown notes (optional)" -msgstr "Notas de Markdown (opcional)" +msgstr "Notas (opcional)" #: InvenTree/models.py:950 msgid "Barcode Data" @@ -499,30 +499,30 @@ msgstr "Error de servidor" #: InvenTree/models.py:1055 msgid "An error has been logged by the server." -msgstr "Se ha registrado un error por el servidor." +msgstr "" #: InvenTree/serializers.py:63 part/models.py:4277 msgid "Must be a valid number" -msgstr "Debe ser un número válido" +msgstr "" #: InvenTree/serializers.py:100 company/models.py:186 #: company/templates/company/company_base.html:112 part/models.py:3011 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" -msgstr "Moneda" +msgstr "" #: InvenTree/serializers.py:103 msgid "Select currency from available options" -msgstr "Seleccionar moneda de las opciones disponibles" +msgstr "" #: InvenTree/serializers.py:407 templates/InvenTree/settings/user.html:33 msgid "Username" -msgstr "Nombre de usuario" +msgstr "" #: InvenTree/serializers.py:409 templates/InvenTree/settings/user.html:37 msgid "First Name" -msgstr "Nombre" +msgstr "" #: InvenTree/serializers.py:409 msgid "First name of the user" @@ -530,7 +530,7 @@ msgstr "" #: InvenTree/serializers.py:412 templates/InvenTree/settings/user.html:41 msgid "Last Name" -msgstr "Apellido" +msgstr "" #: InvenTree/serializers.py:412 msgid "Last name of the user" @@ -567,7 +567,7 @@ msgstr "" #: templates/js/translated/table_filters.js:716 #: templates/js/translated/table_filters.js:801 users/models.py:182 msgid "Active" -msgstr "Activo" +msgstr "" #: InvenTree/serializers.py:445 msgid "Is this user account active" @@ -575,15 +575,15 @@ msgstr "" #: InvenTree/serializers.py:463 msgid "You do not have permission to change this user role." -msgstr "No tiene permiso para cambiar este rol de usuario." +msgstr "" #: InvenTree/serializers.py:475 msgid "Only superusers can create new users" -msgstr "Solo los superusuarios pueden crear nuevos usuarios" +msgstr "" #: InvenTree/serializers.py:494 msgid "Your account has been created." -msgstr "Su cuenta ha sido creada." +msgstr "" #: InvenTree/serializers.py:496 msgid "Please use the password reset function to login" @@ -591,129 +591,129 @@ msgstr "" #: InvenTree/serializers.py:503 msgid "Welcome to InvenTree" -msgstr "Bienvenido a InvenTree" +msgstr "" #: InvenTree/serializers.py:561 msgid "Invalid value" -msgstr "Valor inválido" +msgstr "" #: InvenTree/serializers.py:581 importer/models.py:60 msgid "Data File" -msgstr "Archivo de datos" +msgstr "" #: InvenTree/serializers.py:582 msgid "Select data file for upload" -msgstr "Seleccione el archivo para subir" +msgstr "" #: InvenTree/serializers.py:599 msgid "Unsupported file type" -msgstr "Tipo de archivo no soportado" +msgstr "" #: InvenTree/serializers.py:605 msgid "File is too large" -msgstr "El archivo es demasiado grande" +msgstr "" #: InvenTree/serializers.py:626 msgid "No columns found in file" -msgstr "No hay columnas en el archivo" +msgstr "" #: InvenTree/serializers.py:629 msgid "No data rows found in file" -msgstr "No hay filas de datos en el archivo" +msgstr "" #: InvenTree/serializers.py:742 msgid "No data rows provided" -msgstr "No se proporcionaron filas de datos" +msgstr "" #: InvenTree/serializers.py:745 msgid "No data columns supplied" -msgstr "No hay columnas de datos proporcionadas" +msgstr "" #: InvenTree/serializers.py:812 #, python-brace-format msgid "Missing required column: '{name}'" -msgstr "Falta la columna requerida: '{name}'" +msgstr "" #: InvenTree/serializers.py:821 #, python-brace-format msgid "Duplicate column: '{col}'" -msgstr "Columna duplicada: '{col}'" +msgstr "" #: InvenTree/serializers.py:861 msgid "Remote Image" -msgstr "Imagen remota" +msgstr "" #: InvenTree/serializers.py:862 msgid "URL of remote image file" -msgstr "URL de imagen remota" +msgstr "" #: InvenTree/serializers.py:880 msgid "Downloading images from remote URL is not enabled" -msgstr "La descarga de imágenes desde la URL remota no está habilitada" +msgstr "" #: InvenTree/status.py:66 part/serializers.py:1202 msgid "Background worker check failed" -msgstr "Falló la comprobación en segundo plano del worker" +msgstr "" #: InvenTree/status.py:70 msgid "Email backend not configured" -msgstr "No se ha configurado el backend de correo" +msgstr "" #: InvenTree/status.py:73 msgid "InvenTree system health checks failed" -msgstr "Las comprobaciones de estado del sistema InvenTree fallaron" +msgstr "" #: InvenTree/templatetags/inventree_extras.py:184 msgid "Unknown database" -msgstr "Base de datos desconocida" +msgstr "" #: InvenTree/validators.py:32 InvenTree/validators.py:34 msgid "Invalid physical unit" -msgstr "Unidad física inválida" +msgstr "" #: InvenTree/validators.py:40 msgid "Not a valid currency code" -msgstr "No es un código de moneda válido" +msgstr "" #: InvenTree/validators.py:118 InvenTree/validators.py:134 msgid "Overage value must not be negative" -msgstr "El valor excedente no debe ser negativo" +msgstr "" #: InvenTree/validators.py:136 msgid "Overage must not exceed 100%" -msgstr "El excedente no debe superar el 100%" +msgstr "" #: InvenTree/validators.py:142 msgid "Invalid value for overage" -msgstr "Valor no válido para sobrecarga" +msgstr "" #: InvenTree/views.py:400 templates/InvenTree/settings/user.html:23 msgid "Edit User Information" -msgstr "Editar datos del usuario" +msgstr "" #: InvenTree/views.py:412 templates/InvenTree/settings/user.html:20 msgid "Set Password" -msgstr "Configurar contraseña" +msgstr "" #: InvenTree/views.py:434 msgid "Password fields must match" -msgstr "Los campos de contraseña deben coincidir" +msgstr "" #: InvenTree/views.py:442 msgid "Wrong password provided" -msgstr "Contraseña incorrecta proporcionada" +msgstr "" #: InvenTree/views.py:650 templates/navbar.html:160 msgid "System Information" -msgstr "Información del sistema" +msgstr "" #: InvenTree/views.py:657 templates/navbar.html:171 msgid "About InvenTree" -msgstr "Acerca de InvenTree" +msgstr "" #: build/api.py:248 msgid "Build must be cancelled before it can be deleted" -msgstr "La compilación debe cancelarse antes de poder ser eliminada" +msgstr "" #: build/api.py:292 build/serializers.py:1190 part/models.py:4155 #: templates/js/translated/bom.js:997 templates/js/translated/bom.js:1037 @@ -721,7 +721,7 @@ msgstr "La compilación debe cancelarse antes de poder ser eliminada" #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" -msgstr "Consumible" +msgstr "" #: build/api.py:293 build/serializers.py:1191 part/models.py:4149 #: part/templates/part/upload_bom.html:58 templates/js/translated/bom.js:1001 @@ -730,19 +730,19 @@ msgstr "Consumible" #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:587 msgid "Optional" -msgstr "Opcional" +msgstr "" #: build/api.py:294 templates/js/translated/table_filters.js:408 #: templates/js/translated/table_filters.js:579 msgid "Tracked" -msgstr "Rastreado" +msgstr "" #: build/api.py:296 part/admin.py:144 templates/js/translated/build.js:1744 #: templates/js/translated/build.js:2630 #: templates/js/translated/sales_order.js:1965 #: templates/js/translated/table_filters.js:571 msgid "Allocated" -msgstr "Asignadas" +msgstr "" #: build/api.py:304 company/models.py:879 company/serializers.py:386 #: company/templates/company/supplier_part.html:114 @@ -756,7 +756,7 @@ msgstr "Asignadas" #: templates/js/translated/table_filters.js:340 #: templates/js/translated/table_filters.js:575 msgid "Available" -msgstr "Disponible" +msgstr "" #: build/models.py:85 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 @@ -765,7 +765,7 @@ msgstr "Disponible" #: templates/email/overdue_build_order.html:15 #: templates/js/translated/build.js:972 templates/js/translated/stock.js:2892 msgid "Build Order" -msgstr "Construir órden" +msgstr "" #: build/models.py:86 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 @@ -776,7 +776,7 @@ msgstr "Construir órden" #: templates/InvenTree/settings/sidebar.html:55 #: templates/js/translated/search.js:186 users/models.py:207 msgid "Build Orders" -msgstr "Construir órdenes" +msgstr "" #: build/models.py:127 msgid "Assembly BOM has not been validated" @@ -792,7 +792,7 @@ msgstr "" #: build/models.py:155 msgid "Invalid choice for parent build" -msgstr "Opción no válida para la construcción padre" +msgstr "" #: build/models.py:166 order/models.py:240 msgid "Responsible user or group must be specified" @@ -800,11 +800,11 @@ msgstr "" #: build/models.py:172 msgid "Build order part cannot be changed" -msgstr "La parte del pedido de construcción no puede ser modificada" +msgstr "" #: build/models.py:233 msgid "Build Order Reference" -msgstr "Número de orden de construcción o armado" +msgstr "" #: build/models.py:234 build/serializers.py:1189 order/models.py:463 #: order/models.py:926 order/models.py:1289 order/models.py:2046 @@ -820,20 +820,20 @@ msgstr "Número de orden de construcción o armado" #: templates/js/translated/return_order.js:728 #: templates/js/translated/sales_order.js:1854 msgid "Reference" -msgstr "Referencia" +msgstr "" #: build/models.py:245 msgid "Brief description of the build (optional)" -msgstr "Breve descripción de la construcción (opcional)" +msgstr "" #: build/models.py:253 build/templates/build/build_base.html:183 #: build/templates/build/detail.html:87 msgid "Parent Build" -msgstr "Construcción o Armado Superior" +msgstr "" #: build/models.py:254 msgid "BuildOrder to which this build is allocated" -msgstr "Orden de Construcción o Armado a la que se asigna" +msgstr "" #: build/models.py:259 build/serializers.py:1184 #: build/templates/build/build_base.html:97 @@ -885,103 +885,103 @@ msgstr "Orden de Construcción o Armado a la que se asigna" #: templates/js/translated/stock.js:2857 templates/js/translated/stock.js:3090 #: templates/js/translated/stock.js:3236 msgid "Part" -msgstr "Parte" +msgstr "" #: build/models.py:267 msgid "Select part to build" -msgstr "Seleccionar parte a construir o armar" +msgstr "" #: build/models.py:272 msgid "Sales Order Reference" -msgstr "Referencia de orden de venta" +msgstr "" #: build/models.py:276 msgid "SalesOrder to which this build is allocated" -msgstr "Orden de Venta a la que se asigna" +msgstr "" #: build/models.py:281 build/serializers.py:1003 #: templates/js/translated/build.js:1731 #: templates/js/translated/sales_order.js:1221 msgid "Source Location" -msgstr "Ubicación de la fuente" +msgstr "" #: build/models.py:285 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" -msgstr "Seleccione la ubicación de donde tomar stock para esta construcción o armado (deje en blanco para tomar desde cualquier ubicación)" +msgstr "" #: build/models.py:290 msgid "Destination Location" -msgstr "Ubicación de destino" +msgstr "" #: build/models.py:294 msgid "Select location where the completed items will be stored" -msgstr "Seleccione la ubicación donde se almacenarán los artículos completados" +msgstr "" #: build/models.py:298 msgid "Build Quantity" -msgstr "Cantidad a crear" +msgstr "" #: build/models.py:301 msgid "Number of stock items to build" -msgstr "Número de objetos existentes a construir" +msgstr "" #: build/models.py:305 msgid "Completed items" -msgstr "Elementos completados" +msgstr "" #: build/models.py:307 msgid "Number of stock items which have been completed" -msgstr "Número de productos en stock que se han completado" +msgstr "" #: build/models.py:311 msgid "Build Status" -msgstr "Estado de la construcción" +msgstr "" #: build/models.py:315 msgid "Build status code" -msgstr "Código de estado de construcción" +msgstr "" #: build/models.py:324 build/serializers.py:290 order/serializers.py:629 #: stock/models.py:839 stock/serializers.py:76 stock/serializers.py:1524 #: templates/js/translated/purchase_order.js:1129 msgid "Batch Code" -msgstr "Numero de lote" +msgstr "" #: build/models.py:328 build/serializers.py:291 msgid "Batch code for this build output" -msgstr "Número de lote de este producto final" +msgstr "" #: build/models.py:331 order/models.py:316 order/serializers.py:127 #: part/models.py:1125 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 "Fecha de Creación" +msgstr "" #: build/models.py:335 msgid "Target completion date" -msgstr "Fecha límite de finalización" +msgstr "" #: build/models.py:336 msgid "Target date for build completion. Build will be overdue after this date." -msgstr "Fecha límite para la finalización de la construcción. La construcción estará vencida después de esta fecha." +msgstr "" #: build/models.py:339 order/models.py:521 order/models.py:2091 #: templates/js/translated/build.js:2247 msgid "Completion Date" -msgstr "Fecha de finalización" +msgstr "" #: build/models.py:345 msgid "completed by" -msgstr "terminado por" +msgstr "" #: build/models.py:353 templates/js/translated/build.js:2207 msgid "Issued by" -msgstr "Emitido por" +msgstr "" #: build/models.py:354 msgid "User who issued this build order" -msgstr "El usuario que emitió esta orden" +msgstr "" #: build/models.py:362 build/templates/build/build_base.html:204 #: build/templates/build/detail.html:122 common/models.py:152 @@ -996,11 +996,11 @@ msgstr "El usuario que emitió esta orden" #: templates/js/translated/return_order.js:358 #: templates/js/translated/table_filters.js:531 msgid "Responsible" -msgstr "Responsable" +msgstr "" #: build/models.py:363 msgid "User or group responsible for this build order" -msgstr "Usuario o grupo responsable de esta orden de construcción" +msgstr "" #: build/models.py:368 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 @@ -1012,20 +1012,20 @@ msgstr "Usuario o grupo responsable de esta orden de construcción" #: stock/templates/stock/item_base.html:200 #: templates/js/translated/company.js:1019 msgid "External Link" -msgstr "Link externo" +msgstr "" #: build/models.py:369 common/models.py:3230 part/models.py:960 #: stock/models.py:835 msgid "Link to external URL" -msgstr "Enlace a URL externa" +msgstr "" #: build/models.py:373 msgid "Build Priority" -msgstr "Prioridad de construcción" +msgstr "" #: build/models.py:376 msgid "Priority of this build order" -msgstr "Prioridad de esta orden de construcción" +msgstr "" #: build/models.py:383 common/models.py:122 common/models.py:136 #: order/admin.py:18 order/models.py:298 order/serializers.py:108 @@ -1037,11 +1037,11 @@ msgstr "Prioridad de esta orden de construcción" #: templates/js/translated/table_filters.js:48 #: templates/project_code_data.html:6 msgid "Project Code" -msgstr "Código del proyecto" +msgstr "" #: build/models.py:384 msgid "Project code for this build order" -msgstr "Código de proyecto para esta orden de ensamble" +msgstr "" #: build/models.py:617 build/models.py:682 msgid "Failed to offload task to complete build allocations" @@ -1050,34 +1050,34 @@ msgstr "" #: build/models.py:639 #, python-brace-format msgid "Build order {build} has been completed" -msgstr "El pedido {build} ha sido procesado" +msgstr "" #: build/models.py:645 msgid "A build order has been completed" -msgstr "Pedido #[order] ha sido procesado" +msgstr "" #: build/models.py:871 build/models.py:956 msgid "No build output specified" -msgstr "No se ha especificado salida de construcción" +msgstr "" #: build/models.py:874 msgid "Build output is already completed" -msgstr "La construcción de la salida ya está completa" +msgstr "" #: build/models.py:877 msgid "Build output does not match Build Order" -msgstr "La salida de la construcción no coincide con el orden de construcción" +msgstr "" #: build/models.py:960 build/serializers.py:223 build/serializers.py:272 #: build/serializers.py:870 order/models.py:559 order/serializers.py:461 #: order/serializers.py:624 part/serializers.py:1515 part/serializers.py:1921 #: stock/models.py:678 stock/models.py:1496 stock/serializers.py:661 msgid "Quantity must be greater than zero" -msgstr "La cantidad debe ser mayor que cero" +msgstr "" #: build/models.py:965 build/serializers.py:228 msgid "Quantity cannot be greater than the output quantity" -msgstr "La cantidad no puede ser mayor que la cantidad de salida" +msgstr "" #: build/models.py:1025 build/serializers.py:551 #, python-brace-format @@ -1090,7 +1090,7 @@ msgstr "" #: build/models.py:1391 msgid "Build object" -msgstr "Ensamblar equipo" +msgstr "" #: build/models.py:1405 build/models.py:1661 build/serializers.py:210 #: build/serializers.py:257 build/serializers.py:1194 @@ -1138,36 +1138,36 @@ msgstr "Ensamblar equipo" #: templates/js/translated/stock.js:873 templates/js/translated/stock.js:3021 #: templates/js/translated/stock.js:3104 msgid "Quantity" -msgstr "Cantidad" +msgstr "" #: build/models.py:1406 msgid "Required quantity for build order" -msgstr "Cantidad requerida para orden de ensamble" +msgstr "" #: build/models.py:1486 msgid "Build item must specify a build output, as master part is marked as trackable" -msgstr "Item de construcción o armado debe especificar un resultado o salida, ya que la parte maestra está marcada como rastreable" +msgstr "" #: build/models.py:1495 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" -msgstr "Cantidad asignada ({q}) no debe exceder la cantidad disponible de stock ({a})" +msgstr "" #: build/models.py:1505 order/models.py:1908 msgid "Stock item is over-allocated" -msgstr "Artículo de stock sobreasignado" +msgstr "" #: build/models.py:1511 order/models.py:1911 msgid "Allocation quantity must be greater than zero" -msgstr "Cantidad asignada debe ser mayor que cero" +msgstr "" #: build/models.py:1517 msgid "Quantity must be 1 for serialized stock" -msgstr "La cantidad debe ser 1 para el stock serializado" +msgstr "" #: build/models.py:1576 msgid "Selected stock item does not match BOM line" -msgstr "El artículo de almacén selelccionado no coincide con la línea BOM" +msgstr "" #: build/models.py:1648 build/serializers.py:850 order/serializers.py:1227 #: order/serializers.py:1248 stock/models.py:359 stock/serializers.py:93 @@ -1185,72 +1185,72 @@ msgstr "El artículo de almacén selelccionado no coincide con la línea BOM" #: templates/js/translated/stock.js:677 templates/js/translated/stock.js:843 #: templates/js/translated/stock.js:2977 msgid "Stock Item" -msgstr "Artículo de stock" +msgstr "" #: build/models.py:1649 msgid "Source stock item" -msgstr "Producto original de stock" +msgstr "" #: build/models.py:1662 msgid "Stock quantity to allocate to build" -msgstr "Cantidad de stock a asignar para construir" +msgstr "" #: build/models.py:1670 msgid "Install into" -msgstr "Instalar en" +msgstr "" #: build/models.py:1671 msgid "Destination stock item" -msgstr "Artículo de stock de destino" +msgstr "" #: build/serializers.py:89 build/serializers.py:1185 part/admin.py:41 #: part/admin.py:405 part/models.py:3992 part/stocktake.py:220 #: stock/admin.py:156 msgid "Part Name" -msgstr "Nombre de parte" +msgstr "" #: build/serializers.py:160 build/serializers.py:879 #: templates/js/translated/build.js:1322 msgid "Build Output" -msgstr "Resultado de la construcción o armado" +msgstr "" #: build/serializers.py:172 msgid "Build output does not match the parent build" -msgstr "La salida de construcción no coincide con la construcción padre" +msgstr "" #: build/serializers.py:176 msgid "Output part does not match BuildOrder part" -msgstr "La parte de salida no coincide con la parte de la Orden de Construcción" +msgstr "" #: build/serializers.py:180 msgid "This build output has already been completed" -msgstr "Esta salida de construcción ya ha sido completada" +msgstr "" #: build/serializers.py:191 msgid "This build output is not fully allocated" -msgstr "Esta salida de construcción no está completamente asignada" +msgstr "" #: build/serializers.py:211 build/serializers.py:258 msgid "Enter quantity for build output" -msgstr "Ingrese la cantidad para la producción de la construcción" +msgstr "" #: build/serializers.py:279 msgid "Integer quantity required for trackable parts" -msgstr "Cantidad entera requerida para partes rastreables" +msgstr "" #: build/serializers.py:282 msgid "Integer quantity required, as the bill of materials contains trackable parts" -msgstr "Cantidad entera requerida, ya que la factura de materiales contiene partes rastreables" +msgstr "" #: build/serializers.py:297 order/serializers.py:637 order/serializers.py:1387 #: stock/serializers.py:672 templates/js/translated/purchase_order.js:1153 #: templates/js/translated/stock.js:367 templates/js/translated/stock.js:565 msgid "Serial Numbers" -msgstr "Números de serie" +msgstr "" #: build/serializers.py:298 msgid "Enter serial numbers for build outputs" -msgstr "Introduzca los números de serie de salidas de construcción" +msgstr "" #: build/serializers.py:303 build/serializers.py:444 build/serializers.py:516 #: order/serializers.py:613 order/serializers.py:721 order/serializers.py:1714 @@ -1270,7 +1270,7 @@ msgstr "Introduzca los números de serie de salidas de construcción" #: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2201 #: templates/js/translated/stock.js:2871 msgid "Location" -msgstr "Ubicación" +msgstr "" #: build/serializers.py:304 msgid "Stock location for build output" @@ -1278,11 +1278,11 @@ msgstr "" #: build/serializers.py:318 msgid "Auto Allocate Serial Numbers" -msgstr "Autoasignar Números de Serie" +msgstr "" #: build/serializers.py:319 msgid "Automatically allocate required items with matching serial numbers" -msgstr "Asignar automáticamente los artículos requeridos con números de serie coincidentes" +msgstr "" #: build/serializers.py:334 msgid "Serial numbers must be provided for trackable parts" @@ -1290,31 +1290,31 @@ msgstr "" #: build/serializers.py:359 stock/api.py:1033 msgid "The following serial numbers already exist or are invalid" -msgstr "Los siguientes números seriales ya existen o son inválidos" +msgstr "" #: build/serializers.py:406 build/serializers.py:468 build/serializers.py:557 msgid "A list of build outputs must be provided" -msgstr "Debe proporcionarse una lista de salidas de construcción" +msgstr "" #: build/serializers.py:445 msgid "Stock location for scrapped outputs" -msgstr "Ubicación de almacén para salidas descartadas" +msgstr "" #: build/serializers.py:451 msgid "Discard Allocations" -msgstr "Descartar asignaciones" +msgstr "" #: build/serializers.py:452 msgid "Discard any stock allocations for scrapped outputs" -msgstr "Descartar cualquier asignación de existencias para las salidas descartadas" +msgstr "" #: build/serializers.py:457 msgid "Reason for scrapping build output(s)" -msgstr "Razón para descartar la salida de ensamble(s)" +msgstr "" #: build/serializers.py:517 msgid "Location for completed build outputs" -msgstr "Ubicación para las salidas de construcción completadas" +msgstr "" #: build/serializers.py:523 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:950 @@ -1329,15 +1329,15 @@ msgstr "Ubicación para las salidas de construcción completadas" #: templates/js/translated/stock.js:2176 templates/js/translated/stock.js:2995 #: templates/js/translated/stock.js:3120 msgid "Status" -msgstr "Estado" +msgstr "" #: build/serializers.py:529 msgid "Accept Incomplete Allocation" -msgstr "Aceptar Asignación Incompleta" +msgstr "" #: build/serializers.py:530 msgid "Complete outputs if stock has not been fully allocated" -msgstr "Completar salidas si el inventario no se ha asignado completamente" +msgstr "" #: build/serializers.py:615 msgid "Consume Allocated Stock" @@ -1349,140 +1349,140 @@ msgstr "" #: build/serializers.py:622 msgid "Remove Incomplete Outputs" -msgstr "Eliminar salidas incompletas" +msgstr "" #: build/serializers.py:623 msgid "Delete any build outputs which have not been completed" -msgstr "Eliminar cualquier salida de construcción que no se haya completado" +msgstr "" #: build/serializers.py:650 msgid "Not permitted" -msgstr "No permitido" +msgstr "" #: build/serializers.py:651 msgid "Accept as consumed by this build order" -msgstr "Aceptar como consumido por este pedido de construcción" +msgstr "" #: build/serializers.py:652 msgid "Deallocate before completing this build order" -msgstr "Liberar antes de completar esta orden de construcción" +msgstr "" #: build/serializers.py:682 msgid "Overallocated Stock" -msgstr "Stock sobreasignado" +msgstr "" #: build/serializers.py:684 msgid "How do you want to handle extra stock items assigned to the build order" -msgstr "Cómo quieres manejar los artículos extra de inventario asignados a la orden de construcción" +msgstr "" #: build/serializers.py:694 msgid "Some stock items have been overallocated" -msgstr "Algunos artículos de inventario han sido sobreasignados" +msgstr "" #: build/serializers.py:699 msgid "Accept Unallocated" -msgstr "Aceptar no asignado" +msgstr "" #: build/serializers.py:700 msgid "Accept that stock items have not been fully allocated to this build order" -msgstr "Aceptar que los artículos de stock no se han asignado completamente a este pedido de construcción" +msgstr "" #: build/serializers.py:710 templates/js/translated/build.js:315 msgid "Required stock has not been fully allocated" -msgstr "El stock requerido no ha sido completamente asignado" +msgstr "" #: build/serializers.py:715 order/serializers.py:319 order/serializers.py:1290 msgid "Accept Incomplete" -msgstr "Aceptar incompleto" +msgstr "" #: build/serializers.py:716 msgid "Accept that the required number of build outputs have not been completed" -msgstr "Aceptar que el número requerido de salidas de construcción no se han completado" +msgstr "" #: build/serializers.py:726 templates/js/translated/build.js:319 msgid "Required build quantity has not been completed" -msgstr "La cantidad de construcción requerida aún no se ha completado" +msgstr "" #: build/serializers.py:735 templates/js/translated/build.js:303 msgid "Build order has incomplete outputs" -msgstr "El orden de construcción tiene salidas incompletas" +msgstr "" #: build/serializers.py:773 msgid "Build Line" -msgstr "Linea de ensamble" +msgstr "" #: build/serializers.py:783 msgid "Build output" -msgstr "Resultado de la construcción o armado" +msgstr "" #: build/serializers.py:791 msgid "Build output must point to the same build" -msgstr "La salida de la construcción debe apuntar a la misma construcción" +msgstr "" #: build/serializers.py:827 msgid "Build Line Item" -msgstr "Crear partida" +msgstr "" #: build/serializers.py:841 msgid "bom_item.part must point to the same part as the build order" -msgstr "bom_item.part debe apuntar a la misma parte que la orden de construcción" +msgstr "" #: build/serializers.py:856 stock/serializers.py:1256 msgid "Item must be in stock" -msgstr "El artículo debe estar en stock" +msgstr "" #: build/serializers.py:904 order/serializers.py:1281 #, python-brace-format msgid "Available quantity ({q}) exceeded" -msgstr "Cantidad disponible ({q}) excedida" +msgstr "" #: build/serializers.py:910 msgid "Build output must be specified for allocation of tracked parts" -msgstr "La salida de la construcción debe especificarse para la asignación de partes rastreadas" +msgstr "" #: build/serializers.py:917 msgid "Build output cannot be specified for allocation of untracked parts" -msgstr "La salida de construcción no se puede especificar para la asignación de partes no rastreadas" +msgstr "" #: build/serializers.py:941 order/serializers.py:1533 msgid "Allocation items must be provided" -msgstr "Debe proporcionarse la adjudicación de artículos" +msgstr "" #: build/serializers.py:1004 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" -msgstr "Ubicación de inventario donde las partes deben ser obtenidas (dejar en blanco para tomar de cualquier ubicación)" +msgstr "" #: build/serializers.py:1012 msgid "Exclude Location" -msgstr "Excluir ubicación" +msgstr "" #: build/serializers.py:1013 msgid "Exclude stock items from this selected location" -msgstr "Excluir artículos de stock de esta ubicación seleccionada" +msgstr "" #: build/serializers.py:1018 msgid "Interchangeable Stock" -msgstr "Stock intercambiable" +msgstr "" #: build/serializers.py:1019 msgid "Stock items in multiple locations can be used interchangeably" -msgstr "Los artículos de inventario en múltiples ubicaciones se pueden utilizar de forma intercambiable" +msgstr "" #: build/serializers.py:1024 msgid "Substitute Stock" -msgstr "Sustituir stock" +msgstr "" #: build/serializers.py:1025 msgid "Allow allocation of substitute parts" -msgstr "Permitir la asignación de partes sustitutas" +msgstr "" #: build/serializers.py:1030 msgid "Optional Items" -msgstr "Elementos opcionales" +msgstr "" #: build/serializers.py:1031 msgid "Allocate optional BOM items to build order" -msgstr "Asignar artículos de la BOM opcionales para construir la orden" +msgstr "" #: build/serializers.py:1053 msgid "Failed to start auto-allocation task" @@ -1494,12 +1494,12 @@ msgstr "" #: build/serializers.py:1096 company/models.py:500 msgid "Manufacturer Part Number" -msgstr "Número de parte de fabricante" +msgstr "" #: build/serializers.py:1097 stock/admin.py:53 stock/admin.py:175 #: stock/serializers.py:454 msgid "Location Name" -msgstr "Nombre de localización" +msgstr "" #: build/serializers.py:1098 msgid "Build Reference" @@ -1511,23 +1511,23 @@ msgstr "" #: build/serializers.py:1186 part/admin.py:402 part/models.py:3993 msgid "Part IPN" -msgstr "IPN de la parte" +msgstr "" #: build/serializers.py:1192 common/models.py:1488 part/admin.py:113 #: part/models.py:1068 templates/js/translated/table_filters.js:147 #: templates/js/translated/table_filters.js:223 #: templates/js/translated/table_filters.js:776 msgid "Trackable" -msgstr "Rastreable" +msgstr "" #: build/serializers.py:1196 part/models.py:4000 part/models.py:4472 #: stock/api.py:796 msgid "BOM Item" -msgstr "Item de Lista de Materiales" +msgstr "" #: build/serializers.py:1205 templates/js/translated/index.js:130 msgid "Allocated Stock" -msgstr "Stock Asignado" +msgstr "" #: build/serializers.py:1210 part/admin.py:132 part/bom.py:173 #: part/serializers.py:856 part/serializers.py:1533 @@ -1536,19 +1536,19 @@ msgstr "Stock Asignado" #: templates/js/translated/part.js:2152 #: templates/js/translated/table_filters.js:170 msgid "On Order" -msgstr "En pedido" +msgstr "" #: build/serializers.py:1215 part/serializers.py:1535 #: templates/js/translated/build.js:2618 #: templates/js/translated/table_filters.js:360 msgid "In Production" -msgstr "En producción" +msgstr "" #: build/serializers.py:1220 part/bom.py:172 part/serializers.py:1558 #: part/templates/part/part_base.html:192 #: templates/js/translated/sales_order.js:1929 msgid "Available Stock" -msgstr "Stock Disponible" +msgstr "" #: build/serializers.py:1224 msgid "Available Substitute Stock" @@ -1570,16 +1570,16 @@ msgstr "" #: order/status_codes.py:37 order/status_codes.py:64 order/status_codes.py:82 #: templates/js/translated/table_filters.js:598 msgid "Pending" -msgstr "Pendiente" +msgstr "" #: build/status_codes.py:12 msgid "Production" -msgstr "Producción" +msgstr "" #: build/status_codes.py:13 order/status_codes.py:15 order/status_codes.py:45 #: order/status_codes.py:70 msgid "Cancelled" -msgstr "Cancelado" +msgstr "" #: build/status_codes.py:14 generic/states/tests.py:19 importer/models.py:468 #: importer/status_codes.py:19 order/status_codes.py:14 @@ -1587,24 +1587,24 @@ msgstr "Cancelado" #: order/templates/order/order_base.html:158 #: order/templates/order/sales_order_base.html:165 report/models.py:444 msgid "Complete" -msgstr "Terminado" +msgstr "" #: build/tasks.py:184 msgid "Stock required for build order" -msgstr "Stock requerido para la orden de construcción" +msgstr "" #: build/tasks.py:201 msgid "Overdue Build Order" -msgstr "Orden de construcción atrasada" +msgstr "" #: build/tasks.py:206 #, python-brace-format msgid "Build order {bo} is now overdue" -msgstr "El pedido de construcción {bo} está atrasado" +msgstr "" #: build/templates/build/build_base.html:18 msgid "Part thumbnail" -msgstr "Miniatura de parte" +msgstr "" #: build/templates/build/build_base.html:38 #: company/templates/company/supplier_part.html:35 @@ -1616,7 +1616,7 @@ msgstr "Miniatura de parte" #: stock/templates/stock/location.html:55 #: templates/js/translated/filters.js:335 msgid "Barcode actions" -msgstr "Acciones para código de barras" +msgstr "" #: build/templates/build/build_base.html:42 #: company/templates/company/supplier_part.html:39 @@ -1627,7 +1627,7 @@ msgstr "Acciones para código de barras" #: stock/templates/stock/item_base.html:44 #: stock/templates/stock/location.html:57 templates/qr_button.html:1 msgid "Show QR Code" -msgstr "Mostrar código QR" +msgstr "" #: build/templates/build/build_base.html:45 #: company/templates/company/supplier_part.html:41 @@ -1640,7 +1640,7 @@ msgstr "Mostrar código QR" #: templates/js/translated/barcode.js:496 #: templates/js/translated/barcode.js:501 msgid "Unlink Barcode" -msgstr "Desvincular Código de Barras" +msgstr "" #: build/templates/build/build_base.html:47 #: company/templates/company/supplier_part.html:43 @@ -1651,67 +1651,67 @@ msgstr "Desvincular Código de Barras" #: stock/templates/stock/item_base.html:49 #: stock/templates/stock/location.html:61 msgid "Link Barcode" -msgstr "Vincular Código de Barras" +msgstr "" #: build/templates/build/build_base.html:56 #: order/templates/order/order_base.html:46 #: order/templates/order/return_order_base.html:55 #: order/templates/order/sales_order_base.html:55 msgid "Print actions" -msgstr "Imprimir acciones" +msgstr "" #: build/templates/build/build_base.html:60 msgid "Print build order report" -msgstr "Imprimir informe de orden de construcción" +msgstr "" #: build/templates/build/build_base.html:67 msgid "Build actions" -msgstr "Acciones de construcción o armado" +msgstr "" #: build/templates/build/build_base.html:71 msgid "Edit Build" -msgstr "Editar construcción o armado" +msgstr "" #: build/templates/build/build_base.html:73 msgid "Cancel Build" -msgstr "Cancelar construcción o armado" +msgstr "" #: build/templates/build/build_base.html:76 msgid "Duplicate Build" -msgstr "Construcción duplicada" +msgstr "" #: build/templates/build/build_base.html:79 msgid "Delete Build" -msgstr "Eliminar construcción o armado" +msgstr "" #: build/templates/build/build_base.html:84 #: build/templates/build/build_base.html:85 msgid "Complete Build" -msgstr "Completar construcción" +msgstr "" #: build/templates/build/build_base.html:107 msgid "Build Description" -msgstr "Descripción de Construcción" +msgstr "" #: build/templates/build/build_base.html:117 msgid "No build outputs have been created for this build order" -msgstr "No se han creado salidas para esta orden de construcción" +msgstr "" #: build/templates/build/build_base.html:124 msgid "Build Order is ready to mark as completed" -msgstr "Orden de construcción está lista para marcar como completada" +msgstr "" #: build/templates/build/build_base.html:129 msgid "Build Order cannot be completed as outstanding outputs remain" -msgstr "La orden de construcción no se puede completar ya que existen salidas pendientes" +msgstr "" #: build/templates/build/build_base.html:134 msgid "Required build quantity has not yet been completed" -msgstr "La cantidad de construcción requerida aún no se ha completado" +msgstr "" #: build/templates/build/build_base.html:139 msgid "Stock has not been fully allocated to this Build Order" -msgstr "Stock no ha sido asignado completamente a este pedido de construcción" +msgstr "" #: build/templates/build/build_base.html:160 #: build/templates/build/detail.html:138 order/models.py:309 @@ -1728,12 +1728,12 @@ msgstr "Stock no ha sido asignado completamente a este pedido de construcción" #: templates/js/translated/sales_order.js:871 #: templates/js/translated/sales_order.js:1903 msgid "Target Date" -msgstr "Fecha objetivo" +msgstr "" #: build/templates/build/build_base.html:165 #, python-format msgid "This build was due on %(target)s" -msgstr "Esta construcción vence el %(target)s" +msgstr "" #: build/templates/build/build_base.html:165 #: build/templates/build/build_base.html:222 @@ -1745,12 +1745,12 @@ msgstr "Esta construcción vence el %(target)s" #: templates/js/translated/table_filters.js:626 #: templates/js/translated/table_filters.js:667 msgid "Overdue" -msgstr "Vencido" +msgstr "" #: build/templates/build/build_base.html:177 #: build/templates/build/detail.html:67 build/templates/build/sidebar.html:13 msgid "Completed Outputs" -msgstr "Salidas completadas" +msgstr "" #: build/templates/build/build_base.html:190 #: build/templates/build/detail.html:101 order/api.py:1384 order/models.py:845 @@ -1766,27 +1766,27 @@ msgstr "Salidas completadas" #: templates/js/translated/sales_order.js:1028 #: templates/js/translated/stock.js:2924 msgid "Sales Order" -msgstr "Orden de Venta" +msgstr "" #: build/templates/build/build_base.html:197 #: build/templates/build/detail.html:115 #: report/templates/report/inventree_build_order_report.html:152 #: templates/js/translated/table_filters.js:24 msgid "Issued By" -msgstr "Emitido por" +msgstr "" #: build/templates/build/build_base.html:211 #: build/templates/build/detail.html:94 templates/js/translated/build.js:2156 msgid "Priority" -msgstr "Prioridad" +msgstr "" #: build/templates/build/build_base.html:269 msgid "Delete Build Order" -msgstr "Eliminar Orden de Trabajo" +msgstr "" #: build/templates/build/build_base.html:279 msgid "Build Order QR Code" -msgstr "Código QR de la Orden de Trabajo" +msgstr "" #: build/templates/build/build_base.html:291 msgid "Link Barcode to Build Order" @@ -1794,28 +1794,28 @@ msgstr "" #: build/templates/build/detail.html:15 msgid "Build Details" -msgstr "Detalles de Trabajo" +msgstr "" #: build/templates/build/detail.html:38 msgid "Stock Source" -msgstr "Fuente de stock" +msgstr "" #: build/templates/build/detail.html:43 msgid "Stock can be taken from any available location." -msgstr "Las existencias se pueden tomar desde cualquier ubicación disponible." +msgstr "" #: build/templates/build/detail.html:49 order/models.py:1448 #: templates/js/translated/purchase_order.js:2189 msgid "Destination" -msgstr "Destinación" +msgstr "" #: build/templates/build/detail.html:56 msgid "Destination location not specified" -msgstr "Se requiere ubicación de destino" +msgstr "" #: build/templates/build/detail.html:73 msgid "Allocated Parts" -msgstr "Partes asignadas" +msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:162 #: stock/templates/stock/item_base.html:162 @@ -1827,7 +1827,7 @@ msgstr "Partes asignadas" #: templates/js/translated/table_filters.js:313 #: templates/js/translated/table_filters.js:404 msgid "Batch" -msgstr "Lote" +msgstr "" #: build/templates/build/detail.html:133 #: order/templates/order/order_base.html:173 @@ -1835,62 +1835,62 @@ msgstr "Lote" #: order/templates/order/sales_order_base.html:190 #: templates/js/translated/build.js:2199 msgid "Created" -msgstr "Creado" +msgstr "" #: build/templates/build/detail.html:144 msgid "No target date set" -msgstr "Sin fecha objetivo" +msgstr "" #: build/templates/build/detail.html:149 #: order/templates/order/sales_order_base.html:206 #: templates/js/translated/table_filters.js:689 msgid "Completed" -msgstr "Completados" +msgstr "" #: build/templates/build/detail.html:153 msgid "Build not complete" -msgstr "Trabajo incompleto" +msgstr "" #: build/templates/build/detail.html:164 build/templates/build/sidebar.html:17 msgid "Child Build Orders" -msgstr "Órdenes de Trabajo herederas" +msgstr "" #: build/templates/build/detail.html:177 msgid "Allocate Stock to Build" -msgstr "Asignar Stock a Trabajo" +msgstr "" #: build/templates/build/detail.html:181 msgid "Deallocate stock" -msgstr "Desasignar existencias" +msgstr "" #: build/templates/build/detail.html:182 msgid "Deallocate Stock" -msgstr "Desasignar existencias" +msgstr "" #: build/templates/build/detail.html:184 msgid "Automatically allocate stock to build" -msgstr "Asignar existencias automáticamente a contrucción" +msgstr "" #: build/templates/build/detail.html:185 msgid "Auto Allocate" -msgstr "Auto asignar" +msgstr "" #: build/templates/build/detail.html:187 msgid "Manually allocate stock to build" -msgstr "Asignar existencias manualmente a construcción" +msgstr "" #: build/templates/build/detail.html:188 build/templates/build/sidebar.html:8 msgid "Allocate Stock" -msgstr "Asignar stock" +msgstr "" #: build/templates/build/detail.html:191 msgid "Order required parts" -msgstr "Pedir partes necesarias" +msgstr "" #: build/templates/build/detail.html:192 #: templates/js/translated/purchase_order.js:795 msgid "Order Parts" -msgstr "Partes del pedido" +msgstr "" #: build/templates/build/detail.html:205 msgid "Available stock has been filtered based on specified source location for this build order" @@ -1898,23 +1898,23 @@ msgstr "" #: build/templates/build/detail.html:215 msgid "Incomplete Build Outputs" -msgstr "Salidas de Trabajo incompletas" +msgstr "" #: build/templates/build/detail.html:219 msgid "Create new build output" -msgstr "Crear nueva salida de trabajo" +msgstr "" #: build/templates/build/detail.html:220 msgid "New Build Output" -msgstr "Nueva Salida de Trabajo" +msgstr "" #: build/templates/build/detail.html:237 build/templates/build/sidebar.html:15 msgid "Consumed Stock" -msgstr "Existencias consumidas" +msgstr "" #: build/templates/build/detail.html:249 msgid "Completed Build Outputs" -msgstr "Salidas de Trabajo Completadas" +msgstr "" #: build/templates/build/detail.html:261 build/templates/build/sidebar.html:19 #: company/templates/company/detail.html:229 @@ -1930,15 +1930,15 @@ msgstr "Salidas de Trabajo Completadas" #: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:110 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" -msgstr "Adjuntos" +msgstr "" #: build/templates/build/detail.html:276 msgid "Build Notes" -msgstr "Notas del Trabajo" +msgstr "" #: build/templates/build/detail.html:426 msgid "Allocation Complete" -msgstr "Asignación Completa" +msgstr "" #: build/templates/build/detail.html:427 msgid "All lines have been fully allocated" @@ -1946,15 +1946,15 @@ msgstr "" #: build/templates/build/index.html:18 part/templates/part/detail.html:319 msgid "New Build Order" -msgstr "Nueva Orden de Trabajo" +msgstr "" #: build/templates/build/sidebar.html:5 msgid "Build Order Details" -msgstr "Configuración de Pedido de Trabajo" +msgstr "" #: build/templates/build/sidebar.html:10 msgid "Incomplete Outputs" -msgstr "Salidas incompletas" +msgstr "" #: common/api.py:690 msgid "Is Link" @@ -1982,53 +1982,53 @@ msgstr "" #: common/currency.py:156 msgid "No plugin" -msgstr "Sin plugin" +msgstr "" #: common/files.py:63 #, python-brace-format msgid "Unsupported file format: {fmt}" -msgstr "Formato de archivo no soportado: {fmt}" +msgstr "" #: common/files.py:65 msgid "Error reading file (invalid encoding)" -msgstr "Error al leer el archivo (codificación inválida)" +msgstr "" #: common/files.py:70 msgid "Error reading file (invalid format)" -msgstr "Error al leer el archivo (formato no válido)" +msgstr "" #: common/files.py:72 msgid "Error reading file (incorrect dimension)" -msgstr "Error leyendo el archivo (dimensión incorrecta)" +msgstr "" #: common/files.py:74 msgid "Error reading file (data could be corrupted)" -msgstr "Error al leer el archivo (los datos podrían estar corruptos)" +msgstr "" #: common/forms.py:12 msgid "File" -msgstr "Archivo" +msgstr "" #: common/forms.py:12 msgid "Select file to upload" -msgstr "Seleccione el archivo a cargar" +msgstr "" #: common/forms.py:25 msgid "{name.title()} File" -msgstr "Archivo {name.title()}" +msgstr "" #: common/forms.py:26 #, python-brace-format msgid "Select {name} file to upload" -msgstr "Seleccione el archivo {name} para subir" +msgstr "" #: common/models.py:73 msgid "Updated" -msgstr "Actualizado" +msgstr "" #: common/models.py:74 msgid "Timestamp of last update" -msgstr "Fecha y hora de la última actualización" +msgstr "" #: common/models.py:107 msgid "Site URL is locked by configuration" @@ -2036,107 +2036,107 @@ msgstr "" #: common/models.py:137 msgid "Unique project code" -msgstr "Código único del proyecto" +msgstr "" #: common/models.py:144 msgid "Project description" -msgstr "Descripción del proyecto" +msgstr "" #: common/models.py:153 msgid "User or group responsible for this project" -msgstr "Usuario o grupo responsable de este projecto" +msgstr "" #: common/models.py:770 msgid "Settings key (must be unique - case insensitive)" -msgstr "Clave de configuración (debe ser única - mayúsculas y minúsculas)" +msgstr "" #: common/models.py:774 msgid "Settings value" -msgstr "Valor de ajuste" +msgstr "" #: common/models.py:826 msgid "Chosen value is not a valid option" -msgstr "El valor elegido no es una opción válida" +msgstr "" #: common/models.py:842 msgid "Value must be a boolean value" -msgstr "El valor debe ser un valor booleano" +msgstr "" #: common/models.py:850 msgid "Value must be an integer value" -msgstr "El valor debe ser un entero" +msgstr "" #: common/models.py:887 msgid "Key string must be unique" -msgstr "Cadena de clave debe ser única" +msgstr "" #: common/models.py:1119 msgid "No group" -msgstr "Sin grupo" +msgstr "" #: common/models.py:1218 msgid "Restart required" -msgstr "Reinicio requerido" +msgstr "" #: common/models.py:1220 msgid "A setting has been changed which requires a server restart" -msgstr "Se ha cambiado una configuración que requiere un reinicio del servidor" +msgstr "" #: common/models.py:1227 msgid "Pending migrations" -msgstr "Migraciones pendientes" +msgstr "" #: common/models.py:1228 msgid "Number of pending database migrations" -msgstr "Número de migraciones de base de datos pendientes" +msgstr "" #: common/models.py:1233 msgid "Server Instance Name" -msgstr "Nombre de la instancia del servidor" +msgstr "" #: common/models.py:1235 msgid "String descriptor for the server instance" -msgstr "Descriptor de cadena para la instancia del servidor" +msgstr "" #: common/models.py:1239 msgid "Use instance name" -msgstr "Usar nombre de instancia" +msgstr "" #: common/models.py:1240 msgid "Use the instance name in the title-bar" -msgstr "Utilice el nombre de la instancia en la barra de título" +msgstr "" #: common/models.py:1245 msgid "Restrict showing `about`" -msgstr "Restringir mostrar 'acerca de'" +msgstr "" #: common/models.py:1246 msgid "Show the `about` modal only to superusers" -msgstr "Mostrar la modal `about` solo para superusuarios" +msgstr "" #: common/models.py:1251 company/models.py:111 company/models.py:112 msgid "Company name" -msgstr "Nombre de empresa" +msgstr "" #: common/models.py:1252 msgid "Internal company name" -msgstr "Nombre interno de empresa" +msgstr "" #: common/models.py:1256 msgid "Base URL" -msgstr "URL Base" +msgstr "" #: common/models.py:1257 msgid "Base URL for server instance" -msgstr "URL base para la instancia del servidor" +msgstr "" #: common/models.py:1263 msgid "Default Currency" -msgstr "Moneda predeterminada" +msgstr "" #: common/models.py:1264 msgid "Select base currency for pricing calculations" -msgstr "Seleccione la moneda base para los cálculos de precios" +msgstr "" #: common/models.py:1270 msgid "Supported Currencies" @@ -2148,146 +2148,146 @@ msgstr "" #: common/models.py:1277 msgid "Currency Update Interval" -msgstr "Intervalo de actualización de moneda" +msgstr "" #: common/models.py:1279 msgid "How often to update exchange rates (set to zero to disable)" -msgstr "Con qué frecuencia actualizar los tipos de cambio (establecer a cero para desactivar)" +msgstr "" #: common/models.py:1282 common/models.py:1338 common/models.py:1351 #: common/models.py:1359 common/models.py:1368 common/models.py:1377 #: common/models.py:1601 common/models.py:1623 common/models.py:1738 #: common/models.py:2111 msgid "days" -msgstr "días" +msgstr "" #: common/models.py:1286 msgid "Currency Update Plugin" -msgstr "Plugin de Actualización de Moneda" +msgstr "" #: common/models.py:1287 msgid "Currency update plugin to use" -msgstr "Plugin de actualización de moneda a usar" +msgstr "" #: common/models.py:1292 msgid "Download from URL" -msgstr "Descargar desde URL" +msgstr "" #: common/models.py:1294 msgid "Allow download of remote images and files from external URL" -msgstr "Permitir la descarga de imágenes y archivos remotos desde la URL externa" +msgstr "" #: common/models.py:1300 msgid "Download Size Limit" -msgstr "Límite de tamaño de descarga" +msgstr "" #: common/models.py:1301 msgid "Maximum allowable download size for remote image" -msgstr "Tamaño máximo de descarga permitido para la imagen remota" +msgstr "" #: common/models.py:1307 msgid "User-agent used to download from URL" -msgstr "Agente de usuario usado para descargar desde la URL" +msgstr "" #: common/models.py:1309 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" -msgstr "Permitir reemplazar el agente de usuario utilizado para descargar imágenes y archivos desde URL externa (dejar en blanco para el valor predeterminado)" +msgstr "" #: common/models.py:1314 msgid "Strict URL Validation" -msgstr "Validación estricta de URL" +msgstr "" #: common/models.py:1315 msgid "Require schema specification when validating URLs" -msgstr "Requerir especificación de esquema al validar URLs" +msgstr "" #: common/models.py:1320 msgid "Require confirm" -msgstr "Requiere confirmación" +msgstr "" #: common/models.py:1321 msgid "Require explicit user confirmation for certain action." -msgstr "Requiere confirmación explícita del usuario para ciertas acciones." +msgstr "" #: common/models.py:1326 msgid "Tree Depth" -msgstr "Profundidad del árbol" +msgstr "" #: common/models.py:1328 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." -msgstr "Profundidad de árbol predeterminada para treeview. Los niveles más profundos pueden ser cargados perezosamente a medida que son necesarios." +msgstr "" #: common/models.py:1334 msgid "Update Check Interval" -msgstr "Actualizar intervalo de actualización" +msgstr "" #: common/models.py:1335 msgid "How often to check for updates (set to zero to disable)" -msgstr "Con qué frecuencia comprobar actualizaciones (establecer a cero para desactivar)" +msgstr "" #: common/models.py:1341 msgid "Automatic Backup" -msgstr "Copia de seguridad automática" +msgstr "" #: common/models.py:1342 msgid "Enable automatic backup of database and media files" -msgstr "Activar copia de seguridad automática de los archivos de base de datos y medios" +msgstr "" #: common/models.py:1347 msgid "Auto Backup Interval" -msgstr "Intervalo de respaldo automático" +msgstr "" #: common/models.py:1348 msgid "Specify number of days between automated backup events" -msgstr "Especificar número de días entre eventos automatizados de copia de seguridad" +msgstr "" #: common/models.py:1354 msgid "Task Deletion Interval" -msgstr "Intervalo de eliminación de tareas" +msgstr "" #: common/models.py:1356 msgid "Background task results will be deleted after specified number of days" -msgstr "Los resultados de las tareas en segundo plano se eliminarán después del número especificado de días" +msgstr "" #: common/models.py:1363 msgid "Error Log Deletion Interval" -msgstr "Intervalo de eliminación de registro de errores" +msgstr "" #: common/models.py:1365 msgid "Error logs will be deleted after specified number of days" -msgstr "Los registros de errores se eliminarán después del número especificado de días" +msgstr "" #: common/models.py:1372 msgid "Notification Deletion Interval" -msgstr "Intervalo de eliminación de notificaciones" +msgstr "" #: common/models.py:1374 msgid "User notifications will be deleted after specified number of days" -msgstr "Las notificaciones de usuario se eliminarán después del número especificado de días" +msgstr "" #: common/models.py:1381 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" -msgstr "Soporte de código de barras" +msgstr "" #: common/models.py:1382 msgid "Enable barcode scanner support in the web interface" -msgstr "Habilitar el soporte para escáner de códigos de barras en la interfaz web" +msgstr "" #: common/models.py:1387 msgid "Barcode Input Delay" -msgstr "Retraso de entrada de código de barras" +msgstr "" #: common/models.py:1388 msgid "Barcode input processing delay time" -msgstr "Tiempo de retraso en la lectura de códigos de barras" +msgstr "" #: common/models.py:1394 msgid "Barcode Webcam Support" -msgstr "Soporte para Webcam de código de barras" +msgstr "" #: common/models.py:1395 msgid "Allow barcode scanning via webcam in browser" -msgstr "Permitir escaneo de código de barras a través de webcam en el navegador" +msgstr "" #: common/models.py:1400 msgid "Barcode Show Data" @@ -2299,11 +2299,11 @@ msgstr "" #: common/models.py:1406 msgid "Part Revisions" -msgstr "Revisiones de partes" +msgstr "" #: common/models.py:1407 msgid "Enable revision field for Part" -msgstr "Habilitar campo de revisión para parte" +msgstr "" #: common/models.py:1412 msgid "Allow Deletion from Assembly" @@ -2315,59 +2315,59 @@ msgstr "" #: common/models.py:1418 msgid "IPN Regex" -msgstr "Regex IPN" +msgstr "" #: common/models.py:1419 msgid "Regular expression pattern for matching Part IPN" -msgstr "Patrón de expresión regular para IPN de la parte coincidente" +msgstr "" #: common/models.py:1422 msgid "Allow Duplicate IPN" -msgstr "Permitir IPN duplicado" +msgstr "" #: common/models.py:1423 msgid "Allow multiple parts to share the same IPN" -msgstr "Permitir que varias partes compartan el mismo IPN" +msgstr "" #: common/models.py:1428 msgid "Allow Editing IPN" -msgstr "Permitir editar IPN" +msgstr "" #: common/models.py:1429 msgid "Allow changing the IPN value while editing a part" -msgstr "Permite cambiar el valor de IPN mientras se edita una parte" +msgstr "" #: common/models.py:1434 msgid "Copy Part BOM Data" -msgstr "Copiar parte de datos BOM" +msgstr "" #: common/models.py:1435 msgid "Copy BOM data by default when duplicating a part" -msgstr "Copiar datos BOM por defecto al duplicar una parte" +msgstr "" #: common/models.py:1440 msgid "Copy Part Parameter Data" -msgstr "Copiar parámetros de parte" +msgstr "" #: common/models.py:1441 msgid "Copy parameter data by default when duplicating a part" -msgstr "Copiar datos de parámetro por defecto al duplicar una parte" +msgstr "" #: common/models.py:1446 msgid "Copy Part Test Data" -msgstr "Copiar parte de datos de prueba" +msgstr "" #: common/models.py:1447 msgid "Copy test data by default when duplicating a part" -msgstr "Copiar datos de parámetro por defecto al duplicar una parte" +msgstr "" #: common/models.py:1452 msgid "Copy Category Parameter Templates" -msgstr "Copiar plantillas de parámetros de categoría" +msgstr "" #: common/models.py:1453 msgid "Copy category parameter templates when creating a part" -msgstr "Copiar plantillas de parámetros de categoría al crear una parte" +msgstr "" #: common/models.py:1458 part/admin.py:108 part/models.py:3835 #: report/models.py:294 report/models.py:361 report/serializers.py:90 @@ -2375,52 +2375,52 @@ msgstr "Copiar plantillas de parámetros de categoría al crear una parte" #: templates/js/translated/table_filters.js:139 #: templates/js/translated/table_filters.js:772 msgid "Template" -msgstr "Plantilla" +msgstr "" #: common/models.py:1459 msgid "Parts are templates by default" -msgstr "Las partes son plantillas por defecto" +msgstr "" #: common/models.py:1464 part/admin.py:91 part/admin.py:425 part/models.py:1056 #: templates/js/translated/bom.js:1639 #: templates/js/translated/table_filters.js:330 #: templates/js/translated/table_filters.js:726 msgid "Assembly" -msgstr "Montaje" +msgstr "" #: common/models.py:1465 msgid "Parts can be assembled from other components by default" -msgstr "Las partes pueden ser ensambladas desde otros componentes por defecto" +msgstr "" #: common/models.py:1470 part/admin.py:95 part/models.py:1062 #: templates/js/translated/table_filters.js:734 msgid "Component" -msgstr "Componente" +msgstr "" #: common/models.py:1471 msgid "Parts can be used as sub-components by default" -msgstr "Las partes pueden ser usadas como subcomponentes por defecto" +msgstr "" #: common/models.py:1476 part/admin.py:100 part/models.py:1074 msgid "Purchaseable" -msgstr "Comprable" +msgstr "" #: common/models.py:1477 msgid "Parts are purchaseable by default" -msgstr "Las partes son comprables por defecto" +msgstr "" #: common/models.py:1482 part/admin.py:104 part/models.py:1080 #: templates/js/translated/table_filters.js:760 msgid "Salable" -msgstr "Vendible" +msgstr "" #: common/models.py:1483 msgid "Parts are salable by default" -msgstr "Las partes se pueden vender por defecto" +msgstr "" #: common/models.py:1489 msgid "Parts are trackable by default" -msgstr "Las partes son rastreables por defecto" +msgstr "" #: common/models.py:1494 part/admin.py:117 part/models.py:1096 #: part/templates/part/part_base.html:154 @@ -2431,183 +2431,183 @@ msgstr "" #: common/models.py:1495 msgid "Parts are virtual by default" -msgstr "Las partes son virtuales por defecto" +msgstr "" #: common/models.py:1500 msgid "Show Import in Views" -msgstr "Mostrar importación en vistas" +msgstr "" #: common/models.py:1501 msgid "Display the import wizard in some part views" -msgstr "Mostrar el asistente de importación en algunas vistas de partes" +msgstr "" #: common/models.py:1506 msgid "Show related parts" -msgstr "Mostrar partes relacionadas" +msgstr "" #: common/models.py:1507 msgid "Display related parts for a part" -msgstr "Mostrar partes relacionadas para una parte" +msgstr "" #: common/models.py:1512 msgid "Initial Stock Data" -msgstr "Datos iniciales de existencias" +msgstr "" #: common/models.py:1513 msgid "Allow creation of initial stock when adding a new part" -msgstr "Permitir la creación del stock inicial al añadir una nueva parte" +msgstr "" #: common/models.py:1518 templates/js/translated/part.js:107 msgid "Initial Supplier Data" -msgstr "Datos iniciales del proveedor" +msgstr "" #: common/models.py:1520 msgid "Allow creation of initial supplier data when adding a new part" -msgstr "Permitir la creación de datos iniciales del proveedor al agregar una nueva parte" +msgstr "" #: common/models.py:1526 msgid "Part Name Display Format" -msgstr "Formato de visualización de Nombre de Parte" +msgstr "" #: common/models.py:1527 msgid "Format to display the part name" -msgstr "Formato para mostrar el nombre de la parte" +msgstr "" #: common/models.py:1533 msgid "Part Category Default Icon" -msgstr "Icono por defecto de la categoría de parte" +msgstr "" #: common/models.py:1534 msgid "Part category default icon (empty means no icon)" -msgstr "Icono por defecto de la categoría de parte (vacío significa que no hay icono)" +msgstr "" #: common/models.py:1538 msgid "Enforce Parameter Units" -msgstr "Forzar unidades de parámetro" +msgstr "" #: common/models.py:1540 msgid "If units are provided, parameter values must match the specified units" -msgstr "Si se proporcionan unidades, los valores de parámetro deben coincidir con las unidades especificadas" +msgstr "" #: common/models.py:1546 msgid "Minimum Pricing Decimal Places" -msgstr "Mínimo de lugares decimales en el precio" +msgstr "" #: common/models.py:1548 msgid "Minimum number of decimal places to display when rendering pricing data" -msgstr "Número mínimo de decimales a mostrar al procesar los datos de precios" +msgstr "" #: common/models.py:1559 msgid "Maximum Pricing Decimal Places" -msgstr "Máximo de lugares decimales en el precio" +msgstr "" #: common/models.py:1561 msgid "Maximum number of decimal places to display when rendering pricing data" -msgstr "Número máximo de decimales a mostrar al procesar los datos de precios" +msgstr "" #: common/models.py:1572 msgid "Use Supplier Pricing" -msgstr "Usar precios de proveedor" +msgstr "" #: common/models.py:1574 msgid "Include supplier price breaks in overall pricing calculations" -msgstr "Incluir descuentos de precios del proveedor en los cálculos generales de precios" +msgstr "" #: common/models.py:1580 msgid "Purchase History Override" -msgstr "Anulación del historial de compra" +msgstr "" #: common/models.py:1582 msgid "Historical purchase order pricing overrides supplier price breaks" -msgstr "El precio histórico de compra anula los descuentos de precios del proveedor" +msgstr "" #: common/models.py:1588 msgid "Use Stock Item Pricing" -msgstr "Usar precio del artículo de almacén" +msgstr "" #: common/models.py:1590 msgid "Use pricing from manually entered stock data for pricing calculations" -msgstr "Usar los precios de los datos de inventario introducidos manualmente para los cálculos de precios" +msgstr "" #: common/models.py:1596 msgid "Stock Item Pricing Age" -msgstr "Edad del precio del artículo de almacén" +msgstr "" #: common/models.py:1598 msgid "Exclude stock items older than this number of days from pricing calculations" -msgstr "Excluir artículos de almacén anteriores a este número de días de los cálculos de precios" +msgstr "" #: common/models.py:1605 msgid "Use Variant Pricing" -msgstr "Usar precios variantes" +msgstr "" #: common/models.py:1606 msgid "Include variant pricing in overall pricing calculations" -msgstr "Incluir variantes de precios en los cálculos generales de precios" +msgstr "" #: common/models.py:1611 msgid "Active Variants Only" -msgstr "Solo variantes activas" +msgstr "" #: common/models.py:1613 msgid "Only use active variant parts for calculating variant pricing" -msgstr "Usar solo partes de variantes activas para calcular los precios de variantes" +msgstr "" #: common/models.py:1619 msgid "Pricing Rebuild Interval" -msgstr "Intervalo de reconstrucción de precios" +msgstr "" #: common/models.py:1621 msgid "Number of days before part pricing is automatically updated" -msgstr "Número de días antes de que el precio de la parte se actualice automáticamente" +msgstr "" #: common/models.py:1628 msgid "Internal Prices" -msgstr "Precios internos" +msgstr "" #: common/models.py:1629 msgid "Enable internal prices for parts" -msgstr "Habilitar precios internos para partes" +msgstr "" #: common/models.py:1634 msgid "Internal Price Override" -msgstr "Anulación del precio interno" +msgstr "" #: common/models.py:1636 msgid "If available, internal prices override price range calculations" -msgstr "Si está disponible, los precios internos anulan los cálculos del rango de precios" +msgstr "" #: common/models.py:1642 msgid "Enable label printing" -msgstr "Habilitar impresión de etiquetas" +msgstr "" #: common/models.py:1643 msgid "Enable label printing from the web interface" -msgstr "Habilitar impresión de etiquetas desde la interfaz web" +msgstr "" #: common/models.py:1648 msgid "Label Image DPI" -msgstr "PPP de la imagen de etiqueta" +msgstr "" #: common/models.py:1650 msgid "DPI resolution when generating image files to supply to label printing plugins" -msgstr "Resolución DPI al generar archivos de imagen que suministrar para etiquetar complementos de impresión" +msgstr "" #: common/models.py:1656 msgid "Enable Reports" -msgstr "Habilitar informes" +msgstr "" #: common/models.py:1657 msgid "Enable generation of reports" -msgstr "Habilitar generación de informes" +msgstr "" #: common/models.py:1662 templates/stats.html:25 msgid "Debug Mode" -msgstr "Modo de depuración" +msgstr "" #: common/models.py:1663 msgid "Generate reports in debug mode (HTML output)" -msgstr "Generar informes en modo de depuración (salida HTML)" +msgstr "" #: common/models.py:1668 msgid "Log Report Errors" @@ -2620,47 +2620,47 @@ msgstr "" #: common/models.py:1674 plugin/builtin/labels/label_sheet.py:28 #: report/models.py:302 msgid "Page Size" -msgstr "Tamaño de página" +msgstr "" #: common/models.py:1675 msgid "Default page size for PDF reports" -msgstr "Tamaño de página predeterminado para informes PDF" +msgstr "" #: common/models.py:1680 msgid "Enable Test Reports" -msgstr "Habilitar informes de prueba" +msgstr "" #: common/models.py:1681 msgid "Enable generation of test reports" -msgstr "Habilitar generación de informes de prueba" +msgstr "" #: common/models.py:1686 msgid "Attach Test Reports" -msgstr "Adjuntar informes de prueba" +msgstr "" #: common/models.py:1688 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" -msgstr "Al imprimir un informe de prueba, adjuntar una copia del informe de prueba al artículo de almacén asociado" +msgstr "" #: common/models.py:1694 msgid "Globally Unique Serials" -msgstr "Seriales únicos globalmente" +msgstr "" #: common/models.py:1695 msgid "Serial numbers for stock items must be globally unique" -msgstr "Los números de serie para los artículos de inventario deben ser únicos globalmente" +msgstr "" #: common/models.py:1700 msgid "Autofill Serial Numbers" -msgstr "Autollenar números de serie" +msgstr "" #: common/models.py:1701 msgid "Autofill serial numbers in forms" -msgstr "Autorellenar números de serie en formularios" +msgstr "" #: common/models.py:1706 msgid "Delete Depleted Stock" -msgstr "Eliminar existencias agotadas" +msgstr "" #: common/models.py:1708 msgid "Determines default behavior when a stock item is depleted" @@ -2668,67 +2668,67 @@ msgstr "" #: common/models.py:1714 msgid "Batch Code Template" -msgstr "Plantilla de código de lote" +msgstr "" #: common/models.py:1716 msgid "Template for generating default batch codes for stock items" -msgstr "Plantilla para generar códigos de lote por defecto para artículos de almacén" +msgstr "" #: common/models.py:1721 msgid "Stock Expiry" -msgstr "Expiración de stock" +msgstr "" #: common/models.py:1722 msgid "Enable stock expiry functionality" -msgstr "Habilitar la funcionalidad de expiración de stock" +msgstr "" #: common/models.py:1727 msgid "Sell Expired Stock" -msgstr "Vender existencias caducadas" +msgstr "" #: common/models.py:1728 msgid "Allow sale of expired stock" -msgstr "Permitir venta de existencias caducadas" +msgstr "" #: common/models.py:1733 msgid "Stock Stale Time" -msgstr "Tiempo histórico de Stock" +msgstr "" #: common/models.py:1735 msgid "Number of days stock items are considered stale before expiring" -msgstr "Número de días de artículos de stock se consideran obsoletos antes de caducar" +msgstr "" #: common/models.py:1742 msgid "Build Expired Stock" -msgstr "Crear Stock Caducado" +msgstr "" #: common/models.py:1743 msgid "Allow building with expired stock" -msgstr "Permitir crear con stock caducado" +msgstr "" #: common/models.py:1748 msgid "Stock Ownership Control" -msgstr "Control de Stock" +msgstr "" #: common/models.py:1749 msgid "Enable ownership control over stock locations and items" -msgstr "Habilitar control de propiedad sobre ubicaciones de stock y artículos" +msgstr "" #: common/models.py:1754 msgid "Stock Location Default Icon" -msgstr "Icono por defecto de ubicación de almacén" +msgstr "" #: common/models.py:1755 msgid "Stock location default icon (empty means no icon)" -msgstr "Icono por defecto de ubicación de almacén (vacío significa que no hay icono)" +msgstr "" #: common/models.py:1759 msgid "Show Installed Stock Items" -msgstr "Mostrar Articulos de Stock Instalados" +msgstr "" #: common/models.py:1760 msgid "Display installed stock items in stock tables" -msgstr "Mostrar los artículos de stock instalados en las tablas de stock" +msgstr "" #: common/models.py:1765 msgid "Check BOM when installing items" @@ -2748,11 +2748,11 @@ msgstr "" #: common/models.py:1781 msgid "Build Order Reference Pattern" -msgstr "Patrón de Referencia de Ordenes de Armado" +msgstr "" #: common/models.py:1783 msgid "Required pattern for generating Build Order reference field" -msgstr "Patrón requerido para generar el campo de referencia de la Orden de Ensamblado" +msgstr "" #: common/models.py:1789 common/models.py:1837 common/models.py:1859 #: common/models.py:1895 @@ -2798,15 +2798,15 @@ msgstr "" #: common/models.py:1823 msgid "Enable Return Orders" -msgstr "Habilitar órdenes de devolución" +msgstr "" #: common/models.py:1824 msgid "Enable return order functionality in the user interface" -msgstr "Habilitar la funcionalidad de orden de devolución en la interfaz de usuario" +msgstr "" #: common/models.py:1829 msgid "Return Order Reference Pattern" -msgstr "Patrón de referencia de orden de devolución" +msgstr "" #: common/models.py:1831 msgid "Required pattern for generating Return Order reference field" @@ -2814,35 +2814,35 @@ msgstr "" #: common/models.py:1843 msgid "Edit Completed Return Orders" -msgstr "Editar ordenes de devolución completadas" +msgstr "" #: common/models.py:1845 msgid "Allow editing of return orders after they have been completed" -msgstr "Permitir la edición de ordenes de devolución después de que hayan sido completados" +msgstr "" #: common/models.py:1851 msgid "Sales Order Reference Pattern" -msgstr "Patrón de Referencia de Ordenes de Venta" +msgstr "" #: common/models.py:1853 msgid "Required pattern for generating Sales Order reference field" -msgstr "Patrón requerido para generar el campo de referencia de la orden de venta" +msgstr "" #: common/models.py:1865 msgid "Sales Order Default Shipment" -msgstr "Envío Predeterminado de Ordenes de Venta" +msgstr "" #: common/models.py:1866 msgid "Enable creation of default shipment with sales orders" -msgstr "Habilitar la creación de envío predeterminado con ordenes de entrega" +msgstr "" #: common/models.py:1871 msgid "Edit Completed Sales Orders" -msgstr "Editar Ordenes de Venta Completados" +msgstr "" #: common/models.py:1873 msgid "Allow editing of sales orders after they have been shipped or completed" -msgstr "Permitir la edición de ordenes de venta después de que hayan sido enviados o completados" +msgstr "" #: common/models.py:1879 msgid "Mark Shipped Orders as Complete" @@ -2854,15 +2854,15 @@ msgstr "" #: common/models.py:1887 msgid "Purchase Order Reference Pattern" -msgstr "Patrón de Referencia de Orden de Compra" +msgstr "" #: common/models.py:1889 msgid "Required pattern for generating Purchase Order reference field" -msgstr "Patrón requerido para generar el campo de referencia de la Orden de Compra" +msgstr "" #: common/models.py:1901 msgid "Edit Completed Purchase Orders" -msgstr "Editar Ordenes de Compra Completados" +msgstr "" #: common/models.py:1903 msgid "Allow editing of purchase orders after they have been shipped or completed" @@ -2870,7 +2870,7 @@ msgstr "" #: common/models.py:1909 msgid "Auto Complete Purchase Orders" -msgstr "Autocompletar Ordenes de compra" +msgstr "" #: common/models.py:1911 msgid "Automatically mark purchase orders as complete when all line items are received" @@ -2878,35 +2878,35 @@ msgstr "" #: common/models.py:1918 msgid "Enable password forgot" -msgstr "Habilitar función de contraseña olvidada" +msgstr "" #: common/models.py:1919 msgid "Enable password forgot function on the login pages" -msgstr "Activar la función olvido de contraseña en las páginas de inicio de sesión" +msgstr "" #: common/models.py:1924 msgid "Enable registration" -msgstr "Habilitar registro" +msgstr "" #: common/models.py:1925 msgid "Enable self-registration for users on the login pages" -msgstr "Activar auto-registro para usuarios en las páginas de inicio de sesión" +msgstr "" #: common/models.py:1930 msgid "Enable SSO" -msgstr "Habilitar SSO" +msgstr "" #: common/models.py:1931 msgid "Enable SSO on the login pages" -msgstr "Habilitar SSO en las páginas de inicio de sesión" +msgstr "" #: common/models.py:1936 msgid "Enable SSO registration" -msgstr "Habilitar registro SSO" +msgstr "" #: common/models.py:1938 msgid "Enable self-registration via SSO for users on the login pages" -msgstr "Activar autoregistro a través de SSO para usuarios en las páginas de inicio de sesión" +msgstr "" #: common/models.py:1944 msgid "Enable SSO group sync" @@ -2942,39 +2942,39 @@ msgstr "" #: common/models.py:1976 msgid "Email required" -msgstr "Email requerido" +msgstr "" #: common/models.py:1977 msgid "Require user to supply mail on signup" -msgstr "Requiere usuario para suministrar correo al registrarse" +msgstr "" #: common/models.py:1982 msgid "Auto-fill SSO users" -msgstr "Auto-rellenar usuarios SSO" +msgstr "" #: common/models.py:1984 msgid "Automatically fill out user-details from SSO account-data" -msgstr "Rellenar automáticamente los datos de usuario de la cuenta SSO" +msgstr "" #: common/models.py:1990 msgid "Mail twice" -msgstr "Correo dos veces" +msgstr "" #: common/models.py:1991 msgid "On signup ask users twice for their mail" -msgstr "Al registrarse pregunte dos veces a los usuarios por su correo" +msgstr "" #: common/models.py:1996 msgid "Password twice" -msgstr "Contraseña dos veces" +msgstr "" #: common/models.py:1997 msgid "On signup ask users twice for their password" -msgstr "Al registrarse, preguntar dos veces a los usuarios por su contraseña" +msgstr "" #: common/models.py:2002 msgid "Allowed domains" -msgstr "Dominios permitidos" +msgstr "" #: common/models.py:2004 msgid "Restrict signup to certain domains (comma-separated, starting with @)" @@ -2982,7 +2982,7 @@ msgstr "" #: common/models.py:2010 msgid "Group on signup" -msgstr "Grupo al registrarse" +msgstr "" #: common/models.py:2012 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." @@ -2990,19 +2990,19 @@ msgstr "" #: common/models.py:2018 msgid "Enforce MFA" -msgstr "Forzar MFA" +msgstr "" #: common/models.py:2019 msgid "Users must use multifactor security." -msgstr "Los usuarios deben utilizar seguridad multifactor." +msgstr "" #: common/models.py:2024 msgid "Check plugins on startup" -msgstr "Comprobar complementos al iniciar" +msgstr "" #: common/models.py:2026 msgid "Check that all plugins are installed on startup - enable in container environments" -msgstr "Comprobar que todos los complementos están instalados en el arranque - habilitar en entornos de contenedores" +msgstr "" #: common/models.py:2034 msgid "Check for plugin updates" @@ -3014,51 +3014,51 @@ msgstr "" #: common/models.py:2041 msgid "Enable URL integration" -msgstr "Habilitar integración de URL" +msgstr "" #: common/models.py:2042 msgid "Enable plugins to add URL routes" -msgstr "Habilitar plugins para añadir rutas de URL" +msgstr "" #: common/models.py:2048 msgid "Enable navigation integration" -msgstr "Habilitar integración de navegación" +msgstr "" #: common/models.py:2049 msgid "Enable plugins to integrate into navigation" -msgstr "Habilitar plugins para integrar en la navegación" +msgstr "" #: common/models.py:2055 msgid "Enable app integration" -msgstr "Habilitar integración de la aplicación" +msgstr "" #: common/models.py:2056 msgid "Enable plugins to add apps" -msgstr "Habilitar plugins para añadir aplicaciones" +msgstr "" #: common/models.py:2062 msgid "Enable schedule integration" -msgstr "Habilitar integración de programación" +msgstr "" #: common/models.py:2063 msgid "Enable plugins to run scheduled tasks" -msgstr "Habilitar plugins para ejecutar tareas programadas" +msgstr "" #: common/models.py:2069 msgid "Enable event integration" -msgstr "Habilitar integración de eventos" +msgstr "" #: common/models.py:2070 msgid "Enable plugins to respond to internal events" -msgstr "Habilitar plugins para responder a eventos internos" +msgstr "" #: common/models.py:2076 msgid "Enable project codes" -msgstr "Habilitar códigos de proyecto" +msgstr "" #: common/models.py:2077 msgid "Enable project codes for tracking projects" -msgstr "Habilitar códigos de proyecto para rastrear proyectos" +msgstr "" #: common/models.py:2082 msgid "Stocktake Functionality" @@ -3070,7 +3070,7 @@ msgstr "" #: common/models.py:2090 msgid "Exclude External Locations" -msgstr "Excluir Ubicaciones Externas" +msgstr "" #: common/models.py:2092 msgid "Exclude stock items in external locations from stocktake calculations" @@ -3086,7 +3086,7 @@ msgstr "" #: common/models.py:2106 msgid "Report Deletion Interval" -msgstr "Intervalo de borrado de informe" +msgstr "" #: common/models.py:2108 msgid "Stocktake reports will be deleted after specified number of days" @@ -3094,11 +3094,11 @@ msgstr "" #: common/models.py:2115 msgid "Display Users full names" -msgstr "Mostrar nombres completos de los usuarios" +msgstr "" #: common/models.py:2116 msgid "Display Users full names instead of usernames" -msgstr "Mostrar nombres completos de usuarios en lugar de nombres de usuario" +msgstr "" #: common/models.py:2121 msgid "Enable Test Station Data" @@ -3110,39 +3110,39 @@ msgstr "" #: common/models.py:2134 common/models.py:2514 msgid "Settings key (must be unique - case insensitive" -msgstr "Tecla de ajustes (debe ser única - mayúsculas y minúsculas" +msgstr "" #: common/models.py:2177 msgid "Hide inactive parts" -msgstr "Ocultar partes inactivas" +msgstr "" #: common/models.py:2179 msgid "Hide inactive parts in results displayed on the homepage" -msgstr "Ocultar partes inactivas en los resultados mostrados en la página de inicio" +msgstr "" #: common/models.py:2185 msgid "Show subscribed parts" -msgstr "Mostrar partes suscritas" +msgstr "" #: common/models.py:2186 msgid "Show subscribed parts on the homepage" -msgstr "Mostrar las partes suscritas en la página principal" +msgstr "" #: common/models.py:2191 msgid "Show subscribed categories" -msgstr "Mostrar categorías suscritas" +msgstr "" #: common/models.py:2192 msgid "Show subscribed part categories on the homepage" -msgstr "Mostrar categorías de partes suscritas en la página de inicio" +msgstr "" #: common/models.py:2197 msgid "Show latest parts" -msgstr "Mostrar últimas partes" +msgstr "" #: common/models.py:2198 msgid "Show latest parts on the homepage" -msgstr "Mostrar las últimas partes en la página de inicio" +msgstr "" #: common/models.py:2203 msgid "Show invalid BOMs" @@ -3150,103 +3150,103 @@ msgstr "" #: common/models.py:2204 msgid "Show BOMs that await validation on the homepage" -msgstr "Mostrar BOMs que esperan validación en la página de inicio" +msgstr "" #: common/models.py:2209 msgid "Show recent stock changes" -msgstr "Mostrar cambios recientes de stock" +msgstr "" #: common/models.py:2210 msgid "Show recently changed stock items on the homepage" -msgstr "Mostrar artículos de stock recientemente modificados en la página de inicio" +msgstr "" #: common/models.py:2215 msgid "Show low stock" -msgstr "Mostrar stock bajo" +msgstr "" #: common/models.py:2216 msgid "Show low stock items on the homepage" -msgstr "Mostrar artículos de stock bajo en la página de inicio" +msgstr "" #: common/models.py:2221 msgid "Show depleted stock" -msgstr "Mostrar stock agotado" +msgstr "" #: common/models.py:2222 msgid "Show depleted stock items on the homepage" -msgstr "Mostrar artículos agotados en la página de inicio" +msgstr "" #: common/models.py:2227 msgid "Show needed stock" -msgstr "Mostrar stock necesario" +msgstr "" #: common/models.py:2228 msgid "Show stock items needed for builds on the homepage" -msgstr "Mostrar artículos de stock necesarios para trabajos en la página de inicio" +msgstr "" #: common/models.py:2233 msgid "Show expired stock" -msgstr "Mostrar stock caducado" +msgstr "" #: common/models.py:2234 msgid "Show expired stock items on the homepage" -msgstr "Mostrar artículos de stock caducados en la página de inicio" +msgstr "" #: common/models.py:2239 msgid "Show stale stock" -msgstr "Mostrar stock obsoleto" +msgstr "" #: common/models.py:2240 msgid "Show stale stock items on the homepage" -msgstr "Mostrar artículos de stock obsoletos en la página de inicio" +msgstr "" #: common/models.py:2245 msgid "Show pending builds" -msgstr "Mostrar trabajos pendientes" +msgstr "" #: common/models.py:2246 msgid "Show pending builds on the homepage" -msgstr "Mostrar trabajos pendientes en la página de inicio" +msgstr "" #: common/models.py:2251 msgid "Show overdue builds" -msgstr "Mostrar trabajos vencidos" +msgstr "" #: common/models.py:2252 msgid "Show overdue builds on the homepage" -msgstr "Mostrar trabajos pendientes en la página de inicio" +msgstr "" #: common/models.py:2257 msgid "Show outstanding POs" -msgstr "Mostrar Órdenes de Compra Pendientes" +msgstr "" #: common/models.py:2258 msgid "Show outstanding POs on the homepage" -msgstr "Mostrar las OC destacadas en la página de inicio" +msgstr "" #: common/models.py:2263 msgid "Show overdue POs" -msgstr "Mostrar OC atrasadas" +msgstr "" #: common/models.py:2264 msgid "Show overdue POs on the homepage" -msgstr "Mostrar las OC vencidas en la página de inicio" +msgstr "" #: common/models.py:2269 msgid "Show outstanding SOs" -msgstr "Mostrar OV pendiemtes" +msgstr "" #: common/models.py:2270 msgid "Show outstanding SOs on the homepage" -msgstr "Mostrar OV pendientes en la página de inicio" +msgstr "" #: common/models.py:2275 msgid "Show overdue SOs" -msgstr "Mostrar OV atrasadas" +msgstr "" #: common/models.py:2276 msgid "Show overdue SOs on the homepage" -msgstr "Mostrar OV atrasadas en la página de inicio" +msgstr "" #: common/models.py:2281 msgid "Show pending SO shipments" @@ -3258,23 +3258,23 @@ msgstr "" #: common/models.py:2287 msgid "Show News" -msgstr "Mostrar novedades" +msgstr "" #: common/models.py:2288 msgid "Show news on the homepage" -msgstr "Mostrar las últimas novedades de InvenTree en la página de inicio" +msgstr "" #: common/models.py:2293 msgid "Inline label display" -msgstr "Mostrar etiqueta interior" +msgstr "" #: common/models.py:2295 msgid "Display PDF labels in the browser, instead of downloading as a file" -msgstr "Mostrar etiquetas PDF en el navegador, en lugar de descargar como un archivo" +msgstr "" #: common/models.py:2301 msgid "Default label printer" -msgstr "Impresora predeterminada" +msgstr "" #: common/models.py:2303 msgid "Configure which label printer should be selected by default" @@ -3282,15 +3282,15 @@ msgstr "" #: common/models.py:2309 msgid "Inline report display" -msgstr "Mostrar informe en línea" +msgstr "" #: common/models.py:2311 msgid "Display PDF reports in the browser, instead of downloading as a file" -msgstr "Mostrar informes PDF en el navegador, en lugar de descargar como un archivo" +msgstr "" #: common/models.py:2317 msgid "Search Parts" -msgstr "Buscar partes" +msgstr "" #: common/models.py:2318 msgid "Display parts in search preview window" @@ -3298,7 +3298,7 @@ msgstr "" #: common/models.py:2323 msgid "Search Supplier Parts" -msgstr "Buscar partes de proveedor" +msgstr "" #: common/models.py:2324 msgid "Display supplier parts in search preview window" @@ -3306,7 +3306,7 @@ msgstr "" #: common/models.py:2329 msgid "Search Manufacturer Parts" -msgstr "Buscar Partes del Fabricante" +msgstr "" #: common/models.py:2330 msgid "Display manufacturer parts in search preview window" @@ -3314,55 +3314,55 @@ msgstr "" #: common/models.py:2335 msgid "Hide Inactive Parts" -msgstr "Ocultar Partes Inactivas" +msgstr "" #: common/models.py:2336 msgid "Excluded inactive parts from search preview window" -msgstr "Excluir las partes inactivas de la ventana de previsualización de búsqueda" +msgstr "" #: common/models.py:2341 msgid "Search Categories" -msgstr "Buscar categorías" +msgstr "" #: common/models.py:2342 msgid "Display part categories in search preview window" -msgstr "Mostrar categorias de la parte en la ventana de previsualización de búsqueda" +msgstr "" #: common/models.py:2347 msgid "Search Stock" -msgstr "Buscar inventario" +msgstr "" #: common/models.py:2348 msgid "Display stock items in search preview window" -msgstr "Mostrar artículos del stock en la ventana de previsualización de búsqueda" +msgstr "" #: common/models.py:2353 msgid "Hide Unavailable Stock Items" -msgstr "Ocultar Artículos del Stock Agotados" +msgstr "" #: common/models.py:2355 msgid "Exclude stock items which are not available from the search preview window" -msgstr "Excluir artículos de stock que no están disponibles en la ventana de previsualización de búsqueda" +msgstr "" #: common/models.py:2361 msgid "Search Locations" -msgstr "Buscar ubicaciones" +msgstr "" #: common/models.py:2362 msgid "Display stock locations in search preview window" -msgstr "Mostrar ubicaciones de almacén en la ventana de vista previa de búsqueda" +msgstr "" #: common/models.py:2367 msgid "Search Companies" -msgstr "Buscar empresas" +msgstr "" #: common/models.py:2368 msgid "Display companies in search preview window" -msgstr "Mostrar empresas en la ventana de vista previa de búsqueda" +msgstr "" #: common/models.py:2373 msgid "Search Build Orders" -msgstr "Buscar Pedidos de Construcción" +msgstr "" #: common/models.py:2374 msgid "Display build orders in search preview window" @@ -3370,7 +3370,7 @@ msgstr "" #: common/models.py:2379 msgid "Search Purchase Orders" -msgstr "Buscar órdenes de compra" +msgstr "" #: common/models.py:2380 msgid "Display purchase orders in search preview window" @@ -3378,7 +3378,7 @@ msgstr "" #: common/models.py:2385 msgid "Exclude Inactive Purchase Orders" -msgstr "Excluir pedidos de compra inactivos" +msgstr "" #: common/models.py:2387 msgid "Exclude inactive purchase orders from search preview window" @@ -3386,7 +3386,7 @@ msgstr "" #: common/models.py:2393 msgid "Search Sales Orders" -msgstr "Buscar órdenes de venta" +msgstr "" #: common/models.py:2394 msgid "Display sales orders in search preview window" @@ -3402,7 +3402,7 @@ msgstr "" #: common/models.py:2407 msgid "Search Return Orders" -msgstr "Buscar órdenes de devolución" +msgstr "" #: common/models.py:2408 msgid "Display return orders in search preview window" @@ -3418,7 +3418,7 @@ msgstr "" #: common/models.py:2421 msgid "Search Preview Results" -msgstr "Resultados de la vista previa" +msgstr "" #: common/models.py:2423 msgid "Number of results to show in each section of the search preview window" @@ -3426,55 +3426,55 @@ msgstr "" #: common/models.py:2429 msgid "Regex Search" -msgstr "Búsqueda usando una expresión regular" +msgstr "" #: common/models.py:2430 msgid "Enable regular expressions in search queries" -msgstr "Habilitar expresiones regulares en las consultas de búsqueda" +msgstr "" #: common/models.py:2435 msgid "Whole Word Search" -msgstr "Búsqueda por palabra completa" +msgstr "" #: common/models.py:2436 msgid "Search queries return results for whole word matches" -msgstr "Las consultas de búsqueda devuelven resultados para palabras enteras coincidentes" +msgstr "" #: common/models.py:2441 msgid "Show Quantity in Forms" -msgstr "Mostrar cantidad en formularios" +msgstr "" #: common/models.py:2442 msgid "Display available part quantity in some forms" -msgstr "Mostrar la cantidad de partes disponibles en algunos formularios" +msgstr "" #: common/models.py:2447 msgid "Escape Key Closes Forms" -msgstr "Formularios de cierre de teclas de escape" +msgstr "" #: common/models.py:2448 msgid "Use the escape key to close modal forms" -msgstr "Usa la clave de escape para cerrar formularios modales" +msgstr "" #: common/models.py:2453 msgid "Fixed Navbar" -msgstr "Barra de navegación fija" +msgstr "" #: common/models.py:2454 msgid "The navbar position is fixed to the top of the screen" -msgstr "La posición de la barra de navegación se fija en la parte superior de la pantalla" +msgstr "" #: common/models.py:2459 msgid "Date Format" -msgstr "Formato de Fecha" +msgstr "" #: common/models.py:2460 msgid "Preferred format for displaying dates" -msgstr "Formato preferido para mostrar fechas" +msgstr "" #: common/models.py:2473 part/templates/part/detail.html:41 msgid "Part Scheduling" -msgstr "Planificación de partes" +msgstr "" #: common/models.py:2474 msgid "Display part scheduling information" @@ -3498,7 +3498,7 @@ msgstr "" #: common/models.py:2495 msgid "Receive error reports" -msgstr "Recibir reportes de error" +msgstr "" #: common/models.py:2496 msgid "Receive notifications for system errors" @@ -3506,7 +3506,7 @@ msgstr "" #: common/models.py:2501 msgid "Last used printing machines" -msgstr "Últimas impresoras usadas" +msgstr "" #: common/models.py:2502 msgid "Save the last used printing machines for a user" @@ -3520,11 +3520,11 @@ msgstr "" #: report/templates/report/inventree_test_report.html:105 #: templates/js/translated/stock.js:3036 users/models.py:111 msgid "User" -msgstr "Usuario" +msgstr "" #: common/models.py:2545 msgid "Price break quantity" -msgstr "Cantidad de salto de precio" +msgstr "" #: common/models.py:2552 company/serializers.py:502 order/admin.py:42 #: order/models.py:1346 order/models.py:2292 @@ -3532,11 +3532,11 @@ msgstr "Cantidad de salto de precio" #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:740 msgid "Price" -msgstr "Precio" +msgstr "" #: common/models.py:2553 msgid "Unit price at specified quantity" -msgstr "Precio unitario a la cantidad especificada" +msgstr "" #: common/models.py:2649 common/models.py:2834 msgid "Endpoint" @@ -3544,15 +3544,15 @@ msgstr "" #: common/models.py:2650 msgid "Endpoint at which this webhook is received" -msgstr "Punto final en el que se recibe este webhook" +msgstr "" #: common/models.py:2660 msgid "Name for this webhook" -msgstr "Nombre para este webhook" +msgstr "" #: common/models.py:2664 msgid "Is this webhook active" -msgstr "Está activo este webhook" +msgstr "" #: common/models.py:2680 users/models.py:159 msgid "Token" @@ -3560,23 +3560,23 @@ msgstr "" #: common/models.py:2681 msgid "Token for access" -msgstr "Token para el acceso" +msgstr "" #: common/models.py:2689 msgid "Secret" -msgstr "Clave" +msgstr "" #: common/models.py:2690 msgid "Shared secret for HMAC" -msgstr "Secreto compartido para HMAC" +msgstr "" #: common/models.py:2798 msgid "Message ID" -msgstr "ID de mensaje" +msgstr "" #: common/models.py:2799 msgid "Unique identifier for this message" -msgstr "Identificador único para este mensaje" +msgstr "" #: common/models.py:2807 msgid "Host" @@ -3584,35 +3584,35 @@ msgstr "" #: common/models.py:2808 msgid "Host from which this message was received" -msgstr "Servidor desde el cual se recibió este mensaje" +msgstr "" #: common/models.py:2816 msgid "Header" -msgstr "Encabezado" +msgstr "" #: common/models.py:2817 msgid "Header of this message" -msgstr "Encabezado del mensaje" +msgstr "" #: common/models.py:2824 msgid "Body" -msgstr "Cuerpo" +msgstr "" #: common/models.py:2825 msgid "Body of this message" -msgstr "Cuerpo de este mensaje" +msgstr "" #: common/models.py:2835 msgid "Endpoint on which this message was received" -msgstr "Endpoint en el que se recibió este mensaje" +msgstr "" #: common/models.py:2840 msgid "Worked on" -msgstr "Trabajado en" +msgstr "" #: common/models.py:2841 msgid "Was the work on this message finished?" -msgstr "¿El trabajo en este mensaje ha terminado?" +msgstr "" #: common/models.py:2967 msgid "Id" @@ -3621,7 +3621,7 @@ msgstr "" #: common/models.py:2969 templates/js/translated/company.js:965 #: templates/js/translated/news.js:44 msgid "Title" -msgstr "Título" +msgstr "" #: common/models.py:2971 common/models.py:3229 company/models.py:149 #: company/models.py:446 company/models.py:506 company/models.py:806 @@ -3638,28 +3638,28 @@ msgstr "Título" #: templates/js/translated/sales_order.js:1092 #: templates/js/translated/sales_order.js:2023 msgid "Link" -msgstr "Enlace" +msgstr "" #: common/models.py:2973 templates/js/translated/news.js:60 msgid "Published" -msgstr "Publicado" +msgstr "" #: common/models.py:2975 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 msgid "Author" -msgstr "Autor" +msgstr "" #: common/models.py:2977 templates/js/translated/news.js:52 msgid "Summary" -msgstr "Resumen" +msgstr "" #: common/models.py:2980 msgid "Read" -msgstr "Leer" +msgstr "" #: common/models.py:2980 msgid "Was this news item read?" -msgstr "¿Esta noticia ya fue leída?" +msgstr "" #: common/models.py:2997 company/models.py:159 part/models.py:969 #: report/templates/report/inventree_bill_of_materials_report.html:126 @@ -3669,11 +3669,11 @@ msgstr "¿Esta noticia ya fue leída?" #: templates/hover_image.html:7 templates/hover_image.html:9 #: templates/modals.html:6 msgid "Image" -msgstr "Imágen" +msgstr "" #: common/models.py:2997 msgid "Image file" -msgstr "Archivo de imagen" +msgstr "" #: common/models.py:3009 common/models.py:3213 msgid "Target model type for this image" @@ -3693,50 +3693,50 @@ msgstr "" #: common/models.py:3071 msgid "Unit name must be a valid identifier" -msgstr "Nombre de unidad debe ser un identificador válido" +msgstr "" #: common/models.py:3090 msgid "Unit name" -msgstr "Nombre de unidad" +msgstr "" #: common/models.py:3097 templates/InvenTree/settings/settings_staff_js.html:75 msgid "Symbol" -msgstr "Símbolo" +msgstr "" #: common/models.py:3098 msgid "Optional unit symbol" -msgstr "Símbolo de unidad opcional" +msgstr "" #: common/models.py:3104 templates/InvenTree/settings/settings_staff_js.html:71 msgid "Definition" -msgstr "Definición" +msgstr "" #: common/models.py:3105 msgid "Unit definition" -msgstr "Definición de unidad" +msgstr "" #: common/models.py:3163 common/models.py:3220 stock/models.py:2471 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:345 msgid "Attachment" -msgstr "Archivo adjunto" +msgstr "" #: common/models.py:3175 msgid "Missing file" -msgstr "Archivo no encontrado" +msgstr "" #: common/models.py:3176 msgid "Missing external link" -msgstr "Falta enlace externo" +msgstr "" #: common/models.py:3221 msgid "Select file to attach" -msgstr "Seleccionar archivo para adjuntar" +msgstr "" #: common/models.py:3236 templates/js/translated/attachment.js:120 #: templates/js/translated/attachment.js:360 msgid "Comment" -msgstr "Comentario" +msgstr "" #: common/models.py:3237 msgid "Attachment comment" @@ -3765,16 +3765,16 @@ msgstr "" #: common/notifications.py:314 #, python-brace-format msgid "New {verbose_name}" -msgstr "Nuevo {verbose_name}" +msgstr "" #: common/notifications.py:316 msgid "A new order has been created and assigned to you" -msgstr "Se ha creado un nuevo pedido y se le ha asignado" +msgstr "" #: common/notifications.py:322 #, python-brace-format msgid "{verbose_name} canceled" -msgstr "{verbose_name} cancelado" +msgstr "" #: common/notifications.py:324 msgid "A order that is assigned to you was canceled" @@ -3782,83 +3782,83 @@ msgstr "" #: common/notifications.py:330 common/notifications.py:337 order/api.py:454 msgid "Items Received" -msgstr "Artículos Recibidos" +msgstr "" #: common/notifications.py:332 msgid "Items have been received against a purchase order" -msgstr "Los artículos han sido recibidos contra una orden de compra" +msgstr "" #: common/notifications.py:339 msgid "Items have been received against a return order" -msgstr "Los artículos han sido recibidos contra una orden de devolución" +msgstr "" #: common/notifications.py:457 msgid "Error raised by plugin" -msgstr "Error generado por el complemento" +msgstr "" #: common/serializers.py:375 msgid "Is Running" -msgstr "Está en ejecución" +msgstr "" #: common/serializers.py:381 msgid "Pending Tasks" -msgstr "Tareas pendientes" +msgstr "" #: common/serializers.py:387 msgid "Scheduled Tasks" -msgstr "Tareas Programadas" +msgstr "" #: common/serializers.py:393 msgid "Failed Tasks" -msgstr "Tareas fallidas" +msgstr "" #: common/serializers.py:408 msgid "Task ID" -msgstr "Identificación de Tarea" +msgstr "" #: common/serializers.py:408 msgid "Unique task ID" -msgstr "Identificación de tarea única" +msgstr "" #: common/serializers.py:410 msgid "Lock" -msgstr "Bloquear" +msgstr "" #: common/serializers.py:410 msgid "Lock time" -msgstr "Bloquear hora" +msgstr "" #: common/serializers.py:412 msgid "Task name" -msgstr "Nombre de la tarea" +msgstr "" #: common/serializers.py:414 msgid "Function" -msgstr "Función" +msgstr "" #: common/serializers.py:414 msgid "Function name" -msgstr "Nombre de la Función" +msgstr "" #: common/serializers.py:416 msgid "Arguments" -msgstr "Argumentos" +msgstr "" #: common/serializers.py:416 msgid "Task arguments" -msgstr "Argumentos de la tarea" +msgstr "" #: common/serializers.py:419 msgid "Keyword Arguments" -msgstr "Argumentos de palabra clave" +msgstr "" #: common/serializers.py:419 msgid "Task keyword arguments" -msgstr "Argumentos de palabra clave de tarea" +msgstr "" #: common/serializers.py:529 msgid "Filename" -msgstr "Nombre de Archivo" +msgstr "" #: common/serializers.py:536 report/api.py:100 report/serializers.py:53 msgid "Model Type" @@ -3886,19 +3886,19 @@ msgstr "" #: common/validators.py:103 msgid "An empty domain is not allowed." -msgstr "Un dominio vacío no está permitido." +msgstr "" #: common/validators.py:105 #, python-brace-format msgid "Invalid domain name: {domain}" -msgstr "Nombre de dominio inválido: {domain}" +msgstr "" #: 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 #: part/templates/part/import_wizard/part_upload.html:58 part/views.py:109 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" -msgstr "Subir Archivo" +msgstr "" #: common/views.py:84 order/templates/order/order_wizard/match_fields.html:52 #: order/views.py:119 @@ -3906,19 +3906,19 @@ msgstr "Subir Archivo" #: part/templates/part/import_wizard/match_fields.html:52 part/views.py:110 #: templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" -msgstr "Coincidir Campos" +msgstr "" #: common/views.py:84 msgid "Match Items" -msgstr "Coincidir artículos" +msgstr "" #: common/views.py:401 msgid "Fields matching failed" -msgstr "Falló la coincidencia de campos" +msgstr "" #: common/views.py:464 msgid "Parts imported" -msgstr "Partes importadas" +msgstr "" #: common/views.py:494 order/templates/order/order_wizard/match_fields.html:27 #: order/templates/order/order_wizard/match_parts.html:19 @@ -3929,7 +3929,7 @@ msgstr "Partes importadas" #: templates/patterns/wizard/match_fields.html:26 #: templates/patterns/wizard/upload.html:35 msgid "Previous Step" -msgstr "Paso anterior" +msgstr "" #: company/api.py:141 msgid "Part is Active" @@ -3956,42 +3956,42 @@ msgstr "" #: company/templates/company/company_base.html:12 stock/api.py:814 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 msgid "Company" -msgstr "Empresa" +msgstr "" #: company/models.py:101 company/views.py:51 #: templates/js/translated/search.js:192 msgid "Companies" -msgstr "Empresas" +msgstr "" #: company/models.py:117 msgid "Company description" -msgstr "Descripción de la empresa" +msgstr "" #: company/models.py:118 msgid "Description of the company" -msgstr "Descripción de la empresa" +msgstr "" #: company/models.py:123 company/templates/company/company_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:54 #: templates/js/translated/company.js:532 msgid "Website" -msgstr "Página web" +msgstr "" #: company/models.py:123 msgid "Company website URL" -msgstr "URL del sitio web de la empresa" +msgstr "" #: company/models.py:128 msgid "Phone number" -msgstr "Teléfono" +msgstr "" #: company/models.py:130 msgid "Contact phone number" -msgstr "Teléfono de contacto" +msgstr "" #: company/models.py:137 msgid "Contact email address" -msgstr "Correo electrónico de contacto" +msgstr "" #: company/models.py:142 company/models.py:275 #: company/templates/company/company_base.html:145 order/models.py:343 @@ -3999,15 +3999,15 @@ msgstr "Correo electrónico de contacto" #: order/templates/order/return_order_base.html:174 #: order/templates/order/sales_order_base.html:218 msgid "Contact" -msgstr "Contacto" +msgstr "" #: company/models.py:144 msgid "Point of contact" -msgstr "Punto de contacto" +msgstr "" #: company/models.py:150 msgid "Link to external company information" -msgstr "Enlace a información externa de la empresa" +msgstr "" #: company/models.py:163 msgid "Is this company active?" @@ -4019,7 +4019,7 @@ msgstr "" #: company/models.py:169 msgid "Do you sell items to this company?" -msgstr "¿Vendes artículos a esta empresa?" +msgstr "" #: company/models.py:174 msgid "Is supplier" @@ -4027,7 +4027,7 @@ msgstr "" #: company/models.py:175 msgid "Do you purchase items from this company?" -msgstr "¿Compras artículos de esta empresa?" +msgstr "" #: company/models.py:180 msgid "Is manufacturer" @@ -4035,126 +4035,126 @@ msgstr "" #: company/models.py:181 msgid "Does this company manufacture parts?" -msgstr "¿Esta empresa fabrica partes?" +msgstr "" #: company/models.py:189 msgid "Default currency used for this company" -msgstr "Moneda predeterminada utilizada para esta empresa" +msgstr "" #: company/models.py:314 company/templates/company/company_base.html:124 #: order/models.py:353 order/templates/order/order_base.html:210 #: order/templates/order/return_order_base.html:181 #: order/templates/order/sales_order_base.html:225 msgid "Address" -msgstr "Dirección" +msgstr "" #: company/models.py:315 company/templates/company/sidebar.html:35 msgid "Addresses" -msgstr "Direcciones" +msgstr "" #: company/models.py:372 msgid "Select company" -msgstr "Seleccionar empresa" +msgstr "" #: company/models.py:377 msgid "Address title" -msgstr "Título de dirección" +msgstr "" #: company/models.py:378 msgid "Title describing the address entry" -msgstr "Título que describe la entrada de dirección" +msgstr "" #: company/models.py:384 msgid "Primary address" -msgstr "Dirección principal" +msgstr "" #: company/models.py:385 msgid "Set as primary address" -msgstr "Establecer como dirección principal" +msgstr "" #: company/models.py:390 templates/js/translated/company.js:914 #: templates/js/translated/company.js:971 msgid "Line 1" -msgstr "Línea 1" +msgstr "" #: company/models.py:391 msgid "Address line 1" -msgstr "Dirección línea 1" +msgstr "" #: company/models.py:397 templates/js/translated/company.js:915 #: templates/js/translated/company.js:977 msgid "Line 2" -msgstr "Línea 2" +msgstr "" #: company/models.py:398 msgid "Address line 2" -msgstr "Dirección línea 2" +msgstr "" #: company/models.py:404 company/models.py:405 #: templates/js/translated/company.js:983 msgid "Postal code" -msgstr "Código postal" +msgstr "" #: company/models.py:411 msgid "City/Region" -msgstr "Ciudad/región" +msgstr "" #: company/models.py:412 msgid "Postal code city/region" -msgstr "Código postal de ciudad/región" +msgstr "" #: company/models.py:418 msgid "State/Province" -msgstr "Estado/provincia" +msgstr "" #: company/models.py:419 msgid "State or province" -msgstr "Estado o provincia" +msgstr "" #: company/models.py:425 templates/js/translated/company.js:1001 msgid "Country" -msgstr "País" +msgstr "" #: company/models.py:426 msgid "Address country" -msgstr "Dirección de país" +msgstr "" #: company/models.py:432 msgid "Courier shipping notes" -msgstr "Notas de envío de mensajería" +msgstr "" #: company/models.py:433 msgid "Notes for shipping courier" -msgstr "Notas para el mensajero de envío" +msgstr "" #: company/models.py:439 msgid "Internal shipping notes" -msgstr "Notas de envío internas" +msgstr "" #: company/models.py:440 msgid "Shipping notes for internal use" -msgstr "Notas de envío para uso interno" +msgstr "" #: company/models.py:447 msgid "Link to address information (external)" -msgstr "Enlace a información de dirección (externa)" +msgstr "" #: company/models.py:469 company/models.py:581 company/models.py:799 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:217 msgid "Manufacturer Part" -msgstr "Parte del fabricante" +msgstr "" #: company/models.py:481 company/models.py:767 stock/models.py:767 #: stock/serializers.py:442 stock/templates/stock/item_base.html:142 #: templates/js/translated/bom.js:622 msgid "Base Part" -msgstr "Parte base" +msgstr "" #: company/models.py:483 company/models.py:769 msgid "Select part" -msgstr "Seleccionar parte" +msgstr "" #: company/models.py:492 company/templates/company/company_base.html:82 #: company/templates/company/manufacturer_part.html:90 @@ -4166,11 +4166,11 @@ msgstr "Seleccionar parte" #: templates/js/translated/company.js:1611 #: templates/js/translated/table_filters.js:805 msgid "Manufacturer" -msgstr "Fabricante" +msgstr "" #: company/models.py:493 msgid "Select manufacturer" -msgstr "Seleccionar fabricante" +msgstr "" #: company/models.py:499 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:153 order/serializers.py:518 @@ -4185,11 +4185,11 @@ msgstr "" #: company/models.py:507 msgid "URL for external manufacturer part link" -msgstr "URL para el enlace de parte del fabricante externo" +msgstr "" #: company/models.py:516 msgid "Manufacturer part description" -msgstr "Descripción de la parte del fabricante" +msgstr "" #: company/models.py:569 msgid "Manufacturer Part Parameter" @@ -4197,18 +4197,18 @@ msgstr "" #: company/models.py:588 msgid "Parameter name" -msgstr "Nombre del parámetro" +msgstr "" #: company/models.py:594 report/templates/report/inventree_test_report.html:104 #: stock/models.py:2463 templates/js/translated/company.js:1166 #: templates/js/translated/company.js:1419 templates/js/translated/part.js:1496 #: templates/js/translated/stock.js:1522 msgid "Value" -msgstr "Valor" +msgstr "" #: company/models.py:595 msgid "Parameter value" -msgstr "Valor del parámetro" +msgstr "" #: company/models.py:602 company/templates/company/supplier_part.html:168 #: part/admin.py:57 part/models.py:1049 part/models.py:3667 @@ -4216,11 +4216,11 @@ msgstr "Valor del parámetro" #: templates/js/translated/company.js:1425 templates/js/translated/part.js:1515 #: templates/js/translated/part.js:1619 templates/js/translated/part.js:2373 msgid "Units" -msgstr "Unidades" +msgstr "" #: company/models.py:603 msgid "Parameter units" -msgstr "Unidades de parámetro" +msgstr "" #: company/models.py:655 company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 order/api.py:434 @@ -4229,19 +4229,19 @@ msgstr "Unidades de parámetro" #: templates/js/translated/purchase_order.js:752 #: templates/js/translated/stock.js:2280 msgid "Supplier Part" -msgstr "Parte del proveedor" +msgstr "" #: company/models.py:707 msgid "Pack units must be compatible with the base part units" -msgstr "Las unidades de paquete deben ser compatibles con las unidades de partes de base" +msgstr "" #: company/models.py:714 msgid "Pack units must be greater than zero" -msgstr "Las unidades de paquete deben ser mayor que cero" +msgstr "" #: company/models.py:728 msgid "Linked manufacturer part must reference the same base part" -msgstr "La parte vinculada del fabricante debe hacer referencia a la misma parte base" +msgstr "" #: company/models.py:777 company/templates/company/company_base.html:87 #: company/templates/company/supplier_part.html:129 order/models.py:486 @@ -4257,15 +4257,15 @@ msgstr "La parte vinculada del fabricante debe hacer referencia a la misma parte #: templates/js/translated/purchase_order.js:1689 #: templates/js/translated/table_filters.js:809 msgid "Supplier" -msgstr "Proveedor" +msgstr "" #: company/models.py:778 msgid "Select supplier" -msgstr "Seleccionar proveedor" +msgstr "" #: company/models.py:784 part/serializers.py:538 msgid "Supplier stock keeping unit" -msgstr "Unidad de mantenimiento de stock de proveedores" +msgstr "" #: company/models.py:790 msgid "Is this supplier part active?" @@ -4273,15 +4273,15 @@ msgstr "" #: company/models.py:800 msgid "Select manufacturer part" -msgstr "Seleccionar parte del fabricante" +msgstr "" #: company/models.py:807 msgid "URL for external supplier part link" -msgstr "URL del enlace de parte del proveedor externo" +msgstr "" #: company/models.py:816 msgid "Supplier part description" -msgstr "Descripción de la parte del proveedor" +msgstr "" #: company/models.py:823 company/templates/company/supplier_part.html:187 #: part/admin.py:412 part/models.py:4178 part/templates/part/upload_bom.html:59 @@ -4292,15 +4292,15 @@ msgstr "Descripción de la parte del proveedor" #: report/templates/report/inventree_stock_location_report.html:105 #: stock/serializers.py:768 msgid "Note" -msgstr "Nota" +msgstr "" #: company/models.py:832 part/models.py:2013 msgid "base cost" -msgstr "costo base" +msgstr "" #: company/models.py:833 part/models.py:2014 msgid "Minimum charge (e.g. stocking fee)" -msgstr "Cargo mínimo (p. ej., cuota de almacenamiento)" +msgstr "" #: company/models.py:840 company/templates/company/supplier_part.html:160 #: stock/admin.py:228 stock/models.py:798 stock/serializers.py:1541 @@ -4308,11 +4308,11 @@ msgstr "Cargo mínimo (p. ej., cuota de almacenamiento)" #: templates/js/translated/company.js:1646 #: templates/js/translated/stock.js:2424 msgid "Packaging" -msgstr "Paquetes" +msgstr "" #: company/models.py:841 msgid "Part packaging" -msgstr "Embalaje de partes" +msgstr "" #: company/models.py:846 templates/js/translated/company.js:1651 #: templates/js/translated/part.js:1825 templates/js/translated/part.js:1881 @@ -4322,31 +4322,31 @@ msgstr "Embalaje de partes" #: templates/js/translated/purchase_order.js:2084 #: templates/js/translated/purchase_order.js:2101 msgid "Pack Quantity" -msgstr "Cantidad de paquete" +msgstr "" #: company/models.py:848 msgid "Total quantity supplied in a single pack. Leave empty for single items." -msgstr "Cantidad total suministrada en un solo paquete. Dejar vacío para artículos individuales." +msgstr "" #: company/models.py:867 part/models.py:2020 msgid "multiple" -msgstr "múltiple" +msgstr "" #: company/models.py:868 msgid "Order multiple" -msgstr "Pedido múltiple" +msgstr "" #: company/models.py:880 msgid "Quantity available from supplier" -msgstr "Cantidad disponible del proveedor" +msgstr "" #: company/models.py:886 msgid "Availability Updated" -msgstr "Disponibilidad actualizada" +msgstr "" #: company/models.py:887 msgid "Date of last update of availability data" -msgstr "Fecha de última actualización de los datos de disponibilidad" +msgstr "" #: company/models.py:1015 msgid "Supplier Price Break" @@ -4354,7 +4354,7 @@ msgstr "" #: company/serializers.py:174 msgid "Default currency used for this supplier" -msgstr "Moneda predeterminada utilizada para este proveedor" +msgstr "" #: company/serializers.py:210 msgid "Company Name" @@ -4365,7 +4365,7 @@ msgstr "" #: templates/js/translated/company.js:1689 #: templates/js/translated/table_filters.js:355 msgid "In Stock" -msgstr "En Stock" +msgstr "" #: company/templates/company/company_base.html:16 #: part/templates/part/part_base.html:146 @@ -4374,34 +4374,34 @@ msgstr "En Stock" #: templates/js/translated/model_renderers.js:312 #: templates/js/translated/part.js:814 templates/js/translated/part.js:1222 msgid "Inactive" -msgstr "Inactivo" +msgstr "" #: company/templates/company/company_base.html:27 #: templates/js/translated/purchase_order.js:242 msgid "Create Purchase Order" -msgstr "Crear orden de compra" +msgstr "" #: company/templates/company/company_base.html:33 msgid "Company actions" -msgstr "Acciones de empresa" +msgstr "" #: company/templates/company/company_base.html:38 msgid "Edit company information" -msgstr "Editar datos de la empresa" +msgstr "" #: company/templates/company/company_base.html:39 #: templates/js/translated/company.js:445 msgid "Edit Company" -msgstr "Editar empresa" +msgstr "" #: company/templates/company/company_base.html:43 msgid "Delete company" -msgstr "Eliminar empresa" +msgstr "" #: company/templates/company/company_base.html:44 #: company/templates/company/company_base.html:168 msgid "Delete Company" -msgstr "Eliminar Empresa" +msgstr "" #: company/templates/company/company_base.html:53 #: company/templates/company/manufacturer_part.html:51 @@ -4413,22 +4413,22 @@ msgstr "Eliminar Empresa" #: report/templates/report/inventree_test_report.html:84 #: report/templates/report/inventree_test_report.html:162 msgid "Part image" -msgstr "Imagen de parte" +msgstr "" #: company/templates/company/company_base.html:61 #: part/templates/part/part_thumb.html:12 msgid "Upload new image" -msgstr "Cargar nueva imagen" +msgstr "" #: company/templates/company/company_base.html:64 #: part/templates/part/part_thumb.html:14 msgid "Download image from URL" -msgstr "Descargar desde URL" +msgstr "" #: company/templates/company/company_base.html:66 #: part/templates/part/part_thumb.html:16 msgid "Delete image" -msgstr "Borrar imagen" +msgstr "" #: company/templates/company/company_base.html:92 order/models.py:938 #: order/models.py:2058 order/templates/order/return_order_base.html:131 @@ -4442,74 +4442,74 @@ msgstr "Borrar imagen" #: templates/js/translated/stock.js:2959 #: templates/js/translated/table_filters.js:813 msgid "Customer" -msgstr "Cliente" +msgstr "" #: company/templates/company/company_base.html:117 msgid "Uses default currency" -msgstr "Usa la moneda predeterminada" +msgstr "" #: company/templates/company/company_base.html:131 msgid "Phone" -msgstr "Teléfono" +msgstr "" #: company/templates/company/company_base.html:211 #: part/templates/part/part_base.html:527 msgid "Remove Image" -msgstr "Eliminar imagen" +msgstr "" #: company/templates/company/company_base.html:212 msgid "Remove associated image from this company" -msgstr "Eliminar imagen asociada a esta empresa" +msgstr "" #: company/templates/company/company_base.html:214 #: part/templates/part/part_base.html:530 #: templates/InvenTree/settings/user.html:88 #: templates/InvenTree/settings/user_sso.html:43 msgid "Remove" -msgstr "Eliminar" +msgstr "" #: company/templates/company/company_base.html:243 #: part/templates/part/part_base.html:559 msgid "Upload Image" -msgstr "Subir Imagen" +msgstr "" #: company/templates/company/company_base.html:258 #: part/templates/part/part_base.html:613 msgid "Download Image" -msgstr "Descargar imagen" +msgstr "" #: company/templates/company/detail.html:15 #: company/templates/company/manufacturer_part_sidebar.html:7 #: templates/InvenTree/search.html:120 templates/js/translated/search.js:147 msgid "Supplier Parts" -msgstr "Partes de Proveedor" +msgstr "" #: company/templates/company/detail.html:19 msgid "Create new supplier part" -msgstr "Crear nueva parte del proveedor" +msgstr "" #: company/templates/company/detail.html:20 #: company/templates/company/manufacturer_part.html:123 #: part/templates/part/detail.html:356 msgid "New Supplier Part" -msgstr "Nueva Parte de Proveedor" +msgstr "" #: company/templates/company/detail.html:41 templates/InvenTree/search.html:105 #: templates/js/translated/search.js:151 msgid "Manufacturer Parts" -msgstr "Partes del fabricante" +msgstr "" #: company/templates/company/detail.html:45 msgid "Create new manufacturer part" -msgstr "Crear nueva parte de fabricante" +msgstr "" #: company/templates/company/detail.html:46 part/templates/part/detail.html:376 msgid "New Manufacturer Part" -msgstr "Nueva parte de fabricante" +msgstr "" #: company/templates/company/detail.html:65 msgid "Supplier Stock" -msgstr "Stock del Proveedor" +msgstr "" #: company/templates/company/detail.html:75 #: company/templates/company/sidebar.html:12 @@ -4523,17 +4523,17 @@ msgstr "Stock del Proveedor" #: templates/js/translated/search.js:205 templates/navbar.html:50 #: users/models.py:208 msgid "Purchase Orders" -msgstr "Ordenes de compra" +msgstr "" #: company/templates/company/detail.html:79 #: order/templates/order/purchase_orders.html:17 msgid "Create new purchase order" -msgstr "Crear nueva orden de compra" +msgstr "" #: company/templates/company/detail.html:80 #: order/templates/order/purchase_orders.html:18 msgid "New Purchase Order" -msgstr "Nueva orden de compra" +msgstr "" #: company/templates/company/detail.html:101 #: company/templates/company/sidebar.html:21 @@ -4546,21 +4546,21 @@ msgstr "Nueva orden de compra" #: templates/js/translated/search.js:219 templates/navbar.html:62 #: users/models.py:209 msgid "Sales Orders" -msgstr "Órdenes de venta" +msgstr "" #: company/templates/company/detail.html:105 #: order/templates/order/sales_orders.html:20 msgid "Create new sales order" -msgstr "Crear Orden de Venta" +msgstr "" #: company/templates/company/detail.html:106 #: order/templates/order/sales_orders.html:21 msgid "New Sales Order" -msgstr "Nueva orden de venta" +msgstr "" #: company/templates/company/detail.html:126 msgid "Assigned Stock" -msgstr "Stock asignado" +msgstr "" #: company/templates/company/detail.html:142 #: company/templates/company/sidebar.html:29 @@ -4571,70 +4571,70 @@ msgstr "Stock asignado" #: templates/js/translated/search.js:232 templates/navbar.html:65 #: users/models.py:210 msgid "Return Orders" -msgstr "Ordenes de devolución" +msgstr "" #: company/templates/company/detail.html:146 #: order/templates/order/return_orders.html:20 msgid "Create new return order" -msgstr "Crear nueva orden de devolución" +msgstr "" #: company/templates/company/detail.html:147 #: order/templates/order/return_orders.html:21 msgid "New Return Order" -msgstr "Nueva orden de devolución" +msgstr "" #: company/templates/company/detail.html:168 msgid "Company Notes" -msgstr "Notas de la empresa" +msgstr "" #: company/templates/company/detail.html:183 msgid "Company Contacts" -msgstr "Contactos de la empresa" +msgstr "" #: company/templates/company/detail.html:187 #: company/templates/company/detail.html:188 msgid "Add Contact" -msgstr "Añadir contacto" +msgstr "" #: company/templates/company/detail.html:206 msgid "Company addresses" -msgstr "Direcciones de la empresa" +msgstr "" #: company/templates/company/detail.html:210 #: company/templates/company/detail.html:211 msgid "Add Address" -msgstr "Añadir dirección" +msgstr "" #: company/templates/company/manufacturer_part.html:15 company/views.py:37 #: templates/InvenTree/search.html:180 templates/navbar.html:49 msgid "Manufacturers" -msgstr "Fabricantes" +msgstr "" #: company/templates/company/manufacturer_part.html:35 #: company/templates/company/supplier_part.html:227 #: part/templates/part/detail.html:109 part/templates/part/part_base.html:83 msgid "Order part" -msgstr "Pedir ítem" +msgstr "" #: company/templates/company/manufacturer_part.html:39 #: templates/js/translated/company.js:1343 msgid "Edit manufacturer part" -msgstr "Editar fabricante de la parte" +msgstr "" #: company/templates/company/manufacturer_part.html:43 #: templates/js/translated/company.js:1344 msgid "Delete manufacturer part" -msgstr "Eliminar fabricante de la parte" +msgstr "" #: company/templates/company/manufacturer_part.html:65 #: company/templates/company/supplier_part.html:97 order/api.py:440 #: order/serializers.py:526 msgid "Internal Part" -msgstr "Componente interno" +msgstr "" #: company/templates/company/manufacturer_part.html:95 msgid "No manufacturer information available" -msgstr "No hay información del fabricante disponible" +msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:31 @@ -4642,87 +4642,87 @@ msgstr "No hay información del fabricante disponible" #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" -msgstr "Proveedores" +msgstr "" #: company/templates/company/manufacturer_part.html:156 #: company/templates/company/manufacturer_part_sidebar.html:5 #: part/templates/part/category_sidebar.html:20 #: part/templates/part/detail.html:195 part/templates/part/part_sidebar.html:8 msgid "Parameters" -msgstr "Parámetros" +msgstr "" #: company/templates/company/manufacturer_part.html:160 #: part/templates/part/detail.html:200 #: templates/InvenTree/settings/category.html:12 #: templates/InvenTree/settings/part_parameters.html:24 msgid "New Parameter" -msgstr "Nuevo parámetro" +msgstr "" #: company/templates/company/manufacturer_part.html:196 #: templates/js/translated/part.js:1426 msgid "Add Parameter" -msgstr "Añadir parámetro" +msgstr "" #: company/templates/company/sidebar.html:6 msgid "Manufactured Parts" -msgstr "Partes Manufacturadas" +msgstr "" #: company/templates/company/sidebar.html:10 msgid "Supplied Parts" -msgstr "Partes suministradas" +msgstr "" #: company/templates/company/sidebar.html:16 msgid "Supplied Stock Items" -msgstr "Elementos de stock suministrados" +msgstr "" #: company/templates/company/sidebar.html:25 msgid "Assigned Stock Items" -msgstr "Elementos de Stock Asignados" +msgstr "" #: company/templates/company/sidebar.html:33 msgid "Contacts" -msgstr "Contactos" +msgstr "" #: company/templates/company/supplier_part.html:50 #: templates/js/translated/company.js:1526 msgid "Supplier part actions" -msgstr "Acciones de partes del proveedor" +msgstr "" #: company/templates/company/supplier_part.html:55 #: company/templates/company/supplier_part.html:56 #: company/templates/company/supplier_part.html:228 #: part/templates/part/detail.html:110 msgid "Order Part" -msgstr "Pedir ítem" +msgstr "" #: company/templates/company/supplier_part.html:60 #: company/templates/company/supplier_part.html:61 msgid "Update Availability" -msgstr "Actualizar disponibilidad" +msgstr "" #: company/templates/company/supplier_part.html:63 #: company/templates/company/supplier_part.html:64 #: templates/js/translated/company.js:294 msgid "Edit Supplier Part" -msgstr "Editar Parte del Proveedor" +msgstr "" #: company/templates/company/supplier_part.html:68 #: company/templates/company/supplier_part.html:69 #: templates/js/translated/company.js:269 msgid "Duplicate Supplier Part" -msgstr "Duplicar parte del proveedor" +msgstr "" #: company/templates/company/supplier_part.html:73 msgid "Delete Supplier Part" -msgstr "Eliminar parte del proveedor" +msgstr "" #: company/templates/company/supplier_part.html:74 msgid "Delete Supplier Part" -msgstr "Eliminar parte del proveedor" +msgstr "" #: company/templates/company/supplier_part.html:133 msgid "No supplier information available" -msgstr "No hay información de proveedor disponible" +msgstr "" #: company/templates/company/supplier_part.html:139 order/serializers.py:515 #: part/bom.py:279 part/bom.py:311 part/serializers.py:537 @@ -4735,36 +4735,36 @@ msgstr "" #: company/templates/company/supplier_part.html:206 msgid "Supplier Part Stock" -msgstr "Stock del Proveedor" +msgstr "" #: company/templates/company/supplier_part.html:209 #: part/templates/part/detail.html:24 stock/templates/stock/location.html:207 msgid "Create new stock item" -msgstr "Crear nuevo artículo de stock" +msgstr "" #: company/templates/company/supplier_part.html:210 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:208 #: templates/js/translated/stock.js:537 msgid "New Stock Item" -msgstr "Nuevo artículo de stock" +msgstr "" #: company/templates/company/supplier_part.html:223 msgid "Supplier Part Orders" -msgstr "Pedidos de partes al proveedor" +msgstr "" #: company/templates/company/supplier_part.html:246 msgid "Pricing Information" -msgstr "Información de precios" +msgstr "" #: company/templates/company/supplier_part.html:251 #: templates/js/translated/company.js:398 #: templates/js/translated/pricing.js:684 msgid "Add Price Break" -msgstr "Agregar descuento de precio" +msgstr "" #: company/templates/company/supplier_part.html:276 msgid "Supplier Part QR Code" -msgstr "Código QR de parte del Proveedor" +msgstr "" #: company/templates/company/supplier_part.html:287 msgid "Link Barcode to Supplier Part" @@ -4787,36 +4787,36 @@ msgstr "" #: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 #: users/models.py:206 msgid "Stock Items" -msgstr "Elementos de stock" +msgstr "" #: company/templates/company/supplier_part_sidebar.html:9 msgid "Supplier Part Pricing" -msgstr "Precio de parte del proveedor" +msgstr "" #: company/views.py:32 msgid "New Supplier" -msgstr "Nuevo Proveedor" +msgstr "" #: company/views.py:38 msgid "New Manufacturer" -msgstr "Nuevo Fabricante" +msgstr "" #: company/views.py:43 templates/InvenTree/search.html:210 #: templates/navbar.html:60 msgid "Customers" -msgstr "Clientes" +msgstr "" #: company/views.py:44 msgid "New Customer" -msgstr "Nuevo Cliente" +msgstr "" #: company/views.py:52 msgid "New Company" -msgstr "Nueva empresa" +msgstr "" #: generic/states/tests.py:18 order/status_codes.py:13 msgid "Placed" -msgstr "Colocado" +msgstr "" #: importer/mixins.py:263 msgid "Invalid export format" @@ -4892,15 +4892,15 @@ msgstr "" #: importer/models.py:462 part/models.py:3841 msgid "Data" -msgstr "Datos" +msgstr "" #: importer/models.py:464 machine/models.py:110 msgid "Errors" -msgstr "Errores" +msgstr "" #: importer/models.py:466 part/api.py:874 msgid "Valid" -msgstr "Válido" +msgstr "" #: importer/operations.py:28 importer/operations.py:49 msgid "Unsupported data file format" @@ -4976,7 +4976,7 @@ msgstr "" #: machine/machine_types/label_printer.py:212 msgid "Copies" -msgstr "Copias" +msgstr "" #: machine/machine_types/label_printer.py:213 msgid "Number of copies to print for each label" @@ -4984,36 +4984,36 @@ msgstr "" #: machine/machine_types/label_printer.py:228 msgid "Connected" -msgstr "Conectado" +msgstr "" #: machine/machine_types/label_printer.py:229 order/api.py:1388 #: templates/js/translated/sales_order.js:1078 msgid "Unknown" -msgstr "Desconocido" +msgstr "" #: machine/machine_types/label_printer.py:230 msgid "Printing" -msgstr "Impresión" +msgstr "" #: machine/machine_types/label_printer.py:231 msgid "No media" -msgstr "Sin archivos multimedia" +msgstr "" #: machine/machine_types/label_printer.py:232 msgid "Disconnected" -msgstr "Desconectado" +msgstr "" #: machine/machine_types/label_printer.py:239 msgid "Label Printer" -msgstr "Impresora de Etiquetas" +msgstr "" #: machine/machine_types/label_printer.py:240 msgid "Directly print labels for various items." -msgstr "Imprime directamente etiquetas para varios artículos." +msgstr "" #: machine/machine_types/label_printer.py:246 msgid "Printer Location" -msgstr "Ubicación de la Impresora" +msgstr "" #: machine/machine_types/label_printer.py:247 msgid "Scope the printer to a specific location" @@ -5021,47 +5021,47 @@ msgstr "" #: machine/models.py:25 msgid "Name of machine" -msgstr "Nombre de la máquina" +msgstr "" #: machine/models.py:29 msgid "Machine Type" -msgstr "Tipo de Máquina" +msgstr "" #: machine/models.py:29 msgid "Type of machine" -msgstr "Tipo de máquina" +msgstr "" #: machine/models.py:34 machine/models.py:146 msgid "Driver" -msgstr "Controlador" +msgstr "" #: machine/models.py:35 msgid "Driver used for the machine" -msgstr "Controlador usado para la máquina" +msgstr "" #: machine/models.py:39 msgid "Machines can be disabled" -msgstr "Las máquinas pueden ser desactivadas" +msgstr "" #: machine/models.py:95 msgid "Driver available" -msgstr "Controlador disponible" +msgstr "" #: machine/models.py:100 msgid "No errors" -msgstr "Sin errores" +msgstr "" #: machine/models.py:105 msgid "Initialized" -msgstr "Inicializado" +msgstr "" #: machine/models.py:117 msgid "Machine status" -msgstr "Estado de máquina" +msgstr "" #: machine/models.py:145 msgid "Machine" -msgstr "Máquina" +msgstr "" #: machine/models.py:151 msgid "Machine Config" @@ -5078,14 +5078,14 @@ msgstr "" #: templates/js/translated/purchase_order.js:2125 #: templates/js/translated/sales_order.js:1883 msgid "Total Price" -msgstr "Precio Total" +msgstr "" #: order/api.py:149 order/serializers.py:94 #: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:113 #: order/templates/order/sales_order_base.html:122 msgid "Order Status" -msgstr "Estado del pedido" +msgstr "" #: order/api.py:153 templates/js/translated/table_filters.js:194 #: templates/js/translated/table_filters.js:784 @@ -5094,14 +5094,14 @@ msgstr "" #: order/api.py:228 msgid "No matching purchase order found" -msgstr "No se encontró ninguna orden de compra coincidente" +msgstr "" #: order/api.py:417 order/api.py:755 order/models.py:1400 order/models.py:1514 #: order/models.py:1565 order/models.py:1680 order/models.py:1839 #: order/models.py:2258 order/models.py:2314 #: templates/js/translated/sales_order.js:1524 msgid "Order" -msgstr "Orden" +msgstr "" #: order/api.py:421 order/api.py:776 msgid "Order Complete" @@ -5123,7 +5123,7 @@ msgstr "" #: templates/js/translated/purchase_order.js:1673 #: templates/js/translated/stock.js:2260 templates/js/translated/stock.js:2907 msgid "Purchase Order" -msgstr "Orden de compra" +msgstr "" #: order/api.py:1386 order/models.py:2007 order/models.py:2259 #: order/models.py:2315 order/templates/order/return_order_base.html:9 @@ -5132,122 +5132,122 @@ msgstr "Orden de compra" #: templates/js/translated/return_order.js:280 #: templates/js/translated/stock.js:2941 msgid "Return Order" -msgstr "Orden de devolución" +msgstr "" #: order/models.py:91 msgid "Total price for this order" -msgstr "Precio total para este pedido" +msgstr "" #: order/models.py:96 order/serializers.py:72 msgid "Order Currency" -msgstr "Moneda de pedido" +msgstr "" #: order/models.py:99 order/serializers.py:73 msgid "Currency for this order (leave blank to use company default)" -msgstr "Moneda para este pedido (dejar en blanco para utilizar el valor predeterminado de la empresa)" +msgstr "" #: order/models.py:247 msgid "Contact does not match selected company" -msgstr "El contacto no coincide con la empresa seleccionada" +msgstr "" #: order/models.py:290 msgid "Order description (optional)" -msgstr "Descripción del pedido (opcional)" +msgstr "" #: order/models.py:299 msgid "Select project code for this order" -msgstr "Seleccione el código del proyecto para este pedido" +msgstr "" #: order/models.py:303 order/models.py:1301 order/models.py:1733 msgid "Link to external page" -msgstr "Enlace a Url externa" +msgstr "" #: order/models.py:311 msgid "Expected date for order delivery. Order will be overdue after this date." -msgstr "Fecha esperada para la entrega del pedido. El pedido se retrasará después de esta fecha." +msgstr "" #: order/models.py:325 msgid "Created By" -msgstr "Creado por" +msgstr "" #: order/models.py:333 msgid "User or group responsible for this order" -msgstr "Usuario o grupo responsable de este pedido" +msgstr "" #: order/models.py:344 msgid "Point of contact for this order" -msgstr "Punto de contacto para este pedido" +msgstr "" #: order/models.py:354 msgid "Company address for this order" -msgstr "Dirección de la empresa para este pedido" +msgstr "" #: order/models.py:464 order/models.py:927 msgid "Order reference" -msgstr "Referencia del pedido" +msgstr "" #: order/models.py:472 order/models.py:951 msgid "Purchase order status" -msgstr "Estado de la orden de compra" +msgstr "" #: order/models.py:487 msgid "Company from which the items are being ordered" -msgstr "Empresa de la cual se están encargando los artículos" +msgstr "" #: order/models.py:498 order/templates/order/order_base.html:148 #: templates/js/translated/purchase_order.js:1702 msgid "Supplier Reference" -msgstr "Referencia del proveedor" +msgstr "" #: order/models.py:499 msgid "Supplier order reference code" -msgstr "Código de referencia de pedido del proveedor" +msgstr "" #: order/models.py:508 msgid "received by" -msgstr "recibido por" +msgstr "" #: order/models.py:514 order/models.py:2084 msgid "Issue Date" -msgstr "Fecha de emisión" +msgstr "" #: order/models.py:515 order/models.py:2085 msgid "Date order was issued" -msgstr "Fecha de expedición del pedido" +msgstr "" #: order/models.py:522 order/models.py:2092 msgid "Date order was completed" -msgstr "La fecha de pedido fue completada" +msgstr "" #: order/models.py:566 msgid "Part supplier must match PO supplier" -msgstr "El proveedor de la parte debe coincidir con el proveedor de PO" +msgstr "" #: order/models.py:760 msgid "Quantity must be a positive number" -msgstr "La cantidad debe ser un número positivo" +msgstr "" #: order/models.py:939 msgid "Company to which the items are being sold" -msgstr "Empresa a la que se venden los artículos" +msgstr "" #: order/models.py:962 order/models.py:2077 msgid "Customer Reference " -msgstr "Referencia del cliente " +msgstr "" #: order/models.py:963 order/models.py:2078 msgid "Customer order reference code" -msgstr "Código de referencia de pedido del cliente" +msgstr "" #: order/models.py:967 order/models.py:1687 #: templates/js/translated/sales_order.js:879 #: templates/js/translated/sales_order.js:1060 msgid "Shipment Date" -msgstr "Fecha de envío" +msgstr "" #: order/models.py:976 msgid "shipped by" -msgstr "enviado por" +msgstr "" #: order/models.py:1025 msgid "Order is already complete" @@ -5259,47 +5259,47 @@ msgstr "" #: order/models.py:1032 msgid "Only an open order can be marked as complete" -msgstr "Sólo una orden abierta puede ser marcada como completa" +msgstr "" #: order/models.py:1036 msgid "Order cannot be completed as there are incomplete shipments" -msgstr "El pedido no se puede completar porque hay envíos incompletos" +msgstr "" #: order/models.py:1041 msgid "Order cannot be completed as there are incomplete line items" -msgstr "El pedido no se puede completar porque hay partidas incompletas" +msgstr "" #: order/models.py:1273 msgid "Item quantity" -msgstr "Cantidad del artículo" +msgstr "" #: order/models.py:1290 msgid "Line item reference" -msgstr "Referencia de partida" +msgstr "" #: order/models.py:1297 msgid "Line item notes" -msgstr "Notas de partida" +msgstr "" #: order/models.py:1309 msgid "Target date for this line item (leave blank to use the target date from the order)" -msgstr "Fecha objetivo para esta partida (dejar en blanco para usar la fecha de destino de la orden)" +msgstr "" #: order/models.py:1330 msgid "Line item description (optional)" -msgstr "Descripción de partida (opcional)" +msgstr "" #: order/models.py:1336 msgid "Context" -msgstr "Contexto" +msgstr "" #: order/models.py:1337 msgid "Additional context for this line" -msgstr "Contexto adicional para esta línea" +msgstr "" #: order/models.py:1347 msgid "Unit price" -msgstr "Precio unitario" +msgstr "" #: order/models.py:1361 msgid "Purchase Order Line Item" @@ -5307,15 +5307,15 @@ msgstr "" #: order/models.py:1385 msgid "Supplier part must match supplier" -msgstr "La parte del proveedor debe coincidir con el proveedor" +msgstr "" #: order/models.py:1392 msgid "deleted" -msgstr "eliminado" +msgstr "" #: order/models.py:1420 msgid "Supplier part" -msgstr "Parte del proveedor" +msgstr "" #: order/models.py:1427 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1873 templates/js/translated/part.js:1905 @@ -5325,25 +5325,25 @@ msgstr "Parte del proveedor" #: templates/js/translated/table_filters.js:120 #: templates/js/translated/table_filters.js:602 msgid "Received" -msgstr "Recibido" +msgstr "" #: order/models.py:1428 msgid "Number of items received" -msgstr "Número de artículos recibidos" +msgstr "" #: order/models.py:1436 stock/models.py:939 stock/serializers.py:602 #: stock/templates/stock/item_base.html:183 #: templates/js/translated/stock.js:2311 msgid "Purchase Price" -msgstr "Precio de Compra" +msgstr "" #: order/models.py:1437 msgid "Unit purchase price" -msgstr "Precio de compra unitario" +msgstr "" #: order/models.py:1452 msgid "Where does the Purchaser want this item to be stored?" -msgstr "¿Dónde quiere el comprador almacenar este objeto?" +msgstr "" #: order/models.py:1503 msgid "Purchase Order Extra Line" @@ -5355,31 +5355,31 @@ msgstr "" #: order/models.py:1553 msgid "Virtual part cannot be assigned to a sales order" -msgstr "Una parte virtual no puede ser asignada a un pedido de venta" +msgstr "" #: order/models.py:1558 msgid "Only salable parts can be assigned to a sales order" -msgstr "Sólo las partes vendibles pueden ser asignadas a un pedido de venta" +msgstr "" #: order/models.py:1584 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" -msgstr "Precio de Venta" +msgstr "" #: order/models.py:1585 msgid "Unit sale price" -msgstr "Precio de venta unitario" +msgstr "" #: order/models.py:1594 order/status_codes.py:43 #: templates/js/translated/sales_order.js:1559 #: templates/js/translated/sales_order.js:1680 #: templates/js/translated/sales_order.js:1993 msgid "Shipped" -msgstr "Enviado" +msgstr "" #: order/models.py:1595 msgid "Shipped quantity" -msgstr "Cantidad enviada" +msgstr "" #: order/models.py:1667 msgid "Sales Order Shipment" @@ -5387,56 +5387,56 @@ msgstr "" #: order/models.py:1688 msgid "Date of shipment" -msgstr "Fecha del envío" +msgstr "" #: order/models.py:1694 templates/js/translated/sales_order.js:1072 msgid "Delivery Date" -msgstr "Fecha de entrega" +msgstr "" #: order/models.py:1695 msgid "Date of delivery of shipment" -msgstr "Fecha de entrega del envío" +msgstr "" #: order/models.py:1703 msgid "Checked By" -msgstr "Revisado por" +msgstr "" #: order/models.py:1704 msgid "User who checked this shipment" -msgstr "Usuario que revisó este envío" +msgstr "" #: order/models.py:1711 order/models.py:1934 order/serializers.py:1398 #: order/serializers.py:1508 templates/js/translated/model_renderers.js:454 msgid "Shipment" -msgstr "Envío" +msgstr "" #: order/models.py:1712 msgid "Shipment number" -msgstr "Número de envío" +msgstr "" #: order/models.py:1720 msgid "Tracking Number" -msgstr "Número de Seguimiento" +msgstr "" #: order/models.py:1721 msgid "Shipment tracking information" -msgstr "Información de seguimiento del envío" +msgstr "" #: order/models.py:1728 msgid "Invoice Number" -msgstr "Número de factura" +msgstr "" #: order/models.py:1729 msgid "Reference number for associated invoice" -msgstr "Número de referencia para la factura asociada" +msgstr "" #: order/models.py:1749 msgid "Shipment has already been sent" -msgstr "El envío ya ha sido enviado" +msgstr "" #: order/models.py:1752 msgid "Shipment has no allocated stock items" -msgstr "El envío no tiene artículos de stock asignados" +msgstr "" #: order/models.py:1828 msgid "Sales Order Extra Line" @@ -5448,64 +5448,64 @@ msgstr "" #: order/models.py:1880 order/models.py:1882 msgid "Stock item has not been assigned" -msgstr "El artículo de stock no ha sido asignado" +msgstr "" #: order/models.py:1889 msgid "Cannot allocate stock item to a line with a different part" -msgstr "No se puede asignar el artículo de stock a una línea con una parte diferente" +msgstr "" #: order/models.py:1892 msgid "Cannot allocate stock to a line without a part" -msgstr "No se puede asignar stock a una línea sin una parte" +msgstr "" #: order/models.py:1895 msgid "Allocation quantity cannot exceed stock quantity" -msgstr "La cantidad de asignación no puede exceder la cantidad de stock" +msgstr "" #: order/models.py:1914 order/serializers.py:1275 msgid "Quantity must be 1 for serialized stock item" -msgstr "La cantidad debe ser 1 para el stock serializado" +msgstr "" #: order/models.py:1917 msgid "Sales order does not match shipment" -msgstr "La orden de venta no coincide con el envío" +msgstr "" #: order/models.py:1918 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" -msgstr "El envío no coincide con el pedido de venta" +msgstr "" #: order/models.py:1926 msgid "Line" -msgstr "Línea" +msgstr "" #: order/models.py:1935 msgid "Sales order shipment reference" -msgstr "Referencia del envío del pedido de venta" +msgstr "" #: order/models.py:1948 order/models.py:2266 #: templates/js/translated/return_order.js:721 msgid "Item" -msgstr "Ítem" +msgstr "" #: order/models.py:1949 msgid "Select stock item to allocate" -msgstr "Seleccionar artículo de stock para asignar" +msgstr "" #: order/models.py:1958 msgid "Enter stock allocation quantity" -msgstr "Especificar la cantidad de asignación de stock" +msgstr "" #: order/models.py:2047 msgid "Return Order reference" -msgstr "Referencia de la orden de devolución" +msgstr "" #: order/models.py:2059 msgid "Company from which items are being returned" -msgstr "Empresa de la cual se están devolviendo los artículos" +msgstr "" #: order/models.py:2071 msgid "Return order status" -msgstr "Estado de la orden de devolución" +msgstr "" #: order/models.py:2237 msgid "Return Order Line Item" @@ -5513,32 +5513,32 @@ msgstr "" #: order/models.py:2251 msgid "Only serialized items can be assigned to a Return Order" -msgstr "Sólo los artículos serializados pueden ser asignados a una orden de devolución" +msgstr "" #: order/models.py:2267 msgid "Select item to return from customer" -msgstr "Seleccionar el artículo a devolver del cliente" +msgstr "" #: order/models.py:2273 msgid "Received Date" -msgstr "Fecha de recepción" +msgstr "" #: order/models.py:2274 msgid "The date this this return item was received" -msgstr "La fecha en la que se recibió este artículo de devolución" +msgstr "" #: order/models.py:2285 templates/js/translated/return_order.js:732 #: templates/js/translated/table_filters.js:123 msgid "Outcome" -msgstr "Resultado" +msgstr "" #: order/models.py:2286 msgid "Outcome for this line item" -msgstr "Salida para esta partida" +msgstr "" #: order/models.py:2293 msgid "Cost associated with return or repair for this line item" -msgstr "Costo asociado con la devolución o reparación para esta partida" +msgstr "" #: order/models.py:2303 msgid "Return Order Extra Line" @@ -5551,7 +5551,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report.html:19 #: report/templates/report/inventree_sales_order_report.html:22 msgid "Line Items" -msgstr "Partidas" +msgstr "" #: order/serializers.py:87 msgid "Completed Lines" @@ -5559,19 +5559,19 @@ msgstr "" #: order/serializers.py:305 msgid "Order cannot be cancelled" -msgstr "El pedido no puede ser cancelado" +msgstr "" #: order/serializers.py:320 order/serializers.py:1291 msgid "Allow order to be closed with incomplete line items" -msgstr "Permitir cerrar el pedido con partidas incompletas" +msgstr "" #: order/serializers.py:330 order/serializers.py:1301 msgid "Order has incomplete line items" -msgstr "El pedido tiene partidas incompletas" +msgstr "" #: order/serializers.py:468 msgid "Order is not open" -msgstr "El pedido no está abierto" +msgstr "" #: order/serializers.py:489 msgid "Auto Pricing" @@ -5583,7 +5583,7 @@ msgstr "" #: order/serializers.py:501 msgid "Purchase price currency" -msgstr "Moneda del precio de compra" +msgstr "" #: order/serializers.py:507 msgid "Merge Items" @@ -5595,7 +5595,7 @@ msgstr "" #: order/serializers.py:522 part/models.py:945 msgid "Internal Part Number" -msgstr "Número de parte interna" +msgstr "" #: order/serializers.py:530 msgid "Internal Part Name" @@ -5603,205 +5603,205 @@ msgstr "" #: order/serializers.py:546 msgid "Supplier part must be specified" -msgstr "Debe especificar la parte del proveedor" +msgstr "" #: order/serializers.py:549 msgid "Purchase order must be specified" -msgstr "La orden de compra debe especificarse" +msgstr "" #: order/serializers.py:557 msgid "Supplier must match purchase order" -msgstr "El proveedor debe coincidir con la orden de compra" +msgstr "" #: order/serializers.py:558 msgid "Purchase order must match supplier" -msgstr "La orden de compra debe coincidir con el proveedor" +msgstr "" #: order/serializers.py:598 order/serializers.py:1369 msgid "Line Item" -msgstr "Partida" +msgstr "" #: order/serializers.py:604 msgid "Line item does not match purchase order" -msgstr "La partida no coincide con la orden de compra" +msgstr "" #: order/serializers.py:614 order/serializers.py:722 order/serializers.py:1715 msgid "Select destination location for received items" -msgstr "Seleccione la ubicación de destino para los artículos recibidos" +msgstr "" #: order/serializers.py:630 templates/js/translated/purchase_order.js:1130 msgid "Enter batch code for incoming stock items" -msgstr "Introduzca el código de lote para los artículos de almacén entrantes" +msgstr "" #: order/serializers.py:638 templates/js/translated/purchase_order.js:1154 msgid "Enter serial numbers for incoming stock items" -msgstr "Introduzca números de serie para artículos de almacén entrantes" +msgstr "" #: order/serializers.py:649 templates/js/translated/barcode.js:52 msgid "Barcode" -msgstr "Código de barras" +msgstr "" #: order/serializers.py:650 msgid "Scanned barcode" -msgstr "Código de barras escaneado" +msgstr "" #: order/serializers.py:666 msgid "Barcode is already in use" -msgstr "Código de barras en uso" +msgstr "" #: order/serializers.py:690 msgid "An integer quantity must be provided for trackable parts" -msgstr "Debe proporcionarse una cantidad entera para las partes rastreables" +msgstr "" #: order/serializers.py:738 order/serializers.py:1731 msgid "Line items must be provided" -msgstr "Se deben proporcionar las partidas" +msgstr "" #: order/serializers.py:754 msgid "Destination location must be specified" -msgstr "Se requiere ubicación de destino" +msgstr "" #: order/serializers.py:765 msgid "Supplied barcode values must be unique" -msgstr "Los valores del código de barras deben ser únicos" +msgstr "" #: order/serializers.py:1117 msgid "Sale price currency" -msgstr "Moneda del precio de venta" +msgstr "" #: order/serializers.py:1178 msgid "No shipment details provided" -msgstr "No se proporcionaron detalles de envío" +msgstr "" #: order/serializers.py:1239 order/serializers.py:1378 msgid "Line item is not associated with this order" -msgstr "La partida no está asociada con este pedido" +msgstr "" #: order/serializers.py:1258 msgid "Quantity must be positive" -msgstr "La cantidad debe ser positiva" +msgstr "" #: order/serializers.py:1388 msgid "Enter serial numbers to allocate" -msgstr "Introduzca números de serie para asignar" +msgstr "" #: order/serializers.py:1410 order/serializers.py:1516 msgid "Shipment has already been shipped" -msgstr "El envío ya ha sido enviado" +msgstr "" #: order/serializers.py:1413 order/serializers.py:1519 msgid "Shipment is not associated with this order" -msgstr "El envío no está asociado con este pedido" +msgstr "" #: order/serializers.py:1460 msgid "No match found for the following serial numbers" -msgstr "No se han encontrado coincidencias para los siguientes números de serie" +msgstr "" #: order/serializers.py:1467 msgid "The following serial numbers are already allocated" -msgstr "Los siguientes números de serie ya están asignados" +msgstr "" #: order/serializers.py:1685 msgid "Return order line item" -msgstr "Partida de orden de devolución" +msgstr "" #: order/serializers.py:1691 msgid "Line item does not match return order" -msgstr "La partida no coincide con la orden de devolución" +msgstr "" #: order/serializers.py:1694 msgid "Line item has already been received" -msgstr "La partida ya ha sido recibida" +msgstr "" #: order/serializers.py:1723 msgid "Items can only be received against orders which are in progress" -msgstr "Los artículos sólo pueden ser recibidos contra pedidos en curso" +msgstr "" #: order/serializers.py:1806 msgid "Line price currency" -msgstr "Moneda de precio de línea" +msgstr "" #: order/status_codes.py:16 order/status_codes.py:46 stock/status_codes.py:16 msgid "Lost" -msgstr "Perdida" +msgstr "" #: order/status_codes.py:17 order/status_codes.py:47 stock/status_codes.py:22 msgid "Returned" -msgstr "Devuelto" +msgstr "" #: order/status_codes.py:40 order/status_codes.py:67 msgid "In Progress" -msgstr "En progreso" +msgstr "" #: order/status_codes.py:85 msgid "Return" -msgstr "Devolución" +msgstr "" #: order/status_codes.py:88 msgid "Repair" -msgstr "Reparación" +msgstr "" #: order/status_codes.py:91 msgid "Replace" -msgstr "Reemplazo" +msgstr "" #: order/status_codes.py:94 msgid "Refund" -msgstr "Reembolso" +msgstr "" #: order/status_codes.py:97 msgid "Reject" -msgstr "Rechazo" +msgstr "" #: order/tasks.py:25 msgid "Overdue Purchase Order" -msgstr "Orden de compra atrasada" +msgstr "" #: order/tasks.py:30 #, python-brace-format msgid "Purchase order {po} is now overdue" -msgstr "La orden de compra {po} está atrasada" +msgstr "" #: order/tasks.py:75 msgid "Overdue Sales Order" -msgstr "Orden de venta atrasada" +msgstr "" #: order/tasks.py:80 #, python-brace-format msgid "Sales order {so} is now overdue" -msgstr "La orden de venta {so} está atrasada" +msgstr "" #: order/templates/order/order_base.html:51 msgid "Print purchase order report" -msgstr "Imprimir informe de orden de compra" +msgstr "" #: order/templates/order/order_base.html:53 #: order/templates/order/return_order_base.html:62 #: order/templates/order/sales_order_base.html:62 msgid "Export order to file" -msgstr "Exportar pedido a archivo" +msgstr "" #: order/templates/order/order_base.html:59 #: order/templates/order/return_order_base.html:72 #: order/templates/order/sales_order_base.html:71 msgid "Order actions" -msgstr "Acciones de pedido" +msgstr "" #: order/templates/order/order_base.html:64 #: order/templates/order/return_order_base.html:76 #: order/templates/order/sales_order_base.html:75 msgid "Edit order" -msgstr "Editar pedido" +msgstr "" #: order/templates/order/order_base.html:68 #: order/templates/order/return_order_base.html:78 #: order/templates/order/sales_order_base.html:77 msgid "Cancel order" -msgstr "Cancelar orden" +msgstr "" #: order/templates/order/order_base.html:73 msgid "Duplicate order" -msgstr "Duplicar orden" +msgstr "" #: order/templates/order/order_base.html:79 #: order/templates/order/order_base.html:80 @@ -5810,65 +5810,65 @@ msgstr "Duplicar orden" #: order/templates/order/sales_order_base.html:83 #: order/templates/order/sales_order_base.html:84 msgid "Issue Order" -msgstr "Emitir pedido" +msgstr "" #: order/templates/order/order_base.html:83 #: order/templates/order/return_order_base.html:86 msgid "Mark order as complete" -msgstr "Marcar pedido como completado" +msgstr "" #: order/templates/order/order_base.html:84 #: order/templates/order/return_order_base.html:87 #: order/templates/order/sales_order_base.html:97 msgid "Complete Order" -msgstr "Completar pedido" +msgstr "" #: order/templates/order/order_base.html:91 msgid "Supplier part thumbnail" -msgstr "Miniatura de la parte del proveedor" +msgstr "" #: order/templates/order/order_base.html:106 #: order/templates/order/return_order_base.html:101 #: order/templates/order/sales_order_base.html:110 msgid "Order Reference" -msgstr "Referencia del pedido" +msgstr "" #: order/templates/order/order_base.html:111 #: order/templates/order/return_order_base.html:106 #: order/templates/order/sales_order_base.html:115 msgid "Order Description" -msgstr "Descripción del pedido" +msgstr "" #: order/templates/order/order_base.html:141 msgid "No suppplier information available" -msgstr "No hay información disponible sobre el proveedor" +msgstr "" #: order/templates/order/order_base.html:154 #: order/templates/order/sales_order_base.html:161 msgid "Completed Line Items" -msgstr "Partidas completadas" +msgstr "" #: order/templates/order/order_base.html:160 #: order/templates/order/sales_order_base.html:167 #: order/templates/order/sales_order_base.html:177 msgid "Incomplete" -msgstr "Incompleto" +msgstr "" #: order/templates/order/order_base.html:179 #: order/templates/order/return_order_base.html:157 #: report/templates/report/inventree_build_order_report.html:121 msgid "Issued" -msgstr "Emitido" +msgstr "" #: order/templates/order/order_base.html:224 msgid "Total cost" -msgstr "Costo total" +msgstr "" #: order/templates/order/order_base.html:228 #: order/templates/order/return_order_base.html:199 #: order/templates/order/sales_order_base.html:243 msgid "Total cost could not be calculated" -msgstr "No se ha podido calcular el costo total" +msgstr "" #: order/templates/order/order_base.html:314 msgid "Purchase Order QR Code" @@ -5883,14 +5883,14 @@ msgstr "" #: part/templates/part/import_wizard/match_fields.html:9 #: templates/patterns/wizard/match_fields.html:8 msgid "Missing selections for the following required columns" -msgstr "Faltan selecciones para las siguientes columnas requeridas" +msgstr "" #: order/templates/order/order_wizard/match_fields.html:20 #: part/templates/part/import_wizard/ajax_match_fields.html:20 #: part/templates/part/import_wizard/match_fields.html:20 #: templates/patterns/wizard/match_fields.html:19 msgid "Duplicate selections found, see below. Fix them then retry submitting." -msgstr "Se han encontrado selecciones duplicadas, vea a continuación. Arreglarlas y vuelva a intentar enviarlas." +msgstr "" #: order/templates/order/order_wizard/match_fields.html:29 #: order/templates/order/order_wizard/match_parts.html:21 @@ -5898,28 +5898,28 @@ msgstr "Se han encontrado selecciones duplicadas, vea a continuación. Arreglarl #: part/templates/part/import_wizard/match_references.html:21 #: templates/patterns/wizard/match_fields.html:28 msgid "Submit Selections" -msgstr "Enviar selecciones" +msgstr "" #: order/templates/order/order_wizard/match_fields.html:35 #: part/templates/part/import_wizard/ajax_match_fields.html:28 #: part/templates/part/import_wizard/match_fields.html:35 #: templates/patterns/wizard/match_fields.html:34 msgid "File Fields" -msgstr "Campos de archivo" +msgstr "" #: order/templates/order/order_wizard/match_fields.html:42 #: part/templates/part/import_wizard/ajax_match_fields.html:35 #: part/templates/part/import_wizard/match_fields.html:42 #: templates/patterns/wizard/match_fields.html:41 msgid "Remove column" -msgstr "Eliminar columna" +msgstr "" #: order/templates/order/order_wizard/match_fields.html:60 #: part/templates/part/import_wizard/ajax_match_fields.html:53 #: part/templates/part/import_wizard/match_fields.html:60 #: templates/patterns/wizard/match_fields.html:59 msgid "Duplicate selection" -msgstr "Duplicar selección" +msgstr "" #: order/templates/order/order_wizard/match_fields.html:71 #: order/templates/order/order_wizard/match_parts.html:52 @@ -5936,35 +5936,35 @@ msgstr "Duplicar selección" #: templates/js/translated/stock.js:714 templates/js/translated/stock.js:883 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" -msgstr "Eliminar fila" +msgstr "" #: order/templates/order/order_wizard/match_parts.html:12 #: part/templates/part/import_wizard/ajax_match_references.html:12 #: part/templates/part/import_wizard/match_references.html:12 msgid "Errors exist in the submitted data" -msgstr "Existen errores en los datos enviados" +msgstr "" #: order/templates/order/order_wizard/match_parts.html:28 #: part/templates/part/import_wizard/ajax_match_references.html:21 #: part/templates/part/import_wizard/match_references.html:28 msgid "Row" -msgstr "Fila" +msgstr "" #: order/templates/order/order_wizard/match_parts.html:29 msgid "Select Supplier Part" -msgstr "Seleccionar Parte de Proveedor" +msgstr "" #: order/templates/order/order_wizard/po_upload.html:8 msgid "Return to Orders" -msgstr "Volver a Pedidos" +msgstr "" #: order/templates/order/order_wizard/po_upload.html:13 msgid "Upload File for Purchase Order" -msgstr "Subir archivo para orden de compra" +msgstr "" #: order/templates/order/order_wizard/po_upload.html:14 msgid "Order is already processed. Files cannot be uploaded." -msgstr "El pedido ya ha sido procesado. Los archivos no se pueden cargar." +msgstr "" #: order/templates/order/order_wizard/po_upload.html:27 #: part/templates/part/import_wizard/ajax_part_upload.html:10 @@ -5972,15 +5972,15 @@ msgstr "El pedido ya ha sido procesado. Los archivos no se pueden cargar." #: templates/patterns/wizard/upload.html:13 #, python-format msgid "Step %(step)s of %(count)s" -msgstr "Paso %(step)s de %(count)s" +msgstr "" #: order/templates/order/po_sidebar.html:7 msgid "Received Stock" -msgstr "Stock Recibido" +msgstr "" #: order/templates/order/purchase_order_detail.html:18 msgid "Purchase Order Items" -msgstr "Comprar artículos de orden" +msgstr "" #: order/templates/order/purchase_order_detail.html:27 #: order/templates/order/return_order_detail.html:24 @@ -5989,57 +5989,57 @@ msgstr "Comprar artículos de orden" #: templates/js/translated/return_order.js:458 #: templates/js/translated/sales_order.js:237 msgid "Add Line Item" -msgstr "Añadir partida" +msgstr "" #: 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 "Recibir partidas" +msgstr "" #: 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 "Líneas Adicionales" +msgstr "" #: 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 "Añadir línea adicional" +msgstr "" #: order/templates/order/purchase_order_detail.html:74 msgid "Received Items" -msgstr "Articulos Recibidos" +msgstr "" #: order/templates/order/purchase_order_detail.html:99 #: order/templates/order/return_order_detail.html:85 #: order/templates/order/sales_order_detail.html:139 msgid "Order Notes" -msgstr "Notas del pedido" +msgstr "" #: order/templates/order/return_order_base.html:18 #: order/templates/order/sales_order_base.html:18 msgid "Customer logo thumbnail" -msgstr "Miniatura del logo del cliente" +msgstr "" #: order/templates/order/return_order_base.html:60 msgid "Print return order report" -msgstr "Imprimir informe de orden de devolución" +msgstr "" #: order/templates/order/return_order_base.html:64 #: order/templates/order/sales_order_base.html:64 msgid "Print packing list" -msgstr "Imprimir lista de empaquetado" +msgstr "" #: order/templates/order/return_order_base.html:138 #: 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 "Referencia del cliente" +msgstr "" #: order/templates/order/return_order_base.html:195 #: order/templates/order/sales_order_base.html:239 @@ -6052,7 +6052,7 @@ msgstr "Referencia del cliente" #: templates/js/translated/return_order.js:380 #: templates/js/translated/sales_order.js:891 msgid "Total Cost" -msgstr "Costo Total" +msgstr "" #: order/templates/order/return_order_base.html:259 msgid "Return Order QR Code" @@ -6064,16 +6064,16 @@ msgstr "" #: order/templates/order/return_order_sidebar.html:5 msgid "Order Details" -msgstr "Detalles del pedido" +msgstr "" #: order/templates/order/sales_order_base.html:60 msgid "Print sales order report" -msgstr "Imprimir informe de orden de venta" +msgstr "" #: order/templates/order/sales_order_base.html:88 #: order/templates/order/sales_order_base.html:89 msgid "Ship Items" -msgstr "Enviar artículos" +msgstr "" #: order/templates/order/sales_order_base.html:92 #: order/templates/order/sales_order_base.html:93 @@ -6083,17 +6083,17 @@ msgstr "" #: order/templates/order/sales_order_base.html:96 #: templates/js/translated/sales_order.js:536 msgid "Complete Sales Order" -msgstr "Ordenes de venta completas" +msgstr "" #: order/templates/order/sales_order_base.html:135 msgid "This Sales Order has not been fully allocated" -msgstr "Esta orden de venta no ha sido completamente asignada" +msgstr "" #: 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 "Envíos completados" +msgstr "" #: order/templates/order/sales_order_base.html:321 msgid "Sales Order QR Code" @@ -6105,52 +6105,52 @@ msgstr "" #: order/templates/order/sales_order_detail.html:18 msgid "Sales Order Items" -msgstr "Artículos de Pedidos de Venta" +msgstr "" #: order/templates/order/sales_order_detail.html:67 #: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:284 msgid "Pending Shipments" -msgstr "Envíos pendientes" +msgstr "" #: order/templates/order/sales_order_detail.html:71 #: templates/js/translated/bom.js:1277 templates/js/translated/filters.js:296 msgid "Actions" -msgstr "Acciones" +msgstr "" #: order/templates/order/sales_order_detail.html:80 msgid "New Shipment" -msgstr "Nuevo Envío" +msgstr "" #: order/views.py:120 msgid "Match Supplier Parts" -msgstr "Coincidir partes de proveedor" +msgstr "" #: order/views.py:406 msgid "Sales order not found" -msgstr "Orden de venta no encontrada" +msgstr "" #: order/views.py:412 msgid "Price not found" -msgstr "Precio no encontrado" +msgstr "" #: order/views.py:415 #, python-brace-format msgid "Updated {part} unit-price to {price}" -msgstr "Actualizado el precio unitario de {part} a {price}" +msgstr "" #: order/views.py:421 #, python-brace-format msgid "Updated {part} unit-price to {price} and quantity to {qty}" -msgstr "Actualizado el precio unitario de {part} a {price} y la cantidad a {qty}" +msgstr "" #: part/admin.py:39 part/admin.py:398 part/models.py:3991 part/stocktake.py:219 #: stock/admin.py:152 msgid "Part ID" -msgstr "ID de Parte" +msgstr "" #: part/admin.py:45 part/stocktake.py:221 msgid "Part Description" -msgstr "Descripción de parte" +msgstr "" #: part/admin.py:48 part/models.py:944 part/templates/part/part_base.html:269 #: report/templates/report/inventree_stock_location_report.html:103 @@ -6163,74 +6163,74 @@ msgstr "" #: report/models.py:162 templates/js/translated/part.js:1235 #: templates/js/translated/part.js:2350 msgid "Revision" -msgstr "Revisión" +msgstr "" #: part/admin.py:53 part/admin.py:319 part/models.py:926 #: part/templates/part/category.html:94 part/templates/part/part_base.html:298 msgid "Keywords" -msgstr "Palabras claves" +msgstr "" #: part/admin.py:60 msgid "Part Image" -msgstr "Imagen de parte" +msgstr "" #: part/admin.py:63 part/admin.py:302 part/stocktake.py:222 msgid "Category ID" -msgstr "ID de Categoría" +msgstr "" #: part/admin.py:67 part/admin.py:304 part/serializers.py:837 #: part/stocktake.py:223 msgid "Category Name" -msgstr "Nombre de categoría" +msgstr "" #: part/admin.py:71 part/admin.py:316 msgid "Default Location ID" -msgstr "ID de ubicación predeterminada" +msgstr "" #: part/admin.py:76 msgid "Default Supplier ID" -msgstr "ID de proveedor predeterminado" +msgstr "" #: part/admin.py:81 part/models.py:912 part/templates/part/part_base.html:177 msgid "Variant Of" -msgstr "Variante de" +msgstr "" #: part/admin.py:84 part/models.py:1040 part/templates/part/part_base.html:203 msgid "Minimum Stock" -msgstr "Stock mínimo" +msgstr "" #: part/admin.py:138 part/templates/part/part_sidebar.html:27 msgid "Used In" -msgstr "Usado en" +msgstr "" #: part/admin.py:150 part/serializers.py:854 #: part/templates/part/part_base.html:241 stock/admin.py:235 #: templates/js/translated/part.js:714 templates/js/translated/part.js:2156 msgid "Building" -msgstr "En construcción" +msgstr "" #: part/admin.py:155 part/models.py:3098 part/models.py:3112 #: templates/js/translated/part.js:973 msgid "Minimum Cost" -msgstr "Costo mínimo" +msgstr "" #: part/admin.py:158 part/models.py:3105 part/models.py:3119 #: templates/js/translated/part.js:983 msgid "Maximum Cost" -msgstr "Costo máximo" +msgstr "" #: part/admin.py:308 part/admin.py:387 stock/admin.py:57 stock/admin.py:215 msgid "Parent ID" -msgstr "Identificador de la clase o especie padre" +msgstr "" #: part/admin.py:312 part/admin.py:394 stock/admin.py:61 msgid "Parent Name" -msgstr "Nombre del padre" +msgstr "" #: part/admin.py:320 part/templates/part/category.html:88 #: part/templates/part/category.html:101 msgid "Category Path" -msgstr "Ruta de Categoría" +msgstr "" #: part/admin.py:325 part/models.py:397 part/serializers.py:130 #: part/serializers.py:282 part/serializers.py:404 @@ -6242,31 +6242,31 @@ msgstr "Ruta de Categoría" #: templates/js/translated/part.js:2807 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:203 msgid "Parts" -msgstr "Partes" +msgstr "" #: part/admin.py:378 msgid "BOM Level" -msgstr "Nivel de BOM" +msgstr "" #: part/admin.py:381 msgid "BOM Item ID" -msgstr "ID de artículo de BOM" +msgstr "" #: part/admin.py:391 msgid "Parent IPN" -msgstr "IPN del padre" +msgstr "" #: part/admin.py:415 part/serializers.py:1302 #: templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1024 msgid "Minimum Price" -msgstr "Precio mínimo" +msgstr "" #: part/admin.py:420 part/serializers.py:1317 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" -msgstr "Precio máximo" +msgstr "" #: part/api.py:105 msgid "Starred" @@ -6322,11 +6322,11 @@ msgstr "" #: part/api.py:609 msgid "Incoming Purchase Order" -msgstr "Orden de compra entrante" +msgstr "" #: part/api.py:627 msgid "Outgoing Sales Order" -msgstr "Orden de venta saliente" +msgstr "" #: part/api.py:643 msgid "Stock produced by Build Order" @@ -6338,11 +6338,11 @@ msgstr "" #: part/api.py:875 msgid "Validate entire Bill of Materials" -msgstr "Validación de Lista de Materiales" +msgstr "" #: part/api.py:881 msgid "This option must be selected" -msgstr "Esta opción debe ser seleccionada" +msgstr "" #: part/api.py:1098 msgid "BOM Valid" @@ -6355,7 +6355,7 @@ msgstr "" #: templates/js/translated/notification.js:60 #: templates/js/translated/part.js:2380 msgid "Category" -msgstr "Categoría" +msgstr "" #: part/api.py:1784 msgid "Uses" @@ -6364,63 +6364,63 @@ msgstr "" #: part/bom.py:170 part/models.py:104 part/models.py:979 #: part/templates/part/category.html:116 part/templates/part/part_base.html:367 msgid "Default Location" -msgstr "Ubicación Predeterminada" +msgstr "" #: part/bom.py:171 part/serializers.py:861 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" -msgstr "Inventario Total" +msgstr "" #: part/forms.py:49 msgid "Input quantity for price calculation" -msgstr "Cantidad de entrada para el cálculo del precio" +msgstr "" #: part/models.py:85 part/models.py:3937 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" -msgstr "Categoría de parte" +msgstr "" #: part/models.py:86 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 "Categorías de parte" +msgstr "" #: part/models.py:105 msgid "Default location for parts in this category" -msgstr "Ubicación predeterminada para partes de esta categoría" +msgstr "" #: part/models.py:110 stock/models.py:175 templates/js/translated/part.js:2813 #: templates/js/translated/stock.js:2772 #: templates/js/translated/table_filters.js:239 #: templates/js/translated/table_filters.js:283 msgid "Structural" -msgstr "Estructural" +msgstr "" #: part/models.py:112 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." -msgstr "Las partes no pueden asignarse directamente a una categoría estructural, pero pueden asignarse a categorías hijas." +msgstr "" #: part/models.py:121 msgid "Default keywords" -msgstr "Palabras clave predeterminadas" +msgstr "" #: part/models.py:122 msgid "Default keywords for parts in this category" -msgstr "Palabras clave por defecto para partes en esta categoría" +msgstr "" #: part/models.py:128 stock/models.py:87 stock/models.py:158 #: templates/InvenTree/settings/settings_staff_js.html:456 msgid "Icon" -msgstr "Icono" +msgstr "" #: part/models.py:129 stock/models.py:159 msgid "Icon (optional)" -msgstr "Icono (opcional)" +msgstr "" #: part/models.py:151 msgid "You cannot make this part category structural because some parts are already assigned to it!" -msgstr "¡No puedes hacer que esta categoría de partes sea estructural porque algunas partes ya están asignadas!" +msgstr "" #: part/models.py:486 msgid "Cannot delete this part as it is locked" @@ -6436,7 +6436,7 @@ msgstr "" #: part/models.py:532 msgid "Invalid choice for parent part" -msgstr "Opción no válida para la parte principal" +msgstr "" #: part/models.py:580 part/models.py:587 #, python-brace-format @@ -6455,103 +6455,103 @@ msgstr "" #: part/models.py:740 msgid "Stock item with this serial number already exists" -msgstr "Ya existe un artículo de almacén con este número de serie" +msgstr "" #: part/models.py:841 msgid "Duplicate IPN not allowed in part settings" -msgstr "IPN duplicado no permitido en la configuración de partes" +msgstr "" #: part/models.py:851 msgid "Part with this Name, IPN and Revision already exists." -msgstr "Parte con este nombre, IPN y revisión ya existe." +msgstr "" #: part/models.py:866 msgid "Parts cannot be assigned to structural part categories!" -msgstr "¡No se pueden asignar partes a las categorías de partes estructurales!" +msgstr "" #: part/models.py:895 part/models.py:3992 msgid "Part name" -msgstr "Nombre de la parte" +msgstr "" #: part/models.py:900 msgid "Is Template" -msgstr "Es plantilla" +msgstr "" #: part/models.py:901 msgid "Is this part a template part?" -msgstr "¿Es esta parte una parte de la plantilla?" +msgstr "" #: part/models.py:911 msgid "Is this part a variant of another part?" -msgstr "¿Es esta parte una variante de otra parte?" +msgstr "" #: part/models.py:919 msgid "Part description (optional)" -msgstr "Descripción de parte (opcional)" +msgstr "" #: part/models.py:927 msgid "Part keywords to improve visibility in search results" -msgstr "Palabras clave para mejorar la visibilidad en los resultados de búsqueda" +msgstr "" #: part/models.py:937 msgid "Part category" -msgstr "Categoría de parte" +msgstr "" #: part/models.py:952 msgid "Part revision or version number" -msgstr "Revisión de parte o número de versión" +msgstr "" #: part/models.py:977 msgid "Where is this item normally stored?" -msgstr "¿Dónde se almacena este artículo normalmente?" +msgstr "" #: part/models.py:1023 part/templates/part/part_base.html:376 msgid "Default Supplier" -msgstr "Proveedor por defecto" +msgstr "" #: part/models.py:1024 msgid "Default supplier part" -msgstr "Parte de proveedor predeterminada" +msgstr "" #: part/models.py:1031 msgid "Default Expiry" -msgstr "Expiración por defecto" +msgstr "" #: part/models.py:1032 msgid "Expiry time (in days) for stock items of this part" -msgstr "Tiempo de expiración (en días) para los artículos de stock de esta parte" +msgstr "" #: part/models.py:1041 msgid "Minimum allowed stock level" -msgstr "Nivel mínimo de stock permitido" +msgstr "" #: part/models.py:1050 msgid "Units of measure for this part" -msgstr "Unidades de medida para esta parte" +msgstr "" #: part/models.py:1057 msgid "Can this part be built from other parts?" -msgstr "¿Se puede construir esta parte a partir de otras partes?" +msgstr "" #: part/models.py:1063 msgid "Can this part be used to build other parts?" -msgstr "¿Se puede utilizar esta parte para construir otras partes?" +msgstr "" #: part/models.py:1069 msgid "Does this part have tracking for unique items?" -msgstr "¿Esta parte tiene seguimiento de objetos únicos?" +msgstr "" #: part/models.py:1075 msgid "Can this part be purchased from external suppliers?" -msgstr "¿Se puede comprar esta parte a proveedores externos?" +msgstr "" #: part/models.py:1081 msgid "Can this part be sold to customers?" -msgstr "¿Se puede vender esta parte a los clientes?" +msgstr "" #: part/models.py:1085 msgid "Is this part active?" -msgstr "¿Está activa esta parte?" +msgstr "" #: part/models.py:1090 templates/js/translated/part.js:818 #: templates/js/translated/table_filters.js:721 @@ -6564,27 +6564,27 @@ msgstr "" #: part/models.py:1097 msgid "Is this a virtual part, such as a software product or license?" -msgstr "¿Es ésta una parte virtual, como un producto de software o una licencia?" +msgstr "" #: part/models.py:1103 msgid "BOM checksum" -msgstr "Suma de verificación de BOM" +msgstr "" #: part/models.py:1104 msgid "Stored BOM checksum" -msgstr "Suma de verificación de BOM almacenada" +msgstr "" #: part/models.py:1112 msgid "BOM checked by" -msgstr "BOM comprobado por" +msgstr "" #: part/models.py:1117 msgid "BOM checked date" -msgstr "Fecha BOM comprobada" +msgstr "" #: part/models.py:1133 msgid "Creation User" -msgstr "Creación de Usuario" +msgstr "" #: part/models.py:1143 msgid "Owner responsible for this part" @@ -6594,99 +6594,99 @@ msgstr "" #: stock/templates/stock/item_base.html:451 #: templates/js/translated/part.js:2474 msgid "Last Stocktake" -msgstr "Último inventario" +msgstr "" #: part/models.py:2021 msgid "Sell multiple" -msgstr "Vender múltiples" +msgstr "" #: part/models.py:3012 msgid "Currency used to cache pricing calculations" -msgstr "Moneda utilizada para almacenar en caché los cálculos de precios" +msgstr "" #: part/models.py:3028 msgid "Minimum BOM Cost" -msgstr "Costo mínimo de BOM" +msgstr "" #: part/models.py:3029 msgid "Minimum cost of component parts" -msgstr "Costo mínimo de partes de componentes" +msgstr "" #: part/models.py:3035 msgid "Maximum BOM Cost" -msgstr "Costo máximo de BOM" +msgstr "" #: part/models.py:3036 msgid "Maximum cost of component parts" -msgstr "Costo máximo de partes de componentes" +msgstr "" #: part/models.py:3042 msgid "Minimum Purchase Cost" -msgstr "Costo mínimo de compra" +msgstr "" #: part/models.py:3043 msgid "Minimum historical purchase cost" -msgstr "Costo histórico mínimo de compra" +msgstr "" #: part/models.py:3049 msgid "Maximum Purchase Cost" -msgstr "Costo máximo de compra" +msgstr "" #: part/models.py:3050 msgid "Maximum historical purchase cost" -msgstr "Costo histórico máximo de compra" +msgstr "" #: part/models.py:3056 msgid "Minimum Internal Price" -msgstr "Precio interno mínimo" +msgstr "" #: part/models.py:3057 msgid "Minimum cost based on internal price breaks" -msgstr "Costo mínimo basado en precios reducidos internos" +msgstr "" #: part/models.py:3063 msgid "Maximum Internal Price" -msgstr "Precio interno máximo" +msgstr "" #: part/models.py:3064 msgid "Maximum cost based on internal price breaks" -msgstr "Costo máximo basado en precios reducidos internos" +msgstr "" #: part/models.py:3070 msgid "Minimum Supplier Price" -msgstr "Precio mínimo de proveedor" +msgstr "" #: part/models.py:3071 msgid "Minimum price of part from external suppliers" -msgstr "Precio mínimo de la parte de proveedores externos" +msgstr "" #: part/models.py:3077 msgid "Maximum Supplier Price" -msgstr "Precio máximo de proveedor" +msgstr "" #: part/models.py:3078 msgid "Maximum price of part from external suppliers" -msgstr "Precio máximo de la parte de proveedores externos" +msgstr "" #: part/models.py:3084 msgid "Minimum Variant Cost" -msgstr "Costo mínimo de variante" +msgstr "" #: part/models.py:3085 msgid "Calculated minimum cost of variant parts" -msgstr "Costo mínimo calculado de las partes variantes" +msgstr "" #: part/models.py:3091 msgid "Maximum Variant Cost" -msgstr "Costo máximo de variante" +msgstr "" #: part/models.py:3092 msgid "Calculated maximum cost of variant parts" -msgstr "Costo máximo calculado de las partes variantes" +msgstr "" #: part/models.py:3099 msgid "Override minimum cost" -msgstr "Anular el costo mínimo" +msgstr "" #: part/models.py:3106 msgid "Override maximum cost" @@ -6694,7 +6694,7 @@ msgstr "" #: part/models.py:3113 msgid "Calculated overall minimum cost" -msgstr "Costo mínimo general calculado" +msgstr "" #: part/models.py:3120 msgid "Calculated overall maximum cost" @@ -6702,31 +6702,31 @@ msgstr "" #: part/models.py:3126 msgid "Minimum Sale Price" -msgstr "Precio de venta mínimo" +msgstr "" #: part/models.py:3127 msgid "Minimum sale price based on price breaks" -msgstr "Precio de venta mínimo basado en precios reducidos" +msgstr "" #: part/models.py:3133 msgid "Maximum Sale Price" -msgstr "Precio de venta máximo" +msgstr "" #: part/models.py:3134 msgid "Maximum sale price based on price breaks" -msgstr "Precio de venta máximo basado en precios reducidos" +msgstr "" #: part/models.py:3140 msgid "Minimum Sale Cost" -msgstr "Costo de venta mínimo" +msgstr "" #: part/models.py:3141 msgid "Minimum historical sale price" -msgstr "Precio de venta mínimo histórico" +msgstr "" #: part/models.py:3147 msgid "Maximum Sale Cost" -msgstr "Costo de Venta Máximo" +msgstr "" #: part/models.py:3148 msgid "Maximum historical sale price" @@ -6738,7 +6738,7 @@ msgstr "" #: part/models.py:3172 msgid "Item Count" -msgstr "Número de artículos" +msgstr "" #: part/models.py:3173 msgid "Number of individual stock entries at time of stocktake" @@ -6758,7 +6758,7 @@ msgstr "" #: templates/js/translated/purchase_order.js:1731 #: templates/js/translated/stock.js:2821 msgid "Date" -msgstr "Fecha" +msgstr "" #: part/models.py:3186 msgid "Date stocktake was performed" @@ -6766,7 +6766,7 @@ msgstr "" #: part/models.py:3194 msgid "Additional notes" -msgstr "Notas adicionales" +msgstr "" #: part/models.py:3204 msgid "User who performed this stocktake" @@ -6774,11 +6774,11 @@ msgstr "" #: part/models.py:3210 msgid "Minimum Stock Cost" -msgstr "Costo de Stock Mínimo" +msgstr "" #: part/models.py:3211 msgid "Estimated minimum cost of stock on hand" -msgstr "Costo mínimo estimado del stock disponible" +msgstr "" #: part/models.py:3217 msgid "Maximum Stock Cost" @@ -6790,7 +6790,7 @@ msgstr "" #: part/models.py:3274 templates/InvenTree/settings/settings_staff_js.html:529 msgid "Report" -msgstr "Informe" +msgstr "" #: part/models.py:3275 msgid "Stocktake report file (generated internally)" @@ -6798,7 +6798,7 @@ msgstr "" #: part/models.py:3280 templates/InvenTree/settings/settings_staff_js.html:536 msgid "Part Count" -msgstr "Número de partes" +msgstr "" #: part/models.py:3281 msgid "Number of parts covered by stocktake" @@ -6826,7 +6826,7 @@ msgstr "" #: part/models.py:3471 msgid "Test templates can only be created for trackable parts" -msgstr "Las plantillas de prueba sólo pueden ser creadas para partes rastreables" +msgstr "" #: part/models.py:3482 msgid "Test template with the same key already exists for part" @@ -6834,11 +6834,11 @@ msgstr "" #: part/models.py:3499 templates/js/translated/part.js:2883 msgid "Test Name" -msgstr "Nombre de prueba" +msgstr "" #: part/models.py:3500 msgid "Enter a name for the test" -msgstr "Introduzca un nombre para la prueba" +msgstr "" #: part/models.py:3506 msgid "Test Key" @@ -6850,17 +6850,17 @@ msgstr "" #: part/models.py:3514 msgid "Test Description" -msgstr "Descripción de prueba" +msgstr "" #: part/models.py:3515 msgid "Enter description for this test" -msgstr "Introduce la descripción para esta prueba" +msgstr "" #: part/models.py:3519 report/models.py:209 #: templates/js/translated/part.js:2904 #: templates/js/translated/table_filters.js:481 msgid "Enabled" -msgstr "Habilitado" +msgstr "" #: part/models.py:3519 msgid "Is this test enabled?" @@ -6869,31 +6869,31 @@ msgstr "" #: part/models.py:3524 templates/js/translated/part.js:2912 #: templates/js/translated/table_filters.js:477 msgid "Required" -msgstr "Requerido" +msgstr "" #: part/models.py:3525 msgid "Is this test required to pass?" -msgstr "¿Es necesario pasar esta prueba?" +msgstr "" #: part/models.py:3530 templates/js/translated/part.js:2920 msgid "Requires Value" -msgstr "Requiere valor" +msgstr "" #: part/models.py:3531 msgid "Does this test require a value when adding a test result?" -msgstr "¿Esta prueba requiere un valor al agregar un resultado de la prueba?" +msgstr "" #: part/models.py:3536 templates/js/translated/part.js:2927 msgid "Requires Attachment" -msgstr "Adjunto obligatorio" +msgstr "" #: part/models.py:3538 msgid "Does this test require a file attachment when adding a test result?" -msgstr "¿Esta prueba requiere un archivo adjunto al agregar un resultado de la prueba?" +msgstr "" #: part/models.py:3544 part/models.py:3688 templates/js/translated/part.js:1640 msgid "Choices" -msgstr "Opciones" +msgstr "" #: part/models.py:3545 msgid "Valid choices for this test (comma-separated)" @@ -6913,11 +6913,11 @@ msgstr "" #: part/models.py:3646 msgid "Parameter template name must be unique" -msgstr "El nombre de parámetro en la plantilla tiene que ser único" +msgstr "" #: part/models.py:3661 msgid "Parameter Name" -msgstr "Nombre de Parámetro" +msgstr "" #: part/models.py:3668 msgid "Physical units for this parameter" @@ -6930,15 +6930,15 @@ msgstr "" #: part/models.py:3682 templates/js/translated/part.js:1631 #: templates/js/translated/table_filters.js:830 msgid "Checkbox" -msgstr "Casilla de verificación" +msgstr "" #: part/models.py:3683 msgid "Is this parameter a checkbox?" -msgstr "¿Es este parámetro una casilla de verificación?" +msgstr "" #: part/models.py:3689 msgid "Valid choices for this parameter (comma-separated)" -msgstr "Opciones válidas para este parámetro (separados por comas)" +msgstr "" #: part/models.py:3723 msgid "Part Parameter" @@ -6950,20 +6950,20 @@ msgstr "" #: part/models.py:3785 msgid "Invalid choice for parameter value" -msgstr "Opción inválida para el valor del parámetro" +msgstr "" #: part/models.py:3828 msgid "Parent Part" -msgstr "Parte principal" +msgstr "" #: part/models.py:3836 part/models.py:3944 part/models.py:3945 #: templates/InvenTree/settings/settings_staff_js.html:295 msgid "Parameter Template" -msgstr "Plantilla de parámetro" +msgstr "" #: part/models.py:3842 msgid "Parameter Value" -msgstr "Valor del parámetro" +msgstr "" #: part/models.py:3892 msgid "Part Category Parameter Template" @@ -6971,31 +6971,31 @@ msgstr "" #: part/models.py:3951 templates/InvenTree/settings/settings_staff_js.html:304 msgid "Default Value" -msgstr "Valor predeterminado" +msgstr "" #: part/models.py:3952 msgid "Default Parameter Value" -msgstr "Valor de parámetro por defecto" +msgstr "" #: part/models.py:3990 msgid "Part ID or part name" -msgstr "ID de parte o nombre de parte" +msgstr "" #: part/models.py:3991 msgid "Unique part ID value" -msgstr "Valor de ID de parte única" +msgstr "" #: part/models.py:3993 msgid "Part IPN value" -msgstr "Valor IPN de parte" +msgstr "" #: part/models.py:3994 msgid "Level" -msgstr "Nivel" +msgstr "" #: part/models.py:3994 msgid "BOM level" -msgstr "Nivel de BOM" +msgstr "" #: part/models.py:4105 msgid "BOM item cannot be modified - assembly is locked" @@ -7007,59 +7007,59 @@ msgstr "" #: part/models.py:4122 msgid "Select parent part" -msgstr "Seleccionar parte principal" +msgstr "" #: part/models.py:4132 msgid "Sub part" -msgstr "Sub parte" +msgstr "" #: part/models.py:4133 msgid "Select part to be used in BOM" -msgstr "Seleccionar parte a utilizar en BOM" +msgstr "" #: part/models.py:4144 msgid "BOM quantity for this BOM item" -msgstr "Cantidad del artículo en BOM" +msgstr "" #: part/models.py:4150 msgid "This BOM item is optional" -msgstr "Este artículo BOM es opcional" +msgstr "" #: part/models.py:4156 msgid "This BOM item is consumable (it is not tracked in build orders)" -msgstr "Este artículo de BOM es consumible (no está rastreado en órdenes de construcción)" +msgstr "" #: part/models.py:4163 part/templates/part/upload_bom.html:55 msgid "Overage" -msgstr "Exceso" +msgstr "" #: part/models.py:4164 msgid "Estimated build wastage quantity (absolute or percentage)" -msgstr "Cantidad estimada de desperdicio de construcción (absoluta o porcentaje)" +msgstr "" #: part/models.py:4171 msgid "BOM item reference" -msgstr "Referencia de artículo de BOM" +msgstr "" #: part/models.py:4179 msgid "BOM item notes" -msgstr "Notas del artículo de BOM" +msgstr "" #: part/models.py:4185 msgid "Checksum" -msgstr "Suma de verificación" +msgstr "" #: part/models.py:4186 msgid "BOM line checksum" -msgstr "Suma de verificación de línea de BOM" +msgstr "" #: part/models.py:4191 templates/js/translated/table_filters.js:174 msgid "Validated" -msgstr "Validado" +msgstr "" #: part/models.py:4192 msgid "This BOM item has been validated" -msgstr "Este artículo de BOM ha sido validado" +msgstr "" #: part/models.py:4197 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1054 @@ -7070,52 +7070,52 @@ msgstr "" #: part/models.py:4198 msgid "This BOM item is inherited by BOMs for variant parts" -msgstr "Este artículo BOM es heredado por BOMs para partes variantes" +msgstr "" #: part/models.py:4203 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" -msgstr "Permitir variantes" +msgstr "" #: part/models.py:4204 msgid "Stock items for variant parts can be used for this BOM item" -msgstr "Artículos de stock para partes variantes pueden ser usados para este artículo BOM" +msgstr "" #: part/models.py:4289 stock/models.py:663 msgid "Quantity must be integer value for trackable parts" -msgstr "La cantidad debe ser un valor entero para las partes rastreables" +msgstr "" #: part/models.py:4299 part/models.py:4301 msgid "Sub part must be specified" -msgstr "Debe especificar la subparte" +msgstr "" #: part/models.py:4439 msgid "BOM Item Substitute" -msgstr "Ítem de BOM sustituto" +msgstr "" #: part/models.py:4460 msgid "Substitute part cannot be the same as the master part" -msgstr "La parte sustituta no puede ser la misma que la parte principal" +msgstr "" #: part/models.py:4473 msgid "Parent BOM item" -msgstr "Artículo BOM superior" +msgstr "" #: part/models.py:4481 msgid "Substitute part" -msgstr "Sustituir parte" +msgstr "" #: part/models.py:4497 msgid "Part 1" -msgstr "Parte 1" +msgstr "" #: part/models.py:4505 msgid "Part 2" -msgstr "Parte 2" +msgstr "" #: part/models.py:4506 msgid "Select Related Part" -msgstr "Seleccionar parte relacionada" +msgstr "" #: part/models.py:4525 msgid "Part relationship cannot be created between a part and itself" @@ -7131,13 +7131,13 @@ msgstr "" #: part/serializers.py:125 templates/js/translated/part.js:308 msgid "Parent part category" -msgstr "Categoría principal de parte" +msgstr "" #: part/serializers.py:132 part/serializers.py:154 #: part/templates/part/category.html:122 part/templates/part/category.html:207 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" -msgstr "Subcategorías" +msgstr "" #: part/serializers.py:189 msgid "Results" @@ -7149,7 +7149,7 @@ msgstr "" #: part/serializers.py:217 part/serializers.py:235 stock/serializers.py:608 msgid "Purchase currency of this stock item" -msgstr "Moneda de compra de ítem de stock" +msgstr "" #: part/serializers.py:283 msgid "Number of parts using this template" @@ -7165,39 +7165,39 @@ msgstr "" #: part/serializers.py:455 msgid "Original Part" -msgstr "Parte original" +msgstr "" #: part/serializers.py:456 msgid "Select original part to duplicate" -msgstr "Seleccione la parte original a duplicar" +msgstr "" #: part/serializers.py:461 msgid "Copy Image" -msgstr "Copiar Imagen" +msgstr "" #: part/serializers.py:462 msgid "Copy image from original part" -msgstr "Copiar imagen desde la parte original" +msgstr "" #: part/serializers.py:468 part/templates/part/detail.html:277 msgid "Copy BOM" -msgstr "Copiar BOM" +msgstr "" #: part/serializers.py:469 msgid "Copy bill of materials from original part" -msgstr "Copiar la factura de materiales de la parte original" +msgstr "" #: part/serializers.py:475 msgid "Copy Parameters" -msgstr "Copiar Parámetros" +msgstr "" #: part/serializers.py:476 msgid "Copy parameter data from original part" -msgstr "Copiar datos del parámetro de la parte original" +msgstr "" #: part/serializers.py:482 msgid "Copy Notes" -msgstr "Copiar Notas" +msgstr "" #: part/serializers.py:483 msgid "Copy notes from original part" @@ -7205,7 +7205,7 @@ msgstr "" #: part/serializers.py:501 msgid "Initial Stock Quantity" -msgstr "Cantidad Inicial de Stock" +msgstr "" #: part/serializers.py:503 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." @@ -7221,23 +7221,23 @@ msgstr "" #: part/serializers.py:528 msgid "Select supplier (or leave blank to skip)" -msgstr "Seleccione proveedor (o déjelo en blanco para saltar)" +msgstr "" #: part/serializers.py:544 msgid "Select manufacturer (or leave blank to skip)" -msgstr "Seleccionar fabricante (o dejar en blanco para saltar)" +msgstr "" #: part/serializers.py:554 msgid "Manufacturer part number" -msgstr "Número de parte del fabricante" +msgstr "" #: part/serializers.py:561 msgid "Selected company is not a valid supplier" -msgstr "La empresa seleccionada no es un proveedor válido" +msgstr "" #: part/serializers.py:570 msgid "Selected company is not a valid manufacturer" -msgstr "La empresa seleccionada no es un fabricante válido" +msgstr "" #: part/serializers.py:581 msgid "Manufacturer part matching this MPN already exists" @@ -7258,7 +7258,7 @@ msgstr "" #: part/serializers.py:897 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:471 msgid "Duplicate Part" -msgstr "Duplicar Parte" +msgstr "" #: part/serializers.py:898 msgid "Copy initial data from another Part" @@ -7266,31 +7266,31 @@ msgstr "" #: part/serializers.py:904 templates/js/translated/part.js:102 msgid "Initial Stock" -msgstr "Stock Inicial" +msgstr "" #: part/serializers.py:905 msgid "Create Part with initial stock quantity" -msgstr "Crear Parte con cantidad inicial de stock" +msgstr "" #: part/serializers.py:911 msgid "Supplier Information" -msgstr "Información del proveedor" +msgstr "" #: part/serializers.py:912 msgid "Add initial supplier information for this part" -msgstr "Añadir información inicial del proveedor para esta parte" +msgstr "" #: part/serializers.py:920 msgid "Copy Category Parameters" -msgstr "Copiar Parámetros de Categoría" +msgstr "" #: part/serializers.py:921 msgid "Copy parameter templates from selected part category" -msgstr "Copiar plantillas de parámetro de la categoría de partes seleccionada" +msgstr "" #: part/serializers.py:926 msgid "Existing Image" -msgstr "Imagen Existente" +msgstr "" #: part/serializers.py:927 msgid "Filename of an existing part image" @@ -7298,7 +7298,7 @@ msgstr "" #: part/serializers.py:944 msgid "Image file does not exist" -msgstr "El archivo de imagen no existe" +msgstr "" #: part/serializers.py:1150 msgid "Limit stocktake report to a particular part, and any variant parts" @@ -7322,7 +7322,7 @@ msgstr "" #: part/serializers.py:1182 msgid "Generate Report" -msgstr "Generar informe" +msgstr "" #: part/serializers.py:1183 msgid "Generate report file containing calculated stocktake data" @@ -7330,7 +7330,7 @@ msgstr "" #: part/serializers.py:1188 msgid "Update Parts" -msgstr "Actualizar partes" +msgstr "" #: part/serializers.py:1189 msgid "Update specified parts with calculated stocktake data" @@ -7342,11 +7342,11 @@ msgstr "" #: part/serializers.py:1303 msgid "Override calculated value for minimum price" -msgstr "Anular el valor calculado para precio mínimo" +msgstr "" #: part/serializers.py:1310 msgid "Minimum price currency" -msgstr "Precio mínimo de moneda" +msgstr "" #: part/serializers.py:1318 msgid "Override calculated value for maximum price" @@ -7354,11 +7354,11 @@ msgstr "" #: part/serializers.py:1325 msgid "Maximum price currency" -msgstr "Precio máximo de moneda" +msgstr "" #: part/serializers.py:1354 msgid "Update" -msgstr "Actualizar" +msgstr "" #: part/serializers.py:1355 msgid "Update pricing for this part" @@ -7371,43 +7371,43 @@ msgstr "" #: part/serializers.py:1385 msgid "Minimum price must not be greater than maximum price" -msgstr "El precio mínimo no debe ser mayor que el precio máximo" +msgstr "" #: part/serializers.py:1388 msgid "Maximum price must not be less than minimum price" -msgstr "El precio máximo no debe ser inferior al precio mínimo" +msgstr "" #: part/serializers.py:1759 msgid "Select part to copy BOM from" -msgstr "Seleccionar parte de la que copiar BOM" +msgstr "" #: part/serializers.py:1767 msgid "Remove Existing Data" -msgstr "Eliminar Datos Existentes" +msgstr "" #: part/serializers.py:1768 msgid "Remove existing BOM items before copying" -msgstr "Eliminar artículos BOM existentes antes de copiar" +msgstr "" #: part/serializers.py:1773 msgid "Include Inherited" -msgstr "Incluye Heredado" +msgstr "" #: part/serializers.py:1774 msgid "Include BOM items which are inherited from templated parts" -msgstr "Incluye artículos BOM que son heredados de partes con plantillas" +msgstr "" #: part/serializers.py:1779 msgid "Skip Invalid Rows" -msgstr "Omitir filas no válidas" +msgstr "" #: part/serializers.py:1780 msgid "Enable this option to skip invalid rows" -msgstr "Activar esta opción para omitir filas inválidas" +msgstr "" #: part/serializers.py:1785 msgid "Copy Substitute Parts" -msgstr "Copiar partes sustitutas" +msgstr "" #: part/serializers.py:1786 msgid "Copy substitute parts when duplicate BOM items" @@ -7415,7 +7415,7 @@ msgstr "" #: part/serializers.py:1823 msgid "Clear Existing BOM" -msgstr "Limpiar BOM Existente" +msgstr "" #: part/serializers.py:1824 msgid "Delete existing BOM items before uploading" @@ -7427,41 +7427,41 @@ msgstr "" #: part/serializers.py:1900 msgid "Multiple matching parts found" -msgstr "Varios resultados encontrados" +msgstr "" #: part/serializers.py:1903 msgid "No matching part found" -msgstr "No se encontraron partes coincidentes" +msgstr "" #: part/serializers.py:1906 msgid "Part is not designated as a component" -msgstr "La parte no está designada como componente" +msgstr "" #: part/serializers.py:1915 msgid "Quantity not provided" -msgstr "Cantidad no proporcionada" +msgstr "" #: part/serializers.py:1923 msgid "Invalid quantity" -msgstr "Cantidad no válida" +msgstr "" #: part/serializers.py:1946 msgid "At least one BOM item is required" -msgstr "Se requiere al menos un artículo BOM" +msgstr "" #: part/stocktake.py:225 templates/js/translated/part.js:1070 #: templates/js/translated/part.js:1825 templates/js/translated/part.js:1881 #: templates/js/translated/purchase_order.js:2084 msgid "Total Quantity" -msgstr "Cantidad Total" +msgstr "" #: part/stocktake.py:226 msgid "Total Cost Min" -msgstr "Costo total mínimo" +msgstr "" #: part/stocktake.py:227 msgid "Total Cost Max" -msgstr "Costo total máximo" +msgstr "" #: part/stocktake.py:285 msgid "Stocktake Report Available" @@ -7473,16 +7473,16 @@ msgstr "" #: part/tasks.py:37 msgid "Low stock notification" -msgstr "Notificación por bajo stock" +msgstr "" #: part/tasks.py:39 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" -msgstr "El stock disponible para {part.name} ha caído por debajo del nivel mínimo configurado" +msgstr "" #: part/templates/part/bom.html:6 msgid "You do not have permission to edit the BOM." -msgstr "No tienes permiso para editar la lista de materiales." +msgstr "" #: part/templates/part/bom.html:15 msgid "The BOM this part has been changed, and must be validated" @@ -7503,89 +7503,89 @@ msgstr "" #: part/templates/part/category.html:41 part/templates/part/category.html:45 msgid "You are subscribed to notifications for this category" -msgstr "Estás suscrito a las notificaciones de esta categoría" +msgstr "" #: part/templates/part/category.html:49 msgid "Subscribe to notifications for this category" -msgstr "Suscribirse a las notificaciones de esta categoría" +msgstr "" #: part/templates/part/category.html:55 msgid "Category Actions" -msgstr "Acciones de categoría" +msgstr "" #: part/templates/part/category.html:60 msgid "Edit category" -msgstr "Editar categoría" +msgstr "" #: part/templates/part/category.html:61 msgid "Edit Category" -msgstr "Editar Categoría" +msgstr "" #: part/templates/part/category.html:65 msgid "Delete category" -msgstr "Eliminar categoría" +msgstr "" #: part/templates/part/category.html:66 msgid "Delete Category" -msgstr "Eliminar Categoría" +msgstr "" #: part/templates/part/category.html:102 msgid "Top level part category" -msgstr "Categoría de partes de nivel superior" +msgstr "" #: part/templates/part/category.html:127 msgid "Parts (Including subcategories)" -msgstr "Partes (incluyendo subcategorías)" +msgstr "" #: part/templates/part/category.html:165 msgid "Create new part" -msgstr "Crear nueva parte" +msgstr "" #: part/templates/part/category.html:166 templates/js/translated/bom.js:444 msgid "New Part" -msgstr "Nueva Parte" +msgstr "" #: part/templates/part/category.html:192 #: templates/InvenTree/settings/part_parameters.html:7 #: templates/InvenTree/settings/sidebar.html:49 msgid "Part Parameters" -msgstr "Parámetros de Parte" +msgstr "" #: part/templates/part/category.html:211 msgid "Create new part category" -msgstr "Crear nueva categoría de partes" +msgstr "" #: part/templates/part/category.html:212 msgid "New Category" -msgstr "Nueva Categoría" +msgstr "" #: part/templates/part/category_sidebar.html:13 msgid "Import Parts" -msgstr "Importar Partes" +msgstr "" #: part/templates/part/copy_part.html:10 #, python-format msgid "Make a copy of part '%(full_name)s'." -msgstr "Hacer una copia de la parte '%(full_name)s'." +msgstr "" #: part/templates/part/copy_part.html:14 #: part/templates/part/create_part.html:11 msgid "Possible Matching Parts" -msgstr "Posibles Partes coincidentes" +msgstr "" #: part/templates/part/copy_part.html:15 #: part/templates/part/create_part.html:12 msgid "The new part may be a duplicate of these existing parts" -msgstr "La nueva parte puede ser un duplicado de estas partes existentes" +msgstr "" #: part/templates/part/create_part.html:17 #, python-format msgid "%(full_name)s - %(desc)s (%(match_per)s%% match)" -msgstr "%(full_name)s - %(desc)s (%(match_per)s%% coincidencia)" +msgstr "" #: part/templates/part/detail.html:20 msgid "Part Stock" -msgstr "Stock de parte" +msgstr "" #: part/templates/part/detail.html:44 msgid "Refresh scheduling data" @@ -7594,7 +7594,7 @@ msgstr "" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 #: templates/js/translated/tables.js:552 msgid "Refresh" -msgstr "Actualizar" +msgstr "" #: part/templates/part/detail.html:66 msgid "Add stocktake information" @@ -7605,101 +7605,101 @@ msgstr "" #: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/stock.js:2216 users/models.py:204 msgid "Stocktake" -msgstr "Verificación de Inventario" +msgstr "" #: part/templates/part/detail.html:83 msgid "Part Test Templates" -msgstr "Plantillas de prueba de parte" +msgstr "" #: part/templates/part/detail.html:88 msgid "Add Test Template" -msgstr "Añadir Plantilla de Prueba" +msgstr "" #: part/templates/part/detail.html:139 stock/templates/stock/item.html:49 msgid "Sales Order Allocations" -msgstr "Asignaciones de órdenes de venta" +msgstr "" #: part/templates/part/detail.html:156 msgid "Part Notes" -msgstr "Notas de parte" +msgstr "" #: part/templates/part/detail.html:171 msgid "Part Variants" -msgstr "Variantes de Parte" +msgstr "" #: part/templates/part/detail.html:175 msgid "Create new variant" -msgstr "Crear nueva variante" +msgstr "" #: part/templates/part/detail.html:176 msgid "New Variant" -msgstr "Nueva Variante" +msgstr "" #: part/templates/part/detail.html:199 msgid "Add new parameter" -msgstr "Añadir nuevo parámetro" +msgstr "" #: part/templates/part/detail.html:232 part/templates/part/part_sidebar.html:58 msgid "Related Parts" -msgstr "Partes relacionadas" +msgstr "" #: part/templates/part/detail.html:236 part/templates/part/detail.html:237 msgid "Add Related" -msgstr "Añadir Relacionado" +msgstr "" #: part/templates/part/detail.html:255 part/templates/part/part_sidebar.html:17 #: report/templates/report/inventree_bill_of_materials_report.html:100 msgid "Bill of Materials" -msgstr "Lista de Materiales" +msgstr "" #: part/templates/part/detail.html:260 msgid "Export actions" -msgstr "Exportar acciones" +msgstr "" #: part/templates/part/detail.html:264 templates/js/translated/bom.js:340 msgid "Export BOM" -msgstr "Exportar BOM" +msgstr "" #: part/templates/part/detail.html:266 msgid "Print BOM Report" -msgstr "Imprimir informe BOM" +msgstr "" #: part/templates/part/detail.html:272 msgid "BOM actions" -msgstr "Acciones BOM" +msgstr "" #: part/templates/part/detail.html:276 msgid "Upload BOM" -msgstr "Subir BOM" +msgstr "" #: part/templates/part/detail.html:278 msgid "Validate BOM" -msgstr "Validar BOM" +msgstr "" #: part/templates/part/detail.html:283 part/templates/part/detail.html:284 #: templates/js/translated/bom.js:1320 templates/js/translated/bom.js:1321 msgid "Add BOM Item" -msgstr "Añadir artículo al BOM" +msgstr "" #: part/templates/part/detail.html:297 msgid "Assemblies" -msgstr "Ensamblajes" +msgstr "" #: part/templates/part/detail.html:313 msgid "Part Builds" -msgstr "Construcción de partes" +msgstr "" #: part/templates/part/detail.html:338 stock/templates/stock/item.html:36 msgid "Build Order Allocations" -msgstr "Construir adjudicaciones de pedidos" +msgstr "" #: part/templates/part/detail.html:352 msgid "Part Suppliers" -msgstr "Proveedores de partes" +msgstr "" #: part/templates/part/detail.html:372 msgid "Part Manufacturers" -msgstr "Fabricantes de partes" +msgstr "" #: part/templates/part/detail.html:657 msgid "Related Part" @@ -7716,15 +7716,15 @@ msgstr "" #: part/templates/part/import_wizard/ajax_part_upload.html:29 #: part/templates/part/import_wizard/part_upload.html:14 msgid "Insufficient privileges." -msgstr "Privilegios insuficientes." +msgstr "" #: part/templates/part/import_wizard/part_upload.html:8 msgid "Return to Parts" -msgstr "Volver a los artículos" +msgstr "" #: part/templates/part/import_wizard/part_upload.html:13 msgid "Import Parts from File" -msgstr "Importar artículos desde archivo" +msgstr "" #: part/templates/part/import_wizard/part_upload.html:31 msgid "Requirements for part import" @@ -7736,99 +7736,99 @@ msgstr "" #: part/templates/part/import_wizard/part_upload.html:33 msgid "Part Import Template" -msgstr "Plantilla de importación de parte" +msgstr "" #: part/templates/part/import_wizard/part_upload.html:89 msgid "Download Part Import Template" -msgstr "Descargar plantilla de importación de parte" +msgstr "" #: part/templates/part/import_wizard/part_upload.html:92 #: 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 "Formato" +msgstr "" #: part/templates/part/import_wizard/part_upload.html:93 #: templates/js/translated/bom.js:310 templates/js/translated/bom.js:344 #: templates/js/translated/order.js:130 msgid "Select file format" -msgstr "Seleccionar formato de archivo" +msgstr "" #: part/templates/part/part_app_base.html:12 msgid "Part List" -msgstr "Listado de artículos" +msgstr "" #: part/templates/part/part_base.html:25 part/templates/part/part_base.html:29 msgid "You are subscribed to notifications for this part" -msgstr "Estás suscrito a las notificaciones de este artículo" +msgstr "" #: part/templates/part/part_base.html:33 msgid "Subscribe to notifications for this part" -msgstr "Suscríbete a las notificaciones de este artículo" +msgstr "" #: part/templates/part/part_base.html:52 #: stock/templates/stock/item_base.html:62 #: stock/templates/stock/location.html:74 templates/js/translated/label.js:136 msgid "Print Label" -msgstr "Imprimir etiqueta" +msgstr "" #: part/templates/part/part_base.html:58 msgid "Show pricing information" -msgstr "Mostrar información de precios" +msgstr "" #: part/templates/part/part_base.html:63 #: stock/templates/stock/item_base.html:110 #: stock/templates/stock/location.html:83 msgid "Stock actions" -msgstr "Acciones de stock" +msgstr "" #: part/templates/part/part_base.html:70 msgid "Count part stock" -msgstr "Contar stock de partes" +msgstr "" #: part/templates/part/part_base.html:76 msgid "Transfer part stock" -msgstr "Transferir stock de partes" +msgstr "" #: part/templates/part/part_base.html:91 templates/js/translated/part.js:2296 msgid "Part actions" -msgstr "Acciones para partes" +msgstr "" #: part/templates/part/part_base.html:94 msgid "Duplicate part" -msgstr "Duplicar parte" +msgstr "" #: part/templates/part/part_base.html:97 msgid "Edit part" -msgstr "Editar parte" +msgstr "" #: part/templates/part/part_base.html:100 msgid "Delete part" -msgstr "Eliminar parte" +msgstr "" #: part/templates/part/part_base.html:119 msgid "Part is a template part (variants can be made from this part)" -msgstr "La parte es una parte de plantilla (las variantes se pueden hacer a partir de esta parte)" +msgstr "" #: part/templates/part/part_base.html:123 msgid "Part can be assembled from other parts" -msgstr "La parte puede ser ensamblada desde otras partes" +msgstr "" #: part/templates/part/part_base.html:127 msgid "Part can be used in assemblies" -msgstr "La parte puede ser usada en ensamblajes" +msgstr "" #: part/templates/part/part_base.html:131 msgid "Part stock is tracked by serial number" -msgstr "El stock de esta parte está rastreado por número de serie" +msgstr "" #: part/templates/part/part_base.html:135 msgid "Part can be purchased from external suppliers" -msgstr "La parte puede ser comprada de proveedores externos" +msgstr "" #: part/templates/part/part_base.html:139 msgid "Part can be sold to customers" -msgstr "La parte puede ser vendida a clientes" +msgstr "" #: part/templates/part/part_base.html:145 msgid "Part is not active" @@ -7836,12 +7836,12 @@ msgstr "" #: part/templates/part/part_base.html:153 msgid "Part is virtual (not a physical part)" -msgstr "La parte es virtual (no una parte física)" +msgstr "" #: part/templates/part/part_base.html:163 #: part/templates/part/part_base.html:681 msgid "Show Part Details" -msgstr "Mostrar Detalles de Parte" +msgstr "" #: part/templates/part/part_base.html:218 #: stock/templates/stock/item_base.html:388 @@ -7855,27 +7855,27 @@ msgstr "" #: part/templates/part/part_base.html:235 templates/js/translated/bom.js:1219 msgid "Can Build" -msgstr "Puede construir" +msgstr "" #: part/templates/part/part_base.html:291 msgid "Minimum stock level" -msgstr "Nivel mínimo de stock" +msgstr "" #: part/templates/part/part_base.html:322 templates/js/translated/bom.js:1071 #: templates/js/translated/part.js:1268 templates/js/translated/part.js:2447 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1054 msgid "Price Range" -msgstr "Rango de precios" +msgstr "" #: part/templates/part/part_base.html:352 msgid "Latest Serial Number" -msgstr "Último número de serie" +msgstr "" #: part/templates/part/part_base.html:356 #: stock/templates/stock/item_base.html:322 msgid "Search for serial number" -msgstr "Buscar número de serie" +msgstr "" #: part/templates/part/part_base.html:444 msgid "Part QR Code" @@ -7883,72 +7883,72 @@ msgstr "" #: part/templates/part/part_base.html:461 msgid "Link Barcode to Part" -msgstr "Vincular código de barras a parte" +msgstr "" #: part/templates/part/part_base.html:511 msgid "Calculate" -msgstr "Calcular" +msgstr "" #: part/templates/part/part_base.html:528 msgid "Remove associated image from this part" -msgstr "Eliminar imagen asociada de esta parte" +msgstr "" #: part/templates/part/part_base.html:579 msgid "No matching images found" -msgstr "No se encontraron imágenes coincidentes" +msgstr "" #: part/templates/part/part_base.html:675 msgid "Hide Part Details" -msgstr "Ocultar Detalles de la Parte" +msgstr "" #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:76 #: part/templates/part/prices.html:227 templates/js/translated/pricing.js:485 msgid "Supplier Pricing" -msgstr "Precios del Proveedor" +msgstr "" #: part/templates/part/part_pricing.html:26 #: part/templates/part/part_pricing.html:52 #: part/templates/part/part_pricing.html:95 #: part/templates/part/part_pricing.html:110 msgid "Unit Cost" -msgstr "Costo unitario" +msgstr "" #: part/templates/part/part_pricing.html:40 msgid "No supplier pricing available" -msgstr "Ningún precio de proveedor disponible" +msgstr "" #: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:90 #: part/templates/part/prices.html:250 msgid "BOM Pricing" -msgstr "Precios BOM" +msgstr "" #: part/templates/part/part_pricing.html:66 msgid "Unit Purchase Price" -msgstr "Precio de Compra Unitario" +msgstr "" #: part/templates/part/part_pricing.html:72 msgid "Total Purchase Price" -msgstr "Precio total de compra" +msgstr "" #: part/templates/part/part_pricing.html:83 msgid "No BOM pricing available" -msgstr "No hay precios BOM disponibles" +msgstr "" #: part/templates/part/part_pricing.html:92 msgid "Internal Price" -msgstr "Precio Interno" +msgstr "" #: part/templates/part/part_pricing.html:123 msgid "No pricing information is available for this part." -msgstr "No hay información de precios disponible para esta parte." +msgstr "" #: part/templates/part/part_scheduling.html:14 msgid "Scheduled Quantity" -msgstr "Cantidad programada" +msgstr "" #: part/templates/part/part_sidebar.html:11 msgid "Variants" -msgstr "Variantes" +msgstr "" #: part/templates/part/part_sidebar.html:14 #: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:24 @@ -7959,32 +7959,32 @@ msgstr "Variantes" #: templates/js/translated/part.js:2395 templates/js/translated/stock.js:1059 #: templates/js/translated/stock.js:2070 templates/navbar.html:31 msgid "Stock" -msgstr "Inventario" +msgstr "" #: part/templates/part/part_sidebar.html:30 #: templates/InvenTree/settings/sidebar.html:39 msgid "Pricing" -msgstr "Precios" +msgstr "" #: part/templates/part/part_sidebar.html:44 msgid "Scheduling" -msgstr "Programación" +msgstr "" #: part/templates/part/part_sidebar.html:54 msgid "Test Templates" -msgstr "Plantillas de Prueba" +msgstr "" #: part/templates/part/part_thumb.html:11 msgid "Select from existing images" -msgstr "Seleccionar de imágenes existentes" +msgstr "" #: part/templates/part/prices.html:11 msgid "Pricing Overview" -msgstr "Vista general de precios" +msgstr "" #: part/templates/part/prices.html:14 msgid "Refresh Part Pricing" -msgstr "Actualizar precio de partes" +msgstr "" #: part/templates/part/prices.html:17 msgid "Override Part Pricing" @@ -7997,7 +7997,7 @@ msgstr "" #: templates/js/translated/pricing.js:628 templates/notes_buttons.html:3 #: templates/notes_buttons.html:4 msgid "Edit" -msgstr "Editar" +msgstr "" #: part/templates/part/prices.html:28 stock/admin.py:251 #: stock/templates/stock/item_base.html:446 @@ -8005,31 +8005,31 @@ msgstr "Editar" #: templates/js/translated/company.js:1713 #: templates/js/translated/stock.js:2246 msgid "Last Updated" -msgstr "Última actualización" +msgstr "" #: part/templates/part/prices.html:37 part/templates/part/prices.html:127 msgid "Price Category" -msgstr "Categoría de precio" +msgstr "" #: part/templates/part/prices.html:38 part/templates/part/prices.html:128 msgid "Minimum" -msgstr "Mínimo" +msgstr "" #: part/templates/part/prices.html:39 part/templates/part/prices.html:129 msgid "Maximum" -msgstr "Máximo" +msgstr "" #: part/templates/part/prices.html:51 part/templates/part/prices.html:174 msgid "Internal Pricing" -msgstr "Precio Interno" +msgstr "" #: part/templates/part/prices.html:64 part/templates/part/prices.html:206 msgid "Purchase History" -msgstr "Historial de compras" +msgstr "" #: part/templates/part/prices.html:98 part/templates/part/prices.html:274 msgid "Variant Pricing" -msgstr "Precios variantes" +msgstr "" #: part/templates/part/prices.html:106 msgid "Pricing Overrides" @@ -8037,11 +8037,11 @@ msgstr "" #: part/templates/part/prices.html:113 msgid "Overall Pricing" -msgstr "Precios globales" +msgstr "" #: part/templates/part/prices.html:149 part/templates/part/prices.html:326 msgid "Sale History" -msgstr "Historial de ventas" +msgstr "" #: part/templates/part/prices.html:157 msgid "Sale price data is not available for this part" @@ -8056,11 +8056,11 @@ msgstr "" #: part/templates/part/prices.html:275 part/templates/part/prices.html:298 #: part/templates/part/prices.html:327 msgid "Jump to overview" -msgstr "Ir a la vista general" +msgstr "" #: part/templates/part/prices.html:180 msgid "Add Internal Price Break" -msgstr "Añadir salto de precio interno" +msgstr "" #: part/templates/part/prices.html:297 msgid "Sale Pricing" @@ -8079,52 +8079,52 @@ msgstr "" #: templates/js/translated/part.js:704 templates/js/translated/part.js:2144 #: templates/js/translated/part.js:2146 msgid "No Stock" -msgstr "Sin Stock" +msgstr "" #: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:120 msgid "Low Stock" -msgstr "Bajo Stock" +msgstr "" #: part/templates/part/upload_bom.html:8 msgid "Return to BOM" -msgstr "Volver al BOM" +msgstr "" #: part/templates/part/upload_bom.html:13 msgid "Upload Bill of Materials" -msgstr "Cargar Lista de Materiales" +msgstr "" #: part/templates/part/upload_bom.html:19 msgid "BOM upload requirements" -msgstr "Requisitos de subida BOM" +msgstr "" #: part/templates/part/upload_bom.html:23 #: part/templates/part/upload_bom.html:90 msgid "Upload BOM File" -msgstr "Subir archivo BOM" +msgstr "" #: part/templates/part/upload_bom.html:29 msgid "Submit BOM Data" -msgstr "Enviar datos BOM" +msgstr "" #: part/templates/part/upload_bom.html:37 msgid "Requirements for BOM upload" -msgstr "Requisitos para subir BOM" +msgstr "" #: part/templates/part/upload_bom.html:39 msgid "The BOM file must contain the required named columns as provided in the " -msgstr "El archivo BOM debe contener las columnas con nombre requeridos como se indica en el " +msgstr "" #: part/templates/part/upload_bom.html:39 msgid "BOM Upload Template" -msgstr "Plantilla de subida BOM" +msgstr "" #: part/templates/part/upload_bom.html:40 msgid "Each part must already exist in the database" -msgstr "Cada parte debe existir en la base de datos" +msgstr "" #: part/templates/part/variant_part.html:9 msgid "Create new part variant" -msgstr "Crear nueva variante de parte" +msgstr "" #: part/templates/part/variant_part.html:10 msgid "Create a new variant part from this template" @@ -8132,7 +8132,7 @@ msgstr "" #: part/views.py:111 msgid "Match References" -msgstr "Coincidir Referencias" +msgstr "" #: part/views.py:275 #, python-brace-format @@ -8141,19 +8141,19 @@ msgstr "" #: part/views.py:425 msgid "Select Part Image" -msgstr "Seleccionar Imagen de Parte" +msgstr "" #: part/views.py:448 msgid "Updated part image" -msgstr "Imagen de parte actualizada" +msgstr "" #: part/views.py:451 msgid "Part image not found" -msgstr "Imagen de parte no encontrada" +msgstr "" #: part/views.py:545 msgid "Part Pricing" -msgstr "Precio de parte" +msgstr "" #: plugin/api.py:170 msgid "Plugin cannot be deleted as it is currently active" @@ -8161,25 +8161,25 @@ msgstr "" #: plugin/base/action/api.py:32 msgid "No action specified" -msgstr "No se especificó ninguna acción" +msgstr "" #: plugin/base/action/api.py:41 msgid "No matching action found" -msgstr "No se encontró ninguna acción coincidente" +msgstr "" #: plugin/base/barcodes/api.py:124 plugin/base/barcodes/api.py:328 #: plugin/base/barcodes/api.py:503 msgid "No match found for barcode data" -msgstr "No se encontró ninguna coincidencia para los datos del código de barras" +msgstr "" #: plugin/base/barcodes/api.py:128 msgid "Match found for barcode data" -msgstr "Coincidencia encontrada para datos de códigos de barras" +msgstr "" #: plugin/base/barcodes/api.py:154 #: templates/js/translated/purchase_order.js:1406 msgid "Barcode matches existing item" -msgstr "El código de barras coincide con artículo existente" +msgstr "" #: plugin/base/barcodes/api.py:293 msgid "No matching part data found" @@ -8318,7 +8318,7 @@ msgstr "" #: plugin/base/label/label.py:39 templates/js/translated/label.js:148 msgid "Label printing failed" -msgstr "Impresión de etiquetas fallida" +msgstr "" #: plugin/base/label/mixins.py:56 msgid "Error rendering label to PDF" @@ -8334,11 +8334,11 @@ msgstr "" #: plugin/builtin/barcodes/inventree_barcode.py:25 msgid "InvenTree Barcodes" -msgstr "Códigos de barras de InvenTree" +msgstr "" #: plugin/builtin/barcodes/inventree_barcode.py:26 msgid "Provides native support for barcodes" -msgstr "Proporciona soporte nativo para códigos de barras" +msgstr "" #: plugin/builtin/barcodes/inventree_barcode.py:28 #: plugin/builtin/integration/core_notifications.py:35 @@ -8349,45 +8349,45 @@ msgstr "Proporciona soporte nativo para códigos de barras" #: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 #: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 msgid "InvenTree contributors" -msgstr "Contribuidores de InvenTree" +msgstr "" #: plugin/builtin/integration/core_notifications.py:34 msgid "InvenTree Notifications" -msgstr "Notificaciones de InvenTree" +msgstr "" #: plugin/builtin/integration/core_notifications.py:36 msgid "Integrated outgoing notification methods" -msgstr "Métodos de notificaciones salientes integrados" +msgstr "" #: plugin/builtin/integration/core_notifications.py:41 #: plugin/builtin/integration/core_notifications.py:80 msgid "Enable email notifications" -msgstr "Habilitar notificaciones por correo electrónico" +msgstr "" #: plugin/builtin/integration/core_notifications.py:42 #: plugin/builtin/integration/core_notifications.py:81 msgid "Allow sending of emails for event notifications" -msgstr "Permitir el envío de correos electrónicos para notificaciones de eventos" +msgstr "" #: plugin/builtin/integration/core_notifications.py:47 msgid "Enable slack notifications" -msgstr "Activar notificaciones de slack" +msgstr "" #: plugin/builtin/integration/core_notifications.py:49 msgid "Allow sending of slack channel messages for event notifications" -msgstr "Permitir el envío de mensajes por canal de slack para notificaciones de eventos" +msgstr "" #: plugin/builtin/integration/core_notifications.py:55 msgid "Slack incoming webhook url" -msgstr "URL de webhook entrante de Slack" +msgstr "" #: plugin/builtin/integration/core_notifications.py:56 msgid "URL that is used to send messages to a slack channel" -msgstr "URL que se utiliza para enviar mensajes a un canal de slack" +msgstr "" #: plugin/builtin/integration/core_notifications.py:164 msgid "Open link" -msgstr "Abrir enlace" +msgstr "" #: plugin/builtin/integration/currency_exchange.py:22 msgid "InvenTree Currency Exchange" @@ -8399,19 +8399,19 @@ msgstr "" #: plugin/builtin/labels/inventree_label.py:19 msgid "InvenTree PDF label printer" -msgstr "Impresora de etiquetas PDF de InvenTree" +msgstr "" #: plugin/builtin/labels/inventree_label.py:20 msgid "Provides native support for printing PDF labels" -msgstr "Proporciona soporte nativo para imprimir etiquetas PDF" +msgstr "" #: plugin/builtin/labels/inventree_label.py:28 msgid "Debug mode" -msgstr "Modo de depuración" +msgstr "" #: plugin/builtin/labels/inventree_label.py:29 msgid "Enable debug mode - returns raw HTML instead of PDF" -msgstr "Activar modo de depuración - devuelve código HTML en lugar de PDF" +msgstr "" #: plugin/builtin/labels/inventree_machine.py:61 msgid "InvenTree machine label printer" @@ -8564,27 +8564,27 @@ msgstr "" #: plugin/models.py:36 msgid "Plugin Configuration" -msgstr "Configuración del complemento" +msgstr "" #: plugin/models.py:37 msgid "Plugin Configurations" -msgstr "Configuraciones del Plug-in" +msgstr "" #: plugin/models.py:43 users/models.py:100 msgid "Key" -msgstr "Clave" +msgstr "" #: plugin/models.py:44 msgid "Key of plugin" -msgstr "Clave del complemento" +msgstr "" #: plugin/models.py:52 msgid "PluginName of the plugin" -msgstr "Nombre del complemento" +msgstr "" #: plugin/models.py:59 plugin/serializers.py:90 msgid "Package Name" -msgstr "Nombre de Paquete" +msgstr "" #: plugin/models.py:61 msgid "Name of the installed package, if the plugin was installed via PIP" @@ -8592,20 +8592,20 @@ msgstr "" #: plugin/models.py:66 msgid "Is the plugin active" -msgstr "Está activo el complemento" +msgstr "" #: plugin/models.py:157 templates/js/translated/table_filters.js:370 #: templates/js/translated/table_filters.js:504 msgid "Installed" -msgstr "Instalado" +msgstr "" #: plugin/models.py:166 msgid "Sample plugin" -msgstr "Complemento de ejemplo" +msgstr "" #: plugin/models.py:174 msgid "Builtin Plugin" -msgstr "Complemento integrado" +msgstr "" #: plugin/models.py:182 msgid "Package Plugin" @@ -8615,62 +8615,62 @@ msgstr "" #: templates/InvenTree/settings/plugin_settings.html:9 #: templates/js/translated/plugin.js:51 msgid "Plugin" -msgstr "Complemento" +msgstr "" #: plugin/models.py:267 msgid "Method" -msgstr "Método" +msgstr "" #: plugin/plugin.py:270 msgid "No author found" -msgstr "No se encontró autor" +msgstr "" #: plugin/registry.py:534 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" -msgstr "El complemento '{p}' no es compatible con la versión actual de InvenTree {v}" +msgstr "" #: plugin/registry.py:537 #, python-brace-format msgid "Plugin requires at least version {v}" -msgstr "El complemento requiere al menos la versión {v}" +msgstr "" #: plugin/registry.py:539 #, python-brace-format msgid "Plugin requires at most version {v}" -msgstr "El complemento requiere como máximo la versión {v}" +msgstr "" #: plugin/samples/integration/sample.py:52 msgid "Enable PO" -msgstr "Habilitar PO" +msgstr "" #: plugin/samples/integration/sample.py:53 msgid "Enable PO functionality in InvenTree interface" -msgstr "Habilitar la funcionalidad PO en la interfaz de InvenTree" +msgstr "" #: plugin/samples/integration/sample.py:58 msgid "API Key" -msgstr "Clave API" +msgstr "" #: plugin/samples/integration/sample.py:59 msgid "Key required for accessing external API" -msgstr "Clave necesaria para acceder a la API externa" +msgstr "" #: plugin/samples/integration/sample.py:63 msgid "Numerical" -msgstr "Numérico" +msgstr "" #: plugin/samples/integration/sample.py:64 msgid "A numerical setting" -msgstr "Una configuración numérica" +msgstr "" #: plugin/samples/integration/sample.py:69 msgid "Choice Setting" -msgstr "Configuración de Elección" +msgstr "" #: plugin/samples/integration/sample.py:70 msgid "A setting with multiple choices" -msgstr "Un ajuste con múltiples opciones" +msgstr "" #: plugin/samples/integration/sample_currency_exchange.py:15 msgid "Sample currency exchange plugin" @@ -8682,21 +8682,21 @@ msgstr "" #: plugin/serializers.py:81 msgid "Source URL" -msgstr "URL de origen" +msgstr "" #: plugin/serializers.py:83 msgid "Source for the package - this can be a custom registry or a VCS path" -msgstr "Fuente del paquete - puede ser un registro personalizado o una ruta VCS" +msgstr "" #: plugin/serializers.py:92 msgid "Name for the Plugin Package - can also contain a version indicator" -msgstr "Nombre del paquete Plug-in - también puede contener un indicador de versión" +msgstr "" #: plugin/serializers.py:99 #: templates/InvenTree/settings/plugin_settings.html:42 #: templates/js/translated/plugin.js:86 msgid "Version" -msgstr "Versión" +msgstr "" #: plugin/serializers.py:101 msgid "Version specifier for the plugin. Leave blank for latest version." @@ -8704,19 +8704,19 @@ msgstr "" #: plugin/serializers.py:106 msgid "Confirm plugin installation" -msgstr "Confirmar instalación del complemento" +msgstr "" #: plugin/serializers.py:108 msgid "This will install this plugin now into the current instance. The instance will go into maintenance." -msgstr "Esto instalará este plug-in en la instancia actual. La instancia entrará en mantenimiento." +msgstr "" #: plugin/serializers.py:121 msgid "Installation not confirmed" -msgstr "Instalación no confirmada" +msgstr "" #: plugin/serializers.py:123 msgid "Either packagename of URL must be provided" -msgstr "Debe proporcionar cualquier nombre de paquete de la URL" +msgstr "" #: plugin/serializers.py:161 msgid "Full reload" @@ -8744,11 +8744,11 @@ msgstr "" #: plugin/serializers.py:205 msgid "Activate Plugin" -msgstr "Activar complemento" +msgstr "" #: plugin/serializers.py:206 msgid "Activate this plugin" -msgstr "Activar este complemento" +msgstr "" #: plugin/serializers.py:226 msgid "Delete configuration" @@ -8760,7 +8760,7 @@ msgstr "" #: report/api.py:88 msgid "No valid objects provided to template" -msgstr "No se han proporcionado objetos válidos a la plantilla" +msgstr "" #: report/api.py:103 report/models.py:439 report/serializers.py:98 #: report/serializers.py:148 templates/js/translated/purchase_order.js:1747 @@ -8813,7 +8813,7 @@ msgstr "" #: report/helpers.py:46 msgid "Letter" -msgstr "Carta" +msgstr "" #: report/models.py:119 msgid "Template file with this name already exists" @@ -8821,7 +8821,7 @@ msgstr "" #: report/models.py:151 msgid "Template name" -msgstr "Nombre de la plantilla" +msgstr "" #: report/models.py:157 msgid "Template description" @@ -8833,7 +8833,7 @@ msgstr "" #: report/models.py:203 msgid "Filename Pattern" -msgstr "Patrón de Nombre de archivo" +msgstr "" #: report/models.py:204 msgid "Pattern for generating filenames" @@ -8849,7 +8849,7 @@ msgstr "" #: report/models.py:235 msgid "Filters" -msgstr "Filtros" +msgstr "" #: report/models.py:236 msgid "Template query filters (comma-separated list of key=value pairs)" @@ -8861,7 +8861,7 @@ msgstr "" #: report/models.py:303 msgid "Page size for PDF reports" -msgstr "Tamaño de página para reportes PDF" +msgstr "" #: report/models.py:309 msgid "Render report in landscape orientation" @@ -8869,19 +8869,19 @@ msgstr "" #: report/models.py:368 msgid "Width [mm]" -msgstr "Ancho [mm]" +msgstr "" #: report/models.py:369 msgid "Label width, specified in mm" -msgstr "Ancho de la etiqueta, especificado en mm" +msgstr "" #: report/models.py:375 msgid "Height [mm]" -msgstr "Altura [mm]" +msgstr "" #: report/models.py:376 msgid "Label height, specified in mm" -msgstr "Altura de la etiqueta, especificada en mm" +msgstr "" #: report/models.py:439 msgid "Number of items to process" @@ -8893,7 +8893,7 @@ msgstr "" #: report/models.py:449 templates/js/translated/build.js:2177 msgid "Progress" -msgstr "Progreso" +msgstr "" #: report/models.py:449 msgid "Report generation progress" @@ -8921,27 +8921,27 @@ msgstr "" #: report/models.py:503 msgid "Snippet" -msgstr "Fragmento" +msgstr "" #: report/models.py:504 msgid "Report snippet file" -msgstr "Archivo fragmento de informe" +msgstr "" #: report/models.py:511 msgid "Snippet file description" -msgstr "Descripción de archivo de fragmento" +msgstr "" #: report/models.py:529 msgid "Asset" -msgstr "Activo" +msgstr "" #: report/models.py:530 msgid "Report asset file" -msgstr "Reportar archivo de activos" +msgstr "" #: report/models.py:537 msgid "Asset file description" -msgstr "Descripción del archivo de activos" +msgstr "" #: report/serializers.py:91 msgid "Select report template" @@ -8968,25 +8968,25 @@ msgstr "" #: report/templates/label/stocklocation_qr.html:20 #: templates/allauth_2fa/setup.html:18 msgid "QR Code" -msgstr "Código QR" +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 "Código QR" +msgstr "" #: report/templates/report/inventree_bill_of_materials_report.html:133 msgid "Materials needed" -msgstr "Materiales necesarios" +msgstr "" #: report/templates/report/inventree_build_order_report.html:146 msgid "Required For" -msgstr "Requerido para" +msgstr "" #: report/templates/report/inventree_purchase_order_report.html:15 msgid "Supplier was deleted" -msgstr "El proveedor ha sido eliminado" +msgstr "" #: report/templates/report/inventree_purchase_order_report.html:30 #: report/templates/report/inventree_sales_order_report.html:30 @@ -8996,13 +8996,13 @@ msgstr "El proveedor ha sido eliminado" #: templates/js/translated/purchase_order.js:2115 #: templates/js/translated/sales_order.js:1873 msgid "Unit Price" -msgstr "Precio Unitario" +msgstr "" #: 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 "Partida extra" +msgstr "" #: report/templates/report/inventree_purchase_order_report.html:72 #: report/templates/report/inventree_sales_order_report.html:72 @@ -9024,7 +9024,7 @@ msgstr "" #: templates/js/translated/sales_order.js:1732 #: templates/js/translated/stock.js:596 msgid "Serial Number" -msgstr "Número de serie" +msgstr "" #: report/templates/report/inventree_stock_location_report.html:97 msgid "Stock location items" @@ -9032,41 +9032,41 @@ msgstr "" #: report/templates/report/inventree_test_report.html:21 msgid "Stock Item Test Report" -msgstr "Artículo Stock Informe de prueba" +msgstr "" #: report/templates/report/inventree_test_report.html:97 msgid "Test Results" -msgstr "Resultados de la Prueba" +msgstr "" #: report/templates/report/inventree_test_report.html:102 #: templates/js/translated/stock.js:1495 msgid "Test" -msgstr "Prueba" +msgstr "" #: report/templates/report/inventree_test_report.html:103 stock/models.py:2457 msgid "Result" -msgstr "Resultado" +msgstr "" #: report/templates/report/inventree_test_report.html:129 msgid "Pass" -msgstr "Pasada" +msgstr "" #: report/templates/report/inventree_test_report.html:131 msgid "Fail" -msgstr "Fallo" +msgstr "" #: report/templates/report/inventree_test_report.html:138 msgid "No result (required)" -msgstr "Ningún resultado (requerido)" +msgstr "" #: report/templates/report/inventree_test_report.html:140 msgid "No result" -msgstr "Sin resultados" +msgstr "" #: report/templates/report/inventree_test_report.html:153 #: stock/serializers.py:591 stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" -msgstr "Elementos instalados" +msgstr "" #: report/templates/report/inventree_test_report.html:167 stock/admin.py:161 #: templates/js/translated/stock.js:700 templates/js/translated/stock.js:871 @@ -9092,24 +9092,24 @@ msgstr "" #: stock/admin.py:51 stock/admin.py:171 msgid "Location ID" -msgstr "ID de Ubicación" +msgstr "" #: stock/admin.py:63 stock/templates/stock/location.html:131 #: stock/templates/stock/location.html:137 msgid "Location Path" -msgstr "Ruta de Ubicación" +msgstr "" #: stock/admin.py:148 msgid "Stock Item ID" -msgstr "ID del artículo de almacén" +msgstr "" #: stock/admin.py:167 msgid "Status Code" -msgstr "Código de estado" +msgstr "" #: stock/admin.py:179 msgid "Supplier Part ID" -msgstr "ID Parte del Proveedor" +msgstr "" #: stock/admin.py:184 msgid "Supplier Part SKU" @@ -9117,36 +9117,36 @@ msgstr "" #: stock/admin.py:189 msgid "Supplier ID" -msgstr "ID de proveedor" +msgstr "" #: stock/admin.py:195 msgid "Supplier Name" -msgstr "Nombre del proveedor" +msgstr "" #: stock/admin.py:200 msgid "Customer ID" -msgstr "ID de cliente" +msgstr "" #: stock/admin.py:205 stock/models.py:805 #: stock/templates/stock/item_base.html:354 msgid "Installed In" -msgstr "Instalado en" +msgstr "" #: stock/admin.py:210 msgid "Build ID" -msgstr "ID de construcción" +msgstr "" #: stock/admin.py:220 msgid "Sales Order ID" -msgstr "ID de orden de venta" +msgstr "" #: stock/admin.py:225 msgid "Purchase Order ID" -msgstr "ID de orden de compra" +msgstr "" #: stock/admin.py:240 msgid "Review Needed" -msgstr "Revisión necesaria" +msgstr "" #: stock/admin.py:245 msgid "Delete on Deplete" @@ -9156,7 +9156,7 @@ msgstr "" #: stock/templates/stock/item_base.html:433 #: templates/js/translated/stock.js:2230 users/models.py:124 msgid "Expiry Date" -msgstr "Fecha de Expiración" +msgstr "" #: stock/api.py:312 msgid "Filter by location depth" @@ -9180,7 +9180,7 @@ msgstr "" #: stock/api.py:617 templates/js/translated/table_filters.js:427 msgid "External Location" -msgstr "Ubicación externa" +msgstr "" #: stock/api.py:805 msgid "Part Tree" @@ -9198,15 +9198,15 @@ msgstr "" #: stock/templates/stock/item_base.html:439 #: templates/js/translated/table_filters.js:441 msgid "Stale" -msgstr "Desactualizado" +msgstr "" #: stock/api.py:929 msgid "Quantity is required" -msgstr "Cantidad requerida" +msgstr "" #: stock/api.py:935 msgid "Valid part must be supplied" -msgstr "Debe suministrarse una parte válida" +msgstr "" #: stock/api.py:966 msgid "The given supplier part does not exist" @@ -9236,22 +9236,22 @@ msgstr "" #: stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" -msgstr "Ubicación de Stock" +msgstr "" #: stock/models.py:126 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 "Ubicaciones de Stock" +msgstr "" #: stock/models.py:168 stock/models.py:948 #: stock/templates/stock/item_base.html:247 msgid "Owner" -msgstr "Propietario" +msgstr "" #: stock/models.py:169 stock/models.py:949 msgid "Select Owner" -msgstr "Seleccionar Propietario" +msgstr "" #: stock/models.py:177 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." @@ -9260,7 +9260,7 @@ msgstr "" #: stock/models.py:184 templates/js/translated/stock.js:2781 #: templates/js/translated/table_filters.js:243 msgid "External" -msgstr "Externo" +msgstr "" #: stock/models.py:185 msgid "This is an external stock location" @@ -9294,71 +9294,71 @@ msgstr "" #: stock/models.py:696 stock/models.py:709 msgid "Quantity must be 1 for item with a serial number" -msgstr "La cantidad debe ser 1 para el artículo con un número de serie" +msgstr "" #: stock/models.py:699 msgid "Serial number cannot be set if quantity greater than 1" -msgstr "Número de serie no se puede establecer si la cantidad es mayor que 1" +msgstr "" #: stock/models.py:723 msgid "Item cannot belong to itself" -msgstr "El objeto no puede pertenecer a sí mismo" +msgstr "" #: stock/models.py:728 msgid "Item must have a build reference if is_building=True" -msgstr "El artículo debe tener una referencia de construcción si is_building=True" +msgstr "" #: stock/models.py:741 msgid "Build reference does not point to the same part object" -msgstr "La referencia de la construcción no apunta al mismo objeto de parte" +msgstr "" #: stock/models.py:757 msgid "Parent Stock Item" -msgstr "Artículo de stock padre" +msgstr "" #: stock/models.py:769 msgid "Base part" -msgstr "Parte base" +msgstr "" #: stock/models.py:779 msgid "Select a matching supplier part for this stock item" -msgstr "Seleccione una parte del proveedor correspondiente para este artículo de stock" +msgstr "" #: stock/models.py:791 msgid "Where is this stock item located?" -msgstr "¿Dónde se encuentra este artículo de stock?" +msgstr "" #: stock/models.py:799 stock/serializers.py:1542 msgid "Packaging this stock item is stored in" -msgstr "Empaquetar este artículo de stock se almacena en" +msgstr "" #: stock/models.py:810 msgid "Is this item installed in another item?" -msgstr "¿Está este artículo instalado en otro artículo?" +msgstr "" #: stock/models.py:829 msgid "Serial number for this item" -msgstr "Número de serie para este artículo" +msgstr "" #: stock/models.py:843 stock/serializers.py:1525 msgid "Batch code for this stock item" -msgstr "Código de lote para este artículo de stock" +msgstr "" #: stock/models.py:848 msgid "Stock Quantity" -msgstr "Cantidad de Stock" +msgstr "" #: stock/models.py:858 msgid "Source Build" -msgstr "Build de origen" +msgstr "" #: stock/models.py:861 msgid "Build for this stock item" -msgstr "Build para este item de stock" +msgstr "" #: stock/models.py:868 stock/templates/stock/item_base.html:363 msgid "Consumed By" -msgstr "Consumido por" +msgstr "" #: stock/models.py:871 msgid "Build order which consumed this stock item" @@ -9366,43 +9366,43 @@ msgstr "" #: stock/models.py:880 msgid "Source Purchase Order" -msgstr "Orden de compra de origen" +msgstr "" #: stock/models.py:884 msgid "Purchase order for this stock item" -msgstr "Orden de compra para este artículo de stock" +msgstr "" #: stock/models.py:890 msgid "Destination Sales Order" -msgstr "Orden de venta de destino" +msgstr "" #: stock/models.py:901 msgid "Expiry date for stock item. Stock will be considered expired after this date" -msgstr "Fecha de caducidad del artículo de stock. El stock se considerará caducado después de esta fecha" +msgstr "" #: stock/models.py:919 msgid "Delete on deplete" -msgstr "Eliminar al agotar" +msgstr "" #: stock/models.py:920 msgid "Delete this Stock Item when stock is depleted" -msgstr "Eliminar este artículo de stock cuando se agoten las existencias" +msgstr "" #: stock/models.py:940 msgid "Single unit purchase price at time of purchase" -msgstr "Precio de compra único en el momento de la compra" +msgstr "" #: stock/models.py:971 msgid "Converted to part" -msgstr "Convertido a parte" +msgstr "" #: stock/models.py:1487 msgid "Part is not set as trackable" -msgstr "La parte no está establecida como rastreable" +msgstr "" #: stock/models.py:1493 msgid "Quantity must be integer" -msgstr "Cantidad debe ser un entero" +msgstr "" #: stock/models.py:1501 #, python-brace-format @@ -9411,15 +9411,15 @@ msgstr "" #: stock/models.py:1507 msgid "Serial numbers must be a list of integers" -msgstr "Los números de serie deben ser una lista de enteros" +msgstr "" #: stock/models.py:1512 msgid "Quantity does not match serial numbers" -msgstr "La cantidad no coincide con los números de serie" +msgstr "" #: stock/models.py:1520 stock/serializers.py:718 msgid "Serial numbers already exist" -msgstr "Números de serie ya existen" +msgstr "" #: stock/models.py:1617 msgid "Test template does not exist" @@ -9427,47 +9427,47 @@ msgstr "" #: stock/models.py:1635 msgid "Stock item has been assigned to a sales order" -msgstr "Artículo de stock ha sido asignado a un pedido de venta" +msgstr "" #: stock/models.py:1639 msgid "Stock item is installed in another item" -msgstr "Artículo de stock está instalado en otro artículo" +msgstr "" #: stock/models.py:1642 msgid "Stock item contains other items" -msgstr "Artículo de stock contiene otros artículos" +msgstr "" #: stock/models.py:1645 msgid "Stock item has been assigned to a customer" -msgstr "Artículo de stock ha sido asignado a un cliente" +msgstr "" #: stock/models.py:1648 msgid "Stock item is currently in production" -msgstr "El artículo de stock está en producción" +msgstr "" #: stock/models.py:1651 msgid "Serialized stock cannot be merged" -msgstr "Stock serializado no puede ser combinado" +msgstr "" #: stock/models.py:1658 stock/serializers.py:1431 msgid "Duplicate stock items" -msgstr "Artículos de Stock Duplicados" +msgstr "" #: stock/models.py:1662 msgid "Stock items must refer to the same part" -msgstr "Los artículos de stock deben referirse a la misma parte" +msgstr "" #: stock/models.py:1670 msgid "Stock items must refer to the same supplier part" -msgstr "Los artículos de stock deben referirse a la misma parte del proveedor" +msgstr "" #: stock/models.py:1675 msgid "Stock status codes must match" -msgstr "Los códigos de estado del stock deben coincidir" +msgstr "" #: stock/models.py:1936 msgid "StockItem cannot be moved as it is not in stock" -msgstr "Stock no se puede mover porque no está en stock" +msgstr "" #: stock/models.py:2317 msgid "Stock Item Tracking" @@ -9475,7 +9475,7 @@ msgstr "" #: stock/models.py:2350 msgid "Entry notes" -msgstr "Notas de entrada" +msgstr "" #: stock/models.py:2390 msgid "Stock Item Test Result" @@ -9483,11 +9483,11 @@ msgstr "" #: stock/models.py:2423 msgid "Value must be provided for this test" -msgstr "Debe proporcionarse un valor para esta prueba" +msgstr "" #: stock/models.py:2428 msgid "Attachment must be uploaded for this test" -msgstr "El archivo adjunto debe ser subido para esta prueba" +msgstr "" #: stock/models.py:2433 msgid "Invalid value for this test" @@ -9495,19 +9495,19 @@ msgstr "" #: stock/models.py:2457 msgid "Test result" -msgstr "Resultado de la prueba" +msgstr "" #: stock/models.py:2464 msgid "Test output value" -msgstr "Valor de salida de prueba" +msgstr "" #: stock/models.py:2472 msgid "Test result attachment" -msgstr "Adjunto de resultados de prueba" +msgstr "" #: stock/models.py:2476 msgid "Test notes" -msgstr "Notas de prueba" +msgstr "" #: stock/models.py:2484 templates/js/translated/stock.js:1548 msgid "Test station" @@ -9587,11 +9587,11 @@ msgstr "" #: stock/serializers.py:320 msgid "Serial number is too large" -msgstr "El número de serie es demasiado grande" +msgstr "" #: stock/serializers.py:449 stock/templates/stock/item_base.html:193 msgid "Parent Item" -msgstr "Elemento padre" +msgstr "" #: stock/serializers.py:450 msgid "Parent stock item" @@ -9609,11 +9609,11 @@ msgstr "" #: stock/serializers.py:588 stock/templates/stock/item_base.html:437 #: templates/js/translated/table_filters.js:435 users/models.py:174 msgid "Expired" -msgstr "Expirado" +msgstr "" #: stock/serializers.py:594 stock/templates/stock/stock_sidebar.html:20 msgid "Child Items" -msgstr "Elementos secundarios" +msgstr "" #: stock/serializers.py:598 msgid "Tracking Items" @@ -9633,28 +9633,28 @@ msgstr "" #: stock/serializers.py:653 msgid "Enter number of stock items to serialize" -msgstr "Introduzca el número de artículos de stock para serializar" +msgstr "" #: stock/serializers.py:666 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" -msgstr "La cantidad no debe exceder la cantidad disponible de stock ({q})" +msgstr "" #: stock/serializers.py:673 msgid "Enter serial numbers for new items" -msgstr "Introduzca números de serie para nuevos artículos" +msgstr "" #: stock/serializers.py:684 stock/serializers.py:1388 stock/serializers.py:1644 msgid "Destination stock location" -msgstr "Ubicación de stock de destino" +msgstr "" #: stock/serializers.py:691 msgid "Optional note field" -msgstr "Campo de nota opcional" +msgstr "" #: stock/serializers.py:701 msgid "Serial numbers cannot be assigned to this part" -msgstr "Los números de serie no se pueden asignar a esta parte" +msgstr "" #: stock/serializers.py:756 msgid "Select stock item to install" @@ -9671,7 +9671,7 @@ msgstr "" #: stock/serializers.py:769 stock/serializers.py:849 stock/serializers.py:945 #: stock/serializers.py:995 msgid "Add transaction note (optional)" -msgstr "Añadir nota de transacción (opcional)" +msgstr "" #: stock/serializers.py:777 msgid "Quantity to install must be at least 1" @@ -9722,7 +9722,7 @@ msgstr "" #: stock/templates/stock/location.html:222 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" -msgstr "Sub-ubicación" +msgstr "" #: stock/serializers.py:1149 templates/js/translated/stock.js:152 msgid "Parent stock location" @@ -9730,55 +9730,55 @@ msgstr "" #: stock/serializers.py:1260 msgid "Part must be salable" -msgstr "La parte debe ser vendible" +msgstr "" #: stock/serializers.py:1264 msgid "Item is allocated to a sales order" -msgstr "El artículo está asignado a una orden de venta" +msgstr "" #: stock/serializers.py:1268 msgid "Item is allocated to a build order" -msgstr "El artículo está asignado a una orden de creación" +msgstr "" #: stock/serializers.py:1292 msgid "Customer to assign stock items" -msgstr "Cliente para asignar artículos de stock" +msgstr "" #: stock/serializers.py:1298 msgid "Selected company is not a customer" -msgstr "La empresa seleccionada no es un cliente" +msgstr "" #: stock/serializers.py:1306 msgid "Stock assignment notes" -msgstr "Notas de asignación de stock" +msgstr "" #: stock/serializers.py:1316 stock/serializers.py:1570 msgid "A list of stock items must be provided" -msgstr "Debe proporcionarse una lista de artículos de stock" +msgstr "" #: stock/serializers.py:1395 msgid "Stock merging notes" -msgstr "Notas de fusión de stock" +msgstr "" #: stock/serializers.py:1400 msgid "Allow mismatched suppliers" -msgstr "Permitir proveedores no coincidentes" +msgstr "" #: stock/serializers.py:1401 msgid "Allow stock items with different supplier parts to be merged" -msgstr "Permitir fusionar artículos de stock con diferentes partes de proveedor" +msgstr "" #: stock/serializers.py:1406 msgid "Allow mismatched status" -msgstr "Permitir estado no coincidente" +msgstr "" #: stock/serializers.py:1407 msgid "Allow stock items with different status codes to be merged" -msgstr "Permitir fusionar artículos de stock con diferentes códigos de estado" +msgstr "" #: stock/serializers.py:1417 msgid "At least two stock items must be provided" -msgstr "Debe proporcionar al menos dos artículos de stock" +msgstr "" #: stock/serializers.py:1484 msgid "No Change" @@ -9786,7 +9786,7 @@ msgstr "" #: stock/serializers.py:1513 msgid "StockItem primary key value" -msgstr "Valor de clave primaria de Stock" +msgstr "" #: stock/serializers.py:1532 msgid "Stock item status code" @@ -9794,7 +9794,7 @@ msgstr "" #: stock/serializers.py:1560 msgid "Stock transaction notes" -msgstr "Notas de transacción de stock" +msgstr "" #: stock/status_codes.py:11 msgid "OK" @@ -9802,168 +9802,168 @@ msgstr "" #: stock/status_codes.py:12 msgid "Attention needed" -msgstr "Atención necesaria" +msgstr "" #: stock/status_codes.py:13 msgid "Damaged" -msgstr "Dañado" +msgstr "" #: stock/status_codes.py:14 msgid "Destroyed" -msgstr "Destruido" +msgstr "" #: stock/status_codes.py:15 msgid "Rejected" -msgstr "Rechazado" +msgstr "" #: stock/status_codes.py:19 msgid "Quarantined" -msgstr "En cuarentena" +msgstr "" #: stock/status_codes.py:40 msgid "Legacy stock tracking entry" -msgstr "Entrada antigua de rastreo de stock" +msgstr "" #: stock/status_codes.py:42 templates/js/translated/stock.js:544 msgid "Stock item created" -msgstr "Artículo de stock creado" +msgstr "" #: stock/status_codes.py:45 msgid "Edited stock item" -msgstr "Artículo de almacén editado" +msgstr "" #: stock/status_codes.py:46 msgid "Assigned serial number" -msgstr "Número de serie asignado" +msgstr "" #: stock/status_codes.py:49 msgid "Stock counted" -msgstr "Stock contado" +msgstr "" #: stock/status_codes.py:50 msgid "Stock manually added" -msgstr "Stock añadido manualmente" +msgstr "" #: stock/status_codes.py:51 msgid "Stock manually removed" -msgstr "Stock eliminado manualmente" +msgstr "" #: stock/status_codes.py:54 msgid "Location changed" -msgstr "Ubicación cambiada" +msgstr "" #: stock/status_codes.py:55 msgid "Stock updated" -msgstr "Existencia actualizada" +msgstr "" #: stock/status_codes.py:58 msgid "Installed into assembly" -msgstr "Instalado en el ensamblaje" +msgstr "" #: stock/status_codes.py:59 msgid "Removed from assembly" -msgstr "Retirado del ensamblaje" +msgstr "" #: stock/status_codes.py:61 msgid "Installed component item" -msgstr "Artículo del componente instalado" +msgstr "" #: stock/status_codes.py:62 msgid "Removed component item" -msgstr "Elemento de componente eliminado" +msgstr "" #: stock/status_codes.py:65 msgid "Split from parent item" -msgstr "Separar del artículo principal" +msgstr "" #: stock/status_codes.py:66 msgid "Split child item" -msgstr "Dividir artículo secundario" +msgstr "" #: stock/status_codes.py:69 templates/js/translated/stock.js:1858 msgid "Merged stock items" -msgstr "Artículos de stock combinados" +msgstr "" #: stock/status_codes.py:72 msgid "Converted to variant" -msgstr "Convertir a variante" +msgstr "" #: stock/status_codes.py:75 msgid "Build order output created" -msgstr "Trabajo de ensamblaje creado" +msgstr "" #: stock/status_codes.py:76 msgid "Build order output completed" -msgstr "Construir orden de salida completado" +msgstr "" #: stock/status_codes.py:77 msgid "Build order output rejected" -msgstr "Orden de ensamble rechazada" +msgstr "" #: stock/status_codes.py:78 templates/js/translated/stock.js:1764 msgid "Consumed by build order" -msgstr "Consumido por orden de construcción" +msgstr "" #: stock/status_codes.py:81 msgid "Shipped against Sales Order" -msgstr "Enviado contra orden de venta" +msgstr "" #: stock/status_codes.py:84 msgid "Received against Purchase Order" -msgstr "Recibido contra la orden de compra" +msgstr "" #: stock/status_codes.py:87 msgid "Returned against Return Order" -msgstr "Devuelto contra orden de devolución" +msgstr "" #: stock/status_codes.py:90 templates/js/translated/table_filters.js:375 msgid "Sent to customer" -msgstr "Enviar al cliente" +msgstr "" #: stock/status_codes.py:91 msgid "Returned from customer" -msgstr "Devolución del cliente" +msgstr "" #: stock/templates/stock/item.html:17 msgid "Stock Tracking Information" -msgstr "Información de Seguimiento de Stock" +msgstr "" #: stock/templates/stock/item.html:63 msgid "Child Stock Items" -msgstr "Elementos de Stock Hijos" +msgstr "" #: stock/templates/stock/item.html:72 msgid "This stock item does not have any child items" -msgstr "Este artículo de stock no tiene ningún artículo secundario" +msgstr "" #: stock/templates/stock/item.html:81 #: stock/templates/stock/stock_sidebar.html:12 msgid "Test Data" -msgstr "Datos de Prueba" +msgstr "" #: stock/templates/stock/item.html:85 stock/templates/stock/item_base.html:65 msgid "Test Report" -msgstr "Informe de Prueba" +msgstr "" #: stock/templates/stock/item.html:89 stock/templates/stock/item.html:276 msgid "Delete Test Data" -msgstr "Eliminar Datos de Prueba" +msgstr "" #: stock/templates/stock/item.html:93 msgid "Add Test Data" -msgstr "Añadir Datos de Prueba" +msgstr "" #: stock/templates/stock/item.html:125 msgid "Stock Item Notes" -msgstr "Notas del artículo de stock" +msgstr "" #: stock/templates/stock/item.html:140 msgid "Installed Stock Items" -msgstr "Elementos de Stock instalados" +msgstr "" #: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3271 msgid "Install Stock Item" -msgstr "Instalar artículo de stock" +msgstr "" #: stock/templates/stock/item.html:264 msgid "Delete all test results for this stock item" @@ -9979,100 +9979,100 @@ msgstr "" #: stock/templates/stock/item_base.html:51 msgid "Scan to Location" -msgstr "Escanear a la ubicación" +msgstr "" #: stock/templates/stock/item_base.html:59 #: stock/templates/stock/location.html:70 #: templates/js/translated/filters.js:431 msgid "Printing actions" -msgstr "Acciones de impresión" +msgstr "" #: stock/templates/stock/item_base.html:75 msgid "Stock adjustment actions" -msgstr "Acciones de ajuste de stock" +msgstr "" #: stock/templates/stock/item_base.html:79 #: stock/templates/stock/location.html:90 templates/js/translated/stock.js:1824 msgid "Count stock" -msgstr "Contar stock" +msgstr "" #: stock/templates/stock/item_base.html:81 #: templates/js/translated/stock.js:1806 msgid "Add stock" -msgstr "Añadir stock" +msgstr "" #: stock/templates/stock/item_base.html:82 #: templates/js/translated/stock.js:1815 msgid "Remove stock" -msgstr "Eliminar stock" +msgstr "" #: stock/templates/stock/item_base.html:85 msgid "Serialize stock" -msgstr "Serializar stock" +msgstr "" #: stock/templates/stock/item_base.html:88 #: stock/templates/stock/location.html:96 templates/js/translated/stock.js:1833 msgid "Transfer stock" -msgstr "Transferir stock" +msgstr "" #: stock/templates/stock/item_base.html:91 #: templates/js/translated/stock.js:1887 msgid "Assign to customer" -msgstr "Asignar a cliente" +msgstr "" #: stock/templates/stock/item_base.html:94 msgid "Return to stock" -msgstr "Regresar al stock" +msgstr "" #: stock/templates/stock/item_base.html:97 msgid "Uninstall stock item" -msgstr "Desinstalar artículo de stock" +msgstr "" #: stock/templates/stock/item_base.html:97 msgid "Uninstall" -msgstr "Desinstalar" +msgstr "" #: stock/templates/stock/item_base.html:101 msgid "Install stock item" -msgstr "Instalar artículo de stock" +msgstr "" #: stock/templates/stock/item_base.html:101 msgid "Install" -msgstr "Instalar" +msgstr "" #: stock/templates/stock/item_base.html:115 msgid "Convert to variant" -msgstr "Convertir a variante" +msgstr "" #: stock/templates/stock/item_base.html:118 msgid "Duplicate stock item" -msgstr "Duplicar artículo" +msgstr "" #: stock/templates/stock/item_base.html:120 msgid "Edit stock item" -msgstr "Editar artículo de almacén" +msgstr "" #: stock/templates/stock/item_base.html:123 msgid "Delete stock item" -msgstr "Eliminar artículo de stock" +msgstr "" #: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 #: templates/js/translated/build.js:2123 templates/navbar.html:38 msgid "Build" -msgstr "Construcción o Armado" +msgstr "" #: stock/templates/stock/item_base.html:211 msgid "No manufacturer set" -msgstr "Ningún fabricante establecido" +msgstr "" #: stock/templates/stock/item_base.html:251 msgid "You are not in the list of owners of this item. This stock item cannot be edited." -msgstr "No estás en la lista de propietarios de este artículo. Este artículo de stock no puede ser editado." +msgstr "" #: stock/templates/stock/item_base.html:252 #: stock/templates/stock/location.html:149 msgid "Read only" -msgstr "Solo lectura" +msgstr "" #: stock/templates/stock/item_base.html:265 msgid "This stock item is unavailable" @@ -10080,19 +10080,19 @@ msgstr "" #: stock/templates/stock/item_base.html:271 msgid "This stock item is in production and cannot be edited." -msgstr "Este artículo de stock está en producción y no puede ser editado." +msgstr "" #: stock/templates/stock/item_base.html:272 msgid "Edit the stock item from the build view." -msgstr "Editar el artículo de stock desde la vista de construcción." +msgstr "" #: stock/templates/stock/item_base.html:287 msgid "This stock item is allocated to Sales Order" -msgstr "Este artículo de stock está asignado a la orden de venta" +msgstr "" #: stock/templates/stock/item_base.html:295 msgid "This stock item is allocated to Build Order" -msgstr "Este artículo de stock está asignado al orden de construcción" +msgstr "" #: stock/templates/stock/item_base.html:311 msgid "This stock item is serialized. It has a unique serial number and the quantity cannot be adjusted" @@ -10100,50 +10100,50 @@ msgstr "" #: stock/templates/stock/item_base.html:317 msgid "previous page" -msgstr "página anterior" +msgstr "" #: stock/templates/stock/item_base.html:317 msgid "Navigate to previous serial number" -msgstr "Navegar al número de serie anterior" +msgstr "" #: stock/templates/stock/item_base.html:326 msgid "next page" -msgstr "página siguiente" +msgstr "" #: stock/templates/stock/item_base.html:326 msgid "Navigate to next serial number" -msgstr "Navegar al siguiente número de serie" +msgstr "" #: stock/templates/stock/item_base.html:340 msgid "Available Quantity" -msgstr "Cantidad disponible" +msgstr "" #: stock/templates/stock/item_base.html:398 #: templates/js/translated/build.js:2380 msgid "No location set" -msgstr "Ubicación no establecida" +msgstr "" #: stock/templates/stock/item_base.html:413 msgid "Tests" -msgstr "Pruebas" +msgstr "" #: stock/templates/stock/item_base.html:419 msgid "This stock item has not passed all required tests" -msgstr "Este artículo de stock no ha pasado todas las pruebas requeridas" +msgstr "" #: stock/templates/stock/item_base.html:437 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" -msgstr "Este ítem expiró el %(item.expiry_date)s" +msgstr "" #: stock/templates/stock/item_base.html:439 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" -msgstr "Este ítem expira el %(item.expiry_date)s" +msgstr "" #: stock/templates/stock/item_base.html:455 msgid "No stocktake performed" -msgstr "Ningún inventario realizado" +msgstr "" #: stock/templates/stock/item_base.html:504 #: templates/js/translated/stock.js:1952 @@ -10164,15 +10164,15 @@ msgstr "" #: stock/templates/stock/item_base.html:611 msgid "Select one of the part variants listed below." -msgstr "Seleccione una de las variantes de parte listadas a continuación." +msgstr "" #: stock/templates/stock/item_base.html:614 msgid "Warning" -msgstr "Advertencia" +msgstr "" #: stock/templates/stock/item_base.html:615 msgid "This action cannot be easily undone" -msgstr "Esta acción no se puede deshacer fácilmente" +msgstr "" #: stock/templates/stock/item_base.html:623 msgid "Convert Stock Item" @@ -10184,11 +10184,11 @@ msgstr "" #: stock/templates/stock/item_serialize.html:5 msgid "Create serialized items from this stock item." -msgstr "Crear artículos serializados a partir de este artículo de stock." +msgstr "" #: stock/templates/stock/item_serialize.html:7 msgid "Select quantity to serialize, and unique serial numbers." -msgstr "Seleccione la cantidad para serializar y números de serie únicos." +msgstr "" #: stock/templates/stock/location.html:38 msgid "Perform stocktake for this stock location" @@ -10212,7 +10212,7 @@ msgstr "" #: stock/templates/stock/location.html:64 msgid "Scan In Container" -msgstr "Escanear en contenedor" +msgstr "" #: stock/templates/stock/location.html:75 msgid "Print Location Report" @@ -10220,27 +10220,27 @@ msgstr "" #: stock/templates/stock/location.html:104 msgid "Location actions" -msgstr "Acciones de ubicación" +msgstr "" #: stock/templates/stock/location.html:106 msgid "Edit location" -msgstr "Editar ubicación" +msgstr "" #: stock/templates/stock/location.html:108 msgid "Delete location" -msgstr "Eliminar ubicación" +msgstr "" #: stock/templates/stock/location.html:138 msgid "Top level stock location" -msgstr "Ubicación de stock superior" +msgstr "" #: stock/templates/stock/location.html:144 msgid "Location Owner" -msgstr "Propietario de la ubicación" +msgstr "" #: stock/templates/stock/location.html:148 msgid "You are not in the list of owners of this location. This stock location cannot be edited." -msgstr "No estás en la lista de propietarios de esta ubicación. Esta ubicación de stock no puede ser editada." +msgstr "" #: stock/templates/stock/location.html:176 msgid "Location Type" @@ -10248,11 +10248,11 @@ msgstr "" #: stock/templates/stock/location.html:226 msgid "Create new stock location" -msgstr "Crear nueva ubicación de stock" +msgstr "" #: stock/templates/stock/location.html:227 msgid "New Location" -msgstr "Nueva Ubicación" +msgstr "" #: stock/templates/stock/location.html:299 #: templates/js/translated/stock.js:2572 @@ -10273,48 +10273,48 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:16 msgid "Loading..." -msgstr "Cargando..." +msgstr "" #: stock/templates/stock/stock_sidebar.html:5 msgid "Stock Tracking" -msgstr "Seguimiento de Stock" +msgstr "" #: stock/templates/stock/stock_sidebar.html:8 msgid "Allocations" -msgstr "Asignaciones" +msgstr "" #: templates/403.html:6 templates/403.html:12 templates/403_csrf.html:7 msgid "Permission Denied" -msgstr "Permiso Denegado" +msgstr "" #: templates/403.html:15 msgid "You do not have permission to view this page." -msgstr "No tiene permisos para ver esta página." +msgstr "" #: templates/403_csrf.html:11 msgid "Authentication Failure" -msgstr "Falla de autenticación" +msgstr "" #: templates/403_csrf.html:14 msgid "You have been logged out from InvenTree." -msgstr "Has cerrado sesión en InvenTree." +msgstr "" #: templates/403_csrf.html:19 templates/InvenTree/settings/sidebar.html:29 #: templates/navbar.html:150 msgid "Login" -msgstr "Iniciar sesión" +msgstr "" #: templates/404.html:6 templates/404.html:12 msgid "Page Not Found" -msgstr "Página No Encontrada" +msgstr "" #: templates/404.html:15 msgid "The requested page does not exist" -msgstr "La página solicitada no existe" +msgstr "" #: templates/500.html:6 templates/500.html:12 msgid "Internal Server Error" -msgstr "Error Interno Del Servidor" +msgstr "" #: templates/500.html:15 #, python-format @@ -10323,19 +10323,19 @@ msgstr "" #: templates/500.html:16 msgid "Refer to the error log in the admin interface for further details" -msgstr "Consulte el registro de errores en la interfaz de administración para más detalles" +msgstr "" #: templates/503.html:11 templates/503.html:33 msgid "Site is in Maintenance" -msgstr "El Sitio está en Mantenimiento" +msgstr "" #: templates/503.html:39 msgid "The site is currently in maintenance and should be up again soon!" -msgstr "El sitio está actualmente en mantenimiento y debería estar listo pronto!" +msgstr "" #: templates/InvenTree/index.html:7 msgid "Index" -msgstr "Índice" +msgstr "" #: templates/InvenTree/index.html:39 msgid "Subscribed Parts" @@ -10407,29 +10407,29 @@ msgstr "" #: templates/InvenTree/notifications/history.html:9 msgid "Notification History" -msgstr "Historial de notificaciones" +msgstr "" #: templates/InvenTree/notifications/history.html:13 #: templates/InvenTree/notifications/history.html:14 #: templates/InvenTree/notifications/notifications.html:75 msgid "Delete Notifications" -msgstr "Eliminar notificaciones" +msgstr "" #: templates/InvenTree/notifications/inbox.html:9 msgid "Pending Notifications" -msgstr "Notificaciones pendientes" +msgstr "" #: templates/InvenTree/notifications/inbox.html:13 #: templates/InvenTree/notifications/inbox.html:14 msgid "Mark all as read" -msgstr "Marcar todos como leidos" +msgstr "" #: templates/InvenTree/notifications/notifications.html:10 #: templates/InvenTree/notifications/sidebar.html:5 #: templates/InvenTree/settings/sidebar.html:17 #: templates/InvenTree/settings/sidebar.html:37 templates/notifications.html:5 msgid "Notifications" -msgstr "Notificaciones" +msgstr "" #: templates/InvenTree/notifications/notifications.html:38 msgid "No unread notifications found" @@ -10441,7 +10441,7 @@ msgstr "" #: templates/InvenTree/notifications/notifications.html:65 msgid "Delete all read notifications" -msgstr "Borrar todas las notificaciones leídas" +msgstr "" #: templates/InvenTree/notifications/notifications.html:89 #: templates/js/translated/notification.js:85 @@ -10450,40 +10450,40 @@ msgstr "" #: templates/InvenTree/notifications/sidebar.html:8 msgid "Inbox" -msgstr "Bandeja de Entrada" +msgstr "" #: templates/InvenTree/notifications/sidebar.html:10 msgid "History" -msgstr "Historial" +msgstr "" #: templates/InvenTree/search.html:8 msgid "Search Results" -msgstr "Resultados de Búsqueda" +msgstr "" #: templates/InvenTree/settings/barcode.html:8 msgid "Barcode Settings" -msgstr "Ajustes de Código de Barras" +msgstr "" #: templates/InvenTree/settings/build.html:8 msgid "Build Order Settings" -msgstr "Configuración de Pedido de Trabajo" +msgstr "" #: templates/InvenTree/settings/category.html:7 msgid "Category Settings" -msgstr "Ajustes de Categoría" +msgstr "" #: templates/InvenTree/settings/global.html:8 msgid "Server Settings" -msgstr "Configuración del Servidor" +msgstr "" #: templates/InvenTree/settings/label.html:8 #: templates/InvenTree/settings/user_labels.html:9 msgid "Label Settings" -msgstr "Ajustes de Etiqueta" +msgstr "" #: templates/InvenTree/settings/login.html:8 msgid "Login Settings" -msgstr "Configuración de Inicio de Sesión" +msgstr "" #: templates/InvenTree/settings/login.html:15 msgid "Outgoing email has not been configured. Some login and sign-up features may not work correctly!" @@ -10492,25 +10492,25 @@ msgstr "" #: templates/InvenTree/settings/login.html:27 templates/account/signup.html:5 #: templates/socialaccount/signup.html:5 msgid "Signup" -msgstr "Registrarse" +msgstr "" #: templates/InvenTree/settings/login.html:36 msgid "Single Sign On" -msgstr "Inicio de sesión único" +msgstr "" #: templates/InvenTree/settings/mixins/settings.html:5 #: templates/InvenTree/settings/settings.html:12 templates/navbar.html:147 msgid "Settings" -msgstr "Ajustes" +msgstr "" #: templates/InvenTree/settings/mixins/urls.html:5 msgid "URLs" -msgstr "Direcciones URL" +msgstr "" #: templates/InvenTree/settings/mixins/urls.html:8 #, python-format msgid "The Base-URL for this plugin is %(base)s." -msgstr "La URL base para este plugin es %(base)s." +msgstr "" #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" @@ -10518,7 +10518,7 @@ msgstr "" #: templates/InvenTree/settings/mixins/urls.html:23 msgid "Open in new tab" -msgstr "Abrir en una pestaña nueva" +msgstr "" #: templates/InvenTree/settings/notifications.html:9 #: templates/InvenTree/settings/user_notifications.html:9 @@ -10531,19 +10531,19 @@ msgstr "" #: templates/InvenTree/settings/part.html:7 msgid "Part Settings" -msgstr "Ajustes de Parte" +msgstr "" #: templates/InvenTree/settings/part.html:43 msgid "Part Import" -msgstr "Importar Parte" +msgstr "" #: templates/InvenTree/settings/part.html:47 msgid "Import Part" -msgstr "Importar Parte" +msgstr "" #: templates/InvenTree/settings/part_parameters.html:20 msgid "Part Parameter Templates" -msgstr "Plantillas de Parámetros de Partes" +msgstr "" #: templates/InvenTree/settings/part_stocktake.html:7 msgid "Stocktake Settings" @@ -10560,102 +10560,102 @@ msgstr "" #: templates/InvenTree/settings/physical_units.html:12 msgid "Add Unit" -msgstr "Añadir unidad" +msgstr "" #: templates/InvenTree/settings/plugin.html:9 #: templates/InvenTree/settings/sidebar.html:64 msgid "Plugin Settings" -msgstr "Ajustes del complemento" +msgstr "" #: templates/InvenTree/settings/plugin.html:15 msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage." -msgstr "Cambiar la configuración de abajo requiere reiniciar inmediatamente el servidor. No lo cambie mientras esté en uso activo." +msgstr "" #: templates/InvenTree/settings/plugin.html:38 #: templates/InvenTree/settings/sidebar.html:66 msgid "Plugins" -msgstr "Complementos" +msgstr "" #: templates/InvenTree/settings/plugin.html:44 #: templates/InvenTree/settings/plugin.html:45 #: templates/js/translated/plugin.js:151 msgid "Install Plugin" -msgstr "Instalar complemento" +msgstr "" #: templates/InvenTree/settings/plugin.html:47 #: templates/InvenTree/settings/plugin.html:48 #: templates/js/translated/plugin.js:224 msgid "Reload Plugins" -msgstr "Recargar Plugins" +msgstr "" #: templates/InvenTree/settings/plugin.html:58 msgid "External plugins are not enabled for this InvenTree installation" -msgstr "Los complementos externos no están habilitados para esta instalación de InvenTree" +msgstr "" #: templates/InvenTree/settings/plugin.html:73 msgid "Plugin Error Stack" -msgstr "Pila de error de complementos" +msgstr "" #: templates/InvenTree/settings/plugin.html:82 msgid "Stage" -msgstr "Etapa" +msgstr "" #: templates/InvenTree/settings/plugin.html:84 #: templates/js/translated/notification.js:76 msgid "Message" -msgstr "Mensaje" +msgstr "" #: templates/InvenTree/settings/plugin_settings.html:16 msgid "Plugin information" -msgstr "Información de Plugin" +msgstr "" #: templates/InvenTree/settings/plugin_settings.html:47 msgid "no version information supplied" -msgstr "no se proporcionó información de versión" +msgstr "" #: templates/InvenTree/settings/plugin_settings.html:61 msgid "License" -msgstr "Licencia" +msgstr "" #: templates/InvenTree/settings/plugin_settings.html:70 msgid "The code information is pulled from the latest git commit for this plugin. It might not reflect official version numbers or information but the actual code running." -msgstr "La información del código es extraída del último git commit para este plugin. Puede que no refleje los números de versión oficiales o la información, pero sí el código actual en ejecución." +msgstr "" #: templates/InvenTree/settings/plugin_settings.html:76 msgid "Package information" -msgstr "Información del paquete" +msgstr "" #: templates/InvenTree/settings/plugin_settings.html:82 msgid "Installation method" -msgstr "Método de instalación" +msgstr "" #: templates/InvenTree/settings/plugin_settings.html:85 msgid "This plugin was installed as a package" -msgstr "Este plugin fue instalado como un paquete" +msgstr "" #: templates/InvenTree/settings/plugin_settings.html:87 msgid "This plugin was found in a local server path" -msgstr "Este complemento fue encontrado en una ruta del servidor local" +msgstr "" #: templates/InvenTree/settings/plugin_settings.html:93 msgid "Installation path" -msgstr "Ruta de instalación" +msgstr "" #: templates/InvenTree/settings/plugin_settings.html:100 #: templates/js/translated/plugin.js:68 #: templates/js/translated/table_filters.js:496 msgid "Builtin" -msgstr "Integrado" +msgstr "" #: templates/InvenTree/settings/plugin_settings.html:101 msgid "This is a builtin plugin which cannot be disabled" -msgstr "Este es un complemento incorporado que no puede ser desactivado" +msgstr "" #: templates/InvenTree/settings/plugin_settings.html:107 #: templates/js/translated/plugin.js:72 #: templates/js/translated/table_filters.js:500 msgid "Sample" -msgstr "Muestra" +msgstr "" #: templates/InvenTree/settings/plugin_settings.html:108 msgid "This is a sample plugin" @@ -10663,65 +10663,65 @@ msgstr "" #: templates/InvenTree/settings/plugin_settings.html:113 msgid "Commit Author" -msgstr "Autor del Commit" +msgstr "" #: templates/InvenTree/settings/plugin_settings.html:117 #: templates/about.html:36 msgid "Commit Date" -msgstr "Fecha del Commit" +msgstr "" #: templates/InvenTree/settings/plugin_settings.html:121 #: templates/about.html:29 msgid "Commit Hash" -msgstr "Hash de Commit" +msgstr "" #: templates/InvenTree/settings/plugin_settings.html:125 msgid "Commit Message" -msgstr "Mensaje de Commit" +msgstr "" #: templates/InvenTree/settings/po.html:7 msgid "Purchase Order Settings" -msgstr "Ajustes de Orden de Compra" +msgstr "" #: templates/InvenTree/settings/pricing.html:7 msgid "Pricing Settings" -msgstr "Configuración de Precios" +msgstr "" #: templates/InvenTree/settings/pricing.html:35 msgid "Exchange Rates" -msgstr "Tipos de Cambio" +msgstr "" #: templates/InvenTree/settings/pricing.html:39 msgid "Update Now" -msgstr "Actualizar Ahora" +msgstr "" #: templates/InvenTree/settings/pricing.html:47 #: templates/InvenTree/settings/pricing.html:51 msgid "Last Update" -msgstr "Última Actualización" +msgstr "" #: templates/InvenTree/settings/pricing.html:51 msgid "Never" -msgstr "Nunca" +msgstr "" #: templates/InvenTree/settings/project_codes.html:8 msgid "Project Code Settings" -msgstr "Configuración del código de proyecto" +msgstr "" #: templates/InvenTree/settings/project_codes.html:21 #: templates/InvenTree/settings/sidebar.html:33 msgid "Project Codes" -msgstr "Códigos del proyecto" +msgstr "" #: templates/InvenTree/settings/project_codes.html:25 #: templates/InvenTree/settings/settings_staff_js.html:216 msgid "New Project Code" -msgstr "Nuevo código de proyecto" +msgstr "" #: templates/InvenTree/settings/report.html:8 #: templates/InvenTree/settings/user_reporting.html:9 msgid "Report Settings" -msgstr "Ajustes del Informe" +msgstr "" #: templates/InvenTree/settings/returns.html:7 msgid "Return Order Settings" @@ -10729,11 +10729,11 @@ msgstr "" #: templates/InvenTree/settings/setting.html:31 msgid "No value set" -msgstr "Ningún valor establecido" +msgstr "" #: templates/InvenTree/settings/setting.html:46 msgid "Edit setting" -msgstr "Editar ajustes" +msgstr "" #: templates/InvenTree/settings/settings_js.html:58 msgid "Edit Plugin Setting" @@ -10760,7 +10760,7 @@ msgstr "" #: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 #: templates/js/translated/stock.js:245 users/models.py:406 msgid "Delete" -msgstr "Eliminar" +msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:95 msgid "Edit Custom Unit" @@ -10852,55 +10852,55 @@ msgstr "" #: templates/InvenTree/settings/sidebar.html:6 #: templates/InvenTree/settings/user_settings.html:9 msgid "User Settings" -msgstr "Configuración del Usuario" +msgstr "" #: templates/InvenTree/settings/sidebar.html:9 msgid "Account" -msgstr "Cuenta" +msgstr "" #: templates/InvenTree/settings/sidebar.html:11 msgid "Display" -msgstr "Mostrar" +msgstr "" #: templates/InvenTree/settings/sidebar.html:13 msgid "Home Page" -msgstr "Página de Inicio" +msgstr "" #: templates/InvenTree/settings/sidebar.html:15 #: templates/js/translated/forms.js:2167 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" -msgstr "Buscar" +msgstr "" #: templates/InvenTree/settings/sidebar.html:19 #: templates/InvenTree/settings/sidebar.html:43 msgid "Reporting" -msgstr "Informando" +msgstr "" #: templates/InvenTree/settings/sidebar.html:24 msgid "Global Settings" -msgstr "Configuración Global" +msgstr "" #: templates/InvenTree/settings/sidebar.html:27 templates/stats.html:9 msgid "Server" -msgstr "Servidor" +msgstr "" #: templates/InvenTree/settings/sidebar.html:41 msgid "Labels" -msgstr "Etiquetas" +msgstr "" #: templates/InvenTree/settings/sidebar.html:45 msgid "Categories" -msgstr "Categorías" +msgstr "" #: templates/InvenTree/settings/so.html:7 msgid "Sales Order Settings" -msgstr "Configuración de orden de venta" +msgstr "" #: templates/InvenTree/settings/stock.html:7 msgid "Stock Settings" -msgstr "Configuración de Stock" +msgstr "" #: templates/InvenTree/settings/stock.html:34 msgid "Stock Location Types" @@ -10908,54 +10908,54 @@ msgstr "" #: templates/InvenTree/settings/user.html:13 msgid "Account Settings" -msgstr "Configuración de la Cuenta" +msgstr "" #: templates/InvenTree/settings/user.html:19 #: templates/account/password_reset_from_key.html:4 #: templates/account/password_reset_from_key.html:7 msgid "Change Password" -msgstr "Cambiar Contraseña" +msgstr "" #: templates/InvenTree/settings/user.html:55 msgid "The following email addresses are associated with your account:" -msgstr "Las siguientes direcciones de correo electrónico están asociadas con tu cuenta:" +msgstr "" #: templates/InvenTree/settings/user.html:76 msgid "Verified" -msgstr "Verificado" +msgstr "" #: templates/InvenTree/settings/user.html:78 msgid "Unverified" -msgstr "Sin verificar" +msgstr "" #: templates/InvenTree/settings/user.html:80 #: templates/js/translated/company.js:957 msgid "Primary" -msgstr "Principal" +msgstr "" #: templates/InvenTree/settings/user.html:86 msgid "Make Primary" -msgstr "Hacer Principal" +msgstr "" #: templates/InvenTree/settings/user.html:87 msgid "Re-send Verification" -msgstr "Reenviar verificación" +msgstr "" #: templates/InvenTree/settings/user.html:96 msgid "Warning:" -msgstr "Advertencia:" +msgstr "" #: templates/InvenTree/settings/user.html:97 msgid "You currently do not have any email address set up. You should really add an email address so you can receive notifications, reset your password, etc." -msgstr "Actualmente no tiene ninguna dirección de correo electrónico configurada. Realmente deberías añadir una dirección de correo electrónico para que puedas recibir notificaciones, restablecer tu contraseña, etc." +msgstr "" #: templates/InvenTree/settings/user.html:105 msgid "Add Email Address" -msgstr "Añadir correo electrónico" +msgstr "" #: templates/InvenTree/settings/user.html:110 msgid "Add Email" -msgstr "Agregar Email" +msgstr "" #: templates/InvenTree/settings/user.html:120 msgid "Multifactor" @@ -10963,7 +10963,7 @@ msgstr "" #: templates/InvenTree/settings/user.html:125 msgid "You have these factors available:" -msgstr "Tienes estos factores disponibles:" +msgstr "" #: templates/InvenTree/settings/user.html:135 msgid "TOTP" @@ -10971,65 +10971,65 @@ msgstr "" #: templates/InvenTree/settings/user.html:141 msgid "Static" -msgstr "Estático" +msgstr "" #: templates/InvenTree/settings/user.html:150 msgid "Multifactor authentication is not configured for your account" -msgstr "La autenticación multifactor no está configurada para su cuenta" +msgstr "" #: templates/InvenTree/settings/user.html:157 msgid "Change factors" -msgstr "Cambiar factores" +msgstr "" #: templates/InvenTree/settings/user.html:158 msgid "Setup multifactor" -msgstr "Configurar factor múltiple" +msgstr "" #: templates/InvenTree/settings/user.html:160 msgid "Remove multifactor" -msgstr "Remover factor múltiple" +msgstr "" #: templates/InvenTree/settings/user.html:171 msgid "Active Sessions" -msgstr "Sesiones Activas" +msgstr "" #: templates/InvenTree/settings/user.html:177 msgid "Log out active sessions (except this one)" -msgstr "Cerrar sesiones activas (excepto esta)" +msgstr "" #: templates/InvenTree/settings/user.html:178 msgid "Log Out Active Sessions" -msgstr "Cerrar Sesiones Activas" +msgstr "" #: templates/InvenTree/settings/user.html:187 msgid "unknown on unknown" -msgstr "desconocido en desconocido" +msgstr "" #: templates/InvenTree/settings/user.html:188 msgid "unknown" -msgstr "desconocido" +msgstr "" #: templates/InvenTree/settings/user.html:192 msgid "IP Address" -msgstr "Dirección IP" +msgstr "" #: templates/InvenTree/settings/user.html:193 msgid "Device" -msgstr "Dispositivo" +msgstr "" #: templates/InvenTree/settings/user.html:194 msgid "Last Activity" -msgstr "Última Actividad" +msgstr "" #: templates/InvenTree/settings/user.html:207 #, python-format msgid "%(time)s ago (this session)" -msgstr "%(time)s atrás (esta sesión)" +msgstr "" #: templates/InvenTree/settings/user.html:209 #, python-format msgid "%(time)s ago" -msgstr "%(time)s atrás" +msgstr "" #: templates/InvenTree/settings/user.html:223 msgid "Do you really want to remove the selected email address?" @@ -11037,44 +11037,44 @@ msgstr "" #: templates/InvenTree/settings/user_display.html:9 msgid "Display Settings" -msgstr "Ajuste de Visualización" +msgstr "" #: templates/InvenTree/settings/user_display.html:29 msgid "Theme Settings" -msgstr "Configuración del Tema" +msgstr "" #: templates/InvenTree/settings/user_display.html:39 msgid "Select theme" -msgstr "Seleccionar tema" +msgstr "" #: templates/InvenTree/settings/user_display.html:50 msgid "Set Theme" -msgstr "Establecer tema" +msgstr "" #: templates/InvenTree/settings/user_display.html:58 msgid "Language Settings" -msgstr "Configuración de Idioma" +msgstr "" #: templates/InvenTree/settings/user_display.html:67 msgid "Select language" -msgstr "Seleccionar idioma" +msgstr "" #: templates/InvenTree/settings/user_display.html:83 #, python-format msgid "%(lang_translated)s%% translated" -msgstr "%(lang_translated)s%% traducido" +msgstr "" #: templates/InvenTree/settings/user_display.html:85 msgid "No translations available" -msgstr "No hay traducciones disponibles" +msgstr "" #: templates/InvenTree/settings/user_display.html:92 msgid "Set Language" -msgstr "Definir Idioma" +msgstr "" #: templates/InvenTree/settings/user_display.html:95 msgid "Some languages are not complete" -msgstr "Algunos idiomas no están completos" +msgstr "" #: templates/InvenTree/settings/user_display.html:97 msgid "Show only sufficient" @@ -11082,67 +11082,67 @@ msgstr "" #: templates/InvenTree/settings/user_display.html:99 msgid "and hidden." -msgstr "y oculto." +msgstr "" #: templates/InvenTree/settings/user_display.html:99 msgid "Show them too" -msgstr "Mostrar también" +msgstr "" #: templates/InvenTree/settings/user_display.html:106 msgid "Help the translation efforts!" -msgstr "¡Ayuda a los esfuerzos de traducción!" +msgstr "" #: templates/InvenTree/settings/user_display.html:107 msgid "Native language translation of the web application is community contributed via crowdin. Contributions are welcomed and encouraged." -msgstr "La aplicación web es traducida por una comunidad de voluntarios a través de crowdin. Tus contribuciones serán bienvenidas." +msgstr "" #: templates/InvenTree/settings/user_display.html:108 msgid "InvenTree Translation Project" -msgstr "Proyecto de traducción de InvenTree" +msgstr "" #: templates/InvenTree/settings/user_homepage.html:9 msgid "Home Page Settings" -msgstr "Ajustes de página de inicio" +msgstr "" #: templates/InvenTree/settings/user_search.html:9 msgid "Search Settings" -msgstr "Ajustes de Búsqueda" +msgstr "" #: templates/InvenTree/settings/user_sso.html:9 msgid "Single Sign On Accounts" -msgstr "Cuentas de inicio de sesión único" +msgstr "" #: templates/InvenTree/settings/user_sso.html:16 msgid "You can sign in to your account using any of the following third party accounts:" -msgstr "Puede iniciar sesión en su cuenta utilizando cualquiera de las siguientes cuentas de terceros:" +msgstr "" #: templates/InvenTree/settings/user_sso.html:52 msgid "There are no social network accounts connected to this account." -msgstr "No hay cuentas de redes sociales conectadas a esta cuenta." +msgstr "" #: templates/InvenTree/settings/user_sso.html:58 msgid "Add SSO Account" -msgstr "Añadir cuenta SSO" +msgstr "" #: templates/InvenTree/settings/user_sso.html:67 msgid "Single Sign On is not enabled for this server" -msgstr "El inicio de sesión único no está habilitado para este servidor" +msgstr "" #: templates/about.html:9 msgid "InvenTree Version" -msgstr "Versión de InvenTree" +msgstr "" #: templates/about.html:14 msgid "Development Version" -msgstr "Versión de Desarrollo" +msgstr "" #: templates/about.html:17 msgid "Up to Date" -msgstr "Actualizado" +msgstr "" #: templates/about.html:19 msgid "Update Available" -msgstr "Actualización Disponible" +msgstr "" #: templates/about.html:43 msgid "Commit Branch" @@ -11150,143 +11150,143 @@ msgstr "" #: templates/about.html:49 msgid "InvenTree Documentation" -msgstr "Documentación de InvenTree" +msgstr "" #: templates/about.html:54 msgid "API Version" -msgstr "Versión API" +msgstr "" #: templates/about.html:59 msgid "Python Version" -msgstr "Versión de Python" +msgstr "" #: templates/about.html:64 msgid "Django Version" -msgstr "Versión de Django" +msgstr "" #: templates/about.html:69 msgid "View Code on GitHub" -msgstr "Ver código en GitHub" +msgstr "" #: templates/about.html:74 msgid "Credits" -msgstr "Créditos" +msgstr "" #: templates/about.html:79 msgid "Mobile App" -msgstr "Aplicación Móvil" +msgstr "" #: templates/about.html:84 msgid "Submit Bug Report" -msgstr "Enviar Informe de Error" +msgstr "" #: templates/about.html:91 templates/clip.html:4 #: templates/js/translated/helpers.js:589 msgid "copy to clipboard" -msgstr "copiar al portapapeles" +msgstr "" #: templates/about.html:91 msgid "copy version information" -msgstr "copiar información de versión" +msgstr "" #: templates/account/base.html:66 templates/navbar.html:17 msgid "InvenTree logo" -msgstr "Logo de InvenTree" +msgstr "" #: templates/account/email_confirm.html:6 #: templates/account/email_confirm.html:9 msgid "Confirm Email Address" -msgstr "Confirmar Email" +msgstr "" #: templates/account/email_confirm.html:15 #, python-format msgid "Please confirm that %(email)s is an email address for user %(user_display)s." -msgstr "Confirme que %(email)s es una dirección de correo electrónico para el usuario %(user_display)s." +msgstr "" #: templates/account/email_confirm.html:21 templates/js/translated/forms.js:774 msgid "Confirm" -msgstr "Confirmar" +msgstr "" #: templates/account/email_confirm.html:29 #, python-format msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request." -msgstr "Este enlace de confirmación de correo electrónico ha caducado o no es válido. Por favor, envíe un nuevo correo electrónico de solicitud de confirmación." +msgstr "" #: templates/account/login.html:6 templates/account/login.html:19 #: templates/account/login.html:40 templates/socialaccount/login.html:5 msgid "Sign In" -msgstr "Ingresar" +msgstr "" #: templates/account/login.html:23 msgid "Not a member?" -msgstr "¿No es un miembro?" +msgstr "" #: templates/account/login.html:25 templates/account/signup.html:11 #: templates/account/signup.html:22 templates/socialaccount/signup.html:8 #: templates/socialaccount/signup.html:23 msgid "Sign Up" -msgstr "Registrarse" +msgstr "" #: templates/account/login.html:47 msgid "Forgot Password?" -msgstr "¿Ha olvidado la contraseña?" +msgstr "" #: templates/account/login.html:55 msgid "or log in with" -msgstr "o iniciar sesión con" +msgstr "" #: templates/account/logout.html:5 templates/account/logout.html:8 #: templates/account/logout.html:20 msgid "Sign Out" -msgstr "Cerrar Sesión" +msgstr "" #: templates/account/logout.html:10 msgid "Are you sure you want to sign out?" -msgstr "¿Está seguro de que desea salir?" +msgstr "" #: templates/account/logout.html:27 templates/allauth_2fa/backup_tokens.html:35 #: templates/allauth_2fa/remove.html:24 templates/allauth_2fa/setup.html:45 msgid "Return to Site" -msgstr "Volver al sitio" +msgstr "" #: templates/account/password_reset.html:5 #: templates/account/password_reset.html:12 msgid "Password Reset" -msgstr "Restablecer Contraseña" +msgstr "" #: templates/account/password_reset.html:18 msgid "Forgotten your password? Enter your email address below, and we'll send you an email allowing you to reset it." -msgstr "¿Olvidó su contraseña? Introduzca su dirección de correo electrónico a continuación y le enviaremos un correo electrónico que le permita restablecerla." +msgstr "" #: templates/account/password_reset.html:23 msgid "Reset My Password" -msgstr "Reestablecer mi Contraseña" +msgstr "" #: templates/account/password_reset.html:27 templates/account/signup.html:37 msgid "This function is currently disabled. Please contact an administrator." -msgstr "Esta función está actualmente deshabilitada. Por favor, póngase en contacto con un administrador." +msgstr "" #: templates/account/password_reset_from_key.html:7 msgid "Bad Token" -msgstr "Token Incorrecto" +msgstr "" #: templates/account/password_reset_from_key.html:11 #, python-format msgid "The password reset link was invalid, possibly because it has already been used. Please request a new password reset." -msgstr "El enlace de restablecimiento de contraseña no era válido, posiblemente porque ya ha sido utilizado. Por favor, solicite un nuevo restablecimiento de contraseña." +msgstr "" #: templates/account/password_reset_from_key.html:18 msgid "Change password" -msgstr "Cambiar contraseña" +msgstr "" #: templates/account/password_reset_from_key.html:22 msgid "Your password is now changed." -msgstr "Se ha cambiado la contraseña." +msgstr "" #: templates/account/signup.html:13 #, python-format msgid "Already have an account? Then please sign in." -msgstr "¿Ya tienes una cuenta? Entonces inicia sesión." +msgstr "" #: templates/account/signup.html:28 msgid "Use a SSO-provider for signup" @@ -11309,23 +11309,23 @@ msgstr "" #: templates/admin_button.html:8 msgid "View in administration panel" -msgstr "Ver en el panel de administración" +msgstr "" #: templates/allauth_2fa/authenticate.html:5 msgid "Two-Factor Authentication" -msgstr "Autenticación de dos factores" +msgstr "" #: templates/allauth_2fa/authenticate.html:13 msgid "Authenticate" -msgstr "Autenticar" +msgstr "" #: templates/allauth_2fa/backup_tokens.html:6 msgid "Two-Factor Authentication Backup Tokens" -msgstr "Tokens de autenticación de doble factor" +msgstr "" #: templates/allauth_2fa/backup_tokens.html:17 msgid "Backup tokens have been generated, but are not revealed here for security reasons. Press the button below to generate new ones." -msgstr "Se han generado tokens de copia de seguridad, pero no se revelan aquí por razones de seguridad. Pulse el botón de abajo para generar nuevos." +msgstr "" #: templates/allauth_2fa/backup_tokens.html:20 msgid "No backup tokens are available. Press the button below to generate some." @@ -11333,31 +11333,31 @@ msgstr "" #: templates/allauth_2fa/backup_tokens.html:28 msgid "Generate Tokens" -msgstr "Generar tokens" +msgstr "" #: templates/allauth_2fa/remove.html:6 msgid "Disable Two-Factor Authentication" -msgstr "Deshabilitar autenticación de dos factores" +msgstr "" #: templates/allauth_2fa/remove.html:9 msgid "Are you sure?" -msgstr "¿Está seguro?" +msgstr "" #: templates/allauth_2fa/remove.html:17 msgid "Disable 2FA" -msgstr "Desactivar 2FA" +msgstr "" #: templates/allauth_2fa/setup.html:6 msgid "Setup Two-Factor Authentication" -msgstr "Configurar Autenticación de Dos Factores" +msgstr "" #: templates/allauth_2fa/setup.html:10 msgid "Step 1" -msgstr "Paso 1" +msgstr "" #: templates/allauth_2fa/setup.html:14 msgid "Scan the QR code below with a token generator of your choice (for instance Google Authenticator)." -msgstr "Escanea el código QR de abajo con un generador de tokens de tu elección (por ejemplo Google Authenticator)." +msgstr "" #: templates/allauth_2fa/setup.html:20 msgid "Secret: " @@ -11365,39 +11365,39 @@ msgstr "" #: templates/allauth_2fa/setup.html:24 msgid "Step 2" -msgstr "Paso 2" +msgstr "" #: templates/allauth_2fa/setup.html:28 msgid "Input a token generated by the app:" -msgstr "Ingrese un token generado por la aplicación:" +msgstr "" #: templates/allauth_2fa/setup.html:38 msgid "Verify" -msgstr "Verificar" +msgstr "" #: templates/attachment_button.html:4 templates/js/translated/attachment.js:70 msgid "Add Link" -msgstr "Agregar Enlace" +msgstr "" #: templates/attachment_button.html:7 templates/js/translated/attachment.js:48 msgid "Add Attachment" -msgstr "Añadir archivo adjunto" +msgstr "" #: templates/barcode_data.html:5 msgid "Barcode Identifier" -msgstr "Identificador de Código de Barras" +msgstr "" #: templates/base.html:103 msgid "Server Restart Required" -msgstr "Reinicio del Servidor Requerido" +msgstr "" #: templates/base.html:106 msgid "A configuration option has been changed which requires a server restart" -msgstr "Se ha cambiado una opción de configuración que requiere reiniciar el servidor" +msgstr "" #: templates/base.html:106 templates/base.html:116 msgid "Contact your system administrator for further information" -msgstr "Póngase en contacto con su administrador para más información" +msgstr "" #: templates/base.html:113 msgid "Pending Database Migrations" @@ -11420,39 +11420,39 @@ msgstr "" #: templates/email/build_order_required_stock.html:7 msgid "Stock is required for the following build order" -msgstr "Se requiere stock para el siguiente orden de trabajo" +msgstr "" #: templates/email/build_order_required_stock.html:8 #, python-format msgid "Build order %(build)s - building %(quantity)s x %(part)s" -msgstr "Orden de trabajo %(build)s - creando %(quantity)s x %(part)s" +msgstr "" #: templates/email/build_order_required_stock.html:10 msgid "Click on the following link to view this build order" -msgstr "Haga clic en el siguiente enlace para ver esta orden de trabajo" +msgstr "" #: templates/email/build_order_required_stock.html:14 msgid "The following parts are low on required stock" -msgstr "Las siguientes partes están bajas en stock requerido" +msgstr "" #: templates/email/build_order_required_stock.html:18 #: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2557 msgid "Required Quantity" -msgstr "Cantidad requerida" +msgstr "" #: templates/email/build_order_required_stock.html:38 #: templates/email/low_stock_notification.html:30 msgid "You are receiving this email because you are subscribed to notifications for this part " -msgstr "Estás recibiendo este correo electrónico porque estás suscrito a las notificaciones de esta parte " +msgstr "" #: templates/email/low_stock_notification.html:9 msgid "Click on the following link to view this part" -msgstr "Haga clic en el siguiente enlace para ver esta parte" +msgstr "" #: templates/email/low_stock_notification.html:18 #: templates/js/translated/part.js:3222 msgid "Minimum Quantity" -msgstr "Cantidad Mínima" +msgstr "" #: templates/js/translated/api.js:225 templates/js/translated/modals.js:1135 msgid "No Response" @@ -11601,7 +11601,7 @@ msgstr "" #: templates/js/translated/barcode.js:420 templates/navbar.html:114 msgid "Scan Barcode" -msgstr "Escanear código de barras" +msgstr "" #: templates/js/translated/barcode.js:458 msgid "No URL in response" @@ -11691,7 +11691,7 @@ msgstr "" #: templates/js/translated/purchase_order.js:797 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" -msgstr "Cerrar" +msgstr "" #: templates/js/translated/bom.js:306 msgid "Download BOM Template" @@ -12165,7 +12165,7 @@ msgstr "" #: templates/js/translated/part.js:2319 templates/js/translated/part.js:2745 #: templates/js/translated/stock.js:1983 templates/js/translated/stock.js:2710 msgid "Select" -msgstr "Seleccionar" +msgstr "" #: templates/js/translated/build.js:2131 msgid "Build order is overdue" @@ -12278,19 +12278,19 @@ msgstr "" #: templates/js/translated/company.js:360 msgid "Delete Supplier Parts" -msgstr "Eliminar Partes de Proveedor" +msgstr "" #: templates/js/translated/company.js:466 msgid "Add new Company" -msgstr "Añadir nueva Empresa" +msgstr "" #: templates/js/translated/company.js:546 msgid "Parts Supplied" -msgstr "Partes Suministradas" +msgstr "" #: templates/js/translated/company.js:555 msgid "Parts Manufactured" -msgstr "Partes Fabricadas" +msgstr "" #: templates/js/translated/company.js:570 msgid "No company information found" @@ -12298,7 +12298,7 @@ msgstr "" #: templates/js/translated/company.js:619 msgid "Create New Contact" -msgstr "Crear Nuevo Contacto" +msgstr "" #: templates/js/translated/company.js:635 #: templates/js/translated/company.js:758 @@ -12332,137 +12332,137 @@ msgstr "" #: templates/js/translated/company.js:762 msgid "Delete Contact" -msgstr "Eliminar Contacto" +msgstr "" #: templates/js/translated/company.js:859 msgid "Create New Address" -msgstr "Crear Nueva Dirección" +msgstr "" #: templates/js/translated/company.js:874 #: templates/js/translated/company.js:1035 msgid "Edit Address" -msgstr "Editar Dirección" +msgstr "" #: templates/js/translated/company.js:909 msgid "All selected addresses will be deleted" -msgstr "Todos las direcciones seleccionadas serán eliminadas" +msgstr "" #: templates/js/translated/company.js:923 msgid "Delete Addresses" -msgstr "Eliminar Direcciones" +msgstr "" #: templates/js/translated/company.js:950 msgid "No addresses found" -msgstr "No se encontraron direcciones" +msgstr "" #: templates/js/translated/company.js:989 msgid "Postal city" -msgstr "Ciudad postal" +msgstr "" #: templates/js/translated/company.js:995 msgid "State/province" -msgstr "Estado/provincia" +msgstr "" #: templates/js/translated/company.js:1007 msgid "Courier notes" -msgstr "Notas del mensajero" +msgstr "" #: templates/js/translated/company.js:1013 msgid "Internal notes" -msgstr "Notas internas" +msgstr "" #: templates/js/translated/company.js:1039 msgid "Delete Address" -msgstr "Eliminar Dirección" +msgstr "" #: templates/js/translated/company.js:1112 msgid "All selected manufacturer parts will be deleted" -msgstr "Se eliminarán todas las partes del fabricante seleccionadas" +msgstr "" #: templates/js/translated/company.js:1127 msgid "Delete Manufacturer Parts" -msgstr "Eliminar Partes del Fabricante" +msgstr "" #: templates/js/translated/company.js:1161 msgid "All selected parameters will be deleted" -msgstr "Todos los parámetros seleccionados serán eliminados" +msgstr "" #: templates/js/translated/company.js:1175 msgid "Delete Parameters" -msgstr "Eliminar Parámetros" +msgstr "" #: templates/js/translated/company.js:1191 #: templates/js/translated/company.js:1479 templates/js/translated/part.js:2248 msgid "Order parts" -msgstr "Ordenar Partes" +msgstr "" #: templates/js/translated/company.js:1208 msgid "Delete manufacturer parts" -msgstr "Eliminar partes del fabricante" +msgstr "" #: templates/js/translated/company.js:1240 msgid "Manufacturer part actions" -msgstr "Acciones para partes del fabricante" +msgstr "" #: templates/js/translated/company.js:1259 msgid "No manufacturer parts found" -msgstr "No se encontraron partes del fabricante" +msgstr "" #: templates/js/translated/company.js:1279 #: templates/js/translated/company.js:1567 templates/js/translated/part.js:798 #: templates/js/translated/part.js:1214 msgid "Template part" -msgstr "Plantilla de parte" +msgstr "" #: templates/js/translated/company.js:1283 #: templates/js/translated/company.js:1571 templates/js/translated/part.js:802 #: templates/js/translated/part.js:1218 msgid "Assembled part" -msgstr "Parte ensamblada" +msgstr "" #: templates/js/translated/company.js:1403 templates/js/translated/part.js:1468 msgid "No parameters found" -msgstr "No se encontraron parámetros" +msgstr "" #: templates/js/translated/company.js:1438 templates/js/translated/part.js:1531 msgid "Edit parameter" -msgstr "Editar parámetro" +msgstr "" #: templates/js/translated/company.js:1439 templates/js/translated/part.js:1532 msgid "Delete parameter" -msgstr "Eliminar parámetro" +msgstr "" #: templates/js/translated/company.js:1456 templates/js/translated/part.js:1437 msgid "Edit Parameter" -msgstr "Editar Parámetro" +msgstr "" #: templates/js/translated/company.js:1465 templates/js/translated/part.js:1553 msgid "Delete Parameter" -msgstr "Eliminar Parámetro" +msgstr "" #: templates/js/translated/company.js:1496 msgid "Delete supplier parts" -msgstr "Eliminar piezas del proveedor" +msgstr "" #: templates/js/translated/company.js:1546 msgid "No supplier parts found" -msgstr "No se encontraron partes de proveedor" +msgstr "" #: templates/js/translated/company.js:1664 msgid "Base Units" -msgstr "Unidades base" +msgstr "" #: templates/js/translated/company.js:1694 msgid "Availability" -msgstr "Disponibilidad" +msgstr "" #: templates/js/translated/company.js:1725 msgid "Edit supplier part" -msgstr "Editar parte del proveedor" +msgstr "" #: templates/js/translated/company.js:1726 msgid "Delete supplier part" -msgstr "Eliminar parte del proveedor" +msgstr "" #: templates/js/translated/company.js:1779 #: templates/js/translated/pricing.js:694 @@ -12480,7 +12480,7 @@ msgstr "" #: templates/js/translated/company.js:1833 msgid "Last updated" -msgstr "Última actualización" +msgstr "" #: templates/js/translated/company.js:1840 msgid "Edit price break" @@ -12493,53 +12493,53 @@ msgstr "" #: templates/js/translated/filters.js:186 #: templates/js/translated/filters.js:667 msgid "true" -msgstr "verdadero" +msgstr "" #: templates/js/translated/filters.js:190 #: templates/js/translated/filters.js:668 msgid "false" -msgstr "falso" +msgstr "" #: templates/js/translated/filters.js:214 msgid "Select filter" -msgstr "Seleccionar filtro" +msgstr "" #: templates/js/translated/filters.js:437 msgid "Print Labels" -msgstr "Imprimir Etiquetas" +msgstr "" #: templates/js/translated/filters.js:441 msgid "Print Reports" -msgstr "Imprimir reportes" +msgstr "" #: templates/js/translated/filters.js:453 msgid "Download table data" -msgstr "Descargar tabla de datos" +msgstr "" #: templates/js/translated/filters.js:460 msgid "Reload table data" -msgstr "Recargar tabla de datos" +msgstr "" #: templates/js/translated/filters.js:469 msgid "Add new filter" -msgstr "Añadir un nuevo filtro" +msgstr "" #: templates/js/translated/filters.js:477 msgid "Clear all filters" -msgstr "Limpiar todos los filtros" +msgstr "" #: templates/js/translated/filters.js:577 msgid "Create filter" -msgstr "Crear filtro" +msgstr "" #: templates/js/translated/forms.js:378 templates/js/translated/forms.js:393 #: templates/js/translated/forms.js:407 templates/js/translated/forms.js:421 msgid "Action Prohibited" -msgstr "Acción Prohibida" +msgstr "" #: templates/js/translated/forms.js:380 msgid "Create operation not allowed" -msgstr "Operación de creación no permitida" +msgstr "" #: templates/js/translated/forms.js:395 msgid "Update operation not allowed" @@ -12564,7 +12564,7 @@ msgstr "" #: templates/js/translated/forms.js:1477 templates/modals.html:19 #: templates/modals.html:43 msgid "Form errors exist" -msgstr "Existen errores en el formulario" +msgstr "" #: templates/js/translated/forms.js:1975 msgid "No results found" @@ -12631,7 +12631,7 @@ msgstr "" #: templates/js/translated/modals.js:756 templates/js/translated/modals.js:1064 #: templates/modals.html:28 templates/modals.html:51 msgid "Submit" -msgstr "Enviar" +msgstr "" #: templates/js/translated/modals.js:157 msgid "Form Title" @@ -12713,7 +12713,7 @@ msgstr "" #: templates/js/translated/notification.js:296 templates/notifications.html:12 msgid "Notifications will load here" -msgstr "Las notificaciones cargarán aquí" +msgstr "" #: templates/js/translated/order.js:89 msgid "Add Extra Line Item" @@ -12729,44 +12729,44 @@ msgstr "" #: templates/js/translated/order.js:255 msgid "Edit Line" -msgstr "Editar Línea" +msgstr "" #: templates/js/translated/order.js:268 msgid "Delete Line" -msgstr "Eliminar Línea" +msgstr "" #: templates/js/translated/order.js:281 #: templates/js/translated/purchase_order.js:1990 msgid "No line items found" -msgstr "No se encontraron artículos de línea" +msgstr "" #: templates/js/translated/order.js:369 msgid "Duplicate line" -msgstr "Duplicar línea" +msgstr "" #: templates/js/translated/order.js:370 msgid "Edit line" -msgstr "Editar línea" +msgstr "" #: templates/js/translated/order.js:374 msgid "Delete line" -msgstr "Eliminar línea" +msgstr "" #: templates/js/translated/part.js:90 msgid "Part Attributes" -msgstr "Atributos de Parte" +msgstr "" #: templates/js/translated/part.js:94 msgid "Part Creation Options" -msgstr "Opciones de Creación de Parte" +msgstr "" #: templates/js/translated/part.js:98 msgid "Part Duplication Options" -msgstr "Opciones de Duplicación de Parte" +msgstr "" #: templates/js/translated/part.js:121 msgid "Add Part Category" -msgstr "Añadir Categoría de Parte" +msgstr "" #: templates/js/translated/part.js:332 templates/js/translated/stock.js:175 msgid "Icon (optional) - Explore all available icons on" @@ -12774,59 +12774,59 @@ msgstr "" #: templates/js/translated/part.js:352 msgid "Create Part Category" -msgstr "Crear Categoría de Parte" +msgstr "" #: templates/js/translated/part.js:355 msgid "Create new category after this one" -msgstr "Crear nueva categoría después de esta" +msgstr "" #: templates/js/translated/part.js:356 msgid "Part category created" -msgstr "Categoría de parte creada" +msgstr "" #: templates/js/translated/part.js:370 msgid "Edit Part Category" -msgstr "Editar Categoría de Parte" +msgstr "" #: templates/js/translated/part.js:383 msgid "Are you sure you want to delete this part category?" -msgstr "¿Estás seguro de que deseas eliminar esta categoría?" +msgstr "" #: templates/js/translated/part.js:388 msgid "Move to parent category" -msgstr "Mover a la categoría principal" +msgstr "" #: templates/js/translated/part.js:397 msgid "Delete Part Category" -msgstr "Eliminar Categoría de Parte" +msgstr "" #: templates/js/translated/part.js:401 msgid "Action for parts in this category" -msgstr "Acción para partes en esta categoría" +msgstr "" #: templates/js/translated/part.js:406 msgid "Action for child categories" -msgstr "Acción para categorías secundarias" +msgstr "" #: templates/js/translated/part.js:430 msgid "Create Part" -msgstr "Crear Parte" +msgstr "" #: templates/js/translated/part.js:432 msgid "Create another part after this one" -msgstr "Crear otra parte después de esta" +msgstr "" #: templates/js/translated/part.js:433 msgid "Part created successfully" -msgstr "Parte creada exitosamente" +msgstr "" #: templates/js/translated/part.js:461 msgid "Edit Part" -msgstr "Editar Parte" +msgstr "" #: templates/js/translated/part.js:463 msgid "Part edited" -msgstr "Parte editada" +msgstr "" #: templates/js/translated/part.js:474 msgid "Create Part Variant" @@ -12895,11 +12895,11 @@ msgstr "" #: templates/js/translated/part.js:685 #: templates/js/translated/table_filters.js:752 msgid "Low stock" -msgstr "Stock bajo" +msgstr "" #: templates/js/translated/part.js:688 msgid "No stock available" -msgstr "No hay stock disponible" +msgstr "" #: templates/js/translated/part.js:748 msgid "Demand" @@ -13016,81 +13016,81 @@ msgstr "" #: templates/js/translated/part.js:2291 msgid "parts" -msgstr "partes" +msgstr "" #: templates/js/translated/part.js:2387 msgid "No category" -msgstr "Sin categoría" +msgstr "" #: templates/js/translated/part.js:2534 templates/js/translated/part.js:2664 #: templates/js/translated/stock.js:2669 msgid "Display as list" -msgstr "Mostrar como lista" +msgstr "" #: templates/js/translated/part.js:2550 msgid "Display as grid" -msgstr "Mostrar como cuadrícula" +msgstr "" #: templates/js/translated/part.js:2648 msgid "No subcategories found" -msgstr "No se encontraron subcategorías" +msgstr "" #: templates/js/translated/part.js:2684 templates/js/translated/stock.js:2689 msgid "Display as tree" -msgstr "Mostrar como árbol" +msgstr "" #: templates/js/translated/part.js:2764 msgid "Load Subcategories" -msgstr "Cargar subcategorías" +msgstr "" #: templates/js/translated/part.js:2780 msgid "Subscribed category" -msgstr "Categoría suscrita" +msgstr "" #: templates/js/translated/part.js:2868 msgid "No test templates matching query" -msgstr "No hay plantillas de prueba que coincidan con la consulta" +msgstr "" #: templates/js/translated/part.js:2890 templates/js/translated/search.js:342 msgid "results" -msgstr "resultados" +msgstr "" #: templates/js/translated/part.js:2940 templates/js/translated/stock.js:1456 msgid "Edit test result" -msgstr "Editar resultado de prueba" +msgstr "" #: templates/js/translated/part.js:2941 templates/js/translated/stock.js:1457 #: templates/js/translated/stock.js:1731 msgid "Delete test result" -msgstr "Eliminar resultado de prueba" +msgstr "" #: templates/js/translated/part.js:2945 msgid "This test is defined for a parent part" -msgstr "Esta prueba está definida para una parte principal" +msgstr "" #: templates/js/translated/part.js:2961 msgid "Edit Test Result Template" -msgstr "Editar plantilla de resultado de prueba" +msgstr "" #: templates/js/translated/part.js:2975 msgid "Delete Test Result Template" -msgstr "Eliminar plantilla de resultados de prueba" +msgstr "" #: templates/js/translated/part.js:3054 templates/js/translated/part.js:3055 msgid "No date specified" -msgstr "Sin fecha especificada" +msgstr "" #: templates/js/translated/part.js:3057 msgid "Specified date is in the past" -msgstr "Fecha especificada es en el pasado" +msgstr "" #: templates/js/translated/part.js:3063 msgid "Speculative" -msgstr "Especulativo" +msgstr "" #: templates/js/translated/part.js:3113 msgid "No scheduling information available for this part" -msgstr "No hay información de planificación disponible para esta parte" +msgstr "" #: templates/js/translated/part.js:3119 msgid "Error fetching scheduling information for this part" @@ -13098,11 +13098,11 @@ msgstr "" #: templates/js/translated/part.js:3215 msgid "Scheduled Stock Quantities" -msgstr "Cantidad de Stock Programadas" +msgstr "" #: templates/js/translated/part.js:3231 msgid "Maximum Quantity" -msgstr "Cantidad Máxima" +msgstr "" #: templates/js/translated/part.js:3276 msgid "Minimum Stock Level" @@ -13126,35 +13126,35 @@ msgstr "" #: templates/js/translated/plugin.js:117 templates/js/translated/plugin.js:186 msgid "Disable Plugin" -msgstr "Desactivar Plugin" +msgstr "" #: templates/js/translated/plugin.js:119 templates/js/translated/plugin.js:186 msgid "Enable Plugin" -msgstr "Activar Plugin" +msgstr "" #: templates/js/translated/plugin.js:158 msgid "The Plugin was installed" -msgstr "El plugin fue instalado" +msgstr "" #: templates/js/translated/plugin.js:177 msgid "Are you sure you want to enable this plugin?" -msgstr "¿Estás seguro de que deseas activar este plugin?" +msgstr "" #: templates/js/translated/plugin.js:181 msgid "Are you sure you want to disable this plugin?" -msgstr "¿Estás seguro de que deseas desactivar este plugin?" +msgstr "" #: templates/js/translated/plugin.js:189 msgid "Enable" -msgstr "Activar" +msgstr "" #: templates/js/translated/plugin.js:189 msgid "Disable" -msgstr "Desactivar" +msgstr "" #: templates/js/translated/plugin.js:203 msgid "Plugin updated" -msgstr "Plugin actualizado" +msgstr "" #: templates/js/translated/pricing.js:159 msgid "Error fetching currency data" @@ -13686,7 +13686,7 @@ msgstr "" #: templates/js/translated/search.js:292 templates/search.html:25 msgid "Enter search query" -msgstr "Ingresar consulta de búsqueda" +msgstr "" #: templates/js/translated/search.js:342 msgid "result" @@ -13858,7 +13858,7 @@ msgstr "" #: templates/js/translated/stock.js:1025 msgid "Move" -msgstr "Mover" +msgstr "" #: templates/js/translated/stock.js:1031 msgid "Count Stock" @@ -13882,7 +13882,7 @@ msgstr "" #: templates/js/translated/stock.js:1042 users/models.py:396 msgid "Add" -msgstr "Añadir" +msgstr "" #: templates/js/translated/stock.js:1046 msgid "Delete Stock" @@ -14504,19 +14504,19 @@ msgstr "" #: templates/navbar.html:45 msgid "Buy" -msgstr "Comprar" +msgstr "" #: templates/navbar.html:57 msgid "Sell" -msgstr "Vender" +msgstr "" #: templates/navbar.html:121 msgid "Show Notifications" -msgstr "Mostrar notificaciones" +msgstr "" #: templates/navbar.html:124 msgid "New Notifications" -msgstr "Notificaciones nuevas" +msgstr "" #: templates/navbar.html:144 users/models.py:201 msgid "Admin" @@ -14524,15 +14524,15 @@ msgstr "" #: templates/navbar.html:148 msgid "Logout" -msgstr "Cerrar sesión" +msgstr "" #: templates/notes_buttons.html:6 templates/notes_buttons.html:7 msgid "Save" -msgstr "Guardar" +msgstr "" #: templates/notifications.html:9 msgid "Show all notifications and history" -msgstr "Mostrar todas las notificaciones y el historial" +msgstr "" #: templates/pui_banner.html:9 msgid "Platform UI - the new UI for InvenTree - provides more modern administration options." @@ -14552,71 +14552,71 @@ msgstr "" #: templates/qr_code.html:11 msgid "QR data not provided" -msgstr "Datos QR no proporcionados" +msgstr "" #: templates/registration/logged_out.html:7 msgid "You were logged out successfully." -msgstr "Se ha cerrado la sesión correctamente." +msgstr "" #: templates/registration/logged_out.html:9 msgid "Log in again" -msgstr "Volver a ingresar" +msgstr "" #: templates/search.html:9 msgid "Show full search results" -msgstr "Mostrar resultados completos de búsqueda" +msgstr "" #: templates/search.html:12 msgid "Clear search" -msgstr "Borrar búsqueda" +msgstr "" #: templates/search.html:15 msgid "Close search menu" -msgstr "Cerrar menú de búsqueda" +msgstr "" #: templates/socialaccount/authentication_error.html:5 msgid "Social Network Login Failure" -msgstr "Fallo al iniciar sesión en la red social" +msgstr "" #: templates/socialaccount/authentication_error.html:8 msgid "Account Login Failure" -msgstr "Error al iniciar sesión en la cuenta" +msgstr "" #: templates/socialaccount/authentication_error.html:11 msgid "An error occurred while attempting to login via your social network account." -msgstr "Se ha producido un error al intentar iniciar sesión a través de su cuenta de red social." +msgstr "" #: templates/socialaccount/authentication_error.html:13 msgid "Contact your system administrator for further information." -msgstr "Póngase en contacto con su administrador para más información." +msgstr "" #: templates/socialaccount/login.html:13 #, python-format msgid "Connect %(provider)s" -msgstr "Conectar a %(provider)s" +msgstr "" #: templates/socialaccount/login.html:15 #, python-format msgid "You are about to connect a new third party account from %(provider)s." -msgstr "Estás a punto de conectar una nueva cuenta de terceros desde %(provider)s." +msgstr "" #: templates/socialaccount/login.html:17 #, python-format msgid "Sign In Via %(provider)s" -msgstr "Iniciar sesión vía %(provider)s" +msgstr "" #: templates/socialaccount/login.html:19 #, python-format msgid "You are about to sign in using a third party account from %(provider)s." -msgstr "Estás a punto de iniciar sesión usando una cuenta de terceros de %(provider)s." +msgstr "" #: templates/socialaccount/login.html:24 msgid "Continue" -msgstr "Continuar" +msgstr "" #: templates/socialaccount/login.html:29 msgid "Invalid SSO Provider" -msgstr "Proveedor SSO inválido" +msgstr "" #: templates/socialaccount/login.html:31 msgid "The selected SSO provider is invalid, or has not been correctly configured" @@ -14641,67 +14641,67 @@ msgstr "" #: templates/stats.html:13 msgid "Instance Name" -msgstr "Nombre de Instancia" +msgstr "" #: templates/stats.html:18 msgid "Database" -msgstr "Base de datos" +msgstr "" #: templates/stats.html:26 msgid "Server is running in debug mode" -msgstr "El servidor se está ejecutando en modo depuración" +msgstr "" #: templates/stats.html:33 msgid "Docker Mode" -msgstr "Modo Docker" +msgstr "" #: templates/stats.html:34 msgid "Server is deployed using docker" -msgstr "El servidor está desplegado usando docker" +msgstr "" #: templates/stats.html:39 msgid "Plugin Support" -msgstr "Soporte para Plugins" +msgstr "" #: templates/stats.html:43 msgid "Plugin support enabled" -msgstr "Soporte de plugins habilitado" +msgstr "" #: templates/stats.html:45 msgid "Plugin support disabled" -msgstr "Soporte de plugins desactivado" +msgstr "" #: templates/stats.html:52 msgid "Server status" -msgstr "Estado del servidor" +msgstr "" #: templates/stats.html:55 msgid "Healthy" -msgstr "Saludable" +msgstr "" #: templates/stats.html:57 msgid "Issues detected" -msgstr "Problemas detectados" +msgstr "" #: templates/stats.html:64 msgid "Background Worker" -msgstr "Trabajador en segundo plano" +msgstr "" #: templates/stats.html:67 msgid "Background worker not running" -msgstr "Trabajador en segundo plano no ejecutado" +msgstr "" #: templates/stats.html:75 msgid "Email Settings" -msgstr "Configuración de Email" +msgstr "" #: templates/stats.html:78 msgid "Email settings not configured" -msgstr "Configuración de correo no configurada" +msgstr "" #: templates/yesnolabel.html:4 msgid "Yes" -msgstr "Sí" +msgstr "" #: templates/yesnolabel.html:6 msgid "No" @@ -14709,11 +14709,11 @@ msgstr "" #: users/admin.py:104 msgid "Users" -msgstr "Usuarios" +msgstr "" #: users/admin.py:105 msgid "Select which users are assigned to this group" -msgstr "Seleccione qué usuarios están asignados a este grupo" +msgstr "" #: users/admin.py:249 msgid "The following users are members of multiple groups" @@ -14721,15 +14721,15 @@ msgstr "" #: users/admin.py:283 msgid "Personal info" -msgstr "Información personal" +msgstr "" #: users/admin.py:285 msgid "Permissions" -msgstr "Permisos" +msgstr "" #: users/admin.py:288 msgid "Important dates" -msgstr "Fechas importantes" +msgstr "" #: users/authentication.py:29 users/models.py:138 msgid "Token has been revoked" @@ -14773,33 +14773,33 @@ msgstr "" #: users/models.py:379 msgid "Permission set" -msgstr "Permiso establecido" +msgstr "" #: users/models.py:388 msgid "Group" -msgstr "Grupo" +msgstr "" #: users/models.py:392 msgid "View" -msgstr "Vista" +msgstr "" #: users/models.py:392 msgid "Permission to view items" -msgstr "Permiso para ver artículos" +msgstr "" #: users/models.py:396 msgid "Permission to add items" -msgstr "Permiso para añadir artículos" +msgstr "" #: users/models.py:400 msgid "Change" -msgstr "Cambiar" +msgstr "" #: users/models.py:402 msgid "Permissions to edit items" -msgstr "Permisos para editar artículos" +msgstr "" #: users/models.py:408 msgid "Permission to delete items" -msgstr "Permiso para eliminar artículos" +msgstr "" From 723c19444a694dc52b0e3e26c3e2127f6090fdbc Mon Sep 17 00:00:00 2001 From: Oliver Date: Tue, 9 Jul 2024 00:56:59 +1000 Subject: [PATCH 32/36] Fix: New translations django.po from Crowdin --- src/backend/InvenTree/locale/th/LC_MESSAGES/django.po | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/src/backend/InvenTree/locale/th/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/th/LC_MESSAGES/django.po index c4d7ed65aa39..a56a2201ee33 100644 --- a/src/backend/InvenTree/locale/th/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/th/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-07-08 14:46+0000\n" -"PO-Revision-Date: 2024-07-05 14:58\n" +"PO-Revision-Date: 2024-07-08 14:56\n" "Last-Translator: \n" "Language-Team: Thai\n" "Language: th_TH\n" @@ -4014,10 +4014,8 @@ msgid "Is this company active?" msgstr "" #: company/models.py:168 -#, fuzzy -#| msgid "Sent to customer" msgid "Is customer" -msgstr "จัดส่งให้ลูกค้าแล้ว" +msgstr "" #: company/models.py:169 msgid "Do you sell items to this company?" @@ -4925,10 +4923,8 @@ msgid "List of row IDs to accept" msgstr "" #: importer/serializers.py:149 -#, fuzzy -#| msgid "Wrong password provided" msgid "No rows provided" -msgstr "ป้อนรหัสผ่านไม่ถูกต้อง" +msgstr "" #: importer/serializers.py:153 msgid "Row does not belong to this session" @@ -14806,3 +14802,4 @@ msgstr "" #: users/models.py:408 msgid "Permission to delete items" msgstr "" + From 0eede4cb21787f0c9afaff649b284ee3dc4809f5 Mon Sep 17 00:00:00 2001 From: Oliver Date: Tue, 9 Jul 2024 00:57:01 +1000 Subject: [PATCH 33/36] Fix: New translations django.po from Crowdin --- .../InvenTree/locale/lv/LC_MESSAGES/django.po | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/src/backend/InvenTree/locale/lv/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/lv/LC_MESSAGES/django.po index 02d94a87efcd..1f64729506ca 100644 --- a/src/backend/InvenTree/locale/lv/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/lv/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-07-08 14:46+0000\n" -"PO-Revision-Date: 2024-07-05 14:58\n" +"PO-Revision-Date: 2024-07-08 14:57\n" "Last-Translator: \n" "Language-Team: Latvian\n" "Language: lv_LV\n" @@ -4863,10 +4863,8 @@ msgid "Column does not exist in the data file" msgstr "" #: importer/models.py:372 -#, fuzzy -#| msgid "User does not have permission to view this model" msgid "Field does not exist in the target model" -msgstr "Lietotājam nav atļaujas, lai apskatītu šo modeli" +msgstr "" #: importer/models.py:376 msgid "Selected field is read-only" @@ -4925,10 +4923,8 @@ msgid "List of row IDs to accept" msgstr "" #: importer/serializers.py:149 -#, fuzzy -#| msgid "No value provided" msgid "No rows provided" -msgstr "Nav norādīta vērtība" +msgstr "" #: importer/serializers.py:153 msgid "Row does not belong to this session" @@ -4959,10 +4955,8 @@ msgid "Processing Data" msgstr "" #: importer/validators.py:21 -#, fuzzy -#| msgid "Image download exceeded maximum size" msgid "Data file exceeds maximum size limit" -msgstr "Attēla lejupielāde pārsniedz maksimālo izmēru" +msgstr "" #: importer/validators.py:26 msgid "Data file contains no headers" @@ -14808,3 +14802,4 @@ msgstr "" #: users/models.py:408 msgid "Permission to delete items" msgstr "" + From 5eb81411f632fa38e99dabe12c5fd4aff98e5b0c Mon Sep 17 00:00:00 2001 From: Oliver Date: Tue, 9 Jul 2024 00:57:03 +1000 Subject: [PATCH 34/36] Fix: New translations django.po from Crowdin --- src/backend/InvenTree/locale/hi/LC_MESSAGES/django.po | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/backend/InvenTree/locale/hi/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/hi/LC_MESSAGES/django.po index 69c5b7f2b855..af7d697e51c3 100644 --- a/src/backend/InvenTree/locale/hi/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/hi/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-07-08 14:46+0000\n" -"PO-Revision-Date: 2024-07-05 14:58\n" +"PO-Revision-Date: 2024-07-08 14:57\n" "Last-Translator: \n" "Language-Team: Hindi\n" "Language: hi_IN\n" @@ -14802,3 +14802,4 @@ msgstr "" #: users/models.py:408 msgid "Permission to delete items" msgstr "" + From e467d5518d6a8139db54303af2cc6e691900afb1 Mon Sep 17 00:00:00 2001 From: Oliver Date: Tue, 9 Jul 2024 00:57:05 +1000 Subject: [PATCH 35/36] Fix: New translations django.po from Crowdin --- .../InvenTree/locale/sr/LC_MESSAGES/django.po | 55 +++++-------------- 1 file changed, 15 insertions(+), 40 deletions(-) diff --git a/src/backend/InvenTree/locale/sr/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/sr/LC_MESSAGES/django.po index f59467e37b3c..2de254e4bf35 100644 --- a/src/backend/InvenTree/locale/sr/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/sr/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-07-08 14:46+0000\n" -"PO-Revision-Date: 2024-07-05 14:58\n" +"PO-Revision-Date: 2024-07-08 14:57\n" "Last-Translator: \n" "Language-Team: Serbian (Latin)\n" "Language: sr_CS\n" @@ -783,16 +783,12 @@ msgid "Assembly BOM has not been validated" msgstr "" #: build/models.py:134 -#, fuzzy -#| msgid "Build order part cannot be changed" msgid "Build order cannot be created for an inactive part" -msgstr "Deo u nalogu za izradu ne može se izmeniti" +msgstr "" #: build/models.py:141 -#, fuzzy -#| msgid "Build order part cannot be changed" msgid "Build order cannot be created for an unlocked part" -msgstr "Deo u nalogu za izradu ne može se izmeniti" +msgstr "" #: build/models.py:155 msgid "Invalid choice for parent build" @@ -1506,16 +1502,12 @@ msgid "Location Name" msgstr "" #: build/serializers.py:1098 -#, fuzzy -#| msgid "Build Order Reference" msgid "Build Reference" -msgstr "Reference naloga za pravljenje" +msgstr "" #: build/serializers.py:1099 -#, fuzzy -#| msgid "Reference" msgid "BOM Reference" -msgstr "Referenca" +msgstr "" #: build/serializers.py:1186 part/admin.py:402 part/models.py:3993 msgid "Part IPN" @@ -4871,10 +4863,8 @@ msgid "Column does not exist in the data file" msgstr "" #: importer/models.py:372 -#, fuzzy -#| msgid "User does not have permission to view this model" msgid "Field does not exist in the target model" -msgstr "Korisnik nema dozvolu za pregled ovog modela" +msgstr "" #: importer/models.py:376 msgid "Selected field is read-only" @@ -4913,10 +4903,8 @@ msgid "Valid" msgstr "" #: importer/operations.py:28 importer/operations.py:49 -#, fuzzy -#| msgid "Unsupported file type" msgid "Unsupported data file format" -msgstr "Nije podržan tip datoteke" +msgstr "" #: importer/operations.py:40 msgid "Failed to open data file" @@ -4935,10 +4923,8 @@ msgid "List of row IDs to accept" msgstr "" #: importer/serializers.py:149 -#, fuzzy -#| msgid "No data rows provided" msgid "No rows provided" -msgstr "Nisu navedeni redovi podataka" +msgstr "" #: importer/serializers.py:153 msgid "Row does not belong to this session" @@ -4969,10 +4955,8 @@ msgid "Processing Data" msgstr "" #: importer/validators.py:21 -#, fuzzy -#| msgid "Image download exceeded maximum size" msgid "Data file exceeds maximum size limit" -msgstr "Preuzimanje slike premašilo je maksimalnu veličinu" +msgstr "" #: importer/validators.py:26 msgid "Data file contains no headers" @@ -4987,10 +4971,8 @@ msgid "Data file contains too many rows" msgstr "" #: importer/validators.py:49 -#, fuzzy -#| msgid "Metadata must be a python dict object" msgid "Value must be a valid dictionary object" -msgstr "Metapodaci moraju biti \"python dict\" objekat" +msgstr "" #: machine/machine_types/label_printer.py:212 msgid "Copies" @@ -6577,10 +6559,8 @@ msgid "Locked" msgstr "" #: part/models.py:1091 -#, fuzzy -#| msgid "Build order part cannot be changed" msgid "Locked parts cannot be edited" -msgstr "Deo u nalogu za izradu ne može se izmeniti" +msgstr "" #: part/models.py:1097 msgid "Is this a virtual part, such as a software product or license?" @@ -9490,20 +9470,16 @@ msgid "StockItem cannot be moved as it is not in stock" msgstr "" #: stock/models.py:2317 -#, fuzzy -#| msgid "Stock item created" msgid "Stock Item Tracking" -msgstr "Stavka na zalihi stvorena" +msgstr "" #: stock/models.py:2350 msgid "Entry notes" msgstr "" #: stock/models.py:2390 -#, fuzzy -#| msgid "Stock item created" msgid "Stock Item Test Result" -msgstr "Stavka na zalihi stvorena" +msgstr "" #: stock/models.py:2423 msgid "Value must be provided for this test" @@ -9618,10 +9594,8 @@ msgid "Parent Item" msgstr "" #: stock/serializers.py:450 -#, fuzzy -#| msgid "Merged stock items" msgid "Parent stock item" -msgstr "Spojene stavke zaliha" +msgstr "" #: stock/serializers.py:469 msgid "Use pack size when adding: the quantity defined is the number of packs" @@ -14828,3 +14802,4 @@ msgstr "" #: users/models.py:408 msgid "Permission to delete items" msgstr "" + From a44ecd76cc81c9fb976b11f9c201000e4f43e836 Mon Sep 17 00:00:00 2001 From: Oliver Date: Tue, 9 Jul 2024 00:57:07 +1000 Subject: [PATCH 36/36] Fix: New translations django.po from Crowdin --- src/backend/InvenTree/locale/ro/LC_MESSAGES/django.po | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/backend/InvenTree/locale/ro/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/ro/LC_MESSAGES/django.po index b47bb7ec6f12..b055c251b985 100644 --- a/src/backend/InvenTree/locale/ro/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/ro/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-07-08 14:46+0000\n" -"PO-Revision-Date: 2024-07-05 14:58\n" +"PO-Revision-Date: 2024-07-08 14:57\n" "Last-Translator: \n" "Language-Team: Romanian\n" "Language: ro_RO\n" @@ -14802,3 +14802,4 @@ msgstr "" #: users/models.py:408 msgid "Permission to delete items" msgstr "" +